用于在虚拟现实应用程序中发送信号通知与组成图片相关联的信息的系统和方法与流程

文档序号:20013105发布日期:2020-02-22 04:43阅读:199来源:国知局
用于在虚拟现实应用程序中发送信号通知与组成图片相关联的信息的系统和方法与流程

本公开涉及交互式视频分发,并且更具体地涉及用于发送信号通知与组成图片相关联的信息的技术。



背景技术:

数字媒体播放功能可以包含在各种设备中,包括数字电视(包括所谓的“智能”电视)、机顶盒、膝上型电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的“智能”电话)、专用视频流设备等。数字媒体内容(例如,视频和音频编程)可以源自多个源,包括例如无线电视提供商、卫星电视提供商、有线电视提供商、包括所谓的流媒体服务提供商的在线媒体服务提供商等。可以通过分组交换网络(包括双向网络诸如互联网协议(ip)网络,和单向网络诸如数字广播网络)递送数字媒体内容。

可以根据视频编码标准来对数字媒体内容中包括的数字视频进行编码。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括iso/iecmpeg-4visual和itu-th.264(也称为iso/iecmpeg-4avc)和高效率视频编码(hevc)。视频压缩技术可减少存储和传输视频数据的数据需求。视频压缩技术可通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即视频序列内的帧组、帧组内的帧、帧内的片段、片段内的编码树单元(例如,宏块)、编码树单元内的编码块等)。可以使用预测编码技术来生成待编码的单位视频数据与参考单位视频数据之间的差值。该差值可被称为残差数据。残差数据可被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元。残差数据和语法元素可以被包括在兼容的比特流中。可以根据数据结构来格式化兼容的比特流和相关联的元数据。可以根据传输标准将兼容的比特流和相关联的元数据从源传输到接收器设备(例如,数字电视或智能电话)。传输标准的示例包括数字视频广播(dvb)标准、综合业务数字广播标准(isdb)标准和由高级电视系统委员会(atsc)开发的标准,包括例如atsc2.0标准。atsc目前正在开发所谓的atsc3.0标准系列。



技术实现要素:

在一个示例中,用于发送信号通知与逐区域封装的投影图片相关联的信息的方法包括:发送信号通知与投影图片相关联的信息,以及发送信号通知指示该信息是否单独应用于每个组成图片的语法元素。

在一个示例中,确定与逐区域封装的投影图片相关联的信息的方法包括:接收与投影图片相关联的信息,以及解析指示该信息是否单独应用于每个组成图片的语法元素。

附图说明

图1是示出根据本公开的一种或多种技术的可被配置为传输编码视频数据的系统的示例的框图。

图2a是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。

图2b是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。

图3是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。

图4是示出根据本公开的一种或多种技术的可用于从球形投影结构导出封装帧的处理阶段的示例的概念图。

图5是示出根据本公开的一种或多种技术的可被包括在可被配置为分发编码视频数据的系统的具体实施中的部件的示例的框图。

图6a是示出根据本公开的一种或多种技术的投影图片区域的示例的概念图。

图6b是示出根据本公开的一种或多种技术的封装图片的示例的概念图。

图7是示出可实现本公开的一种或多种技术的接收器设备的示例的框图。

具体实施方式

一般来讲,本公开描述用于编码视频数据的各种技术。具体地,本公开描述了用于发送信号通知与组成图片相关联的信息的技术。应当指出的是,虽然本公开的技术是相对于itu-th.264和itu-th.265描述的,但是本公开的技术通常可应用于视频编码。例如,本文中所描述的编码技术可并入包括块结构的视频编码系统(包括基于未来视频编码标准的视频编码系统)、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或熵编码技术,但itu-th.265中的那些除外。因此,对itu-th.264和itu-th.265的参考是用于描述性目的的,并且不应将其解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文中使用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。

在一个示例中,一种设备包括一个或多个处理器,该一个或多个处理器被配置为发送信号通知与投影图片相关联的信息,以及发送信号通知指示该信息是否单独应用于每个组成图片的语法元素。

在一个示例中,一种设备包括一个或多个处理器,该一个或多个处理器被配置为确定与逐区域封装的投影图片相关联的信息,这包括接收与投影图片相关联的信息以及解析指示该信息是否单独应用于每个组成图片的语法元素。

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,该指令在被执行时使设备的一个或多个处理器:发送信号通知与投影图片相关联的信息,并且发送信号通知指示该信息是否单独应用于每个组成图片的语法元素。

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,该指令在被执行时,使设备的一个或多个处理器确定与逐区域封装的投影图片相关联的信息,这包括接收与投影图片相关联的信息以及解析指示该信息是否单独应用于每个组成图片的语法元素。

在一个示例中,一种装置包括用于发送信号通知与投影图片相关联的信息的器件,以及用于发送信号通知指示该信息是否单独应用于每个组成图片的语法元素的器件。

在一个示例中,一种装置包括用于接收与投影图片相关联的信息的器件,以及用于解析指示该信息是否单独应用于每个组成图片的语法元素的器件。

在以下附图和描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从描述和附图以及权利要求书中显而易见。

视频内容通常包括由一系列帧组成的视频序列。一系列帧也可以被称为一组图片(gop)。每个视频帧或图片可以包括一个或多个片段,其中一个片段包括多个视频块。视频块可被定义为可被预测性地编码的最大像素值(也被称为样本)阵列。视频块可以根据扫描模式(例如,光栅扫描)来排序。视频编码器对视频块和其子分区执行预测编码。itu-th.264指定了包括16×16亮度样本的宏块。itu-th.265指定了类似的编码树单元(ctu)结构,其中图片可被分割成相同大小的ctu,并且每个ctu可包括具有16×16、32×32或64×64亮度样本的编码树块(ctb)。如本文所用,术语视频块通常可指图片的区域,或者可更具体地指可被预测性地编码的像素值的最大阵列、其子分区和/或对应的编码参数和/或结构。此外,根据itu-th.265,每个视频帧或图片可以被分区为包括一个或多个图块,其中图块是与图片的矩形区域相对应的编码树单元序列。

在itu-th.265中,可以根据相应的四叉树块结构将ctu的ctb分割成编码块(cb)。根据itu-th.265,一个亮度cb连同两个对应的色度cb和相关联的语法元素被称为一个编码单元(cu)。cu与为cu定义一个或多个预测单元(pu)的预测单元(pu)结构关联,其中pu与对应的参考样本相关联。也就是说,在itu-th.265中,使用帧内预测或帧间预测来对图片区域进行编码的决定是在cu级别进行的,并且对于cu,可以使用与帧内预测或帧间预测相对应的一个或多个预测来生成cu的cb的参考样本。在itu-th.265中,pu可以包括亮度和色度预测块(pb),其中方形pb被支持用于帧内预测,并且矩形pb被支持用于帧间预测。帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)可将pu与对应参考样本相关联。残差数据可以包括对应于视频数据的每个分量(例如,亮度(y)和色度(cb和cr))的相应差值阵列。残差数据可能在像素域中。可对像素差值应用变换诸如离散余弦变换(dct)、离散正弦变换(dst)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在itu-th.265中,cu可以进一步再分为变换单元(tu)。也就是说,为了生成变换系数,可对像素差值的阵列进行再分(例如,可将四个8×8变换应用于与16×16亮度cb对应的16×16残差值阵列),此类子分区可被称为变换块(tb)。可以根据量化参数(qp)来量化变换系数。可以根据熵编码技术(例如,内容自适应可变长度编码(cavlc)、上下文自适应二进制算术编码(cabac)、概率区间分割熵编码(pipe)等)对量化的变换系数(可称为位阶值)进行熵编码。此外,也可以对语法元素(诸如,指示预测模式的语法元素)进行熵编码。熵编码的量化变换系数和对应的熵编码语法元素可形成可用于再现视频数据的兼容比特流。可以对语法元素执行二值化处理,将其作为熵编码处理的一部分。二值化是指将语法值转换为一个或多个比特的序列的过程。这些位可以被称为“二进制位”。

虚拟现实(vr)应用程序可以包括可以利用头戴式显示器渲染的视频内容,其中仅渲染与用户头部的取向相对应的球形视频的区域。vr应用程序可通过全向视频启用,全向视频也称为360°球形视频或360°视频。全向视频通常由多个相机捕获,这些相机覆盖高达360°的场景。与普通视频相比,全向视频的显著特征在于,通常仅显示整个捕获视频区域的子集,即,显示与当前用户的视场(fov)相对应的区域。fov有时也称为视区。在其他情况下,视区可以是当前由用户显示和查看的球形视频的一部分。应当指出的是,视区的尺寸可小于或等于视场。此外,应当指出的是,可以使用单视场相机或立体相机捕获全向视频。单视场相机可以包括捕获对象的单个视图的相机。立体相机可以包括捕获同一对象的多个视图(例如,使用两个镜头在略微不同的角度下捕获视图)的相机。此外,应当指出的是,在一些情况下,可使用超广角镜头(即,所谓的鱼眼镜头)捕获用于全向视频应用程序中的图像。在任何情况下,通常可以将用于创建360°球形视频的过程描述为将输入图像拼接在一起并将拼接在一起的输入图像投影到三维结构(例如,球体或立方体)上,这可以导致形成所谓的投影帧。此外,在一些情况下,可以对投影帧的区域进行变换、尺寸调整和重新定位,这可以导致形成所谓的封装帧。

全向视频图片中的区域可指整个视频区域的子集。应当指出的是,全向视频的区域可以由导演或制作者的意图确定,或者由服务或内容提供商根据用户统计数据导出(例如,通过在通过流服务提供全向视频内容时,大多数用户请求/观看哪些区域的统计数据)。例如,对于捕获体育赛事的全向视频,可针对包括比赛场地的中心的视图定义区域,并且可针对体育场中的观众席的视图来定义其他区域。区域可以用于边缘服务器或客户端的全向视频自适应流传输中的数据预取,以及/或者当全向视频被转码为例如不同的编解码或投影映射时的转码优化。因此,在全向视频图像中发信号通知区域可以通过降低传输带宽和降低解码复杂度来改善系统性能。

