У першій частині цієї статті, описується стандарт стиснення відео H.264 включаючи історію цього формату. У другій частині мова йтиме про оцінку руху - етапі, в якому видно, що H.264 дійсно відрізняється від інших стандартів MPEG.

Відмінність від стандартів MPEG: Використання растрових блоків для більш чіткого зображення

Формат H.264 відрізняється від MPEG стандартів в основному при оцінці руху і двох його компонентів: компенсація зміни відеоданих про рухомі об'єкти і вектори руху. Оцінка руху - це процес, при якому графічна інформація визначається подібними елементами, які можуть повторно використовуватися в наступних кадрах. Це істотно знижує кількість інформації що кодується і бітрейта.

У початковій стадії, кодеки H.264 і MPEG-2/4 отримують або кадри прогресивного потоку, або черезрядкове відео з камери або іншого відеоджерела. Коли починається оцінка руху, ці картинки поділяються на растрові макроблоки, які формуються в серію послідовних макроблоків з довільною формою.

Дискретне зображення - це аспект, який відрізняє H.264. У той час як MPEG-2/4 розділяє вхідні кадри на задані растрові блоки 8х8 пікселів, H.264 дозволяє змінювати розміри блоків. При кодуванні дискретного зображення, H.264 може включати блоки розміром 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 і 4x4 пікселів. Таким чином, менш деталізовані об'єкти, наприклад чисте небо, можуть використовувати блок 16х16, а більш деталізовані, наприклад контури машини що рухаються, використовують блок розміром 4х4.

Регулювання розміру блоку важлива не тільки для того, щоб виробляти більше ефективне кодування H.264, а й для того, щоб покращити сприйняття якості зображення. Фіксовані лінії координатної сітки більше дратують очі, ніж безладні блоки або хаотичний растр. В результаті, більшість погодяться, що H.264 помітно покращує сприйняття відео.

Стандарт H.264 визначає те, що є можливість вибору, який розмір блоку використовувати в певній ситуації. Це дозволяє інженерам творчо конкурувати за найбільш точний і ефективний процес оцінки руху.

Компенсація зміни відеоданих про рухомі об'єкти і повторне використання даних зображення

Інший аспект оцінки руху, це процес компенсації зміни відеоданих про рухомі об'єкти, під час якого вираховується різниця або зміна між макроблоками. Кожна секція макроблоку аналізується в растрі з послідовністю внутрішнього або взаємного передредагування.

Внутрішнє попереднє редагування - це коли I-блоки в I-секціях визначаються відповідно до даних зображення і знаходяться в поточній секції. А коли P-блок аналізується в P-секціях, дані зображення знаходяться в поточних і попередніх секціях - це і є взаємне передредагування.

Різниця між даними зображення визначаються під час процесу компенсації зміни відеоданих про рухомі об'єкти, який використовується для генерування блоку, що містить залишкову інформацію. Цей залишковий блок - це те, що було перетворено, а також повторне використання даних зображення попередніх кадрів. В результаті, кодується тільки відмінність між блоками, а надлишкові аспекти зображення переробляються, таким чином знижуючи бітрейт.

Тоді як MPEG-2/4 враховує тільки один опорний кадр, H.264 має безліч попередніх перекодованих кадрів, які можна контролювати. Це забезпечує більшу кількість даних зображення вторинної обробки, ніж стандарти MPEG. В результаті цього, зменшується бітрейт і збільшується необхідна обчислювальна потужність.

Похибка даних знижується до чверті пікселя

Напрямок, в якому повинні переміщатися пікселі повторного використання в наступних кадрах, встановлюється через вектори руху. Вектори руху вказують, як краще розподілити дані і внаслідок цього, вони є ключовим фактором в ефективному повторному використанні даних зображення.

В MPEG-2 і MPEG-4 SP вектори руху генеруються використанням напівпіксельної роздільної здатності. Це означає, що напівпіксельний коефіцієнт наростання використовується для точної реконструкції даних. H.264 підвищив планку, підрозділяючи макроблоки і створюючи вектори руху, які можуть позиціонувати повторно дані зображення з точністю до чверті пікселя.

Ця точність H.264 кодека не тільки знижує кількість даних необхідних для кодування, а й збільшує кількість позицій пікселя в 16 разів. Таким чином, кодек H.264 визначають середнє значення і екстраполюють вектори руху тільки для тих ділянок зображення, де присутня велика кількість рухомих об'єктів або дуже деталізовані дані зображення.

Оцінка кодека H.264

Компенсація руху і створення векторів руху відбуваються одночасно в оцінці руху, щоб створити оптимальний обсяг блоку і розрахувати різницю, а також згенерувати вектори руху для кожної чверті пікселя, зменшуючи залишкову різницю між кадрами зображення. Все це робить кодек H.264 дуже ефективним.

Однак зменшення потоку бітів вимагає витрат. Збільшується обчислювальна складність, яка в підсумку вимагає більшої обчислювальної потужності. Інженери повинні ретельно впроваджувати статистичні механізми для аналізу потоку даних і визначати найбільш ефективні способи використання засобів і удосконалень, які зроблять їх сумісними з H.264. Внаслідок цього, якість кодувальника можна судити тільки за здібностями оцінки руху.