Vp8, as a video compression format

491 views

Published on

This presentation contains an overview on VP8 as a video compression format and H.264 as an another compression format for Video siagnals.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
491
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vp8, as a video compression format

  1. 1. VP8Hassan.alizadeh.varkolaii@gmail.comMohammad EsmaeilpoorHasan AlizadehProduced By:Kharazmi University of Tehranm.esmaeilpoor69@gmail.com
  2. 2. ‫فْشست‬1.ِ‫تبسیخچ‬VP82.‫ثشسسی‬‫هشاحل‬VP83.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  3. 3. Video compressionُ‫فطشد‬‫سبصی‬‫ٍیذئَیی‬‫ثب‬ُ‫استفبد‬‫اص‬‫تکٌیک‬‫ّبی‬‫هذسى‬ِ‫ثشًبه‬‫ًَیسی‬ِ‫ث‬‫هٌظَس‬‫کبّص‬‫افضًٍگی‬‫دس‬ُ‫داد‬‫ّبی‬‫ٍیذئَیی‬‫غَست‬‫پزیشد‬‫هی‬.‫اکثش‬‫الگَسیتن‬‫ّب‬ٍ‫کذّبی‬ُ‫فطشد‬‫سبصی‬‫تشکیجی‬‫اص‬ُ‫فطشد‬‫سبصی‬‫دس‬‫سطح‬‫تػبٍیش‬‫هکبًی‬ٍ‫حشکبت‬‫صهبًی‬‫است‬.‫دس‬‫ػول‬‫ثسیبسی‬‫اص‬‫کذّبی‬‫ٍیذئَیی‬‫اص‬‫ّبی‬‫تکٌیک‬ُ‫فطشد‬‫سبصی‬‫غَتی‬ِ‫ث‬‫غَست‬‫هَاصی‬ٍ،ًِ‫جذاگب‬‫اهب‬‫تشکیت‬‫ایي‬‫جشیبًبت‬‫ای‬ُ‫داد‬ِ‫ث‬‫ػٌَاى‬‫یک‬ِ‫ثست‬(‫قبلت‬‫ٍیذئَیی‬)ِ‫اسائ‬‫ضَد‬‫هی‬.1.ِ‫تبسیخچ‬VP8
  4. 4. ‫ضشکت‬On2-Technologies‫د‬‫س‬‫س‬‫ب‬‫ل‬1992‫افتتب‬‫ح‬‫ض‬‫ذ‬ُ‫ا‬‫س‬‫ت‬ٍ‫د‬‫س‬‫س‬‫ب‬‫ل‬2010‫ت‬َ‫س‬‫ط‬‫ضشکت‬Google‫ث‬‫ب‬‫ا‬‫س‬‫ص‬‫ش‬124‫هیلیَى‬‫دال‬‫س‬‫خش‬‫ی‬‫ذاسی‬ٍ‫یکی‬‫اص‬ِ‫صیشهجوَػ‬‫ّبی‬‫آى‬‫ضذ‬.‫ایي‬‫ضشکت‬ِ‫ًسخ‬‫ّبی‬‫هختلف‬VP‫سا‬‫تَلیذ‬ُ‫کشد‬‫است‬ٍVP8‫دس‬‫صهبى‬‫تولک‬‫گَگل‬‫طشاحی‬‫ضذ‬ٍ‫ّذف‬‫اغلی‬‫گَگل‬‫سبخت‬‫قبلجی‬‫ٍیذئَیی‬‫تحت‬‫ٍة‬‫ثَد‬ِ‫ک‬‫ثشهجٌبی‬HTML5 &VP8ُ‫پیبد‬‫سبصی‬‫ضَد‬‫تب‬‫ثتَاًذ‬‫ثب‬ُ‫ثْش‬‫گیشی‬‫اص‬‫آى‬‫تحَلی‬‫دس‬ُ‫پبیگب‬‫ٍیذئَیی‬‫خَد‬YouTube‫ایجبد‬،‫کٌذ‬ِ‫ک‬WEBM‫ًبم‬‫گشفت‬ٍ‫جبیگضیي‬Adobe Flash Player & H.264‫ضذ‬ٍ‫تَسط‬Matroska‫پطتیجبًی‬‫ضذ‬.1.ِ‫تبسیخچ‬VP8
  5. 5. VP8‫هیجبضذ‬ ‫کذگزاسی‬ ‫اص‬ ‫خبًَادگی‬ ‫داًص‬ ‫یک‬ ‫اص‬ ‫ثخطی‬ ‫یک‬VP3‫ثبص‬ ‫هتي‬ ‫غَست‬ ِ‫ث‬‫دس‬XIPH Theora‫هٌتطش‬‫است‬ ُ‫ضذ‬VP6ُ‫استفبد‬ َ‫ٍیذئ‬ ‫فلص‬ ‫دس‬‫ضَد‬ ‫هی‬VP7‫دس‬Skype‫هیطَد‬ ُ‫استفبد‬ًِ‫کتبثخب‬ ٍ ‫اثضاس‬:● Gstreamer● FFmpeg● libvpx● ffvp81.ِ‫تبسیخچ‬VP8
  6. 6. ‫تؼشیف‬ِ‫هسئل‬:.1‫ًجَد‬‫استبًذاسدی‬‫ثشای‬َ‫ٍیذئ‬‫دس‬‫قبلت‬‫ٍة‬.2‫خػَغیبت‬ُ‫استفبد‬ُ‫ضًَذ‬‫ّبی‬‫سایج‬H.264:‫ًیبص‬ِ‫ث‬‫دسیبفت‬‫حق‬‫اهتیبص‬Theora:‫داسای‬‫حق‬‫تبلیف‬‫اصاد‬‫ٍلی‬‫قذیوی‬‫ضذى‬‫تکٌَلَطی‬‫سبخت‬.3‫هحذٍدیت‬‫پٌْبی‬‫ثبًذ‬‫دس‬ِ‫ضجک‬‫ّبی‬‫استجبطی‬.4‫حجن‬‫صیبد‬‫هحبسجبت‬‫دس‬ُ‫فطشد‬‫سبصی‬ٍ‫ثبصیبثی‬1.ِ‫تبسیخچ‬VP8
  7. 7. ‫ًشم‬‫افضاسّبی‬‫پطتیجبًی‬ُ‫کٌٌذ‬CollaboraAnystreamAndroidCorecodecFirefoxAdobe FlashGoogle ChromeiLincInletOperaooVooSkypeSorenson MediaTheora.orgTelestream‫سخت‬‫افضاسّبی‬‫هٌطجق‬BroadcomARMAMDFreescaleDigital RapidsHarmonicNVIDIAImaginationTechnologiesMarvellTexas InstrumentsMIPSView Cast‫ّب‬ ُ‫کٌٌذ‬ ‫هٌتطش‬ ٍ ‫ّب‬ ُ‫پبیگب‬Encoding.comZencoderYouTubeBrightcoveKalturaHD Cloud1.ِ‫تبسیخچ‬VP8
  8. 8. 1.ِ‫تبسیخچ‬VP8
  9. 9. MPEG (.mp4,.mov,.m4v)(Apple)ِ‫ک‬‫تَسط‬Apple‫دس‬‫ٍة‬‫سبیت‬‫خَد‬‫دس‬‫قبلت‬Quick Timeُ‫استفبد‬‫ضذ‬‫هی‬ٍ‫فیلن‬‫ّبیی‬ِ‫ک‬‫تَسط‬iTunesُ‫اجبس‬ُ‫داد‬‫ضَد‬‫هی‬‫اص‬‫فشهت‬MPEG4ُ‫استفبد‬‫هیکٌٌذ‬.ٍ‫اص‬‫کذ‬‫ٍیذئَیی‬MPEG.4(AVC)‫یب‬H.264ٍ‫کذ‬‫غَتی‬ACC‫اپل‬‫تطکیل‬‫ضَد‬‫هی‬.WebM (Google)‫خیلی‬ِ‫ضجی‬ِ‫ث‬‫قبلت‬‫ٍیذئَیی‬Matroska(MKV)‫فشاخَاًی‬،‫کٌذ‬‫هی‬ِ‫ک‬‫اص‬‫کذ‬‫ٍیذئَیی‬VP8ٍ‫کذ‬‫غَتی‬Vorbis‫تطکیل‬‫ضَد‬‫هی‬.Flash (.flv)(Adobe)ِ‫ث‬ ‫ثؼذّب‬ ٍ ‫ًوَد‬‫هی‬ ‫پطتیجبًی‬ ‫سا‬ ‫فلص‬ ‫ّبی‬ ‫فبیل‬ ‫فقط‬ ‫اثتذا‬MPEG4‫آٍسد‬ ‫سٍی‬.OGG (.ogv)(Open)‫قبلجی‬‫هتي‬،‫ثبص‬ُ‫سبد‬ٍ‫هحجَة‬ِ‫ک‬‫اص‬‫کذ‬‫ٍیذئَیی‬Theoraٍ‫کذ‬‫غَتی‬vorbis‫خَد‬‫تطکیل‬‫ضَد‬‫هی‬.1.ِ‫تبسیخچ‬VP8
  10. 10. ‫سًگ‬ ‫فضب‬‫فشین‬ ‫اًَاع‬‫دسضت‬ ‫ثلَک‬‫پیکسل‬ ‫صیش‬ ‫دسًٍیبثی‬‫تذسیج‬‫خبسجی‬ ‫ثیٌی‬‫پیص‬‫داخلی‬ ‫ثیٌی‬‫پیص‬‫حشکت‬ ‫تشهین‬‫اًطجبقی‬ ِ‫حلق‬ ‫فیلتش‬‫تجذیل‬‫کذگزاسی‬ ‫هَاصی‬ ‫پشداصش‬
  11. 11. 2.‫ثشسسی‬‫هشاحل‬VP8‫هشاحل‬ ‫اًجبم‬ ‫دیبگشام‬VP8
  12. 12. YUV 4:2:0 RGB‫سًگ‬ ‫فضب‬:420‫سًگی‬ ‫ػوق‬ ‫ثب‬ ‫سًگی‬ ًَِ‫ًو‬8bit‫اسکي‬ ‫ثب‬‫ضذى‬ ُ‫تٌیذ‬ ‫دسّن‬ ‫سٍش‬ ‫ثذٍى‬ ُ‫فضایٌذ‬(nointerlaced)2.‫ثشسسی‬‫هشاحل‬VP8
  13. 13. ‫دسضت‬ ‫ثلَکْبی‬‫ضَد‬‫هی‬ ِ‫تجضی‬ ‫دسضتی‬ ‫ثلَکْبی‬ ِ‫ث‬ ‫تػَیش‬ ‫ّش‬ ‫ٍیذئَیی‬ ‫دیگش‬ ‫کذکْبی‬ ‫اص‬ ‫ثسیبسی‬ ‫هبًٌذ‬.YUV 4:2:0 Macroblock16*168*88*84*42*22*2Subblock (4*4 Pixel)‫صیشثلَک‬ ‫یک‬4*4‫تطکیل‬‫گزاضتي‬ ‫ّن‬ ‫کٌبس‬ ‫اص‬ ُ‫ضذ‬DC‫ّبی‬ ‫صیشثلَک‬ ‫ّبی‬‫قجل‬ ِ‫هشحل‬2.‫ثشسسی‬‫هشاحل‬VP811. Macroblock
  14. 14. ‫ّب‬‫فشین‬ ‫اًَاع‬:Intra frames:‫فشیوْبیی‬ِ‫ک‬ِ‫ث‬‫طَس‬‫هستقین‬‫قبثلیت‬‫سهضگطبیی‬‫سا‬‫داسًذ‬ٍِ‫ث‬‫ػٌَاى‬‫فشین‬‫هشجغ‬‫ثشای‬‫پیص‬‫ثیٌی‬‫فشیوْبی‬‫دیگش‬‫هَسد‬ُ‫استفبد‬‫قشاس‬‫گیشًذ‬‫هی‬.Inter frames:‫فشیوْبیی‬ِ‫ک‬‫ثب‬ُ‫استفبد‬‫اص‬‫هٌبثغ‬‫فشیوْبی‬‫کذگزاسی‬ُ‫ضذ‬‫قجلی‬‫ًطبى‬ُ‫داد‬‫ضًَذ‬‫هی‬ٍ‫ثشای‬‫ثبصگطبیی‬ِ‫ث‬ٍ‫د‬ِ‫هَلف‬‫صیش‬ِ‫ٍاثست‬‫اًذ‬.‫هٌجغ‬ ‫فشیوْبی‬‫حشکت‬ ‫ثشداسّبی‬‫هٌجغ‬ ‫فشیوْبی‬‫اص‬3‫فشین‬‫هٌجغ‬‫ثشای‬‫پیص‬‫ثیٌی‬Inter framesُ‫استفبد‬‫ضَد‬‫هی‬.‫ضبیذ‬ِ‫س‬‫هٌجغ‬‫کیفیت‬‫صیبدی‬ِ‫ث‬‫هب‬‫ًذّذ‬‫ّب‬‫ه‬‫ا‬‫هٌبثغ‬‫اضبفی‬‫ثبػث‬‫افضایص‬‫قبیل‬ِ‫تَج‬ِ‫حبفظ‬‫ضَد‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP8
  15. 15. 2.‫قجلی‬ ‫فشین‬:ُ‫ضذ‬ ‫ثبصگطبیی‬ ‫فشین‬ ‫آخشیي‬.3.‫فشین‬‫هٌجغ‬‫هتٌبٍة‬:‫ایي‬‫فشین‬‫ثشخالف‬‫فشیوْبی‬‫هٌجغ‬‫دس‬‫قبلجْبی‬‫دیگش‬‫دس‬‫سهضگطب‬‫ًوبیص‬ُ‫داد‬‫ضَد‬‫ًوی‬ٍ‫فقط‬ِ‫ث‬‫ػٌَاى‬‫هشجغ‬‫هتٌبٍة‬ِ‫ث‬‫هٌظَس‬‫ثْجَد‬‫پیص‬‫ثیٌی‬‫ایجبد‬ُ‫ضذ‬‫است‬ٍ‫ثبفش‬‫آى‬‫ّوبًٌذ‬‫فشین‬‫طالیی‬ِ‫ث‬‫سٍص‬‫ضَد‬‫هی‬.‫اًؼطبف‬‫پزیشی‬VP8‫ثبػث‬ُ‫ثْش‬‫ثشدى‬‫اص‬‫ایي‬‫فشین‬‫دس‬ٍ‫د‬ًَِ‫ًو‬‫صیش‬ُ‫ضذ‬‫است‬.‫پیص‬‫ثیٌی‬‫کبّص‬‫ًَیض‬:‫اثتذا‬‫فشیوْبی‬‫هشجغ‬‫هتٌبٍة‬‫فیلتش‬‫ضًَذ‬‫هی‬ٍ‫سپس‬‫اص‬‫آًْب‬‫ثشای‬‫پیص‬‫ثیٌی‬ُ‫استفبد‬‫ضَد‬‫هی‬.‫ثْجَد‬‫پیص‬‫ثیٌی‬‫ثذٍى‬‫فشین‬B:‫یکی‬‫اص‬‫خػَغیبت‬‫اغلی‬ِ‫ک‬‫ثبػث‬‫تَاًبیی‬VP8‫دس‬‫سبصی‬ُ‫فطشد‬ُ‫ضذ‬‫است‬‫حزف‬‫فشین‬Bٍ‫جبیگضاسی‬‫آى‬‫ثب‬ُ‫استفبد‬‫اص‬‫اطالػبت‬ِ‫گزضت‬(‫فشیوْبی‬‫طالیی‬ٍ‫قجلی‬)ٍُ‫آیٌذ‬(‫فشین‬‫هشجغ‬‫هتٌبٍة‬)‫غَست‬‫پزیشد‬‫هی‬.1.‫فشین‬‫هٌجغ‬‫طالیی‬:‫فشین‬‫طالیی‬‫یک‬‫فشین‬‫اص‬ِ‫ًقط‬ُ‫دلخَا‬‫دس‬ِ‫گزضت‬‫است‬ٍ‫دس‬‫یک‬‫ثبفش‬ُ‫رخیش‬‫ضَد‬‫هی‬ِ‫ک‬‫تَسط‬‫تؼذادی‬‫پشچن‬‫سٍصسسبًی‬ِ‫ث‬‫ضَد‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP8
  16. 16. ‫ثیٌی‬ ‫پیص‬‫فشین‬ ‫یک‬ ‫داخل‬ ‫دس‬ ‫ثیٌی‬ ‫پیص‬ ‫ثشای‬(intra)‫ضَد‬‫هی‬ ُ‫استفبد‬ ‫ثلَک‬ ‫ًَع‬ ِ‫س‬ ‫اص‬. Luma 4*4  Luma 16*16  Chroma 8*8‫ضًَذ‬‫هی‬ ِ‫گزاضت‬ ‫اضتشاک‬ ِ‫ث‬ ‫ّب‬ ‫ثلَک‬ ‫ایي‬ ‫تَسط‬ ِ‫ک‬ ‫هؼوَلی‬ ‫ّبی‬ ‫حبلت‬..1‫پیص‬‫ثیٌی‬‫افقی‬(H_PERD):‫اص‬‫آخشیي‬‫ستَى‬‫ثلَک‬‫سوت‬‫چپ‬‫ثشای‬‫پیص‬‫ثیٌی‬‫سطشّبی‬‫هتٌبظش‬ُ‫ثْش‬‫ثشد‬‫هی‬..2‫پیص‬‫ثیٌی‬‫ػوَدی‬(V_PERD):‫اص‬‫آخشیي‬‫سطش‬‫ثلَک‬‫ثبالیی‬‫ثشای‬‫پیص‬‫ثیٌی‬‫ّبی‬‫ستَى‬‫هتٌبظش‬ُ‫ثْش‬‫ثشد‬‫هی‬..3‫پیص‬‫ثیٌی‬‫هیبًگیي‬(DC_PERD):‫اص‬‫هیبًگیي‬‫هجوَع‬‫آخشیي‬‫سطش‬‫ثلَک‬‫ثبالیی‬ٍ‫آخشیي‬‫ستَى‬‫ثلَک‬‫سوت‬‫چپ‬‫ثب‬C‫ثشای‬‫پیص‬‫ثیٌی‬‫کل‬‫ّبی‬‫پیکسل‬‫ثلَک‬ُ‫ثْش‬‫ثشد‬‫هی‬..4TM-PRED:‫سٍش‬‫هٌحػش‬ِ‫ث‬‫فشدی‬ِ‫ک‬VP8‫هؼشفی‬‫کٌذ‬‫هی‬ٍ‫اص‬‫ّبی‬‫سٍش‬‫قجلی‬‫دس‬VP8‫تش‬‫پشکبسثشد‬‫است‬.1.‫داخلی‬(intra)2.‫ثشسسی‬‫هشاحل‬VP8
  17. 17. CDC-PERDV-PERDTM-PERDH-PERD2.‫ثشسسی‬‫هشاحل‬VP8Clampj;k(x)=𝑘 𝑖𝑓 𝑥 > 𝑘𝑥 𝑖𝑓 𝑗 > 𝑥 ≥ 𝑘𝑗 𝑖𝑓 𝑗 ≥ 𝑥Xi;j = Clamp0;255 (Lj + Ai - C) ; (i, j=0, 1, 2, 3)
  18. 18. ‫ّبی‬ ‫ثلَک‬ ‫ثشای‬Luma 4*46‫داسد‬ ‫ٍجَد‬ ‫دیگش‬ ‫اضبفی‬ ‫حبلت‬.1 2 53 642.‫ثشسسی‬‫هشاحل‬VP8
  19. 19. 1.‫خبسجی‬(inter)‫ّبی‬‫فشین‬ ‫هختع‬ ‫خبسجی‬ ‫ثیٌی‬ ‫پیص‬ ‫سٍضْبی‬inter‫ثبضذ‬‫هی‬(.non-intra frames)‫حشکت‬ ‫تخویي‬‫ثشداسّبی‬‫حشکت‬‫تؼییي‬‫ضًَذ‬‫هی‬ِ‫ث‬ِ‫ٍاسط‬‫اًتقبل‬‫اص‬‫یک‬‫فشین‬ِ‫ث‬‫دیگشی‬ِ‫ک‬‫دس‬‫ثلَکْبی‬4*4 , 8*8 , 16*8 , 8*16 , 16*16‫هَسد‬ُ‫استفبد‬‫قشاس‬‫گیشًذ‬‫هی‬.‫فقط‬‫ثشداسّبی‬‫حشکت‬Lumaِ‫هحبسج‬‫ضًَذ‬‫هی‬ٍ‫ثشداسّبی‬‫حشکت‬Chromaِ‫ث‬ِ‫ٍاسط‬‫هیبًگیي‬‫گیشی‬‫اص‬‫ثشداسّبی‬‫حشکت‬‫ثلَکْبی‬Luma‫ثشآٍسد‬‫ضًَذ‬‫هی‬.ِ‫ک‬‫ّویي‬‫اهش‬‫ثبػث‬‫افضایص‬ٍ‫د‬‫ثشاثشی‬‫دقت‬‫دس‬Chroma‫ًسجت‬ِ‫ث‬Lumaِ‫ک‬‫داسای‬‫دقت‬‫چْبسم‬‫یک‬‫پیکسل‬‫است‬‫ضَد‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP8
  20. 20. ‫اًَاع‬‫سٍضْبی‬‫پیص‬‫ثیٌی‬‫خبسجی‬Nearest-MV:ُ‫استفبد‬‫هجذد‬‫اص‬‫ثشداس‬‫حشکت‬‫غیش‬‫غفش‬‫آخشیي‬‫ثلَک‬‫سهض‬‫گطبیی‬ُ‫ضذ‬.Near-MV:ُ‫استفبد‬‫هجذد‬‫اص‬‫ثشداس‬‫حشکت‬‫غیش‬‫غفش‬‫یکی‬ِ‫ث‬‫آخشیي‬‫ثلَک‬‫سهض‬‫گطبیی‬ُ‫ضذ‬.Zero-MV:‫دس‬‫ثلَک‬‫ّیچ‬‫جبیی‬ِ‫جبث‬‫غَست‬‫گیشد‬‫ًوی‬ٍ‫ّوبى‬‫ثلَک‬‫هتٌبظش‬‫دس‬‫فشین‬‫قجلی‬‫است‬.New-MV:‫ایي‬‫هذل‬‫اص‬‫اطالػبت‬‫ثشداس‬‫حشکت‬‫پیشٍی‬‫کٌذ‬‫هی‬ٍ‫ایي‬‫طالػبت‬ِ‫ث‬‫ثبفش‬‫ثلَکْبی‬‫سهضگطبیی‬ُ‫ضذ‬‫قجلی‬ِ‫اضبف‬‫ضَد‬‫هی‬.Split-MV:‫ایي‬‫سٍش‬ِ‫ک‬‫هختع‬VP8‫ثبضذ‬‫هی‬‫یک‬‫سٍش‬ِ‫پیطشفت‬ٍ‫اًؼطبف‬‫پزیش‬‫دس‬‫پیص‬‫ثیٌی‬‫ثبضذ‬‫هی‬.‫دسایي‬‫سٍش‬‫اص‬‫تقسین‬‫ثٌذی‬‫ثلَکْبی‬‫دسضت‬ِ‫ث‬‫صیشثلَکْبیی‬ِ‫ث‬‫هٌظَس‬‫سسیذى‬ِ‫ث‬‫پیص‬‫ثیٌی‬‫ثْتش‬‫ثب‬ُ‫ثْش‬‫گیشی‬‫اص‬‫ثشداسّبی‬‫حشکت‬ًِ‫چٌذگب‬‫دس‬‫سطح‬‫ثلَک‬‫ّبی‬‫دسضت‬ُ‫استفبد‬‫ضَد‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP811. Inter prediction
  21. 21. ‫ایي‬‫سٍش‬‫ٌّگبهی‬‫هفیذ‬‫است‬ِ‫ک‬‫ضبّذ‬‫ّبی‬‫ٍیظگی‬‫حشکتی‬‫هتفبٍتی‬‫دس‬‫سطح‬‫ثلَکْبی‬‫دسضت‬‫ثبضین‬.Macroblock 16*16‫ایي‬‫سٍش‬‫دس‬‫صیشثلَکْبی‬4*4‫اص‬‫حبلتْبی‬New 4*4 , Above 4*4 , Zero 4*4 ,Left 4*4ِ‫ک‬Left,Aboveِ‫ث‬‫تشتیت‬‫پشکبسثشد‬‫تش‬‫ّستٌذ‬.ًَِ‫ّوبًگ‬ِ‫ک‬‫دس‬‫ضکل‬ُ‫آهذ‬‫ضکل‬ُ‫آهذ‬‫است‬‫یک‬‫ثلَک‬‫دسضت‬‫اص‬ِ‫س‬‫ثخص‬‫حشکتی‬‫تطکیل‬ُ‫ضذ‬‫است‬.2.‫ثشسسی‬‫هشاحل‬VP8
  22. 22. Motion vectors.Inter-codedmacroblocks aredisplayed asgreen, intracodedas purple. Theline extendingfrom the center ofeach green blockcorrespondsto the motionvector.2.‫ثشسسی‬‫هشاحل‬VP8
  23. 23. Motion Compensation & Sub-pixel InterpolationVP8‫اص‬‫ثشداسّبی‬‫حشکت‬‫ثب‬‫دقت‬‫چْبسم‬‫یک‬ٍ‫ّطتن‬‫یک‬‫پیکسل‬ِ‫ث‬‫تشتیت‬‫ثشای‬‫تشهین‬‫حشکت‬‫دس‬‫پیکسلْبی‬LumaٍChromaُ‫ثْش‬‫ثشد‬‫هی‬.‫یبثی‬‫دسٍى‬‫صیشپیکسل‬‫ّب‬‫اص‬‫خػَغیبت‬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 positionsVP8‫اص‬bicubic filters4‫تبیی‬‫ثشای‬‫هَقؼیت‬‫پیکسلْبی‬1/8،3/8،5/8ٍ7/8ُ‫استفبد‬‫کٌذ‬‫هی‬.‫دس‬‫حبت‬‫کلی‬VP8ِ‫پشٍس‬‫فیلتشّبی‬‫یبثی‬‫دسٍى‬‫سا‬‫ثشای‬‫دستیبثی‬ِ‫ث‬‫پبسخ‬‫فشکبًسی‬‫هطلَة‬‫ثب‬‫ٍسی‬ُ‫ثْش‬‫ثبالی‬‫هحبسجبتی‬‫اًجبم‬‫دّذ‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP8
  24. 24. VP8‫اص‬‫تشکیت‬ٍ‫د‬‫تجذیل‬‫کسیٌَسی‬ٍ‫ٍالص‬‫ّبداهبسد‬‫دس‬‫تجذیل‬ُ‫ثْش‬‫ثشد‬‫هی‬.Macroblock16*168*88*8YUV 4:2:04*4Subblock (4*4 Pixel)33 33 45 7723 45 57 88130 154 123 111130 140 160 1232*22*2DCT143 23 0 07 3 0 00 0 0 00 0 0 0‫سطح‬ ‫تجذیل‬12.‫ثشسسی‬‫هشاحل‬VP8‫تجذیل‬11. Transformation
  25. 25. 4*4‫هبتشیس‬ ‫یک‬4*4‫تطکیل‬‫گزاضتي‬ ‫ّن‬ ‫کٌبس‬ ‫اص‬ ُ‫ضذ‬DC‫هبتشیسْبی‬ ‫ّبی‬4*4‫قجل‬ ِ‫هشحل‬Macroblock(n Matrix4*4)n=16143 140 134 166130 140 160 99211 234 123 55177 122 100 44DCT1 1 1 11 1 -1 -11 -1 1 -11 -1 -1 11 1 1 11 1 -1 -11 -1 1 -11 -1 -1 1H=14H=A=Normalized TransformationMatrixB=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‫سطح‬ ‫تجذیل‬2Y2.‫ثشسسی‬‫هشاحل‬VP8
  26. 26. ‫تذسیج‬DC‫سطح‬ ‫سٍضٌبیی‬ ‫ضذت‬1AC‫سطح‬ ‫سٍضٌبیی‬ ‫ضذت‬1DC‫سًگی‬ ‫طیف‬AC‫سًگی‬ ‫طیف‬DC‫سطح‬ ‫سٍضٌبیی‬ ‫ضذت‬2AC‫سطح‬ ‫سٍضٌبیی‬ ‫ضذت‬2‫تذسیج‬‫دس‬VP8‫اص‬‫کبسایی‬‫ثیطتشی‬‫ثشخَسداس‬‫است‬ٍ‫داسای‬‫طیف‬‫کیفیت‬30-45dbِ‫ک‬‫داسای‬128‫سطح‬‫تذسیج‬‫ثبضذ‬‫هی‬.ِ‫ک‬‫ثشای‬‫ّش‬‫فشین‬ِ‫ث‬‫اسهغبى‬‫آٍسد‬‫هی‬‫سطَح‬‫هتفبٍت‬‫تذسیج‬‫سا‬‫ثشای‬6‫ثخص‬‫فشکبًسی‬‫صیش‬4*42*2164LumaChroma2.‫ثشسسی‬‫هشاحل‬VP811. Quantization
  27. 27. 2.‫ثشسسی‬‫هشاحل‬VP8q0q2q1‫تذسیج‬ ‫هختلف‬ ‫ّبی‬ ‫طیف‬q3
  28. 28. ‫اًطجبقی‬ ِ‫حلق‬ ‫فیلتش‬‫فیلتش‬ِ‫حلق‬‫یک‬‫فشایٌذ‬‫اص‬‫ثیي‬‫ثشدى‬‫تبثیشات‬‫ثٌذی‬‫ثلَک‬‫تَلیذ‬ُ‫ضذ‬‫تَسط‬‫تذسیج‬‫ضشایت‬‫تجذیل‬‫کسیٌَسی‬‫دس‬‫تجذیل‬‫ثلَکی‬‫است‬.‫تذسیج‬ ‫تػَیش‬ ‫اص‬ ‫قسوتی‬‫ثلَک‬ ‫تبثیش‬ ِ‫ک‬ ِ‫یبفت‬‫قبثل‬ ‫آى‬ ‫دس‬ ‫ثٌذی‬‫است‬ ُ‫هطبّذ‬2.‫ثشسسی‬‫هشاحل‬VP8
  29. 29. ‫فیلتش‬ ِ‫ث‬ ‫ًیبص‬ ‫ثذٍى‬ ‫سبکي‬‫کَچک‬ ‫فیلتش‬ ِ‫ث‬ ‫ًیبص‬ ‫خفیف‬ ‫تحشکت‬‫تحشکت‬‫ثبال‬‫فیلتش‬ ِ‫ث‬ ‫ًیبص‬‫قَی‬VP8‫ثبضذ‬‫هی‬ ‫فیلتش‬ ‫سطح‬ ٍ‫د‬ ‫داسای‬.1‫هختػش‬.2‫ًشهبل‬2.‫ثشسسی‬‫هشاحل‬VP8
  30. 30. ‫ضَد‬‫هی‬ ُ‫استفبد‬ ‫صیش‬ ‫ّبی‬ ‫سٍش‬ ‫دسضت‬ ‫ثلَک‬ ‫دس‬ ‫کشدى‬ ‫فیلتش‬ ‫هٌظَس‬ ِ‫ث‬:1.‫ثبالیی‬ ‫دسضت‬ ‫ثلَک‬ ِ‫لج‬2.‫چپی‬ ‫سوت‬ ‫دسضت‬ ‫ثلَک‬ ِ‫لج‬3.‫ّب‬ ‫صیشثلَک‬ ‫ػوَدی‬ ‫ّبی‬ِ‫لج‬4.‫ّب‬ ‫صیشثلَک‬ ‫افقی‬ ‫ّبی‬ ِ‫لج‬Macroblock2.‫ثشسسی‬‫هشاحل‬VP8
  31. 31. 2468taptaptaptap130 130 170 170130 130 170 170130 130 170 170130 130 170 170q1p1 q2 q3 q4p2p3p4130 140 160 170130 140 160 170130 140 160 170130 140 160 170q1p1 q2p2a= (170-130)/4a= 10p1= 130+10=140q1= 170-10=160‫هختػش‬ ‫سٍش‬ ِ‫ث‬ ِ‫حلق‬ ‫فیلتش‬‫فیلتش‬ِ‫حلق‬‫ًشهبل‬ٍُ‫ػال‬‫ثش‬‫ثخطْبی‬4ٍ6‫ای‬ِ‫تک‬‫سٍش‬‫هختػش‬‫داسای‬‫ثخطْبی‬2ٍ8ِ‫تک‬‫ًیض‬‫است‬.2.‫ثشسسی‬‫هشاحل‬VP8
  32. 32. Blocking Artifacts‫ای‬ِ‫حلق‬ ‫فیلتش‬ ‫اػوبل‬ ‫ثب‬ ‫تػَیش‬‫ای‬ِ‫حلق‬ ‫فیلتش‬ ‫اػوبل‬ ‫ثذٍى‬ ‫تػَیش‬‫تبثیشات‬‫هثجت‬‫فیلتش‬‫ای‬ِ‫حلق‬‫ثشای‬‫حزف‬‫تبثیش‬‫ثلَک‬‫ثٌذی‬‫دس‬‫صیش‬‫قبثل‬ُ‫هطبّذ‬‫است‬‫ٍلی‬‫هطکلی‬ِ‫ک‬‫دس‬‫ایي‬‫ػول‬‫ٍجَد‬‫داسد‬‫ٍاثستگی‬‫هیبى‬‫ثلَک‬‫ّبی‬‫دسضت‬‫ثبضذ‬‫هی‬.2.‫ثشسسی‬‫هشاحل‬VP8
  33. 33. 2.‫ثشسسی‬‫هشاحل‬VP8‫سهضگزاس‬–‫قطؼیت‬ ‫ػذم‬ ‫ثب‬ ‫سهضگطب‬‫ّذف‬‫کذگزاسی‬‫کبّص‬‫تؼذاد‬‫جشیبى‬‫ای‬ُ‫داد‬‫ثبیٌشی‬‫خبم‬‫است‬،ِ‫ک‬‫ثب‬ُ‫استفبد‬‫اص‬‫ایجبد‬ًِ‫ًطب‬‫ثشای‬‫هقبدیش‬ٍ‫حذاقل‬‫سبصی‬‫حجن‬‫ثبصخَاًی‬‫ثشای‬ًِ‫ًطب‬‫ثب‬‫ثیطتشیي‬‫تکشاس‬‫غَست‬‫گیشد‬‫هی‬.Binary arithmetic codingHuffman Tree187 0 0 02 0 0 01 0 0 00 0 0 0sub-block‫ّب‬ ًِ‫ًطب‬ ‫ایجبد‬ ‫هشاحل‬(Tokens: )1.‫ضشایت‬ ِ‫یبفت‬ ‫تذسیج‬ ‫خَاًذى‬DCT , WHT‫صیشثلَک‬ ‫ّش‬ ‫ثشای‬(4*4)2.‫هقذاس‬ ‫ّش‬ ‫ثشای‬ ‫ّب‬ ًِ‫ًطب‬ ‫دسخػَظ‬ ‫اًتخبثی‬ ‫لیست‬187, 0, 2, 1, 0, 0, 0, 0, 0, ...
  34. 34. EOB0123 45-6 7-1011-18 67-204835-6619-34Output Huffman Tree : 11111111 101100 110 0187, 0 , 2 , 1 , 0 , 0 , 0 , 0 , 0, ...DCT/WHT coefficients :Range : 67 – 2048Offset : 187 – 67 = 120Extra Bits : 11Binary Offset : 0000 0111 1000Output : 11111111 00000111 1000 10 1100 110 02.‫ثشسسی‬‫هشاحل‬VP8‫جبی‬ ِ‫ث‬ ‫افضًٍگی‬ ‫کبّص‬ ‫ثذلیل‬11100‫اص‬1100‫هقذاس‬ ‫ثشای‬2‫ضَد‬‫هی‬ ُ‫استفبد‬.‫دسخت‬ ‫گیشی‬ ‫تػوین‬ ُ‫گش‬‫دسخت‬ ‫ثشگ‬10
  35. 35. 2.‫ثشسسی‬‫هشاحل‬VP8‫هَاصی‬ ‫پشداصش‬‫فشین‬ ‫سبختبس‬‫یکی‬‫اص‬‫گشایطبت‬‫جذیذ‬‫دس‬ِ‫تَسؼ‬ُ‫سیضپشداصًذ‬،‫ّب‬ُ‫پشداصًذ‬‫ّبیی‬ِ‫ک‬‫چٌذ‬‫ای‬ِ‫ّست‬‫ّستٌذ‬.‫فشین‬‫ثخص‬1 ‫ثخص‬2‫سشفشین‬‫ضَد‬‫هی‬ ‫تطکیل‬ ‫ثخص‬ ِ‫س‬ ‫اص‬ ‫فشین‬ ‫یک‬.1.‫سشفشین‬(‫فشین‬ ‫هؼشفی‬)‫فشین‬ ‫ًَع‬0ٍ ‫اغلی‬1‫فشػی‬ِ‫ًسخ‬ ُ‫ضوبس‬3‫ثیت‬‫ًوبیص‬(1)‫ًوبیص‬ ‫ػذم‬ ‫یب‬(0)‫فشین‬ 2.‫ثخص‬1‫اطالػبت‬‫اغلی‬‫ثشای‬‫یکپبسچگی‬‫فشین‬ٍ‫اطالػبت‬‫هبکشٍثلَک‬‫پیطیي‬ِ‫ک‬‫چگًَگی‬‫ثیٌی‬‫پیص‬‫ّش‬‫ثلَک‬‫دسضت‬‫سا‬‫هطخع‬‫کٌذ‬‫هی‬19‫ثخص‬ ‫طَل‬ ‫ثیت‬ِ‫اٍلی‬ ‫ّبی‬ُ‫داد‬3.‫ثخص‬2‫الگَی‬‫اطالػبت‬‫ضشایت‬‫تذسیج‬ِ‫یبفت‬DCT & WHT،‫ّش‬‫سطش‬‫اختیبسی‬‫دس‬‫ثلَک‬‫دسضت‬‫اهکبى‬‫تشسین‬‫ضذى‬‫دس‬‫یک‬‫ثخص‬‫هجضا‬‫سا‬‫داسد‬ٍ‫ایي‬‫خػَغیت‬‫ثبػث‬‫تَاًبیی‬‫تقسین‬‫ضذى‬‫ثلَک‬‫دسضت‬‫تب‬8‫ثخص‬‫ثشای‬‫پشداصش‬‫هَاصی‬‫سا‬‫فشاّن‬‫کٌذ‬‫هی‬
  36. 36. ‫هتفبٍت‬ ‫افضاس‬ ‫سخت‬ ‫سٍی‬ ‫ثش‬ ‫گطبیی‬ ‫سهض‬ ‫سشػت‬3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  37. 37. ‫هختلف‬ ‫هبًیتَسّبی‬ ‫دس‬ ‫خشٍجی‬ ‫کیفیت‬3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  38. 38. VP8 – ffmpeg (ffvp8) calculation for hall_cif.yuv(90 frames):3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  39. 39. H.264 - ffmpeg calculation for hall_cif.yuv(90 frames):3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  40. 40. 3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  41. 41. 3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …‫سهضگزاسی‬ ‫سشػت‬
  42. 42. Mos Ratings For Varied Packet LossH.264WebM/VP83.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  43. 43. Mos Ratings For Varied Delay VariationH.264WebM/VP83.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  44. 44. optiscyclistspreaknessjetscrew3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …panslowharbour
  45. 45. -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.0YPSNR difference [dB]3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  46. 46. YSSIM difference-0.020 -0.015 -0.010 -0.005 0.000 0.005 0.010 0.015 0.023.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  47. 47. DecoderspeedEncoderspeedH.264 VP8H.264 VP8VP8H.264CompressH.264 VP8QualityVP8H.264 VP8H.264SuccessH.264Color ?VP8Color ?Royalty3.‫اسصیبثی‬ِ‫هقبیس‬ ٍVP8 & H.264 , …
  48. 48. 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 Paperhttp://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/37073.pdfAn Analysis of VP8, a New Video Codec forthe Web By Sean A. CassidyFast Intra- and Inter-Prediction ModeDecision in H.264 Advanced Video CodingMulti-Rate VP8 Video Encoding Master’sThesis By Dag Haavi FinstadWhite Paper: H.264 / AVC Intra PredictionBy Iain RichardsonReduced 4x4 Block Intra Prediction Modesusing 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 CodingBy Glen G. Langdon, JrAnalysis of packet loss and delay variationon QoE for H.264 andWebM/VP8 CodecsYeshwanth Alahari , Buddhiraja Prashant‫شما‬‫توجه‬‫از‬‫تشکر‬‫با‬Refrence

×