Jump to content

ВавПак

Программное обеспечение WavPack
Разработчик(и) Дэвид Брайант
Стабильная версия
5.7.0 [1]  Отредактируйте это в Викиданных / 1 марта 2024 г .; 3 месяца назад ( 1 марта 2024 г. )
Репозиторий
Операционная система Кросс-платформенный
Тип аудиокодека Контейнер
Лицензия Лицензия BSD
Веб-сайт wavpack.com
Формат файла WavPack
Расширение имени файла
.wv (как для файлов без потерь, так и для гибридных файлов), .wvc (файл коррекции только для гибридных файлов)
Тип интернет-СМИ
audio/x-wavpack (.wv), audio/x-wavpack-коррекция (.wvc)
Магическое число ввпк
Тип формата без потерь Звук
Содержится Матроска (не обязательно)
Открытый формат ? Да
Свободный формат ? Да

WavPack — это с открытым исходным кодом сжатия звука без потерь бесплатный формат и приложение, реализующее этот формат. Он уникален тем, что поддерживает гибридное сжатие звука наряду с обычным сжатием, которое аналогично тому, как работает FLAC . Он также поддерживает сжатие широкого спектра форматов без потерь, включая различные варианты PCM , а также DSD , используемый в SACD , а также поддержку объемного звука.

Особенности [ править ]

Сжатие WavPack позволяет сжимать (и восстанавливать без потерь) 8, 16, 24 и 32-битные с фиксированной запятой и 32-битные с плавающей запятой PCM аудиофайлы в формате . Формат файла WAV . Он также может обрабатывать входной сигнал DSD в формате DSDIFF или DSF. [2] Он также поддерживает потоки объемного звука и высокие частоты дискретизации . Как и в других схемах сжатия без потерь, степень сжатия данных варьируется в зависимости от источника, но обычно она составляет от 30% до 70% для типичной популярной музыки и несколько лучше, чем для классической музыки и других источников с большим динамическим диапазоном. [3]

Гибридный режим [ править ]

WavPack также включает «гибридный» режим, который по-прежнему обеспечивает функции сжатия без потерь, но создает два файла: относительно небольшой высококачественный файл с потерями (.wv), который можно использовать отдельно; и файл «коррекции» (.wvc), который в сочетании с файлом с потерями обеспечивает полное восстановление без потерь. Это позволяет использовать кодеки с потерями и без потерь вместе. Алгоритм с потерями аналогичен ADPCM . [4]

Гибридный режим может обрабатывать данные с плавающей запятой, но только тогда, когда значения «исключения», такие как бесконечность или NaN, отсутствуют. Он не может обрабатывать DSD, поскольку для DSD не существует алгоритма с потерями. [2]

Подобную «гибридную» функцию предлагают также OptimFROG DualStream , MPEG-4 SLS и DTS-HD Master Audio .

Резюме [ править ]

  • С открытым исходным кодом , выпущенный под BSD- подобной лицензией.
  • Мультиплатформенность
  • Устойчивость к ошибкам
  • Быстрое кодирование
  • Более высокий коэффициент сжатия, чем у других широко используемых (FLAC/ALAC) аудиокодеков без потерь с открытым исходным кодом.
  • потоковой передачи Поддержка
  • Поддерживает многоканальный звук и высокое разрешение.
  • Встроенная поддержка WavPack 5.x для сжатия Direct Stream Digital без преобразования исходного файла в PCM.
  • Гибридный режим/режим с потерями
  • Аппаратная поддержка (обеспечивается прошивкой Rockbox )
  • Поддержка метаданных ( теги ID3 , APE ; тег APE является предпочтительным форматом)
  • Поддерживает RIFF. фрагменты
  • Совместимость с ReplayGain.
  • Возможность создания самораспаковывающихся файлов для платформы Win32.
  • Поддерживает 32-битные потоки с плавающей запятой.
  • Поддерживает встроенные таблицы CUE.
  • Включает хеши MD5 для быстрой проверки целостности.
  • Может кодировать как в симметричном, так и в асимметричном (более медленное кодирование для ускорения декодирования) режимах.

