Vp8 is a video compression format(web m)

Preview:

DESCRIPTION

for download Vp8 is a video compression format(web m) http://www.mediafire.com/view/?6in6o80r5nw6p15

Citation preview

VP8 is a video

compression format

Hassan.alizadeh.varkolaii@gmail.com

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

Recommended