视频压缩:什么是离散余弦变换?

Jus*_*ner 16 compression video dct

我已经实现了一种称为离散余弦变换的图像/视频变换技术.该技术用于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块.

此外,这种转变给了我什么?为什么存储在转换后图像右上角的信息很重要?

Ant*_*amp 14

DCT的结果是将原始源转换到频域.左上方的条目存储"幅度","基"频率和频率沿水平轴和垂直轴增加.DCT的结果通常是较常见的较低频率(左上象限)的幅度集合,而较高频率的较少的条目.正如lassevk所提到的,通常将这些较高频率归零,因为它们通常构成源的非常小的部分.但是,这确实会导致信息丢失.要完成压缩,通常在DCT源上使用无损压缩.这是压缩进入的地方,因为所有这些零运行都被打包到几乎没有.

使用DCT查找类似区域的一个可能的优点是,您可以在低频值(左上角)上进行首次匹配.这会减少您需要匹配的值的数量.如果找到低频值的匹配,则可以增加比较较高的频率.

希望这可以帮助


ang*_*son 1

如果我没记错的话,这个矩阵允许您将数据保存到压缩文件中。

如果您继续往下阅读,您会发现要从最终矩阵中读取的数据的锯齿形模式。最重要的数据位于左上角,最不重要的数据位于右下角。因此,如果您在某个时刻停止写入并仅将其余部分视为 0,即使它们不是 0,您也会得到图像的有损近似值。

您丢弃的值的数量会增加压缩,但会牺牲图像保真度。

但我相信其他人可以给你更好的解释。