转换视频数据流的方法

文档序号:7648140阅读:382来源:国知局
专利名称:转换视频数据流的方法
技术领域
本发明涉及一种转换方法,用于把根据一种基于块的编码技术的第一格式编码的二进制输入数据流转换为根据该编码技术的第二格式编码的二进制输出数据流,其中该二进制输入流包括图象。
举例来说,本转换方法可用于根据MEPG(“运动图象专家组”的英文缩写)技术编码的二进制数据流,以用于把根据MPEG标准的第一格式编码的二进制数据流转换为根据该标准的第二格式编码的二进制数据流。
目前已经有几种被标准化的MPEG格式。它们是以下的标准-MPEG-1(参考号为ISO/CEI 11172),其目标是存储数字视听数据的应用,-MPEG-2(参考号为ISO/CEI 13818),其特别用于电视节目的分送,和-MPEG-4(参考号为ISO/CEI 14496),其专用于多媒体数据管理中的交互使用。
尽管这些标准目的不同,但它们均基于一种块编码技术,其利用了存在于图象序列中的时间和空间冗余。为了消除空间冗余,一种离散余弦变换DCT被应用到了视频信号的8个样本的8行的块中。
就时间冗余而言,使用不同编码方法的三种类型的图象在这些MPEG标准中定义-帧内编码或I图象只利用源自图象本身的信息进行编码;它们有利于图象序列的随机存取;-预测编码或P图象是利用运动补偿预测并根据在显示顺序中的上一个I或P参考图象进行编码的;-双向预测编码或B图象是利用运动补偿预测并根据上一个或下一个I或P参考图象进行编码的。
MPEG标准包括运动补偿处理,该处理依据的是要编码的图象相对于前个图象的位移的检测,该编码包括误差的最小化。而通过其减少空间冗余的编码单元是块,运动补偿使用宏块,根据不同的色度格式4∶2∶0,4∶2∶2或4∶4∶4,一个宏块可以是4个亮度块和2,4或8个色度块的组,这些块源于图象亮度分量的一个16×16单元的扇区。
参考

图1描述的运动估计处理首先把当前图象(11)的一个宏块(12)映射到前个图象的一个宏块上。一旦找到前个图象(13)中最可能的宏块位置(14),则与当前图象的宏块相关的位移矢量(15)就可以确定。随后,与当前宏块和该最可能的宏块之间的差值相对应的预测宏块以及相关的运动矢量被编码。
各种预测方法都是可以的,图象类型决定了用于编码每个宏块的预测方法。例如,一个宏块可根据属于上个图象的参考宏块进行前向预测,它也可根据属于显示序列中的下一个图象的参考宏块进行反向预测。另一种选择是不进行预测,在这种方式下,直接对当前图象的宏块中的块进行编码。这些宏块被称作帧内宏块。
本发明的一个目的是提供一种转换方法,用于把根据块编码技术的第一格式编码的二进制输入数据流转换为与所述技术的第二格式相适应的二进制输出数据流。本发明考虑了以下各个方面。
该块编码技术的第二格式可包括不同于该技术第一格式的编码参数。例如,MPEG4格式与MPEG1和MPEG2的不同之处在于它在双向预测编码B图象中不允许有帧内宏块。如果不进行修改,那么根据MPEG1或MPEG2标准编码且包括这种宏决的二进制数据流将不能与MPEG-4标准相适应,因而也就不能使用MPEG4解码器解码。
为了消除这个问题,根据本发明的转换方法的特征就在于它包括以预测宏决取代属于二进制输入流的B图象的帧内宏决的步骤,从而形成二进制输出流。
因此,该方法确保二进制输入流的正确转换,而且,由此产生的二进制输出流将包括MPEG4解码器可识别的信息。
以预测宏块来取代B图象的帧内宏决的处理可以通过多种不同的方式来实现。
在第一种形式中,该取代步骤包括-子步骤,用于存储帧内编码I图象或预测编码P图象的一组帧内宏块,-子步骤,通过存储的I或P图象的宏块组来为属于B图象的帧内宏块确定一个参考宏块,该I或P图象在显示顺序中处于B图象之前或之后,
-子步骤,用于根据该帧内宏块和参考宏块计算预测宏块。
这种转换方法使用在显示顺序中处于B图象之前或之后的I或P图象的帧内宏块,与其它类型的宏块截然不同的这种宏块不需要重建处理,这是因为它们不需要参考其它任何宏块就可以进行编码。因此,本方法可利用一种简单有效的方式通过帧内宏块和参考宏块来确定预测宏块。
在另一种形式中,该取代步骤包括-子步骤,用于把一组附加宏块加到一个图象中,-子步骤,通过在显示顺序中处于B图象之前或之后的帧内编码I图象或预测编码P图象的附加宏块组来为属于B图象的帧内宏块确定一个参考宏块,-子步骤,用于根据该帧内宏块和参考宏块计算预测宏块。
该第二种形式可以在B图象之前或之后的P图象中没有帧内宏块时确定参考宏块,同时,要被编码的附加信息量也可被减至最小。
参考附图,本发明的这些方面以及其它更为详细的方面将会通过以非限制性实例的形式给出的用于实现本发明的几种方法的下列描述而变得更加清晰,其中-图1表示已有技术的运动估计处理,-图2表示根据本发明的转换方法的第一种操作模式的示意图,-图3表示根据本发明的转换方法的第二种操作模式的示意图,以及-图4表示根据本发明的转换方法的第三种操作模式的示意图。
本发明涉及一种把根据块编码技术的第一格式编码的二进制输入数据流转换为根据该编码技术的第二格式编码的二进制输出数据流。它已经在根据MPEG1标准编码的二进制输入流转换为根据MPEG4标准编码的二进制输出流的范围内得到了专门的研究,不过,如果转换条件类似的话,它也可全部或部分地应用于使用块编码技术的其它视频编码标准的转换,这些标准可以是MPEG2,H.261或H.263。
本发明的优点在于避免了完全解码,即包括根据决编码技术的第一格式的解码图象的重建,之后根据所述技术的第二格式的重新编码。其目的是尽可能减少相关操作,即使是在所述数据流的部分解码和重新编码中,如编码数据的重新量化。本方法可以让用户以一种简单的方式在诸如可视电话这样的MPEG4应用中再次使用根据MPEG格式编码的图象。
图2-4表示该转换方法的三种操作模式(200,300和400),即,输入流的简单转换,利用输入流的重新量化的转换,以及利用所述数据流的某些宏块的部分解码的转换。
图2是表示根据本发明的转换方法的第一种操作模式的示意图。所述方法包括以下步骤-可变长解码VLD(21)二进制输入流(S1),从而为每个宏块提供包括量化的DCT系数acq、相应的量化步骤或标度q、预定模式和运动矢量的解码数据,-校正COR(22)该解码数据,以及-可变长编码VLC(23)该校正的解码数据,以提供二进制输出流(S2)。
在下面的情况下,该校正步骤被证明为是必需的。
MPEG4标准不知道或不允许MPEG1甚至是MPEG2标准所允许的所有功能。举例来说,它处理图象不是根据它们的屏幕显示数NUMi,而是根据它们的显示时间Ti来定的。为此,该校正步骤把MPEG1二进制输入流的图象的屏幕显示数转换为MPEG4二进制输出流的显示时间,它受二进制输入流的已知速率R的影响Ti=NUMi×R。这个操作是一个简单转换操作,它不需要重新量化已被量化的DCT系数。
MPEG1和MEPG2标准使能属于被确定的图象的一行宏决的一段(slice)连续宏块的量化步骤Qslice,Qslice在该段开始时一次性地规定。MPEG4标准不知道“段”的概念。这就是为什么根据本发明的校正步骤把量化步骤Qslice指定给属于该段的所有宏块的原因。事实上,在量化步骤,MPEG4标准传送差值量化步骤Qslice因此指定给属于该段的第一宏块,而0值赋予了下面的宏块,从而形成二进制输出流。
图3表示根据本发明的转换方法的第二操作模式的示意图。所述方法包括以下步骤-可变长解码VLD(21)二进制输入流(S1),从而为每个宏块提供包括量化的DCT系数acq、相应的量化步骤q、预定模式和运动矢量的解码数据,-利用修改的量化步骤q’重新量化RQ(24)已量化的DCT系数acq,从而得到修改的DCT系数acq’,-可变长编码VLC(23)重新量化之后的数据,以提供二进制输出流(S2),-把如此编码的数据存储BUF(25)到一个缓冲存储器中,并且-控制REG(26),以使该缓冲存储器的输入和输出通过改变修改的量化步骤q’而得以控制。
在下面的情况下,该重新量化步骤被证明是必需的。
MPEG1和MPEG2标准提供了一种可能性,即在一个给定值的范围内把量化步骤从一个宏块变化到下一个宏块,在该范围内,量化步骤的变化不受限制。MPEG4标准本身把量化步骤的变化限制在+/-2。对于二进制输入流来说,如果量化步骤从一个宏块到下一个宏块的变化的绝对值大于2,则重新量化步骤将把此变化限制为2。通过预先存储与二进制输入流的一组宏块(如图象的一行)相对应的量化步骤,并确定用于该组宏块的量化步骤的最佳变化,该重新量化步骤可以得到改进。在该最佳变化形式中,考虑到修改过的量化步骤q’的变化被限制为+/-2,修改过的量化步骤q’的曲线从存储的一行的量化步骤开始通过二次方极小化来确定。
帧内编码块的DC系数(即DCT系数,对于该系数来说,频率在二维中为零)须根据不同于其它所有系数的一种方法来进行逆量化。在MPEG1标准中,逆量化的结果是一个乘以DC系数的乘数,该乘数等于8。在MPEG4标准中,被称作dc_scaler的该乘数是一个变量并且是根据该标准定义的一个表的量化步骤的函数。因此,重新量化步骤以在该表中定义的值dc_scaler来取代二进制输入流的等于8的乘数,这是从原始量化步骤q或修改的量化步骤q’开始的,这根据不同的情况而定。
这个重新量化步骤可以明显地改变二进制输出流的速率。在可变速率的数据流的情况下,这种变化不会有任何效果。相反,在恒定速率或在一个给定值的范围内变化的速率的情况下,一个用于改变修改过的量化步骤q’的值的控制步骤是避免缓冲存储器的溢出所必需的。
实际上,如上所述,MPEG4标准不允许B图象中有帧内宏块(标准ISO/CEI14496-2,1999,第337-338页)。这就是为什么根据本发明的转换方法还包括以预测宏块取代帧内宏块这一步骤的原因。
图4是表示该转换方法的该操作模式的示意图。在第一种变化形式下,除了前面段落中描述的步骤之外,所述方法还包括以下步骤-逆量化IQ(27)属于B图象的帧内宏决的量化DCT系数acBq,属于I图象的一组i个帧内宏块的acIq(i),或者属于P图象的一组j个帧内宏块的acPq(j),-存储ME(28)包括分别属于B、I和P图象的系数acB,acI(i),acP(j)的逆量化宏块,-为B图象的帧内宏块计算CAL(29)在显示顺序中处于B图象之前或之后的I或P图象中的参考宏块,并在随后根据帧内宏块和参考宏块计算预测宏块。
在其中搜索参考宏块的宏块组由一个I或P图象中存在的所有帧内宏块形成。根据可用存储资源的不同,该宏块组可被限制为在所述图象内扩展并在I或P图象中存在的某些宏块。
该宏块组存储在存储器MEM中,同时,I或P图象的一个宏块可被用作当前B图象的帧内宏块的参考。
计算参考宏块的步骤要考虑以下的参数来执行-根据B图象的当前帧内宏块和存储的宏块计算的预测误差值;在这种情况下,预测误差的最小值被搜索。例如,该组宏块的一个宏块k的预测误差等于系数acB与P图象的acP(k)或I图象的acI(k)之差的绝对值。在另一个例子中,它等于一个宏块所述系数之差的平方和。
-相对于B图象的帧内宏块位置的P图象中的存储宏块的位置。实际上,如果该存储宏块离B图象的帧内宏块非常远,则编码相应运动矢量所需的比特数可能会相当大,这将会降低编码效率。与在给定值的范围(如[-128,127])之外的运动矢量相关的存储宏块因而被排除在了参考宏块的搜索区之外。在这种情况下,该参考宏块的预测误差不必是所有存储宏块中最小的,但其预测误差必须是属于一个搜索窗的存储宏块中最小的。
预测宏块因而根据B图象的当前帧内宏块和搜索到的参考宏块之间的差值来确定,同时,相关的运动矢量根据图象中的宏块的相应位置来确定。
在该优选变化形式中,预测误差的计算根据逆量化的宏块来执行。它同样可借助离散余弦逆变换IDCT把它们转换为像素宏块。这将构成一个传统的运动估计情况。但是,从计算时间的角度来说,IDCT变换可能是昂贵的,这就是为什么前面的解决方案被优选的原因。而且,由于在DCT域的能量转换,因此在DCT域中的误差平方和与在像素域中的误差平方和相等,正因如此,这两种方法在这种特定情况下是等效的。
但是,如果在B图象之前或之后的P图象中没有帧内宏块,那么在确定参考宏块时将会出现问题。这就是为什么该方法还包括把一组附加宏块(S+)加到(30)序列图象中这一步骤的原因。为此,通过在所述图象的首部字段中进行规定则可以改变图象的尺寸。在该优选的变化形式中,该转换方法在图象底部增加一行宏块。同样也可把这一行加到图象的顶部,或把一列加到图象的右边或左边。由于图象的尺寸被改变,因此图象序列中的所有图象都要增加这些附加宏块。
因此,对于B图象的一个帧内宏块来说,该计算步骤将确定-在显示顺序中处于B图象之前或之后的I或P图象的附加宏块组中的参考宏块,以及-通过使用与上述相同的原理,根据帧内及参考宏块预测的宏块。
举例来说,附加宏块组包括一个标识,更确切地说,是具有相同值的数据。在刚才提及的情况中,附加信息利用最少的比特进行编码。对于I图象来说,这些宏块是帧内编码;对于P和B图象来说,附加宏块是前向编码,这是因为它们与零预测误差和零运动矢量有关。为了尽可能减小运动矢量,参考宏块在相同的列中被选为B图象的当前宏块。这个参考宏块不对应于P图象中的帧内宏块,但是,由于它所包含的数据在P图象中没有变化,因此,它对应于前个I图象中的对应项。因此,预测宏块根据B图象的当前帧内宏块和I图象的帧内宏块之间的误差来计算。如果I图象的附加宏块包括等于零的数据,则预测宏块的DCT系数就是当前帧内宏块的系数acBq。
在前述方法的改进方案中,B图象的帧内宏块由包含DCT系数的预测宏块取代,该DCT系数为零且与零运动矢量相关。这种方法只需要诸如参考图2描述的一个校正步骤(22)。正因如此,在B图象之前或之后的P图象的宏块被冻结。但是,视觉结果可能会让用户感到烦恼。
正如图3所示的操作模式一样,重新量化和控制步骤看来是必要的,它们的目的分别是为了保证由MPEG4标准施加的量化步骤的变化以及为了控制二进制输出流的速率。
参考图2-4的以上描述并不是要限制本发明。显然,在权利要求的范围内,还可以有其它的变化。
目前有很多种通过软件来执行所述功能的方法。在这一点上,应当指出,图2-4是高度示意性的,每张图都只表示了一种单个的变化形式。因此,尽管每张图把不同的功能表示为单独的块,但这并不排除一个软件执行多种功能的可能性。这也决不排除一组软件执行一个功能的可能性。
通过适当编程的电路,这些功能可在计算机或机顶盒中执行。包含在程序存储器中的一组指令可使该电路执行参考图2-4描述的不同操作。通过读取一个数据载体,该组指令可装在该程序存储器中,举例来说,该数据载体可以是装有该组指令的磁盘。也可通过诸如互联网的通信网络读取数据。在这种情况下,服务提供商将使感兴趣的用户可以使用该组指令。
在权利要求中,括号中的任何标号不应当被理解为限制所述权利要求。动词“包括”的使用并不排除还存在权利要求所述的元件或步骤之外的元件或步骤。而且,在一个元件或步骤之前使用不定冠词“一个”并不排除存在多个这类元件或这些步骤。
权利要求
1.一种转换方法,用于把根据一种基于块的编码技术的第一格式编码的二进制输入数据流转换为根据该编码技术的第二格式编码的二进制输出数据流,其中该二进制输入数据流包括图象,所述方法包括一个取代步骤,用于以一组参考编码块(以下被称作预测宏块)来取代属于二进制输入数据流的双向预测编码B图像的一组非参考编码块(以下被称作帧内宏块)。
2.如权利要求1的转换方法,其中该取代步骤包括-用于存储帧内编码I图象或预测编码P图象的一组帧内宏块的子步骤,-通过存储的I或P图象的宏块组来为属于B图象的帧内宏块确定一个参考宏块的子步骤,该I或P图象在显示顺序中处于B图象之前或之后,以及-用于根据该帧内及参考宏块计算预测宏块的子步骤。
3.如权利要求2的转换方法,其中该确定子步骤用于确定该参考宏块为根据B图象的帧内宏块和存储宏块计算的预测误差值的函数。
4.如权利要求1的转换方法,其中该取代步骤包括-用于把一组附加宏块加到一个图象中的子步骤,-通过在显示顺序中处于B图象之前或之后的帧内编码I图象或预测编码P图象的附加宏块组来为属于B图象的帧内宏块确定一个参考宏块的子步骤,-用于根据该帧内宏块和参考宏块计算预测宏块的子步骤。
5.如权利要求4的转换方法,其中该组附加宏块包括具有相同值的数据。
6.如权利要求2或4的转换方法,其中该确定子步骤确定参考宏块为相对于B图象的帧内宏块位置的P图象中其位置的函数。
7.如权利要求1的转换方法,其中该取代步骤用于以包含DCT系数的预测宏块取代帧内宏块,其中该DCT系数为零并与零运动矢量相关。
8.一种用于计算机的包括一组指令的计算机程序产品,当将其装入所述计算机的电路中时,将使计算机电路执行如权利要求1-7所要求保护的方法。
9.一种用于机顶盒的包括一组指令的计算机程序产品,当将其装入所述机顶盒的电路中时,将使机顶盒电路执行如权利要求1-7所要求保护的方法。
全文摘要
本发明涉及一种把根据块编码技术的第一格式编码的二进制输入数据流转换为根据该编码技术的第二格式编码的二进制输出数据流。它已经在根据MPEG1标准编码的二进制输入流转换为根据MPEG4标准编码的二进制输出流的范围内得到了专门的研究。由于MPEG4标准不允许双向预测编码B图象中的帧内宏块,因此,根据本发明的转换方法包括了由预测宏块取代B图象中的宏块的步骤。
文档编号H04N7/32GK1394445SQ01803463
公开日2003年1月29日 申请日期2001年9月3日 优先权日2000年9月5日
发明者C·A·勒库特勒 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1