Суть вашего вопроса, похоже, в отношении качества изображения. Существовала значительная литература по этому вопросу, и результат заключается в том, что качество изображения сложно определить.
Стандартные математические ошибки, такие как отношение сигнал/шум (SNR) и среднеквадратичная ошибка (MSE), могут дать количественный ответ, но хорошо известно, что они плохо коррелируют с субъективными мнениями зрителей, которая должна быть нашей окончательной властью. Никаких других методов, даже основанных на психовизуальных моделях зрителя (например, С.А. Карунасекера и Н.Г. Кингсбери, «Мера искажения для блокировки артефактов в изображениях на основе визуальной чувствительности человека», IEEE Trans. On Image Proc., Том 4 , № 6, июнь 1995 г., стр. 713 -724, и М. Мияхара, К. Котани и В. Р. Альгази, «Шкала качества объективной картины (PQS) для кодирования изображений», IEEE Trans. on Comm., том 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. Обработка, необходимая для их сжатия, будет меньше, чем размер адаптивного блока, но в целом качество будет также ниже.
Спасибо за подробный ответ. Конечно, в моем вопросе я предполагал размер одного блока. Я не забочусь о SNR/MSE. Я просто хочу, чтобы теория поняла. Насколько я понимаю, чем меньше блок, тем лучше - потому что меньший блок, как правило, означает более коррелированные пиксели, которые намного легче сжимать (или, скажем, лучше определять меньшее количество коэффициентов). Правильно ли я с этими предположениями? Просто, чтобы сгладить теорию, а затем понять, что конкретный случай для конкретного изображения. – Royi
Вообще говоря, меньшие блоки лучше, чем корреляция, но если они слишком малы, ваш коэффициент сжатия будет страдать, потому что вы не сможете выбросить много коэффициентов из каждого блока, не вызывая серьезных искажений. – metal
+1 Вау! Удивительный ответ. Вы даже включили соответствующую статью. –