360度视频捕获与回放的制作方法

文档序号:14256694阅读:290来源:国知局

相关申请案的交叉参考

本申请案依据35u.s.c.§119主张来自以下美国临时专利申请案的优先权益:2016年5月19日申请的标题为“360度视频捕获与回放(360degreevideocaptureandplayback)”的第62/339,040号美国临时专利申请案;2016年10月14日申请的标题为“视频译码与自适应投影格式(videocodingwithadaptiveprojectionformat)”的第62/408,652号美国临时专利申请案;及2016年11月4日申请的标题为“360度视频内的建议视图(suggestedviewswithin360degreevideo)”的第62/418,066号美国临时专利申请案,所述美国临时专利申请案的公开内容在此出于所有目的以全文引用方式并入。

本发明涉及视频捕获与回放,且更特定来说,涉及360度视频捕获、处理及回放。



背景技术:

360度视频(360degreevideo)(也称为360度视频(360degreevideos))、沉浸式视频及/或球形视频是真实世界全景的视频纪录,其中同时记录每个方向上的视图,使用全向相机或相机集合进行拍摄。在回放期间,观看者能够控制视野(fov)角度及观看方向(虚拟现实形式)。



技术实现要素:

一方面,本发明涉及一种系统,其包括:视频捕获装置,其经配置以捕获360度视频;拼接装置,其经配置以:使用输入图片坐标系统与360度视频捕获坐标系统之间的中间坐标系统拼接所述捕获到的360度视频;及编码装置,其经配置以:将所述经拼接360度视频编码成360度视频位流;且针对发射及存储,准备所述360度视频位流以供回放。

另一方面,本发明涉及一种系统,其包括:视频捕获装置,其经配置以捕获360度视频;拼接装置,其经配置以使用投影格式决定将所述捕获到的360度视频拼接成至少两种不同投影格式;及编码装置,其经配置以:将所述经拼接360度视频编码成360度视频位流,所述360度视频位流包含指示所述至少两种不同投影格式的信令;及针对发射,准备所述360度视频位流以供回放。

另一方面,本发明涉及一种系统,其包括:视频捕获装置,其经配置以捕获360度视频;拼接装置,其经配置以用多个视角拼接所述捕获到的360度视频;编码装置,其经配置以将所述经拼接360度视频编码成360度视频位流;解码装置,其经配置以解码与所述多个视角相关联的所述360度视频位流;及呈现装置,其经配置以使用所述多个视角中的一或多个建议视角呈现所述经解码位流。

附图说明

在所附权利要求书中陈述本技术的某些特征。然而,出于解释目的,在附图中陈述本技术的一或多个实施方案。

图1说明根据一或多个实施方案的可在其中实施360度视频捕获与回放的实例网络环境。

图2概念地说明等距柱状投影格式的实例。

图3概念地说明等距柱状投影与地球地图的实例。

图4概念地说明360度视频与等距柱状投影的实例。

图5概念地说明等距柱状投影布局中的360度图像的实例。

图6概念地说明六面立方体的实例定义。

图7概念地说明立方体投影格式的实例。

图8概念地说明立方体投影布局中的360度图像的实例。

图9概念地说明由视野角度确定的归一化投影平面大小的实例。

图10概念地说明观看方向角度的实例。

图11说明输出呈现图片与输入360度视频图片之间的坐标映射的示意图。

图12概念地说明使用等距柱状投影格式将归一化呈现坐标系统中的点映射到归一化投影坐标系统的实例。

图13概念地说明使用立方体投影格式将归一化呈现坐标系统中的点映射到归一化投影坐标系统的实例。

图14概念地说明经投影用于360度视频呈现的输入360度视频图片的样本的二维布局1400的实例。

图15概念地说明捕获坐标系统与360度视频投影坐标系统之间的全局旋转角度的实例。

图16概念地说明呈等距柱状格式的替代360度视图投影的实例。

图17说明用360度视频投影坐标系统修改的坐标映射过程的实例的示意图。

图18说明使用六视图布局格式的360度视频捕获与回放系统的实例的示意图。

图19说明使用两视图布局格式的360度视频捕获与回放系统的实例的示意图。

图20说明使用两视图布局格式(其中一个视图序列用于呈现)的360度视频捕获与回放系统的实例的示意图。

图21概念地说明多个立方体投影格式布局的实例。

图22概念地说明无限制运动补偿的实例。

图23概念地说明多个360度视频投影格式布局的实例。

图24概念地说明扩展无限制运动补偿的实例。

图25说明360度视频捕获与回放系统的另一实例的示意图。

图26概念地说明立方体投影格式的实例。

图27概念地说明鱼眼投影格式的实例。

图28概念地说明二十面体投影格式的实例。

图29说明呈多种投影格式的360度视频的实例的示意图。

图30说明具有自适应投影格式的360度视频捕获与回放系统的实例的示意图。

图31说明具有自适应投影格式的360度视频捕获与回放系统的另一实例的示意图。

图32说明投影格式决定的实例的示意图。

图33概念地说明排除跨越投影格式转变边界的帧间预测的投影格式转变的实例。

图34概念地说明具有跨越投影格式转变边界的帧间预测的投影格式转变的实例。

图35说明根据一或多个实施方案的可在其中实施360度视频内的建议视图的实例网络环境3500。

图36概念地说明等距柱状及立方体投影的实例。

图37概念地说明360度视频呈现的实例。

图38说明用建议视角进行提取及呈现的示意图。

图39概念地说明电子系统,可用所述电子系统实施本技术的一或多个实施方案。

经包含以提供对本技术的进一步理解且被并入于本说明书中且构成本说明书的一部分的随附附录说明本技术的各方面,且与描述一起用于解释本技术的原理。

具体实施方式

希望下文陈述的详细描述作为本技术的各种配置的描述,且不希望仅表示本技术可被实践于其中的配置。附图并入于本文中且构成详细描述的一部分。出于提供对本技术的彻底理解的目的,详细描述包含具体细节。然而,所属领域的技术人员应清楚且明白,本技术不限于本文中陈述的具体细节,且可使用一或多个实施方案来实践。在一或多个例子中,以框图形式展示众所周知的结构及组件以便避免使本技术的概念模糊。

在360度视频捕获与回放的系统中,360度视频可被捕获、拼接、编码、存储或发射、解码、呈现及回放。在一或多个实施方案中,拼接装置可经配置以使用输入图片坐标系统与捕获坐标系统之间的中间坐标系统拼接所述360度视频。在一或多个实施方案中,所述拼接装置可经配置以使用投影格式决定将所述360度视频拼接成至少两种不同投影格式,且编码装置可经配置以用指示所述至少两种不同投影格式的信令对所述经拼接360度视频进行编码。在一或多个实施方案中,所述拼接装置可经配置以用多种视角拼接所述360度视频,且呈现装置可经配置以使用一或多个建议视角呈现经解码位流。

在本系统中,可与360度视频内容一起发信号通知默认(推荐)观看方向角度、fov角度及/或呈现图片大小的系统消息。360度视频回放装置(未展示)可照原样保持呈现图片大小,但有目的地减小有源呈现面积以降低呈现复杂度及存储器带宽要求。360度视频回放装置可就在回放终止或切换到其它程序通道之前存储360度视频呈现设置(例如,fov角度、观看方向角度、呈现图片大小等等),使得可在相同通道的回放恢复时使用所存储的呈现设置。360度视频回放装置可提供预览模式,其中视角可每隔n个帧自动改变以帮助观看者选择合意观看方向。360度视频捕获与回放装置可实时(例如,逐块)计算投影图以节省存储器带宽。在此例子中,可能不能从芯片外存储器加载投影图。在本系统中,不同视图保真度信息可被分配到不同视图。

图1说明根据一或多个实施方案的可在其中实施360度视频捕获与回放的实例网络环境100。然而,可能不会使用所描绘的全部组件,且一或多个实施方案可包含图中未展示的额外组件。可在不背离如本文所陈述的权利要求书的精神或范围的情况下,对组件的布置及类型作出改变。可提供额外组件、不同组件或更少组件。

实例网络环境100包含360度视频捕获装置102、360度视频拼接装置104、视频编码装置106、发射链路或存储媒体、视频解码装置108及360度视频呈现装置110。在一或多个实施方案中,装置102、104、106、108、110中的一或多者可被组合到同一物理装置中。举例来说,360度视频捕获装置102、306度视频拼接装置104及视频编码装置106可被组合到单个装置中,且视频解码装置108及360度视频呈现装置110可被组合到单个装置中。在一些方面中,网络环境100可包含存储装置114,其存储经编码360度视频(例如将360度视频存储于dvd、蓝光、云端或网关/机顶盒处的数字视频记录等等上),且接着在显示器装置(例如,112)上回放。

网络环境100可进一步包含360度视频投影格式转换装置(未展示),其可在视频编码装置106进行视频编码之前及/或在视频解码装置108进行视频解码之后执行360度视频投影格式转换。网络环境100还可包含插入在视频解码装置108与360视频呈现装置110之间的360度视频投影格式转换装置(未展示)。在一或多个实施方案中,视频编码装置106可经由发射链路(例如通过网络)通信地耦合到视频解码装置108。

在本系统中,360度视频拼接装置104可利用额外坐标系统,所述额外坐标系统在将捕获到的360度视频投影到2d输入图片坐标系统以进行存储或发射时在360度视频捕获侧上提供更多自由度。360度视频拼接装置104还可支持多种投影格式以进行360度视频存储、压缩、发射、解码、呈现等等。举例来说,视频拼接装置104可移除由相机装备捕获到的重叠区,并输出例如各自覆盖90°×90°视口的六个视图序列。360度视频投影格式转换装置(未展示)可将输入360度视频投影格式(例如,立方体投影格式)转换到输出360度视频投影格式(例如,等距柱状格式)。

视频编码装置106可最小化合成图片中的空间不连续性(即,面边界的数目)以进行更佳空间预测,从而优化视频压缩中的压缩效率。例如对于立方体投影,优选布局应在合成的360度视频图片内具有最小化数目个面边界,例如,4个。视频编码装置106可实施无限制运动补偿(umc)以优化压缩效率。

在本系统中,360度视频呈现装置110可从亮度预测图导出色度投影图。360度视频呈现装置110还可选择呈现图片大小以最大化显示器视频质量。360度视频呈现装置110还可共同选择水平fov角度α及竖直fov角度β以最小化呈现失真。360度视频呈现装置110还可控制fov角度以实现受制于可用存储器带宽预算的实时360度视频呈现。

在图1中,360度视频由相机装备捕获,且被拼接在一起成等距柱状格式。接着,视频可被压缩成任何合适的视频压缩格式(例如,mpeg/itu-tavc/h.264、hevc/h.265、vp9等等)且经由发射链路(例如,电缆、卫星、地面、因特网流式传输等等)发射。在接收器侧,视频经解码(例如,108)且以等距柱状格式存储,接着,根据观看方向角度及视野(fov)角度呈现(例如,110),且被显示(例如,112)。在本系统中,终端用户能够控制fov角度及观看方向角度以便以合意的视角观看视频。

坐标系统

存在适用于本技术的多个坐标系统,其包含但不限于:

●(x,y,z)–3d360度视频捕获(相机)坐标系统

●(x’,y’,z’)–3d360度视频观看坐标系统

●(xp,yp)–2d归一化投影坐标系统,其中xp∈[0.0:1.0]且yp∈[0.0:1.0]。

●(xp,yp)–2d输入图片坐标系统,其中xp∈[0:inputpicwidth-1],且yp∈[0:inputpicheight-1],其中inputpicwidth×inputpicheight是颜色分量(例如,y、u或v)的输入图片大小。

●(xc,yc)–2d归一化呈现坐标系统,其中xc∈[0.0:1.0],且yc∈[0.0:1.0]。

●(xc,yc)–2d输出呈现图片坐标系统,其中xc∈[0:renderingpicwidth-1],且yc∈[0:renderingpicheight-1],其中picwidth×picheight是颜色分量(例如,y、u或v)的输出呈现图片大小。

●(xr,yr,zr)–3d360度视频投影坐标系统

图2概念地说明等距柱状投影格式200的实例。等距柱状投影格式200表示映射计算机图形中的球体的一种标准纹理方式。其还可称为等距圆柱形投影、地理投影、板块方块(platecarré)或地图平行四边形(carteparallelogrammatique)。如图2中展示,为将球体表面点p(x,y,z)(例如,202)投影到归一化投影坐标系统(例如,204)中的样本p′(xp,yp),根据方程式1计算p(x,y,z)的经度ω及纬度

其中ω∈[-π:π],且π是圆的圆周与其直径的比,通常近似为3.1415926。

可如方程式2中那样定义等距柱状投影格式200:

其中xp∈[0.0:1.0]且yp∈[0.0:1.0]。(xp,yp)是归一化投影坐标系统中的坐标。

图3概念地说明等距柱状投影布局300与地球地图的实例。在等距柱状投影布局300中,图片仅沿着赤道具有1:1映射,且伸展到其它地方。在球体(例如,302)的北极及南极处发生最大映射失真,其中单个点可被映射到等距柱状投影图片(例如,304)上的样本线,从而使用等距柱状投影布局300导致合成的360度视频中的大量冗余数据。

图4概念地说明360度视频与等距柱状投影布局400的实例。为利用其中采用单层视频编码解码器的现存基础设施进行视频传送,由多个相机以不同角度捕获到的360度视频片段(例如,402)通常被拼接并合成为存储于等距柱状投影布局中的单个视频序列。如图4中所展示,在等距柱状投影布局400中,360度视频的左、前及右视频片段被投影于图片的中间,后视频片段被平均分割且放置于图片的左侧及右侧;上及下视频片段分别被放置于图片(例如,404)的顶部及底部。所有视频片段被拉伸,其中上及下视频片段被拉伸最多。图5概念地说明等距柱状投影布局中的360度视频图像的实例。

立方体投影

图6概念地说明六面立方体600的实例定义。存储360度视图的另一常见投影格式是将视频片段投影到立方体面。如图6中所展示,立方体的六个面被命名为前、后、左、右、上及下。

图7概念地说明立方体投影格式700的实例。在图7中,立方体投影格式700包含将球体表面点p(x,y,z)映射到六个立方体面中的一者(例如,702),其中计算立方体面id及归一化立方体投影坐标系统中的坐标(xp,yp)(例如,704)。

图8概念地说明立方体投影布局800中的360度视频图像的实例。在表1中描述立方体投影的投影规则,其中提供用于将球体表面点p(x,y,z)映射到立方体面的伪码。

表1:用于立方体投影映射的伪码

if(z>0&&(-z≤y≤z)&&(-z≤x≤z))

elseif(z<0&&(z≤y≤-z)&&(z≤x≤-z))

elseif(x>0&&(-x≤y≤x)&&(-x≤z≤x))

elseif(x<0&&(x≤y≤-x)&&(x≤z≤-x))

elseif(y>0&&(-y≤x≤y)&&(-y≤z≤y))

elseif(y<0&&(y≤x≤-y)&&(y≤z≤-y))

视野(fov)及观看方向角度

为显示360度视频,需要投影并呈现每一360度视频图片的部分。视野(fov)角度定义显示360度视频图片的多大部分,而观看方向角度定义展示360度视频图片中的哪一部分。

为显示360度视频,想象一下,视频被映射于单一球体表面上,坐在球体的中心点处的观看者能够观看矩形屏幕,且屏幕具有定位于球体表面上的其四个拐角。此处,(x’,y’,z’)被称为360视图观看坐标系统,且(xc,yc)被称为归一化呈现坐标系统。

图9概念地说明由视野角度确定的归一化投影平面大小900的实例。如图9中所展示,在观看坐标系统(x’,y’,z’)中,投影平面(即,矩形屏幕)的中心点定位于z’轴上,且平行于x’y’平面。因此,可由以下计算投影平面大小wxh及其到球体的中心的距离d:

其中且α∈(0:π]是水平fov角度,且β∈(0:π]是竖直fov角度。

图10概念地说明观看方向角度1000的实例。观看方向由3d观看坐标系统(x’,y’,z’)相对于3d捕获坐标系统(x,y,z)的旋转角度定义。如图10中所展示,观看方向由沿着y轴的顺时针旋转角度θ(例如,1002,侧倾)、沿着x轴的逆时针旋转角度γ(例如,1004,纵倾)及沿着z轴的逆时针旋转角度ε(例如,1006,侧滚)指定。

(x,y,z)与(x’,y’,z’)坐标系统之间的坐标映射被定义为:

即,

方程式4

图11说明输出呈现图片与输入图片之间的坐标映射1100的示意图。使用上文定义的fov及观看方向角度,可建立输出呈现图片坐标系统(xc,yc)(即,用于显示的呈现图片)与输入图片坐标系统(xp,yp)(即,输入360度视频图片)之间的坐标映射。如图11中所展示,给定呈现图片中的样本点(xc,yc),输入图片中的对应样本点(xp,yp)的坐标可通过以下步骤导出:

●基于fov角度(α,β)计算归一化投影平面大小及到球体中心的距离(即,方程式3);基于观看方向角度(∈,θ,γ)计算观看与捕获坐标系统之间的坐标变换矩阵(即,方程式4)

●基于呈现图片大小及归一化投影平面大小将(xc,yc)归一化。

●将归一化呈现坐标系统中的坐标(xc,yc)映射到3d观看坐标系统(x′,y′,z′)。

●将坐标转换到3d捕获坐标系统(x,y,z)

●导出归一化投影坐标系统中的坐标(xp,yp)

●基于输入图片大小及投影布局格式将导出的坐标转换到输入图片中的整数位置。

图12概念地说明使用等距柱状投影格式1200将归一化呈现坐标系统(例如,p(xc,yc))中的点映射到归一化投影坐标系统(例如,p′(xp,yp))的实例。

在一或多个实施方案中,执行从等距柱状输入格式的投影。举例来说,如果输入图片呈等距柱状投影格式,那么以下步骤可适用于将呈现图片中的样本点(xc,yc)映射到输入图片中的样本点(xp,yp)。

●基于fov角度计算归一化显示器投影平面大小:

其中

●将(xc,yc)映射到归一化呈现坐标系统中:

●计算(x’,y’,z’)观看坐标系统中的p(xc,yc)的坐标:

●基于观看方向角度将坐标(x’,y’,z’)转换到(x,y,z)捕获坐标系统中:

●将p(x,y,z)投影到归一化投影坐标系统p’(xp,yp)上:

●将p’(xp,yp)映射到输入图片(等距柱状)坐标系统(xp,yp)上

其中:

●α、β是fov角度,且ε、θ、γ是观看方向角度。

●renderingpicwidth×renderingpicheight是呈现图片大小

●inputpicwidth×inputpicheight是输入图片大小(呈等距柱状投影格式)

图13概念地说明使用立方体投影格式1300将归一化呈现坐标系统(例如,p(xc,yc))中的点映射到归一化投影坐标系统(例如,p′(xp,yp))的实例。

在一或多个实施方案中,执行从立方体投影输入格式的投影。举例来说,如果输入图片呈立方体投影格式,那么以下类似步骤适用于将呈现图片中的样本点(xc,yc)映射到输入图片中的样本点(xp,yp)。

●基于fov角度计算归一化显示器投影平面大小:

其中

●将(xc,yc)映射到归一化呈现坐标系统中:

●计算(x’,y’,z’)观看坐标系统中的p(xc,yc)的坐标

●基于观看方向角度将坐标(x’,y’,z’)转换到(x,y,z)捕获坐标系统中:

●基于表1中定义的伪码将p(x,y,z)投影到归一化立方体坐标系统p’(xp,yp)上。

●将p’(xp,yp)映射到输入立方体坐标系统(xp,yp)上(假定所有立方体面都具有相同分辨率)

其中:

●α、β是fov角度,且ε、θ、γ是观看方向角度。

●renderingpicwidth×renderingpicheight是呈现图片大小

●inputpicwidth×inputpicheight是输入图片大小(呈立方体投影格式)

●{(xoffset[faceid],yoffset[facid])|faceid=前、后、左、右、上及下}是输入立方体投影坐标系统中的立方体面的坐标偏移。

对于图13中描绘的立方体投影布局,面id按以下顺序存取坐标偏移阵列:前、后、左、右、上,接着是下。

样本呈现以显示

在360度视频投影显示中,输入360度视频图片(例如,呈等距柱状格式或立方体投影格式)中的多个样本可投影到呈现图片中的同一整数位置(xc,yc)。为具有平滑呈现,不仅是整数像素位置,而且呈现图片中的其子像素位置也经投影以找出输入图片中的对应样本。

图14概念地说明经投影以进行360度视频呈现的输入360视频图片的样本的二维布局1400的实例。如图14中所展示,如果投影精度在水平方向上是子像素且在竖直方向上是子像素,那么在位置(xc,yc)处的呈现图片的样本值可由以下呈现:

其中:

●(xp,yp)=mapping_func(xc,yc)是从呈现图片到上文章节中定义的输入360视频图片(例如,w/等距柱状投影或立方体投影格式)的坐标映射函数。

●inputimg[xp,yp]是输入图片中的位置(xp,yp)处的样本值。

●renderingimg[xc,yc]是输出呈现图片中的位置(xc,yc)处的样本值。

代替实时计算输出呈现坐标系统(xc,yc)与输入图片坐标系统(xp,yp)之间的坐标映射,坐标映射还可被预先计算,且被存储为整个呈现图片的投影图。因为观看方向及fov角度可能不会根据图片的不同而改变,所以预先计算的投影图可通过呈现多个图片来共享。

假设projectmap[n*xc+j,m*yc+i]是预先计算的投影图,其中xc=0、1、…、renderingpicwidth-1,yc=0、1、…、renderingpicheight-1,j=0、1、…、n-1,且i=0、1、…、m-1。针对呈现图片中的子像素位置投影图中的每一项存储输入图片坐标系统的预先计算的坐标值(xp,yp)。呈现可被写为:

图片可具有多种颜色分量,例如yuv、ycbcr、rgb。上述呈现过程可独立适用于颜色分量。

图15概念地说明捕获坐标系统与360度视频投影坐标系统之间的全局旋转角度1500的实例。代替在360度视频捕获与拼接过程中将360度视频从3d360度视频捕获坐标系统(x,y,z)直接映射到输入图片坐标系统(xp,yp),我们介绍命名为3d360度视频投影坐标系统(xr,yr,zr)的额外坐标系统。(xr,yr,zr)与(x,y,z)之间的关系由沿着如图15中展示的z、y、x轴的逆时针旋转角度指定。两个系统之间的坐标变换被定义为:

在一或多个实施方案中,方程式8可被重写为方程式9:

图16概念地说明呈等距柱状投影格式的替代360度视图投影1600的实例。当将捕获到的360度视频投影到2d输入图片坐标系统以进行存储或发射时,额外坐标系统(xr,yr,zr)在360度视频捕获侧上提供更多自由度。采用等距柱状投影格式作为实例,有时,可期望将前及后视图投影到南极及北极,如图16中所展示,而非图4中展示的上及下视图。因为在等距柱状投影中,球体的南极及北极周围的数据被较佳地保存,从而允许替代布局(例如图16中展示的布局)可在某些环境下潜在地提供益处(例如更佳压缩效率)。

因为可将360度视频数据从3d坐标系统(xr,yr,zr)(而非(x,y,z))投影到输入图片坐标系统,所以在将360度视频数据投影到输入图片坐标系统之前,在图2以及图7中需要基于方程式9将坐标(x,y,z)转换到(xr,yr,zr)的额外步骤。因此,应用(xr,yr,zr)取代方程式1、方程式5中及表1中的(x,y,z)。

图17说明用360度视频投影坐标系统修改的坐标映射过程的实例的示意图。因此,可如图17中所说明那样修改从输出呈现图片坐标系统(xc,yc)到输入图片坐标系统(xp,yp)的坐标映射。坐标变换矩阵的计算通过考虑观看方向角度(∈,θ,γ)与全局旋转角度两者来修改。通过级联方程式9与方程式4,可通过以下方程式将坐标从观看坐标系统(x′,y′,z′)直接转换到3d360度视频投影坐标系统(xr,yr,zr):

在一或多个实施方案中,3×3坐标变换矩阵可使用上文的方程式预先计算。

图17说明用360度视频投影坐标系统(例如,(xr,yr,zr))修改的坐标映射过程的实例的示意图。在图17中,可通过任何合适的方式在系统中发信号通知全局旋转角度举例来说,定义视频元素位流中携载的sei(辅助增强信息)消息,例如avcsei或hevcsei消息。此外,还可指定及携载默认视图。

图18说明使用六视图布局格式的360度视频捕获与回放系统1800的实例的示意图。代替将360度视频合成到单个视图序列(例如图1中使用的等距柱状格式)中,360度视频捕获与回放系统可支持多个视图布局格式以进行360度视频存储、压缩、发射、解码、呈现等等。如图18中所展示,360度视频拼接块(例如,104)可仅仅移除由相机装备捕获到的重叠区,并输出例如各自覆盖90°×90°视口的六个视图序列(即,上、下、前、后、左、右)。序列可具有或可不具有相同分辨率,但被分离地压缩(例如,1802)及解压(例如,1804)。360度视频呈现引擎(例如,110)可采用多个序列作为输入,并呈现序列以在呈现控制件的帮助下显示。