choi等人,iso/iecjtc1/sc29/wg11m40849,“omafdistextwithupdatesbasedonberlinomafahgmeetingagreements”,2017年7月,torino,it,该文献以引用方式并入本文,并且在本文中被称为choi,其限定了能够启用全向媒体应用程序的媒体应用格式。choi指定:可用于将球形或360°视频转换为二维矩形视频的投影技术列表;如何利用国际标准化组织(iso)基础媒体文件格式(isobmff)存储全向媒体和相关联元数据;如何利用超文本传输协议(http)上的动态自适应流传输(dash)来封装、发送信号通知和流传输全向媒体;以及哪些视频和音频编码标准以及媒体编码配置可用于全向媒体信号的压缩和回放。

如上所述,根据itu-th.265,每个视频帧或图片可以被分区为包括一个或多个片段,并且进一步被分区为包括一个或多个图块。图2a至图2b是示出包括片段并进一步将图片分区为图块的一组图片的示例的概念图。在图2a所示的示例中,图片4被示出为包括两个片段(即,片段1和片段2),其中每个片段包括ctu序列(例如,以光栅扫描顺序排列)。在图2b所示的示例中,图片4被示出为包括六个图块(即,图块1至图块6),其中每个图块是矩形的并且包括ctu序列。应当指出的是,在itu-th.265中,图块可以由包含在不止一个片段中的编码树单元组成,并且片段可以由包含在不止一个图块中的编码树单元组成。然而,itu-th.265规定应满足以下一个或两个条件:(1)片段中的所有编码树单元属于同一个图块;以及(2)图块中的所有编码树单元属于同一个片段。因此,就图2b而言,每个图块可属于相应的片段(例如,图块1至图块6可分别属于一些片段(片段1至片段6))或者多个图块可以属于一个片段(例如,图块1至图块3可以属于片段1,而图块4至图块6可以属于片段2)。

此外,如图2b所示,图块可以形成图块集(即,图块2和图块5形成图块集)。可以使用图块集来定义用于编码依赖性的边界(例如,帧内预测依赖性、熵编码依赖性等),并且因此可以在编码中启用并行性。例如,如果图2b所示的示例中的视频序列与夜间新闻节目相对应,则由图块2和图块5形成的图块集可与包括阅读新闻的新闻主播的视觉区域相对应。itu-th.265定义了启用运动约束图块集(mcts)的信令。运动约束图块集可包括图块集,对于该图块集,图片间预测依赖性限于参考图片中的并置的图块集。因此,可能独立于mcts外部的其他图块集的解码来执行给定mcts的运动补偿。例如,参见图2b,如果由图块2和图块5形成的图块集是mcts并且图片1至图片3中的每一个包括并置的图块集,可以在与图片4中的图块1、图块3、图块4和图块6的编码无关的图块2和图块5以及在图片1至图片3的每一个中与图块图块1、图块3、图块4和图块6并置的图块上执行运动补偿。根据mcts对视频数据进行编码对于包括全向视频呈现的视频应用程序可能是有用的。

如图3所示,图块(即,图块1至图块6)可形成全向视频的区域。此外,由图块2和图块5形成的图块集可以是包括在区域内的mcts。依赖于视区的视频编码(也可以被称为依赖于视区的部分视频编码)可以用于启用仅对整个视频区域的一部分进行编码。也就是说,例如,依赖于视区端口的视频编码可用于提供用于呈现当前fov的足够信息。例如,可以使用mcts对全向视频进行编码,使得覆盖视区的每个可能区域可以跨时间与其他区域独立编码。在这种情况下,例如,对于特定的当前视区,可以将覆盖视区的最小图块集发送到客户端,已解码并且/或者已呈现。该过程可以被称为基于简单图块的部分解码(stpd)。

再次参见图3,如图3所示,360度视频包括区域a、区域b和区域c。在图3所示的示例中,这些区域中的每一个被示出为包括ctu。如上所述,ctu可形成编码的视频数据的片段和/或视频数据的图块。此外,如上所述,视频编码技术可根据视频块、其子分区和/或对应的结构对图片的区域进行编码,并且应当指出的是,视频编码技术使得视频编码参数能够在视频编码结构的各种水平上进行调节,例如,针对片段、图块、视频块和/或子分区进行调整。再次参见图3,在一个示例中,图3所示的360度视频可表示体育事件,其中区域a和区域c包括体育场的看台的视图,而区域b包括运动场的视图(例如,视频是通过位于50码线处的360度相机捕获的)。

应当指出的是,全向视频的区域可包括球体上的区域。choi描述球体上的区域可通过四个大圆来指定的情况,大圆(也称为黎曼圆)是球体与穿过球体的中心点的平面的交点,其中球体的中心和大圆的中心是共同定位的。choi还描述球体上的区域可由两个偏航圆和两个俯仰圆指定的情况,其中偏角圆是球体上的连接具有相同偏航值的所有点的圆,并且俯仰圆是球体上的连接具有相同俯仰值的所有点的圆。

如上所述,choi指定:可用于将球形或360°视频转换为二维矩形视频的投影技术列表。choi指定投影帧是具有360°视频投影指示符指示的表示格式的帧的情况以及投影是通过其将一组输入图像投影到投影帧上的过程的情况。此外,choi指定投影结构包括三维结构的情况,其中三维结构包括将捕获的图像/视频内容投影到其上且可从其形成相应的投影帧的一个或多个表面。最后,choi提供了逐区域封装包括对投影帧进行逐区域转换、调整尺寸和重新定位的情况以及封装帧是由投影帧的逐区域封装产生的帧的情况。因此,在choi中,用于创建360°球形视频的过程可被描述为包括图像拼接、投影和逐区域封装。应当指出的是,choi指定了坐标系、全向投影格式,包括等距柱状投影、矩形逐区域封装格式和全向鱼眼视频格式,为了简洁起见,本文未提供对choi的这些部分的完整描述。然而,参考了choi的相关部分。

就投影结构和坐标系而言,choi提供了投影结构为单位球体的情况,坐标系可用于例如指示投影结构的取向或点的球体位置,并且坐标轴用于限定偏航角俯仰角(θ)和滚动角,其中偏航角围绕y(垂直,向上)轴旋转,俯仰角围绕x(横向,左右)轴旋转,以及滚动角围绕z(前后)轴旋转。此外,choi提供旋转是外在的情况,即围绕x、y和z固定参照轴线,当从原点看向轴线的正端时,角度顺时针增大。choi进一步提供了子句5.1中的投影结构和坐标系的以下定义:

偏航角指示围绕y轴的旋转角度,以度为单位。

类型:浮点十进制值

范围:在-180(包括端值)至180(不包括端值)的范围内俯仰角指示围绕x轴的旋转角度,以度为单位。

类型:浮点十进制值

范围:在-90(包括端值)至90(包括端值)的范围内滚动角指示围绕z轴的旋转角度,以度为单位。

类型:浮点十进制值

范围:在-180(包括端值)至180(不包括端值)的范围内。

关于等距柱状投影格式,choi在子句5.2中提供了以下内容:

一个样本的等距柱状投影

该子句的输入为:

-picturewidth和pictureheight,分别为样本中等距柱状全景图片的宽度和高度,以及

-分别沿水平和垂直轴的样本位置(i,j)的中心点。

该子句的输出为:

-相对于[choi的子句5.1投影结构和坐标系]中指定的坐标轴以度为单位的样本角坐标

亮度样本位置的以度为单位的角坐标由以下等距柱状映射公式给出:

φ=(i÷picturewidth-0.5)*360

0=(0.5-j÷pictureheight)*180

关于不同取向的球坐标系之间的转换,choi在子句5.3中提供了以下内容:

不同取向的球坐标系之间的转换

该子句的输入为:

-取向变化yaw_center(在-180(包括端值)至180(不包括端值)的范围内),pitch_center(在-90(包括端值)至90(包括端值)的范围内),roll_center(在-180(包括端值)至180(不包括端值)的范围内),均以度为单位,以及

-相对于如[choi的子句5.1投影结构和坐标系]中指定的已经旋转的坐标轴的角坐标并且

该子句的输出为:

-相对于[choi的子句5.1投影结构和坐标系]中指定的坐标系的角坐标

输出导出如下:

β=(裁剪俯仰(θ+pitch_center))*π÷180

ω=roll_center*π÷180

θ'=(sin(ω)*α+cos(ω)*β)*180÷π

关于用于矩形逐区域封装的样本位置的转换,choi在子句5.4中提供了以下内容:

用于矩形逐区域封装的样本位置的转换

该子句的输入为:

-以整数样本单位表示的封装区域内的样本位置(x,y),

-以样本单位表示的投影区域的宽度和高度(projregwidth、projregheight),

-以样本单位表示的封装区域的宽度和高度(packedregwidth、packedregheight),

-变换类型(transformtype),以及

-采样位置的偏移值(offsetx,offsety)。

该子句的输出为:

-以样本单位表示的投影区域内的样本位置(i,j)的中心点。

输出导出如下:

图4示出了从球形投影结构到可用于内容创作的封装图片的转换以及从封装图片到可用于内容呈现的球形投影结构的对应转换。应当指出的是,图4中所示的示例基于在choi中提供的信息性示例。然而,图4所示的示例一般可适用,并且不应理解为限制用于将样本位置映射到本文所述的角坐标的技术的范围。

在图4所示的示例中,投影结构沿着如(a)中所示的全局坐标轴,当等距柱状全景图片的平分线与全局坐标轴的x轴对准时,等距柱状全景图片的y轴与全局坐标轴的y轴对准,并且全局坐标轴的z轴穿过等距柱状全景图片的中间点。

