使用虚拟参考帧的用于虚拟现实视频的帧间编码方法及装置与流程

文档序号:16996010发布日期:2019-03-02 01:22阅读:393来源:国知局
使用虚拟参考帧的用于虚拟现实视频的帧间编码方法及装置与流程

本发明要求于2016年6月27日递交且号码为62/354,856的美国临时专利申请以及提交于2017年6月22日且号码为15/629,855的美国实用新型申请的优先权,其整体在此通过引用纳入其中。

本发明涉及图像与视频编解码(coding),特别地,本发明涉及用于多面体映射的(polyhedralmapped)360°虚拟现实(virtualreality,vr)视频的帧间编码(intercoding)参考的生成与使用。



背景技术:

360°视频,也称为沉浸式视频(immersivevideo),是一种新兴技术,该技术可以提供「身临其境之感受」。沉浸式感觉是通过围绕用户的环绕式场景(wrap-aroundscene)来实现,其中环绕式场景覆盖一全景视图(panoramicview),特别是360°视场(fieldofview)。「身临其境之感受」可以使用立体渲染(stereographicrendering)来进一步改善。相应地,全景视频(panoramicvideo)广泛用于多种虚拟现实(virtualreality,vr)应用之中。

沉浸式视频包括使用多个相机(cameras)来捕获场景以覆盖全景视图,如360°视场。沉浸式相机通常使用用于捕获360°视场的一组相机。典型地,沉浸式相机使用两个或多个相机。所有视频必须同时被拍摄,并记录场景的多个分离片段(fragments)(也称为分离视点(perspectives))。此外,经常安排一组相机来水平地抓取多个视角(views),对这些相机的其它安排也是可以的。

360°全景相机抓取周边的多个场景,且拼接的球面图像(stitchedsphericalimage)是表示vr视频的一种方式,该球面图像在水平方向上连续。换言之,在左端的球面图像内容延续至右端。该球面图像也可以投影转换到立方体的六个面,作为可替代的360°格式。转换可以通过投影转换来执行,来导出表示立方体六个面的六个面图像。在立方体的多个面上,这六个图像在立方体的多个边界(boundaries)处进行连接。在图1中,图像100对应于展开的立方体图像,其空白区域使用虚拟数据(dummydata)来填充。展开的立方体帧(frame)也称为立方体展开网格(cubicnet),其具有多个空白区域。如图1所示,具有多个空白区域的多个展开立方体面图像可纳入可覆盖(cover)六个展开的立体面图像的最小矩形。

如图1所示,因为这六个立体面对应于立方体六个表面上的六个图像,这六个立体面以某一方式互相连接。因此,该立方体上每个边界由两个立体面所共享。换言之,在x、y和z方向上的每四个面在其各自方向上是环状连续的(continuouscircularly)。具有空白区域的立方体面组合帧(如,图1中的图像100)的多个环状边界(circularedges)如图2的图像200所示。对与多个立方体面边界有关的多个立方体边界进行了标记。具有相同边界号码的立方体面边界指示两个立方体面边界相连,并共享相同的立方体边界。例如,边界#2位于面2(face2)的上方,面4的右侧。因此,面2的上方连接到面4的右侧。相应地,当面2逆时针旋转90°时,面2之上方的内容将连续地进入面4的右侧。

虽然图1与图2显示了用于360°vr视频的立方体面表示的展开立方体网格与立方体边界连接性(cubicboundaryconnectivity)的示例,同样也存在360°vr视频的其它多面表示。该多个面表示可以被分割为多个面或者多面帧(multi-faceframe)。与一个面有关的每个序列可以分别进行编码。可替代地,该帧序列可以编码为视频序列,其中,每个帧对应于一个展开的多面帧或来自多个面的一个组合帧(assembledframe)。在本发明中,公开了多个帧间编码参考的生成与使用。



技术实现要素:

