带有运动补偿的编码和译码装置的制作方法

文档序号:7572393阅读:127来源:国知局
专利名称:带有运动补偿的编码和译码装置的制作方法
技术领域
本发明涉及一种编码装置,它利用运动补偿,用较少的代码数量,有效地将画面数据编码成数字信号,从而有效传送、存储和显示画面,以及一种译码该画面数据的译码装置。
在运动图象有效编码中有一种预测方法,根据在画面间预测中的画面运动,先于预测,替换每块画面部分。
这种画面空间替换称为运动补偿,并在国际标准化系统中广泛采用,比如MPEG。
当运动补偿应用在画面间预测时,画面运动信息(运动矢量)也要编码。因为在译码时要进行同编码时一样的运动补偿。


图1所示为带有运动补偿的一常规编码装置的方框图。
在图1中,一图象(画面)信号经输入端口1提供给一减法器2。减法器2从输入的图象信号中减去画面间预测信号。而画面间预测信号由一运动补偿预测器6提供。于是减法器2产生一画面间预测残留信号,提供给一离散余弦变换器(DCT)3。
离散余弦变换器3处理画面间预测残留信号,即离散余弦转换每8×8象素,产生因数,提供给一量化器4。量化器4利用一预定的量化步阶宽度量化该因数,产生固定长度编码因数。固定长度编码因数提供给一排列转换器5。
排列转换器5按一维锯齿扫描顺序重新排列二维的8×8因数。一维重排因数提供给一可变长度编码器10。
可变长度编码器10利用霍夫曼编码对一游程长度0和其它值的因数编码,产生比特流。
一多路复用器15将画面间预测残留比特流与运动矢量比特流复合,经输出端口16输出。
固定长度编码因数还要提供给一去量化器9,进而送给一反离散余弦变换器(IDCT)8。去量化器9和反离散余弦变换器8分别执行与量化器4和离散余弦变换器3相反的处理,从而产生画面间预测残留信号,提供给一加法器7。
加法器7将画面间预测残留信号和画面间预测信号相加,从而再生出图象信号,提供给运动补偿预测器6。
运动补偿预测器6存储一帧画面,并按照一运动估值器12提供的运动矢量替换每块画面,从而产生一运动补偿画面间预测信号。画面间预测信号提供给减法器2和加法器7。
运动矢量是通过运动估值器12从输入图象信号的每块得来的。每一块由(8×8)和(16×16)象素范围内的矩阵列组成。所得到的运动矢量还要提供给一预测减法器13。
预测减法器13比较一已编码块和一待编码每个“x”和“y”元素块的矢量值,产生残留值,提供给一可变长度编码器14。
可变长度编码器14采用霍夫曼编码对残留值编码,产生比特流。
由多路复用器15将产生的比特流与画面间预测残留信号比特流复合,如上所述。
图2所示为带有运动补偿的一常规译码装置的方框图。
从图1编码装置输出的编码信号经输入端口17提供给一多路分解器18,被划分为画面预测残留信号比特流和运动矢量。
画面间预测残留信号比特流经一可变长度译码器19译码成固定长度代码。
固定长度代码提供给一反向排列转换器20,执行与图1的排列转换器5相反的处理,从而获得(8×8)因数阵列。
因数提供给一去量化器21,进而送给一反离散余弦变换器(IDCT)22,从而再生画面间预测残留信号。
画面间预测残留信号提供给加法器23,加在画面间预测信号之上,再生出图象信号。
再生的图象信号经输出端口24输出,并提供给一运动补偿预测器27。
运动补偿预测器27按照一预测加法器26提供的运动矢量产生画面间预测信号。
由多路分解器18划分出来的运动矢量比特流提供给一可变长度译码器25,执行与图1的可变长度编码器14相反的处理,从而获得运动矢量的残留值。
残留值提供给预测加法器26,在此与一已译码块的矢量值相加,从而获得运动矢量。运动矢量提供给运动补偿预测器27,如上所述。
上述的常规编码装置具有下列缺点由于运动矢量不参与变化,所以即使残留值为零,每运动矢量仍要产生一代码。而且当运动矢量在变焦场景中逐渐变化时,即使变化单调,仍要产生许多代码。
因此常规编码装置不能有效压缩生成代码的数量。而且常规编码装置必须配备运动补偿电路。因为由一种方法执行的运动补偿完全不同于画面间预测残留编码方法。
本发明旨在提供一种能利用亦能用于编码画面间预测残留的运动补偿电路有效编码运动画面数据的编码装置。
本发明的另一目的是要提供一种译码装置,用于译码上述编码装置编码的运动画面数据。
本发明提供的带有运动补偿的编码装置包括一归一化器,用于归一化对应于画面各部分的运动的多个运动矢量,获得以二维块排列的第一个运动矢量组;一排列转换器,用于将第一运动矢量组中的运动矢量转换成一维的,以获得第二个一维排列的运动矢量组;一矢量预测器,用于第二运动矢量组中的另一矢量预测第二运动矢量组中的一运动矢量值,获得一运动矢量预测残留;及一编码器,用于利用含有零游程长度代码的可变长度代码编码运动矢量预测残留,获得每运动矢量组的比特流。
再者,本发明提供带有运动补偿的译码装置包括一译码器,用于译码由含有零游程长度代码的可变长度代码组成的运动矢量组比特流,获得固定长度运动矢量预测残留;一加法器,用于将从另一运动矢量得到的预测值与固定长度运动矢量预测残留相加,获得运动矢量作为一维排列的运动矢量组;一排列转换器,用于将一维排列的运动矢量组转换成二维的,获得一个二维排列运动矢量组,其中运动矢量按垂直和水平方向归一化;及一定序器,用于按照画面每一部分的运动补偿处理,输出二维排列的运动矢量组中的每个矢量。
图1示出一常规编码装置的方框图;图2示出一常规译码装置的方框图3示出按照本发明的编码装置的一优选实施例的方框图;图4示出按照本发明的排列转换中的4类扫描顺序;图5示出按照本发明的运动矢量值预测;图6示出框图为按照本发明的一排列转换器的方框图;图7A和7B说明无需运动矢量的块的处理;及图8示出按照本发明的译码装置的一优选实施例的方框图。
图3示出按照本发明的编码装置的一优选实施例。
在图3中,一图象(画面)信号经输入端口28提供给一减法器29。减法器29从输入的图象信号中减去画面间预测信号。而画面间预测信号由一运动补偿预测器60提供。于是减法器29产生一画面间预测残留信号,提供给一离散余弦变换器(DCT)30。
离散余弦变换器30处理画面间预测残留信号,即离散余弦转换每8×8象素,产生因数,提供给一量化器40。量化器40利用一预定的量化步阶宽度量化因数,产生固定长度编码因数。固定长度编码因数提供给一排列转换器50和一去量化器90。
排列转换器50按一维锯齿扫描顺序重新排列二维的8×8因数。在一维重排的因数提供给一可变长度编码器100。
输入图象信号还要提供给一运动估值器120,由其输出图象信号每块的运动矢量(MV)信息。MV信息提供给运动补偿预测器60和一矢量归一化器130。
矢量归一化器130归一化64个矢量(垂直方向4个和水平方向16个)为一矢量组。此处的64个矢量也可由水平和垂直方向的8×8个组成。然而垂直方向越少,对类似于输入图象信号次序的信号处理或在编码侧沿传输线的代码错误保护会更有利。在该实施例中,矢量总数设定为64,用后文中描述的(8×8)DCT处理调整此处理。
接着矢量组提供给排列转换器140。转换器140用图4中所示的4种扫描模式之一扫描矢量组,按一维重排矢量组。重排矢量组提供给一预测减法器150。
预测减法器150比较一已编码块的矢量值和每“x”和“y”部分的一待编码块,产生残留值。或者,预测减法器150采用图5所示前两个值进行倾向(偏向)预测。此处,前一值和倾向预测分别由x=b和x=2b-a表示,其中“x”为待编码矢量的预测值,“b”为前一预测值而“a”为再前一个的预测值。
当运动矢量逐渐变化时,例如变焦场景,前一个值的预测总是产生一预测残留。相反,倾向预测只会产生较少的预测残留,因为矢量值的变化是在预测之中的。
预测执行是在运动矢量值确定后。因此在该实施例中就不再需要画面间预测所需的本地译码处理。而且在矢量值转换为预测残留的同时按一维排列的矢量顺序不变。
每个运动矢量的预测残留值提供给可变长编码器100。编码器100采用霍夫曼编码对预测残留编码。更详细地说,编码器100要同时编码预测残留值和运动矢量。
预测残留值和运动矢量具有相同的数据量,且其特性彼此很类似。因此就由可变长度编码器100采用相同的编码方法对其编码。预测残留值和运动矢量的大多数值为零。可变长度器100因此采用霍夫曼编码对游程长度零和其它值编码。
如上所述,连续零能合并为一可变长度代码,达到高效编码的目的,除非运动矢量变化并不十分复杂。
再者,每块产生运动矢量的两个残留值,因此要比DCT因数少很多。可变长度编码器100的性能足以达到图1可变长度编码器编码预测残留的几乎同样效果。
而且,画面间预测残留和运动矢量都是固定长度代码,这样通过切换编码器100的编码操作,可变长度编码器100输出的比特流与画面间预测残留和运动矢量的多路复用就是一样的。与图1的常规装置相比,其中的多路复用器15要多路复用从可变长度编码器10和14来的可变长度代码,此处就有其优越性。
其次,要详细描述排列转换器140。
在二维DCT因数中有大量的因数集中在直流分量附近。从直流分量开始锯齿扫描是很有效的。
运动矢量表现为簇集在矢量值随运动变化的方向上,但方向是不稳定的。因此参考图4的描述,提供的4种扫描模式以具有一较长连续零游程长度,未考虑簇集在矢量值随运动变化的方向上这一因素。通过相互比较归一化的64个运动矢量的总体代码数量,在4种扫描模式中筛选。
图6所示为排列转换器140的框图。
运动矢量经输入端口31提供给一选择排列转换器32,和从1到4的排列转换器341到344。排列转换器341到344采用如图4所示的扫描模式进行排列转换。
扫描结果提供给预测减法器351到354。减法器351到354执行与图3预测减法器150一样的处理,产生预测残留。
接着预测残留提供给可变长度编码器361到364。每个编码器执行与图3可变长度编码器100一样的处理。然而编码器361到364并不产生代码,只产生代码长度,提供给代码数量计算器371到374。
计算器371到374累计每个矢量组的代码长度,并将代码数量提供给代码数量比较器38。
代码数量比较器38比较彼此的代码数量,检测出最少代码数量,提供给选择排列转换器32。
选择排列转换器32对应最少代码矢量,采用图4的一种扫描模式,对输入的运动矢量执行排列转换。在译码时亦需要所选中扫描模式的指示信息。所以该信息要附在运动矢量组的标题后。
下面描述的是包含无需传送运动矢量的块的图象信号的情况。在一个画面或双向帧中这些块是独立编码,双向帧的每个部分是从非双向的单方向预测得到的。在通常的编码系统中,比如MPEG,存在这些块。
图7A和7B所示说明无需运动矢量的情况。
图7A所示说明无需运动矢量的块分散在所示画面中的虚线上的情况。在这种情况下,只扫描所示实线上的块,而不扫描虚线上的块,进行矢量编码。
更详细地说,如是执行扫描,虚线上的块就可看作运动矢量残留为零。此时译码处理将会很简单。或者说,执行扫描,以使在前面需要运动矢量的块上闭合断带。此断带指无需运动矢量的块,即没有数据的块。这样该断带的零游程长度将会缩短,从而达到有效编码。
图7B所示说明无需运动矢量的块彼此邻近,如上图的虚线所示的情况。在这种情况下,这些块被略去,如下图所示。由排列转换器140完成此工作。
其次,图8所示框图是按照本发明的译码装置的一优选实施例。
从图3编码装置输出的编码信号经输入端口210提供给一可变长度译码器220。游程零和电平的可变长度编码信号转换为固定长度代码。画面间预测残留比特流提供给一反向排列转换器230。而运动矢量预测残留比特流提供给一预测加法器280。
反向排列转换器230执行图3的排列转换器50的反向处理,以获得(8×8)因数矩阵。
因数提供给去量化器240,进而送给反离散余弦变换器(IDCT)250,从而再生画面间预测残留信号。
画面间预测残留信号提供给一加法器260,加在一画面间预测信号上,再生图象信号。
再生的图象信号经输出端口270输出,并提供给一运动补偿预测器310。
预测加法器280执行与图3的预测减法器150相反的处理,再生一维运动矢量。
再生矢量提供给一反向排列转换器290。转换器290执行与图3的排列转换器140相反的处理,用图4所示的一种扫描模式再生二维的运动矢量组。
二维运动矢量组提供给一定序器300。定序器300保持二维块的运动矢量值,并按照运动补偿预测器310的处理顺序输出运动矢量值。
反向排列转换器290将在包含无需传送运动矢量的块的图象信号的情况中进一步阐述。
预测加法器280再生的矢量由反向排列转换器290处理,与由图3所示编码装置的排列转换器140已在运动矢量残留中插入零的情景一样。
另一方面,如上所述当在编码中执行扫描使得在前面在需要运动矢量的块上闭合断带时,运动矢量位置被替换。因此使用每个块的预测模式,将空白(虚)数据比如运动矢量残留“0”放入无需运动矢量的部分,进而执行反向排列。
如上所述,按照本发明,运动矢量是二维归一化的并重排成一维排列;并预测而产生零游程长度的可变长度编码编码的预测残留。
因此矢量变化越少,连续零就越多,产生的代码数量就越少。由此导致的代码数量的减少对运动矢量的数据降级并无影响,却能取得更高的代码效率。
而且,本发明利用在多个编码所用扫描模式中选择的一适当扫描模式取得最少的代码数量。
而且,按照本发明,画面间预测残留和运动矢量是用同一编码器编码的。因此画面间预测残留和运动矢量编码共享编码处理电路和可变长度表。这样以较少的电路和存储器得到更小的装置配置。
而且,按照本发明,执行扫描使得在前面需要运动矢量的块上闭合断带而重排。这样使得冗余度更小而编码效率更高。
权利要求
1.一种带有运动补偿的编码装置包括一归一化器,用于归一化对应于画面各运动部分的多个运动矢量,获得二维块排列的第一个运动矢量组;一排列转换器,用于将第一运动矢量组中的运动矢量转换成一维的,获得第二个一维排列的运动矢量组;一矢量预测器,用于根据第二运动矢量组中的另一矢量预测第二运动矢量组中的一运动矢量值,获得一运动矢量预测残留;及一编码器,用于利用含有零游程长度代码的可变长度代码,编码运动矢量预测残留,获得每运动矢量组的比特流。
2.如权利要求1要求的编码装置,其特征在于该编码器还要编码在运动补偿编码中产生的画面间预测残留。
3.如权利要求1要求的编码装置,其特征在于排列转换器利用从多个扫描模式中选择的一个扫描模式执行排列转换,使得编码器在可变长度编码中的代码数量最少。
4.如权利要求1要求的编码装置,其特征在于排列转换器执行排列转换,使得从待发送的第一和第二运动矢量数据间的位置上抽取无需传送的运动矢量数据,而且在第一运动矢量数据采用排列转换之后,第二运动矢量数据紧接着采用排列转换。
5.一种具有运动补偿的译码装置包括一译码器,用于译码由含有零游程长度代码的可变长度代码组成的运动矢量组比特流,获得固定长度运动矢量预测残留;一加法器,用于将由另一运动矢量得到的预测值与固定长度运动矢量预测残留相加,获得运动矢量作为一维排列的运动矢量组;一排列转换器,用于将一维排列的运动矢量组转换成二维的,获得一个二维排列运动矢量组,其中运动矢量按垂直和水平方向归一化;及一定序器,用于按照对画面每一部分的运动补偿处理,输出二维排列的运动矢量组中的每个矢量。
6.如权利要求5要求的译码装置,其特征在于该译码器还要译码运动补偿译码中产生的画面间预测残留。
7.如权利要求5要求的译码装置,其特征在于排列转换器基于从编码装置传来的信息中所选多个扫描模式之一的扫描模式执行排列转换。
8.如权利要求5要求的译码装置,其特征在于排列转换器执行排列转换,以使空白数据放入已执行过排列转换的运动矢量和待译码的下一运动矢量数据之间的数据部分,该数据部分对应于因为无需译码而未传送的运动矢量。
9.一种带有运动补偿的编码方法包括下列步骤在垂直和水平方向归一化对应于画面各运动部分的多个运动矢量,获得二维块排列的第一个运动矢量组;将第一运动矢量组中的运动矢量转换成一维的,获得第二个一维排列的运动矢量组;根据第二运动矢量组中的另一矢量,预测第二运动矢量组中的一运动矢量值,获得一运动矢量预测残留;及利用含有零游程长度代码的可变长度代码,编码运动矢量预测残留,获得每运动矢量组的比特流。
10.一种带有运动补偿的译码方法包括下列步骤译码由含有零游程长度代码的可变长度代码组成的运动矢量组比特流,获得固定长运动矢量预测残留;将由另一运动矢量得到的预测值与固定长度运动矢量预测残留相加,获得运动矢量作为一维排列的运动矢量组;将一维排列的运动矢量组转换成二维的,获得一个二维排列运动矢量组,其中运动矢量按垂直和水平方向归一化;及按照对画面每一部分的运动补偿处理,输出二维排列的运动矢量组中的每个矢量。
全文摘要
一种编码/译码装置执行带有运动补偿的预测编码/译码。对应于画面各运动部分的多个运动矢量被归一化,从而获得二维块排列的运动矢量组。组中的运动矢量被转换成一维的,从而获得另一个一维排列的运动矢量组。从同一组中的另一运动矢量预测另一个组中的运动矢量值,从而获得一运动矢量预测残留。接着利用含有零游程长度代码的可变长度代码,编码运动矢量预测残留,从而获得每运动矢量组的比特流。由含有零游动长度代码的可变长度代码组成的运动矢量组的比特流被译码,从而获得固定长度运动矢量预测残留。
文档编号H04N7/26GK1194544SQ97107299
公开日1998年9月30日 申请日期1997年12月31日 优先权日1997年1月31日
发明者杉山贤二 申请人:日本胜利株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1