CN1327344A - 预测宏块码长的视频图像信号编码方法及装置 - Google Patents

预测宏块码长的视频图像信号编码方法及装置 Download PDF

Info

Publication number
CN1327344A
CN1327344A CN01117490A CN01117490A CN1327344A CN 1327344 A CN1327344 A CN 1327344A CN 01117490 A CN01117490 A CN 01117490A CN 01117490 A CN01117490 A CN 01117490A CN 1327344 A CN1327344 A CN 1327344A
Authority
CN
China
Prior art keywords
macro block
code
code length
buffer
video information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN01117490A
Other languages
English (en)
Other versions
CN1163077C (zh
Inventor
中尾贵史
幡野喜子
贵岛淳子
杉山和宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN1327344A publication Critical patent/CN1327344A/zh
Application granted granted Critical
Publication of CN1163077C publication Critical patent/CN1163077C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

提供一种即使对视频信息包有长度限制时也能将编码效率的降低抑制到最小限度的编码装置。每当对宏块的视频图像信号进行编码时,将其存储在缓冲器内。当宏块的总码长超过规定值时,将除最后编码的宏块以外的全部作为一个视频信息包从缓冲器输出。然后对最后编码的宏块重新进行编码。在存储各编码后的宏块时,预测下一个宏块的码长,并与码长的全长相加,当总计码长超过规定值时,将全部编码后的宏块作为视频信息包输出。

Description

预测宏块码长的视频图像信号编码方法及装置
本发明涉及将多个宏块视频图像信号编码并根据该编码后的视频图像信号生成码长在规定值以下的视频信息包的编码方法及编码装置,特别是涉及当加上本次编码的宏块视频图像信号后将使视频信息包的码长超过极限值时输出直到前一次编码后的宏块视频图像信号的代码用作视频信息包并对本次编码后的宏块视频图像信号进行重新编码的编码装置。
在很多视频一编码系统中,将某个图象划分为多个矩形块并用同一图象中的空间邻接的块对各块进行编码。
例如,对某个块可以这样进行编码,即从已编码的邻接块的内容预测该块的内容并对该预测的内容与实际内容之间的差异进行编码。或者,按照这种方法,预测某个块的运动矢量并进行编码。
所谓运动矢量,在被称作帧间编码的处理过程中,当某个块的内容可以根据前一个或后一个图象中的某个块预测时使用。
另外,为表达简洁起见,「预测」这一术语,在本说明书中有时用于预测某个值,有时也用于求取预测值与实际值之间的差异。
在彩色视频编码中,所谓宏块,是指占有同一图象的一群亮度和色度块。宏块中的所有块,例如可以采用同一运动矢量按同样的方式编码。在下文中作为码长引用的宏块编码长度,随着宏块的内容及怎样才能使预测更为精确而有很大的变化。
为了在通信链路上传输,编码视频图像信号,在本说明书中经常被划分为被称作视频信息包的信息包。视频信息包,具有不超过一定的容许值的长度,并包含着数量可变的编码后宏块。此外,为减少因视频信息包的丢失或损坏而引起的差错的传播,视频信息包中的宏块,不能用其他视频信息包中的空间邻接的宏块进行编码。
在通常的编码系统中,通过将编码后的宏块依次存储在一个缓冲器内并一直存储到所存储的宏块的总码长达到或超过规定的阈值而汇编成一个视频信息包。如果总码长仍在视频信息包的容许值范围内,则将缓冲器中的全部编码后的宏块作为一个视频信息包输出。如果总码长超过视频信息包的容许值,则将除最后编码的宏块以外的全部作为一个视频信息包输出,而将最后的宏块保存起来使其包含在下一个视频信息包内。最后的宏块,即使可以用编码后输出的任何一个宏块编码,本次也不用该宏块,而是在配置于下一个视频信息包之前进行重新编码。
该系统的课题在于,如为了避免浪费有效的视频信息包空间而将阈值设定得足够高时,最后的宏块往往不能插入视频信息包,因而必须重新编码。这种频繁地反复编码,将使编码处理过程的效率降低。
为了说明后文所述的本发明的实施形态所需的背景,这里将更为详细地说明基于MPEG—4标准的现有编码系统。
MPEG—4标准,是由ITU—T(国际电信联盟—电信标准部)的运动图象专家组(Moving Picture Experts Group)制定的标准。作为MPEG标准,业已制定了MPEG—1标准和MPEG—2标准。MPEG—1标准,适用于CD—ROM,并适用于VCD盘及卡拉OK,此外还通过网络用于动图象通信。MPEG—2标准,适用于普通电视机及HDTV(高清晰度电视)或存储媒体系统及通信系统。
作为与上述MPEG—1标准和MPEG—2标准不同的MPEG—4标准的特征在于,虽然有时也采用具有各种特性的对象和景物之类的不同构成要素,但其对象和景物的信息能以与位速率无关的方式压缩并进行可变长编码。
以下,说明基于MPEG—4标准的编码装置及编码的概要。
图8是基于MPEG—4标准的现有编码装置的框图,例如,如文献「MPEG—4总论」(工业调查会)p.39~p.40所示的装置。
图8的编码装置1,输入将按MPEG—4处理的视频基本处理单位即视频对象平面(VOP)划分后的宏块的视频图像信号(亮度信号Y及色差信号Cb/Cr),并以位流形式输出包含编码后的视频图像信号的视频信息包。从编码装置1输出的视频信息包,由译码装置2内的接收缓冲器31暂时存储,然后由译码电路32进行译码。
编码装置1,备有:减法器11,输入所输入的视频图像信号,作为第一输入;DCT电路12,对减法器11的输出信号进行离散余弦变换(DCT);量化电路13,将DCT电路12的输出信号量化后输出;DC/AC预测电路14,对与作为输入的宏块所属的视频对象平面(VOP)内的对象的块有关的DCT系数的DC分量及AC分量进行预测;可变长编码(VLC)电路15,对多个宏块的DCT系数及后文所述的运动矢量进行可变长编码,并将其划分为视频信息包后以位流形式输出;反量化电路16,对从量化电路13输出的DCT系数进行反量化;反DCT电路17,对反量化后的DCT系数进一步进行反离散余弦变换;加法器18,输入反离散余弦变换后的视频图像信号,作为第一输入;存储器19,存储加法器18的输出;预测图象生成电路20,输入存储在存储器19内的视频图像信号作为第一输入,同时输入后文所述的运动检测电路21的输出作为第二输入,生成下一个宏块的预测图象并输出到减法器11和加法器18;运动检测电路21,输入存储在存储器19内的视频图像信号作为第一输入,同时输入作为对象的宏块的视频图像信号作为第二输入,对作为对象的宏块检测误差最小的宏块并将其输出到预测图象生成电路20,同时将指示向所检出的宏块运动的信号即运动矢量输出到后文所述的运动矢量预测电路22;运动矢量预测电路22,对运动矢量进行预测;及控制电路23,控制上述各电路的动作。
这里,说明按每个宏块输入编码装置1的视频图像信号。
图9是表示输入到编码装置1的每个宏块的视频图像信号的图。
如图9所示,一个视频对象平面(VOP),被划分成各为16行和16象素的多个宏块。此外,各宏块的亮度信号块Y,被划分成各为8行和8象素的子块(以下,记作块)。而色差信号Cb和Cr由8行和8象素构成。当所输入的视频图像信号的图象格式为MPEG—4第1版的4∶2∶0时,亮度信号(Y)的16象素×16行,与2个色差信号(Cb、Cr)的8象素×8行在屏面上大小相同。因此,1个宏块,由6个8象素×8行的块(8×8块)构成。另外,图9的VOP为矩形形状,例如,与MPEG—2中的帧的意义相同。
图9所示的宏块,是位于VOP的最上部、最左边的宏块。例如,设图9的VOP的最上边的宏块行为第1行,以下,向下依次为第2行、第3行、…,设图9的VOP的最左边的宏块列为第1列,以下,向右依次为第2列、第3列、…,则图9所示的宏块,为位于第1列、第1行的宏块。
另外,DCT电路12、量化电路13及DC/AC预测电路14等的各自的处理,以上述的8×8块为单位进行。
以下,说明图8的编码装置1的动作。
输入到编码装置1的宏块的视频图像信号(亮度信号Y、色差信号Cb/Cr),由DCT电路12按每个8×8块进行离散余弦变换(DCT)并由量化电路13进行量化。各量化后的8×8块信号,由DC/AC预测电路14预测DCT系数的DC分量及AC分量。
DC/AC预测电路14,在帧内编码的情况下,对DCT系数的DC分量及AC分量进行预测后将其传送到可变长编码电路15,在帧间编码的情况下,对从量化电路13输出的量化后的DCT系数不进行预测而直接传送到可变长编码电路15。
这里,进一步用附图说明帧内编码时的DC/AC预测电路14的详细动作。
图10是将宏块中的8×8亮度信号块放大后示出的图。
DC/AC预测电路14按每个8×8块进行处理,所以图10的宏块由作为8×8亮度信号块的块A、B、C及X构成。宏块中的右下方的8×8块,是当前由DC/AC预测电路14处理的块X,图10的宏块中的左下方的8×8块,是位于当前处理中的块X左边的左邻块A,图10的宏块中的右上方的8×8块,是位置为邻接于当前处理中的块X的上方的上邻块C,图10的宏块中的左上方的8×8块,是左上块B。
在帧内编码时的DC/AC预测中,首先,决定DC分量的预测方向。例如,如设当前编码中的块X的量化后DCT系数为Fx(i、j)(0≤i≤7,0≤j≤7)、块X的左邻块A的量化后DCT系数为Fa(i、j)(0≤i≤7,0≤j≤7)、块X的上邻块C的量化后DCT系数为Fc(i、j)(0≤i≤7,0≤j≤7)、块X的左上块B的量化后DCT系数为Fb(i、j)(0≤i≤7,0≤j≤7),则预测方向根据块B的量化后DCT系数的DC分量Fb(0、0)、块A的量化后DCT系数的DC分量Fa(0、0)、块C的量化后DCT系数的DC分量Fc(0、0)决定。
为决定DC分量的预测方向,例如,如设块A的DC分量的量化步长为Qda、块B的DC分量的量化步长为Qdb、块C的DC分量的量化步长为Qdc,则反量化后的DC分量fa(0、0)、fb(0、0)、fc(0、0),分别由以下3式求得。
fa(0、0)=Fa(0、0)×Qda
fb(0、0)=Fb(0、0)×Qdb
fc(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)|成立时,根据块C的反量化后的DC分量fc(0、0)预测块X的DC分量,相反,当以上关系不成立时,根据块A的反量化后的DC分量fa预测块X的DC分量。
预测后的DC分量Px(0、0),可分别按下式求得,即,当根据块C预测块DC分量时,
Px(0、0)=Fx(0、0)-fc(0、0)/Qdx
而当根据块A预测块DC分量时,
Px(0、0)=Fx(0、0)-fa(0、0)/Qdx
式中,Qdx是块X的DC分量的量化步长,上述的除法按四舍五入计算。
接着,用上述的DC分量的预测方向进行AC分量Px(i、0)或Px(0、j)的预测。如设块A的量化参数为Qpa、块C的量化参数为Qpc、块X的量化参数为Qpx,则当根据块C预测AC分量时,为
Px(i、0)=Fx(i、0)-(Fc(i、0)×Qpc)/Qpx
(i=1、…、7)
当根据块A预测AC分量时,为
Px(0、j)=Fx(0、j)-(Fa(0、j)×Qpa)/Qpx
(j=1、…、7)
其中,上述的除法也按四舍五入计算。
在对每个块分别独立地预测了上述AC分量后,决定是否以宏块为单位进行AC分量的预测。
例如,当对构成1个宏块的各块中的任意的块X根据该块X的上邻块C进行预测时,由下式求得SB。
(式1) SB = Σ i = 1 7 | Fx ( i , 0 ) | - Σ i = 1 7 | Px ( i , 0 ) |
另一方面,当根据块X的左邻块A进行预测时,由下式求得SB。
(式2) SB = Σ j = 1 7 | Fx ( 0 , j ) | Σ j = 1 7 | Px ( 0 , j ) |
如构成1个宏块的6个块的SB之和即SBS为SBS≥0,则对作为构成1个宏块的6个块中的1个块的各块的AC分量进行预测,但如SBS为小于0的值,则不对作为1个宏块中的块的AC分量进行预测。
另外,如设进行AC分量的预测时ac_pred_flag=1、不进行AC分量的预测时ac_pred_flag=0,则将ac_pred_flag作为对每个宏块的附加信息并由可变长编码电路15进行编码。
当对属于附加了ac_pred_flag=1的宏块的块X根据该块X的上邻块C预测AC分量时,由下式求得输出值0x(i、j),
(式3)
当根据左邻块A对该块X预测AC分量时,由下式求得输出值0x(i、j)。
(式4)
Figure A0111749000103
对属于附加了ac_pred_flag=0的宏块的块,由下式求得输出值0x(i、j),
(式5)
将该0x(i、j)作为DC/AC预测电路14的输出,将其输出到可变长编码电路15。
另外,在上述预测中,如当前块是VOP左端的块,则对当前块X来说不存在左邻块A和左上块B,所以将在上述预测中用过的反量化后的DC分量fa(0、0)和fb(0、0)的值设定为预定的常数β。此外,在这种情况下,将在上述预测中用过的AC分量Fa(i、j)、Fb(i、j)、((i、j)≠(0、0))设定为0。
上述的常数β,例如可设定为从DCT电路12输出的DCT系数中的DC分量值的范围的中间值。即,当从DCT电路12输出的DC分量可取11bit的从0到2047的值时,常数β=1024。
同样,在上述预测中,如当前块X是位于VOP的上端的块,则对当前块X来说不存在上邻块C和左上块B,所以将在上述预测中用过的反量化后的DC分量fc(0、0)和fb(0、0)的值设定为上述的常数β,并将AC分量Fc(i、j)、Fb(i、j)、((i、j)≠(0、0))设定为0。
进一步,在上述预测中,如当前块X的左邻块A属于与当前块X不同的视频信息包,则将在上述预测中用过的反量化后的DC分量fa(0、0)设定为上述的常数β,并将AC分量Fa(i、j)、((i、j)≠(0、0))设定为0。
同样,在上述预测中,如当前块X的上邻块C属于与当前块X不同的视频信息包,则将在上述预测中用过的反量化后的DC分量fc(0、0)设定为上述的常数β,并将AC分量Fc(i、j)、((i、j)≠(0、0))设定为0。
另外,在上述预测中,如当前块X的左上块B属于与当前块X不同的视频信息包,则将在上述预测中用过的反量化后的DC分量fb(0、0)设定为上述的常数β,并将AC分量Fb(i、j)、((i、j)≠(0、0))设定为0。
按照这种构成方式,在DC/AC预测电路14中,在属于不同的视频信息包的块之间可以不参照DC分量和AC分量的系数,所以,即使在所发送的位流中混入了差错时,也可以将因DC/AC预测导致的差错的传播限制在视频信息包内。
从DC/AC预测电路14输出的多个宏块的DCT系数,输入到可变长编码电路15。在可变长编码电路15中,将输入信号与量化参数等附加信息一起进行可变长编码,同时划分成规定长度的视频信息包并以位流形式输出。将以上的处理称为帧内编码处理。此外,将对所有宏块进行了帧内编码处理的VOP称为I—VOP。
另一方面,从量化电路13输出的DCT系数,由反量化电路16进行反量化,进一步,由反DCT电路17进行反离散余弦变换,从而进行译码。译码后的视频图像信号,经由加法器18输入存储器19。存储在存储器19内的各宏块的视频图像信号,用于对与输入到编码装置1的视频图像信号的差分进行编码的帧间编码处理。
当由编码装置1进行帧间编码处理时,由运动检测电路21从存储在存储器19内的各宏块的视频图像信号中检测与输入宏块的视频图像信号的误差最小的视频图像信号的位置,并检测指示输入宏块相对于该检出的宏块的运动的运动矢量。在预测图象生成电路20中,根据存储在存储器19内的各宏块的视频图像信号及由运动检测电路21检测出的运动矢量生成预测图象。
另外,由运动检测电路21检测出的运动矢量,由运动矢量预测电路22进行矢量值的预测,并求出与预测值的差分。
这里,用附图说明运动矢量预测电路22的详细动作。
图11是表示运动矢量的预测方法的图。另外,用MX表示当前编码的宏块。宏块的MA、MC、MD,分别表示当前宏块MX的左、上、右上的宏块。
如设当前宏块MX的运动矢量为MV=(MVx、MVy)、宏块MA的运动矢量为MV1=(MV1x、MV1y)、宏块MC的运动矢量为MV2=(MV2x、MV2y)、宏块MD的运动矢量为MV3=(MV3x、MV3y),则宏块MX的运动矢量的预测值PV=(PVx、PVy),可以由下式求得。
PVx=Median(MV1x、MV2x、MV3x)
PVy=Median(MV1y、MV2y、MV3y)
式中,Median是输出多个输入值中的中间值的函数。
另外,在上述的计算中,当宏块MA、MC、MD中的任何1个宏块在VOP之外时,在进行计算时使该宏块的运动矢量为(0、0)。
另外,当宏块MA、MC、MD中的任何2个宏块在VOP之外时,将剩下的1个在VOP内的宏块的运动矢量作为预测值PV。
另外,当宏块MA、MC、MD全部在VOP之外时,使预测值为(0、0)。
另外,在上述的计算中,当宏块MA、MC、MD中的任何1个宏块属于与当前的宏块X不同的视频信息包时,在进行计算时使该宏块的运动矢量为(0、0)。
另外,当宏块MA、MC、MD中的任何2个宏块属于与当前的宏块X不同的视频信息包时,将剩下的1个属于同一视频信息包的宏块的运动矢量作为预测值PV。
另外,当宏块MA、MC、MD全部属于与当前的宏块X不同的视频信息包时,使预测值为(0、0)。
运动矢量预测电路22,将当前宏块的运动矢量MV与上述预测值PV之差、即
MV-PV=(MVx-PVx、MVy-PVy)
输出到可变长编码电路15。
由预测图象生成电路20输出的预测图象,输入到减法器11,并从减法器11输出输入宏块的视频图像信号与预测图象的差分信号。由DCT电路12对该差分信号进行DCT处理,并由量化电路13进行量化处理。量化后的差分信号的DCT系数,与由运动矢量预测电路22预测出的运动矢量及量化参数等附加信息一起由可变长编码电路15进行编码。此外,从量化电路13输出的差分信号的DCT系数,还由反量化电路16进行反量化,并进一步由反DCT电路17进行反DCT处理而恢复为差分信号。从反DCT电路17输出的差分信号,通过加法器18与从预测图象生成电路20输出的预测图象相加并存储在存储器19内。
在帧间编码中,有仅从在图象的显示顺序中在时间上靠前的VOP生成预测图象的单向预测及从在时间上靠前的VOP和靠后的VOP两者生成预测图象的双向预测。将采用单向预测进行编码的VOP称作P—VOP,将采用双向预测进行编码的VOP称作B—VOP。
上述编码装置1的可变长编码电路15,例如,当采用可逆变长码进行编码处理时,在译码装置2的译码电路13中,除了通常的正向可变长译码外,有时还从视频信息包的末端起进行反向的可变长译码。更具体地说,在将可逆变长码用于译码装置2的接收信号并在正向可变长译码中产生了差错时,译码电路32,可以从视频信息包的末端起进行反向的可变长译码。在这种情况下,在译码装置2侧,必须将接收到的视频信息包的总码长暂时保存在接收缓冲器31内。
可是,译码装置2中的接收缓冲器31的存储容量是有限的,在设计或制造译码装置2时经常要规定存储容量。为此,对从可变长编码电路15输出的视频信息包的长度(码长)有时要加以限制,以使其不超过接收缓冲器31的存储容量。因此,如上所述,当可变长编码电路15采用可逆变长码而且规定了接收缓冲器31的存储容量时,编码装置1必须对输出的各视频信息包的长度(码长)进行控制,使其保持在不超过接收缓冲器31的存储容量的规定长度以下。
作为编码装置1控制各视频信息包的长度(码长)的装置,可以考虑一种由可变长编码电路15将多个宏块的视频图像信号依次编码后在作为视频信息包输出之前判断码长的装置。在这种装置中,当判定视频信息包的长度超过规定长度时,对超过了的宏块视频图像信号部分的代码进行控制,使其包含在新的视频信息包内。
但是,如以上参照图10所述,DC/AC预测电路14必须求出当前处理中的决X与正上方的块C及左邻块A的相关关系,如这时使当前处理中的块X包含在新的视频信息包内,则必须将正上方的块C的DCT系数及左邻块A的DCT系数看作常数(例如,1024)并预测当前处理中的块X的DCT系数。此外,在帧间编码的情况下,如以上参照图11所述,在将宏块MX包含在新的视频信息包内时,由于左邻宏块MA、上邻宏块MC、右上宏块MD与其不属于同一视频信息包,所以运动矢量预测电路22也必须使预测值PV为(0、0)并对预测后的矢量进行修正。
另外,在某些情况下,当视频信息包不同时,宏块内部的各块的码长可能发生变化,本次编码后的超过部分的块的码长与包含在新的视频信息包内的块的码长不同。就是说,不可能将本次编码后的超过部分的块的代码直接包含在新的视频信息包内。
因此,当想要将超过部分的宏块视频图像信号的代码包含在新的视频信息包内时,不能直接使用该代码,而是必须用DC/AC预测电路14再次对该宏块的视频图像信号进行预测,或由运动矢量预测电路22再次进行运动矢量的预测,并由可变长编码电路15进行编码后将其包含在视频信息包内。
但是,在基于MPEG—4标准的现有编码装置1中,如上所述,当对从可变长编码电路15以位流形式输出的视频信息包有长度限制时,如果没有充分考虑对视频信息包的码长的控制而只是简单地根据码长是否在规定值以上的判断生成下一个视频信息包,则必需对超过部分的视频图像信号重新进行预测和编码的处理,因而存在着使编码效率降低的问题。
本发明的目的在于,提供一种可以将因限定了视频信息包长度而造成的编码效率的降低减小到最低限度的视频编码方法及装置。
在所发明的编码方法中,对宏块的视频图像信号进行编码并将其装入限定了长度的视频信息包内之后输出,各宏块,用可变长码进行编码,并将编码后的宏块连续地存储在缓冲器内。在将各编码宏块存储在缓冲器内时,计算编码宏块存储于缓冲器后作为结果得到的总码长,并将其与限定了视频信息包长度的有关规定值进行比较。
当总码长超过规定值时,将除最后编码的宏块以外的全部作为一个视频信息包从缓冲器输出,并对最后编码的宏块重新进行编码。
当总码长小于规定值时,预测下一个宏块的码长,并将预测出的码长与总码长相加,然后,将作为其结果得到的总计值与规定值进行比较。当总计值超过规定值时,将存储在缓冲器内的全部编码后的宏块作为一个视频信息包输出。
在这种方式中,可以大幅度地减少由于不能将一个宏块装入当前的视频信息包而必须重新进行编码的频度。因此,能使编码效率得到改善。
在编码处理的过程中,包含着宏块内容或运动矢量的预测,当反复进行编码时,反复进行预测。
最后编码的宏块的长度,用作下一个宏块的预测码长。
数据划分,用于重新配置视频信息包的已编码宏块·数据。
在本发明中,还提供一种使用本发明的方法的编码装置。
图1是表示本发明实施形态的编码装置的图。
图2(a)~(d)是表示以视频信息包输出1个VOP部分的宏块视频图像信号的代码时的位流结构的图。
图3是表示使各视频信息包的码长基本保持一定时各视频信息包在VOP内占有的面积的图。
图4(a)、(b)是表示帧内VOP时的数据划分的图。
图5(a)、(b)是表示帧间VOP时的数据划分的图。
图6是视频信息包用代码的划分决定动作的流程图。
图7(a)、(b)是将图1中的一部分电路的各处理动作按步骤示出的流程图。
图8是基于MPEG—4标准的现有编码装置的框图。
图9是表示输入到图8的编码装置的每个宏块的视频图像信号的图。
图10是将宏块中的8×8块放大后示出的图。
图11是表示运动矢量预测的图。
以下,根据图示的实施形态对本发明进行说明。
图1是表示用作本发明实施形态的编码装置51的图。在图1中,对与图8所示的现有编码装置1的功能相同的部分标以相同的符号,并将重复的说明省略。
图1的编码装置51与图8所示的编码装置1的主要不同点在于,在编码装置51中的可变长编码电路65的后级备有信息包码长控制部52。
信息包码长控制部52,包括:暂时缓冲器81,用于暂时存储从可变长编码电路65输出的代码;信息传输顺序变更电路83,通过变更存储在暂时缓冲器内的代码顺序而进行数据划分;发送缓冲器84,对所输入的代码附加标题等并以位流形式输出视频信息包;及码长控制电路82,通过控制存储在暂时缓冲器81内的代码的输出时间控制视频信息包用的码长,同时通过控制电路73对未输出的宏块视频图像信号的代码再次进行DCT系数的预测及编码。
另外,可变长编码电路65,具有两个输出,第一输出,输入到暂时缓冲器81,第二输出,输入到码长控制电路82。第一输出,是由可变长编码电路65编码后的DCT系数,第二输出,是上述编码后的各DCT系数的码长。
这里,对以位流形式输出的视频信息包进行说明。
图2(a)~(d),例如是表示以视频信息包输出如图9所示的1个VOP部分的宏块视频图像信号的代码时的位流结构的图。
图2(a),示出以连续的7个视频信息包VP(0)~VP(6)输出1个VOP部分的宏块视频图像信号的代码时的位流。从编码装置51以位流形式按顺序输出视频信息包,例如,先输出最左端的视频信息包VP(0)、接着是视频信息包VP(1),最后输出视频信息包VP(6)。如该图2(a)所示,1个VOP部分的位流,由一个以上的视频信息包构成。
图2(b)是表示图2(a)中的视频信息包VP(0)的内部结构的图。
在1个VOP的第1个视频信息包VP(0)中,首先,在开头附加VOP标题,接着,依次排列1个以上的宏块MB(0)~MB(N)的编码后数据,最后附加填充位,用于因附加了VOP标题而引起的字节调整。
图2(c)是表示图2(a)中的视频信息包VP(1)的内部结构的图。
在视频信息包VP(0)之后输出的视频信息包VP(1)中,首先,为正确译码而在开头附加由特定位模式的固定长度码构成的ResyncMarker(再同步标记),接着,附加用作视频信息包VP(1)的ID的视频信息包(VP)标题,然后,依次输出1个以上的宏块MB(N+1)~MB(M)的编码后数据,最后附加填充位,用于因附加了VOP标题而引起的字节调整。
图2(d)是表示例如在图2(c)的视频信息包VP(1)的内部具有填充项时的结构的图。
在其结构内具有填充项的视频信息包中,首先,在开头附加用于正确译码的Resync Marker,接着,在附加VP标题后,依次输出1个以上的宏块MB(L)~MB(K)的编码后数据,然后输出填充项,并再次按顺序输出1个以上的宏块MB(K+1)的编码后数据,最后附加填充位,用于因附加了VOP标题而引起的字节调整。按照这种方式,可以在视频信息包中加入任意个数的填充项。例如,在MPEG—4Video的情况下,将填充项称作填充·宏块,并可以按照与通常的宏块相同的处理方法装入任意的视频信息包内。另外,该填充项可以在译码装置侧废弃。
如图2(b)~(d)所示,装入1个视频信息包内的宏块数是任意的,但当考虑差错的传播时,在结构上最好是使各视频信息包的码长基本保持一定。一般来说,与VOP内的移动大的位置对应的视频信息包具有大的码长。因此,为使各视频信息包的码长基本保持一定,在VOP内的移动大的位置上,只能以1个视频信息包对应小的面积,而在VOP内的移动小的位置上,即使是大的面积也能以1个视频信息包对应。
图3是表示使各视频信息包的码长基本保持一定时各视频信息包在VOP内占有的面积的例的图。
在图3的VOP中,在与视频信息包VP(3)或视频信息包VP(4)对应的位置上,因移动大所以面积小。可是,在与视频信息包VP(0)或视频信息包VP(1)对应的位置上,因移动小所以面积大。这样,当使各视频信息包的码长基本保持一定时,在VOP内各视频信息包占有的面积就不能保持一定。
在本实施形态中,从信息包码长控制部52内的暂时缓冲器81到发送缓冲器84之间将数据重新排列,以下,说明重新排列该数据的数据划分处理。
数据划分,是通过变更视频信息包内的信息传输顺序而提高抗差错性的技术。当混入差错时,在译码侧,在差错混入后失去视频信息包的同步,因而不能对混入差错后的数据进行正确的译码。在无规律性的视频信息包中差错在随机的位置混入,所以,对数据译码的概率,在视频信息包中位置靠前侧的数据要高于位置靠后侧的数据。因而,将更重要的数据置于前侧,可以提高抗差错性。
因此,在数据划分中将数据重新排列后输出,即,从视频信息包所包含的各宏块的数据中,使特别重要的数据位于视频信息包的前侧,并使其他信息位于后侧。就是说,改变传输顺序,使重要的数据位于前侧。
另外,在使重要的数据位于前侧(前半部)并使其他数据位于后侧(后半部)的同时,还在前半部和后半部的数据之间配置特定的位串,从而能够判定在前半部的重要数据中是否混入了差错。作为特定的位串,在帧内VOP的情况下,是DC marker(19bit),在帧间VOP的情况下,是motion marker(17bit)。
图4(a)、(b)是表示帧内VOP时的数据划分的图。
在帧内VOP的情况下,如图4(a)所示,以宏块为单位按顺序将第m宏块MB(m)、第m+1宏块MB(m+1)等数据存储在暂时缓冲器81内。此外,关于各宏块MB内的数据结构,如图4(a)所示,在宏块MB(m)的情况下,包括:宏块MB(m)的各块的系数数据T0(m);为将宏块MB(m)的帧内DC分量译码所需的编码方式mcbpc、表示量化参数的量化差分值dquant、各块的DCT系数的DC分量等信息DC(m);及指示是否进行为将第m宏块MB(m)的AC分量译码所需的AC预测的AC预测标志ac_pred_flag、指示亮度信号Y的各块中有无非零AC系数的编码模式cbpy等控制信息T1(m)。同样,宏块MB(m+1)的数据结构,包括系数数据T0(m+1)、信息DC(m+1)、及控制信息T1(m+1)。
在将暂时缓冲器81内的数据传送到发送缓冲器84时,在信息传输顺序变更电路83中,进行使特别重要的数据位于前半部的数据划分。其结果是,在发送缓冲器84内,如图4(b)所示,将DC(m)、DC(m+1)等全部信息DC(n)配置在前半部。接着,在附加DC marker后,将重要程度较高的T1(m)、T1(m+1)等全部控制信息T1(n)配置在后半部的起始部分,并将T0(m)、T0(m+1)等全部系数数据T0(n)配置在最后。此外,在视频信息包的开头部附加标题。
图5(a)、(b)是表示帧间VOP的数据划分的图。
在帧间VOP的情况下,如图5(a)所示,与帧内VOP的情况一样,也以宏块为单位按顺序将第m宏块MB(m)、第m+1宏块MB(m+1)等数据存储在暂时缓冲器81内,但宏块内部的数据结构与帧内VOP的情况不同。各宏块MB内的数据结构,如图5(a)所示,在宏块MB(m)的情况下,包括:宏块MB(m)的各块的系数数据t0(m);指示是编码宏块或是非编码宏块的标志not_ded、为将帧间DC分量译码所需的编码方式mcbpc、运动矢量等为将第m个MB的运动矢量译码所需的信息MV(m);指示亮度信号Y的各块中有无非零AC系数的编码模式cbpy、表示量化参数的量化差分值dquant等为将第m宏块MB(m)的AC分量译码所需的控制信息t1(m)。
在将暂时缓冲器81内的数据传送到发送缓冲器84时,也与帧内VOP的情况一样,在信息传输顺序变更电路83中,进行使特别重要的数据位于前半部的数据划分。其结果是,在发送缓冲器84内,如图5(b)所示,将MV(m)、MV(m+1)等全部信息MV(n)配置在前半部。接着,在附加motion marker后,将重要程度较高的t1(m)、t1(m+1)等全部控制信息t1(n)配置在后半部的起始部分,并将t0(m)、t0(m+1)等全部系数数据t0(n)配置在最后。此外,在视频信息包的开头部附加标题。
另外,上述的T0(m)、T0(m+1)、t0(m)及t0(m+1)等系数数据,是经过游程长度编码后的各块的系数数据,可按如下方式求得。在MPEG—4的I—VOP的情况下,首先,用Z形扫描等方法对宏块中各块的量化后DCT系数的AC分量进行一维扫描,并进行将0的个数与非零系数的组合编码的游程长度编码。将该游程长度编码后的各块的系数数据按每个宏块写入暂时缓冲器81,即可得到图4(a)和图5(a)所示的系数数据。此外,编码方式mcbpc,是将表示宏块类型的MTYPE与指示宏块中的各色差块内有无非零AC系数的CBPC组合后进行编码。
以下,说明编码装置51的动作。
进行帧内编码时的由DC/AC预测电路14根据量化后的DCT系数进行系数预测、直到由可变长编码电路65将其与量化参数等附加信息一起进行编码,与图8所示的现有的编码装置1一样。
另外,当进行帧间编码时,对量化后的DCT系数进行预测后直到由可变长编码电路65将其与运动矢量及量化参数等附加信息一起进行编码,也与图8所示的现有的编码装置1一样。
码长控制电路82,根据从可变长编码电路65输出的各宏块的码长,将存储在暂时缓冲器81内的宏块汇编成使各视频信息包的长度不超过预定的最大视频信息包的码长值(MAXVPlen),然后传送到发送缓冲器84。在本实施形态中,这时,如图4(b)、图5(b)所示,在视频信息包的开头附加标题,并按照由数据划分处理规定的位流顺序将其重新排列后进行传送。
在码长控制电路82中,在将存储在暂时缓冲器81内的宏块传送到发送缓冲器84时,进行控制以使暂时缓冲器81不会下溢、或使图中未示出的VBV(Video Buffering Verifier;视频缓冲检验器)缓冲器不会溢出,同时,决定从暂时缓冲器81输出的视频信息包用代码的宏块单位划分。以下,参照附图详细说明码长控制电路82的对从暂时缓冲器81输出的视频信息包用代码的划分的决定动作
图6是码长控制电路82对视频信息包用代码的划分决定动作的流程图。
在码长控制电路82中,首先,将从可变长编码电路65接收的本次编码后的宏块的码长Mbbits与到前一次为止的已编码宏块的码长Vplen0相加,从而计算码长Vplen1(步骤S1)。判断该步骤S1的相加结果的码长Vplen1是否在限制视频信息包长度的规定值MAXVPlen以上(步骤S2)。当码长Vplen1在规定值MAXVPlen以上时(步骤S2:是),使重新编码标志为ON(接通)(步骤S3)并通知控制电路73,对本次的宏块视频图像信号的数据进行重新处理。
作为由控制电路73控制的重新处理动作,首先,将存储在暂时缓冲器81内的到前一个(前一次)为止的已编码宏块的代码用作本次以位流形式输出的视频信息包并传送到发送缓冲器(步骤S4)。至于本次编码后存储在暂时缓冲器81内的宏块的代码,将其存储内容清除(使Vpbits为0)(步骤S5),对于该本次编码后的宏块的视频图像信号(DCT系数),则重新进行DC/AC预测电路14的处理及可变长编码电路65的处理(步骤S6)。接收到所传送的代码的发送缓冲器84,以位流形式输出附加了resync标记和标题等信息的视频信息包。此外,在帧间编码的情况下,在步骤S6中,重新进行运动矢量预测电路22的处理及可变长编码电路65的处理。
按照这种方式,当码长Vplen1在规定值MAXVPlen以上时(步骤S2:是),将到前一次编码后的宏块为止的代码装入本次的视频信息包,而将本次及其后的编码宏块的代码装入新的视频信息包内。
在步骤S2中,当码长Vplen1小于规定值MAXVPlen时(步骤S2:否),码长控制电路82,将下一次的宏块码长预测为与本次的宏块码长MBbits相等,然后计算加上了下一次的宏块预测码长Mbbits时的暂时缓冲器的预测码长Vplen2,并判断预测码长Vplen2是否在规定值MAXVPlen以上(步骤S7)。另外,在本实施形态中,对于Vplen2,除码长Vplen1和下一次的宏块预测码长Mbbits外还加上一个预测误差容许度α(例如,α=256),从而能适应下一次的宏块码长的变化。当码长Vplen2在规定值MAXVPlen以上时(步骤S7:是),将存储在暂时缓冲器81内的到本次为止的全部编码后宏块的代码用作本次以位流形式输出的视频信息包并传送到发送缓冲器(步骤S8)。将存储在暂时缓冲器81内的码长Vplen1清除,并通知控制电路73使其对下一次的宏块的视频图像信号进行编码处理(步骤S9)。接收到所传送的代码的发送缓冲器84,以位流形式输出附加了resync标记和标题等信息的视频信息包。
按照这种方式,当码长Vplen1小于规定值MAXVPlen(步骤S2:否)、且码长Vplen2在规定值MAXVPlen以上时(步骤S7:是),将到本次编码后的宏块为止的代码装入本次的视频信息包内,而将下一次及其后的编码宏块的代码装入新的视频信息包内。
当码长Vplen2小于规定值MAXVPlen时(步骤S7:否),可以预计到即使将下一次的宏块码长与码长Vplen1相加后大于规定值MAXVPlen的概率也很小,所以将存储在暂时缓冲器81内的码长Vplen1保留原状,并通知控制电路73使其对下一次的宏块的视频图像信号进行编码处理(步骤S9)。
按照这种方式,当码长Vplen1小于规定值MAXVPlen(步骤S2:否)、且码长Vplen2小于规定值MAXVPlen时(步骤S7:否),预定将直到下一次编码后宏块为止的代码也装入本次的视频信息包内。这里,之所以只是预定,是因为考虑到了虽然可能性很小但当下一次编码后宏块的码长比本次编码后宏块的码长大得多(超过预测误差容许度α)时不能装入本次的视频信息包的情况。
本实施形态的码长控制电路82,如上所述,可以决定存储在暂时缓冲器81内的视频信息包用代码的划分,所以,虽然可能会发生当例如将上述的下一次的宏块编码后与暂时存储器相加时由于超过了规定值而必须对下一次的宏快重新进行码长预测和编码的情况,但这种情况的发生频度减低了。
这里,参照附图进一步说明当发生了必须重新进行码长预测和编码的情况时使编码处理的效率恶化的问题。
图7是将图1中的DCT电路12、量化电路13、DC/AC预测电路14、反量化电路16、反DCT电路17、运动矢量预测22、暂时缓冲器81及码长控制电路82的各处理动作按步骤示出的流程图。
图7(a)是不重新进行宏块的编码时的流程图。在图6的流程图中,对应于步骤S2为“否”的情况。
对宏块的视频图像信号进行DCT处理而得到DCT系数(步骤S11),并将该DCT系数量化后输出(步骤S12)。量化后的DCT系数,用于DC/AC预测处理(步骤S15),同时进行反量化(步骤S13),然后进行反DCT处理(步骤S14)。而在帧间编码的情况下,则需另外进行运动矢量预测处理(步骤S16)。
根据DC/AC预测结果和运动矢量预测结果进行可变长编码处理(步骤S17),并对编码后存储在暂时缓冲器81内的码长进行如图6流程图所示的码长控制处理(步骤S18)。
直到该步骤S18为止,与上述相同而与是否对宏块的视频图像信号重新进行编码处理或图6的步骤S7所示的加上了下一次的宏块码长后的判断结果无关,但对于暂时缓冲器81的存储内容的传送处理,当图6的流程图中步骤S7为“是”时,将到本次编码后的宏块为止的码长传送到发送缓冲器84(步骤S19),当图6的流程图中步骤S7为“否”时,不传送暂时缓冲器81的存储内容(将步骤S19省略),而对下一次编码的宏块的视频图像信号进行DCT处理(步骤S11)。
图7(b)是重新进行宏块的编码时的流程图。在图6的流程图中,对应于步骤S2为“是”的情况。
如上所述,直到步骤S18为止的动作,与不重新进行编码处理的情况相同。但当重新进行时,在暂时缓冲器81所存储的码长内,将直到前一次编码后的宏块的代码传送到发送缓冲器84(步骤S21),该步骤S21的传送处理,当图6流程图中步骤S2为“是”时进行。此外,至于本次编码后的宏块的代码,如上所述,在用于码长判断并使重新编码标志接通后将其清除而不再使用。
通过将重新编码标志接通,在帧内编码的情况下,对本次编码后的宏块的视频图像信号进行DC/AC预测处理(步骤S22)、可变长编码处理(步骤S23)、码长控制处理(步骤S24)。在帧间编码的情况下,进行运动矢量预测处理(步骤S26)、可变长编码处理(步骤S23)、码长控制处理(步骤S24)。此外,在步骤S24的码长控制处理的图6的步骤S7的判断中,当判断结果为“是”时,将存储在暂时缓冲器81内的本次重新编码后的宏块的代码传送到发送缓冲器84(步骤S25),但当图6的流程图中步骤S7为“否”时,不传送暂时缓冲器81的存储内容(将步骤S25省略),而对下一次编码的宏块的视频图像信号进行DCT处理(步骤S11)。
从图7(a)与图7(b)的上述比较可以看出,一旦对编码后的宏块重新进行编码时,将使编码处理的效率大幅度恶化。因此,重要的是减少重新编码处理的频度。
可是,如上所述,在图8所示的现有的编码装置1中,由于只是简单地根据码长是否在规定值以上的判断而生成视频信息包,所以导致频繁地进行重新编码。
与此不同,在本实施形态中,将下一次的宏块码长预测为与本次的宏块码长相等,并当在加上下一次的宏块码长后使存储在暂时缓冲器81内的码长超过可装入视频信息包的码长的可能性大时生成视频信息包,所以能够减少对下一次宏块重新进行编码的频度。
更具体地说,由码长控制电路82根据本次编码后存储在暂时缓冲器81内的宏块的码长预测加上了下一次编码后的宏块的码长时存储在缓冲器81内的码长,当预测结果超过可装入视频信息包的码长时,在对下一次编码的宏块的视频图像信号进行编码之前,将存储在缓冲器81内的代码传送到发送缓冲器84,所以当对下一次的宏块的视频图像信号进行编码时,就可以减少因超过了可装入视频信息包的码长而必须对下一次的宏块的视频图像信号重新进行编码的情况的发生频度。因此,可以抑制本实施形态的编码装置51的编码效率的降低。
另外,在本实施形态的码长控制电路82中,由于每当对宏块进行编码时都可以通过将下一次编码的宏块的码长与本次编码的宏块的码长预测为相等而计算暂时缓冲器的码长,所以按照这种方式可以减少对所有宏块进行重新编码的频度。因此,能够抑制编码效率的降低。
另外,在本实施形态的信息包码长控制部52中,由信息传输顺序变更电路83对从暂时缓冲妻81输出的代码进行数据划分,然后将其装入发送缓冲妻84,并由发送缓冲器84生成视频信息包,所以,通过用于数据划分的暂时缓冲器81及发送缓冲器84的使用,可以将为进行本发明的控制而需追加的新的构件抑制到最低限度,同时可以利用数据划分加强从发送缓冲器84以位流形式输出的视频信息包的抗差错性。
另外,在上述实施形态中,说明了当进行MPEG—4标准的数据划分时对从暂时缓冲器传送到发送缓冲器的码长进行控制的例,但例如在生成视频信息包时不进行数据划分的情况下,或者在H.263标准的编码装置的情况下,如果对视频信息包的长度有限制,则也与上述一样可以用码长控制电路控制从暂时缓冲器传送到发送缓冲器的码长,从而减少重新编码的频度。
在这种情况下,也可以应用于代替DC/AC预测电路14而利用如MPEG—2所示的仅从左邻块的DC分量预测DC分量的DC预测等进行视频信息包内的任意DCT系数的预测的情况。
另外,即使是不用DCT而是采用小波变换等其他正交变换在视频信息包内预测变换系数时,也能以同样的结构减少重新编码的频度。
另外,例如,当输入编码装置的视频图像信号的图象格式不是4∶2∶0时,或当VOP不是矩形时,由于仍可以采用如本实施形态所示的用码长控制电路控制从暂时缓冲器传送到发送缓冲器的码长的方式,所以能够减少重新编码的频度。
另外,在本实施形态中,作为预测下一次编码的宏决的视频图像信号码长的方法,是将其预测为与本次编码的宏块的视频图像信号码长相等(但应在预测误差容许度α的范围内),但例如也可以采用对I—VOP和P—VOP分别预测为固定值的预测方法、求取过去的N个宏块的视频图像信号的编码后的码长平均值并根据该平均值进行预测的方法、或利用对本次宏块的视频图像信号码长的规定运算结果(例如,码长*β+α;β、α为任意值)进行预测的方法等。
另外,在上述的本实施形态中,预测误差容许度α为256,但该值可以任意变更。
另外,本发明不限于上述实施形态,在本发明的权利要求范围内,可以按从业人员能够理解的各种方法进行变更。
按照本发明的一种形态,利用码长控制电路进行本次的庪
Figure A0111749000251
诒嗦后根据存储在暂时缓冲器内的宏块码长预测加上了下一次编码的宏块码长时的暂时缓冲器的码长,并在对下一次编码的宏块进行编码之前,将存储在暂时缓冲器内的代码传送到发送缓冲器,所以,当对下一次的宏块的视频图像信号进行编码时,可以减少因超过可装入视频信息包的码长而需重新编码的频度,因而能抑制编码效率的降低。
按照本发明的另一种形态,利用码长控制电路进行本次的帧间编码后根据存储在暂时缓冲器内的宏块码长预测加上了下一次编码的宏块码长时的暂时缓冲器的码长,并在对下一次编码的宏块进行编码之前,将存储在暂时缓冲器内的代码传送到发送缓冲器,所以,当对下一次的宏块的视频图像信号进行编码时,可以减少因超过可装入视频信息包的码长而需重新编码的频度,因而能抑制编码效率的降低。
按照本发明的另一种形态,每当对宏块的视频图像信号进行编码时,将下一次编码的宏块视频图像信号的码长与本次编码的宏块视频图像信号的码长预测为相等并计算暂时缓冲器的码长,所以,可以减少对所有的宏块的视频图像信号进行重新编码的频度,因而能抑制编码效率的降低。
按照本发明的另一种形态,将从暂时缓冲器输出的代码进行数据划分后生成为视频信息包,所以,通过用于数据划分的暂时缓冲器及发送缓冲器的使用,可以将为进行本发明的控制而需追加的新的构件抑制到最低限度,同时可以利用数据划分加强视频信息包的抗差错性。

Claims (10)

1.一种编码方法,为输出规定长度的视频信息包而对多个宏块的视频图像信号进行编码,该编码方法的特征在于,包括以下的(a)~(h)各步骤:
(a)利用可变长码对各宏块进行编码,并由此而生成下一个编码宏块;
(b)将各编码宏块存储在缓冲器内;
(c)每当将各编码宏块存储在缓冲器内时,计算编码宏块存储于缓冲器后作为结果得到的总码长;
(d)将上述总码长与表示视频信息包的规定长度的规定值进行比较;
(e)当上述总码长超过上述规定值时,将本次编码后的编码宏块除外,输出存储在缓冲器内的全部编码宏块用作视频信息包,并对本次编码后的宏块重新进行编码;
(f)当上述总码长小于上述规定值时,计算对下一个编码宏块的预测的码长;
(g)将预测的码长与上述总码长相加,然后将作为结果得到的总计值与上述规定值进行比较;
(h)当作为结果得到的总计值超过上述规定值时,将存储在缓冲器内的全部编码后宏块输出,用作视频信息包。
2.根据权利要求1所述的编码方法,其特征在于,还包括以下的步骤:
(i)根据当前作为编码宏块存储在缓冲器内的宏块的内容,预测宏块的内容;
(j)找出宏块的实际内容与所预测的内容之间的差异;
(k)将上述差异用于上述步骤(a)中的宏块的可变长编码;
(l)当根据上述步骤(h)而对宏块重新进行编码时,反复进行上述的步骤(i)、(j)和(k);
3.根据权利要求1所述的编码方法,其特征在于,还包括以下的步骤:
(m)根据当前作为编码宏块存储在缓冲器内的宏块的运动矢量,预测宏块的运动矢量;
(n)找出宏块的实际运动矢量与所预测的运动矢量之间的差异;
(o)将上述差异用于上述步骤(a)中的宏块的可变长编码;
(p)当根据上述步骤(h)而对宏块重新进行编码时,反复进行上述的步骤(m)、(n)和(o);
4.根据权利要求1所述的编码方法,其特征在于:通过上述步骤(f)的计算预测的码长,等于本次编码后的宏块的码长。
5.根据权利要求1所述的编码方法,其特征在于:还包括对上述步骤(e)和(h)的从缓冲器输出的编码宏块进行数据划分从而将其重新配置的步骤。
6.一种编码装置,为输出规定长度的视频信息包而对多个宏块的视频图像信号进行编码,该编码装置的特征在于,包括以下结构:可变长编码电路,生成具有可变码长的编码宏块;缓冲器,与可变长编码电路连接,用于暂时存储作为视频信息包输出的编码宏块;及码长控制电路,与缓冲器连接,每当将各编码宏块存储在缓冲器内时,计算编码宏块存储于缓冲器后作为结果得到的总码长,将表示视频信息包的规定长度的规定值与总码长进行比较,当上述总码长小于上述规定值时,计算对下一个编码宏块的预测的码长,将预测的码长与上述总码长相加,然后将作为其结果得到的总计值与上述规定值进行比较,当作为上述结果得到的总计值超过上述规定值时,将存储在缓冲器内的全部编码后宏块输出用作视频信息包,而当上述总码长超过上述规定值时,将本次编码后的宏块除外而输出存储在缓冲器内的全部编码宏块用作视频信息包,并对本次编码后的宏块重新进行编码。
7.根据权利要求6所述的编码装置,其特征在于:还备有预测电路,根据当前作为编码宏块存储在缓冲器内的宏块的内容,预测宏块的内容,找出宏块的预测内容与实际内容之间的差异,并将差异输出到可变长编码电路,而当对宏块重新进行编码时,对宏块的内容重新进行预测。
8.根据权利要求6所述的编码装置,其特征在于:还备有运动矢量预测电路,根据当前作为编码宏块存储在缓冲器内的宏块的运动矢量,预测宏块的运动矢量,找出宏块的预测运动矢量与实际运动矢量之间的差异,并将差异输出到可变长编码电路,而当对宏块重新进行编码时,对宏块的运动矢量重新进行预测。
9.根据权利要求6所述的编码装置,其特征在于:码长控制电路,将上述的各下一次的宏块的码长预测为与本次编码后的宏块的码长相等。
10.根据权利要求6所述的编码装置,其特征在于:还备有信息传输顺序变更电路,通过进行数据划分,重新配置从缓冲器输出的编码宏块。
CNB011174900A 2000-06-05 2001-04-30 预测宏块码长的视频图像信号编码方法及装置 Expired - Fee Related CN1163077C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000167590A JP3662171B2 (ja) 2000-06-05 2000-06-05 符号化装置及び符号化方法
JP167590/2000 2000-06-05

Publications (2)

Publication Number Publication Date
CN1327344A true CN1327344A (zh) 2001-12-19
CN1163077C CN1163077C (zh) 2004-08-18

Family

ID=18670725

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011174900A Expired - Fee Related CN1163077C (zh) 2000-06-05 2001-04-30 预测宏块码长的视频图像信号编码方法及装置

Country Status (4)

Country Link
US (1) US6795503B2 (zh)
EP (1) EP1162849B1 (zh)
JP (1) JP3662171B2 (zh)
CN (1) CN1163077C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100397905C (zh) * 2004-01-13 2008-06-25 C&S技术有限公司 视频编码系统
CN101341757B (zh) * 2004-12-16 2011-12-07 英特尔公司 本地宏块信息缓冲器
CN106412584A (zh) * 2015-07-27 2017-02-15 三星显示有限公司 传输显示数据的系统和方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004531925A (ja) * 2001-03-05 2004-10-14 インタービデオインコーポレイテッド 圧縮されたビデオビットストリームにおける冗長な動きベクトルを符号化し復号するシステム及び方法
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
US20040247185A1 (en) * 2002-06-27 2004-12-09 Yutaka Sato Image processing apparatus and image processing method
US20040141654A1 (en) * 2003-01-17 2004-07-22 Yi-Yung Jeng Texture encoding procedure
US7471723B2 (en) * 2003-05-13 2008-12-30 Sigmatel, Inc. Error concealment and error resilience
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US20050111545A1 (en) * 2003-11-25 2005-05-26 Ram Prabhakar Dynamic packet size control for MPEG-4 data partition mode
TWI270774B (en) * 2004-01-20 2007-01-11 Mediatek Inc Memory control method and related device
US8427494B2 (en) * 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
KR20050090302A (ko) * 2004-03-08 2005-09-13 경희대학교 산학협력단 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체
US7023365B1 (en) * 2004-04-15 2006-04-04 Rockwell Collins, Inc. System and method for compression of words and phrases in text based on language features
JP4502203B2 (ja) * 2005-03-17 2010-07-14 ルネサスエレクトロニクス株式会社 画像符号化装置、及び画像復号化装置
US20060227876A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar System, method, and apparatus for AC coefficient prediction
US20060227875A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar System, and method for DC coefficient prediction
US8249161B2 (en) * 2005-09-30 2012-08-21 Stmicroelectronics International Nv Video decoder incorporating reverse variable length decoding
US8737469B1 (en) * 2007-04-03 2014-05-27 Mediatek Inc. Video encoding system and method
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8726125B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Reducing interpolation error
US8477852B2 (en) * 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8502709B2 (en) * 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) * 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
JP5206070B2 (ja) * 2008-03-28 2013-06-12 富士通株式会社 復号装置および復号方法
US8982952B2 (en) * 2008-06-02 2015-03-17 Broadcom Corporation Method and system for using motion vector confidence to determine a fine motion estimation patch priority list for a scalable coder
US9307267B2 (en) * 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
KR20100071865A (ko) * 2008-12-19 2010-06-29 삼성전자주식회사 멀티 코어 프로세스 방식의 영상 신호 처리장치에서 영상 프레임 구성 및 복호화 방법과 그 영상 신호 처리장치
JP5116704B2 (ja) * 2009-02-02 2013-01-09 パナソニック株式会社 画像符号化装置及び画像符号化方法
KR20110045949A (ko) * 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
WO2011125211A1 (ja) 2010-04-08 2011-10-13 株式会社 東芝 画像符号化方法及び画像復号化方法
US20110317762A1 (en) * 2010-06-29 2011-12-29 Texas Instruments Incorporated Video encoder and packetizer with improved bandwidth utilization
US8780973B2 (en) * 2010-08-13 2014-07-15 Texas Instruments Incorporated Limiting the maximum size of an encoded video picture using sub-picture based rate control
US20120183044A1 (en) * 2011-01-18 2012-07-19 Louis Joseph Kerofsky Video decoder with reduced dynamic range transform with memory storing
KR20130050407A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 움직임 정보 생성 방법
KR20130050406A (ko) * 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
JP2014116835A (ja) 2012-12-11 2014-06-26 Toshiba Corp 復号装置、符号化装置、復号方法、及び符号化方法
US11496774B2 (en) * 2019-08-27 2022-11-08 Tencent America LLC Header syntax for QT/BT/TT size
CN116489360A (zh) * 2022-06-06 2023-07-25 杭州海康威视数字技术股份有限公司 一种图像编解码方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3750853T2 (de) 1986-01-27 1995-05-18 Fuji Photo Film Co Ltd Verfahren zur Bildsignalkodierung mittels Orthogonal-Transformation.
SE468736B (sv) * 1991-11-15 1993-03-08 Televerket Foerfarande och apparat foer bildkodning med oeverhoppning av bilder och/eller komponenter
SE468737B (sv) * 1991-11-15 1993-03-08 Televerket Foerfarande och apparat foer bildkodning med val av steghoejd i kvantiseraren
JPH05344162A (ja) 1992-06-09 1993-12-24 Canon Inc データ伝送装置
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
DE19541457C1 (de) * 1995-11-07 1997-07-03 Siemens Ag Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz
JP3493872B2 (ja) * 1996-02-29 2004-02-03 ソニー株式会社 画像データ処理方法およびその装置
EP0917362A1 (en) * 1997-11-12 1999-05-19 STMicroelectronics S.r.l. Macroblock variance estimator for MPEG-2 video encoder
EP0917363A1 (en) * 1997-11-17 1999-05-19 STMicroelectronics S.r.l. Motion estimator algorithm and system's architecture
EP0944245B1 (en) * 1998-03-20 2001-07-25 SGS-THOMSON MICROELECTRONICS S.r.l. Hierarchical recursive motion estimator for video images encoder
EP1003336A1 (en) * 1998-11-17 2000-05-24 STMicroelectronics S.r.l. Video pictures compression and coding with decision step for field/frame and motion vectors DCT

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100397905C (zh) * 2004-01-13 2008-06-25 C&S技术有限公司 视频编码系统
CN101341757B (zh) * 2004-12-16 2011-12-07 英特尔公司 本地宏块信息缓冲器
CN106412584A (zh) * 2015-07-27 2017-02-15 三星显示有限公司 传输显示数据的系统和方法

