SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
VP8
is a video
compression format
Hassan.alizadeh.varkolaii@gmail.com
Mohammad Esmaeilpoor Hassan Alizadeh
Azadeh Mansouri
Production By
Kharazmi University of Tehran
‫فهرست‬
1.‫تاریخچه‬VP8
2.‫بررسی‬‫مراحل‬VP8
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
‫ویدئو‬ ‫سازی‬ ‫فشرده‬
‫فشرده‬‫سازی‬‫تصاویر‬‫ویدئویی‬‫با‬‫استفاده‬‫از‬‫تکنیک‬‫های‬‫مدرن‬‫برنامه‬‫ن‬‫ویسی‬‫به‬
‫منظور‬‫کاهش‬‫افزونگی‬‫در‬‫داده‬‫های‬‫ویدئویی‬‫صورت‬‫‌پذیرد‬‫ی‬‫م‬.‫اکثر‬‫الگوریت‬‫م‬‫ها‬
‫و‬‫کدهای‬‫فشرده‬‫سازی‬‫ترکیبی‬‫از‬‫فشرده‬‫سازی‬‫در‬‫سطح‬‫تصاویر‬‫مکانی‬‫و‬
‫حرکات‬‫زمانی‬‫است‬.‫در‬‫عمل‬‫بسیاری‬‫از‬‫کدهای‬‫ویدئویی‬‫همچنین‬‫بهره‬‫‌ب‬‫ی‬‫م‬‫رند‬
‫از‬‫‌های‬‫ک‬‫تکنی‬‫فشرده‬‫سازی‬‫صوتی‬‫به‬‫صورت‬‫موازی‬‫و‬‫جداگانه‬،‫اما‬‫ترکیب‬‫ا‬‫ین‬
‫جریانات‬‫‌ای‬‫ه‬‫داد‬‫به‬‫عنوان‬‫یک‬‫بسته‬(‫قالب‬‫ویدئویی‬)‫ارائه‬‫‌شود‬‫ی‬‫م‬.
1.‫تاریخچه‬VP8
1
1. Video compression
‫شرکت‬On2-Technologies‫د‬‫ر‬‫س‬‫ا‬‫ل‬1992‫افتتا‬‫ح‬‫ش‬‫د‬‫ه‬‫ا‬‫س‬‫ت‬‫و‬
‫د‬‫ر‬‫س‬‫ا‬‫ل‬2010‫ت‬‫و‬‫س‬‫ط‬‫شرکت‬Google‫ب‬‫ا‬‫ا‬‫ر‬‫ز‬‫ش‬124‫میلیون‬‫دال‬‫ر‬‫خر‬‫ی‬‫داری‬
‫و‬‫یکی‬‫از‬‫زیرمجموعه‬‫های‬‫آن‬‫شد‬.
‫این‬‫شرکت‬‫نسخه‬‫های‬‫مختلف‬VP‫را‬‫تولید‬‫کرده‬‫است‬‫و‬VP8‫در‬‫زمان‬
‫تملک‬‫گوگل‬‫طراحی‬‫شد‬‫و‬‫هدف‬‫اصلی‬‫گوگل‬‫ساخت‬‫قالبی‬‫ویدئویی‬‫تحت‬‫وب‬
‫بود‬‫که‬‫برمبنای‬HTML5 &VP8‫پیاده‬‫سازی‬‫شود‬‫تا‬‫بتواند‬‫با‬‫بهره‬‫گیری‬
‫از‬‫آن‬‫تحولی‬‫در‬‫پایگاه‬‫ویدئویی‬‫خود‬YouTube‫ایجاد‬،‫کند‬‫که‬WEBM‫نام‬
‫گرفت‬‫و‬‫جایگزین‬Adobe Flash Player & H.264‫شد‬‫و‬‫توسط‬
Matroska‫پشتیبانی‬‫شد‬.
1.‫تاریخچه‬VP8
VP8‫یک‌بخشی‌از‌یک‌دانش‌خانوادگی‌از‌کدگذاری‌میباشد‬
VP3‫به‌صورت‌متن‌باز‬‫در‬XIPH Theora‌‫منتشر‬‌‫شده‌است‬
VP6‌‫در‌فلش‌ویدئو‌استفاده‬‌‫می‌شود‬
VP7‌‫در‬Skype‫استفاده‌میشود‬
‌‫ابزار‌و‌کتابخانه‬:
‌‫نسلهای‬VP
● Gstreamer
● FFmpeg
● libvpx
● ffvp8
1.‫تاریخچه‬VP8
‫تعریف‬‫مسئله‬:
.1‫نبود‬‫استانداردی‬‫برای‬‫ویدئو‬‫در‬‫قالب‬‫وب‬
.2‫خصوصیات‬‫استفاده‬‫شونده‬‫های‬‫رایج‬
H.264‌:‫نیاز‬‫به‬‫دریافت‬‫حق‬‫امتیاز‬
Theora‌:‫دارای‬‫حق‬‫تالیف‬‫ازاد‬‫ولی‬‫قدیمی‬‫شدن‬‫تکنولوژی‬‫ساخت‬
.3‫محدودیت‬‫پهنای‬‫باند‬‫در‬‫شبکه‬‫های‬‫ارتباطی‬
.4‫حجم‬‫زیاد‬‫محاسبات‬‫در‬‫فشرده‬‫سازی‬‫و‬‫بازیابی‬
1.‫تاریخچه‬VP8
‫نرم‬‫افزارهای‬‫پشتیبانی‬‫کننده‬
CollaboraAnystreamAndroid
CorecodecFirefoxAdobe Flash
Google ChromeiLincInlet
OperaooVooSkype
Sorenson MediaTheora.orgTelestream
‫سخت‬‫افزارهای‬‫منطبق‬
BroadcomARMAMD
FreescaleDigital RapidsHarmonic
NVIDIAImagination
Technologies
Marvell
Texas InstrumentsMIPSView Cast
‫پایگاه‌ها‌و‌منتشر‌کننده‌ها‬
Encoding.comZencoderYouTube
BrightcoveKalturaHD Cloud
1.‫تاریخچه‬VP8
1.‫تاریخچه‬VP8
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
‫فضا‌رنگ‬
‫انواع‌فریم‬
‫بلوک‌درشت‬
‫درونیابی‌زیر‌پیکس‬‫ل‬
‫تدریج‬
‫‌بینی‌خارجی‬‫ش‬‫پی‬
‫‌بینی‌داخلی‬‫ش‬‫پی‬
‫ترمیم‌حرکت‬
‫فیلتر‌حلقه‌انطباق‬‫ی‬
‌‫تبدیل‬
‫کدگذاری‬ ‫پردازش‌موازی‬
2.‫بررسی‬‫مراحل‬VP8
‫مراحل‬ ‫انجام‬ ‫دیاگرام‬VP8
YUV 4:2:0 RGB
‌‫فضا‌رنگ‬:
420‫رنگی‬ ‫عمق‬ ‫با‬ ‫رنگی‬ ‫نمونه‬8bit‫اسکن‬ ‫با‬
‫شدن‬ ‫تنیده‬ ‫درهم‬ ‫روش‬ ‫بدون‬ ‫فزاینده‬
(no interlaced)
2.‫بررسی‬‫مراحل‬VP8
‫بلوکهای‌درشت‬
‫شود‬‫می‬ ‫تجزیه‬ ‫درشتی‬ ‫بلوکهای‬ ‫به‬ ‫تصویر‬ ‫هر‬ ‫ویدئویی‬ ‫دیگر‬ ‫کدکهای‬ ‫از‬ ‫بسیاری‬ ‫مانند‬.
YUV 4:2:0 Macroblock
16*16
8*8
8*8
4*4
2*2
2*2
Subblock (4*4 Pixel)
‫زیربلوک‬ ‫یک‬4*4‫تشکیل‬
‫گذاشتن‬ ‫هم‬ ‫کنار‬ ‫از‬ ‫شده‬
DC‫های‬ ‫زیربلوک‬ ‫های‬
‫قبل‬ ‫مرحله‬
2.‫بررسی‬‫مراحل‬VP8
1
1. Macroblock
‌‫‌ها‬‫م‬‫انواع‌فری‬:
Intra frames:‫فریمهایی‬‫که‬‫به‬‫طور‬‫مستقیم‬‫قابلیت‬‫رمزگشایی‬‫را‬‫دارند‬‫و‬‫ب‬‫ه‬
‫عنوان‬‫فریم‬‫مرجع‬‫برای‬‫پیش‬‫بینی‬‫فریمهای‬‫دیگر‬‫مورد‬‫استفاده‬‫قرار‬‫گیرند‬‫می‬.
Inter frames:‫فریمهایی‬‫که‬‫با‬‫استفاده‬‫از‬‫منابع‬‫فریمهای‬‫کدگذاری‬‫شده‬‫قب‬‫لی‬
‫نشان‬‫داده‬‫شوند‬‫می‬‫و‬‫برای‬‫بازگشایی‬‫به‬‫دو‬‫مولفه‬‫زیر‬‫وابسته‬‫اند‬.
‫منبع‬ ‫فریمهای‬‫حرکت‬ ‫بردارهای‬
‌‫فریمهای‌منبع‬
‫از‬3‫فریم‬‫منبع‬‫برای‬‫پیش‬‫بینی‬Inter frames‫استفاده‬‫شود‬‫می‬.‫شاید‬‫سه‬‫منبع‬
‫کیفیت‬‫زیادی‬‫به‬‫ما‬‫ندهد‬‫ّا‬‫م‬‫ا‬‫منابع‬‫اضافی‬‫باعث‬‫افزایش‬‫قایل‬‫توجه‬‫حافظه‬‫شو‬‫می‬‫د‬.
2.‫بررسی‬‫مراحل‬VP8
2‌.‌‫فریم‌قبلی‬‌:‫شده‬ ‫بازگشایی‬ ‫فریم‬ ‫آخرین‬.
3.‫فریم‬‫منبع‬‫متناوب‬:‫این‬‫فریم‬‫برخالف‬‫فریمهای‬‫منبع‬‫در‬‫قالبهای‬‫دیگر‬‫در‬‫ر‬‫مزگشا‬
‫نمایش‬‫داده‬‫شود‬‫نمی‬‫و‬‫فقط‬‫به‬‫عنوان‬‫مرجع‬‫متناوب‬‫به‬‫منظور‬‫بهبود‬‫پیش‬‫بینی‬‫ایجاد‬
‫شده‬‫است‬‫و‬‫بافر‬‫آن‬‫همانند‬‫فریم‬‫طالیی‬‫به‬‫روز‬‫شود‬‫می‬.
‫انعطاف‬‫پذیری‬VP8‫باعث‬‫بهره‬‫بردن‬‫از‬‫این‬‫فریم‬‫در‬‫دو‬‫نمونه‬‫زیر‬‫شده‬‫است‬.
‫پیش‬‫بینی‬‫کاهش‬‫نویز‬:‫ابتدا‬‫فریمهای‬‫مرجع‬‫متناوب‬‫فیلتر‬‫شوند‬‫می‬‫و‬‫سپ‬‫س‬‫از‬‫آنها‬
‫برای‬‫پیش‬‫بینی‬‫استفاده‬‫شود‬‫می‬.
‫بهبود‬‫پیش‬‫بینی‬‫بدون‬‫فریم‬B:‫یکی‬‫از‬‫خصوصیات‬‫اصلی‬‫که‬‫باعث‬‫توانایی‬VP8‫در‬
‫سازی‬‫فشرده‬‫شده‬‫است‬‫حذف‬‫فریم‬B‫و‬‫جایگزاری‬‫آن‬‫با‬‫استفاده‬‫از‬‫اطالعات‬‫گذشته‬
(‫فریمهای‬‫طالیی‬‫و‬‫قبلی‬)‫و‬‫آینده‬(‫فریم‬‫مرجع‬‫متناوب‬)‫صورت‬‫پذیرد‬‫می‬.
1.‫فریم‬‫منبع‬‫طالیی‬:‫فریم‬‫طالیی‬‫یک‬‫فریم‬‫از‬‫نقطه‬‫دلخواه‬‫در‬‫گذشته‬‫است‬‫و‬‫در‬‫یک‬
‫بافر‬‫ذخیره‬‫شود‬‫می‬‫که‬‫توسط‬‫تعدادی‬‫پرچم‬‫روزرسانی‬‫به‬‫شود‬‫می‬.
2.‫بررسی‬‫مراحل‬VP8
‫پیش‌بینی‬
‫فریم‬ ‫یک‬ ‫داخل‬ ‫در‬ ‫بینی‬ ‫پیش‬ ‫برای‬(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
C
DC-PERD
V-PERD
TM-PERD
H-PERD
2.‫بررسی‬‫مراحل‬VP8
Clampj;k(x)=
𝑘 𝑖𝑓 𝑥 > 𝑘
𝑥 𝑖𝑓 𝑗 > 𝑥 ≥ 𝑘
𝑗 𝑖𝑓 𝑗 ≥ 𝑥
Xi;j = Clamp0;255 (Lj + Ai - C) ; (i, j=0, 1, 2, 3)
‫های‬ ‫بلوک‬ ‫برای‬Luma 4*46‫دارد‬ ‫وجود‬ ‫دیگر‬ ‫اضافی‬ ‫حالت‬.
1 2 5
3 64
2.‫بررسی‬‫مراحل‬VP8
1‌.‫خارجی‬(inter)
‫های‬‫فریم‬ ‫مختص‬ ‫خارجی‬ ‫بینی‬ ‫پیش‬ ‫روشهای‬inter‫باشد‬‫می‬(.non-intra frames)
‫حرکت‬ ‫تخمین‬
‫بردارهای‬‫حرکت‬‫تعیین‬‫شوند‬‫می‬‫به‬‫واسطه‬‫انتقال‬‫از‬‫یک‬‫فریم‬‫به‬‫دیگری‬‫که‬‫در‬‫ب‬‫لوکهای‬
4*4 , 8*8 , 16*8 , 8*16 , 16*16‫مورد‬‫استفاده‬‫قرار‬‫گیرند‬‫می‬.
‫فقط‬‫بردارهای‬‫حرکت‬Luma‫محاسبه‬‫شوند‬‫می‬‫و‬‫بردارهای‬‫حرکت‬Chroma‫به‬
‫واسطه‬‫میانگین‬‫گیری‬‫از‬‫بردارهای‬‫حرکت‬‫بلوکهای‬Luma‫برآورد‬‫شوند‬‫می‬.
‫که‬‫همین‬‫امر‬‫باعث‬‫افزایش‬‫دو‬‫برابری‬‫دقت‬‫در‬Chroma‫نسبت‬‫به‬Luma‫که‬‫دارای‬
‫دقت‬‫چهارم‬‫یک‬‫پیکسل‬‫است‬‫شود‬‫می‬.
2.‫بررسی‬‫مراحل‬VP8
‫انواع‬‫روشهای‬‫پیش‬‫بینی‬‫خارجی‬
Nearest-MV:‫استفاده‬‫مجدد‬‫از‬‫بردار‬‫حرکت‬‫غیر‬‫صفر‬‫آخرین‬‫بلوک‬‫رمز‬‫گشایی‬
‫شده‬.
Near-MV:‫استفاده‬‫مجدد‬‫از‬‫بردار‬‫حرکت‬‫غیر‬‫صفر‬‫یکی‬‫به‬‫آخرین‬‫بلوک‬‫رمز‬‫گ‬‫شایی‬
‫شده‬.
Zero-MV:‫در‬‫بلوک‬‫هیچ‬‫جایی‬‫جابه‬‫صورت‬‫گیرد‬‫نمی‬‫و‬‫همان‬‫بلوک‬‫متناظر‬‫در‬‫فری‬‫م‬
‫قبلی‬‫است‬.
New-MV:‫این‬‫مدل‬‫از‬‫اطالعات‬‫بردار‬‫حرکت‬‫پیروی‬‫کند‬‫می‬‫و‬‫این‬‫طالعات‬‫به‬‫بافر‬
‫بلوکهای‬‫رمزگشایی‬‫شده‬‫قبلی‬‫اضافه‬‫شود‬‫می‬.
Split-MV:‫این‬‫روش‬‫که‬‫مختص‬VP8‫باشد‬‫می‬‫یک‬‫روش‬‫پیشرفته‬‫و‬‫انعطاف‬‫پذیر‬
‫در‬‫پیش‬‫بینی‬‫باشد‬‫می‬.‫دراین‬‫روش‬‫از‬‫تقسیم‬‫بندی‬‫بلوکهای‬‫درشت‬‫به‬‫زیربل‬‫وکهایی‬‫به‬
‫منظور‬‫رسیدن‬‫به‬‫پیش‬‫بینی‬‫بهتر‬‫با‬‫بهره‬‫گیری‬‫از‬‫بردارهای‬‫حرکت‬‫چندگانه‬‫در‬‫سطح‬
‫بلوک‬‫های‬‫درشت‬‫استفاده‬‫شود‬‫می‬.
2.‫بررسی‬‫مراحل‬VP8
1
1. Inter prediction
‫این‬‫روش‬‫هنگامی‬‫مفید‬‫است‬‫که‬‫شاهد‬‫های‬‫ویژگی‬‫حرکتی‬‫متفاوتی‬‫در‬‫سطح‬‫بلوک‬‫های‬
‫درشت‬‫باشیم‬.
Macroblock 16*16
‫این‬‫روش‬‫در‬‫زیربلوکهای‬4*4‫از‬‫حالتهای‬New 4*4 , Above 4*4 , Zero 4*4 ,
Left 4*4‫که‬Left,Above‫به‬‫ترتیب‬‫پرکاربرد‬‫تر‬‫هستند‬.
‫همانگونه‬‫که‬‫در‬‫شکل‬‫آمده‬‫شکل‬‫آمده‬‫است‬‫یک‬
‫بلوک‬‫درشت‬‫از‬‫سه‬‫بخش‬‫حرکتی‬‫تشکیل‬‫شد‬‫ه‬‫است‬.
2.‫بررسی‬‫مراحل‬VP8
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.
2.‫بررسی‬‫مراحل‬VP8
Motion Compensation & Sub-pixel Interpolation
VP8‫از‬‫بردارهای‬‫حرکت‬‫با‬‫دقت‬‫چهارم‬‫یک‬‫و‬‫هشتم‬‫یک‬‫پیکسل‬‫به‬‫ترتیب‬‫برای‬‫ت‬‫رمیم‬
‫حرکت‬‫در‬‫پیکسلهای‬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 positions
VP8‫از‬bicubic filters4‫تایی‬‫برای‬‫موقعیت‬‫پیکسلهای‬1/8،3/8،5/8‫و‬7/8
‫استفاده‬‫کند‬‫می‬.
‫در‬‫حات‬‫کلی‬VP8‫پروسه‬‫فیلترهای‬‫یابی‬‫درون‬‫را‬‫برای‬‫دستیابی‬‫به‬‫پاسخ‬‫فرکان‬‫سی‬
‫مطلوب‬‫با‬‫وری‬‫بهره‬‫باالی‬‫محاسباتی‬‫انجام‬‫دهد‬‫می‬.
2.‫بررسی‬‫مراحل‬VP8
‫تبدیل‬
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
C
T
143 23 0 0
7 3 0 0
0 0 0 0
0 0 0 0
‫تبدیل‬‫سطح‬1
2.‫بررسی‬‫مراحل‬VP8
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 -32
11.5 -107 -33.5 14
58.5 21 -36.5 4
-31.5 -35 -3.5 49
‫سطح‬ ‫تبدیل‬2
Y
2.‫بررسی‬‫مراحل‬VP8
‫تدریج‬
DC‫سطح‬ ‫روشنایی‬ ‫شدت‬1
AC‫سطح‬ ‫روشنایی‬ ‫شدت‬1
DC‫رنگی‬ ‫طیف‬
AC‫رنگی‬ ‫طیف‬
DC‫سطح‬ ‫روشنایی‬ ‫شدت‬2
AC‫سطح‬ ‫روشنایی‬ ‫شدت‬2
‫تدریج‬‫در‬VP8‫از‬‫کارایی‬‫بیشتری‬‫برخوردار‬‫است‬‫و‬‫دارای‬‫طیف‬‫کیفیت‬30-45db‫که‬
‫دارای‬128‫سطح‬‫تدریج‬‫باشد‬‫می‬.
‫که‬‫برای‬‫هر‬‫فریم‬‫به‬‫ارمغان‬‫آورد‬‫می‬‫سطوح‬‫متفاوت‬‫تدریج‬‫را‬‫برای‬6‫بخش‬‫فرکانسی‬‫زیر‬
4*4
2*2
16
4
Luma
Chroma
2.‫بررسی‬‫مراحل‬VP8
1
1. Quantization
2.‫بررسی‬‫مراحل‬VP8
q0
q2
q1
‫طیف‌های‌مختلف‌تدریج‬
q3
‫فیلتر‌حلقه‌انطباقی‬
‫فیلتر‬‫حلقه‬‫یک‬‫فرایند‬‫از‬‫بین‬‫بردن‬‫تاثیرات‬‫بندی‬‫بلوک‬‫تولید‬‫شده‬‫توسط‬‫تدریج‬‫ضرایب‬
‫تبدیل‬‫کسینوسی‬‫در‬‫تبدیل‬‫بلوکی‬‫است‬.
‫تد‬ ‫تصویر‬ ‫از‬ ‫قسمتی‬‫ریج‬
‫بلو‬ ‫تاثیر‬ ‫که‬ ‫یافته‬‫ک‬
‫قابل‬ ‫آن‬ ‫در‬ ‫بندی‬
‫است‬ ‫مشاهده‬
2.‫بررسی‬‫مراحل‬VP8
‫فیلتر‬ ‫به‬ ‫نیاز‬ ‫بدون‬ ‫ساکن‬
‫کوچک‬ ‫فیلتر‬ ‫به‬ ‫نیاز‬ ‫خفیف‬ ‫تحرکت‬
‫تحرکت‬‫باال‬‫فیلتر‬ ‫به‬ ‫نیاز‬‫قوی‬
VP8‫‌باشد‬‫ی‬‫دارای‌دو‌سطح‌فیلتر‌م‬
.1‫مختصر‬
.2‫نرمال‬
2.‫بررسی‬‫مراحل‬VP8
‫شود‬‫می‬ ‫استفاده‬ ‫زیر‬ ‫های‬ ‫روش‬ ‫درشت‬ ‫بلوک‬ ‫در‬ ‫کردن‬ ‫فیلتر‬ ‫منظور‬ ‫به‬:
1.‫باالیی‬ ‫درشت‬ ‫بلوک‬ ‫لبه‬
2.‫چپی‬ ‫سمت‬ ‫درشت‬ ‫بلوک‬ ‫لبه‬
3.‫ها‬ ‫زیربلوک‬ ‫عمودی‬ ‫های‬‫لبه‬
4.‫ها‬ ‫زیربلوک‬ ‫افقی‬ ‫های‬ ‫لبه‬
Macroblock
2.‫بررسی‬‫مراحل‬VP8
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
‫فیلتر‌حلقه‌به‌روش‌مختصر‬
‫فیلتر‬‫حلقه‬‫نرمال‬‫عالوه‬‫بر‬‫بخشهای‬4‫و‬6‫ای‬‫تکه‬‫روش‬‫مختصر‬‫دارای‬‫بخشهای‬2‫و‬8
‫تکه‬‫نیز‬‫است‬.
2.‫بررسی‬‫مراحل‬VP8
Blocking Artifacts
‫ای‬‫حلقه‬ ‫فیلتر‬ ‫اعمال‬ ‫با‬ ‫تصویر‬‫ای‬‫حلقه‬ ‫فیلتر‬ ‫اعمال‬ ‫بدون‬ ‫تصویر‬
‫تاثیرات‬‫مثبت‬‫فیلتر‬‫ای‬‫حلقه‬‫برای‬‫حذف‬‫تاثیر‬‫بلوک‬‫بندی‬‫در‬‫زیر‬‫قابل‬‫مشاهد‬‫ه‬‫است‬‫ولی‬
‫مشکلی‬‫که‬‫در‬‫این‬‫عمل‬‫وجود‬‫دارد‬‫وابستگی‬‫میان‬‫بلوک‬‫های‬‫درشت‬‫باشد‬‫می‬.
2.‫بررسی‬‫مراحل‬VP8
2.‫بررسی‬‫مراحل‬VP8
‌‫رمزگذار‬–‫رمزگشا‌با‌عدم‌قطعیت‬
‫هدف‬‫کدگذاری‬‫کاهش‬‫تعداد‬‫جریان‬‫ای‬‫داده‬‫باینری‬‫خام‬‫است‬،‫که‬‫با‬‫استفاده‬‫از‬‫ایجاد‬
‫نشانه‬‫برای‬‫مقادیر‬‫و‬‫حداقل‬‫سازی‬‫حجم‬‫بازخوانی‬‫برای‬‫نشانه‬‫با‬‫بیشترین‬‫تکرا‬‫ر‬‫صورت‬
‫گیرد‬‫می‬.
Binary arithmetic coding
Huffman Tree
187 0 0 0
2 0 0 0
1 0 0 0
0 0 0 0
sub-block
‫ها‬ ‫نشانه‬ ‫ایجاد‬ ‫مراحل‬(Tokens: )
1.‫ضرایب‬ ‫یافته‬ ‫تدریج‬ ‫خواندن‬DCT , WHT‫زیربلوک‬ ‫هر‬ ‫برای‬(4*4)
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 10
1100 110 0
187, 0 , 2 , 1 , 0 , 0 , 0 , 0 , 0, ...DCT/WHT coefficients :
Range : 67 – 2048
Offset : 187 – 67 = 120
Extra Bits : 11
Binary Offset : 0000 0111 1000
Output : 11111111 0000
0111 1000 10 1100 110 0
2.‫بررسی‬‫مراحل‬VP8
‫جای‬ ‫به‬ ‫افزونگی‬ ‫کاهش‬ ‫بدلیل‬11100‫از‬1100‫مقدار‬ ‫برای‬2
‫شود‬‫می‬ ‫استفاده‬.
‫درخت‬ ‫گیری‬ ‫تصمیم‬ ‫گره‬
‫درخت‬ ‫برگ‬
10
2.‫بررسی‬‫مراحل‬VP8
‫موازی‬ ‫پردازش‬
‫فریم‬ ‫ساختار‬
‫یکی‬‫از‬‫گرایشات‬‫جدید‬‫در‬‫توسعه‬‫ریزپردازنده‬،‫ها‬‫پردازنده‬‫هایی‬‫که‬‫چند‬‫ای‬‫هسته‬‫ه‬‫ستند‬.
‫فریم‬
‫بخش‬1 ‫بخش‬2‫سرفریم‬
‫شود‬‫می‬ ‫تشکیل‬ ‫بخش‬ ‫سه‬ ‫از‬ ‫فریم‬ ‫یک‬.
1.‫سرفریم‬(‫فریم‬ ‫معرفی‬)‫فریم‬ ‫نوع‬
0‫و‬ ‫اصلی‬1‫فرعی‬
‫نسخه‬ ‫شماره‬3‫بیت‬
‫نمایش‬(1)‫نمایش‬ ‫عدم‬ ‫یا‬
(0)‫فریم‬ 2.‫بخش‬1
‫اطالعات‬‫اصلی‬‫برای‬‫یکپارچگی‬‫فریم‬‫و‬‫اطالعات‬‫ماکروبلوک‬‫پیشین‬‫که‬‫چگونگ‬‫ی‬‫بینی‬‫پیش‬
‫هر‬‫بلوک‬‫درشت‬‫را‬‫مشخص‬‫کند‬‫می‬
19‫بخش‬ ‫طول‬ ‫بیت‬
‫اولیه‬ ‫های‬‫داده‬
3.‫بخش‬2
‫الگوی‬‫اطالعات‬‫ضرایب‬‫تدریج‬‫یافته‬DCT & WHT،‫هر‬‫سطر‬‫اختیاری‬‫در‬‫بلوک‬
‫درشت‬‫امکان‬‫ترسیم‬‫شدن‬‫در‬‫یک‬‫بخش‬‫مجزا‬‫را‬‫دارد‬‫و‬‫این‬‫خصوصیت‬‫باعث‬‫توانایی‬
‫تقسیم‬‫شدن‬‫بلوک‬‫درشت‬‫تا‬8‫بخش‬‫برای‬‫پردازش‬‫موازی‬‫را‬‫فراهم‬‫کند‬‫می‬
‫متفاوت‬ ‫افزار‬ ‫سخت‬ ‫روی‬ ‫بر‬ ‫گشایی‬ ‫رمز‬ ‫سرعت‬
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
‫مختلف‬ ‫مانیتورهای‬ ‫در‬ ‫خروجی‬ ‫کیفیت‬
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
VP8 – ffmpeg (ffvp8) calculation for hall_cif.yuv
(90 frames):
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
H.264 - ffmpeg calculation for hall_cif.yuv
(90 frames):
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
‫رمزگذاری‬ ‫سرعت‬
Mos Ratings For Varied Packet Loss
H.264WebM/VP8
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
Mos Ratings For Varied Delay Variation
H.264WebM/VP8
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
optiscyclists
preaknessjetscrew
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
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]
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
YSSIM difference
-0.020 -0.015 -0.010 -0.005 0.000 0.005 0.010 0.015 0.02
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
Decoder
speed
Encoder
speed
H.264 VP8H.264 VP8VP8H.264
Compress
H.264 VP8
Quality
VP8H.264 VP8H.264
Success
H.264
Color ?
VP8
Color ?
Royalty
3.‫ارزیابی‬‫مقایسه‬ ‫و‬VP8 & H.264 , …
http://en.wikipedia.orghttp://www.webmproject.orghttp://multimedia.cx/eggs
https://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.html
Google 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 Coding
Multi-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/AVC
Video Network Traffic and Quality
Comparison of VP8 and H.264 SVC
Context-Based Adaptive Binary Arithmetic Coding
in the H.264/AVC Video Compression Standard
Introduction to Binary Arithmetic Coding
By Glen G. Langdon, Jr
Analysis of packet loss and delay variation
on QoE for H.264 andWebM/VP8 Codecs
Yeshwanth Alahari , Buddhiraja Prashant‫شما‬ ‫توجه‬ ‫از‬ ‫تشکر‬ ‫با‬
Refrence

Más contenido relacionado

Similar a Vp8 is a video compression format(web m)

Similar a Vp8 is a video compression format(web m) (8)

HotSpot
HotSpotHotSpot
HotSpot
 
Pdn tech-v mware-convert-pvmos
Pdn tech-v mware-convert-pvmosPdn tech-v mware-convert-pvmos
Pdn tech-v mware-convert-pvmos
 
پروتکل های ویپ
پروتکل های ویپپروتکل های ویپ
پروتکل های ویپ
 
DigComm_02.ppt
DigComm_02.pptDigComm_02.ppt
DigComm_02.ppt
 
توسعه امن نرم افزار
توسعه امن نرم افزارتوسعه امن نرم افزار
توسعه امن نرم افزار
 
cloud computing , رایانش ابری
cloud computing , رایانش ابریcloud computing , رایانش ابری
cloud computing , رایانش ابری
 
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
چه هنگام نرم‌افزار آزاد به دام غیرآزاد می‌افتد؟
 
Chapter 09 - network operating systems
Chapter 09 - network operating systemsChapter 09 - network operating systems
Chapter 09 - network operating systems
 

Vp8 is a video compression format(web m)