用于360度视频的有效压缩的球极投影的制作方法

文档序号:19160817发布日期:2019-11-16 01:20阅读:419来源:国知局
用于360度视频的有效压缩的球极投影的制作方法



背景技术:

虚拟实境(vr)描述可在看起来真实或物理方式内交互的三维的计算机产生的环境。一般来说,体验虚拟实境环境的用户可左右转、上下看及/或前后移动,因此改变其对虚拟环境的视角。呈现给所述用户的360度视频可因此改变,从而使得用户的体验如在真实世界中同样顺畅。虚拟实境视频可以极高质量被捕捉且显现,从而潜在地提供真实沉浸式虚拟实境体验。

为提供顺畅360度视图,通过360度视频捕捉系统捕捉的视频通常进行图像缝合。在360度视频产生的情况下的图像缝合涉及组合或合并视频帧重叠或将以其它方式连接所在的区域中的邻近相机的视频帧。结果将为大致球形帧。然而,类似于麦卡托(mercator)投影,经合并的数据通常以平面样式表示。举例来说,经合并视频帧中的像素可经映射至立方体形状或某种其它三维平面形状(例如,角锥形、八面体、十面体等)的平面上。视频捕捉及视频显示大体上通常按光栅原理操作--意味着视频帧作为像素栅格处置--因此,正方形或矩形平面通常用以表示球面环境。

360度视频可经编码用于存储及/或发射。视频译码标准包含国际电信联盟(itu)itu-th.261、国际标准组织/国际电子装置委员会(iso/iec)动画群组(mpeg)mpeg-1visual、itu-th.262或iso/iecmpeg-2visual、itu-th.263、iso/iecmpeg-4visual、itu-th.264(也称为iso/iecmpeg-4avc)、包含其可调式视频译码(svc)及多视图视频译码(mvc)扩展及itu-th.265(也称为iso/iecmpeg-4hevc)及其扩展。



技术实现要素:

在各种实施方案中,描述用于处理360度视频数据以获得更好译码效率的技术及系统。这些技术及系统可包含使用分段式球体投影将360度视频帧的球面表示划分成北极或顶部区、南极或底部区,及中纬线或中间区。所述区可接着映射成可使译码装置更容易进行操控的二维矩形格式。在产生此映射时,分段式球体投影的圆形北极区及南极区可使用各种技术扩展,以填充输出视频帧的矩形区。通过将极性区映射至矩形区的所有拐角中,输出视频帧中的所有可用像素可包含可使用数据。相比已使用其它方法产生的360度视频的视频帧,以此方式产生的视频帧可更有效地进行编码。

在各种实施方案中,额外视觉改进可通过在输出视频帧的某些区域中应用渐次取样调整而达成。举例来说,可通过将逐步变化应用于样本在视频帧中所映射至的位置来减少其中映射极性区的矩形区与其中映射中纬线区的一部分的矩形区之间的任何不连续性。在此实例及其它实例中,针对球面视频数据的极性区而将逐步变化应用于矩形区。

根据至少一个实例,提供一种用于编码视频数据的方法。在各种实施方案中,所述方法包含获得包含多个视频帧的360度视频数据,所述多个视频帧中的每一视频帧包含用于视频帧的视频数据的球面表示。所述方法进一步包含将来自所述多个视频帧中的视频帧分割成顶部区、中间区及底部区,所述顶部区包含球面表示的第一圆形区域,所述底部区包含球面表示的第二圆形区域,其在球面表示上与第一圆形区域相对,其中所述中间区包含球面表示中不包含于顶部区或底部区中的区域。所述方法进一步包含将顶部区映射至输出视频帧的第一矩形区域中,其中映射顶部区包含扩展包含于第一圆形区域中的视频数据以填充第一矩形区域。所述方法进一步包含将底部区映射至输出视频帧的第二矩形区域中,其中映射底部区包含扩展包含于第二圆形区域中的视频数据以填充第二矩形区域。

在另一实例中,提供一种设备,其包含经配置以存储360度视频数据的存储器及处理器。所述360度视频数据可包含多个视频帧,所述多个视频帧中的每一视频帧包含用于视频帧的视频数据的球面表示。处理器经配置以且可将来自所述多个视频帧中的视频帧分割成顶部区、中间区及底部区,所述顶部区包含球面表示的第一圆形区域,所述底部区包含球面表示的第二圆形区域,其在球面表示上与所述第一圆形区域相对,其中所述中间区包含球面表示中不包含于顶部区或底部区中的区域。处理器经配置以且可将顶部区映射至输出视频帧的第一矩形区域中,其中映射顶部区包含扩展包含于第一圆形区域中的视频数据以填充第一矩形区域。处理器经配置以且可将底部区映射至输出视频帧的第二矩形区域中,其中映射底部区包含扩展包含于第二圆形区域中的视频数据以填充第二矩形区域。

在另一实例中,提供一种其上存储有指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时致使所述一或多个处理器执行包含以下的操作:获得包含多个视频帧的360度视频数据,所述多个视频帧中的每一视频帧包含用于视频帧的视频数据的球面表示。所述指令可进一步致使所述一或多个处理器执行包含以下的操作:将来自多个视频帧中的一个视频帧分割成顶部区、中间区及底部区,所述顶部区包含球面表示的第一圆形区域,所述底部区包含球面表示的第二圆形区域,其在球面表示上与第一圆形区域相对,其中所述中间区包含球面表示中不包含于顶部区或底部区中的区域。所述指令可进一步致使一或多个处理器执行包含以下的操作:将顶部区映射至输出视频帧的第一矩形区域中,其中映射顶部区包含扩展包含于第一圆形区域中的视频数据以填充第一矩形区域。所述指令可进一步致使一或多个处理器执行包含以下的操作:将底部区映射至输出视频帧的第二矩形区域中,其中映射底部区包含扩展包含于第二圆形区域中的视频数据以填充第二矩形区域。

在另一实例中,提供一种设备,其包含用于获得包含多个视频帧的360度视频数据的装置,所述多个视频帧中的每一视频帧包含用于视频帧的视频数据的球面表示。所述设备进一步包括用于将来自所述多个视频帧中的视频帧分割成顶部区、中间区及底部区的装置,所述顶部区包含球面表示的第一圆形区域,所述底部区包含球面表示的第二圆形区域,其在球面表示上与所述第一圆形区域相对,其中所述中间区包含球面表示中不包含于顶部区或底部区中的区域。所述设备进一步包括用于将顶部区映射至输出视频帧的第一矩形区域中的装置的装置,其中映射顶部区包含扩展包含于第一圆形区域中的视频数据以填充第一矩形区域。所述设备进一步包括用于将底部区映射至输出视频帧的第二矩形区域中的装置,其中映射底部区包含扩展包含于第二圆形区域中的视频数据以填充第二矩形区域。

在一些方面中,在高于球面表示的中纬线的第一纬度及低于中纬线的第二纬度下分割视频帧,其中所述第一纬度及第二纬度与中纬线等距,其中顶部区高于第一纬度,且其中底部区低于第二纬度。

在一些方面中,映射顶部区及映射底部区包含选择输出视频帧中的像素位置,及确定球面表示上对应于所述像素位置的点,其中使用用于将正方形转换为圆的映射来确定球面表示上的点。这些方面进一步包含从球面表示上的点对像素进行取样,及将经取样像素置放于像素位置处。在一些方面中,用于将正方形转换为圆的映射将输出视频帧中的失真降至最低。在一些方面中,映射顶部区及映射底部区进一步包含使用渐次曲线函数来调整像素位置。在一些方面中,在邻近于视频帧中的第三矩形区域的区域中的像素位置处使用渐次曲线函数。在一些方面中,渐次曲线函数针对第一矩形区域或第二矩形区域的中间区域较少地改变像素位置,且针对第一矩形区域或第二矩形区域的外部区域较多地改变像素位置。

在一些方面中,方法、设备及计算机可读媒体进一步包含将中间区映射至输出视频帧的一或多个矩形区域。在一些方面中,中间区包含左视图、正视图及右视图,其中左视图在输出视频帧邻近于正视图置放,且其中右视图邻近于正视图置放。

在一些方面中,中间区包含后视图,其中所述底部区在输出视频帧中邻近于后视图置放,且其中顶部区邻近于后视图置放。

在一些方面中,将顶部区映射至第一矩形区域中包含将逐步调整应用于其中第一矩形区域邻近于输出视频帧中的第三矩形区域的区域中,且其中将底部区映射至第二矩形区域中包含将逐步调整应用于其中第二矩形区域邻近于输出视频帧中的第四矩形区域的区域中。

在一些方面中,所述输出视频帧具有三乘二宽高比。