根据图4中所示的示例,内容创作可包括以下操作中的一者或多者:相对于全局坐标轴旋转投影结构,如(b)中所示;将覆盖面指示为由两个偏航圆和两个俯仰圆包围的区域,其中偏航圆和俯仰圆可相对于局部坐标轴来指示;确定投影图片(或帧);以及从投影图片获得封装图片(例如,通过施加逐区域封装)。应当指出的是,在图4所示的示例中,(c)示出了示例性覆盖面,该示例性覆盖面仅由两个俯仰圆约束,而偏航值不受约束。此外,应当指出的是,在2d等距柱状域中,覆盖面对应于矩形(即,图4中的(d)指示(c)的2d对应关系),其中2d表示的x轴和y轴可与投影结构的x和y局部坐标轴对准。此外,投影图片可包括覆盖面的一部分。在图4所示的示例中,(e)中的投影图片包括(d)中所示覆盖面的一部分,其可使用水平和垂直范围值来指定。在图4所示的示例中,在(f)中,对侧面区域进行水平下采样,而中间区域保持在其原始分辨率下。此外,关于图4,应当指出的是,为了将封装图片的样本位置映射到用于呈现的投影结构,计算设备可以从(f)到(a)的相反顺序执行顺序映射。即,视频解码设备可将解码图片内的亮度样本位置映射到相对于全局坐标轴的角度坐标。

应当指出的是,在choi中,如果不应用逐区域封装,则封装帧与投影帧相同。原本,通过指示封装帧中每个区域的位置、形状和尺寸,将投影帧的区域映射到封装帧上。此外,在choi中,在立体360°视频的情况下,拼接一个时间实例的输入图像以生成表示两个视图(每个眼睛一个视图)的投影帧。两个视图均可以映射到相同的封装帧上,并由传统的二维视频编码器进行编码。另选地,choi提供了其中投影帧的每个视图可被映射到其自身的封装帧的情况,在这种情况下,图像拼接、投影和逐区域封装类似于上述单视场情况。此外,在choi中,左视图和右视图中任一者的封装帧的序列可独立地被编码,或者可在使用多视图视频编码器时独立地根据另一视图预测。最后,应当指出的是,在choi中,可以针对相同源图像执行图像拼接、投影和逐区域封装处理多次,以创建相同内容的不同版本,例如,用于投影结构的不同取向,并且类似地,可以从相同的投影帧执行逐区域封装处理多次,以创建一个以上的待编码封装帧序列。

choi指定通常支持以下类型的元数据的文件格式:(1)指定投影帧的投影格式的元数据;(2)指定球形表面的被投影帧覆盖的区域的元数据;(3)指定与全局坐标系中的投影帧相对应的投影结构的取向的元数据;(4)指定逐区域封装信息的元数据;以及(5)指定任选的逐区域质量排名的元数据。

应当指出的是,关于本文所用的公式,可使用以下算术运算符:

+加法

-减法(作为双参数运算符)或负数(作为一元前缀运算符)

*乘法,包括矩阵乘法

xy求幂。指定x对y的幂。在其他情况下,此类符号用于上标而非旨在用于解释为求幂。

/将结果向着零截断的整数除法。例如,将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。

÷在不旨在进行截断或舍入情况下用于表示数学公式中的除法。

在不旨在进行截断或舍入情况下用于表示数学公式中的除法。

应当指出的是,关于本文所用的公式,可使用以下逻辑运算符:

x&&yx和y的布尔逻辑“和”

x||yx和y的布尔逻辑“或”

!布尔逻辑“否”

x?y:z如果x为true或不等于0,则求值为y;否则,求值为z。

应当指出的是,关于本文所用的公式,可使用以下关系运算符:

>大于

>=大于或等于

<小于

<=小于或等于

==等于

!=不等于

应当指出的是,在本文中使用的语法中,无符号整型(n)是指具有n比特的无符号整数。此外,比特(n)是指具有n比特的比特值。

如上所述,choi指定如何使用国际标准化组织(iso)基础媒体文件格式(isobmff)存储全向媒体和相关联元数据。此外,choi指定文件格式支持以下类型的盒的情况:方案类型盒(schemetypebox)、方案信息盒(schemeinformationbox)、投影全向视频盒(projectedomnidirectionalvideobox)、立体视频盒(stereovideobox)、鱼眼全向视频盒(fisheyeomnidirectionalvideobox)、逐区域封装盒(regionwisepackingbox)和投影取向盒(projectionorientationbox)。应当指出的是,choi指定附加类型盒,为了简洁起见,本文未提供在choi中指定的所有类型的盒的完整描述。关于schemetypebox、schemeinfor-mationbox、projectedomnidirectionalvideobox、stereovideobox和regionwisep-ackingbox,choi提供了以下内容:

-针对受限视频样本条目类型“resv”使用投影全向视频方案指示经解码的图片是包含单视场内容和立体内容中任一者的封装图片。通过等于schemetypebos内的“podv”(投影全向视频)的scheme_type指示投影全向视频方案的使用。

-针对受限视频样本条目类型“resv”使用鱼眼全向视频方案指示经解码的图片是鱼眼视频图片。通过等于schemetypebox内的“fodv”(鱼眼全向视频)的scheme_type指示鱼眼全向视频方案的使用。

-利用schemeinformationbox内包含的projectedomnidirectionalvideobox指示投影单视场图片的格式。利用schemeinformationbox内包含的fisheyeomnidirectionalvideobox指示鱼眼视频的格式。当方案类型为“podv”时,projectedomnidirectionalvideobox中应存在一个且只有一个schemeinformationbox。当方案类型为“fodv”时,schemeinformationbox中应存在一个且应仅存在一个fisheyeomnidirectionalvideobox。

-当schemeinformationbox中存在projectedomnidirectionalvideobox时,stereovideobox和regionwisepackingbox可以存在于相同的schemeinformationbox中。当schemeinformationbox中存在fisheyeomnidirectionalvideobox时,stereovideobox和regionwisepackingbox不应存在于相同的schemeinformationbox中。

-对于立体视频,利用schemeinformationbox内包含的stereovideobox指示投影的左右图片的帧封装布置。不存在stereovideobox指示轨道的全向投影内容是单视场的。当全向视频方案的schemeinformationbox中存在stereovideobox时,stereo_scheme应等于4,并且stereo_indication_type应指示正在使用上下帧封装和并排帧封装中的任一者,并且未使用梅花形采样。

-利用schemeinformationbox内包含的regionwisepackingbox指示任选逐区域封装。不存在regionwisepackingbox指示没有应用逐区域封装,即,封装图片与投影图片相同。

关于投影全向视频盒,choi提供以下定义、语法和语义:

定义

盒类型:“povd”

容器:方案信息盒(“schi”)

强制性的:yes,当scheme_type等于“podv”时

数量:零或一

利用以下各项指示投影帧的属性:

●单视场投影帧的投影格式(用于轨道中包含的单视场视频的c,用于立体视频的左视图和右视图的cl和cr);

●投影结构相对于全局坐标系的取向;以及

●投影全向视频的球形覆盖面。

语法

语义

projection_type指示矩形解码器图片输出样本到[choi的子句5.1投影结构和坐标系]中指定的球坐标系上的特定映射,projection_type等于0指示如[choi的子句5.2全向投影格式]中指定的等距柱状投影,projection_type的其他值被保留。

关于逐区域封装盒,choi提供以下定义、语法和语义:

定义

盒类型:“rwplt”

容器:方案信息盒(“schi”)

强制性的:no

数量:零或一

regionwisepackingbox指示:投影帧是逐区域封装的,并且在呈现之前需要解封。在该盒中明确发送信号通知投影图片的尺寸。封装图片的尺寸由visualsampleentry的宽度和高度语法元素指示,分别表示为packedpicwidth和packedpicheight。

注意1:当图片是场图片而不是帧图片时,封装图片的实际高度将仅为packedpicheight的一半。

语法

语义

num_region指定封装区域的数量。保留值0。

proj_picture_width和proj_picture_height分别指定投影图片的宽度和高度。proj_picture_width和proj_picture_height应大于0。

guard_band_flag[i]等于0指定第i个封装区域没有保护带。

guard_band_flag[i]等于1指定第i个封装区域有保护带。

packing_type[i]指定逐区域封装的类型。packing_type[i]等于0指示矩形逐区域封装。保留其他值。

left_gb_width[i]以两个亮度样本为单位指定第i个区域左侧的保护带的宽度。

right_gb_width[i]以两个亮度样本为单位指定第i个区域右侧的保护带的宽度。

top_gb_height[i]以两个亮度样本为单位指定第i个区域上方的保护带的高度。

bottom_gb_height[i]以两个亮度样本为单位指定第i个区域下方的保护带的高度。

当guard_band_flag[i]等于1时,left_gb_width[i]、right_gb_width[i]、top_gb_height[i]或bottom_gb_height[i]应大于0。

由该regionwisepackingstruct指定的第i个封装区域不应与由同一regionwisepackingstruct指定的任何其他封装区域或由同一regionwisepackingstruct指定的任何保护带重叠。

与如由该regionwisepackingstruct指定的第i封装区域(如果有的话)相关联的保护带不应与由同一regionwisepackingstruct指定的任何封装区域或由同一regionwisepackingstruct指定的任何其他保护带重叠。

gb_not_used_for_pred_flag[i]等于0指定在帧间预测过程中可使用或可不使用保护带。gb_not_used_for_pred_flag[i]等于1指定保护带的样本值不在帧间预测过程中。

注意1:即使将解码后的图片用作对待解码的后续图片进行帧间预测的参考,当gb_not_used_for_pred_flag[i]等于1时,也可重写解码图片中保护带内的样本值。例如,一个封装区域的内容可通过另一个封装区域的解码且重新投影的样本无缝扩展至其保护带。

gb_type[i]指定第i个封装区域的保护带的类型,如下所示:

-gb_type[i]等于0指定未指定相对于封装区域内容的保护带内容。当gb_not_used_for_pred_flag等于0时,gb_type不应等于0。

-gb_type[i]等于1指定保护带的内容足以用于封装区域内的子像素值以及在封装区域的边界之外的少于一个的像素的内插。

注意2:当封装区域的边界样本已水平或垂直地复制到保护带时,可使用等于1的gb_type。

-gb_type[i]等于2指定保护带的内容表示其质量从该封装区域的图片质量逐渐变为球形相邻封装区域的图片质量的实际图像内容。

