基于描述长度的context建模算法-陈建华.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于描述长度的context建模算法-陈建华.pdf》由会员分享,可在线阅读,更多相关《基于描述长度的context建模算法-陈建华.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 38 卷第 3 期 电 子 与 信 息 学 报 Vol . 38No.3 2016 年 3 月 Journal of Electronics & Information Technology Mar . 2016 基于描述长度的Context建模算法 陈建华*王 勇 张 鸿 (云南大学信息学院电子工程系 昆明 650091) 摘 要:在基于 Context 建模的熵编码系统中,为了达到预期的压缩性能,需要通过 Context 量化来缓解由高阶Context 模型所引入的“Context 稀释”问题。为此,该文提出一种通过最小化描述长度来实现 Context 量化(Minimum Descr
2、iption Length Context Quantization, MDLCQ)的算法。该算法使用描述长度作为评价准则,通过动态规划算法来实现单条件的最优 Context 量化,然后通过循环迭代来实现多条件的 Context 量化。 该算法不仅可以得到多值信源的优化 Context 量化器,而且可以自适应地确定各个条件的重要性从而确定模型的最佳阶数。实验结果表明:由 MDLCQ 算法所得到的 Context 量化器,可以明显改善熵编码系统的压缩性能。 关键词:条件熵编码;Context 量化;描述长度;算术编码 中图分类号:TN 919.81 文献标识码: A 文章编号:1009-5896
3、(2016)03-0661-07 DOI: 10.11999/JEIT150562 Context Modeling Based on Description Length CHEN Jianhua WANG Yong ZHANG Hong (School of Information Science and Engineer, Yunnan University, Kunming 650091, China) Abstract: In entropy coding systems based on the context modeling, the “context dilution” pr
4、oblem introduced by high-order context models needs to be alleviated by the context quantization to achieve the desired compression gain. Therefore, an algorithm is proposed to implement the Context Quantization by the Minimizing Description Length (MDLCQ) in this paper. With the description length
5、as the evaluation criterion, the Context Quantization Of Single-Condition (CQOSC) is attained by the dynamic programming algorithm. Then the context quantizer of multi-conditions can be designed by the iterated application of CQOSC. This algorithm can not only design the optimized context quantizer
6、for multi-valued sources, but also determine adaptively the importance of every condition so as to design the best order of the model. The experimental results show that the context quantizer designed by the MDLCQ algorithm can apparently improve the compression performance of the entropy coding sys
7、tem. Key words: Conditional entropy coding; Context quantization; Description length; Arithmetic coding 1 引言近些年来, Context 建模被广泛地用来改善编码系统的压缩性能。 2006 年, 文献1 优化了 Context量化算法以改善 JPEG2000 中图像小波变换系数的比特平面编码。 2012 年, 文献2利用改进的游程编码和基于 Context 建模的自适应算术码对嵌入式代数矢量量化器的二进制索引值进行压缩,以提高音频类信源的编码效率。2013 年,文献 3在近无损CALIC系
8、统中通过 Context建模的思想来优化预测误差的标量量化器的性能。 2014 年, 文献4利用预测误差建立 Context 模型,通过将矢量量化映射为非均匀的标量量化来自适应地实现 Context 量化,收稿日期: 2015-05-11;改回日期; 2015-12-04;网络出版: 2016-02-03 *通信作者:陈建华 基金项目:国家自然科学基金(61062005) Foundation Item: The National Natural Science Foundation of China (61062005) 以获得明显的无失真图像压缩增益。同年,文献 5针对 RGB 彩色图像
9、,提出了一种分层预测算法并采用基于 Context 建模的自适应算术码来实现对预测误差的高效熵编码。由此不难看出,建立 Context模型是提高信源符号压缩效率的有效方法。 有效、准确地估计反映信源统计特性的条件概率分布是改善编码系统压缩性能的关键,这个研究领域也引起了越来越多编码研究者的关注6 8。然而在建立高阶的 Context 模型时,已编码的信源序列可能无法提供足够的 样本使得统计分布直方图收敛于“真实”的信源条件概率分布,从而导致信源序列压缩性能变差。 1996 年, 文献9 在进行灰度图像的 Context 建模时对此进行了分析,并将其称为“Context 稀释”,同时指出可以通过
10、某种 Context量化措施来解决此问题。2000 年,文献10 在研究Context 模型的模型代价时指出 Context 量化是一般矢量量化的一种特例,并给出了最小化条件熵662 电 子 与 信 息 学 报 第 38 卷 Context 量化算法(Minimum Conditional Entropy Context Quantization, MCECQ)。 2004 年, 文献11对基于条件熵的 Context 量化问题进行了深入的理论分析。2010 年,文献12 通过最大化条件概率分布之间的互信息来实现 Context 量化 (Maximum Mutual Information C
11、ontext Quantization, MMICQ)。然而在上述算法中,均要提前指定Context 量化级数。有鉴于此, 文献13 曾提出一种无需提前指定量化级数且基于自适应码长的二元序列 Context 量化算法,它使用动态规划算法来寻找全局最优的 Context量化器(Minimum C ode Length Context Quantization, MCLCQ)。然而此算法仅适用于二值信源,因为 0-1 分布可以只用一个概率值来表示,从而将 Context 量化这种矢量量化转化为标量量化, 所以非二值信源需要通过某种投影映射成二值信源才可以使用 MCLCQ 算法。但是这种映射变换会影
12、响信源序列内符号之间的相关性从而导致压缩性能变差。考虑到最优标量量化可以使用动态规划算法 来实现,文献 14提出的 MRP (Minimum-Rate Predictors)无失真图像压缩算法中 将多个 Context条件值进行 平均, 再使用动态规划算法对此平均值进行标量量化从而实现高阶 Context 模型的量化。实际上,文献4 也是采用同样的思路来实现高阶Context 模型的量化,但是为降低运算复杂度,采用了一种简化的标量量化算法来代替动态规划算法。 本文所提出的基于描述长度的 Context 建模算法改进了上述算法中存在的不足:不仅可以确定Context 模型中各个条件的最优 Con
13、text 量化级数,而且可以适用于多值信源的 Context 量化。在给出作为 Context 量化评价准则描述长度的计算公式的前提下,首先利用动态规划算法来实现单条件Context 量化,然后将单条件 Context 量化算法推广至多条件的 Context 量化。编码结果表明此算法可以明显地改善基于 Context 建模的熵编码系统的编码性能。 2 Context模型与描述长度 2.1 Context模型 由于大部分信源是一种局部平稳随机信源,所以相邻样本之间具有较强的相关性。因而在信源编码系统中,利用已编码样本作为条件来构建当前待编码样本的条件概率分布以实现信源序列的压缩,是一种重要技术,
14、即 Context 建模。 若 x 为当前待编码的样本,12,Tcc c 为从临近已编码样本中抽象出来的条件,且和样本 x 具有较强的相关性,则在建立 Context 模型时,首先需要确定模型中所用的条件个数 T (即模型阶数) 。若模型中每个条件有 S 种可能取值,则共有TS 种特定的条件取值组合所对应的 Context 统计直方图需要进行计数,换言之,共有TS 个条件概率分布需要进行估计。因此当 T 或 (及 )S 过大时,就会导致信源序列无法提供足够的样本数据来估计TS 个条件概率分布,从而产生“Context 稀释”。而 Context 量化是解决这个问题的有效手段,通过将不同条件取值
15、组合下的 Context 统计直方图按照一定的准则归为一类以降低 Context 模型中条件概率分布的数量,从而充分、合理地利用条件信息来估计所需的条件概率分布。 2.2 描述长度 在进行信源序列的编码时,不仅需要对信源所产生的数据序列进行编码,而且需要对编码时所用的概率模型进行编码,所以一个理想的压缩性能评价准则应该能够衡量对这两部分信息进行编码所需要的总比特数。因为每一种特定的 Context 条件取值组合对应着一个特定的信源子序列,所以每一个信源子序列可以用来估计一个相应的条件概率分布。当使用此条件概率分布对相应的信源子序列进行编码时,对上述两部分信息编码所需的比特数可以用如下定义的描述
16、长度来确定。 当使用第 p (1 )TpS 号子序列来估计相应的条件概率分布时,若该子序列中各样本的取值有K 种,每个符号出现的次数分别为01 1,Knn n ,设每个符号的初始计数值为01 1, Knn n ,则该子序列及其对应概率分布的描述长度为 0010ln 1 ! ln 1 !ln 1 ! ln 1 !pKi iiil NN Nn nn (1) 其中,100KiiNn, 10KiiNn。于是整个信源序列的描述长度为1TSppLl。 Context 量化的实质就是减少 Context 模型中条件概率分布的数量,为此可以定义一组分类函数 : 0, 1, , 1 ( ) 0, 1, , 1t
17、 ttf x S fx R ,其中()tR S tT 1 ,将原来 Context 模型中各条件的S 种可能取值映射为tR 种可能取值。此时, Context模型中条件概率分布的数量由TS 减少为 1TttQR。最优 Context 量化即为找到令1QppLl最小的一组分类函数。 3 算法描述 3.1 单条件Context模型的量化 当只取一个条件作为 Context 模板时,由信源第 3期 陈建华等: 基于描述长度的 Context建模算法 663 序列可以得到 S 个统计分布直方图。在每个统计分布直方图中,共有 K 种样本取值需要进行统计计数,所以每个统计分布就是一个含有 K 个元素的计数
18、矢量。每个计数矢量就可以使用描述长度来衡量。 由大部分信源统计特性的局部平稳性可知,在条件取值小的计数矢量中,取值小的样本的计数值大,取值大的样本的计数值小,而在条件取值大的计数矢量中则相反。因此条件取值相近的统计 分布直方图的轮廓是相似的。换言之,条件取值相近的条件概率分布是相似的,所以可以将其合并以减少Context 模型中条件概率分布的数量。然而哪些取值连续的条件应该归于一类及所有条件值应分为多少类是未知的。但是由于条件本身的取值个数是有限的,且具有数值可排序性。这就为利用动态规划算法进行 Context 量化提供了可能。 为方便起见,将条件计数矢量+1ii j, ,CC C 的划分策略
19、记为 :ijC ,则需要找到12, ,SCC C 的一种划分 1:SC 能够使其描述长度 L 最短。设一种划分在条件kc 和1kc处断开 1 kS( ) ,则 1:SC的最佳划分策略就由 1:kC 和 1:kSC 这两个子最佳划分策略组成。由此不难看出,该问题满足最优子结构性质,所以此问题可以使用动态规划算法进行求解。设划分策略 :ijC 1 ijS 所能达到的最短描述长度为 mi j,则原问题的最优值为 1mS,最优解为 1:SC 。 当 ij 时, :iijCC为单一计数矢量,此时无需进行划分,利用式(1 )即可计算出此计数矢量的描述长度,因此 m i j mi i , 1, 2, ,iS
20、 。 当 ij 时,可利用最优子结构的性质来计算 mi j。若将计数矢量1, ,ii jCC C 划分为一个整体时可以使 mi j最小,则通过将条件1, ,ii jcc c所 对应的多个计数矢量的计数值对应累加进而求出其描述长度;若 :ijC 需要在 条件kc 和1kc(ik )j 之间进行划分,则 = + +1mi j mi k mk j。由于划分时并不知道断点 k 的位置,所以 k 未定。但是由于 k 的位置只能有 ji 种,即 , 1, ,k ii 1j ,所以 k 是这 ji 种可能取值中可以使 mi j最小的取值。从而 mi j可以递归地定义为 ,= ,min + +1 ,ijikj
21、mi i i jmi j l i jmi k mk j i j且不需划分且需要划分(2) 其中ijl 表示由条件值为 i 到 j 的所有计数矢量的计数值叠加而得到的计数矢量的描述长度。则 mi j给出了计数矢量+1, ,CC Cii j在某 种划分策略 :ijC 下可以达到的最短描述长度。同时可确定 :ijC 的最佳划分断点 k 的位置。若将对应于 mi j的断开位置 k 记为 si j,则在计算出最优值 1mS后,可以由 1sS递归地构造出相应的最优解,此最优解即是该条件的最佳划分策略。 通过上述算法可以得到如图 1 所示的单条件Context 量化结果。其中图 1(a)表示将单条件的 S
22、个计数矢量映射成 R 个计数矢量,则该条件的最优Context 量化级数为 R , R 越大就表示该条件划分得越细。量化后的每个计数矢量通过将若干个条件取值连续的计数矢量的计数值叠加而得到;图 1(b)是该条件的条件分段映射表,将原条件的 S 种连续的取值映射为 R 种连续的取值,即为此条件的最优Context 量化器。 3.2 多条件Context模型的量化 当取多个条件作为 Context 模板时,因为这些条件所构成的矢量不具备可排序性,不能直接使用动态规划算法进行上述优化,所以我们设计了一种基于单条件 Context 量化来实现多条件 Context 量化的算法。其基本思路为:首先利用单
23、条件 Context量化算法实现一个条件的最优量化,然后再利用该条件的量化结果对新添加的一个条件进行 Context量化,此时由于新条件的引入,需要对两个条件组成的 Context 模板重新进行计数,那么原条件的量化结果就不再是两个条件下的最优,因此需要使用新条件的量化结果对原条件重新量化,如此反复迭代,直到两个条件下的描述长度达到最短时,即可得到两个条件下的优化 Context 量化器。在此基础上,再引入一个新的条件按照同样的思路进行反复迭代,以实现多条件的优化 Context 量化。 实现多条件 Context 量化的过程如图 2 所示。当需要对由两个条件所得到的2S 个计数矢量进行Con
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 描述 长度 context 建模 算法 陈建华
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内