本发明提供一种视频编码或解码方法及装置,用于应用于360°虚拟现实序列视频编码或解码系统。根据本发明多个实施例,导出表示所述360°虚拟现实序列的一个或多个多面序列。如果选择帧间预测用于所述一个或多个多面序列中的当前面的当前块,通过分配一个目标参考面到一个虚拟参考帧的中心以及在所述目标参考面的多个边界将所述目标参考面的多个相邻面连接到所述目标参考面,来为所述一个或多个多面序列的每个面导出所述虚拟参考帧。然后,使用为所述当前面导出的当前虚拟参考帧对所述当前面中的所述当前块进行编码或解码,以导出所述当前块的帧间预测子。

所述一个或多个多面序列对应于n个单独的面序列并且每个面序列单独地进行编码或解码,以及其中n是一个整数,对应于表示所述360°虚拟现实序列的多面体中面的总数目。所述一个或多个多面序列对应于一个帧序列,以及其中每个帧包括具有相同时间索引的多面体的所有面。

本发明公开了虚拟参考帧的多种方法。在一个实施例中,公开了固定视口的虚拟参考帧,其中为所述当前面分配给所述虚拟参考帧的中心的所述目标参考面对应于与所述当前面具有相同面号码而没有任何旋转的一个参考面。在另一实施例中,公开了改变视口的虚拟参考帧,其中为所述当前面分配给所述虚拟参考帧的中心的所述目标参考面对应于具有与所述当前面不同面号码的一个参考面。此外,具有与所述当前面不同的面号码的所述参考面旋转一个角度。在编码器侧发信或在解码器侧解析与所述参考面有关的面识别信息、与旋转角度有关的角度信息或者其两者。

在生成虚拟参考帧的又一实施例中,公开了任意视口的虚拟参考帧。其中,为所述当前面分配给所述目标参考帧的中心的所述目标参考面对应于参考面,所述参考面是通过将一个原始目标参考面从原始视口在相关联的等距柱状投影图的三个正交轴的一个或多个轴上进行旋转而导出。任意视埠进程的详细示例如下:中将位于原始虚拟参考帧中心的所述原始目标参考面转换成所述相关联的等距柱状投影图中的对应的参考面图像;然后,将所述对应的参考图像通过从所述原始视口在所述有关联的等距柱状投影图的所述三个正交轴的所述一个或多个轴上进行旋转来变成具有新视口的新的对应参考面图像;然后,将所述相关联的等距柱状投影图中的所述新的对应参考面图像转换成多面帧中的新的目标参考面;以及将所述新的目标参考面用作为所述目标参考面在编码器侧在视频比特流中发信或在解码器侧从所述视频比特流中解析旋转信息。也可以在编码器侧从所述当前块的一个或多个运动向量或一个或多个先前编码的时间或空间相邻块导出旋转信息。

所述虚拟参考帧的构建进程可以进一步包括:如果在分配所述目标参考面到所述虚拟参考帧的中心以及在所述目标参考面的多个边界将所述目标参考面的多个相邻面连接到所述目标参考面后,所述虚拟参考帧包含任何空白区域,进一步包括填充一个或多个空白区域。例如,如果一个目标空白区域在一个面边界外部以及现有的相邻面能够无歧义的被放入所述空白区域,使用所述现有的相邻面填充所述所述目标空白区域。在另一情形中,如果目标空白区域不具有对应的相邻面,使用从其他面导出的填充数据对所述目标空白区域进行填充。

如果所述当前面是非矩形的,使用包围所述当前面的最小矩形对所述当前面进行编码或解码,以及所述最小矩形被调整为可分割为整数个用于编码或解码的处理块。如果目标处理块不包含属于所述当前面的像素,将所述目标处理块编码为跳过模式。在解码器侧,在所述当前面外的所有像素被设置为0或者被忽略。

附图说明

图1示出了对应于具有由虚拟数据填充的空白区域的立方体网格的展开立方体帧的示例。

图2示出了图1中具有多个空白区域的立方体面组合帧的多个环状边界的示例。

图3示出了具有20个面的正多面体(regularpolyhedron)(即,20面体(icosahedron))的示例,其中每个面具有三角形形状。

