video - discrete - дискретное косинусное преобразование для чайников




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

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

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

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

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

Я реализовал технологию преобразования изображения / видео, называемую дискретным косинусным преобразованием. Этот метод используется в кодировании 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 блоков в одном и том же изображении (или другом изображении), которые представляют собой хорошее совпадение.

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


Результатом DCT является преобразование исходного источника в частотную область. Верхний левый вход сохраняет «амплитуду», «базовую» частоту и частоту увеличивают как по горизонтальной, так и по вертикальной оси. Результатом DCT обычно является совокупность амплитуд на более обычных низких частотах (верхний левый квадрант) и меньше записей на более высоких частотах. Как упоминал Лассевк, обычно просто обнулять эти более высокие частоты, поскольку они обычно составляют очень незначительные части источника. Однако это приводит к потере информации. Для завершения сжатия обычно используется сжатие без потерь по источнику DCT'd. Здесь происходит сжатие, так как все эти пробеги нулей упаковываются почти до нуля.

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

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


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


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

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