Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

FLAC ( / е л æ к / ; Свободное Lossless Audio Codec ) представляет собой аудио формат кодирования для сжатия без потерь сжатия из цифрового аудио , разработанный Xiph.org Foundation , а также имя свободного программного проекта производя FLAC инструменты эталонный программный пакет, включающий реализацию кодека . Цифровой звук, сжатый алгоритмом FLAC, обычно может быть уменьшен до 50–70 процентов от его исходного размера [4] и распакован до идентичной копии исходных аудиоданных.

FLAC - это открытый формат с бесплатным лицензированием и эталонной реализацией, которая является бесплатным программным обеспечением . FLAC поддерживает теги метаданных , обложки альбомов и быстрый поиск.

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

Разработка была начата в 2000 году Джошем Коулсоном. [5] Формат битового потока был заморожен, когда FLAC вошел в стадию бета-тестирования с выпуском версии 0.5 эталонной реализации 15 января 2001 года. Версия 1.0 была выпущена 20 июля 2001 года. [5]

29 января 2003 года фонд Xiph.Org Foundation и проект FLAC объявили о включении FLAC под баннер Xiph.org. Xiph.org является домом для других бесплатных форматов сжатия, таких как Vorbis , Theora , Speex и Opus . [5] [6] [7]

Версия 1.3.0 была выпущена 26 мая 2013 года, после чего разработка была перенесена в репозиторий Git Xiph.org. [8]

Состав [ править ]

Проект FLAC состоит из:

  • Форматы потоков
  • Простой формат контейнера для потока, также называемый FLAC (или Native FLAC ).
  • libFLAC, библиотека эталонных кодеров и декодеров и интерфейс метаданных
  • libFLAC ++, объектно-ориентированная оболочка для libFLAC
  • flac, программа командной строки на основе libFLAC для кодирования и декодирования потоков FLAC
  • metaflac, редактор метаданных командной строки для файлов .flac и для применения ReplayGain
  • Плагины ввода для различных музыкальных плееров ( Winamp , XMMS , foobar2000 , musikCube и многие другие)
  • С включением Xiph.org формат контейнера Ogg , подходящий для потоковой передачи (также называемый Ogg FLAC )

Спецификация формата потока может быть реализована кем угодно без предварительного разрешения (Xiph.org оставляет за собой право устанавливать спецификацию FLAC и подтверждать соответствие), и ни формат FLAC, ни какие-либо из реализованных методов кодирования или декодирования не защищены никакими патентами. . Эталонная реализация является свободным программным обеспечением . Исходный код для libFLAC и libFLAC ++ доступен под лицензией BSD , и источники flac, metaflacи плагины доступны под лицензией GNU General Public License .

В заявленных целях проект FLAC призывает своих разработчиков не реализовывать какие-либо функции защиты от копирования ( DRM ). [9]

Дизайн [ править ]

Аудиоисточники, закодированные в FLAC, обычно уменьшаются до 50–70% от их первоначального размера, аналогично другим форматам без потерь, хотя окончательный размер зависит от плотности и амплитуды сжимаемой музыки, а для некоторых музыкальных файлов размер файла может быть меньше. снижается на 80%. [4]

Кодировщик исходного кода [ править ]

  • Формат FLAC поддерживает только целочисленные образцы, но не с плавающей запятой . Он может обрабатывать любое битовое разрешение PCM от 4 до 32 бит на выборку, любую частоту дискретизации от 1  Гц до 65 535 Гц с шагом 1 Гц или от 10 Гц до 655350 Гц с шагом 10 Гц и любое количество каналов от 1 до 8. [10] На сегодняшний день (версия 1.3.3 эталонного кодировщика) кодирование FLAC ограничено 24 битами на выборку, поскольку не существует кодировщика для 32 битов на выборку. [11]
  • В некоторых случаях каналы могут быть сгруппированы, например стерео и 5.1-канальный объемный звук , чтобы воспользоваться преимуществами межканальной корреляции для увеличения сжатия.
  • Контрольные суммы CRC используются для идентификации поврежденных кадров при использовании в потоковом протоколе. Файл также включает полный MD5- хэш необработанного звука PCM в заголовке метаданных STREAMINFO . FLAC допускает параметр Райса от 0 до 16.
  • FLAC использует линейное предсказание для преобразования аудиосэмплов. Есть два шага: предсказатель и кодирование ошибок. Предиктор может быть одного из четырех типов (нулевой, дословный, фиксированный линейный и конечный импульсный отклик [ сомнительно ] (FIR) линейный). Вычисляется разница между предсказателем и фактическими данными выборки, которая называется остатком. Остаток эффективно сохраняется с использованием кодирования Голомба-Райса . Он также использует кодирование длин серий для блоков идентичных выборок, таких как тихие пассажи.