图19说明使用两视图布局格式的360度视频捕获与回放系统的实例的示意图。在图19中,360度视频拼接块(例如,104)可生成例如两个视图序列,一者覆盖例如数据的上及下360°×30°,且另一者覆盖数据的前、后、左及右360°×120°。两个序列可具有不同分辨率以及不同投影布局格式。举例来说,前+后+左+右视图可使用等距柱状投影格式,而上+下视图可使用另一投影格式。在此特定实例中,使用两个编码器(例如,1902)及解码器(例如,1904)。360度视频呈现(例如,110)可呈现序列以通过采用两个序列作为输入来显示。

图20说明使用两视图布局格式(其中一个视图序列用于呈现)的360度视频捕获与回放系统2000的实例的示意图。多视图布局格式还可在360度视频呈现中提供可扩展呈现功能性。如图20中所展示,360度视频可选定不呈现视频的上或下30°部分(例如,2002、2004),此归因于呈现引擎(110)的有限能力,或如果上+下视图的位流包在发射期间丢失。

即使360度视频拼接块(例如,104)生成多个视图序列,单个视频编码器及解码器可能仍用于360度视频捕获与回放系统2000中。举例来说,如果360度视频拼接块(例如,104)的输出是六个720p@30(即,以30帧/秒的720p序列)视图序列,那么输出可被合成到单个720p@180序列(即,以180帧/秒的720p序列)中,且使用单个编码解码器压缩/解压。替代地,例如六个单独序列可由单个视频编码器及解码器例子压缩/解压,而无需通过时分单个编码器及解码器例子的可用处理资源将其合成到单个组合序列中。

图21概念地说明多个立方体投影格式布局的实例:(a)立方体投影原始布局;(b)不合意的立方体投影布局;及(c)优选的立方体投影布局的实例。传统视频压缩技术利用图片内的空间相关性。对于立方体投影,例如,如果上、下、前、后、左及右立方体面的投影序列被合成到单个视图序列中,那么不同立方体面布局可致使不同的压缩效率,即使是相同的360度视频数据。在一或多个实施方案中,立方体原始布局(a)不会在合成图片内创建不连续的面边界,但与另两者相比具有更大图片大小,且在灰色区中携载虚设数据。在一或多个实施方案中,布局(b)是不合意的布局中的一者,因为其在合成图片内具有最大数目个不连续的面边界(即,7个)。在一或多个实施方案中,布局(c)是优选的立方体投影布局中的一者,因为其具有最小数目个不连续的面边界4。图22的布局(c)中的面边界是左与上之间及右与后之间的水平面边界,及上与下之间及后与下之间的垂直面边界。在一些方面中,实验结果揭露布局(c)平均胜过布局(a)与(b)两者大致3%。

因此,对于立方体投影或其它多个面投影格式,一般来说,布局应最小化合成图片中的空间不连续性(即,不连续的面边界的数目),以进行更佳空间预测,且因此,优化视频压缩中的压缩效率。对于立方体投影,例如,优选布局在合成360度视频图片内具有数个不连续的面边界4。对于立方体投影格式,空间不连续性的进一步最小化可通过在布局中引入面旋转(即,90、180、270度)来实现。在一或多个方面中,在高级视频系统消息中发信息通知传入的360度视频的布局信息以进行压缩及呈现。

图22概念地说明无限制运动压缩2200的实例。无限制运动补偿(umc)是通常用于视频压缩标准以优化压缩效率的技术。如图22中所展示,在umc中,允许预测单元的参考块超过图片边界。对于参考图片外的参考像素ref[xp,yp],使用最近的图片边界像素。此处,参考像素的坐标(xp,yp)由当前预测单元(pu)的位置及运动向量确定,其可超过图片边界。

假设{refpic[xcp,ycp],xcp=0、1、...、inputpicwidth-1;ycp=0、1、...、inputpicheight-1}是参考图片样本矩阵,那么umc(依据参考块加载)被定义为:

refblk[xp,yp]=refpic[clip3(0,inputpicwidth-1,xp),clip3(0,inputpicheight-1,yp)]

方程式10,

其中剪切函数clip3(0,a,x)被定义为:

intclip3(0,a,x){if(x<0)return0;elseif(x>a)returna;elsereturnx}方程式11

图23概念地说明多个360度视频投影格式布局2300的实例。在一些方面中,360度视频投影格式布局2300包含(但不限于):(a)等距柱状投影布局;及(b)立方体投影原始布局。然而,在360度视频中,左及右图片边界可属于相同相机视图。同样地,上及下图片边界线可在物理空间中靠近彼此,尽管其在360度视频图片布局中远远隔开。图23描绘两个实例。在布局实例(a)中,左与右图片边界两者属于后视图。在布局实例(b)中,尽管左及右图片边界属于不同视图(即,左与后),但是那两个图片边界列在视频捕获期间实际上在物理上靠近彼此。因此,为优化360度视频的压缩效率,当参考像素在图片边界外而非用当前umc中定义的最近的图片边界像素填充时,允许以“环绕”方式加载参考块是有道理的。

在一或多个实施方案中,以下高级语法可启用扩展umc。

表2:扩展umc语法

应注意,需要发信号通知图片大小差(δw、δh),因为经译码图片大小inputpicwidthxinputpicheight通常须在两个方向上是8或16的倍数,而捕获到的图片可能不是,这可使捕获到的图片与经译码图片之间的图片大小不同。参考块环绕是沿着捕获到的图片而非经译码图片的图片边界。

在一或多个实施方案中,可取决于实施方案在序列标题或图片标题或两者中发信号通知表2的高级语义。

使用上文定义的语义,扩展umc可如下定义:

refblk[xp,yp]=refpic[xcp,ycp]方程式12,

其中(xcp,ycp)被计算为:

其中clip3()在方程式11中定义,且warparound3(0,a,x)被定义为:

intwraparound3(0,a,x){while(x<0)x+=a;while(x>a)x-=a;returnx;}方程式13

在当前视频压缩标准中,运动向量可超过具有大边限的图片边界。因此,包含方程式13中的“while”循环。为避免“while”循环,在下一代视频压缩标准中,可能会限制参考像素(针对运动补偿)可超出图片边界多少(例如,取决于下一代标准中定义的最大编码块大小,达64或128或256个像素等等)。在强加此约束之后,warparound3(0,a,x)可被简化为:

intwraparound3(0,a,x){if(x<0)x+=a;if(x>a)x-=a;returnx;}方程式14

图24概念地说明扩展无限制运动补偿2400的实例。在图24中,在水平方向上启用参考块环绕。代替用图片边界像素填充左图片边界外的参考块端口,加载沿着右(捕获到的)图片边界的“环绕”部分。

自适应投影格式

图25说明根据一或多个实施方案的可在其中实施360度视频捕获与回放的实例网络环境2500。然而,可能不会使用所描绘的全部组件,且一或多个实施方案可包含图中未展示的额外组件。可在不背离如本文所陈述的权利要求书的精神或范围的情况下,对组件的布置及类型作出改变。可提供额外组件、不同组件或更少组件。

实例网络环境2500包含360度视频捕获装置2502、360度视频拼接装置2504、视频编码装置2506、视频解码装置2508及360度视频呈现装置2510。在一或多个实施方案中,装置2502、2504、2506、2508、2510中的一或多者可被组合到同一物理装置中。举例来说,360度视频捕获装置2502、306度视频拼接装置2504及视频编码装置2506可被组合到单个装置中,且视频解码装置2508及360度视频呈现装置2510可被组合到单个装置中。

网络环境2500可进一步包含360度视频投影格式决定装置(未展示),其可在视频拼接装置2504进行视频拼接之前及/或在视频编码装置2506进行视频编码之后执行投影格式选择。网络环境2500还可包含360度视频回放装置(未展示),其回放所呈现的360度视频内容。在一或多个实施方案中,视频编码装置2506可经由发射链路(例如通过网络)通信地耦合到视频解码装置2508。