-gb_type[i]等于3指定保护带的内容表示该封装区域的图片质量下的实际图像内容。

-大于3的gb_type[i]值被保留。

proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]在投影图片中以像素为单位指示,其宽度和高度分别等于proj_picture_width和proj_picture_height。

proj_reg_width[i]指定第i个投影区域的宽度,即proj_reg_width[i],应大于0。

proj_reg_height[i]指定第i″个投影区域的高度,即proj_reg_height[i]应大于0。

proj_reg_top[i]和proj_reg_left[i]指定投影图片中的顶部样本行和最左边样本列。这些值应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-2(包括端值)以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-2(包括端值)的范围内。

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]小于proj_picture_height。

当投影图片为立体时,proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]应使得由这些字段标识的投影区域在投影图片的单个组成图片内。

transform_type[i]指定已应用于第i个投影区域以在编码之前将其映射到封装图片的旋转和镜像。当transform_type[i]指定旋转和镜像两者时,在从投影图片到编码之前的封装图片的逐区域封装中进行镜像之后,已应用旋转。指定以下值并保留其他值:

0:无变换

1:水平镜像

2:旋转180°(逆时针)

3:水平镜像后旋转180°(逆时针)

4:水平镜像后旋转90°(逆时针)

5:旋转90°(逆时针)

6:水平镜像后旋转270°(逆时针)

7:旋转270°(逆时针)

注意3:[choi的子句5.4矩形逐区域封装的样本位置转换]指定transform_type[i]的语义,用于将封装图片中封装区域的样本位置转换为投影图片中投影区域的样本位置。

packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]分别指定封装图片中封装区域的宽度、高度、顶部样本行和最左边样本列。

packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]的值受如下约束:

-packed_reg_width[i]和packed_reg_height[i]应大于0。

-packed_reg_top[i]和packed_reg_left[i]应分别在0(包括端值,其指示封装图片的左上角)至packedpicheight-2(包括端值)以及0(包括端值,其指示封装图片的左上角)至packedpicwidth-2(包括端值)的范围内。

-packed_reg_width[i]和packed_reg_left[i]之和应小于packedpicwidth。

-packed_regjheight[i]和packed_reg_top[i]之和应小于packedpicheight。

-由packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]指定的矩形应与针对0至i-1(包括端值)的范围内的任何j值由packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]和packed_reg_left[j]指定的矩形不重叠。

图6a示出了投影图片内的投影区域的位置和尺寸,并且图6b示出了具有保护带的封装图片内的封装区域的位置和尺寸。

关于投影取向盒,choi提供以下定义、语法和语义:

定义

盒类型:“pror”

容器:投影全向视频盒(“povd”)

强制性的:no

数量:零或一

当投影格式为等距柱状投影时,该盒中的字段分别提供投影到球形表面时投影图片的中心点的偏航角、俯仰角和滚动角。就立体全向视频而言,这些字段分别应用于每个视图。当projectionorientationbox不存在时,字段orientation_yaw、orientation_pitch和orientation_roll均被视为等于0。

语法

语义

orientation_yaw、orientation_pitch和orientation_roll分别指定投影到球形表面的投影图片的中心点相对于全局坐标轴以2-16为单位的偏航角、俯仰角和滚动角。orientation_yaw应在-180*216至180*216-1(包括端值)的范围内。orientation_pitch应在-90*216至90*216(包括端值)的范围内。orientation_roll应在-180*216至180*216-1(包括端值)的范围内。

如上所述,就图4而言,计算设备可将图片内的亮度样本位置映射到相对于全局坐标轴的角坐标。关于解码图片内的亮度样本位置到相对于全局坐标轴的角坐标的映射,choi在子句7.2.2.2中提供了以下内容:

解码图片内的亮度样本位置到相对于全局坐标轴的角坐标的映射

单视场投影亮度图片的宽度和高度(分别为picturewidth和pictureheight)导出如下:

-变量hordiv和verdiv导出如下:

○如果stereovideobox不存在,则将hordiv和verdiv设置为等于1。

○否则,如果stereovideobox存在并指示并排帧封装,则将hordiv设置为等于2,并将verdiv设置为等于1。

○否则(stereovideobox存在并指示上下帧封装),将hordiv设置为等于1,并将verdiv设置为等于2。

-如果regionwisepackingbox不存在,则将picturewidth和pictureheight分别设置为等于width./hordiv和height/verdiv,其中宽度和高度是visualsampleentry的语法元素。

-否则,将picturewidth和pictureheight分别设置为等于proj_picture_width/hordiv和proj_picture_height/verdiv。

如果regionwisepackingbox存在,则以下内容适用于范围在0至num_regions″1(包括端值)的每个封装区域n:

-对于属于packing_type[n]等于0(即具有矩形逐区域封装)的第n个封装区域的每个样本位置(xpackedpicture,ypackedpicture),适用以下内容:

○投影图片的对应样本位置(xprojpicture,yprojpicture)导出如下:

■将x设置为等于xpackedpicture-packed_reg_left[n]。

■将y设置为等于ypackedpicture-packed_reg_top[n]。

■将offsetx设置为等于0.5。

■将offsety设置为等于0.5。

■[choi的子句5.4矩形逐区域封装的样品位置转换]用x,y,packed_reg_width[n]、packed_reg_height[n]、proj_reg_width[n]、proj_reg_height[n]、transform_type[n]、offsetx和offsety作为输入来调用,并且输出被分配给样本位置(i,j)。

■将xprojpicture设置为等于proj_reg_left[n]+i。

■将yprojpicture设置为等于proj_reg_top[n]+j,

○[choi的子句7.2.2.3从投影图片中的样本位置到相对于全局坐标轴的角坐标的转换]用xprojpicture、yprojpicture、picturewidth和pictureheight作为输入来调用,并且输出指示在解码图片中属于第n个封装区域的亮度样本位置(xpackedpicture,ypackedpicture)的角坐标和组成帧索引(针对帧封装的立体视频)。

否则,以下内容适用于解码图片中的每个样本位置(x,y):

-将xprojpicture设置为等于x+0.5,

-将yprojpicture设置为等于y+0.5,

-[choi的子句7.2.2.3从投影图片中的样本位置到相对于全局坐标轴的角坐标的转换]用xprojpicture、yprojpicture、picturewidth和pictureheight作为输入来调用,并且输出指示解码图片内的样本位置(x,y)的角坐标和组成帧索引(针对帧封装的立体视频)。

关于从投影图片中的样本位置到相对于全局坐标轴的角坐标的转换,choi在子句7.2.2.3中提供了以下内容:

从投影图片中的样本位置到相对于全局坐标轴的角坐标的转换

该子句的输入为

-投影图片内的样本位置(xprojpicture,yprojpicture)的中心点,

-图像宽度picturewidth,以及

-图像高度pictureheight。

注意:对于立体视频,此投影图片是从上到下或并排帧封装的。

该子句的输出为:

-角坐标(yawglobal,pitchglobal),相对于全局坐标轴以度为单位,以及

-当stereovideobox存在时,组成图片(constituentpicture)的索引等于0或1。

通过以下有序步骤导出输出:

-如果xprojpicture大于或等于picturewidth,或者yprojpicture大于pictureheight,则适用以下内容:

○将constituentpicture设置为等于1。

○如果xprojpicture大于或等于picturewidth,则将xprojpicture设置为xprojpicture-picturewidth。

○如果yprojpicture大于或等于pictureheight,则将yprojpicture设置为yprojpicture-pictureheight。

-否则,将constituentpicture设置为等于0。

-[choi的子句5.2.1一个样本的等距柱状投影]用picturewidth、pictureheight、xprojpicture和yprojpicture为输入来调用,并且输出被分配给yawlocal、pitchlocal。

-如果projectionorientationbox存在,子句[5.3不同取向的球坐标系之间的转换]用yawlocal、pitchlocal、orientation_yaw÷216、orientation_pitch÷216和orientation_roll÷216作为输入来调用,并且输出被分配给awglobal和pitchglobal。

-否则,将yawglobal设置为等于yawlocal,并将pitchglobal设置为等于pitchlocal。

choi中提供的用于发送信号通知与逐区域封装相关联的信息的技术可能不太理想。

图1是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可以根据本公开的一种或多种技术封装视频数据系统的示例。如图1所示,系统100包括源设备102、通信介质110和目标设备120。在图1所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码的视频数据发送到通信介质110的任何设备。目标设备120可包括被配置为经由通信介质110接收编码的视频数据并且对编码的视频数据进行解码的任何设备。源设备102和/或目标设备120可包括配备用于进行有线和/或无线通信的计算设备,并且可以包括例如机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、医学成像设备和移动设备,包括例如智能电话、蜂窝电话、个人游戏设备。

通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合来运营。电信协议可以包括专有方面和/或可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(dvb)标准、高级电视系统委员会(atsc)标准、综合服务数字广播(isdb)标准、有线数据业务接口规范(docsis)标准、全球移动通信系统(gsm)标准、码分多址(cdma)标准、第三代合作伙伴计划(3gpp)标准、欧洲电信标准协会(etsi)标准、互联网协议(ip)标准、无线应用协议(wap)标准以及电气与电子工程师协会(ieee)标准。