图4示出了对应于小斜方截半立方体(rhombicuboctahedron)的非正多面体的示例,其由三角形与矩形构成。

图5示出了通过将多个目标面置于中心来重组(re-organizing)展开帧的示例,其中,选择两个面作为目标参考面,并在每个目标参考面的所有边上连接多个相邻面。

图6示出了根据本发明实施例的重建立方体面的虚拟参考的示例。

图7示出了根据本发明另一实施例的重建一个20面体面的虚拟参考的示例。

图8示出了多个立体面的改变视口(viewport)的虚拟参考帧的示例。

图9a-c示出了通过等距柱状投影图域(equiretangulardomain)的立方体面的任意视口的虚拟参考构建所涉及的多个步骤的示例。

图10a示出了使用基于行的填充(line-basedpadding)来填充右上方未填充角落的示例,其中每一行分配来自单个像素(例如,边界像素)的值。

图10b示出了使用基于行的填充来填充右上方未填充角落的示例,其中每个垂直行分配来自一个像素的值,以及每个水平行分配来自另一像素的另一值。

图10c示出了使用基于环状的填充(circular-basedpadding)来填充右上方未填充角落的示例,其中每个环状行分配来自单个像素的值或者来自两个边界的两个像素的加权和。

图10d示出了使用基于点的填充(point-basedpadding)来填充右上方未填充角落的示例,其中角落像素被扩展到未填充的角落区域。

图11a示出了将立方体帧分割为多个独立面的示例,其中多个独立面是从立方体网格中提取的。

图11b示出了将立方体帧分割为多个独立面的示例,其中多个独立面是从6×1组合的立方体帧中提取的。

图11c示出了将立方体帧分割为多个独立面的示例,其中多个独立面是从3×2组合的立方体帧中提取的。

图12a示出了分别对多个面序列进行编码的示例性结构。

图12b示出了分别用于多个单独面的多个虚拟参考帧。

图13a示出了根据本发明实施例的非矩形面的编码进程的示例。

图13b示出了根据本发明实施例的非矩形面的解码进程的示例。

图14示出了不同立方体映射布局(3×2集合立方体帧、展开立方体网格以及6×1组合的立方体帧)的帧序列编码的一些示例。

图15示出了在对应于立方体网格的帧序列的情况下为不同面确定多个虚拟参考帧的示例。

图16示出了根据本发明的应用于360°虚拟现实序列的视频编码或解码系统的示例性流程图,其中,构建多组虚拟参考帧并将其用于多面帧序列的帧间编码。

具体实施方式

以下描述是实施本发明的最佳实施方式。描述仅用于说明本发明一般原理以及不应对此作限制性理解。本发明的范围由参考所附权利要求最佳确定。

对于360°vr表现或渲染,球面图像经常被映射到多面体。该多面体的多个面可以分别进行编码。可替代地,该多面体的多个面可以是展开的,或者被组合到帧中。从多面体的多个面到展开帧或组合帧的转换也称为多面体展开(polyhedralexpansion)。多面体展开的多个帧的编码遇到了一些问题。例如,由于后续的原因,时域参考并不会全部应用于所有面。在展开多面体并将其组合到帧中的期间,一些面会不可避免地被旋转或连接到原本在多面体中并未相互连接的一个或多个其他面。此外,由于将球面图像映射到多面体有可能会引入失真(distortion),且失真在整个图像中并不均匀(uniform),因此,用以确定运动的传统块匹配(blockmatching)技术需要扩展到更加复杂之运动模型(如仿射转换(affinetransform))以匹配当前块以及参考块。同样,需要填充不存在的面区域。相应地,本发明公开了与帧间编码参考有关的技术,如,帧间编码参考的生成与使用。

如之前所提到的,也存在位于多个立方体面外部的360°vr的其他多面表示。例如,多面表示可以对应于正多面体,其所有面具有相同的形状与尺寸,如矩形、三角形、六边形等。图3示出了具有20个面的正多面体310的示例,其中每个面具有三角形形状。具有20个面的多面体310(即,正二十面体)可以展开为连接面320(也称为帧)。多面表示也可以对应于非正多面体,其多个面具有两个或多个不同的多边形形状。图4示出了小斜方截半立方体(rhombicuboctahedron)410的示例,其由三角形与矩形所构成。小斜方截半立方体410可以展开为连接面420(也称为帧)。

图3与图4示出了通过剪开一些边界来分离多个面来将多面体扩展为帧的示例。换言之,多面体可以被展开为帧。然而,多面体中目标面的任何边(side)原本连接到另一面。因此,展开帧总是可以通过将目标面放置在中心而重组。多个相邻面全部可以连接到各个边。图5示出了通过将目标面512与514放置在中心而重组展开帧510的示例。在重组帧520中,三个相邻正方形面a、b和c连接到目标面512的三条边。在重组帧530中,两个相邻正方形面(y和w)与两个相邻三角形(x和z)连接到目标面514的四条边。利用连接的相邻面,位于目标面边界外部的边界数据变得更加可行(available)。

本发明提供一种使用虚拟参考帧的vr视频帧间编码方法。说明书中记载了用于360°vr帧间编码的构建虚拟参考的各种方法。对于待编码的每个面(即,目标面),确定中心面fcenter。然后,从位于虚拟参考的中心处的参考帧贴合中心面fcenter。来自参考帧的多个相邻面连接到中心面fcenter的多个边界。若存在空白区域,如不存在的面区域,则填充该不存在的面区域。

图6示出了根据本发明实施例的重建立方体面的虚拟参考的示例。立方体面610(即,面1)对应于待编码的目标面。来自参考帧的对应面被贴合到虚拟参考620的中心处(622)。来自参考帧的多个相邻面(即,面0、面2、面4以及面5)被连接到目标面的多个边界。如图6所示,四个角落区域没有面存在。相应地,填充这些不存在的面区域。

图7示出了根据本发明另一实施例的重建二十面体面的虚拟参考的示例。二十面体面710对应于待编码的目标面。来自参考帧的对应面被贴合到虚拟参考720的中心(722)。来自参考帧的共享目标面的共同边界或顶点的多个相邻面被连接到目标面的多个边界或顶点。如图7所示,有9个相邻面连接到目标面。在连接相邻面后,有三个区域不存在可以被插入的面。相应地,填充这些不存在的面区域。

虽然图6与图7示出了虚拟参考帧构建的两个示例,本发明也公开了虚拟参考帧构建的两项其他技术。图6与图7中的示例对应于固定视口的虚拟参考帧,其中,虚拟参考帧以参考帧中的相同目标面为中心。在此情形下,不执行面旋转。除了固定视口的虚拟参考帧,本发明也公开了改变视口的虚拟参考帧与任意视口的虚拟参考帧。对于改变视口的虚拟参考帧,目标面以外的面可以被分配到参考帧的中心。此外,可以分配面的旋转角度。例如,在多个立方体面的情况下,旋转角度可以是0°、90°、180°或270°。可以在视频比特流中发信分配的中心面的id(identification,标识符)以及旋转角度。

图8示出了立方体面的改变视口的虚拟参考帧的示例。在此示例中,目标面对应于面1(810)。然而,参考帧之面2被放置于虚拟参考帧820之中心(822)。另外,中心面被顺时针旋转90°。在此示例中,参考帧的旋转的面1放置于非中心位置824。与多个面有关的多个文本(texts)随着面的旋转进行旋转。在视频比特流中发信与新视口说明有关的信息。例如,可以发信分配的中心面id与旋转角度,以致解码器可以在解码器端构建相同的虚拟参考帧。