Метаданные [ править ]

  • FLAC поддерживает ReplayGain .
  • Для тегов FLAC использует ту же систему, что и комментарии Vorbis . [12]
  • API libFLAC организован в потоки, доступные для поиска потоки и файлы (перечислены в порядке возрастания абстракции от базового потока битов FLAC).
  • Большинство приложений FLAC обычно ограничиваются кодированием / декодированием с использованием libFLAC на уровне файлового интерфейса.

Уровни сжатия [ править ]

libFLAC использует параметр уровня сжатия, который варьируется от 0 (самый быстрый) до 8 (самый медленный). Сжатые файлы - это всегда идеальное представление исходных данных без потерь. Хотя процесс сжатия предполагает компромисс между скоростью и размером, процесс декодирования всегда довольно быстр и не зависит от уровня сжатия. [13] [14]

Согласно тесту .WAV, запущенному с Athlon XP 2400+, [15] при использовании более высоких скоростей выше уровня по умолчанию -5 кодирование занимает значительно больше времени без реального выигрыша в экономии места.

Сравнение с другими форматами [ править ]

FLAC специально разработан для эффективной упаковки аудиоданных, в отличие от универсальных алгоритмов без потерь, таких как DEFLATE , которые используются в ZIP и gzip . В то время как ZIP может уменьшить размер аудиофайла с качеством компакт-диска на 10–20%, FLAC может уменьшить размер аудиоданных на 40–50% за счет использования характеристик звука.

Технические преимущества FLAC по сравнению с другими форматами без потерь заключаются в его способности быстро передаваться и декодироваться, независимо от уровня сжатия.

Поскольку FLAC - это схема без потерь, он подходит в качестве формата архива для владельцев компакт-дисков и других носителей, которые хотят сохранить свои аудиоколлекции. Если исходный носитель утерян, поврежден или изношен, копия аудиодорожек в формате FLAC гарантирует, что точная копия исходных данных может быть восстановлена ​​в любое время. Точное восстановление из копии с потерями (например, MP3 ) тех же данных невозможно. FLAC без потерь означает, что он очень подходит для перекодирования, например, в MP3, без обычно связанной потери качества перекодирования между одним форматом с потерями и другим. Файл CUE необязательно может быть создан при разрываякомпакт-диск. Если компакт-диск правильно читается и копируется в файлы FLAC, файл CUE позволяет позднее записывать аудио-компакт-диск, идентичный по аудиоданным исходному компакт-диску, включая порядок дорожек и предварительную паузу , но исключая CD-текст и другие дополнительные данные, такие как тексты песен и графика на CD + G. [12]

Принятие и реализация [ править ]

Эталонная реализация FLAC реализована как базовая библиотека кодировщика и декодера libFLAC , при этом основная распространяемая программа flacявляется эталонной реализацией libFLAC API. Этот API кодеков также доступен в C ++ как libFLAC ++. Эталонная реализация FLAC компилируется на многих платформах, включая большинство операционных систем Unix (таких как Solaris , BSD ) и Unix-подобных (включая Linux ), Microsoft Windows , BeOS и OS / 2 . Существуют сборочные системы для autoconf / automake , MSVC ,Watcom C и Xcode . Там в настоящее время нет многоядерной поддержки в libFLAC, но такие утилиты, как GNU параллельно и различные графические интерфейсы могут быть использованы для раскрутки несколько экземпляров кодировщика.

Поддержка воспроизведения FLAC в портативных аудиоустройствах и специализированных аудиосистемах ограничена по сравнению с такими форматами, как MP3 [16] или несжатый PCM . Поддержка FLAC включена по умолчанию в устройства Windows 10 , Android , Blackberry 10 и Jolla .

В 2014 году несколько компаний-производителей мобильной электроники представили мультимедийные решения с поддержкой FLAC. К ним относятся серия NEX от Pioneer Electronics и VX404 и NX404 от Clarion.

Европейский вещательный союз (EBU) принял формат FLAC для распространения высококачественного звука по своей сети Еврорадио. [17] Windows , операционная система поддерживает интеграцию с FLAC с момента введения Windows , 10. [18] Операционная система Android поддерживает родной воспроизведения FLAC , начиная с версии 3.1. [19] [20] macOS High Sierra и iOS 11 добавляют встроенную поддержку воспроизведения FLAC. [21]

Среди прочего, музыкальный проигрыватель и потоковый сервис Pono использовали формат FLAC. [22] [23] Bandcamp настаивает на формате загрузки без потерь и предлагает FLAC в качестве варианта загрузки. [24] Фонд Викимедиа спонсировал бесплатный онлайн- инструмент ECMAScript FLAC с открытым исходным кодом для браузеров, поддерживающих необходимые функции HTML5 . [25]

Поддерживаются различные другие контейнеры, независимо от используемой операционной системы, в зависимости от используемого программного обеспечения для воспроизведения.

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

  • Сравнение форматов кодирования аудио

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

  1. ^ "FLAC 1.3.3 (4 августа 2019 г.)" .
  2. ^ Коулсон, Джош. «FLAC-формат» . Проверено 4 апреля 2013 года . «fLaC», маркер потока FLAC в ASCII, что означает, что байт 0 потока равен 0x66, за которым следует 0x4C 0x61 0x43
  3. ^ "PlayOgg!" . Фонд свободного программного обеспечения . 17 марта 2010 . Проверено 1 октября 2013 года .
  4. ^ а б «Глядя на коэффициенты сжатия Flac» . Стивен Голубь . Проверено 10 мая 2018 .
  5. ^ a b c "Новости" . FLAC . Проверено 31 августа 2009 года .
  6. ^ "FLAC присоединяется к Xiph.org" . Фонд Xiph.org . 29 января 2003 . Проверено 31 августа 2009 года .
  7. ^ Завод, Эммет. "FLAC присоединяется к Xiph!" . Фонд Xiph.org . Архивировано из оригинального 29 мая 2008 года . Проверено 31 августа 2009 года .
  8. ^ "FLAC - журнал изменений" . Фонд Xiph.org . Проверено 15 октября 2013 года .
  9. ^ «Разработчики» . FLAC . Проверено 15 октября 2013 года .
  10. ^ «Формат» . FLAC . Проверено 20 мая 2017 года .
  11. ^ https://xiph.org/flac/changelog.html
  12. ^ a b «FAQ» . FLAC . Проверено 23 сентября 2014 года .
  13. ^ "Сравнение кодировщиков FLAC CUETools" . CUETools Wiki . Проверено 27 мая 2013 года .
  14. ^ «Настройки кодирования» . JRiver Media Center . Проверено 27 мая 2013 года .
  15. ^ «Сравнение кодеков без потерь» . Synthetic-soul.co.uk . Архивировано из оригинального 2 -го февраля 2009 года . Проверено 26 ноября +2016 .
  16. ^ "Ссылки" . FLAC . Проверено 24 марта 2009 года .
  17. ^ "Что такое система EBU Musipop?" . EBU .
  18. ^ «Аудио-снобы радуются: Windows 10 будет иметь общесистемную поддержку FLAC» . Мир ПК . Дата обращения 10 июля 2015 .
  19. ^ «Поддерживаемые Android форматы мультимедиа» . Android.com . 4 августа 2011 . Проверено 27 февраля 2012 года .
  20. ^ «Проблема 1461 - android - запрос на расширение поддержки файлов FLAC» . Код Google . Проверено 5 августа 2011 года .
  21. ^ «iOS 11 обеспечивает воспроизведение аудио в формате FLAC без потерь на iPhone и iPad» . idownloadblog.com . 9 июня 2017 . Проверено 26 сентября 2017 года .
  22. ^ "FAQ" . ponomusic.com . 14 марта 2014 . Проверено 14 марта 2014 .
  23. ^ "Дом" . Qobuz.com . Проверено 10 апреля 2014 года .
  24. ^ "Почему мои треки не загружаются?" . Bandcamp . Проверено 21 июня 2015 года .
  25. ^ Rillke (2015). "Декодер и декодер JavaScript FLAC" . Дата обращения 9 февраля 2015 .

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

  • Официальный веб-сайт
  • Сравнение аудиоформатов без потерь : сравнение FLAC с пятью другими аудиоформатами без потерь
  • Сравнение без потерь : FLAC с семью другими аудиоформатами без потерь на Hydrogenaudio
  • GSMArena Phone Finder : все телефоны и планшеты с поддержкой FLAC