用于提高对弯曲视图视频进行编码/解码的效率的系统和方法与流程

文档序号:16365110发布日期:2018-12-22 08:23阅读:161来源:国知局
用于提高对弯曲视图视频进行编码/解码的效率的系统和方法与流程

本专利文件的公开的一部分包含受到版权保护的材料。版权所有者不反对任何人对专利文献或专利公开的传真复制,因为它出现在专利和商标局的专利文件或记录中,但在其他方面保留所有版权。

本公开的实施例总体上涉及视频处理,更具体地但非排他地,涉及视频编码和解码。

背景技术

近年来视频内容的消费量激增,这主要是由于各种类型的便携式、手持式或可穿戴设备的普及。例如,虚拟现实(vr)或增强现实(ar)能力可以集成到不同的头戴式设备(hmd)中。随着视频内容的形式变得更加复杂,视频内容的存储和传输变得越来越具有挑战性。例如,需要减少用于视频存储和传输的带宽。这是本发明的实施例旨在解决的一般领域。



技术实现要素:

本文描述的是可以对弯曲视图视频进行解码的系统和方法。解码器可以获得将经解码的图像帧中的一组图像区域与弯曲视图的至少一部分相对应的映射,并且基于该映射确定针对该经解码的图像帧的填充方案。然后,解码器可以根据填充方案针对该经解码的图像帧构建经扩展的图像,其中,该经扩展的图像包括一个或多个填充像素,并且使用该经扩展的图像作为参考帧以获得另一经解码的图像帧。

本文还描述了可以对弯曲视图视频进行编码的系统和方法。编码器可以基于将编码图像帧中的一组图像区域与弯曲视图的至少一部分相对应的映射来确定填充方案。此外,编码器可以使用填充方案来以一个或多个填充像素扩展一组图像区域。然后,编码器可以使用具有一个或多个填充像素的经扩展的编码图像来对编码图像帧进行编码。

附图说明

图1示出了根据本发明各实施例的对弯曲视图视频进行编码/压缩。

图2示出了根据本发明各实施例的可以将三维球形视图映射到二维平面的示例性经纬图投影。

图3示出了根据本发明各实施例的可以将三维球形视图映射到二维布局的示例性立方面投影。

图4a-图4b示出了根据本发明各实施例的当应用不同的映射时针对各立方面的不同连续性关系。

图5示出了根据本发明各实施例的将弯曲视图映射到二维(2d)图像。

图6示出了根据本发明各实施例的使用填充方案来提供附加的连续性以提高编码效率。

图7-图10示出了根据本发明各实施例的针对各立方面布局的填充方案。

图11示出了根据本发明各实施例的使用填充方案来提高视频编码的效率。

图12示出了根据本发明各实施例的用于使用填充方案来提高弯曲视图视频编码效率的流程图。

图13示出了根据本发明各实施例的使用填充方案来提高对弯曲视图视频进行解码的效率。

图14示出了根据本发明各实施例的用于使用填充方案来提高弯曲视图视频解码效率的流程图。

具体实施方式

作为示例而非限制,在附图的各图中示出了本发明,其中相似的附图标记指示相似的元素。应当注意到:在本公开中针对“实施例”或“一个实施例”或“一些实施例”的引用不一定指的是相同实施例,且这种引用意味着至少一个实施例。

根据本发明的各实施例,系统可以减少用于存储和发送弯曲视图视频的带宽要求。例如,弯曲视图可以是投影在任何光滑表面上的视图,光滑表面诸如球面或椭圆面。弯曲视图视频(或可以被称为360°全景视图视频)可以包括多个图像帧,其中同时捕获多个方向中的视图。因此,弯曲视图视频可以覆盖宽视野(fov)。例如,球形视图视频(或360度全景视图视频)可以包括覆盖三维(3d)球形fov的帧序列。在一些实施例中,球形视图视频可以具有360度水平视野(fov)和180度垂直fov。在一些实施例中,球形视图视频可以具有360度水平fov和360度垂直fov。以下对本发明的描述使用球形视图作为弯曲视图的示例。本领域技术人员显而易见的是,可以使用其他类型的弯曲视图而没有限制。

图1示出了根据本发明各实施例的对弯曲视图视频进行编码/压缩。如图1所示,弯曲视图视频的编码/压缩可以涉及多个步骤,诸如映射101、预测102、变换103、量化104和熵编码105。

根据各实施例,在映射步骤101中,系统可以将视频序列中的三维(3d)弯曲视图投影到二维(2d)平面上,以利用各种视频编码/压缩技术。系统可以使用二维矩形图像格式来存储和发送弯曲视图视频(例如,球形视图视频)。此外,系统可以使用二维矩形图像格式来支持数字图像处理和执行编解码器操作。

可以采用不同的方法将弯曲视图(例如,球形视图)映射到矩形图像。例如,可以基于经纬图投影将球形视图映射到矩形图像。在一些实施例中,经纬图投影可以将经线映射为恒定间距的垂直直线,并且可以将纬度圈映射为恒定间距的水平直线。备选地,可以基于立方面投影将球形视图映射到矩形图像。立方面投影可以基于其外接立方体来近似3d球体表面。可以使用不同的立方面布局来将立方体的六个面上的3d球体表面的投影布置为2d图像,其确定了诸如每个单独投影的相对位置和取向的立方面布置。除了上述经纬图投影和立方面投影之外,可以利用其他投影机制将3d弯曲视图映射到2d视频。可以基于诸如hevc/h.265、h.264/avc、avs1-p2、avs2-p2、vp8、vp9之类的一些常用视频编解码器标准来对2d视频进行压缩、编码和解码。

根据各实施例,预测步骤102可用于减少图像中的冗余信息。预测步骤102可以包括帧内预测和帧间预测。帧内预测可以仅基于当前帧内包含的信息执行,而与视频序列中的其他帧无关。帧间预测可以通过基于参考帧(例如,先前处理过的帧)消除当前帧中的冗余来执行。

例如,为了执行用于帧间预测的运动估计,可以将帧划分为多个图像块。每个图像块可以例如基于块匹配算法,与参考帧中的块相匹配。在一些实施例中,可以计算运动矢量,该运动矢量表示从当前帧中的图像块的坐标到参考帧中的经匹配的图像块的坐标的偏移。此外,可以计算残差并对残差分组,该残差即为当前帧中的每个图像块与参考帧中的经匹配的块之间的差。

此外,可以通过应用变换步骤103消除帧的冗余。在变换步骤103中,系统可以处理残差以提高编码效率。例如,可以通过在分组后的残差上应用变换矩阵及其转置矩阵来生成变换系数。随后,可以在量化步骤104中对变换系数进行量化,并且在熵编码步骤105中进行编码。然后,包括从熵编码步骤105生成的信息以及其他编码信息(例如,帧内预测模式、运动矢量)的比特流可以被存储并被发送到解码器。

在接收端,解码器可以对接收到的比特流执行逆过程(诸如,熵解码、去量化和逆变换)以获得残差。因此,可以基于残差和其他接收到的解码信息来对图像帧进行解码。然后,经解码的图像可以用于显示弯曲视图视频。

图2示出了根据本发明各实施例的可以将三维球形视图映射到二维平面的示例性经纬图投影。如图2所示,使用经纬图投影,球体视图201可以被映射为二维矩形图像202。另一方面,二维矩形图像202可以以相反的方式映射回球体视图201。

在一些实施例中,可以基于以下等式来确定映射。

其中x表示2d平面坐标系中的水平坐标,并且y表示2d平面坐标系101中的垂直坐标。λ表示球体100的经度,而表示球体的纬度。表示投影比例为真的标准平行线。在一些实施例中,可以设置为0,并且坐标系101的点(0,0)可以位于中心。

图3示出了根据本发明各实施例的可以将三维球形视图映射到二维布局的示例性立方面投影。如图3所示,使用立方面投影,球体视图301可以被映射到二维布局302。另一方面,二维布局302可以以相反的方式映射回球体视图301。

根据各实施例,用于球面301的立方面投影可以基于立方体310,例如,球体301的外接立方体。为了确定映射关系,可以从球体的中心执行射线投射,以分别在球面和立方面上获得多对交叉点。

如图3所示,用于存储并发送球形视图的图像帧可以包括立方体310的六个立方面,例如,顶立方面、底立方面、左立方面、右立方面、前立方面和后立方面。这六个立方面可以在2d平面上展开(或投影到2d平面)。

应注意,为了说明的目的,提供了基于立方面投影的诸如球形视图或椭圆形视图的弯曲视图的投影,并且不旨在限制本公开的范围。对于本领域普通技术人员来说,可以在本公开的教导下进行各种修改和变化。用于与本公开有关的投影的投影格式的示例性实施例可以包括八面体、十二面体、二十面体或任何多面体。例如,可以基于八面体生成八个面上的投影以用于近似,并且可以将这八个面上的投影展开和/或投影到2d平面上。在另一示例中,可以基于十二面体生成十二个面上的投影以用于近似,并且可以将这十二个面上的投影展开和/或投影到2d平面上。在又一个示例中,可以基于二十面体生成二十个面上的投影以用于近似,并且可以将这二十个面上的投影展开和/或投影到2d平面上。在又一个示例中,可以生成多面体的各个面上的椭圆形视图的投影以用于近似椭圆形视图,并且可以将这二十个面上的投影展开和/或投影到2d平面上。

还应该注意的是,图3中所示的立方面布局,可以使用其相对位置来描绘不同的立方面,诸如顶立方面、底立方面、左立方面、右立方面、前立方面和后立方面。提供这样的描绘仅是为了说明的目的,而不是为了限制本公开的范围。对于本领域普通技术人员来说,可以在本公开的教导下进行各种修改和变化。

根据各实施例,取决于每个立方面的朝向或相对位置,可以使用不同的连续性关系来表示各立方面之间的连续关系。

-图4a-图4b示出了根据本发明各实施例的当应用不同的映射时针对各立方面的不同连续性关系。如图4a-图4b所示,当顶立方面的朝向改变时,不同的连续性关系400a和400b可以用于表示各立方面之间的不同连续关系。

参考图4a,可以观察到以下连续关系。左立方面的左部与后立方面的右部连续,左立方面的右部与前立方面的左部连续,前立方面的右部与右立方面的左部连续,前立方面的上部与顶立方面的上部连续,前立方面的下部与底立方面的下部连续,右立方面的右部与后立方面的左部连续,顶立方面的左部与左立方面的上部连续,顶立方面的右部与右立方面的上部连续,顶立方面的上部与后立方面的上部连续,底立方面的左部与左立方面的下部连续,底立方面的右部与右立方面的下部连续,底立方面的下部与后立方面的下部连续。

参考图4b,当前立方面的朝向不同时,可以观察到以下连续关系。左立方面的左部与后立方面的右部连续,左立方面的右部与前立方面的左部连续,前立方面的右部与右立方面的左部连续,前立方面的上部与顶立方面的上部连续,前立方面的下部与底立方面的上部连续,右立方面的右部与后立方面的左部连续,顶立方面的左部与右立方面的上部连续,顶立方面的右部与左立方面的上部连续,顶立方面的下部与后立方面的上部连续,底立方面的左部与左立方面的下部连续,底立方面的右部与右立方面的下部连续,底立方面的下部与后立方面的下部连续。

图5示出了根据本发明各实施例的将弯曲视图映射到二维(2d)图像。如图5所示,映射501可用于将弯曲视图503与2d图像504相对应。2d图像504可以包括一组图像区域511-512,每个图像区域包含投影在多面体(例如,立方体)的面上的弯曲视图503的一部分。