Also Published As

Publication number Publication date
CN1163077C (zh) 2004-08-18
EP1162849A2 (en) 2001-12-12
JP2001346215A (ja) 2001-12-14
US6795503B2 (en) 2004-09-21
JP3662171B2 (ja) 2005-06-22
US20020006162A1 (en) 2002-01-17
EP1162849B1 (en) 2013-06-05
EP1162849A3 (en) 2003-12-17

Similar Documents

Publication Publication Date Title
CN1163077C (zh) 预测宏块码长的视频图像信号编码方法及装置
CN1236616C (zh) 变换活动图像编码方式的方法及其装置
CN1265649C (zh) 运动图像的编码方法、解码方法、编码装置及解码装置
JP6274299B2 (ja) 映像復号装置及び映像復号方法
CN1214647C (zh) 图像编码方法和图像编码器
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1469632A (zh) 视频编码/解码方法和设备
CN1478355A (zh) 视频编码
CN1593065A (zh) 其中图像被分成条带的前景和背景的视频编码与解码
CN1585958A (zh) 基于上下文的自适应二进制算术编码的方法和系统
CN101060622A (zh) 数字信号编、解码装置、数字信号算术编、解码方法
CN1788496A (zh) 图像处理设备和方法、信息处理设备和方法、信息记录设备和方法、信息再现设备和方法、信息存储介质、以及程序
CN1225919C (zh) 编码图像信息的方法和设备及解码图像信息的方法和设备
CN1280443A (zh) 数据再生传输设备和数据再生传输方法
CN1276690A (zh) 译码设备和方法、编码设备和方法、图像处理系统和方法
CN1650629A (zh) 编码设备和方法、解码设备和方法、编辑设备和方法、记录介质及程序
CN1874509A (zh) 基于上下文的自适应二进制算术编码的方法和系统
JP2004343278A (ja) 画像処理装置および画像処理方法、情報処理装置、記録媒体、並びに、プログラム
CN1181692C (zh) 编码装置和编码方法
CN1882095A (zh) 运动图像的编码方法、解码方法、编码装置及解码装置
JP2010104026A (ja) 復号装置及び方法
CN1890981A (zh) 空间和snr可缩放的视频编码

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040818

Termination date: 20140430