Fraunhofer FDK AAC — это библиотека с открытым исходным кодом [5] для кодирования и декодирования цифрового звука в формате Advanced Audio Coding (AAC). Fraunhofer IIS разработал эту библиотеку для Android 4.1 . [6] [7] Он поддерживает несколько типов аудиообъектов , включая MPEG-2 и MPEG-4 AAC LC, HE-AAC (AAC LC + SBR ), HE-AACv2 (LC + SBR + PS ), а также AAC-LD (низкий задержка) и AAC-ELD (улучшенная низкая задержка) для связи в реальном времени. Библиотека кодирования поддерживает частоту дискретизации до 96 кГц и до восьми каналов (7.1 Surround). [8]
Реализация кодера Fraunhofer AAC, ориентированная на Android, использует математические вычисления с фиксированной запятой и оптимизирована для кодирования на встроенных устройствах/мобильных телефонах. В настоящее время библиотека ограничена 16-битным входом PCM . Другие версии кодировщика Фраунгофера, например, включенная в состав Winamp , оптимизированы для кодирования музыки на процессорах настольного класса. Однако эти версии кодировщика не имеют открытого исходного кода и требуют коммерческой лицензии. [9] Версия 2 библиотеки, представленная вместе с Android P, также включает поддержку xHE-AAC [10] и AAC-ELD v2. [11] [12] xHE-AAC расширяет рабочий диапазон кодека с 12 до 300 кбит/с для стереосигналов и позволяет плавно переключаться между битрейтами в этом диапазоне для адаптивной доставки битрейта (с использованием таких стандартов, как MPEG-DASH или HLS для пример). [12] xHE-AAC также включает обязательную регулировку громкости MPEG-D DRC для воспроизведения контента на постоянной громкости и предлагает новые профили управления динамическим диапазоном для прослушивания в шумных ситуациях. [12]
Кодер FDK AAC использует более агрессивный фильтр нижних частот по умолчанию , чем в других кодеках. Более высокие частоты удаляются, чтобы было доступно больше битов для лучшего описания звуков более низких частот, что улучшает общее качество для большинства комбинаций записей и слушателей. В некоторых, не совсем редких сочетаниях заметны недостающие высокие частоты. Библиотека позволяет переопределить настройку фильтра нижних частот, а в режиме максимальной VBR фильтр вообще не применяется. [13] [ ненадежный источник ]
Кроссплатформенное распространение исходного кода поддерживается Мартином Стуршо как часть проекта opencore-amr под названием fdk-aac. [14] Код компилируется в общую библиотеку libfdk-aac. Медиа-фреймворки FFmpeg и Libav поддерживают кодирование звука через libfdk-aac. [15] [16]
Лицензия, включенная Фраунгофером в исходный код библиотеки FDK [17] [3], допускает перераспределение в исходной или двоичной форме, но не лицензирует запатентованные технологии, описанные в коде. В лицензии указано, что библиотеку можно использовать только в целях, разрешенных патентными лицензиями. Компания Via Licensing управляет патентным пулом, который включает патентные лицензии на кодеки AAC, включая xHE-AAC и MPEG-D DRC. [18] В лицензии FDK также указано, что «большинство производителей устройств Android уже лицензируют эти патентные претензии посредством лицензирования или напрямую от владельцев патентов, и поэтому программное обеспечение FDK AAC Codec уже может подпадать под действие этих патентных лицензий, когда оно используется для тех только для лицензионных целей». [17] Для использования кодека AAC, такого как FDK AAC, лицензионная плата не требуется, [19] только для производства кодека «конечного пользователя», например, для производства телефона с программным обеспечением AAC. [20] [21]
Debian считает лицензию FDK AAC несвободной, поскольку она запрещает людям взимать плату за распространение библиотеки, что противоречит правилу «Нет дискриминации в областях деятельности» в Руководстве по бесплатному программному обеспечению Debian . [22] Лицензия была классифицирована Fedora как бесплатная после проверки юридическим отделом Red Hat , [ 23] хотя она больше не классифицируется как «разрешенная», поскольку Fedora заняла более защитную позицию в отношении патентов. Однако Fedora заявляет, что это не повлияет на пакет fdk-aac-free, который поддерживает только широко используемый профиль «Low Complexity AAC», который использует большинство людей. Срок действия патентов США на LC-AAC истек. [24] FSF также считает его бесплатным, хотя и не одобряет его использование из-за явного отсутствия выдачи патента. [4] [25]