新闻中心

EEPW首页 > 消费电子 > 设计应用 > 图像压缩编码和解码原理

图像压缩编码和解码原理

作者:时间:2010-10-08来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/166505.htm

为频率域的数值,这里称为DCT系数。
对于上述64点阵列来说,可得到64个DCT系数,转换为图(d)矩形阵列表格。它已经将64个点的采样值组成的阵列,变为一个直流平均值和63个不同频率余弦波幅值组成的64个点阵列,并称为DCT系数阵列。经过上述变换后,已将空间坐标的数据转换为频率坐标的数据,即DCT频率系数。原有8×8区块的各个像素的数值取样量化后,转变为频率域信号的频谱系数,即可用64个频率系数来表述,称它们为64个“正交基信号”,每个基信号对应于64个独立二维空间频率中的一个。这些空间频率是由输入信号的“频谱”组成。所得64个变换系数当中,第一项代表直流分量,即64个空间采样值的平均值,其余63个系数代表各基信号的幅度。
观察图2.3.2(d)数据可发现规律,矩阵左上角的数值较大,而右下角的数值较小,且趋近于零值。于是,可以按照Z字形扫描顺序,将各基信号的DCT系数列成一个表格。Z字形扫描的具体轨迹,如图2.3.2(e)所示。按照此规律将DCT系数排列成数据系列,成为DCT系数顺序。经过上述处理后,已将二维数据量转换为一维数据量,该数列第一项是该区块的平均亮度值,后面各项系数的分布和大小可以反映亮度起伏变化的剧烈程度。若系数较大,说明亮度起伏较大,该区域图像轮廓较细致;若数值较小,则说明该区内亮度变化较平缓;若数值为零,表示数列中高频分量数值为零,亮度电平无变化。在实际数据处理过程中,排在后面的系数值基本上都有是零值,或者趋于零值。由63个系数集合及变化情况,可反映出该区块内图像细节情况,即图像清晰度状况。
图(d)矩阵数值非常具有实用价值。左上角数值较大,它们代表了图像信息的直流成分和低频分量,它是图像信息的主体部分,也是区块内信息的主要部分;而右下角数值较小,它们代表了图像信息的高频分量,其幅值原本就比较小,它主要反映图像的细节部分。人眼睛对图像的亮度信息有较高的相对灵敏度,对图像的彩色信息不够敏感;还有,人眼睛对图像信息的低频分量具有较高的视觉灵敏度。经Z字形字扫描后所形成的数据系列,恰好与人眼睛对图像信息的敏感程度形成良好的对应关系。根据视觉生理的上述规律,可对图像数据进行
2、DCT系数的再量化处理
经过上述DCT处理的频率数据可以进行再处理,进一步数据量。人眼睛对各种频率的敏感程度不同,并可取得统计性灵敏度数值。由此可对每种频率分量设定不同的折算值,将前述经转换得到的DCT系数再次进行折算,以便进一步突出视觉效果影响大的成分,而消弱或忽略视觉效果影响小的成分。这种处理方法称为量化处理,简称Q处理。对于64点阵列的64个系数来说,对应了64种不同频率,可使用64个不同的折算值。通常称这64个折算值为量化表,每个折算值称为量化步长,或称量化值。在64点阵列中,左上角的数据量化值较小,右下角的数据量化值较大。对DCT系数的再量化处理,可利用量化器电路来实现。该电路可将区块的64个系数分别除以量化表中对应位置量化步长,再进行四舍五入取整后,即可得到经过再量化处理的64个数据值。
经过量化处理后,量化值大的系数值所得商值较小,也就是数据比较大,原图像相应部分的忽略内容较多;量化值小的系数所得商数值较大,也就是数据压缩比较小,原图像相应部分不予忽略或极小忽略。于是,经过量化处理后的DCT系数矩阵,可出现许多零值。一般左上角位置的数据的商数是非0,在右下角位置的数据的商数很小,经四舍五入取整值后可简写为0。在系数矩阵上出现了许多0值,则大大减少了数据量。一方面保留了图像信息的主体部分,另一方面大大压缩了像数据。
3.可变长度(VLC)
经量化处理的系数矩阵出现了许多0值,若进行Z字形扫描时,后面的系数将也出现连续0的状况。此时,数据传输总量已经明显减少,但码位并未减少,仍为64个系数位。为了进一步压缩数据总量,可采用可变长度,并简称VLC(Variable Length Coding)。
通常,采用两种方法进行可变长度编码。第一种,是根据数据出现的频率,分配以不同长度的码字来代替,对于频繁出现的数据,分配以较短的码字,那些不经常出现的数据,则赋予较长的码字,这样处理后可减少传输的总码率。第二种方法,虽然Z字形扫描使系数列尾部出现多个0个值,但不需要逐位地传输0值,仅需传送表0的“个数”码,待重放时再按规定恢复为0位,以便填满矩阵的64位。例如00000,则可表示为50,在解码时恢复为00000。
总之,对于静止画面来说,采用离散余弦变换,Z字形扫描、量化处理和可变长度编码等方法,可使图像数据量大大压缩。在数据解码时,先经过可变长度解码,恢复为数据的固定长度;再对系数进行反量化,恢复为原来的DCT频率系数;再经过反向离散余弦变换,恢复为图像的空间坐标数值,即原来图像的数据。
三、帧间数据压缩技术
对于活动图像来说,相邻帧的图像具有强烈的相关性。在保存和记录动态图像时,不需要将每一帧图像的全部信息都记录和保存下来,可以将前面第一帧图像全部数据都记录下来,把它看成是静态图像,可用静态图像数据压缩方法来处理。而后面诸帧图像,可以仅记录与前面帧图像有差异的信息。于是,在重放时,利用前面帧图像的数据和后面帧的差异数据,即可恢复出后面帧的图像。这种处理方法省去许多数据。
1、三种画面
按照MPEG-1标准,传送的活动画面可分为3种类型。第1种,是场景更换后的第1帧画面,它是一种独立的画面,这种画面采用较高清晰度的逐点取样法进行传送,此画面称为I画面(内码帧,或称帧内编码帧)。该画面信息是由自身画面决定,不必参考其它画面。该画面的数据代表了活动图像的主体内容和背景内容,它是电视画面的基础。第2种,是与I画面相隔一定时间、活动图像主体位置在同一背景上已发生明显变化的画面,此画面称P画面(预测帧,或称前向预测编码帧)。该画面用前面的I画面作为参考画面,该画面不传送背景等重复性信息,仅传送主体变化的差值,这就省略了一部分细节信息,而在重放时依靠帧存储器将I画面的主要部分和P画面的差值进行运算,即可得出新画面的完整内容,它是既有背景又有现时运动主体状态的实际画面。第3种,其情况与P画面相似,用来传送在I、P画面之间的画面,称B画面(双向预测帧,或称双向预测内插编码帧)。该画面仅反映在I、P画面之间的运动主体变化情况,并用位移矢量(或称运动矢量等)表示画面主体移动情况。其信息量更小些。因为在重放它时,既可参考I画面内容,也要参考P画面内容,所以称为双向预测帧。
将一串连续相关的画面分为I、P、B型后,传输信息量明显减少。在P、B画面当中,几乎不传送反映实物的象素,仅传送其主体移动的差值,其具体的处理方法是采用了区块对比的方法,在两个变化的画面当中,将区块或宏块作为处理单元,将一个画面的宏、区块与参与 画面中邻近范围内的宏、区块进行数值运算对比,寻找与该块最相近、误差最小的区块,找到近似的该区块后,记录该区块在两个画面中的位移值,即为位移矢量以及反映两画面的差值量。若位移矢量坐标变化为0,说明该块没有移动,例如相同的背景景物;若位移矢量值有变化,而区块差值为0,则说明景物有移动,而形状没有变化,例如飞行中的球类和奔驰的车辆等。可见,位移矢量和区块差值可在重放时依靠参考画面得出新画面的完整场景,而传送时却省略了背景和主体内容,只传送代表位移矢量和差值的少量数据,使图像得到大量压缩。
2、三种画面的连接
通常,更换场景后的第一帧就是I帧,I帧应当全帧传送。从压缩的程度来看,I画面的压缩量最少;P画面次之,它是以I画面为基础;B画面压缩最多。为了加大压缩比,通常在I帧后面相隔2帧(最多3帧)设置1个P帧,在I、P帧之间都是B帧,在两个P帧之间也是设置2~3帧B帧。B帧传送它与I帧或P帧之间的差值信息,或者P帧与后面P帧或I帧之间的差值信息,或者它与前后I、P帧或P、P帧平均值之间的差值信息。当主体内容变化愈大时,两个I画面之间的帧数值越小;当主体内容变化小时,I面画的间隔可以适当大一些。或者说,B帧、P帧所占比例越大,图像压缩比越高。一般两个I画面相隔13~15帧,相隔帧数不宜再多。
下面以15帧为例,说明VCD图像帧的排列顺序。I、P、B三种画面的典型设置方式,对NTSC制共约需半秒时间。节目输入顺序是按实际出现顺序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但为了解码时便于从I、P画面插补得到B画面,在编码录制节目时,将顺序改变了,即按照I、P、B、B……顺序,即改为按原来0、3、1、2、6、4、5、9、7、8…的画面顺序。解码时先解出0帧、3帧,再由其插补预测计算得出1帧、2帧等等。为此,须在解码器内设置动态存储器,将I、P帧先解码并存储,再计算出各个B帧。不过最后输出时,还是应当按照实际播放顺序重组读出,按正确顺序输出。
VCD采用的帧间压缩技术标准,对图像编码顺序和各帧间隔是有具体规定的。采用帧压缩技术后,各帧之间的信息冗余量大大减少,图像码率进一步压缩,压缩比可达3-20余倍。
四、图像压缩编码过程压缩过程
1、编码过程
这里谈谈VCD所采用MPEG-1标准的编码过程。因为相邻帧画面相同或基本相同,将这种画面群的第1幅画面作为I画面,将它送入编码器。编码器首先将它割裂为许多片、宏块、区块等,将各区块分割为8×8=64点阵列,再进行Z字形描述和DCT变换,将64个亮度(或色度)取样数值变换为64个DCT系数,再对64个系数值分别进行相应的量化,经量化处理后再进行VLC处理,即得到了代表一个区块数据的最短的数码,至此,完成了该画面群第1帧的第1列图像中第1宏块的编码。依次类推,可得到第1帧画面的全部压缩数据编码。原为二维空间的一帧图像信息已经转变为一维空间的串行数据,这些数据被全部存储起来,成为继续进行数据处理的基础。至此,I画面数据处理完毕。
完成第1帧图像压缩编码后,接着输入第2帧图像。编码器按照相同的方法步骤对第2帧进行压缩编码,得到第2帧数据。此时,编码器不再将第2帧数据进行完整的存储和传送,而是将它与第1帧数据进行比较运算。若运算中发现,两帧间数据差别很小时,说明两帧图像差别不大,仅将其差值存入存储器,而舍掉其大部分重复数据。按照此方法再进行第3、第4帧编码,并进行比较运算,直到找到某一帧,差别较大且超过规定值时,再将此帧数据中与第1帧的差别(包括位移矢量和差值)部分存储起来,并将此帧数据排在第1帧(I帧)后面传送出去,该帧就是P画面。当传送I、P画面后,再传送3、4帧的差别数据,这些画面都是B画面。它们之间的差别不大,是处于I、P之间的画面。按照此程序和方法,可再选出许多组P和B画面。通常,每隔13~15帧后,再设置一个I画面,作为后续画面的参考基准。如遇到较新的场景,将出现一幅不相同的新画面,这幅新出现的画面也作为I画面。
MPEG-1视频压缩编码方框图 http://www.elecfans.com

图2.2.3是MPEG-1图像压缩编码器方框图。代表亮度Y和色度分量CB、CR的二进制数码

色差仪相关文章:色差仪原理


评论


相关推荐

技术专区