编码装置和编码方法

文档序号:7633837阅读:87来源:国知局
专利名称:编码装置和编码方法
技术领域
本发明涉及实时编码视频信号的例如与便携式电话和TV电话系统等有关的编码装置和编码方法。


图15是例如“所有MPEG-4”(工业调查会)P.39~P.40所示的现有的编码装置的方框图,图16是示出了该现有的编码装置的输入信号的说明图,图17是示出了比特流结构的说明图,图18是示出了视频数据包在画面(所显示的状态)上的位置(配置)的说明图。
图15中,1是将从外部输入的外部输入信号(在图中的例中为亮度信号、色差信号)作为第一输入的减法器,减法器1的输出通过DCT(离散余弦变换)单元2、量化器3输入到用于预测直流(DC)分量、交流(AC)分量的量化值的DC/AC预测器4和逆量化器6。将DC/AC预测器4的输出供给可变长编码单元5的第一输入,可变长编码单元5输出比特流。
另一方面,将输入量化器3的输出的逆量化器6的输出通过逆DCT单元7供给加法器8的第一输入。将加法器8的输出供给存储器9,将存储器9的输出供给预测图像生成单元10的第一输入和运动检测单元11的第一输入。
对运动检测单元11的第二输入给予外部输入信号,将运动检测单元11的输出供给预测图像生成单元10的第二输入和运动矢量预测器12。
将运动矢量预测器12的输出供给可变长编码单元5的第二输入。另外,将预测图像生成单元10的输出供给减法器1的第二输入和加法器8的第二输入。
下面说明动作。首先,如图16所示,将视频信号分割为作为基本处理单元的宏数据块,并作为外部输入信号输入(此处的外部输入信号基本上作为宏数据块输入,即使直接输入宏数据块,也可以在前级设置用于生成宏数据块的单元而变换成宏数据块)。
在所输入的视频信号为4∶2∶0的情况下,亮度信号(Y)的16像素×16行与2个色差信号(Cb、Cr)的8像素×8行在画面上大小相同。因此,由6个8像素×8行的数据块(4个对亮度信号的数据块和2个对色差信号的数据块合计6个数据块)构成1个宏数据块。
另外,在此前提是作为外部输入所输入的视频对象面(VOP。单位图像)是矩形,与帧相同。
对各数据块实施离散余弦变换(DCT)后在量化单元3量化。所量化的DCT系数在DC/AC预测器4进行DC、AC各分量的系数的预测之后,与量化参数等附加信息一起进行可变长编码。
这是内部编码(有时也称帧内编码)。将对所有宏数据块适用帧内编码的VOP称为I-VOP(Intra-VOP)。
另一方面,对量化的DCT系数在逆量化单元6进行逆量化,在逆DCT单元7进行逆DCT并解码,并将解码图像存储到存储器9。进行交互编码(有时也称帧间编码)时使用存储在该存储器9的解码图像。
在交互编码的情况下,运动检测单元11检测表示作为外部输入信号输入的宏数据块的运动的运动矢量。该运动矢量表示在存储于存储器9的解码图像中与所输入的宏数据块的误差最小的位置。
预测图像生成单元10根据运动检测单元11检测的运动矢量,生成预测图像。
接着,求出输入的宏数据块和预测图像生成单元10生成的预测图像的差分信号,对该差分信号在DCT单元2进行DCT,量化单元3进行量化。
将量化的DCT系数与预测编码的运动矢量和量化参数等附加信息一起进行可变长编码。另外,将量化的DCT系数由逆量化单元6进行过逆量化,由逆DCT单元7进行过逆DCT之后,由加法器8与预测图像相加,并存储到存储器9。
交互编码有只按图像显示顺序时间在前的VOP预测的单向预测和从时间在前的VOP和在后的VOP的双方预测的双向预测。将用单向预测编码的VOP称为P-VOP(Predictive VOP),将用双向预测编码的VOP称为B-VOP(Bidirectionally Predictive VOP)。
下面,参照图17说明从可变长编码单元5输出的比特流结构。如图17(a)所示,1VOP的比特流由1个以上的视频数据包构成。
在此,1个视频数据包由1个以上的宏数据块的编码数据组成,对于VOP的最初视频数据包,在开头附上VOP头,在最后附上用于对齐字节的填充比特(图17(b))。
对于第2个以后的视频数据包,在开头附上用于检测起始视频数据包的开头的再同步标记和视频数据包头,在最后附上填充比特(图17(c))。
此处的填充比特是为了调整视频数据包的最后字节对齐,以1~8bit单位,附加到视频数据包的终端(截止),与下述的填充的意义不同。
另外,如图17(d)所示,可在视频数据包中加入任意个填充。例如,在MPEG4Video的情况下,将该填充称为填充·宏数据块,可与宏数据块同样地加入任意的视频数据包。该填充在解码装置侧被废弃(实际上不利用)。
此处的所谓填充是作为用于增加码量的像9比特或10比特字来使用,使用与字节对齐(例如,调整视频数据包的终端)无关,被用来插入到宏数据块之间,在其意义上与上述的填充比特不同。
可加入到1个视频数据包内的宏数据块的个数是任意的,但考虑到错误传播的情况,一般最好使各视频数据包的码量大体恒定。这样,在视频数据包的码量大体恒定的情况下,如图18所示,各视频数据包在1VOP内所占的面积就不恒定。
下面,参照图19详细说明DC/AC预测器4的动作(在此,说明宏数据块的Y分量)。
如上所述,DC/AC预测器4在内部编码的情况下,进行从量化器3输出的量化的DC系数的DC分量、AC分量的系数的预测。在交互编码的情况下,不进行DC分量、AC分量的预测,将从量化器3输出的量化的DCT系数原封不动地输出给可变长编码单元5。另外,此时,分别对亮度信号Y和色差信号C进行DC/AC预测。
下面,说明内部编码情况下的DC分量、AC分量的预测。
如果设量化了当前正在编码的数据块的DCT系数为Fx(i,j)(0≤i≤7,0≤j≤7),设量化了该数据块的左邻数据块的DCT系数为Fa(i,j)(0≤i≤7,0≤j≤7),量化了上邻数据块的DCT系数为Fc(i,j)(0≤i≤7,0≤j≤7),量化了左上数据块的DCT系数为Fb(i,j)(0≤i≤7,0≤j≤7),则先由量化了左上数据块的DCT系数的DC分量Fb(0,0)、量化了左邻数据块的DCT系数的DC分量Fa(0,0)和量化了上邻数据块的DCT系数的DC分量Fc(0,0)决定预测方向。
例如,如果设左邻数据块的DC分量的量化级宽为Qda、左上数据块的DC分量的量化级宽为Qdb、上邻数据块的DC分量的量化级宽为Qdc,则由fa(0,0)=Fa(0,0)×Qdafb(0,0)=Fb(0,0)×Qdbfc(0,0)=Fc(0,0)×Qdc分别求出逆量化后的DC分量fa(0,0)、fb(0,0)、fc(0,0),如果|fa(0,0)-fb(0,0)|<|fb(0,0)-fc(0,0)|成立,则由于认为上下方向的相关性强,所以从逆量化上邻数据块后的DC分量fc(0,0)开始进行预测,如果上述关系不成立,则由于认为左右方向的相关性强,所以从逆量化左邻数据块后的DC分量fa(0,0)开始进行预测。
在从上邻数据块开始进行DC分量的预测时,使Px(0,0)=Fx(0,0)-fc(0,0)/Qdx在从左邻数据块开始进行DC分量的预测时,使Px(0,0)=Fx(0,0)-fa(0,0)/Qdx求出预测后的DC分量Px(0,0)。其中,Qdx是当前数据块的DC分量的量化级宽,上述除法按四舍五入计算。
接着,用上述的DC分量的预测方向进行AC分量的预测。即,如果设左邻数据块的量化参数为Qpa、上邻数据块的量化参数为Qpc、当前数据块的量化参数为Qpx,则在从上邻数据块进行了DC分量的预测时,根据Px(i,0)=Fx(i,0)-(Fc(i,0)×Qpc)/Qpx(i=1、…、7)进行AC分量的预测。
另外,在从左邻数据块进行了DC分量的预测的情况下,根据Px(0,j)=Fx(O,j)-(Fa(0,j)×Qpa)/Qpx(j=1、…、7)进行AC分量的预测,并求出预测后的AC分量Px(i,0)或Px(0,j)。其中,上述除法例如按四舍五入计算。
对构成1宏数据块的6个数据块独立进行了上述AC分量的预测之后,如下所述,以宏数据块单位决定是否进行AC分量的预测(根据用与某一数据块的关系进行了预测来决定每个宏数据块)。
在此,作为判断原来的视频信号的原样(没有进行AC分量的预测)好,还是进行了预测的信号好的指标,如下求出数据块的AC预测判断指标SB。例如,对于构成1宏数据块的6个数据块的各数据块,在从上侧数据块预测该数据块(成为求AC预测判断指标SB的对象的数据块)的情况下,由〔公式1〕SB=Σi=17|Fx(i,0)|-Σi=17|Px(i,0)|]]>求出AC预测判断指标SB,当从左邻数据块预测该数据块时,由〔公式2〕SB=Σj=17|Fx(0,j)|-Σj=17|Px(0,j)|]]>求出AC预测判断指标SB,在构成1宏数据块的6个数据块的AC预测判断指标SB的和SBS(对各数据块求出的AC预测判断指标的和)SBS≥0时,进行AC分量的预测,否则,就不进行AC分量的预测。
另外,在进行AC分量的预测时,使ac_pred_flag=1,在不进行AC分量的预测时,使ac_pred_flag=0,将该ac_pred_flag作为附加信息附加在每个宏数据块上之后,由可变长编码单元5编码各宏数据块。
对于属于ac_pred_flag=1的宏数据块的数据块,在从上邻数据块预测了该数据块时,由〔公式3〕 求出Ox(i,j),在从左邻数据块预测该数据块时,由〔公式4〕 求出Ox(i,j)。
另外,对于属于ac_pred_flag=0的宏数据块的数据块,由〔公式5〕 求出Ox(i,j),将该Ox(i,j)作为DC/AC预测器4的输出,输出给可变长编码单元5。
另外,上述预测中,在当前数据块为单位图像的左端(在单位图像为1幅画面时,该1幅画面的左端)的数据块时,由于不存在当前数据块的左邻数据块和左上数据块,所以将上述预测中所用的逆量化后的DC分量fa(0,0)和fb(0,0)的值设为预定的常数β。此时,将上述预测所用的AC分量Fa(i,j)、Fb(i,j)((i,j)≠(0,0))设为0。
在此,预定的常数β是例如从DCT单元2输出的DCT系数之中的DC分量值范围的中间值。即,当从DCT单元2输出的DC分量为llbit,取0至2047的值时,设β=1024。
同样,上述预测中,在当前数据块为单位图像的上端(单位图像为1幅画面时,该1幅画面的上端)的数据块时,由于不存在当前数据块的上邻数据块和左上数据块,所以将上述预测中所用的逆量化后的DC分量fc(0,0)和fb(0,0)的值设为上述常数β,将AC分量Fc(i,j)、Fb(i,j)((i,j)≠(0,0))设为0。
而且,上述预测中,如果当前数据块的左邻数据块属于与当前数据块不同的视频数据包,则将上述预测中所用的逆量化后的DC分量fa(0,0)设为上述常数β,将AC分量Fa(i,j)((i,j)≠(0,0))设为0。
同样,上述预测中,如果当前数据块的上邻数据块属于与当前数据块不同的视频数据包,则将上述预测中所用的逆量化后的DC分量fc(0,0)设为上述常数β,将AC分量Fc(i,j)((i,j)≠(0,0))设为0。
还有,上述预测中,如果当前数据块的左上数据块属于与当前数据块不同的视频数据包,则将上述预测中所用的逆量化后的DC分量fb(0,0)设为上述常数β,将AC分量Fb(i,j)((i,j)≠(0,0))设为0。
像这样,DC/AC预测器4构成为通过使属于不同的视频数据包的数据块之间不参照DC分量、AC分量的系数,在发送的比特流混进错误的情况下,将DC/AC预测的错误传播限制在视频数据包内。
像上述的现有的编码装置没有充分考虑到用于避免发送缓冲存储器的上溢、接受侧的假定缓冲存储器,即VBV缓冲存储器下溢的处理。
另外,通常调节量化器3所用的量化参数来增减码量,但没有考虑到像即使量化参数最大(抑制进行最粗量化产生的码量),发送缓冲存储器也引起上溢的情况下的处理。
另外,在输入的VOP的速率为F(1/sec)时,要求用1/F(sec)或比其更短的时间编码构成1VOP的所有宏数据块。
但是,在例如运动检测单元11构成为根据VOP内的对象的运动适应地改变运动矢量的探索范围的情况下,运动检测单元11检测各宏数据块的运动矢量所需的时间按每个宏数据块变化,因此,1VOP的处理时间就不恒定。以前没有考虑到在这样情况下控制在所定时间内编码构成1VOP的所有宏数据块。
本发明是为了解决上述问题而提出了能有效避免发送缓冲存储器的上溢和VBV缓冲存储器的下溢的编码装置和编码方法。
另外,本发明公开了在编码1宏数据块所需的时间不恒定的情况下,也可以在所定时间内编码完IVOP的编码装置和编码方法。
本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应于该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据上述编码单元编码的上述码的码量,控制将上述码或上述固定码中的一个存储到上述存储单元。
本发明的编码装置的特征在于,码量控制单元控制按每个该单位图像求出单位图像编码中可产生的最大码量,按每个根据该最大码量构成上述单位图像的宏数据块,将编码单元输出的码或固定编码单元输出的固定码中的某一个存储到存储单元。
本发明的编码装置的特征在于,码量控制单元根据下式求出最大码量Tmax。
Tmax≤Bs-B其中,Tmax为最大码量,Bs为存储单元的容量,B为上述存储单元的剩余容量。
本发明的编码装置的特征在于,码量控制单元根据下式求出最大码量Tmax。
Tmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量。
本发明的编码装置的特征在于,码量控制单元根据下式或具有与其相同结果的值求最大码量Tmax。
Tmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量,Bs为上述存储单元的容量,B为上述存储单元的剩余容量。
本发明的编码装置的特征在于,从存储单元读取的比特率R是可变的。
本发明的编码装置的特征在于,当对于当前宏数据块编码单元输出的码的码量mb_bit、至构成上述单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元。
本发明的编码装置的特征在于,当对于当前宏数据块编码单元输出的码的码量mb_bit、至构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制将上述固定码输出单元输出的上述固定码存储到上述存储单元。
本发明的编码装置的特征在于,当上述Sc+mb_bit+M×L+α>Tmax的关系成立,而且单位图像的编码类型为内部时,码量控制单元从当前宏数据块构成新的视频数据包。
本发明的编码装置的特征在于,固定码输出单元输出对应于单位图像的编码类型中其码量成为最小的宏数据块的码。
本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应于该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据输入构成单位图像的起始宏数据块后的经过时间,控制将上述码或上述固定码中的某一个存储到上述存储单元。
本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据上述编码单元编码的上述码的码量和输入构成单位图像的起始宏数据块后的经过时间,控制将上述码或上述固定码中的某一个存储到上述存储单元。
本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码步骤给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据上述编码步骤编码的上述码的码量,控制在上述存储步骤存储上述码或上述固定码中的某一个。
本发明的编码方法的特征在于,码量控制步骤控制对按每个该单位图像求出在编码单位图像可产生的最大码量,按每个基于该该最大码量构成上述单位图像的宏数据块,在存储步骤存储编码步骤给予的码或固定码输出步骤给予的固定码中的某一个。
本发明的编码方法的特征在于,码量控制步骤根据下式求最大码量Tmax。
Tmax≤Bs-B其中,Tmax为最大码量,Bs为存储步骤许可的容量,B为上述存储步骤许可的剩余容量。
本发明的编码方法的特征在于,码量控制步骤根据下式求出最大码量Tmax。
Tmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为上述存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量。
本发明的编码方法的特征在于,码量控制步骤根据下式或具有与其相同结果的值求最大码量Tmax。
Tmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F
其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量,Bs为上述存储步骤许可的容量,B为上述存储步骤许可的剩余容量。
本发明的编码方法的特征在于,存储步骤读取的比特率R是可变的。
本发明的编码方法的特征在于,当对于当前宏数据块编码步骤给予的码的码量mb_bit、至构成单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前宏数据块,码量控制步骤控制在存储步骤存储固定码输出步骤给予的上述固定码。
本发明的编码方法的特征在于,当对于当前宏数据块编码步骤给予的码的码量mb_bit、到构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定编码输出步骤给予的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于上述当前数据块,码量控制步骤控制在存储步骤存储上述固定码输出步骤给予的上述固定码,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制也在上述存储步骤存储上述固定码输出步骤给予的上述固定码。
本发明的编码方法的特征在于,当上述Sc+mb_bit+M×L+α>Tmax成立,而且单位图像的编码类型为内部时,码量控制步骤从当前宏数据块构成新的视频数据包。
本发明的编码方法的特征在于,固定码输出步骤输出对应于单位图像的编码类型中其码量成为最小的宏数据块的码。
本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码单元给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据输入构成上述单位图像的起始宏数据块后的经过时间,控制在上述存储步骤存储上述码或上述固定码中的某一个。
本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码步骤给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据上述编码步骤编码的上述码的码量和输入构成单位图像的起始宏数据块后的经过时间,控制在上述存储步骤存储上述码或上述固定码中的某一个。
由于本发明如上所述构成,所以具有如下效果。
由于本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据上述编码单元编码的上述码的码量,控制将上述码或上述固定码中的某一个存储到上述存储单元,所以可以限制每个宏数据块产生的码量。
由于本发明的编码装置的特征在于,码量控制单元控制按每个该单位图像求出编码单位图像中可产生的最大码量,按每个根据该最大码量构成上述单位图像的宏数据块,将编码单元输出的码或固定编码单元输出的固定码中的某一个存储到存储单元,所以可以容易限制各单位图像产生的码量。
由于本发明的编码装置的特征在于,码量控制单元根据下式求出最大码量Tmax,所以可以防止存储单元上溢。
Tmax≤Bs-B其中,Tmax为最大码量,Bs为存储单元的容量,B为上述存储单元的剩余容量。
由于本发明的编码装置的特征在于,码量控制单元根据下式求出最大码量Tmax,所以可以防止VBV缓冲存储器下溢。
Tmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量。
由于本发明的编码装置的特征在于,码量控制单元根据下式或具有与其相同结果的值求最大码量Tmax,所以可以避免存储单元上溢和VBV缓冲存储器下溢。
Tmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量,Bs为上述存储单元的容量,B为上述存储单元的剩余容量。
由于本发明的编码装置的特征在于,从存储单元读取的比特率R是可变的,所以可以有效避免存储单元上溢或VBV缓冲存储器下溢。
由于本发明的编码装置的特征在于,当对于当前宏数据块编码单元输出的码的码量mb_bit、至构成上述单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元,所以可以控制单位图像的码量一定小于最大码量Tmax。
由于本发明的编码装置的特征在于,当对于当前宏数据块编码单元输出的码的码量mb_bit、至构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制将上述固定码输出单元输出的上述固定码存储到上述存储单元,所以可以用较少的运算量控制单位图像的码量一定小于最大码量Tmax。
由于本发明的编码装置的特征在于,当上述Sc+mb_bit+M×L+α>Tmax成立,而且单位图像的编码类型为内部时,码量控制单元从当前宏数据块构成新的视频数据包,所以可以容易得到对应于固定码输出单元输出的码的解码图像。
由于本发明的编码装置的特征在于,固定码输出单元输出对应于单位图像的编码类型中其码量成为最小的宏数据块的码,所以可以将选择固定码输出单元的输出的宏数据块抑制到最小,从而可以防止解码图像恶化。
由于本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据输入构成单位图像的起始宏数据块后的经过时间,控制将上述码或上述固定码中的某一个存储到上述存储单元,所以即使在编码单元编码各数据块所需的处理时间不恒定的情况下,也可以在所定时间内编码构成单位图像的所有宏数据块。
由于本发明的编码装置的特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据上述编码单元编码的上述码的码量和输入构成单位图像的起始宏数据块后的经过时间,控制将上述码或上述固定码中的某一个存储到上述存储单元,所以可以避免存储单元上溢或VBV缓冲存储器下溢,同时可以在所定时间内编码构成单位图像的所有宏数据块。
由于本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码步骤给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据上述编码步骤编码的上述码的码量,控制在上述存储步骤存储上述码或上述固定码中的某一个,所以可以控制每个宏数据块产生的码量。
由于本发明的编码方法的特征在于,码量控制步骤控制对按每个该单位图像求出在编码单位图像可产生的最大码量,按每个基于该该最大码量构成上述单位图像的宏数据块,在存储步骤存储编码步骤给予的码或固定码输出步骤给予的固定码中的某一个,所以可以容易限制各单位图像产生的码量。
由于本发明的编码方法的特征在于,码量控制步骤根据下式求最大码量Tmax,所以可以防止存储步骤的上溢。
Tmax≤Bs-B其中,Tmax为最大码量,Bs为存储步骤许可的容量,B为上述存储步骤许可的剩余容量。
由于本发明的编码方法的特征在于,码量控制步骤根据下式求出最大码量Tmax,所以可以防止VBV缓冲存储器下溢。
Tmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为上述存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量。
由于本发明的编码方法的特征在于,码量控制步骤根据下式或具有与其相同结果的值求最大码量Tmax,所以可以同时避免存储步骤的上溢和VBV缓冲存储器的下溢。
Tmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的剩余容量,Bs为上述存储步骤许可的容量,B为上述存储步骤许可的剩余容量。
由于本发明的编码方法的特征在于,存储步骤读取的比特率R是可变的,所以可以有效避免存储步骤的上溢或VBV缓冲存储器的下溢。
由于本发明的编码方法的特征在于,当对于当前宏数据块编码步骤给予的码的码量mb_bit、至构成单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前宏数据块,码量控制步骤控制在存储步骤存储固定码输出步骤给予的上述固定码,所以可以控制单位图像的码量一定小于最大码量Tmax。
由于本发明的编码方法的特征在于,当对于当前宏数据块编码步骤给予的码的码量mb_bit、到构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定编码输出步骤给予的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于上述当前数据块,码量控制步骤控制在存储步骤存储上述固定码输出步骤给予的上述固定码,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制也在上述存储步骤存储上述固定码输出步骤给予的上述固定码,所以可以用较少的运算量控制单位图像的码量一定小于Tmax。
由于本发明的编码方法的特征在于,当上述Sc+mb_bit+M×L+α>Tmax成立,而且单位图像的编码类型为内部时,码量控制步骤从当前宏数据块构成新的视频数据包,所以可以容易获得对应于固定码输出单元输出的码的解码图像。
由于本发明的编码方法的特征在于,固定码输出步骤输出对应于单位图像的编码类型中其码量成为最小的宏数据块的码,所以可以将选择固定码输出单元的输出的宏数据块抑制到最小,从而可以极力防止解码图像恶化。
本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码单元给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据输入构成上述单位图像的起始宏数据块后的经过时间,控制在上述存储步骤存储上述码或上述固定码中的某一个,所以即使在编码步骤编码各宏数据块所需的处理时间不恒定,也可以在所定时间内编码构成单位图像的所有宏数据块。
本发明的编码方法的特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码步骤给予的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据上述编码步骤编码的上述码的码量和输入构成单位图像的起始宏数据块后的经过时间,控制在上述存储步骤存储上述码或上述固定码中的某一个,所以可以避免存储单元上溢或VBV缓冲存储器下溢,同时可以在所定时间内编码构成单位图像的所有宏数据块。
图1是表示本发明实施例1的方框图。
图2是表示本发明实施例1的暂时缓冲存储器和发送缓冲存储器的状态(I-VOP的场合)的说明图。
图3是表示本发明实施例1的暂时缓冲存储器和发送缓冲存储器的状态(P-VOP的场合)的说明图。
图4是表示本发明实施例1的流程图(P-VOP的场合)。
图5是表示本发明实施例1的流程图(I-VOP的场合)。
图6是表示本发明实施例2的流程图(P-VOP的场合)。
图7是表示本发明实施例2的流程图(I-VOP的场合)。
图8是表示本发明实施例3的流程图。
图9是表示本发明实施例4的流程图。
图10是表示本发明实施例5的方框图。
图11是表示本发明实施例5的暂时缓冲存储器的状态的说明图。
图12是表示本发明实施例6的方框图。
图13是表示本发明实施例7的发送缓冲存储器的状态的说明图。
图14是表示本发明实施例7的方框图。
图15是表示现有的编码装置的方框图。
图16是表示对现有的编码装置的输入信号的说明图。
图17是表示现有的编码装置的比特流结构的说明图。
图18是表示现有的编码装置的视频数据包在画面上位置的说明图。
图19是表示现有的编码装置的DC/AC预测的说明图。
下面,根据表示本发明的实施例的附图具体说明本发明。
实施例1图1表示本发明实施例1的编码装置。图中,1是将外部输入信号作为第一输入的减法器,将减法器1的输出通过DCT单元2、量化器3输入给DC/AC预测器4和逆量化器6。将DC/AC预测器4的输出供给可变长编码单元5a的第一输入。
另一方面,将逆量化器6的输出通过逆DCT单元7供给加法器8的第一输入。将加法器8的输出供给存储器9的第一输入,将存储器9的输出供给预测图像生成单元10的第一输入和运动检测单元11的第一输入。
对运动检测单元11的第二输入给予外部输入信号,将运动检测单元11的输出供给预测图像生成单元10的第二输入和运动矢量预测器12。将预测图像生成单元10的输出供给减法器1的第二输入和加法器8的第二输入。
另外,将运动矢量预测器12的输出供给可变长编码单元5a的第二输入。另外,编码单元构成为包括输入上述外部输入信号的减法器1至输出对应于该外部输入信号的可变长码的可变长编码单元5a(当然,在此示出的结构只不过是一例,可以采用能够进行对应于外部输入信号的编码的已知结构)。
将可变长编码单元5a的第一输出供给暂时缓冲存储器101的第一输入,将可变长编码单元5a的第二输出供给码量控制单元102的输入。
对暂时缓冲存储器101的第二输入给予固定码输出单元104的输出,对暂时缓冲存储器101的第三输入给予码量控制单元102的第一输出。将暂时缓冲存储器101的输出供给发送缓冲存储器103的第一输入(在此,暂时缓冲存储器101或发送缓冲存储器103相当于存储单元)。
将码量控制单元102的第二输出供给存储器9的第二输入,将码量控制单元102的第三输出供给发送缓冲存储器103的第二输入。发送缓冲存储器103的输出作为比特流输出(发送)。
解码装置侧接受该输出(发送)的比特流,并进行解码处理。
下面说明动作。
首先,如图16所示,将视频信号分割为作为基本处理单位的宏数据块,并输入到减法器1和运动检测单元11作为输入宏数据块。例如,在输入的视频信号为4∶2∶0时,由于亮度信号(Y)的16像素×16行与2个色差信号(Cb、Cr)的8像素×8行在画面上大小相同,所以由6个8像素×8行的数据块构成1个宏数据块。
在进行内部编码的情况下,对各数据块实施DCT之后量化。量化的DCT系数在DC/AC预测器4进行系数的预测后,与量化参数等附加信息一起由可变长编码单元5a进行可变长编码。量化的DCT系数由逆量化器6逆量化,由逆DCT单元7进行逆DCT并解码,将作为该逆DCT单元7的输出的解码图像存储到存储器9。
在交互编码的情况下,运动检测单元11检测表示输入的宏数据块的运动的运动矢量。运动矢量表示在存储于存储器9的解码图像中,与输入宏数据块的误差最小的位置。
预测图像生成单元10根据由运动检测单元11检测出的运动矢量生成预测图像。接着,求出输入宏数据块和该预测图像的差分,并对该差分信号由DCT单元2实施DCT,由量化器3进行量化。
作为量化器3的输出的量化的DCT系数与DC/AC预测器4预测的系数、由运动矢量预测器12预测编码的运动矢量以及量化参数等附加信息一起由可变长编码单元5a进行可变长编码。另外,量化的DCT系数由逆量化器6进行逆量化,由逆DCT单元7进行逆DCT之后,与预测图像生成单元10输出的预测图像相加并存储到存储器9。
下面,详细说明可变长编码单元5a的动作。
可变长编码单元5a按每个宏数据块编码量化的DCT系数和附加信息(编码步骤),写入暂时缓冲存储器101,并将该码量输出给码量控制单元102。
例如,在MPEG4的I-VOP的情况下,首先,用锯齿波扫描等方法一维扫描DC/AC预测器4输出的各数据块的DCT系数的AC分量,进行编码0的个数和非零系数的组合的扫描宽度编码。将该扫描宽度编码的各数据块的AC分量数据写入暂时缓冲存储器101。
如图2(a)所示,将在各数据块的系数数据后面依次编码汇集并编码了表示内部/交互等宏数据块类型(MTYPE)和表示在各色差数据块是否有非零AC系数的cbpc的mcbpc、表示量化参数的dquant、各数据块的DCT系数的DC分量、表示是否进行了AC预测的ac_pred_flag、表示各Y数据块是否有非零AC系数的cbpy,并写入暂时缓冲存储器101。
另外,按每个宏数据块将这些码量的总和输出给码量控制单元102。
同样,在MPEG4的P-VOP的情况下,将按如图3(a)的顺序编码的数据写入暂时缓冲存储器101。
码量控制单元102根据从可变长编码单元5a输出的各宏数据块的码量,汇集各视频数据包的长度小于预定值的宏数据块,并从暂时缓冲存储器101传送给发送缓冲存储器。
例如,在MPEG4的情况下,如图2(b)、图3(b)所示,对视频数据包的开头附加头,按规定的比特流的顺序并行转换并传送。
另外,码量控制单元102为了使发送缓冲存储器103不引起上溢,或VBV(Video Buffering Verifier)缓冲存储器(接受侧的接收比特流所需的假定缓冲存储器(所需的容量例如记述在发送比特流中的头)。通常,设定I-VOP的最低容量。)不引起下溢,对每个VOP设定最大码量Tmax,为了使该VOP的码量不多于Tmax,从可变长编码单元5a的输出或固定码输出单元104的输出之中选择写入暂时缓冲存储器101的固定码。
另外,此处的所谓最大码量Tmax可以取为使发送缓冲存储器103不上溢、VBV缓冲存储器不下溢的码量的上限值。
下面,描述动作的详细情况。
码量控制单元102在开始编码各VOP之前,求出该VOP的最大码量Tmax。例如,如果设发送缓冲存储器103的容量为Bs(比特),设发送缓冲存储器103的当前剩余量为B(比特),则要使发送缓冲存储器103不发生上溢,该VOP的码量小于Bs-B即可。因此,将最大码量Tmax设定为Tmax≤Bs-B即可。
另外,在管理VBV缓冲存储器的情况下,如果设发送缓冲存储器103的读取比特率为R(比特/秒),编码的VOP的速率为F(1/秒),则在1VOP期间从发送缓冲存储器103读取的比特数Rp为Rp=R/F在1VOP期间VBV缓冲存储器接收的比特数也成为Rp。
因此,如果设当前VOP的前一个VOP的译码时间的VBV缓冲存储器的剩余量为vbv_bits(比特),则要使VBV缓冲存储器不发生下溢,该VOP的码量小于vbv_bits+Rp即可。即,将最大码量Tmax设定为Tmax≤vbv_bits+Rp即可。
从而,码量控制单元102在开始编码各VOP之前,将该VOP的最大码量Tmax设为Tmax=min(vbv_bits+Rp,Bs-B)(min(a,b)表示取a和b中的小值)。
另外,VBV缓冲存储器的剩余量vbv_bits为估计的接收侧的缓冲存储器剩余量,但在接收侧发生上溢时进行延迟译码时间等的处理时,不需要管理VBV缓冲存储器的下溢。像这样,在不需要管理VBV缓冲存储器的下溢时,设定Tmax=Bs-B即可。
由于发送缓冲存储器103的剩余量B随时间变化,所以最大码量Tmax的值也随时间变化,但该最大码量Tmax是按每个VOP计算的。
接着,码量控制单元102按每个宏数据块求出当前VOP的码量,根据图4和图5所示的流程图,对于该宏数据块,从可变长编码单元5a输出的码或固定码输出单元104输出的固定码中,选择存储于暂时缓冲存储器101的码或固定码中的某一个(控制选择并存储。码量控制步骤),并存储到暂时缓冲存储器101(存储步骤。也可以包括从暂时缓冲存储器101到发送缓冲存储器103的发送作为存储步骤)。
图4表示当前的VOP为P-VOP(交互编码类型)的情况下的流程图,图5表示VOP为I-VOP(内部编码类型)时的流程图。
(有关P-VOP情况下的码量控制)首先,说明P-VOP情况下的码量控制单元102的动作。
在P-VOP的情况下,如图3(a)所示,可变长编码单元5a将各数据块的系数数据、not_coded、mcbpc、运动矢量、cbpy、dquant输出给各宏数据块,但这些码不一定都存在,例如在各数据块的系数数据全为0,而且运动矢量为(0,0)时,只存在not_coded=1的1比特。该码是在P-VOP的宏数据块中成为最小码量的码。
因此,在P-VOP的情况下,固定码输出单元104只输出not_coded=1的1比特(固定码输出步骤。如下所述,对于I-VOP也将输出固定码的场合称为固定码输出步骤)作为固定码。即,固定码输出单元104输出对于当前VOP的编码类型成为最小码量的宏数据块的固定码。
例如,在各数据块的系数数据全为0,而且运动矢量为(0,0)时,由于只存在not_coded=1的1比特,所以在P-VOP的情况下,固定码输出单元104输出的固定码的码长L为L=1。
码量控制单元102按每个宏数据块求出当前VOP的码量,如果即使对所有剩余的宏数据块选择了从固定码输出单元104输出的固定码,构成VOP的所有宏数据块的码量也超过该VOP的最大码量Tmax时,则将当前宏数据块的码置换为从固定码输出单元104输出的固定码。
即,如果设构成VOP的宏数据块的总数为A,当前宏数据块的宏数据块号K(其中,0≤K≤A-1),则应接着编码的宏数据块数M(剩余的宏数据块数M)表示为M=A-K-1。
如果将构成当前VOP的宏数据块号0的宏数据块到宏数据块号K-1的宏数据块的码量设为Sc,将可变长编码单元5a输出给当前宏数据块(宏数据块号K)的码的码量设为mb_bit,则对于剩余的M个宏数据块选择了固定码输出单元104的固定码(码长为L)时的VOP整体的码量成为Sc+mb_bit+M×L+α。在此,α为在宏数据块号K之后的宏数据块可产生的再同步标记、视频数据包头、填充比特、运动标记等按视频数据包单位产生的附加码的码量(在此,称为附加码量),α≥O。
因此,当Sc+mb_bit+M×L+α>Tmax时,对于当前宏数据块(宏数据块号K),控制将固定码输出单元104输出的固定码写入暂时缓冲存储器101,在其它情况下,将可变长编码单元5a输出的码写入暂时缓冲存储器101(图4)。
作为附加码量α的值,例如,如果设P-VOP的再同步标记、视频数据包头、填充比特、运动标记的总码量最大为Cp(比特),预定的视频数据包的长度为VPlen(比特),则在当前宏数据块(宏数据块号K)之后的宏数据块产生的码量至少是(M+1)×L从而可产生(M+1)×L/VPlen+1个视频数据包,所以可使附加码量α为α=((M+1)×L/VPlen+1)×Cp另外,如果用构成VOP的宏数据块总数A,则由于M+1≤A为了简化运算,也可以将附加码量α设为α=(A×L/VPlen+1)×Cp,并在P-VOP中作为固定值。
关于P-VOP,在将固定码输出单元104输出的固定码存储到暂时缓冲存储器101的情况下,为了强制执行not_coded(未被编码),将存储在存储器9的当前宏数据块的解码图像置换为存储在存储器9的前一个VOP的同一位置宏数据块的解码图像。
即,在存储器9内,将前一个VOP的宏数据块号K的宏数据块的解码图像复制到当前VOP的宏数据块号K的宏数据块的解码图像区域。在P-VOP的情况下,由于固定码输出单元104输出的固定码为not_coded=1,从而像这样通过复制前一个VOP的解码图像,可得到与固定码输出单元104输出的固定码对应的解码图像。
(有关I-VOP情况下的码量控制)下面,说明I-VOP情况下的码量控制单元102的动作。
在I-VOP的情况下,如图2(a)所示,可变长编码单元5a将各数据块的AC分量数据、mcbpc、dquant、DC分量、ac_pred_flag、cbpy输出给各宏数据块,但这些码不一定都存在,例如在mcbpc所示的cbpc值和cbpy值都为0时,各数据块的系数数据不存在。还有,当mcbpc所示的宏数据块类型表示不具有dquant时,dquant也不存在。
因此,在I-VOP的情况下,固定码输出单元104的各数据块的DC分量和AC分量都为0,而且把quant=0、ac_pred_flag=0的宏数据块的码作为固定码输出。另外,在MPEG2、MPEG4等已有的大部分编码方式中这样的码成为I-VOP的宏数据块的最小码量。
与P-VOP的情况同样,码量控制单元102按每个宏数据块求出当前VOP的码量,如果即使对剩余的所有宏数据块选择了固定码输出单元104输出的固定码,构成VOP的所有宏数据块的码量也超过该VOP的最大码量Tmax时,则将当前宏数据块的码置换为从固定码输出单元104输出的固定码。
在此,由于可以不拆开构成VOP的视频数据包(包含构成视频数据包的所有宏数据块),所以需要生成与剩余的宏数据块对应的已编码的数据,但当构成VOP的所有宏数据块的码量超过最大码量Tmax时,如上所述,为了要置换成固定码,所以必须估计该固定码部分的余量。
即,如果对当前宏数据块(宏数据块号K)设可变长编码单元5a输出的固定码的码量为mb_bit、固定码输出单元104输出的固定码的码长为L、构成当前VOP的宏数据块号0的宏数据块到宏数据块号K-1的宏数据块的码量为Sc,如图5所示,在Sc+mb_bit+M×L+α>Tmax(M=A-K-1)成立的情况下,对当前宏数据块(宏数据块号K),控制将固定码输出单元104输出的固定码写入暂时缓冲存储器101,在其它情况下,将可变长编码单元5a输出的码写入暂时缓冲存储器101。
在此,α为在宏数据块号K之后的宏数据块可产生的再同步标记、视频数据包头、填充比特、dc_marker等按视频数据包单位产生的码的码量(附加码量),α≥0。
作为附加码量α的值,例如,如果设I-VOP的再同步标记、视频数据包头、填充比特、dc_marker的总码量最大为Ci(比特)、预定的视频数据包的长度为VPlen(比特),则在当前宏数据块(宏数据块号K)之后的宏数据块产生的码量至少是(M+1)×L,从而可产生(M+1)×L/VPlen+1个视频数据包,所以可使附加码量α为α=((M+1)×L/VPlen+1)×Ci另外,如果用构成VOP的宏数据块总数A,则由于M+1≤A为了简化运算,也可以设α=(A×L/VPlen+1)×Ci,并在I-VOP中作为固定值。
在I-VOP的情况下,在对当前宏数据块(宏数据块号K)将固定码输出单元104输出的固定码存储到暂时缓冲存储器101的情况下,而且对前一个宏数据块(宏数据块号K-1)没有选择固定码输出单元104的输出(固定码)时(选择了可变长编码单元5a的输出的情况下),如图5所示,由当前宏数据块构成新视频数据包。
在I-VOP的情况下,由于即使ac_pred_flag=0,也进行DC预测,所以在存储在暂时缓冲存储器101的DC分量为0时,它表示DC/AC预测器4输出的预测后的DC分量Ox(0,0)为0,而不表示量化器3输出的DC分量Fx(0,0)为0。
因此,在固定码输出单元104输出各数据块的DC分量和AC分量都为0且dquant=0、ac_pred_flag=0的宏数据块的固定码时,解码该固定码而得的图像一般不是一定的(即,虽然固定码本身是固定的,但有关图像显示的值也不是固定的值而能取任意值)。
但是,DC/AC预测器4中,由于属于不同的视频数据包的数据块之间不参考DC分量的系数,而将DC分量的值范围的中间值,即常数β作为参考值,所以如上所述,如果在选择了将固定码输出单元104输出的固定码存储到暂时缓冲存储器101时控制由该宏数据块构成新视频数据包,则从上述固定码输出单元104输出的固定码所示的各数据块逆量化的DC分量fx(0,0)成为fx(0,0)=β。
从而,在I-VOP的情况下,如果解码从固定码输出单元104输出的固定码,则得到宏数据块的所有像素为常数γ的图像(整个画面为同一颜色等的所谓满图像)。在此,常数γ是输入的宏数据块的像素值范围的中间值。例如,在输入的宏数据块取8比特,0至255的值时,γ=128。
另外,在选择了将固定码输出单元104输出的固定码存储到暂时缓冲存储器101的情况下,如上所述,由于该宏数据块(宏数据块号K)的各数据块逆量化后的DC分量等于常数β,所以在选择该宏数据块的下一宏数据块(宏数据块号K+1)选择了固定码输出单元104的输出(固定码)时,即使不构成新视频数据包,逆量化后的DC分量也成为常数β,解码图像成为像素值都为常数γ的图像(满图像)。
从而,如图5所示,在将固定码输出单元104输出的固定码存储到暂时缓冲存储器101,而且对前一宏数据块没有选择固定码输出单元104的输出(固定码)的情况下,可以控制由当前宏数据块构成新视频数据包。
另外,在将固定码输出单元104输出的固定码存储到暂时缓冲存储器101的情况下,将存储在存储器9的当前宏数据块的解码图像置换为像素值都为常数γ的图像。即,将常数γ写入存储器9的当前VOP的当前宏数据块的解码图像区域。
像这样,根据图4和图5的流程图,通过从可变长编码单元5a输出的码或固定码输出单元104输出的固定码中选择存储到暂时缓冲存储器101的码,可以控制各VOP的码量不超过最大码量Tmax。
另外,根据图5的流程图,由于通过决定是否由当前宏数据块构成新视频数据包,在I-VOP的情况下,也可以不重新进行运算,将与固定码输出单元104输出的固定码对应的解码图像写入存储器9,所以可以用较少的运算量来控制单位图像的码量一定小于最大码量Tmax。
实施例2
上述实施例1中,码量控制单元102根据图4和图5的流程图,控制选择可变长编码单元5a或固定码输出单元104的输出(固定码),但码量控制单元102也可以构成为根据图6和图7所示的流程图,选择可变长编码单元5a或固定码输出单元104的输出(固定码)。
图6表示当前VOP为P-VOP(交互编码类型)时的流程图,图7表示当前VOP为I-VOP(内部编码类型)时的流程图。
(有关P-VOP情况下的码量控制)首先,根据图6说明P-VOP的情况。
与实施例1的情况相同,码量控制单元102如果对于当前宏数据块(宏数据块号K)设可变长编码单元5a输出的码的码量为mb_bit、固定码输出单元104输出的固定码的码长为L,构成当前VOP的宏数据块号0的宏数据块到宏数据块号K-1的宏数据块的码量为Sc,构成当前VOP的宏数据块K+1之后的宏数据块数为M,则当Sc+mb_bit+M×L+α>Tmax(1)成立时,对当前宏数据块(宏数据块号K),控制将固定码输出单元104输出的固定码写入暂时缓冲存储器101。
在此,α是在宏数据块号K之后的宏数据块可产生的再同步标记、视频数据包、填充比特、运动标记等按视频数据包单位产生的码的码量(附加码量),α≥0。如实施例1所述,即使对每个宏数据块运算,α也可以在每个VOP的编码类型中作为固定值。
但是,上述(1)式对当前宏数据块成立时,由于码量是累积的,所以(1)式对下一宏数据块也成立的可能性很大。
例如,如果(1)式对宏数据块号K成立,则从宏数据块号0的宏数据块到宏数据块号K的宏数据块的码量Sc’成为至宏数据块号K-1的宏数据块的码量Sc加上固定码输出单元104输出的固定码的码长L的Sc’=Sc+L。在此,对宏数据块号K的宏数据块可变长编码单元5a输出的码的码量mb_bit与对宏数据块号K+1的宏数据块可变长编码单元5a输出的码的码量mb_bit’相等,而且,如果上述α值对两宏数据块相同,则Sc’+mb_bit’+(M-1)×L+α
=Sc+mb_bit+M×L+α>Tmax(1)式也对于宏数据块号K+1成立。
因此,如果(1)式对宏数据块号K成立,则(1)式也对宏数据块号K以后的宏数据块成立,从而可以省略运算。
即,如图6所示,先对当前宏数据块(宏数据块号K)的前一宏数据块(宏数据块号K-1)判断是否选择了固定码输出单元104的输出(固定码),在前一个宏数据块选择了固定码输出单元104的输出(固定码)时,也对当前宏数据块将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101。
另一方面,在前一宏数据块没有选择固定码输出单元104的输出(固定码)时,判断上述式(1),如果式(1)成立,则将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101,如果式(1)不成立,则将可变长编码单元5a的输出存储到暂时缓冲存储器101。
(关于I-VOP情况下的码量控制)VOP的情况也同样,如图7所示,先对当前宏数据块(宏数据块号K)的前一宏数据块(宏数据块号K-1)判断是否选择了固定码输出单元104的输出(固定码),在前一宏数据块选择了固定码输出单元104的输出(固定码)时,也对当前宏数据块将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101。此时,如实施例1中所述,不需要由当前数据块构成新视频数据包。
另一方面,在前一个宏数据块没有选择固定码输出单元104的输出(固定码)时,判断上述式(1),如果式(1)成立,则将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101。如果上述式(1)不成立,则将可变长编码单元5a的输出存储到暂时缓冲存储器101。另外,如果上述式(1)成立,则由当前宏数据块构成新视频数据包。
实施例2中,由于在式(1)对1VOP中的某个宏数据块成立时,对构成该VOP的该宏数据块之后的所有宏数据块控制将固定码输出单元104的输出(固定码)写入暂时缓冲存储器101,所以接着该宏数据块编码的宏数据块中,由减法器1、DCT单元2、量化器3、DC/AC预测器4、可变长编码单元5a、逆量化器6、逆DCT单元7、加法器8、预测图像生成单元10、运动检测单元11和运动矢量预测单元12构成的编码单元不不必运作。
因此,在式(1)对1VOP中的某个宏数据块成立时,接着构成该VOP的该宏数据块编码的宏数据块中,由于减法器1、DCT单元2、量化器3、DC/AC预测器4、可变长编码单元5a、逆量化器6、逆DCT单元7、加法器8、预测图像生成单元10、运动检测单元11和运动矢量预测单元12停止运作(停止已编码的宏数据块之后的宏数据块至VOP最后宏数据块的运算),从而可以减少运算量、降低耗电。
实施例3实施例3中,码量控制单元102按照图8所示的流程图,控制选择可变长编码单元5a或固定码输出单元104的输出(固定码)。图8表示P-VOP(交互编码类型)时的流程图。
(有关P-VOP情况下的码量控制)例如,在运动检测单元11根据VOP内的对象的运动自适应地改变运动矢量的搜索范围时,运动检测单元11检测各宏数据块的运动矢量所需的时间按每个宏数据块变化,因此,1VOP的处理时间不恒定。
在这样的情况下,为了在规定时间内编码构成1VOP的所有宏数据块,在处理时间变少时,不进行减法器1、DCT单元2、量化器3、DC/AC预测器4、可变长编码单元5a、逆量化器6、逆DCT单元7、加法器8、预测图像生成单元10、运动检测单元11和运动矢量预测单元12的运算,将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101。
因此,如图8所示,码量控制单元102计测输入构成当前VOP的起始宏数据块(宏数据块号0)之后的经过时间,如果该经过时间超过了预定的处理时间Tp,则通常将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101,在其它情况下,根据式(1)选择固定码输出单元104的输出(固定码)和可变长编码单元5a的输出,并存储到暂时缓冲存储器101。
另外,此时的预定的处理时间Tp是在最大1VOP期间设定的(由于1VOP部分的处理必需在1VOP期间处理),但如果在该1VOP期间不包括其它处理,则(1VOP期间一其它处理所需的时间)成为给予处理时间Tp的最大值。
(有关I-VOP情况下的码控制)在当前VOP为I-VOP的情况下,与实施例1或实施例2同样,根据图5或图7的流程图,码量控制单元102选择存储在暂时缓冲存储器101的码。
实施例4实施例4中,码量控制单元102根据图9所示的流程图,控制选择可变长编码单元5a或固定码输出单元104的输出(固定码)。另外,图9表示P-VOP(交互编码类型)情况下的流程图。
(有关P-VOP情况下的码量控制)即,如实施例2中所述,码量控制单元102先对当前宏数据块(宏数据块号K)的前一宏数据块(宏数据块号K-1)判断是否选择了固定码输出单元104的输出(固定码),在前一宏数据块选择了固定码输出单元104的输出(固定码)时,也对当前宏数据块将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101。
接着,如实施例3所述,计测输入构成当前VOP的起始宏数据块(宏数据块号0)之后的经过时间,如果该经过时间超过了预定的处理时间Tp,则控制将固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101,在其它情况下,根据上述式(1)选择固定码输出单元104的输出(固定码)和可变长编码单元5a的输出,并存储到暂时缓冲存储器101。
(有关I-VOP情况下的码量控制)在当前VOP为I-VOP的情况下,与实施例1或实施例2同样,根据图5或图7的流程图,码量控制单元102选择存储在暂时缓冲存储器101的码。
实施例5实施例1中示出了固定码输出单元104独立存在的方框图,但例如当利用软件构成各种单元时,也可以构成为共有使固定码输出单元104和可变长编码单元5a分别运作的ROM表。
即,如实施例1中所述,由于固定码输出单元104输出的固定码成为I-VOP、P-VOP的宏数据块的码中的1个图案,所以通过使固定码输出单元104和可变长编码单元5a成为一体,可以共有ROM表。
图10表示本发明实施例5的编码装置。图中,1是将外部输入信号作为第一输入的减法器,将减法器1的输出通过DCT单元2、量化器3输入到DC/AC预测器4和逆量化器6。将DC/AC预测器4的输出供给可变长编码单元5b的第一输入。
另一方面,将逆量化器6的输出通过逆DCT单元7供给加法器8的第一输入。将加法器8的输出供给存储器9的第一输入,将存储器9的输出供给预测图像生成单元10的第一输入和运动检测单元11的第一输入。
对运动检测单元11的第二输入给予外部输入信号,将运动检测单元11的输出供给预测图像生成单元10的第二输入和运动矢量预测器12。将预测图像生成单元10的输出供给减法器1的第二输入和加法器8的第二输入。
还有,将运动矢量预测器12的输出供给可变长编码单元5b的第二输入。
将可变长编码单元5b的第一输出供给暂时缓冲存储器101的第一输入,将可变长编码单元5b的第二输出供给码量控制单元102的输入。
对暂时缓冲存储器101的第二输入给予码量控制单元102的第一输出。将暂时缓冲存储器101的输出供给发送缓冲存储器103的第一输入。
将码量控制单元102的第二输出供给存储器9的第二输入和可变长编码单元5b的第三输入,将码量控制单元102的第三输出供给发送缓冲存储器103的第二输入。发送缓冲存储器103的输出作为比特流输出(发送)。
在解码装置侧接收该输出(发送)的比特流,并进行解码处理。
下面说明动作。
实施例5与实施例1的不同点在于可变长编码单元5b和暂时缓冲存储器101的运作。由于其它部分与实施例1同样,所以省略说明。
可变长编码单元5b先与实施例1同样编码各宏数据块的数据,如图11(a)所示,将码写入暂时缓冲存储器101。在此,存储对当前宏数据块(宏数据块号K)写入的码的开头地址Ak。另外,将此时产生的码的码量mb_bit输出给码量控制单元102。
接着,码量控制单元102判断上述式(1),如果式(1)成立,则将暂时缓冲存储器101的写入地址返回到Ak,并将表示选择固定码的信号输出给存储器9和可变长编码单元5b。
可变长编码单元5b一接受表示选择固定码的信号,就将按每个VOP的编码类型预定的固定码输出给暂时缓冲存储器101。此时,由于写入暂时缓冲存储器101的地址返回到Ak,所以将宏数据块号K的码以固定码写入。从而,如图11(b)所示的暂时缓冲存储器的数据结构,把固定码写入宏数据块号K-1的之后。
另外,存储器9如果接受表示选择固定码的标识符,则如实施例1中所述,在I-VOP的情况下,将常数γ写入宏数据块号K的解码图像区域,在P-VOP的情况下,将该VOP的前一VOP的宏数据块号K的宏数据块的解码图像复制到宏数据块号K的解码图像区域。
实施例5中,按照上述的构成,使可变长编码单元5b具有编码各宏数据块的单元和输出按每个VOP编码类型准备的固定码的单元的功能,从而可以缩小电路。
实施例6图12表示本发明实施例6的编码装置。图中,1是将外部输入信号作为第一输入的减法器,将减法器1的输出通过DCT单元2、量化器3供给可变长编码单元5c的第一输入和逆量化器6。
将逆量化器6的输出通过逆DCT单元7供给加法器8的第一输入。将加法器8的输出供给存储器9的第一输入,将存储器9的输出供给预测图像生成单元10的第一输入和运动检测单元11的第一输入。
对运动检测单元11的第二输入给予外部输入信号,将运动检测单元11的输出供给预测图像生成单元10的第二输入和运动矢量预测器12。将预测图像生成单元10的输出供给减法器1的第二输入和加法器8的第二输入。
另外,将运动矢量预测器12的输出供给可变长编码单元5c的第二输入。编码单元构成为包括输入上述外部输入信号的减法器1至输出与该外部输入信号对应的可变长码的可变长编码单元5c(当然,在此示出的结构不过是一例,可以采用可对应外部输入信号进行编码的已知结构)。
将可变长编码单元5c的第一输出供给暂时缓冲存储器101的第一输入,将可变长编码单元5c的第二输出供给码量控制单元102的输入。
对暂时缓冲存储器101的第二输入给予固定码输出单元104的输出(固定码),对暂时缓冲存储器101的第三输入给予码量控制单元102的第一输出。将暂时缓冲存储器101的输出供给发送缓冲存储器103的第一输入。
将码量控制单元102的第二输出供给存储器9的第二输入,将码量控制单元102的第三输出供给发送缓冲存储器103的第二输入。发送缓冲存储器103的输出作为比特流输出(发送)。
在解码装置侧接收该输出(发送)的比特流,并进行解码处理。
下面说明动作。
实施例6与实施例1的不同点在于在内部编码类型的情况下也不进行DC/AC预测。即,可变长编码单元5c用量化器3输出的DCT系数进行编码。例如,在遵循H.263的编码装置的情况下,I-VOP一般用8比特编码DC分量。
因此,对于I-VOP,固定码输出单元104输出各数据块的DC分量为128、AC分量都为0、dquant=0的宏数据块的固定码。
此时,由于没有DC预测,所以在选择了固定码输出单元104的输出(固定码)时,也不必从当前宏数据块构成新视频数据包。因此,码量控制单元102在I-VOP的情况下,也按照图4、图6、图8或图9的流程图选择固定码输出单元104的输出(固定码)或可变长编码单元5c的输出,并存储到暂时缓冲存储器101。
另外,在P-VOP的情况下,与实施例1至实施例4同样,根据图4、图6、图8或图9的流程图选择固定码输出单元104的输出(固定码)或可变长编码单元5c的输出,并存储到暂时缓冲存储器101。
实施例7上述实施例6构成为将可变长编码单元5c的输出或固定码输出单元104的输出(固定码)存储到暂时缓冲存储器101,并从暂时缓冲存储器101传给发送缓冲存储器103,但例如在数据结构没有成为数据分段或无需重排数据的情况下,也可以构成为将可变长编码单元5c的输出或固定码输出单元104的输出(固定码)直接输入到发送缓冲存储器103,从而可以省去暂时缓冲存储器101(此时,存储单元相当于发送缓冲存储器103)。
例如,在遵循H.263的编码装置的情况下(不进行数据分段的情况),从发送缓冲存储器103输出的比特流结构为如图13所示。从而,像MPEG4的数据分段的情况(图2(b)、图3(b)),不是例如将各宏数据块分割成像①mcbpc、dquant和DC分量、②ac_pred_flag和cbpy、③各数据块的系数数据的①~③的类别,并将多个宏数据块的码按类别汇集构成而构成各宏数据块的码,所以不必并行转换每个宏数据块产生的码。
即,可变长编码单元5c按照图13所示的格式,不需要用于输出宏数据块的码并行转换的暂时缓冲存储器101。
图14表示像这样的实施例7的编码装置。图中,1是将外部输入信号作为第一输入的减法器,将减法器1的输出通过DCT单元2、量化器3供给可变长编码单元5c的第一输入和逆量化器6。
将逆量化器6的输出通过逆DCT单元7供给加法器8的第一输入。将加法器8的输出供给存储器9的第一输入,将存储器9的输出供给预测图像生成单元10的第一输入和运动检测单元11的第一输入。
对运动检测单元11的第二输入给予外部输入信号,将运动检测单元11的输出供给预测图像生成单元10的第二输入和运动矢量预测器12。将预测图像生成单元10的输出供给减法器1的第二输入和加法器8的第二输入。
还有,将运动矢量预测器12的输出供给可变长编码单元5c的第二输入。
将可变长编码单元5c的第一输出供给发送缓冲存储器103的第一输入,将可变长编码单元5c的第二输出供给码量控制单元102的输入。
对发送缓冲存储器103的第二输入给予固定码输出单元104的输出(固定码),对发送缓冲存储器103的第三输入给予码量控制单元102的第一输出。还有,将码量控制单元102的第二输出供给存储器9的第二输入。
发送缓冲存储器103的输出作为比特流输出(发送)。在解码装置侧接收该输出(发送)的比特流,并进行解码处理。
下面,说明动作。
实施例7与实施例6的不同点在于可变长编码单元5c和固定码输出单元104向发送缓冲存储器103输出固定码。即,与实施例6同样,码量控制单元102根据从可变长编码单元5c输出的码的码量,按每个宏数据块判断从在可变长编码单元5c的输出或固定码输出单元104的输出(固定码)之中选择某一个,并控制将所选择的存储到发送缓冲存储器103。
另外,上述实施例1至7中,在设定每个VOP的最大码量Tmax时,设发送缓冲存储器103的读取速率为R,但在读取速率不是固定速率,而是可变速率的情况下也可以同样进行,设定使发送缓冲存储器103不上溢或VBV缓冲存储器不下溢的Tmax。
上述发送缓冲存储器103的读取速率为可变速率的情况相当于例如发送的最大速率已定,根据应在该最大速率内发送的信息的种类(例如,像视频和音频种类)分配发送速率的情况。
此时,也根据图4至图9的流程图,通过选择并存储编码各宏数据块的编码单元的输出和按VOP的编码类型决定的固定码,可以控制各VOP的码量小于最大码量Tmax。
另外,上述实施例1至7中,说明了MPEG4的数据分段的情况和H.263情况下的例子,但在不是数据分段的情况和MPEG2等的情况下,也可以用与上述同样的结构进行码量控制。
而且,本发明当然也适用于输入信号不是4∶2∶0的情况和VOP(单位图像)不是矩形的情况(例如,图像中的对象可取任意形状)。
权利要求
1.一种编码装置,其特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应于该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据上述编码单元编码的上述码的码量,控制将上述码或上述固定码中的某一个存储到上述存储单元。
2.如权利要求1所述的编码装置,其特征在于码量控制单元控制按每个该单位图像求出编码单位图像中可产生的最大码量,按每个根据该最大码量构成上述单位图像的宏数据块,将编码单元输出的码或固定编码单元输出的固定码中的某一个存储到存储单元。
3.如权利要求2所述的编码装置,其特征在于码量控制单元根据下式求出最大码量TmaxTmax≤Bs-B其中,Tmax为最大码量,Bs为存储单元的容量,B为上述存储单元的占有量。
4.如权利要求2所述的编码装置,其特征在于码量控制单元根据下式求出最大码量TmaxTmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的占有量。
5.如权利要求2所述的编码装置,其特征在于码量控制单元根据下式或具有与其相同结果的值求最大码量TmaxTmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F其中,Tmax为最大码量,Rp为从存储单元读取的单位图像的比特数,R为从上述存储单元读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的占有量,Bs为上述存储单元的容量,B为上述存储单元的占有量。
6.如权利要求2所述的编码装置,其特征在于当对于当前宏数据块编码单元输出的码的码量mb_bjt、至构成上述单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元。
7.如权利要求2所述的编码装置,其特征在于当对于当前宏数据块编码单元输出的码的码量mb_bit、至构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc,上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出单元输出的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前数据块,码量控制单元控制将上述固定码输出单元输出的上述固定码存储到存储单元,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制将上述固定码输出单元输出的上述固定码存储到上述存储单元。
8.一种编码装置,其特征在于具有编码单元,编码宏数据块单位的外部输入信号,并输出对应于该外部输入信号的码;固定码输出单元,输出按各单位图像的编码类型预定的固定码;存储单元,存储上述编码单元输出的上述码或上述固定码输出单元输出的上述固定码;码量控制单元,根据输入构成单位图像的起始宏数据块后的经过时间,控制将上述码或上述固定码中的某一个存储到上述存储单元。
9.一种编码方法,其特征在于具有编码步骤,编码宏数据块单位的外部输入信号,并输出对应于该外部输入信号的码;固定码输出步骤,输出按各单位图像的编码类型预定的固定码;存储步骤,存储上述编码步骤得到的上述码或上述固定码输出步骤给予的上述固定码;码量控制步骤,根据上述编码步骤编码的上述码的码量,控制在上述存储步骤存储上述码或上述固定码中的某一个。
10.如权利要求9所述的编码方法,其特征在于码量控制步骤控制对按每个该单位图像求出在编码单位图像可产生的最大码量,按每个基于该该最大码量构成上述单位图像的宏数据块,在存储步骤存储编码步骤给予的码或固定码输出步骤给予的固定码中的某一个。
11.如权利要求10所述的编码方法,其特征在于码量控制步骤根据下式求最大码量TmaxTmax≤Bs-B其中,Tmax为最大码量,Bs为存储步骤许可的容量,B为上述存储步骤许可的占有量。
12.如权利要求10所述的编码方法,其特征在于码量控制步骤根据下式求出最大码量TmaxTmax≤vbv_bits+Rp其中,Rp=R/F其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为上述存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的占有量。
13.如权利要求10所述的编码方法,其特征在于码量控制步骤根据下式或具有与其相同结果的值求最大码量TmaxTmax≤min(vbv_bits+Rp,Bs-B)其中,Rp=R/F其中,Tmax为最大码量,Rp为在存储步骤读取的单位图像的比特数,R为存储步骤读取的比特率,F为单位图像的编码速率,vbv_bits为前一个单位图像的VBV缓冲存储器的占有量,Bs为上述存储步骤许可的容量,B为上述存储步骤许可的占有量。
14.如权利要求10所述的编码方法,其特征在于当对于当前宏数据块编码步骤给予的码的码量mb_bit、至构成单位图像的当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的当前宏数据块编码的宏数据块数M、对于上述单位图像固定码输出步骤输出的码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于当前宏数据块,码量控制步骤控制在存储步骤存储固定码输出步骤给予的上述固定码。
15.如权利要求10所述的编码方法,其特征在于当对于当前宏数据块编码步骤给予的码的码量mb_bit、至构成单位图像的上述当前宏数据块的前一宏数据块的码量Sc、上述单位图像的最大码量Tmax、应接着构成上述单位图像的上述当前宏数据块编码的宏数据块数M、对于上述单位图像固定编码输出步骤给予的固定码的码长L、以构成上述单位图像的视频数据包单位产生的附加码的码量α之间的关系为Sc+mb_bit+M×L+α>Tmax(其中,α≥0)时,对于上述当前数据块,码量控制步骤控制在存储步骤存储上述固定码输出步骤给予的上述固定码,同时也对于应接着构成上述单位图像的上述当前宏数据块编码的M个宏数据块,控制也在上述存储步骤存储上述固定码输出步骤给予的上述固定码。
全文摘要
获得可防止缓冲存储器上溢,而且在编码各宏数据块所需的处理时间不恒定的情况下,也可以在规定时间内进行VOP的编码的编码装置。对每个VOP设定最大码量Tmax,为了VOP的码量Sc不多于Tmax,切换并输出编码单元的输出和固定码输出单元的输出。
文档编号H04N7/50GK1335724SQ01122100
公开日2002年2月13日 申请日期2001年4月26日 优先权日2000年4月27日
发明者幡野喜子, 中尾贵史, 贵岛淳子, 稻村守, 杉山和宏 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1