编解码器包括编码器和解码器。编码器(Encoder)是指压缩信号的设备或程序;解码器(Decoder)是指解压缩信号的设备或程序;编解码器(Codec)是指编解码器对。编码的主要流程包括预测、变换、量化、熵编码,解码流程与之互逆,如图所示。编解码器中涉及到的关键技术主要包括预测、变换、量化、熵编码,下面详细讲述这几个方面。
第一,为什么要变换?变换可以去除图像像素之间的空间相关性。变换是一种线性运算,可以将图像从空间域转换到变换域或者频率域。空间域图像的能量往往分布相对比较均匀,经过变换后,变换域中图像的变换系数间近似是统计独立的,基本去除了相关性,并且能量集中在直流和低频率的变换系数,高频率变换系数的能量很小,甚至大部分高拟系数能量接近于零。所以,在变换域进行滤波、进行与视觉特性相匹配的量化及熵编码,可以实现图像数据的有效压缩。变换的核心点是找到一个完美的正交矩阵,那什么样的正交变换矩阵才算是完美的呢?最佳的变换矩阵应该是,变换矩阵中每行或每列的基矢量和图像的统计特性相匹配,即应和图像本身的特征矢量相匹配。
第二,为什么要量化?通常变换离不开量化,因为图像从空间域矩阵变换到变换域的变换系数矩阵,其系数个数并未减少,数据量也不会减少,因此并不能直接压缩数据。为了压缩码率,还应当根据图像信号在变换域