图像编码技术研究毕业设计(编辑修改稿)内容摘要:

PSNR=10lg 10102^2m a x)],(),([MNMiNjjiajiaa ( 26) 要是信息是视频或者用于商业图片的话,常用 K=8,直接将 amax =256代入到上式。 图像质量评价的主观准则 主观准则也常常被用于图像的评价当中去。 由于每个人的审美还有观感不一样,所以就利用多数人的态度,让很多人去看同一张图片,让其打分。 如表 所示的两种经典的评分标准。 表 对图像质量的主观评价标准 得分 第一种评价标准 第二种评价标准 5 非常好 完全没有失真 4 好 稍微失真,但是看着几乎没变化 3 一般 看上去有了一点变化 2 较差 变化 挺大 1 差 变化非常大没法看 假设每个人的打记为 Ci ,每一种得分的评分人数为 ni ,那么我么就可以规定感觉分MOS(mean opinion score)的主观评价得分就是: KiiKiiinnCM OS01 ( 27) 例如,一幅图像的评分为 ,这说明图像质量相当好。 压缩比 C 也是判别图像编码质量的一项重要参数,它的概念是编码前图像每像素的比特数与编码指后平均每个像素的比特数的比值,也常用每像素比特值( bpp)来代表压缩效果。 本文就采用客观准则和主观准则这两种准则来评价编码图像前后的质量。 陕西理工学院毕业设计 第 6 页 共 56 页 霍夫曼编码 霍夫曼于 1952 年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称 之为最佳编码,一般就叫作霍夫曼编码 [12]。 霍夫曼编码的基本原理 将使用次数多的代码用长度较短的代码代替,而使用次数少的则使用较长的编码,并且确保编码的唯一可解性。 其最根本的原则是:累计的(字符的统计数字字符的编码长度)最小,也就是权值的和最小。 ①霍夫曼编码的基本步骤 霍夫曼编码是一种无损编码方法,其一般算法如下: ( 1)首先统计信源中各信息出现的概率,按信息出现的概率从大到小排序; ( 2)将两个最小的概率相加成新的概率,于是剩余的概率就组成新的概率集合; ( 3)对这 个新组成的概率集合又重新排序,再次把其中两个最小的概率相加,组成了新的概率集合。 重复进行上面的步骤,直至只剩下了两个概率的并且和为 l; ( 4)分配码字:码字分配从最后一步开始进行,对于每次相加的两个概率,给大的赋 1,小的赋 0(同样可以全部相反,如果两个概率相等,则从中任选一个赋 1,另外的赋 0 就行 ),读编码的时侯由符号开始一直走到最后的概率和 1,将路线上所遇到的 1 和 0按最低位到最高位的顺序排好,霍夫曼编码就此形成。 ②霍夫曼编码的特点 霍夫曼编码具有不唯一性。 霍夫曼编码对不同信源具有不同的编码效率。 霍夫曼编码的结果不等长,硬件实现有相当大的困难,而且误码传播严重。 一般情况下,霍夫曼编码的效率要比其他编码算法的效率高一些,是最佳变长码。 但霍夫曼编码依赖于信源的统计特性,必须先统计出信源的概率特性才能编码,这就限制了霍夫曼编码的实际应用。 如图 所示是一个霍夫曼编码的例子。 从图中可以看到,符号只能出现在树叶上,且任何一个字符的路径都不允许是另一个字符路径的前缀路径,这样,前缀编码就构造成功了。 这样一颗二叉树在数据结构中被称为霍夫曼树,经常用于最佳判定,它是最优二叉树,是一种带权路径长 度最短的二叉树。 所谓树的带权路径长度,就是树中所有的叶节点的权值乘上其到根节点的路径长度(假如根节点为 0 层,叶节点到根节点的路径长度则为叶节点的层数)。 树的带权路径长度记作: WPL=(+ +„„ ), N个权值 W(i=1,2,„, n)构成一棵有N 个节点的二叉树,相应的树节点的路径长度为 L( i=1,2,„, n),霍夫曼得出的 WPL值最小。 陕西理工学院毕业设计 第 7 页 共 56 页 图 霍夫曼编码实例 在实际应用中,由于在霍夫曼编码之前需要知道信源数据符号(叶节点)的概率,给那些要求做实时编码的任务 带来了麻烦。 因此,在目前的实时编码作业中,大多采用所谓的准可变字长码,例如,采用双字长编码,并且从短码集合中选出一个码子,作为长码字头,以保证码字的非续长特性。 另外,在数字图像通信中采用的三类传真机中的 MH码,则采用了多字长 VLC技术,它是根据一系列标准图像的统计分析出结果,预先在其 IC 芯片中做号码表,使得实际的编码解码作业简化为一个查表过程,从而确保了高速实时处理的需要。 霍夫曼编码的实现过程 本文霍夫曼编码压缩图像的步骤如下: ① 读入图像,并把它用矩阵表 示。 ② 统计图像颜色的种数。 ③ 统计各种颜色值出现的概率,并把它们按从大到小的顺序排列。 ④ 进行霍夫曼编码的计算: 定义一个矩阵 M, M 矩阵的第一行,存放的是需要编码的各个颜色值出现的概率,并且按照从大到小排列顺序,然后再将第一行从后往前两两相加(即概率最小的两个数相加), 把相加得到的结果放到第二行,然后再将第二行重新进行排序,依此类推,一直到最后一行,这时最后一行只有两个概率,并且相加肯定为 1。 ⑤ 对 M 矩阵的数值进行霍夫曼编码: 首先建立 N 矩阵,用来存放编码的码字。 然后将字符 0,赋给最后一行的第一小段,再将字符 1,赋给最后一行的第二小段,在 M 矩阵中,由于每一行的最后两个数,都是这一行中概率最小的两个数,所以将倒数第二行的最后两个数进行相加,然后用相加的结果到倒数第一行中去寻找,肯定会在倒数第一行中找到一样的值,然后记录下来在倒数第一行中这个值的位置,再将这个在 M 矩阵中的位置对应到 N 矩阵中,将 N 矩阵中的该位置的字符赋给倒数第二行的第二小段和第三小段,最后在给 第二小段的后面赋字符 0,给第三小段后面赋字符 1,然后将在最后一行找到的那个数的左边的数,一一对应到上一行去,右边的数,向左串一位,再对应到上一行去,这样依此类推,那么在 N 矩阵的第一行,可以得到最后陕西理工学院毕业设计 第 8 页 共 56 页 的编码。 霍夫曼编码的实现及评价 编码结果 实验程序见附录 C 实验结果如下: 原始图像大小 Name Size Bytes Class f0 256x256 66560 uint8 array Elapsed time is seconds. 压缩图像大小 Name Size Bytes Class f 256x256 66560 uint8 array Elapsed time is seconds. 图 原始图像 图 编码图像 陕西理工学院毕业设计 第 9 页 共 56 页 图 解码图像 霍夫曼编码的客观评价 客观准则评价霍夫曼编码压缩图像质量 由前文 图像编码质量的评价可知,客观准则评价霍夫曼编码压缩图像的质量即求压缩图像与原始图像的峰值信噪比( PSNR)。 求 PSNR 的程序见附录 C 求得结果为: mse = psnr = entropy = 霍夫曼编码的主观评价 主观准则评价霍夫曼编码压缩图像质量 根据前文 图像编码质量的评价的主观评价准则,我收集了 30 分主观评价的 样本; 运用公式( 27) KiiKiiinnCM OS01 可得,霍夫曼编码压缩图像的主观评价得分为: MOS= 255 25*55*4  = 实验结果分析 从本次实验结果看熵为 ,均值误差( MSE)为 而峰值信噪比( PSNR)达到 ,主观得分也高达 ,说明本次压缩图片编码理论上的最少传输量为 ,测量数据可信度非常之高,无论从主观还是客观方面来看,图像的压缩质量都是非常好的,只 是程序的编码时间为 ,而程序的解码时间更是达到了 ,整个编解陕西理工学院毕业设计 第 10 页 共 56 页 码的过程共花了 4分多钟,仅仅是一幅图片就花了 4 分多钟,这在图像压缩的编码算法中是比较慢的了,若只考虑图像压缩的质量,可以用这种编码,如有数量的要求则不建议使用这种编码算法。 从本次试验来看霍夫曼编码的特点为: ( 1)进行无损编码需要知道数据的概率; ( 2)发信者与受信者需要使用同一张定制的编码 /解码表,在音频中即是编码器和解码器要共用一张表; ( 3)无损编码的效率会因概率表的不同而不同,这就是为什么 各种无损音频编码的压缩率不一样; ( 4)无损编码不会造成信息的损失,不用担心图像进行无损编码之后会劣化。 与实现及其性能对比 算术编码 算术编码 是一种无失真的编码方法,能有效地压缩信源冗余度,使编成的码率趋于信源的熵 ,它是无损压缩的一种 [13]。 算术编码的基本原理 算术编码的基本原理是:根据信源可能发现的不同符号序列的概率,把 [0, 1)区间划分为互不重叠的子区间,子区间的宽度恰好是各符号序列的概率。 这样信源发出的不同符号序列将与各子区间一一对应,因此每个 子区间内的任意一个实数都可以用来表示对应的符号序列,这个数就是该符号序列所对应的码字。 显然,一串符号序列发生的概率越大,对应的子区间就越宽,要表达它所用的比特数就减少,因而相应的码字就越短。 算术编码可以是静态的或者自适应的。 在静态算术编码中,信源符号的概率是固定的。 本文主要是以静态算术编码算法为例。 在自适应算术编码中, 自适应算术编码在对符号序列进行扫描的过程中,可一次完成两个过程,即根据恰当的概率估计模型和当前符号序列中各符号出现的频率,自适应地调整各符号的概率估计值,同时完成编码。 信源符号的概率根据编码 时符号出现的频繁程度动态地进行修改,在编码期间估算信源符号概率的过程叫做建模。 需要开发态算术编码的原因是因为事先知道精确的信源概率是很难的,而且是不切实际的。 当压缩消息时,我们不能期待一个算术编码器获得最大的效率,所能做的最有效的方法是在编码过程中估算概率。 尽管从编码效率上看不如已知概率表的情况,但正是由于算术编码自适应的调整对个符号概率的估计值,这点比哈弗曼编码相比,具有实时性好、灵活性高、适应性强等特点,在图像压缩、视频图像编码等领域都得到了广泛的应用 [14]。 算术编码的优点: ( 1) 不必 预先定义概率模型 , 自适应模式具有独特的优点 ; ( 2) 信源符号概率接近时 , 建议使用算术编码 , 这种情况下其效率高于 霍夫曼 编码 ; ( 3) 算术编码绕过了用一个特定的代码替代一个输入符号的想法 , 用一个浮点输出数值代替一个流的输入符号 , 较长的复杂的消息输出的数值中就需要更多的位数 ; ( 4) 算术编码实现方法复杂一些 , 但 JPEG 成员对多幅图像的测试结果 表 明 , 算术编码比 霍夫曼 编码提高了 10%左右的效率 , 因此在 JPEG扩展系统中用算术编码取代 霍夫曼 编码。 算术编码虽然具有其独特的优点,但我们仍需要注意下 面几个问题: ( 1)由于实际的计算机的精度不可能无限长,运算中出现溢出是一个明显的问题,但多数机器都有 16 位、 32 位或者 64 位的精度,因此这个问题可使用比例缩放方法解决。 ( 2)算术编码器对整个消息只产生一个码字,这个码字是在间隔 [0,1)中的一个实数,因此译码器在接受到表示这个实数的所有位之前不能进行译码。 陕西理工学院毕业设计 第 11 页 共 56 页 ( 3)算术编码也是一种对错误很敏感的编码方法,如果有一位发生错。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。