+ All Categories
Home > Documents > Digital Video Systems

Digital Video Systems

Date post: 02-Feb-2017
Category:
Upload: phamque
View: 226 times
Download: 5 times
Share this document with a friend
15
CE 342 – Multimedia HW# 6 1 H. Rabiee, Fall 2008 ﺑﺎﺳﻤﻪ ﺗﻌﺎﻟﻲ ﺳﻴﺴﺘﻢ ﭼﻨﺪﺭﺳﺎﻧﻪƽ ﻫﺎƽ) ۳۴۲ - ۴۰ ( ﺩﺍﻧﺸﻜﺪﻩ ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺗﺮﻡ ﭘﺎﻳﻴﺰ۱۳۸۷ ﺩﻛﺘﺮ ﺣﻤﻴﺪﺭﺿﺎ ﺭﺑﻴﻌﻲ ﺗﻜﻠﻴﻒ ﺷﻤﺎﺭﻩ۶ : ﻭﻳﺪﺋﻮƽ ﻓﺸﺮﺩﻩ ﺳﺎﺯ١ - ﻣﻘﺪﻣﻪ در آزﻣﺎﯾﺶ ﻗﺒﻞ، روش ﻫﺎي ﻓﺸﺮده ﺳﺎزي ﺗﺼﻮﯾﺮ ﺛﺎﺑﺖ ﺑﺮرﺳﯽ و آزﻣﺎﯾﺶ ﺷﺪ. در اﯾﻦ آزﻣﺎﯾﺶ، ﻓﺸﺮده ﺳﺎزي ﺗﺼـﻮﯾﺮ ﻣﺘﺤـﺮك ﯾـﺎ وﯾـﺪﺋﻮ، ﭘﯿﮕﯿﺮي ﻣﯽ ﺷﻮد. ﺟﺪول ﯾﮏ، ﻧﺮخ دادة ﻣﻮرد ﻧﯿﺎز ﺑﺮاي وﯾﺪﺋﻮ دﯾﺠﯿﺘﺎل در ﺳﺎﺧﺘﺎرﻫﺎي ﻣﺨﺘﻠﻒ را ﻧﺸﺎن ﻣﯽ دﻫﺪ. ﻣﺸﺨﺺ اﺳﺖ ﮐـﻪ ﯾـﮏ وﯾﺪﺋﻮ ﺑﻪ ﺣﺎﻓﻈﻪ و ﯾﺎ ﭘﻬﻨﺎي ﺑﺎﻧﺪ ﺑﯿﺸﺘﺮي ﻧﺴﺒﺖ ﺑﻪ ﺗﺼﻮﯾﺮ، ﻧﯿﺎز دارد. ﺑﺮاي ﻣﺜﺎل ﯾﮏ وﯾﺪﺋﻮ ﺑﺎ دﻗﺖCCIR 601 ) ﻣﻌﺎدل ﺑﺎ دﻗﺖ ﺗﻠﻮﯾﺰﯾﻮن آﻧﺎﻟﻮگ( ﺑﺎ ﻧﺮخ ﻧﻤﻮﻧﻪ ﺑ ﺮداري رﻧﮓ4:2:0 ، ﻧﺮﺧﯽ ﺑﺮاﺑﺮMbit/s 128 ﯾﺎMbyte/s 16 دارد. ﺑﻌﺒﺎرت دﯾﮕﺮ، ﯾﮏ ﻓـﯿﻠﻢ2 ﺳـﺎﻋﺘﻪ،Gbyte 112 ﺣﺎﻓﻈﻪ اﺷﻐﺎل ﻣﯽ ﮐﻨﺪ. ﯾﮏ ﻓﯿﻠﻢCIF ﺑﺎ ﮐﯿﻔﯿﺖ ﮐﻤﺘﺮ) ﻣﻌﺎدل ﺑﺎ دﻗﺖVHS ﯾـﺎ ﻓـﯿﻠﻢ ﻫـﺎيVCD ( ﯾـﮏ ﭼﻬـﺎرم اﯾـﻦ ﻣﻘـﺪار را اﺷﻐﺎل ﻣﯽ ﮐﻨﺪ. واﺿﺢ اﺳﺖ ﮐﻪ در ﻣﻘﺎﯾﺴﻪ ﺑﺎ ﺗﺼﻮﯾﺮ، روش ﻫﺎي ﻣ ﺆﺛﺮﺗﺮي ﺑﺮاي ﻓﺸﺮده ﺳﺎزي داده ﻫﺎ، ﺑﺮاي ذﺧﯿﺮه ﺳﺎزي ﯾﺎ ارﺳـﺎل وﯾـﺪﺋﻮ ﻣﻮرد ﻧﯿﺎز اﺳﺖ. اﺳﺘﺎﻧﺪارد ﮐﺮدن اﻟﮕﻮرﯾﺘﻢ ﻫﺎي ﻓﺸﺮده ﺳﺎزي ﺑﺮاي وﯾﺪﺋﻮ، ﺑﺮاي اوﻟﯿﻦ ﺑﺎر ﺗﻮﺳﻂCCTTT ﺑﺮا ﮐﻨﻔﺮاﻧﺲ ﺗﻠﻔﻨﯽ و ﺗﻠﻔﻦ ﺗﺼﻮﯾﺮي، اﻧﺠﺎم ﺷﺪه اﺳـﺖ. ﯾـﮏ ﮔـﺮوه ﺗﺨﺼﺼـﯽ ازCCTTT ، ) ﮐـﻪ اﮐﻨـﻮن ﺑﻨـﺎمITU-T ، The International Telecommunication Unit- Telecommunication Sector ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد( اﺳﺘﺎﻧﺪاردي ﺑﺮاي ﺗﮑﻨﯿﮏ ﻫﺎي ﻓﺸﺮده ﺳﺎزي وﯾﺪﺋﻮ ﺑـﺮاي وﯾـﺪﺋﻮ ﮐﻨﻔـﺮاﻧﺲ ﻣﻄـﺮح ﮐﺮده اﺳﺖ. اﯾﻦ اﺳﺘﺎﻧﺪارد در ﺳﺎل1990 ﺗﻬﯿﻪ ﺷﺪه اﺳﺖ، ﺑﻌﻨﻮانH.320 ﺷﻨﺎﺧﺘﻪ ﻣﯽ ﺷﻮد ﮐﻪ ﻗﺴﻤﺖ ﻣﺮﺑﻮط ﺑﻪ ﮐـﺪ ﮐـﺮدن وﯾـﺪﺋﻮ آن،H.261 اﺳﺖ. اﯾﻦ اﺳﺘﺎﻧﺪارد ﺑﺮاي وﯾﺪﺋﻮ ﮐﻨﻔﺮاﻧﺲ از ﺧﻄﻮطISDN اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ ﮐـﻪ داراي ﭘﻬﻨـﺎي ﺑﺎﻧـﺪ64 kpbs * p اﺳـﺖ ﮐـﻪp=1,2,…,30 ﻣﯽ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ. ﻣﻨﺒﻊ وﯾﺪﺋﻮ ﯾﺎCIF ) fps 30 و288 * 352 ( ﯾﺎQCIF ) fpc 30 و144 * 176 ( اﺳﺖ و وﯾﺪﺋﻮ ﻫﻤـﺮاه ﺑـﺎ ﺻﺪا ﺑﺎﯾﺪ ﺑﻪ اﻧﺪازة ﻣﻀﺮﺑﯽ ازkbps 64 ﻓﺸﺮ ده ﺷﻮد.
Transcript
Page 1: Digital Video Systems