根据各实施例,可以通过将弯曲视图的所述至少一部分投影到多面体上的多个面来获得该组图像区域。例如,球形视图503可以从球面或球面的一部分投影到一组立方面。以类似的方式,弯曲视图可以从椭圆形表面或椭圆形表面的一部分投影到一组矩形立方体表面。

此外,弯曲视图(例如,球形视图503)可以基于不同的布局被映射到二维矩形图像504中。如图5所示,一组图像区域511-512可以基于布局502布置在2d图像504中,布局502确定了2d图像中图像区域511-512诸如位置和朝向的相对位置信息。

如图5所示,球形视图503在每个方向上是连续的。根据各实施例,可以通过将弯曲视图503的至少一部分投影到多面体上的多个面来获得一组图像区域511-512。可以使用与特定映射501和布局502相关的连续性关系来表示连续关系。由于几何限制,二维图像504可能无法完全保持球形视图503中的连续性。

根据各实施例,系统可以采用填充方案来提供或保持一组图像区域511-512之间的连续性,以便提高对球形视图视频进行编码/解码的效率。

图6示出了根据本发明各实施例的使用填充方案来提供附加的连续性以提高编码效率。如图6所示,2d图像601可以包括一组图像区域,例如图像区域611-612。2d图像601与弯曲视图的至少一部分相对应,并且一组图像区域611-612可以基于连续性关系620彼此相关。

根据各实施例,可以采用填充方案601来提供或保持一组图像区域之间的连续性。例如,由于图像区域611-612的布局,在图像区域611的顶部边界和图像区域612的底部边界处可能丢失连续性。为了保持这种连续性,如图6所示,填充区621可以用于在图像区域611的顶部边界处扩展图像区域611。例如,系统可以识别图像区域612中的参考像素602,并且将参考像素的值分配给用于图像区域611的填充区621中的填充像素603。类似地,填充区域622可用于在图像区域612的底部边界处扩展图像区域612。

根据各实施例,填充像素可以被布置为作为2d图像帧601中的一组来包围图像区域组。备选地,填充像素可以布置在图像帧601内围绕各个图像区域611-612的区域中,或布置在图像帧601内围绕图像区域611-612的子集的区域中。此外,填充像素可以以其组合的方式布置。

图7-图10示出了根据本发明各实施例的针对各立方面布局的填充方案。

如图7a所示,与球形视图相对应的二维图像701可以具有六个立方面,所述六个立方面可布置在两行中,其中“左”、“前”和“右”面布置在一行,并且“顶”、“后”和“底”面布置在另一行700。为了提高编码效率,可以基于如图4b所示的连续性关系在二维图像701上应用填充方案700。

如图7b所示,填充像素702可以附接到以下位置(或从以下位置扩展):左立方面的左边界和上边界;前立方面的上边界;右立方面的上边界和右边界;顶立方面的左边界和下边界;后立方面的下边界;和底立方面的右边界和下边界。针对每个不同填充区域的填充像素702的数量可以不同。例如,立方面的一部分或甚至整个图像面可用于填充目的。

在一些实施例中,可以基于填充方案700执行各种填充操作以近似视频中的球体视图。例如,填充操作可以涉及将参考区域(例如,在第一立方面中)中的像素复制或拼接到填充区域(例如,在第二立方面的边界处)。应当注意,上文和下文描述的填充方案仅用于说明的目的而提供,并不旨在限制本公开的范围。

例如,基于如图4b所示的连续性关系,可以将后立方面的右部中的像素复制并拼接到左立方面的左边界。可以将前立方面的左部中的像素复制并拼接到左立方面的右边界。可以将右立方面的左部中的像素复制并拼接到前立方面的右边界。可以将顶立方面的上部中的像素复制并拼接到前立方面的上边界。可以将底立方面的上部中的像素复制并拼接到前立方面的下边界。可以将后立方面的左部中的像素复制并拼接到右立方面的右边界。可以将右立方面的上部中的像素复制并拼接到顶立方面的左边界。可以将左立方面的上部中的像素复制并拼接到顶立方面的右边界。可以将后立方面的上部中的像素复制并拼接到顶立方面的下边界。可以将左立方面的下部中的像素复制并拼接到底立方面的左边界。可以将右立方面的下部中的像素复制并拼接到底立方面的右边界。可以将后立方面的下部中的像素复制并拼接到底立方面的下边界。

