活动图象编码装置及其方法

文档序号:7625927阅读:308来源:国知局
专利名称:活动图象编码装置及其方法
技术领域
本发明涉及对活动图象进行高效率编码的活动图象编码装置及其方法,特别涉及在实时进行可变比特率编码时实现最佳的代码量控制的活动图象编码装置及其方法。
作为对电视信号等活动图象进行高效率编码的技术的国际标准,已经规定了MPEG2。
MPEG2是以「动态补偿预测」技术和「变换编码」技术及两个图象编码的要素技术为基础所规定的。「动态补偿预测」技术是把构成活动图象的「帧」图象分割为所谓「宏块」的16×16象素的块,以各宏块为单位,在时间上的前或后离开规定几帧的参照图象与编码图象之间,求出被称为「活动矢量」的活动量,以该活动量为基础,从参照图象来构成编码图象。「变换编码」技术是对于动态补偿预测的误差信号或者编码图象,使用作为正交变换的一种的DCT(离散余弦变换)来压缩信息量。
在图5中显示了现有的MPEG2的活动图象编码装置的一个构成例子。
此外,在图4中显示了编码图象构造的一个例子。
在动态补偿预测中,如图4所示的编码图象构造那样,由被称为I图象(帧内编码)、P图象(正向预测编码)、B图象(双向预测编码)的预测方法不同的三种图象的组合所构成。
如图5所示的那样,在变换编码中,在I图象中,由DCT器72对编码图象本身施加DCT;在P,B图象中,由DCT器72对由动态补偿器77所产生的作为动态补偿预测的误差信号的减法器71的输出施加DCT。
对于由该DCT器72所得到的DCT系数,通过代码量控制部90的输出进行控制,由量化器73来完成量化,然后,与活动矢量等其他附带信息一起,由可变长度编码器75完成可变长度编码,代码串作为「比特流」被存储在缓冲器76中之后被输出。
此时,根据缓冲器76的空间情况,由代码量控制部90来控制量化标度。
另一方面,量化器73的输出系数被提供给逆量化器77、IDCT器78,进行局部解码,把每块存储在帧存储器81中。
由于MPEG2是可变长度编码,则每单位时间的代码发生量(比特率)不是恒定的。
因此,通过以宏块为单位来适当变更量化器73中量化时的量化标度,就能控制为所需要的比特率。
在MPEG2 Test Model 5中,提出了以GOP为单位使代码发生量为恒定的固定比特率控制方法。
该Test Model 5中的固定比特率控制方法对于要求恒定的传输速率的用途是有效的方法。
但是,由于给活动图象序列的哪个部分都分配大致相同的代码量,则不能给包含较多信息量的复杂场景提供足够的代码量,而使画质变差。相反,在信息量较少的单纯的场景的情况下,代码量过剩而产生浪费,对于DVD—Video这样的能够进行可变传输率的用途来说,自然不是适当的速率控制方法。
解决以上问题的速率控制方法是可变比特率控制方法。在日本专利公开公报特开平6—141298中公开了借助于可变比特率控制的编码装置。
在该装置中,最初,对输入活动图象用固定量化标度进行假编码,在每单位时间中对代码发生量进行计数。接着,根据假编码时的代码发生量来设定各部分的目标传输速率,以使输入活动图象全体的代码发生量成为所需要的值。接着,进行控制以符合该目标传输速率,同时,对输入的活动图象进行第二次编码,即真编码。
但是,在上述现有例子中,为了得到输出比特流,至少必须进行两次编码,在要求实时性的用途中,不能使用该装置这样的两步方式的可变比特率控制。
对此,存在用于以大致实时地对活动图象进行编码的可变比特率控制方法,即一步方式的可变比特率控制方法。日本专利公开公报特开平10—164577中的图6等中公开了借助于一步方式的可变比特率控制方法的编码装置。
在图6中表示了该现有例子中的活动图象编码装置的一个构成例子。对于与图5相同的构成部件使用相同的标号,而省略其说明。
在该现有例子的装置中,把在缓冲器76中存储的代码量提供给代码发生量检测器83,把由该代码发生量检测器83所产生的代码发生量和来自量化器73的量化标度提供给平均量化标度检测器82,并由画面复杂度计算器84求出和由该平均量化标度检测器82所产生的画面内的量化标度的平均值的乘积,来作为「画面复杂度」,以与过去的画面复杂度的平均值相对应的当前的画面复杂度的比例为基础,来决定画面的目标代码发生量或者目标量化标度,由此,用代码量控制器74来实现可变比特率控制。
而且,在日本专利公开公报特开平10—302396中,公开了借助于一步方式的可变比特率控制方法的活动图象编码装置。
在该现有的活动图象编码装置中,当对活动图象进行编码时,测定每单位时间的编码难易度,从把其预先标准化的编码难易度和分配代码量的关系来求出每单位时间的分配代码量的参考值。
而且,从该分配代码量的参考值向实际的分配代码量进行变更的方法是为了使在记录介质中记录规定时间长度的活动图象的代码发生量总和在记录介质中能够记录的实际容量以下,把用由记录介质的实际容量决定的一定的分配代码量bav来进行编码时的分配代码量Bav与到当前为止的实际代码发生量的总和Bgen进行比较,在Bav—Bgen为正值时,允许bav以上的分配代码量,由此,来实现保证能够在一定的记录容量的记录介质中记录规定时间长度的活动图象的一步方式的可变比特率控制。
但是,在上述现有例子的一步方式的可变比特率控制中,在由此对进行编码的当前的画面进行假编码来求出当前的画面复杂度时,或者在不进行假编码的情况下,由于把以前的相同图象类型的画面复杂度作为当前的画面复杂度,当进行假编码时,即使是一步方式,不但由假编码所产生的延迟产生了问题,而且电路规模增大,处理变得复杂。
另一方面,在不进行假编码的情况下,当在进行编码的当前的画面之前发生场景变换时,在画面复杂度变化的情况下,作为当前的画面复杂度而使用的以前的相同的图象类型的画面复杂度就会与实际的画面复杂度不同,而出现进行不适当的代码量分配的问题。
而且,在一步方式的可变比特率控制中,与两步方式不同,在不预先知道所输入的活动图象序列由哪个画面复杂度的时间变化所构成的状态下,必须进行比特率控制。
因此,在上述现有例子中,假定画面复杂度的总体的时间变化接近于一般的图象中的平均画面复杂度来进行编码,因此,在活动图象序列的前半部分,编码容易的场景连续出现,而在后半部分,依次变难而使画面复杂度单调增加,在此情况下,在后半部分中分配给各个图象的代码量常常超过目标代码量。
因此,当用完前半部分的容易部分中的分配代码量的剩余部分(目标代码量与代码发生量之差的总和)时,分配代码量急剧减少,解码时的画质变差,在显著容易变差的后半部分中,反而由于固定比特率控制的编码而产生画质变差变得显著的问题。
反之,仅在序列的最初是非常难、而在其他部分是连续出现平均的画面复杂度场景的情况下,以最初的难的部分的画面复杂度为基础,来进行其后部分的代码量分配,因此,不但在平均的场景中,为防止代码量分配过剩,而使画质变得不充分,而且,其结果是,序列全体的代码发生量远小于目标代码量,而存在记录比特流的盘等的容量浪费的问题。
而且,在一步方式的可变比特率控制中,与两步方式不同,在不预先知道所输入的活动图象序列由哪个画面复杂度的时间变化所构成的状态下,必须进行比特率控制。
在上述现有的装置中,实际的代码发生量低于由记录介质的实际容量决定的一定的分配代码量bav的部分,在其以后的编码中,会出现超过bav的代码量分配。
因此,当在活动图象序列的前半部分编码比较容易、而后半部分较难时,前半部分的剩余比特返回后半部分的较难部分,能够实现序列全体的主观画质的改善,反之,当前半部分较难而后半部分容易时,就不可能实现前半部分较难部分的主观画质的改善,而且,在编码结束的时刻,在后半部分的容易部分中,代码量变得剩余,而使记录介质的容量产生浪费。
因此,本发明的目的是提供活动图象编码装置及其方法,在为了以大致实时地对活动图象进行编码的一步方式的可变比特率控制方法中,把延迟和电路规模的增大压低到最小限度,同时,实现更适当的代码量分配。
此外,本发明的目的是实现一步方式的可变比特率控制方法,即使画面复杂度单调增加的场景连续出现,由固定比特率控制的编码也不会导致画质变差,并能够进行更适当的代码量分配。
本发明另外的目的是通过给分配代码量附加时间上变化的裕量,即使在活动图象序列的最初部分中,也能进行超过一定的分配代码量的代码量分配,适当地进行序列全体的代码量分配,并且,可以获得画质的全面提高。
因此,在本发明中,在具有MPEG2等动态补偿预测、正交变换、量化、可变长度编码的各个装置的由可变比特率控制的活动图象编码装置中,首先,检测各图象的代码发生量和平均量化标度以及编码图象特性(活动性)。各个活动图象的代码发生量和平均量化标度的检测不是伴随着假编码进行,而是在实际的编码操作中进行的,对各图象的代码发生量和平均量化标度的乘积施加规定的操作,来求出画面复杂度。
对于在编码结束之后的图象的规定时间内的图象,将不同编码图象类型的画面复杂度相加,从而算出各个图象类型的平均画面复杂度。
另一方面,编码图象特性的检测在实际的编码操作之前进行,对每个图象算出编码图象的活动性。通过把相同的图象类型的以前的图象的画面复杂度同该图象中的与活动性相对应的从此所编码的图象的活动性的比例相乘,由此来推定从此进行编码的当前的图象的画面复杂度,使该推定画面复杂度与一定区间内的平均画面复杂度的比例反映为由目标比特率所确定的代码量分配,由此,不会引起延迟的增大,而能够实现进行对应于图象的变化的代码量分配的一步方式的可变比特率控制。
而且,与进行动态补偿预测的P和B图象相关,通过把动态补偿预测中的误差图象或者活动矢量检测中的编码图象与参照图象的差分图象中的绝对值或者平方误差以及活动矢量的偏差情况结合使用,由此,上述编码图象特性的检测能够与从此所编码的图象的画面复杂度推定相关,就能进行更适应于编码特性的推定。
而且,在本发明中,在具有MPEG2等动态补偿预测、正交变换、量化、可变长度编码的各个装置的由可变比特率控制的活动图象编码装置中,检测各图象的代码发生量和平均量化标度,对各图象的代码发生量和平均量化标度的乘积施加规定的操作,求出画面复杂度,对于在编码结束之后的图象的规定时间内的图象,把不同编码图象类型的画面复杂度相加,而算出各个图象类型的平均画面复杂度。接着,使当前的图象中的画面复杂度和一定区间内的平均画面复杂度(把不同编码图象类型或者其进行平均的结果)的比例反映为由规定的方法所决定的目标代码量Rp所确定的代码量分配,由此,进行从此进行编码的当前的图象的代码量分配。
其中,目标代码量Rp的决定方法是,例如,在使用记录介质的情况下,把能够记录活动图象数据的容量和由记录在其中的活动图象序列的记录时间所决定的、与由固定比特率控制进行编码时的平均比特率相对应的平均目标比特率Rave作为初始值。检测出规定的一定期间内的实际的平均代码发生量Rreal、已经编码的结束部分的总代码发生量Sreal,使用以Rave与Rreal之差、从Rreal与以前所检测出的Rreal之比所求出的Rreal的增减、以及用Rave进行编码时的总代码发生量Save与Sreal之差中的某几个作为因数的函数,来更新Rp,由此,可以实现能进行更适当的代码量分配的一步方式的可变比特率控制。
而且,与上述当前的图象中的画面复杂度的计算相关,检测出输入图象的活动性、动态补偿预测中的误差图象或者活动矢量检测中的被编码图象与参照图象的差分图象中的绝对值或者平方误差、以及活动矢量的偏差情况,使用把这些检测结果中的某几个作为因子的函数来决定编码图象特性,通过把相同的图象类型的以前图象的画面复杂度、同与该图象中的编码图象特性相对应的在此以后编码的图象的编码图象特性的比例相乘,来推定当前的图象中的画面复杂度,该推定画面复杂度与一定区间内的平均画面复杂度的比例反映为用上述规定方法所设定的由目标代码量所确定的代码量分配,由此,不会引起延迟的增大,而能够实现进行与图象的变化更加适应的代码量分配的控制。
并且,通过规定的方法来检测场景变换,由此把上述Rreal的检测区间进行复位,通过场景变换之前区间的Rreal来计算目标代码量Rp,在场景变换点进行目标代码量的更新,由此,使Rp的变动所产生的画质的差别不显著,能够进行更适当的代码量控制。
而且,在本发明中,在具有MPEG2等动态补偿预测、正交变换、量化、可变长度编码的各个装置的由可变比特率控制的活动图象编码装置中,检测各图象的代码发生量和平均量化标度,与此同时,设定各图象的目标平均代码量和作为代码量的裕量部分的裕量。
目标代码量,对于一定区间(通常是被称为GOP的15帧左右的一定长度的图象群),在代码串的传送对方是例如记录介质的情况下,设定用活动图象序列的记录时间和记录介质的实际容量来决定的一定的比特率进行编码时的分配代码量。代码量的裕量通过下述的方法,在每个规定时间变更设定值。
从各图象的代码发生量、量化标度、目标平均代码量、代码量的裕量来决定上述一定区间的分配代码量,用规定的方法把其分配给一定区间内的各图象。
代码量的裕量的设定值例如随活动图象序列的已经记录的时间或者剩余的记录时间而变化,在序列的最初是最大的,随着时间的推移,按一定比例而减少,在序列的最后成为0,通过这样进行的设定,就能不超过记录介质的实际容量,实现在中途的区间中超过一定的比特率的代码量分配。
或者,在对记录介质的实际容量设置裕量的情况下,把记录介质的容量的裕量分配给区分活动图象序列的规定区间长度的各个区间。
在序列的开头把裕量的分配设定为大的,随着到后半部分而依次设定为小的,在前半部分剩余的裕量依次转入后半部分,由此,能够实现浪费较少的裕量分配。
而且,在另一种裕量的设定方法中,用把已经记录活动图象序列的时间、剩余记录时间、已经记录的代码发生量、与记录介质相对应的剩余容量、目标传输率、最大传输率以及规定时间中的实际传输率中的某几个作为因子的函数,来设定裕量,由此,能够进行更适当的代码量控制。
对于用以上这样的方法所分配的各图象的分配代码量,把各帧的平均量化标度和代码发生量相乘,进行规定的变换,来求出各帧的画面复杂度,把该值与一定期间内的不同图象类型的平均画面复杂度相除得到的值,同上述各图象的分配代码量相乘,由此,来进行考虑了画面复杂度的代码量分配。
本发明的这些和其他的目的、优点及特征将通过结合附图对本发明的实施例的描述而得到进一步说明。在这些附图中

图1是表示本发明的活动图象编码装置及其方法的第一实施例的图;图2是表示本发明的活动图象编码装置及其方法的第二实施例的图;图3是表示本发明的第二实施例中的图象特性检测器的一个实施例的图;图4是表示编码图象构造的一个实施例的图;图5是表示一般的活动图象编码装置的一个构成例子的图;图6是表示现有的活动图象编码装置的一个构成例子的图;图7是表示本发明的活动图象编码装置及其方法的第三实施例的图;图8是表示本发明的活动图象编码装置及其方法的第三实施例中的代码量推移图的图;图9是表示本发明的活动图象编码装置及其方法的第四实施例的图;图10是表示本发明的活动图象编码装置及其方法的第五实施例的图;图11是表示本发明的活动图象编码装置及其方法的第五实施例中的代码量推移图的图;图12是表示本发明的活动图象编码装置及其方法的第六实施例的方框构成图;图13是表示本发明的活动图象编码装置及其方法的第六实施例中的代码量推移的一个实施例的图;图14是表示本发明的活动图象编码装置及其方法的第六实施例中的代码量推移的另一个实施例的图;图15是表示本发明的活动图象编码装置及其方法的第七实施例的方框构成图;图16是表示本发明的活动图象编码装置及其方法的第八实施例的方框构成图。〈第一实施例〉下面参照图1来对本发明的活动图象编码装置的第一实施例进行说明。
原始的活动图象被图象块分割器(图中未示出)预先分割为宏块单位。
所分割的原始活动图象对I图象不进行动态补偿预测,原始活动图象块通过减法器11送给DCT器12,进行DCT后,在量化器13中根据从代码量控制器14所送来的量化标度进行量化。
由量化器13所量化的信号由可变长度编码器15变换为代码,在其后的缓冲器16中进行调整,然后输出代码。
另一方面,量化器13的输出系数由逆量化器17、IDCT器18进行局部解码,动态补偿预测器19的输出不是由加法器20进行相加运算,而是把每块存储在帧存储器21中。
对于P和B图象,被分割的原始活动图象和在帧存储器21中所存储的规定的局部解码图象块被提供给动态补偿预测器19,在此进行活动矢量检测和动态补偿,由减法器11取得预测图象块与原始图象块之间的象素间差分,作为差分值的误差图象块被送给DCT器12。
然后,与I图象相同,由DCT器12对差分值进行DCT处理,在量化器13中根据从代码量控制器14所送来的量化标度进行量化,然后,由可变长度编码器15变换为代码,在接着的缓冲器16中进行调整,然后输出代码。
另一方面,量化器13的输出系数由逆量化器17、IDCT器18进行局部解码,然后,来自动态补偿预测器19的上述预测图象块由加法器20同每个象素进行相加运算,把每块存储在帧存储器21中。
并且,对于各个图象,从量化器13向平均量化标度检测器22传送每个宏块的量化标度,因此,对1帧的量化标度进行相加运算,而算出1帧的平均量化标度。
另一方面,在缓冲器16中,监视代码发生量,其值被送给代码发生量检测器23。
在该代码发生量检测器23中,代码发生量与块单位相加,而检测出1帧的代码发生量。
对于每帧所检测出的平均量化标度和代码发生量分别按每帧送给画面复杂度计算器24。
另一方面,在图象特性检测器25中,输入时分割原始图象的原始活动图象被输入,对于原始活动图象的各帧,检测作为以宏块单位表示图象特性的参数的活动性,与块单位相加,其结果按每帧被送给画面复杂度计算器24。
在此,由图象特性检测器25检测图象特性的动作在实际的编码操作之前进行检测。
作为表示图象特性的参数,考虑亮度值的分散、象素间差分值等,但如果是表示图象特性的,则当然有其他的参数。
在画面复杂度计算器24中,把由平均量化标度检测器22所提供的各帧的平均量化标度和由代码发生量检测器23所提供的代码发生量相乘,然后对相乘结果施加规定的变换,把其作为基准,来求出各帧的画面复杂度。
画面复杂度在把不同的编码图象类型的一定期间内的值相加之后,再除以该期间内的相同图象类型的帧数,并算出I,P,B各图象类型的平均画面复杂度Xi—ave(I图象),Xp—ave(P图象),Xb—ave(B图象)。
此处所说的一定期间内,既有距编码刚刚结束的图象时间上往前的规定帧数例如15帧或者300帧的一定帧数的情况,也有象从编码开始帧到编码刚刚结束的图象那样,帧数依次增加的情况。
即使在前者的一定帧数的情况下,在经过编码的帧数不满规定的一定期间的情况下,也可与后者相同,帧数依次增加。
在求出编码已经结束的部分的画面复杂度的部分之前,与现有例子相同,而在本发明中,对于该画面复杂度,通过从此进行编码的当前图象的活动性来推定当前的图象的画面复杂度的部分与现有例子不同。
在以下的说明中,i与I图象相对应,p与P图象相对应,b与B图象相对应。
即,从此进行编码的当前的图象的画面复杂度Xi,Xp,Xb可以用下式(1)(2)(3)从当前的图象的活动性ACTi,ACTp,ACTb、以前进行编码的相同图象类型的图象的画面复杂度Xi—p,Xp—p,Xb—p、以前进行编码的相同图象类型的图象的活动性ACTi—p,ACTp—p,ACTb—p来推定出来。
(I图象)Xi=Xi—p·(ACTi/ACTi—p)(1)(P图象)Xp=Xp—p·(ACTp/ACTp—p)(2)(B图象)Xb=Xb—p·(ACTb/ACTb—p)(3)在初始状态下,当相同图象类型的编码已经结束的帧不存在时,预先用几个图象来求出各图象类型的图象的画面复杂度和活动性,把其与平均的活动图象的发生频率合起来进行统计上的平均,而可以把其作为初始值。
然后,向代码量控制器14提供各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave和从此进行编码的当前的图象的推定画面复杂度Xi,Xp,Xb。
在该代码量控制器14中,接着执行(从此)进行编码的图象的分配代码量的设定(决定)以及用于可变比特率控制的量化标度的设定(确定)。
设目标平均比特率为BitRate,每秒的帧数为PictureRate,作为一个编码单位的1GOP(通常是I图象的间隔)的帧数为N,就可以用下式(4)给出1GOP的平均目标代码量Rave。
Rave=(BitRate/PictureRate)·N(4)当上述Rave为平均画面复杂度时的1GOP的必要分配代码量时,如果假定包含从此进行编码的当前的图象的1GOP的图象同样等于由上述画面复杂度计算器24求出的当前的图象的推定画面复杂度,在把画质保持为恒定的情况下,由下式(5)(6)(7)给出必要的1GOP的必要分配代码量Rc。
(I图象)Rc=Rave·(Xi/Xi—ave)(5)(P图象)Rc=Rave·(Xp/Xp—ave)(6)(B图象)Rc=Rave·(Xb/Xb—ave)(7)通过给1GOP的各图象适当分配这些上式的必要分配代码量Rc,来算出从此进行编码的当前图象的目标代码量。
作为例子,以下列举出了MPEG2 Test Model 5的目标代码量分配方法,但也可以使用其他的方法。
设1GOP中包含的P、B图象的帧数为Np、Nb,设与I图象相对应的P、B图象的量化标度的设定比率为Kp、Kb。此时,由下式(8)、(9)、(10)给出各图象类型的目标分配代码量Ti,Tp,Tb。
MAX[A,B]表示选择A和B中较大的一方的动作。
在MPEG2 Test Model 5中,Xi,Xp,Xb为以前进行编码的图象的画面复杂度,但也可以是上述的此后将编码的当前图象的推定画面复杂度。(I图象)Ti=MAX[A,B]A=Re/(1+Np·Xp/(Xi·Kp)+Nb·Xb/(Xi·Kb))B=BitRate/(8·PictureRate)(8)(P图象)Tp=MAX[C,D]C=Rc/(Np+Nb·Kp·Xb/(Kb·Xp))D=BitRate/(8·PictureRate)(9)(B图象)Tb=MAX[E,F]E=Rc/(Np+Np·Kb·Xp/(Kp·Kb))F=BitRate/(8·PictureRate)(10)以上式所决定的目标分配代码量和由缓冲器16所检测出的各宏块的代码发生量为基础,使用MPEG2 Test Model 5的方法来决定各宏块的量化标度。
从图象特性检测器25也向代码量控制器14提供各宏块的活动性,根据MPEG2 Test Model 5中的活动性,被用于变更各宏块的量化标度的适当量化控制,但是,也可以不进行该适当量化控制。而且,可以用与其完全不同的方法来决定各宏块的量化标度。
从代码量控制器14所输出的各宏块的量化标度被送给量化器13,当前的图象(DCT处理后所分割的原始图象或者动态补偿预测的误差图象块)以该量化标度由量化器13进行量化,由可变长度编码器15进行可变长度编码,由其后的缓冲器16进行调整,然后输出该代码。
量化器13的每个宏块的量化标度、由缓冲器16所监视的代码发生量分别被送给平均量化标度检测器22、代码发生量检测器23,被用于其后的图象的代码量控制。〈第二实施例〉下面参照图2来对本发明的活动图象编码装置的第二实施例进行说明。
在第二实施例中,与第一实施例相比,仅图3所示的图象特性检测器的构成及其动作不同,并且,图2的图象特性检测器25M对应于图1的图象特性检测器25,在从动态补偿预测器19提供动态补偿信号这点上与图1不同,对于其他部分的说明可以省略。
图3所示的图象特性检测器25M由ACTcur检测器25A、ACTpred检测器25B、ACTmv检测器25C以及图象活动性计算器25D所构成。
在图2和图3的实施例中,向图象特性检测器25M的输入在I图象的情况下不进行动态补偿预测,因此,与第一实施例相同,仅输入被分割为宏块单位的原始活动图象,对于各帧,由ACTcur检测器25A检测作为以宏块单位表示图象特性的参数的活动性(ACTcur)。
作为表示原始图象的图象特性的参数,考虑亮度值的分散、象素间差分值等,但如果是表示图象特性的,则当然还有其他的参数。
在I图象的情况下,由于不进行动态补偿预测,活动性(ACTcur)与一帧单位(一帧)相加,作为I图象的活动性ACTi传送给画面复杂度计算器24。
另一方面,向图2所示的图象特性检测器25M的输入,在P和B图象的情况下,除了被分割的原始活动图象之外,从图2所示的动态补偿预测器19输入宏块单位的动态补偿预测中的误差图象或者矢量检测中的编码图象与参照图象的差分图象,以及在动态补偿预测中使用的活动矢量。
与I图象的情况相同,由ACTcur检测器25A以宏块为单位从被分割的原始活动图象检测出(原始图象)活动性ACTcur。
另一方面,宏块单位的动态补偿预测中的误差图象或者活动矢量检测中的编码图象与参照图象的差分图象,在其中取绝对值和或者平方误差和,由ACTpred检测器25B检测出,作为预测活动性ACTpred。
接着,在动态补偿预测中使用的活动矢量的方法是在相邻宏块之间,对每个成分取差分的绝对值,作为ACTmv,由ACTmv检测器25C进行检测。
接着,对于每个宏块,通过下式(11)的运算,来算出ACTmb,其与一帧相加,作为P和B图象的活动性ACTp和ACTb传送给画面复杂度计算器24。
ACTmb=a·ACTcur+b·ACTpred+c·ACTmv(11)各个常数a、b、c的值随不同图象、宏块的不同预测方式(帧内或者单方向预测或者双方向预测)等而变化。
例如,在帧内的情况下,与I图象相同不进行预测,因此,变为b=c=0,与进行预测的块相比,考虑到代码发生量变多,因此,a的值变大。
这样,通过进行适合于预测方式等的活动性检测,与第一实施例相比,能够实现更适合于编码特性的画面复杂度的推定。
在第一实施例中,在求出1GOP的必要分配代码量Rc的过程中虽按不同的编码图象类型求出所需要的平均画面复杂度,但是,在图象类型中对此不加区别,把一定区间内的各帧的画面复杂度相加,然后,求出用该期间内的帧数相除的值来作为平均画面复杂度X—ave,可以通过下式(12)从其和当前的图象的推定画面复杂度Xk(k=i或者p或者b)来求出1GOP的必要分配代码量Rc。可以把其用于第二实施例。
Rc=Rave·(Xk/X—ave)(12)其中,k=i或者p或者b在第一、第二实施例中,说明了图象编码构造有图4那样的I图象、P图象、B图象三种,但是,也可以仅是I图象和P图象、I图象和B图象这样两种。而且,全部的图象也可以是不进行动态补偿预测的I图象。
但是,仅是该I图象时的第二实施例,由于向图象特性检测器25的输入仅为被分割的原始图象,则与第一实施例完全相同。〈第三实施例〉接着参照图7来对本发明的活动图象编码装置的第三实施例进行说明。
在第三实施例中,与图1所示的第一实施例的构成相对照,仅是进一步添加了代码量推移观测器26、目标代码量更新器27这点上与图1的构成不同,而省略了对其余部分的说明。
如上述那样,在代码发生量检测器23中,按帧单位来把代码发生量相加,再检测出一帧的代码发生量,对于每帧,分别向画面复杂度计算器24传送所检测出的平均量化标度和代码发生量,同时,向代码量推移观测器26传送所检测出的每帧的代码发生量。
在代码量推移观测器26中,把由代码发生量检测器23所检测出的各帧的代码发生量依次相加,由此,来计算从活动图象序列的开头到当前已进行编码的帧数FrameSum的图象的(实际的)发生总代码量Sreal,同时,把从当前进行编码的图象向前追溯规定的一定期间的图象作为起点,把从该起点到当前进行编码的图象的代码发生量之和除以在一定期间中包含的图象帧数,由此来进行一定期间的(实际的)平均比特率Rreal的计算。
在Rreal的计算中,在第三实施例中,如用图8的Rreal1、Rreal2、Rreal3的计算期间所示的那样,随着编码的进展使成为起点的图象滑动,以使在一定区间内包含的帧数始终是一定的。
接着,在第三实施例中,定期地进行该计算,把Rreal的一个以前所观测的Rreal作为Rreal—old。
接着,在求出Rreal的同时,用下式(13)(14)(15)来定义并计算表示编码之前所确定的平均目标比特率Rave与Rreal之差的Rdiff、表示Rreal的增减的Rinc—ratio、表示从活动图象序列的开头到当前的目标发生总代码量Rave×FrameSum与Sreal之差的Sdiff,把所得到的这些值传送给目标代码量更新器27。
Rdiff=Rave—Rreal(13)Rinc—ratio=Rreal/Rreal—old(14)Sdiff=Rave×FrameSum—Sreal (15)平均目标比特率Rave的设定,例如在记录介质的情况下,由能够记录活动图象数据的容量、其中所记录的活动图象序列的记录时间所决定。
即,相当于在固定比特率控制下进行编码时的平均比特率。
在广播和通信媒体的情况下,被峰值率(最大传输率)制约是主要的,平均比特率的制约不是必须的,但在设定所确保的平均传输频带的情况下,由该值决定Rave。
在目标代码量更新器27中,在编码开始时刻,目标代码量Rp由预先设定的上述平均目标比特率Rave来决定。
设定以从目标代码量更新器27所传送的Rdiff、Rinc—ratio、Sdiff中某几个和以上述Rave为因数的函数,随着编码的进展,从代码量推移观测器26传送Rreal、Rdiff等,从该函数的运算结果来进行Rp的更新。
图8表示每帧的代码发生量的推移中的Rreal的计算期间和Rp的设定(更新)周期的关系的一个实施例。
决定Rp的函数例如考虑为以下这样〈函数1〉在Rdiff<R1(<0)并且Sdiff<S1的情况下(代码发生量过剩的情况下)
Rp=Rave+a×Rdiff(a是常数)(16)在Rdiff>R2(>0)并且Sdiff>S2的情况下(代码发生量过少的情况下)Rp=Rave+b×Rdiff(b是常数)(17)〈函数2〉在Sdiff+margin<0并且Rinc—ratio>1的情况下(代码发生量是过剩的,代码量变化单调增加的情况下)Rp=Rp—old×c/Rinc—ratio(c是常数)(18)R1、R2和S1、S2表示决定是否更新Rp的Rdiff和Sdiff的分界点的值,margin表示速率控制时认为超过目标值的代码量的设定允许值,Rp—old表示更新前的Rp的值。
由目标代码量更新器27所更新的目标代码量Rp被送给代码量控制器14。
当前的图象的画面复杂度Xi,Xp,Xb,在第三实施例中,对于各图象类型,把最后进行编码的图象的画面复杂度作为当前的图象的画面复杂度。
各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave和上述当前的图象的画面复杂度Xi,Xp,Xb被送给代码量控制器14,在此与从目标代码量更新器27所传送的目标代码量Rp一起进行用于可变比特率控制的量化标度的设定。〈第四实施例〉接着参照图9来对本发明的活动图象编码装置的第四实施例进行说明。
在第三实施例中,当前的图象的画面复杂度使用相同图象类型的最后所编码的图象的画面复杂度即过去的图象的画面复杂度,而在第四实施例中,对于过去的图象的画面复杂度,通过此后进行编码的当前的图象的活动性来推定当前的图象的画面复杂度的部分是不同的。
I、P、B各图象的基本的编码操作以及由代码发生量检测器23所进行的代码发生量的检测、由代码量推移观测器26所进行的Rreal等的计算、由目标代码量更新器27所进行的目标代码量Rp的更新与第三实施例相同。
对于由画面复杂度计算器24所进行的画面复杂度的计算,编码结束的各帧的画面复杂度、各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave的计算与第三实施例相同。
另一方面,图象特性检测器25M的构成,按已经说明的图3所示的那样,其动作和决定从此进行编码的当前的图象的画面复杂度的部分与第三实施例大大不同。
在第四实施例中,把由图象特性检测器25检测出的各宏块的原始图象活动性传送给代码量控制器14,而使用适当的量化控制。
在由画面复杂度计算器24所进行的画面复杂度的计算中,对于编码结束的各帧的画面复杂度,从图象特性检测器25所传送的,通过此后进行编码的当前图象的活动性来推定当前的图象的画面复杂度的部分与第三实施例不同。
代码量控制器14中的操作与第三实施例相同。〈第五实施例〉接着参照图10来对本发明的活动图象编码装置的第五实施例进行说明。
在第五实施例中,与第四实施例相比,添加了场景变换检测器28,由于仅图象特性检测器25~场景变换检测器28~代码量推移观测器26的操作不同,所以省略了对其他部分的说明。
从图象特性检测器25传送场景变换检测信息的场景变换检测器28,以该信息为基础来进行场景变换的检测,当判定为发生场景变换时,把该帧位置的信息传送给代码量推移观测器26。
作为场景变换检测信息,考虑例如原始图象活动性的变化、每一帧的帧内宏块发生数的变化等。
当这些变化超过规定的一定值时,用该帧判定为发生场景变换。
当由场景变换检测器28检测出场景变换时,代码量推移观测器26中的一定区间的(实际的)平均比特率Rreal的计算在场景变换之前的帧处被中断,从场景变换的帧来设定用于新的Rreal的计算的一定期间。
其中,虽然进行场景变换之前的区间的Rreal的计算,但求出此时的Rreal的区间预先选择对于短于规定的一定期间的Rreal区间而求出、或者把此前的区间的Rreal即Rreal—old作为Rreal、或者从场景变换之前的帧往前追溯规定的一定期间来重新决定区间,从而求出Rreal中的一个。
同时,配合求出在第三实施例中所述的表示编码之前所确定的平均目标比特率Rave与Rreal之差的Rdiff、表示Rreal的增减的Rinc—ratio、表示目标总代码发生量与Sreal之差的Sdiff,把这些值传送给目标代码量更新器27。
目标代码量更新器27中的目标代码量Rp的更新在第五实施例中主要是每当场景变换时进行。
当目标代码量更新点上的目标代码量之差变大时,在更新点前后,画质的差别易于被察觉,由于这是在场景变换的点上进行的,因此难以察觉更新点前后的画质的差别。
具体地说,当场景变换的间隔小于规定的一定期间时,在场景变换点上进行Rp的更新。
当在一定期间内没有发生新的场景变换时,就会存在可以忽略目标代码量与实际的代码发生量之差的可能性,因此,以规定的一定间隔来进行Rp的更新,但通过尽量在场景变换点上进行Rp的更新,同与场景变换无关而按照一定周期更新目标代码量的情况相比,在目标代码量更新点上画质的差别不显著。
图11是表示第五实施例中的代码量推移图。
图11表示以场景变换点为基准,重新确定Rreal的计算期间的情况下在每帧的代码发生量推移的基础上Rreal与Rp的设定(更新)周期的关系的一个实施例。〈第六实施例〉下面参照图12来对本发明的活动图象编码装置以及方法的第六实施例进行说明。
在第六实施例中,与图1所示的第一实施例的构成相比较,画面复杂度计算器24被省略,平均量化标度检测器22的输出直接被送给代码量控制器14,并且,添加了记录时间检测器31、裕量设定器32、平均速率设定器33以及最小量化标度设定器34,只有这一点与图1的构成不同,所以省略了对其他部分的说明。
如在图1中所说明的那样,在缓冲器16中,监视代码发生量,把其值传送给代码发生量检测器23,在该代码发生量检测器23中,以帧为单位把代码发生量相加,而检测出一帧的代码发生量。
与此同时,在代码发生量检测器23中,把各帧的代码发生量依次相加,计算从活动图象次序的开头到当前进行编码的图象的实际的总代码发生量。
把各帧的平均量化标度、代码发生量以及到当前为止的总代码发生量传送给代码量控制器14。
在平均速率设定器33中,设定平均目标比特率Rave,并传送给代码量控制器14。
平均目标比特率Rave的设定值,例如在记录介质35的情况下,由能够记录活动图象数据的容量和在此记录的活动图象序列的记录时间来决定。即,相当于在固定比特率控制下进行编码时的平均比特率。
在最小量化标度设定器34中,根据由平均速率设定器33设定的平均速率,来设定量化标度的最小值。一般,当量化标度为某个一定值以上时,在解码图象的画质上感觉到变差。
反之,当把量化标度降低到某个一定值以下时,解码图象的画质几乎不变,因此,采用限制器来使量化标度保持为一定值,在其以上,不会使量化标度下降,由此,在限制器设置的部分中,使代码发生量少于平均速率,而能够在保持解码图象的画质的同时,使代码发生量减少。
根据平均速率通过变更最小量化标度,能够选择符合平均速率的画质。
在裕量设定器32中,对每个规定的周期设定作为代码量的裕量的裕量值。
裕量值的设定方法具有[1]与比特率相对应的裕量和[2]与一定区间内的代码发生量的总量相对应的裕量这两种方法。
通过对记录时间和所谓的记录介质35的容量等的参数设定等,来选择适当的方法,进行裕量的设定。关于与比特率相对应的裕量(图13)在图13中表示了裕量的分配方法和代码量推移的一个实施例。
与平均目标比特率Rave相对照,给出裕量,例如,当Rave为4Mbps,提供10%的裕量时,把裕量表示为10%或者0.4Mbps。
当设定活动图象序列的总记录时间时,从记录时间检测器31所检测出的记录经过时间而得到剩余的记录时间,因此,设定决定与剩余记录时间成比例的裕量的量的函数,以使在编码的开始时刻,裕量最大,在编码的结束时刻,裕量为0。
在每个上述规定的周期中,从记录时间检测器31所得到的剩余记录时间通过上述函数来决定代码量裕量。
但是,除此之外,随着序列往后,裕量变少,因此,计算到当前为止进行编码的图象的实际总代码发生量与用平均目标比特率Rave对该区间进行编码时的代码发生量之差,把该差的一定比例与上述裕量相加,由此,即使在序列的后半部分中,也能确保足够的裕量。关于与一定区间内的代码发生量的总量相对应的裕量(图14)在图14中表示了裕量的分配方法和代码量推移的另一个实施例。
其是记录介质35中的形式上的记录容量的表示被设定为小于实际的最大容量的情况,例如,当记录介质35的容量表示为1.0Gbit,实际的最大容量为1.2Gbit时,裕量表示为20%或者0.2Gbit。
在活动图象序列的总记录时间或者记录介质的大致目标记录时间被表示时,把该目标记录时间分割为规定的区间长度。
所分割的各区间的长度可以是等间隔的,也可以不是。
对于所分割的各区间,通过规定的方法来分配上述记录介质35的容量的裕量。
裕量的分配方法与例如分割各区间的长度成比例,即,如果各区间是等间隔的,则分配的裕量可以相等地分配,但裕量最初的部分相对较多,越往后半部分,依次设定得少,在前半部分剩余的裕量依次转入到后半部分,由此,实现了裕量分配的浪费少。
分配给分割各区间的裕量的量可以以记录介质35的实际最大容量与表示记录容量之差为限度,也可以设定稍微超过其裕量的量。
当以容量之差作为限度时,保证实际的总代码发生量为记录介质35的实际最大容量以下,当设定稍微超过容量之差的量时,不能保证实际的总代码发生量为记录介质35的实际的最大容量以下,而这部分编码较难的部分中的画质改善的余地变得更大。
当把裕量的值传送给代码量控制器14时,与[1]的情况相同,换算为与平均目标比特率Rave相对应的裕量。
在代码量控制器14中,从由平均量化标度检测器22所传送的各帧的平均量化标度、由代码发生量检测器23所传送的代码发生量和到当前为止的总代码发生量、由平均速率设定器33所传送的平均目标比特率、由最小量化标度设定器34所传送的最小量化标度以及由裕量设定器32所传送的裕量,使用MPEG2 Test Model 5或者其他的代码量分配的方法(与各图象相对应的代码量分配方法)进行代码量控制,来决定各图象的目标分配代码量。
下面,作为一个实施例,说明使用MPEG2 Test Model 5的目标分配代码量的决定方法。
当设固定比特率控制中的比特率为BitRate,每一秒的帧数为PictureRate,作为一个编码单位的1GOP(通常是I图象的间隔)的帧数为N时,由下式(19)给出1GOP的平均目标代码量RaveRave=(BitRate/PictureRate)·N(19)在代码量控制器14中,所分配的1GOP的分配代码量Rc使用Rave和每1GOP的裕量margin,而由下式(20)设定Rc=Rave+margin(20)即,用裕量部分比固定比特率控制时高的比特率来控制Rc的值。这样一来,裕量部分代码量变得不足,但如下述那样,由于设置了由最小量化标度所产生的量化标度的限制器,把限制器设置的部分中的代码发生量的削减充当为由裕量所产生的代码量增加,就能够容纳在规定的平均目标比特率中。
通过把分配代码量Rc适当地分配给1GOP的各图象,从其算出进行编码的各图象的目标代码量。
设1GOP中包含的P、B图象的帧数为Np、Nb,与I图象相对应的P、B图象的量化标度的设定比率为Kp、Kb,与以前进行编码的相同的图象类型的图象的画面复杂度(代码发生量与平均量化标度的乘积)为Xi,Xp,Xb。
此时,各图象类型的目标分配代码量Ti,Tp,Tb由上述式(8),(9),(10)给出。
而且,以决定的各图象的目标分配代码量和由缓冲器16所检测出的各宏块的代码发生量为基础,使用MPEG2 Test Model 5或者其他的代码量分配的方法(与各宏块相对应的代码量分配方法)来决定各宏块的量化标度。
在图象特性检测器25中,检测出各宏块的原始图象活动性,将其值送给代码量控制器14。
该活动性的值被用于变更MPEG2 Test Model 5中的各宏块的量化标度的适当量化控制,但是,也可以不进行该适当量化控制。也可以通过其他的方法来进行适当量化控制。
对于这样确定的各宏块的量化标度,利用由最小量化标度设定器34所设定的最小量化标度决定的限制器。即,当各宏块的量化标度小于最小量化标度时,置换为最小量化标度,在其它的情况下,最终决定将上述确定的值直接作为各宏块的量化标度,从代码量控制器14输出该值。
从代码量控制器14所输出的各宏块的量化标度被送给量化器13,当前的图象(DCT处理后的被分割的原始图象或者动态补偿预测的误差图象块)由该量化标度进行量化。
而且,量化器13的输出由可变长度编码器15进行可变长度编码,由缓冲器16进行调整后,输出代码。
每个宏块的量化标度、由缓冲器16所监视的代码发生量分别被送给平均量化标度检测器22、代码发生量检测器23,而用于后续的图象的代码量控制。
在代码发生量检测器23中,对于到当前为止的编码图象,把代码发生量相加,来求出实际的总代码量,把该值送给裕量设定器32。
在代码量控制器14中,计算从记录时间和平均目标比特率Rave求出的用固定的Rave进行编码时的目标代码发生量(在上述裕量的设定方法[2]中,也包含到当前为止所分配的裕量的总量)与由代码发生量检测器23求出的实际的总代码发生量之差,把该代码发生量的目标与实际之差同一定比率相乘,把其与由裕量设定器32设定的裕量相加,由此,在初始设定中,即使在设定得使序列的后半部分中裕量变小的情况下,也能充分地确保后半部分的裕量。〈第七实施例〉下面参照图15来对本发明的活动图象编码装置以及方法的第七实施例进行说明。
在第七实施例中,与第六实施例相比较,增加了速率比较器37和剩余量检测器36,改变了裕量设定器32A的动作,而其他的部分与第六实施例相同,因此仅对变更的部分进行说明。
在速率比较器37中,在规定期间中把由代码发生量检测器23所检测出的各图象的代码发生量相加,把计算该期间的实际传输率的值和从平均速率设定器33所输出的目标传输率、最大传输率传送给裕量设定器32。
在剩余量检测器36中,检测出预先给记录介质35所设定的最大容量和由内置在记录介质35中的代码量计数器所检测出的已经记录的代码量之差或者已经记录的区域的位置信息,把其变换为剩余记录容量,由此,检测出记录介质35的剩余容量,把其传送给裕量设定器32。
在裕量设定器32A中,设定以从记录时间检测器31所传送的活动图象序列的已经记录的时间或者剩余记录时间、从代码发生量检测器23所传送的已经记录的代码发生量、从剩余量检测器36所传送的与记录介质35所对应的剩余容量、从速率比较器37所传送的目标传输率、最大传输率及规定时间中的实际传输率中的某几个作为因数的函数,由该函数来进行裕量的设定,由此,能够进行更适当的代码量控制。〈第八实施例〉下面参照图16来对本发明的活动图象编码装置以及方法的第八实施例进行说明。
在第八实施例中,与第七实施例相比较,增加了在图1、2、7、9、10中分别表示的第一、第二、第三、第四、第五实施例的构成中所具有的画面复杂度计算器24,并且变更了代码量控制器14的动作,而其他的部分与第七实施例相同,因此仅对变更的部分进行说明。
从平均量化标度检测器22到画面复杂度计算器24的一帧的平均量化标度,对每个图象从代码发生量检测器23输入一帧的代码发生量,在把平均量化标度与代码发生量相乘之后,对相乘的结果施加规定的变换,作为各帧的画面复杂度来求出。
由画面复杂度计算器24所求出的画面复杂度,把不同编码图象类型的一定期间内的值相加,然后除以该期间内的相同图象类型的帧数,来算出各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave。
把各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave和以前进行编码的相同图象类型的图象的画面复杂度Xi,Xp,Xb送给代码量控制器14。
在代码量控制器14中,使用MPEG2 Test Model 5或者其他的代码量分配方法(与各图象相对应的代码量分配方法),根据从该画面复杂度计算器24送来的各图象类型的平均画面复杂度Xi—ave,Xp—ave,Xb—ave和以前进行编码的相同图象类型的图象的画面复杂度Xi,Xp,Xb、从平均量化标度检测器22送来的各帧的平均量化标度、从代码发生量检测器23送来的代码发生量和到当前为止的总代码发生量、从平均速率设定器33送来的平均目标比特率、从最小量化标度设定器34送来的最小量化标度、从裕量设定器32A送来的裕量,来进行代码量控制。
当使用MPEG2 TestModel 5来决定目标分配代码量时,求出第六实施例中的式(19)的Rc的式子变为下式(21),而其他部分与第六实施例相同。
Rc=Rave·(Xk/Xk—ave)+margin(21)(其中,k=i,p,b)与第七实施例相同,通过把平均目标比特率与裕量相加,用裕量部分比固定比特率控制时高的比特率来控制在MPEG2 Test Model 5等中设定的比特率的值,在各图象的目标分配代码量决定之后,对于所述的图象类型,把以前进行编码的图象的画面复杂度除以平均画面复杂度的值与所得到的各图象的目标分配代码量相乘,由此,进行考虑了画面复杂度的代码量分配。
接着,以决定的各图象的目标分配代码量和由缓冲器16所检测出的各宏块的代码发生量为基础,与第六、第七实施例相同,决定各宏块的量化标度。
在以上的第八实施例中,对由第七实施例所得到的各图象的目标分配代码量,进行考虑了画面复杂度的代码量分配,但也可以用于第六实施例。发明的效果①如以上那样,根据本发明,在用可变比特率控制对活动图象进行编码时,检测出编码结束的一定区间的图象的代码发生量和平均量化标度、和一定区间以及此后进行编码的当前图象的编码图象特性(活动性),求出通过对代码发生量和平均量化标度的乘积进行规定的操作而得到的值作为画面复杂度,在此基础上,通过把与该图象中的活动性相对应的在此之后进行编码的(当前的)图象的活动性的比例乘以相同图象类型的之前的图象的复杂度,来推定在此之后进行编码的画面复杂度,通过把该推定值和一定区间内的平均画面复杂度的比例反映为目标比特率所产生的代码量分配,而能够实现不会引起延迟的增大来进行对应于图象的变化的代码量分配的一步方式的可变比特率控制。
而且,使上述编码图象特性的检测与进行动态补偿预测的P和B图象相关,结合使用动态补偿预测中的误差图象、或者活动矢量检测中的编码图象与参照图象的差分图象中的绝对值或者平方误差、以及活动矢量的偏差情况,由此,与从此所进行编码的图象的画面复杂度推定相关,能够实现与编码特性更符合的推定。
②如以上那样,根据本发明,在用可变比特率控制对活动图象进行编码时,检测出编码结束的一定区间的图象的代码发生量和平均量化标度,求出通过对代码发生量和平均量化标度的乘积施加规定的操作而得到的值作为画面复杂度,在此基础上,把当前的图象中的画面复杂度和一定区间内的平均画面复杂度的比例反映为由规定的方法所设定的目标代码量Rp所产生的代码量分配,由此,来进行此后进行编码的当前的图象的代码量分配。
其中,在目标代码量Rp的设定方法中,把平均目标比特率Rave作为初始值,检测出一定期间中的实际的平均代码发生量Rreal、编码结束的区间的总代码发生量Sreal,通过这些关系来更新Rp,由此,可以实现能够更适当地分配代码量的一步方式的可变比特率控制。
而且,与上述当前的图象中的画面复杂度的计算相关,检测出输入图象的活动性、动态补偿预测中的误差图象或者活动矢量检测中的被编码图象与参照图象的差分图象中的绝对值或者平方误差、以及活动矢量的偏差情况,使用把这些检测结果的某几个作为因数的函数来决定编码图象特性,通过把相同的图象类型的以前的图象的画面复杂度同与该图象中的编码图象特性相对应的从此进行编码的图象的编码图象特性的比例相乘,来推定当前的图象中的画面复杂度,把该推定画面复杂度与一定区间内的平均画面复杂度的比例反映为用上述规定方法所设定的由目标代码量所确定的代码量分配,由此,不会引起延迟的增大,而能够实现进行与图象的变化更加适应的代码量分配的控制。
并且,检测场景变换,由此把上述Rreal的检测区间进行复位,主要在场景变换点进行目标代码量Rp的更新,由此,使目标代码量Rp的变动所产生的画质的差别不显著,能够进行更适当的代码量控制。
③如以上那样,根据本发明,在用可变比特率控制对活动图象进行编码时,从各图象的代码发生量、量化标度、目标平均代码量、代码量的裕量来决定上述一定区间的分配代码量,用规定的方法把其分配给一定区间内的各图象。代码量的裕量的设定值例如随活动图象序列的已经记录的时间或者剩余的记录时间而变化,在序列的最初是最大的,随着时间的推移,按一定比例而减少,在序列的最后成为0,通过这种办法进行的设定,就能不超过记录介质的实际容量,实现在中途的区间中超过一定的比特率的代码量分配。
或者,在对记录介质的实际容量设置裕量的情况下,把记录介质的容量的裕量分配给区分活动图象序列的规定区间长度的各个区间。把裕量的分配在序列的开头设定为大的,越往后半部分设定为越小的,在前半部分剩余的裕量依次转入后半部分,由此,能够实现浪费较少的裕量分配。
而且,用把已经记录活动图象序列的时间、剩余记录时间、已经记录的代码发生量、与记录介质相对应的剩余容量、目标传输率、最大传输率以及规定时间中的实际传输率中的某几个作为因子的函数,来设定裕量,由此,能够进行更适当的代码量控制。
对于用以上这样的方法所分配的各图象的分配代码量,把各帧的平均量化标度和代码发生量相乘,施加规定的变换,来求出各帧的画面复杂度,把该值除以一定期间内的不同图象类型的平均画面复杂度的值,同上述各图象的分配代码量相乘,由此,来进行考虑了画面复杂度的代码量分配,即使在由一步方式的可变比特率控制所进行的活动图象编码中,也能实现更适合于图象的特性的代码量控制。
权利要求
1.一种活动图象编码装置,具有动态补偿预测装置、正交变换装置、量化装置及可变长度编码装置,对输入的活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的装置;检测上述输入活动图象的各图象的平均量化标度的装置;从上述输入活动图象和由上述动态补偿预测装置所生成的动态补偿预测图象中至少检测出上述输入活动图象的编码图象特性的装置;从由上述检测代码发生量的装置所检测出的代码发生量、由上述检测平均量化标度的装置所检测出的平均量化标度以及由上述检测图象特性的装置所检测出的编码图象特性来算出画面的复杂度的装置;根据由上述检测代码发生量的装置所检测出的代码发生量、由上述计算画面的复杂度的装置所算出的画面复杂度和由上述检测编码图象特性的装置所检测出的编码图象特性,来决定接着进行编码的图象的分配代码量,从上述分配代码量来决定上述接着进行编码的图象的量化标度的装置。
2.根据权利要求1所述的活动图象编码装置,其特征在于,由上述检测代码发生量的装置所进行的代码发生量的检测以及由上述检测平均量化标度的装置所进行的平均量化标度的检测是在实际的编码操作中进行的,由上述检测图象特性的装置所进行的编码图象特性的检测是在实际的编码操作之前进行的。
3.根据权利要求1所述的活动图象编码装置,其特征在于,上述计算画面复杂度的装置,对于不同的图象类型(I图象、P图象、B图象)分别求出以上述所检测出的代码发生量与上述平均量化标度的乘积为基准而得到的过去的画面复杂度,把图象类型与上述接着进行编码的图象相同的距当前最近的过去图象的画面复杂度,乘以与上述算出过去画面复杂度的图象中的编码图象特性相对应的上述接着进行编码的图象的编码图象特性的比例,由此来得到当前的画面复杂度。
4.根据权利要求1所述的活动图象编码装置,其特征在于,从上述代码发生量和上述画面复杂度来决定接着进行编码的图象的分配代码量的装置通过把与上述过去的画面复杂度在一定期间内的平均值相对应的上述所算出的当前画面复杂度的比例乘以平均分配代码量,来决定上述分配代码量。
5.根据权利要求4所述的活动图象编码装置,其特征在于,上述过去的画面复杂度的一定期间内的平均值对于不同的图象类型(I图象、P图象、B图象)分别求出,通过把与上述接着进行编码的图象相同的图象类型的上述平均值相对应的上述所算出的当前画面复杂度的比例乘以平均分配代码量,来决定上述分配代码量。
6.根据权利要求1所述的活动图象编码装置,其特征在于,上述检测输入图象或者动态补偿预测图象的编码图象特性的装置由上述检测输入图象的图象特性的装置、检测动态补偿预测图象的误差图象图象特性的装置以及检测动态补偿预测中的活动矢量特性的装置所构成,把不同图象类型(I图象、P图象、B图象)和不同预测方式的常数乘以上述检测出的输入图象的图象特性、动态补偿预测图象的误差图象的图象特性以及动态补偿预测中的活动矢量特性的上述各特性值,在此基础上通过进行相加,来决定上述编码图象特性。
7.一种活动图象编码方法,具有动态补偿预测步骤、正交变换步骤、量化步骤及可变长度编码步骤,对输入活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的步骤;检测上述输入活动图象的各图象的平均量化标度的步骤;从上述输入活动图象和由上述动态补偿预测步骤所生成的动态补偿预测图象中至少检测出上述输入活动图象的编码图象特性的步骤;从由上述检测代码发生量的步骤所检测出的代码发生量、由上述检测平均量化标度的步骤所检测出的平均量化标度以及由上述检测图象特性的步骤所检测出的编码图象特性来算出画面的复杂度的步骤;根据由上述检测代码发生量的步骤所检测出的代码发生量、由上述计算画面的复杂度的步骤所算出的画面复杂度和由上述编码检测图象特性的步骤所检测出的编码图象特性,来决定接着进行编码的图象的分配代码量,根据上述分配代码量来决定上述接着进行编码的图象的量化标度的步骤。
8.一种活动图象编码装置,具有动态补偿预测装置、正交变换装置、量化装置及可变长度编码装置,对输入活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的装置;检测上述输入活动图象的各图象的平均量化标度的装置;从上述输入活动图象和由上述动态补偿预测装置所生成的动态补偿预测图象中至少检测出上述输入活动图象的编码图象特性的装置;从由上述检测代码发生量的装置所检测出的代码发生量和由上述检测平均量化标度的装置所检测出的平均量化标度来算出过去图象和当前图象的画面复杂度的装置;决定规定区间的目标代码量Rp的装置;根据由上述检测代码量的装置所检测出的代码发生量、由上述计算画面复杂度的装置所算出的画面复杂度和由上述决定目标代码量的装置所决定的目标代码量Rp,来决定接着进行编码的图象的分配代码量,从上述分配代码量来决定上述接着进行编码的图象的量化标度的装置。
9.根据权利要求8所述的活动图象编码装置,其特征在于,上述决定目标代码量的装置中的目标代码量Rp的决定方法是把规定的平均目标代码量Rave作为初始值,来检测出规定的一定期间中实际的平均代码发生量Rreal、编码结束部分的总代码发生量Sreal,通过以上述规定的平均目标代码量Rave与上述实际的平均代码发生量Rreal之差、从上述实际的平均代码发生量Rreal与此前所检测出的Rreal之比所求出的Rreal的增减、以及用上述平均目标代码量Rave进行编码时的目标总代码发生量Save与总代码发生量Sreal之差中的某几个为因子的函数,来决定上述目标代码量Rp。
10.根据权利要求9所述的活动图象编码装置,其特征在于,求出上述实际的平均代码发生量Rreal的一定区间,上述目标代码量决定装置中的目标代码量Rp的设定间隔,通过由场景变换检测装置所进行的场景变换的检测来进行变更。
11.一种活动图象编码方法,具有动态补偿预测步骤、正交变换步骤、量化步骤及可变长度编码步骤,对输入活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的步骤;检测上述输入活动图象的各图象的平均量化标度的步骤;从上述输入活动图象和由上述动态补偿预测步骤所生成的动态补偿预测图象中至少检测出上述输入活动图象的编码图象特性的步骤;从由上述检测代码发生量的步骤所检测出的代码发生量和由上述检测平均量化标度的步骤所检测出的平均量化标度来算出过去图象和当前图象的画面复杂度的步骤;决定规定区间的目标代码量Rp的步骤;根据由上述检测代码量的步骤所检测出的代码发生量、由上述计算画面复杂度的步骤所算出的画面复杂度和由上述决定目标代码量的步骤所决定的目标代码量Rp,来决定接着进行编码的图象的分配代码量,从上述分配代码量来决定上述接着进行编码的图象的量化标度的步骤。
12.一种活动图象编码装置,具有动态补偿预测装置、正交变换装置、量化装置及可变长度编码装置,对输入活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的装置;检测上述输入活动图象的各图象的平均量化标度的装置;设定上述输入活动图象的各图象的目标平均代码量的装置;设定上述代码发生量的裕量的装置;检测上述目标平均代码量与上述各图象的代码发生量之差,更新上述代码发生量的裕量的装置;把上述目标平均代码量与上述代码发生量的裕量相加,来决定规定区间的分配代码量的装置;设定最小量化标度的装置;通过与上述分配代码量相对应的量化标度来决定接着进行编码的图象的量化标度,在与上述分配代码量相对应的量化标度小于上述最小量化标度时,通过上述最小量化标度来决定上述接着进行编码的图象的量化标度的装置。
13.根据权利要求12所述的活动图象编码装置,其特征在于,上述设定代码发生量的裕量的装置在每个规定时间内变更代码发生量裕量的设定值。
14.根据权利要求13所述的活动图象编码装置,其特征在于,上述在每个规定时间内变更的代码量裕量的设定值,在上述每个规定时间中以规定的比例来分配与编码活动图象全体相对应的代码发生量裕量。
15.根据权利要求12所述的活动图象编码装置,其特征在于,上述设定代码发生量的裕量的装置通过编码活动图象的已经记录的时间或者剩余的记录时间来决定代码发生量裕量的设定值。
16.根据权利要求12所述的活动图象编码装置,其特征在于,上述设定代码发生量的裕量的装置,通过以观测时刻上的编码活动图象的已经记录的时间、剩余的记录时间、已经记录的代码发生量、与记录介质相对应的剩余容量、目标传输率、最大传输率及规定时间中的实际传输率中的某几个为因数的函数,来决定代码量裕量的设定值。
17.根据权利要求13所述的活动图象编码装置,其特征在于,包括从由代码发生量检测装置所得到的各图象的代码发生量、由平均量化标度检测装置所得到的各图象的平均量化标度来检测出各图象的画面复杂度的装置和求出上述画面复杂度的一定期间中的平均值的装置,上述决定规定区间的分配代码量的装置通过把上述目标平均代码量同与上述画面复杂度的平均值相对应的编码图象的上述画面复杂度的比例相乘,来决定分配代码量,从上述分配代码量来决定上述接着进行编码的图象的量化标度。
18.一种活动图象编码方法,具有动态补偿预测步骤、正交变换步骤、量化步骤及可变长度编码步骤,对输入活动图象进行编码,其特征在于,包括检测上述输入活动图象的各图象的代码发生量的步骤;检测上述输入活动图象的各图象的平均量化标度的步骤;设定上述输入活动图象的各图象的目标平均代码量的步骤;设定上述代码发生量的裕量的步骤;检测上述目标平均代码量与上述各图象的代码发生量之差,更新上述代码发生量的裕量的步骤;把上述目标平均代码量与上述代码发生量的裕量相加,来决定规定区间的分配代码量的步骤;设定最小量化标度的步骤;通过与上述分配代码量相对应的量化标度来决定接着进行编码的图象的量化标度,在与上述分配代码量相对应的量化标度小于上述最小量化标度时,通过上述最小量化标度来决定上述接着进行编码的图象的量化标度的步骤。
全文摘要
在对活动图象进行高效率编码的活动图象编码装置及其方法中,在实时进行可变比特率编码时,实现适当的代码量控制。活动图象编码装置包括:检测各图象代码发生量的装置23;检测各图象平均量化标度的装置22;从输入图象和动态补偿预测图象中至少检测出输入图象的编码图象特性的装置25;用于计算画面复杂度的装置24;用于决定接着进行编码的图象的分配代码量,根据上述分配代码量决定接着进行编码的图象的量化标度的装置14。
文档编号H04N7/26GK1278692SQ00109608
公开日2001年1月3日 申请日期2000年6月15日 优先权日1999年6月22日
发明者森田一彦, 菅原隆幸, 藤原光章 申请人:日本胜利株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1