CE 342 – Multimedia HW# 6 1H. Rabiee, Fall 2008

باسمه تعالي

)۴۰- ۳۴۲(ا ها چندرسانهسيستم

دانشكده مهندسي كامپيوتر

۱۳۸۷پاييزترم

دكتر حميدرضا ربيعي

فشرده ساز ويدئو: ۶شمارهتكليف

مقدمه-١

در این آزمایش، فشرده سازي تصـویر متحـرك یـا ویـدئو، . در آزمایش قبل، روش هاي فشرده سازي تصویر ثابت بررسی و آزمایش شدمشخص است کـه یـک . جدول یک، نرخ دادة مورد نیاز براي ویدئو دیجیتال در ساختارهاي مختلف را نشان می دهد. پیگیري می شود

معادل با دقت تلویزیون (CCIR 601براي مثال یک ویدئو با دقت . ویدئو به حافظه و یا پهناي باند بیشتري نسبت به تصویر، نیاز داردGbyteسـاعته، 2بعبارت دیگر، یک فـیلم . داردMbyte/s16یا Mbit/s128برابر نرخی، 4:2:0رداري رنگ با نرخ نمونه ب) آنالوگ

یـک چهـارم ایـن مقـدار را ) VCDیـا فـیلم هـاي VHSمعادل با دقت (با کیفیت کمتر CIFیک فیلم .حافظه اشغال می کند112ؤثرتري براي فشرده سازي داده ها، براي ذخیره سازي یا ارسـال ویـدئو واضح است که در مقایسه با تصویر، روش هاي م.اشغال می کند. مورد نیاز است

برا کنفرانس تلفنی و تلفن تصویري، انجام شده CCTTTهاي فشرده سازي براي ویدئو، براي اولین بار توسط استاندارد کردن الگوریتم-ITU-T ،The International Telecommunication Unitکــه اکنــون بنــام (، CCTTTیــک گــروه تخصصــی از . اســت

Telecommunication Sectorاستانداردي براي تکنیک هاي فشرده سازي ویدئو بـراي ویـدئو کنفـرانس مطـرح ) نامیده می شودشناخته می شود که قسمت مربوط به کـد کـردن ویـدئو آن، H.320تهیه شده است، بعنوان 1990این استاندارد در سال . کرده است

H.261این استاندارد براي ویدئو کنفرانس از خطوط . استISDN 64استفاده می کند کـه داراي پهنـاي بانـد kpbs*p اسـت کـهp=1,2,…,30منبع ویدئو یا . می تواند باشدCIF)fps30 352*288و ( یاQCIF)fpc30 است و ویدئو همـراه بـا ) 176*144و

. ده شودفشرkbps64صدا باید به اندازة مضربی از

Page 2: Digital Video Systems

CE 342 – Multimedia HW# 6 2H. Rabiee, Fall 2008

فرصت هاي ویدئو دیجیتال براي کاربردهاي مختلف: 1جدول . یـا بیشـتر نیـاز دارد kbps64به QCIFیا بیشتر و یک ویدئو kbps384، به CIFعموماً براي داشتن کیفیت قابل قبول، یک ویدئو

H.323از مهمتـرین آنهـا، اسـتاندارد . ادامـه داد ، توسعۀ کار را براي سایر رسانه هاي انتقالی H.320 ،ITU-Tبدنبال ایجاد استاندارد کـه بـراي H.324است که براي شبکه هایی که کیفیت سرویس را تضمین نمی کنند، مانند اینترنت، تهیه شده است و نیز اسـتاندارد

اندارد کـد کـردن اسـت . یا کانال بی سیم، مطرح شده استkbps2808ق مودم یخطوط با پهناي باند بسیار کم مثل خطوط تلفن از طربخصـوص بـراي نـرخ H.261است که پیشرفت محسوسی نسبت به H.324 ،H.263و H.323ویدئو در هر دوي این استانداردهاي

فشـرده kbps24، تـا حـدود kbps64با نرخ H.261، با کیفیت معادل یا بهتر از QCIF، یک ویدئو H.263با . بیت هاي پایین دارد. می شود

نیـز اسـتانداردهاي ISO، از MPEG ،Motion Picture Expert Groupیک گروه تخصصـی بـه نـام ITU-Tهمزمان با تالش است که قابلیت فشـرده MPEG-1اولین استاندارد این گروه . مختلفی را براي ذخیره سازي، توزیع ارسال و انتشار ویدئو، توسعه دادند

ایـن اسـتاندارد امکـان . بـا کیفیـت خـوب، دارد Mbps5/1را تـا ) SIF ،)fps30pels/sec240*352سازي ویدئو و صوت با دقـت .محدود می شدMbps5/1را می داد که در آن زمان نرخ آنها به CD-ROMسازي و پخش فیلم ها روي ذخیره

د وقتـی اسـتاندار . عاملی براي توسعۀ ویـدئوهاي دیجیتـال شـد ) Video CDیا CD)VCDروي MPEG-1هاي استقبال از فیلمMPEG-1 عرضـه شـدن . براي اولین بار مطرح شد، سـخت افـزار پیچیـده بـراي کـد و واکـد کـردن بـی درنـگ آن مـورد نیـاز بـود

را WEBاز طریـق MPEG-1بطور بی درنگ و گرفتن فیلم MPEG-1، واکد کردن فیلم هاي Intel Pentium Iمیکروپروسسور . میسر کرد

