WavPack

редактировать
Бесплатное программное обеспечение для сжатия звука без потерь с открытым исходным кодом
WavPack
Разработчик (и) Дэвид Брайант
Stable выпуск 5.3.0 / 14 апреля 2020 г.; 6 месяцев назад (2020-04-14)
Репозиторий Измените это в Wikidata
Операционная система Кросс-платформенность
Тип Аудиокодек Контейнер
Лицензия Лицензия BSD
Веб-сайтwavpack.com
WavPack
Расширение имени файла .wv
Открытый формат ?Да

WavPack - это бесплатный формат с открытым исходным кодом сжатие аудио без потерь .

Содержание
  • 1 Характеристики
    • 1.1 Гибридный режим
    • 1.2 Обзор
  • 2 История
  • 3 Поддержка
    • 3.1 Программное обеспечение
    • 3.2 Аппаратное обеспечение
  • 4 Технология
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Характеристики

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

Гибридный режим

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

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

Резюме

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

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

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

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

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

Поддержка

Программное обеспечение

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

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

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

Аппаратное обеспечение

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

  • Cowon A3 PMP поддерживает WavPack из коробки.

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

  • Apple iPod Музыкальные плееры не поддерживают WavPack из коробки, но могут использовать прошивку с открытым исходным кодом Rockbox.
  • iriver H100 series, могут использовать прошивку Rockbox с открытым исходным кодом.
  • iriver H300 серия, может использоваться через прошивку Rockbox с открытым исходным кодом.
  • смартфоны и планшеты Android с установкой стороннего программного обеспечения медиаплеера.
  • устройства Chrome OS с использованием программного обеспечения медиаплеера, установленного в подсистеме Linux или Android Play Store.

Веб-сайт WavPack также включает плагин, который позволяет поддерживать формат по технологии Roku PhotoBridge HD.

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

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

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

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

В пути данных WavPack не используется арифметика с плавающей запятой, потому что, по словам автора, операции целочисленные менее подвержены незначительным изменениям от чипа к чипу, которые может нарушить сжатие без потерь (например, ошибка с плавающей запятой Pentium ). Возможно, компрессор без потерь, использующий математику с плавающей запятой, может генерировать другой вывод при работе на неисправном Pentium. Даже если не принимать во внимание фактические ошибки, математика с плавающей запятой достаточно сложна, поэтому между «правильными» реализациями могут быть тонкие различия, которые могут вызвать проблемы для этого типа приложений. В сгенерированные потоки включен 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 г. Это расширение для формата файла ZIP был включен PKWARE, разработчиками формата, в официальный файл описания APPNOTE.TXT, начиная с версии 6.3.2, выпущенной 28 сентября 2007 года.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-20 09:50:43
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте