用于在虚拟现实应用中发信号通知区域的质量信息的系统和方法

文档序号:1713854 发布日期:2019-12-13 浏览:36次 >En<

阅读说明:本技术 用于在虚拟现实应用中发信号通知区域的质量信息的系统和方法 (System and method for signaling quality information of a region in a virtual reality application ) 是由 萨钦·G·德施潘德 于 2018-02-14 设计创作,主要内容包括:本发明公开了一种设备,所述设备可被配置为根据本文所述的一种或多种技术发信号通知与全向视频中的区域的相对质量相关联的信息(例如,段落[0067]和[0068]中的is_stereo_content_flag、remaining_right_area_flag、remaining_both_area_flag、num_both_regions和num_right_regions)。(A device may be configured to signal information associated with the relative quality of regions in omnidirectional video (e.g., is _ stereo _ content _ flag, remaining _ right _ area _ flag, remaining _ body _ area _ flag, num _ body _ regions, and num _ right _ regions in paragraphs [0067] and [0068 ]) according to one or more techniques described herein.)

用于在虚拟现实应用中发信号通知区域的质量信息的系统和 方法

技术领域

本公开涉及交互式视频分发,并且更具体地涉及用于发信号通知视频区域的质量信息的技术。

背景技术

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

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

发明内容

在一个示例中,一种发信号通知与全向视频的一个或多个区域相关联的质量信息的方法包括发信号通知指示该全向视频是否是立体的语法元素,并且有条件地发信号通知基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

在一个示例中,一种解析与全向视频的一个或多个区域相关联的质量信息的方法包括解析指示该全向视频是否是立体的语法元素,并且有条件地解析基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

附图说明

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

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

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

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

图4是示出根据本公开的一种或多种技术的视频在球体上的区域的概念图。

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

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

具体实施方式

整体而言,本公开描述了用于编码视频数据的各种技术。具体地讲,本公开描述了用于发送信号通知与全向视频相关联的质量等级信息的技术。根据本文所述的技术来发送信号通知信息对于通过降低传输带宽和/或降低编码复杂度来改善视频分发系统性能可能特别有用。应当指出的是,虽然本公开的技术是相对于ITU-T H.264和ITU-T H.265描述的,但是本公开的技术通常可应用于视频编码。例如,本文中所描述的编码技术可并入包括块结构的视频编码系统(包括基于未来视频编码标准的视频编码系统)、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或熵编码技术,但ITU-T H.265中的那些除外。因此,对ITU-T H.264和ITU-T H.265的参考是用于描述性目的的,并且不应将其解释为限制本文描述技术的范围。此外,应当指出的是,将文献以引用方式并入本文不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文中使用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以在包括替代方案中每个特定定义的方式来解释。

在一个示例中,一种设备包括一个或多个处理器,所述处理器被配置为发信号通知指示全向视频是否是立体的语法元素,并且有条件地发信号通知基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,所述指令在被执行时使得设备的一个或多个处理器发信号通知指示全向视频是否是立体的语法元素,并且有条件地发信号通知基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

在一个示例中,一种装置包括用于发信号通知指示全向视频是否是立体的语法元素的装置件,以及用于有条件地发信号通知基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素的装置件。

在一个示例中,一种设备包括一个或多个处理器,所述处理器被配置为解析指示全向视频是否是立体的语法元素,并且有条件地解析基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,所述指令在被执行时使得设备的一个或多个处理器解析指示全向视频是否是立体的语法元素,并且有条件地解析基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素。

在一个示例中,一种装置包括用于解析指示全向视频是否是立体的语法元素的装置件,以及用于有条件地解析基于该全向视频是否是立体的而指定一个或多个区域的质量等级的一个或多个语法元素的装置件。

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

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

在ITU-T H.265中,可以根据相应的四叉树块结构将CTU的CTB分割成编码块(CB)。根据ITU-T H.265,一个亮度CB连同两个对应的色度CB和相关联的语法元素被称为一个编码单元(CU)。CU与为CU定义一个或多个预测单元(PU)的预测单元(PU)结构关联,其中PU与对应的参考样本相关联。也就是说,在ITU-T H.265中,使用帧内预测或帧间预测来对图片区域进行编码的决定是在CU级别进行的,并且对于CU,可以使用与帧内预测或帧间预测相对应的一个或多个预测来生成CU的CB的参考样本。在ITU-T H.265中,PU可以包括亮度和色度预测块(PB),其中方形PB被支持用于帧内预测,并且矩形PB被支持用于帧间预测。帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)可将PU与对应参考样本相关联。残差数据可以包括对应于视频数据的每个分量(例如,亮度(Y)和色度(Cb和Cr))的相应差值阵列。残差数据可能在像素域中。可对像素差值应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.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/IEC JTC1/SC29/WG11 N16636,“MPEG-A Part 20(WD on ISO/IEC23000-20):Omnidirectional Media Application Format”,2017年1月,Geneva,CH,该文献以引用方式并入本文,并且在本文中被称为Choi,其限定了能够启用全向媒体应用程序的媒体应用格式。Choi指定:可用于将球形或360°视频转换为二维矩形视频的投影技术列表;如何利用国际标准化组织(ISO)基础媒体文件格式(ISOBMFF)存储全向媒体和相关联元数据;如何利用超文本传输协议(HTTP)上的动态自适应流传输(DASH)来封装、发信号通知和流传输全向媒体;以及哪些视频和音频编码标准以及媒体编码配置可以用于全向媒体信号的压缩和回放。

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

