Разработчик(и) | Фраунгофер IIS | ||||
---|---|---|---|---|---|
Первоначальный выпуск | 9 июля 2012 г. ( 2012-07-09 ) | ||||
Стабильный релиз(ы) | |||||
| |||||
Репозиторий |
| ||||
Написано в | С++ , С | ||||
Операционная система | андроид | ||||
Доступно в | Английский | ||||
Тип | Кодек | ||||
Лицензия | «Лицензия Fraunhofer FDK AAC» ( лицензия свободного программного обеспечения без выдачи патента) [3] [4] | ||||
Веб-сайт | www.iis.fraunhofer.de/en/ff/amm/impl.html |
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 (low delay) и AAC-ELD (enhanced low delay) для связи в реальном времени. Библиотека кодирования поддерживает частоту дискретизации до 96 кГц и до восьми каналов (7.1 Surround). [8]
Реализация кодировщика Fraunhofer AAC, ориентированная на Android, использует математику с фиксированной точкой и оптимизирована для кодирования на встраиваемых устройствах/мобильных телефонах. В настоящее время библиотека ограничена 16-битным входом PCM . Другие версии кодировщика Fraunhofer, например, включенная в 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]
Имя профиля | Задействованные объекты MPEG-4 | ФДК | ФДК 2 |
---|---|---|---|
Низкая сложность (AAC-LC) | 2 | Да | Да |
Высокая эффективность (HE-AAC) | 2, 5 | Да | Да |
Высокоэффективная версия 2 (HE-AAC) | 2, 5, 29 | Да | Да |
Базовый USAC | 42 | ||
Расширенная высокая эффективность (xHE-AAC) | 2, 5, 29, 42 | Только декодирование | |
Низкая задержка (AAC-LD) | 23 | Да | Да |
Улучшенная технология с малой задержкой (AAC-ELD) | 39 | Да | Да |
Улучшенная версия с низкой задержкой 2 (AAC-ELDv2) | 44 | Да |
Лицензия, включенная Фраунгофером в исходный код библиотеки FDK [17] [3], позволяет распространять ее в исходном или двоичном виде, но не лицензирует запатентованные технологии, описанные в коде. Лицензия гласит, что библиотека может использоваться только в целях, разрешенных патентными лицензиями. Via Licensing управляет патентным пулом, который включает патентные лицензии на кодеки AAC, включая xHE-AAC и MPEG-D DRC. [18] Лицензия FDK также гласит, что «большинство производителей устройств Android уже лицензируют эти патентные притязания через Via Licensing или напрямую от владельцев патентов, и поэтому программное обеспечение FDK AAC Codec может уже подпадать под действие этих патентных лицензий, когда оно используется только в этих лицензированных целях». [17] Лицензионный сбор не требуется для использования кодека AAC, такого как FDK AAC, [19] только для производства кодека «конечного пользователя», такого как производство телефона с загруженным программным обеспечением AAC. [20] [21]
Debian считает лицензию FDK AAC несвободной, поскольку она запрещает людям взимать плату за распространение библиотеки, что противоречит правилу «No Discrimination Against Fields of Endeavor» в Debian Free Software Guidelines . [22] Лицензия была классифицирована Fedora как свободная после проверки юридическим отделом Red Hat , [23] хотя она больше не классифицируется как «разрешенная» из-за того, что Fedora заняла более оборонительную позицию по отношению к патентам. Однако Fedora заявляет, что это не повлияет на пакет fdk-aac-free, который включает только общеупотребимый профиль «Low Complexity AAC», который используют большинство людей. Патенты США на LC-AAC истекли. [24] FSF также считает ее свободной, хотя и не рекомендует ее использовать из-за явного отсутствия патента. [4] [25]