图像编码装置和方法

文档序号:7623126阅读:130来源:国知局
专利名称:图像编码装置和方法
技术领域
本发明涉及对图像数据进行编码的技术。
背景技术
以往,静止图像的压缩方式,多采取利用了离散余弦变换的JPEG方式和利用了小波变换的方式。这些种类的编码方式,由于属于可变长度编码方式,因此,码量按编码对象的图像进行变化。
作为国际标准化方式的JPEG方式,由于对图像只能定义1组量化矩阵,因此在没有预扫描时,不能进行码量调整,在存储于有限的存储器的系统中使用的情况下,存在发生存储器过量(memory over)的危险。
为了防止发生这种情况,人们采用了在超出了预定的码量的情况下,将压缩率变更后,进行原稿的再读取的方法,或者预先进行基于预扫描的码量预估,为了调整码量,进行量化参数的再设定的方法等。
以往,作为进行预扫描的码量控制方式,例如,将预压缩的数据放入内部缓冲存储器,将其解压缩,改变压缩参数,再正式压缩,输出到外部存储的方式已为人所知。此时,正式压缩的压缩率需要比预压缩的压缩率稍高。
而且,例如求出每一像素块的容许码量,为了削减码量,对将DCT系数进行了n次水平位移(level shift)的系数进行霍夫曼(Huffman)编码的方式已为人所知,该位移的位移量n根据容许码量而确定。
此外,也存在通过一次的图像输入,而生成有效地收纳进尺寸内的编码数据的方法(日本专利申请特开2003-8903号公报)。该方法是准备2个用于存储编码数据的存储器,将所生成的编码数据存储到两个存储器中。然后,在已存储的编码数据量到达目标数据量时,设定将压缩率变成更高的量化阶,并且清空其中一个存储器(第1存储器)。由此,提高达到目标数据量以后的编码的压缩率。此外,由于在另一个存储器(第2存储器)中,存储有生成的码量达到目标数据量以前的编码数据,因此,以更高的量化阶进行再编码,将再编码结果存储到第1存储器。而且,该处理为数据量每达到目标数据量就重复进行一次。
此外,以往采用了以下的方法不仅引入这些有损方式,还引入无损编码方式,从而对字符图像、线条等非自然图像等使用无损编码方式,对自然图像部分使用有损编码方式。这些都采用了预先对该图像的各个部分判断好属性,使用其判断结果来切换编码方式的方法(日本专利申请特开平7-123273号公报)。
另一方面,还存在以下的技术不是如上述日本专利申请特开2003-8903号公报那样,根据编码中途的编码数据量执行再编码,而是在图像中的多个区域,一边有选择地应用无损和有损的编码中的任一者,一边将图像整体作为预定的码量(日本专利申请特开平10-224640号公报)。
但是,上述日本专利申请公开特开2003-8903号公报的压缩编码技术,只使用了JPEG等有损压缩技术。因此,在数据量无法收纳进预定的尺寸时,就需要将量化阶变得更大来将整个图像的压缩率一律提高,从而导致图像劣化的可能性变高。尤其是在对字符线条图和自然图像混在一起的图像进行压缩编码时,即使量化阶的提升对自然图像造成的影响小,但对字符线条图的影响是不能忽视的。
关于上述问题,通过对字符线条图进行无损编码,对自然图像进行有损编码,由此对各个图像区域进行特定的编码,能够期待获得图像品质优良的编码。但是,为了实现上述目的,作为前处理,需要进行这些图像的属性判断处理,并且,其正确的属性判断是必不可少的。

发明内容
本发明是鉴于上述以往例而完成的,本发明提供一种技术,该技术不仅能够不用特殊的图像区域判断技术地对字符线条图、自然图像混在一起的图像进行高效率的压缩,还能够生成图像品质优良的编码数据。
为了解决上述课题,例如,本发明的图像编码装置具有以下的结构。即一种按预定尺寸的像素块单位输入图像数据,并对该图像数据进行编码的图像编码装置,包括第1编码装置,按输入的图像数据中的预定像素块单位,生成有损的编码数据;第2编码装置,按输入的图像数据中的上述预定像素块单位,生成无损的编码数据;以及选择装置,在设由上述第2编码装置所生成的编码数据的码长为Lx,设由上述第1编码装置所生成的编码数据的码长为Ly时,对于预定的非线性边界函数f()满足Ly≥f(Lx)的情况下,选择并输出由上述第2编码装置所生成的编码数据,在未满足上述边界函数的情况下,选择并输出由上述第1编码装置所生成的编码数据。
本发明的其他特征和优点可以通过下面的参照附图进行的说明得到明确,对附图中的相同或类似的部分附加相同的参考标号。


