Оптимизация скорости-дисторсия ( РДО ) представляет собой способ улучшения качества видео в сжатии видео . Название относится к оптимизации количества искажений (потери качества видео) по отношению к количеству данных, необходимых для кодирования видео, скорости . Хотя он в основном используется видеокодерами, оптимизацию скорости и искажения можно использовать для улучшения качества в любой ситуации кодирования (изображение, видео, аудио или иначе), когда необходимо принимать решения, которые одновременно влияют как на размер файла, так и на качество.
Задний план
Классический метод принятия решений о кодировании заключается в том, что видеокодер выбирает результат, обеспечивающий наивысшее качество выходного изображения. Однако у этого есть недостаток, заключающийся в том, что сделанный выбор может потребовать большего количества битов, но дает сравнительно небольшое улучшение качества. Одним из распространенных примеров этой проблемы заключается в оценке движения , [1] , и , в частности , в отношении использования оценки четверти пиксела точность движения . Добавление дополнительной точности к движению блока во время оценки движения может повысить качество, но в некоторых случаях это дополнительное качество не стоит дополнительных битов, необходимых для кодирования вектора движения с более высокой точностью.
Как это работает
Оптимизация коэффициента искажения решает вышеупомянутую проблему, выступая в качестве показателя качества видео, измеряя как отклонение от исходного материала, так и битовую стоимость для каждого возможного результата решения. Биты математически измеряются путем умножения стоимости битов на лагранжиан , значение, представляющее соотношение между стоимостью битов и качеством для определенного уровня качества. Отклонение от источника обычно измеряется как среднеквадратическая ошибка , чтобы максимизировать показатель качества видео PSNR .
Вычисление битовой стоимости затрудняется энтропийными кодировщиками в современных видеокодеках, требующими от алгоритма оптимизации скорости-искажения передачи каждого блока видео для тестирования энтропийному кодеру для измерения его фактической битовой стоимости. В кодеках MPEG полный процесс состоит из дискретного косинусного преобразования , за которым следует квантование и энтропийное кодирование. Из-за этого оптимизация скорости и искажения выполняется намного медленнее, чем большинство других показателей сопоставления блоков, таких как простая сумма абсолютных разностей (SAD) и сумма абсолютных преобразованных разностей (SATD). Таким образом, он обычно используется только на заключительных этапах процесса оценки движения , таких как выбор между различными типами разделов в H.264 / AVC .
Список кодировщиков, поддерживающих RDO
- ATEME H.264 кодер
- Кодеры Grass Valley ViBE (SD и HD MPEG-2 / MPEG-4)
- Кодировщик Harmonic Electra 8000 (SD и HD MPEG-2 / MPEG-4)
- libavcodec
- MainConcept H.264 кодер
- Microsoft VC-1 кодер
- TANDBERG Телевидение SD MPEG-2 EN8100
- TANDBERG Телевидение HD MPEG-4 EN8190
- TANDBERG Телевидение SD и HD MPEG-4 iPlex
- Theora 1.1-alpha1 и выше (ветка "Туснельда")
- кодировщик x264 H.264
- кодировщик x265 H.265
- Xvid MPEG-4 ASP кодер
- Эталонное программное обеспечение H.264 / AVC JM (совместная модель)
- Эталонное программное обеспечение HEVC HM (тестовая модель HEVC)
- Квазар (частичный) [2]
Рекомендации
- ^ Д.Т. Хоанг, П.М. Лонг и Джеффри Виттер , Оптимизация скорости искажения для оценки движения при низкоскоростном кодировании видео , IEEE Transactions on Circuits and Systems for Video Technology , 8 (4), August 1998, 488-500. Более короткая версия опубликована в Proceedings of the Digital Video Compression Conference , IS & T / SPIE 1996 Symposium on Electronic Imaging: Science & Technology, 2668, San Jose, CA, January-February 1996, 18-27.
- ^ http://ultravideo.cs.tut.fi/#encoder