存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(ram)、动态随机存取存储器(dram)和静态随机存取存储器(sram)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(eprom)或电可擦除和可编程(eeprom)存储器的形式。存储设备可以包括存储卡(例如,安全数字(sd)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。

图5是示出可包括在系统100的具体实施中的部件的示例的概念图。在图5所示的示例性具体实施中,系统100包括一个或多个计算设备402a至402n、电视服务网络404、电视服务提供商站点406、广域网408、局域网410和一个或多个内容提供商站点412a至412n。图5中所示的具体实施表示系统的示例,该系统可被配置为允许数字媒体内容(诸如电影、现场体育赛事等)和与其相关联的数据和应用程序以及媒体呈现被分发到多个计算设备(诸如计算设备402a至402n)并由该多个计算设备访问。在图5所示的示例中,计算设备402a至402n可包括被配置为从电视服务网络404、广域网408和/或局域网410中的一者或多者接收数据的任何设备。例如,计算设备402a至402n可以配备用于有线和/或无线通信,并且可被配置为通过一个或多个数据信道接收服务,并且可以包括电视,包括所谓的智能电视、机顶盒和数字视频记录器。此外,计算设备402a至402n可以包括台式计算机、膝上型计算机或平板计算机、游戏控制台、移动设备,包括例如“智能”电话、蜂窝电话和个人游戏设备。

电视服务网络404是被配置为使得能够分发包括电视服务的数字媒体内容的网络的示例。例如,电视服务网络404可以包括公共空中电视网络、基于公共或订阅的卫星电视服务提供商网络,以及基于公共或订阅的有线电视提供商网络和/或通过顶部或互联网服务提供商。应当指出的是,尽管在一些示例中,电视服务网络404可以主要用于使得能够提供电视服务,但是电视服务网络404还可以使得能够根据本文描述的电信协议的任何组合来提供其他类型的数据和服务。此外,应当指出的是,在一些示例中,电视服务网络404可以启用电视服务提供商站点406与计算设备402a至402n中的一个或多个之间的双向通信。电视服务网络404可以包括无线和/或有线通信媒体的任何组合。电视服务网络404可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。电视服务网络404可根据一个或多个电信协议的组合来运营。电信协议可以包括专有方面和/或可以包括标准化电信协议。标准化电信协议的示例包括dvb标准、atsc标准、isdb标准、dtmb标准、dmb标准、有线数据服务接口规范(docsis)标准、hbbtv标准、w3c标准和upnp标准。

再次参见图5,电视服务提供商站点406可被配置为经由电视服务网络404分发电视服务。例如,电视服务提供商站点406可以包括一个或多个广播站、有线电视提供商,或卫星电视提供商,或基于互联网的电视提供商。例如,电视服务提供商站点406可被配置为通过卫星上行链路/下行链路接收包括电视节目的传输。此外,如图5所示,电视服务提供商站点406可与广域网408通信,并且可被配置为从内容提供商站点412a至412n接收数据。应当指出的是,在一些示例中,电视服务提供商站点406可以包括电视演播室,并且内容可以源自该电视演播室。

广域网408可包括基于分组的网络,并且根据一个或多个电信协议的组合来运营。电信协议可包括专有方面并且/或可包括标准化电信协议。标准化电信协议的示例包括全球系统移动通信(gsm)标准、码分多址(cdma)标准、第3代合作伙伴计划(3gpp)标准、欧洲电信标准协会(etsi)标准、欧洲标准(en)、ip标准、无线应用协议(wap)标准、以及电气与电子工程师协会(ieee)标准,诸如,一个或多个ieee802标准(例如,wi-fi)。广域网408可包括无线和/或有线通信媒体的任何组合。广域网480可包括同轴电缆、光纤电缆、双绞线电缆、以太网电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。在一个示例中,广域网408可以包括互联网。局域网410可以包括基于数据包的网络,并且根据一个或多个电信协议的组合进行操作。可以基于访问级别和/或物理基础设施将局域网410与广域网408区分开。例如,局域网410可以包括安全家庭网络。

再次参见图5,内容提供商站点412a至412n表示可向电视服务提供商站点406和/或计算设备402a至402n提供多媒体内容的站点的示例。例如,内容提供商站点可以包括具有一个或多个工作室内容服务器的工作室,该工作室内容服务器被配置为向电视服务提供商站点406提供多媒体文件和/或流。在一个示例中,内容提供商站点412a至412n可被配置为使用ip套件提供多媒体内容。例如,内容提供商站点可被配置为根据实时流协议(rtsp)、http等向接收机设备提供多媒体内容。此外,内容提供商站点412a至412n可被配置为通过广域网408向接收机设备402a至402n和/或电视服务提供商站点406中的一个或多个提供包括基于超文本的内容等的数据。内容提供商站点412a至412n可包括一个或多个web服务器。可以根据数据格式来定义由数据提供者站点412a至412n提供的数据。

再次参见图1,源设备102包括视频源104、视频编码器106、数据封装器107和接口108。视频源104可包括配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可包括被配置为接收视频数据并产生表示视频数据的合规比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。兼容比特流的各方面可根据视频编码标准来定义。当生成合规比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(观察者可觉察的或不可觉察的)或无损的。

再次参见图1,数据封装器107可以接收编码的视频数据,并根据定义的数据结构生成兼容比特流,例如,nal单元序列。接收兼容比特流的设备可以从其再现视频数据。应当指出的是,可以使用术语符合性比特流来代替术语兼容比特流。如上所述,choi中用于发送信号通知与逐区域封装相关联的信息的技术可能不太理想。在一个示例中,数据封装器107可被配置为根据本文所述的一种或多种技术发送信号通知与逐区域封装相关联的信息。应当指出的是,数据封装器107不需要必须位于与视频编码器106相同的物理设备中。例如,被描述为由视频编码器106和数据封装器107执行的功能可分布在图5所示的设备中。

应当指出的是,如本文所用,术语“组成图片”通常可指与立体内容相对应的图片的左视图或右视图部分。在本文提供的语法和语义的上下文中,可基于以下示例性定义来定义组成图片:

组成图片:与在[choi的子句7.2.2.3从投影图片中的样本位置到相对于全局坐标轴的角坐标的转换]中具有索引(constituentpicture)的立体内容相对应的图片的一部分。

应当指出的是,在一些情况下,投影图片的组成图片部分可被称为“投影图片的组成图片”,并且封装图片的组成图片部分可被称为“封装图片的组成图片”。

另选地,就本文提供的语法和语义而言,组成图片可被定义为:与立体内容相对应的图片的左视图或右视图部分。

另选地,就本文提供的语法和语义而言,组成图片可被定义为:存在stereovideobox时的图片的左视图或右视图部分。

应当指出的是,术语“组成图片”和“组成帧”以及术语“组成图片索引”和“组成帧索引”通常可互换使用。

参考上述choi中的regionwisepackingbox,在一个示例中,数据封装器107可被配置为基于以下示例性语法和语义来发送信号通知regionwisepackingbox:

语法

语义

constituent_picture_matching_regions等于1指示在该盒中发送信号通知的投影区域信息、封装区域信息和保护带区域信息单独地应用于每个组成图片。constituent_picture_matching_regions等于0指示在该盒中发送信号通知的投影区域信息、封装区域信息和保护带区域信息应用于投影图片。

如果stereovideobox不存在,则constituent_picture_matching_regions不应等于1。

注意1:针对将类似的逐区域封装用于组成图片的立体内容,将该标志设置为等于1允许发送信号通知逐区域封装信息更加紧凑。

num_region指定封装区域的数量。保留值0。

如果constituent_picture_matching_regions等于1,则封装区域的总数等于2*num_regions,并且rectregionpacking(i)中的信息,包括proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]、proj_reg_left[i]、packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、packed_reg_left[i]以及guard_band_flag[i]、packing_type[i]、left_gb_width[i]、right_gb_width[i]、top_gb_height[i]、bottom_gb_height[i]、gb_not_used_for_pred_flag[i]、gb_type[i],适用于投影图片和封装图片的每个组成图片。

proj_picture_width和proj_picture_height分别指定投影图片的宽度和高度。proj_picture_width和proj_picture_height应大于0。

guard_band_flag[i]等于0指定第i个封装区域没有保护带。

guard_band_flag[i]等于1指定第i个封装区域有保护带。

packing_type[i]指定逐区域封装的类型。packing_type[i]等于0指示矩形逐区域封装。保留其他值。

left_gb_width[i]以两个亮度样本为单位指定第i个区域左侧的保护带的宽度。

right_gb_width[i]以两个亮度样本为单位指定第i个区域右侧的保护带的宽度。

top_gb_width[i]以两个亮度样本为单位指定第i个区域上方的保护带的高度。

bottom_gb_height[i]以两个亮度样本为单位指定第i个区域下方的保护带的高度。

当guard_band_flag[i]等于1时,left_gb_width[i]、right_gb_width[i]、top_gb_height[i]或bottom_gb_height[i]应大于0。

由该regionwisepackingstruct指定的第i个封装区域不应与由同一regionwisepackingstruct指定的任何其他封装区域或由同一regionwisepackingstruct指定的任何保护带重叠。

与如由该regionwisepackingstruct指定的第i个封装区域(如果有的话)相关联的保护带不应与由同一regionwisepackingstruct指定的任何封装区域或由同一regionwisepackingstruct指定的任何其他保护带重叠。

gb_not_used_for_pred_flag[i]等于0指定在帧间预测过程中可使用或可不使用保护带。gb_not_used_for_pred_flag[i]等于1指定保护带的样本值不在帧间预测过程中。

注意2:即使将解码后的图片用作对待解码的后续图片进行帧间预测的参考,当gb_not_used_for_pred_flag[i]等于1时,也可重写解码图片中保护带内的样本值。例如,一个封装区域的内容可通过另一个封装区域的解码且重新投影的样本无缝扩展至其保护带。

gb_type[i]指定第i个封装区域的保护带的类型,如下所示:

-gb_type[i]等于0指定未指定相对于封装区域内容的保护带内容。当gb_not_used_for_pred_flag等于0时,gb_type不应等于0。

-gb_type[i]等于1指定保护带的内容足以用于封装区域内的子像素值以及在封装区域的边界之外的少于一个的像素的内插。

注意3:当封装区域的边界样本已水平或垂直地复制到保护带时,可使用等于1的gb_type。

-gb_type[i]等于2指定保护带的内容表示其质量从该封装区域的图片质量逐渐变为球形相邻封装区域的图片质量的实际图像内容。

-gb_type[i]等于3指定保护带的内容表示该封装区域的图片质量下的实际图像内容。

-大于3的gb_type[i]值被保留。

如果constituent_picture_matching_regions等于0,则在投影图片中以像素为单位指示proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i],其宽度和高度分别等于proj_picture_width和proj_picture_height。

如果constituent_picture_matching_regions等于l:

○当stereovideobox存在并指示并排帧封装时,将hordiv1设置为等于2,并将verdiv1设置为等于1。

