专利名称:对具有多个图像的图像序列进行编码的方法及设备的制作方法
技术领域:
本发明涉及数字视频内容的编码和解码。更具体来说,本发明涉及在如 MPEG-4PartlOAVC/H. 264视频编码标准中所使用的在图像级上对数字视频内容按帧模式和
场模式的编码和解码。
背景 视频压縮在许多当前和正在出现的产品中被使用。它是数字电视机顶盒(STB)、数
字卫星系统(DSS)、高清晰度电视(HDTV)解码器、数字多用盘(DVD)播放器、视频会议、因特
网视频和多媒体内容、以及其它数字视频应用的核心。如果没有视频压縮,数字视频内容就
可能极其庞大,使得难以、甚至不可能有效地存储、传送或观看数字视频内容。 数字视频内容包含图像流,所述图像能被在电视接收器、计算机监视器或能显示
数字视频内容的其它某种电子装置上显示为一个影像。 一个在时间上在某特定图像之前被
显示的图像,相对于该特定图像来说,是在"向前的方向"上。同样,一个在时间上在某特定
图像之后被显示的图像,相对于该特定图像来说,是在"向后的方向"上。 视频压縮是在一个视频编码过程中完成的,在该过程中每个图像或者按帧或者按
两个场被编码。每个帧包含多行的空间信息。例如,一个典型的帧含有480个水平行。每
个场含有帧中行数的一半的行。例如,如果帧含有480个水平行,则每个场含有240个水平
行。在一个典型的配置中,一个场含有帧中的奇数编号的行,另一个场含有帧中的偶数编号
的行。在下文中以及在后附的权利要求书中,除非特别地另外指明,否则将把含有奇数编号
的行的场称作"顶"(t op)场。同样,在下文中以及在后附的权利要求书中,除非特别地另
外指明,否则将把含有偶数编号的行的场称作"底"(bottom)场。这两个场可被交织在一
起,形成一个交织帧。 支持视频编码的大体思想,是从数字视频内容中除去"非必要的"的内容。被减少 的数据量于是要求更少的用于广播或传输的带宽。在压縮的视频数据被传送后,必须对其 进行解码,或解压。在这个过程中,对所传送的视频数据进行处理,以生成被代入该视频数 据的近似数据,用于代替在编码过程中被去除的"非必要的"数据。 视频编码将数字视频内容转变成一种压縮的形式,与不压縮的数字视频内容相 比,其能用较少空间存储并用较少的带宽传送。这样做是利用了视频内容的图像中的时间 上和空间上的冗余。可以将数字视频内容存储在诸如硬驱、DVD的存储介质中,或者某个其 它的非易失性存储单元中。 有许多压縮数字视频内容的视频编码方法。因此,开发出了视频编码标准来标准 化各种视频编码方法,以便压縮的数字视频内容以大多数视频编码器和解码器能识别的格 式被提供。例如,运动图像专家组(MPEG)和国际电信联盟(ITU-T)已经开发了正在广泛应 用的视频编码标准。这些标准的例子包括MPEG-1、 MPEG-2、 MPEG-4、 ITU-T H261和ITU-TH263标准。 多数现代视频编码标准一诸如由MPEG和ITU-T开发的视频编码标准一部分根据 的是一种具有运动补偿(MC)算法的时间预测。具有运动补偿的时间预测被用来在数字视 频广播中去除连续的图像之间的时间冗余。 具有运动补偿算法的时间预测一般利用一个或两个基准图像来编码一个特定的 图像。基准图像是一个已经被编码的图像。通过把要被编码的特定图像与基准图像中的一 个相比较,具有运动补偿算法的时间预测能利用在该基准图像与要被编码的特定图像之间 存在的时间冗余,并以高于不使用具有运动补偿算法的时间预测编码该图像时的压縮量来 编码该图像。基准图像的其中之一可以位于相对要被编码的特定图像来说的向后方向上。 另一个基准图像位于相对要被编码的特定图像来说的向前方向上。 然而,随着对更高分辨率、更复杂图像内容、更快传送速度的需求的增加,对更好 的视频编码方法的需要也增加。为此,目前正在开发一种新的视频编码标准。这个新的视 频编码标准叫作MPEG-4Part 10AVC/H. 264标准。 该新的MPEG-4Part 10AVC/H. 264标准要求许多新的视频压縮方法。例如,新的 MPEG-4Part 10AVC/H. 264标准的特点之一时,它允许有多个基准图像,而不是仅仅两个基 准图像。多个基准图像的使用,允许编码器找到与要被编码的图像最接近地匹配的基准图 像,从而改善具有运动补偿算法的时间预测的性能。通过在编码过程中使用与要被编码的 图像最接近地匹配的基准图像,在该图像的编码中就有可能获得最大的压縮量。基准图像 被存储在帧缓存器和/或场缓存器中。 如前文所述,编码器能按一个帧或按两个场来编码一个图像。如果在一个要被编 码的图像序列中,有些图像被按帧编码,有些图像被按场编码,则可能实现更大程度的压 縮。
发明概要 在许多可能实施例的一个中,本发明提供一种数字视频内容的编码、解码和位流 生成的方法。数字视频内容包含一个图像流,所述图像分别可能是帧内的(intra)、预测的 (predicted)、或双预测的(bi-predicted)图像。每个图像包含能被进一步划分成更小的 块的宏块。该方法要求或者以帧模式或者以场模式编码和解码所述图像流中的每个图像。
附图简述 各附图例示本发明的各种实施例,并且是说明书的一部分。连同以下说明各附图, 展现和解释本发明的原理。所例示的实施例都是本发明的例子,不限制本发明的范围。
图1表示由例如MPEG-4Part 10AVC/H. 264标准之类的示例性视频编码标准所定 义的、能被用来实现本发明的一个示例性的三种类型图像的序列。 图2表示的是按照本发明的实施例、优选地将每个图像划分成含有宏块的片 (slices)。 图3a表示的是按照本发明的实施例、可以将一个宏块进一步划分成16X8像素的 块尺寸。 图3b表示的是按照本发明的实施例、可以将一个宏块进一步划分成8X16像素的 块尺寸。
图3c表示的是按照本发明的实施例、可以将一个宏块进一步划分成8X8像素的块 尺寸。 图3d表示的是按照本发明的实施例、可以将一个宏块进一步划分成8X4像素的块 尺寸。 图3e表示的是按照本发明的实施例、可以将一个宏块进一步划分成4X8像素的块 尺寸。 图3f表示的是按照本发明的实施例、可以将一个宏块进一步划分成4X4像素的块 尺寸。 图4表示的是一个解释本发明的实施例的使用具有运动补偿的时间预测的图像 构造例子。 图5表示的是解释按照本发明的实施例、在具有运动补偿的时间预测中使用多个 基准图像的优点的一个示例性图像流。 图6表示的是按照本发明的实施例、根据帧缓存器中的每个基准帧与正在以帧模
式被编码的当前帧的距离向帧缓存器中的每个基准帧分配一个唯一的基准帧号。 图7a表示按照本发明的实施例的一个示例性基准场编号配置,其中,给予场奇偶
性与当前场的相同的基准场比它们对应的第二场更小的编号。 图7b表示一个示例性的基准场编号配置,其中,当前场是要被按两个场编码的图 像的第二场。 图8表示在按照本发明的实施例的场缓存器中的一个替代的基准场编号配置。
图9表示一个直接模式矢量计算的方法,其中,当前宏块和与其共同定位的 (co-located)宏块二者都处于帧模式。 图10表示一个直接模式矢量计算的方法,其中,当前宏块和与其共同定位的宏块 二者都处于场模式。 图11表示另一个直接模式矢量计算的方法,其中,当前宏块和与其共同定位的宏 块二者都处于场模式。 图12表示一个直接模式矢量计算的方法,其中,当前宏块处于场模式,与其共同 定位的宏块处于帧模式。 图13表示一个直接模式矢量计算的方法,其中,当前宏块处于帧模式,与其共同 定位的宏块处于场模式。 图14表示按照本发明实施例的在时间上的向前方向上具有两个基准图像的B图像。 图15表示按照本发明实施例的在时间上的向后方向上具有两个基准图像的B图 像。 图16表示在时间上的向前方向上具有一个前向基准图像和在时间上的向后方向 具有一个后向基准图像的B图像。 在各附图中,相同的标注号代表相似的一但未必是相同的一部件。
发明的实施例详述 本发明提供一种在图像级对包含一个图像流的数字视频内容的自适应帧/场 (AFF)编码的方法。在图像级上的AFF编码过程中,要被编码的图像流中的每个图像或者被按帧模式或者被按场模式编码,而不管其它图像的帧或场编码模式。如果一个图像是按帧 模式被编码的,则构成一个交织帧的两个场被共同地编码。相反,如果一个图像是按场模式 被编码的,则构成一个交织帧的两个场被分开编码。编码器确定对每个图像来说帧模式编 码和场模式编码中的哪一种编码更有益,并为该图像选择该种编码模式。在帧模式与场模 式之间进行选择的具体方法对本发明来说并不重要,因此将不再这里详述。
如上所述,MPEG-4Part 10AVC/H. 264标准是一种编码和压縮数字视频内容的新 标准。建立MPEG-4Part 10AVC/H. 264标准的文件在这里作为参考引用,包括联合视频组 (JVT) (Joint Video Team) 2002年8月10日发布的"Joint Final Committee Draft (JFCD) of JointVideo Specification"(ITU-T Rec. H. 264&IS0/IEC 14496-1OAVC)。该JVT由ISO 或MPEG和ITU-T的专家组成。由于MPEG-4Part 10AVC/H. 264标准的公开性质,本发明说 明书将不试图展示MPEG-4PartlOAVC/H. 264视频编码的所有现有的方面,而是依赖该标准 的所引用的说明书。 尽管这个AFF编码方法是与MPEG-4Part 10AVC/H. 264标准指南相容的,并且将要
利用后者作解释,该方法也可以被修改得最适合于某个标准或应用。
现在将利用各附图来解释本发明的各优选实施例。 图1表示由例如MPEG-4Part 10AVC/H. 264标准之类的示例性视频编码标准所定 义的、能被用来实现本发明的一个示例性的三种类型图像的序列。如前文提到的那样,编码 器编码图像,解码器解码图像。编码器或解码器可以是处理器、专用集成电路(ASIC)、现场 可编程门阵列(FPGA)、编解码器(CODEC)、数字信号处理器(DSP)、或能编码图像流的某种 其它电子装置。然而,在下文中以及在后附的权利要求书中,除非特别地另外指明,否则将 用术语"编码器"来泛指编码包含一个图像流的数字视频内容的所有电子装置。同样,在下 文中以及在后附的权利要求书中,除非特别地另外指明,否则将用术语"解码器"来泛指解 码包含一个图像流的数字视频内容的所有电子装置。 如图1中所示,优选地有三种类型的图像能被用于视频编码方法中。定义三种类 性的图像,以在利用具有运动补偿的时间预测探索最大冗余减少的同时支持对被存储的 数字视频内容的随机访问。这三种类型的图像是帧内(I)图像(100)、预测的(P)图像 (102a, b)、双预测的(B)图像(101a-d)。 I图像(100)提供一个用于随机访问被存储的数 字视频内容的访问点并且只能以轻微的压縮被编码。对帧内图像(100)编码时不参考基准 图像。 编码一个预测的图像(102a,b)时,用一个已经被编码的I、P或B图像作为基准图 像。该基准图像可以在相对于正在被编码的P图像的向前或向后的时间方向上。预测的图 像(102a,b)能被编码得比帧内图像(100)有更多的压縮。 编码 一 个双预测的图像(101a-d)时,使用两个时间基准图像(temporal reference pictures):—个前向基准图像和一个后向基准图像。前向基准图像有时被称作 过去基准图像,后向基准图像有时被称作将来基准图像。本发明的一个实施例是,前向基准 图像和后向基准图像可以位于相对于正在被编码的B图像的相同的时间方向上。双预测的 图像(101a-d)能被编码得在这三种图像类型中具有最大的压縮。 这三种图像类型之间的基准关系(103)在图1中表示。例如,P图像(102a)能被 用编码的I图像(100)作为其基准图像而编码。如图1中所示,B图像(101a-b)能被用编码的I图像(100)和/或编码的P图像(102a)作为其基准图像而编码。按照本发明的一 个实施例的原理,编码的B图像(lOla-d)也能被用作其它要被编码的B图像的基准图像。 例如,图1显示,B图像(101c)有两个其它的B图像(101b和101d)作为其基准图像。
图1中所示的1(100)、B(101a-d)及P(102a,b)图像的数量和特定次序是作为一 个示例性的图像配置而给出的,但是对于实现本发明来说并不是必需的。可以使用按任何 次序的任何数量的I、 B禾P P图像,以最好地适合于特定的应用。MPEG-4Part 10AVC/H. 264 标准并不限制两个基准图像之间的B图像数,也不限制两个I图像之间的图像数。
图2表示优选地将每个图像划分成片(202)。 一个片(202)含有一组宏块(201)。 一个宏块是一个矩形的像素组。如图2中所示,一个优选的宏块(201)大小是16X16像素。
图3a-f表示可以将一个宏块进一步划分成大小更小的块。例如,如图3a-f中所 示,可以将一个宏块进一步划分成如下的块尺寸16X8像素(图3a ;300) 、8X16像素(图 3b ;301) 、8X8像素(图3c ;302) 、8X4像素(图3d ;303) 、4X8像素(图3e ;304)、或4X4像 素(图3f ;305)。 图4表示的是一个解释本发明的实施例的使用具有运动补偿的时间预测的图像 构造例子。具有运动补偿的时间预测假设,可以将一个当前图像一图像N(400)—局部地建 模为另一个图像一图像N-1(401)—的一个平移。图像N-1(401)是用于对图像N(400)的编 码的基准图像,可位于相对于图像N(400)的向前或向后的时间方向上。
如图4中所示,优选地将每个图像划分成含有宏块(201a,b)的片。图像N-1(401) 含有一个将要在图像N(400)中被显示的图像(403)。如图4中所示,图像(403)在图像 N(400)中将处于一个与它在图像N-1(401)中所处的不同的时间位置(402)。图像N(400) 的每个宏块(201a)的图像内容,是根据图像N-1(401)的每个对应宏块(201b)的图像内容 预测的,具体是通过估计图像(403)移动到其在图像N(400)中的新的时间位置(402)所需 的图像N-1(401)的每个宏块(201b)的图像内容的时间运动的量进行预测。实际被编码并 传送的,不是原始的图像(402),而是图像(402)与其预测(403)之间的差(404)。
对于图像N(400)中的每个图像(402)来说,时间预测常常可以由代表图像(403) 移动到其在图像N(400)中的新位置(402)所需的时间运动量的运动矢量表示。被用于具 有运动补偿的时间预测的运动矢量(406)需要被编码和传送。 图4表示图像N(400)中的图像(402)可由所述图像和它的预测之间的差(404) 以及相关联的运动矢量(406)表示。可以有不同的使用运动矢量进行编码的具体方法以最 适于某一特定应用,所述具体方法可以由本领域熟练技术人员很容易地实现。
图5表示的是解释按照本发明的实施例、在具有运动补偿的时间预测中使用多个 基准图像的优点的一个示例性图像流。多个基准图像的使用,增加了图像N(400)以可能最 大的压縮被编码的可能性。在这个例子中,图像N-l (401) 、 N-2(500) 、 N-3(501)已经被编 码。如图5中所示,图像N-3(501)中的一个图像(540)与图像N-2(500)和N-1(401)的图 像(503,502)分别相比,和图像N(400)中的图像(402)更相似。多个基准图像的使用,允 许用图像N-3(501)而不是图像N-1(401)作为基准图像对图像N(400)编码。
现在将更详细地解释对一个图像流的图像级的AFF编码。 一个交织序列的帧含有 两个场,即交替的并在时间上间隔一个场周期的上场和下场。该场周期是帧周期时间的一 半。在图像级AFF编码过程中,一个交织帧的两个场能被共同地或者分开地编码。如果被共同地编码,采用帧模式编码。相反地,如果这两个场被分开地编码,则采用场模式编码。
另一方面,固定的帧/场编码,只以一种模式编码一个图像流的所有图像。该模式可以是帧模式,也可以是场模式。图像级的AFF编码优选地是固定的帧/场编码,因为它允许编码器根据数字视频材料的内容来选择要用帧模式和场模式中的哪一个模式来编码图像流中的每个图像。 帧模式编码用已经被编码了的图像作为基准帧。该基准帧可以是任何编码了的I 、P或B帧。在作为编码器一部分的帧缓存器中存储所述基准帧。本发明的一个实施例是,如图6中的示例性格局所示的那样,根据帧缓存器中的每个基准帧与正在以帧模式被编码的当前图像之间的距离,向帧缓存器中的每个基准帧分配一个唯一的基准帧号。例如,如图6中所示,一个要按一个帧(600)编码的当前图像有多个在帧缓存器(601)中的基准帧(0-5)。图6也示出了与该当前帧(600)和基准帧(0-5)对应的场(fl, f2)。用虚线标记的fl是第一场,用虚线标记的f2是第二场。第一场是在一个有两个场的图像中被编码的第一个场。同样,第二场是在一个有两个场的图像中被编码的第二个场。本发明的一个实施例是,第一场可以是顶场或者是底场。在本发明的另一个实施例中,第二场也可以是顶场或者是底场。各帧由实线表示。如图6中所示,基准帧0是时间上最靠近当前帧(600)的基准帧。基准帧在时间上离当前帧(600)越远,其基准帧号越大。 按照本发明一个实施例的原理,一个被按一个帧编码的B图像可有多个前向和后
向的基准图像。其中为每个所述前向和后向基准图像分配唯一的编号。 在具有运动补偿算法的时间预测中,对被按一个帧编码的图像中的每一个像素进
行子像素内插(sub-pel interpolation)。也可以通过重复帧边界上的像素而对按帧编码
的基准图像施行填充。在具有运动补偿算法的时间预测中,填充有时是适当的。可以对帧
块应用循环滤波(loop filtering)或去分块(de-blocking)方案,以解决相邻块的边沿处
像素值不连续的问题。 按照本发明的另一个实施例,在AFF编码过程中可以跳过一个P图像中的一个宏块。如果某宏块被跳过,它的数据在对图像的编码过程中不被传送。通过复制已经被最近编码的I或P基准图像中共同定位的具有运动补偿的宏块来重构P图像中一个被跳过的宏块。 场模式编码用已经被编码的图像作为基准场。基准场可以是任何编码的I、P或B场。基准场被存储在作为编码器一部分的场缓存器中。本发明的一个实施例是,根据场缓存器中的每个基准场与正在被作为两个场编码的当前图像的距离向场缓存器中的每个基准场分配一个唯一的基准场号。图7a和7b表示按照本发明的实施例的示例性基准场编号配置,其中,给予场奇偶性与当前场的相同的基准场比它们对应的第二场更小的号。如果两个场都是顶场或者都是底场,则这两个场具有相同的场奇偶性。在图7a和7b的例子中,如果要被编码的当前图像的第一场是个顶场,则各基准图像的第一场也是顶场。于是第二场则是底场。第一场也可以都是底场,而第二场可以都是顶场。 如图7a中所示,一个要按场模式被编码的当前图像有多个在场缓存器(701)中的基准场(0-10)。用虚线标记的fl是第一场,用虚线标记的f2是第二场。与场对应的帧也在图7a中显示,并被用实线表示。如图7a中所示,如果要被编码的图像的第一个场是当前帧(700),则向场缓存器(701)中的第一个图像的第一场分配编号0,同时向场缓存器(701)中的第一个图像的第二场分配编号1。基准场在时间上离当前场(700)越远,其基准场号就越大。场缓存器中的各图像的第一场比它们对应的第二场有更低的基准号。
图7b表示一个示例性的基准场编号配置,其中,当前场(702)是要被按两个场编码的图像的第二场。用虚线标记的H是第一场,用虚线标记的f2是第二场。当前图像的第一场已经被编码。如图7b中所示,因为当前场(702)是个第二场,场缓存器(701)中的第一个图像的第二场被分配编号O。当前图像的第一已编码的场被分配编号l。基准场在时间上离当前场(702)越远,其基准场号就越大。场缓存器中的各图像的第二场比它们对应的第一场有更低的基准号。 图8表示在按照本发明的实施例的场缓存器中的一个替代的基准场编号配置。在
这个配置中,并不特殊对待场奇偶性与当前场的相同的场。例如,如图8中所示,当前场
(800)是个第一场。场缓存器中的最近编码的图像的最近编码的场被赋予基准号O。基准
场在时间上离当前场(800)越远,其基准场号就越大,不管它们的场奇偶性如何。 按照本发明另一个实施例,如果编码器为某个特定P图像选择场编码,编码器可
用被作为一个基准场编码的第一场来对第二场编码。如果该图像是个B图像,则被编码的
第一场可被用作用于对第二场编码的两个基准场的其中之一。 对于自适应双预测(ABP)来说,可以在场模式下编码两个基准图像。在这种情况下,在计算被定标的(scaled)运动矢量时所用的时间距离是以场间隔计的。在ABP编码过程中,两个基准帧在相同的方向上。 在具有运动补偿算法的时间预测中,对一个被按场模式编码的图像中的每一个像素进行子像素内插。也可以通过重复场边界上的像素而对按场编码的基准图像施加填充。在具有运动补偿算法的时间预测中,填充有时是适当的。可以对场块应用循环滤波或去分块方案,以解决相邻块的边沿处像素值不连续的问题。 按照本发明的另一个实施例,在AFF编码过程中可以跳过一个P图像中的一个宏块。如果某个宏块被跳过,它的数据在对图像的编码过程中不被传送。通过复制相同场奇偶性的最近编码的I或P基准场中共同定位的具有运动补偿的宏块来重构P图像中一个被跳过的宏块。另一个实施例是,通过复制场奇偶性可能是不同的最近编码的基准场中共同定位的宏块来重构P图像中该被跳过的宏块。 本发明的另一个实施例是对B图像的直接模式编码。在直接模式编码过程中,一个B图像中的宏块的前向和后向运动矢量是从在一个后向基准图像的对应的、或共同定位的宏块中所使用的运动矢量中被导出的。在两个图像中共同定位的宏块在这两个图像中都占据相同的几何位置。后向基准图像有时被称作前向基准图像,尽管按照本发明一个实施例,后向基准图像不必在时间上先于正在被编码的当前图像。 直接编码模式比其它编码方法有利,这是因为,在帧间模式编码中,一个宏块可以有多达16个运动矢量和多达4个基准帧。帧间模式编码利用具有运动补偿的时间预测编码一个宏块。如果用帧间编码对一个宏块进行编码,MPEG-4Part 10AVC/H. 264标准允许图3a-f的6个较小的块尺寸(16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、4X4像素)中的每一个有其自己的运动矢量。16X16像素的块尺寸也可以有其自己的运动矢量。MPEG-4Part 10AVC/H. 264标准也允许16X16像素、16X8像素、8X16像素、8X8像素的块尺寸有其自己的基准帧。因此,一个宏块可以有多达16个运动矢量和多达4个基准帧。由于有这么多潜在运动矢量,从后向基准图像的共同定位的宏块的已经被计算的运动矢量导出一个要被编码的宏块的运动矢量是有利的。在直接模式编码过程中,一个要被编码的宏块的前向运动矢量和后向运动矢量,被当作后向基准图像中共同定位的宏块的前向运动矢量的已定标的版本(scaled versions)计算。 在图像级的AFF编码中, 一个B图像和它的后向基准图像各自都能按帧模式或按场模式被编码。因此,就帧编码模式和场编码模式而言,对该B图像中的一对宏块和在后向基准图像中它的共同定位的一个宏块来说,可能有四种不同组合。在第一种情形中,当前宏块和它的共同定位的宏块二者都是帧模式。在第二种情形中,当前宏块和它的共同定位的宏块二者都是场模式。在第三种情形中,当前宏块是场模式,它的共同定位的宏块是帧模式。最后,在第四种情形中,当前宏块是帧模式,它的共同定位的宏块是场模式。对要被编码的宏块的直接模式运动矢量计算的方法在这四种情形中的每一个中都不同。以下将详细说明这4种对B图像中的宏块的直接模式运动矢量计算的方法。 将结合图9说明在第一种情形中的直接模式矢量计算的方法。如图9中所示,一个当前B图像(900),要用一个已经被按帧模式编码的后向基准图像(901)和一个前向基准图像(902)作为基准图像,按帧模式被编码。图9中的各帧用竖实线表示,它们对应的场fl和f2用纵向虚线表示。按照本发明一个实施例,后向基准图像(901)可以是一个已经被按帧模式编码的I、P或B图像。类似地,前向基准图像(902)也可以是一个编码的I、P或B图像。 如图9中所示,当前B图像(900)中有一个块(903),在后向基准图像(901)中有与其共同定位的块(904)。块(903)和共同定位的块(904)有相等的像素尺度。这些尺度可以是16X16像素、16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、或4X4像素。按照本发明一个实施例,编码器为当前B图像(900)中的块(903)导出两个在具有运动补偿算法的时间预测中使用的运动矢量。其中一个运动矢量MVp指向前向基准图像(902)。另一个运动矢量MVe指向后向基准图像(901)。这两个运动矢量被按下面的公式计算
MVF = TRB MV/TRD MVB = (TRB_TRD) MV/TRD (公式1和2) 在公式1和2中,TRB是要被按帧模式编码的当前B图像(900)与前向基准图像(902)之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。TR。是已经被按帧模式编码的前向基准图像(902)与后向基准图像(901)之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。下面将解释计算基准图像之间的时间距离的优选方法。MV是已经为后向基准图像(901)中的共同定位的块(904)计算出来的、指向前向基准图像(902)的运动矢量。 将结合图10和11说明在第二种情形中的直接模式矢量计算的方法。如图10和图11中所示,一个当前B图像(900),要用一个已经被按场模式编码的后向基准图像(901)和一个前向基准图像(902)作为基准图像,按场模式被编码。图10和11中的各帧用竖实线表示,它们对应的场fl和f2用纵向虚线表示。按照本发明一个实施例,后向基准图像(901)可以是一个已经被按场模式编码的I、 P或B图像。类似地,前向基准图像(902)也可以是一个编码的I 、 P或B图像。
如图10中所示,当前B图像(900)的第一场中有一个块(905)。它的运动矢量是从后向基准图像(901)中与其共同定位的块(906)的前向运动矢量M^导出的。按照图10中所示的实施例,共同定位的块(906)位于一个与当前B图像(900)中的块(905)所在场的奇偶性相同的场中。块(905)和共同定位的块(906)有相等的像素尺度。这些尺度可以是16X16像素、16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、或4X4像素。
按照本发明一个实施例,编码器为当前B图像(900)中的块(905)导出两个在具有运动补偿算法的时间预测中使用的运动矢量。其中一个运动矢量MV^指向所指向的前向基准图像(902)中的场。另一个运动矢量MV^指向后向基准图像(901)中共同定位的块(906)的场。这两个运动矢量被按下面的公式计算
MVF, i = TRB, i MV乂TRd,丄 MVB, i = (TRB, 「TRD,》 MV乂TRd,丄 (公式3和4) 在公式3和4中,下标i是场标记(index)。第一场具有场标记l,第二场具有场标记2。因此,在图10的示例性情形中,场标记之所以为l,是因为第一场正在被编码。MVi是后向基准图像(901)的场i中共同定位的宏块的前向运动矢量。TR吣是当前B帧(900)的第i场与MVi所指向的基准场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。TR。,i是后向基准图像(901)的第i场与M、所指向的基准场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。 如图10中所示,当前B图像(900)的第二场中有一个块(907)。它在后向基准图像(901)的第二场中有一个共同定位的块(908)。如果该共同定位的块(908)的前向运动矢量指向除其自己的图像以外的任何图像中的一个以前编码的场,则前向运动矢量和后向运动矢量的计算遵循公式3和4,只是场标记等于2。 然而,如图11中所示,按照本发明一个实施例,后向基准图像(901)的第二场中的共同定位的块(908)的前向运动矢量也可以指向同一个后向基准图像(901)的第一场。图ll表示共同定位的块(908)有一个指向后向基准图像(901)的第一场的前向运动矢量MV2。在这种情况下,当前块(907)的两个运动矢量按下式计算
MVF,2 = _TRB,2 MV2/TRD,2 MVB,2 = - (TRB,2+TRD,2) MV2/TRD,2 (公式5和6) 在公式5禾P 6中,TRB,2是当前B帧(900)的第2场与MV2所指向的基准场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。TR。,2是后向基准图像(901)的第2场与MV2所指向的基准场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。如图11中所示,在这种情况下,这两个运动矢量都指向向后的方向。
将结合图12说明在第三种情形中的直接模式矢量计算的方法。如图12中所示,一个当前B图像(900),要用一个已经被按帧模式编码的后向基准图像(901)和一个前向基准图像(902)作为基准图像,按场模式被编码。图12中的各帧用竖实线表示,它们对应的场fl和f2用纵向虚线表示。按照本发明一个实施例,后向基准图像(901)可以是一个已经被按帧模式编码的1、P或B图像。类似地,前向基准图像(902)也可以是一个编码的I、P或B图像。
如图12中所示,当前B图像(900)的第一场中有一个块(905)。按照图12中所示的实施例,共同定位的块(904)是按帧模式编码的。按照本发明一个实施例,编码器为当前B图像(900)中的块(905)导出两个在具有运动补偿算法的时间预测中使用的运动矢量。如图12中所示,其中一个运动矢量MVw指向前向基准图像(902)中的具有与当前块(905)的场奇偶性相同的奇偶性的场。在图12的例子中,当前块(905)位于当前B图像(900)的第一场中。另一个运动矢量MV w指向后向基准图像(901)中类似奇偶性的场。这两个运动矢量被按下面的公式计算
MVF, i = TRB, i MV/TRD MVB, i = (TRB, 「TRD) MV/TRD(公式7和8) 在公式7和8中,MV是通过将共同定位的块(904)的基于帧的前向运动矢量在纵向方向上除以2而得出的。这就弥补了事实上共同定位的块(904)是帧模式的、而当前块
(905) 是场模式的这样的差异。下标i是场标记。第一场具有场标记l,第二场具有场标记2。因此,在图12的示例性情形中,场标记之所以为1,是因为第一场正在被编码。TR。是后向基准图像(901)的第i场与前向基准帧(902)的第i场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。TRB,i是当前B图像(900)的第i场与后向基准图像(901)中共同定位的块(904)的基准帧的第i场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。用相同的公式计算当前B图像(900)中第二场中的块(907)的运动矢量。 将结合图13说明在第四种情形中的直接模式矢量计算的方法。如图13中所示,一个当前B图像(900),要用一个已经被按场模式编码的后向基准图像(901)和一个前向基准图像(902)作为基准图像,按帧模式被编码。图13中的各帧用竖实线表示,它们对应的场fl和f 2用纵向虚线表示。按照本发明一个实施例,后向基准图像(901)可以是一个已经被按场模式编码的1、P或B图像。类似地,前向基准图像(902)也可以是一个编码的I、P或B图像。 如图13中所示,要被按帧编码的当前B图像(900)有一个块(903)。它的运动矢量是从它在后向基准图像(901)中共同定位的块(906)的前向运动矢量MVJ寻出的。按照本发明一个实施例,编码器为当前B图像(900)中的块(903)导出两个在具有运动补偿算法的时间预测中使用的运动矢量。这两个运动矢量被按下面的公式计算
MVF = TRB MV乂TRd,工MVB = (TRb-TR。,》 MV/TR^ (公式9和10) 在公式9和10中,M^是通过将后向基准图像(901)的第一场中共同定位的块
(906) 的基于场的运动矢量在纵向方向上加倍而得出的。TRb是当前B圉像(900)和基准帧(902)之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值,所述共同定位的块(906)的前向运动矢量指向它的一个场。在图13中,这个运动矢量是MV^ TR吣是后向基准图像(901)的第一场与共同定位的块(906)的前向运动矢量所指向的前向基准图像(902)中的场之间的时间距离、该时间距离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。
本发明的另一个实施例将直接模式编码扩展到P图像。在图像级的AFF编码中,一个P图像和它的前向基准图像可以被按帧模式或者按场模式编码。因此,就帧编码模式和场编码模式而言,对该P图像中的一对宏块和在前向基准图像中它的共同定位的一个宏块来说,可能有四种不同组合。第一种情形,当前宏块和它的共同定位的宏块二者都是帧模式。第二种情形,当前宏块和它的共同定位的宏块二者都是场模式。第三种情形,当前宏块是场模式,它的共同定位的宏块是帧模式。最后,第四种情形,当前宏块是帧模式,它的共同定位的宏块是场模式。P图像中的块只有一个运动矢量,即前向运用矢量。对要被编码的宏块的直接模式运动矢量计算的方法在这四种情形中的每一个中都不同。以下将详细说明这4种对P图像中的宏块的直接模式运动矢量计算的方法。 第一种情形,当前P图像和它的前向基准图像二者都以帧模式被编码。当前P图
像的一个块的前向基准图像与前向基准图像中它的共同定位的块所使用的是同一个图像。
当前块的前向运动矢量MVp与它的共同定位的块的前向运动矢量是相同的。 第二种情形,当前P图像和它的前向基准图像二者都以场模式被编码。在对当前P
图像的一个场中的一个块的直接模式编码中的运动矢量,是根据前向基准图像中具有相同
奇偶性的场中的共同定位的块的前向运动矢量计算出来的。当前P图像的第i场的块的前
向运动矢量MV F,i,与前向基准图像中第i场中的它的共同定位的块的前向运动矢量是相同的。 第三种情形,当前P图像是场模式,后向基准图像是帧模式。由于当前P图像中的
其中一个场中的一个块的共同定位的块是按帧编码的,通过将共同定位块的运动矢量在纵
向方向上除以2,就得出当前P图像中的其中一个场中的一个块的前向运动矢量。 第四种情形,当前P图像是帧模式,前向基准图像是场模式。前向基准图像的第一
场中的共同定位的块,被用于计算按帧模式的当前P图像中块的前向运动矢量。通过将前
向基准图像的第一场中的共同定位块的基于场的运动矢量在纵向方向上加倍,就得出按帧
模式的当前P图像中的一个块的前向运动矢量MVp。 本发明的另一个实施例是多帧插值的(multi-frameinterpolative)预测模式(MFIP)。 MFIP是一种通用的帧插值预测架构。如前文解释过的那样,一个按帧模式或者按场模式编码的B图像有两个按帧模式或者按场模式编码的基准图像。这两个基准图像可以都是前向基准图像,如图14中所示。图14表示一个要被编码的、有两个基准图像的B图像(140)。其中一个基准图像是前向基准图像(141),另一个是后向基准图像(142)。如图14中所示,他们两个都处于相同的时间上向前的方向上。这两个基准图像也可以双双都处于相同的时间上向后的方向上,如图15中所示。在图15中,B图像(140)有两个都在时间上向后的方向上的一个前向基准图像(141)和一个后向基准图像(142)。图16表示本发明的另一个实施例。如图16中所示,B图像(140)具有在时间上向前的方向上的一个前向基准图像(141)和在时间上向后的方向上的一个后向基准图像(142)。 在MFIP中, 一个预测信号是运动补偿信号的一个线性插值。 一个B图像的MPIF
中的预测信号(pred)可以按下式计算 <formula>formula see original document page 14</formula>
在公式11中,变量refi和ref2是两个基准图像。变量巧和w2是加权因子。变量d的缺省值被设定为0。可以明确地为每个宏块确定线性插值系数Wl、 w2、 d。如果re^和ref2两个都是前向基准图像或者都是后向基准图像,则基准图像re^是就时间距离来说更靠近B图像的基准图像。对于双向的基准图像来说,re^和ref2分别是前向基准图像和后 向基准图像。 —个MFIP宏块的两个运动矢量被彼此相对地编码。ref2的运动矢量MV2,是用下 面的公式,通过将一个补偿量DMV加到re^的成比例的运动矢量MVi而生成的MF2 =;1 + (公式12) 在公式12中,变量DMV是增量(S)运动矢量并是一个补偿值。变量TI^和TR2分 别是当前图像与最近的基准图像re^和与最远的基准图像re&之间的时间距离、该时间距 离的近似值、与该时间距离成比例的距离、或与该时间距离的该近似值成比例的近似值。
在图像级AFF中,一个B图像可以被按一个B帧图像或者按两个B场图像编码。按 场模式处理MF IP—其中要被编码的当前B图像按场结构一的规则,在下文给出
用公式11生成预测信号。然而,refi和re&是由基准场编号ref」dx—fws和ref— idx_bwd标记的场。场re^和ref2既可以是顶场,也可以是底场。缺省的加权因子Wl和w2 分别是(.5, .5,0)和(2,-1,0)。 用公式12生成M、。由于两个基准图像都是场结构的,根据基准场和当前场之间 的时间距离确定TRi和TR2。 MFIP模式中基准场编号ref_idx_fwd和ref_idx_bwd的代码编号(code number) 遵循对场图像的已知的常规约定。 AFF编码中的图像之间的时间距离,可以用变量一时间基准(TR)—计算,或者通 过计算图像编号并计算它们的差而计算。本发明的一个实施例是,对于图像级AFF,TR按每 个场递增l,并由一个常数(例如256)限制(wraped) 。 TR是场间隔(in field interval)。 设n为帧标记或帧号。变量n每帧递增l。如果某个具有帧标记n的帧是按帧模式编码的, 则这个帧的TR是2n。如果某个具有帧标记n的帧是按场模式编码的,则这个帧的第一场的 TR是2n,第二场的TR是2n+l 。 前面所作的说明仅是为了解释和描述本发明的实施例。上述说明并非是穷举性 的,也不是要把本发明限制到所公开的任何具体形式。按照以上教导可以有许多修改和变 体。 选择上述实施例加以说明是为了解释本发明的原理和一些实际应用。前面的说明 使所述技术领域的其他熟练人员能把本发明应用于各种实施例并考虑到各种适合特定用 途的修改。本发明的范围应由接下来的权利要求书限定。
权利要求
一种对具有多个图像的图像序列进行编码的方法,包括以帧编码模式编码所述多个图像中的至少一个图像;以场编码模式编码所述多个图像中的至少一个图像;其中所述以帧编码模式编码和以场编码模式编码的步骤各自包括编码或解码,并且当所述多个图像中的至少一个图像以帧编码模式编码时,则所述多个图像中的至少一个图像以场编码模式编码,并且当所述多个图像中的至少一个图像以帧编码模式解码时,则所述多个图像中的至少一个图像以场编码模式解码。
2. 如权利要求l的方法,其中如果所述多个图像的所述至少一个图像中的图像以帧编 码方式编码,则构成该图像的两个场被共同编码,并且如果所述多个图像的所述至少一个图像中的图像以场编码模式编码,则形成所述图像 的两个场被分开编码,其中所述两场中的一个场是顶场,另一个场是底场。
3. 如权利要求2的方法,其中在该帧编码模式中,所述图像被编码为帧内(I)图像、预 测的(P)图像、或双预测的(B)图像之一 ;并且其中所述预测的(P)图像或所述双预测的(B)图像使用帧内(I)图像、预测的(P)图 像、和双预测的(B)图像中的至少之一被编码为已经编码的基准图像。
4. 如权利要求3的方法,其中所述基准图像处在相对于所述预测的(P)图像或所述双 预测的(B)图像的向前或向后时间方向上。
5. 如权利要求3的方法,其中所述双预测的(B)图像根据至少两个时间基准图像被编 码,其中所述至少两个时间基准图像同时处在相对于所述双预测的(B)图像的相同或不同 时间方向上。
6. 如权利要求2的方法,其中在所述场编码模式中,所述图像的所述两场的一个当前 场被编码为帧内(I)场、预测的(P)场、或双预测的(B)场之一 ;禾口其中所述预测的(P)场和所述双预测的(B)场中至少之一根据帧内(I)场、预测的(P) 场、和双向预测的(B)场中至少之一被编码为已经编码的基准场。
7. 如权利要求6的方法,其中所述基准场处在相对于所述预测的(P)场或所述双预测 的(B)场的向前或向后时间方向上。
8. 如权利要求6的方法,其中所述双预测的(B)场根据至少两个时间基准场被编码,其 中所述至少两个时间基准场同时处在相对于所述双预测的(B)场的相同或不同时间方向 上。
9. 如权利要求6的方法,其中如果所述多个图像中的所述至少一个图像的第一场被编 码为基准场,则所述多个图像中的所述至少一个图像的所述第一场被用作 为对所述多个图 像中的所述至少一个图像的第二场进行编码的基准场。
10. —种用于对具有多个图像的图像序列进行编码的设备,包括 一个编码单元,被配置成以帧编码模式编码所述多个图像中的至少一个图像,和以场编码模式编码所述多个图像中的至少一个图像;其中所述编码单元被配置成执行编码或解码,或者执行编码和解码两者; 其中当所述多个图像中的至少一个图像以帧编码模式被编码时,则所述多个图像中的至少一个图像以场编码模式被编码;当所述多个图像中的至少一个图像以帧编码模式被解码时,则所述多个图像中的至少 一个图像以场编码模式被解码。
11. 如权利要求10的设备,其中如果所述多个图像中的至少一个图像以所述帧编码模 式被编码,则构成所述图像的两个场被共同编码;禾口其中如果所述多个图像中的所述至少一个图像以场编码模式被编码,则构成所述图像 的两场被分开编码,其中所述两场之一是顶场,并且另一个是底场。
12. 如权利要求ll的设备,其中在所述帧编码模式中,所述图像被编码为帧内(I)图 像、预测的(P)图像、或双预测的(B)图像之一 ;禾口其中所述预测的(P)图像和所述双预测的(B)图像中的至少一个使用帧内(I)图像、 预测的(P)图像和双预测的(B)图像中的至少一个被编码为已经编码的基准图像。
13. 如权利要求12的设备,其中所述基准图像处在相对于所述预测的(P)图像或所述 双预测的(B)图像的向后或向前时间方向上。
14. 如权利要求12的设备,其中所述双向预测的(B)图像根据至少两个时间基准图像 被编码,其中所述至少两个时间基准图像都同时处在相对于所述双预测的(B)图像的相同 或不同方向上。
15. 如权利要求ll的设备,其中在所述场编码模式中,所述图像的所述两场中的当前 场被编码为帧内(I)场、预测的(P)场、和双预测的(B)场之一 ;禾口其中所述预测的(P)场和所述双预测的(B)场中至少之一根据帧内(I)场、预测的(P) 场、和双向预测的(B)场中至少之一被编码为已经编码的基准场。
16. 如权利要求15的设备,其中所述基准场处在相对于所述预测的(P)场或所述双预 测的(B)场的向前或向后的时间方向上。
17. 如权利要求15的设备,其中所述双预测的(B)场根据至少两个时间基准场而被编 码,其中所述至少两个时间场同时处在相对于所述双预测的(B)场的相同或相反方向上。
18. 如权利要求15的 备,其中如果所述多个图像中的所述至少一个图像的第一场被 编码为基准场,则所述多个图像中的所述至少一个图像的所述第一场被使用作为对所述多 个图像的所述至少一个图像的第二场进行编码的基准场。
全文摘要
一种编码或解码数字视频内容的方法和系统。数字视频内容包含一个图像流,每个图像可能是帧内的、预测的、或双预测的图像。每个图像包含能被进一步划分成更小的块的宏块。该方法要求以帧模式或场模式编码和解码所述图像流中的每个图像。
文档编号H04N7/32GK101715137SQ20091025413
公开日2010年5月26日 申请日期2002年11月21日 优先权日2001年11月21日
发明者A·卢斯拉, K·帕努索庞, L·王, R·甘希, Y·于 申请人:通用仪器公司