专利名称:运动图像编码装置及其编码方法以及运动图像的成像装置的制作方法
技术领域:
本发明涉及运动图像编码装置、运动图像编码方法以及用于编码运动图像的运动图像的成像装置。本发明尤其涉及在量化运动图像数据中使用的用于确定量化步长的技术。
背景技术:
通常,运动图像成像装置配备有用于压缩运动图像成像装置具有的运动图像数据的运动图像编码装置。该运动图像编码装置通过量化来压缩数据。量化是一种由离散的代表值代替数据值来压缩数据的方法。代表值之间的间隔由称为量化步长的参数限定。随着量化步长的增大,压缩率也随之变高(即,编码大小变小)。
根据运动图像编码装置的传统模型的实施例,对于帧内编码的帧(所谓的I图像)采用固定值作为量化步长以确定用于各帧间编码的帧(所谓的P图像或B图像)的不同量化步长(例如参见ISO/IEC-14496-2)。为了确定用于帧间编码的各帧的量化步长,使用下述公式1。
Qp[n+1]=(Cn/dstC)*Qp[n] 公式1在该公式中,Qp[n]为用于第n帧量化的量化步长,Cn为在第n帧产生的编码量,并且dstC为对于一个帧预定要产生的编码的目标量。
根据公式1,用于第n+1帧的量化步长Qn[n+1]随着在第n帧产生的编码量Cn和目标编码量dstC比值变大而变大。公式1以抑制在n+1帧产生的编码量的方式工作。通过以上述方式为各帧确定量化步长,所述运动图像编码装置使帧间编码帧产生的编码量更接近于产生的目标编码量。
因为帧内编码帧产生的编码量很大程度上影响图像质量,对于要进行帧内编码的帧的量化步长通常确定为使产生于这些帧的编码量大于目标编码量。在这种情况下,上述运动图像编码装置设法抑制在紧跟于帧间编码帧(帧1)之后的帧2产生的编码量。因此,帧2产生的编码量小于目标编码量。然后,运动图像编码装置使产生于帧3的编码量大于目标编码量。如上所述,通过常规的运动图像编码装置,在跟随于帧内编码帧之后的几个帧中产生的编码量存在波动(hunting)。
图1A和图1B所示为在传统的运动图像编码装置中产生于各帧的编码量和图像质量变化图。
在该实施例中,帧1、11和21为帧内编码帧,其他帧为帧间编码帧。图中,在紧跟在帧内编码帧后的四个帧中可以观察到如上所述的产生的编码量的波动(图1A)。
通常,随着产生的编码量的增加,图像质量逐渐得到改善。因此,产生的编码量的波动使图像质量不稳定(图1B)。因此,该图像变得难以观看。
该问题不限于对于各帧确定量化步长的模型,在各块线(位于图像矩阵中的宏块的线)中确定量化步长的模型中也存在这样的问题。
发明内容
本发明的目的为提供可以抑制在紧跟随于帧内编码帧之后的几个帧中产生的编码量的波动的运动图像编码装置、运动图像编码方法以及运动图像的成像装置。
根据本发明的运动图像编码装置包括用于对运动图像的多个帧中各帧数据选择性地进行帧间编码或帧内编码的编码单元,该帧内编码和帧间编码均涉及量化;用于根据第一帧产生的编码量确定用于第二帧数据量化的量化步长的确定单元,其中当编码单元对第二帧的数据进行帧间编码时,如果第一帧的数据已经进行帧间编码,通过采用(i)第一方法做出决定,或者如果第一帧的数据已经进行帧内编码采用(ii)第二方法作出决定,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长的值。
根据上述结构,当第一帧为帧内编码时,采用第二方法确定第二帧的量化步长。因此,第二帧的量化步长小于采用第一方法的情况。
在传统技术中,第二帧的量化步长采用同样的方法确定(即,第一方法),而不考虑在第一帧中执行的预测编码的类型。
另一方面,在本发明中第二帧的量化步长变得比传统技术的量化步长小,并且因此可以减少第二帧中产生的编码量的突然降低。因此,可以抑制在跟随于帧内编码帧之后的几帧中产生的编码量的波动。
上述运动图像编码装置也可以使得第二方法以通过采用第二方法确定的量化步长落入采用第一方法确定的量化步长1/5到1/3的范围的方式设置。
通常,如果使用同样的量化步长,帧内编码帧中产生的编码量为帧间编码帧中产生的编码量三到五倍。根据上述结构,第二帧的量化步长大致一样,不论第一帧为帧内编码还是帧间编码。具体地,即使当第一帧为帧内编码时,在确定量化步长时也要像第一帧为帧间编码一样来处理。通常,在帧间编码的帧的部分不会经常发生波动。因此,通过应用上述结构,可以抑制第二帧之后的多帧产生的编码量的波动。
上述运动图像编码装置可以进一步包括用于在(i)产生于第一帧和先于第一帧的各帧中的累积编码量和(ii)第一帧和先于第一帧的各帧中预定编码的累积目标量之间获得差值的差值获得单元,其中第一方法和第二方法以确定的量化步长随着产生的编码量的差值变大而增加的方式设置。
根据上述结构,随着累积产生的编码量和累积目标编码量之间的差值变大,第二帧的量化步长也变大。具体地,使其起作用以抑制产生于第二帧的编码量。因此,累积产生的编码量改变以大致和累积目标编码量相当。因此,可以使产生的编码量接近于对于整个运动图像的目标编码量。
上述运动图像编码装置也可以为在累积产生的编码量小于累积目标编码量时,以量化步长随着产生编码量的变大而变大的方式设置第一和第二方法,而不考虑差值。
在运动图像中,当帧之间的相关性很高时,在各帧中产生的编码量相对于目标编码量降低。然而,根据上述结构,即使在这种情况下,产生的编码量也不会提高,并且可以在存储器容量中存在多余的自由空间。这时,即使在各帧之间的相关性突然下降时也可以避免存储器容量的溢出。
运动图像编码装置可以进一步包括用于存储运动图像的编码数据的缓冲器,其中当该缓冲器具有预定大小或更大的自由空间(free space)时,该第一和第二方法以量化步长随着产生编码量的变大而变大的方式设置,而不考虑差值量。
根据上述结构,当自由空间为预定尺寸或更大时,该装置工作以抑制产生于第二帧的编码量。因此,可以避免缓冲器的溢出。
该上述运动图像编码装置也可以为在编码单元将对第二帧的数据进行帧内编码时,确定单元设定固定值为量化步长。
根据上述的结构,在帧进行帧内编码时不必每次都确定量化步长。因此,可以缩小运动图像编码装置的电路尺寸。
上述运动图像编码装置也可以为当编码单元在编码第一帧的数据以后将对第二帧数据进行帧内编码时,确定单元通过采用第三方法确定量化步长,通过采用第三方法确定的量化步长获得的值大于通过第一方法确定的值。
根据上述结构,第二帧的量化步长采用第三方法确定。通过采用该方法,和使用第一方法的情况比较第二帧的量化步长变大。因此,产生于第二帧的编码量比在采用第一方法时变小,并且可以避免在第二帧产生的编码量变得过大。
上述运动图像编码装置可以进一步包括用于存储运动图像的编码数据的缓冲器,其中当编码单元在编码第一帧数据以后对第二帧的数据进行帧内编码时,确定单元(i)如果缓冲器具有预定大小或更大的自由空间,设定量化步长为固定值,并且(ii)如果缓冲器存在的自由空间小于预定大小,通过采用第三方法确定量化步长,通过采用第三方法确定的量化步长获得的值大于通过第一方法确定的值。
根据上述结构,可以根据缓冲器自由空间的大小调整帧内编码帧产生的编码量。因此,可以避免缓冲器的溢出。
上述运动图像编码装置可以为当编码单元在编码第一帧数据后对第二帧数据进行帧内编码时,确定单元基于用于第一帧量化的量化步长确定第二帧的量化步长,而不考虑产生的编码量。
根据上述结构,不考虑在第一帧中产生的编码量确定量化步长。因此,和根据产生的编码量确定量化步长的情况比较,可以减少运动图像编码装置的处理量(processing load)。
上述运动图像编码装置也可以为当编码单元在编码第一帧数据以后对第二帧数据进行帧内编码时,确定单元通过由预定值乘以用于第一帧的量化步长确定用于第二帧的量化步长。
根据上述结构,基于第一帧的量化步长确定用于第二帧的量化步长。
上述运动图像编码装置也可以为预定值在5/4到4/3范围内。
根据上述结构,随着预定值变大,对于帧内编码帧产生的编码量的抑制效果得到改善,但是图像质量变差。仿真结果表明通过将预定值设定在5/4到4/3的范围内可以既可以获得帧内编码帧产生的编码量的抑制效果又能获得极好的图像质量。
上述运动图像编码装置可以进一步包括记录单元,用于记录表示在第一帧的量化步长和第二帧量化步长之间的对应关系的表,其中确定单元参照该表基于用于第一帧的量化步长确定用于第二帧的量化步长。
根据上述结构,可以基于用于第一帧的量化步长确定用于第二帧的量化步长。
上述运动图像编码装置也可以为确定单元基于除用于第一帧的量化步长之外还有用在预定数量的前帧的各量化步长确定用于第二帧的量化步长。
通过基于不止一帧确定的量化步长,虽然提高了运动图像编码装置的处理量,但是可以改善抑制波动的效果。
此外,根据本发明的运动图像编码装置包括用于对运动图像中多个块线的各数据选择性地进行帧间编码或帧内编码的编码单元,帧间编码和帧内编码均涉及量化;校正单元,用于(i)采用第一方法对预定数量的编码块线中的一个或多个帧间编码块线中产生的编码量进行校正,以及(ii)采用第二方法对预定量的编码块线中的一个或多个帧内编码块线产生的编码量进行校正,通过采用第二方法校正后的一个或多个帧间编码块线产生的编码量获得的值小于通过第一方法校正后的值;以及确定单元,当编码单元要帧间编码下一块线的数据时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定要用于下一块线数据量化的量化步长。
根据上述结构,和不考虑编码方法校正产生的编码量的情况相比较,用于要编码的下一块线的量化步长可以更小。因此在进行编码时在块线中产生的编码量不容易降低。因此,可以抑制在紧跟于帧内编码块之后的几个块线中产生的编码量的波动。
上述运动图像编码装置也可以为以通过采用第二方法在一个或多个帧间编码块线中产生的编码量落入采用第一方法校正的编码量的1/5到1/3的范围内的方式设定第二方法。
通常,如果使用同样的量化步长,帧内编码块线产生的编码量大于帧间编码块线中产生的编码量的三到五倍。根据上述结构,即使当第一块线为帧内编码时,在确定第二块线量化步长时也要像第一帧为帧间编码一样来处理。通常,在帧间编码块线的部分不会经常发生波动。因此,通过应用上述结构,可以抑制在第二块线之后的多块线产生的编码量的波动。
根据本发明的运动图像成像装置包括用于采集目标图像以产生运动图像的成像器件;用于对运动图像的多帧中的各数据选择性地进行帧间编码或帧内编码的编码单元,帧间编码和帧内编码均涉及量化;用于根据产生于第一帧的编码量确定用于第二帧数据量化的量化步长的确定单元,其中当编码单元对第二帧的数据进行帧间编码时,(i)通过如果第一帧的数据已经帧间编码,采用第一方法作出决定,或者(ii)如果第一帧的数据已经帧内编码采用第二方法作出决定,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长。
此外,根据本发明运动图像成像装置包括成像器件,用于采集目标图像以产生运动图像;编码单元,用于对运动图像的多个块线中的各数据选择性地进行帧间编码或帧内编码,其中帧间编码和帧内编码均涉及量化;校正单元,用于(i)采用第一方法校正在预定数量的编码块线中的一个或多个帧间编码块线产生的编码量,以及(ii)采用第二方法校正在预定数量的编码块线中的一个或多个帧内编码块线产生的编码量,通过采用第二方法校正的产生于一个或多个帧间编码块线的编码量获得的值小于通过第一方法校正的编码量;以及确定单元长,当编码单元要帧间编码下一块线的数据时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定用于下一块线数据量化的量化步长。
根据上述结构,可以获得和上述运动图像编码装置一样的效果。
根据本发明的运动图像编码方法包括编码步骤,选择性地对运动图像的多帧中的各数据进行帧间编码或帧内编码,其中帧间编码和帧内编码均涉及量化;确定步骤,根据产生于第一帧的编码量确定第二帧数据量化的量化步长,其中当对第二帧的数据进行帧间编码时,通过(i)如果第一帧的数据已经帧间编码,采用第一方法作出决定,或者(ii)如果第一帧的数据已经帧内编码采用第二方法作出决定,其中,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长。
此外,根据本发明的运动图像编码方法包括编码步骤,选择性地对运动图像中多块线的各数据进行帧间编码或帧内编码,其中帧间编码和帧内编码均涉及量化;校正步骤,(i)采用第一方法校正在预定数量的编码块线中的一个或多个帧间编码块线产生的编码量,以及(ii)采用第二方法校正在预定数量的编码块线中的一个或多个帧内编码块线的编码量,其中,通过采用第二方法校正的一个或多个帧间编码块线产生的编码量获得的值小于通过第一方法校正的编码量;以及确定步骤,在帧间编码下一块线的数据时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定要用于下一块线数据量化的量化步长。
根据上述结构,可以获得和上述运动图像编码装置一样的效果。
通过以下的说明以及结合本发明的具体实施方式
的附图,将使本发明的这些和其它目的、优点和特征变得更加明显。
附图中图1A和图1B所示为在传统运动图像编码装置中产生于各帧的编码量和图像质量的变化的示意图;图2所示为根据第一实施方式的运动图像成像装置的结构;图3所示为编码校正单元12详细结构的实施例;图4所示为根据第一实施方式运动图像编码装置31的操作的示意图;图5所示为根据第一实施方式确定量化步长的操作的详细示意图;图6A到图6D所示为根据第一实施方式的量化步长、产生于各帧的编码量、图像质量以及产生的编码总量按时间顺序变化的示意图;图7所示为根据第二实施方式确定量化步长操作的详细示意图;图8A到图8D所示为根据第二实施方式量化步长、产生于各帧的编码量、图像质量以及产生的编码总量按时间顺序变化的示意图;图9所示为根据第三实施方式的运动图像成像装置的结构;图10所示为差值计算单元14和目标编码校正单元15的详细结构的实施例;图11所示为根据第三实施方式的运动图像编码装置33的操作;
图12所示为根据第三实施方式的校正目标编码量的详细操作;图13A到图13D所示为根据第三实施方式量化步长、产生于各帧的编码量、图像质量以及产生的编码总量按时间顺序变化的示意图;图14所示为根据第四实施方式的运动图像成像装置的结构;图15所示为根据第四实施方式确定量化步长操作的详细示意图;图16所示为根据第五实施方式的运动图像成像装置的结构;图17所示为根据第五实施方式的运动图像编码装置35的操作;图18所示为根据第六实施方式确定量化步长操作的详细示意图;图19A到图19C所示为根据第六实施方式量化步长、产生于各帧的编码量以及图像质量按时间顺序变化的示意图;图20所示为根据第七实施方式的运动图像成像装置的结构;图21所示为存储在表存储单元19的表的实施例;图22所示为根据第七实施方式确定量化步长操作的详细示意图;图23所示为根据第八实施方式的运动图像成像装置的结构;图24所示为编码校正单元12的详细结构的实施例;图25所示为根据第八实施方式的运动图像编码装置38的操作;图26所示为根据第八实施方式确定量化步长操作的详细示意图;图27所示为根据第八实施方式编码量按时间顺序变化的示意图;以及图28所示为根据第九实施方式的运动图像成像装置的结构。
具体实施例方式
以下参考
本发明的优选实施方式。
第一实施方式图2所示为根据第一实施方式的运动图像成像装置的结构。
运动图像成像装置设置有成像镜头1、成像传感器2、运动图像编码装置31、微型计算机4、程序存储器5以及视频流存储器6。成像镜头1在成像传感器2上产生目标图像。该成像传感器2采集目标图像以产生运动图像数据。运动图像编码装置31通过压缩由成像传感器2产生的运动图像的数据编码产生视频流。微计算机4根据存储在程序存储器5中的程序总体上控制运动图像装置。视频流存储器6存储通过运动图像编码装置31产生的视频流。
运动图像编码装置31包括编码单元11、编码校正单元12以及量化步长确定单元13。
编码单元11是所谓的MPEG编码器,其对运动图像各帧数据选择性地进行帧间编码或帧内编码。帧间编码的例子包括帧间预测编码、离散余弦变换(DCT)、量化以及可变长度编码。帧内编码的例子包括帧内预测编码、DCT、量化以及可变长度编码。根据来自微计算机4的指令在帧间编码和帧内编码之间作出选择。在第一实施方式中,以十个帧中有一个帧为帧内编码而其他九个帧为帧间编码的情况作为实施例。
用于帧量化的量化步长由量化步长确定单元13提供。
编码校正单元12测量产生于各帧的编码量,并根据以下用于校正的公式(公式2和公式3)校正编码量。
在帧n为帧内编码时Cn’=Cn*P1公式2在帧n为帧间编码时Cn’=Cn*P2公式3在上述的公式中,Cn为在对帧n编码后产生的编码量,P1和P2为关系为P1<P2的校正系数。在第一实施方式中,采用P1=P,其中(0<P<1)且P2=1的情况作为实施例。该校正系数P满足如下公式4。
P=Cinter/Cintra 公式4在该公式中,Cinter为在指定的帧采用指定的量化步长进行帧间编码时产生的编码量,并且Cintra为在同样的帧采用同样的量化步长进行帧内编码时产生的编码量。该校正系数P用于将帧内编码产生的编码量转换为帧间编码产生的编码量。
一般而言,某一帧通过帧内编码产生的编码量大约是对同一帧通过帧间编码产生编码量的三到五倍。因此,第一实施方式中的校正系数P设置为落入1/5到1/3范围内的固定值。注意该编码校正单元12根据来自微计算机4的指令指定该帧为帧内编码还是帧间编码。
量化步长确定单元13根据以下的公式5和公式6确定用于帧((n+1)的量化步长。
当帧(n+1)将进行帧内编码时
Qp[n+1]=Qpintra公式5当帧(n+1)将进行帧间编码时Qp[n+1]=(Cn’/dstC)*Qp[n] 公式6在上述公式5和6中,Qpintra为预定值,dstC为提前设定的目标编码量。
在第一实施方式中,在帧(n+1)进行帧内编码时Qpintra用作量化步长。在帧(n+1)进行帧间编码时,基于Cn’和量化步长Qp[n]确定量化步长,其中Cn’为通过编码校正单元12校正后的编码量。
编码校正单元12在帧n进行帧内编码时根据公式2帧n产生的编码量,以及在帧n进行帧间编码时根据公式3校正帧n产生的编码量。以下说明用于实现上述情况的结构的实施例。
图3所示为编码校正单元12的详细结构的实施例。
编码校正单元12包括编码测量单元121、帧编码存储器122、寄存器R1和R2、选择器1以及乘法器M1。
编码测量单元121测量帧n通过编码单元11编码产生的编码量。寄存器R1保持校正系数P,并且寄存器R2保持校正系数1。根据来自微计算机4的指令,选择器S1在帧n进行帧内编码时将校正系数P施加给乘法器M1,并且在帧n进行帧间编码时将将校正系数1施加给乘法器M1。
该乘法器M1将产生的编码量Cn和选择的校正系数相乘。该帧编码存储器122存储由乘法器M1乘积的结果,并将该结果交给量化步长确定单元13。
通过上述的结构,在帧n进行帧内编码时该编码校正单元12可以输出校正的编码量Cn’=Cn*P,并且当帧n为帧间编码时编码校正单元12输出校正编码量Cn’=Cn。
图4所示为根据第一实施方式运动图像编码装置31的操作示意图。
运动图像编码装置31响应于来自微计算机4的指令启动编码。首先,运动图像编码装置31对帧1帧内编码(步骤S11)。因为帧1没有前帧,故帧1总是帧内编码。作为量化步长的初始值,使用在进行帧内编码时要使用的Qpintra。那么,运动图像编码装置31在帧编码存储器122中存储帧1产生的编码量(步骤S12)。因为帧1为帧内编码,C1*P存储于帧编码存储器122中。
接下来,运动图像编码装置31基于产生的编码量和用于帧1的量化步长确定用于帧2的量化步长(步骤S14)。然后,该运动图像编码装置31采用确定的量化步长帧间编码帧2(步骤S15)。
运动图像编码装置31在帧编码存储器122中存储产生于帧2的编码量(步骤S16)。因为帧2为帧间编码,C2存储在帧编码存储器122中。此后,运动图像编码装置31重复从步骤S13到步骤S17的操作直到微计算机4指示停止成像。
图5所示为根据第一实施方式确定量化步长的操作详细示意图。
当微计算机4指示帧间编码帧(n+1)(步骤S141帧间)并且帧n已经进行了帧间编码(步骤S142帧间)时,运动图像编码装置31确定用于量化帧(n+1)的量化步长Qp[n+1]为(Cn’/dstC)*Qp[n](步骤S143)。当帧n已经帧内编码时(步骤S142帧内),运动图像编码装置31确定用于量化帧(n+1)的量化步长Qp[n+1]为(Cn*P/dstC)*Qp[n](步骤S144)。
另一方面,当微计算机4指示帧内编码帧(n+1)(步骤S141帧内)时,运动图像编码装置31确定用于量化帧(n+1)的量化步长Qp[n+1]为Qpintra(步骤S145)。
图6A到图6D所示为根据第一实施方式量化步长、产生于各帧的编码量、图像质量以及产生的编码总量按时间顺序变化的示意图。
帧1、11和21为帧内编码帧,而其他帧为帧间编码帧。
图6A表示量化步长。在第一实施方式中,用于帧内编码帧的量化步长设定为固定值Qpintra(参见图5中的步骤S145)。因此,如图6A所示,用于帧1、11和21的量化步长采用同一值。通常,设定该固定值使得帧内编码帧中产生的编码量大于一帧的目标编码量。这是因为帧内编码帧中产生的编码量很大程度上影响整个运动图像的图像质量,并且帧内编码帧中产生的编码量可以导致运动图像的图像质量整体退化。
图6B表示编码量。产生的编码量C1远大于目标编码量。与产生编码量重叠示出的校正编码量C1*P表示通过编码校正单元12校正的编码量。将该校正编码量C1*P转换为由帧间编码产生的编码量,并和诸如帧2的帧间编码帧产生的编码量具有大致一样的大小。因此,与在帧1产生的编码量没有校正的情况相比,帧2的量化步长变小。因此,和基于帧1产生的没有校正的编码量确定的用于帧的量化步长的情况比较,帧2产生的编码量变得更大,并且产生于帧2的编码量大致和帧目标编码量一样。因为产生于帧2的编码量大致和一帧的目标编码量匹配,产生于帧3到10的编码量也在目标编码量周围变化。以上述方式可以抑制在紧跟于帧内编码帧之后的几个帧间编码帧产生的编码量的波动。
图6C表示图像质量。因为以上述的方式可以抑制在紧跟于帧内编码帧之后的几个帧间编码帧产生的编码量的波动,因此图像质量变得稳定。
图6D表示总编码量。在第一实施方式中,用于帧内编码帧的量化步长为固定值Qpintra。设定该固定值Qpintra使得帧内编码帧产生的编码量大于目标编码量。因此,总编码量大于累积目标编码量。
第二实施方式在第一实施方式中,固定值Qpintra用作用于帧内编码帧的量化步长。然而,在第二实施方式中,同样适当地确定帧内编码帧的量化步长。
根据第二实施方式的运动图像编码装置和根据第一实施方式的运动图像编码装置结构基本上一样。因此,也参考图2给出说明。
编码校正单元12测量各帧中产生的编码量,然后根据以下的校正公式(公式7、8和9)校正产生的编码量。
当帧(n+1)将进行帧间编码,并且帧n已经进行了帧内编码时Cn’=Cn*P1公式7当帧(n+1)将进行帧间编码,并且帧n已经进行了帧间编码时Cn’=Cn*P2公式8当帧(n+1)将进行帧内编码Cn’=Cn*P3公式9P1、P2和P3为关系为P1<P2<P3的校正系数。在第二实施方式中,以P1=P,其中(0<P<1),P2=1且P3=1/P情况为实施例进行说明。该校正系数P满足公式4的系数。
量化步长确定单元13根据以下公式10确定用于帧(n+1)的量化步长。
Qp[n+1]=(Cn’/dstC)*Qp[n] 公式10[操作]图7所示为根据第二实施方式确定量化步长操作的详细示意图。
当微计算机4指示帧间编码帧(n+1)(步骤S241帧间)并且帧n已经进行了帧间编码(步骤S242帧间)时,运动图像编码装置31确定用于量化帧(n+1)的量化步长Qp[n+1]为(Cn/dstC)*Qp[n](步骤S243)。另一方面,当帧n已经进行了帧内编码时(步骤S242帧内),运动图像编码装置31确定用于量化帧(n+1)的量化步长QP[n+1]为(Cn*P/dstC)*Qp[n](步骤S244)。
而且,当微计算机4指示对于帧(n+1)的预测编码采用帧内编码时(步骤S241帧内),运动图像编码装置31确定用于量化帧(n+1)的量化步长Qp[n+1]为(Cn/(dstC*P))*Qp[n](步骤S145)。
图8A到图8D所示为根据第二实施方式量化步长、产生于各帧的编码量、图像质量以及产生编码总量按时间顺序变化的示意图。
图8A表示量化步长。在第二实施方式中,适当地确定用于帧内编码帧的量化步长(参见图7中的步骤S245)。因此,如图8A所示,用于帧1、11和21的量化步长没有采用同一值。例如,基于前帧10产生的编码量确定用于帧11的量化步长。因为帧1没有前帧,因此指定固定值作为帧1量化步长的初始值。
图8B表示编码量。帧1到帧10产生的编码量和第一实施方式一样。帧11产生的帧内编码及以后各帧的编码量和目标编码量基本一样。
图8C表示图像质量。因为抑制了产生的编码量的波动,因此图像质量变得稳定。但是,因为帧内编码帧(帧11和21)产生的编码量均很小,因此图像质量整体退化。
图8D表示总编码量。在第二实施方式中,适当地确定用于帧内编码帧的量化步长使得帧内编码帧产生的编码量与目标编码量基本相当。因此,总编码量接近于累积目标编码量。
第三实施方式在第一实施方式中,帧内编码帧中产生的编码量设定为大于目标编码量。因此,编码总量大于累积目标编码总量。
在第三实施方式中,以下说明一种编码总量基本与累积目标编码量相当同时可以尽可能抑制图像质量变差的技术。
图9所示为根据第三实施方式的运动图像成像装置的结构。
根据第三实施方式的运动图像编码装置33的结构除了附加的差值计算单元14和目标编码校正单元15基本与根据第一实施方式的运动图像编码装置31一样。除了差值计算单元14和目标编码校正单元15以外,运动图像编码装置31中一样的元件均包括在第三实施方式的运动图像编码装置中。因此,这里对于同样元件不作说明。
在编码帧(n+1)时,差值计算单元14计算通过从帧n和帧n以前的各帧产生的总编码量中减去帧n和帧n以前的各帧产生的目标编码量得出的累积差值IntC。
IntC=∑(Cn-dstC) 公式11当累积差值大于0时,当累积差值越大,目标编码校正单元15将目标编码量校正得更小。当累积差异为0或者更小时,该目标编码校正单元15不校正目标编码量。具体地,根据如下公式12和13执行校正操作。
在IntC大于0时dstC’=dstC-IntC/d公式12在IntC小于或等于0时dstC’=dstC 公式13在该公式中,d为预定为大于1的调整参数。
量化步长确定单元13根据如下公式14和15确定用于帧(n+1)量化的量化步长。
在帧(n+1)将进行帧内编码时Qp[n+1]=Qpintra 公式14在帧(n+1)将进行帧间编码时Qp[n+1]=(Cn’/dstC’)*Qp[n] 公式15注意编码校正单元12以和第一实施方式一样方式工作,并将校正编码量Cn’传给量化步长确定单元13。
以下说明用于实现上述差值计算单元14和目标编码校正单元15差值计算结构的实施例。
图10所示为差值计算单元14和目标编码校正单元15的详细结构的实施例。
该差值计算单元14包括编码测量单元141、寄存器R1和R2以及加法器A1和A2。
编码测量单元141测量帧n通过编码单元11编码后的产生的编码量。寄存器R1保持目标编码量dstC,并且寄存器R2保持帧n和帧n以前各帧的累积差值。
在加法器A1,从产生的编码量Cn中减去目标编码量dstC。在加法器A2,从加法器A1输出的(Cn-dstC)加上保持在寄存器R2中的累积差值。然后从加法器A2输出的该累积差值IntC保存到寄存器R2中,并输出给目标编码校正单元15。
目标编码校正单元15包括确定单元151、寄存器R3、R4和R5、选择器S1以及加法器A3。
确定单元151确定累积差值151是否大于0,然后向选择器S1的控制端输出结果。
根据确定单元151的判断结果,在IntC大于0时,选择器S1向乘法器M1传送该累积差值IntC,并在IntC小于或等于0时将保持在寄存器R4的0传递给乘法器M1。
该乘法器M1将累积差值IntC和用于调节的参数1/d相乘。该加法器A3从保持在寄存器R5中的目标编码量dstC中减去乘积结果,并向量化步长确定单元13输出该减除结果。
通过上述结构,在累积差值大于0时,目标编码校正单元15可以实现随着累积差值增大将目标编码量校正得更小的操作,并且当累积差值等于或小于0时不校正目标编码量。
图11所示为根据第三实施方式的运动图像编码装置33的操作。
运动图像编码装置33响应于来自微计算机4的指令启动编码。首先,运动图像编码装置33对帧1进行帧内编码(步骤S31)。因为帧1没有前帧,故帧1总是进行帧内编码。第三实施方式中,在进行帧内编码时要使用Qpintra作为量化步长的初始值。那么,该运动图像编码装置33在帧编码存储器122中存储帧1产生的编码量(步骤S32)。因为帧1为帧内编码,C1*P存储于帧编码存储器122中。
接下来,运动图像编码装置33校正目标编码量(步骤S34),并基于帧1产生的编码量、用于帧1的量化步长和校正后的目标编码量确定用于帧2的量化步长(步骤S35)。然后,该运动图像编码装置33采用确定的量化步长对帧2进行帧间编码(步骤S36)。
该运动图像编码装置33在帧编码存储器122中存储帧2产生的编码量(步骤S37)。因为帧2为帧间编码,C2存储在帧编码存储器122中。此后,该运动图像编码装置33重复从步骤S33到步骤S38的操作直到微计算机4指示停止成像。
图12所示为根据第三实施方式的校正目标编码量的详细操作。
差值计算单元14计算累积差值IntC(步骤S341)。
在累积差值IntC大于0时(步骤S342是),目标编码校正单元15将目标编码量校正为dstC-IntC/d。当累积差异小于或等于0时(步骤S342否),目标编码校正单元15不校正目标编码量并保持dstC(步骤S344)。
确定量化步长的操作和第一实施方式基本上一样,并因此这里不详细说明。
图13A到图13D所示为根据第三实施方式量化步长、产生于各帧的编码量、图像质量以及产生编码总量按时间顺序变化的示意图。
图13A表示量化步长。在第三实施方式中,用于帧内编码帧的量化步长设定为固定值Qpintra。
图13B表示编码量。将帧1产生的编码量C1校正为校正编码量C1*P。将目标编码量dstC校正为校正编码量dstC’。校正后的目标编码量dstC’变得比目标编码量dstC小不超过一个编码量,该编码量为产生的编码量C1超出目标编码量dstC的编码量。
帧2产生的编码量C2和校正后的目标编码量dstC’大致相当。
产生于帧3的编码量C3比产生于帧2的编码量C2更接近于目标编码量。这是因为在帧3处的累积差异IntC小于帧2处的累积差异IntC,并因此在帧3校正后的目标编码量比帧2更接近于目标编码量dstC。
而且,在第三实施方式中,由于采用累积差值,所以尽管一帧的编码量会急剧增加,但是可以实现平滑改变。这也应用于不是在帧内编码的帧之后立即到来的多个帧。例如,帧26产生的编码量急剧增加,但是在随后帧27和28产生的编码量的变化是平滑的。
图13C表示图像质量。因为可以抑制在紧跟于帧内编码帧之后的几个帧间编码帧产生的编码量的波动,因此图像质量变得稳定。此外,因为产生于帧间编码帧的编码量和第一实施方式的情况一样,因此总体图像质量不会向第二实施方式一样退化。
图13D表示总编码量。在第三实施方式中,在累积差值IntC大于0时,校正该目标编码量使其随着累积差值的变大而变小。因此,由于即使帧内编码帧产生的编码量超出目标编码量,但是帧内编码帧之后的几个帧中产生的编码量变得比目标编码量小,因此编码总量更接近于累积目标编码量。
第四实施方式在第四实施方式中,根据缓冲器的剩余空间大小通过在量化步长设定为固定值的第一模式和适当地确定量化步长的第二模式的两个模式之间切换来确定帧内编码帧的量化步长。
图14所示为根据第四实施方式的运动图像成像装置的结构。
根据第四实施方式的运动图像编码装置34具有在根据第一实施方式的运动图像编码装置31中添加了空间测量单元16、缓冲器17以及传输单元18的结构。除了空间测量单元16、缓冲器17以及传输单元18以外,运动图像编码装置34具有和根据第一实施方式的运动图像编码装置31基本一样的结构,并因此这里不作说明。
空间测量单元16测量缓冲器17剩余空间的大小,并将测量结果通知量化步长确定单元13。
缓冲器17暂存由编码单元11产生的视频流。传输单元18将存储在缓冲器17中的视频流转移到视频流存储器6中。
量化步长确定单元13根据如下的公式16和17确定帧(n+1)量化的量化步长。
当帧(n+1)将进行帧内编码并且缓冲器17的自由空间大于预定大小(例如,缓冲器的20%)时Qp[n+1)=Qpintra 公式16
当帧(n+1)将进行帧内编码并且缓冲器17的自由空间小于或等于预定大小时或在帧(n+1)将进行帧间编码时Qp[n+1]=(Cn’/dstC’)*Qp[n] 公式17在上述的公式中,Cn’和公式7、8和9的Cn’一样。
上述说明当缓冲器17的自由空间大于预定大小时,以和第一实施方式一样操作的第一模式执行操作,并且当缓冲器17的自由空间小于或等于预定大小时,以和第二实施方式一样操作的第二模式执行操作。
图15所示为根据第四实施方式确定量化步长操作的详细示意图。
在微计算机4指示对帧(n+1)进行帧间编码(步骤S441帧间)并且帧n已经进行帧间编码(步骤S442帧间)时,该运动图像编码装置34确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn/dstC)*Qp[n](步骤S443)。另一方面,当帧n已经帧内编码时(步骤S442帧内),该运动图像编码装置34确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn*P/dstC)*Qp[n](步骤S444)。
而且,在微计算机4指示对帧(n+1)进行帧内编码时(步骤S441帧内)并且自由空间小于或等于预定大小(步骤S445否),该运动图像编码装置34确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn/(dstC*P))*Qp[n](步骤S446)。如果自由空间大于预定大小(步骤S445是),那么该运动图像编码装置34确定用于帧(n+1)量化的量化步长Qp[n+1]为Qpintra(步骤S447)。
当用于帧内编码帧量化的量化步长采用固定值时,尽管缓冲器几乎溢出也不可以调整帧内编码帧产生的编码量。然而,如果适当地确定用于帧内编码帧量化的量化步长则可以抑制帧内编码帧产生的编码量。
因此,如果缓冲器即将溢出,那么本发明在通过适当地确定用于帧内编码帧量化的量化步长来减少缓冲器溢出的可能性方面具有优点。
第五实施方式在第五实施方式中,根据缓冲器的剩余空间大小通过在不校正目标编码量的第一模式和校正目标编码量的的第二模式的两个模式之间进行切换来确定帧间编码帧的量化步长。
图16所示为根据第五实施方式的运动图像成像装置的结构。
根据第五实施方式的运动图像编码装置35具有在根据第三实施方式的运动图像编码装置33中添加了空间测量单元16、缓冲器17以及传输单元18的结构。除了空间测量单元16、缓冲器17以及传输单元18以外,运动图像编码装置35具有和根据第三实施方式的运动图像编码装置33基本一样的结构,并因此这里不作说明。
空间测量单元16、缓冲器17以及传输单元18和第四实施方式的一样。
量化步长确定单元13根据如下的公式18、19和20确定用于帧(n+1)量化的量化步长。
当帧(n+1)将进行帧内编码时Qp(n+1)=Qpintra公式18当帧(n+1)将进行帧间编码并且缓冲器17的自由空间大于预定大小时Qp[n+1](Cn’/dstC)*Qp[n]公式19当帧(n+1)将进行帧间编码并且缓冲器17的自由空间小于或等于预定大小时Qp[n+1]=(Cn’/dstC’)*Qp[n]公式20在上述的公式中,Cn’和公式7、8和9的Cn’一样,并且dstC’和公式12、13中的dstC’一样。
上述说明当缓冲器17的自由空间大于预定大小时,以和第一实施方式一样操作的第一模式执行操作,并且当缓冲器17的自由空间小于或等于预定大小时,以和第二实施方式一样操作的第二模式执行操作。
图17所示为根据第五实施方式的运动图像编码装置35的操作。
运动图像编码装置35响应于来自微计算机4的指令启动编码。首先,运动图像编码装置35对帧1进行帧内编码(步骤S51)。因为帧1没有前帧,故帧1总是帧内编码。第五实施方式中,在进行帧内编码时要使用Qpintra作为量化步长的初始值。然后,该运动图像编码装置35在帧编码存储器122中存储帧1产生的编码量(步骤S52)。因为帧1为帧内编码,C1*P存储于帧编码存储器122中。
当自由空间小于或等于预定大小时(步骤S54否),运动图像编码装置35校正目标编码量(步骤S55),并且当自由空间大于预定大小时(步骤S54是),运动图像编码装置35跳过用于校正目标编码量的步骤55。
运动图像编码装置35基于获得的目标编码量确定用于帧2的编码比例(步骤S56)。然后,运动图像编码装置35采用该确定的量化步长对帧2进行帧间编码(步骤S57)。
运动图像编码装置35在帧编码存储器122中存储帧2产生的编码量(步骤S58)。因为帧2为帧间编码,C2存储于帧编码存储器122。此后,该运动图像编码装置35重复从步骤S53到步骤S58的操作直到微计算机4指示停止成像。
该根据第五实施方式的运动图像编码装置35在缓冲器将要溢出时根据帧n和帧n以前多帧的超额量校正在帧(n+1)产生的编码量。因此,可以降低缓冲器溢出的可能性。
第六实施方式在第六实施方式中,在帧(n+1)为帧内编码时,基于用于帧n的量化步长确定量化步长。这是和第一实施方式仅有的区别。其他和第一实施方式一样,并因此这里不作解释。
如果帧(n+1)进行帧内编码,编码校正单元12不校正产生的编码量。
量化步长确定单元13根据以下公式21、22和23确定用于帧(n+1)量化的量化步长。
当帧(n+1)将进行帧间编码时Qp[n+1]=(Cn’/dstC)*Qp[n] 公式21当帧(n+1)将进行帧内编码,并且帧n已经进行了帧间编码时Qp[n+1]=Pq1*Qp[n] 公式22当帧(n+1)将进行帧内编码,并且帧n已经进行了帧内编码时Qp[n+1]=Pq2*Qp[n] 公式23这里,Pq1和Pq2为预定系数。具体地,两个系数均设定在5/4到4/3的范围内。
随着系数Pq1和Pq2的逐渐变大,帧内编码帧产生的编码量的抑制效果增加。然而,这同时引起图像质量退化。仿真结果表明通过将系数Pq1和Pq2设定在5/4到4/3的范围内既可以实现帧内编码帧产生的编码量的抑制效果又可以获得优秀的图像质量。
图18所示为根据第六实施方式确定量化步长操作的详细示意图。
在微计算机4指示对帧(n+1)进行帧间编码(步骤S641帧间)并且帧n已经进行帧间编码(步骤S642帧间)时,该运动图像编码装置31确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn/dstC)*Qp[n](步骤S643)。当帧n已经进行帧内编码时(步骤S642帧内),该运动图像编码装置31确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn*P/dstC)*Qp[n](步骤S644)。
而且,在微计算机4指示对帧(n+1)进行帧内编码(步骤S641帧内)并且帧n已经进行帧间编码(步骤S645帧间)时,该运动图像编码装置31确定用于帧(n+1)量化的量化步长Qp[n+1]为Pq1*Qp[n](步骤S646)。如果帧n已经进行帧内编码(步骤S645帧内),那么该运动图像编码装置31确定用于帧(n+1)量化的量化步长Pq2*Qp[n](步骤S647)。
图19A到图19C所示为根据第六实施方式量化步长、产生于各帧的编码量以及图像质量按时间顺序变化的示意图。
图19A表示量化步长。在第六实施方式中,适当地确定用于帧内编码帧的量化步长(参见图18的步骤S645)。因此,如图19A所示,帧1、11和21的量化步长采用不同的值。例如,基于前帧10的量化步长确定帧11的量化步长。因为帧1之前不存在帧,将固定值指定为用于帧1的量化步长的初始值。
图19B表示编码量。帧1到帧10产生的编码量和第一实施方式一样。帧11以及之后帧的帧内编码帧产生的编码量基本和目标编码量相等。
图19C表示图像质量。因为可以抑制产生的编码量的波动,因此图像质量变得稳定。然而,因为帧内编码帧(帧11和21)产生的编码量保持很小,因此图像质量整体退化。
在第六实施方式中总编码量的变化和第二实施方式基本一样,并因此在此不作说明。
在第六实施方式中,当进行帧内编码时,适当地确定编码步长。因此,第六实施方式如同在第二实施方式一样,可以获得好的图像效果并且编码变得稳定。
此外在第六实施方式中,在帧内编码时,不考虑前一帧产生的编码量确定量化步长。因此,和第二实施方式比较可以减少运动图像编码装置操作中的处理量。
第七实施方式在第七实施方式中,当帧(n+1)为帧内编码时,基于用于帧n的量化步长确定量化步长。这是和第一实施方式仅有的区别。其他和第一实施方式一样,并因此这里不作解释。
图20所示为根据第七实施方式的运动图像成像装置的结构。
运动图像编码装置37包括编码单元11、编码校正单元12、量化步长确定单元13和表存储单元19。
表存储单元19存储表示帧n的量化步长和帧(n+1)量化步长之间关系的表。
当帧(n+1)将帧内编码时,量化步长确定单元13参照表存储单元19中存储的表以基于用于帧n的量化步长确定用于帧(n+1)的量化步长。
图21所示为存储在表存储单元19的表的实施例。
在帧n为帧间编码时,用于帧(n+1)的量化步长确定为Qnew1。在帧n为帧内编码时,帧(n+1)的量化步长确定为Qnew2。
图22所示为根据第七实施方式确定量化步长操作的详细示意图。
在微计算机4指示对帧(n+1)进行帧间编码(步骤S741帧间)并且帧n已经进行了帧间编码(步骤S742帧间)时,该运动图像编码装置37确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn/dstC)*Qp[n](步骤S743)。如果帧n已经进行帧内编码(步骤S742帧内),该运动图像编码装置37确定用于帧(n+1)量化的量化步长Qp[n+1]为(Cn*P/dstC)*Qp[n](步骤S744)。
而且,在微计算机4指示对帧(n+1)进行帧内编码(步骤S741帧内)并且帧n已经进行帧间编码(步骤S745帧间)时,该运动图像编码装置37确定用于帧(n+1)量化的量化步长Qp[n+1]为Qnew1(步骤S746)。如果帧n已经进行了帧内编码(步骤S745帧内),那么该运动图像编码装置37确定用于帧(n+1)量化的量化步长Qnew2(步骤S747)。
通过第七实施方式,可以获得和第六实施方式一样的效果。
第八实施方式在第八实施方式中,对于各块线确定量化步长。该块线为在图像中以矩阵形成排列的一条线的宏块。
图23所示为根据第八实施方式的运动图像成像装置的结构。
根据第八实施方式的运动图像编码装置38和根据第三实施方式的运动图像编码装置33基本一样,并且仅有编码校正单元12和量化步长确定单元13的结构不同于第三实施方式。因此,这里对于相同的元件不作说明。
该编码校正单元12测量各块线产生的编码量,并根据用于校正的公式24校正产生的编码量。注意,在第八实施方式中,参照预定数量块线产生的编码量以确定块线(n+1)的量化步长。这里,说明一帧包括7条块线,且参照块线(n+1)前的7条块线以确定用于块线(n+1)的量化步长的实施例。
Cn’=CAna*P1+CAnb*P2 公式24在上述的公式中,CAna为在最近的7条块线中产生的编码量中在进行帧内编码的块线中产生的编码量,并且CAnb在最近的7条块线中产生的编码量中在进行帧间编码的块线中产生的编码量。此外,P1和P2为关系为P1<P2的校正系数。在第八实施方式中,以P1=P(0<P<1)并且P2=1的情况为实施例。校正系数P满足公式4。
量化步长确定单元13根据如下的公式25和26确定用于块线(n+1)量化的量化步长。
当块线(n+1)将进行帧内编码时Qp[n+1]=Qpintra公式25当块线(n+1)进行帧间编码时Qp[n+1]=(Cn’/dstC’)*Qp[An] 公式26在上述公式中,Qp[An]为用于要参考的7条块线的量化步长的平均值或模值。
以下说明用于实现公式24计算的结构的实施例。
图24所示为编码校正单元12详细结构的实施例。
编码校正单元12包括编码测量单元121、块线编码存储器123、寄存器R1和R2、选择器S1、乘法器M1以及加法器A1。
编码测量单元121测量在已经由编码单元11编码的块线n产生的编码量Cn。寄存器R1保持校正系数P,并且寄存器R2保持校正系数1。根据来自微计算机4的指令,选择器S1在块线n进行帧内编码时将校正系数P施加给乘法器M1,并且在块线n进行帧间编码时将将校正系数1施加给乘法器M1。
该乘法器M1将产生的编码量Cn和指定的校正系数相乘。
该块线编码存储器123为由7个寄存器构成的移位寄存器。在块线编码存储器123中顺序存储乘法器M1的计算结果。加法器A1将存储结果相加,并得出校正编码量Cn’。
在图24中,C5到C11分别产生的编码量。在图中,假设C5到C7为帧内编码,并且C8到C11为帧间编码。
在这种情况下,在加法器A1中的计算结果为如下公式27。
Cn’=(C5+C6+C7)*P+(C8+C9+C10+C11)公式27在上述公式中,C5+C6+C7为帧内编码块线产生的的编码总量CAna,且C8+C9+C10+C11为帧间编码块线产生的编码总量CAnb。
通过上述结构,编码校正单元12可以通过公式24输出校正编码量Cn’。
图25所示为根据第八实施方式的运动图像编码装置38的操作。
运动图像编码装置38响应于来自微计算机4的指令启动编码。首先,运动图像编码装置38对块线1进行帧内编码(步骤S82)。因为块线1没有前块线,故块线1总是进行帧内编码。在对块线进行帧内编码时使用Qpintra作为量化步长的初始值。那么,该运动图像编码装置38在块线编码存储器123中存储块线1产生的编码量(步骤S82)。因为块线1为帧内编码,C1*P存储于块线编码存储器123中。
此后,该运动图像编码装置38重复从步骤S81到步骤S84的操作直到完成块线7的编码,并因此,完成帧1的帧内编码。
一旦完成块线7的帧内编码,运动图像编码装置38校正目标编码量(步骤S86),并基于块线1到7产生的编码总量、块线1到7的量化步长以及校正目标编码量确定用于块线8的量化步长(步骤S87)。该运动图像编码装置38采用确定的量化步长帧间编码块线8(步骤S88)。
运动图像编码装置38在块线编码存储器123中存储块线8产生的编码量(步骤S89)。因为块线8为帧间编码,故C8存储于块线编码存储器123中。此后,运动图像编码装置38重复步骤S85到步骤S90的操作直到微计算机4指示结束成像。
图26所示为根据第八实施方式确定量化步长操作的详细示意图。
在微计算机4指示对块线(n+1)进行帧间编码(步骤S851帧间),该运动图像编码装置38确定用于块线(n+1)量化的量化步长Qp[n+1]为{(CAna*P+CAnb)/dstC’}*Qp[An](步骤S852)。
另一方面,在微计算机4指示对块线(n+1)进行帧内编码(步骤S851帧内)时,该运动图像编码装置38确定用于块线(n+1)量化的量化步长Qp[n+1]为Qpintra(步骤S853)。
校正目标编码量的操作和第三实施方式一样,因此这里不作说明。
图27所示为根据第八实施方式编码量按时间顺序变化的示意图。
在确定用于块线12的量化步长时,参照包括在A5部分中的7条块线(块线C5到C11)产生的编码量。位于A5部分的7条块线中,位于子部分A5a中的块线5到7为帧内编码,并因此要进行校正。A5部分中的7条块线中位于子部分A5b中的块线8到11为帧间编码,并因此不必进行校正。
如上所述述,通过确定各块线的量化步长,可以通过较小时间段的单元将编码量调整稳定。
第九实施方式在第九实施方式中,运动图像编码装置39可以执行从第一到第八实施方式的确定量化步长的所有类型的方法,并且使用由用户随意选择其中之一方法来确定量化步长。
图28所示为根据第九实施方式的运动图像成像装置的结构。
该运动图像成像装置设置有一模式切换按钮7。除此以外,根据第九实施方式的运动图像成像装置和根据第一到第八实施方式的运动图像成像装置一样,因此这里不作说明。
模式切换按钮7接受确定量化步长的方法其中之一的选择。将该选择经由微计算机4通知给运动图像编码装置39。该运动图像编码装置39采用选出的确定量化步长的方法编码运动图像。
以上说明了基于优选实施方式的运动图像成像装置和运动图像编码装置。然而,本发明并不限于以上实施方式,并且下面的变形也包括在本发明中。
(1)在以上优选实施方式中,编码校正单元12通过将Cn和校正系数相乘来执行校正,以实现公式Qp[n+1]=(Cn*P/dstC)*Qp[n]。然而,公式的解释不限于上述实施方式。例如,可以采用以下的解释,替代校正产生的编码量,在帧n已经进行帧内编码时目标编码量可以校正为P/dstC。在这种情况,图1所示的编码校正单元12是没必要的,量化步长确定单元13选择P/dstC作为帧n已经进行帧内编码时的目标编码量,而选择1/dstC作为帧n已经进行帧间编码时的目标编码量。
(2)在以上的优选实施方式中,校正系数P为固定值。然而,校正系数P不限于固定值,并可以随着要参考的帧的量化步长变小而增大,如同下述公式28。
P=1/(Qn-b)+c 公式28在该公式中,b和c为可调参数。
而且,也可以参照近似于公式28的直线或常数,或者参照指定给各量化步长的表来确定该量化步长。
(3)在第六实施方式中,逐帧执行目标编码量的校正。但是,也可以对各块线执行该校正。
(4)将编码单元11解释为MPEG编码器。但是,如果编码单元可以采用预测编码和量化二者来编码数据,则编码单元11不限于MPEG编码器。
(5)在上述优选实施方式中,通过计算确定帧(n+1)的量化步长。然而,本发明不限于此。例如,可以从存储于与帧n的预测编码、量化步长以及产生的编码量的组合相对应的多个量化步长中选择用于帧(n+1)的量化步长。在这种情况下,不用对于各帧计算就可以确定量化步长。
(6)在上述优选实施方式中,考虑帧n的各种参数(帧n的预测编码、量化步长和产生的编码量)。但是,本发明不限于该实施例,并可以采用帧(n+1)以前的任意帧的参数。例如,可以使用帧(n-1)的参数。
(7)在上述优选实施方式中,要考虑一帧的各种参数。但是,本发明不限于此。可以使用不止一帧的参数。尽管使用不止一帧的参数提高了运动图像编码装置的处理量,但是在采用不止一帧的参数时对波动的抑制效果更佳。
尽管已经参照附图以实施例方式对本发明进行了完整的描述,但是应该注意的是,很显然对于本领域的技术人员而言,可以对本发明做出各种变型和改进。因此,除非这些变型和改进脱离开本发明的范围,否则将认为它们包含在本发明中。
权利要求
1.一种运动图像编码装置包括编码单元,用于对运动图像多个帧中的各帧选择性地进行帧间编码或帧内编码,该帧内编码和帧间编码均涉及量化;以及确定单元,用于根据产生于第一帧的编码量确定用于第二帧数据量化的量化步长,其中当编码单元对第二帧的数据进行帧间编码时,(i)如果第一帧的数据已经进行了帧间编码,采用第一方法作出决定,或者(ii)如果第一帧的数据已经进行了帧内编码采用第二方法作出决定,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长。
2.根据权利要求1所述的运动图像编码装置,其特征在于,所述第二方法以通过采用第二方法确定的量化步长落入到采用第一方法确定的量化步长的1/5到1/3的范围内的方式设置。
3.根据权利要求1所述的运动图像编码装置,其特征在于,该装置进一步包括差值获得单元,用于获得(i)产生于第一帧和先于第一帧的各帧中的累积编码量和(ii)第一帧和先于第一帧的各帧中累积预定编码目标量之间的差值,其中第一方法和第二方法以确定的量化步长随着产生的编码量的差值量变大而增大的方式设置。
4.根据权利要求3所述的运动图像编码装置,其特征在于,在累积产生的编码量小于累积目标编码量时,第一和第二方法以量化步长随着产生的编码量变大而变大的方式设置,而不考虑差值量。
5.根据权利要求3所述的运动图像编码装置,其特征在于,该装置进一步包括用于存储运动图像编码数据的缓冲器,其中当所述缓冲器具有预定大小或更大的自由空间时,该第一和第二方法以量化步长随着产生的编码量变大而变大的方式设置,而不考虑差值量。
6.根据权利要求1所述的运动图像编码装置,其特征在于,在编码单元对第二帧的数据将进行帧内编码时,所述确定单元设定固定值为量化步长。
7.根据权利要求1所述的运动图像编码装置,其特征在于,当所述编码单元第一帧的数据编码以后对第二帧数据将进行帧内编码时,确定单元通过采用第三方法确定量化步长,通过采用第三方法确定的量化步长获得的值大于通过第一方法确定的值。
8.根据权利要求1所述的运动图像编码装置,其特征在于,该装置进一步包括用于存储运动图像编码数据的缓冲器,其中当编码单元对第一帧数据编码以后对第二帧的数据将进行帧内编码时,确定单元(i)如果缓冲器具有预定大小的或更大的自由空间,设定量化步长为固定值,并且(ii)如果缓冲器存在的自由空间小于预定尺寸,采用第三方法确定量化步长,通过采用第三方法确定的量化步长获得的值大于通过第一方法确定的值。
9.根据权利要求1所述的运动图像编码装置,其特征在于,在所述编码单元对第一帧的数据进行编码后对第二帧数据将进行帧内编码时,确定单元基于用于第一帧量化的量化步长确定第二帧的量化步长,而不考虑产生的编码量。
10.根据权利要求9所述的运动图像编码装置,其特征在于,在编码单元对第一帧的数据进行编码以后将对第二帧数据进行帧内编码时,确定单元通过由预定值乘以用于第一帧的量化步长确定用于第二帧的量化步长。
11.根据权利要求10所述的运动图像编码装置,其特征在于,所述预定值在5/4到4/3范围内。
12.根据权利要求9所述的运动图像编码装置,其特征在于,该装置进一步包括记录单元,用于记录表示第一帧的量化步长和第二帧量化步长之间关系的表,其中确定单元,通过参照所述表基于用于第一帧的量化步长确定用于第二帧的量化步长。
13.根据权利要求9所述的运动图像编码装置,其特征在于,所述确定单元基于除用于第一帧的量化步长之外还有用于预定量的前帧的各量化步长来确定用于第二帧的量化步长。
14.一种运动图像编码装置包括编码单元,用于对运动图像中多条块线的各数据选择性地进行帧间编码或帧内编码,帧间编码和帧内编码均涉及量化;校正单元,用于(i)采用第一方法校正预定量的编码块线中的一条或多条帧间编码的块线产生的编码量,以及(ii)采用第二方法校正预定量的编码块线中的一条或多条帧内编码块线产生的编码量,通过采用第二方法校正的一条或多条帧间编码块线产生的编码量获得的值小于通过第一方法校正的值;以及确定单元,当编码单元对下一块线的数据将进行帧间编码时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定用于下一块线数据量化的量化步长。
15.根据权利要求14所述的运动图像编码装置,其特征在于,第二方法以通过采用第二方法在一个或多个帧间编码块线中产生的编码量落入采用第一方法校正的编码量的1/5到1/3的范围内的方式设定。
16.一种运动图像成像装置包括成像器件,用于采集目标图像产生运动图像;编码单元,用于对各运动图像中多帧的各数据选择性地进行帧间编码或帧内编码,帧间编码和帧内编码均涉及量化;以及确定单元,用于根据第一帧产生的编码量确定用于第二帧数据量化的量化步长,其中当编码单元对第二帧的数据将进行帧间编码时,通过(i)如果第一帧的数据已经帧间编码,采用第一方法作出决定,或者(ii)如果第一帧的数据已经帧内编码采用第二方法作出决定,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长。
17.一种运动图像成像装置包括成像器件,用于采集目标图像产生运动图像;编码单元,用于对运动图像的多条块线各数据选择性地进行帧间编码或帧内编码,帧间编码和帧内编码均涉及量化;校正单元,用于(i)采用第一方法校正在预定量的编码块线中的一条或多条帧间编码的块线产生的编码量,以及(ii)采用第二方法校正在预定量的编码块线中的一条或多条帧内编码块线产生的编码量,通过采用第二方法校正的一条或多条帧间编码块线产生的编码量获得的值小于通过第一方法校正的编码量;以及确定单元,当编码单元对下一块线的数据将进行帧间编码时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定用于下一块线数据量化的量化步长。
18.一种运动图像编码方法包括编码步骤,选择性地对运动图像中多帧的各数据进行帧间编码或帧内编码,帧间编码和帧内编码均涉及量化;确定步骤,根据第一帧产生的编码量确定第二帧数据量化的量化步长,其中当对第二帧的数据将进行帧间编码时,通过(i)如果第一帧的数据已经帧间编码采用第一方法作出决定,或者(ii)如果第一帧的数据已经帧内编码采用第二方法作出决定,通过采用第二方法确定的量化步长得到的值小于通过采用第一方法确定的量化步长。
19.一种运动图像编码方法包括编码步骤,选择性地对运动图像中多块线的各数据进行帧间编码或帧内编码,帧间编码和帧内编码均涉及量化;校正步骤,(i)采用第一方法校正在预定量的编码块线中的一条或多条帧间编码块线产生的编码量,以及(ii)采用第二方法校正在预定量的编码块线中的一条或多条帧内编码块线产生的编码量,通过采用第二方法校正的一条或多条帧间编码块线产生的编码量获得的值小于通过第一方法校正的编码量;以及确定步骤,在对下一块线的数据将进行帧间编码时,用于基于已校正的帧内编码块线和帧间编码块线产生的编码总量确定用于下一块线数据量化的量化步长。
全文摘要
当帧n+1在帧n已经进行了帧间编码后将进行帧间编码时(步骤S141帧间),运动图像编码装置采用第一方法基于帧n产生的编码量确定用于量化帧n+1的量化步长Q[n+1](步骤S143)。当帧n+1在帧n已经帧内编码后(步骤S142帧内)将进行帧间编码时,运动图像编码装置采用第二方法基于帧n产生的编码量确定用于量化帧n+1的量化步长Q[n+1](步骤S144)。通过采用第二方法确定的量化步长获得的值小于通过采用第一方法确定的量化步长。
文档编号H04N7/50GK1747553SQ200510102459
公开日2006年3月15日 申请日期2005年9月9日 优先权日2004年9月10日
发明者中村研史 申请人:松下电器产业株式会社