CN101309415B - 信息处理设备和方法 - Google Patents
信息处理设备和方法 Download PDFInfo
- Publication number
- CN101309415B CN101309415B CN2008100990862A CN200810099086A CN101309415B CN 101309415 B CN101309415 B CN 101309415B CN 2008100990862 A CN2008100990862 A CN 2008100990862A CN 200810099086 A CN200810099086 A CN 200810099086A CN 101309415 B CN101309415 B CN 101309415B
- Authority
- CN
- China
- Prior art keywords
- data
- execution
- processing
- coefficient
- frequency component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 6
- 238000000034 method Methods 0.000 title abstract description 110
- 238000001914 filtration Methods 0.000 claims abstract description 171
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 219
- 238000011282 treatment Methods 0.000 claims description 33
- 238000000354 decomposition reaction Methods 0.000 claims description 28
- 241001269238 Data Species 0.000 claims description 15
- 230000001737 promoting effect Effects 0.000 claims description 13
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 77
- 230000015572 biosynthetic process Effects 0.000 abstract description 4
- 238000003786 synthesis reaction Methods 0.000 abstract description 4
- 230000002194 synthesizing effect Effects 0.000 abstract description 3
- 239000000872 buffer Substances 0.000 description 122
- 230000009466 transformation Effects 0.000 description 122
- 238000005192 partition Methods 0.000 description 38
- 238000003860 storage Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 238000012958 reprocessing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 101100322249 Caenorhabditis elegans lev-1 gene Proteins 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明涉及一种信息处理设备和方法。在该信息处理设备中,对图像数据执行合成滤波处理,图像数据已经过分解滤波处理的分级执行,分解滤波处理的每次执行使图像数据的频率分量被分为高频分量和低频分量,分解滤波处理的全部分级执行使图像数据被分为多个频带,合成滤波处理包括通过执行提升计算来合成每个划分级别中的各频带的频率分量。对于每次提升计算控制合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
Description
相关申请的交叉引用
本发明包含涉及2007年5月17日在日本专利局提交的JP2007-131627日本专利申请的主题,其整个内容通过引用包含于此。
技术领域
本发明涉及信息处理设备和信息处理方法,更具体地,涉及一种能够大大减小由解码处理和小波逆变换处理引起的延迟的信息处理设备和信息处理方法。
背景技术
JPEG(联合图像专家组)格式和JPEG2000格式是广泛使用的根据ISO(国际标准组织)建立的标准的图像压缩算法。通常,当在算法中使用离散余弦变换(DCT)并分配了相对大数目的位时,算法可以提供好的编码图像和好的解码图像。
近年来,致力于研究使用组合高通滤波器和低通滤波器的滤波器组,以将给定图像数据分为多个频带并分别对每个频带执行编码的方式来编码图像的方法。在这些方法中,大量关注了小波变换编码方法,因为其优点是:与DCT方法不同,它不发生块失真。因此,小波变换编码方法被期望代替DCT方法。
在2001年1月作为国际标准建立的JPEG2000中,使用小波变换和高效率编码算法(以位平面为单位进行位建模并进行算术编码)的结合来实现与JPEG方法相比在编码效率上的很大改进。
小波变换基本包括:沿水平和垂直两个方向过滤给定的图像数据,从而将低频分量与其它分量按层次分离的处理(例如,参见日本未审查专利申请公报第10-283342号)。
通过小波逆变换处理将因对图像数据进行小波变换处理所获得的系数数据(频率分量)变换为原始图像数据。在小波逆变换处理中,通过在从最高级别到最低级别的全部划分级别上对高频分量和低频分量执行合成滤波处理来重构图像。
使用小波变换和小波逆变换的编码系统可以在视频会议系统、视频游戏系统或传输图像数据的其它多种系统中使用。在这种系统中,在发送端,图像数据进行小波变换,且因小波变换所获得的系数数据被编码。产生的编码数据被发送到接收端。在接收端,将接收到的编码数据解码为系数数据,且将获得的系数数据小波逆变换为原始图像数据。通常,根据上面所述的过程执行编码/解码。
发明内容
在例如视频会议系统或视频游戏系统的上述图像传输系统中,期望没有明显延迟地传输图像数据。
考虑上面问题,期望减小由在接收端执行的解码处理和小波逆变换处理引起的延时。
根据一个实施例,本发明提供一种信息处理设备,包括:合成滤波处理装置,用于对图像数据执行合成滤波处理,所述图像数据已经过分解滤波处理的分级执行,所述分解滤波处理的每次执行使所述图像数据的频率分量被分为高频分量和低频分量,所述分解滤波处理的全部分级执行使所述图像数据被分为多个频带,所述合成滤波处理包括通过执行提升计算来合成每个划分级别中的各频带的频率分量;以及控制装置,该控制装置对于每次提升计算控制由所述合成滤波处理装置进行的合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
控制装置可以控制合成滤波处理的执行,使得在生成每部分图像数据时只执行生成该部分图像数据所需的提升计算。
每次执行提升计算,控制装置可以从用于存储在合成滤波处理中使用的频率分量的存储单元中删除在后面的提升计算中不会使用的不必要的频率分量。
信息处理设备还可以包括用于对已通过分解滤波处理的分级执行而被分为多个频带的图像数据的每个频率分量的编码数据进行解码的解码装置;合成滤波处理装置对通过由解码装置执行的解码从编码数据获得的频率分量执行合成滤波处理;且控制装置控制由解码装置进行的解码处理的执行,解码处理被分为多个处理步骤,控制装置控制解码处理在每个处理步骤的执行。
控制装置可以采用与每个编码数据相关的处理作为处理步骤,并控制解码处理对于每个编码数据的执行。
在每部分图像数据的生成过程中,控制装置可以控制解码装置,以便只对在生成该部分图像数据需要的编码数据执行解码处理。且控制装置可以控制合成滤波处理装置,以便只对生该部分成图像数据所必需的、所获得的频率分量执行提升计算。
控制装置可以控制解码装置,使得对属于编码数据的特定集合的全部编码数据执行解码处理,并且在完成了对该特定集合的编码数据的解码处理后,控制装置控制合成滤波处理装置,使得对解码处理所获得的频率分量进行提升计算。
根据实施例,本发明提供一种信息处理方法,包括对图像数据执行合成滤波处理的步骤,图像数据已经过分解滤波处理的分级执行,分解滤波处理的每次执行使图像数据的频率分量被分为高频分量和低频分量,分解滤波处理的全部分级执行使图像数据被分为多个频带,合成滤波处理包括通过执行提升计算来合成每个划分级别中的各频带的频率分量;对于每次提升计算控制合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
在信息处理设备/方法中,如上所述,对图像数据执行合成滤波处理,所述图像数据已经过分解滤波处理的分级执行,分解滤波处理的每次执行使图像数据的频率分量被分为高频分量和低频分量,分解滤波处理的全部分级执行使图像数据被分为多个频带,合成滤波处理包括通过执行提升计算来合成每个划分级别中各频带的频率分量。对于每次提升计算控制合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
如上所述,本发明提供的大优点是:由解码处理和小波逆变换处理引起的延时可以在由解码处理和小波逆变换处理引起的延时最小的条件下来进行。
附图说明
图1是示出编码器的结构的例子的图;
图2是用于说明小波变换的示意图;
图3是用于说明小波变换的示意图;
图4是用于说明小波变换的示意图;
图5是用于说明小波变换的示意图;
图6是示出在5×3分解滤波器中执行的提升处理的图;
图7是示出在5×3合成滤波器中执行的提升处理的图;
图8是示出分解滤波处理和合成滤波处理中处理流程的例子的图;
图9是示出分解滤波处理和合成滤波处理中处理流程的例子的图;
图10是示出计算机一部分的一般结构的例子的框图;
图11是示出根据本发明实施例的解码器的结构的例子的框图;
图12是示出控制处理的例子的流程图;
图13是示出合成滤波处理的例子的图;
图14是示出熵解码处理和小波逆变换处理中处理流程的例子的示意图;
图15是示出在其中数据被转移的方式的例子的流程图;
图16是示出处理定时的例子的示意图;
图17是示出控制处理的例子的流程图;
图18是示出合成滤波处理的例子的图;
图19是示出熵解码处理和小波逆变换处理中处理流程的例子的示意图;
图20是示出控制处理的例子的流程图;
图21是示出合成滤波处理的例子的图;
图22是示出熵解码处理和小波逆变换处理中处理流程的例子的示意图;以及
图23是示出根据本发明例子的个人计算机的结构的例子的框图。
具体实施方式
图1是示意性示出用软件程序实施的软件编码器用于编码图像数据的的功能的功能框图。即,图1示出软件编码器形式的编码器10,它通过由CPU(中央处理单元)执行程序从而实现小波变换单元11、中间数据缓冲器12、系数重排缓冲器13、系数重排单元14及熵编码器15的功能来实现。
如果图像数据被输入到编码器10,则输入的图像数据通过小波变换单元11被提供到中间数据缓冲器12,并被临时存储在中间数据缓冲器12中。小波变换单元11对存储在中间数据缓冲器12中的图像数据执行小波变换。更具体地,小波变换单元11从中间数据缓冲器12读取图像数据,并使用分解滤波器对读取的图像数据执行滤波处理,从而产生低频分量和高频分量的系数的数据。产生的系数数据被存储在中间数据缓冲器12中。小波变换单元11具有水平分解滤波器和垂直分解滤波器,从而对沿帧的水平和垂直两个方向设置的图像数据执行分解滤波处理。小波变换单元11读取存储在中间数据缓冲器12中的低频分量的系数数据,并使用分解滤波器对读取的系数数据执行滤波处理,从而进一步产生高频分量和低频分量的系数的数据。产生的系数数据被存储在中间数据缓冲器12中。
小波变换单元11重复执行上面所述的处理,直到达到预定的划分级别。如果达到了预定的划分级别,则小波变换单元11从中间数据缓冲器12读取系数数据,并将系数数据存储在系数重排缓冲器13中。
系数重排单元14按预定顺序从系数重排缓冲器13中读取系数数据,并将读取的系数数据提供给熵编码器15。熵编码器15用适当的方法量化所提供的系数数据,并根据适当的熵编码方法对量化的系数数据进行编码,熵编码方法例如是Huffman编码方法或算术编码方法。熵编码器15将产生的编码数据输出到编码器10的输出侧。
接着,下面更详细地说明由图1中示出的小波变换单元11执行的处理。首先,简要说明小波变换。如在图2中示意性说明的,在对图像数据的小波变换中,对因先前执行的处理所获得的低空间频带的数据递归地执行将图像数据划分为高空间频带和低空间频带的处理。
分解滤波器包括:用于沿帧的水平方向对图像数据执行分解滤波处理的水平分解滤波器,以及用于沿帧的垂直方向执行分解滤波处理的垂直分解滤波器。每次图像数据沿两个方向进行分解滤波处理,图像数据就被分解为4个子带。小波变换单元11对以下频带递归地重复(即,分级地重复)水平和垂直分解滤波处理:该频带是因沿水平和垂直两个方向在空间频率中进行分解滤波处理而获得的最低的带。
图2是示意性示出在重复4次执行分解滤波处理之后获得的数据的例子的图。在图2所示的例子中,作为4次递归执行水平和垂直分解滤波处理的结果,一帧图像数据的频率分量被分解为13个分级子带。将这种状态下的每个子带的数据频率分量,即,基带图像数据的频率分量称为系数数据。
在图2中,每个实线矩形和每个虚线圆角矩形表示因分解滤波处理产生的子带。每个子带名的数字前缀表示子带的分级级别。即,每个数字前缀表示为获得该子带对基带图像数据执行的分解滤波处理的次数。每个子带名中的“L”或“H”表示该子带是具有低频还是高频分量,且每个子带名的左侧的“L”或“H”表示该子带是因水平分解滤波处理而获得的,而右侧的“L”或“H”表示该子带是因垂直分解滤波处理而获得的。
在图2所示的例子中,作为对基带图像数据进行的分解滤波处理的第一执行的结果,产生第一划分级别的4个子带(1LL、1LH、1HL和1HH)。在产生的4个子带中,对沿水平和垂直两个方向都具有较低频分量的子带1LL进行分解滤波处理的第二执行。作为其结果,获得了第二划分级别的4个子带(2LL、2LH、2HL和2HH)。对4个子带(2LL、2LH、2HL和2HH)中沿水平和垂直两个方向都具有较低频分量的子带2LL进行分解滤波处理的第三执行。其结果是,获得了第三划分级别的4个子带(3LL、3LH、3HL和3HH)。对4个子带(3LL、3LH、3HL和3HH)中沿水平和垂直两个方向都具有较低频分量的子带3LL进行分解滤波处理的第四执行。其结果是,获得了第四划分级别的4个子带(4LL、4LH、4HL和4HH)。
对于因前面执行的变换和分解所获得的低空间频带执行变换和分解的理由是:如从图3可见,划分级别越高,低频带中的图像能量越大。通过递归地执行分解滤波处理,从而产生分级子带,使得在越来越小的区域中获得低空间频带中的数据,这样就能够在使用熵编码的压缩编码中实现高效率。
下文中,将在因前面执行的分解滤波处理所获得的4个子带中沿水平和垂直两个方向都具有最低频率分量,且要进行分解滤波处理的下一次执行的子带LL简称为低子带,且将不进行进一步分解滤波处理的其它子带LH、HL和HH简称为高子带。
在上面所述的方法中,将小波变换处理应用于给定图像的一个完整帧。代替地,可以将一帧图像数据分为多个部分,每个部分包括特定数目的行,且可以将小波变换处理分别应用于数据的每个部分。在后一种方法中,分别进行小波变换处理的图像数据的大小要小于根据前一方法进行小波变换处理的数据大小,因此,可以在比前一方法早的时刻开始输出小波变换处理的结果。即,可以减小由小波变换处理引起的延时。
在这种情况下,包括在进行小波变换处理的每个数据单位中的行数被确定,使得当在给定的划分级别上对数据执行小波变换处理时,可以在最高级别中最终获得子带的一行系数数据。
每次执行分解滤波处理时,数据被分为4个部分。因此,如图3中所示,每次执行分解滤波处理时,行数被减小到前一级别的一半。即,在图3所示的例子中,在3个划分级别的小波变换处理的情况下,需要8行基带图像数据以获得最高级别的子带(3LL、3LH、3HL和3HH)的一行系数数据。因此,在这种情况下,进行小波变换处理的基带图像数据的单位被确定为包括至少8行基带图像数据。如图2中所示的例子,在4个划分级别的小波变换处理的情况下,需要至少16行基带图像数据。
将为最终获得最高级别的低子带LL的一行系数数据所需的一组基带像素数据称为分区(precinct)(或者说“行块”)。注意,在某些情况下,术语“分区”用来描述通过小波变换从一个分区图像数据获得的全部子带的一组系数数据,该分区图像数据基本相当于产生最高级别的低子带LL的一行系数数据所需的一组基带图像数据。
例如,如图4中所示,在包括16行基带图像数据的一个分区进行了4个划分级别的小波变换处理的情况下,在各划分级别中产生的系数数据如下:在第一划分级别中产生了8行系数数据;在第二划分级别中产生了4行系数数据;在第三划分级别中产生了2行系数数据;且在第四划分级别中产生了1行系数数据。
小波逆变换处理是与上面说明的小波变换处理相反的变换处理。即,小波逆变换处理将因小波变换处理而获得的系数数据变换为原始基带图像数据。因此,在小波变换单元11以上述方式以分区为单位执行小波变换处理的情况下,在相同的分区单位中执行与小波变换处理相对应的小波逆变换处理。
即,如图4中所示,通过4次递归执行小波逆变换处理,将由于4次递归执行小波变换处理而从16行基带图像数据获得的系数数据变换为原始的16行基带图像数据。
对于一帧中的全部分区而言,包括在一个分区中的行数不必相等。
图5A~图5C示意性地示出进行了小波变换处理和小波逆变换处理的两次递归执行的方式的例子。图5A示出在进行小波变换处理之前的状态中的一帧基带图像数据,图5B示出在图5A所示的一帧基带图像数据进行了2个划分级别的小波变换时获得的一组系数数据的例子,图5C示出通过3个划分级别的小波逆变换从图5B中所示的系数数据重构的基带图像数据。
在该特定例子中,如图5A中所示,只有位于帧顶的分区(In-1)包括7行,而其它分区(In-2等)每个包括4行。注意,基于小波变换处理中分解滤波处理的算法中的需要来确定各分区的行数。即,为了最终获得最高划分级别中的一行系数数据,进行小波变换的第一执行的分区,即,位于图像帧顶的分区包括比其它分区更多行数的基带图像数据。
作为对图5A中所示分区In-1(包括7行)进行小波变换的结果,如图5B中所示,在第一划分级别的4个子带(LL、HL、LH和HH)的每一个中产生三行系数数据(WT-1)。如果将产生的低频子带LL进一步进行小波变换,则在第二划分级别的4个子带(LLL、LHL、LLH和LHH)的每一个中产生一行系数数据。
另一方面,如果作为从图5A的顶部计数的第二个分区的分区In-2(包括4行)进行小波变换,则如图5B中所示,在第一划分级别的4个子带(LL、HL、LH和HH)的每一个中产生两行系数数据(WT-2)。如果对获得的低频子带LL进一步进行小波变换,则在第二划分级别的4个子带(LLL、LHL、LLH和LHH)的每一个中产生一行系数数据(WT-2)。图5A中的第三分区和下面的分区以相似的方式进行小波变换。
如果对位于图5B中所示的帧顶的分区(WT-1)的系数数据进行小波逆变换,则如图5C中所示,产生一行基带图像数据(OUT-1)。如果对位于从帧顶计数第二位置的分区(WT-2)执行小波逆变换,则产生4行基带图像数据(OUT-2)。第三分区和下面的分区以相似方式进行小波逆变换。然而,对位于帧底的分区进行的小波逆变换生成8行基带图像数据。注意,在各级别中产生的行数取决于合成滤波处理的算法。
如上所述,取决于计算算法,位于帧顶或帧底的分区可以包括与其它分区不同的行数。
小波变换单元11使用一般包括低通滤波器和高通滤波器的滤波器组来执行上述处理。注意,这些数字滤波器在不同的抽头长度(taplength)下具有多个脉冲响应,即,多个滤波器系数,因此,需要将滤波处理中所需的输入图像数据或系数数据存储在缓冲存储器中。在通过多级执行小波变换的情况下,需要存储在滤波处理中所需的前一级产生的小波变换系数。
下面利用使用5×3滤波器的特定例子详细说明小波变换的方法。使用5×3滤波器的该方法在JPEG2000标准中采用,且具有可以使用少量滤波器抽头执行小波变换的优点。
5×3滤波器的脉冲响应(z变换表达式)可以由低通滤波器H0(z)的响应与高通滤波器H1(z)的响应联合给出,如下面的等式(1)和(2)所示。可以看到,H0(z)具有5个抽头,而H1(z)具有3个抽头。
H0(z)=(-1+2z-1+6z-2+2z-3-z-4)/8(1)
H1(z)=(-1+2z-1-z-2)/2(2)
注意,可以根据等式(1)或(2)直接计算低频分量的系数和高频分量的系数。如果使用提升技术,则可以减少滤波处理中的计算复杂性。
参考图6,下面利用使用5×3滤波器的例子说明滤波技术。
在图6中,在图的顶部示出了输入图像的一系列像素,在图的中部示出了输出高频分量,在图的底部示出了输出低频分量。顶部的输入数据不限于输入图像的一系列像素,作为上述滤波处理的结果而获得的系数可以作为输入数据给出。在下面的说明中,假设将图像的一系列像素给定为输入数据,其中,实心矩形表示各行的偶数编号的(从第0开始)像素,实心圆表示各行的奇数编号的像素。
在处理的第一级,根据下面所示的等式(3),从一系列输入像素产生高频分量的系数di 1。
di 1=di 0-1/2(si 0+si+1 0)(3)
在处理的第二级,使用高频分量的产生系数,还使用输入图像的奇数编号的像素,根据下面所示的等式(4)产生低频分量的系数si 1。
si 1=si 0+1/4(di-1 1+di 1)(4)
在分解滤波器中,通过上述的滤波处理,输入图像的像素数据被分解为低频分量和高频分量。
在合成滤波器中,执行小波逆变换,以重构通过小波变换产生的系数,如下面参考图7所述。图7示出使用5×3滤波器并使用提升技术的合成滤波处理的例子。注意,该处理与图6中所示的处理相对应。在图7中,在图的顶部示出了通过小波变换产生的输入系数,其中,实心圆表示高频分量的系数,实心矩形表示低频分量的系数。
在处理的第一级,根据下面示出的等式(5),从低频分量的输入系数和高频分量的输入系数产生偶数编号(从第0开始)的系数si 0。
si 0=si 1-1/4(di-1 1+di 1)(5)
作为处理的第二级,使用在第一阶段产生的系数si 0,并使用高频分量的输入系数di 1,根据下面的等式(6)产生奇数编号的系数di 0。
di 0=di 1+1/2(si 0+si+1 0)(6)
在合成滤波器中,如上所述,通过小波逆变换合成了低频分量和高频分量的系数。
图8是示意性地示出使用5×3滤波器利用提升(lifting)计算的滤波处理已被执行到第二划分级别的情况下的分解滤波处理和合成滤波处理的图。在图8的左侧,示出了分解滤波处理中提升计算的状态,在图8的右侧示出了合成滤波处理中提升计算的状态。
在图8中,用沿从左上角到右下角方向延伸的斜线加阴影的圆和矩形表示基带图像数据的奇数编号行和偶数编号行的频率分量。注意,行编号被定义为满足:位于图像顶部的行被定义为第一行,且行号从图像顶部到底部递增。
此外,在图8中,用沿从左下角到右上角方向延伸的斜线加阴影的圆和矩形表示在合成滤波处理的提升计算的中间计算或合成滤波处理的中间计算中使用的奇数编号和偶数编号的系数。此外,在图8中,实心圆和实心矩形分别表示作为分解滤波处理的提升计算的结果获得的高频分量和低频分量(频率分量)。即,在图8的左侧,虚线围起的矩形表示中间数据缓冲器12,实线围起的矩形表示系数重排缓冲器13。
在图8中,从左端数的第一到第三列表示在第一划分级别中执行分级滤波处理中的提升计算的方式,第四到第六列表示在第二划分级别中执行分解滤波处理中的提升计算的方式,第七到第九列表示在第二划分级别中执行合成滤波处理中的提升计算的方式,且第十到第十二列表示在第一划分级别中执行合成滤波处理中的提升计算的方式。
注意,为了简化,在图8中,未示出沿水平方向的分解滤波处理和合成滤波处理。
在图8中,用实曲线代表各分区的系数的边界。即,在(处理的第一递归执行中处置的)第一分区中,对图像数据中的7行进行了分解滤波处理,生成了5行频率分量(3行第一划分级别的高频分量,1行第二划分级别的高频分量,以及1行第二划分级别的低频分量)。在合成滤波处理中,使用5行中的3行频率分量(1行第二划分级别的高频分量,1行第二划分级别的低频分量,以及1行第一划分级别的高频分量)生成1行图像数据。
在对应于下一个分区的合成滤波处理中使用剩余的2行第一划分级别的高频分量。
在(处理的第二递归执行中处置的)第二分区中,对4行图像数据进行分解滤波处理,生成4行频率分量(2行第一划分级别的高频分量,1行第二划分级别的高频分量,以及1行第一划分级别的低频分量)。在合成滤波处理中,使用产生的多行频率分量中的2行频率分量(1行第二划分级别的高频分量和1行第一划分级别的低频分量),并使用第一分区的第一划分级别的2行高频分量,来产生4行图像数据。
对于第三分区和其它下面的分区,以与第二分区相似的方式执行处理。在最后一个分区中,通过合成滤波处理生成8行图像数据。
如上所述,因为处理从图8的左侧进行到右侧,所以如上所述参考图5A~图5C所示例子执行分解滤波处理和合成滤波处理。
在图8的左侧,用数字标注实心圆和矩形,以表示作为分解滤波处理的结果所获得的频率分量的产生顺序。在图8的右侧,用数字来标注实心圆和矩形以表示通过合成滤波处理来处理频率分量的顺序。括号内的数字表示通过分解滤波处理产生频率分量的顺序,即,右侧括号内的数字与图8左侧的数字相对应。
从数字可以看出,以与通过分解滤波处理产生频率分量的顺序不同的顺序通过合成滤波处理来处理频率分量。更具体地说,在对第二分区的分解滤波处理中,频率分量按6→7→8→9的顺序产生。另一方面,在合成滤波处理中,按9→8→2→3的顺序使用频率分量。即,在分解滤波处理中,按从高频率到低频率的顺序产生频率分量,而在合成滤波处理中按从低频率到高频率的顺序合成频率分量。因此,在执行合成滤波处理之前,有必要改变通过分解滤波处理产生的频率序列的顺序。
因此,图1中所示的系数重排单元14通过按预定顺序读取存储在系数重排缓冲器中的系数数据来改变序列的顺序。
图9示出使用5×3滤波器执行划分级别为3的分解滤波处理的方式。基本操作与上面参考图8说明的划分级别为2的分解滤波处理的操作相似。然而,在图9中所示处理中,小波变换为获得划分级别为2的低频子带的一行频率分量所需的行数是:对第一分区15行,且对下一个和其它下面的分区是8行。至于合成的数据,对于第一分区输出1行,而对于下一个和其它下面的分区输出8行。
在图9所示的处理中,如图8所示的处理,也需要在执行分解滤波处理之后改变频率分量序列的顺序。例如,在图9所示第二分区的情况下,在分解滤波处理中按2,3,5,6,7,10,19,20顺序产生的频率分量在合成滤波处理被中按20→19→7→2→3→10→5→6的顺序处理。
稍后将说明与图1中所示编码器10相对应的解码器的结构的例子。编码器和解码器可以通过硬件或软件实现。
在通过使用软件程序来实现编码器或解码器的情况下,可以在计算机系统上执行软件程序。
图10是示出计算机的一部分的总体结构的例子的框图。在图10所示的结构中,计算机100包括:用于执行各种计算并控制各种处理的CPU 111;用于存储由CPU 111使用或执行的各种数据和程序,并存储由CPU 111执行的计算结果的主存储器113;以及用于控制从CPU 111到主存储器113的访问的存储控制器112。
CPU 111包括扩展接口(I/F)模块121、取模块122、解码模块123、执行模块124、重写模块125以及寄存器141。另外,CPU 111还包括作为用于存储最频繁使用的数据的内部存储器的L1缓存(主缓存)131和L2缓存(二级缓存)132。
因为L1缓存131和L2缓存132是设置在CPU 111中的内部存储器,所以与作为外部存储器的主存储器113相比,它们以高频率运行,且能够不通过公共总线直接访问它们,这允许数据的高速输入/输出。然而,L1缓存131和L2缓存132需要比主存储器113更高的每比特制造成本。此外,L1缓存131和L2缓存132的存储容量的增加导致CPU 111的总电路复杂度的增加,这导致计算机100的制造成本的增加和功耗的增加。因此,L1缓存131和L2缓存132具有比主存储器113小的存储容量。
换句话说,尽管与L1缓存131或L2缓存132相比,主存储器113数据输入/输出速度低,但是主存储器113具有更大的存储容量,在操作中需要更低的功耗,且制造成本更低。
将在稍后说明的用于实现解码器或编码器10的软件程序被存储在主存储器113中,并被通过存储控制器112读取到CPU 111中的扩展I/F模块121。然后,软件程序通过扩展I/F模块121被提供到取模块112(由取模块112取得)。由取模块112取得的软件程序被解码模块123解码为CPU 111可以执行的形式。
在程序执行中需要的数据被存储在L1缓存131或L2缓存132中,并在程序的执行中通过寄存器141读取位于特定地址的数据。执行模块124使用从L1缓存131或L2缓存132读取的数据来执行程序。
重写模块125通过扩展I/F模块121将执行结果立即重写到L1缓存131或L2缓存132中。通过由执行模块124执行程序,例如,熵解码处理、合成滤波处理和其它处理被执行。
在初始状态,编码后的数据被存储在L1缓存131或L2缓存132中。在熵解码处理或小波逆变换处理当中,L1缓存131或L2缓存132被系数数据重写,且最后被基带图像数据重写。
如上所述,使用高速存储器,即设置在CPU 111中的L1缓存131和L2缓存132,执行数据的读/写,从而可以以高速执行解码处理和小波逆变换处理。
然而,如上所述,因为L1缓存131和L2缓存132存储容量低,所以如果在熵解码处理或小波逆变换处理中重写的数据的量太大,则不能将全部数据存储在L1缓存131或L2缓存132中。在这种情况下,可能由于将数据保存到主存储器113的附加处理,或由于L1缓存131或L2缓存132的未命中而发生延时的增加。
在例如视频会议系统或视频游戏系统的使用小波变换和小波逆变换的图像传输系统中,期望以小延迟传输图像数据。
为了实现解码处理或小波逆变换处理中延迟的减小,期望减小L1缓存131和L2缓存132中存储的数据量。
除了L1缓存131和L2缓存132的使用,还期望提高解码处理和小波逆变换处理的效率。
下面说明实现解码处理和小波逆变换处理中高效率的方法。
图11是示意性地示出根据本发明的实施例用软件程序实现的用于对编码的图像数据进行解码的软件解码器的功能的功能框图。在下面的说明中,假设软件程序在以图10中所示的常用方式构造的计算机100上执行。
在图11中,解码器200是软件解码器,控制单元211、编码数据输入单元221、熵解码器222、中间数据缓冲器223、小波逆变换单元224以及图像数据输出单元225的功能通过由CPU 111执行程序来实现。
如将在稍后说明的,控制单元211控制包括编码数据输入单元221和图像数据输出单元225的各部分的操作。编码数据输入单元221执行获取从外部装置提供的编码数据的处理,外部装置例如是位于解码器200之外的编码器10。熵解码器222对通过编码数据输入单元221提供的编码数据执行熵解码处理。中间数据缓冲器223将通过由熵解码器222执行的解码从编码数据获得的系数数据存储在L1缓存131或L2缓存132,并根据小波逆变换单元224的请求从L1缓存131和L2缓存132读取系数数据,并将读取的系数数据提供给小波逆变换单元224。此外,中间数据缓冲器223将在由小波逆变换单元224执行的合成滤波处理中获得的、用于中间计算的系数数据存储在L1缓存131或L2缓存132中。
小波逆变换单元224从中间数据缓冲器223获取需要的系数数据,并对所获取的系数数据执行小波逆变换处理(合成滤波处理)。小波逆变换单元224递归地重复合成滤波处理,从而生成基带图像数据。图像数据输出单元225将由小波逆变换单元224生成的基带图像数据输出到解码器200的外面。
下面参考图12所示的流程图说明由解码器200的控制单元211执行的、在熵解码处理和小波逆变换处理中的控制处理流程的例子。注意,一帧接一帧地执行该控制处理。
如果控制处理开始,首先在步骤S101中,控制单元211检测位于未处理行的顶部的两行基带图像数据,并选择该检测到的两行基带图像数据作为要处理的数据。在步骤S102中,控制单元211确定生成感兴趣的图像数据所需的系数中的最高划分级别的系数。
在步骤S103中,控制单元211控制中间数据缓冲器223并判断在步骤S102中确定的系数是否存储在L1缓存131或L2缓存132中。如果判断为系数没被存储,则处理流程前进到步骤S104。在步骤S104中,控制单元211确定与在步骤S102中确定的系数相对应的编码数据。在步骤S105中,控制单元211控制编码数据输入单元221,以便获取一行编码数据。在步骤S106中,控制单元211控制熵解码器222,以便对获取的编码数据执行熵解码处理。在步骤S107中,控制单元211控制中间数据缓冲器223,以便将熵解码处理所获得的系数存储到L1缓存131或L2缓存132中。如果步骤S107完成,控制单元211返回处理到步骤S103。
另一方面,在步骤S103中的判断结果是步骤S102中确定的系数被存储在L1缓存131或L2缓存132中的情况下,控制单元211使处理前进到步骤S108。
在步骤S108中,控制单元211控制中间数据缓冲器223,以便从L1缓存131或L2缓存132中读取在步骤S102中确定的系数,并将读取的系数提供给小波逆变换单元224。在步骤S109中,控制单元211控制小波逆变换单元224执行合成滤波处理来生成划分级别低一级的2行系数,即,控制单元211控制小波逆变换单元224完成提升计算的一次执行。
如果完成了对步骤S102中确定的系数的合成滤波处理,则在步骤S110中,控制单元211控制中间数据缓冲器223从L1缓存131或L2缓存132中存储的系数中删除合成滤波处理中不会使用的不必要的系数。
在步骤S111中,控制单元211判断作为步骤S109中合成滤波处理的结果获得的系数是否为最低级别,即是否为基带图像数据。在确定获得的合成滤波处理的结果不是基带图像数据的情况下,控制单元211使处理返回到步骤S102以从步骤S102重复处理。即,重复执行步骤S102~S111,即,递归地重复合成滤波处理的提升计算,直到获得基带图像数据。
在步骤S111中确定作为合成滤波处理的结果获得了基带图像数据的情况下,控制单元211使处理流程前进到步骤S112。在步骤S112中,控制单元211控制图像数据输出单元225以便输出通过合成滤波处理获得的2行图像数据。
在步骤S113中,控制单元211判断对于帧的全部行是否已输出了图像数据。如果判断为没有对全部行输出图像数据,则处理流程返回到步骤S101重复从步骤S101的处理。即,如上面参考步骤S101所述,控制单元211控制熵解码处理和小波逆变换处理,以便从图像的帧的顶部开始,按顺序地以2行为单位一部分接一部分地输出基带图像数据。
在步骤S113中判断为全部行已被输出的情况下,控制单元211结束控制处理。
例如根据图13中所示的过程,在控制单元211的控制下执行合成滤波处理。图13示意性地示出3个划分级别的合成滤波处理的例子,与图8或9中所示的处理基本相似。虚线301和虚线302表示系数数据的分区的边界。在图13中,实心圆和矩形被标注有数字,该数字表示熵解码器222执行解码的顺序(即,从编码器10提供数据的顺序)。
在控制处理流程中,对图13中用实粗线围起的区域一区接一区的执行合成滤波处理的提升计算。例如,在虚线301和虚线302之间的第二分区的情况下,首先在区域311中执行提升计算,然后在区域312中执行,再在区域313中执行,最后,在区域314中执行。在每个区域中,按从最高划分级别到最低划分级别的顺序执行提升计算。
更具体地,首先,小波逆变换单元224使用区域311中第五解码的系数和第六解码的系数以及(已经在对第一分区的处理中获得的)第二解码的系数对第三划分级别执行提升计算(提升计算的第一执行)。接下来,使用第七解码的系数、提升计算的第一执行的结果以及(已经在对第一分区的处理中获得的)第三解码的系数,小波逆变换单元224对第二划分级别执行提升计算(提升计算的第二执行)。接下来,使用第八解码的系数、提升计算的第二执行的结果以及(已经在对第一分区的处理中获得的)第四解码的系数,小波逆变换单元224对第一划分级别执行提升计算(提升计算的第三执行)。其结果是,获得2行基带图像数据(第0行和第1行)。
这样,对于区域311完成了提升计算,且小波逆变换单元224对区域312执行提升计算。
对于区域312,首先,小波逆变换单元224使用第八和第九解码的系数以及提升计算的第二执行的结果对第一划分级别执行提升计算(提升计算的第四执行)。其结果是,获得2行基带图像数据(第2行和第3行)。
这样,对于区域312完成了提升计算,然后,小波逆变换单元224对区域313执行提升计算。
对于区域313,首先,小波逆变换单元224使用第七和第十解码的系数和提升计算的第一执行的结果来对第二划分级别执行提升计算(提升计算的第五执行)。接下来,使用第九和第十一解码的系数和提升计算的第五执行的结果,小波逆变换单元224对第一划分级别执行提升计算(提升计算的第六执行)。其结果是,获得了2行基带图像数据(第4行和第5行)。
这样,对于区域313完成了提升计算,然后,小波逆变换单元224对区域314执行提升计算。
对于区域314,首先,小波逆变换单元224使用第十一和第十二解码的系数和提升计算的第五执行的结果来对第一划分级别执行提升计算(提升计算的第七执行)。其结果是,获得了2行基带图像数据(第6行和第7行)。
通过一步接一步地执行提升计算,产生2行基带图像数据并一次输出,小波逆变换单元224能够快速地产生并输出基带图像数据。
例如,如果按从最高划分级别到最低划分级别的顺序执行每个分区中的提升计算,直到对分区的全部提升计算完成,才输出基带图像数据。
相反,在本实施例中,控制单元211以上述方式执行控制处理,从而小波逆变换单元224可以在提升计算的第三执行中输出第0行和第1行的基带图像数据。即,解码器200可以在处理的较早级上输出最初的基带图像数据。因此,解码器200可以减小由小波逆变换处理引起的延时。
图14是示意性地示出对第二分区执行的熵解码处理和小波逆变换处理中控制处理流程的图。
如图14中所示,首先,熵解码器222对指定要第五个解码的系数数据(VLD 5)和指定要第六个解码的系数数据(VLD 6)进行解码,且小波逆变换单元224进行提升计算的第一执行(IDWT(Lev 3))。接下来,熵解码器222对指定要第七个解码的系数数据(VLD 7)进行解码,且小波逆变换单元224进行提升计算的第二执行(IDWT(Lev2))。接下来,熵解码器222对指定要第八个解码的系数数据(VLD8)进行解码,且小波逆变换单元224进行提升计算的第三执行(IDWT(Lev 1))。
在处理的这一级上,小波逆变换单元224能够输出第0行和第1行的基带图像数据。即,与在将分区中的全部编码数据进行解码之后执行小波变换处理的情况相比,解码器200能够提前输出最初的基带图像数据的时间。即,解码器200可以减小由小波逆变换处理引起的延时。
接下来,熵解码器222对指定要第九个解码的系数数据(VLD 9)进行解码,且小波逆变换单元224进行提升计算的第四执行(IDWT(Lev 1))。接下来,熵解码器222对指定要第十个解码的系数数据(VLD 10)进行解码,且小波逆变换单元224进行提升计算的第五执行(IDWT(Lev 2))。接下来,熵解码器222对指定要第十一个解码的系数数据(VLD 11)进行解码,且小波逆变换单元224进行提升计算的第六执行(IDWT(Lev 1))。接下来,熵解码器222对指定要第十二个解码的系数数据(VLD 12)进行解码,且小波逆变换单元224进行提升计算的第七执行(IDWT(Lev1))。
每次执行提升计算,控制单元211都控制中间数据缓冲器223从L1缓存131和L2缓存132中删除(丢弃)后面的提升计算处理不需要的系数。这使得解码器200可以减小L1缓存131和L2缓存132中存储的数据量。
注意,可以执行删除(丢弃),使得存储在L1缓存131和L2缓存132中的不必要的数据被实际删除或只是被设置为可覆写。可替换地,可以将不必要的数据分开管理。例如,在提升计算的第一执行之后,在针对第二分区的提升计算中不需要第六解码的系数数据,但是该系数数据用于针对下一个分区(第三分区)的提升计算中。在这种情况下,中间数据缓冲器223可以将该第六解码的系数数据存储在与存储其它系数数据的存储区域不同的存储区域中,从而从针对第二分区的处理中使用的组中去除该系数数据,从而有效地删除该系数数据。
下面参考图15中所示流程图说明在上述控制处理中各部分之间的数据流。
首先,在步骤S251中,图像数据输出单元225请求小波逆变换单元224提供要向外输出的、由控制单元211指定的图像数据。如果在步骤S241中小波逆变换单元224接收了请求,则在步骤S242中,小波逆变换单元224请求熵解码器222提供由控制单元211指定的且对应于该图像数据的小波系数数据。
如果在步骤S211中熵解码器222接收到该请求,则在步骤S212中,熵解码器222请求编码数据输入单元221提供编码数据。如果在步骤S201中编码数据输入单元221接收到该请求,则编码数据输入单元221从外面获取被请求的编码数据。在步骤S202中,编码数据输入单元221将获取的编码数据提供到熵解码器222。如果在步骤S213中熵解码器222接收到该编码数据,则熵解码器222将接收到的编码数据解码为系数数据。在步骤S214中,熵解码器222将获得的系数数据提供到中间数据缓冲器223。如果中间数据缓冲器223在步骤S231中从熵解码器222接收到系数数据,则中间数据缓冲器223将接收到的系数数据存储在L1缓存131和L2缓存132中。
在步骤S243中,小波逆变换单元224在从中间数据缓冲器223接收系数数据的同时,执行小波逆变换处理。相应地,在步骤S232中,中间数据缓冲器223将系数数据提供到小波逆变换单元224。
如果存储在中间数据缓冲器223中的全部系数已经被处理,则在步骤S224中,小波逆变换单元224再一次请求熵解码器222提供小波系数。如果熵解码器222在步骤S215接收到该请求,则在步骤S216,熵解码器222请求编码数据输入单元221提供编码数据。在步骤S203中,编码数据输入单元221接收该请求。
重复执行上述处理,直到生成基带图像数据。如果生成了基带图像数据,则在步骤S245中,小波逆变换单元224将生成的图像数据提供到图像数据输出单元225。在步骤S252中,图像数据输出单元225获取从小波逆变换单元224发送的图像数据。
在控制单元211的控制下,以上述方式,在各处理单元之间传送各种数据。
在上述例子中,基带图像数据以2行为单位被一部分接一部分地生成并输出。可替换地,如图16中所示,基带图像数据可以与视频信号的水平同步信号同步、以1行为单位一部分接一部分地生成并输出。
在这种情况下,如图16中所示,基带图像数据(基带图像数据#1和基带图像数据#2)被输出,使得每次响应于每个水平同步脉冲(H-Sync)输出一行。然而,如图16中所示,以2行为单位生成基带图像数据(基带图像数据#1和基带图像数据#2)。即,如图16的(A)所示,响应于紧随在后的水平同步脉冲,两个生成的行中的一行被直接输出,而另一行如图16的(B)所示被临时存储,并如图16的(C)所示,响应于下一个水平同步脉冲被输出。
因此,如图16中所示,需要在两个相邻水平同步脉冲之间的时段内完成熵解码处理(VLD)和小波逆变换处理(IDWT)。因为小波逆变换单元224(解码器200)被配置为按上面说明的顺序执行合成滤波处理,以便减小生成基带图像数据的间隔,所以很容易在如图16所示的时间点完成实时解码处理。
即,在这种情况下,小波逆变换单元224能够实时地对输入系数数据执行小波逆变换并输出得到的图像数据,而不将其缓冲存储,使得输出图像数据被正确地显示在监视器上。注意,这里使用术语“实时”来说明与电视信号等的水平同步信号同步地一行一行输出基带图像数据,且因此这里使用的术语“实时”不意味着在小波变换处理中没有延迟发生。
下面参考图17中所示的流程图说明控制处理的处理流程的另一个例子。注意,在该例子中同样,控制处理也是一帧一帧地执行。在该例子中,在执行小波逆变换处理之前,对分区中的全部编码数据执行熵解码处理。
步骤S301~S304与图12中所示流程中步骤S105~S107相似。即,如果开始控制处理,则首先在步骤S301中,控制单元211控制编码数据输入单元221,以便获取1行编码数据。在步骤S302中,控制单元211控制熵解码器222,以便对获取的编码数据执行熵解码处理。在步骤S303中,控制单元211控制中间数据缓冲器223,以便将作为熵解码处理的结果所获得的系数存储到L1缓存131或L2缓存132中。在步骤S304中,控制单元211判断是否分区中的全部编码数据已经被解码。如果判断为存在尚未被解码的编码数据,则控制单元211使处理流程返回到步骤S301以从步骤S301重复处理。即,控制单元211重复地执行步骤S301~S304,直到分区中的全部编码数据被解码。
步骤S305和S306与图12中所示流程中的步骤S101和S102相似。即,在步骤S305中,控制单元211检测位于未处理的行的顶部的2行基带图像数据,并选择检测到的2行基带图像数据作为要处理的数据。在步骤S306中,控制单元211确定生成感兴趣的图像数据所需的系数中的最高划分级别的系数。
步骤S307~S309与图12中所示流程中的步骤S109~S111相似。即,在步骤S307中,控制单元211控制小波逆变换单元224来执行合成滤波处理,以生成2行划分级别低1级的系数,即,控制单元211控制小波逆变换单元224完成提升计算的一次执行。在步骤S308中,控制单元211控制中间数据缓冲器223以从L1缓存131或L2缓存132存储的系数中删除合成滤波处理中不会使用的不必要的系数。在步骤S309中,控制单元211判断在步骤S307中的合成滤波处理所获得的系数是否为最低级别,即,是否为基带图像数据。在判断为合成滤波处理的获得结果不是基带图像数据的情况下,控制单元211使处理返回到步骤S305,以重复从步骤S305的处理。即,重复执行步骤S305~S309,即,递归地重复合成滤波处理的提升计算,直到获得基带图像数据。
在步骤S309中的判断是作为合成滤波处理的结果获得了基带图像数据的情况下,控制单元211使处理前进到步骤S310。步骤S310和S311与图12所示流程中的步骤S112和S113相似。即,在步骤S310中,控制单元211控制图像数据输出单元225,以便输出通过合成滤波处理获得的2行图像数据。在步骤S311中,控制单元211判断对于帧的所有行是否已输出了图像数据。如果判断为没有对所有行输出图像数据,则处理流程返回到步骤S305以从步骤S305重复处理。即,控制单元211控制小波逆变换处理,以从图像的帧的顶部开始,按顺序地以2行为单位一部分接一部分地输出基带图像数据。
在步骤S311中判断为已经输出了所有行的情况下,控制单元211结束控制处理。
图18示出在控制单元211的控制下执行的合成滤波处理的过程的具体例子。除了下面列出的以外,合成滤波处理的过程类似于上面参考图13所述的过程。如图19中所示,在执行合成滤波处理(IDWT)之前,对分区中的全部编码数据(VLD 5~VLD 12)执行解码处理。这导致下面的缺点。即,在对第0行和第1行生成基带图像数据之前,控制单元211在L1缓存131或L2缓存132中存储在生成第0行和第1行的基带图像数据时不必要的系数数据,包括第九到第十二解码的系数数据。
因此,与上面参考图12~14说明的过程相比,更大量的数据被存储在L1缓存131或L2缓存132中。换句话说,上面参考图12~14说明的控制过程比上面参考图17~19说明的控制过程需要存储在L1缓存131或L2缓存132中的数据量更小。
此外,因为在执行合成滤波处理的提升计算之前,对分区中的全部编码数据进行了解码,所以如图19中所示,与上面参考图12~14说明的过程相比,在输出第一部分基带图像数据的时序中发生了更大的延迟。换句话说,使用上面参考图12~图14说明的过程使得解码器200可以比在采用参考图17~图19说明的过程的情况下在更早的时刻输出第一部分的基带图像数据。即,与在采用上面参考图17~图19说明的过程的情况下相比,使用上面参考图12~图14说明的过程使得解码器可以将由小波逆变换引起的延时减小更大的量。
然而,同样在上面参考图17~图19说明的过程中,执行提升计算,使得像在上面参考图12~图14说明的过程中一样,以2行为单位一部分接一部分地生成并输出基带图像数据,与从最高划分级别到最低划分级别按顺序在分区中执行提升计算的情况相比,小波逆变换单元224能够在更早的时间输出第一部分的基带图像数据。
在上面参考图17~图19说明的过程中,像在上面参考图12~图14说明的过程中一样,每次执行提升计算,控制单元211控制中间数据缓冲器223,以从L1缓存131和L2缓存132中删除(丢弃)在下面的提升计算处理中不必要的系数。这使得解码器200可以减小存储在L1缓存131和L2缓存132中的数据量。
注意,在本控制过程中,如从图19中可见,控制单元211比在图14所示的控制处理中少切换处理几次,因此,图19中所示的控制过程比图14中所示的控制处理简单。
下面参考图20中所示的流程图说明控制处理的处理流程的另一个例子。注意,在本例中,控制处理同样一帧一帧地执行。
在该例子中,在执行小波逆变换处理之前,对分区中的全部编码数据执行熵解码处理,并按从最高划分级别到最低划分级别的顺序在分区中执行提升计算。
步骤S401~S403与图17所示流程中步骤S301~S303相似。即,如果开始控制处理,则首先在步骤S401中,控制单元211控制编码数据输入单元221,以便获取1行编码数据。在步骤S402中,控制单元211控制熵解码器222,以便对获取的编码数据执行熵解码处理。在步骤S403中,控制单元211控制中间数据缓冲器223,以便将作为熵解码处理的结果所获得的系数存储到L1缓存131或L2缓存132中。在步骤S404中,控制单元211判断是否分区中的全部编码数据已经被解码。如果判断为存在尚未被解码的编码数据,则控制单元211使处理流程返回到步骤S401以从步骤S401重复处理。即,控制单元211重复地执行步骤S401~S404,直到分区中的全部编码数据被解码。
在步骤S404中判断为全部编码数据被解码的情况下,处理进行到步骤S405。
在步骤S405中,控制单元211设置合成滤波处理,以便执行与最高级别相关的处理。在步骤S406中,控制单元211控制小波逆变换单元224来执行合成滤波处理,以生成2行较低划分级别的系数,即,控制单元211控制小波逆变换单元224完成提升计算的一次执行。
在步骤S407中,控制单元211判断是否对本级别中的全部系数完成了处理。如果判断为存在尚未处理的本级别中的系数,控制单元211使处理流程返回到步骤S406,以从步骤S406重复处理。在步骤S407中判断为已经处理了该级别中的全部系数的情况下,控制单元211使处理前进到步骤S408。在步骤S408中,控制单元211控制中间数据缓冲器223,以从L1缓存131或L2缓存132存储的系数中删除合成滤波处理中不会使用的不必要的系数。
在步骤S409中,控制单元211判断作为在步骤S406中的处理的结果而获得的系数是否为最低级别,即,是否获得了基带图像数据。在判断为合成滤波处理的获得结果不是基带图像数据的情况下,控制单元211使处理前进到步骤S410。在步骤S410中,控制单元211将要处理的划分级别减低一级。控制单元211使处理流程返回到步骤S406,以从步骤S406重复处理。即,重复执行步骤S406~S410,直到对全部划分级别完成处理,即,递归地重复合成滤波处理的提升计算,直到对全部划分级别完成处理。
如果在步骤S409中判断为作为合成滤波处理的结果获得了基带图像数据,则控制单元211使处理流程前进到步骤S411,以输出所有行的图像数据。如果步骤S411完成,则控制处理结束。
图21示出在控制单元211的控制下执行的合成滤波处理的过程的具体例子。在程序的该例子中,不像上面说明的程序,整个分区被视为一个区域411,并对于每个划分级别执行提升计算。因此,如图22中所示,直到熵解码处理和小波变换处理完成,解码器200才输出基带图像数据。这导致与上面说明的各过程相比,输出第一部分基带图像的时刻延迟。除此之外,与上面说明的程序相比,更大量的数据被存储在L1缓存131或L2缓存132中。
与在上面说明的各过程中一样,在本过程中,每次执行提升计算,控制单元211控制中间数据缓冲器223,以从L1缓存131和L2缓存132中删除(丢弃)后面的提升计算处理中不必要的系数。这使得解码器200可以减小存储在L1缓存131和L2缓存132中的数据量。
注意,在本控制过程中,如从图22可见,控制单元211切换处理的次数小于在图14中或在图19中所示的控制处理的切换次数,因此,图22中所示的控制过程比图14或图19中所示的控制处理更简单。
在根据本发明的实施例中,如上所述,解码器200针对与每个编码数据相关的每次处理控制熵解码处理,并针对每次提升计算处理控制小波逆变换处理。解码器200适当地执行调度,以便减小由解码处理和小波逆变换处理引起的延时。通过适当地执行时序安排并删除不必要的系数,解码器200能够大大减小在解码处理和小波逆变换处理期间保持的数据量,并能够将数据存储在能够快速读取/写入数据的L1缓存131和L2缓存132中。这使得解码器200可以进一步减小由解码处理和小波逆变换处理引起的延迟。
在上面说明的实施例中,针对与每个编码数据相关的每次处理控制熵解码处理,并针对每次提升计算处理控制小波逆变换处理。然而,本发明对于处理单位没有特别限制,且可以以任意单位执行解码处理和小波逆变换处理。例如,可以对被设置为小于与每个编码数据相关的每次处理的每个处理单位执行熵解码处理,从而实现控制处理中的高精度。相反地,可以采用与多个编码数据相关的处理作为处理单位,从而实现简单的控制处理。相似地,小波逆变换处理的处理单位可以被设置为小于提升计算处理,从而实现控制处理中的高精度,或相反,可以采用与多次提升计算处理相关的处理作为处理单位,从而实现控制处理的简化。
在上面所述的实施例中,使用5×3滤波器执行滤波处理。然而,对滤波处理中使用的滤波器没有特别限制。例如,可以采用9×7滤波器。
可以通过不同的处理模块执行熵解码处理和小波逆变换处理。
可以用硬件或软件执行上面说明的处理步骤的序列。可以用任何设备执行软件程序,只要该设备能够执行该软件程序。例如,可以用图23中所示的个人计算机执行软件程序。
如图23中所示,个人计算机500的CPU 501根据存储在ROM(只读存储器)中的程序,或根据从存储单元513加载到RAM(随机访问存储器)503中的程序来执行各种处理。RAM 503还用来存储CPU 501执行各种处理时使用的数据。
CPU 501、ROM 502和RAM 503通过总线504互相连接。总线504还连接到输入/输出接口510。
输入/输出接口510还连接到包括键盘、鼠标等的输入单元511,包括例如CRT(阴极射线管)或LCD(液晶显示器)的显示器及扬声器的输出单元512,例如硬盘的存储单元513,以及例如调制解调器的通信单元514。通信单元514用于通过例如因特网的网络执行通信。
此外,如果需要,输入/输出接口510还连接到驱动器515。如果需要,在驱动器515上安装例如磁盘、光盘、磁光盘或半导体存储器的可移动存储介质521,且如果需要,从可移动存储介质521读取计算机程序,并安装到存储单元513中。
当用软件执行处理序列时,可以将构成软件的程序从存储介质或通过网络安装到计算机。
这种可用于上面目的的存储介质的例子是存储有程序且被提供给与计算机独立的用户的可移动介质,例如图23中示出的可移动介质521。具体例子包括:磁盘(例如软盘)、光盘(例如CD-ROM(压缩盘只读存储器)和DVD(数字通用盘))、磁光盘(例如MD(迷你盘,注册商标))以及半导体存储器。还可以通过将程序预安装到内置ROM 512或例如设置在计算机中的硬盘的存储单元513来提供给用户。
在本说明书中,既可以根据程序中说明的顺序按时间顺序,也可以以并行或独立的方式执行存储在存储介质中的程序所描述的步骤。
在本说明书中,数据“系统”用来说明包括多个子设备的设备整体。
在上述实施例中使用的单个单元/模块等可以被分为多个单元/模块等。相反地,在上述实施例中使用的多个单元/模块等可以被合并为单个单元/模块等。在上述实施例中的单元/模块等可以具有附加功能。在上述实施例中的任何单元/模块等中的功能可以转移给另一个单元/模块,只要整个系统可以以实质相同的方式操作或可以提供实质相同的功能。
本领域的技术人员应该理解,取决于设计需要和其它因素,可以发生各种变型、合并、子合并以及改变,只要它们在所附权利要求书或其等同物的范围内。
Claims (10)
1.一种信息处理设备,包括:
合成滤波处理装置,用于对图像数据执行合成滤波处理,所述图像数据已经过分解滤波处理的分级执行,所述分解滤波处理的每次执行使所述图像数据的频率分量被分为高频分量和低频分量,所述分解滤波处理的全部分级执行使所述图像数据被分为多个频带,所述合成滤波处理包括通过执行提升计算来合成每个划分级别中的各频带的频率分量;以及
控制装置,该控制装置对于每次提升计算控制由所述合成滤波处理装置进行的合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
2.根据权利要求1所述的信息处理设备,其特征在于,所述控制装置对于每次提升计算控制由所述合成滤波处理装置进行的合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括两行。
3.根据权利要求1所述的信息处理设备,其特征在于,所述控制装置控制所述合成滤波处理的执行,使得在所述图像数据的每部分的产生过程中,只执行为产生该部分图像数据所需的提升计算。
4.根据权利要求1所述的信息处理设备,其特征在于,每次执行所述提升计算,所述控制装置从用于存储在所述合成滤波处理中使用的频率分量的存储单元中删除在后面的提升计算中不会使用的不必要的频率分量。
5.根据权利要求1所述的信息处理设备,其特征在于,还包括用于对已通过所述分解滤波处理的分级执行而被分为多个频带的所述图像数据的每个频率分量的编码数据进行解码的解码装置,
所述合成滤波处理装置对通过由所述解码装置执行的解码而从所述编码数据获得的频率分量执行合成滤波处理,且
所述控制装置控制由所述解码装置进行的解码处理的执行,所述解码处理被分为多个处理步骤,所述控制装置控制所述解码处理在每个处理步骤的执行。
6.根据权利要求5所述的信息处理设备,其特征在于,所述控制装置采用与每个编码数据相关的处理作为所述处理步骤,并控制所述解码处理对于每个编码数据的执行。
7.根据权利要求6所述的信息处理设备,其特征在于,在所述图像数据的每部分的产生过程中,所述控制装置控制所述解码装置,以便只对在产生该部分图像数据时所必需的编码数据执行所述解码处理。
8.根据权利要求7所述的信息处理设备,其特征在于,所述控制装置控制所述合成滤波处理装置,以便只对产生该部分图像数据所必需的、所获得的频率分量执行提升计算。
9.根据权利要求6所述的信息处理设备,其特征在于,所述控制装置控制所述解码装置,使得对属于编码数据的一特定集合的全部编码数据执行所述解码处理,并且在完成了对该特定集合的编码数据的解码处理后,所述控制装置控制所述合成滤波处理装置,使得对因所述解码处理而获得的频率分量进行所述提升计算。
10.一种信息处理方法,包括对图像数据执行合成滤波处理的步骤,所述图像数据已经过分解滤波处理的分级执行,所述分解滤波处理的每次执行使所述图像数据的频率分量被分为高频分量和低频分量,所述分解滤波处理的全部分级执行使所述图像数据被分为多个频带,所述合成滤波处理包括通过执行提升计算来合成每个划分级别中的各频带的频率分量;
对于每次提升计算控制所述合成滤波处理的执行,使得以允许所述图像数据被一部分接一部分地产生的顺序来执行提升计算,每个部分包括多行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007131627A JP4356032B2 (ja) | 2007-05-17 | 2007-05-17 | 情報処理装置および方法 |
JP2007-131627 | 2007-05-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101309415A CN101309415A (zh) | 2008-11-19 |
CN101309415B true CN101309415B (zh) | 2010-08-18 |
Family
ID=40027544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100990862A Expired - Fee Related CN101309415B (zh) | 2007-05-17 | 2008-05-16 | 信息处理设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8204331B2 (zh) |
JP (1) | JP4356032B2 (zh) |
CN (1) | CN101309415B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4793320B2 (ja) * | 2007-05-17 | 2011-10-12 | ソニー株式会社 | 情報処理装置および方法 |
JP4670947B2 (ja) * | 2008-12-05 | 2011-04-13 | ソニー株式会社 | 情報処理装置および方法 |
JP4626707B2 (ja) * | 2008-12-08 | 2011-02-09 | ソニー株式会社 | 情報処理装置および方法 |
JP5939893B2 (ja) * | 2012-06-06 | 2016-06-22 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
CN104616467B (zh) * | 2014-11-12 | 2018-04-03 | 江苏大学 | 一种电动汽车制动能量回收系统数据采集方法 |
US10417766B2 (en) | 2014-11-13 | 2019-09-17 | Samsung Electronics Co., Ltd. | Method and device for generating metadata including frequency characteristic information of image |
CN108475416A (zh) * | 2017-06-30 | 2018-08-31 | 深圳市大疆创新科技有限公司 | 处理图像的方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283342A (ja) | 1997-04-02 | 1998-10-23 | Matsushita Electric Ind Co Ltd | ウェーブレット変換装置 |
US6546143B1 (en) * | 1999-03-12 | 2003-04-08 | Hewlett-Packard Development Company | Efficient wavelet-based compression of large images |
US6665444B1 (en) * | 1999-04-28 | 2003-12-16 | Canon Kabushiki Kaisha | Image processing apparatus and method, and storage medium |
AU2001253563A1 (en) * | 2000-04-18 | 2001-10-30 | Rtimage Inc. | System and method for the lossless progressive streaming of images over a communication network |
JP2002101310A (ja) | 2000-09-21 | 2002-04-05 | Canon Inc | フィルタ処理装置及び方法 |
US6904177B2 (en) * | 2001-03-13 | 2005-06-07 | Canon Kabushiki Kaisha | Filter processing apparatus |
AUPR662601A0 (en) * | 2001-07-26 | 2001-08-16 | Canon Kabushiki Kaisha | Inverse discrete wavelet transforms for data decompression |
JP3984886B2 (ja) * | 2001-09-28 | 2007-10-03 | キヤノン株式会社 | データ変換装置、データ変換方法、コンピュータプログラム、記憶媒体 |
JP4223795B2 (ja) | 2002-12-13 | 2009-02-12 | 株式会社メガチップス | ウェーブレット変換装置およびウェーブレット変換方法 |
JP4360379B2 (ja) * | 2006-05-16 | 2009-11-11 | ソニー株式会社 | 画像処理装置及び画像処理方法、プログラム及び記録媒体 |
JP4371120B2 (ja) * | 2006-05-16 | 2009-11-25 | ソニー株式会社 | 画像処理装置及び画像処理方法、プログラム及び記録媒体 |
JP4182446B2 (ja) * | 2006-07-14 | 2008-11-19 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
JP4182447B2 (ja) * | 2006-07-14 | 2008-11-19 | ソニー株式会社 | 情報処理装置および方法、プログラム、並びに記録媒体 |
-
2007
- 2007-05-17 JP JP2007131627A patent/JP4356032B2/ja not_active Expired - Fee Related
-
2008
- 2008-04-25 US US12/109,705 patent/US8204331B2/en not_active Expired - Fee Related
- 2008-05-16 CN CN2008100990862A patent/CN101309415B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8204331B2 (en) | 2012-06-19 |
CN101309415A (zh) | 2008-11-19 |
JP2008288857A (ja) | 2008-11-27 |
JP4356032B2 (ja) | 2009-11-04 |
US20080285865A1 (en) | 2008-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101309415B (zh) | 信息处理设备和方法 | |
CN101309417B (zh) | 用于处理图像数据的方法和设备 | |
Nguyen et al. | Rapid high quality compression of volume data for visualization | |
JP3436832B2 (ja) | ウエーブレット変換フィルタ | |
JP4204165B2 (ja) | 画像圧縮装置 | |
US6195465B1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
US20030123743A1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
JPH08506226A (ja) | 情報を圧縮するための装置及び方法 | |
EP1035511A2 (en) | Encoding method and apparatus | |
JP4525704B2 (ja) | 符号化装置および方法、記録媒体、並びにプログラム。 | |
JP2003533952A (ja) | ビデオ系列の圧縮のための符号化方法 | |
CN101309418B (zh) | 用于处理信息的设备和方法 | |
CN101309416B (zh) | 信息处理设备和方法 | |
CN101072354A (zh) | 图像编码装置以及图像编码方法 | |
CN107483964A (zh) | 一种利用gpu实现jpeg2000解压缩算法中逆小波变换的加速方法 | |
CN101754021B (zh) | 基于改进小波变换图像压缩方法实现手机移动门户的方法 | |
CN102158695A (zh) | 图像处理设备和方法 | |
CN101754014B (zh) | 信息处理设备和方法 | |
US20080285870A1 (en) | Information processing device and method | |
CN102131082A (zh) | 图像处理装置和图像处理方法 | |
CN101754017B (zh) | 信息处理设备和方法 | |
CN103067023A (zh) | 基于提升的高效dwt编码方法及编码器 | |
CN103533357B (zh) | 基于fpga的多级复用小波变换器 | |
CN102281437A (zh) | 用于图像压缩的提升结构二维离散小波变换交织扫描方法 | |
CN109636756B (zh) | 一种嵌入式图像处理的小波系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100818 Termination date: 20150516 |
|
EXPY | Termination of patent right or utility model |