CN111869221B - Dash对象之间的有效关联 - Google Patents
Dash对象之间的有效关联 Download PDFInfo
- Publication number
- CN111869221B CN111869221B CN201980018524.4A CN201980018524A CN111869221B CN 111869221 B CN111869221 B CN 111869221B CN 201980018524 A CN201980018524 A CN 201980018524A CN 111869221 B CN111869221 B CN 111869221B
- Authority
- CN
- China
- Prior art keywords
- media content
- dash
- representation
- mpd
- temporal metadata
- 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.)
- Active
Links
- 230000002123 temporal effect Effects 0.000 claims abstract description 106
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000003044 adaptive effect Effects 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000006978 adaptation Effects 0.000 claims description 109
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 18
- 238000009877 rendering Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000286209 Phasianidae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
公开了一种通过超文本传输协议(Hypertext Transfer Protocol,HTTP)动态自适应流媒体(Dynamic Adaptive Streaming over Hypertext Transfer Protocol,DASH)来流式传输多视点虚拟现实(virtual reality,VR)内容的方法机制。所述机制包括:接收包括VR视频序列的媒体内容;生成DASH媒体描述文件(Media Presentation Description,MPD)。所述MPD包括用于表示所述媒体内容中与第一视点相关的一部分与时间元数据表示相关联的指示。从客户端接收对所述媒体内容的请求。响应于接收所述请求,将包括所述指示的所述DASH MPD发送给所述客户端,以支持向所述客户端发送所述媒体内容。
Description
相关申请案交叉申请
本专利申请要求王业奎等人2018年4月5日递交的发明名称为“HTTP动态自适应流媒体(DASH)对象之间的有效关联(Efficient Association Between Dynamic AdaptiveHTTP Streaming(DASH)objects)”的第62/653,205号美国临时专利申请的权益,其全部内容通过引用结合在本申请中。
技术领域
本发明大体涉及虚拟现实(Virtual Reality,VR)视频系统,具体涉及通过超文本传输协议动态自适应流媒体(Dynamic Adaptive Streaming over Hypertext TransferProtocol,DASH)信号发送VR视频相关数据。
背景技术
VR也可以称为全向媒体、沉浸式媒体和/或360度媒体,是一种发生在模拟环境中且利用视觉、音频和/或触摸反馈的交互式录制和/或计算机生成的体验。从视觉角度来看,VR呈现一个图像球体(或一个图像球体的一部分),用户位于该球体的中心。该图像球体可以由头戴式显示器(head mounted display,HMD)或其它显示单元呈现。具体地,通过VR显示器,用户可以通过视场角(field of view,FOV)(也称为视角)观看球体的一部分。用户可以动态改变视角的位置和/或角度,以体验VR视频呈现的环境。VR视频的每个图像(也称为帧)既包括用户FOV内的球体区域,也包括用户FOV外的球体区域。因此,VR帧包括的数据明显多于非VR视频图像包括的数据。内容提供商对提供基于流媒体的VR视频感兴趣。然而,与传统视频相比,VR视频包括的数据明显更多,且包括不同的属性。因此,传统视频的流式传输机制无法对VR视频进行高效地流式传输。
发明内容
在一个实施例中,本发明包括一种在超文本传输协议(Hypertext TransferProtocol,HTTP)动态自适应流媒体(Dynamic Adaptive Streaming over HypertextTransfer Protocol,DASH)内容服务器中实施的方法。所述方法包括:接收器接收包括虚拟现实(virtual reality,VR)视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示。所述方法还包括:处理器生成DASH媒体描述文件(MediaPresentation Description,MPD),其中,所述DASH媒体描述文件包括用于表示所述媒体内容中与第一视点相关的一部分与所述时间元数据表示相关联的指示。所述方法还包括:所述接收器从客户端接收对所述媒体内容的请求。所述方法还包括:响应于接收所述请求,所述DASH内容服务器的发射器将包括所述指示的所述DASH MPD发送给所述客户端,以支持向所述客户端发送所述媒体内容。在一些DASH系统中,称为关联标识符(identifier,ID)的表示级别元素用于将第一DASH表示与第二DASH表示相关联。例如,视频轨迹的表示可以使用关联ID来引用音频轨迹。每个表示都包括此类关联ID。该方案可能无法很好地扩展以应用在VR场景中。例如,可以针对多个视点拍摄VR视频。每个视点包括一个或多个自适应集。这些自适应集又包括各种表示。这些表示使用关联ID引用携带推荐视点的时间元数据表示(例如,轨迹)。在这种情况下,每个自适应集中的每个表示可能引用相同的时间元数据表示,这就造成了时间元数据表示的关联ID大量冗余。与用于表示指示的表示相比,本实施例采用的指示可用于引用更大的集合。具体地,所述媒体内容中属于视点的一部分用于指示与时间元数据表示的关联。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联ID,其中,所述关联ID为将一个或多个所述自适应集的列表与所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将全部自适应集引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联ID,其中,所述关联ID为将所述多个视点中的一个或多个视点的列表与所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将全部视点引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联ID,其中,所述关联ID为将一个或多个预选的列表与所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将视点和/或自适应集的全部预选引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联标识符(identifier,ID),其中,所述关联标识符为表示属性、自适应集属性、预选属性、视点元素属性或其组合。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联ID,其中,所述关联ID为指示所述关联ID在描述所述媒体内容的所述多个自适应集的ID和与所述多个自适应集相关联的表示的ID之中引用唯一ID属性的属性。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,其特征在于,包括供视频编码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频编码设备执行上述任一种方法。
在一个实施例中,本发明包括DASH内容服务器,所述DASH内容服务器包括接收器、发射器和与所述接收器和所述发射器耦合的处理器,其中,所述处理器用于执行上述任一种方法。
在一个实施例中,本发明包括DASH内容服务器,所述DASH内容服务器包括内容接收模块,用于接收包括VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示。所述DASH内容服务器还包括DASH MPD生成模块,用于生成DASH MPD,其中,所述DASH MPD包括用于表示所述媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示。所述DASH内容服务器还包括请求接收模块,用于从客户端接收对所述媒体内容的请求。所述DASH内容服务器还包括发射模块,用于响应于接收到所述请求,将包括所述指示的所述DASH MPD发送给所述客户端,以支持向所述客户端发送所述媒体内容。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述DASH MPD模块还用于执行上述任一种方法。
在一个实施例中,本发明包括一种在DASH客户端中实施的方法。所述方法包括:接收器接收DASH MPD。所述MPD用于描述包括VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;所述MPD还包括用于表示所述媒体内容中属于第一视点的一部分与一个所述时间元数据表示相关联的指示。所述方法还包括:发射器根据所述指示发送对所述媒体内容中属于所述第一视点的所述部分的请求和对所述一个所述时间元数据表示的请求。所述方法还包括:接收器接收所述媒体内容中属于所述第一视点的所述部分和所述时间元数据表示。在一些DASH系统中,称为关联标识符(identifier,ID)的表示级别元素用于将第一DASH表示与第二DASH表示相关联。例如,视频轨迹的表示可以使用关联ID来引用音频轨迹。每个表示都包括此类关联ID。该方案可能无法很好地扩展应用在VR场景中。例如,可以针对多个视点拍摄VR视频。每个视点包括一个或多个自适应集。这些自适应集又包括各种表示。这些表示使用关联ID引用携带推荐视点的时间元数据表示(例如,轨迹)。在这种情况下,每个自适应集中的每个表示可能引用相同的时间元数据表示,这就造成了时间元数据表示的关联ID大量冗余。与用于表示指示的表示相比,本实施例采用的指示可用于引用更大的集合。具体地,所述媒体内容中属于视点的一部分用于指示与时间元数据表示的关联。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联标识符(identifier,ID),其中,所述关联ID为将一个或多个所述自适应集的列表与所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将全部自适应集引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联标识符(identifier,ID),其中,所述关联ID为将所述多个视点中的一个或多个视点的列表与所述一个所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将全部视点引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联标识符(identifier,ID),其中,所述关联ID为将一个或多个预选的列表与所述时间元数据表示相关联的表示属性。在该实施例中,所述指示为将视点和/或自适应集的全部预选引用到所述时间元数据表示的关联ID。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联标识符(identifier,ID),其中,所述关联标识符为表示属性、自适应集属性、预选属性、视点元素属性或其组合。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述指示为关联ID,其中,所述关联ID为指示所述关联ID在描述所述媒体内容的所述多个自适应集的ID和与所述多个自适应集相关联的表示的ID之中引用唯一ID属性的属性。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,其特征在于,包括供视频编码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频编码设备执行上述任一种方法。
在一个实施例中,本发明包括DASH客户端,所述DASH客户端包括:接收器、发射器和与所述接收器和所述发射器耦合的处理器,其中,所述处理器用于执行上述任一种方法。
在一个实施例中,本发明包括DASH客户端,所述DASH客户端包括MPD接收模块,用于接收DASH MPD,所述MPD用于描述包括VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;所述MPD还包括用于表示所述媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示。所述DASH客户端还包括发射模块,用于根据所述指示发送对所述媒体内容中属于所述第一视点的所述部分的请求和对所述时间元数据表示的请求。所述DASH客户端还包括媒体内容接收模块,用于接收所述媒体内容中属于所述第一视点的所述部分和所述时间元数据表示。
可选地,在任一上述方面中,提供了所述方面的另一种实现方式:所述DASH MPD模块还用于执行上述任一种方法。
在一个实施例中,本发明包括一种方法,所述方法包括:通过在时间元数据表示的元素中包括关联描述符,采用集合关联的方式将所述时间元数据表示与DASH MPD中的媒体表示进行关联,其中,所述关联描述符包括与包括所述媒体表示的视点的关联。
为了清楚起见,上述任一实施例可以与上述其它实施例中的任意一个或多个实施例组合,在本发明的范围内产生新的实施例。
结合附图和权利要求,根据以下详细说明,将能更清楚地理解这些以及其它特征。
附图说明
为了更全面地理解本发明,现结合附图和具体实施方式,进行以下简要说明,其中相同附图标记表示相似的部件。
图1为用于VR视频流的示例性系统的示意图。
图2为对VR视频进行编码的示例性方法的流程图。
图3为用于录制具有多个视点的VR视频的示例性系统的示意图。
图4为可以用于流式传输具有多个视点的VR视频的示例性DASH媒体描述文件(Media Presentation Description,MPD)的示意图。
图5为示例性视频编码设备的示意图。
图6为示例性方法的流程图,该示例性方法在DASH内容服务器中将MPD中的DASH对象关联以支持流式传输具有多个视点的VR视频。
图7为示例性方法的流程图,该示例性方法在DASH客户端中将MPD中的DASH对象关联以支持流式传输具有多个视点的VR视频。
图8为示例性DASH内容服务器的示意图,该示例性DASH内容服务器用于将MPD中的DASH对象关联以支持流式传输具有多个视点的VR视频。
图9为示例性DASH客户端的示意图,该示例性DASH客户端用于将MPD中的DASH对象关联以支持流式传输具有多个视点的VR视频。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可使用任何数量的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
DASH是一种通过网络流式传输视频数据的机制。DASH向客户端提供用于描述视频的媒体描述文件(Media Presentation Description,MPD)。具体地,MPD用于描述视频的各种表示以及此类表示的位置。所述表示可以包括不同分辨率的相同视频内容。客户端可以从这些表示中获得视频片段,显示给客户端。具体地,客户端可以监视视频缓存和/或网络通信速度,并根据MPD中的数据在表示之间切换,从而根据当前情况动态地改变视频分辨率。
DASH允许表示与其它表示相关联。例如,可以将视频表示与包括时间元数据的表示相关联。此类元数据可以提供指示应如何呈现视频帧的数据。此类数据可以称为提示,所述表示可以称为提示轨迹。在DASH中,每个表示都可以与包括相关提示轨迹的表示相关联。将此类方案应用于VR视频可能出现问题。例如,VR视频可以包括从多个位置(称为视点)同时采集的多个视频流。在播放期间,用户可以沿指定方向从某个视点观看视频。具体地,从视点中心向外指向并决定用户看到的可视媒体内容的方向视角称为FOV。用户可以在对应视点和FOV处看到的媒体内容的可视区域称为视角(例如,在许多场景下,视角和FOV可以互换使用)。在视频播放过程中,用户可以在各视点之间进行切换。每个视点包括多个表示。时间元数据表示可以包括在任何指定时间点推荐的视点、视角和/或FOV。这样,用户可以选择放弃控制VR体验(例如,在用户希望让内容制作者决定观看VR视频的哪个视角)。为了实现这个方案,将每个视点的每个表示与时间元数据表示相关联。这样,不管当前呈现给用户的是哪种表示,解码器都可以确定在任何时间推荐的视点、视角和/或FOV。当存在大量表示时,由于每个表示都录制有一种关联,该方法会导致MPD较大。
此外,可以根据视点标识符(identifier,ID)和/或位置数据来标识DASH中的视点。在某些情况下,视点的位置会随着时间而改变。例如,可以将摄像机安装在轨迹,移动该摄像机以采集录制的环境的不同区域。在这种情况下,位置信息会发生变化。由于该视点在不同时间的位置信息不同,DASH机制可能无法清楚地判断某些元素是否与同一视点相关联。
本文公开了使用DASH MPD高效表示具有多个和/或移动视点的VR视频的机制。为了解决上述第一个问题,引入了关联ID属性,使得DASH对象引用不同指定级别的其它DASH对象(例如,不仅限于严格的表示到表示关联)。例如,DASH将表示组织成自适应集,其中,自适应集包括在运行时可互换的表示(例如,包括不同分辨率的相同视频数据的表示)。当采用不同的视点时,每个视点可以包括具有一个或多个对应表示的一个或多个自适应集。此外,MPD可以包括预选,这些预选是自适应集(例如,与共同视点相关联的音频轨迹自适应集和视频自适应集)的组合,这些自适应集形成一种特定的体验并且由内容提供商进行选择并以组的形式呈现。本文公开的关联ID可以将表示与自适应集、表示与视点、表示与预选、自适应集与视点、自适应集与预选、视点与预选以及它们的任何组合或子组合相关联,反之亦然。例如,关联ID可以包括关联ID(@associationId)属性、关联视点ID(@associationVwptId)属性、关联自适应集ID(@associationAsId)、关联预选ID(@associationPsId)或其组合。为了解决上述第二个问题,在视点ID相同时,不管视点位置信息如何,都认为视点元素相同。
图1为用于VR视频流的示例性系统100的示意图。系统100包括多方向摄像机101、包括编码器103的VR编码设备104、DASH内容服务器111、包括解码器107的客户端108以及呈现设备109。多方向摄像机101包括摄像机设备阵列。每个摄像机设备指向不同的角度,使得多方向摄像机101可以从多个角度拍摄周围环境的多个方向视频流。例如,多方向摄像机101可以将环境的VR视频121拍摄成球体,其中,多方向摄像机101位于球体中心。此处所使用的“球体”和“球形视频”既指几何球体又指几何球体的一部分,如球冠、球形穹面、球截形等。例如,多方向摄像机101可以拍摄180度视频以覆盖一半环境,使得制作人员可以保持在多方向摄像机101后面。多方向摄像机101还可以拍摄360度(或360度范围内的任何一部分)的VR视频121。然而,可以会忽略多方向摄像机101下方的一部分地面,导致视频不是一个完整的球体。因此,此处使用的术语“球体”是为了描述清楚而使用的通用术语,不应视为从几何角度进行限制。需要说明的是,所描述的多方向摄像机101是能够采集VR视频121的示例性摄像机,也可以使用其它摄像机设备(例如,摄像机、鱼眼镜头)来采集VR视频。
将来自多方向摄像机101的VR视频121转发给VR编码设备104。VR编码设备104可以是包括专用VR编码软件的计算系统。VR编码设备104可以包括编码器103。在一些示例中,编码器103也可以包含在独立于VR编码设备104的计算机系统中。VR编码设备104用于将VR视频121中的多个方向视频流转换为一个包括多个方向视频流的VR视频流,包括从所有相关角度录制的整个区域。这种转换可以称为图像拼接。例如,可以将同时采集的每个视频流的帧拼接在一起以生成单个球形图像。然后,可以根据球形图像生成球形视频流。为了描述清楚,需要说明的是,除非特别说明,否则术语“帧”、“图像(picture/image)”在本文中可互换地使用。
然后,可以将球形视频流转发给编码器103进行压缩。编码器103是能够将信息从一种格式转换到另一种格式的设备和/或程序,目的是进行标准化、加速和/或压缩。标准化编码器103用于对矩形和/或正方形图像进行编码。因此,编码器103用于将球形视频流中的每个球形图像映射为多个矩形子图像。然后,可以将子图像承载在单独的子图像视频流中。因此,每个子图像视频流显示随时间变化的图像流,每个子图像视频流录制了球形视频流的一部分。然后,编码器103可以对每个子图像视频流进行编码,以将该视频流压缩到可管理的文件大小。通常,编码器103将每个子图像视频流中的每一帧分割成像素块,通过帧间预测和/或帧内预测压缩像素块以生成包括预测块和残差块的编码块,对残差块进行变换以进一步压缩,并使用各种滤波器对这些块进行滤波。将压缩块以及对应的语法存储在一个或多个码流中,例如,作为国际标准化组织基本媒体文件格式(InternationalStandardization Organization base media file format,ISOBMFF)和/或全向媒体格式(omnidirectional media format,OMAF)的轨迹。
VR视频121中的编码轨迹(包括压缩块和相关语法)构成媒体内容123的一部分。媒体内容123可以包括经编码的视频文件、经编码的音频文件、组合的音视频文件、以多种语言表示的媒体、字幕媒体、元数据或其组合。可以将媒体内容123划分成自适应集。例如,来自视点的视频可以包括在一个自适应集中,音频可以包括在另一个自适应集中,隐藏式字幕可以包括在另一个自适应集中,元数据可以包括在另一个自适应集中,以此类推。自适应集包括的媒体内容123不可与其它自适应集中的媒体内容123互换。可以将每个自适应集中的内容存储在表示中,其中,同一自适应集中的表示可以互换。例如,可以将单个视点的VR视频121下采样到各种分辨率并存储在对应的表示中。在另一个示例中,可以将音频(例如,单个视点的音频)下采样到各种质量,翻译成不同的语言等,并存储在对应的表示中。
可以将媒体内容123转发给DASH内容服务器111,以通过网络105分发给最终用户。DASH内容服务器111可以是用于服务客户端的超文本传输协议(HyperText TransferProtocol,HTTP)请求的任何设备。DASH内容服务器111可以包括专用服务器、服务器集群、云计算环境中的虚拟机(virtual machine,VM)或任何其它合适的内容管理实体。DASH内容服务器111可以从VR编码设备104接收媒体内容123。DASH内容服务器111可生成用于描述媒体内容123的MPD 125。例如,MPD 125可以用于描述预选、视点、自适应集、表示、元数据轨迹、片段等,以及可以通过HTTP请求(例如,HTTP GET)获取此类内容的位置。
包括解码器107的客户端108可以与DASH内容服务器111进行媒体通信会话127,以通过网络105获取媒体内容123,其中,所述网络105可以包括互联网、移动电信网络(例如,基于长期演进(long term evolution,LTE)的数据网络),或其它数据通信数据系统。客户端108可以是任何用户操作的用于从媒体内容123观看视频内容的设备,如计算机、电视、平板设备、智能手机等。媒体通信会话127可以包括发起媒体请求,如基于HTTP的请求(例如,HTTP GET请求)。响应于接收初始媒体请求,DASH内容服务器111可以将MPD 125转发给客户端108。然后,客户端108可以使用MPD 125中的信息对媒体内容123发起附加媒体请求,作为媒体通信会话的一部分。具体地,客户端108可以使用MPD 125中的数据,例如根据用户偏好、用户选择、缓冲器/网络条件等确定应当获取媒体内容123的哪些部分。在选择媒体内容123的相关部分之后,客户端108使用MPD 125中的数据将媒体请求寻址到DASH内容服务器111中包括相关数据的位置。然后,DASH内容服务器111可以使用媒体内容123的请求部分来响应客户端108。这样,客户端108接收媒体内容123的请求部分,而无需下载全部媒体内容123,从而节省了网络105上的网络资源(例如,时间、带宽等)。
解码器107是位于用户位置(例如,在客户端108上实现)的设备,用于执行编码器103的编码过程的逆过程,对从DASH内容服务器111获得的表示中的一个或多个经编码码流进行解码。解码器107还合并所得到的子图像视频流以重建VR视频序列129。VR视频序列129包括客户端108根据用户选择、偏好和/或网络条件所请求并由解码器107重建的媒体内容123的部分。然后,可以将VR视频序列129转发给呈现设备109。呈现设备109是用于向用户显示VR视频序列129的设备。例如,呈现设备109可以包括固定在用户头部并遮挡用户眼睛的HMD。呈现设备109可以包括每只眼睛对应的屏幕、摄像机、运动传感器、扬声器等,并且可以通过无线和/或有线连接与客户端108通信。在其它示例中,呈现设备109可以是显示屏,如电视、计算机监视器、平板式个人计算机(personal computer,PC)等。呈现设备109可以向用户显示VR视频序列129的一部分。所示一部分是基于呈现设备109的FOV和/或视角拍摄的。例如,呈现设备109可以通过使用运动跟踪传感器,根据用户头部移动来改变FOV的位置。这样,用户可以通过移动头部来观看球形视频流的不同部分。在一些情况下,呈现设备109可以根据用户的瞳间距离(interpupillary distance,IPD)来调整每只眼睛对应的FOV,从而产生三维空间的效果。
图2为对VR视频进行编码的示例性方法200的流程图。方法200由系统100中的组件等执行。在步骤201中,使用多方向摄像机组(如多方向摄像机101)采集多个方向视频流。多个方向视频流包括不同角度的环境视图。例如,多个方向视频流可以包括水平面上围绕摄像机以360度、180度、240度等采集的视频。多个方向视频流还可以包括在垂直平面上围绕摄像机以360度、180度、240度等采集的视频。生成的视频包括足以在某段时间内覆盖摄像机周围的球形区域的信息。
在步骤203中,在时域中同步多个方向视频流。具体地,每个方向视频流包括在对应角度拍摄的一系列图像。通过确保对每个方向视频流中的帧进行统一处理来同步多个方向视频流,其中,所述帧是在同一时域位置采集的。然后,可以在空域中将方向视频流中的帧拼接在一起,生成球形视频流。因此,球形视频流的每一帧都包括从所有方向视频流的帧中获取的数据,其中,所述方向视频流发生在同一时间位置上。
在步骤205中,将球形视频流映射为矩形子图像视频流。该过程也可以称为将球形视频流投影成矩形子图像视频流。编码器和解码器通常用于对矩形和/或正方形帧进行编码。因此,将球形视频流映射为矩形子图像视频流,以生成可以分别由非VR专用编码器和解码器进行编码和解码的视频流。需要说明的是,步骤203和205是针对VR视频处理的,因此可以由专用VR硬件、软件或其组合来执行。
在步骤207中,可以将构成VR视频的矩形子图像视频流转发给编码器(如编码器103)。然后,编码器将子图像视频流编码为对应媒体文件格式的子图像码流。具体地,每个子图像视频流可以由编码器视为视频信号。编码器可以通过帧间预测、帧内预测等方式对每个子图像视频流的每一帧进行编码。关于文件格式,可以以ISOBMFF存储子图像视频流。例如,以指定的分辨率采集子图像视频流。然后,可以将子图像视频流下采样到各种较低分辨率,以进行编码。每种分辨率都可以称为一种表示。质量较低的表示会导致图像不清,但减小了文件大小。因此,与较高质量表示相比,可以使用较少的网络资源(例如,时间、带宽等)向用户传输视觉质量损失的低质量表示。可以将每个表示存储在DASH内容服务器(如DASH内容服务器111)中的对应轨迹集合中。因此,可以将轨迹发送给用户,其中,这些轨迹包括各种分辨率(例如,视觉质量)的子图像码流。
在步骤209中,可以将子图像码流作为轨迹发送给解码器。具体地,可以将用于描述各种表示的MPD从DASH内容服务器转发给客户端。在收到客户端的请求(例如HTTP GET请求)时,可以进行转发。例如,MPD可以用于描述包括各种表示的各种自适应集。然后,客户端可以从所需自适应集请求相关表示或其部分。
在步骤211中,解码器(如解码器107)接收所请求的表示,所请求的表示包括子图像码流的轨迹。然后,解码器可以将子图像码流解码成子图像视频流,以进行显示。解码过程涉及编码过程(例如,通过帧间预测和帧内预测)的逆过程。然后,在步骤213中,解码器可以将子图像视频流合并为球形视频流,从而以VR视频序列的形式呈现给用户。然后,解码器可以将VR视频序列转发给呈现设备,如呈现设备109。
在步骤215中,呈现设备呈现球形视频流的视角,以向用户展示。如上所述,不呈现每个时间点在VR视频序列中FOV之外的区域。
图3为用于录制具有多个视点的VR视频流的示例性系统300的示意图。例如,系统300可用于从多个视点录制VR视频。可以将每个视点的视频分为一个或多个自适应集进行存储,然后存储为一个或多个对应自适应集的表示。可以对此类自适应集和表示进行编码并传输给客户端以进行呈现,如结合如上所述的系统100和/或方法200来实现。因此,系统300可以作为多方向摄像机101的一个实施例。
在一个示例中,可以将系统300部署在举办体育赛事的体育场311中。系统300可以采用第一固定摄像机301、第二固定摄像机302和移动摄像机303。在一些示例中,摄像机301至303可以是用于录制VR序列的多方向摄像机。摄像机301放置在第一视点处,摄像机302放置在第二视点,第二视点与第一视点不同。在体育场311中举办体育赛事期间,摄像机301和摄像机302从不同视点录制相同的环境,因此,从不同的角度提供在体育场311中举办体育赛事期间所发生的动作。摄像机303可以按照体育场311工作人员的指示移动。例如,可以将摄像机303放置在轨迹312上,并且在体育赛事期间可以移动到特别感兴趣的区域。例如,随着体育赛事的进行,可以将摄像机303移动到球位置附近,以最佳角度观看正在进行的赛事。对应地,将摄像机303与与不断变化的视点关联,该视点与摄像机301和302的视点都不同。
在一个示例中,可以提供由各种摄像机301至303拍摄的视频,从而用户可以按需、动态地选择对应视点的视频流。在DASH方案中,可以根据视点将摄像机301至303中的每个摄像机拍摄的视频和/或音频保存在一个或多个对应的自适应集中。可以将来自与视点对应的每个自适应集的视频存储在不同质量的表示中。因此,用户可以根据MPD中的数据选择视点,并以适合用户的网络连接的视频质量从视点接收视频的表示。
此外,用户可能希望放弃控制,而让视频制作者在体育赛事进行时选择最相关的视点。这可以使用时间元数据轨迹(例如,提示轨迹)来实现。将时间元数据轨迹作为单独的表示存储在单独的自适应集中。例如,时间元数据轨迹可以指示摄像机301的视点处的指定FOV包括第一时间段的最有趣的视频(例如,运动员持球),指示摄像机302的视点处的FOV包括第二时间段的最有趣的视频,指示摄像机303的视点处的FOV包括第三时间段最有趣的视频等。以此方式,客户端可以读取时间元数据轨迹,并从时间元数据轨迹所指示的视点获取适当的表示,以便在体育赛事期间按照视频制作者的指示向用户显示。
在此场景中,每个视点(例如,每个自适应集)的每个表示都与时间元数据轨迹相关联。当存在多个视点和多种视频质量时,时间元数据轨迹与对应表示之间的关联数量明显增多。将此类关联记录在MPD文件中,这就会显著增加MPD文件的文件大小。因此,除了表示与表示之间的关联,本发明还描述了用于表示各种DASH对象之间的关联的机制。例如,可以将三个摄像机301至303的视点与时间元数据轨迹表示和/或自适应集相关联。这样,关联的数量从可用视频质量的数量的3倍减少到所示示例中的3个。下文将结合附图描述各种DASH对象以及此类对象之间的关联,从而解决上述问题。
图4为可以用于流式传输具有多个视点的VR视频的示例性DASH MPD 400的示意图。例如,在应用方法200和/或系统100时,MPD 400可以用于描述系统300所录制的视频。因此,MPD 400可以用作MPD 125。
MPD 400可以包括一个或多个预选460。预选460是经选择(例如,由视频制作者选择)一起体验的一组内容。例如,预选460可以包括视频、对应的音频、对应的字幕、对应的触摸反馈等。例如,预选460可以包括多个自适应集420。
MPD 400还可以包括一个或多个视点450。视点450包括与相同位置/摄像机相关联(例如,从相同位置/摄像机录制)的自适应集420。例如,视点450可以包括完全由摄像机301(在第一视点450)、完全由摄像机302(在第二视点450)或完全由摄像机303(在第三视点450)录制的任何版本的数据。视点450可以包括一个或多个自适应集420。例如,视点450可以包括在某一位置录制的音频的自适应集420、在该位置的视频的自适应集420、与该位置相关的元数据的自适应集420。视点450可以是或可以不是预选460的一部分,这取决于内容制作者所做的选择。
自适应集420包括一个或多个表示430。具体地,自适应集420包括多个表示430,这些表示的类型相同,这些表示能够互换呈现。例如,由于一类音频数据无法与一类视频数据交换,所以将音频数据、视频数据和元数据放置在不同的自适应集420中,从而不影响媒体呈现。此外,来自不同视点450的视频不可互换,因为此类视频包括不同的图像。
表示430包括可以呈现的媒体数据,以产生多媒体呈现的一部分。在视频场景中,同一自适应集420中的表示430可以包括不同分辨率的相同视频。因此,可以根据所需视频质量互换地使用此类表示430。在音频场景中,共同自适应集420中的表示430可以包括不同质量的音频以及不同语言的音频轨迹。自适应集420中的表示430还可以包括元数据,该元数据可以用作提示轨迹。此类表示430称为时间元数据表示431。因此,包括时间元数据的时间元数据表示431可以与对应的视频表示430、音频表示430、隐藏式字幕表示430等结合使用,以确定应该如何呈现媒体表示430。例如,时间元数据表示431可以根据时间指示优选视点450和视点450的优选视角。因此,时间元数据表示431可以指示在媒体呈现进行时应获取和呈现哪些自适应集。
表示430可以包括片段440。片段440包括预定时间段(例如,3秒)内的媒体数据。因此,片段440可以包括可由预定统一资源定位器(universal resource locator,URL)通过网络访问的一部分音频数据、一部分视频数据等。MPD 400包括为每个片段440指示URL的数据。因此,客户端可以选择所需预选460和/或视点450来确定应呈现的一个或多个自适应集420。然后,客户端可以根据当前网络拥塞确定要获取的表示430。接着,客户端可以请求对应的片段440,以便为用户显示媒体呈现。
在DASH中,关联表示430可以通过表示430的语法元素来描述,其中,所述表示430的语法元素包括关联ID(@associationId)属性,可选地包括关联类型(@associationType)属性。关联表示430是指提供表示430与其它表示430之间关系的信息的表示430。关联表示430的片段440可以是可选的,用于对@associationId所标识的表示430进行解码和/或呈现。此类片段440可以视为补充或描述性信息,关联类型由@associationType属性指定。需要说明的是,@associationId属性和@associationType属性在不同自适应集420中(例如,在不同自适应集420中)的表示430之间使用。如上所述,时间元数据表示431可能与MPD 400中的每个其它表示430相关。当存在多个视点450时,可能存在大量表示430。在这种情况下,指示表示430之间关联的语法可以使用大量数据来指示时间元数据表示431与每个其它表示430之间的关联。具体地,在表示430与表示430关联的示例中,@associationId属性包括所有表示430的标识符(@id)属性的值。
本发明使用各种示例性指示机制来解决这个问题并高效地指示各表示之间的关联。在第一示例性实施例中,@associationId属性可以包括自适应集420的@id属性(例如,AdaptationSet@id)。当@associationId属性包括AdaptationSet@id的特定值时,AdaptationSet@id值在MPD 400中的所有自适应集420和所有表示430的@id属性值之中应该是唯一的。可以添加自适应集420的可选级别属性,以指示自适应集420的AdaptationSet@id值是否满足唯一性。第一示例性实施例可以实现如下:
在该实施例中,关联表示430、@associationId属性和@associationType属性具体描述如下。关联表示430通过表示430的元素来描述,其中,所述表示430的元素包括@associationId属性,可选地包括@associationType属性。关联表示430是指提供表示430与其它表示430或自适应集420之间关系的信息的表示430。关联表示430的片段440可以是可选的,用于对@associationId所标识的表示430或自适应集420进行解码和/或呈现。此类片段440可以视为补充或描述性信息,关联类型由@associationType属性指定。需要说明的是,在该实施例中,@associationId属性和@associationType属性只能在不同的自适应集420中的表示430之间使用。@associationId属性和@associationType属性可以通过表1定义:
表1
在本实施例中,OMAF的时间元数据轨迹(也称为时间元数据表示431)的携带情况可以具体描述如下:可以将时间元数据轨迹(例如,轨迹样本条目类型‘invo’或‘rcvp’的轨迹)封装在DASH表示430中。该元数据表示430的@associationId属性可以包括表示430或自适应集420的属性@id值,其中,所述表示430或自适应集420包括与时间元数据轨迹相关联的一个或多个媒体轨迹所携带的全向媒体。该元数据表示430的@associationType属性可以设置为等于‘cdsc’。
在本实施例中,可选的自适应集级别属性可以如表2所述。
表2
ID唯一标志(@idUniqueFlag)属性提供了一种机制,用于指示自适应集420的AdaptationSet@id值是否是唯一的。
在第二示例性实施例中,通过定义表示级别属性(可以表示为关联自适应集ID(@associationAsId)),将表示430与一个或多个自适应集420相关联。在该实施例中,关联表示430、@associationId属性、associationAsId属性和@associationType属性具体描述如下:关联表示430通过表示430的元素来描述,其中,所述表示430的元素包括@associationId属性或associationAsId属性,,可选地包括@associationType属性。关联表示430是指提供表示430与其它表示430或自适应集420之间关系的信息的表示430。关联表示430的片段440可以是可选的,用于对@associationId或associationAsId所标识的表示430或自适应集420进行解码和/或呈现。此类片段440可以视为补充或描述性信息,关联类型由@associationType属性指定。需要说明的是,@associationId属性或@associationAsId属性和@associationType属性只能在不同的自适应集420中的表示430之间使用。@associationId属性、@associationAsId属性和@associationType属性可以通过表3定义:
表3
在本实施例中,OMAF的时间元数据轨迹的携带情况可以具体描述如下:可以将时间元数据轨迹(例如,轨迹样本条目类型‘invo’或‘rcvp’的轨迹)封装在DASH表示430中。该元数据表示430的@associationId属性或@associationAsId属性应分别包括表示430或自适应集420的属性@id值,其中,所述表示430或自适应集420包括与时间元数据轨迹相关联的一个或多个媒体轨迹所携带的全向媒体。该元数据表示的@associationType属性可以设置为等于‘cdsc’。本实施例也可以使用如第一实施例所述的@idUniqueFlag属性。
根据前两个示例性实施例,将表示430属性与自适应集420相关联,从而使得全部自适应集430与包括时间元数据轨迹的表示430相关联。这样,时间元数据轨迹可以引用全部视频轨迹组,而不是引用每一个表示430,这显著减小了MPD 400文件大小。
第三示例性实施例与第一示例性实施例基本类似,但是允许表示430与全部视点450相关联。在本实施例中,@associationId属性可以包括视点450的ID值。当@associationId属性包括视点450的特定ID值时,视点450的ID值应与MPD 400中任何表示430的@id属性值不同。Viewpoint@value属性可以包括一个字段,用于指示视点450的ID值是否满足唯一性。其它值可以如第一示例性实施例中所述,其中提到自适应集420的地方替换为视点450。
第四示例性实施例与第二示例性实施例基本类似,但提供表示级别属性(可以表示为关联视点ID(@associationVwptId)),其中,通过定义所述表示级别属性,将表示430与一个或多个视点450相关联。其它值可以如第二示例性实施例中所述,其中提到自适应集420的地方替换为视点450。
第五示例性实施例与第一示例性实施例基本类似,但是允许表示430与预选460相关联。在本实施例中,@associationId属性可以包括预选460的@id属性(例如,Preselection@id)。当@associationId属性包括预选460的特定ID值时,预选460的ID值应与MPD 400中任何表示430的@id属性值不同。可以将可选属性添加到预选460的元素的可扩展标记语言(extensible markup language,XML)模式中,用于指示预选460的Preselection@id值是否满足唯一性。其它值可以如第一示例性实施例中所述,其中提到自适应集420的地方替换为预选460。
第六示例性实施例与第二示例性实施例基本类似,但提供表示级别属性(可以表示为预选460的关联ID(@associationPsId)),其中,通过定义所述表示级别属性,将表示430与一个或多个预选460相关联。其它值可以如第二示例性实施例中所述,其中提到自适应集420的地方替换为预选460。
在第七示例性实施例中,示例性实施例一、二、三、四、五和/或六的属性实现为MPD400其它级别的属性。具体地,如上所述的@associationId、@associationAsId、@associationPsId和/或@associationVwptId可以实现为自适应集420、预选460和/或视点450的一个或多个属性。这使得自适应集420、预选460和/或视点450与其它自适应集420、预选460和/或视点450等其它DASH对象关联。
通过上述任一种方法(实施例一至七),能够高效地指示与表示430(例如,时间元数据表示430)关联的表示430、自适应集420、预选460或视点450或一些其它DASH对象,而不会显著增加MPD 400的大小。
具体示例性实现方式如下:可以采用集合关联的方式将时间元数据表示与一个或多个媒体表示相关联。可以通过如下方式将时间元数据表示与子图像组合的所有媒体表示集合关联。关联描述符作为时间元数据表示的DASH表示元素的子元素。关联描述符应在AdaptationSet类型的关联元素[SubPicCompositionId=″aa″]中包括一个字符串,其中,″aa″表示子图像组合标识符值。此外,可以将‘cdtg’包括在内,作为关联元素的Association@associationKindList属性的值。具体地,包括‘cdtg’轨迹引用的时间元数据轨迹统一描述了所引用的媒体轨迹和轨迹组。‘cdtg’轨迹引用只能存在于时间元数据轨迹中。
此外,如上所述,由于一些视点450在视频播放过程中会移动,导致对应的位置信息会发生改变,一些系统可能难以判断两个视点450实际上是否相同。以下内容可以解决该问题。在任一示例性实施例中,当视点450的两个元素都包括@value属性,属性@value包括视点450的相同ID值,则无论位置信息如何,都可以认为视点450的两个元素的属性@value相同。由此,本实施例提供一种系统,可以判断包括视点450的一个元素的实例的多个DASH对象(例如,自适应集420)是否认为属于同一视点450,从而避免在不需要时错误地切换视点450,反之亦然。
图5为示例性视频编码设备500的示意图。视频编码设备500适用于实现本文描述的所公开示例/实施例。视频编码设备500包括下行端口520、上行端口550,和/或收发单元(Tx/Rx)510,其中,所述收发单元510包括发射器和/或接收器,用于通过网络在上行和/或下行传输数据。视频编码设备500还包括:处理器530,包括用于处理数据的逻辑单元和/或中央处理单元(central processing unit,CPU);和用于存储数据的存储器532。视频编码设备500还可以包括与上行端口550和/或下行端口520耦合的光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件,和/或无线通信组件,用于通过光或无线通信网络进行数据通信。视频编码设备500还可以包括输入和/或输出(input/output,I/O)设备560,用于与用户进行数通信。I/O设备560可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备560还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
处理器530通过硬件和软件实现。处理器530可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器530与下行端口520、Tx/Rx 510、上行端口550和存储器532通信。处理器530包括MPD模块514。MPD模块514可以实现上述公开的全部或部分实施例,根据具体情况确定。例如,MPD模块514可以用于实现视频编码设备104、编码器103、DASH内容服务器111、客户端108和/或解码器107的功能。例如,MPD模块514可以实现方法200的相关部分。在另一示例中,MPD模块514可以从摄像机301、302和/或303接收VR视频(例如,全方位视频),并生成MPD 400,以支持通过DASH流式传输系统流式传输多视点VR视频。此外,MPD模块514可以对具有语法的MPD进行编码,其中,所述语法将表示、自适应集、视点和/或预选与另一表示、自适应集、视点和/或预选相关联,例如,将DASH对象与时间元数据轨迹相关联,而无需对每个表示的关联进行编码。这减小了MPD的文件大小,减少了用于生成和/或处理MPD的处理资源,减少了用于传输MPD的网络资源,和/或减少了用于存储MPD的内存资源。因此,MPD模块514改进了视频编码设备500的功能,并解决了视频编码领域特有的问题。此外,MPD模块514可以将视频编码设备500变换到不同的状态。或者,MPD模块514可以实现为存储在存储器532中并由处理器530执行的指令(例如,存储在非瞬时性介质中的计算机程序产品)。
存储器532包括一个或多个存储器类型,如磁盘、磁带机、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、闪存、三元内容可寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(static random-access memory,SRAM)等。存储器532可用作溢出数据存储设备,在选择程序执行时存储此类程序,并存储在程序执行过程中读取的指令和数据。
图6为示例性方法600的流程图,该示例性方法600在DASH内容服务器中将MPD(如MPD 400和/或MPD 125)中的DASH对象关联以支持例如从系统300中流式传输具有多个视点的VR视频。因此,方法600可以用于MPD模块514,并与方法200结合使用,以支持在系统100中分别通过编码器和/或DASH内容服务器(如编码器103和/或DASH内容服务器111)分发多视点VR媒体内容。
在步骤601中,例如在DASH内容服务器中从编码器接收媒体内容。所述媒体内容可以包括VR视频序列,VR视频序列包括多个视点。所述媒体内容可以描述为包括各种表示的多个自适应集,所述表示包括片段。还可以将媒体内容的自适应集分组到预选中。此外,媒体内容可以包括一个或多个时间元数据表示,如提示轨迹。
在步骤603中,为媒体内容生成DASH MPD。所述MPD包括用于表示所述媒体内容中属于第一视点的一部分与时间元数据表示相关联的指示。所述指示可以包括用于指示各种DASH对象之间的关系的关联ID。如上所述,可以采用几种机制来实现所述关联。
在一个示例中,关联ID可以为表示属性,表示属性可以包括@associationVwptId属性。在另一个示例中,关联ID可以为自适应集属性,自适应集属性包括@associationVwptId属性。在另一个示例中,关联ID可以为预选属性,预选属性包括@associationVwptId属性。在另一个示例中,关联ID可以为视点元素属性,视点元素属性包括@associationVwptId属性。
在另一个示例中,关联ID可以为实现为表示属性、自适应集属性、预选属性、视点元素属性或其组合的@associationId属性。此外,媒体内容的所述部分和/或对应的DASH对象可以包括指示关联ID在媒体内容中多个自适应集的ID和与所述多个自适应集相关联的表示的ID之中引用唯一ID属性的属性。
在另一个示例中,关联ID可以是包括@associationAsId属性的表示属性。在另一个示例中,关联ID可以是包括@associationAsId属性的自适应集属性。在另一个示例中,关联ID可以是包括@associationAsId属性的预选属性。在另一个示例中,关联ID可以是包括@associationAsId属性的视点元素属性。
在另一个示例中,关联ID可以为表示属性,表示属性包括@associationPsId属性。在另一个示例中,关联ID可以为自适应集属性,自适应集属性包括@associationPsId属性。在另一个示例中,关联ID可以为预选属性,预选属性包括@associationPsId属性。在另一个示例中,关联ID可以为视点元素属性,视点元素属性包括@associationPsId属性。
不管特定示例如何,指示都可以将自适应集、视点和/或预选与时间元数据表示相关联,从而可以通过单个属性将表示组与另一DASH对象相关联。
在步骤605中,可以从客户端接收对媒体内容的请求,例如HTTP GET请求。在步骤607中,响应于接收所述请求,将包括所述指示的DASH MPD发送给客户端,以支持向客户端发送媒体内容。
图7为示例性方法700的流程图,该示例性方法700在DASH客户端中将MPD(如MPD400和/或MPD 125)中的DASH对象关联以支持例如从系统300中流式传输具有多个视点的VR视频。因此,方法600可以用于MPD模块514,并与方法200结合使用,以支持在客户端(如系统100中的客户端108)中流式传输基于DASH的媒体内容。
在步骤701中,接收DASH MPD。MPD用于描述包括VR视频序列的媒体内容,所述VR视频序列包括描述为多个自适应集的多个视点。所述媒体内容还包括一个或多个时间元数据表示。此外,所述MPD还包括用于表示所述媒体内容中属于第一视点的一部分与时间元数据表示相关联的指示。所述部分可以为自适应集、视点和/或预选。此外,所述指示可以为关联ID。
在步骤703中,发送对媒体内容中属于第一视点的部分的请求。根据所述指示还发送对于时间元数据表示的请求。
在步骤705中,接收媒体内容中属于第一视点的部分和时间元数据表示。然后,DASH客户端可以使用时间元数据表示和与第一视点相关的媒体内容在呈现设备上显示VR视频。
图8为示例性DASH内容服务器800的示意图,该示例性DASH内容服务器800用于将MPD(如MPD 400和/或MPD 125)中的DASH对象关联以支持例如从系统300中流式传输具有多个视点的VR视频。因此,DASH内容服务器800可以与方法200结合使用,和/或与MPD模块514结合使用,以支持在系统100中分别通过编码器和/或DASH内容服务器(如编码器103和/或DASH内容服务器111)分发多视点VR媒体内容。
DASH内容服务器800可以包括内容接收模块801,用于接收包括VR视频序列的媒体内容,其中,所述媒体内容描述为多个自适应集,所述多个自适应集属于多个视点,且所述媒体内容还包括时间元数据表示。DASH内容服务器800还可以包括DASH MPD生成模块803,用于生成DASH MPD,其中,所述DASH MPD包括用于表示所述媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示。DASH内容服务器800还可以包括请求接收模块805,用于从客户端接收对所述媒体内容的请求。DASH内容服务器800还可以包括发射器807,用于响应于接收所述请求,将包括所述指示的DASH MPD发送给客户端,以支持向所述客户端发送所述媒体内容。
图9为示例性DASH客户端900的示意图,该示例性DASH客户端900用于将MPD(如MPD400和/或MPD 125)中的DASH对象关联以支持例如从系统300中流式传输具有多个视点的VR视频。因此,DASH客户端900可以与方法200结合使用,和/或与MPD模块514结合使用,以支持在客户端(如系统100中的客户端108)中流式传输基于DASH的媒体内容。
DASH客户端900可以包括MPD接收模块901,用于接收DASH MPD,其中,所述MPD将包括VR视频序列的媒体内容描述为多个自适应集,所述多个自适应集属于多个视点。所述媒体内容还包括时间元数据表示。所述MPD还包括用于表示媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示。DASH客户端900还可以包括发射模块903,用于根据所述指示发送对所述媒体内容中属于所述第一视点的所述部分的请求和对所述时间元数据表示的请求。DASH客户端900还可以包括媒体内容接收模块905,用于接收所述媒体内容中属于所述第一视点的所述部分和所述时间元数据表示。
当第一组件与第二组件之间除了线、迹线或其它介质之外没有中间组件时,所述第一组件与所述第二组件直接耦合。当第一组件与第二组件之间除了线、迹线或其它介质之外还有中间组件时,第一组件与第二组件间接耦合。术语“耦合”及其变型包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”意指包括后续数字±10%的范围。
虽然本发明中已提供若干实施例,但可以理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以其它多种具体特定形式来体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中组合或集成各种元件或组件,或者可以省略或不实施某些特征。
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。其它变更、替换、更改示例对本领域技术人员而言是显而易见的,均不脱离本文中公开的精神和范围。
Claims (10)
1.一种在超文本传输协议HTTP动态自适应流媒体DASH内容服务器中实施的方法,其特征在于,所述方法包括:
接收器接收包括虚拟现实VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;
处理器生成DASH媒体描述文件MPD,其中,所述DASH媒体描述文件包括用于表示所述媒体内容中与第一视点相关的一部分与所述时间元数据表示相关联的指示;
所述接收器从客户端接收对所述媒体内容的请求;
响应于接收所述请求,所述DASH内容服务器的发射器将包括所述指示的所述DASH MPD发送给所述客户端,以支持向所述客户端发送所述媒体内容;其中,
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个自适应集的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将多个视点中的一个或多个视点的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个预选的列表与所述时间元数据表示相关联的表示属性。
2.一种非瞬时性计算机可读介质,其特征在于,包括供视频编码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频编码设备执行根据权利要求1所述的方法。
3.一种超文本传输协议HTTP动态自适应流媒体DASH内容服务器,其特征在于,包括:
接收器;
发射器;
与所述接收器和所述发射器耦合的处理器,其中,所述处理器用于执行根据权利要求1所述的方法。
4.一种超文本传输协议HTTP动态自适应流媒体DASH内容服务器,其特征在于,包括:
内容接收模块,用于接收包括虚拟现实VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;
DASH媒体描述文件MPD生成模块,用于生成DASH MPD,其中,所述DASH MPD包括用于表示所述媒体内容中与第一视点相关的一部分与所述时间元数据表示相关联的指示;
请求接收模块,用于从客户端接收对所述媒体内容的请求;
发射模块,用于响应于接收所述请求,将包括所述指示的所述DASH MPD发送给所述客户端,以支持向所述客户端发送所述媒体内容;其中,
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个自适应集的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将多个视点中的一个或多个视点的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个预选的列表与所述时间元数据表示相关联的表示属性。
5.根据权利要求4所述的DASH内容服务器,其特征在于,所述DASH MPD模块还用于执行根据权利要求1所述的方法。
6.一种在超文本传输协议HTTP动态自适应流媒体DASH客户端中实施的方法,其特征在于,所述方法包括:
接收器接收DASH媒体描述文件MPD,所述MPD用于描述包括虚拟现实VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;所述MPD还包括用于表示所述媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示;
发射器根据所述指示发送对所述媒体内容中与所述第一视点相关的所述部分的请求和对所述时间元数据表示的请求;
接收器接收所述媒体内容中属于所述第一视点的所述部分和一个所述时间元数据表示;其中,
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个自适应集的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将多个视点中的一个或多个视点的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个预选的列表与所述时间元数据表示相关联的表示属性。
7.一种非瞬时性计算机可读介质,其特征在于,包括供视频编码设备使用的计算机程序产品,其中,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,所述视频编码设备执行根据权利要求6所述的方法。
8.一种超文本传输协议HTTP动态自适应流媒体DASH客户端,其特征在于,包括:
接收器;
发射器;
与所述接收器和所述发射器耦合的处理器,其中,所述处理器用于执行根据权利要求6所述的方法。
9.一种超文本传输协议HTTP动态自适应流媒体DASH客户端,其特征在于,包括:
媒体描述文件MPD接收模块,用于接收DASH MPD,所述MPD用于描述包括虚拟现实VR视频序列的媒体内容,其中,所述媒体内容包括多个视点,所述媒体内容还包括时间元数据表示;所述MPD还包括用于表示所述媒体内容中属于第一视点的一部分与所述时间元数据表示相关联的指示;
发射模块,用于根据所述指示发送对所述媒体内容中属于所述第一视点的所述部分的请求和对所述时间元数据表示的请求;
媒体内容接收模块,用于接收所述媒体内容中属于所述第一视点的所述部分和所述时间元数据表示;其中,
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个自适应集的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将多个视点中的一个或多个视点的列表与所述时间元数据表示相关联的表示属性;
或者
所述指示为关联标识符ID,其中,所述关联标识符为将所述媒体内容的一个或多个预选的列表与所述时间元数据表示相关联的表示属性。
10.根据权利要求9所述的DASH客户端,其特征在于,所述DASH MPD模块还用于执行根据权利要求6所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862653205P | 2018-04-05 | 2018-04-05 | |
US62/653,205 | 2018-04-05 | ||
PCT/US2019/024824 WO2019195101A1 (en) | 2018-04-05 | 2019-03-29 | Efficient association between dash objects |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869221A CN111869221A (zh) | 2020-10-30 |
CN111869221B true CN111869221B (zh) | 2021-07-20 |
Family
ID=67439313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980018524.4A Active CN111869221B (zh) | 2018-04-05 | 2019-03-29 | Dash对象之间的有效关联 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200358838A1 (zh) |
EP (1) | EP3741130B1 (zh) |
CN (1) | CN111869221B (zh) |
WO (1) | WO2019195101A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2554877B (en) * | 2016-10-10 | 2021-03-31 | Canon Kk | Methods, devices, and computer programs for improving rendering display during streaming of timed media data |
WO2021140274A1 (en) | 2020-01-07 | 2021-07-15 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
US11533351B2 (en) * | 2020-09-24 | 2022-12-20 | Apple Inc. | Efficient delivery of multi-camera interactive content |
US11722540B2 (en) | 2020-09-24 | 2023-08-08 | Apple Inc. | Distributed encoding |
US20240031614A1 (en) * | 2020-10-01 | 2024-01-25 | Koninklijke Kpn N.V. | Streaming panoramic video of a scene from multiple viewpoints |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105230024A (zh) * | 2013-07-19 | 2016-01-06 | 华为技术有限公司 | 基于超文本传输协议的动态自适应流媒体中的元数据信息的指示及携带 |
CN105556976A (zh) * | 2013-10-25 | 2016-05-04 | 华为技术有限公司 | 自适应流中表达关联的系统和方法 |
WO2017205794A1 (en) * | 2016-05-26 | 2017-11-30 | Vid Scale, Inc. | Methods and apparatus of viewport adaptive 360 degree video delivery |
CN107529064A (zh) * | 2017-09-04 | 2017-12-29 | 北京理工大学 | 一种基于vr终端反馈的自适应编码方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150262428A1 (en) * | 2014-03-17 | 2015-09-17 | Qualcomm Incorporated | Hierarchical clustering for view management augmented reality |
US10582201B2 (en) * | 2016-05-19 | 2020-03-03 | Qualcomm Incorporated | Most-interested region in an image |
GB2550589B (en) * | 2016-05-23 | 2019-12-04 | Canon Kk | Method, device, and computer program for improving streaming of virtual reality media content |
EP3466079B1 (en) * | 2016-05-24 | 2023-07-12 | Nokia Technologies Oy | Method and an apparatus and a computer program for encoding media content |
CN109691094B (zh) * | 2016-08-25 | 2021-10-22 | Lg电子株式会社 | 发送全向视频的方法、接收全向视频的方法、发送全向视频的装置和接收全向视频的装置 |
US11049323B2 (en) * | 2017-03-24 | 2021-06-29 | Mediatek Inc. | Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling |
KR102277267B1 (ko) * | 2017-03-29 | 2021-07-14 | 엘지전자 주식회사 | 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 |
CN111656790A (zh) * | 2018-01-26 | 2020-09-11 | 夏普株式会社 | 用于发送信号通知位置信息的系统和方法 |
US20210029294A1 (en) * | 2018-03-26 | 2021-01-28 | Sharp Kabushiki Kaisha | Systems and methods for signaling camera parameter information |
KR102138536B1 (ko) * | 2018-06-08 | 2020-07-28 | 엘지전자 주식회사 | 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치 |
-
2019
- 2019-03-29 EP EP19744900.2A patent/EP3741130B1/en active Active
- 2019-03-29 CN CN201980018524.4A patent/CN111869221B/zh active Active
- 2019-03-29 WO PCT/US2019/024824 patent/WO2019195101A1/en unknown
-
2020
- 2020-07-24 US US16/938,125 patent/US20200358838A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105230024A (zh) * | 2013-07-19 | 2016-01-06 | 华为技术有限公司 | 基于超文本传输协议的动态自适应流媒体中的元数据信息的指示及携带 |
CN105556976A (zh) * | 2013-10-25 | 2016-05-04 | 华为技术有限公司 | 自适应流中表达关联的系统和方法 |
WO2017205794A1 (en) * | 2016-05-26 | 2017-11-30 | Vid Scale, Inc. | Methods and apparatus of viewport adaptive 360 degree video delivery |
CN107529064A (zh) * | 2017-09-04 | 2017-12-29 | 北京理工大学 | 一种基于vr终端反馈的自适应编码方法 |
Non-Patent Citations (1)
Title |
---|
HEVC-compliant viewport-adaptive streaming of stereoscopic panoramic video;Alireza Zare et al.;《IEEE》;20161207;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019195101A1 (en) | 2019-10-10 |
US20200358838A1 (en) | 2020-11-12 |
EP3741130A1 (en) | 2020-11-25 |
CN111869221A (zh) | 2020-10-30 |
EP3741130B1 (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111869221B (zh) | Dash对象之间的有效关联 | |
RU2728904C1 (ru) | Способ и устройство для управляемого выбора точки наблюдения и ориентации аудиовизуального контента | |
KR102246002B1 (ko) | 가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램 | |
CN109074678B (zh) | 一种信息的处理方法及装置 | |
US11323683B2 (en) | Method, an apparatus and a computer program product for virtual reality | |
CN112219403B (zh) | 沉浸式媒体的渲染视角度量 | |
US11539983B2 (en) | Virtual reality video transmission method, client device and server | |
US11095936B2 (en) | Streaming media transmission method and client applied to virtual reality technology | |
EP3939327A1 (en) | Method and apparatus for grouping entities in media content | |
US20240276074A1 (en) | Associating File Format Objects and Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) Objects | |
EP4128808A1 (en) | An apparatus, a method and a computer program for video coding and decoding | |
CN114930869A (zh) | 用于视频编码和视频解码的方法、装置和计算机程序产品 | |
CN108271084B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |