ДКП-сжатие

Как DCT (Discrete Cosine Ttransform) помогает сжимать звук (или любые волнообразные данные)? В соответствии с DCT-преобразованием в результате получается N входных значений и N выходных значений. Где достигается сжатие и как?


person maximus    schedule 25.04.2011    source источник
comment
Этот вопрос не имеет прямого отношения к программированию; это больше об обработке сигналов и математике. Таким образом, вам следует подумать о переносе его на Signal Processing Stack Exchange или Обмен стеками по математике.   -  person KasparJohannes    schedule 08.04.2019


Ответы (3)


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

person usr    schedule 02.01.2012

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

person flanglet    schedule 02.04.2012
comment
Четкое объяснение ... короткий и приятный ответ - person ; 05.02.2014

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

person Gigamegs    schedule 25.04.2011
comment
Без потерь? Не могли бы вы дать несколько ссылок на алгоритмы, которые вы написали? - person maximus; 26.04.2011
comment
Возможно, это с потерями, но если вы можете округлить коэффициенты, вы можете немного сжать: en.wikipedia.org/wiki/ Дискретное_косинусное_преобразование - person Gigamegs; 26.04.2011
comment
Я попробовал ДКП. Просто преобразование в частотную область и снова во временную область. Окончательный результат отличался от исходного.. - person maximus; 26.04.2011
comment
Странный! Вы смотрели внизу страницы en.wikipedia.org/wiki/Discrete_cosine_transform? Существует ли DCT растрового изображения 8x8? - person Gigamegs; 26.04.2011