Статистическое компрессирование аудио сигналов. Вологдин Э.И. - 21 стр.

UptoLike

Составители: 

21
ном линейном квантовании звуковые выборки коррелированы, и тем в большей степени,
чем выше частота дискретизации. Поэтому энтропийному кодированию звуковых сигна-
лов всегда предшествует кодирование с предсказанием, при котором происходит декорре-
ляция кодовой последовательности. Реализуется энтропийное кодирование с помощью
префиксных кодов, путем кодирования длин серий и использованием арифметических
кодов.
Префиксные коды называются так потому, что ни одно кодовое слово не является
полным началом (т. е. префиксом) никакого другого слова, что гарантирует однозначность
декодирования. Так как длина каждого кодового слова выражается целым числом битов,
то префиксные коды неэффективны на алфавитах малой мощности (2-8 символов) или при
наличии символов с очень большой (более 30-50%) вероятностью появления и по качеству
сжатия могут уступать арифметическим.
Применение блочных кодов, кодирующих не отдельные символы, а блоки из k симво-
лов, позволяет построение кодов, сколь угодно близких по качеству кодирования к ариф-
метическим, однако из-за полиномиальной сложности блочного кодирования по размеру
блока и ряда других причин блочное кодирование почти не применяется на практике. Как
правило, алгоритмы словарного сжатия, и сжатия сортировкой блоков используют для ко-
дирования выхода основного алгоритма сжатия коды Хаффмана.
Кодирование длин серий используется при условии, что в кодовой последовательно-
сти может быть подряд много 0 или 1, тогда кодируются только местоположения 1 или 0.
Эта идея поясняется рис.21.
Арифметические коды не ставят явного соответствия между символами и кодовыми
словами, они основаны на других принципах. Качество арифметического кодирования
лучше, чем у посимвольного префиксного кодирования, и близко к теоретическому мини-
муму. Это реализуется также при малой мощности алфавита, и при очень неравномерном
распределении вероятностей появления символов.
С другой стороны, кодирование и декодирование арифметических кодов при доста-
точно большой мощности кодируемого алфавита заметно медленнее кодирования и деко-
дирования префиксных кодов, а разница в качестве сжатия обычно незначительна; по
этим и ряду других причин в большинстве случаев префиксное кодирование более пред-
почтительно для практического использования.
Арифметические коды обычно применяются в сочетании с методами статистического
моделирования для кодирования символов в соответствии с предсказанными вероятно-
стями .
Энтропийное кодирование применяется в целом ряде алгоритмов сжатия звука без по-
терь:
Apple Lossless ALAC (Apple Lossless Audio Codec)
Audio Lossless Coding также известен как MPEG-4 ALS
Direct Stream Transfer DST
Dolby TrueHD
DTS-HD Master Audio
Free Lossless Audio Codec FLAC
Meridian Lossless Packing MLP
Monkey's Audio Monkey‘s Audio APE
Рис.21. Принцип кодирования длин серий