کالبدشکافی فشردهسازی ویدیو: چرا تماشای فیلم 4K اینترنت شما را نابود نمیکند؟
بیشتر مردم تصور میکنند ویدیو مجموعهای از عکسهای پیدرپی است، اما در واقعیت، ویدیوهای دیجیتال بیشتر از آنکه تصویر باشند، معادلات ریاضی پیچیدهای برای پیشبینی حرکت هستند.
به قلم غزل بختیاری
این خبر را به اشتراک بگذارید
بهطور خلاصه
- ویدیوهای دیجیتال مجموعهای از عکسهای کامل نیستند، بلکه بیشتر شامل دستورالعملهای ریاضی برای جابجایی پیکسلها هستند.
- فریمهای کلیدی (I-Frames) تنها تصاویر کاملی هستند که هر چند ثانیه یکبار ارسال میشوند.
- فریمهای پیشبینیکننده (P و B) فقط تغییرات رخ داده نسبت به فریمهای قبلی و بعدی را ثبت میکنند.
بزرگترین دروغی که درباره ویدیوهای دیجیتال به ما گفتهاند این است که ویدیو صرفاً مجموعهای از عکسهاست که با سرعت بالا پخش میشوند. اگر یک ویدیوی ۴K با سرعت ۶۰ فریم بر ثانیه واقعاً ۶۰ عکس کامل در هر ثانیه بود، تماشای یک دقیقه از آن به چندین گیگابایت اینترنت نیاز داشت و زیرساختهای جهانی در همان روزهای اول فرو میپاشیدند.
اما در واقعیت، وقتی در حال تماشای نتفلیکس یا یوتیوب هستید، دستگاه شما در حال دانلود مداوم عکس نیست؛ بلکه در حال دریافت یک سری دستورالعملهای ریاضی پیچیده است که به پیکسلها میگویند چگونه حرکت کنند. این جادوی «فشردهسازی ویدیو» است که اینترنت مدرن را از فروپاشی نجات داده است.[2]
برای درک این مکانیزم، باید بدانیم که فشردهسازی ویدیو به دو دسته اصلی تقسیم میشود: فشردهسازی مکانی (Spatial) و فشردهسازی زمانی (Temporal). فشردهسازی مکانی شبیه به کاری است که فرمت JPEG با یک عکس ثابت انجام میدهد؛ یعنی حذف اطلاعات تکراری در یک تصویر واحد.
اما انقلاب واقعی در فشردهسازی زمانی رخ میدهد. الگوریتمهای ویدیویی متوجه یک حقیقت ساده شدهاند: در بیشتر ویدیوها، از یک فریم تا فریم بعدی، تقریباً هیچچیز تغییر نمیکند. اگر شخصی در حال صحبت جلوی یک دیوار است، چرا باید تصویر آن دیوار را در هر ۶۰ فریمِ یک ثانیه دوباره دانلود کنیم؟[2]
اینجاست که سه مفهوم کلیدی وارد بازی میشوند: فریمهای I، فریمهای P و فریمهای B. فریم کلیدی یا I-Frame تنها فریم مستقلی است که یک عکس کامل را در خود جای داده است. این فریمها معمولاً هر چند ثانیه یکبار ارسال میشوند تا یک نقطه شروع تمیز ایجاد کنند.[1]
پس از یک I-Frame، نوبت به فریمهای پیشبینیکننده (P-Frames) میرسد. این فریمها تصویر کاملی ندارند؛ آنها فقط تغییراتی را که نسبت به فریم قبلی رخ داده است ثبت میکنند. اگر فقط لبهای شخص حرکت کرده باشد، P-Frame فقط اطلاعات مربوط به حرکت لبها را در خود دارد و بقیه تصویر را از فریم قبلی کپی میکند.[1]
پیچیدهترین بخش، فریمهای دوطرفه (B-Frames) هستند. این فریمها برای پیشبینی حرکت، هم به فریمهای قبلی و هم به فریمهای بعدی نگاه میکنند. این کار باعث میشود حجم دادهها به شدت کاهش یابد، زیرا الگوریتم میتواند دقیقاً حدس بزند که یک شیء در میان دو نقطه چگونه حرکت کرده است.[1]
برای انجام این کار، کدکهای ویدیویی تصویر را به مربعهای کوچکی به نام «ماکروبلوک» تقسیم میکنند. سپس از ابزاری به نام «بردارهای حرکتی» (Motion Vectors) استفاده میکنند. به جای اینکه رنگ پیکسلهای یک ماشین در حال حرکت را دوباره کدگذاری کنند، الگوریتم یک بردار حرکتی میفرستد که میگوید: «این بلوک از پیکسلها را بگیر و ۱۰ پیکسل به سمت چپ ببر».[2]
برای انجام این کار، کدکهای ویدیویی تصویر را به مربعهای کوچکی به نام «ماکروبلوک» تقسیم میکنند.
با ظهور رزولوشنهای 4K و 8K، کدکهای قدیمی مانند H.264 دیگر پاسخگو نبودند. این موضوع باعث تولد کدکهای نسل جدید مانند AV1 شد. AV1 که توسط ائتلافی از غولهای فناوری (از جمله گوگل، نتفلیکس و آمازون) توسعه یافته است، میتواند ویدیوها را ۳۰ تا ۵۰ درصد بیشتر از نسلهای قبلی فشرده کند، بدون اینکه کیفیت افت کند.[3]
یکی از ترفندهای هوشمندانه AV1، نحوه برخورد آن با «نویز تصویر» (Film Grain) است. نویز و دانههای ریز تصویر، دشمن فشردهسازی هستند زیرا کاملاً تصادفیاند و الگوریتم نمیتواند آنها را پیشبینی کند. تلاش برای فشردهسازی نویز، حجم فایل را به شدت افزایش میدهد.[3]
راهکار AV1 شگفتانگیز است: این کدک در مبدأ، تمام نویزهای تصویر را پاک میکند و ویدیو را به صورت کاملاً صاف فشرده میکند. سپس یک معادله ریاضی کوچک به دستگاه شما میفرستد که ویژگیهای آن نویز را توصیف میکند. در نهایت، پردازنده گوشی یا تلویزیون شما، آن نویز را به صورت مصنوعی تولید کرده و روی تصویر قرار میدهد تا حس سینمایی فیلم حفظ شود.
البته این جادو هزینهای هم دارد. هرچه ویدیو بیشتر فشرده شود، پردازنده دستگاه شما باید محاسبات ریاضی سنگینتری را برای بازگشایی (Decode) آن انجام دهد. به همین دلیل است که پخش یک ویدیوی بسیار فشرده AV1 روی یک گوشی قدیمی، ممکن است باعث داغ شدن شدید باتری و افت فریم شود.[3]
در نهایت، فشردهسازی ویدیو یک نبرد دائمی بین پهنای باند اینترنت و قدرت پردازشی دستگاههاست. هر بار که ما به سمت کیفیتهای بالاتر حرکت میکنیم، مهندسان نرمافزار مجبورند دروغهای پیچیدهتری به چشمان ما بگویند تا اینترنت بتواند بار این دادهها را تحمل کند.[4]
اصطلاحات کلیدی
- کدک (Codec)
- نرمافزار یا سختافزاری که دادههای ویدیویی خام را فشرده (کدگذاری) و برای پخش دوباره بازگشایی (کدگشایی) میکند.
- فریم کلیدی (I-Frame)
- فریمی در ویدیو که به صورت یک تصویر کامل و مستقل ذخیره میشود و نیازی به اطلاعات فریمهای دیگر ندارد.
- بردار حرکتی (Motion Vector)
- یک دستورالعمل ریاضی که به جای ذخیره مجدد پیکسلها، مسیر حرکت یک بلوک از تصویر را از یک فریم به فریم بعدی نشان میدهد.
- بیتریت (Bitrate)
- مقدار دادههایی که در هر ثانیه از یک ویدیو پردازش یا منتقل میشود؛ هرچه بیتریت بالاتر باشد، کیفیت و حجم فایل بیشتر است.
پرسشهای متداول
آیا فشردهسازی کیفیت ویدیو را کاهش میدهد؟
بله، اکثر فرمتهای رایج استریم از نوع فشردهسازی «با اتلاف» (Lossy) هستند. با این حال، الگوریتمها طوری طراحی شدهاند که اطلاعاتی را حذف کنند که چشم انسان به سختی متوجه آنها میشود.
چرا برخی ویدیوهای تاریک در یوتیوب مربعمربع میشوند؟
این پدیده که Color Banding یا Blocking نامیده میشود، زمانی رخ میدهد که الگوریتم فشردهسازی برای کاهش حجم، رنگهای مشابه در صحنههای تاریک را در یک بلوک بزرگ ادغام میکند.
تفاوت H.264 با AV1 چیست؟
کدک H.264 استاندارد قدیمیتر و بسیار رایج است که پردازش آن آسان است. AV1 استاندارد جدیدتر و متنبازی است که ویدیوها را تا ۵۰ درصد کوچکتر میکند اما برای پخش روان به پردازندههای جدیدتر نیاز دارد.
بررسی عمیق دیدگاهها
مهندسان زیرساخت و شبکه
تمرکز بر کاهش پهنای باند و جلوگیری از فروپاشی شبکههای جهانی.
برای مهندسان شبکه، کدکهای پیشرفته مانند AV1 یک ضرورت برای بقا هستند. با افزایش تقاضا برای استریم 4K و ورود هدستهای واقعیت مجازی، حجم دادههای ویدیویی در حال انفجار است. از دیدگاه آنها، هر الگوریتمی که بتواند بار ترافیک شبکه را کاهش دهد، حتی اگر نیازمند پردازندههای قدرتمندتر در سمت کاربر باشد، یک پیروزی است.
توسعهدهندگان متنباز
تلاش برای ایجاد استانداردهای رایگان و در دسترس برای همه.
ائتلاف رسانههای باز (AOMedia) که AV1 را توسعه داده است، معتقد است که فناوریهای پایه اینترنت نباید در انحصار پتنتهای گرانقیمت باشند. کدکهای قبلی مانند HEVC هزینههای لایسنس سنگینی برای تولیدکنندگان سختافزار داشتند. این گروه استدلال میکند که یک استاندارد رایگان و متنباز، نوآوری را در سراسر وب تسریع میکند.
فیلمسازان و حافظان کیفیت
نگرانی از دست رفتن جزئیات هنری در فرآیند فشردهسازی.
بسیاری از فیلمسازان با دیده تردید به فشردهسازیهای تهاجمی نگاه میکنند. آنها استدلال میکنند که حذف نویز طبیعی فیلم و جایگزینی آن با نویز مصنوعی (Synthetic Grain) در AV1، دستکاری در اثر هنری است. از دیدگاه آنها، الگوریتمهای فشردهسازی گاهی بافتهای ظریف تصویر را به عنوان «اطلاعات غیرضروری» حذف میکنند که منجر به ایجاد تصاویر پلاستیکی و مصنوعی میشود.
- مهندسان شبکه
- تمرکز بر کاهش پهنای باند و جلوگیری از فروپاشی شبکههای جهانی.
- توسعهدهندگان متنباز
- تلاش برای ایجاد استانداردهای رایگان و در دسترس برای همه.
- حافظان کیفیت
- نگرانی از دست رفتن جزئیات هنری در فرآیند فشردهسازی.
دیدگاههایی که این گزارش پوشش نداده
- تولیدکنندگان سختافزار (تراشهسازان)
- گیمرهای استریم ابری
منابع
[1]Wikipediaتوسعهدهندگان متنبازVideo compression picture types
مطالعه در Wikipedia →
[2]Alibaba Cloudمهندسان شبکهHow Video Compression Works
مطالعه در Alibaba Cloud →
[3]Wikipediaتوسعهدهندگان متنبازAV1
مطالعه در Wikipedia →
[4]تیم سردبیری کوهستانحافظان کیفیتتحلیل تیم سردبیری کوهستان
مطالعه در تیم سردبیری کوهستان →
بیشتر در فناوری
مشاهده همه →طراحی تراشه
کالبدشکافی معماری پردازندهها: چرا تراشههای موبایل (ARM) اینقدر کممصرفتر از تراشههای دسکتاپ (x86) هستند؟
6 منبع
فناوری نمایشگر
کالبدشکافی نمایشگرهای رنگی: چگونه سه رنگ اصلی میلیونها سایه را خلق میکنند؟
2 منبع
معماری وب
کالبدشکافی WebAssembly: مرورگر شما واقعاً چگونه نرمافزارهای سنگین دسکتاپ را اجرا میکند؟
4 منبع
امنیت سختافزار
کالبدشکافی منطقه امن (Secure Enclave): گوشی شما واقعاً چگونه اثر انگشتتان را از خود سیستمعامل مخفی میکند؟
5 منبع
نظرات
هر زاویه. هر روز.
اخبار فناوری با پوشش کامل منابع و تحلیل دیدگاهها، هر روز و رایگان.