在本系统中,360度视频拼接装置2504可在360度视频捕获/压缩侧上利用360度视频投影格式决定装置(未展示)以决定哪一投影格式(例如,erp(等距柱状投影)、cmp(立方体投影)、isp(二十面体投影)等等)最佳适于当前视频分段(即,图片群组)或当前图片以实现最佳可能压缩效率。可基于由视频编码装置2506提供的编码统计(例如位速率的分布、跨越分段或图片的内部/内模式、视频质量测量等等)及/或从360度视频捕获装置2502获得的关于原始360度视频相机数据的原始数据统计(例如原始数据空间活动的分布等等)作出决定。一旦针对当前分段或图片选择了投影格式,那么360度视频拼接装置2504将视频拼接成所选择的投影格式,并将经拼接360度视频传送到视频编码装置2506以进行压缩。

在本系统中,可在经压缩360度视频位流中通过适当方式从视频编码装置2506发信号通知所选择的投影格式及相关联的投影格式参数(例如,投影格式id、投影布局中的面的数目、面大小、面坐标偏移、面旋转角度等等),例如在辅助增强信息消息(sei)中,在序列标题中,在图片标题中,等等。360度视频拼接装置2504可将360度视频拼接成由360度视频投影格式决定装置选择的不同投影格式,而非将360度视频拼接成单个且固定投影格式(例如,erp)。

在本系统中,360度视频拼接装置2504可利用额外坐标系统,所述坐标系统在将捕获到的360度视频投影到2d输入图片坐标系统以供存储或发射时在360度视频捕获侧上提供更多自由度。360度视频拼接装置2504还可支持多种投影格式以供360度视频存储、压缩、发射、解码、呈现等等。举例来说,视频拼接装置2504可移除由相机装备捕获到的重叠区,并输出例如各自覆盖90°×90°视口的六个视图序列。

视频编码装置2506可最小化合成图片中的空间不连续性(即,不连续的面边界的数目)以进行更佳空间预测,从而优化视频压缩中的压缩效率。对于立方体投影,例如,优选布局应在合成的360度视频图片内具有最小化数目个不连续的面边界,例如,4个。视频编码装置2506可实施umc以优化压缩效率。

在360度视频回放侧上,360度视频回放装置(未展示)可接收经压缩360度视频位流,并解压360度视频位流。360度视频回放装置可呈现在360度位流中发信号通知的不同投影格式的360度视频,而非呈现呈单个且固定投影格式(例如,erp)的视频。在这方面,360度视频呈现不仅由观看方向及fov角度控制,而且由从经压缩360度视频位流解码的投影格式信息控制。

在本系统中,可与360度视频内容一起发信号通知默认(推荐)观看方向(即,观看方向角度)、fov角度及/或呈现图片大小的系统消息。360度视频回放装置可照原样保持呈现图片大小,但有目的地减小有源呈现面积以减小呈现复杂度及存储器带宽要求。360度视频回放装置可就在回放终止或切换到其它程序通道之前存储360度视频呈现设置(例如,fov角度、观看方向角度、呈现图片大小等等),使得可在相同通道的回放恢复时使用所存储的呈现设置。360度视频回放装置可提供预览模式,其中视角可每隔n个帧自动改变以帮助观看者选择合意的观看方向。360度视频捕获与回放装置可实时(例如,逐块)计算投影图以保存存储器带宽。在此例子中,可能不能从芯片外存储器加载投影图。在本系统中,不同视图保真度信息可被分配到不同视图。

在图25中,视频由相机装备捕获,且被拼接在一起成等距柱状格式。接着,视频可被压缩成任何合适的视频压缩格式(例如,mpeg/itu-tavc/h.264、hevc/h.265、vp9等等)且经由发射链路(例如,电缆、卫星、地面、因特网流媒体等等)发射。在接收侧上,视频经解码且被存储成等距柱状格式,接着,根据观看方向角度及视野(fov)角度呈现,且被显示。在系统中,终端用户能够控制fov及观看方向角度以便以合意的视角观看360度视频的合意部分。

返回参考图2,为利用单层视频编码解码器用于其中的现存基础设施进行视频传送,由多个相机以不同角度捕获到的360度视频片段通常被拼接并合成为例如广泛使用的等距柱状投影格式的某一投影格式中存储的单个视频序列。

除了等距柱状投影格式(erp)外,存在许多可在2d矩形图像上表示360度视频帧的其它投影格式,例如立方体投影(cmp)、二十面体投影(isp)及鱼眼投影(fisheye)。

图26概念地说明立方体投影格式的实例。如图26中所展示,在cmp中,球体表面(例如,2602)经投影到六个立方体面(即,上、前、右、后、左及下)(例如,2604),每一面覆盖90×90度视野,且六个立方体面被合成到单个图像中。图27概念地说明鱼眼投影格式的实例。在鱼眼投影中,球体表面(例如,2702)被投影到两个循环(例如,2704、2706);每一循环覆盖180x180度视野。图28概念地说明二十面体投影格式的实例。在isp中,球体被映射到被合成到单个图像中的总共20个三角形。图29说明呈多种投影格式的360度视频2900的实例的示意图。举例来说,图29的布局(a)描绘erp投影格式(例如,2902),图29的布局(b)描绘cmp投影格式(例如,2904),图29的布局(c)描绘isp投影格式(例如,2906),且图29的布局(d)描绘fisheye投影格式(例如,2908)。

对于相同360度视频内容,不同投影格式可在视频用例如mpeg/ituavc/h.264或mpeg/itumpeghevc/h.265视频压缩标准压缩之后导致不同的压缩效率。表1提供针对十二个4k360度视频测试序列erp与cmp之间的bd速率差。psnr与bd速率差在cmp域中计算,其中负数意味着使用erp的更佳压缩效率,且正数意味着使用cmp的更佳压缩效率。表3用(例如)mpeg/itumpeghevc/h.265参考软件hm16.9说明关于erp相对于cmp的压缩效率的实验结果。

表3:erp相对于cmp的压缩效率

如表3中所展示,尽管在整体优化压缩效率中使用了erp结果,但是存在其它情况(例如,gt_shriff-left、timelapse_basejump),其中使用cmp导致更多正结果。因此,可期望能够时不时地改变投影格式以最佳拟合360度视频内容的特性,以便实现最佳可能压缩效率。

图30说明具有自适应投影格式的360度视频捕获与回放系统3000的实例的示意图。为最大化360度视频的压缩效率,可实施可将360度视频压缩成混合式投影格式的自适应方法。如图30中所展示,在360度视频捕获/压缩侧上采用投影格式决定块(例如,3002)以决定哪一投影格式(例如,erp、cmp、isp等等)最佳适于当前视频分段(即,图片群组)或当前图片以实现最佳可能压缩效率。可基于由视频编码器(例如,2506)提供的编码统计(例如,位速率的分布、跨越分段或图片的内部/内模式、视频质量测量等等)及/或获得的关于原始360度视频相机数据的原始数据统计(例如原始数据空间活动的分布等等)来作出决定。一旦选择了当前分段或图片的投影格式,那么360度视频拼接块(例如,2504)将视频拼接成所选择的投影格式,并将经拼接360度视频传送到视频编码器(例如,2506)以进行压缩。

在经压缩位流中用任何适当的方式发信号通知所选择的投影格式及相关联的投影格式参数(例如投影格式id、投影布局中面的数目、面大小、面坐标偏移、面旋转角度等等),例如在sei(辅助增强信息)消息中,在序列标题中,在图片标题中等等。与图25中所说明的系统不同,360度视频拼接块(例如,2504)能够将360度视频拼接成由投影格式决定块(例如,3002)选择的不同投影格式,而非将视频拼接成单个且固定投影格式(例如,erp)。

在360度视频回放侧上,接收器(例如,2508)接收经压缩360度视频位流,并解压视频流。与图25中所说明的系统不同,360度视频呈现块(例如,2510)能够呈现在位流中发信号通知的不同投影格式的360度视频,而非呈现呈单个且固定投影格式(例如,erp)的视频。即,360度视频呈现不仅由观看方向及fov角度控制,而且由从位流解码的投影格式信息控制。

图31说明具有根据多种源通过多个通道自适应的投影格式的360度视频捕获与回放系统的另一实例的示意图。在图31中,360度视频捕获与回放系统3100能够例如进行360度视频的四个通道解码并并行呈现,360度视频输入可来自呈不同投影格式(例如,3104-1、3104-2、3104-3、3104-4)及压缩格式(例如,3106-1、3106-2、3106-3、3106-4),且呈不同保真度(例如,图片分辨率、帧速率、位速率等等)的不同源(例如,3102-1、3102-2、3102-3、3102-4)。

