一种媒体数据的处理方法和装置与流程

文档序号:16632868发布日期:2019-01-16 06:44阅读:204来源:国知局
一种媒体数据的处理方法和装置与流程

本申请涉及流媒体传输领域,并且更具体地,涉及一种媒体数据的处理方法和装置。



背景技术:

全向媒体主要是指全向视频(360°视频)和相关音频,其中,全向视频可以理解为在的球面上呈现的视频。iso/iec23090-2标准规范又称为全向媒体格式(omnidirectionalmediaformat,omaf),该规范定义了一种媒体应用格式,可以使得全向媒体在应用中呈现。在通过终端设备向用户呈现全向媒体时,可以将呈现全向媒体的球面划分成多个区域,在球面上的一部分区域(即目标区域)中呈现该区域对应的全向媒体。

在目标区域中呈现全向媒体之前,需要确定目标区域在球面上的区域位置信息。目前,确定目标区域在球面上的位置主要是通过目标区域中的中心点的位置和目标区域的区域范围确定的。

基于上述确定目标区域在球面上的位置的方式,标准中规定了两种描述目标区域在球面上的位置的描述方式:点描述方式和面描述方式。在两种不同的描述方式中,码流数据包含的有效的区域位置信息其实不同。例如,若描述方式为点描述方式时,码流数据包含目标区域的中心点的位置信息和目标区域的区域范围信息,但是只有中心点的位置信息是有效的,指示了目标区域的中心点在球面上的坐标,目标区域的区域范围信息是无效的,目标区域的区域范围信息的取值为0;若描述方式为面描述方式时,码流数据也包含目标区域的中心点的位置信息和目标区域的区域范围信息,并且中心点的位置信息和区域范围信息都是有效的,中心点的位置指示了目标区域的中心点在球面上的坐标,区域范围信息指示了目标区域在球面上的区域范围。

然而,目前标准中规定,终端设备在确定目标区域在球面上的位置信息时,需要从码流数据中获取全部的区域位置信息。也就是说,即使描述方式为点描述方式,目标区域的范围信息是无效的,终端设备也需要从码流数据中获取出该目标区域的中心点的位置信息和目标区域的范围信息。这种获取目标区域的区域位置信息的方式,不够灵活。



技术实现要素:

本申请提供一种媒体数据的处理方法和装置,有利于提高获取目标区域的区域位置信息的灵活性。

第一方面,提供了一种媒体数据的处理方法,所述方法包括:获取码流数据,所述码流数据包含区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式;解析所述码流数据,以获取与所述描述方式对应的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置;得到与所述目标区域对应的媒体数据;根据所述区域类型信息和所述区域位置信息处理所述媒体数据。

本申请实施例根据码流数据中包含的区域类型信息,可以确定需要通过解析码流数据获取的与描述方式对应的区域位置信息,也就是说,可以根据目标区域的描述方式选择性地通过解析码流获取区域位置信息,避免了现有技术中,需要从码流数据中解析全部的目标区域的区域位置信息,有利于提高获取目标区域的区域位置信息的灵活性,

进一步地,对于获取点描述方式对应的区域位置信息而言,有利于降低获取目标区域的区域位置信息的时延。

在一种可能的实现方式中,所述码流数据为媒体数据轨迹。

在一种可能的实现方式中,所述区域类型信息位于所述媒体数据轨迹的辅助增强信息sei中。

在一种可能的实现方式中,所述码流数据为元数据轨迹。

在一种可能的实现方式中,所述码流数据为元数据轨迹,上述区域位置信息可以位于所述元数据轨迹中的样本入口中。

在一种可能的实现方式中,所述码流数据中包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

通过为现有的形状类型参数的值指示区域类型信息,有利于节省信息传输过程中引起的开销。

在一种可能的实现方式中,上述目标区域的形状类型参数可以位于用于描述目标区域的在球面上的位置的元数据轨迹中,所述码流为用于描述目标区域的在球面上的位置的所述元数据轨迹,和/或

所述目标区域的形状类型参数还可以位于所述目标区域对应的媒体数据轨迹中,所述码流为所述目标区域对应的媒体数据轨迹中。

第二方面,提供一种媒体数据的处理方法,所述方法包括:生成码流数据,所述码流数据包含球面上的目标区域的区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式,所述点描述方式和所述面描述方式在所述码流数据中对应不同的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置;发送所述码流数据。

本申请实施例根据码流数据中包含的区域类型信息,可以确定需要通过解析码流数据获取的与描述方式对应的区域位置信息,也就是说,可以根据目标区域的描述方式选择性地通过解析码流获取区域位置信息,避免了现有技术中,需要从码流数据中解析全部的目标区域的区域位置信息,有利于提高获取目标区域的区域位置信息的灵活性,

进一步地,对于获取点描述方式对应的区域位置信息而言,有利于降低获取目标区域的区域位置信息的时延。

在一种可能的实现方式中,所述码流数据为媒体数据轨迹。

在一种可能的实现方式中,所述区域类型信息位于所述媒体数据轨迹的辅助增强信息sei中。

在一种可能的实现方式中,所述码流数据为元数据轨迹。

在一种可能的实现方式中,所述码流数据为元数据轨迹,上述区域位置信息可以位于所述元数据轨迹中的样本入口中。

在一种可能的实现方式中,所述码流数据中包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

通过为现有的形状类型参数的值指示区域类型信息,有利于节省信息传输过程中引起的开销。

在一种可能的实现方式中,上述目标区域的形状类型参数可以位于用于描述目标区域的在球面上的位置的元数据轨迹中,所述码流为用于描述目标区域的在球面上的位置的所述元数据轨迹,和/或

所述目标区域的形状类型参数还可以位于所述目标区域对应的媒体数据轨迹中,所述码流为所述目标区域对应的媒体数据轨迹中。

第三方面,本申请实施例提供一种媒体信息的处理方法,所述方法包括:

得到媒体数据的元数据信息,所述元数据信息包括元数据的来源信息,所述来源信息用于表示所述媒体数据的推荐方,所述媒体数据是全向视频中的一个子区域对应的视频数据;

根据所述元数据的来源信息处理所述媒体数据。

一种可能的实现方式中,元数据指的是视频数据的一些属性信息,例如对应的视频数据的时长,码率,帧率,在球面坐标系中的位置等。

在一种可能的实现方式中,全向视频的子区域指的是全向视频所对应的视频空间中的部分区域。

一种可能的实现方式中,元数据的来源信息可以表示元数据对应的视频数据是由全向视频的作者推荐的,或者可以表示元数据对应的视频数据是由全向视频的某一用户推荐的,或者可以表示元数据对应的视频数据是统计全向视频的多个用户的观看结果后进行推荐的。

根据本发明实施例的媒体信息的处理方法,客户端在进行数据处理时可以参考媒体数据的推荐方的信息,从而丰富了用户的选择,增强了用户体验。

在本发明实施例的一种可能的实现方式中,所述得到媒体数据的元数据信息,包括:

得到所述媒体数据的元数据轨迹(track),所述元数据轨迹中包括所述元数据的来源信息。

一种可能的实现方式中,可以通过媒体展示描述文件得到元数据轨迹的地址信息,然后向该地址发送信息获取请求,接收得到媒体数据的元数据轨迹。

一种可能的实现方式中,可以通过单独的文件得到元数据轨迹的地址信息,然后向该地址发送信息获取请求,接收得到媒体数据的元数据轨迹。

一种可能的实现方式中,服务器向客户端发送媒体数据的元数据轨迹。

一种可能的实现方式中,轨迹(track)是指一系列有时间属性的按照iso基本媒体文件格式(isobasemediafileformat,isobmff)的封装方式的样本。比如视频track,视频样本是通过将视频编码器编码每一帧后产生的码流按照isobmff的规范封装后得到的。轨迹的具体定义可以参考iso/iec14496-12中的有关说明。

一种可能的实现方式中,媒体展示描述文件的有关属性和数据结构可以参考iso/iec23009-1中的有关说明。

一种可能的实现方式中,元数据的来源信息可以存储在元数据轨迹中的一个新增的盒(box)中,通过解析该box的数据得到元数据的来源信息。

一种可能的实现方式中,元数据的来源信息可以是在元数据轨迹中现有的一个盒中增加的一个属性,通过解析该属性得到元数据的来源信息。

通过将元数据的来源信息封装在元数据轨迹中,客户端在得到元数据轨迹时就可以得到元数据的来源信息,使得客户端可以综合考虑元数据的其它属性和元数据的来源信息进行后续对相关媒体数据的处理。

在本发明实施例的一种可能的实现方式中,所述得到媒体数据的元数据信息,包括:

得到所述媒体数据的媒体展示描述文件,所述媒体展示描述文件中包括所述元数据的来源信息。

客户端可以通过向服务器发送http请求的方式得到媒体展示描述文件,也可以由服务器直接将媒体展示描述文件推送给客户端。客户端也可以通过其它可能的方式得到媒体展示描述文件,例如,从其它客户端侧交互得到媒体展示描述文件。

一种可能的实现方式中,媒体展示描述文件的有关属性和数据结构可以参考iso/iec23009-1中的有关说明。

一种可能的实现方式中,元数据的来源信息可以是描述子中指示的信息,元数据的来源信息也可以是一个属性信息。

一种可能的实现方式中,元数据的来源信息可以是在媒体展示描述文件中的自适应集(adaptationset)层级中或者是在表示(representation)层级中。

在本发明实施例一种可能的实现方式中,所述得到媒体数据的元数据信息,包括:

得到包含所述媒体数据的码流,其中,所述码流还包含辅助增强信息(supplementaryenhancementinformation,sei),所述辅助增强信息中包括所述元数据的来源信息。

一种可能的实现方式中,客户端可以通过向服务器发送媒体数据获取请求,然后接收服务器发送的媒体数据。例如客户端可以通过媒体展示描述文件中的有关属性和地址信息构建统一资源定位符(uniformresourcelocator,url),然后向该url发送http请求,然后接收相应的媒体数据。

一种可能的实现方式中,客户端也可以接收服务器推送的媒体数据流。

在本发明实施例的一种可能的实现方式中,所述元数据的来源信息是一个来源类型标识。来源类型标识的值或不同的来源类型标识可以表示对应的来源类型。例如,可以用一个比特的flag来表示来源类型,或者用更多比特的字段来标识来源类型。在一个示例中,客户端侧存储了来源类型标识和来源类型的对应关系的文件,客户端可以根据来源类型标识的不同的值,或者不同的来源类型标识确定对应的来源类型。

在一种可能的实现方式中,一种来源类型对应一个推荐方,例如来源类型可以是视频的作者推荐,或者是某一个用户推荐,或者是统计多个用户的观看结果后的推荐。

在本发明实施例的一种可能的实现方式中,所述元数据的来源信息包括媒体数据的推荐方的语义表示。例如可以使用iso-639-2/t中的码字来表示各种语义。

在本发明实施例的一种可能的实现方式中,根据所述元数据的来源信息处理所述元数据对应的媒体数据,可以包括如下几种实现方式:

如果客户端侧还没有得到元数据对应的媒体数据,客户端侧可以根据用户对来源信息的选择,从服务器侧或者其它终端侧请求相对应的媒体数据。

如果客户端侧已经得到元数据对应的媒体数据,客户端侧可以根据用户对来源信息的选择,呈现或者传输该媒体数据。

第四方面,提供了一种装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的各个模块。

第五方面,提供一种装置,所述装置包括用于执行第二方面或第一方面任一种可能实现方式中的各个模块。

第六方面,提供一种装置,所述装置包括用于执行第二方面或第一方面任一种可能实现方式中的各个模块。

第七方面,提供了一种装置,所述装置包括:存储器、处理器、输入/输出接口和收发机。其中,存储器、处理器、输入/输出接口和收发机之间存在通信连接,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当所述指令被执行时,所述处理器通过所述收发机执行第一方面中的方法,并控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。

第八方面,提供一种装置,所述装置包括:存储器、处理器、输入/输出接口和收发机。其中,存储器、处理器、输入/输出接口和收发机之间存在通信连接,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当所述指令被执行时,所述处理器通过所述收发机执行第二方面中的方法,并控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。

第九方面,提供一种装置,所述装置包括:存储器、处理器、输入/输出接口和收发机。其中,存储器、处理器、输入/输出接口和收发机之间存在通信连接,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当所述指令被执行时,所述处理器通过所述收发机执行第三方面中的方法,并控制输入/输出接口接收输入的数据和信息,输出操作结果等数据。

第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第十一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

附图说明

图1是视角变化对应的视角示意图。

图2是本申请实施例提供的空间对象的示意图。

图3是空间对象的中心点在全景空间中的相对位置的示意图。

图4是本申请实施例的描述空间对象的坐标系的一种示例。

图5是本申请实施例的描述空间对象的坐标系的另一种示例。

图6是本申请实施例的描述空间对象的坐标系的另一种示例。

图7是本申请实施例的方法和装置的应用的一种场景示例。

图8是本申请实施例的媒体数据的处理方法的示意性流程图。

图9是本申请实施例的媒体数据的处理方法的示意性流程图。

图10是本申请实施例的媒体数据的处理装置的示意框图。

图11是本申请另一实施例的装置的示意性框图。

图12是本申请实施例的媒体数据的处理装置的示意性框图。

图13是本申请实施例的一种媒体信息的处理方法的流程示意图。

图14是本申请实施例的一种媒体信息的处理装置的结构示意图。

图15是本申请实施例的一种媒体信息的处理装置的具体硬件的示意图。

图16是本申请实施例的一种空间对象和视频数据之间的映射关系的示意图。

图17是本申请实施例的一种空间对象和视频数据之间的映射关系的示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了便于理解,先简单介绍下本申请实施例中相关概念、媒体数据的呈现方式以及适用的系统。

一、与本申请实施例相关的概念的解释。

1、轨迹(track),在标准iso/iec14496-12中的定义为“timedsequenceofrelatedsamples(q.v.)inanisobasemediafile,

note:formediadata,atrackcorrespondstoasequenceofimagesorsampledaudio;forhinttracks,atrackcorrespondstoastreamingchannel.”

轨迹在标准iso/iec14496-12中的定义为“iso媒体文件中相关样本的时间属性序列,注:对于媒体数据,一个track就是个图像或者音频样本序列;对于提示轨迹,一个轨迹对应一个流频道。也就是说,轨迹可以指一系列有时间属性的按照iso基本媒体文件语法(isobasemediafileformat,isobmff)的封装方式的样本。例如,在视频track中,视频样本可以是通过将视频编码器编码每一帧后产生的码流按照isobmff的规范封装后得到的。

2、盒子(box),isobmff文件是由多个box构成,其中,一个box可以包含其它的box。

box在iso/iec14496-12标准中的定义为“object-orientedbuildingblockdefinedbyauniquetypeidentifierandlength,

note:called‘atom’insomespecifications,includingthefirstdefinitionofmp4”.

box在iso/iec14496-12标准中的定义为面向对象的构建块,由唯一的类型标识符和长度定义,注意在某些规范中包括mp4文件最早的定义中box也可以称为“原子”。

具体地,标准中定义的较为高层、重要的box可以是媒体数据盒子(mediadatabox)和moviebox,其中mediadatabox的类型可以是'mdat',用于存储媒体数据或指导服务器分组发送这些数据的信息;moviebox的类型可以是'moov',用于提供对mediadatabox中的数据的描述信息,为mediadatabox中数据的播放和传输提供便利。

3、辅助增强信息(supplementaryenhancementinformation,sei),是国际通信联盟(internationaltelecommunicationunion,itu)发布的视频编解码标准h.264,h.265中定义的一种网络接入单元(networkabstractlayerunit,nalu)的类型。

4、媒体展示描述(mediapresentationdescription,mpd)是标准iso/iec23009-1中规定的一种文档,在该文档中包含了客户端构造http-url的元数据。在mpd中包含一个或者多个周期(period)元素,每个period元素包含有一个或者多个自适应集(adaptationset),每个adaptationset中包含一个或者多个表示(representation),每个representation中包含一个或者多个分段,客户端根据mpd中的信息,选择表达,并构建分段的http-url。

二、本申请实施例适用的媒体数据的呈现方式。

当前随着360度视频等虚拟实现(virtualreality,vr)视频的观看应用的日益普及,越来越多的用户加入到大视角的vr视频观看的体验队伍中。这种新的视频观看应用给用户带来了新的视频观看模式和视觉体验的同时,也带来了新的技术挑战。由于360度(本申请实施例将以360度为例进行说明)等大视角的视频观看过程中,vr视频的空间区域(空间区域也可以叫做目标区域或空间对象)为360度的全景空间(或称全方位空间,或称全景空间对象),超过了人眼正常的视觉范围,因此,用户在观看视频的过程中随时都会变换观看的角度(即视角,fov)。用户观看的视角不同,看到的视频图像也将不同,故此视频呈现的内容需要随着用户的视角变化而变化。如图1,图1是视角变化对应的视角示意图。框1和框2分别为用户的两个不同的视角。用户在观看视频的过程中,可通过眼部或者头部转动,或者视频观看设备的画面切换等操作,将视频观看的视角由框1切换到框2。其中,用户的视角为框1时所观看的视频图像为该视角对应的一个或者多个空间对象在该时刻所呈现的视频图像。下一个时刻用户的视角切换为框2,此时用户观看到的视频图像也应该切换为框2对应的空间对象在该时刻所呈现视频图像。

在一些可行的实施方式中,对于360度大视角的视频图像的输出,服务器可将全向视频对应的视角范围内的全景空间(或者称为全景空间对象)进行划分以得到多个空间对象,每个空间对象可以对应用户的一个子视角,多个子视角的拼接形成一个完整的人眼观察视角,每个空间对象对应全景空间的一个子区域。即人眼视角(下面简称视角)可对应一个或者多个划分得到的空间对象,视角对应的空间对象是人眼视角范围内的内容对象所对应的所有的空间对象。其中,人眼观察视角可以动态变化的,但是通常视角范围可为120度*120度,120度*120度的人眼视角范围内的内容对象对应的空间对象可包括一个或者多个划分得到的空间对象,例如上述图1该的框1对应的视角1,框2对应的视角2。进一步的,客户端可通过mpd获取服务器为每个空间对象准备的视频码流的空间信息,进而可根据视角的需求向服务器请求某一时间段某个或者多个空间对象对应的视频码流分段并按照视角需求输出对应的空间对象。客户端在同一个时间段内输出360度的视角范围内的所有空间对象对应的视频码流分段,则可在整个360度的全景空间内输出显示该时间段内的完整视频图像。

具体实现中,在360度的空间对象的划分中,服务器可首先将球面映射为平面,在平面上对空间对象进行划分。具体的,服务器可采用经纬度的映射方式将球面映射为经纬平面图。如图2,图2是本申请实施例提供的空间对象的示意图。服务器可将球面映射为经纬平面图,并将经纬平面图划分为a~i等多个空间对象。进一步的,服务器可也将球面映射为立方体,再将立方体的多个面进行展开得到平面图,或者将球面映射为其他多面体,在将多面体的多个面进行展开得到平面图等。服务器还可采用更多的映射方式将球面映射为平面,具体可根据实际应用场景需求确定,在此不做限制。下面将以经纬度的映射方式,结合图2进行说明。如图2,服务器可将球面的全景空间划分为a~i等多个空间对象之后,则可为每个空间对象准备一组视频码流。其中,每个空间对象对应的一组视频码流。客户端用户切换视频观看的视角时,客户端则可根据用户选择的新视角获取新空间对象对应的码流,进而可将新空间对象码流的视频内容呈现在新视角内。

视频的制作者(以下简称作者)制作视频时,可根据视频的故事情节需求为视频播放设计一条主要情节路线。视频播放过程中,用户只需要观看该主要情节路线对应的视频图像则可了解到该故事情节,其他视频图像可看可不看。由此可知,视频播放过程中,客户端可选择性的播放该故事情节对应的视频图像,其他的视频图像可以不呈现,可节省视频数据的传输资源和存储空间资源,提高视频数据的处理效率。作者设计故事的主要情节之后,可根据上述主要情节路线设定视频播放时每个播放时刻所要呈现给用户的视频图像,将每个播放时刻的视频图像按照时序串起来则可得到上述主要情节路线的故事情节。其中,上述每个播放时刻所要呈现给用户的视频图像为在每个播放时刻对应的空间对象上呈现的视频图像,即该空间对象在该时间段所要呈现的视频图像。具体实现中,上述每个播放时刻所要呈现的视频图像对应的视角可设为作者视角,呈现作者视角上的视频图像的空间对象可设为作者空间对象。作者视角对象对应的码流可设为作者视角码流。作者视角码流中包含多个视频帧的视频帧数据(多个视频帧的编码数据),每个视频帧呈现时可为一个图像,即作者视角码流中对应多个图像。在视频播放过程中,在每个播放时刻,作者视角上呈现的图像仅是整个视频所要呈现的全景图像(或称vr图像或者全方位图像)中的一部分。在不同的播放时刻,作者视角对应的图像所关联的空间对象的空间信息可以不同,也可以相同。

作者设计了每个播放时刻的作者视角之后,可以将视角对应的区域信息封装为元数据轨迹,客户端接收到该元数据轨迹后,客户端可以向服务器请求和元数据轨迹中所携带的区域相对应的视频码流进行解码,之后,则可呈现作者视角对应的故事情节画面给用户。服务器无需传输作者视角以外其他视角(设为非作者视角,即静态视角码流)的码流给客户端,可节省视频数据的传输带宽等资源。

由于作者视角是作者根据视频故事情节设定的呈现预设空间对象的图像,不同的播放时刻上的作者空间对象可不同也可相同,由此可知作者视角是一个随着播放时刻不断变化的视角,作者空间对象是个不断变化位置的动态空间对象,即每个播放时刻对应的作者空间对象在全景空间中的位置不尽相同。上述图2所示的各个空间对象是按照预设规则划分的空间对象,是在全景空间中的相对位置固定的空间对象,任一播放时刻对应的作者空间对象不一定是图2所示的固定空间对象中的某一个,而且在全局空间中相对位置不断变化的空间对象。

