Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Максимова.doc
Скачиваний:
10
Добавлен:
01.04.2025
Размер:
20.86 Mб
Скачать

Технология mp3

Теперь резюмируем методы, используемые в технологии MPEG Layer 3 (MP3). Чтобы достичь такого сжатия данных, MP3 использует множество технических приемов, описанных выше. Здесь приведены основные из них:

  • Минимальный порог слышимости;

  • Эффект маскирования;

  • Битовый резерв;

  • Joint stereo;

  • Кодирование Хаффмана.

Минимальный порог слышимости. Минимальный порог чувствительности уха нелинеен. Он представлен, в соответствии с законом Флетчера и Мансена, кривой с максимумом чувствительности в диапазоне от 2 до 5 кГц:

Следовательно, кодировать звуки, лежащие под этой кривой, нет необходимости, поскольку они все равно не будут услышаны.

Эффект маскирования. Эта система основана на такой особенности человеческого слуха, как маскирование. Её суть заключается в следующем: когда вы смотрите на солнце, и перед вами пролетает птица, вы ее не видите, поскольку свет солнца является "более сильной" составляющей видимой картины. В звуке наблюдается то же самое – вы не слышите тихих звуков на фоне более громких. В качестве примера можно привести органный концерт – пока органист не играет, вы можете слышать шум подаваемого воздуха в трубах, когда же органист начинает играть, вы перестаете слышать этот звук, поскольку он маскируется.

Эффект маскирования также зависит от частоты звукового сигнала. Приведенный ниже график иллюстрирует восприятие звука человеком при маскировании звукового спектра тоном 1 кГц на громкости 70 дБ.

Из этих эффектов следует, что для адекватного восприятия звуковой картины не требуется кодировать все звуки. Это – первое свойство, используемое для компрессии в формате MP3. С этой целью, как уже говорилось, применяется психоакустическая модель, имитирующая работу человеческого слуха.

Битовый резерв. Часто определенные фрагменты музыкального произведения не могут быть закодированы в рамках данного битового диапазона без потерь качества. В этом случае mp3 использует небольшой запас битов, как буфер, кодируя менее сложные фрагменты в меньший битовый диапазон.

Joint stereo. Во многих стереосистемах среднего качества есть единственный низкочастотный динамик – "boomer", тем не менее, при прослушивании создается впечатление, что звук исходит не из этого источника, а из стереодинамиков. На самом деле, ниже определенной частоты человек не способен определить пространственную картину звука. Формат MP3 может использовать эту особенность, что называется joint stereo. Низкие частоты записываются как монофонический сигнал с добавлением некоторых данных, позволяющих восстановить минимальную информацию о пространственной звуковой картине (Middle/Side coding).

Кодирование Хаффмана. MP3 также использует классический алгоритм Хаффмана, как последнюю стадия сжатия. Алгоритм Хаффмана здесь применяется не как собственно метод компрессии, а как дополнение к описанным методам кодирования. Этот алгоритм создает в рамках целого числа битов коды переменной длины. Символы с большей вероятностью появления имеют коды меньшей длины. Коды Хаффмана обладают уникальными префиксами, так что они могут быть корректно декодированы, несмотря на их переменную длину. Декодирование осуществляется достаточно быстро (с использованием таблиц соответствия). Этот вид кодирования обычно позволяет сжать аудиоданные еще примерно на 20%. Кодирование Хаффмана является превосходным дополнением к перцептивным методам. Перцептивное кодирование оказывается очень эффективным при кодировании сложного полифонического звучания в силу того, что многие звуки маскируются или их влияние на общую картину снижается, при этом кодирование Хаффмана не обеспечивает должной эффективности, так как в потоке присутствует мало повторяющейся информации. При кодировании же "чистых" звуков присутствует достаточно мало маскирующих эффектов, но кодирование Хаффмана является очень эффективным из-за того, что оцифрованный звук содержит много избыточных байтов, которые при кодировании заменяются более короткими кодами.

AAC-кодирование (Advanced Audio Coding)

Существует еще один способ кодирования и проигрывания файлов с "CD-качеством", который использует меньше дискового пространства, чем MP3. Он называется AAC-кодирование (Advanced Audio Coding), или NBC-кодирование (Non-Backward-Compatible) и является частью стандарта MPEG-2. На текущий момент AAC уже принят как часть стандарта. Производительность AAC-кодеков сравнима или даже лучше, чем производительность MPEG-1 Layer II и Layer III. AAC Main 128, AAC LC 128 и AAC SSR 128 дают значительно лучшую производительность,чем MP2 192 или MP3 128. Кроме того, AAC Main 96 дает лучшие результаты, чем MP3 128. Результат кодирования AAC Main 128 неотличим от оригинала (DAT) для 80% профессиональных слушателей.

AAC – это алгоритм аудиосжатия, который обеспечивает лучшее сжатие, чем это делают другие алгоритмы, такие как AC-3. AAC, также как и AC-3, является трансформным кодером, но AAC использует блок фильтров с более точным частотным разрешением, что позволяет получить более плотное сжатие. Также AAC использует множество новых инструментов, таких, как:

  • кодирование Хаффмана;

  • квантование и масштабирование;

  • матрицирование стерео (M/S);

  • интенсивное стерео (IS);

  • связанные каналы;

  • обратное адаптивное предсказание;

  • временное ограничение шума (temporal noise shaping (TNS));

  • модифицированное дискретное косинусное преобразование (modified discrete cosine transform (IMDCT));

  • регулировка компенсации уровня и гибридный блок фильтров (полифазный квадратурный фильтр (polyphase quadrature filter (IPQF))+IMDCT).

Самым важным из новых инструментов является обратное адаптивное предсказание, которое отнимает примерно 45% времени декодирования.

Все сказанное относится к AAC Main profile 128. Кроме того, существуют:

Low Complexity profile – профиль низкой сложности:

  • не используется предсказание;

  • TNS ограничено 12 коэффициентами, но все еще в диапазоне 18 кГц.

и Scaleable Sampling Rate profile – профиль с масштабируемой частотой оцифровки:

  • не используется предсказание;

  • не используется связывание каналов;

  • компенсация уровня;

  • гибридный банк фильтров (IPQF + разделенный IMDCT);

  • TNS ограничено 12 коэффициентами и диапазоном 6 кГц.

Кроме того, AAC является более гибким алгоритмом, чем AC-3 в том плане, что AAC поддерживает широкий выбор частот оцифровки и битовых диапазонов, от одного до 48 аудиоканалов, до 15 дополнительных низкочастотных каналов, многоязыковую поддержку и до 15 вложенных потоков данных.

Существуют контрольные исходные тексты как для кодера, так и для декодера. Исходный текст декодера является завершенным и полностью стандартизованным. Декодер может декодировать все три профиля AAC: Main (основной), Low Complexity (низкой сложности) и Scaleable Sampling Rate (с масштабируемой частотой оцифровки), до 48 аудиоканалов, 15 дополнительных низкочастотных каналов и 15 потоков данных. Кроме того, исходный текст достаточно эффективен – скомпилированный декодер декодирует стерео поток в режиме реального времени на Pentium 100MГц с загрузкой процессора на 50%. Имеющийся контрольный кодер пока не является многоканальным кодером общего назначения, и пока не использует все инструменты кодирования AAC.

AAC был представлен на формальных перцептивных тестах MPEG, и показал немного лучшее качество на 320 Кбит/с, чем MPEG-2 BC на 640 Кбит/с.

Обратная совместимость. AAC примерно в два раза отличается в лучшую сторону по качеству от MPEG-2 BC (как и MP3), и применим во всех ситуациях, в которых обратная совместимость не требуется или обеспечивается одновременной трансляцией.

Двухканальный декодер MPEG-1 может, однако, декодировать 5-канальный поток MPEG-2 BC-5. AAC не обладает свойством такой "обратной совместимости".