在一或多个实施方案中,通道0可为呈自适应投影格式且用heve压缩的直播视频。在一或多个实施方案中,通道1可为呈固定erp格式且用mpeg-2压缩的直播视频。在一或多个实施方案中,通道2可为呈自适应投影格式且用vp9压缩但被预先存储于服务器上以进行流式发射的360度视频内容。在一或多个实施方案中,通道3可为呈固定erp格式且用h.264压缩但被预先存储于服务器上以进行流式发射的360度视频内容。

对于视频解码,解码器(例如,3108-1、3108-2、3108-3、3108-4)能够解码呈不同压缩格式的视频,且解码器可被实施于硬件(hw)中,或用可编程处理器(sw)实施,或被实施于hw/sw的混合中。

对于360度视频呈现,呈现引擎(例如,3110-1、3110-2、3110-3、3110-4)能够基于观看方向角度、fov角度、输入360度视频图片大小、输出视图端口图片大小、全局旋转角度等等从不同投影格式(例如,erp、cmp等等)的输入360度视频执行视口呈现。

呈现引擎可被实施于硬件(hw)中,或用可编程处理器(例如,gpu)实施,或被实施于hw/sw的混合中。在一些方面中,相同视频解码器输出可被馈送到多个呈现引擎中使得多个视口从相同360视频输入呈现以进行显示。

图32说明投影格式决定3200的实例的示意图。虽然360度视频回放(解压加呈现)相对固定,但存在多种产生360度视频经压缩视频流的方式,所述360度视频经压缩视频流通过时不时地自适应地改变投影格式而具有最大压缩效率。图32提供可如何产生投影格式决定(例如,3002)的实例。在此实例中,提供呈多种投影格式(例如erp、cmp及sp)的360度视频内容(例如,3202),呈不同格式的视频用相同类型的视频编码器(例如mpeg/itu-thevc/h.265)压缩(例如,3204),且经压缩位流被存储(例如,3206)。在对不同投影格式的分段或图片编码之后,可测量那些投影格式的分段或图片的率失真代价(例如相同位速率的psnr数目、或相同质量的位速率或组合度量)。在基于当前分段或图片的率失真代价作出投影格式决定(例如,3002)之后,选定分段或图片的所选择的格式的对应位流(例如,3208),并将其拼接到混合式投影格式的位流中(例如,3210)。应注意,在此系统中,投影格式可根据视频分段(图片群组)或图片的不同而改变。

图33概念地说明排除跨越投影格式转变边界的帧间预测的投影格式转变3300的实例。为用现存视频压缩标准(例如mpeg/ituavc/h.264、mpeg/ituhevc/h.265及googlevp9)支持混合式投影格式的360度视频,必须强加关于可改变投影格式的频率的限制。如图33中所展示,投影格式转变3300,例如在此实例中从erp转变到cmp,或从cmp转变到erp,可仅发生在随机存取点(rap)处,使得帧间预测可能无需跨越投影格式转变边界。rap可由瞬时解码刷新(idr)图片或提供随机存取功能性的其它类型的图片引导。在图33中,投影格式仅可根据视频分段的不同而改变,而不会根据图片的不同而改变,除非分段本身就是图片。

图34概念地说明具有跨越投影格式转变边界的帧间预测的投影格式转变3400的实例。如果帧间预测可跨越投影格式转变边界,那么投影格式还可根据图片的不同而改变。对于相同360度视频内容,在360度视频拼接之后,不同投影格式可能不仅导致图片中的不同内容,而且导致不同图片分辨率。如图34中所展示,dpb(经解码图片缓冲器)中的参考图片的投影格式转换(例如,3400)可用于支持跨越投影格式边界的帧间预测。投影格式转换可将dpb中的360度视频参考图片从一种格式(例如,erp)转换成投影格式(例如,cmp)及当前图片的图片分辨率。可以基于图片的方式实施转换,其中呈当前图片的投影格式的参考图片被转换且被预先存储,或基于当前图片中的块的大小、位置及当前预测块的运动数据实时逐块地被实施。在图34中,投影格式仅可根据图片的不同而改变,但需要参考图片投影格式转换,其是未来视频压缩标准可支持的工具。

建议视图

数种服务(例如youtube、facebook等等…)最近已开始提供360°视频序列。这些服务允许用户在视频播放时在所有方向上环顾四周。用户可旋转场景以观看他们在给定时间所关注的任何事物。

存在用于360°视频的数种格式,但每一格式涉及将3d表面(球体、立方体、八面体、二十面体等等…)投影到2d平面上。接着,2d投影如同任何正常视频序列那样被编码/解码。在解码器处,取决于当时用户的视角呈现并显示那个360°视图的一部分。

最终结果是给用户看他们周围的每一地方的自由,这极大地增加了身临其境的感觉,从而使其感受到他们仿佛就在场景中。与空间音频效果(旋转音频环绕声以匹配视频)组合,效果可相当迷人。

图35说明根据一或多个实施方案的可在其中实施360度视频内的建议视图的实例网络环境3500。然而,可能不会使用所描绘的全部组件,且一或多个实施方案可包含图中未展示的额外组件。可在不背离如本文所陈述的权利要求书的精神或范围的情况下,对组件的布置及类型作出改变。可提供额外组件、不同组件或更少组件。

实例网络环境3500包含360度视频捕获装置3502、360度视频拼接装置3504、视频编码装置3506、视频解码装置3508及360度视频呈现装置3510。在一或多个实施方案中,装置3502、3504、3506、3508、3510中的一或多者可被组合到同一物理装置中。举例来说,360度视频捕获装置3502、306度视频拼接装置3504及视频编码装置3506可被组合到单个装置中,且视频解码装置3508及360度视频呈现装置3510可被组合到单个装置中。在一些实施例中,视频解码装置3508可包含音频解码装置(未展示),或在其它实施例中,视频解码装置3508可通信地耦合到分离音频解码装置,以用于处理传入或所存储的360视频经压缩位流。

在360视频回放侧,网络环境3500可进一步包含解复用器装置(未展示),其可解复用传入的经压缩360视频位流,并将经解复用位流分别提供到视频解码装置3508、音频解码装置及视角提取装置(未展示)。在一些方面中,解复用器装置可经配置以解压360视频位流。网络环境3500可进一步包含360视频投影格式转换装置(未展示),其可在视频编码装置3506进行视频编码之前及/或在视频解码装置3508进行视频解码之后执行360视频投影格式转换。网络环境3500还可包含360视频回放装置(未展示),其回放经呈现360视频内容。在一或多个实施方案中,视频编码装置3506可经由发射链路(例如通过网络)通信地耦合到视频解码装置3508。

360视频回放装置可就在回放终止或切换到其它程序通道之前存储360视频呈现设置(例如,fov角度、观看方向角度、呈现图片大小等等),使得可在恢复相同通道的回放时使用所存储的呈现设置。360视频回放装置可提供预览模式,其中视角可每隔n个帧自动改变以帮助观看者选择合意的观看方向。360视频捕获与回放装置可实时(例如,逐块地)计算投影图以保存存储器带宽。在此例子中,可能不能从芯片外存储器加载投影图。在本系统中,不同视图保真度信息可被分配到不同视图。

在本系统中,内容提供商可提供给定360度视频的“建议视图”。此建议视图可为360度视频中的每一帧的一组具体的视角以向用户提供推荐体验。在用户在任何给定时间点对控制视图本身并不是特别感兴趣的事件中,用户可观看(或回放)建议视图,并体验由内容提供商推荐的视图。

在本系统中,为有效地存储记录/回放用户在具体观看期间观看的具体视图中的经解压360视频位流所需的数据,可将每一帧的“侧倾”、“纵倾”及“侧滚”角度(视角数据)保存于存储装置中。与最初已记录的完整360度视图数据组合,可重新创建先前保存的视图。

取决于存储视角的方式,可初始化对应视角提取过程。在视角被存储于经压缩360视频位流内的一或多个实施方案中,可使用视角提取过程。举例来说,视频解码装置3508及/或音频解码装置可从经压缩360视频位流(例如,从hevc位流内的sei消息)提取视角。在这方面,接着,由视频解码装置3508提取的视角可被提供到视频呈现装置3510。如果视角被存储于分离数据流(例如,mpeg-2tspid)中,那么解复用器装置可提取此信息,并将其发送到视频呈现装置3510作为建议视角。在一些实例中,解复用器馈送到分离视角提取装置(未展示)以提取建议视角。在这方面,本系统应具有在任何时间在建议视图与手动选择的用户视图之间切换的能力。

