课程补充知识
由于在学习数字内容安全的过程中,出现了许多不知道,不了解的知识,故开此博客,将其中不了解的知识进行学习记录
数字图像处理 DFT变换
在数字图像处理中主要用到的是二维离散傅里叶变换
数字图像中的频谱
频率:对于图像来说就是指图像颜色值的梯度,即灰度级的变化速度。频率越大说明原始信号变化速度越快,频率越小说明原始信号越平缓。当频率为0时,表示直流信号,没有变化。因此,频率的大小反应了信号的变化快慢。高频分量解释信号的突变部分,而低频分量决定信号的整体形象。
幅度:可以简单的理解为是频率的权,即该频率所占的比例
- 对于一个正弦信号,如果它的幅度变化很快,我们称之为高频信号,如果变化非常慢,我们称之为低频信号。迁移到图像中,图像哪里的幅度变化非常大呢?边界点或者噪声。所以我们说边界点和噪声是图像中的高频分量(这里的高频是指变化非常快,不是出现的次数多),图像的主要部分集中在低频分量。
- 由于图像变换的结果原点在边缘部分,不容易显示,所以将原点移动到中心部分。那么结果便是中间一个亮点朝着周围发散开来,越远离中心位置的能量越低(越暗)。
- 傅里叶转换的结果是复数,这也显示了傅里叶变换是一幅实数图像和虚数图像叠加或者是幅度图像和相位图像叠加的结果。
一幅图像是有序列的,通过傅里叶变换可以得到频率,可以表征图像在横面和纵面上的变化量,如果突变比较多,那么在高频部分就会有相应的表现。一般图像都是集中在低频部分有值,能量集中在低频。而后我们会将低频部分移到图像中间方便后续的操作。
在这张图中,在竖向是有明显的灰度变化,而在横向是没有变化的,所以在频率上显示出来,在纵向是有较大变化(出现一条白线),而在横向是没有变化的。
JPEG图像压缩原理
JPEG压缩是有损压缩,但压缩的部分是人眼不容易察觉的部分。
- 去除视觉上的多余信息
在一幅图片中,低频部分是绝大多数,只有在图像边缘或者占比较小的一部分是高频的谱线。因此JPEG压缩是根据频谱因素分配比特数:对包含信息量大的低频部分分配比较多的比特数,而在信息量较低的高频部分分配较少的比特数。
将色彩空间域转变为频谱域用的是DCT变换,变换后会得到DCT系数,对这个系数进行量化,可以到达数据压缩的作用。 - 去除数据本身的多余信息
利用Huffman编码,将量化后的数据用无损的方式做压缩。
总结
总的来说就是,先将图片从RGB的颜色空间转为YCrCb颜色空间,同时丢失一半的色彩信息(空间分辨率减半)。然后,用DCT进行块变换编码,舍弃高频的系数,并且对余下的系数进行量化以进一步减小数据量。最后,使用RLE行程编码和Huffman编码完成数据压缩任务。