发明名称 一种基于局部最小熵的图像编码预测方法
摘要 本发明涉及一种基于局部最小熵的图像编码预测方法,尤其适合于静态图像的压缩处理。本发明对图像进行小波变换及小波系数量化,选择与待编码位相关性强的小波系数作为预测系数;定义预测系数的重要性状态函数、重要性状态方向加权函数、重要性状态和函数;以熵值的降低幅度作为判别依据,建立一种局部最优的预测模型将待编码位数据分类若干类。利用本发明建立的预测模型,实现了对小波系数的高效预测编码,实验结果表明,在相同压缩比下与静态图像压缩标准JPEG2000相比,有效提高了恢复图像的客观质量。
申请公布号 CN102316324B 申请公布日期 2013.08.21
申请号 CN201110247016.9 申请日期 2011.08.24
申请人 北京航空航天大学 发明人 李波;周菲菲;曹海恒
分类号 H04N7/26(2006.01)I;H04N7/50(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 李新华;顾炜
主权项 一种基于局部最小熵的图像编码预测方法,其特征在于,包括以下步骤:步骤一:对图像进行小波变换及小波系数量化,将每个小波系数用二进制数表示,扫描小波系数位平面;选取与待编码位相关性较强的系数作为预测系数,包括近邻居系数、远邻居系数、父系数和父邻居系数;步骤二:对于与待编码位相关性最强的近邻居预测系数,构造三种预测系数的函数,体现其与待编码系数的多种相关性,所述预测系数的函数包括重要性状态函数、重要性状态方向加权函数、重要性状态和函数;步骤三:对于其他与待编码位相关性较弱的预测系数,包括远邻居、父亲、父邻居预测系数,根据其与待编码位的相关关系,分别选取上述的一种函数表达式形式来构造其预测函数;步骤四:依据熵值的降低幅度,对已构造的多种相关性预测函数进行筛选,建立一种基于局部最小熵的预测模型,根据预测系数的实际取值将小波系数位数据预测为若干分类;其中步骤一中所述近邻居系数为当前待编码位周围8个系数N0~N7,远邻居系数为近邻居系数外围16个系数FN0~FN15;所述父系数为当前待编码位低一级频带对应位置的系数P,父邻居系数为父系数周围的8个近邻居系数PN0~PN7;所述步骤二中,重要性状态预测函数用来区分所述预测系数在上层位平面重要、当前层位平面重要或者还未重要这三种状态,其表达式定义如下: <mrow> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>K</mi> </mtd> <mtd> <msup> <mn>2</mn> <mi>p</mi> </msup> <mo>&le;</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <msup> <mn>2</mn> <mrow> <mi>p</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>&le;</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>&lt;</mo> <msup> <mn>2</mn> <mi>p</mi> </msup> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>&lt;</mo> <msup> <mn>2</mn> <mrow> <mi>p</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mtd> </mtr> </mtable> </mfenced> </mrow>其中,Mi表示所述预测系数Ni的幅值,其中0≤i≤7,p表示当前正在编码的位平面层数,S(Mi,p)函数值表示所述预测系数在当前层位平面的重要性状态值,K为比值参数,是大于1的正整数;所述步骤二中,重要性状态方向加权预测函数是对所述预测系数的重要性状态函数加权求和,并依据预测系数与当前待编码位相关性的大小为每个预测系数分配权重: <mrow> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>7</mn> </munderover> <msub> <mi>w</mi> <mi>i</mi> </msub> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>p</mi> <mo>)</mo> </mrow> </mrow>其中f1(M)表示所述预测系数的方向加权预测函数值,wi表示所述预测系数的权重, S(Mi,p)为重要性状态预测函数;所述步骤二中,重要性状态和函数用来区分所述预测系数重要的个数不同时对概率分布的影响,其表达式定义如下: <mrow> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>7</mn> </munderover> <mi>&sigma;</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow>其中f2(M)表示所述预测系数的预测函数值,σ(Mi)表示所述预测系数在位平面p的重要性判别值,用以区分该预测系数在当前位平面是否重要,定义如下: <mrow> <msub> <mi>&sigma;</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>&NotEqual;</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>S</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>p</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>其中S(Mi,p)为重要性状态预测函数;所述步骤四中,按照预测系数预测作用的大小,依次考量引入其对应的每个预测不等式时熵值的变化,如果该预测不等式的引入使熵值降低超过阈值,则将该预测不等式保留在最后的预测模型中,对应一类预测值;建立了基于局部最小熵的预测模型,如下所示: <mrow> <mi>pred</mi> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>15</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>32</mn> </mtd> </mtr> <mtr> <mtd> <mn>14</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>4</mn> </mtd> </mtr> <mtr> <mtd> <mn>13</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>16</mn> </mtd> </mtr> <mtr> <mtd> <mn>12</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>8</mn> </mtd> </mtr> <mtr> <mtd> <mn>11</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>2</mn> </mtd> </mtr> <mtr> <mtd> <mn>10</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>4</mn> </mtd> </mtr> <mtr> <mtd> <mn>9</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>2</mn> </mtd> </mtr> <mtr> <mtd> <mn>8</mn> </mtd> <mtd> <msub> <mi>f</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>7</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>P</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>4</mn> </mtd> </mtr> <mtr> <mtd> <mn>6</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>FN</mi> </msub> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>2</mn> </mtd> </mtr> <mtr> <mtd> <mn>5</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>FN</mi> </msub> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>4</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>PN</mi> </msub> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>8</mn> </mtd> </mtr> <mtr> <mtd> <mn>3</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>P</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>2</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>PN</mi> </msub> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>4</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>PN</mi> </msub> <mo>)</mo> </mrow> <mo>&GreaterEqual;</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mi>f</mi> <mrow> <mo>(</mo> <mi>M</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mi>g</mi> <mrow> <mo>(</mo> <mo>&CenterDot;</mo> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> </mrow>该预测模型将整个位数据流分为16个位数据子流,逼近了原始信源的高阶熵;g(Mp)=S(Mp,p)其中,Mp为父系数P的幅值,父邻居系数PN选用重要性状态方向加权函数,借鉴近邻居系数的预测函数进行构造,具体表达式为g(MPN)=f1(MPN)其中,MPN为父邻居系数PN的幅值;远邻居系数FN的个数远大于近邻居,类比近邻居系数重要性状态和函数方式进行构造,表达式为 <mrow> <mi>g</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>FN</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>f</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>FN</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mn>15</mn> </munderover> <mi>&sigma;</mi> <mrow> <mo>(</mo> <msub> <mi>M</mi> <mi>FNi</mi> </msub> <mo>)</mo> </mrow> </mrow>其中,MFN为远邻居系数对应的幅值,0≤i≤15。
地址 100191 北京市海淀区学院路37号