CN107258085B - 针对广播自适应比特率流式传输的延时补偿 - Google Patents

针对广播自适应比特率流式传输的延时补偿 Download PDF

Info

Publication number
CN107258085B
CN107258085B CN201680011457.XA CN201680011457A CN107258085B CN 107258085 B CN107258085 B CN 107258085B CN 201680011457 A CN201680011457 A CN 201680011457A CN 107258085 B CN107258085 B CN 107258085B
Authority
CN
China
Prior art keywords
media content
processor
receiver device
time
protocol stack
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
Application number
CN201680011457.XA
Other languages
English (en)
Other versions
CN107258085A (zh
Inventor
G·K·瓦尔克
T·施托克哈默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107258085A publication Critical patent/CN107258085A/zh
Application granted granted Critical
Publication of CN107258085B publication Critical patent/CN107258085B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

各个实施例的系统、方法和设备实现了在媒体接收机设备中管理媒体内容的开始时间。所述接收机设备的处理器可以从发送设备接收标记有传输时间的媒体内容。所述处理器可以确定所述媒体内容的服务构建延时。所述处理器可以基于所述服务构建延时来确定所述媒体内容的时间偏移。所述处理器可以使用所述时间偏移来将所述媒体内容递送给所述接收机设备中的流式传输媒体客户端。

Description

针对广播自适应比特率流式传输的延时补偿
相关申请
本申请要求于2015年2月26日递交的名称为“Delay Compensation ForBroadcast Adaptive Bitrate Streaming”的美国临时申请No.62/121,303、以及于2015年2月27日递交的名称为“Delay Compensation For Broadcast Adaptive BitrateStreaming”的美国临时申请No.62/126,089的优先权,据此通过引用的方式将上述两个申请的全部内容并入本文。
背景技术
自适应比特率流式传输是在通过通信网络来流式传输媒体数据(诸如视频、音频和其它多媒体数据)中使用的一种技术。自适应比特率流式传输技术的示例包括基于超文本传输协议(HTTP)的动态自适应流式传输(DASH)、针对Flash的Adobe动态流式传输、AppleHTTP实时流式传输(“HLS”)以及微软平滑流式传输。DASH是支持使用HTTP协议的自适应流式传输的流式传输标准。在DASH的变型中,媒体间隔可以包括一个或多个分层块,并且被添加到基本层块的每个额外的分层块可以提高针对该媒体间隔的媒体呈现的质量。可以使用可缩放编码器来对每个媒体呈现进行编码,使得每个媒体间隔包括基本层块和一个或多个增强层块。
在接收机设备中通过客户端应用(诸如流式传输媒体客户端)来接收和渲染经流式传输的内容数据(例如,媒体内容)。除了其它延时之外,接收到的内容数据可能因接收机设备的协议栈对内容数据的处理而遭受延时。虽然接收机设备可以被配置为预期某个水平的延时,但是如果存在比预期更多或更少的延时,则可以有害地影响流式传输媒体客户端的性能。例如,流式传输媒体客户端可能过早地或过晚地开始内容数据的呈现,或者流式传输媒体客户端可能过早地或过晚地启动。当流式传输媒体客户端可能过早地开始呈现内容数据时,可能由于缺少用于内容的平滑呈现的足够数据而导致呈现拖延。当流式传输媒体客户端可能过晚地开始呈现内容数据时,除了其它事情之外,流式传输媒体客户端可能将内容数据的呈现延时地比严格必需的更长,这使信道改变性能降级并且不必要地增加了整体延时。
发明内容
各个实施例包括可以在接收机设备上实现的、用于管理媒体内容的开始时间的方法。各个实施例可以包括:由所述接收机设备的处理器从发送设备接收标记有传输时间的媒体内容;由所述处理器确定所述媒体内容的服务构建延时;由所述处理器基于所述服务构建延时来确定所述媒体内容的时间偏移;以及由所述处理器使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端。
一些实施例还可以包括:由所述处理器基于所确定的时间偏移来确定所述媒体内容的开始时间,其中,由所述处理器使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:由所述处理器基于所述开始时间来将所述媒体内容递送给所述流式传输媒体客户端。一些实施例还可以包括:由所述处理器确定所述媒体内容的协议栈延时。
在一些实施例中,确定所述媒体内容的所述协议栈延时可以包括:由所述处理器确定所述接收机设备的本地时间;以及由所述处理器将所述传输时间与所述接收机设备的所述本地时间进行比较。在这样的实施例中,确定所述媒体内容的所述时间偏移可以包括:基于所述协议栈延时来确定所述时间偏移。
在一些实施例中,由所述处理器确定所述媒体内容的所述服务构建延时可以包括:基于所述媒体内容的传送层呈现时间来确定所述服务构建延时。一些实施例还可以包括:由所述处理器接收针对所述媒体内容的字节范围的请求,其中,确定所述媒体内容的所述服务构建延时可以包括:基于针对所请求的所述媒体内容的字节范围的服务构建延时来确定所述服务构建延时。
在一些实施例中,响应于从客户端应用向协议栈的传送层的针对媒体内容的请求在所请求的媒体内容完全存在于传送缓冲器中之前到达,所述协议栈的所述传送层可以将所述请求解释成针对所请求的媒体内容的字节范围递送的请求。在一些实施例中,基于所确定的时间偏移来确定所述媒体内容的所述开始时间可以包括:确定所述媒体内容的确定的协议栈延时和传送层呈现时间的总和。在一些实施例中,所述媒体内容的所述协议栈延时可以包括:由于所述接收机设备的协议栈对所述媒体内容的处理而导致的延时时间。
在一些实施例中,确定所述媒体内容的协议栈延时可以包括:在所述媒体内容的媒体内容部分被所述接收机设备的协议栈的传送层处理之后,确定所述协议栈延时。在一些实施例中,确定所述媒体内容的协议栈延时可以包括:从所述接收机设备的存储器获取预定的协议栈延时值。在一些实施例中,确定所述媒体内容的开始时间可以包括:由所述处理器基于所述时间偏移来修改所述媒体内容的媒体呈现描述;以及由所述处理器基于所修改的媒体描述呈现来确定所述媒体内容的开始时间。
在一些实施例中,确定所述媒体内容的开始时间可以包括:由所述处理器基于所述时间偏移来修改所述接收机设备的本地时间;以及由所述处理器基于所修改的本地时间来确定所述媒体内容的开始时间。在一些实施例中,所述媒体内容可以包括:标记有来自所述发送设备的所述传输时间的报头部分。一些实施例还可以包括:由所述处理器基于所确定的时间偏移来创建定时器,其中,由所述处理器使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端可以包括:由所述处理器响应于所述定时器到期来将所述媒体内容递送给所述流式传输媒体客户端。
进一步的实施例可以包括接收机设备,所述接收机设备包括存储器、接收机电路以及处理器,所述处理器耦合到所述存储器和所述接收机电路并且被配置有处理器可执行指令以执行上文描述的方法的操作。进一步的实施例可以包括接收机设备,所述接收机设备包括用于执行上文描述的方法的功能的单元。进一步的实施例可以包括其上存储有处理器可执行指令的处理器可读存储介质,所述处理器可执行指令被配置为使得接收机设备的处理器执行上文描述的方法的操作。
附图说明
被并入本文并且构成本说明书的一部分的附图,示出了各个实施例的示例,并且连同上文给出的概括描述和下文给出的详细描述一起用于说明各个实施例的特征。
图1A和1B是适于与各个实施例一起使用的通信系统的框图。
图2是适于与各个实施例一起使用的流式传输媒体客户端的协议栈的框图。
图3是适于与各个实施例一起使用的通信系统的框图。
图4A是根据各个实施例的、可以用于确定内容可用性开始时间的值的关系的图。
图4B是示出了用于在接收机设备中管理媒体内容的开始时间的方法的呼叫流图。
图5是根据各个实施例的、示出了用于在接收机设备中管理媒体内容的开始时间的方法的过程流图。
图6是适于与各个实施例一起使用的示例性接收机设备的组件图。
图7是适于与各个实施例一起使用的示例性服务器的组件图。
具体实施方式
将参考附图对各个实施例进行详细描述。只要可能的话,遍及附图将使用相同的附图标记来指代相同或相似的部分。对特定示例和实现方式的引用是出于说明性目的,并不旨在限制各个实施例或权利要求书的范围。
如本文所使用的,术语“接收设备”和“接收机设备”在本文中可互换地用于指代以下各项中的任何一项或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板型计算机、智能本、掌上型计算机、无线电子邮件接收机、启用多媒体互联网的蜂窝电话、无线游戏控制器、个人计算机、电视机机顶盒、电视机、有线电视接收机以及包括可编程处理器和存储器以及用于接收和呈现媒体内容的电路的类似的个人电子设备。
本文描述的各个实施例使用术语“内容服务器”来指代能够作为内容数据的提供者来运作的任何计算设备,诸如主交换服务器、网页服务器、邮件服务器、文档服务器或任何其它类型的服务器。内容服务器可以是专用计算设备或者包括服务器组件的计算设备(例如,运行可以使得计算设备作为服务器来操作的应用)。服务器组件(例如,服务器应用)可以是全功能服务器组件或者被配置为在移动设备上的动态数据库之间提供同步服务的小型(light)或辅助服务器组件(例如,小型或辅助服务器应用)。小型服务器或辅助服务器可以是可以在接收机设备上实现的服务器类型功能的削减(slimmed-down)版本,由此使接收机设备能够仅在对于提供本文描述的功能是必需的程度上作为互联网服务器来运作。
在典型的内容广播分发方案中,接收机设备的客户端应用通常预期在期望的到达时间接收媒体对象、字节范围或数据分组。期望的到达时间通常是反映在媒体呈现描述(MPD)或其它数据描述中的,所述其它数据描述被包括在内容数据中或者是与内容数据一起被发送的或者被包括在单独的信令中,并且向流式传输媒体客户端提供用于内容的自适应流式传输的信息。除了其它事情之外,MPD还可以描述呈现时间线和“挂钟”(即,可以通过广播或单播手段在流式传输媒体客户端处建立的时间)之间的关系。也可以经由其它方法来建立呈现时间线和时间之间的关系。
在MPD(或其它递送方法)中提供的期望的到达时间和呈现时间线之间的时间关系可以用于计算呈现时间线。除了其它事情之外,时间关系还可以反映在MPD中提供的、关于接收设备里面的分发系统中的延时的一个或多个假设。如果出于某种原因,存在比广播系统和接收机设备的期望行为更多或更少的延时,则接收设备的流式传输媒体客户端可能过早地或过晚地启动或开始内容数据的呈现。当流式传输媒体客户端过早地开始呈现内容时,可能导致呈现拖延,而过晚地呈现内容数据将内容的呈现延时地比严格必需的更长,这使信道改变性能降级。
为了解决常规的内容广播分发方案中的这些限制,各个实施例的系统、方法和设备通过确定和补偿针对在接收机设备处可能产生的协议栈延时来管理媒体内容到接收机设备的传输延时。接收机设备可以计算来自发送设备的内容数据或内容数据的部分的传输时间(辐射时间)与内容数据从接收机设备的协议栈的部分显现的时间(“显现时间”)之间的时间偏移。基于所计算的时间偏移,接收机设备可以确定内容数据或内容数据部分的可用性开始时间。该计算的可用性开始时间可以类似于如可以在DASH中用于DASH客户端应用渲染区段的“区段可用性开始时间”。在一些实施例中,发送基础设施(例如,内容服务器)可以利用所确定的辐射时间(即,内容服务器发送内容数据部分的时间)来对内容数据或内容数据部分进行标记。在一些实施例中,辐射时间可以是发送者当前时间(SCT),如在所提议的标准分层编码传送(LCT)构建块,请求意见(RFC)5651,<http://tools.ietf.org/html/rfc5651>(2009年10月)中描述的。
各个实施例可以实现在可以在多种多样的通信系统100A和100B内操作的媒体接收机设备中,其中在图1A和1B中示出了通信系统100A和100B的两个示例。参照图1A,接收机设备102可以与通信网络108进行通信,通信网络108可以包括基站104、接入点106和内容服务器110。基站104可以通过有线或无线通信链路114来与通信网络108进行通信,以及接入点106可以通过有线或无线通信链路118来与通信网络108进行通信。通信链路114和118可以包括光纤回程链路、微波回程链路和其它通信链路。在一些实施例中,通信网络108可以包括移动电话通信网络。
接收机设备102可以通过无线通信链路112来与基站104进行通信并且通过无线通信链路116来与接入点106进行通信。在一些实施例中,无线通信链路112可以包括广播或多播传输,并且无线通信链路116可以包括单播传输。在一些实施例中,单播传输可以是可选的。内容服务器110可以是应用服务器、媒体服务器、或者被配置为向例如接收机设备102上的客户端应用102a提供内容数据的另一个网络节点或网络元素。内容服务器110可以通过有线或无线通信链路120来与通信网络进行通信。接收机设备102可以通过通信网络108来向内容服务器110发送针对内容数据(诸如视频、音频或多媒体内容)的请求,以请求向客户端应用102a递送内容数据。作为响应,内容服务器110可以通过一个或多个有线或无线通信链路120来将所请求的内容数据流式传输给接收机设备102。在一些实施例中,接收机设备102可以通过单个接口(例如,通过蜂窝通信接口或者通过Wi-Fi通信接口)来接收所请求的内容数据。在一些实施例中,接收机设备102可以通过多个接口(例如,通过Wi-Fi和蜂窝通信接口)来接收内容数据,并且接收机设备102可以通过多个网络接口来接收多个并行流。
通信网络108可以支持使用一个或多个无线电接入技术的通信,并且无线通信链路112和116中的每一个可以包括使用一个或多个无线电接入技术通过双向无线通信链路产生的蜂窝连接。无线电接入技术的示例可以包括3GPP长期演进(LTE)、微波存取全球互通(WiMAX)、码分多址(CDMA)、时分多址(TDMA)、宽带CDMA(WCDMA)、全球移动系统(GSM)、电气电子工程师协会(IEEE)802.11协议族中的无线电接入协议(例如,Wi-Fi)、先进的电视系统委员会(ATSC)3.0、数字视频广播(DVB)-T2以及其它无线电接入技术。虽然通信链路112和116被示为单个链路,但是这些通信链路中的每一个通信链路可以包括多个频率或频带,多个频率或频带中的每一个频率或频带可以包括多个逻辑信道。
参照图1B,在替代的网络配置中,基站104可以通过通信链路112来与接收机设备122进行通信,以及接入点124可以通过有线或无线通信链路126来与接收机设备122进行通信。接收机设备102可以通过无线通信链路128来与接入点124进行通信,无线通信链路128可以包括多播和/或单播传输。接收机设备122可以被配置为例如经由基站104来从内容服务器110接收内容数据,并且接入点124可以被配置为向接收机设备发送经由接收机设备122接收的内容数据。因此,内容数据可以传递经过经由接收机设备122和接入点124(例如,经由短距离传输,诸如Wi-Fi)的中间跳跃。通过这样的中间跳跃来传递内容数据可以被称为“重新分发”。
图2示出了适于实现各个实施例的流式传输媒体客户端(例如,图1A和1B的客户端应用102a)的协议栈200。参照图1A-2,接收机设备(例如,接收机设备102)可以接收物理层(“PHY层”)204的内容数据202。PHY层可以建立接收机本地时间204a(例如,接收机“挂钟”时间)。PHY层还可以向协议栈200的更高层提供对本地时间的指示220,诸如“记号”或其它信息营销。接收机设备的处理器可以根据PHY层记号来推导时间(例如,协调世界时(UTC))。物理层还可以被直接标记有时间指示(例如,UTC)。
内容数据202可以包括媒体呈现描述(MPD)或其它媒体描述,它们可以被包括在内容数据中,诸如被包括在内容数据的报头部分或者内容数据的某个其它部分中。MPD可以对关于内容数据的信息进行描述,以使正在执行客户端应用(例如,客户端应用102a)的接收机设备的处理器能够处理和渲染内容数据。除了其它事情之外,MPD还可以描述呈现时间线和挂钟(例如,可以由PHY层204建立的时间)之间的关系。MPD还可以包括定时信息,诸如由发送者假设并且被写入到MPD中的一个或多个延时时间。MPD还可以包括来自内容数据的发送者的传输时间或辐射时间。定时信息还可以被并入到传送协议(诸如基于单向传送的文件递送(FLUTE)或基于单向传送的实时对象(ROUTE))的扩展报头中。
物理层204可以向机器接入控制层206(诸如介质访问控制(MAC)层)提供内容数据。MAC层206可以向网络协议层208提供内容数据以用于对来自网络传送协议(例如,互联网协议(IP)、用户数据报协议(UDP)、或其它类似的网络传送协议)(诸如IP/UDP栈)的内容数据进行解码。网络协议层208可以向传送层210(例如,文件递送协议层,其可以包括前向纠错(FEC)(例如,应用层(AL)-FEC))提供内容数据。传送层210可以向客户端应用212提供内容数据,客户端应用212可以根据例如国际标准化组织基本媒体文件格式(例如,BMFF)或活动图像专家组(MPEG)媒体传送(MMT)格式来对内容数据的解码进行解释。客户端应用212可以向编码/解码电路(CODEC)214提供内容数据以用于解码和渲染。
从传送层210显现的内容数据具有例如由MAC层206和/或物理(PHY)层204内的延时(例如,缓冲器延时或类似的数据处理延时)导致的延时218。在一些实施例中,延时218还可以包括通过中间分发或重新分发引入的延时,诸如当客户端设备从网络适配器(例如,接收机设备122)接收(或获取)数据时,这可以引入内容数据的某种未知的分发延时。
延时可能导致内容数据的到达时间与MPD中的定时信息(例如,延时时间)不同。此外,接收机设备从物理层(PHY层204)推导出的时间可能是相对准确的,但是可能不反映由于内容数据发送协议栈而引入的任何延时。延时218可以随着内容数据移动通过协议栈200而传播,并且可以导致内容数据在与客户端应用212基于例如MPD中的信息所期望的时间不同的时间(即,稍后的时间)处被递送到客户端应用212。
为了确定协议栈延时,PHY层204可以提供对本地时间(例如,接收机设备的本地时间/挂钟时间204a)的指示220,接收机设备的处理器可以将本地时间与内容数据的辐射时间(即,传输时间)进行比较。数据特征(例如,字节范围的最后一个字节)的辐射时间与接收机设备的挂钟时间(其可以是经由物理层建立的)之间的差值可以指示由协议栈200对内容数据的处理导致的协议栈延时的量。因此,接收机设备可以自确定协议栈延时。
另外地或替代地,接收机设备的处理器可以召回可以被存储在接收机设备的存储器中的协议栈延时值。例如,接收机设备可以被配置有针对接收机设备中的协议栈的特定实现方式已经确定的协议栈延时的预定值。在一些实施例中,可以根据在特定的接收机设备中实现的特定协议栈的测试来推导预定的协议栈延时值。预定的协议栈延时值可以被存储在接收机设备的存储器中,并且可以由接收机设备的处理器来查询和获取。可以例如在可以向接收机设备提供的协议栈的经修改的构建中更新预定的协议栈延时值。
图3是适于与各个实施例一起使用的通信系统300的框图。在各个实施例中,图3的元素可以类似于如参照图1A、1B和2描述的服务器110或接收机设备102的元素。
参照图1A-3,媒体编码器302可以接收已经被或将被接收机设备(例如,接收机设备102)或接收机设备上的客户端应用(例如,客户端应用102a)请求的内容数据350。媒体编码器302可以对内容数据进行编码并且将编码后的内容数据352提供给分段器304。分段器可以将编码后的内容数据划分成一个或多个区段。分段器还可以根据发送者当前时间(SCT)来写入MPD。典型地,MPD可以在来自内容数据的一般单独的对象(例如,区段)中,尽管MPD和内容数据可以经由共同会话(例如,ROUTE会话)被递送给接收机设备、和/或可以在共同字节范围中被递送。
分段器310可以可以向发送者网络协议层306(例如,发送者IP/UDP)提供媒体感知字节范围356和其它信息354(其可以包括时间服务质量(QoS)目的地IP)。发送者网络协议层306可以向封装器308提供使用网络传送协议360编码的(例如,使用IP、UDP和其它网络传送协议(诸如ROUTE或FLUTE)编码的)媒体感知字节范围和其它信息358(其包括前向纠错(FEC)帧记号362)。封装器308可以将FEC帧记号362提供给调度器310,并且可以将被封装用于使用例如通用流封装器(GSE)协议的网络传送的媒体感知字节范围364提供给基带合成器312。
调度器310可以向基带合成器312提供物理层分配368。调度器还可以确定内容数据的传输时间(即,辐射时间)。在一些实施例中,可以在内容数据的第一字节或者内容数据的最后一个字节中定义传输时间。传输时间可以是发送者当前时间(SCT)。在一些实施例中,内容数据的传输时间可能与在时间QoS信息354中提供的最新时间重合。调度器310还可以向媒体编码器302提供速率自适应信息366(例如,反馈信息)。在一些实施例中,调度器310可以在传输之前确定用于对内容数据进行标记的传输时间。
基带合成器312可以向发射机314提供准备好用于传送370的内容数据以及内容数据的基带描述。发射机314可以向接收机设备发送内容数据372。恰好在内容数据372的传输之前或者传输时,发射机314可以利用传输时间(例如,发送者当前时间(SCT))来对内容数据的部分进行标记(例如,编码)。传输时间的值可以由调度器310来提供,并且可以由调度器310或发送者306来编码。在一些实施例中,发送者可以在创建传输时建立这些字段,使得所发送的内容数据的大小不会被标记的应用改变。
在一些实施例中,可以将传输时间编码在内容数据的报头中(或者内容数据的部分(诸如区段)的报头中)。在一些实施例中,可以将传输时间编码在ROUTE EXT_TIME报头部分中。在一些实施例中,报头时间可以被定义成内容数据的部分的(例如,区段的)第一字节。在一些实施例中,报头时间可以被定义成内容数据的部分的(例如,区段的)最后一个字节。例如,区段的最后一个字节可以被标记(例如,被编码)有与区段或字节范围(MDE)的辐射时间相对应的SCT。
在接收机设备处,协议栈的接收元素可以在接收机设备上接收内容数据。接收元素可以包括物理层和MAC层(例如,接收机PHY/MAC 316,其可以类似于参照图2描述的PHY层204和MAC层206)。接收机PHY/MAC 316可以向接收机网络协议层318(例如,接收机IP/UDP)提供标记有传输时间的媒体感知字节范围或对象374。接收机网络协议层318可以将内容数据378提供给接收机设备协议栈中的更高层并且最终提供给客户端应用(例如,客户端应用102a)。
接收机PHY/MAC 316还可以将对本地推导出的时间(例如,挂钟时间)的指示376提供给比较器380,其可以是由接收机设备的处理器执行的比较运算。接收机网络协议层318可以将对内容数据辐射时间的指示384(例如,EXT_TIME标记)提供给比较器380。比较器380可以将本地推导出的时间(例如,挂钟时间)与内容数据的辐射时间进行比较,以确定接收机设备的协议栈的协议栈延时382。例如,当本地推导出的时间376大于对内容数据辐射时间的指示384时,比较器380可以确定协议栈延时。使用协议栈延时382,接收机设备的处理器可以确定偏移时间,接收机设备的处理器可以使用该偏移时间来补偿所确定的协议栈延时。在一些实施例中,接收设备的处理器可以调整接收机设备的本地挂钟时间。在一些实施例中,接收设备的处理器可以根据所确定的偏移时间来调整和/重新写入一个或多个MPD参数。
另外地或替代地,接收机设备的处理器可以召回可以被存储在接收机设备的存储器中的协议栈延时值。例如,接收机设备可以被配置有针对接收机设备中的协议栈的特定实现方式已经确定的协议栈延时的预定值。在一些实施例中,可以根据在特定的接收机设备中实现的特定协议栈的测试来推导预定的协议栈延时值。预定的协议栈延时值可以被存储在接收机设备的存储器中,并且可以由接收机设备的处理器来查询。
图4A根据各个实施例,示出了可以用于确定内容数据的可用性开始时间(例如,区段可用性开始时间)的值之间的关系400。
参照图1A-4A,接收机设备(例如,接收机设备102)的处理器可以根据各个时间值之间的关系来确定内容可用性开始时间408(例如,区段可用性开始时间)。可以例如在内容数据中包括的或者与内容数据一起发送的MPD或者其它类似或相关的描述中定义各个时间值的关系。
如上所述,发送设备可以利用辐射时间402(即,传输时间)来对要发送给接收机设备的内容数据进行标记。飞行时间412表示内容数据从发送设备到接收机设备的发送时间。接收机设备可以例如根据接收机设备处的协议栈的物理层(例如,PHY层204)确定接收机设备的本地时间404(例如,挂钟时间)。
由于内容数据被接收机设备的协议栈处理,因此内容数据可能引发某些延时,诸如接收机PHY/MAC延时414和/或在内容数据在协议栈的顶部(例如,传送层210,诸如ROUTE或FLUTE)的到达时间406之前的、归因于协议栈的其它部分的延时416。接收机PHY/MAC延时414和协议栈的其它部分的延时416的组合可以被表示成特定于实现方式的延时418。跟在内容数据在协议栈的顶部的到达时间406之后,还可以在内容数据上施加与服务构建相关的延时420。与服务构建相关的延时420可以包括允许足够量的内容数据到达接收机设备并且在接收机设备处缓冲以实现内容数据的平滑播放的等待时间。内容可用性开始时间408可以被确定为在接收机挂钟时间404之后的静态时间量。接收机挂钟与内容可用性开始时间之间的静态差值422也可以被确定为特定于实现方式的延时418和与服务构建相关的延时420的总和。
在一些实施例中,特定于实现方式的延时418可以由接收机设备的处理器通过将内容数据的辐射时间与接收机挂钟时间404进行比较来确定。另外地或替代地,接收机设备的处理器可以召回可以被存储在接收机设备的存储器中的预定的协议栈延时值,并且可以使用预定的协议栈延时值作为特定于实现方式的延时418。
为了确定内容可用性开始时间408,接收机设备的处理器可以直接地或间接地接收以下各项中的至少两项:特定于实现方式的延时418、与服务构建相关的延时420、以及接收机挂钟与内容可用性开始时间之间的静态差值422。与服务构建相关的延时420和/或接收机挂钟与内容可用性开始时间之间的静态差值422可以被包括在例如内容数据的MPD中。特定于实现方式的延时418可以由接收机设备的处理器诸如通过将内容数据的辐射时间与接收机挂钟时间404进行比较或者通过使用预定的协议栈延时值来确定。
基于内容可用性开始时间408,可以由接收机设备处理器来确定内容数据的递送或获取时间426。内容数据的递送或获取时间426可以是基于内容数据的渲染/播放模式的。例如,如果协议栈的传送层(例如,传送层210)在向客户端应用(例如,客户端应用212)提供(即,递送)内容数据的字节范围或媒体递送事件(MDE),则客户端应用通常不需要等待与内容可用性开始时间一样长的时间来开始渲染内容数据的字节范围。接收机设备的处理器可以通过应用字节范围偏移值(诸如@tbdByteRangeOffsetTime 430)来确定字节范围递送时间424。如果协议栈的传送层在向客户端应用递送内容数据的区段,则接收机设备的处理器可以使用内容可用性开始时间408作为内容部分递送/获取时间426,以用于客户端应用获取(例如,从缓冲器请求)内容部分(例如,区段)。
在一些实施例中,如果多个客户端应用或多个接收设备要求同步,使得多个客户端应用/接收设备基本同时地渲染内容数据,则接收机设备的处理器可以添加额外的延时(诸如@SuggestedPresentationDelay433)以确定用于每个流式传输媒体客户端的多设备同步的区段水平获取时间428。
替代地,字节范围递送时间424可以包括传送层(例如,传送层210)可以向流式传输媒体客户端(例如,客户端应用212)递送MDE或字节范围的时间。
为了确定字节范围递送时间424,处理器可以确定服务构建延时432,诸如用于MDE表示接入点(RAP)递送的与服务构建相关的延时。在一些实施例中,传送层可以仅发送标记有RAP的MDE或字节范围,RAP可以是关于字节范围或MDE可以被流式传输媒体客户端多产地处理的语法指示。
图4B是根据各个实施例的、示出了用于在接收机设备中管理媒体内容的开始时间的方法400A中的通信的呼叫流图。方法400A的呼叫流可以由无线接收机设备(例如,图1的无线接收机设备102)的处理器来实现。
应用448可以向服务层446发送针对内容数据的服务请求460,并且服务层446可以向接收机设备的协议栈的物理和MAC层(例如,PHY/MAC440)发送针对IP流的请求462。物理和MAC层440可以开始接收内容数据,并且可以将内容数据(诸如IP数据报464)沿着协议栈向上递送给传送层442。传送层442可以公布与内容数据相关联的一个或多个初始化区段(IS)和MPD(例如,IS和MPD 466)(例如,使IS和MPD成为可用)。流式传输媒体客户端(例如,媒体数据事件(MDE)客户端444)可以获取468通过传送层成为可用的初始化区段和MPD。
传送层442可以接收针对内容数据的请求(例如,针对第一媒体区段的请求470),并且可以将针对内容数据的请求470解释成对在最早的可能时间发送字节范围或MDE(媒体递送事件)的请求,下文描述了对最早的可能时间的确定。响应于针对内容数据的请求470,传送层442可以向流式传输媒体客户端444发送对请求的确认(例如,OK(200)响应472)。随后,传送层442可以在确定的递送时间(例如,字节范围递送时间424)向流式传输媒体客户端444发送字节范围或MDE。
为了确定可以从传送层442向流式传输媒体客户端444发送字节范围或MDE的时间,接收机设备的处理器可以计算针对媒体或MDE的每个字节范围的与服务构建相关的延时(例如,针对MDE RAP递送的与服务构建相关的延时432)。例如,内容数据可以包括两个时间指示。第一时间指示可以是对字节范围或MDE的传输时间(即,辐射时间)的指示,其可以被编码在ROUTE EXT_TIME报头部分中。第二时间指示可以是传送层呈现时间,其可以是可以被编码在ROUTE EXT_ROUTE_PRESENTATION_TIME报头部分中的、对内容数据的传输时间加上特定于字节范围或MDE的与服务相关的延时的指示。
在一些实施例中,处理器可以从第二时间指示中减去第一时间指示(例如,处理器可以从传送层呈现时间(EXT_ROUTE_PRESENTATION_TIME)值中减去EXT_TIME值),以确定特定于字节范围或MDE的与服务相关的延时(例如,针对MDE RAP递送的与服务构建相关的延时432)。
为了确定传送层可以向流式传输媒体客户端发送字节范围或MDE的时间(例如,特定于字节范围或MDE的字节范围递送时间424),处理器可以将特定于实现方式的延时(诸如特定于实现方式的延时418,例如,总协议栈延时)与特定于字节范围或MDE的与服务相关的延时相加。因此,处理器可以确定传送层可以向流式传输媒体客户端递送MDE或字节范围的时间,该时间可以是相对于特定的MDE或字节范围的EXT_TIME的。
替代地或另外地,处理器可以将特定于实现方式的延时(例如,特定于实现方式的延时418或总协议栈延时)与传送层呈现时间(EXT_ROUTE_PRESENTATION_TIME)值相加以计算字节范围/MDE递送时间。
使用所确定的字节范围递送时间,传送层442可以向流式传输媒体客户端发送字节范围或MDE 474。流式传输媒体客户端可以将字节范围/MDE 474作为早期同步的经压缩媒体476提供给CODEC 450(例如,CODEC 214)。CODEC 450可以处理早期同步的经压缩媒体476(例如,字节范围或MDE),并且可以将这些处理后的内容数据(例如,早期同步的未经压缩的媒体478)提供给呈现层452。
图5根据各个实施例,示出了用于管理媒体内容到接收机设备的传输延时的方法500。方法500可以由接收机设备(例如,图1的无线接收机设备102)的处理器来实现。
在框502中,发送设备(例如,内容服务器110)可以利用辐射(例如,传输)时间来标记内容数据,并且在框504中,发送设备可以利用时间指示来标记物理层(例如,可以提供物理层记号或者其它时间指示以允许接收机设备建立本地时间/挂钟时间)。利用辐射时间对内容数据的标记可以由发送设备的协议栈的传送层来执行,并且利用时间指示对物理层的标记可以由发送设备或发送者的协议栈的物理层来执行。随后,发送设备可以经由接收机设备的经定义的发送和接收栈来向接收设备(例如,接收机设备102)发送经标记的内容数据。
在框506中,接收机设备可以例如在接收机设备的协议栈的处理层(例如,PHY层204)处接收标记有辐射时间的内容数据。在框508中,接收机设备可以经由协议栈的物理层来接收对时间的指示。
在框510中,接收机设备的处理器可以处理在协议栈接收机设备中接收到的内容数据。在框512中,接收指示设备的处理器可以例如根据协议栈的物理层所提供的信息来建立接收机设备的本地时间(例如,本地挂钟或接收机挂钟)。在一些实施例中,接收机设备的协议栈的物理层可以基于来自发送设备的时间指示的物理层标记来建立接收机设备的本地时间。
在框514中,接收机设备的处理器可以从内容数据标记中获取辐射时间。
在框516中,处理器可以将所获取的辐射时间与所建立的接收机设备的本地时间进行比较并且基于该比较来确定协议栈延时。
在框518中,处理器可以基于所获取的辐射时间与所建立的接收机设备的本地时间的比较来确定时间偏移。在一些实施例中,处理器可以基于所确定的时间偏移来创建定时器。处理器可以使用所确定的定时器来确定用于向流式传输媒体客户端递送媒体内容的时间。
在可选的框520中,处理器可以使用所确定的时间偏移来修改内容数据的MPD的一个或多个值。在可选的框522中,处理器可以使用所确定的时间偏移来调整接收机设备的本地时间。
在框524中,处理器可以确定流式传输媒体客户端(例如,客户端应用212和流式传输媒体客户端444)正在请求字节范围或MDE。例如,协议栈的传送层(例如,传送层210和传送层442)可以将针对内容数据的请求解释成对在最早的可能时间发送字节范围或MDE的请求。
在框526中,处理器可以确定字节范围递送时间(例如,字节范围递送时间424),诸如传送层可以向流式传输媒体客户端递送MDE或字节范围的时间。在一些实施例中,处理器可以通过将特定于实现方式的延时(例如,特定于实现方式的延时418,其可以是总协议栈延时)与特定于字节范围或MDE的与服务相关的延时(例如,针对MDE RAP递送的与服务构建相关的延时430)相加来确定字节范围递送时间。替代地或另外地,处理器可以通过将特定于实现方式的延时(即,特定于实现方式的延时418)与传送层呈现时间(EXT_ROUTE_PRESENTATION_TIME)值相加来计算字节范围/MDE递送时间。
在框528中,处理器可以使用字节范围递送时间来向流式传输媒体客户端递送字节范围或MDE。例如,使用字节范围内递送时间,处理器可以将内容数据(例如,字节范围或MDE)作为流式传输字节范围/MDE递送给客户端应用的接口(例如,ROUTE/DASH接口)。在一些实施例中,处理器可以确定基于所确定的定时偏移创建的定时器已经到期。在这样的实施例中,处理器可以响应于定时器到期(例如,响应于确定定时器已经到期)来向流式传输媒体客户端递送媒体内容。
可以用多种接收机设备中的任何一种来实现各个实施例,在图6中示出了多种接收机设备的示例。例如,接收机设备600可以包括处理器602,处理器602耦合到内部存储器604和606。内部存储器604和606可以是易失性或非易失性存储器,并且还可以是安全和/或加密存储器、或非安全和/或非加密存储器、或其任意组合。处理器602还可以耦合到触摸屏显示器612,诸如电阻感测式触摸屏、电容感测式触摸屏、红外感测式触摸屏等。另外地,接收机处理器的显示器不必具有触摸屏能力。接收机设备600可以具有彼此耦合和/或耦合到处理器602的、用于发送和接收的一个或多个无线电信号收发机608(例如,
Figure BDA0001385503780000171
紫蜂
Figure BDA0001385503780000172
Wi-Fi、射频(RF)无线电)和天线610。接收机设备600可以包括诸如无线调制解调器芯片616的蜂窝网络接口,其实现经由蜂窝数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE、ATSC 3.0、DVB-T2或任何其它类型的蜂窝或广播数据网络)的通信并且耦合到处理器602。接收机设备600可以包括耦合到处理器602的外围设备连接接口618。外围设备连接接口618可以被单个地配置为接受一种类型的连接,或者被多个地配置为接受各种类型的物理和通信连接,公共的或专有的,诸如USB、火线、Thunderbolt或PCIe。外围设备连接接口618还可以耦合到类似地配置的外围设备连接端口。接收机设备600还可以包括用于提供音频输出的扬声器614。接收机设备600还可以包括壳体620,其由塑料、金属、或材料的组合制成,以包含本文所论述的组件中的全部或一些组件。接收机设备600可以包括耦合到处理器602的电源622,诸如一次性或可再充电电池。可再充电电池还可以耦合到外围设备连接端口以从在接收机设备600外部的源接收充电电流。接收机设备600还可以包括用于接收用户输入的物理按钮624,以及用于使接收机设备600开启和关闭的电源按钮626。
还可以在多种商业上可用的服务器设备(诸如图7中示出的服务器700)中的任何一种上实现各个实施例。这样的服务器700通常包括处理器701,其耦合到易失性存储器702和大容量非易失性存储器,诸如磁盘驱动器704。服务器700还可以包括耦合到处理器701的软盘驱动器、压缩盘(CD)或DVD光盘驱动器706。服务器700还可以包括耦合到处理器701的网络接入端口703,用于与网络707(诸如耦合到其它广播系统计算机和服务器的局域网、互联网、公共交换电话网络和/或蜂窝数据网络(例如,CDMA、TDMA、GSM、PCS、3G、4G、LTE或任何其它类型的蜂窝数据网络))建立网络接口连接。
处理器602和702可以是可由软件指令(应用)配置为执行多种功能(包括上文所描述的各个实施例的功能)的任何可编程微处理器、微计算机或多处理器芯片。在一些设备中,可以提供多个处理器,例如一个处理器专用于无线通信功能以及一个处理器专用于运行其它应用。典型地,软件应用可以在其被存取并加载到处理器602和701中之前存储在内部存储器604、606、702、704中。处理器602和701可以包括足以存储应用软件指令的内部存储器。在许多设备中,内部存储器可以是易失性或非易失性存储器(诸如闪存)或两者的混合。出于该描述的目的,对存储器的一般引用指代可由处理器602、701存取的存储器,包括内部存储器或插入设备中的可移动存储器以及处理器602和701自身内的存储器。
前述方法描述和过程流图仅作为说明性示例来提供,并非旨在要求或暗示各个实施例的操作必须以所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的操作的次序可以以任意次序来执行。诸如“其后”、“随后”、“接着”等的词语并非旨在限制操作的次序;这些词语仅用于引导读者阅读对方法的描述。此外,对单数形式的权利要求元素的任何引用,例如使用冠词“一”、“一个”或“所述”不应被解释为将元素限制为单数。
结合本文公开的实施例所描述的各个说明性的逻辑框、组件、电路和算法操作可以实现成电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上文已经将各个说明性的组件、框、组件、电路和操作按照它们的功能进行了一般地描述。至于这种功能是实现为硬件还是软件,取决于特定应用和施加在整体系统上的设计约束。本领域技术人员可以针对每种特定应用以变化的方式来实现所描述的功能,但是这种实现决定不应被解释为导致脱离了权利要求书的范围。
可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或者其任意组合来实现或执行用于实现结合本文公开的实施例所描述的各个说明性的逻辑单元、逻辑框、组件和电路的硬件。通用处理器可以是微处理器,但是,在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核,或者任何其它此种配置。替代地,一些步骤或方法可以由特定于给定功能的电路来执行。
在一个或多个实施例中,所描述的功能可以用硬件、软件、固件或其任意组合来实现。如果用软件来实现,则所述功能可以作为一个或多个指令或代码存储在非暂时性计算机可读存储介质或非暂时性处理器可读存储介质上。本文所公开的方法或算法的步骤可以体现在处理器可执行软件组件中,处理器可执行软件组件可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可由计算机或处理器存取的任何存储介质。通过举例而非限制性的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可以用于以指令或数据结构形式存储期望的程序代码以及可以由计算机来存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可以作为一个代码和/或指令或者代码和/或指令的任何组合或集合驻留在非暂时性处理器可读介质和/或计算机可读介质上,这些介质可以被并入到计算机程序产品中。
提供对所公开的实施例的以上描述以使任何本领域技术人员能够实施或使用本权利要求书。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且在不脱离权利要求书的范围的情况下,可以将本文所定义的总体原理应用于其它实施例。因此,本权利要求书并非旨在受限于本文所示出的实施例,而是要符合与所附的权利要求书以及本文所公开的原理和新颖特征相一致的最宽的范围。