在空间信息一种可能的实现方式中,该空间信息可以包括该空间对象的中心点的位置信息或者该空间对象的左上点的位置信息,该空间信息还可以包括该空间对象的宽和该空间对象的高。

其中,在空间信息对应的坐标系为角度坐标系时,空间信息可以采用偏航角来描述,在空间信息对应的坐标系为像素坐标系时,空间信息可以采用经纬图的空间位置描述,或者采用其他几何立体图形来描述,在此不做限制。采用偏航角方式描述,如俯仰角θ(pitch)、偏航角ψ(yaw)、滚转角φ(roll),用于表示角度范围的宽和用于表示角度范围的高。如图3,图3是空间对象的中心点在全景空间中的相对位置的示意图。在图3中,o点为360度vr全景视频球面图像对应的球心,可认为是观看vr全景图像时人眼的位置。a点为目标空间对象的中心点,c、f为目标空间对象中过a点的沿该目标空间对象横向坐标轴的边界点,e、d为目标空间对象中过a点的沿该目标空间对象纵向坐标轴的边界点,b为a点沿球面经线在赤道线的投影点,i为赤道线上水平方向的起始坐标点。各个元素的含义解释如下:

俯仰角:目标空间对象的图像的中心位置映射到全景球面(即全局空间)图像上的点的竖直方向的偏转角,如图3中的∠aob;

偏航角:目标空间对象的图像的中心位置映射到全景球面图像上的点的水平方向的偏转角,如图3中的∠iob;

滚转角:偏航角空间对象的图像的中心位置映射到全景球面图像上的点与球心连线方向的旋转角,如图3中的∠dob;

用于表示角度范围的高(在角度坐标系中的目标空间对象的高):空间对象的图像在全景球面图像的视场高度,以视场纵向最大角度表示,如图3中∠doe;用于表示角度范围的宽(在角度坐标系中的目标空间对象的宽):目标空间对象的图像在全景球面图像的视场宽度,以视场横向最大角度表示,如图3中∠cof。

在空间信息另一种可能的实现方式中,空间信息可以包括空间对象的左上点的位置信息,和空间对象的右下点的位置信息。

在空间信息另一种可能的实现方式中,在空间对象不是矩形时,空间信息可以包括空间对象的形状类型、半径、周长中至少一种。

在一些实施例中,空间信息可以包括空间对象的空间旋转信息。

在一些实施例中,空间信息可以封装在空间信息数据或者空间信息轨迹(track)中,该空间信息数据可以为视频数据的码流、视频数据的元数据或者独立于视频数据的文件,空间信息轨迹可以为独立于视频数据的轨迹。

在一些实施例中,空间信息可以封装在视频的空间信息元数据中(trackmatedata),比如封装在同一个box中,例如,covibox中。

在一些实施例中,用于描述目标空间对象的宽高的坐标系如图4所示,球面的阴影部分是目标空间对象,目标空间对象的四个角的顶点分别是b,e,g,i;在图4中,o为360度vr全景视频球面图像对应的球心,顶点begi分别为过球心的圆(该圆以球心o为圆心,并且该圆的半径为360度vr全景视频球面图像对应的球体的半径,该圆过z轴,该圆的数量为两个,一个经过点baio,一个经过点efgo),和平行于坐标轴x轴和y轴的圆(该圆不以球心o为圆心,该圆的数量为两个,且两个圆互相平行,一个经过点bde,一个经过点ihg)在球面上的交点,c为目标空间对象的中心点,dh边对应的角度表示为目标空间对象的高度,af边对应的角度表示为目标空间对象的宽度,dh边和af边过c点,其中bi边、eg边和dh边对应的角度相同;be边、ig边和af边对应的角度相同;be边对应的角的顶点是j,j是上述圆中bde所在圆和z轴的交点,相应的,ig边对应的角的顶点为上述圆中ihg所在的圆和z轴的交点,af边对应的角的顶点为o点,bi边、eg边和dh边对应的角的顶点也为o点。

需要说明的是,以上只是一种示例,目标空间对象也可以是过球心的两个大圆环和两个平行的圆环相交获得;或者是两个偏航角圆环和两个俯仰角圆环相交获得,偏航角圆环就是圆环上的点的偏航角都相同,俯仰角圆环就是圆环上的点的俯仰角都相同;或者是两个经度圈和两个纬度圈相交获得。

在一些实施例中,用于描述目标空间对象的宽高的坐标系如图5所示,球面的阴影部分是目标空间对象,目标空间对象的四个角的顶点分别是b,e,g,i;在图5中,o为360度vr全景视频球面图像对应的球心,顶点begi分别为过z轴的圆(该圆以球心o为圆心,并且该圆的半径为360度vr全景视频球面图像对应的球体的半径,该圆的数量为两个,一个经过点bai,一个经过点efg),和过y轴的圆(该圆以球心o为圆心,并且该圆的半径为360度vr全景视频球面图像对应的球体的半径,该圆的数量为两个,一个经过点bde,一个经过点ihg)在球面上的交点,c为目标空间对象的中心点,dh边对应的角度表示为目标空间对象的高度,af边对应的角度表示为目标空间对象的宽度,dh边和af边过c点,其中bi边、eg边和dh边对应的角度相同;be边、ig边和af边对应的角度相同;be边对应的角的顶点为j点,j点为过be两点并与x轴和y轴平行的圆与z轴的交点,ig边对应的角的顶点为过ig两点并与x轴和y轴平行的圆与z轴的交点,af边对应的角的顶点为o点,bi边对应的角的顶点为l点,l点为过bi两点并与z轴和x轴平行的圆与y轴的交点,eg边对应的角的顶点为过eg两点并与z轴和x轴平行的圆与y轴的交点,dh边对应的角的顶点也为o点。

需要说明的是,以上只是一种示例,目标空间对象也可以是过x轴的两个圆和过z轴的两个圆相交获得,目标空间对象也可以是过x轴的两个圆和过y轴的两个圆相交获得,或者是4个过球心的圆环相交获得。

在一些实施例中,用于描述目标空间对象的宽高的坐标系如图6所示,球面的阴影部分是目标空间对象,目标空间对象的四个角的顶点分别是b,e,g,i;在图6中,o为360度vr全景视频球面图像对应的球心,顶点begi分别为平行于坐标轴x轴和z轴的圆(该圆不以球心o为圆心,该圆的数量为两个,且两个圆互相平行,,该圆的数量为两个,一个经过点bai,一个经过点efg),和平行于坐标轴x轴和y轴的圆(该圆不以球心o为圆心,该圆的数量为两个,且两个圆互相平行,一个经过点bde,一个经过点ihg)在球面上的交点,c为目标空间对象的中心点,dh边对应的角度表示为目标空间对象的高度,af边对应的角度表示为目标空间对象的宽度,dh边和af边过c点,其中bi边、eg边和dh边对应的角度相同;be边、ig边和af边对应的角度相同;be边、ig边和af边对应的角的顶点为o点,bi边、eg边和dh边对应的角的顶点也为o点。

需要说明的是,以上只是一种示例,目标空间对象也可以是平行于y轴和z轴的且不过球心两个圆和平行于y轴和x轴的且不过球心两个圆相交获得,目标空间对象也可以是平行于y轴和z轴的且不过球心两个圆和平行于z轴和x轴的且不过球心两个圆相交获得。