同样,如图7b所示,填充方案700可以涉及附加的填充像素,诸如角像素703,角像素703可以用于保持经扩展的图像的矩形格式(与填充像素702一起)。根据各实施例,可以使用各种方案来将值分配给角像素703。系统可以将预定值分配给经扩展的图像中的每个角像素703。例如,预定值可以基于值0、2n-1或2n-1(其中n作为图像的比特深度)、或编码器和解码器语法中描述的预设值。附加地,预定值可以是二维图像701内的对应像素的复制值。例如,对应角像素可以是基于连续性关系确定的角像素(即,当应用不同的连续性关系时,可以选择不同的角像素)。

基于如图4b所示的连续性关系,可以为经扩展的图像的左上角区域中的填充像素分配图像701中左立方面的左上角处的参考像素的值、后立方面的右上角处的参考像素的值、或顶立方面的右上角处的参考像素的值;可以为经扩展的图像的右上角区域中的填充像素分配图像701中右立方面的右上角处的参考像素的值、后立方面的左上角处的参考像素的值、或顶立方面的左上角处的参考像素的值;可以为经扩展的图像的左下角区域中的填充像素分配图像701中顶立方面的左下角处的参考像素的值、右立方面的右上角处的参考像素的值、或后立方面的左上角处的参考像素的值;以及可以为经扩展的图像的右下角区域中的填充像素分配图像701中底立方面的右下角处的参考像素的值、右立方面的右下角处的参考像素的值、或底立方面的左下角处的参考像素的值。

如图8a所示,与球形视图相对应的二维图像801可以具有六个立方面,六个立方面可以布置在垂直列800中。如图8b所示,可以在以下边界上执行填充:左立方面的左边界、右边界和上边界、前立方面的左边界和右边界、右立方面的左边界和右边界、顶立方面的左边界和右边界、后立方面的左边界和右边界、底立方面的左边界、右边界和下边界。

如图9a所示,与球形视图相对应的二维图像901可以具有六个立方面,六个立方面可以布置在两列900中。如图9b所示,可以在以下边界上执行填充:左立方面的左边界和上边界、顶立方面的上边界和右边界、前立方面的左边界、后立方面的右边界、右立方面的左边界和下边界、底立方面的右边界和下边界。

如图10a所示,与球形视图相对应的二维图像1001可以具有六个立方面,六个立方面可以布置在水平线1000中。如图10b所示,可以在以下边界上执行填充:左立方面的左边界、上边界和下边界、前立方面的上边界和下边界、右立方面的上边界和下边界、顶立方面的上边界和下边界、后立方面的上边界和下边界、底立方面的右边界、上边界和下边界。

同样,如图8b-图10b所示,填充方案800-1000可以涉及附加的填充像素,诸如角像素803-1003,角像素803-1003可以用于与填充像素802-1002一起保持经扩展的图像的矩形格式。根据各实施例,可以使用各种方案来将值分配给角像素803-1003。例如,系统可以以与如上在图7b中讨论的类似方式将预定值分配给经扩展的图像中的每个角像素803-1003。

图11示出了根据本发明各实施例的使用填充方案来提高视频编码的效率。如图11所示,编码器可以基于映射1103确定填充方案1110,映射1103将编码图像帧1101中的一组图像区域1111-1112与弯曲视图1102的至少一部分相对应。编码图像帧1101可以是矩形图像。附加地,使用立方面投影,每个单独的图像区域1111-1112也可以是矩形区域。相反,当使用不同类型的投影时,各个图像区域1111-1112可以具有不同的形状。

根据各实施例,编码器可以使用填充方案1110,利用一个或多个填充像素来扩展编码图像帧1101中的一组图像区域1111-1112(即,构建经扩展的编码图像1104)。编码器可以基于填充方案1110确定编码图像帧1101中的一组图像区域1111-1112中的一个或多个参考像素。然后,编码器可以将一组图像区域1111-1112中的一个或多个参考像素的值分配给所述一个或多个填充像素。附加地,编码器可以将一个或多个预定值分配给经扩展的编码图像1104中的一个或多个附加填充像素。例如,附加填充像素可以布置在经扩展的编码图像1104的角区域中,诸如上述图7b-图10b所示的经扩展的图像702、802、902和1002中的角像素703、803、903和1003。因此,编码器可以提供或保持附加连续性,这可以有益于在编码过程中执行帧内预测和帧间预测。

根据各实施例,编码器可以将经扩展的图像存储在图像缓冲区中。例如,经扩展的编码图像1104可以存储在参考图像缓冲区和/或解码图像缓冲区(dpb)中。因此,经扩展的编码图像1104可以用于帧内预测和帧间预测。

根据各实施例,编码器可以使用具有填充像素的经扩展的编码图像1104来对编码图像帧1101进行编码。例如,编码器可以使用填充像素来执行帧内预测以对编码图像帧1101进行编码。此外,编码器可以使用经扩展的编码图像1104来执行帧间预测,以便对视频序列中的另一编码图像帧进行编码。在一些实施例中,每个不同的编码图像帧可以包含与不同的弯曲视图的至少一部分相对应的不同的图像区域组。附加地,编码器可以避免对经扩展的编码图像1104中的填充像素进行编码;或,基于填充方案1110从经扩展的编码图像1104中裁剪掉填充像素。

根据各实施例,为了将经编码的数据发送到解码器,编码器可以在与编码图像1101相关联的编码信息(例如编码模式信息)中提供映射。此外,系统可以在与编码图像1101相关联的编码信息中提供一组图像区域1111-1112的布局。因此,可以基于接收端处的编码图像中的映射和一组图像区域的布局来确定填充方案1110。

下面的表1是可以存储在与编码比特流相关联的头部中以提供详细的填充信息的示例性语法。

表1

例如,编码信息可以包括针对编码图像帧中的每个所述图像区域的每个边界的指示符(例如,标记)。指示符指示图像区域的边界是否以一个或多个填充像素填充。附加地,编码信息可以包括用于根据填充方案1110执行填充操作的其他详细信息,如将编码图像1101中的哪个像素的值复制或拼接到经扩展的编码图像1104中的哪个填充像素。

附加地,编码信息可以包括填充像素的数量,填充像素的数量也可以写入用于发送的比特流的头部。备选地,编码信息可以包含其他信息,例如在要扩展的图像区域的每个边界处的填充像素的行数和/或列数。关于本公开的示例性实施例可以包括序列头、图像头、条带头、视频参数集(vps)、序列参数集(sps)或图片参数集(pps)等。

在传统的二维视频编码过程中,保持在图像缓冲区(例如,dpb)中的参考图像可以与编码图像或输入图像相同或基本相似。

与传统的二维视频编码过程不同,为了对弯曲视图视频进行编码,具有填充的编码图像(即,经扩展的编码图像)可以用作用于对视频中的一个或多个后续图像进行编码的参考图像。在这种情况下,可以将经扩展的编码图像保持在图像缓冲区(例如,dpb)中。然后,可以对经扩展的编码图像应用裁剪操作以便移除填充。另一方面,当编码图像未用作参考图像时,不需要填充该编码图像。因此,可以对编码图像进行编码,而无需诸如填充之类的进一步修改。

图12示出了根据本发明各实施例的用于使用填充方案来提高弯曲视图视频编码效率的流程图。

如图12所示,在步骤1201,系统可以基于将编码图像帧中的一组图像区域与弯曲视图的至少一部分相对应的映射来确定填充方案。然后,在步骤1202,系统可以使用填充方案来以一个或多个填充像素扩展一组图像区域。此外,在步骤1203,系统可以使用具有一个或多个填充像素的经扩展的编码图像来对编码图像帧进行编码。

图13示出了根据本发明各实施例的使用填充方案来提高对弯曲视图视频进行解码的效率。如图13所示,解码器可以获得将经解码的图像1301中的一组图像区域1311-1312与弯曲视图1302的至少一部分相对应的映射1303。

根据各实施例,可以从与经解码的图像1301相关联的解码信息中获取映射1303。此外,解码器可以根据与经解码的图像相关联的解码信息来获得经解码的图像1301中的一组图像区域1311的布局。因此,解码器可以基于映射1303确定针对经解码的图像帧的填充方案1310。

可以基于经解码的图像1301中的一组图像区域1311-1312的布局来确定填充方案1310。例如,填充方案1310可以包括针对经解码的图像帧中的每个所述图像区域的每个边界的指示符(例如,标记),其中,该指示符指示图像区域的边界是否以一个或多个填充像素填充。

根据各实施例,解码信息可以存储在从编码器接收到的比特流中的头部中。解码器可以被配置为接收用于提供详细填充信息的语法(例如,表1)。因此,解码器可以知道填充方案,该填充方案由编码器用于编码。

根据各实施例,解码器可以使用填充方案1310,以利用一个或多个填充像素来扩展经解码的图像1301中的一组图像区域1311-1312(即,构建经扩展的经解码的图像1304)。解码器可以基于填充方案1310确定经解码的图像1301中的一组图像区域1111-1112中的一个或多个参考像素。然后,解码器可以将一组图像区域1311-1312中的一个或多个参考像素的值分配给填充像素。

根据各实施例,填充像素可以布置在经解码的图像1301的一个或多个边界处;或在一个或多个所述图像区域1311-1312周围的区域中;或二者的组合。附加地,解码器可以将一个或多个预定值分配给经扩展的经解码图像1304中的一个或多个附加填充像素。例如,附加填充像素可以布置在经扩展的经解码图像1304的角区域中,诸如上述图7b-图10b所示的经扩展的图像702、802、902和1002中的角像素703、803、903和1003。因此,系统可以提供或保持附加连续性,这可以有益于在编码过程中执行帧内预测和帧间预测。

根据各实施例,系统可以通过将一组图像区域1311-1312从多面体的多个面投影到曲面来呈现弯曲视图的至少一部分。例如,系统可以通过将一组图像区域1311-1312从立方体的多个面投影到球面来呈现球形视图(即,曲面是球面并且多面体是立方体)。在另一示例中,系统可以通过将一组图像区域1311-1312从矩形立方体的多个面投影到椭圆形表面来呈现椭圆形视图(即,曲面是椭圆面并且多面体是矩形立方体)。

根据各实施例,解码器可以使用一个或多个填充像素来执行帧内预测。例如,可以将一个或多个经解码的像素的值分配给填充像素以解码另一像素。

根据各实施例,解码器可以将经扩展的图像1304存储在图像缓冲区中。因此,经扩展的图像1304可以用作用于执行帧间预测的参考图像。此外,系统可以通过基于所述填充方案从所述经扩展的图像中裁剪掉所述一个或多个填充像素来获得所述经解码的图像帧。然后,系统可以输出所述经解码的图像帧以供显示。

在传统的二维视频解码过程中,保持在图像缓冲区(例如,dpb)中的参考图像可以与经解码的图像或输出图像相同或基本相似。

与传统的二维视频解码过程不同,为了对弯曲视图视频进行解码,具有填充的经解码的图像(即,经扩展的经解码图像)可以用作用于对视频中的一个或多个后续图像进行解码的参考图像。在这种情况下,可以将经扩展的经解码图像保持在图像缓冲区(例如,dpb)中。然后,可以对经扩展的经解码图像应用裁剪操作,以便去除填充并获得用于显示或存储的输出图像。另一方面,当经解码的图像未用作参考图像时,不需要对所述经解码的图像进行填充。因此,可以输出经解码的图像用于显示或存储,而无需诸如填充之类的进一步修改。