Claims (40)

1.一种用于在接收机设备中管理媒体内容的开始时间的方法,包括:
由所述接收机设备的处理器从发送设备接收标记有传输时间的媒体内容;
由所述处理器接收针对所述媒体内容的字节范围的请求;
由所述处理器基于来自所述发送设备的所述传输时间和特定于所述字节范围的与服务相关的延时,确定针对所请求的字节范围的服务构建延时;
由所述处理器通过以下操作确定所述字节范围的协议栈延时:
由所述处理器确定所述接收机设备的本地时间;以及
由所述处理器将所述传输时间与所述接收机设备的所述本地时间进行比较;
由所述处理器基于所述服务构建延时和所述协议栈延时来确定所述字节范围的时间偏移;以及
由所述处理器使用所述时间偏移来将所述字节范围递送给流式传输媒体客户端。
2.根据权利要求1所述的方法,还包括:
由所述处理器基于所确定的时间偏移来确定所述媒体内容的开始时间,
其中,由所述处理器使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:
由所述处理器基于所述开始时间来将所述媒体内容递送给所述流式传输媒体客户端。
3.根据权利要求1所述的方法,其中,响应于从客户端应用向协议栈的传送层的针对媒体内容的请求在所请求的媒体内容完全存在于传送缓冲器中之前到达,所述协议栈的所述传送层将所述请求解释成针对所请求的媒体内容的字节范围递送的请求。
4.根据权利要求1所述的方法,其中,所述媒体内容的所述协议栈延时包括:由于所述接收机设备的协议栈对所述媒体内容的处理而导致的延时时间。
5.根据权利要求1所述的方法,其中,确定所述媒体内容的协议栈延时包括:在所述媒体内容的媒体内容部分被所述接收机设备的协议栈的传送层处理之后,确定所述协议栈延时。
6.根据权利要求1所述的方法,其中,确定所述媒体内容的协议栈延时包括:从所述接收机设备的存储器获取预定的协议栈延时值。
7.根据权利要求2所述的方法,其中,确定所述媒体内容的开始时间包括:
由所述处理器基于所述时间偏移来修改所述媒体内容的媒体呈现描述;以及
由所述处理器基于所修改的媒体呈现描述来确定所述媒体内容的开始时间。
8.根据权利要求2所述的方法,其中,确定所述媒体内容的开始时间包括:
由所述处理器基于所述时间偏移来修改所述接收机设备的本地时间;以及
由所述处理器基于所修改的本地时间来确定所述媒体内容的开始时间。
9.根据权利要求1所述的方法,其中,所述媒体内容包括:标记有来自所述发送设备的所述传输时间的报头部分。
10.根据权利要求1所述的方法,还包括:
由所述处理器基于所确定的时间偏移来创建定时器;
其中,由所述处理器使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:由所述处理器响应于所述定时器到期来将所述媒体内容递送给所述流式传输媒体客户端。
11.一种接收机设备,包括:
存储器;
接收机电路;以及
处理器,所述处理器耦合到所述存储器和所述接收机电路,并且被配置有处理器可执行指令以执行包括以下各项的操作:
从发送设备接收标记有传输时间的媒体内容;
接收针对所述媒体内容的字节范围的请求;
基于来自所述发送设备的所述传输时间和特定于所述字节范围的与服务相关的延时,确定针对所请求的字节范围的服务构建延时;
通过以下操作确定所述字节范围的协议栈延时:
确定所述接收机设备的本地时间;以及
将所述传输时间与所述接收机设备的所述本地时间进行比较;
基于所述服务构建延时和所述协议栈延时来确定所述字节范围的时间偏移;以及
使用所述时间偏移来将所述字节范围递送给流式传输媒体客户端。
12.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行还包括以下各项的操作:
基于所确定的时间偏移来确定所述媒体内容的开始时间,
其中,使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:基于所述开始时间来将所述媒体内容递送给所述流式传输媒体客户端。
13.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得响应于从客户端应用向协议栈的传送层的针对媒体内容的请求在所请求的媒体内容完全存在于传送缓冲器中之前到达,所述协议栈的所述传送层将所述请求解释成针对所请求的媒体内容的字节范围递送的请求。
14.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得所述媒体内容的所述协议栈延时包括:由于所述接收机设备的协议栈对所述媒体内容的处理而导致的延时时间。
15.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得确定所述媒体内容的协议栈延时包括:在所述媒体内容的媒体内容部分被所述接收机设备的协议栈的传送层处理之后,确定所述协议栈延时。
16.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得确定所述媒体内容的协议栈延时包括:从所述接收机设备的存储器获取预定的协议栈延时值。
17.根据权利要求12所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得确定所述媒体内容的开始时间包括:
基于所述时间偏移来修改所述媒体内容的媒体呈现描述;以及
基于所修改的媒体呈现描述来确定所述媒体内容的开始时间。
18.根据权利要求12所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行操作,使得确定所述媒体内容的开始时间包括:
基于所述时间偏移来修改所述接收机设备的本地时间;以及
基于所修改的本地时间来确定所述媒体内容的开始时间。
19.根据权利要求11所述的接收机设备,其中,所述媒体内容包括:标记有来自所述发送设备的所述传输时间的报头部分。
20.根据权利要求11所述的接收机设备,其中,所述处理器被配置有处理器可执行指令以执行还包括以下各项的操作:
基于所确定的时间偏移来创建定时器;
其中,使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:响应于所述定时器到期来将所述媒体内容递送给所述流式传输媒体客户端。
21.一种其上存储有处理器可执行指令的非暂时性处理器可读存储介质,所述处理器可执行指令被配置为使得接收机设备的处理器执行包括以下各项的操作:
从发送设备接收标记有传输时间的媒体内容;
接收针对所述媒体内容的字节范围的请求;
基于来自所述发送设备的所述传输时间和特定于所述字节范围的与服务相关的延时,确定针对所请求的字节范围的服务构建延时;
通过以下操作确定所述字节范围的协议栈延时:
确定所述接收机设备的本地时间;以及
将所述传输时间与所述接收机设备的所述本地时间进行比较;基于所述服务构建延时和所述协议栈延时来确定所述字节范围的时间偏移;以及
使用所述时间偏移来将所述字节范围递送给流式传输媒体客户端。
22.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行还包括以下各项的操作:
基于所确定的时间偏移来确定所述媒体内容的开始时间,
其中,使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:基于所述开始时间来将所述媒体内容递送给所述流式传输媒体客户端。
23.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得响应于从客户端应用向协议栈的传送层的针对媒体内容的请求在所请求的媒体内容完全存在于传送缓冲器中之前到达,所述协议栈的所述传送层将所述请求解释成针对所请求的媒体内容的字节范围递送的请求。
24.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得所述媒体内容的所述协议栈延时包括:由于所述接收机设备的协议栈对所述媒体内容的处理而导致的延时时间。
25.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得确定所述媒体内容的协议栈延时包括:在所述媒体内容的媒体内容部分被所述接收机设备的协议栈的传送层处理之后,确定所述协议栈延时。
26.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得确定所述媒体内容的协议栈延时包括:从所述接收机设备的存储器获取预定的协议栈延时值。
27.根据权利要求22所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得确定所述媒体内容的开始时间包括:
基于所述时间偏移来修改所述媒体内容的媒体呈现描述;以及
基于所修改的媒体呈现描述来确定所述媒体内容的开始时间。
28.根据权利要求22所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得确定所述媒体内容的开始时间包括:
基于所述时间偏移来修改所述接收机设备的本地时间;以及
基于所修改的本地时间来确定所述媒体内容的开始时间。
29.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行操作,使得所述媒体内容包括:标记有来自所述发送设备的所述传输时间的报头部分。
30.根据权利要求21所述的非暂时性处理器可读存储介质,其中,所述处理器可执行指令被配置为使得所述接收机设备的所述处理器执行还包括以下各项的操作:
基于所确定的时间偏移来创建定时器;
其中,使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端包括:响应于所述定时器到期来将所述媒体内容递送给所述流式传输媒体客户端。
31.一种接收机设备,包括:
用于从发送设备接收标记有传输时间的媒体内容的单元;
用于接收针对所述媒体内容的字节范围的请求的单元;
用于基于来自所述发送设备的所述传输时间和特定于所述字节范围的与服务相关的延时,确定针对所请求的字节范围的服务构建延时的单元;
用于通过以下操作确定所述字节范围的协议栈延时的单元:
确定所述接收机设备的本地时间;以及
将所述传输时间与所述接收机设备的所述本地时间进行比较;用于基于所述服务构建延时和所述协议栈延时来确定所述字节范围的时间偏移的单元;以及
用于使用所述时间偏移来将所述字节范围递送给流式传输媒体客户端的单元。
32.根据权利要求31所述的接收机设备,还包括:
用于基于所确定的时间偏移来确定所述媒体内容的开始时间的单元,
其中,用于使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端的单元包括:用于基于所述开始时间来将所述媒体内容递送给所述流式传输媒体客户端的单元。
33.根据权利要求31所述的接收机设备,其中,响应于从客户端应用向协议栈的传送层的针对媒体内容的请求在所请求的媒体内容完全存在于传送缓冲器中之前到达,所述协议栈的所述传送层将所述请求解释成针对所请求的媒体内容的字节范围递送的请求。
34.根据权利要求31所述的接收机设备,其中,所述媒体内容的所述协议栈延时包括:由于所述接收机设备的协议栈对所述媒体内容的处理而导致的延时时间。
35.根据权利要求31所述的接收机设备,其中,用于确定所述媒体内容的协议栈延时的单元包括:用于在所述媒体内容的媒体内容部分被所述接收机设备的协议栈的传送层处理之后,确定所述协议栈延时的单元。
36.根据权利要求31所述的接收机设备,其中,用于确定所述媒体内容的协议栈延时的单元包括:用于从所述接收机设备的存储器获取预定的协议栈延时值的单元。
37.根据权利要求32所述的接收机设备,其中,用于确定所述媒体内容的开始时间的单元包括:
用于基于所述时间偏移来修改所述媒体内容的媒体呈现描述的单元;以及
用于基于所修改的媒体呈现描述来确定所述媒体内容的开始时间的单元。
38.根据权利要求32所述的接收机设备,其中,用于确定所述媒体内容的开始时间的单元包括:
用于基于所述时间偏移来修改所述接收机设备的本地时间的单元;以及
用于基于所修改的本地时间来确定所述媒体内容的开始时间的单元。
39.根据权利要求31所述的接收机设备,其中,所述媒体内容包括:标记有来自所述发送设备的所述传输时间的报头部分。
40.根据权利要求31所述的接收机设备,还包括:
用于基于所确定的时间偏移来创建定时器的单元;
其中,用于使用所述时间偏移来将所述媒体内容递送给流式传输媒体客户端的单元包括:用于响应于所述定时器到期来将所述媒体内容递送给所述流式传输媒体客户端的单元。
CN201680011457.XA 2015-02-26 2016-02-23 针对广播自适应比特率流式传输的延时补偿 Active CN107258085B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562121303P 2015-02-26 2015-02-26
US62/121,303 2015-02-26
US201562126089P 2015-02-27 2015-02-27
US62/126,089 2015-02-27
US15/049,974 US10298647B2 (en) 2015-02-26 2016-02-22 Delay compensation for broadcast adaptive bitrate streaming
US15/049,974 2016-02-22
PCT/US2016/019045 WO2016137935A1 (en) 2015-02-26 2016-02-23 Delay compensation for broadcast adaptive bitrate streaming

