Пример
Первые 25 кадров последовательности «скрипка» (формат QCIF, 25 кадров/с, см. рис. 7.18) были закодированы с помощью тестовой программы Н.264 (версия JM4.0) при фиксированном параметре квантователя, равном 36. Видеоряд кодировался при различных кодовых параметрах для определения степени сжатия и времени кодирования. При этом использовались следующие две справочные конфигурации.
Базовая конфигурация: энтропийный кодер CAVLC, нет В-кадров, разрешено фильтрование в цикле, оптимизация по соотношению скорость/искажение отсутствует, один ссылочный кадр при компенсации движения, допустимы любые размеры блоков (вплоть до 4 х 4).
Расширенная конфигурация: энтропийный кодер САВАС, каждый второй кадр кодируется как В-снимок, разрешено фильтрование в цикле, разрешена оптимизация по соотношению скорость/искажение, использовано пять ссылочных кадров, допустимы любые размеры блоков.
Таблица 7.3. Вычислительная производительность Н.264 в разных модах: «скрипка», QCIF, 25 кадров/с.
Конфигурация
|
Среднее PSNR яркости (дБ)
|
Битовая скорость (Р/В-слои)(кбит/с)
|
Время
(с)
|
Базовая
|
29,06
|
45,9
|
40,4
|
Базовая + мин. размер блоков 8x8
|
29,0
|
46,6
|
33,9
|
Базовая + 5 ссылочных кадров
|
29,12
|
46,2
|
157,2
|
Базовая + оптим. скорость/искаж.
|
29,18
|
44,6
|
60,5
|
Базовая + каждый 2-й кадр
|
29,19
|
42,2
|
55,7
|
кодируется как В-снимок
|
|
|
|
Базовая + САВАС
|
29,09
|
44,0
|
40,5
|
Расширенный
|
29,57
|
38,2
|
180,0
|
Расширенный (только один
|
29,42
|
38,8
|
77,0
|
ссылочный кадр)
|
|
|
|
«Базовая» конфигурация является хорошим набором параметров для построения несложного кодека, работающего в реальном времени, а «расширенная» конфигурация может послужить при написании высокоэффективного и сложного кодека. Таблица 7.3 суммирует полученные результаты. Мера PSNR компонент яркости (объективное качество) всех последовательностей практически совпадала, а разница в производительности видна по битовой скорости и по времени кодирования.
«Базовая» конфигурация кодирует последовательность за 40 секунд с битовой скоростью 46 кбит/с (исключая биты, относящиеся к первому I-слою). Если использовать при компенсации движения только блоки размером 8 х 8 и больше, то время кодирования сократится (примерно на 6 секунд), но возрастет кодовая скорость (что и следовало ожидать). Применение нескольких ссылочных кадров (в нашем случае их пять) вместо одного увеличивает время кодирования (почти в 4 раза), но в результате возрастает битовая скорость. Добавление оптимизации по соотношению скорость/искажение (при которой несколько раз кодирует каждый блок разными способами, чтобы найти наилучшие параметры кодирования) уменьшает скорость; платой за это служит увеличение на 50% времени кодирования. В-снимки дают выигрыш по сжатию и повышают время кодирования (примерно на 50%); схема САВАС повышает компрессию, при этом время кодирования не возрастает.
«Расширенная» конфигурация кодирует последовательность в 4 раза медленнее «базовой», но уменьшает среднюю «базовую» битовую скорость примерно на 17%. Использование только одного ссылочного кадра существенно сокращает битовую скорость, причем для этого требуется незначительное повышение сложности кодирования.
|