具体实施方式
下面,关于本发明的实施方式,采用附图及公式予以说明。
(实施方式1)
图1是表示采用本发明所涉及的图象编码方法的图象编码装置一个实施方式构成的框图。
图象编码装置如图1所示,具备有:帧存储器101、106、正交变换器102、量化器103、逆量化器104、逆正交变换器105、画面间预测器107、画面内预测器108、系数个数检测器109、系数个数存储器110、系数个数编码器111、系数值编码器112、代码序列生成器113、开关114、115、差分运算器116及加法运算器117。
帧存储器101用来存储依显示时间顺序以画面(picture)为单位输入的动态图象。画面间预测器107将在编码装置内所再次构成的图象数据作为参考画面加以使用,在该画面内的搜索区域对表示预测为最佳位置的运动矢量进行检测,基于该运动矢量生成预测图象数据。差分运算器116用来对由帧存储器101所读出的输入图象数据和由画面间预测器107所输入的预测图象数据之间的差分进行运算,生成预测残差图象数据。
画面内预测器108采用编码对象画面内已编码区域的图象数据来生成预测图象数据,并通过对与输入图象数据之间的差分进行运算而生成预测残差图象数据。
正交变换器102用来对所输入的预测残差图象数据进行正交变换。量化器103用来对正交变换后的数据进行量化,生成作为可变长度编码对象的表示空间频率成分的系数。逆量化器104用来对通过上述处理所生成的系数进行逆量化。逆正交变换器105用来对逆量化后的数据进行逆正交变换,生成再构成预测残差图象数据。加法运算器117用来对由逆正交变换器105所输入的再构成预测残差图象数据和由画面间预测器107所输入的预测图象数据进行加法运算,生成再构成图象数据。帧存储器106用来存储所生成的再构成图象数据。
系数个数检测器109用来检测所生成的系数值并检测在每个块中具有0以外值的系数个数(下面,只称为系数个数)。系数个数存储器110用来存储由系数个数检测器109所检测出的系数个数。系数个数编码器111对系数个数存储器110中所存储的已编码后的块的系数个数值进行参照,采用下面所说明的方法来进行系数个数的编码。系数值编码器112采用由系数个数检测器109所检测出的系数个数来转换对可变长度编码来说必要的VLC图表并加以参照,以此进行系数值其本身的可变长度编码。代码序列生成器113通过向编码后的系数个数及系数的值附加从画面间预测器107所输入的运动矢量等其他信息,而生成代码序列。
下面,有关如上所构成的图象编码装置的动作,予以说明。
作为编码对象的动态图象依显示时间顺序以画面为单位输入到帧存储器101中,在此按照进行编码的次序加以重新排列。各个画面被分割成称之为宏块的如水平16×垂直16象素的块,并以该宏块单位进行此后的处理。图2(a)是表示在各画面内的宏块处理次序的概略,图2(b)是表示编码对象块为了对系数个数进行编码而参照的已编码块所属宏块的模式图。在该图2(b)中表示出宏块MB13是编码对象宏块。
各画面内的宏块如图2(a)所示按照下述顺序进行编码,即从左上方的宏块依次向右,若到达右端则下降到低一层并再次从左依次向右。在通过画面间预测对作为对象的宏块进行编码的场合下,首先从帧存储器101所读出的宏块被输入到画面间预测器107。画面间预测器107将帧存储器106中所储存的已编码画面的再构成图象作为参考画面加以使用,并对进一步分割宏块后的每个块(例如,水平4×垂直4象素)进行运动矢量的检测。画面间预测器107将通过检测到的运动矢量所制作的预测图象数据输出给差分运算器116。差分运算器116通过取得预测图象数据和对象宏块的输入图象数据之间的差分,来生成预测残差图象数据。
另一方面,在通过画面内预测对作为对象的宏块进行编码的场合下,首先从帧存储器101所读出的宏块被输入到画面内预测器108。画面内预测器108采用外围块的信息来进行画面内预测,生成预测残差图象数据。
这样所生成的预测残差图象数据在每个块中通过正交变换器102及量化器103进行正交变换及量化,变换成作为可变长度编码对象的系数。该系数被输入到系数个数检测器109、系数值编码器112及逆量化器104。
系数个数检测器109用来检测在每个块中具有0以外值的系数个数。此处所检测出的系数个数保存在系数个数存储器110中。系数个数编码器111通过从系数个数存储器110读出已编码后的块的系数个数并对其值进行参照,进行编码对象块系数个数的编码。另外,系数值编码器112采用由系数个数检测器109所检测出的系数个数来进行系数值其本身的编码。最后,代码序列生成器113通过将编码后的系数个数及系数值与运动矢量等其他信息一起追加到代码序列中,生成最终的代码序列。
另一方面,输入到逆量化器104中的系数通过逆量化器104及逆正交变换器105进行逆量化及逆正交变换,变换成再构成预测残差图象数据。接着,加法运算器117对该再构成预测残差图象数据和从画面间预测器107所输入的预测图象数据进行加法运算,生成再构成图象数据并存储到帧存储器106中。
上面,已说明编码流程的概要,而有关系数个数编码器111所进行的系数个数的可变长度编码处理,将采用图3到图9以及列表1到列表7来说明其详细情况。
图3(a)是详细表示系数个数编码器111的内部结构的框图。
还有,在此表示出为了进行系数个数的可变长度编码而使用代码图表和VLC图表这样的2个图表的示例。此时,代码图表指的是将系数个数变换成某个代码编号的图表,VLC图表指的是将通过代码图表所得到的代码编号变换成可变长度代码的图表。
系数个数编码器111如图3(a)所示,具备有预测值计算器201、代码图表存储器202、代码图表选择器203、VLC图表选择器204、VLC存储器205及系数个数编码器206。
首先,从图1所示的系数个数存储器110向预测值计算器201输 入位于外围的已编码块的系数个数。预测值计算器201通过取得这些数值的平均值来决定预测值。还有,作为预测值的决定方法,取代上述平均值也可以使用最大值、最小值或者中央值的任一个。
图4(a)是表示作为当前编码对象的块和所参照的已编码块之间的位置关系的模式图。在此,对于作为编码对象的块X,而将处于块B、C及D位置关系上的3个块作为参考块。此时,在处于块B、C及D位置关系上的3个块之中出现未编码的、或者位于画面外部或切片外部的块的场合下,象列表1那样做出参考块的变更,上述切片(slice)是将画面分割成多个区域后的单位。
表1
B |
C |
D |
参照块 |
○ |
○ |
○ |
B,C,D |
○ |
× |
○ |
A,B,D |
× |
× |
○ |
D |
○ |
○ |
× |
B,C |
× |
× |
× |
无 |
列表1中的○意味着已编码块,×意味着未进行编码的、或者因位于画面外部或切片外部而不能参照的块。例如,表示出在只有C不能参照时参照A、B及D。还有,列表1的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。另外,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。
代码图表选择器203根据由预测值计算器201所计算出的预测值,从代码图表存储器202所具有的多个代码图表之中选择实际所使用的代码图表。
列表2是使通过代码图表存储器202所预先准备好的系数个数和代码编号相对应的代码图表示例。
列表2
系数个数值 |
代码表1 |
代码表2 |
代码表3 |
代码表4 |
0 |
0 |
4 |
8 |
8 |
1 |
1 |
2 |
7 |
7 |
2 |
2 |
0 |
5 |
6 |
3 |
3 |
1 |
4 |
5 |
4 |
4 |
3 |
2 |
4 |
5 |
5 |
5 |
0 |
3 |
6 |
6 |
6 |
1 |
2 |
7 |
7 |
7 |
3 |
1 |
8 |
8 |
8 |
6 |
0 |
根据该示例,例如代码图表1分配有与系数个数值相等的代码编号,代码图表2使系数个数值2为中心而分配有代码编号。还有,此处虽然准备有4种代码图表,但图表种类的数目及图表的数值在使用其他数目及数值的场合下,也同样可以进行处理。另外,列表3用来表示基于预测值的代码图表选择基准。
列表3
预测值 |
参照表 |
0~2 |
代码表1 |
3~5 |
代码表2 |
6~8 |
代码表3 |
9~16 |
代码表4 |
根据该列表3,代码图表选择器203进行选择,可做到在由预测值计算器201所计算出的预测值为2以下的场合下参照代码图表1,在3以上且5以下的场合下参照代码图表2。还有,列表3中的预测值分配方法或者参考图表的项目在使用其他项目的场合下,也同样可以进行处理。
VLC图表选择器204根据由预测值计算器201所计算出的预测值,从VLC图表存储器205所具有的多个VLC图表之中选择实际所使用的VLC图表。
列表4是使通过VLC图表存储器205所预先准备好的代码编号和可变长度代码相对应的VLC图表示例。
列表4
代码编号 |
VLC表1 |
VLC表2 |
VLC表3 |
VLC表4 |
0 |
1 |
1 |
10 |
100 |
1 |
01 |
010 |
11 |
101 |
2 |
001 |
011 |
0100 |
110 |
3 |
0001 |
00100 |
0101 |
111 |
4 |
00001 |
00101 |
0110 |
01000 |
5 |
000001 |
00110 |
0111 |
01001 |
6 |
0000001 |
00111 |
001000 |
01010 |
7 |
00000001 |
0001000 |
001001 |
01011 |
8 |
000000001 |
0001001 |
001010 |
01100 |
根据该示例,VLC图表1的设计若与VLC图表4相比较,则在代码编号大的区域上有位量增多的趋势,而在代码编号小的区域上位量减少。在代码编号的出现概率集中于数值小的区域的场合以及在还分散于数值大的区域的场合下,分别表示出VLC图表1方及VLC图表4方可以高效率地进行可变长度编码。还有,在此虽然准备有4种VLC图表,但图表种类的数目及图表的数值在使用其他数目及数值的场合下,也同样可以进行处理。另外,列表5用来表示基于预测值的VLC图表选择基准。
列表5
预测值 |
参照表 |
0~1 |
VLC表1 |
2~3 |
VLC表2 |
4~6 |
VLC表3 |
7~16 |
VLC表4 |
根据该示例,VLC图表选择器204进行选择,可做到在由预测值计算器201所计算出的预测值为1以下的场合下参照VLC图表1,在2以上且3以下的场合下参照VLC图表2。还有,列表5中的预测值分配方法或者参考图表的项目在使用其他项目的场合下,也同样可以进行处理。
系数个数编码器206参照由上述处理所选择出的代码图表及VLC图表,对所输入的编码对象块的系数个数进行可变长度编码。系数个数编码器206首先采用代码图表将系数个数变换成代码编号,接着采用VLC图表将其变换成与代码编号相应的可变长度代码。图5是表示由预测值计算器201所计算出的预测值为“6”并且编码对象块的系数个数为“4”时的编码示例的模式图。因为预测值为“6”,所以在代码图表选择器201中根据列表3及列表2选择图5所示的代码图表3,并且在VLC图表选择器204中根据列表5及列表4选择图5所示的VLC图表3。系数个数编码器206通过代码图表3将所输入的系数个数“4”变换成代码编号“2”,并进一步根据VLC图表3生成最终的代码序列“0100”
下面,有关系数个数存储器110所进行的系数个数的存储处理,说明其详细情况。图6(a)是表示在预测值计算器201中与编码对象宏块对应的参考块的模式图。在此,附加有B1~B16符号的包含块的粗框表示出编码对象宏块,斜线的块表示出与编码对象宏块对应的参考块。另外,附加于块中的符号数字表示出在宏块内的编码次序。
系数个数存储器110例如在开始图6(a)所示的编码对象宏块的处理之时,至少对有关对编码对象宏块来说必要的图6(a)中用斜线所示的参考块,存储有通过系数个数检测器109所检测出的系数个数。也就是说,系数个数存储器110对所依次处理的编码对象宏块的块(B1、B2、B3、…B16)存储所检测出的系数个数。例如,在编码对象块是块B6的场合下,系数个数存储器110除图6(a)所示的参考块之外,还存储有已处理的块B1、B2、B3、B4及B5的各系数个数。而且,若通过系数个数检测器109检测出块B6的系数个数,则系数个数存储器110存储该块B6的系数个数。这样,系数个数存储器110就对所依次处理的编码对象宏块的块(B1、B2、B3、…)存储所检测出的系数个数。
例如在编码对象宏块是图2(b)所示的宏块MB11的场合下,在该宏块MB11的处理结束并且处理向下一个宏块MB12转移时,系数个数存储器110如图7(a)所示,至少保持着宏块MB11下行和右列的块(斜线的块)的系数个数。接着,在宏块MB12的处理结束并且处理向其次的宏块MB13转移时,系数个数存储器110同样至少保持着宏块MB12下行和右列的块(斜线的块)的系数个数,与此同时如图7(b)所示至少保持着宏块MB11下行的块(斜线的块)的系数个数。
另外,例如在编码对象宏块如同图2(b)所示的宏块MB9那样位于画面右端的场合下,在该宏块MB9的处理结束并且处理向下一个宏块MB10转移时,系数个数存储器110如图7(b)所示至少保持着宏块MB9下列的块(斜线的块)的系数个数。
另外,例如在编码对象宏块如同图2(b)所示的宏块MBm那样位于画面下端的场合下,在该宏块MBm的处理结束并且处理向一个宏块MBn转移时,系数个数存储器110如图7(c)所示至少保持着宏块MBm右列的块(斜线的块)的系数个数。
这样,系数个数存储器110就预先保持与所参照的块对应的系数个数。还有,在上面的说明中即使是预先保持的块以外系数个数的信息,只要是在不进行参照之后都可以在任意时间加以删除。例如,既可以在处理向一个宏块转移时加以删除,或者也可以在宏块的处理过程中加以删除。另外,与不用参照的块对应的系数个数则不一定需要删除这种处理。例如,系数个数存储器110也可以将与不用参照的块对应的系数个数识别为不需要,并根据需要加以改写。
还有,在上面的说明中,虽然在系数个数存储器110中可以通过预先存储已编码块的系数而加以参照,但并不是系数个数值其本身,例如也可以采用这样的结构,即通过预先存储变换成空间频率成分的块的系数值,而根据需要计算出系数个数。
如上所述,在本实施方式中从已编码外围块的系数个数来计算预测值,并根据该预测值适当转换代码图表及VLC图表加以参照,以此即使对系数出现概率不一样的画面,也可以高效率地进行系数个数的编码。
另外,如上所述由于根据预测值来转换代码图表并加以参照,因而可以适应系数个数出现概率最高的位置变动。另一方面,因为根据预测值来转换VLC图表并加以参照,所以能够适应系数个数出现概率的分散程度大小。据此,可以高效率地进行系数个数的编码。
还有,作为在预测值计算器201中所参照的块,取代图4(a)所示的那种3个外围块,如图4(b)所示也可以对编码对象块X只使用处于块B及D位置关系上的2个块。此时,在处于块B及D位置关系上的2个块之中出现未编码的、或者位于画面外部或切片外部的块的场合下,象列表6那样做出参考块的变更。
列表6
B |
D |
参照块 |
○ |
○ |
B,D |
× |
○ |
D |
○ |
× |
B |
× |
× |
无 |
列表6中的○与列表1相同意味着已编码块,×意味着未进行编码的、或者因位于画面外部或切片外部而不能参照的块。还有,列表6的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。另外,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。这种场合下,系数个数存储器110至少可以有关对编码对象宏块来说必要的图6(b)所示的参考块,而存储有通过系数个数检测器109所检测出的系数个数。
还有,作为在预测值计算器201中计算预测值的方法,并不固定为平均值、最大值、最小值或中央值的任一个,例如也可以从其中依照序列、GOP、画面或每个切片来选择最佳的数值。此时,用来识别所选择出的计算方法的代码追加到代码序列的序列、GOP、画面或切片的标题区域。还有,切片是表示将1个画面分为多个区域的单位,例如以宏块为单位沿横向1行左右的区域等,就相当于此。
另外,作为在预测值计算器201中计算预测值的方法,例如也可以通过已编码参考块的系数个数的平均值,来选择平均值、最大值、最小值或中央值的任一个。列表7用来表示其选择基准。
列表7
平均值 |
预测值算出方法 |
0~4 |
最小值 |
5~8 |
平均值 |
9~16 |
最大值 |
根据该示例,例如若平均值为4以下则将多个参考块的系数个数之中的最小值作为预测值,若平均值为5以上且8以下则将平均值作为预测值。就量化步骤小时及运动复杂的块来说,因系数个数大的块出现的概率增高而选择最大值,反之就量化步骤大时及运动简单的块来说,因系数个数小的块出现的概率增高而选择最小值,据此可以期待编码效率提高的效果。还有,列表7中的平均值分配方法或预测值计算方法的项目在使用其他项目的场合下,也同样可以进行处理。
再者,在本实施方式中虽然在系数个数编码器111中对系数个数的值其本身进行可变长度编码,但是如图3(b)所示也可以通过差分运算器207来计算由预测值计算器201所得出的预测值和所输入的系数个数的值之间的差分值,并采用与上述实施方式相同的处理对所得到的值进行可变长度编码。据此,在灰度及色差的变化遍及整个画面而为单调的场合下,对于外围块间的系数个数变化变小的那种图象,可以期待编码效率提高的效果。
另外,在本实施方式中虽然在系数个数编码器111中通过以外围块的系数个数为根据的预测值来转换代码图表及VLC图表的双方进行可变长度编码,但也可以不转换它们的任一方而加以固定使用。这种场合下,取代使用图表选择器而可以通过只使用存储器来实现,该存储器具有某1种代码图表或VLC图表。图8(a)是表示只固定代码图表进行系数个数的可变长度编码时的系数个数编码器111结构的框图。另外,图8(b)是表示只固定VLC图表进行系数个数的可变长度编码时的系数个数编码器111结构的框图。
在只固定代码图表的场合下,如图8(a)所示系数个数编码器111替代图3(a)所示的代码图表存储器202及代码图表选择器203,而具备有代码图表存储器301。该代码图表存储器301具有1种代码图表。而且,系数个数编码器206首先采用代码图表存储器301所具有的代码图表将系数个数变换成代码编号,接着采用由VLC图表选择器204所选择出的VLC图表将代码编号变换成可变长度代码。
另一方面,在只固定VLC图表的场合下,如图8(b)所示系数个数编码器111替代图3(a)所示的VLC图表存储器205及VLC图表选择器204,而具备有VLC图表存储器302。该VLC图表存储器302具有1种VLC图表。而且,系数个数编码器206首先采用由代码图表选择器203所选择出的代码图表将系数个数变换成代码编号,接着采用VLC图表存储器302所具有的VLC图表将代码编号变换成可变长度代码。
这样,由于不用转换代码图表或VLC图表的任一方而加以固定使用,所以使编码效率的效果有所减弱,但是使减少图表转换所需的处理量以及减少预先存储多个图表所需的存储容量,成为可能。
另外,在系数个数编码器111中也可以不使用代码图表而通过以外围块的系数个数为根据的预测值只转换VLC图表来进行可变长度编码。图8(c)是表示不用代码图表而只使用VLC图表来进行系数个数的可变长度编码时的系数个数编码器111结构的框图。这种场合下,如图8(c)所示系数个数编码器111不具备图3(a)所示的代码图表存储器202及代码图表选择器203。采用系数个数编码器111,根据由预测值计算器201所计算出的预测值,VLC图表选择器303从VLC图表存储器304所具有的多个VLC图表之中选择实际所使用的VLC图表。而且,系数个数编码器206不用如上所述采用代码图表将系数个数变换成代码编号,而直接采用VLC图表将系数个数变换成可变长度代码。还有,这种场合下在由列表4所示的VLC图表示例中,成为代码编号的部分是系数个数的值。
另外,在系数个数编码器111中取代系数个数的值而采用与预测值之间的差分值来进行可变长度编码,对此也同样可以进行处理。图9是表示作为其示例而固定代码图表及VLC图表的双方来对预测值和系数个数之间的差分值进行可变长度编码时的系数个数编码器111结构的框图。这种场合下,如图9所示系数个数编码器111替代图3(a)所示的代码图表存储器202及代码图表选择器203而具备有代码图表存储器301,并且替代VLC图表存储器205及VLC图表选择器204而具备有VLC图表存储器302。该代码图表存储器301具有1种代码图表,并且VLC图表存储器302具有1种VLC图表。而且,系数个数编码器206首先采用代码图表存储器301所具有的代码图表将系数个数和预测值之间的差分值变换成代码编号,接着采用VLC图表存储器302所具有的VLC图表将代码编号变换成可变长度代码。
(实施方式2)
本实施方式中图象编码装置的结构及编码处理的概要除去图1所示的系数个数编码器111,与实施方式1完全相同。在此,将有关在该系数个数编码器111中由实施方式2所做出的系数个数的可变长度编码处理,采用图10到图11来说明其详细情况。
图10(a)是详细表示系数个数编码器111的内部结构的框图。
如图10(a)所示,系数个数编码器111替代图3(a)所示的代码图表存储器202及代码图表选择器203,而具备有代码图表生成器701。从图1的系数个数存储器110向代码图表生成器701输入已编码块的系数个数。代码图表生成器701对每个系数个数的值中有几个具有与此相等的系数个数的已编码块进行计数,根据其统计量从产生频率最高的系数个数依次分配代码编号,来制作代码图表。图11(a)是表示作为统计对象的已编码块位置的模式图。在此,P1、P3及P4是进行画面间预测编码的画面,I2是进行画面内预测编码的画面。假设作为当前编码对象的块属于P3,则使采用相同方式所编码的作为最近画面的P1的所有块都成为统计对象。还有,象图11(b)那样在处于当前编码对象的画面内的也含有已编码块的1画面量的块作为统计对象的场合下,也同样可以进行处理。另外,在不存在可作为统计对象的1画面量的已编码块的场合下,使用作为初始状态下的代码图表而按照从0开始的上升次序所给与的图表。还有,虽然此处将1画面量的块作为统计对象,但是在作为参数而使用其他块的个数的场合下,也同样可以进行处理。再者,在图11(a)所示的那种进行参照来生成上述代码图表的场合下,可以在开始对象画面的编码之时仅进行1次图表的生成。
另一方面,在预测值计算器201中输入位于外围的已编码块的系数个数。预测值计算器201根据这些数值,与实施方式1相同通过取得平均值来决定预测值。还有,作为预测值的决定方法,也可以取代上述平均值而使用最大值、最小值或中央值的任一个。此时所参照的已编码块与实施方式1相同,是对图4(a)所示的编码对象块X采用处于B、C及D位置关系上的3个块,并按照列表1来决定的。还有,列表1的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。另外,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。
通过预测值计算器201所计算出的预测值只在VLC图表选择器204中加以使用。VLC图表选择器204根据该预测值,在VLC图表存储器205中与实施方式1相同从列表4所示的那种所预先准备的多个VLC图表之中,按照列表5所示的那种选择基准来选择使用于系数个数的编码中的VLC图表。
系数个数编码器206对通过代码图表生成器701所生成的代码图表及通过VLC图表选择器204所选择出的VLC图表进行参照,与实施方式1相同对所输入的编码对象块的系数个数进行可变长度编码。
如上所述,在本实施方式中通过取得已编码块的系数个数统计结果来制作代码图表,并进一步根据从已编码块的系数个数所计算出的预测值来决定VLC图表,通过对其双方进行参照,而对系数出现概率不一样的画面也能够有效地进行系数个数的编码。
还有,与实施方式1相同在预测值计算器201中所参照的已编码块,取代图4(a)的那种3个外围块,如图4(b)所示也可以对编码对象块X只采用处于B及D位置关系上的2个块,并按照列表6加以决定。另外,列表6的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。还有,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。
另外,与实施方式1相同作为在预测值计算器201中计算预测值的方法,并不固定为平均值、最大值、最小值或中央值的任一个,例如也可以从其中依照序列、GOP、画面或每个切片选择最佳的数值。此时用来识别所选择出的计算方法的符号追加到代码序列的序列、GOP、画面或切片的标题区域。
另外,与实施方式1相同作为在预测值计算器201中计算预测值的方法,例如也可以通过已编码参考块的系数个数的平均值来选择平均值、最大值、最小值或者中央值的任一个。列表7用来表示其选择基准,而此处的平均值分配方法或预测值计算方法的项目在使用其他项目的场合下,也同样可以进行处理。
另外,在本实施方式中虽然在系数个数编码器111中对系数个数的值其本身进行可变长度编码,但与实施方式1相同也可以如图10(b)所示通过差分运算器207来计算由预测值计算器207所得出的预测值和所输入的系数个数的值之间的差分值,并通过与上述相同的处理对所得到的数值进行可变长度编码。
另外,在本实施方式中,虽然在系数个数编码器111中采用以外围块的系数个数为依据的预测值来转换VLC图表进行可变长度编码,但是与实施方式1相同也可以不转换VLC图表而加以固定使用。这种场合下,可以取代使用VLC图表选择器而通过只使用VLC图表存储器来实现,该VLC图表存储器具有某1种类VLC图表。
(实施方式3)
本实施方式中图象编码装置的构成及编码处理的概要除去图1所示的系数个数编码器111之外,与实施方式1完全同等。在此,将有关在该系数个数编码器111中由实施方式3所做出的系数个数的可变长度编码处理,采用图12及列表8到列表9来说明其详细情况。
图12(a)是详细表示系数个数编码器111的内部结构的框图。
如图12(a)所示,系数个数编码器111不具备图3(a)所示的预测值计算器201。据此,代码图表选择器901及VLC图表选择器902与实施方式1有所不同并不使用预测值,而通过直接使用已编码块的系数个数来选择实际所使用的图表。此时所参照的已编码块如图4(b)所示,对编码对象块X只使用处于B(上)及D(左)位置关系上的2个块。但是,在位于上方及左侧的块是未编码的、或者处于画面外部或切片外部的块的场合下,作为系数个数而代替使用0或者其他任意值。
列表8用来表示代码图表选择器901中的代码图表选择方法。
列表8
|
系数个数(上) |
0~5 |
6~16 |
系数个数(左) |
0~5 |
代码表1 |
代码表2 |
|
6~16 |
代码表3 |
代码表4 |
代码图表选择器901如列表8所示根据数值的不同,将位于编码对象块上方及左侧的块的系数个数的各自分类成2个组,通过以此所形成的4个组合来选择图表。例如,在左侧块的系数个数是3且上方块的系数个数是8的场合下选择代码图表2。还有,有关列表8中对上方及左侧块的系数个数进行分类的方法及代码图表的分配方法,在使用其他方法的场合下也同样可以进行处理。
列表9用来表示VLC图表选择器902中的VLC图表选择方法。
列表9
|
系数个数(上) |
0~5 |
6~16 |
系数个数(左) |
0~5 |
VLC表1 |
VLC表2 |
6~16 |
VLC表3 |
VLC表4 |
VLC图表选择器902与代码图表选择器901的情形相同,采用列表9所示的那种选择方法来选择实际所参照的VLC图表。
系数个数编码器206对通过代码图表选择器901所选择出的代码图表及通过VLC图表选择器902所选择出的VLC图表进行参照,并与实施方式1相同对所输入的编码对象块的系数个数进行可变长度编码。
如上所述,在本实施方式中根据值的不同,将位于编码对象块上方及左侧的已编码块的系数个数分类为N个组,根据此时所形成的如同N×N那样的组合来适当转换代码图表及VLC图表并加以参照,以此对系数出现概率不一样的画面也可以高效率地进行系数个数的编码。
还有,在本实施方式中虽然在系数个数编码器111中对系数个数的值其本身进行可变长度编码,但是与实施方式1相同,如图12(b)也可以通过差分运算器207来计算由预测值计算器201所得出的预测值和所输入的系数个数的值之间的差分值,并通过与上述相同的处理对所得到的值进行可变长度编码。
另外,在本实施方式中虽然在系数个数器111中采用外围块的系数个数来转换代码图表及VLC图表的双方并进行可变长度编码,但是与实施方式1相同,也可以不转换它们的任一方而加以固定使用。这种场合下,取代使用图表选择器而可以通过只使用下述存储器来实现,该存储器具有某1种代码图表或者VLC图表。再者,与实施方式1相同也可以不使用代码图表而采用外围块的系数个数只转换VLC图表并进行可变长度编码。
(实施方式4)
本实施方式中图象编码装置的构成及编码处理的概要除去图1所示的系数个数编码器111之外,与实施方式1完全相同。在此,将有关在该系数个数编码器111中由实施方式4所做出的系数个数的可变长度编码处理,采用图13及图14来说明其详细情况。
图13(a)是详细表示系数个数编码器111的内部结构的框图。
如图13(a)所示,系数个数编码器111代替图3(a)所示的预测值计算器201、代码图表选择器203及VLC图表选择器204,而具备有图表选择器1001。图表选择器1001与实施方式1有所不同并不使用预测值,而直接使用已编码块的系数个数,并通过同时对代码图表及VLC图表加以评价来选择实际所使用的图表。此时所参照的已编码块如图4(a)所示,对编码对象块X采用处于B、C及D位置关系上的3个块。但是,在位于这种位置关系上的块是未编码的、或者处于画面外部或切片外部的块的场合下,作为系数个数而代替使用0或者其他任意值。
图表选择器1001同时采用代码图表及VLC图表,来计算从对参考块的系数个数进行编码后的结果所生成的代码序列长度之和,将其作为评价值。图14是表示下述方法的模式图,这就是通过代码图表及VLC图表对3个参考块的系数个数进行编码,并计算所得到的代码序列长度之和将其作为评价值。而且,图表选择器1001对代码图表存储器202及VLC图表存储器205所具有的所有代码图表及VLC图表的组合都进行该处理,并选择所得到的评价值变得最小的代码图表及VLC图表的组合。
系数个数编码器206对通过图表选择器1001所选择出的代码图表及VLC图表进行参照,并与实施方式1相同对所输入的编码对象块的系数个数进行可变长度编码。
如上所述,在本实施方式中由于对已编码外围块的系数个数,采用代码图表及VLC图表来进行编码,将此时的代码序列长度之和作为评价值并参照使其成为最小的组合的代码图表及VLC图表,因而对系数出现概率不一样的画面也可以高效率地进行系数个数的编码。
还有,与实施方式1相同在图表选择器1001中所参照的已编码块,取代图4(a)的那种3个外围块,象图4(b)那样也可以对编码对象块X只使用处于B及D位置关系上的2个块,来进行同样的处理。但是,在位于这种位置关系上的块是未编码的、或者处于画面外部的块的场合下,作为系数个数而代替使用0或其他任意值。
另外,在本实施方式中虽然在系数个数编码器111中对系数个数的值其本身进行可变长度编码,但是与实施方式1相同也可以象图13(b)那样通过差分运算器207来计算由预测值计算器201所得出的预测值和系数个数的值之间的差分值,并通过与上述实施方式相同的处理对所得到的值进行可变长度编码。
另外,在本实施方式中虽然在系数个数编码器11 1中将代码图表及VLC图表作为所转换的对象,但是也可以不转换它们的一方而加以固定使用。
(实施方式5)
图15是表示采用本发明所涉及的图象编码方法的图象编码装置实施方式5构成的框图。编码处理的概要与实施方式完全相同,不同之处在于不使用系数个数存储器110,而在系数个数编码器1201中作为所参照的信息,取代实施方式1中的已编码块的系数个数,转而在画面间预测编码时使用画面间预测方式,并且在画面内预测编码时使用画面内预测方式。
在此,将有关图15所示的在系数个数编码器1201中所做出的系数个数的可变长度编码处理,采用图16及列表10到列表11来说明其详细情况。
图16是详细表示系数个数编码器1201的内部结构的框图。
如图16所示,系数个数编码器1201不具备图3(a)所示的预测值计算器201。在画面间预测编码时由画面间预测器107向代码图表选择器1301及VLC图表选择器1302输入画面间预测方式,并且在画面内预测编码时由画面内预测器108向代码图表选择器1301及VLC图表选择器1302输入画面内预测方式。据此,代码图表选择器1301在画面间预测编码时根据画面间预测方式来选择所使用的图表,并且在画面内预测编码时根据画面内预测方式来选择所使用的图表。列表10用来表示代码图表选择器1301中的代码图表选择方法。
列表10
参照表 |
画面间预测模式 |
画面内预测模式 |
代码表1 |
16×16,16×8,8×16 |
平面预测 |
代码表2 |
8×8 |
斜向预测 |
代码表3 |
8×4,4×8 |
斜向预测 |
代码表4 |
4×4 |
纵横向预测 |
例如,在编码对象画面通过画面间预测被编码的场合下,若选择对象块为8×8尺寸的预测,则同时作为对系数个数进行可变长度编码所用的代码图表选择第2图表。还有,有关列表10的各项目,在使用其他项目的场合下也同样可以进行处理。
另外,列表11用来表示VLC图表选择器1302中的VLC图表选择方法。
列表11
参照表 |
画面间预测模式 |
画面内预测模式 |
VLC表1 |
16×16,16×8,8×16 |
平面预测 |
VLC表2 |
8×8 |
斜向预测 |
VLC表3 |
8×4,4×8 |
斜向预测 |
VLC表4 |
4×4 |
纵横向预测 |
VLC图表选择器1302与代码图表选择器1301的情形相同,使用列表11所示的那种选择方法来选择实际所参照的VLC图表。
系数个数编码器206对通过代码图表选择器1301所选择出的代码图表及通过VLC选择器1302所选择出的VLC图表进行参照,并与实施方式1相同对所输入的编码对象块的系数个数进行可变长度编码。
如上所述,在本实施方式中表示出下述编码方法,即作为编码对象的块在画面间预测编码时按照画面间预测方式并且在画面内预测编码时按照画面内预测方式,来适当转换代码图表及VLC图表并加以参照,以此对系数出现概率不一样的画面也可以高效率地进行系数个数的编码。
还有,在本实施方式中虽然在系数个数编码器1201中对系数个数的值其本身进行可变长度编码,但是与实施方式1相同也可以采用已编码外围块的系数个数来决定预测值,求取该预测值和所输入的系数个数的值之间的差分值,并通过与上述实施方式相同的处理对所得到的值进行可变长度编码。
另外,在本实施方式中虽然在系数个数编码器1201中对代码图表及VLC图表的双方进行转换来进行可变长度编码,但是与实施方式1相同也可以不转换它们的一方或双方而加以固定使用。这种场合下,可以通过只准备存储器来实现,该存储器具有某1种代码图表或VLC图表。
(实施方式6)
图17是表示采用本发明所涉及的图象解码方法的图象解码装置一个实施方式构成的框图。在此,输入通过实施方式1的图象编码装置所生成的代码序列。
图象解码装置具备有:代码序列解析器1401、系数个数存储器1402、系数个数解码器1403、系数值解码器1404、逆量化器1405、逆正交变换器1406、帧存储器1407、画面间预测译码器1408、画面内预测译码器1409及开关1410。
代码序列解析器1401用来从所输入的代码序列提取编码方式、编码时所使用的运动矢量、系数个数(块单位具有0以外值的空表示间频率成分的系数个数)的代码序列以及系数值代码序列等的各种信息。系数个数存储器1402用来存储已解码块的系数个数。系数个数解码器1403通过参照已解码块的系数个数,对系数个数的代码序列进行解码。
系数值解码器1404采用由系数个数解码器1403所解码的系数个数对系数值的代码序列进行解码。逆量化器1405用来对解码后的系数进行逆量化。逆正交变换器1406用来对逆量化后的数据进行逆正交变换,并变换成预测残差图象数据。
画面间预测译码器1408在作为解码对象的宏块通过画面间预测被编码的场合下,根据由代码序列解析器1401所提取的运动矢量及已解码画面等,生成运动补偿图象数据。加法运算器1411用来对由逆正交变换器1406所输入的预测残差图象数据和由画面间预测译码器1408所输入的运动补偿图象数据进行加法运算,生成解码图象数据。帧存储器1407用来存储所生成的解码图象数据。
画面内预测译码器1409在作为解码对象的宏块通过画面内预测被编码的场合下,采用外围已解码块的信息来进行画面内预测,生成解码图象数据。
下面,将有关如上所构成的图象解码装置的动作,予以说明。
首先,代码序列被输入到代码序列解析器1401。代码序列解析器1401从所输入的代码序列提取运动矢量、系数个数代码序列及系数值代码序列等的各种信息。然后,代码序列解析器1401分别向画面间预测译码器1408、系数个数解码器1403及系数值解码器1404输入运动矢量、系数个数代码序列及系数值代码序列。
输入系数个数代码序列后的系数个数解码器1403将该代码序列作为块单位具有0以外值的系数个数而对其进行解码。此时,系数个数解码器1403通过对系数个数存储器1402中所保存的已解码块的系数个数进行参照,采用下面所说明的方法来进行系数个数的解码。接着,系数值解码器1404采用由系数个数解码器1403所得到的系数个数信息来转换对可变长度解码来说必要的代码图表及VLC图表并加以参照,以此进行系数值其本身的解码。所得到的系数通过逆量化器1405及逆正交变换器1406被变换到预测残差图象数据。
在作为解码对象的宏块通过画面间预测被编码的场合下,通过代码序列解析器1401所提取的运动矢量输入给画面间预测译码器1408。画面间预测译码器1408通过将帧存储器1407中所储存的已解码画面的解码图象作为参考画面,根据运动矢量信息生成运动补偿图象数据。这样所得到的运动补偿图象数据通过在加法运算器1411中与预测残差图象数据进行加法运算,而作为解码图象数据被生成,并存储在帧存储器1407中。
另一方面,在作为解码对象的宏块通过画面内预测被编码的场合下,在画面内预测译码器1409中采用外围已解码块的信息来进行画面内预测,生成解码图象数据,并存储在帧存储器1407中。然后,作为最终的输出图象从帧存储器1407依照显示时间顺序予以输出。
上面,已对解码流程的概要做出说明,而有关系数个数解码器1403所进行的系数个数的解码处理,将采用图18到图21来说明其详细情况。
图18(a)是详细表示系数个数解码器1403的内部结构的框图。
还有,此处表示出为了进行系数个数的可变长度解码,而使用VLC图表和代码图表这样的2个图表的示例。该VLC图表指的是为将代码序列中的可变长度代码变换成代码编号而使用的图表,代码图表指的是为将通过VLC图表所得到的代码编号变换成系数个数而使用的图表。
系数个数解码器1403如图18(a)所示,具备有:预测值计算器1501、代码图表存储器1502、代码图表选择器1503、VLC图表选择器1504、VLC图表存储器1505及系数个数解码器1506。
首先,从图17所示的系数个数存储器1402向预测值计算器1501输入位于外围的已解码块的系数个数。预测值计算器1501通过取得这些数值的平均值来决定预测值。再者,作为预测值的决定方法,取代上述平均值也可以比照编码时的预测值计算方法而使用最大值、最小值或中央值的任一个。此处所参照的已解码块与实施方式1相同,是对图4(a)所示的解码对象块X采用处于B、C及D位置关系上的3个块并按照列表1来决定的。列表1中的○意味着已解码块,×意味着未进行解码的、或者因位于画面外部或切片外部而不能参照的块。还有,列表中1的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。再者,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。
代码图表选择器1503根据由预测值计算器1501所计算出的预测值,从代码图表存储器1502所具有的多个代码图表之中选择实际所使用的代码图表。
列表2是使通过代码图表存储器1502所预先准备好的系数个数和代码编号相对应的代码图表示例。还有,在此虽然准备有4种代码图表,但是图表种类的数目及图表的值在使用其他数目及数值的场合下,也同样可以进行处理。但是,此时使用的数目及图表与编码时所使用的相同。另外,列表3用来表示基于预测值的代码图表选择基准。再者,列表3中的预测值分配方法或参考图表的项目在使用其他项目的场合下,也同样可以进行处理。但是,此时使用的项目与编码时所使用的相同。
VLC图表选择器1504根据由预测值计算器1501所计算出的预测值,从VLC图表存储器1505所具有的多个VLC图表之中选择实际所使用的VLC图表。
列表4是表示使通过VLC图表存储器1505所预先准备好的系数个数和代码编号相对应的VLC图表示例。再者,在此虽然准备有4种VLC图表,但是图表种类的数目及图表的值在使用其他数目及数值的场合下,也同样可以进行处理。但是,此时使用的数目及数值与编码时所使用的相同。另外,列表5用来表示基于预测值的VLC图表选择基准。再者,列表5中的预测值分配方法或参考图表的项目在使用其他项目的场合下,也同样可以进行处理。但是,这种场合下前提条件是使用的项目与编码时所使用的相同。
系数个数解码器1506参照由上述处理所选择出的代码图表及VLC图表,对所输入的解码对象块的系数个数代码序列进行可变长度解码。系数个数解码器1506首先采用VLC图表将系数个数的代码序列变换成代码编号,接着采用代码图表将其变换成与代码编号相应的系数个数的值。图19是表示通过预测值计算器1501所计算出的预测值为“6”并且解码对象块的系数个数代码序列为“0100”时的解码示例的模式图。因为预测值是“6”,所以在代码图表选择器1503中通过列表3及列表2来选择图19所示的代码图表3,并且在VLC图表选择器1504中通过列表5及列表4来选择图19所示的VLC图表3。系数个数解码器1506采用VLC图表3将所输入的代码序列“0100”变换成代码编号“2”,并进一步通过代码图表3来决定最终的系数个数“4”。
下面,将有关系数个数存储器1402所进行的系数个数的存储处理,说明其详细情况。再者,虽然采用在实施方式1的说明中所使用的图6(a)予以说明,但是此处附加有B1~B16符号的包含块的粗框表示解码对象宏块,斜线的块表示与解码对象宏块对应的参考块。另外,附加于块中的符号数字表示在宏块内的解码次序。
系数个数存储器1402例如在开始图6(a)所示的解码对象宏块的处理之时,至少有关对解码对象宏块来说必要的图6(a)中用斜线所示的参考块,而存储有通过系数个数解码器1403所解码的系数个数。也就是说,系数个数存储器1402对所依次处理的解码对象宏块的块(B1、B2、B3、…B16)存储所检测出的系数个数。例如,在解码对象块是块B6的场合下,系数个数存储器1402除图6(a)所示的参考块之外,还存储有已处理后的块B1、B2、B3、B4及B5的各系数个数。而且,若通过系数个数解码器1403对块B6的系数个数进行解码,则系数个数存储器1402存储该块B6的系数个数。这样,系数个数存储器1402就对所依次处理的解码对象宏块的块(B1、B2、B3、…)存储所解码后的系数个数。
例如在解码对象宏块是图2(b)所示的宏块MB11的场合下,在该宏块MB11的处理结束并且处理向下一个宏块MB12转移时,系数个数存储器1402如图7(a)所示,至少保持着宏块MB11下行和右列的块(斜线的块)的系数个数。接着,在宏块MB12的处理结束并且处理向再下一个宏块MB13转移时,系数个数存储器1402同样至少保持着宏块MB12下行和右列的块的系数个数,与此同时如图7(b)所示,至少保持着宏块MB11下行的块(斜线的块)的系数个数。
另外,例如在解码对象宏块如同图2(b)所示的宏块MB9那样位于画面右端的场合下,在该宏块MB9的处理结束并且处理向一个宏块MB10转移时,系数个数存储器1402如图7(b)所示,至少保持着宏块MB9下行的块(斜线的块)的系数个数。
另外,例如在解码对象宏块如同图2(b)所示的宏块MBm那样位于画面下端的场合下,在该宏块MBm的处理结束并且处理向一个宏块MBn转移时,系数个数存储器1402如图7(c)所示,至少保持着宏块MBm右列的块(斜线的块)的系数个数。
这样,系数个数存储器1402预先保持与所参照的块对应的系数个数。还有,在上面的说明中即使是保持好的块以外系数个数的信息,只要是在不用参照之后都可以在任意时间加以删除。例如,既可以在处理向下一个宏块转移时加以删除,或者也可以在宏块的处理过程中加以删除。另外,与不用参照的块对应的系数个数则不一定需要删除这样的处理。例如,系数个数存储器1402也可以将与不用参照的块对应的系数个数识别为不需要,并根据需要加以改写。
还有,在上面的说明中虽然可以在系数个数存储器1402中通过预先存储已解码块的系数而加以参照,但并不是系数个数的值其本身,例如也可以使用这样的构成,即通过预先存储表示空间频率成分的块的系数值,而根据需要计算出系数个数。
如上所述,由于在本实施方式中从已解码外围块的系数个数来计算预测值,根据该预测值适当转换代码图表及VLC图表并加以参照,因而能够对系数个数进行解码。
另外,如上所述由于根据预测值来转换代码图表并加以参照,所以可以适应系数个数出现概率最高的位置变动。另一方面,由于根据预测值来转换VLC图表并加以参照,因而能够适应系数个数出现概率的分散程度大小。
还有,作为在预测值计算器1501中所参照的块,取代图4(a)所示的那种3个外围块,如图4(b)所示也可以对解码对象块X只使用处于块B及D位置关系上的2个块。此时,在处于块B及D位置关系上的2个块之中出现未解码的、或者位于画面外部或切片外部的块的场合下,象列表6那样做出参考块的变更。列表6中的○与列表1相同意味着已解码块,×意味着未进行解码的、或者因位于画面外部或切片外部而不能参照的块。还有,列表6的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。再者,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。这种场合下,系数个数存储器1402至少可以有关对解码对象宏块来说必要的图6(b)所示的参考块,而存储有通过系数个数解码器1403所解码后的系数个数。
还有,作为在预测值计算器1501中计算预测值的方法,并不固定为平均值、最大值、最小值或中央值的任一个,例如也可以从其中按序列、GOP、画面或每个切片选择最佳的数值。这种场合下,是通过对下述信号进行解码来决定的,该信号用来识别在代码序列的序列、画面或者切片的标题中所描述的计算方法。还有,切片表示将1个画面分为多个区域的单位,例如以宏块为单位沿横向1行左右的区域等,就相当于此。
还有,作为在预测值计算器1501中计算预测值的方法,例如也可以通过已解码参考块的系数个数的平均值,来选择平均值、最大值、最小值或中央值的任一个。列表7用来表示其选择基准。还有,列表7中的平均值分配方法或预测值计算方法的项目在使用其他项目的场合下,也同样可以进行处理。但是,这种场合下使用的项目与编码时所使用的相同。
再者,在本实施方式中虽然表示出,在系数个数解码器1403中对系数个数的值其本身已进行可变长度编码的代码序列解码处理方法,但是也可以进行对预测值和系数个数之间的差分值已做出可变长度编码的代码序列的解码。这种场合下,如图18(b)所示是通过在加法运算器1507中对由预测值计算器1501所计算出的预测值和由系数个数解码器1506所解码后的系数个数的差分值进行加法运算,来决定系数个数的。
另外,在本实施方式中虽然在系数个数解码器1403中采用以外围块的系数个数为根据的预测值来转换代码图表及VLC图表的双方并进行可变长度解码,但也可以不转换它们的任一方而加以固定使用。这种场合下,可以通过只准备存储器来加以实现,该存储器具有某1种代码图表或VLC图表。图20(a)是表示只固定代码图表进行系数个数的可变长度解码时的系数个数解码器1403结构的框图。另外,图20(b)是表示只固定VLC图表进行系数个数的可变长度解码时的系数个数解码器1403结构的框图。在只固定代码图表的那种场合下,如图20(a)所示系数个数解码器1403替代图18(a)所示的代码图表存储器1502及代码图表选择器1503,而具备有代码图表存储器1601。该代码图表存储器1601具有1种代码图表。而且,系数个数解码器1506首先采用由VLC图表选择器1504所选择出的VLC图表将可变长度代码变换成代码编号,接着采用代码图表存储器1601所具有的代码图表将代码编号变换成系数个数。
另一方面,在只固定VLC图表的场合下,如图20(b)所示系数个数解码器1403替代图18(a)所示的VLC图表存储器1505及VLC图表选择器1504,而具备有VLC图表存储器1602。该VLC图表存储器1602具有1种VLC图表。而且,系数个数解码器1506首先采用VLC图表存储器1602所具有的VLC图表将可变长度代码变换成代码编号,接着采用由代码图表选择器1503所选择出的代码图表将代码编号变换成系数个数。
这样,由于不用转换代码图表或VLC图表的任一方而加以固定使用,所以能够减少预先存储多个图表所需的存储容量。
另外,在系数个数解码器1403中也可以不使用代码图表而通过以外围块的系数个数为根据的预测值只转换VLC图表来进行可变长度解码。图20(c)是表示不用代码图表而只使用VLC图表来进行系数个数的可变长度解码时的系数个数解码器1403结构的框图。这种场合下,如图20(c)所示系数个数解码器1403不具备图18(a)所示的代码图表存储器1502及代码图表选择器1503。关于系数个数解码器1403,则是根据由预测值计算器1501所计算出的预测值,VLC图表选择器1603从VLC图表存储器1604所具有的多个VLC图表之中来选择实际所使用的VLC图表的。而且,系数个数解码器1506不用如上采用代码图表将系数个数变换成代码编号,而直接采用VLC图表将可变长度代码变换成系数个数。还有,这种场合下在由列表4所示的VLC图表示例中,成为代码编号的部分为系数个数的值。
另外,在系数个数解码器1403中对于进行代码序列的解码的情形也同样可以进行处理,该代码序列是取代系数个数的值而对预测值和系数个数之间的差分值已做出可变长度编码的代码序列。图21是表示作为其示例固定代码图表及VLC图表的双方而对预测值和系数个数之间的差分值进行可变长度解码时的系数个数解码器1403结构的框图。这种场合下,如图21所示系数个数解码器1403替代图18(a)所示的代码图表存储器1502及代码图表选择器1503而具备有代码图表存储器1601,并且替代VLC图表存储器1505及VLC图表选择器1504而具备有VLC图表存储器1602。该代码图表存储器1601具有1种代码图表,并且VLC图表存储器1602具有1种VLC图表。而且,系数个数解码器1506首先采用VLC图表存储器1602所具有的VLC图表将可变长度代码变换成代码编号,接着采用代码图表存储器1601所具有的代码图表将代码编号变换成系数个数和预测值之间的差分值。进而,通过由加法运算器1507对上述差分值和预测值进行加法运算,计算出系数个数。
(实施方式7)
本实施方式中图象解码装置的结构及解码处理的概要除去图17所示的系数个数解码器1403,与实施方式6完全相同。在此,将有关在该系数个数解码器1403中由实施方式7所做出的系数个数的可变长度解码处理,采用图11及图22来说明其详细情况。还有,输入由实施方式2的图象编码装置所生成的代码序列。
图22(a)是详细表示系数个数解码器1403的内部结构的框图。
如图22(a)所示,系数个数解码器1403替代图18(a)所示的代码图表存储器1502及代码图表选择器1503,而具备有代码图表生成器1901。在代码图表生成器1901中从图17所示的系数个数存储器1402输入已解码块的系数个数。代码图表生成器1901对每个系数个数的值中有几个具有与此相等的系数个数的已解码块进行计数,根据其统计量从产生频率最高的系数个数依次分配代码编号,制作出代码图表。图11(a)是表示作为统计对象的已解码块位置的模式图。在此,P1、P3及P4是进行画面间预测解码的画面,I2是进行画面内预测解码的画面。假设作为当前解码对象的块属于P3,则采用相同方式所解码后的作为最近画面的P1的所有块都成为统计对象。还有,象图11(b)那样在将处于当前解码对象画面内并且也含有已解码块的1画面量块作为统计对象的场合下,也同样可以进行处理。另外,在不存在可作为统计对象的1画面量已解码块的场合下,使用作为初始状态下的代码图表而按照从0开始的上升次序所给与的图表。还有,虽然此处将1画面量的块作为统计对象,但是在作为参数而使用此外的块个数的场合下,也同样可以进行处理。再者,在进行图11(a)所示的那种参照来生成上述代码图表的场合下,可以在开始对象画面的解码时仅进行1次图表的生成。
另一方面,在预测值计算器1501中输入位于外围的已解码块的系数个数。预测值计算器1501根据这些数值,与实施方式6相同通过取得平均值来决定预测值。还有,作为预测值的决定方法,取代上述平均值也可以使用最大值、最小值或中央值的任一个。此时所参照的已解码块与实施方式6相同,是对图4(a)所示的解码对象块X采用处于B、C及D位置关系上的3个块并按照列表1来决定的。还有,列表1中的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。另外,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。但是,该数值的使用与编码时所使用的相同。
通过预测值计算器1501所计算出的预测值只在VLC图表选择器1504中被使用。VLC图表选择器1504根据该预测值,与实施方式6相同从VLC图表存储器1505中如列表4所示的那种所预先准备的多个VLC图表之中,按照列表5所示的那种选择基准来选择使用于系数个数的解码中的VLC图表。
系数个数解码器1506对通过代码图表生成器1901所生成的代码图表及通过VLC图表选择器1504所选择出的VLC图表进行参照,与实施方式6相同对所输入的系数个数的代码序列进行可变长度解码。
如上所述,在本实施方式中通过取得已解码块的系数个数统计结果来制作代码图表,并进一步根据从已解码块的系数个数所计算出的预测值来决定VLC图表,通过对其双方进行参照而可以进行系数个数的解码。
还有,与实施方式6相同在预测值计算器1501中所参照的已解码块,取代图4(a)的那种3个外围块,象图4(b)那样也可以对解码对象块X只采用处于B及D位置关系上的2个块,并按照列表6加以决定。另外,列表6中的○×及参考块的项目在使用其他项目的场合下,也同样可以进行处理。还有,在判断出没有参考块的场合下,将0或其他任意值作为预测值而直接给与。但是,该数值的使用与编码时所使用的相同。
另外,与实施方式6相同作为在预测值计算器1501中计算预测值的方法,并不固定为平均值、最大值、最小值或中央值的任一个,例如也可以从其中按序列、GOP、画面或每个切片来选择最佳的数值。这种场合下,通过对下述信号进行解码来决定计算方法,该信号用来识别在代码序列的序列、GOP、画面或者切片的标题区域中所描述的计算方法。
另外,与实施方式6相同,作为在预测值计算器1501中计算预测值的方法,例如也可以通过已解码参考块的系数个数的平均值来选择平均值、最大值、最小值或者中央值的任一个。列表7用来表示其选择基准,但此处的平均值分配方法或预测值计算方法的项目在使用其他项目的场合下,也同样可以进行处理。但是,这种场合下使用的项目与编码时所使用的相同。
另外,在本实施方式中虽然表示出对系数个数的值其本身已进行可变长度编码的代码序列的解码处理方法,但也可以进行对预测值和系数个数之间的差分值已做出可变长度编码的代码序列的解码。这种场合下,如图22(b)所示通过在加法运算器1507中对由预测值计算器1501所得出的预测值和通过系数个数解码器1506所解码后的系数个数的差分值进行加法运算,来决定系数个数。
另外,在本实施方式中虽然在系数个数编码器1403中采用以外围块的系数个数为根据的预测值来转换VLC图表并进行可变长度解码,但是与实施方式6相同也可以不转换VLC图表而加以固定使用。这种场合下,可以取代使用VLC图表选择器而通过只使用VLC图表存储器来实现,该VLC图表存储器具有某1种VLC图表。
(实施方式8)
本实施方式中的图象解码装置的结构及解码处理的概要除去图17所示的系数个数解码器1403之外,与实施方式6完全相同。在此,将有关在该系数个数解码器1403中由实施方式8所做出的系数个数的可变长度解码处理,采用图23及列表8到列表9来说明其详细情况。还有,输入由实施方式3的图象编码装置所生成的代码序列。
图23(a)是详细表示系数个数解码器1403的内部结构的框图。
如图23(a)所示,系数个数解码器1403不具备图18(a)所示的预测值计算器1501。据此,代码图表选择器2001及VLC图表选择器2002与实施方式6不同并不使用预测值,而通过直接使用已解码块的系数个数来选择实际所使用的图表。此时所参照的已解码块如图4(b)所示,对解码对象块X只使用处于B(上)及D(左)位置关系上的2个块。但是,在位于上方及左侧的块是未解码的、或者处于画面外部或切片外部的块的场合下,作为系数个数而代替使用0或者其他任意值。但是,该数值的使用与编码时所使用的相同。
列表8用来表示代码图表选择器2001中的代码图表选择方法。代码图表选择器2001如列表8所示根据值的不同,将位于解码对象块上方及左侧块的系数个数的各自分类成2个组,通过以此所形成的4个组合来选择图表。还有,有关列表8中对上方及左侧块的系数个数进行分类的方法及代码图表的分配方法,在使用其他方法的场合下也同样可以进行处理。但是,这种场合下使用的方法与编码时所使用的相同。另外,VLC图表选择器2002与代码图表选择器2001的情形相同,采用列表9所示的那种选择方法来选择实际所参照的VLC图表。
系数个数解码器1506对通过代码图表选择器2001所选择出的代码图表及通过VLC图表选择器2002所选择出的VLC图表进行参照,并与实施方式6相同对所输入的解码对象块的系数个数进行可变长度解码。
如上所述在本实施方式中,由于根据值的不同将位于解码对象块上方及左侧的已解码块的系数个数分类为N个组,按照此时所形成的如同N×N那样的组合来适当转换代码图表及VLC图表并加以参照,因而可以进行系数个数的解码。
还有,在本实施方式中虽然表示出对系数个数的值其本身已进行可变长度编码的代码序列的解码处理方法,但是也可以进行对预测值和系数个数之间的差分值已做出可变长度编码的代码序列的解码。这种场合下,如图23(b)所示在加法运算器1507中对由预测值计算器1501所得出的预测值和通过系数个数解码器1506所解码后的系数个数的差分值进行加法运算,以此来决定系数个数。
另外,在本实施方式中虽然在系数个数解码器1403中根据外围块的系数个数来转换代码图表及VLC图表的双方并进行可变长度解码,但是与实施方式6相同也可以不转换它们的任一方而加以固定使用。这种场合下,可以取代使用图表选择器而通过只使用下述存储器来实现,该存储器具有某1种代码图表或者VLC图表。再者,与实施方式6相同也可以不使用代码图表而通过外围块的系数个数只转换VLC图表并进行可变长度解码。
(实施方式9)
本实施方式中图象解码装置的构成及解码处理的概要除去图17所示的系数个数解码器1403之外,与实施方式6完全同等。在此,将有关在该系数个数解码器1403中由实施方式9所做出的系数个数的可变长度解码处理,采用图24及图14来说明其详细情况。还有,输入由实施方式4的图象编码装置所生成的代码序列。
图24(a)是详细表示系数个数解码器1403的内部结构的框图。
如图24(a)所示,系数个数解码器1403代替图18(a)所示的预测值计算器1501、代码图表选择器1503及VLC图表选择器1504,而具备有图表选择器2101。图表选择器2101与实施方式6不同并不使用预测值,而通过直接使用已解码块的系数个数并同时对代码图表及VLC图表加以评价,来选择实际所使用的图表。此时所参照的已解码块如图4(a)所示,对编码对象块X采用处于B、C及D位置关系上的3个块。但是,在位于这种位置关系上的块是未解码的、或者处于画面外部或切片外部的块的场合下,作为系数个数而代替使用0或者其他任意值。但是,该数值的使用与编码时所使用的相同。
图表选择器2101如图14所示,与实施方式4相同同时采用代码图表及VLC图表,来计算从编码参考块的系数个数后的结果所生成的代码序列长度之和,将其作为评价值。而且,图表选择器2101对代码图表存储器1502及VLC图表存储器1505所具有的所有代码图表及VLC图表的组合都进行该处理,并选择使所得到的评价值变得最小的代码图表及VLC图表的组合。
系数个数解码器1506对通过图表选择器2101所选择出的代码图表及VLC图表进行参照,与实施方式6相同对所输入的解码对象块的系数个数进行可变长度解码。
如上所述在本实施方式中,由于对已解码外围块的系数个数采用代码图表及VLC图表来进行编码,将此时的代码序列长度之和作为评价值并参照使其成为最小的组合代码图表及VLC图表,因而可以进行系数个数的解码。
还有,与实施方式6相同在图表选择器2101中所参照的已解码块,取代图4(a)的那种3个外围块,象图4(b)那样也可以对解码对象块X只使用处于B及D位置关系上的2个块来进行同样的处理。但是,在位于这种位置关系上的块是未解码的、或者处于画面外部的块的场合下,作为系数个数而代替使用0或者其他任意值。但是,该数值的使用与编码时所使用的相同。
另外,在本实施方式中虽然表示出对系数个数的值其本身已做出可变长度编码的代码序列的解码处理方法,但是也可以进行对预测值和系数个数之间的差分值已做出可变长度编码的代码序列的解码。这种场合下,如图24(b)所示在加法运算器1507中对由预测值计算器1501所得出的预测值和通过系数个数解码器1506所解码后的系数个数的差分值进行加法运算,以此来决定系数个数。
另外,在本实施方式中虽然在系数个数解码器1403中将代码图表及VLC图表作为所转换的对象,但是也可以不转换它们的一方而加以固定使用。
(实施方式10)
本实施方式中图象解码装置的结构及解码处理的概要,除去图17所示的系数个数解码器1403之外,与实施方式6完全相同。在本实施方式中,作为在系数个数解码器1403中所参照的信息,取代实施方式6中的已解码块的系数个数,转而在画面间预测解码时使用画面间预测方式,并且在画面内预测解码时使用画面内预测方式。还有,输入由实施方式5的图象编码装置所生成的代码序列。
在此,将有关在图17所示的系数个数解码器1403中所做出的系数个数的可变长度解码处理,采用图25来说明其详细情况。
图25是详细表示系数个数解码器1403的内部结构的框图。
如图25所示,系数个数解码器1403不具备图18(a)所示的预测值计算器1501。在画面间预测解码时以及在画面内预测解码时,由代码序列解析器1401向代码图表选择器2201及VLC图表选择器2202分别输入画面间预测方式以及画面内预测方式。据此,代码图表选择器2201在画面间预测编码时以及在画面内预测编码时分别根据画面间预测方式及画面内预测方式,来选择所使用的图表。列表10用来表示代码图表选择器2201中的代码图表选择方法。
例如,在解码对象画面采用画面间预测被解码的场合下,若选择对象块为8×8尺寸的预测,则同时作为对系数个数进行可变长度解码所用的代码图表选择第2图表。还有,有关列表10的各项目,在使用其他项目的场合下也同样可以进行处理。但是,使用的项目与编码时所使用的相同。
另外,VLC图表选择器2202与代码图表选择器2201的情形相同,使用列表11所示的那种选择方法来选择实际所参照的VLC图表。
系数个数解码器1506对通过代码图表选择器2201所选择出的代码图表及通过VLC选择器2202所选择出的VLC图表进行参照,与实施方式6相同对所输入的解码对象块的系数个数进行可变长度解码。
如上所述在本实施方式中,由于作为解码对象的块在画面间预测解码时以及在画面内预测解码时分别按照画面间预测方式及画面内预测方式,来适当转换代码图表及VLC图表并加以参照,因而可以进行系数个数的解码。
还有,在本实施方式中虽然表示出对系数个数的值其本身已做出可变长度编码的代码序列的解码处理方法,但是也可以进行对预测值和系数个数之间的差分值已做出可变长度编码的代码序列的解码。这种场合下与实施方式6相同,采用已编码外围块的系数个数来决定预测值并对该数值和通过系数个数解码器1506所解码后的系数个数的差分值进行加法运算,以此来决定系数个数。
另外,在本实施方式中虽然在系数个数解码器1403中对代码图表及VLC图表的双方进行转换来进行可变长度解码,但是与实施方式6相同也可以不转换它们的一方或双方而加以固定使用。这种场合下,可以通过只准备具有某1种代码图表或VLC图表的存储器,来加以实现。
(实施方式11)
再者,通过将实现上述各实施方式所示的编码处理及解码处理的构成所需的编码及解码程序记录在软盘等数据存储媒体中,而可以在独立的计算机系统中简单地实施上述各实施方式所示的处理。
图26是用来说明采用存储有上述编码及解码程序的软盘并通过计算机系统来实现上述实施方式1到10的编码或解码处理的附图。
图26(b)表示出从软盘的正面所看到的外观、剖面结构及软盘,图26(a)表示出作为存储媒体主体的软盘物理格式的示例。软盘FD内置于卡盒F内,在该磁盘的表面上按同心圆状从外圆向内圆形成有多个磁道Tr,并且各磁道按角度方向被分割成16个扇区Se。因而,对于存储有上述程序的软盘,而在上述软盘FD上所分配的区域内记录有作为上述程序的数据。
另外,图26(c)表示在软盘FD中进行上述程序的记录再生所需的结构。在将上述程序记录到软盘FD中时,从计算机系统Cs通过软盘驱动器来写入作为上述程序的数据。另外,在采用软盘内的程序将上述编码及解码装置建立在计算机系统中的场合下,通过软盘驱动器从软盘读出程序,转送给计算机系统。
还有,在上述的说明中作为记录媒体已采用软盘做出说明,但采用光盘也可以同样地进行。另外,记录媒体并不限于此,IC卡、ROM盒等只要是可以记录程序的装置,就能够同样地实施。
还有,在此将说明上述实施方式所示的图像编码方法和图像解码方法的应用示例和采用该方法的系统。
图27是表示实现内容传输服务的内容提供系统ex100整体结构的框图。将通信服务的提供区域分割成所希望的大小,并在各单元内设置有各自作为固定无线电台的基站ex107~ex110。
该内容提供系统ex100例如在因特网ex101上通过因特网提供设备ex102、电话网ex104及基站ex107~ex110来连接计算机ex111、PDA(personal digital assistant)ex112、摄像机ex113、携带电话ex114及带摄像机的携带电话ex115等的各种设备。
但是,内容提供系统ex100并不限定于图27的那种组合,而也可以组合连接任一个。另外,不用通过作为固定无线电台的基站ex107~ex110,各个设备也可以直接与电话网ex104相连接。
摄像机ex113是数字视频摄像机等的可进行动态图像摄影的设备。另外,携带电话是下述方式的携带电话机或是PHS(PersonalHandyphone System)等全都可以,上述方式包括PDC(Personal DigitalCommunications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式或者GMS(Global System for Mobile Communications)方式。
另外,流服务器ex103通过基站ex109及电话网ex104被摄像机ex113所连接,采用摄像机ex113可以根据用户所发送的编码处理后的数据进行实况传输等。所拍摄到的数据编码处理既可以在摄像机ex113中进行,也可以在进行数据发送处理的服务器等中进行。另外,由摄像机ex116所拍摄到的动态图像数据也可以通过计算机ex111发送给流服务器ex103。摄像机ex116是数字摄像机等的可拍摄静止图像、动态图像的设备。这种场合下,动态数据的编码在摄像机ex116中或在计算机ex111中都可以进行。另外,编码处理在计算机ex111和摄像机ex116所具有的LSIex117中进行。还有,也可以将图像编码·解码用的软件装入作为通过计算机ex111等可读取的记录媒体的任何储存媒体(CD-ROM、软盘、硬盘等)中。再者,也可以通过带摄像机的携带电话ex115发送动态图像数据。此时的动态图像数据是通过携带电话ex115所具有的LSI所编码处理后的数据。
在该内容提供系统ex100中,与上述实施方式相同一方面对用户使用摄像机ex113、摄像机ex116等所拍摄到的内容(例如,拍摄音乐实况的影像等)进行编码处理并发送给流服务器ex103,另一方面流服务器ex103对发出请求的客户机流传输上述内容数据。作为客户机,有可以对上述编码处理后的数据进行解码的计算机ex111、PDAex112、摄像机ex113及携带电话ex114等。这样一来,内容提供系统ex100可以在客户机中对编码后的数据进行接收及再生,并进一步通过在客户机中对其进行实时接收解码及再生,以此也可以实现个人广播。
在构成该系统的各设备的编码、解码过程中,可以采用上述各实施方式所示的图像编码装置或图像解码装置。
作为一个示例,将有关携带电话予以说明。
图28表示的是采用由上述实施方式所说明的图像编码方法和图像解码方法的携带电话ex115。携带电话ex115具有:天线ex201,用来和基站ex110之间发送并接收电波;摄像部ex203,是CCD摄像机等可拍摄影像、静止图像的摄像机;显示部ex202,是对由摄像部ex203所拍摄到的影像以及由天线ex201所接收到的影像等被解码后的数据进行显示的液晶显示器等;主体部,由操作键ex204群构成;声音输出部ex208,是进行声音输出所用的扬声器等;声音输入部ex205,是进行声音输入所用的传声器等;记录媒体ex207,用来保存所拍摄到的动态图像或静止图像的数据、所接收到的邮件数据及动态图像数据或静止图像数据等的编码后的数据或者解码后的数据;开口部ex206,是可以将记录媒体ex207安装到携带电话ex115中所需的。记录媒体ex207是将闪存储元件装入SD卡等塑料盒内的部件,该闪存储元件是电可擦和删除的非易失性存储器并且是EEPROM(Electrically Erasable and Programmable Read Only Memory)的一种。
再者,将有关携带电话ex115采用图29予以说明。携带电话ex115对下述的主控制部ex311通过同步总线ex313相互连接有电源电路部ex310、操作输入控制部ex304、图像编码部ex312、摄像机接口部ex303、LCD(Liquid Crystal Display)控制部ex302、图像解码部ex309、多路分离部ex308、记录再生部ex307、调制解调电路部ex306及声音处理部ex305,上述主控制部ex311对具备有显示部ex202及操作键ex204的主体部各部进行总括控制。
电源电路部ex310若因用户的操作而使话终及电源键变成开启状态,则通过从电池组对各部提供电源,而使带摄像机的数字携带电话ex115起动,成为可工作的状态。
携带电话ex115根据由CPU、ROM及RAM等组成的主控制部ex311的控制,通过声音处理部ex305将在声音通话方式时由声音输入部ex205所集音的声音信号转换成数字声音数据,采用调制解调电路部ex306对其进行扩频处理,并在通过发送接收电路部ex301施以数字模拟变换处理及频率变换处理之后,通过天线ex201进行发送。另外,携带电话机ex115对在声音通话方式时由天线ex201所接收到的接收数据进行放大并实施频率变换处理及模拟数字变换处理,通过调制解调电路部ex306进行逆扩频处理,在通过声音处理部ex305转换成模拟声音数据之后由声音输出部ex208将其输出。
再者,在数据通信方式时发送电子邮件的场合下,由主体部操作键ex204的操作所输入的电子邮件正文数据,通过操作输入控制部ex304发到主控制部ex311。主控制部ex311通过调制解调电路部ex306对正文数据进行扩频处理,在通过发送接收电路部ex301施以数字模拟变换处理及频率变换处理之后,通过天线ex201发送到基站ex110。
在数据通信方式时发送图像数据的场合下,通过摄像机接口部ex303将由摄像部ex203所拍摄到的图像数据提供到图像编码部ex312。另外,在不发送图像数据的场合下,也可以通过摄像机接口部ex303及LCD控制部ex302将由摄像部ex203所拍摄到的图像数据直接显示在显示部ex202。
图像编码部ex312的结构具备本申请发明中所说明的图像编码装置,并采用上述实施方式所示的用于图象编码装置中的编码方法进行压缩编码,以此将从摄像部ex203所提供的图像数据转换成编码图像数据并将其发到多路分离部ex308。另外,与此同时携带电话机ex115通过声音处理部ex305,将在采用摄像部ex203进行拍摄过程中由声音输入部ex205所集音的声音作为数字的声音数据,发到多路分离部ex308。
多路分离部ex308以指定方式对从图像编码部ex312所提供的编码图像数据和从声音处理部ex305所提供的声音数据进行多路化,通过调制解调电路部ex306对其结果所得到的多路化数据进行扩频处理,在通过发送接收电路部ex301施以数字模拟变换处理及频率变换处理之后,通过天线ex201进行发送。
在数据通信方式时接收与主页等所连接的动态图像文件数据的场合下,由调制解调电路部ex306对通过天线ex201从基站ex110所接收到的接收数据进行逆扩频处理,并将其结果所得到的多路化数据发到多路分离部ex308。
另外,为了对通过天线ex201所接收到的多路化数据进行解码,多路分离部ex308对多路化数据进行分离,以此分成图像数据的比特流和声音数据的比特流,并通过同步总线ex313将该编码图像数据提供给图像解码部ex309,与此同时将该声音数据提供给声音处理部ex305。
其次,图像解码部ex309的结构具备本申请发明中所说明的图像解码装置,采用与上述实施方式所示的编码方法对应的解码方法,以此对图像数据的比特流进行解码并生成再生动态图像,通过LCD控制部ex302将其提供到显示部ex202,据此例如显示与主页所连接的动态图像文件中包含的动态图像数据。与此同时,声音处理部ex305在将声音数据转换成模拟声音数据之后,将其提供给声音输出部ex208,据此例如再生与主页所连接的动态图像文件中包含的声音数据。
再者,不局限于上述系统的示例,最近人们正在探讨采用卫星、地面波的数字广播,并且如图30所示在数字广播用的系统中也可以至少安装上述实施方式的图像编码装置或图像解码装置的任一个。具体地说,在发射台ex409中影像信息的比特流通过电波传送给通信或广播卫星ex410。收到该电波的广播卫星ex410发送广播用的电波,并通过具有卫星广播接收设备的家庭天线ex406来接收该电波,采用电视(接收机)ex401或者机顶盒(STB)ex407等的装置对比特流进行解码予以再生。另外,也可以在读取下述比特流并进行解码的再生装置ex403中安装上述实施方式所示的图像解码装置,上述比特流记录于作为记录媒体的CD和DVD等储存媒体ex402中。这种场合下,所再生的影像信号显示在监视器ex404上。另外,人们也考虑到这样的结构,即将图像解码装置安装在与有线电视用的电缆ex405或者卫星/地面波广播的天线ex406相连接的机顶盒ex407内,通过电视的监视器ex408对其进行再生。此时,也可以不是机顶盒,而在电视内装入图像解码装置。另外,在具有天线ex411的汽车ex412中也可以从卫星ex410或者从基站ex107等接收信号,并在汽车ex412所具有的汽车导航ex413等显示装置上对动态图像进行再生。
还有,也可以通过上述实施方式所示的图像编码装置对图像信号进行编码,记录在记录媒体中。作为具体示例,有将图像信号记录到DVD光盘ex421中的DVD记录器和记录到硬盘中的光盘记录器等的记录器ex420。还有,也可以记录到SD卡ex422中。如果记录器ex420具备上述实施方式所示的图像解码装置,则可以对记录于DVD光盘ex421和SD卡ex422中的图像信号进行再生,并通过监视器ex408加以显示。
再者,人们考虑到汽车导航ex413的结构例如是在图29所示的结构中除去摄像部ex203、摄像机接口部ex303及图像编码部ex312的结构,并且在计算机ex111和电视(接收机)ex401等也做出同样的考虑。
另外,人们考虑到上述携带电话ex114等的终端除具有编码器·解码器双方的发送接收型终端之外,还有只有编码器的发送终端、只有解码器的接收终端的3种组装形式。
这样,可以将上述实施方式所示的动态图像编码方法或动态图像解码方法使用于上面所述的任何设备·系统中,据此能够得到上述实施方式所说明的效果。
另外,本发明并不限定于上述这种实施方式,而在不脱离本发明的范围内,可以进行各种的变形或者修改。
如上所述,根据本发明所涉及的动态图象编码方法,由于在对编码对象块中包含的正交变换后的0以外系数个数进行编码时,可以参照最佳的可变长度编码用图表,因而能够谋求编码效率的提高。
另外,根据本发明所涉及的动态图象解码方法,可以对下述的代码序列进行正确的解码,该代码序列是块中包含的正交变换后的0以外系数个数参照最佳的可变长度编码用图表已被编码的代码序列。