Publications (2)

Publication Number Publication Date
CN107258085A CN107258085A (zh) 2017-10-17
CN107258085B true CN107258085B (zh) 2020-06-05

Family

ID=55543057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680011457.XA Active CN107258085B (zh) 2015-02-26 2016-02-23 针对广播自适应比特率流式传输的延时补偿

Country Status (9)

Country Link
US (1) US10298647B2 (zh)
EP (1) EP3262845B1 (zh)
JP (1) JP6731937B2 (zh)
KR (1) KR102403081B1 (zh)
CN (1) CN107258085B (zh)
BR (1) BR112017018324A2 (zh)
CA (1) CA2974228C (zh)
TW (1) TWI712282B (zh)
WO (1) WO2016137935A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075282B2 (en) * 2016-02-22 2018-09-11 Stmicroelectronics, Inc. Managing burst transmit times for a buffered data stream over bonded upstream channels
US11108840B2 (en) 2017-07-03 2021-08-31 At&T Intellectual Property I, L.P. Transport layer network service for live content broadcasting
US10271077B2 (en) 2017-07-03 2019-04-23 At&T Intellectual Property I, L.P. Synchronizing and dynamic chaining of a transport layer network service for live content broadcasting
EP3794880A1 (en) * 2018-06-20 2021-03-24 Sony Corporation Infrastructure equipment, communications device and methods
CN111131272B (zh) * 2019-12-27 2022-01-11 广州酷狗计算机科技有限公司 流服务器的调度方法、装置及系统、计算设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103650515A (zh) * 2011-07-14 2014-03-19 高通股份有限公司 无线3d流式传输服务器

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20031911A0 (fi) * 2003-12-29 2003-12-29 Nokia Corp Menetelmä ja järjestelmä access-verkkopalvelun kontrolloimiseksi reaaliaikaisessa datapalvelussa
WO2005077063A2 (en) * 2004-02-09 2005-08-25 Semtech Corporation Method and apparatus for aligning time references when separated by an unreliable data packet network
WO2006031925A2 (en) * 2004-09-15 2006-03-23 Nokia Corporation Providing zapping streams to broadcast receivers
WO2007130012A1 (en) * 2006-04-29 2007-11-15 Thomson Licensing Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
WO2008013528A1 (en) * 2006-07-25 2008-01-31 Thomson Licensing Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction
WO2008086509A2 (en) * 2007-01-10 2008-07-17 Qualcomm Incorporated Content- and link-dependent coding adaptation for multimedia telephony
US8331315B2 (en) * 2007-02-16 2012-12-11 Interdigital Technology Corporation Media independent handover for smart phone architecture
US8090241B2 (en) * 2007-05-15 2012-01-03 Broadcom Corporation System and method for simultaneous network recording and playback of digital television programs
DE102008014237A1 (de) * 2008-03-14 2009-09-17 J. Rettenmaier & Söhne Gmbh + Co. Kg Direktverpressbares Tablettierhilfsmittel
CA2757647A1 (en) * 2008-04-04 2009-12-03 Powerwave Cognition, Inc. Methods and systems for a mobile, broadband, routable internet
US8839387B2 (en) * 2009-01-28 2014-09-16 Headwater Partners I Llc Roaming services network and overlay networks
US8542608B2 (en) * 2008-06-27 2013-09-24 Telefonaktiebolaget L M Ericsson (Publ) Method for achieving an optimal shaping rate for a new packet flow
TWI449707B (zh) * 2008-07-15 2014-08-21 Univ Nat Chunghsing 新穎磷系雙酚及其衍生物之製造方法
US20100165856A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics S.R.L. Cross-layer optimization in multimedia communications
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
US8385212B2 (en) * 2009-12-07 2013-02-26 Symmetricom, Inc. Method and apparatus for finding latency floor in packet networks
GB2476116A (en) 2009-12-14 2011-06-15 Dublin Inst Of Technology Real-time VoIP transmission quality predictor and quality-driven de jitter buffer
US20120011265A1 (en) * 2010-07-09 2012-01-12 Nokia Corporation Method and apparatus for calculating a probable throughput for a location based at least in part on a received throughput
US9032427B2 (en) * 2010-10-28 2015-05-12 Avvasi Inc. System for monitoring a video network and methods for use therewith
US20120155360A1 (en) * 2010-12-20 2012-06-21 Lockheed Martin Corporation Negative-acknowledgment oriented reliable multicast offload engine architecture
WO2012093202A1 (en) * 2011-01-07 2012-07-12 Nokia Corporation Method and apparatus for signaling presentation
US8849950B2 (en) * 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US9055464B2 (en) * 2011-07-07 2015-06-09 Optis Cellular Technology, Llc RLC Data transmission control based on UE memory capacity
JP2013134119A (ja) 2011-12-26 2013-07-08 Sony Corp 送信装置、送信方法、受信装置、受信方法、同期伝送システム、同期伝送方法、およびプログラム
US9264481B2 (en) 2012-03-30 2016-02-16 Qualcomm Incorporated Responding to hypertext transfer protocol (HTTP) requests
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
WO2014076052A1 (en) 2012-11-13 2014-05-22 Telefonaktiebolaget L M Ericsson (Publ) Processing of multimedia data
US9386062B2 (en) 2012-12-28 2016-07-05 Qualcomm Incorporated Elastic response time to hypertext transfer protocol (HTTP) requests
US9419737B2 (en) * 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
IN2013MU02464A (zh) * 2013-07-24 2015-07-03 Tata Consultancy Services Ltd
CA3068668C (en) * 2013-08-19 2022-04-12 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9210488B2 (en) * 2013-10-10 2015-12-08 Futurewei Technologies, Inc. Timestamp adjustment in multi-point control protocol (MPCP) messages for ethernet passive optical network (PON) protocol over coaxial network
EP3063943B1 (en) * 2013-11-01 2019-08-21 LG Electronics Inc. Apparatus for transmitting and method for transmitting broadcast signals
US10708328B2 (en) * 2014-03-17 2020-07-07 Intel Corporation Hardware assisted media playback and capture synchronization
CN106464929B (zh) * 2014-05-21 2019-11-01 Lg电子株式会社 广播信号发送/接收方法和装置
KR102202597B1 (ko) * 2014-06-20 2021-01-13 삼성전자주식회사 이종망 기반 방송 서비스를 제공하는 방법 및 장치
CN105594219B (zh) * 2014-07-31 2019-08-20 Lg 电子株式会社 用于广播信号的发射/接收处理的设备和方法
US9973345B2 (en) * 2014-09-10 2018-05-15 Qualcomm Incorporated Calculating and signaling segment availability times for segments of media data
US20160094802A1 (en) * 2014-09-25 2016-03-31 Nagravision S.A. Receiver-side marking of content for unique identification
US9935991B2 (en) * 2015-10-13 2018-04-03 Cisco Technology, Inc. Pipelining get requests in adaptive streaming

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103650515A (zh) * 2011-07-14 2014-03-19 高通股份有限公司 无线3d流式传输服务器

