TopТехнически речникH.264 - стандарт за видео кодиране

H.264 - стандарт за видео кодиране

През 2003 година е приет стандарт H.264, известен също като AVC (Advanced Video Coding), като част 10 от MPEG-4 стандарт.

 

Стандартът H.264 по същия начин както и в предишните MPEG-2 и MPEG-4, използва диференциална компресия, т.е. текущото изображение се създава въз основа на едно или няколко предишни изображения и разлики, които са настъпили между тях във времето. Въпреки това, H.264 използва редица подобрения. От една страна, те значително увеличават търсенето на изчислителна мощност по време на кодиране, но от друга страна значително намаляват скоростта на предаване запазвайки качеството на изображението.

 

Важен елемент на компресията H.264 е прогнозирането на изображенията (междукадрово предсказване). Това представлява предсказване на следващото кодирано изображение въз основа на предишни кодирани и декодирани изображения. Тя работи по същия начин, както в кодера и декодера, благодарение на което декодерът може да възпроизведе кодирания образ въз основа на грешката на прогнозиране на изображението, определена в кодера като разлика между оригиналното кодирано изображение и неговото предсказано изображение. Не се изпращат обаче последователни изображения, а само грешните на предсказващите кадри (прогнозирани), които при добри алгоритми не съдържат много информация и може да се кодират с помощта на малко битове.

 

В H.264 компресията можем да отличим 3 типа кадри: I – Intra Coded, P – Predictive, B – Bi-predictive.

 

Фиг. 1 Примерна последователност на кадрите, в които се срещат трите типа кадри

 

t - Време

Кадрите тип I съдържат пълна информация за даденото изображение. Кадрите P съдържат информация за промените между съседните кадри P или I (резултатното изображение се създава на базата на точно тази информация). Кадрите B това са кодирани изображения, с използването на две референтни изображения, а именно, едно преди кодираното изображение и едно представено в дадена последователност след кодираното изображение. В изображенията от типа B най-подобни блокове (макроблокове) на пробите са избирани от две референтни изображения или се определят като средна стойност от блоковете от двете референтни изображения. Размерът на всеки кадър разбира се, зависи от много фактори. Може приблизително да се предположи, че P кадрите съставляват около 60% от размера на I кадрите, а B кадрите могат да имат само 10% от техния обем. Затова лесно може да заключим, че колкото повече в дадената последователност настъпват един след друг кадри от типа B, толкова по-голяма е нейната компресия. Това не е задължително да е свързано с влошаване на качеството на изображението.

 

По-долу е представено примерно сравнение на качеството за три стандарта за компресия, като пиковата стойност на отношението сигнал-шум (PSNR — Peak Signal-to-Noise Ratio) в зависимост от скоростта на предаване на битове.

 

Фиг. 2 Сравнение на H.264, MPEG-4 и JPEG форматите

 

X - Скорост на предаване на битове

Y - Пикова стойност на отношение сигнал-шум (PSNR)

По-долу са изброени някои подобрения и модификации, отличаващи H.264 на фона на по-старите стандарти, използващи хибридното кодиране с междукадрово предсказване (междукадрово прогнозиране) с компенсация на движението.

 

1. Променлив размер на блоковете за компенсация на движението. Компенсацията на движението може да се извършва не само по отношение на целите макроблокове, но също така и за техните части. Тогава са им присвоявани отделни вектори на движение. Най-малките блокове са с размер (4х4) точки на яркост. Благодарение на това, се получават по-малки грешки на предсказване, които могат да бъдат представени с помощта на малко битове.


2. Предвиждането на движение с точност до 1/4 интервал на семплиране на изображението. Голямата точност на векторите на движение, позволява на много точно предсказване с компенсация на движението.


3. Използване на множество референтни изображения - използване на дългосрочна памет, полезна в предсказването на откриваните области.


4. Вътрешнокадрово насочено предсказване (прогнозиране) за вътрешно кадрово кодиране на макроблоковете.


5. Деблокиращият филтър премахва блоковите ефекти, появяващи се в предсказващите изображения при силна компресия.


6. Косинусовата трансформация оперира на малки блокове - (4х4) проби на яркост и (2х2) проби на цветност, което позволява на по-добра адаптация към локални свойства на изображението.


7. Адаптивно ентропийно кодиране: CAVLC (Context-Adaptive Variable Length Coding) – с променлива дължина на думата и CABAC (Context-Based Binary Arithmetic Coding) – по-сложно адаптивно аритметично кодиране, позволяващо получаване на по-висока степен на компресия.

За да се възползвате напълно от възможностите на стандарта H.264, в кодера следва да се вземат оптимални решения между различните възможни начини за кодиране. Използването на H.264 е от голямо значение за системи за видеонаблюдение, тъй като намаляването на скоростта на предаване на изображението без загуба на качество позволява предаването за по-голям брой канали с по-добро качество.