根据至少一个实例,提供一种用于编码视频数据的方法。在各种实施方案中,所述方法包含获得包含多个视频帧的360度视频数据,来自所述多个视频帧的每一视频帧包含用于视频帧的视频数据的二维表示。所述方法进一步包含识别来自多个视频帧中的视频帧的第一矩形区域。所述方法进一步包含将第一矩形区域映射至用于视频帧的视频数据的球面表示的顶部区中,其中所述顶部区包括球面表示的第一圆形区域,且其中映射第一矩形区域包含将来自第一矩形区域的视频数据布置至第一圆形区域中。所述方法进一步包含识别视频帧的第二矩形区域。所述方法进一步包含将第二矩形区域映射至球面表示的底部区中,其中所述底部区包括球面表示的第二圆形区域,且其中映射第二矩形区域包含将来自第二矩形区域的视频数据布置至第二圆形区域中。

在另一实例中,提供一种设备,其包含经配置以存储360度视频数据的存储器及处理器。所述360度视频数据可包含多个视频帧,来自所述多个视频帧的每一视频帧包含用于视频帧的视频数据的二维表示。处理器经配置以且可识别来自多个视频帧中的视频帧的第一矩形区域。处理器经配置以且可将第一矩形区域映射至用于视频帧的视频数据的球面表示的顶部区中,其中所述顶部区包括球面表示的第一圆形区域,且其中映射第一矩形区域包含将来自第一矩形区域的视频数据布置至第一圆形区域中。处理器经配置以且可识别视频帧的第二矩形区域。处理器经配置以且可将第二矩形区域映射至球面表示的底部区中,其中所述底部区包括球面表示的第二圆形区域,且其中映射第二矩形区域包含将来自第二矩形区域的视频数据布置至第二圆形区域中。

在另一实例中,提供一种在其上存储指令的非暂时性计算机可读媒体,所述指令在由一或多个处理器执行时致使所述一或多个处理器执行包含以下的操作:获得包含多个视频帧的360度视频数据,来自所述多个视频帧的每一视频帧包含用于视频帧的视频数据的二维表示。所述指令可进一步致使一或多个处理器执行包含以下的操作:识别来自多个视频帧中的一个视频帧的第一矩形区域。所述指令可进一步致使一或多个处理器执行包含以下的操作:将第一矩形区域映射至用于视频帧的视频数据的球面表示的顶部区中,其中所述顶部区包括球面表示的第一圆形区域,且其中映射第一矩形区域包含将来自第一矩形区域的视频数据布置至第一圆形区域中。所述指令可进一步致使一或多个处理器执行包含以下的操作:识别视频帧的第二矩形区域。所述指令可进一步致使一或多个处理器执行包含以下的操作:将第二矩形区域映射至球面表示的底部区中,其中所述底部区包括球面表示的第二圆形区域,且其中映射第二矩形区域包含将来自第二矩形区域的视频数据布置至第二圆形区域中。

在另一实例中,提供一种设备,其包含用于获得包含多个视频帧的360度视频数据的装置,来自所述多个视频帧的每一视频帧包含用于视频帧的视频数据的二维表示。所述设备进一步包括用于识别来自多个视频帧中的视频帧的第一矩形区域的装置。所述设备进一步包括用于将第一矩形区域映射至用于视频帧的视频数据的球面表示的顶部区中的装置,其中所述顶部区包括球面表示的第一圆形区域,且其中映射第一矩形区域包含将来自第一矩形区域的视频数据布置至第一圆形区域中。所述设备进一步包括用于识别视频帧的第二矩形区域的装置的装置。所述设备进一步包括用于将第二矩形区域映射至球面表示的底部区中的装置的装置,其中所述底部区包括球面表示的第二圆形区域,且其中映射第二矩形区域包含将来自第二矩形区域的视频数据布置至第二圆形区域中

在一些方面中,顶部区包含球面表示中高于球面表示的第一纬度的表面,其中底部区包含球面表示中低于球面表示的第二纬度的表面,其中所述第一纬度及所述第二纬度与球面表示的中纬线等距。

在一些方面中,映射一或多个矩形区域包含选择球面表示上的点及确定视频帧中对应于所述点的像素位置,其中使用用于将三维球体转换为二维矩形的映射来确定像素位置。这些方面进一步包含从所述像素位置对像素进行取样,及将所述经取样像素置放于所述点处。

在一些方面中,映射第一矩形区域及映射第二矩形区域包含选择球面表示上的一点及确定视频帧中对应于所述点的像素位置,其中使用用于将圆转换为正方形的映射来确定像素位置。这些方面进一步包含从所述像素位置对像素取样,及将所述经取样像素置放于所述点处。在一些方面中,用于将圆转换为正方形的映射反演在第一矩形区域或第二矩形区域中的视频数据经扩展以填充第一矩形区域或第二矩形区域时所引起的失真。在一些方面中,映射第一矩形区域及映射第二矩形区域进一步包含使用渐次曲线函数调整像素位置。在一些方面中,在邻近于一或多个额外矩形区域中的至少一者的区域中的像素位置处使用渐次曲线函数。在一些方面中,渐次曲线函数针对第一矩形区域或第二矩形区域的中间区域较少地改变像素位置,且针对第一矩形区域或第二矩形区域的外部区域较多地改变像素位置。

在一些方面中,方法、设备及计算机可读媒体进一步包含将视频帧的一或多个额外矩形区域映射至球面表示的中间区中。在一些方面中,一或多个额外矩形区域包含左视图、正视图及右视图,其中左视图邻近于正视图定位,且其中右视图邻近于正视图。

在一些方面中,所述一或多个额外矩形区域包含后视图,其中第一矩形区域邻近于后视图,且其中第二矩形区域邻近于后视图。

在一些方面中,将第一矩形区域映射至顶部区中包含将逐步调整应用于其中第一矩形区域邻近于来自一或多个额外矩形区域中的第三矩形区域的区域中,且其中将第二矩形区域射至底部区中包含将逐步调整应用于其中第二矩形区域邻近于来自一或多个额外矩形区域中的第四矩形区域的区域中。

此发明内容并不意在识别所要求保护的主题的关键或基本特征,也不意在单独使用以确定所要求保护的主题的范围。应参考此专利的整个说明书的适当部分、任何或所有图式及每一权利要求来理解主题。

在参考以下说明书、权利要求书及随附图式时,前述内容连同其它特征及实施例将变得更显而易见。

附图说明

专利或申请案文件含有至少一个彩制图式。在申请且支付必要费用后,专利局将提供具有彩色图式的本专利或专利申请公开案的副本。

下文参考以下图式详细描述本发明的说明性实施例:

图1a说明包含360度视频帧的等矩形投影的视频帧。

图1b说明包含360度视频帧的立方图投影的视频帧。

图2a为说明球体的表面至竖直映射的分段式球体投影的图。

图2b为说明使用映射的3×2布置产生的实例视频帧的图,所述映射可使用分段式球体投影产生。

图3为说明圆至正方形及正方形至圆的映射的实例的图。

图4为说明用于将正方形映射至圆及将圆映射至正方形的若干技术的实例输出的图。

图5a及图5b为说明已使用角向超广角投影映射的球面视频数据的极性区的实例的图。

图6a及图6b为说明已使用本文所论述的技术映射的球面视频数据的极性区的实例的图。

图7说明通过使用分段式球体投影及此处论述的技术映射360度视频帧产生的视频帧的实例。

图8说明在不使用上文所论述的逐步转变技术的情况下所映射的第一部分视频帧及根据逐步转变技术映射的第二部分视频帧的实例。

图9说明其上标绘函数的输出的曲线图。

图10为说明用于根据本文所论述的技术处理视频数据的过程的实例的流程图。

图11为说明用于根据本文所论述的技术处理视频数据的过程的实例的流程图。

图12为说明实例编码装置的框图。

图13为说明实例解码装置的框图。

具体实施方式

下文提供本发明的某些方面及实施例。这些方面及实施例的一些可独立地应用并且其中的一些可以将对本领域的技术人员显而易见的组合来应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,各种实施例可在无这些特定细节的情况下得以实践将为显而易见的。图式及描述不意在为限定性的。

随后的描述仅提供实例,且并不意在限制本发明的范围、适用性或配置。相反,各种实例的随后描述将为本领域的技术人员提供用于实施实例中的任一者的启发性描述。应理解,可在不脱离如所附权利要求书中阐述的本发明的精神及范围的情况下对元件的功能及布置做出各种改变。

在以下描述中,给出特定细节以提供对实例的彻底理解。然而,一般技术人员应了解,实例可在无需这些具体细节的情况下实践。举例来说,电路、系统、网络、过程及其它组件可以框图形式展示为组件以免以不必要的细节混淆实例。在其它情况下,已在无不必要的细节的情况下展示熟知电路、过程、算法、结构及技术以便避免混淆实例。

另外,应注意,个别实例可描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。尽管流程图可能将操作描述为顺序过程,但许多操作可并行地或同时加以执行。另外,操作的次序可重新布置。过程在其操作完成时终止,但可具有不包含于图中的额外步骤。过程可对应于方法、函式、程序、次例行程序、子程序等。当过程对应于函式时,其终止可对应于函式传回至呼叫函式或主函式。

