شنبه, ۲۲ اردیبهشت, ۱۴۰۳ / 11 May, 2024
مجله ویستا

Codec های ویدیویی


Codec های ویدیویی

كلمه Codec به معنای COmpressor DECompressor فشرده ساز باز كننده فشردگی است یعنی یك روتین نرم افزاری كه ویدئوی خام آماده ذخیره سازی را فشرده كرده و سپس آن را جهت اجرا بر روی كامپیوتر از فشردگی خارج می نماید

ویدئوی دیجیتالی تا حد زیادی میدان را از دست شیوه های آنالوگ ذخیره سازی بیرون آورده است . از فیلم های DVD گرفته تا كم كوردرها ، و پخش كننده های جیبی و حتی گوشی های موبایل دارای امكانات ضبط ویدئویی ، همگی یك نقطه مشترك با كامپیوتر شخصی شما دارند : كمبود فضای ذخیره سازی ویدئوی دیجیتالی مقدار بسیار ناخوشایندی از فضای ذخیره سازی را بخصوص در وضوح یا resolution های بالاتر اشغال می نماید . در حالیكه بسیاری از كارهایی كه در وب سایت های مختلف مشاهده می گردند احتیاج به فضای چندانی ندارند ، resolution كامل PAL ۵۷۶?۷۲۰ پیكسلی كه توسط DVD و كم كوردرهای دیجیتالی مورد استفاده قرار می گیرد ، در هر دقیقه چندین گیگابایت از فضای دیسك را می بلعد . از آنجا كه هیچ یك از ما ظرفیت نامحدود ذخیره سازی را نداریم ، فایل های ویدئویی جهت كاربردی بودن می بایست از نظر اندازه كاهش یابند .

● توضیح Codec ها

ویندوز این كاهش اندازه را با استفاده از قطعات نرم افزاری بنام Codec انجام می دهد . كلمه Codec به معنای COmpressor/DECompressor ( فشرده ساز / باز كننده فشردگی ) است : یعنی یك روتین نرم افزاری كه ویدئوی خام آماده ذخیره سازی را فشرده كرده و سپس آن را جهت اجرا بر روی كامپیوتر از فشردگی خارج می نماید . قبل از بیان اینكه Codec های فشرده سازی ویدئو چگونه عمل می كنند ، لازم است یك تصور غلط را روشن نماییم . قالب اصلی فرمت ویدئویی مورد استفاده ویندوز AVI است . ممكن است شنیده باشید كه AVI را یك فرمت توصیف می كنند ولی چنین نیست . از نظر تكنیكی AVI چیزی است كه به عنوان یك ظرف یا یك لفاف شناخه می شود ، درست همانند Quick Time محصول شركت اپل .

یك ظرف را می توان به یك كانال تشبیه كرد كه در مورد فایل های AVI ، این ظرف فقط روشی جهت انتقال stream های ویدئو و صوت در درون یك فایل می باشد .

یك فایل AVI می تواند با فایل متنی متفاوت باشد ، حتی اگر هر دوی آن ها محتوی كیك ویدئو و صوت با یك resolution باشند . دلیل این امر خیلی ساده است : ویدئوی نگهداری شده در داخل فایل های AVI ممكن است با Codec های متفاوتی فشرده سازی شده باشد ، چیزی كه نمی توان به صرف اجرای فایل ها آن را فهمید .

در حالیكه Codecهای صوتی معمولاً یا loosy (پراتلاف) هستند ، lossless (بی اتلاف) هستند ، Codec های ویدئو عموماً‌ Loosy (پراتلاف) می باشند .

ویدئویی كه با یك Codec پراتلاف فشرده سازی شده باشد ، با فیلم اصلی یكسان نیست زیرا در حین فرآیند فشرده سازی ، جهت كاهش اندازه فایل مقادیری از اطلاعات دور ریخته می شوند . مقدار عظیم داده های نگهداری شده در فایل های ویدئویی با resolution بالا بدان معناست كه استفاده از یك فشرده سازی بی اتلاف (lossless) كاری عملی و سودمند نیست .

● فریم و فیلد

اگر بخواهیم كلی بگوئیم ، Codec های ویدئو را می توان به دو نوع تقسیم كرد :

Codec های مبتنی بر فریم و Codec های مبتنی بر فیلد .

Codec های مبتنی بر فریم مانند Cinepack و یا Motion_JPEG از طریق بررسی و فشرده سازی هر فریم از ویدئو بطور مجزا ، كارشان را انجام می دهند ، با در نظر گرفتن این كه در یك ویدئوی PAL درهر ثانیه ۲۵ فریم وجود دارد ، Codec های مبتنی بر فریم دو اشكال عمده دارند : آن ها می توانند كند و اندازه فایل هایشان می تواند نسبتاً بزرگ باشد .

یك فیلم در واقع ، یك رشته تصاویر ثابت است كه با سرعت معین و ثابتی نمایش داده شده و موجب پدید آمدن توهم حركت می گردند . با در نظر داشتن این مسئله ، دشوار نخواهد بود كه ببینیم هر فریم یا تصویر قبلی و بعدی خود بوده و فقط تفاوت هایی جزئی در محل های كه اشیاء حركت كرده اند خواهد داشت . پس چرا هر فریم را بصورت مجزا فشرده كنم ، در حالیكه اغلب آن ها اصولاً مشابه یكدیگرند ؟

این جائی است كه Codec های مبتنی بر فیلد وارد بازی می شوند .

این Codec ها بررسی می كنند كه چقدر از یك Stream ویدئویی در طی زمان تغییر نموده است . هنگامی كه یك Codec مبتنی بر فیلد Stream را فشرده می سازد ، Codec مزبور اولین فریم را بصورت تمام و كمال ذخیره می سازد . فریم بعدی با این فریم كامل مقایسه می شودو هرگونه تغییر بین این دو فریم مجزا می گردد .

سپس Codec فقط تغییرات بین اولین فریم كامل و فریم بعد را فشردگی می سازد . از آنجا كه فریم اول ضروری بوده و حاوی اطلاعات مورد نیاز برای خروج از فشردگی فریم های بعدی است ، فریم مزبور بنام فریم كلیدی شناخته می شود . هنگامی كه Codec متوجه تغییر عمده در فریم ها می گردد ، مثلاً هنگامی كه صحنه فیلم عوض می شود . Codec یك فریم كلیدی كامل دیگر را گرفته و فشرده می سازد .

همانطور كه می توانید حدس بزنید ، Codec های مبتنی بر فیلد هنگامی به كار آمدترین شكل خود عمل می كنند كه با فیلم هایی كه صحنه هایشان تغییر چندانی نداشته باشد سروكار دارند . شناخته شده ترین Codec مبتنی بر فیلد استاندارد MFEG است . MFEG _ ۲ كه بازبینی شده resolution بالای استاندارد اولیه است ، همان Coldec بكار رفته جهت بسته بندی فیلم های پرفروش كامل در دیسك های CDC نسبتاً كوچك می باشد .

● پخش تصویر از ویندوز

هنگامی كه یك فایل ویدئویی كه بصورت فرمتی مانند فایل MPEG نگهداری شده است را پخش می كنید ، ویندوز بطور خودكار می داند كه آن فایل چیست و بدون اعتراض كارش را با فایل مزبور انجام می دهد . فرمت های ظرفی مانند AVI بسیار پیچیده ترند ، زیرا stream های ویدئویی و stream های صوتی هر دو می توانند یكی از تعداد زیاد Codec های فشرده ساز را مورد استفاده قرار دهند .

ابتدا ، ویندوز بخش خاصی از سرآیند AVI كه حاوی كد Fourcc است را مورد بررسی قرار می دهد . كد مزبور یك كد چهار رقمی است كه جهت شناسایی Codec بكار رفته در Stream مورد استفاده قرار می گیرد .

ویندوز سپس این كد را با Codec های ویدئویی كه روی كامپیوتر دارید مقایسه نموده و Codec صحیح را برای اجرای Stream انتخاب می كند . اگر Codec مورد نیاز جهت پخش آن كد Fourcc بر روی كامپیوتر نصب نشده باشد ، آنوقت دچار مشكل می شوید زیرا ویندوز از پخش فایل مزبور امتناع خواهد نمود .

در نهایت هنگامی كه Codec صحیح ویدئو و صوت تعیین گردیدند ، ویندوز Stream را به Codec جهت از فشردگی خارج كردن می فرستد . سپس Codec اطلاعات از فشردگی درآمده را به برنامه پخش مورد استفاده می فرستد كه می تواند Windows Media Player و یا برنامه ای از شركت های ثالث دیگر مانند Winmap باشد . این ماهیت ماجولی به معنای آن است كه Codec می تواند توسط هر برنامه ای جهت پخش فایل های ویدئویی بكار برده شود ، بدون اینكه برنامه نویسان ناچار باشند تا هر بار روتین هایی مختص به خود را بنویسند .

● معمای Codec

با در دسترس بودن چندین دو جین Codec ویدئویی جهت استفاده ، هر فایل AVI كه با آن مواجه ی شوید می تواند مانند یك بخت آزمایی باشد . آیا سیستم شما مجهز به Codec مربوطه است تا بتواند هر دو Stream ویدئو و صوت را به شكل صحیح پخش كند ؟ اگر نه ، خیلی زود جواب را خواهید دانست ، یعنی ویندوز از این كه Codec صحیح بررویش نصب نشده است شكایت می كند . اما اگر نیاز به Codec خاصی باشد از كجا می توان آن را پیدا نمود ؟

بجای نصب تمامی Codec های موجود در دنیا ، راه حل ساده تری برای شناسایی اینكه یك فایل AVI خاص نیازمند كدام Codec فشرده ساز می باشد وجود دارد ، یك قطعه نرم افزاری بنام GSPOT . این نرم افزار كه از آدرس اینترنتی www.headbands.com/gspost/GSpot قابل دستیابی است ، هنگامی كه برای اولین بار اجرا شود بطرز وحشتناكی پیچیده به نظر می رسد . البته همینطور هم هست ، ولی برای یافتن اطلاعات Codec ، این نرم افزار بی همتاست .

GSPOT را اجرا كرده و سپس فایل AVI انتخابی خود را باز كنید . هنگامی كه GSPOT سیستم را برای ردیابی Codec نصب شده اسكن نمود ، این برنامه هزاران نوع اطلاعات درباره محتویات فایل انتخاب شده در اختیارتان قرار می دهد . چیزی كه مورد نیاز شماست در سمت راست صفحه تحت بخش Video قرار دارد . بخش Stat به شما می گوید كه آیا Codec مورد نیاز را دارید یا خیر . در صورتیكه جواب منفی بود گزینه های View Codec ، Data Base Video را انتخاب نموده و بدنبال كد Fourcc بگردید .

GSPOT همچنین به شما خواهد گفت كه Codec گمشده را از كجا بیابید .

● MPEG_۴ خارق العاده

در حالیكه فرمت ها و Codec های ویدئویی باگذشت زمان می آیند و می روند ، بعضی از آنها بقدری مفید واقع می گردند كه یك جهش بزرگ محسوب می شوند .

MPEG_۴ یكی از این پدیده ها است . بطور كلی MPEG_۴ استانداردی برای فشرده سازی ویدئویی بسیار كارآمد ولی هم چنان خوش ظاهر است كه بسیار فراتر از آنچه كه فرمت هایی مانند استاندارد MPEG_۵ DVD می تواند عرضه كند می باشد حداقل از لحاظ فشرده سازی .

لیكن MPEG_۴ بیشتر یك استاندارد است تا یك Codec . در عمل چندین Codec مطابق با MPEG_۴ در دسترس قرار دارند . از جمله نسخه تحت تملك خود شركت مایكروسافت . بدون شك شناخته شده ترین Codec با استاندارد مزبور Divx می باشد .

این Codec دارای گذشته ای پر تحول است . Codec مزبور همزمان با MPEG_۴ ماكروسافت پدیدار شد ولی تحت نام شركت Divx Networks.Inc مشروعیت یافت .

در طی سالیان متمادی Divx پیشرفت های زیادی نموده و اكنون مؤسسه بزرگی است . پدید آورندگان بازیها از آن بر روی كامپیوترهای شخصی و پایانه ها استفاده می كنند و تعدادی از DVD Player ها و وسائل پرتابل نیز وجود دارند كه می توانند فایل های DVX را پخش كنند . برای اطلاعات بیشتر به سایت WWW.divx.com مراجعه كنید .

سایر Codec های عامه پسند شامل Xvid (WWW. Xvid .com ) ، ۳IVX ( WWW. ۳IVX.com ) و Digital Nero ( WWW.ahead.de ) می باشند .