В первой части этой статьи, описывается стандарт сжатия видео 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. Вследствие этого, качество кодировщика можно судить только по способностям оценки движения.