术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置,及能够存储、含有或携载指令及/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,其中可存储数据并且不包含载波及/或以无线方式或经由有线连接传播的暂时电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、诸如光盘(cd)或数字化通用光盘(dvd)的光学存储媒体、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储于其上的代码及/或机器可执行指令,所述代码及/或机器可执行指令可表示过程(procedure)、函数、子程序、程序、例行程序、次例行程序、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。代码段可通过传递及/或接收信息、数据、引数、参数或存储器内容耦合至另一代码段或硬件电路。信息、引数、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射或类似者的任何合适方式传递、转递或发射。

此外,可由硬件、软件、固件、中间软件、微码、硬件描述语言或其任何组合来实施各种实例。当实施于软件、固件、中间软件或微码中时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储于计算机可读或机器可读媒体中。处理器可执行必要任务。

虚拟实境(vr)描述可在看起来真实或物理方式内交互的三维的计算机产生的环境。在一些情况下,体验虚拟实境环境的用户使用诸如头戴显示器(hmd)及视情况选用的其它可穿戴物品(诸如,配备有传感器的手套)的电子装备以与虚拟环境交互。随着用户在真实世界中移动,在虚拟环境中显现的图像也改变,从而向用户给予用户正在虚拟环境内移动的感知。在一些情况下,虚拟环境包含与用户的移动相关的声音,从而向用户给予声音来源于特定方向或来源的视听。虚拟实境视频可以极高质量被捕捉且显现,从而潜在地提供真实沉浸式虚拟实境体验。虚拟实境应用包含游戏、训练、教育、体育视频及线上购物以及其它。

360度视频为经捕捉以用于在虚拟实境环境中显示的视频。举例来说,360度视频的帧可包含从给定点可见的完整360度,使得帧包含以所述点为中心的球体的全部或一部分的像素。360度视频数据也可被称作球面视频,是因为360度视频捕捉所有方向上的视图,使得每一360度视频帧可被视为所捕捉像素的球体。360度视频的帧可为计算机产生的,且可用以呈现虚构环境。在一些应用中,来自真实世界的视频可用于呈现虚拟实境环境。在这些应用中,用户可以用户可体验目前位置的相同方式体验另一位置。举例来说,用户可在使用定位于旧金山的360度视频系统时体验柏林的步行旅行。

360度视频系统可包含视频捕捉装置及视频显示装置,且可能也包含诸如服务器、数据存储器及数据发射装备的其它中间装置。视频捕捉装置可包含相机集合,即,多个相机的集合,每一相机定向于不同方向且捕捉不同视图。在各种应用中,两个至六个相机可用以捕捉以相机集合的位置为中心的完整360度视图。一些视频捕捉装置可使用主要捕捉侧对侧视图的较少相机,诸如视频捕捉装置。视频包含帧,其中帧为场景的电子译码静态图像。相机每秒捕捉某数目个帧,其通常被称作相机的帧速率。

在一些情况下,为了提供无缝的360度视图,通过相机集合中的每一相机捕捉的视频经历图像缝合。在360度视频产生的情况下的图像缝合涉及组合或合并视频帧重叠或将以其它方式连接所在的区域中的邻近相机的视频帧。结果为大致球面的视频数据帧。为与现有视频系统集成,球面视频数据帧可映射成平面格式。为了映射,可使用诸如用于产生麦卡托投影的技术的技术来产生等矩形格式。作为另一实例,经合并视频帧中的像素可经映射至立方体形状或某种其它三维平面形状(例如,角锥形、八面体、十面体等)的平面上。视频捕捉及视频显示装置按光栅原理操作--意味着视频帧作为像素栅格处置--因此,正方形或矩形平面通常用以表示球面环境。

映射至平面表示的360度视频帧可经编码及/或压缩以供存储及/或发射。可使用视频编码解码器(例如,符合高效率视频译码(hevc)标准(也被称作h.265)的编码解码器,或符合先进视频译码标准(也被称作h.264)或另一适合译码标准的编码解码器)实现编码及/或压缩,其产生经编码及/或经压缩视频位流或位流的群组。下文进一步详细地描述使用视频编码解码器对视频数据进行编码。

在一些实施方案中,经编码视频位流可以媒体格式或文件格式存储及/或囊封。一或多个所存储位流可(例如)经由网络发射至接收器装置,所述接收器装置可解码并显现视频以供显示。此接收器装置在本文中可被称作视频显示装置。举例来说,360度视频系统可从经编码视频数据(例如,使用国际标准组织(iso)基本媒体文件格式及/或导出的文件格式)产生经囊封文件。举例来说,视频编码解码器可编码视频数据,且囊封引擎可通过将视频数据囊封于一或多个iso格式媒体文件中而产生媒体文件。或者或另外,一或多个所存储位流可直接从存储媒体提供至接收器装置。

接收器装置也可实施编码解码器以解码及/或解压缩经编码视频位流。在一或多个经编码视频位流以媒体格式或文件格式存储及/或囊封的情况下,接收器装置可支持用以将视频位流封装至文件(或多个文件)中的媒体或文件格式,且可提取视频(且也可能音频)数据以产生经编码视频数据。举例来说,接收器装置用经囊封视频数据剖析媒体文件以产生经编码视频数据,且接收器装置中的编码解码器可解码经编码视频数据。

接收器装置接着可发送经解码视频信号至显现装置(例如,视频显示装置、播放器装置或其它适合的显现装置)。举例来说,显现装置包含头戴显示器、虚拟实境电视及其它180度或360度显示装置。一般来说,头戴式显示器能够追踪穿戴者的头部的移动及/或穿戴者的眼睛的移动。头戴显示器可使用追踪信息来显现对应于穿戴者正观察的方向的360度视频的部分,使得穿戴者以与穿戴者将体验真实世界相同的方式体验虚拟环境。显现装置可以捕捉视频的相同帧速率或以不同帧速率显现视频。

投影及映射用于在二维(2-d)图上表示三维(3-d)表面。举例来说,在360度视频应用中,投影及映射可用于将360度视频帧映射至二维视频帧上,所述360度视频图从相机捕捉所有方向上的像素且因此可被视为球体。二维投影的实例包含等矩形(erp)投影及立方图(cmp)投影以及其它。图1a说明包含360度视频帧的等矩形投影的视频帧110。等矩形投影通过以线性方式将球体上的点的纬度及经度映射至视频帧110中的(x,y)坐标而将球体上的点映射至二维图。等矩形投影能够包含从360度视频帧至二维视频帧110中的所有像素,因此从视频帧110的一个区域至另一区域的转变是顺畅的。无缝转变意味着等矩形视频帧可在经编码视频帧的尺寸方面进行有效编码。其是因为诸如运动估计及运动补偿的操作在视频帧之间的运动显得连续时产生更好结果。

图1b说明包含360度视频帧的立方图投影的视频帧120。立方图投影将球体的表面上的点投影至与球体表面相切的平面上的点。即,像素适配至立方体的六个面上,其中立方体的高度、宽度及长度可使得所述立方体适配在球面内。图1b的实例为3×2布置;即,在横向上有三个立方体面,且在高度方向上有两个立方体面。3×2布置产生可有效地编码的宽高比。举例来说,相比使用诸如1×2的布置的情况,需要存储较少每行像素的数据。

在图1b的实例视频帧120中,可视为前向正表面122的立方体面置放于视频帧120的上半部分的中间中。位于前表面右侧及左侧的立方体面(例如,右面124及左面126)分别置放于视频帧120的上半部分的右侧及左侧上。可视为背面128的立方体面旋转-90度,且置放于视频帧120的下半部分的中间。可视为上面或顶面130的立方体面置放于背面128的右侧,且也经旋转使得顶面130的边缘匹配背面128的边缘。可视为下面或底面132的立方体面置放于背面128的左侧,经旋转以匹配背面128的边缘。

在图1b的实例中,包含于前面122中的像素可经选择为直接置放于观看者前方的视图。在其它实例中,可将视频数据的另一部分选择为正视图。另外,在图1b的实例视频帧120中说明的立方体面的布置为一个实例布置。其它布置也为可能的。

归因于对于出现在立方体面的边缘处的像素数据的部分压缩,立方图投影与等矩形投影相比可更为紧凑。立方图也产生图像的较少失真,其可改进译码效率。

另一投影为被称作分段式球体投影(ssp)的投影。分段式球体投影描述于y.ye、e.alshina及j.boyce“360lib中的投影格式转换及视频质量度量的算法描述(algorithmdescriptionsofprojectionformatconversionandvideoqualitymetricsin360lib)”,jvet-e1003,2017年1月中,其特此以全文引用的方式及出于所有目的而并入。图2a为说明球体202的表面至根据分段式球体投影产生的实例二维竖直映射210的分段式球体投影的图。分段式球体投影将球体分成三段:北极段204、南极段208及中纬线段206。北极段及南极段在本文中也被称作球极或球极段。在所说明实例中,以北纬45度及南纬45度(例如,从球体202的中心量测)划分三段。在其它实例中,可以不同纬度来划分三段。