根据各实施例,弯曲视图视频可以包含与弯曲视图序列相对应的图像序列。此外,序列中的每个不同的图像可以包含与不同的弯曲视图的至少一部分相关联的一组图像区域。

图14示出了根据本发明各实施例的用于使用填充方案来提高弯曲视图视频解码效率的流程图。如图14所示,在步骤1401,系统可以获得将经解码的图像帧中的一组图像区域与弯曲视图的至少一部分相对应的映射。然后,在步骤1202,系统可以基于映射确定针对经解码的图像帧的填充方案。此外,在步骤1403,系统可以根据填充方案为经解码的图像帧构建经扩展的图像,其中,该经扩展的图像包括一个或多个填充像素。附加地,在步骤1404,系统可以使用经扩展的图像作为参考帧来获得另一经解码的图像帧。

本发明的许多特征可以以硬件、软件、固件或其组合的形式执行,或使用硬件、软件、固件或其组合执行,或借助于硬件、软件、固件或其组合执行。因此,本发明的特征可以使用处理系统(例如,包括一个或多个处理器)来实现。示例性处理器可以包括但不限于:一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、图形处理单元、物理处理单元、数字信号处理单元、协处理器、网络处理单元、音频处理单元、加密处理单元等。

本发明的特征可以以计算机程序产品的形式、或者使用计算机程序产品、或者借助于计算机程序产品执行,计算机程序产品例如是具有存储在其上/内的指令的存储介质(媒介)或计算机可读介质(媒介),这些指令可用于对处理系统进行编程以执行本文陈述的任何特征。存储介质可以包括但不限于任何类型的盘,包括:软盘、光盘、dvd、cd-rom、微型驱动器和磁光盘、rom、ram、eprom、eeprom、dram、vram、闪存设备、磁卡或光卡、纳米系统(包括分子存储器ic)或适于存储指令和/或数据的任何类型的介质或设备。

存储在任何一个机器可读介质(媒介)上的本发明的特征可以并入软件和/或固件中,用来对处理系统的硬件进行控制,并且用来使处理系统能够利用本发明的结果与其他机构进行交互。这样的软件或固件可以包括但不限于应用代码、装置驱动器、操作系统和执行环境/容器。

本发明的特征还可以使用例如诸如专用集成电路(asic)和现场可编程门阵列(fpga)设备的硬件组件以硬件实现。实现硬件状态机以执行在此描述的功能对于相关领域的技术人员将是显而易见的。

此外,可以使用包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质在内的一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器,来方便地实现本公开的实施例。编程技术人员可以根据本公开的教导容易地准备适当的软件编码,这对软件领域的技术人员将是显然的。

尽管上面已经描述了本发明的各实施例,但是应当理解,它们仅仅是作为示例而不是限制来提出的。本领域普通技术人员应该清楚的是在不脱离本发明的精神和范围的情况下可以进行形式和细节上的各种变化。

以上已经在功能构建块的辅助下描述了本发明,这些功能构建块示出了指定功能及其关系的执行。为便于描述,本文通常任意定义这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义替代的边界。因此,任何这样的替代的边界都在本发明的范围和精神内。

已经提供了本发明的上述描述,用于说明和描述的目的。不是旨在是穷尽性的或将公开的精确形式作为对本发明的限制。本发明的宽度和范围不应当受到上述示例性实施例中任意一个的限制。许多修改和变化对于本领域普通技术人员将是明显的。这些修改和变化包括所公开的特征的任何相关组合。对实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,从而使得本领域的其他技术人员能够理解本发明的各实施例以及适合于预期特定用途的各种修改。意图在于,本发明的范围由所附权利要求及其等同物限定。

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