История [ править ]

Дэвид Брайант начал разработку WavPack в середине 1998 года, выпустив версию 1.0 (15 августа 1998 г.). Эта первая версия сжимала и распаковывала звук без потерь и уже имела одно из лучших соотношений эффективности и скорости среди кодеров без потерь. [5]

Очень скоро после выпуска версии 1.0 была выпущена версия 2.0 (2 сентября 1998 г.) с кодированием с потерями (с использованием только квантования остатка предсказания для сокращения данных - модель психоакустического маскирования к потоку не применялась ).

В 1999 году была выпущена версия 3.0 (12 сентября 1999 года) с новым «быстрым режимом» (хотя и с пониженной степенью сжатия), сжатием необработанных (без заголовков) PCM аудиофайлов и обнаружением ошибок с использованием 32-битной циклической избыточной проверки .

Функция, добавленная в поздних версиях 3.x, - это «гибридный» режим, в котором кодер генерирует файл с потерями и файл коррекции, так что оба можно распаковать обратно в поток PCM, имеющий то же качество, что и оригинал. [6]

В WavPack 4 представлена ​​новая структура формата файлов. В версии 4.40 автор также опубликовал «дорожную карту», ​​содержащую возможные намеки на будущее развитие. [7] В WavPack 5 появилась поддержка сжатия DSD.

Поддержка [ править ]

Программное обеспечение [ править ]

Некоторое программное обеспечение изначально поддерживает этот формат (например, DeaDBeeF , foobar2000 , [8] и Джек! The Knife ), а для других требуются плагины. Официальный сайт WavPack предлагает плагины для Winamp , Nero Burning ROM , MediaChest 2.1 и ряда других приложений, а также фильтр DirectShow . [9] dBpoweramp CD-риппер , [10] автор foobar2000, а также foobar2000 [11] сам по себе, и Asunder позволяют копировать аудио компакт-диски непосредственно в файлы Wavpack.

Поддержка Linux доступна с собственным портом.

FFmpeg имеет собственный кодировщик WavPack, который можно комбинировать с таким программным обеспечением, как GNU, для параллельного использования нескольких ядер ЦП для быстрого перекодирования других форматов без потерь в WavPack и из WavPack в любой формат, который поддерживает FFmpeg, без необходимости использования дополнительного программного обеспечения. Однако кодер FFMpeg несколько ограничен.

По состоянию на 2023 год кодировщик WavPack FFmpeg имеет некоторые существенные ограничения. Он может создавать только битовые потоки версии 4, которые не поддерживают быструю проверку целостности файлов, или более 16 каналов. Он также будет отбрасывать фрагменты RIFF и может вести себя непредсказуемо с 24-битным вводом. По умолчанию он также использует сжатие ниже оптимального для достижения более быстрого кодирования. Из-за отсутствия поддержки гибридного режима программное обеспечение воспроизведения на основе FFmpeg не сможет учитывать файл коррекции .wvc, если он имеется, и будет воспроизводить или перекодировать только раздел с потерями. (Однако это не обычный режим работы для WavPack.) Поскольку в версии 5 эталонного кодировщика была добавлена ​​собственная поддержка Wavpack для Direct Stream Digital, FFmpeg WavPack также ограничен кодированием входного сигнала PCM. [12]

Аппаратное обеспечение [ править ]

Встроенная поддержка:

Неродная поддержка:

Веб-сайт WavPack также включает плагин, который обеспечивает поддержку формата на Roku PhotoBridge HD . Архивировано 8 июля 2005 г. на Wayback Machine . [9]

Технология [ править ]

Чтобы обеспечить высокую скорость работы, WavPack использует предиктор, полностью реализованный в целочисленной математике. [14] В «быстром» режиме прогноз представляет собой просто арифметическую экстраполяцию двух предыдущих выборок. Например, если предыдущие две выборки были -10 и 20, то прогноз будет 50. Для режима по умолчанию добавляется простой адаптивный коэффициент, чтобы взвесить влияние более ранней выборки на прогноз. В приведенном выше примере результирующий прогноз может варьироваться от 20 при отсутствии влияния до 50 при полном влиянии. Этот весовой коэффициент постоянно обновляется в зависимости от изменения спектральных характеристик аудиоданных.

Сгенерированный прогноз затем вычитается из фактической выборки, подлежащей кодированию, для генерации значения ошибки. В монорежиме это значение отправляется непосредственно в кодер. Однако стереосигналы имеют тенденцию иметь некоторую корреляцию между двумя каналами, которую можно использовать в дальнейшем. Таким образом, вычисляются два значения ошибки, которые представляют собой разницу и среднее значение левого и правого значений ошибки. В «быстром» режиме работы эти два новых значения просто передаются кодировщику вместо левого и правого значений. В режиме по умолчанию значение разницы всегда отправляется кодировщику вместе с одним из трех других значений (среднее, левое или правое). Адаптивный алгоритм постоянно определяет наиболее эффективный из трех каналов для отправки на основе изменяющегося баланса каналов.

Вместо кодирования Райса используется специальный кодировщик данных для WavPack. Кодирование Райса является оптимальным битовым кодированием для этого типа данных, а кодер WavPack менее эффективен, но лишь примерно на 0,15 бита на выборку (или менее 1% для 16-битных данных). Однако в обмене есть некоторые преимущества. Во-первых, кодер WavPack не требует буферизации данных перед кодированием; вместо этого он преобразует каждую выборку непосредственно в биткоды. Это более эффективно в вычислительном отношении и лучше в некоторых приложениях, где задержка кодирования имеет решающее значение. Второе преимущество состоит в том, что его легко адаптировать к кодированию с потерями, поскольку все значащие биты (кроме подразумеваемого «единичного» старшего бита ) передаются напрямую. Таким образом можно передавать, например, только 3 старших бита (со знаком) каждой выборки. Фактически, для каждой выборки можно передавать только знак и подразумеваемый старший бит, в среднем всего 3,65 бита на выборку.

Эта схема кодирования используется для реализации режима WavPack с потерями. В «быстром» режиме выходные данные неадаптивного декоррелятора просто округляются до ближайшего кодируемого значения для указанного количества бит. В режиме по умолчанию используется адаптивный декоррелятор (который снижает средний шум примерно на 1 дБ ), и при выборе лучшего из двух доступных кодов учитываются как текущая, так и следующая выборка (что снижает шум еще на 1 дБ).

В пути данных WavPack не с плавающей запятой используется арифметика , поскольку, по мнению автора, целочисленные операции менее подвержены тонким изменениям от чипа к чипу, которые могут испортить характер сжатия без потерь ( ошибка с плавающей запятой Pentium примером является ). ). Вполне возможно, что компрессор без потерь, использующий математические вычисления с плавающей запятой, может генерировать разные выходные данные при работе на этом неисправном Pentium. Даже если не принимать во внимание фактические ошибки, математика с плавающей запятой достаточно сложна, поэтому между «правильными» реализациями могут быть тонкие различия, которые могут вызвать проблемы для этого типа приложений. [15] В генерируемые потоки включен 32-битный код обнаружения ошибок, чтобы обеспечить уверенность пользователя в целостности сжатия WavPack.

Исходный код WavPack переносим и скомпилирован в нескольких Unix и Unix-подобных операционных системах ( Linux , Mac OS X , Solaris , FreeBSD , OpenBSD , NetBSD , Compaq Tru64 , HP-UX ...), а также Windows , DOS , Palm OS и OpenVMS . Он работает на многих архитектурах, включая x86 , ARM , PowerPC , AMD64 , IA-64 , SPARC , Alpha , PA-RISC , MIPS и Motorola 68k .