在建议视图与手动视图之间切换可包含提示用户提供到进入/退出此模式的用户选择(例如,按下按钮)。在一或多个实施方案中,本系统可自动执行切换。举例来说,如果用户手动移动视图(用鼠标、远程控制件、手势、手柄等等…),那么视图经更新以遵循用户的要求。如果用户在设置的时间量内停止进行手动调整,那么视图可漂移回到建议视图。

在一或多个实施方案中,在适当情况下可提供多个建议视图及/或可一次呈现一个以上建议视图。举例来说,对于足球游戏,一个视图可跟踪四分卫,且其它视图可跟踪外接手。使用上文的足球实例,用户可一次观看具有4个视图的分屏。替代地,不同视图可用于在nascar赛车事件期间跟踪具体汽车。用户可从这些建议视图之中作出选择以定制其体验,而无需一直完全控制视图。

如果整个场景的建议视图不可用或不适当,那么可给出建议(或推荐)以试着保证观看者不会错过重要动作。可在新场景开始时提供提示视图(或预览)。接着,视图可经移位以以提示角度看以便集中在视图的主要动作上。在一或多个实施方案中,如果用户希望能不那么直接(或独立),那么屏幕上图形箭头可用于指出用户可能面临错误的方式且错过有趣的事情。

最常见投影类型中的两者是等距柱状投影及立方体投影。这些投影将视频从球体(等距柱状)及立方体(立方体)映射到平坦2d平面上。在图36中展示实例,其说明等距柱状投影(例如,3602)及立方体投影(例如,3604)的实例。

图37概念地说明360度视频呈现3700的实例。此刻,在计算机或智能电话上观看来自流媒体服务(youtube、facebook等等…)的多数360度视频内容。然而,期望在不久的将来将在标准电缆/卫星网络上播放360度视频。体育事件、旅游节目、极限运动及许多其它类型的程序可在360°视频中展示以提高兴趣及参与度。

虽然360度视频应用可为沉浸在场景中的有趣方式,但对于较长程序,一直手动控制视图以跟踪所关注的主要目标的要求可能通常变得乏味。举例来说,在体育事件期间一次又一次地环视可能是有趣的,但对于大多数游戏,用户仅仅想要观看动作的中心。

出于此目的,内容提供商可提供“建议视图”。此建议视图应是每一帧的一组具体的视角以将用户提供推荐体检。在用户在任何给定时间点对控制视图本身并不是特别感兴趣的事件中,用户可仅观看建议视图,并体验由内容提供商推荐的视图。

可将在记录任何给定时间的用户视图的概念表达为3d空间中的三个不同角度。这些不同角度是所谓的欧拉(euler)角度。在飞行动力学中,这三个角度称为“侧倾”、“纵倾”及“侧滚”。返回参考图10,作为建议观看者的视图的构件,可对每一帧的“侧倾”、“纵倾”及“侧滚”角度编码。解码器(例如,3508)可在用户对控制视图本身并不感兴趣的任何时间提取并使用这些建议视角。

此视角数据可以任何数目个方式存储。举例来说,可将角度插入到视频流中作为图片用户数据(avc/hevc辅助增强信息消息-sei消息),或其可经携载作为视频序列内的分离数据流(不同mpeg-2tspid或mp4数据流)。

取决于存储视角的方式,可能需要对应视角提取机构。举例来说,如果角度被存储于视频位流中作为sei消息,那么视频解码器可提取视角。如果角度被存储于分离mpeg-2tspid中,那么解复用器可提取此信息并将其发送到呈现过程。360度视频呈现系统(例如,3500)将具有在任何时间在建议视图与手动选择的用户视图之间切换的能力。

图38说明用建议视角提取及呈现的示意图。在建议视图与手动视图之间切换可与按下按钮以进入/退出此模式一样简单。在其它方面中,可自动执行切换。举例来说,如果用户手动移动视图(用鼠标、远程控制件、手势、手柄等等…),那么视图经更新以遵循用户的要求。如果用户在设置的时间量内停止进行手动调整,那么视图可漂移回到建议视图。

可在适当情况下可提供多个建议视图。举例来说,对于足球游戏,一个视图可跟踪四分卫,且其它视图跟踪外接手。在其它方面中,不同视图可用于在nascar赛车事件期间跟踪具体汽车。用户可从这些建议视图之中作出选择以定制其体验,而无需一直完全控制视图。

一次可呈现一个以上建议视图。使用上文的足球实例,用户可一次观看具有4个视图的分屏,一个是四分卫,一个是外接手,同时他们手动控制另两个,等等。

如果整个场景的建议视图不可用或不适当,那么可给出提示以试着保证观看者不会错过重要动作。可在新场景开始时提供提示视图。接着,视图可经移位以以提示角度看以便集中在视图的主要动作上。在其它方面中,如果我们希望能不那么直接,如同屏幕上图形箭头的某物可用于指出用户可能面临错误的方式且错过有趣的事情。

多数360度视频应用不允许用户调整“侧滚”角度。相机通常被固定在垂直定向中。视图可向上/向下及向左/向右旋转,但不会向侧面转向等等。在这方面,仅建议两个视角的系统对多数使用将是充分的。

应注意,并非所有“360视频”流实际上都覆盖完整的360°×180°视野。一些序列仅可允许在前方向(180°×180°)上观看。在一些实例中,一些可具有关于你可向上或向下看多高的限制。全部这些将被涵盖在本文论述的相同概念下。

在一或多个实施方案中,可与360度视频内容一起发信号通知默认(推荐)观看方向(即,观看方向角度)、fov角度、呈现图片大小的系统消息。

在一或多个实施方案中,360度视频回放系统支持扫描模式,其中视角可每隔n个帧自动改变以帮助观看者选择合意的观看方向。举例来说,在自动扫描模式中,竖直视角γ及沿着z轴的视角ε首先被固定到0度,垂直角度每隔n个帧改变一度;在观看者选择了水平视角θ之后,水平视角被固定到所选择的视角,且沿着z轴的视角ε仍被固定到0度,垂直视角开始每隔n个帧改变一度直到观看者选定了垂直视角γ;在选定了水平视角θ与垂直视角γ两者之后,两个角度被固定到所选定的角度,沿着z轴的视角ε开始每隔n个帧改变一度知道观看者选定了视角ε。在一些实施方案中,扫描模式可并行扫描不同视角,或在其它实施例中,扫描模式可循序地扫描不同视角。在一些方面中,视角可由用户轮廓或用户的类型(例如,儿童、成人)限制(或约束)。在此实例中,由父代控制设置管理的360度视频内容可限于如由设置指示的视角的子集。在一些方面中,360度视频位流包含指示扫描模式的帧轨迹的元数据。

在一或多个实施方案中,多视图布局格式还可通过指示序列中的视图的重要性来保存所关注的视点。视图可经分配具有不同视图保真度(分辨率、帧速率、位速率、fov角度大小等等)。应用系统消息发信号通知视图保真度信息。

图39概念地说明电子系统3900,本技术的一或多个实施方案可用电子系统3900实施。电子系统3900例如可为网络装置、媒体转换器、台式计算机、膝上型计算机、平板计算机、服务器、交换机、路由器、基站、接收器、电话或(一般来说)通过网络发射信号的任何电子装置。此电子系统3900包含各种类型的计算机可读媒体及各种其它类型的计算机可读媒体的接口。在一或多个实施方案中,电子系统3900可为或可包含装置102、104、106、108、110、360度视频投影格式转换装置及/或360度视频回放装置中的一或多者。电子系统3900包含总线3908、一或多个处理单元3912、系统存储器3904、只读存储器(rom)3910、永久存储装置3902、输入装置接口3914、输出装置接口3906及网络接口3916或其子集及变体。

总线3908共同表示所有系统、外围设备及通信地连接电子系统3900的众多内部装置的芯片组总线。在一或多个实施方案中,总线3908通信地连接一或多个处理单元3912与rom3910、系统存储器3904及永久存储装置3902。从这些各种存储器单元,一或多个处理单元3912检索指令以执行及检索数据以处理以便执行本发明的处理。在不同实施方案中,一或多个处理单元3912可为单个处理器或多核处理器。

rom3910存储由电子系统中的一或多个处理单元3912及其它模块所需的统计数据及指令。另一方面,永久存储装置3902是读写存储器装置。永久存储装置3902是非易失性存储器单元,其存储指令及数据,即使是在电子系统3900断电时。本发明中的一或多个实施方案使用大容量存储装置(例如磁盘或光盘及其对应光盘驱动)作为永久存储装置3902。

