FMUSER بی سیم ویدئو و صدا را راحت تر انتقال می دهد!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> آفریقایی
sq.fmuser.org -> آلبانیایی
ar.fmuser.org -> عربی
hy.fmuser.org -> ارمنی
az.fmuser.org -> آذربایجانی
eu.fmuser.org -> باسک
be.fmuser.org -> بلاروسی
bg.fmuser.org -> بلغاری
ca.fmuser.org -> کاتالان
zh-CN.fmuser.org -> چینی (ساده شده)
zh-TW.fmuser.org -> چینی (سنتی)
hr.fmuser.org -> کرواتی
cs.fmuser.org -> چکی
da.fmuser.org -> دانمارکی
nl.fmuser.org -> هلندی
et.fmuser.org -> استونیایی
tl.fmuser.org -> فیلیپینی
fi.fmuser.org -> فنلاندی
fr.fmuser.org -> فرانسوی
gl.fmuser.org -> گالیسیایی
ka.fmuser.org -> گرجی
de.fmuser.org -> آلمانی
el.fmuser.org -> یونانی
ht.fmuser.org -> کریول هائیتی
iw.fmuser.org -> عبری
hi.fmuser.org -> هندی
hu.fmuser.org -> مجارستانی
is.fmuser.org -> ایسلندی
id.fmuser.org -> اندونزیایی
ga.fmuser.org -> ایرلندی
it.fmuser.org -> ایتالیایی
ja.fmuser.org -> ژاپنی
ko.fmuser.org -> کره ای
lv.fmuser.org -> لتونیایی
lt.fmuser.org -> لیتوانیایی
mk.fmuser.org -> مقدونی
ms.fmuser.org -> مالایی
mt.fmuser.org -> مالتیایی
no.fmuser.org -> نروژی
fa.fmuser.org -> فارسی
pl.fmuser.org -> لهستانی
pt.fmuser.org -> پرتغالی
ro.fmuser.org -> رومانیایی
ru.fmuser.org -> روسی
sr.fmuser.org -> صربی
sk.fmuser.org -> اسلواکی
sl.fmuser.org -> اسلوونیایی
es.fmuser.org -> اسپانیایی
sw.fmuser.org -> سواحیلی
sv.fmuser.org -> سوئدی
th.fmuser.org -> تایلندی
tr.fmuser.org -> ترکی
uk.fmuser.org -> اوکراینی
ur.fmuser.org -> اردو
vi.fmuser.org -> ویتنامی
cy.fmuser.org -> ولزی
yi.fmuser.org -> ییدیش
مقدمه
الگوریتم فشرده سازی فیلم H264 اکنون بدون شک از همه تکنیک های فشرده سازی ویدیو به طور گسترده استفاده می شود و محبوب ترین است. با معرفی کتابخانه های منبع باز مانند x264 / openh264 و ffmpeg ، اکثر کاربران دیگر نیازی به تحقیق بیش از حد در مورد جزئیات H264 ندارند ، که هزینه های استفاده از H264 را تا حد زیادی کاهش می دهد.
اما برای استفاده مناسب از H264 ، ما هنوز باید اصول اساسی H264 را کشف کنیم. امروز نگاهی خواهیم انداخت به اصول اساسی H264.
بررسی اجمالی H264
فناوری فشرده سازی H264 عمدتا از روش های زیر برای فشرده سازی داده های ویدئویی استفاده می کند. عبارتند از:
فشرده سازی پیش بینی درون قاب ، مشکل افزونگی داده های مکانی را حل می کند.
فشرده سازی پیش بینی بین قاب (برآورد حرکت و جبران حرکت) مشکل افزونگی داده های حوزه زمان را حل می کند.
Integer Discrete Cosine Transform (DCT) ، که همبستگی فضایی را به داده های نامربوط در حوزه فرکانس تبدیل می کند و سپس آن را کمی می کند.
فشرده سازی CABAC.
قاب فشرده شده به تقسیم می شود: قاب I ، قاب P و قاب B:
I frame: قاب اصلی ، با استفاده از فناوری فشرده سازی درون قاب.
قاب P: قاب مرجع به جلو ، هنگام فشرده سازی ، فقط به قاب پردازش شده قبلی مراجعه کنید. از فناوری فشرده سازی صوتی قاب استفاده کنید.
فریم B: یک قاب مرجع دو طرفه. در هنگام فشرده سازی ، به قاب قبلی و قاب زیر اشاره دارد. استفاده از فناوری فشرده سازی بین قاب.
علاوه بر فریم های I / P / B ، توالی تصویر GOP نیز وجود دارد.
GOP: بین دو فریم یک توالی تصویر وجود دارد و فقط یک فریم من در یک توالی تصویر وجود دارد. همانطور که در زیر نشان داده شده است:
اکنون ما فناوری فشرده سازی H264 را به طور کامل شرح خواهیم داد.
فناوری فشرده سازی H264
اصل اساسی H264 در واقع بسیار ساده است ، بیایید روند فشرده سازی داده های H264 را به طور خلاصه شرح دهیم. فریم های ویدئویی گرفته شده توسط دوربین (محاسبه شده با 30 فریم در ثانیه) به بافر رمزگذار H264 ارسال می شوند. رمزگذار ابتدا باید ماکروبلاک ها را برای هر تصویر تقسیم کند.
تصویر زیر را به عنوان مثال در نظر بگیرید:
ماکروبلاک پارتیشن
H264 به طور پیش فرض از یک منطقه 16X16 به عنوان بلوک کلان استفاده می کند و همچنین می تواند به اندازه 8X8 تقسیم شود.
پس از تقسیم بلوک ماکرو ، مقدار پیکسل بلوک ماکرو را محاسبه کنید.
با تشبیه ، مقدار پیکسل هر ماکروبلاک در یک تصویر محاسبه می شود و کلیه ماکروبلاک ها به شرح زیر پردازش می شوند.
زیر بلوک
H264 از تصاویر ماکروبلاک 16X16 برای تصاویر نسبتاً مسطح استفاده می کند. با این حال ، برای دستیابی به میزان فشرده سازی بالاتر ، زیر بلوک های کوچکتر را نیز می توان به ماکروبلاک های 16X16 تقسیم کرد. اندازه زیر بلوک می تواند 8X16 ، 16X8 ، 8X8 ، 4X8 ، 8X4 ، 4X4 باشد که بسیار انعطاف پذیر است.
در تصویر بالا ، اکثر ماکروبلاک های 16X16 در قاب قرمز زمینه آبی دارند و بخشی از تصویر سه عقاب در این ماکروبلاک ترسیم شده است. به منظور پردازش بهتر تصاویر جزئی از سه عقاب ، زیر بلوک های H264 Multiple به 16 ماکروبلاک 16XXNUMX تقسیم می شوند.
به این ترتیب ، پس از فشرده سازی درون قاب ، می توان داده های کارآمدتری به دست آورد. شکل زیر نتیجه فشرده سازی ماکروبلاک های فوق به ترتیب با استفاده از mpeg-2 و H264 است. نیمه سمت چپ نتیجه فشرده سازی بعد از تقسیم زیر بلوک MPEG-2 است و نیمه سمت راست نتیجه فشرده سازی زیر بلوک H264 است. دیده می شود که روش تقسیم H264 از مزایای بیشتری برخوردار است.
پس از تقسیم بلوک ماکرو ، می توان تمام تصاویر موجود در بافر رمزگذار H264 را گروه بندی کرد.
گروه بندی قاب
برای داده های ویدئویی ، به طور عمده دو نوع افزونگی داده وجود دارد ، یکی افزونگی داده در زمان ، و دیگری افزونگی داده در فضا. در میان آنها ، افزونگی داده ها در زمان بیشترین است. بیایید ابتدا در مورد مشکل افزونگی زمان داده های ویدیویی صحبت کنیم.
چرا افزونگی زمان بیشترین است؟ با فرض اینکه دوربین 30 فریم در ثانیه ضبط می کند ، داده های این 30 فریم بیشتر مرتبط هستند. همچنین ممکن است بیش از 30 فریم داده ، ده ها فریم یا صدها فریم داده به طور ویژه با هم ارتباط داشته باشند.
در واقع ، برای این فریم های بسیار نزدیک ، ما فقط باید یک فریم داده را ذخیره کنیم ، و فریم های دیگر را می توان طبق قوانین خاص از این قاب پیش بینی کرد ، بنابراین داده های ویدیویی بیشترین زمان افزونگی را دارند.
برای دستیابی به اینكه فریم های مربوطه داده ها را از طریق روش پیش بینی فشرده می كنند ، لازم است كه فریم های ویدئویی گروه بندی شوند. بنابراین چگونه می توان تشخیص داد که قاب های خاصی با هم ارتباط نزدیک دارند و می توان آنها را با هم گروه بندی کرد؟ بیایید نگاهی به مثالی بیندازیم. در زیر یک قاب فیلم گرفته شده از یک گروه توپ بیلیارد در حال حرکت است. توپ های بیلیارد از گوشه بالا سمت راست به گوشه پایین سمت چپ می چرخند.
رمزگذار H264 برای محاسبه تشابه دو فریم ، هر بار دو فریم مجاور برای مقایسه ماکروبلاک ها بیرون می آورد. همانطور که در زیر نشان داده شده است:
از طریق اسکن بلوک ماکرو و جستجوی بلوک ماکرو می توان دریافت که همبستگی بین این دو فریم بسیار زیاد است. علاوه بر این ، مشخص شد که درجه همبستگی این گروه از فریم ها بسیار زیاد است. بنابراین ، قاب های فوق را می توان به یک گروه تقسیم کرد. الگوریتم این است: در تصاویر مجاور ، پیکسلهایی که به طور کلی متفاوت هستند فقط در 10٪ هستند ، اختلاف روشنایی از 2٪ فراتر نمی رود و اختلاف رنگی فقط در 1٪ تغییر می کند. ما فکر می کنیم این نمودارها را می توان با هم گروه بندی کرد.
در چنین گروهی از فریم ها ، پس از رمزگذاری ، ما فقط اطلاعات کامل پست اول را نگه می داریم و سایر فریم ها با مراجعه به فریم قبلی محاسبه می شوند. ما اولین فریم را فریم IDR / I می خوانیم و فریم های دیگر را قاب P / B می نامیم ، بنابراین گروه فریم داده رمزگذاری شده را GOP می نامیم.
برآورد و جبران حرکت
پس از گروه بندی فریم ها در رمزگذار H264 ، لازم است بردارهای حرکت اشیا in موجود در گروه قاب محاسبه شود. با استفاده از قاب فیلم بیلیارد متحرک فوق الذکر ، بیایید نگاهی به نحوه محاسبه بردار حرکت بیندازیم.
رمزگذار H264 ابتدا دو فریم از داده های ویدئویی را به ترتیب از سربرگ بافر خارج می کند ، و سپس اسکن بلوک ماکرو را انجام می دهد. هنگامی که یک شی در یکی از تصاویر یافت می شود ، جستجو در مجاورت عکس دیگر (در پنجره جستجو) انجام می شود. اگر در این زمان جسم در تصویر دیگری پیدا شود ، بردار حرکت جسم قابل محاسبه است. تصویر زیر موقعیت توپ بیلیارد را پس از جستجو نشان می دهد.
از طریق تفاوت بین موقعیت های توپ های بیلیارد در تصویر بالا ، جهت و فاصله تصویر جدول را می توان محاسبه کرد. H264 فاصله و جهت حرکت توپ را در هر فریم به نوبه خود ثبت می کند و به شکل زیر در می آید.
پس از محاسبه بردار حرکت ، همان قسمت (یعنی قسمت سبز) کم می شود تا داده های جبران بدست آید. در پایان ، ما فقط باید داده های جبران را فشرده و ذخیره کنیم ، و سپس تصویر اصلی می تواند هنگام رمزگشایی بازیابی شود. داده های فشرده شده فقط نیاز به ثبت مقدار کمی از داده ها دارند. به شرح زیر است:
ما بردار حرکت و جبران را فناوری فشرده سازی بین قاب می نامیم ، که باعث کاهش زمان افزونگی داده فریم های ویدیویی می شود. علاوه بر فشرده سازی بین فریم ، فشرده سازی داده ها نیز باید در داخل فریم انجام شود. فشرده سازی داده های درون فریم افزونگی داده های مکانی را حل می کند. اکنون ما فناوری فشرده سازی درون قاب را معرفی خواهیم کرد.
پیش بینی درون
چشم انسان دارای درجه ای از تشخیص تصویر است ، به روشنایی فرکانس پایین بسیار حساس است و به روشنایی فرکانس بالا بسیار حساس نیست. بنابراین ، بر اساس برخی تحقیقات ، داده هایی را که به چشم انسان حساس نیستند ، می توان از یک تصویر حذف کرد. به این ترتیب ، فناوری پیش بینی درونی پیشنهاد می شود.
فشرده سازی داخل فریم H264 بسیار شبیه به JPEG است. بعد از اینکه یک تصویر به ماکروبلاک تقسیم شد ، می توان هر ماکروبلاک را در 9 حالت پیش بینی کرد. حالت پیش بینی را که نزدیک ترین حالت به تصویر اصلی است پیدا کنید.
تصویر زیر روند پیش بینی هر بلوک کلان در کل تصویر است.
مقایسه بین تصویر پس از پیش بینی درونی و تصویر اصلی به شرح زیر است:
سپس ، برای بدست آوردن مقدار باقیمانده ، تصویر اصلی و تصویر پیش بینی شده کم می شود.
سپس اطلاعات حالت پیش بینی را که قبلاً دریافت کردیم ذخیره کنید تا بتوانیم هنگام رمزگشایی تصویر اصلی را بازیابی کنیم. اثر به شرح زیر است:
بعد از فشرده سازی درون فریم و درون قاب ، اگرچه داده ها بسیار کاهش می یابد ، اما هنوز هم جای بهینه سازی وجود دارد.
DCT را روی داده های باقیمانده انجام دهید
برای حذف همبستگی داده ها و فشرده سازی بیشتر داده ها ، می توان در معرض تبدیل کسینوس گسسته عدد صحیح قرار گرفت. همانطور که در شکل زیر نشان داده شده است ، سمت چپ بلوک کلان داده های اصلی است و سمت راست بلوک کلان داده های باقیمانده محاسبه شده است.
ماکروبلاک داده های باقیمانده مانند شکل زیر دیجیتالی می شود:
تبدیل DCT در ماکروبلاک داده های باقیمانده انجام می شود.
پس از حذف داده های مرتبط ، می توان فهمید که داده ها بیشتر فشرده می شوند.
پس از انجام DCT ، این کافی نیست و CABAC برای فشرده سازی بدون ضرر مورد نیاز است.
کابین
فشرده سازی درون فریم فوق یک روش فشرده سازی با ضرر است. به عبارت دیگر ، پس از فشرده شدن تصویر ، نمی توان آن را به طور کامل بازیابی کرد. CABAC یک فناوری فشرده سازی بدون ضرر است.
فناوری فشرده سازی بدون از دست دادن ممکن است برای همه بیشتر آشنا باشد کدگذاری هافمن ، یک کد کوتاه برای کلمات با فرکانس بالا ، یک کد طولانی برای کلمات با فرکانس پایین برای رسیدن به هدف از فشرده سازی داده ها. VLC مورد استفاده در MPEG-2 این نوع الگوریتم است ، ما AZ را به عنوان مثال در نظر می گیریم ، A متعلق به داده های فرکانس بالا و Z متعلق به داده های فرکانس پایین است. ببینید چگونه انجام می شود
CABAC همچنین یک کد کوتاه برای داده های با فرکانس بالا و یک کد طولانی برای داده های با فرکانس پایین است. در عین حال ، بر اساس زمینه فشرده می شود ، که بسیار کارآمدتر از VLC است. اثر به شرح زیر است:
حالا AZ را با یک قاب فیلم جایگزین کنید ، و مانند زیر خواهد بود.
از تصویر بالا مشخص است که طرح فشرده سازی بدون تلفات با استفاده از CACBA بسیار کارآمدتر از VLC است.
خلاصه
در این مرحله ، ما اصل کدگذاری H264 را به پایان رسانده ایم. این مقاله به طور عمده در مورد نکات زیر صحبت می کند:
1. جیانین برخی مفاهیم اساسی را در H264 معرفی کرد. مانند قاب I / P / B ، GOP.
2. اصول اساسی کدگذاری H264 را با جزئیات توضیح دهید ، از جمله:
تقسیم بلوک ماکرو
گروه بندی تصویر
اصل تکنولوژی فشرده سازی درون قاب
اصل فن آوری فشرده سازی بین قاب.
DCT
اصل فشرده سازی CABAC.
|
ایمیل را وارد کنید تا غافلگیر شوید
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> آفریقایی
sq.fmuser.org -> آلبانیایی
ar.fmuser.org -> عربی
hy.fmuser.org -> ارمنی
az.fmuser.org -> آذربایجانی
eu.fmuser.org -> باسک
be.fmuser.org -> بلاروسی
bg.fmuser.org -> بلغاری
ca.fmuser.org -> کاتالان
zh-CN.fmuser.org -> چینی (ساده شده)
zh-TW.fmuser.org -> چینی (سنتی)
hr.fmuser.org -> کرواتی
cs.fmuser.org -> چکی
da.fmuser.org -> دانمارکی
nl.fmuser.org -> هلندی
et.fmuser.org -> استونیایی
tl.fmuser.org -> فیلیپینی
fi.fmuser.org -> فنلاندی
fr.fmuser.org -> فرانسوی
gl.fmuser.org -> گالیسیایی
ka.fmuser.org -> گرجی
de.fmuser.org -> آلمانی
el.fmuser.org -> یونانی
ht.fmuser.org -> کریول هائیتی
iw.fmuser.org -> عبری
hi.fmuser.org -> هندی
hu.fmuser.org -> مجارستانی
is.fmuser.org -> ایسلندی
id.fmuser.org -> اندونزیایی
ga.fmuser.org -> ایرلندی
it.fmuser.org -> ایتالیایی
ja.fmuser.org -> ژاپنی
ko.fmuser.org -> کره ای
lv.fmuser.org -> لتونیایی
lt.fmuser.org -> لیتوانیایی
mk.fmuser.org -> مقدونی
ms.fmuser.org -> مالایی
mt.fmuser.org -> مالتیایی
no.fmuser.org -> نروژی
fa.fmuser.org -> فارسی
pl.fmuser.org -> لهستانی
pt.fmuser.org -> پرتغالی
ro.fmuser.org -> رومانیایی
ru.fmuser.org -> روسی
sr.fmuser.org -> صربی
sk.fmuser.org -> اسلواکی
sl.fmuser.org -> اسلوونیایی
es.fmuser.org -> اسپانیایی
sw.fmuser.org -> سواحیلی
sv.fmuser.org -> سوئدی
th.fmuser.org -> تایلندی
tr.fmuser.org -> ترکی
uk.fmuser.org -> اوکراینی
ur.fmuser.org -> اردو
vi.fmuser.org -> ویتنامی
cy.fmuser.org -> ولزی
yi.fmuser.org -> ییدیش
FMUSER بی سیم ویدئو و صدا را راحت تر انتقال می دهد!
تماس با ما
نشانی:
شماره 305 اتاق HuiLan ساختمان شماره 273 Huanpu Road گوانگژو چین 510620
دسته بندی ها
عضویت در خبرنامه