您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 游程编码(行程编码)
游程编码游程编码内容基本RCL方法分析二值图像的游程编码连续色调图像的二维编码游程编码概念游程编码概念游程编码RCL:又称“游程长度编码”、“运行长度编码”或“行程编码”,是一种统计编码,该编码属于无损压缩编码。定义:游程编码概念•游程长度RL:简称游程,指的是由字符构成的数据流中各个字符重复出现而形成的字符的长度。•RCL原理:用一个符号值或串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。基本RLC方法分析定义就是在数据流中直接用(数据字符X、串的位置Sc、串的长度RL)3个字符来给出上述3种信息。缺点用Sc作为前缀的低效、原字符串中RL的长度和出现频度不够显著。导致不实用。解决方法在二值图像和连续色调图像中可以省去Sc,这样使得改进的RCL在图像编码中得到了广泛的应用。二值图像的游程编码二值图像是指仅有黑(用“1”代表)、白(用“0”代表)两个亮度值的图像。可借助各种图像通信方式传输,最经典的通信方式是传真。二值图像对不同的白长(白像素游程)和黑长(黑像素游程)按其出现概率的不同分别配以不同长度的码字。实为霍夫曼码的一种具体应用。二值图像RCL一种只按长度编码,效率低。另一种对白长黑长分别编码(改进型霍夫曼编码MHC)。定义RCL两种方式二值图像的游程编码RL=0~63,用一个相应的结尾码表示(P59表4.7);(1)RL=64~1728,用一个组合基干码加一个补充结尾码;(2)规定每行都从白游程开始,若实际扫描行由黑开始,则需在行首加零长度白游程;每行结束要加行同步码EOL。(3)一维MH编码规则:二值图像的游程编码例题:设有一页传真文件其中某一扫描线上的像素点如图所示。求(1)该扫描行的MH编码;(2)编码后的比特总数;(3)本编码行的数据压缩比。(1)数据:75白5黑9白18黑1621白EOL码字1101101000;0011;10100;0000001000;0100110100010111;000000000001(2)将码字数一下,答案就是57bit。(3)压缩前数据总比特:75+5+9+18+1621=1728bit。所以数据压缩比:1728:57=30.316:175个白5个黑9个白18个黑1621个白解:二值图像的游程编码75个白5个黑9个白18个黑1621个白根据编码的3个规则,参考书中P59-60页的MH码表:●75个白:RL=75,用规则(2)。组合基干码为64(白)对应的11011;补充结尾码为75-64=11(白)所对应的01000。所以答案为:1101101000。●5个黑:RL=5,用规则(1)。结尾码为5(黑)对应的0011。即为答案。●9个白:规则(1)。结尾码为9(白)对应的10100。即为答案。●18个黑:规则(1)。结尾码为18(黑)对应的0000001000。即为答案。●1621个白:规则(2)。组合基干码为1600(白)对应的010011010;补充结尾码为1621-1600=21(白)所对应的0010111。所以答案为:0100110100010111。●EOL:规则(3)。同步码,查表可得为000000000001。即为答案。连续色调图像的二维编码前面介绍了二值图像的一维MH编码,但对于多值或连续色调图像,黑白游程已不适用,而基本RCL的3元组也不能直接用。引出前提JPEG标准的基本系统利用Z型扫描,将二维量化系统矩阵转换成了一维数组ZZ(k),数组的第一个元素ZZ(0)为直流系数DC(在4.2.3节截断霍夫曼编码中已经讨论过);ZZ(1)~ZZ(63)元素为交流系数(AC)。编码原理JPEG将其联合编码表示为“NNNNSSSS+尾码”,“NNNN”为当前非零值相对于前一个非零AC系数的零游程计数,表示ZRL;这将“NNNN/SSSS”组合为一个新的前缀码,用二维霍夫曼编码。即为AC系数编码表示形式。AC编码表示形式连续色调图像的二维编码求出差分值DIFF,查书中P52表4.2即可得前缀码(用标准的霍夫曼编码)。(1)DC系数编码①若ZZ(k)为待编码的非零AC系数,根据ZZ(k)的幅度范围由P60表4.8查出尾码的位数B=SSSS,按以下可求得尾码:(2)AC系数编码原码,若ZZ(k)≥0反码,若ZZ(k)0(1)DC系数编码,得前缀码;(2)AC系数编码,得“NNNN/SSSS+尾码”;(3)综合(1)和(2),可得二维编码结果。二维编码规则②由ZZ(k)之间的零游程计数值得ZRL=NNNN,SSSS在①中已知,查表4.9/4.10可得NNNN/SSSS码字;尾码=ZZ(k)的B位③综合①和②可得AC系数编码“NNNN/SSSS+尾码”若ZZ=5,B=3,得原码101若ZZ=-2,B=2,得反码01连续色调图像的二维编码二维编码注意事项▲若最后一个“零游程/非零值”中只有零游程,则直接发送块结束码字“EOB”结束本块,否则无需加EOB码。▲一般情况NNNN=ZRL=0~15。若ZRL15,则先用ZRL=16即NNNN/SSSS=F/0得到码字,再对ZRL=ZRL-16继续编码,得到NNNN/SSSS码字,结合尾码就可得AC系数编码。连续色调图像的二维编码例题:设某亮度图像块的量化系数矩阵按Z形扫描得到:K0123456789~303132~63ZZ(k)125-20200010-10而其前一亮度块的量化DC系数也为12,写出编码过程。解(1)DC系数编码—因为DIFF=0,查P52表4.2得其码字即为前缀码“00”。(2)AC系数编码—①第一个非零值ZZ(1)=5,查表4.8得SSSS=3,根据规则得尾码为原码101;与ZZ(0)间无零系数,故NNNN=0,NNNN/SSSS=0/3查表4.9码字100;从而ZZ(1)=5的编码为“NNNN/SSSS+尾码”即100+101得100101。②第二个非零值ZZ(2)=-2,SSSS=2,尾码为反码01;又与ZZ(1)无零系数,所以NNNN/SSSS=0/2查表得码字为01;从而ZZ(1)~ZZ(2)编码为0101。③ZZ(3)~ZZ(4)编码为1101110。④ZZ(5)~ZZ(8)编码为1110101。连续色调图像的二维编码例题:设某亮度图像块的量化系数矩阵按Z形扫描得到:K0123456789~303132~63ZZ(k)125-20200010-10而其前一亮度块的量化DC系数也为12,写出编码过程。⑤ZZ(31)=-1,查表得SSSS=1,尾码为反码0;由于NNNN=30-9+1=2215,故先编ZRL=16,NNNN/SSSS=F/0查表得码字11111111001;此后NNNN=22-16=615再编码,NNNN/SSSS=6/1查表得码字为1111011;所以ZZ(9)~ZZ(31)编码为11111111001+11110110。⑥此后无非零值,最直接用一个EOB结束本块,查表得码字为1010。(3)综合前面(1)和(2),可知该图像块的编码为0010010101011101110111010111111111001111101101010(4)原始图像块要用8*8*8=512位,压缩后为49位,压缩比为10.45:1。游程编码总结游程编码RCL是一种熵编码。(1)RCL仍需与其他前缀码结合才有望达到更好的效果。这种方法对于二值图最有效。(2)RCL仍是变长码,有其固有的缺点,即需要较大容量的缓冲和较低误码的优质信道。(3)谢谢!
本文标题:游程编码(行程编码)
链接地址:https://www.777doc.com/doc-3321637 .html