在图5中的j点和l点和图4中的j点获取方式相同,be边对应的角的顶点是j点,bi边对应的角的顶点是l点;在图6中,be边和bi边对应的顶点都是o点。

图16和图17是本申请实施例的一种空间对象和视频数据的映射关系的示意图。图16示出了一个全向视频(左边大图)和全向视频的子区域(右边小图),图17示出了全向视频对应的视频空间(球面)和全向视频的子区域对应的空间对象(球面上的深色部分)。

在现有的omaf标准中规定了在球面上的区域(region)的具有时间属性的元数据轨迹(timedmetadatatrack),在该元数据轨迹中元数据的box中包含的是描述球面region的元数据,在媒体数据box中包含的是球面区域的信息,在元数据的box中描述了有时间属性的元数据轨迹的意图,也就是球面区域是用来做什么的,在标准中描述了两种有时间属性的元数据轨迹——推荐视角元数据轨迹(therecommendedviewporttimedmetadatatrack)和初始视点轨迹(theinitialviewpointtimedmetadatatrack)。推荐视角轨迹描述了推荐给终端呈现的视角的区域,初始视点轨迹描述了全向视频观看时的初始呈现方向。

三、下面结合图7描述本申请的实施例应用的一种场景。

如图7所示,服务器侧701包括内容准备7011和内容服务7012。

内容准备单元7011,可以是媒体数据采集设备或媒体数据的转码器,负责流媒体的媒体内容以及相关的元数据等信息的生成,比如媒体文件(视频,音频等)的压缩,封装和存储/发送。内容准备单元7011可以生成元数据信息,以及元数据来源所在的文件。元数据可以封装为元数据轨迹,元数据也可以封装在视频数据轨迹的sei中。元数据轨迹中的样本(sample)是内容生成者指定的全向视频中的部分区域或者是由内容制作者指定的全向视频中的部分区域,元数据来源封装在元数据轨迹中或者携带在mpd中。如果元数据封装在sei中,则元数据的来源信息可以携带在sei中。在一种实施方式中,元数据的来源信息可以表示元数据指示的是内容的制作者或者导演推荐的观看区域。

内容服务单元7012,可以是网络节点,比如内容分发网络(contentdistributionnetwork,cdn)或者代理服务器。内容服务单元7012可以从内容准备单元7011获取存储或者发送的数据,将数据转发到终端侧702;或者是从终端侧702获取终端反馈的区域信息,根据反馈信息生成区域元数据轨迹或者区域sei信息,并生成携带区域信息来源的文件。生成区域元数据轨迹或者区域sei信息可以是统计全向视频的各区域反馈的观看信息,根据统计的选择区域观看数量最多的一个或者多个区域生成用户感兴趣区域的样本,将该样本封装在元数据轨迹或者封装在sei中,并封装区域元数据来源信息到该轨迹中或者携带在mpd中,或者将区域元数据的来源信息携带在sei中。该信息来源表示区域元数据信息来自于服务器统计,表示元数据轨迹中描述的区域是大部分用户感兴趣的区域。区域元数据轨迹或者区域sei中的区域信息也可以是服务器指定的某个用户反馈的区域信息,根据反馈信息生成区域元数据轨迹或者区域sei,并将区域元数据的来源信息携带在区域元数据轨迹或者携带在mpd中或者sei中,该区域信息来源描述了区域元数据来自于某个用户。

可以理解的是,内容准备单元7011和内容服务单元7012可以在同一个服务器硬件设备上,也可以是不同的硬件设备。内容准备单元7011和内容服务单元7012都可以包括一个或多个硬件设备。

终端侧702,可以是虚拟实现(virtualreality,vr)系统(例如,vr头盔,vr手机,vr机顶盒等),还可以是增强实现(augmentedreality,ar)设备。用于获得媒体数据,呈现媒体数据,同时终端侧702获得用户呈现的内容在全向视频中的区域信息,终端侧702将区域信息反馈到内容服务侧701;或者终端侧702获得媒体数据,元数据和携带有元数据来源信息的数据,终端侧702解析元数据来源信息,根据终端用户选定的元数据来源,解析对应的元数据,获得区域信息进行媒体呈现。

下面结合元数据轨迹中封装的样本入口及样本,简单说明通过点描述方式和面描述方式描述目标区域在球面上位置时,目标区域的区域位置信息的适用情况。需要说明的是,下面重点说明与本申请实施例相关的参数,还应理解,为了使中文与英文更好的对应,便于理解,下文中以目标区域代替上文中描述的空间对象。

用于描述目标区域在球面中位置的样本入口(sampleentry)的语法为:

从样本入口的语法中,可以看出在样本入口中描述了目标区域的区域形状类型参数(shapetype),目标区域的区域范围信息(动态范围标识dynamic_range_flag、静态区域的水平范围static_hor_range、静态区域的垂直范围static_ver_range)等。

其中,dynamic_range_flag表示目标区域在球面上的水平方向和垂直方向上的区域范围的变化情况,若dynamic_range_flag==0,表示目标区域在球面上的水平方向和垂直方向上的区域范围的是固定的,若dynamic_range_flag==1,表示目标区域在球面上的水平方向和垂直方向上的区域范围的变化在与该样本入口对应的样本中描述。

static_hor_range表示目标区域在球面上的水平范围,样本入口中的static_hor_range表示dynamic_range_flag==0时,目标区域在球面上的水平范围。

static_ver_range表示目标区域在球面上的垂直范围,样本入口中的static_ver_range表示dynamic_range_flag==0时,目标区域在球面上的垂直范围。

shape_type表示目标区域的形状,也可以理解为目标区域的确定方式。例如,shape_type==0时,可以表示用图4所示的方法确定目标区域,shape_type==1时,可以表示用图6所示的方法确定目标区域;或shape_type==0时,可以表示用图5所示的方法确定目标区域,shape_type==1时,可以表示用图6所示的方法确定目标区域;或shape_type==0时,可以表示用图4所示的方法确定目标区域,shape_type==1时,可以表示用图5所示的方法确定目标区域。

用于描述目标区域在球面上的位置的样本的语法为:

从样本的语法中,可以看出在样本中描述了目标区域的中心点的位置信息(偏航角center_yaw、俯仰角center_pitch、旋转角center_roll),目标区域的区域范围信息(区域的水平范围hor_range、区域的垂直范围ver_range)等。

其中,hor_range表示目标区域在球面上的水平范围,可以在样本入口中的dynamic_range_flag==1时,使用该样本中的hor_range表示目标区域在球面上的水平范围。

ver_range表示目标区域在球面上的垂直范围,可以在样本入口中的dynamic_range_flag==1时,使用该样本中的ver_range表示目标区域在球面上的垂直范围。

基于上述描述目标区域在球面中位置的样本入口的语法和样本的语法,当目标区域使用点描述方式时,dynamic_range_flag==0,static_hor_range==0,static_ver_range==0。当目标区域使用面描述方式时,目标区域中的中心点的位置信息、static_hor_range和static_ver_range都是有意义或有效的,static_hor_rang和static_ver_range为非零值。

综上所述,无论目标区域使用点描述方式还是面描述方式,都是用一种语法的样本入口语法和样本语法,终端需要从样本入口和样本中获取目标区域中的中心点的位置信息、static_hor_range和static_ver_range。也就是说,目标区域通过点描述方式时,即使static_hor_range==0,static_ver_range==0,解码端(例如,终端侧702)依然需要从码流数据中包含的样本中,获取对于确定目标区域在球面上的位置来说是无效的信息。

