编码和解码装置、编码和解码方法转让专利

申请号 : CN200780043581.5

文献号 : CN101543036B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高田巡

申请人 : 日本电气株式会社

摘要 :

一种编码装置,其特征在于,包括:初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,高析像度编码单元包括:像素值预测单元,对在现析像度中应编码的像素中、位于用前析像度完成编码的附近四个像素的中心的像素,根据所述附近四个像素通过线性插值来预测值,对于剩下的像素根据以该像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值;预测误差计算单元,求出编码对象像素和预测值的残差;以及可变长度编码单元,对残差进行编码。

权利要求 :

1.一种编码装置,其特征在于,包括:

初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:

第一附近像素提取单元,提取用前析像度完成编码的左上、右上、左下、右下的附近四个像素;

第一像素提取单元,提取位于用前析像度完成编码的所述左上、右上、左下、右下的附近四个像素的中心的像素作为第一像素;

第二像素提取单元,提取位于所述第一像素左侧的未编码的像素作为第二像素;

第二附近像素提取单元,提取位于所述第二像素的上下左右的完成编码的附近四个像素;

第三像素提取单元,提取位于所述第一像素的上侧的未编码的像素作为第三像素;

第三附近像素提取单元,提取位于所述第三像素的上下左右的完成编码的附近四个像素;

像素值预测单元,在现析像度应编码的像素中,所述第一像素根据通过所述第一附近像素提取单元提取出的用前析像度完成编码的所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,所述第二像素或所述第三像素在所述第一像素编码后,根据通过所述第二附近像素提取单元或所述第三附近像素提取单元提取出的所述上下左右的完成编码的附近四个像素通过线性插值来预测值;

预测误差计算单元,求出编码对象像素和预测值的残差;以及

可变长度编码单元,对残差进行编码。

2.如权利要求1所述的编码装置,其特征在于,所述高析像度编码单元将构成现析像度的像素中的、除用前析像度完成编码的空间坐标的像素之外的像素设为对象进行编码。

3.如权利要求1所述的编码装置,其特征在于,

所述高析像度编码单元在所述第二像素编码后进行所述第三像素的编码。

4.如权利要求1所述的编码装置,其特征在于,

所述高析像度编码单元与所述第一像素的编码处理并行地进行所述第二像素以及所述第三像素的编码处理。

5.如权利要求1至4中任一项所述的编码装置,其特征在于,所述高析像度编码单元包括上下文计算单元,所述上下文计算单元对所述左上、右上、左下、右下的附近四个像素和所述上下左右的完成编码的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述可变长度编码单元根据所述编码上下文来改变编码参数。

6.如权利要求5所述的编码装置,其特征在于,

所述上下文计算单元在所述附近四个像素存在于位于其中心的预测对象像素的左上、左下、右上、右下的情况下、以及存在于位于其中心的预测对象像素的上下左右的情况下,将所述附近四个像素的编码上下文分别作为不同的上下文来进行管理。

7.一种解码装置,其特征在于,包括:

初始析像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:

第一附近像素提取单元,提取用前析像度完成解码的左上、右上、左下、右下的附近四个像素;

像素值预测单元,对在现析像度应解码的像素中、位于用前析像度完成解码的所述左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素,等待以该剩下的像素为中心而位于其上下左右的附近全部四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值;

预测误差解码单元,根据输入码对解码对象像素和预测值的残差进行解码;

像素值计算单元,在被预测的像素值上加上被解码的残差,来计算出目标像素值;

第一像素输出单元,对于位于通过所述第一附近像素提取单元提取出的所述左上、右上、左下、右下的附近四个像素的中心的第一像素,输出由所述像素值计算单元计算出的像素值;

第二附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素左侧的未解码的第二像素的上下左右的完成解码的附近四个像素;

第二像素输出单元,对于位于通过该第二附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第二像素,输出由所述像素值计算单元计算出的像素值;

第三附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素上侧的未解码的第三像素的上下左右的完成解码的附近四个像素;以及第三像素输出单元,对于位于通过该第三附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第三像素,输出由所述像素值计算单元计算出的像素值。

8.如权利要求7所述的解码装置,其特征在于,所述高析像度解码单元将构成现析像度的像素中的、除用前析像度完成解码的空间坐标的像素之外的像素设为对象进行解码。

9.如权利要求7所述的解码装置,其特征在于,

所述高析像度解码单元在所述第二像素解码后进行所述第三像素的解码。

10.如权利要求7至9中任一项所述的解码装置,其特征在于,所述高析像度解码单元包括上下文计算单元,所述上下文计算单元对于所述左上、右上、左下、右下的附近四个像素和所述上下左右的完成解码的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述预测误差解码单元根据所述编码上下文来改变解码参数。

11.如权利要求7所述的解码装置,其特征在于,

所述上下文计算单元在所述附近四个像素存在于位于其中心的预测对象像素的左上、左下、右上、右下的情况下、以及存在于位于其中心的预测对象像素的上下左右的情况下,将所述附近四个像素的编码上下文分别作为不同的上下文来进行管理。

12.一种编码方法,所述编码方法使用计算机对图像进行编码,其特征在于,包括:第一步骤,所述计算机对从图像每隔固定像素进行了二次采样的初始析像度图像进行编码;以及第二步骤,所述计算机对将二次采样间隔依次设为一半的图像进行编码,所述第二步骤包含以下处理:对在现析像度应编码的像素中、位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的第一像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对位于所述第一像素左侧的未编码的第二像素和位于所述第一像素的上侧的未编码的第三像素,在所述第一像素编码后,根据以所述第二像素和所述第三像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值,分别求出编码对象像素和预测值的残差,对该残差进行可变长度编码。

13.一种解码方法,所述解码方法根据输入码使用计算机对图像进行解码,其特征在于,包括:第一步骤,所述计算机根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及第二步骤,所述计算机对将二次采样间隔依次设为一半的图像进行解码,所述第二步骤包含以下处理:对在现析像度应解码的像素中、位于用前析像度完成解码的左上、右上、左下、右下的附近四个像素的中心位置的第一像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对位于所述第一像素左侧的未解码的第二像素和位于所述第一像素的上侧的未编码的第三像素,在所述第一像素解码后,等待以所述第二像素和所述第三像素为中心而位于其上下左右的全部附近四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值,分别根据输入码对解码对象像素和预测值的残差进行解码,且在被预测的像素值上加上被解码的残差,来计算出目标像素值。

14.一种编码装置,其特征在于,包括:

初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:

第一像素提取单元,提取位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的像素作为第一像素;

第二像素提取单元,提取位于所述第一像素左侧的未编码的像素作为第二像素;以及第三像素提取单元,提取位于所述第一像素的上侧的未编码的像素作为第三像素,所述高析像度编码单元在一个所述第一像素编码后进行一个所述第二像素以及一个所述第三像素的编码。

15.一种编码装置,其特征在于,包括:

初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:

像素值预测单元,对在现析像度应编码的像素中、位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素根据以该剩下的像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值;

预测误差计算单元,求出编码对象像素和预测值的残差;

可变长度编码单元,对残差进行编码;以及

上下文计算单元,对所述左上、右上、左下、右下的附近四个像素和所述上下左右的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述可变长度编码单元根据所述编码上下文来改变编码参数。

16.一种解码装置,其特征在于,包括:

初始析像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:

第一附近像素提取单元,提取用前析像度完成解码的左上、右上、左下、右下的附近四个像素;

第一像素输出单元,对于位于通过该第一附近像素提取单元提取出的所述左上、右上、左下、右下的附近四个像素的中心的第一像素,输出由所述像素值计算单元计算出的像素值;

第二附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素左侧的未解码的第二像素的上下左右的完成解码的附近四个像素;

第二像素输出单元,对于位于通过该第二附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第二像素,输出由所述像素值计算单元计算出的像素值;

第三附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素上侧的未解码的第三像素的上下左右的完成解码的附近四个像素;以及第三像素输出单元,对于位于通过该第三附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第三像素,输出由所述像素值计算单元计算出的像素值。

17.一种解码装置,其特征在于,包括:

初始析像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:

像素值预测单元,对在现析像度应解码的像素中、位于用前析像度完成解码的左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素,等待以该剩下的像素为中心而位于其上下左右的附近全部四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值;

预测误差解码单元,根据输入码对解码对象像素和预测值的残差进行解码;以及像素值计算单元,在被预测的像素值上加上被解码的残差,来计算出目标像素值,所述高析像度解码单元包括上下文计算单元,所述上下文计算单元对于所述左上、右上、左下、右下的附近四个像素和所述上下左右的完成编码的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述预测误差解码单元根据所述编码上下文来改变解码参数。

说明书 :

编码和解码装置、编码和解码方法

技术领域

[0001] 本发明涉及二维信号的编码以及解码装置,特别涉及使用预测残差的多值二维信号的编码以及解码装置。

背景技术

[0002] 以往,在将以图像信号为代表的二维信号存储在记录介质中的情况下或通过网络进行传输的情况下,此种预测编码方式被使用在数据压缩上,所述数据压缩用于有效地利用记录介质或传输路径。
[0003] 作为以往的预测编码的一般方式,存在根据已经完成编码的邻接像素(上/左/左上等)预测关注像素的值并对残差进行编码的方式(例如参考专利文献1)。图10表示一般的预测方式的例子。行列预测是根据左侧和上侧的像素A、C来预测关注像素X的值,平均预测是根据左侧和右上侧的像素A、D来预测关注像素X的值,平面预测是根据左侧、左上侧、以及上侧的像素A、B、C来预测关注像素的值。这些方式中的任一个预测值的计算式都是简单的,仅是那种情况的话,处理速度也是很快速的。对于采用这种方式的预测编码,代表的有JPEG-LS。
[0004] 作为以往的预测编码的其他方式有如下方式:首先对从源图像每隔固定像素进行了二次采样(sub-sampling)的低析像度图像进行编码,接着根据已编码像素通过插值来预测剩下的未编码像素的值,并对其残差进行编码(例如参考非专利文献1、专利文献2、3)。作为这种方式的优点而列举了能够实现析像度改进(progressive)功能。由此,即使是巨大的图像也能够仅提取出低析像度分量而进行解码显示,并可缩短用户认识的等待时间。
[0005] 在具有析像度改进功能的预测编码中,根据已编码的像素来预测未编码的像素的方式中有仅使用前析像度的像素来进行预测的方式(例如参考 非专利文献1、专利文献3等)、以及并用前析像度和现析像度的像素的方式(例如参考专利文献2的0004段)。 [0006] 另外,作为适于预测残差编码的可变长度码公知有霍夫曼码、Golomb-Rice码等。特别的Golomb-Rice码是将信号值作为“一元码”+“k比特固定长度码(k为有效位数的推定值)”而输出,由于为越接近0的值码长越短,因此作为预测残差的简易编码被公知。
另外,Golomb-Rice编码在应编码的信号值的有效位与k值一致的情况下,由于码长最短,因此设计出根据此前出现的残差的值和前后关系来预测最优的k值的适应型Golomb-Rice码。例如在专利文献4记载的适应型Golomb-Rice编码方式是根据预测残差d的统计来预测最优的K值。具体地说,累计此前出现的预测残差d的绝对值,根据其总和a以及累积次数n来估计平均的有效位数k。
[0007] 非专利文献1:“Fast Progressive Lossless Image Compression”,Proceedings of the 1994 IST/SPIE,1994/02;
[0008] 专利文献1:美国专利文献第5680129号说明书;
[0009] 专利文献2:专利文献第2501598号;
[0010] 专利文献3:日本专利文献特开2005-198014号公报;
[0011] 专利文献4:美国专利文献第5764374号说明书。

发明内容

[0012] 预测编码方式利用在空间上接近的像素的相关性高来根据已经完成编码的接近像素预测关注像素的值,并对预测值和实际的像素值的差进行编码。由此,预测精度越高,差越收敛在小的值的范围,从而能够通过可变长度码有效地进行压缩。但是,在具有以往的析像度改进功能的预测编码方式中,存在由于难以提高预测精度因此难以提高压缩率的问题。其理由如下所述。
[0013] 首先,在根据已编码像素预测未编码像素的值时,在仅使用前析像度的像素的以往方式的情况下,由于产生必须利用从想要编码的关注像素分离的已编码像素的情况,因此插值精度降低的像素产生较多。例如,对如 图11所示的图像,每两个像素以一个像素的比例在纵横方向上间拔,在将○标记的像素编码为低析像度图像,并根据○标记的像素通过插值对剩下的·标记的像素进行预测的情况下,邻接的已编码的像素仅存在上下侧向的像素Y的插值精度比在左上、左下、右上、右下侧向已编码像素邻接的像素X的插值精度低。这是由于像素X通过根据附近四个像素的二维的内插能够高精度地进行预测,与此相对,像素Y基于上下两个像素的一维的内插进行预测。当然,如专利文献2的图7所示,也能使用周围的四个已编码像素的值通过矩阵运算来以二维内插的方式预测像素Y的值,但Y不位于四个像素的中心,因此预测式变得复杂,相比来说精度不如像素X那样高。 [0014] 接着,在根据已编码像素预测未编码像素时,在并用前析像度和现析像度的像素的以往方式的情况下,如图12所示,由于像素Y除上下两个低析像度的已编码的像素之外,还能使用左、左上、以及右上的已编码像素,因此与仅使用前析像度的像素方式相比预测精度提高。但是,由于Y的右侧的像素是未编码像素,因此在为了进一步提高精度而使用内插的情况下,需要复杂的计算式,相比来说精度没有提高。
[0015] 本发明的目的在于,在具有析像度改进功能的预测编码中,根据已编码像素通过简单的计算能够高精度地预测未编码像素的值,由此能够实现提高压缩率和缩短计算时间。
[0016] 实现上述目的的本发明是一种编码装置,其特征在于,包括:初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:第一附近像素提取单元,提取用前析像度完成编码的左上、右上、左下、右下的附近四个像素;第一像素提取单元,提取位于用前析像度完成编码的所述左上、右上、左下、右下的附近四个像素的中心的像素作为第一像素;第二像素提取单元,提取位于所述第一像素左侧的未编码的像素作为第二像素;第二附近像素提取单元,提取位于所述第二像素的上下左右的完成编码的附近四个像素;第三像素提取单元,提取位于所述第一像素的上侧的未编码的像素作为第三 像素;第三附近像素提取单元,提取位于所述第三像素的上下左右的完成编码的附近四个像素;像素值预测单元,在现析像度应编码的像素中,所述第一像素根据通过所述第一附近像素提取单元提取出的用前析像度完成编码的所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,所述第二像素或所述第三像素在所述第一像素编码后,根据通过所述第二附近像素提取单元或所述第三附近像素提取单元提取出的所述上下左右的完成编码的附近四个像素通过线性插值来预测值;预测误差计算单元,求出编码对象像素和预测值的残差;以及可变长度编码单元,对残差进行编码。
[0017] 实现上述目的的本发明是一种解码装置,其特征在于,包括:初始析像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:第一附近像素提取单元,提取用前析像度完成解码的左上、右上、左下、右下的附近四个像素;像素值预测单元,对在现析像度应解码的像素中、位于用前析像度完成解码的所述左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素,等待以该剩下的像素为中心而位于其上下左右的附近全部四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值;预测误差解码单元,根据输入码对解码对象像素和预测值的残差进行解码;像素值计算单元,在被预测的像素值上加上被解码的残差,来计算出目标像素值;第一像素输出单元,对于位于通过所述第一附近像素提取单元提取出的所述左上、右上、左下、右下的附近四个像素的中心的第一像素,输出由所述像素值计算单元计算出的像素值;第二附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素左侧的未解码的第二像素的上下左右的完成解码的附近四个像素;第二像素输出单元,对于位于通过该第二附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第二像素,输出由所述像素值计算单元计算出的像素值;第三附近像素提取单元,在所述第一像 素解码后,提取位于所述第一像素上侧的未解码的第三像素的上下左右的完成解码的附近四个像素;以及第三像素输出单元,对于位于通过该第三附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第三像素,输出由所述像素值计算单元计算出的像素值。
[0018] 实现上述目的的本发明是一种编码方法,所述编码方法使用计算机对图像进行编码,其特征在于,包括:第一步骤,所述计算机对从图像每隔固定像素进行了二次采样的初始析像度图像进行编码;以及第二步骤,所述计算机对将二次采样间隔依次设为一半的图像进行编码,所述第二步骤包含以下处理:对在现析像度应编码的像素中、位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对位于所述第一像素左侧的未编码的第二像素和位于所述第一像素的上侧的未编码的第三像素,在所述第一像素编码后,根据以所述第二像素和所述第三像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值,,分别求出编码对象像素和预测值的残差,对该残差进行可变长度编码。 [0019] 实现上述目的的本发明是一种解码方法,所述解码方法根据输入码使用计算机对图像进行解码,其特征在于,包括:第一步骤,所述计算机根据输入码对从图像每隔固定像素进行二次采样的初始析像度图像进行解码;以及第二步骤,所述计算机对将二次采样间隔依次设为一半的图像进行解码,所述第二步骤包含以下处理:对在现析像度应解码的像素中、位于用前析像度完成解码的左上、右上、左下、右下的附近四个像素的中心位置的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对位于所述第一像素左侧的未解码的第二像素和位于所述第一像素的上侧的未编码的第三像素,在所述第一像素解码后,等待以所述第二像素和所述第三像素为中心而位于其上下左右的全部附近四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值,分别根据输入码对解码对象像素和预测值的残差进行解码,且在所述被预测的像素值上加上所述被解码的残差,来计算出目标像素值。
[0020] 实现上述目的的本发明是一种编码程序,其特征在于,用于使在计算机执行以下处理:第一处理,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;第二处理,是对将二次采样间隔依次设为一半的图像进行编码的处理,在各析像度的编码处理中,对在现析像度应编码的像素中的、位于用前析像度完成编码的附近四个像素的中心位置的像素,根据所述附近四个像素通过线性插值来预测值,对于剩下的像素根据以该像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值,分别求出编码对象像素和预测值的残差,并对该残差进行可变长度编码。
[0021] 实现上述目的的本发明是一种解码程序,其特征在于,用于使计算机执行以下处理:第一处理,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及第二处理,是对将二次采样间隔依次设为一半的图像进行解码的方法,在各析像度的解码处理中,对在现析像度应解码的像素中、位于用前析像度完成解码的附近四个像素的中心的像素,根据所述附近四个像素通过线性插值来预测值,对于剩下的像素,等待以该像素为中心而位于其上下左右的全部附近四个像素用前析像度和现析像度完成解码,之后根据该附近四个像素通过线性插值来预测值,分别根据输入码对解码对象像素和预测值的残差进行解码,在所述被预测的像素值上加上所述被解码的残差来计算目标像素值。 [0022] 实现上述目的的本发明是一种编码装置,其特征在于,包括:初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:第一像素提取单元,提取位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的像素作为第一像素;第二像素提取单元,提取位于所述第一像素左侧的未编码的像素作为第二像素;以及第三像素提取单元,提取位于所述第一像素的上侧的未编码的像素作为第三像素,所述高析像度编码单元在一个所述第一像素编码后进行一个所述第二像素以及一个所述第三像素的编码。
[0023] 实现上述目的的本发明是一种编码装置,其特征在于,包括:初始析像度编码单元,对从图像每隔预定像素进行了二次采样的初始析像度图像 进行编码;以及高析像度编码单元,对将二次采样间隔依次设为一半的图像进行编码,所述高析像度编码单元包括:像素值预测单元,对在现析像度应编码的像素中、位于用前析像度完成编码的左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素根据以该剩下的像素为中心而位于其上下左右的附近四个像素通过线性插值来预测值;预测误差计算单元,求出编码对象像素和预测值的残差;可变长度编码单元,对残差进行编码;以及上下文计算单元,对所述左上、右上、左下、右下的附近四个像素和所述上下左右的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述可变长度编码单元根据所述编码上下文来改变编码参数。
[0024] 实现上述目的的本发明是一种解码装置,其特征在于,包括:初始析像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:第一附近像素提取单元,提取用前析像度完成解码的左上、右上、左下、右下的附近四个像素;第一像素输出单元,对于位于通过该第一附近像素提取单元提取出的所述左上、右上、左下、右下的附近四个像素的中心的第一像素,输出由所述像素值计算单元计算出的像素值;第二附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素左侧的未解码的第二像素的上下左右的完成解码的附近四个像素;第二像素输出单元,对于位于通过该第二附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第二像素,输出由所述像素值计算单元计算出的像素值;第三附近像素提取单元,在所述第一像素解码后,提取位于所述第一像素上侧的未解码的第三像素的上下左右的完成解码的附近四个像素;以及第三像素输出单元,对于位于通过该第三附近像素提取单元提取出的所述上下左右的完成解码的附近四个像素的中心的第三像素,输出由所述像素值计算单元计算出的像素值。
[0025] 实现上述目的的本发明是一种解码装置,其特征在于,包括:初始析 像度解码单元,根据输入码对从图像每隔固定像素进行了二次采样的初始析像度图像进行解码;以及高析像度解码单元,对将二次采样间隔依次设为一半的图像进行解码,所述高析像度解码单元包括:像素值预测单元,对在现析像度应解码的像素中、位于用前析像度完成解码的左上、右上、左下、右下的附近四个像素的中心的像素,根据所述左上、右上、左下、右下的附近四个像素通过线性插值来预测值,对于剩下的像素,等待以该剩下的像素为中心而位于其上下左右的附近全部四个像素用前析像度和现析像度完成解码,之后根据该上下左右的附近四个像素通过线性插值来预测值;预测误差解码单元,根据输入码对解码对象像素和预测值的残差进行解码;以及像素值计算单元,在被预测的像素值上加上被解码的残差,来计算出目标像素值,所述高析像度解码单元包括上下文计算单元,所述上下文计算单元对于所述左上、右上、左下、右下的附近四个像素和所述上下左右的完成编码的附近四个像素分别求出相邻像素之间的差的绝对值,并分别对所述绝对值的总和进行量化处理并求出编码上下文,所述预测误差解码单元根据所述编码上下文来改变解码参数。
[0026] 根据本发明,能够在具有析像度改进功能的预测编码中,根据已编码像素通过简单的计算而高精度地预测未编码像素的值。
[0027] 其理由是,将在现析像度中应该编码的像素分为位于用前析像度完成编码的附近四个像素的中心的第一像素和除此之外的第二像素、第三像素,对于第一像素,根据左上、左下、右上、右下的合计四个已编码像素通过线性插值来预测值并进行编码,对于第二像素和第三像素,根据其上下左右的附近四个像素通过线性插值来预测值并进行编码,因此任一个像素都通过基于附近四个像素的线性内插而能够简单并且高精度地预测值。 [0028] 这样,由于能够根据已编码像素高精度地预测未编码像素的值,因此预测值和实际的像素值的差收敛在较小的值的范围,并且通过可变长度编码能够高效地进行压缩。 附图说明
[0029] 图1是用于说明本发明编码装置的作用的图;
[0030] 图2是本发明编码装置的一个实施方式的框图;
[0031] 图3是表示本发明编码装置的一个实施方式的处理流程的流程图; [0032] 图4是本发明解码装置的一个实施方式的框图;
[0033] 图5是表示本发明解码装置的一个实施方式的处理流程的流程图;
[0034] 图6是本发明编码装置和解码装置在初始析像度的编码动作和解码动作的说明图;
[0035] 图7是本发明编码装置和解码装置在高析像度的编码动作和解码动作的说明图; [0036] 图8是在编码过程中进行的像素值的预测以及编码上下文值的计算、差分的编码的说明图;
[0037] 图9是在解码过程中进行的像素值的预测以及编码上下文值的计算、差分的编码的说明图;
[0038] 图10是根据已编码像素预测未编码像素的值的一般预测方式的说明图; [0039] 图11是在根据已编码像素预测未编码像素的值时,仅使用前析像度的像素的以往方式的说明图;
[0040] 图12是在根据已编码像素预测未编码像素的值时,并用前析像度以及现析像度的像素的以往方式的说明图。
[0041] 标号说明
[0042] 11…图像输入装置
[0043] 12、22…数据存储装置
[0044] 13、23…数据处理装置
[0045] 14…码输出装置
[0046] 21…码输入装置
[0047] 24…图像输出装置

具体实施方式

