比特面编码是什么

2023-08-01 10:52:00 生活常识 投稿:等待是无言的情话

将一个灰度图像为8bit/像素中每个像素的第j个比特抽取出来,就得到一个称为比特平面的二值图像,于是图像完全可以用一组共8个比特平面来表示,对灰度图像的编码转为对比特平面的二值化方块编码。为此,将每个比特面分为不重叠的m×n个元素的子块。

将一个灰度图像为 8 bit/像素中每个像素的第 j 个比特抽取出来,就得到一个称为比特平面的二值图像,于是图像完全可以用一组共 8 个比特平面来表示,对灰度图像的编码转为对比特平面的二值化方块编码。为此,将每个比特面分为不重叠的 m×n 个元素的子块。

比特面编码是什么

原理

次最佳方块编码

统计分析表明,比特平面中有两种结构的方块经常出现:m×n 个全“0”和全“1”,并且前者出现的概率多于后者,于是可得出如下的次最佳方块编码方案

全“0”子块:码字为“0”

全“1”子块:码字为“11”

其他情况:码字为“10”+“xxx…x”

“xxx…x”为将子块的比特内容直接输出,故又称为直接编码。

这种编码方案的平均码长 L 为:

L=P(0;n,m)+2P(1;n,m)+(2+nm)[1-P(0;n,m)-P(1;n,m)]=nm[1-P(0;n,m)-P(1;n,m)]+2- P(0;n,m) (41.77)

式中:P(0;n,m)和 P(1;n,m)分别为 m×n 个全“0”或全“1”子块出现的概率。

压缩比 Cr=nm/L,将 L 代入可得:

可见,Cr 是 P(0;n,m)和 P(1;n,m)的递增函数。

用格雷码表示像素亮度

通常,数字化后像素的电平值都是 PCM 自然二进制码,这种码的特点是高位最重要的比特平面图形简单,并适用于上述方块编码,但重要性稍差的比特面图形相当复杂,尤其低位最不重要的比特平面噪声为主要成份,因而不适宜用方块编码。这样,由高位 4 个最重要的比特面获得的压缩效益将被其他几个低位比特面所抵消,其原因在于对于 PCM 编码,若相邻像素的亮度值变化一个等级,其码字也可能相差好几个比特。改进的方法是用格雷码来表示像素的亮度。由于格雷码的特点是码距惟一,使得比特面上取值相同的面积增大,即 P(0;n,m)和 P(1;n,m)增大,因而增大了压缩比。

视觉心理编码

视觉心理编码是指,允许恢复图像有一定的失真,只要视觉感觉不出或可以容忍。具体做法是把子块内不超过 K 个“1”的子块视为全“0”子块,而把不超过 K 个“0”的子块视为全“1”子块,这样也等效于取值相同的面积增大,即 P(0;n,m)和 P(1;n,m)增大,因而也提高了压缩比。

据实验表明,若子块大小为 n=m=4,当 K=6 时引起的失真人眼尚可接受。

方块尺寸的选择

在压缩比 Cr 的表示式中,它与 n,m 的关系是复杂的。当 nm 增加时,1/nm 减少,但很可能导致 P(0;n,m)和 P(1;n,m)减少。因而 nm 不能盲目增大。实验表明,取 n=m=4 较为合适。

声明:犀牛文库所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系admin@qq.com