Урезанная версия WavPack была разработана для процессора цифровых сигналов серии Texas Instruments TMS320. В основном это было направлено на то, чтобы побудить производителей включать сжатие (и распаковку) WavPack в портативные аудиомагнитофоны с памятью. Эта версия поддерживала функции, которые были применимы только ко встроенным приложениям (сжатие потока в реальном времени, выбираемая степень сжатия), и убрала функции, которые применялись только к полноценным компьютерным системам (самоизвлечение, режимы высокого сжатия, 32-битные числа с плавающей запятой). DSP серии TMS320 являются целочисленными устройствами и хорошо поддерживают WavPack. Некоторые «специальные» функции полного программного обеспечения WavPack были включены (например, возможность создания корректирующего «файла» (потока), а другие были исключены. Порт основан на версии 4.

Поддержка WavPack была добавлена ​​в WinZip, начиная с бета-версии 11.0, выпущенной в октябре 2006 года. [16] Это расширение формата файла ZIP было включено компанией PKWARE , сопровождающей формат, в официальный Файл описания APPNOTE.TXT , начиная с версии 6.3.2, выпущенной 28 сентября 2007 г. [17]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Выпуск WavPack 5.7.0» . 1 марта 2024 г. Проверено 2 марта 2024 г.
  2. Перейти обратно: Перейти обратно: а б «Пользовательская документация WavPack» . www.wavpack.com .
  3. ^ Хейден, Ганс (11 июля 2006 г.). «Сжатие и скорость аудиоформатов без потерь» . Архивировано из оригинала 3 июля 2009 года . Проверено 17 июля 2009 г.
  4. ^ Брайант, Дэвид. «7.11 ВавПак». У Соломона, Давида (ред.). Сжатие данных: полный справочник (PDF) . п. 773.
  5. ^ Спик (7 февраля 2005 г.). «Сравнение производительности аудиокомпрессоров без потерь» . Архивировано из оригинала 25 ноября 2010 года . Проверено 17 июля 2009 г.
  6. ^ «Сжатие аудио WavPack» .
  7. ^ «Выпущен WavPack 4.40» .
  8. ^ «фубар2000» . foobar2000.org . Проверено 19 ноября 2019 г.
  9. Перейти обратно: Перейти обратно: а б «Загрузки WavPack» . www.wavpack.com .
  10. ^ «Центральный кодек dBpoweramp» . www.dbpoweramp.com . Проверено 19 ноября 2019 г.
  11. ^ «foobar2000: бесплатный пакет кодировщиков» . www.foobar2000.org . Проверено 19 ноября 2019 г.
  12. ^ «WavPack — База знаний Hydrogenaudio» .
  13. ^ «SoundCodecs <Главная <Вики» . www.rockbox.org .
  14. ^ Брайант, Дэвид (21 марта 2007 г.). «Комментарий разработчика на форуме» . Проверено 17 июля 2009 г.
  15. ^ Гольдберг, Дэвид (март 1991 г.). «Что должен знать каждый ученый-компьютерщик об арифметике с плавающей запятой» (PDF) . Обзоры вычислительной техники ACM . 23 (1): 5–48. дои : 10.1145/103162.103163 . S2CID   222008826 . Проверено 20 января 2016 г. ( [1] , [2] ).
  16. ^ «WinZip – Спецификация дополнительных методов сжатия» . ООО «ВинЗип Интернешнл». 15 ноября 2006 г. Проверено 6 января 2008 г.
  17. ^ «APPNOTE.TXT – спецификация формата файла .ZIP» . PKWARE Inc., 28 сентября 2007 г. Проверено 6 января 2008 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c496ab97ad8aee4ab190b632de30cee2__1715773800
URL1:https://arc.ask3.ru/arc/aa/c4/e2/c496ab97ad8aee4ab190b632de30cee2.html
Заголовок, (Title) документа по адресу, URL1:
WavPack - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)