Графика QuickTime
QuickTime Graphics — это с потерями ) сжатия и распаковки видео алгоритм ( кодек , разработанный Apple Inc. и впервые выпущенный как часть QuickTime 1.x в начале 1990-х годов. [1] Кодек также известен под названием Apple Graphics и FourCC SMC . [2] [1] Кодек работает с 8-битными данными RGB с палитрой . [1] Формат битового потока QuickTime Graphics был реконструирован, а декодер был реализован в проектах XAnim и libavcodec . [3] [2]
Технические подробности [ править ]
Входное видео, с которым работает кодек, находится в 8-битном с палитрой цветовом пространстве RGB . Сжатие достигается за счет условного пополнения и уменьшения палитры с 256 цветов до адаптивной палитры на блок 4х4 из 1-16 цветов. Поскольку Apple Video работает в области изображения без компенсации движения, декодирование происходит намного быстрее, чем MPEG кодеки в стиле , которые используют компенсацию движения и выполняют кодирование в области преобразования . В качестве компромисса производительность сжатия Apple Graphics ниже. Сложность декодирования составляет примерно 50% от сложности кодека QuickTime Animation . [4]
Каждый кадр сегментируется на блоки 4×4 в порядке растрового сканирования. Каждый блок может быть закодирован в одном из следующих режимов кодирования: режим пропуска, один цвет, режимы 2-, 4- и 8-цветной палитры, два режима повторения и PCM.
Режим пропуска [ править ]
Режим пропуска реализует условное пополнение . Если блок закодирован в режиме пропуска, содержимое блока в том же месте предыдущего кадра копируется в текущий кадр. [1] Серии блоков пропуска кодируются по схеме кодирования по длине серии , обеспечивающей высокую степень сжатия в статических областях изображения. [1]
Один цвет [ править ]
В одноцветном режиме весь блок 4×4 окрашивается одним цветом. [1] Этот режим также можно рассматривать как режим одноцветной палитры.
Режимы палитры (2, 4 или 8 цветов) [ править ]
В режимах палитры каждый блок 4×4 кодируется 2-, 4- или 8-цветной палитрой. [1] Для выбора одного из цветов палитры используется соответственно 1, 2 или 3 бита на пиксель. Палитра может быть записана в битовый поток либо явно, либо как ссылка на запись в кэше палитры. [1] Кэш палитр представляет собой набор из трех кольцевых буферов, в которых хранятся 256 последних использованных палитр, по одной для 2-, 4- и 8-цветного режимов. [1]
Интерпретируемые как векторное квантование , трехмерные векторы с компонентами красного, зеленого и синего квантоваются с использованием прямой адаптивной кодовой книги с числом от 1 до 8 записей.
Режимы повтора [ править ]
Есть два разных режима повтора. [1] В режиме повторения одного блока предыдущий блок повторяется заданное количество раз. [1] В режиме повторения двух блоков предыдущие два блока повторяются заданное количество раз. [1]
Режим PCM (16 цветов) [ редактировать ]
В 16-цветном режиме цвет каждого пикселя в блоке явно записывается в битовый поток. [1] Этот режим без потерь и эквивалентен необработанному PCM без какого-либо сжатия.
См. также [ править ]
- Индексированный цвет
- Квантование цвета
- Блочное кодирование усечения — аналогичный метод кодирования для контента в оттенках серого.
- Сжатие цветовых ячеек — аналогичный метод кодирования цветового содержимого, основанный на кодировании усечения блоков.
- Apple Video — кодек, основанный на аналогичной конструкции
- Microsoft Video 1 — кодек, основанный на аналогичной конструкции.
- Smacker video — кодек, основанный на аналогичной конструкции.
- S3 Texture Compression — формат сжатия текстур, основанный на аналогичной конструкции.
Ссылки [ править ]
- ^ Jump up to: а б с д и ж г час я дж к л м «Эппл СМК» . МультимедиаВики . 26 апреля 2011 года . Проверено 4 мая 2013 г.
- ^ Jump up to: а б «Документация FFmpeg» . FFmpeg . Проверено 4 мая 2013 г.
- ^ Марк Подлипец (10 декабря 1997 г.). "xanim.2.70.6.4.2 README" . Ксаним . Архивировано из оригинала 28 декабря 2015 года . Проверено 4 мая 2013 г.
- ^ «Руководство по сжатию и распаковке QuickTime» (PDF) . Apple Computer, Inc., 10 января 2006 г. Проверено 4 мая 2013 г.