Huffyuv: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Addbot (обсуждение | вклад)
м Интервики (всего 10) перенесены на Викиданные, d:q175446
мНет описания правки
 
(не показано 20 промежуточных версий 10 участников)
Строка 1: Строка 1:
[[Файл:Huffyuv config in Wine.png|thumb|200px|right|Диалог настройки кодека Huffyuv в [[Video for Windows|VfW]]]]
[[Файл:Huffyuv config in Wine.png|thumb|200px|right|Диалог настройки кодека Huffyuv в [[Video for Windows|VfW]]]]
'''Huffyuv''' (или '''HuffYUV''') — [[кодек]], предназначенный для сжатия [[видео]] [[Сжатие без потерь|без потерь]]. Создан Ben Rudiak-Gould, в целях замены несжатого YCbCr как формата видео захвата. Несмотря на «YUV» в названии, он использует цветовое пространство не [[YUV]], а [[YCbCr]]. «Без потерь» означает, что результат декомпрессии бит-в-бит идентичен исходному потоку перед компрессией (при условии, что не проводилось преобразование цветового пространства). Алгоритм Huffyuv предсказывает каждый [[пиксель]] кадра и затем кодирует ошибку по алгоритму Хаффмана.
'''Huffyuv''' (или '''HuffYUV''') — [[кодек]], предназначенный для сжатия [[видео]] [[Сжатие без потерь|без потерь]]. Создан Ben Rudiak-Gould, в целях замены несжатого [[YCbCr]] как формата видео захвата. Несмотря на «[[YUV]]» в названии, он использует цветовое пространство не YUV, а YCbCr. «Без потерь» означает, что результат декомпрессии бит-в-бит идентичен исходному потоку перед компрессией (при условии, что не проводилось преобразование цветового пространства). Алгоритм Huffyuv предсказывает каждый [[пиксель]] кадра и затем кодирует ошибку по [[алгоритм Хаффмана|алгоритму Хаффмана]].


== Реализации ==
== Реализации ==
Оригинальная реализация была написана для [[Windows]] Ben Rudiak-Gould и издана на условиях [[GPL]]. Реализация считается очень быстрой, даёт пропускную способность сжатия до 38 [[МБ]] в секунду на Celeron 416 МГц. Оригинальный Huffyuv не обновлялся с 2002 г. Более современный [[форк]] кодека доступен в проекте [[Lagarith]]. Проект [[FFMPEG]] также содержит реализацию HuffYUV, что позволяет создавать и проигрывать файлы HuffYUV на [[Linux]] и [[Mac OS X]]. Также это означает, что многие программы, которые используют FFMPEG как основу, могут также играть/создать файлы HuffYUV, например [[VLC media player]], [[MPlayer]] и [[ffdshow]].
Оригинальная реализация была написана для [[Windows]] Ben Rudiak-Gould и издана на условиях [[GPL]]. Реализация считается очень быстрой, даёт пропускную способность сжатия до 38 [[Мегабайт|МБ]] в секунду на Celeron 416 МГц. Оригинальный Huffyuv не обновлялся с 2002 г.
Более современный [[форк]] кодека доступен в проекте [[Lagarith]]. Проект [[FFMPEG|FFmpeg]] также содержит реализацию HuffYUV, что позволяет создавать и проигрывать файлы HuffYUV на [[Linux]] и [[Mac OS X]]. Также это означает, что многие программы, которые используют FFMPEG как основу, могут также играть/создать файлы HuffYUV, например, [[Медиапроигрыватель VLC]], [[MPlayer]] и [[ffdshow]].

== ffvhuff ==
Свободно распространяемая (free software) библиотека кодеков [[Libavcodec]] содержит улучшенный вариант формата huffyuv, названный для удобства дискриминации старого кодека " ffvhuff " (FourCC: FFVH). Усовершенствования включают, среди прочих, поддержку YV12 цветового пространства (оригинальный huffYUV кодек был ограничен YUY2 и RGB) и улучшенную эффективность сжатия с использованием добавленной в FF [[Адаптивный алгоритм Хаффмана|адаптивной таблицы Хаффмана]].

Библиотека нового ff-кодека имеет обратную совместимость с эталонным старым huff-кодеком, но последний не совместим с новым форматом ffvhuff. Новый кодек для Windows, например, на интерфейсе [[ffdshow]] доступен и может использоваться в записи на VirtualDub(Mod) или OBS Studio, и подобных задачах [[Сжатие без потерь|сжатия без потерь]] на лету. Для хранения более ценных lossless-исходников, видимо, лучше применять старый huffyuv, поскольку новый кодек это huffyuv + adaptive huffman tables.


== Ссылки ==
== Ссылки ==
* [http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html Официальный сайт Huffyuv] {{ref-en}}
* [http://rationalqm.us/www.math.berkeley.edu/benrg/huffyuv.html Официальный сайт Huffyuv (архив на сайте Дональда Графта)]{{ref-en}}


{{compu-soft-stub}}
{{compu-soft-stub}}

Текущая версия от 15:24, 19 марта 2020

Диалог настройки кодека Huffyuv в VfW

Huffyuv (или HuffYUV) — кодек, предназначенный для сжатия видео без потерь. Создан Ben Rudiak-Gould, в целях замены несжатого YCbCr как формата видео захвата. Несмотря на «YUV» в названии, он использует цветовое пространство не YUV, а YCbCr. «Без потерь» означает, что результат декомпрессии бит-в-бит идентичен исходному потоку перед компрессией (при условии, что не проводилось преобразование цветового пространства). Алгоритм Huffyuv предсказывает каждый пиксель кадра и затем кодирует ошибку по алгоритму Хаффмана.

Реализации

[править | править код]

Оригинальная реализация была написана для Windows Ben Rudiak-Gould и издана на условиях GPL. Реализация считается очень быстрой, даёт пропускную способность сжатия до 38 МБ в секунду на Celeron 416 МГц. Оригинальный Huffyuv не обновлялся с 2002 г.

Более современный форк кодека доступен в проекте Lagarith. Проект FFmpeg также содержит реализацию HuffYUV, что позволяет создавать и проигрывать файлы HuffYUV на Linux и Mac OS X. Также это означает, что многие программы, которые используют FFMPEG как основу, могут также играть/создать файлы HuffYUV, например, Медиапроигрыватель VLC, MPlayer и ffdshow.

Свободно распространяемая (free software) библиотека кодеков Libavcodec содержит улучшенный вариант формата huffyuv, названный для удобства дискриминации старого кодека " ffvhuff " (FourCC: FFVH). Усовершенствования включают, среди прочих, поддержку YV12 цветового пространства (оригинальный huffYUV кодек был ограничен YUY2 и RGB) и улучшенную эффективность сжатия с использованием добавленной в FF адаптивной таблицы Хаффмана.

Библиотека нового ff-кодека имеет обратную совместимость с эталонным старым huff-кодеком, но последний не совместим с новым форматом ffvhuff. Новый кодек для Windows, например, на интерфейсе ffdshow доступен и может использоваться в записи на VirtualDub(Mod) или OBS Studio, и подобных задачах сжатия без потерь на лету. Для хранения более ценных lossless-исходников, видимо, лучше применять старый huffyuv, поскольку новый кодек это huffyuv + adaptive huffman tables.