本发明也公开了任意视口的虚拟参考帧构建。根据本方法,新视口可以在等距柱状投影图域中任意定义,具有视点偏移(viewoffset)以及旋转。3d目标可以围绕三个正交轴旋转,如等距柱状投影图的x轴、y轴与z轴。给定ψx、ψy以及ψz作为旋转等距柱状投影图的x轴、y轴与z轴的偏移,可在视频比特流中明确地发送该多个偏移(即,ψx、ψy以及ψz)。这些偏移也可以从当前帧(例如,图像/切片(slice)/方块(tile)/视图)的任意当前部分中的当前编码块或一个或多个先前编码块的已发送的运动向量中导出。这些偏移也可以间接地从同位块、空间相邻块或时间块的一个或多个mv中导出。同样,这些偏移也可以间接地从当前视图、面、或切片/图像的全局mv中导出,或从先前编码的视图、面、或切片/图像中导出。

图9a-c示出了通过等距柱状投影图域的立体面的任意视口的虚拟参考构建的示例。在图9a中,立方体的目标面910示为位于原始虚拟参考帧920的中心922。原始虚拟参考帧920是从立方体映射变换到等距柱状投影图表示930,其中在原始视口中示出目标面932。图9b示出了通过旋转等距柱状投影图的x轴(即,ψx)的等距柱状投影图域中视口改变的示例。原始视口对应于x轴上的偏移942。视口在x轴上被改变为偏移944。x轴上的新的偏移944对应于图像区域952。相应地,在等距柱状投影图参考帧950中确定新视口952。图9c示出了将等距柱状投影图参考帧中的新视口转换回立方体映射的示例。在转换后,等距柱状投影图参考帧950中的新视口952被映射到立方体网格960的中心面962。在构建的任意视口参考帧970中示出了连接四个相邻面的中心面962,其中示出了原始目标面910。

在相邻面连接至目标面后,一些区域可能仍然没有数据。在图6与图7中,示出了用于立方体映射以及二十面体映射的多个不存在面区域的示例。本发明也公开了用于填充虚拟参考帧中的不存在面区域的多种技术。例如,如果可以无歧义的放置现有相邻面,则可以针对边界之外的区域连接现有相邻面的对应相邻面,对于不存在对应面的区域,可以从其他面导出填充数据。

本发明公开了用于为填充区域的四个未填充角落产生填充数据的多种技术。根据一个实施例,通过沿着每行分配相同值来使用基于行的填充。例如,如图10a所示,可以从当前面的边界或相邻面的边界获取行,以用于填充右上角落区域。多个行显示为连接两相邻立方体边缘的箭头线。可以沿着箭头线从位于垂直边界1020处的像素或从水平边界1022复制像素值。行可以被分配来自一个或多个像素的值。例如,图10b示出了每行使用两个像素的示例,其中,行在对角线1032的上部区域内沿水平方向延伸,并在对角线1032的下部区域内沿垂直方向延伸。对于水平方向,行从垂直边界1020复制像素,以及对于垂直方向,行从水平边界1022复制像素。

在另一实施例中,如图10c所示,通过沿着环形线分配相同的值来使用基于环形的填充。该值可以从边界之一(即,1020或1022)导出或从来自两个边界(即,1020与1022)的两个像素的加权和来导出。在又一实施例中,如图10d所示,基于点的填充用于通过将角落像素1042扩展至未填充角落区域来产生填充数据。在此情形下,填充区域中的多个像素的像素值与角落像素1042相同。

如之前所提到的,用于每个面之序列可以分别进行编码。可替代地,具有相同时间索引的所有面可以被组合到帧中,并对帧序列进行编码。对于相同多面体映射的多个面序列被分别编码的编码系统,不使用来自其他面的预测对每个面单独进行编码。可将相同帧的所有面的视频比特流打包在一起。如果输入vr源根据布局方案被安排为帧格式,多个面可以从帧中提取出来并随后将其编码为单独的面序列。

如之前所提到的,与用于多面体的相同帧有关之多个面与多个相邻面在共同共享面边界上相互连接。为了改善单独面序列编码的编码效率,本发明公开了使用虚拟参考帧的帧间预测。该方法包括:构建n组虚拟参考帧,其中每组虚拟参考帧由其对应面所使用,且n对应于多面体的面的数目。对于每个面序列,该方法选择一组虚拟参考帧用于帧间预测,并使用视频编码器对面序列进行编码。

