发明名称 一种基于双正交重叠变换的分类量化编码方法
摘要 本发明提供一种基于双正交重叠变换的分类量化编码方法,属于遥感图像数据传输技术领域。本发明先通过测试图像序列完成编码参数设计步骤;然后对输入图像实现图像编码算法步骤。本发明通过分类训练的方法将图像按照编码特性分为不同的类型,对每种类型选择合适的量化方法,从而有效解决了不同类型遥感图像在定质量编码前提下对编码性能参数要求不同造成的图像编码性能差异问题,从而达到了不同类型图像定客观质量编码的目的。本发明用于遥感卫星应用中,大大提高了遥感卫星图像数据的下传效率。
申请公布号 CN103327337B 申请公布日期 2015.12.23
申请号 CN201310270943.1 申请日期 2013.06.28
申请人 武汉大学 发明人 田昕;李松;郑国兴;周辉;杨晋陵;高俊玲
分类号 H04N19/176(2014.01)I;H04N19/124(2014.01)I;H04N19/147(2014.01)I;H04N19/625(2014.01)I 主分类号 H04N19/176(2014.01)I
代理机构 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人 薛玲
主权项 一种基于双正交重叠变换的分类量化编码方法,其特征在于:包括下述步骤,步骤1、通过测试图像序列完成编码参数的设计;步骤2、利用步骤1得到的编码参数对输入图像进行编码;所述步骤1具体包括以下步骤,步骤1.1、对测试图像进行双正交重叠变换;变换方法采用JPEG XR标准的变换方法,具体为:首先将测试图像分割成大小为16×16的宏块,以每个宏块中4×4的块为单元进行第一次双正交重叠变换;变换后,每个4×4块中左上角数据为DC系数,剩余的15个为HP系数;将16×16宏块中所有的DC系数组成4×4的块进行第二次双正交重叠变换,最终得到一个DC系数和15个LP系数;每个16×16的宏块最终变换后的数据包括1个DC系数、15个LP系数和240个HP系数;步骤1.2、对每个宏块变换后的DC系数、LP系数和HP系数进行量化,量化公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>B</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mi>r</mi><mi>o</mi><mi>u</mi><mi>n</mi><mi>d</mi><mrow><mo>(</mo><mfrac><msub><mi>A</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>Q</mi><mrow><mi>s</mi><mi>t</mi><mi>e</mi><mi>p</mi></mrow></msub></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000821432770000011.GIF" wi="404" he="178" /></maths>其中,A<sub>ij</sub>代表变换后的系数,B<sub>ij</sub>代表量化后的系数,Q<sub>step</sub>代表量化步长,初始量化步长设置为1,round( )表示四舍五入运算;步骤1.3、对B<sub>ij</sub>进行反量化,反量化公式为:C<sub>ij</sub>=B<sub>ij</sub>×Q<sub>step</sub>其中,C<sub>ij</sub>代表宏块的反量化系数,i、j分别代表C<sub>ij</sub>的行、列坐标;步骤1.4、根据步骤1.1对C<sub>ij</sub>进行双正交重叠变换逆变换,获得重建图像;步骤1.5、计算测试图像和重建图像的峰值信噪比(Peak Signal to Noise Ratio,PSNR),计算公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>P</mi><mi>S</mi><mi>N</mi><mi>R</mi><mo>=</mo><mn>20</mn><mi>lg</mi><msqrt><mfrac><msup><mn>255</mn><mn>2</mn></msup><mrow><mi>M</mi><mi>S</mi><mi>E</mi></mrow></mfrac></msqrt><mo>,</mo><mi>M</mi><mi>S</mi><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>&times;</mo><mi>N</mi></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>&lsqb;</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>I</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mn>2</mn></msup></mrow>]]></math><img file="FDA0000821432770000021.GIF" wi="1271" he="164" /></maths>其中,M、N分别代表图像的长度和宽度,I(i,j)和<img file="FDA0000821432770000022.GIF" wi="136" he="86" />分别代表原始图像和重建图像的像素大小,i、j分别代表原始图像和重建图像的行、列坐标;步骤1.6、设预期图像客观质量为T<sub>Q</sub>,若PSNR‑T<sub>Q</sub>>0.5,则Q<sub>step</sub>=Q<sub>step</sub>+1,然后重复步骤1.2至步骤1.6;若PSNR‑T<sub>Q</sub><‑0.5,则Q<sub>step</sub>=Q<sub>step</sub>‑1,然后重复步骤1.2至步骤1.6;其他情况则结束迭代计算过程;步骤1.7、通过迭代计算过程确定量化步长,根据量化步长将图像划分为不同类型,并设定每个类型的量化步长;步骤1.8、计算图像活跃度,包括IAMD1、IAMD2、IAME1和IAME2,并将之作为图像的分类特征,构建特征向量并结合步骤1.7中的已分类类型完成支持向量机的训练;具体计算公式如下:<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>I</mi><mi>A</mi><mi>M</mi><mi>D</mi><mn>1</mn><mo>=</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo><mo>&times;</mo><mi>N</mi></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>&times;</mo><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000821432770000023.GIF" wi="999" he="304" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>I</mi><mi>A</mi><mi>M</mi><mi>D</mi><mn>2</mn><mo>=</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo><mo>&times;</mo><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo><mo>&times;</mo><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000821432770000024.GIF" wi="1150" he="303" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>I</mi><mi>A</mi><mi>M</mi><mi>E</mi><mn>1</mn><mo>=</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo>)</mo><mo>&times;</mo><mi>N</mi></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>&times;</mo><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000821432770000031.GIF" wi="1048" he="308" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>I</mi><mi>A</mi><mi>M</mi><mi>E</mi><mn>2</mn><mo>=</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo>)</mo><mo>&times;</mo><mo>(</mo><mi>N</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><mn>1</mn><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>2</mn><mo>)</mo><mo>&times;</mo><mo>(</mo><mi>N</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>2</mn></mrow></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>2</mn></mrow></munderover><mo>|</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mi>x</mi><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>|</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000821432770000032.GIF" wi="1196" he="278" /></maths>其中,x(i,j)代表原始图像的像素大小,i、j分别代表原始图像的行、列坐标。
地址 430072 湖北省武汉市武昌区珞珈山武汉大学