Apple видео - Apple Video
Apple видео это с потерями алгоритм сжатия и распаковки видео (кодек ) разработан Apple Inc. и впервые выпущен как часть QuickTime 1.0 в 1991 г.[1] Кодек также известен как QuickTime видео, своим FourCC РПЗА и имя 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, используя следующие уравнения:
где color0 и color3 - два цвета, которые записываются в битовом потоке.[3] Четыре цвета можно интерпретировать как лежащие на равном расстоянии друг от друга на отрезке линии в трехмерном векторном пространстве с тремя компонентами - красным, зеленым и синим. Конечные точки этой строки записываются в битовый поток. Похожая схема цветовой интерполяции используется в Сжатие текстур S3.
Интерпретируется как векторное квантование, трехмерный вектор с красными, зелеными и синими компонентами квантованный с помощью кодовой книги с четырьмя записями.
16 цветовых режимов
В 16-цветном режиме цвет каждого пикселя в блоке явно записывается в битовый поток.[3] Этот режим без потерь эквивалентен необработанному PCM без сжатия.
Смотрите также
- Индексированный цвет
- Цветовое квантование
- Блочное усечение кодирования, аналогичная техника кодирования для содержимого в оттенках серого
- Сжатие цветных ячеек, аналогичный метод кодирования для цветного содержимого, основанный на блочном кодировании с усечением
- Microsoft видео 1, кодек на основе аналогичной конструкции
- Графика QuickTime, кодек на основе аналогичной конструкции
- Smacker видео, кодек на основе аналогичной конструкции
- Сжатие текстур S3, формат сжатия текстур, основанный на аналогичной конструкции
использованная литература
- ^ Гильермо А. Ортис (лето 1991 г.). QuickTime 1.0: «Вы должны быть в картинках»"" (PDF). Компьютер Apple. Получено 14 апреля 2013.
- ^ а б «Документация FFmpeg». FFmpeg. Получено 4 апреля 2013.
- ^ а б c d е ж г час я j k «Яблочный РПЗА». Мультимедиа Вики. 11 декабря 2008 г.. Получено 4 апреля 2013.
- ^ «CHM Live: истоки QuickTime». Музей истории компьютеров. Получено 27 марта 2018.
- ^ Марк Подлипец (10 декабря 1997 г.). "xanim.2.70.6.4.2 README". XAnim. Архивировано из оригинал 28 декабря 2015 г.. Получено 4 апреля 2013.