此外,如图2B所示,图块可以形成图块集(即,图块2和图块5形成图块集)。可以使用图块集来定义用于编码依赖性的边界(例如,帧内预测依赖性、熵编码依赖性等),并且因此可以在编码中启用并行性。例如,如果图2B所示的示例中的视频序列与夜间新闻节目相对应,则由图块2和图块5形成的图块集可以与包括阅读新闻的新闻主播的视觉区域相对应。ITU-T H.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所示,这些区域中的每一个与质量相关联。如本文所用,术语“质量”可指在全向显示器(例如,头戴式显示器)上呈现的图像的视觉质量,并且可包括最终影响在全向显示器上呈现的图像的视觉质量的任何视频编码参数。例如,如上所述,可根据量化参数(QP)量化变换系数。量化参数调整经编码变换系数值的精度。量化参数相对较高导致经编码变换系数值的精度较低,并且最终导致从经编码变换系数值呈现的图像的视觉质量相对较低。因此,关于全向区域的质量可指量化水平等。应当指出的是,其他视频编码参数(包括例如但不限于位深度、滤波器参数、分区结构、启用的预测技术、子采样、帧速率)最终可影响在全向显示器上呈现的图像的视觉质量。

此外,如上所述,视频编码技术可根据视频块、其子分区和/或对应结构来编码图片的区域,并且应当指出的是,视频编码技术使得能够在视频编码结构的各个水平上调整视频编码参数,例如调整片段、图块、视频块和/或在子分区处进行调整。因此,可根据各种技术在其各个子分区处调整图像(包括全向图像)的质量。应当指出的是,全向视频的区域不一定需要与视频编码边界对齐。例如,再次参见图3,可限定任意尺寸和形状的区域(图像中心处的256×128内腔样本区域)。在此类示例中,区域的质量可被确定为最终影响视觉质量的两个或更多个视频编码参数的函数。例如,对于任意形状和尺寸的区域,可通过取与该区域相关联的两个或更多个量化参数的平均值来确定质量。如下文进一步详细描述,发信号通知全向视频的区域的相对质量可能是有用的。

再次参见图3,在一个示例中,图3所示的360度视频可表示体育事件,其中区域A和区域C包括体育场的看台的视图,而区域B包括运动场的视图(例如,视频是通过位于50码线处的360度相机捕获的)。在该示例中,区域A和区域C可用比区域B更高的量化参数进行编码,因此比区域B具有相对较低的质量。应当指出的是,在一些情况下,视频的区域或子区域可在多个质量水平上进行编码。例如,对于自适应流应用,包括在区域内的MCTS(例如,图3中的图块集2)可使用多个图块轨道进行编码,其中每个轨道使用指定的质量进行编码。

应当指出的是,全向视频的区域可包括球体上的区域。Choi描述了可由四个大圆指定球体上的区域的位置,其中一个大圆(也称为黎曼圆)是球体与通过球体中心点的平面的交点,其中球体中心和大圆中心位于同一位置。Choi还描述了可由两个偏角圆和两个节距圆指定球体上的区域的位置,其中一个偏角圆是球体上连接具有相同偏角值的所有点的圆,并且一个节距圆是球体上连接具有相同节距值的所有点的圆。图4是示出球体的区域的示例的概念图。在图4所示的示例中,区域A、B和C中的每一个表示球体上的相应区域。在一个示例中,区域B可对应于与区域A和区域C相比球体上以更高质量编码的区域。

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

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

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

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

+加法

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

*乘法,包括矩阵乘法

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

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

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

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

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

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

x‖y x和y的布尔逻辑“或”

!布尔逻辑“否”

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

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

>大于

>=大于或等于

<小于

<=小于或等于

==等于

!=不等于

关于全向投影格式,Choi为等距柱状投影提供以下内容:

位置(i,j)处的投影帧的样本对应于该节中指定的角坐标(φ,θ)。角坐标分别对应于坐标系中的偏航角和俯仰角[其中偏航绕Y(垂直,向上)轴旋转、绕X(横向,左右)轴俯仰并绕Z(前后)轴滚动。旋转是外在的,即绕X、Y和Z固定参考轴。当朝原点查看时,角度逆时针增加。其中偏航范围为-180°(包括端值)至180°(不含端值);俯仰范围为-90°(包括端值)至90°(不含端值);滚动范围为-180°(包括端值)至180°(不含端值)。]

当RegionWisePackingBox不存在时,推断proj_frame_width和proj_frame_height等于VisualSampleEntry的宽度和高度。

当CoverageInformationBox不存在时,推断hor_range等于36000并且推断ver_range等于18000。

变量yawMin、yawMax、pitchMin和pitchMax的推导如下:

注:变量yawMin、yawMax、pitchMin和pitchMax的值范围不限于上文指定的偏航角和俯仰角的值范围。

yawMin=(center_yaw–hor_range÷2)*0.01*π÷180

yawMax=(center_yaw+hor_range÷2)*0.01*π÷180

pitchMin=(center_pitch–ver_range÷2)*0.01*π÷180

pitchMax=(center_pitch+ver_range÷2)*0.01*π÷180

对于i等于0到proj_frame_width-1(包括端值)并且j等于0到proj_frame_height-1(包括端值),亮度样本位置的对应角坐标(φ,θ)(用弧度表示)由以下等距柱状映射公式给出

对于使用的色度格式和色度位置类型LocType,在表1中指定了CenterLeftOffsetC、CenterTopOffsetC、FrameWidthC和FrameHeightC的值:

色度格式 LocType CenterLeft OffsetC CenterTop OffsetC FrameWidthC FrameHeightC
4:2:0 0 0.125 0.25 proj_frame_width/2 proj_frame_height/2
4:2:0 1 0.25 0.25 proj_frame_width/2 proj_frame_height/2
4:2:0 2 0.125 0.125 proj_frame_width/2 proj_frame_height/2
4:2:0 3 0.25 0.125 proj_frame_width/2 proj_frame_height/2
4:2:0 4 0.125 0.375 proj_frame_width/2 proj_frame_height/2
4:2:0 5 0.25 0.375 proj_frame_width/2 proj_frame_height/2
4:2:2 - 0.125 0.5 proj_frame_width/2 proj_frame_height/2
4:4:4 - 0.5 0.5 proj_frame_width proj_frame_height

表1

对于i等于0到FrameWidthC-1(包括端值)并且j等于0到FrameHeightC-1(包括端值),色度样本位置的对应角坐标(φ,θ)(用弧度表示)由以下等距柱状映射公式给出:

φ=(i+CenterLeftOffsetC)*(yawMax-yawMin)÷FrameWidthC+yawMinθ=(j+CenterTopOffsetC)*(pitchMin-pitchMax)÷FrameHeightC-pitchMin

关于逐区域封装,Choi为矩形逐区域封装提供以下定义、语法和语义:定义

RectRegionPacking(i)指定如何将投影帧的源矩形区域封装到封装帧的目标矩形区域上。可指示水平镜像和旋转90°、180°或270°,并且从区域的宽度和高度推断出垂直和水平重采样。

语法

aligned(8)class RectRegionPacking(i){

unsigned int(32)proj_reg_width[i];

unsigned int(32)proj_reg_height[i];

unsigned int(32)proj_reg_top[i];

unsigned int(32)proj_reg_left[i];

unsigned int(8)transform_type[i];

unsigned int(32)packed_reg_width[i];

unsigned int(32)packed_reg_height[i];

unsigned int(32)packed_reg_top[i];

unsigned int(32)packed_reg_left[i];

语义

proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]和proj_reg_left[i]在投影帧中以像素为单位指示,其宽度和高度分别等于proj_frame_width和proj_frame_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_frame_height和proj_frame_width(不含端值)的范围内。

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

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

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

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

1:无变换

2:水平镜像

3:旋转180°(逆时针)

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

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

6:旋转90°(逆时针)

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

8:旋转270°(逆时针)

packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]分别指定封装帧中区域的宽度、高度、顶部样本行和最左边样本列。对于0到i-1范围内(包括端值)的任何j值,由packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]和packed_reg_left[i]指定的矩形应与由packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]和packed_reg_left指定的矩形不重叠。

应当在上面的语法和本文中使用的语法中指出的是,unsigned int(n)是指具有n位的无符号整数。此外,bit(n)是指具有n位的位值。

如上所述,Choi指定如何利用国际标准化组织(ISO)基础媒体文件格式(ISOBMFF)存储全向媒体和相关联元数据。此外,Choi指定文件格式支持以下类型的盒的情况:方案类型盒(SchemeTypeBox)、方案信息盒(SchemeInformationBox)、投影全向视频盒(ProjectedOmnidirectionalVideoBox)、立体视频盒(StereoVideoBox)、鱼眼全向视频盒(FisheyeOmnidirectionalVideoBox)、逐区域封装盒(RegionWisePackingBox)和投影取向盒(ProjectionOrientationBox)。应当指出的是,Choi指定附加类型盒,为了简洁起见,本文未提供在Choi中指定的所有类型的盒的完整描述。关于SchemeTypeBox、SchemeInformationBox、ProjectedOmnidirectionalVideoBox、StereoVideoBox和RegionWisePackingBox,Choi提供以下内容:

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

-利用SchemeInformationBox内包含的ProjectedOmnidirectionalVideoBox指示投影单视场帧的格式。利用SchemeInformationBox内包含的FisheyeOmnidirectionalVideoBox指示鱼眼视频的格式。当方案类型为“odvd”时,ProjectedOmnidirectionalVideoBox和FisheyeOmnidirectionalVideoBox中仅仅一者应当存在于SchemeInformationBox中。

-当SchemeInformationBox中存在ProjectedOmnidirectionalVideoBox时,StereoVideoBox和RegionWisePackingBox可以存在于相同的SchemeInformationBox中。当SchemeInformationBox中存在FisheyeOmnidirectionalVideoBox时,StereoVideoBox和RegionWisePackingBox不应存在于相同的SchemeInformationBox中。

-对于立体视频,利用SchemeInformationBox内包含的StereoVideoBox指示投影的左右帧的帧封装布置。不存在StereoVideoBox指示轨道的全向投影内容是单视场的。当用于全向视频方案的SchemeInformationBox中存在StereoVideoBox时,应指示上下帧封装或左右帧封装。

-利用SchemeInformationBox内包含的RegionWisePackingBox指示任选逐区域封装。不存在RegionWisePackingBox指示未应用逐区域封装。

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

定义

盒类型:“povd”

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

强制性的:No

数量:0或1(当scheme_type等于“odvd”时,“povd”和“fovd”中任一者必须存在)

ProjectedOmnidirectionalVideoBox用于指示轨道中包含的样本是投影帧还是封装帧。

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

·单视场投影帧的投影格式(用于轨道中包含的单视场视频的C,用于立体视频的左视图和右视图的CL和CR);

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

·投影全向视频的球形覆盖面(即,球形表面上由投影帧表示的区域)。

语法

aligned(8)class ProjectedOmnidirectionalVideoBox extends Box('povd'){

ProjectionFormatBox();//mandatory

ProjectionOrientationBox();//optional

CoverageInformationBox();//optional

}

aligned(8)class ProjectionFormatBox()extends FullBox('prfr',0,0){

ProjectionFormatStruct();

}

aligned(8)class ProjectionFormatStruct(){

bit(1)reserved=0;

unsigned int(6)geometry_type;

bit(1)reserved=0;

unsigned int(8)projection_type;

}

语义

geometry_type指示数学约定,其中空间内的点可以由一个或多个维度中的位置唯一地标识。当geometry_type等于1时,根据指定的坐标系,投影指示符以球形坐标给出,其中φ是方位角(经度)或偏航角,θ是高度(纬度)或俯仰角。保留geometry_type的其他值。

projection_type指示矩形解码器图片输出样本到由geometry_type指定的坐标系上的特定映射。当projection_type等于1时,geometry_type应等于1。Projection_type等于1指示所指定的等距柱状投影。保留projection_type的其他值。

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

定义

盒类型:“rwpk”

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

强制性的:No

数量:零或一

RegionWisePackingBox指示:投影帧是逐区域封装的,并且在呈现之前需要解封。

语法

语义

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

proj_frame_width和proj_frame_height分别指定投影帧的宽度和高度。

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

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

定义

盒类型:“pror”

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

强制性的:No

数量:零或一

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

语法

语义

orientation_yaw、orientation_pitch和orientation_roll指定相对于全局坐标系以0.01°为单位的投影的偏航、俯仰和滚动。orientation_yaw应在-18000到17999的范围内(包括端值),orientation_pitch应在-9000到9000的范围内(包括端值),orientation_roll应在-18000到18000的范围内(包括端值)。

此外,关于覆盖信息盒,Choi提供以下定义、语法和语义:

定义

盒类型:“covi”

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

强制性的:No

数量:零或一

该盒提供有关球形表面上的区域的信息,该区域由与容器ProjectedOmnidirectionalVideoBox相关联的投影帧表示。缺少该盒表示投影帧是整个球体的表示。当存在时,该盒中的字段在应用ProjectionOrientationBox之后应用。

当投影格式为等距柱状投影时,由投影帧表示的球形区域是由两个偏航圆和两个俯仰圆指定的区域。

语法

语义

当RegionOnSphereStruct(1)包括在CoverageInformationBox中时,以下情况适用:

center_yaw和center_pitch指定相对于通过ProjectionOrientationBox指定的坐标系以0.01°为单位的由投影帧表示的球形区域的中心点。center_yaw应在-18000到17999的范围内(包括端值)。center_pitch应在-9000到9000的范围内(包括端值)。

hor_range和ver_range分别指定以0.01°为单位的由投影帧表示的区域的水平和垂直范围。hor_range和ver_range指定通过区域中心点的范围。hor_range应在1到36000的范围内(包括端值)。ver_range应在1到18000的范围内(包括端值)。center_pitch+ver_range÷2不应大于9000。center_pitch-ver_range÷2不应小于-9000。

如上所述,Choi指定用于流式全向媒体的技术。这样,Choi提供用于指示球体上的区域的通用定时元数据轨道语法,该语法可用于流式全向媒体。Choi中的定时元数据轨道的目的由样本条目类型指示,并且所有元数据轨道的样本格式以公共部分开始,并且可后跟特定于该元数据轨道的样本条目的扩展部分。

此外,每个样本指定球体上的区域。Choi为可存在于样本条目(即可视样本条目)中的盒提供了以下定义、语法和语义。

定义

样本条目中应只存在一个RegionOnSphereConfigBox。RegionOnSphereConfigBox指定由样本指定的区域的形状。当样本中区域的水平和垂直范围不变时,可在样本条目中指示它们。

语法

语义

shape_type等于0指定该区域由四个大圆指定。

shape_type等于1指定该区域由两个偏航圆和两个俯仰圆指定。

保留大于1的shape_type值。

dynamic_range_flag等于0指定该区域的水平和垂直范围在参考该样本条目的所有样本中保持不变。dynamic_range_flag等于1指定以样本格式指示该区域的水平和垂直范围。

static_hor_range和static_ver_range分别指定以0.01°为单位的参考该样本条目的每个样本的区域的水平和垂直范围。static_hor_range和static_ver_range指定通过区域中心点的范围。

num_regions指定参考该样本条目的样本中的区域数。num_regions应等于1。保留num_regions的其他值。

Choi为样本格式提供以下定义、语法和语义:

定义

每个样本指定球体上的区域。RegionOnSphereSample结构可在派生的轨道格式中扩展。

语法

语义

当RegionOnSphereStruct()包括在RegionOnSphereSample()结构中时,以下情况适用:

center_yaw和center_pitch指定相对于全局坐标系以0.01°为单位的由该样本指定的区域的中心点。center_yaw应在-18000到17999的范围内(包括端值)。center_pitch应在-9000到9000的范围内(包括端值)。

hor_range和ver_range(当存在时)分别指定以0.01°为单位的由该样本指定的区域的水平和垂直范围。hor_range和ver_range指定通过区域中心点的范围。

如上所述,发信号通知全向视频的区域的相对质量可能是有用的。Hannuksela等人在2017年4月的“ISO/IEC JTC1/SC29/WG11MPEG2017/M40707:OMAF ROI-CE:Qualityranking indication-design resulting from the offline work”(澳大利亚霍巴特,以引用方式并入,并且在本文中被称为Hannuksela)描述了用于发信号通知全向视频的区域的相对质量的技术。具体地讲,Hannuksela描述了球体区域质量等级盒和2维区域质量等级盒,它们中的每一者都可包含在媒体轨道的样本条目中,并且可结合在Choi的全向媒体应用格式描述中。应当指出的是,媒体轨道可以是基于ISOBMFF轨道的轨道或者可与ISOBMFF轨道相同。

Hannuksela为球体区域质量等级盒提供了以下定义、语法和语义:定义

盒类型:“srqr”

容器:VisualSampleEntry

强制性的(按项目):No

数量(按项目):每个region_definition_type值最多一个

SphereRegionQualityRankingBox可以用于指示区域相对于相同轨道的其他区域或其他轨道的区域的质量等级值,如通过SphereRegionQualityRankingBox或2DRegionQualityRankingBox所指定。当可视样本条目中不存在SphereRegionQualityRankingBox或2DRegionQualityRankingBox时,不定义可视轨道的质量等级。质量等级值指示区域的相对质量顺序。当区域A值的quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当质量等级值为非零时,整个指示区域内的图片质量大致恒定。由SphereRegionQualityRankingBox和the2DRegionQualityRankingBox指定的区域的边界可能匹配,也可能不匹配。

语法

语义

region_definition_type具有与RegionOnSphereConfigBox的shape_type相同的语义。

num_regions指定在该盒中给出其质量等级信息的区域的数量。保留值0。

quality_ranking指定该区域的质量等级。quality_ranking等于0表示未定义质量等级。当区域A的非零quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking等于区域B的quality_ranking。

view_idc等于0表示该内容是单视场的,1表示该区域在立体内容的左侧视图上,2表示该区域在立体内容的右侧视图上,3表示该区域在左侧视图和右侧视图两者上。

remaining_area_flag等于0表示该区域由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1表示该区域是未被该盒定义的任何其他区域覆盖的区域。

RegionOnSphereStruct(1)指定该区域相对于全局坐标系的球***置和尺寸,而区域的形状由region_definition_type指示。

Hannuksela为2D区域质量等级盒提供了以下定义、语法和语义:定义

盒类型:“2dqr”

容器:VisualSampleEntry

强制性的(按项目):No

数量(按项目):零或一

2DRegionQualityRankingBox可以用于指示区域相对于相同轨道的其他区域或其他轨道的区域的质量等级值,如通过SphereRegionQualityRankingBox或2DRegionQualityRankingBox所指定。当可视样本条目中不存在SphereRegionQualityRankingBox或2DRegionQualityRankingBox时,不定义可视轨道的质量等级。质量等级值指示区域的相对质量顺序。当区域A值的quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当quality_ranking值为非零时,整个指示区域内的图片质量大致恒定。由SphereRegionQualityRankingBox和the2DRegionQualityRankingBox指定的区域的边界可能匹配,也可能不匹配。

语法

语义

与SphereRegionQualityRankingBox中具有相同名称的语法元素相同地指定num_regions、quality_ranking和view_idc。

remaining_area_flag等于0指定该区域由left_offset、top_offset、region_width和region_height定义。remaining_area_flag等于1指定该区域是未被该盒定义的任何其他区域覆盖的区域。

left_offset、top_offset、region_width和region_height是指示该区域的位置和尺寸的整数值。left_offset和top_offset分别表示图片内区域的左上角在亮度样本中的水平坐标和垂直坐标。region_width和region_height分别表示图片内区域在亮度样本中的宽度和高度。left_offset+region_width应小于VisualSampleEntry的宽度。top_offset+region_height应小于VisualSampleEntry的高度。

用于发信号通知在Hannuksela中提供的全向视频的区域的相对质量的技术可能不那么理想。

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

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

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

图4是示出可以包括在系统100的具体实施中的部件的示例的概念图。在图4所示的示例性具体实施中,系统100包括一个或多个计算设备402A至402N、电视服务网络404、电视服务提供商站点406、广域网408、局域网410和一个或多个内容提供商站点412A至-412N。图4中所示的具体实施表示系统的示例,该系统可被配置为允许数字媒体内容(诸如电影、现场体育赛事等)和与其相关联的数据和应用程序以及媒体呈现被分发到多个计算设备(诸如计算设备402A-402N)并由这些多个计算设备访问。在图4所示的示例中,计算设备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标准。

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

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

再次参见图4,内容提供商站点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单元序列。接收兼容比特流的设备可以从其再现视频数据。应当指出的是,可以使用术语符合性比特流来代替术语兼容比特流。如上所述,用于发信号通知在Hannuksela中提供的全向视频的区域的相对质量的技术可能不那么理想。在一个示例中,数据封装器107可被配置为根据本文所述的一种或多种技术发信号通知质量信息。应当指出的是,数据封装器107不需要必须位于与视频编码器106相同的物理设备中。例如,被描述为由视频编码器106和数据封装器107执行的功能可以分布在图4所示的设备中。

参见上述Hannuksela中的SphereRegionQualityRankingBox,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知SphereRegionQualityRankingBox:

语法

语义

region_definition_type具有与RegionOnSphereConfigBox的shape_type相同的语义。

num_regions指定在该盒中给出其质量等级信息的区域的数量。保留值0。

quality_ranking指定该区域的质量等级。quality_ranking等于0表示未定义质量等级。当区域A的非零quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking等于区域B的quality_ranking。

view_idc等于0表示该内容是单视场的,1表示该区域在立体内容的左侧视图上,2表示该区域在立体内容的右侧视图上,3表示该区域在左侧视图和右侧视图两者上。

remaining_area_flag等于0指定所有区域都由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定前几个num_regions-1区域由RegionOnSphereStruct(1)结构定义,并且最后一个剩余区域是覆盖区域内的未被前几个(num_regions-1)RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

RegionOnSphereStruct(1)指定该区域相对于全局坐标系的球***置和尺寸,而区域的形状由region_definition_type指示。

应当指出的是,在上述示例语法和语义中,remaining_area_flag位于针对区域数量进行迭代的for循环之外。因此,在大多数情况(例如,区域数量大于1的情况)下,减少了检查remaining_area_flag的存在的次数。此外,还应当指出的是,在上述示例语法中,在有条件地发信号通知RegionOnSphereStruct(1)上添加逻辑条件“(i<(num_regions-1))”,添加该逻辑条件确保了针对从前几个零到num_regions-2区域发信号通知RegionOnSphereStruct(1)。

关于上述语法和语义,在一个示例中,quality_ranking可以是unsigned int(6),并且view_idc可以是unsigned int(2)。这使得每个区域节省一个字节的信令位。

参见上述Hannuksela中的SphereRegionQualityRankingBox,发信号通知RegionOnSphereStruct(1)以if(remaining_area_flag==0)为条件,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知SphereRegionQualityRankingBox:

语法

在该示例中,remaining_area_flag的语义可如下所示:

remaining_area_flag等于0指定该区域由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定该区域是未被该盒定义的任何其他区域覆盖的区域。当不存在时,推断remaining_area_flag等于0。

此外,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知SphereRegionQualityRankingBox:

语法

在该示例中,remaining_area_flag的语义可如下所示:

remaining_area_flag等于0指定该区域由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定该区域是未被该盒定义的任何其他区域覆盖的区域。当不存在时,推断remaining_area_flag等于0。

参见上述Hannuksela中的SphereRegionQualityRankingBox,发信号通知RegionOnSphereStruct(1)以if(remaining_area_flag==0)为条件,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知SphereRegionQualityRankingBox:

语法

在该示例中,RemainingAreaFlag是一个局部变量,其被初始化为等于值0,然后当I等于num_regions-1时,其被分配的值等于发信号通知的语法元素remaining_area_flag的值。此外,基于该RemainingAreaFlag局部变量值等于0,有条件地发信号通知RegionOnSphereStruct(1)。

在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法和语义来发信号通知SphereRegionQualityRankingBox:语法

语义

region_definition_type具有与RegionOnSphereConfigBox的shape_type相同的语义。

num_regions指定在该盒中给出其质量等级信息的区域的数量。保留值0。

remaining_area_flag等于0指定所有区域都由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定前几个num_regions-1区域由RegionOnSphereStruct(1)结构定义,并且最后一个剩余区域是覆盖区域内的未被前几个(num_regions-1)RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

在一个示例中,可如上所述但在与上面所示的位置不同的位置处在num_region的for循环之外发信号通知remaining_area_flag。

is_stereo_content_flag等于0指定该内容是单视场的并且不发信号通知view_idc。is_stereo_content_flag等于1表示该内容是立体的并且发信号通知view_idc,并且表示球体上的区域与特定(左侧或右侧或两者)视图的关联。

在一个示例中,is_stereo_content_flag可基于以下定义:

is_stereo_content_flag等于0指定不发信号通知view_idc。is_stereo_content_flag等于1指定发信号通知view_idc,并且表示区域与特定(左侧或右侧或两者)视图或单视场内容的关联。

应当指出的是,在一些示例中,is_stereo_content_flag可被称为view_idc_presence_flag,并且view_idc_presence_flag可与本文的语法和语义中的is_stereo_content_flag互换。

在一个示例中,当未发信号通知view_idc时(即,当is_stereo_content_flag等于0时),可推断view_idc等于0。

quality_ranking指定该区域的质量等级。quality_ranking等于0表示未定义质量等级。当区域A的非零quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking等于区域B的quality_ranking。

view_idc等于0表示该内容是单视场的,1表示该区域在立体内容的左侧视图上,2表示该区域在立体内容的右侧视图上,3表示该区域在左侧视图和右侧视图两者上。

在一个示例中,view_idc可基于以下定义:

view_idc等于1表示该区域在立体内容的左侧视图上,2表示该区域在立体内容的右视图上,3表示如果存在StereoVideoBox,则该区域在左侧视图和右侧视图两者上,如果不存在StereoVideoBox,则该区域对应于单视场内容。保留值0。当不存在时,推断view_idc等于3。

在一个示例中,view_idc可基于以下定义:

view_idc等于0表示该内容是单视场的,1表示该区域在立体内容的左侧视图上,2表示该区域在立体内容的右侧视图上,3表示该区域在左侧视图和右侧视图两者上。当不存在时,推断view_idc等于0。

在一个示例中,view_idc可基于以下定义:

view_idc等于0表示该区域在立体内容的左侧视图上,1表示该区域在立体内容的右视图上,2表示如果存在StereoVideoBox,则该区域在左侧视图和右侧视图两者上,如果不存在StereoVideoBox,则该区域对应于单视场内容。保留值3。当不存在时,推断view_idc等于2。

RegionOnSphereStruct(1)指定该区域相对于全局坐标系的球***置和尺寸,而区域的形状由region_definition_type指示。

在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法和语义来发信号通知SphereRegionQualityRankingBox:语法

语义

region_definition_type具有与RegionOnSphereConfigBox的shape_type相同的语义。

remaining_area_flag等于0指定当is_stereo_content_flag等于0时的所有区域或者当is_stereo_content_flag等于1时的仅属于立体内容的左侧视图的所有区域由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定当is_stereo_content_flag等于0时的前几个num_regions-1区域或者仅属于立体内容的左侧视图的前几个num_regions-1区域由RegionOnSphereStruct(1)机构定义,并且当is_stereo_content_flag等于0时的最后一个剩余区域或者当is_stereo_content_flag等于1时的仅属于立体内容的左侧视图的最后一个剩余区域是覆盖区域内未被前几个(num_regions-1)RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

is_stereo_content_flag等于0指定该内容是单视场的。is_stereo_content_flag等于1表示该内容是立体的。

remaining_right_area_flag等于0指定仅属于立体内容的右侧视图的所有区域由RegionOnSphereStruct(1)结构定义。remaining_right_area_flag等于1指定仅属于立体内容的右侧视图的前几个num_right_regions-1区域由RegionOnSphereStruct(1)结构定义,并且仅属于立体内容的右侧视图的最后一个剩余区域是覆盖区域内的未被前几个(num_right_regions-1)RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