在图2a中所说明的实例二维映射210中,由北极段204覆盖的区域经映射至第一圆形区,其将被称作顶视图214。类似地,由南极段208覆盖的区域经映射至第二圆形区,其将被称作底视图218。在此实例中,底视图218在映射210中置放为靠近顶视图214及在所述顶视图下方。顶视图214及底视图21也分别标记为面0及面1。中纬线段206经划分成四个相同片段,且每一片段经映射至正方形区域,所述片段在映射210中以一个在另一个下方的方式置放于底视图218下方。出于此实例的目的,中纬线区206的正方形区域从上而下将分别被称作左视图216a、正视图216b、右视图216c及后视图216d或面2、面3、面4及面5。在其它实例中,左视图、右视图、正视图及后视图可以与此处所描述的次序不同的次序来布置。在其它实例中,其中映射中纬线段206的区域可能并非为正方形。举例来说,当不同于45度的角度用于划定极性区时,并非正方形的矩形区域可更好地拟合像素数据,且与此实例中数据经映射至正方形区域的情况相比可导致较少失真。

在视频应用中,可使用通常被称为超广角投影的角向投影将来自北极段204及南极段208中的每一者的像素分别映射至顶视图214及底视图218的圆形区。在此实例中,归因于每一视图覆盖90度纬度,顶视图214及底视图218中的每一者中的圆形区的直径与中纬线段中的每一者的边缘相同。左视图216a、正视图216b、右视图216c及后视图216c中的每一者可使用用以产生等矩形投影的投影产生,其可产生在这些视图之间的相对平滑的转变。

图2b为说明使用映射的3×2布置产生的实例二维视频帧220的图,所述映射可使用分段式球体投影产生。在实例视频帧220中,正视图216b置放于视频帧220的上半部的中间。左视图216a及右视图216c分别置放在正视图216b的左侧及右侧。后视图216d旋转-90度且置放于视频帧220的下半部的中间。顶视图212也经旋转使得所述顶视图的左边缘与后视图216d的右边缘对准,且置放在后视图216d的右侧。底视图218也经旋转使得底视图218的右边缘与后视图216d的左边缘对准,且置放在后视图216d的左侧。在此实例中,“对准”意味着来自每一视图的将在原始球体202中相邻的至少一些像素在视频帧220中相邻。在此实例中,超出超广角投影范围的顶视图212及底视图218的拐角区域是用灰色填充。在其它实例中,这些拐角区域可用另一颜色填充。

分段式球体投影可产生相比使用等矩形投影或立方图投影产生的视频帧具有更好译码效率的视频帧。举例来说,可在使用分段式球体投影时产生较少失真及较平滑转变,所述两者均可改进译码效率。

然而,可实现甚至更好的译码效率。举例来说,在顶视图及底视图中,拐角区域并不捕捉像素数据,且因此将数据添加至在显示视频帧的内容时不需要的视频帧。在一些情况下,此额外数据也产生在使用立方图映射时较大的经编码视频帧,同时提供相同数目的有源像素。

分段式球体投影也引入一些新问题。举例来说,顶视图及底视图的圆周比左视图、正视图、右视图及后视图的经组合宽度短。当重编所述视图以供显示时,此差异可产生在北极区与中纬线区之间及中纬线区与南极区之间的可见边界。

在各种实施方案中,提供使用避免上文所论述的问题的分段式球体投影处理360度视频数据的系统及方法。在各种实施方案中,可使用分段式球体投影将360度视频帧映射至二维矩形格式,其可使视频发射器及接收器更容易进行处置。在产生此映射时,分段式球体投影的圆形北极区及南极区可使用各种技术扩展,以填充输出视频帧的矩形区。通过将极性区映射至矩形区的所有拐角中,输出视频帧中的所有可用像素可包含可使用数据。另外,可使顶视图及底视图的周界等于经组合的左视图、正视图、右视图及后视图的整体长度,由此减少在边界以及顶视图及底视图处的任何失真或伪影。此外,由扩展极性区产生的额外像素可导致对极性区中的像素的更密集取样,且因此在此区域中产生更精确表示。

如上所指出,分段式球体投影的中纬线区可使用诸如可用以产生等矩形投影的那些技术的技术而映射至输出视频帧的一或多个正方形或矩形区域。中纬线区也可使用诸如圆柱等面积投影的其它投影映射。圆柱等面积投影的使用进一步论述于____申请的美国申请案第____号(代理人案号173550),所述美国申请案以全文引用的方式并入本文中。

为将分段式球体投影的极性区映射至输出视频帧的正方形或矩形区域,可使用用于将圆形映射至正方形的技术。图3为说明圆302至正方形304及正方形304至圆302的映射的实例的图。可使用各种技术来实现这些映射,其中的一些描述于m.lambers,“球体、圆盘形及正方形之间的映射(mappingsbetweensphere,disc,andsquare)”,journalofcomputergraphicstechniques,第5卷,第2期,2016中,其特此以全文引用的方式及出于所有目的并入。

图4为说明用于将正方形404映射至圆及将圆402映射至正方形的若干技术的实例输出的图。所说明的技术包含径向拉伸412、雪莱式等面积映射414、fernández-gausti圆方形映射416(其在本文中将被称作圆方形映射)、椭圆弧形映射418及保形映射420。这些及其它技术可在输出映射的不同部分中产生不同程度的失真。在视频应用中,使用导致对原始图像的最少量修改的技术,诸如圆方形映射416或椭圆弧形映射418。尽可能多的维持原始图像可有利于译码效率。

虽然lambers中论述的技术及许多其它技术中的任一者可用于将圆映射至正方形,但可将圆方形映射及椭圆弧形映射用作实例来说明使用分段式球体投影将360度视频数据映射成二维矩形格式。在其它实例中,可使用其它正方形至圆的映射技术。

圆方形映射提供使用以下等式的正方形至圆的映射:

在等式(1)及(2)中,(x,y)为正方形内的笛卡尔坐标且(u,v)为圆内的笛卡尔坐标。

椭圆弧形映射提供使用以下等式的正方形至圆的映射:

将360度视频帧映射至二维矩形格式涉及将360度视频数据的三维空间转换为输出视频帧的二维空间。执行此转换可包含选择输出视频帧中的像素位置(m,n)及确定球面视频数据上的点(φ,θ)。像素样本可获自由(φ,θ)指定的点且置放于输出视频帧中的点(m,n)处。

在一些实例(诸如上文所论述的那些实例)中,球面数据的极性区可映射至输出视频帧的矩形区域。在这些实例中,正方形的尺寸可表示为a×a。在其它实例中,矩形区域的长度及宽度彼此不同。

视频帧中的像素位置最常是以光栅次序给定,其中第0个像素位置在视频帧的左上拐角中。因此,将3-d空间转换为2-d空间过程的第一步是将视频帧中的坐标(m,n)重归一化为笛卡尔坐标(x,y)。其可使用以下等式实现:

在一个实例中,等式(5)及(6)可与由圆方形映射提供的正方形至圆等式相组合,以确定圆中的笛卡尔坐标(u,v):

在另一实例中,等式(5)及(6)可与由椭圆弧形映射提供的正方形至圆等式相组合,以确定(u,v):

下一步骤是确定对应于(u,v)的三维极坐标,如在以上实例中的任一者中或使用另一种正方形至圆映射方法所确定。如图2a中所说明,三维极坐标包含圆角、中纬线角φ(例如从一点沿球体的中纬线选择为0度的角)及竖直角θ(例如,中纬线与极中的一者之间的角)。北极区(图2a的实例中的面0)的极坐标可使用以下等式确定:

南极区(图2a的实例中的面1)的极坐标可使用以下等式确定:

对于北极区及南极区两者,

图5a及图5b为说明已使用角向超广角投影映射的球面视频数据的极性区的实例的图,所述角向超广角投影也可描述为圆极映射。图5a说明通过映射南极区获得的底视图508。图5b说明通过映射北极区获得的顶视图504。

如上文所论述,超广角投影导致北极区及南极区的像素在其中映射像素的正方形区域526、528内占据圆形区域522、524。投影能够保持大部分来自球面视频数据的数据,尽管由于像素已弯曲成圆形而可能出现某种损失。另外,正方形区中的每一者具有拐角区域530,其中像素是用灰色或某一其它值填充而非用来自球面视频数据的像素数据填充。在经编码时,归因于无视频数据,拐角区域530可降低译码效率。此外,拐角区域530添加不必要数据,是因为将在重编视频帧以供显示时丢弃来自拐角区域530的数据。

