Сведения о вопросе

DUNKER

16:03, 1st July, 2020

Теги

video   compression   dct    

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

Просмотров: 418   Ответов: 6

Я реализовал метод преобразования изображения / видео, который называется дискретным косинусным преобразованием. Этот метод используется в MPEG кодировании видео. Я основал свой алгоритм на идеях, представленных на следующем URL:

http://vsr.informatik.tu-chemnitz.de/~jan/MPEG/HTML/mpeg_tech.html

Теперь я могу преобразовать участок черно-белого изображения размером 8x8, например:

0140  0124  0124  0132  0130  0139  0102  0088  
0140  0123  0126  0132  0134  0134  0088  0117  
0143  0126  0126  0133  0134  0138  0081  0082  
0148  0126  0128  0136  0137  0134  0079  0130  
0147  0128  0126  0137  0138  0145  0132  0144  
0147  0131  0123  0138  0137  0140  0145  0137  
0142  0135  0122  0137  0140  0138  0143  0112  
0140  0138  0125  0137  0140  0140  0148  0143 

В это изображение со всей важной информацией вверху справа. Трансформированный блок выглядит так:

1041  0039  -023  0044  0027  0000  0021  -019  
-050  0044  -029  0000  0009  -014  0032  -010  
0000  0000  0000  0000  -018  0010  -017  0000  
0014  -019  0010  0000  0000  0016  -012  0000  
0010  -010  0000  0000  0000  0000  0000  0000  
-016  0021  -014  0010  0000  0000  0000  0000  
0000  0000  0000  0000  0000  0000  0000  0000  
0000  0000  -010  0013  -014  0010  0000  0000  

Теперь мне нужно знать, как я могу воспользоваться этой трансформацией? Я хотел бы обнаружить другие блоки 8x8 в том же изображении (или другом изображении), которые представляют собой хорошее совпадение.

Кроме того, что дает мне эта трансформация? Почему важна информация, хранящаяся в правом верхнем углу преобразованного изображения?



  Сведения об ответе

P_S_S

18:03, 1st July, 2020

Результатом a DCT является преобразование исходного источника в частотную область. Верхний левый вход хранит частоту "amplitude" the "base", а частота увеличивается как по горизонтальной, так и по вертикальной осям. Результатом DCT обычно является набор амплитуд на более обычных нижних частотах (верхний левый квадрант) и меньшее количество входов на более высоких частотах. Как уже упоминал лассевк, обычно эти более высокие частоты просто обнуляются, поскольку они обычно составляют очень незначительные части источника. Однако это приводит к потере информации. Для завершения сжатия обычно используется сжатие без потерь по источнику DCTd. Именно здесь происходит сжатие, поскольку все эти ряды нулей упаковываются почти до нуля.

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

Надеюсь, это поможет


  Сведения об ответе

SSESION

18:03, 1st July, 2020

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


  Сведения об ответе

lourence

18:03, 1st July, 2020

Концепции, лежащие в основе такого рода преобразований, легче увидеть, если сначала взглянуть на одномерный случай. На изображении здесь изображена квадратная волна вместе с несколькими первыми членами бесконечного ряда. Рассматривая его, заметим, что если функции для членов сложить вместе, то они начинают приближаться к форме прямоугольной волны. Чем больше терминов вы сложите, тем лучше будет аппроксимация. Но, чтобы получить от аппроксимации точный сигнал, вы должны суммировать бесконечное число членов. Причина этого заключается в том, что квадратная волна является разрывной. Если вы думаете о прямоугольной волне как о функции времени, то она идет от -1 до 1 в нулевое время. Чтобы представить такую вещь, требуется бесконечный ряд. Взгляните еще раз на сюжет сериала термины. Первый-красный, второй-желтый. Последовательные члены имеют более "up and down" переходов. Это связано с возрастающей частотой каждого термина. Если рассматривать квадратную волну как функцию времени, а каждый член ряда как функцию частоты, то существуют два эквивалентных представления: функция времени и функция частоты (1/time).

В реальном мире не существует прямоугольных волн. В нулевое время ничего не происходит. Звуковые сигналы, например, занимают диапазон от 20 Гц до 20 кГц, где Гц составляет 1/time. такие вещи можно представить конечными рядами'.