○当stereovideobox存在并指示上下帧封装时,将hordiv1设置为等于1,并将verdiv1设置为等于2。

在投影图片的每个组成图片中以像素为单位指示oproj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i],其宽度和高度分别等于proj_picture_width/hordiv1和proj_picture_height/verdiv1。

在封装图片的每个组成图片中以像素为单位指示opacked_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i],其宽度和高度分别等于packedpicwidth/hordiv1和packedpicheight/verdiv1。

proj_reg_width[i]指定第i个投影区域的宽度,即proj_reg_width[i],应大于0。

proj_reg_height[i]指定第i个投影区域的高度,即proj_reg_height[i],应大于0。

如果constituent_picture_matching_regions等于0,则proj_reg_top[i]和proj_reg_left[i]指定投影图片中的顶部样本行和最左边样本列,或者如果constituent_picture_matching_regions等于1,则指定投影图片的组成图片中的顶部样本行和最左边样本列。

如果constituent_picture_matching_regions等于0,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-2(包括端值)以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-2(包括端值)的范围内。

如果constituent_picture_matching_regions等于1,并且stereovideobox指示并排帧封装,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-1以及0(包括端值,其指示投影图片的左上角)至proj_picture_width/2-1(包括端值)的范围内。

如果constituent_picture_matching_regions等于1,并且stereovideobox指示上下帧封装,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height/2-1以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-l(包括端值)的范围内。

在另一个示例中,

如果constituent_picture_matching_regions等于0,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-2以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-2(包括端值)的范围内。

如果constituent_picture_matching_regions等于1,并且stereovideobox指示并排帧封装,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-2以及0(包括端值,其指示投影图片的左上角)至proj_picture_width/2-2(包括端值)的范围内。

如果constituent_picture_matching_regions等于1,并且stereovideobox指示上下帧封装,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height/2-2以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-2(包括端值)的范围内。

如果stereovidoobox不存在,则可应用以下约束:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

如果stereovideobox存在并指示并排帧封装,并且constituent_picture_matching_regions等于0,则可应用以下约束:

proj_reg_width[i]应小于或等于proj_picture_width/2。

如果proj_reg_left[i]小于proj_picture_width/2,则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/2。

否则(即,当proj_reg_left[i]大于或等于proj_picture_width/2时),应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-proj_picture_width/2-1小于proj_picture_width/2。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

如果stereovideobox存在并指示上下帧封装,并且constituent_picture_matching_regions等于0,则可应用以下约束:

proj_reg_height[i]应小于或等于proj_picture_height/2。

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

如果proj_reg_top[i]小于proj_picture_height/2,则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/2。

否则(即,当proj_reg_top[i]大于或等于proj_picture_height/2时),应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-proj_picture_height/2-1小于proj_picture_height/2。

如果stereovideobox存在并指示并排帧封装,并且constituent_picture_matching_regions等于1,则可应用以下约束:

proj_reg_width[i]应小于或等于proj_picture_width/2。

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/2。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

如果stereovideobox存在并指示上下帧封装,并且constituent_picture_matching_regions等于1,则可应用以下约束:

proj_jreg_height[i]应小于或等于proj_picture_height/2。

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/2。

如果stereovideobox存在并指示并排帧封装,则proj_reg_width[i]应小于或等于proj_picture_width/2。

如果stereovideobox存在并指示上下帧封装,则proj_reg_height[i]应小于或等于proj_picture_height/2。

当投影图片为立体时,proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]应使得由这些字段标识的投影区域在投影图片的单个组成图片内。

transform_type[i]指定已应用于第i个投影区域以在编码之前将其映射到封装图片的旋转和镜像。当transform_type[i]指定旋转和镜像两者时,在从投影图片到编码之前的封装图片的逐区域封装中进行镜像之后,已应用旋转。指定以下值并保留其他值:

0:无变换

1:水平镜像

2:旋转180°(逆时针)

3:水平镜像后旋转180°(逆时针)

4:水平镜像后旋转90°(逆时针)

5:旋转90°(逆时针)

6:水平镜像后旋转270°(逆时针)

7:旋转270°(逆时针)

注意4:[choi的子句5.4矩形逐区域封装的样本位置转换]指定transform_type[i]的语义,用于将封装图片中封装区域的样本位置转换为投影图片中投影区域的样本位置。

如果constituent_picture_matching_regions等于0,则packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]分别指定封装图片中封装区域的宽度、高度、顶部样本行和最左边样本列,或者如果constituent_picture_matching_regions等于1,则指定封装图片的组成图片中封装区域的宽度、高度、顶部样本行和最左边样本列。

packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]的值受如下约束:

-packed_reg_width[i]和packed_reg_height[i]应大于0。

-packed_rog_top[i]和packed_reg_left[i]应分别在0(包括端值,其指示封装图片的左上角)至packedpicheight-2(包括端值)以及0(包括端值,其指示封装图片的左上角)至packedpicwidth-2(包括端值)的范围内。

在另一个示例中:packed_reg_top[i]和packed_reg_left[i]应分别在0(包括端值,其指示封装图片的左上角)至packedpicheight-1(包括端值)以及0(包括端值,其指示封装图片的左上角)至packedpicwidth-1(包括端值)的范围内。

-如果stereovideobox不存在,并且constituent_picture_matching_regions等于0:

○packed_reg_width[i]和packed_reg_left[i]之和应小于packedpicwidth。

○packed_reg_height[i]和packed_reg_top[i]之和应小于packedpicheight。

在另一个示例中:

○packed_reg_width[i]和packed_reg_left[i]之和减去1应小于packedpicwidth。

○packed_reg_height[i]和packed_reg_top[i]之和减去1应小于packedpicheight。

-如果stereovideobox存在并指示并排帧封装,并且constituent_picture_matching_regions等于1:

○packed_reg_width[i]和packed_reg_left[i]之和应小于packedpicwidth/2。

○packed_reg_height[i]和packed_reg_top[i]之和应小于packedpicheight。

在另一个示例中:

○packed_reg_width[i]和packed_reg_left[i]之和减去1应小于packedpicwidth/2。

○packed_reg_height[i]和packed_reg_top[i]之和减去1应小于packedpicheight。

-如果stereovideobox存在并指示上下帧封装,并且constituent_picture_matching_regions等于1:

○packed_reg_width[i]和packed_reg_left[i]之和应小于packedpicwidth。

○packed_reg_height[i]和packed_reg_top[i]之和应小于packedpicheight/2。

在另一个示例中:

○packed_reg_width[i]和packed_reg_left[i]之和减去1应小于packedpicwidth。

○packed_reg_height[i]和packed_reg_top[i]之和减去1应小于packedpicheight/2。

-针对0至num_regions-1(包括端值)的范围内的每个i值由packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]指定的矩形应与针对0到i-1(包括端值)的范围内的任何j值由packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]和packed_reg_left[j]指定的矩形不重叠。

在一个示例中,数据封装器107可被配置为基于上文提供的语法和以下示例性语义来发送信号通知regionwisepa-ckingbox:

语义

constituent_picture_matching_regions等于1指示在该盒中发送信号通知的投影区域信息、封装区域信息和保护带区域信息单独地应用于每个组成图片。constituent_picture_matching_regions等于0指示在该盒中发送信号通知的投影区域信息、封装区域信息和保护带区域信息应用于投影图片。

如果stereovideobox不存在,则constituent_picture_matching_regions不应等于1。

注意1:针对将类似的逐区域封装用于组成图片的立体内容,将该标志设置为等于1允许发送信号通知逐区域封装信息更加紧凑。

num_region指定封装区域的数量。保留值0。

如果constituent_picture_matching__regions等于1,则封装区域的总数等于2*num_regions,并且rectregionpacking(i)中的信息,包括proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]、proj_reg_left[i1、packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、packed_regjeft[i]以及guard_band_flag[i]、packing_type[i]、left_gb_width[i]、right_gb_width[i]、top_gb_height[i]、bottom_gb_height[i]、gb_not_used_for_pred_flag[i]、gb_type[i],适用于投影图片和封装图片的每个组成图片。

proj_picture_width和proj_picture_height分别指定投影图片的宽度和高度。proj_picture_width和proj_picture_height应大于0。

guard_band_flag[i]等于0指定第i个封装区域没有保护带。

guard_band_flag[i]等于1指定第i个封装区域有保护带。

packing_type[i]指定逐区域封装的类型。packing_type[i]等于0指示矩形逐区域封装。保留其他值。

left_gb_width[i]以两个亮度样本为单位指定第i个区域左侧的保护带的宽度。

right_gb_width[i]以两个亮度样本为单位指定第i个区域右侧的保护带的宽度。

top_gb_width[i]以两个亮度样本为单位指定第i个区域上方的保护带的高度。

bottom_gb_height[i]以两个亮度样本为单位指定第i个区域下方的保护带的高度。

当guard_band_flag[i]等于1时,left_gb_width[i]、right_gb_width[i]、top_gb_height[i]或bottom_gb_height[i]应大于0。

由该regionwisepackingstruct指定的第i个封装区域不应与由同一regionwisepackingstruct指定的任何其他封装区域或由同一regionwisepackingstruct指定的任何保护带重叠。

与如由该regionwisepackingstruct指定的第i个封装区域(如果有的话)相关联的保护带不应与由同一regionwisepackingstruct指定的任何封装区域或由同一regionwisepackingstruct指定的任何其他保护带重叠。

gb_not_used_for_pred_flag[i]等于0指定在帧间预测过程中可使用或可不使用保护带。gb_not_used_for_pred_fiag[i]等于1指定保护带的样本值不在帧间预测过程中。

注意2:即使将解码后的图片用作对待解码的后续图片进行帧间预测的参考,当gb_not_used_for_pred_flag[i]等于1时,也可重写解码图片中保护带内的样本值。例如,一个封装区域的内容可通过另一个封装区域的解码且重新投影的样本无缝扩展至其保护带。

gb_type[i]指定第i个封装区域的保护带的类型,如下所示:

-gb_type[i]等于0指定未指定相对于封装区域内容的保护带内容。当gb_not_used_for_pred_flag等于0时,gb_type不应等于0。

-gb_type[i]等于1指定保护带的内容足以用于封装区域内的子像素值以及在封装区域的边界之外的少于一个的像素的内插。

注意3:当封装区域的边界样本已水平或垂直地复制到保护带时,可使用等于1的gb_type。

-gb_type[i]等于2指定保护带的内容表示其质量从该封装区域的图片质量逐渐变为球形相邻封装区域的图片质量的实际图像内容。

-gb_type[i]等于3指定保护带的内容表示该封装区域的图片质量下的实际图像内容。

-大于3的gb_type[i]值被保留。

如果constituent_picture_matching_regions等于0,则在投影图片中以像素为单位指示proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i],其宽度和高度分别等于proj_picture_width和proj_picture_height。

