Сжатие DCT - PullRequest
       39

Сжатие DCT

3 голосов
/ 25 апреля 2011

Как DCT ( D iscrete C osine T transform) помогает сжимать звук (или любые волнообразные данные)?Согласно DCT-преобразованию, в результате N входных значений и N выходных значений.Где и как достигается сжатие?

Ответы [ 3 ]

7 голосов
/ 02 апреля 2012

DCT не сжимает.Размер выхода DCT совпадает с размером входного сигнала.Однако то, что делает DCT, - это сжатие энергии сигнала.Грубо говоря, вы получите небольшое подмножество больших коэффициентов и множество маленьких коэффициентов в частотной области.Эта ситуация идеально подходит для энтропийного энкодера, который может устранить избыточность на выходе DCT, обеспечивая тем самым сжатие.

2 голосов
/ 02 января 2012

Подумайте о последовательности 1,2,3,4,5, .. Она не будет сжиматься с использованием LZ (zip), потому что повторение равно нулю. Теперь закодируйте последовательность как различия: 1,1,1,1,1, ... Zip сожмет это на 99%. Каждый алгоритм хорошо обнаруживает определенный паттерн. DCT помогает кодировать данные в хорошо сжимаемый формат.

0 голосов
/ 25 апреля 2011

IMO - это анализ повторений определенных значений входа (волны), представленных в виде частот (частота + амплитуда + повторение).Например, если у вас много низкого шума в аудио (бас), DCT будет выдавать много значений (= аналогичные значения) с низкими частотами (т.е. думать о полосе эквалайзера).Это может быть использовано для любого алгоритма сжатия.А также DCT без потерь и обратим.

...