CN104904180B - 设备定时调整和用于支持广播上的dash的方法 - Google Patents
设备定时调整和用于支持广播上的dash的方法 Download PDFInfo
- Publication number
- CN104904180B CN104904180B CN201380068479.6A CN201380068479A CN104904180B CN 104904180 B CN104904180 B CN 104904180B CN 201380068479 A CN201380068479 A CN 201380068479A CN 104904180 B CN104904180 B CN 104904180B
- Authority
- CN
- China
- Prior art keywords
- segmentation
- receiver device
- pot life
- delay
- adjustment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 207
- 230000011218 segmentation Effects 0.000 claims abstract description 459
- 230000008859 change Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 87
- 230000005540 biological transmission Effects 0.000 claims description 52
- 230000004048 modification Effects 0.000 claims description 35
- 238000012986 modification Methods 0.000 claims description 35
- 230000005012 migration Effects 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 30
- 238000003860 storage Methods 0.000 description 30
- 238000006073 displacement reaction Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 18
- 230000001360 synchronised effect Effects 0.000 description 15
- 239000012634 fragment Substances 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 230000001934 delay Effects 0.000 description 6
- 238000013501 data transformation Methods 0.000 description 4
- 235000019580 granularity Nutrition 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000000638 solvent extraction 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/75—Media network packet handling
-
- 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/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/756—Media network packet handling adapting media to device 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/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/2408—Monitoring of the upstream path of the transmission network, e.g. client requests
-
- 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
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer Security & Cryptography (AREA)
Abstract
各个实施例的系统、方法和设备使接收机设备能够基于分段在该接收机设备上可用时的实际时间,调整针对这些分段的请求的时间。在各个实施例中,可以使接收机设备能够修改分段可用时间轴,其中,对分段的可用时间进行调整以便提供分段在该接收机设备上可用时的实际时间。在各个实施例中,可以在接收机设备的服务层,执行分段可用时间调整。在各个实施例中,分段可用时间调整可以由接收机设备上的客户端应用来执行。在各个实施例中,可以提供网络延迟抖动估计。在一个实施例中,可以在分段可用时间轴中提供网络延迟抖动估计。
Description
相关申请
本申请要求享有2012年12月28日提交的、标题为“Device Timing Adjustmentsand Method for Supporting DASH Over Broadcast”的美国临时专利申请No.61/747,188的优先权,故以引用方式将其全部内容并入本文。
背景技术
当前,超文本传输协议(HTTP)流是互联网上最流行的用于传送内容的方法。对于实时事件而言,通过不断的持续时间分段而使内容逐渐可用。这种沿着时间轴的分段可用性,指示每一个连续的分段何时在HTTP服务器处变得可用。
基于超文本传输协议的动态自适应流(DASH)是一种实现HTTP流的标准。DASH在媒体呈现描述(MPD)中通告分段可用性。MPD是用于通告分段、分段可用的时间以及这些分段的大小的分段可用时间轴。
在当前系统中,经由空中下载(OTA)传送来向接收机设备提供MPD。在所提供的MPD中,分段可用时间可以对应于生成这些分段的网络侧编码器的编码器输出时间。由于分段可用时间可以对应于编码器输出时间,因此对于在接收机设备上运行的DASH客户端来说,这些可用时间可能并没有说明与实际的分段可用的差别(例如,传送路径延迟、接收机设备处理延迟、或者接收机设备时钟漂移)。因此,在当前MPD中所通告的可用时间,可能并不对应于分段可用于DASH客户端的实际时间。
发明内容
各个实施例的系统、方法和设备使接收机设备能够使用修改的分段可用时间。在各个实施例中,可以使接收机设备能够基于分段在该接收机设备上可用时的实际时间,调整针对这些分段的请求的时间。在各个实施例中,可以使接收机设备能够修改分段可用时间轴,其中,对分段的可用时间进行调整以便提供分段在该接收机设备上可用时的实际时间。在各个实施例中,可以在接收机设备的服务层,执行分段可用时间调整。在各个实施例中,分段可用时间调整可以由接收机设备上的客户端应用来执行。在各个实施例中,可以提供网络延迟抖动估计。在一个实施例中,可以在分段可用时间轴中提供网络延迟抖动估计。
附图说明
被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性实施例,并且连同上面给出的概括描述以及下面给出的详细描述一起来解释本发明的特征。
图1是适合于结合各种实施例使用的网络的通信系统框图。
图2是用于示出根据一个实施例的接收机设备的架构的框图。
图3A根据一个实施例,示出了分段传输路径和MPD传输调整之间的关系。
图3B根据另一个实施例,示出了分段传输路径和MPD传输调整之间的关系。
图4根据一个实施例,示出了分段可用时间。
图5A是描绘用于修改分段可用时间轴的实施例方法的处理流程图。
图5B是描绘用于生成延迟调整消息的实施例方法的处理流程图。
图5C是描绘用于修改分段可用时间轴的另一个实施例方法的处理流程图。
图5D是描绘用于生成延迟调整消息的另一个实施例方法的处理流程图。
图6A是描绘用于修改分段可用时间轴的另一个实施例方法的处理流程图。
图6B是描绘用于生成延迟调整消息的另一个实施例方法的处理流程图。
图6C是描绘用于修改分段可用时间轴的另一个实施例方法的处理流程图。
图6D是描绘用于生成延迟调整消息的另一个实施例方法的处理流程图。
图7是根据一个实施例的测试系统中的第一分段的到达时间的最差情况延迟和变化性的图表。
图8A是描绘用于基于第一分段的解码时间,修改分段可用时间的实施例方法的处理流程图。
图8B是描绘用于基于第一分段的解码时间,生成延迟调整消息的实施例方法的处理流程图。
图8C是描绘用于基于视频分段的解码时间,修改分段可用时间的实施例方法的处理流程图。
图8D是描绘用于基于视频分段的解码时间,生成延迟调整消息的实施例方法的处理流程图。
图8E是描绘用于基于分段接收时间,修改分段可用时间的实施例方法的处理流程图。
图8F是描绘用于基于分段接收时间,生成延迟调整消息的实施例方法的处理流程图。
图8G是描绘用于基于分段解码完成时间,修改分段可用时间的实施例方法的处理流程图。
图8H是描绘用于基于分段解码完成时间,生成延迟调整消息的实施例方法的处理流程图。
图8I是描绘用于基于音频和视频分段的解码时间,修改分段可用时间的实施例方法的处理流程图。
图8J是描绘用于基于音频和视频分段的解码时间,生成延迟调整消息的实施例方法的处理流程图。
图9是根据另一个实施例的测试系统中的第一分段的到达时间的最差情况延迟和变化性的图表。
图10A是描绘用于基于FDT接收时间,修改分段可用时间的实施例方法的处理流程图。
图10B是描绘用于基于FDT接收时间,生成延迟调整消息的实施例方法的处理流程图。
图11A是描绘用于在MPD中包括网络抖动估计的实施例方法的处理流程图。
图11B是描绘用于独立于MPD来提供网络抖动估计的实施例方法的处理流程图。
图12是描绘用于基于延迟调整消息来调整可用时间的实施例方法的处理流程图。
图13是用于根据一个实施例,示出多播服务设备客户端和接收机设备上的应用/DASH客户端之间的交互的消息流图。
图14是用于根据另一个实施例,示出多播服务设备客户端和接收机设备上的应用/DASH客户端之间的交互的消息流图。
图15是用于根据第三实施例,示出多播服务设备客户端和接收机设备上的应用/DASH客户端之间的交互的消息流图。
图16是适合于结合各种实施例使用的一种示例性移动设备的组件图。
图17是适合于结合各种实施例使用的示例性服务器的组件图。
具体实施方式
现在参照附图来详细地描述各个实施例。只要可能,贯穿附图使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的保护范围。
本文所使用的“示例性的”一词意味着“用作例子、示例或说明”。本文中描述为“示例性”的任何实现不应被解释为比其它实现更优选或更具优势。
如本文所使用的,本文互换地使用术语“移动设备”和“接收机设备”,以指代以下各项中的任何一项或者全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收机、具备多媒体互联网功能的蜂窝电话、无线游戏控制器、以及类似的个人电子设备,其中这些个人电子设备包括可编程处理器和存储器,以及用于接收MPD并使MPD可用于DASH客户端的电路。
基于超文本传输协议的动态自适应流(DASH)是一种实现HTTP流的标准。DASH在媒体呈现描述(MPD)中通告分段可用性。MPD是用于通告分段、分段可用的时间以及分段的大小的分段可用性时间轴。在当前系统中,经由空中下载(OTA)传送来向接收机设备提供MPD。第三代合作伙伴计划(3GPP)将下载传输上的DASH标准化成用于在长期演进(LTE)上使用广播来提供HTTP流的方法(即,演进的多媒体广播多播服务(eMBMS))。
本文讨论了不同的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议的各个示例,特别是DASH客户端、多播服务设备客户端、MPD、eMBMS和HTTP。对于DASH客户端、多播服务设备客户端、MPD、eMBMS和HTTP的讨论,只是提供为用于更好地说明各个实施例的方面的例子,而不是旨在以任何方式来限制各个实施例。其它的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议也可以结合各个实施例来使用,并且在不脱离本发明的精神或保护范围的基础上,可以在各个例子中替换其它的应用/客户端、中间件、分段可用时间轴、无线电技术和传输协议。
各个实施例使接收机设备能够在用于该接收机设备的数据流中的数据分段的可用性(“分段可用性”)中考虑延迟。在一个实施例中,接收机设备可以基于接收的分段可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的DASH客户端)的实际时间,来调整从网络接收的分段可用时间轴(例如,通过OTA从广播多媒体服务中心(BMSC)服务器接收的MPD)中的可用时间,以生成修改的MPD列表。各个实施例可以在网络和接收机设备的时钟同步或者不同步的情况下,使得生成修改的MPD。
在一个实施例中,接收机设备可以确定延迟调整量,以便在针对该接收机设备上的客户端应用的分段的可用性中考虑延迟。在一个实施例中,可以在延迟调整消息中提供延迟调整。延迟调整消息可以是延迟调整的参数和/或指示(例如,包括延迟调整的文件)。在一个实施例中,延迟调整消息可以使接收机设备上的客户端应用能够基于接收的分段可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的DASH客户端)的实际时间,来修改从网络接收的分段可用时间轴(例如,通过OTA从广播多媒体服务中心(BMSC)服务器接收的MPD)中的可用时间,以生成修改的MPD列表。各个实施例可以在网络和接收机设备的时钟同步或者不同步的情况下,实现生成该延迟调整消息和修改的MPD。在另一个实施例中,该延迟调整消息可以使接收机设备上的客户端应用能够在不修改分段可用时间轴本身的情况下,基于接收的分段可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的DASH客户端)的实际时间,来调整其针对于分段的请求的时间。
在一个实施例中,可以在用于描述发送给接收机设备的分段可用时间轴(例如,MPD)的清单文件中,提供网络抖动估计(例如,网络抖动值)。在另一个实施例中,可以在接收机设备上预先规定该网络抖动(例如,在接收机设备制造时,将其存储在该接收机设备的非易失性存储器中)。在其它实施例中,可以用任何消息(例如,服务通告)来向接收机设备传输网络抖动估计。在一个实施例中,可以在独立于传送MPD的消息的消息中,向接收机设备传送网络抖动估计量。如本文所使用的,“抖动”将分段的最早和最晚可能到达时间之间的差值,指代成该分段的可用时间轴中的差值。
如本文所使用的,“网络抖动”指代分段在接收机设备处的最早和最晚相对到达时间之间的最大差值。相对到达时间指代:绝对到达时间和根据传输时间轴的预期到达时间之间的差值。在一个实施例中,传输时间轴可以提供分段列表(其中这些分段携带服务的媒体)中的每一个分段的预期到达时间,可以对传输时间轴进行规定,使得基于所提供的第一分段的绝对可用时间,下一个分段可用时间是前一分段可用时间加上前一分段的持续时间。在另一个实施例中,对于连续的分段来说,可以将可用时间提供成绝对值。在另一个实施例中,可以将可用时间提供成具有周期的周期可用性。在另外的实施例中,可以将可用时间提供成一些机制的组合,例如,绝对值和周期可用性的组合。网络抖动可能与以下各项有关:分段大小的变化、调度周期粒度(例如,关于分段到达的1秒周期,320ms变化量的多播信道(MCH)调度周期粒度)、网络设备延迟(例如,带宽、传输延迟、处理延迟、缓冲器延迟等等)。网络抖动可以是依赖于环境的。例如,视频分段大小的变化可能造成网络抖动估计在该视频分段的平均大小的70%和130%之间变化。
如本文所使用的,“接收机设备抖动”指代分段的到达时间和该分段可用于在该接收机设备上运行的请求应用/客户端的时间之间的最大差值。接收机设备抖动可能与下面各项有关:分段大小的变化、调度周期粒度(例如,关于分段到达的1秒周期,320ms变化量的MCH调度周期粒度)、接收机设备上的处理延迟(例如,前向纠错(FEC)处理、解码时间等等)和接收机设备时钟漂移。
当接收机设备时钟没有同步到服务器时钟时,在分段可用时间轴(例如,MPD)中传输网络抖动估计,可以实现接收机设备服务器(例如,接收机设备上的本地HTTP服务器)处的更佳的缓冲需求估计和/或对时间轴调整的改进。
图1示出了适合于结合各个实施例使用的蜂窝网络系统100。蜂窝网络系统100可以包括多个设备,例如,接收机设备102、一个或多个蜂窝塔或基站104、以及连接到互联网110的服务器108和112。接收机设备102可以通过一个或多个蜂窝连接106(包括CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其它类型的连接),与蜂窝塔或基站104交换数据。蜂窝塔或基站104可以与路由器进行通信,其中路由器可以连接到互联网110。用此方式,通过与蜂窝塔或基站104和/或互联网110的连接,可以在接收机设备102和服务器108和112之间交换数据。在一个实施例中,服务器108可以是提供用于通过DASH客户端来输出的MPD和分段的内容提供商服务器或编码器。在一个实施例中,服务器112可以是能从编码器接收MPD和分段输出,并控制这些MPD和分段向接收机设备102的OTA传输的广播多媒体服务中心(BMSC)服务器。当然,虽然本文所描述的接收机设备的特征是参照OTA传输来描述的,但这些特征也可以结合有线传输、无线传输或者有线传输和无线传输的组合来使用。因此,并不是必须进行OTA传输。
图2示出了根据一个实施例的简化接收机设备202的架构。接收机设备202可以包括调制解调器层208,后者管理接收机设备202的所有无线电方面,例如,捕获、切换、链路维持等等。调制解调器层208可以对接收的eMBMS承载信号进行解码,将互联网协议(IP)分组传送给多播服务设备客户端(MSDC)206。多播服务设备客户端206可以是接收机设备202的服务层,其从传送的IP分组中恢复分段,并使分段可用于应用/客户端(例如,应用/DASH客户端204)。举例而言,多播服务设备客户端206可以是服务层,其中该服务层是接收机设备202的操作系统的一部分。此外,多播服务设备客户端206还可以从传送的IP分组中恢复MPD。多播服务设备客户端206可以将接收的分段存储在该接收机设备的存储器中。在一个实施例中,多播服务设备客户端206可以调整MPD以生成修改的MPD,将修改的MPD存储在接收机设备的存储器中,并可以将修改的MPD传送给应用/DASH客户端204。在另一个实施例中,多播服务设备客户端206可以确定针对MPD的延迟调整,将针对MPD的延迟调整存储在接收机设备的存储器中(例如,存储在延迟调整消息中),将MPD存储在接收机设备的存储器中,并将MPD和针对MPD的延迟调整传送给应用/DASH客户端204。应用/DASH客户端204可以是具备DASH能力的应用和/或用于发起DASH客户端以呈现媒体(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)的应用。在一个实施例中,应用/DASH客户端204可以从多播服务设备客户端206获得修改的MPD位置(例如,统一资源定位符(URL)),从多播服务设备客户端206请求和接收修改的MPD,并可以依照修改的MPD中的可用时间轴从多播服务设备客户端206请求分段。在另一个实施例中,应用/DASH客户端204可以从多播服务设备客户端206获得MPD位置(例如,统一资源定位符(URL))和针对该MPD位置(例如,URL)的延迟调整,从多播服务设备客户端206请求和接收MPD和针对该MPD的延迟调整,根据针对该MPD的延迟调整来修改该MPD以生成修改的MPD,并可以依照修改的MPD中的可用时间轴来从多播服务设备客户端206请求分段。应用/DASH客户端204可以从多播服务设备客户端206接收所请求的分段,并可以呈现分段内容(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)。在另外的实施例中,可以将用于确定MPD的延迟调整的多播服务设备客户端206的功能,集成到客户端206中,客户端206可以确定延迟调整量和/或修改MPD本身。
图3A根据一个实施例,示出了沿着分段传输路径,针对分段可用时间轴(例如,MPD)所做出的传输调整。该分段传输路径可以包括编码器302、BMSC 304、接收机设备的多播服务设备客户端306、以及接收机设备的DASH客户端308。编码器302可以将媒体内容编码到分段中,并周期性地向BMSC 304传送分段。例如,可以通过eMBMS网关,周期性地从编码器302向BMSC 304传送分段。BMSC 304可以接收这些分段,并通过承载(例如,通过OTA广播)来广播这些分段。在一个实施例中,头端的时延和抖动是已知的。接收机设备可以通过调制解调器接收这些分段,多播服务设备客户端306可以通过该调制解调器来接收这些分段,并处理这些分段(例如,对这些分段进行解码,应用FEC等等),以使这些分段可用于该接收机设备的DASH客户端308。DASH客户端308可以向接收机设备的应用(例如,媒体播放器)或编解码器提供这些分段,以使接收机设备能够输出媒体内容。
除了生成分段之外,编码器302可以生成MPD 310。编码器所生成的MPD 310可以列出所生成的分段和/或将由编码器302生成的分段、分段长度(例如,大小)、以及这些分段的可用时间。在一个实施例中,编码器所生成的MPD 310中的可用时间可以对应于编码器302生成的分段的输出时间。编码器302可以向BMSC 304提供所生成的MPD 310。在一个实施例中,BMSC 304可以接收所生成的MPD 310,调整分段可用时间轴以考虑任何OTA传输延迟(例如,网络抖动),从而生成MPD 312。BMSC 312可以向接收机设备发送MPD 312。BMSC 312可以向接收机设备发送该MPD 312。MPD 312可以列出与分段的OTA可用时间相对应的分段可用时间。在一个实施例中,接收机设备可以接收MPD 312,接收机设备的多播服务设备客户端306可以基于接收机设备延迟(例如,处理延迟、接收机设备时钟漂移容限等等),依照本地接收机设备时钟来调整可用时间,以生成修改的MPD 314,其中修改的MPD 314列出了在该接收机设备处这些分段的实际估计的可用时间。多播服务设备客户端306可以向DASH客户端308提供修改的MPD 314,DASH客户端可以使用MPD中的分段可用时间,以便利用接收机设备时钟从该接收机设备的本地HTTP服务器请求分段。在另一个实施例中,接收机设备的多播服务设备客户端306基于接收机设备延迟(例如,处理延迟、时钟漂移等等),根据本地接收机设备时钟来调整MPD 312中的可用时间,并独立于向DASH客户端308发送的任何MPD,向DASH客户端308传输针对这些可用时间的调整量。在另外的实施例中,多播服务设备客户端306所进行的这些调整可以基于以下各项进行变化:该呈现是通过单播传输还是通过广播传输来接收的,和/或各个呈现的分段大小。
图3B根据另一个实施例,示出了沿着分段传输路径,针对分段可用时间轴(例如,MPD)所做出的传输调整。图3B中所示出的传输调整类似于上面针对图3A所描述的,除了在图3B中,在向DASH客户端308发送MPD之前,多播服务设备客户端306不可以修改MPD。在一个实施例中,接收机设备可以接收MPD 312,接收机设备的多播服务设备客户端306可以向DASH客户端308提供MPD312,而不修改分段可用时间。在一个实施例中,多播服务设备客户端306可以基于接收机设备延迟(例如,处理延迟、时钟漂移等等),确定用于根据本地接收机设备时钟来调整可用于调整可用时间的延迟调整,并生成用于列出该延迟调整的延迟调整消息316。多播服务设备客户端306可以向DASH客户端308提供该延迟调整消息。在一个实施例中,DASH客户端308可以使用延迟调整消息316中的延迟调整指示,来修改MPD 312中的分段可用时间以生成修改的MPD 314。DASH客户端308可以使用接收机设备时钟,从接收机设备的本地HTTP服务器请求分段。在另一个实施例中,DASH客户端308可以接收延迟调整消息316,并使用延迟调整消息316来修改从该接收机设备的本地HTTP服务器中进行的针对分段的请求,而不用生成修改的MPD 314。
图4示出了流路径上的各种延迟,以及接收机设备所经历的这些延迟在时间上对于分段可用性的影响。在一个实施例中,编码器可以将实时记录的原始媒体源分割成一些分段(例如,图4中所示的0、1、2、3、4、5、6)。编码器可以根据网络时间协议(NTP)时间来同步这些分段的边界,这些分段0、1、2、3、4、5、6可以在编码延迟后从编码器中输出。在一个实施例中,编码器可以生成可用时间轴(例如,编码器生成的MPD),其将分段0、1、2、3、4、5、6的可用时间列成为编码器输出时间的。编码器可以向BMSC发送分段0、1、2、3、4、5、6和MPD,分段0、1、2、3、4、5、6向BMSC的传输可能进一步延迟分段0、1、2、3、4、5、6。BMSC可以处理这些分段,以将这些分段分割成媒体分段分组(MSP),使这些MSP同步,并调度这些MSP进行OTA传输。每一个MSP可以被分配一个设定的MSP持续时间(例如,1秒)。可以将MSP广播OTA给接收机设备,在接收机设备处接收到分段的MSP时,设备就可以接收到该分段。在一个实施例中,原始媒体源分段记录时间和接收机设备处接收到与该分段相对应的MSP之间的时间,可以是网络抖动。在一个实施例中,BMSC还可以向接收机设备发送MPD。当在接收机设备处接收到与分段相对应的MSP时,在该接收机设备可用该分段之前,可能需要进行另外的处理。另外的处理可以包括:根据分段0、1、2、3、4、5、6各自的MSP,对分段0、1、2、3、4、5、6进行拆包和重组,应用FEC,对这些分段进行解码等等。接收机设备处的最差情况处理延迟,可能进一步延迟这些分段0、1、2、3、4、5、6的可用性。除了最差情况处理延迟之外,接收机时钟漂移也可能进一步影响分段0、1、2、3、4、5、6在该接收机设备处的可用时间。
在一个实施例中,接收机设备可以通告分段可用时间,以考虑接收机时钟漂移。在一个实施例中,接收机设备可以调整所接收的MPD中的可用时间,以生成考虑了接收机设备处理延迟和接收机设备时钟漂移的修改的MPD。如图4中所示,与编码器所生成的MPD中的分段(例如,分段0)的可用时间相比,在修改的MPD中该相同分段的可用时间可能较晚。在一个实施例中,由于加/减接收机时钟漂移不确定性,因此接收机设备处的最差情况分段可用时间,取决于针对该分段的实际请求时间(例如,DASH客户端从本地HTTP服务器请求该分段的接收机时钟时间),甚至直到修改的MPD中所列出的时间之后为止,分段都可能实际并不可用。
图5A示出了用于在接收机设备上提供分段可用时间轴(例如,MPD)的实施例方法500A,其中该接收机设备的时钟与通过OTA传输来提供分段的广播网络的时钟是同步的。在一个实施例中,方法500A的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法500A的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502中,多播服务设备客户端或者客户端应用可以接收MPD。在一个实施例中,接收机设备可以通过OTA传输来接收MPD。在一个实施例中,该MPD可以是从网络接收的,头端可以在MPD中设置分段的可用时间。在一个实施例中,MPD中的可用时间可以由网络来设置,其可以考虑从生成这些分段的编码器到接收机设备的最差情况端到端传输延迟(例如,网络抖动)。在一个实施例中,客户端应用可以通过多播服务设备客户端来接收MPD。在一个实施例中,接收机设备可以在用户服务描述中接收网络抖动值。在方框504中,多播服务设备客户端或客户端应用可以确定基处理延迟(TProcessing_Base)。在一个实施例中,基处理延迟可以是适用于对该接收机设备接收的任何分段进行处理以使所接收的分段可用于该接收机设备上的应用/客户端的延迟时间。基处理延迟值可以是预先提供给多播服务设备客户端或客户端应用的,并存储在可用于该多播服务设备客户端或客户端应用的存储器中。在一个实施例中,基处理延迟可以与分段类型有关,确定基处理延迟可以包括:基于MPD中所标识的分段类型来选择基处理延迟。例如,与音频分段相比,视频分段可以具有不同的基处理延迟。
在方框506中,多播服务设备客户端或客户端应用可以确定分段持续时间。在一个实施例中,MPD可以列出分段持续时间,多播服务设备客户端或客户端应用可以根据MPD来确定当前分段的分段持续时间。在方框508中,多播服务设备客户端或客户端应用可以确定分段处理因子(TProcessing_Factor)。在一个实施例,分段处理因子可以是考虑基于分段大小的分段处理时间的差值的因子。该处理因子可以是预先提供给多播服务设备客户端或客户端应用的,并存储在可用于该多播服务设备客户端或客户端应用的存储器中。在一个实施例中,该处理因子可以与分段类型有关,确定该处理因子可以包括:基于MPD中所标识的分段类型来选择该处理因子。例如,与音频分段相比,视频分段可以具有不同的处理因子。
在方框510中,多播服务设备客户端或客户端应用可以确定处理延迟调整(M)为:将基处理延迟(TProcessing_Base)增加到分段持续时间与处理因子(TProcessing_Factor)相乘的结果的最终结果。在其它实施例中,可以通过以其它方式来组合基处理延迟、分段持续时间和/或处理因子,来确定该处理延迟调整(M)。在方框512中,多播服务设备客户端或客户端应用可以将MPD中的该分段的可用时间偏移所确定的处理延迟调整(M)。用此方式,多播服务设备客户端或客户端应用可以向MPD中的可用时间增加延迟容限,以覆盖这些分段处理延迟。在判断框514中,多播服务设备客户端或客户端应用可以判断在MPD中是否还有剩余的没有被修改的分段。如果存在剩余的分段(即,判断框514=“是”),则在方框506中,多播服务设备客户端或客户端应用可以确定下一个分段的分段持续时间,并在方框508、510和512中,确定所述处理延迟,并相应地对MPD中的该分段的时间进行偏移。用此方式,可以对MPD中的一些或所有分段进行偏移,以考虑它们各自的处理延迟。如果没有剩余的分段(即,判断框514=“否”),则在可选框516中,多播服务设备客户端或客户端应用可以将修改后的MPD存储在可用于该多播服务设备客户端或客户端应用的存储器中。在一个实施例中,对修改后的MPD进行存储可以包括:将修改后的MPD存储在与一个URL相关联的存储位置处,其中一些或所有MPD存储在接收机设备上的该位置处。在另一个实施例中,客户端应用可以不用专门将修改后的MPD存储在单独的存储位置。相反,在可选框518中,客户端应用可以仅仅使用修改后的MPD,以在偏移的可用时间来请求分段。
图5B示出了用于生成延迟调整消息的实施例方法500B。实施例方法500B类似于上面参照图5A所描述的方法500A,除了可以生成用于指示分段可用时间轴中的偏移的延迟调整消息,而不用必须对分段可用时间轴进行偏移之外。在一个实施例中,方法500B的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法500B的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作,以确定处理延迟调整(M)。在方框517中,多播服务设备客户端或者客户端应用可以将该延迟调整量(M)的指示存储在延迟调整消息中。在一个实施例中,延迟调整消息可以是客户端应用可以用于确定延迟调整(其考虑接收机设备处的分段可用的延迟),并可以用于对一个或多个分段的可用时间进行偏移的数据文件。在一个实施例中,可以在与一个URL相关联的存储位置处,存储延迟调整消息,其中一些或所有延迟调整消息存储在接收机设备上的该位置处。在方框519处,多播服务设备客户端或客户端应用可以判断在MPD中是否还有剩余的仍然没有确定延迟调整的分段。如果存在剩余的分段(即,判断框519=“是”),则在方框506中,多播服务设备客户端或客户端应用可以确定下一个分段的分段持续时间,并在方框508、510和517中,确定所述处理延迟,并相应地存储延迟调整指示。用此方式,可以在延迟调整消息中提供针对该MPD中的一些或所有分段的延迟调整量的指示,以说明它们各自的处理延迟。如果没有剩余的分段(即,判断框519=“否”),则在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
图5C示出了用于在接收机设备上提供分段可用时间轴(例如,MPD)的实施例方法500C,其中该接收机设备的时钟与通过OTA传输来提供分段的广播网络的时钟是同步的。实施例方法500C类似于上面参照图5A所描述的方法500A,除了可以确定针对至少一个分段的分段处理因子(TProcessing_Factor),并基于该至少一个分段,对所有分段进行偏移之外。在一个实施例中,方法500C的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法500C的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作,以确定处理延迟调整(M)。在方框526中,多播服务设备客户端或者客户端应用可以将MPD中的至少一个分段的可用时间偏移所确定的处理延迟调整(M)。在一个实施例中,可以将MPD中的第一分段的可用时间偏移该处理延迟调整(M)。用此方式,多播服务设备客户端或者客户端应用可以向MPD中针对第一分段的可用时间增加延迟容限,以覆盖分段处理延迟。在一个实施例中,通过对第一分段的可用时间进行偏移,可以对所有分段进行偏移以考虑所确定的延迟调整,这是由于每一个后续分段的可用性都是基于前一分段的各自分段持续时间加上该前一分段的可用时间来确定的。因此,通过对第一分段进行偏移,可以对所有分段进行偏移。在可选框516中,多播服务设备客户端或者客户端应用可以将修改后的MPD存储在可用于该多播服务设备客户端或客户端应用的存储器中。在另一个实施例中,客户端应用可以不用专门将修改后的MPD存储在单独的存储位置。相反,在可选框518中,客户端应用可以仅仅使用修改后的MPD,来在偏移的可用时间请求分段。在另外的实施例中,可以在每个呈现的基础上,重复方法500C的操作,以便能够独立地对不同的呈现中的分段进行偏移。
图5D示出了用于生成延迟调整消息的实施例方法500D。实施例方法500D类似于上面参照图5C所描述的方法500C,除了可以生成用于指示分段可用时间轴中的偏移的延迟调整消息,而不是必需对分段可用时间轴进行偏移之外。在一个实施例中,方法500D的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法500D的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作,以确定处理延迟调整(M)。在方框527中,多播服务设备客户端或者客户端应用可以将针对至少一个分段的处理延迟调整(M)的指示存储在延迟调整消息中。在一个实施例中,该处理延迟调整(M)可以是针对第一分段的处理延迟调整(M)。如上所述,在可选框521中,多播服务设备客户端可以向客户端应用发送延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
图6A示出了用于提供分段可用时间轴(例如,MPD)的另一个实施例方法600A。实施例方法600A类似于上面参照图5A所描述的方法500A,除了在调整分段可用时间时,还可以考虑接收机设备上的时钟漂移之外。在一个实施例中,方法600A的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600A的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框602中,多播服务设备客户端或者客户端应用可以使其时钟与NTP时钟服务器同步。在方框604中,多播服务设备客户端或者客户端应用可以确定接收机时钟漂移(REC_DRIFT)。在一个实施例中,接收机时钟漂移可以是提供给接收机设备的值,其存储在可用于该多播服务设备客户端或客户端应用的存储器中。
在方框502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作,以确定处理延迟调整(M)。在方框606中,多播服务设备客户端或者客户端应用可以将MPD中的分段的可用时间偏移所确定的处理延迟(M)和接收机时钟漂移(REC_DRIFT)。用此方式,多播服务设备客户端或者客户端应用可以向在该数据路径上可能经历的最大延迟增加接收机漂移,以修改该MPD中的可用时间,从而覆盖分段处理延迟和时钟漂移。在方框514和可选框516和518中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作。
图6B示出了用于生成延迟调整消息的另一个实施例方法600B。实施例方法600B类似于上面参照图6A所描述的方法600A,除了可以使用接收机设备上的时钟漂移来生成延迟调整消息中的延迟调整指示,在不是必须调整分段可用时间之外。在一个实施例中,方法600B的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600B的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。
在方框602、604、502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图6A所描述的方法600A中的类似编号模块的操作,以确定处理延迟调整(M)。在方框607中,多播服务设备客户端或者客户端应用可以将所确定的处理延迟(M)和接收机时钟漂移(REC_DRIFT)的指示存储在延迟调整消息中。用此方式,客户端应用可以使用延迟调整消息,以向在该数据路径上可能经历的最大延迟增加接收机漂移,调整该MPD中的可用时间以覆盖分段处理延迟和时钟漂移。在方框519和可选框521中,多播服务设备客户端或者客户端应用可以执行上面参照图5B所描述的方法500B中的类似编号模块的操作。
图6C示出了用于提供分段可用时间轴(例如,MPD)的另一个实施例方法600C。实施例方法600C类似于上面参照图6A所描述的方法600A,除了可以使用延迟调整量(M)和接收机漂移(REC_DRIFT)来偏移MPD中的至少一个分段,并基于该至少一个分段来偏移所有分段。在一个实施例中,方法600C的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600C的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框602、604、502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图6A所描述的方法600A中的类似编号模块的操作。在方框610中,多播服务设备客户端或者客户端应用可以将MPD中的至少一个分段的可用时间偏移处理延迟调整(M)和接收机漂移(REC_DRIFT)。在一个实施例中,将MPD中的第一分段的可用时间偏移处理延迟调整(M)和接收机漂移(REC_DRIFT)。在一个实施例中,通过对第一分段的可用时间进行偏移,可以对所有分段进行了用于考虑所确定的延迟调整量的偏移,这是由于每一个后续分段的可用性都可以基于前一分段的各自分段持续时间加上该前一分段的可用时间来确定。因此,通过对第一分段进行偏移,可以对所有分段进行了偏移。在方框514和可选框516和518中,多播服务设备客户端或者客户端应用可以执行上面参照图5A所描述的方法500A中的类似编号模块的操作。
图6D示出了用于生成延迟调整消息的另一个实施例方法600D。实施例方法600D类似于上面参照图6C所描述的方法600C,除了可以在无需调整分段可用时间的情况下,使用接收机设备上的时钟漂移来生成延迟调整消息中的延迟调整指示之外。在一个实施例中,方法600D的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600D的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框602、604、502、504、506、508和510中,多播服务设备客户端或者客户端应用可以执行上面参照图6A所描述的方法600A中的类似编号模块的操作。在方框611中,多播服务设备客户端或者客户端应用可以将针对至少一个分段的处理延迟调整(M)和接收机漂移(REC_DRIFT)的指示存储在延迟调整消息中。在一个实施例中,处理延迟调整(M)和接收机漂移(REC_DRIFT)可以是针对第一分段的处理延迟调整(M)和接收机漂移(REC_DRIFT)。如上所述,在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
在各个实施例中,接收机设备时钟可能并不是始终与网络时钟是同步的。在接收机设备时钟没有同步的实施例中,可以使用另一种高度准确的时间信号(例如,全球定位系统(“GPS”)时间信号)来同步接收机设备时钟。用此方式,在接收机设备处,可以使用基于高度准确的时间信号的精确时间基准,来确定分段的相应可用时间和/或其它数据。在一个实施例中,网络时钟和接收机设备时钟可以均同步到GPS定时信号。接收机设备处理器可以使用该接收机设备所接收的GPS时间信号,独立于与该网络的任何同步,来将该接收机设备时钟与网络时钟进行同步。
在各个实施例中,接收机设备时钟可能并不是始终与网络时钟是同步的。在接收机设备时钟没有同步的实施例中,可以基于接收到第一分段的时间来确定可用时间。图7是用于实现一个实施例的测试系统中的第一分段的到达时间的图表。图7示出了由于最快分段使用150毫秒被解码,而最慢分段使用900毫秒被解码,因此分段的延迟容限一定是0.75秒。因此,0.75秒的延迟容限可以说明分段的传输抖动,其中该传输抖动可能是由于下面的各项情形所造成的:分段大小的变化、分段生成和信道调度的不同周期(例如,1MSP=0.32s)、以及时钟漂移(在长期播放的情形下进行考虑)。在一个实施例中,可以向最长的传输时间(例如,0.9秒)增加延迟容限(例如,0.75秒)以生成1.75秒的最坏情况延迟时间。用此方式,较长的接收分段可能导致将分段延迟传送到请求的应用/客户端(例如,DASH客户端)的最宽松的可用时间估计。在一个实施例中,多播服务设备客户端或客户端应用可以调整MPD中的可用时间轴,使得第一接收的分段的分段可用时间是通过单向文件传输(“FLUTE”)传送该分段的时间加上延迟容限。在另一个实施例中,多播服务设备客户端或客户端应用可以生成延迟调整消息,其中该消息指示对分段的可用时间进行调整的延迟调整,使得第一接收的分段的分段可用时间是通过单向文件传输(“FLUTE”)传送该分段的时间加上延迟容限。
在一个实施例中,多播服务设备客户端或客户端应用可以将分段的调整后的可用时间确定成最差情况延迟容限减去该分段的解码时间。多播服务设备客户端或客户端应用可以确定分段的调整后的可用时间和MPD中的第一分段的可用时间之间的差值。在一个实施例中,该延迟容限可以是分段的可用时间的最大变化量(即,最大可用时间减去最小可用时间),其中这些时间是基于同步到精确时间基准(例如,GPS)的参考时钟的。在一个实施例中,可以基于测试的端到端系统来确定该最大变化量。在一个实施例中,可以基于解析分析来确定该最大变化量。
图8A示出了用于基于第一分段的解码时间,来修改分段可用时间的实施例方法800A。在一个实施例中,方法800A的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在一个实施例中,方法800A的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。如上所述,在方框502中,多播服务设备客户端或客户端应用可以接收MPD。在方框802中,多播服务设备客户端或客户端应用可以接收第一分段。在一个实施例中,第一分段可以是接收机设备的调制解调器根据FLUTE协议通过OTA广播传输来接收的,并将其传送给多播服务设备客户端。在另一个实施例中,第一分段可以是接收机设备的调制解调器根据FLUTE协议通过OTA广播传输来接收的,可以将接收到第一分段的指示或者第一分段传送给客户端应用。在方框804中,多播服务设备客户端或客户端应用可以启动一个时钟。在方框806中,多播服务设备客户端或客户端应用可以对第一分段进行解码。在一个实施例中,对第一分段进行解码可以包括:为了使接收的分段可用于在接收机设备上运行的应用/客户端(例如,DASH客户端),而需要多播服务设备客户端对该分段进行的所有处理。在另一个实施例中,对第一分段进行解码可以包括:为了使接收的分段可用于客户端应用,而需要该客户端应用对该分段进行的所有处理。在判断框808中,多播服务设备客户端或客户端应用可以判断对第一分段的解码是否完成。如果解码没有完成(即,判断框808=“否”),则在方框806中,多播服务设备客户端或客户端应用可以继续对该分段进行解码。
当解码完成时(即,判断框808=“是”),则在方框810中,多播服务设备客户端或客户端应用可以停止上述时钟。在方框812中,多播服务设备客户端或客户端应用可以确定解码时间。在一个实施例中,可以将解码时间确定成所述时钟被停止时的时钟时间。在方框813中,多播服务设备客户端或客户端应用可以将第一分段的调整后的可用时间,确定成延迟容限减去解码时间。在一个实施例中,该延迟容限可以是对第一分段的到达时间的变化情况的测量,如上面参照图7所讨论的。在一个实施例中,可以在接收机设备中的可用于多播服务设备客户端或客户端应用的存储器中,提供该延迟容限。在方框814中,多播服务设备客户端或客户端应用可以将延迟调整量确定成第一分段的调整后的可用时间和MPD中的第一分段的可用时间之间的差值。在方框816中,多播服务设备客户端或客户端应用可以将MPD中的一些或所有分段的可用时间偏移该延迟调整量。用此方式,可以对一些或所有可用时间进行调整,以考虑第一分段的解码时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如上所述,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图8B示出了用于生成延迟调整消息的实施例方法800B。实施例方法800B类似于上面参照图8A所描述的方法800A,除了可以无需对分段可用时间轴进行偏移,而是生成用于指示该分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法800B的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法800B的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、802、804、806、808、810、812、813和814中,多播服务设备客户端或者客户端应用可以执行上面参照图8A所描述的方法800A中的类似编号模块的操作,以确定延迟调整。在方框817中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整的指示存储在延迟调整消息中。用此方式,客户端应用可以使用该延迟调整消息,将MPD中的可用时间调整所述解码时间加上延迟容限。如上所述,在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
图8C示出了用于基于视频分段的解码时间,来修改分段可用时间的实施例方法800C。实施例方法800C类似于上面参照图8A所描述的方法800A,除了可以基于专门识别要进行解码的视频分段来确定延迟调整之外。在一个实施例中,方法800C的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在一个实施例中,方法800C的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在一个实施例中,接收机设备可以接收两种或更多类型的分段。例如,接收机设备可以接收视频和音频分段。与解码音频分段所需要的时间相比,解码视频分段所需要的时间更大。因此,仅仅使用第一接收的分段的解码时间,不能准确地对分段可用时间进行偏移,这是由于针对较小的音频分段的解码时间不能反映对视频分段进行解码所需要的时间。方法800C通过进行等待,直到接收到视频分段以确定解码时间并相应地确定延迟调整量为止,来解决视频和音频分段解码时间中的差值。
如上所述,在方框502中,多播服务设备客户端或者客户端应用可以接收MPD。在方框821中,多播服务设备客户端或者客户端应用可以接收分段。该分段可以是任何类型的分段,例如,视频分段或音频分段。在一个实施例中,该分段可以是接收机设备的调制解调器根据FLUTE协议通过OTA广播传输来接收的,并将其传送给多播服务设备客户端。在另一个实施例中,该分段可以是接收机设备的调制解调器根据FLUTE协议通过OTA广播传输来接收的,可以将接收到该分段的指示或者该分段传送给客户端应用。在判断框823中,多播服务设备客户端或客户端应用可以判断该分段是否是视频分段。举例而言,多播服务设备客户端或客户端应用可以检查接收的分段的报头,其中报头用于标识该分段的相应类型。如果该分段不是视频分段(即,判断框823=“否”),则在方框821中,多播服务设备客户端或客户端应用可以接收下一个分段。用此方式,多播服务设备客户端或客户端应用可以搜索视频分段。
如果接收到视频分段(即,判断框823=“是”),则如上所述,在方框804中,多播服务设备客户端或客户端应用可以启动一个时钟。在方框825中,多播服务设备客户端或客户端应用可以对该分段进行解码。在一个实施例中,对分段进行解码可以包括:为了使接收的分段可用于在接收机设备上运行的应用/客户端(例如,DASH客户端),而需要多播服务设备客户端对该分段进行的所有处理。在另一个实施例中,对分段进行解码可以包括:为了使接收的分段可用于客户端应用,而需要该客户端应用对该分段进行的所有处理。在判断框827中,多播服务设备客户端或客户端应用可以判断该分段的解码是否完成。如果解码没有完成(即,判断框827=“否”),则在方框825中,多播服务设备客户端或客户端应用可以继续对该分段进行解码。
当解码完成时(即,判断框827=“是”),则在方框810中,多播服务设备客户端或客户端应用可以停止上述时钟。在方框812中,多播服务设备客户端或客户端应用可以确定解码时间。在一个实施例中,可以将解码时间确定成所述时钟被停止时的时钟时间。在方框829中,多播服务设备客户端或客户端应用可以将该分段的调整后的可用时间,确定成延迟容限减去解码时间。在一个实施例中,该延迟容限可以是对分段的到达时间的变化情况的测量,如上面参照图7所讨论的。在一个实施例中,可以在接收机设备中的可用于多播服务设备客户端或客户端应用的存储器中,提供该延迟容限。
在方框831中,多播服务设备客户端或客户端应用可以将延迟调整确定成该分段的调整后的可用时间和MPD中的该分段的可用时间之间的差值。如上所述,在方框816中,多播服务设备客户端或客户端应用可以将MPD中的一些或所有分段的可用时间偏移该延迟调整。用此方式,可以对一些或所有可用时间进行调整,以考虑视频分段的解码时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如上所述,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图8D示出了用于基于视频分段的解码时间,来修改分段可用时间的实施例方法800D。实施例方法800D类似于上面参照图8C所描述的方法800C,除了可以无须对分段可用时间轴进行偏移,而是生成用于指示分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法800D的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法800D的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、821、823、804、825、827、810、829和831中,多播服务设备客户端或者客户端应用可以执行上面参照图8C所描述的方法800C中的类似编号模块的操作,以确定延迟调整。如上面参照图8B所讨论的,在方框817中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整量的指示存储在延迟调整消息中。如上面参照图8B所讨论的,在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。图8E示出了用于基于分段接收时间,来修改分段可用时间的实施例方法800E。实施例方法800E类似于上面参照图8A所描述的方法800A,除了可以基于接收机设备处的实际分段接收时间,来确定延迟调整之外。在一个实施例中,方法800E的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在一个实施例中,方法800E的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。如以上所讨论的,在方框502中,多播服务设备客户端或者客户端应用可以接收MPD,并且在方框802中,可以接收第一分段。在方框833中,多播服务设备客户端或者客户端应用可以确定第一分段接收时间。在一个实施例中,第一分段接收时间可以是在接收机设备处接收到第一分段的实际时间。在一个实施例中,第一分段接收时间可以是基于精确的时间基准(例如,GPS参考时间)。举例而言,第一分段接收时间可以是使用GPS参考时间所确定的、接收机设备的FLUTE层接收到第一分段的第一分组的时间。在方框835中,多播服务设备客户端或者客户端应用可以将第一分段的调整后的可用时间确定成第一分段接收时间。在另一个实施例中,多播服务设备客户端或者客户端应用可以将第一分段的调整后的可用时间,确定成第一分段的第一分段接收时间加上延迟容限。在一个实施例中,延迟容限可以是下面二者之间差值的最大变化量:即,分段的解码时间减去通过下面方式所构建的可用时间轴:将第一分段可用时间设置成第一分组的接收时间、将每一个后续分段的可用时间设置成前一分段的可用时间加上分段持续时间。在一个实施例中,该延迟容限可以是在接收机设备上预先提供的。如上所述,在方框814中,多播服务设备客户端或客户端应用可以将延迟调整量确定成第一分段的调整后的可用时间和MPD中的第一分段的可用时间之间的差值。用此方式,第一分段的实际接收时间自身就可以确定在将MPD中的可用时间与实际到达时间对齐时所使用的延迟调整。如上所述,在方框816中,多播服务设备客户端或客户端应用可以将MPD中的所有分段的可用时间偏移该延迟调整。用此方式,可以对偏移后的可用时间轴进行构建,其中,将第一分段的可用时间设置成第一接收的分段的第一分组的接收时间,每一个后续分段的可用时间可以是前一分段的可用时间加上前一分段的持续时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如以上所讨论的,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图8F示出了用于基于分段接收时间,来生成延迟调整消息的实施例方法800F。实施例方法800F类似于上面参照图8E所描述的方法800E,除了可以无须对分段可用时间轴进行偏移,而是生成用于指示该分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法800F的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法800F的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、802、833、835和814中,多播服务设备客户端或者客户端应用可以执行上面参照图8F所描述的方法800F中的类似编号模块的操作,以确定延迟调整。如上面参照图8B所讨论的,在方框817中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整量的指示存储在延迟调整消息中。如上面参照图8B所讨论的,在可选框521中,多播服务设备客户端可以向客户端应用发送延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
图8G示出了用于基于分段解码完成时间,来修改分段可用时间的实施例方法800G。实施例方法800G类似于上面参照图8A所描述的方法800A,除了可以基于接收机设备处完成第一分段的解码的实际时间,来确定延迟调整之外。在一个实施例中,方法800G的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在一个实施例中,方法800G的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、802、806和808中,多播服务设备客户端或者客户端应用可以执行方法800A中的类似编号模块的操作。如果完成了第一分段的解码(即,判断框808=“是”),则在方框836中,多播服务设备客户端或者客户端应用可以确定分段解码完成时间。在一个实施例中,第一分段解码完成时间可以是对第一分段进行了完全地解码和/或处理,使得该分段可用于该接收机设备上的应用的实际时间。在一个实施例中,第一分段解码完成时间可以是基于精确的时间基准,例如,GPS参考时间。在方框837中,多播服务设备客户端或者客户端应用可以将第一分段的调整后的可用时间确定成延迟容限加上解码完成时间。用此方式,调整后的可用时间可以考虑下面二者的差值的最大值和最小值之间的最大变化量:分段的解码时间和同一分段的可用时间。在一个实施例中,延迟容限可以是下面二者之间差值的最大变化量:即,分段的到达时间减去通过下面方式所构建的可用时间轴:将第一分段可用时间设置成针对第一分段的解码完成时间、将每一个后续分段的可用时间设置成前一分段的可用时间加上分段持续时间。在一个实施例中,延迟容限可以是预先提供给接收机设备的。如上所述,在方框814中,多播服务设备客户端或客户端应用可以将延迟调整确定成第一分段的调整后的可用时间和MPD中的第一分段的可用时间之间的差值。用此方式,第一分段被解码的实际时间自身,可以确定可以用于将MPD中的可用时间与实际可用时间对齐的延迟调整。如上所述,在方框816中,多播服务设备客户端或客户端应用可以将MPD中的所有分段的可用时间偏移延迟调整量。用此方式,可以对偏移后的可用时间轴进行构建,其中,将第一分段的可用时间设置成延迟容限加上第一分段的解码时间,而每一个后续分段的可用时间可以是前一分段的可用时间加上前一分段的持续时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如上所述,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图8H示出了用于基于分段解码完成时间,来生成延迟调整消息的实施例方法800H。实施例方法800H类似于上面参照图8G所描述的方法800G,除了可以无须对分段可用时间轴进行偏移,而是生成用于指示该分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法800G的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法800G的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、802、806、836、837和814中,多播服务设备客户端或者客户端应用可以执行上面参照图8G所描述的方法800G中的类似编号模块的操作,以确定延迟调整量。如上面参照图8B所讨论的,在方框817中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整量的指示存储在延迟调整消息中。如上面参照图8B所讨论的,在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
图8I示出了用于基于音频和视频分段的解码时间,来修改分段可用时间的实施例方法800I。实施例方法800I类似于上面参照图8C所描述的方法800C,除了可以基于对音频和视频分段二者进行解码来确定延迟调整量之外。在一个实施例中,方法800I的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在一个实施例中,方法800I的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在一个实施例中,接收机设备可以接收两种或更多类型的分段。例如,接收机设备可以接收视频和音频分段。方法800I可以通过使用音频和视频分段解码时间以确定延迟调整,来考虑对音频和视频分段二者进行解码所需要的时间。
如上所述,在方框502中,多播服务设备客户端或者客户端应用可以接收MPD,在方框821中,多播服务设备客户端或者客户端应用可以接收分段。在判断框839中,多播服务设备客户端或客户端应用可以判断所接收的分段是否是第一视频分段。如果该分段是第一接收的视频分段(即,判断框839=“是”),则如上所述,在方框804中,多播服务设备客户端或客户端应用可以启动时钟。在方框840中,多播服务设备客户端或客户端应用可以对该视频分段进行解码。在判断框842中,多播服务设备客户端或客户端应用可以判断是否完成了对该视频分段的解码。如果没有完成解码(即,判断框842=“否”),则在方框840中,多播服务设备客户端或客户端应用可以继续对该视频分段进行解码。如果完成了解码(即,判断框842=“是”),则如上所述,在方框810中,多播服务设备客户端或客户端应用可以停止该时钟。在方框844中,多播服务设备客户端或客户端应用可以将视频解码时间,确定成与第一视频分段的解码时间相对应的时钟值。
如果该分段不是第一接收的视频分段(即,判断框839=“否”),则在判断框841中,多播服务设备客户端或客户端应用可以判断该分段是否是第一音频分段。如果该分段不是第一音频分段(即,判断框841=“否”),则多播服务设备客户端或客户端应用可以转到方框821,以等待下一个分段。如果该分段是第一音频分段(即,判断框841=“是”),则如上所述,在方框804中,多播服务设备客户端或客户端应用可以启动时钟。在方框846中,多播服务设备客户端或客户端应用可以对音频分段进行解码。在判断框847中,多播服务设备客户端或客户端应用可以判断是否完成了对该音频分段的解码。如果没有完成解码(即,判断框847=“否”),则在方框846中,多播服务设备客户端或客户端可以继续对该音频分段进行解码。如果完成了解码(即,判断框847=“是”),则如上所述,在方框810中,多播服务设备客户端或客户端应用可以停止该时钟。在方框848中,多播服务设备客户端或客户端应用可以将音频解码时间,确定成与第一音频分段的解码时间相对应的时钟值。
在判断框850中,多播服务设备客户端或客户端应用可以判断是否已经确定了视频和音频解码时间。如果还没有确定针对视频分段和音频分段的解码时间两者(即,判断框850=“否”),则在方框821中,多播服务设备客户端或客户端应用可以等待下一个分段的接收,并如上所述地继续执行,以确定视频和/或音频分段的解码时间。如果已确定了视频和音频解码时间两者(即,判断框850=“是”),则在方框852中,多播服务设备客户端或客户端可以将延迟调整,确定成延迟容限减去视频解码时间再减去音频解码时间(即,延迟容限-(视频解码时间+音频解码时间))。用此方式,延迟调整可以考虑对于音频分段进行解码所要花费的时间和对于视频分段进行解码所要花费的时间两者。如上所述,在方框816中,多播服务设备客户端或客户端应用可以将MPD中的一些或所有分段的可用时间偏移该延迟调整量。用此方式,可以对一些或所有可用时间进行调整,以考虑音频分段和视频分段的解码时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如上所述,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图8J示出了用于基于音频和视频分段的解码时间,来生成延迟调整消息的实施例方法800J。实施例方法800J类似于上面参照图8I所描述的方法800I,除了可以无须对分段可用时间轴进行偏移,而是生成用于指示分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法800J的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法800J的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、821、839、804、840、842、810、844、841、846、847、848、850和852中,多播服务设备客户端或者客户端应用可以执行上面参照图8G所描述的方法800I中的类似编号模块的操作,以确定延迟调整。如上面参照图8B所讨论的,在方框817中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整量的指示存储在延迟调整消息中。如上面参照图8B所讨论的,在可选框521中,多播服务设备客户端可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用时间时进行使用,例如,如下面参照图12的方框1206所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
在接收机设备时钟没有实现同步的实施例中,可以基于用于通告所接收的分段的分组中的第一突发的第一文件传输表(FDT)的时间戳,来确定可用时间。可以使用在第一突发和后面的突发中所接收的分组来构建该分段。图9是用于实现实施例的测试系统中的第一分段的到达时间的图表。图9示出了由于最慢分段是在被接收到之后900毫秒中进行解码,因此用于分段的延迟容限一定是0.9秒。可以在分段的传输的起始时间发送FLUTE FDT(其消除了由于上面参照图7所讨论的分段持续时间所造成的定时误差),因此图9示出了根据FDT的时间戳的延迟容限(例如,0.9秒)可以等于最差情况延迟(例如,0.9秒)。因此,0.9秒的延迟容限可以考虑分段的传输抖动,其中该传输抖动可以等于分段持续时间、分段生成和信道调度的不同周期(例如,1MSP=0.32s)、以及时钟漂移(在长期播放的情形下进行考虑)。在一个实施例中,定时的准确性可以独立于首先接收到哪个分段。在一个实施例中,多播服务设备客户端或客户端应用可以调整MPD中的可用时间轴,使得分段可用时间是FLUTE FDT首先通告该分段的时间加上延迟容限。在另一个实施例中,多播服务设备客户端或客户端应用可以生成指示延迟调整量的延迟调整消息,其中利用该调整量来调整分段的可用时间,使得分段可用时间是FLUTE FDT首先通告该分段的时间加上延迟容限。
图10A示出了用于基于FDT接收时间,来修改分段可用时间的实施例方法1000A。在一个实施例中,方法1000A的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法1000A的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。如上所述,在方框502中,多播服务设备客户端或客户端应用可以接收MPD。在方框1002中,多播服务设备客户端或客户端应用可以接收通告第一分段的FLUTE文件传输表(FDT)。在一个实施例中,客户端应用可以接收在该接收机设备处接收到通告第一分段的FDT的指示。在方框1004中,多播服务设备客户端或客户端应用可以将FDT接收时间确定成参考时间(即,时间_基准)。在方框1006中,多播服务设备客户端或客户端应用可以将调整后的可用时间,确定成参考时间(即,时间_基准)加上延迟容限。在一个实施例中,延迟容限可以是对测试系统中的到达时间的变化情况的测量值,如上面参照图9所讨论的。在方框1008中,多播服务设备客户端或客户端应用可以将延迟调整量,确定成调整后的可用时间和MPD中的第一分段的可用时间之间的差值。在方框1010中,多播服务设备客户端或客户端应用可以将MPD中的一些或所有分段的可用时间偏移该延迟调整量。用此方式,可以对一些或所有可用时间进行调整,以考虑FDT的接收时间。如上所述,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。如上所述,在可选框518中,客户端应用可以按照偏移后的可用时间来请求分段。
图10B示出了用于生成延迟调整消息的实施例方法1000B。实施例方法1000B类似于上面参照图10A所描述的方法1000A,除了可以在无须对分段可用时间轴进行偏移,而是生成用于指示该分段可用时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法1000B的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法1000B的操作可以由在接收机设备的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框502、1002、1004、1006和1008中,多播服务设备客户端或者客户端应用可以执行上面参照图10A所描述的方法1000A中的类似编号模块的操作,以确定延迟调整。在方框1011中,多播服务设备客户端或者客户端应用可以将所确定的延迟调整量的指示存储在延迟调整消息中。用此方式,客户端应用可以使用延迟调整消息来调整MPD中的可用时间。如上所述,在可选框521中,多播服务设备客户端可以向客户端应用发送延迟调整消息,以便客户端应用在偏移分段的可用时间时进行使用。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。
在一个实施例中,可以基于表示的数量,来增强MPD中的可用时间的调整。在携带视频和音频的单一表示中,可以接收单一分段,对MPD进行调整,使得第一接收的分段的可用时间等于:第一分段接收时间、加上延迟抖动、加上用于考虑周期性调度OTA的0.32秒、加上处理延迟、加上设备时钟漂移。在双表示情形下,可以接收具有相同索引的两个分段(一个音频,另一个视频),对MPD进行调整,使得接收的音频和视频分段的可用时间等于:两个分段之间的最后接收时间、加上延迟抖动、加上0.32秒、加上处理延迟、加上设备时钟漂移。
在另一个实施例中,可以基于表示的数量来增强对MPD中的可用时间的调整。在携带视频和音频的单一表示中,可以接收单一分段,对MPD进行调整,使得第一分段可用时间等于:描述该分段的第一FDT接收时间、加上分段持续时间、加上处理延迟、加上设备时钟漂移。在双表示情形下,可以接收具有相同索引的两个分段(一个音频,另一个视频),对MPD进行调整,使得第一分段可用时间等于:描述分段中的任意一个的第一FDT接收时间、加上分段持续时间、加上处理延迟、加上设备时钟漂移。
在各个实施例中,当SNTP在接收机设备处可用时,在网络和接收机设备之间同步定时可以是有利的,时钟漂移在接收机设备处受到限制,并且针对可用时间的网络设置是精确的。在各个实施例中,对于环回测试模式和在低网络抖动状况下,网络和接收机设备之间的未同步的定时可以是有利的。
图11A示出了用于在MPD中包括网络抖动估计的实施例方法1100A。方法1100A的操作可以结合上面所描述的实施例方法500A、500B、600A、600B、800A、800B、1000A和1000B中的任何一个的操作来执行。在一个实施例中,BMSC可以在MPD中通告网络抖动估计量(即,用于广播表示的传输路径上的延迟抖动)。MPD的通告可以使接收机设备能建立容限和可用时间轴,并帮助进行缓冲确定。例如,如果BMSC没有计算可用时间轴,则可以保证接收时间加抖动是可用时间的上限,并可以在计算缓冲区保持分段多长时间时进行替换。在一个替代的实施例中,网络抖动可以是预先提供在接收机设备上的。在另一个实施例中,接收机设备可以针对服务和/或传输技术,基于先前接收的分段来计算对网络抖动的估计量。举例而言,接收机设备可以计算网络抖动值,并至少部分地基于所计算的网络抖动值来确定延迟调整。在方框1102中,BMSC可以确定网络延迟(网络_抖动)。在一个实施例中,网络延迟可以是通过BMSC从编码器向接收机设备提供分段的传输路径上的延迟。在方框1104中,BMSC可以生成包括该网络_抖动的MPD,并向多播服务设备客户端或客户端应用进行发送。如上所述,在方框502中,多播服务设备客户端或客户端应用可以接收该MPD。在方框1106中,多播服务设备客户端或客户端应用可以基于在该MPD中接收的网络_抖动,对该MPD中的所有分段的可用时间进行偏移。用此方式,可以针对网络_抖动,对MPD中的所有可用时间进行调整。如上面所讨论的,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。
图11B示出了用于在MPD中包括网络抖动估计的实施例方法1100B。实施例方法1100B类似于上面参照图11A所描述的实施例方法1100A,除了在方法1100B中,可以独立于BMSC的MPD,来通告网络抖动估计量(即,用于广播表示的传输路径上的延迟抖动)。方法1100B的操作可以结合上面所描述的实施例方法500A、500B、600A、600B、800A、800B、1000A和1000B中的任何一个的操作来执行。如上所述,在方框1102中,BMSC可以确定网络延迟(网络_抖动)。在方框1107中,BMSC可以生成并向多播服务设备客户端或客户端应用发送MPD。在方框1109中,BMSC可以生成对MPD的指示,并向多播服务设备客户端或客户端应用进行发送。举例而言,该指示可以是一个消息,该消息被发送成包括网络_抖动值的开销信令的一部分。如上所述,在方框502中,多播服务设备客户端或客户端应用可以接收MPD。在方框1111中,多播服务设备客户端或客户端应用可以接收该网络_抖动的指示。如上所述,在方框1106中,多播服务设备客户端或客户端应用可以基于在该MPD中接收的网络_抖动,对该MPD中的所有分段的可用时间进行偏移。用此方式,可以针对网络_抖动,对MPD中的所有可用时间进行调整。如上面所讨论的,在可选框516中,多播服务设备客户端或客户端应用可以存储经修改的MPD。
图12示出了用于基于延迟调整消息中的指示,来调整可用时间的实施例方法。在一个实施例中,方法1200的操作可以由在接收机设备(例如,智能电话)的处理器上运行的客户端应用(例如,DASH客户端)来执行。在方框1202中,客户端应用可以接收MPD。在一个实施例中,客户端应用可以通过多播服务设备客户端,经由接收机设备上的HTTP服务器来接收MPD。在方框1204中,客户端应用可以接收延迟调整消息。在一个实施例中,客户端应用可以通过多播服务设备客户端,经由接收机设备上的HTTP服务器来接收延迟调整消息。在方框1206中,客户端应用可以基于延迟调整消息,对MPD中的一些或所有分段的可用时间进行偏移。在一个实施例中,基于延迟调整消息对可用时间进行偏移可以包括:使用对延迟调整、处理延迟、接收机时钟漂移、网络抖动的指示和/或其它值,来调整各个分段在该接收机设备上可用的时间。在一个实施例中,对可用时间进行偏移,可以包括:修改MPD自身以生成修改的MPD。在另一个实施例中,对可用时间进行偏移,可以涉及:在不修改MPD自身的情况下,改变对分段在接收机设备上何时可用的指示。在对MPD进行修改的实施例中,在可选框1208中,客户端应用可以将修改的MPD存储在可用于该客户端应用的存储器中。在方框1210中,客户端应用可以按照偏移后的可用时间来请求分段。
图13是用于根据一个实施例,示出多播服务设备客户端和接收机设备上的应用/DASH客户端之间的交互的消息流图。应用/DASH客户端可以通过向多播服务设备客户端服务发现功能发送请求,来请求激活服务。多播服务设备客户端服务发现功能可以接收该服务请求,确定该服务是有效的,向多播服务设备客户端流功能发送服务信息以激活该服务。多播服务设备客户端流功能可以确定该服务是有效的,并向多播服务设备客户端调制解调器接口发送用于激活该服务的临时移动组标识符(TMGI)的请求。此外,多播服务设备客户端流功能还可以请求多播服务设备客户端数据传输功能激活FLUTE会话,并请求多播服务设备客户端数据传输功能捕获分段URL。
一旦在移动控制信道(MCCH)中激活了临时移动组标识符,该设备可以对媒体传输信道(MTCH)进行解码。可以将调制解调器所接收的IP分组,从多播服务设备客户端调制解调器接口传送到多播服务设备客户端数据传输功能。多播服务设备客户端数据传输功能可以向多播服务设备客户端DASH网关发送分段N(当其被解码时),并向多播服务设备客户端流功能发送文件可用通知。随着接收到分段N+1、N+2等等,并对它们进行了解码,还可以将它们发送给多播服务设备客户端DASH网关。
当接收到至少一个分段时,多播服务设备客户端流功能可以向多播服务设备客户端服务发现功能发送分段接收时间的指示,多播服务设备客户端服务发现功能可以利用调整后的可用时间来修改MPD。多播服务设备客户端服务发现功能可以向多播服务设备客户端DASH网关发送修改后的MPD。多播服务设备客户端流功能可以向应用/DASH客户端指示已启动该服务。
应用/DASH客户端可以开启媒体播放器,向媒体播放器指出修改后的MPD的URL。应用/DASH客户端可以按照修改的MPD URL,发送针对修改的MPD的HTTP Get()请求。多播服务设备客户端DASH网关可以使用修改的MPD进行响应。应用/DASH客户端可以按照初始分段(IS)URL,来发送针对该IS的HTTP Get()请求。多播服务设备客户端DASH网关可以使用IS进行响应。应用/DASH客户端可以发送针对分段N-1的HTTP Get()请求。没有可用的分段N-1,多播服务设备客户端DASH网关可以以没有发现该分段(例如,404没有发现)进行响应。应用/DASH客户端可以发送针对分段N+1的HTTP Get()请求。多播服务设备客户端DASH网关可以使用分段N+1进行响应。
图14是用于根据另一个实施例,示出多播服务设备客户端和接收机设备上的应用/DASH客户端之间的交互的消息流图。图14中所示出的交互类似于上面参照图13所描述的那些交互,除了在图14中多播服务设备客户端可以不修改MPD之外。相反,多播服务设备客户端可以生成包括延迟调整的指示的延迟调整消息,其中可以使用延迟调整来偏移MPD中的可用时间,使得这些时间是分段实际可用于该接收机设备上的应用/DASH客户端的时间。
在图14所示的实施例中,当接收到至少一个分段时,多播服务设备客户端流功能可以向多播服务设备客户端服务发现功能发送分段接收时间的指示,多播服务设备客户端服务发现功能可以生成包括延迟调整的指示的延迟调整消息。多播服务设备客户端服务发现功能可以向多播服务设备客户端DASH网关发送MPD和该延迟调整消息。多播服务设备客户端流功能可以向应用/DASH客户端指示已启动该服务。
应用/DASH客户端可以开启媒体播放器,向媒体播放器指出MPD的URL和延迟调整消息的URL。应用/DASH客户端可以按照MPD URL,发送针对MPD的HTTP Get()请求。多播服务设备客户端DASH网关可以使用MPD进行响应。应用/DASH客户端可以按照上述延迟调整URL,发送针对延迟调整消息的HTTP Get()请求。多播服务设备客户端DASH网关可以使用延迟调整进行响应。应用/DASH客户端可以使用该延迟调整消息,来偏移MPD中的分段的可用时间。基于偏移后的分段可用时间,应用/DASH客户端可以按照初始分段(IS)URL,来发送针对该IS的HTTP Get()请求。多播服务设备客户端DASH网关可以使用IS进行响应。基于偏移后的可用时间,应用/DASH客户端可以发送针对分段N-1的HTTP Get()请求。没有可用的分段N-1,多播服务设备客户端DASH网关可以以没有发现该分段(例如,404没有发现)进行响应。基于偏移后的可用时间,应用/DASH客户端可以发送针对分段N+1的HTTP Get()请求。多播服务设备客户端DASH网关可以使用分段N+1进行响应。
图15是用于示出多播服务设备客户端之间的交互的消息流图。图15中所示出的交互类似于上面参照图13所描述的那些交互,除了在图15中多播服务设备客户端可能不修改MPD之外。相反,多播服务设备客户端可以向应用/DASH客户端指示第一分段的接收时间,应用/DASH客户端可以确定对MPD中的可用时间进行偏移时可以使用的延迟调整,使得这些时间是分段实际可用于该接收机设备上的应用/DASH客户端的时间。
在图15所示的实施例中,当接收到至少一个分段时,多播服务设备客户端流功能可以向应用/DASH客户端发送分段接收时间的指示,应用/DASH客户端可以确定针对在该接收机设备上接收的分段的可用时间的延迟调整。多播服务设备客户端服务发现功能可以向多播服务设备客户端DASH网关发送MPD。多播服务设备客户端流功能可以向应用/DASH客户端指示已启动该服务。
应用/DASH客户端可以开启媒体播放器,向媒体播放器指出MPD的URL。应用/DASH客户端可以按照MPD URL,发送针对MPD的HTTP Get()请求。多播服务设备客户端DASH网关可以使用MPD进行响应。应用/DASH客户端可以使用所确定的延迟调整量,来偏移MPD中的分段的可用时间。基于偏移后的分段可用时间,应用/DASH客户端可以按照初始分段(IS)URL,来发送针对IS的HTTP Get()请求。多播服务设备客户端DASH网关可以使用IS进行响应。基于偏移后的可用时间,应用/DASH客户端可以发送针对分段N-1的HTTP Get()请求。没有可用的分段N-1,多播服务设备客户端DASH网关可以以没有发现该分段(例如,404没有发现)进行响应。基于偏移后的可用时间,应用/DASH客户端可以发送针对分段N+1的HTTP Get()请求。多播服务设备客户端DASH网关可以使用分段N+1进行响应。
各种实施例可以在各种各样的移动设备(即,接收机设备)中的任何一种之中实现,图16描绘了其一种例子。例如,移动设备1600可以包括耦合到内部存储器1604和1610的处理器1602。内部存储器1604和1610可以是易失性存储器或非易失性存储器,还可以是安全和/或加密存储器,或者非安全和/或非加密存储器、或者其任意组合。此外,处理器1602还可以耦合到触摸屏显示器1606,例如,电阻式感应触摸屏、电容感应触摸屏、红外线感测触摸屏等等。另外,移动设备1600的显示器不需要具有触摸屏能力。另外,移动设备1600可以具有用于发送和接收电磁辐射的一付或多付天线1608,后者可以连接到与处理器1602相耦合的一个或多个网络收发机1616,例如,无线数据链路和/或蜂窝(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE、或者任何其它类型)收发机。此外,移动设备1600还可以包括用于接收用户输入的物理按键1612a和1612b。移动设备1600还可以包括用于打开和关闭移动设备1600的电源键1618。
本文的各个实施例可以用各种各样的市场上可买到的服务器设备中的任何一种(例如,图17中所示出的服务器1700)来实现。通常,这种服务器1700包括耦合到易失性存储器1702和大容量非易失性存储器(例如,硬盘驱动器1704)的处理器1701。此外,服务器1700还可以包括耦合到处理器1701的软盘驱动器、压缩光盘(CD)或DVD光盘驱动器1706。此外,服务器1700还可以包括耦合到处理器1701的一个或多个网络收发机1703(例如,网络接入端口),以便与通信网络1707(例如,耦合到其它通告系统计算机和服务器的局域网、互联网、公众交换电话网和/或蜂窝网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其它类型的蜂窝网络))建立网络接口连接。
处理器1602和1701可以是能由软件指令(应用)进行配置,以执行多种功能(其包括上面所描述的各种实施例的功能)的任何可编程的微处理器、微计算机或多处理器芯片或芯片集。在一些设备中,可以提供多个处理器,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器1602和1701之前,可以将这些软件应用存储在内部存储器1604、1610、1702或1704中。处理器1602和1701可以包括足够用于存储应用软件指令的内部存储器。在很多设备中,内部存储器可以是易失性存储器或者非易失性存储器(例如,闪存)、或者二者的混合。为了便于说明目的,对于存储器的引用通常指代:处理器1602和1701可访问的存储器,其包括内部存储器或者插入在设备之中的可移除存储器、以及处理器1602和1701自身中的存储器。
上述的方法描述和处理流程图仅仅是用作为说明性例子,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个实施例的步骤。如本领域普通技术人员所应当理解的,可以以任何顺序来执行上述的实施例中的步骤顺序。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求元素的单数引用(例如,使用冠词“一个(a)”、“某个(an)”或者“该(the)”),不应被解释为将该元素限制为单数形式。
结合本文所公开的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的保护范围。
用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合,可以用来实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、若干微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。
在一个或多个示例性方面,本文所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读介质或者非临时性处理器可读介质上的一个或多个指令或代码。本文所公开的方法或算法的步骤,可以体现在处理器可执行软件模块中,后者可以位于非临时性计算机可读或者处理器可读存储介质上。非临时性服务器可读、计算机可读或者处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。举例而言,但非做出限制,这种非临时性服务器可读、计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性服务器可读、计算机可读和处理器可读介质的保护范围之内。另外,一种方法或算法的操作可以作为一个代码和/或指令集或者其任意组合,位于非临时性服务器可读介质、处理器可读介质和/或计算机可读介质上,其中该非临时性服务器可读介质、处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开的实施例进行了描述。对于本领域普通技术人员来说,对这些实施例的各种修改是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上应用于其它实施例。因此,本发明并不限于本文所示出的实施例,而是与所附权利要求书和本文公开的原理和新颖性特征的最广范围相一致。
Claims (35)
1.一种用于在接收机设备上适应数据分段可用性变化的方法,包括:
在所述接收机设备处接收分段可用时间轴,所接收的分段可用时间轴包括可用时间;
在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟和接收机设备时钟偏移容限来确定延迟调整,其中所述处理延迟是使由所述接收机设备接收的分段可用于所述接收机设备上的客户端应用的延迟时间;以及
将所述延迟调整存储在所述接收机设备的存储器中。
2.根据权利要求1所述的方法,还包括:
在所述接收机设备处将所述可用时间偏移所述延迟调整。
3.根据权利要求2所述的方法,其中,在所述接收机设备处将所述可用时间偏移所述延迟调整包括:在所述接收机设备处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴,所述方法还包括:
将所述经修改的分段可用时间轴存储在所述接收机设备的存储器中。
4.根据权利要求3所述的方法,其中,在所述接收机设备处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴包括:在所述接收机设备的服务层处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴。
5.根据权利要求4所述的方法,其中,所述接收机设备的所述服务层是多播服务设备客户端。
6.根据权利要求3所述的方法,其中,在所述接收机设备处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴包括:在所述接收机设备的基于超文本传输协议的动态自适应流(DASH)客户端处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴。
7.根据权利要求2所述的方法,其中,在所述接收机设备处将所述可用时间偏移所述延迟调整包括:在所述接收机设备的客户端应用处将所述可用时间偏移所述延迟调整。
8.根据权利要求7所述的方法,其中,在所述接收机设备的所述客户端应用处将所述可用时间偏移所述延迟调整包括:在所述接收机设备的所述客户端应用处将所述分段可用时间轴之外的所述可用时间偏移所述延迟调整。
9.根据权利要求7所述的方法,其中,在所述接收机设备的所述客户端应用处将所述可用时间偏移所述延迟调整包括:在所述接收机设备的所述客户端应用处将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴。
10.根据权利要求7所述的方法,其中,所述客户端应用是基于超文本传输协议的动态自适应流(DASH)客户端应用。
11.根据权利要求1所述的方法,其中,所述延迟调整还是至少部分地基于使由所述接收机设备接收的分段可用于所述接收机设备上的服务器的处理延迟的。
12.根据权利要求1所述的方法,其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:
确定所述接收机设备的基处理延迟;
确定所述接收机设备的分段处理因子;
确定所述分段可用时间轴中列出的分段的分段持续时间;以及
将所述延迟调整确定为:所述接收机设备的所述基处理延迟加上所述分段处理因子与所述分段持续时间相乘的结果。
13.根据权利要求1所述的方法,其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:
确定第一分段的解码完成时间;
将所述第一分段的经调整的可用时间确定为延迟容限加上所述第一分段的所述解码完成时间;以及
将所述延迟调整确定为所述第一分段的所述经调整的可用时间和所述分段可用时间轴中的所述第一分段的可用时间之间的差值。
14.根据权利要求13所述的方法,其中,所述延迟容限是分段的到达时间减去通过下面方式所构建的可用时间轴之间的差值的最大变化量:将第一分段可用时间设置成所述第一分段的所述解码完成时间,每一个后续分段的可用时间设置成前一分段的所述可用时间加上分段持续时间,并且
其中,所述延迟容限是预先提供给所述接收机设备的。
15.根据权利要求14所述的方法,其中,所述延迟容限是基于端到端系统测试来确定的,或者是基于解析分析来确定的。
16.根据权利要求1所述的方法,其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:
在所述接收机设备处确定第一分段的第一分组的接收时间;
将参考时间确定为所述第一分组的所述接收时间;
将所述第一分段的经调整的可用时间确定为所述参考时间加上延迟容限;以及
将所述延迟调整确定为所述第一分段的所述经调整的可用时间和所述分段可用时间轴中的所述第一分段的可用时间之间的差值。
17.根据权利要求16所述的方法,其中,在所述接收机设备处确定分段的第一分组的接收时间包括:确定列出了第一分段的第一单向文件传输(“FLUTE”)文件传输表的接收时间。
18.根据权利要求16所述的方法,其中,所述延迟容限是分段的解码时间减去通过下面方式所构建的可用时间轴之间的差值的最大变化量:将第一分段可用时间设置成所述第一分组的所述接收时间,每一个后续分段的可用时间设置成前一分段的所述可用时间加上分段持续时间,并且
其中,所述延迟容限是预先提供给所述接收机设备的。
19.根据权利要求18所述的方法,其中,所述延迟容限是基于端到端系统测试来确定的,或者是基于解析分析来确定的。
20.根据权利要求1所述的方法,其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:在所述接收机设备处,仅仅基于所述接收机设备对于视频分段的处理延迟来确定延迟调整。
21.根据权利要求1所述的方法,其中,所述分段可用时间轴包括网络抖动值,并且
其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟和所包括的网络抖动值来确定延迟调整。
22.根据权利要求1所述的方法,其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟和所述接收机设备的存储器中存储的网络抖动值来确定延迟调整。
23.根据权利要求1所述的方法,还包括在所述接收机设备处接收网络抖动值,
其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟和所接收的网络抖动值来确定延迟调整。
24.根据权利要求23所述的方法,其中,在所述接收机设备处接收网络抖动值,包括:在所述接收机设备处的用户服务描述中接收网络抖动值。
25.根据权利要求1所述的方法,还包括:
在所述接收机设备处,计算网络抖动值,
其中,在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟来确定延迟调整包括:在所述接收机设备处,至少部分地基于所述接收机设备的处理延迟和所计算的网络抖动值来确定延迟调整。
26.根据权利要求1所述的方法,其中,所接收的分段可用时间轴是基于超文本传输协议的动态自适应流(DASH)媒体呈现描述(MPD)。
27.一种接收机设备,包括:
存储器;以及
处理器,其耦合到所述存储器并配置有处理器可执行指令,以执行权利要求1-26中的任何一项所述的方法。
28.一种非临时性处理器可读介质,其配置有处理器可执行指令,以使接收机设备的处理器执行权利要求1-26中的任何一项所述的方法。
29.一种接收机设备,包括:
用于接收分段可用时间轴的单元,其中所接收的分段可用时间轴包括可用时间;
用于至少部分地基于所述接收机设备的处理延迟和接收机设备时钟偏移容限来确定延迟调整的单元,其中所述处理延迟是使由所述接收机设备接收的分段可用于所述接收机设备上的客户端应用的延迟时间;
用于存储所述延迟调整的单元;以及
用于将所述可用时间偏移所述延迟调整的单元。
30.根据权利要求29所述的接收机设备,其中,用于将所述可用时间偏移所述延迟调整的单元包括:用于将所述分段可用时间轴中的所述可用时间偏移所述延迟调整,以生成经修改的分段可用时间轴的单元,所述接收机设备还包括:
用于存储所述经修改的分段可用时间轴的单元。
31.根据权利要求29所述的接收机设备,其中,用于将所述可用时间偏移所述延迟调整的单元包括:在客户端应用处将所述可用时间偏移所述延迟调整。
32.根据权利要求29所述的接收机设备,其中,用于至少部分地基于所述接收机设备的处理延迟来确定延迟调整的单元包括:
用于确定所述接收机设备的基处理延迟的单元;
用于确定所述接收机设备的分段处理因子的单元;
用于确定所述分段可用时间轴中列出的分段的分段持续时间的单元;以及
用于将所述延迟调整确定为所述接收机设备的所述基处理延迟加上所述分段处理因子与所述分段持续时间相乘的结果的单元。
33.根据权利要求29所述的接收机设备,其中,用于至少部分地基于所述接收机设备的处理延迟来确定延迟调整的单元包括:
用于确定第一分段的解码完成时间的单元;
用于将所述第一分段的经调整的可用时间确定为延迟容限加上所述第一分段的所述解码完成时间的单元;以及
用于将所述延迟调整确定为所述第一分段的所述经调整的可用时间和所述分段可用时间轴中的所述第一分段的可用时间之间的差值的单元。
34.根据权利要求29所述的接收机设备,其中,用于至少部分地基于所述接收机设备的处理延迟来确定延迟调整的单元包括:
用于在所述接收机设备处确定第一分段的第一分组的接收时间的单元;
用于将参考时间确定为所述第一分组的所述接收时间的单元;
用于将所述第一分段的经调整的可用时间确定为所述参考时间加上延迟容限的单元;以及
用于将所述延迟调整确定为所述第一分段的所述经调整的可用时间和所述分段可用时间轴中的所述第一分段的可用时间之间的差值的单元。
35.根据权利要求29所述的接收机设备,其中,所述分段可用时间轴包括网络抖动值,并且
其中,用于至少部分地基于所述接收机设备的处理延迟来确定延迟调整的单元包括:用于至少部分地基于所述接收机设备的处理延迟和所包括的网络抖动值来确定延迟调整的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261747188P | 2012-12-28 | 2012-12-28 | |
US61/747,188 | 2012-12-28 | ||
US13/802,709 | 2013-03-14 | ||
US13/802,709 US10735486B2 (en) | 2012-12-28 | 2013-03-14 | Device timing adjustments and methods for supporting dash over broadcast |
PCT/US2013/075425 WO2014105487A1 (en) | 2012-12-28 | 2013-12-16 | Device timing adjustments and methods for supporting dash over broadcast |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104904180A CN104904180A (zh) | 2015-09-09 |
CN104904180B true CN104904180B (zh) | 2017-12-12 |
Family
ID=51018532
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380068459.9A Expired - Fee Related CN104919780B (zh) | 2012-12-28 | 2013-12-16 | 对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 |
CN201380068479.6A Active CN104904180B (zh) | 2012-12-28 | 2013-12-16 | 设备定时调整和用于支持广播上的dash的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380068459.9A Expired - Fee Related CN104919780B (zh) | 2012-12-28 | 2013-12-16 | 对超文本传输协议(http)请求实现弹性响应时间的方法、服务器及介质 |
Country Status (8)
Country | Link |
---|---|
US (3) | US10735486B2 (zh) |
EP (2) | EP2939389B1 (zh) |
JP (2) | JP2016506682A (zh) |
KR (1) | KR101675055B1 (zh) |
CN (2) | CN104919780B (zh) |
ES (1) | ES2709033T3 (zh) |
HU (1) | HUE041668T2 (zh) |
WO (2) | WO2014105487A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10735486B2 (en) | 2012-12-28 | 2020-08-04 | Qualcomm Incorporated | Device timing adjustments and methods for supporting dash over broadcast |
CN105075276B (zh) * | 2013-01-11 | 2019-04-16 | 瑞典爱立信有限公司 | 在广播通信网络中操作客户端设备和服务器设备的技术 |
WO2014121857A1 (en) * | 2013-02-06 | 2014-08-14 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for detecting an encoder functionality issue |
US9646162B2 (en) * | 2013-04-10 | 2017-05-09 | Futurewei Technologies, Inc. | Dynamic adaptive streaming over hypertext transfer protocol service protection |
US20150172066A1 (en) * | 2013-12-13 | 2015-06-18 | Qualcomm Incorporated | Practical implementation aspects of unicast fetch for http streaming over embms |
US20150199498A1 (en) * | 2014-01-10 | 2015-07-16 | Furturewei Technologies, Inc. | Flexible and efficient signaling and carriage of authorization acquisition information for dynamic adaptive streaming |
US11553018B2 (en) * | 2014-04-08 | 2023-01-10 | Comcast Cable Communications, Llc | Dynamically switched multicast delivery |
US9973345B2 (en) * | 2014-09-10 | 2018-05-15 | Qualcomm Incorporated | Calculating and signaling segment availability times for segments of media data |
US9756098B2 (en) * | 2014-09-15 | 2017-09-05 | Verizon Digital Media Services Inc. | Multi-tenant over-the-top multicast |
WO2016099354A1 (en) * | 2014-12-18 | 2016-06-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Request scheduling for streamed media |
JP2016123097A (ja) * | 2014-12-24 | 2016-07-07 | 沖電気工業株式会社 | 配信サーバ、配信方法、配信プログラム、及び配信システム |
US20160248829A1 (en) * | 2015-02-23 | 2016-08-25 | Qualcomm Incorporated | Availability Start Time Adjustment By Device For DASH Over Broadcast |
EP3062474B1 (en) * | 2015-02-24 | 2018-09-26 | Alcatel-Lucent España, S.A. | Method, device, computer program product and storage medium for distributing file requests in adaptive streaming systems |
US10298647B2 (en) * | 2015-02-26 | 2019-05-21 | Qualcomm Incorporated | Delay compensation for broadcast adaptive bitrate streaming |
US20160308927A1 (en) * | 2015-04-20 | 2016-10-20 | Qualcomm Incorporated | Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast |
EP3089463A1 (en) * | 2015-04-30 | 2016-11-02 | Advanced Digital Broadcast S.A. | A system and a method for a time shift function in a mobile content gateway |
EP3160149A3 (en) * | 2015-04-30 | 2017-08-02 | Advanced Digital Broadcast S.A. | A system and a method for distributed processing and selection of video content in a mobile content gateway |
EP3089461A1 (en) * | 2015-04-30 | 2016-11-02 | Advanced Digital Broadcast S.A. | A system and a method for distributing content via dynamic channel assignment in a mobile content gateway |
EP3089460A1 (en) | 2015-04-30 | 2016-11-02 | Advanced Digital Broadcast S.A. | A system and a method for distributing content via static channel assignment in a mobile content gateway |
WO2016182481A1 (en) * | 2015-05-08 | 2016-11-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Scheduling in media stream sessions |
US10798144B2 (en) | 2015-06-18 | 2020-10-06 | Ericsson Ab | Directory limit based system and method for storing media segments |
WO2017001289A1 (en) | 2015-06-30 | 2017-01-05 | British Telecommunications Public Limited Company | Low latency media streaming |
US9843825B1 (en) * | 2016-06-10 | 2017-12-12 | Apple Inc. | Distributed and synchronized media switching |
KR101853441B1 (ko) * | 2016-09-23 | 2018-05-02 | 재단법인 실감교류인체감응솔루션연구단 | 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 |
US10601946B2 (en) | 2017-02-23 | 2020-03-24 | The Directv Group, Inc. | Edge cache segment prefetching |
JP7229696B2 (ja) * | 2018-08-02 | 2023-02-28 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US11405662B2 (en) | 2019-03-22 | 2022-08-02 | Comcast Cable Communications, Llc | Content delivery |
US11647242B2 (en) * | 2019-07-30 | 2023-05-09 | Comcast Cable Communications, Llc | Methods and systems for low latency streaming |
CN113365099B (zh) * | 2021-05-31 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 弹幕下发方法、接收方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771695A (zh) * | 2003-05-30 | 2006-05-10 | Lg电子株式会社 | 家庭网络系统 |
CN102571686A (zh) * | 2010-12-09 | 2012-07-11 | 中国科学院沈阳计算技术研究所有限公司 | 云会议系统的实现方法 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052863A1 (fr) | 1999-03-01 | 2000-09-08 | Fujitsu Limited | Recepteur amrc |
US20050227657A1 (en) * | 2004-04-07 | 2005-10-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for increasing perceived interactivity in communications systems |
US20060095573A1 (en) * | 2004-11-01 | 2006-05-04 | Microsoft Corporation | Delayed HTTP response |
US20060250977A1 (en) * | 2005-05-04 | 2006-11-09 | International Business Machines Corporation | Method and apparatus for determining data center resource availablilty using multiple time domain segments |
US7940687B2 (en) * | 2005-11-16 | 2011-05-10 | Qualcomm Incorporated | Efficient partitioning of control and data fields |
US20080005767A1 (en) * | 2006-01-27 | 2008-01-03 | Samsung Electronics Co., Ltd. | Multimedia processing apparatus and method for mobile phone |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US8274905B2 (en) | 2006-08-22 | 2012-09-25 | Embarq Holdings Company, Llc | System and method for displaying a graph representative of network performance over a time period |
US8090813B2 (en) * | 2006-09-19 | 2012-01-03 | Solid State Networks, Inc. | Methods and apparatus for data transfer |
US7706384B2 (en) * | 2007-04-20 | 2010-04-27 | Sharp Laboratories Of America, Inc. | Packet scheduling with quality-aware frame dropping for video streaming |
US8452866B2 (en) * | 2007-08-09 | 2013-05-28 | Markport Limited | Network resource management |
CN101119385A (zh) | 2007-08-10 | 2008-02-06 | 深圳市深信服电子科技有限公司 | 利用WebPush技术提高HTTP网络速度的方法 |
WO2010116241A1 (en) | 2009-04-09 | 2010-10-14 | Nokia Corporation | Systems, methods and apparatuses for media file streaming |
JPWO2010137330A1 (ja) * | 2009-05-27 | 2012-11-12 | パナソニック株式会社 | 遅延調整装置、遅延調整方法 |
US20120327779A1 (en) * | 2009-06-12 | 2012-12-27 | Cygnus Broadband, Inc. | Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network |
US20120281536A1 (en) | 2009-06-12 | 2012-11-08 | Cygnus Broadband, Inc. | Systems and methods for detection for prioritizing and scheduling packets in a communication network |
US8146125B2 (en) | 2009-07-01 | 2012-03-27 | Spirent Communications, Inc | Computerized device and method for analyzing signals in a multimedia over coax alliance (MOCA) network and similar TDM / encrypted networks |
US20120066711A1 (en) * | 2009-08-24 | 2012-03-15 | Novara Technology, LLC | Virtualized home theater service |
US20110096828A1 (en) | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
JP2011234341A (ja) * | 2010-04-09 | 2011-11-17 | Sony Corp | 受信装置およびカメラシステム |
JP2011232893A (ja) | 2010-04-26 | 2011-11-17 | Canon Inc | 印刷データ作成サーバ及び印刷装置及び印刷システム |
KR101652255B1 (ko) | 2010-04-26 | 2016-09-09 | 삼성전자주식회사 | 라이브 컨텐츠의 효과적인 재생방법 |
US20120102184A1 (en) | 2010-10-20 | 2012-04-26 | Sony Corporation | Apparatus and method for adaptive streaming of content with user-initiated quality adjustments |
US8489760B2 (en) | 2011-03-31 | 2013-07-16 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
US9026671B2 (en) | 2011-04-05 | 2015-05-05 | Qualcomm Incorporated | IP broadcast streaming services distribution using file delivery methods |
US8819264B2 (en) * | 2011-07-18 | 2014-08-26 | Verizon Patent And Licensing Inc. | Systems and methods for dynamically switching between unicast and multicast delivery of media content in a wireless network |
US20130042100A1 (en) * | 2011-08-09 | 2013-02-14 | Nokia Corporation | Method and apparatus for forced playback in http streaming |
US9088583B2 (en) * | 2011-10-31 | 2015-07-21 | Interdigital Patent Holdings, Inc. | Method and apparatus for enabling multimedia synchronization |
US9042247B2 (en) * | 2011-12-06 | 2015-05-26 | Wi-Lan Labs, Inc. | Systems and methods for preserving application identification information on handover in a communication network |
US20130182643A1 (en) * | 2012-01-16 | 2013-07-18 | Qualcomm Incorporated | Method and system for transitions of broadcast dash service receptions between unicast and broadcast |
CN109905728A (zh) * | 2012-01-19 | 2019-06-18 | Vid拓展公司 | 使用移动设备接收多媒体内容的方法及该移动设备 |
US8640174B2 (en) * | 2012-03-01 | 2014-01-28 | Motorola Mobility Llc | Method for retrieving content, wireless communication device and communication system |
US9009764B2 (en) * | 2012-04-12 | 2015-04-14 | Qualcomm Incorporated | Broadcast content via over the top delivery |
WO2013163224A1 (en) | 2012-04-24 | 2013-10-31 | Vid Scale, Inc. | Method and apparatus for smooth stream switching in mpeg/3gpp-dash |
US8949451B2 (en) * | 2012-04-27 | 2015-02-03 | Mobitv, Inc. | Combined broadcast and unicast delivery |
US9246842B2 (en) * | 2012-04-27 | 2016-01-26 | Intel Corporation | QoE-aware radio access network architecture for http-based video streaming |
US8725799B2 (en) * | 2012-06-21 | 2014-05-13 | Google Inc. | Server-side timing estimation of client-side actions |
KR20170083641A (ko) | 2012-07-10 | 2017-07-18 | 브이아이디 스케일, 인크. | 품질 주도형 스트리밍 |
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 |
US20140019635A1 (en) | 2012-07-13 | 2014-01-16 | Vid Scale, Inc. | Operation and architecture for dash streaming clients |
US8949440B2 (en) | 2012-07-19 | 2015-02-03 | Alcatel Lucent | System and method for adaptive rate determination in mobile video streaming |
US9003443B2 (en) * | 2012-07-31 | 2015-04-07 | Wideorbit Inc. | Systems, methods and articles to provide content in networked environment |
US9125073B2 (en) * | 2012-08-03 | 2015-09-01 | Intel Corporation | Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file |
EP3145155B1 (en) * | 2012-11-13 | 2019-09-25 | Telefonaktiebolaget LM Ericsson (publ) | Processing of multimedia data |
US9843845B2 (en) * | 2012-11-28 | 2017-12-12 | Sinclair Broadcast Group, Inc. | Terrestrial broadcast market exchange network platform and broadcast augmentation channels for hybrid broadcasting in the internet age |
US9143543B2 (en) | 2012-11-30 | 2015-09-22 | Google Technology Holdings LLC | Method and system for multi-streaming multimedia data |
US10735486B2 (en) | 2012-12-28 | 2020-08-04 | Qualcomm Incorporated | Device timing adjustments and methods for supporting dash over broadcast |
EP2946525B1 (en) * | 2013-01-17 | 2020-06-24 | Intel IP Corporation | Presence service using ims based dash service |
WO2014121857A1 (en) * | 2013-02-06 | 2014-08-14 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for detecting an encoder functionality issue |
US9900166B2 (en) * | 2013-04-12 | 2018-02-20 | Qualcomm Incorporated | Methods for delivery of flows of objects over broadcast/multicast enabled networks |
-
2013
- 2013-03-14 US US13/802,709 patent/US10735486B2/en active Active
- 2013-03-14 US US13/802,718 patent/US9386062B2/en active Active
- 2013-12-16 EP EP13818102.9A patent/EP2939389B1/en active Active
- 2013-12-16 KR KR1020157019689A patent/KR101675055B1/ko active IP Right Grant
- 2013-12-16 HU HUE13818102A patent/HUE041668T2/hu unknown
- 2013-12-16 EP EP13817811.6A patent/EP2939397B1/en active Active
- 2013-12-16 CN CN201380068459.9A patent/CN104919780B/zh not_active Expired - Fee Related
- 2013-12-16 ES ES13818102T patent/ES2709033T3/es active Active
- 2013-12-16 CN CN201380068479.6A patent/CN104904180B/zh active Active
- 2013-12-16 JP JP2015550461A patent/JP2016506682A/ja active Pending
- 2013-12-16 WO PCT/US2013/075425 patent/WO2014105487A1/en active Application Filing
- 2013-12-16 WO PCT/US2013/075441 patent/WO2014105491A1/en active Application Filing
- 2013-12-16 JP JP2015550463A patent/JP6096931B2/ja not_active Expired - Fee Related
-
2019
- 2019-12-18 US US16/719,136 patent/US20200128058A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1771695A (zh) * | 2003-05-30 | 2006-05-10 | Lg电子株式会社 | 家庭网络系统 |
CN102571686A (zh) * | 2010-12-09 | 2012-07-11 | 中国科学院沈阳计算技术研究所有限公司 | 云会议系统的实现方法 |
Non-Patent Citations (3)
Title |
---|
Low-latency live broadcast support in DASH;ALEX GILADI;《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》;20121012;全文 * |
Progressive Download and Dynamic Adaptive Streaming over HTTP;3GPP STANDARD;《GPP TS 26.247, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE:650. ROUTE DES LUCIOLES:F-06921 SOPHIA-ANTIPOLIS CEDEX》;20121205;第22、27、50、59-62页 * |
The MPEG-DASH Standard for Multimedia Streaming Over the Internet;IRAJ SODAGAR;《IEEE MULTIMEDIA,IEEE SERVICE CENTER,N EWYORK,NY,US》;20110401;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP2939397A1 (en) | 2015-11-04 |
JP6096931B2 (ja) | 2017-03-15 |
EP2939389B1 (en) | 2018-10-31 |
KR20150103074A (ko) | 2015-09-09 |
EP2939389A1 (en) | 2015-11-04 |
CN104904180A (zh) | 2015-09-09 |
US20140189052A1 (en) | 2014-07-03 |
WO2014105487A1 (en) | 2014-07-03 |
ES2709033T3 (es) | 2019-04-12 |
WO2014105491A1 (en) | 2014-07-03 |
US20140189066A1 (en) | 2014-07-03 |
KR101675055B1 (ko) | 2016-11-10 |
EP2939397B1 (en) | 2017-12-06 |
HUE041668T2 (hu) | 2019-05-28 |
US20200128058A1 (en) | 2020-04-23 |
CN104919780A (zh) | 2015-09-16 |
CN104919780B (zh) | 2018-04-24 |
JP2016510523A (ja) | 2016-04-07 |
JP2016506682A (ja) | 2016-03-03 |
US10735486B2 (en) | 2020-08-04 |
US9386062B2 (en) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104904180B (zh) | 设备定时调整和用于支持广播上的dash的方法 | |
JP6887466B2 (ja) | マルチメディア伝送システムにおけるパケットを伝送する装置 | |
US10560756B2 (en) | Terrestrial broadcast market exchange network platform and broadcast augmentation channels for hybrid broadcasting in the internet age | |
RU2718170C2 (ru) | Определение местоположений событий доставки мультимедиа для транспортировки мультимедиа | |
CN105308932B (zh) | 通过一个或多个服务的中介内容分发 | |
CN107113454A (zh) | 配置引用用于自适应流式传输视频的基础设施服务提供商的清单文件 | |
CN102356619B (zh) | 已修改流同步 | |
CN103858440B (zh) | 在针对自适应http流的表示之间提供改进切换的切换信令方法 | |
CN104412253B (zh) | 用于在超文本传输协议上的质量知晓自适应流传输的方法 | |
CN105075276B (zh) | 在广播通信网络中操作客户端设备和服务器设备的技术 | |
CN103828449B (zh) | 用于无线网络中的时间同步的方法和装置 | |
CN103368940B (zh) | 用于媒体内容的动态流的体验质量报告的设备和方法 | |
CN103262556B (zh) | 收发媒体内容的方法和利用该方法进行收发的装置 | |
CN107534680A (zh) | 用于通过广播支持dash的进一步设备定时调整和方法 | |
CN102325173B (zh) | 一种混音视频共享方法及系统 | |
CN107409234A (zh) | 基于lct利用dash格式的基于文件格式的流式传输 | |
CN105594219A (zh) | 用于广播信号的发射/接收处理的设备和方法 | |
CN107005727A (zh) | 媒体内容流 | |
CN102687518A (zh) | 用于流媒体文件内表示的描述和定时的装置及方法 | |
US10225319B2 (en) | System and method of a link surfed http live streaming broadcasting system | |
Boronat et al. | HbbTV-compliant platform for hybrid media delivery and synchronization on single-and multi-device scenarios | |
CN101505317A (zh) | 流式媒体中断与恢复系统 | |
CN102577308A (zh) | 使用可伸缩编码的增强型块请求流送 | |
CN105099929B (zh) | 网络控制方法、装置及相应设备 | |
CN105324974A (zh) | 用于服务的单向传输协议会话上的多个文件传送 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |