游程编码的基本原理

游程编码的基本原理,第1张

行程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”李和中。行程编码因此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。

常见的游程编码格式包括TGA,Packbits,PCX以及ILBM。

例如:5555557777733322221111111

行程编码为:(5,6)(7,5)(3,3)(2,4)(1,7)。可见,行程编码的位数远远少于原始字符串的位数。

并不是所有的行程编码都远远少于原始字符串的位数,但行程编码也成为了一种压缩工具。

例如:555555 是6个字符 而(5,6)是5个字符,这也存在压缩量的问题,自然也会出现其他方式的压缩工具。

在对图像数据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。

游程编码记录方式有两种:①逐行记录每个游程的终点列号:②逐行记录每个游程的长度(像元数)

第一种方式: A A A B B A C C C A 这个栅格图形就记为:

A,3,B,5

A,1,C,4,A,5

第二种就记作:

A,3,B,2

A,1,C,3,A,1

行程编哪山码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据。

游程长度在栅格加密时,数据量没有明显增加,压缩效率较高,且易于检索、叠加合并等 *** 作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码和解码运算,增加处理和 *** 作时间的情况。

举例来说,一组资料串"AAAABBBCCDEEEE",由4个A、3个B、2个C、1个D、4个E组成,经过变动长度编码法可将资料压缩为4A3B2C1D4E(由14个单位转成10个单位)。

简言之,其优点在于将重复性高的资料量压缩成小单位;然而,棚乱其缺点在于─若该资料出现频率不高,可能导致压缩结果资料量比原始资料大,例如:原始资料"ABCDE",压缩结果为"1A1B1C1D1E"(由5个单位转成10个单位)。

游程编码又称“运行长度编码”或“行程编码”,是一种统计编码,该编码属于无损压缩编码,是栅格数据压缩的重要编码方法。对于二值图有效。

行程编码的基本原理是:用一罩族个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”。行程编码因此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。

常见的游程编码格式包括TGA,Packbits,PCX以及ILBM。

行程编码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据。

游程长度在栅格加密时,做闷祥数据量没有明显增加,压缩效率纯搏较高,且易于检索、叠加合并等 *** 作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码和解码运算,增加处理和 *** 作时间的情况。

I=checkerboard(10,2)

[m,n]=size(I)

J=[]

for i=1:m

value=I(i,1)

num=1

for j=2:n

if I(i,j)==value

num=num+1

else J=[J num value]

num=1

value=I(i,j)

end

end

J=[J num value 0 0]

end

disp('原图像大小:')

whos('I'备缺)

disp('压缩图手贺像大小:')

whos('J')

disp('图像压缩比:'仿薯辩)

disp(m*n/length(J))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12362640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存