编码信号的分离和合并 装置、方法及计算机程序产品 本发明涉及分离和合并编码的活动图象序列信号的装置、方法及计算机程序产品,尤其是,将第一编码活动图象序列信号转码分离产生一个第二编码活动图象序列信号和一个表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号,并且合并第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号的装置、方法及计算机程序产品。
迄今为止,已经提出了许多对具有可观数据量的活动图象进行压缩和编码以产生编码活动图象序列信号的系统。国际标准ISO-IEC13818是为可实行对带有辅助数字音频信号的数字视频信号进行编码的系统而建立的,通常称为“活动图象专家组第2版”,即“MPEG-2”。在该编码系统中,编码活动图象序列信号以比特流的形式输出。特别是,符合上述MPEG-2标准的比特流在下文中将被称为“MPEG-2比特流”。近来,该类系统对各个技术领域变得越来越实用,例如通信系统、电视广播服务系统等等。
上述MPEG-2比特流采用分级结构,依次由顶层的序列层、图象组层、图象层、条层、宏块层和下层的块层组成。
典型的MPEG-2标准的编码器通过下列压缩和编码活动图象的方法实行。该方法包括步骤:
(a)输入由连续图象组成的活动图象序列;
(b)暂时分别以帧的形式在存储器中存储连续图象;
(c)计算一帧与另一帧之间的差值来消除时间轴方向的冗余度
(d)正交变换比如离散余弦变换(DCT)每一帧的多数图象元素来消除空间轴方向的冗余度。
这样构成的编码器能够压缩和编码活动图象,经传输通道以预定比特率产生和输出一个MPEG-2比特流形式的编码活动图象序列信号。然后,编码活动图象序列信号从编码器发送给用于解码该编码信号地解码器来再现活动图象。
典型的解码器通过一个称为双向预测的方法实行对编码活动图象序列信号的解码,该方法包括步骤:
(a)在第一帧存储器中存储一个再现的图象,通常称为“帧内图象”,即“I图象”;
(b)估算另一个与I图象相接的图象,通常称为“前向预测图象”,即“P图象”,估算是以I图象与P图象之间的差值信息为基础的;
(c)在第二帧存储器中存储估算的P图象;和
(d)进一步估算介于I图象与P图象之间的另一个图象,通常称为“双向预测图象”,即“B图象”。
这里,I图象是独立于其它类型图象被编码的,因此一个I图象仅由自身就能够再现一个独立的静态图象。一个P图象能够在I图象或位于该要编码的P图象之前的另一个P图象的基础上被预测。I图象称为“帧内图象”,同时P图象、B图象称为“帧间图象”。
但是,在上述的编码器中,编码活动图象序列信号的信息量是变化的。尤其是在场景变化时,信息量的增加是很可观的。解码器通常配备有输入缓冲器,用于从编码器接收编码活动图象序列信号。但是,解码器的输入缓冲器的存储容量是有限的。因此,当大量的编码活动图象序列信号比特从编码器发送到解码器时,输入缓冲器会因编码活动图象序列信号比特而溢出,从而使解码器难以处理编码活动图象序列信号。为了以预定比特率在传输通道中发送这样的具有可变比特数的编码活动图象序列信号,并且使任何解码器都能够无溢出地接收整个编码活动图象序列信号,编码器包括:一个输出缓冲器,用于在经传输通道发送编码活动图象序列信号之前暂时存储编码活动图象序列信号;和一个速率控制器,用于控制存储在输出缓冲器中的编码活动图象序列信号的比特数,以防止在预定时间里发送给解码器的编码活动图象序列信号的比特数超过解码器输入缓冲器的容量,从而控制编码活动图象序列信号的比特率。
MPEG-2标准中典型的速率控制方法记载在1993年4月的“ISO-IEC/JTC1/SC29/WG11/N0400测试版5”中,在下文中称为“TM-5”。TM-5的速率控制方法包括步骤:
(I)根据在图象组中可用于编码图象的比特总数,即R,分配每种类型的图象的目标比特数;
(II)在执行速率控制的“虚拟缓冲器”的可用容量的基础上,计算用于图象中每个宏块量化的量化参数的参考值;和
(III)根据宏块的空间运动调整量化参数的参考值。
进一步也存在许多类型的解码器。比如,一种解码器被设计为以一种区别于MPEG-2比特流格式的独特的压缩格式来解码编码信号,另一种解码器则可以与比特率不同的传输通道连接。因此,那些类型的解码器要求配备有称为转码器的装置,将MPEG-2比特流转换成另一种适当的具有所要求比特率的特定格式的编码信号。转码器使编码器能够向任何类型的解码器发送编码信号。
参照附图27,示出了一种典型类型的转码器作为第一个传统转码器50。传统转码器50具有一个输入端a1与第一传输通道电连接,图中未示出,和一个输出端a2与第二传输通道电连接,图中未示出。传统转码器50通过输入端a1以预定输入比特率输入第一比特流b1,将第一比特流b1转换为以预定输出比特率即目标比特率输出的第二比特流b2,然后通过输出端a2输出第二比特流b2,上述目标比特率低于输入的第一比特流b1的输入比特率。传统转码器50包括一个可变长度解码器51,即图中“VLD”,一个反量化器53,即图中“IQ”,一个量化器55,即图中“Q”,一个可变长度编码器57,即图中“VLC”,和一个速率控制器59。
可变长度解码器51与输入端a1电连接,并且设计为对从输入端a1输入的第一比特流b1中的编码活动图象序列信号进行解码以重建每个图象的初始图象数据,该数据包括一个矩阵,其中含有每个图象的每个宏块的初始量化系数,称为“level”,和初始量化参数,在下文中称为“第一量化参数Q1”。
反量化器53与可变长度解码器51电连接,并且设计为从可变长度解码器51输入初始量化系数level和第一量化参数Q1的矩阵。反量化器53进一步设计为反向量化初始量化系数1evel和第一量化参数Q1的输入矩阵,来产生一个每个宏块的反量化系数矩阵,称为“dequant”,即DCT系数,如下所示:或方程式(a1)用于帧内图象,方程式(a2)用于帧间图象。QM是存储在预定量化表中的量化参数的矩阵。第一量化参数Q1和量化参数矩阵QM来自解码器51输入的第一比特流b1。这里,初始量化系数level、反量化系数dequant、量化参数矩阵QM和第一量化参数Q1是整数。方程式(a1)和(a2)计算出的反量化系数dequant应当向下舍入最接近的值。
量化器55与反量化器53电连接,并且设计为从反量化器53输入反量化系数dequant矩阵,然后用称为“Q2”的第二量化参数量化每个宏块的输入反量化系数dequant矩阵,来产生称为“tlevel”的再量化系数矩阵,如下:或
方程式(a3)用于帧内图象,方程式(a4)用于帧间图象。第二量化参数Q2通过速率控制器59获得。这里,再量化系数tlevel和第二量化参数Q2也是整数。方程式(a3)和(a4)计算出的再量化系数矩阵tlevel应当向下舍入最接近的值。这种舍入取整运算将在以下的描述中省略以避免无味的重复。
可变长度编码器57与量化器55电连接,并且设计为从量化器55输入再量化系数tlevel,然后编码输入的再量化系数tlevel矩阵,产生每个图象的目标图象数据,通过输出端a2以第二比特流b2的形式连续输出目标图象数据。可变长度编码器57进一步与可变长度解码器51电连接,并且设计为从可变长度解码器51输入第一比特流b1中第二比特流b2所必需的各种信息数据。
速率控制器59与反量化器53电连接,并且设计为按照TM-5规范,根据从反量化器53获得的信息如下所述地执行速率控制过程。
参照附图28,示出了按照TM-5规范由传统转码器50执行的速率控制过程的流程图.如图20所示,速率控制过程包括步骤A1至A14。
在步骤A1,“1”被赋予代表第一比特流b1中一幅图象的序列号的图象号变量n。在下文中,第一比特流b1中第n个图象称为“pic(n)”。
在步骤A2,相应类型即I、P或B图象的一幅图象的整体复杂性的测量值按如下所示计算,称为Xi、Xp或Xb:
Xi=Si×Qi …方程式(a5)
或
Xp=Sp×Qp …方程式(a6)
或
Xb=Sb×Qb …方程式(a7)
其中Si、Sp或Sb是一个编码的I、P或B图象产生的比特数,Qi、Qp或Qb是对在I、P或B图象所有宏块量化过程中使用的实际量化值进行平均计算得出的平均量化参数。平均量化参数Qi、Qp和Qb被标准化在1-31的范围。平均量化参数Qi、Qp和Qb分别与从可变长度解码器51获得的第一量化参数Q1相对应。
相应图象的整体复杂性测量值Xi、Xp或Xb与活动图象的压缩率即第二比特流b2的信息量与第一比特流b1的信息量之比成反比。即,当第一比特流b1的信息量变大时,压缩率减少。由于压缩率减少,所以相应图象的整体复杂性测量值Xi、Xp或Xb变大。相反,当压缩率增大时,相应图象的整体复杂性测量值Xi、Xp或Xb变小。
相应图象的整体复杂性测量值Xi、Xp或Xb的初始值按如下所示给出:
Xi=160×Target-bitrate/115 …方程式(a8)
或
Xp=60×Targe-bitrate/115 …方程式(a9)
或
Xb=42×Targe-bitrate/115 …方程式(a10)
其中目标比特率按bits/s计算并且与第一传统转码器50的目标比特率相应。
在下面的步骤A3中,当前图象组中用于编码的相应类型即I、P或B图象的一幅图象的目标比特数,称为Ti、Tp或Tb,按如下计算:或或
其中Np和Nb分别是当前图象组中未编码的P图象和B图象的数目。Kp和Kb分别是在P图象量化值与I图象量化值的比值和B图象量化参数与I图象量化值的比值的基础上计算得出的常数。假定图象质量在Kp=1.0和Kb=1.4时始终最优化。
在下面的步骤A4中,判断图象号变量n是否为1,即当前图象是否为第一图象pic(1)。当图象号变量n为1,即当前图象为第一图象pic(1)时,步骤A4前进到步骤A5。另一方面,当判断图象号变量n不是1,即当前图象不是第一图象时,步骤A4前进到步骤A6。在步骤A5,当前图象组中用于编码图象的可用比特总数,即图象组可用的剩余比特数,在下文中称为R,按照下面的方程式(a14)初始化。
R=Target-bitrate×NPIC/Picture-rate+R …方程式(a14)
其中NPIC是图象组中任何类型的图象总数,图象率用每秒解码的图象数表示。在序列开始时R=0。
在步骤A6,图象组可用的剩余比特数R在编码当前图象pic(n)之前按如下更新:
R=R-Si …方程式(a15)
或
R=R-Sp …方程式(a16)
或
R=R-Sb …方程式(a17)
其中Si、Sp或Sb是相应类型(I、P或B)的前一编码图象pic(n-1)产生的比特数。
步骤A5或步骤A6前进到步骤A7,“1”被赋予一个宏块号变量j(j>=1),表示一个图象中宏块的系列号。在下文中,图象中第j个宏块称为“MB(j)”。
在下面的步骤A8中,在编码宏块MB(j)之前,I、P或B图象的虚拟缓冲器容量的利用量如下计算,称为di(j)、dp(j)或db(j):或或
其中B(j-1)是为图象中包括第(j-1)个宏块MB(j-1)在内的编码宏块产生的比特总数。NMB是图象中的宏块总数。di(j)、dp(j)或db(j)是I、P或B图象第j个宏块MB(j)的虚拟缓冲器容量的利用量。
di(0)、dp(O)或db(0)是I、P或B图象虚拟缓冲器的初始利用量并由下式给出:
di(0)=10×r/31 …方程式(a21)
或
dp(0)=Kp×di(0) …方程式(a22)
或
db(0)=kb×di(0) …方程式(a23)
其中r称为反应参数,用于如下地控制反馈环路的反应速率:
r=2×Targe-bitrate/Picture-rate …方程式(a24)
虚拟缓冲器最后的利用量称为最后的宏块即当前图象pic(n)的第NMB个宏块MB(NMB)的di(NMB)、dp(NMB)或db(NMB),将被作为I、P或B图象虚拟缓冲器的初始利用量,即同样类型的di(0)、dp(0)或db(0)来编码下一图象pic(n+1)的第一宏块MB(1)。
在下面的步骤A9,每个图象的第j个宏块MB(j)的参考量化参数Q(j)在上述虚拟缓冲器的利用量即d(j)的基础上按如下计算:
Q(j)=d(j)×31/r …方程式(a25)
这里,参考量化参数Q(j)与上述第j个宏块MB(j)的第二量化参数Q2相同。
在下面的步骤A10,第j个宏块MB(j)用步骤A9中计算出的参考量化参数Q(j)进行量化。在下面的步骤A11,宏块号变量j加1。步骤A11前进到步骤A12,判断宏块号变量j是否超过第n个图象pic(n)的宏块NMB总数。当判断宏块号变量j不超过第n个图象pic(n)的宏块NMB总数时,步骤A12返回步骤A8。另一方面,当判断宏块号变量j超过第n个图象pic(n)的宏块NMB总数时,步骤A12前进到步骤A13。
宏块数变量j作为一个循环系数使步骤A8与A11之间重复地进行,对从第一号宏块MB(1)到第j号宏块MB(j)之间的所有宏块进行编码。这样,当前图像pic(n)内从第一号宏块MB(1)开始到第NMB号宏块MB(NMB)之间的所有宏块都被顺序编码。
在步骤A13,图象号变量n加1。然后步骤A13前进到步骤A14,判断图象号变量n是否超过图象总数,即NPIC。当判断图象号变量n不超过图象总数NPIC时,步骤A14返回步骤A2。另一方面,当判断图象号变量n超过图象总数NPIC时,速率控制过程程序终止。这样,图象号变量n作为重复A2到A13的环路计数器,以便处理当前图象组从第一个图象pic(1)到第n的图象pic(n)的所有图象。因此,当前图象组从第一个图象pic(1)开始直到第NPICG个图象pic(NPIC)的整个图象能够连续处理。
但是,上述传统转码器50没有图象组的结构信息,比如图象组的I或P图象的图象周期,所以转码器50必须估算输入活动图象序列信号图象组的结构以便于根据估算的图象组结构来分配每种类型图象的比特数。
进一步,为了得到必需的数据将第一比特流b1转码为第二比特流b2,要求第一传统转码器50解码第一比特流b1的几乎所有层,比如序列层、图象组层、图象层、条层、宏块层。该操作花费时间,因此造成转码过程中的延时。
参照附图29,示出了上述转码器50的改进装置作为第二传统转码器60。第二传统转码器60不估算图象组的结构而执行速率控制。如附图29所示,除了与附图27所示的传统转码器50相同的第一可变长度解码器51、反量化器53、量化器55和可变长度编码器57之外,第二传统转码器60还包括一个延时电路61和速率控制器62。同样的组成成分采用与传统转码器50中相同的参考号表示,并且省略描述以避免无味的重复。
延时电路61介于可变长度解码器51和反量化器53之间,并且设计为控制从可变长度解码器51到反量化器53的信号流。延时电路61用于延时反量化器53的操作开始时间,从而使反量化器53在可变长度解码器51终止编码活动图象序列信号的图象之一的解码过程时才开始反量化过程。
如附图29所示,第二传统转码器60的速率控制器62包括一个目标比计算单元63、一个输入比特求和单元65、一个比特差计算单元67、一个目标输出比特更新单元69和一个量化参数计算单元71。
目标比计算单元63与可变长度解码器51电连接,并且设计为从可变长度解码器51输入一个第一比特流b1的输入比特率,在下文中称为“Input_Bitrate”,和从a3端输入一个目标比特率,在下文中称为“Target_Bitrate”。目标比特率Target Bitrate可以选择存储在内部存储器中或由内部开关决定。然后,目标比计算单元63设计为计算目标比,在下文中称为每个图象的目标比特率Target_Bitrate与输入比特率Input_Bitrate的比“ioRatio”,如下:
输入比特求和单元65设计为将可变长度解码器51解码的图象的输入比特数相加,产生输入比特总数,在下文中称为“Tin”。另一方面,目标输出比特更新单元69设计为计算可变长度编码器57产生的输出比特目标数,在下文中称为“Tout”。输出比特目标数Tout由目标比ioRatio乘输入比特总数Tin计算得出,如下:
Tout=Tin×ioRatio …方程式(a27)
比特差计算单元67与可变长度编码器57和目标输出比特更新单元69电连接、并设计为输入一个可变长度编码器57编码的实际输出比特数,在下文中称为“Treal”,和输入输出比特目标数Tout。然后比特差计算单元67设计为计算输出比特目标数Tout与实际输出比特数Treal间的差值,在下文中称为“比特差数”,即“Tdiff”,如下:
Tdiff=Treal-Tout …方程式(a28)
目标输出比特更新单元69与目标比计算单元63、输入比特求和单元65和比特差计算单元67电连接。目标输出比特更新单元69设计为根据比特差数Tdiff如下更新输出比特目标数Tout:
Tout=Tout-Tdiff …方程式(a29)
量化参数计算单元71与目标输出比特更新单元69电连接,并设计为按照TM-5的步骤II在目标输出比特更新单元69更新的输出比特目标数Tout的基础上计算每个宏块MB(j)的参考量化参数Q(j)。
图30示出了上述传统转码器60执行的速率控制过程的流程图。在传统转码器60中执行的速率控制过程包括步骤B1到B13。步骤B6到B13分别与图20所示的速率控制过程中的步骤A7到A14几乎相同,除了步骤B7,其中的虚拟缓冲器容量的利用量是在目标输出比特更新单元69给出的输出比特目标数Tout的基础上计算的,而不是图20所示的步骤A3中计算的比特目标数Ti、Tp或Tb。这样,同样的步骤将省略描述以避免无味的重复。
在步骤B1,“1”被赋予图象号变量n。然后步骤B1前进到步骤B2,目标比ioRatio按上述方程式(a26)计算。在下面的步骤B3,比特差数Tdiff按上述方程式(a28)计算当前图象pic(n)。然后步骤B3前进到步骤B4,对第一比特流b1的输入比特数Tin求和。在步骤B5,输出比特目标数Tout按上述方程式(a27)计算,并进一步按上述方程式(a29)更新。
但是,在这样构成的第二传统转码器60中,反量化器53直到目标转码帧被解码完成时才能开始反量化过程,因此造成转码过程中的延时。
参照图32和33,示出上述转码器50的另一个改进装置作为第三传统转码器80。第三传统转码器80也适于不估算图象组结构执行速率控制。如图31所示,第三传统转码器80包括一个输入端a1与第一传输通道电连接,并设计为以输入比特率输入一个输入比特流b3,和一个输出端a2与第二传输通道电连接,并设计为以目标比特率输出一个输出比特流b4。在第三传统转码器80中,输入比特流b3可以具有不适用于MPEG-2的与第一和第二传统转码器50和60的比特流b1不同的格式。输入比特流b3具有编码器先前记录在编码比特数上的信息,未示出。
除了与附图29所示的第二传统转码器60相同的反量化器53、量化器55和可变长度编码器57之外,第三传统转码器80还包括与输入端a1电连接的可变长度解码器81,和速率控制器82。除了与附图29所示的第二传统转码器60相同的目标比计算单元63和比特差计算单元67之外,速率控制器82还包括一个目标输出比特更新单元83,和一个量化参数计算单元85。
这样构成的第三传统转码器80能够在先前记录在输入比特流b3中的编码比特数上的信息的基础上执行速率控制。可变长度解码器81解码第三比特流b3中的编码活动图象序列信号来重建图象和编码比特数上的信息,并且向反量化器53发送该信息。可变长度解码器81也向目标输出比特更新单元83发送输入比特数Tin。
输出比特更新单元83设计为在输入比特数Tin和上述方程式(a26)的目标比ioRatio的基础上计算输出比特目标数Tout。量化参数计算单元85设计为按照TM-5的步骤II在输出比特更新单元83更新的输出比特目标数Tout的基础上计算每个图象宏块MB(j)的参考量化参数Q(j)。然后量化器55在量化参数计算单元85给出的参考量化参数Q(j)的基础上量化第j个宏块MB(j)。
附图32示出了由上述第三传统转码器80执行的速率控制过程的流程图。在第三传统转码器80中执行的速率控制过程包括步骤C1到C13。所有的步骤C1到C13分别与附图30中所示的速率控制过程的步骤B1到B13几乎相同,除了步骤C4,其中的当前图象pic(c)的输入比特数Tin是从解码器81的第三比特流b3得出来计算输入比特总数Tin。
这样构成的第三传统转码器80具有先前记录在第三比特流b3中的编码比特数上的信息,从而能够解决第二传统转码器60中的延时问题。但是第三传统转码器80面临着另一个限制输入比特流形式的问题。进一步,与第三传统转码器80连接的编码器必须具备上述记录在比特流中的编码比特数上的信息,从而造成编码器中处理的延时。
在任何一个传统转码器50、60和80中,反量化系数矩阵dequant仅对量化器55是必需的,但对转码器本身产生期望的比特流是不必要的。为了消除反量化系数矩阵dequant的冗余度,提出了第四传统转码器90,如图33所示,包括一个级转换器91,代替了转码器50的反量化器53和量化器55。
级转换器91介于可变长度解码器51和可变长度编码器57之间。级转换器91设计为为输入每个图象的初始图象数据。初始图象数据包括相应图象的每个宏块的初始量化系数矩阵level。级转换器91与速率控制器59电连接,并设计为从速率控制器59输入第二量化参数Q2。
级转换器91进一步设计为将包括初始量化系数矩阵level的每个图象的输入初始图象数据转换为包括再量化系数矩阵tlevel的目标图象数据,而不产生反量化系数矩阵dequant。下面的再量化系数矩阵tlevel的方程式(30a)和(31a)是从上述方程式(a1)、(a2)、(a3)和(a4)中消除反量化系数矩阵dequant导出的。或
方程式(30a)用于间图象,方程式(31a)用于内图象。这样,级转换器91用第一量化参数Q1和第二量化参数Q2将每个图象的初始图象数据转换为第二图象数据。第一量化参数Q1是由可变长度解码器51从第一比特流b1解码得出,第二量化参数Q2由速率控制器59获得。
在第四传统转码器90中,速率控制器59设计为按照TM-5在转码器90的编码过程中执行速率控制。可变长度编码器57与级转换器91电连接,并从级转换器91输入上述再量化系数矩阵tlevel。
这样构成的第四传统转码器90能够无须在存储器中存储反量化系数矩阵dequant而高速有效地执行转码过程。
但是,上述传统转码器50、60、80和90面临着另一个在转换量化level中速率失真性能的问题。简而言之,在转换量化level中速率失真性能不稳定,并随第一和第二量化参数及初始量化参数级level而变化。因此,当减少的信息量增大时,量化误差由有增大的倾向。
本申请的申请人提交了H11-278867的专利申请。
在H11-278867的专利申请中,申请人公开了一种转码编码活动图象序列信号的装置、方法和计算机程序产品,考虑到由量化参数和反量化参数决定的速率失真性能的特性,在反量化参数和先前计算的量化参数的基础上,可以计算最优化的量化参数。
在上述H11-278867的专利申请中公开的、包括执行反量化操作的反量化器和执行量化操作的量化器的转码器,其特点在于该量化器进一步包括量化参数开关装置,用于在考虑到由输入量化参数决定的速率失真性能的特性时转换量化参数,从而使转码器能够在初始量化系数矩阵转换为再量化系数矩阵时减少量化误差的发生。
已经提供有例如数据分割和SNR可升级的为防止图象质量恶化的方法,将传送图象信息的图象信号分成两个分离的图象信号,包括表示基本图象信息的基层图象信号和表示高质量图象信息的增强层图象信号。
数据分割更详细地是一种将传送图象信息的比特流分成两个分离的比特流的方法,其中包括表示低频DCT系数的基层比特流和表示高频DCT系数的增强层比特流,并且这样分割的基层比特流和增强层比特流在解码前重新结合。初始图象信息能够在表示低频DCT系数的基层比特流的基础上粗略地解码和重建,但不能仅在表示高频DCT系数的增强层比特流的基础上。高质量的初始图象信息能够在表示低频DCT系数的基层比特流和表示高频DCT系数的增强层比特流的基础上解码和重建。
SNR可升级是一种在编码前将包含图象信息的图象信号分成两个分离的图象信号的方法,其中包括表示低SNR图象的基层图象信号和表示高SNR图象的增强层图象信号。SNR可升级方法详细描述如下。初始图象信号具有初始DCT系数。量化器用于粗略地量化表示低SNR图象的基层比特图象信号来产生低SNR比特流。反量化器用于反量化这样产生的低SNR比特流来粗略地重建DCT系数。然后,提取初始DCT系数和重建DCT系数间的差值并量化来产生增强层图象信号。这样产生的增强层图象信号作为附加信息与基层图象信号(低SNR信号)结合来重建高SNR信号。
但是,上述的方法面临着降低业务质量的问题,即QoS。上述转码过程是不可逆的。通常,转码器用于解码和反量化输入比特流的DCT系数,并用大于初始量化参数的再量化参数再量化反量化的DCT系数来减少比特量。这意味着输入比特流的QoS不能重建。
数据分割用于在编码前将比特流分成两个分离的比特流,其中包括表示低频DCT系数的基层比特流和表示高频DCT系数的增强层比特流。但是,没有提供适合将不是分级结构的MPEG-2 MP@ML比特流分成基层比特流和增强层比特流的方法。更进一步,虽然数据分割用于在编码前将比特流分成基层比特流和增强层比特流,但是适合MP@ML的解码器不能解码这样分割的基层比特流和增强层比特流。这导致要求数据分割专用的解码器代替适合MP@ML的解码器。按照数据分割的句法,确定低频系数和高频系数的界线的代码被定义为“优先分隔点”,使解码器能够从高频系数中判别低频系数。在另一方面,适合MP@ML的解码器不能识别“优先分隔点”。表示低频系数的比特流不包括EOB码,从而使MP@ML解码器不能重建表示低频系数的比特流。
与数据分割相同,SNR可升级用于在编码前将比特流分成两个分离的比特流,其中包括表示低SNR信号的基层比特流和表示高SNR信号的增强层比特流。适合MP@ML的编码器不能将比特流分成表示低SNR信号的基层比特流和表示高SNR信号的增强层比特流并对这样分割的基层比特流和增强层比特流进行编码。适合MP@ML的解码器也不能解码基层比特流和增强层比特流。这导致要求SNR可升级专用的编码器和解码器代替适合MP@ML的编码器和解码器。
更进一步,基层比特流和增强层比特流要求被并行处理,从而使得设计这样的适合SNR可升级编码器和解码器变得复杂困难。此外适合SNR可升级解码器用于接收基层比特流和增强层比特流来重建和输出初始图象信号,但不是以比特流的形式。这意味着如果要求是比特流的形式,这样重建和输出的图象信号必须再转码。
上述数据分割和SNR可升级操作要求各自专用的编码器和解码器,这归因于各自的解码器和编码器可有效地执行将比特流分成基层比特流和增强层比特流的处理和再结合基层比特流和增强层比特流重建初始比特流的处理。
为了解决上述问题,本发明建议一种转码第一编码活动图象序列信号的装置、方法和计算机程序产品,以分离产生一个第二编码活动图象序列信号和一个表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号,并且合并第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号。这样构成的装置、方法和计算机程序产品使用户能够以低于初始MPEG-2比特流的比特率接收转码的MPEG-2比特流来重建低质量图象信息,并且随后接收差值比特流与先前接收的转码MPEG-2比特流相结合重建高质量图象信息。
更进一步,这样构成的装置、方法和计算机程序产品使用户能够无须任何附加设备就能够解码和转码MPEG-2比特流,而不象上述可升级和数据分割方法。
因此,本发明的一个目的是提供一种将第一编码活动图象序列信号转码分离产生一个第二编码活动图象序列信号和一个表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号的装置。
本发明的另一个目的是提供一种将第一编码活动图象序列信号转码分离产生一个第二编码活动图象序列信号和一个表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号的方法。
本发明进一步的目的是提供一种将第一编码活动图象序列信号转码分离产生一个第二编码活动图象序列信号和一个表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号的计算机程序产品。
本发明还进一步的目的是提供一种合并第二编码活动图象序列信号和表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号来重建第一编码活动图象序列信号的装置。
本发明更进一步的目的是提供一种合并第二编码活动图象序列信号和表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号来重建第一编码活动图象序列信号的方法。
本发明进一步的目的是提供一种合并第二编码活动图象序列信号和表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号来重建第一编码活动图象序列信号的计算机程序产品。
按照本发明的第一个方面,提供一种编码信号分离装置,用于转码第一编码活动图象序列信号产生第二编码活动图象序列信号和表示第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号,包括输入第一编码活动图象序列信号的输入装置,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括第一系数矩阵;从输入装置输入第一编码活动图象序列信号的编码信号转换装置,转换从输入装置输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,第二系数信息包括第二系数矩阵,每个初始活动图象序列信号、第一编码活动图象序列信号和第二编码活动图象序列信号都是分级结构形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和从编码信号转换装置输入第一编码活动图象序列信号和第二编码活动图象序列信号以产生差值编码活动图象序列信号的差值编码信号产生装置,该差值编码信号产生装置在由第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和由第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号。
在上述编码信号分离装置中,差值编码信号产生装置可以以分级结构的形式产生差值编码活动图象序列信号。
在上述编码信号分离装置中,第二系数信息包括由0系数组成的0系数信息和由非0系数组成的非0系数信息,第一系数信息包括由编码信号转换装置转换为0系数的0换算第一系数组成的0换算第一系数信息和由编码信号转换装置转换为非0系数的非0换算第一系数组成的非0换算第一系数信息。差值编码信号产生装置可以包括:一个从编码信号转换装置输入第一系数信息和第二系数信息的系数信息分离单元,以分别从非0换算第一系数信息和第二非0系数信息中分离出0换算第一系数信息和第二0系数信息;一个从系数信息分离单元输入0换算第一系数信息的0系数编码单元,以提取0换算第一系数信息和第二0系数信息之间的差值信息来产生差值0系数信息;一个从系数信息分离单元输入非0换算第一系数信息和非0系数信息的非0系数编码单元,以提取非0换算第一系数信息和第二非0系数信息之间的差值信息来产生差值非0系数信息。
在上述编码信号分离装置中,非0系数编码单元可以在非0换算第一系数信息的第一系数值和第二非0系数信息的第二系数值的基础上产生差值非0系数信息。
在上述编码信号分离装置中,编码信号转换装置可以从第一编码活动图象序列信号中获得用于量化包含在初始编码活动图象序列信号中的每个宏块的第一宏块量化参数来产生包含在第一编码活动图象序列信号中的宏块,和从第二编码活动图象序列信号中获得用于反量化包含在第二编码活动图象序列信号中的每个宏块的第二宏块量化参数。非0系数编码单元可以从编码信号转换装置输入第一宏块量化参数和第二宏块量化参数,在第二宏块量化参数与第一宏块量化参数的比值和第二非0系数信息的基础上计算非0换算第一系数信息和估算非0换算第一系数信息间的预测误差。
在上述编码信号分离装置中,0系数编码单元可以Z字形方式扫描0换算第一系数信息来产生包括run和level组合的差值0系数信息,run是连续0值系数的数值,level是被连续0值系数紧随的非0值系数值,由此,0系数编码单元能够消除0换算第一系数信息中的0系数来压缩差值0系数信息的信息量。
在上述编码信号分离装置中,宏块层包括由编码块和非编码块组成的块和表示在宏块层中各编码块和非编码块位置的编码块模式。差值编码信号产生装置可以配备有编码块模式产生单元,用于产生第一编码活动图象序列信号的编码块模式和第二编码活动图象序列信号的编码块模式之间的差值编码块模式。
在上述编码信号分离装置中,编码块模式产生单元可以产生差值CBP数值串,每个表示第一编码活动图象序列信号宏块层的编码块和非编码块相对于第二编码活动图象序列信号宏块层的非编码块的位置。
在上述编码信号分离装置中,宏块层包含宏块属性信息,信息中包括表示宏块位置的宏块地址,和表示需跳过的宏块地址数的宏块地址增量,即MBAI。差值编码信号产生装置可以包括:差值宏块编码单元,用于从编码信号转换装置输入第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块来产生差值编码活动图象序列信号的宏块,该差值编码活动图象序列信号的宏块是第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块之间相对于各宏块地址的差值,从而消除第一编码活动图象序列信号和第二编码活动图象序列信号间相对于各宏块地址的没有变化的宏块;和一个MBAI编码单元,用于产生差值编码活动图象序列信号的宏块属性信息的MBAI,差值编码活动图象序列信号的MBAI表示差值宏块编码单元消除的宏块相对于差值宏块编码单元产生的差值编码活动图象序列信号宏块的宏块地址数,所以差值编码活动图象序列信号的宏块相对于各宏块地址响应第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块。
在上述编码信号分离装置中,编码信号转换装置可以用于根据第一宏块量化参数反量化包含在第一编码活动图象序列信号中的每个宏块来重建初始活动图象序列信号,和根据第二宏块量化参数量化重建的初始活动图象序列信号的每个宏块来产生第二编码活动图象序列信号;并且差值编码信号产生装置可以包括宏块量化参数重建信息产生单元,产生用于重建第一宏块量化参数的宏块量化参数重建信息。
在上述的编码信号分离装置中,编码信号转换装置在第一宏块量化参数与第二宏块量化参数之比的基础上转换包含在第一编码活动图象序列信号中的每个宏块来产生第二编码活动图象序列信号;并且差值编码信号产生装置包括一个宏块量化参数重建信息产生单元,产生用于重建第一宏块量化参数的宏块量化参数重建信息。
在上述编码信号分离装置中,宏块量化参数重建信息产生单元可以在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数的基础上产生宏块量化参数重建信息。
在上述编码信号分离装置中,宏块量化参数重建信息产生单元可以用于在第一量化参数导出常数和先前产生的差值编码活动图象序列信号宏块的宏块量化参数重建信息之间的差值的基础上产生宏块量化参数重建信息。
在上述编码信号分离装置中,编码信号转换装置可以根据用于包含在初始活动图象序列信号条层中的每个宏块的量化的第一条量化参数,反量化包含在第一编码活动图象序列信号条层中的每个宏块,来重建初始活动图象序列信号,和根据用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化的第二条量化参数,量化重建的初始活动图象序列信号条层中的每个宏块,来产生第二编码活动图象序列信号;并且差值编码信号产生装置可以包括一个条量化参数重建信息产生单元,产生用于重建第一条量化参数的条量化参数重建信息。
在上述编码信号分离装置中,编码信号转换装置可以在第一条量化参数与第二条量化参数之比的基础上转换包含在第一编码活动图象序列信号条层中的每个宏块来产生第二编码活动图象序列信号;并且差值编码信号产生装置可以包括一个条量化参数重建信息产生单元,产生用于重建第一条量化参数的条量化参数重建信息。
在上述编码信号分离装置中,条量化参数重建信息产生单元可以在用于从第二条量化参数重建第一条量化参数的第一条量化参数导出常数的基础上产生条量化参数重建信息。
在上述编码信号分离装置中,差值编码信号产生装置可以配备有VBV-Delay附加单元,用于从第一编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在差值编码活动图象序列信号上。
在上述编码信号分离装置中,可变长度编码按照各表分配给各差值0系数信息和各差值非0系数信息,差值编码信号产生装置可以配备有可变长度编码表选择单元,用于响应第一条量化参数导出常数切换该表;和一个可变长度编码单元,用于按照由可变长度编码表选择单元切换的表对差值0系数信息和差值非0系数信息分配可变长度编码。
在上述编码信号分离装置中,差值编码信号产生装置可以在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数和预测误差的基础上计算分配给预测误差的可变长度编码。
在上述编码信号分离装置中,差值编码信号产生装置可以配备有:一个run编码单元,用于按照考虑到发生频率的一个run表给run分配可变长度编码;和一个level编码单元,用于按照考虑到发生频率的一个level表给level分配可变长度编码。
在上述编码信号分离装置中,每个宏块包括由亮度块和色差块组成的块,由差值亮度CBP数值串和差值色差CBP数值串组成的差值CBP数值串,每个差值亮度CBP数值串表示第一编码活动图象序列信号各宏块层中的编码亮度块和非编码亮度块相对于第二编码活动图象序列信号各宏块层中的非编码亮度块的位置,每个差值色差CBP数值串表示第一编码活动图象序列信号各宏块层中的编码色差块和非编码色差块相对于第二编码活动图象序列信号各宏块层中的非编码色差块的位置。编码块模式产生单元可以进一步配备:一个多余块计数部分,用于计算第二编码活动图象序列信号宏块中的多余亮度块数和多余色差块数;一个差值亮度CBP编码部分,用于按照亮度可变长度编码表分配差值亮度CBP数值串给可变长度编码;和一个差值色差CBP编码部分,用于按照色差可变长度编码表给差值色差CBP数值串分配可变长度编码。差值亮度CBP编码部分可以响应多余块计数部分计算的多余亮度块数切换可变长度编码亮度表,并且差值色差CBP编码部分可以响应多余块计数部分计算的多余色差块数切换色差可变长度编码表。
在上述编码信号分离装置中,宏块量化参数重建信息产生单元可以用于按照宏块量化参数重建信息的绝对值计算分配给宏块量化参数重建信息的可变长度编码。
按照本发明的第二个方面,提供一种输入第一编码活动图象序列信号和第二编码活动图象序列信号产生差值编码活动图象序列信号的差值编码信号产生装置,第二编码活动图象序列信号作为转码第一编码活动图象序列信号的结果而产生,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括:输入第一编码活动图象序列信号的第一编码信号输入装置,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;输入第二编码活动图象序列信号的第二编码信号输入装置,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,第二系数信息包括一个第二系数矩阵;和输入第一编码信号输入装置的第一编码活动图象序列信号和第二编码信号输入装置的第二编码活动图象序列信号以产生差值编码活动图象序列信号的差值编码信号产生装置,其中差值编码信号产生装置用于在从第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号。
按照本发明的第三个方面,提供一种编码信号合并装置,用于输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括:输入第二编码活动图象序列信号的第二编码信号输入装置,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,并且作为转码第一编码活动图象序列信号的结果而产生,第二系数信息包括一个第二系数矩阵,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;输入差值编码活动图象序列信号的差值编码信号输入装置,差值编码活动图象序列信号包括第一系数信息和第二系数信息间的差值系数信息,每个初始活动图象序列信号、第一编码活动图象序列信号、第二编码活动图象序列信号和差值编码活动图象序列信号都是分级结构的形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和第一编码信号合并装置,用于从第二编码信号输入装置输入第二编码活动图象序列信号并从差值编码信号输入装置输入差值编码活动图象序列信号来重建第一编码活动图象序列信号,其中第一编码信号合并装置用于在从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息和从差值编码信号输入装置获得的差值系数信息的基础上重建第一编码活动图象序列信号。
在上述编码信号合并装置中,第二系数信息可以包括由0系数组成的第二0系数信息和由非0系数组成的第二非0系数信息,第一系数信息包括0换算第一系数信息,由要换算为0系数的0换算第一系数组成,和非0换算第一系数信息,由要换算为非0系数的非0换算第一系数组成。第一编码信号合并装置可以配备有:0换算第一系数信息产生单元,用于在第二编码活动图象序列信号的第二0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建0换算第一系数;非0换算第一系数信息产生单元,用于在第二编码活动图象序列信号的第二非0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建非0换算第一系数;和第一系数信息合并单元,用于合并由0换算第一系数信息产生单元重建的0换算第一系数信息和由非0换算第一系数信息产生单元重建的非0换算第一系数信息,来重建第一系数信息。
在上述编码信号合并装置中,第一编码活动图象序列信号和第二编码活动图象序列信号的每个宏块层包括由编码块和非编码块组成的块,和表示在宏块层中各编码块和非编码块位置的编码块模式,差值编码活动图象序列信号的每个宏块层包括一个差值编码块模式,是第一编码活动图象序列信号和第二编码活动图象序列信号的各宏块层的编码块模式间的差值,第一系数信息合并单元配备有编码块模式重建部分,用于在差值编码活动图象序列信号的差值编码块模式的基础上重建第一编码活动图象序列信号宏块层的编码块模式。
在上述编码信号合并装置中,第一编码活动图象序列信号可以包括第一宏块量化参数,用于包含在初始活动图象序列信号中的每个宏块的量化,第二编码活动图象序列信号可以包括第二宏块量化参数,用于包含在第二编码活动图象序列信号中的每个宏块的反量化,第一系数信息合并单元配备有宏块量化参数重建信息重建部分,可重建用于从差值编码活动图象序列信号重建第一宏块量化参数的第一宏块量化参数重建信息来重建第一宏块量化参数。
在上述编码信号合并装置中,第一编码活动图象序列信号可以包括第一条量化参数,用于包含在初始活动图象序列信号条层中的每个宏块的量化,第二编码活动图象序列信号包括第二条量化参数,用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化,第一系数信息合并单元配备有条量化参数重建信息重建部分,可重建用于从差值编码活动图象序列信号重建第一条量化参数的第一条量化参数重建信息来重建第一条量化参数。
在上述编码信号合并装置中,第一系数信息合并单元可配备有VBV-Delay附加单元,用于从差值编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在第一编码活动图象序列信号上。
按照本发明的第四个方面,提供一种编码信号分离和合并装置,包括:编码信号分离装置,用于转码第一编码活动图象序列信号来产生第二编码活动图象序列信号和第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号;和编码信号合并装置,用于输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号。编码信号分离装置可以包括:输入第一编码活动图象序列信号的输入单元;从输入单元输入第一编码活动图象序列信号的编码信号转换单元,转换从输入装置输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号;和从编码信号转换单元输入第一编码活动图象序列信号和第二编码活动图象序列信号以产生差值编码活动图象序列信号的差值编码信号产生单元;输出由编码信号转换单元产生的第二编码活动图象序列信号的第二编码信号输出单元;和输出由差值编码信号产生单元产生的差值编码活动图象序列信号的差值编码信号输出单元。编码信号合并装置可以包括:输入第二编码活动图象序列信号的第二编码信号输入单元;输入差值编码活动图象序列信号的差值编码信号输入单元;第一编码信号合并单元,用于从第二编码信号输入单元输入第二编码活动图象序列信号并从差值编码信号输入单元输入差值编码活动图象序列信号来重建第一编码活动图象序列信号;和第一编码信号输出单元,用于输出由第一编码信号合并单元重建的第一编码活动图象序列信号。
按照本发明的第五个方面,提供一种编码信号分离方法,转码第一编码活动图象序列信号来产生第二编码活动图象序列信号和第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号,包括步骤:(a)输入第一编码活动图象序列信号,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括第一系数矩阵;(b)转换从步骤(a)输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,第二系数信息包括第二系数矩阵,每个初始活动图象序列信号、第一编码活动图象序列信号和第二编码活动图象序列信号都是分级结构形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和(c)响应由步骤(b)输入的第一编码活动图象序列信号和第二编码活动图象序列信号以产生差值编码活动图象序列信号,其中步骤(c)具有在由第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和由第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号的步骤。
在上述的编码信号分离方法中,步骤(c)可以具有以分级结构的形式产生差值编码活动图象序列信号的步骤。
在上述的编码信号分离方法中,第二系数信息包括由0系数组成的第二0系数信息和由非0系数组成的第二非0系数信息,第一系数信息包括由步骤(b)中要转换为0系数的0换算第一系数组成的0换算第一系数信息,和由步骤(b)中要转换为非0系数的非0换算第一系数组成的非0换算第一系数信息。步骤(c)可以进一步包括步骤:(c1)分别从非0换算第一系数信息和第二非0系数信息中分离出0换算第一系数信息和第二0系数信息;(c2)提取步骤(c1)中分离的0换算第一系数信息和第二0系数信息之间的差值信息来产生差值0系数信息;和(c3)提取步骤(c1)中分离的非0换算第一系数信息和第二非0系数信息之间的差值信息来产生差值非0系数信息。
在上述的编码信号分离方法中,步骤(c3)可以具有在非0换算第一系数信息的第一系数值和第二非0系数信息的第二系数值的基础上产生差值非0系数信息的步骤。
在上述的编码信号分离方法中,步骤(b)可以具有以下步骤:从第一编码活动图象序列信号中获得用于包含在初始编码活动图象序列信号中的每个宏块的量化的第一宏块量化参数,来产生包含在第一编码活动图象序列信号中的宏块,和从第二编码活动图象序列信号中获得用于包含在第二编码活动图象序列信号中的每个宏块的反量化的第二宏块量化参数,其中步骤(c3)具有在第二宏块量化参数与第一宏块量化参数的比值和第二非0系数信息的基础上计算非0换算第一系数信息和估算非0换算第一系数信息间的预测误差的步骤。
在上述的编码信号分离方法中,步骤(c2)具有以Z字形方式扫描0换算第一系数信息来产生包括run和level组合的差值0系数信息的步骤,run是连续0值系数的数值,level是被连续0值系数紧随的非0值系数值,其中步骤(c2)具有消除0换算第一系数信息中的0系数来压缩差值0系数信息的信息量的步骤。
在上述的编码信号分离方法中,宏块层包括由编码块和非编码块组成的块,和表示在宏块层中各编码块和非编码块位置的编码块模式。步骤(c)进一步包括产生第一编码活动图象序列信号的编码块模式和第二编码活动图象序列信号的编码块模式之间的差值编码块模式的步骤(c4)。
在上述的编码信号分离方法中,步骤(c4)具有产生差值CBP数值串的步骤,每个表示第一编码活动图象序列信号宏块层的编码块和非编码块相对于第二编码活动图象序列信号宏块层的非编码块的位置。
在上述的编码信号分离方法中,宏块层包含宏块属性信息,信息中包括表示宏块位置的宏块地址,和表示需跳过的宏块地址数的宏块地址增量,即MBAI。步骤(c)进一步包括步骤:(c5)产生差值编码活动图象序列信号的宏块,它是第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块之间相对于各宏块地址的差值,从而消除第一编码活动图象序列信号和第二编码活动图象序列信号间相对于各宏块地址的没有变化的宏块;和(c6)产生差值编码活动图象序列信号的宏块属性信息的MBAI,差值编码活动图象序列信号的MBAI表示步骤(c5)中消除的宏块相对于步骤(c5)中产生的差值编码活动图象序列信号宏块的宏块地址数,所以差值编码活动图象序列信号的宏块相对于各宏块地址响应第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块。
在上述的编码信号分离方法中,步骤(b)具有以下步骤:根据第一宏块量化参数反量化包含在第一编码活动图象序列信号中的每个宏块来重建初始活动图象序列信号,和根据第二宏块量化参数量化重建的初始活动图象序列信号的每个宏块来产生第二编码活动图象序列信号。步骤(c)包括产生用于重建第一宏块量化参数的宏块量化参数重建信息的步骤(c7)。
在上述的编码信号分离方法中,步骤(b)具有以下步骤:在第一宏块量化参数与第二宏块量化参数之比的基础上转换包含在第一编码活动图象序列信号中的各宏块来产生第二编码活动图象序列信号。步骤(c)包括产生用于重建第一宏块量化参数的宏块量化参数重建信息的步骤(c7)。
在上述的编码信号分离方法中,步骤(c7)具有以下步骤:在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数的基础上产生宏块量化参数重建信息。
在上述的编码信号分离方法中,步骤(c7)具有以下步骤:在第一量化参数导出常数和先前产生的差值编码活动图象序列信号宏块的宏块量化参数重建信息之间的差值的基础上产生宏块量化参数重建信息。
在上述的编码信号分离方法中,步骤(b)具有以下步骤:根据用于包含在初始活动图象序列信号条层中的每个宏块的量化的第一条量化参数,反量化包含在第一编码活动图象序列信号条层中的每个宏块,来重建初始活动图象序列信号,和根据用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化的第二条量化参数,量化重建的初始活动图象序列信号条层中的每个宏块,来产生第二编码活动图象序列信号;并且步骤(c)进一步包括产生用于重建第一条量化参数的条量化参数重建信息的步骤(c8)。
在上述的编码信号分离方法中,步骤(b)具有以下步骤:在第一条量化参数与第二条量化参数之比的基础上转换包含在第一编码活动图象序列信号条层中的每个宏块来产生第二编码活动图象序列信号;并且步骤(c)进一步包括产生用于重建第一条量化参数的条量化参数重建信息的步骤(c8)。
在上述的编码信号分离方法中,步骤(c8)具有以下步骤:在用于从第二条量化参数重建第一条量化参数的第一条量化参数导出常数的基础上产生条量化参数重建信息。
在上述的编码信号分离方法中,步骤(c)包括从第一编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在差值编码活动图象序列信号上的步骤(c9)。
在上述的编码信号分离方法中,可变长度编码按照各表分配给各差值0系数信息和各差值非0系数信息,步骤(c)进一步包括步骤:(c10)响应第一条量化参数导出常数切换该表;和(c11)按照步骤(c10)中切换的表对差值0系数信息和差值非0系数信息分配可变长度编码。
在上述的编码信号分离方法中,步骤(c)具有以下步骤:在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数和预测误差的基础上计算分配给预测误差的可变长度编码。
在上述的编码信号分离方法中,步骤(c)进一步包括步骤:(c12)按照考虑到发生频率的一个run表给run分配可变长度编码;和(c13)按照考虑到发生频率的一个level表给level分配可变长度编码。
在上述的编码信号分离方法中,每个宏块包括由亮度块和色差块组成的块,由差值亮度CBP数值串和差值色差CBP数值串组成的差值CBP数值串,每个差值亮度CBP数值串表示第一编码活动图象序列信号各宏块层中的编码亮度块和非编码亮度块相对于第二编码活动图象序列信号各宏块层中的非编码亮度块的位置,每个差值色差CBP数值串表示第一编码活动图象序列信号各宏块层中的编码色差块和非编码色差块相对于第二编码活动图象序列信号各宏块层中的非编码色差块的位置。步骤(c4)进一步包括:(c41)计算第二编码活动图象序列信号宏块中的多余亮度块数和多余色差块数;(c42)按照亮度可变长度编码表给差值亮度CBP数值串分配可变长度编码;和(c43)按照色差可变长度编码表给差值色差CBP数值串分配可变长度编码,其中步骤(c42)具有响应步骤(c41)中计算的多余亮度块数切换可变长度编码亮度表的步骤,并且步骤(c43)具有响应步骤(c41)中计算的多余色差块数切换色差可变长度编码表的步骤。
在上述的编码信号分离方法中,步骤(c7)包括按照宏块量化参数重建信息的绝对值计算分配给宏块量化参数重建信息的可变长度编码的步骤。
按照本发明的第六个方面,提供一种输入第一编码活动图象序列信号和第二编码活动图象序列信号产生差值编码活动图象序列信号的差值编码信号产生方法,第二编码活动图象序列信号作为转码第一编码活动图象序列信号的结果而产生,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括步骤:(d)输入第一编码活动图象序列信号,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;(e)输入第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,第二系数信息包括一个第二系数矩阵;和(f)产生差值编码活动图象序列信号,其中步骤(f)具有在从第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号的步骤。
按照本发明的第七个方面,提供一种编码信号合并方法,用于输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括步骤:(g)输入第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,并且作为转码第一编码活动图象序列信号的结果而产生,第二系数信息包括一个第二系数矩阵,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;(h)输入差值编码活动图象序列信号,差值编码活动图象序列信号包括第一系数信息和第二系数信息间的差值系数信息,每个初始活动图象序列信号、第一编码活动图象序列信号、第二编码活动图象序列信号和差值编码活动图象序列信号都是分级结构的形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和(i)从步骤(g)中输入的第二编码活动图象序列信号和从步骤(h)中输入的差值编码活动图象序列信号重建第一编码活动图象序列信号,其中步骤(i)具有在从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息和步骤(h)中获得的差值系数信息的基础上重建第一编码活动图象序列信号的步骤。
在上述编码信号合并方法中,第二系数信息可以包括由0系数组成的第二0系数信息和由非0系数组成的第二非0系数信息,第一系数信息包括0换算第一系数信息,由要换算为0系数的0换算第一系数组成,和非0换算第一系数信息,由要换算为非0系数的非0换算第一系数组成。步骤(i)进一步包括步骤:(i1)在第二编码活动图象序列信号的第二0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建0换算第一系数;(i2)在第二编码活动图象序列信号的第二非0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建非0换算第一系数;和(i3)合并步骤(i1)中重建的0换算第一系数信息和步骤(i2)中重建的非0换算第一系数信息,来重建第一系数信息。
在上述编码信号合并方法中,第一编码活动图象序列信号和第二编码活动图象序列信号的每个宏块层包括由编码块和非编码块组成的块,和表示在宏块层中各编码块和非编码块位置的编码块模式,差值编码活动图象序列信号的每个宏块层包括一个差值编码块模式,是第一编码活动图象序列信号和第二编码活动图象序列信号的各宏块层的编码块模式间的差值,步骤(i3)包括在差值编码活动图象序列信号的差值编码块模式的基础上重建第一编码活动图象序列信号宏块层的编码块模式的步骤(i31)。
在上述编码信号合并方法中,第一编码活动图象序列信号包括第一宏块量化参数,用于包含在初始活动图象序列信号中的每个宏块的量化,第二编码活动图象序列信号包括第二宏块量化参数,用于包含在第二编码活动图象序列信号中的每个宏块的反量化,步骤(i3)具有重建用于从差值编码活动图象序列信号重建第一宏块量化参数的第一宏块量化参数重建信息来重建第一宏块量化参数的步骤(i32)。
在上述编码信号合并方法中,第一编码活动图象序列信号包括第一条量化参数,用于包含在初始活动图象序列信号条层中的每个宏块的量化,第二编码活动图象序列信号包括第二条量化参数,用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化,步骤(i3)包括重建用于从差值编码活动图象序列信号重建第一条量化参数的第一条量化参数重建信息来重建第一条量化参数的步骤(i33)。
在上述编码信号合并装置中,如权利要求54至58中任意之一提出的,其中步骤(i3)包括从差值编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在第一编码活动图象序列信号上的步骤(i34)。
按照本发明的第八个方面,提供一种编码信号分离和合并方法,包括步骤:(j)转码第一编码活动图象序列信号来产生第二编码活动图象序列信号和第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号;和(k)输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号。步骤(j)进一步包括步骤:(j1)输入第一编码活动图象序列信号;(j2)转换步骤(j1)输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号;和(j3)从步骤(j1)输入的第一编码活动图象序列信号和步骤(j2)产生的第二编码活动图象序列信号产生差值编码活动图象序列信号;(j4)输出步骤(j2)产生的第二编码活动图象序列信号;和(j5)输出步骤(j3)产生的差值编码活动图象序列信号。步骤(k)包括步骤:(k1)输入第二编码活动图象序列信号;(k2)输入差值编码活动图象序列信号;(k3)从步骤(k1)输入的第二编码活动图象序列信号和从步骤(k2)输入的差值编码活动图象序列信号重建第一编码活动图象序列信号;和(k4)输出由步骤(k3)重建的第一编码活动图象序列信号。
按照本发明的第九个方面,提供一种由计算机可用的存储介质组成的计算机程序产品,其中含有计算机可读码,用于转码第一编码活动图象序列信号来产生第二编码活动图象序列信号和第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号。计算机可读码包括:(a)用于输入第一编码活动图象序列信号的计算机可读程序码,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括第一系数矩阵;(b)用于转换由计算机可读程序码(a)输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号的计算机可读程序码,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成第二系数信息包括第二系数矩阵,每个初始活动图象序列信号、第一编码活动图象序列信号和第二编码活动图象序列信号都是分级结构形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和(c)用于响应由计算机可读程序码(b)输入的第一编码活动图象序列信号和第二编码活动图象序列信号以产生差值编码活动图象序列信号的计算机可读程序码,其中计算机可读程序码(c)具有在由第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和由第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号的计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(c)具有以分级结构的形式产生差值编码活动图象序列信号的计算机可读程序码。
在上述的计算机程序产品中,第二系数信息包括由0系数组成的第二0系数信息和由非0系数组成的第二非0系数信息,第一系数信息包括由计算机可读程序码(b)转换为0系数的0换算第一系数组成的0换算第一系数信息,和由计算机可读程序码(b)转换为非0系数的非0换算第一系数组成的非0换算第一系数信息。计算机可读程序码(c)进一步包括:(c1)计算机可读程序码,用于分别从非0换算第一系数信息和第二非0系数信息中分离出0换算第一系数信息和第二0系数信息;(c2)计算机可读程序码,用于提取计算机可读程序码(c1)分离的0换算第一系数信息和第二0系数信息之间的差值信息来产生差值0系数信息;和(c3)计算机可读程序码,用于提取计算机可读程序码(c1)分离的非0换算第一系数信息和第二非0系数信息之间的差值信息来产生差值非0系数信息。
在上述的计算机程序产品中,计算机可读程序码(c3)具有在非0换算第一系数信息的第一系数值和第二非0系数信息的第二系数值的基础上产生差值非0系数信息的计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(b)可以具有以下计算机可读程序码:从第一编码活动图象序列信号中获得用于包含在初始编码活动图象序列信号中的每个宏块的量化的第一宏块量化参数,来产生包含在第一编码活动图象序列信号中的宏块,和从第二编码活动图象序列信号中获得用于包含在第二编码活动图象序列信号中的每个宏块的反量化的第二宏块量化参数,其中计算机可读程序码(c3)具有在第二宏块量化参数与第一宏块量化参数的比值和第二非0系数信息的基础上计算非0换算第一系数信息和估算非0换算第一系数信息间的预测误差的计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(c2)具有以Z字形方式扫描0换算第一系数信息来产生包括run和level组合的差值0系数信息的计算机可读程序码,run是连续0值系数的数值,level是被连续0值系数紧随的非0值系数值,其中计算机可读程序码(c2)具有消除0换算第一系数信息中的0系数来压缩差值0系数信息的信息量的计算机可读程序码。
在上述的计算机程序产品中,宏块层包括由编码块和非编码块组成的块,和表示在宏块层中各编码块和非编码块位置的编码块模式。计算机可读程序码(c)进一步包括产生第一编码活动图象序列信号的编码块模式和第二编码活动图象序列信号的编码块模式之间的差值编码块模式的计算机可读程序码(c4)。
在上述的计算机程序产品中,计算机可读程序码(c4)具有产生差值CBP数值串的计算机可读程序码,每个表示第一编码活动图象序列信号宏块层的编码块和非编码块相对于第二编码活动图象序列信号宏块层的非编码块的位置。
在上述的计算机程序产品中,宏块层包含宏块属性信息,信息中包括表示宏块位置的宏块地址,和表示需跳过的宏块地址数的宏块地址增量,即MBAI。计算机可读程序码(c)进一步包括:(c5)计算机可读程序码,用于产生差值编码活动图象序列信号的宏块,它是第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块之间相对于各宏块地址的差值,从而消除第一编码活动图象序列信号和第二编码活动图象序列信号间相对于各宏块地址的没有变化的宏块;和(c6)计算机可读程序码,用于产生差值编码活动图象序列信号的宏块属性信息的MBAI,差值编码活动图象序列信号的MBAI表示计算机可读程序码(c5)消除的宏块相对于计算机可读程序码(c5)产生的差值编码活动图象序列信号宏块的宏块地址数,所以差值编码活动图象序列信号的宏块相对于各宏块地址响应第一编码活动图象序列信号的宏块和第二编码活动图象序列信号的宏块。
在上述的计算机程序产品中,计算机可读程序码(b)具有以下计算机可读程序码:根据第一宏块量化参数反量化包含在第一编码活动图象序列信号中的每个宏块来重建初始活动图象序列信号,和根据第二宏块量化参数量化重建的初始活动图象序列信号的每个宏块来产生第二编码活动图象序列信号。计算机可读程序码(c)包括产生用于重建第一宏块量化参数的宏块量化参数重建信息的(c7)计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(b)具有以下计算机可读程序码:在第一宏块量化参数与第二宏块量化参数之比的基础上转换包含在第一编码活动图象序列信号中的各宏块来产生第二编码活动图象序列信号。计算机可读程序码(c)包括产生用于重建第一宏块量化参数的宏块量化参数重建信息的(c7)计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(c7)具有以下计算机可读程序码:在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数的基础上产生宏块量化参数重建信息。
在上述的计算机程序产品中,计算机可读程序码(c7)具有以下计算机可读程序码:在第一量化参数导出常数和先前产生的差值编码活动图象序列信号宏块的宏块量化参数重建信息之间的差值的基础上产生宏块量化参数重建信息。
在上述的计算机程序产品中,计算机可读程序码(b)具有以下计算机可读程序码:根据用于包含在初始活动图象序列信号条层中的每个宏块的量化的第一条量化参数,反量化包含在第一编码活动图象序列信号条层中的每个宏块,来重建初始活动图象序列信号,和根据用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化的第二条量化参数,量化重建的初始活动图象序列信号条层中的每个宏块,来产生第二编码活动图象序列信号;并且计算机可读程序码(c)进一步包括产生用于重建第一条量化参数的条量化参数重建信息的(c8)计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(b)具有以下计算机可读程序码:在第一条量化参数与第二条量化参数之比的基础上转换包含在第一编码活动图象序列信号条层中的每个宏块来产生第二编码活动图象序列信号;并且计算机可读程序码(c)进一步包括产生用于重建第一条量化参数的条量化参数重建信息的(c8)计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(c8)具有以下计算机可读程序码:在用于从第二条量化参数重建第一条量化参数的第一条量化参数导出常数的基础上产生条量化参数重建信息。
在上述的计算机程序产品中,计算机可读程序码(c)包括从第一编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在差值编码活动图象序列信号上的(c9)计算机可读程序码。
在上述的计算机程序产品中,可变长度编码按照各表分配给各差值0系数信息和各差值非0系数信息,计算机可读程序码(c)进一步包括:(c10)计算机可读程序码,用于响应第一条量化参数导出常数切换该表;和(c11)计算机可读程序码,用于按照由计算机可读程序码(c10)切换的表对差值0系数信息和差值非0系数信息分配可变长度编码。
在上述的计算机程序产品中,计算机可读程序码(c)具有以下计算机可读程序码:在用于从第二宏块量化参数重建第一宏块量化参数的第一量化参数导出常数和预测误差的基础上计算分配给预测误差的可变长度编码。
在上述的计算机程序产品中,计算机可读程序码(c)进一步包括:(c12)计算机可读程序码,用于按照考虑到发生频率的一个run表给run分配可变长度编码;和(c13)计算机可读程序码,用于按照考虑到发生频率的一个level表给level分配可变长度编码。
在上述的计算机程序产品中,每个宏块包括由亮度块和色差块组成的块,由差值亮度CBP数值串和差值色差CBP数值串组成的差值CBP数值串,每个差值亮度CBP数值串表示第一编码活动图象序列信号各宏块层中的编码亮度块和非编码亮度块相对于第二编码活动图象序列信号各宏块层中的非编码亮度块的位置,每个差值色差CBP数值串表示第一编码活动图象序列信号各宏块层中的编码色差块和非编码色差块相对于第二编码活动图象序列信号各宏块层中的非编码色差块的位置。计算机可读程序码(c4)进一步包括:(c41)计算机可读程序码,用于计算第二编码活动图象序列信号宏块中的多余亮度块数和多余色差块数;(c42)计算机可读程序码,用于按照亮度可变长度编码表给差值亮度CBP数值串分配可变长度编码;和(c43)计算机可读程序码,用于按照色差可变长度编码表给差值色差CBP数值串分配可变长度编码,其中计算机可读程序码(c42)具有响应由计算机可读程序码(c41)计算的多余亮度块数切换可变长度编码亮度表的计算机可读程序码,并且计算机可读程序码(c43)具有响应由计算机可读程序码(c41)计算的多余色差块数切换色差可变长度编码表的计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(c7)包括按照宏块量化参数重建信息的绝对值计算分配给宏块量化参数重建信息的可变长度编码的计算机可读程序码。
按照本发明的第十个方面,提供一种由计算机可用的存储介质组成的计算机程序产品,其中含有计算机可读码,用于输入第一编码活动图象序列信号和第二编码活动图象序列信号来产生差值编码活动图象序列信号,第二编码活动图象序列信号作为转码第一编码活动图象序列信号的结果而产生,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括:(d)计算机可读程序码,用于输入第一编码活动图象序列信号,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;(e)计算机可读程序码,用于输入第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,第二系数信息包括一个第二系数矩阵;和(f)计算机可读程序码,用于产生差值编码活动图象序列信号,其中计算机可读程序码(f)具有在从第一编码活动图象序列信号的第一图象信息系列获得的第一系数信息和从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息的基础上产生差值编码活动图象序列信号的计算机可读程序码。
按照本发明的第十一个方面,提供一种由计算机可用的存储介质组成的计算机程序产品,其中含有计算机可读码,用于输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号,差值编码活动图象序列信号是第一编码活动图象序列信号与第二编码活动图象序列信号之间的差值,包括:(g)计算机可读程序码,用于输入第二编码活动图象序列信号,第二编码活动图象序列信号由一系列具有第二系数信息的第二图象信息组成,并且作为转码第一编码活动图象序列信号的结果而产生,第二系数信息包括一个第二系数矩阵,第一编码活动图象序列信号由一系列具有第一系数信息的第一图象信息组成,并且作为编码初始活动图象序列信号的结果而产生,第一系数信息包括一个第一系数矩阵;(h)计算机可读程序码,用于输入差值编码活动图象序列信号,差值编码活动图象序列信号包括第一系数信息和第二系数信息间的差值系数信息,每个初始活动图象序列信号、第一编码活动图象序列信号、第二编码活动图象序列信号和差值编码活动图象序列信号都是分级结构的形式,包括一个或多个序列层,每个具有许多享用公共信息的屏,一个或多个图象层,相对于一个屏每个具有许多享用公共信息的条,一个或多个条层,相对于一个条每个具有许多宏块,一个或多个宏块层,相对于一个宏块每个具有许多块,和一个或多个块层,相对于一个块每个具有许多块信息;和(i)计算机可读程序码,用于从计算机可读程序码(g)输入的第二编码活动图象序列信号和从计算机可读程序码(h)输入的差值编码活动图象序列信号重建第一编码活动图象序列信号,其中计算机可读程序码(i)具有在从第二编码活动图象序列信号的第二图象信息系列获得的第二系数信息和由计算机可读程序码(h)获得的差值系数信息的基础上重建第一编码活动图象序列信号的计算机可读程序码。
在上述的计算机程序产品中,第二系数信息可以包括由0系数组成的第二0系数信息和由非0系数组成的第二非0系数信息,第一系数信息包括0换算第一系数信息,由要换算为0系数的0换算第一系数组成,和非0换算第一系数信息,由要换算为非0系数的非0换算第一系数组成。计算机可读程序码(i)进一步包括:(i1)计算机可读程序码,用于在第二编码活动图象序列信号的第二0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建0换算第一系数;(i2)计算机可读程序码,用于在第二编码活动图象序列信号的第二非0系数信息和差值编码活动图象序列信号的差值系数信息的基础上重建非0换算第一系数;和(i3)计算机可读程序码,用于合并由计算机可读程序码(i1)重建的0换算第一系数信息和由计算机可读程序码(i2)重建的非0换算第一系数信息,来重建第一系数信息。
在上述的计算机程序产品中,第一编码活动图象序列信号和第二编码活动图象序列信号的每个宏块层包括由编码块和非编码块组成的块,和表示在宏块层中各编码块和非编码块位置的编码块模式,差值编码活动图象序列信号的每个宏块层包括一个差值编码块模式,是第一编码活动图象序列信号和第二编码活动图象序列信号的各宏块层的编码块模式间的差值,计算机可读程序码(i3)包括在差值编码活动图象序列信号的差值编码块模式的基础上重建第一编码活动图象序列信号宏块层的编码块模式的(i31)计算机可读程序码。
在上述的计算机程序产品中,第一编码活动图象序列信号包括第一宏块量化参数,用于包含在初始活动图象序列信号中的每个宏块的量化,第二编码活动图象序列信号包括第二宏块量化参数,用于包含在第二编码活动图象序列信号中的每个宏块的反量化,计算机可读程序码(i3)具有重建用于从差值编码活动图象序列信号重建第一宏块量化参数的第一宏块量化参数重建信息来重建第一宏块量化参数的(i32)计算机可读程序码。
在上述的计算机程序产品中,第一编码活动图象序列信号包括第一条量化参数,用于包含在初始活动图象序列信号条层中的每个宏块的量化,第二编码活动图象序列信号包括第二条量化参数,用于包含在第二编码活动图象序列信号条层中的每个宏块的反量化,计算机可读程序码(i3)包括重建用于从差值编码活动图象序列信号重建第一条量化参数的第一条量化参数重建信息来重建第一条量化参数的(i33)计算机可读程序码。
在上述的计算机程序产品中,计算机可读程序码(i3)包括从差值编码活动图象序列信号中获得表示VBV缓冲器容量的VBV-Delay信息并将VBV-Delay信息附加在第一编码活动图象序列信号上的(i34)计算机可读程序码。
按照本发明的第十二个方面,提供一种由计算机可用的存储介质组成的计算机程序产品,其中含有计算机可读码,用于分离和合并编码信号,包括:(j)计算机可读程序码,用于转码第一编码活动图象序列信号来产生第二编码活动图象序列信号和第一编码活动图象序列信号与第二编码活动图象序列信号之间差值的差值编码活动图象序列信号;和(k)计算机可读程序码,用于输入第二编码活动图象序列信号和差值编码活动图象序列信号来重建第一编码活动图象序列信号。计算机可读程序码(j)进一步包括:(j1)计算机可读程序码,用于输入第一编码活动图象序列信号;(j2)计算机可读程序码,用于转换计算机可读程序码(j1)输入的第一编码活动图象序列信号来产生第二编码活动图象序列信号;和(j3)计算机可读程序码,用于从计算机可读程序码(j1)输入的第一编码活动图象序列信号和计算机可读程序码(j2)产生的第二编码活动图象序列信号产生差值编码活动图象序列信号;(j4)计算机可读程序码,用于输出计算机可读程序码(j2)产生的第二编码活动图象序列信号;和(j5)计算机可读程序码,用于输出计算机可读程序码(j3)产生的差值编码活动图象序列信号。计算机可读程序码(k)包括:(k1)计算机可读程序码,用于输入第二编码活动图象序列信号;(k2)计算机可读程序码,用于输入差值编码活动图象序列信号;(k3)计算机可读程序码,用于从计算机可读程序码(k1)输入的第二编码活动图象序列信号和计算机可读程序码(k2)输入的差值编码活动图象序列信号重建第一编码活动图象序列信号;和(k4)计算机可读程序码,用于输出由计算机可读程序码(k3)重建的第一编码活动图象序列信号。
在上述编码信号分离装置中,每个序列层包括一个表示序列层开始的序列头。差值编码信号产生装置包括一个序列头附加单元,用于在差值编码活动图象序列信号的各序列层上附加序列头。
在上述编码信号分离装置中,第一编码活动图象序列信号以第一比特率发送,差值编码信号产生装置包括一个比特率信息附加单元,用于产生表示第一比特率的第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息。
在上述编码信号分离装置中,比特率信息附加单元用于在由400划分的第一比特率数值的基础上产生第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息。
在上述编码信号合并装置中,第一编码活动图象序列信号以第一比特率发送,差值编码活动图象序列信号包括表示第一比特率的第一比特率信息,第一编码信号合并装置包括一个比特率信息重建单元,用于从差值编码活动图象序列信号获得第一比特率信息来以第一比特率重建第一编码活动图象序列信号。
在上述编码信号分离方法中,每个序列层包括一个表示序列层开始的序列头。步骤(c)包括在差值编码活动图象序列信号的各序列层上附加序列头的步骤(c14)。
在上述编码信号分离方法中,第一编码活动图象序列信号以第一比特率发送,步骤(c)包括产生表示第一比特率的第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息的步骤(c15)。
在上述编码信号分离方法中,步骤(c15)具有在由400划分的第一比特率数值的基础上产生第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息的步骤。
在上述编码信号合并方法中,第一编码活动图象序列信号以第一比特率发送,差值编码活动图象序列信号包括表示第一比特率的第一比特率信息,步骤(i)包括从差值编码活动图象序列信号获得第一比特率信息来以第一比特率重建第一编码活动图象序列信号的步骤(i4)。
在上述计算机程序产品中,每个序列层包括一个表示序列层开始的序列头。计算机可读程序码(c)包括在差值编码活动图象序列信号的各序列层上附加序列头的(c14)计算机可读程序码。
在上述计算机程序产品中,第一编码活动图象序列信号以第一比特率发送,计算机可读程序码(c)包括产生表示第一比特率的第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息的(c15)计算机可读程序码。
在上述计算机程序产品中,计算机可读程序码(c15)具有在由400划分的第一比特率数值的基础上产生第一比特率信息和在差值编码活动图象序列信号上附加第一比特率信息的计算机可读程序码。
在上述计算机程序产品中,第一编码活动图象序列信号以第一比特率发送,差值编码活动图象序列信号包括表示第一比特率的第一比特率信息,计算机可读程序码(i)包括从差值编码活动图象序列信号获得第一比特率信息来以第一比特率重建第一编码活动图象序列信号的(i4)计算机可读程序码。
本发明和它的许多优点在考虑结合附图时通过下面的详述将变得更好理解,其中:
图1示出了根据本发明的一个比特流分离装置1000和一个比特流合并装置2000的优选实施例应用的环境的透视图;
图2是数据结构图,示出了差值比特流的分级结构;
图3是图1所示的比特流分离装置1000的框图;
图4是说明根据本发明的转码MPEG-2比特流和差值比特流的切换控制草图;
图5是图1所示的比特流合并装置2000的框图;图6(a)示出了差值比特流的序列头内容表;
图6(b)示出了差值比特流的图象头内容表;
图6(c)示出了差值比特流的条头内容表;
图6(d)示出了差值比特流的MB属性信息内容表;
图7是示出了MB地址的示意图;
图8是示出了根据本发明在编码操作中执行的MB地址控制过程流程的流程图;
图9是示出了根据本发明在解码操作中执行的MB地址控制过程流程的流程图;
图10是说明转码MPEG-2比特流的MB地址和差值比特流的MB地址间关系的示意图;
图11是示出了根据本发明编码差值量化参数导出常数的过程的流程图;
图12是用于编码差值MB量化参数导出常数为可变长度编码的编码表;
图13是示出了根据本发明解码编码的差值量化参数信息的流程的流程图;
图14是说明根据本发明的差值CBP数值串的编码原理的示意图;
图15是示出了根据本发明编码差值CBP数值串过程的流程图;
图16是根据本发明的用于编码差值亮度CBP数值串、差值色差CBP数值串为各自的可变长度编码的一组编码表;
图17是根据本发明说明解码差值CBP数值串原理的示意图;
图18是示出了根据本发明解码CBP数值串过程的流程图;
图19是根据本发明说明编码差值系数信息原理的示意图;
图20是示出了根据本发明产生差值系数过程的流程的流程图;
图21是根据本发明用于编码run为可变长度编码的一组编码表;
图22是根据本发明用于编码level为可变长度编码的编码表;
图23是根据本发明用于编码预测误差为可变长度编码的编码表;
图24是根据本发明说明解码差值系数信息原理的示意图;
图25是根据本发明比较初始MPEG-2比特流的比特率与转码MPEG-2比特流和由比特流分离装置分离的差值比特流的比特率总数的曲线图;
图26是示出了根据本发明的差值信息的各种类型的表;
图27是示出了第一传统转码器50的示意框图;
图28是由图27中示出的第一传统转码器执行的MPEG-2速率控制操作流程的流程图;
图29是示出了第二传统转码器60的示意框图;
图30是由图29中示出的第二传统转码器执行的MPEG-2速率控制操作流程的流程图;
图31是示出了第三传统转码器80的示意框图;
图32是由图31中示出的第三传统转码器执行的MPEG-2速率控制操作流程的流程图;
图33是示出了第四传统转码器90的示意框图。
参看图1,图1示出的是本发明涉及的比特流分离装置1000的优选实施例,比特流合并装置2000的优选实施例,编码器600以及传输路径。
编码器600使得输入的初始活动图象序列信息,也就是高质量的活动图象序列信息转换成输出的高质量的MPEG-2比特流,也就是初始MPEG-2比特流。本发明中涉及的比特流分离装置1000用来对从编码器600输入的初始MPEG-2比特流转码,并将初始MPEG-2比特流分离成转码MPEG-2比特流以及差值比特流。差值比特流是初始MPEG-2比特流与转码MPEG-2比特流之间的差值。转码MPEG-2比特流与差值比特流通过传输路径传输给用户。
用户可以使用传统的转码器,图中未示出,将转码MPEG-2比特流译码,重现出图1所示的低质量的活动图象序列信息。
另一方面,用户可以使用本发明中的比特流合并装置2000将转码MPEG-2比特流与差值比特流合并,重建初始的MPEG-2比特流,也就是高质量的MPEG-2比特流,这样就能够重现出初始的高质量的活动图象序列信息。差值比特流可以与转码MPEG-2比特流同时传输,也可以在转码MPEG-2比特流以后传输。
通常,要重现初始的、高质量的活动图象序列信息要通过传输路径再次传输初始MPEG-2比特流,
另一方面,比特流分离装置1000可以将初始的MPEG-2比特流转码,将其分离成转码MPEG-2比特流与差值比特流。本发明的比特流合并装置2000可以从转码MPEG-2比特流与差值比特流重现初始的、高质量的活动图象序列信息。
比特流合并装置2000使得重现高质量的活动图象序列信息成为可能,例如,可以通过已经接收的转码MPEG-2比特流与正在接收的差值比特流重现,这样就使得通过传输通道再次传输初始的MPEG-2比特流变得不再需要。这样,本发明中的比特流分离装置1000与比特流合并装置2000可以有效利用转码MPEG-2比特流与传输通道。
如果转码MPEG-2比特流与差值比特流的比特率之和超出的了初始MPEG-2比特流的比特率,比特流分离装置1000与比特流合并装置2000的效率就会降低。比特流分离装置1000与比特流合并装置2000要调节到可以避免转码MPEG-2比特流和差值比特流的比特率之和不超过初始MPEG-2比特流的比特率,下文将详细描述。
如图3所示的比特流分离装置1000包括:与传输通道的输入端(图中未示出)相连接的输入端a1,用于输入初始MPEG-2比特流,转码部分1100,接收从输入端a1输入的初始MPEG-2比特流,并将其进行转换,形成转码MPEG-2比特流,差值比特流产生部分1200,接收从初始MPEG-2比特流以及转码部分1100转码的比特流,产生差值比特流,第一输出端b1与转码部分1100连接,将转码MPEG-2比特流输出给输出传输通道,图中未示出,第二输出端,与差值比特流产生部分1200相连,将差值比特流传输给输出传输通道,图中未示出。
尤其是,比特流分离装置1000适用于输入与MP@ML类型(“主级主类”,在广播电视中普遍使用的一种MPEG-2编码格式,720像素,576行,每秒30帧,4∶2∶0抽样)相适的初始MPEG-2比特流,将其分离和产生转码MPEG-2比特流与差值比特流。差值比特流是初始MPEG-2比特流与转码MPEG-2比特流之间的差值。
MPEG-2比特流采用的是分层的结构。这就是,MPEG-2比特流包括:序列层,每一层具有很多屏,享用公共属性信息,例如图像尺寸;图像层,具有很多条,共享同一一般图像信息,例如对于其中一个屏的图像类型;条层,在每一条上具有很多宏块,宏块层,在每一宏块上具有很多块,以及块层,在每一块上具有很多块信息。序列层、图像层、条层、宏块层、块层包含有各自的序列层数据单元、图像层数据单元、条层数据单元、宏块层数据单元、块层数据单元。就是说,序列层包含序列层数据单元,序列层数据单元包含一个序列头和图象层序列单元。图像层包含图像层数据单元,图像层数据单元包含一个图像头和图象序列单元。图像数据单元包含条层数据单元。条层数据单元包含条头和MB层数据单元。MB层数据单元包含MB属性信息和块层数据单元。块层数据单元包含系数信息。系数信息包含系数矩阵。
序列层、图像层、条层作为一个整体被称为“上层”,宏块层,也就是MB层,被称为“中间层”,块层被称为“下层”,因此,有关上层、中间层、下层的信息被各自称为“上层信息”、“中间层信息”、以及“下层信息”。
初始的MPEG-2比特流是作为编码活动图像序列信号的的结果产生的,由一系列的具有第一系数信息的第一图像信息构成。第一系数信息包括第一系数矩阵,下文将介绍。
转码MPEG-2比特流由转码部分1100转码,它由一系列的具有第二系数信息的第二图像信息构成。第二系数信息包括第二系数矩阵,下文将介绍。
差值比特流产生部分1200根据从初始MPEG-2比特流中的一系列第一图像信息获得的第一系数信息以及从转码MPEG-2比特流的一系列的第二图像信息获得的第二系数信息生成差值比特流。
与初始MPEG-2比特流以及转码MPEG-2比特流相似,差值比特流产生部分1200产生的差值比特流也是分层结构,它包括:序列层、图像层、条层、宏块层以及块层。MPEG-2比特流的结构如图2所示。差值比特流以序列层的序列头开始。紧接着序列头是序列层内包含的图象数目的图像层数据单元。图像层数据单元包含图像头和图像数据单元。图像数据单元包含许多条层数据单元。条层数据单元包含一个条头,以及许多MB层数据单元。MB层数据单元包含MB属性信息以及块层数据单元。块层数据单元包含系数信息。系数信息包含系数矩阵。
依据本发明,比特流分离装置1000构成编码信号分离装置。比特流分离装置1000的输入端a1构成输入设备。初始MPEG-2比特流、转码MPEG-2比特流、差值比特流以及初始活动图象序列信号分别由第一编码活动图像序列信号、第二编码活动图像序列信号、差值编码活动图像序列信号以及初始活动图象序列信息构成。
依据本发明,转码部分1100构成编码信号转换设备。
依据本发明,差值比特流产生部分1200构成差值信号产生设备。
初始MPEG-2比特流的系数信息被称为“第一系数信息”,转码MPEG-2比特流的系数信息被称为“第二系数信息”,差值比特流的系数信息被称为“差值系数信息”。
序列头、图象头、条头被分别用于同步在序列层、图像层、条层部分的MPEG-2输出比特流。
MB属性信息被用于表示宏块,即MB的位置。系数信息包括有关量化系数的信息。
MPEG-2比特流的系数信息中包含的系数值包括0与非0。在下文中,值为0的系数被称为“0系数”,值为非0的系数被称为“非0系数”。相应的,转码MPEG-2比特流的第二系数信息也包括0与非0系数。第二系数信息被分为包括0系数的0系数信息与包括非0系数的非0系数信息。
初始MPEG-2比特流的第一系数信息的系数由转码部分1100转换成转码MPEG-2比特流的第二系数信息的0系数或者非0系数。相应的,在转码部分1100转换成0系数的第一系数信息的系数被称为“0换算第一系数”,在转码部分1100转换成非0系数的第一系数信息的系数被称为“非0换算第一系数”,第一系数信息被分成包括0换算第一系数的0换算第一系数信息以及包括非0换算第一系数的非0换算第一系数信息。
如图3所示,转码部分1100包括一个解复用与解码单元1110、一个编码模式切换单元1120、一个量化控制单元1130、一个量化系数转换单元1140以及一个复用与编码单元1190。
解复用与解码单元1110适于从输入端a1输入初始MPEG-2比特流,解复用和解码从输入端a1输入的初始MPEG-2比特流,以重建上层信息、中间层信息、以及下层信息,然后将上层信息和中间层信息输出给编码模式切换单元1120,将下层信息输出给量化系数转换单元1140以及预测误差计算单元1230。
编码模式切换单元1120适于从解复用与解码单元1110输入包含在上层信息以及中间层信息中的编码,并根据码的类型判断是否该码已经改变。改变的码的类型例如是MB或CBP,这在以后将描述。如果码型已经改变,编码模式切换单元1120就将根据码的类型修改码,然后将包含修改码的上层信息与中间层信息输出给复用与编码单元1190与差值比特流产生部分1200。如果根据参考,码型没有改变,编码模式切换单元1120就将上层信息与中间层信息输出给复用与编码单元1190与差值比特流产生部分1200。
量化控制单元1130为了控制比特数量将相对于每一宏块即MB的宏块再量化参数即MQ2输出给预测误差计算单元1300与量化系数转换单元1400。MQ2被作为宏块再量化参数量化每一宏块,这些宏块包含在从初始MPEG-2比特流解码的初始活动图象序列信息中,来产生包含在转码MPEG-2比特流中的宏块以及宏块反量化参数,该参数反量化包含在转码MPEG-2比特流中的每一宏块,从而重建初始活动图象序列信息的宏块。
量化系数转换单元1140适于从解复用与解码单元1110中输入QF1与MQ1,从量化控制单元1130输入再量化参数MQ2,QF1是第一系数信息,即从初始MPEG-2比特流解码的系数矩阵,MQ1是用于量化包含在初始活动图象序列信息中的每一宏块,产生包含在MPEG-2初始活动图象序列中的宏块,以及用于反量化包含在初始MPEG-2比特流中的每一宏块的反量化参数,从而重建包含在初始活动图象序列信息的宏块。量化系数转换单元1140用量化参数MQ1反量化第一系数信息QF1,和用再量化系数MQ2量化这样反量化的系数信息,产生第二系数信息,即QF2。量化系数转换单元1140将第二系数信息QF2输出给复用与编码单元1190,将第一系数信息QF1与第二系数信息QF2输出给差值比特流产生部分1200。第一系数信息QF1与第二系数信息QF2是下层信息。
复用与编码单元1190适于从编码模式切换单元1120输入上层与中间层信息,和从量化系数转换单元1140输入下层信息,编码和复用从编码模式切换单元1120输入的上层与中间层信息,以及从量化系数转换单元1140输入的下层信息,产生转码MPEG-2比特流输出给输出端b1。
如图3所示,差值比特流产生部分1200包括一个差值系数信息分离装置1220、预测误差计算单元1230、差值系数信息Z字形扫描单元1240以及差值BS复用与编码单元1290。
差值系数信息分离装置1220适于从转码部分1100输入第一系数信息QF1与第二系数信息QF2,分别从非0换算第一系数信息QF1(QF2≠0)和第二非0系数信息QF2≠0分离0换算第一系数信息QF1(QF2=0)和第二0系数信息QF2=0,然后将非0换算第一系数信息QF1(QF2≠0)和第二非0系数信息QF2≠0输出给预测误差计算单元1230,将0换算第一系数信息QF1(QF2=0)输出给差值系数信息字形扫描单元1240。
预测误差计算单元1230适于从差值系数分离单元1220输入非0换算第一系数信息QF1(QF2≠0)以及第二非0系数信息QF≠0,从解复用和解码单元1110输入宏块量化参数MQ1,从量化控制单元1130输入再量化信息,并在非0换算第一系数信息QF1(QF2≠0)与第二非0系数信息QF2≠0之间抽取插值信息来产生差值非0系数信息。
差值系数信息Z字形扫描单元1240适于从差值系数信息分离装置1220中输入0换算第一系数信息QF1(QF2=0),并从中抽取0换算第一系数信息QF1(QF2=0)与第二0系数信息QF2=0之间的差值信息来产生差值0系数信息。
特别是,预测误差计算单元1230适于从差值系数信息分离装置1220输入非0换算第一系数信息QF1(QF2≠0)和第二非0系数信息QF2≠0,从转码部分1100输入宏块量化参数MQ1以及宏块再量化参数MQ2,并计算预测误差,以后称为“ΔQF”,即在实际的非0换算第一系数信息QF1(QF2≠0)与一个根据宏块再量化参数MQ2与宏块量化参数MQ1之间的比值、非0换算第一系数信息QF1(QF2≠0)的值和第二非0系数信息QF2≠0的值预测的非0换算第一系数信息之间的差,然后将计算产生的预测误差ΔQF作为下层信息输出给差值BS复用与编码单元1290。
这里,预测的非0换算第一系数信息是指根据宏块再量化参数MQ2与宏块量化参数MQ1,以及第二非0系数信息QF2≠0预测的非0换算第一系数信息。
特别是,差值系数信息Z字形扫描单元1240适于从差值系数信息分离装置1220输入0换算第一系数信息QF1(QF2=0),以Z字形方式0换算第一系数信息QF1(QF2=0),产生差值0系数信息,并将其作为下层信息输出给差值BS复用与编码单元1290。
差值0系数信息包括游程与级的结合。游程是连续0值系数的数目,级是被连续0值系数紧随的非0系数的值。
差值系数信息Z字形扫描单元1240用于去除在0换算第一系数信息QF1中包含的0值系数,从而减少差值0系数信息中的信息量。
差值BS复用与编码单元1290用于编码和复用来自编码模式切换单元的上层信息与中间层信息和来自预测误差计算单元和差值系数信息Z字形扫描单元1240的下层信息,从而产生差值比特流,并输出给第二输出端b2。
依据本发明,差值系数信息分离装置1220构成系数信息分离单元。预测误差计算单元1230构成非0系数编码单元。差值系数信息Z字形扫描单元构成0系数编码单元。
从下文的描述中可以知道,这种结构的比特流分离装置1000适于输入初始MPEG-2比特流,输出转码MPEG-2比特流以及差值比特流。比特流分离装置1000适于根据顺序输入的初始MPEG-2比特流的编码交替地输出转码MPEG-2比特流以及差值比特流。该比特流分离装置1000适于在输出操作期间交替地切换从转码MPEG-2比特流到差值比特流输出的编码,反之亦然。
在输出操作期间转码MPEG-2比特流与差值比特流之间的切换操作将在下文中详细描述。
输出的差值比特流的编码是序列头、图象头、条头、MB数据单元即MB属性信息以及块数据单元即系数信息,如图4所示。序列头、图象头、条头被称为“上层信息编码”或者“上层码”。MB属性数据以及系数信息各自被称为“中间层编码信息”,“下层编码信息”或者“中间层编码”,“下层编码”。
相对于上层编码,转码MPEG-2比特流的码与差值比特流的码之间以一对一的关系相对应,这使得比特流分离装置1000可以交替依次地输出转码MPEG-2比特流以及差值比特流,如图4所示。
比特流分离装置1000输出一个转码MPEG-2比特流的序列头Sequence-Header-Code,接下来输出差值比特流的序列头Sequence-Header-Code。
以相同的方式,比特流分离装置1000输出一个转码MPEG-2比特流的图像头Picture-Start-Code,接下来输出差值比特流的图像头Picture-tart-Code。
比特流分离装置1000输出一个转码MPEG-2比特流的条头Slice-Start-Code,接下来输出差值比特流的条头Slice-Start-Code。
相对于中间层和下层编码,比特流分离装置1000在转码MPEG-2比特流的中间层和下层编码输出以后,判断在相应宏块的初始MPEG-2比特流和转码MPEG-2比特流之间的系数信息是否改变,并仅当判断初始MPEG-2比特流和转码MPEG-2比特流之间的系数已经改变时随后输出差值比特流的中间层以及下层编码,如图4所示。
这意味着,比特流分离装置1000在判断出初始与转码的比特流之间的系数信息已经改变时,产生并输出关于宏块的MB属性信息和系数信息的差值信息,并输出差值比特流的中间层以及下层编码,接着输出相应的转码MPEG-2比特流的中间层以及下层信息,如图4所示。
如图5所示,比特流合并装置2000包括:一个与例如网络和存储介质的传输路径相连接的转码比特流输入端a3,图中未示出,用于输入转码MPEG-2比特流,一个与例如网络和存储介质的传输路径相连接的差值比特流输入端a4,图中未示出,用于输入差值比特流,一个BS解复用与解码单元2110,一个差值BS解复用与解码单元2120,一个编码模式切换单元2130,一个系数信息重建单元2140,一个差值系数信息重建单元2150,一个加法单元2160,一个重建系数信息扫描单元2170,一个复用与编码单元2190,一个与输出通道相连的输出端b3,图中未示出。
BS解复用与解码单元2110适于从转码MPEG-2比特流输入端a3输入转码MPEG-2比特流来解复用和解码上层信息、中间层信息和下层信息,然后将解复用和解码的上层信息和中间层信息输出给编码模式切换单元2130,将解复用和解码的下层信息输出给系数信息重建单元2140,转码MPEG-2比特流下层信息包括系数信息,即游程与级的组合。
差值BS解复用与解码单元2120适于从差值比特流输入端a4输入差值比特流来解复用和解码上层信息、中间层信息和下层信息,然后将解复用和解码的上层信息和中间层信息输出给编码模式切换单元2130,将解复用和解码的下层信息输出给系数信息重建单元2140和差值系数信息重建单元2150。
差值比特流的下层信息包括系数信息。差值比特流的系数信息是差值系数信息,包括非0系数信息,即预测误差ΔQF,以及0系数信息,即如前所述的游程与级的组合。
特别是,差值BS解复用与解码单元2120将差值非0系数信息,即预测误差ΔQF输出到系数信息重建单元2140,将差值0系数信息,即游程与级的系数信息输出给差值系数信息重建单元2150。
编码模式切换单元2130适于从BS解复用与解码单元2110以及差值BS解码与解复用单元2120输入上层和中间层信息,从而重建初始MPEG-2比特流信息的上层和中间层信息、宏块量化参数MQ1、宏块再量化参数MQ2,将重建的初始MPEG-2比特流的上层和中间层信息输出给复用与编码单元2190,将重建的宏块量化参数MQ1、宏块再量化参数MQ2输出给系数信息重建单元2140。
系数信息重建单元2140适于从BS解复用与解码单元2110输入转码MPEG-2比特流的下层信息,即游程与级的组合,以及从差值BS解复用与解码单元2120输入差值比特流的非0系数信息,即预测误差ΔQF,还有从编码模式切换单元2130输入宏块量化参数MQ1和宏块再量化参数MQ2,从而重建差值非0系数信息,即一个8×8的系数矩阵,然后将重建的矩阵系数输出给加法单元2160。
差值系数信息重建单元2150适于从差值BS解复用与解码单元2120输入差值0系数信息,即游程与级的系数信息,来重建差值0系数信息,即8×8的系数矩阵,而后输出重建的8×8的系数矩阵给加法单元2160。
加法单元2160适于从系数信息重建单元2140输入差值非0系数信息,即8×8的系数矩阵,从差值系数信息重建单元2150输入差值0系数信息,即8×8的系数矩阵,并将差值非0系数信息即8×8的系数矩阵加入到差值0系数信息即8×8的系数矩阵中,来重建一个初始MPEG-2比特流的8×8的第一系数阵列,并将重建的初始MPEG-2比特流的8×8的第一系数阵列输出给重建系数信息扫描单元2170。
重建系数信息扫描单元2170适于从加法单元输入重建的8×8系数信息,以Z字形扫描方式扫描游程和级的信息,来重建一维的游程与级的组合,即第一系数信息,并输出第一系数信息,即重建的下层信息给复用与编码单元2190。
复用与编码单元2190适于从编码模式切换单元2130输入上层和中间层信息,从重建系数信息扫描单元2170输入下层信息,复用与编码上层信息、中间层信息、下层信息来形成一个重建的初始MPEG-2比特流,并输出这样重建的初始MPEG-2比特流给输出端b3。
这样构成的比特流合并装置2000适于输入和合并转码MPEG-2比特流和差值比特流来重建初始MPEG-2比特流。
依据本发明,比特流合并装置2000构成编码信号合并装置。转码比特流输入端a3和差值比特流输入端a4分别依据本发明构成第一编码信号输入设备和差值编码信号输入设备。
BS解复用与解码单元2110、差值BS解复用与解码单元2120、编码模式切换单元2130、系数信息重建单元2140、差值系数信息重建单元2150、加法单元2160、重建系数信息扫描单元2170、复用和编码单元2190集体构成了本发明的第一编码信号合并装置。
依据本发明,系数信息重建单元2140构成非0换算第一系数信息产生单元。从BS解复用与解码单元2110输出的游程与级的组合,以及从差值BS解复用与解码单元2120输出的预测误差ΔQF分别构成了第二编码活动图像序列信号的第二非0系数信息以及差值编码活动图像序列信号的差值系数信息。
依据本发明,差值系数信息重建单元2150和加法单元2160集体构成了0换算第一系数信息产生单元。通过系数信息重建单元2140接收的从解复用与解码单元2110输出的游程与级的组合以及从差值BS解复用与解码单元2120输出的游程与级系数信息分别构成了第二编码活动图像序列信号的第二0系数信息以及差值编码活动图像序列的差值系数信息。
依据本发明,加法单元2160以及重建系数扫描单元2170集体构成了第一系数信息合并单元。
这样构成的比特流合并装置2000能够输入转码MPEG-2比特流和差值比特流来重建初始MPEG-2比特流。
在上文的描述中可以知道,这样构成的比特流合并装置2000适于输入转码MPEG-2比特流与差值比特流来重建初始MPEG-2比特流。比特流合并装置2000适于交替输入转码MPEG-2比特流与差值比特流的编码。这意味着比特流合并装置2000适于交替输入转码MPEG-2比特流与差值比特流的编码。这意味着在输入操作期间,比特流合并装置2000适于交替切换从转码MPEG-2比特流与差值比特流输入的编码,反之亦然。
在输入操作期间执行的切换转码MPEG-2比特流和差值比特流的操作将在下文中详细描述。
对于上层编码,例如序列头、图象头、条头,转码MPEG-2比特流的编码与差值比特流的编码一一对应,这使得比特流合并装置2000可以一个编码接一个编码交替地输入转码MPEG-2比特流和差值比特流。
对于中间层以及下层信号,例如MB属性信息和系数信息,比特流合并装置2000用于判断在读取转码MPEG-2比特流的-个宏块中的MB属性信息和系数信息的时候,在差值比特流中的宏块中的MB属性信息与系数信息是否每次都被提供。如果判断在差值比特流的宏块中的MB属性信息和系数信息被提供,比特流合并装置2000就输入紧随相应的转码MPEG-2比特流宏块的MB属性信息和系数信息的差值比特流宏块的MB属性信息以及系数信息。
而且,依据本发明,比特流分离装置1000的差值比特流产生部分1200可以与比特流分离装置1000的转码部分1100分开构成。
在该例中,差值比特流产生部分1200可以配备有初始MPEG-2比特流输入设备以及转码MPEG-2比特流输入部分,图中未示出。
初始MPEG-2比特流输入设备可以输入初始MPEG-2比特流。转码MPEG-2比特流输入设备可以输入转码MPEG-2比特流。
依据本发明,初始MPEG-2比特流输入设备构成第一编码信号输入设备,转码MPEG-2比特流输入设备构成第二编码信号输入设备。
另一方面,依据本发明,比特流分离装置1000和比特流合并装置2000可以集成为一个设备,既可以分离又可以合并MPEG-2比特流。
上文已经描述了依据本发明的比特流分离装置1000与比特流合并装置2000的主要结构和功能。
分离初始MPEG-2比特流产生转码MPEG-2比特流和差值比特流的过程,和合并转码MPEG-2比特流和差值比特流重建初始MPEG-2比特流的过程下文将详细描述。
如前面所描述的那样,分层结构的差值比特流包括序列层,图像层,条层,宏块层和块层。
分离初始MPEG-2比特流产生转码MPEG-2比特流和差值比特流的过程,和合并转码MPEG-2比特流和差值比特流重建初始MPEG-2比特流的过程将参照差值比特流的结构进行描述。
1.差值比特流的上层编码
差值比特流的上层编码包括序列层、图像层、条层。
如图6所示,差值比特流的序列头包括“序列头编码”(Sequence-Header-Code)。序列头编码被定义为一个32比特长度的独立码,并被用于同步每一序列层的比特流。
比特流分离装置1000交替地输出转码MPEG-2比特流和差值比特流的序列起始码,用于同步转码MPEG-2比特流和差值比特流。比特流合并装置2000交替地输入转码MPEG-2比特流和只读差值比特流的序列头,用于同步转码MPEG-2比特流和差值比特流。
如图6(a)所示,差值比特流的序列头包括“序列起始码”(Sequence-Start-Code),和“初始比特率的值”(Original-Bit-Rate Value)。
序列起始码被定义为一个32比特长度的独立码,用于同步每一序列层的转码MPEG-2比特流和差值比特流。序列起始码可以在MPEG-2比特流中搜索得到来检测序列层的开始。
初始比特率的值被定义为18比特长度的编码,并用来表示被400分开的初始MPEG-2比特率流的比特率的值。
每一个初始MPEG-2比特流以及转码MPEG-2比特流都包括序列头和表示初始比特率的值的比特率值。初始MPEG-2比特流或者转码MPEG-2比特流的比特率值表示初始MPEG-2比特流和转码MPEG-2比特流的比特率的值。
比特流分离装置1000的差值BS复用和编码单元1290有一个序列头附加单元,图中未示出,来产生并附加序列头,也就是序列起始码给差值比特流的各个序列层。
更进一步,比特流分离装置1000的差值BS复用和编码单元1290有一个比特率信息附加单元,未示出,产生第一比特率信息,即根据被400分开的初始MPEG-2比特流的比特率的值产生的初始比特率的值,并将第一比特率信息附加在差值比特流的各个序列层。
比特流合并装置2000的复用与编码单元2190有一个比特率信息重建单元,未示出,用于从差值比特流的序列层获得第一比特率信息,即初始比特率的值,并以第一比特率信息表示的比特率重建初始MPEG-2比特流。
比特流分离装置1000交替地输出转码MPEG-2比特流的序列起始码和比特率的值,还有差值比特流的初始比特率的值,用于同步转码MPEG-2比特流和差值比特流。比特流合并装置2000交替地输入转码MPEG-2比特流的序列起始码和比特率的值,读取差值比特流的序列起始码和比特率的值,用于同步转码MPEG-2比特流和差值比特流。比特流合并装置2000的复用与编码单元2190当读取差值比特流的初始比特率的值时,利用差值比特流的初始比特率代替转码MPEG-2比特流的比特率的值,使得可以精确地重建初始MPEG-2比特流的序列头。
如图6(b)所示,差值比特流的图像头包括“图像起始码”(Picture-Start-Code),“暂时参考”(Temporal-Reference),“图像编码类型”(Picture-Coding-Type),以及“VBV延时”(VBV-Delay)。
图像起始码是一个32比特长度的码,用于同步每一图像层的比特流。暂时参考,在这里被称为“TR”,是一个10比特长度的码,用于表示在GOP组中的图像序列。图像编码类型,在这里被称为“PCT”,被定为一个2比特长度的码,用于表示图像类型。
VBV延时被定义为一个16比特长度的码,用于表示VBV缓存器即90kHz的时钟单元中的视频缓存器的容量。
初始MPEG-2比特流与转码MPEG-2比特流中的TR与PCT保持不变,TR与PCT除了用于同步每一图像层的图像起始码,还用于同步MPEG-2比特流。
因为在初始MPEG-2比特流与转码MPEG-2比特流之间的比特率是有变化的,所以转码MPEG-2比特流的VBV延时的值与初始MPEG-2比特流的VBV延时的值是不同的。转码MPEG-2比特流的VBV延时的值在这里被称为Vbv-Delay,初始MPEG-2比特流的VBV延时的值写成VBV-Delay,差值比特流的VBV延时与初始MPEG-2比特流的VBV延时是一样的。
差值比特流产生部分1200的差值BS复用与编码单元1290具有一个图像头附加单元,图中未示出,用于从编码模式切换单元1120接收初始MPEG-2比特流的TR、PCT和VBV-Delay,然后将图像起始码、TR、PCT和VBV-Delay附加在差值比特流的图像层。
这意味着差值BS复用与编码单元1290从转码部分1100接收表示VBV缓存能力的VBV-Delay信息,并将其附加在差值比特流中,下文将详细描述。
依据本发明,差值BS复用与编码单元1290构成VBV-Delay信息附加单元。
比特流合并装置2000的编码模式切换单元2130和复用与编码单元2190从差值比特流获得表示VBV缓存能力的VBV-Delay信息,用差值比特流的VBV-Delay代替转码MPEG-2比特流的Vbv-Delay,从而重建初始MPEG-2比特流的VBV-Delay。
依据本发明,比特流合并装置2000的编码模式切换单元2130和复用与编码单元2190构成VBV-Delay信息附加单元。
如图6(c)所示,差值比特流的条头包括“条起始码”(Slice-Start-Code),和“条MQm值”(Slice-MQm-Value)。条起始码被定义为一个32比特长度的独立码,用于同步每一条层的比特流。Slice-MQm-Value被定义为一个条量化参数重建码,即一个1-31比特长度的条量化参数重建信息。
依据本发明,比特流分离装置1000与比特流合并装置2000采用设定量化参数禁止区控制转码MPEG-2比特流与差值比特流的总的比特率,从而使其不超过初始MPEG-2比特流的比特率。
采用设定量化参数禁止区控制转码MPEG-2比特流与差值比特流的总的比特率,从而使其不超过初始MPEG-2比特流的比特率的操作在下文被称为“设定量化禁止区的控制操作”。
用于反量化初始MPEG-2比特流的条量化参数被称为“SMQ1”,用于再量化从而产生转码MPEG-2比特流的条量化参数被称为“SMQ2”。
对于条再量化参数SMQ2,采用设定量化参数禁止区的控制方法将在下文描述。
采用设定量化参数禁止区的控制操作是通过限制条再量化参数SMQ2来实现的。特别是,转码器根据其自身的量化特性计算一个条再量化参数,称为“SMQ2*”。控制操作是通过以下描述的方式更新SMQ2*来执行产生条再量化参数SMQ2,从而限制条再量化参数。
条再量化参数SMQ2是根据条再量化参数的导出常数通过更新SMQ2*来计算的,在下文中该导出常数被称为“sm”,“sm”是一个整数。条再量化参数导出常数sm可用于重建条量化参数SMQ1。条再量化参数导出常数sm又被称为“条量化参数导出常数”,下文将详细描述。
尤其是,比特流分离装置1000的转码部分1100用于反量化包含在初始MPEG-2比特流中的条层的每一个宏块,该量化是根据用于量化初始活动图象序列信号的条层中的每一宏块的条量化参数SMQ1实现的,从而重建初始活动图象序列信号,和量化包含在重建的初始活动图象序列信号中的条层的每一个宏块,该量化是根据用于反量化包含在转码MPEG-2比特流的条层中的每一宏块的条再量化参数SMQ2实现的,从而重建转码MPEG-2比特流。
比特流分离装置1000的差值比特流产生部分1200包括一个条量化参数重建信息产生单元,用于产生重建条量化参数SMQ1的条量化参数重建信息Slice MQm Value。
依据本发明,差值比特流产生部分1200的预测误差计算单元1230和差值BS复用与编码单元1290集体构成条量化参数重建信息产生单元。
差值比特流产生部分1200根据下面的方程式(1)和(2)产生条量化参数重建信息sm。
·帧内图像
·帧间图像
这里上述的方程式意味着四舍五入操作。
然后,条再量化参数SMQ2使用条量化参数SMQ1与条量化参数导出常数sm通过下述的方程式(3)和(4)计算。
·帧内图像
SMQ2=2sm×SMQ1+1 (sm≠0)
=SMQ1 (sm=0) 方程式(3)
·帧间图像
SMQ2=(sm+1)×SMQ1 方程式(4)方程式(1)与方程式(2)中的以及的小数部分将省去。而且,这样计算出来的条量化参数导出常数sm与条再量化参数SMQ2都是常数,这导致条再量化参数SMQ2限于特定的值,这样就设置了条再量化参数SMQ2的禁止区。
比特流分离装置1000执行的编码差值比特流的条头的的过程将在下文描述。
比特流分离装置按照公式(1)和(2)根据SMQ2和SMQ2*来计算条量化参数导出常数sm,将条量化参数导出常数sm写入Slice MQm Value,并紧随条起始码编码和输出Slice MQm Value。
条再量化参数导出常数sm因此赋值为条量化参数重建码Slice MQm Value,用于重建条量化参数SMQ1。条再量化参数导出常数sm用于从条再量化参数SMQ2重建条量化参数SMQ1,以后也被称为条量化参数导出常数。
这意味着比特流分离装置1000的差值比特流产生部分1200根据用于从条再量化参数SMQ2重建条量化参数SMQ1的条量化参数导出常数sm,产生条量化参数重建信息Slice MQm Value。
条量化参数导出常数sm也被用作初始值m-prev,用于更新在编码过程中每一条层的每一宏块中宏块量化参数。
在比特流合并装置2000中进行的差值比特流的条头的解码过程将在下文中描述。
比特流合并装置2000的编码模式切换单元2130、系数信息重建单元2140以及差值系数信息重建单元2150、加法单元2160和重建系数信息扫描单元2170构成一个条宏块量化参数重建信息重建部分,图中未示出。
条宏块量化参数重建信息重建部分用于重建条量化参数重建信息、第一宏块量化参数重建信息、用于从差值比特流中重建条量化参数(SMQ1)来重建条量化参数(SMQ1)的sm。
比特流合并装置2000的编码模式切换单元2130、系数信息重建单元2140以及差值系数信息重建单元2150、加法单元2160和重建系数信息扫描单元2170构成一个条量化参数重建信息重建部分。
比特流合并装置2000在解码了条起始码以后解码Slice MQm Value,从而获得条量化参数导出常数sm。比特流合并装置2000也用于从转码MPEG-2比特流中获得SMQ2。比特流合并装置2000根据方程式(5)和(6)利用sm和SMQ2计算SMQ1。
·帧内图像SMQ1=SMQ2-12×sm---(sm≠0)]]>
=SMQ2 (sm=0) 方程式(5)
·帧间图像
SMQ1=SMQ2/(sm+1) 方程式(6)
条量化参数导出常数sm也被用作m-prev初始值,用于更新在解码过程中每一条层的每一宏块中宏块量化参数。
2.差值比特流的中间层编码
MPEG-2比特流的宏块层包括宏块属性信息,该信息包括表示宏块位置的宏块地址、宏块地址增量,即MBAI,表示宏块地址需跳过的数目、编码块模式,表示在宏块层中编码块与未编码的块的位置,这将在下文描述。
宏块地址,即宏块的MB地址,被定义为水平方向的MB位置索引,以“0”开始至“MBLength-l”,这里,“MBLength”被定义为一行中排列的宏块数目。附图7表示的具有704像素×480行空间清晰度的图像信息的MB地址。
如图6(d)所示,差值比特流的宏块层包括:宏块属性信息,即MB属性信息,它包含一个宏块地址增量,即MBAI,它表示需跳过的宏块地址数目,宏块量化参数重建信息,即MB量化参数重建码(MQ m Value),用于重建宏块量化参数,差值CBP的字符串(CBP-y,CBP-uv),它是初始MPEG-2比特流的编码块模式与转码MPEG-2比特流的编码块模式之间的差值编码块模式。包含在差值比特流中的宏块层中的MBAI被称为“差值MBAI”。包含在差值比特流中的宏块被称为“差值宏块”。
比特流分离装置1000的差值比特流产生部分1200接收从转码部分1100输入的初始MPEG-2比特流和转码MPEG-2比特流中的宏块,产生差值比特流的宏块,它是初始MPEG-2比特流与转码MPEG-2比特流之间的对于各自宏块地址的差,如图4所示。差值比特流产生部分1200对于每一宏块地址产生差值比特流的差值宏块,从而可以对于每一宏块地址来说,消除在初始MPEG-2比特流与转码MPEG-2比特流之间保持不变的宏块。
依据本发明,差值比特流产生部分1200的差值系数信息分离单元1220、预测误差计算单元1230、差值系数信息Z字形扫描单元1240和差值BS复用与编码单元1290集体构成一个差值宏块编码单元。
比特流分离装置1000的差值BS复用与编码单元1290配备有一个MBAI编码单元,图中未示出。MBAI编码单元适于产生差值比特流的宏块属性信息MBAI。对于差值比特流产生部分1200产生的差值比特流的宏块,MBAI表示被差值比特流产生部分1200除去的宏块地址数目,从而对于每一宏块地址使差值比特流的宏块能够与初始MPEG-2比特流的宏块和转码MPEG-2比特流的宏块相对应。
差值比特流的宏块地址增量MBAI将在下文中详细描述。
差值比特流是初始MPEG-2比特流与转码MPEG-2比特流之间的差值的编码。它提供了经再量化操作以后系数信息保持不变的宏块。对于只含有0系数信息的宏块在再量化以后保持不变。那些不包含任何属性特性信息的宏块相应地将被跳过。特别是,并不是所有的转码MPEG-2比特流中都包含有属性信息而被编码产生差值比特流。
差值比特流产生部分1200因此用于对系数信息在再量化以后没有改变的宏块相对于每一宏块地址产生差值比特流的差值宏块,从而可以消除相对于每一宏块地址而言,在初始MPEG-2比特流与转码MPEG-2比特流之间保持不变的宏块。
差值比特流的宏块并不是与转码MPEG-2比特流的宏块一一对应的。
差值比特流的宏块地址增量MBAI表示差值比特流的宏块位置,即先前编码的宏块地址与目前的宏块地址之间的差。
下面将参照附图8描述在一个条层中,比特流分离装置1000执行的计算与编码宏块地址增量MBAI的过程。编码和解码宏块地址增量MBAI称为“MB地址控制”。
在附图8的流程图中相关宏块的地址被称为“MBAddress”,先前编码的宏块地址被称为“MBAddress*prev”。
在步骤S102中,MBAddress*prev被初始化,赋值为-1。步骤S102前进到步骤S103,在这里转码MPEG-2比特流的条层的宏块将被编码。步骤S103前进到步骤S104,在这里要判断刚刚产生的转码MPEG-2比特流的宏块的量化参数是否已经与初始MPEG-2比特流的条层的相应宏块的量化参数不同。如果判断出量化参数已经改变,则步骤S104前进到步骤S121。否则步骤S104前进到步骤S112,在这里MBAI按下式计算:
MBAI=MBAddress-MBAddress*prev
这里,MBAddress是正在判断的相关宏块的地址。MBAI的值是这样计算出来的,在初始时,MBAddress*prev的值是负数,在流程图的开始,要将MBAddress加1。
步骤S112前进到步骤S113,在这里MBAI根据可变长度编码列表进行可变长编码。下文将详细描述。步骤S113前进到步骤S114,MBAddress*prev通过将MBAddress赋给MBAddress*prev加以更新。步骤S114前进到步骤S115,在这里所有的差值将被编码。步骤S115前进到步骤S121,在这里判断条层是否已经结束,也就是判断是否转码MPEG-2比特流的条层的所有宏块已经被处理。如果转码MPEG-2比特流的条层的所有宏块没有全部被处理,则步骤S121回到步骤S103,否则,步骤S121前进到结束步骤。
如前所述,差值比特流的宏块与转码MPEG-2比特流的宏块之间并不是一一对应的关系。也就是差值比特流的MB地址并不是对应于转码MPEG-2比特流的。这使得差值比特流的MBAI独立于转码MPEG-2比特流的MBAI。在差值比特流的MBAI解码过程中,即MB地址控制的过程中,差值比特流的宏块与转码MPEG-2比特流的宏块连续地匹配。
下文将参照附图9描述比特流合并装置2000解码条层中的MBAI的过程。
在附图9中,相关宏块的值被称为“MBAddress”,接下来将要解码的宏块地址被称为“next-MBAddess”。
在步骤S202中,差值比特流的条层中的导引宏块被读取并被解码。步骤S202前进到步骤S203,在这里,根据刚刚被解码的MBAI,按照下式计算next-MBAddess:
next-MBAddess=-1+MBAI
在图10的示意中举例说明了转码MPEG-2比特流的MB地址与差值比特流的MB地址之间的关系。
在图10所示的例子当中,转码MPEG-2比特流被称为“Main”,差值比特流被称为“Sub”。差值比特流(Sub)的条层的第一宏块的地址与转码MPEG-2比特流(Main)的MB地址3相对应,并且差值比特流的第一宏块的MBAI是4。在步骤S203中,利用下式计算next-MBAddess:
next-MBAddess=-1+4=3
在步骤S211中,转码MPEG-2比特流的一个宏块被读取。步骤S211前进到步骤S214中,在这里判断转码MPEG-2比特流的条层是否结束,即转码MPEG-2比特流的条层的所有宏块是否都被读取。如果转码MPEG-2比特流的条层的所有宏块都被读取,则步骤S214前进到结束步骤。否则,步骤S214前进到步骤S217,在这里转码MPEG-2比特流的条层的相关宏块被解码。步骤S217前进到步骤S218,在这里判断MBAddess是否比next-MBAddess小。如果判断出MBAddess比next-MBAddess小,则,步骤S218回到步骤S211。步骤S211与步骤S217之间的各步循环进行,直到MBAddess不小于next-MBAddess。如果在步骤S218中判断出MBAddess不小于next-MBAddess,则前进到步骤S221,在这里差值比特流的MBAddess指示的宏块将被解码。步骤S221前进到步骤S222,在这里读取差值比特流的宏块(MBAddess)。步骤S222前进到步骤S224,在这里判断差值比特流的条层是否结束,也就是判断差值比特流的条层的所有宏块是否已经都被处理,如果判断出差值比特流的条层的宏块都被处理,则步骤S224前进到步骤S231,在这里将MBAI的最大值赋给MBAI。在这里MBAI的最大值可以被计算为例如差值比特流的MB地址的最大值与MB地址的最小值的差。然后,步骤S231前进到步骤S228。如果在步骤S224中判断出来差值比特流的条层的所有宏块没有被全部处理完,步骤S224前进到步骤S227,在这里差值比特流的下一个差值MBAI被读取并被解码。步骤S227前进到步骤S228,在这里next-MBAddess采用下式进行更新:
next-MBAddess=MBAddess+MBAI 方程式(7)
在图10所示的例子当中,在差值比特流MB地址3的第一宏块旁边还有一个MB地址5的宏块。这就是在步骤S227中MBAI=2被解码,并且在步骤S228中,next-MBAddess采用下式计算:
next-MBAddess=3+2=5
然后步骤S228回到步骤S211。步骤S211到步骤S217之间循环重复地进行直到MBAddess不小于next-MBAddess。
宏块量化参数重建信息,即差值比特流的MB量化参数重建码(MQm Value)将被详细描述。MB量化参数重建码MQm Value也被为“差值MB量化参数导出常数”。
用于反量化初始MPEG-2比特流的量化参数被称为“MQ1”。用于再量化并产生转码MPEG-2比特流的量化参数被称为“MQ2”。
对于宏块的再量化参数MQ2,设定量化参数禁止区的控制操作与前面描述的对于条层的再量化参数SMQ2设定量化参数禁止区的控制操作是一样的。
转码器根据其自身的量化特性计算再量化参数,被称为“MQ2*”。控制操作是通过更新MQ2*产生再量化参数MQ2,从而限制了量化参数。
再量化参数MQ2是根据量化参数导出常数,这里被称为“m”,“m”是一个整数,更新MQ2*而计算出来的。MB量化参数重建码(MQm Value)用于重建宏块量化参数MQ1。“m”也被称为再量化参数导出常数。
特别是,比特流分离装置1000的转码部分1100接收初始MPEG-2比特流的宏块,根据宏块量化参数MQ1反量化包含在初始MPEG-2比特流中的每一宏块,从而重建初始活动图象序列信息,并根据宏块再量化参数MQ2量化重建的初始活动图象序列信息的每一宏块,从而产生转码MPEG-2比特流。
差值比特流产生部分1200包含一个宏块量化参数重建信息产生单元,图中未示出,用于产生宏块量化参数重建信息,即M B量化参数重建码(MQm Value),从而重建宏块量化参数MQ1。
差值比特流产生部分1200的预测误差计算单元1230和差值BS复用与编码单元1290集体构成一个宏块量化参数重建信息产生单元。
差值比特流产生部分1200根据宏块量化参数导出常数m产生宏块量化参数重建信息(MQm Value),m用于从宏块再量化参数MQ2重建宏块量化参数MQ1。
差值比特流产生部分1200根据下面的方程式(8)和(9)计算m:
帧内图像:
帧间图像:
上面的方程式意味着四舍五入操作。。
差值比特流产生部分1200使用量化参数MQ1和再量化参数导出常数m,利用方程式(10)和(11)计算再量化参数MQ2:
帧内图像:
MQ2=2m×MQ1+1 (sm≠0)
=MQ1 (sm=0) 方程式(10)
帧间图像:
MQ2=(m+1)×MQ1 方程式(11)方程式(8)和方程式(9)的和的小数部分被舍去。因此,这样计算出来的再量化参数导出常数m和再量化参数MQ2是整数。这使得计算出来的再量化参数MQ2限制在一定值的范围内,因此就可以设置再量化参数MQ2的禁止区。
比特流分离装置1000的差值比特流产生部分1200利用方程式(8)和(9)根据MQ1和MQ2计算MB量化参数导出常数m,和计算差值MB量化参数导出常数Δm,Δm是刚计算出来的当前MB量化参数导出常数m与先前MB量化参数导出常数即(m-prev)之间的差,然后将这样计算出来的差值MB量化参数导出常数Δm写入到MB量化参数重建信息当中,即MB量化参数重建信息码MQm Value。
比特流分离装置1000的差值比特流产生部分1200根据宏块量化参数导出常数m和先前计算出来的宏块量化参数导出常数,即m-prev之间的差值Δm产生宏块量化参数重建信息MQm Value。
比特流分离装置1000编码MB量化参数重建码MQm Value的处理过程将参照附图11的流程进行描述。
在附图11的流程图上,在条头的处理过程中计算出来的条再量化参数导出常数被称为“sm”,先前编码的先前MB量化参数导出常数被称为“m-prev”。
在步骤S301中,m-prev被初始化为sm。步骤S301前进到步骤S312,在这里解复用与解码单元1100从初始MPEG-2比特流的当前条层的宏块中接收并解码宏块MB量化参数MQ1。步骤S312前进到步骤S313,在这里接收MB量化参数导出常数m。步骤S313前进到步骤S314,在这里根据下式计算差值MB量化参数导出常数Δm:
Δm=m-m-prev
步骤S314前进到步骤S315,在这里根据Δm特定编码表进行可变长度编码,下文将详细描述。步骤S315前进到步骤S316,在这里将目前的m值赋给m-prev,从而更新m-prev。
步骤S316前进到步骤S317,在这里判断条层是否结束,也就是判断转码MPEG-2比特流的条层的所有宏块是否都已经被处理。如果在步骤S317中判断出转码MPEG-2比特流的条层的所有宏块都已经被处理,则步骤S317前进到结束步骤。否则,步骤S317返回到步骤S312。步骤S312到步骤S316之间重复循环地进行,直到转码MPEG-2比特流的条层的所有宏块都已经被处理。
特别是,有两种编码的方法将差值MB量化参数导出常数Δm编码成可变长度码。
差值MB量化参数导出常数Δm可以用于重建宏块量化参数,就是宏块量化参数重建信息。
编码宏块量化参数重建信息即Δm为可变长度编码的第一种方法是根据编码列表进行编码,这种列表是根据出现的可能性也就是发生的频率制定的。
编码宏块量化参数重建信息、即Δm为可变长度编码的第二种方法是根据一个方程式计算将指定给宏块量化参数重建信息即Δm的可变长度码,。
第二种编码宏块量化参数重建信息即Δm为可变长度编码的方法将在下文详细描述。
差值比特流产生部分1200的宏块量化参数重建信息产生单元将宏块量化参数重建信息Δm进行可变长度编码。
用于将差值MB量化参数导出常数,即宏块量化参数重建信息Δm编码成可变长度码的列表如图12所示。以后可变长度编码被称为“编码字”。赋给Δm的编码字的值为-30到30。编码字的最后一个码,即“s”被称为“符号比特”,它表示Δm是正值还是负值。如果Δm为正值,“s”值为0。如果Δm为负值,“s”值为1。根据这样建立的编码列表对Δm进行可变长度编码,可以表示Δm的绝对值,即|Δm|,即通过连续的数据的数目以及Δm的符号比特“s”可以得到Δm的绝对值。符号比特也表示出了编码字的结束。
编码字的长度,即“codelength”,和编码字的值,即“codeword”可以根据下面的方程式进行计算:
codelength=1 (Δm=0)
=|Δm|+2 (Δm≠0)
codeword=2(|Δm|+2)-22+1 (Δm<0)
=0 (Δm=0)
=2(|Δm|+2)-22 (Δm>0)
从上面的等式中可以看出指定给差值MB量化导出常数、宏块量化参数重建信息的可变长度编码Δm可以用上式进行计算,而不用使用任何编码列表。
根据本发明,差值比特流产生部分1200的宏块量化参数重建信息产生单元可以根据宏块量化参数重建信息的绝对值,计算指定给宏块量化参数重建信息Δm的可变长度编码,从而对宏块量化参数重建信息Δm进行可变长度编码。
比特流合并装置2000解码MB量化参数重建信息码(MQm Value)的过程将参照附图13进行描述。
比特流合并装置2000的编码模式切换单元2130、系数信息重建单元2140、差值系数信息重建单元2150、加法单元2160和重建系数信息扫描单元2170集体构成一个宏块量化参数重建信息重建单元,图中未示出。
宏块量化参数重建信息重建单元重建宏块量化参数重建信息m,Δm用于从差值比特流重建宏块量化参数MQ1来重建宏块量化参数MQ1。
差值比特流合并装置2000的编码模式切换单元2130系数信息重建单元2140差值系数信息重建单元2150加法单元2160和重建系数信息扫描单元2170集体构成一个宏块量化参数重建信息重建部分。
在图13所示的流程图中,在条头处理过程中计算得到的条再量化参数导出常数被称为“sm”,以前解码的先前MB量化参数推导码被称为“m-prev”。
在步骤S401中,m-prev被初始化为sm。步骤S401前进到步骤S411,在这里读取差值比特流的目前条层的一个宏块。步骤S411前进到步骤S412,在这里差值比特流中的差值MB量化导出常数Δm被解码。步骤S412前进到步骤S413,在这里根据下式计算宏块的MB量化参数导出常数m。
m=Δm+m-prev
步骤S413前进到步骤S414,在这里接收转码MPEG-2比特流的MQ2。步骤S414前进到步骤S415,在这里根据下式计算MQ1:
·帧内图像:MQ1=MQ2-12m---(m≠0)]]>
=MQ2 (m=0) 方程式(12)
·帧间图像:
MQ1=MQ2/(m+1) 方程式(13)
步骤S415前进到步骤S416,在这里将目前的m赋给m-prev,从而更新m-prev。步骤S416前进到步骤S417,在这里判断条层是否结束,也就是判断差值比特流的条层的所有宏块是否都被处理。如果判断出差值比特流的条层的所有宏块都被处理,则步骤S417前进到结束步骤。否则,步骤S417退回到步骤S411。S411与S416之间的步骤重复循环的进行,直到差值比特流的条层的所有宏块都被处理。
如图6(d)所示,差值比特流的宏块层包括差值CBP数值串(CBP-y,CBP-uv),这是初始MPEG-2比特流与转码MPEG-2比特流的编码块模式之间的差值编码块。差值比特流产生部分1200的差值BS复用与编码单元1290提供一个差值编码块模式产生单元,图中未示出,用于产生初始MPEG-2比特流的编码块模式与转码MPEG-2比特流的块模式之间的差值编码块模式。根据本发明,差值编码块模式产生单元构成一个编码块模式产生单元。
宏块层的宏块有编码的块与没有编码的块,一个编码块模式表示在宏块层中各编码和未编码块的位置。
每一个差值CBP数值串(CBP-y,CBP-uv)表示初始MPEG-2比特流中的宏块层的编码与未编码的块相对于转码MPEG-2比特流的宏块层中未编码块的位置。
差值CBP数值串(CBP-y,CBP-uv)将在下文描述。
初始MPEG-2比特流、转码MPEG-2比特流的编码块模式,和差值比特流的差值CBP数值串如图14所示。以后编码块模式被称为“CBP”。CBP=1表示编码的块。CBP=0表示未编码的块。宏块层包括六个由编码块和未编码块组成的宏块。编码块模式是一个表示宏块层中编码块与未编码块的位置的数值串。初始MPEG-2比特流与转码MPEG-2比特流的编码块模式各自被称为“CBPin”与“CBPout”。初始MPEG-2比特流与转码MPEG-2比特流的编码块模式的差被称为“CBP*”。宏块层的宏块包括4个亮度块和两个色差块。差值CBP数值串包括差值亮度CBP数值串(CBP-y)以及差值色差CBP数值串(CBP-uv)。
初始MPEG-2比特流和转码MPEG-2比特流的六个宏块被标引为[p1]。差值比特流的六个宏块被标引为[p2],[p3]。这里p1,p2,p3被称为“块标引”。
每一个P1是0,1,2,3,4,5中的任一整数。对于p1,0-3的整数表示4个亮度块,整数4和5表示两个色差块。
每一个P2是0,1,2,3中的任一整数每一个P3是0,1中的任一整数。对于p2,整数值0,1,2,3表示4个亮度块,对于p3,整数值0,1表示两个色差块。[p2][p3]表示在差值比特流中的亮度块与色差块的位置。特别是,差值CBP数值串由包括CBP-y[0]、CBP-y[1]、CBP-y[2]、CBP-y[3]的CBP-y[p2]组成,还有CBP-uv[p3],它包括CBP-uv[0]、CBP-uv[1],表示编码的色差块与未编码的色差块。
在转码操作中,初始MPEG-2比特流的宏块层的编码块转换成相应的转码MPEG-2比特流的编码块或者未编码块。另一方面,在转码操作中,初始MPEG-2比特流的宏块层的未编码块转换成相应的转码MPEG-2比特流的未编码块。这使得转码MPEG-2比特流的宏块层的每一个编码块对应初始MPEG-2比特流的宏块层的编码块。
这意味着转码MPEG-2比特流的宏块层的编码块模式,即CBPout[p1]=1,对应于初始MPEG-2比特流的相关宏块层的编码块模式CBPin[p1]=1和编码块模式的差CBP*[p1]=1,如图14所示。
因此,对于转码MPEG-2比特流的编码块,差值比特流产生单元1200的差值编码块模式产生单元并不产生差值CBP数值串。如图14所示,CBP-y[0],CBP-y[3],CBP-uv[1]相应于转码MPEG-2比特流的编码块模式CBPout[p1]=1,因而没有产生。
在另一方面,差值比特流产生单元1200的差值编码块模式产生单元用于产生差值CBP数值串,例如CBP-y[p2],CBP-uv[p3],每个表示的是初始MPEG-2比特流中的宏块层编码块与未编码块的位置,以及转码MPEG-2比特流中的未编码块的位置,即CBPout[p1]=0。差值比特流产生部分1200的差值编码块模式产生单元相对于MPEG-2差值比特流的未编码块CBPout[p1]=0产生CBP*,并将CBP*写入到差值CBP数值串中,例如CBP-y[p2],CBP-uv[p3],如图14所示。
每一个差值CBP数值串(CBP-y,CBP-uv)表示初始MPEG-2比特流的宏块层的编码块与未编码块的位置相对于转码MPEG-2比特流中的宏块层的未编码宏块的位置。
比特流分离装置1000编码差值CBP数值串的过程将参照附图15在下文描述。
在步骤S501中,计算CBP*[p1]。步骤S501前进到步骤S502,在这里宏块标引p1,p2,p3均被初始化为0。步骤S502前进到步骤S511,在这里判断CBPout[p1]是否为0。如果判断出CBPout[p1]不为0,则步骤S511前进到步骤S541。否则,步骤S511前进到步骤S512,在这里判断p1是否小于4。如果p1不小于4,则步骤S512前进到步骤S531。否则,步骤S512前进到步骤S521,在这里将CBP*赋给CBP-y[p1]。步骤S521前进到步骤S522,在这里p2加1。步骤S522前进到步骤S541,在这里p1加1。在步骤S531,将CBP*赋给CBP-uv[p3]。步骤S532前进到步骤S532,在这里p3加1。步骤S532前进到步骤S541。
步骤S541前进到步骤S542,在这里判断p1是否小于6。如果判断出p1不小于6,则步骤S542前进到步骤S551。否则,步骤S542退回到步骤S511。步骤S511与步骤S541之间重复循环地进行,直到p1不小于6(等于6)。
如果在步骤S542中判断出来p1不小于6,步骤S542前进到步骤S551,在这里CBP-y[]被编码。这意味着差值CBP数值串CBP-y[]被编码为可变长度编码。步骤S551前进到步骤S552,在这里差值CBP数值串CBP-uv[]被编码为可变长度编码。然后,步骤S552前进到结束步骤。
特别是,差值比特流产生部分1200的差值编码块模式产生单元包含有一个多余块的计数部分,一个存储部分,一个差值亮度CBP数值串CBP编码部分,一个差值色差CBP编码部分。
多余块计数部分计数转码MPEG-2比特流的宏块中的不必要的亮度块的个数,即未编码的亮度块的个数,以后被称为“n-y”以及不必要的色差块的个数,即未编码的色差块的个数,以后称为“n-uv”。
存储部分存储大量的亮度列表,用于将差值亮度CBP数值串编码为各自的可变长度编码。以及大量的色差列表,用于将差值色差CBP数值串编码为各自的可变长度编码。
差值亮度CBP编码部分响应于通过所述的多余块计数部分计数的不必要的亮度块n-y,从所述的亮度列表中选择一个亮度列表,并根据选择的亮度列表编码差值亮度CBP数值串为一个可变长度编码。
差值色差CBP编码部分响应于通过所述的多余块计数部分计数的不必要的差值色差n-uv,从所述的色差列表中选择一个色差列表,并根据选择的色差列表编码差值色差CBP数值串为一个可变长度编码。
根据本发明,转码部分1200的预测误差计算单元1230、差值系数信息Z字形扫描单元1240和差值BS复用与编码单元1290构成多余块计数部分、存储部分和差值亮度CBP编码部分以及差值色差CBP编码部分。
用于将差值CBP数值串的CBP-y[],CBP-uv[]进行可变长度编码的编码列表的例子如图16所示。
上面已经描述了差值CBP数值串的编码过程。下面将描述差值CBP数值串的解码过程。
差值CBP数值串的解码原理将参照附图17进行描述。附图17中,被比特流合并装置2000重建的编码块模式被称为“CBPrec”。
特别是,编码模式切换单元2130,系数信息重建单元2140,差值系数信息重建单元2150,加法单元2160以及重建的系数信息扫描单元2170装备有一个编码块模式重建部分,用于根据差值比特流的差值块模式(CBP-y,CBP-uv)重建初始MPEG-2比特流的宏块层的编码块模式“CBPrec”。
对于转码MPEG-2比特流的编码块,即CBPout[p1]=1,相应的初始MPEG-2比特流的块也是编码块。从而无差值CBP数值串例如CBP-y[p2]和CBP-uv[p3]在差值比特流中提供。比特流合并装置2000的编码块模式重建部分因而相应于转码MPEG-2比特流的编码块的编码块模式CBPout[p1]=1将1赋值给CBPrec[p1],如图17所示。
对于转码MPEG-2比特流的未编码块,即CBPout[p1]=0,比特流合并装置2000将相应的差值CBP数值串例如CBP-y[p2]和CBP-uv[p3]赋值给相应的CBPrec[p1]。
比特流合并装置2000的编码块模式重建部分用于产生CBPrec[p1],来重建初始MPEG-2比特流的编码块模式,即CBPin[p1]。这意味着比特流合并装置2000将CBPrec[p1]指定给重建的初始MPEG-2比特流的CBPin[p1],如图17所示。
比特流合并装置2000的编码块模式重建部分执行的解码一个宏块的差值CBP数值串的过程将参照附图18进行描述。
在流程图18中,转码MPEG-2比特流的宏块层的编码块模式的数目表示宏块层中未编码的亮度块的数目,以后被称为“n-y”,转码MPEG-2比特流的宏块层的编码块模式的数目表示宏块层的未编码的色差块的数目,以后被称为“n-uv”。比特流合并装置2000有一个列表存储单元,图中未示出,在这里存储了大量的亮度编码表与色差编码表。亮度编码表用于编码差值CBP数值串,将其进行可变长度编码,色差编码列表用于将色差CBP数值串编码成可变长度编码。
在步骤S601中,计数n-y与n-uv,从存储在比特流合并装置2000的列表存储单元中的大量亮度编码列表与色差编码列表中选择一个亮度编码列表与一个色度编码列表,用于解码差值CBP数值串的CBP-y[],CBP-uv[]。步骤S601前进到步骤S604,在这里根据亮度列表解码差值CBP数值串的CBP-y[p2]。步骤S604前进到步骤S608,在这里根据色差列表解码差值CBP数值串的CBP-uv[p3]。步骤S608前进到步骤S610,在这里块标引p1,p2,p3被初始化为0。
步骤S610前进到步骤S611,在这里判断CBPout[p1]是否为0。如果CBPout[p1]不为0,则步骤S611前进到步骤S641。如果判断出CBPout[p1]为0,则步骤S611前进到步骤S612,在这里判断p1是否小于4。如果p1不小于4,则步骤S612前进到步骤S631,在这里将CBP-uv[p3]指定给CBPrec[p1]。否则步骤S612前进到步骤S621,在这里将CBP-y[p2]指定给CBPrec[p1]。步骤S621前进到步骤S622,在这里p2加1。然后步骤S622前进到步骤S651。步骤S631前进到步骤S632,在这里p3加1。然后步骤S632前进到步骤S651。如果判断出CBPout[p1]不等于0,则步骤S611前进到步骤S641,在这里将CBPrec[p1]指定为1。然后步骤S641前进到步骤S651。在步骤S651,p1加1。步骤S651前进到步骤S652,在这里判断p1是否小于6。如果p1小于6,则步骤652回到步骤S611。步骤S611与步骤S651之间循环重复地进行,直到p1不在小于6。如果在步骤S652中判断出p1不在小于6,则步骤S652前进到结束步骤。
在一个宏块的差值CBP的字符串的解码过程结束时,比特流合并装置2000的编码块模式重建部分为宏块产生所有的编码块模式,即CBPrec[p1],然后将CBPrec[p1]指定给CBPin[p1],来重建重建的初始MPEG-2比特流的编码块模式CBPin[p1],即重建的初始MPEG-2比特流的编码块模式。
从上面的描述可以知道,差值比特流的中间层编码,例如宏块地址增量,即MBAI,MB量化参数重建码(MQ m Value),差值CBP值字符串(CBP-y,CBP-uv),在每一宏块当中被顺序编码和解码。
3.差值比特流的下层编码
MPEG-2比特流,例如初始MPEG-2比特流以及转码MPEG-2比特流的块层包括系数信息,该系数信息是8×8的系数矩阵。
图26示出了包括在差值比特流的上层、中间层以及下层的差值信息列表。从该表中可以看出,包括在差值比特流中的信息总量小于包括在初始MPEG-2比特流中的信息总量。这意味着每秒从差值比特流中传送的信息总量不会超过初始MPEG-2比特流的信息总量。
差值比特流的块层包含有初始MPEG-2比特流与转码MPEG-2比特流之间的差值系数信息。如图26所示。
下文将参照附图19描述差值系数信息的编码原则。如图19所示,包含初始MPEG-2比特流的系数的系数信息被称为“QFin[v][u]”,包含有转码MPEG-2比特流的系数的系数信息被称为“QFout[v][u]”,差值比特流的差值系数信息被称为“QFdiff[v][u]”。
如上文所述,系数信息包括0系数(其值为0)与非0系数(其值不为0)。初始MPEG-2比特流的0系数被转换成转码MPEG-2比特流中的0系数。初始MPEG-2比特流的非0系数被转换成转码MPEG-2比特流中的差值系数,如图19所示。这意味着初始MPEG-2比特流的非0系数的值被转换成转码MPEG-2比特流的非0系数的差值。这使得转码MPEG-2比特流的非0系数与初始MPEG-2比特流的非0系数相对应。
初始MPEG-2比特流的非0系数与0系数被分别称为“QFnonzero-in”与“QFzero-in”。转码MPEG-2比特流的0系数与非0系数被分别称为“Q Fnonzero-out”与“QFzero-out”。
初始MPEG-2比特流的系数包括将被转换成转码MPEG-2比特流的0系数“QFzero-out”的系数以及将被转换成转码MPEG-2比特流的非0系数“QFnonzero-out”。以后,初始MPEG-2比特流的系数将被转换成转码MPEG-2比特流的0系数被称为“QFin-to-zero”,初始MPEG-2比特流的系数将被转换成转码MPEG-2比特流的非0系数被称为“QFin-to-nonzero”。
比特流分离装置1000以Z字形方式读取初始MPEG-2比特流的QFin-to-nonzero系数,通过计算初始MPEG-2比特流的系数与转码MPEG-2比特流的系数值之间的差来产生差值非0系数信息。另一方面,比特流分离装置1000以Z字形方式扫描初始MPEG-2比特流的QFin-to-zero系数,利用初始MPEG-2比特流的系数产生0系数信息。如图19所示。
初始MPEG-2比特流转码形成转码MPEG-2比特流的过程是通过以下的步骤实现的:
a)反量化初始MPEG-2比特流,重建初始活动图象序列信息;以及
b)依次再量化经反量化的初始活动图象序列信息,产生初始MPEG-2比特流。
但是,反量化初始MPEG-2比特流来重建初始活动图象信息,和依次再量化重建的初始活动图象信息来重建初始MPEG-2比特流,这需要大量的存储器暂存重建的初始活动图象信息。
另一方面,比特流分离装置1000适于直接从初始MPEG-2比特流转码初始MPEG-2比特流来产生转码MPEG-2比特流,这种操作是通过反量化与再量化的单一组合代替反量化和依次再量化初始MPEG-2比特流来实现的,从而除去了重建初始活动图象序列信息的过程,并提高了转码过程的效率和速度。
比特流分离装置1000能够根据初始MPEG-2比特流的系数信息QF1、量化参数MQ1和再量化参数MQ2直接计算并产生转码MPEG-2比特流的系数信息QF2。
比特流分离装置1000利用下式根据初始MPEG-2比特流的系数信息QF1、量化参数MQ1和再量化参数MQ2计算系数信息QF2:
·帧内图像
QF2=QF1×MQ1/MQ2+sign(QF1)/2
·帧间图像
QF2=(QF1+sign(QF1)×1/2)×MQ1/MQ2
这里,当QF1为正值时,sign(QF1)为“+1”,当QF1为负值时,sign(QF1)为“-1”。
特别是,比特流分离装置1000的转码部分1100用于根据宏块量化参数MQ1与再量化参数MQ2之间的比值转换包含在初始MPEG-2比特流的每一宏块,产生转码MPEG-2比特流。
与宏块量化参数MQ1和再量化参数MQ2相类似,比特流分离装置1100的转码部分1100根据条层量化参数SMQ1与条层再量化参数SMQ2之间的比值转换包含在初始MPEG-2比特流的条层的每一宏块,产生转码MPEG-2比特流。
比特流分离装置1000编码差值比特流的块层的系数信息的过程将在下文详细描述。
块层的系数信息的编码过程包括以下步骤:
a)产生包含有差值0系数信息与差值非0系数信息的差值系数信息;
b)编码差值0系数信息;以及
c)编码差值非0系数信息。
差值比特流的差值系数信息被称为“QFdiff[v][u]”。这里,(u,v)被称为“帧内块标引”,表示系数的位置,而且(u,v)[0,7]。
比特流分离装置1000将要转换成QFzero-out[u][v]的QFin[v][u]指定给QFdiff[v][u],将要转换成QFnonzero-out[u][v]的QFin[v][u]指定给一维的数值串,以后被称为“QFnonzero-in[w]”,将QFnonzero-out[u][v]指定给另一个一维数值串,以后被称为“QFnonzero-out[w]”,如图19所示。
特别是,比特流合并装置1000提供一个QF存储单元,用于在QF存储单元产生存储部分,包括有QFdiff[v][u]、QFnonzero-in[w]、QFnonzero-out[w]和QFnonzero-rec[w],下文将详细描述。然后,比特流分离装置1000将要转换成QFzero-out[u][v]的QFin[v][u]存储在QFdiff[v][u]中,将要转换成QFnonzero-out[u][v]的QFin[v][u]存储在QFnonzero-in[w]中,将QFnonzero-out[u][v]存储在QFnonzero-out[w]中。在再量化的过程中,的小数部分如前所述将被舍去。这意味着在初始MPEG-2比特流的被称为“真Qfnonzero-in[w]”的真非0系数与根据转码MPEG-2比特流的非0系数预测的初始MPEG-2比特流的预测非0系数“预测QFnonzero-in[w]”即QFnonzero-out[w],之间存在着预测误差。这个预测误差以后被称为“ΔQF[w]”。
这样根据QFnonzero-out[w]与估算误差ΔQF[w]重建的系数信息被称为“QFnonzero-rec[w]”。
产生包括QFdiff[v][u],QFnonzero-in[w],QFnonzero-out[w]的差值系数信息的过程(a)将参照附图20进行描述。
在步骤S701中,QFdiff[v][u]被初始化为NULL。步骤S701前进到步骤S702,在这里(v,u)被初始化为(0,0)。步骤S702前进到步骤S703,在这里w被初始化为0。步骤S703前进到步骤S711,在这里判断QFout[v][u]是否等于0。如果判断出QFout[v][u]等于0,则步骤S711前进到步骤S721,在这里相应于QFout[v][u]的QFin[v][u]利用下式被指定为QFdiff[v][u]:
QFdiff[v][u]=QFin[v][u](QFout[v][u]=0) 方程式(14)
然后,步骤S721前进到步骤S741。
如果在步骤S711中判断出QFout[v][u]不等于0,则步骤S711前进到步骤S731,在这里相应于QFout[v][u]的QFin[v][u]被指定给QFnonzero-in[w]。这里,QFdiff[v][u]仍然保持NULL。NULL意味着“空”或者“未被定义”。
步骤S731前进到步骤S732,在这里QFout[v][u]被指定给QFnonzero-out[w]。然后步骤S732前进到步骤S733,在这里w加1。然后,步骤S733前进到步骤S741。
在步骤S741判断(v,u)是否为(7,7)。如果(v,u)为(7,7),则步骤S741前进到结束步骤。否则步骤S741前进到步骤S742,在这里(v,u)以Z字形方式前进到下一位置。如前面所述,块层的系数以Z字形方式扫描。这意味着块层的块内标引(v,u)的指导系数以Z字形方式移动。然后步骤S742前进到步骤S711。步骤S711到步骤S733和步骤S742之间重复地进行直到(v,u)为(7,7),这意味着块层的所有系数均被处理。
编码差值0系数信息的过程(b)将在下文中描述。
如前面所述,QFdiff[v][u]包含相应于QFout[v][u]=0定义的QFin[v][u]以及未被定义的NULL。比特流分离装置1000的差值系数Z字形扫描单元1240用于根据产生的一维数值串顺序的产生包含有游程与级的组合和游程的差值0系数信息。
比特流分离装置1000用于编码游程与级的组合,并将EOB码附加在各自的游程与级的组合和游程的末端。
编码游程与级的组合,游程的方法有三种。
编码游程与级的组合的第一种方法是将游程与级作为一个单元编码每一个游程与级的组合。这样,每一个游程与级的组合可以用MPEG-2标准码进行编码。而且run-level编码列表也可以用来将游程与级的组合进行可变长度编码。
编码游程与级的组合的第二种方法是分别编码游程与级,就是通过第一步骤编码游程,第二步骤编码级。在这里游程与级的可变长度编码可以分别进行。
编码游程与级的组合的第三种方法是通过第一步骤编码游程,第二步骤根据再量化系数导出常数m与level的值编码级。
特别是,差值比特流产生部分1200配备有一个存储单元、可变长度编码列表选择单元以及可变长度编码单元,图中未示出。存储单元存储大量存储的level编码列表。level编码列表用于编码差值0系数信息,即将level进行可变长度编码。可变长度编码列表选择单元用于根据再量化系数导出常数m从大量level编码列表中选择一个level编码列表。可变长度编码单元用于根据可变长度编码选择单元选择的编码列表对差值0系数信息进行可变长度编码。
而且,差值比特流产生部分1200也可以计算level编码列表。这是编码游程与级的组合的最有效的方法。
编码游程与级的组合的第三种方法将在下文详细描述。
可变长度编码,即游程与级的码字,如图21、22所示。图21(a)表示帧内图像的run编码列表。图21(b)表示帧间图像的run编码列表。如图21(a)和图21(b)显示的run编码列表是根据run出现的可能性,即run出现的频率,利用霍夫曼编码法则生成的。
如图21所示,将run=0指定给一比特的码字。根据再量化参数导出常数m选择的level编码列表将码字指定给level。这意味着根据第三种方法指定给(run,level)=(0,+1)的可变长编码是“0s”(m=1)或者“00s”(m>=2),码字的第一个码代表run的码字,剩下的码字代表level的码字。
另一方面,根据MPEG-2标准,指定给(run,level)=(0,+1)的可变长度编码是“1s”(第一DCT系数)或者“11s”(除了第一系数以外的DCT系数)。
从上面的描述可以看出,根据第三种方法指定给(run,level)=(0,+1)的可变长度编码与根据MPEG-2标准制定给(run,level)=(0,+1)的可变长度编码是一样的。
在帧内图像中,run的值等于0发生的概率大于50%,run的值等于0或1发生的概率大于70%。而且对于帧间图像,run的值等于0或1发生的概率大于50%。如前面所述,在第三种方法中使用的run编码列表是根据run出现的概率利用霍夫曼编码原则产生的。在第三种方法中,短字长的编码字被指定给出现高出现可能性的runs,例如指定给其值等于0或1的runs。这样降低了编码字的总长,提高了编码操作的效率。
图22示出的是再量化参数导出常数m=6的level编码列表。在图22中,1evel的编码字可以通过“zero”以及跟在一系列连“0”之后的表示|level|-1的数目的标志比特“s”来表示。|level|的最大值为再量化导出常数m。
如图22所示的编码字与图12所示的差值MB量化参数导出常数Δm的编码列表是一样的,这使得如果可变长度编码,即如图22所示的编码字,被指定给level,每一个编码字将可以根据码字中连续的0的数目计算解码level,这就使不使用level编码列表而是计算编码字成为可能。
特别是,比特流分离装置1200配备有一个存储单元、一个run编码单元和一个level编码单元。存储单元用于存储将run分别进行可变长度编码的run列表。level编码单元用于将level进行可变长度编码,根据从第二宏块量化参数MQ2重建第一宏块量化参数MQ1的第一量化参数导出常数Δm计算将指定给levels的可变长度编码。
依据本发明,差值比特流产生部分1200的差值系数信息扫描单元1240以及差值BS复用与编码单元1290集体构成一个存储单元、一个run编码单元以及一个level编码单元。
在块层的差值0系数信息的编码过程结束时,差值非0系数信息将在块层编码。
编码差值0系数信息的过程(c)将在下文描述。
存储在一维数值串QFnonzero-in[w]以及一维数值串QFnonzero-out[w]中的差值非0系数信息将以下面的方式被读取并被编码。
预测误差ΔQF[w]将通过量化参数MQ1、再量化参数MQ2以及QFnonzero-out[w]用下式进行计算:
上面的方程式是一个四舍五入的运算,而且ΔQF[w]是真QFnonzero-in[w]与根据前面描述的QFnonzero-out[wl估算的估算QFnonzero-in[w]之间的预测误差。
这样计算出来的预测误差ΔQF[w]进行可变长度编码。
对于预测误差ΔQF[w]进行编码的方法有两种。
对预测误差ΔQF[w]进行编码的第一种方法是使用一个预先制定的预测误差编码列表。这就意味着比特流分离装置1000配备有一个预测误差编码列表存储单元,在这里存储着预测误差编码列表。比特流分离装置根据预测误差编码列表对预测误差ΔQF[w]进行可变长度编码。
对预测误差ΔQF[w]进行编码的第二种方法是根据再量化参数导出常数m以及level的值进行的。
特别是,差值比特流分离装置1200配备有一个存储单元、一个可变长度编码列表选择单元和一个可变长度编码单元,图中未示出。存储单元用于存储大量存储的预测误差编码列表。预测误差编码列表用于编码差值非0系数信息,即预测误差ΔQF[w]为可变长度编码。可变长度编码列表选择单元用于根据再量化参数导出常数m从大量预测误差编码列表中选择一个预测误差编码列表。可变长度编码单元用于根据可变长编码列表选择单元选出的列表,将差值非0系数信息,即ΔQF[w]进行可变长度编码。
差值比特流产生装置的预测误差计算单元1230、差值系数信息Z字形扫描单元1240和差值BS复用与编码单元1290集体构成一个存储单元、一个可变长度编码列表选择单元以及一个可变长度编码单元。
同样的,比特流分离装置1000也能计算ΔQF[w]编码列表。这是编码预测误差ΔQF[w]的一个最有效的方法。
编码预测误差ΔQF[w]的另一种方法将在下文详细描述。
在图23中示出了可变长度编码,即帧内图像的预测误差ΔQF[w]的码字以及在量化参数导出常数m=6的编码列表。
|ΔQF[w]|的最大值为再量化参数导出常数m,即6。相应的|ΔQF[w]|的值为0到6的整数。
标志比特“s”表示ΔQF[w]的值为正还是为负。当ΔQF[w]的值为正值时,“s”被指定为0。当ΔQF[w]的值为负值时,“s”被指定为1。标志比特“s”只用于帧间图像,就是说在帧间图像中标志比特“s”被省略。
帧内图像的预测误差ΔQF[w]的编码字与图12示出的差值MB量化参数导出常数Δm的编码列表是一样的。这使得如果可变长度编码,即如图23所示的码字被指定给估算误差ΔQF[w],每一个码字可以通过计算码字中连0的个数解码ΔQF[w]。这使得不使用估算误差编码列表而是计算编码字成为可能。
差值比特流产生部分1200根据量化参数导出常数Δm,计算可变长度编码,并将其指定给预测误差ΔQF[w],Δm用于从宏块再量化参数MQ2以及预测误差ΔQF[w]重建宏块量化参数MQ1。
块层的系数信息编码过程就如前面所述。
差值系数信息的解码原则将参照附图24进行描述。差值系数信息包括差值0系数信息,包含有游程与级的组合,例如(3,1)、(1,1)、(1,1)以及(0,-1)、EOB码,以及差值非0系数信息,包含有预测误差ΔQF[w,]例如0、-1、0和1,以如图24所示的顺序排列。
差值比特流合并装置2000解码差值系数信息来重建初始MPEG-2比特流的块层的系数信息,即QFin[v][u]的过程将在下文描述。
解码块层的差值系数信息来重建初始MPEG-2比特流的块层的系数信息,即QFin[v][u]的过程以下列步骤执行:
a)接收再量化系数导出常数m;
b)解码差值0系数信息,重建初始MPEG-2比特流的块层的系数信息;
c)解码非0系数信息,重建初始MPEG-2比特流的块层的系数信息。
d)合并步骤(b)重建的差值非0系数信息与步骤(c)重建的非0系数信息,重建初始MPEG-2比特流的块层的系数信息。
接收再量化系数导出常数m的过程(a)是通过比特流合并装置2000从差值比特流中执行的。
特别是,比特流合并装置2000的编码模式切换单元2130、系数信息重建单元2140、差值系数信息重建单元2150、加法单元2160和重建系数信息扫描单元2170配备有一个宏块量化参数重建信息重建部分,图中未示出。宏块量化参数重建信息重建部分用于重建再量化参数导出常数m来重建宏块量化参数(MQ1),m用于从所述的差值编码活动图像序列信号重建宏块量化参数(MQ1)。
比特流合并装置2000的编码模式切换单元2130、系数信息重建单元2140,差值系数信息重建单元2150、加法单元2160和重建系数信息扫描单元2170集体构成一个宏块量化参数重建信息重建部分。
解码差值0系数信息来重建初始MPEG-2比特流的块层的系数信息的过程(b)将在下文详细描述。
比特流合并装置2000的差值系数信息重建单元2150用于从差值比特流输入包含有游程与级的组合的差值0系数信息,根据先前接收的再量化参数导出常数m,解码游程与级的组合(run,level),根据块内导引(v,u)重建宏块层,即8×8的系数阵列。在这一过程中重建的8×8系数阵列包含有值为NULL(未被定义)的系数。差值系数信息重建单元2150用于继续重复上述的步骤来重建块层的0系数信息,直到E0B码被读取。
解码差值非0系数信息来重建初始MPEG-2比特流的块层的非0系数信息的过程(c)将在下文详细描述。
比特流合并装置2000配备有一个存储单元,存储一维的数值串QFnonzero-out[w]。比特流合并装置2000的系数信息重建单元2140用于从BS解复用与解码单元2110输入并读取转码MPEG-2比特流的游程与级的组合,并将这样读取的系数以Z字形扫描的方式逐个存储在一维的数值串QFnonzero-out[w]中,重建8×8的系数矩阵。
比特流合并装置2000的系数信息重建单元2140用于从差值BS解复用与解码单元2120输入预测误差ΔQF,并根据由再量化参数导出常数m选择的预测误差编码列表解码预测误差ΔQF。
然后,比特流合并装置2000的系数信息重建单元2140读取QFnonzero-out[w],根据QFnonzero-out[w]、这样解码的ΔQF、从转码MPEG-2比特流接收的再量化参数导出常数MQ2以及从MB信息重建的量化参数MQ1,按照下式重建非0系数信息,即QFnonzero-rec[w]:
上式是一个四舍五入操作的过程。
合并步骤(b)重建的差值非0系数信息和步骤(c)重建的系数信息,来重建初始MPEG-2比特流的块层的系数信息的过程(d)将在下文中描述。
比特流合并装置2000的加法单元2160以及重建系数信息扫描单元2170用于输入系数信息重建单元2140重建的8×8系数阵列,以及系数信息QFnonzero-out[w],以Z字形方式扫描8×8系数阵列,并用在步骤(b)中解码的系数信息QFnonzero-rec[w]取代8×8阵列中的NULL,从而重建8×8的系数阵列,即初始MPEG-2比特流的块层,如图24所示。
比特流合并装置2000的加法单元2160以及重建的系数信息扫描单元2170用于以Z字形方式扫描并编码重建的8×8系数阵列,从而产生游程与级的组合。
仿真试验在下述的条件中对差值比特流分离装置2000进行测试:
·测试顺序:150条线(规格:704像素480行,4∶2∶0格式)
·输入MPEG-2比特流:GOP结构;N=15,M=3,比特率为15Mbps。
仿真测试的结果如图25所示。在图25中,水平轴表示转码MPEG-2比特流的比特率,垂直轴表示各自的比特率。从图25中可以看出转码MPEG-2比特流与差值比特流的总比特率没有超过输入的(初始)MPEG-2比特流的比特率。
比特流分离装置1000能够输入初始MPEG-2比特流,例如视频电影,产生转码MPEG-2比特流与差值比特流。比特流分离装置1000的操作者可以将转码MPEG-2比特流发送给用户,并存储差值比特流。用户可以解码转码MPEG-2比特流以收看视频电影。如果用户喜欢看视频电影或者收看高质量的视频电影,用户可以请求操作者令发送差值比特流。比特流分离装置1000的操作者根据用户的请求向用户发送存储的差值比特流。当用户接收到差值比特流时,用户可以操作比特流合并装置2000将刚刚接收到的差值比特流与先前接收到的转码MPEG-2比特流合并起来,重建初始的、即高质量的MPEG-2比特流,使用户可以收看高质量的视频电影。比特流分离装置1000与比特流合并装置2000使得用户可以减少再次发射初始MPEG-2比特流的时间和精力。
本发明的特点和优点在前面的描述中已经很清楚了,后面的权利要求将覆盖所有在本发明的精神与范围内的特点与优点。还有,对于本领域的技术人员来说,针对本发明还有各种改变与变形,这些都没有超出本文的描述与图示,而且,所有合适的改变与变形都将包含在本发明的范围内。