因此,上述获取用于指示目标区域在球面上的位置的区域位置信息的方法,比较固定,不够灵活,并且增加了获取区域位置信息的时延。

为了解决上述问题,下面结合图8详细描述本申请实施例的媒体数据的处理方法的示意性流程图。应理解,图8所示的方法可以由具有解码功能的设备执行,例如,可以由图7中示出的终端侧702执行。

810,获取码流数据,所述码流数据包含区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式。

可选地,所述码流数据为媒体数据轨迹。

具体地,码流数据为媒体数据轨迹时,区域类型信息位于媒体数据轨迹中。

可选地,所述区域类型信息位于所述媒体数据轨迹的sei中。

下表列举了区域类型信息位于sei中,一种可行的sei的语法:

其中,若sei中的载荷类型(payloadtype)为reg时,sei中的语法如下表

从上述可行的sei语法中可以看出,在sei中添加了目标区域的区域类型信息(region_type),当目标区域采用的描述类型为点描述方式时,即region_type==0时,sei中目标区域的区域位置信息仅仅为中心点的位置信息(center_yaw、center_pitch和center_roll);当目标区域采用的描述类型为面描述方式时,即region_type==1时,sei中目标区域的区域位置信息包括中心点的位置信息(center_yaw、center_pitch和center_roll)和目标区域的范围信息:目标区域的水平范围(hor_range)和目标区域的垂直范围(ver_range)。

可选地,所述码流数据为元数据轨迹。

具体地,码流数据为元数据轨迹时,区域类型信息位于元数据轨迹中。

下文列举了区域类型信息位于元数据轨迹中,元数据轨迹中一种可行的样本入口语法和样本语法。

样本入口1的语法:

在样本入口中添加目标区域的区域类型信息(region_type),用于指示目标区域在球面上的位置的描述方式。若region_tpye==0,用于指示目标区域使用点描述方式;若region_tpye==1用于指示目标区域使用面描述方式。

与样本入口1对应的样本语法1的语法:

结合样本入口1和样本1,可以看出,若region_tpye==0,也就是目标区域使用点描述方式时,需要从样本入口和样本中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息:center_yaw、center_pitch和center_roll;若region_tpye==1,也就是目标区域使用面描述方式时,需要从样本入口和样本中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息:center_yaw、center_pitch和center_roll,目标区域的区域范围信息:hor_range和ver_range。

可选地,所述元数据轨迹包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

具体地,上述形状类型参数的值指示区域类型信息,可以指形状类型参数的取值隐含指示了区域类型信息。例如,现有技术中,形状类型参数的取值可以为0或1,不同的取值表示了不同的区域形状,本申请实施例中,可以为形状类型参数的取值附加新的取值(例如,2),用于表示区域类型信息。也就是说,当形状类型参数的取值为0或1时,可以用于指示目标区域使用面描述方式,当形状类型参数的取值为新的取值(例如,2)时,可以用于指示目标区域使用点描述方式。

需要说明的是,上述形状类型参数可以是位于元数据轨迹中的形状类型参数,还可以是位于sei中的形状类型参数。

下文列举了通过区域形状(shape_type)信息的值指示区域类型信息时,元数据轨迹中一种可行的样本入口语法和样本语法,以及相应的sei的语法。

样本入口2的语法:

上述样本入口2的语法中,区域形状类信息(shape_type)用于指示目标区域的区域类型信息,若shape_type==0,或shape_type==1时,用于指示目标区域使用面描述方式;若shape_type==2时,用于指示目标区域使用点描述方式。

与样本入口2对应的样本2的语法:

结合样本入口2和样本2,可以看出,若shape_type==2,也就是目标区域使用点描述方式时,需要从样本入口和样本中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息:center_yaw、center_pitch和center_roll;若shape_type==0,或shape_type==1,也就是说,目标区域使用面描述方式时,需要从样本入口和样本中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息:center_yaw、center_pitch和center_roll,目标区域的区域范围信息:hor_range和ver_range。

相应地,与样本入口2的语法和样本2的语法对应的一种可行的sei的语法可以参见下表:

若shape_type==2,也就是目标区域使用点描述方式时,需要sei中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息:center_yaw、center_pitch和center_roll;若shape_type==0,或shape_type==1,也就是说,目标区域使用面描述方式时,需要从sei中获取的目标区域的区域位置信息包括目标区域的中心点的位置信息(center_yaw、center_pitch和center_roll),以及目标区域的区域范围信息(hor_range和ver_range)。

820,解析所述码流数据,以获取与所述描述方式对应的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置。

具体地,区域位置信息包括目标区域的中心点的位置信息和目标区域的区域范围信息,其中目标区域的中心点的位置信息可以通过中心点在球面上的坐标表示,目标区域的区域范围信息可以通过目标区域在球面上的水平范围和目标区域在球面上的垂直范围表示。

可选地,作为一个实施例,若所述描述方式为所述点描述方式,步骤820,包括:解析所述码流数据,以获取与所述点描述方式对应的区域位置信息,与所述点描述方式对应的所述区域位置信息为所述目标区域的中心点的位置的位置信息。

可选地,作为一个实施例,若所述描述方式为所述面描述方式,步骤820,包括:解析所述码流数据,以获取与所述面描述方式对应的区域位置信息,与所述面描述方式对应的区域位置信息包括所述目标区域的中心点的位置信息和所述目标区域的区域范围信息。

830,得到与所述目标区域对应的媒体数据。

具体地,若上述码流数据为媒体数据轨迹,则上述得到与目标区域对应的媒体数据,可以指从该码流数据中获取目标区域对应的媒体数据;若上述码流数据为元数据轨迹,则上述得到与目标区域对应的媒体数据,可以从元数据轨迹对应的媒体数据轨迹中获取目标区域对应的媒体数据。

840,根据所述区域类型信息和所述区域位置信息处理所述媒体数据。

本申请实施例根据码流数据中包含的区域类型信息,可以确定需要通过解析码流数据获取的与描述方式对应的区域位置信息,也就是说,可以根据目标区域的描述方式选择性地通过解析码流获取区域位置信息,避免了现有技术中,需要从码流数据中解析全部的目标区域的区域位置信息,有利于提高获取目标区域的区域位置信息的灵活性,

进一步地,对于获取点描述方式对应的区域位置信息而言,有利于降低获取目标区域的区域位置信息的时延。

图9是本申请实施例的媒体数据的处理方法的示意性流程图。应理解,图9所示的方法可以由服务器执行,例如,图7中所示的内容准备单元7011或内容服务单元7012。

910,生成码流数据,所述码流数据包含球面上的目标区域的区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式,所述点描述方式和所述面描述方式在所述码流数据中对应不同的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置。

具体地,上述点描述方式和所述面描述方式在所述码流数据中对应不同的区域位置信息,可以指,不同的描述方式对应不同的区域位置信息。例如,描述方式为点描述方式时,与点描述方式对应的区域位置信息包括目标区域的中心点的位置信息;描述方式为面描述方式时,与面描述方式对应的区域位置信息包括目标区域的中心点的位置信息和目标区域的区域范围信息。

可选地,所述码流数据为媒体数据轨迹。

可选地,所述区域类型信息位于所述媒体数据轨迹的辅助增强信息sei中。

可选地,所述码流数据为元数据轨迹。

可选地,所述码流数据中包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

920,发送所述码流数据。

具体地,向解码设备发送上述码流数据,该解码设备可以是图7所示的终端侧702。

上文结合图1至图9详细地描述了本申请实施例的媒体数据的处理方法,下文结合图10至图12详细描述本申请实施例的媒体数据的处理装置。应理解,图10至图12所示的装置可以实现图1至图9中的各个步骤,为了避免重复,此处不再赘述。

图10是本申请实施例的媒体数据的处理装置的示意框图。图10所示的装置1000包括:获取单元1010和处理单元1020。

获取单元,用于获取码流数据,所述码流数据包含区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式;

所述获取单元,还用于解析所述码流数据,以获取与所述描述方式对应的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置;

所述获取单元,还用于得到与所述目标区域对应的媒体数据;

处理单元,用于根据所述获取单元获取的所述区域类型信息和所述获取单元获取的所述区域位置信息处理所述媒体数据。

可选地,所述码流数据为媒体数据轨迹。

可选地,所述区域类型信息位于所述媒体数据轨迹的辅助增强信息sei中。

可选地,所述码流数据为元数据轨迹。

可选地,所述码流数据中包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

在可选的实施例中,上述处理单元可以为处理器1120,上述获取单元可以为收发机1140,所述装置还可以包括输入/输出接口1130和存储器1110,具体如图11所示。

图11是本申请另一实施例的装置的示意性框图。图11所示的装置1100可以包括:存储器1111、处理器1120、输入/输出接口1130、收发机1140。其中,存储器1111、处理器1120、输入/输出接口1130和收发机1140通过内部连接通路相连,该存储器1111用于存储指令,该处理器1120用于执行该存储器1110存储的指令,以控制输入/输出接口1130接收输入的数据和信息,输出操作结果等数据,并控制收发机1140发送信号。

应理解,在本申请实施例中,该处理器1120可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。

还应理解,收发机1140又称通信接口,使用例如但不限于收发器一类的收发装置,来实现终端1100与其他设备或通信网络之间的通信。

该存储器1111可以包括只读存储器和随机存取存储器,并向处理器1120提供指令和数据。处理器1120的一部分还可以包括非易失性随机存取存储器。例如,处理器1120还可以存储设备类型的信息。

在实现过程中,上述方法的各步骤可以通过处理器1120中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的媒体数据的处理方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1110,处理器1120读取存储器1110中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

应理解,本申请实施例中,该处理器可以为中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

图12是本申请实施例的媒体数据的处理装置的示意性框图,图12所示的装置包括:生成单元1210和发送单元1220。

生成单元,用于生成码流数据,所述码流数据包含球面上的目标区域的区域类型信息,所述区域类型信息用于指示目标区域在球面上的位置的描述方式,所述描述方式包括点描述方式或面描述方式,所述点描述方式和所述面描述方式在所述码流数据中对应不同的区域位置信息,所述区域位置信息用于指示所述目标区域在所述球面上的位置;

发送单元,用于发送所述生成单元生成的所述码流数据。

可选地,所述码流数据为媒体数据轨迹。

可选地,所述区域类型信息位于所述媒体数据轨迹的辅助增强信息sei中。

可选地,所述码流数据为元数据轨迹。

可选地,所述码流数据中包含所述目标区域的形状类型参数,所述形状类型参数的值指示所述区域类型信息。

在可选的实施例中,上述生成单元可以为处理器1120,上述发送单元可以为收发机1140,所述装置还可以包括输入/输出接口1130和存储器1110,具体如图11所示。

在现有的技术中,因为客户端(可以是上文中的终端侧702)无法准确识别数据的来源,所以客户端在根据元数据选择媒体数据时,并不能充分的满足用户的需求,用户体验较差。

如图13所示,本申请一方面的实施例公开了一种媒体信息的处理方法s130,方法s130包括:

s1301:得到媒体数据的元数据信息,所述元数据信息包括元数据的来源信息,所述来源信息用于表示所述媒体数据的推荐方,所述媒体数据是全向视频中的一个子区域对应的视频数据;

s1302:根据所述元数据的来源信息处理所述媒体数据。

如图14所示,本申请一方面的实施例公开了一种媒体信息的处理装置1400,装置1400包括:

信息获取模块1401和处理模块1402。信息获取模块1401用于得到媒体数据的元数据信息,所述元数据信息包括元数据的来源信息,所述来源信息用于表示所述媒体数据的推荐方,所述媒体数据是全向视频中的一个子区域对应的视频数据;处理模块902用于根据所述元数据的来源信息处理所述媒体数据。

在本申请实施例的一种实现方式中,元数据的来源信息携带在元数据轨迹中。

在元数据轨迹中,新增一个元数据轨迹中的样本数据来源的描述box,在该box中描述轨迹来源。在本实施例中新增的box格式如下,

sourceinformationboxextendsbox(‘sinf’){

unsignedint(8)source_type;//指示元数据来源:导演预设/预先统计/受欢迎的个人

}

在本样例中source_type描述了上述box所在的轨迹的来源信息。当source_type=0时,表示轨迹中的区域信息是视频的制作者的推荐的,比如导演推荐的视角;终端侧可以使用该轨迹中的信息将导演要呈现给用户的媒体内容呈现给用户;当source_type=1时,表示轨迹中的区域信息是大部分用户的感兴趣区域,终端侧可以使用该轨迹中的信息将全向媒体中的大部分用户感兴趣的区域呈现给用户。当source_type=2时,表示轨迹中的区域信息是某个终端用户观看全向媒体的区域,终端侧可以重现某个用户观看全向媒体的视角。

可以理解的是,上述type只是为了帮助理解本申请实施例而做出的一种示例,而不是一种具体限制。type的值可以取其它的数值,或者用以表示其它的来源类型。

在终端侧获得上述元数据轨迹的信息的处理流程如下:

1、终端获取到元数据轨迹,解析元数据轨迹中的元数据box(moovbox),再解析该box得到sinfbox;

2、解析sinfbox,获得source-type信息,如果source_type=0,该轨迹中的区域信息是视频的制作者的推荐的;如果source_type=1时,轨迹中的区域信息是大部分用户的感兴趣区域;如果source_type=2时,轨迹中的区域信息是某个终端用户观看全向媒体的区域。假设终端获取的元数据中的source_type=0。

3、将信息来源呈现给用户,接受用户的选择。

4、如果用户选择观看视频制作者或者是导演推荐的视角,那么解析元数据轨迹中的样本,获得区域信息,将全向媒体中与获得的区域对应的媒体呈现给用户。

在元数据轨迹中携带元数据来源的信息,该来源信息描述了元数据来源于全向视频的制作者,或者是观看全向视频的用户,或者是统计获得的感兴趣视角的数据;或者该信息描述的元数据意图是元数据来源于全向视频的制作者的推荐,或者是观看全向视频的用户的推荐,或者是统计观看视角的数据的推荐。客户端在接收到区域元数据时可以区分不同来源的元数据,在有多个区域元数据的情况下,用户可以按照个人需求选择要观看的推荐区域。

在本申请的一种实现方式中,元数据的来源信息携带在mpd中。

在iso/iec23009-1中规定的标准元素supplementalproperty/essentialproperty中增加源信息描述子,该描述子的scheme为="urn:mpeg:dash:purpose",表示该描述子给出了mpd中的表示中的是信息来源,该描述子的value的取值定义如下表:

上述的描述子可以在mpd的adaptationset元素中,也可以在mpd的representation的元素中,在下面的具体样例中,该描述子在representation的元素中

在本样例中,除了采用描述子的方式来描述表示的来源信息,也可以在adaptationset元素或者representation的元素中增加一个描述表示的来源的属性,比如属性为sourcetype。当source_type=0时,表示中的区域信息是视频的制作者的推荐的,比如导演推荐的视角;终端侧可以使用该表示中的信息将导演要呈现给用户的媒体内容呈现给用户;当source_type=1时,表示中的区域信息是大部分用户的感兴趣区域,终端侧可以使用该表示中的信息将全向媒体中的大部分用户感兴趣的区域呈现给用户。当source_type=2时,表示中的区域信息是某个终端用户观看全向媒体的区域。终端侧可以重现某个用户观看全向媒体的视角。

mpd的样例如下:

在上述的两个mpd样例中,分别采用描述子和属性来描述表示中描述的文件metadata.mp4文件中的区域信息是视频的制作者的推荐的。

在终端侧获得上述样例信息的处理流程如下:

1、终端获取到mpd文件,解析mpd文件,如果解析在adaptationset或者representation元素中包含scheme为urn:mpeg:dash:purpose的描述子,解析该描述子的value。

2、如果value=0,该表示中的区域信息是视频的制作者的推荐的;如果value=1时,表示中的区域信息是大部分用户的感兴趣区域;如果value=2时,表示中的区域信息是某个终端用户观看全向媒体的区域。假设终端获取的mpd中的value=0。

3、将信息来源呈现给用户,接受用户的选择。

4、如果用户选择观看视频制作者或者是导演推荐的视角,那么根据mpd中的信息构造representation分段请求,获得分段,解析分段的区域信息,获得区域信息,将全向媒体中与获得的区域对应的媒体呈现给用户。

在本申请的一个实施例中,元数据的来源信息信息携带在sei中。

样例:

上述语法中的src表示一个具体取值,比如190,这里不作限定,当sei中的载荷类型为src时,sei中的语法如下表中的描述。

该负载中的source_type描述了上述sei描述的区域信息的来源信息。当source_type=0时,表示sei描述的区域信息是视频的制作者的推荐的,比如导演推荐的视角;终端侧可以使用该sei描述的区域信息将导演要呈现给用户的媒体内容呈现给用户;当source_type=1时,表示sei描述的区域信息是大部分用户的感兴趣区域,终端侧可以使用该区域信息将全向媒体中的大部分用户感兴趣的区域呈现给用户。当source_type=2时,表示sei描述的区域信息是某个终端用户观看全向媒体的区域。终端侧可以重现某个用户观看全向媒体的视角。

在终端侧获得上述视频码流的处理流程如下:

1、终端获取到视频码流,解析码流中的nalu头信息,如果解析到的头信息类型是sei类型,解析seinalu,获得sei的载荷类型;

2、如果解析到的载荷类型为190,表示sei中携带了区域元数据的来源信息;继续解析获得source-type信息,如果source_type=0,该轨迹中的区域信息是视频的制作者的推荐的;如果source_type=1时,轨迹中的区域信息是大部分用户的感兴趣区域;如果source_type=2时,轨迹中的区域信息是某个终端用户观看全向媒体的区域。假设终端获取的sei中的source_type=0;

3、将信息来源呈现给用户,接受用户的选择。

4、如果用户选择观看视频制作者或者是导演推荐的视角,那么解析视频码流中的区域信息,获得区域信息,将全向媒体中与获得的区域对应的媒体呈现给用户。

在本申请的一个实施例中,除了上述实施例所列出的来源信息的类型外,还可以对来源信息的语义进行扩展。

例如:

1、在元数据轨迹中的语法扩展:

语义:

language:后续的字符串的语言,该值采用iso-639-2/t中的语言码字来表示各种语言

sourcedescription:字符串,具体描述区域元数据来源的内容,对来源的描述的描述,比如该值可以是“adirector'scut”,表示元数据来源于作者或者是作者推荐;或者取值“tom”,表示来源于tom或者是tom推荐。

2、在mpd中的扩展:

3、在sei中的扩展:(语法的语义和上述语义相同)

在本申请的一个实施例中,除了上述实施例所列出的来源信息的类型外,还可以对来源信息的语义进行扩展。

例如:

1、在元数据轨迹中的语法扩展:

语义:

data:描述了元数据轨迹产生的时间,比如mon,04jul201105:50:30gmt。

2、在mpd中的扩展:

3、在sei中的扩展:(语法的语义和上述语义相同)

在本申请的一个实施例中,元数据的意图/来源的信息也可用sampleentrytype表示,比如大部分用户的感兴趣区域的sampleentrytype可以是’mroi’,某个用户推荐可以是‘proi’,作者或者导演推荐,可以是‘droi’。

图15是本申请实施例提供的计算机设备1500的硬件结构示意图。如图15所示,计算机设备1500可以作为流媒体的信息的处理装置的一种实现方式,也可以作为流媒体的信息的处理方法的一种实现方式,计算机设备1500包括处理器1501、存储器1502、输入/输出接口1503和总线1505,还可以包括通信接口1504。其中,处理器1501、存储器1502、输入/输出接口1503和通信接口1504通过总线1505实现彼此之间的通信连接。

处理器1501可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的流媒体的信息的处理装置中的模块所需执行的功能,或者执行本申请方法实施例对应的流媒体的信息的处理方法。处理器1501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1501可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1502,处理器1501读取存储器1502中的信息,结合其硬件完成本申请实施例所提供的流媒体的信息的处理装置中包括的模块所需执行的功能,或者执行本申请方法实施例提供的流媒体的信息的处理方法。

存储器1502可以是只读存储器(readonlymemory,rom),静态存储设备,动态存储设备或者随机存取存储器(randomaccessmemory,ram)。存储器1502可以存储操作系统以及其他应用程序。在通过软件或者固件来实现本申请实施例提供的流媒体的信息的处理装置中包括的模块所需执行的功能,或者执行本申请方法实施例提供的流媒体的信息的处理方法时,用于实现本申请实施例提供的技术方案的程序代码保存在存储器1502中,并由处理器1501来执行流媒体的信息的处理装置中包括的模块所需执行的操作,或者执行本申请方法实施例提供的媒体数据的处理方法。

输入/输出接口1503用于接收输入的数据和信息,输出操作结果等数据。

通信接口1504使用例如但不限于收发器一类的收发装置,来实现计算机设备100与其他设备或通信网络之间的通信。可以作为处理装置中的获取模块或者发送模块。

总线1505可包括在计算机设备1500各个部件(例如处理器1501、存储器1502、输入/输出接口1503和通信接口1504)之间传送信息的通路。

应注意,尽管图15所示的计算机设备1500仅仅示出了处理器1501、存储器1502、输入/输出接口1503、通信接口1504以及总线1505,但是在具体实现过程中,本领域的技术人员应当明白,计算机设备1500还包含实现正常运行所必须的其他器件,例如还可以包括显示器,用于显示要播放的视频数据。同时,根据具体需要,本领域的技术人员应当明白,计算机设备1500还可包含实现其他附加功能的硬件器件。此外,本领域的技术人员应当明白,计算机设备1500也可仅仅包含实现本申请实施例所必须的器件,而不必包含图15中所示的全部器件。

应理解,在本申请实施例中,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digitalvideodisc,dvd))或者半导体介质(例如,固态硬盘(solidstatedisk,ssd))等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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