CN108370281A - 流式传输内容的多播传送的数据速率适配 - Google Patents
流式传输内容的多播传送的数据速率适配 Download PDFInfo
- Publication number
- CN108370281A CN108370281A CN201580085031.4A CN201580085031A CN108370281A CN 108370281 A CN108370281 A CN 108370281A CN 201580085031 A CN201580085031 A CN 201580085031A CN 108370281 A CN108370281 A CN 108370281A
- Authority
- CN
- China
- Prior art keywords
- client device
- segmentation
- stream
- transmission mode
- content
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0023—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
- H04L1/0025—Transmission of mode-switching indication
-
- 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/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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/764—Media network packet handling at the destination
-
- 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/765—Media network packet handling intermediate
-
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
客户端设备(100)在多播传输模式下接收流式传输内容的分段。客户端设备(100)确定与在多播传输模式下接收分段相关联的输入数据速率。根据输入数据速率,客户端设备(100)设置输出数据速率。响应于来自媒体播放器(140)的请求,客户端设备(100)以输出数据速率向媒体播放器(140)输出所接收到的分段。
Description
技术领域
本发明涉及用于对内容进行流式传输的方法以及对应的设备。
背景技术
在通信网络(例如,如由3GPP(第三代合作伙伴计划)指定的蜂窝网络)中,已知为了向客户端设备传送流式传输内容而使用单播传输和多播传输或广播传输,例如,如在“Transport of MPEG-2TS Based DVB Services over IP Based Networks”,DVBBlueBook A86(2015年3月)中所指定的。一个示例是被称为多播自适应比特率(M-ABR)的技术,例如,如CableLabs“IP Multicast Adaptive Bit Rate Architecture TechnicalReport”,OC-TR-IP-MULTI-ARCH-V01-141112(2014)中所指定的,该技术利用IP(互联网协议)多播并结合客户端驱动的速率适配来实现可扩展的和经济高效的传送。具体地,客户端设备可以探测可用链路质量,并且选择符合该链路质量的一连串的分段。
在典型场景下,发送链的最后一跳(hop in)或倒数第二跳限制可用比特率。例如,该跳可以例如基于WLAN(无线局域网)或LTE(长期演进)或DSL(数字订户线)链路在无线电链路上延伸,这意味着吞吐量受限于由技术、线路状况、无线电状况或并发用户施加的比特率限制。
为了允许利用现有种类的媒体播放器以及现有的DRM(数字权利管理)方案,已知利用客户端侧代理,客户端侧代理在由媒体播放器使用的格式和用于多播传输的格式之间进行转换。然后,客户端侧代理可以通过加入提供针对当前链路质量的适当质量等级的多播信道来管理速率适配。
当媒体播放器加入由M-ABR传送的多播视频流时,执行调谐操作。对于典型的调谐操作,可以假设视频流的每个分段包含(至少)一个完整的GOP(图像组)。在调谐操作中,流式传输客户端通常需要找到分段的开始,该开始包含用于处理视频流(比如,对视频内容解码)的所需信息。当使用基于MPEG-TS(MPEG-TS:“运动图像专家组传输流”)的分段时,每个分段从程序关联表(PAT)开始,随后是程序映射表(PMT),然后以I帧开始继续。I帧是GOP中的第一帧。因此,分段的开始通常充当视频流的接入点。
通常,流式传输客户端在任意时间点(例如由用户选择信道而触发)调谐到多播视频流。然后,流式传输客户端需要等待,直到找到分段的开始,并且可以接收用于处理视频流所需的信息。然后,可以开始缓存视频内容。然而,直到缓存区达到足够的填充等级并开始播放视频流,会需要一些时间。
为了在调谐操作期间加速填充缓存区,被称为“快速信道改变(FCC)”(例如,如“Server-Based Fast Channel Change in DVB-IPTV Systems”,DVB BlueBook A152(2010年8月)中指定的)或者被称为“多播流的快速获取(RAMS)”(例如,如在RFC 6285(2011年6月)中所指定的)的解决方案附加地利用流式传输内容的单播传送。具体地,流式传输客户端使用RTP(实时传输协议)来请求数据的单播突发以填充缓存区。假设某个超速率(例如,单播突发以多播比特率的130%进行发送),可以计算单播突发的持续时间。然而,在某些场景下,找到用于从单播传送切换到多播传送的合适时间点并不简单。这可以导致单播突发的长度过长并且以单播传送模式和多播传送模式发送的数据会过载所使用的无线电链路。特别是当利用能力有限的链路时,这种流的一部分的冗余发送是不希望的。
此外,对于支持所传送的内容的动态比特率适配的一些现有播放器技术,由于播放器技术的某些特性,通过客户端侧代理来利用内容的多播传送可能是有问题的。这种播放器技术的示例是如ISO/IEC标准23009-1“Information technology--Dynamic adaptivestreaming over HTTP(DASH)--Part 1:Media presentation description and segmentformats”,第二版(2014-05-15)中所指定的DASH(基于HTTP的动态自适应流式传输)技术。
在DASH技术的情况下,由于分段的多播传送和分段的单播传送之间的定时差异可能出现如下问题:DASH媒体播放器根据被称为MPD(媒体呈现描述)的媒体描述中指示的可用性开始时间(AST)值来计算流式传输内容的每个单独分段的分段可用性开始时间(SAST)。SAST与某个分段可用于在DASH流的源头处取得的时间相对应。当使用客户端侧代理从源头接收分段时,MDP中指示的SAST将早于客户端侧代理处的可用性。
此外,在DASH技术中,被称为图像参数集(PPS)和序列参数集(SPS)的参数在与包括实际媒体内容在内的分段分离的被称为初始化分段的专用分段中发送。SPS和PPS提供用于在DASH播放器中解码的重要配置信息,例如分辨率(例如1920×1080)。当Dash媒体播放器从一个质量等级切换到另一质量等级时,它通常需要来自不同初始化分段的信息。因此,如果不了解DASH媒体播放器,就无法改变质量等级,因为否则DASH媒体播放器可能会应用错误的初始化分段。相反,DASH媒体播放器应该控制质量等级的适配。
此外,在通过客户端侧代理使用DASH分段的多播传送时,DASH媒体播放器通常将客户端侧代理视为DASH分段的源,这可以影响DASH媒体播放器的用于估计用于发送DASH分段的相关链路比特率的能力:从DASH媒体播放器的角度来看,这些分段是通过到客户端代理的链路接收的,该链路可以具有比客户端代理从其源头接收DASH分段的链路高得多的能力。因此,DASH媒体播放器可能不能看到和评估实际上限制DASH分段的发送的链路,并因此错误地选择质量等级。
因此,需要允许使用多播传送和由媒体播放器实现的质量等级适配来高效地对内容进行流式传输的技术。
发明内容
根据本发明的实施例,提供了一种对内容进行流式传输的方法。根据该方法,客户端设备在多播传输模式下接收流式传输内容的分段。客户端设备确定与在多播传输模式下接收分段相关联的输入数据速率。根据输入数据速率,客户端设备设置输出数据速率。响应于来自媒体播放器的请求,客户端设备以该输出数据速率向媒体播放器输出所接收到的分段。
根据本发明的另一实施例,提供了一种客户端设备。客户端设备被配置为在多播传输模式下接收流式传输内容的分段。此外,客户端设备被配置为确定与在多播传输模式下接收分段相关联的输入数据速率。此外,客户端设备被配置为根据输入数据速率设置输出数据速率。此外,客户端设备被配置为:响应于来自媒体播放器的请求,以输出数据速率向媒体播放器输出所接收到的分段。
根据本发明的另一实施例,例如以非暂时性存储介质的形式提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括将由客户端设备的至少一个处理器执行的程序代码。程序代码的执行使得客户端设备在多播传输模式下接收流式传输内容的分段。此外,程序代码的执行使得客户端设备确定与在多播传输模式下接收分段相关联的输入数据速率。此外,程序代码的执行使得客户端没备根据输入数据速率来设置输出数据速率。此外,程序代码的执行使得客户端设备响应于来自媒体播放器的请求,以输出数据速率向媒体播放器输出所接收到的分段。
下面的对实施例的详细说明使这些实施例和其他实施例的细节变得清楚。
附图说明
图1示意性地示出了根据本发明实施例的用于实现对内容进行流式传输的通信网络***。
图2示意性地示出了根据本发明实施例的用于实现对内容进行流式传输的另一通信网络***。
图3示意性地示出了如根据本发明实施例所利用的多播流。
图4示意性地示出了根据本发明实施例的在示例性场景下的同步信道的利用。
图5示意性地示出了在使媒体播放器继续请求相同质量的流分段的示例性场景下的根据本发明实施例的速率适配。
图6示意性地示出了在使媒体播放器请求更高质量的流分段的示例性场景下的根据本发明实施例的速率适配。
图7示意性地示出了在使媒体播放器请求更低质量的流分段的示例性场景下的根据本发明实施例的速率适配。
图8示出了根据本发明实施例的在示例性场景下的流分段的处理。
图9示出了用于示意性示出根据本发明实施例的方法的流程图。
图10示出了用于示意性地示出如根据本发明实施例使用的从单播接收切换到多播接收的方法的流程图。
图11示出了用于示出根据本发明实施例的客户端设备的功能的框图。
图12示意性地示出了根据本发明实施例的客户端设备的结构。
具体实施方式
以下,将参考附图更详细地说明根据本发明的示例性实施例的构思。所示实施例涉及在通信网络中对内容进行流式传输。假设通信网络能够将流式传输内容从服务器传送到一个或多个媒体播放器。例如,这样的媒体播放器可以通过无线电接口连接到服务器。这样的无线电接口例如可以基于蜂窝无线电技术(例如,LTE技术)或基于WLAN无线电技术。此外,这样的媒体播放器也可以通过基于有线的技术连接到服务器。这样的基于有线的技术可以例如基于DSL技术、同轴电缆联网技术、或光纤联网技术。在一些场景下,这些技术的组合也可以用于将媒体播放器连接到服务器。流式传输内容可以例如与期望通过媒体播放器连续播放的多媒体内容相对应。
在所示的构思中,多播传输模式用于将流式传输内容从服务器传送到某个媒体播放器。如本文所使用的,“多播传输模式”指代针对多个接收者进行单次传输的传输模式。多播传输模式还可以与针对某个覆盖区域中的所有接收者进行单次传输的广播传输模式相对应。多播传输模式可以例如基于如在IETF RFC 1112(1989年8月)中指定的IP多播、如在RFC 3926(2004年10月)中指定的FLUTE、和/或如在RFC 6968(2013年7月)中指定的FCAST。
在本文中所示的构思中,假设媒体播放器基于流式传输技术,在该流式传输技术中媒体播放器控制接收流式传输内容的分段的质量等级。具体地,媒体播放器请求具有某一质量等级的流式传输内容的分段,该质量等级取决于将流式传输内容的分段提供给媒体播放器的数据速率。在下面所示的示例中,假设媒体播放器基于如ISO/IEC标准23009-1“Information technology--Dynamic adaptive streaming over HTTP(DASH)--Part 1:Media presentation description and segment formats”,第二版(2014-05-15)中指定的DASH技术。然而,应该理解的是,所示出的构思可以以对应的方式应用于其中媒体播放器负责设置所请求的流式传输内容的分段的质量等级的其它流式传输技术。
在所示的构思中,客户端设备提供用于在多播传输模式下接收流式传输内容的分段并且在媒体播放器请求时将分段提供给媒体播放器的代理功能。媒体播放器可以是客户端设备的一部分或者可以与客户端设备分离地提供。例如,如果媒体播放器与客户端没备分离地提供,则媒体播放器可以通过LAN(局域网)链路连接到客户端设备。在任何情况下,用于将流式传输内容的分段从客户端设备供应到媒体播放器(内部地或外部地)的链路的能力可以显著高于将分段从服务器发送到客户端设备的链路的能力,这意味着媒体播放器本身可能无法正确地估计实际上与将分段传送到媒体播放器相关的数据速率或链路能力,即在将分段传送给媒体播放器时所述数据速率或链路能力为瓶颈。在所示的构思中,通过在客户端设备中执行速率适配来解决该问题。具体地,客户端设备可以估计客户端设备在多播传输模式下接收分段时确定的输入数据速率,并且根据所估计的输入数据速率来设置输出数据速率。响应于来自媒体播放器的请求,客户端设备然后以该输出数据速率向媒体播放器输出所接收到的分段。通过选择更低的输出数据速率,可以激励媒体播放器请求更低的质量等级的流式传输内容的分段。通过选择更高的输出数据速率,可以激励媒体播放器请求更高的质量等级的流式传输内容的分段。
此外,除了多播传输模式之外,还可以使用单播传输模式,例如以便加速“调谐(tuning in)”以在多播传输模式下接收流式传输内容,并且避免媒体播放器可以开始播放流式传输内容之前的延迟。这里,“单播传输模式”指代传输仅被寻址到一个接收者的传输模式。多播单播传输模式可以例如基于如IETF RFC 7230(2014年6月)中指定的HTTP或从中导出的协议。为了使客户端设备能够有效地控制从在单播传输模式下接收流式传输内容切换到在多播传输模式下接收流式传输内容,可以提供同步流。具体地,可以控制该切换,以便避免在单播传输模式和多播传输模式两者下冗余发送流式传输内容的一部分。因此,可以避免过度利用具有有限能力的链路(例如,LTE或WLAN无线电链路、或DSL链路)。同步流指示在多播传输模式下发送的流式传输内容的分段的定时。同步流是与流式传输内容分离地实现的,即,同步流不包括流式传输内容。因此,可以以低比特率发送同步流,而不会显著利用有限链路能力。根据同步流,客户端设备可以确定何时将在多播传输模式下发送流式传输内容的某个分段,然后切换到接收该分段。在该切换之前,客户端设备可以在单播传输模式下接收前面的分段的集合。之后的分段可以例如用于在客户端设备处加速填充存储流式传输内容的缓存区。在典型的场景下,这可以允许在不到一秒的时间内开始播放流式传输内容。
图1示意性地示出了如上所概述的可以在用于对内容进行流式传输的通信网络中使用的***的示例。如图所示,该***基于客户端设备100和源服务器200。通过通信网络,客户端设备100连接到源服务器200。如图所示,客户端设备100到源服务器200的连接延伸穿过订户接口,例如基于LTE或另一蜂窝无线电技术或WLAN无线电技术的无线电链路、或者基于有线的链路(例如,DSL链路)。
提供分段器210以用于产生流式传输内容的分段。在图1的示例中,假设分段器210是源服务器200的一部分。然而,应该理解的是,分段器210也可以与源服务器200分离地提供,例如由流式传输内容起源的内容提供器提供。分段器210将流式传输内容转换为至少一个分段流。在一些场景下,分段器210可以将流式传输内容转换成多个分段流,并且这些多个流中的每一个可以以不同的质量等级传送流式传输内容。流式传输内容可以例如与多媒体内容(例如,视频内容或音频内容)相对应。在下面进一步详述的示例中,假设流式传输内容对应于视频内容,并且流各自对应于DASH/MPEG-TS或DASH ISO BMFF(ISO基本媒体文件格式)流。鉴于所使用的DASH技术,这些流将在下文中也被称为DASH流。
如进一步所示的,源服务器200还设置有储存设备220。储存设备220从分段器210接收流式传输内容的分段并将其存储,使得这些流式传输内容的分段可以用于在多播传输模式和/或单播传输模式下发送。储存设备220可以例如基于一个或多个硬盘或类似种类的大容量储存技术。
如进一步所示,源服务器200设置有多播发射机(MC-TX)230。MC-TX 230负责在多播传输模式下发送流式传输内容的分段。在所示的示例中,假设流式传输内容在不同质量等级的多个流中发送。MC-TX230因此建立多个多播组,每个多播组对应于一个质量等级,并且MC-TX230在对应的多播组中发送给定质量等级的分段。多播传输模式可以例如利用多播文件传送协议(比如,如IETF RFC 6726指定的FLUTE或如IETF RFC6968指定的FCAST)。这样的多播文件传送协议可以结合由通信网络支持的多播或广播服务(比如,如由3GPP TS23.246V12.5.0(2015-03)指定的MBMS(多媒体广播多播服务)和/或如IETF RFC 1112指定的IP多播)来操作。
如进一步所示,源服务器200设置有HTTP服务器240。HTTP服务器负责在单播传输模式下发送流式传输内容的分段。在所示的示例中,假设单播传输模式基于常规的HLS机制,比如使用HTTP GET方法来接收针对分段的请求并且响应于这样的请求来发送分段。
客户端设备100设置有多播接收机(MC-RX)110,MC-RX 110负责接收在多播传输模式下发送的流式传输内容的分段。为此,MC-RX 110可以加入由MC-TX 230建立的多个多播组中的一个多播组。这里,应该注意的是,在典型的场景下,即使MC-RX 110还没有加入多个多播组中的一个多播组,MC-TX 220也将发送这些分段,以例如使得其它客户端设备能够接收这些分段。尽管如此,订户接口上的负载可以取决于MC-RX 110是否已加入多个多播组中的一个多播组以及取决于MC-RX 110加入哪个多播组。例如,如果MC-RX 110实际上加入了对应的多播组,则在订户接口上传送流式传输内容的分段通常更高效。在一些场景下,MC-RX 110还可以例如基于使用HTTP来向HTTP服务器240请求丢失的数据来支持文件修复机制。例如,MC-RX 110可以使用例如分组编号(例如,如由FEC(前向纠错)有效载荷标识符所标识的,比如SBN(源块号)和ESI(编码符号标识符))来请求丢失的数据分组。此外,MC-RX110可以例如使用HTTP范围首部来请求未完成接收的分段的某个范围。
如进一步所示,客户端设备100设置有HTTP代理120。HTTP代理120负责接收在单播传输模式下由HTTP服务器240发送的流式传输内容的分段。在所示的示例中,假设单播传输模式基于常规的DASH机制。例如,这些机制涉及使用HTTP GET方法来发送针对分段的请求并且响应于这样的请求而接收分段。
此外,客户端设备100设置有储存设备130,储存设备130中存储有由MC-RX 110和HTTP代理120接收的分段。储存设备130可以基于一个或多个大容量储存设备(例如,硬盘、固态硬盘或闪存设备)来实现。
如进一步所示,客户端设备100设置有负责播放流式传输内容的媒体播放器140。媒体播放器140通常实现HTTP客户端。为此,媒体播放器140通过HTTP代理120从储存设备130取得流式传输内容的分段,并且根据播放需要处理分段的数据。所述处理例如可以涉及解码视频数据和/或音频数据。根据常规DASH机制,媒体播放器140可以在开始呈现流式传输内容之前首先缓存三个分段。媒体播放器140对分段的取得可以基于常规的DASH机制,比如使用HTTP GET方法来发送针对分段的请求并且响应于这样的请求来接收分段。因此,HTTP代理120和储存设备130可以充当用于由媒体播放器140实现的DASH机制的基于HTTP的交易的流式传输代理150。然而,该流式传输代理150将不仅利用常规的DASH机制来基于来自HTTP服务器240的单播传输模式来接收流式传输内容,而且还利用多播传输模式来经由MC-RX110接收流式传输内容。HTTP代理120可以被实现为与HTTP客户端组合的HTTP服务器,例如,被实现为充当朝向源服务器200的HTTP客户端和朝向媒体播放器140的HTTP服务器的背靠背服务器。
应该注意的是,尽管图1将媒体播放器140示出为客户端设备100的一部分,但也可以与客户端设备100分离地提供媒体播放器140。例如,客户端设备可以对应于家庭网关,并且媒体播放器140可以由通过家庭网络连接到家庭网关的多媒体设备来实现(例如,通过TV、蓝光或DVD播放器、游戏机、平板计算机、智能手机、膝上型计算机或台式计算机来实现)。
从媒体播放器140的角度来看,单播传输模式和多播传输模式的组合使用可以以透明的方式来实现,使得从媒体播放器140的角度来看,流式传输代理150显现为流式传输内容的分段的源。因此,媒体播放器140可以基于常规的DASH机制来操作,包括速率适配,即,请求处于某一质量等级的流式传输内容的分段,其中所述质量等级取决于如由媒体播放器140相对于从流式传输代理150接收的分段而估计的数据速率或链路能力。
因此,如果流式传输代理150以更高的输出数据速率向媒体播放器140输出分段,这可以使得媒体播放器140请求更高质量等级的流式传输内容的分段。MC-RX 110可以通过加入对应的多播组来接收该更高质量等级的分段。类似地,如果流式传输代理150以更低的输出数据速率向媒体播放器140输出分段,这可以使得媒体播放器140请求更低质量等级的流式传输内容的分段。MC-RX 110可以通过加入对应的多播组来接收该更低质量等级的分段。
在所示示例中,还假设流式传输代理150能够修改由源服务器200提供的并被转发给媒体播放器140的DASH流(例如,DASH/MPEG-TS或DASH ISO BMFF流)的MPD(媒体呈现描述)。具体地,由MPD指示的AST(可用性开始时间)被移位到靠后的时间,使得媒体播放器140向流式传输代理150请求比源服务器200处当前可用的分段更早的分段。该延迟为流式传输代理150提供足够的时间来使用单播传输来取回分段,直到达到足够的缓存区填充等级并且可以使用多播传输模式来接收下一分段为止。此外,该延迟可以用于防止媒体播放器140请求在流式传输代理150处尚不可用的分段。
图2示意性地示出了如上所概述的可以在用于对内容进行流式传输的通信网络中使用的***的另一示例。图2的***包括客户端设备100和源服务器200。此外,该***包括边缘服务器300。与源服务器200相比,边缘服务器位于更靠近客户端设备100的位置处。通过通信网络,客户端设备100连接到源服务器200和边缘服务器300。如图所示,客户端设备100到源服务器200和到边缘服务器300的连接延伸穿过订户接口,例如基于LTE或另一蜂窝无线电技术或WLAN无线电技术的无线电链路、或者基于有线的链路(例如,DSL链路)。图2的***在许多方面均类似于图1的***,并且在图2中与图1的元件相对应的元件由相同的附图标记表示。在下文中,将避免重复描述与图1的那些元件或功能相对应的元件或功能。
在图2的***中,边缘服务器300可以充当本地源,以用于使用单播传输模式来取得流式传输内容的分段。以这种方式,特别考虑到多个客户端设备请求相同的分段的情况,在单播传输模式下与发送分段相关联的通信网络中的负载贡献。通过将分段的附加源设置在尽可能靠近客户端设备的位置处,可以以更高效的方式处理这种单播请求。
在所示的示例中,边缘服务器300设置有多播接收机(MC-RX)310,MC-RX 330负责接收在多播传输模式下发送的流式传输内容的分段。为此,MC-RX 310可以加入由MC-TX230设置的多播组。此外,边缘服务器300设置有HTTP代理320。HTTP代理320负责由HTTP服务器240在单播传输模式下发送的流式传输内容的分段,并且负责在单播传输模式下向请求客户端设备(例如,向客户端设备100)转发所接收的分段。此外,边缘服务器300设置有储存设备330,储存设备330中存储有由MC-RX 310和HTTP客户端320接收的分段。储存设备330可以基于一个或多个大容量储存设备(例如,硬盘、固态硬盘或闪存设备)来实现。
与图1的***相比,客户端设备100的HTTP代理120可以发出用于在单播传输模式下向边缘服务器300的HTTP代理320发送分段的请求,并且边缘服务器300的HTTP代理320可以通过从储存设备330发送所请求的分段来响应这样的请求。只有当所请求的分段在储存设备330中不可用时,HTTP代理320可能需要向源服务器200的HTTP服务器240请求分段。因此,可以避免单播传输模式在通信网络内(特别是在源服务器200和边缘服务器300之间的链路上)产生过多的负载。多播传输模式支持文件修复机制,边缘服务器300也可以充当MC-RX 110可以向其请求文件修复所需的数据的源。例如,MC-RX 110可以使用HTTP来向HTTP代理320请求丢失的数据。例如,MC-RX 110可以使用分组编号(例如,如由FEC有效载荷标识符所标识的,比如SBN和ESI)来请求丢失的数据分组。此外,MC-RX110可以例如使用HTTP范围首部来请求未完成接收的分段的某个范围。
除了发送包括流式传输内容的分段在内的流(在下文中也被称为多播内容流)之外,图1和图2的***中的MC-TX 240还发送上面提及的同步流,所述同步流不包括流式传输内容,而是指示多播内容流中的分段的定时。同步流可以由MC-TX 230产生。类似于多播内容流,同步流由客户端设备100的MC-RX 110接收。
同步流可以通过被组织在如下分段中来指示多播内容流的分段的定时,所述分段与多播内容流的分段同步发送,并且包括同步发送的多播内容流的分段的标识符。在所示的示例中,该标识符与多播内容流的分段的序列号和URL(统一资源定位符)相对应。
根据同步流,客户端设备100可以导出由某一序列号和URL标识的特定分段何时将变得在多播内容流中可用。具体地,客户端设备100可以利用所指示的定时来确定相对于接收的分段边界,并且在多播内容流中的某个分段的开始处从(由HTTP代理120)在单播传输模式下接收流式传输内容切换到(由MC-RX 110)在多播传输模式下接收流式传输内容。这允许避免在单播传输模式下冗余发送该分段,同时使得客户端设备100能够接收处理该分段所需的、在分段的开始处发送的信息。例如,当使用DASH/MPEG-TS时,在分段的开始处发送PAT和PMT,并且接收该信息可以使媒体播放器140能够无进一步延迟地开始处理该分段。
图3示意性地示出了可以如何组织多播内容流和同步流的示例。在所示示例中,提供了三个不同质量等级的多播内容流:高质量多播内容流(由HQ指定)、中等质量多播内容流(由MQ指定)、以及低质量多播内容流(由LQ指定)。可以看出,用于发送多播内容流所需的带宽(BW)随着质量等级的增加而增加,并且用于发送同步流所需的带宽甚至低于用于发送低质量多播内容流所需的带宽,因为同步流不包括流式传输内容。多播内容流的分段被间隙分离,该间隙给客户端设备100提供了用于在不同质量等级之间切换而不会丢失分段的充足时间。
如进一步所示,多播内容流的每个分段由序列号(...、#X-2、#X-1、#X、#X+1、#X+2、#X+...)标识。序列号可以用于标识给定分段在流中的位置。此外,每个分段也可以由URL标识。URL也可以用于请求在单播传输模式下发送分段。此外,URL还可以允许区分不同质量等级的分段。应该注意,如图3所示,序列号可以从流中的一个分段到下一分段增加。然而,也可以使用其它步长,例如与分段的持续时间相对应的步长。
如进一步所示,同步流被组织到如下分段中,所述分段与多播内容流的分段同步地发送,并且携带与同步发送的多播内容流的分段相同的序列号。此外,同步流的分段也可以指示同步发送的多播内容流的分段的URL。因此,通过接收和分析同步流,客户端设备100可以确定何时某个分段将在多播内容流中的一个中变得可用,而无需接收多播内容流。此外,客户端设备100可以根据同步流推断应该通过单播传输模式取得流式传输内容中的哪些段,以加速缓存区填充并且减少在可以开始播放流式传输内容之前的相关联的延迟。多播内容流的每个分段可以由同步流中的两个IP分组表示,一个IP分组在分段的开始处,另一IP分组在分段的结尾处。
此外,当修改MPD时,流式传输代理150也可以利用根据同步流导出的定时信息来作为输入。具体地,流式传输代理150可以根据同步流推断某个分段通过多播将变得可用的时间,并且将该时间与由MPD指示的该分段的SAST进行比较,并且将MPD的AST移位对应的偏移量。
图4示出了用于示出客户端设备100如何利用同步流从在单播传输模式下接收流式传输内容的分段切换到在多播传输模式下接收流式传输内容的分段的示例。在图4的示例中,假设在T0处媒体播放器140选择接收中等质量的多播内容流。此时,客户端设备100将最初加入同步流。
在图4的示例中,发送中等质量的多播内容流的分段#54、#55和#56。根据同步流,客户端设备100获知当前哪个分段正被发送(例如,在T0之后不久,开始多播传输分段#54)。为了加速缓存,客户端设备100决定使用比应用于多播传输模式更高的数据速率(例如,以比应用于多播传输模式的数据速率高20%的数据速率)、使用单播传输模式来取回段#53、#54和#55。因此,有时,在图4的T1时刻处,在单播传输模式下接收分段将追上在多播传输模式下发送分段,即使用单播传输模式,客户端设备100将已经接收到了当前在多播传输模式下发送的分段(在图4的示例中,分段#55)。此时,切换到在多播传输模式下接收下一分段(在图4的示例中,分段#55)是高效的,因为可以避免由于在单播传输模式和多播传输模式两者下冗余接收分段而造成的过度的带宽使用。根据同步流,客户端设备100导出在多播传输模式下发送下一分段何时开始(在图4的示例中,对于分段56的发送在T2处开始),并且切换以在T2处接收中等质量的多播内容流。
从图4的示例可以看出,通过使用单播传输模式,可以加快缓存区填充。具体地,客户端设备100能够使用单播传输模式到时间T1时缓存三个分段,而仅使用多播传输模式缓存三个分段所花费的时间将持续到在多播传输模式下完成分段#56的发送(在时间T3处)为止。
此外,客户端设备100能够以媒体播放器140请求适当质量等级的流式传输内容的分段的方式,来设置分段从流式传输代理150到媒体播放器140的输出数据速率。为此,客户端设备100确定由MC-RX110经由订户接口接收分段的输入数据速率,并且相应地针对媒体播放器140整形输出数据速率。例如,如果客户端设备100想要激励媒体播放器140请求更高质量等级的分段(例如,从中等质量等级切换到高质量等级),则客户端设备100可以将输出数据速率设置为更高值。例如,如果客户端设备100想要激励媒体播放器140请求更低质量等级的分段(例如,从中等质量等级切换到高质量等级),则客户端设备100可以将输出数据速率设置为更低值。在任何情况下,在媒体播放器140请求完整的分段之前,流式传输代理150应该已经接收到该完整的分段。为了避免流式传输代理150处的缓存区溢出或下溢,输出数据速率应当长期与输入数据速率匹配。客户端设备100可以通过估计MC-RX 110对分段的接收和/或通过在订户接口上执行其它种类的链路估计来估计输入数据速率。
图5至图7示出了客户端设备100可以如何设置输出数据速率以确保媒体播放器140请求期望的质量等级的流式传输内容的分段的示例性场景。在图5至图7中,B1表示订户接口的链路比特率,并且B2表示可用于将分段从流式传输代理150输出到媒体播放器140的链路比特率。可以看出,比特率B2显著高于比特率B1。流式传输内容的媒体比特率(由B0表示)通常低于比特率B1,使得订户接口上留有一些能力(例如,用于其它发送)。因此,如果媒体播放器140将估计比特流B2以请求与比特流B2相对应的质量等级的流式传输内容的分段,则流式传输代理150可能不能继续取回所请求的质量等级的分段,并且当流式传输代理150不再缓存任何分段时,由媒体播放器140执行的内容的播放会中断。因此,流式传输代理150将到该代理的分段的输出数据速率设置为与比特流B1相匹配的值。
在图5的场景下,假设客户端设备100确定由媒体播放器140请求的分段的当前质量等级适合于针对订户接口估计的比特率B1。例如,客户端设备100可以确定下一更高质量等级将超过订户接口的能力,并且因此决定媒体播放器140应当保持当前质量等级。因此,客户端设备100可以将到媒体播放器140的输出速率设置为实质上与当前质量等级的媒体比特率相对应,例如,设置为当前质量等级的媒体比特率加上裕度,但低于下一更高质量等级的媒体比特率。
在图6的场景下,假设客户端设备100确定针对订户接口估计的比特率B1足以支持更高质量等级的流式传输内容,并因此激励媒体播放器请求更高质量等级的分段。因此,客户端设备100可以将到媒体播放器140的输出速率增加到实质上与更高质量等级的媒体比特率相对应,例如,增加到更高质量等级的媒体比特率加上裕度,但低于下一更高质量等级的媒体比特率。
在图7的场景下,假设客户端设备100确定针对订户接口估计的比特率B1不足以连续支持流式传输内容的当前质量等级,并因此激励媒体播放器请求更低质量等级的分段。因此,客户端设备100可以将到媒体播放器140的输出速率减小到实质上与更低质量等级的媒体比特率相对应,例如,减小到更低质量等级的媒体比特率加上裕度,但低于下一更高质量等级的媒体比特率。注意到,在图7的场景下,比特率B1被示出为低于媒体比特率B0。这可能是由于在客户端设备100接收到所示分段之后比特率B1已经下降。换句话说,在一些场景下,客户端设备100可以仍具有与如下媒体比特率相对应的缓存分段,所述媒体比特率对于客户端设备100用于接收更多分段的链路的当前能力而言太高。在这种情况下,客户端设备100可以以甚至低于这些分段的媒体速率的输出速率来输出分段。从长远来看,这样的操作通常将导致媒体播放器140或流式传输代理150处的缓存区下溢,然而这可以通过激励媒体播放器开始请求更低质量等级的分段来避免。
图8示出了其中客户端设备100利用多播内容流、同步流和单播接收中的一种来向媒体播放器140提供流式传输内容的分段的示例性场景。
如图所示,分段器210连续输出流式传输内容的分段,在所示示例中,所述流式传输内容的分段是由MC-TX 230以多播内容流(MC流)来连续发送的。在所示示例中,在来自分段器210的某个分段的可用性与以多播内容流对该分段的发送之间存在三个分段的偏移量。然而,应该理解的是,在其它场景下,该偏移量可以不同。此外,也可以存在其中分段器210在多播传送流式传输内容期间不实时操作、并且在多播传送开始之前所有分段均已产生的场景。
在多播内容流中,在分段边界之间***间隙以便于加入或离开多播内容流。在所示的示例中,在T0处开始发送分段#7,并且在发送分段#7期间,假设例如通过用户选择对应的信道来在T1处激活媒体播放器140接收流。因此,在流式传输内容的接收被激活时,以多播内容流来发送分段#7正在进行。流式传输内容的至少一些分段也可用于在单播传输模式下的取回。
如进一步所示,同步流指示在多播内容流中发送的分段的边界,并且还标识当前在多播内容流中发送的分段。如上所述,正在发送的特定分段可以根据其序列号和/或URL来识别。在所示示例中,客户端设备100被假设为在激活接收时加入同步流。此时,客户端设备100可以根据同步流推断以多播内容流发送分段#7当前正在进行中。
基于同步流,客户端设备100因此可以推断多播内容流中的分段的边界和标识,并且将客户端设备100的操作与这些边界同步。在所示场景下,假没同步流和多播内容流通过通信网络经过相同的发送路径,以便同步流的分段和多播内容流中的对应分段的时间对准被保留直到由客户端设备100执行接收。
在根据同步流导出分段边界和分段编号之后,客户端设备100可以确定将在单播传输模式下请求的流式传输内容的分段集合。在所示示例中,该分段集合包括通过多播内容流不再可用的旧分段(在所示示例中,分段#1至分段#7)以及通过多播内容流仍可用的分段(在所示示例中,分段#8和分段#9)。
如图所示,尽管分段#1至分段#9是以如应用于在多播传输模式下发送分段的高数据速率被接收的,但到媒体播放器的输出是在更低的输出数据速率下执行的,使得媒体播放器140不会切换到请求更高质量等级的分段。在所示示例中,当已经将三个分段(分段#1至分段#3)提供给媒体播放器140时,可以在T3时开始播放。在T4时,在单播传输模式下接收分段#9完成,并且在多播传输模式下发送分段#10即将开始,即,分段的单播取回已经赶上了在多播传输模式下发送分段。因此,客户端设备100切换到在多播传输模式下接收分段#10和后续分段。当加入多播内容流时,客户端设备100也离开同步流。
同样如图8所示,在多播传输模式下接收到的分段与输出到媒体播放器140的分段之间存在偏移量:当在多播传输模式下接收到分段#10时,分段#6正被输出到媒体播放器140。这是通过修改MPD中的AST来实现的。如上所述,MPD中的AST的修改为流式传输代理提供足够的时间来使用单播取回来缓存一些分段,并且进一步避免媒体播放器140请求在流式传输代理处尚不可用的分段。
图9示出了用于示出对内容进行流式传输的方法的流程图。所述方法可以用于在客户端设备(例如,客户端设备100)中实现所示出的构思。特别地,所述方法可以被客户端设备用来向媒体播放器(例如,媒体播放器140)提供流式传输内容的分段。媒体播放器可以是客户端设备的一部分。备选地,媒体播放器可以与客户端设备分离地提供。具体地,媒体播放器可以经由LAN链路连接到客户端设备。例如,客户端设备可以对应于家庭网关,并且媒体播放器可以由连接到家庭网关的多媒体设备来实现(例如,通过TV、蓝光或DVD播放器、游戏机、平板计算机、智能手机、膝上型计算机或台式计算机来实现)。媒体播放器可以基于DASH技术。然而,媒体播放器也可以基于媒体播放器负责自适应地***体播放器请求流式传输内容的分段的质量等级的其它技术。
如果使用客户端设备的基于处理器的实现,则该方法的步骤可以由客户端设备的一个或多个处理器执行。在这种情况下,客户端设备还可以包括其中存储有用于实现下述功能的程序代码的存储器。
在可选步骤910处,客户端设备可以处理与流式传输内容相关联的媒体描述。如果流式传输内容基于DASH技术被流式传输,则媒体描述可以与DASH流的MPD相对应。特别地,客户端设备可以接收媒体描述,并且媒体描述可以包括指示流式传输内容的分段的可用时间的可用性信息。如果媒体描述是MPD,则可用性信息可以与由MPD指示的AST相对应。客户端设备可以通过将可用时间移位到稍后的时间(例如,通过将MPD的AST移位到稍后的时间)来修改媒体描述。该移位可以与如下偏移量相对应,所述偏移量与流式传输内容的一个或多个分段的播放持续时间相对应。例如,该偏移量可以与一个、两个、三个、四个、五个或更多个分段的播放持续时间相对应。在修改了媒体描述之后,客户端设备可向媒体播放器输出修改后的媒体描述。
在步骤920处,客户端设备在多播传输模式下接收流式传输内容的分段。流式传输内容的分段可以是根据DASH技术的流的分段。
在步骤930处,客户端设备确定与在多播传输模式下对分段的所述接收相关联的输入数据速率。例如,客户端设备可以将输入数据速率测量为客户端设备接收分段的数据速率。此外或作为备选,客户端设备还可以应用其它技术来确定输入数据速率,例如测量或以其它方式估计客户端设备用于接收分段的链路的能力。
在步骤940处,客户端设备设置输出数据速率。该步骤是取决于在步骤930处确定的输入数据速率来完成的。例如,可以将输出数据速率设置为与输入数据速率匹配,例如通过将输出数据速率设置为不超过输入数据速率的值。
在步骤950处,客户端没备以输出数据速率向媒体播放器输出所接收的分段。这是响应于来自媒体播放器的请求而完成的。请求可以指示流式传输内容的质量等级,并且客户端设备可以根据所指示的质量等级来选择要在多播传输模式下接收的分段。例如,客户端设备可以加入与媒体播放器所请求的质量等级相对应的多播流。因此,媒体播放器可以控制接收流式传输内容的质量等级。然而,通过在步骤940处设置输出速率,客户端设备可以激励该控制以选择更高或更低的质量等级,或保持当前的质量等级。例如,通过增加输出数据速率,客户端设备可以使媒体播放器发送指示更高质量等级的请求。这可以在客户端设备确定在步骤930处确定的输入数据速率指示用于向客户端设备发送分段的链路具有足够的能力来发送更高质量等级的分段的情况下完成。此外,通过降低输出数据速率,客户端设备可以使媒体播放器发送指示更低质量等级的请求。这可以在客户端设备确定在步骤930处确定的输入数据速率指示用于向客户端设备发送分段的链路不具有足够的能力来发送当前质量等级的分段、而仅足够用于发送更低质量等级的分段的情况下完成。
图10示出了用于示出可用于实现从向客户端设备(例如,客户端设备100)进行单播传送切换到多播传送的所示构思的方法的流程图。例如当开始接收流式传输内容时或当在不同质量等级的流式传输内容之间切换时,图10的方法可以作为图9的方法的一部分执行。如果使用客户端设备的基于处理器的实现,则该方法的步骤可以由客户端设备的一个或多个处理器执行。在这种情况下,客户端设备还可以包括其中存储有用于实现下述功能的程序代码的存储器。
在步骤1010处,客户端设备在单播传输模式下接收流式传输内容的一部分。这可以基于在步骤910处可选地接收到的媒体描述(例如,基于媒体描述所指示的URL)来完成。客户端设备可以例如通过基于HTTP的机制来请求流式传输内容的分段。
在步骤1020处,客户端设备接收同步流(比如,上面提及的同步流)。同步流指示在多播传输模式下发送的流式传输内容的分段的定时。同步流与流式传输内容分离(即,不包括流式传输内容)且指示定时。同步流可以在多播传输模式下发送,并且例如包括与流式传输内容的分段同步发送的分段,用于指示在多播传输模式下发送的流式传输内容的分段的边界。同步流可以包括针对在多播传输模式下发送的流式传输内容的每个分段的、标识该分段并且与该分段同步地发送的指示。这种指示可以包括分段的URL、分段的序列号、分段的时间戳、和/或分段的索引。
基于所指示的定时,客户端设备控制切换到接收在多播传输模式下发送的流式传输内容的一个或多个分段。
如步骤1030所示,切换的控制可以涉及确定在多播传输模式下发送的流式传输内容的分段的定时(例如,通过确定在多播传输下何时开始发送某个分段)。
在步骤1040处,客户端设备然后可以决定是否切换到在多播传输模式下发送的分段的接收。例如,如果在步骤1030处确定的定时指示已经在单播传输模式下接收到了紧接在多播传输模式下的发送即将开始的下一分段之前的分段,则客户端设备可以决定切换以在多播传输模式下接收下一分段。换句话说,当单播传输模式下的接收已经实现与在多播传输模式下发送的分段的定时对准时,客户端设备可以切换到在多播传输模式下的接收。
如果客户端设备决定不切换到在多播传输模式下的接收,则客户端设备可以返回到步骤1010(如分支“否”所示),以在单播传输模式下接收流式传输内容的另一分段。否则,如果客户端设备决定切换到在多播传输模式下的接收,则客户端设备可以前进到步骤1050(如分支“是”所示),以在多播传输模式下接收流式传输内容的一个或多个分段。
因此,基于由同步流指示的定时,客户端设备控制从接收在单播传输模式下发送的流式传输内容的一个或多个分段的第一集合切换到接收在多播传输模式下发送的流式传输内容的一个或多个分段的第二集合。客户端设备可以根据同步流中的指示来确定流式传输内容的一个或多个分段的第一集合,并且请求在单播传输模式下发送流式传输内容的一个或多个分段的第一集合。
在一些场景下,客户端没备可以基于所指示的定时来确定在多播传输模式下发送的流式传输内容的两个连续分段之间的间隙的时间,并且基于所确定的间隙的时间来执行切换以在多播传输模式下接收。具体地,客户端设备可以在避免错过在多播传输模式下发送的即将到来的分段的开始的时间时切换到在多播传输模式下接收。
在一些场景下,客户端设备也可以利用由同步流指示的定时来作为用于在图9的步骤910处修改媒体描述的输入。特别地,客户端设备可以将根据同步流导出的可用时间与由媒体描述指示的可用时间进行比较,并且修改媒体描述,以使由媒体描述所指示的可用时间与根据同步流导出的可用时间相对应。
图11示出用于示出根据图9的方法以及可选地还根据图10的方法操作的客户端设备1100的功能的框图。如图所示,客户端设备1100可以可选地设置有:模块1110,被配置为处理与流式传输内容相关联的媒体描述(比如,结合步骤910所说明的);模块1120,被配置为在多播传输模式下接收流式传输内容的分段(比如,结合步骤920所说明的);模块1130,被配置为确定输入数据速率(比如,结合步骤930所说明的);模块1140,被配置为设置输出数据速率(比如,结合步骤940所说明的);以及模块1150,被配置为根据输出数据速率向媒体播放器输出流式传输内容的分段(比如,结合步骤950所说明的)。此外,客户端设备1100可以设置有:模块1160,被配置为在单播传输模式下接收流式传输内容的一个或多个分段的第一集合(比如,结合步骤1010所说明的);模块1170,被配置为接收同步流,同步流与流式传输内容分离且指示在多播传输模式下发送的流式传输内容的分段的定时(比如,结合步骤1020所说明的);以及模块1180,被配置为基于所指示的定时进行控制以切换到接收在多播传输模式下发送的流式传输内容的一个或多个分段的第二集合(比如,结合步骤1030和1040所说明的)。
应该理解的是,客户端设备还可以包括用于实现如上所述的其它功能(比如,媒体播放器140的功能)的其它模块,并且客户端设备的模块不一定表示客户端设备的硬件结构,而是也可以与例如通过硬件、软件或其组合实现的功能元件相对应。
图12示出了可以用于在客户端设备1200(比如,客户端设备100或1100)中实现上述构思的示例性结构。客户端设备1200可以例如与移动电话或者一些其它类型的便携式或固定式计算设备相对应。在一些场景下,客户端设备还可以与为其它设备(比如,家庭网关)提供到通信网络的连接的设备相对应。
如图所示,客户端设备1200可以包括用于使客户端设备1200能够接入通信网络的网络接口1210。网络接口1210可以实现图1和图2所示的订户接口,或者可以用于将客户端设备1200连接到这样的订户接口。网络接口1210可以例如被配置为经由DSL链路、蜂窝无线电链路或WLAN链路将客户端设备1200连接到通信网络。此外,客户端设备1200可以设置有用于例如经由LAN连接来连接到其它设备的客户端接口1220。如果客户端设备1200与家庭网关或类似的网络连接设备相对应,则客户端接口1220可以例如用于建立到实现用于播放流式传输内容的媒体播放器的其它设备的连接。
此外,客户端设备1200可以包括与接口1210耦接的一个或多个处理器1250和与处理器1250耦接的存储器1260。存储器1260可以包括只读存储器(ROM)(例如,闪存ROM)、随机存取存储器(RAM)(例如,动态RAM(DRAM)或静态RAM(SRAM))、大容量储存设备(例如,硬盘或固态盘)等。存储器1260包括将由处理器1250执行以实现客户端设备的上述功能的适当配置的程序代码。具体地,存储器1160可以包括用于使客户端设备1200指定如上所述的处理(例如,与图9的方法步骤以及可选的还有图10的方法步骤相对应)的各种程序代码模块。
如图所示,存储器1260可以包括用于实现如下上述功能的内容接收模块1270:在多播传输模式或单播传输模式下接收流式传输内容的分段(例如,结合图9的步骤920或者图10的步骤1010或1050所说明的);以及,可选地,接收同步流(比如,结合图10的步骤1020所说明的)。此外,存储器1260可以包括用于实现适配与流式传输内容相关联的媒体描述(比如,结合图9的步骤910所说明的)的上述功能的媒体管理模块1280。此外,存储器1260还可以包括用于实现设置到媒体播放器的输出数据速率(比如,结合图9的步骤930和940所描述的)的上述功能的速率控制模块1290。
应当理解的是,图12中所示的结构仅仅是示意性的,并且客户端设备1200实际上可以包括诸如其它接口或处理器之类的其它组件,为了清楚,未示出这些其它组件。此外,应当理解的是,存储器1260可以包括未被示出的其它类型的程序代码模块,例如用于实现客户端设备的已知功能(例如,家庭网关的功能、或者配备有用于播放流式传输内容的媒体播放器的多媒体设备的功能)的程序代码模块。根据一些实施例,还可以例如以存储要在存储器1260中存储的程序代码和/或其它数据的物理介质的形式,或者通过使程序代码可通过下载或通过流式传输而可用,来提供用于实现客户端设备1200的功能的计算机程序。
可以看出,上述构思可以用于在通信电发送中高效地对内容进行流式传输。具体地,这些构思可以用于使DASH媒体播放器或类似的媒体播放器能够通过多播或广播传输(例如,基于IP多播)来接收流式传输内容。这些构思可以以对媒体播放器透明的方式来实现。因此,媒体播放器可以以常规方式请求期望质量等级的分段,并因此保持知道质量等级的任何改变,即使这种改变是从媒体播放器外部激励而成的。通过使用同步流,流式传输代理能够按时加入这样的多播或广播传输,同时避免通过多播和单播冗余接收相同的内容。
应当理解的是,上述示例实施例仅是说明性的并且易于做出各种修改。例如,所示的构思可以结合各种通信网络技术来应用。此外,应该注意的是,在一些场景下,客户端设备的上述功能可以与播放器分离地实现。如上所述,客户端设备100(特别是MC-RX 110)和流式传输代理150的功能可以在诸如家庭网关或多媒体路由器之类的第一客户端设备中实现,并且媒体播放器140的功能可以在诸如流式传输盒、电视机、智能手机、平板计算机、移动或固定式个人计算机、游戏机之类的第二客户端设备中实现。此外,同步流不仅可以在初始开始接收流时用于调谐,而且还可以在相同流的不同质量等级之间切换时用于调谐。此外,在一些实现中,可以省略对同步流的利用和/或对单播接收的附加利用。此外,所示构思可以结合各种流式传输技术、内容类型和媒体编解码器来应用。此外,将理解的是,可以通过使用将由现有设备的一个或多个处理器执行的相应设计软件或者通过使用专用设备硬件来实现上述构思。此外,应该注意的是,所示的客户端设备可以被实现为单个设备或者被实现为多个交互设备的***。
Claims (33)
1.一种对内容进行流式传输的方法,所述方法包括:
客户端设备(100;1100;1200)在多播传输模式下接收流式传输内容的分段;
所述客户端设备(100;1100;1200)确定与在所述多播传输模式下接收所述分段相关联的输入数据速率;以及
根据所述输入数据速率,所述客户端设备(100;1100;1200)设置输出数据速率;以及
响应于来自媒体播放器(140)的请求,所述客户端设备(100;1100;1200)以所述输出数据速率向所述媒体播放器(140)输出所接收到的分段。
2.根据权利要求1所述的方法,包括:
其中,所述请求指示所述流式传输内容的质量等级;以及
其中,所述客户端设备(100;1100;1200)根据所指示的质量等级选择要在所述多播传输模式下接收的分段。
3.根据权利要求2所述的方法,包括:
通过增加所述输出数据速率,所述客户端设备(100;1100;1200)使得所述媒体播放器(140)发送指示更高质量等级的请求。
4.根据权利要求2或3所述的方法,包括:
通过降低所述输出数据速率,所述客户端设备(100;1100;1200)使得所述媒体播放器(140)发送指示更低质量等级的请求。
5.根据前述任一项权利要求所述的方法,
所述客户端设备(100;1100;1200)在单播传输模式下接收所述流式传输内容的一个或多个分段的第一集合;
所述客户端设备(100;1100;1200)接收同步流,所述同步流与所述流式传输内容分离且指示在所述多播传输模式下发送的所述流式传输内容的分段的定时;以及
基于所指示的定时,所述客户端设备(100;1100;1200)切换到在所述多播传输模式下接收分段。
6.根据权利要求5所述的方法,
其中,所述同步流是在所述多播传输模式下发送的。
7.根据权利要求5或6所述的方法,
其中,所述同步流包括:针对在所述多播传输模式下发送的所述流式传输内容的每个分段的、标识该分段并且与该分段同步地发送的指示。
8.根据权利要求7所述的方法,
其中,所述指示基于所述分段的统一资源定位符。
9.根据权利要求7或8所述的方法,
其中,所述指示基于所述分段的序列号。
10.根据权利要求7至9中任一项所述的方法,
其中,所述指示基于所述分段的时间戳。
11.根据权利要求7至10中任一项所述的方法,
其中,所述指示基于所述分段的索引。
12.根据前述任一项权利要求所述的方法,
所述客户端设备(100;1100;1200)接收与所述流式传输内容相关联的媒体描述,所述媒体描述包括指示所述流式传输内容的分段的可用性时间的可用性信息;
所述客户端设备(100;1100;1200)修改所述媒体描述以将所指示的可用性时间移位到稍后的时间;以及
所述客户端设备(100;1100;1200)向所述媒体播放器(140)输出修改后的媒体描述。
13.根据前述任一项权利要求所述的方法,
其中,所述媒体播放器(140)经由局域网链路连接到所述客户端设备(100;1100;1200)。
14.根据权利要求1至12中任一项所述的方法,
其中,所述客户端设备(100;1100;1200)包括所述媒体播放器(140)。
15.根据前述任一项权利要求所述的方法,
其中,所述流式传输内容的分段是根据基于超文本传输协议技术的动态自适应流式传输的流的分段。
16.一种客户端设备(100;1100;1200),所述客户端设备(100;1100;1200)被配置为:
-在多播传输模式下接收流式传输内容的分段;
-确定与在所述多播传输模式下接收所述分段相关联的输入数据速率;以及
-根据所述输入数据速率,设置输出数据速率;以及
-响应于来自媒体播放器(140)的请求,以所述输出数据速率向所述媒体播放器(140)输出所接收到的分段。
17.根据权利要求16所述的客户端设备(100;1100;1200),包括:
其中,所述请求指示所述流式传输内容的质量等级;以及
其中,所述客户端设备(100;1100;1200)被配置为根据所指示的质量等级选择要在所述多播传输模式下接收的分段。
18.根据权利要求17所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)被配置为:通过增加所述输出数据速率,使得所述媒体播放器(140)发送指示更高质量等级的请求。
19.根据权利要求17或18所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)被配置为:通过减少所述输出数据速率,使得所述媒体播放器(140)发送指示更低质量等级的请求。
20.根据权利要求16至19中任一项所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)被配置为:
-在单播传输模式下接收所述流式传输内容的一个或多个分段的第一集合;
-接收同步流,所述同步流与所述流式传输内容分离且指示在所述多播传输模式下发送的所述流式传输内容的分段的定时;以及
-基于所指示的定时,切换到在所述多播传输模式下接收分段。
21.根据权利要求20所述的客户端设备(100;1100;1200),
其中,所述同步流是在所述多播传输模式下发送的。
22.根据权利要求20或21所述的客户端设备(100;1100;1200),
其中,所述同步流包括:针对在所述多播传输模式下发送的所述流式传输内容的每个分段的、标识该分段并且与该分段同步地发送的指示。
23.根据权利要求22所述的客户端设备(100;1100;1200),
其中,所述指示基于所述分段的统一资源定位符。
24.根据权利要求22或23所述的客户端设备(100;1100;1200),
其中,所述指示基于所述分段的序列号。
25.根据权利要求22至24中任一项所述的客户端设备(100;1100;1200),
其中,所述指示基于所述分段的时间戳。
26.根据权利要求22至25中任一项所述的客户端设备(100;1100;1200),
其中,所述指示基于所述分段的索引。
27.根据权利要求16至26中任一项所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)被配置为:
-接收与所述流式传输内容相关联的媒体描述,所述媒体描述包括指示所述流式传输内容的分段的可用性时间的可用性信息;
-修改所述媒体描述以将所指示的可用性时间移位到稍后的时间;以及
-向所述媒体播放器(140)输出修改后的媒体描述。
28.根据权利要求16至27中任一项所述的客户端设备(100;1100;1200),
其中,所述媒体播放器(140)经由局域网链路连接到所述客户端设备(100;1100;1200)。
29.根据权利要求16至27中任一项所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)包括所述媒体播放器(140)。
30.根据前述权利要求中任一项所述的客户端设备(100;1100;1200),
其中,所述流式传输内容的分段是根据基于超文本传输协议技术的动态自适应流式传输的流的分段。
31.根据权利要求16所述的客户端设备(100;1100;1200),
其中,所述客户端设备(100;1100;1200)被配置为执行根据权利要求1至15中的任一项所述的方法的步骤。
32.一种包括将由客户端设备(100;1100;1200)的至少一个处理器(1250)执行的程序代码在内的计算机程序,其中,所述程序代码的执行使得所述客户端设备(100;1100;1200)执行根据权利要求1至15中任一项所述的方法的步骤。
33.一种包括将由客户端设备(100;1100;1200)的至少一个处理器(1250)执行的程序代码在内的计算机程序产品,其中,所述程序代码的执行使得所述客户端设备(100;1100;1200)执行根据权利要求1至15中任一项所述的方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2015/078407 WO2017092805A1 (en) | 2015-12-02 | 2015-12-02 | Data rate adaptation for multicast delivery of streamed content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108370281A true CN108370281A (zh) | 2018-08-03 |
CN108370281B CN108370281B (zh) | 2021-09-03 |
Family
ID=54883999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580085031.4A Active CN108370281B (zh) | 2015-12-02 | 2015-12-02 | 流式传输内容的多播传送的数据速率适配 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11070601B2 (zh) |
EP (1) | EP3384617B1 (zh) |
CN (1) | CN108370281B (zh) |
WO (1) | WO2017092805A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113169969A (zh) * | 2018-11-30 | 2021-07-23 | 英国电讯有限公司 | 多播到单播转换 |
CN114270790A (zh) * | 2019-08-30 | 2022-04-01 | 英国电讯有限公司 | 内容递送 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108370281B (zh) * | 2015-12-02 | 2021-09-03 | 瑞典爱立信有限公司 | 流式传输内容的多播传送的数据速率适配 |
CN111698536B (zh) * | 2019-03-15 | 2023-03-28 | 瑞昱半导体股份有限公司 | 视频处理方法与*** |
JP7435753B2 (ja) * | 2020-04-27 | 2024-02-21 | 日本電信電話株式会社 | コンテンツ配信システム |
GB2602270B (en) * | 2020-12-18 | 2023-03-29 | British Telecomm | Content delivery |
GB2617107A (en) * | 2022-03-29 | 2023-10-04 | British Telecomm | Content delivery |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402143A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的流量控制方法 |
CN101075957A (zh) * | 2007-06-26 | 2007-11-21 | 上海大学 | Avs流媒体传输控制方法 |
CN101123606A (zh) * | 2007-07-13 | 2008-02-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输协议或实时控制协议的avs传输控制方法 |
CN101162974A (zh) * | 2007-11-21 | 2008-04-16 | 杭州华三通信技术有限公司 | 一种组播视频存储的方法、***及设备 |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
US20110082924A1 (en) * | 2009-10-06 | 2011-04-07 | Openwave Systems Inc. | Managing network traffic by editing a manifest file |
CN102572409A (zh) * | 2011-12-19 | 2012-07-11 | 中山爱科数字科技股份有限公司 | 一种应用于移动视频监控防止扇区切换过程视频中断的方法 |
CN104243102A (zh) * | 2014-09-30 | 2014-12-24 | 深圳市云之讯网络技术有限公司 | 一种基于网络状态评估的码率控制方法及其装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125877A1 (en) * | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
US20020144276A1 (en) * | 2001-03-30 | 2002-10-03 | Jim Radford | Method for streamed data delivery over a communications network |
US7430222B2 (en) * | 2004-02-27 | 2008-09-30 | Microsoft Corporation | Media stream splicer |
US20060031564A1 (en) * | 2004-05-24 | 2006-02-09 | Brassil John T | Methods and systems for streaming data at increasing transmission rates |
US8379851B2 (en) * | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
CN101674498B (zh) * | 2008-09-12 | 2013-03-20 | 华为技术有限公司 | 一种传送恒定速率数据流的方法、设备及*** |
WO2010111261A1 (en) * | 2009-03-23 | 2010-09-30 | Azuki Systems, Inc. | Method and system for efficient streaming video dynamic rate adaptation |
US10003851B2 (en) | 2009-11-24 | 2018-06-19 | Imagine Communications Corp. | Managed multiplexing of video in an adaptive bit rate environment |
EP2469774A1 (en) * | 2010-12-23 | 2012-06-27 | British Telecommunications public limited company | Video streaming over data networks |
US8516144B2 (en) * | 2011-04-29 | 2013-08-20 | Cbs Interactive Inc. | Startup bitrate in adaptive bitrate streaming |
EP2525587B1 (en) * | 2011-05-17 | 2017-07-05 | Alcatel Lucent | Method for streaming video content, node in a network for monitoring video content streaming |
EP2563059A1 (en) * | 2011-08-26 | 2013-02-27 | Thomson Licensing | Method for adapting the data rate during transmission of variable bit-rate data streams |
US8751679B2 (en) * | 2011-10-07 | 2014-06-10 | Ericsson Television Inc. | HTTP adaptive streaming server with automatic rate shaping |
KR20170083641A (ko) * | 2012-07-10 | 2017-07-18 | 브이아이디 스케일, 인크. | 품질 주도형 스트리밍 |
US9015470B2 (en) * | 2012-11-08 | 2015-04-21 | Morega Systems, Inc | Adaptive video server with fast initialization and methods for use therewith |
US9537917B2 (en) * | 2012-11-20 | 2017-01-03 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
US9705948B2 (en) * | 2013-05-31 | 2017-07-11 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for transmitting content using segment-based and non-segment-based streams |
US9374410B2 (en) * | 2013-07-24 | 2016-06-21 | Imvision Software Technologies Ltd. | System and method for seamless switchover between unicast and multicast sources of over-the-top streams |
US20150067108A1 (en) * | 2013-08-30 | 2015-03-05 | Broadcom Corporation | Data rate control of individual data streams in a network device |
US9769235B2 (en) * | 2014-06-26 | 2017-09-19 | Arris Enterprises Llc | Server side adaptive bit rate control for HTTP streaming clients |
US10575042B2 (en) * | 2015-11-27 | 2020-02-25 | British Telecommunications Public Limited Company | Media content synchronization |
CN108370281B (zh) * | 2015-12-02 | 2021-09-03 | 瑞典爱立信有限公司 | 流式传输内容的多播传送的数据速率适配 |
-
2015
- 2015-12-02 CN CN201580085031.4A patent/CN108370281B/zh active Active
- 2015-12-02 WO PCT/EP2015/078407 patent/WO2017092805A1/en active Application Filing
- 2015-12-02 EP EP15812984.1A patent/EP3384617B1/en active Active
- 2015-12-02 US US15/776,468 patent/US11070601B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402143A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的流量控制方法 |
CN101296158A (zh) * | 2007-04-26 | 2008-10-29 | 深圳市同洲电子股份有限公司 | 一种流媒体数据传输方法及其数据传输装置 |
CN101075957A (zh) * | 2007-06-26 | 2007-11-21 | 上海大学 | Avs流媒体传输控制方法 |
CN101123606A (zh) * | 2007-07-13 | 2008-02-13 | 上海广电(集团)有限公司中央研究院 | 基于实时传输协议或实时控制协议的avs传输控制方法 |
CN101162974A (zh) * | 2007-11-21 | 2008-04-16 | 杭州华三通信技术有限公司 | 一种组播视频存储的方法、***及设备 |
US20110082924A1 (en) * | 2009-10-06 | 2011-04-07 | Openwave Systems Inc. | Managing network traffic by editing a manifest file |
CN102572409A (zh) * | 2011-12-19 | 2012-07-11 | 中山爱科数字科技股份有限公司 | 一种应用于移动视频监控防止扇区切换过程视频中断的方法 |
CN104243102A (zh) * | 2014-09-30 | 2014-12-24 | 深圳市云之讯网络技术有限公司 | 一种基于网络状态评估的码率控制方法及其装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113169969A (zh) * | 2018-11-30 | 2021-07-23 | 英国电讯有限公司 | 多播到单播转换 |
CN114270790A (zh) * | 2019-08-30 | 2022-04-01 | 英国电讯有限公司 | 内容递送 |
CN115152241A (zh) * | 2020-02-04 | 2022-10-04 | 杜比国际公司 | 用于媒体内容的自适应播放的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108370281B (zh) | 2021-09-03 |
US20180343291A1 (en) | 2018-11-29 |
WO2017092805A1 (en) | 2017-06-08 |
EP3384617A1 (en) | 2018-10-10 |
EP3384617B1 (en) | 2021-07-14 |
US11070601B2 (en) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108370281A (zh) | 流式传输内容的多播传送的数据速率适配 | |
US10320868B2 (en) | Processing of multimedia data | |
JP6308718B2 (ja) | マルチパス環境におけるアダプティブストリーミングのためのシステムと方法 | |
JP6016778B2 (ja) | チャンクの形態でストリーミングされたコンテンツを回復する方法 | |
TWI580237B (zh) | 單一播放適應性位元率串流 | |
TWI574531B (zh) | 於相同視訊傳送管線內之客戶前提元件中將多重播放適應性位元率及單一播放適應性位元率與累進下載適應性位元率合併之技術 | |
US20150334153A1 (en) | Low-Latency Streaming | |
US11044532B2 (en) | Content transfer device and content transfer method, content reproduction device and content reproduction method, content distribution system and computer program | |
US8316148B2 (en) | Method and apparatus for obtaining media over a communications network | |
KR101438737B1 (ko) | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 | |
US10917675B2 (en) | System and method for intelligent delivery of segmented media streams | |
CN107659853B (zh) | 一种自适应流媒体直播控制*** | |
JP5610743B2 (ja) | コンテンツ受信方法及び装置 | |
KR102237900B1 (ko) | 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법 | |
EP2715987A1 (en) | Method and apparatus for streaming multimedia contents | |
KR20160120605A (ko) | 하이브리드망에서의 미디어 서비스 송수신 장치 및 방법 | |
US11316776B2 (en) | System and method for bypassing a content delivery network (CDN) | |
WO2017063704A1 (en) | Synchronization stream for switching to multicast delivery of streamed content |
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 |