[0048] 为了容易理解而例举简单的例子对本发明的特征进行说明。当前,如图1的(a)所示,考虑在针对图像每两个像素以一个像素的比例在纵横方 向上进行间拔,将○标记的像素进行编码作为低析像度图像后,对剩下的·标记的像素进行编码。在本发明中,将在现析像度应编码的像素分为位于用前析像度完成编码的附近四个像素的中心位置的像素、以及除此以外的像素,关于前者的像素,根据左上、左下、右上、右下的合计四个已编码像素○通过线性插值来进行预测该值,并对该预测值和实际的像素值的残差进行可变长度编码。图1的(b)示出的像素X是这样编码的前者的像素。
[0049] 如图1的(b)所示,当除○标记的像素之外像素X被编码时,剩下的没有被编码的·标记的像素成为上下左右都被已编码的像素包围。即,在图1的(a)的状态中,已编码的像素仅存在于上下位置的像素如图1的(c)的像素Y所示,通过在左右产生的像素X使上下左右都被已编码的像素包围。另外,在图1的(a)的状态中,已编码像素仅存在于左右位置的像素如图1的(c)的像素Z所示,通过上下侧产生的像素X使上下左右都被已编码的像素包围。因此,对这些像素Y以及像素Z的值以位于其上下左右的前析像度以及现析像度根据完成编码的附近四个像素通过线性插值来进行预测,并对该预测值和实际的像素值的残差进行可变长度编码。
[0050] 另外,在图1的(c)示出的图像的存在于上下左右端的未编码的像素·,因为存在于图像端,所以利用已编码的像素包围周围根本是不可能的。这种情况下通过适当的方法进行插值即可。例如根据使用在图像边界处于翻折位置的像素来进行插值的方法,存在于图像的左右端的未编码的像素·如图1的(d)所示与像素Y进行同样处理,存在于图像的上下端的未编码的像素·如图1的(d)所示与像素Z进行同样处理。
[0051] 为了根据图1的(a)的状态变为图1的(d)的状态,可以采用以下侧法:首先对于图像中的所有像素X进行编码,接着对剩下的像素Y、Z的进行编码,但由于需要对像素进行多次扫描,在利用内置高速缓存(cache)的计算机进行编码处理的情况下,存在不能使参照的局部性增大、从而由于高速缓存率降低而使处理速度下降的可能性。因此,如图1的(e)所示,优选在扫描方向上(从图像的左端向右端)依次重复进行 以下处理的方法:在将一个像素X进行编码后对一个像素Y和一个像素Z的进行编码的处理。
[0052] 另外,关于此时的像素Y和像素Z的处理顺序优选首先对像素Y进行编码,接着对像素Z进行编码。原因在于,当在像素Z的后面对像素Y的进行编码时,编码顺序成为X→Z→Y→X,如图1的(f)所示对像素Y进行处理后,必须移动到距离间隔大的像素X,与此相对,当在像素Y的后面对像素Z进行编码时,编码顺序成为X→Y→Z→X,而Z→X的距离比Y→X的距离短。如果通过高速缓存的关系来具体地进行说明,例如在关注图1的(f)的“●”标记的像素时,编码顺序为X→Z→Y→X的情况下,由于在Y的编码时不能被使用,与紧接着的X的编码时存在于高速缓存中的可能性变低,与此相对,在编码顺序为X→Y→Z→X的情况下,由于在Z处被参考,因此在紧接着的X的编码时存在于高速缓存中的可能性变高。
[0053] 可变长度编码单元可以是任意的,但如果根据编码上下文(Context)而使用具有改变编码参数功能的可变长度编码、例如使用自适应Golomb-Rice编码,则能够针对像素值的空间的局部性优化编码参数,并能够进一步提高压缩率。该情况下,编码上下文能够通过求出用于预测的四个像素的、相邻的像素之间的差的绝对值并对其总和进行量化的简单方法来计算出。其原因是:由于用于预测的四个像素是以关注像素(想要预测像素值的像素)作为中心配置为点对称,因此四个像素中的任一像素都与上下文有关而不需要在主次上进行区别。
[0054] 另外,由于像素X根据左上、左下、右上、右下的四个像素进行预测、像素Y和像素Z根据上下左右的四个像素进行预测,因此优选针对附近四个像素的编码上下文,通过位于中心的预测对象像素的存在于左上、左下、右上、右下的附近四个像素和存在于上、下、左、右的附近四个像素而分别作为不同的上下文来进行管理。并且,从该上下文的管理方面来看,对于像素Y和像素Z的处理顺序,与Z→Y相比而优选Y→Z。其理由是:上下文统计值的追随性在以Y→Z→Y→Z…的顺序更新上下文的情况下比在以Z→Y→Z→Y…的顺序更新上下文的情况下好。具体而言,在 以Z→Y→Z→Y…的顺序处理的情况下,在对Y进行编码时由于通过距离一个像素的右侧且距离一个像素的上侧的Z进行之面的上下文更新,因此没有问题,但是,在对Z进行编码时通过距离三个像素的左侧且距离一个像素的下侧的Y进行之面的上下文更新。与此相对,在以Y→Z→Y→Z…的顺序进行处理时,在对Y进行编码时,通过距离一个像素的右侧且距离个像素的上侧的Z进行之前的上下文更新,另外,在对Z进行编码时,通过距离一个像素的左侧且距离一个像素的下侧的Y仅向前面的上下文更新。后者由于能够反映来自空间上的更接近的像素的统计值,因此针对图像的空间上的局部性的统计值的追随性变好。由此,能够更高精度地估计最优的编码参数,从而提高压缩率。
[0055] 在以上的说明中,例举了对一个像素X进行编码后对一个像素Y和一个像素Z进行编码,但是为了使编码高速化,也能够与像素X的编码并行地进行像素Y和像素Z的编码处理。
[0056] 被编码的图像的解码以与编码相反的顺序进行。
[0057] [编码装置的实施方式]
[0058] 参照图2,本发明的编码装置的一个实施方式包括图像输入装置11、数据存储装置12、通过程序控制而进行动作的数据处理装置13、以及码输出装置14。 [0059] 图像输入装置11是将作为编码的对象的图像输入到数据存储装置12中的装置,例如由相机或扫描器等的摄像装置、从外部接收图像数据的通信装置、或者磁盘等外部存储装置等构成。图像的形式是任意的,但是下面为了便于说明,设为以N×M(N、M是2的取幂)像素的比特映射形式来表现,并且各个像素值设为以多比特的灰色标度(grayscale)表示,来进行说明。
[0060] 数据存储装置12包括计算机的主存储装置和辅助存储装置,存储作为编码的对象的图像以及在该编码处理的过程生成的各种数据。在本实施方式的情况下,数据存储装置12具有存储从图像输入装置11输入的图像的图像存储器121、存储当前为编码的对象的像素的值的编码对象像素存储器122、存储处于编码对象像素附近的四个像素的值的附近像素存储器 123、存储根据附近四个像素而预测的编码对象像素的值的预测像素值存储器124、以及存储编码对象像素的预测值和实际的值的差的预测误差存储器125。 [0061] 另外,本实施方式由于作为可变长度码而使用自适应Golomb-Rice码,因此在数据存储装置12中还设置有上下文存储器126、第一上下文表127、以及第二上下文表128。
上下文存储器126存储根据附近四个像素而求出的编码上下文,第一上下文表127和第二上下文表128被用于为了计算出最优的Golomb参数(有效位数的估计值k)而存储编码上下文的统计信息。这里,上下文表存在第一上下文表和第二上下文表两个表的理由是:
针对附近四个像素的编码上下文,在附近四个像素存在于位于其中心的预测对象像素的左上、左下、右上、右下的位置情况下、以及存在于上下左右的位置情况下,分别作为不同的上下文来进行管理。
[0062] 数据处理装置13由计算机等CPU构成,执行对从图像输入装置11输入的图像进行编码并输出到编码输出装置14的处理。在本实施方式的情况下,数据处理装置13具有初始析像度编码单元131、第一像素提取单元1321、第一附近像素提取单元1331、第二像素提取单元1322、第二附近像素提取单元1332、第三像素提取单元1323、第三附近像素提取单元1333、像素值预测单元134、预测误差计算单元135、上下文计算单元136、以及可变长度编码单元137。这其中,除初始析像度编码单元131以外的单元构成高析像度编码单元。 [0063] 初始析像度编码单元131从图像存储器121依次读入像素数据并进行编码。具体而言,针对图像存储器121上的图像提取出每n(2的取幂)个像素以一个像素的比例在纵横方向上进行二次采样后(间拔后)的图像进行可变长度编码,并输出给码输出装置14。在该初始析像度编码时,各像素根据在此之前被编码的附近的像素预测像素值,并对该预测值和实际的像素值的差进行编码。作为预测方法而能够使用在如以往PNG中所使用的各种过滤(例如图10所示的行列预测)。当初始析像度的编码完成后,进行剩下的析像度的编码。
[0064] 在剩下析像度的编码中,首先,以在初始析像度中被使用的二次采样 间隔的一般间隔对未编码的像素进行二次采样并进行编码。当以该二次采样间隔的编码全部完成,进一步将二次采样间隔设为一半,重复进行编码直到没有未编码的像素。在剩下析像度的编码中,第一像素提取单元1321、第一附近像素提取单元1331、第二像素提取单元1322、第二附近像素提取单元1332、第三像素提取单元1323、第三附近像素提取单元1333、像素值预测单元134、预测误差计算单元135、上下文计算单元136、以及可变长度编码单元137分别起到以下作用。
[0065] 第一像素提取单元1321从图像存储器121中提取出在现析像度中应该编码的像素中位于用前析像度完成编码的附近四个像素的中心的像素作为第一像素,并存储在编码对象像素存储122中。
[0066] 第一附近像素提取单元1331从图像存储器121中提取出位于第一像素的左上、左下、右上、右下的完成编码的附近四个像素,并存储在附近像素存储器123中。 [0067] 第二像素提取单元1322在第一像素编码后从图像存储器121中提取出在现析像度中应该编码的像素中位于第一像素的左侧的未编码像素作为第二像素,并存储在编码对象像素存储器122中。
[0068] 第二附近像素提取单元1332从图像存储器121中提取出位于第二像素的上、下、左、右的完成编码的附近四个像素,并存储在附近像素存储器123中。
[0069] 第三像素提取单元1323在第二像素编码后,从图像存储器121中提取出在现析像度中应该编码的像素中位于第一像素的上侧的未编码像素作为第三像素,并存储在编码对象像素存储器122中。
[0070] 第三附近像素提取单元1333从图像存储器121中提取出位于第三像素的上、下、左、右的完成编码的附近四个像素,并存储在附近像素存储器123中。
[0071] 像素值预测单元134求出存储在附近像素存储器123的像素值的平均值并存储在预测像素存储器124中。
[0072] 预测误差计算单元135求出存储在预测像素值存储器124中的像素预测值和存储在编码对象像素存储器122中的像素值的差,并存储在预测误 差存储器125中。 [0073] 上下文计算单元136求出存储在附近像素存储器123中的附近四个像素的、分别相邻的像素之间的差的绝对值,并对其综合进行量化而作为编码上下文存储在上下文存储器126中。
[0074] 可变长度编码单元137对预测误差存储器125的值进行可变长度编码,并输出给码输出装置14。在本实施方式的情况下,可变长度编码单元137是自适应Golomb-Rice编码单元,从第一上下文127和第二上下文128中选择希望的表,并根据存储在其中的上下文的统计信息计算出有效位数的估计值k,使用该k进行编码后,将存储在上下文存储器126中的此次的编码上下文反映在所述选择的上下文表中。
[0075] 码输出装置14是将被编码的数据输出给未图示的记录介质或者是通过传输路径发送给其他位置的装置等。
[0076] 接着,参考图2和图3的流程图,对本实施方式的编码装置的整体动作进行详细地说明。
[0077] 首先,像素提取的二次采样间隔被设定为初始析像度的间隔(图3的步骤S101)。 [0078] 初始析像度编码单元131将像素提取坐标初始化为原点(步骤S102),并依次提取像素进行编码。具体而言,以初始析像度的二次采样间隔提取像素(步骤S103),并且提取其附近像素(步骤S104)。接着,根据附近像素通过平均值过滤等进行外插预测(步骤S105),计算出预测误差(步骤S106),并进行可变长度编码(步骤S107),输出给码输出装置14(步骤S107)。
[0079] 接着,判断是否以初始析像度的初始二次采样间隔完成全部编码(步骤S108),如果没有完成,则移位提取坐标(步骤S109)并返回到步骤S103。如果完成,则移位析像度(将二次采样间隔设为一半)(步骤S110),并进入到剩下析像度的编码(步骤S111之后)。 [0080] 在剩下析像度的编码中,首先像素提取坐标被初始化为以该二次采样间隔的初始坐标(步骤S111)。
[0081] 接着,第一像素提取单元1321从图像存储器121中提取位于用前析 像度完成编码的附近四个像素的中心的第一像素,并存储在编码对象像素存储器122中(步骤S112)。 [0082] 接着,第一附近像素提取单元1331从图像存储器121提取出位于第一像素附近的用前析像度完成编码的四个像素(左上、右上。左下、右下),并存储在附近像素存储器123中(步骤S113)。
[0083] 接着,像素值预测单元134求出存储在附近像素存储器123中的四个像素的像素值的平均值,并存储在预测像素值存储器124中(步骤S114)。
[0084] 接着,上下文计算单元136求出存储在附近像素存储器123中的四个像素的、在分别相邻的像素之间的差的绝对值,并对其总和进行量化而存储在上下文存储器126中(步骤S115)。
[0085] 接着,预测误差计算单元135求出存储在预测像素值存储器124中的像素预测值和存储在编码对象像素存储器122的像素值的差,并存储在预测误差存储器125中(步骤S116)。
[0086] 接着,可变长度比编码单元137根据存储在第一上下文表127中的上下文的统计信息计算出编码参数(有效位数的估计值k)并对预测误差存储器125的值进行可变长度编码,输出给码输出装置14(步骤S117a)。另外,可变长度编码单元137根据上下文存储器126的内容对第一上下文表127进行更新(步骤S117b)。
[0087] 以上,一个第一像素的编码处理结束,接着,如下所述执行第二像素编码。 [0088] 首先,第二像素提取单元1322从图像存储器121提取出位于第一像素的左侧的第二像素,并存储在编码对象像素存储器122中(步骤S118)。
[0089] 接着,第二附近像素提取单元1332从图像存储器121提取出位于第二像素附近的完成编码的四个像素(上、下、左、右),并存储在附近像素存储器123中(步骤S119)。 [0090] 接着,像素值预测单元134求出存储在附近像素存储器123的四个像素的像素值的平均值,并存储在预测像素值存储器124中(步骤S120)。
[0091] 接着,上下文计算单元136求出存储在附近像素存储器123的四个像素的、分别相邻像素之间的差,并对其总和进行量化而存储在上下文存储器126中(步骤S121)。 [0092] 接着,预测误差计算单元135求出存储在预测像素值存储器124的像素预测值和存储在编码对象像素存储器122的像素值的差,并存储在预测误差存储器125中(步骤S122)。
[0093] 接着,可变长度编码单元137根据存储在第二上下文表128的上下文的统计信息计算出编码参数(有效位数的估计值k)并对预测误差存储器125的值进行可变长度编码,输出给码输出装置14(步骤S123a)。另外,可变长度编码单元137根据上下文存储器126的内容对第二上下文表128进行更新(步骤S123b)。
[0094] 到此,一个第二像素编码处理结束,接着如下所述进行第三像素的编码。 [0095] 首先,第三像素提取单元1323从图像存储器121提取出位于第一像素的上侧的第三像素,并存储在编码对象像素存储器122中(步骤S124)。
[0096] 接着,第三附近像素提取单元1333从图像存储器121提取出位于第三像素附近的完成编码的四个像素(上、下、左、右),并存储在附近像素存储器123中(步骤S125)。 [0097] 接着,像素值预测单元134求出存储在附近像素存储器123的四个像素的像素值的平均值,并存储在预测像素值存储器124中(步骤S126)。
[0098] 接着,上下文计算单元136求出存储在附近像素存储器123的四个像素的、分别相邻像素之间的差,并对其总和进行量化而存储在上下文存储器126中(步骤S127)。 [0099] 接着,预测误差计算单元135求出存储在预测像素值存储器124的像素预测值和存储在编码对象像素存储器122的像素值的差,并存储在预测误差存储器125中(步骤S128)。
[0100] 接着,可变长度编码单元137根据存储在第二上下文表128的上下文的统计信息计算出编码参数(有效位数的估计值k)并对预测误差存储器 125的值进行可变长度编码,输出给码输出装置14(步骤S129a)。另外,可变长度编码单元137根据上下文存储器126的内容对第二上下文表128进行更新(步骤S129b)。
[0101] 到此,一个第三像素编码处理结束。
[0102] 接着,判断是否以现析像度的二次采样间隔完成所有编码(步骤S130),如果没有完成,则移位提取坐标(步骤S131)并返回到步骤S112。
[0103] 当以现析像度的二次采样间隔完成所有编码时,判断是否完成所有析像度的处理(步骤S132),如果没有完成则移位析像度(将二次采样间隔设为一半)(步骤S133)并返回到步骤S111。
[0104] 另外,在附近像素的提取坐标为图像外的情况下(图像的上下左右端),只要从代替的位置提取像素即可。这个例如使用在图像边界处于翻折位置的像素等的方法,由于在编码侧和解码侧如果附近像素的决定方法相同则在解码上没有问题,因此也可以使用其他的坐标决定方式。
[0105] 另外,对于通过初始析像度的可变长度编码,可以使用以往的DPCM霍夫曼等,也可以如与剩下析像度相同,计算上下文并使用Golomb-Rice码等进行编码。在用初始析像度计算上下文的情况下,具有如下效果:例如求出左上侧和左侧的已编码像素的差、左上侧和上侧的已编码像素的差,并对该绝对值的总和进行量化而成为上下文。此时,在图像上端不存在上侧的像素时,可以计算出左侧已编码像素与两个左侧已编码像素的差的绝对值,并使用在对其进行量化。在该问题中,由于如果在编码侧和解码侧上下文的计算方法相同则在解码时没有问题,因此在附近像素达到图像以外的情况下,可以使用其他的上下文决定方式。
[0106] 接着,说明本实施方式的编码装置的效果。
[0107] 在具有析像度改进功能的预测编码中,能够根据已编码像素对未编码像素的值进行精度好地预测。其理由在于:对从源图像每隔固定像素而进行了二次采样的初始析像度图像进行编码后,在对被间拔的像素进行编码的各个析像度的编码处理中,首先根据用前析像度完成编码的四个像素(左上、右上、左下、右下)进行线性插值,并预测该中心的第一像素, 对其残差进行可变长度编码,接着,根据刚刚前面被编码的第一像素和周边的三个像素加在一起的四个像素对位于第一像素的左侧和上侧的第二像素、第三像素进行内插预测,重复进行对该残差进行可变长度编码的处理,从而,任何一个像素都能根据基于附近四个像素的内插而高精度地预测值。
[0108] 在具有析像度改进功能的预测编码中,能够根据已编码像素通过简单的计算预测未编码像素的值。其理由在于:由于第一像素、第二像素、以及第三像素都是根据以该像素为中心的附近四个像素来进行预测,因此能够以附近四个像素的像素值的单纯平均值进行预测。
[0109] 能够提高压缩率。其理由是,如上所述能够根据已编码像素对未编码像素进行高精度的预测。另外,另一理由是将附近四个像素的差的绝对值的总和作为上下文进行可变长度编码,能够针对像素值的空间的局部性使编码参数适应,从而仅以其大小进一步提高压缩率。并且另一个理由是:通过根据左上、左下、右上、以及右下的附近四个像素预测像素值的第一像素和根据上下左右的附近四个像素预测像素值的第二像素和第三像素来使用各自的上下文表对上下文进行管理,因此能够进一步改善编码参数的适应度。 [0110] 能提高处理速度。其理由是:能够根据已编码像素通过简单的计算预测未编码像素的值。另外,另一个理由是:在对一个第一像素进行编码后,在扫描方向上依次重复进行对其左侧和上侧的第二像素和第三像素的编码的处理,增加通过内置高速缓存的计算机进行编码处理时的参考的局部性,提高高速缓存比特率。特别是在第二像素的编码之后如果进行第三像素的编码,则能够更进一步使参考的局部性增大。
[0111] 能简单地进行编码上下文的计算。其理由是:由于用于预测的四个像素以关注像素为中心而配置成点对称,因此四个像素的任一像素都与上下文的计算有关而不需要在主次上进行区分,编码上下文能够通过求出用于预测的四个像素的、相邻像素之间的绝对值并对其总和进行量化的简单方法来计算。
[0112] [解码装置的实施方式]
[0113] 参照图4,本发明解码装置的一个实施方式包括码输入装置21、数据存储装置22、通过程序控制来进行动作的数据处理装置23、以及图像输出装置24。
[0114] 编码输入装置21是将以图2所示的编码装置编码后的可变长度码输入到数据处理装置23的装置。
[0115] 数据存储装置22包括计算机主存储装置和辅助存储装置,存储被解码的图像以及在该解码处理过程生成的各种数据。在本实施方式的情况下,数据存储装置22具有存储被解码图像的图像存储器221、存储处于解码对象像素附近的四个像素的值的附近像素存储器223、存储由附近四个像素预测的解码对象像素的值的预测像素值存储器224、存储解码对象像素的预测值和实际的值的差的预测误差存储器225、存储由附近四个像素求出的编码上下文的上下文存储器226、以及第一上下文表和第二上下文表227、228。 [0116] 数据处理装置23由计算机的CPU等构成,执行将从码输入装置21输入的可变长度码解码为图像、并向图像输出装置24输出的处理。在本实施方式的情况下,数据处理装置22具有初始析像度解码单元231、第一像素输出单元2321、第一附近像素提取单元2331、第二像素输出单元2322、第二附近像素提取单元2332、第三像素输出单元2323、第三附近像素提取单元2333、像素值预测单元234、像素值计算单元235、上下文计算单元236、以及预测误差解码单元237。这其中除初始析像度解码单元231以外的单元构成高析像度解码单元。
[0117] 初始析像度解码单元231从码输入装置21依次输入与初始析像度的图像对应的码,并使用与编码时相同的预测方式进行像素值的预测,并且根据从码输入装置21输入码对预测误差的值进行解码而加在预测像素值上,从而对应该以初始析像度解码的所有像素进行解码,并以初始析像度的二次采样间隔向图像存储器221输出。当完成初始析像度的解码后,进行剩下析像度的解码。
[0118] 在剩下析像度的解码中,首先,以初始析像度的二次采样间隔的一半的间隔对未解码的像素进行解码。当以该二次采样间隔的解码全部完成 后,进一步使二次采样间隔为一半,重复进行解码直到未解码的像素消失。在剩下析像度的解码中,第一像素输出单元2321、第一附近像素提取单元2331、第二像素输出单元2322、第二附近像素提取单元2332、第三像素输出单元2323、第三附近像素提取单元2333、像素值预测单元234、像素值计算单元235、上下文计算单元236、以及预测误差解码单元237分别起到如下作用。 [0119] 第一附近像素提取单元2331从图像存储器221提取出用前析像度完成解码的四个像素(左上、右上、左下、右下),并存储在附近像素存储器223中。
[0120] 当位于作为第一附近像素而提取的四个附近像素的中心的第一像素被解码后,第一像素输出单元2321将其输出给图像存储器221。
[0121] 第二附近像素提取单元2332在第一像素解码后,将在现析像度应解码的像素中位于第一像素的左侧的编码像素设为第二像素,并从图像存储器221中提取出位于该第二像素附近的完成解码的四个像素(上、下、左、右),存储在附近像素存储器223中。 [0122] 当第二像素解码后,第二像素输出单元2322将其输出给图像存储器221。 [0123] 第三附近像素提取单元2333在第二像素解码后,将在现析像度应解码的像素中位于第一像素的上侧的编码像素设为第三像素,并从图像存储器221中提取出位于该第三像素附近的完成解码的四个像素(上、下、左、右),存储在附近像素存储器223中。 [0124] 当第三像素解码后,第三像素输出单元2323将其输出给图像存储器221。 [0125] 像素值预测单元234求出存储在附近像素存储器223的附近四个像素的像素值的平均值,并存储在预测像素值存储器224中。
[0126] 上下文计算单元236求出存储在附近像素存储器223中的附近四个像素的、各自相邻的像素之间的差的绝对值,并对其总和进行量化而存储在内容存储器226中。 [0127] 预测误差解码单元237从码输入装置21读出预测误差的值进行解 码,并存储在预测误差存储器225中。在本实施方式的情况下,预测误差解码单元237是自适应Golomb-Rice解码单元,根据存储在其中的上下文的统计信息计算有效位数的估计值k,使用该k进行解码后,将存储在上下文存储器226的本次编码上下文反映在上述选择的内容表中。
[0128] 像素值计算单元235将预测误差存储器225的值加在预测像素存储器224所存储的像素值上来计算目标像素值,并通过第一~第三像素输出单元2321~2323输出给图像存储器221。
[0129] 图像输出装置24是在显示器上显示被解码的图像、向外部存储装置进行存储、或者通过传输路径向其他位置进行发送的装置等。
[0130] 接着,参照图4和图5的流程图对本实施方式涉及的解码装置的整体动作进行详细的说明。
[0131] 首先,像素解码的二次采样间隔被设定为初始析像度的间隔(图5的步骤S201)。 [0132] 初始析像度解码单元231将像素提取坐标初始化为原点(步骤S202)并依次对像素进行解码。具体地说,以初始析像度的二次采样间隔提取出附近像素(步骤S203),并通过平均值过滤等进行外插预测(步骤S204)。接着从码输入装置21读出预测误差的值来进行解码(步骤S205),通过加在预测像素值上来计算出像素值(步骤S206)。以初始析像度的二次采样间隔将通过以上被解码的初始析像度的像素值依次输出给图像存储器221(步骤S207)。
[0133] 接着,判断以初始析像度的初始二次采样间隔的解码是否全部完成(步骤S208),如果没有完成则移位提取坐标(步骤S209)并返回到步骤S203。如果完成则移位析像度(将二次采样间隔设为一半)(步骤S210),进入到剩下析像度的解码(步骤S211以后)。 [0134] 在剩下析像度的编码中首先像素提取坐标被初始化为以该采样间隔的初始坐标(步骤S211)。
[0135] 接着,第一附近像素提取单元2331提取用前析像度完成编码的四个像素(左上、右上、左下、右下),并存储在附近像素存储器223中(步骤S212)。
[0136] 接着,像素值预测单元234求出存储在附近像素存储器223中的四个像素的像素值的平均值,并存储在预测像素值存储器224(步骤S213)。
[0137] 接着,上下文计算单元236求出存储在附近像素存储器223中的四个像素的、各自相邻的像素之间的差的绝对值,并对其总和进行量化而存储在上下文存储器226(步骤S214)。
[0138] 接着,误差解码单元237根据存储在第一上下文表227的上下文的统计信息计算出编码参数(有效位数的估计值k),对从编码输入装置21读出的预测误差的值进行解码,并存储在预测误差存储器225(步骤S215a)。另外预测误差解码单元237通过上下文存储器226的内容来更新第一上下文表227(步骤S215b)。
[0139] 接着,像素计算单元235将预测误差存储器225的值加在预测像素存储器224所存储的像素值上来计算为目标的第一像素的像素值(步骤S216)。
[0140] 接着,第一像素输出单元2321将第一像素的像素值输出给图像存储器221(步骤S217)。
[0141] 以上一个第一像素的解码处理结束后,接着如下所述进行第二像素的解码。 [0142] 首先,第二附近像素提取单元2332提取出位于第一像素左侧的第二像素附近的四个像素(上、下、左、右),并存储在附近像素存储器223中(步骤S218)。 [0143] 接着,像素预测单元234求出存储在附近像素存储器223的四个像素的像素值的平均值,并存储在预测像素值存储器224中(步骤S219)。
[0144] 接着,上下文计算单元236求出存储在附近像素存储器223的四个像素的、各自相邻的像素之间的差的绝对值,并对其总和进行量化而存储在上下文存储器226中(步骤S220)。
[0145] 接着,预测误差解码单元237根据存储在第二上下文表228的上下文的统计信息计算编码参数(有效位数的估计值k),对从码输入装置21读出的预测误差的值进行解码,并存储在预测误差存储器225(步骤S221a)。另外预测误差解码单元237通过内容存储器226的内容来更新 第二上下文表228(步骤S221b)。
[0146] 接着,像素计算单元235将预测误差存储器225的值加在预测像素存储器224所存储的像素值上来计算为目标的第二像素的像素值(步骤S222)。
[0147] 接着,第二像素输出单元2322将第二像素的像素值输出给像素存储器221(步骤S223)。
[0148] 以上,一个第二像素的解码处理结束,接着如下所述进行第三像素的解码。 [0149] 首先,第二附近像素提取单元2332提取出位于第一像素上侧的第三像素附近的四个像素(上、下、左、右),并存储在附近像素存储器223中(步骤S224)。 [0150] 接着,像素预测单元234求出存储在附近像素存储器223的四个像素的像素值的平均值,并存储在预测像素值存储器224中(步骤S225)。
[0151] 接着,内容计算单元236求出存储在附近像素存储器223的四个像素的、各自相邻的像素之间的差的绝对值,并对其总和进行量化而存储在内容存储器226中(步骤S226)。 [0152] 接着,预测误差解码单元237根据存储在第二上下文表228的上下文的统计信息计算出编码参数(有效位数的估计值k),对从码输入装置21读出的预测误差的值进行解码,并存储在预测误差存储器225中(步骤S227a)。另外预测误差解码单元237通过内容存储器226的内容来更新第二上下文表228(步骤S227b)。
[0153] 接着,像素计算单元235将预测误差存储器225的值加在预测像素存储器224所存储的像素值上来计算为目标的第三像素的像素值(步骤S228)。
[0154] 接着,第三像素输出单元2323将第三像素的像素值输出给像素存储器221(步骤S229)。
[0155] 通过上述,一个第三像素的解码结束。
[0156] 接着,判断以现析像度的二次采样间隔的解码是否全部完成(步骤S230),如果没有完成则移位提取坐标(步骤S231)并返回到步骤 S212。
[0157] 当以现析像度的二次采样间隔的解码全部完全时,判断是否完成所有的析像度的处理(步骤S232),如果没有完成则移位析像度(将二次采样间隔设为一半)(步骤S233)并返回到步骤S211。
[0158] 根据本实施方式的解码装置能够将在如图2所示的实施方式编码装置编码的图像高精确而高速地进行解码。
[0159] 实施例
[0160] [编码装置的实施例]
[0161] 接着,对本发明编码装置的具体实施例进行说明。
[0162] 图6和图7是示意性地示出本实施例的编码装置的编码动作的图。在本实施中,设为数据处理装置13具有个人计算机、作为数据存储装置12具有半导体存储器(包含在个人计算机中)、作为码输出装置具有磁盘装置。另外,设图像数据作为磁盘装置上的文件而被提供。
[0163] 首先,从磁盘装置读取图像数据并存储在图像存储器121中。
[0164] 初始析像度编码单元131从图像存储器121以为初始析像度的预定间隔提取像素并进行可变长度编码,并将码输出到磁盘装置。这里,将初始析像度设为原图像的1/4,在纵横上都是以四个像素间隔提取像素。
[0165] 具体而言,按照图6的图像存储器121的(1)→(2)→(3)→…→(11)→(12)的顺序提取像素,并将完成编码的上侧和左侧像素的平均值作为预测值(例如,将(2)和(5)的平均值设为(6)的预测值)而进行二维DPCM编码。
[0166] 根据以上处理,当初始析像度的所有像素被编码后,转移到下一析像度(原图像的1/2)的编码处理。
[0167] 图7是示意性地示出1/2析像度的编码处理的图。a、b、c、d、…、j、k、l是通过初始析像度编码单元131已经完成编码的像素,在1/2析像度的处理中按照(1)→(2)→(3)→…→(17)→(18)的顺序进行编码。
[0168] 首先,第一像素提取单元1321提取像素(1)并存储在编码对象像素存储器122中。另外,第一附近像素提取单元1331提取出像素(1)的左 上、右上、左下、以及右下的已编码像素,即a、b、e、f,并存储在附近像素存储器123中。
[0169] 接着,根据这些附近像素a、b、e、f进行像素值的预测以及编码上下文值的计算,并对编码对象像素和预测值的差进行编码。详细情况如后所述。
[0170] 接着,第二像素提取单元1322提取像素(2)并存储在编码对象像素存储器122中。另外,第二附近像素提取单元1332提取出像素(2)的上、下、左、右的已编码像素并存储在附近像素存储器123中。这里,像素(2)由于在图像左端,左侧像素进行翻转来参考(1)。结果,提取a、e、(1)、(1)并存储到附近像素存储器123中。
[0171] 接着,根据这些附近像素a、e、(1)、(1)进行像素值的预测以及编码上下文值的计算,并对编码对象像素和预测值的差进行编码。详细情况如后所述。
[0172] 接着,第三像素提取单元1323提取像素(3)并存储在编码对象像素存储器122中。另外,第三附近像素提取单元1333提取出像素(3)的上、下、左、右的已编码像素并存储在附近像素存储器123中。这里,由于像素(3)在图像上端,因此上侧像素通过翻转来参考(1)。结果,提取a、b、(1)、(1)并存储在附近像素存储器123中。
[0173] 接着,根据这些附近像素a、b、(1)、(1)进行像素值的预测以及编码上下文值的计算,并对编码对象像素和预测值的差进行编码。详细情况如后所述。
[0174] 对像素(4)之后也与上述处理同样地进行。另外,如(16)~(18)那样,对于不是在图像端的像素,作为附近像素而提取出全部已完成编码的附近四个像素。 [0175] 接着,参考图8,对在编码过程中进行的像素值的预测、以及编码上下文值的计算、差的编码进行说明。
[0176] 图8是示意性地示出图7中的像素(16)的编码动作的图。通过第一像素提取单元1321和第一附近像素提取单元1331将像素(16)存储到编码对象像素存储器122中,并将像素f、g、j、k存储到附近像素存储器 123中。
[0177] 像素值预测单元134求出像素f、g、j、k的平均值Predict,并存储在预测像素值存储器124中。
[0178] 预测误差计算单元135求出编码对象像素(16)和预测像素值Predict的差的DPCM,并存储在预测误差存储器125中。
[0179] 上下文计算单元136求出相邻附近像素之间的差的绝对值的总和,并对其进行量化而设为Context存储在上下文存储器126中。这里,求出f和g、g和k、k和j、j和f的差,并其绝对值的总和量化为0~8的9种值。
[0180] 上下文计算单元136还选择上下文表号码,以能够在可变长度编码单元137的倾斜预测的情况下和纵横预测的情况下使用不同的上下文。即,由于像素(1)(4)(7)(10)(13)(16)…根据处于左上、右上、左下、以及右下的倾斜方向的附近像素进行预测因此选择用于其的第一上下文表127,由于像素(2)(3)(5)(6)(8)(9)…根据处于上下左右的附近像素进行预测,因此选择与第一上下文表127不同的第二上下文表128。
[0181] 可变长度编码单元137根据所选择的上下文表127或者128以及上下文值使用专利文献4的方式等进行自适应Golomb-Rice编码。在该自适应Golomb-Rice编码中,依次更新被选择的上下文表的该上下文值中的出现次数n以及预测误差振幅的累积和a,最优的Golomb参数(有效位数的估计值)在该情况下被计算出,使用该参数进行Golomb-Rice编码,并且更新被选择的上下文表的该上下文值中的出现次数n以及累积和a。 [0182] 以上处理持续到1/2析像度的所有像素完成编码为止,以1/2析像度的编码处理完成。并且,通过在到对1/1析像度的所有像素完成编码之前进行同样的处理来完成所有层的编码并输出给磁盘。
[0183] [解码装置的实施例]
[0184] 接着,对本发明解码装置的实施例进行说明。
[0185] 图6和图7示意性地示出本实施例的解码装置的解码动作。在本实施例中,设作为数据处理装置23具有个人计算机、作为数据存储装置22具有半导体存储器(包含在个人计算机中)、作为图像输出装置24具有磁 盘装置。另外,设码数据作为磁盘装置上的文件而被提供。
[0186] 初始析像度解码单元231根据码数据依次进行解码,并以为初始析像度的预定间隔将像素输出到图像存储器221。这里,将初始析像度设为原图像的1/4,并以四个像素间隔对像素进行解码。具体而言,按照图6所示的图像存储器221的(1)→(2)→(3)→…→(11)→(12)的顺序提取像素,并将完成编码的上侧和左侧像素的平均值作为预测值(例如,将(2)和(5)的平均值设为(6)的预测值)而进行二维DPCM解码并输出像素值。 [0187] 根据以上处理,当初始析像度的所有像素被解码后,转移到下一析像度(原图像的1/2)的解码处理。
[0188] 图7示意性地示出1/2析像度的解码处理。a、b、c、d、…、j、k、l是通过初始析像度解码单元231已经完成编码的像素,在1/2析像度的处理中按照(1)→(2)→(3)→…→(17)→(18)的顺序进行解码。
[0189] 首先,第一附近像素提取单元2331提取出像素(1)的左上、右上、左下、以及右下的已编码像素,即a、b、e、f,并存储在附近像素存储器223中。
[0190] 接着,根据这些附近像素a、b、e、f进行像素值的预测以及编码上下文值的计算,并对预测差进行解码。并且,通过像素预测值和预测差计算像素值,并作为像素(1)而输出到图像存储器221。详细情况如后所述。
[0191] 接着,第二附近像素提取单元2332提取出像素(2)的上、下、左、右的已编码像素并存储在附近像素存储器223中。这里,像素(2)由于在图像左端,左侧像素进行翻转来参考(1)。结果,提取a、e、(1)、(1)并存储到附近像素存储器223中。
[0192] 接着,根据这些附近像素a、e、(1)、(1)进行像素值的预测以及编码上下文值的计算,并对预测差进行解码。并且,通过像素预测值和预测差计算出像素值,并作为像素(2)而输出给像素存储器221。详细情况如后所述。
[0193] 接着,第三附近像素提取单元2333提取出像素(3)的上、下、左、右的已编码像素并存储在附近像素存储器223中。这里,由于像素(3) 在图像上端,因此上侧像素进行翻转来参考(1)。结果,提取a、b、(1)、(1)并存储在附近像素存储器223中。 [0194] 接着,根据这些附近像素a、b、(1)、(1)进行像素值的预测以及编码上下文值的计算,并对预测差进行解码。并且通过像素预测值和预测差计算像素值,并作为像素(3)而输出给图像存储器221。详细情况如后所述。
[0195] 对像素(4)之后也与上述处理同样地进行。另外,如(16)~(18)那样,对于不是在图像端的像素,作为附近像素而提取出全部已完成编码的附近四个像素。 [0196] 接着,参考图9,对在解码处理中的像素值的预测、以及编码上下文值的计算、差的解码、像素值的计算进行说明。
[0197] 图9是示意性地示出图7中的像素(16)的解码动作的图。通过第一像素提取单元2331和第一附近像素提取单元2331将像素f、g、j、k存储到附近像素存储器223中。 [0198] 像素值预测单元234求出像素f、g、j、k的平均值Predict,并存储在预测像素值存储器224中。
[0199] 上下文计算单元236求出相邻附近像素之间的差的绝对值的总和,并对其进行量化而设为Context存储在上下文存储器226中。这里,求出f和g、g和k、k和j、j和f的差,并将其绝对值的总和量化为0~8的9种值。
[0200] 上下文计算单元还选择上下文表号码,以能够在倾斜预测的情况下和纵横预测的情况下使用不同的上下文。即,由于像素(1)(4)(7)(10)(13)(16)…根据处于左上、右上、左下、以及右下的倾斜方向的附近像素进行预测因此选择用于其的第一上下文表127,由于像素(2)(3)(5)(6)(8)(9)…根据处于上下左右的附近像素进行预测,因此选择与第一上下文表227不同的第二上下文表228。
[0201] 预测误差解码单元237根据所选择的上下文表以及上下文值使用专利文献4的方式等进行自适应Golomb-Rice编码。在自适应Golomb-Rice编码中,依次更新上下文表的该上下文值的出现次数n以及预测误差振幅的 累积和a,最优的Golomb参数(有效位数)在该情况下被计算出。
[0202] 像素值计算单元235在预测像素值Predict上加上被解码的预测差的值,并作为解码对象像素(16)而输出。
[0203] 以上处理持续到1/2析像度的所有像素完成编码为止,以1/2析像度的编码处理完成。并且,通过在到对1/1析像度的所有像素完成编码之前进行同样的处理来完成所有级的编码,并将图像存储器221的内容输出给磁盘。
[0204] 以上对本发明的实施方式和实施例进行了说明,但是本发明不限于以上的例子,也能够附加其他各种附加变更。
[0205] 例如,作为可变长度码而使用了Golomb-Rice吗,但是也能够使用霍夫曼码等其他种类的可变长度码。
[0206] 另外,示出了具有1/4、1/2、1/1的三级析像度的例子,但是针对4级以上的析像度改进功能也能适用。
[0207] 另外,示出了编码对象图像的纵横的像素数M、N任一个都与2的取幂一致的例子,但是即使在不一致的情况下,通过使用在图像边界处于翻折位置的像素等的方法能够同样地处理端数部分。
[0208] 另外,各个像素值设为以多比特的灰色标度表示来进行说明,但是除此以外的形式例如即使是转换为多比特的RGB彩色值或将其转换为亮度信号(Y)和两个色差信号(U、V)的信号,也能够通过对那些的每一个实施同样的处理而进行编码和解码。此时,上下文表可以为分别设置,也可以在特性相近的之间共用。例如,由于U和V的特性相近,因此可以使U和V共用第一和第二上下文表。
[0209] 另外,如 果是 在第 一 像素 的 编码 后进 行 第二 和第 三 像素 的 编码,则编码的顺序不限于图7所示的顺序。例如可以在图像端翻折而以(10)→(11)→(12)→(13)→(14)→(15)…的顺序进行编码,在以锯齿形进行扫描是可以以(1)→(2)→(3)→(4)→(5)→(6)→(13)→(14)→(15)…的顺序进行编码。 [0210] 另外,关于解码在第二和第三像素处理前需要第一像素被解码,但是在编码中,到最终码输出位置的处理对于第一~第三像素能够并行进行。 即,与第一像素的编码处理并行进行第二像素和第三像素的编码处理,从而能够提高编码的处理速度。 [0211] 另外,本发明的编码装置和解码装置当然能够硬件地实现其具有的功能,也能通过计算机和程序实现。程序被记录在磁盘或半导体存储器等的计算机可读记录介质而提供,在计算机启动等时被计算机所读取,通过控制该计算机的动作而使该计算机作为前述的各实施方式中的编码装置和解码装置而起作用,并进行所述的编码处理和解码处理。 [0212] 产业上的实用性
[0213] 根据本发明,在监视或分析等需要获取高质量的影像的系统中,能够适用对图像进行高速编码而传送的用途。另外,也能适用在将高析像度的影像以高质量地进行存档,并以需要的析像度高速地提取并传送来显示的用途。
[0214] 本申请主张在2006年11月24日申请的日本专利文献特愿2006-316627号为基础的优先权,其公开的全部内容并入此文。