صفحه 1:
تکنیکتهای بنیادی فشرده سازی ویدئو
درس سیستمهای چند رسانهای
استاد درس:
ole على
صفحه 2:
فشرده سازى تصوبر a
مقدمهای بر فشرده سازی ويدئويى
فشرده سازی ویدئویی توسط انطباق ح رکتی
جستجوی بردارهای حر کتی
استاندارد ۲۱.261
استاندارد ۲۱263
صفحه 3:
+ ویدئو متشکل از سکانس های دارای اولویت زمانی از فریم هایی(یعنی
تصاویر) هستند.
* یک راه حل واضح برای فشرده سازی ویدئویی ؛پیشگویی مبتنی بر فریم
های قبلی می باشد.
ع فشرده سازى با كم كردن فريم از فريم قبلی و کد کردن تفاضل آنها
ع4 برای بهبود فشرده سازی می توان به جای تفاضل پیکسل به پیکسل, الگوی
خاصی از فریم فعلی را در فریم بعدی جستجو کنیم و آن دو را از هم کم
es
صفحه 4:
فشرده سازی ويدئويي توسط انطباق حر i
ع فريم هاى متوالى در يكك ويدئو» مشابه هستند - افزونگی زمانی وجود
دارد.
+ ازافزونكى زمانى(1601112013120377 16112201731) استفاده مى
شود تا نياز نباشد هر فريم از ويدئو بطور مستقل به عنوان يكك تصوير
جديد كدكذارى شود.
ع تفاوت بين فريم فعلى و ساير فريم ها در توالى مربوطه كدكذارى خواهد
شد - تعداد پیت کمتر وآنتروپی کمتربرای فشرده سازی مناسب می باشد.
صفحه 5:
فشرده سازی ويدئويي توسط انطباق حر i
ع#مراحل فشرده سازى ویدئوبی بر اساس انطباق حرکتی(/)]1۷):
(Motion Compensation)
۱-برآورد حرکت (جستجوی بردار حرکت).
MC ye ee پیش -۲
۳- بدست آوردن خطای پیش بینی یعنی تفاوت.
صفحه 6:
انطباق ح رکتی &
ع هر تصوير به ما کروبلاکهایی (0۱0615 173610 ) در اندازه ا ۱
لا تقسیم می شود.
ع* به عنوان پیش فرض: 216 لا برای مولفه روشنایی( ۷) . برای مولفه
رنگ (۲>6 ۱۳0۵۲۲۱/۲۵ ) . 8< لا می باشد با فرض اینکه از
فشرده سازی نوع ۰ استفاده شده باشد.
ع* انطباق حرکتی در سطح ماکروبلاک انجام می شود.
صفحه 7:
انطباق 4
- سا زكارى بين ماكروبلاك در فریم هدف و مشابه ترین ماكروبلاكك در
فريم هاى قبلى و يا آتى (كه به آنها فريم مرجع كفته مى شود) جستجو
می شود.
<به فاصله ما کروبلاک مرجع تا ما کروبلاک هدف بردار حرکتی ۷۷
گفته مى شود.
- شكل ۱-۱۰مورد پیش بینی رو به جلو را نشان می دهد
صفحه 8:
انطباق ح رکتی 1
Reference frame Target frame
0] ورم oO
apt @'|:
| ae
2 Macroblock
هر ptt
Matted macroblock Seach سفت
شکل ۱-۱۰ :ماکروبلاکها و بردارهای حرکت در فشرده سازی ویدئوبی
# جستجوی ۷۷" معمولا در محدوده همسایگی بسیار نزدیک انجام
مى شود - اندازه جابجايى عمودى و افقى در محدوده [-2,2] هستند
اين امر ينجره جستجو را به اندازه (1 -2[9)*#(0+1]؟) مى رساند.
صفحه 9:
جستجوی بردارهای ح رکتی __ | &
+ تفاوت بين دو ماکروبلاکک را می توان توسط میانگین قدر مطلق تفاضل آنها
۸۱۸ گرفت: ojlul (MAD)
MAD. j) =} S|Cetk yt D-R@titk y+j+0]
mor لندازم ما کروبلاک
1و 1: شاخصهایبیکس(ها در ما کروبلاک
j si جابجاییهایعودیو لفقی
(1 + 7 رط + ) ) : ييكسلهاىهو جود در ماكروبلاكئهر فريمهدف
1١ + تر + تر ريل + + ۳ ) 8/: پسیکسهایموجود در ماکروبلاکدر فسریم
* هد این جستجو پیدا کردن یک بردار ([,1) به عنوان بردار > MV = (U, CS
(۷ به صورتی است که ( ,)2۷4 حداقل باشد.
(uv =| (i) |MADG J) ismininum ie|- p pl jel- p از
صفحه 10:
جستجوی ترتیبی: کل پنجره(1 + 20) (۱ +۲0) 26 در فريم مرجع
رابه ترتیب جستجو کنید.(همچنین به آن جستجوی کامل هم گفته می
شود).
- ماکروبلاکی که در هر یک از وضعیتها در مرکز پنجره قرار گرفته است
با ماکروبلاک در فریم هدف بصورت پیکسل به پیکسل مقایسه می
شود و بنابراین ۱/10 مربوطه شان با استفاده از فرمول (۱۰.۱) بدست
می AT
صفحه 11:
- بردار ([ ,/) که کمترین ]۳۱۵ را ارائه می دهد به عنوان ,/۷) ۷۱۷
(۷ برای ماکروبلاک در فریم هدف در نظر گرفته می شود.
روش جستجوی ترتیبی بسیار زمانبر است - با فرض اينکه مقایسه هر
پیکسل مستلزم ۳ عمل می باشد(تفریق » قدر مطلق, جمع کردن) » هزینه
بدست آوردن یک بردار حرکت برای یک ماکروبلاک به صورت زیر
است
۸۶. 3 < 0) 0۶۸۶۰۵۵۱۰۵۵0 + 1(
صفحه 12:
begin
min MAD = LARGE NUMBER; /* Initialization */
for
for j
{
cur MAD = MAD(i, j);
if cur MAD < min MAD
{
min_MAD = cur_MAD;
i; /* Get the coordinates for MV. */
—ptop
رما
صفحه 13:
جستجوی لگاریتمی: مدل سریعتر و نیمه بهینه است ولی معمولا" قابل استفاده است.
رویه جستجوی لگاریتمی دو بعدی شبیه جستجوی باینری است.
همانطور که در شکل ۱۰-۲ نشان داده شده است در ابتدا فقط ٩ مکان در پنجره
جستجو به نوان نقطه های شروع برای یک جستجوی مبتنی بر 1۸۵]0 استفاده می
شود ز آنها با "۱" علامت گذاری می شوند.
پس از اينکه پنجره ای که کمترین ۷۱۵12 را حاصل می کند شناسایی می شود مر کز
منطقه جستجوی جدید به آن انتقال داده می شود و محدوده جستجو به نصف کاهش
داده می شود.
در تکرار بعدی ٩ مکان با "۲" علامتگذاری می شود و ....(به همین ترتیب).
صفحه 14:
14
ی لکاربتمي دو بعدی
6-0
ها 2
( +۵ مع ورم وم
شکل ۲-۱۰ جستجوی لگاریتمی 210 برای بردارهای حرکتی
صفحه 15:
ی سلسله م اتد ۳
* در صورتی که رزولوشن فریم ها را کاهش دهیم آنگاه جستجو سریعتر
انجام می شود
+ هگن مدرعت وودقت :را يا سموداقعه باشيم بى اتوإن جند سطع
مختلف را در نظر بگ یم که به ترتیب در سطح های پایین تر رزولوشن
کاهش و امکان یافتن بردار حرکتی کاهش می یابد ولی سرعت جستجو
بیشتر می شود. جستجو از پایین ترین سطح شروع می شود
ع از آنجایی که اندازه ما کروبلاک کوچکتر است و 3 همچنین می تواند
بطور نسبی کاهش داده شود تعداد عملیات لازم به مقدار زیادی کم می
شود.
صفحه 16:
16
Motion
estimation
Motion
estimation
شکل ۳-۱۰ یک جستجوی سلسله مراتبی ۳ سطحی برای بردارهای حرکتی
Motion vectors
Downsample
by a factor of 2
Level 1
Downsample
by a factor of 2
R 5 Level 2
صفحه 17:
تعداد عملیاتهای ریاضی در هر ثانیه برای سه روش ذکر شده نمایش داده شده است
Search Method OPS_per_second for 720 x 480 at 30 fps
p=15 p=T
Sequential search 29.89 x 10° 7.00 x 10°
2D Logarithmic search 1.25 x 109 0.78 x 10°
3-level Hierarchical search | 0.51 x 10° 0.40 x 10°
صفحه 18:
۱ H.26 1
٠ ۱.261 ۲: از قدیمیتریوستانداردهایف_شرده سازعدیجیتالوییدوییمی
باشد» فشرده سازیببتتوبر )1۷ لستنکه در همه لستانداردهای
فشرده سازوویدئویی_عدین یز مورد لستفاده قرار گرفته شده لست
- این استاندارد برای yvideo conferencing ,videophone
سایر خدمات سمعی بصری از طریق ol LISDN شده بود.
- 6006 ۷۱060 از نرخهای005 64 ۷ 0 حمایفیکند که 0
بین۱ تا۳۰ میت ولند باشد (لیوروشسه عنولن64 * 0 هممعروفلست.
ندار
- لازم است که تاخیر کد گذار ویدئویی کمتر از ۱۵۰ میلی ثانیه باشد تا اینکه
ويدئو بتواند براى Video conferencing بلادرنگ دو طرفه
استفاده شود.
صفحه 19:
فرمتهای ویدئویی پشتیبانی شده «
توسط ۲۱.261
Video | Luminance | Chrominance | Bit-rate (Mbps) | H.261
format image image (if 30 fos and | support
resolution resolution uncompressed )
QCIF | 176 x 144 88 x 72 9.1 required
CIF 352 x 288 176 x 144 36.5 optional
19
صفحه 20:
فريمها و تو تیب آنها در ۲۱.261
صفحه 21:
21
& H.261 59 & فریم
*_دونوع فریم تصویری تعریف شده است : درون فریمی (۲3۲۳65]-1) و
ميان فريمى (p-frames) :
- (۲3۲065]-ا) بعنوان تصاویر مستقل در نظر گرفته می شود . در هر (-1
5 "از روش کد گذاری مشابه ۶62[ استفاده می کند.
- (0-۴۲3۲065) مستقل نیستند . توسط روش کد گذاری پیشگویانه رو به
جلو کد گذاری می شود (پیشگویی از 0-۴۲311165 قبلی نیز مجاز می
باشد - نه فقط از یک ۲3۳765]-] قبلی).
- در 0-7۲38۲065 ها افزونگی زمانی حذف میشود در حالیکه در
6 فقط افزونگی مکانی با استفاده از تبدیل DCT حذف می
شود
صفحه 22:
علل استفاده از ۳۲۵1۲06-] ها
در صورت روشن کردن دستگاه پخش ویدئوه در حين پخش امکان
دیکد وجود داشته باشد
7 جهت اجتناب از انتشار خطاهای کدگذاری معمولا یک I-fraMe
چندین باردر هر ثانیه از ویدئو فرستاده می شود .
!11 هنگام جلو و عقب بردن نیاز به انجام همه پردازشها نباشد
بردارهای حرکتی در ۳۱.261 هميشه در واحد پیکسل اندازه
گیری میشوند و دامنه محدوده آن 3۱۵ است
22
صفحه 23:
کد گذاری I-frame
For each اتف نوج
۳ Cy | macroblock \ 8x 8 block
9 1 1
DCT
[frame Quantization
Entropy coding
1010010
شکل ۵-۱۰ کد گذاری I-Frame
* ماكروبلاكك ها به اندازه ييكسل هاى 18*18 براى فريم لو 8*8 براى فريم هاى Ch and Cr
هستند جون از روش ::1:؟استفاده مى شود. يكك ماكروبلاك شامل ؟ بلاكك الا يكك 01) و يكك 0017
استد
*برای هر بلاکک ۸*۸ یک تبدیل 12627 استفاده می شود. سپس ضریب های )12 کوانتیزه شده و
نهایتا کد گذاری آ:
23
صفحه 24:
24
& p-frame كدكذارى
ع شکل ۰۱۰-۶ طرح کدگذاری 1 sel p-frame »
انطباق حرکتی نشان میدهد:
-_برای هر ماکروبلاک در فریم هدف یک بردار حرکتی توسط یکی از
روش های جستجو که قبلا توضیح داده شد اختصاص داده می شود .
> پس از پیشگویی یک ماکروبلاک. مقدار تفاضل محاسبه می شود
- از هر یک از اين بلاک های ۸۲۸ تبدیل آن)م] گرفته می شود » سپس
ضریب های )12 کوانتیزه شده و نهایتا کد گذاری آنتروپی می شوند.
صفحه 25:
25
y p-frame كدكذارى
P-frame 5» + مقدار تفاضل بين فريم و فریم بعدی کد می شود (نه
خود ما کروبلاک هدف)
ع گاهی اوقات نمی توان به انطباق مناسب دست یافت یعنی خطای
پیشگویی از یکك سطح قابل قبول خاص بیشتر می شود.
7 _بنابراین خود 8 كدكذارى مى شود( که به عنوان 18] درونی در نظر گرفته
می شود) و در چنین موردی یک 1۷ منطبق شده غیر حرکتی نامیده می شود.
ع برای یک بردار حرکتی 2] ۷۱۷ مقدار تفاضل بدست آمده برای
کد گذاری آنتروپی فرستاده می شود:
MVD = MV, - MV, ۳۲-۱۰
Preceding Current
صفحه 26:
کد گذاری ۰0-۴۲3816 مبتنی بر انطبا
ح رکتی
۱
16 0 Current macroblock
‘Target frame
pot Difference macroblock
> 16 > y
G,
Reference frame Best match 8
1 ی
I
7 For each 8 x 8 block
1 2 DCT
Quantization
=~ Motion vector ——>| Fatropy coding
01100010...
شکل ۶-۱۰ کد گذاری ۳۲,261 . ۳۵106 3-۳ مبتنی بر انطباق حرکتی
26
صفحه 27:
27
ع برای کوانتیزاسیون در ۳۱.261 برای همه ضریب DCT co در ذاخل يكك
ما کروبلااک از یک گام ثابت استفاده می کند.
ع اگر 002 ضرایب آ)2] بعد از کوانتیزه کردن باشد: برای ضریب مقدار
dal, IDC زیر
DCT | = rou DET) 5 نسم تددو
و برای سایر ضریب ها:
۰7 - PCr | ۳ (a)
صفحه 28:
Coste یو
Butter |
Quantization Control
ve
Motion vector
MC-based
Prediction mory
لهم
Motion
Estimation
(@) Encoder
مس
Frame
28
صفحه 29:
29
Input Code
MC-hased
Prediction ~~ Memory
‘Motion vector
(b) Decoder
كدكذار و كدبرادر 11.261
00
Prediction
صفحه 30:
30
& j ۲۱.263 استاندارد
+ ۰۲۱.263 ی کلستاندارد کد گناروویدئوییصااج شده برلعویدئو
نفرلنسرو ساير خدماسمعى- بسصرعنتقا لادم شده در شبکه
های_افن انتقا لعمومی(]] ۹) میساشدد
ع هدفش ارتباط و انتقال های با میزان بیت پایین به میزانی کمتر از 005
4 می باشد.
ع از کدگذاری پیش گویانه برای (0-۴۲۵۲065) 1۱6۲-۴۲۵۳065
جهت کاهش افزونگی موقتی و تغییر شکل کد گذاری برای سیگنال
باقیمانده استفاده میکند تا افزونگی فاصله ای (برای پیش بینی-
was Gal |, (i-frames , frames
صفحه 31:
31
استاندارد ۲۱.263
# مانند ۲۱.261 در ۳1.263 از کد گذاری سس
روش کد گذاری پیش فرض برای ضریب های 26.7] استفاده می شود.
# همانند ۲۱261 ترتیب ۲۱.263 بصورت سلسله مراتبی از ۴ لابه
ساخته شده است . هر لایه با استفاده از ترکیبی از کد طول ثابت و كد
طول متغیر کد گذاری می شود .
روش پیش بینی پیشرفته:
- در این روش اندازه ما کروبلاک برای ۷162 از ۱۶ به ۸ کاهش داده می شود
- برای هر ما کروبلاک در تصویر مربوط به شدت روشنایی » ۴ بردار حرکتی
(از هر بلاک ۸۸) ایجاد می شود.
صفحه 32:
د
استاندارد ۲۱.263 &
استفاده از فریم هاى-28:
5 در ۰۲۱.263 یک فریم 3 ۳ از فریم قبلی و بعدی بدست می آید
PB-frame
7 00١
19 B P
صفحه 33:
33
استاندارد 1۷۲060 /
ع این استاندارد بر پایه استاندارد ۳12601 بنا نهاده شده است
ع تفاوتهای عمده آن با 31-261 عبارتند از:
7 _پشتیبانی از فرمت های بیشتر ویدئویی
ا[ ضرایب استفاده شده در کوانتیزه کردن متفاوت است
7 بازه جستجوی ما کروبلااکک از ۱۵ به ۵۱۲ تغییر یافته است
17 ترتیب فریمها ارسال شده متفاوت است
صفحه 34:
‘Time
Displayoner 1 BB P B B P B B I
Coding and
trnsmissionorder =| =P BOB OP OB UB OUT OB OB
34
صفحه 35: