发明名称 基于双正交不变集多小波的图像压缩方法
摘要 本发明公开一种基于双正交不变集多小波的图像压缩方法,其步骤为:1.输入图像数据;2.DC电平位移;3.组成滤波器矩阵判;4.双正交不变集多小波变换层数初始化;5.扩展图像的高和宽;6.双正交不变集多小波行变换;7.双正交不变集多小波列变换;8.量化系数;9.算术编码;10.率失真优化截取;11.码流组织。本发明采用一组具有对称、紧支、正交的双正交不不变集多小波滤波器,双正交不不变集多小波变换计算时采用内积的方法,使得算法复杂度大大降低,变换后能量和熵集中程度高具有更大的稀疏性,有利于后续的压缩编码,而且便与分块处理和并行加速。
申请公布号 CN104683818A 申请公布日期 2015.06.03
申请号 CN201510112891.4 申请日期 2015.03.15
申请人 西安电子科技大学 发明人 李云松;李永军;刘凯;吴宪云;王柯俨;张静;何刚
分类号 H04N19/63(2014.01)I;H04N19/635(2014.01)I 主分类号 H04N19/63(2014.01)I
代理机构 陕西电子工业专利中心 61205 代理人 田文英;王品华
主权项 一种基于双正交不变集多小波的图像压缩方法,包括如下步骤:(1)输入图像数据:在JPEG2000图像压缩系统中输入待压缩的二维图像数据;(2)DC电平位移:对输入的待压缩的二维图像数据进行DC电平位移,得到0对称分布的DC电平位移后的图像数据;(3)组成滤波器矩阵:将每个双正交不变集多小波滤波器<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd></mtr></mtable></mfenced><mo>,</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000682226440000011.GIF" wi="809" he="139" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000682226440000012.GIF" wi="352" he="132" /></maths>和<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000682226440000013.GIF" wi="338" he="126" /></maths>作为矩阵的一行,组成4乘4的滤波器矩阵;(4)双正交不变集多小波变换层数初始化;(5)扩展图像的高和宽:(5a)判断DC电平位移后图像的高是否为4的倍数,若是,则执行步骤(5c),否则,执行步骤(5b);(5b)对DC电平位移后图像的高进行边界对称扩展,使扩展后图像的高是4的倍数;(5c)判断DC电平位移后图像的宽是不是4的倍数,若是,则执行步骤(6),否则,执行步骤(5d);(5d)对图像的宽进行边界对称扩展,使扩展后图像的宽是4的倍数,得到扩展后图像;(6)双正交不变集多小波行变换:(6a)分别将扩展后图像的行序号k和行变换图像的行序号m初始化为1;(6b)将滤波器矩阵第一行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第一个元素,k表示扩展后图像的行序号,m表示行变换图像的行序号;将滤波器矩阵第一行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第二个元素;依此类推,将滤波器矩阵第一行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第i+1个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000021.GIF" wi="205" he="110" />W表示扩展后图像的宽度;(6c)将滤波器矩阵第二行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000022.GIF" wi="106" he="110" />个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第二行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000023.GIF" wi="118" he="116" />个元素;依此类推,将滤波器矩阵第二行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000024.GIF" wi="162" he="118" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000025.GIF" wi="205" he="113" />(6d)将滤波器矩阵第三行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000026.GIF" wi="162" he="111" />个元素,k表示图像的行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第三行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000027.GIF" wi="171" he="110" />个元素;依此类推,将滤波器矩阵第三行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA0000682226440000028.GIF" wi="208" he="110" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000029.GIF" wi="205" he="112" />(6e)将滤波器矩阵第四行与扩展后图像第k行的第1到4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA00006822264400000210.GIF" wi="156" he="110" />个元素,k图像的表示行序号,m表示行变换图像的行序号,W表示扩展后图像的宽度;将滤波器矩阵第四行与扩展后图像第k行的第5到8的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA00006822264400000211.GIF" wi="169" he="115" />个元素;依此类推,将滤波器矩阵第四行与扩展后图像第k行的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为行变换图像的第m行第<img file="FDA00006822264400000212.GIF" wi="210" he="111" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA00006822264400000213.GIF" wi="211" he="116" />(6f)分别将扩展后图像的行序号k和行变换图像的行序号m加1;(6g)判断加1后的扩展后图像的行序号k是否等于扩展后图像的高度,若是,则得到行变换图像,执行步骤(7),否则,执行步骤(6b);(7)双正交不变集多小波列变换:(7a)分别将扩展后图像的列序号n和列变换图像的列序号r初始化为1;(7b)将滤波器矩阵第一行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第一个元素,n表示图像的列序号;将滤波器矩阵第一行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第二个元素;依此类推,将滤波器矩阵第一行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第i+1个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000031.GIF" wi="193" he="114" />L表示扩展后图像的高度;(7c)将滤波器矩阵第二行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000032.GIF" wi="96" he="115" />个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第二行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000033.GIF" wi="108" he="111" />个元素;依此类推,将滤波器矩阵第二行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000034.GIF" wi="151" he="117" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000035.GIF" wi="202" he="104" />(7d)将滤波器矩阵第三行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000036.GIF" wi="148" he="108" />个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第三行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000037.GIF" wi="152" he="114" />个元素;依此类推,将滤波器矩阵第三行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000038.GIF" wi="198" he="111" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000039.GIF" wi="193" he="116" />(7e)将滤波器矩阵第四行与行变换图像第n列的第1到4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA00006822264400000310.GIF" wi="150" he="111" />个元素,n表示图像的列序号,L表示扩展后图像的高度;将滤波器矩阵第四行与行变换图像第n列的第5到8的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000041.GIF" wi="154" he="114" />个元素;依此类推,将滤波器矩阵第四行与行变换图像第n列的第4×i+1到4×i+4的四个元素进行内积,将内积结果作为列变换图像的第r列第<img file="FDA0000682226440000042.GIF" wi="197" he="110" />个元素,i表示图像元素序号,i的取值范围是<img file="FDA0000682226440000043.GIF" wi="197" he="110" />(7f)分别将扩展后图像的列序号n和列变换图像的列序号r加1;(7g)判断加1后的扩展后图像的列序号n是不是等于扩展后图像的宽度,若是,则得到双正交不变集多小波变换图像,执行步骤(8),否则,执行步骤(7b);(8)更新图像:将正交不变集多小波变换图像在<img file="FDA0000682226440000044.GIF" wi="114" he="111" />范围的高和在<img file="FDA0000682226440000045.GIF" wi="132" he="116" />范围内的宽的部分,作为DC电平位移后图像;(9)将双正交不变集多小波的变换层数减1;(10)判断减1后双正交不变集多小波变换层数是否是零,若是,得到扩展后图像的多层双正交不变集多小波变换系数,则执行步骤(11),否则,执行步骤(5);(11)量化系数:将扩展后图像的多层双正交不变集多小波变换系数量化;(12)算术编码:利用JPEG2000图像压缩系统中标准的基于上下文的位平面算术编码模块对小波变换后的系数进行处理,得到算术编码的码流;(13)率失真优化:利用JPEG2000图像压缩系统中标准的率失真优化截取模块对算术编码的码流进行率失真优化截取,记录截取点信息;(14)组织码流:JPEG2000图像压缩系统中标准的码流组织模块使用截取点信息,对算术编码的码流进行码流组织,得到JPEG2000的压缩码流。
地址 710071 陕西省西安市太白南路2号