1、 本科毕业设计 ( 20 届) 对象基嵌入式图像编码方法研究 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 - 2 - 摘要 由于网络带宽的波动性,异构性,以及传输的不可靠性等特点,网络视频编码及传输受到了前所未有的挑战与考验。 JPEG2000 是一 种较新的图像编码标准 ,它不仅具有优良的压缩性能、较高的灵活性 ,而且 系统功能性比以前所有的图像压缩标准都要先进。 面对网络应用图像服务的飞速增长,图像编码的目标由单纯的追求高压缩率转向了使图像能够更好地适应各种不同的网络环境和用户终端。 JPEG2000的核心算法是优化截断的嵌入式分块编码算法 ( Em
2、bedded Block coding with Optimized Truncation of the embedded bit streams, EBCOT) ,它 不仅 可以 实现图像的有效压缩, 而且 产生的码流具有 一定 的 分辨率可伸缩性、随机访问 、 信噪比可伸缩性和处理等 很 好的特性。 但是这种算法没有考虑人的视觉感知特性,这很难满足人们日益丰富的生活。 文章在对 EBCOT算法研究的基础上,针对人的视觉感知特性,考虑不同对象的不同质量解压图和重要对象的优化传输而提出了一种基于对象的优化截断编码算法 EOCOT算法( Embedded Object coding with O
3、ptimized Truncation of the embedded bit streams)。该方法主要是对 EBCOT的图像分割和 Tire1独立编码方法的改 进。 关键词 : 图像压缩; JPEG2000; 感兴趣区域; EBCOT - 3 - Abstract With the Internet and multimedia technology, the static image compression requires not only high compressed performance, but also requires new functions to meet som
4、e special requirements.JPEG2000is a new image coding standard, it has excellent compression performance and high flexibility. The face of network applications for video services, rapid growth, video encoding from a simple pursuit of the objectives of high compression ratio shifted to the video strea
5、m to better adapt to different network environments and user terminals. The core algorithm is a JPEG2000 EBCOT algorithm( Embedded Block coding with Optimized Truncation of the embedded bit streams ) is based on the optimization of the interception of the embedded code block coding. It not only can
6、realize the effective image compression, at the same time, it results stream with resolution scalability, SNR scalability, random access and very good handling characteristics. But this algorithm does not consider the human visual perception, it is difficult to meet the growing wealth of life. In th
7、is paper, the core algorithm in the JPEG2000 EBCOT based on the study, consider the quality of different objects of different plans and important target for decompression optimization of transmission and the proposed a Optimization of object-based coding algorithm EOCOT( Embedded Object coding with
8、Optimized Truncation of the embedded bit streams) . Key Words: image compression; JPEG2000; region of interest; EBCOT- 4 - 目录 1 引言 . 1 2 JPEG2000 标准的简介 . 2 2.1 JPEG2000 的编解码过程 . 2 2.2 JPEG2000 中的核心处理 . 2 2.2.1 量化 . 2 2.2.2 熵编码 . 3 2.2.3 小波变换 . 3 3 EBCOT 算法 . 4 3.1 EBCOT 框架 . 4 3.2 位平面编码 . 5 3.3 MQ 熵
9、编码 . 6 4 对象基优化截断嵌入式编码方法 . 7 4.1 BOCOT 框架图 . 7 4.2 图像预处理与分割 . 8 4.3 基于离散小波的信号分解 . 8 4.4 位平面编码 . 10 5 实验结果与 分析 . 12 6 结论及展望 . 13 致谢 .错误 !未定义书签。 参考文献 . 14 附录 1 主要程序 . 15 附录 2 科研论文 . 18 - 1 - 1 引言 随着社会的进步,科学的发展,基于 ROI 的图像编码方法越来越多样化。从一般的 压缩编码基础到预测编码、 正交变换编码、 第二代编码方法、分形编码、模型编码、神经网络编码、 统计编码、 子带编码和 小波变换编码等等
10、,涌 现出了很多优秀的编码方式。 我们要从各种图像编码方法中研究出基于 ROI 的 图像编码方法有何不同点,并且分析出各自的优势何劣势。当然 基于 ROI 的 图像编码方法的研究需要更清楚弄清他的本质。 目前,基于 ROI 的图像编码研究正处在发展中阶段。自从它发明问世以来,受到了人们的广泛关注,它不仅仅带来了更新型的图像编码方法,带来的还有更新型的图像编码创新思想!仅仅一年,各种 基于 ROI 图像编码的方法层出不穷,从一般的 压缩编码基础到预测编码、 正交变换编码、 第二代编码方法、分形编码、模型编码、神经网络编码、 统计编码、 子带编 码和 小波变换编码等等!无不显示出其 基于 ROI
11、图像编码方法的独特魅力。现在基于 ROI 的图像编码方法正在逐步完善之中,这是一个走向成熟的标志。随着基于 ROI 的如图像编码研究的不断发展,一种对象基嵌入式图像编码方法出现的越来越多。 本文通过对基本图像编码方法、 ROI编码方法、嵌入式编码方法的了解,在EBCOT的基础上 ,提出一种基于对象的优化截断嵌入式编码算法 EOCOT编码算法,该算法为解决图像压缩比与重建图像质量之间的矛盾提供了一个新思路,具有广泛的应用前景。 - 2 - 2 JPEG2000 标准的简介 JPEG2000 正式名称为 : ISO 15444 ,是由 JPEG(Joint Photographic Experts
12、 Group) 联合摄影专家组负责制定 。 为了进一步改善图像压缩的效率 ,同时保证图像的质量 ,以适应低带宽、高噪声的环境和图像应用的迅速扩展,该标准于 1997 年开始征集提案 。 在 2000 年 12 月推出了该标准的基准部分 ,即 JPEG2000Part I( ISO 15444 - 1 Baseline),其余部分也在 2001 至 2002 年被陆续推出 。JPEG2000主要是采用以小波变换为主的编码方 式 ,并将其与 EBCOT算法相结合,采用 MQ编码器 1,使其避免了 JPEG的分块边界效应 ,还能突出其感兴趣区域。 2.1 JPEG2000 的编解码过程 JPEG20
13、00 图像编码过程为 :原始图像 预处理 离散小波变换 量化 算术熵编码 压缩图像数据的存储或传输 。 解码过程为该过程的逆过程 。 在编码器中,首先对源图像进行 一些 预处理,对处理的结果进行离散小波变换, 并得到 小波系数。然后对小波系数进行量化 以及 熵编码, 从而 组成标准的输出码流。解码是编码的 逆向 过程 , 首先对码流进行熵解码,然后 再进行 反向量化和 反 向小波 变换,对 解码后的 结果进行处理合成, 最终 得到 重建 的图像数据。 2.2 JPEG2000 中的核心处理 2.2.1 量化 由于人类视觉系统对图像的分辨率要求有一定的局限,通过适当的量化减小变换系数的精度,可在
14、不影响图像主观质量的前提下,达到图像压缩的目的 。 小波变换本身并不具有压缩数据的能力 ,变换前原始图像的数据量与变换后各系数图像的数据量相等而量化是把大量幅度较小系数抑制为零 ,从而压缩数据量 。 它是以降低小波系数的精度为代价来提高压缩比和降低码流的 。 即量化是有损的 会产生量化误差。不过也有另外的一种情况,那就 是量化步长为 1,而且小波系数都是整数,利用可恢复的 5/3拍小波滤波器进行小波变换得到的结果就符合这种- 3 - 情况。 2.2.2 熵编码 图像通过离散小波变换和量化后 ,在某种程度上减少了频域和空域上的冗余度,可是在统计意义上这些数据还存在一定的相关性。因此我们采用熵编码
15、来消除这种相关性。所谓的 嵌入式块编码 就是把量化后的子带先分割成小矩阵再进行编码。早期的嵌入式图像压缩算法有很多,这些算法包括 Shapiro的 EZW( embedded zero - tree wavelet compression) 算法 2、 Said和 Pearlman的 SPIHT( Set Partitioning in Hierarchical Trees) 3算法。与这些算法一样, EBCOT算法同样是先进行子带采样 ,再对小波系数进行量化以及编码。但是与 SPIHT和 EZW 算法不同的是 ,EBCOT 算法并没有使用零树结构而是使用码块( Code-Block) ,同时
16、提出了一种称为“ 压缩后率失真优化”( Post-compression Rate-distortion Optimization, PCRD-opt) 3的算法。 2.2.3 小波变换 小波变换 不仅具有 反映信号局部特征 而且还能对信号进行 多分辨率分析。 图像通过离散小波变换后得到小波系数,再通过多级小波分解,从而可以同时表示图像中的低频和高频信息,这样无论在高比特率还是低比特率的情况下,都能保持较多的图像细节,使图像更清晰 。小波变换因其具有的这种优点被 JPEG2000标准所采用。 其中小波系数是由很多种子带系数图像 -描述图像垂直和水平方向的空间频率特性的图像,组成的。 - 4 -
17、 3 EBCOT算法 嵌入式最优切断块编码 EBCOT算法 4、 5是 David Taubman, HP, 1998年 12月在JPEG Los Angeles会议上提出的。 其主要思想是将各个子带划分成很多小块 再进行独立 的排列 ( 嵌入不同小块的数据流 ) 。其主要特点是在进行编解码时不需要太多的内存 ,并且 速率容易控制,压缩特性较高 ;ROI( Region of Interest) 访问 ; 错误恢复 ;量化简单 ; 复杂性适度。 与早期的嵌入式图像压缩算法 9相比,EBCOT算法的主要特点是采用基于码块的位平面编码和基于上下文的二进制算术编码 10。近几年来,研究者对 EBCO
18、T算法不断改进,提高了 EBCOT算法的效率,图像压缩质量也得到提高。 3.1 EBCOT 框架 EBCOT 算法属于熵编码方案的一种,算法编码框图如图 3-1 所示。 图 3-1 EBCOT 编码框图 在 EBCOT 算法中,图像预处理过程是对图像的像素值进行 DC 变换和分量间变换。为了对图像进行水平移位 ,使变换后的样值的动态范围大概以零点为中心 ,便于编码,我们在这里采用 DC 变换。分量间变换是对彩色图像来说的 ,对灰度图像可以省略此步。 EBCOT 算法的核心部分是 Tier1 独立块编码和 Tier2 码流组装 9,基本思想是:将经过小波变换后的图像在各子带内划分为大小固定的较小
19、的码块,将码块作为基 本处理单元,然后对码块系数量化并按照二进制位进行分层,从最高有效位平面开始到较低的有效位平面,依次对每个位平面上的小波系数位进行位平面编码,从而生成 0, 1符号对和上下文,接着就是根据上下文和符号对其进行 MQ算术编码,形成码块码流,完成 Tier1 编码;最后根据一定参数指标如码率、失真度,按率失真最优原则对码块码流重新组装,形成最终的压缩码流,完成 Tier2码流组装过程 11。 - 5 - 3.2 位平面编码 位平面编码是基于上下文、二进制、位平面算术编码来实现的的一种编码方式,它的每个编码块独立使用熵编码。将量化后的编 码块当作有符号整数矩阵 , 这样 每个系数
20、的一位组成了一系列二进制矩阵。其中第一个这样的矩阵包含了所有数的 MSB( 最高位)。下一个矩阵所的所有数包含在第二个 MSB ,如此类推,最后一个矩阵则包含了所有数的最低位。这些二进制矩阵就是我们所说的位平面12,如下图 3-2所示。为了得到多个截断点 , EBCOT块编码需要对每个幅值位平面进行三次扫描 , 这样是为了确保得到多个截断点, 才能 形成与该位平面对应的压缩码流。这三次扫描分别是重要性通道 (Pass 1)、 量值细化通道 ( Pass 2)、 清除通道 (Pass 3),其编 码条件是: 前一个比特面的相关比特是重要的;当前系数不重要 ,至少有一个相邻的系数是重要的;当前比特
21、面在前两个编码通道中没有被编码的比特。在每一个编码子块中的系数都有一个与各自关联的二进制状态变量 ,称为系数的重要性状态。用符号“ 0” 表示不重要和符号“ 1” 表示重要。根据这些重要性状态来决定编码通过的类型。 这三次编码通道由四个编码操作组成 ,它们分别是 :零编码 (ZC)、 符号编码( SC) 以及幅值细化 (MR)和游程编码 (RLC)。 编码操作的选择是根据系数所处的编码阶段和其直接相邻的 8个系数状态决定的。图 3-3是位 平面编码框图 ,值得注意的是最高位平面只要进行清除通道扫描。 图 3-2 位平面表示 - 6 - 图 3-3 位平面编码框图 3.3 MQ 熵编码 图像经过
22、变换、量化后,虽然减少了一定的空域和频域的冗余度,但还是需要通过熵编码来消除这些数据在统计意义上的相关性。 为了达到抗干扰和任意水平逐渐显示, JPEG2000把量化后的子带分割成小码块 ,分别队每个码块进行独立编码。 然后对于每个码块进行扫描,每次扫描输出进行自适应算术编码,最后将压缩的个子比特面组织成数据包的形式输出。 MQ是 JPEG2000标准中实现无损压缩的 唯一途径。 在 MQ编码中 ,一对输入判决 D和上下文 CX被一起送入编码器进行处理 ,产生压缩数据 CD。 JPEG 2000中采用 的 MQ编码,其基本规则像 Elias编码那样,分别作 为 MPS(大概率符号 )或 LPS(小概率符号 )中一个子区间来区别的 而 不是以符号 ” 0” 和 ” 1” 的实际值来区别 。 将当前概率区间划分成 为 两个子区间时 ,它 的顺序是 LPS子区间可配置到 MPS子区间的 下 面。 所以 ,若符号是 MPS,就给代码串附加 LPS子区间,同时 , 设概率区间宽度为 MPS子区间;若符号是 LPS,设概率区间宽度为 LPS子区间 。 不改变代码串。按判决 输入将此处理递归地重复下去。