将变量hordiv1和verdiv1的值设置为如下:

○当stereovideobox不存在时,将hordiv1设置为等于1,并且将verdiv设置为等于1。

○当stereovideobox存在并指示并排帧封装时,将hordiv1设置为等于2,并将verdiv1设置为等于1。

○当stereovideobox存在并指示上下帧封装时,将hordiv1设置为等于1,并将verdiv1设置为等于2。

如果constituent_picture_matching_regions等于1:

在投影图片的每个组成图片中以像素为单位指示oproj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i],其宽度和高度分别等于proj_picture_width/hordiv1和proj_picture_height/verdiv1。

在封装图片的每个组成图片中以像素为单位指示opacked_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i],其宽度和高度分别等于packedpicwidth/hordiv1和packedpicheight/verdiv1。

proj_reg_width[i]指定第i个投影区域的宽度,即proj_reg_width[i],应大于0。

proj_reg_height[i]指定第i个投影区域的高度,即proj_reg_height[i],应大于0。

如果constituent_picture_matching_regions等于0,则proj_reg_top[i]和proj_reg_left[i]指定投影图片中的顶部样本行和最左边样本列,或者如果constituent_picture_matching_regions等于1,则指定投影图片的组成图片中的顶部样本行和最左边样本列。

如果constituent_picture_matching_regions等于0,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-l(包括端值)以及0(包括端值,其指示投影图片的左上角)至proj_picture_width,-1(包括端值)的范围内。

如果constituent_picture_matching_regions等于1,则值proj_reg_top[i]和proj_reg_left[i]应分别在0(包括端值)至proj_picture_height/verdiv1-1以及0(包括端值)至proj_picture_width/hordiv1-1(包括端值)的范围内。

如果stereovideobox不存在,则可应用以下约束:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

当投影图片为立体时,proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]应使得由这些字段标识的投影区域在投影图片的单个组成图片内。

transform_type[i]指定已应用于第i个投影区域以在编码之前将其映射到封装图片的旋转和镜像。当transform_type[i]指定旋转和镜像两者时,在从投影图片到编码之前的封装图片的逐区域封装中进行镜像之后,已应用旋转。指定以下值并保留其他值:

0:无变换

1:水平镜像

2:旋转180°(逆时针)

3:水平镜像后旋转180°(逆时针)

4:水平镜像后旋转90°(逆时针)

5:旋转90°(逆时针)

6:水平镜像后旋转270°(逆时针)

7:旋转270°(逆时针)

注意4:[choi的子句5.4矩形逐区域封装的样本位置转换]指定transform_type[i]的语义,用于将封装图片中封装区域的样本位置转换为投影图片中投影区域的样本位置。

如果constituent_picture_matching_regions等于0,则packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]分别指定封装图片中封装区域的宽度、高度、顶部样本行和最左边样本列,或者如果constituent_picture_matching_regions等于1,则指定封装图片的组成图片中封装区域的宽度、高度、顶部样本行和最左边样本列。

packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]的值受如下约束:

-packed_reg_width[i]和packed_reg_height[i]应大于0。

-packed_reg_top[i]和packed_reg_left[i]应分别在0(包括端值,其指示封装图片的左上角)至packedpicheight-1(包括端值)以及0(包括端值,其指示封装图片的左上角)至packedpicwidth-1(包括端值)的范围内。

-如果stereovideobox不存在,并且constituent_picture_matching_regions等于0:

○packed_reg_width[i]和packed_reg_left[i]之和减去1应小于packedpicwidth。

○packed_reg_height[i]和packed_reg_top[i]之和减去1应小于packedpicheight。

-如果constituent_picture_matching_regions等于i:

○packed_reg_width[i]和packed_reg_left[i]之和减去1应小于packedpicwidth/hordiv1,

○packed_reg_height[i]和packed_reg_top[i]之和减去1应小于packedpicwidth/verdiv1。

由packed_reg_width[i]、packed_reg_height[i]、packed._rog_top[i]和packed_reg_left[i]指定的矩形应与针对0至i-1(包括端值)的范围内的任何j值由packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]和packed_reg_left[j]指定的矩形不重叠。

应当指出的是,就上述示例性语义而言,以下条件是可能的:(1)stereovideobox不存在;(2)stereovideobox存在并指示并排帧封装,并且con-stituent_picture_matching_regions等于0;(3)stereovideobox存在并指示上下帧封装,并且constituent_picture_matching_regions等于0;(4)stereovideobox存在并指示并排帧封装,并且con-stituent_picture_matching_regions等于1;(5)stereovideobox存在并指示上下帧封装,并且constituent_picture_matching_regions等于1。就当stereovideobox存在并指示并排帧封装以及stereovideobox存在并指示上下帧封装以及进一步以constituent_picture_matching_regions为条件时发生的对proj_reg_left[i]、proj_reg_width[i]、proj_reg_top[i]和proj_reg_height[i]的约束而言,在一个示例中,可独立于constituent_picture_matching_regions的值应用当con-stituent_picture_matching_regions等于0时发生的上述语义中的约束。在一个示例中,可独立于constituent_picture_matching_regions的值来应用当constituent_picture_matching_regions等于1时发生的上述语义中的约束。

在一个示例中,在未发送信号通知con-stituent_picture_matching_flag的情况下,可以施加以下约束:

如果stereovideobox不存在:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-l小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-l小于proj_picture_hoight。

如果stereovideobox存在并指示并排帧封装:

如果proj_reg_left[i]小于proj_picture_width/2,则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/2。

否则(即,当proj_reg_left[i]大于或等于proj_picture_width/2时),则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-proj_picture_width/2-1小于proj_picture_width/2。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

如果stereovideobox存在并指示上下帧封装:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

如果proj_reg_top[i]小于proj_picture_height/2,则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/2。

否则(即,当proj_reg_top[i]大于或等于proj_picture_height/2时),应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-proj_picture_height/2-1小于proj_picture_height/2。

在一个示例中,在未发送信号通知con-stituent_picture_matching_flag的情况下,可以施加以下约束:

如果stereovideobox存在并指示并排帧封装:

如果proj_reg_left[i]小于proj_picture_width/2,则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]小于proj_picture_width/2。

否则(即,当proj_reg_left[i]大于或等于proj_picture_width/2时),则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-proj_picture_width/2小于proj_picture_width/2。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]小于proj_picture_height。

如果stereovideobox存在并指示上下帧封装:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]小于proj_picture_width。

如果proj_reg_top[i]小于proj_picture_height/2,则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]小于proj_picture_height/2。

否则(即,当proj_reg_top[i]大于或等于proj_picture_height/2时),则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-proj_picture_height/2小于proj_picture_height/2。

在一个示例中,可施加以下一组约束:

proj_reg_top[i]和proj_reg_left[i]指定投影图片中的顶部样本行和最左边样本列。这些值应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-1(包括端值)以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-1(包括端值)的范围内。

如果stereovideobox不存在,并且constituent_picture_matching_regions等于0:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-l小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height。

如果stereovideobox存在,并且constituent_picture_matching_regions等于ck

如果proj_reg_left[i]小于proj_picture_width/hordiv1,则应约束proj_reg_width[i]和proj_rog_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/hordiv1。

否则(即,当proj_reg_left[i]大于或等于proj_picture_width/hordiv1时),则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-proj_picture_width/hordiv1-1小于proj_picture_width/hordiv1。

如果proj_reg_top[i]小于proj_picture_height/verdiv1,则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/verdiv1。

否则(即,当proj_reg_top[i]大于或等于proj_picture_height/verdiv1时),应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-proj_picture_height/verdiv1-1小于proj_picture_height/verdiv1。

如果constituent_picture_matching_regions等于1:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/hordiv1。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/verdiv1。

在一个示例中,可施加以下一组约束:

proj_reg_top[i]和proj_reg_left[i]指定投影图片中的顶部样本行和最左边样本列。这些值应分别在0(包括端值,其指示投影图片的左上角)至proj_picture_height-1(包括端值)以及0(包括端值,其指示投影图片的左上角)至proj_picture_width-1(包括端值)的范围内。

-如果stereovideobox不存在:

应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width。

应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_hoight[i]+proj_reg_top[i]-l小于proj_picture_height。

-如果stereovideobox存在:

proj_reg_width[i]应小于或等于proj_picture_width/hordiv1。

如果proj_reg_left[i]小于proj_picture_width/hordiv1,则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-1小于proj_picture_width/hordiv1。

否则(即,当proj_reg_left[i]大于或等于proj_picture_width/hordiv1时),则应约束proj_reg_width[i]和proj_reg_left[i],使得proj_reg_width[i]+proj_reg_left[i]-proj_picture_width/hordiv1-1小于proj_picture_width/hordiv1。

proj_reg_height[i]应小于或等于proj_picture_height/verdiv1。

如果proj_reg_top[i]小于proj_picture_height/verdiv1,则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-1小于proj_picture_height/verdiv1。

否则(即,当proj_reg_top[i]大于或等于proj_picture_hoight/verdiv1时),则应约束proj_reg_height[i]和proj_reg_top[i],使得proj_reg_height[i]+proj_reg_top[i]-proj_picture_height/verdiv1-1小于proj_picture_height/verdiv1。

这样,数据封装器107表示被配置为发送信号通知与逐区域封装相关联的信息的设备的示例。

再次参见图1,接口108可以包括被配置为接收由数据封装器107生成的数据并且将数据发送和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以使文件能够存储在存储设备上。例如,接口108可以包括支持外围组件互连(pci)和高速外围组件互连(pcie)总线协议的芯片集、专用总线协议、通用串行总线(usb)协议、i2c、或任何其他可用于互连对等设备的逻辑和物理结构。

再次参考图1,目标设备120包括接口122、数据解封装器123、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收数据的任何设备。接口122可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括计算机系统接口,使得能够从存储设备检索合规的视频比特流。例如,接口122可包括支持pci和pcie总线协议、专用总线协议、usb协议、i2c的芯片组,或者可被用于互连对等设备的任何其他逻辑和物理结构。数据解封装器123可被配置为接收由数据封装器107生成的比特流和元数据,并执行倒数解封装过程。

视频解码器124可以包括被配置为接收比特流和/或其可接受变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一种类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。显示器126可以包括立体显示器。应当指出的是,虽然在图1所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。目标设备120可以包括接收器设备。

图7是示出可实现本公开的一种或多种技术的接收器设备的示例的框图。也就是说,接收器设备600可被配置为基于上述语义来解析信号和/或执行封装帧中的样本位置到投影结构的角坐标的映射。接收器设备600是计算设备的示例,其可以被配置为从通信网络接收数据并允许用户访问多媒体内容(包括虚拟现实应用程序)。在图7所示的示例中,接收器设备600被配置为经由电视网络(例如,上述电视服务网络404)接收数据。此外,在图7所示的示例中,接收器设备600被配置为经由广域网发送和接收数据。应当指出的是,在其他示例中,接收器设备600可以被配置为通过电视服务网络404简单地接收数据。本文所述的技术可以由被配置为利用通信网络的任意组合和所有组合进行通信的设备使用。

如图7中所示,接收器设备600包括中央处理单元602、系统存储器604、系统接口610、数据提取器612、音频解码器614、音频输出系统616、视频解码器618、显示系统620、i/o设备622和网络接口624。如图7所示,系统存储器604包括操作系统606和应用程序608。中央处理单元602、系统存储器604、系统接口610、数据提取器612、音频解码器614、音频输出系统616、视频解码器618、显示系统620、i/o设备622和网络接口624中的每一者可以互连(物理地、通信地和/或可操作地)用于部件间的通信,并且可以实现为各种合适的电路中的任一种,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或它们的任何组合。应当指出的是,尽管接收器设备600被示出为具有不同的功能块,但是此类图示是出于描述的目的,并且不会将接收器设备600限制到特定的硬件构架。可以使用硬件、固件和/或软件具体实施的任意组合来实现接收器设备600的功能。

cpu602可被配置为实现用于在接收器设备600中执行的功能和/或处理指令。cpu602可以包括单核和/或多核中央处理单元。cpu602能够检索和处理用于实现本文所述技术中的一种或多种的指令、代码和/或数据结构。指令可存储在计算机可读介质上,诸如系统存储器604。

系统存储器604可被描述为非暂态或有形计算机可读存储介质。在一些示例中,系统存储器604可提供临时和/或长期存储。在一些示例中,系统存储器604或其部分可被描述为非易失性存储器,并且在其他示例中,系统存储器604的部分可被描述为易失性存储器。系统存储器604可以被配置为存储可在操作期间由接收器设备600使用的信息。系统存储器604可以用于存储程序指令以供cpu602执行,并且可以由在接收器设备600上运行的程序使用以在程序执行期间临时存储信息。此外,在其中接收器设备600作为数字视频录像机的一部分被包括的示例中,系统存储器604可以被配置为存储多个视频文件。

应用程序608可以包括在接收器设备600内实现或由其执行的应用程序,并且可以被实现或包含在接收器设备600的部件内,可以由该计算设备的部件操作、执行,并且/或者可操作地/通信地耦接到该计算设备的部件。应用程序608可以包括可使接收器设备600的cpu602执行特定功能的指令。应用程序608可以包括在计算机编程语句中表达的算法,诸如for循环、while循环、if语句、do循环等。可以使用指定的编程语言来开发应用程序608。编程语言的示例包括javatm、jinitm、c、c++、objectivec、swift、perl、python、php、unixshell、visualbasic和visualbasicscript。在其中接收器设备600包括智能电视的示例中,应用程序可以由电视制造商或广播公司开发。如图7所示,应用程序608可结合操作系统606执行。也就是说,操作系统606可以被配置为促进应用程序608与cpu602以及接收器设备600的其他硬件部件的交互。操作系统606可以是被设计为安装在机顶盒、数字视频录像机、电视等上的操作系统。应当指出的是,本文描述的技术可以被配置为利用软件架构的任何和所有组合进行操作的设备使用。

系统接口610可以被配置为启用接收器设备600的部件之间的通信。在一个示例中,系统接口610包括使数据能够从一个对等设备传输到另一个对等设备或传输到存储介质的结构。例如,系统接口610可包括支持基于加速图形端口(agp)的协议、基于外围部件互连(pci)总线的协议(诸如pciexpresstm(pcie)总线规范,其由外围部件互连专门兴趣组维护)或可用于互连对等设备的任何其他形式的结构(例如,专用总线协议)的芯片组。

如上所述,接收器设备600被配置为经由电视服务网络接收并任选地发送数据。如上所述,电视服务网络可以根据电信标准进行操作。电信标准可限定通信属性(例如,协议层),例如物理信令、寻址、信道访问控制、数据包属性和数据处理。在图7所示的示例中,数据提取器612可被配置为从信号中提取视频、音频和数据。可以根据例如dvb标准、atsc标准、isdb标准、dtmb标准、dmb标准和docsis标准等方面来定义信号。

数据提取器612可以被配置为从信号中提取视频、音频和数据。也就是说,数据提取器612可以与服务分发引擎互逆的方式操作。此外,数据提取器612可以被配置为基于上述结构中的一者或多者的任意组合来解析链路层数据包。

数据分组可以由cpu602、音频解码器614和视频解码器618来处理。音频解码器614可以被配置为接收和处理音频包。例如,音频解码器614可包括被配置为实现音频编解码器的各方面的硬件和软件的组合。也就是说,音频解码器614可以被配置为接收音频包并将音频数据提供给音频输出系统616以进行呈现。音频数据可以使用多信道格式编码,诸如由杜比和数字影院系统开发的格式。可以使用音频压缩格式对音频数据进行编码。音频压缩格式的示例包括运动图像专家组(mpeg)格式、高级音频编码(aac)格式、dts-hd格式和杜比数字(ac-3)格式。音频输出系统616可以被配置为呈现音频数据。例如,音频输出系统616可包括音频处理器、数字-模拟转换器、放大器和扬声器系统。扬声器系统可以包括各种扬声器系统中的任一种,诸如耳机、集成立体声扬声器系统、多扬声器系统或环绕声系统。

视频解码器618可以被配置为接收和处理视频包。例如,视频解码器618可包括用于实现视频编解码器的各方面的硬件和软件的组合。在一个示例中,视频解码器618可被配置为解码根据任何数量的视频压缩标准编码的视频数据,这些视频压缩标准诸如itu-th.262或iso/iecmpeg-2visual、iso/iecmpeg-4visual、itu-th.264(也称为iso/iecmpeg-4高级视频编码(avc))以及高效视频编码(hevc)。显示系统620可被配置为检索和处理视频数据以供显示。例如,显示系统620可以从视频解码器618接收像素数据并输出数据以用于视觉呈现。此外,显示系统620可以被配置为结合视频数据输出图形(例如,图形用户界面)。显示系统620可包括各种显示设备中的一种,诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器、或能够向用户呈现视频数据的其他类型的显示设备。显示设备可以被配置为显示标准清晰度内容、高清晰度内容或超高清内容。

i/o设备622可以被配置为在接收器设备600的操作期间接收输入并提供输出。也就是说,i/o设备622可以使用户能够选择要呈现的多媒体内容。可以从输入设备处生成输入,诸如,按钮式遥控器、包括触敏屏幕的设备、基于运动的输入设备、基于音频的输入设备、或配置为接收用户输入的任何其他类型的设备。i/o设备622可以利用标准化通信协议可操作地耦接到接收器设备600,该标准化通信协议诸如通用串行总线协议(usb)、蓝牙、zigbee或专有通信协议(诸如,专有的红外通信协议)。

网络接口624可以被配置为使接收器设备600能够经由局域网和/或广域网发送和接收数据。网络接口624可以包括网络接口卡,诸如以太网卡、光收发器、射频收发器或者被配置为发送和接收信息的任何其他类型的设备。网络接口624可被配置为根据网络中利用的物理和媒体访问控制(mac)层执行物理信令、寻址和信道访问控制。接收器设备600可以被配置为解析根据上述任何技术生成的信号。这样,接收器设备600表示被配置为解析包括与虚拟现实应用程序相关联的信息的一个或多个语法元素的设备的示例。

在一个或多个示例中,所描述的功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从某个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。

以举例而非限制的方式,此类计算机可读存储介质可包括ram、rom、eeprom、cd-rom或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器,或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(dsl)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、dsl或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(cd)、激光盘、光学光盘、数字通用光盘(dvd)、软磁盘及blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。

可以由一个或多个处理器诸如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效集成或离散逻辑电路执行指令。因此,如本文所使用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文描述的功能,或者将其结合到组合编解码器中。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。

本公开的技术可以在各种设备或装置包括无线手机、集成电路(ic)或一组ic(例如,芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。

此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(dsp)、专用或通用集成电路(asic)、现场可编程门阵列(fpga),或其他可编程逻辑设备、分立栅极或晶体管逻辑器,或分立硬件部件,或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。

已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。

<交叉引用>

本非临时专利申请根据《美国法典》第35卷第119节(35u.s.c.§119)要求于2017年6月30日提交的临时申请62/527,141、2017年7月17日提交的临时申请62/533,228的优先权,这两个申请的全部内容据此以引用方式并入。

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