Сжатие DCT - размер блока, выбор коэффициентов - PullRequest
4 голосов
/ 24 декабря 2009

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

Сжатие видео: что такое дискретное косинусное преобразование?

Предположим, самое примитивное сжатие. Создание блока изображения. Выполнение DCT для каждого блога и обнуление некоторых коэффициентов.

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

Скажем, мы обнуляем определенный процент коэффициентов, что приведет к наилучшему качеству изображения, маленьких или больших блоков? Допустим, мы оставляем, 10%, 25%, 50%, 75%, вы бы сказали, что это другой ответ для другого процента?

Другая проблема заключается в том, как выбрать коэффициенты, которые вы не трогаете Дабы сказать, что я должен принимать решение в зависимости от местоположения, а не энергии. Ты бы взял квадрат из верхнего левого угла? Я усреднил много блоков в спектре DCT и пришел к выводу, что лучшим будет взять треугольник из верхнего левого угла. Что ты думаешь?

Надеюсь, у нас будет эффективное обсуждение.

1 Ответ

9 голосов
/ 24 декабря 2009

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

Стандартные показатели математической ошибки, такие как отношение сигнал / шум (SNR) и среднеквадратичная ошибка (MSE), могут дать количественный ответ, но хорошо известно, что они плохо коррелируют с субъективными мнениями зрителей, которые должен быть нашим последним авторитетом. Никаких других методов, даже тех, которые основаны на психовизуальных моделях зрителя (например, С. А. Карунасекера и Н. Г. Кингсбери, «Мера искажения для блокировки артефактов в изображениях, основанная на зрительной чувствительности человека», IEEE Trans. На Image Proc. Vol. 4 , № 6, июнь 1995 г., стр. 713–724 и М. Мияхара, К. Котани и В. Р. Алгази, «Объективная шкала качества изображения (PQS) для кодирования изображений», IEEE Trans. on Comm. vol. 46, № 9, сентябрь 1998 г., стр. 1215–1226), показали себя лучше, чем SNR.

Кроме того, когда вы меняете тип изображения (рисование линий, мультфильм, фотография, портрет и т. Д.), Некоторые типы искажений сжатия становятся более очевидными. Шум от комаров может быть нежелательным на одном изображении, в то время как шум на лестнице может быть причиной другого.

Короче говоря, нет никакого ответа на ваш вопрос: "что приведет к лучшему качеству изображения?"

При этом мы можем сказать некоторые вещи о DCT, которые имеют отношение к делу. Пиксели в DCT блока переходят от низкого изменения к большому изменению в зигзагообразном шаблоне из верхнего левого угла [(0,0) -> (0,1) -> (1,0) -> (2 , 0) -> (1,1) -> (0,2) -> и т. Д.), Так как ваш выбор треугольника отражает. Чем ближе пиксель к верхнему левому углу, тем сглаживней содержится содержащаяся в нем информация [фактически, значение (0,0) DCT является средним значением для всего блока], и чем дальше от этого угла вы получаете, тем больше "высокочастотные" детали вы получите. Чем ближе к верху и левому краю изображения, тем больше горизонтальных и вертикальных деталей вы будете представлять этим коэффициентом DCT, и чем ближе к диагонали блока, тем больше будет диагональных деталей.

Короче говоря, сжатие с потерями обычно влечет за собой выброс некоторых «деталей», которые могут быть незаметны для глаза. (Отбрасывание «более плавных» значений DCT приводит к серьезным искажениям.) Чем больше значений DCT вы выбрасываете, тем выше будет степень сжатия, но также и большее искажение, которое вы будете вызывать.

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

Для алгоритмов, которые используют один размер блока, 8x8, 16x16 и 32x32 являются общими для таких вещей, как JPEG и MPEG. Обработка, необходимая для их сжатия, будет меньше адаптивного размера блока, но в целом качество также будет ниже.

...