CN107197351B - 流传输数字内容同步的方法及系统 - Google Patents
流传输数字内容同步的方法及系统 Download PDFInfo
- Publication number
- CN107197351B CN107197351B CN201610952730.0A CN201610952730A CN107197351B CN 107197351 B CN107197351 B CN 107197351B CN 201610952730 A CN201610952730 A CN 201610952730A CN 107197351 B CN107197351 B CN 107197351B
- Authority
- CN
- China
- Prior art keywords
- time
- response
- header
- digital content
- age
- 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 67
- 230000004044 response Effects 0.000 claims abstract description 81
- 238000009826 distribution Methods 0.000 claims description 38
- 238000009877 rendering Methods 0.000 claims description 35
- 238000012546 transfer Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 description 22
- 230000001360 synchronised effect Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
-
- 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
- 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
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- 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/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26241—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—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 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
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43076—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different 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/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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4343—Extraction or processing of packetized elementary streams [PES]
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
-
- 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/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及流传输数字内容同步的方法及系统。所述方法包括:接收对用于流传输数字内容的请求的响应;响应包括数字内容最后被修改的时间(例如最后修改头部)和响应被生成的时间(例如日期头部);通过从响应被生成的时间(例如日期头部)减去数字内容最后被修改的时间(例如最后修改头部)来计算年龄;如果可用则加上描述响应在一个或者多个高速缓存中花费的时间量的年龄作为这一年龄的部分;通过从预定义的后退时间减去年龄来确定时间,并且至少部分基于确定的时间渲染数字内容的流。
Description
技术领域
本发明涉及流传输数字内容同步。
背景技术
同步数字内容渲染是不仅对于同地的客户端设备而且对于远离地定位的客户端设备的主要考虑。例如考虑具有在任一时间可观看的多个电视的体育酒吧。同时观看这些电视的人可能在被示出体育赛事的不同部分时即使仅离开数秒也快速地变得关于“正在进行什么”一无所知。因而,缺乏在这些电视之间的同步可能变得让人分心以至于抹杀包括多个电视的益处。
这一考虑即使在其中客户端设备被相互远离地定位的情形中仍然存在。例如社交媒体和其它通信技术让用户能够在事件发生时相互实时通信和评论。在家庭观看示例中,如果观看者共享对社交媒体的反应,则显著地失去同步的实况数字内容可能使一些观看者扰乱令人兴奋的情节发展或者以别的方式失去用于节目的假定的共享上下文。因而,在由远离设备渲染时失去同步可能引起在这些通信中失去同步,这可能快速地变得让这些观看者气馁。
随着观看者期望和已经体验与常规广播电视的接近同步,观看者也想要有对因特网流传输媒体的相似体验。在常规广播电视中,多个电视接收器同时接收相同广播信号并且立即显示传输的视频。因而,演示固有地同步。然而,常规实况HTTP流传输媒体技术通常地失去同步多达两个或者更多片段持续时间,其中片段通常地是六到十秒长度。
在一个常规HTTP流传输示例中,实况回放根据清单文件在最新近地发表的片段后面的某个数目的片段处开始。“后面”的片段数目依赖于清单文件的获取定时和何时发表新修订和新片段以及选择、获得和渲染新片段所需要的时间。因而,已经观测到客户端设备可能基于这一定时的差值、例如从六到十二秒的任何差值而失去同步多达两个片段。在另一示例中,在清单文件中指定本地“壁钟”时间以指示片段将被渲染的时间。然而,这一方式要求客户端设备中的每个客户端设备上的时钟被相互同步,这通常地不是该情况。也已经开发其它专有技术以确定“什么时间”以便渲染适当内容片段。然而,这些专有技术通常地要求包括通常地在每个客户端设备上不可用的附加软件和硬件资源(例如网络同步)。
发明内容
描述流传输数字内容同步技术。在用于流传输数字内容的数字媒体环境中,通过确定用于渲染内容的时间来同步内容渲染。为了这样做,接收对用于流传输数字内容的请求的响应。响应包括数字内容最后被修改的时间(例如最后修改头部)和响应被生成的时间(例如日期头部)。
通过从响应被生成的时间、例如日期头部减去数字内容最后被修改的时间、例如最后修改头部来计算年龄。如果可用则加上响应在一个或者多个高速缓存中花费的时间量(例如年龄头部)作为这一年龄的部分。
通过从预定义的后退时间减去年龄来确定时间,并且至少部分基于确定的时间渲染数字内容的流。为了提高在客户端设备之间的同步准确性,可以使用小数秒来指示时间。为了减少等待时间,后退时间可以至少部分基于在对数字内容的修订之间确定的时间量。
这一发明内容以简化形式介绍以下在具体实施方式中进一步描述的构思选集。这样,这一发明内容未旨在于标识要求保护的主题内容的实质特征、也未旨在于在确定要求保护的主题内容的范围时用作辅助。
附图说明
参照附图描述具体实施方式。在各图中,参考标号的(多个)最左数字标识该参考标号在其中首次出现的图。在描述和各图中在不同实例中使用相同参考标号可以指示相似或者相同项目。在各图中代表的实体可以指示一个或者多个实体,因此可以在讨论中可互换地指代实体的单数或者复数形式。
图1是示例实现方式中的环境的图示,该环境可操作用于采用这里描述的流传输数字内容同步技术。
图2描绘示例实现方式中的系统,在该系统中,数字内容由内容分发服务通过网络流传输到图1的客户端设备。
图3描绘设置图2的响应的最后修改头部、日期头部和年龄头部的示例实现方式。
图4描绘使用图3的响应的最后修改头部、日期头部和年龄头部以定义何时渲染数字内容的示例实现方式。
图5是描绘示例实现方式中的过程的流程图,在该过程中确定作为用于定义何时渲染内容的基础的时间。
图6是描绘示例实现方式中的过程的流程图,在该过程中查明和使用在对数字内容的修订之间的时间量以减少在渲染数字内容时的等待时间。
图7图示包括示例设备的各种部件的示例系统,该设备可以被实施为这里描述的任何类型的计算设备和/或参照图1-6用来实施这里描述的技术的实施例。
具体实施方式
概述
依赖于片段和清单文件的用于流传输数字内容的常规技术经常无法实现在客户端设备之间的同步的回放。在基于清单和片段的流传输技术中、诸如使用超文本传送协议(HTTP)的流传输技术中,清单文件用来将时间段映射到在媒体演示内的数字内容片段,片段通常地是数秒持续时间。回放数字内容因此根据清单文件在最新近地发表的片段后面的某个数目的片段处开始。“后面”的片段的数目依赖于清单文件的获取定时、何时发表新修订和新片段、等等。因而,这可以从客户端设备到客户端设备变化,从而引起如先前描述的可能在渲染时有扰乱性的同步缺乏。
描述用于流传输数字内容以支持由客户端设备同步渲染内容的示例和系统。这些技术在诸如根据超文本传送协议(HTTP)依赖于在媒体文件内的清单文件和片段的流传输技术中有用。例如内容分发服务可以形成对例如对于清单文件的用于流传输数字内容的请求的响应。响应指定请求的资源(例如清单文件)最后被修改的时间和响应被形成的时间。这可以使用现有超文本传送协议(HTTP)头部、例如最后修改头部和日期头部来执行,因此可以被执行而未使用附加资源或者要求对要接收响应的客户端设备的特殊配置。也可以对于响应在从内容分发服务向客户端设备传达响应期间已经在高速缓存中花费的时间量(例如HTTP年龄头部)指定年龄。这可以包括内容分发服务的高速缓存或者用来经由在内容分发服务与客户端设备之间的网络传达响应的中间者的高速缓存。
从响应中的这一信息,客户端设备能够确定渲染数字内容的时间,该时间与也用于渲染数字内容的其它客户端设备同步。为了这样做,客户端设备首先通过从响应被生成的时间减去数字内容最后被修改的时间来计算年龄。在HTTP示例中,这通过从日期头部减去最后修改头部来执行。附加地,如果可用则也可以采用年龄头部以加上响应在高速缓存中花费的时间量作为这一年龄的部分。
然后确定用于定义何时渲染数字内容的时间。通过从后退时间减去年龄来确定时间。后退时间例如可以包括用于缓冲以促进一致回放的时间量。在实况流传输中,设置后退时间为在最新近地可用片段结束后面的时间。这一时间然后用作用于由客户端设备渲染数字内容的片段的基础。另外,由多个客户端设备使用这一技术促进在那些设备之间同步渲染内容而不要求同步本地时钟或者专有通信技术。
附加地,为了缩短在渲染数字内容时的等待时间,可以基于在数字内容的片段的修订之间的查明的时间设置后退时间。例如可以通过使用这一技术以预测将多久发布清单文件的下一修订(和因此发布对应片段)来减少等待时间。然后基于这一时间设置后退时间以便提供充分缓冲而又尽可能快地渲染内容。进一步减少可以通过使用指定小数秒的头部来实现并且因此可以进一步促进在客户端设备之间的更严密同步。以这一方式,同步渲染流传输内容由无论本地或者相互远离地定位的客户端设备使用一种用于定义这一渲染将“何时”发生的常用技术来促进。在以下章节中包括对这些和其它示例的进一步讨论。
在以下讨论中,首先描述可以采用这里描述的技术的示例环境。然后描述可以在示例环境以及其它环境中执行的示例过程。因而,执行示例过程不限于示例环境,并且示例环境不限于执行示例过程。
示例环境
图1是示例实现方式中的环境100的图示,该环境可操作用于采用这里描述的数字内容流传输技术。所示环境100包括经由网络108 通信地耦合到多个客户端设备(图示它们的示例为第一和第二客户端设备104、106)的内容分发服务102。内容分发服务102以各种方式可配置、诸如用于实施网站提供商、服务提供商、web服务、卫星提供商、陆地线缆提供商或者采用网络108的任何其它内容分发商的一个或者多个计算设备。因而,网络108也以多种方式可配置、诸如因特网或者“万维网”、对等网络、等等、
第一和第二客户端设备104、106也使用如关于图7进一步描述的多种计算设备可配置。计算设备例如可以被配置为桌面型计算机、膝上型计算机、移动设备(例如假设手持配置、诸如如图所示平板计算机或者移动电话)、等等。因此,计算设备的范围可以从具有大量存储器和处理器资源的全资源设备(例如个人计算机、游戏控制台) 到配置为经由网络108通信的、具有有限存储器和/或处理资源的低资源设备(例如移动设备)。此外,可以使用多个不同设备、例如多个服务器来实施第一和第二客户端设备104、106。
内容分发服务102包括至少部分地在硬件中实施的用于控制经由网络108流传输数字内容112的内容分发模块110,该数字内容图示为存储在存储装置114中。数字内容112可以采用多种形式、诸如媒体、视频、音频和被配置用于数字存储、通信(例如流传输)和渲染的其它形式的媒体。
图示第一和第二客户端设备104、106为包括相应通信模块116、 118。通信模块116、118代表至少部分地在硬件中实施的用于经由网络108通信、诸如与内容分发服务102通信以流传输数字内容112的功能。这包括专用应用、插件模块、网络使能的应用、浏览器、等等。由通信模块116、118采用的功能的示例由至少部分地在硬件中实施的用于控制导航和渲染数字内容112的回放模块120、122表示。
如先前描述的那样,用户期望在渲染流传输内容时同步。例如在传统广播电视中,客户端设备、诸如电视接收器被配置为同时接收相同广播信号并且立即渲染接收的信号用于显示。这使传统广播电视的显示被固有地同步。然而,在涉及到使用清单文件和片段(例如根据超文本传送协议)的常规实况流传输技术中,这由于清单文件的获取定时、新修订和对应片段何时被发表的定时、请求和接收包括片段的对请求的响应所需要的时间、等等而不是这样。因而,常规实况流传输技术的这一同步缺乏可能与用户期望背道而驰。
因而,回放模块120、122被配置为采用用于对渲染数字内容112 的流进行定时的技术,从而在第一和第二客户端设备104、106之间促进同步的渲染。另外,可以实现如这里描述的同步而未使用在第一和第二客户端设备104、106之间的专用通信信道以例如同步客户端设备104、106的本地时钟或者未使用专有技术。在下文中描述并且在对应图中示出实现这一同步的对渲染数字内容进行定时的示例。
图2描绘示例实现方式中的系统200,在该系统中,数字内容112 由内容分发服务102通过网络108流传输到第一客户端设备104。在这一示例中的内容分发服务102接收数字内容112,该数字内容是“实况”的、例如实时捕获的,或者如同就像它为实况一样实时呈现的预先记录的内容一样是线性的。内容分发模块110然后配置这一数字内容112用于使用基于清单和片段的技术的实况流传输。为了这样做,内容分发模块110采用清单生成模块202和片段生成模块204。
至少部分地在硬件中实施片段生成模块204以形成媒体演示208 中的片段206。片段206例如可以由片段生成模块204形成为各自来自从数字内容112收集的分组的数秒的长度。至少部分地在硬件中实施清单生成模块202以形成清单文件210,该清单文件将相应时间段映射到媒体演示208的片段206的对应片段。
请求212和响应214技术然后用来通过在内容分发服务102与第一客户端设备104之间的网络108流传输数字内容。例如第一客户端设备104的回放模块120可以形成对于与待流传输的希望的数字内容 112对应的清单文件210的请求212。内容分发模块110经由网络108 接收这一请求212并且形成包括清单文件210的响应214。使用清单文件210,回放模块120可以确定媒体演示208的哪些片段206映射到希望用于渲染的对应时间段(例如最新近)并且使用相似请求212 和响应214技术请求传达和接收那些片段206。
为了定义将何时渲染片段206,内容分发模块110可以利用在诸如根据HTTP的基于清单和片段的流传输技术中发现的现有头部字段和语义,并且可以这样做而未同步客户端设备104、106的本地时钟。可用于定义这一“何时”的现有响应头部字段的示例包括最后修改头部216、日期头部218和年龄头部220。在下文中进一步描述和在对应图中示出设置这些头部的值的示例。
图3描绘设置图2的响应214的最后修改头部216、日期头部218 和年龄头部220的示例实现方式300。使用第一、第二和第三阶段302、 304、306来示出这一实现方式300。在第一阶段302,请求212由通信模块116形成和传达用于经由网络108由内容分发服务102的内容分发模块110接收。请求212例如可以请求传达清单文件210用于在指定待流传输的内容的片段时使用。
在第二阶段304,内容分发模块110采用至少部分地在硬件中实施的响应生成模块308以形成响应214 。响应包括最后修改头部216、日期头部218、年龄头部220(可选地)和清单文件210。最后修改头部216由内容分发模块110根据由与内容分发服务102关联的时钟222关于数字内容112的媒体演示208最后何时被修改、例如在实况流传输上下文中添加片段206而指示的时间来设置。
日期头部218由内容分发模块110根据由时钟222指示的、响应 214何时由响应生成模块308形成的时间来设置。在一个或者多个实现方式中,用来设置最后修改头部216的时钟222与用来设置日期头部218的时钟222同步和/或是与用来设置日期头部218的时钟222 相同。
年龄头部220可选地用来指示响应214自从由响应生成模块308 形成起已经在高速缓存中花费的、例如在内容分发服务102处或者存储在用来经由网络108传达响应214的一个或者多个中间者(例如中间者服务器、路由器、防火墙等)中的时间量。响应214由内容分发服务102经由网络108传达用于在这一示例中由第一客户端设备104 接收。第一客户端设备104然后可以使用这些头部以确定何时以与其它客户端设备同步的方式渲染数字内容的片段,在下文中描述其示例。
图4描绘使用图3的响应214的最后修改头部216、日期头部218 和年龄头部220以定义何时渲染数字内容的示例实现方式400。使用第一和第二阶段402、404来示出这一实现方式400。在第一阶段402,回放模块120确定数字内容的年龄和更具体地是待渲染的数字内容的相应片段的年龄。这由回放模块120通过从日期头部218减去最后修改头部216来执行。换而言之,这一动作用于从响应214被生成的时间减去数字内容最后被修改、例如向数字内容添加片段的时间。年龄头部220如果可用则被加到这一结果以解决响应在被传达时在高速缓存中、例如在网络108的中间服务器的高速缓存中、在内容分发服务 102的高速缓存中、等等花费的时间量。以这一方式,确定响应的“真实年龄”而未使用第一客户端设备104上的时钟。
在第二阶段404,计算将用作用于定义何时渲染内容的基础的时间。通过从后退时间减去在第一阶段402计算的年龄来计算这一时间。后退时间包括被确定包括用于促进一致回放的缓冲时间量的时间量。可以预定义后退时间为在第一和第二客户端104、106之间一致的静态时间量。也可以如关于图6进一步描述的那样动态地定义后退时间以减少等待时间。
这一时间然后用作用于定义将“何时”渲染数字内容的片段的基础。通过用于通过使用头部和后退时间来确定响应214的“年龄”的能力,可以实现在第一和第二客户端设备104、106之间的同步。例如第一客户端设备104可以确定与由第二客户端设备106确定的年龄不同的年龄。通过使用后退时间和这些不同的相应年龄,通过考虑这些差值来同步“何时”渲染。在一个或者多个实现方式中,包括更高精确度(例如包括小数秒部分)的时间在补充头部中用来与仅限于使用完整的秒及其以上单位来指定时间的常规HTTP头部相比进一步提高准确性。以这一方式,可以实现小于一秒的同步。相对于以下过程描述附加示例。
示例过程
以下讨论描述可以利用先前描述的系统和设备来实施的流传输数字内容同步技术。可以在硬件、固件或者软件或者其组合中实施过程中的每个过程的方面。过程被示出为指定由一个或者多个设备执行的操作的块集合而未必地限于所示用于由相应块执行操作的顺序。在以下讨论的部分中,将参照图1-4。
图5描绘示例实现方式中的过程500,在该过程中确定用作用于定义何时渲染内容的基础的时间。传达用于流传输内容的请求(块 502)。请求212例如可以请求将用来流传输数字内容112的清单文件210。
接收对请求的响应。响应包括数字内容最后被修改的时间和响应被生成的时间(块504)。例如可以指定最后修改时间为最后修改头部216(例如HTTP“最后修改”响应头部),该头部指定片段206被添加到媒体演示的时间。使用例如HTTP“日期”响应头部的日期头部 218来指定响应被生成的时间。响应也可以包括年龄,该年龄通过使用例如HTTP“年龄”头部的年龄头部220来指示响应已经在至少一个高速缓存中花费的时间量。
检查响应的逻辑一致性(块506)。回放模块120例如可以检查以确定日期头部218指定没有在由最后修改头部216指定的时间之前的时间。如果没有逻辑地一致,则执行以下处理,由此防范错误和节约计算资源。
通过从响应被生成的时间减去数字内容最后被修改的时间来计算年龄(块508)。回放模块120例如可以从日期头部218减去最后修改头部216。年龄头部220如果可用则也可以被加到这一值。以这一方式,年龄描述如果指定则加上在高速缓存中花费的时间量的通过最后修改头部216的新添加的片段可用和生成响应214之间已经经过的时间量。
通过从后退时间减去年龄来确定时间,该时间可用来定义数字内容的流的渲染将何时发生(块510)。后退时间例如可以包括用于保证流畅回放数字内容112的缓冲时间。在实况流传输中,设置后退时间为在最新近地可用片段结束后面的时间。可以如关于图6进一步描述的那样静态地(例如设置的时间量)或者动态地定义后退时间以减少等待时间。至少部分基于确定的时间渲染数字内容的流(块512)。通过使用这一技术用于第一和第二客户端设备104、106二者,可以实现同步渲染数字内容112。
图6描绘示例实现方式中的过程600,在该过程中查明和使用在对数字内容的修订之间的时间量以减少在渲染数字内容时的等待时间。查明在数字内容的修订之间的时间量(块602)。例如清单文件可以指定媒体演示208的最大允许片段持续时间。基于此,可以确定间隔,该间隔描述何时使数字内容112的“新”片段206可用,这可用来如在下文中描述的那样减少在渲染内容时的等待时间。
同前,计算在对用于流传输数字内容的请求的响应中的最后修改头部与日期头部之间的差值作为年龄(块604)。确定数字内容的流的渲染将发生的时间。同前通过从后退时间减去年龄来确定时间。然而,在这一实例中,后退时间至少部分基于在修订之间的查明的时间量(块606)。例如可以通过将设置的缓冲时间(例如用于保证流畅回放)加上查明的时间量来计算后退时间。以这一方式,基于何时使片段可用于渲染用最少等待时间执行至少部分基于确定的时间的数字内容的流的渲染(块608)。在由多个客户端设备执行时,这也可以用来实行在设备之间的同步以及减少等待时间。
示例系统和设备
图7主要地在700图示示例系统,该系统包括代表可以实施这里描述的各种技术的一个或者多个计算系统和/或设备的示例计算设备 702。通过包括回放模块120来图示这一点。计算设备702可以例如是服务提供者的服务器、与客户端关联的设备(例如客户端设备)、片上系统和/或任何其它适当计算设备或者计算系统。
示例计算设备702如图所示包括相互通信地耦合的处理系统 704、一个或者多个计算机可读介质706和一个或者多个I/O接口708。虽然未示出,但是计算设备702还可以包括相互耦合各种部件的系统总线或者其它数据和命令传送系统。系统总线可以包括不同总线结构、诸如存储器总线或者存储器控制器、外围总线、通用串行总线和 /或利用多种总线架构中的任何总线架构的处理器或者本地总线中的任何总线结构或者组合。也设想多种其它示例、诸如控制和数据线。
处理系统704代表用于使用硬件来执行一个或者多个操作的功能。因而,图示处理系统704为包括可以配置为处理器、功能块等的硬件元件710。这可以包括在硬件、诸如专用集成电路或者使用一个或者多个半导体来形成的其它逻辑器件中的实现方式。硬件元件710 不受形成它们的材料或者其中采用的处理机制限制。例如处理器可以由(多个)半导体和/或晶体管(例如电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子地可执行指令。
图示计算机可读存储介质706为包括存储器/存储装置712。存储器/存储装置712代表与一个或者多个计算机可读介质关联的存储器/ 存储容量。存储器/存储装置712可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置712可以包括固定介质(例如RAM、ROM、固定硬盘驱动等)以及可移除介质(例如闪存、可移除硬盘驱动、光学盘等)。可以用如以下进一步描述的多种其它方式配置计算机可读介质706。
(多个)输入/输出接口708代表用于允许用户向计算设备702 录入命令和信息并且也允许向用户呈现信息的功能和/或使用各种输入/输出设备的其它部件或者设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪、触摸功能(例如被配置用于检测物理触摸的电容性或者其它传感器)、相机(例如该相机可以采用可见光或者不可见光波长、诸如红外线频率以识别移动为未涉及到触摸的手势)等。输出设备的示例包括显示设备(例如监视器或者投影仪)、扬声器、打印机、网卡、触觉-响应设备等。因此,可以用如以下进一步描述的多种方式配置计算设备702以支持用户交互。
这里可以在软件、硬件元件或者程序模块的一般上下文中描述各种技术。一般而言,这样的模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、元件、部件、数据结构等。如这里所用术语“模块”、“功能”和“部件”一般地代表软件、固件、硬件或者其组合。这里描述的技术的特征独立于平台,这意味着可以在具有多种处理器的多种商用计算平台上实施技术。
可以在某个形式的计算机可读介质上存储或者跨越某个形式的计算机可读介质传输描述的模块和技术的实现方式。计算机可读介质可以包括计算设备702可以访问的多种介质。举例而言而无限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以是指与仅信号传输、载波或者信号本身相比实现持久和/或非瞬态信息存储的介质和/或设备。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括硬件、诸如以适合用于存储信息、诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其它数据的方法或者技术实施的易失性和非易失性、可移除和非可移除介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字万用盘(DVD)或者其它光学存储装置、硬盘、磁盒、磁带、磁盘存储装置或者其它磁存储设备或者适合用来存储希望的信息并且可以由计算机访问的其它存储设备、有形介质或者制造品。
“计算机可读信号介质”可以是指被配置用于诸如经由网络向计算设备702的硬件传输指令的信号承载介质。信号介质通常地可以在调制的数据信号、诸如载波、数据信号或者其它传送机制中实现计算机可读指令、数据结构、程序模块或者其它数据。信号介质也包括任何信息递送介质。术语“调制的数据信号”意味着如下信号,该信号让它的特性中的一个或者多个特性以对信号中的信息进行编码这样的方式来设置或者改变。举例而言而非限制,通信介质包括有线介质、诸如有线网络或者直接有线连接和无线介质、诸如声学、RF、红外线和其它无线介质。
如先前描述的那样,硬件元件710和计算机可读介质706代表以如下硬件形式实施的模块、可编程器件逻辑和/或固定器件逻辑,可以在一些实施例中采用该硬件形式以实施这里描述的技术的至少一些方面、诸如执行一个或者多个指令。硬件可以包括集成电路或者片上系统的部件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和在硅或者其它硬件中的其它实现方式。在本上下文中,硬件可以作为处理设备操作,该处理设备执行由指令定义的程序任务和/或由硬件实现的逻辑以及用来存储用于执行的指令的硬件、例如先前描述的计算机可读存储介质。
也可以采用前述各项的组合以实施这里描述的各种技术。因而,可以实施软件、硬件或者可执行模块为在某个形式的计算机可读存储介质上和/或由一个或者多个硬件元件710实现的一个或者多个指令和/或逻辑。计算设备702可以被配置用于实施与软件和/或硬件模块对应的特定指令和/或功能。因而,可以至少部分地在硬件中、例如通过使用计算机可读存储介质和/或处理系统704的硬件元件710来实现作为软件由计算设备702可执行的模块的实现方式。指令和/或功能可以由一个或者多个制造品(例如一个或者多个计算设备702和/或处理系统704)可执行/可操作以实施这里描述的技术、模块和示例。
这里描述的技术可以由计算设备702的各种配置支持而不限于这里描述的技术的具体示例。也可以全部或者部分通过使用分布式系统、诸如如以下描述的那样经由平台716通过“云”714实施这一功能。
云714包括和/或代表用于资源718的平台716。平台716抽象化云714的硬件(例如服务器)和软件资源的下层功能。资源718可以包括可以在与计算设备702远离的服务器上执行计算机处理时利用的应用和/或数据。资源718也可以包括通过因特网和/或通过用户网络、诸如蜂窝或者Wi-Fi网络提供的服务。
平台716可以抽象化用于连接计算设备702与其它计算设备的资源和功能。平台716也可以服务于抽象化资源伸缩以提供与对于经由平台716实施的资源718的所遇需求对应的规模级别。因而,在一个互连设备实施例中,可以遍布系统700分布这里描述的功能的实现方式。例如可以部分在计算设备702上以及经由抽象化云714的功能的平台716实施功能。
结论
虽然已经用结构特征和/或方法动作特有的言语描述本发明,但是将理解在所附权利要求中定义的本发明未必地限于描述的具体特征或者动作。相反,公开具体特征和动作作为实施要求保护的本发明的示例形式。
Claims (21)
1.一种在用于流传输数字内容的数字媒体环境中由计算设备实施的方法,所述方法包括:
由计算设备接收对用于流传输所述数字内容的请求的响应,所述响应包括所述数字内容最后被修改的时间和所述响应被生成的时间;
由所述计算设备通过从所述响应被生成的所述时间减去所述数字内容最后被修改的所述时间来计算年龄;
由所述计算设备通过从预定义的后退时间减去所述年龄来确定时间,所述时间可用来定义所述数字内容的流的渲染将何时发生;以及
由所述计算设备至少部分地基于确定的所述时间来渲染所述数字内容的所述流。
2.如权利要求1所述的方法,其中使用发起所述响应的内容分发服务的时钟来设置所述数字内容最后被修改的所述时间作为最后修改头部的一部分。
3.如权利要求2所述的方法,其中所述最后修改头部指定秒的小数部分。
4.如权利要求1所述的方法,其中使用发起所述响应的内容分发服务的时钟来设置所述响应被生成的所述时间作为日期头部的一部分。
5.如权利要求4所述的方法,其中所述日期头部指定秒的小数部分。
6.如权利要求1所述的方法,其中:
所述响应还包括指示所述响应已经花费于至少一个高速缓存的时间量的年龄头部;以及
所述年龄的所述计算包括加上所述年龄头部。
7.如权利要求6所述的方法,其中所述高速缓存被包括作为流传输所述数字内容的内容分发服务的一部分或者所述内容分发服务与所述计算设备之间的中间者的一部分,所述响应是经由所述中间者传达的。
8.如权利要求1所述的方法,其中所述响应包括将时间段映射到所述数字内容的媒体演示内的多个片段的相应片段的清单文件。
9.如权利要求1所述的方法,其中所述请求、所述响应和所述渲染根据超文本传送协议而配置。
10.如权利要求1所述的方法,还包括由所述计算设备查明对所述数字内容的修订之间的时间量,以及至少部分地基于查明的所述时间量来设置所述后退时间。
11.如权利要求10所述的方法,其中所述查明是基于相应片段被添加到所述数字内容的媒体演示的相应时间量。
12.一种在用于流传输数字内容的数字媒体环境中由计算设备实施的方法,所述方法包括:
由所述计算设备传达对用于流传输所述数字内容的清单文件的超文本传送协议HTTP请求;
由所述计算设备接收对所述请求的HTTP响应,所述响应包括最后修改头部、日期头部和所述清单文件;
由所述计算设备通过从所述日期头部减去所述最后修改头部来计算年龄;
由所述计算设备通过从预定义的后退时间减去所述年龄来确定时间,所述时间可用来定义所述数字内容的流的渲染将何时发生;
由所述计算设备根据所述超文本传送协议基于所述清单文件和确定的所述时间从媒体演示获得所述数字内容的至少一个片段;以及
由所述计算设备至少部分地基于确定的所述时间来渲染所述数字内容的所述至少一个片段。
13.如权利要求12所述的方法,其中:
所述最后修改头部由发起所述响应的内容分发服务设置,所述最后修改头部指示如由所述内容分发服务的时钟指示的、所述数字内容最后被修改的时间;以及
所述日期头部由发起所述响应的所述内容分发服务设置,所述日期头部指示如由所述内容分发服务的时钟指示的、所述响应被生成的时间。
14.如权利要求12所述的方法,其中:
所述响应还包括年龄头部,所述年龄头部指示所述响应已经花费于至少一个高速缓存的时间量;以及
所述年龄的所述计算包括加上所述年龄头部。
15.如权利要求12所述的方法,其中所述最后修改头部或者所述日期头部指定秒的小数部分。
16.如权利要求12所述的方法,还包括:
由所述计算设备查明对所述数字内容的修订之间的时间量;以及
由所述计算设备至少部分地基于查明的所述时间量来设置所述预定义的后退时间。
17.如权利要求12所述的方法,还包括由所述计算设备检查所述最后修改头部相对于所述日期头部的逻辑一致性,并且其中响应于所述最后修改头部和日期头部不逻辑地一致的所述检查而不执行所述计算、所述确定和所述渲染。
18.一种在用于流传输数字内容的数字媒体环境中包括至少部分地在客户端设备的硬件中实施的回放模块的系统,所述回放模块被配置为执行操作,所述操作包括:
查明所述数字内容的修订之间的时间量;
计算在对用于流传输所述数字内容的请求的响应中的最后修改头部与日期头部之间的差值作为年龄;
通过从后退时间减去所述年龄来确定时间,所述后退时间至少部分地基于所查明的所述修订之间的所述时间量,所述时间可用来定义所述数字内容的流的渲染将何时发生;以及
至少部分地基于确定的所述时间来渲染所述数字内容的所述流。
19.如权利要求18所述的系统,其中:
所述最后修改头部由发起所述响应的内容分发服务设置,所述最后修改头部指示如由所述内容分发服务的时钟指示的、所述数字内容最后被修改的时间;以及
所述日期头部由发起所述响应的内容分发服务设置,所述日期头部指示如由所述内容分发服务的时钟指示的、所述响应被生成的时间。
20.如权利要求18所述的系统,其中:
所述响应还包括年龄头部,所述年龄头部指示所述响应已经花费于至少一个高速缓存的时间量;以及
所述年龄的所述计算包括加上所述年龄头部。
21.如权利要求18所述的系统,其中所述最后修改头部或者所述日期头部定义秒的小数部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/069,839 US10079884B2 (en) | 2016-03-14 | 2016-03-14 | Streaming digital content synchronization |
US15/069,839 | 2016-11-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107197351A CN107197351A (zh) | 2017-09-22 |
CN107197351B true CN107197351B (zh) | 2020-12-04 |
Family
ID=59677474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610952730.0A Active CN107197351B (zh) | 2016-03-14 | 2016-11-02 | 流传输数字内容同步的方法及系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10079884B2 (zh) |
CN (1) | CN107197351B (zh) |
AU (1) | AU2016253673B2 (zh) |
DE (1) | DE102016013109A1 (zh) |
GB (1) | GB2548440B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11197052B2 (en) | 2019-07-12 | 2021-12-07 | Apple Inc. | Low latency streaming media |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055773A (zh) * | 2009-11-09 | 2011-05-11 | 华为技术有限公司 | 实现基于http的流媒体业务的方法、系统和网络设备 |
CN102137130A (zh) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | 基于http的同步方法和装置 |
WO2012046487A1 (ja) * | 2010-10-05 | 2012-04-12 | シャープ株式会社 | コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体 |
CN102821108A (zh) * | 2012-08-24 | 2012-12-12 | 北龙中网(北京)科技有限责任公司 | 将客户机和服务器进行时间精确同步的方法 |
CN103190092A (zh) * | 2010-08-13 | 2013-07-03 | 奈飞公司 | 用于流数字内容的同步重放的系统和方法 |
EP2706754A2 (en) * | 2012-09-11 | 2014-03-12 | Comcast Cable Communications, LLC | Synchronizing program presentation |
CN104221390A (zh) * | 2012-04-26 | 2014-12-17 | 高通股份有限公司 | 用于处置低等待时间流送的增强型块请求流送系统 |
CN104885473A (zh) * | 2013-01-04 | 2015-09-02 | 高通股份有限公司 | 用于经由http的动态自适应流式传输(dash)的实况定时 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8701010B2 (en) * | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
BR112012001150B1 (pt) * | 2009-11-09 | 2021-06-29 | Snaptrack, Inc | Método para implementar serviço de transmissão baseado em http |
TW201246873A (en) * | 2011-02-11 | 2012-11-16 | Interdigital Patent Holdings | Method and apparatus for updating metadata cross reference to related applications |
US20140012939A1 (en) * | 2011-03-17 | 2014-01-09 | Lg Electronics Inc. | Method for providing resources by a terminal, and method for acquiring resources by a server |
US20140010517A1 (en) * | 2012-07-09 | 2014-01-09 | Sensr.Net, Inc. | Reduced Latency Video Streaming |
US9521179B2 (en) * | 2014-07-16 | 2016-12-13 | Verizon Patent And Licensing Inc. | Validation of live media stream based on predetermined standards |
US9954746B2 (en) * | 2015-07-09 | 2018-04-24 | Microsoft Technology Licensing, Llc | Automatically generating service documentation based on actual usage |
-
2016
- 2016-03-14 US US15/069,839 patent/US10079884B2/en active Active
- 2016-11-02 CN CN201610952730.0A patent/CN107197351B/zh active Active
- 2016-11-03 DE DE102016013109.8A patent/DE102016013109A1/de active Pending
- 2016-11-04 GB GB1618588.6A patent/GB2548440B/en active Active
- 2016-11-04 AU AU2016253673A patent/AU2016253673B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102055773A (zh) * | 2009-11-09 | 2011-05-11 | 华为技术有限公司 | 实现基于http的流媒体业务的方法、系统和网络设备 |
CN102137130A (zh) * | 2010-01-22 | 2011-07-27 | 华为技术有限公司 | 基于http的同步方法和装置 |
CN103190092A (zh) * | 2010-08-13 | 2013-07-03 | 奈飞公司 | 用于流数字内容的同步重放的系统和方法 |
WO2012046487A1 (ja) * | 2010-10-05 | 2012-04-12 | シャープ株式会社 | コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体 |
CN104221390A (zh) * | 2012-04-26 | 2014-12-17 | 高通股份有限公司 | 用于处置低等待时间流送的增强型块请求流送系统 |
CN102821108A (zh) * | 2012-08-24 | 2012-12-12 | 北龙中网(北京)科技有限责任公司 | 将客户机和服务器进行时间精确同步的方法 |
EP2706754A2 (en) * | 2012-09-11 | 2014-03-12 | Comcast Cable Communications, LLC | Synchronizing program presentation |
CN104885473A (zh) * | 2013-01-04 | 2015-09-02 | 高通股份有限公司 | 用于经由http的动态自适应流式传输(dash)的实况定时 |
Non-Patent Citations (2)
Title |
---|
Hypertext transfer protocol-HTTP1.1;R.Fielding等;《Request for Comments:2616》;19990630;全文 * |
Live Content Support in Static HTTP Streaming;Huawei Technologies Co., Ltd;《TSGS4_56 S4-090857》;20091109;全文 * |
Also Published As
Publication number | Publication date |
---|---|
GB2548440B (en) | 2019-07-10 |
DE102016013109A1 (de) | 2017-09-14 |
US20170264683A1 (en) | 2017-09-14 |
AU2016253673A1 (en) | 2018-05-24 |
US10079884B2 (en) | 2018-09-18 |
CN107197351A (zh) | 2017-09-22 |
AU2016253673B2 (en) | 2021-07-15 |
GB2548440A (en) | 2017-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10872064B2 (en) | Utilizing version vectors across server and client changes to determine device usage by type, app, and time of day | |
US11112942B2 (en) | Providing content via multiple display devices | |
US10911802B2 (en) | Media file pushing method, media file server, and media file pushing system | |
US20180121322A1 (en) | Methods and Systems for Testing Versions of Applications | |
US20150127284A1 (en) | Sensor Data Time Alignment | |
CN110809189B (zh) | 视频播放方法、装置、电子设备和计算机可读介质 | |
US10616332B2 (en) | Optimized synching of metadata changes using chunked response | |
CN111163336B (zh) | 视频资源推送方法、装置、电子设备及计算机可读介质 | |
US20140143670A1 (en) | Video Playback Analytics Collection | |
CN110619100A (zh) | 用于获取数据的方法和装置 | |
US20130145258A1 (en) | Incremental Synchronization for Magazines | |
CN107197351B (zh) | 流传输数字内容同步的方法及系统 | |
WO2016191053A1 (en) | Predictive peer determination for peer-to-peer digital content download | |
CN110996155B (zh) | 视频播放页面显示方法、装置、电子设备和计算机可读介质 | |
KR20180010442A (ko) | 온라인 저작 서비스가 수행되는 사용자 단말 및 이의 문서 저장 방법 | |
CN114528433B (zh) | 一种模板选择方法、装置、电子设备及存储介质 | |
CN113163483B (zh) | 时间戳更新方法、装置和电子设备 | |
CN112015746B (zh) | 数据实时处理方法、装置、介质和电子设备 | |
CN112688793B (zh) | 数据包获取方法、装置及电子设备 | |
CN114554292A (zh) | 视角的切换方法、装置、电子设备、存储介质和程序产品 | |
CN112333462A (zh) | 直播间页面跳转方法、返回方法、装置及电子设备 | |
CN111291011B (zh) | 文件同步方法及装置、电子设备和可读存储介质 | |
CN111291254A (zh) | 信息处理方法和装置 | |
CN111178929A (zh) | 展示信息的价值调整方法、装置、电子设备及可读介质 | |
CN111367592A (zh) | 信息处理方法和装置 |
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 |