本发明涉及到一种用于对图象数据进行编码和译码的方法和装置,借助于举例,本发明涉及到一种用于图象档案或图象通信装置的图象处理方法和装置。 近年来,由JPEG(Joint Pho tograph Experts Group:联合摄影家集团)提出了一种用于压缩自然照片彩色图象数据的国际标准。下面将这种标准的方法称之为JPEG编码方法。虽然JPEG编码方法是由多个系统组成的,但其主要基础是一个基线系统。
图27示出了所述基线系统的数据压缩过程。
首先,由诸如扫描器的一个原始读出设备读出的输入图象数据被分成多个区段,每个区段含有8×8个象素。此后,在多个区段单元中执行压缩处理。根据所述的JPEG编码方法,由所述原始读出设备所写入的图象数据并不相对于待编码的色空间进行调节。但是,通常在执行编处理以前执行色空间变换处理。至于将要进行变换的色空间,将有更多的色空间,在这些色空间中,它将可能更加有效地执行编码处理。这样一个色空间的一个例子就是它含有亮度信号和彩色信号(YCbCr、YIQ、Lab等)。
在一个基线系统中,在经过划分所获得地每一个区段中的所述图象数据(原始色空间或所述色空间经过变换所获得的色空间的图象数据)必须经过离散余弦变换(此后称之为“PCT”),这是一种正交变换(1301)。在所述的原始输入图象数据经由DCT变换成空间频率分量的数据之后,在所述8×8区段左上角处的系数称之为直流(DC)分量,其值相应于在变换以前所述区段图象数据的平均值。另外的63个系数称之为交流(AC)分量。这些值用以表示在变换以前有多少对应于这些位置空间频率分量包含于一个字块的图象数据之中。
变换后的DCT系数被除以由8×8的阈值乘以比例因数所获得的值以决定哪一个是所述阈值确定倍数的值将被使用。然后执行量化(1302)。所述变换后的DCT系数必须经受编码处理,这种处理不同于所述的直流和交流分量。特别是对于所述的直流分量而言,在被处理字块的直流分量和在先字块的直流分量之间的差别必须经过霍夫曼编码,这种编码利用了相互相邻字块间相关数的强度(1303,1304)。交流分量通过从在所述字块内的空间频率的低频区域到高频区域的Z字形扫描被重新安置成一维阵列(1305)。进而,以除零(这是一些有效的系数)和多个连续零(非有效系数)的个数(行程)外组成系数组执行两维霍夫曼编码(1306-1309)。
图16表示了一种配置的例子,在这个例子中考虑到了这样一种情况:即上述的编码方法被应用于彩色图象通讯装置。
在图16中,数字101表示一个图象读出器,用来扫描原始图象和输出多值RGB数字彩色信号。数字103表示一个图象存贮器,用于存贮由图象阅读器101所读出的数据或存贮通过一线接收的编码数据译码所获得的图象数据。数字102表示一个图象打印机,用于彩色打印由所述图象存贮器103所输入并由多值数字彩色信号所表示的图象。数字110表示一个数字信号处理器(此后称之为“DSP”),用于对从图象存贮器103读出的图象数据进行编码或对通过所述所接收的编码数据进行译码。数字107表示一个代码存贮器,用于存贮由所述DSP编码的代码数据或从所述线接收的代码数据。数字108表示一个电路控制单元,用于向所述线发送代码数据或从所述线接收代码数据。数字109表示一个CPU,用于通过CPU总线B109来监视和控制这些分量中的每一个分量。一个中断信号线I111从所述109一直延伸到所述DSP110,另一个中断信号线I112从所属DSP延伸到CPU109。
首先,将说明图象数据的编码操作。图17是一个流程图它示出了DSP110的编码处理过程。所述流程图示出了所述图象数据一个字块的编码过程。
利用所述的图象读出101对原始图象进行扫描,由图象读出器101所输出的图象数据被暂存在图象存贮器103中。应当注意,所述的图象存贮器103是一个能够相对于所述图象读出器110或图象打印机102进行输入/输出的三端口存贮器,该存贮器能够由CPU109或DSP110进行异步存取。
在步骤S1,所述DSP在需要时增加一个空白空间以使其符合指定的尺寸。在除了所述空白区域以外的图象区域中,所述DSP110读出所述图象存贮器103以外的图象数据的一个字块。在步骤S2,所述的DSP110将所述图象数据的色空间转变成一个电路线上的诸如ycbc,色空间的色空间。
接着,所述DSP110还要使已经经过色空间变换的图象数据经受子采样处理(在步骤S3)、DCT处理(步骤S4)、量化处理(步骤S5)和Z字形扫描处理(步骤6),此后,它应用霍夫曼编码(步骤S7)、在所述代码存贮器107中存贮所获得的数据,随后结束所述图象数据一个字块的编码。
应当注意,所述的代码存贮器107也是一个可由DSP110、电路控制单元108和CPV109进行异步存取的三端口存贮器。所述的电路控制单元108从所述代码存贮器107中读出代码数据并将这些数据送到所述线上。
下面将说明对所接收代码数据进行译码的操作。图18是一个流程图,它示出了所述DSP的译码处理过程。所述流程图示出了图象数据一个字块的译码过程。
由所述电路控制单元108从所线述上接收的数据被存贮在所述的代码存贮器107中。
所述DSP110从所述的代码存贮器107中读出所述的代码数据,在步骤S1执行霍夫曼编码并且重新存贮已经在编码时通过Z字形扫描而重新排列的数据的次序。
接着,所述DSP110使已经存贮到原始序列中的数据在步骤S13中经受反量化、在步骤S14中经受反DCT(此后称之为IDCT)。在这段期间中所产生的结果被存贮在一个内部RAM中。
所述DSP110然后在步骤S15读出存贮于所述内部RAM中的操作结果,重新存贮在编码时经常发生的子尖样,并且在步骤S16将在所述线上来自所述色空间(即ycbcr色空间)的所述图象数据的色空间转变成能够打印出的一个色空间(即:CMYK色空间),并在步骤S17取消在编码期间加入的所述空白空间、在所述图象存贮器103中存贮所获得的结果,结束图象数据一个字块的译码。
应当注意,已经存贮于所述图象存贮器103中的图象数据传送给所述的图象打印机102并在那里将所接收的图象打印出来。
上述的配置存在有某些问题,下面将予以说明。
上述配置例的缺点在于由于所述的图象处理是由单个DSP所执行的,所以,所述的处理需要一个扩展的时间周期。特别是,处理所需的时间使利用所述DSP软件执行处理所需的计算量增加,从而导致延迟获得处理结果。
用于在上述配置中用于增加空白空间的处理是这样的:必须与接收端上再生图象尺寸相符合的所述空白空间必须加到发送端的数据上。因此,在应用所述JPEG编码系统的基线系统的情况下,用于变换所述色空间的处理和诸如DCT的处理是不能单独用于由诸如扫描的图象阅读器所写入的图象数据的,类似于那种应用到所述图象数据的处理也必须应用到在所述发送端上加到所述图象上的所述空白空间的数据上。
因此,在应用JPEG编码方法的图象通信装置中,用于变换色空间的处理,DCT处理以及量化处理也必须应用到表示出所述空白区域的空白空间数据中,并应用到由所述扫描或类似类似设备所读入的彩色较象中,当试图利用上述DSP来实现这个目的时,由于没有考虑对于一个字块内的所有空白空间都具有相同的代码数据从而必须执行相同的操作,致使编码占用了很长的时间周期。
另外,所述的译码处理过程和上述的编码过程正相反。图35示出了一个基线系统的惯常译码过程。这里,通过一个通信发送线传送(发送)给另外一个装置的代码数据经过霍夫曼译码处理进行译码,如图35的2501所示。在2502,已经过译码处理的一阵列数据被安置成两维阵列数据。
考虑到直流分量,如2503所示,执行一个处理,以使一个正在经受处理的字块的直流分量和先前一个字块的直流分量相加,并采用所获得的结果作为正在被处理的所述字块的直流分量。至于所说的交流分量,由于在编码处理时未执行减法处理,如在2504所示,就将重新配置以后的所述数据作为其有效数据。这个数据必须经过减法处理。
特别是,在2505,所述的直流和交流分量必须经过以量化处理,然后在2506执行一个两维反离散余弦变换以完成一个字块的译码处理。在需要进行色空间变换的情况下,在执行了所述色空间的变换以后,就要结束一个字块的译码处理。
除了编码或译码处理以外,对于执行空白空间处理而言,还需要彩色图象通信装置的编码/译码处理器。在空白空间处理中,在接收端所需的空白空间或极限被加到发送端的图象上。在很多情况下,加到一个字块上的空白空间数据是“白”。因此,在根据JPEG编码方法将一个基线系统应用到一个彩色图象通信装置的情况下,用于变换色空间的处理以及诸如DCT的处理是不能单独应用于由诸如扫描器的图象阅读器所读出的图象的数据的,类似于应用到所述图象数据的处理也应当应用到加到发送端图象上的色空间数据(白数据)上。
另外,还是在译码处理中,在不考虑将被译码的代码数据的情况下,上述的一系列译码处理操作,即霍夫曼译码处理,反量化处理,IDCT处理以及色空间变换处理都必须加以执行。
因此,采用了JPEG编码方法的惯常彩色图象通信装置必须使一个字块区域的空白区域区段数据(白数据)和由扫描器等所读入的白区段图象或除白区段以外的字块图象数据经过色空间变换处理、DCT处理、量化处理和霍夫曼编码处理。在译码处理期间,所述装置要使所有的代码数据经过霍夫曼译码处理、反量化处理、IDCT处理以及色空间变换处理。
因此,在一个惯常的彩色图象通信装置的译码处理器中,即使是由一个诸如扫描器的阅读器所读入的空白区域的白字块图象数据或空白空间字块数据(白数据)也要经过类似于加到除白字块以外的字块图象数据的那些处理、即色空间变换处理、DCT处理、量化处理以及霍夫曼编码处理,并且是逐区段地加以处理。其结果,用于所有图象数据、包括空白空间数据的编码处理所需要的时间被延长了。
本发明的一个目的就是要提供一种图象处理方法和装置,利用这种方法和装置,可以高速地执行码和译码。
根据本发明,前述目的是通过提供一个装置来达到的。该装置包括一个输入装置,用以输入代表一个图象的图象数据、一个编码装置,用于将所述的图象分成多个字块并通过什算对所述的图象数据进行编码。其中,所述的编码装置监定所述字块内的象素是否具有予定值,并且当它确定在所述字块内的象素具有予定值时不执行计算就对所术字块内的图象数据进行编码。
根据本发明,前述目的是通过提供一种图象处理方法而达到的,该方法包括输入一个代表一幅图象的图象数据的输入步骤、一个将所述的图象数据分成多个字块、并根据计算机软件通过计算对所述图象数据进行编码的编码步骤,以及所述的编码步骤鉴定在一个字块内的象素是否具有予定值并且当它确定在所述字块内的象素具有予定值时,根据计算机软件不需要执行计算而对所述字块的图象数据进行编码。
本发明的另一个目的就是通过去除某些规定的操作以获得高速度编码和译码。
本发明还有一个目的就是使用多个处理器实现有效的编码和译码。
根据本发明,所述目的是通过提供一个包括有用于输入代表一幅象的图象数据的输入装置以及用于根据计算机软件通过计算对所述图象数据进行编码的编码装置的图象处理装置来达到的,其中,所述的编码装置包括多个计算装置,这些计算装置中的每一个都根据所提供的程序执行计算。
本发明其它的目的和优点除将会通过结合附图的描述而变得明显,其中,在所有图中,同样的参考字符表示相同或类似的部份。
图1是一个方框图,它示出了根据本发明第一实施例的一个彩色图象通信装置结构的一个例子;
图2是一个流程图,它示出了根据该实施例的一个编码处理过程的一个例子;
图3示出了利用“空白加入”所加入的空白空间的一个例子;
图4A和4B示出了根据该实施例的一个量化表的例子;
图5示出了根据该实施例的一个Z字形扫描序列的例子;
图6示出了根据该实施例的在直流系数、组数以及所加入点数之间关系的一个例子;
图7示出了根据该实施例的在交流系数、组数和所加入点数之间的关系;
图8A-8D是一个定时曲线,它示出了根据该实施例在编码中的并行操作的一个例子;
图9是一个流程图,它示出了根据该实施例的译码处理过程的一个例子;
图10A-10D是一个定时曲线,它示出了根据该实施例的译码中并行操作的一个例子;
图11是一个方框图,它示出了根据本发明第二实施例的一个彩色图象通信装置结构的一个例子;
图12A和12B是一个流程图,它示出了依据该第二实施例的编码处理过程;
图13A-13D是一个定时曲线,它示出了依据该第二实施例的编码中并行操作的例子;
图图4A和14B是一个流程图,它示出了依据本发明第二实施例译码处理过程的一个例子;
图15A-15D是一个定时曲线,它示出了依据该第二实施例的译码操作中并行操作的例子;
图16示出了一个配置例方框图,其中,考虑到了将JPEG编码应用到一个彩色图象通信装置的情况;
图17是一个流程图,它示出了在图16中的DSP的编码处理过程;
图18是一个流程图,它示出了在图16中的DSP的译码处理过程;
图19是一个方框图,它示出了根据本发明第三实施例的一个彩色图象通信装置的结构例;
图20是一个流程图,它示出了根据该第三实施例的一个编码处理过程例;
图21是一个流程图,它示出了根据所述第三实施例的一个编码处理过程例;
图22是一个方框图,它示出了依据本发明第四实施例的一个彩色图象通信装置的结构例;
图23是一个流程图,它示出了依据所述第四实施例的一个编码处理过程例;
图24是一个流程图,它示出了依据所述第四实施例的一个编码处理过程例;
图25是一个流程图,它示出了依据所述第四实施例的一个编码处理过程例;
图26是一个流程图,它示出了一个依据所述第四实施例的编码处理过程例;
图27是一个示出了依据所述JPEG编码方法的编码时的处理方框图;
图28的方框图示出了依据本发明的一个实施例的结构;
图29的流程图示出了依据该实施例的编码处理;
图30的流程图示出了依据该实施例的编码处理;
图31描述了在该实施例中对待被处理的一个字块中的数据进行处理的内容的例子;
图32的方框图示出了依据本发明第七实施例一个结构;
图33的流程图示出了依据所述第七实施例译码处理;
图34示出了依据所述第七实施例,在与在前的一个字块相比较其直流差为“0”并且所有交流分量为“0”的情况下一个代码的例子;
图35示出了依据所述的JPEG编码方法,在译码时的处理方框图;
图36是一个方框图,它示出了依据本的一个实施例用作通讯装置的一个传真装置的结构;
图37示出了一个总流程图,它示出了依据该实施例的所述传真装置的通信控制过程;
图38示出了在由图37所表示的通信控制过程中由步骤S2005所指出的发送处理的详细流程;
图39示出了在由图38所示的发送处理过程中,在步骤S2014处有关断一个页处理结束的详细流程;
图40示出了当它判断原始图象数据是否为全白时的一个象素组的组合体;
图41示出了当它判断原始图象数据是否为全白时的一个象素组的组合体;
图42详细地示出了在图39的步骤S2025中所进行的全白判断处理的详细流程;和
图43示出了在图39的步骤S2022中所进行全白判断处理的详细流程。
下面,将参考附图,对依据本发明多个实施例的图象处理装置加以详细描述。
〈第一实施例〉
图1是一个依据本发明第一实施例的一个彩色图象通信装置结构例子的方框图。在图1中,与图16配置基本相同的部份使用上同的参考字符并且不重复描述。
在该图中,数字104表示一个用于下面将要叙述的执行在编码之前的予处理或者是在译码之后的后处理的DSPa,数字105表示一个用于下面将要叙述的执行在编码之后的后处理或在译码之前的予处理的DSPb。
数字106表示一个由双端口RAM或类似部件所组成的RAM,它用作在DSPa104和DSPb105之间数据的中间媒介。
与所述两个DSP相关的信号线如下:P101是一个用于将来自所述DSPa104的状态传送给所述DSPb105的信号线,P102是一个用于将来自所述DSPb105的状态传送给所述DSPa104的信号线,I102是一个从所述DSPa104通往所述CPU109的中断信号线,I103是一个从所述CPU109通往所述DSPb105的中断信号线,I104是一个从所述DSPb105通往所述CPU109的中断信号线。
首先将叙述对图象数据进行编码的操作。图2A和2B的流程图示出了依据该实施例所进行的编码处理过程的例子。所示流程示出了图象数据一个字块的编码过程。利用所述的DSPa104执行图2A所示之处理,而利用DSPb105执行图2B所示的处理。在下面的叙述中,示出了一个例子,其中由8×8个象素构成了一个字块。但是这并不构成对一个字块规模的限制。
利用一个图象扫描器对一个原始图象进行扫描,由所述图象扫描器所输出的RGB图象数据被暂存于图角存贮器103中。
在步骤S21,所述DSPa104在需要时加入一些空白空间以使其和予定规模相符合,在除了所述空白区域以外的图象区域中,所述DSPa104从所述的图象存贮器103中读出一个字块的图象数据。
在步骤S21中表示加入空白空间的例子的
图3说明了一个例子,在该例中,空白区域80和802被回味入到由所述图象阅读器101在A4的读出范围内并以400dpi分辨率读出的一个图象区域803中,从而使其与G4传真的A4规模相荷合。
接着,在步骤202,所述的DSPa104在一个电路线上将所述图象数据的色空间变换成诸如ycbcr色空间的色空间。这个变换是根据下述等式实现的:
接着在步骤S23,所述的DSPa执行一个子采样处理。该处理使用一种特性减少了采色差数据Cb、Cr,根据这种特性,人眼易于感受亮度而不易于感受色彩差。例如,通过取色差数据两个相邻项的平均值并使所述色差数据的量减少一半,数据的每项之比是:Y:Cb:Cr=1″1″1、2″1″1或4″1″1等。
接着在步骤S24,所述的DSPa104比较状态信号P101和P102并等待这两个信号状态相荷合。当这两个信号状态相荷合时,所述DSPa104在步骤S25执行水平方向的一维DCT处理,并且连续在RAM106中存贮操作结果。虽然在ADCT中所执行的DCT处理是两维的,但在该实施例中所执行的处理是两次的一维处理,即水平和垂直方向的处理。下面的等式是一个在水平方向上执行一维DCT处理的变换等式:
F ( u ) =12c ( u )Σi = 07F ( i ) c o s( 2 i + 1 ) u π16… ( 2 )]]>
其中
当所述的DCT处理结束时,在步骤S26,DSPa104使状态信号P101反相。从这点向前,利用图2B所示的过程,由所述DSPb105执行与该数据相关的处理。在步骤S31,所述的DSPb105等待两个状态信号P101和102产生不相符的情况。当所述的两个信号不再相符时,所述的DSPb105从所述的RAM106中读出运算数据并在步骤S32中将所述数据存入一个内部RAM中。然后,在步骤S33,它将所述的状态信号P102反相。
在此之后是步骤S34,在该步中,所述的DSPb105使存贮于所述内部RAM中的运算数据在垂直方向上经受一维DCT处理。所述的变换等式同于上述等式(2)。
接着,使用作为例子而分别在图4A和图4B中示出的Y分量化表和C分量量化表,所述的DSPb105通过将DCT处理后的每一个系数除以在两个量化表中的相应的位置的阈值执行量化处理。
然后,所述的DSPb105如图5例所示按照从0到63的序列进行Z字形扫描,借此,以一维方式重新配置量化数据,并在步骤S37中将霍夫曼编码应用到一维配置的量化数据上,然后将编码数据存贮于所述的代码的存贮器107中。
在霍夫曼编码中,用于图5中位置“0”处所述直流系数的编码不同于在图5中位置“1”到“63”的交流系数的编码。首先考虑所述的直流系数,在刚刚被编码的所述字块得到相对于一个相同分量(Y、Cr或Cb)的直流系数的差,并且根据所述直流差和组号SSSS之间的关系决定组号SSSS和加入位的号。这样的一个例子示于图6。所述的组号SSSS必须利用霍夫曼表进行霍夫曼编码,并且所述的加入位被加到的编码结果上。另一方面,关于交流系数,按常规顺序DS“1”进行计数,直到除“0”以外的系数被发现。从而使得交流系数处于这样一种状态,即它们被配置成如图5所示的从“1”到“63”的一维状态。当发现除“0”以外的系数时,根据组号SSSS和所述交流系数之间的关系决定组号SSSS和加入位。这各情况的一个例子示于图7。
零系数的所述组号SSSS和计数NNNN必须利用霍夫曼表进行霍夫曼编码,并且所述的加入位被加到编码结果上。
上面叙述了考虑到一个字块的处理顺序,实际上所述的DSPa104和DSPb105以流水线处理的方式并行操作。例如,当DSPb105正在处理等N个字块时,所述的DSPa104正在处理第(N+1)个字块。
图8A-8D是一些定时曲线,它表示了在编码中这种并行操作的例子。在这些图中,图8A示出了由DSPa104所执行的处理内容,图8B示出了状态信号P101的状态,图8C示出了由DSPb105所执行的处理内容,图8D示出了状态信号P102的状态。
在图8A-图8D中,信号P101和P102最初是L电平。DSPa104执行空白加入(S21)、色空间变换(S22)和子采样(S23),此后,在步骤S24它检查P101是否等于P102,在水平方向上执行DCT(S25)并在S26使所述信号P101反相。然后,所述的DSPa104着手执行对下一个字块的处理。
在S31,DSPb105保持原状,直到所述的信号P101被反相。在所述信号P101被反相时,DSPb105执行从所述RAM106中的数据读出(S32),此后,在S33,它使所述信号P102反相。所述DSPb105在执行水平方向DCT(S34),量化(S35)Z字形扫描(S36)和霍夫曼编码(S37)的基础上结束所述一个字块的处理。然后,DSPb105着手进行对下一个字块的处理。但是,当在S31步P101不等于P102时,DSPb105直接从RAM106中读出数据(S32)。
利用DPSa104和DPSb105重复上述处理。在每个这种处理操作中摆动范围最宽的处理时间是用于霍夫曼编码的时间(S37)。其结果是在DSPb105的霍夫曼编码(S37)被延长并且在由DSPa104执行的在子采样结束的瞬间(S23)所述的状态信号P102未被反相的情况下,所述的DSPa104维持原状,直到建立起P101=P102的关系,这一点如图8A中标有号的S24中示出。特别是DSPa104和DSPb105监视每一种其它的状态的信号,借些使其相互同步以执行并行处理。
下面将要叙述用于对代码数据进行译码的操作。图9A和图9B是两个流程图。它示出了根据该实施例的译码处理过程的例子。所示流程图示出了图象数据一个字块的译码。图9A的处理是由DSPa104执行的,图9B的处理是由DSPb105执行的。在下面的叙述中,示出了一个例子,在该例中,一个字块是由8×8个象素构成的。但是这并不对字块的规模作出限制。
由电路控制单元108通过所述线接收的代码数据被存贮在代码存贮器107中。DSPb105从代码存贮器107中读出代码数据,在步骤S51中执行霍夫曼编码,并在步骤S52,将在编码时通过Z字形扫描所重新配置的数据序列重新存贮起来。使用分别在图4A和图4B中所示出的Y-分量化表和C-分量量化表,DSPb105在步骤S53执行反量化处理。
接着在步骤S54,DSPb105比较状态信号线P101和P102,并等待这两个状态信号相符合。当这两个信号相符合时,在步骤S55,DSPb105执行水平方向的一维IDCT处理并将运算结果连续地存入RAM106中。
下面的等式是水平方向的一维IDCT处理的变换等式:
F ( i ) =12Σu = 07c ( u ) F ( u ) c o s( 2 i + 1 ) u π16]]>
其中
当所述的IPCD处理结束时,在步骤S56,DSPb105使状态信号P102反相。从这点开始,图9B所示的整个过程都由DSPa104执行与该数据相关的处理。
在步骤S41,DSPa104等待状态信号P101和P102状态不相符合的情况。当两个状态信号不再相符时,DSPa104从RAM106中读出运算数据,并在步骤S42将的述数据存入内部RAM。在此之后,在步骤S43,它使状态信号P101反相。
下面是步骤S44,在该步中,DSPa104使存贮于该内部RAM中的运算数据经过垂直方向的一维IDCT处理。其变换等式同于其上述等式(3)。
然后,DSPa104重新存贮子采样(S45),该子采样经常发生于编码阶段。下面在步骤S46,DSPa104将图象数据的色空间变换成在一行上的色空间。例如,可以从YCbCr色空间变换成适宜打印的诸如CMY色空间的一个色空间。
下面在步骤S47,DSPa104删除在编码期间所加入的空白空间并将所述的图象数据存入图象存贮器103。已经存入图象存贮器103的图象数据被传送给图象打印机102,在那里所接收的图象被打印出来。
上面叙述了仅考虑一个字块的处理序列。实际上,DSPa104和DSPb105根据流水线处理方式进行并联操作。例如,当DSPa104正在处理第N个字块时,DSPb105则正在处理第(N+1)个字块。
图10A-10D是定时曲线图,它们示出了在译码过程中这种并行处理的一个例子。在这些图中,10A表示了由DSPb105所执行的处理内容,10B是状态信号P102的状态,10C是由DSPa104所执行的处理内容而10D则是状态信号P101的状态。
在图10A-10D中,信号P101和P101最初处于L电平。DSPb105霍夫曼译码(S51)、Z字形扫描的重新存贮(S52)以及反量化处理(S53),然后它检查是否保持P101=P102(S54)、执行水平方向的IDCT(S55)并在S56使信号P102反相。随及DSPb105着手执行下一个字块的处理。
DSPa104一直维持原状(S41)直到信号P102被反相。在P102信号被反相时,DSPa104从RAM106中读出数据(S42)。此后,在步骤S43中它使信号P101反相。在执行垂直方向的IDCT处理(S44)、子采样的重新存贮(S45)、色空间变换(S46)以及空白删除(S47)的基础上DSPa104结束一个字块的处理。DSPaz104然后着手下一个字块的处理。然而,在步骤S41,当P101和P102不相符合时,DSPa104直接从所述RAM106中读出数据(S42)。
DSPa104和DSPb105重复上述的处理。在这种处理操作的每一个中起伏最大的处理时间是用于霍夫曼译码(S51)的处理时间。其结果是在DSPb105的霍夫曼译码(S51)被延长并且在由所述DPSa104所执行的空白删除(S47)结束的瞬间所述的状态信号P102还未被反相的情况下,DSPa104维持原状,直到建立起P101≠P102关系为止。这种情况如在图10中标为*的S41所示。特别是,当处于编码处理方式时,DSPb105和DSPa104监视其它状态信号中的每一个,借此使其相互同步以实现并行处理。
应当说明,在所述CPU109和DPSa104之间的接口使用了所述的中断信号线I101、I102以及图象存贮器103的一部份。
在由CPV109指令DSPa104开始处理的情况下,所述CPV通过中断信号线I101在所述图象存贮器103的予定区域内写入诸如这个处理是编码处理还是译码处理、子采样速率以及图象规模等必要参数并开始通过中断信号线I101进行处理。在处理结束的情况下,DSPa104将这一情况通过中断信号线I102通知给CPV。
在CPV109和DSPb105之间的接口使用了中断信号线I103、I104和部份的代码存贮器107,借此,以在与DSPa104情况相同的方式传输所述参数和命令并开始进行处理。
根据该实施例,如上所述,使用两个DSP进行流水线处理其结果是诸如利用ADCT进行的编码/译码处理、色空间变换,子采样以及空白加入/删除等图象处理被整体加速。
根据该实施例,高达一维DCT的操作是由第一DSP的执行的,而在一维DCT之后的剩余操作是由第二DSP执行的。其结果是对于第一DSP而言,具有用于存贮所述DCT操作结果的内部存贮器就成为不必要的了。这就使得该DSP的结构可以简化。
〈第二实施例〉
下面将描述本发明的第二实施例。在第二实施例中,与第一实施例基本相同的那些成份由相同的参考字符给出并且不需要再次详细描述。
图11是一个方框图,它表示依据本发明第二实施例的一个彩色图象通信装置结构的例子。
根据在图1中所表示的第一实施例,用于暂存数据的RAM106位于DSPa104和DSPb105之间。然而在该实施例中,DSPa104和DSPb105直接交换数据。
首先,下面将要叙述用于编码的操作。应当说明,下述的处理操作基本上同于在第一实施例中同步骤号的处理操作,并且不需要用作详细说明。
图12A和12B是一个流程图,它表示了依据该实施例的一个编码处理过程的一个例子。所述流程表示了图象数据一个字块的编码过程。图12A所示的处理是由DSPa104执行的,而图图12B所示的处理是由DSPb105执行的。在下面的叙述中,示出了一个例子。在该例中,一个字块包括有8×8个象素。然而这并不构成对字块规模的限制。
利用一个图象阅读器101对原始图象进行扫描,由所述图象阅读器101所输出的RGB图象被存贮于图象存贮器103中。
在步骤S121,当需要时,DSPa104添加空白空间以使其与予定的规模相符合。在除了所述空白区域以外的图象区域中,DSPa104从所述的图象存贮器103中读出图象数据的一个字块。
接着在步骤S122,DSPa104在一个电路线上将所述图象数据的色空间变换成为诸如YCbCr色空间的色空间。这个变换是根据等式(1)进行的。
接着,在步骤S123,DSPa104执行子采样处理,并在A124执行水平方向的一维DCT处理。其变换等式同于上棕等式(2)。
当DCT处理结束时,DSPa104在S125使状态信号P101反相、比较状态信号P101和P102的状态并等待这两个信号的状态不相符合。当所述的两个信号不再相互符合时,在步骤S127,DSPa104向DSPb105传送运算数据,从这个点开始,在图12B所示整个过程中,涉及到该数据的所有处理都是由DSPb105执行的。
在步骤S131,DSPb105等待两个状态信号P101和P102不相符合。当所述两个信号不相符合时,在步骤S132,DSPb105从DSPa104接收运算数据,并且在步骤133中执行垂直方向的一维DCT处理。变换等式同于上述等式(2)。
下面,使用分别在图4A和图4B中示出的Y-分量量化表和C-分量量化表,通过将DCT处理之后的每一个系数除以在两个量化表中相应位置的阈值,DSPb105执行量化处理。
随后,在步骤131中,DSPb105以从0到63的序列执行Z字形扫描,借此以一维方式重新配置量化数据,并在步骤S136对所述的一维配置的量化数据执行霍夫曼编码,随及将编码数据存入代码存贮器107。
上面叙述的仅考虑一个字块的处理顺序。实际上,DSPa104和DSPb105是根据流水线处理方式而并行工作的。例如,当DSPb105正在处理第N个字块时,DSPa104则正在处理第(N+1)个字块。
图13A-13D是一组定时曲线,它表示了在编码过程中这种并行操作的一个例子。在这些图中,图13A示出了由DSPa104所执行的处理内容,图13B示出了状态信号P101的状态,图13C示出了由DSPb105所执行的处理内容,而图13D则示出了状态信号P102的状态。
在图13A-13D中,所述信号信号01和P102最初约为L电平。DSPa104执行空白加入(S121),色空间变换(S122)、子采样(S123)以及水平方向的DCT(S124),此后,在S126使信号P101反相,在S127检查是否保持P101≠P102并在S127发送所述数据。随及,DSPa104着手处理下一个字块。
在信号P101被反相以前,DSPb105被维持现状。在信号P101被反相时,DSPb105接收数据(S132)。DSPb105随后执行垂直方向的DCT(S133),Z字表扫描(S135)和霍夫曼编码(S136)。然后,这使P102在S137反相并结束一个字块的处理。然后,DSPb105着手对下一个字块进行处理。然而,当在S131P101≠P102时,DSPb105执行直接的数据接收(S132)。
上述处理由DSPa104和DSPb105反复执行。在这些处理操作的每一个中起伏最大的处理时间是霍夫曼编码(S136)。其结果是在DSPb105的霍夫曼编码(S136)被延时并且在状态信号P102尚未被反相的情况下或者是在DSPb105的霍夫曼编码(S136)在短时间周期内结束而由DSPa104执行的DCT处理(S124)尚未完成的情况下,如在图13A和13C中标有“*”号所指示的S126或S131中所示,DSPa104或DSPb105将维持现状,直到建立起P101≠P102的关系为止。特别是DSPa104和DSPb105监视其它状态信号中的每一个,借此使其相互同步以实现并行处理。
下面将描述用于对图象数据进行译码的操作。应当说明,下述的操作基本上同于在第一实施例中相同的步骤号的处理操作,并且不需要再详细说明。
图14A和14B是流程图,它示出了根据本实施例的一个译码处理过程的一个例子。所述流程图仅示出了图象数据一个字块的译码。图14A的处理是由DSPb105执行的,图14B的处理是由DSPa104执行的。在下面的叙述中,示出了一个例子,在该例中,一个字块由8×8个象素组成,然而这并不构成对字块规模的限制。
由电路控制单元108通过所述线接收的代码数据存贮到代码存贮器107中。DSPb105从代码存贮器107中读出所述的代码数据,并在步骤S151执行霍夫曼编码,在步骤152,重新存贮在编码期间通过Z字形扫描指而重新配置的数据序列。使用分别在图4A和图4B示出的Y-分量量化表和C-分量量化表,DSPb105在S153执行反量化处理。
接着,在步骤S154,DSPb105执行水平方向一维IDCT处理,其变换等式同于上述等式(3)。
当IDCT处理结束时,在步骤S155,DSPb105使状态信号P102反相、在步骤S156比较状态信号P101和P102的状态并等待所述的两个信号的状态不相符合。当这两个信号不再相符合时,在步骤S157将运算数据发送给DSPb105。之这点开始,图14B所示的整个过程都由DSPa104执行有关该数据的处理。
在步骤S141,DSPa104等待状态信号P101和P102的状态不相符合,当这两个信号不再相互符合时,DSPa104所DSPb105接收运算数据并在步骤143中执行垂直方向的一维IDCT处理。其变换等式同于上述等式(3)。
当IDCT处理结束时,在步骤S144,DSPa104重新存贮在编码受经常发生的子采样。接着,在步骤S145,DSPa104把一个图象数据的色空间转换成在一行上的色空间。例如,从YCbCr色空间变换成适合于打印的诸如CMYK色空间的色空间。
接着,在步骤S146,DSPa104删除在编码时所加入的空白空间,并在所述的图象存器103中存贮所述的图象数据,然后在步骤S147使状态信号P101反相。已经被贮存在图象存贮器103中的图象数据被传送给图象打印机并在那里将所接收的图象数据打印出来。
上面叙述了反考虑一个字块的处理顺序。实际上,DSPb104根据流水处理方式并行操作。例如,当DSPa104正在处理第N个字块时,而DSPb105正在执行第(N+1)个字块。
图15A-15D是一个定时曲线图,它们示出了在译码操作中的这种并行操作的一个例子。在这附图中,图15A示出了由DSPb105所执行的处理内容,图15b示出了状态信号P102的状态,图15C示出了由DSPa104所执行的处理内容,图15D示出了状态信号P101的状态。
在图15A-15D中,信号P101和P102最初处于L电平。DSPb105执行霍夫曼译码(S151)、Z字形扫描的重新存贮(S152)、反量化(S153)和在水平方向的IDCT(S154),并在S155将信号P102反相。在此之后,在步S156,经检查是否保持P101-P102并发送数据(S157)。然后,DSPb105着手对下一个字块的处理。
在信号P102被反相以前,DSPa104维持原状(S141),在信号P102反相时,DSPa104接收数据(S142)。
在执行水平方向的IDCT(S143)、色空间变换(S145),子采样的重新存贮(S144)、空白删除(S146)以及在S147将所述状态信号P101反相的基础上,DSPa104结束一个字块的处理。随后,DSPa104着手执行下一个字块的处理。但当P101与P102不相符合时,DSPa104直接执行对所述数据下一项的接收(S142)。
DSPb105和DSPa104重复上述处理。在这些处理操作的每一个中起伏最大的处理时间是用于霍夫曼译码(S151)的时间。其结果是当DSPb105的霍夫曼译码(S151)被延时并且在由DSPa104所执行的空白删除(S47)结束的瞬间状态信号P102还未被反相的情况五,如在图15C中标有“*”的S141所示的那样,DSPa104维持原状直到P101≠P102的状态关系建立为止。特别是当利用在编码处理中的所述方式时,DSPb105和DSPa104监视其它状态信号中的每一个,借此使其变得相互同步,从而实现并联处理。
因此,根据本发明的第二实施例,如上所述,其效果基本上类似于第一实施例的效果。然而,由于不需要RAM106,所以成本也相应降低。
根据本发明的第一和第二实施例,可以提供一种图象处理装置。在这种装置中,由于至少具有两个数字信号处理装置和中介装置用于在这些数字信号处理装置之间进行中间交换,所以,已经存贮在第一存贮器装置中的图象数据能被处理并存入第二存贮器装置,而已经被存入第二存贮器装置中的代码数据能够被处理并存入第一存贮器装置。例如,通过使用两个DSP来执行流水线处理,所获得的效果是具有较高的图象处理速度。
尽管在上面的实施例中使用了多个DSP,但是通过多个CPV和它们的外围设备,可以实现类似的处理。
另外,实现了为编码所需的多个步骤,借助于这些步骤,通过修改程序,可以简单的方式改变DSP。
〈第三实施例〉
图19是一个方框图,它示出了依据该第三实施例的彩色图象通信装置的结构。
在图19中,数字1101示出了利用一个扫描器或类似设备阅读原始图象数据的原始阅读器。数字1102示出了一个直接存贮器存取控制器9(此后称之为“DMAC”),用于将由所述原始阅读器1101所写入的图象数据传送给图象存贮器1103。图象存贮器1103存贮由所述原始阅读器1101所写入的图象数据。数字1104指出一个数字信号处理器(此后称之为“DSP”),用于使已经存贮于图象存贮器1101中的图象数据经过编码处理。数字1105表示一个空白值设定寄存器,用于存贮作为空白空间而被加入的数据。
数字1106示出了一个指令存贮器,用于存贮器DSP1104的处理程序,1108是一个代码存贮器,用于存贮由DSP1104所编码的数据,1109是一个电路控制单元(此后称之为“CCU”),用于读出存贮在代码存贮器1108中的代码数据并传送所述的代码数据给一条通信发送线,1107是一个微机(下面称之为“主CPU”),用于控制所述图象存贮器1103,代码存贮器1108和DSP1104,并且用于在所述空白值设定寄存器1105中写入作为空白空间被加入的数据,同时用作将DSP1104的处理程序下行加载到指令存贮器1106中。
下面将根据示于图20和21的流程图,对依据本发明第三实施例并且有上述配置的编码处理进行描述。
在系统起动时,主CPU1107向指令存贮器1106下行加载DSP1104的处理程序,同时写入空白空间数据到空白值设定寄存器1105,加入所述空白空间数据以用作空白空间。这是为每一个彩色分量而执行的。例如,在作为白区域而写入数据的场合是“白”的,由所述原始阅读器1101所读入的色空间是红(R)、绿(G)和兰(B)的,且每个彩色信号的数据精度是8位,R=G=B=255(6FFH)被写入空白值寄存器1105。
因此,当利用主CPU1107下行加载DSP1104的处理程序(步骤S1101)时,所述DSP1104执行初始设定,并保持编码处理处于维持原状状态。当所述主CPV使得编码处理开始(步骤S1102)时,DSP1104执行一个用于编码处理的初始分处理(步骤1103)。在所述编码处理还汉有开始的情况下,所述DSP1104继续保持所述的编码处理处于维持原状状态。
接着,DSP1104写入在所述空白值设定寄存器1105中设定的空白空间值(步骤S1104)。在这个例子中,数据R=G=B=255被写入诸如DSP1104的内部寄存器的一上存贮器中。DSP1104将所接收的空白值数据变换成诸如是YCbCb色空间的色空间数据以执行编码处理(步骤S1105),并且将所产生的数据存入DSP1104的内部RAM中(步骤S1106)。另外,在将要进行编码处理的色空间是RGB色空间的情况下,从所述空白值设定寄存器1105中所获得的空白值数据被存入DSP1104的所述内部RAM中并执行后来的处理。也就是说,执行步骤1106的处理而不执行步骤1105的处理。
在所述将要进行编码处理的区域是一个空白区域(步骤1107)的情况下,所述DSP1104将已经通过上述处理存贮在DSP1104所述内部RAM中的空白值数据形成为每一个都具有8×8个象素的多个字块单元构成的数据,而后执行下一个处理、即DCT处理(步骤S1108)。接着,DSP1104对经过DCT处理后的数据执行量化处理(步骤S1109)、通过Z字形扫描将量化数据重新配置成一维阵列(步骤S1113),并执行霍夫曼编码处理(S1114)。
当所有图象数据的编码处理被完成以后,DSP1104结束编码处理。但在编码处理正在进行的过程中,所述处理转入到步骤S1107。当在步骤1107发现所要进行编码处理的区域不是一个空白区域的情况下,所述DSP1104从字块单元中的所述图象存贮器1103中写入图角数据(步骤S1110)。已被写入的图象数据被转换成色空间数据以进行编码处理(步骤S1111)。
在需要进行编码处理的色空间与由原始阅读器1110所写入的色空间相同的情况下,不执行步骤1111所规定的处理。
下面,所述DSP1104对由在步骤S1110或1111(S1112)处理过的字块单元所组成的数据执行DCT处理,并且相继地执行量化处理(步骤S1109)、Z字形扫描(S1113)和霍夫曼编码(步骤1114),其处理方式与上述对所述空白值数据处理方式相同。
此后,由DSP1104所编码的代码数据被写入代码存贮器1108,所述的数据通过CPU1109从所述代码存贮器1108中读出并发送给通信线。在所有的图象数据的编码处理结束以前,所述DSP1104对空白区域或图象数据区域执行S1107-S1114步骤的处理。当全部图象的编码处理结束时,DSP1104再次使编码处理处于维持原态状态。
因此,根据第三实施例,一个空白空间区域的数据必须经过DCT处理,并且同样使用了在事先已经进行了色空间变换的空白值数据。所以,就不需对空白空间区域的数据执行色空间变换处理。其结果是减少了在DSP处理程序中用于色空间变换所需的处理步骤的数量,并且可以缩短对所有图象数据进行编码处理所需时间。
〈第四实施例〉
下面将参考附图对本发明第四实施例作详细描述。
图22是一个方框图,它示出了根据该第四实施例的一种彩色图象通信装置的结构。与图19所示结构相同的构件利用相同的参考字符指出,并且不再叙述。
在图22中,数字1110表示一个外部存贮器,用于存贮已经过空白空间值色空间变换处理和DCT处理的数据。所述的外部存贮贮器1101是一个能够由CPU1107和DSP1104进行高速存取的存贮器。
下面将参照图23和24所示之流程图对具有上述配置的第四实施例的编码处理进行描述。
在系统起动时,主CPU1107下行加载PSP1104的处理程序给指令存贮器1106,同时在所述的外部贮器1110中写入所述的加入数据,所述的加入数据已经过了空白空间值的色空间变换处理和DCT处理。这是对每一个彩色分量执行的。
因此,当由所述主CPU所执行的DSP1104的处理程序下行加载结束(步骤S1021)并且经过了空白空间值的色空间变换处理和DCT处理的数据被写入外部存贮器1110(步骤1202)时,DSP1104执行一个初始设定(步骤1203)并使编码处理处于维持原态状态。当所述主CPU1107通过一个中断使得编码处理被启动(步骤S1204)时,所述DSP1104执行一个与编码处理相关的初始化处理(步骤1205)。在所述的编码处理尚未启动的情况下,DSP1104继续使所述的编码处理处于维持原态状态。
在需要执行编码处理的区域是一个空白区域(步骤1206)的情况下,所述DSP1104使用已由CPU1107写入所述外部存贮器1110、并已经过空白空间值色空间变换处理和DCT处理的数据利用所述的JPEG编码方法执行下一个处理。特别是,DSP1104从外部存贮器1110读入已经过DCT处理的空白数据以用于每一个彩色信号,对所述读入的数据执行量化处理(S1207),利用Z字形扫描将两维排列的数据以一维阵列方式重新加以排列(S1208)并执行霍夫曼编码处理(S1209)。
在所有图象数据的编码处理都已结束的情况下, 所述DSP1104结束编码处理。但在所述编码处理正在进行过程中的情况下,处理返回到步骤S1206以继续编码处理(S1210),当在步骤S1206中发现需要进行编码处理的区域不是一个空白区域时,DSP1104读入在字块单元中由原始字符阅读器1101的读入的图象数据, 并由DMAC1102将所述数据传送给图象存贮器1103(S1211)。所读入的图象数据被转换成色空间以进行编码处理(步骤S1212)。
跟着,DSP1104对已经过色空间变换处理的图象数据进行DCT处理(步骤1213),然后执行量化处理(步骤1214)。DSP1104以如上述对空白值数据进行处理的相同方式对所述的量化数据连续地进行Z字形扫描处理(步骤S1208)和霍夫曼编码处理(步骤S1209)。
此后,由DSP1104所编码的代码数据被写入代码存贮器1108,利用CCU1109从代码存贮器1108中读出所述数据并将其发送给所述通信线。DSP1104对空白区域或图象数据区域执行步骤S1206-S1210的处理,直到所有图象数据的编码完成为止。当全部图象的编码处理结束时,DSP1104再次使所述的编码处理处于维持原态状态。
在第四实施例中,对所述装置的描述涉及到了一种方法,在该方法中,主CPU1107把已经过空白空间值色空间变换处理和DCT处理的数据写入到外部存贮器1110中。然而,另一种配置也可以应用于该实施例中,即当将由所述DSP1104进行编码的色空间与由原始阅读器1101所读入的色空间相同时,由对所述空白值数据进行DCT处理所获得的数据利用主CPU1107写入所述的外部存贮器1110。
〈第五实施例〉
下面将结合附图对本发明第五实施例进行描述。
根据该第五实施例,主CPU1107将已经过空白空间值色空间变换处理和DCT处理的数据写入外部存贮器1110,并且DSP1104利用这些数据对所述的空白区域进行编码。然而,使用除这种方法以外的其它方法执行类似的处理也是可能的。
下面将结合图25和26所示之流程图对第五实施例的编码处理进行描述。
当系统被启动时,主CPU1107下行加载DSP1104的处理程序给指令存贮器1106,同时向空白值设定寄存器1105写入作为空白空间而被加入的空白空间数据。这是针对于每一个彩色分量而执行的。例如,在作为空白空间而加入的数据为“白”的情况下,由原始阅读器1101所读入所色空间为红(R)、绿(G)和兰(B),且每个彩色信号的数据精度为8位,R=G=B=255(OFFH)被写入所述外部存贮器1110。
因此,当所述DSP1104的处理程序由所述主CPU下行加载(步骤1301)时,所述DSP1104执行初始设定并使编码处理处于维持原态状态。而当主CPU利用一个中断从而使得编码处理被启动(S1302)时,DSP1104执行一个针对编码处理的初始化处理(S1302)。在所述编码处理未被启动的情况下,DSP1104继续使所述的编码处理处于维持原态状态。
接着,DSP1104读入置入外部存贮器1110中的空白空值(S1304)。在这个例子中,在诸如所述DSP1104内部寄存器的存贮器中,DSP1104将合格的空白值数据转换成将要进行编码处理的色空间数据(S1305)并将所产生的数据存入DSP1104的一个内部RAM。此是此可以擦除在前及中所读入的空白空间的R、G、B数据。换句话说,只要已进行了色空间变换处理的空白空间数据被存入DSP1104的所述内部RAM,那么,它就已经失去了存在的意义。另外,在将要进行编码处理的色空间是RGB色空间的情况下,从所述空白值设定寄存器1105所接收的空白值数据被存贮在DSP1104的所述内部RAM中,并且执行后来的处理。也就是说执行S1106的处理而不执行S1105的处理。DSP1104将所存贮的空白值数据转换成作为后续编转处理单元的字块数据以用于每一个彩色分量,然后对转换后的数据进行DCT处理。由DCT处理所产生的空白空间数据利用DSP1104存入能够被所述DSP1104进行高速存取的外部存贮器1110中(步骤S1306)。
从步骤S1307所开始的处理类似于在第四实施例中从步骤S1206所开始的处理。因此,DSP1104在类似于第二实施例的条件下执行后续处理。
特别是在所有图象数据的编码结束以前,DSP1104一直针对于空白区域或图象数据区域执行步骤S1307-S1315的处理。因此,由所述DSP1104所编码的代码数据被写入代码存贮器1108,通过CCV1109从所述代码存贮器1108中读出所述数据并将它们发送给所述的发送线。当所有图象数据的编码被完成时,DSP1104再次使编码处理处于维持原态状态。
在第三实施例的描述过程中,它是这样配置的,即所述的DSP1104对置于所这外部存贮器1110的空白空间数据执行色空间变换处理和DCT处理,然后,将所述处理获得的数据写入外部存贮器1110。但是,当将要通过DSP1104进行编码的色空间与由所述原始阅读器1101所读入的色空间相同时,可以作如下配置:即将对置于外部存贮器1110中的空白空间数据只进行DCT处理所获得的结果利用DSP1104写入所述的外部存贮器1110。
这样,根据本发明的第四和第五实施例,当执行以JPEG编码方法为依据的编码处理时,使用事先已经过色空间变换处理和DCT处理的空白值数据使所述的空白空间数据经受量化、Z字形扫描和霍夫曼编码处理。随后,就不需要对所述空白空间区域的数据进行色空间变换处理和DCT处理。其结果就是减少了在DSP处理程序中进行色空间变换处理和DCT处理所需的处理步骤的数量,从则可以缩短对所有图象数据进行编码所需的时间。
根据如上所述的本发明,表示加入到彩色图象数据中的空白区域的数据被存贮起来,并且和彩色图象数据的编码相互分开地进行编码,借此,使得所有图象数据可以被高速编码。
〈第六实施例〉
图28示出了根据本发明的一个实施例结构。在图28中,数字2101示出了一个原始阅读器,用于通过一个扫描器或类似设备读出原始图象数据,2103表示一个图象存贮器,用于存贮由所述原始阅读器2101所出的彩色数据,2102是一个直接存贮器存取控制器(下面称为“DMA”)用于将所述原始阅读器2101读入的彩色图象数据传送给图象存贮器2103,2104是一个数字信号处理器(下面称之为“DSP”)用于执行编码处理。
数字2105表示一个在前字块数字特征寄存器,用于存贮超前于被DSP214进行编码处理的字块的字块的数据结构。数字2106表示一个空白值代码存贮器,用于当正在进行编码处理的所述字块的图象数据一在这个字块之前的字块图象数据相同时存贮编码数据。2107是一个指令寄存器,用于存贮DSP2104的处理程序。2110是一个电路控制单元(此后称之为CCU),用于读入存贮在代码存贮器2109中的所述代码数据并将些数据送往一个通信发送线。2108是一个微机(下面称之为主CPU),用于控制图象存贮器2103、DSP2104和代码存码器2109,并向所述的指令存贮器2107下行加载DSP2104的处理程序。
根据具有上述结构的本实施例的处理内容下面将要详细加以叙述。在下面的叙述中,一个特定字块的图象数据将被取作正被写入的图象数据。
图29和30示出了本实施例处理步骤的流程图。在该实施例中,当所述装置被启动时,主CPU2108在启动时将所述DSP2104的处理程序下行加载到指令存贮器2107中。
当由主CPU2108下行加载DSP2104的处理程序时,DSP2104执行一个初始设定并使编码处理处于维持原态状态。其结果是所述程序从图9的步骤S2201前进到步骤S2202,在那里DSP等待编码处理响应来自主CPU2108的中断或其它信号而被启动。
当主CPU借助于一个中断使得编码处理启动时,程序从步骤S2202前进到步骤S2303,在那里DSP2104执行一个与编码处理相关的内部处理,也就是说,DSP2104在DSP2104的所述内部存贮器中建立一些编码处理的需的参数。
当与编码处理相关的最初处理结束时,DSP2104在步骤S2204中在所述的前字块的数据特征寄存器2105中置入一个“1”并在所述空白值代码存贮器2106中建立一代码,以用于被进行编码处理的字块数据与在前字块数据相同的情况。然后,所述程序进行到图30的示步骤S2206。
在进行编码处理的信号数量是3并且依据所述的JPEG编码方法所述的编码处理形式为字块交叉的情况下所建立的代码是通过连接下述代码所获得的,这些代码是:用以表示第一信号的直流差为(0)的代码、用以表示所述第一信号的交流分量为全(0)(EoB、区段结束)的代码、用以表示第二信号的直流差为(0)的代码、用以表示所述第三信号的直流差为(0)的代码以及用于表示所述第三信号的交流分量为全(0)(EoB)的代码。
在将要进行编码处理的色空间是YCbCr并且在进行编码处理时所涉及的仅是一个由JDEG所推荐的霍夫曼表的情况下,所连接的代码是代码“00”,它表示Y信号的直流差为(0),代码“1010”表示所述Y信号的交流分量是全(0),代码“00”表示Cb和Cr信号中的每一个的交流分量为全(0)。因此在所述的空白值代码存贮器106中建立的代码为“001000000000”。
下面的叙述还与图31相关,图31示出了将被进行编码处理的字块图象数据的构成。在图31中,在2301-2313处所指示的数据是根据JPEG编码方法进行处理的字块数据(8×8个象素)。数字2314表示所述在前字块数据特征寄存器2105的初始值,数字2315-2327表示在2301-2313处所指示的数据编码处理以后存入所述在前字块数据特征寄存器中的数据值。
另外,数字2328-2340指出是否在数据2301-2313中的每一项进行编码处理时执行色空间变换处理、DCT处理,量化处理以及霍夫曼编码处理。在该实施例中,当将被进行编码处理的所述字块图象数据是全白图象数据或是空白空间数据时,若此时在所述前字块数据特征寄存器2105中的值是“1”,那么将不执行所述的色空间变换处理,DCT处理,最化处理以及霍夫曼编码处理。另外,假设将要进行编码处理的所述页的初始数据是2301的数据。
在图30中的步骤S2206由所述DSP2104所执行的处理用于判断所述的数据是否是所述页的初始数据,由于经受编码处理的图象数据2301是所述页的初始值,所以程序从步骤S2206前进到步骤S2214,在这里,确定这个数据是否是一个空白空间数据。
例如,若所述初始数据是如图31代码2301的所示数据情况的空白实间数据,那么程序前进到步骤S2215。在该实施例中,是由DSP52104执行空白空间数据的加入的。因此,DSP2104在步骤S2115产生空白空间数据(白图象数据)的一个字块(三个信号成份)。至于所产生的空白空间的字块图象数据,在接下来的步骤S2216中利用DSP2104将所述的在前字块数据特征寄存器2105置为“0”(图31的代码2315)。
另一方面,若在步骤S2214发现所述的初始数据不是一个空白区域,那么程序将前进到步骤S2221,在这里,已由所述原始阅读器2101存入图象存贮器2103的图象数据被逐段读出,在此基础上,程序前进到步骤S2216。
随后,类似于施加到由所述原始阅读器2101所读入图象数据的那些处理,即色空间变换处理在步骤S2217被执行。然后以类似的形式在步骤S2218执行DCT处理,在步骤2219执行量化处理,在步骤S2220(代码α328)执行霍夫曼编码处理。此后,程序前进到步骤S2213,而且通过DSP2104将编码数据写入代码存贮器2109。
然后在步骤2213就要确定所有图象数据的编码处理是否都已结束。在所有图象数据的编码处理都已结束的情况下,程序前进到步骤S2206。另一方面,若所有图象数据的编码处理已经完成,那么DSP2104将结束编码处理,并利用一个中断,将编码处理已经结束的这样一个事实通知给主CPU2108,同时,再次使所述的编码处理处于维持原态的状态。在图31所示的情况下,需要从2302向前的图象数据字块的编码处理,并因此程序将前进到步骤S2207。
在步骤S2207就要确定所述区域是否是一个空白区域。在图31的例子中,2302的所述数据是一个空白空间数据,因此程序前进到步骤S2208,在这里,DSP2104以与在步骤S2215的相同方式产生所述空白空间数据的一个字块(三个信号成份)。跟着在步骤S2211,在确定所述在前字块数据特征寄存器2105的值是否是“1”。在图31示出的例子中,根据代码2315,所述在前字块数据特征寄存器2105的值是“0”,因此,程序将由步骤S2211前进到步骤S2222。在这里,DSP2104将所述在前字块数据特征寄存器2105的值置为“1”(代码2316)。所述程序从步骤S2217向前渐增以执行所述处理。
特别是从色空间变换处理到霍夫曼编码处理的的述处理是以常规顺序(代码2329)执行的,所述程序从步骤2213返回到步骤S2207,并且产生一个转变以执行对2302的图象数据执行编码处理。由于2302的图象是一个空白空间数据,程序从步骤S2207前进到步骤S2208,DDY2104在这里利用编码处理方式产生空白空间数据白一个字块(三个信号成份)。
现在,需要进行编码处理的图象数据是一个空白空间数据,并由于代码2316,所述在前字块数据特征寄存器2105的值是“1”,在这种情况下,DSP2104使所述程序从步骤S2211前进到步骤S2212,在这里,已被置入空白值代码存贮器2106的数据被输出给代码存贮器2109。所述程序然后前进到步骤S2213。
在图31的例子中,所有图象数据的编码处理尚未完成,因此由所述DSP2104所执行的编码处理再一次转到步骤S2207。由于2304的图象数据现在是空白空间数据,所以由DSP2104所执行的处理从步骤S2207转到步骤S2209。在这里,已由所述原始阅读器2101存贮在所述图象存贮器2103中的图象数据被逐字块读入。然后确定所读入的全部字块图象数据是否为白数据。若所读入的全部字块图象数据是白数据,那么程序转到步骤S2211,在这里,确定所述在前字块数据特征寄存器2105的值。根据所确定的值,以正常顺序执行所述处理。特别是若在前字块数据特寄存器2105的值是“0”,那么所设定的值等于“1”。此后,按顺序执行从步骤S2217的色空间变换处理到步骤S2220的霍夫曼编码处理。若在前字块数据特征寄存器2105的值是“1”,那么,已置入所述空白值代码存贮器210的代码数据在步骤S2212输出给所述代码存贮器2109。
若在步骤S2210发现所读入全部字块图象数据不是白数据(即若所述在前字块数据特征寄存CD2105的值为“1”),那么,程序前进到步骤S2216的处理。在这里,所述在前字块数据特征寄存器2105的值被设定为“0”(代码2318),并且所述处理以从步骤S2217的色空间变换处理到步骤S2220的霍夫曼编码处理的顺序加以执行(代码2331)。
因此,由于前述控制,由DSP2104所编码的代码数据被相继存入到代码存贮器2109中。根据CPU2108所执行的控制,通过CCV2110与连接到所述发送线上的另一通信装置的通信信道被形成,被读出并存入代码存贮器2109的所述代码数据借助于CCV2110通过所述的通信线被发送给其它合用的装置。
在上述第六实施例中,由CCV21-1所写入的代码存贮器和由DSP2104所写入的图象存贮器分开构成。但是,这不说明即使这些存贮器全为同样的存贮器而构成,本实施例的教导也能够实现。
根据如上述的实施例,所述控制中以如下的方式执行的,即在编码处理开始处的特定字块图象数据(白图象数据)组持续两个或多个字块上情况下输出先前执行的编码处理获得的代码数据。因此,就不需要对该组特定字块图象数据(白字块的图象数据)进行色空间变换处理、是DCT处理,量化处理和霍夫曼编码处理。其结果是减少了在DSP处理程序中用于上述处理所需步骤的数量。这就使得缩短对全部图象数据进行编码处理所需时间成为可能。
〈第七实施例〉
前面的叙述主要涉及了编码处理,但本发是并不受限于前述例。本发明可以从另外的装置中同时接收和译码编码数据,并通过一个图象输出单元输出译码数据。下面将叙述根据本发明第七实施例的译码处理部份。在第七实施例中,与图28所示之第六实施例相同的构件使用相同的参考字符并不再加以叙述。
图32的方框图示出了依据本发明第七实施例的结构组成。在图32中,DMAC2102、图象存贮器2103、DSP2104、指令存贮器2107、CPV2108、代码存贮器2109和CCV2110以与图28所示之相应构件配置相同的方式加以配置并用于译码处理。但是,本发明并不受限于前述例,可以采用这样一种配置,在这种配置中,上述各构件可以被分别单独地予以提供。
在图32中,数字2120表示一个在前字块直流分量存贮器,用于存贮器要进行译码处理字块之前一个字块的每一个彩色信号的直流差值,数字2121表示一个图象输出单元,用于输出利用贮在所述图象存贮单元103中的图象数据所获得的译码图象。
所述CPU2110根据一个规定的通信过程通过一通信发送线从其它装置中接收代码数据并将这些数据存贮在代码存贮器2109中。DSP2104读入已经存贮在代码存贮器2109中的代码数据并对其进行译码。图象存贮器2103存贮由DSP2104译码的图象数据。DMAC2102将存贮在图象存贮器2103中的图象数据传输给图象输出单元2121。
指令存贮器2107存贮数字信号处理器2104的处理程序。主CPU2108控制代码存贮器2109、DSP2104和图象存贮器2103,并向指令存贮器2107下行装载DSP2104的处理程序。
下面将参照示出了第七实施例译码处理步骤的图33的流程对具有前述结构的第七实施例的操作过程进行描述。
当依据该实施例的装置被启动时,主CPU2108向指令存贮器2107下行装载DSP2104的处理程序。当主CPU2108装载DSP2104的处理程序时,DSP2104的处理是从步骤S2301到步骤S2302进行的,在这个过程中进行初始设定且所述的译码处理处于维持原态状态。当主CPU2108借助于一个中断启动所述译码处理时,当主CPU2108借助于一个中断启动所述译码处理时,程序从步骤S2302转到步骤S2303,在这里,DSP2104执行一个相关于译码处理的初始化处理。
特别是,所述DSP2104在所述DSP2104的内部存贮器中设定多个译码处理所需的参数以及用以表示在需要进行译码处理的字块和在前字块之间的直流差为“0”和交流分量的全部系数为“0”的代码。在进行译码处理的信号的数量为3并且译码处理形式为依据JPEG编码方法的字块交叉情况下所设定的代码是通过连接下述代码而获得的代码,这些代码是:表示第一信号直流差代码是(0)、表示第一信号交流成分的代码为全(0)(EOB,字块结束)、表示第二信号直流差的代码是(0),表示第二信号交流成份的代码是全(0)(EOB)、表示第三信号直流差的代码是(0)以及表示第三信号交流成份的代码为全(0)(EOB)。
在需要进行译码处理的色空间是YCbCr和在进行译码处理时所参照的仅是JPEG所建议的一个霍夫曼表的情况下,所连接的代码是代码“00”,它表示Y信号的直流差为107,代码“1010”表示Y信号的交流成份为全(0),代码“00”表示Cb和Cr信号中的每一个的直流差为(0),而代码“00”表示Cb和Cr信号中的每一个的交流成份为全(0)。因此,在该例中所设定的代码是“00101000000000”,该代码的例子示于图34。
下面的描述是在假设需要进行译码处理的色空间是YCbCr色空间的基础上进行的。
当在步骤S2303的译码处理所需的初始化结束时,DSP2104开始读入代码数据(步骤S2304),所述的这些代码数据已经被存入代码存贮器2109。其后是步骤2105,在这个步骤中,这确定所读入的数据是否是所设定的数据,即001000000000。在所读入的代码数据不是所设定数据的情况下,程序输入步骤2309。
根据JPEG编码方法的常规译码处理从步骤S2309开始向前进行。特别是在步骤S2309产生了一个复位以通过霍夫曼编码处理使数据(一维数据)量化,并在随及的步骤S2310使所述数据被再次配置两维数据。所述的直流分量在步骤S2311经过一个差值译码处理。此后,在步骤S2312执行一个反量化处理、在步骤S2313执行IDCT处理和在步骤S2314执行色空间变换处理。然后在步骤S2315将所处理的图象数据写入图象存贮器2103,在此之后,程序转到步骤S2308。在这里,这确定是否全部代码数据的译码处理都已结束,若全部代码数据的译码处理尚未结束,程序再次返回到步骤S2304,在这里,代码数据被再次读入并进行译码处理。
若在步骤S2308中发现的数据的译码处理都已结束,那么DSP2104将把这一情况通过一个中断通知给主CPU2108,并再次使编码或译码处理处于维持原态状态。
在步骤S2305所读入的代码数据与所说定代码数据相同的情况下,程序前进到步骤S2306,在该步骤中,DSP2104检查在前字块直流分量存贮器2120中所设定的值,以确定是否存在有某个代码数据,在该代码数据中,在前字块直流分量存贮器2120中的值表示“白”。若所述代码数据不是在前字块直流分量存贮器2120中的值表示“白”的代码数据,那么程序转型步骤S2309。
另一方面,在前字块直流分量存贮器2120中每个彩色信号直流分量的设定值是一个表示在发送色空间中的“白”的情况下,DSP2104使程序前进到步骤S2307而不执行步骤S2309到S2314的处理。在步骤S2307,根据在输出所述译码图象的色空间中的数据表示“白”的所述信号的一个字块被写入图象存贮器2103。这是针对于每一个信号成而执行的。例如,在输出译码图象的色空间是红(R)、绿(G)、兰(B)并且每个彩色信号的数据精度是8位的情况下,16进制的“OFF”被写入图象存贮器2103以用于R、G、B。然后,程序输入步骤S2308。
由DSP2104进行译码处理所译码并存贮于图象存贮器2103中的图象数据在DMA(2102)的控制下从所述图象存贮器2103传送给图象输出单元2121。所述图象输出单元2121连续地输出所传送的图象数据以作为译码后的图象。
在如上所述的第七实施例中,由CCV2101所写入的代码存贮器和由DSP2104所写入的图象存贮器是单独构成的。但这并不说这些存贮器被构成同样的存贮器就不能实现该实施例的教导。
根据上述本发明第七实施例,若在执行译码处理的DSP2104已经读入了表示相对于在前字块而言其直流差为(0)并且所述交流成份为全(0)的代码,那么在输出译码图象的色空间中表示“白”的图象数据的一个字块被写入图象存贮器而没有执行霍夫曼译码处理、反量化处理,IDCT处理和色空间变换处理。其结果是在DSP处理程序中用于上述处理操作所需的步骤数量得以减少,这就使得能够缩短用于所有图象数据译码处理的时间。
另外,虽然上述本发明是依据单独的第六和第七实施例加以描述的,但在实际的装置中,前述操作能以并行方式同时执行。例如,当从原始阅读器2101中开始读入数据时,可以执行第六实施例所述的编码处理并将所读入的数据发送给其它装置。当通过CCV2110接收来自其它装置的编码数据时,可以用第七实施例中执行译码处理的方式执行控制,并且所译码的图象数据由图象输出单元2121输出。
前述实施例可以被应用到由诸如图象扫描器、主计算机或打印机等多个设备构成的系统中,也可以应用到由诸如复印机或图象文档等单个设备组成的结构中。然而,这并不是说本发明不可应用到下述场合,在这种场合中,本发明的目的是通过向一个系统或装置提供一个程序来实现的。
因此,根据上述的本发明,在利用执行所述编码处理的数字信号处理器执行编码处理以前,设定了一种用于下述情况的代码,在这种情况下,一个特定的字块图象数据(即“白”数据等),持续两个字块。其结果是若所设定的特定字块数据持续两个字块或更多,那么所设定的代码数据用于执行编码,借此,使得可以缩短各常规编码操作和执行高速处理。
该代码数据应用于译码方面也使得可进行高速处理。也就是说如果在译码处理过程中,执行译码处理的数字信号处理器读入了这样一个用于下述情况的代码,在这种情况中当前字块直流成份和在前字块的直流成分之间的直流差为(0)并且在所述字块内的全部交流成份也是零,那么当在前字块的直流成分的值表现出一个特定色彩(即“白”)的图象数据被作为译码图象数据而进行传送,以用于每一个彩色信号。其结果是可以缩短常规译码处理并执行高速处理。
〈第八实施例〉
图36的方框图示出了依据本发明该实施例用作通信装置的一个传真装置结构配置。在图36中,数字2002表示一个中央处理单元(CPU),它通过总线2030连接到一个ROM2003和一个RAM2004。由操作所述,CPU2002的程序存贮在ROM2003中。CPU2002根这个程序控制整个装置的操作。RAM2004用作CPU2004的工作区域。品体振荡器2001用于产生操作时钟并连接到CPV2002。
在该实施例传真装置中的阅读器主要通过一个CCD线传感器2001读入原始图象并装配有一个阅读马达2012。另外,图象记录器包括一个由热读头组成的记录头2010、一个记录马达2013和一个用于驱动记录马达2013的马达驱动器IC2017。通过使用阅读器和图象记录器,所述传真装置记录所接收的图象或被读出的图象。
一个用于对图象数据进行调制/解调并对过程数据进行控制的调制解调器2014通过一个网络控制单元(NCV)2015连接到线2033上。NCV保持线2033的回络电流或执行相对于电话2023的线交换。数字2009表示一个JPEG编码LSI。为了执行下述的JPEG编码,如果在第一实施例所述,所述LSI内部合并多个DSP。
图37是一个总流程图,它示出了根据本实施例的传真装置通信控制过程。当在图37中的所述传真装置的电源被接通时,CPU2002在步骤S2001中使各参数初始化。接着在步骤S2002、2004、2006和2008,所述CPU2002确定复制、发送或接收是否被选择作为操作模式以及某种功能是否被选择,即装置是否被起动。在此判定基础之上,所述CPU执行复制处理(步骤S2003)、发送处理(步骤S2005)、接收处理(步骤S2007)和功能处理(步骤S2009)。例如,当在所述装置中设定一初始状态并且CPU2002通过一个门阵列2010传送这样一个事实,即由多个键2029所构的单接触键(未示出)已经按压(S2004)时,所述的程序转到步骤S2005的处理。
图38的流程图详细地示出了在图37所示的通信控制过程中步骤S2005所表示的发送处理。在图38中,CVP2002在步骤S2011使各参数初始化,然后执行由步骤S2012,S2013和S2014组成的网络。特别是,CPU 2002读出在一个单一页单元中的图象并执行向存贮器存入图象信息的处理。若一页处理结束,即若在步骤S2014中所提供的判定是“是”,那么CPU在步骤S2015向存贮器装载数据,并且在步骤S2016执行编码和存贮器存入。在步骤S2017,所述CPU检查所有页的处理是否都已结束。
应当指出,无论在什么时候,只要经过步骤S2015和S2016的处理,那么一页图象处理就被执行了。
如果所有页的处理都已结束,那么处理程序转到步骤S2018,在这里,以多个页单元的形式执行从存贮器的发送处理。跟着,在步骤S2019,执行一个检查以确定从存贮器的发送是否已经完成。当它判断这个处理已经完成时,则执行返回处理。
图39是一个详细的流程图,它考虑了在图38所示发送处理的过程中在步骤S2014对页处理结的判断。另外,图40和41示出了在判断所有原始图象数据是否为白数据(以后称之为“全白”)时多个象素组的多个单元。当执行DCT操作时,每一方格对应于一个象素单元。
在图39的步骤S2021中,参数被初始化。并且确定(S2022)在图象数据主扫描线上的8行象素是否为全白,这个判断是利用作为在所述的图40所示的象素组执行的。
如果在步骤S2022所提供的判定是“是”,那么,处理转到步骤S2023,在这里,事先已存贮在ROM2003中,并在主扫描方向上的8行象素为全白情况下执行DCT操作所产生的值被累积在存贮器中。跟着是步骤S2024,在该步骤中,用作控制参数的子扫描针增加+8。
在步骤S2031,进行一个检查以确定一页的处理是否已经完成。假如它确定一页的处理已经完成,则执行返回处理。
在步骤S2025,执行一个检查,以确定用作JPEG编码中所述单元的8×8个象素是否为全白。此时,图41所示的象素组用作所述单元。若检查的结果是“是”,那么在步骤S2026再进行一个检查,以确定立即超前于上述8×8个象素的8×8个象素(在JPEG编码中的所述单元)是否也是全白。假如在步骤S2026中所提供的判定是“是”,那么,在8×8个象素是全白情况下所获得的结果,即事先已存入ROM2003中的值被累积到存贮器(S2027),随后,处理转向步骤S2029。
在当前正在进行处理的8×8个象素不为全白(即当在步骤S2025)中所提供的判定是否)的情况下,或者是在这些象素是全白,但立即超前的8×8个象素不为全白的情况下,在步骤S2028执行一个公知的DCT操作,并且JPEG编码的结果被累积入存贮器。在步骤S2029,作为控制参数的主扫描指针的值被增加(加+8)。此后,在步骤S2030执行一个检查以确定一页的处理是否已经完成。若它判断一页的处理已经完成,则执行返回处理。
跟着,根据所述的JPEG方法,通过将DCT操作加到所述原始图象的8×8个象素字块上执行编码处理。然而,在所述原始图象的8×8个象素字块是全白情况下,DCT操作的结果已经是很明显的。此外,在所述原始图象中出现全白部份的可能性也是相当高的。
因此,若用于对出现可能性非常高的图像部份、即全白部件进行编码的处理速度通过以上述方式执行处理而得的提高,那么实现用于JPEG编码的高处理速度也是可能的。
另外,根据该实施例,在字块光栅单元中的全白判断和在字块单元中的全白判断是以逐步方式执行的。在全白字块在主扫描方向上持续一行的情况下,所述编码可以极为有效的方式加以执行。
此外,根据该实施例,可以在一个字块光栅(8行)的单元中或者是在多个字块光栅为(8×m)行]单元中执行全白判断。
另外,根据该实施例,主要在步骤S2026确定所述立即超前字块是否为全白。若这个确定是“否”,将执行DCT操作。如果所述立即超前字块是一个彩色字块且直流差已经得出,那么将执行正常的编码操作而不执行一个替换。
尽管立即超前字块是一个彩色字块,但是仍可以利用在步骤S2023重新启动一个标记代码通过再设置所述的立即超前系数来执行一般的编码处理。
图42的流程图详细地示出了图39中步骤S2025所执行的全白判断处理。
在步骤S2041(图42)对参数(i,j(1))进行初始化,在步骤S2042装入图象数据(i.j)的一个象素,并在步骤S2043执行一个检查,以确定这个象素是否为白。若检查的结果是这个象素不是白,那么就建立“1”以作为NoT-WHiTE特征,该特征是一个控制参数。随后执行返回处理。
若在步骤S2043作出的判定是“是”,那么用作控制参数的象素指针(i)在步骤S2054加1,并且处理转到步骤S2046。在步骤S2046执行一个检查以确定步骤S2042、S2043和S2045的处理是否已被执行了8次。如果这些步骤的处理尚未被执行8次,那么处理返回到步骤S2042。
若在步骤S2046中考虑执行循环8次的判断结果是“是”,那么用作控制参数的象素指针(j)在步骤S2047被加1。此后,程序转到步骤S2408的处理。在步骤S2408,它将确定考虑到8×8个象素的步骤S2042、S2043、S2045、S2046和S2047是否已被执行。或结果是“否”,那么处理从步骤S2048转到步骤S2042。
若在步骤S2048的判断结果是“是”,那么将建立一个“1”以作为ALL-WHITE特征(S2049),该特征是一个控制参数,此后执行一个返回处理。
在所述程序通过在图42所示处理过程的步骤S2-S9返回时,在图39所示步骤S2025处所作的判定转移到“是”的一边。另外,在所述程序通过在图42所示步骤S2044返回时,在图39所示的步骤S2025处的判定转移到“否”的一边。
图43是一个详细的流程图,它示出了在图39中步骤S2022的全白判断处理。在图42和图43所示的处理中,在这个处理执行以前,在步骤S2012和步骤S2013完成一页的读出和未压缩数据的存贮器累积。因此,图39所示步骤S2022、S2025的处理被分段处理,以用于RAM2004中未压缩数据的全白检查。
另外,当图42所示的处理涉及到对应于从(1.1)到(8.8)象素的8×8象素字块时,图43所示的处理用于对在主扫描方向上对应于所述从(1.1)到(8.m)象素的8行象素字块进行分段处理。
在图43的步骤S2051对参数(i、j…)进行初始化。在步骤S2052,图象数据(i、j)的一个象素被装入,在步骤S2053执行一个检查,以确定这个象素是否为白。若检查的结果表明这个象素不是白,那么将建立一个作为控制参数NoT-WHITE特征的“1”,然后执行返回处理。
但是,若在步骤S2053所提供的判定是“是”,那么在步骤S2055就要使作为控制参数的象素指针(i)加1。在步骤S2056执行一个检查,以确定步骤S2052、S2053和S2055的处理是否已被执行了m次。若这些步骤的处理还没有被执行过m次,那么处理返回到步骤S2052。
若在步骤S2056考虑到循环m次数的判定结果是“是”,那么在步骤S2057,上述象素指旬(i)被置为1。在步骤S2058,作为控制参数的象素指针(j)被加1。此后,程序转到步骤S2059的处理。在步骤S2059确定考虑到8×8象素的步骤S2052、S2053、S2055-S2058的处理是否已经执行。若其结果为“否”,处理返回到步骤S2052。
若步骤S2058的判定结果是“是”,将建立一个1以作为用作控制参数的ALL-WHITE特征(S2060),然后执行返回处理。
在图42所示之处理和图43所示之处理之间的差别在于当在图42的步骤S2046中在水平方向(主扫描方向)上检查8个象素时,它是在图43的步骤S2056中主扫描线上从头到尾执行中的。另外,在图43中,当从一个主扫描线转换到下一个主扫描线时,必须在步骤S2057使所述的控制参数(象素指针)i的值重新初始化,这不同于图42所示之处理。
因此,根据如上所述之本发明,其注意力直接指向这样一个因素,即在所述原始图象中全白部份出现的可能性是高的。借助于使用对规定象素字块全白部份DCT处理所获得的结果提高用于对全白图象部份进行编码的处理速度,可以实现用于JPEG编码的高处理速度。
前述实施例可用于由多个设备所构成的系统中,也可用于由一个设备所构成的装置中。此外,这并不是说,本发明也能应用于下述情况,在这种情况下,本发明的目的是通过向一个系统或装置提供一个程序而实现的。
根据上述的本发明,当规定的象素字块是全白时,使用予定值来执行编码处理而不执行DCT操作。这就使得提高编码处理速度成为可能。
另外,在除了一个字块内部为全白的情况下,可以使用一个予定的必要值。
在上述实施例中所使用的DSP是一个用于数字信号处理的特殊用途单片微机,这种单片微机是公知的。DSP使用了一种电路配置以用于高速反复执行乘法和加法运算。DSP是一个可根据外部提供程序任意设置操作内容的装置,并且它包括一个存贮器,用于存贮外部所提供的程序,同时它还包括一个诸如乘法器和加法器的算法电路。
能制作出本发明的很多明显不同的实施例而不脱离本发明的精神和范围,应当理解,除了用于规定附加的权利要求以外,本发明并不受特定实施例的限制。