Формат кодирования звука [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 был стандартным форматом для компакт-дисков 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 был предложен Дж. П. Принсеном, А. В. Джонсоном и А. Б. Брэдли в 1987 году [10] после более ранней работы Принсена и Брэдли в 1986 году. [11] MDCT используется в современных форматах сжатия звука, таких как Dolby Digital , [12] [13 ] ] MP3 , [9] и улучшенное кодирование звука (AAC). [14]