图6a及图6b为说明已使用上文所论述的等式映射的球面视频数据的极性区的实例的图。图6a说明底视图608且图6b说明顶视图604。底视图608及顶视图604各自以映射至图5a及图5b中所说明的视图的相同数据开始。然而,在图6a及图6b中,应用以上等式导致数据拉伸以拟合每一正方形区域626、628的拐角区630。在这些实例中,不会向输出视频帧添加不需要的数据。此外,可通过将数据拉伸至拐角区630中而非将数据弯曲至圆形区中来保持来自球面视频数据的更多像素数据。

图7说明通过使用分段式球体投影及此处论述的等式映射360度视频帧产生的视频帧710的实例。实例视频帧710包含左视图、正视图、右视图、底视图、后视图及顶视图的3×2布置。在视频帧710的上半部中,左视图726、正视图722及右视图724彼此邻接地布置,以形成连续区。在视频帧710的下半部中,后视图728旋转-90度且置放于中间。在此实例中,顶视图730的数据在映射至在后视图728右侧的正方形区域之前旋转45度。底视图732在映射至在后视图728左侧的正方形区域之前以类似方式旋转45度。

在视频帧710的下半部中布置底视图732、后视图728及顶视图730产生半连续区。每一视图之间的平滑转变是合乎需要的,是因为与突然转变时相比,对视频帧的编码可产生更紧凑的经编码表示。在其它实例中,可使用视图的其它布置,诸如1×6布置或6×1布置。或者或另外,在其它实例中,顶视图及底视图可置放于视频帧710的顶部或底部、视频帧710的左侧或右侧上,或某一其它部分中。或者或另外,在顶视图及底视图经映射至视频帧之前,可应用顶视图及底视图的其它选择,以获得不同的半连续区。

视频帧710中的像素之间的连续性可产生更好译码效率,且也可减少伪影或可见疵点在视频帧710经投影以供显示时出现。在图7的实例视频帧710中,在顶视图730及底视图732的拐角区750与后视图728相接的情况下,部分不连续形是明显的。此不连续性可归因于用以产生后视图728及顶视图及底视图的不同方法及/或获自球面视频帧的数据的形状的差异。

可通过逐步及不断调整从球面视频数据对像素的取样来降低由拐角区750引起的不连续性。以顶视图730为例,可以从邻近于后视图728的边缘(在此实例中)朝向顶视图730的右侧的逐步方式而从球面数据获取样本。此外,取样调整可更多地应用于顶视图730的外部边缘(例如应用于拐角区750)而非应用于中间,其中关于后视图的不连续性较不明显。在映射底视图732时可应用相同调整。

在各种实施方案中,对像素的逐步取样包含调整上文所论述的2-d至3-d转换。举例来说,对应于视频帧中所选择的点(m,n)的笛卡尔坐标(x,y)可使用以下等式确定:

如前所述,a为其中映射球面视频数据的正方形区域的边的长度。

对于顶视图(例如面0),x坐标可根据以下等式调整:

x=tan(tan-1(x)x)/x′(19)

对于后视图(例如面1),x坐标可根据以下等式调整:

x=tan(tan-1(x)x)/x′(21)

在以上等式中,b为可用于改变像素取样从顶视图或底视图朝向视图中间变化的量的参数。下文进一步论述选择b的值。在一些实例中,为0.2的b值减少后视图与顶视图之间的不连续性而不会明显影响对顶视图的中心区域中的像素的取样。

应注意,在图7的实例中,因为后视图728旋转-90度,所以x轴处于上下方向且y轴处于从左至右方向。

在各种实施方案中,并未调整y坐标,正如根据等式(17)所确定一般。此外,双曲正切函数用作产生介于0与1之间的逐步转变的函数的一个实例。在其它实例中,可使用诸如正弦函数、多项式函数的其它函数或产生逐步转变的其它函数。

在各种实施方案中,经调整的x值及y值可进一步用于上文所论述的正方形至圆的映射中。图8说明在不使用上文所论述的逐步转变技术的情况下所映射的第一部分视频帧810及根据逐步转变技术映射的第二部分视频帧820的实例。在此实例中,顶视图830出现在每一部分视频帧的顶部,底视图832在部分视频帧的底部,且后视图828在中间。

例如,在第一部分视频帧810中,将若干不连续性850画圈。这些不连续性850出现在顶视图830及底视图832与后视图828相接之处。不连续性850表现为水平线,其可在视频帧经呈现以供显示时存在。

在第二部分视频帧820中,突出显示不连续性852的区域,但由于经调整x坐标的等式已用于映射顶视图830及底视图832,所以所述不连续性较不明显。

应注意,在此实例中,x轴处于水平方向。也应注意,在此实例中,仅在顶视图830及底视图832与后视图828相接之处而非在第二部分视频帧820的顶部边缘及底部边缘处应用对x坐标的调整。在其它实例中,也可在帧的顶部边缘及底部边缘处应用调整。

如上文所指出,参数b用于等式(18)及(19)中以调整x坐标随着x减小或增大而变化的程度。较大b值可导致从(例如)后视图至顶视图的更突然转变(导致可能可见的不连续性),且较小b值可导致更平滑转变。然而,b的较小值可使朝向视图的中心的更多像素受到影响。限制对视图的中心中的像素的修改可为合乎需要的,是因为保持这些像素尽可能接近球面视频数据中的像素的定向可在显示视频帧时产生更好译码效率及更好表现。