图11a到11c示出了将立方体帧分割为多个单独面的示例。在图11a中,从立方体网格1110中提取单独面1112。在图11b中,从6×1组合之立方体帧1120中提取单独面1122。在图11c中,从3×2组合之立方体帧1130中提取单独面1132。然后,单独对该多个面序列进行编码。

图12a示出了分别对多个面序列进行编码的示例性结构。在此示例中,面序列1210被提供到视频编码器1220。从视频编码器1220中生成比特流1230,其中,相同帧所有面的压缩数据被打包在一起。当帧间预测应用于每个帧序列时,根据本发明,可以使用对应的一组虚拟参考帧。图12b示出了分别用于多个单独面0到5的多个虚拟参考帧(1240-1245)的示例。先前已说明了构建虚拟参考帧的方法。

在图11a-c与图12a-b所示的多个示例中,来自立方体的多个面全部为矩形。然而,当对展开的多面体映射进行编码时,该多个面可以不总是矩形。例如,展开二十面体将产生20个三角形面。然而,视频编码系统经常被设计为处理矩形图像。为了处理非矩形面,根据本发明多个实施例提供了多种方法。例如,通过使用空白数据或填充数据填充三角形面外部的像素,生成包围面并且可以划分为整数个mb(macroblock,宏块)或cu(codingunit,编码单元)的最小矩形。然后,根据mb或cu扫描顺序对填充的面进行编码。如果mb/cu没有覆盖面的任何部分(即,纯粹的填充数据),则该mb/cu使用跳过模式(skipmode)进行处理。如果mb/cu遮盖了面的任何部分,则对该mb/cu进行编码。在重构之后,位于面外部的所有像素被设置为0或被丢弃(即,不使用)。

图13a示出了根据本发明实施例的非矩形面的编码进程的示例。图像1310对应于包围三角形面的最小矩形图像,并可被划分为整数个mb或cu,以用于后续的编码进程。图像1320示出了被划分为多个mb/cu的填充的矩形图像,且多个mb/cu根据光栅线所指示的扫描顺序进行编码。在编码进程中,如图像1330所示,在跳过模式下对完全位于三角形面外部的这些mb/cu进行编码。

图13b示出了根据本发明一实施例的非矩形面的解碼进程的示例。图像1340表示在初始解码进程后的图像。位于三角形面外部的解码数据不是真实面数据的部分。相应地,如图像1350所示,位于三角形面外部的所有数据设置为0。

本发明也公开了一种用于vr视频的编码系统,通过将具有相同时间索引的所有面组合为帧,以及然后对帧序列进行编码。每个来源帧由在所选布局方案中排列的所有面构成。然后,将该多个来源帧提供到编码器作为输入,以及编码器根据扫描顺序对mb/cu进行编码。该扫描顺序可以根据标准进行定义。对于每个mb/cu,块可以使用其自身的虚拟参考帧用于帧间预测。

如之前所提到的,来源帧可以被排成各种布局格式(layoutformats)。根据本发明的多个实施例,多面帧被分割为多个mb/cu,该多个mb/cu根据扫描顺序进行编码。目标mb/cu的参考帧取决于mb/cu所属于的面。图14示出了不同立方体映射布局的帧序列编码的一些示例。图像1410对应于组合的3×2立方体帧,且该帧被分割为多个mb/cu。该多个mb/cu根据如虚线所指示的扫描顺序以及所指示的起始mb/cu1412进行编码。图像1420对应于具有多个空白区域的立方体网格以及指示了起始mb/cu1422。图像1430对应于组合6×1立方体帧以及指示了起始mb/cu1432。

图15示出了在对应于立方体网格的帧序列的情形下为不同面确定多个虚拟参考帧的示例。图像1510对应于具有面号码标记的的立方体网格帧。块1512、1514以及1516对应于立方体网格帧中待编码的三个块。如之前所提到的,可以为每个面构建虚拟参考帧(即,1520、1521、1522、1523、1524或1525)。当对块进行编码时,可以根据块所位于的面来选择虚拟参考帧。例如,如果面4中的块1512被编码,则选择虚拟参考帧1524用于块1512的帧间预测。可以在虚拟参考帧1524的中心面中识别对应于块1512的同位块1532。类似地,如果面5中的块1514被编码,则选择虚拟参考帧1525以用于块1514的帧间预测。可以在虚拟参考帧1525的中心面中识别对应于块1514的同位块1534。当面2中的块1516被编码时,选择虚拟参考帧1522以用于块1516的帧间预测。可以在虚拟参考帧1522的中心面中识别对应于块1516的同位块1536。

图16示出了根据本发明的应用于360°vr序列的视频编码或解码系统的示例性流程图,其中,构建多组虚拟参考帧并将其用于多面帧序列的帧间编码。根据这一方法,在步骤1610中,接收与360°vr序列有关的输入数据。在编码器端,输入数据对应于待编码的多个多面序列的像素数据。在解码器端,输入数据对应于视频比特流或待解码的编码数据。在步骤1620中,导出表示360°vr序列的一个或多个多面序列。在步骤1630中,检测是否选择帧间预测以用于所述一个或多个多面序列的当前面中的当前块。如果选择帧间预测以用于当前块(即,步骤1630中的“是”路径),则执行步骤1640与步骤1650。否则(即,步骤1630中的“否”路径),则跳过步骤1640与步骤1650。在步骤1640中,通过将一个目标参考面分配到所述虚拟参考帧的中心以及并在所述目标参考面的多个边界处将所述目标参考面的多个相邻面连接到所述目标参考面,从而为所述一个或多个多面序列的每个面导出一个虚拟参考帧。在步骤1650中,使用为当前面所导出的当前虚拟参考帧来对当前面中的当前块进行编码或解码,以导出当前块的帧间预测子。

对于本发明,上述流程图可以对应于在计算机、移动设备、数字信号处理器或可程序化装置上执行的多个软件程序代码。程序代码可以使用如c++之类的多种程序语言来编写。流程图也可以对应于基于硬件的实施方式,其中可包括一个或多个电子电路(例如,asic(专用集成电路))及fpga(现场可编程门阵列)或处理器(例如,dsp)。

以上说明可以使本领域普通技术人员能够以上下文中所提供的特定应用及其需求来实施本发明。所描述的实施例的各种修改对本领域普通技术人员将是显而易见的,此处所定义的一般原则可以应用于其它实施例。因此,本发明并非仅限于此处所述及所示的多个特定实施例,而是应符合与此处所公开的原理及新颖特征一致的最宽范围。在上述具体实施例中,显示了各种具体细节,以便于提供有关本发明的透彻理解。然而,本领域普通技术人员应当理解,可以实施本发明。

本发明的上述实施例可以以各种硬件、软件代码或二者之组合来实施。例如,本发明的一实施例可以是集成到视频压缩芯片中的电路或集成到视频压缩软件的程序代码,以执行本发明所描述的方法。本发明的一实施例也可以是在dsp上执行的程序代码,以执行本发明所描述的方法。本发明也可以包括由计算机处理器、数字信号处理器、微处理器或fpga所执行的多个功能。这些处理器可以根据本发明配置为执行多个特定任务,通过执行定义了由本发明所实施的多个特定方法的机器可读软件代码或固件代码。该软件代码或固件代码可以以不同程序语言与不同格式或类型来开发。软件代码也可以由不同的目标平所编译。然而,多个软件代码的不同代码格式、类型和语言,以及配置代码执行与本发明一致的任务的其他方法将不背离本发明的精神与范围。

本发明可以以其他特定的方式实施而不背离本发明的精神或基本特征。上述多个示例在所有方面仅视为说明性而非限制性的。因此,本发明的范围由所附权利要求书所指示而非上述实施例。在权利要求的等同意义及范围内的所有变化均包含于本发明的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1