کدک چیست؟

نوشته حسین بهنودی در ۵ مهر ۱۳۹۸

کدک (Codec) مخفف کلمات Coder (کدگذار) و Decoder (کدگشا) است و به طور کلی به فرآیندی گفته می‌شود که داده‌های دیجیتال، مانند صدا یا ویدیو، را فشرده یا از حالت فشرده خارج می‌کند. کدک‌ها با استفاده از الگوریتم‌های پیچیده، اطلاعات اضافی و تکراری موجود در فایل‌های صدا یا ویدیو را شناسایی و حذف می‌کنند. سپس این فایل‌ها را به صورت فشرده شده ذخیره می‌کنند. سپس هنگام پخش، کدک با استفاده از الگوریتم‌های مخصوص، اطلاعات از دست رفته را بازسازی کرده و فایل را به حالت اولیه خود باز می‌گرداند.

چرا به کدک نیاز داریم؟

جابجایی سریعتر: با فشرده‌سازی داده، سرعت انتقال آن‌ها از طریق شبکه افزایش می‌یابد.

ذخیره بیشتر: با فشرده‌سازی داده، می‌توان داده‌های بیشتری را در هارد دیسک‌ها یا فلش مموری‌ها ذخیره کرد.

چگونه کدک کار می‌کند؟

کدگذاری (Encoding): در این مرحله، داده‌های خام (صدا یا ویدیو) به یک قالب فشرده تبدیل می‌شوند. این کار با حذف اطلاعاتی که برای گوش یا چشم انسان به سادگی قابل تشخیص نیست، انجام می‌شود.

کدگشایی (Decoding): در هنگام پخش فایل، داده‌های فشرده شده مجدداً به حالت اولیه بازگردانده می‌شوند تا قابل شنیدن یا دیدن باشند.

انواع کدک‌ بر اساس افت کیفیت:

با افت کیفیت (lossy): برخی کدک‌ها برای کاهش حجم فایل، بخشی از اطلاعات صوتی را حذف می‌کنند که منجر به کاهش جزئی کیفیت می‌شود.

بدون افت کیفیت (lossless): برخی دیگر از کدک‌ها تمام اطلاعات را حفظ می‌کنند و هیچ افت کیفی ایجاد نمی‌کنند.

انواع کدک‌ بر اساس نرخ بیت:

کدک‌های با نرخ بیت ثابت (CBR): در این نوع کدک‌ها، میزان داده‌های منتقل شده در هر ثانیه ثابت است. این امر باعث می‌شود کیفیت در بخش‌های مختلف یکسان نباشد.

کدک‌های با نرخ بیت متغیر (VBR): در این نوع کدک‌ها، میزان داده‌های منتقل شده در هر ثانیه ثابت نیست. و بر اساس پیچیدگی داده تغییر می‌کند. در بخش‌هایی که داده یکنواخت است، میزان داده کمتری منتقل می‌شود و در بخش‌هایی که داده متغیر است، میزان داده بیشتری منتقل می‌شود. این امر باعث می‌شود کیفیت در بخش‌های مختلف یکسان باشد.

انواع کدک‌ بر اساس نوع داده:

کدک صدا (Audio Codec): ابزاری است که برای فشرده‌سازی و بازگردانی فایل‌های صدا به کار می‌رود. کدک‌ صدا سیگنال صوتی را تجزیه و تحلیل می‌کند. آن‌ها بخش‌هایی از صدا را که تکراری یا کمتر قابل شنیدن هستند، شناسایی کرده و آن‌ها را با اطلاعاتی که حجم کمتری دارند، جایگزین می‌کنند. در هنگام پخش، این اطلاعات مجددا به صدا تبدیل می‌شوند. به عبارت ساده‌تر، کدک صدا یک الگوریتم است که حجم فایل‌های صدا را بدون افت محسوسی در کیفیت آن کاهش می‌دهد.

کدک ویدیو (Video Codec): ابزاری است که برای فشرده سازی و بازگردانی فایل‌های ویدیو به کار می‌رود. کدک‌ ویدیو سیگنال ویدیویی را تجزیه و تحلیل می‌کند. آن‌ها بخش‌هایی از تصویر را که تکراری یا کمتر قابل مشاهده هستند، شناسایی کرده و آن‌ها را با اطلاعاتی که حجم کمتری دارند، جایگزین می‌کنند. در هنگام پخش، این اطلاعات مجددا به تصویر تبدیل می‌شوند. به عبارت ساده‌تر، کدک ویدیو یک الگوریتم است که حجم فایل‌های ویدیو را بدون افت محسوس در کیفیت آن کاهش می‌دهد.

نمونه‌هایی از کدک‌های صدا

کدک سال کیفیت صدا نرخ فشرده‌سازی
MP3 1993 خوب تا عالی بسیار بالا
AAC 1997 عالی بالا
Vorbis | Ogg 2000 خوب تا عالی بالا
FLAC 2001 بدون افت کیفیت کم
Opus 2012 عالی بالا

MP3: محبوب‌ترین کدک صوتی است که برای پخش موسیقی و پادکست‌ها بسیار مناسب است. و در اکثر دستگاه‌ها و نرم‌افزارها پشتیبانی می‌شود.
AAC: کیفیت بهتری نسبت به MP3 ارائه می‌دهد و در دستگاه‌های اپل به طور گسترده استفاده می‌شود.
Vorbis: یک کدک متن‌باز و آزاد است که کیفیت خوبی ارائه می‌دهد.
FLAC: برای افرادی که به دنبال بالاترین کیفیت صدا هستند، FLAC انتخاب بسیار مناسبی است. این کدک هیچ افت کیفیتی ندارد و برای ذخیره آرشیوی صدا بسیار مناسب است.
Opus: کدکی مدرن و با کیفیت بالا است که برای ارتباطات صوتی و پخش موسیقی بهینه شده است.

نمونه‌هایی از کدک‌های ویدیو

کدک سال کیفیت تصویر نرخ فشرده‌سازی
AVC | H.264 2003 بسیار خوب بالا
HEVC | H.265 2013 عالی بسیار بالا
VP9 2013 عالی بالا
AV1 2018 بسیار عالی بسیار بالا

H.264: محبوب‌ترین کدک ویدیویی است که در اکثر دستگاه‌ها و نرم‌افزارها پشتیبانی می‌شود. تعادل خوبی بین کیفیت و حجم فایل برقرار کرده است و برای پخش آنلاین ویدئو بسیار مناسب است.
H.265: کیفیت بسیار بالاتری نسبت به H.264 ارائه می‌دهد و حجم فایل‌های ویدیویی را بیشتر کاهش می‌دهد. برای پخش ویدیو با کیفیت 4K و 8K بسیار مناسب است.
VP9: یک کدک متن‌باز و آزاد است که توسط گوگل توسعه داده شده است. کیفیت بسیار خوبی دارد و برای پخش آنلاین ویدئو در یوتیوب استفاده می‌شود.
AV1: جدیدترین کدک ویدیویی متن‌باز و آزاد است که کیفیت بسیار بالاتری نسبت به سایر کدک‌ها ارائه می‌دهد و حجم فایل‌های ویدیویی را بسیار کاهش می‌دهد.