FLAC - непризнанный брат Apple Lossless?

Одним из аргументов, который приводят в свою пользу адепты PC в дебатах "святых войн", является отсутствие на платформе Mac OS поддержки аудиоформата FLAC. Столкнувшись с этим утверждением один раз, другой, третий, мы решили разобраться, в чем же прелесть этого формата и чем он так лучше Apple Lossless.

Формату FLAC положил начало в 2000 году энтузиаст Джош Коалсо (Josh Coalso), который задался целью разработать полностью свободный формат хранения аудиофайлов с использованием сжатия без потерь. Активная фаза разработки была в 2001-2003 годах, и привела к появлению стабильной версии, после чего разработка была приостановлена. Однако к этому моменту было сделано достаточно многое, что позволяет говорить о уже сформировавшемся формате FLAC и реальном поле его применения.

Причиной появления формата стало то, что в среде Windows и Unix разработчиков нет такого единения, как в случае Маков, что привело к ситуации, когда в стандартных средствах ОС для высококачественной музыки можно использовать только формат wav, который вообще не имеет сжатия, а это ведет к трате драгоценного места на жестком диске. А компания Microsoft, в отличии от Apple c кодеком Apple Lossless Codec, не уделила этому сегменту должного внимания, так что появление разработок в этом направлении было только вопросом времени.

Как и все разработчики свободного софта, Джош не стал ограничивать область применения своего детища, и вложил в него максимальное количество возможностей и оставил широкое поле для дальнейшего расширения. Если судить по документации к формату, то FLAC имеет много положительных характеристик, так что позвольте мне для их освещения просто процитировать сам документ:
  1. Формат FLAC и методы кодирования/декодирования не защищены патентами.
  2. Сжатие без потерь: Кодирование PCM данных не приводит к потере информации, следовательно декодируемый аудиофайл абсолютно идентичен тому, который был подан на вход кодеру. Чтобы определить возможные ошибки при передаче файла, для каждого фрейма вычисляется 16-битная контрольная сумма. Целостность на дальнейшем этапе подтверждается подписью MD5 распакованных данных, которая находится в заголовке и может быть проверена при воспроизведении, декодировании или с помощью тестирования.
  3. Скорость: Скорость работы при кодировании и декодировании несимметричны. Для декодирования используется только целочисленная арифметика, которая требует значительно меньше вычислений, чем в перцепционных кодеках. Декодирование в реальном времени легко достижимо даже на старых компьютерах.
  4. Аппаратная поддержка: Благодаря свободной базовой реализации и простому декодированию FLAC является единственным аудиокодеком, сжимающим без потерь, который имеет аппаратную поддержку.
  5. Поточность: Каждый фрейм FLAC содержит достаточно информации для собственного декодирования. Текущий фрейм FLAC не зависит от предыдущих и последующих. FLAC использует коды синхронизации и контрольные суммы, что позволяет декодеру быстро выбирать позицию в текущем потоке.
  6. Поиск: FLAC поддерживает быстрый и точный поиск, что полезно не только при воспроизведении, но и дает возможность использовать FLAC в звуковых редакторах.
  7. Метаданные: FLAC имеет расширяемую систему метаданных. Новые блоки метаданных могут быть определены и реализованы в будущих версиях без потери обратной совместимости. Сейчас определены типы метаданных для таблиц поиска, тегов и списков разметки аудиодисков. Приложение может использовать блок метаданных APPLICATION после регистрации для него ID.
  8. Архивирование: FLAC удобно использовать для архивации, так как сжатие с его помощью не приводит к потере информации. Если в будущем Вы решите использовать другой формат, данные будут восстановлены из .flac файла в первоначальном виде. Кроме контрольной суммы фрейма и подписи MD5, утилита flac имеет возможность проверки, использование которой приводит к тому, что кодируемый поток сразу же декодируется и сравнивается с исходным. Если происходит ошибка, кодер прекращает работу.
  9. Архивирование аудиодисков: У FLAC если блок метаданных CUESHEET, в котором сохраняется таблица разметки аудиодиска. Например, можно записать аудиодиск в один файл, а затем импортировать его таблицу разметки при кодировании, чтобы полученный файл имел такое же представление как и диск. Если оригинал аудиодиска будет испорчен, то вы сможете восстановить таблицу разметки, чтобы записать точную копию диска.
  10. Устойчивость от ошибок: Благодаря разбиению на фреймы, ошибки в потоке локализуются до уровня фрейма, в котором произошла ошибка (обычно несколько сотых секунды). В некоторых кодеках одна ошибка может привести к потере всего остатка потока.

Что можно сказать проанализировав заявленные характеристики? Одни из них являются уже стандартом де-факто, к примеру, устойчивость от ошибок сейчас реализована во всех современных форматах хранения файлов. Другие менее распространены, и их использование было бы полезно, правда, достаточно узкому кругу людей. К примеру, профессионалам от звука интересна возможность кодирования 24-битных треков. Это позволяет хранить запакованными оригиналы дорожек, что было бы очень приятно звукорежиссерам и аранжировщикам. Широко развитые возможности по индексации и поиску, при должном применении в звуковых редакторах, усилили бы радость от внедрения этого формата у творческих музыкантов.

Очень интересна "железячникам" заявленная высокая скорость декодирования файла, что позволяет воспроизводить музыку в этом формате даже на слабых устройствах и ведет к энергоэкономии. Данный вопрос очень критичен для мобильных гаджетов, поэтому применение в них формата уделяющего много внимания скорости работы крайне целесообразно. Как следствие хорошо проработанной скоростной характеристики является аппаратная поддержка кодека парой устройств. Такое малое количество может показаться смешным, однако большинство конкурентов не может похвастаться и этим. Кстати, при изучении в Википедии статьи о формате FLAC я чуть не наткнулся на сенсацию: оказывается iPod поддерживает этот формат! Правда сразу за этим заявлением оказалась приписка, что поддержка реализуется только через прошивку RockBox.

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

Раз уже я упомянул этот вопрос – разовью его и дальше. И так, распространенность. По этой характеристике данный формат "проваливается" - опрос десяти знакомых компьютерщиков не выявил ни одного человека, столкнувшегося хоть раз с этим форматом. Все потому, что ни одна из его характеристик не является революционной и не способна "выстрелить", как, например, "выстрелил" малый объем mp3 файлов в свое время. Да, в целом, формат выглядит интересным, и по многим параметрам он обходит конкурентные разработки. Однако за ним не стоят большие корпорации, которые могли бы сильно продвинуть его на рынке, так что шансы на успех его в массовом сегменте достаточно низки. Особенно в среде MacOS, где традиционно сильны позиции Apple, имеющей свою разработку – Apple Lossless Format.

Однако, некоторые свойства формата неплохо было бы получить в жизни: возможность архивирования аудиодисков, возможность сжатия на только 16-ти битных файлов, но и файлов с другой битностью, возможность настройки соотношения скорость кодирования/коэффициент сжатия. Правда отсутствие этих свойств не способно заставить массового пользователя перейти на этот формат с разработки фирмы Apple.
Источник: Дмитрий Девяткин