اندارد کردن شیوة فشرده سازي ویـدئو و صـدا، بـراي کاربردهـاي انتشـار ویـدئو بـا روي استMPEG-1 ،MPEGبعد از کامل شدن ایـن تـالش . فشـرده شـود Mbp10تـا 3بین ) کیفیت تلویزیون(CCIR601کیفیت باال، متمرکز شد، با این هدف که ویدئو با دقت

امکان انتشـار ویـدئو از طریـق مـاهواره :وقایع مهمی بدنبال داشتMPEG-2ایجاد استاندارد . شدMPEG–2منجر به مطرح شدن همچنین داراي امکاناتی براي فشرده سازي ویدئو MPEG-2استاندارد . و تلویزیون دیجیتالDVDهاي ، فیلم)Direct-TVمانند (

. سازگار استMPEG-1نیز کار کند و با MPEG-1(SIF)همچنین می تواند با دقت . استHDTVبا دقت . هاي فوق براي فشرده سازي سیگنال هاي چند رسانه اي را جمع بندي کرده است، استاندارد2جدول

Page 3: Digital Video Systems

CE 342 – Multimedia HW# 6 3H. Rabiee, Fall 2008

استانداردهاي کد کردن ویدئو براي کاربردهاي مختلف: 2جدول طراحی شد که هدف آن ایجاد قابلیتی براي دسترسی به اشیاء مختلف و مجزا MPEG-4، استاندارد دیگري به نام MPEG-2بدنبال

در ادامـه MPEGتالش گروه . مثًال هر شیء بطور جداگانه کد می شود. شودویدئو با روش مبتنی بر شیء کد می. بوددر تصویر ویدئو اي که امکـان توصـیف که هدف آن ایجاد استانداردي براي توصیف و قابلیت مرتب سازي است، بگونه. استMPEG-7براي استاندارد

.شد تا دستیابی به ویدئو دیجیتال را میسر کندمحتواي اطالعات تصویري و صوتی را داشته با، H.261در این آزمایش، تکنیک هاي ابتدایی براي فشـرده سـازي ویـدئو، بخصـوص تخمـین جبـران حرکـت و مـرور اسـتانداردهاي

MPEG-1 وMPEG-2مراجعه نمایید[1]براي جزئیات بیشتر در این زمینه به . ، دنبال می شود .

هاي فشرده سازي ویدئوتئوري ها و الگو-2تخمین حرکت و جبران حرکت-2-1

براي جبران حرکت، فرض مـی کننـد کـه تصـویر . تخمین و جبران حرکت، پایه و اساس اکثر الگوریتم هاي فشرده سازي ویدئو هستندهنگـامی . ی را ایجاد می کنداین فرض، امکان استفاده از تخمین و درونیاب. جاري، تصویري با تغییرات جزیی نسبت به تصویر قبلی است

هاي جزیی با یکدیگر دارند که نتیجۀ حرکت اشـیاء که یک فریم بعنوان مرجع استفاده می شود، مجموعه فریم هاي دنبالۀ آن، اختالفد نمـی یک فریم بطور کامل ک. براي اینکه مقایسۀ فریم ها، ساده تر شود. نشان داده شده است1و یا حرکت دوربین است، که در شکل

، )فـریم جـاري (براي هر بلوك در فریمی که کد مـی شـود . شود، بلکه به بلوکهایی تقسیم می شود و بلوکها بطور مستقل کد می شوندبراي هـر بلـوك، یـک بـردار حرکـت . بهترین بلوك منطبق، در فریم مرجع در میان تعدادي از بلوکهاي انتخاب شده، جستجو می شود

این انتخاب مـی توانـد بـا . بین مکان آن بلوك و بهترین بلوك مطابق با آن، در فریم مرجع را نشان می دهدتولید می شود که اختالف .یک جستجوي کامل و جامع انجام شود، روشی که بطور مختصر شرح داده خواهد شد

Page 4: Digital Video Systems

CE 342 – Multimedia HW# 6 4H. Rabiee, Fall 2008

میزان حرکت مبتنی بر بلوك: 1شکل

جع تولید می شوند، یکی از فـریم مرجـع قبلـی و دیگـري از فـریم مرجـع در روش درونیابی، بردارهاي حرکت، در ارتباط با دو فریم مر.بعدي، بهترین بلوکهاي تطبیق داده شده در هر دو فریم جستجو می شوند و دو بلوك بدست آمده میانگین گرفته می شوند

(BMA)الگوریتم تطابق بلوکها براي تخمین حرکت -2-1-1.باشدnDبا موقعیت fk-1ناظر با یک بلوك در فریم ، متfkدر فریم Bnفرض کنید که هر بلوك

می تواند از طریق حداقل کردن خطاي تخمین، مانند جمع مجذور خطاها nDتخمین .نامیده می شودBnبنام بردار حرکت nDکه .باشدهاو یا قدر مطلق خطا

BMAبعبارت دقیـق تـر، ایـن روش . وش جستجوي کامل را براي پیدا کردن بلوکی که داراي حداقل خطاست، استفاده می کندیک رهاي ممکن در یک محدودة از قبل تعریف شده در اطراف مکان فعلی، مقایسه مـی کنـد، بـراي هـر بلـوك بلوك جاري را با کلیۀ بلوك

از بررسی تمام بلوکهاي ممکن، بلوکی که حـداقل خطـا را داشـت بعنـوان بهتـرین تعیین شده، خطاي تخمین را محاسبه می کند بعد.بلوك مطابق، انتخاب می شود

بنابراین اسـتفاده از الگـوریتم تطـابق بلوکهـا بـراي . حرکت واقعی بین دو فریم ویدئو، عموماً بر اساس بلوکهاي ثابت قابل تعیین نیستهنگامی که حرکت حقیقـی یـک بلـوك، یـک انتقـال سـاده . ین هاي دقیقی ایجاد کندتخمین حرکت و جبران حرکت نمی تواند تخم

مثـالی را از جبـران حرکـت بـا اسـتفاده از روش تطـابق 2شکل. نباشد، الگوریتم براي پیدا کردن بلوکی با حداقل خطا، تالش می کند. بلوك ها، نشان می دهد

Page 5: Digital Video Systems

CE 342 – Multimedia HW# 6 5H. Rabiee, Fall 2008

از روش تطابق بلوك هامثالی از جبران حرکت با استفاده: 2شکلتصویر باال سمت چپ، تصویر فریم قبلی است، تصویر باال سمت راست، فریم جاري است، تصویر پایین سمت راسـت، میـدان حرکتهـاي

و تصویر پایین سمت چپ، تصـویر تخمـین .) بردارهاي حرکت تعیین شده از محل مرکز هر بلوك رسم شده اند(تخمین زده شده است .استفاده از میدان حرکت را نشان می دهدزده شده با

مالحظه می شود که الگوریتم بطور دقیقی عدم حرکت در پس زمینه را تعیین کرده است در حالیکه بسـته بـودن چشـم بـا ایـن روش .ساده، در شکل تخمین زده شده دیده نمی شود

Page 6: Digital Video Systems

CE 342 – Multimedia HW# 6 6H. Rabiee, Fall 2008

ئو معمولیمراحل کد و واکد کردن براي یک ماکروبالك در یک کد کنندة وید: 3شکل

کد کردن ویدئو با استفاده از جبران حرکت و کد تبدیل-2-1-2در این روش هر فریم به ماکرو بلوك هـا . شناخته می شودblock-based hybridمتداولترین روش کد کردن ویدئو به نام کد کردن

(MBs)فاده از ترکیبـی از جبـران حرکـت و تبـدیل هر ماکرو بلوك با اسـت . است8*8هر کدام داراي چندین بلوك . تقسیم می شودDCT در مـود . هر ماکرو بلوك مـی توانـد در یکـی از دو مـود، کـد شـود . نشان داده شده است، کد می شود3، همانطور که در شکلIntra یک روش مبتنی بر کد کردنDCT و شبیه بهJPEG ایـن مـود بـراي هـر . شـود بطور مسـتقیم روي هـر بلـوك اعمـال مـی، یـک بـردار Interدر مـود . بالك در اولین فریم بکار می رود و بعد بطور متناوب در فریم هاي زیر دنباله نیز اسـتفاده مـی شـود ماکرو

خصوصـاً، ایـن روش، مـاکروبالك . براي کد کردن خطاي میزان حرکت استفاده می شودDCTحرکت در ابتدا تعیین می شود و روش اگـر خطـاي ) Luminanceفقط مؤلفه هـاي (اکروبالك مطابق با آن در فریم قبلی، تخمین می زند جاري از فریم جاري را با بهترین م

در غیـر اینصـورت خطـاي تخمـین بـا اسـتفاده از . اختالف داده ها تعیین نمی شـود . ین شده از قبل باشدیتخمین زدن کمتر از حد تعDCTاستفاده از روش تبدیل می شود و مؤلفه هاي تبدیل یافته، کوانتیزه شده و باrunlength مشابه باJPEG در . ، کد مـی شـوند

همـانطور کـه در . شـوند ارسـال مـی video multiplexاطالعات بردارهاي حرکت کـد شـده بـه نهایت، رشته بیت کد شده همراه با. رایی کد کردن، تغییر کندکوانتیز کننده، می تواند بر اساس کیفیت تصویر دلخواه و کاstepشرح داده شد، اندازة JPEGتوصیف

H.261الگوریتم کد کردن ویدئو -2-2براي سـرویس H.261مجموعه اي از استانداردهاي بین المللی ویدئو کنفرانس، شامل کد کننده ویدئویی CCTTT، 1990در سال

کاربردهـاي در نظـر . کـرد تصـویب ) نیز شناخته مـی شـوند p*64که با استاندارد (ISDN ،64 kbps*pيهاي صوتی تصویري روبنابراین سیستم هایی که با این استاندارد مرتبط هسـتند . گرفته شده براي این استاندارد، تلفن تصویري و سیستم ویدئو کنفرانس است

نرخ پایـه، با ISDNبراي یک ارتباط . است30تا 1از pمحدودة . باید قابلیت کد و واکد کردن بی درنگ این استاندارد را داشته باشندp است2یک تا .

CCTTT فرمت هاي ،CIF وQCIF ویـدئو بـا فرمـت . را بعنوان فرمت هاي ویدئویی براي تلفن تصویري در نظر گرفـتCIF دارايکلیۀ کـد . فریم در ثانیه باشد30نرخ فریم می تواند بین یک تا . استCr&Cbبراي پیکسل 176*144و Yپیکسل براي 352*288

حـداکثر 97/29(فریم در ثانیه 30با سرعت تقریباً . اختیاري استCIFعمل کنند و عملکرد در سطح QCIFاید در سطح کننده ها ب

Page 7: Digital Video Systems

CE 342 – Multimedia HW# 6 7H. Rabiee, Fall 2008

Mb/sبراي یک کانـال . داردMb/s115/9نرخ QCIFو Mb/s45/36فشرده نشده نرخ CIF.) مقداري است که پشتیبانی می شودبـراي ارسـال CIFعمومـًا، . ، احتیـاج اسـت 24: 1کـاهش ) p=2)kb/s128انال ، کاهش قابل توجهی الزم است ولی براي یک ک5/1

