CN107925669B - 一种消息交互的方法和提供媒体服务的系统 - Google Patents
一种消息交互的方法和提供媒体服务的系统 Download PDFInfo
- Publication number
- CN107925669B CN107925669B CN201780002442.1A CN201780002442A CN107925669B CN 107925669 B CN107925669 B CN 107925669B CN 201780002442 A CN201780002442 A CN 201780002442A CN 107925669 B CN107925669 B CN 107925669B
- Authority
- CN
- China
- Prior art keywords
- media
- media representation
- representation description
- server
- description
- 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
Images
Classifications
-
- 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
- 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
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/752—Media network packet handling adapting media to network capabilities
-
- 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/80—Responding to QoS
-
- 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/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种使用超文本传输协议上的动态自适应流(Dynamic Adaptive Streaming over HTTP,DASH)的多媒体流服务的方法及系统。根据本方法,从客户端到服务器发送一个或多个推送指令,以指示与请求的媒体数据相关的信息。每个推送指令包括推送类型和推送速率指令,推送类型包括推送速率,推送速率指令包括与与请求的媒体数据相关的推送数据速率相关的信息。如果推送速率指令由服务器接收,则从服务器向客户端,根据推送数据速率,推送一个或多个数据组,以用于请求的媒体数据。根据另一方法,使用分段媒体表示描述,其中至少一个分段媒体表示描述没有媒体表示描述头、媒体表示描述有效载荷、阶段头或者阶段有效载荷。在又一方法中,状态消息组包括分享资源分配(SharedResourceAllocation)消息,其包括带宽参数和步调速率参数。
Description
优先权声明
本申请要求在2016年01月28日提出申请号为62/287,929的美国临时专利申请、在2016年02月04日提出申请号为62/291,027的美国临时专利申请以及2016年06月08日提出申请号为62/347,396的美国临时专利申请的优先权。上述美国临时专利申请整体以引用方式并入本文中。
技术领域
本发明涉及关于互联网的媒体流(media streaming)。具体地,本发明涉及一种提高与媒体流相关的网络效率和/或服务质量。
背景技术
超文本传输协议(HyperText Transfer Protocol,HTTP)为一标准集,其允许万维网(World Wide Web)的用户交换网页(web page)上找到的信息。目前已经解决了互联网访问的标准。来自于各开发者的浏览器均支持HTTP作为通信协议,以将客户端连接到互联网上的Web服务器。通过HTTP,用户与服务器之间的连接可以被建立,使得超文本标记语言(HyperText Markup Language,HTML)也可以被发送至用户的浏览器。这个协议也可以用于从服务器下载文件到浏览器或者使用HTTP的任何其他请求应用。
近年来,关于互联网的视频流已成为一个重要应用。目前,视频流有助于互联网流量最大化。各种多媒体流协议已被广泛地使用,且这些协议中的一些基于HTTP。关于HTTP的动态自适应流(Dynamic Adaptive Streaming over HTTP,DASH),也称为MPEG-DASH,是一种适应比特率流技术,其基于传统的HTTP Web服务器使能在互联网上进行媒体内容传输。
根据HTTP 1.1(R.Fielding,et al.,“Hypertext Transfer Protocol–HTTP/1.1”,IETF(Internet Engineering Task Force)RFC 2616,June 1999),Web服务被公开为配对的请求/响应数据流和基于客户端/服务器模型的应用,用HTTP 1.1的DASH流具有相同的原理,其意味着DASH客户端发送MPD/段请求至DASH服务器,DASH服务器返回所请求的MPD/段(segment)作为响应。多个响应对应于多个请求,并且如果没有请求则没有响应。根据DASH,媒体表示描述(Media Presentation Description,MPD)为用于媒体展现的规范化描述,以用于提供流服务。
HTTP/2(M.Belshe,et al.,“Hypertext Transfer Protocol Version 2(HTTP/2)”,IETF(Internet Engineering Task Force)RFC 7540,May 2015)或者用WebSocket(I.Fette,et al.,“The WebSocket Protocol”,IETF RFC6455,December 2011)升级的HTTP 1.1支持HTTP服务器推送(push)。这个机制是服务器可以向客户端发送非请求数据(unsolicited data)。技术上,这意味着单个请求可以接收多个响应。
MPEG DASH标准(即ISO/IEC 23009族)已发展到其第二版本,以用于ISO/IEC23009-1的第1部分(“Dynamic adaptive streaming over HTTP(DASH)–Part 1:Mediapresentation description and segment formats”,ISO/IEC 23009-1,May 2014)。当前,第1部分的第三版本正在进行中。这个标准指定了MPD和媒体段格式(media segmentformat)。对于DASH流服务,授权内容(authored content)通常具有与之相关联的相应的MPD文件。DASH客户端先请求MPD文件以用于客户端打算消费的内容,然后基于MPD中的描述来请求媒体段。这样的请求/响应模型是用于目前流应用的基础部分。DASH标准的第6部分–关于兼容全双工HTTP协议(Full Duplex HTTP-compatible Protocols,FDH)的DASH已发行了第三版本的工作草案(“Working Draft for 23009-6:DASH over Full Duplex HTTP-compatible Protocols (FDH)”,N15685,October 2015,Geneva,Switzerland)。ISO/IEC23009的第6部分指定了关于兼容全双工HTTP协议的MPEG-DASH媒体展现的承载,特别是HTTP/2和WebSocket。
在这个工作草案中,几个推送指令(push directive)已被定义以用于客户端与服务器之间的消息传送(messaging),以支持用于DASH流应用的HTTP服务器推送。使用服务器推送的视频流的整个流程如图1所示。通信流程集在服务器与客户端之间被使用,以方便媒体流。如图1所示,在客户端侧110,在步骤111中,客户端请求MPD,其包括MPD统一资源定位符(Uniform Resource Locator,URL)和推送指令(Push Directive)。在Web服务器侧120,服务器在步骤121中接收MPD请求,并在步骤122中发送MPD,其包括推送确认(Pushacknowledgement)和MPD。在步骤112中,客户端接收新MPD。在步骤123中,服务器也发送初始化数据,在步骤113中,客户端接收初始化数据。随后,在步骤114中,客户端请求段,其包括段统一资源定位符和推送指令。在步骤124中,服务器接收段请求,并在步骤125中发送段,其包括推送确认和其后的段。在步骤115中,客户端接收新的段,并在步骤116中基于接收的段播放视频。通过返回到步骤114以形成循环,客户端可以请求更多的段。
推送指令发信客户端希望服务器使用的推送策略,以用于传输一个或多个未来段。推送指令具有一个类型,其后是与其关联的参数。现有的推送类型包括:推送-下一个(Push-next)、推送-时间(Push-time)、推送-模板(Push-template)和推送-无(Push-none)。
MPD可以具有“静态”类型或者“动态”类型,静态类型通常与按需式(on-demand)流服务一起使用,静态MPD是用于整个相关内容的描述。如果客户端选择消费,则一次获取MPD用于请求一个完整长度的内容。动态类型用于实时服务,动态MPD可以是用于具有与事件时间线一起的所要求的更新的实时内容的进展描述(progressed description)。在这种情况中,由于更新的MPD可以包括未来内容描述,为了继续表示(representation)播放,客户端需要MPD的更新版本的阶段请求。这个表示对应于以传输格式并与描述性的元数据(metadata)相关联的一个或多个媒体流的集合和封装。
通常,为了支持自适应流服务,MPD文件包括分层部分,例如基础MPD设置、阶段(Period)、适应集(Adaptation Set)、表示(Representation)和段。一旦接收MPD,DASH客户端可以根据个人喜好和网络动态,选择MPD中所描述的具有给定时间线和给定ID的表示、适应集和阶段中的媒体内容段。MPD中的段统一资源定位符可以是以具有SegmentBase和BaseURL的SegmentList和/或SegmentTemplate。MPD文件尺寸可以随着MPD中最终阶段的数量、阶段内适应集的数量、适应集中表示的数量以及表示中段的数量变化而变化。这些数量越大,MPD文件尺寸越大。但是,当段统一资源定位符可以用SegmentTemplate,即以标准中所指定的$Time$或者$Number$来表达时,可以具有合理尺寸的MPD文件,请注意,使用SegmentList仅可以产生较大尺寸的MPD文件,例如,两个小时的电影内容。实际上,当提供更好的自适应流服务时,如下可以被希望或者要求以与MPD一起。
·多个阶段
·更多适应集
·更多表示
·更小尺寸的段
·编辑与友好的内容/广告插入
·受控回放与实施
关于服务器与网络辅助的DASH(server and network assisted DASH,SAND)(“Text of ISO/IEC FDIS 23009-5Server and Network Assisted DASH”,w16230,June2016,Geneva,Switzerland)的DASH标准在DASH客户端与网络单元(network element)之间或者各种网络单元之间引进了消息,以为了提高流会话(streaming session)的效率的目的。为了增强DASH内容的传输,SAND消息提供关于网络、服务器、代理服务器、高速缓存器、内容传输网络(Content Delivery Network,CDN)的实时可操作特性以及DASH客户端的性能及状态的信息。在SAND架构中,下面定义了四种类型的消息,以用于DASH客户端与DASH感知网络单元(DASH Aware Network Element,DANE)之间的交互。
·在DANE之间交互的参数增强传输(Parameters Enhancing Delivery,PED)消息,
·从DANE发送到DASH客户端的参数增强接收(Parameters EnhancingReception,PER)消息,
·从DASH客户端发送到DANE的状态消息,
·从DASH客户端发送到度量(Metrics)服务器的度量消息。
图2示出了DASH客户端220与DANE210和212之间的消息交互的示例。这个系统也包括度量服务器230。这些消息和流方向被表示出。
发明内容
本发明还公开了一种消息交互的方法,其用于使用超文本传输协议从服务器到客户端控制与多媒体流服务相关的流。根据本方法,从客户端到服务器发送媒体表示描述请求,以请求媒体服务。响应于客户端的媒体表示描述请求,服务器发送一个或多个媒体表示描述分段。每个媒体表示描述分段对应于一个分段媒体表示描述,其包括一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头、一个阶段有效载荷及其组合,并且至少一个分段媒体表示描述省略一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头或者一个阶段有效载荷。从服务器向客户端发送用于与媒体表示描述分段相关的媒体数据的一个或多个数据组。随后,客户端回放数据组以用于接收的媒体数据。
用于当前媒体表示描述分段的新媒体表示描述属性@CurrentMediaPresentationDuration可以被发信以指示分段媒体表示描述的使用,其中新媒体表示描述属性指定当前媒体表示描述分段的持续时间。当MPD@type等于“动态”时,服务器可以在一个媒体表示描述分段中提供媒体表示描述更新。当MPD@type等于“静态”时,来自于服务器的宣称的媒体表示描述可以对应于第一媒体表示描述分段,并且第一媒体表示描述分段用作根媒体表示描述。用于与新媒体表示描述属性相关的元素位置Location的拓展描述可以由内容授权者或者服务器使用,以指示一个或多个媒体表示描述分段可用的位置。通过使用分段媒体表示描述与用于基于媒体表示描述分段的灵活控制粒度的其他受控回放描述或者实施,分段媒体表示描述可以由内容授权者或者服务器使用以编辑、广告插入和受控回放中的至少一个。分段媒体表示描述也可以由内容授权者或者服务器使用,以最初提供在视频长度方面提供具有数量有限的段内容描述的一个或多个媒体表示描述分段。
附图说明
图1是使用服务器推送的视频流的整个流程的示例,其中通信流程集在服务器与客户端之间被使用以方便媒体流。
图2是DASH客户端与DANE之间的消息交互的示例。
图3是用于使用MEPG-2TS的按需式视频流的MPD文件的示例。
图4是根据本发明实施例的仅具有MPD头的分段MPD(fragmented MPD)的示例。
图5是根据本发明实施例的仅具有MPD有效载荷的分段MPD的示例。
图6是根据本发明实施例的仅具有阶段头的分段MPD的示例。
图7是根据本发明实施例的仅具有阶段有效载荷的分段MPD的示例。
图8是根据本发明实施例的包括用于控制与使用DASH从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。
图9是根据本发明实施例的包括用于控制与使用HTTP从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。
图10是根据本发明实施例的包括用于控制与使用SAND从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。
具体实施方式
以下描述为实施本发明的较佳方式。本描述的目的在于阐释本发明的一般原理,并非起限定意义。本发明的保护范围当视权利要求书所界定为准。
通过HTTP 1.1中的请求/响应的性质,流速率步调或者App层流控制可以在客户端侧。通过由媒体引擎请求需求与使用率方面的段数据,具有智能的DASH客户端应该有效地使用网络带宽。但是,当服务器推送使用于具有第6部分(即,“Working Draft for 23009-6:DASH over Full Duplex HTTP-compatible Protocols(FDH)”,N15685,October 2015,Geneva,Switzerland)的DASH流中时,由于没有推送指令指示客户端希望服务器使用的推送速率,在用推送策略提出请求之后,DASH客户端可能损失或者部分损失速率步调或者App层流控制。例如,虽然如果适用,其可以由HTTP协议流控制来覆盖,但是客户端发送具有推送-下k个段的推送指令段请求,然后是服务器以未指定的速率发送下k个段,以用于给定流和连接。
使用服务器推送可以节省很多HTTP请求和网络往返时间;使用速率步调或者App层流控制机制来优化网络资源的使用,是有益的。本发明公开了一种新的推送指令,其可以被添加到第6部分的当前工作草案中以允许客户端指定推送速率,以用于HTTP/2或者WebSocket协议中的协议层流控制的顶端上的流或者连接。
所公开的新的推送指令使用工作草案中增强的Backus-Naur形式(AugmentedBackus-Naur Form,ABNF)中的相同格式,如下:
PUSH_DIRECTIVE=PUSH_TYPE“,”PUSH_PARAMS
新的推送指令类型为“urn:mpeg:dash:fdh:2016:push-rate”,并且推送指令参数为“R”,例如每秒的字节数。通常R被定义成给定网络(例如TCP)连接中的流上的时间窗口上的最小发送数据尺寸。这意味着在这个推送速率处,将存在足够的数据以用于请求客户端来消费。当响应于推送速率请求时,DASH服务器可以选择使用发送速率O来推送数据,其中O>=R。如果推送速率指令与分量请求(component request)一起被使用,或者所有分量的聚合(aggregation)与MPD请求一起被使用,则R可以被指定用于内容分量。这个聚合可以是以向量的形式,例如[R1,R2,R3],其中R1、R2和R3可以分别对应于分量1、分量2和分量3。例如视频、音频和文本数据。根据本发明实施例的示例性推送指令如表1所示,其中如下,新的推送指令类型被添加到其他已有的推送指令类型中,其具有用于工作草案的PushDirective的固定值,
表1
换句话说,作为推荐的参数或者提示,R可以由DASH服务器来使用,作为发送速率的下限,而无需考虑即时传输的其他因子,其意味着如果服务器至少以这个速率R推送数据,则DASH客户端将具有足够的数据以用于可能的光滑的表示播放。兼容的DASH服务器应尊重这样的设置并请求与DASH客户端一起工作以实现所需的速率步调或者App层流控制。
为了将所提出的推送速率指令应用到DASH流服务上,DASH客户端可以考虑使用网络统计、当前数据速率和来自于客户端视角的其他信息,以生成推送速率R为各个速率之和或者等值:
R=Rd+Ru+Re (1)
在上述等式中,Rd为当前所请求的内容数据速率,Ru为网络不确定性,例如网络状态的估计错误,Re为“其他因子”,例如不可预测的风险。R与由推送-时间指令、推送-下条指令或者推送-模板指令所指定的范围相关。当这个范围中存在所指示的表示切换时,Rd可以被设置成这个范围中最大数据率的相应表示。
当DASH服务器接收推送速率指令与所指定的推送速率R时,可以考虑计算所请求的数据尺寸或者记录相应时间窗口上的推送数据段尺寸来以发送速率O进行操作,发送速率O可以以相似的方式被计算成各个速率之和或者等值:
O=Rr+Rn+Rs+Ro (2)
在上述等式中,Rr为计算的或者记录的数据速率;Rn为反映从服务器视角的网络动态的速率,例如封包开销;Rs为基于接收的R的偏移量,例如R=Rd+Rs;Ro为基于用于流控制速率Rp的网络协议设置的偏移量,例如Rp=R+Rn+Ro。对应受信和兼容的DASH客户端与服务器,Rr和Rd相等,使得R可以被表示成:
R=Rr+Rs
因此,等式(2)可以被写成:
O=R+Rn+Ro。 (3)
发送速率O由R≤O≤Rp限定。因此,DASH服务器可以选择O作为数据推送速率以响应于DASH客户端请求。
在一个实施例中,通过解析接收的MPD文件,DASH客户端已知当前内容数据速率Rd。网络不确定性Ru可以被设置成Rd的3%;其他因子Re可以被设置成Rd的另外2%;并且推送速率R变成:
R=Rd+Rd·5%=Rd·105%。
特殊情况,R可以被设置成等于Rd。
在另一实施例中,对于DASH服务器,可以根据获取的数据文件尺寸或记录的推送数据尺寸计算Rr。得到的Rr是必需的,以保证服务器以所允许的速率O≥R进行操作。Rn可以被设置成Rr的8%或者R。等式(3)中的Ro可以被设置成0,以最大化所提出方法的性能。因此,可以得到:
O=R+R·8%=R·108%。
通常DASH服务器能基于推送速率信息建立更好的复用方案。在本发明中,通过以所提出方法的形式这样做,效果是两倍的。除了施加在DASH服务器上以优化连接内部或者跨连接的网络资源的使用的速率步调或者App层流控制之外,在不使用本发明提出的方法时将发生的接收很多“还不需要”数据之前,DANH客户端可以包括调整推送速率R的改变推送策略,和/或甚至以即时的方式取消服务器推送。后者还帮助优化网络资源的使用。
本发明也公开了MPD分段的使用以提高使用MPD的效率。下面将公开MPD分段的各个方面。
MPD分段
本发明的一方面,分段MPD文件被指定以支持上述特征,以用于更灵活且个性化的服务。分段MPD文件可以在按需式应用及实时流服务中使用。额外的好处也将在本发明中讨论。传统的MPD文件总是包括与相关联的媒体数据相关的完整描述。
使用网络术语,MPD文件可以被处理为两个部分:标识为MPD@id的MPD头和MPD有效载荷。分等级地,MPD包括由每个Period@id所标识的多个连续的阶段头和阶段有效载荷。MPD的分段被设计成包括如下所示的头(headers)和有效载荷的一个或者组合:
·MPD头
·MPD有效载荷
·阶段头
·阶段有效载荷
在一种情景中,客户端新接收的变化或者添加用@id来追踪。除非新的一个被接收,之前接收的MPD头或者阶段头保持使用。通常,阶段有效载荷可以包括一个或多个适应集。
图3示出了用于使用MEPG-2TS的按需式视频流的MPD文件的示例,其中包括具有MPD头和MPD有效载荷的MPD的完整长度文件。传统文件包括与媒体数据相关的所有必需信息。根据上述介绍用于本发明的术语MPD头、术语MPD有效载荷、术语阶段头和术语阶段有效载荷,等同的MPD分段被标识用于图3中的传统MPD文件。例如,对应于MPD头的这些代码行由参考数字310来标识。对应于阶段头的这些代码行由参数数字320来标识。对应于阶段有效载荷的这些代码行由参数数字330来标识。对应于MPD有效载荷的这些代码行由参数数字340来标识。如图3所示,用于阶段的有效载荷可以是MPD有效载荷的一部分。
分段MPD可以位于分别如图4到图7所示的组合中的一个中。在图4中,分段文件仅包含MPD头。在图5中,分段文件仅包含MDP有效载荷。在图6中,分段文件仅包含阶段头。在图7中,分段文件仅包含阶段有效载荷。具有MPD头的内容的第一MPD可以被考虑成根MPD(rootMPD)以用于内容。
用于MPD、阶段和适应集中的每层的注释@id对客户端存在,以追踪用于其接收的每单个分段MPD文件的MPD相关性。这样,如果选择这么做,客户端就应该能将这些接收到的MPD分段添加或者组装成如当前标准中一样的常规的完整长度的MPD文件。
用于分段MPD文件的发信与使用
在当前标准中,对于MPD@type=“dynamic”,MPD元素Location指定MPD的位置。MPD元素Location可以与minOccurs=“0”或者maxOccurs=“unbounded”一起存在。属性MPD@minimumUpdatePeriod的存在是一种指示,即MPD期待更新,并受时间设置的限制,这意味着MPD在实况业务期间内可以具有几个演变版本;否则,不期望MPD的更新。对于MPD@type=“static”,由于给定的MPD对整个内容可用,MPD元素Location、@minimumUpdatePeriod和其他相关设置将被忽略。下面将描述一种用于分段MPD文件的发信与使用的方法。
新的属性被定义成“@CurrentMediaPresentationDuration”,以用于分段MPD格式。标准中已有元素和属性可以与拓展描述一起使用。这些修改可以被添加到表3–ISO/IEC23009-1的子部分5.3.1.2中MPD元素的语义。示例修改如下面的表2所示。
表2
对于实况业务,用于MPD@type=”dynamic”的所有元素和属性可应用,因为其具有可用性和最小更新周期。当@currentMediaPresentationDuration存在时,内容授权者与服务器向先前MPD分段提供MPD更新,作为MPD分段(头和有效载荷中至少一个),这样,每个@minimumUpdatePeriod,客户端可以有效发送请求以用于先前MPD上的改变,而非随着时间而生长更大的先前MPD的新版本。实时事件结束后,如当前标准中指定,内容授权者或者服务器可以选择将MPD分段组装成完整MPD。
对于按需式服务,MPD@type=”static”,当@currentMediaPresentationDuration存在时,分段MPD被发信。在这种情况中,服务器所宣称的MPD为第一MPD分段,因此被称为根MPD。从请求根MPD开始,客户端可以请求MPD分段。
分段MPD的示例
下面将显示根据本发明实施例的分段MPD的示例。
1.MPD的曝光层的控制
内容授权者或者服务器可以决定在不同曝光层处使用元素Location来“转播”MPD分段。内容授权者或者服务器可以选择在根MPD中曝光MPD分段或者选择曝光MPD分段作为链接列表。可选地,内容授权者或者服务器可以在根MPD中曝光MPD分段,并曝光MPD分段作为链接列表。如当前标准中所指定,位于Location处MPD分段为完整MPD被考虑为一特殊情况。这样,MPD对客户端的曝光层可以在具有不同目的的内容授权者或者服务器的控制下。
2.编辑、广告插入和受控回放行为
内容授权者或者服务器可以使用分段MPD来创建更多机会以用于编辑和广告(Advertisement,Ad)插入。分段MPD可以与其他受控回放描述一起使用,并实施用于支持特技播放(trick play)和广告插入的灵活控制粒度。例如,每个MPD分段可以被分配与来自于受控回放描述的回放规则一起。分配的规则可以基于MPD分段而被改变。此外,服务器可以用MPD分段的等同的曝光(levelled exposure)来限制特技播放。
3.放弃率的考虑
统计上,在点击‘播放’之后,每秒钟大约6%的观众离开。在仅5秒-10秒之后,仅剩下80%的观看者。这样的放弃率与视频的长度有关。更短的视频通常比更长的视频更吸引人。平均30秒的视频被观看85%以上,而平均2分钟到10分钟的视频被观看平均50%以上。通常,放弃率随着视频长度而增大。
鉴于上述统计,内容授权者或者流服务器最初可以使用分段MPD,以根据本发明实施例在视频长度方面提供具有数量有限的段内容描述的MPD分段。在一些情况中,当段模板不在使用中时,MPD文件可以较大。这样,在客户端无需获取完整长度MPD的情景中,可以帮助优化网络资源。
4.通过解析MPD分段的服务器推送
在HTTP/2(“Hypertext Transfer Protocol Version 2(HTTP/2)”,IETF RFC7540,May 2015)或者具有WebSocket更新(“The WebSocketProtocol”,IETF RFC 6455,December 2011)的HTTP 1.1中支持HTTP服务器推送。这个机制是服务器可以发送非请求数据到客户端。可以节省很多HTTP请求和网络往返时间。用于23009-6的工作草案指定了关于全双工HTTP协议的MPEG-DASH媒体表示的承载,特别是HTTP/2和WebSocket。用分段MPD,加上一些HTTP提示或者推送指令(例如,指示数据速率或者分段ID的推送指令),具有MPD解析功能的DASH服务器可以整理MPD分段中的元数据,并推送相关内容段与客户端显性地请求MPD分段中的段之前客户端所请求的MPD。
在当前标准中所指定的SAND状态消息中,如表3所示,SharedResourceAllocation消息组合允许DASH客户端的所有信息,以向一个或多个DANE指示共享网络资源(例如,家庭网络中的访问链接带宽)的计划,其对应于“Text of ISO/IEC FDIS 23009-5Server andNetwork Assisted DASH”中的表4(“Text of ISO/IEC FDIS 23009-5Server and NetworkAssisted DASH”,W16230,June 2016,Geneva,Switzerland)。
表3
本发明公开了步调速率参数(pacing rate parameter)。步调速率参数可以用于表示客户端将期望的速率,以接收用于在相关操作点处工作的内容。文本变化的示例如表4所示,其中添加的文本如斜体所示。
表4
位于参数带宽‘bandwidth’上方的参数步调速率‘pacingRate’表示访问链接或者数据传输速率方面的喜好的客户端状态。DANE应使用用于服务的速率步调的这个状态信息,以优化网络和服务的质量。
图8示出了根据本发明实施例的包括用于控制与使用DASH从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。流程图中所示的步骤可以被实现为在服务器侧和客户端侧处的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中所示的步骤也可以基于硬件而被实现,例如,一个或多个电子设备或者处理器,其用于执行流程图中的步骤。根据本方法,在步骤810中,从客户端向服务器发送一个或多个推送指令,以指示与所请求的媒体数据相关的信息,其中每个推送指令包括自包括推送速率的推送类型组选择的推送类型,其中推送速率指令是选择推送速率作为推送类型的推送指令,并且这个推送速率指令包括与所请求的媒体数据相关的推送数据速率相关的信息。在步骤820中,如果推送速率指令由服务器接收,则根据推送数据速率,从服务器向客户端推送一个或多个数据组,以用于所请求的媒体数据。在步骤830中,客户端回放这一个或多个数据组,以用于所接收的媒体数据。
图9示出了根据本发明实施例的包括用于控制与使用HTTP从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。流程图中所示的步骤可以被实现为在服务器侧和客户端侧处的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中所示的步骤也可以基于硬件而被实现,例如,一个或多个电子设备或者处理器,其用于执行流程图中的步骤。根据本方法,在步骤910中,从客户端向服务器发送一MPD请求,以请求媒体服务。在步骤920中,来自于服务器的一个或多个MPD分段响应于客户端的MPD请求,其中每个MPD分段对应与一个分段MPD,其包括一个MPD头、一个MPD有效载荷、一个阶段头、一个阶段有效载荷及其组合,并且其中至少一个分段MPD省略一个MPD头、一个MPD有效载荷、一个阶段头或者一个阶段有效载荷。在步骤930中,从服务器向客户端发送一个或多个数据组,以用于与这一个或多个MPD分段相关的媒体数据。在步骤940中,客户端回放这一个或多个数据组,以用于所接收的媒体数据。
图10示出了根据本发明实施例的包括用于控制与使用SAND从服务器到客户端的多媒体流服务相关的流的消息交互的系统的示例流程图。流程图中所示的步骤可以被实现为在服务器侧和客户端侧处的一个或多个处理器(例如,一个或多个CPU)上可执行的程序代码。流程图中所示的步骤也可以基于硬件而被实现,例如,一个或多个电子设备或者处理器,其用于执行流程图中的步骤。根据本方法,在步骤1010中,从DASH客户端向一个或多个DANE发送一个或多个状态消息,以指示所请求的DASH客户端的状态,其中状态消息属于状态消息组,其包括分享资源分配(SharedResourceAllocation)消息,SharedResourceAllocation消息括参数带宽bandwidth和参数步调速率pacingRate。通过将DASH客户端使用的所有分量的带宽进行求和,与参数带宽bandwidth相关的带宽值自MPD计算,并且与参数步调速率pacingRate相关的步调速率值为DASH客户端期望的数据传输速率,以步调速率值来接收媒体数据。在步骤1020中,根据步调速率值,一个或多个DANE步调用于传输至DASH客户端的媒体数据的数据传输速率,以改善网络或者服务质量。在步骤1030中,客户端回放这一个或多个数据组,以用于所接收的媒体数据。
本发明所示的流程图用于示出根据本发明的用于媒体流的服务器与客户端之间的消息传送的示例。在不脱离本发明的精神的情况,本领域的技术人员可以修改每个步骤、重组这些步骤、将一个步骤进行分离或者组合这些步骤而实施本发明。
上述说明,使得本领域的普通技术人员能够在特定应用程序的内容及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是显而易见的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。
如上所述的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的一个实施例也可以是在数字信号处理器(Digital Signal Processor,DSP)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)所执行的若干函数。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的编程语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。
本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。
Claims (8)
1.一种消息交互的方法,其特征在于,用于使用超文本传输协议从服务器到客户端控制与多媒体流服务相关的流,该方法包括:
从该客户端到该服务器发送媒体表示描述请求,以请求媒体服务;
响应于该客户端的该媒体表示描述请求,发送一个或多个媒体表示描述分段,其中每个媒体表示描述分段对应于一个分段媒体表示描述,该一个分段媒体表示描述包括一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头、一个阶段有效载荷及其组合,并且至少一个分段媒体表示描述省略一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头或者一个阶段有效载荷;
从该服务器向该客户端发送用于与媒体表示描述分段相关的媒体数据的一个或多个数据组;以及
回放该一个或多个数据组以用于由该客户端接收的该媒体数据。
2.如权利要求1中所述的消息交互的方法,其特征在于,用于当前媒体表示描述分段的新媒体表示描述属性@CurrentMediaPresentationDuration被用信号发送以指示分段媒体表示描述的使用,其中该新媒体表示描述属性指定该当前媒体表示描述分段的持续时间。
3.如权利要求2中所述的消息交互的方法,其特征在于,当MPD@type等于“动态”时,该服务器在一个媒体表示描述分段中提供媒体表示描述更新。
4.如权利要求2中所述的消息交互的方法,其特征在于,当MPD@type等于“静态”时,来自于该服务器的宣称的媒体表示描述对应于第一媒体表示描述分段,并且该第一媒体表示描述分段用作根媒体表示描述。
5.如权利要求2中所述的消息交互的方法,其特征在于,用于与该新媒体表示描述属性相关的元素位置Location的拓展描述由内容授权者或者该服务器使用,以指示该一个或多个媒体表示描述分段可用的位置。
6.如权利要求2中所述的消息交互的方法,其特征在于,通过使用该分段媒体表示描述与其他受控回放描述或者实施,该分段媒体表示描述由内容授权者或者服务器使用以编辑、广告插入和受控回放中的至少一个或组合,以提供基于媒体表示描述分段的灵活控制粒度。
7.如权利要求2中所述的消息交互的方法,其特征在于,该分段媒体表示描述由内容授权者或者该服务器使用,以最初提供一个或多个媒体表示描述分段,其中该一个或多个媒体表示描述分段在视频长度方面提供具有数量有限的段内容描述。
8.一种提供媒体服务的系统,其特征在于,使用超文本传输协议,该系统包括:
至少一个服务器,用于提供媒体数据,其中每个服务器包括一个或多个第一处理器;
至少一个客户端设备,用于接收该媒体数据,其中每个客户端设备包括一个或多个第二处理器;
其中该一个或多个第一处理器和该一个或多个第二处理器用于:
从该至少一个客户端到该至少一个服务器发送媒体表示描述请求,以请求媒体服务;
响应于该至少一个客户端的该媒体表示描述请求,该至少一个服务器发送一个或多个媒体表示描述分段,其中每个媒体表示描述分段对应于一个分段媒体表示描述,该一个分段媒体表示描述包括一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头、一个阶段有效载荷及其组合,并且至少一个分段媒体表示描述省略一个媒体表示描述头、一个媒体表示描述有效载荷、一个阶段头或者一个阶段有效载荷;
从该至少一个服务器向该至少一个客户端发送用于与媒体表示描述分段相关的媒体数据的一个或多个数据组;以及
回放该一个或多个数据组以用于由该至少一个客户端接收的该媒体数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011565345.3A CN112738201A (zh) | 2016-01-28 | 2017-01-20 | 一种消息交互的方法和提供媒体服务的系统 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662287929P | 2016-01-28 | 2016-01-28 | |
US62/287,929 | 2016-01-28 | ||
US201662291027P | 2016-02-04 | 2016-02-04 | |
US62/291,027 | 2016-02-04 | ||
US201662347396P | 2016-06-08 | 2016-06-08 | |
US62/347,396 | 2016-06-08 | ||
PCT/CN2017/071820 WO2017129051A1 (en) | 2016-01-28 | 2017-01-20 | Method and system for streaming applications using rate pacing and mpd fragmenting |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011565345.3A Division CN112738201A (zh) | 2016-01-28 | 2017-01-20 | 一种消息交互的方法和提供媒体服务的系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107925669A CN107925669A (zh) | 2018-04-17 |
CN107925669B true CN107925669B (zh) | 2021-01-26 |
Family
ID=59397364
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780002442.1A Active CN107925669B (zh) | 2016-01-28 | 2017-01-20 | 一种消息交互的方法和提供媒体服务的系统 |
CN202011565345.3A Pending CN112738201A (zh) | 2016-01-28 | 2017-01-20 | 一种消息交互的方法和提供媒体服务的系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011565345.3A Pending CN112738201A (zh) | 2016-01-28 | 2017-01-20 | 一种消息交互的方法和提供媒体服务的系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11233868B2 (zh) |
CN (2) | CN107925669B (zh) |
TW (1) | TWI662839B (zh) |
WO (1) | WO2017129051A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107925669B (zh) | 2016-01-28 | 2021-01-26 | 联发科技股份有限公司 | 一种消息交互的方法和提供媒体服务的系统 |
MX2019014416A (es) * | 2017-06-02 | 2020-02-05 | Vid Scale Inc | Suministro de video en 360 grados a través de la red de próxima generación. |
JP7063985B2 (ja) * | 2017-10-03 | 2022-05-09 | ソニーグループ株式会社 | 上りリンクストリーミング向けのネットワーク支援 |
US10771842B2 (en) | 2018-04-09 | 2020-09-08 | Hulu, LLC | Supplemental content insertion using differential media presentation descriptions for video streaming |
CN110881018B (zh) * | 2018-09-05 | 2020-11-03 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
EP3661217A1 (en) | 2018-09-28 | 2020-06-03 | Comcast Cable Communications LLC | Per-segment parameters for content |
US20200112753A1 (en) * | 2018-10-03 | 2020-04-09 | Qualcomm Incorporated | Service description for streaming media data |
WO2020243533A1 (en) * | 2019-05-31 | 2020-12-03 | Apple Inc. | Systems and methods for performance data streaming, performance data file reporting, and performance threshold monitoring |
US11290514B2 (en) * | 2020-05-18 | 2022-03-29 | Tencent America LLC | Method for content preparation templates for 5G common media application format based media streaming |
CN113794898B (zh) * | 2021-08-13 | 2023-03-07 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
US11863607B2 (en) * | 2021-10-06 | 2024-01-02 | Netflix, Inc. | Techniques for client-controlled pacing of media streaming |
CN114092137A (zh) * | 2021-11-10 | 2022-02-25 | 北京淘友天下科技发展有限公司 | 一种推送方法、装置、电子设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102047640B (zh) * | 2008-05-28 | 2016-04-13 | 汤姆逊许可证公司 | 多个头的分层级集群化的对等现场流式传输系统 |
CN101753973B (zh) * | 2008-12-12 | 2013-01-02 | 华为技术有限公司 | 一种频道切换方法、装置和系统 |
WO2011100901A2 (zh) * | 2011-04-07 | 2011-08-25 | 华为技术有限公司 | 媒体内容的传输处理方法、装置与系统 |
US9258344B2 (en) * | 2011-08-01 | 2016-02-09 | Intel Corporation | Multi-hop single sign-on (SSO) for identity provider (IdP) roaming/proxy |
KR101874629B1 (ko) * | 2011-10-21 | 2018-07-05 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 서버로부터 클라이언트로 미디어 콘텐츠를 전달하기 위한 라디오 리소스 관리 개념 |
CN103139176B (zh) * | 2011-11-30 | 2016-02-17 | 中国联合网络通信集团有限公司 | 媒体业务推送方法、多媒体交换网和多媒体交换网设备 |
EP3506644B1 (en) | 2012-01-19 | 2020-12-30 | Vid Scale, Inc. | Methods and systems for video delivery supporting adaption to viewing conditions |
JP5974392B2 (ja) * | 2012-04-05 | 2016-08-23 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Isoベースメディアファイルフォーマットに基づく適応ストリーミングについてのセキュアな非同期イベント通知のためのシステム及び方法 |
US9954717B2 (en) * | 2012-07-11 | 2018-04-24 | Futurewei Technologies, Inc. | Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format |
EP2696552A1 (en) * | 2012-08-07 | 2014-02-12 | NTT DoCoMo, Inc. | Method, system and network for transmitting multimedia data to a plurality of clients |
CN104125516B (zh) * | 2013-04-24 | 2018-09-28 | 华为技术有限公司 | 媒体文件接收、媒体文件发送方法和装置及系统 |
CN104254109B (zh) * | 2013-06-25 | 2019-02-19 | 华为技术有限公司 | 用户设备、基站、流媒体自适应传输系统和方法 |
KR102024311B1 (ko) * | 2013-07-12 | 2019-09-23 | 캐논 가부시끼가이샤 | 푸시 메시지 제어를 이용하는 적응적 데이터 스트리밍 방법 |
US10476930B2 (en) * | 2014-01-06 | 2019-11-12 | Intel IP Corporation | Client/server signaling commands for dash |
US11310302B2 (en) | 2014-01-09 | 2022-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for streaming dash content over broadcast channels |
GB2527116B (en) | 2014-06-12 | 2017-09-20 | Canon Kk | Adaptative persistent push |
US10701119B2 (en) * | 2015-06-16 | 2020-06-30 | Apple Inc. | Adaptive video streaming using dynamic radio access network information |
CN107925669B (zh) | 2016-01-28 | 2021-01-26 | 联发科技股份有限公司 | 一种消息交互的方法和提供媒体服务的系统 |
-
2017
- 2017-01-20 CN CN201780002442.1A patent/CN107925669B/zh active Active
- 2017-01-20 CN CN202011565345.3A patent/CN112738201A/zh active Pending
- 2017-01-20 US US16/072,908 patent/US11233868B2/en active Active
- 2017-01-20 WO PCT/CN2017/071820 patent/WO2017129051A1/en active Application Filing
-
2018
- 2018-01-17 TW TW107101676A patent/TWI662839B/zh active
-
2021
- 2021-12-14 US US17/550,970 patent/US11652903B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI662839B (zh) | 2019-06-11 |
TW201828713A (zh) | 2018-08-01 |
CN107925669A (zh) | 2018-04-17 |
US20210105333A1 (en) | 2021-04-08 |
US11652903B2 (en) | 2023-05-16 |
US20220109737A1 (en) | 2022-04-07 |
CN112738201A (zh) | 2021-04-30 |
US11233868B2 (en) | 2022-01-25 |
WO2017129051A1 (en) | 2017-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107925669B (zh) | 一种消息交互的方法和提供媒体服务的系统 | |
JP6944485B2 (ja) | 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求 | |
Chen et al. | Real-time video and audio in the world wide web | |
JP4516082B2 (ja) | サーバからクライアントへのストリーミング | |
EP2870776B1 (en) | Methods and devices for bandwidth allocation in adaptive bitrate streaming | |
US20040268400A1 (en) | Quick starting video content | |
EP2704391B1 (en) | System and method for delivering an audio-visual content to a client device | |
Thomas et al. | Enhancing MPEG DASH performance via server and network assistance | |
CA2281440A1 (en) | Internet multimedia broadcast system | |
WO2011032431A1 (zh) | Http的媒体传输方法及装置 | |
WO2016174960A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
CA2550770A1 (en) | Method of transmitting content with adaptation of encoding characteristics | |
EP3285455A1 (en) | Content item aggregation method and related device and communication system | |
CN110832821B (zh) | 下载视听内容的方法和设备 | |
EP2408205A1 (en) | A video server, video client and method of scalable encoding video files | |
US10893315B2 (en) | Content presentation system and content presentation method, and program | |
US20200412784A1 (en) | Content delivery control apparatus, content delivery control method, program, and content delivery control system | |
EP3113442B1 (en) | Method and server for improving quality in adaptive streaming delivery systems | |
Bentaleb et al. | Toward One-Second Latency: Evolution of Live Media Streaming | |
US20200396491A1 (en) | Content delivery control apparatus, content delivery control method, program, and content delivery control system | |
KR101647104B1 (ko) | 하이브리드 전송 프로토콜 | |
WO2016174959A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
US20100029313A1 (en) | Method for managing communication channels, corresponding signal and terminal | |
Cruz et al. | A P2P streaming architecture supporting scalable media | |
Chung | Multimedia Streaming with MPEG-DASH |
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 |