二维信号编码/解码方法和设备转让专利

申请号 : CN200480042826.9

文献号 : CN1943243B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高田巡

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

摘要 :

通过使用作为基础的Haar函数的小波变换,把图像划分成诸多子带,并且编码最低频LL子带的全部区域。随后按相同空间位置上的每个系数编码属于每个层次的小波分解级的LH、HL和HH子带。解码侧首先解压缩最低频率LL子带,然后对每个小波分解级的子带中相同空间位置上的LH、HL和HH系数一次一集地解码。解码侧通过使用系数值直接执行反向小波变换,由此获得下一个小波分解级的LL系数值。即使使用顺序CPU执行小波编码/解码,这也能够有效增加处理速度。

权利要求 :

1.一种编码设备,其特征在于,包括:

二维Haar小波变换装置,把二维信号划分成作为多个频率区域的诸子带;

系数提取装置,以每个分辨率级中扫描线方向的提取顺序、然后从低分辨率级到高分辨率级、每次按预定数量的系数集提取由变换得到的诸子带中属于相同空间位置和相同分辨率级的交流分量的系数集;

系数编码装置,按照提取交流分量的系数集的顺序编码并联结所提取的交流分量的系数集,生成高频子带的码序列;

初始系数编码装置,编码并联结作为最低频率子带的码序列的直流分量系数;

码输出装置,输出最低频率子带的码序列之后,从低分辨率级到高分辨率级顺序地输出由所述系数编码装置生成的高频子带的码序列。

2.根据权利要求1所述的编码设备,其特征在于,所述系数提取装置沿二维信号的扫描线方向每次按预定数量顺序提取系数集。

3.根据权利要求2所述的编码设备,其特征在于,所述系数提取装置一次一集地顺序提取系数集。

4.根据权利要求1所述的编码设备,其特征在于,每个系数包括多个YCbCr色分量,并且,

所述系数编码装置按系数的每个YCbCr色分量进行编码,并且通过将每个系数的所有YCbCr色分量的码联结在一起作为一个整体来依次联结每个系数以生成代码。

5.根据权利要求1所述的编码设备,其特征在于,每个系数包括多个YCbCr色分量,以及

所述系数编码装置按系数的每个YCbCr色分量进行编码,并且通过将每个系数下的对应相同YCbCr色分量的码联结在一起作为一个整体来按照各YCbCr色分量的顺序依次联结,以生成代码。

6.根据权利要求1所述的编码设备,其特征在于,还包括:

系数细化映象生成装置,生成在二维信号的各空间坐标上设定了分辨率级的系数细化映象;

已更新区域检测装置,从形成二维信号的多个帧的序列的多个顺序帧中检测已更新区域,并从所述多个顺序帧中求出在各部分区域中信号值变化的时间段,其中所述系数细化映象生成装置根据时间段设定分辨率,并生成系数细化映象,在该系数细化映象中已更新区域的分辨率不同于已更新区域以外的区域的分辨率,所述二维Haar小波变换装置参照系数细化映象,通过像素细化提取处理把像素细化到该坐标的分辨率而施加小波变换。

7.根据权利要求6所述的编码设备,其特征在于,所述系数细化映象生成装置在时间段长的区域中设置低分辨率。

8.根据权利要求1所述的编码设备,其特征在于,还包括:系数量子化映象生成装置,生成表示在二维信号的各空间坐标上设置的、细化对应于每个空间坐标位置/每个分辨率级的系数的量子化精度的系数量子化映象;

系数量子化装置,通过参照系数量子化映象,把提取的系数量子化到由对应于感兴趣的空间坐标/分辨率级的系数量子化参数指示的量子化精度;

已更新区域检测装置,从形成二维信号的多个帧的序列的多个顺序帧中检测已更新区域,并从所述多个顺序帧中求出在各部分区域中信号值变化的时间段,其中所述系数量子化映象生成装置根据时间段设定量子化精度,并生成系数量子化映象,在该系数量子化映象中已更新区域的量子化精度不同于已更新区域以外的区域的量子化精度,所述系数编码装置对被量子化的系数集进行编码。

9.根据权利要求8所述的编码设备,其特征在于,所述系数量子化映象生成装置在时间段长的区域中设置低量子化精度。

10.根据权利要求1所述的编码设备,其特征在于,还包括:

系数细化映象生成装置,生成在二维信号的各空间坐标上设定了分辨率级的系数细化映象;

已更新区域检测装置,检测形成二维信号的多个帧的序列中前帧的待编码区域与后续帧的待编码区域重叠的区域,作为已更新区域,其中所述系数细化映象生成装置生成系数细化映象,在该系数细化映象中已更新区域的分辨率不同于已更新区域以外的区域的分辨率,所述二维Haar小波变换装置参照系数细化映象,通过像素细化提取处理把像素细化到该坐标的分辨率而施加小波变换。

11.根据权利要求1所述的编码设备,其特征在于,还包括:

系数量子化映象生成装置,生成表示二维信号的各空间坐标处细化对应于每个空间坐标位置/每个分辨率级的系数的量子化精度的系数量子化映象;

系数量子化装置,通过参照系数量子化映象,把提取的系数量子化到由对应于感兴趣的空间坐标/分辨率级的系数量子化参数指示的量子化精度;

已更新区域检测装置,检测形成二维信号的多个帧的序列中前帧的待编码区域与后续帧的待编码区域重叠的区域,作为已更新区域,其中所述系数量子化映象生成装置生成系数量子化映象,在该系数量子化映象中已更新区域的量子化精度不同于已更新区域以外的区域的量子化精度,所述系数编码装置对被量子化的系数集进行编码。

12.一种编码设备,其特征在于,包括:

元素提取装置,以扫描线顺序、从二维信号中提取每一个尺寸为2m×2的元素区域,其中,m是整数且m≥1;

二维Haar小波变换装置,用来把所提取的元素区域划分成属于相同空间位置的m个交流分量的系数集和m个直流分量系数;

系数编码装置,当所述二维Haar小波变换装置变换每个元素区域时,以每个分辨率级的扫描线方向的联结顺序,为每个分辨率级,编码并联结交流分量的系数集,生成高频子带的码序列;

初始系数编码装置,编码并联结作为最低频率子带的码序列的直流分量系数;

码输出装置,输出最低频率子带的码序列之后,从低分辨率级到高分辨率级顺序地输出由所述系数编码装置生成的高频子带的码序列。

13.根据权利要求12所述的编码设备,其特征在于,每个系数包括多个YCbCr色分量,并且,

所述系数编码装置按系数的每个YCbCr色分量进行编码,并且通过将每个系数的所有YCbCr色分量的码联结在一起作为一个整体来依次联结每个系数以生成代码。

14.根据权利要求12所述的编码设备,其特征在于,每个系数包括多个YCbCr色分量,以及

所述系数编码装置按系数的每个YCbCr色分量进行编码,并且通过将每个系数下的对应相同YCbCr色分量的码联结在一起作为一个整体来按照各YCbCr色分量的顺序依次联结,以生成代码。

15.根据权利要求12所述的编码设备,其特征在于,还包括:

系数细化映象生成装置,生成在二维信号的各空间坐标上设定了分辨率级的系数细化映象;

已更新区域检测装置,从形成二维信号的多个帧的序列的多个顺序帧中检测已更新区域,并从所述多个顺序帧中求出在各部分区域中信号值变化的时间段,其中所述系数细化映象生成装置根据时间段设定分辨率,并生成系数细化映象,在该系数细化映象中已更新区域的分辨率不同于已更新区域以外的区域的分辨率,所述二维Haar小波变换装置参照系数细化映象,通过像素细化提取处理把像素细化到该坐标的分辨率而施加小波变换。

16.根据权利要求15所述的编码设备,其特征在于,所述系数细化映象生成装置在时间段长的区域中设置低分辨率。

17.根据权利要求12所述的编码设备,其特征在于,还包括:

系数量子化映象生成装置,生成表示对应于二维信号的各空间坐标设置的、细化对应于每个空间坐标位置/每个分辨率级的系数的量子化精度的系数量子化映象;

系数量子化装置,通过参照系数量子化映象,把系数量子化到由对应于感兴趣的空间坐标/分辨率级的系数量子化参数指示的量子化精度;

已更新区域检测装置,从形成二维信号的多个帧的序列的多个顺序帧中检测已更新区域,并从所述多个顺序帧中求出在各部分区域中信号值变化的时间段,其中所述系数量子化映象生成装置根据时间段设定量子化精度,并生成系数量子化映象,在该系数量子化映象中已更新区域的量子化精度不同于已更新区域以外的区域的量子化精度,所述系数编码装置对被量子化的系数集进行编码。

18.根据权利要求17所述的编码设备,其特征在于,所述系数量子化映象生成装置在时间段长的区域中设置低量子化精度。

19.根据权利要求12所述的编码设备,其特征在于,还包括:

系数细化映象生成装置,生成在二维信号的各空间坐标上设定了分辨率级的系数细化映象;

已更新区域检测装置,检测形成二维信号的多个帧的序列中前帧的待编码区域与后续帧的待编码区域重叠的区域,作为已更新区域,其中所述系数细化映象生成装置生成系数细化映象,在该系数细化映象中已更新区域的分辨率不同于已更新区域以外的区域的分辨率,所述二维Haar小波变换装置参照系数细化映象,通过像素细化提取处理把像素细化到该坐标的分辨率而施加小波变换。

20.根据权利要求12所述的编码设备,其特征在于,还包括:

系数量子化映象生成装置,生成表示对应于二维信号的各空间坐标设置的、细化对应于每个空间坐标位置/每个分辨率级的系数的量子化精度的系数量子化映象;

系数量子化装置,通过参照系数量子化映象,把系数量子化到由对应于感兴趣的空间坐标/分辨率级的系数量子化参数指示的量子化精度;

已更新区域检测装置,检测形成二维信号的多个帧的序列中前帧的待编码区域与后续帧的待编码区域重叠的区域,作为已更新区域,其中所述系数量子化映象生成装置生成系数量子化映象,在该系数量子化映象中已更新区域的量子化精度不同于已更新区域以外的区域的量子化精度,所述系数编码装置对被量子化的系数集进行编码。

21.一种解码设备,其特征在于,是从最低频率子带的码序列到高频子带的码序列依次接收将二维Haar小波变换得到的多个子带的系数作为所述子带的码序列的解码设备,包括:初始系数解码装置,从对应于最低频率子带的码序列中解码最低频率子带的系数,生成所述最低频率子带的二维信号;

系数解码装置,从最低频率子带码序列之后输入的高频子带的码序列中,每次按预定数量的系数集解码属于多个子带中相同空间位置的交流分量的系数集,所述多个子带属于相同层次的小波变换级;其中高频子带的码序列是通过编码并联结提取的交流分量的系数集而生成;以及反向小波变换装置,每当解码系数集时对解码的系数集执行二维反向Haar小波变换,由此生成更高分辨率的二维信号。

22.根据权利要求21所述的解码设备,其特征在于,所述系数解码装置沿二维信号的扫描线方向,每次按预定数量顺序解码系数集。

23.根据权利要求22所述的解码设备,其特征在于,所述系数解码装置一次一集地顺序解码系数集。

24.根据权利要求23所述的解码设备,其特征在于,每个系数包括多个色分量,以及

所述系数解码装置按系数的每个色分量进行解码,并且联结每个系数下的色分量。

25.根据权利要求23所述的解码设备,其特征在于,每个系数包括多个色分量,以及

所述系数解码装置按系数的每个色分量进行解码。

26.一种编码方法,其特征在于,包括以下步骤:由二维Haar小波变换,把二维信号划分成作为多个频率区域的诸子带;

编码并联结作为最低频率子带的码序列的直流分量系数;

以每个分辨率级中扫描线方向的提取顺序、然后从低分辨率级到高分辨率级、每次按预定数量的系数集提取由变换得到的诸子带中属于相同空间位置和相同分辨率级的交流分量的系数集;

按照提取交流分量的系数集的顺序编码并联结所提取的交流分量的系数集,生成高频子带的码序列;

输出最低频率子带的码序列之后,从低分辨率级到高分辨率级顺序地输出所述高频子带的码序列。

27.根据权利要求26所述的编码方法,其特征在于,在所述提取步骤中,在二维信号的扫描线方向每次按预定数量顺序提取系数集。

28.根据权利要求27所述的编码方法,其特征在于,在提取步骤中,一次一集地顺序提取系数集。

29.一种编码方法,其特征在于,包括以下步骤:以扫描线顺序、从二维信号中顺序提取每一个尺寸为2m×2的元素区域,其中m是整数且m≥1;

由二维Haar小波变换,把所提取的元素区域划分成属于相同空间位置的m个交流分量的系数集和m个直流分量系数;

