Компания Apple открыла наработки, связанные с аудиокодеком ALAC (Apple Lossless Audio Codec). ALAC относится к классу кодеков без потери качества и повсеместно используется в продуктах Apple. Как и развиваемый организацией Xiph.Org свободный кодек FLAC, ALAC оперирует методами упаковки без отбрасывания данных, позволяя сохранить полную идентичность результирующего и исходного потоков. ALAC позволяет обеспечить степень сжатия на уровне 40-60% от исходного несжатого потока при очень высокой скорости декодирования, но достаточно медленном кодировании. Код открыт под лицензией Apache 2.0, подразумевающей передачу прав на использование всех связанных с кодеком патентов.

Открытый компанией Apple пакет включает полный код декодировщика и кодировщика для кодека ALAC, а также утилиту alacconvert, которая предоставляет функции записи и чтения звуковых потоков в форматах CAF (Core Audio Format) и WAVE. Утилита одновременно выступает в качестве примера по интеграции поддержки ALAC в сторонние программы. В комплект также включено руководство с данными по использованию кодека с различными медиа-контейнерами, такими как MP4 и M4A. Следует отметить, что в рамках проекта FFmpeg независимыми энтузиастами ранее уже был создан открытый декодировщик и кодировщик для формата ALAC, который достаточно давно входит в состав библиотеки libavcodec.

Представленная реализация ALAC поддерживает произвольный выбор частоты дискретизации в диапазоне от 1 до 384000 Гц (в теории до 4,294,967,295 Гц) и использование от одного до восьми звуковых каналов (MPEG 7.1 B). По умолчанию данные кодируются пакетами по 4096 выборок. Размер пакета при желании может быть изменён, но тогда может быть нарушена совместимость со всеми аппаратными устройствами Apple. Из других особенностей ALAC можно упомянуть наличие средств аппаратной акселерации декодирования в iPod и AirPort Express, поддержка потоковой передачи, возможность привязки тегов (QT tags) и поддержка многоканального звука.

При выполнении тестового сжатия ALAC обеспечил сжатие с коэффициентом 54.96% (результат 414.45 Мб), при этом на кодирование было потрачено 19 минут 53 секунды, а на декодирование 10 минут 1 секунда. В этих же тестах FLAC обеспечил в трёх разных режимах сжатие с коэффициентом 53.67%, 54.57%, 56.97% (406.25 Мб, 412.42 Мб, 431.72 Мб), при этом на кодирование было потрачено 10:07, 7:23 и 6:24, что в 2-3 раза быстрее ALAC. FLAC выполнил декодирование за 5:23, 5:31, 5:26.8, что также значительно быстрее ALAC. Несмотря на то, что по своим характеристикам ALAC немного отстаёт от FLAC, достоинством ALAC является полная совместимость с сервисами Apple, такими как iTunes и AirTunes, которые не поддерживают FLAC.

Источник: http://www.opennet.ru/opennews/art.shtml?num=32156