附图构成本说明书的一部分,用于说明本发明的实施例,并与该说明一起用于阐明本发明的原理。
图1是第1实施方式的编码处理部的结构框图。
图2是进行图1的编码序列控制部内的编码数据选择处理的部分的结构框图。
图3是表示第1实施方式的编码处理步骤的流程图。
图4是第2实施方式的编码处理部的结构框图。
图5是简化地表示第2实施方式的处理的流程图。
图6是表示第2实施方式的初始状态的编码阶段的数据流和存储器内容的图。
图7是表示第2实施方式的编码、再编码阶段开始时的数据流和存储器内容的图。
图8是表示第2实施方式的编码、再编码阶段结束时的数据流和存储器内容的图。
图9是表示第2实施方式的传送阶段的数据流和存储器内容的图。
图10是表示第2实施方式的传送阶段后的编码阶段的数据流和存储器内容的图。
图11是表示第2实施方式的处理的详细的流程图。
图12是表示第2实施方式的第1计数器的值的变迁的一例的图。
图13是第2实施方式的再编码部的结构框图。
图14是表示第2实施方式的编码处理部的变形例的结构框图。
图15是表示图14的结构的编码、再编码阶段的开始时的数据流和存储器内容的图。
图16是表示图14的结构的编码、再编码阶段的开始时的数据流和存储器内容的图。
图17是表示图14的结构的传送阶段的数据流和存储器内容的图。
图18是用于说明实施方式中选择无损编码数据和有损编码数据中的一方时的边界条件的图。
图19是用于说明实施方式中选择无损编码数据和有损编码数据中的一方时的边界条件的图。
图20是表示样品(sample)原稿图像的图。
图21是表示在实施方式中使用的量化矩阵表的图。
图22是实施方式所适用的复印机的结构图。
具体实施例方式
以下,根据附图详细说明本发明的实施方式。
<装置概要的说明>
图22是实施方式所适用的复印机的结构框图。
在图22中,1是司掌整个装置的控制的控制部,由CPU、ROM、RAM等构成。2是由LCD显示器、各种开关、按钮等构成的操作部。3是原稿读取部(图像扫描器部),安装有ADF(Auto DocumentFeeder)。已读取的图像按RGB各色成分,作为8位(256灰阶)的数字数据输出。4是根据经由未图示的接口(包括网络接口)接收的PDL格式的打印数据,描绘打印图像的描绘(rendering)部。5是选择器,按照来自控制部1的指示,选择、输出从原稿读取部3、或者描绘部4输出的位像中的任一者。
6是作为本实施方式的特征部分的编码处理部。该编码处理部6用于图像数据的编码,其详细的内容将后述。
7是2次存储装置(实施方式中为硬盘装置),按顺序存储由编码处理部6输出的编码数据。
8是解码处理部,对存储于2次存储装置7中的、被压缩编码了的图像数据,按其存储顺序进行读出、解码。9是图像处理部,输入来自解码处理部8的解码图像,将RGB色空间转换为作为记录色空间的YMC,进行UCR(Under Color Removal)处理,并且进行图像数据的校正处理。
10是打印机引擎部。此处打印机引擎部的打印机构为激光束打印机引擎,但也可以是排出墨液的类型,并不拘于种类。
在上述结构中,例如,在使用者操作操作部2,选择复印模式,将原稿设置于原稿读取部3(原稿读取部3的ADF),按下复印开始键时,由原稿读取部3读取的原稿图像数据,按光栅顺序,经由选择器5被传送至编码处理部6,在这里被压缩编码后依次存储到2次存储装置7。
此外,在由外部接收到打印数据的情况下,使选择器5选择描绘部4,对基于描绘部4生成的打印数据的图像进行压缩编码,存储到2次存储装置7。
解码处理部8,根据打印机引擎10的打印速度,从2次存储装置7读出压缩编码数据,进行解码处理。然后,从由图像处理部9解码的图像数据,生成YMCK成分的记录用图像数据。然后,将该结果输出至打印机引擎部10,进行打印。
如上述那样,将压缩编码数据存储到2次存储装置7的存储处理,与用于解码、打印的读出处理是非同步的。即,变成2次存储装置7,作为介于图像压缩处理同解码处理之间的缓冲器发挥作用,由于原稿读取/编码处理,不依赖于解码/记录处理,因此能够高速地读取大量的原稿,可以迅速过渡到下一个作业的原稿读取。
以上,对实施方式中整个装置的结构进行了说明。接着,对作为本装置的特征部分的编码处理部6进行说明。
<编码部的说明>
图1是实施方式的编码处理部6的结构框图。
输入部101,内置多个行量的行缓冲存储器,如前面说明过的那样,经由选择器5,按光栅顺序输入来自原稿读取部3或者描绘部4的图像数据,存储至内部的行存储器,按N×M像素块(实施方式中设定为8×8像素块)单位输出。
第1编码部102是有损编码部,依照影响压缩率的参数,对由输入部101输入的像素块单位进行压缩编码处理,输出其结果(编码数据)。在编码数据的最前端,附加表示已由第1编码部102进行了编码的标识位。
作为实施方式中的该图像编码部102,说明适用了JPEG编码(不无损编码)的例子。即,对相当于8×8像素单位的图像数据进行直接变换,使用后述的量化阶进行量化,进行霍夫曼编码处理。决定在此生成的码量的是量化阶,该量化阶由编码序列控制部110设定。JPEG编码,作为适宜于自然图像的技术已广为人知。
图21表示在量化DCT变换后的频率系数时使用的量化矩阵表Q0、Q1、Q2(存储在编码序列控制部110中)。此处,量化矩阵表内的值Qi(0,0)~Qi(7,7)(i=0、1、2...)表示量化阶值。量化阶值,大致处于Q0<Q1<Q2...的关系。随着量化阶值变得越大,量化后的频率系数值能取的范围变得越窄,压缩率得到提高。
第2编码部103,与第1编码部102不同,是无损编码部。由于是无损编码部,因此其解码结果变得与编码前的图像相同,原理上不产生图像品质的劣化。也没有影响压缩率的参数的设定。在实施方式中,在该第2编码部103中采用了JPEG-LS。JPEG-LS虽冠以“JPEG”,但其算法与在第1编码部中采用的有损编码JPEG完全不同。JPEG-LS编码的特征,是适宜于字符线条图、计算机制图(computer graphics)的技术,在为这些图像的情况下,赋予作为有损编码的JPEG的量化阶,能够生成比在“1”(实质上无损)、甚至在“2”、“3”等比较小的量化阶值时的编码数据少得多的编码数据。
此外,第2编码部103,以与第1编码部102实质上相同的定时,对相同的像素块进行编码,输出编码数据。而且,第2编码部103,在输出编码数据时,在该编码数据的最前端,附加表示已由第2编码部103进行了编码的标识位。
第1码长检测部108,检测出从第1编码部102输出的像素块的编码数据长(包括作为标识位的1位),输出至编码序列控制部110。第2码长检测部109,检测出从第2编码部103输出的像素块的编码数据长(包括作为标识位的1位),输出至编码序列控制部110。
编码序列控制部110,司掌实施方式的编码处理部6的控制。作为其处理的1项,使用来自第1码长检测部108、第2码长检测部109的信号,以及内置的LUT(对照表)120,确定要存储至第1存储器105的编码数据(其选择原理将后述)。然后,将用于选择该确定的编码数据的选择信号输出至第1存储器控制部104。
而且,编码序列控制部110,具备对将存储于第1存储器105中的编码数据的码长数据进行累积计数的第1计数器111。第1计数器111,与目标块对应,并且累计将存储于第1存储器105中的编码数据长,因此保存表示已存储于第1存储器105中的总编码数据量的信息。
并且,上述编码序列控制部110,对计数器111的值(已存储于第1存储器105中的编码数据量)与目标数据量(设定为依据输入图像的尺寸确定)进行比较,在检测出达到该目标数据量(超出目标值)时,向存储器控制部104输出控制信号,使得废弃存储器105内的存储完的数据,并且将计数器111清零。此外,向控制部1(参照图22)请求图像的再输入。
如此,在计数器111的值超出目标数据量的情况下,进行图像数据的再输入,但在进行图像数据的再输入时,将在此之前设定于第1编码部102的量化阶Qi变更为下一个阶段的Qi+1,使压缩率提升之后,再重新进行编码。
如以上这样,变成在计数器111的值未超过目标数据量的状态下,完成1页的编码后,在第1存储器105中,生成无损、有损混在一起的目标页的编码数据,将此输出到2次存储装置7。此外,当存在下一页图像数据(或者存在下一个原稿)时,开始下一页图像数据(或者下一个原稿)的编码。
以上对实施方式中编码处理部6的大概的处理内容进行了说明。接着,对实施方式中编码序列控制部110,确定存储于第1存储器105中的编码数据的原理进行说明。
在实施方式中,第1编码部102利用作为有损编码的JPEG,第2编码部103利用作为无损编码的JPEG-LS的情况。JPEG如众所周知的那样,是适宜于自然图像的压缩的编码技术,但对字符线条图等的压缩率不高。另一方面,JPEG-LS适宜于字符线条图(包括色彩)、以及单调的线条图等CG图像,并且,由于是无损编码的缘故,原理上不发生图像劣化。不过JPEG-LS对自然图像的压缩率不高。即,这2种编码技术处于互补关系。
此处,对读取如图20所示那样的原稿的情况进行考察,该原稿包括字符线条图区域T1、T2、基于计算机制图的灰度(gradation)(浓度平滑地变化的图像)区域G、以及自然图像区域I。
假定在字符线条图区域T1内,只存在图像的边缘陡峻的字符线条图,而在字符线条图T2中,只存在边缘部分有些模糊的字符线条图。字符线条图区域T2,相当于施以了用于使字符、图形的边显得平滑的反锯齿(Anti Alias)处理、或者进行了数字的分辨率变换的情况。
于是,读取图示的原稿,设按8×8像素块单位进行无损编码获得的编码数据的码长为Lx,设对同一像素块以有损编码(量化阶Q0)进行编码后获得的编码数据的码长为Ly,在图18中表示对以Lx、Ly为坐标的点P(Lx,Ly)进行绘制的结果。
在图18中的以椭圆围起来的各分布区域2001至2005,表示上述各区域T1、T2、G、I的绘制的点的大概的分区区域。另外,虽然也绘制了椭圆外,但象这样的绘制点少,从而作为不规则的点而加以忽略。并且,图示的虚线2006是表示Ly=Lx关系的直线。
此处,如果从编码数据的压缩效率的观点出发,存储到第1存储器105的编码数据,可以用以下这样的条件确定。
1.在处于Ly<Lx的关系时,将来自第1编码部102的有损编码数据存储至第1存储器105。
2.在处于Ly≥Lx的关系时,将来自第2编码部103的无损编码数据存储至第1存储器105。
通过以上这样做,能够使第1存储器105的1页的总编码数据量变成最小数据量。
但是,在边界条件Ly=Lx的情况下,变成计算机灰度区域G被边界2006分割,形成有损编码数据和无损编码数据共同存在于像素块单位中的状态,根据情况可能导致交替生成无损编码数据的像素块同有损编码数据的像素块。如果对此进行解码,会产生使像素块的边界不连续的马赛克噪音(block noise),在图像品质方面出现问题。
因此,在实施方式中,设定以图18的实线2007所示的非线性的边界条件。即,设定通过计算机灰度区域G的分布区域2003,和自然图像区域I的分布区域2004的中间位置,以围绕分布区域2003外的方式向下凸出(向上凹入)的曲线,并且,使其通过字符线条图区域T2的分布区域2002和自然图像区域I的分布区域2004之间。
另外,图18中边界线2007的弯曲部分,表示为通过计算机灰度区域G和自然图像区域I之间,但并非一定要通过计算机灰度区域G外,而且最好使用更多的样板求出。总之,对与单纯的线性边界条件2006相比,如实施方式的边界线2007这样的码量比较低的部分,采用无损编码数据的几率变高,能够抑制上述那样的问题的发生。而且,由于边界线成为非线性的部位是两种编码的码长小的区域,因此还能够减少给对整个图像的编码数据量带来的影响。
此处,在将以实线2007表示的边界条件,表示为Ly=f(Lx)时,1.在处于Ly<f(Lx)的关系时,将来自第1编码部102的有损编码数据存储至第1存储器105。
2.在处于Ly≥f(Lx)的关系时,将来自第2编码部103的无损编码数据存储至第1存储器105。
结果,在计算机灰度区域内,不同的编码种类的编码数据混在一起的几率变低,能够抑制以上那样的问题的发生。另外,在图18中,比点A(计算机灰度区域的无损编码数据长的最大值+α)的码长更大的区域以直线表示,但也可以使其构成沿着分布区域2002的曲线,在大于或等于预定时以Ly=Lx的直线定义。
通过上述实施方式,在第1计数器111的值超出目标数据量时,将设定于第1编码部102的量化矩阵表从Q0变更为Q1,进行图像的再输入。即,在第2次图像数据(或者第2次原稿读取)的编码处理中,编码时的量化阶值变大,因此由第1编码部102生成的编码数据量变得比第1次少。
其结果是,图18的分布区域2001至2004,对于纵轴整体朝小的方向移动,并且,变成在纵轴上被缩小的状态,成为图19所示的分布区域2001′至2004′的样子。此外,此时的边界条件2007″需要更接近简单比较,曲线朝下方向移动。由此在同一目标内允许编码方式混在一起,不能否认与第1次编码时相比会引起图像品质劣化,但无损的编码方式优先被选择,因此能够更多地选择存储器内无损编码块。
如果就以上说明的在实施方式中的编码序列控制部110的处理进行总结,则如以下这样。
将设定于第1编码部102的量化矩阵表设为Qi,将此时的边界条件函数设为Ly=fi(Lx)。
1.在处于Ly<fi(Lx)的关系时,将选择存储于第1存储器105中的来自第1编码部102的有损编码数据的信号,输出至第1存储器控制部104。
2.在处于Ly≥fi(Lx)的关系时,将选择存储于第1存储器105中的来自第2编码部103的无损编码数据的信号,输出至第1存储器控制部104。
也可以是在用于实现上述处理的编码序列控制部110中,内置函数fi(),每次进行比较运算,但为了使处理简单化,而使其内置LUT(对照表)120。
与使用了编码序列控制部110内的LUT120的编码数据的选择相关的结构,例如可以通过图2所示的结构实现。
对LUT120提供作为地址的以下的信息来自第1码长检测部108的码长数据;来自第2码长检测部109的码长数据;以及用于确定设定于第1编码部102的量化矩阵表Qi的量化矩阵表编号i。该量化矩阵表编号i,也可以视为用于选择多个边界条件函数fi的表的信号。
将1位(bit)的信号预先存储至LUT 120内的上述地址位置。例如,在处于Ly≥fi(Lx)的关系的地址位置存储1;在处于Ly<fi(Lx)的关系的地址位置存储0。
然后,在寻址时将该信号的位作为编码数据选择信号,输出至第1存储器控制部104。而且,该编码数据选择信号,也作为选择器121的选择信号而被提供。然后,选择器121对所选择的码长数据进行选择,使第1计数器111进行累加计算。
为了实现上述处理,编码序列控制部110,可以按照图3的流程图进行处理。
首先,在步骤S1中,将0作为初始值赋予变量i。接着,在步骤S2中,将相当于第1计数器111的变量Cn清零。
之后,在步骤S3中,将量化矩阵表Qi设置于第1编码部102,在步骤S4中输入1像素块的数据。然后,在步骤S5中通过第2编码部103进行无损编码,在步骤S6中求出此时所获得的编码数据长Lx。而且,与此平行地,在步骤S7、S8中,进行有损编码,求出此时所获得的编码数据的码长Ly。
另外,在图示中表示了步骤S5、S6与步骤S7、S8平行进行的例子,但在通过计算机程序实现的情况下、并且在运行多任务OS的情况下,同样能够处理。而且,在通过单任务OS实现的情况下,应该只需按步骤S5、S6、S7、S8的顺序处理即可。
在步骤S9中,判断是否满足Ly≥fi(Lx)。在满足该关系的情况下,在步骤S10中使第1存储器存储无损编码数据。然后,在步骤S11中,在计数值Cn上加上码长Lx。
另一方面,在步骤S9中判断为Ly<fi(Lx)时,在步骤S12中使第1存储器存储有损编码数据。然后,在步骤S13中,在计数值Cn上加上码长Ly。
接着,进入步骤S14,判断1页的编码处理是否结束。该判断通过判断输入的像素块数是否已达到1页的总像素块数即可。
当在该步骤S14中判断为未结束时,进入步骤S15,判断计数值Cn的值是否已达到大于或等于表示目标数据量的阈值T。在结果为否时,由于要输入下一个像素块,因此返回步骤S4。
此外,在判断为计数值Cn已变成大于或等于阈值T时,进入步骤S16,使变量“i”增加“1”,由于要从页的最前端开始再次输入图像,因此返回步骤S2。
另一方面,当在步骤S 14中判断为1页的编码处理已经完成时,进入步骤S17,进行将存储于第1存储器105中的编码数据输出到第2存储装置7的处理。
如上所述,根据本实施方式,不设置专门的图像区域判断电路,就能生成与一边并用无损编码、有损编码,一边生成与按每一图像区域执行适当的编码处理等效的编码数据。而且,在超出目标编码数据的情况下,通过变更量化矩阵表,进行图像数据的再输入、再编码,也可以生成小于或等于目标数据量的编码数据。
<第2实施方式的说明>
在上述实施方式(第1实施方式)中,在进行1页的编码的过程中,当所生成的编码数据量超过目标数量时,再次进行输入。
在本第2实施方式中,说明不进行1页的图像的再输入,而生成小于或等于目标数据量的编码数据的例子。
装置结构与图22相同,以下着重对编码处理部6进行说明。
图4是第2实施方式的编码处理部6的结构框图。与图1的不同之处,在于添加了第2存储器控制部106、第2存储器107、再编码部112、以及第2计数器113。除这些之外与图1相同,因此赋予相同的标号。
而且,在第1存储器105中,存储按照与前面说明的第1实施方式同样的判断基准所选择的编码数据,因此省略对其的说明。以下,对本第2实施方式的特征进行说明。
第2存储器控制部106,在编码序列控制部110的控制下,进行将由第2编码部103生成的编码数据存储到第2存储器107的存储处理;以及由第2存储器107读出编码数据。该第2存储器107,作为对1页的图像数据进行编码时的作业区域而使用。
再编码部112,对存储于第2存储器107中的编码数据(无损编码数据)中的、由编码序列部110所指定的范围的编码数据进行再编码。该再编码部112例如形成图13的结构。
第2存储器107中存储有由第2编码部(LPEG-LS编码部)103编码的无损编码数据,因此,首先通过LPEG-LS解码部112a,解码(复原)为原图像的像素块。然后,JPEG编码部112b,将被复原的像素块,按照由编码序列控制部110设定的量化矩阵表Qi进行JPEG编码(有损编码)。此时,在编码数据的最前端,附加表示这是有损编码数据的标识位。
码长检测部112c,检测出被JPEG编码的编码数据的码长,码长检测部112d,检测出由第2存储器读出的无损编码数据的码长。LUT112e存储与编码序列控制部110内的LUT120相同的信息,将来自编码序列控制部110的量化矩阵表编号i与2个码长数据作为地址输入,将1位的信号作为选择信号输出。
选择器112f通过按照来自LUT112e的选择信号,从无损编码数据、有损编码数据中,选择编码长小的一方,输出到第2存储器控制部106,使第2存储器107存储已选择的编码数据。另一个选择器112g选择被选择出的编码数据的码长,使第2计数器113进行累加计算。
针对由编码序列控制部106所指定的范围反复执行上述处理。第2计数器113,在再编码部112的再编码开始时被复位,对通过再编码部112生成的编码数据量进行累加计数。完成所设定的范围的再编码时,保存在第2计数器中的值(通过再编码生成的编码数据量)被输出到编码序列控制部110。
以上,针对图4的结构进行了说明,下面,对整体的处理进行更详细的说明。
在开始一页的图像数据的编码时,由控制部1将对应于所输入的图像尺寸的目标数据量设定至编码序列控制部110。编码序列控制部110对第1编码部102设定初始的量化矩阵表Q0(最高图像品质的编码参数),将第1计数器111清零。然后,使第1编码部102、第2编码部103开始编码处理。以下,是1页的图像数据的输入和编码处理的说明。
由第1编码部102和第2编码部103,输出对于相同像素块的编码数据,并且通过第1、第2码长检测部108、109,检测出各自的码长,输出该检测出的码长。编码序列控制部110,与第1实施方式同样地,即按照图2的结构,选择任一者的编码数据,使第1计数器111加上该选择的编码数据的码长信息。此时,将表示选择的是哪一方的控制信号输出到第1存储控制部104。
第1存储器控制部104,从编码序列控制部110接受上述控制信号,选择码长被判断为短的编码数据,存储到第1存储器105。
以上的结果是,在图像数据的各像素块方面的码长短的编码数据被顺次存储到第1存储器105中。即,无损编码数据和有损编码数据混在一起被顺次存储到第1存储器105中。另一方面,仅无损编码数据被顺次存储到第2存储器107中。
此处需要注意的是,在第1计数器111中存储有被存储于第1存储器105中的编码数据的总码量的信息。
至此为止,除去在第2存储器107中存储无损编码数据之外,与第1实施方式相同。
编码序列控制部110,监视编码处理进行过程中的第1计数器111的值,即存储于第1存储器105中的编码数据的总量,判断是否超出(也包括到达)目标数据量。然后,在判断为存储于第1计数器111的值(总码量),超出目标数据量时,编码序列控制部110进行以下的步骤。
步骤1).向第1存储器控制部104输出控制信号,使得废弃第1存储器105内的已存储的数据。第1存储器控制部104,根据该控制信号,通过清空存储器地址计数器、或者清空编码数据管理表,来废弃已存储的编码数据。
步骤2).将第1计数器111清零(来自输入部101的图像的输入则继续)步骤3).因为对于第1编码部102,需要以比之前更高的压缩率进行编码,所以更新量化矩阵表。即,在从前被设置的量化矩阵表为Oi时,设置Oi+1。由于在初始状态下被设置为Q0,因此在最初判断为超出目标量时,设置Q1。
步骤4).将第2计数器113清零,将量化矩阵表Oi+1设置到再编码部112,开始存储于第2存储器107的编码数据的再编码。再编码后获得的编码数据(无损、有损编码数据混在一起),再存储到第2存储器107。另外,由于在第2存储器107中,还存储有来自第2编码部103的编码数据,因此两者区别开进行存储。
步骤5).在再编码完成时,将“再”存储到第2存储器107中的编码数据,传送到第1存储器105,并且删除第2存储器107内的再编码后获得的编码数据(来自编码部103的编码数据不删除)。而且,读出第2计数器113的值,加到第1计数器111上。其结果是变成第1计数器111重新表示存储于第1存储器中的编码数据的总量。
另外,第2存储器控制部106检测出再编码处理是否已结束。即,如果为了再编码处理而读出的数据已经没有了,则将再编码处理的结束通知编码序列控制部110。实际上,不仅是第2存储器控制部107的读出处理,而且再编码部112的处理也结束后,编码处理才完成。
而且,在1页的图像的输入同编码完成前,再次判断为总编码数据量超出目标数据值时,执行上述步骤1至步骤5。因此,最终地,在第1存储器105中存储小于或等于目标数据量的编码数据。
将以上说明的图4的结构中的编码序列控制部110的处理步骤表示为图11的流程图,为了使说明简单,首先,按照简化了的图5的流程图进行说明。
图5的流程图,如果进行大致区分,可以分成以下3个处理阶段。
(1)编码阶段(2)编码、再编码阶段(3)传送阶段以可视化的方式,简单易懂地表示在上述各个处理阶段中,图像数据、编码数据等是如何流动,如何被处理,以及如何被存储到存储器中的是图6至图10。
图6表示与图5的流程图中的步骤S303同S305对应的编码阶段的初始状态。另外,图6中的开关40,为通过编码序列控制部110和第1存储器控制部104的功能实现。用于切换的信号,利用来自图2所示的LUT120的信号。
第1存储器105存储由2个编码部生成的编码数据中的任一者。因此,维持这样的关系存储于第1存储器105中的数据量I,比存储于第2存储器107中的数据量I′少。
图7表示在步骤S309中变更了量化矩阵表时的状态。如图示那样,第1存储器105内没有编码数据。
图8表示与步骤S311~S315对应的编码、再编码阶段的处理状态,图9表示与步骤S317对应的传送阶段的处理状态,图10表示传送阶段后的编码阶段的处理状态。以下,对各阶段进行说明。
《编码阶段》1页量的图像数据的编码处理,从编码参数的初期设定处理(步骤S301)开始。在此,为以下的处理设定从编码处理的图形尺寸(页记述描绘等从输入部101读取的用纸尺寸)唯一地确定的编码数据量的目标数据量、适用于第1编码部102的量化矩阵表Q0。
之后,在步骤S303中,由第1编码部102和第2编码部103开始编码处理。其结果是在第1存储器105中,按像素块单位,顺次存储来自第1编码部102的编码数据和来自第2编码部103的编码数据中的任一者。存储于第1存储器105中的编码数据量,通过第1计数器进行计数这一点,与已经阐述过的相同。另一方面,在第2存储器106中,存储来自第2编码部103的编码数据。图6表示该状况。表示存储于第1存储器105中的数据量的区域I,至少小于或等于表示存储于第2存储器107中的数据量的区域I′。
接着在步骤S305中,检测该数据量的计数值是否超出上述目标值,如果没有超出,则继续步骤S303的第1编码和第2编码处理。这是初始状态的编码阶段。
《编码、再编码阶段》在编码处理继续进行,存储于第1存储器中的总编码数据量超出目标量时,在步骤S307中废弃第1存储器105内的编码数据,并且在步骤S309中,将设定于第1编码部102的量化矩阵表Q0,更新为下一阶段的Q1。总编码数据量超出目标数据量,表示压缩后的数据量无法收纳进目标以内。由此,再使用相同的量化阶继续编码处理已经没有意义,因此,才变更为比以前的量化阶宽度大的量化阶Q1。
变更了量化阶后,在步骤S311中,重新进行第1编码部102和第2编码部103的编码处理。而且,将量化矩阵表Q1(与设置到第1编码部的更新后的量化矩阵表相同)设置到再编码部112,开始存储于第2存储器的编码数据量的再编码,将再编码结果重新存储到第2存储器。表示这一状态的是图7。
然后在步骤S315中等待一直到再编码的处理完成为止。
<传送阶段>
表示当在步骤S315中判断为再编码已经完成时,第1存储器105和第2存储器107的编码数据的存储状况的为图8。在图8中,区域II、II′表示在进行再编码处理的过程中,与新输入的图像数据对应的编码数据,区域I表示对已存储在区域I′中的编码数据的再编码结果(有损编码数据和无损编码数据混在一起)。
在步骤S317中,如图9所示那样,将存储于第2存储器107中的再编码数据(图示的区域I)传送至第1存储器105。在该传送完成后,废弃第2存储器107内的区域I的数据(或者允许写覆盖)。
在上述传送阶段结束后,返回步骤S303、S305的编码阶段,返回编码阶段。其结果是如图10所示那样,进行将对新输入图像数据的编码数据III、III′存储到各自的存储器的存储处理。该编码阶段,与初始状态的编码阶段(图6)有稍许不同,该不同点在于,通过第1编码部102编码时的量化阶从Q0变更为Q1,并且存储于第1存储器105中的编码数据的顺序不是图像输入顺序。如果忽略这些不同点,传送阶段后紧接着的编码阶段和初始状态的编码阶段可视为相同。另外,如图10所示那样,编码数据的顺序并非一定为时间序列,也可以将各阶段的存储地址另行预先存储,在1页的编码处理完成输出到2次存储装置7时,从第1存储器105按时间序列读出编码数据并进行输出。
因此,通过重复编码阶段,编码、再编码阶段以及传送阶段这3个阶段,能够最终地将1页的图像数据压缩在小于或等于数据量设定值的码存储至第1存储器105中。并且,输入部101只是继续输入直到一连串的处理完成为止。即,不需要再对图像从最初开始重新输入。
图5所示的流程图,仅记述了与图6至图10所示的各阶段对应的处理,以使说明更易于理解。但是,实际上1页的图像数据的输入,会在某个阶段结束。因此,根据是在哪一个阶段结束,这之后的对应也多少存在不同。表示考虑了这些的流程的是图11的流程图。图11的流程图,考虑了1页量的图像数据的输入完成与在图5中说明的各种处理之间的关系,此处在图5的流程图上,追加有步骤S801、S803、S805、S807。
步骤S801、S803、S805,分别在编码阶段,编码、再编码阶段,以及传送阶段,对来自输入部101的1页量的图像数据的输入是否结束进行检测。
当在编码阶段和传送阶段检测到1页量的图像数据的输入已经结束时(步骤S801、S805),转移到步骤S807,结束该页的压缩编码处理,如果存在下一要处理的1页或1页以上的图像数据,开始下1页量的图像数据的压缩编码处理,如果没有则进入停止状态。
另一方面,当在编码、再编码阶段检测到1页量的图像数据的输入结束时(步骤S803),需要暂时中止动作,一直到第1编码部102、第2编码部103中再编码处理的图像数据处理完为止。因此,跳过(pass)步骤S311的编码处理,在步骤S313中,只继续进行用于将迄今为止已由第1编码部102、第2编码部103编码完成的图像数据控制在预定的编码数据量的再编码处理。在再编码处理全部结束,之后的传送处理没有结束时,由于1页量的全部图像数据的编码数据,没有集中到第1存储器上,因此在1页量的图像数据的输入结束后,也需要继续进行再编码处理和接着再编码处理的传送处理。在这种情况下,在步骤S315中,当检测到在编码处理全部结束时,在编码、再编码阶段,在将只存储于第2存储器107中的编码数据传送到了第1存储器(步骤S317)之后,在接下来的步骤S805中,检测1页量的图像数据的输入结束,转移到步骤S807。
以上是实施方式的动作,也是图11的动作说明。
如以上说明的那样,根据本第2实施方式,可以达到与第1实施方式同样的作用和效果。而且,无需中断1页的图像输入,并且不用进行再输入,也能生成小于或等于目标编码数据量的编码数据。
特别希望引起注意的是一并使用了有损编码的JPEG、无损编码的JPEG-LS这两种技术。如已经说明的那样,JPEG编码对自然图像的压缩效率高;JPEG-LS编码,对字符线条图能获得高的压缩率,因为是无损编码的缘故,能够忠实地再现原图像。
此处,将第1计数器111(码量)的时间轴的变迁的一例表示为图12。
图12表示以定时T0开始原稿图像的输入,以定时T5完成了原稿图像的输入的情况。如果所输入的原稿的尺寸是固定的,定时T5则成为固定。以下,说明各定时的处理。
定时T0是图像输入开始(编码开始)定时。此时,作为初始值向第1编码部102设置量化矩阵表Q0,第1计数器111被初始化为“0”。之后,在继续图像的输入和编码时,进行图像数据的编码数据的编码,第1计数器111的计数值逐渐增加。
定时T1表示图像数据的编码数据量,已到达目标码量的情况。此时,废弃第1存储器105的图像数据的编码数据,将第1计数器111清零,将设置于第1编码部102的量化矩阵表更新为Q1。此外,也对再编码部112设置量化矩阵表Q1,使开始再编码处理。
定时T2表示再编码和传送处理的完成。在再编码完成时,再编码后获得的编码数据从第2存储器107传送到第1存储器105,并且表示再编码数据量的第2计数器113的值,加到第1计数器111上。其结果是在第1存储器105和第2存储器107中,存储与以量化矩阵表Q1,对从1页的最前端开始到定时T2之间输入的图像数据进行编码后等效的编码数据。
定时T3再次表示图像数据的编码数据量已到达目标码量的情况。此时,废弃第1存储器105的图像数据的编码数据,将第1计数器111清零,将设置于第1编码部102的量化矩阵表设置为Q2。此外,也对再编码部112设置量化矩阵表Q2,使再编码处理开始。
定时T4表示再编码和传送处理的完成。在再编码完成时,再编码后获得的编码数据从第2存储器107传送到第1存储器105,并且表示再编码数据量的第2计数器113的值加到第1计数器111上。其结果是在第1存储器105和第2存储器107中,存储与以量化矩阵表Q2对从1页的最前端开始到定时T2之间输入的图像数据进行编码后等效的编码数据。
定时T5表示1页的原稿输入的完成。此时,在第1存储器105中,存储有1页的图像的编码数据,因此,将其结果输出到2次存储装置7。
此处,在读取第2页的原稿图像的情况下,重复从上述定时T0开始的处理。
另外,根据不同的图像,有时也可能在即将完成原稿图像的输入的定时T5之前,第1计数器111的值超出目标量。在这种情况下,在定时T5之后进行再编码和传送处理。因此,已存储于第1存储器105中的编码数据输入到2次存储装置7的条件,为完成了原稿图像的输入并且完成了编码(再编码和传送)的情况。
<第2实施方式的变形例1>
图14是针对图4的变形例。与图4的不同之处,在于通过再编码部112再编码后获得的编码数据的存储目的地为第1存储器105。除此之外的结构与图4相同。
图15表示存储于第1存储器105中的总编码数据量超出目标数据,废弃第1存储器105内的数据,开始存储于第2存储器107中的编码数据(图示的区域I′)的再编码时的状态。
如图示所示那样,将再编码部112的再编码的存储目的地设定为第1存储器105,使再编码开始。
图16表示完成了再编码时的2个存储器的编码数据的存储状态。在完成再编码时,如图示那样,在第1存储器105中存储有以区域I表示的编码数据。该区域I的编码数据,相当于以量化矩阵表Q1对在判断目标数据量已超出之前为止输入的图像数据进行了编码的情况。
由于即使在再编码的进行过程中,图像数据的输入和编码也在进行,因此如图示所示那样,存在区域II、II′。
由于在第1存储器105中,生成有空区域105a,因此使图16所示的区域II的编码数据移动至区域I的后端位置。之后,成为重新进行编码阶段,此时对存储器的存储状态为图17所示的那样。
相对于图4而言的图14的结构的优点,在于实质上消除了再编码后的数据传送。
另外,由于在本变形例中,只是消除了传送阶段,因此上述第2实施方式与本变形例在重复3个阶段进行处理上没有发生变化。因而,处理的内容也与图5、图11几乎相同,不需要进行说明。另外,在图16中为了消除空区域105a进行了在第1存储器105内的移动,但也可以设置管理各区域的连接关系的文件管理表,或者分组管理表等,因此,并非一定需要内部传送。
<第2实施方式的变形例2>
在上述第2实施方式和第2实施方式的变形例1中,在第1存储器105内的编码数据量超出目标数据量时,通过再编码部112对第2存储器107的编码数据进行了再编码。换言之,则为再编码部112在第1存储器105内的编码数据量未达到目标数据量的期间不执行。
因此,将有效利用这一期间的例子作为变形例2进行说明。
以下,为第1存储器105内的编码数据量未达到目标数据量的情况,需要注意的是,将来自第2编码部103的无损编码数据顺次存储到第2存储器107的过程中的处理的说明。此外,作为条件,以设定于第1编码部102的量化矩阵表为Qi进行说明。
从第2编码部103向第2存储器107存储无损编码数据,与第2实施方式相同。但是,再编码部112将以下处理提前到前面进行,该处理为从所存储的无损编码数据中依次读出,利用量化矩阵表Qi+1进行再编码,生成有损编码数据,将其结果存储到第2存储器107。
其结果是当在第1存储器105内的编码数据超出了目标数据量时,在第2存储器107中存在无损编码数据,当然且保证存在一定程度的有损编码数据。因此,如果是同一像素块位置,就将码长小的一方传送至第1存储器,而只对不存在成为比较对象的有损编码数据的像素块进行基于图13的处理即可。
此外,在完成从第2存储器107向第1存储器105的传送时,废弃已存储于第2存储器内的有损编码数据,此次设定量化矩阵表Qi+2,开始再编码即可。以上的结果,能够进一步缩短与再编码相关的处理。
以上,说明了本发明的第1、第2实施方式及其变形例。此外,在第2实施方式中,以第1存储器105、第2存储器107在物理上是分开的存储器进行了说明。在本发明中,独立地设置这些存储器,足以构成1个特征。但是,不将这些存储器设定为在物理上分开的存储器的情况,也包含在本发明的范畴中。尤其是当存储器的传送速度足够高的情况下,在物理上的1个存储器上,确保相当于第1存储器、第2存储器的2个区域,将第1存储器改称为第1存储器区域,将第2存储器改称为第2存储器区域,利用上述的说明能够得知,也能通过1个存储器实现本发明。
而且,在以1个存储器实现上述各实施方式的情况下,在上述传送阶段中说明的数据传送处理中的某些部分就不再需要。其详细内容,由于在每种情况下都是容易想象得到的,因此省略对其的说明。在严密地区分上述2个区域使用的情况下,与具有在物理上的2个存储器时同样地需要进行数据传送处理,但如果变成在2个区域间共有相同的数据,就不仅不再需要数据传送处理,而且还能谋求削减存储容量。
例如,在将第2存储器区域中保存的编码数据传送到第1存储器区域时,只需通过从第2存储器控制部向第1存储器控制部传送存储有该编码数据的最前端地址和数据尺寸这2个信息,就能获得与传送了上述编码数据同样的效果。
在以文件格式、分组格式存储有上述编码数据的情况下,需要增加少许在存储器控制部之间传送的信息,并需要传送与该编码数据相关联的管理表信息。
另外,在实施方式中,将编码对象作为8×8像素块尺寸进行了说明,但本发明并不受该尺寸的限制。总之,只需能够使用2种(或者也可以是2种以上)不同的编码技术,比较对同一图像区域所生成的2种编码数据量即可。例如,只要在JPEG编码中按N×M像素块单位进行编码,JPEG-LS能将2N×2M的像素块作为编码对象,就可以将4个JPEG编码数据与1个JPEG-LS编码数据进行比较。
而且,在实施方式中,说明了使用作为有损编码的JPEG和作为无损编码的JPEG-LS作为2种编码技术的例子。但是,无损、有损编码技术,并不受此限制。
由实施方式可知,在使用有损/无损编码和对自然图像/字符线条图这两方面具有不同的特性的、如JPEG和JPEG-LS这样的2种编码技术时,本申请发明将发挥有益的作用。
上述第1、第2实施方式的非线性的边界函数f()包括曲线部分,但是本发明并不限于此,其曲线部分也可以用多条短线段表示。
此外,在上述第1、第2实施方式中,说明了将本发明适用于图22所示的复印机的例子,但显然也能适用于将图像扫描器等图像输入装置与个人计算机等通用信息处理装置连接而进行编码的情况。由于在这种情况下,只需执行与图3、图5(或者图11)相关的程序即可,因此,显然本发明也将相关的计算机程序作为其范畴。而且,通常计算机程序通过将CDROM等计算机可读的存储介质设置于该计算机上,将计算机程序复制或者安装(install)到系统中即可执行,因此,显然这样的计算机可读存储介质也包含在本发明的范畴内。
根据以上说明的本发明,即使无损编码数据和有损编码数据混在一起,也能够减少解码图像的图像品质的劣化。
在不脱离本发明的精神和范围的前提下,本发明可以有各种不同的实施方式,并且可以理解为,本发明不受特定的实施方式的限定,其范围由所附的权利要求限定。
权利要求
1.一种图像编码装置,按像素块单位对图像数据进行编码,其特征在于,包括第1编码装置,对所输入的图像数据按像素块单位进行有损编码,生成编码数据;第2编码装置,对所输入的图像数据按像素块单位进行无损编码,生成编码数据;以及选择装置,在设由上述第2编码装置所生成的编码数据的码长为Lx,由上述第1编码装置生成的编码数据的码长为Ly时,对于预定的非线性边界函数f()满足Ly≥f(Lx)的情况下,选择并输出由上述第2编码装置所生成的编码数据,在未满足上述边界函数的情况下,选择并输出由上述第1编码装置所生成的编码数据。
2.根据权利要求1所述的图像编码装置,其特征在于上述预定码长,位于在用上述第2编码装置对具有浓度平滑地变化的灰度属性的图像区域进行了编码时的、上述Lx能取得的最大值附近的位置。
3.根据权利要求1所述的图像编码装置,其特征在于上述非线性边界函数f( )的判断由对照表存储器执行,该对照表存储器接收作为地址的码长Lx、Ly,并输出表示选择哪个的编码数据的数据。
4.根据权利要求1所述的图像编码装置,其特征在于上述第2编码装置为JPEG-LS编码装置,上述第1编码装置为按照所赋予的量化矩阵表,生成压缩率不同的编码数据的JPEG编码装置。
5.根据权利要求4所述的图像编码装置,其特征在于,还包括初始化装置,在开始一页的编码时,对上述第1编码装置设置初始矩阵表Q0;第1存储装置,存储由上述选择装置所输出的编码数据;监视装置,监视已存储于该第1存储装置中的编码数据量;控制装置,在通过该监视装置判断出上述编码数据量大于或等于预定数据量时,(a)废弃上述第1存储器内的编码数据,(b)将参数从设定于上述第1编码装置的以前的量化矩阵表Qi更新为Qi+1。
6.根据权利要求5所述的图像编码装置,其特征在于上述控制装置,包括在更新量化矩阵表后,再次输入图像数据重新开始编码的装置。
7.根据权利要求5所述的图像编码装置,其特征在于还包括第2存储装置,存储由上述第2编码装置所编码的无损编码数据;再编码装置,将上述第2存储装置内的编码数据解码,根据所赋予的参数进行再编码,生成有损的编码数据,并且根据上述非线性边界函数f( ),选择再编码后的编码数据和再编码前的无损编码数据中的任一者,存储到上述第1存储装置,其中,上述控制装置,在由上述监视装置判断出已存储于第1存储装置的编码数据量已变为大于或等于预定数据量时,在上述(a)、(b)之外,(c)将参数Qi设定到上述再编码装置,生成变为大于或等于上述预定数据量以前的编码数据。
8.一种图像编码方法,按像素块单位对图像数据进行编码,其特征在于,包括第1编码步骤,对所输入的图像数据按像素块单位进行有损编码,生成编码数据;第2编码步骤,对所输入的图像数据按像素块单位进行无损编码,生成编码数据;以及选择步骤,在设由上述第2编码步骤所生成的编码数据的码长为Lx,由上述第1编码步骤所生成的编码数据的码长为Ly时,对于预定的非线性边界函数f()满足Ly≥f(Lx)的情况下,选择并输出由上述第2编码步骤所生成的编码数据,在未满足上述边界函数的情况下,选择并输出由上述第1编码步骤所生成的编码数据。
全文摘要
本发明提供一种图像编码装置及其方法,即使无损编码数据和有损编码数据混在一起,也减少解码图像的图像品质的劣化。为此,对每个像素块单位,第1编码部进行JPEG编码,第2编码部进行JPEG-LS编码。编码序列控制部在设由第1编码部生成的编码数据的码长为Lx,设由第2编码部生成的编码数据的码长为Ly时,对于预定的非线性边界函数f( ),根据是否满足Ly≥f(Lx),选择2种编码数据中的一者,存储到第1存储器。此时,该非线性边界函数f( ),在设横轴为由第2编码部生成的编码数据的码长,设纵轴为由第1编码部生成的编码数据的码长时,在两者的码长中包含曲线部分。
文档编号H04N1/41GK1747525SQ200510098330
公开日2006年3月15日 申请日期2005年9月7日 优先权日2004年9月8日
发明者田村宏和, 伊藤直树 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1