当变换每个元素区域时,以每个分辨率级的扫描线方向的联结顺序,为每个分辨率级,编码并联结交流分量的系数集,生成高频子带的码序列;

编码并联结作为最低频率子带的码序列的直流分量系数;

输出最低频率子带的码序列之后,从低分辨率级到高分辨率级顺序地输出高频子带的码序列。

30.一种解码方法,其特征在于,包括以下步骤:从最低频率子带的码序列到高频子带的码序列依次接收将二维Haar小波变换得到的多个子带的系数作为所述子带的码序列;

从对应于最低频率子带的码序列中解码最低频率子带的系数,生成所述最低频率子带的二维信号;

从最低频率子带码序列之后输入的高频子带的码序列中,每次按预定数量的系数集解码属于多个子带中相同空间位置的交流分量的系数集,所述多个子带属于相同层次的小波变换级;其中高频子带的码序列是通过编码并联结提取的交流分量的系数集而生成;以及每当解码系数集时,对解码的系数集执行二维反向Haar小波变换,由此生成更高分辨率的二维信号。

31.根据权利要求30所述的解码方法,其特征在于,在解码系数集步骤中,沿二维信号的扫描线方向每次按预定数量顺序解码系数集。

32.根据权利要求31所述的解码方法,其特征在于,在解码系数集步骤中,一次一集地顺序解码系数集。

33.一种通信终端,其特征在于,包括:

图像输入装置;

发送和接收已编码图像信号的通信装置;

把待发送的图像信号划分成作为多个频率区域的诸子带的二维Haar小波变换装置,所述图像信号由所述图像输入装置输入;

系数提取装置,以每个分辨率级中扫描线方向的提取顺序、然后从低分辨率级到高分辨率级、每次按预定数量的系数集提取由变换得到的诸子带中属于相同空间位置和相同分辨率级的交流分量的系数集;

系数编码装置,按照提取交流分量的系数集的顺序编码并联结所提取的交流分量的系数集,生成高频子带的码序列;

初始系数编码装置,编码并联结作为最低频率子带的码序列的直流分量系数;

码输出装置,输出最低频率子带的码序列之后,从低分辨率级到高分辨率级顺序地输出由所述系数编码装置生成的高频子带的码序列到通信装置;

初始系数解码装置,从对应于已接收的图像信号的最低频率子带的码序列中解码最低频率子带的每一个系数,生成图像信号的最低频率子带;

系数解码装置,从跟在最低频率子带码序列之后的、由所述系数编码装置生成的高频子带的码序列中,每次按预定数量的系数集解码属于多个子带中相同空间位置的交流分量的系数集,所述多个子带属于相同层次的小波变换级;以及反向小波变换装置,每当解码预定数量的系数集时对每个直流分量系数和每个解码的系数集执行二维Haar反向小波变换,由此生成具有更高分辨率的已接收的图像信号;

图像显示装置,根据已接收的图像信号显示接收的图像。

说明书 :

二维信号编码/解码方法和设备

技术领域

[0001] 本发明涉及一种二维信号压缩/解压缩方法,特别涉及使用小波变换(wavelet transform)的二维信号编码/解码方法及设备。

背景技术

[0002] 当图像信号代表的二维信号被存储在记录媒介或者在网络传输时,必需压缩或编码数据以便有效使用记录媒介或传输路径。传统的各种方法如使用DCT(离散余弦变换)和预测编码已经被提出并且被实际使用。近来,使用小波变换的信息压缩方法被广泛研究,并且提出了各种建议。
[0003] 例如,在专利文献1(日本专利公开第9-148938号)披露的编码/解码方法中,首先把二维图像划分成诸贴图(tile),并且把小波变换重复地应用于每个贴图,以便将其分层地划分成诸频率子带。此后,对通过该划分获得的每个子带执行可变长度编码,并且从低频子带开始顺序输出代码。划分成诸子带的优点是,可以通过收集具有闭合系数统计特性的邻近区域和对每个区域执行最佳编码,增加编码效率,以及硬件可以并行执行编码和解码。请注意,如果划分成贴图被过度执行,则码效率降低,所以划分尺寸通常被设置约为64×64或者以上。然而,在划分成贴图之后执行小波变换的方法具有在贴图边界产生不连续失真,即块噪声的问题。
[0004] 此外,在专利文献2(日本专利公开第2000-316152号)公开的编码/解码方法中,经过小波变换的每个子带被划分成多个块(8×8),并且编码每个块。该方法具有不产生块噪声的优点,因为划分成块是在小波变换后执行的。
[0005] 通过使用上述方法执行子带编码能够提供随时间增加分辨率的顺次显示功能,并减少图像观看者感知的等待时间。例如,专利文献3(日本专利公开第11-298897号)已经公开了一种待显示的图像大小随分辨率上升而增加的数据传输方法。
[0006] 此外,专利文献4(日本专利公开第2003-504921)公开了一种划分图像并且以不同小波解码速率绘制已划分的子图像的方法。更具体地说,通过使用帧的中心部分是用户最仔细观看的区域的事实,最早在中心部分的子图像中描绘细节,然后再通过延迟从中心到边缘逐渐描绘细节。该显示功能也可以降低图像观看者的感知等待时间。 [0007] 此外,虽然小波变换通常是对如YCbCr(YUV)等的每个YCbCr色分量进行的,但在本说明书中,对应于相同层次/相同位置的所有YCbCr色分量的小波变换系数被总称为子带系数。还有,属于相同的子带系数的各YCbCr色分量被称为子带系数的分量。 [0008] 发明内容
[0009] 本发明将解决的问题
[0010] 不幸的是,由于专利文件1和2披露的方法都以并行处理为前提,因此当使用通用顺序CPU执行解码时不能获得足够的处理速度。其主要原因如下。
[0011] 首先,CPU必须访问存储每个系数值的存储器地址两次,即当编码系数(或解码系数)时和当执行小波操作(或者反向小波操作)时访问存储器地址。CPU的存储器访问时间通常大于其内部运算时间,所以如果存储器访问次数越大,则处理速度越低。 [0012] 第二,当CPU执行对每个贴图或者每个块的存储器访问时,存储系数地址不位于一条扫描线上,而是遍布在多条扫描线上。例如,当把2LH子带划分成多个块(8×8)时,在8条扫描线上执行存储器访问,以便解压缩2LH。这分散了存储器访问目的地,并且降低了高速缓存存储器的效率。通用CPU包括高速缓存存储器,因此可以高速执行本地存储器访问。如果如上所述,分散存储器访问目的地,则发生对实存储器的访问,这极大地降低了处理速度。
[0013] 此外,上述传统方法具有需要较大中间存储器的问题。这是因为必须从某个贴图或块的小波变换开始到贴图或块的编码完成的编码期间,或者必须在从某个贴图或块的系数解码开始到反向小波变换完成的解码期间,在存储器上保持LH、HL和HH子带。 [0014] 因此本发明的目的是提供一种编码/解码方法和设备,能够在使用顺序CPU执行小波编码/解码时,很好地提高处理速度。
[0015] 本发明的另一目的是提供一种编码/解码方法和设备,能够降低在小波编码/解码中临时存储子带所需的中间存储器的容量。
[0016] 解决问题的手段
[0017] 本发明第一方面的编码设备的特征在于包括:小波变换装置,把二维信号划分成作为多个频率区域的诸子带;系数提取装置,从属于相同层次的小波分解级的多个子带中,每次按预定数量提取属于相同空间位置的系数集;以及系数编码装置,用来编码已提取的系数集。
[0018] 本发明第二方面的编码设备的特征在于包括:元素提取装置,从二维信号中顺序提取2m×2个空间邻近元素,其中,m是整数且m≥1;小波变换装置,用来把2m×2个元素划分成多个子带系数集;对系数集编码的系数编码装置;以及码输出装置,按照从低分辨率子带开始的顺序重排已编码系数集,并输出重排的系数集。
[0019] 本发明第三方面的解码装置是接收码序列并生成原始二维信号的解码装置,所述码序列是通过对子波变换获得的多个子带的系数编码形成的,解码装置包括:初始系数解码装置,从对应于最低频率子带的码序列中解码最低频率子带的系数;系数解码装置,从最低频率子带码序列之后的码序列中,每次按预定数量解码属于多个子带中相同空间位置的系数集,所述多个子带属于相同层次的小波分解级;以及反向小波变换装置,在解码系数集时执行反向小波变换。
[0020] 在本发明中,通过使用作为基础的Haar函数的小波变换,把图像划分成诸多子带,并且编码最低频LL子带的全部区域。随后按相同空间位置上的每个系数编码属于每个层次的小波分解级的LH、HL和HH子带。解码侧首先解压缩最低频率LL子带,然后对每个小波分解级的子带中相同空间位置上的LH、HL和HH系数一次一集地解码。解码侧通过使用系数值直接执行反向小波变换,由此获得下一个小波分解级的LL系数值。 [0021] 本发明的效果
[0022] 在上述的本发明中,对应于相同图像位置的系数从LH、HL和HH子带中顺序读出并且被编码,所以即使当使用通用顺序CPU时也可以降低对实存储器存储/装载的次数,这使得高速处理成为可能。此外,由于LH、HL和HH子带中相同位置上的系数同时被顺序编码,因此在编码完成之前,不需要保持LH、HL和HH子带的数据。
[0023] 此外,由于可以执行顺序编码,因此CPU的高速寄存器或高速缓存存储器可以被用作存储待编码的系数的系数存储器,这进一步增加了编码速度。
[0024] 在解码期间,每当解码1集LH、HL和HH子带系数集,已解码的系数值就直接在寄存器上被反向小波操作,由此降低了访问实存储器的次数。此外,作为解码期间的存储器访问,在同一扫描线上连续执行LL子带读出,并且还仅仅对两条扫描线连续执行反向小波操作的结果写入,由此增加高速缓存存储器效率。此外,临时存储子带所需的中间存储器的容量可以被减少。
[0025] 如上所述,1集LH、HL和HH子带系数集的解码和已解码系数的反向小波操作可以经由诸如寄存器的高速存储器执行。这使得甚至当使用通用顺序CPU时,也能够增加解码速度。此外,由于子带不需要被全部存储在中间存储器中,因此可以降低存储器使用量。此外,当可以通过硬件执行并行处理时,可以通过使用与本发明组合使用传统贴图划分方法进一步增加解码速度。
[0026] 由于可高速执行处理而又不需要任何特殊的并行计算硬件,因此本发明可有效地应用于用中速到低速的通用CPU执行的编码和解码中。这使得实现经由网络接收和显示图像的低成本客户机终端以及廉价的普通终端成为可能。

附图说明

[0027] 图1是显示本发明第一实施例的编码设备的结构的概况的方框图;
[0028] 图2A是显示子带存储器102中的子带nLL、nLH、nHL和nHH中的系数阵列的实例的示意图;
[0029] 图2B是输出码存储器104中码阵列的实例的示意图;
[0030] 图3是显示本发明第一实施例的编码设备的编码控制的流程图;
[0031] 图4是显示本发明的第一实施例的解码设备的结构的概况的方框图; [0032] 图5是显示本发明第一实施例的解码设备的解码控制的流程图;
[0033] 图6是显示本发明第二实施例的编码设备的结构的概况的方框图;
[0034] 图7是本发明第一实施例的编码设备的编码控制的流程图;
[0035] 图8是示意地显示本发明第一和第二实施例的编码和解码操作的示意图; [0036] 图9是显示本发明第三实施例的编码设备的结构的概况的方框图;
[0037] 图10是显示由本发明第三实施例的编码设备的编码控制的流程图; [0038] 图11是示意地显示本发明第三实施例的编码和解码操作的流程图; [0039] 图12是显示本发明第四实施例的编码设备的结构的概况的方框图; [0040] 图13是显示本发明第四实施例的编码设备的编码控制的流程图;
[0041] 图14是示意地显示用来解释本发明第四实施例的已更新区域检测和细化操作的控制台屏幕的示意图;
[0042] 图15是显示本发明第五实施例的编码设备的结构的概况的方框图; [0043] 图16是显示本发明第五实施例的编码控制的流程图;
[0044] 图17是示意地显示本发明第五实施例的编码和解码操作的示意图; [0045] 图18是显示本发明第六实施例的编码设备的结构的概况的方框图; [0046] 图19是显示本发明第六实施例的编码控制的流程图;
[0047] 图20是显示本发明第七实施例的编码设备的结构的概况的方框图; [0048] 图21是显示本发明第七实施例的编码控制的流程图;
[0049] 图22是示意地显示本发明第七实施例中的用来解释已更新区域检测和系数量子化操作控制台屏幕的示意图;
[0050] 图23是本发明第八实施例的内置编码设备和解码设备的双向通信终端的方框图;
[0051] 图24是显示本发明第九实施例的编码设备的结构的概况的方框图;和 [0052] 图25是显示本发明第九实施例的解码设备的结构的概况的方框图。 具体实施方式
[0053] 1.第一实施例
[0054] 1.1)编码设备
[0055] 图1是显示本发明第一实施例的编码设备的结构的概况的方框图。该编码设备从图像输入设备(未显示)接收图像数据10,并通过小波编码(下面将要说明)输出码序列。编码设备主要包括数据处理器101、子带存储器102、系数存储器103和输出码存储器104,并且向码输出设备105输出所生成的码序列。
[0056] 数据处理器101是程序控制处理器如普通CPU(中央处理单元),并且可以通过从程序存储器(未显示)读出编码程序和执行所读出的程序,生成小波变换(在该实施例中,是二维Haar小波变换)处理(小波变换装置101a)、初始系数编码处理(初始系数编码装置101b)、相同坐标系数提取处理(相同坐标系数提取装置101c)、系数编码处理(系数编码装置101d)、以及码输出处理(码输出装置101e)(将在下文中详细说明)。
[0057] 子带存储器102、系数存储器103和输出码存储器104可以由分立存储器构成,并且还可以通过在一个半导体存储器中分配各自空间来形成。存储输出图像数据10的空间也可以在该半导体存储器中形成。请注意在本发明中,CPU的寄存器和高速缓存存储器可以用作系数存储器103,下面将详细进行说明。
[0058] 子带存储器102存储通过对输入图像数据10执行二维Haar小波变换获得的N(是大于等于1的整数)个层次的子带数据(nLL、nLH、nHL和nHH)(1≤n≤N)。为了解释方便起见,假定层次n的子带nLL、nLH、nHL和nHH具有对应于图像空间坐标(x,y)的pn×qn(p和q是整数)系数矩阵。因此,每个层次的子带数据nLL、nLH、nHL和nHH之每个是二维信号。
[0059] 系数存储器103存储在一个层次的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{LH(i,j),HL(i,j),HH(i,j)},这些子带是通过数据处理器101的相同坐标系数提取处理从子带存储器102中顺序提取的。系数集提取顺序是从图像的左上端到右下端的扫描线方向。顺序提取预定数量的两个或更多个系数集也是可能的。例如,还可以提取邻近 {LH(i,j),HL(i,j),HH(i,j)}的一个或多个系数集,并将其存储在系数存储器103中。如上所述,当CPU的高速缓存存储器用作系数存储器103时,如果高速缓存存储器具有可用空间,则可以存储多个系数集。
[0060] 输出码存储器104具有NLL子带码存储器104.1和(nLH、nHL、nHH)子带码存储器104.2。NLL子带码存储器104.1存储由数据处理器101的初始系数编码处理通过编码层次N的子带NLL而获得的子带码NLLc。(nLH,nHL,nHH)子带码存储器104.2存储由系数编码处理通过编码顺序读出到系数存储器103的相同坐标系数集而获得的码(nLH,nHL,nHH)c。
[0061] (存储器数据配置)
[0062] 下面将解释子带存储器102和输出码存储器104的数据配置的实例。在该实施例中,将描述相同空间坐标(i,j)上的系数集{LH(i,j),HL(i,j),HH(i,j)}被存储在系数存储器103并且被编码的情况。
[0063] 图2A是显示子带存储器102中的子带nLL、nLH、nHL和nHH的系数阵列的实例,图2B是显示输出码存储器104中的码阵列的实例的示意图。
[0064] 参见图2A,在通过二维Haar小波变换获得的层次n中,子带nLL的系数阵列是nL(0,0)、nL(1,0)、…、nL(pn,qn),子带nLH的系数阵列是nA(0,0)、nA(1,0)、…、nL(pn,qn),子带nHL的系数阵列是nB(0,0)、nB(1,0)、…、nB(pn,qn),以及子带nHH的系数阵列是nC(0,0)、nC(1,0)、…、nC(pn,qn)。每个系数阵列对应于指示图像中空间位置的坐标(0,0),…,(i,j),(pn,qn)。
[0065] 参见图2B,初始编码处理通过编码上述子带NLL的系数NL(0,0)、NL(1,0)、…NL(pN,qN)获得的代码NLLc(0,0)、NLLc(1,0)、…NLLc(pN,qN)被存储在NLL子带码存储器104.1中。作为初始编码处理的编码方法,编码邻近系数之间差值的DPCM(差分脉码调制)哈夫曼(Huffman)编码可以被使用。
[0066] 此外,由系数编码处理通过一次一集地编码顺序读出到系数存储器103的一个或多个相同坐标系数集(nLH,nHL,nHH)获得的码(nLHc,nHLc,nHHc)被存储在(nLH,nHL,nHH)子带码存储器104.2中。系数编码处理的编码方法可以使用例如利用连续零值的数量和非零系数值的行程哈夫曼码(a runlength Huffman code),或者LZW (Lempel-Ziv-Welch)码。
[0067] 在图2A所示的子带数据的实例中,层次n的子带nLH、nHL和nHH中具有相同坐标(0,0)的系数nA(0,0)、nB(0,0)和nC(0,0)被共同地读出到系数存储器103上,并且通过系数编码处理所编码的nAc(0,0)、nBc(0,0)和nCc(0,0)被存储到子带码存储器104.2中。接着,具有相同坐标(1,0)的系数nA(1,0)、nB(1,0)和nC(1,0)被共同地读出到系数存储器103上,并且把通过系数编码处理所编码的nAc(1,0)、nBc(1,0)和nCc(1,0)存储到子带码存储器104.2中。此后,对直至坐标(pn,qn)的所有系数类似地编码并且存储在子带码存储器104.2中。
[0068] 两个系数集被读出到系数存储器103的实例中,能够把层次n的子带nLH、nHL和nHH中的具有相同坐标(0,0)的系数nA(0,0)、nB(0,0)、nC(0,0)和具有相同坐标(1,0)的系数nA(1,0)、nB(1,0)、nC(1,0)共同地读出到系数存储器103,并且通过类似编码,把代码nAc(0,0)、nBc(0,0)、nCc(0,0)和代码nAc(1,0)、nBc(1,0)、nCc(1,0)存储在子带码存储器104.2中。在此情况下,子带nLH、nHL、nHH中具有相同坐标(2,0)和(3,0)的系数随后被读出到系数存储器103上。此后类似地一次两集地读出系数集。相同处理通常可应用于读出预定数量的两个或更多系数集的情况。
[0069] 输出码存储器104中如此存储的子带码NLLc、nLHc、nHLc、nHHc被输出给码输出设备105。码输出设备105是在诸如DVD的光记录媒介上记录信息的驱动器或者连接网络的网络接口。
[0070] (编码控制)
[0071] 图3是显示该实施例中编码控制的流程图。
[0072] 首先从诸如照相机或扫描仪的图像输入设备输入图像数据10,然后将该图像数据存入图像存储器(步骤S11)。
[0073] 然后,数据处理器101上的小波变换处理对从图像存储器读出的图像数据10执行N阶二维Haar小波变换,并且如上所述把变换结果存储在子带存储器102中(步骤S12)。 [0074] 当完成该二维Haar小波变换时,初始系数编码处理从层次N的子带 存储器中读出初始系数NLL,执行利用行程哈夫曼码或者LZW码的可变长度编码,并且把码NLLc(0,0)、NLLc(1,0)、…NLLc(pN,qN)存储在输出码存储器104的NLL子带码存储器104.1中(步骤S13)。
[0075] 当初始系数编码完成时,接着编码LH、HL和HH子带。首先,把指示分辨率级(层次)的变量n设置到N,以把层次N的子带LH、HL和HH设置为编码对象(n=N),并且相同坐标系数提取处理把将从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S14)。
[0076] 接着,相同坐标系数提取处理从子带存储器102读出层次n的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{nA(i,j),nB(i,j),nC(i,j)},并且把读出的系数集存储到系数存储器103中(步骤S15)。然而,读出上述的预定数量的两个或更多系数集也是可能的。例如,读出对应于相同空间坐标(i,j)、(i+1,j),…的预定数量的系数集。当一个或多个系数集被读出到系数存储器103上时,系数编码处理开始执行编码。 [0077] 系数编码处理从系数存储器103读出系数集nA(i,j)、nB(i,j)和nC(i,j),执行对读出的系数的可变长度编码,并把代码存储在输出码存储器104的子带码存储器104.2中(步骤S16)。当读出到系数存储器103的系数集的编码完成时,相同坐标系数提取处理检验层次n中所有坐标上的编码是否完成(步骤S17)。
[0078] 如果层次n中所有坐标上的编码没有完成(步骤S17中的否),则在扫描线方向将所提取的坐标(i,j)移位一个预定数(步骤S18),并且重复上述步骤S15至S18,直至层次n中的所有坐标上的编码被完成。
[0079] 如果层次n中的所有坐标上的编码被完成(步骤S17中的是),则检验本层次n是否已经达到作为最大分辨率的n=1(步骤S19)。如果n未达到1(步骤S19中的否),则n递减1(步骤S20),并且把将要从各分带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S21)。在层次n每次被如此降低1层的同时,重复步骤S15至S21。
[0080] 当作为最高分辨率级的层次n=1中的子带的编码完成时(步骤S19中的是),码输出处理读出存储在输出码存储器104中的码序列,并且向 码输出设备105输出读出的码序列(步骤S22)。
[0081] 请注意,尽管在上述解释中是在完成所有编码之后输出代码的,但是只要存储预定数量的代码,就能够执行代码输出。该流式传输的使用能够降低输出码存储器104的使用量,并且降低传输启动延迟。
[0082] 请注意,每个分辨率的低频分量还被存储在图像存储器中和上述每个nLL子带存储器中,但是本发明不限于该存储方法。例如,还能够使用通过共享这些存储器降低存储器使用量的方法。
[0083] 1.2)解码设备
[0084] 图4是显示本发明第一实施例的解码设备的结构的概要的方框图。
[0085] 该解码设备接收从上述的编码设备输出的码序列20,并且通过小波解码(以下将描述)输出原始图像数据。解码设备主要包括数据处理器201、子带存储器202、系数存储器203和图像输出设备204,并且把已解码图像数据输出给图像输出设备204。 [0086] 数据处理器201是如同编码设备中的CPU的程序控制处理器,并且通过从程序存储器(未显示)读出解码程序并执行已读出程序,可以生成初始系数解码处理(初始系数解码装置201a)、相同坐标系数解码处理(相同坐标系数解码装置201b)、反向小波变换(在该实施例中是二维Haar反向小波变换)处理(反向小波变换装置201c)和图像输出处理(图像输出装置201d)(下面将描述细节)。
[0087] 子带存储器202和系数存储器203可以由分立存储器构成,并且还可以通过在一个半导体存储器中分配各自空间来形成。还可以在该半导体存储器中形成存储输入码序列20的输入码存储器。请注意,在本发明中,CPU的寄存器或高速缓存存储器可以被用作系数存储器203,如下所述。
[0088] 子带存储器202存储从NLL子带系数序列中顺序生成的子带系数序列(N-1)LL、(N-2)LL、…,所述NLL子带系数序列是在初始系数解码步骤、相同坐标系数解码步骤和反向小波变换步骤(下面将说明)中解码的。包括NLL子带系数序列的子带系数序列通常将被称之为nLL子带系数序列(0≤n≤N)。
[0089] 系数存储器203存储由数据处理器201的相同坐标系数解码处理解码 的相同空间坐标(i,j)上的子带系数集{LH(i,j),HL(i,j),HH(i,j)}。请注意,预定数量的两个或多个系数集也可以被存储。例如,如果邻近{LH(i,j),HL(i,j),HH(i,j)}的一个或多个系数集被编码,则多个系数集被解码并且被存储到系数存储器203中。如上所述,当CPU的高速缓存存储器被用作系数存储器203时,如果高速缓存存储器具有可用空间,则可以存储多个系数集。
[0090] 图像输出设备204是液晶显示器或者类似装置。数据处理器201的图像输出处理在图像输出设备204上显示通过初始系数解码处理、相同坐标系数解码处理和反向小波变换处理解码的图像数据(下面将说明)。
[0091] 图5是显示本发明第一实施例的解码设备的解码控制的流程图。首先,把输入的可变长度码序列20存储到输入码存储器中(步骤S31).
[0092] 然后,初始系数解码处理从输入码存储器顺序读出NLL子带可变长度码,解码所读出的码,并存储NLL子带系数NL(0,0)、NL(0,1)、…,到子带存储器202中作为如上所述的已获得的初始系数(步骤S32)。
[0093] 当NLL子带系数的该编码完成时,随后解码LH、HL和HH子带。首先把指示分辨率级(层次)的变量设置到N,以把层次N的子带LH、HL和HH设置为解码的对象(n=N),并且相同坐标系数解码处理把将要在子带nLH、nHL和nHH中解码的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S33)。
[0094] 接着,相同坐标解码处理从输入码存储器中读出码序列nAc(i,j)、nBc(i,j)、nCc(i,j)、…,并且在系数存储器203中存储层次n的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{nA(i,j)、nB(i,j)、nC(i,j)}(步骤S34)。然而,如果如上所述编码多个系数集,则在系数存储器203中存储多个系数集。当一个系数集或者预定数量的两个或更多系数集被由此存储在系数存储器203中时,直接通过反向小波变换处理执行反向小波变换。
[0095] 反向小波变换处理从系数存储器203中读出系数nA(i,j)、nB(i,j)、nC(i,j),并且从子带存储器202读出相应的nLL子带系数nL(i,j)(步骤S35)。反向小波变换处理对已读出的nL(i,j)、nA(i,j)、nB(i,j)、nC(i,j)执行反向小波变换,并在子带存储器202中存储作为(n-1)LL子 带的系数(n-1)L(i,j)的结果(步骤S36)。接着,相同坐标系数解码处理检验层次n中的所有坐标上的解码是否完成(步骤S37)。
[0096] 如果层次n中的所有坐标上的解码未完成(步骤S37中的否),则坐标(i,j)在扫描线方向被移位一个预定数(步骤S38),并且重复上述步骤S34至S38,直至层次n中的所有坐标上的解码完成。
[0097] 如果层次n中的所有坐标上的解码完成(步骤S37中的是),则检验本层次n是否已经达到对应于将要输出的分辨率的层次ND(步骤S39)。如果n还没有到达ND(步骤S39中的否),则n递减1(步骤S40),并且把将要从子带nLH、nHL和nHH中提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S301)。步骤S34至S40和S301被重复,直至n达到ND,而层次n每次降低1层。
[0098] 如果层次n已经到达具有待输出的分辨率的层次ND(步骤S39中的是),图像输出处理从子带存储器202读出(n-1)LL子带数据,并且向图像输出设备204输出已读出的数据,由此显示图像(步骤S302)。
[0099] 接着,检验层次n是否为最大分辨率的n=1(步骤S303)。如果层次n未达到1(步骤S303中的否),则意味着待解码的子带保持(原状态),所以返回到步骤S40,以重复步骤S34至S40以及步骤S301至S303,直至层次n达到1。如果作为最高分辨率级的层次n=1中的子带的解码被完成(步骤S303中的是),则终止该处理。
[0100] 请注意,在上述解释中,解码是在所有码被完全输入后执行的,但是也能够在每次从初始码开始顺序输入预定数量码时执行解码。这种流式传输的使用能够使得它降低输入码存储器的使用量,并降低解码启动延迟。
[0101] 请注意,在上述解释中,输入码序列被存储在输入码存储器中以及nLL子带系数被存储在nLL子带存储器中,但是本发明不限于该存储方法。例如,还能够使用通过共享这些存储器的部分降低存储器使用量的方法。
[0102] 此外,在该实施例中,可以按以下顺序排列编码设备的系数编码处理输出的码和解码设备的系数解码处理输入的码:
[0103] (a)LH系数的(Y,Cb,Cr),HL系数的(Y,Cb,Cr),HH系数的(Y,Cb,Cr);或者 [0104] (b)Y分量的LH、HL和HH系数,Cb分量的LH、HL和HH系数,以 及Cr分量的LH、HL和HH系数。
[0105] 如果执行编码和解码的CPU适应于把相同运算应用于多个数据序列的SIMD(单个指令流/多个数据流)指令,则使用码顺序(a)是有效的。如果CPU不适应SIMD指令并且CPU的运算寄存器的比特数量少,则按照码顺序(b)对每个系数的每个分量执行运算是有效的。
[0106] (1.3)效果
[0107] 在第一实施例的编码设备和编码控制中,存储通过小波变换图像数据而获得的LH、HL和HH子带系数,顺序读出和至少一次一集地编码对应于图像中相同位置的系数集,并且把代码存储在输出码存储器中。
[0108] 由于顺序编码是可能的,因此CPU的高速寄存器或者高速缓存存储器可以用作存储待编码的系数的系数存储器,所以可以增加编码速度。
[0109] 在第一实施例的解码装置和解码控制中,通过系数解码处理解码的并对应于相同图像位置的一个或多个LH、HL和HH子带系数集被读出到系数存储器(是诸如寄存器的高速存储器),并且被直接反向小波变换。所以,降低由顺序CPU向实存储器存储/加载的次数是可能的,并且大幅增加解码速度。
[0110] 此外,由于LH、HL和HH子带中相同图像位置上的系数被同时顺序解码,因此在LH、HL和HH子带的数据解码完成之前,这些系数不需要被保持。
[0111] 此外,反向小波变换处理按扫描线顺序连续读出LL子带,并且把运算结果连续输出到nLL子带的两条扫描线上。这使得增加高速缓存存储器的效率成为可能,并提高了处理速度。
[0112] 此外,不输出用于每个块或贴图的像素,而是按照扫描线顺序输出像素,所以即使显示解码的中间结果,也不会在已解码区域与未解码区域之间的边界产生阶梯噪声。 [0113] 2.第二实施例
[0114] 2.1)编码设备
[0115] 图6是显示本发明第二实施例的编码设备的结构的概况的方框图。该 编码设备从图像输入设备(未显示)接收作为二维信号的代表实例的图像数据10,并且通过小波编码(将在下面说明)输出码序列。编码设备主要包括数据处理器301、LL子带存储器302、系数存储器303和输出码存储器304,并且向码输出设备305输出已生成的码序列。 [0116] 数据处理器301是程序控制处理器如通用CPU,并且通过从程序存储器(未显示)读出编码程序以及运行已读出的程序(下面将描述细节),可以生成像素提取处理(像素提取(元素提取)装置301a)、小波变换(在该实施例中,是二维Haar小波变换)处理(小波变换装置301b)、系数编码处理(系数编码装置301c)、初始系数编码处理(初始系数编码装置301d)以及码输出处理(码输出装置301e)。
[0117] LL子带存储器302、系数存储器303和输出码存储器304可以由分立存储器构成,并且还可以通过在一个半导体存储器中分配各自空间来形成。请注意,在本发明中,CPU的寄存器和高速缓存存储器可以用作系数存储器303,下面将详细进行说明。
[0118] LL子带存储器302存储作为0LL子带数据的输入图像数据10,并且还顺序存储通过对部分区域(2m×2)执行二维Haar小波变换获得的nLL子带系数(1≤n≤N),所述部分区域(2m×2)是通过像素提取处理顺序提取的,从而最终存储NLL子带系数。在第二实施例的编码设备中,像素提取处理从(n-1)LL子带系数顺序提取空间邻近的2m×2像素部分区域,并且对所提取的部分区域执行二维Haar小波变换,由此获得nLL子带系数。2m×2部分区域是沿着从图像的左上端到右下端的扫描线方向提取的。
[0119] 系数存储器303存储通过二维Haar小波变换获得的一个层次的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{LH(i,j),HL(i,j),HH(i,j)}。请注意,也可以存储预定数量的两个或更多个系数集。如上所述,当CPU的高速缓存存储器用作系数存储器303时,如果高速缓存存储器具有可用空间,则可以存储多个系数集。
[0120] 输出码存储器304具有(nLH、nHL、nHH)子带码存储器304.1和用于初始输出码的NLL子带码存储器304.2。(nLH,nHL,nHH)子带码存储器304.1存储由系数编码处理通过编码顺序读出到系数存储器303的相同 坐标系数集而获得的码(nLH,nHL,nHH)c。NLL子带码存储器304.2存储由数据处理器301的初始系数编码处理通过编码NLL子带而获得的子带码NLLc。
[0121] (编码控制)
[0122] 图7是显示该实施例中编码控制的流程图。
[0123] 首先从诸如照相机或扫描仪的图像输入设备输入图像数据10,并将其作为0LL子带存入LL图像存储器302(步骤S41)。
[0124] 数据处理器301上的像素提取处理把指示分辨率级(层次)的变量n设置到1,并且把将从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S42)。
[0125] 接着,像素提取处理从LL子带存储器302中的(n-1)LL子带顺序提取相对于坐标(i,j)的空间相邻2m×2像素部分区域(步骤S43)。例如,当n=1,m=1以及i=j=0时,如图6所示,从0LL子带(输入图像数据10)提取左上2×2部分区域(H1、H2、H3、H4)。
[0126] 小波变换处理对所提取的2m×2部分区域执行二维Haar小波变换(步骤S44),把通过变换获得的LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)存储到系数存储器303中,并且把LL系数nL(i,j)作为nLL子带存入LL子带存储器302(步骤S45)。 [0127] 接着,小波变换处理调用系数编码处理,并且系数编码处理从系数存储器303读出系数集nA(i,j)、nB(i,j)、nC(i,j),对已读出系数执行可变长度编码,并且把代码存储在输出码存储器304的子带码存储器304.1中(步骤S46)。当从系数存储器303读出的系数集的该编码完成时,像素提取处理检验层次n上的所有坐标上的编码是否被完成(步骤S47)。
[0128] 如果层次n中的所有坐标上的编码未完成(步骤S47中的否),则在扫描线方向移位提取的坐标(i,j)一个预定数(步骤S48),并且重复上述步骤S42至S48,直至层次n中的所有坐标上的编码被完成。
[0129] 如果层次n中的所有坐标上的编码被完成(步骤S47中的是),则检验本层次n是否为具有最低分辨率级的层次N(步骤S49)。如果n未达到N(步骤S49中的否),则n递增1,并且把空间坐标(x,y)初始化 到原点(I=j=0)(步骤S50)。在层次n每次被如此增加1的同时,重复步骤S43至S50。
[0130] 如果最低分辨率级N的子带的编码完成(步骤S49中的是),初始系数编码处理开始编码存储在LL子带存储器302中的NLL子带系数,并且把代码存入输出码存储器304的NLL子带码存储器304.2中(步骤S401)。
[0131] 接着,码输出处理把待输出的层次n设置到最低分辨率级N(步骤S402),从输出码存储器304的子带码存储器304.1和NLL子带码存储器304.2中以分辨率的升序读出层次n的代码,并输出所读出的代码(步骤S403至S405)。也就是,当输出层次n的子带码时(步骤S403),码输出处理检验层次n是否已经达到最高分辨率级n=1(步骤S404)。如果层次n没有达到1(步骤S404中的否),则层次n降低1(步骤S405),以及流返回到步骤S403。因而在n=1之前,重复步骤S403至S405,由此顺序输出所有代码。
[0132] 如上所述,像素提取处理可以提取2m×2部分区域。可以根据CPU确定m的值。例如,如果CPU支持把相同运算应用于多个数据序列的SIMD指令,则能够通过设置例如m=2,提取4×2单位的部分区域,并且同时执行多个小波运算,由此增加运算效率。 [0133] 请注意,在上述解释中,每个分辨率的低频分量被存储在nLL子带存储器中,但是本发明不限于该存储方法。例如,使用通过共享这些存储单元降低存储器使用量的方法也是可能的。
[0134] 2.2)解码设备
[0135] 该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0136] 2.3)效果
[0137] 在该实施例的编码设备和编码控制中,在对通过像素提取处理提取的2m×2像素区域执行小波运算之后,在小规模高速存储器(系数存储器303)如寄存器上直接编码LH、HL、HH系数。这使得高速编码是可行的,并且消除了存储LH、HL和HH子带的实存储器的需要。
[0138] 请注意在该实施例中,流式传输是不可能的,因为在开始码输出之前,必须暂时存储所有输出码。较之在第一实施例执行流式传输的情况,这增加了用于暂时存储的存储器(输出码存储器304)。然而,由于通过可变长度编码降低了这些码的冗余,因此整个存储器容量可以做得小于直接存储子带的第一实施例的存储器容量。
[0139] 2.4)实际例子
[0140] 下面将参照附图解释上述的第一和第二实施例的实际例子。
[0141] 图8是示意显示本发明第一和第二实施例的编码和解码操作的附图。假定该实际例子使用摄像机作为图像输入设备,使用个人计算机作为数据处理器101、201和301,使用半导体存储器(包含在个人计算机中)作为数据存储设备102至104,202、203和302至304,使用有线和无线网络通信控制器作为码输出设备105和305。
[0142] 在编码设备中,个人计算机具有实现图像输入、小波运算、初始系数编码、系数提取、系数编码和码输出功能的CPU。
[0143] 首先,当从摄像机供应由亮度/颜色差值空间代表的输入图像10时,图像输入处理把图像数据(0LL)存储在半导体存储器中。所存储的图像10具有像素H1、H2、…,每个像素由Y、Cb和Cr的数值数据(H1#Y,H1#Cb,H1#Cr,…)或者Y、Cb和Cr构成。 [0144] 输入图像10通过小波运算经历二维Haar小波变换,并且把结果作为nLL、nLH、nHL和nHH系数Z101、Z102、Z103、Z104存入半导体存储器中。特别是,首先按照从左上端原点开始的顺序对像素H1、H2、H3、H4的Y、Cb、Cr分量执行小波运算,并且把Y、Cb和Cr的系数值写入L1、A1、B1和C1。然后,对像素H5、H6、H7、H8的Y、Cb、Cr分量执行小波运算,并且把Y、Cb和Cr的系数值写入L2、A2、B2和C2。对图像的右下端重复上述处理。对LL子带重复上述的小波变换,从而形成多分辨率数据。
[0145] 当小波变换完成时,初始系数编码处理从具有作为最低分辨率的分辨率级N的LL子带(图8中的1LL子带)的原点(x,y)=(0,0)顺序读出系数值,并且对读出的系数值执行可变长度编码。该处理所获得的码Z105被存入图8所示的1LL码存储器中。 [0146] 此外,按照从分辨率级N开始的顺序编码子带LH、HL和HH子带。在该编码LH、HL和HH子带中,按照从原点开始的顺序提取对应于空间坐标的系数,并通过可变长度编码对其编码。特别是,通过系数提取处理提取对应于(x,y)=(0,0)的系数A1、B1和C1,并且由系数编码处理通过可变长度编码对其编码。
[0147] 然后,提取和编码对应于(x,y)=(1,0)的系数A2、B2和C2。对子带的右下端执行上述处理,并且在(LH,HL,HH)码存储器中存储所获的码Z106。
[0148] 最终,码输出处理顺序向通信路径输出LL码存储器和(LH,HL,HH)码存储器的内容。
[0149] 在解码设备中,个人计算机具有实现码输入、初始系数解码、系数解码、反向小波运算和图像输出的功能的CPU。
[0150] 当从通信路径供应代码时,码输入处理把代码Z105和Z106存入半导体存储器中。在图8所示的实例中,1LL码和(1LH、1HL、1HH)码被存储。
[0151] 输入码Z105通过初始系数解码处理来解码,并且其结果被输入给半导体存储器中的LL子带存储器。
[0152] 然后,把(LH、HL、HH)码数据Z106顺序地供应给系数解码处理,并且解码系数值。接着,反向小波运算处理对已解码系数和LL子带存储器中的系数的集执行二维Haar反向小波运算,并且把结果输出给0LL子带存储器。特别是,在顺序解码系数值A1、B1和C1之后,使用系数值L1、A1、B1和C1执行反向小波运算,并且向H1、H2、H3、H4输出运算结果。
然后,在顺序解码系数值A2、B2和C2之后,使用系数值L2、A2、B2、C2执行反向小波运算,并且向H5、H6、H7、H8输出运算结果。对子带的末端重复上述操作。
[0153] 如果高分辨率子带码存在,则重复地应用上述的反向小波变换,并且顺序解码多分辨率图像。
[0154] 当每个分辨率级的子带的解码完成时,图像输出处理把图像输出给液晶显示器。 [0155] 下面将参考图8解释本发明的编码方法的第二实例。请注意,该实例的个人计算机具有一个实现图像输入、像素提取、小波运算、系数编码、初始系数编码和码输出的功能的CPU。
[0156] 当亮度/颜色差空间所代表的图像10作为输入图像从摄像机提供时,图像输入处理把图像数据存入半导体存储器中。
[0157] 像素提取处理通过每次提取2×2像素,提取输入图像10,并且把所提取的像素供应给执行小波运算和编码的小波运算处理。特别是,像素H1、H2、H3、H4首先被供应给小波运算处理并且被编码,然后,将H5、H6、H7、H8供应给小波运算处理并且被编码。 [0158] 当2×2像素被供应时,小波运算处理对这些像素执行二维Haar小波变换,从而获得系数L1、A1、B1、C1。系数编码处理顺序编码A1、B1、C1,并且把(LH、HL、HH)码Z106存入输出码存储器中。
[0159] 对图像的末端重复上述处理。此外,小波运算和编码被重复地应用于如此生成的nLL子带,由此生成多分辨率码。
[0160] 然后,初始系数编码处理从具有作为最低分辨率的分辨率级N的LL子带(图8中的1LL子带存储器)的原点(x,y)=(0,0)读出系数值,并且对已读出的系数值执行可变长度编码。所获得的码被存储在图8中的1LL码存储器中。
[0161] 最后,码输出处理按照从分辨率级N开始的顺序重排半导体存储器中存储的码数据,并且把LL码存储器和(LH,HL,HH)码存储器中的数据输出给通信路径。 [0162] 3.第三实施例
[0163] 3.1)编码设备
[0164] 图9是显示本发明第三实施例的编码设备的结构的概况的方框图。该编码设备从图像输入设备(未显示)接收作为二维信号的代表实例的图像数据10,并且通过小波编码(将在下面说明)输出码序列。编码设备主要包括数据处理器401、LL子带存储器402、系数存储器403、输出码存储器404和像素细化映象存储器405,并且向码输出设备406输出已生成的码序列。
[0165] 数据处理器401是程序控制处理器如通用CPU,并且通过从程序存储器(未显示)读出编码程序以及运行所读出的程序(下面将描述细节),可以生成像素细化映象生成处理(像素细化映象生成装置401a)、像素细 化提取处理(像素细化提取装置401b)、小波变换(在该实施例中,是二维Haar小波变换)处理(小波变换装置401c)、系数编码处理(系数编码装置401d)、初始系数编码处理(初始系数编码装置401e)以及码输出处理(码输出装置401f)。
[0166] LL子带存储器402、系数存储器403和像素细化映象存储器405可以由分立存储器构成,并且还可以通过在一个半导体存储器中分配各自空间来形成。请注意,在本发明中,CPU的寄存器或高速缓存存储器可以用作系数存储器403,下面将详细说明。 [0167] LL子带存储器402存储作为0LL子带数据的输入图像数据10,并且还顺序存储通过对部分区域(2m×2)执行二维Haar小波变换获得的nLL子带系数(1≤n≤N),所述部分区域(2m×2)是通过像素细化提取处理顺序提取的,从而最终存储NLL子带系数。在第三实施例的编码设备中,像素细化提取处理从(n-1)LL子带系数顺序提取2m×2像素部分区域,使所提取的部分区域细化,并且对结果执行二维Haar小波变换,由此获得nLL子带系数。2m×2像素部分区域是沿着扫描线方向顺序提取的。
[0168] 系数存储器403存储通过二维Haar小波变换获得的一个层次的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{LH(i,j),HL(i,j),HH(i,j)}。请注意,预定数量的两个或更多个系数集也可以被存储。例如,邻近{LH(i,j),HL(i,j),HH(i,j)}的一个或多个系数集也可以被提取以及被存储在系数存储器403中。如上所述,当CPU的高速缓存存储器用作系数存储器403时,如果高速缓存存储器具有可用空间,则可以存储多个系数集。
[0169] 输出码存储器404具有(nLH、nHL、nHH)子带码存储器404.1和用于初始输出码的NLL子带码存储器404.2。(nLH,nHL,nHH)子带码存储器404.1存储由系数编码处理通过编码顺序读出到系数存储器403的相同坐标系数集而获得的码(Nlh,nHL,nHH)c。NLL子带码存储器404.2存储由数据处理器401的初始系数编码处理通过编码NLL子带系数而获得的子带码NLLc。
[0170] 像素细化映象存储器405是通过像素细化映象生成处理(将在下面说明)生成的,并且存储图像的每个部分的分辨率级。因此,通过搜索像素 细化映象存储器405,可以确定是否对已提取的部分区域执行像素细化处理(下面将解释细节)。
[0171] (编码控制)
[0172] 图10是显示该实施例中编码控制的流程图。
[0173] 首先,从诸如照相机或扫描仪的图像输入设备输入图像数据10,并将其作为0LL子带存入LL子带存储器402(步骤S51)。
[0174] 当图像被输入时,数据处理器401上的像素细化映象生成处理装载0LL子带数据,生成指示在编码前细化各坐标上像素的分辨率级的像素细化映象,并且把已生成的映象存储在像素细化映象存储器405中(步骤S52)。
[0175] 例如,当一个图像包含字符二进制区域和颜色和色调细微改变的照片时,通过检测邻近元素值的位移或者通过分析特征量如边缘强度,能够辨别照片区域和字符区域。通过生成像素细化映象,使得照片区域的分辨率低于字符区域的分辨率,可以降低代码量,同时抑制视觉质量恶化。
[0176] 像素细化提取处理把指示分辨率级(层次)的变量n设置到1,并且把将要从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S53)。 [0177] 接着,像素细化提取处理从LL子带存储器402中的(n-1)LL子带提取对应于坐标(i,j)的2m×2像素部分区域(步骤S54)。例如,当n=1,m=1以及i=j=0时,如图9所示,从0LL子带提取左上2×2部分区域(H1、H2、H3、H4)(输入图像数据10)。 [0178] 当提取部分区域时,像素细化提取处理从像素细化映象存储器405读出对应于已提取的部分区域的坐标的分辨率级,并且用分辨率级的值检验已提取的部分是否为像素细化的对象(步骤S55)。如果已提取的部分是细化的对象(步骤S55中的是),则通过预定的细化处理细化这些像素(步骤S56),并且对已细化的像素值执行小波变换(步骤S57)。
如果已提取部分不是细化的对象(步骤S55中的否),则执行小波变换,同时使已提取部分的像素值值保持不变(步骤S57)。请注意,细化运算不被特别限制。把已提取区域中的一个像素值用作代表值,或者计算所有已提取像 素值的平均数是可能的。
[0179] 例如,如果2×2已提取像素是待细化的像素,则它们作为具有它们的像素值的平均值的2×2像素被供应给小波运算处理。如果它们不是待细化的像素,则2×2像素的像素值被直接供应给小波运算处理。
[0180] 小波变换处理对已提取的2m×2像素部分区域执行二维Haar小波变换(步骤S57),把通过变换获得的LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)存储到系数存储器403中,并且把LL系数nL(i,j)作为nLL子带存入LL子带存储器402(步骤S58)。 [0181] 接着,小波变换处理调用系数编码处理,并且系数编码处理从系数存储器403读出系数集nA(i,j)、nB(i,j)、nC(i,j),对已读出系数执行可变长度编码,并且把代码存储在输出码存储器404的子带码存储器404.1中(步骤S59)。当该读出到系数存储器403的系数集的编码完成时,像素细化提取处理检验层次n上的所有坐标上的编码是否被完成(步骤S60)。
[0182] 如果层次n中的所有坐标上的编码未完成(步骤S60中的否),则在扫描线方向移位所提取的坐标(i,j)一个预定数(步骤S501),并且重复上述步骤S54至S60和S501,直至层次n中的所有坐标上的编码被完成。
[0183] 如果层次n中的所有坐标上的编码被完成(步骤S60中的是),则检验本层次n是否为具有最低分辨率级的层次N(步骤S502)。如果n未达到N(步骤S502中的否),则n递增1,并且把空间坐标(x,y)初始化到原点(i=j=0)(步骤S503)。在层次n每次被如此增加1的同时,重复上述的步骤S54至S60和S501至S503。
[0184] 如果最低分辨率级N的子带的编码完成(步骤S502中的是),则初始系数编码处理开始编码存储在LL子带存储器402中的NLL子带系数,并且把代码存入输出码存储器404的NLL子带码存储器404.2中(步骤S504)。
[0185] 步骤S504至S508与图7中的步骤S401至S405相同,所以将省略对其解释。 [0186] 在该实施例中,像素细化映象生成处理中的分辨率级确定方法不被限制。例如,在包含照片/自然图片区域和字符/曲线区域的图像中,可以根据图像观看者的意图,制作彼此不同的照片/自然图片区域的分辨率级和 字符/曲线区域的分辨率级。此外,通过降低诸如具有中等亮度变化的照片/自然图片区域的区域的分辨率,可以降低代码量,同时抑制感知质量恶化。
[0187] 使图像中邻近元素值的位移比较大的区域的分辨率不同于移位比较小的区域的分辨率,也是可能的。特别是,位移是比较小的区域的分辨率可以被设置得低于位移是比较大的区域。可以根据邻近元素值的位移大于或小于预置阈值来确定邻近元素值的位移的度量。
[0188] 3.2)解码设备
[0189] 该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0190] 3.3)效果
[0191] 在该实施例的编码设备和编码控制中,如同在第一实施例中,能够增加编码处理的速度和减少必需的存储器,还能够如上所述,以像素细化提取处理的对应于部分区域的不同分辨率级编码图像。
[0192] 在此情况中,同时执行像素细化和提取,所以可以最小化通过细化产生的处理负荷。这使得仅仅对观看者感兴趣的区域或者字符或细节是重要的区域进行高分辨率编码,成为可能,并且降低了其它区域的代码量,由此可以减少感知的等候时间。特别是,在包含照片和自然图片区域和字符/曲线区域的图像中,通过细化照片/自然图片区域中许多像素,可以减少代码量,同时维持理解图像意思(例如,识别对象的概况或阅读字符)的最小必需信息。
[0193] 请注意,上述的与细化有关的处理的步骤S52、S55和S56还可以应用于图3所示的第一实施例的编码控制流。
[0194] 特别是,在图3中的图像数据输入步骤S11之后,插入像素细化映象生成步骤S52。此外,在相同坐标系数提取步骤S15中,相同坐标系数提取处理参照像素细化映象,并且如果细化不是必需则直接提取系数,或者如果细化是必需的,则在把它们细化到坐标的分辨率集之后,提取系数。
[0195] 3.4)实际例子
[0196] 图11是示意显示本发明第三实施例的编码和解码操作的附图。假定该实际例子使用摄像机作为图像输入设备,使用个人计算机作为数据处理器401,使用半导体存储器(包含在个人计算机中)作为数据存储设备402至405,使用有线和无线网络通信控制器作为码输出设备406。除了作为数据处理器401的个人计算机具有像素细化映象生成和像素细化提取的功能外,该实际实例的基本配置与第二实际实例相同。
[0197] 参见图11,当输入图像10从摄像机供应时,图像输入处理把图像数据存储在半导体存储器中。像素细化映象生成处理分析诸如输入图像的边缘强度的特征量,分离照片区域和字符区域,并生成像素细化映象Z202,其中以分辨率级2设置照片区域,以分辨率级1设置字符区域。
[0198] 像素细化提取处理通过使用输入图像10和像素细化映象Z202提取分别具有2×2像素的诸像素区域,并且如果图像区域是照片区域,则通过细化像素执行小波运算和编码,或如果像素区域是字符区域,则直接执行小波运算和编码。
[0199] 输出码序列由解码设备解码,以获得仅仅降低照片区域分辨率的已解码图像Z203。
[0200] 4.第四实施例
[0201] 4.1)编码设备
[0202] 图12是显示本发明第四实施例的编码设备的结构的概况的方框图。该编码设备从诸如摄像机的图像输入设备(未显示)接收作为二维信号的代表实例的图像数据10,并且通过小波编码(将在下面说明)输出码序列。编码设备主要包括数据处理器501、LL子带存储器502、系数存储器503、输出码存储器504、像素细化映象存储器505和后续帧数据存储器506,并且向码输出设备507输出已生成的码序列。
[0203] 数据处理器501是程序控制处理器如通用CPU,并且通过从程序存储器(未显示)读出编码程序以及运行已读出的程序(下面将描述细节),可以生成更新区域检测处理(更新区域检测装置501a)、像素细化映象生成处理(像素细化映象生成装置501b)、像素细化提取处理(像素细化提 取装置501c)、小波变换(在该实施例中,是二维Haar小波变换)处理(小波变换装置501d)、系数编码处理(系数编码装置501e)、初始系数编码处理(初始系数编码装置501f)以及码输出处理(码输出装置501g)。
[0204] LL子带存储器502、系数存储器503、输出码存储器504、像素细化映象存储器505和后续帧数据存储器506可以由分立存储器构成,并且还可以通过在一个半导体存储器中分配各自空间来形成。请注意,在本发明中,CPU的寄存器或高速缓存存储器可以用作系数存储器503,下面将详细进行说明。
[0205] LL子带存储器502存储作为0LL子带数据的输入图像数据10,并且还顺序存储通过对部分区域(2m×2)执行二维Haar小波变换获得的nLL子带系数(1≤n≤N),所述部分区域(2m×2)是通过像素提取处理顺序提取的,从而最终存储NLL子带系数。在第四实施例的编码设备中,像素细化提取处理从(n-1)LL子带系数顺序提取2m×2像素部分区域,使所提取的部分区域细化,并且对结果执行二维Haar小波变换,由此获得nLL子带系数。部分区域(2m×2)是沿着扫描线方向顺序提取的。
[0206] 系数存储器503存储通过二维Haar小波变换获得的一个层次的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{LH(i,j),HL(i,j),HH(i,j)}。请注意,预定数量的两个或更多个系数集也可以被存储。例如,邻近{LH(i,j),HL(i,j),HH(i,j)}的一个或多个系数集也可以被提取以及被存储在系数存储器503中。如上所述,当CPU的高速缓存存储器用作系数存储器503时,如果高速缓存存储器具有可用空间,则可以存储多个系数集。
[0207] 输出码存储器504具有(nLH、nHL、nHH)子带码存储器504.1和用于初始输出码的NLL子带码存储器504.2。(nLH,nHL,nHH)子带码存储器504.1存储由系数编码处理通过编码顺序读出到系数存储器503的相同坐标系数集而获得的码(Nlh,nHL,nHH)c。NLL子带码存储器504.2存储由数据处理器501的初始系数编码处理通过编码NLL子带系数而获得的子带码NLLc。
[0208] 像素细化映象存储器505是通过像素细化映象生成处理(将在下面说明)生成的,并且存储图像的每个部分的分辨率级。因此,通过搜索像素 细化映象存储器505,可以确定是否对已提取的部分区域执行像素细化处理(下面将解释细节)。
[0209] 当连续输入图像数据10的多个帧时,后续帧数据存储器506存储LL子带存储器502中存储的当前帧之后的输入帧数据。
[0210] 数据处理器501上的更新区域检测处理从本输入帧和后续帧数据存储器506的内容中,检测后续帧中的像素值变化区域(更新区域、变化区域)。
[0211] 根据检测的已更新区域的信息,像素细化映象生成处理生成系数细化映象,在该映象中,更新区域的分辨率不同于其它区域的分辨率。特别是,更新区域是以低分辨率设置的,并且其它区域是以高分辨率设置的。
[0212] (编码控制)
[0213] 图13是显示该实施例中编码控制的流程图。
[0214] 首先,当从诸如照相机或扫描仪的活动图像输入设备输入活动图像数据10时,待编码的帧数据作为0LL子带存入图像存储器502,并且把后续帧数据存入后续帧数据存储器506中(步骤S61)。
[0215] 已更新区域检测处理根据LL子带存储器502中存储的0LL子带数据和后续帧数据存储器中存储的后续帧数据,检测已更新区域(步骤S62)。已更新区域检测方法的实例是计算两帧图像之差。
[0216] 像素细化映象生成处理生成像素细化映象,在该映象中,以低分辨率设置已检测的更新区域和以高分辨率设置其它区域,并且把所生成的映象存储在像素细化映象存储器505中(步骤S63)。
[0217] 接着,像素细化提取处理把指示分辨率级(层次)的变量n设置到1,并且把将要从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S64)。
[0218] 像素细化提取处理随后从LL子带存储器502中的(n-1)LL子带顺序提取对应于坐标(i,j)的2m×2像素部分区域(步骤S54)。例如,当n=1,m=1以及i=j=0时,如图12所示,从0LL子带提取左上2×2部分区域(H1、H2、H3、H4)(输入图像数据10)。 [0219] 当提取部分区域时,像素细化提取处理从像素细化映象存储器505读出对应于已提取的部分区域的坐标的分辨率级,并且用分辨率级的值检验 已提取部分是否为像素细化的对象(步骤S66)。如果已提取部分是细化的对象(步骤S66中的是),则通过预定的细化处理细化这些像素(步骤S67),并且对已细化的像素值执行小波变换(步骤S68)。如果已提取部分不是细化的对象(步骤S66中的否),则执行小波变换,同时使已提取部分的像素值值保持不变(步骤S68)。请注意,细化运算不被特别限制。把已提取区域中的一个像素值用作代表值,或者计算所有已提取像素值的平均数是可能的。
[0220] 例如,如果2×2已提取像素是待细化的像素,则它们作为具有像素值的平均值的2×2像素被供应给小波运算处理。如果它们不是待细化的像素,则2×2像素的像素值被直接供应给小波运算处理。
[0221] 小波变换处理对已提取的2m×2像素部分区域执行二维Haar小波变换(步骤S68),把通过变换获得的LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)存储到系数存储器503中,并且把LL系数nL(i,j)作为nLL子带存入LL子带存储器502中(步骤S69)。
[0222] 接着,小波变换处理调用系数编码处理,并且系数编码处理从系数存储器503读出系数集nA(i,j)、nB(i,j)、nC(i,j),对已读出系数执行可变长度编码,并且把代码存储在输出码存储器504的子带码存储器504.1中(步骤S70)。当该读出到系数存储器503的一个或预定数量的两个或更多系数集的编码完成时,像素细化提取处理检验层次n的所有坐标上的编码是否被完成(步骤S71)。
[0223] 如果层次n中的所有坐标上的编码未完成(步骤S71中的否),则在扫描线方向移位提取坐标(i,j)一个预定数(步骤S72),并且重复上述步骤S65至S72,直至层次n中的所有坐标上的编码被完成。
[0224] 如果层次n中的所有坐标上的编码被完成(步骤S71中的是),则检验本层次n是否为具有最低分辨率级的层次N(步骤S73)。如果n未达到N(步骤S73中的否),则n被递增1,并且把空间坐标(x,y)初始化到原点(i=j=0)(步骤S74)。在层次n每次被如此增加1的同时,重复上述的步骤S65至S74。
[0225] 如果最低分辨率级N的子带的编码完成(步骤S73中的是),则初始系数编码处理开始编码存储在LL子带存储器502中的NLL子带系数,并 且把代码存入输出码存储器504的NLL子带码存储器504.2中(步骤S75)。
[0226] 步骤S75至S79与图7中的步骤S401至S405相同,所以将省略对其解释。 [0227] 请注意,该实施例中使用的后续帧信息可以是后续帧的图像数据或者信号值将被更新的更新区域的坐标信息。当图像数据用作后续帧信息时,通过计算当前帧图像与后续帧图像之差,可以检测更新区域。当更新区域的坐标信息被使用时,该更新区域可以被直接用作更新区域。
[0228] 把多个帧而不是单个帧用作后续帧信息也是可能的。当多个帧被使用时,像素值在每个部分区域中变化的周期被获得,并且根据该变化周期设置像素细化映象的分辨率。特别是,具有长像素变化周期的区域(即像素在长时间周期变化的区域)的分辨率被降低。
通过如此生成像素细化映象,可以进一步降低代码量。
[0229] 上述的第四实施例中涉及已更新区域检测和细化的处理的步骤S61至S63、S66和S67还可以应用于图3所示的第一实施例的编码控制流。
[0230] 4.2)解码设备
[0231] 通过该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0232] 4.3)效果
[0233] 在第四实施例的编码设备和编码控制中,如同在第一实施例中,能够增加编码处理的速度和减少必需的存储器,并且还能够当后续帧被编码时,检测作为已更新区域的被后续帧图像改写的区域,并且生成以低分辨率设置已更新区域和以高分辨率设置其它区域的像素细化映象,由此降低已更新区域的代码量并增加帧速率。尽管已更新区域的分辨率随着与代码量降低的折衷而降低,但是更新区域是将用后续帧重写的区域,所以观看者不会容易地认知视觉指令恶化,即使以低分辨率临时显示图像。
[0234] 4.4)实际例子
[0235] 图14是示意显示控制台屏幕的视图,用于解释本发明第四实施例的 更新区域检测和细化的操作。
[0236] 该实际例子使用摄像机作为图像输入设备,使用工作站的CPU作为数据处理器501,使用半导体存储器(包含在工作站中)作为数据存储设备502至506,使用连接网络的通信控制器作为码输出设备。如上所述,工作站的CPU可以实现更新区域检测、像素细化映象生成、像素细化提取、小波变换、系数编码、初始系数编码和码输出的功能。 [0237] 假设工作站的控制台屏幕用作显示装置,用于示意地显示检测图像中已更新区域和使更新区域细化的处理。图14示意地显示真图像的更新区域被顺序供应、编码和传输的方式。
[0238] Z300代表帧f中的控制台屏幕的状态,Z3000代表帧f中的屏幕Z300的更新区域。Z301代表帧(f+1)中的控制台屏幕的状态,以及Z3010代表帧(f+1)中的屏幕Z301上的已更新区域。Z302代表帧(f+2)中的控制台屏幕的状态,以及Z3020代表屏幕上更新区域。
[0239] 如上所述,当显示帧f时,工作站获得在前的后续帧(f+1)中的更新区域的坐标。也就是,Z3001代表帧f的屏幕Z300上的后续帧(f+1)中的更新区域的位置,以及Z3011同样代表帧(f+1)的屏幕Z301上的后续帧(f+2)中已更新区域的坐标。此外,在帧(f+2)之后的帧中不更新屏幕Z302。
[0240] 帧f中的操作如下。首先,工作站获取输入帧Z3000和后续帧信息Z3001。已更新区域检测处理把Z3000和Z001的重叠区域检测为已更新区域,并且细化映象生成处理生成以分辨率级2设置已更新区域和以分辨率级1设置其它区域的像素细化映象Z310。 [0241] 根据输入图像Z3000和像素细化映象Z310,像素细化提取处理每次提取2×2像素的像素,并且供给小波运算处理,执行小波变换和编码。在像素细化之后,编码分辨率级2上的更新区域。在更新区域中解码和提取如此获得的码,从而获得具有由已更新区域降低的分辨率的显示图像Z320。以上所述是帧f中的操作。
[0242] 类似地,在帧(f+1)中,输入图像Z3010和后续帧信息Z3011的重叠区域被检测为已更新区域,并且生成像素细化映象Z311。结果,获得被已更新区域的分辨率变粗糙的显示图像Z321。
[0243] 在帧(f+2)中,检测不到已更新区域,因为在后续帧中不存在已更新区域。因此,不执行像素细化(Z312)。所以,在屏幕的整个区域上具有高分辨率的解码图像Z322被获得。
[0244] 5.第五实施例
[0245] 5.1)编码设备
[0246] 图15是显示本发明第五实施例的编码设备的结构的概况的方框图。除了数据处理901可以生成系数量子化映象生成处理和系数量子化处理并且具有系数量子化映象存储器905外,该实施例的基本结构与第二实施例相同。
[0247] 也就是,数据处理器901可以生成系数量子化映象生成处理(系数量子化映象生成装置901a),像素提取处理(像素提取装置901b),小波变换(在该实施例中是二维Haar小波变换)处理(小波变换装置901c),系数量子化处理(系数量子化装置901d),系数编码处理(系数编码装置901e),初始系数编码处理(初始系数编码装置901f),以及码输出处理(码输出装置901g)。
[0248] 系数量子化映象存储器905存储包含图像的各自部分中量子化参数的系数量子化映象。因此通过搜索系数量子化映象存储器905,能够获得对像素提取处理所提取的部分区域的系数量子化的精度(下面将说明细节)。请注意,系数量子化映象是通过系数量子化映象生成处理生成的。
[0249] 图16是显示该实施例中的编码控制的流程图。
[0250] 首先,从诸如照相机或扫描仪的图像输入设备输入图像数据10,并且将该图像数据作为0LL子带存储在LL子带存储器902中(步骤S801)。
[0251] 当输入图像时,数据处理器901上的系数量子化映象生成处理装载0LL子带数据,生成指示在编码前使对应于每个空间坐标位置/每个分辨率级的系数细化的量子化精度的系数量子化映象,并把已生成的映象存储在系数量子化映象存储器905中(步骤S802)。 [0252] 像素提取处理把指示分辨率级(层次)的变量n设置到1,并且把从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S803)。
[0253] 接着,像素提取处理从LL子带存储器902中的(n-1)LL子带顺序提取对应于坐标(i,j)的2m×2像素部分区域(步骤S804)。例如,当n=1,m=1以及i=j=0时,如图15所示,从0LL子带提取左上2×2部分区域(H1、H2、H3、H4)(输入图像数据10)(步骤S804)。
[0254] 小波变换处理对已提取的2m×2像素部分区域执行二维Haar小波变换(步骤S805),把通过变换获得的LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)存储到系数存储器903中,并且把LL系数nL(i,j)作为nLL子带存入LL子带存储器902(步骤S806)。
[0255] 系数量子化处理从系数存储器903中读出LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)。此外,系数量子化处理从系数量子化映象存储器905中读出对应于感兴趣的空间坐标/分辨率级的系数量子化参数,以及把LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)量子化到由参数指示的量子化精度。系数存储器903的内容由这些已量子化系数更新(步骤S807)。
[0256] 步骤S808至S817与图7中的步骤S46至S50和S401至S405相同,所以将省略解释。请注意在图15中,参考标号904是指输出码存储器;904.1是指(nLH、nHL、nHH)子带码存储器;904.2是指子带码存储器;906是指码输出设备。
[0257] 如在第三实施例中,也可以生成系数量子化映象,使照片区域的系数量子化精度不同于字符区域。例如,当一个图像包含字符二进制区域和颜色和色调细微变化的照片时,通过检测邻近元素值的位移或者分析诸如边缘强度的特征量,能够辨别照片区域和字符区域。通过生成系数量子化映象,使得照片区域的量子化精度低于字符区域,可以降低代码量,同时抑制视觉质量恶化。
[0258] 还能够使得图像中邻近元素值的位移比较大的区域的系数量子化精度不同于位移比较小的区域的系数量子化精度。特别是,位移比较小的区域的量子化精度可以被设置为低于位移比较大的区域。可以根据邻近元素值的位移大于或小于预置阈值,确定邻近元素值位移的度量。
[0259] 5.2)解码设备
[0260] 该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0261] 5.3)效果
[0262] 在第五实施例的编码设备和编码控制中,如同在第一实施例中,能够增加编码处理的速度和减少必需的存储器,并且还能够通过上述的系数量子化处理,以对应于各部分区域的不同量子化精度编码图像。如同在第三实施例中,这能够仅仅对观看者感兴趣的区域或者字符或细节是重要的区域以高分辨率编码,并且减小其它区域的代码量,由此降低感知的等候时间。
[0263] 此外,第五实施例可以以比第三实施例更细的单位执行质量控制。在第三实施例中,通过以2的幂的单位降低分辨率例如1/2或者1/4,可以降低不感兴趣的区域的质量。因此,分辨率必需减半,即使质量仅仅略微降低。然而在第五实施例中,通过控制量子化精度可以精细地控制诸如蚊子噪声的量子化失真。
[0264] 5.4)实际例子
[0265] 图17是示意显示本发明第五实施例的编码操作的视图。假设该实际例子使用摄像机作为图像输入设备,使用个人计算机作为数据处理器901,使用半导体存储器(包含在个人计算机中)作为数据存储设备902至905,使用有线或无线网络控制器作为码输出设备906。除了作为数据处理器901的个人计算机具有系数量子化映象生成和系数量子化的功能外,该实际实例的基本配置与第二实际例子相同。
[0266] 参见图17,当从摄像机输入输入图像Z401时,图像输入处理把图像数据存储在半导体存储器中。系数量子化映象生成处理分析诸如输入图像的边缘强度的特征量,分离照片区域和字符区域,并生成系数量子化映象Z402,其中以量子化级6(Qstep=6)设置照片区域,以量子化级3(Qstep=3)设置字符区域。
[0267] 像素提取处理和小波变换处理通过使用输入图像Z401提取2×2像素区域,并且执行小波运算。根据从系数量子化映象Z402获得的量子化级 的信息,如果图像区域是照片区域,则系数量子化处理通过六步(台阶)量子化系数值Z403.1,由此获得系数值Z403.2。如果图像区域是字符区域,则系数量子化处理通过三步(台阶)量子化像素,由此获得系数值Z403.3。已量子化的系数被系数编码处理编码。
[0268] 如此输出的码序列被解码设备解码,以获得仅仅照片区域的系数被粗糙量子化的图像。
[0269] 6.第六实施例
[0270] 6.1)编码设备
[0271] 图18是显示本发明第六实施例的编码设备的结构的概况的方框图。除了数据处理器1001可以生成已更新区域检测处理并且具有后续帧数据存储器1006之外,该实施例的基本结构与第五实施例相同。
[0272] 也就是,数据处理器1001可以生成已更新区域检测处理(已更新区域检测装置1001a),系数量子化映象生成处理(系数量子化映象生成装置1001b),像素提取处理(像素提取(元素提取)装置1001c),小波变换(在该实施例中是二维Haar小波变换)处理(小波变换装置1001d),系数量子化处理(系数量子化装置1001e),系数编码处理(系数编码装置1001f),初始系数编码处理(初始系数编码装置1001g),以及码输出处理(码输出装置1001h)。
[0273] 如同在第四实施例中,数据处理器1001上的已更新区域检测处理从本输入图像和后续帧数据存储器1006的内容,检测后续帧中的像素值变化区域(已更新区域,已变化区域)。
[0274] 根据检测的已更新区域的信息,系数量子化映象生成处理生成已更新区域的量子化精度不同于其它区域的量子化精度的系数量子化映象。更具体地说,以低量子化精度设置已更新区域以及以高量子化精度设置其它区域。
[0275] 图19是显示该实施例中编码控制的流程图。
[0276] 首先,当从活动图像输入设备如摄像机输入活动图像数据10时,待编码的帧数据作为0LL子带存储在LL子带存储器1022中,并且把后续帧数据存储在后续帧数据存储器1006中(步骤S901)。
[0277] 已更新区域检测处理根据LL子带存储器1022中存储的0LL子带数据和后续帧数据存储器1006中存储的后续帧数据,检测已更新区域(步骤S902)。已更新区域检测方法的一个实例是计算两个帧图像之差。
[0278] 系数量子化映象生成处理生成系数量子化映象,在该映象中,以低映象精度设置所检测的更新区域以及以高量子化精度设置其它区域,并且把已生成的映象存储在系数量子化映象存储器1005中(步骤S903)。
[0279] 步骤904至S918与图16的步骤S803至S817相同,所以省略对其解释。请注意,在图18中,参考标记1003是指系数存储器;1004是指输出码存储器;1004.1是指(nLH,nHL,nHH)子带码存储器;1004.2是指NLL子带码存储器;以及1007是指码输出设备。 [0280] 请注意,该实施例中使用的后续帧信息可以是信号值被更新的已更新区域的后续帧的图像数据或者坐标信息。当图像数据用作后续帧信息时,通过计算当前帧图像与后续帧图像之差,可以检测已更新区域。当已新区域的坐标信息被使用时,该更新区域可以被直接用作已更新区域。
[0281] 把多个帧而不是单个帧用作后续帧信息也是可能的。当使用多个帧时,像素值在每个部分区域中变化的周期被获得,并且根据该变化的周期设置系数量子化的精度。特别是,具有长像素变化周期(即像素长时间周期变化的区域)的区域的量子化精度被降低。通过由此生成系数量子化映象,可以进一步降低代码量。
[0282] 6.2)解码设备
[0283] 该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0284] 6.3)效果
[0285] 在第六实施例的编码设备和编码控制中,如同在第一实施例中,能够增加编码处理的速度和减少必需的存储器,并且还能够如同在第四实施例中,降低已更新区域的代码量并增加帧速率。
[0286] 此外,第六实施例能够以比第四实施例更细的单位执行质量控制。在第四实施例中,通过以2的幂的单位降低分辨率例如1/2或者1/4,可以 降低未更新区域的质量。因此,分辨率必需减半,即使质量仅仅略微降低。然而在第六实施例中,通过控制量子化精度可以精细地控制诸如蚊子噪声的量子化失真。
[0287] 6.4)实际例子
[0288] 除了作为数据处理器1001的工作站具有系数量子化映象生成和系数量子化的功能外,该实际实例的基本配置与第四实际例子相同。如同第四实际例子,该实际例子可以降低已更新区域的质量,但是通过降低量子化精度而不是如同第四实际例子的分辨率,显示已更新区域.
[0289] 7.第七实施例
[0290] 7.1)编码设备
[0291] 图20是显示本发明第七实施例的编码设备的结构的概况的方框图。除了数据处理器1101可以生成已更新区域检测处理、系数量子化映象生成处理和系数量子化处理,以及具有系数量子化映象存储器1105和后续帧数据存储器1106外,该实施例的基本配置与第一实施例的相同。
[0292] 也就是,数据处理器1101可以生成更新区域检测处理(更新区域检测装置1101a)、系数量子化映象生成处理(系数量子化映象生成装置1101b)、小波变换(在该实施例中是二维Haar小波变换)处理(小波变换装置1101c),相同坐标系数提取处理(相同坐标系数提取装置1101d),系数量子化处理(系数量子化装置1101e),初始系数编码处理(初始系数编码装置1101f),系数编码处理(系数编码装置1101g)以及码输出处理(码输出装置1101h)。
[0293] 如在第四实施例中,数据处理器1101上的已更新区域检测处理依据本输入图像和后续帧数据存储器1106的内容,检测后续帧中的像素值变化区域(已更新区域、已变换区域)。
[0294] 根据所检测的已更新区域的信息,系数量子化映象生成处理生成系数细化映象,其中已更新区域的量子化精度不同于其它区域的量子化精度。特别是,以低量子化精度设置已更新区域,以高量子化精度设置其它区域。已生成的系数量子化映象被存储在系数量子化映象存储器1105中。
[0295] 系数量子化处理从系数存储器1003读出LH系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)。此外,系数量子化处理从系数量子化映象存储器1105中读出对应于空间坐标/分辨率级的系数量子化参数,并且把LH系数系数nA(i,j)、HL系数nB(i,j)和HH系数nC(i,j)量子化到由该参数指示的量子化精度。
[0296] 图21是显示该实施例的编码控制的流程图。
[0297] 首先,当从诸如摄像机的活动图像输入设备输入活动图像数据10,并把待编码的帧数据作为0LL子带存入子带存储器1102,以及把后续帧数据存入后续帧数据存储器1106(步骤S1001)。
[0298] 然后,数据处理器101上的小波变换处理对于从子带存储器1102读出的0LL子带数据执行N阶二维Haar小波变换,并且把变换结果存入子带存储器1102(步骤S1002)。 [0299] 当该二维Haar小波变换完成时,初始系数编码处理从层析N的子带存储器读出初始系数,执行可变长度编码,通过使用行程哈夫曼码或者LZW码执行可变长度编码,并且把代码NLLc(0,0)、NLLc(1,0)、…NLLc(pN,qN)存入输出码存储器104的NLL子带码存储器1104.1中。
[0300] 代码输出处理读出输出码存储器1104中存储的码序列,并把读出的码序列输出给码输出设备1107(步骤S1004)。
[0301] 当初始系数编码完成时,接着编码LH、HL和HH子带。首先,把指示分辨率级(层次)的变量n设置到N,以把层次N的子带LH、HL和HH设置为待编码的对象(n=N),并且相同坐标系数提取处理把将从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S1005)。
[0302] 在该实施例中,在每个分辨率的LH、HL和HH子带的编码被执行前,激活已更新区域检测处理和系数量子化映象生成处理。
[0303] 更新区域检测处理根据LL子带存储器1102中存储的0LL子带数据和后续帧数据存储器1106中存储的帧数据,检测已更新区域。已更新区域检测方法的实例是计算两帧图像之差的方法。
[0304] 系数量子化映象生成处理生成系数量子化映象,以低量子化精度设置已检测更新区域和以高量子化精度设置其它区域,并且把已生成的映象存 入系数量子化映象存储器1105(步骤S1007)。
[0305] 接着,相同坐标系数提取处理从子带存储器1102读出层次n的子带nLH、nHL和nHH中的相同空间坐标(i,j)上的系数集{nA(i,j),nB(i,j),nC(i,j)},并且把读出的系数集存储到系数存储器1103中(步骤S1008)。当一个或多个系数集被如此读出到系数存储器1103时,系数量子化处理开始执行量子化。
[0306] 系数量子化处理从系数存储器1103读出系数集nA(i,j)、nB(i,j)、nC(i,j),并且还读出对应于空间坐标/分辨率级的系数量子化参数,以及把LH系数nA(i,j)、HL系数nB(i,j)、HH系数nC(i,j)量子化到由该参数指示的量子化精度。根据已量子化的系数更新系数存储器1103的内容(步骤S1009)。
[0307] 系数编码处理从系数存储器1103读出系数集nA(i,j)、nB(i,j)、nC(i,j),对所读出的系数执行可变长度编码,并把代码存入输出码存储器1104的子带码存储器1104.2中(步骤S1010)。当读出到系数存储器1103的系数集的编码完成时,相同坐标系数提取处理检验层次n中的所有坐标的编码是否完成(步骤S1011)。
[0308] 如果层次n中的所有坐标上的编码没有完成(步骤S1011中的否),则在扫描线方向移位提取坐标(i,j)一个预定数,并且重复上述步骤S1008至S1012,直至层次n中的所有坐标上的编码被完成。
[0309] 如果层次n中的所有坐标上的编码被完成(步骤S1011中的是),码输出处理读出输出码存储器1104中存储的码序列,并且向码输出设备1107输出读出码序列(步骤S1013)。
[0310] 此外,检验本层次n是否为作为最大分辨率的n=1(步骤S1014)。如果n未达到1(步骤S1014中的否),则n递减1(步骤S1015),并且把将要从子带nLH、nHL和nHH提取的系数的空间坐标(x,y)初始化到原点(i=j=0)(步骤S1016)。在层次n每次被由此降低1的同时,重复步骤S1006至S1016。
[0311] 请注意,在上述解释中,在编码每个分辨率级的LH、HL和HH子带之前,激活更新区域检测处理和系数量子化映象生成处理。然而为了降低激活处理的次数,激活用于每个其它预定分辨率级的这些处理,或者以一个 预定分辨率级或更多分辨率级激活这些处理也是可能的。
[0312] 7.2)解码设备
[0313] 该实施例的编码方法输出的码可以通过图4和图5所示的第一实施例的解码方法解码,所以将省略具体解释。
[0314] 7.3)效果
[0315] 在第七实施例的编码设备和编码控制中,如同在第一实施例中,能够增加编码处理的速度和减少必需的存储器,并且还能够降低已更新区域的代码量并增加帧速率。 [0316] 此外,在第七实施例中,可以把一帧的更宽区域检测为编码期间的已更新区域,所以能够进一步降低代码量并进一步增加帧速率,这基于以下两个原因。
[0317] 首先,在该实施例中,执行已更新区域检测,并生成新系数量子化映象,然后编码每个分辨率的子带LH、HL和HH。所以,当输入图像时,不更新该图像。因此,即使当已更新区域不存在时,如果在执行下一个分辨率级编码之前更新该帧,也可以在下一个分辨率级之后粗略量子化诸系数。因此,可以降低代码量。
[0318] 第二,在该实施例中,以每个分辨率编码的LH、HL和HH子带被直接输出给诸如通信路径的码输出设备1107。由于码输出设备1107的处理速度通常低于数据处理器1101的处理速度,因此码输出产生长等候时间。在该实施例中,即使当帧在码输出周期内被更新,也可以在编码下一个分辨率级之前,直接检测已更新区域。
[0319] 在上述的该实施例中,可以依据编码中间的后续帧平均值检测新更新区域,所以可以进一步降低代码量。
[0320] 请注意,代码量控制方法是在该实施例中使用量子化的方法,甚至使用如第四实施例中的分辨率终止的代码量控制,也可以实现相同帧速率增加效果。
[0321] 7.4)实际例子
[0322] 图22是示意显示控制台屏幕的视图,用来解释本发明第七实施例的已更新区域检测和系数量子化的操作。除了作为数据处理器1101的工作站可以生成系数量子化映象生成处理和系数量子化处理外,该实际例子的基本配置与第四实际例子相同。 [0323] 图22示意地显示顺序供应、编码和传输帧图像的更新区域的方式。Z501、Z502和Z503分别代表帧f、(f+1)和(f+2)中的工作站的控制台屏幕。此外,Z5010、Z5020和Z5030分别代表帧f、(f+1)和(f+2)中编码的区域,以及Z5031代表帧(f+2)中最新供应的后续帧区域。
[0324] 在帧f中,工作站获得输入图像Z501,并且对输入图像Z501的区域Z5010执行小波变换,由此获得各频率子带Z510。此外,工作站通过可变长度编码编码作为最低分辨率的LL分量的Z511,并且向通信路径输出代码。
[0325] 然后,在帧(f+1)中,在编码下一个分辨率级的LH、HL、HH子带之前,工作站的已更新区域检测处理检验是否存在后续帧。由于帧(f+1)没有后续帧,因此系数量子化映象在子带的整个区域上使用高精度量子化级。在该方式中,通过高精度量子化级执行系数量子化,并且系数编码处理编码LH、HL和HH子带Z512,并向通信路径输出代码。 [0326] 最后,在帧(f+2)中,在编码下一个分辨率级的LH、HL和HH子带之前,检验是否存在后续帧。由于帧(f+2)具有后续帧Z5031,因此后续帧存在于子带之内的范围被检测为已更新区域。此外,系数量子化映象被如此生成,所以该已更新区域被粗糙地量子化。在此方式中,用已更新区域中低精度量子化级和其它区域中高精度量子化级执行系数量子化,并且系数编码处理编码LH、HL和HH子带Z513,以及把代码输出给通信路径。
[0327] 解码设备解码由此输出的码序列,以获得仅仅对已更新区域的系数进行粗糙量子化的图像。
[0328] 8.第八实施例
[0329] 在第一至第七实施例中,由编码设备编码的图像数据被解码设备解码。然而,在内置编码设备和解码设备的一个通信终端与另一个通信终端之间执行双向图像通信也是可能的。下面将采用作为实例的连接照相机和 显示器的通信终端(例如,具有照相机的蜂窝电话)解释该通信。
[0330] 图23是本发明第八实施例的内置编码设备和解码设备的双向通信终端的方框图。该终端具有作为程序控制处理器的CPU601,该处理器通过内部总线连接高速缓存存储器602和主存储器603。该内部总线还经由端口连接外部总线604,而外部总线604连接例如存储必需程序的存储器605、数据存储器606、连接照相机608的接口607、连接显示器610的接口609和连接通信控制器612的接口611。通信控制器612连接网络613。当该终端是蜂窝电话机时,通信控制器612包括无线通信单元和信道控制器,并且网络613是移动通信网络。
[0331] 程序存储器605存储编码程序、解码程序和控制通信终端的整个操作的主程序。该编码程序由第一至第七实施例中解释的图3、7、10、13、16、19和21之任何一个所示的流程图表示,解码程序由图5所示的流程图表示。在主程序的处理控制下,执行编码程序和解码程序的上述处理。
[0332] 数据存储器606包括子带存储器606.1和输入/输出编码数据存储器606.2。子带存储器606.1是例如图1中所示的子带存储器102,或者图6中所示的LL子带存储器302。输入/输出编码数据存储器602.2包括:输出码存储器,比如图1或图6所示的输出码存储器104或304;以及输入码存储器,比如图4中所示的0LL子带存储器。
[0333] 此外,照相机608相当于编码设备的图像输入设备,并且显示器610相当于解码设备的图像输出设备204。照相机检测的图像数据按上述方式小波变换和编码,并且码序列经由网络被传送给对方终端。另一方面,从对方接收的图像数据的码序列按上述方式被解码、反向小波变换和显示在显示器610上。操作细节已经在上文中解释,并且高速缓存存储器602可以用作编码和解码的系数存储器。
[0334] 9.第九实施例
[0335] 本发明的编码设备和解码设备可以通过在CPU上执行上述的各种控制程序来实现,但是也可以由硬件来实现。
[0336] 下面将解释由硬件实现上述第一实施例的各处理的结构,但是相同结构适用于其它实施例。
[0337] 图24是显示本发明第九实施例的编码设备的实例的方框图。如上所述,从诸如照相机的图像输入设备701输入的图像数据被存储在图像存储器702中,并且通过小波变换703顺序进行小波变换。如此获得的子带系数LL、LH和HH被存储在子带存储器704中,并且初始系数NLL被初始系数编码器705编码以及被存入输出码存储器709中。此外,相同坐标系数提取器706从子带存储器704提取其它子带LH、HL和HH的相同坐标上的系数集,并且把一个或预定数量的两个或更多系数集存入高速寄存器707中。存入寄存器707的系数集被系数编码器708编码,并且被存入输出码存储器709中。如此存入输出码存储器709中的相同坐标系数集的NLL码和诸代码由码输出单元710顺序读出和输出。
[0338] 图25是显示本发明第九实施例的解码设备的实例的方框图。图25显示了上述的第一实施例的硬件配置。从上述编码设备发送的码序列由码输入设备801输入,并且被存入输入码存储器802中。首先,初始系数解码器803解码初始系数NLL并且把它存入子带存储器804中。接着,系数解码器805顺序解码来自诸多输入码的一个或预定数量的两个或更多子带系数集nLH、nHL和nHH,并将它们存入寄存器806中。反向子带变换器807从寄存器806读出系数集,反向小波变换已读出的系数集,并把结果存入子带存储器804中。当输出图像的分辨率级被达到时,图像输出单元808此后输出图像数据。
[0339] 如上所述,本发明的编码/解码控制通过使用通用CPU,可以实现高速编码/解码处理,并且还可以减少中间存储器。
[0340] 请注意,上述的本发明的第一至第九实施例特别处理图像数据,但是本发明当然还适用于非图像数据的二维数据。
[0341] 请注意,如上所述的用来实施本发明的处理程序还可以存入诸如磁盘或CD-ROM的记录媒介中。处理程序和存储它们的记录媒介被包含在本发明的范围中。 [0342] 工业应用性
[0343] 本发明的编码/解码设备适用于例如根据显示设备的分辨率或者观看者的操作/请求,逐渐分配高分辨率图像的应用。