作为不同b值的效应的实例,图9说明其上根据具有不同b值的不同等式(18)标绘(x',y)的曲线图900。在顶视图与后视图相接的情况下,y=-1,且与后视图相对的顶视图的边缘为y=1。在x'=0下,禁用逐步取样,其意味着(例如)圆方形或椭圆弧形映射适用。在x’=1下,发生在数学上匹配后视图的边缘的取样的取样。曲线图900中的最左边曲线是用于b=0.2。从左至右移动的每一连续曲线使b增大0.1。最右边曲线是用于b=2.0。

如自图9中所说明的实例可见,随着b增大,取样调整越来越多地影响对顶视图的映射,直到视图中的所有像素受到影响为止。如先前所述,修改视图的中间区域中的样本可不利地影响输出视频帧的译码效率。然而,在较低b值下,y的变化快速下降,导致调整限制于特定区域。

根据上文所论述的技术生成的视频帧可经编码以供存储及/或发射。视频帧随后可经解码以供显示。为显示视频帧,可将视频帧中的像素从视频帧的二维布置映射回至三维表示(例如)作为球面数据。接着可例如使用具备虚拟实境能力的显示装置显示经重构建的球面数据。

为重构建球面视频数据,可应用与用以映射视频帧的那些操作相逆的操作。举例来说,可使用(例如)用以产生等矩形投影的投影的反演将左视图、正视图、右视图及后视图映射回至分段式球体投影的中纬线区。可通过选择球体上的点(φ,θ)(例如,水平角及竖直角;圆角将为恒定的)及确定视频帧中的对应点(m,n),将顶视图及顶视图映射回至北极区及南极区。自点(m,n)取样的像素接着可置放于(φ,θ)处。

在以下实例中,由圆方形映射及椭圆弧形映射提供的圆至正方形映射将用作可用以将存储于视频帧的正方形区域中的像素数据转换至圆形区域中的技术的实例。在其它实例中,可使用其它圆至正方形映射技术。

对于顶视图(例如面0),且φ∈(-π,π]。为将极坐标(φ,θ)转换为笛卡尔坐标(u,v),可将以下等式用于顶视图:

对于底视图(例如面1),且φ∈(-π,π]。为将极坐标(φ,θ)转换为笛卡尔坐标(u,v),可将以下等式用于底视图:

接下来,在点(u,v)给定的情况下,可确定视频中的对应位置(x,y)。作为第一实例,圆方形映射提供以下用于执行圆至正方形映射的等式:

在等式(26)中,sgn为正负号函数。

作为第二实例,椭圆弧形映射提供以下用于执行圆至正方形映射的等式:

最后,(x,y)坐标可经解归一化至视频帧的坐标系统。如上文所指出,(x,y)为笛卡尔坐标,而视频帧可使用左上侧拐角作为点(0,0)。可使用以下等式确定至视频帧的坐标(m,n)的转换。

使用圆方形映射或椭圆弧形映射(或另一技术)确定的位置(m,n)可用于从视频帧选择像素。像素接着可映射至视频帧的球面表示上的点(φ,θ)。

在各种实施方案中,可应用视频帧的一些部分的逐步调整以减少由像素并未在视图之间的边界处对准而引起的可见失真。举例来说,可使用上文所论述的技术执行逐步调整。在这些实例中,可在将(x,y)转换为(m,n)之前使用以下等式调整x坐标:

x=tan-1(x′x)/tan-1(x′)(33)

如先前所述,相比单独使用分段式球体映射产生的视频帧,使用分段式球体映射及圆方形或椭圆弧形映射的组合产生的视频帧可更有效地进行编码。举例来说,对于相同数目的二维图样本,按照常见测试条件,圆方形映射可胜过分段式球体投影大致1%,如j.boyce、e.alshina、a.abbas、y.ye,“对于360度视频的jvet常见测试条件及评估程序(jvetcommontestconditionsandevaluationproceduresfor360-degreevideo)”,jvet-e1030中所描述,其特此以全文引用的方式且出于所有目的并入。

图10为说明用于根据上文所论述的技术处理视频数据的过程1000的实例的流程图。在1002处,过程1000包含获得包含多个视频帧的360度视频数据,所述多个视频帧中的每一视频帧包含用于视频帧的视频数据的球面表示。在一些实例中,360度视频数据可从视频捕捉装置直接获得。在这些实例中,球面表示可包含同时捕捉的多个图片,诸如多个矩形图片或一或多个超广角图片。或者或另外,360度视频数据可包含其中多个图片已通过视频捕捉装置或另一装置缝合在一起的视频帧。在一些实例中,以矩形格式(例如,等矩形或立方图格式)获得的360度视频数据可经映射至球面表示。

在1004处,过程1000包含将来自多个视频帧中的一个视频帧分割成顶部区、中间区及底部区。顶部区包含球面表示的第一圆形区域。底部区包含球面表示的第二圆形区域,其在球面表示上与第一圆形区域相对。中间区包含球面表示中不包含于顶部区或底部区中的区域。可以高于球面表示的中纬线的第一纬度及低于中纬线的第二纬度来分割视频帧。第一纬度及第二纬度可与中纬线等距。在一些实例中,纬度的角度与中纬线成45度。在其它实例中,纬度的角度大于或小于45度。

在一些实施方案中,过程1000包含将中间区映射至输出视频帧的一或多个矩形区域。映射中间区可包含(例如)选择输出视频帧中的像素位置及确定球面表示上对应于所述像素位置的点。在此实例中,可使用将二维矩形转换为三维球体的映射(诸如等矩形投影)来确定球面表示上的点。映射中间区可进一步包含在球面表示上的点处对像素进行取样,及将经取样像素置放于视频帧中的像素位置处。

在1006处,过程1000包含将顶部区映射至输出视频帧的第一矩形区域中。映射顶部区可包含扩展第一圆形区域中所包含的视频数据以填充第一矩形区域,使得第一矩形区域没有像素位置,所述像素位置不包含来自视频帧的像素。

在1008处,过程1000包含将底部区映射至输出视频帧的第二矩形区域中。映射底部区可包含扩展第二圆形区域中所包含的视频数据以填充第二矩形区域。

映射顶部区及映射底部区可包含(例如)选择输出视频帧中的像素位置及确定球面表示上对应于像素位置的点。在此实例中,可使用用于将正方形转换为圆的映射(诸如圆方形映射或椭圆弧形映射或另一映射)确定球面表示上的点。映射顶部区及底部区可进一步包含从球面表示上的点对像素进行取样,及将经取样像素置放于输出视频帧中的像素位置处。

在一些实例中,用于将正方形转换为圆的映射将输出视频帧中的失真降至最低。在这些实例中,第一及第二矩形区域的中心区域包含从球面表示至输出视频帧的直接映射,使得在此区域中产生较少失真。

在一些实例中,映射顶部区及底部区可进一步包含使用渐次曲线函数来调整像素位置。可例如在邻近于一或多个矩形区域中的至少一者的区域中的像素位置处使用渐次曲线函数。举例来说,在第一矩形区域邻近于另一矩形区域(例如,中间区的矩形区域中的一者)的情况下,可应用渐次曲线函数。作为另一实例,在第二矩形区域邻近于另一矩形区域的情况下,可应用渐次曲线函数。应用渐次曲线函数可减少可能在第一及第二矩形区域与视频帧中的其它矩形区域相接之处出现的失真。渐次曲线函数可针对第一矩形区域或第二矩形区域的中间区域较少地改变像素位置,且针对第一矩形区域或第二矩形区域的外部区域较多地改变像素位置。渐次曲线函数的实例包含双曲正切、正弦、多项式函数及其它函数。

在一些实例中,中间区包含可指定为左视图、正视图及右视图的部分。在这些实例中,指定为左视图的部分可在输出视频帧中邻近于指定为正视图的部分置放。此外,指定为右视图的部分邻近于正视图置放。在这些实例中,左视图、正视图及右视图可在输出视频帧中形成连续区域,其中连续意味着在球面表示中相邻的像素彼此邻接地置放于输出视频帧中。

在一些实例中,中间区包含可指定为后视图的部分。在这些实例中,底部区可在输出视频帧中邻近于指定为后视图的部分置放,且顶部区也可邻近于后视图置放。在这些实例中,底部区及顶部区可在输出视频帧中形成基本上连续的区域。

在一些实例中,将顶部区映射至第一矩形区域中可包含将逐步调整应用于其中第一矩形区域邻近于来自一或多个矩形区域的一个矩形区域的区域。举例来说,在第一矩形区域邻近于另一矩形区域的情况下,从球面视频数据取样的像素可经移位以更好地与来自其它矩形区域的像素对准。对于更远离第一矩形区域的边缘的像素位置,此逐步调整可逐渐减少。在一些实例中,相同逐步调整可应用于第二矩形区域。

在一些实例中,所述输出视频帧具有三乘二宽高比。三乘二宽高比可比其它宽高比更有效地进行编码。在一些实例中,输出视频帧可使用例如hevc或avc编码解码器(或另一编码解码器)编码以供存储及/或发射。

图11为说明用于根据上文所论述的技术处理视频数据的过程1100的实例的流程图。在1102处,过程1100包含获得包含多个视频帧的360度视频数据,来自所述多个视频帧的每一视频帧包含用于视频帧的视频数据的二维表示。在一些实例中,360度视频数据可从经编码位流获得。经编码位流可从存储位置读取,及/或可从发射接收。在这些实例中,位流可解码成矩形视频帧。

在1104处,过程1100包含识别来自多个视频帧中的视频帧的第一矩形区域。在1106处,过程1100包含将第一矩形区域映射至用于视频帧的视频数据的球面表示的顶部区中。顶部区可包括球面表示的第一圆形区域。映射第一矩形区域可包含将来自第一矩形区域的视频数据布置至第一圆形区域中。

在1108处,过程1100包含识别视频帧的第二矩形区域。在1110处,过程1100包含将第二矩形区域映射至球面表示的底部区中。底部区可包括球面表示的第二圆形区域。映射第二矩形区域可包含将来自第二矩形区域的视频数据布置至第二圆形区域中。

顶部区可包含(例如)球面表示中高于球面表示的第一纬度的表面。作为另一实例,底部区可包含球面表示中低于球面表示的第二纬度的表面。在此实例中,第一纬度及第二纬度可与球面表示的中纬线等距。在一些实例中,纬度为与中纬线成45度。在一些实例中,纬度为大于或小于45度的度数。

在一些实例中,映射第一矩形区域及映射第二矩形区域包含选择球面表示上的点及确定视频帧中对应于所述点的像素位置。可使用用于将圆转换为正方形的映射(诸如圆方形映射、椭圆弧形映射或另一映射)来确定像素位置。这些映射可导致圆经压缩或变形成正方形。映射第一及第二矩形区域可进一步包含从像素位置对像素进行取样,及将经取样像素置放至球面表示上的点处。

在一些实例中,用于将圆转换为正方形的映射反演在第一矩形区域或第二矩形区域中的视频数据经扩展以填充第一矩形区域或第二矩形区域时所引起的失真。举例来说,通过将360度视频的球面表示的圆形区转换为矩形区,可用像素数据填充第一及第二矩形区域,其可导致像素的一些可见失真。通过将像素从矩形形状映射回至圆形形状,可去除失真。

在一些实例中,映射第一矩形区域及映射第二矩形区域进一步包含使用渐次曲线函数调整像素位置。举例来说,可在邻近于一或多个额外矩形区域中的至少一者的区域中的像素位置处使用渐次曲线函数。在这些实例中,在像素映射至球面表示时,可保持邻近于第一或第二矩形区域的像素与第一或第二矩形区域中的像素之间的连续转变。在一些实例中,渐次曲线函数针对第一矩形区域或第二矩形区域的中间区域较少地改变像素位置,且针对第一矩形区域或第二矩形区域的外部区域较多地改变像素位置。

在一些实施方案中,过程1100包含将视频帧的一或多个额外矩形区域映射至球面表示的中间区中。映射一或多个额外矩形区域可包含(例如)选择球面表示上的一点,及确定视频帧中对应于所述点的像素位置。可使用将三维球体转换为二维矩形的映射(诸如,等矩形投影、立方图投影或另一投影)来确定像素位置。映射一或多个额外矩形区域可进一步包含自像素位置对像素进行取样,及将经取样像素置放至球面表示上的点处。

在一些实例中,一或多个额外矩形区域包含可指定为左视图、正视图及右视图的区域。在这些实例中,指定为左视图的区域可邻近于指定为正视图的区域定位,且指定为右视图的区域也可邻近于正视图定位。在这些实例中,左视图、正视图及右视图可在视频帧中形成连续区域。

在一些实例中,所述一或多个额外矩形区域包含可指定为后视图的区域。在这些实例中,第一矩形区域可邻近于指定为后视图的区域,且第二矩形区域也可邻近于后视图。在这些实例中,第一矩形区域、后视图及第二矩形区域可在视频帧中形成连续区域。

在一些实例中,将第一矩形区域映射至顶部区中可包含将逐步调整应用于其中第一矩形区域邻近于另一矩形区域的区域。在这些实例中,视频帧中的像素位置可经移位,以便产生第一矩形区域与其它矩形区域之间的连续转变。通过在将像素从视频帧映射至球面表示时应用逐步调整,可将此连续转变保持于球面表示中。类似逐步调整也可应用于第二矩形区域。

在一些实例中,过程1000、1100可由诸如视频译码装置(例如,编码装置104及/或解码装置112)的计算装置或设备执行。视频译码装置可包含(例如)视频编码系统及/或视频解码系统。在一些情况下,计算装置或设备可包含处理器、微处理器、微计算机或经配置以进行过程1000、1100的步骤的装置的其它组件。在一些实例中,计算装置或设备可包含经配置以捕捉包含视频帧的视频数据(例如,视频序列)的相机。举例来说,计算装置可包含相机装置(例如,ip相机或其它类型的相机装置),所述相机装置可包含视频编码解码器。在一些实例中,相机或捕捉视频数据的其它捕捉装置与计算装置分离,在此情况下,计算装置接收所捕捉视频数据。计算装置可进一步包含经配置以传达视频数据的网络接口。网络接口可经配置以传达基于因特网协议(ip)的数据。

过程1000、1100经说明为逻辑流程图,其操作表示可以硬件、计算机指令或其组合实施的一系列操作。在计算机指令的上下文中,操作表示存储于一或多个计算机可读存储媒体上当通过一或多个处理器执行时执行所叙述的操作的计算机可执行指令。大体上,计算机可执行指令包含执行特定功能或实施特定数据类型的例行程序、程序、对象、组件、数据结构及其类似者。描述操作的次序并不意在被理解为限制,且任何数目个经描述操作可按任何次序及/或与实施过程并行地组合。

另外,过程1000、1100可在经配置有可执行指令的一或多个计算机系统的控制下执行且可经实施为通过硬件或其组合共同执行于一或多个处理器上的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所陈述,代码可存储于计算机可读或机器可读存储媒体上,例如,呈包括可由一或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。

通过相机(例如,超广角相机或其它一或多种适合的相机)捕捉的视频数据可经译码以减少发射及存储所需的数据的量。译码技术可在实例视频编码及解码系统中实施。在一些实例中,系统包含提供稍后待由目的地装置解码的经编码视频数据的源装置。确切地说,源装置经由计算机可读媒体将视频数据提供至目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(诸如,所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置或其类似者。在一些情况下,源装置及目的地装置可经装备以用于无线通信。

包含编码系统及/或解码系统的视频译码系统可用于编码及/或解码视频数据。实例视频编码及解码系统包含源装置,其提供稍后待由目的地装置解码的经编码视频数据。确切地说,源装置经由计算机可读媒体提供视频数据至目的地装置。源装置及目的地装置可包括广泛范围的装置中的任一者,包含台式计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(诸如所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式发射装置或类似者。在一些情况下,源装置及目的地装置可经装备以用于无线通信。

目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动至目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括通信媒体以使得源装置能够实时地将经编码视频数据直接发射至目的地装置。经编码视频数据可根据通信标准(诸如,无线通信协议)调制,且经发射至目的地装置。通信媒体可包括任何无线或有线通信媒体,诸如射频(rf)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(诸如,局域网、广域网或诸如因特网的全球网)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置至目的地装置的通信的任何其它装备。

在一些实例中,经编码数据可从输出接口输出至存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分散式或本地存取的数据存储媒体中的任一者,诸如,硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它适合的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式发射或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发射至目的地装置的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、ftp服务器、网络附加存储(nas)装置或本地磁盘驱动器。目的地装置可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。此可包含适用于存取存储于文件服务器上的经编码视频数据的无线通道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置的发射可为流式发射、下载发射或其组合。

本发明的技术不必限于无线应用或设置。所述技术可应用于支持多种多媒体应用中的任一者的视频译码,所述多媒体应用诸如空中电视广播、有线电视发射、卫星电视发射、诸如http动态自适应流式发射(dash)的因特网流式视频发射、经编码至数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射从而支持诸如视频流式发射、视频播放、视频广播及/或视频电话的应用。

在一个实例中,源装置包含视频源、视频编码器及输出接口。目的地装置可包含输入接口、视频解码器及显示装置。源装置的视频编码器可经配置以应用本文中所揭示的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(诸如,外部相机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成式显示装置。

以上实例系统仅为一个实例。用于并行处理视频数据的技术可由任何数字视频编码及/或解码装置来执行。尽管本发明的技术一般由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常被称作“编码解码器”)执行。此外,本发明的技术也可由视频预处理器执行。源装置及目的地装置仅为源装置产生经译码视频数据以供发射至目的地装置的此类译码装置的实例。在一些实例中,源装置及目的地装置可以基本上对称的方式操作,使得所述装置中的每一者包含视频编码及解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频流式发射、视频播放、视频广播或视频电话。

视频源可包含视频捕捉装置,诸如视频相机、含有先前捕捉的视频的视频存档及/或用以从视频内容提供者接收视频的视频馈入接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些情况下,如果视频源为视频相机,则源装置及目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频译码,且可适用于无线及/或有线应用。在每一情况下,可由视频编码器编码所捕捉、经预捕捉或计算机产生的视频。经编码视频信息接着可由输出接口输出至计算机可读媒体上。

如所提及,计算机可读媒体可包含暂态媒体,诸如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),诸如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(图中未展示)可从源装置接收经编码视频数据且例如经由网络发射将经编码视频数据提供至目的地装置。类似地,媒体生产设施(诸如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。

一般技术人员将了解,在不脱离本说明书的范围的情况下,本文中所使用的小于(“<”)及大于(“>”)符号或术语可分别用小于或等于(“≤”)及大于或等于(“≥”)符号替换。

编码装置104及解码装置112的特定细节分别展示于图12及图13中。图12为说明可实施本发明中所描述的技术中的一或多者的实例编码装置104的框图。编码装置104可(例如)产生本文中所描述的语法结构(例如,vps、sps、pps或其它语法元素的语法结构)。编码装置104可执行视频切片内的视频块的帧内预测及帧间预测译码。如先前所描述,帧内译码至少部分地依赖于空间预测以减少或移除给定视频帧或图片内的空间冗余。帧间译码至少部分地依赖于时间预测以减少或移除视频序列的相邻或周围帧内的时间冗余。帧内模式(i模式)可指若干基于空间的压缩模式中的任一者。帧间模式(诸如,单向预测(p模式)或双向预测(b模式))可指若干基于时间的压缩模式中的任一者。

编码装置104包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构建,编码装置104也包含逆量化单元58、逆变换处理单元60及求和器62。滤波器单元63意在表示一或多个回路滤波器,诸如解块滤波器、自适应回路滤波器(alf)及样本自适应偏移(sao)滤波器。虽然滤波器单元63在图12中展示为回路滤波器,但在其它配置中,滤波器单元63可实施为后回路滤波器。后处理装置57可对由编码装置104产生的经编码视频数据执行额外处理。本发明的技术可在一些情况下由编码装置104实施。然而,在其它情况下,本发明的技术中的一或多者可由后处理装置57实施。

如图12中所展示,编码装置104接收视频数据,且分割单元35将数据分割成视频块。分割也可包含分割成切片、切片片段、单元片或其它较大单元以及(例如)根据lcu及cu的四分树结构的视频块分割。编码装置104一般说明编码待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能划分成被称作单元片的视频块集合)。预测处理单元41可基于误差结果(例如,译码速率及失真等级,或其类似者)选择多个可能译码模式中的一者(诸如,多个帧内预测译码模式中的一者或多个帧间预测译码模式中的一者)以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供至求和器50以产生残余块数据且提供至求和器62以重构建经编码块以用作参考图片。

预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码的当前块在相同的帧或切片中的一或多个邻近块的帧内预测译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码,以提供时间压缩。

运动估计单元42可经配置以根据视频序列的预定图案来确定用于视频切片的帧间预测模式。预定图案可将序列中的视频切片指定为p切片、b切片或gpb切片。运动估计单元42及运动补偿单元44可高度集成,但出于概念目的而单独说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。运动向量(例如)可指示当前视频帧或图片内的视频块的预测单元(pu)相对于参考图片内的预测性块的移位。

预测性块为就像素差来说被发现紧密地匹配待译码的视频块的pu的块,所述像素差可由绝对差和(sad)、平方差和(ssd)或其它差度量确定。在一些实例中,编码装置104可计算存储于图片存储器64中的参考图片的次整数像素位置的值。举例来说,编码装置104可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。

运动估计单元42通过比较pu的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的pu的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送至熵编码单元56及运动补偿单元44。

由运动补偿单元44执行的运动补偿可涉及基于由运动估计(可能执行内插至子像素精确度)确定的运动向量而提取或产生预测性块。在接收到当前视频块的pu的运动向量之后,运动补偿单元44可在参考图片列表中定位运动向量所指向的预测性块。编码装置104通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差形成用于块的残余数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44也可产生与视频块及视频切片相关联的语法元素,以供解码装置112用于解码视频切片的视频块。

如上文所描述,作为由运动估计单元42及运动补偿单元44所执行的帧间预测的替代,帧内预测处理单元46可对当前块进行帧内预测。确切地说,帧内预测处理单元46可确定帧内预测模式以用以编码当前块。在一些实例中,帧内预测处理单元46可例如在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测处理单元46(或一些实例中的模式选择单元40)可从所测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测处理单元46可使用对各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且可在所测试模式间选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可根据各种经编码块的失真及速率计算比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。

在任何情况下,在选择用于块的帧内预测模式后,帧内预测处理单元46可将指示用于块的所选帧内预测模式的信息提供至熵编码单元56。熵编码单元56可编码指示所选帧内预测模式的信息。编码装置104可将各种块的编码上下文的定义以及待用于上下文中的每一者的最可能的帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示包含于所发射的位流配置数据中。位流配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表)。

在预测处理单元41经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,编码装置104通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个tu中且被应用于变换处理单元52。变换处理单元52使用诸如离散余弦变换(dct)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换至变换域(诸如,频域)。

变换处理单元52可将所得变换系数发送至量化单元54。量化单元54量化变换系数以进一步减少位率。量化过程可减小与系数中的一些或所有相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。

在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应性二进制算术译码(sbac)、机率区间分割熵(pipe)译码或另一熵编码技术。在由熵编码单元56进行熵编码之后,经编码位流可发射至解码装置112,或经存档以供稍后由解码装置112发射或检索。熵编码单元56也可对正经译码的当前视频切片的运动向量及其它语法元素进行熵编码。

逆量化单元58及逆变换处理单元60分别应用逆量化及逆变换以重构建像素域中的残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加至参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重构建残余块以计算次整数像素值以用于运动估计。求和器62将经重构建残余块添加至由运动补偿单元44产生的经运动补偿的预测块以产生用于存储于图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。

以此方式,图12的编码装置104表示经配置以产生经编码视频位流的语法的视频编码器的实例。编码装置104可(例如)产生如上文所描述的vps、sps及pps参数集。编码装置104可执行本文中所描述的技术中的任一者,包含上文所描述的过程。本发明的技术已大体上关于编码装置104加以描述,但如上文所提及,本发明的技术中的一些也可通过后处理装置57实施。

图13为说明实例解码装置112的框图。解码装置112包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91及图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,解码装置112可执行大体上与关于来自图12的编码装置104描述的编码遍次互逆的解码遍次。

在解码过程期间,解码装置112接收表示由编码装置104发送的经编码视频切片的视频块及相关联语法元素的经编码视频位流。在一些实施例中,解码装置112可从编码装置104接收经编码视频位流。在一些实施例中,解码装置112可从网络实体79(诸如,服务器、媒体感知网络元件(mane)、视频编辑器/编接器或经配置以实施上文所描述的技术中的一或多者的其它此类装置)接收经编码视频位流。网络实体79可或可不包编码装置104。在网络实体79将经编码视频位流发射至解码装置112之前,本发明中所描述的技术中的一些可由网络实体79实施。在一些视频解码系统中,网络实体79及解码装置112可为独立装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置112的同一装置执行。

解码装置112的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转递至预测处理单元81。解码装置112可以视频切片级别及/或视频块级别接收语法元素。熵解码单元80可处理并剖析诸如vps、sps及pps的一或多个参数集中的固定长度语法元素及可变长度语法元素两者。

当视频切片经译码为经帧内译码(i)切片时,预测处理单元81的帧内预测处理单元84可基于用信号表示的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,b、p或gpb)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素而产生用于当前视频切片的视频块的预测性块。预测性块可从参考图片列表内的参考图片中的一者产生。解码装置112可基于存储于图片存储器92中的参考图片使用默认构建技术来构建参考帧列表(列表0及列表1)。