. توصیه می شود) kb/s384)6=pهایی با نرخ بیشتر از نشـان 3با تخمین حرکت، استفاده می کنـد همـانطور کـه در شـکل DPCMو DCTاز یک ترکیبی از الگوهاي H.261کد کنندة

براي هر مـاکروبالك در اولـین Intraمود . کد شودInterیا Intraاند به صورت یکی از دو مود هر ماکرو بالك می تو. داده شده استآینـد، فریم استفاده می شود و بعد متناوباً در زیر دنبالۀ فریم ها استفاده می شود تا از انتشار خطا که در اثر خطاهاي ارسـال پـیش مـی

. جلوگیري کندH.261ایـن سـاختار شـامل تصـویر، گـروه بلوکهـا . له مراتبی براي کد کردن داده ها اسـتفاده مـی کنـد از یک ساختار داده اي سلس

(GOB)از پیکسل هاست که می تواند شامل نمونه هـاي 8*8یک بلوك مجموعۀ . ، ماکروبالك و بلوك می باشدy ،Cb یـاCr باشـد .یـک . تشـکیل مـی شـود ) & Chrominance)CbCrو دو بلـوك (y)8*8بـا ابعـاد Luminanceتا بلوك 4یک ماکرو بالك از

GOBیک تصویر شامل چندین . شامل ماکروبالك ها در چندین سطر متوالی می شودGOBاسـتاندارد . شـود میH.261 ،syntaxبـدنبال EOBاز یک بلوك و یک عالمـت DCT(DCTCOEFF)هاي هر بلوك شامل مؤلفه. رشته بیت کد شده را تعریف می کند

و GOBاز کــی ســرآیند GOBیــک . بلــوك و یــک ســرآیند مــاکروبالك اســت6هــاي هــر مــاکروبالك شــامل داده. باشــدآن مــی GOBدر نهایت، تصویر شامل یک سرآیند تصویر است که آرایـه اي متـوالی از . ، بدنبال آن ساخته می شودGOBهاي آن ماکروبالك

. ها بدنبال آن می آیندMPEG-1استاندارد -2-3pelsو SIF)pels for Cr & Cb at 30 fps120*176به منظور ذخیره کردن یک ویدئو متحرك با دقـت MPEG-1ندارد استا

for y240*352 ( با نرخMbps5/1طراحی شده است ،..، شرح داده می شودMPEG-1در ادامه نحوة انجام این موارد توسط

تهمودهاي کد کردن تصویر و جبران حرکت دو جه-2-3-1این است که عالوه بر استفاده از جبران حرکت از فریم قبلی، از فریم بعدي نیـز H.261و MPEG–1یکی از تفاوت هاي اساسی بین

این عمـل . بطور کلی فریم جاري می تواند از روي هر دو فریم قبلی و بعدي، تخمین زده شود). که قبالً کد شده است(استفاده می کند ، Iکنـد، تصـویر فریم هاي یک ویدئو را در سه مود مختلف کـد مـی MPEG-1. نامیده می شودMPEGته در بعنوان تخمین دو بس

. می باشـد Bو Pو چندین تصویر Iشامل یک تصویر GOPطوریکه هر بها تقسیم می شوند GOPفریم ها به .Bو تصویر pتصویر عملیاتی که براي تصاویر مختلف انجام می شود با جزئیات بیشـتر در ادامـه توضـیح . نشان داده شده است4این تقسیم بندي در شکل

. شوندداده می

Page 8: Digital Video Systems

CE 342 – Multimedia HW# 6 8H. Rabiee, Fall 2008

: (I) Intra picture یک تصویرI با استفاده از یک روش مشابه با (بر اساس خود تصویرJPEG(م همانند الگـوریت . ، فشرده می شودJPEG تحت تبدیل 16*16در یک ماکرو بلوك 8*8، هر بلوك ،DCT قرار می گیرد و مؤلفه هايDCTاین مؤلفه . تولید می شوند

و مقـادیر runlength. از مؤلفه هاي صفر بدست آیـد runlengthمرتب می شوند تا بهترین zig-zagها کوانتیزه شده و به صورت براي ایجاد امکـان دسـتیابی ، GOP، براي اولین فریم در هر Iمود تصویر . ردن همینگ، کد می شوندغیر صفر با استفاده از روش کد ک

. تصادفی، استفاده می شود

MPEG-1در GOPساختار : 4شکل

: (P) Unidirectional Predicted Pictures شبیه به روش اسـتاندارد (این مود از تکنیک جبران حرکتH.261 ( بـراي فشـردهخطاي تخمـین زدن . قبلی براي تخمین زدن یک بردار حرکت استفاده می کندIیا Pهر ماکروبالك از تصویر . ، استفاده می کندسازي

.می شوندrunlength، کوانتیزه و DCT، تبدیل شده و مؤلفه هاي DCTبا استفاده از : (B) Bidirectionally predicted pictureبران حرکت را براي هر ماکرو بالك بکار می بردع روش جونهاین مود یکی از س .

مثـل (قبلی Pو I، جبران حرکت پیش رونده از تصاویر Interpolativeجبران حرکت پیش رونده، جبران حرکت پس رونده و جبران وك جاري بـا بهتـرین جبران حرکت پس رونده از اطالعات تصویر بعدي استفاده می کند که ماکرو بل. استفاده می کند) Pروش تصاویر

، از متوسـط گیـري بـین بهتـرین بلوکهـاي Interpolativeجبـران . بعدي، تخمین زده می شودPیا Iبلوك منطبق شده در تصاویر . نشان داده شده است5روش جبران حرکت دو جهته در شکل . منطبق شده در تصاویر قبلی و بعدي، استفاده می کند

Page 9: Digital Video Systems

CE 342 – Multimedia HW# 6 9H. Rabiee, Fall 2008

جبران حرکت دو جهتهتخمین و : 5شکل

واحـد پایـه اي اسـت بـراي GOPقبلـی، واکـد شـوند، یـک GOPمی توانند بدون اطـالع از GOPاز آنجا که کلیۀ فریم ها در یک نیز مـی fest rewindیک . انجام شودPو Iو یا تصاویر Iمی تواند با واکد کردن تنها تصاویر fast forwardیک . دستیابی تصادفی

. انجام شودIواکد کرد تنها تصاویر تواند با Half-Pelتخمین حرکت با دقت -2-3-2

یعنـی . تخمین زده می شودhalf-pelبا دقت MPEG-1این است که بردارهاي حرکت در H.261و MPEG-1اختالف دیگر بین مین حرکت به این صورت دقیق تـر اسـت تخ. انجام می شود نه با افزایش به اندازة عدد صحیحpelیک جستجوي کامل، با افزایش نیم

احتیاج اسـت کـه half-pelولی باز هم به درونیابی فریم قبلی براي تولید نمونه ها در مکان . و امکان کاهش خطاي تخمین را می دهد.، نیاز داردinteger-pelاین خود به محاسبات بیشتر نسبت به حالت تخمین حرکت با دقت

MPEG-2یدئو استاندارد کد کردن و-2-4روش اولیۀ کد کـردن در . مطرح شده استCCTR601براي کد کردن ویدئو MPEG-2همانطور که در مقدمه اشاره شد، استاندارد

MPEG-2 مشابه روش ،MPEG-1 است، با ساختارGOP مشابه که هر ماکروبالك با استفاده از تبدیل مستقیمDCT) مودI( بـا ،بیشتر، اخـتالف اساسـی بـین ویـدئو spatialگذشته از دقت . کد می شود) Bمود (با تخمین دو طرفه و یا) Pمود (تخمین یک طرفه

CCTR601 وCIF/SIF استفاده از ،interlacing در ویدئوCCTR601شود که پردازش فشرده سازي، بطـور این سبب می. است، مطرح شده اسـت کـه عملکـرد جبـران و interlacedصاویر بنابراین روش هاي خاصی براي کنترل کردن ت. قابل توجهی پیچیده شود

.یافت می شود] 1[جزئیات بیشتر در . را تغییر می دهدDCTتخمین حرکت و MPEG-2این استاندارد داراي .می تواند فرمت هاي ویدئو با سطوح رزولوشن مختلف را هندل کندprofile هاي مختلفی اسـت کـه

یـک سـیگنال . اشـاره دارد (mp@ml)اصلی در سطح اصـلی profileبحث فوق تنها به . ار می گذاردقابلیت هاي بیشتري را در اختیHDTV با استفاده ازprofile یـک توسـعۀ مهـم دیگـر . اصلی در سطح باال کـد مـی شـودMPEG-2 در مقایسـه بـاMPEG-1 ،

scalability profileالیۀ اصلی، کیفیـت . لی و یک الیۀ تکمیلی، کد شوداست که یک ویدئو را قادر می سازد که بصورت یک الیۀ اصیـک ویـدئو کـد شـده بـا . پایه را ایجاد می کند و الیۀ تکمیلی، هنگامیکه به الیۀ اصلی افزوده می شود، می تواند کیفیت را بهبود دهد

MPEG-2 با استفاده از مود ،scalability گیرنده هایی با قابلیـت دریافـت می تواند روي شبکه هایی با پهناي باندهاي مختلف برايپشتیبانی مـی شـوند MPEG2هاي مختلف و سطح مختلفی که توسط profile، 6شکل . مختلف، منتقل شودspatialبا دقت هاي

. را خالصه می کند

Page 10: Digital Video Systems

CE 342 – Multimedia HW# 6 10H. Rabiee, Fall 2008

MPEG-2هاي مورد حمایت profileسطوح و : 6شکل سایر استانداردهاي تجاري فشرده سازي ویدئو-2-5Intel’s Indeoولوژي تکن-2-5-1تولید شده و اندازة فایل هـاي ویـدئو دیجیتـال Intel Architecture Labsیک تکنولوژي نرم افزاري است که توسط Indeoویدئو

و Microsoft’s video for windowsایـن تکنولـوژي در محصـوالتی ماننـد . برابـر کـاهش مـی دهـد 10تا 5فشرده نشده را از Apple’s Quicktimeگنجانده شده است .

، ویـدئو را Indeoتکنولـوژي . کنـد اسـتفاده مـی ”Loos less“و ”Lossy“، از چندین نوع تکنیک فشرده سـازي Indeoتکنولوژي ، فشرده می کند بنابراین دادة فشرده نشده نیازي به ذخیره شـدن روي video capture boardبطور همزمان با دریافت آن از طریق

، از NTSC، با هـر نـوع فرمـت اسـتانداردي ماننـد ي، یا دیک لیزرVCRویدئو آنالوگ دریافتی از یک دوربین ویدئو، . ددیسک را ندار.، به فرمت دیجیتال تبدیل می شودIntel smart video Recorder boardمانند یک video capture boardطریق ):تمامی آنها الزامی نیستند(شامل مراحل زیر است Indeoروش

.، براي کاهش مساحت پیکسل به یک مقدار رنگ متوسطyuvنمونه برداري -1اختالف پیکسل و فشرده سازي زمانی، براي کم کردن داده از طریق ذخیره کردن تنها اطالعاتی که بین پیکسل ها یا فریم ها تغییر -2

.)اري انجام می شوداین با کوانتیزه کردن اختالف فریم از روش کوانتیزاسیون برد. (کرده است.براي فشرده کردن شاخص هاي کلمۀ کدrun-lengthکد کردن -3.، براي کاهش یک مجموعۀ متفاوت از اطالعات به تعداد ثابتی بیتvariable – contentکد کردن -4

ترکیـب QuicktimeApple’sیـا Microsoft’s AVIفایل ویدئو دیجیتال شده با اطالعات صدا، طبق یک فرمت استاندارد، مثل بـراي پخـش . فایل ترکیب شده می تواند براي پخش شدن یا تصحیح شدن، توزیع شود. می شود و روي دیسک سخت ذخیره می شود

، واکـد شـود تـا )سازيعکس عملیات فشرده(هاي ویدئو و صدا تجزیه شود و ویدئو از طریق یک تعداد روش کردن، فایل باید به قسمت. دیجیتال واقعی مربوط به ویدئو دیجیتال فشرده شده، میسر شودنمایش پیکسل هاي

:سه عامل مؤثر در کارایی عبارتند ازنرخ فریم)3بر حسب پیکسل و playbackاندازة پنجرة ) 2سرعت میکروپروسسور، ) 1

Page 11: Digital Video Systems

CE 342 – Multimedia HW# 6 11H. Rabiee, Fall 2008

بزرگتـر و playbackر پنجره هـاي میکروپروسسو. باعث می شود که تصاویر ویدئو، طبیعی تر باشندplaybackکوچکتر بودن پنجرة .نرخ هاي فریم بیشتر را حمایت کند

.است، یعنی نرخ هاي سریعتر فریم براي مشتریان با قدرت پردازش بیشتر را فراهم می کندIndeo ،scalableتکنولوژي 2-5-2-Apple’s Quicktime

، عمـل Apple .ویدئو تمام متحرك را بـه ارمغـان آورد ، end-user desktopبا هزینۀ کم، براي سیستم هاي Quicktimeمحصول کوانتیزه کردن برداري یکی از روش هاي فشرده سازي نرم افـزاري اسـت کـه . فشرده سازي و عکس آن را به طور نرم افزاري پیاده کرد

خت افـزار را فـراهم بدون کمک سframe/sec30تا 320*240این روش امکان داشتن ویدئو با دقت، . موجود استQuicktimeدر . است200تا 25نسبت هاي فشرده سازي که با این روش بدست می آیند بین . کندمی

2-5-3-Microsoft AVIــا دقــت کــم و هزینــۀ کــم روي Microsoft AVI، هــدف از Quicktimeهماننــد بــر خــالف . اســتdesktop، ایجــاد ویــدئو ب

Quicktime ،که قسمتی از سیستم عامل است ،AVI بعنوان یک ماژون سطح مجزا، تعریف شده اسـت .AVI بعنـوان یـک راه حـل، هنگامیکه با دقـت AVIدقت . ، ویدئو را نمایش دهدSuper VGAو VGAتنها نرم افزاري، طراحی شده است تا روي مانیتورهاي

VCR یـک خصوصـیت مهـم . اسـت خط یا بیشتر مقایسه می شود، عمومًا کمتـر از یـک سـیگنال تلویزیـون عـادي 320در محدودةScalability, AVIآن است .

شامل چندین الگوریتم نرم افزاري فشرده سازي AVI. ، بستگی به سخت افزار مورد استفاده در الیۀ زیرین آن داردAVIکارایی تحت . اي ثابت بهینه شده اندبرخی از این الگوریتم ها براي حرکت بهینه شده اند در حالیکه برخی دیگر براي ویدئوه. و عکس آن است

AVI چندینdialog boxکیفیتـی . براي انتخاب اندازة پنجره ها، نرخ فریم، کیفیت و الگوریتم فشرده سازي در اختیار قرار می دهدبا وجودي که بر اساس تکنولوژي هاي متفـاوتی عمـل مـی . قابل مقایسه استQuick Timeبه دست می آید، با کیفیت AVIکه با . ، در ظاهر خیلی شبیه یکدیگر هستندکنند2-5-4- Intel’s DVI

Intel’s Digital Video Interfaceاز آنجا که استانداردهاي جدیدتري بطور نـرم افـزاري پیـاده . یک استاندارد سخت افزاري استایـن روش در اینجـا مطـرح نشـده ، جزئیـات )اهمیت خود را به عنوان استاندارد تا حدودي از دست داده استDVIو (سازي شده اند

. است. افرادي که به این استاندارد عالقمند هستند می توانند یک نسخه از استاندارد را تهیه و جزئیات آن را مطالعه نمایند

آزمایش-3وك لـ بـراي مثـال ب (16*16وك لـ با فرض داشتن دو فریم از یک دنبالۀ ویدئو، برنامه اي بنویسید که بردار حرکت را بـراي اولـین ب -1اسـتفاده کنیـد، ()freadو ()fopenدو فـریم را بخوانیـد از توابـع . در دومین فریم پیدا کنـد ) 15و15(و ) 15و0(و ) 0و15(و ) 0و0(

در . آمـده اسـت Aکه در پیوست ()EBLKرا بعنوان ورودي تابع B,A ،BK-size ،BK-location ،S-start ،S-endپارامترهاي )الـف جسـتجو را يهتوانیـد محـدود مـی . مشخصی پیدا کندتابعی است که می تواند بردار حرکت را براي بلوك EBLK. نظر بگیرید.در نظر بگیرید-16و 16)ب4و-4بطور ثابت

2ار بـرد (2بـه 1نوشته اید تکمیل کنید طوریکه بردارهاي حرکت را براي تمام بلوك ها در فریم یـک 1برنامه اي را که در قسمت -2میدان حرکت را بـا . بدست آورد)،(mv-y)و دیگیري براي mv-xبعدي براي ذخیره سازي کلیۀ بردارهاي حرکت نیاز است یکی براي

)براي هر دو قسمت الف و ب(.رسم کنید()quiverاستفاده از تابعوك مربـوط از لـ ه از فریم دوم را با کپی کـردن ب اید را تکمیل کنید طوریکه تصویر تخمین زده شدنوشته2برنامه ایی که در قسمت -3

قـدر (دو فریم اصلی، فریم دوم تخمین زده شـده، تصـویر خطـا . در فریم دوم، بدست آورید)تعیین شده توسط بردار حرکت(اول فریم میدان حرکـت . هیدبین دو فریم اصلی، تصویر خطا بین فریم دوم تخمین زده شده و فریم دوم اصلی را نمایش د) مطلق خطاي پیکسل

براي هـر (خطاي اصلی و جدید را محاسبه کنیداز تصاویر PSNRهمچنین مقدار . در مطلب نمایش دهیدquiverرا با کمک دستور .)دو قسمت الف و ب

PSNRبصورت زیر تعریف می شود:

Page 12: Digital Video Systems

CE 342 – Multimedia HW# 6 12H. Rabiee, Fall 2008

. است(m,n)مقدار خطا در پیکسل e(m,n)در آنکهچـه نـوع . بنویسـید PSNRر تخمین زده شده، میدان حرکت، اختالف بین تصاویر خطا و مقادیر کلیۀ مشاهدات خود را در مورد تصوی

artifactدر تصویر تخمین زده شده مشاهده می کنید؟ علت آن چیست؟تأثیر اندازه بلـوك و پنجـره . پنجره جستجوي متناسب با اندازه بلوك امتحان کنید2اندازه بلوك دیگر و با 2را با 3تا 1هاي بخش-4

.را روي خطاي بدست آمده تحلیل کنیدجستجو نامیـده ()getpredictionخواند که بنام را فرا می3این برنامه توابع شما در قسمت . را بخوانیدBدر پیوست encode.mبرنامۀ -5

نرا روي هر بلوك در تصویر خطـاي تخمـی DCT8*8تبدیل . را روي تصویر خطا انجام می دهدDCTاین برنامه تبدیل . شده استت می آید به فرم تخمین سین را که بدمدر هر بلوك را نگه دارید و بعد تصویر خطاي تخDCTچند مؤلفۀ اول . زده شده، اعمال کنید

بین تصویر بازسازي شده و تصویر اصـلی محاسـبه مـی شـود تـا PSNR. تصویر بازسازي شده را بدست آوریدزده شده اضافه کنید تا براي (دهید که نشان دهد وظیفۀ آن خط دستور چیست؟یلطفاً در مورد هر خط دستوري، توضیح. کیفیت تصویر کد شده بررسی شود

).هر دو قسمت الف و بنگهداري شوند تا نتیجۀ رضایت بخشی از نظـر تشـخیص چشـم ،که الزم استرا پیدا کنیدایبی یا تعداد ضرحداقل تعداد مؤلفه ها-6

همچنـین ایـن روش کـد کـردن .)الزم اسـت 30dBبیشـتر از PSNRنیز استفاده کرد که PSNRمی توان از محاسبۀ (بدست آید DCT ،را بطور مستقیم براي فریم اصلی دوم بکار بریدDCT8*8ک از بلوکهاي فریم اصـلی دوم اعمـال کنیـد و چنـد را روي هر ی

تعداد حداقل مؤلفه هاي مورد نیاز را که نتیجۀ رضایت بخش می دهند، پیدا کنید و حداقل مؤلفه هـاي . را نگه داریدDCTمؤلفۀ اول لـوك، تعـداد بیـت هـاي در هـر ب DCTفرض کنید که کد کردن تعداد یکسانی از مؤلفـه هـاي . الزم در این دو حالت را مقایسه کنید

یکسانی را مصرف خواهد کرد، کدام روش کیفیت بهتري را با نرخ بیت یکسان خواهد داشت؟گزارش-4

. ارائه مشاهدات و توضیح آن ضروري است. و کلیۀ نتایج تصاویر میانی و نهایی خود را تحویل دهیدmatlabکدهاي -1خمین جبران حرکت انجام می شود و بعد تصویر خطاي تخمین زدن، بـا اسـتفاده از در یک سیستم کد کردن ویدئو معمولی، ابتدا ت-2

DCTاین بر اساس این فرض است که استفاده از کد. ، کد می شود DCT روي تصویر خطا، نسبت به اعمالDCT روي تصویر اصلی. بطور مستقیم، احتیاج به نرخ بیت کمتري دارد

.، محاسباتی انجام دهید که صحت پاسختان را مشخص کندmatlabنید با استفاده از یک برنامۀ آیا این فرض صحیح است؟ آیا می توا.)در قسمت آزمایش را مقایسه کنید5و 4نتایج بدست آمده در قسمت هاي (مختلف هر کدام چـه مزایـا و DCTتعداد ضرایب حذف شده هاي مختلف، و هاي مختلف، اندازه پنجرهتحلیل کنید که اندازه بلوك-3

.معایبی دارند

مراجع-5

:ضمائم-6

Page 13: Digital Video Systems

CE 342 – Multimedia HW# 6 13H. Rabiee, Fall 2008

:ضمیمه الف

encode.mبلوك دیاگرام تابع

Page 14: Digital Video Systems

CE 342 – Multimedia HW# 6 14H. Rabiee, Fall 2008

Page 15: Digital Video Systems

CE 342 – Multimedia HW# 6 15H. Rabiee, Fall 2008

:ضمیمه ب


Recommended