解码装置和解码方法

文档序号:7746410阅读:185来源:国知局

专利名称::解码装置和解码方法解码装置和解码方法本申请是发明名称为"编码方法、编码装置、解码方法、解码装置及其程序"(申请号200580001092.4;申请日2005年7月11日)的申请的分案申请。
背景技术
:近些年来,基于MPEG(运动图像专家组)和其他通过离散余弦变换或其他正交变换及运动补偿来压縮的方法的装置(其中将图像数据作为数字处理并且使用图像信息特有的冗余来高效传输和累积信息)已经广泛用于广播台等发布信息和普通家庭接收信息。MPEG2和MPEG4方法之后有称为MPEG4/AVC(高级视频编码)的编码方法提议。在MPEG4/AVC方法的编码装置中,对要以具有例如4X4大小的块数据为单位进行编码的图像数据执行正交变换来,并且指示由此获得的块数据的变换系数中包含的非零变换系数数量的非零系数数量数据经受基于多个对应数据(VLC表)的可变长度编码,每个对应数据将42个非零系数数量数据的值与对应值规定为其编码代码。这里,规定多个对应数据使得指示"O"的非零系数数量数据的位长度彼此不同,并且当指示"O"的非零系数数量数据的位长度变得更短时,在对应数据中使用的编码代码的最大位长度变长。此外,在上述编码装置中,通过选择对应数据提高了编码效率,其中具有较长位长度的编码代码被分配给指示"0"的非零系数数量数据,而除"0"和"1"之外的可变系数数量在要编码的4X4块数据的块数据的变换系数中增加。
发明内容本发明要解决的问题然而在上述编码装置中,正交变换有时是以具有8X8块大小的块数据(8X8块数据)为单位执行的。然而,上述现有技术的对应数据仅仅以42的数量对应于非零系数数量数据,而不能获得通过对8X8块数据执行正交变换而获得的以82的数量对非零系数数量数据的编码。考虑上述情况做出了本发明,并且提供用于对变换系数的非零系数数量数据执行编码的编码方法、编码装置和程序,该数据是通过根据遵从第一块大小的对应数据对具有第二块大小的图像块数据的正交变换获得的,其中第二块大小是第一块大小的倍数。解决问题的手段为了克服上述现有技术的缺点并且实现上述目的,根据本发明的第一方面,提供用于利用关于非零系数数量数据的对应数据执行可变长度编码的编码方法,所述非零系数数量数据指示在通过对图像块数据执行正交变换得到的多个变换系数中的非零变换系数数量,该方法包括当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"O"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"O"的非零系数数量数据的位长度其中而变长时,第一步骤,用于在与具有所述第一块大小的图像块数据中一样多的所述变换系数构成的多个子块数据当中,根据对应于变换系数的频率将通过对具有第二块大小的图像块数据执行正交变换得到的多个变换系数分配给一个子块数据,其中第二块大小是所述第一块大小的倍数;第二步骤,用于根据在所述第一步骤中分配给子块数据的所述变换系数为所述多个子块数据中的每个生成所述非零系数数量数据;和第三步骤,用于通过使用所述对应数据,确定要分配给在所述第二步骤中为所述多个子块数据中的每个生成的所述非零系数数量数据的所述编码代码,其中在所述对应数据中,与用于关于所述子块数据的直流分量侧上的其他子块数据的所述对应数据中的位长度相比,具有较短位长度的编码代码被分配给指示"O"的所述非零系数数量数据。根据本发明的第二方面,提供用于利用关于非零系数数量数据的对应数据执行可变长度编码的编码装置,所述非零系数数量数据指示在通过对图像块数据执行正交变换得到的多个变换系数中的非零变换系数数量,该装置包括当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"o"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"0"的非零系数数量数据的位长度其中而变长时,分配设备,用于在与具有所述第一块大小的图像块数据中一样多的所述变换系数构成的多个子块数据当中,根据对应于变换系数的频率将通过对具有第二块大小的图像块数据执行正交变换得到的多个变换系数分配给一个子块数据,其中第二块大小是所述第一块大小的倍数;生成设备,用于根据所述分配设备分配给子块数据的所述变换系数为所述多个子块数据中的每个生成所述非零系数数量数据;和编码设备,用于通过使用所述对应数据,确定分配给所述生成设备为所述多个子块数据中的每个生成的所述非零系数数量数据的所述编码代码,其中在所述对应数据中,与用于关于所述子块数据的直流分量侧上的其他子块数据的所述对应数据中的位长度相比,具有较短位长度的编码代码被分配给指示"O"的所述非零系数数量数据。本发明的第二方面的操作如下。分配设备在与具有所述第一块大小的图像块数据中一样多的所述变换系数构成的多个子块数据当中,根据对应于变换系数的频率将通过对具有第二块大小的图像块数据执行正交变换得到的多个变换系数分配给一个子块数据,其中第二块大小是所述第一块大小的倍数。接着,生成设备根据所述分配设备分配给子块数据的所述变换系数为所述多个子块数据中的每个生成所述非零系数数量数据。接着,编码设备通过使用所述对应数据,确定分配给所述生成设备为所述多个子块数据中的每个生成的所述非零系数数量数据的所述编码代码,其中在所述对应数据中,与用于关于所述子块数据的直流分量侧上的其他子块数据的所述对应数据中的位长度相比,具有较短位长度的编码代码被分配给指示"0"的所述非零系数数量数据。根据本发明的第三方面,提供计算机执行的程序,用来在通过对图像块数据执行正交变换得到的多个变换系数中、通过使用指示非零变换系数数量的非零系数数量数据的对应数据来执行可变长度编码,其中所述计算机执行当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"o"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"O"的非零系数数量数据的位长度其中而变长时,第一过程,用于在与具有所述第一块大小的图像块数据中一样多的所述变换系数构成的多个子块数据当中,根据对应于变换系数的频率将通过对具有第二块大小的图像块数据执行正交变换得到的多个变换系数分配给一个子块数据,其中第二块大小是所述第一块大小的倍数;第二过程,用于根据在所述第一过程中分配给子块数据的所述变换系数为所述多个子块数据中的每个生成所述非零系数数量数据;和第三过程,用于通过使用所述对应数据,确定要分配给在所述第二过程中为所述多个子块数据中的每个生成的所述非零系数数量数据的所述编码代码,其中在所述对应数据中,与用于关于所述子块数据的直流分量侧上的其他子块数据的所述对应数据中的位长度相比,具有较短位长度的编码代码被分配给指示"0"的所述非零系数数量数据。根据本发明的第四方面,提供解码方法,用于根据对应于变换系数的频率,将通过以具有第二块大小的块数据为单位对要编码的图像数据执行正交变换得到的变换系数分配给多个子块数据,其中第二块大小是第一块大小的倍数;为所述多个子块数据的每个生成指示构成子块数据的变换系数中的非零变换系数数量的非零系数数量数据;以及当通过使用预定的对应数据得到所述非零系数数量数据的编码代码时,使用所述对应数据从所述编码代码中取出所述非零系数数量数据,该方法包括当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"o"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"O"的非零系数数量数据的位长度其中而变长时,第一步骤,用于通过使用所述对应数据,确定分配给所述多个子块数据的所述编码代码中的每个的所述非零系数数量数据,其中与用于直流分量侧上的所述子块数据的所述对应数据中的位长度相比,具有较长的位长度的编码代码和所述指示"O"的非零系数数量数据关于该子块数据相关;第二步骤,用于根据在所述第一步骤中为所述多个子块数据中的每个确定的所述非零系数数量数据,生成构成子块数据的所述变换系数;和第三步骤,用于重布置在所述第二步骤中生成的所述变换系数,并且得到具有所述第二块大小的所述块数据的变换系数。根据本发明的第五方面,提供解码装置,用于根据对应于变换系数的频率,将通过以具有第二块大小的块数据为单位对要编码的图像数据执行正交变换得到的变换系数分配给多个子块数据,其中第二块大小是第一块大小的倍数;为所述多个子块数据的每个生成指示构成子块数据的变换系数中的非零变换系数数量的非零系数数量数据;以及当通过使用预定的对应数据得到所述非零系数数量数据的编码代码时,使用所述对应数据从所述编码代码中取出所述非零系数数量数据,该装置包括当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"o"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"O"的非零系数数量数据的位长度其中而变长时,确定设备,用于通过使用所述对应数据,确定分配给所述多个子块数据的所述编码代码中的每个的所述非零系数数量数据,其中与用于直流分量侧上的所述子块数据的所述对应数据中的位长度相比,具有较长的位长度的编码代码和当指示"O"的非零系数数量数据的位长度其中时,所述指示"O"的非零系数数量数据关于该子块数据相关;生成设备,用于根据在所述确定设备中为所述多个子块数据中的每个确定的所述非零系数数量数据,生成构成子块数据的所述变换系数;和取出设备,用于重布置在所述生成设备生成的所述变换系数,并且得到具有所述第二块大小的所述块数据的变换系数。本发明的第五方面的操作如下。确定设备通过使用所述对应数据,确定分配给所述多个子块数据的所述编码代码中的每个的所述非零系数数量数据,其中与用于直流分量侧上的所述子块数据的所述对应数据中的位长度相比,具有较长的位长度的编码代码和当指示"O"的非零系数数量数据的位长度其中时,所述指示"O"的非零系数数量数据关于该子块数据相关。接着,生成设备根据在所述确定设备中为所述多个子块数据中的每个确定的所述非零系数数量数据,生成构成子块数据的所述变换系数。接着,取出设备重布置在所述生成设备生成的所述变换系数,并且得到具有所述第二块大小的所述块数据的变换系数。根据本发明的第六方面,提供计算机执行的程序,用来根据对应于变换系数的频率,将通过以具有第二块大小的块数据为单位对要编码的图像数据执行正交变换得到的变换系数分配给多个子块数据,其中第二块大小是第一块大小的倍数;为所述多个子块数据的每个生成指示构成子块数据的变换系数中的非零变换系数数量的非零系数数量数据;以及当通过使用预定的对应数据得到所述非零系数数量数据的编码代码时,使用所述对应数据从所述编码代码中取出所述非零系数数量数据,所述计算机执行当对于在具有第一块大小的图像块数据中的所述非零系数数量数据的各个可能值使用每个都规定非零系数数量数据与编码代码的对应的多个对应数据、以使得指示"o"的非零系数数量数据的位长度变得彼此不同,而对应数据使用的所述编码代码的最大位长度随着指示"O"的非零系数数量数据的位长度其中而变长时,第一过程,用于通过使用所述对应数据,确定分配给所述多个子块数据的所述编码代码中的每个的所述非零系数数量数据,其中与用于直流分量侧上的所述子块数据的所述对应数据中的位长度相比,具有较长的位长度的编码代码和所述指示"0"的非零系数数量数据关于该子块数据相关;第二过程,用于根据在所述第一过程中为所述多个子块数据中的每个确定的所述非零系数数量数据,生成构成子块数据的所述变换系数;和第三过程,用于重布置在所述第二过程中生成的所述变换系数,并且得到具有所述第二块大小的所述块数据的变换系数。发明效果根据本发明,可以提供用于根据遵从第一块大小的对应数据、对通过对具有第二块大小(是第一块大小的倍数)的图像块数据执行正交变换得到的变换系数的非零系数数量数据编码的编码方法、编码装置和程序。此外,根据本发明,可以提供用于解码通过上述编码得到的编码代码的解码方法、解码装置和程序。图1是根据本发明第一实施例的通信系统的配置图。图2是根据图1所示的编码装置的功能方框图。图3是根据图2所示的可逆编码电路的配置图。图4A和4B是图解图3所示的扫描电路扫描4X4块数据的正交变换的顺序的视图。图5是图解图3所示的扫描电路扫描8X8块数据的正交变换的顺序的视图。图6是图解游程等级(run—level)计算电路生成4X4块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOne"的方法的视图。图7A和7B是图解图3所示的二维可逆编码电路对4X4块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOne"执行编码的方法的视图。图8是图解图3所示的二维可逆编码电路对8X8块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOne"执行编码的方法的视图。图9是图解图3所示的二维可逆编码电路对8X8块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOne"执行编码的方法的视图。图10是图解图3所示的可逆编码电路的操作示例的视图。图11是图1所示的解码装置的配置图。图12是图11所示的可逆编码电路的配置图。标记列表1...通信系统,2...编码装置,3...解码装置,22..^/0转换电路,23...屏幕重布置电路,24...计算电路,25...正交变换电路,26...量化电路,27...可逆编码电路,28...缓冲存储器,29...逆量化电路,30...逆正交变换电路,31...帧存储器,32...速率控制电路,33...加法电路,41...内预测电路,42...运动预测补偿电路,45...正交变换大小确定电路,51...扫描电路,52...子块生成电路,53...游程等级计算电路,54...二维可逆编码电路,55...等级子块生成电路,56...游程编码电路,57...复用电路,81...缓冲存储器,82...可逆编码电路,83...逆量化电路,84...逆正交变换电路,85...加法电路,86...帧存储器,87...屏幕重布置缓冲区,88...0/^转换电路,110...分离电路,lll...二维可逆解码电路,112...等级解码电路,113...游程解码电路,114...变换系数恢复电路,115...块恢复电路,116...扫描变换电路。具体实施例方式下面将说明根据本发明实施例的编码装置。首先将说明本实施例的部件与本发明的部件的对应关系。本实施例中4X4块大小对应于本发明中的第一块大小,而本实施例中8X8块大小对应于本发明中的第二块大小。此外,本实施例中的非零系数数量数据"TotalCoeff"对应于本发明中的非零系数数量数据。此外,在表1右侧的数字对应于本发明的编码代码。表1所示的变换表数据TRNal、2、3和4对应于本发明中的对应数据。此外,图8所示的子块数据SB1、SB2、SB3和SB4对应于本发明中的子块数据。图10中的步骤ST17和ST18对应于本发明第一方面的第一步骤,步骤ST19对应于第二步骤,而步骤ST21和ST22对应于第三步骤。此外,图10中的步骤ST13对应于本发明第一方面的第四步骤,步骤ST14和ST15对应于第五步骤,而步骤ST16对应于第六步骤。图3所示的扫描变换电路51和子块生成电路52对应于本发明第二方面的分配装置。此外,图3所示的游程等级计算电路53对应于本发明第二方面的生成装置,二维可逆编码电路54对应于本发明第二方面的编码装置。图12所示的二维可逆编码电路111对应于本发明第五方面的确定装置,变换系数恢复电路114对应于本发明第五方面的生成装置,块恢复电路115对应于本发明第五方面的取出装置。下面将说明本发明实施例中的通信系统1。首先,将说明本实施例的部件与本发明部件的对应。图1是本实施例的通信系统1的概念图。如图1所示,通信系统1具有在发送侧上提供的编码装置2和在接收侧上提供的解码装置3。编码装置2对应于本发明的数据处理装置和编码装置。在通信系统1中,在发送侧上的编码装置2中,由正交变换(如离散余弦变换和Karh皿en-Loeve变换)压縮帧图像数据(位流),并且生成运动补偿,调制然后通过传输介质(如卫星广播电波、有线TV网络、电话线网络和蜂窝电话网络)发送。在接收侧上,在解调在解码装置3中接收到的图像信号后,通过正交变换的逆变换展开帧图像数据,并且生成和使用上述调制的运动补偿。注意,传输介质可以是光盘、磁盘、半导体存储器和其他记录介质。下面将说明图1中的编码装置2。图2是图1的编码装置2的总体配置图。如图2所示,编码装置2包括例如A/D变换电路22、屏幕重布置电路23、计算电路24、正交变换电路25、量化电路26、可逆编码电路27、缓冲存储器28、逆量化电路29、逆正交变换电路30、帧存储器31、速率控制电路32、加法电路33、内预测电路41、运动预测补偿电路42和正交变换大小确定电路45。下面将说明编码装置2的部件。[A/D转换电路22]A/D转换电路22将由模拟亮度信号Y和色差信号Pb和Pr组成的输入原始图像信号S10转换成数字画面数据S22,并将其输出到屏幕重布置电路23。[屏幕重布置电路23]屏幕重布置电路23将从A/D转换电路22输入的画面数据S22中的帧数据重布置成按照根据由帧数据的画面类型I、P和B构成的G0P(画面组)结构的编码顺序,以便获得原始图像数据S23,并将其输出到计算电路24、运动预测补偿电路42和内预测电路41。[计算电路24]计算电路24生成指示原始图像数据S23和从内预测电路41或运动预测补偿电路42输入的预测图像数据之间的差的图像数据S24,并将其输出到正交变换电路25。[OO73][正交变换电路25]正交变换电路25对图像数据S24执行正交变换,如离散余弦变换(DCT)和Karhunen-Loeve变换,来生成指示变换系数的图像数据(例如,DCT系数)S25,并将其输出到量化电路26。正交变换电路25以由从正交变换大小确定电路45输入的正交变换大小信号TRSIZE所指定的正交变换大小,对从计算电路24输出的图像数据S24执行正交变换,以生成指示变换系数的图像数据S25。在本实施例中,使用4X4禾P8X8的块大小作为正交变换大小。[量化电路26]量化电路26基于从正交变换大小确定电路45输入的正交变换大小信号TRSIZE和从速率控制电路32输入的量化级QS,对图像数据S25(量化前的变换系数)执行量化,以便生成指示量化后的变换系数的图像数据S26,并将其输出到可逆编码电路27和逆量化电路29。例如,当正交变换电路25选择4X4和8X8中的一个并且执行到整数精度的正交变换时,在量化电路26中归一化处理中使用的适合系数在4X4和8X8之间是不同。因此,量化电路26基于正交变换大小信号TRSIZE所指示的正交变换大小纠正从速率控制电路32输入的量化级QS,并且使用经纠正的量化级量化图像数据S25。[可逆编码电路27]可逆编码电路27将通过对图像数据S26执行可变长度编码获得的图像数据存储在缓冲存储器28中。此时,可逆编码电路27将从运动预测补偿电路42输入的运动向量MV或其差动运动向量、参考图像数据的标识数据以及从内预测电路41输入的内预测模式存储在头数据等中。可逆编码电路27根据相应的4X4块大小和8X8块大小的正交变换执行可逆编码处理。将在稍后详细描述可逆编码电路27的编码处理。[缓冲存储器28]存储在缓冲存储器28中的图像数据经过调制等,并且作为图像数据S2发送。图像数据S2由解码装置3解码,这将在稍后描述。[OOSS][逆量化电路29]逆量化电路29对图像数据S26执行对应于量化电路26的量化的逆量化,产生由此获得的数据,并将其输出到逆正交变换电路30。[oogo][逆正交变换电路30]逆正交变换电路30对从逆量化电路29输入的数据执行正交变换电路25的正交变换的逆变换,来生成图像数据并将其输出到加法电路33。[加法电路33]加法电路33将从逆正交变换电路30输入的(解码的)图像数据与从选择电路44输入的预测图像数据PI相加来产生参考(重构的)画面数据R_PIC,并将其写入帧存储器31中。注意,在加法电路33和帧存储器31之间可以提供去块(de-block)滤波器。去块滤波器将通过消除从加法电路33输入的重构图像数据中的块畸变获得的图像数据作为参考画面数据R_PIC写入帧存储器31中。[OO95][速率控制电路32]速率控制电路32基于从缓冲存储器28读取的图像数据生成量化级QS,并将其输出到量化电路26。[内预测电路41]内预测电路41确定在要经受内编码的宏块中给出最小残留误差的内预测的模式和预测块的块大小。内预测电路41使用4X4或16X16像素作为块大小。当选择内预测时,内预测电路41将经过内预测的预测图像数据输出到计算电路24。[运动预测补偿电路42]运动预测补偿电路42对已经编码、部分解码并记录在帧存储器31中的图像执行运动预测,以便确定给出最小残留误差的运动向量和运动补偿的块大小。运动预测补偿电路42使用16X16、16X8、8X16、8X8、8X4、4X8和4X4像素作为块大小。当选择内预测时,运动预测补偿电路42输出经内预测的预测图像数据到计算电路24。[正交变换大小确定电路45]正交变换大小确定电路45根据内预测电路41或运动预测补偿电路42(选择预测图像的电路)中最终确定(选择)的块大小,确定正交变换大小,并且将指示上述的正交变换大小信号TRSIZE输出到正交变换电路25、量化电路26和可逆编码电路27。特别地,当内预测电路41最终选择8X8像素的块大小时,正交变换大小确定电路45生成指示8X8像素的正交变换大小信号TRSIZE,而当内预测电路41最终选择8X8以外的块大小时,生成指示4X4像素的正交变换大小信号TRSIZE。此外,当运动预测补偿电路42最终选择8X8像素或更大的块大小时,正交变换大小确定电路45生成指示8X8像素的正交变换大小信号TRSIZE,而当运动预测补偿电路42最终选择小于8X8像素的块大小时,正生成指示4X4像素的正交变换大小信号TRSIZE。在本实施例中,正交变换大小确定电路45生成指示4X4或8X8的块大小的正交变换大小信号TRSIZE。下面将详细说明在可逆编码电路27中的图像数据S25的可变长度编码。图3是图2所示的可逆编码电路27的配置图。如图3所示,可逆编码电路27具有用于对图像数据S25执行可变长度编码的配置,并且包括例如,扫描变换电路51、子块生成电路52、游程等级计算电路53、二维可逆编码电路54、等级编码电路55、游程编码电路56和复用电路57。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,扫描变换电路51以图4A所示的数字次序(在帧编码的情况下)或图4B所示的数字次序(在场编码的情况下)扫描构成图像数据S26的4X4块数据中的16个变换系数,并按扫描的次序将其输出到子块生成电路52。另一方面,当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,扫描变换电路51以图5所示的数字次序扫描构成图像数据S26的4X4块数据中的64个变换系数,并按扫描的次序将其输出到子块生成电路52。在图5中,左上部分指示直流DC分量而右下部分对应于高频分量。此外,在图5中,水平方向指示水平频率分量,而垂直方向指示垂直频率分量。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,子块生成电路52将从扫描变换电路51连续输入的构成4X4块数据的16个变换系数依次输入到游程等级计算电路53。此外,当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,子块生成电路52在从扫描变换电路51输入的构成8X8块数据的64个变换系数中,确定第一到第16输入的变换系数为4X4子块数据SB1的分量,第17到第32输入的变换系数为4X4子块数据SB2的分量,第33到第48输入的变换系数为4X4子块数据SB3的分量,第49到第64输入的变换系数为4X4子块数据SB4的分量,并且将它们输出到游程等级计算电路53。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,游程等级计算电路53对从子块生成电路52连续输入的一系列16个变换系数生成等级数据"level"、游程数据"runj3efore"、游程总量数据"total—zero"、非零系数数量数据"TotalCoeff,,、最终连续数量数据"Trai1ing0nes,,禾口编码数据"trai1ing_ones_sing_flag,,。这里,等级数据"level"指示4X4块数据中的各个变换系数(除了"0"和"1"之外的变换系数)的值,在图6的情况下为"-3"、"+8"、"+ll"、"-4"和"+23"。游程数据"rurubefore"指示在4X4块数据中的非零系数之前的连零系数(变换系数为0)的数量,在图6的情况下为"1"、"2"、"0"、"2"、"0"和"0"。游程总量数据"total—zero"指示在4X4块数据中的非零系数之前的零系数的数量,在图6的情况下为"5"。非零系数数量数据"TotalCoeff"指示在4X4块数据中的非零系数的数量,在图6的情况下为"7"。最终连续数量数据"TrailingOnes"指示在4X4块数据中连续的绝对值为1的变换系数的数量,在图6的情况下为"2"。编码数据"trailing—ones—sing—flag"指示在4X4块数据的结尾处连续的绝对值为"1"的变换系数的代码,在图6的情况下为"_"和"+"。游程等级计算电路53将游程数据"run—before"和游程总量数据"total—zero"输出到游程编码电路56。游程等级计算电路53将等级数据"level"输出到等级编码单元55。游程等级计算电路53将非零系数数量数据"TotalCoeff"、最终连续数量数据"Trai1ing0nes"和编码数据"trai1ing_ones_sing_flag"输出到二维可逆编码电路54。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,游程等级计算电路53分别对从子块生成电路52输入的4X4子块SB1、SB2、SB3和SB4执行与上述4X4的情况相同的处理,来生成等级数据"level"、游程数据"r皿j3efore"、游程总量数据"total—zero"、非零系数数量数据"TotalCoeff"、最终连续数量数据"TrailingOnes"禾口编码数据"trailing_ones_sing_flag"。二维可逆编码电路54对非零系数数量数据"TotalCoeff"、最终连续数量数据"Trai1ing0nes,,禾口编码数据"trai1ing_ones_sing_flag"执行可变长度编码。下面将说明二维可逆编码电路54对非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码方法。首先,将说明正交变换大小信号TRSIZE指示4X4的情况。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,二维可逆编码电路54根据要处理的4X4块数据周围的4X4块数据中的变换系数当中除了"0"和"1"(或"0")之外的变换系数的数量,以及根据下面的总变换表数据TRNa,生成(取出)块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码。[表l]总变换表数据TRNa<table>tableseeoriginaldocumentpage14</column></row><table>上面表1中的总变换表数据TRNa定义五个变换表数据TRNal、2、3、4和5,变换表数据TRNal、2、3和4具有下面的特征。每个变换表数据TRNal、2、3和4规定非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码。这里,规定了变换表数据TRNal、2、3和4,从而指示"0"的非零系数数量数据"TotalCoeff"的位长度彼此不同,并且编码代码的最大位长度随着指示"0"的非零系数数量数据"TotalCoeff"的位长度其中而变长。当4X4块数据位于复杂的图像区域时,非零系数数量数据"TotalCoeff"为"O"的可能性很小,因此具有这样的特性值分散在从0到15的宽范围中。此外,当4X4块数据位于改变很小的平坦图像区域时,非零系数数量数据"TotalCoeff"为"0"的可能性很高,因此具有这样的特性值几乎不变高。因此,通过规定如上所述那样的变换表数据TRNal、2、3和4,对复杂图像区域中的4X4块数据选择变换表数据以提高整个编码效率,在所述变换表中要分配给指示"O"的非零系数数量数据"TotalCoeff"的编码代码的位长度长,但编码代码的最大位长度短。另一方面,对平坦图像区域中的4X4块数据选择变换表数据以提高整个编码效率,在所述变换表中编码代码的最大位长度长,但要分配给指示"0"的非零系数数量数据"TotalCoeff"的编码代码的位长度短。此外,对于其中最终连续数量数据"TrailingOnes"不同但非零系数数量数据"TotalCoeff"相同的多个集合,进行规定以使得编码代码的位长度随着最终连续数量数据"Trai1ingOnes"变大而变得相同或更长。如图7A和图7B所示,二维可逆编码电路54确定在要处理的4X4块数据C的左侧的、要显示的相邻4X4块数据A中"0"和"1"(或"0")之外的变换系数的数量为"nA",以及确定在要处理的4X4块数据C的上方的、要显示的相邻4X4块数据A中"0"和"1"(或"0")之外的变换系数的数量为"nB"。然后,二维可逆编码电路54由"nC=(nA+nB+1)>>1"生成索引数据"nC"。其中,">>l"指示向右移位"l"。二维可逆编码电路54根据索引数据"nC"从表1所示的总变换表数据TRNa规定的变换表数据TRNal、2、3、4和5中选择一个。当nA=2且nB=3时,nC=(2+3+1)>>1=3成立,并且二维可逆编码电路54选择变换表数据TRNa2。二维可逆编码电路54使用变换表数据TRNa5来编码色差信号的DC值。然后,二维可逆编码电路54通过使用所选的变换表数据TRNal、2、3、4和5取出上面4X4块数据中的非零系数数量数据"TotalCoeff"和最终连续数量数据"Trai1ingOnes"的编码代码,并且将其输出到复用电路57。接着,将说明正交变换大小信号TRSIZE指示8X8的情况。子块生成电路52生成的四个子块数据SB1、SB2、SB3和SB4可以如图8所示。在图8中,矩形的左上部分指示低频分量,而右下部分指示高频分量。因此,子块数据SB1中存在非零系数的可能性相对较高,而在子块数据SB4中几乎所有系数为0的可能性很高。因此,为了获得高的编码效率,应当在子块数据SB4中为值"O"分配具有短编码长度的编码代码,相反,应当在子块数据SB1中为较大值分配具有短编码长度的编码代码。这里,当正交变换大小信号TRSIZE指示8X8时,基于下面所述的(方法l)到(方法4)中的任一种生成索引数据"nC"。注意,生成索引数据"nC"的方法与解码装置3中的相同。(方法l)当假设要处理图9所示的8X8块数据C时,二维可逆编码电路54确定子块SB1的索引数据"nC"是"8",子块SB2和SB3的索引数据"nC"是"4",并且子块SB4的索引数据"nC"是"0"。因此,二维可逆编码电路54使用表1所示的变换表数据TRNa4来编码子块SB1,使用变换表数据TRNa3来编码子块SB2和SB3,以及使用变换表数据TRNal来编码子块SB4。(方法2)当假设要处理图9所示的8X8块数据C时,二维可逆编码电路54确定子块SB1的索引数据"nC"是"8",子块SB2和SB3的索引数据"nC"是"2",并且子块SB4的索引数据"nC"是"O"。因此,二维可逆编码电路54使用表1所示的变换表数据TRNa4来编码子块SB1,使用变换表数据TRNa2来编码子块SB2和SB3,以及使用变换表数据TRNal来编码子块SB4。(方法3)当假设要处理图9所示的8X8块数据C时,二维可逆编码电路54确定子块SB1的索引数据"nC"是"4",子块SB2和SB3的索引数据"nC"是"2",而子块SB4的索引数据"nC"是"O"。因此,二维可逆编码电路54使用表1所示的变换表数据TRNa3来编码子块SB1,使用变换表数据TRNa2来编码子块SB2和SB3,以及使用变换表数据TRNal来编码子块SB4。(方法4)当图9所示的要处理的块数据C的左侧和上方的相邻块数据A和B由8X8正交变换时,二维可逆编码电路54通过使用块数据A和B中相同位置处的子块数据SB1、SB2、SB3和SB4的"nA"和"nB"生成块数据C中的子块数据SB1、SB2、SB3和SB4的索引数据"nC"。例如,二维可逆编码电路54使用块数据A中的子块数据SB1的"nA"和块数据B中的子块数据SB1的"nB",由"nC=(nA+nB+l)>>l"生成块数据C中的子块数据SB1的索引数据"nC"。此外,当块数据A和B中的一个用8X8正交变换,而另一个用4X4正交变换时,二维可逆编码电路54确定8X8正交变换中的相同位置处的子块数据SB1、SB2、SB3和SB4中除了"0"和"1"(或"0")之外的系数数量为索引数据"nC"。例如,当块数据A为8X8而块数据B为4X4时,二维可逆编码电路54确定块数据A中除了"0"和"1"(或"0")之外的系数数量"nA"为块数据C中子块数据SB1的索引数据"nC"。此外,当块数据A禾PB者P是4X4时,二维可逆编码电路54使用块数据C中的子块数据SB1、SB2、SB3和SB4的相同位置处的块A和B中的子块数据SB1、SB2、SB3和SB4的"nA"和"nB",由"nC=(nA+nB+l)>>l"生成块数据C中的子块数据SB1、SB2、SB3和SB4的索引数据"nC"。注意,生成索引数据"nC"的上述方法仅仅是例子,并且只要该方法使用子块数据SB1、SB2、SB3和SB4的"nA"和"nB"来生成块数据C中的子块数据SB1、SB2、SB3和SB4的索引数据"nC",它并不受到特别限制。二维可逆编码电路54通过使用根据其对应的索引数据"nC"选择的变换表数据TRNal到5变换块数据C中的子块数据SB1、SB2、SB3和SB4。注意,当在方法4中块数据A和B都是4X4时,二维可逆编码电路54可以像(方法1)、(方法2)和(方法3)中任一个那样,根据其块数据SB1、SB2、SB3和SB4的位置确定块数据C中的子块数据SB1、SB2、SB3和SB4的索引数据"nC"。如上所述,当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,二维可逆编码电路54对于由子块生成电路52从要处理的8X8块数据生成的四个子块数据SB1、SB2、SB3和SB4确定或生成索引数据"nC"。然后,二维可逆编码电路54根据上面确定或生成的索引数据"nC"从表l所示的变换表数据TRNal到5中选择一个。二维可逆编码电路54使用所选的变换表数据TRNal到5来取出要处理的块数据的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码。下面,将说明确定在图3所示的可逆编码电路27中从图像数据S26中的每个块数据获得的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码的操作示例。图10是说明该操作示例的流程图。下面,将说明图10中的每个步骤。步骤ST11:当从图2所示的正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,图3所示的可逆编码电路27前进到步骤ST17,然后执行步骤ST17到ST22中的处理。另一方面,当正交变换大小信号TRSIZE指示4X4时,可逆编码电路27前进到步骤ST12,然后执行步骤ST12到ST16中的处理。步骤ST12:当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,扫描变换电路51在构成图像数据S26的4X4块大小中(在帧编码时以图4A所示的数字顺序,或者在场编码时以图4B所示的数字顺序)扫描16个变换系数,并且以扫描的次序将其输出到子块生成电路52。子块生成电路52将从扫描变换电路51输入的变换系数按原样输出到游程等级计算电路53。步骤ST13:当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,游程等级计算电路53对于从子块生成电路52连续输入的一系列16个变换系数生成等级数据"level"、游程数据"run_before"、游程总量数据"total—zero"、非零系数数量数据"TotalCoeff"、最终连续数量数据"Trailing0nes"和编码数据"trailing_ones_sing_flag,,。游程等级计算电路53将非零系数数量数据"TotalCoeff"、最终连续数量数据"Trai1ing0nes"输出到二维可逆编码电路54。步骤ST14:如图7A和图7B所示,二维可逆编码电路54确定在要处理的4X4块数据C的左例的、要显示的相邻4X4块数据A中"0"和"1"(或"0")之外的变换系数的数量为"nA",以及确定在要处理的4X4块数据C的上方的、要显示的相邻4X4块数据A中"0"和"1"(或"0")之外的变换系数的数量为"nB"。然后,二维可逆编码电路54由"nC=(nA+nB+1)>>1"生成索引数据"nC"。步骤ST15:二维可逆编码电路54根据在步骤ST14生成的索引数据"nC",选择表1所示的变换表数据TRNal到5中的一个。步骤ST16:二维可逆编码电路54通过使用在步骤ST15所选的变换表数据TRNal、2、3、4和5,取出在步骤ST13中输入的4X4块数据中的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码,并且将其输出到复用电路57。步骤ST17:当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,扫描变换电路51在构成图像数据S26的8X8块大小中以图5所示的数字顺序扫描64个变换系数,并且按扫描的次序将其输出到子块生成电路52。步骤ST18:当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示4X4时,子块生成电路52将构成从扫描变换电路51连续输入的4X4块数据的16个变换系数依次输出到游程等级计算电路53。当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,子块生成电路52在从扫描变换电路51输入的构成8X8块数据的64个变换系数中,确定第一到第16输入的变换系数为4X4子块数据SB1的分量,第17到第32输入的变换系数为4X4子块数据SB2的分量,第33到第48输入的变换系数为4X4子块数据SB3的分量,第49到第64输入的变换系数为4X4子块数据SB4的分量,并且将这些输出到游程等级计算电路53。步骤ST19:当从正交变换大小确定电路45输入的正交变换大小信号TRSIZE指示8X8时,游程等级计算电路53执行与上述4X4的情况相同的处理,以对各个从子块生成电路52输入的4X4子块数据SB1、SB2、SB3和SB4生成等级数据"level"、游程数据"run_before"、游程总量数据"total_zero"、非零系数数量数据"TotalCoeff"、最终连续数量数据"TrailingOnes"禾口编石马数据"trailing_ones_sing_flag"。游程等级计算电路53将非零系数数量数据"TotalCoeff"、最终连续数量数据"Trai1ing0nes"输出到二维可逆编码电路54。步骤ST20:二维可逆编码电路54通过按照上述(方法1)到(方法5)中的任一种方法为构成要处理的8X8块数据的各个子块数据SB1、SB2、SB3和SB4确定或生成索引数据"nC"。步骤ST21:二维可逆编码电路54根据在步骤ST20确定或生成的索引数据"nC"选择表1所示的变换表数据TRNal到5中的一个。步骤ST22:二维可逆编码电路54通过使用在步骤ST21所选的变换表数据TRNal、2、3、4和5取出在步骤ST19输入的各个子块数据SB1、SB2、SB3和SB4的非零系数数量数据"TotalCoeff"和最终连续数量数据"TrailingOnes"的编码代码,并且将其输出到复用电路57。下面将说明等级编码电路55。等级编码电路55对从游程等级计算电路53输入的等级数据"level"执行可变长度编码。特别地,等级编码电路55从等级数据"1eve1"中提取称为"1evel_prefix"和"level_suffix,,的参数。然后,等级编码电路55根据下面表2所示的变换表数据TRNb对参数"leve1—prefix"执行可变长度编码。[表2]变换表数据TRNb<table>tableseeoriginaldocumentpage19</column></row><table><table>tableseeoriginaldocumentpage20</column></row><table>参数"level—prefix"由"suffxLength"所给出的位长度编码为无符号整数。这里,等级数据"level"与参数"level_prefix"和"level_suffix"之间的关系由下面公式(1)和(2)规定。[公式1]levelCode=(level—prefix<<suffxLength)+level_suffix…(1)[公式2]当"levelCode"是偶数时level=(levelCode+2)>>1当"levelCode"不是偶数时level=(-levelCode-l)>>1.(2)等级编码电路55将通过对等级数据"level"执行可变长度编码得到的编码代码输出到复用电路57。下面将说明游程编码电路56。如下面所述,游程编码电路56对从游程等级计算电路53输入的游程数据"rim—before"和游程总量数据"total—zero"执行可变长度编码。然后,游程编码电路56将通过执行可变长度编码得到的编码代码输出到复用电路57。特别地,当正交变换大小信号TRSIZE指示4X4并且非零系数数量数据"TotalCoeff"是大于等于1且小于等于7时,游程编码电路56根据下面表3所示的变换表数据TRNc对游程总量数据"total—zero"执行可变长度编码。[表3]变换表数据TRNc<table>tableseeoriginaldocumentpage21</column></row><table>此外,当正交变换大小信号TRSIZE指示4X4并且非零系数数量数据"TotalCoeff"是大于等于8且小于等于15时,游程编码电路56根据下面表4所示的变换表数据TRNd对游程总量数据"total—zero"执行可变长度编码。[表4]变换表数据TRNd<table>tableseeoriginaldocumentpage21</column></row><table>此外,当要编码的块数据是2X2的色差DC时,游程编码电路56根据下面表5所示的变换表数据TRNe对游程总量数据"total—zero"执行可变长度编码。[表5]变换表数据TRNe<table>tableseeoriginaldocumentpage21</column></row><table>此外,游程编码电路56根据下面表6所示的变换表数据TRNf对游程数据"before"执行可变长度编码。[表6]变换表数据TRNf<table>tableseeoriginaldocumentpage22</column></row><table>游程编码电路56将通过对游程总量数据"total_zer0"和游程数据"rurubefore"执行可变长度编码得到的编码代码输出到复用电路57。复用电路57生成作为通过复用从二维可逆编码电路54、等级编码电路55和游程编码电路56输入的编码代码获得的位流的图像数据S27,并且将其写到缓冲存储器28中。下面将说明图2所示的编码装置2的整体操作。作为输入的图像信号首先在A/D转换电路22中被转换成数字信号。接着,在屏幕重布置电路23中根据要输出的图像压縮信息的GOP结构执行帧图像数据的重布置,并且将由此得到的原始图像数据SM输出到计算电路24、运动预测补偿电路42和内预测电路41。接着,计算电路24检测来自屏幕重布置电路23的原始图像数据S23与来自选择电路44的预测图像数据PI之间的差,并将指示差的图像数据S24输出到正交变换电路25。接着,正交变换电路25根据从正交变换大小确定电路45输入的正交变换大小信号TRSIZE所指定的块大小,对图像数据S24执行正交变换,如离散余弦变换和Karhunen-Loeve变换,来生成图像数据(DCT系数)S25,并将其输出到量化电路26。接着,量化电路26基于从正交变换大小确定电路45输入的正交变换大小信号TRSIZE所指示的块大小,对图像数据S25执行量化,并将图像数据(量化后的DCT系数)S26输出到可逆编码电路27和逆量化电路29。接着,如上所述,可逆编码电路2对图像数据S26执行可变长度编码来生成图像数据S27,并且将其累积在缓冲存储器28中。此外,速率控制电路32根据从缓冲存储器28读出的图像数据控制量化电路26中的量化速率。此外,逆量化电路29对从量化电路26输入的图像数据S26执行逆量化,并将结果输出到逆正交变换电路30。然后,逆正交变换电路30将通过执行正交变换电路25中的正交变换的逆变换处理生成的图像数据输出到加法电路33。在加法电路33中,将来自逆正交变换电路30的图像数据与来自选择电路44的预测图像数据PI相加来产生参考图像数据"ILPIC",并将其写入帧存储器31中。此夕卜,内预测电路41对从帧存储器31中读取的块数据以4X4和16X16的块大小执行内预测编码,并且生成预测图像数据。此外,运动预测补偿电路42对从帧存储器31中读取的块数据以16X16、16X8、8X16、8X8、8X4和4X8的块大小执行间预测编码,并且生成预测图像数据。然后,在内预测电路41和运动预测补偿电路42的预测图像数据当中,将具有最小编码代价(encodingcost)的预测图像数据输出到计算电路24。正交变换大小确定电路45将指示用于生成输出到计算电路24的预测图像数据的块大小的正交变换大小信号TRSIZE输出到正交变换电路25、量化电路26和可逆编码电路27。如上所述,根据编码装置2,在图3所示的可逆编码电路27中,通过使用表1所示的、用于编码经受4X4正交变换的变换系数的总变换表数据TRANa,可以编码经受8X8正交变换的变换系数的非零系数数量数据"TotalCoeff"和最终连续数量数据"Trailing0nes,,。此外,根据编码装置2,在可逆编码电路27中,用(方法1)到(方法4)选择用于编码子块数据SB1、SB2、SB3和SB4的变换表数据TRNa、a2、a3和a4,从而可以实现高效的编码。[解码装置3]下面将说明图1所示的解码装置3。图11是图1所示的解码装置3的配置图。如图11所示,解码装置3包括例如,缓冲存储器81、可逆解码电路82、逆量化电路83、逆正交变换电路84、加法电路85、帧存储器86、屏幕重布置缓冲区87、D/A转换电路88、内预测电路89和运动预测补偿电路90。帧存储器81存储作为从编码装置接收(输入)的位流的图像数据S2。可逆解码电路82通过对应于图2所示的可逆编码电路27的可逆编码的方法解码从缓冲存储器81读取的图像数据S2,并且生成图像数据S82。可逆解码电路82将复用为图像数据S2的正交变换大小信号TRSIZE分离并解码,并且将结果输出到逆量化电路83和逆正交变换电路84。将在稍后详细描述可逆解码电路82。逆量化电路83根据从可逆解码电路82输入的正交变换大小信号TRSIZE,通过对从可逆解码电路82输入的、经受可逆解码的图像数据S82用对应于图2所示的量化电路26的量化方法的逆量化方法执行逆量化,生成图像数据S83,并将其输出到逆正交变换电路84。逆正交变换电路84根据从可逆解码电路82输入的正交变换大小信号TRSIZE,通过对从逆量化电路83输入的图像数据S83执行对应于图2所示的正交变换电路25的正交变换的逆正交变换,生成图像数据S84,并将其输出到加法电路85。加法电路85通过将从内预测电路89或运动预测补偿电路90输入的预测图像与从逆正交变换电路84输入的图像数据S84相加,来产生图像数据S85,并将其输出到帧存储器86和屏幕重布置缓冲区87。屏幕重布置缓冲区87用于以画面为单位显示的次序重布置从加法电路85输入的图像数据S85,并将其读出到D/A转换电路88。D/A转换电路88对从屏幕重布置缓冲区87读出的图像数据执行D/A转换,并且生成模拟图像信号。当从帧存储器86读取的图像数据S85中的要处理的块数据经受内预测编码时,内预测电路89用内方法(intramethod)解码块数据来生成预测图像数据,并且将其输出到加法电路85。当从帧存储器86读取的图像数据S85中的要处理的块数据经受间预测编码时,运动预测补偿电路90用间方法(intermethod)解码块数据来生成预测图像数据,并且将其输出到加法电路85。下面,将说明图11所示的可逆解码电路82。图12是图11所示的可逆解码电路82的配置图。如图12所示,可逆解码电路82包括例如,分离电路110、二维可逆解码电路111、等级解码电路112、游程解码电路113、变换系数恢复电路114、块恢复电路115和扫描转换电路116。在本实施例中,二维可逆解码电路111、等级解码电路112、游程解码电路113、变换系数恢复电路114、块恢复电路115和扫描转换电路116中的处理是通过使用分离电路110所分离的正交变换大小信号TRSIZE执行的。分离电路110将游程数据"runj3efore"和游程总量数据"total—zero"的编码代码从编码的图像数据S2中分离(提取)出来,并且将其输出到游程解码电路113。此外,分离电路110将等级数据"level"的编码代码从图像数据S2中分离,并且将其输出到等级解码电路112。分离电路110将非零系数数量数据"TotalCoeff"、最终连续数量数据"TrailingOnes"和编码数据"trailing—ones—sing—flag"的编码代码从图像数据S2中分离,并且将其输出到二维可逆编码电路111。此外,分离电路110将正交变换大小信号TRSIZE从图像数据S2中分离,并且将其输出到图12所示的二维可逆编码电路111、等级解码电路112、游程解码电路113、变换系数恢复电路114、块恢复电路115和扫描转换电路116以及图11所示的逆量化电路83和逆正交变换电路84。二维可逆解码电路111通过使用与上面图3所示的二维可逆编码电路54中相同的正交变换大小信号TRSIZE来选择上述表1所示的总变换表数据中的变换表数据TRNal到5中的一个。然后,二维可逆解码电路111通过使用所选的变换表数据TRNal到5解码从分离电路110输入的编码代码,取出非零系数数量数据"TotalCoeff"和最终连续数量数据"Trai1ing0nes",并且将其输出到变换系数恢复电路114。此外,二维可逆解码电路111解码分离电路110所分离的编码代码,取出编码数据"trai1ing_onessing_flag",并将其输出到变换系数恢复电路114。等级解码电路112通过使用上述表2所示的变换表数据TRNb,执行对应于图3所示的等级编码电路55的可变长度编码的解码,取出对应于从分离电路110输入的编码代码的等级数据"level",并且将其输出到变换系数恢复电路114。游程解码电路113通过使用上述表3、表4、表5和表6所示的变换表数据TRNc、TRNd、TRNe和TRNf,执行对应于图3所示的游程编码电路56的可变长度编码的解码,取出对应于从分离电路110输入的编码代码的游程数据"rurubefore",并且将其输出到变换系数恢复电路114。变换系数恢复电路114基于从二维可逆解码电路111输入的非零系数数量数据"TotalCoeff,,、最终连续数量数据"Trai1ing0nes,,禾口编码数据"trai1ing_ones_sing_flag"以及从游程解码电路113输入的游程数据"run—before"和游程总量数据"tota1—zero",通过执行图3所示的游程等级计算电路53的处理的逆处理来生成变换系数,并且将其输出到块恢复电路115。当正交变换大小信号TRSIZE指示4X4时,块恢复电路115存储从变换系数恢复电路114输入的4X4的变换系数。当正交变换大小信号TRSIZE指示8X8时,块恢复电路115存储从变换系数恢复电路114输入的8X8的变换系数。当正交变换大小信号TRSIZE指示4X4时,扫描变换电路116以适合图ll所示的逆量化电路83进行逆量化的次序读取存储在变换系数恢复电路114中的4X4的变换系数,并且将其作为图像数据S82输出到逆量化电路83。此夕卜,当正交变换大小信号TRSIZE指示8X8时,扫描变换电路116考虑到图8所示的子块数据SB1、SB2、SB3和SB4的布置、以图5所示的扫描次序或者以适合图11所示的逆量化电路83进行逆量化的次序读取存储在变换系数恢复电路114中的8X8的变换系数,并且将其作为图像数据S82输出到逆量化电路83。根据解码装置3,可以恢复由编码装置2编码的非零系数数量数据"TotalCoeff"和最终连续数量数据"Trailing0nes"的编码代码。本发明不限于上述实施例。例如,在上述实施例中,作为用于编码非零系数数量数据"TotalCoeff"、最终连续数量数据"TrailingOnes"的对应数据的例子提到了表1所示的总变换表数据TRNa,然而,可以使用其他变换表数据作为变换表数据TRNal、2、3和4,只要将其规定成使得指示"O"的非零系数数量数据"TotalCoeff"相互不同,并且编码代码的最大位长度随着指示"O"的非零系数数量数据"TotalCoeff"的位长度其中而变长。此外,在上述编码装置2中,将通过构成图3所示的可逆编码电路27的电路实现图10所示的编码处理的情况作为例子说明,但所有和部分处理可以根据程序的描述通过CPU(中央处理单元)等执行。此外,在上述解码装置3中,将通过构成图11所示的可逆解码电路82的电路实现解码处理的情况作为例子说明,但所有和部分处理可以根据程序的描述通过CPU(中央处理单元)等执行。工业适用性本发明可以应用到用于编码正交变换的变换系数的编码系统等。权利要求一种解码装置,对编码了图像数据的编码图像数据进行解码,该解码装置包括取得部件,从所述编码图像数据中,取得对应于最终连续数量数据的值的编码代码,该最终连续数量数据的值表示所述图像数据以正交变换大小进行正交变换得到的变换系数的结尾处连续的、绝对值为“1”的变换系数的数量;选择部件,选择用于表示最终连续数量数据的值与编码代码之间的对应关系的对应关系数据,该最终连续数量数据的值表示以比对所述图像数据进行正交变换时的正交变换大小小的子块进行了正交变换得到的变换系数的结尾处连续的、绝对值为“1”的变换系数的数量;以及生成部件,使用由所述选择部件所选择的对应关系数据,对由所述取得部件所取得的编码代码进行解码,从而生成所述最终连续数量数据。2.如权利要求l所述的解码装置,还包括解码部件,使用由所述生成部件所生成的最终连续数量数据,对所述编码图像数据进行解码。3.如权利要求l所述的解码装置,其中,所述选择部件根据使用在所述子块中包含的变换系数的数量而算出的索引数据的值,选择所述对应关系数据。4.如权利要求l所述的解码装置,其中,所述选择部件根据对应于所述子块的位置而算出的索引数据的值,选择所述对应关系数据。5.如权利要求3所述的解码装置,其中,所述索引数据是将处理对象的块内的子块作为对象,在所述处理对象的块的上方相邻的上块的块大小和在所述处理对象的块的左侧相邻的左块的块大小相同的情况下,使用对于所述上块和所述左块的相同位置的子块的索引数据而算出。6.如权利要求3所述的解码装置,其中,所述索引数据是将处理对象的块内的子块作为对象,在所述处理对象的块的上方相邻的上块的块大小和在所述处理对象的块的左侧相邻的左块的块大小不同的情况下,使用对于块大小大的块内的相同位置的子块的索引数据而算出。7.如权利要求6所述的解码装置,其中,通过以下式,计算所述处理对象块的索引数据(nC):nC=(nA+nB+l)>>1,其中,nA是所述左块内的子块的索引数据,nB是所述上块内的子块的索引数据。8.如权利要求l所述的解码装置,其中,所述正交变换大小为8X8,所述子块大小为4X4。9.如权利要求l所述的解码装置,其中,规定所述对应关系数据,使得随着所述非零系数数量数据的比特长度变短,所述编码代码的最大比特长度变长。10.—种解码方法,对编码了图像数据的编码图像数据进行解码,该解码方法包括取得步骤,从所述编码图像数据中,取得对应于最终连续数量数据的值的编码代码,该最终连续数量数据的值表示所述图像数据以正交变换大小进行正交变换得到的变换系数的结尾处连续的、绝对值为"1"的变换系数的数量;选择步骤,选择用于表示最终连续数量数据的值与编码代码之间的对应关系的对应关系数据,该最终连续数量数据的值表示以比对所述图像数据进行正交变换时的正交变换大小小的子块进行了正交变换得到的变换系数的结尾处连续的、绝对值为"1"的变换系数的数量;以及生成步骤,使用由所述选择步骤所选择的对应关系数据,对由所述取得步骤所取得的编码代码进行解码,从而生成所述最终连续数量数据。全文摘要子块生成电路(52)将8×8正交变换的系数分成子块数据。2维可逆编码电路(54)通过选择变换表数据编码关于远离DC分量TotalCoeff的子块的非零系数数量(number-of-non-zero)的数据,其中变换表数据用来将短位长度的编码代码分配给关于指示0的非零系数数量的数据。文档编号H04N7/50GK101795413SQ20101015062公开日2010年8月4日申请日期2005年7月11日优先权日2004年7月12日发明者矢崎阳一,石谷和博,铃木辉彦申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1