engeneer_19
11th March 2010, 02:13 AM
شما می توانید یک ویدئوی دیجیتال را به صورت یکسری از تصاویر در نظر بگیرید . مانند یک کتاب نقاشی متحرک ، تصاویر در یک توالی سریع نشان داده می شوند تا تصور یک انیمیشن صورت گیرد . اگر تصویری دارید که ۲۴۰*۳۲۰ پیکسل دارد و در حالت ۳۲ بیتی می باشد ، اندازه این تصویر ۳۰۰KB خواهد بود زیرا : (((۳۲۰*۲۴۰)*۳۲bit/۸bit)byte/۱۰۲۴byte)=۳۲۰KBتصور کنید که اگر ویدیوی دیجیتال دارید که با نرخ ۲۴ فریم بر هر واحد ثانیه اجرا می شود و ۵ ثانیه از آن شامل ۱۲۰=۲۴*۵ تصویر می شود . لذا اندازه آن KB ۳۶۰۰۰=۱۲۰*۳۰۰ یا تقریبا ۳۵MB می شود . همه این حجم مربوط به پنج ثانیه از ویدیویی ربع صفحه ای می باشد ! .رمز کار ویدیوی دیجیتال این است که هر تصویر را فشرده می سازد تا این اندازه فایل را پایین بیاورد . همچنین تصاویر متوالی را فشرده می سازد تا معین کند آیا نیاز به ذخیره همه داده ها برای تصویر می باشد یا خیر . اگر یک تصویر ۹۰% با تصویر قبلی یکسان باشد ، تنها ۱۰% که در آن اختلاف وجود دارد مورد نیاز می باشد .
این نوع از فشرده سازی را فشرده سازی وابسته به زمان (Temporal) یا فشرده سازی تغییر اختلاف نامیده می شود . این تکنیک به جای خود تصاویر ، تغییرات میان تصاویر را ضبط می کند . این شیوه برای بعضی موارد خوب عمل می کندهمانند زمانی که تصویر سر یک انسان در حال صحبت با پس زمینه ایستا دارد . اما این شیوه در حالتی که یک تصویر مدام در حال جابه جایی و تغییر می باشد ، مناسب نیست .فشرده سازی به مکان تکنیکی وابسته است که به خود تصاویر نگاه می کند . این روش سعی در تشخیص جریان رنگ ها دارد . به عنوان نمونه ، این تکنیک یک تصویر را از چپ به راست اسکن می کند و سطر هایی از پیکسل هایی را که رنگ یکسانی دارند به عنوان یک قطعه منفرد از داده تشخیص می دهد .
بنابراین ، تصویری که یک رنگ پس زمینه سفید یکدست دارد ، با به کار گیری این الگوریتم به خوبی فشرده می شود .
این تکنیکی است که فشرده سازی JPEG بدان عمل می کند .برای اینکه واقعا اندازه ویدیوی دیجیتال را به قدری پایین بیاورید که محسوس باشد باید از فشرده سازی اتلافی (LOSSY) استفاده شود . فشرده سازی اتلافی شامل الگوریتمی می باشد که به جای این که دقیقا تصویر را همان گونه که هست ارائه دهد ، سعی می کند تا تصاویر را خلاصه کند . استفاده از معدل پیکسل های رنگی همجوار ، استفاده از محاسبات فرمال ریاضی برای تخمین نمای تصویر و الگوریتم های دیگری وجود دارد. این گونه فشرده سازی غیر قابل بازگشت بوده و دیگر نخواهید توانست به کیفیت اولیه دست یابید . در فشرده سازی اتلافی می توانید سطح فشرده سازی را تعیین نمایید .در هر حال فشرده سازی اتلافی بیشترین میزان فشرده گی و در عین حال بیشترین میزان اتلاف کیفیت را در بر خواهد داشت و لذا باید این بار نیاز میان فضا و کیفیت مبادله کنیم و الگوریتم فشرده سازی مناسب را برگزینیم .
● Codec چیست ؟
یک مثال برای شروع ...شما اگر با تصاویر کامپیوتری برخورد داشته باشید ، متوجه شده اید که تعداد زیادی پسوند با مشخصات مختلف برای ذخیره یک فایل قابل انتخاب است . اما برای هر منظوری و هر عملکردی یکی از آنها استفاده می شود . برای اینترنت و ایمیل معمولا از فایلهای JPG و GIF و PNG استفاده میشود . اما برای چاپ پسوند های دیگری مانند PSD ، TIFF ، TGA و غیره استفاده بیشتری دارند . علت عمده این تنوع را می توان به ۲ عامل کیفیت و حجم فایل تصویر ذخیره شده مربوط دانست . ناگفته نماند که امکاناتی مانند ذخیره لایه ها ، Alpha ،Transparency و سیستم رنگی تصاویر از تفاوتهای دیگر پسوندها است . برای یک بررسی ساده می توانید از یک فایل نمونه استفاده کنید . اگر فایلی با ابعاد ۸۰۰ در ۶۰۰ پیکسل داشته باشیم که با فرمت رنگی RGB تهیه شده باشد ، ۴۸۰۰۰۰ تعداد پیکسل های آن است و بازاء هر ۳ بایت حجم داده هر پیکسل (هر رنگ از ۳ کانال قرمز ، سبز و آبی تشکیل شده است که هر کانال ۲۵۶ یا ۲ به توان ۸ درجه رنگی دارد پس ما ۲ به توان ۲۴ یا ۱۶۷۷۷۲۱۶ رنگ خواهیم داشت ) و تعداد پیکسل ها ، حجم فایل باید چیزی بیش از ۳*۴۸۰۰۰۰ یا ۱.۴۴ مگابایت باشد .اما تصاویری که ما با حدود این رزولیشن از اینترنت دریافت میکنیم حجمی حدود ۵۰ تا ۱۰۰ کیلوبایت دارند . یعنی چیزی حدود یک بیستم حجم اولیه . این یعنی فشرده سازی یا Codec . اما این عمل فشرده سازی معمولا با کاهش کیفیت تصویر ذخیره شده همراه است . برای درک این مطلب کافیست تصویری را Scan کنید و با استفاده از فتوشاپ آنرا به چند فرمت با تغییر مشخصات آنها ذخیره کنید . مثال ساده این تفاوت Range تنظیمات فایل JPG است که از ۱ تا ۱۲ متغییر است ....
● در عمل و برای ویدئو
با توجه به سیستم تصاویر تلویزیونی در ایران و مشخصات سیستم PAL ، ما برای ذخیره هر ثانیه ویدئو مجبور به ذخیره ۲۵ فریم هستیم . اگر با نرم افزار های ویدئوی کار کرده باشید ، متوجه شده اید که استاندارد ذخیره PAL معمولی با ضریب تناسبات مربع پیکسل ها برای هر فریم اندازه ۷۶۸ * ۵۷۶ پیکسل است . ( در سیستم های DV و کارتهای آنها این اندازه به ۷۲۰*۵۷۶ با نسبت ۱.۰۶۶۶۶۷ برای طول به عرض هر پیکسل تبدیل شده است ...۱.۰۰۶۷ = ۷۲۰ / ۷۶۸ ) این اندازه بازاء ۳ بایت برای هر پیکسل حجم فایلی حدود ۱.۳۲ مگابایت برای هر فریم را نتیجه می دهد . که با در نظر گرفتن ۲۵ فریم برای هر ثانیه ما به فضائی حدود ۳۳.۱۷ مگابایت برای ذخیره هر ثانیه از ویدئو خود نیاز خواهیم داشت . در سیستم های DV با در نظر گرفتن سیستم PAL DV/D۱ این عدد چیزی حدود ۱.۲۴ مگابایت برای فریم و ۳۱.۱ مگابایت برای یک ثانیه خواهد بود . در نگاه اول ساده است اما یک فیلم ساده با این سیستم ذخیره ، برای هر ساعت حدود ۱۱۲ گیگابایت فضا احتیاج خواهیم داشت ! درحالیکه یک ساعت فیلم با کیفیت VCD حدودا ۰.۷ گیگابایت فضا می خواهد ... مشکل دوم Play کردن تصاویر بر روی هارددرایوها است ... هارد درایوی که بتواند بدون در نظر گرفتن مکان فایل بر روی آن بیش از ۳۳ مگابایت در ثانیه ترانسفر دیتا داشته باشد هارد گران قیمتی محسوب میشود و انواع سیستم های IDE موجود در بازار توان انجام این عمل را ندارند ، نتیجه پرش و Drop در play و Capture است .اگر با معروف ترین فایل ویدئو در Windows که همان فایل با پسوند Avi است برخورد داشته اید ، متوجه شده اید که برای ذخیره ویدئو به این فرمت مجبور به انتخاب یک Compressor هستید . بعضی از این Compressor که بطور معمول در Windows تعریف شده اند عبارتند از : Cinepak Codec ، Intel Indeo ، Intel IYUV، Microsoft Video ۱ ، Microsoft RLE . که هر کدام بسته به توان الگوریتم خود مورد استفاده دارند .
اما اصولا این Compressor ها برای Broadcast کیفیت مناسبی ندارند .برای حل این مشکل اصولا هر شرکتی که سیستمهای Capture تولید میکند ، یک Codec یا حتی فایل مخصوص خود را معرفی کرده است . مانند سیستمهای DPS ، FAST و غیره . این سیستمها بسته به توان Compressor خود به User اجازه میدهند که با توجه به نیاز خود میزان فشرده سازی و در نتیجه حجم و کیفیت فایل را مشخص سازند .برای مثال سیستم DPS Velocity اجازه انتخاب عددی بین ۰.۷ تا ۱۵ مگابایت را میدهد . درضمن این سیستم اجازه Capture با فرمت Uncompressed را که همان ۳۰ مگابایت بر ثانیه است به User داده است . قیمت و تنوع این نوع کارتها در کنار گسترش سیستم ویدئوی DV و miniDV و استفاده عمومی تر از کارتهای Ilink بر روی سیستمها که ارتباط آسانتری برای انتقال داده های ویدئوی را فراهم ساخت ، موجب شد که استاندارد مشخصی برای این نوع ویدئو تعریف شود : Microsoft DV Avi که بطور پیش فرض در سیستمهای XPنصب شده است . این Codec با نسبت تقریبی ۱/۹ نسبت به فایلهای Uncompressed عمل میکند ، یعنی فایلی با این Compressor بازاء هر ثانیه فضائی حدود ۳.۳ مگابایت را اشغال میکند . شرکتهای دیگر نیز از این الگوریتم تبعیت کرده و با تغییرات جزئی در سیستم فشرده سازی و نه ذخیره ، نمونه های خاص خود را ارائه نمودند .
بطور مثال کمپرسورهای DV شرکتهای SoftDV یا MainConcept که در نقاط درجه بندی سفیدی فایل متفاوت ترند . استفاده از این Compressor با توجه به کیفیت و حجم مناسب آن بهترین و ارزانترین انتخاب خواهد بود .در کنار سیستم فایل AVI ، پسوندهای MOV مربوط به شرکت Apple و نرم افزار QuickTime از دیگر فایلهای مورد استفاده هستند .اما در کنار این دو سیستم در حال حاضر فایلهای mpeg-۱ و mpeg-۲ یا همان DVD از محبوب ترین فایلها برای ارائه یک محصول نهائی هستند . vcd در واقع همان فایل mpeg-۱ است . فرمت آخری که اخیرا و مخصوصا برای دارندگان کامپیوترها استفاده بیشتری پیدا کرده است همان mpeg-۴ یا Divx است . کسانی که با این فایلها برخورد کرده ان متوجه توان بالای این کمپرسور شده اند . ۱ فیلم با کیفیت نسبتا بالا و حجم یک CD !
توسط محمد کریم رضایی
http://honar-computer.blogfa.com
www.pcdoc.blogsky.com (http://www.pcdoc.blogsky.com/)
این نوع از فشرده سازی را فشرده سازی وابسته به زمان (Temporal) یا فشرده سازی تغییر اختلاف نامیده می شود . این تکنیک به جای خود تصاویر ، تغییرات میان تصاویر را ضبط می کند . این شیوه برای بعضی موارد خوب عمل می کندهمانند زمانی که تصویر سر یک انسان در حال صحبت با پس زمینه ایستا دارد . اما این شیوه در حالتی که یک تصویر مدام در حال جابه جایی و تغییر می باشد ، مناسب نیست .فشرده سازی به مکان تکنیکی وابسته است که به خود تصاویر نگاه می کند . این روش سعی در تشخیص جریان رنگ ها دارد . به عنوان نمونه ، این تکنیک یک تصویر را از چپ به راست اسکن می کند و سطر هایی از پیکسل هایی را که رنگ یکسانی دارند به عنوان یک قطعه منفرد از داده تشخیص می دهد .
بنابراین ، تصویری که یک رنگ پس زمینه سفید یکدست دارد ، با به کار گیری این الگوریتم به خوبی فشرده می شود .
این تکنیکی است که فشرده سازی JPEG بدان عمل می کند .برای اینکه واقعا اندازه ویدیوی دیجیتال را به قدری پایین بیاورید که محسوس باشد باید از فشرده سازی اتلافی (LOSSY) استفاده شود . فشرده سازی اتلافی شامل الگوریتمی می باشد که به جای این که دقیقا تصویر را همان گونه که هست ارائه دهد ، سعی می کند تا تصاویر را خلاصه کند . استفاده از معدل پیکسل های رنگی همجوار ، استفاده از محاسبات فرمال ریاضی برای تخمین نمای تصویر و الگوریتم های دیگری وجود دارد. این گونه فشرده سازی غیر قابل بازگشت بوده و دیگر نخواهید توانست به کیفیت اولیه دست یابید . در فشرده سازی اتلافی می توانید سطح فشرده سازی را تعیین نمایید .در هر حال فشرده سازی اتلافی بیشترین میزان فشرده گی و در عین حال بیشترین میزان اتلاف کیفیت را در بر خواهد داشت و لذا باید این بار نیاز میان فضا و کیفیت مبادله کنیم و الگوریتم فشرده سازی مناسب را برگزینیم .
● Codec چیست ؟
یک مثال برای شروع ...شما اگر با تصاویر کامپیوتری برخورد داشته باشید ، متوجه شده اید که تعداد زیادی پسوند با مشخصات مختلف برای ذخیره یک فایل قابل انتخاب است . اما برای هر منظوری و هر عملکردی یکی از آنها استفاده می شود . برای اینترنت و ایمیل معمولا از فایلهای JPG و GIF و PNG استفاده میشود . اما برای چاپ پسوند های دیگری مانند PSD ، TIFF ، TGA و غیره استفاده بیشتری دارند . علت عمده این تنوع را می توان به ۲ عامل کیفیت و حجم فایل تصویر ذخیره شده مربوط دانست . ناگفته نماند که امکاناتی مانند ذخیره لایه ها ، Alpha ،Transparency و سیستم رنگی تصاویر از تفاوتهای دیگر پسوندها است . برای یک بررسی ساده می توانید از یک فایل نمونه استفاده کنید . اگر فایلی با ابعاد ۸۰۰ در ۶۰۰ پیکسل داشته باشیم که با فرمت رنگی RGB تهیه شده باشد ، ۴۸۰۰۰۰ تعداد پیکسل های آن است و بازاء هر ۳ بایت حجم داده هر پیکسل (هر رنگ از ۳ کانال قرمز ، سبز و آبی تشکیل شده است که هر کانال ۲۵۶ یا ۲ به توان ۸ درجه رنگی دارد پس ما ۲ به توان ۲۴ یا ۱۶۷۷۷۲۱۶ رنگ خواهیم داشت ) و تعداد پیکسل ها ، حجم فایل باید چیزی بیش از ۳*۴۸۰۰۰۰ یا ۱.۴۴ مگابایت باشد .اما تصاویری که ما با حدود این رزولیشن از اینترنت دریافت میکنیم حجمی حدود ۵۰ تا ۱۰۰ کیلوبایت دارند . یعنی چیزی حدود یک بیستم حجم اولیه . این یعنی فشرده سازی یا Codec . اما این عمل فشرده سازی معمولا با کاهش کیفیت تصویر ذخیره شده همراه است . برای درک این مطلب کافیست تصویری را Scan کنید و با استفاده از فتوشاپ آنرا به چند فرمت با تغییر مشخصات آنها ذخیره کنید . مثال ساده این تفاوت Range تنظیمات فایل JPG است که از ۱ تا ۱۲ متغییر است ....
● در عمل و برای ویدئو
با توجه به سیستم تصاویر تلویزیونی در ایران و مشخصات سیستم PAL ، ما برای ذخیره هر ثانیه ویدئو مجبور به ذخیره ۲۵ فریم هستیم . اگر با نرم افزار های ویدئوی کار کرده باشید ، متوجه شده اید که استاندارد ذخیره PAL معمولی با ضریب تناسبات مربع پیکسل ها برای هر فریم اندازه ۷۶۸ * ۵۷۶ پیکسل است . ( در سیستم های DV و کارتهای آنها این اندازه به ۷۲۰*۵۷۶ با نسبت ۱.۰۶۶۶۶۷ برای طول به عرض هر پیکسل تبدیل شده است ...۱.۰۰۶۷ = ۷۲۰ / ۷۶۸ ) این اندازه بازاء ۳ بایت برای هر پیکسل حجم فایلی حدود ۱.۳۲ مگابایت برای هر فریم را نتیجه می دهد . که با در نظر گرفتن ۲۵ فریم برای هر ثانیه ما به فضائی حدود ۳۳.۱۷ مگابایت برای ذخیره هر ثانیه از ویدئو خود نیاز خواهیم داشت . در سیستم های DV با در نظر گرفتن سیستم PAL DV/D۱ این عدد چیزی حدود ۱.۲۴ مگابایت برای فریم و ۳۱.۱ مگابایت برای یک ثانیه خواهد بود . در نگاه اول ساده است اما یک فیلم ساده با این سیستم ذخیره ، برای هر ساعت حدود ۱۱۲ گیگابایت فضا احتیاج خواهیم داشت ! درحالیکه یک ساعت فیلم با کیفیت VCD حدودا ۰.۷ گیگابایت فضا می خواهد ... مشکل دوم Play کردن تصاویر بر روی هارددرایوها است ... هارد درایوی که بتواند بدون در نظر گرفتن مکان فایل بر روی آن بیش از ۳۳ مگابایت در ثانیه ترانسفر دیتا داشته باشد هارد گران قیمتی محسوب میشود و انواع سیستم های IDE موجود در بازار توان انجام این عمل را ندارند ، نتیجه پرش و Drop در play و Capture است .اگر با معروف ترین فایل ویدئو در Windows که همان فایل با پسوند Avi است برخورد داشته اید ، متوجه شده اید که برای ذخیره ویدئو به این فرمت مجبور به انتخاب یک Compressor هستید . بعضی از این Compressor که بطور معمول در Windows تعریف شده اند عبارتند از : Cinepak Codec ، Intel Indeo ، Intel IYUV، Microsoft Video ۱ ، Microsoft RLE . که هر کدام بسته به توان الگوریتم خود مورد استفاده دارند .
اما اصولا این Compressor ها برای Broadcast کیفیت مناسبی ندارند .برای حل این مشکل اصولا هر شرکتی که سیستمهای Capture تولید میکند ، یک Codec یا حتی فایل مخصوص خود را معرفی کرده است . مانند سیستمهای DPS ، FAST و غیره . این سیستمها بسته به توان Compressor خود به User اجازه میدهند که با توجه به نیاز خود میزان فشرده سازی و در نتیجه حجم و کیفیت فایل را مشخص سازند .برای مثال سیستم DPS Velocity اجازه انتخاب عددی بین ۰.۷ تا ۱۵ مگابایت را میدهد . درضمن این سیستم اجازه Capture با فرمت Uncompressed را که همان ۳۰ مگابایت بر ثانیه است به User داده است . قیمت و تنوع این نوع کارتها در کنار گسترش سیستم ویدئوی DV و miniDV و استفاده عمومی تر از کارتهای Ilink بر روی سیستمها که ارتباط آسانتری برای انتقال داده های ویدئوی را فراهم ساخت ، موجب شد که استاندارد مشخصی برای این نوع ویدئو تعریف شود : Microsoft DV Avi که بطور پیش فرض در سیستمهای XPنصب شده است . این Codec با نسبت تقریبی ۱/۹ نسبت به فایلهای Uncompressed عمل میکند ، یعنی فایلی با این Compressor بازاء هر ثانیه فضائی حدود ۳.۳ مگابایت را اشغال میکند . شرکتهای دیگر نیز از این الگوریتم تبعیت کرده و با تغییرات جزئی در سیستم فشرده سازی و نه ذخیره ، نمونه های خاص خود را ارائه نمودند .
بطور مثال کمپرسورهای DV شرکتهای SoftDV یا MainConcept که در نقاط درجه بندی سفیدی فایل متفاوت ترند . استفاده از این Compressor با توجه به کیفیت و حجم مناسب آن بهترین و ارزانترین انتخاب خواهد بود .در کنار سیستم فایل AVI ، پسوندهای MOV مربوط به شرکت Apple و نرم افزار QuickTime از دیگر فایلهای مورد استفاده هستند .اما در کنار این دو سیستم در حال حاضر فایلهای mpeg-۱ و mpeg-۲ یا همان DVD از محبوب ترین فایلها برای ارائه یک محصول نهائی هستند . vcd در واقع همان فایل mpeg-۱ است . فرمت آخری که اخیرا و مخصوصا برای دارندگان کامپیوترها استفاده بیشتری پیدا کرده است همان mpeg-۴ یا Divx است . کسانی که با این فایلها برخورد کرده ان متوجه توان بالای این کمپرسور شده اند . ۱ فیلم با کیفیت نسبتا بالا و حجم یک CD !
توسط محمد کریم رضایی
http://honar-computer.blogfa.com
www.pcdoc.blogsky.com (http://www.pcdoc.blogsky.com/)