一种基于空域下采样模式的高效图像压缩方法转让专利

申请号 : CN201510292831.5

文献号 : CN104935928B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱树元曾兵

申请人 : 电子科技大学

摘要 :

本发明提供了一种基于空域下采样技术的图像压缩方法,它是通过对于内部比较平滑的图像宏块,采用基于空域下采样的方法进行编码,再利用插值技术进行重建,在保证编码保真度的前提下,大幅度降低编码码率;同时,对于内部纹理比较复杂的图像宏块,采用传统的基于JPEG图像压缩标准的编码方法保证对图像宏块的高效编码。传统的图像压缩方法忽略图像内部不同区域间特征的不同,因此无法有效去除像素点间的相关性,造成整体编码效率低下。本发明对具有不同特征的图像宏块有区分地实施不同的编码策略,实现对整个图像的高效编码。

权利要求 :

1.一种基于空域下采样技术的图像压缩方法,其特征是它包括以下步骤:步骤1,图像的预处理

将大小为W×H的图像,按照传统的JPEG图像压缩标准中图像分块的方法划分为N=(W×H)/162个互不重叠的,大小为16×16的正方形图像块,记为B1,B2,…,Bi,…,BN,这里,W代表图像的宽度,H代表图像的高度,N代表图像划分后图像块的总个数,i代表图像块的索引,i∈{1,2,…,N};

步骤2,图像块的下采样

首先,定义大小为8×8的下采样图像块为B'i;这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

接着,用步骤1中产生的图像块Bi的第1列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第1列;用Bi的第3列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第2列;用Bi的第5列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第3列;用Bi的第7列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第4列;用Bi的第9列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第5列;用Bi的第11列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第6列;用Bi的第13列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第7列;用Bi的第15列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第8列,即

这里,β'm,n是B'i中的元素,m代表B'i内元素的横坐标,n代表B'i内元素的纵坐标,m和n是自然数,1≤m≤8,1≤n≤8;βu,v是Bi中的元素,u代表图像块Bi内元素的横坐标,v代表图像块Bi内元素的纵坐标,u和v同时为奇数,1≤u≤16,1≤v≤16;i代表图像块的索引,i∈{1,

2,…,N},N代表步骤1中图像划分后图像块的总个数;

步骤3,下采样图像块的编码和解码

对步骤2得到的图像块B'i使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为这里, 是 中的元素,u1代表 内元素的横坐标,v1代表 内元素的纵坐标,u1和v1是自然数,1≤u1≤8,1≤v1≤8;

接着,对图像块B'i使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为最后,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为即

这里, 是 中的元素,u2代表 内元素的横坐标,v2代表 内元素的纵坐标,u2和v2是自然数,1≤u2≤8,1≤v2≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

步骤4,编码图像块的上采样

首先,定义大小为16×16的上采样图像块为B″i;这里,i代表图像块的索引,i∈{1,

2,…,N},N代表步骤1中图像划分后图像块的总个数;

接着,用 的第1列中的8个元素按照从上到下的顺序生成B″i第1列中奇数行上的8个元素;用 的第2列中的8个元素按照从上到下的顺序生成B″i第3列中奇数行上的8个元素;用的第3列中的8个元素按照从上到下的顺序生成B″i第5列中奇数行上的8个元素;用 的第

4列中的8个元素按照从上到下的顺序生成B″i第7列中奇数行上的8个元素;用 的第5列中的8个元素按照从上到下的顺序生成B″i第9列中奇数行上的8个元素;用 的第6列中的8个元素按照从上到下的顺序生成B″i第11列中奇数行上的8个元素;用 的第7列中的8个元素按照从上到下的顺序生成B″i第13列中奇数行上的8个元素;用 的第8列中的8个元素按照从上到下的顺序生成B″i第15列中奇数行上的8个元素;

然后,用传统的双三次插值方法对B″i中位于(u,v)位置上的像素点进行插值,得到插值后的像素矩阵,记为这里,u代表B″i内像素点的横坐标,v代表B″i内像素点的纵坐标,u和v是自然数,并且u和v不同时为奇数,1≤u≤16,1≤v≤16; 是 中的元素,u3代表 内元素的横坐标,v3代表 内元素的纵坐标,u3和v3是自然数,1≤u3≤16,1≤v3≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

步骤5,计算解码像素矩阵的均方误差

用传统的计算均方误差的方法计算步骤4中得到的像素矩阵 与步骤1中产生的图像块Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

步骤6,用传统的编码方法编码原始图像块

首先,将步骤1中所产生的大小为16×16的图像块Bi,按照传统的JPEG图像压缩标准中图像分块的方法分为4个互不重叠,大小为8×8的图像块,记为其中,

这里, 是 中的元素,m1代表 内元素的横坐标,n1代表 内元素的纵坐标,m1和n1是自然数,1≤m1≤8,1≤n1≤8; 是 中的元素,m2代表 内元素的横坐标,n2代表内元素的纵坐标,m2和n2是自然数,1≤m2≤8,1≤n2≤8; 是 中的元素,m3代表内元素的横坐标,n3代表 内元素的纵坐标,m3和n3是自然数,1≤m3≤8,1≤n3≤8;

是 中的元素,m4代表 内元素的横坐标,n4代表 内元素的纵坐标,m4和n4是自然数,1≤m4≤8,1≤n4≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

其次,对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和是自然数,对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标,和 是自然数,

对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标,和 是自然数,

对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标,和 是自然数,

对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为将 相加得到图像块Bi的编码比特数 ,记为

这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

接着,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为这里, 是 中的元素,p1代表 内元素的横坐标,q1代表 内元素的纵坐标,p1和q1是自然数,1≤p1≤8,1≤q1≤8;

对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为这里, 是 中的元素,p2代表 内元素的横坐标,q2代表 内元素的纵坐标,p2和q2是自然数,1≤p2≤8,1≤q2≤8;

对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为这里, 是 中的元素,p3代表 内元素的横坐标,q3代表 内元素的纵坐标,p3和q3是自然数,1≤p3≤8,1≤q3≤8;

对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为这里, 是 中的元素,p4代表 内元素的横坐标,q4代表 内元素的纵坐标,p4和q4是自然数,1≤p4≤8,1≤q4≤8;

其中,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

然后,将图像块 按照从上到下,从左到右的顺序,组成一个大小为16×16的图像块,记为b"i,

这里,

这里,α″u4,v4是b"i中的元素,u4代表b"i内元素的横坐标,v4代表b"i内元素的纵坐标,u4和v4是自然数,1≤u4≤16,1≤v4≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

最后,用传统的计算均方误差的方法计算图像块b"i与步骤1中产生的图像块Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

步骤7,最优编码和解码模式的选择

首先,对步骤1产生的图像块Bi,用步骤3得到的比特数 和步骤5得到均方误差相乘,将相乘的结果记为 用步骤6得到的比特数 和均方误差 相乘,将相乘的结果记为 比较 和

的大小,如果 那么选择步骤2~步骤4的编码和解码方法对步骤1中产生的图像块Bi进行编码和解码;如果 那么选择步骤6的编码和解码方法对步骤1中产生的图像块Bi进行编码和解码;将解码后得到图像块,记为bi,即

这里,αu5,v5是bi中的元素,u5代表bi内元素的横坐标,v5代表bi内元素的纵坐标,u5和v5是自然数,1≤u5≤16,1≤v5≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;

然后,将对图像块Bi进行编码后得到的编码比特数记为Biti,如果如果 这里,i代表图像块的索引,i∈{1,2,…,

N},N代表步骤1中图像划分后图像块的总个数;

步骤8,重建图像

对于步骤7中产生的重建图像块bi,采用传统的JPEG图像压缩标准中图像块合成图像的方法,产生重建图像,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数。

说明书 :

一种基于空域下采样模式的高效图像压缩方法

技术领域

[0001] 本发明属于图像处理领域,它特别涉及数字图像的编码技术。

背景技术

[0002] 随着大数据信息时代的到来,多媒体信号正成为信息存储与传播的主体,在推动国民经济、保障社会安全、传播先进文化等方面发挥着极为重要的作用。图像数据作为多媒体信号的一种常用载体,被广泛应用于人们的日常生活中。图像信息所包含的内容丰富,但所占的存储空间也十分大,特别是当今时代人们对高分辨率图像需求的日益增多,因此,如何压缩图像信号以节省存储空间已经成为迫在眉睫需要解决的问题。与此同时,伴随着互联网的发展,在图像信息的传输方面对图像数据的压缩也提出了更高的要求。
[0003] 图像信号内部存在大量冗余,包括空间冗余、结构冗余以及视觉冗余等。正是因为存在这样的冗余,图像数据才能够被压缩。高效的图像压缩方法就是要尽可能多地去除图像内部的冗余。
[0004] 从统计学的角度讲,图像内部的空间冗余可以定义为像素点之间的相关性。与此同时,由于图像内部不同区域之间存在不同的特征,因此,不同区域内部的像素点间的相关性也有所不同。而如何根据图像的区域特征选择不同的方法消除不同像素点间的相关性,则是图像压缩算法的关键所在。传统的图像压缩方法忽略了图像内部不同区域间特征的不同,因此无法有效去除像素点间的相关性,造成整体编码效率低下。参见参考文献“JPEG(Joint Photographic Experts Group):ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”。

发明内容

[0005] 本发明的目的是提供一种新型的基于空域下采样技术的图像压缩方法,这种方法可以让每个图像宏块通过率失真优化策略自适应地选择一种编码模式,从而有针对性地提高图像宏块的编码效率,实现对整个图像信号的高效压缩。与传统的JPEG图像压缩方法相比,本发明提供了两种编码模式,能够克服传统JPEG图像压缩方法中编码模式单一的缺点。
[0006] 为了方便描述本发明的内容,首先做以下术语定义:
[0007] 定义1,传统的JPEG图像压缩标准中图像分块的方法
[0008] 传统的图像分块方法按照JPEG标准中对图像进行分块的方法,将原始图像划分为多个互不重叠的等尺寸图像块,具体描述过程参见“JPEG(Joint Photographic Experts Group): ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”;
[0009] 定义2,传统的JPEG图像压缩标准中的编码方法
[0010] 传统的JPEG图像压缩标准中的编码方法主要包括对每个图像块进行变换编码、量化和熵编码以及计算编码比特数;具体描述过程参见“JPEG(Joint Photographic Experts Group): ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”;
[0011] 定义3,传统的JPEG图像压缩标准中计算编码比特数的方法
[0012] 传统的JPEG图像压缩标准中计算编码比特数的方法主要是计算图像块系数矩阵编码所消耗的比特数,具体描述过程参见“JPEG(Joint Photographic Experts Group):ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”;
[0013] 定义4,传统的JPEG图像压缩标准中的解码方法
[0014] 传统的JPEG图像压缩标准中的解码方法主要包括对每个图像块进行反变换和反量化;具体描述过程参见“JPEG(Joint Photographic Experts Group):ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”;
[0015] 定义5,传统的双三次插值方法
[0016] 传统的双三次插值方法是二维空间中最常用的插值方法,在这种插值方法中,点(u,v)处的值可以通过它周围矩形网格中最近的十六个点的加权平均得到;具体描述过程参见文献“Cubic convolution interpolation for digital image processing”;
[0017] 定义6,传统的计算均方误差的方法
[0018] 传统的计算均方误差的方法针对两个大小均为m×n的二维输入信号X和 按照下式计算它们之间的均方误差:
[0019]
[0020] 定义7,传统的JPEG图像压缩标准中图像块合成图像的方法
[0021] 传统的图像块合成图像的方法是按照JPEG图像压缩标准中用图像块进行相互不重叠组合以合成完整图像的方法,具体描述过程参见“JPEG(Joint Photographic Experts Group): ISO/IEC IS 10918–1/ITU-T Recommendation T.81,Digital Compression and Coding of Continuous-Tone Still Image,1993”;
[0022] 本发明提供的一种基于空域下采样技术的图像压缩方法,它包括以下步骤:
[0023] 步骤1,图像的预处理
[0024] 将大小为W×H的图像,按照传统的JPEG图像压缩标准中图像分块的方法划分为 N=(W×H)/162个互不重叠的,大小为16×16的正方形图像块,记为B1,B2,…,Bi,…,BN,这里,W代表图像的宽度,H代表图像的高度,N代表图像划分后图像块的总个数,i代表图像块的索引,i∈{1,2,…,N};
[0025] 步骤2,图像块的下采样
[0026] 首先,定义大小为8×8的下采样图像块为B'i;这里,i代表图像块的索引,i∈{1,2,…, N},N代表步骤1中图像划分后图像块的总个数;
[0027] 接着,用步骤1中产生的图像块Bi的第1列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第1列;用Bi的第3列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第2列;用Bi的第5列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第3列;用 Bi的第7列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第4列;用Bi的第9列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第5列;用Bi的第11列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第6列;用Bi的第13列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第7列;用Bi的第15列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第8列,
[0028] 即
[0029] 这里,β'm,n是B'i中的元素,m代表B'i内元素的横坐标,n代表B'i内元素的纵坐标,m 和n是自然数,1≤m≤8,1≤n≤8;βu,v是Bi中的元素,u代表图像块Bi内元素的横坐标,v 代表图像块Bi内元素的纵坐标,u和v同时为奇数,1≤u≤16,1≤v≤16;i代表图像块的索引, i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0030] 步骤3,下采样图像块的编码和解码
[0031] 对步骤2得到的图像块B'i使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0032]
[0033] 这里, 是 中的元素,u1代表 内元素的横坐标,v1代表 内元素的纵坐标,u1和v1是自然数,1≤u1≤8,1≤v1≤8;
[0034] 接着,对图像块B'i使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0035] 最后,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0036] 即
[0037] 这里, 是 中的元素,u2代表 内元素的横坐标,v2代表 内元素的纵坐标,u2和v2 是自然数,1≤u2≤8,1≤v2≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0038] 步骤4,编码图像块的上采样
[0039] 首先,定义大小为16×16的上采样图像块为B″i;这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0040] 接着,用 的第1列中的8个元素按照从上到下的顺序生成B″i第1列中奇数行上的8个元素;用 的第2列中的8个元素按照从上到下的顺序生成B″i第3列中奇数行上的8个元素;用 的第3列中的8个元素按照从上到下的顺序生成B″i第5列中奇数行上的8个元素;用的第4列中的8个元素按照从上到下的顺序生成B″i第7列中奇数行上的8个元素;用 的第 5列中的8个元素按照从上到下的顺序生成B″i第9列中奇数行上的8个元素;用 的第6列中的8个元素按照从上到下的顺序生成B″i第11列中奇数行上的8个元素;用 的第7列中的8个元素按照从上到下的顺序生成B″i第13列中奇数行上的8个元素;用 的第8列中的8 个元素按照从上到下的顺序生成B″i第15列中奇数行上的8个元素;
[0041] 然后,用传统的双三次插值方法对B″i中位于(u,v)位置上的像素点进行插值,得到插值后的像素矩阵,记为
[0042]
[0043] 这里,u代表B″i内像素点的横坐标,v代表B″i内像素点的纵坐标,u和v是自然数,并且u和 v不同时为奇数,1≤u≤16,1≤v≤16; 是 中的元素,u3代表 内元素的横坐标,v3代表 内元素的纵坐标,u3和v3是自然数,1≤u3≤16,1≤v3≤16;i代表图像块的索引,i ∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0044] 步骤5,计算解码像素矩阵的均方误差
[0045] 用传统的计算均方误差的方法计算步骤4中得到的像素矩阵 与步骤1中产生的图像块 Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0046] 步骤6,用传统的编码方法编码原始图像块
[0047] 首先,将步骤1中所产生的大小为16×16的图像块Bi,按照传统的JPEG图像压缩标准中图像分块的方法分为4个互不重叠,大小为8×8的图像块,记为
[0048] 其中,
[0049]
[0050] 这里, 是 中的元素,m1代表 内元素的横坐标,n1代表 内元素的纵坐标,m1和 n1是自然数,1≤m1≤8,1≤n1≤8; 是 中的元素,m2代表 内元素的横坐标,n2 代表 内元素的纵坐标,m2和n2是自然数,1≤m2≤8,1≤n2≤8; 是 中的元素, m3代表 内元素的横坐标,n3代表 内元素的纵坐标,m3和n3是自然数,1≤m3≤8,1≤ n3≤8;是 中的元素,m4代表 内元素的横坐标,n4代表 内元素的纵坐标,m4 和n4是自然数,1≤m4≤8,1≤n4≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤 1中图像划分后图像块的总个数;
[0051] 其次,对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0052]
[0053] 这里, 是 中的元素, 代表 内元素的横坐标,代表 内元素的纵坐标,和 是自然数,
[0054] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0055] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0056]
[0057] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0058] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0059] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0060]
[0061] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0062] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0063] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0064]
[0065] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0066] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0067] 将 相 加得到图 像 块B i的 编码比 特数 ,记 为这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1
中图像划分后图像块的总个数;
[0068] 接着,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0069]
[0070] 这里, 是 中的元素,p1代表 内元素的横坐标,q1代表 内元素的纵坐标,p1和q1 是自然数,1≤p1≤8,1≤q1≤8;
[0071] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0072]
[0073] 这里, 是 中的元素,p2代表 内元素的横坐标,q2代表 内元素的纵坐标,p2和 q2是自然数,1≤p2≤8,1≤q2≤8;
[0074] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0075]
[0076] 这里, 是 中的元素,p3代表 内元素的横坐标,q3代表 内元素的纵坐标,p3和q3 是自然数,1≤p3≤8,1≤q3≤8;
[0077] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0078]
[0079] 这里, 是 中的元素,p4代表 内元素的横坐标,q4代表 内元素的纵坐标,p4和 q4是自然数,1≤p4≤8,1≤q4≤8;
[0080] 其中,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0081] 然后,将图像块 按照从上到下,从左到右的顺序,组成一个大小为16×16的图像块,记为b"i,
[0082] 这里,
[0083] 这里,α″u4,v4是b"i中的元素,u4代表b"i内元素的横坐标,v4代表b"i内元素的纵坐标, u4和v4是自然数,1≤u4≤16,1≤v4≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0084] 最后,用传统的计算均方误差的方法计算图像块b"i与步骤1中产生的图像块Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0085] 步骤7,最优编码和解码模式的选择
[0086] 首先,对步骤1产生的图像块Bi,用步骤3得到的比特数 和步骤5得到均方误差相乘,将相乘的结果记为 用步骤6得到的比特数和均方误差 相乘,将相乘的结果记为 比较 和
的大小,如果 那么选择步骤2~步骤4的编码和解码方法对步骤1中产
生的图像块Bi进行编码和解码;如果 那么选择步骤6的编码和解码方法对步
骤1中产生的图像块Bi进行编码和解码;将解码后得到图像块,记为bi,
[0087] 即
[0088] 这里,αu5,v5是bi中的元素,u5代表bi内元素的横坐标,v5代表bi内元素的纵坐标,u5和v5 是自然数,1≤u5≤16,1≤v5≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0089] 然后,将对图像块Bi进行编码后得到的编码比特数记为Biti,如果如果 这里,i代表图像块的索引,i∈{1,2,…, 
N},N代表步骤1中图像划分后图像块的总个数;
[0090] 步骤8,重建图像
[0091] 对于步骤7中产生的重建图像块bi,采用传统的JPEG图像压缩标准中图像块合成图像的方法,产生重建图像,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数。
[0092] 本发明的基本原理:空域的下采样技术为降低每个宏块的编码码率提供了一种可能,对于内部比较平滑的图像宏块,利用基于空域下采样的方法进行编码,再利用插值技术进行重建,在保证编码保真度的前提下,可以大幅度降低编码码率;同时,对于内部纹理比较复杂的图像宏块,传统的基于JPEG图像压缩标准的编码方法可以保证对其的高效编码。将两种编码策略通过率失真优化方法进行结合,对具有不同特征的图像宏块有区分地实施不同的编码策略,可以实现对整个图像的高效编码。
[0093] 本发明的实质是:将基于空域下采样技术的编码方法与传统的JPEG编码方法相结合,不同图像宏块可以采用不同的编码模式以达到最优的编码,从而实现对整个图像的高效压缩。
[0094] 本发明的创新点:本发明将空域下采样技术应用于图像压缩中以定义一种新型的编码模式,每个编码宏块通过自适应地选择编码模式,实现最优编码,从而达到提高整个图像压缩效率的目的。
[0095] 本发明的优点:基于空域下采样的方法可以有效降低图像宏块的编码码率,同时,基于编码码率和均方误差的模式选择准则可以保证每个图像宏块得到最优的编码模式,最终可以提高图像的压缩效率。

附图说明

[0096] 图1为本发明的实现流程;
[0097] 图2为应用不同图像编码方法在相同编码码率下得到的PSNR值。

具体实施方式

[0098] 本发明主要采用仿真实验的方式验证该系统模型的可行性,所有步骤都经过实验验证,为实现基于变换域下采样技术的图像压缩,具体实施步骤如下:
[0099] 步骤1,图像的预处理
[0100] 设定图像的宽度W=16m,图像的高度H=16n,这里m和n都是自然数,按照传统的JPEG 图像压缩标准中图像分块的方法划分为N=(W×H)/162个互不重叠的,大小为16×16的正方形图像块,记为B1,B2,…,Bi,…,BN,这里,N代表图像划分后图像块的总个数,i代表图像块的索引,i∈{1,2,…,N};
[0101] 步骤2,图像块的下采样
[0102] 首先,定义大小为8×8的下采样图像块为B'i;这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0103] 接着,用步骤1中产生的图像块Bi的第1列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第1列;用Bi的第3列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第2列;用Bi的第5列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第3列;用 Bi的第7列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第4列;用Bi的第9列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第5列;用Bi的第11列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第6列;用Bi的第13列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第7列;用Bi的第15列中位于奇数行的8个元素按照从上到下的顺序生成B'i的第8列,
[0104] 即
[0105] 这里,β'm,n是B'i中的元素,m代表B'i内元素的横坐标,n代表B'i内元素的纵坐标,m 和n是自然数,1≤m≤8,1≤n≤8;βu,v是Bi中的元素,u代表图像块Bi内元素的横坐标,v 代表图像块Bi内元素的纵坐标,u和v同时为奇数,1≤u≤16,1≤v≤16;i代表图像块的索引, i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0106] 步骤3,下采样图像块的编码和解码
[0107] 对步骤2得到的图像块B'i使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0108]
[0109] 这里, 是 中的元素,u1代表 内元素的横坐标,v1代表 内元素的纵坐标,u1和 v1是自然数,1≤u1≤8,1≤v1≤8;
[0110] 接着,对图像块B'i使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0111] 最后,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0112] 即
[0113] 这里, 是 中的元素,u2代表 内元素的横坐标,v2代表 内元素的纵坐标,u2和v2 是自然数,1≤u2≤8,1≤v2≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0114] 步骤4,编码图像块的上采样
[0115] 首先,定义大小为16×16的上采样图像块为B″i;这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0116] 接着,用 的第1列中的8个元素按照从上到下的顺序生成B″i第1列中奇数行上的8个元素;用 的第2列中的8个元素按照从上到下的顺序生成B″i第3列中奇数行上的8个元素;用 的第3列中的8个元素按照从上到下的顺序生成B″i第5列中奇数行上的8个元素;用的第4列中的8个元素按照从上到下的顺序生成B″i第7列中奇数行上的8个元素;用 的第 5列中的8个元素按照从上到下的顺序生成B″i第9列中奇数行上的8个元素;用 的第6列中的8个元素按照从上到下的顺序生成B″i第11列中奇数行上的8个元素;用 的第7列中的8个元素按照从上到下的顺序生成B″i第13列中奇数行上的8个元素;用 的第8列中的8 个元素按照从上到下的顺序生成B″i第15列中奇数行上的8个元素;
[0117] 然后,用传统的双三次插值方法对B″i中位于(u,v)位置上的像素点进行插值,得到插值后的像素矩阵,记为
[0118]
[0119] 这里,u代表B″i内像素点的横坐标,v代表B″i内像素点的纵坐标,u和v是自然数,并且u和 v不同时为奇数,1≤u≤16,1≤v≤16; 是 中的元素,u3代表 内元素的横坐标,v3代表 内元素的纵坐标,u3和v3是自然数,1≤u3≤16,1≤v3≤16;i代表图像块的索引,i ∈{1,2,...,N},N代表步骤1中图像划分后图像块的总个数;
[0120] 步骤5,计算解码像素矩阵的均方误差
[0121] 用传统的计算均方误差的方法计算步骤4中得到的像素矩阵 与步骤1中产生的图像块 Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0122] 步骤6,用传统的编码方法编码原始图像块
[0123] 首先,将步骤1中所产生的大小为16×16的图像块Bi,按照传统的JPEG图像压缩标准中图像分块的方法分为4个互不重叠,大小为8×8的图像块,记为
[0124] 其中,
[0125]
[0126] 这里, 是 中的元素,m1代表 内元素的横坐标,n1代表 内元素的纵坐标,m1和 n1是自然数,1≤m1≤8,1≤n1≤8; 是 中的元素,m2代表 内元素的横坐标,n2 代表 内元素的纵坐标,m2和n2是自然数,1≤m2≤8,1≤n2≤8; 是 中的元素, m3代表 内元素的横坐标,n3代表 内元素的纵坐标,m3和n3是自然数,1≤m3≤8,1≤ n3≤8;是 中的元素,m4代表 内元素的横坐标,n4代表 内元素的纵坐标,m4 和n4是自然数,1≤m4≤8,1≤n4≤8;i代表图像块的索引,i∈{1,2,…,N},N代表步骤 1中图像划分后图像块的总个数;
[0127] 其次,对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0128]
[0129] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标,和 是自然数,
[0130] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0131] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0132]
[0133] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0134] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0135] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0136]
[0137] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0138] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0139] 对图像块 使用传统的JPEG图像压缩标准中的编码方法进行编码,得到编码后的图像块,记为
[0140]
[0141] 这里, 是 中的元素, 代表 内元素的横坐标, 代表 内元素的纵坐标, 和 是自然数,
[0142] 对图像块 使用传统的JPEG图像压缩标准中计算编码比特数的方法计算编码比特数,记为
[0143] 将 相加 得到图 像块 Bi的 编码比 特数 ,记 为这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1
中图像划分后图像块的总个数;
[0144] 接着,对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0145]
[0146] 这里, 是 中的元素,p1代表 内元素的横坐标,q1代表 内元素的纵坐标,p1和q1 是自然数,1≤p1≤8,1≤q1≤8;
[0147] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0148]
[0149] 这里, 是 中的元素,p2代表 内元素的横坐标,q2代表 内元素的纵坐标,p2和 q2是自然数,1≤p2≤8,1≤q2≤8;
[0150] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0151]
[0152] 这里, 是 中的元素,p3代表 内元素的横坐标,q3代表 内元素的纵坐标,p3和q3 是自然数,1≤p3≤8,1≤q3≤8;
[0153] 对图像块 使用传统的JPEG图像压缩标准中的解码方法进行解码,得到解码后的图像块,记为
[0154]
[0155] 这里, 是 中的元素,p4代表 内元素的横坐标,q4代表 内元素的纵坐标,p4和 q4是自然数,1≤p4≤8,1≤q4≤8;
[0156] 其中,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0157] 然后,将图像块 按照从上到下,从左到右的顺序,组成一个大小为16×16的图像块,记为b"i,
[0158] 这里,
[0159] 这里,α″u4,v4是b"i中的元素,u4代表b"i内元素的横坐标,v4代表b"i内元素的纵坐标, u4和v4是自然数,1≤u4≤16,1≤v4≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0160] 最后,用传统的计算均方误差的方法计算图像块b"i与步骤1中产生的图像块Bi之间的均方误差,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0161] 步骤7,最优编码和解码模式的选择
[0162] 首先,对步骤1产生的图像块Bi,用步骤3得到的比特数 和步骤5得到均方误差相乘,将相乘的结果记为 用步骤6得到的比特数和均方误差 相乘,将相乘的结果记为 比较 和
的大小,如果 那么选择步骤2~步骤4的编码和解码方法对步骤1中产
生的图像块Bi进行编码和解码;如果 那么选择步骤6的编码和解码方法对步
骤1中产生的图像块Bi进行编码和解码;将解码后得到图像块,记为bi,
[0163] 即
[0164] 这里,αu5,v5是bi中的元素,u5代表bi内元素的横坐标,v5代表bi内元素的纵坐标,u5和v5 是自然数,1≤u5≤16,1≤v5≤16;i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数;
[0165] 然后,将对图像块Bi进行编码后得到的编码比特数记为Biti,如果如果 这里,i代表图像块的索引,i∈{1,2,…, 
N},N代表步骤1中图像划分后图像块的总个数;
[0166] 步骤8,重建图像
[0167] 对于步骤7中产生的重建图像块bi,采用传统的JPEG图像压缩标准中图像块合成图像的方法,产生重建图像,记为 这里,i代表图像块的索引,i∈{1,2,…,N},N代表步骤1中图像划分后图像块的总个数。
[0168] 将实施例应用于Lena和Barbara两幅分辨率为512×512的经典图例中,附图2是在不同的编码码率下,对不同图像应用不同的图像压缩方法进行编码和解码后得到的峰值信噪比(peak signal to noise ratio,PSNR)。很明显,本发明中的方法较现有方法有明显的性能提升。