CN105075276B - 在广播通信网络中操作客户端设备和服务器设备的技术 - Google Patents
在广播通信网络中操作客户端设备和服务器设备的技术 Download PDFInfo
- Publication number
- CN105075276B CN105075276B CN201380074469.3A CN201380074469A CN105075276B CN 105075276 B CN105075276 B CN 105075276B CN 201380074469 A CN201380074469 A CN 201380074469A CN 105075276 B CN105075276 B CN 105075276B
- Authority
- CN
- China
- Prior art keywords
- client device
- partitioning
- availability
- media stream
- information
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 100
- 238000005516 engineering process Methods 0.000 title abstract description 9
- 238000000638 solvent extraction Methods 0.000 claims abstract description 331
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims description 79
- 239000000872 buffer Substances 0.000 claims description 43
- 230000003044 adaptive effect Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 238000009877 rendering Methods 0.000 claims description 12
- 230000003139 buffering effect Effects 0.000 claims description 7
- 230000004069 differentiation Effects 0.000 claims 3
- 230000011218 segmentation Effects 0.000 description 40
- 210000004027 cell Anatomy 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- TZSMWSKOPZEMAJ-UHFFFAOYSA-N bis[(2-methoxyphenyl)methyl] carbonate Chemical compound COC1=CC=CC=C1COC(=O)OCC1=CC=CC=C1OC TZSMWSKOPZEMAJ-UHFFFAOYSA-N 0.000 description 1
- 210000004271 bone marrow stromal cell Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009415 formwork Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- 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/1066—Session management
- H04L65/1083—In-session procedures
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- 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/26208—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 the scheduling operation being performed under constraints
-
- 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/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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
描述了一种操作客户端设备(100)的技术,所述客户端设备适于通过广播通信网络(102)从服务器设备(200)处接收包括各个媒体分段的媒体流。该技术的方法方案包括:确定第一可用性信息,该第一可用性信息指示第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在客户端设备(100)处的预测的可用性;基于第一可用性信息,并且针对在客户端设备(100)处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段,确定在客户端设备(100)处的预测的可用性与实际的可用性之间的差别;以及向服务器设备(200)传输差别信息,该差别信息反映针对所述至少一个媒体分段确定的差别。
Description
技术领域
本公开大体上涉及在广播通信网络中操作客户端设备和服务器设备。客户端设备适于从服务器设备处接收媒体分段的流以及指示预测的媒体分段可用性的信息。
背景技术
在很多通信应用中使用从服务器设备向客户端设备传输的媒体流。例如,现在通常从服务器设备向客户端设备传输视频/音频流,并且通常在客户端设备的人机界面上渲染(render)所传输的音频/视频流的内容。由此,使得客户端设备的用户能够观看电影或参加视频会议。
为了防止客户端设备的渲染机制试图渲染还没有实际到达客户端设备的媒体流的媒体分段,服务器设备和客户端设备必须对媒体流的传输和渲染进行同步。通过这种方式,还可以防止已经到达客户端设备的媒体分段在客户端设备的人机界面上渲染之前缓冲不必要的长时间。
为了实现对媒体流的传输和渲染的恰当同步,已经提出了向客户端设备提供媒体流特性信息(包括例如:关于在服务器设备处的媒体流的媒体分段的可用性的信息、关于媒体分段的数据大小的信息等等)。例如,在传统方法中,媒体流特性信息可以指示在哪个时间点上媒体流的具体媒体分段在服务器设备处变得可用于向客户端设备传输。基于该信息,客户端设备可以向服务器设备发送对应的传输请求,以触发媒体分段的传输。由于客户端设备总是知道所需的媒体流的分段在服务器设备处可供传输的准确时间点,并且由于客户端设备可以主动地触发媒体分段的传输,因此可以有效地同步媒体流传输和媒体流渲染。
如果从服务器设备向客户端设备的媒体流传输是通过单播类型通信网络完成的,则上述方法可以很好地运转。然而,如果从服务器设备向客户端设备的媒体流传输是通过广播/多播网络完成的,则服务器设备与客户端设备之间的同步会比较困难,因为客户端设备可能不能完全主动地控制(触发)从服务器设备向客户端设备的媒体分段的传输。
例如,可能发生这样的情况:由于通信网络中的传输延迟,由服务器设备及时发出的媒体分段到达客户端设备的时间比预期的时间要晚。尽管向客户端设备通知了由服务器设备向客户端设备发出媒体分段的时间点,但仍然难以预测在客户端设备处媒体分段的真实可用性。因此,会发生客户端设备试图渲染本该已经到达但实际上还没到的媒体分段的情况。
发明内容
针对使用广播通信网络从服务器设备向客户端设备传输的媒体流,提高在服务器设备与客户端设备之间的同步性是令人期望的。
根据本公开的方案,提供了一种操作客户端设备的方法,所述客户端设备适于通过广播通信网络从服务器设备接收包括各个媒体分段的至少一个媒体流。该方法包括:确定第一可用性信息,该第一可用性信息指示第一媒体流或第一媒体流的第一部分的一个或多个媒体分段在客户端设备处的预测的可用性。该方法还包括:基于第一可用性信息,并且针对在客户端设备处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段,确定在客户端设备处的预测的可用性与实际的可用性之间的差别。然后,向服务器设备传输反映针对所述至少一个媒体分段确定的差别的差别信息。
在某些配置中,客户端设备可以将媒体分段的预测的可用性与媒体分段在客户端设备处的真实可用性相比较。客户端设备还可以将该比较过程的结果报告回服务器设备。通过这种方式,例如,客户端设备可以将关于第一可用性信息的正确性的反馈给予服务器设备。服务器设备然后可以基于该反馈作出反应。例如,服务器设备可以修改目前为止还没有发送出去的媒体分段的发送定时,或者修改将要向客户端设备发送的、对将来的媒体流(第二媒体流)的或者同一个媒体流的仍要在将来向客户端设备发送的部分的一个或多个媒体分段的预测的可用性进行指示的可用性信息。
可以从服务器设备接收第一可用性信息。备选地,可以由客户端设备自身生成第一可用性信息。第一可用性信息可以明确指定关于一个/若干个媒体分段在客户端设备处的预测的可用性的一个/若干个时间点。备选地,第一可用性信息可以是:并不(或者仅部分地)明确指定关于一个/若干个媒体分段在客户端设备处的预测的可用性的一个/若干个时间点的信息,而是客户端设备自身可以根据其(例如通过解压缩或任何其它方式)计算出关于一个/若干个媒体分段在客户端设备处的预测的可用性的明确时间点的信息。例如,第一可用性信息可以包括:单个媒体分段在客户端处的预测的可用性,以及针对所有后续媒体分段都恒定的媒体分段持续时间。在这种情况下,客户端设备自身在不需要任何其它信息的情况下可以计算后续媒体分段在客户端设备处的预测的可用性。
该方法还包括从服务器设备接收第二可用性信息,该第二可用性信息对第二媒体流或第一媒体流的第二部分的媒体分段在客户端设备处的预测的可用性进行指示,并且反映所传输的差别信息。第一媒体流的第二部分通常可以是第一媒体流的跟在(立即或有延迟地)第一媒体流的第一部分之后的部分。第一媒体流的第二部分在第一媒体流地第一部分之后向客户端设备发送。类似地,在已经向客户端设备发送第一媒体流之后,向客户端设备发送第二媒体流。在第一媒体流的第一部分与第一媒体流的第二部分之间的时间或在第一媒体流与第二媒体流之间的时间取决于应用的类型,并且可以任意选择。例如该时间可以是一秒钟或更短的时间,或者是一周甚或更长的时间。由客户端设备向服务器设备反馈的差别信息可以影响第二可用性信息的生成。由此,第二媒体流或第一媒体流的第二部分的媒体分段的预测的可用性与实际的可用性之间的差别通常可以小于第一媒体流或第一媒体流的第一部分的媒体分段的预测的可用性与实际的可用性之间的差别。第二媒体流可以是先前的(例如第一)媒体流的更新部分。类似地,第一媒体流的第二部分可以是第一媒体流先前的(例如第一)部分的更新部分。
客户端设备可以生成反映所确定的在第二媒体流或第一媒体流的第二部分的媒体分段的预测的可用性与实际的可用性之间的差别的另一差别信息,并向服务器设备传输该差别信息。服务器设备可以使用该另一差别信息来生成第三可用性信息,该第三可用性信息对跟在(立即或有延迟地)客户端设备处的第二媒体流或第一媒体流的第二部分之后的第三媒体流或第一媒体流的第三部分的媒体分段的预测的可用性进行指示,并以此类推。
媒体流的第一部分(以及,可选地,媒体流的第二部分、媒体流的第三部分等等)可以分别包括仅一个媒体分段,或者备选地包括多个媒体分段。媒体流的不同部分的长度可以相互不同。类似地,第一媒体流、第二媒体流、第三媒体流等等可以分别包括仅一个媒体分段或者多个媒体分段。不同媒体流的长度可以相互不同。
重复确定的在媒体流的预测的可用性与实际的可用性之间的差别可以在客户端设备处或在服务器设备处收集,并作为整体来处理。例如,可以基于目前为止在服务器设备处接收的所有的差别值来确定平均差别值,并且可以使用该平均值以便生成针对将来要传输的媒体分段的可用性信息或者以便收集统计数据。在多个客户端设备附接到服务器设备的情况下,可以针对客户端设备求平均。
一个或多个接收的媒体分段可以在客户端设备处的缓冲器中缓存。通过这种方式,例如,下述情况是可能的:在所有收集的媒体分段作为要渲染的一批从缓冲器读出之前,在客户端设备处收集媒体流的特定数量的分段。例如,客户端设备可以等待,直到在客户端设备处已经接收形成完整的视频帧序列所需要的媒体分段,并且然后通过一次从缓冲器中读出对应的媒体分段来渲染该视频帧序列。
差别信息可以反映至少一个缓冲时间段,该缓冲时间段指示在客户端设备处完全接收的媒体分段在到所接收的媒体分段已经从缓冲器中读出以便渲染为止在缓冲器中已经存储多长时间。缓冲时间段可以反映在媒体分段在客户端设备处的接收时间与该媒体分段的渲染时间之间的延迟。缓冲时间段可被用作反映媒体分段的预测的可用性与实际的可用性之间的差别的指示器。如果缓冲时间段太长,则客户端设备在向客户端设备的用户渲染媒体分段之前等待了不必要的时间。如果缓冲时间段太短,则可能存在这样的风险:在从服务器设备向客户端设备的媒体流传输时间发生小波动的情况下,客户端设备太早读取媒体分段(因为该媒体分段还没被完全接收)。
可以使用广播组播业务中心(BM-SC)的接收报告功能从客户端设备向服务器设备传输差别信息。用于传输差别信息的通信协议可以是传输控制协议/因特网互联协议(TCP/IP)。客户端设备可以将指定客户端设备位置的位置信息(例如小区识别信息、基于卫星的位置信息(例如来自全球定位系统)或服务区信息)添加到差别信息中。一般地,可以使用任意的现有通信基础设施,以便从客户端设备向服务器设备发送差别信息。作为示例,还可以使用UDP。
客户端设备可以使用在客户端设备上运行的扩展的或现有的体验质量(QoE)功能来确定在预测的可用性与实际的可用性之间的差别。使用已经现有的QoE功能的优点是不需要额外的(例如硬件)资源。可以使用BM-SC的接收报告功能来收集所确定的差别(QoE报告)。
在确定了一个媒体分段的实际的可用性晚于预测的可用性之后,可以立即发送差别信息。通过这种方式,可以从客户端设备向服务器设备给予将非常快的反馈。作为替代或补充,在客户端设备处确定多个在客户端设备处接收的媒体分段的预测的可用性与实际的可用性之间的差别(例如在逐个分段的基础上或在任何其它基础上确定这多个差别),其中在客户端设备处根据所确定的多个差别来得到该差别信息。因此,反馈可以更精确,因为该反馈反映了更多的“历史”。
差别信息可以包括差别最小值,该差别最小值是所确定的多个差别中的最小差别。通过这种方式,过滤出“最关键”的媒体分段(即最有危险会被客户端设备过早渲染的媒体分段)。作为替代或补充,差别信息可以包括差别最大值,该差别最大值是所确定的多个差别中最大的差别的值。通过这种方式,过滤出在向客户端设备的用户渲染之前在缓冲器中已经缓存了最长时间的媒体分段。因此服务器设备得到了关于媒体分段在客户端设备处的可用性的范围的概念。作为替代或补充,差别信息可以包括多个差别值的平均值。
客户端设备可以包括被配置为根据预测的可用性来读取每个媒体分段的媒体播放器。作为示例,媒体播放器可以试图根据媒体分段的预测的可用性从缓冲器中读出媒体分段。如果预测的可用性不正确,则可能发生尽管媒体分段还没有存储在缓冲器中,媒体播放器就试图从缓冲器中读取该媒体分段的情况。在其它的情况下,可能出现很晚才从缓冲器中读出媒体分段的情况,这意味着媒体分段在缓冲器中存储了很长一段不必要的时间。
根据另一方案,提供了一种操作服务器设备的方法,该服务器设备通过广播通信网络向客户端设备传输包括各个媒体分段的至少一个媒体流。该方法包括向客户端设备传输第一可用性信息,该第一可用性信息对将在未来向客户端设备传输的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段在客户端设备处的预测的可用性。该方法还包括从客户端设备接收差别信息,该差别信息针对在客户端设备处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段,反映基于第一可用性信息的预测的可用性与客户端设备处的实际的可用性之间的差。基于所接收的差别信息生成第二可用性信息,该第二可用性信息对在将来向客户端设备传输的第二媒体流或第一媒体流的第二部分的一个或多个媒体分段在客户端设备处的预测的可用性进行指示。第二可用性信息被传输给客户端设备。
术语“服务器设备”可以指示但不限于单个硬件设备。当然“服务器设备”还可以意指相互连接并可以位置上相互分离(例如位于不同城市)的硬件设备的(逻辑)组。例如,发出可用性信息的硬件设备可以与从客户端设备接收差别信息的硬件设备不相同。
服务器设备一般可以基于从客户端设备给予的关于第一可用性信息的反馈(即控制信息,例如差别信息)来生成第二可用性信息。例如,服务器设备可以响应于关于在第一可用性信息中包括的预测的可用性的反馈来调整第二可用性信息中的预测的可用性。通过这种方式,服务器设备有可能优化在向客户端设备发送的可用性信息中包括的媒体分段的预测的可用性的准确性。由此,客户端设备能够既不会太早也不会太晚地渲染媒体流的内容,尽管客户端设备并不主动控制媒体分段的各个传输时间。
服务器设备可以基于接收的差别信息来调整在第二媒体流或第一媒体流的第二部分的一个或多个媒体分段的预测的可用性中反映的时间偏移量。在示例性实时编码情形中,时间偏移量可以指示所估计的在媒体分段在服务器设备处的编码操作结束时与该媒体分段在客户端设备处的接收时间之间的差别。即,该偏移量可以反映服务器设备不能够完全计算的并且因此必须首先估计(并且之后将基于客户端设备的反馈来校准)的时间段。
该至少一个媒体流可以是任意媒体流。例如,该至少一个媒体流可以是自适应媒体流。例如,媒体流可以是自适应超文本传输协议(HTTP)媒体流。然而,也可以是其它类型的自适应媒体流。
该至少一个媒体流可以是运动图像专家组HTTP动态自适应流媒体(MPEG DASH)媒体流。广播通信网络通常可以使用文件传递通信协议(例如基于单向传输的文件传递(FLUTE)通信协议)来从服务器设备向客户端设备传递媒体分段中的至少一个以及可选的第一和第二可用性信息。
一般地,媒体分段可以作为个体文件通过广播通信网络来传递。每个媒体分段可以通过各自的通信路径从服务器设备向客户端设备传递。多个媒体分段也可以作为一个文件一起传输。
第一可用性信息(以及第二可用性信息等等)可被包括在媒体表示说明(MPD)文件中。在本上下文中,从服务器设备向客户端设备传输第一可用性信息的意思是从服务器设备向客户端设备传输第一MPD文件,并且从服务器设备向客户端设备传输第二可用性信息的意思是从服务器设备向客户端设备传输第二MPD文件。可以通过广播通信网络或通过任何不同的通信网络从服务器设备向客户端设备传输MPD文件。
在本公开的上下文中,媒体分段的“预测的可用性”的意思具体可以是对媒体分段何时将在客户端设备上(例如完全)可用(例如供媒体播放器消费媒体分段或供向客户端设备的用户渲染媒体分段)或可供客户端设备下载的预测指示。此外,媒体分段的“实际的可用性”可以是对媒体分段何时已经实际变得(例如完全)可用的指示。作为示例,它可以是对何时用于向客户端设备传递媒体分段的传递协议已经在客户端设备上完全接收媒体分段(例如使得该媒体分段可被媒体播放器消费或可以可向客户端设备的用户渲染)的指示。
在FLUTE用作从服务器设备向客户端设备传递媒体分段的通信协议的情况下,可以使用FLUTE文件恢复机制的文件恢复完成指示器来确定媒体分段的实际的可用性。可以基于监视过程的结果来设置文件恢复完成指示器,该监视过程监视客户端设备上的存储分别包括从服务器设备完全接收的至少一个媒体分段的文件的文件夹或目录。例如,文件恢复完成指示器可以是针对具体文件的、一旦该文件(包括至少一个媒体分段)已经被完全接收并且已经被成功存储在文件夹中时就设置(例如设置为1)的标志。
根据另一个方案,提供了一种计算机程序产品,该计算机程序产品包括程序代码部分,当计算机程序产品在一个或多个计算设备上执行时,该程序代码部分用于执行本文公开的任何一个方法方案的步骤。该计算机程序产品可以存储在计算机可读记录介质上或可以提供用于通过通信网络来下载。
根据又一方案,提供了一种客户端设备,该客户端设备适于通过广播通信网络从服务器设备接收包括各个媒体分段的至少一个媒体流。该客户端设备包括确定单元,该确定单元适于确定第一可用性信息,该第一可用性信息对第一媒体流或第一媒体流的第一部分的一个或多个媒体分段在客户端设备处的预测的可用性进行指示。该客户端设备还包括连接到接收单元的处理单元,该处理单元适于基于所接收的第一可用性信息并且针对在客户端设备处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段来确定在客户端设备处的预测的可用性与实际的可用性之间的差别,并且适于生成向服务器设备反映所确定的差别的差别信息。另外,客户端设备包括发送单元,该发送单元连接到处理单元并且适于向服务器设备传输该差别信息。
根据又一方案,提供了一种服务器设备,该服务器设备适于通过广播通信网络向客户端设备传输包括各个媒体分段的至少一个媒体流。服务器设备包括发送单元,该发送单元适于向客户端设备传输第一可用性信息,该第一可用性信息对在将来向客户端设备传输的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段在客户端设备处的预测的可用性进行指示。此外,服务器设备包括接收单元,该接收单元适于从客户端设备接收差别信息,该差别信息反映针对在客户端设备处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段的基于第一可用性信息的预测的可用性与客户端设备处的实际的可用性之间的差别。另外,提供了生成单元,该生成单元连接到发送单元和接收单元,该生成单元适于基于所接收的差别信息来生成第二可用性信息,该第二可用性信息对在将来向客户端设备传输的第二媒体流或第一媒体流的第二部分的媒体分段在客户端设备处的预测的可用性进行指示。发送单元还适于向客户端设备传输第二可用性信息。
如已经提到的,术语“服务器设备”可以是物理实体或者备选地是可以包括多个相互连接的通信节点的逻辑实体。在这种情况下,可以在逻辑实体的一个设备上生成MPD文件,并且可以由逻辑实体的不同设备来接收客户端设备提供的反馈。
附图说明
在下文中,将参照附图中示出的示例性实施例对本公开进行更详细地描述,其中
图1示出了根据实施例的客户端设备的示意图;
图2示出了根据实施例的服务器设备的示意图;
图3示出了根据实施例的操作客户端设备的方法的示意流程图;
图4显示了示出了根据实施例的操作服务器设备的方法的示意流程图;
图5示出了根据实施例的包括服务器设备和客户端设备的系统的示意图;
图6示出了根据另一个实施例的包括服务器设备和客户端设备的系统的示意图;
图7示出了说明根据实施例的当操作客户端设备/服务器设备时出现的预测的可用性与实际的可用性之间的差别的示意图;
图8示出了说明当使用单播通信链路操作客户端设备或服务器设备时可用的DASH的流传输原理的示意图;
图9示出了根据实施例的当操作客户端设备或服务器设备时可用的MPD文件的示意图;
图10示意性地示出了根据实施例的用于操作客户端设备或服务器设备的可用的FLUTE通信协议的工作原理;以及
图11示出了说明在单播通信网络中的媒体分段可用性管理与广播通信网络中的媒体分段可用性管理之间的差别的示意图。
具体实施方式
在下文的描述中,出于解释而不是限制的目的,阐述了具体细节(例如具体的设备和系统配置和具体的方法、步骤和功能),以便提供对本文介绍的技术的全面理解。应该理解,该技术可以在偏离这些具体细节的其它实施例中实现。作为示例,尽管将结合DASH和FLUTE协议对若干实施例进行描述,但是应该理解,本公开还可以结合其它协议来实现。
本领域技术人员还将认识到,本文描述的方法、步骤和功能可以使用单独的硬件电路、使用软件功能结合程序微处理器或通用计算机、使用一个或多个专用集成电路(ASIC)、一个或多个数据信号处理器(DSP)和/或一个或多个现场可编程门阵列(FPGA)来实现。还将认识到的是,本文公开的技术可以在处理器和耦合到该处理器的存储器中实现,其中存储器存储一个或多个程序,当处理器执行所述程序时,完成本文描述的方法、步骤和功能。
关于以下的实施例,相同的附图标记用于表示相同或类似的组件。
图1示出了适于通过通信网络102从服务器设备(图1中未示出)接收媒体流的客户端设备100。通信网络102包括用于传输媒体流的广播或多播通信网络以及用于从客户端设备100向服务器设备传输差别信息的单播通信网络。可用性信息可以通过这些网络类型中的任意网络类型来传输。
客户端设备100包括接收单元104,该接收单元104连接到通信网络102并且适于通过通信网络102从服务器设备接收第一可用性信息,该第一可用性信息指示在客户端设备100处的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段的预测的可用性。客户端设备100还包括处理单元106,该处理单元106连接到接收单元104,并且适于:基于接收的第一可用性信息并且针对在客户端设备100处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段,确定在客户端设备100处预测的可用性与实际的可用性之间的差别,并且适于生成反应所确定的差别的差别信息。客户端设备100还包括发送单元108,该发送单元连接到处理单元106和通信网络102,并且适于通过通信网络102向服务器设备200传输差别信息。
图2示出了服务器设备200的实施例。服务器设备200被配置为向客户端设备100传输媒体流和关联的可用性信息。媒体流和可用性信息不需要总是从同一服务器设备200向客户端设备100传输,即可以使用逻辑服务器设备200的不同(例如分离的)单元。例如,移动客户端设备100在已经接收了可用性信息之后可能发生移动,并且由于客户端设备100的移动,客户端设备100可以通过通信网络102连接到逻辑服务器设备200的不同单元。
服务器设备200包括发送单元202,该发送单元202连接到通信网络102,并且适于通过通信网络102向图1的客户端设备100传输第一可用性信息。第一可用性信息指示在客户端设备处的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段的预测的可用性,其中该媒体分段在将来向客户端设备传输。服务器设备200还包括接收单元204,该接收单元204连接到通信网络102并且适于通过连接的通信网络102从客户端设备100接收差别信息,该差别信息反映了:针对在客户端设备处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段,在客户端设备100处的基于第一可用性信息的预测的可用性与实际的可用性之间的差别。此外,服务器设备200包括生成单元206,该生成单元206连接到发送单元202和接收单元204,并且适于基于接收的差别信息来生成第二可用性信息,该第二可用性信息指示在客户端设备处的第二媒体流或第一媒体流的第二部分的媒体分段的预测的可用性,该媒体分段在将来向客户端设备100传输。发送单元202还适于通过通信网络102向客户端设备100传输第二可用性信息。
图3示出了操作客户端设备100的方法实施例。在步骤S3-1处,例如由接收单元104通过通信网络102从服务器设备200接收第一可用性信息,该第一可用性信息指示在客户端设备100处的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段的预测的可用性。第一可用性信息还可以由客户端设备100自身基于来自服务器设备200的输入以及第一媒体流或第一媒体流的第一部分的(例如第一)媒体分段的接收时间来生成。在步骤S3-2处,由处理单元106基于接收的第一可用性信息并且针对在客户端设备100处接收的媒体流的第一部分的至少一个媒体分段来确定在客户端设备100处的预测的可用性与实际的可用性之间的差别有多大。在步骤S3-3处,由发送单元108通过通信网络102向服务器设备200传输反映所确定的差别的差别信息。
图4示出了操作服务器设备200的方法实施例。在步骤S4-1处,发送单元202通过通信网络102向客户端设备100传输第一可用性信息,第一可用性信息指示在客户端设备100处的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段的预测的可用性,其中该媒体分段在将来向客户端设备100传输。在步骤S4-2处,接收单元204通过通信网络102从客户端设备100接收差别信息,该差别信息针对在客户端设备100处的第一媒体流或第一媒体流的第一部分的至少一个媒体分段反映在客户端设备处的基于第一可用性信息的预测的可用性与实际的可用性之间的差别。在步骤S4-3处,生成单元206基于通过接收单元204接收的差别信息生成第二可用性信息,该第二可用性信息指示在客户端设备100处的第二媒体流或第一媒体流的第二部分的一个或多个媒体分段的预测的可用性,该媒体分段在将来向客户端设备100传输。在步骤S4-4处,发送单元202通过通信网络102向客户端设备100传输第二可用性信息。必须注意的是,在客户端设备100当服务器设备200已经发送第一可用性信息之后连接到服务器设备200的情况下(太晚以至于不能接收第一可用性信息),或者在客户端设备100自身能够产生第一可用性信息的至少一部分的情况下,过程S4-1和S4-2可被至少部分忽略。该生成可以基于指示媒体分段的(恒定)长度的信息以及对第一媒体流或第一媒体流的第一部分的第一媒体分段的接收(即关于第一媒体分段的接收时间的知识)。
图5示出了客户端-服务器系统500的实施例,该客户端-服务器系统包括如图1和图2中示出的通过通信网络102连接的客户端设备100和服务器设备200。应该理解,在某些配置中,多个客户端设备100可以同时连接到服务器设备200,并且可以同时通过广播传输接收(在同一个代表(represenation)中的)同一个媒体流。每个客户端设备100还可以具有到服务器设备200的专用单播连接,用于向服务器设备200传输形式为差别信息的反馈。
客户端设备系统500可以操作如下。最开始,生成单元206生成第一可用性信息,并且通过发送单元202和通信网络102(例如以单播、多播或广播模式)向客户端设备100的接收单元104发送该第一可用性信息。在第一可用性信息之后或与第一可用性信息一起,通过发送单元202和通信网络102以广播或多播模式向客户端设备100的接收单元104发送第一可用性信息所针对的第一媒体流或第一媒体流的第一部分。
客户端设备100的处理单元106处理接收的第一可用性信息,并且基于接收的第一可用性信息且针对同样在客户端设备100处接收的第一媒体流或第一媒体流的第一部分的至少一个媒体分段来确定在客户端设备100处的预测的可用性与实际的可用性之间的差别。该差别作为差别信息通过发送单元108和通信网络102以单播模式从处理单元106向服务器设备200的接收单元204传输。
然后,服务器设备200的生成单元206基于接收的差别信息生成第二可用性信息,并且通过发送单元202和通信网络102向客户端设备100的接收单元104发送该第二可用性信息。在已经接收到第二可用性信息之后,通过发送单元202和通信网络102向客户端设备100的接收单元104发送第二可用性信息所针对的第二媒体流或第一媒体流的第二部分。只要在客户端设备100处确定的预测的可用性与实际的可用性之间的差别降到小于预定的阈值以下和/或升到超过预定的阈值,就可以重复该迭代过程。备选地,该过程可以在无限制的情况下重复。
基于应用,可以在临到传输对应的媒体流或媒体流的一部分之前那会向客户端设备100传输MPD文件,或者在传输对应的媒体流或媒体流的一部分的(很早)之前向客户端设备100传输MPD文件。例如,在进行中的广播(媒体流)期间在服务器设备200处不能调节针对媒体分段的可用性信息,但是在广播/多播接收会话期间或在客户端设备100停止从服务器设备200接收媒体分段之后(立即或延迟地),在客户端设备100处的预测的分段可用性与实际的分段接收之间的差别的向量(或平均值)被上传到服务器设备200。
在下文中,给出了关于可以总体上结合本公开并且具体地结合附图中示出的实施例实现的自适应流技术的信息。
本公开可以结合自适应流(例如自适应HTTP流)来实现。自适应HTTP流支持视频点播以及视频直播。自适应HTTP流是可以使用现有文件格式(例如ISO BMFF或MPEG2-TS)的传送技术。支持不同的音频和视频编解码,例如H.264、MPEG4、AAC和MP3编解码。而且,AppleHTTP Live Streaming(HLS)、Microsoft SmoothStreaming(ISM)、3GPP-DASH,MPEG-DASH、OITV HAS、Adobe Dynamic Streaming等等可被用作用于自适应HTTP流的表示格式。例如,DASH可以使用MPEG2-TS或ISO-BMFF作为表示格式。Apple HLS可以使用MPEG2-TS,SmoothStreaming(ISM)可以使用ISO-BMFF作为表示格式。
自适应HTTP流技术通常依赖于客户端设备100选择媒体质量。然而,在广播/多播的情况下(即在使用广播通信网络的情况下),典型地只由服务器设备提供单个质量,即客户端设备100不能选择媒体流的不同的质量/代表。服务器设备200(或内容提供者)在清单文件中描述所有的可用代表(例如质量不同的、媒体比特率不同的和/或其他方面不同的代表)和用以从服务器设备200访问这些代表的对应URL。清单文件在流会话的开始时从服务器设备200向客户端设备100至少发送一次,并且清单元件在流会话期间可以更新一次或若干次。例如,在Apple HLS的情况下,清单被格式化为具有m3u8格式的播放列表文件。在3GPP/MPEG DASH的情况下,清单具有被称作MPD(媒体表示说明)的XML结构。
大部分传统单播自适应HTTP流技术需要客户端设备从服务器设备连续地获取媒体分段,即需要客户端设备连续地并主动地触发媒体分段的下载过程。每个媒体分段在被客户端设备上的媒体播放器消费时,消耗一定量的媒体时间(例如每个媒体分段10秒)。清单文件中描述了用于下载不同代表的分段的URL。
为了更好地理解下文的实施例,在图8中描述了该传统单播自适应HTTP单播原理。在步骤S8-1处,客户端设备向服务器设备请求媒体流的清单文件,该清单文件在步骤S8-2中传递。在步骤S8-3处,客户端设备处理清单文件并从清单文件中提供的若干代表中选择一个代表。在步骤S8-4处,客户端设备向服务器设备请求例如具有最低质量并且根据清单文件中描述的可用性信息的选定代表中的一个或多个第一媒体分段。在步骤S8-5处,客户端设备开始测量第一媒体分段的下载时间,并且在步骤S8-6处,从服务器设备向客户端设备传输第一媒体分段。在步骤S8-7处,客户端设备基于测量的下载时间选择第二媒体分段的代表,并且在步骤S8-8处客户端设备向服务器设备发送对应的下载请求。在步骤S8-9处,开始测量第二媒体分段的下载时间,并且在步骤S8-10处从服务器设备向客户端设备传输第二媒体分段。即,在如图8示出的单播自适应HTTP流的过程中,客户端设备在接收媒体分段期间连续地测量通信链路比特率,并且连续地请求具有像变化的媒体比特率之类的最终变化的参数的新媒体分段。客户端可以在任何时间改变到另一代表。当使用MPEG-DASH时,甚至允许客户端在媒体分段的中间在各代表之间高效地切换。
在本发明的实施例中,例如当使用基于广播的DASH时,不使用图8中示出的机制,即客户端设备100并不决定什么时候从服务器设备200向客户端设备100传输媒体分段。相反,媒体分段的传输时间(MPD文件条目)对于属于同一多播组的所有客户端设备是相同的。即,如图10所示,服务器设备200可以在不需要任何外部触发的情况下发送一系列分别包括媒体分段的文件序列。即,客户端设备100并不需要请求媒体分段。相反,服务器设备200提供“预测的分段可用性”,该“预测的分段可用性”指示什么时候DASH播放器可以安全地假设接收到了文件。图7示出了预测的分段可用性与通过广播的真实接收之间的差别。
在本发明的上下文中,“广播”意味着广播组的每个客户端设备100并不各自选择其自身的代表,而是针对广播组的所有客户端设备100的代表是相同的,即通过广播仅提供一个代表。因此,所有客户端设备100使用同一个代表。即,“广播”广义表示将相同数据(典型地,在相同的单个质量的代表中)提供给多个用户。
图6示出了图5的客户端-服务器系统的可能实现的更多细节,并且说明了若干示例性协议(例如DASH)的使用。
客户端服务器系统600包括上文讨论的客户端设备100和服务器设备200,其中客户端设备100的接收单元104通过通信网络102的广播通信链路耦合到服务器设备200的发送单元202。客户端设备100的发送单元108通过通信网络102的单播通信链路连接到服务器设备200的接收单元204。
客户端设备100的处理单元106包括DASH播放器子单元602和QoE子单元604。此外,客户端设备100包括连接到处理单元106的存储器单元606。存储器单元606可以被配置为缓冲器。服务器设备200的生成单元206连接到接收单元204和发送单元108,并且包括DASH媒体流生成子单元608(例如,配置为分割器或编码器)和MPD生成子单元610。
如上所述,假设在该实施例中媒体流是符合DASH的媒体流,并且假设第一可用性信息和第二可用性信息来源于相应的MPD文件。此外,假设用来通过通信网络102的广播通信链路从服务器设备200的发送单元202向客户端设备100的接收单元104传递DASH媒体流的协议是FLUTE(或者基于类似文件的传递协议)。还假设用于通过通信网络102的单播通信链路从客户端设备100的发送单元108向服务器设备200的接收单元204传输差别信息的传递协议是TCP/IP。
在下文中,将会更加详细地解释根据图6的实施例的客户端设备100与服务器设备200之间的互动。
首先,或者响应于经由单播通信链路的对应请求,或者通过经由广播服务通告信道接收MPD文件,客户端设备100从服务器设备200接收MPD文件。响应于此,服务器设备200通过广播或单播通信链路向客户端设备100提供MPD文件。处理单元106处理MPD文件。在广播的情况下,只提供音频流和视频流的单个代表。在存储器单元606中缓冲在客户端设备100处接收的媒体流的媒体分段(例如FLUTE文件)。
然后,DASH播放器子单元602根据MPD文件中指示的定时从存储单元606中读出媒体分段。如果媒体分段早于MPD文件的定时所指示的时间就存储在存储器单元606中,DASH播放器子单元602可适于不从存储器单元606中读出已经接收的媒体分段。在另一方面,DASH播放器子单元602可以适于不开始渲染仅部分已被客户端设备100接收的媒体分段,即还没有完全存储在存储器单元606中的媒体分段(即使根据MPD定时,该媒体分段在存储单元606中应该已经是可用的)。通过这种方式,传输的DASH媒体流以连续的方式向客户端设备100的用户渲染,以保证令人满意的用户体验。
客户端设备100可以在渲染过程期间从服务器设备接收MPD更新。客户端设备100根据跟在已经接收的媒体分段之后的MPD更新得到关于DASH媒体流的媒体分段的信息,并且重复上述过程。媒体分段典型地包括若干个IP分组(并且与TCP分段不可比)。例如,MPD文件中的定时可以采用分段可用性条目的列表的形式,其中每个可用性条目指派给媒体分段之一,其中每个可用性条目指示对应媒体分段在客户端设备100处的预测的可用性。媒体分段可用性可以以模板的形式来描述,其中分段从起始数字开始向前编号。
当在客户端设备100处接收媒体分段时,QoE子单元604监视何时FLUTE传递协议已经完全接收某个媒体分段(即监视该媒体分段何时已经完全存储在存储器单元606的文件系统中)。QoE子单元604还根据MPD文件中的对应的可用性条目来确定分派给该媒体分段的预测的可用性(即哪个预测时间点)。为了唯一地识别在客户端设备100处接收的媒体分段,QoE子单元604可以将MPD文件中的分派给媒体分段的URL条目与媒体分段中包含的URL数据进行比较。
一旦媒体分段已经完全存储在存储单元606中,QoE子单元604确定在根据MPD文件的媒体分段的预测的可用性与该媒体分段的实际的可用性(其对应于媒体分段已经在客户端设备100处完全被接收并被存储在存储器单元606中的时间点)之间的差别。所确定的差别可以作为差别信息,通过单播通信链路立即报告回服务器设备200。备选地,QoE子单元604可以等到至少一个后续媒体分段在客户端设备100处完全被接收并被存储在存储器单元606中,然后可以确定在根据MPD文件的该至少一个后续媒体分段的预测的可用性与实际的可用性(至少一个媒体分段完全存储在存储单元606中)之间的差别。备选地,QoE子单元可以针对媒体分段的序列(例如30分钟)确定在预测的分段可用性与实际的分段可用性之间的差别,并且然后将该结果作为向量或平均数来进行报告。备选地,例如,QoE子单元可以确定该差别,直到客户端设备100决定终止媒体分段的接收,然后可以将该结果作为向量或平均值整体上传(即报告给服务器设备200)。
通过这种方式,QoE子单元604可以收集所确定的多个差别,向服务器设备200传输所有确定的差别,或者只向服务器设备200传输从多个差别得到的信息(例如所收集的差别的平均值、最小值和最大值中的一个或多个)。
图7示出了说明当操作本文介绍的客户端100和服务器设备200时出现的在预测的可用性与实际的可用性之间的差别的示意图。具体地,图7示出了根据MPD时间线700的媒体分段的预测的可用性和在FLUTE通信协议层级别上的对应的实际的可用性(文件系统时间线704)。
DASH协议假设每个媒体分段包含当使用DASH播放器播放时消耗相同媒体时间的数据。例如,当使用DASH播放器播放时,每个媒体分段可以消耗10秒的媒体时间。实时编码器典型地基于客户端设备缓冲器占用模型来工作,由此支持可变的媒体流比特率。例如,视频媒体流的视频图像可以由服务器设备200处的DASH编码器基于客户端设备选择的比特率来编码成不同数量的比特(例如I帧被编码为较大数量的比特,而B帧被编码为较少数量的比特)。客户端缓冲模型的结果是不同媒体分段的大小可以是不同的。相反,如图7的右侧所示,一些分段可以大于其它分段。
在图7中,MPD时间线700反映的是这样的假设,其中针对每个媒体分段需要相同的传输时间以便从服务器设备200传输给客户端设备100。即,后续媒体分段的根据MPD时间线700的预测的可用性702(时间点)之间的差别710是恒定的。然而,如对媒体分段在客户端设备100的文件系统中的实际的可用性进行指示的文件系统时间线704所指示的,后续媒体分段在客户端设备处的实际的可用性706(时间点)是变化的。因此,可能丢失在MPD时间线700与文件系统时间线704之间的同步性。
例如,由于媒体分段的不同大小、空中接口状态或网络阻塞,各媒体分段为了从服务器设备200传输到客户端设备100所需要的传输时间可以彼此不同。媒体分段X+3的在客户端设备100处的实际的可用性在媒体分段X+3的预测的可用性之前;因此,导致缓冲时间段708(dbufX+3),因为DASH播放器不会在预定的可用性之前读出该媒体分段X+3。
在另一方面,为了优化无线电和网络资源,针对媒体流的媒体分段从服务器设备200向客户端设备100的传输,典型地仅分配媒体分段的期望的平均比特率。通过将媒体分段的大小除以对应的接收比特率(例如在MBMS的情况下的保证的比特率),定义用于传输媒体分段的持续时间。平均而言,媒体分段需要传送其媒体持续时间(即媒体分段中的媒体时间,例如视频帧的数量乘以帧速率)。然而,由于分段的大小不同,对于较大的分组来说,传输持续时间比分段持续时间长。
在客户端设备100上的缓冲器606中的媒体分段N的缓冲持续时间由以下公式限定:
dbuf,N=tmpd,N-tflute,N
其中,tmpd,N是媒体分段的根据MPD时间线700的预测的可用性(时间点),并且tflute,N是在FLUTE层级别上确定的该媒体分段的实际的可用性(时间点)。
然后,例如,客户端设备100的QoE子单元604可以确定最小的缓冲持续时间。
最小的缓冲持续时间理论上等于零。如果min{dbuff,N}小于0,则客户端设备100的DASH播放器子单元608遭受到“缓冲器欠载”(即当根据MPD时间线700,媒体分段本应该已经接收时,在客户端设备100处还没有完全接收该媒体分段)。
然后,QoE子单元604编辑报告(即生成差别信息),并根据接收报告指令将该报告上传给BM-SC接收报告功能(“BM-SC”是根据3GPPTS 26.346的节点名字)。接收报告可以属于“关联的传递功能”。可以命令客户端设备100执行测量并通过SDP文件上传QoE报告。可以通过关联的过程描述文件(the Associated Procedure Description File)来限定上传位置,例如向具有BM-SC能力的服务器设备200发送该差别信息。差别信息可以包括一个或多个值,例如最小缓冲持续时间或每个时间间隔的最小持续时间/最大持续时间(例如向客户端设备传输预定数量的媒体分段所需要的时间间隔)、缓冲持续时间的列表等等。在“缓冲器欠载”的情况下,差别信息可以立即生成,并立即发送给服务器设备200。
如上所述的QoE子单元604允许精确地调整媒体分段在客户端设备100处的预测的可用性。当运行“基于广播的DASH”时,该可用性可以由服务器设备200基于来自实时编码器的分段在BM-SC(服务器设备200)上的分段可用性时间(由服务器设备200发出该媒体分段的时间)和传输延迟偏移量(估计的用于从服务器设备向客户端设备100发送该媒体分段所需要的时间)来预测。通过这种方式,“传统的”媒体分段可用性(媒体分段在服务器设备200处可供经由单播链路下载的可用性)被转换成要通过MPD向客户端设备100发信号通知的预测的可用性(当媒体分段本应该通过广播在客户端设备100处被完全接收的时间)。
在本发明的实施例中,术语“媒体分段”可以意指两个或两个以上IP(因特网协议)数据分组的级联。
该调整可以离线执行以检测太大的配置的传输延迟偏移量,并且作为替代或补充可以在线使用以矫正短的偏移量并避免糟糕的QoE。在本上下文中,“离线”意味着所测量的差异仅在第二个不同的媒体流期间被考虑。在本上下文中,“在线”意味着应用封闭的自适应环,并且意味着所测量的差别在同一媒体流的第二部分期间被考虑。
在长期演进(LTE)广播网络上的DASH媒体分段的传输延迟(传输所需要的时间)可以是恒定的。然而,当在服务器侧使用实时编码器602以生成媒体流时,出现了实时编码器602根据客户端设备缓冲器占用模型(例如根据由客户端设备100选择的比特率,该比特率是可以变化的)对媒体分段进行编码的问题。因此,具有可变的分段大小的媒体分段由实时编码器608编码。这导致从服务器设备200到客户端设备100的媒体分段的变化的传输时间/速率。
媒体分段可以(例如使用LTE广播)向广播小区中的多个客户端设备100进行广播。上述实施例的优点在于:如果在偏移量是基于良好运行的客户端设备100进行优化的情况下未经测试的不良运行的客户端设备100遭受到缓冲器欠载,则QoE报告机制使得能够使用如上所述的相同的反馈方法获得再次针对该未经测试的不良运行的客户端设备100优化的偏移量。
DASH MPD的目的是向客户端设备100给予时间(和位置)信息,以重放关于某具体内容的媒体分段。MPD语法可以以XML格式定义。还可以不时地(例如按照最小时间间隔)更新MPD。
如图9所示,MPD文件可以包括三个主要成分,即周期902、代表904和媒体分段906。如图9中所示,周期902是MPD 900的最外层的部分。周期902通常是由服务器设备200按顺序播放的较大块的媒体。在周期902中,可以出现内容的多个不同编码。每个备选的编码被称作代表904。例如,这些代表904可以具有不同的比特率、帧速率或视频分辨率。最后,每个代表904描述由HTTP URL标识的一系列媒体分段906。URL或者是在代表904中明确描述(类似于播放列表),或者是通过模板结构描述,这允许客户端设备100得到代表904的每个媒体分段906的有效URL。MPD的格式是灵活的并且能够支持其它媒体容器格式,例如MPEG-2TS。内容播放列表或广告插入功能可以通过将不同内容的周期902链接在一起来简单地实现。
媒体分段URL可以按照模板形式或按照播放列表形式来描述。在模板形式中,可以通过以索引i替代模板的特定部分来构造分段。作为示例:“http://ex.com/path/media-segment-%d.3gs”,具有公知的格式化输出(printf)格式的i得到下述情形:当i==10时,得到URL“http://ex.com/path/media-segment-10.3gs”,而当i==11时,得到“http://ex.com/path/media-segment-11.3gs”。
在DASH的情况下,printf“%d”被描述为“$Index$”。当URL是按照播放列表形式时,客户端设备100可以将URL的列表作为数组并且将i作为数组的索引(从值1开始)。
如上所述,DASH通过将连续的媒体流分为一系列媒体分段906来操作。各媒体分段906可以作为单独的文件通过通信网络102从服务器设备200向客户端设备100彼此独立地分发。客户端设备100对接收的文件序列进行排序并且将所述文件级联成连续的媒体流。
在广播自适应HTTP实时流的情况下,在客户端设备100处执行以下步骤,以便提供连续的流服务:
1.客户端设备100解析初始MPD,该初始MPD指示直播类型的媒体表示。
2.客户端设备100选择一个(或多个)期望的代表。
3.客户端设备100接收对应于当前本地时间的媒体分段。
4.客户端设备100在开始渲染媒体分段之前,将媒体分段缓存至少最小时间量。客户端设备100可以在代表之间进行选择以调整比特率,等等。
5.如上所述,在客户端设备100的人机界面上渲染内容,并且如上所述连续地向服务器设备200发回差别信息。
上述机制还可以应用于基于广播的DASH,不同之处在于:客户端设备100并不在代表之间进行选择以分别调整比特率,等等。相反,客户端设备100在广播接收的情况下保持同一质量。
实时流(living streaming)的一个关键问题是找到当前的“实时点”(即t=tnow)。在传统实时流的情况下,时间“NOW(现在)”与对第一比特(即第一媒体分段的第一比特)的接收相关联。客户端设备100连接到媒体流,并且服务器设备200开始从“NOW”向前推动数据。
在实时DASH的情况下,客户端设备100需要获取从NOW时间开始经排序的媒体分段的列表。由于服务器设备200“仅是”使得分段可用,客户端设备100需要自己计算出实时点“NOW”。与其它实时HTTP流解决方案相反,在DASH中,客户端设备不需要获取针对实时流的MPD更新。
客户端设备100可以从MPD中读取实时DASH媒体分段流的开始时间。MPD元素availabilityStartTime的值给出了第一媒体流或第一媒体流(实时流)的第一部分的第一媒体分段的最早可用性时间。假设媒体分段持续时间是恒定的(例如10秒),则可以基于该第一媒体分段的最早可用性时间来计算后续媒体分段的可用性时间。该第一媒体分段的最早可用性时间还可被用于使DASH分段流与挂钟时间按以下方式实现同步:
如果客户端设备100正确地时间同步,则在媒体分段的(平均)分段持续时间(dms)是已知的情况下,该客户端设备可以计算服务器设备200上的最近一个可用的媒体分段。令t0为availabilityStartTime减去第一媒体分段的分段持续时间的值,并且令tnow为当前时间,则服务器设备200上的最近一个可用媒体分段的索引index i>=1可以按照以下公式计算:
其中,dms等于媒体分段持续时间(针对所有媒体分段是恒定的)。换句话说,客户端设备100计算在现在(tnow)与流的开始(t0)之间的分段(其具有分段持续时间dms)的数量。流的开始被描述为availabilityStartTime。
当使用MBMS(多媒体广播多播服务)从服务器设备200向客户端设备100传输DASH媒体流时,媒体分段不是客户端设备100使用例如HTTP通过单播通信链路从服务器设备200主动下载(即请求)的。相反,媒体分段是使用FLUTE或其他基于文件的传递协议在广播通信链路上传递的。
FLUTE是允许使用用户数据报协议(UDP)作为传输协议在广播链路上传递文件的协议。FLUTE将媒体分段文件划分为UDP包序列,并且从服务器设备200向客户端设备100传输对应的UDP包的流。每个UDP包唯一地标记有序列号(称作FEC有效载荷ID),使得客户端设备100可以根据接收的UDP包来重新组装该媒体分段文件。FLUTE被设计为针对每个媒体分段文件提供附加信息。除了提供文件名以外,FLUTE还提供MIME-类型、内容-位置和很多其它的HTTP报头。
然而,UDP是不可靠的协议(例如,像在使用TCP时没有重传)。因此,FLUTE通过使用应用层前向纠错(AL-FEC)编解码来提供传输UDP包的流的增强的可靠性。即,服务器设备200向UDP包的流添加FEC冗余(开销信息),使得即使在从服务器设备200向客户端设备100的传输期间丢失了一些UDP包,客户端设备100也可以恢复文件。图10中示出了该通信机制(基于广播的DASH分段的传递)。如可以从图10中得到的,每个媒体分段906被承载为具有其自己的FEC冗余部分1000的独立FLUTE对象。
图11示出了针对单播通信与广播通信的媒体分段可用性的比较。本文中使用的“媒体分段的可用性”可以具有多个含义。一般而言,它可以意指:生成媒体流的编码器(例如服务器侧的实时编码器608)已经完成了对媒体分段的构造并已经将其释放以供分发。在DASH的上下文中,“媒体分段的可用性”可以意指:给定索引N的媒体分段可供服务器设备200进行分发。当使用基于广播的DASH时,存在下述挑战:FLUTE层并不客户端设备100指示当前在客户端设备100处正从服务器设备200接收哪个媒体分段。相反,FLUTE层使得媒体分段仅在已经被完全接收之后对于客户端设备100才是可用的(即指示在客户端设备100处的接收)。即,在广播传递的上下文中,“媒体分段的可用性”意指:使得给定索引N的媒体分段可供在客户端设备100处进行渲染。
图11示出了:在单播通信1100的情况下,“媒体分段的可用性”是指时间点1104,在该时间点1104处,在服务器设备200处释放媒体分段(#N)以供分发(例如下载);该时间点与MPD文件中的对应的可用性条目一致。相比之下,在广播通信1102的情况下,“媒体分段的可用性”是指时间点1106,在时间点1106处,使得媒体分段(#N)可供在客户端设备200处进行渲染。理想情况下,该时间点与MPN文件中的对应的预测的可用性条目一致。如可以从图11中得到的,在单播通信1100的情况下,存在从客户端设备200向服务器设备请求下载媒体分段(#N)的请求,而在广播通信1102的情况下,不存在这样的请求,广播传递是自动开始的。
由于媒体分段在客户端设备100处的可用性是预测的可用性(由于媒体分段的变化的传递延迟),MPD文件中的预测的可用性条目包括添加到对可从服务器设备200下载或可由服务器设备200广播的可用性进行指示的可用性值的偏移量。如果该偏移量设置得太短,则客户端设备100将过早开始渲染视频内容并将遭受缓冲器欠载,这将它自身表现为视频冻结。在另一方面,如果该偏移量设置得太长,则在直播事件与客户端设备100处的直播事件的渲染之间产生较大的延迟。
为了避免该问题,可以使用的客户端设备100的像MBMS QoE软件(该MBMS QoE软件例如在兼容MBMS的客户端设备100上运行)之类的功能来跟踪DASH媒体分段的客户端设备缓冲,并且针对不同的实时编码器和分段大小最小化端到端延迟。在本上下文中,“客户端设备缓冲”具体是指在客户端设备100的本地文件系统中的媒体分段可用性与媒体分段可被客户端设备100的DASH播放器子单元602消费之间的持续时间。DASH播放器子单元602根据由MPD文件描述的预测的可用性来读取媒体分段。当媒体分段早于预测的可用性就可用时,DASH播放器可以不调节(加速)其读取过程。但是当媒体分段在MPD文件所描述的预测的可用性处并不可用时,DASH播放器子单元602可以使渲染停滞(冻结)。
QoE子单元604需要知晓DASH以处理MPD文件,并且还需要知晓FLUTE接收以找到FLUTE层上的对应的分段(FLUTE层对于许多不同应用是通用的,而DASH是专用应用)。
QoE子单元604可以基于挂钟时间来计算DASH分段可用性,并且DASH播放器子单元602可以根据挂钟时间来消费媒体分段。在针对(根据MPD的)下一媒体分段的预测的可用性的时间点,DASH播放器子单元602从缓冲器606中的本地文件系统(或存储器)请求该下一媒体分段。DASH播放器子单元602一般不知晓对媒体分段的接收。
QoE子单元604可以是能够处理DASH MPD的新的QoE模块或扩展的现有QoE模块,该DASH MPD描述了媒体分段URL并且还描述了媒体分段的预测的可用性。QoE模块可以监视FLUTE层上的新的媒体分段的接收。每个媒体分段由分段URL(内容位置)唯一地标识。通过BMSC反馈在根据MDP的客户端设备的文件系统上的预测的可用性与实际的可用性之间的差别,以进行偏移量调整。当当前重放时间接近MPD中描述的媒体流的该部分的结尾时,或当达到比MPD中描述的最小更新时间长的时间时,从服务器设备200获取新的MPD。
在上文中,已经示例性地描述了实现本文公开的技术的原理、实施例和各种模式。本发明不应被解释为限于本文讨论的具体原理、实施例和模式。相反,应该理解,在不背离所附权利要求中限定的本发明的范围的前提条件下,本领域技术人员可以实现各种改变和修改。
Claims (68)
1.一种操作客户端设备(100)的方法,所述客户端设备适于通过广播通信网络(102)从服务器设备(200)接收包括各个媒体分段(906)的至少一个媒体流,所述方法包括:
-确定第一可用性信息,所述第一可用性信息指示第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-基于所述第一可用性信息并且针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段,确定在所述客户端设备(100)处的所述预测的可用性与实际的可用性之间的差别;以及
-向所述服务器设备(200)传输差别信息,所述差别信息反映针对所述至少一个媒体分段确定的差别,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
2.根据权利要求1所述的方法,其中,所述第一可用性信息是从所述服务器设备(200)接收的。
3.根据权利要求2所述的方法,还包括:从所述服务器设备(200)接收第二可用性信息,所述第二可用性信息指示第二媒体流或所述第一媒体流的第二部分的媒体分段在所述客户端设备(100)处的预测的可用性,并且所述第二可用性信息反映所传输的差别信息。
4.根据权利要求1所述的方法,其中,所述第一可用性信息是由所述客户端设备(100)本地计算的。
5.根据权利要求1至4中任一项所述的方法,其中,一个或多个接收的媒体分段被缓存在所述客户端设备(100)的缓冲器(606)中,并且所述差别信息反映至少一个缓冲时间段,所述缓冲时间段指示所述客户端设备(100)处完全接收的媒体分段在到所接收的媒体分段(906)已从所述缓冲器(606)中读出以供渲染为止在所述缓冲器(606)中已经存储多长时间。
6.根据权利要求1至4中任一项所述的方法,其中,使用广播多播服务中心BM-SC向所述服务器设备(200)传输所述差别信息。
7.根据权利要求1至4中任一项所述的方法,其中,使用体验质量QoE功能(604)来执行对所述差别的确定。
8.根据权利要求1至4中任一项所述的方法,其中,在针对一个媒体分段(906)确定实际的可用性晚于预测的可用性之后,立即发送所述差别信息。
9.根据权利要求1至4中任一项所述的方法,其中,所述客户端设备(100)包括媒体播放器(602),所述媒体播放器被配置为根据每个媒体分段的预测的可用性读取每个媒体分段(906)。
10.根据权利要求1至4中任一项所述的方法,其中,基于在所述客户端设备(100)处接收的所述第一可用性信息,在所述客户端设备(100)处确定在所接收的媒体分段(906)的预测的可用性与实际的可用性之间的多个差别,并且所述差别信息是在所述客户端设备(100)处根据所确定的多个差别得到的。
11.根据权利要求10所述的方法,其中,所述差别信息包括差别最小值,所述差别最小值是所确定的多个差别中的最小差别的值。
12.根据权利要求1至4中任一项所述的方法,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
13.根据权利要求1至4中任一项所述的方法,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
14.根据权利要求3所述的方法,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器设备(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
15.根据权利要求1至4中任一项所述的方法,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
16.根据权利要求1至4中任一项所述的方法,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
17.一种操作服务器设备(200)的方法,所述服务器设备适于通过广播通信网络(102)向客户端设备(100)传输包括各个媒体分段(906)的至少一个媒体流,所述方法包括:
-向所述客户端设备(100)传输第一可用性信息,所述第一可用性信息指示在将来向所述客户端设备(100)传输的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-从所述客户端设备(100)接收差别信息,所述差别信息针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段(906),反映在所述客户端设备(100)处的基于所述第一可用性信息的预测的可用性与实际的可用性之间的差别;
-基于所接收的差别信息,生成第二可用性信息,所述第二可用性信息指示在将来向所述客户端设备(100)传输的第二媒体流或所述第一媒体流的第二部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;以及
-向所述客户端设备(100)传输所述第二可用性信息,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
18.根据权利要求17所述的方法,其中,所述服务器设备(200)基于所接收的差别信息调整反映在所述第二媒体流或所述第一媒体流的所述第二部分的所述一个或多个媒体分段(906)的预测的可用性中的时间偏移量。
19.根据权利要求17或18所述的方法,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
20.根据权利要求17或18所述的方法,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
21.根据权利要求17或18所述的方法,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器设备(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
22.根据权利要求17或18所述的方法,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
23.根据权利要求17或18所述的方法,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
24.一种客户端设备(100),所述客户端设备适于通过广播通信网络(102)从服务器设备(200)接收包括各个媒体分段(906)的至少一个媒体流,所述客户端设备(100)包括:
-确定单元(104),所述确定单元适于确定第一可用性信息,所述第一可用性信息指示第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-处理单元(106),所述处理单元连接到所述接收单元(104),并且所述处理单元适于:基于所接收的第一可用性信息并且针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段(906),确定在所述客户端设备(100)处的所述预测的可用性与实际的可用性之间的差别;并且所述处理单元还适于生成差别信息,所述差别信息向所述服务器设备(200)反映所确定的差别;以及
-发送单元(108),所述发送单元连接到所述处理单元(106)并且适于向所述服务器设备(200)传输所述差别信息,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
25.根据权利要求24所述的客户端设备,其中,所述第一可用性信息是从所述服务器设备(200)接收的,并且还包括从所述服务器设备(200)接收第二可用性信息,所述第二可用性信息指示第二媒体流或所述第一媒体流的第二部分的媒体分段在所述客户端设备(100)处的预测的可用性,并且所述第二可用性信息反映所传输的差别信息。
26.根据权利要求24或25所述的客户端设备,其中,所述第一可用性信息是由所述客户端设备(100)本地计算的。
27.根据权利要求24或25所述的客户端设备,其中,一个或多个接收的媒体分段被缓存在所述客户端设备(100)的缓冲器(606)中,并且所述差别信息反映至少一个缓冲时间段,所述缓冲时间段指示所述客户端设备(100)处完全接收的媒体分段在到所接收的媒体分段(906)已从所述缓冲器(606)中读出以供渲染为止在所述缓冲器(606)中已经存储多长时间。
28.根据权利要求24或25所述的客户端设备,其中,使用广播多播服务中心BM-SC向所述服务器设备(200)传输所述差别信息。
29.根据权利要求24或25所述的客户端设备,其中,使用体验质量QoE功能(604)来执行对所述差别的确定。
30.根据权利要求24或25所述的客户端设备,其中,在针对一个媒体分段(906)确定实际的可用性晚于预测的可用性之后,立即发送所述差别信息。
31.根据权利要求24或25所述的客户端设备,其中,所述客户端设备(100)包括媒体播放器(602),所述媒体播放器被配置为根据每个媒体分段的预测的可用性读取每个媒体分段(906)。
32.根据权利要求24或25所述的客户端设备,其中,基于在所述客户端设备(100)处接收的所述第一可用性信息,在所述客户端设备(100)处确定在所接收的媒体分段(906)的预测的可用性与实际的可用性之间的多个差别,并且所述差别信息是在所述客户端设备(100)处根据所确定的多个差别得到的。
33.根据权利要求32所述的客户端设备,其中,所述差别信息包括差别最小值,所述差别最小值是所确定的多个差别中的最小差别的值。
34.根据权利要求24或25所述的客户端设备,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
35.根据权利要求24或25所述的客户端设备,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
36.根据权利要求25所述的客户端设备,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器设备(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
37.根据权利要求24或25所述的客户端设备,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
38.根据权利要求24或25所述的客户端设备,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
39.一种服务器设备(200),所述服务器设备适于通过广播通信网络(102)向客户端设备(100)传输包括各个媒体分段(906)的至少一个媒体流,所述服务器设备(200)包括:
-发送单元(202),所述发送单元适于向所述客户端设备(100)传输第一可用性信息,所述第一可用性信息指示在将来向所述客户端设备(100)传输的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-接收单元(204),所述接收单元适于从所述客户端设备(100)接收差别信息,所述差别信息针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段(906),反映在所述客户端设备(100)处的基于所述第一可用性信息的预测的可用性与实际的可用性之间的差别;以及
-生成单元(206),所述生成单元连接到所述发送单元(202)和所述接收单元(204),并且适于基于所接收的差别信息来生成第二可用性信息,所述第二可用性信息指示在将来向所述客户端设备(100)传输的第二媒体流或所述第一媒体流的第二部分的媒体分段(906)在所述客户端设备(100)处的预测的可用性;
其中所述发送单元(202)还适于向所述客户端设备(100)传输所述第二可用性信息,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
40.根据权利要求39所述的服务器设备,其中,所述服务器设备(200)基于所接收的差别信息调整反映在所述第二媒体流或所述第一媒体流的所述第二部分的所述一个或多个媒体分段(906)的预测的可用性中的时间偏移量。
41.根据权利要求39或40所述的服务器设备,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
42.根据权利要求39或40所述的服务器设备,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
43.根据权利要求39或40所述的服务器设备,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器设备(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
44.根据权利要求39或40所述的服务器设备,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
45.根据权利要求39或40所述的服务器设备,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
46.一种客户端设备,所述客户端设备适于通过广播通信网络(102)从服务器设备(200)接收包括各个媒体分段(906)的至少一个媒体流,所述客户端设备包括:
-处理器和存储器,所述存储器包含程序,所述程序包括能够由所述处理器执行的指令,所述处理器被配置为使得所述客户端设备执行以下操作:
-确定第一可用性信息,所述第一可用性信息指示第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-基于所述第一可用性信息并且针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段,确定在所述客户端设备(100)处的所述预测的可用性与实际的可用性之间的差别;以及
-向所述服务器设备(200)传输差别信息,所述差别信息反映针对所述至少一个媒体分段确定的差别,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
47.根据权利要求46所述的客户端设备,其中,所述第一可用性信息是从所述服务器设备(200)接收的。
48.根据权利要求47所述的客户端设备,所述处理器被配置为还使得所述客户端设备执行以下操作:从所述服务器设备(200)接收第二可用性信息,所述第二可用性信息指示第二媒体流或所述第一媒体流的第二部分的媒体分段在所述客户端设备(100)处的预测的可用性,并且所述第二可用性信息反映所传输的差别信息。
49.根据权利要求46所述的客户端设备,其中,所述第一可用性信息是由所述客户端设备(100)本地计算的。
50.根据权利要求46至49中任一项所述的客户端设备,其中,一个或多个接收的媒体分段被缓存在所述客户端设备(100)的缓冲器(606)中,并且所述差别信息反映至少一个缓冲时间段,所述缓冲时间段指示所述客户端设备(100)处完全接收的媒体分段在到所接收的媒体分段(906)已从所述缓冲器(606)中读出以供渲染为止在所述缓冲器(606)中已经存储多长时间。
51.根据权利要求46至49中任一项所述的客户端设备,其中,使用广播多播服务中心BM-SC向所述服务器设备(200)传输所述差别信息。
52.根据权利要求46至49中任一项所述的客户端设备,其中,使用体验质量QoE功能(604)来执行对所述差别的确定。
53.根据权利要求46至49中任一项所述的客户端设备,其中,在针对一个媒体分段(906)确定实际的可用性晚于预测的可用性之后,立即发送所述差别信息。
54.根据权利要求46至49中任一项所述的客户端设备,其中,所述客户端设备(100)包括媒体播放器(602),所述媒体播放器被配置为根据每个媒体分段的预测的可用性读取每个媒体分段(906)。
55.根据权利要求46至49中任一项所述的客户端设备,其中,基于在所述客户端设备(100)处接收的所述第一可用性信息,在所述客户端设备(100)处确定在所接收的媒体分段(906)的预测的可用性与实际的可用性之间的多个差别,并且所述差别信息是在所述客户端设备(100)处根据所确定的多个差别得到的。
56.根据权利要求52所述的客户端设备,其中,所述差别信息包括差别最小值,所述差别最小值是所确定的多个差别中的最小差别的值。
57.根据权利要求46至49中任一项所述的客户端设备,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
58.根据权利要求46至49中任一项所述的客户端设备,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
59.根据权利要求48所述的客户端设备,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器设备(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
60.根据权利要求46至49中任一项所述的客户端设备,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
61.根据权利要求46至49中任一项所述的客户端设备,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
62.一种服务器,所述服务器适于通过广播通信网络(102)向客户端设备(100)传输包括各个媒体分段(906)的至少一个媒体流,所述服务器包括:
-处理器和存储器,所述存储器包含程序,所述程序包括能够由所述处理器执行的指令,所述处理器被配置为使得所述服务器执行以下操作:
-向所述客户端设备(100)传输第一可用性信息,所述第一可用性信息指示在将来向所述客户端设备(100)传输的第一媒体流或第一媒体流的第一部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;
-从所述客户端设备(100)接收差别信息,所述差别信息针对在所述客户端设备(100)处接收的所述第一媒体流或所述第一媒体流的所述第一部分的至少一个媒体分段(906),反映在所述客户端设备(100)处的基于所述第一可用性信息的预测的可用性与实际的可用性之间的差别;
-基于所接收的差别信息,生成第二可用性信息,所述第二可用性信息指示在将来向所述客户端设备(100)传输的第二媒体流或所述第一媒体流的第二部分的一个或多个媒体分段(906)在所述客户端设备(100)处的预测的可用性;以及
-向所述客户端设备(100)传输所述第二可用性信息,
其中,媒体分段(906)的所述预测的可用性是指示所述媒体分段(906)何时在所述客户端设备(100)处完全可用或何时完全可供所述客户端设备(100)下载的预测,以及媒体分段(906)的所述实际的可用性是对所述媒体分段何时已经实际变得可用的指示。
63.根据权利要求62所述的服务器,其中,所述服务器适于基于所接收的差别信息调整反映在所述第二媒体流或所述第一媒体流的所述第二部分的所述一个或多个媒体分段(906)的预测的可用性中的时间偏移量。
64.根据权利要求62或63所述的服务器,其中,至少一个媒体流是下述之一:
自适应媒体流;
自适应超文本传输协议HTTP媒体流;以及
运动图像专家组HTTP动态自适应流媒体MPEG DASH媒体流。
65.根据权利要求62或63所述的服务器,其中,所述媒体分段(906)各自作为单个文件通过所述广播通信网络(102)来传递。
66.根据权利要求62或63所述的服务器,其中,所述广播通信网络(102)使用基于单向传输的文件传递FLUTE通信协议来从所述服务器(200)向所述客户端设备(100)传递至少一个所述媒体分段(906)以及所述第一和第二可用性信息。
67.根据权利要求62或63所述的服务器,其中,所述第一可用性信息和所述第二可用性信息中的至少一个分别被包括在媒体表示说明MPD文件中。
68.根据权利要求62或63所述的服务器,其中,媒体分段(906)的所述实际的可用性指示用于向所述客户端设备(100)传递所述媒体分段(906)的传递协议何时在所述客户端设备(100)处已经完全接收所述媒体分段(906)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2013/050516 WO2014108207A1 (en) | 2013-01-11 | 2013-01-11 | Technique for operating client and server devices in a broadcast communication network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105075276A CN105075276A (zh) | 2015-11-18 |
CN105075276B true CN105075276B (zh) | 2019-04-16 |
Family
ID=47598793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074469.3A Active CN105075276B (zh) | 2013-01-11 | 2013-01-11 | 在广播通信网络中操作客户端设备和服务器设备的技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150172340A1 (zh) |
EP (1) | EP2944089B1 (zh) |
CN (1) | CN105075276B (zh) |
WO (1) | WO2014108207A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107454101B (zh) * | 2013-01-16 | 2020-07-07 | 华为技术有限公司 | 用于下载和串流的内容存储和传输的系统和方法 |
EP2904764B1 (en) * | 2013-01-16 | 2016-09-21 | Huawei Technologies Co., Ltd. | Url parameter insertion and addition in adaptive streaming |
US10749761B1 (en) * | 2013-09-27 | 2020-08-18 | Amazon Technologies, Inc. | Unique user session tracking in adaptive bitrate video delivery |
US20150172066A1 (en) * | 2013-12-13 | 2015-06-18 | Qualcomm Incorporated | Practical implementation aspects of unicast fetch for http streaming over embms |
JP2016091436A (ja) * | 2014-11-08 | 2016-05-23 | キヤノン株式会社 | 通信装置、通信方法、及び、プログラム |
US10749918B2 (en) * | 2014-11-10 | 2020-08-18 | Avago Technologies International Sales Pte. Limited | Adaptive streaming with early client indication |
WO2016099354A1 (en) * | 2014-12-18 | 2016-06-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Request scheduling for streamed media |
US9407968B2 (en) * | 2014-12-22 | 2016-08-02 | Verizon Patent And Licensing Inc. | Multicast and unicast adaptive bitrate services |
US20160308927A1 (en) * | 2015-04-20 | 2016-10-20 | Qualcomm Incorporated | Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast |
US11095537B2 (en) * | 2015-06-19 | 2021-08-17 | Qualcomm Incorporated | Middleware delivery of dash client QoE metrics |
CN108141640B (zh) * | 2015-10-09 | 2020-11-03 | 索尼公司 | 信息处理设备和信息处理方法 |
US10433023B1 (en) * | 2015-10-27 | 2019-10-01 | Amazon Technologies, Inc. | Heuristics for streaming live content |
US10034033B2 (en) * | 2016-07-28 | 2018-07-24 | Cisco Technology, Inc. | Predictive media distribution system |
KR102532645B1 (ko) * | 2016-09-20 | 2023-05-15 | 삼성전자 주식회사 | 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치 |
CN106411713B (zh) * | 2016-10-24 | 2020-06-05 | 腾讯音乐娱乐(深圳)有限公司 | 一种状态通知方法及服务器 |
US10440085B2 (en) | 2016-12-30 | 2019-10-08 | Facebook, Inc. | Effectively fetch media content for enhancing media streaming |
US20180191586A1 (en) * | 2016-12-30 | 2018-07-05 | Facebook, Inc. | Generating manifest file for enhancing media streaming |
US20180191801A1 (en) * | 2016-12-30 | 2018-07-05 | Facebook, Inc. | Adaptively updating content delivery network link in a manifest file |
US10476943B2 (en) | 2016-12-30 | 2019-11-12 | Facebook, Inc. | Customizing manifest file for enhancing media streaming |
US10999613B1 (en) * | 2017-02-19 | 2021-05-04 | Look At Me, Inc | System and method for intelligent delivery of segmented media streams |
US20180367827A1 (en) * | 2017-06-19 | 2018-12-20 | Wangsu Science & Technology Co., Ltd. | Player client terminal, system, and method for implementing live video synchronization |
US10397010B2 (en) | 2017-11-30 | 2019-08-27 | International Business Machines Corporation | Customized multicasting |
JP6907104B2 (ja) * | 2017-12-07 | 2021-07-21 | キヤノン株式会社 | 映像配信装置、制御方法及びプログラム |
US11509949B2 (en) * | 2019-09-13 | 2022-11-22 | Disney Enterprises, Inc. | Packager for segmenter fluidity |
WO2021156194A1 (en) * | 2020-02-04 | 2021-08-12 | Dolby International Ab | Method and device for adaptive playout of media content |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791872A (zh) * | 2003-03-21 | 2006-06-21 | 诺基亚有限公司 | 用于多媒体流式传输的方法和设备 |
CN101731011A (zh) * | 2007-05-11 | 2010-06-09 | 奥迪耐特有限公司 | 用于设置接收器延迟时间的系统、方法和计算机可读介质 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3632865A (en) * | 1969-12-23 | 1972-01-04 | Bell Telephone Labor Inc | Predictive video encoding using measured subject velocity |
JP3571902B2 (ja) * | 1997-12-25 | 2004-09-29 | キヤノン株式会社 | 配送システム、クライアント、方法および媒体 |
GB9909606D0 (en) * | 1999-04-26 | 1999-06-23 | Telemedia Systems Ltd | Networked delivery of profiled media files to clients |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US7240358B2 (en) * | 2000-12-08 | 2007-07-03 | Digital Fountain, Inc. | Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources |
US7218610B2 (en) * | 2001-09-27 | 2007-05-15 | Eg Technology, Inc. | Communication system and techniques for transmission from source to destination |
US7742504B2 (en) * | 2002-01-24 | 2010-06-22 | University Of Southern California | Continuous media system |
US6910079B2 (en) * | 2002-01-25 | 2005-06-21 | University Of Southern California | Multi-threshold smoothing |
KR100489683B1 (ko) * | 2002-12-02 | 2005-05-17 | 삼성전자주식회사 | 무선 랜에 있어서 다중 액세스 포인트의 부하 분산 장치및 그 방법 |
US7925770B1 (en) * | 2003-01-29 | 2011-04-12 | Realnetworks, Inc. | Systems and methods for selecting buffering time for media data |
GB0308121D0 (en) * | 2003-04-09 | 2003-05-14 | Ibm | Method and apparatus for data logging |
US8417499B2 (en) * | 2004-03-31 | 2013-04-09 | International Business Machines Corporation | Enabling real-time testing of on-demand infrastructure to predict service level agreement compliance |
JP4688873B2 (ja) * | 2004-07-01 | 2011-05-25 | オーワイ ゲームクラスター リミテッド | 予測および非予測データフレームを伝送するための方法および装置 |
US8190680B2 (en) * | 2004-07-01 | 2012-05-29 | Netgear, Inc. | Method and system for synchronization of digital media playback |
US7240162B2 (en) * | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
GB2426623B (en) * | 2005-05-23 | 2011-01-26 | British Sky Broadcasting Ltd | Apparatus for media recording and playback |
US20080133767A1 (en) * | 2006-11-22 | 2008-06-05 | Metis Enterprise Technologies Llc | Real-time multicast peer-to-peer video streaming platform |
US8467457B2 (en) * | 2007-01-16 | 2013-06-18 | Mobixell Networks (Israel) Ltd | System and a method for controlling one or more signal sequences characteristics |
US8180283B2 (en) * | 2007-02-14 | 2012-05-15 | Alcatel Lucent | Method of providing feedback to a media server in a wireless communication system |
US9398346B2 (en) * | 2007-05-04 | 2016-07-19 | Time Warner Cable Enterprises Llc | Methods and apparatus for predictive capacity allocation |
US20090100188A1 (en) * | 2007-10-11 | 2009-04-16 | Utstarcom, Inc. | Method and system for cluster-wide predictive and selective caching in scalable iptv systems |
US8396114B2 (en) * | 2009-01-29 | 2013-03-12 | Microsoft Corporation | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
US8989887B2 (en) * | 2009-02-11 | 2015-03-24 | Applied Materials, Inc. | Use of prediction data in monitoring actual production targets |
US9917874B2 (en) * | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US9124642B2 (en) * | 2009-10-16 | 2015-09-01 | Qualcomm Incorporated | Adaptively streaming multimedia |
JP5750167B2 (ja) * | 2010-12-07 | 2015-07-15 | エンパイア テクノロジー ディベロップメント エルエルシー | 端末間の体感品質を測定するためのオーディオフィンガープリントの差分 |
WO2012106838A1 (en) * | 2011-02-10 | 2012-08-16 | Empire Technology Development Llc | Quality-of-experience measurement for voice services |
US10433239B2 (en) * | 2011-04-01 | 2019-10-01 | Intel Corporation | Cross-layer optimized adaptive HTTP streaming |
US9026671B2 (en) * | 2011-04-05 | 2015-05-05 | Qualcomm Incorporated | IP broadcast streaming services distribution using file delivery methods |
CN102801690B (zh) * | 2011-05-25 | 2015-09-30 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及系统 |
US9590814B2 (en) * | 2011-08-01 | 2017-03-07 | Qualcomm Incorporated | Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
WO2013020709A1 (en) * | 2011-08-10 | 2013-02-14 | Telefonaktiebolaget L M Ericsson (Publ) | Media stream handling |
US20130054825A1 (en) * | 2011-08-23 | 2013-02-28 | General Instrument Corporation | Content streaming in communication system |
US9253233B2 (en) * | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US20130067109A1 (en) * | 2011-09-12 | 2013-03-14 | Tektronix, Inc. | Monitoring Over-the-Top Adaptive Video Streaming |
US20130182643A1 (en) * | 2012-01-16 | 2013-07-18 | Qualcomm Incorporated | Method and system for transitions of broadcast dash service receptions between unicast and broadcast |
US8396983B1 (en) * | 2012-03-13 | 2013-03-12 | Google Inc. | Predictive adaptive media streaming |
US9526091B2 (en) * | 2012-03-16 | 2016-12-20 | Intel Corporation | Method and apparatus for coordination of self-optimization functions in a wireless network |
US8930559B2 (en) * | 2012-06-01 | 2015-01-06 | Verizon Patent And Licensing Inc. | Adaptive hypertext transfer protocol (“HTTP”) media streaming systems and methods |
EP2738994A1 (en) * | 2012-11-30 | 2014-06-04 | Alcatel Lucent | Method and client apparatus for receiving an HTTP adaptive streaming video |
US9967300B2 (en) * | 2012-12-10 | 2018-05-08 | Alcatel Lucent | Method and apparatus for scheduling adaptive bit rate streams |
US9386062B2 (en) * | 2012-12-28 | 2016-07-05 | Qualcomm Incorporated | Elastic response time to hypertext transfer protocol (HTTP) requests |
US9432426B2 (en) * | 2013-02-04 | 2016-08-30 | Qualcomm Incorporated | Determining available media data for network streaming |
US9444863B2 (en) * | 2013-06-06 | 2016-09-13 | Intel Corporation | Manager for DASH media streaming |
US9197717B2 (en) * | 2013-11-27 | 2015-11-24 | At&T Intellectual Property I, Lp | Server-side scheduling for media transmissions according to client device states |
US9973345B2 (en) * | 2014-09-10 | 2018-05-15 | Qualcomm Incorporated | Calculating and signaling segment availability times for segments of media data |
-
2013
- 2013-01-11 CN CN201380074469.3A patent/CN105075276B/zh active Active
- 2013-01-11 EP EP13700857.9A patent/EP2944089B1/en active Active
- 2013-01-11 US US14/414,494 patent/US20150172340A1/en not_active Abandoned
- 2013-01-11 WO PCT/EP2013/050516 patent/WO2014108207A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791872A (zh) * | 2003-03-21 | 2006-06-21 | 诺基亚有限公司 | 用于多媒体流式传输的方法和设备 |
CN101731011A (zh) * | 2007-05-11 | 2010-06-09 | 奥迪耐特有限公司 | 用于设置接收器延迟时间的系统、方法和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2944089B1 (en) | 2018-03-07 |
US20150172340A1 (en) | 2015-06-18 |
EP2944089A1 (en) | 2015-11-18 |
CN105075276A (zh) | 2015-11-18 |
WO2014108207A1 (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105075276B (zh) | 在广播通信网络中操作客户端设备和服务器设备的技术 | |
JP7352673B2 (ja) | シグナリング又はブロック生成を用いた拡張ブロック-要求ストリーミングシステム | |
JP6105717B2 (ja) | 低レイテンシストリーミングを処理するための改善されたブロック要求ストリーミングシステム | |
KR101395200B1 (ko) | 확장가능한 인코딩을 이용하는 개선된 블록-요청 스트리밍 | |
KR101480828B1 (ko) | Url 템플릿들 및 구성 규칙들을 이용하는 향상된 블록-요청 스트리밍 | |
KR101456957B1 (ko) | 협력 병렬 http 및 순방향 에러 정정을 사용하여 향상된 블록-요청 스트리밍 | |
KR101437530B1 (ko) | 개선된 클라이언트 측 핸들링을 위한 요청 제어들 또는 블록 분할을 이용하는 강화된 블록 요청 스트리밍 | |
US10320869B2 (en) | Network-capacity optimized adaptive HTTP streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |