فشرده سازی یا کدگذاری ویدیو به فرآیند کاهش حجم فایلهای ویدیویی به منظور تسهیل انتقال آنها گفته میشود. به طور معمول برای انتقال یک ویدیو غیر فشرده سازی شده ممکن است به چندین دیسک blu-ray نیاز باشد. همچنین به زمان بسیار زیادی جهت استریم آن از یک سرور به مقصد کامپیوتر کاربر نیاز است و همچنین در این حالت امکان پخش همزمان نیز از بین میرود. در مقابل، یک فایل کدگذاری شده حتی با وجود کیفیت بالا قابلیت قرار داده شدن در یک دیسک را دارا است. همچنین در این حالت سرعت استریم افزایش و قابلیت پخش همزمان اضافه میشود.
در فشردهسازی ویدیو جزئیات غیر ضروری و دادههای بصری اضافی حذف میشوند. این کار با تکیه بر محاسبات ریاضی جهت ایجاد بخش اعظمی از هر فریم ویدیو، به جای ثبت کامل هر فریم صورت میگیرد. در واقع به وسیله ثبت چگونگی تغییر فریم به فریم جلوههای بصری، فرآیند فشردهسازی ویدیو تمام ویدیوها را بدون ذخیره کردن همه فریمها، ذخیره میکند.
فشرده سازی ویدیو از طریق چیزی به نام کدک انجام می شود که طی آن حجم فایل تصویری کم شده (Compress) یا از حالت فشرده خارج می شود (Decompress). به طور مختصر کدک ویدیو را آنالیز میکند تا بخش هایی را که میتواند بدون صدمه به اصل ویدیو حذف کند را پیدا کند. الگوریتم های مورد استفاده در کدک ها بسیار پیچیده اند اما بگذارید با یک مثال ساده نحوه ی عملکرد آنها را توصیح دهیم. تصور کنید که از شخصی با یک زمینه ی تماما سفید فیلم گرفته اید. به جای ذخیره ی داده ی هر پیکسلی که روی بخش سفید است، کدک بخش سفید که سوژه در آن نیست را شناسایی می کند و به ویدیو پلیر (player) دستور می دهد که هر پیکسل را در آن منطقه با رنگ سفید پر کند. این اتفاق در مورد بخش هایی از ویدیو که برای مدتی ثابت اند و تغییری نمی کنند هم می افتد.
میزان کارآمد عمل کردن هر کدک به الگوریتم های آن کدک بستگی دارد و اغلب بین توانایی یک کدک در کاهش حجم یک ویدیو و کیفیت ویدیو، تعادلی برقرار می شود. هرچه اطلاعات اصلی یک ویدیو فشرده تر شود، احتمال کاهش کیفیت ویدیو بیشتر است. کدک ها هنوز هم روی الگوریتم هایی که پیش از این استفاده می شدند ساخته شده و با رشد روزافزون قدرت کامپیوترها، روز به روز کارآمدتر می شوند. کدک های جدید نسبت به کدک های قدیمی قابلیت بهتری در حفظ کیفیت تصویر و فشرده سازی هرچه بیشتر حجم داده ها دارند.
روشهای مختلفی برای فشرده کردن ویدیو وجود دارد که برخی بدون افت کیفیت هستند و به اصطلاح Lossless گفته میشوند؛ برخی دیگر Lossy یا همراه با افت کیفیت هستند. این موضوع در مورد کدکهای فشرده کردن تصویر و صدا هم مصداق دارد.
نحوه کار در فشرده سازی بدون از دست دادن داده (Loseeless) بسیار شبیه الگوریتم فشرده سازی RAR و ZIP است که در آن فایل نهایی همان فایل اولیه است. با استفاده از یک الگوریتم هوشمند، کاهش کیفیتی در فایل ایجاد نمیشود اما این راه حل به دلیل عدم فشرده سازی قابل توجه، برای ذخیره سازی فایلهای بزرگ مناسب نیست. علاوه بر این در انتقال فایلهای آنلاین ویدئویی در اینگونه فشرده سازی نیاز به پهنای باند به مراتب بالاتر وجود دارد.
در روش Lossy از الگوریتمهایی استفاده میشود که فایل جدید، دقیقاً با نسخهی اصلی یکسان نیست. اگر به دنبال فایلهای با اندازه محدود و کنترل شده هستید فشرده سازی با از دست دادن داده، مناسبترین گزینه به شمار میرود. در این نوع فشرده سازی، کیفیت در صوت یا تصویر یا هر دو تا حدودی کاهش مییابد؛ اما این امر در شرایط کنونی و در دنیایی که ذخیره و به اشتراک گزاری فایلها روالی رایج به شمار میرود، اجتناب ناپذیر است. jpeg و webp برای تصویر، MP3 و AAC برای صدا و H.263 و H.264 برای ویدیو، نمونههایی از روشهای فشرده کردن Lossy هستند. نکته کلیدی در فشرده سازی با از دست دادن داده، استفاده از بالاترین کیفیت ممکن و فشرده سازی تا حد لازم برای کاربرد مورد نظر است. فشرده سازی در حقیقت راه رفتن بر روی لبهی باریک حفظ کیفیت و تنظیم اندازه فایل است.
در دنیای فایلهای ویدیویی غالباً اشتباهاتی در مورد مفهوم پسوند یا کانتینر و آنچه درون فایل است و باید توسط دیکدر، از حالت کد شده خارج شود و سپس با رندر کننده روی مانیتور نمایش داده شود، رخ میدهد. مثلاً وقتی به فایلی برخورد میکنیم که با یک ابزار همراه یا با یک نرمافزار خاص باز نمیشود، اولین کاری که میکنیم، بررسی پسوند آن است و جالب این است که پسوند را همان فرمت دادههای درون فایل میدانیم. این تصور کاملاً غلط است و شاید بارها با فایلهایی مثل MP4 برخورد داشتهایم که علیرغم ظاهر معمولیشان، با پلیرهای نصب شده، باز نمیشوند و هر بار هم به دنبال یک بستهی کدک یا یک نرمافزار پخش ویدیوی جدید بودهایم.
بهتر است قبل از هر چیز ببینیم فرمت، پسوند، کدک، کانتینر، اسپلیتر و رندرکننده، هر کدام چه وظیفهای در پروسهی ایجاد یک فایل و در نهایت پخش شدن آن دارند و به تفاوت و شباهتهای موجود بین آنها بپردازیم.
قالب، پسوند یا کانتینر
پسوند فایل چیزی است که اغلب با نوع فایل اشتباه گرفته میشود. پسوند فایل نشان میدهد که از چه نوعی است اما به ساختار داخلی آن کاری ندارد. مثلاً وقتی پسوند Zip را در ویندوز میبینیم، متوجه میشویم که فایل از نوع آرشیو است و با نرمافزارهایی مثل وینزیپ و سونزیپ باز میشود. اما اینکه دادههای موجود از چه نوعی هستند، بر ما پوشیده است. ممکن است پسوند یک فایل ویدیویی MP4 را تغییر دهیم تا نوع آن عوض شود. اما همانطور که میدانید، به این کار نمیتوان باعث تغییر در اطلاعات داخلی آن شد.
هر فایل ویدیویی پسوندی دارد که به Container یا ظرفی که صدا و ویدیو در آن ریخته شده اشاره میکند. مثلاً زمانی که با MKV Merge یک فایل ویدیویی میسازیم، استریم یا جریان صدا و تصویر را با مشخص کردن آدرسشان و برخی پارامترهای مربوطه در کنار فایل یا فایلهای زیرنویس و زمانبندی فصلها، در یک جعبه به نام MKV قرار میدهیم.
تصویر بالا که از برنامه MKV Merge گرفته شده یک فایل با پسوند mp4 که در آن استریم صدا و ویدیو وجود داشته با فایل زیرنویسی که پسوند srt دارد را نشان میدهد که قرار است در یک فایل با پسوند mlv ادغام شوند.
به بیانی سادهتر، کانتینر یا قالب چیزی است که صدا و ویدیو و دیگر اجزای یک فایل ویدیویی را در کنار هم و با یک پسوند خاص مثل MP4 یا MKV قرار میدهد.
هر یک از کانتینرها از برخی فرمتهای خاص پشتیبانی میکنند و از برخی دیگر، پشتیبانی نمیکنند. به عنوان مثال در کانتینر mp4 نمیتوان ویدیوی فشرده شده با کدک Theora را قرار داد اما در mkv میتوان چنین ویدیویی را جای داد. در مجموع mkv بهترین پشتیبانی را از فرمتهای متنوع ویدیویی و صوتی به عمل آورده و میتوان گفت که انتخاب اصلی برای فشرده کردن فیلمها به حساب میآید.
کدک (Codec)
واژهی کدک کمتر استفاده میشود و معمولاً افراد با واژهی فرمت میانهی بهتری دارند. بنابراین تعریف غلط فرمت که همان پسوند فایل است را کنار میگذاریم و اینگونه توضیح میدهیم: منظور از فرمت یک فایل، همان شیوهی کد شدن ویدیو و صدا در آن است.
بنابراین هر فرمت ویدیویی یا صوتی، با اینکدری خاص کد شده است. برای باز کردن هم باید متناسب با اینکدر استفاده شده، دیکدر خاصی به کار گرفته شود. مجموعهی اینکدر و دیکدر را کدک میگویند. در واقع Codec مخفف COmpressor-DECompressor است به این معنی که هم فشرده میکند و هم از حالت فشرده خارج میسازد.
تاریخچه
در چند دهه گذشته کدکهای ویدیویی در 2 مسیر اصلی و از طریق 2 نهاد مرجع توسعه و تکامل یافتهاند. سازمان بینالمللی استاندارد (International Standard Organization) – که بیشتر با نام اختصاری آن یعنی ISO شناخته میشود – یکی از مهمترین مراجع تعیینکننده در زمینه استانداردهای مرتبط با عکسبرداری، کامپیوتر و تجهیزات الکترونیکی مصرفکننده است. این سازمان اولین استاندارد ویدیویی خود را با نام MPEG-1 در سال 1993 معرفی کرد. به همین ترتیب ISO کدک MPEG-2 را در سال 1994 و MPEG-4 را در سال 1999 به عنوان استاندارد مورد تایید خود برای کدکهای ویدیویی منتشر نمود. دیگر مسیر تکامل کدکهای ویدیویی از اتحادیه بینالمللی مخابرات (ITU) میگذرد. نهادی که به عنوان آژانس اصلی سازمان ملل متحد در زمینه فناوری اطلاعات و ارتباطات، وظیفه معرفی استانداردهای بینالمللی مربوط به ارتباطات تلفنی، رادیو و تلویزیون را بر عهده دارد. این آژانس اولین بار در سال 1984 میلادی از اولین استاندارد خود در زمینه کنفرانسهای ویدیویی با نام H.120 پردهبرداری نمود. دیگر استانداردهای این خانواده با کدهای H.262 ،H.261 و H.263 به ترتیب در سالهای 1990، 1994 و 1995 معرفی گردیدند.
سرانجام از سال 2001 میلادی این دو مسیر متفاوت تکامل کدکها و استانداردهای ویدیویی به یکدیگر پیوسته و تیمی متشکل از متخصصین مربوطه از هر دو نهاد ISO و ITU کار طراحی و توسعه استاندارد جدید کدکهای ویدیویی را آغاز نمودند. نتیجه این همکاری، انتشار استانداردی جدید با عنوان Advanced Video Coding یا به اختصار AVC بود که اولین نسخه از آن در سال 2003 میلادی منتشر گردید. این استاندارد کدگذاری ویدیویی پیشرفته (AVC) تحت عنوان H.264 یا MPEG-4 Part 10 نیز در سطح دنیا شناخته میشود. از زمان معرفی اولیه استاندارد AVC تا کنون این استاندارد بارها بروزرسانی شده و 26 نسخه از آن منتشر گردیده است. همچنین در این سالها دامنه استفاده از آن روز به روز گسترش یافته، تا جایی که با به تسخیر در آوردن بسیاری از صنایع و بازارها همچون سرویسهای استریمینگ و تلویزیونهای اینترنتی، دوربینهای دیجیتال، دستگاههای همراه و حتی شبکههای ماهوارهای، در حال حاضر پرکاربردترین استاندارد بینالمللی در زمینه کدکهای ویدیویی محسوب میشود. پس از آن نیز MPEG-2 را با وجود قدمت بالای آن میتوان به عنوان دومین استاندارد مرسوم و پرکاربرد کنونی برشمرد.
یک دهه پس از معرفی AVC و به دنبال افزایش کیفیت تصاویر ویدیویی از HD به Full HD و 4K، استانداردی جدید با نام High Efficiency Video Coding یا به اختصار HEVC در سال 2013 به طور مشترک از سوی سازمانهای ISO، ITU و IEC منتشر گردید. این استاندارد کدگذاری ویدیویی که به H.265 و MPEG-H Part2 نیز شهرت دارد، قادر است تا نسبت به استاندارد قدیمیتر AVC ویدیوها را در یک سطح کیفی مشخص از 25 تا 50 درصد بهتر فشردهسازی نموده یا در یک نرخبیت (bitrate) معین، ویدیویی با کیفیت به مراتب بهتری را ارائه کند. بدین معنی که به عنوان مثال چنانچه شما برای پخش آنلاین یک ویدیو با کیفیت 4K و با استفاده از کدک H.264 به پهنای باند اینترنت 32 مگابیت بر ثانیه نیاز داشته باشید، پخش همان ویدیو به کمک استاندارد H.265 یا HEVC تنها 16 مگابیت بر ثانیه از پهنای باند اینترنت شما را اشغال مینماید.
امروزه کدک از انواع بسیاری برخودار است. با وجود اینکه کدک های جدید حجم بیشتری از اطلاعات را با حفظ کیفیت ویدیو فشرده می کنند اما متاسفانه همه ی کدک ها با هر فرمت یا پلیری سازگار نیستند. در حال حاضر به لطف تقاضای بسیار برای ویدیوهای 4K، کدک های محبوبی مثل H.264 ،MPEG-4 ،DivX و H.265 به سرعت در حال جهانی شدن میباشند. در ادامه مهمترین کدکها را مورد بررسی بیشتری قرار میدهیم:
XviD/DivX
DivX یک کدک تجاری انحصاری است؛ در حالی که XviD یک کدک جایگزین مشابه است که با کدباز ارائه شده است. هر دو کدک میتوانند خروجی یکدیگر را رمزگشایی کنند. هر دو این کدکها در ساخت MPEG-4 نیز بکار گرفته شدهاند. این کدکنندهها به طور گسترده، علیالخصوص در کدگذاری ویدئویی استفاده میشوند. مشخصه این کدکها ابعاد نامحدود و سبک محاسبات کدگذاری آنها میباشد.
MPEG-4
رایجترین فرمت و کدک ویدئویی است. MPEG مخفف Moving Picture Experts Group یا گروه کارشناسان تصویر متحرک است که اشاره به گروه سازندهی آن دارد. این کدک شامل بخشهای مختلفی است که بخش دوم آن برای کدگذاری ویدئو استفاده میشود. این بخش، از کدکنندههایی مانند دیو ایکس یا ایکسوید برای کدگذاری ویدئوها استفاده میکند. نکته قابل توجه اینجا است که با تمام مزایایی که این کدک دارد در حال حاضر در به روز رسانیهای جدید از H.264 به طور گسترده استفاده میشود.
H.264 (AVC)
محبوبترین انتخاب برای ویدئوهای با کیفیت بالا است. این کدک از هر دو نوع فشرده سازی با و بدون از دست دادن داده استفاده میکند که این امر بستگی به تنظیمات کدگذاری مدنظر مانند نرخ فریم، کیفیت، اندازه فایل هدف و دیگر تنظیمات دارد. در این کدک برای کدگذاری صوتی از کدکهای صوتی AAC یا MP3 بسته به سایز و کیفیت مد نظر شما استفاده میشود.
H.264 تا دو برابر کارآمدتر از فشردهسازی MPEG-4 اولیه است. از طرفی این کدک خروجی فایل با سایز کوچکتری را ارائه میدهد و قابلیت پخش بر روی دستگاههای پخش مختلف بدون هیچ مشکلی در آن وجود دارد. در حال حاضر ویژگیهای H.264 در داخل کدک MPEG-4 جدید نیز گنجانده شده است که با عنوان AVC شناخته میشود.
H.265 (HEVC)
در حالی که استاندارد H.264 همچنان کارایی بسیار خوبی از خود نشان میدهد، استاندارد جدیدی آمده است تا مرزهای کارآمدی و بهینه بودن کدگذاری ویدئویی را بار دیگر جابجا کند. این استاندارد که اولین بار در سال ۲۰۱۳ معرفی شد، HEVC یا «کدگذاری ویدئویی پربازده» (High Efficiency Video Coding) نام دارد و ازآنجایی که آمده است تا جانشین شایستهای برای H.264 باشد، با نام H.265 نیز شناخته میشود.
برتری اصلی HEVC نسبت به H.264 در این است که در کیفیتهای یکسان، نرخ فشردهسازی دوبرابری ارائه میکند. این یعنی ویدئویی که با استفاده از HEVC فشرده شود، حجمی برابر با نصف ویدئوی مشابهی که با استفاده از استاندارد H.264 فشرده شده است اشغال خواهد کرد و این در حالی است که کیفیت هر دو ویدئو تقریباً یکسان خواهد بود.
HEVC بسیاری از ویژگیهای خود را از H.264 وام گرفته است؛ برای مثال در هر دو این استانداردها از تکنیکی با نام «پیشبینی جبرانی حرکت» (motion compensated prediction) برای پیدا کردن نواحی زائد در یک فریم استفاده میشود. منظور از نواحی زائد، قسمتهایی از تصویر است که در چندین فریم تغییری نمیکنند و میتوان به جای تکرار آنها در هر فریم و اختصاص حجم اضافه به این قسمتها، تنها یک نسخه از آنها را نگه داشته و در فریمهای مختلف از همان یک نسخه استفاده کرد. در استاندارد H.264 اندازهی این قسمتها به قطعات مربعی شکل ۱۶ در ۱۶ پیکسل محدود میشد؛ اما با افزایش این اندازه به ۶۴ در ۶۴ پیکسل در استاندارد HEVC، مقدار فشردهسازی ویدئو افزایش چشمگیری خواهد داشت. دیگر بهبودهای HEVC نسبت به استاندارد قبلی که اجازهی فشردهسازی بیش از پیش را به آن میدهند عبارتند از تقسیمبندی بلوکها با سایز متغییر (ariable-block-size segmentation)، فیلترهای جبران حرکت (motion compensation filters)، فیلترینگ تطبیقی آفست (adaptive offset filtering) و پیشبینی برداری حرکتِ بهبود یافته (motion vector prediction).
از آنجایی که HEVC استاندارد نسبتاً جدیدی به شمار میرود، هنوز به اندازهی H.264 با دستگاههای پخشکننده سازگار نیست. بسیاری از دستگاهها، «سخت افزار» مخصوص برای کدگشایی از ویدئوهای H.264 دارند، در حالی که سختافزارهایی که قادر به کدگشایی از HEVC باشند بسیار کمتر متداول هستند.
+H.265
تکنولوژی H.265+ یک الگوریتم هوشمند است که با تبعیت از استاندارد HEVC یا (High Efficiency Video Coding) و یا H.265 طراحی شده است. اما مهمترین تفاوت موجود در نحوه عملکرد H.265+ نسبت به نسخه های قبلی، کاهش میزان بیت ریت تصاویر است. به عبارت دیگر کاهش تعداد بیت هایی که در یک واحد منتقل یا پردازش می شوند. در نتیجه این عمل، کاهش مصرف پهنای باند (میزان انتقال داده ها در بیت در ثانیه (بیت / ثانیه) را خواهیم داشت.
یکی از کاردبردهای اصلی این کدک جدید در دوربینهای مداربسته است. با توسعه بیشتر و بالاتر رفتن کیفیت تصاویر دوربین مداربسته نیاز به فشرده سازهای قوی تری نیز هست. استفاده از فشرده سازی H.265+ در دوربین مداربسته انقلابی بزرگ در کاهش هزینه های ذخیره سازی ایجاد کرد.
تکنولوژی های فشرده سازی در کدک H.265+ به شرح زیر است:
- تکنولوژی کدگذاری طبق مدل پس زمینه
- تکنولوژی کاهش چشمگیر میزان نویز در تصویر
- تکنولوژی کاهش نرخ بیت
کدگذاری طبق مدل پس زمینه
این تکنولوژی که شامل دو بخش کدگذاری میانی و کدگذاری داخلی میباشد به صورت ساده و خلاصه به این صورت عمل میکند که:
- ابتدا تصویری از محیط مورد نظر گرفته، و از آن به عنوان فریم پس زمینه استفاده می کند. در این تصویر تمرکز اصلی بر روی اشیاء متحرک خواهد بود.
- هنگامی که سوژه متحرکی وارد این فریم گردد، H265+ تصویری از جسم متحرک را انتخاب نموده و از آن به عنوان فریم مرجع استفاده می کند.
- چنانچه سوژه به حرکت خود ادامه دهد، سیستم فقط اطلاعات مربوط به سوژه متحرک را در هر فریم اضافه می کند و باقی اطلاعات تکراری را حذف می کند.
کاهش نویز در پس زمینه تصویر
نویز در تصاویر یکی از مشکلات معمول در تصاویر دوربین های مداربسته است. وجود نویز در تصاویر می تواند دلایل متعددی داشته باشد که از جمله می توان به عدم وجود روشنایی کافی در محیط اشاره نمود. نویز نه تنها کیفیت تصاویر را کاهش می دهد بلکه میزان زیادی از بیت ریت کدگذاری شده را نیز اشغال می کند. از این رو باید تا جای ممکن از آن جلوگیری نمود و یا آن را کاهش داد.
روش هایی که قبلا برای کاهش میزان نویز در تصاویر مورد استفاده قرار می گرفت اغلب روش هایی کلی بود. به این معنا که منجر به حذف جزئیات در تصاویر میشد و از این جهت کارایی بالایی نداشتند. اما در فشرده سازی H.265+ روش کار بدین صورت است که ابتدا سوژه های متحرک را از پس زمینه تصویر جدا کرده و برای دو قسمت پس زمینه و سوژه از روش های جداگانه ای برای کاهش نویز استفاده می کند. با این روش نه تنها میزان نویز در تصویر کاهش می یابد بلکه کیفیت آنها نیز کاهش نمی یابد.
کنترل نرخ بیت ریت
این تکنولوژی با متوسط نرخ بیت در طول دوره های مختلف (معمولا 24 ساعت) مرتبط است. با کنترل میانگین نرخ بیت، دوربین می تواند در صورت لزوم میزان بیت ریت بیشتری داشته باشد. برای مثال در ساعات کاری در یک دفتر اداری بیت ریت بالا، و سپس در زمانی که دفتر بسته است و جمعیت محلمورد نظر کاهش می یابد، بیت ریت پایینی داشته باشد.
ظهور نسل جدید کدکهای ویدیویی
H.264 و اغلب استانداردهای ویدیویی قدیمیتر ارائه شده توسط ISO و ITU به اقتضای زمان توسعه خود با دید پاسخگویی به نیازهای تلویزیون و راهکارهای سنتی انتقال فایلهای ویدیویی طراحی گردیدهاند. در نتیجه هیچیک از آنها نمیتوانستند استانداردی مناسب برای بهکارگیری در سرویسهای استریمینگ (streaming) یا همان پخش آنلاین ویدیو باشند. با ظهور و توسعه روزافزون این نوع سرویسها و همچنین گسترش استفاده از ویدیوهایی با کیفیت 4K و 8K، نیاز به استانداردهایی جدید و کارآمد برای آینده این صنعت بدیهی به نظر میرسید. در همین راستا طی سالهای گذشته گروههای مختلفی از متخصصین و نهادهای بینالمللی به تحقیق و توسعه در این زمینه پرداخته و استانداردهای جدیدی را برای این منظور ارائه نمودهاند. مهمترین این استانداردها عبارتند از EVC ،H.266/VCC ،AV1 و LCEVC که در ادامه به معرفی اجمالی هر یک از آنها خواهیم پرداخت.
H.266 (VVC)
سازمان پژوهشی آلمانی فراونهوفر هاینریش هرتز (HHI) کدک ویدئویی جدیدی بهنام H.266 یا Versataile Video Coding معرفی کرد. استاندارد جدید حاصل سالها تحقیق و توسعه است که در مجموعهی تحقیقاتی آلمانی انجام شد.
کدک H.266 از سیستم فشردهسازی جدیدی بهره میبرد که با ادعای حفظ کیفیت فایلهای ویدئویی، حجم آنها را بهمیزان چشمگیری کاهش میدهد. درواقع، محققان آلمانی اعتقاد دارند فایلها تحت کدک جدید، ازلحاظ کیفیت تفاوتی با فایلهای کدک H.265 ندارند که بهنام High Efficiency Video Coding یا HEVC هم شناخته میشود. همانطورکه گفته شد، تفاوت اصلی کدک جدید کاهش حجم ویدئوهای بهمیزان ۵۰ درصد است. درنتیجه، کدک مذکور را میتوان برای جابهجایی سریع فایلهای رزولوشن 4K و 8K بهکار گرفت که با استفاده از شبکهی اینترنت موبایل هم سرعت مناسبی داشته باشند. کدک جدید H.266 یا VVC از فرمتهای HDR و فیلم ۳۶۰ درجه هم پشتیبانی میکند.
برای درک بهتر کارایی کدک جدید، فیلمی ۹۰ دقیقهای با رزولوشن 4K را در نظر بگیرید که با کدک H.265 حجمی حدود ۱۰ گیگابایت دارد. مؤسسهی تحقیقاتی آلمانی ادعا میکند که همین فایل درصورت استفاده از کدک H.266، با حفظ کیفیت تقریبا مشابه، حجمی بیشتر از ۵ گیگابایت نخواهد داشت. درنتیجه، اگر H.266 پس از نهاییشدن و ارائهی گسترده به عموم کاربران ادعای محققان را برآورده کند، میتوان پیشرفت نمایی را در توسعهی استانداردهای ویدئویی پیشبینی کرد.
مؤسسهی تحقیقاتی HHI میگوید تراشههایی که برای مدیریت کدک H.266 آماده باشند (خصوصا در دستهی پردازندههای موبایل) هنوز در دست توسعه قرار دارند. بنابراین، میتوان ادعا کرد برای پردازش و پخش محتوای H.266 قطعا به قدرت پردازشی بسیار زیادی نیاز خواهد بود که هنوز در پردازندههای کنونی دیده نمیشود. البته مصرف محتوای H.266 به پردازش قوی احتیاج ندارد و کاربرانی که تولیدکنندهی محتوای ویدئویی در این کدک نیستند، مشکل خاصی ازلحاظ پخش آن نخواهند داشت. دکتر توماس شیرل، مدیر بخش ویدئوی مؤسسهی HHI، میگوید اولین نرمافزار با قابلیت رمزنگاری و رمزگشایی کدک H.266 پاییز امسال عرضه میشود.
VVC قرار است از موارد زیر پشتیبانی نماید:
- وضوح تصویر از 4K تا 16K و همچنین فیلم های 360 درجه
- فضاهای رنگی YCbCr با نمونه برداری 4:2:0، 10 بیتی
- YCbCr/RGB 4:4:4 و YCbCr4:2:2
- کانالهای کمکی (شفافیت ، عمق و غیره)
- رنج دینامیکی بالا (HDR) و گستره رنگی بالاتر
- عمق بیت تا 16 بیت در هر جزء
- نرخ فریم ثابت و متغیر
- اسکن های متوالی
نتایج آزمایش های حاصل از نرم افزار مرجع VVC VTM نشان می دهد که کدگذاری H.266 نسبت به H.265 حدود 10 برابر پیچیده تر بوده و رمزگشایی آن حدود 1.7 برابر پیچیده تر است. طبق اظهارات دپارتمان تحقیق و توسعه BBC ، رمزگذاری VVC حدود 6.5 برابر بیشتر از HEVC طول می کشد و مدت زمان رمزگشایی آن نیز حدود 1.5 برابر بیشتر است. باید به این نکته توجه کرد که کدگذاری HEVC با بهره گیری از منابع پردازشی موجود در سخت افزارهای امروزی نیز از چنان سرعت بالایی برخوردار نیست، از آنجا که استفاده از H.266 به طور مثال برای دستگاه های تلفن همراه نیاز به منابع پردازشی قدرتمندتری نسبت به HEVC دارد. در نتیجه تولید سخت افزاری که بتواند از VVC پشتیبانی کند، خود یک چالش است.
برای دستیابی به بازده فشرده سازی بهتر، H.266 VVC رویکردهای متعددی جهت بهبود الگوریتم فشرده سازی در مقایسه با H.265 HEVC ایجاد نموده است. در مقایسه H.266 VVC با H.265 HEVC میتوان به دو مورد اشاره کرد:
مسدود کردن پارتیشن بندی
هر فریم ویدئویی کدگذاری شده به بلوک های بزرگتر یا کوچکتر تقسیم می شوند که در HEVC / H.265 واحدهای کدگذاری درختی (CTU) نامیده می شوند. CTU یکی از اصلی ترین ابزارهای برنامه نویسی HEVC است و اندازه آن می تواند از 4 × 4 تا 64 × 64 پیکسل باشد. حداکثر اندازه CTU در VVC برابر با 128 × 128 پیکسل است و یک CPU با یک درخت چهارتایی با طرح درخت های متنوع تودرتو (QTMT) تقسیم می شود. در HEVC ، چندین مفهوم پارتیشن بندی وجود دارد، از جمله CU ، PU و VVC .TU این مفاهیم را با CU یکی دانسته و این انعطاف پذیری، امکان مدل سازی دقیق محتوای ویدئویی را فراهم می نماید.
Intra Prediction
اگر H.266 VVC با H.265 HEVC را در حالت Intra preiction مقایسه کنیم، در H.265 / HEVC تعدا 35 حالت Intra Prediction وجود دارد. H.266 / VVC حالت های داخلی را به 67 مورد افزایش داده است. HEVC اکنون علاوه بر بلوک های مربع شکل از بلوک های مستطیل شکل نیز پشتیبانی می کند. به این ترتیب می توان دقت بالای پیش بینی را به عنوان مزیتی جهت چشم پوشی از پیچیدگی محاسباتی بالای این روش در نظر گرفت.
AV1
AV1 که اولین بار در سال 2018 منتشر گردید، یک کدک و فرمت فایل تصویری برای انتقال ویدیو روی اینترنت است. یکی از مهمترین ویژگیهای این فناوری، متنباز بودن و امکان استفاده کاملا رایگان از آن است. بسیاری از فناوریهایی که امروزه به صورت گسترده برای فشردهسازی و استریم ویدیوها به کار رفته میشوند، رایگان نبوده و برای بهرهبرداری تجاری نیازمند خریداری مجوز یا لایسنس هستند. از کدک قدیمی و پرکاربرد MPEG-2 گرفته تا فناوریهای مختلف مبتنی بر استاندارد H.264/AVC و همچنین H.265/HEVC، همگی توسط شرکتها و نهادهای مختلف ثبت اختراع شده و در نتیجه تولیدکنندگان تجهیزات الکترونیکی و توسعهدهندگان نرمافزارها برای استفاده از آنها بایستی مجوزهای مربوطه را دریافت نمایند. دریافت این مجوزها در برخی موارد بدون پرداخت هزینه انجام گرفته و گاه با پرداخت مبالغی قابل توجه همراه است. به عنوان مثال، شرکت سامسونگ مالک بیش از 4000 ثبت اختراع (patent) مرتبط با استاندارد H.265 بوده و پاناسونیک نیز بیش از 1000 اختراع ثبت شده در زمینه فناوریهای مبتنی بر استاندارد H.264 دارد.
این کدک توسط نهادی به نام AOMedia یا "اتحاد برای رسانه آزاد" توسعه یافته است. نهادی غیرانتفاعی که با هدف توسعه فناوریهای متنباز و رایگان در زمینه ارائه محتوای چندرسانهای در سال 2015 توسط ابرشرکتهایی همچون آمازون، سیسکو، گوگل، اینتل، مایکروسافت، موزیلا و نتفلیکس تشکیل گردید. متخصصین AOMedia ادعا میکنند که AV1 نسبت به کدکهای H.265/HEVC با ارائه کیفیت تصویر مشابه، حدود 30 درصد از نظر فشردهسازی بهتر عمل میکند. بدین معنی که حجم دادههای نگهداری شده برای یک ویدیوی 4K به کمک کدک AV1 نزدیک به 30 درصد از حجم فایل مربوط به همان ویدیو با کدک HEVC کمتر است. البته نتایج آزمایشهای صورت گرفته توسط محققین دانشگاه واترلو حاکی از آن است که برای یک ویدیوی نمونه با کیفیت 4K، کدک AV1 قادر بوده است تا با نرخبیت 9.5 درصد پایینتر، کیفیت تصویری همسطح با HEVC را ارائه نماید. وبسایت AndroidAuthority نیز یک ویدیو را با 3 کدک HEVC ،AV1 و AVC فشردهسازی کرده و نتایج به دست آمده را در مقالهای با همین مضمون منتشر نموده است. این آزمایش نشان میدهد که دو استاندارد AV1 و HEVC از نظر قدرت فشردهسازی و کیفیت تصاویر بازسازی شده اختلاف چشمگیری با هم ندارند.
یک کدک رایگان با قدرت فشردهسازی بالاتر نسبت به استاندارد H.265/HEVC – که متنباز و رایگان نیست – بسیار جذاب به نظر میرسد. اما همه چیز به اینجا ختم نمیشود. در کنار این مزایا، کدک AV1 از یک ایراد مهم رنج میبرد. عملیات رمزگذاری (encoding) ویدیوها با این کدک نسبت به دیگر کدکهای متداول فعلی همچون H.264 و H.265 کندتر انجام میشود. به طوری که زمان لازم برای کدگذاری نرمافزاری یک ویدیو با AV1 تقریبا 2 برابر H.265/HEVC است. البته این مشکل ممکن است به مرور زمان و با توسعه ابزارهای کدگذاری بهینهتر، کمرنگتر شده و حتی مرتفع گردد. به خصوص که هنوز ابزارهای کدگذاری مبتنی بر کدک AV1 برای استفاده توسط عموم به صورت نهایی و رسمی عرضه نگردیدهاند. انتظار میرود که با گذشت زمان نرمافزارهای کارآمدتر و بهینهتری برای این کدک ارائه گردیده و با پشتیبانی از این کدک در سطح سختافزار، سرعت عملیات کدگذاری به میزان قابل توجهی بهبود یابد.
در هر صورت به نظر میرسد که AV1 به خوبی مورد حمایت و استقبال شرکتهای بزرگ فعال در زمینه پخش آنلاین ویدیو و ارائه محتوای چندرسانهای قرار گرفته است. به عنوان مثال YouTube از سال جاری میلادی (2020) پخش ویدیو بر مبنای کدک AV1 را به صورت محدود آغاز نموده است. شرکت Netflix هم از 4 سال پیش با حمایت از این کدک اعلام نموده بود، در فوریه سال 2020 میلادی استفاده از کدک AV1 را برای پخش آنلاین برخی از ویدیوها روی سیستمعامل اندروید آغاز نمود. به کارگیری این کدک جدید توسط Netflix موجب 20 درصد فشردهسازی بهتر و در نتیجه به همین میزان مصرف پهنای باند کمتر برای پخش آنلاین ویدیوهای این تلویزیون اینترنتی میگردد. همچنین شرکت فیسبوک به دنبال انتشار نتایج خوب حاصل از آزمایشهای خود روی کدک AV1 و نرمافزار کدگذاری توسعه یافته توسط این شرکت، اعلام نموده است که به محض شروع پشتیبانی از این کدک ویدیویی توسط مرورگرهای اینترنتی، استفاده از آن را برای پخش آنلاین ویدیوها آغاز خواهد نمود.
یکی از مهمترین عوامل موثر بر موفقیت هر کدک ویدیویی، پشتیبانی نرمافزارهای پرکاربرد از آن است. به لطف حمایت اغلب شرکتهای مهم دنیای فناوری از AV1، در حال حاضر این کدک توسط بسیاری از نرمافزارهای محبوب بینالمللی پشتیبانی میشود. از مهمترین و نامآشناترین این نرمافزارها میتوان به PotPlayer ،Bitmovin ،MediaInfo ،GStreamer ،VLC media player ،Opera ،Microsoft Edge ،Google Chrome ،Mozilla Firefox و Google Duo اشاره نمود.
اسپلیتر در فرآیند باز کردن فایل
برای اینکه یک کانتینر را باز کنیم و ببینیم درون آن چه خبر است، به نرمافزار مناسبی نیاز داریم که به آن Splitter یا جدا کننده گفته میشود. اسپلیترها هم انواع زیادی دارند و برای هر یک از کانتینرها ممکن است چندین اسپلیتر خوب در اختیار داشته باشید. مثلاً به عنوان مثال Matroska Splitter ابزاری است که برای بازگشایی فایلهای MKV و جدا کردن استریم صدا و ویدیو کاربرد دارد. LAV Video filter هم نرمافزاری متنباز برای باز کردن کانتینترها است که به خوبی پیشرفت کرده و بیشتر پسوندها را شناسایی میکند.
تصویر فوق فرآیند کاری است که اسپلیتری مثل LAV روی یک ورودی مثل MP4 انجام میدهد و استریمها را جدا کرده و به دیکدرهای مربوطه ارسال میکند. در نهایت ویدیو توسط رندر کننده و صدا توسط خروجی صدا پخش میشود.
نرمافزارهای حرفهای دارای تنظیمات زیادی برای انتخاب اسپلیتر و دیکدر هستند. مثلاً Pot Player که سازندهی کرهای آن شخصی است که قبلاً KMPlayer معروف را هدایت کرده، یکی از ابزارهای پیشرفتهی پخش ویدیو با تنظیمات بسیار زیاد است. مدیا پلیر کلاسیک، VLC و KMPlayer هم از بهترین پلیرهای موجود هستند که تقریباً تمام کانتینرها و استریمها را میشناسند.
در ضمن اسپلیترها از نظر استفاده از پردازنده و منابع سیستم هم در حد بسیار کمی متفاوت هستند که با توجه به قدرت بسیار بالای تراشههای امروزی جای هیچ نگرانی نیست، اما اینکه اسپلیتری بتواند فایل AVI معیوب را باز کند، یک برتری ارزشمند دارد. به عنوان مثال یک فایل نیمه دانلود شده را میتوان با پلیری مثل VLC باز کرد حال آنکه امکان باز کردن آن با ویندوز مدیا پلیر وجود ندارد.
دیدگاههای بازدیدکنندگان
یونس غلامیان
مطالبتون مفید و آموزنده بود.
728 روز پیش ارسال پاسخخسته نباشید
محسن
سلام. تشکر.
561 روز پیش ارسال پاسخواقعا مقاله ی مفیدی بود.