运动补偿单元82通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,并使用所述预测信息产生正经解码的当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素来确定用以对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,b切片、p切片或gpb切片)、切片的一或多个参考图片列表的构建信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。

运动补偿单元82也可执行基于内插滤波器的内插。运动补偿单元82可使用如在视频块的编码期间由编码装置104使用的内插滤波器来计算参考块的次整数像素的内插值。在此情况下,运动补偿单元82可从接收到的语法元素确定由编码装置104使用的内插滤波器,且可使用内插滤波器来产生预测性块。

逆量化单元86逆量化或解量化位流中所提供且由熵解码单元80解码的经量化变换系数。逆量化过程可包含使用由编码装置104针对视频切片中的每一视频块计算的量化参数来确定量化程度及同样应所述应用的逆量化程度。逆变换处理单元88将逆变换(例如,逆dct或其它适合的逆变换)、逆整数变换或概念上类似的逆变换过程应用于变换系数以便在像素域中产生残余块。

在运动补偿单元82基于运动向量及其它语法元素而产生当前视频块的预测性块之后,解码装置112通过将来自逆变换处理单元88的残余块与由运动补偿单元82产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。如果需要,也可使用回路滤波器(在译码回路中或在译码回路后)以使像素转变平滑,或以其它方式改进视频质量。滤波器单元91意在表示一或多个回路滤波器,诸如,解块滤波器、自适应回路滤波器(alf)及样本自适应偏移(sao)滤波器。虽然滤波器单元91在图13中展示为回路滤波器,但在其它配置中,滤波器单元91可实施为后回路滤波器。给定帧或图片中的经解码视频块随后存储于图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92也存储经解码视频以便稍后呈现于显示装置上。

在前述描述中,参考申请案的特定实施例描述申请案的方面,但本领域的技术人员将认识到本发明不限于此。因此,尽管本文中已详细描述申请案的说明性实施例,但应理解,本发明概念可以其它方式不同地体现并使用,且所附权利要求书意在解释为包含除先前技术所限制外的这些变化。上文所描述的发明的各种特征及方面可单独地或联合地使用。另外,实施例可用于超出本文所描述的那些环境及应用的任何数目个环境及应用,而不脱离本说明书的更广精神及范围。因此,本说明书及图式被视为说明性而非限定性的。出于说明的目的,以特定次序描述方法。应了解,在替代实施例中,可以与所描述的次序不同的次序来执行所述方法。

在组件被描述为“经配置以”执行某些操作的情况下,可(例如)通过设计电子电路或其它硬件以执行操作、通过对可编程电子电路(例如,微处理器或其它适合的电子电路)进行编程以执行操作或其任何组合来实现此配置。

结合本文所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可被实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件与软件的此可互换性,各种说明性组件、块、模块、电路及步骤已在上文大体按其功能性加以描述。此功能性实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。本领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但不应将这些实施决策解释为导致脱离本发明的范围。

本文中所描述的技术也可以电子硬件、计算机软件、固件或其任何组合来实施。这些技术可实施于多种装置中的任一者中,诸如,通用计算机、无线通信装置手持机或具有多种用途(包含在无线通信装置手持机及其它装置中的应用)的集成电路装置。可将描述为模块或组件的任何特征共同实施于集成式逻辑装置中或分开实施为离散但可互操作的逻辑装置。如果以软件予以实施,则所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体实现,所述程序代码包含在执行时执行上文所描述的方法中的一或多者的指令。计算机可读数据存储媒体可形成计算机程序产品的部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,诸如,随机存取存储器(ram),诸如,同步动态随机存取存储器(sdram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪存储器、磁性或光学数据存储媒体及其类似者。另外或替代地,所述技术可至少部分地由计算机可读通信媒体实现,所述计算机可读通信媒体载送或传达呈指令或数据结构的形式且可由计算机存取、读取及/或执行的程序代码,诸如,传播的信号或波。

程序代码可由可包含一或多个处理器的处理器执行,诸如,一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可经实施为计算装置的组合,例如,dsp与微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、前述结构的任何组合或适合于实施本文中所描述的技术的任何其它结构或设备。此外,在一些方面中,本文中描述的功能性可提供于经配置用于编码及解码的专用软件模块或硬件模块内,或并入于组合的视频编码器-解码器(编码解码器)中。

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