CN107888939A - 一种视频数据的处理方法及装置 - Google Patents

一种视频数据的处理方法及装置 Download PDF

Info

Publication number
CN107888939A
CN107888939A CN201610874490.7A CN201610874490A CN107888939A CN 107888939 A CN107888939 A CN 107888939A CN 201610874490 A CN201610874490 A CN 201610874490A CN 107888939 A CN107888939 A CN 107888939A
Authority
CN
China
Prior art keywords
information
code stream
visual angle
spatial
author
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610874490.7A
Other languages
English (en)
Inventor
邸佩云
宋翼
谢清鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610874490.7A priority Critical patent/CN107888939A/zh
Priority to PCT/CN2016/107111 priority patent/WO2018058773A1/zh
Publication of CN107888939A publication Critical patent/CN107888939A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种基于HTTP动态自适应流媒体的视频数据的处理方法及装置,所述方法包括:接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同;所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同;得到指令信息;若指令信息是观看作者视角码流,则获取第一表示的分段,否则,获取第二表示的分段。采用本发明实施例,具有可节省视频数据的传输资源,提高视频呈现的灵活性和适用性,增强视频观看的用户体验的优点。

Description

一种视频数据的处理方法及装置
技术领域
本发明涉及流媒体数据处理领域,尤其涉及一种视频数据的处理方法及装置。
背景技术
随着虚拟现实(英文:virtual reality,VR)技术的日益发展完善,360度视角等VR视频的观看应用越来越多地呈现在用户面前。在VR视频观看过程中,用户随时可能变换视角(英文:field of view,FOV),每个视角对应一个空间对象的视频码流,视角切换时呈现在用户视角内的VR视频图像也应当随着切换。
现有技术在VR视频准备阶段将VR全景视频划分为多个的固定空间对象对应的多个码流,每个固定空间对象对应一组基于通过超文本传输协议(英文:hypertext transferprotocol,HTTP)动态自适应流(英文:dynamic adaptive streaming over HTTP,DASH)码流。在用户变换视角时,终端根据用户切换后的新空间对象选择视频中包含该空间对象的一个或者多个固定空间对象,每个固定空间对象包含切换后的空间对象的一部分。终端获取全景空间对象的码流,并解码上述一个或者多个固定空间对象的码流后再根据新空间对象呈现该空间对象对应的视频内容。现有技术中终端需要将全景空间对象的码流存储到本地存储空间中,再根据新空间对象选择相应的码流进行呈现,不呈现的空间对象对应的码流则为过剩的视频数据,不仅占用了本地存储空间,还造成了视频数据传输的网络传输带宽的浪费,适用性差。
发明内容
一、MPEG-DASH技术介绍
2011年11月,MPEG组织批准了DASH标准,DASH标准是基于HTTP协议传输媒体流的技术规范(以下称DASH技术规范);DASH技术规范主要由两大部分组成:媒体呈现描述(英文:Media Presentation Description,MPD)和媒体文件格式(英文:file format)。
1、媒体文件格式
在DASH中服务器会为同一个视频内容准备多种版本的码流,每个版本的码流在DASH标准中称为表示(英文:representation)。表示是在传输格式中的一个或者多个码流的集合和封装,一个表达中包含一或者多个分段。不同版本的码流的码率、分辨率等编码参数可以不同,每个码流分割成多个小的文件,每个小文件被称为分段(或称分段,英文:segment)。在客户端请求媒体分段数据的过程中可以在不同的媒体表示之间切换,如图3所示,服务器为一部电影准备了3个表示,包括rep1,rep2,rep3。其中,rep1是码率为4mbps(每秒兆比特)的高清视频,rep2是码率为2mbps的标清视频,rep3是码率为1mbps的标清视频。图3中标记为阴影的分段是客户端请求播放的分段数据,客户端请求的前三个分段是媒体表示rep3的分段,第四个分段切换到rep2,请求第四个分段,之后切换到rep1,请求第五个分段和第六个分段等。每个表示的分段可以首尾相接的存在一个文件中,也可以独立存储为一个个的小文件。segment可以按照标准ISO/IEC 14496-12中的格式封装(ISO BMFF(Base Media File Format)),也可以是按照ISO/IEC 13818-1中的格式封装(MPEG-2TS)。
2、媒体呈现描述
在DASH标准中,媒体呈现描述被称为MPD,MPD可以是一个xml的文件,文件中的信息是采用分级方式描述,如图2所示,上一级的信息被下一级完全继承。在该文件中描述了一些媒体元数据,这些元数据可以使得客户端了解服务器中的媒体内容信息,并且可以使用这些信息构造请求segment的http-URL。
在DASH标准中,媒体呈现(英文:media presentation),是呈现媒体内容的结构化数据的集合;媒体呈现描述(英文:media presentation description),一个规范化描述媒体呈现的文件,用于提供流媒体服务;时期(英文:period),一组连续的时期组成整个媒体呈现,时期具有连续和不重叠的特性;表示(英文:representation),封装有一个或多个具有描述性元数据的的媒体内容成分(编码的单独的媒体类型,例如音频、视频等)的结构化的数据集合即表示是传输格式中一个或者多个码流的集合和封装,一个表示中包含一个或者多个分段;自适应集(英文:AdaptationSet),表示同一媒体内容成分的多个可互替换的编码版本的集合,一个自适应集包含一个或者多个表示;子集(英文:subset),一组自适应集合的组合,当播放器播放其中所有自适应集合时,可以获得相应的媒体内容;分段信息,是媒体呈现描述中的HTTP统一资源定位符引用的媒体单元,分段信息描述媒体数据的分段,媒体数据的分段可以存储在一个文件中,也可以单独存储,在一种可能的方式中,MPD中会存储媒体数据的分段。
本发明有关MPEG-DASH技术的相关技术概念可以参考ISO/IEC23009-1:2014Information technology---Dynamic adaptive streaming over HTTP(DASH)--Part 1:Media presentation description and segment formats,中的有关规定,也可以参考历史标准版本中的相关规定,如ISO/IEC 23009-1:2013或ISO/IEC23009-1:2012等。
二、虚拟现实(virtual reality,VR)技术介绍
虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真,可以使用户沉浸到该环境中。VR主要包括模拟环境、感知、自然技能和传感设备等方面。模拟环境是由计算机生成的、实时动态的三维立体逼真图像。感知是指理想的VR应该具有一切人所具有的感知。除计算机图形技术所生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至还包括嗅觉和味觉等,也称为多感知。自然技能是指人的头部转动,眼睛、手势、或其他人体行为动作,由计算机来处理与参与者的动作相适应的数据,并对用户的输入作出实时响应,并分别反馈到用户的五官。传感设备是指三维交互设备。当VR视频(或者360度视频,或者全方位视频(英文:Omnidirectional video))在头戴设备和手持设备上呈现时,只有对应于用户头部的方位部分的视频图像呈现和相关联的音频呈现。
VR视频和通常的视频(英文:normal video)的差别在于通常的视频是整个视频内容都会被呈现给用户;VR视频是只有整个视频的一个子集被呈现给用户(英文:in VRtypically only a subset of the entire video region represented by the videopictures)。
三、现有DASH标准的空间描述:
现有标准中,对空间信息的描述原文是“The SRD scheme allows MediaPresentation authors to express spatial relationships between SpatialObjects.A Spatial Object is defined as a spatial part of a content component(e.g.a region of interest,or a tile)and represented by either an AdaptationSet or a Sub-Representation.”
【中文】:MPD中描述的是空间对象(即Spatial Objects)之间的空间关系(即spatial relationships)。空间对象被定义为一个内容成分的一部分空间,比如现有的感兴趣区域(英文:region of interest,ROI)和tile;空间关系可以在Adaptation Set和Sub-Representation中描述。现有DASH标准在MPD中定义了一些描述子元素,每个描述子元素都有两个属性,schemeIdURI和value。其中,schemeIdURI描述了当前描述子是什么,value是描述子的参数值。在已有的标准中有两个已有描述子SupplementalProperty和EssentialProperty(补充特性描述子和基本特性描述子)。现有标准中如果这两个描述子的schemeIdURI="urn:mpeg:dash:srd:2014"(或者schemeIdURI=urn:mpeg:dash:VR:2017),则表示该描述子描述了关联到的空间对象的空间信息(spatial informationassociated to the containing Spatial Object.),相应的value中列出了SDR的一系列参数值。具体value的语法如下表1:
表1
如图6,图6是空间对象的空间关系示意图。其中,图像AS可设为一个内容成分,AS1、AS2、AS3和AS4为AS包含的4个空间对象,每个空间对象关联一个空间,MPD中描述了各个空间对象的空间关系,例如各个空间对象关联的空间之间的关系。
MPD样例如下:
其中,上述空间对象的左上坐标、空间对象的长宽和人空间对象参考的空间,也可以是相对值,比如:上述value="1,0,0,1920,1080,3840,2160,2"可以描述成value="1,0,0,1,1,2,2,2"。
在一些可行的实施方式中,对于360度大视角的视频图像的输出,服务器可将360度的视角范围内的空间进行划分以得到多个空间对象,每个空间对象对应用户的一个子视角,多个子视角的拼接形成一个完整的人眼观察视角。其中,人眼观察视角的动态变化的,通常可为120度*120度。例如图7所述的框1对应的空间对象1和框2对应的空间对象1。服务器可为每个空间对象准备一组视频码流,具体的,服务器可获取视频中每个码流的编码配置参数,并根据码流的编码配置参数生成视频的各个空间对象对应的码流。客户端可在视频输出时向服务器请求某一时间段某个视角对应的视频码流分段并输出至该视角对应的空间对象。客户端在同一个时间段内输出360度的视角范围内的所有视角对应的视频码流分段,则可在整个360度的空间内输出显示该时间段内的完整视频图像。
具体实现中,在360度的空间的划分中,服务器可首先将球面映射为平面,在平面上对空间进行划分。具体的,服务器可采用经纬度的映射方式将球面映射为经纬平面图。如图8,图8是本发明实施例提供的空间对象的示意图。服务器可将球面映射为经纬平面图,并将经纬平面图划分为A~I等多个空间对象。进一步的,服务器可也将球面映射为立方体,再将立方体的多个面进行展开得到平面图,或者将球面映射为其他多面体,在将多面体的多个面进行展开得到平面图等。服务器还可采用更多的映射方式将球面映射为平面,具体可根据实际应用场景需求确定,在此不做限制。下面将以经纬度的映射方式,结合图8进行说明。
如图8,服务器可将球面的空间对象划分为A~I等多个空间对象之后,则可通过服务器为每个空间对象准备一组DASH码流。其中,每个空间对象对应一个子视角,每个空间对象对应的一组DASH码流为每个子视角的视角码流。一个视角码流中每个图像所关联的空间对象的空间信息相同,由此可将视角码流设为静态视角码流。每个子视角的视角码流为整个视频码流的一部分,所有子视角的视角码流构成一个完整的视频码流。视频播放过程中,可根据用户当前观看的视角选择相应的空间对象对应的DASH码流进行播放。用户切换视频观看的视角时,客户端则可根据用户选择的新视角确定切换的目标空间对象对应的DASH码流,进而可将视频播放内容切换为目标空间对象对应的DASH码流。
本发明实施例提供了一种基于HTTP动态自适应流媒体的视频数据的处理方法及装置,可节省视频数据的传输带宽资源,提高视频呈现的灵活性和适用性,增强视频观看的用户体验。
第一方面提供了一种基于HTTP动态自适应流媒体的视频数据的处理方法,其可包括:
接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同,所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同;
得到指令信息;
若所述指令信息是观看作者视角码流,则获取所述第一表示的分段,否则,获取所述第二表示的分段。
本发明实施例可在媒体呈现描述中描述作者视角码流和静态视角码流,其中,作者视角码流中包含的图像所关联的空间对象的空间信息可动态变化,静态视角码流中包含的图像所关联的空间对象的空间信息不变。本发明实施例可根据得到的指令信息从作者视角码流和镜头视角码流中选择相应的码流的分段,提高码流分段选择的灵活性,增强视频观看的用户体验。本发明实施例从作者视角码流和静态视角码流中获取相应的码流的分段,无需获取所有分段,可节省视频数据的传输带宽资源,增强了数据处理的适用性。
在一种可能的实现方式中,所述媒体呈现描述还包含有标识信息,所述标识信息用于标识视频的作者视角码流。
在一种可能的实现方式中,所述媒体呈现描述中包含自适应集的信息,所述自适应集用于描述同一媒体内容成分的多个可互相替换的编码版本的媒体数据分段的属性的数据集合;
其中,所述自适应集的信息中包含所述标识信息。
在一种可能的实现方式中,所述媒体呈现描述中包含表示的信息,所述表示为传输格式中的一个或者多个码流的集合和封装;
其中,所述表示的信息中包含所述标识信息。
在一种可能的实现方式中,所述媒体呈现描述中包含描述子的信息,所述描述子用于描述关联到的空间对象的空间信息;
其中,所述描述子的信息中包含所述标识信息。
本发明实施例可在媒体程序描述中添加作者视角码流的标识信息,可提高作者视角码流的可识别性。本发明实施例还可在媒体呈现描述的自适应集的信息中,或者媒体呈现描述的表示的信息中,或者媒体呈现描述的描述子的信息中携带作者视角码流的标识信息,操作灵活,适用性高。
在本发明实施例中,服务器在生成MPD时需要增加对应作者视角码流的语法元素,客户端可以根据该语法元素得到作者视角码流信息。服务器生成MPD时可在MPD中添加用于描述作者视角码流的表示,设为第一表示。MPD中现有的用于描述静态视角码流的表示可称为第二表示。几种可能的MPD语法元素的表示方式如下所示。可以理解的是,本发明实施例的MPD示例仅示出了本发明技术对现有标准中规定MPD的语法元素进行修改的相关部分,未示出MPD文件的全部语法元素,本领域普通技术人员可以结合DASH标准中的相关规定运用本发明实施例的技术方案。
在一种可能的实现方式中,在MPD中新增语法描述,如下表2,表2为新增语法元素的属性信息表:
表2
在MPD中通过属性@view_type来标记对应的representation是非作者视角(或称静态视角)码流还是作者视角(或称动态视角)码流。当view_type值为0时,表示对应的representation是非作者视角码流;当view_type值为1时,表示对应的representation是作者视角码流。客户端在本地解析MPD文件时,可根据该属性来判断当前视频流中是否包含作者视角码流。下面将通过一些可行的实现方式对应的MPD样例进行说明:
样例一:描述在MPD描述子中
如上所示,在该样例中,服务器可在现有MPD语法的EssentialProperty包含value属性的第二个值的位置插入一个新的值,原有value的第二个值以及第二个值以后的值依次往后挪一个值。客户端解析MPD之后则可获取得到value的第二个值。即在该样例中,value的第二个值是view_type。EssentialProperty中的value=“0,0,…”,即value的第二个为0(即view_type=0)表示EssentialProperty描述的是固定视角码流;value=“0,1”,即value的第二个为1(即view_type=1)表示EssentialProperty描述的是作者视角码流,即view_type=0。样例二:描述在表示中
在该样例中,Representation的属性信息中新增了语法元素view_type。当view_type=“0”或不设定时(默认是0),表示该Representation描述的码流为固定视角码流;当view_type=“1”时,表示该Representation描述的码流为作者视角码流。
样例三:描述在自适应集(adaptationSet)的属性信息中
该样例中,在AdaptationSet的属性信息(即作者视角码流所在码流集合的属性信息)中新增语法元素view_type。当view_type=“0”或不设定时(默认是0),表示该AdaptationSet下包含的码流为固定视角码流;当view_type=“1”时,表示AdaptationSet下包含的码流为作者视角码流。
在一种可能的实施方式中,所述第一表示的分段中携带所述第一表示的分段包含的图像所关联的空间对象的空间信息;
所述获取所述第一表示的分段之后,所述方法还包括:
解析所述第一表示的分段,获取所述第一表示的分段包含的图像所关联的空间对象的空间信息。
在一种可能的实施方式中,所述图像所关联的空间对象的空间信息为所述空间对象与其关联的内容成分的空间关系。
在一种可能的实施方式中,所述空间信息携带在所述第一表示的分段中的指定box中,或者和第一表示的分段相关联的元数据表达中的指定box中。
在一种可能的实施方式中,所述指定box为所述第一表示的分段中包含的trunbox,所述trun box用于描述一个轨迹的一组连续样本。
本发明实施例可在作者视角码流(具体可为作者视角码流中的分段)添加作者视角码流所包含的图像所关联的空间对象的空间信息,以供客户端根据作者视角码流的分段包含的图像所关联的空间对象的空间信息进行作者视角码流的分段切换,或者作者视角码流与静态视角码流的切换,提高了码流切换的适用性,增强客户端的用户体验。
在本发明实施例中,服务器还可在作者视角码流中添加一个或者多个作者空间对象的空间信息。针对于DASH码流,服务器可在现有文件格式中的trun box中增加上述空间信息,用于描述作者视角码流的每一帧图像所关联的空间对象的空间信息。
添加描述的样例(样例一);
在该样例中,服务器可在现有的trun box中添加语法元素tr_flags,并将tr_flags的值设定为0x001000,用于标记预设空间对象在全局空间对象中的相对位置的空间信息包含在trun box中。
上述trun box中采用偏航角方式描述,如center_pitch、center_yaw、center_roll、pitch_h和yaw_w来描述空间信息在球面中的中心位置(center_pitch、center_yaw、center_roll),高度(pitch_h),宽度yaw_w的偏航角。如图11,图11是作者空间对象在全景空间中的相对位置的示意图。在图11中,O点为360度VR全景视频球面图像对应的球心,可认为是观看VR全景图像时人眼的位置。A点为作者视角图像中心点,C、F为作者视角图像中过A点的沿该图像横向坐标轴的边界点,E、D为作者视角图像中过A点的沿该图像纵向坐标轴的边界点,B为A点沿球面经线在赤道线的投影点,I为赤道线上水平方向的起始坐标点。各个元素的含义解释如下:
center_pitch:作者空间对象的图像的中心位置映射到全景球面(即全局空间)图像上的点的竖直方向的偏转角,如图11中的∠AOB;
center_yaw:作者空间对象的图像的中心位置映射到全景球面图像上的点的水平方向的偏转角,如图11中的∠IOB;
center_roll:作者空间对象的图像的中心位置映射到全景球面图像上的点与球心连线方向的旋转角,如图11中的∠DOB;
pitch_h:作者空间对象的图像在全景球面图像的视场高度,以视场纵向最大角度表示,如图11中∠DOE;yaw_w:作者空间对象的图像在全景球面图像的视场宽度,以视场横向最大角度表示,如图11中∠COF。
在一些可行的实施方式中,服务器端也可在视频格式中添加一个新的box及其语法描述,用于描述作者空间对象的空间信息。其中,上述新增的box及其语法描述信息样例如下(样例二):
上述strp box包含的信息为新增的作者空间对象的空间信息,其中包含的各个语法元素的含义与上述样例一中包含的各个语法元素的含义相同。具体实现中,在该样例中Box里的“unsigned int(16)center_roll;//fov的中心位置roll”可以不存在,具体可根据实际应用场景需求确定,在此不做限制。
上述的strp box包可以包含在作者视角码流文件中,也可以被包含在作者视角码流相关联的原数据码流中,在元数据码流包含的是除了媒体数据之外的和媒体数据相关的一些元数据,比如作者视角码流的作者空间对象的空间信息。
第二方面提供了一种基于HTTP动态自适应流媒体的视频数据的处理装置,其可包括:
接收模块,用于接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同;所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同;
获取模块,用于得到指令信息;
所述获取模块,还用于在得到的所述指令信息是观看作者视角码流时,获取所述第一表示的分段,否则,获取所述第二表示的分段。
在一种可能的实现方式中,所述媒体呈现描述还包含有标识信息,所述标识信息用于标识视频的作者视角码流。
在一种可能的实现方式中,所述媒体呈现描述中包含自适应集的信息,所述自适应集用于描述同一媒体内容成分的多个可互相替换的编码版本的媒体数据分段的属性的数据集合;
其中,所述自适应集的信息中包含所述标识信息。
在一种可能的实现方式中,所述媒体呈现描述中包含表示的信息,所述表示为传输格式中的一个或者多个码流的集合和封装;
其中,所述表示的信息中包含所述标识信息。
在一种可能的实现方式中,所述媒体呈现描述中包含描述子的信息,所述描述子用于描述关联到的空间对象的空间信息;
其中,所述描述子的信息中包含所述标识信息。
在一种可能的实现方式中,所述第一表示的分段中携带所述第一表示的分段包含的图像所关联的空间对象的空间信息;
所述获取模块还用于:
解析所述第一表示的分段,获取所述第一表示的分段包含的图像所关联的空间对象的空间信息。
在一种可能的实现方式中,所述图像所关联的空间对象的空间信息为所述空间对象与其关联的内容成分的空间关系。
在一种可能的实现方式中,所述空间信息携带在所述第一表示的分段中的指定box中,或者和第一表示的分段相关联的元数据表达中的指定box中。
在一种可能的实现方式中,所述指定box为所述第一表示的分段中包含的trunbox,所述trun box用于描述一个轨迹的一组连续样本。
本发明实施例可在媒体呈现描述中描述作者视角码流和静态视角码流,其中,作者视角码流中包含的图像所关联的空间对象的空间信息可动态变化,静态视角码流中包含的图像所关联的空间对象的空间信息不变。本发明实施例可根据得到的指令信息从作者视角码流和镜头视角码流中选择相应的码流的分段,提高码流分段选择的灵活性,增强视频观看的用户体验。本发明实施例从作者视角码流和静态视角码流中获取相应的码流的分段,无需获取所有分段,可节省视频数据的传输带宽资源,增强了数据处理的适用性。本发明实施例可在作者视角码流(具体可为作者视角码流中的分段)添加作者视角码流所包含的图像所关联的空间对象的空间信息,以供客户端根据作者视角码流的分段包含的图像所关联的空间对象的空间信息进行作者视角码流的分段切换,或者作者视角码流与静态视角码流的切换,提高了码流切换的适用性,增强客户端的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是系统层视频流媒体传输采用的DASH标准传输的框架实例示意图;
图2是系统层视频流媒体传输采用的DASH标准传输的MPD的结构示意图;
图3是本发明实施例提供的码流分段的切换的一示意图;
图4是码流数据中的分段存储方式的一示意图;
图5是码流数据中的分段存储方式的另一示意图;
图6是空间对象的空间关系的一示意图;
图7是视角变化对应的视角示意图;
图8是空间对象的空间关系的另一示意图;
图9是本发明实施例提供的基于HTTP动态自适应流媒体的视频数据的处理方法的流程示意图;
图10是空间对象的空间关系的另一示意图;
图11是作者空间对象在全景空间中的相对位置的示意图;
图12是本发明实施例提供的基于HTTP动态自适应流媒体的视频数据的处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前以客户端为主导的系统层视频流媒体传输方案可采用DASH标准框架,如图1,图1是系统层视频流媒体传输采用的DASH标准传输的框架实例示意图。系统层视频流媒体传输方案的数据传输过程包括两个过程:服务器端(如HTTP服务器,媒体内容准备服务器,以下简称服务器)为视频内容生成媒体数据,响应客户端请求的过程,和客户端(如HTTP流媒体客户端)向服务器请求并获取媒体数据的过程。其中,上述媒体数据包括媒体呈现描述(英文:Media Presentation Description,MPD)和媒体码流。服务器上的MPD中包括多个表示(也称呈现,英文:representation),每个表示描述多个分段。客户端的HTTP流媒体请求控制模块获取服务器发送的MPD,并对MPD进行分析,确定MPD中描述的视频码流的各个分段的信息,进而可确定要请求的分段,向服务器发送相应的分段的HTTP请求,并通过媒体播放器进行解码播放。
1)在上述服务器为视频内容生成媒体数据的过程中,服务器为视频内容生成的媒体数据包括对应同一视频内容的不同版本的视频码流,以及码流的MPD。例如,服务器为同一集电视剧的视频内容生成低分辨率低码率低帧率(如360p分辨率、300kbps码率、15fps帧率)的码流,中分辨率中码率高帧率(如720p分辨率、1200kbps码率、25fps帧率)的码流,高分辨率高码率高帧率(如1080p分辨率、3000kbps码率、25fps帧率)的码流等。
此外,服务器还可为该集电视剧的视频内容生成MPD。其中,如图2,图2是系统传输方案DASH标准的MPD的结构示意图。上述码流的MPD包含多个时期(Period),例如,图2的MPD)中的period start=100s部分可包含多个自适应集(英文:adaptation set),每个adaptation set可包含Representation1、Representation2,…等多个表示。每个表示描述码流的一个或者多个分段。
在本发明的一个实施例中,每个表示按照时序描述若干个分段(英文:Segment)的信息,例如初始化分段(英文:Initialization segment)、媒体分段(Media Segment)1、Media Segment2,…,Media Segment20等。表示中可以包括播放起始时刻、播放持续时长、网络存储地址(例如以统一资源定位符(英文:Universal Resource Locator,URL)的形式表示的网络存储地址)等分段信息。
2)在客户端向服务器请求并获取媒体数据的过程中,用户选择播放视频时,客户端根据用户点播的视频内容向服务器获取相应的MPD。客户端根据MPD中描述的码流分段的网络存储地址,向服务器发送下载网络存储地址对应的码流分段的请求,服务器根据接收到的请求向客户端发送码流分段。客户端获取得到服务器发送的码流分段之后,则可通过媒体播放器进行解码、播放等操作。
系统层视频流媒体传输方案采用DASH标准,通过客户端分析MPD、按需向服务器请求视频数据并接收服务器发送的数据的方式实现视频数据的传输。
参见图3,是本发明实施例提供的码流分段的切换的一示意图。服务器可为同一个视频内容(比如一部电影)准备三个不同版本的码流数据,并在MPD中使用三个Representation对上述三个不同版本的码流数据进行描述。其中,上述三个Representation(以下简称rep)可假设为rep1、rep2和rep3等。其中,rep1是码率为4mbps(每秒兆比特)的高清视频,rep2是码率为2mbps的标清视频,rep3是码率为1mbps的普通视频。每个rep的segment包含一个时间段内的视频码流,同一个时间段内,不同的rep包含的segment相互对齐。即,每个rep按照时序描述每个时间段的segment,并且相同时段的segment长度相同,进而可实现不同rep上的segment的内容切换。如图,图中标记为阴影的分段是客户端请求播放的分段数据,其中,客户端请求的前3个分段是rep3的分段,客户端请求第4个分段时可请求rep2中的第4个分段,进而可在rep3的第3个segment播放结束之后切换到rep2的第4个分段上播放。Rep3的第3个segment的播放终止点(对应到时间上可为播放结束时刻)即为第4个segment的播放起始点(对应到时间上可为播放起始时刻),同时也是rep2或者rep1的第4个segment的播放起始点,实现不同rep上的segment的对齐。客户端请求rep2的第4个分段之后切换到rep1,请求rep1的第5个分段和第6个分段等。随后可切换至rep3上,请求rep3的第7个分段,再切换到rep1上,请求rep1的第8个分段。每个rep的segment可以首尾相接的存在一个文件中,也可以独立存储为一个个的小文件。segment可以按照标准ISO/IEC 14496-12中的格式封装(ISO BMFF(Base Media File Format)),也可以是按照ISO/IEC 13818-1中的格式封装(MPEG-2TS)。具体可根据实际应用场景需求确定,在此不做限制。
在DASH媒体文件格式中提到,上述segment有两种存储方式:一种是每个segment分开独立存储,如图4,图4是码流数据中的分段存储方式的一示意图;另一种是同一个rep上的所有segment均存储在一个文件中,如图5,图5是码流数据中的分段存储方式的另一示意图。如图4,repA的segment中每个segment单独存储为一个文件,repB的segment中每个segment也单独存储为一个文件。对应的,图4所示的存储方式,服务器可在码流的MPD中可采用模板的形式或者列表的形式描述每个segment的URL等信息。如图5,rep1的segment中所有segment存储为一个文件,rep2的segment中所有segment存储为一个文件。对应的,图5所示的存储方法,服务器可在码流的MPD中采用一个索引分段(英文:index segment,也就是图5中的sidx)来描述每个segment的相关信息。索引分段描述了每个segment在其所存储的文件中的字节偏移,每个segment大小以及每个segment持续时间(duration,也称每个segment的时长)等信息。
当前随着360度视频等VR视频的观看应用的日益普及,越来越多的用户加入到大视角的VR视频观看的体验队伍中。这种新的视频观看应用给用户带来了新的视频观看模式和视觉体验的同时,也带来了新的技术挑战。由于360度(本发明实施例将以360度为例进行说明)等大视角的视频观看过程中,VR视频的空间区域为360度的全景空间(或称全方位空间),超过了人眼正常的视觉范围,因此,用户在观看视频的过程中随时都会变换观看的角度(即视角,FOV)。用户观看的视角不同,看到的视频图像也将不同,故此视频呈现的内容需要随着用户的视角变化而变化。如图7,图7是视角变化对应的视角示意图。框1和框2分别为用户的两个不同的视角。用户在观看视频的过程中,可通过眼部或者头部转动,或者视频观看设备的画面切换等操作,将视频观看的视角由框1切换到框2。其中,用户的视角为框1时观看的视频图像为该视角对应的一个或者多个空间对象在该时刻所呈现的视频图像。下一个时刻用户的视角切换为框2,此时用户观看到的视频图像也应该切换为框2对应的空间对象在该时刻所呈现视频图像。
在一些可行的实施方式中,对于360度大视角的视频图像的输出,服务器可将360度的视角范围内的全景空间进行划分以得到多个空间对象,每个空间对象对应用户的一个子视角,多个子视角的拼接形成一个完整的人眼观察视角。即人眼视角(下面简称视角)可对应一个或者多个空间对象,视角对应的空间对象是人眼视角范围内的内容对象所对应的所有的空间对象。其中,人眼观察视角可以动态变化的,通常可为120度*120度,120度*120度的人眼视角范围内的内容对象对应的空间对象可包括一个或者多个,例如上述图7所述的框1对应的视角1,框2对应的视角视角2。进一步的,客户端可通过MPD获取服务器为每个空间对象准备的视频码流的空间信息,进而可根据视角的需求向服务器请求某一时间段某个或者多个空间对象对应的视频码流分段并按照视角需求输出对应的空间对象。客户端在同一个时间段内输出360度的视角范围内的所有空间对象对应的视频码流分段,则可在整个360度的全景空间内输出显示该时间段内的完整视频图像。
具体实现中,在360度的空间对象的划分中,服务器可首先将球面映射为平面,在平面上对空间对象进行划分。具体的,服务器可采用经纬度的映射方式将球面映射为经纬平面图。如图8,图8是本发明实施例提供的空间对象的示意图。服务器可将球面映射为经纬平面图,并将经纬平面图划分为A~I等多个空间对象。进一步的,服务器可也将球面映射为立方体,再将立方体的多个面进行展开得到平面图,或者将球面映射为其他多面体,在将多面体的多个面进行展开得到平面图等。服务器还可采用更多的映射方式将球面映射为平面,具体可根据实际应用场景需求确定,在此不做限制。下面将以经纬度的映射方式,结合图8进行说明。如图8,服务器可将球面的全景空间划分为A~I等多个空间对象之后,则可为每个空间对象准备一组DASH码流。其中,每个空间对象对应的一组DASH码流。客户端用户切换视频观看的视角时,客户端则可根据用户选择的新视角获取新空间对象对应的码流,进而可将新空间对象码流的视频内容呈现在新视角内。下面将结合图9至图12对本发明实施例提供的视频数据的处理方法及装置进行描述。
参见图9,是本发明实施例提供的视频数据的处理方法的流程示意图。本发明实施例提供的方法包括步骤:
S901,接收媒体呈现描述。
S902,得到指令信息。
S903,若所述指令信息是观看作者视角码流,则获取所述第一表示的分段,否则,获取所述第二表示的分段。
在一些可行的实施方式中,视频的制作者(以下简称作者)制作视频时,可根据视频的故事情节需求为视频播放设计一条主要情节路线。视频播放过程中,用户只需要观看该主要情节路线对应的视频图像则可了解到该故事情节,其他的视频图像可看可不看。由此可知,视频播放过程中,客户端可选择性的播放该故事情节对应的视频图像,其他的视频图像可以不呈现,可节省视频数据的传输资源和存储空间资源,提高视频数据的处理效率。作者设计故事的主要情节之后,可根据上述主要情节路线设定视频播放时每个播放时刻所要呈现给用户的视频图像,将每个播放时刻的视频图像按照时序串起来则可得到上述主要情节路线的故事情节。其中,上述每个播放时刻所要呈现给用户的视频图像可呈现在每个播放时刻对应的空间对象,即在该空间对象上呈现该时间段所要呈现的视频图像。具体实现中,上述每个播放时刻所要呈现的视频图像对应的视角可设为作者视角,呈现作者视角上的视频图像的空间对象可设为作者空间对象。作者视角对象对应的码流可设为作者视角码流。作者视角码流中包含多个视频帧,每个视频帧呈现时可为一个图像,即作者视角码流中包含多个图像。在视频播放过程中,在每个播放时刻,作者视角上呈现的图像仅是整个视频所要呈现的全景图像(或称VR图像或者全方位图像)中的一部分。在不同的播放时刻,作者视频码流呈现的图像所关联的空间对象的空间信息可以不同,也可以相同,即作者视角码流包含的多个图像至少两个图像所关联的空间对象的空间信息不同。
在一些可行的实施方式中,作者设计了每个播放时刻的作者视角之后,则可通过服务器对每个播放时刻的作者视角准备相应的码流。其中,作者视角对应的码流可设为作者视角码流。服务器可对作者视角码流进行编码并传输给客户端,客户端对作者视角码流进行解码之后,则可呈现作者视角码流对应的故事情节画面给用户。服务器无需传输作者视角以外其他视角(设为非作者视角,即静态视角码流)的码流给客户端,可节省视频数据的传输带宽等资源。
在一些可行的实施方式中,由于作者视角是作者根据视频故事情节设定的呈现预设图像的空间对象,不同的播放时刻上的作者空间对象可不同也可相同,由此可知作者视角是一个随着播放时刻不断变化的视角,作者空间对象是个不断变化位置的动态空间对象,即每个播放时刻对应的作者空间对象在全景空间中的位置不尽相同。上述图8所示的各个空间对象是按照预设规则划分的空间对象,是在全景空间中的相对位置固定的空间对象,任一播放时刻对应的作者空间对象不一定是图8所示的固定空间对象中的某一个,而且在全局空间中相对位置不断变化的空间对象。客户端从服务器获取的视频所呈现的内容是由各个作者视角串起来的,不包含非作者视角对应的空间对象,作者视角码流仅包含作者空间对象的内容,并且从服务器获取的MPD中不包含作者视角的作者空间对象的空间信息,则客户端只能解码并呈现作者视角的码流。若用户在观看视频的过程中,观看的视角切换到非作者视角上,客户端则无法呈现相应的视频内容给用户。
本发明实施例通过对DASH标准中提供的视频的MPD文件和视频文件格式(英文:file format)进行修改,实现视频播放过程中作者视角与非作者视角的相互切换过程中的视频内容呈现。
本发明提供的对DASH的MPD文件的修改也可以携带在基于HTTP协议的实时流(英文:Http Live Streaming,HLS)定义的.m3u8文件中或者平滑流(英文:Smooth Streaming,SS的.ismc文件中或者其他的会话描述协议中(英文:Session Description Protocol,SDP),对文件格式的修改,也可应用在ISOBMFF或者MPEG2-TS的文件格式中,具体可根据实际应用场景需求确定,在此不做限制。本发明实施例将以上述标识信息携带在DASH码流为例进行说明。
在一些可行的实施方式中,服务器生成媒体呈现描述时,可在媒体呈现描述中添加标识信息,用于标识视频的作者视角码流,即作者视角码流。具体实现中,上述标识信息可携带在媒体呈现描述中携带的作者视角码流所在码流集合的属性信息中,即上述标识信息可携带在媒体呈现描述中的自适应集的信息中,上述标识信息也可携带在媒体呈现描述中包含的表示的信息中。进一步的,上述标识信息还可携带在媒体呈现描述中的描述子的信息中。客户端可通过解析MPD得到MPD中增加的语法元素快速识别作者视角码流和非作者视角的码流。其中,具体改动或者增加的语法描述如下表2,表2为新增语法元素的属性信息表:
表2
在MPD中通过属性@view_type来标记对应的representation是非作者视角(或称静态视角)码流还是作者视角(或称动态视角)码流。当view_type值为0时,表示对应的representation是非作者视角码流;当view_type值为1时,表示对应的representation是作者视角码流。客户端在本地解析MPD文件时,可根据该属性来判断当前视频流中是否包含作者视角码流。下面将通过一些可行的实现方式对应的MPD样例进行说明:
样例一:描述在MPD描述子中
如上所示,在该样例中,服务器可在现有MPD语法的EssentialProperty包含value属性的第二个值的位置插入一个新的值,原有value的第二个值以及第二个值以后的值依次往后挪一个值。客户端解析MPD之后则可获取得到value的第二个值。即在该样例中,value的第二个值是view_type。EssentialProperty中的value=“0,0,…”,即value的第二个为0(即view_type=0)表示EssentialProperty描述的是固定视角码流(即静态视角码流);value=“0,1”,即value的第二个为1(即view_type=1)表示EssentialProperty描述的是作者视角码流,即view_type=0。
样例二:描述在表示中
在该样例中,Representation的属性信息中新增了语法元素view_type。当view_type=“0”或不设定时(默认是0),表示该Representation描述的码流为固定视角码流;当view_type=“1”时,表示该Representation描述的码流为作者视角码流。
样例三:描述在自适应集(adaptationSet)的属性信息中
该样例中,在AdaptationSet的属性信息(即作者视角码流所在码流集合的属性信息)中新增语法元素view_type。当view_type=“0”或不设定时(默认是0),表示该AdaptationSet下包含的码流为固定视角码流;当view_type=“1”时,表示AdaptationSet下包含的码流为作者视角码流。
客户端可通过解析MPD,根据MPD中携带的view_type等标识信息确定作者视角码流。进一步的,客户端可在接收到的指令信息指示观看作者视角码流时,获取作者视角码流中的分段,并呈现作者视角码流的分段。若所述指令信息指示的不是观看作者视角码流,则可获取静态视角码流的分段进行呈现。
在本发明实施例中,上述客户端接收到的切换指令信息可包括上述头部转动,眼睛、手势、或其他人体行为动作信息,也可包括用户的输入信息,上述输入信息可包括键盘输入信息、语音输入信息和触屏输入信息等。
在一些可行的实施方式中,服务器还可在作者视角码流中添加一个或者多个作者空间对象的空间信息。其中,每个作者空间对象对应一个或者多个图像,即一个或者多个图像可关联同一个空间对象,也可每个图像关联一个空间对象。服务器可在作者视角码流中添加每个作者空间对象的空间信息。其中,一个作者空间对象的空间信息为该作者空间对象与其关联的内容成分的空间关系,即作者空间对象与全景空间的空间关系。即上述作者空间对象的空间信息所描述的空间具体可为全景空间中的部分空间,如上述图8中任意一个,或者图10中的实线框(或者虚线框中任一个)等。具体实现中,针对于DASH码流,服务器可在现有文件格式中的作者视角码流的分段中包含的trun box中增加上述空间信息,用于描述作者视角码流的每一帧图像所关联的空间对象的空间信息。
添加描述的样例(样例一):
在该样例中,服务器可在现有的trun box中添加语法元素tr_flags,并将tr_flags的值设定为0x001000,用于标记预设空间对象在全局空间对象中的相对位置的空间信息包含在trun box中。
在一些可行的实施方式中,上述trun box中包含的作者空间对象的空间信息采用偏航角来描述,也可以采用经纬图的空间位置描述,或者采用其他几何立体图形来描述,在此不做限制。上述trun box中采用偏航角方式描述,如center_pitch、center_yaw、center_roll、pitch_h和yaw_w来描述空间信息在球面中的中心位置(center_pitch、center_yaw、center_roll),高度(pitch_h),宽度yaw_w的偏航角。如图11,图11是作者空间对象在全景空间中的相对位置的示意图。在图11中,O点为360度VR全景视频球面图像对应的球心,可认为是观看VR全景图像时人眼的位置。A点为作者视角图像中心点,C、F为作者视角图像中过A点的沿该图像横向坐标轴的边界点,E、D为作者视角图像中过A点的沿该图像纵向坐标轴的边界点,B为A点沿球面经线在赤道线的投影点,I为赤道线上水平方向的起始坐标点。各个元素的含义解释如下:
center_pitch:作者空间对象的图像的中心位置映射到全景球面(即全局空间)图像上的点的竖直方向的偏转角,如图11中的∠AOB;
center_yaw:作者空间对象的图像的中心位置映射到全景球面图像上的点的水平方向的偏转角,如图11中的∠IOB;
center_roll:作者空间对象的图像的中心位置映射到全景球面图像上的点与球心连线方向的旋转角,如图11中的∠DOB;
pitch_h:作者空间对象的图像在全景球面图像的视场高度,以视场纵向最大角度表示,如图11中∠DOE;yaw_w:作者空间对象的图像在全景球面图像的视场宽度,以视场横向最大角度表示,如图11中∠COF。
在一些可行的实施方式中,服务器端也可在视频格式中添加一个新的box及其语法描述,用于描述作者空间对象的空间信息。其中,上述新增的box及其语法描述信息样例如下(样例二):
上述strp box包含的信息为新增的作者空间对象的空间信息,其中包含的各个语法元素的含义与上述样例一中包含的各个语法元素的含义相同。具体实现中,在该样例中Box里的“unsigned int(16)center_roll;//fov的中心位置roll”可以不存在,具体可根据实际应用场景需求确定,在此不做限制。
上述的strp box包可以包含在作者视角码流文件中,也可以被包含在作者视角码流相关联的元数据码流中,在元数据码流包含的是除了媒体数据之外的和媒体数据相关的一些元数据,比如作者视角码流的作者空间对象的空间信息。
客户端解析作者视角码流的分段,获取作者空间对象的空间信息之后则可确定作者空间对象在全景空间中的相对位置,进而可在视频播放过程中根据当前所播放作者视角码流中的作者空间对象的空间信息和视角切换的轨迹,确定视角切换后的空间对象位置,从而实现作者视角与非作者视角码流之间的切换播放。
在一些可行的实施方式中,若视角切换过程中视角的变化是从作者视角确定至非作者视角,则可根据作者视角的空间信息确定切换后的非作者视角的空间信息,以获取该非作者视角的空间信息对应的码流进行呈现。具体的,客户端可将上述确定的作者空间对象的中心位置或者上述作者空间对象包含的指定边界位置设定为起点,例如上述center_pitch、center_yaw、center_roll、pitch_h和yaw_w中的一个或者多个参数所指示的位置设定为起点。进一步的,客户端可根据视角切换的空间对象切换轨迹计算得到空间对象切换轨迹所指示的终点空间对象,将该终点空间对象确定为目标空间对象。例如,图10中所示的实线区域为作者空间对象,虚线区域为根据作者空间对象和空间对象切换轨迹计算得到的目标空间对象。
在一些可行的实施方式中,由于客户端播放作者视角码流时并未获取整个全景视频模块,因此,客户端确定了视角切换的目标空间对象之后,则可向服务器请求目标空间对象对应的码流。具体实现中,客户端可根据MPD中描述的各个空间对象的码流的URL等信息,向服务器发送获取目标空间对象的码流的请求。服务器接收到客户端发送的请求之后,则可将目标空间对象对应的码流发送给客户端。客户端获取得到目标空间对象的码流之后,则可解码并播放目标空间对象的码流,实现视角码流的切换播放。
在本发明实施例中,客户端可根据MPD中携带的标识信息确定作者视角码流,还可获取作者视角码流中携带的作者视角码流对应的作者空间对象的空间信息,进而可在视角切换过程中,根据作者空间对象的位置获取作者视角码流进行播放,或者根据作者空间对象确定视角切换后的非作者视角的目标空间对象。进一步的,可向服务器请求请求目标空间对象对应的非作者视角码流进行播放,实现视角切换的码流播放。客户端根据视角的切换进行码流切换播放时无需加载全景视频码流,可节省视频数据的传输带宽以及客户端的本地存储空间等资源。客户端根据视角切换过程中确定的目标空间对象请求该目标空间对象对应的码流进行播放,接收视频数据传输的带宽等资源的同时也可实现视角切换的码流播放,提高了视频切换播放的适用性,增强视频观看的用户体验。
参见图12,是本发明实施例提供的基于HTTP动态自适应流媒体的视频数据的处理装置的结构示意图。本发明实施例提供的处理装置,包括:
接收模块121,用于接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同;所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同。
获取模块122,用于得到指令信息。
所述获取模块122,还用于在得到的所述指令信息是观看作者视角码流时,获取所述第一表示的分段,否则,获取所述第二表示的分段。
在一些可行的实现方式中,所述媒体呈现描述还包含有标识信息,所述标识信息用于标识视频的作者视角码流。
在一些可行的实现方式中,所述媒体呈现描述中包含自适应集的信息,所述自适应集用于描述同一媒体内容成分的多个可互相替换的编码版本的媒体数据分段的属性的数据集合;
其中,所述自适应集的信息中包含所述标识信息。
在一些可行的实现方式中,所述媒体呈现描述中包含表示的信息,所述表示为传输格式中的一个或者多个码流的集合和封装;
其中,所述表示的信息中包含所述标识信息。
在一些可行的实现方式中,所述媒体呈现描述中包含描述子的信息,所述描述子用于描述关联到的空间对象的空间信息;
其中,所述描述子的信息中包含所述标识信息。
在一些可行的实现方式中,所述第一表示的分段中携带所述第一表示的分段包含的图像所关联的空间对象的空间信息;
所述获取模块122还用于:
解析所述第一表示的分段,获取所述第一表示的分段包含的图像所关联的空间对象的空间信息。
在一些可行的实现方式中,所述图像所关联的空间对象的空间信息为所述空间对象与其关联的内容成分的空间关系。
在一些可行的实现方式中,所述空间信息携带在所述第一表示的分段中的指定box中,或者和第一表示的分段相关联的元数据表达中的指定box中。
在一些可行的实现方式中,所述指定box为所述第一表示的分段中包含的trunbox,所述trun box用于描述一个轨迹的一组连续样本。
具体实施例中,本发明实施例提供的视频数据的处理装置具体可为上述实施例中的客户端,可通过其内置的各个模块实现上述视频数据的处理方法中各个步骤所描述的实现方式,在此不再赘述。
在本发明实施例中,客户端可根据MPD中携带的标识信息确定作者视角码流,还可获取作者视角码流中携带的作者视角码流对应的作者空间对象的空间信息,进而可在视角切换过程中,根据作者空间对象的位置获取作者视角码流进行播放,或者根据作者空间对象确定视角切换后的非作者视角的目标空间对象。进一步的,可向服务器请求请求目标空间对象对应的非作者视角码流进行播放,实现视角切换的码流播放。客户端根据视角的切换进行码流切换播放时无需加载全景视频码流,可节省视频数据的传输带宽以及客户端的本地存储空间等资源。客户端根据视角切换过程中确定的目标空间对象请求该目标空间对象对应的码流进行播放,接收视频数据传输的带宽等资源的同时也可实现视角切换的码流播放,提高了视频切换播放的适用性,增强视频观看的用户体验。
本发明的说明书、权利要求书以及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或者单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或者单元,或可选地还包括对于这些过程、方法、系统、产品或设备固有的其他步骤或单元。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (18)

1.一种基于HTTP动态自适应流媒体的视频数据的处理方法,其特征在于,所述方法包括:
接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同,所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同;
得到指令信息;
若所述指令信息是观看作者视角码流,则获取所述第一表示的分段,否则,获取所述第二表示的分段。
2.如权利要求1所述的方法,其特征在于,所述媒体呈现描述还包含有标识信息,所述标识信息用于标识视频的作者视角码流。
3.如权利要求2所述的方法,其特征在于,所述媒体呈现描述中包含自适应集的信息,所述自适应集用于描述同一媒体内容成分的多个可互相替换的编码版本的媒体数据分段的属性的数据集合;
其中,所述自适应集的信息中包含所述标识信息。
4.如权利要求2所述的方法,其特征在于,所述媒体呈现描述中包含表示的信息,所述表示为传输格式中的一个或者多个码流的集合和封装;
其中,所述表示的信息中包含所述标识信息。
5.如权利要求2所述的方法,其特征在于,所述媒体呈现描述中包含描述子的信息,所述描述子用于描述关联到的空间对象的空间信息;
其中,所述描述子的信息中包含所述标识信息。
6.如权利要求3-5任一项所述的方法,其特征在于,所述第一表示的分段中携带所述第一表示的分段包含的图像所关联的空间对象的空间信息;
所述获取所述第一表示的分段之后,所述方法还包括:
解析所述第一表示的分段,获取所述第一表示的分段包含的图像所关联的空间对象的空间信息。
7.如权利要求6所述的方法,其特征在于,所述图像所关联的空间对象的空间信息为所述空间对象与其关联的内容成分的空间关系。
8.如权利要求6或7所述的方法,其特征在于,所述空间信息携带在所述第一表示的分段中的指定box中,或者和第一表示的分段相关联的元数据表达中的指定box中。
9.如权利要求8所述的方法,其特征在于,所述指定box为所述第一表示的分段中包含的trun box,所述trun box用于描述一个轨迹的一组连续样本。
10.一种基于HTTP动态自适应流媒体的视频数据的处理装置,其特征在于,所述装置包括:
接收模块,用于接收媒体呈现描述,所述媒体呈现描述包括至少两个的表示的信息,所述至少两个表示中的第一表示是作者视角码流,所述作者视角码流中包含多个图像,所述多个图像中至少两个图像所关联的空间对象的空间信息不同,所述至少两个表示中的第二表示是静态视角码流,所述静态视角码流中包含多个图像,所述多个图像所关联的空间对象的空间信息相同;
获取模块,用于得到指令信息;
所述获取模块,还用于在得到的所述指令信息是观看作者视角码流时,获取所述第一表示的分段,否则,获取所述第二表示的分段。
11.如权利要求10所述的装置,其特征在于,所述媒体呈现描述还包含有标识信息,所述标识信息用于标识视频的作者视角码流。
12.如权利要求11所述的装置,其特征在于,所述媒体呈现描述中包含自适应集的信息,所述自适应集用于描述同一媒体内容成分的多个可互相替换的编码版本的媒体数据分段的属性的数据集合;
其中,所述自适应集的信息中包含所述标识信息。
13.如权利要求11所述的装置,其特征在于,所述媒体呈现描述中包含表示的信息,所述表示为传输格式中的一个或者多个码流的集合和封装;
其中,所述表示的信息中包含所述标识信息。
14.如权利要求11所述的装置,其特征在于,所述媒体呈现描述中包含描述子的信息,所述描述子用于描述关联到的空间对象的空间信息;
其中,所述描述子的信息中包含所述标识信息。
15.如权利要求12-14任一项所述的装置,其特征在于,所述第一表示的分段中携带所述第一表示的分段包含的图像所关联的空间对象的空间信息;
所述获取模块还用于:
解析所述第一表示的分段,获取所述第一表示的分段包含的图像所关联的空间对象的空间信息。
16.如权利要求15所述的装置,其特征在于,所述图像所关联的空间对象的空间信息为所述空间对象与其关联的内容成分的空间关系。
17.如权利要求15或16所述的装置,其特征在于,所述空间信息携带在所述第一表示的分段中的指定box中,或者和第一表示的分段相关联的元数据表达中的指定box中。
18.如权利要求17所述的装置,其特征在于,所述指定box为所述第一表示的分段中包含的trun box,所述trun box用于描述一个轨迹的一组连续样本。
CN201610874490.7A 2016-09-30 2016-09-30 一种视频数据的处理方法及装置 Pending CN107888939A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610874490.7A CN107888939A (zh) 2016-09-30 2016-09-30 一种视频数据的处理方法及装置
PCT/CN2016/107111 WO2018058773A1 (zh) 2016-09-30 2016-11-24 一种视频数据的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610874490.7A CN107888939A (zh) 2016-09-30 2016-09-30 一种视频数据的处理方法及装置

Publications (1)

Publication Number Publication Date
CN107888939A true CN107888939A (zh) 2018-04-06

Family

ID=61763034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610874490.7A Pending CN107888939A (zh) 2016-09-30 2016-09-30 一种视频数据的处理方法及装置

Country Status (2)

Country Link
CN (1) CN107888939A (zh)
WO (1) WO2018058773A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833937A (zh) * 2018-05-30 2018-11-16 华为技术有限公司 视频处理方法和装置
WO2020063850A1 (zh) * 2018-09-27 2020-04-02 华为技术有限公司 一种处理媒体数据的方法、终端及服务器
CN111417008A (zh) * 2019-01-08 2020-07-14 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机程序产品
CN111510757A (zh) * 2019-01-31 2020-08-07 华为技术有限公司 一种共享媒体数据流的方法、装置以及系统
WO2020186478A1 (en) * 2019-03-20 2020-09-24 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for transmitting viewpoint switching capabilities in a vr360 application
CN113228690A (zh) * 2018-12-25 2021-08-06 索尼集团公司 视频再现装置、再现方法和程序
CN113574903A (zh) * 2019-03-14 2021-10-29 诺基亚技术有限公司 针对媒体内容中的后期绑定的方法和装置
CN115086635A (zh) * 2021-03-15 2022-09-20 腾讯科技(深圳)有限公司 多视角视频的处理方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
CN116962756A (zh) * 2022-04-26 2023-10-27 腾讯科技(深圳)有限公司 沉浸媒体的处理方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101589619A (zh) * 2007-11-20 2009-11-25 索尼株式会社 信息处理装置、信息处理方法、显示控制装置、显示控制方法和程序
CN101998116A (zh) * 2009-08-31 2011-03-30 中国移动通信集团公司 一种多视角视频业务的实现方法、系统和设备
US20140037137A1 (en) * 2012-08-03 2014-02-06 Christopher Broaddus Systems and methods for efficient 3d tracking of weakly textured planar surfaces for augmented reality applications
CN104010225A (zh) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 显示全景视频的方法和系统
CN104469398A (zh) * 2014-12-09 2015-03-25 北京清源新创科技有限公司 一种网络视频画面处理方法及装置
CN104602129A (zh) * 2015-01-27 2015-05-06 三星电子(中国)研发中心 互动式多视角视频的播放方法及系统
CN104735542A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN104904225A (zh) * 2012-10-12 2015-09-09 佳能株式会社 用于对视频数据进行流传输的方法和相应装置
CN105408916A (zh) * 2013-07-26 2016-03-16 华为技术有限公司 用于自适应流媒体中的空间自适应的系统和方法
CN105791882A (zh) * 2016-03-22 2016-07-20 腾讯科技(深圳)有限公司 视频编码方法及装置
CN105847379A (zh) * 2016-04-14 2016-08-10 乐视控股(北京)有限公司 全景视频运动方向追踪方法及追踪装置
CN105933343A (zh) * 2016-06-29 2016-09-07 深圳市优象计算技术有限公司 一种用于720度全景视频网络播放的码流缓存机制

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2506911B (en) * 2012-10-12 2015-12-09 Canon Kk Method and correponding device for streaming video data
JP6365860B2 (ja) * 2014-09-23 2018-08-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ストリーミングメディアにおけるコンテンツコンポーネントのオーナーシップ識別、シグナリング、および取り扱い

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101589619A (zh) * 2007-11-20 2009-11-25 索尼株式会社 信息处理装置、信息处理方法、显示控制装置、显示控制方法和程序
CN101998116A (zh) * 2009-08-31 2011-03-30 中国移动通信集团公司 一种多视角视频业务的实现方法、系统和设备
US20140037137A1 (en) * 2012-08-03 2014-02-06 Christopher Broaddus Systems and methods for efficient 3d tracking of weakly textured planar surfaces for augmented reality applications
CN104904225A (zh) * 2012-10-12 2015-09-09 佳能株式会社 用于对视频数据进行流传输的方法和相应装置
CN105408916A (zh) * 2013-07-26 2016-03-16 华为技术有限公司 用于自适应流媒体中的空间自适应的系统和方法
CN104010225A (zh) * 2014-06-20 2014-08-27 合一网络技术(北京)有限公司 显示全景视频的方法和系统
CN104469398A (zh) * 2014-12-09 2015-03-25 北京清源新创科技有限公司 一种网络视频画面处理方法及装置
CN104602129A (zh) * 2015-01-27 2015-05-06 三星电子(中国)研发中心 互动式多视角视频的播放方法及系统
CN104735542A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种视频播放方法及装置
CN105791882A (zh) * 2016-03-22 2016-07-20 腾讯科技(深圳)有限公司 视频编码方法及装置
CN105847379A (zh) * 2016-04-14 2016-08-10 乐视控股(北京)有限公司 全景视频运动方向追踪方法及追踪装置
CN105933343A (zh) * 2016-06-29 2016-09-07 深圳市优象计算技术有限公司 一种用于720度全景视频网络播放的码流缓存机制

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833937A (zh) * 2018-05-30 2018-11-16 华为技术有限公司 视频处理方法和装置
CN108833937B (zh) * 2018-05-30 2021-03-23 华为技术有限公司 视频处理方法和装置
US11902350B2 (en) 2018-05-30 2024-02-13 Huawei Technologies Co., Ltd. Video processing method and apparatus
WO2020063850A1 (zh) * 2018-09-27 2020-04-02 华为技术有限公司 一种处理媒体数据的方法、终端及服务器
CN113228690A (zh) * 2018-12-25 2021-08-06 索尼集团公司 视频再现装置、再现方法和程序
US11825066B2 (en) 2018-12-25 2023-11-21 Sony Corporation Video reproduction apparatus, reproduction method, and program
CN113228690B (zh) * 2018-12-25 2023-09-08 索尼集团公司 视频再现装置、再现方法和程序
CN111417008A (zh) * 2019-01-08 2020-07-14 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机程序产品
US11943421B2 (en) 2019-01-08 2024-03-26 Nokia Technologies Oy Method, an apparatus and a computer program product for virtual reality
US11323683B2 (en) 2019-01-08 2022-05-03 Nokia Technologies Oy Method, an apparatus and a computer program product for virtual reality
CN111417008B (zh) * 2019-01-08 2022-06-03 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机可读介质
CN111510757A (zh) * 2019-01-31 2020-08-07 华为技术有限公司 一种共享媒体数据流的方法、装置以及系统
US11653054B2 (en) 2019-03-14 2023-05-16 Nokia Technologies Oy Method and apparatus for late binding in media content
CN113574903B (zh) * 2019-03-14 2023-07-28 诺基亚技术有限公司 针对媒体内容中的后期绑定的方法和装置
CN113574903A (zh) * 2019-03-14 2021-10-29 诺基亚技术有限公司 针对媒体内容中的后期绑定的方法和装置
WO2020186478A1 (en) * 2019-03-20 2020-09-24 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for transmitting viewpoint switching capabilities in a vr360 application
CN115086635B (zh) * 2021-03-15 2023-04-14 腾讯科技(深圳)有限公司 多视角视频的处理方法、装置、设备及存储介质
CN115086635A (zh) * 2021-03-15 2022-09-20 腾讯科技(深圳)有限公司 多视角视频的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2018058773A1 (zh) 2018-04-05

Similar Documents

Publication Publication Date Title
CN107888939A (zh) 一种视频数据的处理方法及装置
US10757392B2 (en) Method of transmitting 360-degree video, method of receiving 360-degree video, device for transmitting 360-degree video, and device for receiving 360-degree video
CN109074678B (zh) 一种信息的处理方法及装置
CN108965929B (zh) 一种视频信息的呈现方法、呈现视频信息的客户端和装置
CN109362242B (zh) 一种视频数据的处理方法及装置
CN107888993B (zh) 一种视频数据的处理方法及装置
CN108282449A (zh) 一种应用于虚拟现实技术的流媒体的传输方法和客户端
CN109644296A (zh) 一种视频流传输方法、相关设备及系统
CN107959861B (zh) 一种数据处理方法、相关设备及系统
WO2018058993A1 (zh) 一种视频数据的处理方法及装置
WO2018120474A1 (zh) 一种信息的处理方法及装置
CN108271084B (zh) 一种信息的处理方法及装置
CN108271068A (zh) 一种基于流媒体技术的视频数据的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180406