其它实施方案使用可装卸存储装置(例如软盘、快闪驱动及其对应光盘驱动)作为永久存储装置3902。如同永久存储装置3902,系统存储器3904是读写存储器装置。然而,不同于永久存储装置3902,系统存储器3904是易失性读写存储器,例如随机存取存储器。系统存储器3904存储一或多个处理单元3912在运行时间所需的指令及数据中的任何者。在一或多个实施方案中,本发明的处理被存储于系统存储器3904、永久存储装置3902及/或rom3910中。从这些各种存储器单元,一或多个处理单元3912检索指令以执行并检索数据以处理以便执行一或多个实施方案的处理。

总线3908还连接到输入装置接口3914及输出装置接口3906。输入装置接口3914使用户能够将信息及选择命令传达到电子系统。结合输入装置接口3914使用的输入装置包含例如字母数字小键盘及指向装置(还称为“光标控制装置”)。输出装置接口3906实现例如由电子系统3900生成的图像的显示。结合输出装置接口3906使用的输出装置包含例如指针及显示器装置,例如液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其它装置。一或多个实施方案可包含用作输入与输出装置两者的装置,例如触摸屏。在这些实施方案中,提供到用户的反馈可为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;且来自用户的输入可以任何形式接收,包含听觉、速度或触觉输入。

最后,如图39中所展示,总线3908还通过一或多个网络接口3916将电子系统3900耦合到一或多个网络(未展示)。以此方式,计算机可为一或多个计算机网络(例如,局域网(“lan”)、广域网(“wan”)或企业内部网)的部分或多种网络中的一种网络(例如因特网)的。电子系统3900的任何或所有组件可连同本发明一起使用。

本发明的范围内的实施方案可使用对一或多个指令进行编码的有形计算机可读存储媒体(或一或多种类型的多个有形计算机可读存储媒体)部分或完全实现。易失性计算机可读存储媒体的性质还可为非暂时性的。

计算机可读存储媒体可为任何存储媒体,其可由通用或专用计算装置读取、写入或以其它方式存取,包含任何处理电子设备及/或能够执行指令的处理电路。举例来说,且无限制,计算机可读媒体可包含任何易失性半导体存储器,例如ram、dram、sram、t-ram、z-ram及ttram。计算机可读媒体还可包含任何非易失性半导体存储器,例如rom、prom、eprom、eeprom、nvram、快闪存储器、nvsram、feram、fetram、mram、pram、cbram、sonos、rram、nram、赛道(racetrack)存储器、fjg及millipede存储器。

此外,计算机可读存储媒体可包含任何非半导体存储器,例如光盘存储装置、磁盘存储装置、磁带、其它磁性存储装置或能够存储一或多个指令的任何其它媒体。在一些实施方案中,易失性计算机可读存储媒体可直接耦合到计算装置,而在其它实施方案中,易失性计算机可读存储媒体可例如经由一或多个有线连接、一或多个无线连接或其任何组合间接耦合到计算装置。

指令可为可直接执行的或可用于开发可执行指令。举例来说,指令可被实现为可执行或非可执行机器代码或被实现为高级语言指令,所述高级语言可经编译以产生可执行或非可执行机器代码。此外,指令还可被实现为或可包含数据。计算机可执行指令还可以任何格式组织,包含例程、子例程、程序、数据结构、对象、模块、应用、小应用程序、函数等等。如所属领域的技术人员应认识到,包含但不限于指令的数目、结构、序列及组织的细节可显著改变而不会改变基础逻辑、函数、处理及输出。

虽然上文论述主要是指微处理器或执行软件的多核处理器,但一或多个实施方案由一或多个集成电路执行,例如专用集成电路(asic)或现场可编程门阵列(fpga)。在一或多个实施方案中,此类集成电路执行被存储于其电路上的指令。

所属领域的技术人员应了解,本文描述的各种说明性块、模块、元件、组件、方法及算法可被实施为电子硬件、计算机软件或两者的组合。为说明硬件与软件的此可互换性,上文大体上依据其功能性描述了各种说明性块、模块、元件、组件、方法及算法。此功能性是被实施为硬件还是被实施为软件取决于特定应用及强加于整体系统上的设计约束。技术人员可针对每一特定应用以不同方式实施所描述的功能性。各种组件及块可被不同地布置(例如,以不同顺序布置或以不同方式分割),全都不背离本技术的范围。

应理解,所公开的过程中的块的任何具体顺序或层级是实例方法的说明。基于设计偏好,应理解,过程中的块的具体顺序或层级可被重新布置,或所说明的所有块被执行。可同时执行块中的任何者。在一或多个实施方案中,多任务及并行处理可为有利的。此外,不应将上文描述的实施例中的各种系统组件的分离理解为在所有实施例中都需要此分离,且应理解,所描述的程序组件及系统可大体上被一起集成于单个软件产品中或被封装到多个软件产品中。

如本说明书及本申请案的任何权利要求所使用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”全都是指电子装置或其它技术装置。这些术语排除人或人群。出于说明书的目的,术语“显示(display)”或“显示(displaying)”意味着在电子装置上显示。

如本文所使用,短语前述一系列物品“中的至少一者”,与分离物品中的任何者的术语“及”或“或”整体修改列表,而非列表中的每一部件(例如,每一物品)。短语“…中的至少一者”无需选择所列的每一物品中的至少一者;实情是,短语允许包含物品中的任一者中的至少一者及/或物品的任何组合中的至少一者及/或物品中的每一者中的至少一者的意义。举实例,短语“a、b及c中的至少一者”或“a、b或c中的至少一者”各自指代:仅a、仅b或仅c;a、b及c的任何组合;及/或a、b及c中的每一者中的至少一者。

谓语“经配置以”、“可操作以”及“经编程以”不暗含对象的任何特定有形或无形修改,而实情是,希望可互换地使用。在一或多个实施方案中,经配置以监测并控制操作或组件的处理器还可意味着经编程以监测并控制操作的处理器或可操作以监测并控制操作的处理器。同样地,经配置以执行代码的处理器可被构造为经编程以执行代码或可操作以执行代码的处理器。

例如一方面、所述方面、另一方面、一些方面、一或多个方面、一实施方案、所述实施方案、另一实施方案、一些实施方案、一或多个实施方案、一实施例、所述实施例、另一实施例、一些实施例、一或多个实施例、一配置、所述配置、另一配置、一些配置、一或多个配置、本技术、公开内容、本发明、其其它变体及类似物的短语是为了方便,且不暗含涉及此(类)短语的公开内容对本技术必要或此公开内容适用于本技术的所有配置。涉及此(类)短语的公开内容可适用于所有配置或一或多个配置。涉及此(类)短语的公开内容可提供一或多个实例。例如一方面或一些方面的短语可指代一或多个方面且反之亦然,且这类似地适用于其它前述短语。

本文使用词“示范性”来意味着“用作实例、例子或说明”。本文描述为“示范性”或描述为“实例”的任何实施例不一定都被构造为优选或比其它实施例有利。此外,在术语“包含”、“具有”或类似物用于描述或权利要求书中的程度上,此术语希望以类似于如“包括”在权利要求书中用作过渡词时那样的术语“包括”的方式被解译为具包含性。

所属领域的一般技术人员已知或稍后将已知的贯穿此公开内容描述的各种方面的元件的所有结构及功能等效物通过引用方式被明确并入到本文中且希望由权利要求书涵盖。此外,本文公开的每一事物都不希望致力于公共,无论在权利要求书中是否明确陈述此公开内容。在提供35u.s.c.§112、第六段落下,未构造主张元件,除非元件使用短语“用于…的构件”明确陈述,或在方法权利要求的情况中,元件使用短语“用于…的步骤”来陈述。

提供先前描述使所属领域的技术人员能够实践本文描述的各种方面。所属领域的技术人员应容易地明白对这些方面的各种修改,且本文定义的一般原理可应用到其它方面。因此,权利要求书不希望限于本文展示的方面,但应符合与语言要求一致的完整范围,其中参考单数形式的元件不希望意味着“一个且仅一个”,除非明确如此陈述,而是“一或多者”。除非另外明确陈述,术语“一些”是指一或多个。男性代词(例如,他)包含女性及中性(例如,她及它),且反之亦然。标题及子标题(如果存在)仅为了方便起见使用,且不限制本发明。

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