Алгоритм сжатия данных в медиаконтейнерах представляет собой конвейер преобразований. intuit.ru www.osp.ru Некоторые этапы процесса:
- Подготовка макроблоков. intuit.ru www.osp.ru Для каждого макроблока определяется, каким образом он будет сжат. intuit.ru www.osp.ru В I-кадрах все макроблоки сжимаются независимо. intuit.ru www.osp.ru В P-кадрах блок либо сжимается независимо, либо представляет собой разность с одним из макроблоков в предыдущем опорном кадре, на который ссылается P-кадр. intuit.ru www.osp.ru
- Перевод макроблока в цветовое пространство YUV. intuit.ru www.osp.ru Получение нужного количества матриц 8х8. intuit.ru www.osp.ru
- Дискретное косинусоидальное преобразование (ДКП). www.osp.ru Позволяет в широких пределах менять степень сжатия без заметной потери качества изображения. www.osp.ru
- Квантование. intuit.ru www.osp.ru Основная операция в конвейере, на этапе квантования-группового кодирования в основном и происходит адаптивное сжатие. www.osp.ru
- Зигзаг-сканирование. intuit.ru www.osp.ru
- Групповое кодирование. intuit.ru www.osp.ru
- Кодирование Хаффмана. intuit.ru www.osp.ru Сопоставляет каждое входное значение с кодовым словом переменной длины, основываясь на частоте вхождения разных входных значений. msm.omsu.ru
При декодировании весь конвейер повторяется для обратных преобразований, начиная с конца. intuit.ru
В разных форматах сжатия видео могут использоваться и другие алгоритмы, например, в кодеке H.264 применяется механизм предсказания кадров, который позволяет дополнительно сжимать видео, при этом практически не жертвуя качеством картинки. habr.com