Формат кодирования звука [1] (или иногда формат сжатия звука ) — это формат представления контента для хранения или передачи цифрового звука (например, в цифровом телевидении , цифровом радио и в аудио- и видеофайлах). Примерами форматов кодирования звука являются MP3 , AAC , Vorbis , FLAC и Opus . Конкретная программная или аппаратная реализация, способная сжимать и распаковывать звук в/из определенного формата кодирования звука, называется аудиокодеком ; примером аудиокодека является LAME , который является одним из нескольких различных кодеков, реализующих кодирование и декодирование звука в формате кодирования звука MP3 в программном обеспечении.
Некоторые форматы аудиокодирования документируются подробным техническим документом спецификации, известным как спецификация аудиокодирования . Некоторые такие спецификации пишутся и утверждаются организациями по стандартизации как технические стандарты и, таким образом, известны как стандарт аудиокодирования . Термин «стандарт» также иногда используется для фактических стандартов , а также для формальных стандартов.
Аудиоконтент, закодированный в определенном формате аудиокодирования, обычно инкапсулируется в контейнерном формате . Таким образом, у пользователя обычно нет необработанного файла AAC , но вместо этого есть аудиофайл .m4a , который является контейнером MPEG-4 Part 14, содержащим аудио в кодировке AAC. Контейнер также содержит метаданные, такие как заголовок и другие теги, и, возможно, индекс для быстрого поиска. [2] Заметным исключением являются файлы MP3 , которые представляют собой необработанное аудиокодирование без формата контейнера. Фактические стандарты добавления тегов метаданных, таких как заголовок и исполнитель, в MP3, такие как ID3 , являются хаками , которые работают путем добавления тегов к MP3, а затем полагаются на то, что проигрыватель MP3 распознает фрагмент как неправильно сформированное аудиокодирование и, следовательно, пропускает его. В видеофайлах со звуком закодированный аудиоконтент объединяется с видео (в формате видеокодирования ) внутри мультимедийного контейнерного формата .
Формат кодирования звука не диктует все алгоритмы, используемые кодеком , реализующим формат. Важной частью того, как работает сжатие звука с потерями, является удаление данных способами, которые люди не могут услышать, согласно психоакустической модели ; реализатор кодера имеет некоторую свободу выбора, какие данные удалять (согласно своей психоакустической модели).
Формат кодирования звука без потерь уменьшает общий объем данных, необходимых для представления звука, но может быть декодирован в исходную, несжатую форму. Формат кодирования звука с потерями дополнительно снижает битовое разрешение звука поверх сжатия, что приводит к гораздо меньшему объему данных за счет безвозвратно потерянной информации.
Передаваемое (потоковое) аудио чаще всего сжимается с использованием аудиокодеков с потерями, поскольку меньший размер гораздо удобнее для распространения. Наиболее широко используемые форматы кодирования аудио — MP3 и Advanced Audio Coding (AAC), оба из которых являются форматами с потерями, основанными на модифицированном дискретном косинусном преобразовании (MDCT) и алгоритмах перцептивного кодирования .
Иногда доступны форматы кодирования звука без потерь, такие как FLAC и Apple Lossless , но за счет большего размера файлов.
Иногда также используются несжатые аудиоформаты , такие как импульсно-кодовая модуляция (PCM или .wav). PCM был стандартным форматом для Compact Disc Digital Audio (CDDA).
В 1950 году Bell Labs подала заявку на патент на дифференциальную импульсно-кодовую модуляцию (DPCM). [3] Адаптивная DPCM (ADPCM) была представлена П. Каммиски, Никилом С. Джайантом и Джеймсом Л. Фланаганом в Bell Labs в 1973 году. [4] [5]
Перцептивное кодирование впервые было использовано для сжатия кодирования речи с линейным предсказательным кодированием (LPC). [6] Первоначальные концепции LPC восходят к работе Фумитады Итакуры ( Университет Нагои ) и Шузо Сайто ( Nippon Telegraph and Telephone ) в 1966 году. [7] В 1970-х годах Бишну С. Атал и Манфред Р. Шредер в Bell Labs разработали форму LPC, называемую адаптивным предсказательным кодированием (APC), алгоритм перцептивного кодирования, который использовал маскирующие свойства человеческого уха, за которым в начале 1980-х годов последовал алгоритм линейного предсказания с кодовым возбуждением (CELP), который достиг значительной степени сжатия для своего времени. [6] Перцептивное кодирование используется современными форматами сжатия звука, такими как MP3 [6] и AAC .
Дискретное косинусное преобразование (DCT), разработанное Насиром Ахмедом , Т. Натараджаном и К. Р. Рао в 1974 году, [8] легло в основу модифицированного дискретного косинусного преобразования (MDCT), используемого современными форматами сжатия звука, такими как MP3 [9] и AAC. MDCT было предложено JP Princen, AW Johnson и AB Bradley в 1987 году, [10] после более ранней работы Princen и Bradley в 1986 году. [11] MDCT используется современными форматами сжатия звука, такими как Dolby Digital , [12] [13] MP3 , [9] и Advanced Audio Coding (AAC). [14]