Для образов математика одна и та же, но две вещи разные. Во-первых, она двумерна. Во-вторых, понятие времени не имеет никакого смысла. В смысле 1D квадратная волна-это просто функция, которая дает некоторое численное значение для аргумента, который мы назвали временем. (Статическое) изображение-это функция, которая дает числовое значение для каждой пары строк, столбцов и индексов. Другими словами, изображение является функцией пространства 2D, которое является прямоугольной областью. Подобную функцию можно представить в терминах ее пространственной частоты. Чтобы понять, что такое пространственная частота, рассмотрим 8-битное изображение серого уровня и пару соседних пикселей. Самый резкий переход, который может произойти в изображении, происходит от 0 (скажем, черного) до 255 (скажем, белого) на расстоянии 1 пикселя. Это непосредственно соответствует самому высокочастотному (последнему) члену представления ряда.

Двумерное преобразование Фурье (или Косинус) изображения приводит к массиву значений того же размера, что и изображение, представляющему ту же информацию не как функцию пространства, а как функцию 1/space. информация упорядочена от самой низкой к самой высокой частоте по диагонали от исходной самой высокой строки и индексации столбца. Вот вам пример .

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

Другой способ взглянуть на это-уменьшить изображение до меньшего размера. Если, например, вы попытаетесь уменьшить размер изображения, выбросив три из каждых четырех пикселей в строке, и три из каждых четырех строк, у вас будет массив 1/4 размера, но изображение будет выглядеть ужасно. В большинстве случаев это достигается с помощью интерполятора 2D, который создает новые пиксели путем усреднения прямоугольных групп пикселей большего изображения. При этом интерполяция имеет эффект, аналогичный выбрасыванию членов ряда в частотной области, только она гораздо быстрее вычисляется.

Чтобы сделать больше вещей, я собираюсь сослаться на преобразование Фурье в качестве примера. Любое хорошее обсуждение этой темы проиллюстрирует, как связаны преобразование Фурье и Косинус. Преобразование Фурье изображения нельзя рассматривать непосредственно как таковое, потому что оно состоит из комплексных чисел. Он уже разделен на два вида информации, реальную и воображаемую части чисел. Как правило, вы увидите изображения или сюжеты из них. Но более значимо (как правило) разделить комплексные числа на их величину и фазовый угол. Это просто взятие комплексного числа на комплексной плоскости и переключение на полярные координаты.

Для звукового сигнала подумайте о комбинированных функциях sin и cosine, которые принимают в своих аргументах аттиционную величину, чтобы сдвинуть функцию назад и вперед (как часть представления сигнала). Для изображения фазовая информация описывает, как каждый член ряда смещается относительно других членов в частотном пространстве. В изображениях края (надеюсь) настолько различны, что они хорошо характеризуются самыми низкими частотными терминами в частотной области. Это происходит не потому, что они являются резкими переходами, а потому, что они имеют, например, много черной области, прилегающей к большой светлой области. Рассмотрим одномерный срез ребра. Серый уровень равен нулю, затем переходит вверх и остается там. Визуализируйте синусоидальную волну, которая будет первым членом приближения, когда она пересекает среднюю точку перехода сигнала в точке sin (0). Фазовый угол этого термина соответствует смещению в пространстве изображения. Большая иллюстрация этого доступна здесь . Если вы пытаетесь найти фигуры и можете сделать эталонную фигуру, это один из способов распознать их.


  Сведения об ответе

+-*/

18:03, 1st July, 2020

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


  Сведения об ответе

DINO

18:03, 1st July, 2020

Если я правильно помню, эта матрица позволяет сохранять данные в файл со сжатием.

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

Количество значений, которые вы выбрасываете, увеличивает сжатие за счет точности изображения.

Но я уверен, что кто-то другой может дать вам лучшее объяснение.


  Сведения об ответе

SSESION

18:03, 1st July, 2020

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

С точки зрения использования DCT для сравнения изображений, я думаю, что единственное реальное преимущество заключается в том, что вы отсекаете более высокочастотные данные и поэтому имеете меньший набор данных для search/match. что-то вроде вейвлетов Харра может дать лучшие результаты сопоставления изображений.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться