Vp8 is a video compression format(web m)
-
Upload
8621313001 -
Category
Education
-
view
482 -
download
3
description
Transcript of Vp8 is a video compression format(web m)
VP8 is a video
compression format
Mohammad Esmaeilpoor Hassan Alizadeh
Azadeh Mansouri
Production By
Kharazmi University of Tehran
فهرست
VP8تاریخچه . 1
VP8مراحل بررسی . 2
… , VP8 & H.264و مقایسه ارزیابی . 3
فشرده سازی ویدئو
بهویسینبرنامهمدرنهایتکنیکازاستفادهباویدئوییتصاویرسازیفشرده
هامالگوریتاکثر.میپذیردصورتویدئوییهایدادهدرافزونگیکاهشمنظور
ومکانیتصاویرسطحدرسازیفشردهازترکیبیسازیفشردهکدهایو
رندمیببهرههمچنینویدئوییکدهایازبسیاریعملدر.استزمانیحرکات
یناترکیباما،جداگانهوموازیصورتبهصوتیسازیفشردهتکنیکهایاز
.میشودارائه(ویدئوییقالب)بستهیکعنوانبهدادهایجریانات
VP8تاریخچه . 1
1
1. Video compression
وتساهدشحافتتا1992لاسردOn2-Technologiesشرکت
دارییخرردالمیلیون124شزراابGoogleشرکتطسوت2010لاسرد
.شدآنهایزیرمجموعهازیکیو
زماندرVP8واستکردهتولیدراVPمختلفهاینسخهشرکتاین
وبتحتویدئوییقالبیساختگوگلاصلیهدفوشدطراحیگوگلتملک
HTML5برمبنایکهبود &VP8گیریبهرهبابتواندتاشودسازیپیاده
نامWEBMکهکند،ایجادYouTubeخودویدئوییپایگاهدرتحولیآناز
Adobeجایگزینوگرفت Flash Player & H.264توسطوشد
Matroskaشدپشتیبانی.
VP8تاریخچه . 1
VP8یکبخشیازیکدانشخانوادگیازکدگذاریمیباشدVP3دربهصورتمتنبازXIPH TheoraشدهاستمنتشرVP6میشوددرفلشویدئواستفادهVP7درSkypeاستفادهمیشود
:ابزاروکتابخانه
VPنسلهای
● Gstreamer
● FFmpeg
● libvpx
● ffvp8
VP8تاریخچه . 1
:مسئلهتعریف
وبقالبدرویدئوبرایاستانداردینبود1.
رایجهایشوندهاستفادهخصوصیات2.
H.264:امتیازحقدریافتبهنیاز
Theora:ساختتکنولوژیشدنقدیمیولیازادتالیفحقدارای
ارتباطیهایشبکهدرباندپهنایمحدودیت3.
بازیابیوسازیفشردهدرمحاسباتزیادحجم4.
VP8تاریخچه . 1
کنندهپشتیبانیافزارهاینرم
CollaboraAnystreamAndroid
CorecodecFirefoxAdobe Flash
Google ChromeiLincInlet
OperaooVooSkype
Sorenson MediaTheora.orgTelestream
منطبقافزارهایسخت
BroadcomARMAMD
FreescaleDigital RapidsHarmonic
NVIDIAImagination
Technologies
Marvell
Texas InstrumentsMIPSView Cast
پایگاههاومنتشرکنندهها
Encoding.comZencoderYouTube
BrightcoveKalturaHD Cloud
VP8تاریخچه . 1
VP8تاریخچه . 1
MPEG (.mp4,.mov,.m4v)(Apple)
QuickقالبدرخودسایتوبدرAppleتوسطکه Timeهاییفیلمومی شداستفادهکدازو.میکننداستفادهMPEG4فرمتازمی شوددادهاجارهiTunesتوسطکه
.می شودتشکیلاپلACCصوتیکدوH.264یاMPEG.4(AVC)ویدئویی
WebM (Google)
ویدئوییکدازکهمی کند،فراخوانیMatroska(MKV)ویدئوییقالببهشبیهخیلیVP8صوتیکدوVorbisمی شودتشکیل.
Flash (.flv)(Adobe)
.روی آوردMPEG4ابتدا فقط فایل های فلش را پشتیبانی می نمود و بعدها به
OGG (.ogv)(Open)
خودvorbisصوتیکدوTheoraویدئوییکدازکهمحبوبوسادهباز،متنقالبی.می شودتشکیل
VP8تاریخچه . 1
فضارنگ
انواعفریم
بلوکدرشت
لدرونیابیزیرپیکس
تدریج
پیشبینیخارجی
پیشبینیداخلی
ترمیمحرکت
یفیلترحلقهانطباق
تبدیل
کدگذاری پردازشموازی
VP8مراحل بررسی . 2
VP8دیاگرام انجام مراحل
YUV 4:2:0 RGB
:فضارنگ
با اسکن 8bitنمونه رنگی با عمق رنگی 420فزاینده بدون روش درهم تنیده شدن
(no interlaced)
VP8مراحل بررسی . 2
بلوکهایدرشت
.مانند بسیاری از کدکهای دیگر ویدئویی هر تصویر به بلوکهای درشتی تجزیه می شود
YUV 4:2:0 Macroblock
16*16
8*8
8*8
4*4
2*2
2*2
Subblock (4*4 Pixel)
تشکیل 4*4یک زیربلوک شده از کنار هم گذاشتن
DC های زیربلوک هایمرحله قبل
VP8مراحل بررسی . 2
1
1. Macroblock
:انواعفریمها
Intra frames:هبودارندرارمزگشاییقابلیتمستقیمطوربهکهفریمهایی.می گیرندقراراستفادهمورددیگرفریمهایبینیپیشبرایمرجعفریمعنوان
Inter frames:لیقبشدهکدگذاریفریمهایمنابعازاستفادهباکهفریمهایی.اندوابستهزیرمولفهدوبهبازگشاییبرایومی شونددادهنشان
فریمهای منبعبردارهای حرکت
فریمهایمنبع
Interبینیپیشبرایمنبعفریم3از framesمنبعسهشاید.می شوداستفاده.دمی شوحافظهتوجهقایلافزایشباعثاضافیمنابعامّاندهدمابهزیادیکیفیت
VP8مراحل بررسی . 2
.آخرین فریم بازگشایی شده:فریمقبلی.2
مزگشاردردیگرقالبهایدرمنبعفریمهایبرخالففریماین:متناوبمنبعفریم.3ایجادبینیپیشبهبودمنظوربهمتناوبمرجععنوانبهفقطونمی شوددادهنمایش
.می شودروزبهطالییفریمهمانندآنبافرواستشده
.استشدهزیرنمونهدودرفریماینازبردنبهرهباعثVP8پذیریانعطاف
آنهاازسسپومی شوندفیلترمتناوبمرجعفریمهایابتدا:نویزکاهشبینیپیش.می شوداستفادهبینیپیشبرای
فریمبدونبینیپیشبهبودB:تواناییباعثکهاصلیخصوصیاتازیکیVP8درگذشتهاطالعاتازاستفادهباآنجایگزاریوBفریمحذفاستشدهفشرده سازی
.می پذیردصورت(متناوبمرجعفریم)آیندهو(قبلیوطالییفریمهای)
یکدرواستگذشتهدردلخواهنقطهازفریمیکطالییفریم:طالییمنبعفریم.1.می شودبه روزرسانیپرچمتعدادیتوسطکهمی شودذخیرهبافر
VP8مراحل بررسی . 2
پیشبینی
.از سه نوع بلوک استفاده می شود(intra)برای پیش بینی در داخل یک فریم Luma 4*4 Luma 16*16 Chroma 8*8
.حالت های معمولی که توسط این بلوک ها به اشتراک گذاشته می شوند
سطرهایبینیپیشبرایچپسمتبلوکستونآخریناز:(H_PERD)افقیبینیپیش1..می بردبهرهمتناظر
ناظرمتستون هایبینیپیشبرایباالییبلوکسطرآخریناز:(V_PERD)عمودیبینیپیش2..می بردبهره
نستوآخرینوباالییبلوکسطرآخرینمجموعمیانگیناز:(DC_PERD)میانگینبینیپیش3..می بردبهرهبلوکپیکسل هایکلبینیپیشبرایCباچپسمتبلوک
.4TM-PRED:کهفردیبهمنحصرروشVP8درقبلیروش هایازومی کندمعرفیVP8
.استپرکاربرد تر
(intra)داخلی.1
VP8مراحل بررسی . 2
C
DC-PERD
V-PERD
TM-PERD
H-PERD
VP8مراحل بررسی . 2
Clampj;k(x)=
𝑘 𝑖𝑓 𝑥 > 𝑘𝑥 𝑖𝑓 𝑗 > 𝑥 ≥ 𝑘𝑗 𝑖𝑓 𝑗 ≥ 𝑥
Xi;j = Clamp0;255 (Lj + Ai - C) ; (i, j=0, 1, 2, 3)
.حالت اضافی دیگر وجود داردLuma 4*46برای بلوک های
1 2 5
3 64
VP8مراحل بررسی . 2
(inter)خارجی.1
(non-intra frames.)می باشدinterروشهای پیش بینی خارجی مختص فریم های
تخمین حرکت
لوکهایبدرکهدیگریبهفریمیکازانتقالواسطهبهمی شوندتعیینحرکتبردارهای
4*4 , 8*8 , 16*8 , 8*16 , .می گیرندقراراستفادهمورد16*16
بهChromaحرکتبردارهایومی شوندمحاسبهLumaحرکتبردارهایفقط
.می شوندبرآوردLumaبلوکهایحرکتبردارهایازگیریمیانگینواسطه
دارایکهLumaبهنسبتChromaدردقتبرابریدوافزایشباعثامرهمینکه
.می شوداستپیکسلیک چهارمدقت
VP8مراحل بررسی . 2
خارجیبینیپیشروشهایانواع
Nearest-MV:گشاییرمزبلوکآخرینصفرغیرحرکتبردارازمجدداستفاده.شده
Near-MV:شاییگرمزبلوکآخرینبهیکیصفرغیرحرکتبردارازمجدداستفاده.شده
Zero-MV:مفریدرمتناظربلوکهمانونمی گیردصورتجابه جاییهیچبلوکدر.استقبلی
New-MV:بافربهطالعاتاینومی کندپیرویحرکتبرداراطالعاتازمدلاین.می شوداضافهقبلیشدهرمزگشاییبلوکهای
Split-MV:مختصکهروشاینVP8پذیرانعطافوپیشرفتهروشیکمی باشدبهوکهاییزیربلبهدرشتبلوکهایبندیتقسیمازروشدراین.می باشدبینیپیشدر
سطحدرچندگانهحرکتبردارهایازگیریبهرهبابهتربینیپیشبهرسیدنمنظور.می شوداستفادهدرشتهایبلوک
VP8مراحل بررسی . 2
1
1. Inter prediction
هایبلوکسطحدرمتفاوتیحرکتیویژگی هایشاهدکهاستمفیدهنگامیروشاین.باشیمدرشت
Macroblock 16*16
Newحالتهایاز4*4زیربلوکهایدرروشاین 4*4 , Above 4*4 , Zero 4*4 ,
Left .هستندترپرکاربردترتیببهLeft,Aboveکه4*4
یکاستآمدهشکلآمدهشکلدرکههمانگونه.استهشدتشکیلحرکتیبخشسهازدرشتبلوک
VP8مراحل بررسی . 2
Motion vectors.
Inter-coded
macroblocks are
displayed as
green, intracoded
as purple. The
line extending
from the center of
each green block
corresponds
to the motion
vector.
VP8مراحل بررسی . 2
Motion Compensation & Sub-pixel Interpolation
VP8رمیمتبرایترتیببهپیکسلیک هشتمویک چهارمدقتباحرکتبردارهایاز.می بردبهرهChromaوLumaپیکسلهایدرحرکت
یکدرون یابیپروسهیکازکهباشدمیVP8خصوصیاتازهازیرپیکسلدرون یابی.می شودتشکیلباالعملکردباتکه ای6درون یابیفیلترهایازمجموعهیکوطبقه
:تکه ای عبارتند از6تکه های فیلتر استفاده شده در فیلتر [3, -16, 77, 77, -16, 3]/128 for ½ pixel positions
[2, -11, 108, 36, -8, 1]/128 for ¼ pixel positions
[1, -8, 36, 108, -11, 2]/128 for ¾ pixel positions
VP8ازbicubic filters47/8و1/8،3/8،5/8پیکسلهایموقعیتبرایتایی.می کنداستفاده
سیفرکانپاسخبهدستیابیبرایرادرون یابیفیلترهایپروسهVP8کلیحاتدر.می دهدانجاممحاسباتیباالیبهره وریبامطلوب
VP8مراحل بررسی . 2
تبدیل
VP8می بردبهرهتبدیلدرهاداماردوالشوکسینوسیتبدیلدوترکیباز.
Macroblock
16*16
8*8
8*8
YUV 4:2:0
4*4
Subblock (4*4 Pixel)
33 33 45 77
23 45 57 88
130 154 123 111
130 140 160 123
2*2
2*2
D
CT
143 23 0 0
7 3 0 0
0 0 0 0
0 0 0 0
1سطح تبدیل
VP8مراحل بررسی . 2
1
1. Transformation
4*4
تشکیل 4*4یک ماتریس شده از کنار هم گذاشتن
DC 4*4های ماتریسهایمرحله قبل
Macroblock
(n Matrix4*4)
n=16
143 140 134 166
130 140 160 99
211 234 123 55
177 122 100 44
DCT
1 1 1 1
1 1 -1 -1
1 -1 1 -1
1 -1 -1 1
1 1 1 1
1 1 -1 -1
1 -1 1 -1
1 -1 -1 1
H=1
4
H=A=
Normalized Transformation Matrix
B=H*A*H=
544.5 104 44.5 -3211.5 -107 -33.5 1458.5 21 -36.5 4-31.5 -35 -3.5 49
2تبدیل سطح
Y
VP8مراحل بررسی . 2
تدریج
DC 1شدت روشنایی سطحAC 1شدت روشنایی سطح
DCطیف رنگیACطیف رنگی
DC 2شدت روشنایی سطحAC 2شدت روشنایی سطح
که45db-30کیفیتطیفدارایواستبرخورداربیشتریکاراییازVP8درتدریج
.می باشدتدریجسطح128دارایزیرفرکانسیبخش6برایراتدریجمتفاوتسطوحمی آوردارمغانبهفریمهربرایکه
4*4
2*2
16
4
Luma
Chroma
VP8مراحل بررسی . 2
1
1. Quantization
VP8مراحل بررسی . 2
q0
q2
q1
طیفهایمختلفتدریجq3
فیلترحلقهانطباقیضرایبتدریجتوسطشدهتولیدبلوک بندیتاثیراتبردنبینازفرایندیکحلقهفیلتر
.استبلوکیتبدیلدرکسینوسیتبدیل
ریج قسمتی از تصویر تدک یافته که تاثیر بلو
بندی در آن قابل مشاهده است
VP8مراحل بررسی . 2
ساکن بدون نیاز به فیلتر
تحرکت خفیف نیاز به فیلتر کوچک
قوینیاز به فیلتر باال تحرکت
VP8دارایدوسطحفیلترمیباشدمختصر1.نرمال2.
VP8مراحل بررسی . 2
:به منظور فیلتر کردن در بلوک درشت روش های زیر استفاده می شود لبه بلوک درشت باالیی. 1لبه بلوک درشت سمت چپی. 2لبه های عمودی زیربلوک ها. 3لبه های افقی زیربلوک ها. 4
Macroblock
VP8مراحل بررسی . 2
2
4
6
8
tap
tap
tap
tap
130 130 170 170
130 130 170 170
130 130 170 170
130 130 170 170
q1p1 q2 q3 q4p2p3p4
130 140 160 170
130 140 160 170
130 140 160 170
130 140 160 170
q1p1 q2p2
a= (170-130)/4
a= 10
p1= 130+10=140
q1= 170-10=160
فیلترحلقهبهروشمختصر
8و2بخشهایدارایمختصرروشتکه ای6و4بخشهایبرعالوهنرمالحلقهفیلتر.است نیزتکه
VP8مراحل بررسی . 2
Blocking Artifacts
تصویر بدون اعمال فیلتر حلقه ایتصویر با اعمال فیلتر حلقه ای
ولیاستهمشاهدقابلزیردربندیبلوکتاثیرحذفبرایحلقه ایفیلترمثبتتاثیرات.می باشددرشتهایبلوکمیانوابستگیداردوجودعملایندرکهمشکلی
VP8مراحل بررسی . 2
VP8مراحل بررسی . 2
رمزگشاباعدمقطعیت–رمزگذارایجادازاستفادهباکه،استخامباینریداده ایجریانتعدادکاهشکدگذاریهدفصورترتکرابیشترینبانشانهبرایبازخوانیحجمسازیحداقلومقادیربراینشانه
.می گیرد
Binary arithmetic coding
Huffman Tree
187 0 0 0
2 0 0 0
1 0 0 0
0 0 0 0
sub-block
( :Tokens)مراحل ایجاد نشانه ها
(4*4)برای هر زیربلوک DCT , WHTخواندن تدریج یافته ضرایب . 1لیست انتخابی درخصوص نشانه ها برای هر مقدار. 2
187, 0, 2, 1, 0, 0, 0, 0, 0, ...
EOB
0
1
2
3 4
5-6 7-10
11-18 67-204835-6619-34
Output Huffman Tree : 11111111 101100 110 0
187, 0 , 2 , 1 , 0 , 0 , 0 , 0 , 0, ...DCT/WHT coefficients :
Range : 67 – 2048Offset : 187 – 67 = 120
Extra Bits : 11Binary Offset : 0000 0111 1000
Output : 11111111 00000111 1000 10 1100 110 0
VP8مراحل بررسی . 2
2برای مقدار 1100از 11100بدلیل کاهش افزونگی به جای .استفاده می شود
گره تصمیم گیری درخت
10برگ درخت
VP8مراحل بررسی . 2
پردازش موازی
ساختار فریم
.ستندههسته ایچندکههاییپردازندهها،ریزپردازندهتوسعهدرجدیدگرایشاتازیکیفریم
1بخش سرفریم2بخش.یک فریم از سه بخش تشکیل می شود
نوع فریم (معرفی فریم)سرفریم . 1بیت3شماره نسخه فرعی1اصلی و0
یا عدم نمایش ( 1)نمایشفریم( 0) 1بخش.2
پیش بینییچگونگکهپیشینماکروبلوکاطالعاتوفریمیکپارچگیبرایاصلیاطالعاتمی کندمشخصرادرشتبلوک هر
بیت طول بخش 19داده های اولیه
2بخش.3DCTیافتهتدریجضرایباطالعاتالگوی & WHT،بلوکدراختیاریسطرهرتواناییباعثخصوصیتاینوداردرامجزابخشیکدرشدنترسیمامکاندرشتمی کندفراهمراموازیپردازشبرایبخش8تادرشتبلوکشدنتقسیم
سرعت رمز گشایی بر روی سخت افزار متفاوت
… , VP8 & H.264و مقایسه ارزیابی . 3
کیفیت خروجی در مانیتورهای مختلف
… , VP8 & H.264و مقایسه ارزیابی . 3
VP8 – ffmpeg (ffvp8) calculation for hall_cif.yuv(90 frames):
… , VP8 & H.264و مقایسه ارزیابی . 3
H.264 - ffmpeg calculation for hall_cif.yuv(90 frames):
… , VP8 & H.264و مقایسه ارزیابی . 3
… , VP8 & H.264و مقایسه ارزیابی . 3
… , VP8 & H.264و مقایسه ارزیابی . 3
سرعت رمزگذاری
Mos Ratings For Varied Packet LossH.264WebM/VP8
… , VP8 & H.264و مقایسه ارزیابی . 3
Mos Ratings For Varied Delay VariationH.264WebM/VP8
… , VP8 & H.264و مقایسه ارزیابی . 3
optiscyclists
preaknessjetscrew
… , VP8 & H.264و مقایسه ارزیابی . 3
panslowharbour
-0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
YPSNR difference [dB]
… , VP8 & H.264و مقایسه ارزیابی . 3
YSSIM difference-0.020 -0.015 -0.010 -0.005 0.000 0.005 0.010 0.015 0.020
… , VP8 & H.264و مقایسه ارزیابی . 3
Decoder
speedEncoder
speed
H.264 VP8H.264 VP8VP8H.264
Compress
H.264 VP8Quality
VP8H.264 VP8H.264
Success
H.264Color ?
VP8Color ?
Royalty
… , VP8 & H.264و مقایسه ارزیابی . 3
http://en.wikipedia.orghttp://www.webmproject.orghttp://multimedia.cx/eggshttps://datatracker.ietf.org/doc/draft-bankoski-vp8-bitstream/
http://pacoup.com/2012/12/20/vp8-
webm-vs-h-264-mp4-december-2012/http://qpsnr.youlink.org/vp8_x264/VP8_vs_x264.htmlGoogle VP8 Paper
http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/37073.pdf
An Analysis of VP8, a New Video Codec for
the Web By Sean A. Cassidy
Fast Intra- and Inter-Prediction Mode Decision in H.264 Advanced Video CodingMulti-Rate VP8 Video Encoding Master’s
Thesis By Dag Haavi Finstad
White Paper: H.264 / AVC Intra Prediction
By Iain Richardson
Reduced 4x4 Block Intra Prediction Modes using Directional Similarity in H.264/AVCVideo Network Traffic and QualityComparison of VP8 and H.264 SVCContext-Based Adaptive Binary Arithmetic Codingin the H.264/AVC Video Compression StandardIntroduction to Binary Arithmetic Coding By Glen G. Langdon, Jr
Analysis of packet loss and delay variation
on QoE for H.264 andWebM/VP8 CodecsYeshwanth Alahari , Buddhiraja Prashantبا تشکر از توجه شما
Refrence