PCM - один из наиболее часто используемых аудиокодеков; большинство компьютеров (а также многие устройства) используют его по умолчанию для вывода / ввода звука. Весь звук, который слышен на этом устройстве, будь то из файла или с входа микрофона, записан в формате PCM, и он используется для восстановления приближенного значения оригинальных аналоговых звуков.
Когда вы делаете цифровую аудиозапись с помощью микрофона в системе, которая использует PCM для вывода / ввода звука, аудиопоток является PCM. Когда вы без потерь сохраняете эту запись как WAV, FLAC, WMA Lossless, ALAC, AIFF и т.д., Процесс кодирования не выполняется, аудиопоток просто помещается в новый файл контейнера, это все еще поток PCM, интерпретируемый вашей системой с аналогового звуки реального мира.
Форматы без потерь можно разделить на 2 типа: сжатые и несжатые. Несжатые форматы, такие как WAV и AIFF, просто хранят аудиопоток PCM. Сжатые форматы, такие как FLAC, ALAC и WMA Lossless, управляют потоковыми данными с помощью алгоритма сжатия для экономии места, например, в виде zip-архива.
Данные не меняются, они просто сохраняются более эффективно; это все еще закодировано как PCM.
Если вы затем возьмете экспорт без потерь и конвертируете его в MP3 со скоростью 128 кбит / с, потребуется перекодирование.
Кодирование означает организацию данных аудиопотока по-новому; это процесс без потерь. Однако нет никаких кодеков, насколько мне известно, которые делают это, потому что это было бы бессмысленно. Файл будет звучать одинаково, воспроизведение потребует декодирования аудио, что означает, что требуется больше системных ресурсов, и он будет того же размера, что и исходный файл. Поэтому такие кодеки, как MP3, WMA Lossy, AAC, Vorbis (OGG) и т.д. Также выполняют дополнительные операции. Обычной операцией является удаление данных, которые считаются менее важными. Отказ от данных приводит к меньшему размеру файла.
Нижеследующее не является идеальной аналогией, но я думаю, что это все понятно.
Скажем так: « I hate you Sarah!
«написано на листе бумаги представляет собой аудиопоток PCM в файле WAV, который вы без потерь экспортировали после выполнения записи.
Кодирование этих данных в другом формате кодирования было бы равносильно смешиванию букв с надписью " h Iyae oSr!хаату ". Программное обеспечение для декодирования знает, как этот кодек организует данные, чтобы он мог размешать сообщение.
Однако, как обсуждалось, форматы, такие как MP3, также отбрасывают данные во время процесса кодирования. Таким образом, сообщение MP3 будет больше похоже на « h I Sr! h tu
", и когда декодируется (не перемешивается), это будет выглядеть так" I h t u S r h!
». Если вы прочитаете это обратно, вы все равно получите сообщение, но исключение букв немного изменит звук. Чем больше вы исключаете, тем хуже становится, пока не достигнете точки, когда вы больше не сможете понять исходное сообщение.
Аудиопоток MP3 представляет исходный аудиопоток PCM. Когда вы проигрываете MP3, он декодируется обратно в PCM, но сброшенные данные, очевидно, не возвращаются. В этом примере звучит правдоподобно добавить обратно пропущенные буквы, но помните, что компьютеры не так умны, как мы, и это очень очень очень простой пример.
Если вы должны были преобразовать MP3 в файл WAV, технически вы декодируете в PCM, а затем сохраняете поток PCM, поэтому WAV больше, чем MP3. Потеря данных не происходит, потому что поток MP3 всегда был просто представлением для потока PCM. Спецификация кодека сообщает декодеру, как декодировать MP3 обратно в формат PCM. Если вы должны были преобразовать MP3 в AAC со скоростью 128 кбит / с, то на самом деле происходит то, что MP3 декодируется в PCM, а затем поток PCM кодируется как AAC. Процесс кодирования из PCM в AAC приводит к дальнейшей потере данных, потому что " I h t u S r h!
"рассматривается как исходное сообщение. Обратите внимание, что буквы не сдавлены вместе. Когда файл AAC создан, он не будет знать, что пробелы из исключенных букв не являются частью сообщения при попытке выяснить, что безопаснее всего отбрасывать, поэтому повторное кодирование данных с той же скоростью передачи битов приводит к снижению качества.