首页> 中国专利> 图像编码装置、数字静态相机、数字摄像机、摄像元件、打印机以及图像编码方法

图像编码装置、数字静态相机、数字摄像机、摄像元件、打印机以及图像编码方法

摘要

图像编码装置(100)所进行的编码处理中包括:在编码对象像素的值与预测值的差分值的二进制数据的位数B比规定的比特数M小的情况下,进行使剩余比特剩余并编码的处理(S133),在位数B比M大的情况下,且存在剩余比特的情况下,进行使用剩余比特的编码处理(S133)。通过将针对连续的T个像素中的U个像素的每一个进行所述编码处理的处理,以所述多个像素中的连续的T个像素为单位来执行,从而生成多个规定代码量的编码数据(S136)。

著录项

  • 公开/公告号CN102165760A

    专利类型发明专利

  • 公开/公告日2011-08-24

    原文格式PDF

  • 申请/专利权人 松下电器产业株式会社;

    申请/专利号CN200980137570.2

  • 发明设计人 小川真由;今村邦博;北村臣二;

    申请日2009-09-16

  • 分类号H04N1/41(20060101);H03M7/30(20060101);H04N7/32(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人黄剑锋

  • 地址 日本大阪府

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    专利权的转移 IPC(主分类):H04N19/176 登记生效日:20200603 变更前: 变更后: 申请日:20090916

    专利申请权、专利权的转移

  • 2014-08-06

    授权

    授权

  • 2011-10-05

    实质审查的生效 IPC(主分类):H04N1/41 申请日:20090916

    实质审查的生效

  • 2011-08-24

    公开

    公开

说明书

技术领域

本发明涉及对图像进行编码的装置以及方法。

背景技术

近些年,随着数字静态相机以及数字摄像机等摄像装置中所使用的摄像元件的高像素化,被搭载在装置中的集成电路所处理的图像数据量也在不断增大。摄像装置内的集成电路在处理大量的图像数据时,为了确保集成电路内的数据传输的总线宽度,虽然考虑到了工作频率的高速化以及存储器的大容量化等,但是这些与成本提高有着直接的联系。

并且,一般而言,在数字静态相机以及数字摄像机等摄像装置中,在集成电路结束了所有的图像处理时,在将图像数据记录到SD(Secure Digital)存储卡等外部记录装置之时,进行该图像数据的压缩处理。并且,摄像装置使通过压缩处理而得到的压缩数据记忆到外部记录装置。在此的压缩处理可以采用JPEG(Joint Photographic Experts Group:联合图像专家组)和MPEG(Moving Picture Experts Group:运动图像专家组)的编码方式。因此,比起不压缩图像数据的情况而言,能够使更大的图像数据或更多的图像数据记忆到外部记录装置。

在专利文献1中所公开的技术是,在对图像数据进行压缩处理时,不仅是针对图像处理后的数据进行,而且还针对从摄像元件输入的像素信号(RAW数据:原始数据)进行。通过此技术,能够以相同的存储器容量,增加图像大小相同的连拍数量。并且,在专利文献1公开的数字信号压缩编码装置以及数字信号解码装置中,能够在不需要存储器,且在确保低编码运算处理负荷的状态下实现高压缩率。

并且,在专利文献2公开的图像编码装置中,能够高精确地且高速地打印混有性质不同的图像数据的印刷物,这些性质不同的图像数据混在的印刷物例如是,在照片等自然图像中加入了单一色彩的文字或图形的海报以及广告等。由于文字或图形与自然图像的图像性质不同,因此若采用相同的编码方式会导致图像的质量劣化。

专利文献2所公开的图像编码装置包括:以定长编码来对像素数据进行编码的非可逆编码部、可逆编码部、剩余码计数器以及编码控制部。

可逆编码部在编码对象像素的像素数据的压缩率成为比规定的压缩率高的压缩率的情况下,使针对定长编码的剩余码剩余,从而对编码对象图像的像素数据进行编码。并且,可逆编码部在成为编码对象的编码对象像素的像素数据的压缩率成为比规定的压缩率低的压缩率的情况下,消耗被追加到定长编码的剩余码,从而对编码对象像素的像素数据进行编码。

剩余码计数器在可逆编码部对像素数据进行了编码时,增加针对定长编码的剩余码的计数,减少由可逆编码部消耗的剩余码的计数。编码控制部在剩余计数器的计数值不成为示出比规定的压缩率低的压缩率的值的范围内,进行使在可逆编码部的编码工作继续的处理。进行以上的处理的图像编码装置能够使数据的再现性提高。

现有技术文献

专利文献

专利文献1 日本 特开2007-036566号公报

专利文献2 日本 特开2007-181051号公报

发明的概要

发明要解决的问题

然而,在专利文献1公开的数字信号压缩编码装置中,图21所示的区域量化步长决定部201将被包含在意味着以相邻的多个像素构成的组的“区域”内的所有的像素的值,以同等的量化步长(区域量化步长)来进行量化。

该区域量化步长与以下的两个值之间的差相等,这两个值是指,对与最大像素值差相对应的量化范围值加上1之后的值,以及压缩编码像素值数据比特数(s)。在此,最大像素值差是指,被包含在区域中的各个像素的值与近旁的同色像素的值的差分值(以下称作像素差分值)的最大值。并且,量化范围值是指,在以二进制来表现像素差分值的绝对值时所需要的位数。并且,压缩编码像素值数据比特数(s)是指,对像素值数据进行压缩编码后的数据的比特数。

也就是说,在区域内存在陡峭的边缘,即使在仅是某一像素的差分值变大的情况下,同一区域内的像素全都受到影响,而造成量化步长变大。因此,在专利文献1公开的数字信号压缩编码装置中,即使在差分值较小几乎不需要量化的情况下,也会发生不需要的量化误差。其结果是出现图像的画质劣化程度增大的问题。

对此,在专利文献2记载的图像编码装置中,图22所示的剩余码计数器301增加或减少针对定长编码的剩余码的计数,并通过管理被计数的计数值来进行控制,以使可逆编码的处理继续进行。

并且,在可逆编码的处理中,若将编码对象像素X的值登录到辞典中,则其索引被编码。并且,在编码对象像素X的值没有被登录到辞典中的情况下,周边像素值评价部302求出位于编码对象像素的前后的多个像素(P、A、B)之间的相关性,意味着相关的代码被编码。

即,关于编码对象像素X,在X的值没有被登录到辞典的情况下,与前后的多个像素一起作为一个代码被编码。因此,若专利文献2所记载的可逆编码处理被执行,则被编码的数据能够以可变长来表现。即,通过专利文献2所记载的可逆编码处理而被编码的数据成为可变长编码数据。因此,在对可变长编码数据进行解码时,则按照与编码时的像素扫描顺序相同的顺序,从被压缩的可变长编码数据的先头开始进行。

另外,一般在被搭载于数字静态相机等的集成电路所进行的图像处理中,从摄像元件输入的数字像素信号被暂时记忆到SDRAM(SynchronousDynamic Random Access Memory:同步动态随机存取存储器)等存储器中。并且,集成电路针对被暂时记忆的数据进行规定的图像处理、YC信号生成处理、扩大/缩小等变焦处理等,并使处理后的数据再次被暂时记忆到SDRAM中。

此时,在将图像内的任意区域中的图像提取的情况以及进行需要像素的上下间的参考和相关性的图像处理的情况下等,被要求从存储器读出任意区域的像素数据的情况比较多。此时,被记忆在存储器中的编码数据若为可变长编码数据,则在存储器中能够确定任意区域的像素数据被记忆的区域。即,从存储器中不能读出任意区域的像素数据。因此,被记忆在存储器中的编码数据若为可变长编码数据,则有损于随机存取性。

发明内容

用于解决问题的手段

本发明为了解决上述的问题,目的在于提供一种图像编码装置等,该图像编码装置等能够在维持随机存取性的同时,降低图像的画质劣化程度。

为了解决上述的课题,依照本发明的某个局面,对图像进行编码的图像编码装置进行用于对图像进行编码的编码处理。图像由预先被排了顺序的多个像素构成。编码处理所包括的处理是:在编码对象像素的值与预测值的差分值的二进制数据的位数B,比规定的比特数M小的情况下,使作为通过M-B而被算出的J个比特的剩余比特剩余,并对与比M小的位数B相对应的差分值进行编码处理,所述编码对象像素是成为编码对象的像素,所述预测值是通过对编码对象像素的值进行预测而得到的值;在所述位数B比M大的情况下,且存在有K个所述剩余比特的情况下,使用L个剩余比特对与比M大的位数B相对应的差分值进行编码处理,在此,L≤K;所述图像编码装置,通过将针对连续的T个像素中的U个像素的每一个进行所述编码处理的处理,以所述多个像素中的连续的T个像素为单位来执行,从而生成多个规定代码量的编码数据,在此,T≥2,U≤T;多个规定代码量的编码数据,是用于复原图像的数据;各个规定代码量的编码数据,是用于复原对应的T个像素的数据。

即,图像编码装置所进行的编码处理是:在编码对象像素的值与预测值的差分值的二进制位数B比规定的比特数M小的情况下,使剩余比特剩余并进行编码处理;并且,在位数B比M大的情况下,且存在有剩余比特的情况下,使用剩余比特来进行编码处理。通过将针对连续的T个像素中的U个像素的每一个进行所述编码处理的处理,以连续的T个像素为单位来执行,从而生成多个规定代码量的编码数据。多个规定代码量的编码数据,是用于复原图像的数据。

因此,在存在有剩余比特的情况下,由于使用剩余比特来编码,因此能够减少因编码而带来的图像的画质的劣化程度。并且,规定代码量的编码数据被生成多个。因此,在将被生成的多个规定代码量的编码数据例如记忆到存储器等的情况下,能够容易地确定与图像内的特定位置的像素相对应的编码数据。这样,能够维持针对编码数据的随机存取性。

即,通过本发明,能够在维持随机存取性的基础上,降低图像的画质劣化程度。

发明效果

根据本发明,图像编码装置所进行的编码处理是:在编码对象像素的值与预测值的差分值的二进制位数B比规定的比特数M小的情况下,使剩余比特剩余并进行编码处理;并且,在位数B比M大的情况下,且存在有剩余比特的情况下,使用剩余比特来进行编码处理。通过将针对连续的T个像素中的U个像素的每一个进行所述编码处理的处理,以连续的T个像素为单位来执行,从而生成多个规定代码量的编码数据。多个规定代码量的编码数据,是用于复原图像的数据。

因此,在存在有剩余比特的情况下,由于使用剩余比特来编码,因此能够减少因编码而带来的图像的画质的劣化程度。并且,规定代码量的编码数据被生成多个。因此,在将被生成的多个规定代码量的编码数据例如记忆到存储器等的情况下,能够容易地确定与图像内的特定位置的像素相对应的编码数据。这样,能够维持针对编码数据的随机存取性。

即,通过本发明,能够在维持随机存取性的基础上,降低图像的画质劣化程度。

附图说明

图1是示出本发明的实施例1所涉及的图像编码装置和图像解码装置的构成的方框图。

图2是图像编码处理的流程图。

图3是在图像编码处理中进行的剩余比特计数器更新处理的流程图。

图4示出了摄像元件的一个例子。

图5示出了用于预测值的算出的编码对象像素的近旁像素的配置。

图6示出了数据表的一个例子。

图7A是用于说明不使用剩余比特而进行编码处理的图。

图7B是用于说明不使用剩余比特而进行编码处理的图。

图8示出了数据表的一个例子。

图9A是用于说明在本实施例中使用了剩余比特的图像编码处理的图。

图9B是用于说明在本实施例中使用了剩余比特的图像编码处理的图。

图10是图像解码处理的流程图。

图11是剩余比特计数器更新处理R的流程图。

图12是示出实施例2所涉及的数字静态相机的构成的方框图。

图13A是用于说明针对IQ信号以及亮度信号的处理的图。

图13B是用于说明针对IQ信号以及亮度信号的处理的图。

图14是示出实施例3所涉及的图像编码装置以及图像解码装置的构成的方框图。

图15A是用于说明在不控制使用的剩余比特数的情况下的图像编码处理的图。

图15B是用于说明在不控制使用的剩余比特数的情况下的图像编码处理的图。

图16A是用于说明在本实施例中的在控制使用剩余比特数的情况下的图像编码处理的图。

图16B是用于说明在本实施例中的在控制使用剩余比特数的情况下的图像编码处理的图。

图17是剩余比特控制处理的流程图。

图18是剩余比特计数器更新处理A的流程图。

图19是示出实施例4中的数字静态相机的构成的方框图。

图20示出了实施例5中的计算机以及打印机。

图21说明了以往的技术。

图22说明了以往的技术。

具体实施方式

以下参照附图对本发明的实施例进行说明。另外,在以下的各个实施例以及变形例的说明中,对于与曾经说明过的构成要素具有相同的功能的构成要素赋予相同的符号并省略说明。

<实施例1>

图1是示出本发明的实施例1所涉及的图像编码装置100和图像解码装置110的构成的方框图。

(图像编码装置中的编码处理)

首先,参照图1以及图2、图3对图像编码装置100所进行的针对图像的编码处理(以下称为图像编码处理)进行说明。

图2是图像编码处理的流程图。图3是图像编码处理中所进行的剩余比特计数器更新处理的流程图。

图像编码装置100包括:像素数据接收部101、预测值算出部102、差分算出部103、量化处理部108、以及打包部106。

像素数据接收部101从后述的摄像元件1312依次接收像素数据。像素数据接收部101具有图中未示出的缓冲器。缓冲器可以被视为是至少能够记忆一个像素数据的存储器。

图4作为一个例子示出了摄像元件1312。如图4所示,在摄像元件1312中,多个像素被配置成矩阵状。在此,在摄像元件1312中,在X方向上被配置有xa个像素,在Y方向上被配置有ya个像素。

多个像素的每一个具有红色(R)、绿色(G)、蓝色(B)中的某一个滤色器。摄像元件1312所示的滤色器的排列,作为一个例子例如是拜耳(Bayer)排列。在这种情况下,构成一张图像(图片)的多个像素中的一个像素,例如由像素P1、P2、P21、P22来表现。

例如,像素P1以及像素P2分别具有绿色(G)以及红色(R)的滤色器。并且,像素P21以及像素P22分别具有蓝色(B)以及绿色(G)的滤色器。

像素数据接收部101依次接收从第一行第一列的像素(像素P1)的数据到第一行第xa列的像素的数据。即,像素数据接收部101针对同一行的多个像素,依次接收从第一列到第xa列的像素的数据。例如,像素数据接收部101依次接收像素P1、P2、P3······的数据。

另外,像素数据接收部101在接收了同一行的第xa列的像素的数据之后,像素数据接收部101接收下一行的第一列的像素的数据。通过反复进行以上的处理,最终像素数据接收部101接收第ya行第xa列的像素的数据。

详细将在以后说明,在此,多个像素数据以固定比特宽为单位而被编码。固定比特宽是指,通过对像素数据进行编码而得到的数据量(比特)。固定比特宽例如是s比特(s:自然数)。详细将在以后说明,在此,图像编码装置100对像素数据进行编码,并将固定比特宽(s比特)的数据以固定比特宽单位来输出。

以下,在以固定比特宽(s比特)单位来对像素数据进行编码之时,将最初被处理的各个色彩(例如:红色、蓝色、绿色等)的像素数据称为初始像素值数据。例如,图4所示的像素P1的数据是绿色的初始像素值数据。并且,像素P2的数据是红色的初始像素值数据。并且,在本实施例中,像素数据接收部101所接收的各个像素数据是12比特长的数字数据(N=12)。即,像素数据接收部101所接收的各个像素数据以12比特来表示像素值。

像素数据接收部101将接收的像素数据记忆到内部的缓冲器中。另外,像素数据接收部101在像素数据被记忆到内部的缓冲器的状态下,接收了新的像素数据的情况下,将被记忆在缓冲器中的像素数据发送给预测值算出部102。并且,像素数据接收部101将接收的新的像素数据发送给差分算出部103。并且,像素数据接收部101将新的像素数据覆盖记忆到内部缓冲器中。

如图1所示,像素数据接收部101将接收的像素数据,以恰当的定时发送给预测值算出部102以及差分算出部103。以下,将像素数据接收部101所接收的第n个像素数据简单地称为第n个像素数据。

具体而言,像素数据接收部101在接收了第n(n:2以上的自然数)个像素数据时,在将第n-1个像素数据发送给预测值算出部102的同时,将第n个像素数据发送给差分算出部103。

像素数据接收部101在接收的像素数据为初始像素值数据的情况下(图2:S114的“是”),将该输入像素数据发送给打包部106。

以下,将成为编码的对象的像素称为编码对象像素。并且,将编码对象像素的像素值称为编码对象像素值。并且,将表示编码对象像素值的像素数据称为编码对象像素数据。编码对象像素数据是以前所述的第n个像素数据。

预测值算出部102所接收的像素数据是以下的第一像素数据、第二像素数据以及第三像素数据中的任一个。

第一像素数据是在编码对象像素数据之前由像素数据接收部101接收的像素数据。第二像素数据是表示从在编码对象像素数据之前由像素数据接收部101接收的多个像素数据中,通过运算而被算出的值的像素数据。第三像素数据是,在编码对象像素数据之前的像素数据由图像编码装置100编码后得到的数据,在由图像解码装置110解码后而得到的像素数据。

关于预测值算出部102将在以后详细说明,在此,利用接收的像素数据,算出编码对象像素数据的预测值(图2:S115)。

在此,在像素数据的编码方法中有预测编码方法。预测编码方法是指,算出以后将要说明的针对编码对象像素的预测值后,对编码对象像素的值与算出的预测值的差分值进行量化的编码方法。以下,将针对编码对象图像的预测值简单地称为编码对象像素的预测值。

编码对象像素的预测值是指,从编码对象像素的近旁的一个以上的像素的值中,预测了编码对象像素值之后的值。在此利用了编码对象像素的近旁的像素的值与编码对象像素值是相同的值,或者是与编码对象像素值接近的值的可能性高的特性。在预测编码方法中,通过利用编码对象像素的预测值,从而能够尽量使被算出的差分值变小,并抑制量化步长。

图5示出了在预测值的算出中所使用的编码对象像素的近旁的像素的配置。图5所示的“x”表示编码对象像素值。并且,图5所示的“a”、“b”、“c”是为了求出编码对象像素的预测值“y”的近旁的像素的像素值。以下示出了在算出编码对象像素的预测值之时一般被使用的预测公式(1)至公式(7)。

y=a        …公式(1)

y=b        …公式(2)

y=c        …公式(3)

y=a+b-c    …公式(4)

y=a+(b-c)/2…公式(5)

y=b+(a-c)/2…公式(6)

y=(a+b)/2  …公式(7)

这样,预测值算出部102利用编码对象像素的近旁的像素的像素值“a”、“b”、“c”,来求编码对象像素的预测值“y”。并且,该预测值“y”与编码对象像素“x”的预测误差Δ(=y-x)被算出,并且该预测误差Δ被编码。

预测值算出部102从被输入的像素数据中,利用以上所述的预测公式(1)至公式(7)的某一个预测公式,算出编码对象像素的预测值,并将算出的预测值发送给差分算出部103。

并且,关于算出编码对象像素的预测值的方法并非限定于使用预测公式(1)至公式(7)的某一个的方法。例如,在压缩处理中内部的存储缓冲器得以确保的情况下,与编码对象像素相邻的像素以外的周边像素的值也被预先保持到存储缓冲器中,通过在周边像素的值的预测中使用,从而能够提高预测精确度。

图像编码装置100还包括:量化步长设定部104、固定比特宽设定部107、以及剩余比特计数部105。另外,也可以是,图像编码装置100中所包含的多个部位的全部或一部分由硬件来构成。并且,也可以是,图像编码装置100中所包含的多个部位的全部或一部分是由CPU(CentralProcessing Unit:中央处理单元)等执行的程序的模块。

差分算出部103算出从图像数据接收部101发送来的编码对象像素的值与从预测值算出部102发送来的预测值之间的差分值。以下,将由差分算出部103算出的差分值称为预测差分值。预测差分值是从编码对象像素的值中减去预测值之后而得到的值。差分算出部103将算出的预测差分值发送给量化步长设定部104(图2:S116)。

固定比特宽设定部107按照来自外部的指示,来设定上述的固定比特宽。以下,将表示固定比特宽的信息称为固定比特宽信息。并且,固定比特宽设定部107将固定比特宽信息发送给打包部106、量化步长设定部104、以及剩余比特计数部105。

另外,固定比特宽设定部107即使没有来自外部的指示也可以设定固定比特宽。

在本实施例中,如以上所述,固定比特宽为s比特。固定比特宽例如被设定为被使用的集成电路的数据传输的总线带宽(图2:S111)。

量化步长设定部104根据从差分算出部103发送来的、与各个编码对象像素相对应的预测差分值,设定该预测差分值的量化步长Q。量化步长设定部104将预测差分值和设定的量化步长Q输出到量化处理部108。

以下,将预测差分值的绝对值称为预测差分绝对值。并且,以下将以二进制表示预测差分绝对值后的二进制数据的位数,称为预测差分二进制位数(单位:比特)。并且,以下将以标有正负符号的二进制表示预测差分值后的二进制数据的位数,称为标有正负符号的预测差分二进制位数(单位:比特)。

量化步长Q是通过从标有正负符号的预测差分二进制位数中减去基准比特宽M而被算出的值。另外,在该被算出的值为负值的情况下,量化步长Q的值为“0”。在此,基准比特宽M是为了表示一个像素而被使用的比特量。

基准比特宽M是根据从固定比特宽设定部107发送来的固定比特宽(s比特)利用以下公式(8)得到的。另外,在被算出的基准比特宽M的值中有小数点以后的值的情况下,基准比特宽M则成为舍掉小数点以后的值的值。

M=(s-N×q)/(Pix-q)-Code    …公式(8)

在公式(8)中,s表示固定比特宽。N是被输入到像素数据接收部101的像素数据的数据量(单位:比特)。q表示在以固定比特宽(s比特)进行编码时,打包部106所接收的作为初始像素值数据的像素数据的数量。Pix表示在编码后的固定比特宽(s比特)的数据内所包含的像素的数量。Pix的值是预先被设定的值。

在公式(8)中,Code是表示编码对象像素被量化时的量化步长Q的量化步长信息。以下,将Code称为量化步长信息Code。量化步长信息Code以一个以上的比特来表示。例如,量化步长信息Code在以3比特来表示的情况下,公式(8)中的Code的值为“3”。

量化步长信息Code与被量化的像素数据一起由打包部106打包,被打包后的数据被输出(图2:S136)。

此时,可以从与多个编码对象像素的每一个相对应的预测差分绝对值的最大值(以下称为最大像素值差)中求出量化步长Q,并对多个编码对象像素以相同的量化步长Q来进行量化。据此,能够减少被分配到量化步长信息Code的比特数。

但是,在增加与一个Code相对应的编码对象像素的像素数的情况下,如专利文献1所述,由于使用上述的最大像素值差,因此会有每一像素单位中的量化决定精确度降低的缺点。

剩余比特计数部105具有示出剩余比特的数量的剩余比特计数器。剩余比特是,在以基准比特宽M来表示预测差分值或量化预测差分值以后的值的情况下,没有被使用而剩余的比特。

剩余比特计数器在初始状态时表示为“0”。剩余比特计数部105在与编码对象像素相对应的标有正负符号的预测差分二进制位数比M(M:自然数)比特小的情况下,使剩余比特计数器所示的值仅增加M与标有正负符号的预测差分二进制位数之间的差分值(图3:S122)。

另外,在标有正负符号的预测差分二进制位数比M比特大,且剩余比特计数器所示的值为正的值的情况下,剩余比特计数部105将表示剩余比特的数量的信息发送给量化步长设定部104,同时使剩余比特计数器所示的值减少(图3:S124的“否”)。

接着,基准比特宽M为8比特的情况下,示出在对12比特的像素数据进行编码时的表示各种数据的数据表DT100。

图6示出了数据表DT100的一个例子。数据表DT100中所示的“预测差分绝对值”是上述的预测差分值的绝对值。关于“预测差分二进制位数”、“标有正负符号的预测差分二进制位数”以及“量化步长Q”,由于在以前曾经说明过,因此在此不进行重复的详细说明。

数据表DT100中所示的量化步长Q的值是,在基准比特宽M为8比特的情况下,通过从标有正负符号的预测差分二进制位数中减去基准比特宽M而被算出的值。另外,在该被算出的值为负的值的情况下,将量化步长Q的值视为“0”。

“剩余比特数”示出剩余比特的数量。剩余比特数是通过从基准比特宽M中减去标有正负符号的预测差分二进制位数而被算出的值。

在此,将固定比特宽设定部107所设定的固定比特宽作为256比特。并且,被输入到像素数据接收部101的像素数据的数据量被视为是12比特。并且,在以固定比特宽(s比特)所进行的编码中,将打包部106所接收的作为初始像素值数据的像素数据的数量设为“2”。将编码后的固定比特宽(s比特)的数据内所包含的像素的数量设为“26”。并且,将量化步长信息Code以1比特来表示。

即,在公式(8)中,s、N、q、Pix、Code的值分别为“256”、“12”、“2”、“26”、“1”。在这种情况下,通过上述的公式(8),则成为M=(256-12×2)/(26-2)-1=26/3=8.7。

因此,为了使编码后的数据量在256以下,因此舍掉8.7的小数点以后的值,而使基准比特宽M成为8。即,基本上能够将12比特的像素数据压缩为8比特的像素数据。在这种情况下,根据256/12=21.3,从而在数据压缩前能够以256比特的数据来表示21个12比特的像素数据。对此,在数据压缩后,能够以256比特的数据来表示26个的像素数据。

如图6所示,在标有正负符号的差分二进制位数小于基准比特宽M“8”的情况下(图3:S21的“是”),剩余计数部105使剩余比特计数器的值增加一个值,该被增加的值是通过从8减去标有正负符号的预测差分二进制位数而被算出的值(图3:S122)。如以上所述,剩余比特计数器示出剩余比特的数量。另外,标有正负符号的预测差分二进制位数在基准比特宽M“8”以上的情况下,剩余比特计数器的值不被增加。

量化处理部108进行量化处理,根据由量化步长设定部104设定的量化步长Q,对与量化对象像素相对应的预测差分值进行量化。并且,量化处理部108将通过量化处理而得到的值在以被指定的比特数表示后的数据(以下称为编码像素数据),发送给打包部106。根据量化步长Q的量化处理是指,以2的Q次方来除与编码对象像素相对应的预测差分值的处理。并且,量化处理部108在量化步长Q为“0”的情况下,不进行量化。在这种情况下,将以被指定的比特数表示预测差分值以后的像素数据(以下称为编码像素数据),发送给打包部106。

打包部106使至少一个以上的初始像素值数据、多个编码像素数据、以及至少与一个像素以上相对应的量化步长信息Code相结合,从而打包为s比特的数据(图2:S136)。

以下,将通过打包而得到的数据称为打包数据。打包部106进行将s比特的打包数据记忆到SDRAM等存储器的处理,或者进行将s比特的打包数据输出到解包部116的处理。并且,在s比特的打包数据中,在存在未使用比特的情况下,打包部106将未使用比特替换为伪数据。

图7A以及图7B是用于说明在不使用剩余比特而进行编码处理的图。

在此,像素数据接收部101依次接收与固定比特宽(s比特)的数据内所包含的像素的数量(26)具有相同数量的像素数据。并且,将像素数据接收部101所接收的像素数据的数据量视为12比特。即,像素数据的动态范围为12比特。在此,基准比特宽M被视为是8比特。并且,量化步长信息Code以3比特来表示。

在图7A中,作为一个例子示出了,被输入到像素数据接收部101的26个像素数据中的11个像素数据。

在像素数据接收部101中,以像素P1、P2、······P11的顺序,被输入有与各个像素相对应的12比特的像素数据。像素P1至P11中所示的数值是对应的像素数据所示的像素值。并且,分别与像素P1、P2相对应的两个像素数据分别为,绿色以及红色的初始像素值数据。

在本实施例中,编码对象像素的预测值作为一个例子是由预测公式(1)算出的。在这种情况下,被算出的编码对象像素的预测值成为编码对象像素的左侧相邻的像素的值。即,编码对象像素的像素值被预测为,与前一个被输入的像素成为同一像素值(级别)的可能性高。

预测差分值是从第n个像素的像素值中减去第(n-1)个像素的像素值后得到的值。

预测差分绝对值示出相邻的两个像素的值的差分值的绝对值。即,预测差分绝对值是预测差分值的绝对值。例如,在像素P1、P2的像素值分别为“300”、“220”的情况下,由像素P1、P2的像素值算出的预测差分绝对值为“80”。

在预测差分绝对值为“80”的情况下,由于“80”能够以基准比特宽M(8比特)来表示,因此预测差分绝对值“80”不被量化。即,预测差分绝对值“80”的量化步长Q成为“0”(参照图6)。

在图7A中,在以固定比特宽(s比特)为单位对编码对象像素值进行编码之时,针对多个编码对象像素值中的除掉与初始像素值数据相对应的像素之后的多个像素,以邻接的三个像素为单位进行分组。

在图7A的例子中,将属于各个组的三个像素所对应的三个预测差分绝对值中的最大值(以下称为最大预测差分绝对值)作为,用于求出在对属于该组的三个像素的每一个所对应的预测差分值进行量化时的量化步长Q的值。并且,在图7A的例子中,属于同一组的像素值以相同的量化步长Q被量化。

例如,属于组G1的像素P3、P4、P5所分别对应的三个预测差分绝对值分别为“40”、“20”、“40”。在这种情况下,最大预测差分绝对值为“40”。此时,最大预测差分绝对值“40”由于被包含在图6所示的“32”至“63”的范围的值以内,因此在量化属于组G1的像素P3、P4、P5时的量化步长Q成为“0”。

并且,属于组G2的像素P6、P7、P8所分别对应的三个预测差分绝对值分别为“270”、“500”、“66”。此时,最大预测差分绝对值为“500”。在这种情况下,最大预测差分绝对值“500”由于被包含在图6所示的“256”至“511”的范围的值以内,因此在量化属于组G2的像素P6、P7、P8的量化步长Q成为“2”。即,与属于组G2的像素P6、P7、P8相对应的所有的预测差分值以量化步长Q“2”而被量化。

图7A所示的“使用比特数”是指,为了表示通过量化对应的预测差分值而得到的值,而被使用的像素数据的比特数量。

例如,由于与像素P3相对应的量化步长Q为“0”,因此与像素P3相对应的预测差分值“40”以量化步长“0”而被量化。即,以2的0次方(=1)来除预测差分值“40”。通过该除法运算得到的值为“40”。即,预测差分值“40”不被量化。在该处理的例子中,为了表示通过除法运算得到的值“40”,而使用8比特的数据。

并且,例如,由于与像素P7相对应的量化步长Q为“2”,因此与像素P7相对应的预测差分值“-500”以量化步长Q“2”被量化。即,以2的2次方来除预测差分值“-500”。通过该除法运算得到的值为“-125”。在该处理的例子中,为了表示通过除法运算得到的值“-125”,而使用8比特的数据。

图7B示出了,在图7A中所说明的处理以及运算被执行的情况下,从图像编码装置100输出的固定比特宽(s比特)的数据。在图7B中,像素P1至P2内所示的数值示出了,对应的像素数据的比特数。如图7B所示,与初始像素值数据相对应的像素P1、P2的像素值以12比特的像素数据来表示。并且,在各个组中所包含的三个像素数据的先头,由打包部106附加了3比特的量化步长信息Code。

另外,如图7B所示,各个组所包含的三个像素的像素值以8比特的像素数据来表示。

在本实施例中,基准比特宽M为8比特,在对12比特的像素数据进行编码的情况下,以及对被编码的数据进行解码的情况下,使用以下的数据表DT110。在本实施例中,量化步长信息Code以3比特来表示。

图8示出了数据表DT110的一个例子。如图8所示,数据表TD110与图6所示的数据表DT100相比,不同之处是添加了“Code”这一项目。除此之外与数据表DT100相同,在此不重复详细说明。

在“Code”的项目中,通过3比特的量化步长信息Code,作为十进制的值,表示为“0”至“7”。据此,3比特的量化步长信息Code能够示出与被分类为8种的预测差分绝对值相对应的量化步长Q。具体而言,如数据表DT110所示,3比特的量化步长信息Code所示的8种代码(“000”、“001”等),与被分类为8种的预测差分绝对值所对应的量化步长Q相对应。

例如,在数据表DT110中,量化步长信息Code所示的代码“000”与预测差分绝对值为“0”至“31”的范围的值相对应。据此,量化步长信息Code所示的代码“000”示出量化步长Q“0”。

并且,例如,在数据表DT110中,将量化步长信息Code所示的代码“100”与预测差分绝对值“256”至“511”的范围的值相对应。据此,量化步长信息Code所示的代码“100”示出量化步长Q“2”。

并且,数据表DT110被预先记忆到图像编码装置100以及图像解码装置110所分别具有的图中未示出的存储器等记忆装置。即,在图像编码装置100以及图像解码装置110分别使用同一个数据表来进行各种处理。

(图像编码处理)

以下对本实施例中的图像编码处理进行详细说明。

图9A以及图9B是用于说明本实施例中的使用了剩余比特的图像编码处理的图。

在此,像素数据接收部101依次接收与固定比特宽(s比特)的数据内所包含的像素数(26)相同数量的像素数据。并且,像素数据接收部101所接收的像素数据的数据量为12比特。即,像素数据的动态范围为12比特。在此,基准比特宽M被视为是8比特。并且,量化步长信息Code以3比特来表示。

图9A作为一个例子示出了被输入到像素数据接收部101的26个像素数据中的11个像素数据。

在像素数据接收部101中,以像素P1、P2、······P11的顺序,被输入有与各个像素相对应的12比特的像素数据。像素P1至P11中所示的数值是对应的像素数据所示的像素值。并且,分别与像素P1、P2相对应的两个像素数据分别为,绿色以及红色的初始像素值数据。

在本实施例中,编码对象像素的预测值作为一个例子是由预测公式(1)算出的。在这种情况下,被算出的编码对象像素的预测值成为编码对象像素的左侧相邻的像素的值。即,编码对象像素的像素值被预测为,与前一个被输入的像素成为同一像素值(级别)的可能性高。

关于图9A所示的“预测差分值”、“预测差分绝对值”、“量化步长Q”、“使用比特数”,由于使用图7A进行了说明,因此在此不进行重复说明。

“剩余比特数”是,在以基准比特宽M来表示对应的预测差分值或量化该预测差分值以后的值的情况下,没有被使用而剩余的比特(剩余比特)数量。

“累加剩余比特数”是,在以对应的使用比特数进行编码的情况下,剩余比特计数器所示的值。

在图9A中与图7A同样,在以固定比特宽(s比特)为单位对编码对象像素值进行编码之时,针对多个编码对象像素值中的除掉与初始像素值数据相对应的像素之后的多个像素,以邻接的三个像素为单位进行分组。关于各个组由于利用图7A进行了说明,因此在此不重复详细说明。

在此,在图1的图像编码装置100内的量化步长设定部104内,被设置有图中未示出的用于记忆数据的存储器。在量化步长设定部104内的存储器中,预先被记忆有图8所示的数据表DT110。并且,记忆数据表DT110的存储器也可以被设置在量化步长设定部104的外部。

并且,在图像编码装置100内的打包部106内,被设置有图中未示出的用于记忆数据的存储器。并且,在预测值算出部102中被设置有图中未示出的用于记忆数据的存储器。

在图2的图像编码处理中,首先进行步骤S111的处理。

在步骤S111,固定比特宽设定部107设定固定比特宽(s比特)。固定比特宽例如被设定为被使用的集成电路的数据传输的总线带宽。并且,固定比特宽设定部107将示出固定比特宽(s比特)的固定比特宽信息发送给打包部106、量化步长设定部104、以及剩余比特计数部105。

在步骤S112,量化步长设定部104如以上所述,根据公式(8)算出基准比特宽M。在此,被算出的基准比特宽M被视为是8比特。量化步长设定部104将算出的基准比特宽M发送给剩余比特计数部105。

在步骤S113,像素数据接收部101接收像素数据。

在步骤S114,像素数据接收部101判断接收的图像数据是否为初始像素值数据。在步骤S114为“是”的情况下,像素数据接收部101使接收的像素数据记忆到内部的缓冲器,像素数据接收部101将接收的像素数据发送给打包部106。并且,处理移向后述的步骤S135。另外,在步骤S114为“否”的情况下,在进行后述的处理之后,处理移向步骤S115。

在此,像素数据接收部101接收与像素P1相对应的作为初始像素值数据的像素数据。在这种情况下,像素数据接收部101使接收的像素数据记忆到内部的缓冲器,像素数据接收部101将接收的像素数据发送给打包部106。并且,在像素数据被记忆到缓冲器的情况下,像素数据接收部101将接收的像素数据覆盖记忆到内部的缓冲器。

打包部106在接收了作为初始像素值数据的像素数据的情况下,将接收的像素数据(初始像素值数据)记忆到内部的存储器。并且,进行步骤S135的处理。

在步骤S135,打包部106判断接收的像素数据的数量是否与规定值Pix相等。接收的像素数据是初始像素值数据或编码对象像素数据。Pix如以上所述,示出了被包含在s比特的编码数据(打包数据)中的像素的数量。Pix的值例如可以是“26”。

在步骤S135为“是”的情况下,接收的像素数据的数量为“0”。并且,在此之后,例如在打包部106接收了一个像素数据的情况下,接收的像素数据的数量则成为“1”。并且,处理移向步骤S136。

另外,在步骤S135,在为“否”的情况下,再次进行步骤S113的处理。在此,视为接收的像素数据的数量与规定值Pix不相等,再次进行步骤S113的处理。

接着,像素数据接收部101接收与像素P2相对应的作为初始像素值数据的像素数据(S113)。

在这种情况下,在步骤S114被判断为“是”,像素数据接收部101使接收的像素数据覆盖记忆到内部的缓冲器,像素数据接收部101将接收的像素数据发送给打包部106。

并且,上述的步骤S135的处理被执行,再次执行步骤S113的处理。

在此,像素P3是编码对象像素。在这种情况下,像素数据接收部101接收与像素P3相对应的像素数据(编码对象像素数据)。编码对象像素数据所示的像素值为“260”。在这种情况下,由于接收的像素数据不是初始像素值数据(S114的“否”),像素数据接收部101将接收的像素数据发送给差分算出部103。

以下,将不是与初始像素值数据相对应的像素的编码对象像素所属的组称为处理对象组。例如,编码对象像素为像素P3的情况下,像素P3所属的组G1则成为处理对象组。

并且,在步骤S114被判断为“否”的情况下,像素数据接收部101将被记忆在内部的缓冲器的像素数据发送给预测值算出部102。在此,被发送的像素数据示出像素P2的像素值“220”。预测值算出部102在每当接收像素数据时,就将接收的像素数据记忆到内部的存储器。

并且,像素数据接收部101将接收的像素数据覆盖记忆到内部的缓冲器。并且,像素数据接收部101将接收的像素数据(编码对象像素数据)发送给差分算出部103。并且,处理移向步骤S115。

在步骤S115,预测值算出部102算出编码对象像素的预测值。具体而言,预测值算出部102利用预测公式(1)来算出预测值。在这种情况下,接收的像素数据所示的像素值(“220”)作为预测值被算出。预测值算出部102将算出的预测值“220”发送给差分算出部103。

并且,在算出第h个编码对象像素的预测值之时,在第(h-1)个的像素数据为初始像素值数据的情况下,将第(h-1)个的像素数据所示的值作为预测值,在第(h-1)个的像素数据不是初始像素值数据的情况下,由图像编码装置100编码的数据被输入到图像解码装置110并被解码,将通过解码而得到的像素数据所示的像素值作为编码对象像素的预测值。据此,即使在由量化处理部108进行量化处理而产生误差的情况下,也能够使预测值在图像编码装置100和在图像解码装置110中保持一致。

在步骤S116算出预测差分值。具体而言,差分算出部103通过从接收的编码对象像素数据所示的像素值(“260”)中减去接收的预测值“220”,从而算出预测差分值“40”。并且,差分算出部103将算出的预测差分值“40”发送给量化步长设定部104。

以下,将属于处理对象组的三个像素的每一个所对应的预测差分值称为处理对象预测差分值。例如,在处理对象组为组G1的情况下,属于组G1的像素P3、P4、P5的每一个所对应的预测差分值为处理对象预测差分值。

量化步长设定部104具有差分值计数器。差分值计数器是示出接收的预测差分值的数量的计数器。差分值计数器的初始值为“0”。量化步长设定部104在每当接收预测差分值时,就将接收的预测差分值记忆到内部的存储器,且使差分值计数器所示的值增加“1”。

在步骤S117,量化步长设定部104判断是否接收了三个预测差分值。即,量化步长设定部104判断差分值计数器所示的值是否为“3”。在步骤S117为“是”的情况下,量化步长设定部104将差分值计数器的值设定为“0”,处理移向步骤S118。另外,在步骤S117为“否”的情况下,再次执行步骤S113的处理。在此,将差分值计数器所示的值视为“1”,再次执行步骤S113的处理。

并且,通过执行两次上述的步骤S113至S116的处理,量化步长设定部104接收三个预测差分值。量化步长设定部104所接收的三个预测差分值是分别与属于组中的三个像素相对应的三个预测差分值。在这种情况下,三个预测差分值被记忆到内部的存储器。量化步长设定部104在接收了三个预测差分值时(S117的“是”),将差分值计数器的值设定为“0”。

在步骤S118执行量化步长设定处理。在量化步长设定处理中,量化步长设定部104算出,以标有正负符号的二进制表示了被记忆在内部的存储器中的三个预测差分值的每一个之后的二进制数据的位数(标有正负符号的预测差分二进制位数)。在此,三个预测差分值是,分别与属于图9A的组G1的像素P3、P4、P5相对应的三个预测差分值“40”、“20”、“40”。在这种情况下,被算出的三个标有正负符号的预测差分二进制位数分别为“7”、“7”、“7”。

并且,量化步长设定部104算出三个预测差分值的绝对值(预测差分绝对值)。在此,三个预测差分绝对值分别被视为“40”、“20”、“40”。在这种情况下,被算出的三个预测差分绝对值分别为“40”、“20”、“40”。

并且,量化步长设定部104算出三个预测差分绝对值中的最大值(以下称为最大预测差分绝对值)。在这种情况下,最大预测差分绝对值为“40”。

并且,量化步长设定部104利用被记忆在内部存储器的图8中的数据表DT110和最大预测差分绝对值(例如“40”),来设定量化步长Q。

在最大预测差分绝对值为“40”的情况下,由于最大预测差分绝对值“40”被包含在数据表DT110所示的“32”至“63”的范围的值之内,因此量化步长Q被设定为“0”。被设定的量化步长Q是与属于处理对象组的三个像素相对应而被设定的。在这种情况下,属于处理对象组(例如组G1)的三个像素(例如像素P3、P4、P5)所分别对应的三个量化步长Q,均被设定为“0”。

并且,量化步长设定部104将量化步长信息Code发送给打包部106。在这种情况下,由于最大预测差分绝对值“40”被包含在数据表DT110所示的“32”至“63”的范围的值之内,因此量化步长信息Code是表示代码“001”的信息。

并且,打包部106在接收了量化步长信息Code的情况下,将接收的量化步长信息Code记忆到内部的存储器。

在步骤S119,量化步长设定部104将属于处理对象组(例如组G1)的三个像素所分别对应的三个标有正负符号的预测差分二进制位数中的、最大的标有正负符号的预测差分二进制位数发送给剩余比特计数部105。

在步骤S 120,进行剩余比特计数器更新处理。

如图3所示,在剩余比特计数器更新处理中,首先执行步骤S121的处理。

在步骤S121,剩余比特计数部105判断接收的标有正负符号的预测差分二进制位数是否比基准比特宽M小。在步骤S121为“是”的情况下,处理移向步骤S122。另外,在步骤S121为“否”的情况下,处理移向后述的步骤S123。在此,将接收的标有正负符号的预测差分二进制位数视为“7”,将基准比特宽M视为8比特。此时,在被判断为“是”的情况下,进行步骤S122的处理。

在步骤S122进行计数器的值增加处理。在计数器的值增加处理中,剩余比特计数部105使剩余比特计数器所示的值增加一个值,该被增加的值是通过从基准比特宽M(例如“8”)中减去接收的标有正负符号的预测差分二进制位数(例如“7”)而得到的值(例如“1”)。通过此处理,剩余比特计数器示出“1”。

接着,结束该剩余比特计数器更新处理,再次返回到图2的图像编码处理,处理移向步骤S130。

在步骤S130执行数据发送处理。在数据发送处理中,量化步长设定部104将与属于处理对象组(例如组G1)的第p个像素相对应的量化步长Q,和与属于处理对象组(例如组G1)的第p个像素相对应的预测差分值,发送给量化处理部108。并且,p的初始值为“1”。例如,在处理对象组为组G1的情况下,属于组G1的像素P3、P4、P5分别是第1、第2、第3个的像素。

在步骤S131,量化步长设定部104判断与属于处理对象组的第p个像素相对应的量化步长Q是否为“0”。在步骤S131为“是”的情况下,处理移向步骤S133。另外,在步骤S131为“否”的情况下,处理移向后述的步骤S132。

在此,将与属于处理对象组的第p个像素相对应的量化步长Q视为“0”,处理移向步骤S133。

在步骤S133执行编码处理。在编码处理中,量化处理部108在从量化步长设定部104接收的量化步长Q为“0”,且量化处理部108没有接收后述的计数器减少值信息的情况下,执行以下的处理NA。

在处理NA中,量化处理部108生成针对从量化步长设定部104接收的预测差分值,以与该预测差分值相对应的标有正负符号的预测差分二进制位数的比特来表示的数据(以下称为编码像素数据)。并且,量化处理部108将生成的编码像素数据发送给打包部106。

在此,将接收的量化步长Q视为“0”。并且,将接收的预测差分值视为“40”。并且,将与预测差分值“40”相对应的标有正负符号的预测差分二进制位数视为“7”。

在这种情况下,量化处理部108生成以“7”比特表示了预测差分值“40”后的编码像素数据。即,如图9A所示,在生成编码像素数据时所使用的比特数为“7”。此时,若基准比特宽M为8比特,则产生一个剩余比特。

并且,被生成的编码像素数据被发送到打包部106。另外,打包部106将接收的编码像素数据记忆到内部的存储器。

并且,在编码处理中,量化处理部108在从量化步长设定部104接收的量化步长Q为“0”,且量化处理部108接收了后述的计数器减少值信息的情况下,进行后述的处理NB。

并且,在编码处理中,量化处理部108在从量化步长设定部104接收的量化步长Q在“1”以上,且量化处理部108接收了后述的计数器减少值信息的情况下,进行后述的处理NC。

在步骤S134中,量化步长设定部104判断与处理对象组相对应的、算出的所有的(三个)标有正负符号的预测差分二进制位数,是否都被发送到了剩余比特计数部105。在步骤S134为“是”的情况下,量化步长设定部104将p的值设定为“1”,处理移向步骤S135。另外,在步骤S134为“否”的情况下,量化步长设定部104使p的值增加“1”。接着,再次进行步骤S119的处理。

在此,视为“否”,再次进行上述的步骤S119的处理。根据此处理,与像素P4相对应的标有正负符号的预测差分二进制位数“7”被发送到剩余比特计数部105。

并且,通过再次进行图3的步骤S121、S122的处理,剩余比特计数器所示的值成为“2”。

并且,结束该剩余比特计数器更新处理,再次执行图2的步骤S130的处理。根据该处理,与属于处理对象组的第p个像素相对应的量化步长Q和与属于处理对象组的第2个像素相对应的预测差分值,被发送到量化处理部108。

并且,上述的步骤S131、S133的处理被执行。根据该处理,以“7”比特表示的编码像素数据被发送到打包部106。另外,打包部106使接收的编码像素数据记忆到内部的存储器。

并且,在步骤S134被判断为“否”的情况下,量化步长设定部104使p的值增加“1”。接着,再次进行步骤S119的处理。根据该处理,与像素P5相对应的标有正负符号的预测差分二进制位数“7”被发送到剩余比特计数部105。

并且,通过再次执行图3的步骤S121、S122的处理,则剩余比特计数器所示的值成为“3”。

并且,结束该剩余比特计数器更新处理,再次执行图2的步骤S130的处理。根据该处理,与属于处理对象组的第3个像素相对应的量化步长Q和与属于处理对象组的第3个像素相对应的预测差分值,被发送到量化处理部108。

并且,上述的步骤S131、S133的处理被执行。根据该处理,以“7”比特表示的编码像素数据被发送到打包部106。另外,打包部106使接收的编码像素数据记忆到内部的存储器。

并且,在步骤S134被判断为“是”的情况下,量化步长设定部104将p的值设定为“1”,进行步骤S135的处理。

在步骤S135,由于进行与上述同样的处理,因此不进行重复说明。在此,将接收的像素数据的数量视为与规定值Pix不相等,再次执行步骤S113的处理。

另外,如图9B所示,此时的打包部106接收分别与像素P1、P2相对应的初始像素值数据(12比特)和量化步长信息Code(3比特),以及分别与像素P3、P4、P5相对应的编码像素数据(7比特)。此时,从与像素P1相对应的初始像素值数据到与像素P5相对应的编码像素数据如图9所示那样,被连续地记忆到打包部106内的存储器中。

接着,像素数据接收部101接收与图9A所示的具有像素值“590”的像素P6相对应的像素数据。

此时,在步骤S114被判断为“否”,与上述同样,进行步骤S115、S116的处理。

通过上述的步骤S115、S116的处理,预测差分值“270”被算出。并且,差分算出部103将算出的预测差分值“270”发送给量化步长设定部104。

在步骤S117中,由于与上述进行同样的处理,在此不进行重复说明。在此,将差分值计数器所示的值视为“1”,再次进行步骤S113的处理。

并且,通过执行两次上述的步骤S113至S116的处理,从而量化步长设定部104接收了如图9A所示的三个预测差分值“270”、“-500”、“-66”。量化步长设定部104在接收了三个预测差分值时(S117的“是”),将差分值计数器的值设定为“0”。

在步骤S118,由于进行与上述同样的量化步长设定处理,因此不进行重复说明。在此,三个预测差分值是分别与属于图9A的组G2的像素P6、P7、P8相对应的三个预测差分值“270”、“-500”、“-66”。在此情况下,被算出的三个标有正负符号的预测差分二进制位数分别为“10”、“10”、“8”。此时,被算出的三个标有正负符号的预测差分二进制位数“10”、“10”、“8”分别与像素P6、P7、P8相对应。

并且,量化步长设定部104与上述同样,算出三个预测差分绝对值“270”、“500”、“66”。此时,最大预测差分绝对值为“500”。

并且,量化步长设定部104利用被记忆在内部的存储器中的图8的数据表DT110和最大预测差分绝对值“500”,设定量化步长Q。

在最大预测差分绝对值为“500”的情况下,由于最大预测差分绝对值“500”被包含在数据表DT110所示的“256”至“511”的范围的值之内,因此量化步长Q被设定为“2”。被设定的量化步长Q“2”被设定为与属于处理对象组(组G2)的三个像素相对应。

并且,量化步长设定部104将量化步长信息Code发送给打包部106。在这种情况下,由于最大预测差分绝对值“500”被包含在数据表DT110所示的“256”至“511”的范围的值之内,因此量化步长信息Code是表示代码“100”的信息。

并且,打包部106在接收了量化步长信息Code的情况下,将接收的量化步长信息Code记忆到内部的存储器。

接着,进行上述的步骤S119的处理。通过该处理,属于处理对象组(组G2)的三个像素所分别对应的三个标有正负符号的预测差分二进制位数中的、最大的标有正负符号的预测差分二进制位数“10”发送给剩余比特计数部105。

并且,执行步骤S120的剩余比特计数器更新处理。

在步骤S121,由于与上述进行同样的处理,因此不进行重复说明。在此,将接收的标有正负符号的预测差分二进制位数视为“10”,将基准比特宽M视为8比特。此时,若在步骤S121被判断为“否”,则处理移向步骤S123。

在步骤S123,剩余比特计数部105判断是否满足接收的标有正负符号的预测差分二进制位数比基准比特宽M大这一条件,以及判断是否满足剩余比特计数器的值比“0”大这一条件。在步骤S123若为“是”,则处理移向步骤S124。

在此,接收的标有正负符号的预测差分二进制位数(“10”)比基准比特宽M“8”大。并且,通过上述的处理,剩余比特计数器示出“3”。此时,若在步骤S123被判断为“是”,则处理移向步骤S124。

在步骤S124,剩余比特计数部105判断剩余比特计数器的值是否比与属于处理对象组(例如组G2)的第p个像素相对应的量化步长Q大。在步骤S124若判断为“是”,则处理移向步骤S124N。另外,在步骤S124若为“否”,则处理移向后述的步骤S125。

在此,剩余比特计数器示出“3”。并且,与属于处理对象组的第p个像素相对应的量化步长Q被设定为“2”。此时,若在步骤S124被判断为“是”,则处理移向步骤S124N。

在步骤S 124N进行计数器值减少处理。在计数器值减少处理中,剩余比特计数部105使剩余比特计数器所示的值(例如“3”)减少与属于处理对象组的第p个像素相对应的量化步长Q的值(例如“2”)。

并且,剩余比特计数部105将计数器减少值信息发送到量化步长设定部104。计数器减少值信息是表示使剩余比特计数器的值减少的值(例如“2”)的信息。此时,计数器减少值信息示出在以后的处理中能够使用的剩余比特的数量。

量化步长设定部104在接收计数器减少值信息时,将接收的计数器减少值信息发送给量化处理部108。

在步骤S124NA执行量化步长零设定处理。在量化步长零设定处理中,剩余比特计数部105将量化步长零变更指示发送给量化步长设定部104。量化步长零变更指示是用于将与属于处理对象组的第p个像素相对应的量化步长Q设定为“0”的指示。

并且,结束该剩余比特计数器更新处理,再次返回到图2的图像编码处理,处理移向步骤S130。

量化步长设定部104在接收量化步长零变更指示时,将由量化步长零变更指示所指定的像素(例如像素P6)所对应的量化步长Q的值(例如“2”)变更为“0”。

在步骤S130,由于进行与上述同样的处理,因此不进行重复说明。根据该处理,与属于处理对象组的第1个像素相对应的量化步长Q“0”和与属于处理对象组的第1个像素相对应的预测差分值,被发送到量化处理部108。

在步骤S131,由于进行与上述同样的处理,因此不进行重复说明。在此,在与属于处理对象组的第p个像素相对应的量化步长Q的值为“0”时,处理移向步骤S133。

在步骤S133执行上述的编码处理。在此,量化处理部108从量化步长设定部104接收的量化步长Q为“0”,且量化处理部108接收计数器减少值信息。在这种情况下,在进行编码处理时进行以下的处理NB。

在处理NB中,量化处理部108生成以(基准比特宽M+计数器减少值信息所示的值)比特来表示从量化步长设定部104接收的预测差分值后的数据(以下称为编码像素数据)。

并且,量化处理部108将生成的量化像素数据发送给打包部106。

在此,接收的预测差分值为“270”。基准比特宽M被视为是8比特。并且,计数器减少值信息所示的值被视为是“2”。在这种情况下,量化处理部108生成以“10”比特表示了预测差分值“270”后的编码像素数据。即,如图9A所示,在生成编码像素数据时所使用的比特数为“10”。

如以上所述,计数器减少值信息所示的值是能够使用的剩余比特的数量。因此,在计数器减少值信息所示的值为“2”的情况下,被生成的编码像素数据是使用两个剩余比特而被生成的数据。

并且,在步骤S134被判断为“否”的情况下,量化步长设定部104使p的值增加“1”。接着,再次进行步骤S119的处理。根据该处理,与像素P7相对应的标有正负符号的预测差分二进制位数“10”被发送到剩余比特计数部105。

并且,步骤S 120的剩余比特计数器更新处理被执行。

在步骤S121,由于与上述进行同样的处理,因此不进行重复说明。在此,将接收的标有正负符号的预测差分二进制位数视为“10”,将基准比特宽M视为8比特。此时,若在步骤S121被判断为“否”,则处理移向步骤S123。

在步骤S123,由于与上述进行同样的处理,因此不进行重复说明。在此,接收的标有正负符号的预测差分二进制位数(“10”)比基准比特宽M“8”大。并且,剩余比特计数器示出“1”。此时,若在步骤S123被判断为“是”,则处理移向步骤S124。

在步骤S124,由于与上述进行同样的处理,因此不进行重复说明。在此,剩余比特计数器示出“1”。并且,与属于处理对象组(例如组G2)的第p(2)个像素相对应的量化步长Q被设定为“2”。此时,若在步骤S124被判断为“否”,则处理移向步骤S125。

在步骤S 125执行量化步长变更处理N。在量化步长变更处理N中,剩余比特计数部105将量化步长变更指示N发送给量化步长设定部104。量化步长变更指示N是用于将与属于处理对象组的第p个像素相对应的量化步长Q(例如“2”),变更为仅减去剩余比特计数器的值(例如“1”)以后的值的指示。

量化步长设定部104在接收量化步长变更指示N时,将与属于处理对象组的第p个像素相对应的量化步长Q(例如“2”),变更为仅减去剩余比特计数器的值(例如“1”)以后的值。

在步骤S125N,剩余比特计数部105将剩余比特计数器所示的值设定为“0”。

并且,剩余比特计数部105将计数器减少值信息发送到量化步长设定部104。计数器减少值信息是表示使剩余比特计数器的值减少的值(例如“1”)的信息。此时,计数器减少值信息示出在以后的处理中能够使用的剩余比特的数量。

量化步长设定部104在接收计数器减少值信息时,将接收的计数器减少值信息发送给量化处理部108。

并且,结束该剩余比特计数器更新处理,再次返回到图2的图像编码处理,处理移向步骤S130。

在步骤S130,由于进行与上述同样的处理,因此不进行重复说明。根据该处理,与属于处理对象组的第2个像素相对应的量化步长Q“1”和与属于处理对象组的第2个像素相对应的预测差分值,被发送到量化处理部108。

在步骤S131,由于进行与上述同样的处理,因此不进行重复说明。在此,在与属于处理对象组的第2个像素相对应的量化步长Q的值为“1”时,处理移向步骤S132。

以下,将表示1以上的值的量化步长Q称为非零量化步长Q。

在步骤S132执行量化处理。在量化处理中,量化处理部108通过以2的Q次方来除与非零量化步长Q相对应的预测差分值来进行量化,所述非零量化步长Q与属于处理对象组的第p个像素相对应。以下,将通过量化而得到的值称为量化后值。

在此,属于处理对象组的第p个像素是像素P7。并且,与像素P7对应的预测差分值“-500”所对应的量化步长Q示出“1”。此时,量化处理部108通过以2的一次方(2)来除预测差分值“-500”,从而得到量化后值“-250”。

在步骤S133进行上述的编码处理。在此,量化处理部108从量化步长设定部104接收的量化步长Q为“1”,且量化处理部108接收计数器减少值信息。在这种情况下,在编码处理中进行以下的处理NC。

在处理NC中,量化处理部108生成以(基准比特宽M+计数器减少值信息所示的值)比特来表示的数据(以下称为编码像素数据)。如以上所述,计数器减少值信息所示的值是能够使用的剩余比特的数量。因此,通过该处理,被生成的编码像素数据是使用剩余比特而被生成的数据。

并且,量化处理部108将生成的编码像素数据发送给打包部106。

在此,量化后值是“-250”。基准比特宽M被视为是8比特。并且,计数器减少值信息所示的值示出“1”。在这种情况下,量化处理部108生成以“9”比特表示了量化后值“-250”后的编码像素数据。即,如图9A所示,在生成编码像素数据时所使用的比特数为“9”。

并且,在步骤S134被判断为“否”的情况下,量化步长设定部104使p的值增加“1”。接着,再次进行步骤S119的处理。根据该处理,标有正负符号的预测差分二进制位数“10”被发送到剩余比特计数部105。

并且,步骤S 120的剩余比特计数器更新处理被执行。

在步骤S121,由于与上述进行同样的处理,因此不进行重复说明。在此,将接收的标有正负符号的预测差分二进制位数视为“1”,将基准比特宽M视为8比特。在这种情况下,在步骤S121被判断为“否”,在步骤S123被判断为“否”,于是结束该剩余比特计数器更新处理,再次返回到图2的图像编码处理,处理移向步骤S130。

在步骤S130,由于进行与上述同样的处理,因此不进行重复说明。根据该处理,与属于处理对象组的第3个像素相对应的量化步长Q“2”和与属于处理对象组的第3个像素相对应的预测差分值,被发送到量化处理部108。

在步骤S131,由于进行与上述同样的处理,因此不进行重复说明。在此,在与属于处理对象组的第p个像素相对应的量化步长Q的值为“2”时,处理移向步骤S132。

在步骤S132,由于进行与上述同样的处理,因此不进行重复说明。

在此,属于处理对象组的第p个像素是像素P8。并且,与像素P8对应的预测差分值“-66”所对应的量化步长Q示出“2”。此时,量化处理部108通过以2的2次方(4)来除预测差分值“-66”,从而得到量化后值“-16”。

在步骤S133进行上述的编码处理。在此,量化处理108从量化步长设定部114接收的量化步长Q为“2”,且量化处理部108不接收计数器减少值信息。在这种情况下,量化处理部108生成以基准比特宽M比特来表示量化后值以后的数据(以下称为编码像素数据)。

并且,量化处理部108将生成的编码像素数据发送给打包部106。

在这种情况下,量化处理部108生成以“8”比特表示了预测差分值“-16”后的编码像素数据。即,如图9A所示,在生成编码像素数据时所使用的比特数为“8”。

并且,生成的编码像素数据被发送给打包部106。另外,打包部106使接收的编码像素数据记忆到内部的存储器。

并且,在步骤S134若判断为“是”,量化步长设定部104将p的值设定为“1”,步骤S135的处理被执行。

在步骤S135,由于进行与上述同样的处理,因此不进行重复说明。在此,将接收的像素数据的数量视为与规定值Pix不相等,再次执行步骤S113的处理。

此时,从与像素P1相对应的初始像素值数据到与像素P8相对应的编码像素数据如图9B所示那样,被连续地记忆到打包部106内的存储器中。

并且,直到在步骤S135被判断为“是”为止,从步骤S113至S134的处理中的至少一部分被重复执行。

在步骤S135被判断为“是”的情况下,处理移向步骤S136。

在步骤S136执行打包处理。在打包处理中,打包部106生成固定比特宽(s比特)的数据(编码数据),该固定比特宽(s比特)的数据(编码数据)包含被记忆在内部的存储器的多个数据(例如,图9B所示的多个数据)。即,打包部106生成规定代码量的编码数据。并且,在s比特的编码数据中,在存在未使用比特的情况下,打包部106将未使用比特替换为伪数据。

在被生成的编码数据中,例如图9所示包含一个以上的初始像素值数据、Pix个编码像素数据、以及多个量化步长信息Code(3比特)。由于Pix已经说明过,在此不重复详细说明。

并且,打包部106将生成的固定比特宽(s比特)的编码数据记忆到图中未示出的外部存储器。另外,在每当重复步骤S136的处理时,打包部106将生成的编码数据记忆到存储器,以使该被记忆到存储器的编码数据与已经记忆到外部存储器的编码数据成为连续状态。

在步骤S137,剩余比特计数部105将剩余比特计数器所示的值设定为“0”。

在步骤S138,打包部106针对成为处理对象的图像(图片)全体,判断编码处理是否已经结束。在步骤S138为“是”的情况下,结束该图像编码处理。另外,在步骤S138,在为“否”的情况下,再次进行步骤S113的处理。

并且,直到在步骤S138被判断为“是”为止,通过重复执行步骤S113至S137的处理中的至少一部分,从而使多个固定比特宽(s比特)的编码数据记忆到外部存储器。此时,被记忆到外部存储器的多个编码数据是用于复原图像的数据。

通过以上的处理,在本实施例中,与在图7A以及图7B所说明的不使用剩余比特的编码处理(以下称为不使用剩余比特处理)相比,具有以下的优点。

如图7A以及图9A所示,例如与像素P6相对应的预测差分值“270”在不使用剩余比特处理中,以量化步长Q“2”(2的2次方=4)而被量化。在这种情况下,在不使用剩余比特处理中,通过进行量化从而产生最大为“3”的量化误差。

另外,在本实施例中,与像素P6相对应的预测差分值“270”能够使用基准比特宽M(8比特)和两个剩余比特,以10比特来表示。因此,不需要对预测差分值“270”进行的量化处理。因此,量化误差被控制在“0”。

并且,与像素P7相对应的预测差分值“-500”在不使用剩余比特处理中,以量化步长Q“2”(2的2次方=4)而被量化。此时,在不使用剩余比特处理中,通过进行量化从而产生最大为“3”的量化误差。

另外,在本实施例中,与像素P7相对应的预测差分值“-500”需要使用基准比特宽M(8比特)和一个剩余比特,以9比特来表示。此时,若以量化步长Q“1”(2的一次方=2)来量化预测差分值“-500”,则能够以9比特来表示量化后的值“-250”。此时,能够将量化误差最大控制到“1”。

即,在对以图7A所示的量化步长Q“2”而被量化的像素(例如陡峭的边缘部分的像素)进行编码的情况下,在本实施例中使用剩余比特来进行编码。因此,在本实施例中,能够取消量化处理,并且能够减少在进行量化时的量化步长Q(例如从“2”变成“1”)。因此,能够抑制因量化误差而造成的图像的画质劣化。即,通过编码能够使图像的画质劣化的程度降低。

并且,在本实施例中,在外部的存储器中,多个固定比特宽(s比特)的编码数据是被连续起来记忆的。一个编码数据中包含用于复原像素的多个编码像素数据。因此,在请求向某个编码像素数据进行数据存取的情况下,只要向包括该编码像素数据的编码数据进行数据存取即可。因此,能够维持针对数据的随机存取性。

并且,固定比特宽(s比特)被设定为被使用的集成电路的数据传送的总线宽带宽。并且,能够保证总线带宽是一固定长。因此,能够在不影响随机存取性的情况下来实现。

综上所述,在本实施例中,能够在维持随机存取性的状态下,降低图像的画质劣化的程度。

另外,在本实施例的图像编码处理中,能够以LSI(Large Scale Integration:大规模集成电路)等硬件来实现。

(图像解码处理)

接着,对本实施例中的图像解码处理进行详细说明。

如图1所示,图像解码装置110包括:固定比特宽设定部117、解包部116、量化步长设定部114、剩余比特计数部115、输出部119、以及逆量化处理部118。图像解码装置110中所包含的多个部位的全部或一部分也可以由硬件来构成。并且,图像解码装置110中所包含的多个部位的全部或一部分可以是由CPU等执行的程序的模块。

剩余比特计数部115具有示出剩余比特的数量的剩余比特计数器RC。剩余比特计数器RC在初始状态时表示为“0”。

在此,通过上述的图2的图像编码处理,在图中未示出的外部存储器中记忆有连续的多个固定比特宽(s比特)的编码数据。并且,在图像解码装置110内的解包部116内,被设置有图中未示出的用于记忆数据的存储器。

在此,在图1的图像解码装置110内的量化步长设定部114内,被设置有图中未示出的用于记忆数据的存储器。在量化步长设定部114内的存储器中,预先被记忆有图8所示的数据表DT110。

图10是图像解码处理的流程图。在图像解码处理中,首先执行步骤S211的处理。

在步骤S211,固定比特宽设定部117设定固定比特宽(s比特)。固定比特宽被设定为通过图2的图像编码处理而生成的规定代码量的编码数据的比特量(例如256比特)。并且,固定比特宽例如可以被设定为使用的集成电路的数据传输的总线带宽。并且,固定比特宽设定部117将示出固定比特宽(s比特)的固定比特宽信息发送给解包部116、量化步长设定部114、以及剩余比特计数部115。

在步骤S212,量化步长设定部114如以上所述,根据公式(8)算出基准比特宽M。在此,被算出的基准比特宽M被视为是“8”。量化步长设定部114将算出的基准比特宽M发送给剩余比特计数部115。

在步骤S213进行编码数据获得处理。在编码数据获得处理中,解包部116通过从被连续记忆在外部存储器的多个编码数据中读出第t个编码数据来获得。另外,t的初始值为“1”。另外,不仅限于从外部存储器获得编码数据,例如也可以获得打包部106所输出的编码数据。

另外,在获得第t个编码数据时,解包部116使t的值增加“1”。

在步骤S213N中进行解包处理。在解包处理中,解包部116对获得的第t个编码数据进行解包。即,取出被包含在编码数据中的多个数据。并且,解包部116将取出的多个数据记忆到内部的存储器。此时,在内部的存储器中被连续记忆有图9B所示的多个数据。

以下,作为图像数据的取出方法,解包部116通过从被记忆在内部的存储器的多个像素数据中读出第g个像素数据来获得。另外,g的初始值为“1”。另外,g示出解包部116所获得的像素数据的数量。

例如,第1到第11个像素数据是分别与图9B所示的像素P1至P11相对应的11个像素数据。11个像素数据是初始像素值数据或编码像素数据。

以下,将解包部116获得的第g个像素数据所对应的像素称为解码对象像素。解码对象像素是成为解码对象的像素。

在步骤S214中,解包部116判断与解码对象像素相对应的图像数据是否为初始像素值数据。在步骤S214若为“是”,处理移向步骤S213NA。

在步骤S213NA中执行初始像素值数据获得处理。在初始像素值数据获得处理中,解包部116通过从被记忆在内部的存储器的多个像素数据中读出初始像素值数据来获得初始像素值数据。

解包部116在获得作为初始像素值数据的像素数据的情况下,将获得的像素数据发送给输出部119。并且,处理移向后述的步骤S235。另外,在步骤S214若为“否”,处理移向步骤S215。

另外,输出部119在接收初始像素值数据的情况下,输出部119使接收的初始像素值数据记忆到外部的存储器。另外,输出部119也可以不使接收的初始像素值数据记忆到外部的存储器,而可以输出到用于处理外部的图像的电路等。

在此,获得的像素数据是初始像素值数据,处理移向步骤S235。

在步骤S235,解包部116判断接收的像素数据的数量(g)是否与规定值Pix相等。获得的像素数据是初始像素值数据或编码像素数据。Pix如以上所述,示出了被包含在固定比特宽(s比特)的编码数据(打包数据)中的像素的数量。Pix的值例如可以是“26”。

在步骤S235若为“是”,则解包部116将g的值设定为“1”,处理移向步骤S237。另外,在步骤S235若为“否”,则解包部116使g的值增加“1”。接着,再次进行步骤S214的处理。在此,视为获得的像素数据的数量(g)与规定值Pix不相等,再次进行步骤S214的处理。

在此,与解码对象像素相对应的图像数据是,与像素P2相对应的初始像素值数据。

在这种情况下,在步骤S214若判断为“是”,则通过步骤S213NA的处理,解包部116获得作为初始像素值数据的像素数据(与像素P2相对应的像素数据)。并且,解包部116将作为获得的初始像素值数据的像素数据发送给输出部119,处理移向S235。

另外,输出部119在接收初始像素值数据时,输出部119将接收的初始像素值数据记忆到外部的存储器。

于是,上述的步骤S235的处理被执行,使g的值增加“1”之后,再次执行步骤S214的处理。

以下,与解码对象像素相对应的图像数据是,与像素P3相对应的作为编码像素数据的像素数据。此时,在步骤S214若被判断为“否”,则处理移向步骤S215。

在步骤S215执行预测值算出处理R,该预测值算出处理R用于算出解码对象像素的预测值。在预测值算出处理R,在第(g-1)个像素数据是初始像素值数据的情况下,执行以后的算出处理RA。

在算出处理RA,解包部116使用与预测公式(1)具有相同含义的公式来算出解码对象像素的预测值,所述预测公式(1)是在图2的图像编码处理步骤S115中在算出预测值时使用的公式。即,解包部116在第g个像素数据是处理对象的情况下,将第(g-1)个像素数据所示的值作为解码对象像素的预测值。

在此,处理对象的像素数据为与像素P3相对应的像素数据。此时,与像素P2相对应的像素数据所示的值“220”成为被算出的预测值。

在预测值算出处理R中,在第(g-1)个像素数据不是初始像素值数据的情况下,进行后述的算出处理RB。

在步骤S216,解包部116判断与解码对象像素相对应的像素数据是否为组内的第1个像素数据。组内的第1个像素数据是指,在被记忆在解包部116的内部的存储器中的多个像素数据中,属于第c个组的三个像素中的第1个像素所对应的像素数据。c的初始值是“1”。

例如,第1至第3个组分别是图9B所示的组G1、G2、G3。并且,在第c个组是组G1的情况下,属于组G1的第1、2、3个像素分别为像素P3、P4、P5。

在步骤S216若为“是”,处理移向步骤S217。另外,在步骤S126为“否”的情况下,处理移向后述的步骤S220。

在此,获得的像素数据是组内的第1个像素数据。此时,处理移向步骤S217。

在步骤S217,解包部116通过从被记忆在内部存储器的多个数据中,读出与第c个组相对应的量化步长信息Code来获得。并且,解包部116将获得的量化步长信息Code发送到量化步长设定部114。c的初始值是“1”。

例如,第1至第3个组分别是图9B所示的组G1、G2、G3。在此,获得的是与组G1相对应的量化步长信息Code(“001”)。

在步骤S218执行量化步长设定处理R。在量化步长设定处理R中,量化步长设定部114使用被记忆在内部的存储器中的图8的数据表DT110和从解包部116接收的量化步长信息Code所示的代码,在设定量化步长Q的同时算出剩余比特数。

被设定的量化步长Q是与属于第c个组的三个像素相对应的被设定的量化步长。并且,被算出的剩余比特数是与属于第c个组的三个像素的每一个相对应的剩余比特数。

在此,接收的量化步长信息Code示出代码“001”。代码“001”与数据表DT110所示的量化步长Q“0”和剩余比特数“1”相对应。此时,量化步长Q被设定为“0”。并且,被算出的剩余比特数成为“1”。

并且,量化步长设定部114将示出被设定的量化步长Q和被算出的剩余比特数的量化信息发送给剩余比特计数部115。

在步骤S220进行剩余比特计数器更新处理R。

图11是剩余比特计数器更新处理R的流程图。如图11所示,在剩余比特计数器更新处理R中,首先执行步骤S221的处理。

在步骤S221,剩余比特计数部115判断是否满足以下的两个条件,这两个条件是:接收的量化信息所示的量化步长Q为“0”的条件,以及接收的量化信息所示的剩余比特数比“0”大的条件。在步骤S221为“是”的情况下,处理移向步骤S222。另外,在步骤S221为“否”的情况下,处理移向后述的步骤S223。

在此,将接收的量化信息所示的量化步长Q视为“0”。并且,接收的量化信息所示的剩余比特数为“1”。此时,若在步骤S221被判断为“是”,则处理移向步骤S222。

在步骤S222进行计数器值增加处理R。在计数器值增加处理R中,剩余比特计数部115使剩余比特计数器RC所示的值增加接收的量化信息所示的剩余比特数。通过此处理,剩余比特计数器RC示出“1”。

并且,结束该剩余比特计数器更新处理R,再次返回到图10的图像解码处理,处理移向步骤S219。

在步骤S219执行编码像素数据获得处理R。在编码像素数据获得处理R中,解包部116在没有从量化步长设定部114接收到后述的计数器减少值信息R的情况下,执行以下的获得处理RA。

在获得处理RA中,解包部116根据被记忆在内部存储器的图8的数据表DT110和获得的量化步长信息Code所示的代码,对使用剩余比特而被编码的像素数据的比特数按照各个像素来进行设定。

在此,接收的量化步长信息Code示出代码“001”。代码“001”与数据表DT110所示的标有正负符号的预测差分二进制位数“7”相对应。此时,解包部116从内部的存储器读出像素数据时所使用的比特数为“7”。

即,解包部116在从图9B所示的左侧开始多个像素数据被记忆到内部的存储器的情况下,将从开头到第7比特为止作为像素P3的像素数据来读出,从而获得像素数据。并且,解包部116将获得的像素数据发送给量化步长设定部114。

另外,在编码像素数据获得处理R中,解包部116在从量化步长设定部114接收了后述的计数器减少值信息R的情况下,进行后述的获得处理RB。

在步骤S230进行数据发送处理R。在数据发送处理R,量化步长设定部114将与解码对象像素相对应的量化步长Q、获得的像素数据、以及算出的解码对象像素的预测值发送给逆量化处理部118。

在步骤S231进行解码处理。在解码处理中,逆量化处理部118在没有接收到后述的计数器减少值信息R的情况下,执行以下的处理RA。

在处理RA中,逆量化处理部118生成以像素数据接收部101所接收的像素数据的动态范围的标有正负符号的二进制位数,来表示接收的像素数据所示出的值之后的数据(以下称为解码数据)。即,由于本实施例中的像素数据的动态范围为12比特,因此生成13比特的解码数据。

并且,逆量化处理部118将生成的解码数据和算出的解码对象像素的预测值发送到输出部119。

在此,接收的像素数据所示的值为“40”。并且,接收的像素数据为7比特。此时,逆量化处理部118生成以13比特来表示接收的像素数据所示出的值“40”后的解码数据。

另外,在解码处理中,逆量化处理部118在接收了后述的计数器减少值信息R的情况下,执行后述的处理RB。

在步骤S232,量化步长设定部114判断与解码对象像素相对应的量化步长Q是否为“0”。在步骤S232若为“是”,处理移向步骤S234。另外,在步骤S232为“否”的情况下,处理移向后述的步骤S233。在此,在与解码随想像素相对应的量化步长Q的值为“0”时,处理移向步骤S234。

在步骤S234执行输出处理。在输出处理,输出部119在接收解码数据时生成解码像素数据,该解码像素数据示出了对接收的解码数据所表示的值、与由步骤S215的预测值算出处理R算出的解码对象像素的预测值相加后的值。并且,输出部119将生成的解码像素数据记忆到外部的存储器。并且,输出部119将生成的解码像素数据发送给解包部116。

另外,输出部119也可以不使生成的解码像素数据记忆到外部的存储器,而可以输出到用于处理外部的图像的电路等。

在此,解码数据所示的值为“40”。并且,由于第(g-1)个像素数据为初始像素值数据,因此算出的解码对象像素的预测值为像素P2的像素值“220”。

即,在输出处理中,输出部119生成解码像素数据,该解码像素数据示出了对接收的解码数据所示的值、与作为预测值的获得的像素数据所示的值相加后的值。

此时,被生成的解码像素数据示出“260”。即,被生成的解码像素数据是示出图9A所示的像素P3的像素值的像素数据。

并且,上述的步骤S235的处理被执行,使g的值增加“1”后,再次执行步骤S214的处理。

以下,与解码对象像素相对应的图像数据是,与像素P4相对应的作为编码像素数据的像素数据。此时,在步骤S214被判断为“否”的情况下,处理移向步骤S215。

接着,执行步骤S215的预测值算出处理R。在此,第(g-1)个像素数据不是初始像素值数据。在这种情况下,在预测值算出处理R进行以下的算出处理RB。

在算出处理RB,解包部116将从输出部119接收的解码像素数据所示的像素值,作为解码对象像素的预测值。在此,从输出部119接收的解码像素数据是,示出图9A所示的像素P3的像素值的像素数据。此时,解码对象像素的预测值为“260”。

并且,解包部116在算出属于上述的第c个组的所有的像素的预测值的情况下,解包部116使c的值增加“1”。

在步骤S216由于进行与上述同样的处理,因此不进行重复说明。在此,若被判断为“否”,处理移向步骤S220。

并且,通过在此执行图11的步骤S221、S222的处理,从而剩余比特计数器RC所示的值为“2”。

并且,结束该剩余比特计数器更新处理R,再次返回到图10的图像解码处理,再次进行步骤S230的处理。通过该处理,与解码对象像素相对应的量化步长Q“0”、获得的像素数据、以及算出的解码对象像素的预测值“260”发送给逆量化处理部118。

并且,步骤S219的编码像素数据获得处理R被执行。在此,与上述同样,获得处理RA被执行。

接着,进行步骤S231的解码处理。在此,与上述同样,进行处理RA。

在处理RA中,逆量化处理部118生成以像素数据接收部101所接收的像素数据的动态范围的标有正负符号的二进制位数(13),来表示接收的像素数据所示出的值“20”之后的解码数据。

并且,逆量化处理部118将生成的解码数据发送给输出部119。

并且,在步骤S323被判断为“是”的情况下,与上述同样进行步骤S234的处理。通过此处理,输出部119生成示出像素P4的像素值“280”的解码像素数据,并将生成的解码像素数据记忆到外部的存储器。并且,输出部119将生成的解码像素数据发送给解包部116。

并且,上述的步骤S235的处理被执行,使g的值增加“1”之后,再次执行步骤S214的处理。

并且,步骤S215的处理被执行。通过该处理,解码对象像素的预测值“280”被算出。在该时刻,由于属于组G1的所有的像素的预测值被算出,因此解包部116使c的值增加“1”。在此,c的值为“2”。

并且,通过执行步骤S216的处理、图11的步骤S221、S222的处理,从而剩余比特计数器RC所示的值成为“3”。

并且,步骤S219、S230、S231、S232、S234的处理与上述的同样。通过该处理,示出像素值“320”的解码像素数据被生成,被生成的解码像素数据被发送到解包部116。

并且,上述的步骤S235的处理被执行,在使g的值增加“1”之后,再次执行步骤S214的处理。

并且,步骤S215的处理被执行。通过该处理,解码对象像素的预测值“320”被算出。

在此,与解码对象像素相对应的像素数据是上述的组内的第1个像素数据。该像素数据是与图9B所示的像素P6相对应的10比特的编码像素数据。即,与解码对象像素相对应的像素数据是,与属于组G2的第1个像素相对应的像素数据。

此时,在步骤S216被判断为“是”的情况下,进行上述的步骤S217的处理。通过该处理,解包部116通过将被记忆在内部的存储器中的多个数据中的、与第2个组(组G2)相对应的量化步长信息Code从该存储器中读出来获得。获得的量化步长信息Code示出代码“100”。

在步骤S218的量化步长设定处理R中,由于与上述的处理同样,因此不重复详细说明。通过该处理,量化步长Q被设定为“2”。并且,被算出的剩余比特数为“0”。

在这种情况下,被设定的量化步长Q是针对属于第2个组的三个像素而被设定的量化步长。并且,被算出的剩余比特数是与属于第2个组的三个像素的每一个相对应的剩余比特数。

并且,量化步长设定部114将示出被设定的量化步长Q和被算出的剩余比特数的量化信息,发送给剩余比特计数部115。

并且,再次执行图11的步骤S221的处理。在此,在步骤S221被判断为“否”的情况下,处理移向步骤S223。

在步骤S223,剩余比特计数部115判断,剩余比特计数器RC的值是否比接收的量化信息所示的量化步长Q大。在步骤S223为“是”的情况下,处理移向步骤S224。另外,在步骤S223为“否”的情况下,处理移向后述的步骤S226。

在此,剩余比特计数器RC的值为“3”。并且,量化信息所示的量化步长Q为“2”。此时,若被判断为“是”,处理移向步骤S224。

在步骤S224执行计数器值减少处理R。在计数器值减少处理R中,剩余比特计数部115使剩余比特计数器RC的值(例如“3”),减少接收的量化信息所示的量化步长Q(例如“2”)的值。通过该处理,剩余比特计数器RC的值成为“1”。

并且,剩余比特计数部115将计数器减少值信息R发送到量化步长设定部114。计数器减少值信息R是表示将剩余比特计数器RC的值减少的值(例如“2”)的信息。此时,计数器减少值信息R示出在以后的处理中能够使用的剩余比特的数量。

量化步长设定部114在接收计数器减少值信息R时,将接收的计数器减少值信息R发送给逆量化处理部118以及解包部116。

在步骤S225执行量化步长零设定处理R。在量化步长零设定处理R中,剩余比特计数部15将量化步长零变更指示发送给量化步长设定部114。量化步长零变更指示R是用于将与解码对象像素相对应的量化步长Q设定为“0”的指示。

并且,结束该剩余比特计数器更新处理R,再次返回到图10的图像解码处理,处理移向步骤S219。

量化步长设定部114在接收量化步长零变更指示R时,将与解码对象像素相对应的量化步长Q变更为“0”。

在步骤S219执行编码像素数据获得处理R。在此,由于解包部116接收了计数器减少值信息R,因此在编码像素数据获得处理R中执行以下的获得处理RB。

在获得处理RB中,解包部116通过从内部的存储器中读出消费剩余比特并被编码的像素数据来获得,所述消费剩余比特并被编码的像素数据是以(基准比特宽M+计数器减少值信息R所示的值)比特来表示的像素数据。

在此,基准比特宽M被视为是8比特。并且,计数器减少值信息R所示的值为“2”。此时,由于与解码对象像素相对应的像素数据是与属于图9B所是的组G2的第1个像素相对应的像素,因此解包部116将从开头开始直到第10比特为止作为与像素P6相对应的像素数据来读出从而获得。并且,解包部116将获得的像素数据发送到量化步长设定部114。

如以上所述,计数器减少值信息R所示的值是能够使用的剩余比特的数量。因此,在计数器减少值信息R所示的值为“2”的情况下,通过读出而获得的解码对象像素所对应的像素数据是使用两个剩余比特而被生成的数据。

在步骤S230进行与上述同样的处理。通过该处理,与解码对象像素相对应的量化步长Q“0”、获得像素数据、以及算出的解码对象像素的预测值“320”,被发送到逆量化处理部118以及解包部116。

接着,进行步骤S231的解码处理。并且,由于从量化步长设定部114接收的量化步长Q为“0”,且逆量化处理部118接收了后述的计数器减少值信息,因此在解码处理中进行以后的处理RB。

在处理RB中,逆量化处理部118生成以像素数据接收部101所接收的像素数据的动态范围的标有正负符号的二进制位数,来表示以接收的(基准比特宽M+计数器减少值信息R所示的值)比特所表示的数据之后的数据(以下称为解码数据)。

并且,逆量化处理部118将生成的解码数据发送给输出部119。

在此,接收的像素数据所示的值为“270”。此时,逆量化处理部118生成以13比特来表示接收的像素数据所示出的、以10比特表示的值“270”。

并且,在步骤S232被判断为“是”的情况下,与上述同样进行步骤S234的处理。通过该处理,像素P5的像素值“320”所示的像素数据由输出部119来获得,示出像素P6的像素值“590”的解码像素数据被生成。并且,生成的解码像素数据被记忆到外部的存储器。并且,输出部119将生成的解码像素数据发送给解包部116。

并且,上述的步骤S235的处理被执行,在使g的值增加“1”以后,再次执行步骤S214的处理。

并且,步骤S215的处理被执行。通过该处理,解码对象像素的预测值“590”被算出。

并且,在步骤S216被判断为“否”的情况下,与上述同样进行步骤S221的处理。在此,若在步骤S221被判断为“否”,则处理移向步骤S223。

在此,剩余比特计数器RC的值为“1”。并且,接收的量化信息所示的量化步长Q为“2”。此时,若在步骤S223被判断为“否”,则处理移向步骤S226。

在步骤S226执行量化步长变更处理R。在量化步长变更处理中,剩余比特计数部105将量化步长变更指示发送给量化步长设定部114。量化步长变更指示R是用于将与解码对象像素相对应的量化步长Q(例如“2”),变更为仅减去剩余比特计数器RC的值(例如“1”)以后的值的指示。

量化步长设定部114在接收量化步长变更指示R时,将与解码对象像素相对应的量化步长Q(例如“2”),变更为仅减去剩余比特计数器RC的值(例如“1”)之后的值(例如“1”)。

在步骤S227,剩余比特计数部115将剩余比特计数器RC的值设定为“0”。

并且,剩余比特计数部115将计数器减少值信息R发送到量化步长设定部114。计数器减少值信息R是表示将剩余比特计数器RC的值减少后的值(例如“1”)的信息。此时,计数器减少值信息R示出在以后的处理中能够使用的剩余比特的数量。

量化步长设定部114在接收计数器减少值信息R时,将接收的计数器减少值信息R发送给逆量化处理部118以及解包部116。

并且,结束该剩余比特计数器更新处理R,再次返回到图10的图像解码处理,处理移向步骤S219。

在步骤S219与上述同样执行获得处理RB。在此,基准比特宽M被视为是8比特。并且,计数器减少值信息R所示的值为″1″。此时,由于与解码对象像素相对应的像素数据是与属于图9B所是的组G2的第2个像素相对应的像素,因此解包部116将从开头开始直到第9比特为止作为与像素P7相对应的像素数据来读出从而获得。并且,解包部116将获得的像素数据发送到量化步长设定部114。

如以上所述,计数器减少值信息R所示的值是能够使用的剩余比特的数量。因此,在计数器减少值信息R所示的值为“1”的情况下,通过读出而获得的解码对象像素所对应的像素数据是使用1个剩余比特而被生成的数据。

在步骤S230执行与上述同样的处理。通过该处理,与解码对象像素相对应的量化步长Q“1”、获得的像素数据、以及算出的解码对象像素的预测值“590”,被发送给逆量化处理部118。

在步骤S231进行上述的解码处理。在此,逆量化处理118的状况是,从量化步长设定部114接收的量化步长Q为“1”,且逆量化处理部118接收计数器减少值信息R。此时,在解码处理中进行以下的处理RB。

在处理RB中,如以上所述,逆量化处理部118生成以像素数据接收部101所接收的像素数据的动态范围的标有正负符号的二进制位数,来表示以接收的(基准比特宽M+计数器减少值信息R所示的值)比特所表示的数据之后的数据(以下称为解码数据)。

在此,接收的像素数据所示的值为“-250”。此时,逆量化处理部118生成以13比特来表示接收的像素数据所示出的值“-250”后的解码数据。

并且,若在步骤S232被判断为“否”,则处理移向步骤S233。以下,将示出1以上的值的量化步长Q称为非零量化步长Q。

在步骤S233执行逆量化处理。在逆量化处理中,逆量化处理部118通过将解码数据所示的值与2的Q次方相乘,从而进行量化。以下,将通过逆量化而得到的值称为逆量化后值。

在此,解码数据所示的值为“-250”。并且,与解码对象像素相对应的量化步长Q示出“1”。此时,逆量化处理部118通过将获得的像素数据所示的值“-250”与2的Q次方(2)相乘,从而得到逆量化后值“-500”。

并且,逆量化处理部118将示出逆量化后值(例如“-500”)的解码数据发送到输出部119。

并且,与上述同样执行步骤S234的处理。通过该处理,像素P6的像素值“590”所示的像素数据由输出部119来获得,示出像素P7的像素值“90”的解码像素数据被生成。并且,生成的解码像素数据被记忆到外部的存储器。并且,输出部119将生成的解码像素数据发送给解包部116。

并且,上述的步骤S235的处理被执行,在使g的值增加“1”以后,再次执行步骤S214的处理。

并且,直到在步骤S235被判断为“是”为止,从步骤S214至S234的处理中的至少一部分被重复执行。

在步骤S235被判断为“是”的情况下,处理移向步骤S237。

在步骤S237,剩余比特计数部105将剩余比特计数器所示的值设定为“0”。

在步骤S238,打包部116针对成为处理对象的图像(图片)全体,判断解码处理是否已经结束。在步骤S238为“是”的情况下,结束该图像解码处理。另外,在步骤S238为“否”的情况下,再次进行步骤S213的处理。

并且,直到在步骤S238被判断为“是”为止,通过重复进行步骤S213至S237中的至少一部分处理,从而用于复原图像(图片)的多个编码数据全部被解码。

另外,在本实施例的图像解码处理中,能够以LSI等硬件来实现。

如以上说明,在本实施例的图像编码处理中,在以标有正负符号的二进制来表示像素的预测差分值后的二进制数据的位数(标有正负符号的预测差分二进制位数)比基准比特宽M小的情况下,使比特剩余并对该预测差分值进行编码。并且,在标有正负符号的预测差分二进制位数比基准比特宽M大的情况下,且存在剩余比特的情况下,以(基准比特宽M+能够使用的剩余比特的数量所示的值)来表示。

因此,能够取消量化处理,并且能够减少在进行量化时的量化步长Q。这样,能够抑制因量化误差而造成的图像的画质劣化。即,通过编码能够使图像的画质劣化的程度降低。

并且,在本实施例中,在外部的存储器中,多个固定比特宽(s比特)的编码数据是被连续起来记忆的。一个编码数据中包含用于复原像素的多个编码像素数据。因此,在请求向某个编码像素数据进行数据存取的情况下,只要向包括该编码像素数据的编码数据进行数据存取即可。因此,能够维持针对数据的随机存取性。

并且,固定比特宽(s比特)例如被设定为被使用的集成电路的数据传输的总线带宽。并且,能够保证总线带宽的固定长。因此,能够不破坏随机存取性。

综上所述,在本实施例中,能够在维持随机存取性的状态下,降低图像的画质劣化的程度。

<实施例2>

在实施例2,以具备在实施例1说明的图像编码装置100以及图像解码装置110的数字静态相机(Digital Still Camera)为例进行说明。

图12示出了实施例2所涉及的数字静态相机1300的构成的方框图。

如图12所示,数字静态相机1300包括:图像编码装置100和图像解码装置110。图像编码装置100以及图像解码装置110的构成以及功能由于在实施例1已经说明过,因此在此不进行重复说明。

数字静态相机1300还包括:摄像部1310、图像处理部1320、显示部1330、压缩变换部1340、记录保存部1350、以及SDRAM1360。

摄像部1310拍摄被拍摄物,并输出与被拍摄物的像相对应的数字的图像数据。在该例子中,摄像部1310包括:光学系统1311、摄像元件1312、模拟前端(Analog Front End)1313(图中略记作AFE)、以及定时信号发生器1314(图中略记作TG)

光学系统1311由透镜等构成,使被拍摄物在摄像元件1312上成像。摄像元件1312将从光学系统1311入射的光转换为电信号。作为摄像元件1312可以采用利用了CCD(Charge Coupled Device:电荷耦合器件)的摄像元件、以及利用了CMOS的摄像元件等各种摄像元件。

模拟前端1313针对摄像元件1312输出的模拟信号,进行噪音去除、信号放大、A/D转换等信号处理。并且,模拟前端1313输出表示由该信号处理而得到的数据的图像数据。被输出的图像数据由多个图像数据构成。该图像数据是原始数据(RAW数据)。

定时信号发生器1314将成为摄像元件1312和模拟前端1313的工作定时的基准的时钟信号,提供给摄像元件1312以及模拟前端1313。

图像处理部1320向摄像部1310输出的像素数据(原始数据)施行规定的图像处理。并且,将通过进行图像处理而得到的像素数据(原始数据)输出给图像编码装置100。

如图12所示,图像处理部1320中一般包括:白平衡(White Balance)电路1321(图中略记作WB)、亮度信号生成电路1322、色分离电路1323、孔径校正处理电路1324(图中略记作AP)、矩阵处理电路1325、以及图像的扩大与缩小的缩放电路1326(图中略记作ZOM)。

白平衡电路1321是为了使白色被拍摄物不论在怎样的光源下都能够被拍摄为白色,而通过摄像元件1312的滤色器以正确的比例对色成分进行校正的电路。

亮度信号生成电路1322从原始数据(RAW数据)中生成亮度信号(Y信号)。色分离电路1323从原始数据中生成色差信号(Cr/Cb信号)。

孔径校正处理电路1324所进行的处理是,将高频成分补充到亮度信号生成电路1322所生成的亮度信号中,以使分辨率看上去变高。矩阵处理电路1325针对从色分离电路1323输出的数据,进行因摄像元件的频谱特性以及图像处理而失去色调平衡的调整。

一般而言,图像处理部1320使处理对象的像素数据暂时记忆到SDRAM等存储器中,针对被暂时记忆的数据进行规定的图像处理、YC信号(亮度信号或色差信号)的生成、缩放处理等,处理后的数据再次被暂时记忆到SDRAM的情况较多。

因此,可以考虑到图像处理部1320所进行的处理是,向图像编码装置100输出数据的处理,以及从图像解码装置110接收数据的处理。

显示部1330显示从图像解码装置110输出的图像数据(图像解码后的图像数据)。

压缩变换部1340以JPEG等的规定标准,对从图像解码装置110输出的图像数据进行压缩变换,将通过变换得到的JPEG图像的数据输出到记录保存部1350。并且,压缩变换部1340对由记录保存部1350读出的JPEG图像的数据进行扩展变换,并将变换后的数据输出到图像编码装置100。

即,压缩变换部1340能够根据JPEG标准来处理数据。像这样的压缩变换部1340一般被搭载在数字静态相机。

记录保存部1350接收被压缩的图像数据,并将该图像数据记录到记录介质(例如非易失性存储器等)。并且,记录保存部1350读出被记录在记录介质的、被压缩的图像数据,并将该图像数据输出到压缩变换部1340。

在本实施例中,作为图像编码装置100以及图像解码装置110的处理对象的数据并非限定于原始数据。例如,成为图像编码装置100以及图像解码装置110的处理对象的数据可以是由图像处理部1320从原始数据中生成的YC信号(亮度信号或色差信号)的数据,也可以是通过对曾被JPEG等压缩变换后JPEG图像的数据进行扩展而得到的数据(亮度信号或色差信号的数据)等。

这样,本实施例中的数字静态相机1300除具有一般被搭载在数字静态相机的压缩变换部1340以外,还具有成为处理原始数据以及YC信号的对象的图像编码装置100以及图像解码装置110。

据此,在本实施例中数字静态相机1300能够使以相同的存储容量,增加相同的分辨率的连拍数量的高速拍摄工作成为可能。并且,数字静态相机1300能够提高被记忆到相同容量的存储器中的运动图像的分辨率。

并且,实施例2所示的数字静态相机1300的构成与数字静态相机1300同样,能够适用于具有摄像部、图像处理部、显示部、压缩变换部、记录保存部以及SDRAM的数字摄像机的构成。

<实施例2的变形例1>

在针对图像编码装置100输出的像素数据是YC信号(亮度信号或色差信号)的数据的情况下,图像处理部1320在生成图1的固定比特宽设定部107所设定的固定比特宽(s比特)的数据的处理中,可以将色差信号优先于亮度信号来进行编码。该YC信号的数据是在图像处理部1320的内部被变换的数据。

色差信号在图像处理部1320的内部生成的阶段中高频成分降低,与亮度信号相比,不存在陡峭的边缘。因此,能够设想到与编码对象像素相对应的预测值的预测精度变高,量化步长Q变小。因此,可以考虑到剩余比特计数器的值容易增加。

因此,在生成固定比特宽(s比特)的数据的处理中,通过将色差信号优先于亮度信号来编码,从而能够发生较多的剩余比特。这样,能够将较多的比特分配给在视觉上敏感的亮度信号的数据编码中。结果是,能够在抑制视觉劣化的基础上对像素数据进行编码。

<实施例2的变形例2>

在本变形例中将要说明的是,在向图像编码装置100输出的像素数据为YC信号(亮度信号或色差信号)的数据的情况下,图像处理部1320进一步对色差信号的处理进行IQ轴变换以及编码。

被IQ轴变换的IQ信号是通过调制色差信号而得到的,由以下的公式来表示。

I=0.6R-0.28G-0.32B  ···公式(9)

Q=0.21R-0.52G+0.31B    ···公式(10)

在公式(9)以及公式(10)中,R表示色差信号的红信号成分,G表示色差信号的绿信号成分,B表示色差信号的蓝信号成分。

通过上述的调制而得到的IQ信号是根据人的视觉特性,为了使色差信号简化而被制作的信号。在色度图上,在将人的眼睛的分辨率最高的“橙色-青蓝色轴”作为I轴的情况下,I信号为了能够对应于微细部分,而采用宽频带传送。并且,在色度图上,在将与I轴正交的人的眼睛的分辨率最低的“黄色-深红色”作为Q轴的情况下,Q信号以窄频带传送。

也就是说,即使以某种程度来限制Q信号的信息量,也能够在抑制视觉上的画质劣化的基础上进行传送。因此,通过将图像编码装置100内的色差信号调制为IQ信号,从而能够尽可能地减少Q信号的比特数,将比特分配给人的眼睛敏感的亮度信号。

具体而言,如图13A所示,将Q信号分配给组G1,对于Q信号的编码像素数据,事先确保从基准比特宽M中减去“1”之后的比特宽。事先将剩余的比特作为剩余比特来确保,该被确保的剩余比特的数量是,由固定比特宽设定部107设定的固定比特宽(s比特)的数据中的、被打包的Q信号的像素数量。

进一步,如实施例2的变形例1所示,在固定比特宽(s比特)的数据内,以第一优先顺序来编码色信号(将I信号分配到组G2)。据此,能够防止剩余比特的消费,并尽可能地将剩余比特分配到视觉敏感的亮度信号。

如图13A所示,在将I信号分配给组G2的情况下,可以考虑到虽然没有剩余比特的增减,但是在I信号的成分发生了急剧的变化的情况下,剩余比特被消费(使用),在没有变化的情况下,累加剩余比特数就会增加。

在图13A中,视为在I信号中没有被输入剩余比特计数器的值发生变化的像素数据。通过将亮度信号分配到组的后部,从而增加的剩余比特能够全部利用于亮度信号。即,使用剩余比特对亮度信号的数据进行编码。因此,能够在抑制视觉劣化的基础上对像素数据进行编码。

并且,由于增减的剩余比特和被消费的结果的编码像素数据的比特宽依存于被输入的像素数据,因此在图13A以“*”来表示。

另外,也可以将减去Q信号的编码像素数据的比特宽的部分,预先分配到亮度信号的编码像素数据的比特宽。具体而言,在将Q信号的编码像素数据的比特宽,从基准比特宽M中减去“1”的情况下,能够在相同的固定比特宽(s比特)的数据中,以(基准比特宽M+1)的比特宽来表示打包亮度信号。

此时的基准比特宽M由图13B示出。如图13B所示,根据本变形例,即使在固定比特宽(s比特)的数据内以第一优先顺序对色信号不进行编码,也能够预先将更多的比特分配给视觉敏感的亮度信号。因此,能够在抑制视觉劣化的基础上对像素数据进行编码。

<实施例3>

在实施例3中将要说明的例子是,在实施例1中说明的图像编码装置以及图像解码装置分别具有剩余比特控制部。

图14是示出实施例3中的图像编码装置100A以及图像解码装置110A的构成的方框图。

如图14所示,图像编码装置100A与图1的图像编码装置100相比较,不同之处是还具有剩余比特控制部109。除此之外,由于与图像编码装置100相同,因此不重复详细说明。并且,图像解码装置110A与图1的图像解码装置110相比较,不同之处是还具有剩余比特控制部111。除此之外,由于与图像解码装置110相同,因此不重复详细说明。

(编码处理)

首先,对不控制使用剩余比特的数量的情况下的图像编码处理进行说明。

图15A以及图15B是用于说明在不控制使用的剩余比特的数量的情况下的图像编码处理的图。

图15A作为一个例子示出了被输入到像素数据接收部101的26个像素数据中的11个像素数据。另外,图15A所示的各个项目与图9A的说明同样,在此不重复详细说明。

在像素数据接收部101中,以像素P1、P2、······P11的顺序,被输入有与各个像素相对应的12比特的像素数据。像素P1-P11内所示的数值是,示出对应的像素数据的像素值。另外,分别与像素P1、P2相对应的两个像素数据分别是绿色以及红色的初始像素值数据。

在该例子中,编码对象像素的预测值是使用上述的预测公式(1)而被算出的。即,编码对象像素的预测值成为编码对象像素的左侧相邻的像素的像素值。并且,在此例子中,编码对象像素的像素值与编码对象像素的左侧相邻的像素的像素值之间的差的值(预测差分值)被量化。

并且,在此例子中,关于量化步长信息Code与预测差分绝对值、量化步长Q和剩余比特数之间的关系,也使用图8的数据表DT110。

量化步长Q与实施例1同样,是从最大预测差分绝对值算出的,该最大预测差分绝对值是从属于各个组的相邻的三个像素的预测差分值算出的。属于组的三个像素以相同的量化步长Q量化。

图15B示出了通过图像编码装置100A进行编码处理而得到的像素数据(编码像素数据)。图15B所示的各个编码像素数据内的数值示出编码像素数据的比特数。

在该例子中的图像编码处理中,通过进行与实施例1同样的处理,与属于组G1的三个像素相对应的量化步长Q被设定为“0”。因此,量化步长信息Code选择代码“000”。因此,在对与属于组G1的三个像素相对应的预测差分值进行编码后,发生6个剩余比特。编码像素数据的三个像素均能够以6个比特来表示。

在组G2和组G3中,急剧的像素值的等级变化存在多个。量化步长Q在组G2以及组G3均被设定为“4”。

但是,在对与像素P6(像素值“1590”)相对应的预测差分值进行编码时,4个剩余比特被使用(消费)。并且,在对与像素P7(像素值“2000”)相对应的预测差分值进行编码时,由于2个剩余比特被使用(消费),因此,在该时刻的累加剩余比特数为“0”。

因此,在此之后,发生的陡峭边缘完全不能被挽救,以基准比特宽M来编码。

图16A以及图16B是用于说明在本实施例中,控制使用的剩余比特的数量的情况下的图像编码处理的图。

图16A作为一个例子示出了被输入到像素数据接收部101的26个像素数据中的11个像素数据。另外,图16A所示的11个像素数据与图15A所示的11个像素数据相同。图16A所示的像素P1、P2以外的多个像素是成为编码的对象的编码对象像素。

在本实施例的处理中,在组G1中以相同的条件发生6个剩余比特。在本实施例中的特点是,通过利用剩余比特控制部109来控制使用的剩余比特的数量(剩余比特计数器的值),从而使局部的量化误差分散。

在本实施例中,将用于控制使用的剩余比特的数量的处理称为剩余比特控制处理。首先,在进行剩余比特控制处理之前,进行以下的处理。

首先,量化步长设定部104将固定比特宽(s比特)的数据内的各个组的量化步长Q的信息,发送给剩余比特控制部109。

剩余比特控制部109根据接收的各个组的量化步长Q的信息,测定预测误差的出现频繁度。根据该处理,推测各个组应该确保多少剩余比特为好。

例如,在图16A所示的多个像素数据被输入到图像编码装置100A的情况下,量化步长设定部104将作为量化步长信息Code的代码“000”、“110”、“110”发送给剩余比特控制部109。

并且,进行剩余比特控制处理。

图17是剩余比特控制处理的流程图。

在剩余比特控制部109,接收作为量化步长信息Code的代码“000”、“110”、“110”信息,判断在组G1中每一个像素发生2个剩余比特。因此,剩余比特计数器的值增加至6(S501、S502)。

在组G2以及组G3,对应的量化步长Q比“0”大。因此,剩余比特控制部109能够在量化之前预读剩余比特被使用(消费)(S503)。因此,在剩余比特控制处理,将用于使在组G2和组G3分别消费6个剩余比特的一半(3个)的指令,发送给剩余比特计数部105(S504)。

并且,通过事先决定在一次的编码处理(也包括量化处理)中能够消费的剩余比特的最大比特数,从而即使是组内也能够使剩余比特的消费分散。具体而言,将一次的编码中所消费的剩余比特的最大比特数预先决定为2比特。在这种情况下,在对与图15A的像素P6相对应的预测差分值进行编码时,作为最大比特数的2个剩余比特被消费。

在对与像素P6的下一个像素P7相对应的预测差分值进行编码时,存在4个剩余比特,在组G2能够消费的剩余比特的数量为1个。因此,在对与像素P7相对应的预测差分值进行编码之时,使用(消费)1个剩余比特。

在对与像素P8相对应的预测差分值进行编码之时,存在3个剩余比特。但是,由于能够在组G2内消费的剩余比特的比特数已超出,因此在此不进行消费而进行量化。

即使在组G3内也能够消费3个剩余比特。因此,在对与像素P9相对应的预测差分值进行编码之时,作为最大比特数的2个剩余比特被消费。在对与像素P10相对应的预测差分值进行编码之时,由于存在1个剩余比特,因此能够使量化步长Q减少“1”。

在对与属于组G3的像素P11相对应的预测差分值进行编码之时,由于不存在剩余比特,因此不使用剩余比特而对预测差分值进行编码。

在图16A的例子中,由于与组G2以及组G3相对应的量化步长Q相同,因此,将发生的多个剩余比特各分为一半。

另外,在图17的步骤S504的处理中,剩余比特的分配可以以消费剩余比特的组中的量化步长为基准,决定为量化步长越大就越多分配剩余比特。

接着,对实施例3中的剩余比特计数部105所进行的剩余比特计数器更新处理(以下称为剩余比特计数器更新处理A)进行说明。

剩余比特计数器更新处理是取代图2的图像编码处理的步骤S120的剩余比特计数器的更新处理的处理。

图18是剩余比特计数器更新处理A的流程图。如图18所示,剩余比特计数器更新处理A与图3的剩余比特计数器更新处理相比较,不同之处是,取代步骤S123而执行步骤S123A的处理,以及进一步执行步骤S123B、S123C、S123D、S123E的处理。

另外,在图18中与图3的步骤编号相同的步骤编号的处理由于与实施例1所说明的处理相同,因此不重复详细说明。

首先,在成为需要剩余比特的消费的情况下进行的步骤S123A的处理与步骤S123的处理相比较,增加了对在同一组内是否存在能够消费的剩余比特的判断处理。即,通过步骤S123A的处理,从而控制组内能够消费的剩余比特的数量不至于超量。

接着,在步骤S123B的处理中,判断剩余比特的数量是否比能够消费的最大比特数大。在比最大比特数大的情况下(S123B的“是”),剩余比特计数部105将剩余比特计数器的值更新为能够消费的最大比特数(S123C)。据此,控制为使组内的剩余比特的消费分散。

接着,在步骤S123D的处理中,剩余比特计数部105使剩余比特计数器的值减少一定数量的剩余比特,该被减少的剩余比特的数量是在同一组内能够消费的剩余比特数中被消费的剩余比特的数量。根据该处理,在对同一组内的下一个像素所对应的预测差分值进行编码时,阈值被更新,以使在组内能够消费的剩余比特的数量不超量。

接着,在步骤S123E的处理中,在步骤S123B的处理中,剩余比特的数量比能够消费的最大比特数大的情况下(S123B的“是”),剩余比特计数部105将被更新为能够消费的最大比特数的剩余比特计数器的值,更新为原来的剩余比特数(保有的总剩余比特数)。

在实施例1中,以发生的顺序来控制量化误差。然而,在实施例3中,由剩余比特控制部109预读固定比特宽(s比特)的数据内的像素数据。根据该处理,不是拯救局部的量化误差,而是仅可能地抑制能够使用的剩余比特的范围内的量化误差,且能够进行分散。

(图像解码装置110A所进行的解码处理)

在本实施例的解码处理中,解包部116将得到的数据分离为初始像素值数据、多个编码像素数据、以及量化步长信息Code。因此,图像解码装置110A的剩余比特控制部111仅事先获得量化步长信息Code。通过该处理,剩余比特控制部111容易推测出在各个组确保多少个剩余比特为好。

剩余比特控制部111的控制处理由于与图17说明的剩余比特控制部109的处理相同,因此不重复详细说明。

<实施例3的变形例1>

在实施例3中,剩余比特控制部109从量化步长设定部104获得固定比特宽(S比特)的数据内的各个组的量化步长Q的信息。通过该处理,剩余比特控制部109推测了应该在固定比特宽的数据内的各个组内确保多少个剩余比特为好。

但是,在该方式中,如图17所示,若固定比特宽的数据内的量化步长Q的预读处理没有全部结束,则不能绝对分配个各个组的剩余比特。因此,图像编码处理中的处理发生延迟。

因此,不进行固定比特宽的数据内的量化步长Q的预读,可以仅预先决定在一次的量化中能够消费的最大比特数。据此,能够使固定比特宽的数据内的局部的量化误差分散。

但是,根据该变形例1,即使在为了能够被包含在固定比特宽的数据内的像素数据中一个急剧变化之处都没有发现的情况下,也会出现消费的剩余比特数被限制的缺点。

因此,可以按照需要,在进行编码处理时对实施例3与其变形例1进行切换。

<实施例4>

在本实施例中说明了,被设置在数字静态相机的摄像元件是包括图像编码装置的情况下的数字静态相机的构成的例子。

图19是示出实施例4中的数字静态相机2000的构成的方框图。如图19所示,数字静态相机2000与图12的数字静态相机1300相比,不同之处是取代摄像部1310而具备摄像部1310A,以及取代图像处理部1320而具备图像处理部1320A。除此之外的构成由于与数字静态相机1300相同,因此不重复详细说明。

摄像部1310A与图12的摄像部1310相比,不同之处是取代摄像元件1312而包括摄像元件1312A。除此之外由于与摄像部1310相同,因此不重复详细说明。摄像元件1312A包括图1的图像编码装置100。

并且,图像处理部1320A与图12的图像处理部1320相比较,不同之处是还包括图1的图像解码装置110。除此之外的构成由于与图像处理部1320相同,因此不重复详细说明。

摄像元件1312A中所包含的图像编码装置100对由摄像元件1312A拍摄的像素信号进行编码,将通过编码而得到的数据发送给图像处理部1320A内的图像解码装置110。

图像处理部1320A内的图像解码装置110对从图像编码装置100接收的数据进行解码。通过该处理,能够提高摄像元件1312A与集成电路内的图像处理部1320A之间的数据传送效率。

因此,本实施例中的数字静态相机2000与实施例2中的数字静态相机1300相比,能够以相同的存储容量,相同的分辨率增加连拍的数量,实现提高运动图像的分辨率等的高速拍摄工作。

<实施例5>

一般而言,在打印机装置中,要求以尽可能高的精确度以及速度来打印印刷物。因此,通常进行以下的处理。

首先,个人计算机(以下称为个人电脑)对作为打印对象的数字的图像数据进行压缩编码,将通过编码得到的编码数据发送给打印机。并且,打印机对接收的编码数据进行解码。

因此,在本实施例中,通过将在实施例1中说明的图像编码装置100搭载到个人电脑,将图像解码装置110搭载到打印机,从而能够抑制打印物的画质劣化。

图20示出了实施例5中的个人电脑3000以及打印机4000。如图20所示,个人电脑3000具有图像编码装置100。打印机4000具有图像解码装置110。

最近,在成为打印对象的图像数据所示的图像中,例如有文字与图形、自然图像混在的海报以及广告等。在这种图像中,若示出以单色表现的文字或图形的图像的数据被输入到个人电脑3000内的图像编码装置100,则发生剩余比特的可能性比较高。

图像编码装置100利用发生的剩余比特来对图像进行编码。据此,在固定比特宽的数据内,能够抑制在发生了急剧的浓度变化的情况下的量化误差,在此急剧的浓度变化发生在指文字或图形以及自然图像的边界之处。

此次公开的实施例中的所有例子均为一个示例,而并非受这些示例所限。本发明的范围不仅是以上的说明,而且由权利要求所示出的、与权利要求具有同等意思以及范围内的所有的变更均在本发明的范围内。

本发明所涉及的图像编码装置以及图像解码装置能够在保证集成电路的数据传送总线宽度为固定长的情况下,进行传送单位内的可变长编码。因此,在如数字静态相机以及网络相机、打印机等对图像进行处理的装置中,能够在维持随机存取性的状态下,既能够防止画质的劣化又能够对图像数据进行编码以及解码。因此,能够有效地对应于近些年的图像数据处理量的增大中。

符号说明

100,100A  图像编码装置

102预测值算出部

103差分算出部

104,114量化步长设定部

105,115剩余比特计数部

106打包部

107,117固定比特步长设定部

108量化处理部

109,111剩余比特控制部

110,110A  图像解码装置

116解包部

118逆量化处理部

119输出部

1300,2000数字静态相机

1310,1310A  摄像部

1312,1312A  摄像元件

1320,1320A  图像处理部

3000个人电脑

4000打印机

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号