remaining_both_area_flag等于0指定属于立体内容的左侧视图和右侧视图两者的所有区域由RegionOnSphereStruct(1)结构定义。remaining_both_area_flag等于1指定属于立体内容的左侧视图和右侧视图两者的前几个num_both_regions-1区域由RegionOnSphereStruct(1)结构定义,并且属于立体内容的左侧视图和右侧视图两者的最后一个剩余区域是未被前几个(num_both_regions-1)RegionOnSphereStruct(1)结构定义的任何其他区域覆盖的球体上区域。

num_regions指定当is_stereo_content_flag等于0时在该盒中给出其质量等级信息的区域的数量,或者当is_stereo_content_flag等于1在该盒中给出其质量等级信息的仅属于左侧视图的区域的数量。保留值0。

num_both_regions指定在该盒中给出其质量等级信息的属于左侧视图和右侧视图两者的区域的数量。

num_right_regions指定在该盒中给出其质量等级信息的仅属于右侧视图的区域的数量。

quality_ranking指定该区域的质量等级。quality_ranking等于0表示未定义质量等级。当区域A的非零quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking等于区域B的quality_ranking。

RegionOnSphereStruct(1)指定该区域相对于全局坐标系的球***置和尺寸,而区域的形状由region_definition_type指示。

在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法和语义来发信号通知SphereRegionQualityRankingBox:语法

语义

region_definition_type具有与RegionOnSphereConfigBox的shape_type相同的语义。

remaining_area_flag等于0指定当is stereo_content_flag等于0时的所有区域或者当is_stereo_content_flag等于1时的仅属于立体内容的左侧视图的所有区域由RegionOnSphereStruct(1)结构定义。remaining_area_flag等于1指定当is_stereo_content_flag等于0时的最后一个剩余区域或者当is_stereo_content_flag等于1时的仅属于立体内容的左侧视图的最后一个剩余区域是覆盖区域内未被前几个(num_regions-1)RegionOnSphereStruct(1)结构和num_both_regions RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

is_stereo_content_flag等于0指定该内容是单视场的。is_stereo_content_flag等于1表示该内容是立体的。

num_regions指定当is_stereo_content_flag等于0时在该盒中给出其质量等级信息的区域的数量,或者当is_stereo_content_flag等于1在该盒中给出其质量等级信息的仅属于左侧视图的区域的数量。保留值0。

remaining_right_area_flag等于0指定仅属于立体内容的右侧视图的所有区域由RegionOnSphereStruct(1)结构定义。remaining_right_area_flag等于1指定仅属于立体内容的右侧视图的最后一个剩余区域是覆盖区域内的未被前几个(num_right_regions-1)RegionOnSphereStruct(1)结构和num_both_regions RegionOnSphereStruct(1)结构定义的区域的并集覆盖的球体上区域。

num_both_regions指定在该盒中给出其质量等级信息的属于左侧视图和右侧视图两者的区域的数量。

num_right_regions指定在该盒中给出其质量等级信息的仅属于右侧视图的区域的数量。

quality_ranking指定该区域的质量等级。quality_ranking等于0表示未定义质量等级。当区域A的非零quality_ranking值小于区域B的quality_ranking值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking等于区域B的quality_ranking。

RegionOnSphereStruct(1)指定该区域相对于全局坐标系的球***置和尺寸,而区域的形状由region_definition_type指示。

应当指出的是,在上述示例语法中,j和k for循环中的quality_ranking元素可被称为quality_ranking_right和quality_ranking_both。在这种情况下,quality_ranking_right和quality_ranking_both的语义可如下所示:

quality_ranking_right指定属于右侧视图的区域的质量等级。quality_ranking_right等于0表示未定义质量等级。当区域A的非零quality_ranking_right值小于区域B的quality_ranking_right值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking_right等于区域B的quality_ranking_right。

quality_ranking_both指定属于左侧视图和右侧视图两者的区域的质量等级。quality_ranking_both等于0表示未定义质量等级。当区域A的非零quality_ranking_both值小于区域B的quality_ranking_both值时,区域A的质量比区域B高。当区域A与区域B部分或全部重叠时,区域A的quality_ranking_both等于区域B的quality_ranking_both。

关于SphereRegionQualityRankingBox的上述所有示例语义,在一些示例中,可约束RegionOnSphereStruct(1),使得RegionOnSphereStruct(1)应位于包括在由“covi”(coverage information)盒中的RegionOnSphereStruct(1)表示的球体上区域内。

参见上述2DRegionQualityRankingBox,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法和语义发信号通知2DRegionQualityRankingBox:

语法

语义

与SphereRegionQualityRankingBox中具有相同名称的语法元素相同地指定num_regions、quality_ranking和view_idc。

remaining_area_flag等于0指定所有区域由left_offset、top_offset、region_width和region_height定义。remaining_area_flag等于1指定前几个num_regions-1区域由left offset、top_offset、region_width和region_height定义,并且最后一个剩余区域是未被前几个(num_regions-1)区域的并集覆盖的区域。

left_offset、top_offset、region_width和region_height是指示该区域的位置和尺寸的整数值。left_offset和top_offset分别表示图片内区域的左上角在亮度样本中的水平坐标和垂直坐标。region_width和region_height分别表示图片内区域在亮度样本中的宽度和高度。left_offset+region_width应小于VisualSampleEntry的宽度。top_offset+region_height应小于VisualSampleEntry的高度。

应当指出的是,在上述示例语法中,添加逻辑条件“(i<(num_regions-1))”以有条件地发信号通知left_offset、top_offset、region_width和region_height。添加该逻辑条件确保了针对从前几个零到num_regions-2区域发信号通知left_offset、top_offset、region_width和region_height。

关于上述语法和语义,在一个示例中,quality_ranking可以是unsigned int(6),并且view_idc可以是unsigned int(2)。这使每个区域节省1个字节。

参见上述Hannuksela中的2DRegionQualityRankingBox,发信号通知left_offset、top_offset、region_width和region_height以if(remaining_area_flag==0)为条件,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知2DRegionQualityRankingBox:

语法

在该示例中,remaining_area_flag的语义可如下所示:

remaining_area_flag等于0指定该区域由left_offset、top_offset、region_width和region_height定义。remaining_area_flag等于1指定该区域是未被该盒定义的任何其他区域覆盖的区域。当不存在时,推断remaining_area_flag等于0。

此外,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知2DRegionQualityRankingBox:

在该示例中,remaining_area_flag的语义可如下所示:

remaining_area_flag等于0指定该区域由left_offset、top_offset、region_width和region_height定义。remaining_area_flag等于1指定该区域是未被该盒定义的任何其他区域覆盖的区域。当不存在时,推断remaining_area_flag等于0。

参见上述Hannuksela中的2DRegionQualityRankingBox,发信号通知left_offset、top_offset、region_width和region_height以if(remaining_area_flag==0)为条件,在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法发信号通知2DRegionQualityRankingBox:

语法

在该示例中,RemainingAreaFlag是一个局部变量,其被初始化为等于值0,然后当i等于num_regions-1时,其被分配的值等于发信号通知的语法元素remaining_area_flag的值。而且,基于该RemainingAreaFlag局部变量值等于0,有条件地发信号通知left_offset、top_offset、region_width和region_height。

在一个示例中,根据本文所述的技术,数据封装器107可被配置为基于以下示例语法和语义来发信号通知2DRegionQualityRankingBox:

语法

语义

与SphereRegionQualityRankingBox中具有相同名称的语法元素相同地指定num_regions、quality_ranking和view_idc。

remaining_area_flag等于0指定所有区域由left_offset、top offset、regionwidth和region_height定义。remaining_area_flag等于1指定前几个num_regions-1区域由left_offset、top_offset、region_width和region_height定义,并且最后一个剩余区域是未被前几个(num_regions-1)区域的并集覆盖的区域。

在一个示例中,remaining_area_flag可基于以下定义:

remaining_area_flag等于0指定所有区域由left_offset、top_offset、region_width和region_height定义。remaining_area_flag等于1指定前几个num_regions-1区域由left_offset、top_offset、region_width和region_height定义,并且最后一个剩余区域是图片中未被前几个(num_regions-1)区域的并集覆盖的区域,其宽度等于VisualSampleEntry的宽度且高度等于VisualSampleEntry的高度。

在一个示例中,可如上所述但在与上面所示的位置不同的位置处在num_region的for循环之外发信号通知remaining_area_flag。

is_stereo_content_flag等于0指定该内容是单视场的并且不发信号通知view_idc。is_stereo_content_flag等于1表示该内容是立体的并且发信号通知view_idc,并且表示区域与特定(左侧或右侧或两者)视图的关联。

在一个示例中,当未发信号通知view_idc时(即,当is_stereo_content_flag等于0时),可推断view_idc等于0。

在一个示例中,is stereo_content_flag可基于以下示例定义:

Is_stereo_content_flag等于0指定不发信号通知view_idc。is_stereo_content_flag等于1指定发信号通知view_idc,并且表示区域与特定(左侧或右侧或两者)视图或单视场内容的关联。

如上所述,is_stereo_content_flag可被称为view_idc_presence_flag。

left_offset、top_offset、region_width和region_height是指示该区域的位置和尺寸的整数值。left_offset和top_offset分别表示图片内区域的左上角在亮度样本中的水平坐标和垂直坐标。region_width和region_height分别表示图片内区域在亮度样本中的宽度和高度。left_offset+region_width应小于VisualSampleEntry的宽度。top_offset+region_height应小于VisualSampleEntry的高度。

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

region_width不应等于0。

region_height不应等于0。

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

region_width应大于0。

region_height应大于0。

关于2DRegionQualityRankingBox的上述所有示例语义,在一些示例中,可约束region_width和/或region_height,使得region_width和/或region_height不等于零。

此外,在一个示例中,如果不存在RegionWisePackingBox(即,未使用逐区域封装),则应将(left_offset+region_width)约束为小于proj_frame_width和/或应将(top_offset+region_height)约束为小于proj_frame_height。此外,在一个示例中,应将由left_offset、top_offset、region_width和region_height表示的每个区域矩形约束为完全跨越封装帧。此外,在一个示例中,当封装帧是立体的时,可将由left_offset、top_offset、region_width和region_height表示的区域矩形约束为完全跨越封装帧的单个组成帧。

这样,数据封装器107表示被配置为发信号通知与全向视频的区域相关联的质量等级信息的设备的示例。

再次参见图1,接口108可以包括被配置为接收由数据封装器107生成的数据并且将数据发送和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以使文件能够存储在存储设备上。例如,接口108可以包括支持***组件互连(Peripheral ComponentInterconnec,PCI)和高速***组件互连(Peripheral Component Interconnect Express,PCIe)总线协议的芯片集、专用总线协议、通用串行总线(Universal Serial Bus,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可以包括接收器设备。

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

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

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

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

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

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

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

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

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

视频解码器618可以被配置为接收和处理视频包。例如,视频解码器618可以包括用于实现视频编解码器的各方面的硬件和软件的组合。在一个示例中,视频解码器618可以被配置为解码根据任何数量的视频压缩标准编码的视频数据,这些视频压缩标准诸如ITU-T H.262或ISO/IEC MPEG-2Visual、ISO/IEC MPEG-4Visual、ITU-T H.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 U.S.C.§119要求2017年4月25日提交的临时专利申请62/489,982以及2017年5月25日提交的临时专利申请62/511,277的优先权,这两个临时专利申请的全部内容以引用方式并入本文。

50页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:服务器装置以及在该服务器装置中使用的计算机程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类