CN109479158B - 检索及存取用于媒体流式处理的段区块 - Google Patents
检索及存取用于媒体流式处理的段区块 Download PDFInfo
- Publication number
- CN109479158B CN109479158B CN201780044710.6A CN201780044710A CN109479158B CN 109479158 B CN109479158 B CN 109479158B CN 201780044710 A CN201780044710 A CN 201780044710A CN 109479158 B CN109479158 B CN 109479158B
- Authority
- CN
- China
- Prior art keywords
- segment
- identifier
- blocks
- data
- segments
- 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
- 238000000034 method Methods 0.000 claims description 75
- 238000003860 storage Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 5
- 239000012634 fragment Substances 0.000 description 36
- 230000006978 adaptation Effects 0.000 description 23
- 238000005538 encapsulation Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000002360 preparation method Methods 0.000 description 14
- 230000011664 signaling Effects 0.000 description 14
- 230000002123 temporal effect Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000153 supplemental effect 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/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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- 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/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- 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/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- 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
-
- 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/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking 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)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种用于检索媒体数据的实例装置,其包含一或多个处理器,所述一或多个处理器实施于电路中且经配置以进行以下操作:接收包含数据的清单文件,所述数据指示可用于媒体数据的表示的段的段区块的数目,所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;使用指示可用于所述段的区块的所述数目的所述数据来确定所述区块中的一者的标识符;及将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
Description
本申请案主张2016年7月28日申请的美国临时申请案第62/368,099号的权益,所述临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及经编码媒体数据的传送。
背景技术
数字视频能力可结合至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话、视频电话会议装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)、ITU-TH.265(也被称作高效率视频译码(HEVC))定义的标准及此类标准的扩展中所描述的那些技术,以更有效地发射及接收数字视频信息。
在视频数据已被编码之后,可将视频数据包化以供发射或存储。可将视频数据汇编成符合多种标准中的任一者的视频文件,所述标准是例如国际标准化组织(ISO)基本媒体文件格式及其扩展,例如AVC。
发明内容
一般来说,本发明描述使用段区块的技术。本发明的技术包含例如发信可用于完整段的区块的数目。本发明的技术还包含用于寻址区块例如以请求供检索的区块的寻址方案(例如命名方案)。
在一个实例中,一种检索媒体数据的方法包含:接收包含数据的清单文件,所述数据指示可用于媒体数据的表示的段的段区块的数目,所述段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;使用指示可用于所述段的区块的所述数目的所述数据来确定所述区块中的一者的标识符;及将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
在另一实例中,一种用于检索媒体数据的装置包含一或多个处理器,所述一或多个处理器实施于电路中且经配置以进行以下操作:接收包含数据的清单文件,所述数据指示可用于媒体数据的表示的段的段区块的数目,所述段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;使用指示可用于所述段的区块的所述数目的所述数据来确定所述区块中的一者的标识符;及将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
在另一实例中,一种用于检索媒体数据的装置包含用于接收包含数据的清单文件的装置,所述数据指示可用于媒体数据的表示的段的段区块的数目,所述段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;用于使用指示可用于所述段的区块的所述数目的所述数据来确定所述区块中的一者的标识符的装置;及用于将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置的装置。
在另一实例中,一种计算机可读存储媒体在其上存储有在执行时致使处理器进行以下操作的指令:接收包含数据的清单文件,所述数据指示可用于媒体数据的表示的段的段区块的数目,所述段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;使用指示可用于所述段的区块的所述数目的所述数据来确定所述区块中的一者的标识符;及将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
下文在附图及具体实施方式中阐述一或多个实例的细节。其它特征、目标及优点将从具体实施方式及附图且从权利要求书显而易见。
附图说明
图1为绘示实例系统的框图,实例系统实施用于经由网络来流式处理媒体数据的技术。
图2为更详细地绘示图1的检索单元的组件的实例集合的框图。
图3为绘示实例多媒体内容的元素的概念图。
图4为绘示实例视频文件的元素的框图,实例视频文件可对应于表示的段。
图5为绘示常规段供应项目及具有较短段的供应项目的实例的概念图。
图6为绘示经由常规段供应项目及具有较短段的供应项目可用的段的统一资源定位符(URL)地址的概念图。
图7为绘示可根据本发明的技术而发信的数据的实例集合的概念图。
图8绘示根据本发明的技术针对段使用分层编号的技术的实例。
图9绘示根据本发明的技术针对段使用分层编号的技术的另一实例。
图10为绘示根据本发明的技术的传送(发送及接收)媒体数据的实例方法的流程图。
具体实施方式
一般来说,本发明描述使用段序列的技术,所述段例如与常规段相比回放持续时间相对短的包含数据的段。即,一或多个段可缺乏随机存取点(RAP)。因此,并非单一段具有关于N秒(或其它时间单位,例如微秒、毫秒等等)的回放持续时间的数据,而是单一段具有RAP且与段可用性开始时间(SAST)相关联的情况下,可提供具有关于N秒的回放持续时间的数据的多个段,仅所述多个段中的一者包含RAP且所述多个段中的每一者与相应SAST相关联。通过使用此类较短段,回放可比使用常规较长段更快地开始。
可单独地或组合地使用用于提供使用较短段的解决方案的各种选项。举例来说,可通告段区块的段时间线的精确持续时间。然而,通告精确持续时间可为过度的,且可要求诸多清单文件(例如媒体呈现描述(MPD))更新。可使用分层寻址方案。然而,不确定是否存在足够时间来使用分层寻址方案。
本发明的技术可应用于符合根据以下各者中的任一者封装的媒体数据的媒体文件(例如视频文件):ISO基本媒体文件格式、可伸缩视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式及/或多视图视频译码(MVC)文件格式,或其它类似视频文件格式。
在HTTP流式处理中,频繁使用的操作包含HEAD、GET及部分GET。HEAD操作检索与给定统一资源定位符(URL)或统一资源名称(URN)相关联的文件的标头,但不检索与URL或URN相关联的有效负载。GET操作检索与给定URL或URN相关联的整个文件。部分GET操作接收字节范围作为输入参数且检索文件的连续数个字节,其中字节的数目对应于所接收的字节范围。因此,针对HTTP流式处理可提供电影片段,这是因为部分GET操作可得到一或多个个别电影片段。在电影片段中,可能存在不同播放轨的若干播放轨片段。在HTTP流式处理中,媒体呈现可为客户端可存取的数据的结构化集合。客户端可请求及下载媒体数据信息以向用户呈现流式处理服务。
在使用HTTP流式处理来流式处理3GPP数据的实例中,可能存在多媒体内容的视频及/或音频数据的多个表示。如下文所阐释,不同表示可对应于不同译码特性(例如视频译码标准的不同配置文件或级别)、不同译码标准或译码标准的扩展(例如多视图及/或可伸缩扩展)或不同位速率。此类表示的清单可在媒体呈现描述(MPD)数据结构中加以定义。媒体呈现可对应于HTTP流式处理客户端装置可存取的数据的结构化集合。HTTP流式处理客户端装置可请求及下载媒体数据信息以向客户端装置的用户呈现流式处理服务。媒体呈现可在MPD数据结构中加以描述,所述MPD数据结构可包含MPD的更新。
媒体呈现可含有一或多个周期的序列。每一周期可延伸直至下一周期的开始,或在最末周期的情况下,直至媒体呈现的结束。每一周期可含有同一媒体内容的一或多个表示。表示可为音频、视频、计时文本或其它此类数据的数个替代经编码版本中的一者。表示可因编码类型而异,例如对于视频数据,因位速率、分辨率及/或编码解码器而异,且对于音频数据,因位速率、语言及/或编码解码器而异。术语表示可用以是指经编码音频或视频数据的对应于多媒体内容的特定周期且以特定方式编码的区段。
特定周期的表示可被指派至由MPD中的属性指示的群组,所述属性指示表示所属的适配集。同一适配集中的表示通常被视为彼此的替代方案,这是因为客户端装置可在这些表示之间动态地且无缝地切换,例如以执行带宽适配。举例来说,特定周期的视频数据的每一表示可被指派至同一适配集,使得可选择所述表示中的任一者进行解码以呈现对应周期的多媒体内容的媒体数据,例如视频数据或音频数据。在一些实例中,一个周期内的媒体内容可由来自群组0(如果存在)的一个表示来表示,或由来自每一非零群组的至多一个表示的组合来表示。周期的每一表示的时序数据可相对于所述周期的开始时间加以表达。
表示可包含一或多个段。每一表示可包含初始化段,或表示的每一段可自行初始化。当存在时,初始化段可含有用于存取表示的初始化信息。一般来说,初始化段不含媒体数据。段可由标识符唯一地参考,所述标识符是例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。MPD可为每一段提供标识符。在一些实例中,MPD还可提供呈范围属性的形式的字节范围,所述范围属性可对应于可由URL、URN或URI存取的文件内的段的数据。
可选择不同表示以用于大致同时检索不同类型的媒体数据。举例来说,客户端装置可选择从其中检索段的音频表示、视频表示及计时文本表示。在一些实例中,客户端装置可选择特定适配集以用于执行带宽适配。即,客户端装置可选择包含视频表示的适配集、包含音频表示的适配集,及/或包含计时文本的适配集。替代地,客户端装置可选择用于某些类型的媒体(例如视频)的适配集,且直接选择用于其它类型的媒体(例如音频及/或计时文本)的表示。
图1为绘示实例系统10的框图,实例系统10实施用于经由网络来流式处理媒体数据的技术。在此实例中,系统10包含内容准备装置20、服务器装置60及客户端装置40。客户端装置40及服务器装置60通过网络74以通信方式耦合,网络74可包括因特网。在一些实例中,内容准备装置20及服务器装置60还可通过网络74或另一网络而耦合,或可直接以通信方式耦合。在一些实例中,内容准备装置20及服务器装置60可包括同一装置。
在图1的实例中,内容准备装置20包括音频源22及视频源24。音频源22可包括例如麦克风,麦克风产生表示待由音频编码器26编码的所捕获音频数据的电信号。替代地,音频源22可包括存储先前记录的音频数据的存储媒体、例如计算机化合成器的音频数据产生器,或任何其它音频数据源。视频源24可包括:视频相机,其产生待由视频编码器28编码的视频数据;存储媒体,其编码有先前记录的视频数据;视频数据产生单元,例如计算机图形源;或任何其它视频数据源。内容准备装置20未必在所有实例中均以通信方式耦合至服务器装置60,但可将多媒体内容存储至由服务器装置60读取的单独媒体。
原始音频及视频数据可包括模拟或数字数据。模拟数据可在由音频编码器26及/或视频编码器28编码之前被数字化。音频源22可在通话参与者正在说话时从通话参与者获得音频数据,且视频源24可同时获得通话参与者的视频数据。在其它实例中,音频源22可包括计算机可读存储媒体,其包括所存储的音频数据,且视频源24可包括计算机可读存储媒体,其包括所存储的视频数据。以此方式,本发明中所描述的技术可应用于实况、流式处理、实时音频及视频数据,或已存档的、预记录的音频及视频数据。
对应于视频帧的音频帧通常为含有由音频源22捕获(或产生)的音频数据的音频帧,所述音频数据同时伴随含于视频帧内的由视频源24捕获(或产生)的视频数据。举例来说,当通话参与者通常通过说话而产生音频数据时,音频源22捕获音频数据,且视频源24同时(即,在音频源22正捕获音频数据的同时)捕获通话参与者的视频数据。因此,音频帧在时间上可对应于一或多个特定视频帧。因而,对应于视频帧的音频帧通常对应于同时捕获到音频数据及视频数据且音频帧及视频帧分别包括同时捕获到的音频数据及视频数据的情形。
在一些实例中,音频编码器26可对每一经编码音频帧中表示记录经编码音频帧的音频数据的时间的时间戳进行编码,且类似地,视频编码器28可对每一经编码视频帧中表示记录经编码视频帧的视频数据的时间的时间戳进行编码。在此类实例中,对应于视频帧的音频帧可包括:包括时间戳的音频帧及包括相同时间戳的视频帧。内容准备装置20可包括内部时钟,音频编码器26及/或视频编码器28可根据所述内部时钟产生时间戳,或音频源22及视频源24可使用所述内部时钟分别使音频数据及视频数据与时间戳相关联。
在一些实例中,音频源22可向音频编码器26发送对应于记录音频数据的时间的数据,且视频源24可向视频编码器28发送对应于记录视频数据的时间的数据。在一些实例中,音频编码器26可对经编码音频数据中的序列标识符进行编码以指示经编码音频数据的相对时间次序,但未必指示记录音频数据的绝对时间,且类似地,视频编码器28还可使用序列标识符来指示经编码视频数据的相对时间次序。类似地,在一些实例中,序列标识符可被映射或以其它方式与时间戳相关。
音频编码器26通常产生经编码音频数据的流,而视频编码器28产生经编码视频数据的流。每一个别数据流(无论音频还是视频)可被称为基本流。基本流为表示的单一经数字译码(可能经压缩)分量。举例来说,表示的经译码视频或音频部分可为基本流。基本流可在封装于视频文件内之前被转换成包化基本流(PES)。在相同表示内,可使用流ID来区分属于一个基本流的PES数据包与属于另一基本流的PES数据包。基本流的数据的基本单位为包化基本流(PES)数据包。因此,经译码视频数据通常对应于基本视频流。类似地,音频数据对应于一或多个相应基本流。
例如ITU-T H.264/AVC及即将到来的高效率视频译码(HEVC)标准的许多视频译码标准定义无错误位流的语法、语义及解码过程,所述无错误位流中的任一者符合特定配置文件或级别。视频译码标准通常并不指定编码器,但编码器具有保证所产生的位流对于解码器来说标准相容的任务。在视频译码标准的情境中,“配置文件”对应于算法、特征或工具及施加至算法、特征或工具的约束的子集。如例如H.264标准所定义,“配置文件”为由H.264标准指定的完整位流语法的子集。“级别”对应于解码器资源消耗(例如解码器存储器及计算)的限制,所述限制与图片分辨率、位速率及块处理速率相关。配置文件可通过profile_idc(配置文件指示符)值来发信,而级别可通过level_idc(级别指示符)值来发信。
举例来说,H.264标准认为,在由给定配置文件的语法所强加的界限内,仍然可能要求编码器及解码器的性能有较大变化,这取决于位流中的语法元素(例如经解码图片的指定大小)所取的值。H.264标准进一步认为,在许多应用中,实施能够处理特定配置文件内的语法的所有假设使用的解码器既不实际又不经济。因此,H.264标准将“级别”定义为强加于位流中的语法元素的值的约束的指定集合。这些约束可仅为对值的限制。替代地,这些约束可采取对值的算术组合(例如图片宽度乘以图片高度乘以每秒解码图片的数目)的约束的形式。H.264标准进一步规定,个别实施方案对于每一所支持配置文件可支持不同级别。
符合配置文件的解码器一般支持配置文件中所定义的所有特征。举例来说,作为译码特征,B图片译码在H.264/AVC的基线配置文件中不被支持,但在H.264/AVC的其它配置文件中被支持。符合级别的解码器应能够对不要求超出所述级别中所定义的限制的资源的任何位流进行解码。配置文件及级别的定义可对可解释性有帮助。举例来说,在视频发射期间,可针对整个发射会话协商及同意一对配置文件定义及级别定义。更具体地说,在H.264/AVC中,级别可定义对于需要处理的宏块的数目、经解码图片缓冲器(DPB)大小、经译码图片缓冲器(CPB)大小、垂直运动向量范围、每两个连续MB的运动向量的最大数目及B块是否可具有小于8×8像素的子宏块分区的限制。以此方式,解码器可确定解码器是否能够恰当地对位流进行解码。
在图1的实例中,内容准备装置20的封装单元30从视频编码器28接收包括经译码视频数据的基本流,且从音频编码器26接收包括经译码音频数据的基本流。在一些实例中,视频编码器28及音频编码器26可各自包含用于从经编码数据形成PES数据包的包化器。在其它实例中,视频编码器28及音频编码器26可各自与用于从经编码数据形成PES数据包的相应包化器介接。在另外的其它实例中,封装单元30可包含用于从经编码音频及视频数据形成PES数据包的包化器。
视频编码器28可以各种方式对多媒体内容的视频数据进行编码,以产生多媒体内容的各种位速率且具有各种特性的不同表示,所述特性是例如像素分辨率、帧速率、对各种译码标准的符合性、对各种译码标准的各种配置文件及/或配置文件级别的符合性、具有一或多个视图的表示(例如针对二维或三维回放),或其它此类特性。如本发明中所使用,表示可包括音频数据、视频数据、文本数据(例如用于隐藏字幕)或其它此类数据中的一者。表示可包含例如音频基本流或视频基本流的基本流。每一PES数据包可包含stream_id,其识别PES数据包所属的基本流。封装单元30负责将基本流汇编成各种表示的视频文件(例如段)。
封装单元30从音频编码器26及视频编码器28接收表示的基本流的PES数据包且从所述PES数据包形成对应网络抽象层(NAL)单元。在H.264/AVC(高级视频译码)的实例中,经译码视频段被组织成NAL单元,所述单元提供“网络友好”视频表示,其处理例如视频电话、存储、广播或流式处理的应用。NAL单元可被分类为视频译码层(VCL)NAL单元及非VCL NAL单元。VCL单元可含有核心压缩引擎,且可包含块、宏块及/或切片级别数据。其它NAL单元可为非VCL NAL单元。在一些实例中,一个时间实例中的经译码图片(通常被呈现为初级经译码图片)可含于存取单元中,所述存取单元可包含一或多个NAL单元。
非VCL NAL单元可尤其包含参数集NAL单元及SEI NAL单元。参数集可含有序列级别标头信息(在序列参数集(SPS)中)及不频繁改变的图片级别标头信息(在图片参数集(PPS)中)。对于参数集(例如PPS及SPS),不频繁改变的信息不需要针对每一序列或图片重复,因此可改善译码效率。此外,使用参数集可使得能够带外发射重要标头信息,从而避免对于用于抗错性的冗余发射的需要。在带外发射实例中,参数集NAL单元可在与其它NAL单元(例如SEI NAL单元)不同的信道上发射。
补充增强信息(SEI)可含有对于对来自VCL NAL单元的经译码图片样本进行解码并非必需,但可辅助与解码、显示、抗错性及其它目的相关的过程的信息。SEI消息可含于非VCL NAL单元中。SEI消息为一些标准规范的标准化部分,且因此对于标准相容的解码器实施方案并非始终是必选的。SEI消息可为序列级别SEI消息或图片级别SEI消息。一些序列级别信息可含于SEI消息中,例如SVC的实例中的可伸缩性信息SEI消息,及MVC中的视图可伸缩性信息SEI消息。这些实例SEI消息可传达关于例如操作点的提取及操作点的特性的信息。另外,封装单元30可形成清单文件,例如描述表示的特性的媒体呈现描述符(MPD)。封装单元30可根据可扩展标记语言(XML)来格式化MPD。
封装单元30可向输出接口32提供多媒体内容的一或多个表示的数据以及清单文件(例如MPD)。输出接口32可包括网络接口或用于对存储媒体进行写入的接口,例如通用串行总线(USB)接口、CD或DVD写入器或刻录机、至磁性或闪速存储媒体的接口,或用于存储或发射媒体数据的其它接口。封装单元30可向输出接口32提供多媒体内容的表示中的每一者的数据,所述输出接口可经由网络发射或存储媒体向服务器装置60发送所述数据。在图1的实例中,服务器装置60包含存储各种多媒体内容64的存储媒体62,每一多媒体内容包含相应清单文件66及一或多个表示68A至68N(表示68)。在一些实例中,输出接口32还可向网络74直接发送数据。
在一些实例中,表示68可被分成适配集。即,表示68的各种子集可包含相应共同特性集合,例如编码解码器、配置文件及级别、分辨率、视图数目、段的文件格式、可识别待与待解码及呈现(例如由扬声器)的表示及/或音频数据一起显示的文本的语言或其它特性的文本类型信息、可描述适配集中的表示的场景的相机角度或真实世界相机视角的相机角度信息、描述对于特定观众的内容适合性的分级信息,等等。
清单文件66可包含指示对应于特定适配集的表示68的子集以及所述适配集的共同特性的数据。清单文件66还可包含表示适配集的个别表示的个别特性(例如位速率)的数据。以此方式,适配集可提供简化的网络带宽适配。适配集中的表示可使用清单文件66的适配集元素的子代元素来指示。
服务器装置60包含请求处理单元70及网络接口72。在一些实例中,服务器装置60可包含多个网络接口。此外,服务器装置60的特征中的任一者或全部可在内容递送网络的其它装置(例如路由器、网桥、代理装置、交换机或其它装置)上实施。在一些实例中,内容递送网络的中间装置可高速缓冲存储多媒体内容64的数据,且包含大体上符合服务器装置60的那些组件的组件。一般来说,网络接口72经配置以经由网络74来发送及接收数据。
请求处理单元70经配置以从客户端装置(例如客户端装置40)接收对存储媒体62的数据的网络请求。举例来说,请求处理单元70可实施超文本传送协议(HTTP)版本1.1,如RFC 2616中R.Fielding等人于“Hypertext Transfer Protocol-HTTP/1.1”(NetworkWorking Group,IETF,1999年6月)中所描述。即,请求处理单元70可经配置以接收HTTP GET或部分GET请求,且响应于所述请求而提供多媒体内容64的数据。请求可指定表示68中的一者的段,例如使用段的URL。在一些实例中,所述请求还可指定段的一或多个字节范围,因此包括部分GET请求。请求处理单元70可经进一步配置以服务于HTTP HEAD请求以提供表示68中的一者的段的标头数据。在任何情况下,请求处理单元70可经配置以处理所述请求以向例如客户端装置40的请求装置提供所请求数据。
另外或替代地,请求处理单元70可经配置以经由例如eMBMS的广播或多播协议而递送媒体数据。内容准备装置20可用与所描述的方式大体上相同的方式创建DASH段及/或子段,但服务器装置60可使用eMBMS或另一广播或多播网络传送协议来递送这些段或子段。举例来说,请求处理单元70可经配置以从客户端装置40接收多播群组加入请求。即,服务器装置60可向包含客户端装置40的客户端装置通告与多播群组相关联的因特网协议(IP)地址,所述客户端装置与特定媒体内容(例如实况事件的广播)相关联。客户端装置40又可提交加入多播群组的请求。此请求可遍及网络74(例如构成网络74的路由器)而传播,使得致使所述路由器将去往与多播群组相关联的IP地址的流量引导至例如客户端装置40的订阅客户端装置。
如图1的实例中所绘示,多媒体内容64包含清单文件66,其可对应于媒体呈现描述(MPD)。清单文件66可含有不同替代表示68(例如具有不同质量的视频服务)的描述,且所述描述可包含例如表示68的编码解码器信息、配置文件值、级别值、位速率及其它描述性特性。客户端装置40可检索媒体呈现的MPD以确定如何存取表示68的段。
具体地说,检索单元52可检索客户端装置40的配置数据(未展示)以确定视频解码器48的解码能力及视频输出44的再现能力。配置数据还可包含由客户端装置40的用户选择的语言偏好、对应于由客户端装置40的用户设定的深度偏好的一或多个相机视角及/或由客户端装置40的用户选择的分级偏好中的任一者或全部。检索单元52可包括例如经配置以提交HTTP GET及部分GET请求的网页浏览器或媒体客户端。检索单元52可对应于由客户端装置40的一或多个处理器或处理单元(未展示)执行的软件指令。在一些实例中,关于检索单元52所描述的全部或部分功能性可在硬件或硬件、软件及/或固件的组合中实施,其中可提供必需的硬件以执行软件或固件的指令。
检索单元52可比较客户端装置40的解码及再现能力与由清单文件66的信息指示的表示68的特性。检索单元52可首先检索清单文件66的至少一部分以确定表示68的特性。举例来说,检索单元52可请求描述一或多个适配集的特性的清单文件66的部分。检索单元52可选择表示68的子集(例如适配集),所述子集具有客户端装置40的译码及再现能力可满足的特性。检索单元52接着可确定用于适配集中的表示的位速率,确定网络带宽的当前可用量,且从具有网络带宽可满足的位速率的表示中的一者检索段。
一般来说,较高位速率表示可产生较高质量的视频回放,而较低位速率表示可在可用网络带宽减少时提供足够质量的视频回放。因此,当可用网络带宽相对高时,检索单元52可从相对高位速率的表示检索数据,而当可用网络带宽较低时,检索单元52可从相对低位速率的表示检索数据。以此方式,客户端装置40可经由网络74流式处理多媒体数据,同时还适应网络74的改变的网络带宽可用性。
另外或替代地,检索单元52可经配置以根据例如eMBMS或IP多播的广播或多播网络协议来接收数据。在此类实例中,检索单元52可提交加入与特定媒体内容相关联的多播网络群组的请求。在加入多播群组之后,检索单元52可在无其它请求发出至服务器装置60或内容准备装置20的情况下接收多播群组的数据。当不再需要多播群组的数据时,检索单元52可提交离开多播群组的请求,例如以停止回放或将信道改变至不同多播群组。
网络接口54可接收选定表示的段的数据且将所述数据提供至检索单元52,检索单元又可将所述段提供至解封装单元50。解封装单元50可将视频文件的元素解封装成构成PES流,将所述PES流解包化以检索经编码数据,且取决于经编码数据为音频流还是视频流的部分(例如由流的PES数据包标头所指示)而向音频解码器46或视频解码器48发送经编码数据。音频解码器46对经编码音频数据进行解码,且向音频输出42发送经解码音频数据,而视频解码器48对经编码视频数据进行解码,且向视频输出44发送经解码视频数据,所述数据可包含流的多个视图。
视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52及解封装单元50各自可被实施为适用的多种合适处理电路中的任一者,合适处理电路是例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器28及视频解码器48中的每一者可包含于一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可被集成为组合式视频编码器/解码器(CODEC)的部分。同样,音频编码器26及音频解码器46中的每一者可包含于一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可被集成为组合式CODEC的部分。包含视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52及/或解封装单元50的设备可包括集成电路、微处理器及/或无线通信装置,例如蜂窝电话。
客户端装置40、服务器装置60及/或内容准备装置20可经配置以根据本发明的技术而操作。出于实例的目的,本发明关于客户端装置40及服务器装置60描述这些技术。然而,应理解,代替服务器装置60(或除服务器装置60之外),内容准备装置20还可经配置以执行这些技术。
封装单元30可形成NAL单元,所述NAL单元包括识别NAL单元所属的程序的标头,以及有效负载,例如音频数据、视频数据或描述NAL单元所对应的传送或程序流的数据。举例来说,在H.264/AVC中,NAL单元包含1字节标头及变化大小的有效负载。在其有效负载中包含视频数据的NAL单元可包括各种粒度级别的视频数据。举例来说,NAL单元可包括视频数据块、多个块、视频数据的切片,或视频数据的整个图片。封装单元30可从视频编码器28接收呈基本流的PES数据包的形式的经编码视频数据。封装单元30可使每一基本流与对应程序相关联。
封装单元30还可汇编来自多个NAL单元的存取单元。一般来说,存取单元可包括用于表示视频数据的帧以及对应于所述帧的音频数据(当此类音频数据可用时)的一或多个NAL单元。存取单元一般包含一个输出时间实例的所有NAL单元,例如一个时间实例的所有音频及视频数据。举例来说,如果每一视图具有20帧每秒(fps)的帧速率,那么每一时间实例可对应于0.05秒的时间间隔。在此时间间隔期间,同一存取单元(同一时间实例)的所有视图的特定帧可同时再现。在一个实例中,存取单元可包括一个时间实例中的经译码图片,其可被呈现为初级经译码图片。
因此,存取单元可包括共同时间实例的所有音频帧及视频帧,例如对应于时间X的所有视图。本发明还将特定视图的经编码图片称为“视图分量”。即,视图分量可包括在特定时间针对特定视图的经编码图片(或帧)。因此,存取单元可被定义为包括共同时间实例的所有视图分量。存取单元的解码次序未必与输出或显示次序相同。
媒体呈现可包含媒体呈现描述(MPD),所述MPD可含有不同替代表示(例如具有不同质量的视频服务)的描述,且所述描述可包含例如编码解码器信息、配置文件值及级别值。MPD为清单文件(例如清单文件66)的一个实例。客户端装置40可检索媒体呈现的MPD以确定如何存取各种呈现的电影片段。电影片段可位于视频文件的电影片段方框(moof方框)中。
清单文件66(其可包括例如MPD)可通告表示68的段的可用性。即,MPD可包含指示表示68中的一者的第一段变得可用时的挂钟时间的信息,以及指示表示68内的段的持续时间的信息。以此方式,客户端装置40的检索单元52可基于开始时间以及特定段之前的段的持续时间来确定每一段何时可用。
在封装单元30已基于所接收的数据将NAL单元及/或存取单元汇编成视频文件之后,封装单元30将视频文件传递至输出接口32以供输出。在一些实例中,封装单元30可将视频文件存储在本地,或经由输出接口32将视频文件发送至远程服务器,而非将视频文件直接发送至客户端装置40。输出接口32可包括例如发射器、收发器、将数据写入至例如光盘驱动器、磁性媒体驱动器(例如软盘驱动器)的计算机可读媒体的装置、通用串行总线(USB)端口、网络接口或其它输出接口。输出接口32将视频文件输出至计算机可读媒体,例如发射信号、磁性媒体、光学媒体、存储器、闪存驱动器或其它计算机可读媒体。
网络接口54可经由网络74接收NAL单元或存取单元,且经由检索单元52将NAL单元或存取单元提供至解封装单元50。解封装单元50可将视频文件的元素解封装成构成PES流,将所述PES流解包化以检索经编码数据,且取决于经编码数据为音频流还是视频流的部分(例如由流的PES数据包标头所指示)而向音频解码器46或视频解码器48发送经编码数据。音频解码器46对经编码音频数据进行解码,且向音频输出42发送经解码音频数据,而视频解码器48对经编码视频数据进行解码,且向视频输出44发送经解码视频数据,所述数据可包含流的多个视图。
根据本发明的技术,清单文件66可被修改成包含发信任何或全部表示68的段可用的“区块”的数目的属性。举例来说,清单文件66可表示包含如下文更详细地所论述的“@k”属性的MPD。此外,检索单元52及/或请求处理单元70可根据本发明的技术而配置以寻址段区块。具体地说,寻址方案可包含例如对段的区块使用简单编号模板(“$Number$”),或包含至少两个部分的分层寻址方案。第一部分可对应于对应段的完整段编号或对应段的时序信息。时序信息可指示例如将开始播放对应段的回放时间。第二部分可对应于区块的序数数值标识符。举例来说,分层寻址方案可使用“$Number$.$ChunkNumber$”格式或“$Time$.$ChunkNumber$”格式。
以此方式,客户端装置40表示用于检索媒体数据的装置的实例,所述装置包含一或多个处理器,一或多个处理器实施于电路中且经配置以进行以下操作:接收包含数据的清单文件,数据指示可用于媒体数据的表示的段的段区块的数目,段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;使用指示可用于段的区块的数目的数据来确定区块中的一者的标识符;及将指定区块中的一者的标识符的请求发送至服务器装置。
图2为更详细地绘示图1的检索单元52的组件的实例集合的框图。在此实例中,检索单元52包含eMBMS中间件单元100、DASH客户端110及媒体应用程序112。
在此实例中,eMBMS中间件单元100进一步包含eMBMS接收单元106、高速缓冲存储器104及服务器单元102。在此实例中,eMBMS接收单元106经配置以经由eMBMS接收数据,例如根据T.Paila等人在“FLUTE-File Delivery over Unidirectional Transport”(Network Working Group,RFC 6726,2012年11月)中所描述的单向传送文件递送(FileDelivery over Unidirectional Transport;FLUTE),其可于http://tools.ietf.org/html/rfc6726获得。即,eMBMS接收单元106可经由广播而从例如可充当BM-SC的服务器装置60接收文件。
当eMBMS中间件单元100接收文件的数据时,eMBMS中间件单元可将所接收的数据存储于高速缓冲存储器104中。高速缓冲存储器104可包括计算机可读存储媒体,例如闪速存储器、硬盘、RAM或任何其它合适存储媒体。
本地服务器单元102可充当DASH客户端110的服务器。举例来说,本地服务器单元102可将MPD文件或其它清单文件提供至DASH客户端110。本地服务器单元102可通告MPD文件中的段的可用性时间,以及可检索所述段的超链接。这些超链接可包含对应于客户端装置40的本地主机地址前缀(例如IPv4的127.0.0.1)。以此方式,DASH客户端110可使用HTTPGET或部分GET请求来向本地服务器单元102请求段。举例来说,对于可从链接http://127.0.0.1/rep1/seg3获得的段,DASH客户端110可构造包含针对http://127.0.0.1/rep1/seg3的请求的HTTP GET请求,且将所述请求提交至本地服务器单元102。本地服务器102可从高速缓冲存储器104检索所请求数据且响应于此类请求而将数据提供至DASH客户端110。
DASH客户端110可根据本发明的技术而配置以使用本发明的命名惯例来向代理服务器102请求段。同样,DASH客户端110可经配置以使用从代理服务器102接收的清单文件来确定段的名称,其中所述清单文件可发信可用于每一完整段的“区块”的数目,例如呈如下文更详细地所论述的“@k”属性的形式。类似地,代理服务器102还可根据本发明的技术而配置。
举例来说,DASH客户端110及代理服务器102可经配置以使用简单$Number$模板来命名段区块。替代地,DASH客户端110及代理服务器102可经配置以根据分层命名(或寻址)方案来命名段区块,所述方案可包含两个部分。第一部分可对应于对应段的完整段编号或对应段的时序信息。时序信息可指示例如将开始播放对应段的回放时间。第二部分可对应于特定完整段的区块的序数标识符。
图3为绘示实例多媒体内容120的元素的概念图。多媒体内容120可对应于多媒体内容64(图1),或对应于存储于存储媒体62中的另一多媒体内容。在图3的实例中,多媒体内容120包含媒体呈现描述(MPD)122及多个表示124A至124N(表示124)。表示124A包含任选标头数据126及段128A至128N(段128),而表示124N包含任选标头数据130及段132A至132N(段132)。为了方便起见,使用字母N来指明表示124中的每一者中的最末电影片段。在一些实例中,表示124之间可存在不同数目的电影片段。
MPD 122可包括与表示124分离的数据结构。MPD 122可对应于图1的清单文件66。同样,表示124可对应于图2的表示68。一般来说,MPD 122可包含大体上描述表示124的特性的数据,例如译码及再现特性、适配集、MPD 122所对应的配置文件、文本类型信息、相机角度信息、分级信息、特技模式信息(例如指示包含时间子序列的表示的信息),及/或用于检索远程周期(例如用于在回放期间将目标性通告嵌入至媒体内容中)的信息。
标头数据126(当存在时)可描述段128的特性,例如随机存取点(RAP,其也被称作流存取点(SAP))的时间位置、段128中的哪一者包含随机存取点、与段128内的随机存取点的字节偏移、段128的统一资源定位符(URL),或段128的其它方面。标头数据130(当存在时)可描述段132的类似特性。另外或替代地,此类特性可完全包含于MPD 122内。
段128、132包含一或多个经译码视频样本,其中的每一者可包含视频数据的帧或切片。段128的经译码视频样本中的每一者可具有类似特性,例如高度、宽度及带宽要求。此类特性可由MPD 122的数据描述,但此类数据在图3的实例中未加以绘示。MPD122可包含如3GPP规范所描述的特性,并且添加了本发明中所描述的发信信息中的任一者或全部。
段128、132中的每一者可与唯一统一资源定位符(URL)相关联。因此,段128、132中的每一者可使用流式处理网络协议(例如DASH)来独立地检索。以此方式,例如客户端装置40的目的地装置可使用HTTP GET请求来检索段128或132。在一些实例中,客户端装置40可使用HTTP部分GET请求来检索段128或132的特定字节范围。
根据本发明的技术,MPD 122可包含发信可用于特定段的段区块的数目的属性。举例来说,MPD 122可包含“@k”元素,如下文更详细地所论述。MPD 122可进一步发信待用以寻址段区块的命名方案(或寻址方案)。此类命名/寻址方案可基于序数信息及/或时序信息,如下文更详细地所论述。
图4为绘示实例视频文件150的元素的框图,实例视频文件可对应于表示的段,例如图3的段114、124中的一者。段128、132中的每一者可包含大致符合图4的实例中所绘示的数据的布置的数据。可以说视频文件150封装段。如上文所描述,根据ISO基本媒体文件格式及其扩展的视频文件将数据存储于一系列对象(被称为“方框”)中。在图4的实例中,视频文件150包含文件类型(FTYP)方框152、电影(MOOV)方框154、段索引(sidx)方框162、电影片段(MOOF)方框164及电影片段随机存取(MFRA)方框166。虽然图4表示视频文件的实例,但应理解,根据ISO基本媒体文件格式及其扩展,其它媒体文件可包含其它类型的媒体数据(例如音频数据、计时文本数据等等),其在结构上类似于视频文件150的数据。
文件类型(FTYP)方框152通常描述视频文件150的文件类型。文件类型方框152可包含识别描述视频文件150的最佳用途的规范的数据。文件类型方框152可替代地放置在MOOV方框154、电影片段方框164及/或MFRA方框166之前。
在一些实例中,段(例如视频文件150)可包含在FTYP方框152之前的MPD更新方框(未展示)。MPD更新方框可包含指示对应于包含视频文件150的表示的MPD待更新的信息,以及用于更新MPD的信息。举例来说,MPD更新方框可为待用以更新MPD的资源提供URI或URL。作为另一实例,MPD更新方框可包含用于更新MPD的数据。在一些实例中,MPD更新方框可紧接在视频文件150的段类型(STYP)方框(未展示)之后,其中STYP方框可定义视频文件150的段类型。下文更详细地所论述的图7提供关于MPD更新方框的额外信息。
在图4的实例中,MOOV方框154包含电影标头(MVHD)方框156、播放轨(TRAK)方框158及一或多个电影扩展(MVEX)方框160。一般来说,MVHD方框156可描述视频文件150的一般特性。举例来说,MVHD方框156可包含描述视频文件150最初创建的时间、视频文件150最后修改的时间、视频文件150的时间刻度、视频文件150的回放持续时间的数据,或大体上描述视频文件150的其它数据。
TRAK方框158可包含视频文件150的播放轨的数据。TRAK方框158可包含播放轨标头(TKHD)方框,其描述对应于TRAK方框158的播放轨的特性。在一些实例中,TRAK方框158可包含经译码视频图片,而在其它实例中,播放轨的经译码视频图片可包含于电影片段164中,其可由TRAK方框158及/或sidx方框162的数据参考。
在一些实例中,视频文件150可包含多于一个播放轨。因此,MOOV方框154可包含数个TRAK方框,其数目等于视频文件150中的播放轨的数目。TRAK方框158可描述视频文件150的对应播放轨的特性。举例来说,TRAK方框158可描述对应播放轨的时间及/或空间信息。当封装单元30(图3)包含视频文件(例如视频文件150)中的参数集播放轨时,类似于MOOV方框154的TRAK方框158的TRAK方框可描述参数集播放轨的特性。封装单元30可发信序列级别SEI消息在描述参数集播放轨的TRAK方框内的参数集播放轨中的存在。
MVEX方框160可描述对应电影片段164的特性,例如以发信视频文件150除包含于MOOV方框154(如果存在)内的视频数据之外还包含电影片段164。在流式处理视频数据的情境中,经译码视频图片可包含于电影片段164中,而非包含于MOOV方框154中。因此,所有经译码视频样本可包含于电影片段164中,而非包含于MOOV方框154中。
MOOV方框154可包含数个MVEX方框160,其数目等于视频文件150中的电影片段164的数目。MVEX方框160中的每一者可描述电影片段164中的对应者的特性。举例来说,每一MVEX方框可包含电影扩展标头方框(MEHD)方框,其描述电影片段164中的对应者的时间段。
如上文所指出,封装单元30可存储视频样本中的序列数据集,其并不包含实际经译码视频数据。视频样本可大体上对应于存取单元,其为特定时间实例下的经译码图片的表示。在AVC的情境中,经译码图片包含一或多个VCL NAL单元,其含有用以构造存取单元及其它相关联非VCL NAL单元的所有像素的信息(例如SEI消息)。因此,封装单元30可在电影片段164中的一者中包含序列数据集,其可包含序列级别SEI消息。封装单元30可进一步发信存在于电影片段164中的一者中的序列数据集及/或序列级别SEI消息在对应于电影片段164中的一者的MVEX方框160中的一者内的存在。
SIDX方框162为视频文件150的任选元素。即,符合3GPP文件格式或其它此类文件格式的视频文件未必包含SIDX方框162。根据3GPP文件格式的实例,SIDX方框可用以识别段(例如含于视频文件150内的段)的子段。3GPP文件格式将子段定义为“具有对应媒体数据方框及含有由电影片段方框参考的数据的媒体数据方框的一或多个连续电影片段方框的自含式集合必须跟在所述电影片段方框之后,且在含有关于同一播放轨的信息的下一电影片段方框之前”。3GPP文件格式还指示SIDX方框“含有对由方框记录的(子)段的子段的一系列参考。所参考的子段在呈现时间上相连。类似地,段索引方框涉及的字节在段内始终相连。所参考大小给出所参考材料中的字节的数目的计数。”
SIDX方框162一般提供表示包含于视频文件150中的段的一或多个子段的信息。举例来说,此类信息可包含子段开始及/或结束的回放时间、子段的字节偏移、子段是否包含(例如开始于)流存取点(SAP)、SAP的类型(例如SAP是否为瞬时解码器刷新(IDR)图片、清洁随机存取(CRA)图片、断链存取(BLA)图片等等)、SAP在子段中的位置(就回放时间及/或字节偏移来说)等等。
电影片段164可包含一或多个经译码视频图片。在一些实例中,电影片段164可包含一或多个图片群组(GOP),其中的每一者可包含数个经译码视频图片,例如帧或图片。另外,如上文所描述,在一些实例中,电影片段164可包含序列数据集。电影片段164中的每一者可包含电影片段标头方框(MFHD,图4中未展示)。MFHD方框可描述对应电影片段的特性,例如电影片段的序号。电影片段164可按序号的次序包含于视频文件150中。
MFRA方框166可描述视频文件150的电影片段164内的随机存取点。这可辅助执行特技模式,例如执行对由视频文件150封装的段内的特定时间位置(即,回放时间)的寻道。在一些实例中,MFRA方框166通常是任选的且无需包含于视频文件中。同样,客户端装置(例如客户端装置40)未必需要参考MFRA方框166来正确地对视频文件150的视频数据进行解码及显示。MFRA方框166可包含数个播放轨片段随机存取(TFRA)方框(未展示),其数目等于视频文件150的播放轨的数目,或在一些实例中等于视频文件150的媒体播放轨(例如非提示播放轨)的数目。
在一些实例中,电影片段164可包含一或多个流存取点(SAP),例如IDR图片。同样,MFRA方框166可提供对SAP在视频文件150内的位置的指示。因此,视频文件150的时间子序列可由视频文件150的SAP形成。时间子序列还可包含其它图片,例如取决于SAP的P帧及/或B帧。时间子序列的帧及/或切片可布置于段内,使得时间子序列的取决于子序列的其它帧/切片的帧/切片可被正确地解码。举例来说,在数据的分层布置中,用于其它数据的预测的数据还可包含于时间子序列中。
图5为绘示常规段供应项目及具有较短段的供应项目的实例的概念图。即,图5绘示实例常规段供应项目180及具有较短段的实例供应项目190。如图5中所展示,较短段可减少回放启动延迟。
在常规DASH供应项目中,例如常规段供应项目180中,供应具有相同粒度的段182A、182B、182C以准许交换、随机存取及递送。段182A、182B、182C包含相应随机存取点(RAP)184A、184B、184C,所述随机存取点允许位流交换,例如在表示之间的交换。由于内容产生器(例如图1的内容准备装置20)可能需要在发布之前产生完整段182A、182B、182C,故段182A、182B、182C的段可用性开始时间(SAST)仅在产生了段182A、182B、182C中的完整相应段后才可用。具有较短段190的供应项目包含段192A至192K,且仅段192A、192G包含相应RAP 194A、194B。就此类较短段来说,段可能较早可用,且可减少总体延迟。
然而,对于常规段供应项目180及具有较短段的供应项目190两者,SAST以及段地址URL需要以紧密方式产生于MPD中且在其中发信,而无需频繁MPD更新或不必要地限制译码。可针对较小段使用段时间线的精确持续时间(下文参看图6),但这可引起诸多MPD更新以及复杂发信及可能存在的模糊发信。由于视频中的预测链,不能确定精确呈现持续时间(且因此不能确定地址)。
图6为绘示经由常规段供应项目200及具有较短段的供应项目210可用的段的统一资源定位符(URL)地址的概念图。在此实例中,常规段供应项目200包含段202A、202B、202C,所述段各自包含相应RAP 204A、204B、204C。具有较短段的供应项目210包含段212A至212K,且仅段212A及212G分别包含RAP 214A、214B。
如图6中所展示,使用较短段供应项目可能会使较短段的呈现持续时间难以确定,且因此所述段的URL地址也可能难以确定。因此,使用精确段持续时间的$Time$寻址可能不切实际。
图7为绘示可根据本发明的技术发信的数据的实例集合的概念图。图7绘示实例常规段供应项目220及具有段序列及$Number$属性的供应项目230。常规段供应项目220包含段222A、222B、222C,所述段各自包含相应RAP 224A、224B、224C。在此实例中,具有段序列及$Number$属性的供应项目230包含段232A至232P,且段232A、232G、232L包含相应RAP 234A、234B、234C。
本发明的技术大体上涉及发信例如媒体呈现描述(MPD)文件的清单文件中的属性,所述属性指定包含于段序列中的段的数目。举例来说,对于MPD文件,“@k”属性可添加至MPD文件中的段时间线的S元素中。
如图7的实例中所展示,针对具有段序列及$Number$属性的供应项目230发信属性。具体地说,在图7中的具有段序列及$Number$属性的供应项目230的实例中,如下发信属性集合:
媒体=“http://ab.com/$Time$_$SubNumber$.m4s”,S(t=1000;d=1000;k=6),S(t=2010;d=1000;k=5;r=1)
图1的客户端装置40可通过使用$Number$模板来简单地增大段编号,如图7中所展示。即,图1的客户端装置40可通过使段编号逐“1”递增来寻址(例如在例如HTTP GET或部分GET请求的请求中指定)较短段中的每一者。在图7的实例中,例如,常规段供应项目220的段222A对应于具有较短段的供应项目230的段232A至232F,常规段供应项目220的段222B对应于具有较短段的供应项目230的段232G至232K,且常规段供应项目220的段222C对应于具有较短段的供应项目230的段232L至232P。
在此实例中,根据递增命名方案来命名段232A至232P,其中段的名称对应于后接“.m4s”的编号。举例来说,段232A被命名为“2.m4s”,段232B被命名为“3.m4s”等等。图1的客户端装置40(且具体地说,检索单元52)可使用对应段的名称来指定段232A至232P中的所要标识符。例如为了检索段232A,客户端装置40可向服务器装置60发送指定URL:“ab.com/2.m4s”的请求。此段命名方案(或寻址方案)对于某些使用案例有效,这是因为段编号仅增加1。因此,这将适用于例如单向传送实时对象递送(Real-Time Object Delivery overUnidirectional Transport;ROUTE)的高级电视系统委员会(ATSC)。此方案也不需要更新DASH中的模板方案。
对于其它使用案例,此基于简单编号的发信可能并不足够。原因在于其对于$Time$并不起作用,或在常规供应项目与低延时供应项目一起提供的使用案例中段编号分散。基于这些论述及$Time$,分层编号对于基于$Number$及$Time$两者的发信可能有益。
图8绘示根据本发明的技术针对段使用分层编号的技术的实例。在此实例中,常规段供应项目240包含段242A、242B、242C,所述段中的每一者包含相应RAP 244A、244B、244C。在此实例中,具有段序列的供应项目250包含分层识别的段,即,段252A至252P,且段252A、252G、252L包含相应RAP 254A、254B、254C。
在图8的实例中,使用分层发信方案来寻址较短段252A至252P。具体地说,在图8的实例中,常规段供应项目240的段242A对应于具有段序列的供应项目250的段252A至252F(在此实例中被命名为“2_1.m4s”至2_6.m4s”),常规供应项目240的段242B对应于具有段序列的供应项目250的段252G至252K(在此实例中被命名为“3_1.m4s”至“3_5.m4s”),且常规供应项目240的段242C对应于具有段序列的供应项目250的段252L至252P(在此实例中被命名为“4_1.m4s”至“4_5.m4s”)。在此实例中,段242A、242B、242C分别被命名为“2.m4s”、“3.m4s”及“4.m4s”。以此方式,命名方案可以说是分层的,原因在于段252A至252P以两部分形式命名:第一部分表示段242A至242C中的对应者的名称,且第二部分表示段序列内对应于段242A至242C中的同一者的段252A至252P的相对次序。
因此,常规段供应项目240的段242A至242C中的每一者可具备具有段序列的供应项目250的对应段序列。段252A至252P可通过请求(例如使用HTTP GET或部分GET请求)指定后接“M_N.m4s”的基本URL的URL来寻址,其中“M”表示段242A至242C中的对应者的名称,且“N”表示段序列中对应于段242A至242C中的一者的段的序数标识符。因此,为了检索段252J,客户端装置40可确定段252J对应于段242B,且为段序列中的第四段。因此,客户端装置40可发送指定“ab.com/3_4.m4s”的请求以检索段252J。
以此方式,分层发信可使得能够在单一MPD中部署不同大小的段并且能够进行简单交换。以此方式,分层发信还可避免对于段序列中的段的持续时间的精确发信的需要。
图9绘示根据本发明的技术针对段使用分层编号的技术的另一实例。在此实例中,常规供应项目的段可能可由表示持续时间的信息寻址,而非通过段编号来寻址段。在此实例中,常规段供应项目260包含段262A至262C,所述段各自包含相应RAP 264A、264B、264C。根据相应段的持续时间外加先前段的累计持续时间来命名段262A至262C。在此实例中,段262A具有1010的持续时间,且段262B具有1000的持续时间。此外,段262A跟在具有1000的总段持续时间的一或多个段之后。因此,段262A被命名为“1000.m4s”,段262B被命名为“2010.m4s”(1000+1010),且段262C被命名为“3010.m4s”(2010+1000)。
具有段序列的供应项目270包含较短段272A至272P。然而,在此实例中,段272A至272P可能可由持续时间分量及子编号分量寻址。持续时间分量可表示常规段供应项目260中的段262A至262C中的对应者的名称,如上文所论述。子编号分量可表示具有段序列的供应项目270的段272A至272P中的一者的段编号。
因此,在图9的实例中,常规段供应项目260的段262A(被命名为“1000.m4s”)对应于具有段序列的供应项目270的段272A至272F(分别被命名为“1000_1.m4s”至“1000_6.m4s”),常规段供应项目260的段262B(被命名为“2010.m4s”)对应于具有段序列的供应项目270的段272G至272K(分别被命名为“2010_1.m4s”至“2010_5.m4s”),且常规段供应项目260的段262C(被命名为“3010.m4s”)对应于具有段序列的供应项目270的段272L至272P(分别被命名为“3010_1.m4s”至“3010_5.m4s”)。
因此,客户端装置40可基于这些段的累计持续时间来确定段262A至262C的名称,如上文所论述。此外,客户端装置40可通过确定段262A至262C中的对应者的名称、接着确定段序列内对应于段262A至262C中的一者的段272A至272P中的一者的位置来确定段272A至272P的名称/标识符。举例来说,图1的客户端装置40可通过确定常规段供应项目260中的对应段262B的名称为“2010.m4s”且确定段272J为段序列中对应于段262B的第四段来确定段272J的名称为“2010_4.m4s”。为了请求段272J,客户端装置40可因此提交将“ab.com/2010_4.m4s”指定为段272J的URL的HTTP GET或部分GET请求。
图9的实例的一个潜在优点在于同一表示中的下一段序列(例如对应于段262B的段序列)的最早呈现时间可根据由段序列中的所有媒体段的级联产生的当前段序列的最早呈现(1000)与段的持续时间的总和推导。在ISO BMFF的情况下,这可通过对段序列中的段的播放轨运行求和来实现。
以此方式,客户端装置40可使用包含第一部分及第二部分的两部分命名方案来寻址较短段供应项目的段。第一部分可表示常规段供应项目240的对应段242A至242C的段编号(根据图8的实例),或常规段供应项目260的对应段262A至262C的时序信息(根据图9的实例)。时序信息可指示例如将开始播放对应段的回放时间。第二部分可表示简单数值递增(根据图8及9的实例)。具体地说,两部分命名方案可分别被称作“$Number$.$Chunk$”及“$Time$.$Chunk$”。替代地,两部分命名方案可分别被称作“$Number$.$ChunkNumber$”及“$Time$.$ChunkNumber$”。
因此,使用DASH的装置(例如图1的客户端装置40、服务器装置60及内容准备装置20)可经配置以使用本发明的技术来进行以下操作:处理(例如形成或分析及解释)包含本文中所论述的数据的清单文件,所述数据是例如指示较短段供应项目中可用的段“区块”的数目的属性(例如属性“@k”);以及根据本文中所论述的技术中的任一者或全部使用上文所提及的清单文件的属性来寻址段。
对于ISO/IEC 23009-1中指定的DASH的实例,DASH的章节5.3.9.4.4可如下文所展示加以修改,其中由开始及末尾加号“||+>||”及“||+<||”包围的文本表示添加且由开始及末尾减号“->”及||-<||”包围的文本表示移除,其它部分保持不变。
5.3.9.4.4基于模板的段URL构造
SegmentTemplate@media属性、SegmentTemplate@index属性、SegmentTemplate@initialization属性及SegmentTemplate@bitstreamSwitching属性各自含有可含有表16中所列出的标识符中的一或多个的字符串。
在每一URL中,来自表16的标识符将由表16中所定义的替代参数替换。标识符匹配为大小写有关的。如果URL含有未封闭有效标识符的未转义$符号,那么URL形成的结果不确定。在此情况下,预期到,DASH客户端忽略含有表示元素的整体,且如同此表示元素并不存在一般继续MPD的处理。标识符的格式也在表16中加以指定。
每一标识符可在封闭『$』字符内被加后缀,其中额外格式标记对准IEEE 1003.1-2008[10]中所定义的printf格式标记,遵循以下原型:
%0[宽度]d
宽度参数为提供待打印字符的最小数目的无正负号整数。如果待打印值短于此数目,那么将使用零来填补结果。即使结果较大,也不截断所述值。
媒体呈现将经创作使得替代过程的应用产生有效的段URL。
根据RFC 3986,标识符外的字符串将仅含有URL内准许的字符。
表16—URL模板的标识符
改变5.3.9.6段时间线(SISSI改变||+>||6||+<||||->||5||-<||)
5.3.9.6.1通则
SegmentTimeline元素表达表示中的每一段的最早呈现时间及呈现持续时间(单位是基于@timescale属性)。用途是替代提供@duration属性且提供三个额外特征:
●任意段持续时间的规范,
●一个媒体流的精确段持续时间的规范,其中持续时间表达段的呈现持续时间,及
●特定表示中不存在段数据的媒体呈现时间线的不连续性的发信。
●发信段序列的能力。更多详情请参看5.3.9.6.4。
将仅在使用中的配置文件明确准许时使用段序列。
针对紧密性,此元素的语法包含运行长度压缩以表达具有恒定持续时间的段的序列。
SegmentTimeline元素将含有S元素的列表,所述元素中的每一者描述具有相同MPD持续时间的相连段的序列。S元素含有指定MPD持续时间的必选@d属性、指定相同MPD持续时间减一的相连段的编号的任选@r重复计数属性及任选@t时间属性。@t属性的值减去@presentationTimeOffset的值来指定系列中第一段的MPD开始时间。
当不存在时,@r属性具有默认值零(即,系列中只有单一段)。举例来说,重复计数三意味着存在四个相连段,每一段具有相同MPD持续时间。S元素的@r属性的值可被设定为负值,其指示允许在@d中指示的持续时间重复至下一S元素的S@t,或如果其为SegmentTimeline元素中的最末S元素,那么重复至周期结束或MPD的下一更新,即,其以与完整周期的@duration属性相同的方式被处理。
任何@d值不应超过MPD@maxSegmentDuration的值。
SegmentTimeline元素内的S元素的文本次序将与对应媒体段的编号(且因此,时间)次序匹配。
在SegmentTemplate处于使用中且SegmentTemplate@media中存在$Time$标识符时,那么:
●如果存在段索引(『sidx』)方框,那么SegmentTimeline的值将描述每一媒体段的精确时序。具体地说,这些值将反映提供于段索引(『sidx』)方框中的信息,即:
○@timescale的值将与第一『sidx』方框中的时间刻度的值相同,
○S@t的值将与S中所描述的媒体段的第一『sidx』方框中的earliest_presentation_time的值相同,
○S@d的值将与S中所描述的媒体段的第一『sidx』方框中的所有Subsegment_duration字段的值的总和相同。
○如果不存在段索引(『sidx』)方框,那么最早呈现时间的推导将基于媒体内部数据。详情取决于使用中的段格式且可应用对段格式的另外限制。
○媒体段的段URL是通过由从SegmentTimeline获得的最早呈现时间替换$Time$标识符而获得。
注释由于同一表示中的下一媒体段的最早呈现时间可从实际媒体段推导,例如通过使用段索引,故可在不读取含有对段时间线的更新的经更新MPD的情况下产生段URL。
段时间线的属性及元素的语义提供于5.3.9.6.2,表17中。段时间线的XML语法提供于5.3.9.6.3中。
5.3.9.6.2语义
表17—SegmentTimeline元素的语义
5.3.9.6.3 XML语法
段时间线中的段序列可通过包含SegmentTimeline的S元素中的@k属性来发信。@k将仅在满足所有以下要求的情况下存在:
●相关联表示的寻址方案使用具有如5.3.9.6.5中所定义的$Number$或分层模板及子编号的段模板,
●配置文件明确允许使用段序列。
如果@k存在且大于1,那么其指定由@d描述的序列在时序方面是精确的,但含有@k段。
段的MPD持续时间被确定为@d的值除以@k的值且确定MPD开始时间且因此确定段可用性开始时间。应注意,段的MPD持续时间并不需要与段的媒体持续时间完全匹配。
段序列中的所有段的级联应具有根据@d的值的精确段持续时间。
5.3.9.6.5分层模板及子编号
如果段模板含有$SubNumber$值且使用对于段序列的段时间线发信,那么
●如果$Time$存在,那么针对段序列中的所有段使用段序列的最早呈现时间替换$Time$,
●如果$Number$存在,那么使用段序列的编号替换$Number$,即,如同段时间线中的每一段序列被处理为单一段一般使用所述编号,
●且在两种情况中,$SubNumber$替换段序列的段编号,其中1为序列中的第一段的编号。
注释同一表示中的下一段序列的最早呈现时间可根据由段序列中的所有媒体段的级联产生的当前段序列的最早呈现与段的持续时间的总和推导。在ISO BMFF的情况下,这可通过对段序列中的段的播放轨运行求和来实现。||+<||
图10为绘示根据本发明的技术的传送(发送及接收)媒体数据的实例方法的流程图。图10的方法被描述为由图1的服务器装置60及客户端装置40执行。然而,应理解,额外或替代装置可经配置以执行此方法或类似方法。举例来说,内容准备装置20可与服务器装置60结合或代替服务器装置60来执行归因于服务器装置的方法的部分。
首先,服务器装置60可确定媒体数据的段的区块的可用性(300)。举例来说,服务器装置60可确定媒体数据的表示或适配集的多个段中的每一者的区块的数目。服务器装置60接着可指定清单文件中的可用性数据(302),例如媒体呈现描述(MPD)。举例来说,如上文所论述,服务器装置60可发信清单文件的段时间线元素中的S元素的“@k”元素。@k元素可表示包含于段序列中的段的数目。段的此数目可被理解为段的区块,且段序列可与对应段的区块的序列相对应。服务器装置60接着可例如响应于来自客户端装置40的针对清单文件的请求而向客户端装置40发送清单文件(304)。
客户端装置40可接收清单文件(306)。客户端装置40接着可根据清单文件来确定区块可用性数据(308)。举例来说,客户端装置40的检索单元52(图1)可从清单文件提取“@k”元素以确定段中的区块的数目。客户端装置40接着可使用区块的可用性数据来确定区块的标识符(310)。举例来说,如上文关于图8及9所论述,客户端装置40可确定区块的两部分标识符:第一部分表示常规段供应项目中的对应段的名称(如上文所论述,其可为序数标识符或基于持续时间的标识符),且第二部分表示对应于所述段的区块的序列中的区块的序数标识符(也如上文所论述)。
在确定待检索的区块的标识符之后,客户端装置40可发送指定区块的标识符的请求(312)。举例来说,客户端装置40可构造HTTP GET或部分GET请求,其将区块的标识符指定为请求的URL的部分。客户端装置40接着可向服务器装置60发送请求。
服务器装置60接着可接收请求(314)。服务器装置60可使用请求中指定的标识符(例如区块的URL)来确定所请求区块(316)。服务器装置60接着可向客户端装置40发送所请求区块(318)。
客户端装置40接着又可接收区块(320)且解码及呈现区块的媒体数据(322)。举例来说,解封装单元50(其替代地被称作文件处理或分析单元)可从区块提取经编码媒体数据,且取决于媒体数据的类型而将经编码媒体数据发送至音频解码器46或视频解码器48。音频解码器46/视频解码器48可解码媒体数据,且将经解码媒体数据发送至音频输出42/视频输出44以供呈现。
以此方式,图10的方法表示方法的实例,所述方法包含:接收包含数据的清单文件,数据指示可用于媒体数据的表示的段的段区块的数目,段包括具有唯一统一资源定位符(URL)的可独立检索媒体文件;使用指示可用于段的区块的数目的数据来确定区块中的一者的标识符;及将指定区块中的一者的标识符的请求发送至服务器装置。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体;或通信媒体,其包含例如根据通信协议促进计算机程序从一处传送至另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置、闪速存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。此外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是涉及非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘使用激光以光学方式重现数据。以上各者的组合也应包含于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或结合在组合式编码解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或IC集合(例如芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。更确切地说,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适的软件及/或固件来提供所述单元。
已描述了各种实例。这些及其它实例在所附权利要求书的范围内。
Claims (62)
1.一种检索媒体数据的方法,所述方法包括:
接收包含属性的清单文件,所述属性指示可用于媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
使用指示可用于所述段的区块的所述数目的所述属性来确定所述区块中的一者的标识符;及
将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
2.根据权利要求1所述的方法,其中指示段区块的所述数目的所述属性是@k属性。
3.根据权利要求1所述的方法,其中确定所述区块中的所述一者的所述标识符包括根据所述段区块的$Number$模板来确定所述标识符。
4.根据权利要求1所述的方法,其中确定所述区块中的所述一者的所述标识符包括根据分层寻址方案来确定所述标识符。
5.根据权利要求4所述的方法,其中所述分层寻址方案指定所述标识符的第一部分及第二部分。
6.根据权利要求5所述的方法,其中所述第一部分指定所述段的数值标识符。
7.根据权利要求5所述的方法,其中所述第一部分指定所述段的时序信息。
8.根据权利要求7所述的方法,其中所述时序信息指示将开始播放所述段的回放时间。
9.根据权利要求5所述的方法,其中所述第二部分指定所述区块中的所述一者的序数标识符。
10.根据权利要求1所述的方法,其中发送所述请求包括发送HTTP GET请求或HTTP部分GET请求中的一者。
11.根据权利要求1所述的方法,其中所述段区块作为包括具有相应URL的多个段的段序列而提供,所述方法进一步包括根据URL模板来确定所述URL。
12.根据权利要求1所述的方法,其中所述清单文件并不表达所述段区块的精确段持续时间。
13.根据权利要求1所述的方法,其中确定所述标识符包括确定所述标识符而不确定所述段区块的持续时间。
14.根据权利要求1所述的方法,其进一步包括使用所述清单文件的数据来确定所述段区块的段可用性开始时间,所述数据指示所述段的所述开始时间、所述段的持续时间,及段区块的所述数目。
15.根据权利要求1所述的方法,其进一步包括:
根据所述清单文件来确定所述段的持续时间值;及
用所述持续时间值除以段区块的所述数目以确定所述段区块的持续时间值。
16.一种用于检索媒体数据的装置,所述装置包括一或多个处理器,所述一或多个处理器实施于电路中且经配置以进行以下操作:
接收包含属性的清单文件,所述属性指示可用于媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
使用指示可用于所述段的区块的所述数目的所述属性来确定所述区块中的一者的标识符;及
将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
17.根据权利要求16所述的装置,其中指示段区块的所述数目的所述属性是@k属性。
18.根据权利要求16所述的装置,其中所述一或多个处理器经配置以根据所述段区块的$Number$模板来确定所述标识符。
19.根据权利要求16所述的装置,其中所述一或多个处理器经配置以根据分层寻址方案来确定所述标识符。
20.根据权利要求19所述的装置,其中所述分层寻址方案指定所述标识符的第一部分及第二部分。
21.根据权利要求20所述的装置,其中所述第一部分指定所述段的数值标识符。
22.根据权利要求20所述的装置,其中所述第一部分指定所述段的时序信息。
23.根据权利要求22所述的装置,其中所述时序信息指示将开始播放所述段的回放时间。
24.根据权利要求20所述的装置,其中所述第二部分指定所述区块中的所述一者的序数标识符。
25.根据权利要求16所述的装置,其中为了发送所述请求,所述一或多个处理器经配置以发送HTTP GET请求或HTTP部分GET请求中的一者。
26.根据权利要求16所述的装置,其中所述段区块作为包括具有相应URL的多个段的段序列而提供,且其中所述一或多个处理器经进一步配置以根据URL模板来确定所述URL。
27.根据权利要求16所述的装置,其中所述清单文件并不表达所述段区块的精确段持续时间。
28.根据权利要求16所述的装置,其中所述一或多个处理器经配置以确定所述标识符而不确定所述段区块的持续时间。
29.根据权利要求16所述的装置,其中所述一或多个处理器经进一步配置以使用所述清单文件的数据来确定所述段区块的段可用性开始时间,所述数据指示所述段的所述开始时间、所述段的持续时间,及段区块的所述数目。
30.根据权利要求16所述的装置,其中所述一或多个处理器经进一步配置以进行以下操作:
根据所述清单文件来确定所述段的持续时间值;及
用所述持续时间值除以段区块的所述数目以确定所述段区块的持续时间值。
31.一种用于检索媒体数据的装置,所述装置包括:
用于接收包含属性的清单文件的装置,所述属性指示可用于媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
用于使用指示可用于所述段的区块的所述数目的所述属性来确定所述区块中的一者的标识符的装置;及
用于将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置的装置。
32.一种计算机可读存储媒体,其上存储有在执行时致使处理器进行以下操作的指令:
接收包含属性的清单文件,所述属性指示可用于媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
使用指示可用于所述段的区块的所述数目的所述属性来确定所述区块中的一者的标识符;及
将指定所述区块中的所述一者的所述标识符的请求发送至服务器装置。
33.根据权利要求32所述的计算机可读存储媒体,其中指示段区块的所述数目的所述属性是@k属性。
34.根据权利要求32所述的计算机可读存储媒体,其中致使所述处理器确定所述区块中的所述一者的所述标识符的所述指令包括致使所述处理器根据所述段区块的$Number$模板来确定所述标识符的指令。
35.根据权利要求32所述的计算机可读存储媒体,其中致使所述处理器确定所述区块中的所述一者的所述标识符的所述指令包括致使所述处理器根据分层寻址方案来确定所述标识符的指令。
36.根据权利要求35所述的计算机可读存储媒体,其中所述分层寻址方案指定所述标识符的第一部分及第二部分。
37.根据权利要求36所述的计算机可读存储媒体,其中所述第一部分指定所述段的数值标识符。
38.根据权利要求36所述的计算机可读存储媒体,其中所述第一部分指定所述段的时序信息。
39.根据权利要求38所述的计算机可读存储媒体,其中所述时序信息指示将开始播放所述段的回放时间。
40.根据权利要求36所述的计算机可读存储媒体,其中所述第二部分指定所述区块中的所述一者的序数标识符。
41.根据权利要求32所述的计算机可读存储媒体,其中致使所述处理器发送所述请求的所述指令包括致使所述处理器发送HTTP GET请求或HTTP部分GET请求中的一者的指令。
42.根据权利要求32所述的计算机可读存储媒体,其中所述段区块作为包括具有相应URL的多个段的段序列而提供,所述计算机可读存储媒体进一步包括致使所述处理器根据URL模板来确定所述URL的指令。
43.根据权利要求32所述的计算机可读存储媒体,其中所述清单文件并不表达所述段区块的精确段持续时间。
44.根据权利要求32所述的计算机可读存储媒体,其中致使所述处理器确定所述标识符的所述指令包括致使所述处理器确定所述标识符而不确定所述段区块的持续时间的指令。
45.根据权利要求32所述的计算机可读存储媒体,其进一步包括致使所述处理器使用所述清单文件的数据来确定所述段区块的段可用性开始时间的指令,所述数据指示所述段的所述开始时间、所述段的持续时间,及段区块的所述数目。
46.根据权利要求32所述的计算机可读存储媒体,其进一步包括致使所述处理器进行以下操作的指令:
根据所述清单文件来确定所述段的持续时间值;及
用所述持续时间值除以段区块的所述数目以确定所述段区块的持续时间值。
47.一种发送媒体数据的方法,所述方法包括:
产生包含属性的清单文件,所述属性指示可用于媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
将所述清单文件发送至客户端装置;
从所述客户端装置接收指定所述区块中的一者的标识符的请求;及
响应于所述请求将由所述标识符指示的所述区块中的所请求的区块发送至所述客户端装置。
48.根据权利要求47所述的方法,其中指示段区块的所述数目的所述属性是@k属性。
49.根据权利要求47所述的方法,其进一步包括将定义所述段区块的$Number$模板的数据发送至所述客户端装置,以致使所述客户端装置使用所述$Number$模板来确定所述区块中的所述一者的所述标识符。
50.根据权利要求47所述的方法,其进一步包括将定义分层寻址方案的数据发送至所述客户端装置,以致使所述客户端装置根据所述分层寻址方案来确定所述区块中的所述一者的所述标识符。
51.根据权利要求50所述的方法,其中所述分层寻址方案指定所述标识符的第一部分及第二部分。
52.根据权利要求51所述的方法,其中所述第一部分指定所述段的数值标识符。
53.根据权利要求51所述的方法,其中所述第一部分指定所述段的时序信息,其中所述时序信息指示将开始播放所述段的回放时间。
54.根据权利要求51所述的方法,其中所述第二部分指定所述区块中的所述一者的序数标识符。
55.一种用于发送媒体数据的服务器装置,所述服务器装置包括:
存储器,其经配置以存储清单文件及所述媒体数据;及
一或多个处理器,其实施于电路中且经配置以进行以下操作:
产生用以包含属性的所述清单文件,所述属性指示可用于所述媒体数据的表示的段的段区块的数目,其中,所述属性包含于媒体呈现描述MPD的SegmentTimeline元素的S元素中,并且其中所述段包括具有唯一统一资源定位符URL的可独立检索媒体文件;
将所述清单文件发送至客户端装置;
从所述客户端装置接收指定所述区块中的一者的标识符的请求;及
响应于所述请求将由所述标识符指示的所述区块中的所请求的区块发送至所述客户端装置。
56.根据权利要求55所述的装置,其中指示段区块的所述数目的所述属性是@k属性。
57.根据权利要求55所述的装置,其中所述一或多个处理器经配置以将定义所述段区块的$Number$模板的数据发送至所述客户端装置,以致使所述客户端装置使用所述$Number$模板来确定所述区块中的所述一者的所述标识符。
58.根据权利要求55所述的装置,其中所述一或多个处理器经配置以将定义分层寻址方案的数据发送至所述客户端装置,以致使所述客户端装置根据所述分层寻址方案来确定所述区块中的所述一者的所述标识符。
59.根据权利要求58所述的装置,其中所述分层寻址方案指定所述标识符的第一部分及第二部分。
60.根据权利要求59所述的装置,其中所述第一部分指定所述段的数值标识符。
61.根据权利要求59所述的装置,其中所述第一部分指定所述段的时序信息,其中所述时序信息指示将开始播放所述段的回放时间。
62.根据权利要求59所述的装置,其中所述第二部分指定所述区块中的一者的序数标识符。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662368099P | 2016-07-28 | 2016-07-28 | |
US62/368,099 | 2016-07-28 | ||
US15/661,789 | 2017-07-27 | ||
US15/661,789 US11617019B2 (en) | 2016-07-28 | 2017-07-27 | Retrieving and accessing segment chunks for media streaming |
PCT/US2017/044353 WO2018022984A1 (en) | 2016-07-28 | 2017-07-28 | Retrieving and accessing segment chunks for media streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109479158A CN109479158A (zh) | 2019-03-15 |
CN109479158B true CN109479158B (zh) | 2021-06-18 |
Family
ID=61010779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780044710.6A Active CN109479158B (zh) | 2016-07-28 | 2017-07-28 | 检索及存取用于媒体流式处理的段区块 |
Country Status (10)
Country | Link |
---|---|
US (2) | US11617019B2 (zh) |
EP (1) | EP3491827B1 (zh) |
JP (1) | JP7142626B2 (zh) |
KR (1) | KR102454839B1 (zh) |
CN (1) | CN109479158B (zh) |
BR (1) | BR112019001323A2 (zh) |
CA (1) | CA3029026A1 (zh) |
ES (1) | ES2854936T3 (zh) |
TW (1) | TWI780063B (zh) |
WO (1) | WO2018022984A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI599218B (zh) * | 2016-07-29 | 2017-09-11 | 元智大學 | 即時影音傳輸系統 |
GB201721847D0 (en) * | 2017-12-22 | 2018-02-07 | Telecom Paris Tech | Priority map for media files |
US20210021659A1 (en) * | 2018-04-06 | 2021-01-21 | Sony Corporation | Delivery apparatus, delivery method, and program |
US11146852B2 (en) * | 2018-05-11 | 2021-10-12 | Qualcomm Incorporated | Signaling missing sections of media data for network streaming in a segment |
US10674166B2 (en) | 2018-08-22 | 2020-06-02 | Purdue Research Foundation | Method and system for scalable video streaming |
US10893303B1 (en) | 2019-01-31 | 2021-01-12 | Amazon Technologies, Inc. | Streaming chunked media segments |
US11063997B1 (en) * | 2019-03-28 | 2021-07-13 | Amazon Technologies, Inc. | Higher order manifest data compression |
US10893310B1 (en) * | 2019-05-31 | 2021-01-12 | Amazon Technologies, Inc. | Managing playback bitrate selection |
GB2586442B (en) * | 2019-06-26 | 2024-03-27 | Univ Dublin City | A method and system for encoding and decoding to enable adaptive delivery of mulsemedia streams |
US11509949B2 (en) * | 2019-09-13 | 2022-11-22 | Disney Enterprises, Inc. | Packager for segmenter fluidity |
US11310303B2 (en) * | 2019-10-01 | 2022-04-19 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
US11228796B2 (en) * | 2020-01-07 | 2022-01-18 | Tencent America LLC | Pattern addressing for session-based dash operations |
US20210306703A1 (en) * | 2020-03-25 | 2021-09-30 | Qualcomm Incorporated | Determination of availability of chunks of data for network streaming media data |
US11445270B2 (en) * | 2020-04-15 | 2022-09-13 | Comcast Cable Communications, Llc | Content information for manifest determination |
US11533346B2 (en) * | 2021-01-05 | 2022-12-20 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
US11463746B2 (en) | 2021-02-12 | 2022-10-04 | Netflix, Inc. | Techniques for composite media storage and retrieval |
DE102021006419A1 (de) | 2021-12-30 | 2023-07-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein | Streaming-Techniken |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013163448A1 (en) * | 2012-04-26 | 2013-10-31 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
CN103460667A (zh) * | 2011-04-07 | 2013-12-18 | 高通股份有限公司 | 使用字节范围请求的视频数据的网络流 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8434135B2 (en) | 2010-06-11 | 2013-04-30 | Microsoft Corporation | Creating and launching a web application with credentials |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9357275B2 (en) | 2011-09-06 | 2016-05-31 | Qualcomm Incorporated | Network streaming of coded video data |
BR122015005194A2 (pt) * | 2012-06-28 | 2019-08-20 | Ericsson Ab | Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top |
US9294531B2 (en) * | 2012-07-12 | 2016-03-22 | Futurewei Technologies, Inc. | Signaling and processing content with variable bitrates for adaptive streaming |
US9584573B2 (en) * | 2012-08-29 | 2017-02-28 | Ericsson Ab | Streaming policy management system and method |
US9641906B2 (en) * | 2012-10-09 | 2017-05-02 | Sharp Kabushiki Kaisha | Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium |
US20140282792A1 (en) * | 2013-03-15 | 2014-09-18 | Cygnus Broadband, Inc. | Video streaming with buffer occupancy prediction based quality adaptation |
US9710469B2 (en) * | 2013-03-15 | 2017-07-18 | Comcast Cable Communications, Llc | Efficient data distribution to multiple devices |
CN105532013B (zh) * | 2013-07-12 | 2018-12-28 | 佳能株式会社 | 利用推送消息控制的自适应数据流传输方法 |
JPWO2015115171A1 (ja) | 2014-01-31 | 2017-03-23 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US9584577B2 (en) * | 2014-04-03 | 2017-02-28 | Cisco Technology, Inc. | Method for enabling use of HLS as a common intermediate format |
US9594482B2 (en) * | 2014-04-07 | 2017-03-14 | The Directv Group, Inc. | Method and system for transferring the display of content from a first device to a second device |
US9930427B2 (en) * | 2015-12-21 | 2018-03-27 | Comcast Cable Communications Management, Llc | Providing advanced playback and control functionality to video client |
-
2017
- 2017-07-27 US US15/661,789 patent/US11617019B2/en active Active
- 2017-07-28 BR BR112019001323A patent/BR112019001323A2/pt unknown
- 2017-07-28 ES ES17757592T patent/ES2854936T3/es active Active
- 2017-07-28 TW TW106125594A patent/TWI780063B/zh active
- 2017-07-28 CN CN201780044710.6A patent/CN109479158B/zh active Active
- 2017-07-28 WO PCT/US2017/044353 patent/WO2018022984A1/en active Search and Examination
- 2017-07-28 EP EP17757592.5A patent/EP3491827B1/en active Active
- 2017-07-28 JP JP2019504133A patent/JP7142626B2/ja active Active
- 2017-07-28 KR KR1020197002586A patent/KR102454839B1/ko active IP Right Grant
- 2017-07-28 CA CA3029026A patent/CA3029026A1/en active Pending
-
2023
- 2023-03-20 US US18/186,325 patent/US20230283863A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103460667A (zh) * | 2011-04-07 | 2013-12-18 | 高通股份有限公司 | 使用字节范围请求的视频数据的网络流 |
WO2013163448A1 (en) * | 2012-04-26 | 2013-10-31 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
Non-Patent Citations (1)
Title |
---|
MOTION PICTURE EXPERT GROUP.Draft Text of ISO/IEC 23009-1 3rd edition.《113. MPEG MEETING;19-10-2015 - 23-10-2015;GENEVA;(MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11)》.2015, * |
Also Published As
Publication number | Publication date |
---|---|
TW201806397A (zh) | 2018-02-16 |
ES2854936T3 (es) | 2021-09-23 |
EP3491827A1 (en) | 2019-06-05 |
CN109479158A (zh) | 2019-03-15 |
KR20190031490A (ko) | 2019-03-26 |
US20180035176A1 (en) | 2018-02-01 |
JP2019523600A (ja) | 2019-08-22 |
BR112019001323A2 (pt) | 2019-04-30 |
US11617019B2 (en) | 2023-03-28 |
CA3029026A1 (en) | 2018-02-01 |
EP3491827B1 (en) | 2020-11-18 |
US20230283863A1 (en) | 2023-09-07 |
JP7142626B2 (ja) | 2022-09-27 |
KR102454839B1 (ko) | 2022-10-13 |
TWI780063B (zh) | 2022-10-11 |
WO2018022984A1 (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109479158B (zh) | 检索及存取用于媒体流式处理的段区块 | |
CN110447234B (zh) | 用于处理媒体数据及产生位流的方法、装置及存储媒体 | |
US8806050B2 (en) | Manifest file updates for network streaming of coded multimedia data | |
CN112154672B (zh) | 一种检索媒体数据的方法、设备及可读存储介质 | |
KR102434300B1 (ko) | 샘플 엔트리들 및 랜덤 액세스 | |
JP2017528022A (ja) | ネットワークを介して交換されたファイルのためのエラー処理 | |
CN109644282B (zh) | 用于媒体数据流式处理的补充增强信息轨迹的系统级发信 | |
CN110870282A (zh) | 使用网络内容的文件轨处理媒体数据 | |
KR102434299B1 (ko) | 샘플 엔트리들 및 랜덤 액세스 | |
CN112771876B (zh) | 检索媒体数据的方法和设备以及发送媒体数据的方法和设备 | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
US20210344992A1 (en) | Calculating start time availability for streamed media data |
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 |