Also Published As

Publication number Publication date
CA2974228A1 (en) 2016-09-01
JP6731937B2 (ja) 2020-07-29
KR20170122749A (ko) 2017-11-06
EP3262845A1 (en) 2018-01-03
JP2018513577A (ja) 2018-05-24
KR102403081B1 (ko) 2022-05-26
CA2974228C (en) 2021-03-02
US20160255129A1 (en) 2016-09-01
TW201635740A (zh) 2016-10-01
TWI712282B (zh) 2020-12-01
BR112017018324A2 (pt) 2018-04-17
WO2016137935A1 (en) 2016-09-01
CN107258085A (zh) 2017-10-17
US10298647B2 (en) 2019-05-21
EP3262845B1 (en) 2020-12-09

Similar Documents

Publication Publication Date Title
CN107258085B (zh) 针对广播自适应比特率流式传输的延时补偿
US20200128058A1 (en) Device timing adjustments and methods for supporting dash over broadcast
CN110417752B (zh) 用于dash的客户端/服务器信令命令
JP6370916B2 (ja) アダプティブメディアストリーミングを実行し、コンピュータ回路を備えるユーザ機器(ue)、動的アダプティブストリーミング(dash)を実行するための方法、および、ハイパーテキストトランスファープロトコルでの動的アダプティブストリーミング(dash)を実行し、コンピュータ回路を備えるユーザ機器(ue)
JP6337350B2 (ja) ビデオ品質向上
TWI552587B (zh) 體驗感知之多媒體自適串流的品質
US8717890B2 (en) Application, usage and radio link aware transport network scheduler
US20200275148A1 (en) Event-Based Content Replacement In Live Media Services
JP2018519695A (ja) Dashオーバーブロードキャストをサポートするためのさらなるデバイスタイミング調整および方法
EP2837138A1 (en) Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
JP2015501573A (ja) 放送システムにおける制御メッセージ構成装置及び方法
JP2018515960A (ja) マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置
US20160248829A1 (en) Availability Start Time Adjustment By Device For DASH Over Broadcast
EP3072302B1 (en) A method, node and computer programe for providing live content streaming.
JP2017528024A (ja) 通信システムにおけるデータ送受信装置及び方法
US10142385B2 (en) Multi-service initialization for adaptive media streaming
JP6009501B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant