Яблочное видео
Apple Video — это с потерями ) сжатия и распаковки видео алгоритм ( кодек , разработанный Apple Inc. и впервые выпущенный как часть QuickTime 1.0 в 1991 году. [1] Кодек также известен как QuickTime Video по его FourCC RPZA и названию Road Pizza . [2] [3] (Кодовое название «Road Pizza» — отсылка к идее, что «когда вы наезжаете на животное, вы фактически сжимаете его на автостраде». [4] ) При использовании в AVI- контейнере FourCC AZPR . также используется [3]
Формат битового потока Apple Video был реконструирован, а декодер был реализован в проектах XAnim и libavcodec . [2] [5]
Технические подробности [ править ]
Кодек работает с блоками пикселей 4×4 в цветовом пространстве RGB . Каждый кадр сегментируется на блоки 4×4 в порядке растрового сканирования. Каждый блок кодируется в одном из четырех режимов кодирования: пропуск, один цвет, четыре цвета или 16 цветов. [3] Цвета представлены 16 битами с глубиной цвета 5 бит для каждого из трех компонентов — красного, зеленого и синего — формат, известный как RGB555 . [3] Поскольку Apple Video работает в области изображения без компенсации движения, декодирование происходит намного быстрее, чем MPEG кодеки в стиле , которые используют компенсацию движения и выполняют кодирование в области преобразования . В качестве компромисса производительность сжатия Apple Video ниже.
Режим пропуска [ править ]
Режим пропуска реализует условное пополнение . Если блок закодирован в режиме пропуска, содержимое блока в том же месте предыдущего кадра копируется в текущий кадр. [3] Серии блоков пропуска кодируются по схеме кодирования по длине серии , обеспечивающей высокую степень сжатия в статических областях изображения. [3]
Одноцветный режим [ править ]
В одноцветном режиме все пиксели в блоке декодируются одним цветом. [3] Это можно интерпретировать как палитру одного цвета.
Четырехцветный режим [ править ]
В четырехцветном режиме каждый пиксель в блоке декодируется как один из четырех цветов, заданных в палитре. [3] Чтобы выбрать одну из четырех записей, в битовый поток записываются 2 бита на пиксель. Одна и та же палитра используется для серий длиной от одного до 32 блоков. [3] Из четырех цветов два явно записываются в битовый поток, а два других рассчитываются в декодере путем линейной интерполяции в цветовом пространстве RGB с использованием следующих уравнений:
где цвет0 и цвет3 — два цвета, записанные в битовом потоке. [3] Четыре цвета можно интерпретировать как расположенные на равном расстоянии от отрезка линии в трехмерном векторном пространстве с тремя компонентами: красным, зеленым и синим. Конечные точки этой линии записываются в битовый поток. Похожая схема цветовой интерполяции используется в S3 Texture Compression .
Интерпретируемый как векторное квантование , трехмерный вектор с компонентами красный, зеленый и синий квантуется с использованием кодовой книги с четырьмя записями.
16-цветной режим [ править ]
В 16-цветном режиме цвет каждого пикселя в блоке явно записывается в битовый поток. [3] Этот режим без потерь и эквивалентен необработанному PCM без какого-либо сжатия.
См. также [ править ]
- Индексированный цвет
- Квантование цвета
- Блочное кодирование усечения — аналогичный метод кодирования для контента в оттенках серого.
- Сжатие цветовых ячеек — аналогичный метод кодирования цветового содержимого, основанный на кодировании усечения блоков.
- Microsoft Video 1 — кодек, основанный на аналогичной конструкции.
- QuickTime Graphics — кодек, основанный на аналогичной конструкции.
- Smacker video — кодек, основанный на аналогичной конструкции.
- S3 Texture Compression — формат сжатия текстур, основанный на аналогичной конструкции.
Ссылки [ править ]
- ^ Гильермо А. Ортис (лето 1991 г.). «QuickTime 1.0: «Ты должен быть на фотографиях» » (PDF) . Компьютер Apple . Проверено 14 апреля 2013 г.
- ^ Jump up to: Перейти обратно: а б «Документация FFmpeg» . FFmpeg . Проверено 4 апреля 2013 г.
- ^ Jump up to: Перейти обратно: а б с д и ж г час я дж к «Яблочный РПЗА» . МультимедиаВики . 11 декабря 2008 года . Проверено 4 апреля 2013 г.
- ^ «CHM Live: Истоки QuickTime» . Музей истории компьютеров.
- ^ Марк Подлипец (10 декабря 1997 г.). "xanim.2.70.6.4.2 README" . Ксаним . Архивировано из оригинала 28 декабря 2015 года . Проверено 4 апреля 2013 г.