技术领域technical field
本发明的实施例一般地涉及通信技术,更具体地说,涉及用于媒体文件成流的系统、方法和装置。Embodiments of the present invention generally relate to communication technologies, and more particularly, to systems, methods and apparatuses for streaming media files.
背景技术Background technique
随着通信技术的发展,流媒体对于普通客户而言变得越来越实际,并且其收费也为普通客户所能承受。同时,网络带宽变大,网络访问量增加,标准协议和格式的使用以及因特网商业化也导致了对多媒体内容需求的增加。网络的扩展和联网计算设备的演进提供了充足的处理能力、存储空间和网络带宽,从而能够传输和播放日益复杂的数字媒体文件。因此,因特网电视和视频共享受到普遍欢迎。With the development of communication technology, streaming media has become more and more practical for ordinary customers, and its charges are also affordable for ordinary customers. At the same time, increased network bandwidth, increased network access, the use of standard protocols and formats, and the commercialization of the Internet have also led to an increase in the demand for multimedia content. The expansion of networks and the evolution of networked computing devices have provided sufficient processing power, storage space, and network bandwidth to transmit and play increasingly complex digital media files. Therefore, Internet TV and video sharing are universally welcomed.
发明内容Contents of the invention
因此,根据本发明的各实施例,提供了用于接收和呈现或播放媒体内容表示(representation)以及用于使能跨多个表示进行时间同步和随机查找的装置、方法和计算机程序产品。具体而言,可以定义将多个表示所关联的内容的播放或呈现时间间隔映射到对应媒体段(segment)的分段表。当查找或在表示之间切换时,客户端设备可以因此访问适当的时间映射片段(fragment),以识别与当前表示或另一选定表示内的期望时点对应的适当媒体段。Accordingly, according to embodiments of the present invention, apparatus, methods and computer program products are provided for receiving and presenting or playing media content representations and for enabling time synchronization and random lookup across multiple representations. Specifically, a segment table may be defined that maps playback or presentation time intervals of multiple representations of associated content to corresponding media segments. When looking up or switching between representations, the client device can thus access the appropriate time map fragments to identify the appropriate media segment corresponding to a desired point in time within the current representation or another selected representation.
在一个示例性实施例中,提供一种用于接收和呈现或播放媒体内容表示以及用于使能跨多个表示进行时间同步和随机查找的方法和计算机程序产品。根据所述方法和计算机程序产品,客户端设备呈现选定媒体内容文件的第一表示的第一媒体段。所述客户端设备确定期望时点和待呈现的期望第二表示。识别和取回第二媒体段,其中所述第二媒体段包含呈现时间等于所述第一表示或所述期望第二表示中的期望呈现时点或等于期望表示中的当前时点的一个或多个媒体样本。In one exemplary embodiment, a method and computer program product are provided for receiving and presenting or playing media content representations and for enabling time synchronization and random lookup across multiple representations. According to the method and computer program product, a client device presents a first media segment of a first representation of a selected media content file. The client device determines a desired time point and a desired second representation to be presented. identifying and retrieving a second media segment, wherein the second media segment contains a presentation time equal to one of a desired presentation time point in the first representation or the desired second representation or equal to a current time point in the desired representation or Multiple media samples.
在另一示例性实施例中,提供一种用于声明和发信号通知媒体内容表示以及用于使能跨多个表示进行时间同步和随机查找的方法和计算机程序产品。根据所述方法和计算机程序产品,诸如媒体内容服务器之类的装置响应于对媒体内容的请求而将多媒体呈现描述发送到客户端设备。第一表示的第一媒体段被发送到所述客户端设备,并创建与至少一个媒体段相关的时间映射信息。所述时间映射信息被所述装置发送给所述客户端设备。所述时间映射信息可以随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而发送到所述客户端设备。所述多媒体呈现描述可以包括所述客户端设备用于取回或请求所述时间映射信息的统一资源定位器(URL)模式。In another exemplary embodiment, a method and computer program product for declaring and signaling media content representations and for enabling time synchronization and random lookup across multiple representations are provided. According to the method and computer program product, an apparatus, such as a media content server, sends a multimedia presentation description to a client device in response to a request for media content. A first media segment of a first representation is sent to the client device, and time-mapping information related to at least one media segment is created. The time mapping information is sent by the apparatus to the client device. The time mapping information may be sent to the client device along with the corresponding media segment, or may be sent to the client device in response to at least one request of the client device. The multimedia presentation description may include a Uniform Resource Locator (URL) pattern used by the client device to retrieve or request the time map information.
在另一示例性实施例中,提供一种包括处理器和存储计算机代码指令的存储器的装置,所述计算机代码指令当被所述处理器执行时,使所述装置呈现选定媒体内容文件的第一表示的第一段。所述存储器和计算机代码指令与所述处理器一起还使所述装置确定期望时点或待呈现的期望第二表示。使所述装置识别第二媒体段,其中所述第二媒体段包含呈现时间等于所述第一表示或所述期望第二表示中的期望呈现时点或等于期望表示中的当前时点的一个或多个媒体样本。所述存储器和计算机代码指令与所述处理器一起还使所述装置取回所述第二媒体段。In another exemplary embodiment, an apparatus is provided that includes a processor and a memory storing computer code instructions that, when executed by the processor, cause the apparatus to present an image of a selected media content file. The first paragraph of the first representation. The memory and computer code instructions, together with the processor, also cause the apparatus to determine a desired point in time or a desired second representation to be presented. causing the apparatus to identify a second media segment, wherein the second media segment comprises a presentation time equal to one of a desired presentation time point in the first representation or the desired second representation or equal to a current time point in the desired representation or multiple media samples. The memory and computer code instructions, together with the processor, also cause the device to retrieve the second media segment.
在另一示例性实施例中,提供一种包括处理器和存储计算机代码指令的存储器的装置,所述计算机代码指令当被所述处理器执行时,使所述装置响应于对媒体内容的请求而将多媒体呈现描述发送到客户端设备。所述存储器和计算机代码指令与所述处理器一起还使所述装置将第一表示的第一媒体段发送到所述客户端设备,并创建与至少一个媒体段相关的时间映射信息。还使所述装置将所述时间映射信息发送到所述客户端设备。所述时间映射信息可以作为时间映射片段随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而发送到所述客户端设备。所述多媒体呈现描述可以包括所述客户端设备用于取回或请求所述时间映射信息的统一资源定位器(URL)模式。In another exemplary embodiment, an apparatus is provided that includes a processor and a memory storing computer code instructions that, when executed by the processor, cause the apparatus to respond to a request for media content Instead, the multimedia presentation description is sent to the client device. The memory and computer code instructions, together with the processor, also cause the apparatus to send a first media segment of a first representation to the client device and create time map information related to at least one media segment. The apparatus is also caused to send the time mapping information to the client device. The time-map information may be sent to the client device as a time-map segment together with the corresponding media segment, or may be sent to the client device in response to at least one request of the client device. The multimedia presentation description may include a Uniform Resource Locator (URL) pattern used by the client device to retrieve or request the time mapping information.
在另一示例性实施例中,提供一种包括被配置为呈现至少一个媒体段的客户端设备和被配置为通过网络将时间映射信息传送到所述客户端设备的媒体内容服务器的系统。所述客户端设备可以呈现选定媒体内容文件的第一表示的第一媒体段。所述客户端设备然后确定期望时点或待呈现的期望第二表示。所述媒体内容服务器可以将时间映射信息随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而发送到所述客户端设备。所述客户端设备然后可以根据所述时间映射信息识别第二媒体段,并可以从所述媒体内容服务器请求所述第二媒体段。所述客户端设备可以使用所述媒体内容服务器发送到所述客户端设备的统一资源定位器(URL)模式来请求所述时间映射信息或所述第二媒体段。In another exemplary embodiment, a system comprising a client device configured to present at least one media segment and a media content server configured to transmit time mapping information to the client device over a network is provided. The client device may present a first media segment of a first representation of the selected media content file. The client device then determines a desired point in time or a desired second representation to be presented. The media content server may send the time mapping information to the client device together with the corresponding media segment, or may send the time mapping information to the client device in response to at least one request of the client device. The client device may then identify a second media segment based on the time mapping information, and may request the second media segment from the media content server. The client device may request the time mapping information or the second media segment using a Uniform Resource Locator (URL) pattern sent by the media content server to the client device.
根据本发明的实施例的将所述时间映射信息分段为时间映射片段具有多种好处。它允许更快地开始呈现媒体段,因为在开始播放之前,不需要预下载大型索引文件。此外,所述客户端设备能够访问所需的数据部分而不必下载和存储数据的大型片段。Segmentation of the time map information into time map segments according to embodiments of the present invention has various benefits. It allows for quicker start of rendering of media segments as there is no need to pre-download large index files before starting playback. Furthermore, the client device is able to access required portions of data without having to download and store large pieces of data.
附图说明Description of drawings
概述本发明的实施例之后,现在参考附图,所述附图不一定按比例绘制,这些附图是:Having outlined embodiments of the invention, reference is now made to the accompanying drawings, which are not necessarily drawn to scale, which are:
图1示出根据本发明的一个示例性实施例的一种使用传输协议促进媒体文件成流的系统;Fig. 1 shows a kind of system according to an exemplary embodiment of the present invention to promote media file into flow using transport protocol;
图2是根据本发明的一个示例性实施例的移动终端的示意性方块图;FIG. 2 is a schematic block diagram of a mobile terminal according to an exemplary embodiment of the present invention;
图3是根据本发明的一个示例性实施例的包括多个媒体轨道和内容表示的媒体内容文件的一部分;Fig. 3 is a part according to an exemplary embodiment of the present invention comprising a plurality of media track and the media content file that content represents;
图4示出根据本发明的一个示例性实施例的描述元素的表示;Figure 4 shows a representation of a description element according to an exemplary embodiment of the present invention;
图5示出均包括媒体段的第一表示和第二表示以及时间映射片段,所述时间映射片段包括将来自所述第一表示的媒体段映射到所述第二表示中的媒体段的信息;Figure 5 shows a first representation and a second representation each comprising a media segment and a time-mapping segment comprising information to map a media segment from the first representation to a media segment in the second representation ;
图6示出根据本发明的一个示例性实施例的寻址时间映射片段的元素的表示;Figure 6 shows a representation of elements of an addressing time map segment according to an exemplary embodiment of the present invention;
图7示出根据本发明的一个示例性实施例的如何定义“stif”盒;Figure 7 shows how a "stif" box is defined according to an exemplary embodiment of the present invention;
图8示出根据本发明的示例性实施例的与用于访问时间映射信息以及跨多个表示取回对应媒体段的示例性方法一致的流程图;8 illustrates a flowchart consistent with an exemplary method for accessing time map information and retrieving corresponding media segments across multiple representations, according to an exemplary embodiment of the invention;
图9示出根据本发明的示例性实施例的与用于访问时间映射信息以及取回特定表示内的对应媒体段的示例性方法一致的流程图;以及9 illustrates a flowchart consistent with an exemplary method for accessing time map information and retrieving corresponding media segments within a particular representation, according to an exemplary embodiment of the invention; and
图10示出时间映射片段的XML架构(Schema)的表示。Fig. 10 shows a representation of an XML schema (Schema) of a time map fragment.
具体实施方式detailed description
现在参考附图更全面地描述本发明的某些实施例,在所述附图中示出本发明的部分而非全部实施例。实际上,应该理解,除了在此示出和描述的实施例之外,还可通过多种不同的形式体现本发明的其他许多可能的实施例。本发明的实施例不应被视为限于在此描述的实施例;相反,提供在此列出的实施例是为了使本披露满足适应的法律要求。在所有附图中,相同的标号指示相同的元素。Certain embodiments of the present inventions will now be described more fully with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, it should be understood that there are many other possible embodiments of the invention that can be embodied in many different forms than those shown and described herein. Embodiments of the present invention should not be construed as limited to the embodiments described herein; rather, the embodiments set forth herein are provided so that this disclosure will satisfy applicable legal requirements. The same reference numerals refer to the same elements throughout the drawings.
如在此使用的,“示例性”仅表示一个实例,因此表示本发明的一个实例实施例并且不应被视为在任何方面缩小本发明实施例的范围或精神。此外,应该理解,使用超文本传输协议(HTTP)作为应用层传输协议的一个实例。本发明的实例实施例包括使用其他应用层传输协议来使媒体文件成流。As used herein, "exemplary" means merely an example, and thus an example embodiment of the invention and should not be taken in any way to narrow the scope or spirit of the embodiments of the invention. In addition, it should be understood that Hypertext Transfer Protocol (HTTP) is used as an example of an application layer transfer protocol. Example embodiments of the invention include streaming media files using other application layer transport protocols.
如在此使用的,术语“电路”指(a)仅硬件电路实现(例如,模拟电路和/或数字电路实现);(b)电路和包括存储在一个或多个计算机可读存储器上的软件和/或固件指令的计算机程序产品(多个)的组合,所述电路和计算机程序产品协同工作以使装置执行在此描述的一种或多种功能;以及(c)诸如微处理器(多个)或微处理器(多个)的一部分之类的电路,所述电路需要软件或固件才能执行操作,即使所述软件或固件物理上不存在。此“电路”定义适用于在此对该术语的所有使用,其中包括任何权利要求中对该术语的所有使用。作为进一步的实例,如在此使用的,术语“电路”还包括含有一个或多个处理器和/或处理器的一部分(多部分)以及附属软件和/或固件的实现。作为另一实例,如在此使用的,术语“电路”还例如包括用于移动电话的基带集成电路或应用处理器集成电路,或者服务器、蜂窝网络设备、其他网络设备和/或其他计算设备中的类似集成电路。As used herein, the term "circuitry" refers to (a) only hardware circuit implementations (e.g., analog and/or digital circuit implementations); (b) circuits including software stored on one or more computer-readable memories and/or a combination of computer program product(s) of firmware instructions that cooperate to cause an apparatus to perform one or more of the functions described herein; and (c) such as a microprocessor (multiple ) or part of a microprocessor(s) that requires software or firmware to perform operations even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term herein, including all uses of this term in any claims. As a further example, as used herein, the term 'circuitry' also includes an implementation comprising one or more processors and/or portion (multiple parts) of a processor and accompanying software and/or firmware. As another example, as used herein, the term "circuitry" also includes, for example, baseband integrated circuits or application processor integrated circuits used in mobile phones, or in servers, cellular network devices, other network devices, and/or other computing devices. similar integrated circuits.
媒体内容一般可通过成流或通过HTTP成流从服务器流向客户端。在成流中,内容通常直接发送到计算机或其他客户端设备,无需将媒体文件保存到客户端设备的硬盘或其他存储器中。在HTTP成流中,内容文件通常被逐步下载并保存到客户端设备的硬盘或其他存储器中,然后从此位置播放内容。因此,客户端可以在下载完成之前开始播放媒体。Media content may typically flow from the server to the client via streaming or streaming via HTTP. In streaming, content is usually sent directly to a computer or other client device without saving the media files to the client device's hard drive or other storage. In HTTP streaming, content files are typically incrementally downloaded and saved to the client device's hard drive or other storage, and the content is then played from this location. Therefore, the client can start playing the media before the download is complete.
实时成流协议(RTSP)是娱乐和通信系统中用于控制实时应用中的流媒体服务器的网络控制协议。RTSP用于建立和控制端点间的媒体会话。例如,媒体服务器的客户端可以发出类似VCR的命令(例如“播放”和“暂停”)以促进实时控制来自服务器的媒体文件的播放。许多RTSP服务器使用实时传输协议(RTP)递送媒体流。The Real Time Streaming Protocol (RTSP) is a network control protocol used in entertainment and communication systems to control streaming media servers in real-time applications. RTSP is used to establish and control media sessions between endpoints. For example, a client of a media server can issue VCR-like commands (such as "play" and "pause") to facilitate real-time control of the playback of media files from the server. Many RTSP servers deliver media streams using the Real-time Transport Protocol (RTP).
但是,在若干需要多媒体递送的应用中,HTTP成流正在取代常规基于RTSP/RTP的成流。尽管HTTP并非旨在用于递送实时媒体,但是HTTP提供的明显优势使其对于实时应用具有很大吸引力。除了其他优势之外,HTTP还非常易于设置和部署、能够穿越防火墙和其他网络节点,并且通过允许高效数据分布的非常健壮的基础结构(例如,HTTP高速缓存)广泛部署。However, HTTP streaming is replacing conventional RTSP/RTP based streaming in several applications requiring multimedia delivery. Although HTTP was not designed for delivering real-time media, the clear advantages offered by HTTP make it attractive for real-time applications. Among other advantages, HTTP is very easy to set up and deploy, capable of traversing firewalls and other network nodes, and widely deployed with a very robust infrastructure (eg, HTTP caches) that allows efficient data distribution.
HTTP通常与传输控制协议(TCP)结合使用,TCP是通常在通信节点之间提供可靠、有序的字节流递送的传输层协议。除其他管理任务外,TCP控制媒体段大小、流量控制、数据交换速率和网络业务拥塞,以通过有保证的有序递送来传送字节流,从一个节点到另一节点不会出现任何字节丢失。TCP通过使用重传防止错误,即多次重传丢失的TCP数据报(跨网络传递的数据分组),直到该报文被正确地递送或者整个连接中止。使用TCP数据报的序列号检验是否按正确顺序递送。因此,TCP工作在面向连接的模式中并依赖于对发现数据报丢失的确认。此外,TCP利用拥塞控制和流量控制算法,该算法允许发送方使其传输速率自动适应可用带宽和接收方的能力。HTTP is often used in conjunction with the Transmission Control Protocol (TCP), a transport layer protocol that typically provides reliable, ordered delivery of byte streams between communicating nodes. Among other administrative tasks, TCP controls media segment sizes, flow control, data exchange rates, and network traffic congestion to deliver streams of bytes with guaranteed ordered delivery, with no bytes passing from one node to another lost. TCP prevents errors by using retransmission, that is, retransmitting a lost TCP datagram (a data packet passed across the network) multiple times until the message is delivered correctly or the entire connection is aborted. Use the sequence numbers of TCP datagrams to verify that they were delivered in the correct order. Therefore, TCP works in a connection-oriented mode and relies on acknowledgments to detect datagram loss. In addition, TCP utilizes congestion control and flow control algorithms that allow the sender to automatically adapt its transmission rate to the available bandwidth and the capabilities of the receiver.
HTTP是最初为了递送超链接文本文档而开发的应用层协议;但是随着时间的推移,已开始使用HTTP递送其他类型的文件。HTTP使用请求/应答模型从Web服务器取回远程资源。根据此模型,客户端设备通常在端口80上建立到服务器的TCP连接,并且与服务器交换HTTP消息。HTTP消息通常包括标头部分和可选的正文部分。标头部分是一系列HTTP标头字段,每个字段以回车符/换行符结束。HTTP消息标头与HTTP消息正文以空行分隔。以人类可读文本格式提供HTTP标头字段。统一资源定位器(URL)用于识别和定位将由HTTP客户端取回的资源。URL包括协议标识符、完全限定域名、所请求资源的路径以及(可选的)查询字符串。HTTP is an application layer protocol originally developed for delivering hyperlinked text documents; however, over time HTTP has begun to be used to deliver other types of files. HTTP uses a request/response model to retrieve remote resources from a web server. According to this model, a client device typically establishes a TCP connection to a server on port 80, and exchanges HTTP messages with the server. HTTP messages usually include a header section and an optional body section. A header section is a series of HTTP header fields, each terminated by a carriage return/line feed. HTTP message headers are separated from the HTTP message body by a blank line. Provides HTTP header fields in human-readable text format. Uniform Resource Locators (URLs) are used to identify and locate resources to be retrieved by HTTP clients. A URL consists of a protocol identifier, a fully qualified domain name, the path to the requested resource, and (optionally) a query string.
当使用HTTP递送实时媒体(例如,音频/视频内容)时,通过逐步成流(例如,以逐步下载模式递送内容)取回内容。使用此方法,客户端设备通过常规文件下载取回媒体文件。客户端设备然后在短暂的启动延迟之后开始播放所接收的文件。HTTP逐步成流对于HTTP服务器可以是透明的并且由客户端设备控制。When delivering real-time media (eg, audio/video content) using HTTP, the content is retrieved by progressive streaming (eg, delivering the content in progressive download mode). Using this method, the client device retrieves media files through regular file downloads. The client device then starts playing the received file after a short startup delay. HTTP streaming may be transparent to the HTTP server and controlled by the client device.
能够逐步下载播放内容的设备在从Web服务器下载数字媒体文件时,依赖于位于文件标头中的元数据和文件的本地缓冲器来确定如何播放内容。在指定数据量变得可用于客户端设备时开始播放媒体。该指定缓冲量由内容制作者通过编码器设置嵌入文件,并且由媒体播放器设定的其他缓冲设置增强。Devices capable of progressively downloading content for playback, when downloading a digital media file from a Web server, rely on metadata located in the file header and the file's local buffer to determine how to play the content. Start playing the media when the specified amount of data becomes available to the client device. This specified amount of buffering is embedded in the file by the content creator through an encoder setting, and is augmented by other buffering settings set by the media player.
因此,为了实现逐步下载,有必要执行媒体准备步骤。一般而言,媒体文件需要转换为可使客户端尽快开始播放的格式。基于ISO的媒体文件格式(ISOFF)适合于逐步下载,它允许内容提供商将元数据信息放在文件开头。这允许接收方首先接收所有元数据,然后开始接收媒体数据。接着使用先前接收的元数据立即播放所接收的媒体数据;但是由于元数据信息量很大,这通常会导致初始播放时间很长。Therefore, in order to achieve a progressive download, it is necessary to perform a media preparation step. In general, media files need to be converted to a format that allows clients to start playing them as quickly as possible. The ISO-based media file format (ISOFF) is suitable for progressive downloads, which allow content providers to place metadata information at the beginning of the file. This allows the receiver to receive all metadata first, and then start receiving media data. The received media data is then immediately played using the previously received metadata; however, this usually results in a long initial playback time due to the large amount of metadata information.
自适应HTTP成流使得客户端能够根据用户偏好和带宽可用性改变流内容。在自适应HTTP成流中,内容编码在多个表示中,并且客户端能够在媒体段边界处在不同的表示之间切换。但这会产生一个问题,即,一个表示中的媒体段一般与另一表示中的媒体段并不时间对齐。因此,当从一个表示切换到另一表示时,客户端设备可能无法确定在何处定位新表示中的包含对应于先前表示中同一时点的媒体内容的媒体段。此外,由于缺乏媒体段的时间映射信息,在同一表示内查找特定内容部分变得异常复杂,并且客户端设备需要执行搜索来定位包含期望媒体内容的特定媒体段。Adaptive HTTP streaming enables clients to change stream content according to user preferences and bandwidth availability. In Adaptive HTTP Streaming, content is encoded in multiple representations, and clients are able to switch between different representations at media segment boundaries. But this creates a problem that media segments in one representation are generally not time-aligned with media segments in another representation. Thus, when switching from one representation to another, a client device may not be able to determine where to locate a media segment in the new representation that contains media content that corresponds to the same point in time in the previous representation. Furthermore, due to the lack of time-mapping information for media segments, finding a specific content portion within the same representation becomes extremely complicated, and the client device needs to perform a search to locate a specific media segment containing the desired media content.
根据本发明的一个示例性实施例,提供了用于声明和发信号通知表示以及用于使能跨多个表示进行时间同步和随机查找的方法和装置。具体而言,可以定义提供将一个表示的媒体段与其他表示的对应媒体段进行关联的时间映射信息的分段表。当查找或在表示之间切换时,客户端设备可以因此访问时间映射片段以识别与当前表示或新表示中的期望时点对应的适当媒体段,如下面更详细的描述。According to an exemplary embodiment of the present invention, methods and apparatus are provided for declaring and signaling representations and for enabling time synchronization and random lookups across multiple representations. In particular, a segmentation table may be defined that provides time-mapping information associating media segments of one representation with corresponding media segments of other representations. When looking up or switching between representations, the client device may thus access the time map segment to identify the appropriate media segment corresponding to the desired point in time in the current representation or in the new representation, as described in more detail below.
图1示出根据本发明的一个实例实施例的使用诸如超文本传输协议(HTTP)之类的应用层传输协议使媒体文件成流的系统100的方块图。在一个实例实施例中,系统100包括客户端设备102和媒体内容服务器104。客户端设备102和媒体内容服务器104被配置为通过网络108进行通信。网络108例如包括一个或多个有线网络、一个或多个无线网络或它们的某些组合。网络108可以包括网络运营商运营的公共陆地移动网络(PLMN)。在此方面,网络108例如包括如根据3GPP标准提供蜂窝网络接入的运营商网络。网络108可以补充地或备选地包括因特网。FIG. 1 shows a block diagram of a system 100 for streaming media files using an application layer transport protocol, such as Hypertext Transfer Protocol (HTTP), according to an example embodiment of the invention. In an example embodiment, system 100 includes client device 102 and media content server 104 . Client device 102 and media content server 104 are configured to communicate over network 108 . Network 108 includes, for example, one or more wired networks, one or more wireless networks, or some combination thereof. Network 108 may include a Public Land Mobile Network (PLMN) operated by a network operator. In this regard, network 108 includes, for example, an operator network providing cellular network access, as in accordance with 3GPP standards. Network 108 may additionally or alternatively include the Internet.
客户端设备102可以包括任何被配置为通过网络108从媒体内容服务器104访问媒体文件的设备。例如,客户端设备102可以包括服务器、桌面计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、游戏设备、数码相机/摄像机、音频/视频播放器、电视装置、无电线接收机、数字视频录像机、定位设备,它们的任意组合和/或类似装置。Client device 102 may include any device configured to access media files from media content server 104 over network 108 . For example, client devices 102 may include servers, desktop computers, laptop computers, mobile terminals, mobile computers, mobile phones, mobile communication devices, gaming devices, digital cameras/camcorders, audio/video players, television sets, cordless receivers, digital video recorders, pointing devices, any combination thereof and/or the like.
在一个实例实施例中,客户端设备102体现为如图2所示的移动终端。在此方面,图2示出根据本发明的实施例的代表客户端设备102的一个实施例的移动终端10的方块图。但是应该理解,下文描述和示出的移动终端10只是例示可以实现本发明的实施例和/或从中获益的一种类型的客户端设备102,因此不应被视为限制本发明的范围。虽然示出电子设备的若干实施例并作为实例在下文中进行描述,但是诸如移动电话、移动计算机、便携式数字助理(PDA)、寻呼机、膝上型计算机、桌面计算机、游戏设备、电视及其他类型的电子系统之类的其他类型电子设备也可以常用本发明的实施例。In an example embodiment, client device 102 is embodied as a mobile terminal as shown in FIG. 2 . In this regard, FIG. 2 shows a block diagram of a mobile terminal 10 representing one embodiment of a client device 102 according to an embodiment of the present invention. It should be understood, however, that the mobile terminal 10 described and illustrated below is merely illustrative of one type of client device 102 that may implement and/or benefit from embodiments of the present invention, and thus should not be viewed as limiting the scope of the present invention. While several embodiments of electronic devices are shown and described below as examples, devices such as mobile phones, mobile computers, portable digital assistants (PDAs), pagers, laptops, desktop computers, gaming devices, televisions, and other types of Other types of electronic equipment, such as electronic systems, may also be commonly used with embodiments of the present invention.
如图所示,移动终端10可以包括与发射机14和接收机16进行通信的天线12(或多个天线12)。所述移动终端还可以包括分别将信号提供给发射机和从接收机接收信号的处理器20。这些信号可以包括依照适用的蜂窝系统的空中接口标准和/或任意数量的不同有线或无线网络技术(包括但不限于无线保真(Wi-Fi)、诸如电气电子工程师学会(IEEE)802.11之类的无线局域网(WLAN)技术和/或其他技术)的信令信息。此外,这些信号可以包括语音数据、用户生成的数据、用户请求的数据和/或类似数据。在此方面,所述移动终端能够与一种或多种空中接口标准、通信协议、调制类型、访问类型等一起工作。更具体地说,所述移动终端能够根据各种第一代(1G)、第二代(2G)、2.5G和第三代(3G)通信协议、第四代(4G)通信协议和/或类似协议工作。例如,所述移动终端能够根据2G无线通信协议IS-136(时分多址(TDMA))、全球移动通信系统(GSM)、IS-95(码分多址(CDMA))和/或类似协议工作。此外,例如,所述移动终端能够根据2.5G无线通信协议通用分组无线服务(GPRS)、增强型数据速率GSM演进(EDGE)和/或类似协议工作。此外,例如,所述移动终端能够根据诸如通用移动电信系统(UMTS)、码分多址2000(CDMA2000)、宽带码分多址(WCDMA)、时分同步码分多址(TD-SCDMA)和/或类似协议之类的3G无线通信协议工作。所述移动终端另外能够根据诸如长期演进(LTE)或演进型通用陆地无线接入网络(EUTRAN)和/或类似协议之类的3.9G无线通信协议工作。此外,例如,所述移动终端能够根据第四代(4G)无线通信协议和/或类似协议以及将来可能开发的类似无线通信协议工作。As shown, mobile terminal 10 may include antenna 12 (or antennas 12 ) in communication with transmitter 14 and receiver 16 . The mobile terminal may also include a processor 20 for providing signals to the transmitter and receiving signals from the receiver, respectively. These signals may include air interface standards in accordance with applicable cellular systems and/or any number of different wired or wireless network technologies (including but not limited to Wireless Fidelity (Wi-Fi), wireless local area network (WLAN) technology and/or other technologies) signaling information. Additionally, these signals may include voice data, user generated data, user requested data, and/or the like. In this regard, the mobile terminal is capable of operating with one or more air interface standards, communication protocols, modulation types, access types, and the like. More specifically, the mobile terminal can be based on various first generation (1G), second generation (2G), 2.5G and third generation (3G) communication protocols, fourth generation (4G) communication protocols and/or Similar protocol works. For example, the mobile terminal is capable of operating in accordance with 2G wireless communication protocols IS-136 (Time Division Multiple Access (TDMA)), Global System for Mobile Communications (GSM), IS-95 (Code Division Multiple Access (CDMA)) and/or similar protocols . Also, for example, the mobile terminal is capable of operating in accordance with 2.5G wireless communication protocols General Packet Radio Service (GPRS), Enhanced Data Rates for GSM Evolution (EDGE), and/or similar protocols. Furthermore, for example, the mobile terminal is capable of operating in accordance with data such as Universal Mobile Telecommunications System (UMTS), Code Division Multiple Access 2000 (CDMA2000), Wideband Code Division Multiple Access (WCDMA), Time Division Synchronous Code Division Multiple Access (TD-SCDMA) and/or or similar protocols like 3G wireless communication protocol work. The mobile terminal is additionally capable of operating according to a 3.9G wireless communication protocol such as Long Term Evolution (LTE) or Evolved Universal Terrestrial Radio Access Network (EUTRAN) and/or similar protocols. Furthermore, for example, the mobile terminal is capable of operating according to fourth generation (4G) wireless communication protocols and/or similar protocols, as well as similar wireless communication protocols that may be developed in the future.
某些窄带高级移动电话系统(NAMPS)以及全接入通信系统(TACS)移动终端也可以从本发明的实施例获益,例如双模或更高模式的电话(例如,数字/模拟或TDMA/CDMA/模拟电话)。此外,移动终端10能够根据无线保真(Wi-Fi)或全球互通微波接入(WiMAX)协议工作。Certain Narrowband Advanced Mobile Phone System (NAMPS) and Total Access Communications System (TACS) mobile terminals may also benefit from embodiments of the present invention, such as dual-mode or higher mode phones (e.g., digital/analog or TDMA/ CDMA/analog phone). Furthermore, the mobile terminal 10 is capable of operating according to Wireless Fidelity (Wi-Fi) or Worldwide Interoperability for Microwave Access (WiMAX) protocols.
将理解,处理器20可以包括用于实现移动终端10的音频/视频和逻辑功能的电路。例如,处理器20可以包括数字信号处理器器件、微处理器器件和模拟-数字转换器、数字-模拟转换器和/或其他处理电路。所述移动终端的控制和信号处理功能可以根据这些器件各自的功能在这些器件之间分配。所述处理器另外可以包括内置语音编码器(VC)20a、内置数据调制解调器(DM)20b和/或类似装置。此外,所述处理器可以包括运行一个或多个软件程序的功能,所述软件程序可存储在存储器中。例如,处理器20能够运行诸如Web浏览器之类的连接性程序。所述连接性程序可以允许移动终端10根据诸如无线应用协议(WAP)、超文本传输协议(HTTP)和/或类似协议之类的协议发送和接收Web内容(例如,基于位置的内容)。移动终端10能够使用传输控制协议/网际协议(TCP/IP)跨互联网或其他网络发送和接收Web内容。It will be appreciated that the processor 20 may include circuitry for implementing audio/video and logic functions of the mobile terminal 10 . For example, processor 20 may include digital signal processor devices, microprocessor devices, and analog-to-digital converters, digital-to-analog converters, and/or other processing circuits. Control and signal processing functions of the mobile terminal may be allocated among these devices according to their respective functions. The processor may additionally include a built-in voice coder (VC) 20a, a built-in data modem (DM) 20b, and/or the like. Additionally, the processor may include functionality to execute one or more software programs, which may be stored in memory. For example, processor 20 is capable of running a connectivity program such as a web browser. The connectivity program may allow the mobile terminal 10 to send and receive web content (eg, location-based content) according to protocols such as Wireless Application Protocol (WAP), Hypertext Transfer Protocol (HTTP), and/or the like. The mobile terminal 10 is capable of sending and receiving Web content across the Internet or other networks using Transmission Control Protocol/Internet Protocol (TCP/IP).
移动终端10还可以包括用户接口,其中包括例如耳机或扬声器34、铃声装置22、麦克风26、显示器28、用户输入接口和/或类似元件,这些元件可在操作上与处理器20耦合。尽管未示出,但是所述移动终端可以包括为移动终端的各种相关电路(例如,提供机械振动作为可检测输出的电路)供电的电池。所述用户输入接口可以包括允许所述移动终端接收数据的设备,例如小键盘30、触摸屏(未示出)、游戏杆(未示出)和/或其他输入设备。在包括小键盘的实施例中,小键盘可以包括数字键(0-9)及相关键(#、*)和/或其他用于操作所述移动终端的键。The mobile terminal 10 may also include a user interface including, for example, an earphone or speaker 34 , a ringer 22 , a microphone 26 , a display 28 , a user input interface, and/or the like, which may be operatively coupled to the processor 20 . Although not shown, the mobile terminal may include a battery that powers various associated circuits of the mobile terminal (eg, circuits that provide mechanical vibration as a detectable output). The user input interface may include devices allowing the mobile terminal to receive data, such as a keypad 30, a touch screen (not shown), a joystick (not shown) and/or other input devices. In an embodiment including a keypad, the keypad may include numeric keys (0-9) and associated keys (#, *) and/or other keys for operating the mobile terminal.
如图2所示,移动终端10还可以包括一个或多个用于共享和/或获取数据的装置。例如,所述移动终端可以包括短距离射频(RF)收发机和/或询问器64,以便可以根据RF技术与电子设备共享数据和/或从电子设备获取数据。所述移动终端可以包括其他短距离收发机,例如红外线(IR)收发机66、使用BluetoothTM技术联盟开发的BluetoothTM无线技术工作的BluetoothTM(BT)收发机68、无线通用串行总线(USB)收发机70和/或类似收发机。BluetoothTM收发机68能够根据超低功耗BluetoothTM技术(例如,WibreeTM)无线标准工作。在此方面,移动终端10(具体而言,短距离收发机)能够将数据发送到该移动终端附近(例如,10米内)的电子设备和/或从其接收数据。尽管未示出,但是所述移动终端能够根据各种无线联网技术(包括无线保真(Wi-Fi)、诸如IEEE802.11技术之类的WLAN技术和/或类似技术)向电子设备发送数据和/或从电子设备接收数据。As shown in FIG. 2 , the mobile terminal 10 may also include one or more devices for sharing and/or acquiring data. For example, the mobile terminal may include a short-range radio frequency (RF) transceiver and/or interrogator 64 so that data may be shared with and/or retrieved from electronic devices in accordance with RF techniques. The mobile terminal may include other short-range transceivers such as an infrared (IR) transceiver 66, a Bluetooth™ (BT) transceiver 68 operating using Bluetooth™ wireless technology developed by the Bluetooth™ Technology Alliance, a wireless Universal Serial Bus (USB ) transceiver 70 and/or similar transceivers. The Bluetooth™ transceiver 68 is capable of operating in accordance with the Ultra Low Energy Bluetooth™ technology (eg, Wibree™ ) wireless standard. In this regard, the mobile terminal 10 (specifically, a short-range transceiver) is capable of transmitting data to and/or receiving data from electronic devices in the vicinity (eg, within 10 meters) of the mobile terminal. Although not shown, the mobile terminal is capable of sending data and information to electronic devices according to various wireless networking technologies, including Wireless Fidelity (Wi-Fi), WLAN technology such as IEEE802.11 technology, and/or similar technologies. and/or receive data from an electronic device.
移动终端10可以包括存储器,例如用户身份模块(SIM)38、可移除用户身份模块(R-URIM)和/或类似存储器,这些存储器可以存储移动用户的相关信息元素。除了SIM之外,所述移动终端还可以包括其他可移除和/或固定存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如,易失性存储器40可以包括分为动态和/或静态RAM的随机存取存储器(RAM)、片上或片外高速缓冲存储器和/或类似存储器。可以是嵌入式和/或可移除的非易失性存储器42例如可以包括只读存储器、闪存、磁存储设备(例如,硬盘、软盘驱动器、磁带等)、光盘驱动器和/或介质、非易失性随机存取存储器(NVRAM)和/或类似存储器。与易失性存储器40类似,非易失性存储器42可以包括用于临时存储数据的缓存区域。所述存储器可以存储所述移动终端用于执行所述移动终端的功能的一个或多个软件程序、指令、信息片段、数据等。例如,所述存储器可以包括诸如国际移动设备标识(IMEI)码之类的能够唯一地识别移动终端10的标识符。The mobile terminal 10 may include memory, such as a Subscriber Identity Module (SIM) 38, a Removable Subscriber Identity Module (R-URIM), and/or the like, which may store information elements related to a mobile user. Besides the SIM, the mobile terminal may also comprise other removable and/or fixed memory. Mobile terminal 10 may include volatile memory 40 and/or non-volatile memory 42 . For example, volatile memory 40 may include random access memory (RAM) classified as dynamic and/or static RAM, on-chip or off-chip cache memory, and/or the like. Non-volatile memory 42, which may be embedded and/or removable, may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy drives, magnetic tape, etc.), optical drives and/or media, non-volatile volatile random access memory (NVRAM) and/or similar memory. Similar to volatile memory 40, non-volatile memory 42 may include a cache area for temporarily storing data. The memory may store one or more software programs, instructions, pieces of information, data, etc., used by the mobile terminal to perform functions of the mobile terminal. For example, the memory may include an identifier that uniquely identifies the mobile terminal 10, such as an International Mobile Equipment Identity (IMEI) code.
再次参考图1,在一个实例实施例中,客户端设备102包括用于执行在此描述的各种功能的各种装置,例如,处理器110、存储器112、通信接口114、用户接口116和媒体播放单元118。在此描述的客户端设备102的各种装置例如包括硬件元素(例如,适当编程的处理器、组合逻辑电路和/或类似元素)、包括存储在计算机可读介质(例如,存储器112)上的计算机可读程序指令(例如,软件和/或固件)的计算机程序产品。所述程序指令由诸如处理器110之类的处理设备执行。Referring again to FIG. 1 , in an example embodiment, client device 102 includes various means for performing the various functions described herein, such as processor 110, memory 112, communication interface 114, user interface 116, and media playback unit 118 . The various means of the client device 102 described herein include, for example, hardware elements (e.g., suitably programmed processors, combinational logic circuits, and/or the like), information stored on computer-readable media (e.g., memory 112), A computer program product of computer-readable program instructions (eg, software and/or firmware). The program instructions are executed by a processing device such as processor 110 .
处理器110例如可以体现为各种装置,其中包括一个或多个带有附属数字信号处理器(多个)的微处理器、一个或多个不带数字信号处理器的处理器、一个或多个协处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路(例如,专用集成电路(ASIC)或现场可编程门阵列(FPGA))的其他各种处理元件,或它们的某种组合。因此,尽管在图1中示为单个处理器,但是在某些实施例中,处理器110可以包括多个处理器。所述多个处理器可以在操作上相互通信并且可以被共同配置为执行在此描述的媒体客户端设备102的一种或多种功能。在客户端设备102体现为移动终端10的实施例中,处理器110可以体现为处理器20或者包括处理器20。在一个实例实施例中,处理器110被配置为执行存储器112中存储的指令或者可以由处理器110访问所述指令。所述指令当被处理器110执行时,使客户端设备102执行在此描述的客户端设备102的一种或多种功能。因此,无论单独通过硬件操作或软件操作配置,还是通过软件和硬件组合配置,处理器110在经过相应配置之后,均可表示能够执行根据本发明的各实施例的操作的实体。例如,当处理器110体现为ASIC、FPGA或类似元素时,处理器110可以包括用于执行在此描述的一个或多个操作的专门配置的硬件。备选地,作为另一实例,当处理器110体现为指令执行器时,所述指令可以专门配置处理器110以执行在此描述的一个或多个操作。Processor 110 may, for example, be embodied in various devices including one or more microprocessors with attached digital signal processor(s), one or more processors without digital signal processor(s), one or more a coprocessor, one or more controllers, processing circuits, one or more computers, other various processing elements including integrated circuits such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs), or some combination of them. Thus, although shown as a single processor in FIG. 1 , in some embodiments processor 110 may include multiple processors. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functions of the media client device 102 described herein. In embodiments where client device 102 is embodied as mobile terminal 10 , processor 110 may be embodied as or include processor 20 . In an example embodiment, processor 110 is configured to execute instructions stored in memory 112 or may be accessed by processor 110 . The instructions, when executed by processor 110, cause client device 102 to perform one or more functions of client device 102 as described herein. Therefore, no matter whether it is configured solely through hardware operations or software operations, or configured through a combination of software and hardware, the processor 110 may represent an entity capable of performing operations according to various embodiments of the present invention after being configured accordingly. For example, when processor 110 is embodied as an ASIC, FPGA, or similar element, processor 110 may include specially configured hardware for performing one or more operations described herein. Alternatively, as another example, when the processor 110 is embodied as an executor of instructions, the instructions may specifically configure the processor 110 to perform one or more operations described herein.
存储器112可以例如包括易失性存储器和/或非易失性存储器。尽管在图1中示为单个存储器,但是存储器112可以包括多个存储器。存储器112可以包括易失性存储器、非易失性存储器或它们的某种组合。在此方面,存储器112例如可以包括硬盘、随机存取存储器、高速缓冲存储器、闪存、光盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路或它们的某种组合。存储器112可以被配置为存储信息、数据、应用、指令或类似元素以使客户端设备102能够执行根据本发明的实施例的各种功能。例如,在至少某些实施例中,存储器112被配置为缓冲输入数据以供处理器110处理。附加地或备选地,在至少某些实施例中,存储器112被配置为存储处理器110执行的程序指令。存储器112可以存储采取静态信息和/或动态信息形式的信息。此存储信息可以被媒体播放单元118在执行其功能时存储和/或使用。Memory 112 may, for example, include volatile memory and/or non-volatile memory. Although shown as a single memory in FIG. 1, memory 112 may include multiple memories. Memory 112 may include volatile memory, non-volatile memory, or some combination thereof. In this regard, memory 112 may include, for example, a hard disk, random access memory, cache memory, flash memory, compact disk read only memory (CD-ROM), digital versatile disk read only memory (DVD-ROM), optical disk, configured as A circuit, or some combination thereof, that stores information. The memory 112 may be configured to store information, data, applications, instructions or similar elements to enable the client device 102 to perform various functions according to embodiments of the present invention. For example, in at least some embodiments, memory 112 is configured to buffer input data for processing by processor 110 . Additionally or alternatively, in at least some embodiments, memory 112 is configured to store program instructions for execution by processor 110 . Memory 112 may store information in the form of static information and/or dynamic information. This stored information may be stored and/or used by the media playback unit 118 in performing its functions.
通信接口114可以体现为任何设备或装置,所述设备或装置体现为硬件、包括存储在计算机可读介质(例如,存储器112)上并由处理设备(例如,处理器110)执行的计算机可读程序指令的计算机程序产品,或它们的组合,所述组合被配置为通过网络108从远程设备接收数据和/或将数据发送到远程设备。在至少一个实施例中,通信接口114至少部分地体现为处理器110或者由处理器110控制。在此方面,通信接口114例如可以通过总线与处理器110进行通信。通信接口114例如可以包括天线、发射机、接收机、收发机和/或实现与系统100中的其他实体的通信的支持硬件或软件。通信接口114可以被配置为使用任何可用于系统100中的计算设备之间的通信的协议来接收和/或发送数据。通信接口114例如还可以通过总线与存储器112、用户接口116和/或媒体播放单元118进行通信。Communication interface 114 may be embodied as any device or means embodied as hardware, including a computer-readable interface stored on a computer-readable medium (eg, memory 112 ) and executed by a processing device (eg, processor 110 ). A computer program product of program instructions, or a combination thereof, configured to receive data from and/or transmit data to a remote device over the network 108 . In at least one embodiment, the communication interface 114 is at least partially embodied as or controlled by the processor 110 . In this regard, communication interface 114 may communicate with processor 110 via a bus, for example. Communication interface 114 may include, for example, antennas, transmitters, receivers, transceivers, and/or supporting hardware or software to enable communication with other entities in system 100 . Communication interface 114 may be configured to receive and/or send data using any protocol available for communication between computing devices in system 100 . The communication interface 114 can also communicate with the memory 112 , the user interface 116 and/or the media playing unit 118 via a bus, for example.
用户接口116可以与处理器110进行通信以接收用户输入指示和/或向用户提供音频、视频、机械或其他输出。因此,用户接口116例如可以包括键盘、鼠标、游戏杆、显示器、触摸屏显示器、麦克风、扬声器和/或其他输入/输出机制。用户接口116可以提供一个接口,其允许用户选择从媒体内容服务器104流向客户端设备102以便在客户端设备102上播放的媒体文件和/或媒体文件表示。在此方面,来自媒体文件的视频可在用户接口116的显示器上显示,并且来自媒体文件的音频可通过用户接口116的扬声器播放。用户接口116例如可以通过总线与存储器112、通信接口114和/或媒体播放单元118进行通信。User interface 116 may be in communication with processor 110 to receive user input indications and/or provide audio, visual, mechanical, or other output to the user. Thus, user interface 116 may include, for example, a keyboard, mouse, joystick, display, touch screen display, microphone, speakers, and/or other input/output mechanisms. User interface 116 may provide an interface that allows a user to select media files and/or media file representations that are streamed from media content server 104 to client device 102 for playback on client device 102 . In this regard, video from the media files may be displayed on the display of the user interface 116 and audio from the media files may be played through the speakers of the user interface 116 . The user interface 116 may communicate with the memory 112 , the communication interface 114 and/or the media player unit 118 via a bus, for example.
媒体播放单元118可以体现为各种装置,例如硬件、包括存储在计算机可读介质(例如,存储器112)上并由处理设备(例如,处理器110)执行的计算机可读程序指令的计算机程序产品,或它们的某种组合,在一个实施例中,媒体播放单元118体现为处理器110或者由处理器110控制。在媒体播放单元118与处理器110分离的实施例中,媒体播放单元118可以与处理器110进行通信。媒体播放单元118还可以通过总线与存储器112、通信接口114和/或用户接口116进行通信。The media playback unit 118 may be embodied in various means, such as hardware, a computer program product including computer-readable program instructions stored on a computer-readable medium (eg, memory 112 ) and executed by a processing device (eg, processor 110 ). , or some combination thereof, in one embodiment, the media playing unit 118 is embodied as the processor 110 or is controlled by the processor 110 . In embodiments where the media player unit 118 is separate from the processor 110 , the media player unit 118 may be in communication with the processor 110 . The media playing unit 118 can also communicate with the memory 112 , the communication interface 114 and/or the user interface 116 through a bus.
媒体内容服务器104可以包括一个或多个被配置为将媒体文件提供给客户端设备102的计算设备。在某些实施例中,所述媒体内容服务器可以包括流服务器、内容提供商服务器、因特网服务器或任何其他网络服务器或服务器组合。在一个示例性实施例中,媒体内容服务器104包括用于执行在此描述的各种功能的各种装置,例如处理器120、存储器122、通信接口124、用户接口126和媒体成流单元128。在此描述的媒体内容服务器104的这些装置例如可以实现为硬件元素(例如,适当编程的处理器、组合逻辑电路和/或类似元素)、包括存储在计算机可读介质(例如,存储器122)上的可由适当配置的处理器设备(例如,处理器120)执行的计算机可读程序指令(例如,软件和/或固件)的计算机程序产品,或它们的某种组合。Media content server 104 may include one or more computing devices configured to provide media files to client device 102 . In some embodiments, the media content server may include a streaming server, a content provider server, an Internet server, or any other network server or combination of servers. In an exemplary embodiment, media content server 104 includes various means for performing the various functions described herein, such as processor 120 , memory 122 , communication interface 124 , user interface 126 , and media streaming unit 128 . The means of media content server 104 described herein may be implemented, for example, as hardware elements (e.g., suitably programmed processors, combinational logic circuits, and/or the like), including storage on computer-readable media (e.g., memory 122). A computer program product of computer-readable program instructions (eg, software and/or firmware) executable by a suitably configured processor device (eg, processor 120 ), or some combination thereof.
处理器120例如可以体现为各种装置,其中包括一个或多个带有附属数字信号处理器(多个)的微处理器、一个或多个不带数字信号处理器的处理器、一个或多个协处理器、一个或多个控制器、处理电路、一个或多个计算机、包括集成电路(例如,ASIC(专用集成电路)或FPGA(现场可编程门阵列))的其他各种处理元件,或它们的某种组合。因此,尽管在图1中示为单个处理器,但是在某些实施例中,处理器120还可以包括多个处理器。所述多个处理器可以体现在单个计算设备上或跨多个计算设备分布。所述多个处理器可以在操作上相互通信并且可以被共同配置为执行在此描述的媒体内容服务器104的一种或多种功能。在一个示例性实施例中,处理器120被配置为执行存储器122中存储的指令或者可以由处理器120访问所述指令。这些指令当被处理器120执行时,可使网络实体103执行在此描述的媒体内容服务器104的一种或多种功能。因此,无论单独通过硬件方法或软件方法配置,还是通过软件和硬件组合配置,处理器120在经过相应配置之后,均可表示能够执行根据本发明的各实施例的操作的实体。因此,例如,当处理器120体现为ASIC、FPGA或类似元素时,处理器120可以包括用于执行在此描述的一个或多个操作的专门配置硬件。备选地,作为另一实例,当处理器120体现为指令执行器时,所述指令可以专门配置处理器120以执行在此描述的一个或多个算法和操作。Processor 120 may, for example, be embodied in various devices including one or more microprocessors with attached digital signal processor(s), one or more processors without digital signal processor(s), one or more a coprocessor, one or more controllers, processing circuits, one or more computers, other various processing elements including integrated circuits such as ASICs (application specific integrated circuits) or FPGAs (field programmable gate arrays), or some combination of them. Thus, although shown as a single processor in FIG. 1, in some embodiments processor 120 may also include multiple processors. The multiple processors may be embodied on a single computing device or distributed across multiple computing devices. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functions of the media content server 104 described herein. In an exemplary embodiment, processor 120 is configured to execute instructions stored in memory 122 or may be accessed by processor 120 . These instructions, when executed by processor 120, may cause network entity 103 to perform one or more functions of media content server 104 as described herein. Therefore, regardless of whether it is configured solely by hardware or software, or by a combination of software and hardware, the processor 120 may represent an entity capable of performing operations according to various embodiments of the present invention after corresponding configuration. Thus, for example, when processor 120 is embodied as an ASIC, FPGA, or similar element, processor 120 may include specially configured hardware for performing one or more operations described herein. Alternatively, as another example, when the processor 120 is embodied as an executor of instructions, the instructions may specifically configure the processor 120 to perform one or more of the algorithms and operations described herein.
存储器122可以例如包括易失性存储器和/或非易失性存储器。尽管在图1中示为单个存储器,但是存储器122可以包括多个存储器,所述存储器可以体现在单个计算设备上或跨多个计算设备分布。存储器122可以包括易失性存储器、非易失性存储器或它们的某种组合。在此方面,存储器122例如可以包括硬盘、随机存取存储器、高速缓冲存储器、闪存、光盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路或它们的某种组合。存储器122可以被配置为存储信息、数据、应用、指令或类似元素以使媒体内容服务器104能够执行根据本发明的各实施例的各种功能。例如,在至少某些实施例中,存储器122被配置为缓冲输入数据以供处理器120执行。附加地或备选地,在至少某些实施例中,存储器122被配置为存储处理器120执行的程序指令。存储器122可以存储采取静态信息和/或动态信息形式的信息。此存储信息可以被媒体成流单元128在执行其功能期间存储和/或使用。Memory 122 may, for example, include volatile memory and/or non-volatile memory. Although shown in FIG. 1 as a single memory, memory 122 may include multiple memories, which may be embodied on a single computing device or distributed across multiple computing devices. Memory 122 may include volatile memory, non-volatile memory, or some combination thereof. In this regard, memory 122 may include, for example, a hard disk, random access memory, cache memory, flash memory, compact disk read-only memory (CD-ROM), digital versatile disk read-only memory (DVD-ROM), an optical disk, configured as A circuit, or some combination thereof, that stores information. Memory 122 may be configured to store information, data, applications, instructions or similar elements to enable media content server 104 to perform various functions according to various embodiments of the present invention. For example, in at least some embodiments, memory 122 is configured to buffer input data for execution by processor 120 . Additionally or alternatively, in at least some embodiments, memory 122 is configured to store program instructions for execution by processor 120 . Memory 122 may store information in the form of static information and/or dynamic information. This stored information may be stored and/or used by media streaming unit 128 during the performance of its functions.
通信接口124可以体现为任何设备或装置,所述设备或装置体现为硬件、包括存储在计算机可读介质(例如,存储器122)上并由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品,或它们的组合,所述设备或装置被配置为通过网络108从远程设备接收数据和/或将数据发送到远程设备。在至少一个实施例中,通信接口124至少部分地体现为处理器120或者由处理器120控制。在此方面,通信接口124例如可以通过总线与处理器120进行通信。通信接口124例如可以包括天线、发射机、接收机、收发机和/或实现与系统100中的其他实体的通信的支持硬件或软件。通信接口124可以被配置为使用任何可用于系统100的计算设备之间的通信的协议来接收和/或发送数据。通信接口124例如还可以通过总线与存储器122、用户接口126和/或媒体成流单元128进行通信。Communication interface 124 may be embodied as any device or means embodied as hardware, including a computer-readable A computer program product of program instructions, or a combination thereof, said device or apparatus is configured to receive data from and/or transmit data to a remote device over the network 108 . In at least one embodiment, the communication interface 124 is at least partially embodied as or controlled by the processor 120 . In this regard, communication interface 124 may communicate with processor 120 via a bus, for example. Communication interface 124 may include, for example, antennas, transmitters, receivers, transceivers, and/or supporting hardware or software to enable communication with other entities in system 100 . Communication interface 124 may be configured to receive and/or send data using any protocol available for communication between computing devices of system 100 . Communication interface 124 may also communicate with memory 122, user interface 126, and/or media streaming unit 128, eg, via a bus.
用户接口126可以与处理器120进行通信以接收用户输入的指示和/或向用户提供音频、视频、机械或其他输出。因此,用户接口126例如可以包括键盘、鼠标、游戏杆、显示器、触摸屏显示器、麦克风、扬声器和/或其他输入/输出机制。在媒体内容服务器104体现为一个或多个服务器的实施例中,可以限制或甚至去除用户接口126。用户接口126例如可以通过总线与存储器122、通信接口124和/或媒体成流单元128进行通信。User interface 126 may be in communication with processor 120 to receive indications of user input and/or provide audio, visual, mechanical, or other output to the user. Thus, user interface 126 may include, for example, a keyboard, mouse, joystick, display, touch screen display, microphone, speakers, and/or other input/output mechanisms. In embodiments where media content server 104 is embodied as one or more servers, user interface 126 may be limited or even eliminated. User interface 126 may communicate with memory 122, communication interface 124, and/or media streaming unit 128, for example, via a bus.
媒体成流单元128可以体现为各种装置,例如硬件、包括存储在计算机可读介质(例如,存储器122)上并由处理设备(例如,处理器120)执行的计算机可读程序指令的计算机程序产品,或它们的某种组合,在一个实施例中,媒体成流单元128体现为处理器120或者由处理器120控制。在媒体成流单元128与处理器120分离的实施例中,媒体成流单元128可以与处理器120进行通信。媒体成流单元128还可以通过总线与存储器122、通信接口124和/或用户接口126进行通信。Media streaming unit 128 may be embodied in various means, such as hardware, a computer program including computer-readable program instructions stored on a computer-readable medium (e.g., memory 122) and executed by a processing device (e.g., processor 120). Products, or some combination thereof, in one embodiment, the media streaming unit 128 is embodied as the processor 120 or is controlled by the processor 120 . In embodiments where the media streaming unit 128 is separate from the processor 120 , the media streaming unit 128 may be in communication with the processor 120 . The media streaming unit 128 may also communicate with the memory 122 , the communication interface 124 and/or the user interface 126 via a bus.
在一个实例实施例中,媒体播放单元118被配置为将对媒体文件的传输协议请求发送到媒体内容服务器104。在一个实例实施例中,所请求的媒体文件包括含有与媒体文件中的媒体数据关联的元数据的媒体文件。在另一实例实施例中,所请求的媒体文件包括符合ISOFF的媒体文件。ISOFF的实例包括3GP媒体文件和运动图像专家组4(MPEG-4)Part14(MP4)文件。例如,可以响应于经由用户接口116接收的用户输入或请求而发送所述请求。In an example embodiment, the media playback unit 118 is configured to send a transfer protocol request for a media file to the media content server 104 . In one example embodiment, the requested media file includes a media file containing metadata associated with media data in the media file. In another example embodiment, the requested media files include ISOFF compliant media files. Examples of ISOFF include 3GP media files and Moving Picture Experts Group 4 (MPEG-4) Part 14 (MP4) files. For example, the request may be sent in response to a user input or request received via the user interface 116 .
在某些实施例中,与特定媒体文件关联的元数据例如可以根据下表中列出的ISOFF来构造:In some embodiments, metadata associated with a particular media file may be structured according to the ISOFFs listed in the table below, for example:
表1Table 1
在此方面,媒体数据可以包括多个元数据级别的层次结构。每个级别可以包括一个或多个子级,所述子级包括与父级相关的更多具体元数据。例如,表1中的第一级“L0”包括元数据种类ftyp、moov、moof、mfra和mdat。ftyp和madt可以不包括任何子级。moov的第二级“L1”例如可以包括mvhd和trak。trak的第三级“L2”例如包括tkhd、tref和mdia。mdia的第四级“L3”例如可以包括mdhd、hdlr和minf。minf的第五级“L4”可以包括vmhd、smhd和stbl。stbl的第六级“L5”例如可以包括stsd、stts、ctts、stsc、stsz、stco和stss。因此,上表表示元数据块的嵌套式层次结构,其中元数据块的子级通过包括相应父级元数据块的行下面的各行以及包括相应父级元数据块的列右侧的各列示出。因此,moov块的所有子级元数据块在表的包括moov块的行和包括“moof”块(例如,另一父级元数据块,它与moov块位于同一级别上)的行之间的各行中示出。类似地,stbl块的所有子级元数据块在表的包括stbl块的行和包括moof块(它是与stbl块级别相同或级别高于stbl块的第一个块)的行之间的各行中示出。In this regard, media data may include a hierarchy of metadata levels. Each level may include one or more child levels that include more specific metadata related to the parent level. For example, the first level "L0" in Table 1 includes metadata types ftyp, moov, moof, mfra, and mdat. ftyp and madt may not include any children. The second level "L1" of moov may include mvhd and trak, for example. The third level "L2" of trak includes, for example, tkhd, tref and mdia. The fourth level "L3" of mdia may include mdhd, hdlr and minf, for example. The fifth level "L4" of minf may include vmhd, smhd and stbl. The sixth level "L5" of stbl may include, for example, stsd, stts, ctts, stsc, stsz, stco, and stss. Thus, the above table represents a nested hierarchy of metadata blocks, where the children of a metadata block pass through the rows below the row that includes the corresponding parent metadata block and the columns to the right of the column that includes the corresponding parent metadata block show. Thus, all child metadata blocks of the moov block are between the row of the table that includes the moov block and the row that includes the "moof" block (for example, another parent metadata block that is on the same level as the moov block) shown in each row. Similarly, all child metadata blocks of the stbl block are in each row of the table between the row that includes the stbl block and the row that includes the moof block (which is the first block at the same level as the stbl block or at a level higher than the stbl block) shown in .
HTTP成流表示包括一个或多个表示。使用表示允许客户端设备及其用户根据用户偏好和当前连接特性选择适当的内容子集。表示是呈现内容的媒体轨道子集。表示不应包含可相互替代的轨道,因为这会导致不必要的冗余。An HTTP streaming representation consists of one or more representations. Consumption representations allow the client device and its user to select an appropriate subset of content based on user preferences and current connection characteristics. A presentation is a subset of a media track that renders content. Indicates that tracks that are interchangeable should not be included, as this would lead to unnecessary redundancy.
可以作为一组媒体段独立访问表示。每个媒体段可通过唯一的统一资源定位器(URL)来寻址。媒体段可以包含一个或多个电影片段,其中电影片段是“moof”和“mdat”盒(box)对,如上面的表1所示。A representation can be accessed independently as a set of media segments. Each media segment is addressable by a unique Uniform Resource Locator (URL). A media segment can contain one or more movie fragments, where a movie fragment is a "moof" and "mdat" box pair, as shown in Table 1 above.
可以使用递增索引或时间索引为表示的媒体段编制索引。在前一种情况下,为每个媒体段分配一个从1开始的整数索引,1表示第一媒体段,并且对于每个相继媒体段,索引递增1。在时间索引的情况下,可以使用时间索引来为每个媒体段编制索引,所述时间索引指示与媒体段开头中的媒体样本的呈现时间对应的时点。A represented media segment can be indexed using an incremental index or a time index. In the former case, each media segment is assigned an integer index starting from 1, with 1 indicating the first media segment, and the index is incremented by 1 for each successive media segment. In the case of a time index, each media segment may be indexed using a time index indicating the point in time corresponding to the presentation time of the media sample in the beginning of the media segment.
对于特定表示的每个媒体段,可给出可以包括呈现时间边界的信息集合。呈现时间边界例如可以允许客户端设备定位媒体段内的特定播放时间。还可给出媒体段内电影片段的偏移以允许更准确地访问期望电影片段(例如,使用字节范围)。For each media segment of a particular representation, a set of information may be given which may include presentation time boundaries. Presenting time boundaries may, for example, allow a client device to locate a specific playback time within a media segment. The offset of the movie fragment within the media segment may also be given to allow more accurate access to the desired movie fragment (eg, using byte ranges).
在某些实施例中,特定表示的媒体段可具有近似恒定的持续时间,由媒体内容服务器在多媒体呈现描述(下文说明)中将媒体段的平均持续时间通知客户端设备。这种配置有利于在不同表示之间切换以及在一个表示内执行查找,因为客户端设备能够定位包含具有所请求呈现时间的媒体样本的媒体段。一旦位于适当的媒体段内,客户端设备随即能够通过检查表1所示的“mfra”盒来定位准确的媒体样本。In some embodiments, the media segments of a particular representation may have an approximately constant duration, the average duration of the media segments being communicated to the client device by the media content server in a multimedia presentation description (described below). This configuration facilitates switching between different representations and performing lookups within one representation, because the client device is able to locate the media segment containing the media sample with the requested presentation time. Once within the appropriate media segment, the client device can then locate the exact media sample by examining the "mfra" box shown in Table 1.
在其他实施例中,内容准备并不维持近似恒定的媒体段持续时间。因此,当媒体段持续时间不恒定或相对较长时,时间映射信息可使能在表示之间进行查找和切换。In other embodiments, content preparation does not maintain an approximately constant media segment duration. Thus, time map information may enable seeking and switching between representations when the media segment duration is not constant or is relatively long.
记住表1中示出的元数据实例并参考图3,媒体内容表示200可以被定义为来自特定内容文件205的媒体轨道子集。换言之,表示可以被视为客户端可独立使用的最小内容部分,例如,不包含任何可相互替代的轨道的部分。作为一个实例,内容文件205可以包含7个媒体轨道210,其中包括5个视频轨道215和2个音频轨道220。视频轨道215可以是相同视频内容(例如,同一电影)的备选编码。音频轨道220同样可以包括相同内容,例如同一电影的不同语言。表示200然后可以包括一个视频轨道215a和一个音频轨道220b。表示200的其他实例可以包括单个音频轨道、单个视频轨道、单个字幕轨道或音频轨道、视频轨道和/或字幕轨道的组合。备选轨道可以包括不同分辨率的视频(例如,高清或标准)、不同的比特率(定义呈现质量),不同语言的音频、不同语言的字幕等。Keeping in mind the metadata example shown in Table 1 and referring to FIG. 3 , a media content representation 200 may be defined as a subset of media tracks from a particular content file 205 . In other words, a representation can be viewed as the smallest piece of content that a client can consume independently, eg, a section that does not contain any mutually replaceable tracks. As an example, content file 205 may contain 7 media tracks 210 including 5 video tracks 215 and 2 audio tracks 220 . Video track 215 may be an alternate encoding of the same video content (eg, the same movie). Audio track 220 may also include the same content, eg different languages of the same movie. Representation 200 may then include a video track 215a and an audio track 220b. Other examples of representation 200 may include a single audio track, a single video track, a single subtitle track, or a combination of audio, video, and/or subtitle tracks. Alternative tracks can include video in different resolutions (for example, HD or Standard), different bitrates (to define the rendering quality), audio in different languages, subtitles in different languages, etc.
如上所述,旨在经由自适应HTTP成流分发的内容通常存在于多个表示中。所述表示允许客户端设备改变内容。例如,对于电影内容,客户端设备能够选择以高清英文音轨方式呈现电影,也可以选择以标清法文音轨方式呈现同一电影。客户端设备通常在播放之初选择适当的表示,但可以在递送和播放期间从一种表示切换到另一表示。此外,客户端设备可以在同一表示内查找特定时点。As noted above, content intended for streaming via adaptive HTTP typically exists in multiple representations. The presentation allows the client device to change the content. For example, for movie content, a client device can choose to present the movie with a high-definition English soundtrack, or it can choose to present the same movie with a standard-definition French soundtrack. Client devices typically select the appropriate representation at the beginning of playback, but can switch from one representation to another during delivery and playback. Additionally, a client device can seek to a specific point in time within the same representation.
表示可以包括指示哪些媒体轨道构成该表示的表示描述。例如,可以为每个媒体轨道210分配在表示描述中使用的媒体轨道ID。媒体轨道ID还可以定义用于构建URL的参数或用于访问特定表示200的媒体段的其他地址。此外,表示描述可以包括表示200的特性指示,例如产生的带宽和/或音频语言和/或字幕语言。图4示出以可扩展标记语言(XML)格式提供的表示描述元素250的一个实例。此外,每个表示200可以通过唯一的表示标识符值来识别。表示标识符可以在URL中使用以允许客户端设备请求特定表示的媒体段,如下面所述。A representation may include a representation description indicating which media tracks make up the representation. For example, each media track 210 may be assigned a media track ID used in the presentation description. The media track ID may also define parameters for constructing URLs or other addresses for accessing media segments of a particular representation 200 . Additionally, the representation description may include an indication of characteristics of the representation 200, such as the bandwidth and/or audio language and/or subtitle language that were produced. FIG. 4 shows an example of a presentation description element 250 provided in Extensible Markup Language (XML) format. Additionally, each representation 200 can be identified by a unique representation identifier value. Representation identifiers may be used in URLs to allow client devices to request media segments of a particular representation, as described below.
因此,表示描述可以允许客户端设备102根据用户偏好选择适当的表示。当没有表示描述时,客户端将选择不包含任何备选轨道(指相互替代且不应一起使用的轨道)的轨道子集。例如,如上所述,可为客户端设备提供多个作为替代轨道的音频轨道以便客户端设备仅选择其中一个轨道播放。当媒体内容服务器不推荐或不提供表示时,媒体内容服务器可以允许客户端设备通过选择表示的媒体轨道来创建适当的表示。Thus, representation descriptions may allow client device 102 to select an appropriate representation based on user preferences. When no description is indicated, the client will choose a subset of tracks that does not contain any alternative tracks (tracks that replace each other and should not be used together). For example, as described above, the client device may be provided with multiple audio tracks as alternative tracks so that the client device only selects one of the tracks to play. When the media content server does not recommend or provide a representation, the media content server may allow the client device to create an appropriate representation by selecting a media track for the representation.
转到图5,每个表示200可以被分为由客户端设备102从媒体内容服务器104逐步下载并呈现给用户的媒体段261。通过这种方式,客户端设备不必等待给定表示的所有媒体段261下载完毕便可开始播放,否则会增加用户体验媒体内容的等待时间。例如,将第一表示(图5中的表示1)呈现给用户的客户端设备可以在继续下载媒体段2(1)、3(1)等的同时开始播放媒体段1(1)。Turning to FIG. 5, each representation 200 may be divided into media segments 261 that are progressively downloaded by client device 102 from media content server 104 and presented to the user. In this way, the client device does not have to wait for all media segments 261 of a given representation to be downloaded before it can start playing, which would increase the waiting time for the user to experience the media content. For example, a client device presenting a first representation (representation 1 in FIG. 5 ) to a user may begin playing media segment 1(1) while continuing to download media segments 2(1), 3(1), and so on.
如上所述以及如图5中示意性所示,特定表示200内的不同媒体段261的持续时间可能不同(即,一个媒体段的持续时间长于另一媒体段的持续时间),并且媒体段在不同表示之间也可能未时间对齐。因此,当前位于表示1的时点6秒处的用户例如可能位于媒体段2(1)中,而表示R中的相同时点可能对应于段1(R)。在这种情况下,如果客户端设备要根据向前索引的媒体段从表示1切换到表示R,则客户端设备可能呈现位于时间线上不同时点处的内容,这是因为将访问错误的(即,不对应的)媒体段。这会导致用户错过内容或看到重复的内容,具体取决于当前表示的当前媒体段的持续时间与期望表示的媒体段的持续时间。As mentioned above and shown schematically in FIG. 5 , different media segments 261 within a particular representation 200 may have different durations (i.e., one media segment has a longer duration than another media segment), and media segments are It is also possible that the different representations are not time aligned. Thus, a user currently located 6 seconds from the time point in representation 1 may, for example, be located in media segment 2(1), while the same time point in representation R may correspond to segment 1(R). In this case, if the client device were to switch from representation 1 to representation R based on forward indexed media segments, the client device might present content that is at a different point in time on the timeline because the wrong (i.e., non-corresponding) media segments. This can cause the user to miss content or see duplicate content, depending on the duration of the current media segment currently represented versus the expected duration of the media segment being represented.
因此,除了表示描述(例如,媒体轨道ID、产生的带宽以及表示的其他特性)之外,在某些实施例中,还可以针对每个媒体段261提供时间映射信息。所述时间映射信息可以根据时间线上的时点将一个表示的媒体段与其他表示的对应媒体段进行关联。换言之,所述时间映射信息例如描述表示R的哪个媒体段对应于特定时点处的给定媒体段。换言之,所述时间映射信息提供显示每个表示的时间与媒体段索引之间的关系的映射。Thus, in some embodiments, time mapping information may be provided for each media segment 261 in addition to the representation description (eg, media track ID, resulting bandwidth, and other characteristics of the representation). The time mapping information may associate media segments of one representation with corresponding media segments of other representations according to points in time on a timeline. In other words, the time mapping information eg describes which media segment representing R corresponds to a given media segment at a specific point in time. In other words, the time map information provides a map showing the relationship between the time of each representation and the media segment index.
所述时间映射信息可以分为多个时间映射片段265,使得客户端设备无需一次下载全部时间映射信息,而是可以选择性地访问与期望的特定表示和/或特定时点关联的时间映射信息。在某些实施例中,所述时间映射片段包括与给定媒体内容文件的所有表示相关的时间映射信息,如图5所示。在这种情况下,当做出切换表示的决策时,客户端设备可以根据期望表示和期望时点请求相关的时间映射片段。可以创建时间映射片段并将其预加载到媒体内容服务器上,或者媒体内容服务器可以在收到来自客户端设备的请求时创建适当的片段。The time-map information may be divided into a plurality of time-map segments 265 such that a client device does not need to download all of the time-map information at once, but may selectively access time-map information associated with a specific representation and/or a specific point in time desired . In some embodiments, the time-map segment includes time-map information related to all representations of a given media content file, as shown in FIG. 5 . In this case, when making a decision to switch representations, the client device may request the relevant time-map segment based on the desired representation and the desired point in time. Time-mapped segments can be created and preloaded onto the media content server, or the media content server can create appropriate segments upon request from a client device.
例如,一旦从媒体内容服务器或网络上可由客户端设备访问的另一位置取回相关的时间映射片段,客户端设备随即可识别期望表示中在期望时点处的媒体段并定义从媒体内容服务器取回该特定媒体段的请求。因此,使用图5所示的实例,响应于在播放媒体段2(1)期间在时点6处从表示1切换到表示R的决策,客户端设备将取回时间映射片段2、识别表示R中对应于时点6的媒体段(例如,媒体段1(R)),并取回该识别的媒体段。For example, once the associated time-map segment is retrieved from the media content server or another location on the network accessible by the client device, the client device can then identify the media segment at the desired point in time in the desired representation and define A request to retrieve that particular piece of media. Thus, using the example shown in Figure 5, in response to a decision to switch from representation 1 to representation R at time point 6 during playback of media segment 2(1), the client device would retrieve time map segment 2, identify representation R The media segment corresponding to time point 6 (for example, media segment 1 (R) ) is retrieved, and the identified media segment is retrieved.
在其他实施例中,至少一个媒体段可以包括有关该特定媒体段的时间映射片段,例如,可以作为媒体内容本身的一部分递送时间映射信息。例如,如表2所示,可以引入携带时间映射信息的新“盒(box)”。在表2中,对应于时间映射信息的盒标记为“stif”(媒体段定时信息)。“stif”盒可以插入文件中的任意位置,例如,在每个Mth电影片段之前,如表2所示。图7提供如何定义“stif”盒的一个实例280。参考表2和图7,“time_point”因而可以对应于以下电影片段的媒体内容。通过这种方式,客户端设备无需从网络位置取回相关时间映射片段,因为时间映射片段已随下载的媒体段一起提供。参考图5,例如,媒体段1(1)可以包括时间映射片段1,因为持续时间不超过时间映射片段1的持续时间,而媒体段1(R)可以包括时间映射片段1和时间映射片段2。In other embodiments, at least one media segment may include a time-mapped segment related to that particular media segment, for example, time-mapping information may be delivered as part of the media content itself. For example, as shown in Table 2, a new "box" carrying time-mapping information may be introduced. In Table 2, the box corresponding to the time map information is labeled "stif" (media segment timing information). The "stif" box can be inserted anywhere in the file, e.g., before each Mth movie segment, as shown in Table 2. Figure 7 provides an example 280 of how a "stif" box is defined. Referring to Table 2 and FIG. 7, "time_point" may thus correspond to the media content of the following movie segments. In this way, the client device does not need to retrieve the relevant time-map segments from the network location, since the time-map segments are already provided with the downloaded media segments. Referring to Figure 5, for example, Media Segment 1(1) may include Time Map Fragment 1 because the duration does not exceed the duration of Time Map Fragment 1, while Media Segment 1(R) may include Time Map Fragment 1 and Time Map Fragment 2 .
表2Table 2
此外,每个时间映射片段可以包括与给定媒体文件的所有表示相关的时间映射信息,或者每个时间映射片段可以只包括特定表示的时间映射信息,在这种情况下,客户端设备的请求将根据期望表示和期望时点访问不同的时间映射片段。Furthermore, each time-map segment may include time-map information related to all representations of a given media file, or each time-map segment may only include time-map information for a specific representation, in which case the client device's request Different time map segments will be accessed depending on the desired representation and desired time point.
客户端设备可以被配置为通过创建适当的URL来访问相关时间映射片段。在此方面,媒体内容服务器104可以将URL模式提供给客户端设备102以描述可能和有效的URL来访问不同媒体段和不同时间映射片段。URL模式包括一组参数,客户端设备102可通过将适当的参数值插入URL模式来修改这些参数。Client devices can be configured to access relevant time map segments by creating appropriate URLs. In this regard, the media content server 104 can provide URL patterns to the client device 102 to describe possible and valid URLs to access different media segments and different time-mapped segments. A URL pattern includes a set of parameters that client device 102 can modify by inserting appropriate parameter values into the URL pattern.
媒体内容服务器可以将URL模式作为多媒体呈现描述的一部分提供给客户端。所述多媒体呈现描述可被视为客户端设备使用媒体内容的入口点并且可以包含描述媒体内容及媒体内容访问方式的信息。所述多媒体呈现描述可以携带有关如何访问时间映射片段以及这些时间映射片段的持续时间的描述。可以定义新的参数来建立时间映射片段的索引,并且可以在URL模式中使用新的参数以构建正确的URL来访问期望时间映射片段。因此可以仅根据需要访问时间映射片段。The media content server may provide the URL pattern to the client as part of the multimedia presentation description. The multimedia presentation description can be regarded as an entry point for the client device to use the media content and can contain information describing the media content and how to access the media content. The multimedia presentation description may carry a description on how to access the time map segments and the duration of these time map segments. New parameters can be defined to index the time-map segments, and can be used in URL patterns to construct the correct URL to access the desired time-map segments. Time map fragments can thus be accessed only as needed.
再次参考图5,每个时间映射片段265可以包含对于所有时间映射片段均相等的时间间隔T。持续时间T可以在多媒体呈现描述中指示为时间映射信息的参数。图6示出寻址时间映射片段265的XML元素270的一个实例。Referring again to FIG. 5, each time map segment 265 may contain a time interval T that is equal for all time map segments. The duration T may be indicated in the multimedia presentation description as a parameter of the time map information. FIG. 6 shows an example of an XML element 270 addressing time map fragment 265 .
URL模式因此可以提供每个特定表示201、202或媒体轨道的时间映射片段的位置。更具体地说,URL模式可以包括可变参数,所述可变参数例如通过给出URL前缀和特定时间映射片段的索引来描述如何访问该时间映射片段。在一个实施例中,例如,第一时间映射片段被索引为1并对应于时间间隔[0-interval];第二时间映射片段被索引为“2”并对应于时间间隔[interval-2*interval];以此类推。作为参数在URL模式中通知时间间隔并可作为时间单位(例如,秒)来提供时间间隔。时间间隔的值例如可以通过多媒体呈现描述通知给客户端设备。因此,时间间隔指示时间索引的粒度。The URL patterns may thus provide the location of each particular representation 201, 202 or time-map segment of a media track. More specifically, a URL pattern may include variable parameters that describe how to access a particular time-map segment, for example by giving a URL prefix and an index to that time-map segment. In one embodiment, for example, the first time map segment is indexed as 1 and corresponds to the time interval [0-interval]; the second time map segment is indexed as "2" and corresponds to the time interval [interval-2*interval ]; and so on. The time interval is notified in the URL pattern as a parameter and can be provided as a time unit (eg, seconds). The value of the time interval can be communicated to the client device, for example, by means of a multimedia presentation description. Thus, the time interval indicates the granularity of the time index.
指向时间映射片段的URL模式一个实例可以是http://www.company.com/streamig/content/RepresentationTimingParameter。在该实例中,客户端设备可以使用时间间隔值的倍数替换RepresentationTimingParameter。例如,参考图5,如果指定时间间隔值为5秒并提示客户端设备102取回包含有关时点为27秒的信息的时间映射片段,则客户端设备将使用URLhttp://www.company/streamig/content/25,“25”是时间间隔5之前紧接时间间隔5的倍数。因此,客户端设备将使用“25”替换RepresentationTimingParameter,因此将创建描述时间间隔[25-30]并访问相关时间映射片段的URL。如果媒体段包含属于两个或更多个时间间隔的媒体样本,则可以在所有对应的时间映射片段中描述该媒体段。An example of a URL pattern pointing to a Time Mapsegment could behttp://www.company.com/streamig/content/RepresentationTimingParameter . In this instance, the client device may replace the RepresentationTimingParameter with a multiple of the time interval value. For example, referring to FIG. 5, if you specify a time interval value of 5 seconds and prompt the client device 102 to retrieve a time map segment containing information about the time point of 27 seconds, the client device will use the URLhttp://www.company /streamig/content/25 , where "25" is a multiple of interval 5 immediately preceding interval 5. Therefore, the client device will replace the RepresentationTimingParameter with "25", and thus will create a URL describing the time interval [25-30] and access the relevant time map fragment. If a media segment contains media samples belonging to two or more time intervals, the media segment may be described in all corresponding time map segments.
可以使用XML或另一语言给出时间映射片段的语法。例如,时间映射片段可以包含以下参数:(1)子时间间隔的开始时间;(2)呈现ID和媒体段ID。换言之,在该实例中,每个时点将包含一系列呈现ID-媒体段ID对。通过这种方式,客户端设备将能够确定在何处查找每个给定表示中对应于该时点的媒体样本。例如,播放第一表示(表示1)并且当前正在播放该表示内的特定媒体段(媒体段2(1))的用户可以决定切换到第二表示(表示R)。客户端设备可以访问对应于当前媒体段(媒体段2(1))的时间映射片段265并使用URL模式中的StartTime(开始时间)信息定位期望第二表示(表示R)中的对应时间(从而定位对应媒体段)。图10中示出描述时间映射片段的一个实例XML架构。The syntax of the time map segments can be given using XML or another language. For example, a time map segment may contain the following parameters: (1) start time of the sub-time interval; (2) presentation ID and media segment ID. In other words, in this example, each time point will contain a series of presentation ID-media segment ID pairs. In this way, the client device will be able to determine where to find the media sample corresponding to that point in time in each given representation. For example, a user playing a first representation (representation 1 ) and currently playing a particular media segment within that representation (media segment 2(1)) may decide to switch to a second representation (representation R). The client device can access the time map segment 265 corresponding to the current media segment (media segment 2(1)) and use the StartTime information in the URL pattern to locate the corresponding time in the desired second representation (representation R) (thus locate the corresponding media segment). An example XML schema describing a time map fragment is shown in FIG. 10 .
一种类似的方法也适用于在特定表示中执行查找。在此情况下,客户端设备可以访问对应于当前媒体段的时间映射片段并使用URL模式中的StartTime信息(在此情况下,将是期望时点而非当前时点)来定位对应媒体段。A similar approach applies to performing lookups in a particular representation. In this case, the client device can access the time-map segment corresponding to the current media segment and use the StartTime information in the URL pattern (which in this case would be the desired point in time rather than the current point in time) to locate the corresponding media segment.
在媒体内容被实时成流(相对于“按需”成流)的情况下,可以使用保留的媒体段标识符(例如“Now”)指向包含当前媒体数据的媒体段。该媒体段可由媒体内容服务器104创建,也可以通过每个表示的内容准备在客户端设备102处创建,并且可以在包含不超过媒体段数据持续时间的“max-age”参数的标头字段中标记以“Cache-control”。Where media content is streamed in real-time (as opposed to "on-demand"), a reserved media segment identifier (eg, "Now") may be used to point to the media segment containing the current media data. This media segment may be created by the media content server 104, or may be created at the client device 102 by the content preparation of each representation, and may be included in the header field of the "max-age" parameter that does not exceed the data duration of the media segment Marked with "Cache-control".
客户端设备可以定期请求媒体段“Now”以获取当前实时媒体段。为了避免取回过期的“Now”媒体段,客户端设备可以包括HTTP条件请求标头,例如HTTP标头“if-Modified-Since”。作为“if-Modified-Since”标头的值,客户端设备可以给出先前取回的“Now”媒体段的“Date”值。The client device may periodically request the media segment "Now" to obtain the current real-time media segment. To avoid retrieving expired "Now" media segments, client devices may include HTTP conditional request headers, such as the HTTP header "if-Modified-Since". As the value of the "if-Modified-Since" header, the client device can give the "Date" value of the previously retrieved "Now" media segment.
在另一实例中,在使用“Now”调整到实时流的第一媒体段请求之后,后续请求可以开始使用正常媒体段标识符,例如对应于segment_id的媒体段数字标识符,如上以及图7中所述。In another example, after using "Now" to adjust to a first media segment request for a live stream, subsequent requests may begin using a normal media segment identifier, such as a media segment numeric identifier corresponding to segment_id, as above and in FIG. 7 mentioned.
图8是示出根据本发明的示例性实施例的用于访问时间映射信息以及跨多个表示取回对应媒体段的方法的流程图。如上所述,结合图8使用HTTP作为传输协议仅作为实例,并非用于限制,也可以类似的方式使用其他传输协议。无论使用的传输协议为何,图8示出在客户端设备102处执行的操作。在300,从选定表示取回当前媒体段。在305,用户此时可决定切换表示。如果决定不切换表示,则继续在300取回当前媒体段。但是,如果决定切换表示,则在310根据当前媒体段访问切换播放时间的时间映射信息。然后在315识别对应于在310处使用的切换播放时间的新表示的媒体段。通过使用位置信息,可以识别新表示中对应媒体段的媒体段ID,并且在320可以取回新表示的媒体段,从而保持旧表示与新表示的时间对齐。Figure 8 is a flowchart illustrating a method for accessing time map information and retrieving corresponding media segments across multiple representations, according to an exemplary embodiment of the present invention. As noted above, the use of HTTP as the transport protocol in connection with FIG. 8 is by way of example only and not limiting, as other transport protocols may be used in a similar manner. Regardless of the transport protocol used, Figure 8 illustrates the operations performed at the client device 102. At 300, the current media segment is retrieved from the selected representation. At 305, the user may decide to switch representations at this point. If it is decided not to switch representations, then continue at 300 to retrieve the current media segment. However, if it is decided to switch representations, then at 310 time mapping information for switching playback times is accessed based on the current media segment. The media segment corresponding to the new representation of the switched playtime used at 310 is then identified at 315 . Using the location information, the media segment IDs of the corresponding media segments in the new representation can be identified, and at 320 the media segments of the new representation can be retrieved, thereby maintaining time alignment of the old representation with the new representation.
图9示出根据本发明的示例性实施例的访问时间映射信息以及取回特定表示内的对应媒体段的方法的流程图。例如,客户端可以在400下载媒体呈现描述及内容元数据。然后,客户端可以在405选择开始播放的表示以及开始时点(例如,时间0或内容开头)。在410、415,如果从时间0处开始播放,则客户端设备将取回媒体段ID为1的媒体段,在该实例中,该媒体段对应于选定时间0。备选地,如果从时间0以外的时间开始播放,则客户端可以在420取回给定表示中包含选定时点的时间映射信息的时间映射片段。本实施例中的客户端设备然后将在425根据时间映射信息定位对应媒体段并确定当前表示中位于期望时点的对应媒体段的媒体段ID。最后,本实施例中的客户端将在430根据媒体段ID取回新媒体段。Figure 9 shows a flowchart of a method of accessing time-mapping information and retrieving corresponding media segments within a particular representation, according to an exemplary embodiment of the present invention. For example, a client may download a media presentation description and content metadata at 400 . The client can then select at 405 a representation to start playing and a start point (eg, time 0 or beginning of content). At 410, 415, if playback started at time 0, the client device will retrieve the media segment with a media segment ID of 1, which corresponds to the selected time 0 in this example. Alternatively, if playback has started from a time other than time 0, the client may retrieve at 420 a time map segment in the given representation that contains time map information for the selected point in time. The client device in this embodiment will then at 425 locate the corresponding media segment based on the time mapping information and determine the media segment ID of the corresponding media segment at the desired point in time in the current representation. Finally, the client in this embodiment will retrieve the new media segment at 430 according to the media segment ID.
需要指出,所述时间映射信息不一定限于映射时间与媒体段ID之间的关系。在某些实施例中,例如,可以将时间映射到字节偏移(即,特定文件中的媒体段偏移)。在这种情况下,使用字节偏移识别特定媒体段,从而允许客户端定位和取回对应于特定时间的特定媒体段,如上所述。It should be pointed out that the time mapping information is not necessarily limited to the relationship between the mapping time and the media segment ID. In some embodiments, for example, times may be mapped to byte offsets (ie, media segment offsets within a particular file). In this case, a specific media segment is identified using a byte offset, allowing the client to locate and retrieve a specific media segment corresponding to a specific time, as described above.
图8和9是根据本发明的示例性实施例的系统、方法和计算机程序产品的流程图。将理解,所述流程图中的每个方块,以及所述流程图中方块的组合可以通过各种手段实现,例如硬件和/或包括一个或多个其上存储计算机可读程序指令的计算机可读介质的计算机程序产品。例如,在此描述的一个或多个过程可以通过计算机程序产品的计算机程序指令体现。在此方面,体现在此描述的过程的计算机程序产品(多个)可以由移动终端、服务器或其他计算设备的一个或多个存储设备存储并由所述计算设备中的处理器执行。在某些实施例中,包括体现上述过程的计算机程序产品(多个)的计算机程序指令可以由多个计算设备的存储设备存储。可以理解,任何此类计算机程序产品均可加载到计算机或其他可编程装置上以产生机器,以便包括所述计算机或其他可编程装置上执行的指令的计算机程序产品创建用于实现流程图方块(多个)中指定的功能的装置。此外,所述计算机程序产品可以包括一个或多个计算机可读存储器,其上可以存储计算机程序指令,以便所述一个或多个计算机可读存储器可以引导计算机或其他可编程装置以特定方式执行功能,从而使所述计算机程序产品包括实现流程图方块(多个)中指定的功能的制品。一个或多个计算机程序产品的计算机程序指令还可以加载到计算机或其他可编程装置中以在所述计算机或其他可编程装置上执行一系列操作来产生计算机实现的过程,从而使所述计算机或其他可编程装置上执行的指令实现流程图方块(多个)中指定的功能。8 and 9 are flowcharts of systems, methods and computer program products according to exemplary embodiments of the invention. It will be understood that each block in the flow diagrams, and combinations of blocks in the flow diagrams, can be implemented by various means, such as hardware and/or a computer-readable computer including one or more computer-readable program instructions stored thereon. A computer program product that reads the medium. For example, one or more of the procedures described herein may be embodied by computer program instructions of a computer program product. In this regard, computer program product(s) embodying processes described herein may be stored by one or more storage devices of a mobile terminal, server or other computing device and executed by a processor in the computing device. In some embodiments, computer program instructions comprising computer program product(s) embodying the processes described above may be stored by storage devices of a plurality of computing devices. It will be appreciated that any such computer program product may be loaded onto a computer or other programmable device to create a machine, such that a computer program product comprising instructions executed on said computer or other programmable device is created for implementing the flowchart blocks ( multiples) of the device for the functions specified. Additionally, the computer program product may include one or more computer readable memories on which computer program instructions may be stored such that the one or more computer readable memories may direct a computer or other programmable apparatus to perform functions in a specific manner , so that the computer program product includes an article of manufacture implementing the functions specified in the flowchart block(s). The computer program instructions of one or more computer program products can also be loaded into a computer or other programmable device to perform a series of operations on the computer or other programmable device to generate a computer-implemented process, thereby making the computer or other programmable device Instructions executing on the other programmable devices implement the functions specified in the flowchart block(s).
因此,所述流程图中的方块支持用于执行指定功能的装置的组合。还应该理解,所述流程图中的一个或多个方块,以及所述流程图中方块的组合可以通过执行指定功能的基于专用硬件的计算机系统,或者专用硬件和计算机程序产品(多个)的组合来实现。Accordingly, blocks of the flowchart illustrations support combinations of means for performing the specified functions. It should also be understood that one or more blocks of the flowchart illustrations, and combinations of blocks in the flowchart illustrations, can be implemented by a special purpose hardware-based computer system that performs the specified functions, or by a combination of special purpose hardware and computer program product(s). combination to achieve.
上述功能可以通过许多方式实现。例如,可使用用于执行上述每个功能的任何适当装置执行本发明的实施例。在一个实施例中,适当配置的处理器可以提供本发明的全部或部分元素。在另一实施例中,本发明的全部或部分元素可以由计算机程序产品配置以及在计算机程序产品的控制下运行。用于执行本发明的实施例的方法的计算机程序产品包括计算机可读存储介质(例如非易失性存储介质)和计算机可读程序代码部分(例如体现在计算机可读存储介质中的一系列计算机指令)。The above functionality can be achieved in many ways. For example, embodiments of the present invention may be implemented using any suitable means for performing each of the functions described above. In one embodiment, a suitably configured processor may provide all or a portion of the elements of the present invention. In another embodiment, all or part of the elements of the present invention may be configured by a computer program product and run under the control of the computer program product. A computer program product for performing the method of the embodiment of the present invention includes a computer-readable storage medium (such as a non-volatile storage medium) and computer-readable program code portions (such as a series of computer-readable storage medium embodied in the computer-readable storage medium) instruction).
因此,根据本发明的实施例,为计算设备、计算设备用户和网络运营商提供多种优势。例如,可以例如使用HTTP上的TCP(TCPoverHTTP)提供媒体内容自适应成流,同时允许用户在不中断播放媒体段定时的情况下切换表示。在此方面,可以促进按照基于国际标准化组织(ISO)基础媒体文件格式的任何媒体文件格式设置媒体内容格式的媒体内容的成流。还可以例如使用HTTP上的TCP提供用于媒体内容成流的协议,该协议可以与各种网络类型(例如,局域网、因特网、无线网络、有线网络、蜂窝网络等)互通。Thus, in accordance with embodiments of the present invention, several advantages are provided to computing devices, computing device users, and network operators. For example, adaptive streaming of media content may be provided, for example using TCP over HTTP (TCP over HTTP), while allowing the user to switch representations without interrupting the timing of playing media segments. In this regard, streaming of media content formatted in any media file format based on the International Organization for Standardization (ISO) base media file format may be facilitated. A protocol for streaming media content may also be provided, eg, using TCP over HTTP, which may interwork with various network types (eg, local area network, Internet, wireless network, wired network, cellular network, etc.).
根据本发明的各实施例,还可以降低接收和播放流媒体的计算设备的网络带宽消耗和处理要求。在此方面,通过选择性地提取并逐步递送接收器播放流媒体所需的数据而降低针对媒体文件传输的元数据量,从而更有效地使用网络带宽。根据本发明的各实施例播放流媒体的设备还可以通过不必接收和处理如先前那么多的数据而受益。According to various embodiments of the present invention, network bandwidth consumption and processing requirements of computing devices receiving and playing streaming media may also be reduced. In this regard, network bandwidth is used more efficiently by reducing the amount of metadata transferred for media files by selectively extracting and progressively delivering the data required by the receiver to play the streaming media. Devices playing streaming media according to embodiments of the invention may also benefit by not having to receive and process as much data as before.
在一个示例性实施例中,提供一种用于接收和呈现或播放媒体内容表示以及用于使能跨多个表示进行时间同步和随机查找的方法和计算机程序产品。根据所述方法和计算机程序产品,客户端设备呈现选定媒体内容文件的第一表示的第一媒体段。所述客户端设备确定期望时点和待呈现的期望第二表示。识别和取回第二媒体段,其中所述第二媒体段包含呈现时间等于所述第一表示或所述期望第二表示中的期望呈现时点或等于期望表示中的当前时点的一个或多个媒体样本。In one exemplary embodiment, a method and computer program product are provided for receiving and presenting or playing media content representations and for enabling time synchronization and random lookup across multiple representations. According to the method and computer program product, a client device presents a first media segment of a first representation of a selected media content file. The client device determines a desired time point and a desired second representation to be presented. identifying and retrieving a second media segment, wherein the second media segment contains a presentation time equal to one of a desired presentation time point in the first representation or the desired second representation or equal to a current time point in the desired representation or Multiple media samples.
在某些情况下,通过访问所述期望时点的时间映射信息而识别所述第二媒体段。访问所述时间映射信息可以包括请求和取回与所述第一媒体段或所述第二媒体段相关的至少一个特定时间映射片段。备选地,访问所述时间映射信息可以包括访问被包括为所述第一媒体段的一部分的特定时间映射片段。In some cases, the second media segment is identified by accessing time mapping information for the desired point in time. Accessing said time map information may comprise requesting and retrieving at least one specific time map segment related to said first media segment or said second media segment. Alternatively, accessing said time map information may comprise accessing a particular time map segment included as part of said first media segment.
确定期望时点或待呈现的期望第二表示可以包括接收指示所述期望时点或所述期望第二表示的用户输入。在所述用户输入指示期望时点的情况下,所取回的第二媒体段在时间上对应于该期望时点。在所述用户输入指示期望第二表示的情况下,所取回的第二媒体段在时间上对应于所述第一表示的第一段。Determining a desired point in time or a desired second representation to be presented may comprise receiving user input indicative of the desired point in time or the desired second representation. Where the user input indicates a desired point in time, the retrieved second media segment corresponds in time to the desired point in time. Where the user input indicates that a second representation is desired, the retrieved second media segment corresponds in time to the first segment of the first representation.
在某些实施例中,识别所述第二媒体段包括根据所述时间映射信息识别与所述第二媒体段关联的段标识符。此外,取回所述第二表示的所述第二媒体段可以包括创建包含所述段标识符的统一资源定位器(URL)。创建所述URL可以包括修改从媒体内容服务器接收的URL模式。在某些情况下,识别所述第二媒体段包括访问与所述第二表示关联的表示描述。In some embodiments, identifying the second media segment includes identifying a segment identifier associated with the second media segment based on the time map information. Furthermore, retrieving said second media segment of said second representation may comprise creating a Uniform Resource Locator (URL) comprising said segment identifier. Creating the URL may include modifying a URL pattern received from a media content server. In some cases, identifying the second media segment includes accessing a representation description associated with the second representation.
在另一示例性实施例中,提供了一种用于声明和通知媒体内容表示以及用于使能跨多个表示进行时间同步和随机查找的方法和计算机程序产品。根据所述方法和计算机程序产品,一种诸如媒体内容服务器之类的装置响应于对媒体内容的请求而将多媒体呈现描述发送到客户端设备。第一表示的第一媒体段被发送到所述客户端设备,并创建与至少一个媒体段相关的时间映射信息。所述时间映射信息由所述装置发送到所述客户端设备。所述时间映射信息可以随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而发送到所述客户端设备。所述多媒体呈现描述可以包括所述客户端设备用于取回或请求所述时间映射信息的统一资源定位器(URL)模式。In another exemplary embodiment, a method and computer program product for declaring and notifying media content representations and for enabling time synchronization and random lookup across multiple representations are provided. According to the method and computer program product, an apparatus, such as a media content server, sends a multimedia presentation description to a client device in response to a request for media content. A first media segment of a first representation is sent to the client device, and time-mapping information related to at least one media segment is created. The time mapping information is sent by the apparatus to the client device. The time mapping information may be sent to the client device along with the corresponding media segment, or may be sent to the client device in response to at least one request of the client device. The multimedia presentation description may include a Uniform Resource Locator (URL) pattern used by the client device to retrieve or request the time mapping information.
在某些情况下,所述时间映射信息包括多个时间映射片段,其中每个时间映射片段将至少一个媒体段与呈现时间间隔进行关联。第一时间映射片段可以响应于对所述第一时间映射片段的请求而被发送到所述客户端设备,其中所述请求基于所述URL模式和所述第一媒体段的呈现时间间隔。备选地,所述第一时间映射片段可以结合所述第一媒体段的发送而发送到所述客户端设备。在某些情况下,可以创建所述第一时间映射片段并响应于来自所述客户端设备的请求而将其发送到所述客户端设备。可以根据来自所述客户端设备的请求而将第二媒体段发送到所述客户端设备,其中所述请求包括从所述URL模式和所述第一时间映射片段得出的内容。In some cases, the time-map information includes a plurality of time-map segments, wherein each time-map segment associates at least one media segment with a presentation time interval. A first time map segment may be sent to the client device in response to a request for the first time map segment, wherein the request is based on the URL pattern and a presentation time interval of the first media segment. Alternatively, the first time map segment may be sent to the client device in conjunction with sending the first media segment. In some cases, the first time map segment may be created and sent to the client device in response to a request from the client device. A second media segment may be sent to the client device in response to a request from the client device, wherein the request includes content derived from the URL pattern and the first time-map segment.
在另一示例性实施例中,提供一种包括处理器和存储计算机代码指令的存储器的装置,所述计算机代码指令当被所述处理器执行时,使所述装置呈现选定媒体内容文件的第一表示的第一段。所述存储器和计算机代码指令与所述处理器一起还使所述装置确定期望时点或待呈现的期望第二表示。使所述装置识别第二媒体段,其中所述第二媒体段包含呈现时间等于所述第一表示或所述期望第二表示中的期望呈现时点或等于期望表示中的当前时点的一个或多个媒体样本。所述存储器和计算机代码指令与所述处理器一起还使所述装置取回所述第二媒体段。In another exemplary embodiment, an apparatus is provided that includes a processor and a memory storing computer code instructions that, when executed by the processor, cause the apparatus to present an image of a selected media content file. The first paragraph of the first representation. The memory and computer code instructions, together with the processor, also cause the apparatus to determine a desired point in time or a desired second representation to be presented. causing the apparatus to identify a second media segment, wherein the second media segment comprises a presentation time equal to one of a desired presentation time point in the first representation or the desired second representation or equal to a current time point in the desired representation or multiple media samples. The memory and computer code instructions, together with the processor, also cause the device to retrieve the second media segment.
在某些情况下,所述装置被配置为通过访问所述第一媒体段或所述第一表示的时间映射信息来识别所述第二媒体段。可以使所述装置发送取回特定时间映射片段的请求,其中所述时间映射片段将至少一个媒体段与呈现时间间隔进行关联。备选地,所述装置可以访问包括为所述第一媒体段的一部分的特定时间映射片段。In some cases, the apparatus is configured to identify the second media segment by accessing time-mapping information for the first media segment or the first representation. The apparatus may be caused to send a request to retrieve a specific time map segment, wherein the time map segment associates at least one media segment with a presentation time interval. Alternatively, the apparatus may access a specific time-map segment included as part of the first media segment.
所述装置可以通过接收指示期望时点或期望第二表示的用户输入来确定所述期望时点或待呈现的期望第二表示。在所述用户输入指示期望时点的情况下,所取回的第二媒体段在时间上对应于所述期望时点。在所述用户输入指示期望第二表示的情况下,所取回的第二媒体段在时间上对应于所述第一表示的第一段。The apparatus may determine the desired time point or desired second representation to be presented by receiving user input indicative of the desired time point or desired second representation. Where the user input indicates a desired point in time, the retrieved second media segment corresponds in time to the desired point in time. Where the user input indicates that a second representation is desired, the retrieved second media segment corresponds in time to the first segment of the first representation.
在另一示例性实施例中,提供一种包括处理器和存储计算机代码指令的存储器的装置,所述计算机代码指令当被所述处理器执行时,使所述装置响应于对媒体内容的请求而将多媒体呈现描述发送到客户端设备。所述存储器和计算机代码指令与所述处理器一起还使所述装置将第一表示的第一媒体段发送到所述客户端设备,并创建与至少一个媒体段相关的时间映射信息。还使所述装置将所述时间映射信息发送到所述客户端设备。所述时间映射信息可以作为时间映射片段随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而发送到所述客户端设备。所述多媒体呈现描述可以包括所述客户端设备用于取回或请求所述时间映射信息的统一资源定位器(URL)模式。In another exemplary embodiment, an apparatus is provided that includes a processor and a memory storing computer code instructions that, when executed by the processor, cause the apparatus to respond to a request for media content Instead, the multimedia presentation description is sent to the client device. The memory and computer code instructions, together with the processor, also cause the apparatus to send a first media segment of a first representation to the client device and create time map information related to at least one media segment. The apparatus is also caused to send the time mapping information to the client device. The time-map information may be sent to the client device as a time-map segment together with the corresponding media segment, or may be sent to the client device in response to at least one request of the client device. The multimedia presentation description may include a Uniform Resource Locator (URL) pattern used by the client device to retrieve or request the time map information.
在某些情况下,所述装置可以创建多个时间映射片段,其中每个时间映射片段将至少一个媒体段与呈现时间间隔进行关联。可以使所述装置响应于对第一时间映射片段的请求而将所述第一时间映射片段发送到所述客户端设备,其中所述请求基于所述URL模式。备选地,可以使所述装置结合所述第一媒体段的发送而将所述第一时间映射片段发送到所述客户端设备。在某些情况下,所述装置可以创建所述第一时间映射片段并响应于来自所述客户端设备的请求而将所述第一时间映射片段发送到所述客户端设备。可使所述装置根据来自所述客户端设备的请求而将第二媒体段发送到所述客户端设备,其中所述请求包括从所述URL模式和所述第一时间映射片段得出的内容。In some cases, the apparatus may create multiple time map segments, where each time map segment associates at least one media segment with a presentation time interval. The apparatus may be caused to send the first time-map segment to the client device in response to a request for the first time-map segment, wherein the request is based on the URL pattern. Alternatively, the apparatus may be caused to send the first time-map segment to the client device in conjunction with sending the first media segment. In some cases, the apparatus may create the first time-map segment and send the first time-map segment to the client device in response to a request from the client device. The apparatus may be caused to send a second media segment to the client device in response to a request from the client device, wherein the request includes content derived from the URL pattern and the first time-map segment .
在另一示例性实施例中,提供一种包括被配置为呈现至少一个媒体段的客户端设备和被配置为通过网络将时间映射信息传送到所述客户端设备的媒体内容服务器的系统。所述客户端设备可以呈现选定媒体内容文件的第一表示的第一媒体段。所述客户端设备然后可以确定期望时点或待呈现的期望第二表示。所述媒体内容服务器可以将时间映射信息随对应媒体段一起发送到所述客户端设备,也可以响应于所述客户端设备的至少一个请求而将时间映射信息发送到所述客户端设备。所述客户端设备然后可以根据所述时间映射信息识别第二媒体段,并可以从所述媒体内容服务器请求所述第二媒体段。所述客户端设备可以使用由所述媒体内容服务器发送到所述客户端设备的统一资源定位器(URL)模式来请求所述时间映射信息或所述第二媒体段。In another exemplary embodiment, a system comprising a client device configured to present at least one media segment and a media content server configured to transmit time mapping information to the client device over a network is provided. The client device may present a first media segment of a first representation of the selected media content file. The client device may then determine a desired point in time or a desired second representation to be presented. The media content server may send the time mapping information to the client device together with the corresponding media segment, or may send the time mapping information to the client device in response to at least one request of the client device. The client device may then identify a second media segment based on the time mapping information, and may request the second media segment from the media content server. The client device may request the time mapping information or the second media segment using a Uniform Resource Locator (URL) pattern sent by the media content server to the client device.
在某些实施例中,媒体段持续时间不会跨单个表示而更改,并且可以在多媒体呈现描述内部通知媒体段的必要时间值。在其他实施例中,允许媒体段持续时间在表示内更改,使用时间映射片段,其中所述时间映射片段可以与所述多媒体呈现描述分开存储并且根据需要访问所述时间映射片段。可使用URL模式寻址时间映射片段。In some embodiments, media segment durations do not change across a single representation, and the necessary time values for media segments may be informed within the multimedia presentation description. In other embodiments, to allow media segment durations to change within a representation, time map fragments are used, which may be stored separately from the multimedia presentation description and accessed as needed. Time map segments can be addressed using URL patterns.
受益于以上说明及相关附图中给出的教导,本发明相关领域中的技术人员将想到在此阐述的本发明的许多修改和其他实施例。因此,应该理解,本发明的实施例并不限于所公开的特定实施例,并且所述修改和其他实施例旨在被包括在所附权利要求的范围内。此外,尽管以上说明及相关附图在特定示例性元素和/或功能组合的上下文中描述示例性实施例,但是应该理解,备选实施例可以在不偏离所附权利要求的范围的情况下,提供不同的元素和/或功能组合。例如,在此方面,还可以构想不同于上面明确描述的元素和/或功能组合的其他元素和/或功能组合并且可以在某些所附权利要求中阐述。尽管在此使用特定术语,但是它们仅作一般描述之用,并非用于限制。Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions relate having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the particular embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Furthermore, while the above description and associated drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and/or functions, it should be understood that alternative embodiments may, without departing from the scope of the appended claims, Different combinations of elements and/or functions are available. For example, in this regard, other combinations of elements and/or functions than those explicitly described above are also contemplated and may be set forth in some of the appended claims. Although specific terms are used herein, they are used for general descriptive purposes only and not for limitation.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US28590409P | 2009-12-11 | 2009-12-11 | |
| US61/285,904 | 2009-12-11 | ||
| PCT/IB2010/055761WO2011070552A1 (en) | 2009-12-11 | 2010-12-10 | Apparatus and methods for describing and timing representations in streaming media files |
| Publication Number | Publication Date |
|---|---|
| CN102687518A CN102687518A (en) | 2012-09-19 |
| CN102687518Btrue CN102687518B (en) | 2016-06-01 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201080056077.0AExpired - Fee RelatedCN102687518B (en) | 2009-12-11 | 2010-12-10 | Describe and device and method regularly for what represent in files in stream media |
| Country | Link |
|---|---|
| US (1) | US8510375B2 (en) |
| EP (1) | EP2510669A4 (en) |
| KR (1) | KR101401183B1 (en) |
| CN (1) | CN102687518B (en) |
| CA (1) | CA2783592A1 (en) |
| WO (1) | WO2011070552A1 (en) |
| ZA (1) | ZA201205088B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
| US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
| DE10150384B4 (en) | 2001-10-11 | 2013-04-04 | Patentportfolio S. à. r. l. | A method of ensuring a safe tire emergency operation in a motor vehicle |
| US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
| EP2357732B1 (en) | 2002-10-05 | 2022-04-06 | QUALCOMM Incorporated | Systematic encoding and decoding of chain reaction codes |
| EP2722995B1 (en) | 2003-10-06 | 2023-04-19 | QUALCOMM Incorporated | Soft-Decision Decoding of Multi-Stage Chain Reaction Codes |
| US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
| US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
| US7418651B2 (en) | 2004-05-07 | 2008-08-26 | Digital Fountain, Inc. | File download and streaming system |
| US8370514B2 (en)* | 2005-04-28 | 2013-02-05 | DISH Digital L.L.C. | System and method of minimizing network bandwidth retrieved from an external network |
| US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
| KR101292851B1 (en) | 2006-02-13 | 2013-08-02 | 디지털 파운튼, 인크. | Streaming and buffering using variable fec overhead and protection periods |
| US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
| WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
| US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
| US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
| US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
| US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
| US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
| US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
| US9237101B2 (en) | 2007-09-12 | 2016-01-12 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
| US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
| US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
| 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 |
| US8516063B2 (en) | 2010-02-12 | 2013-08-20 | Mary Anne Fletcher | Mobile device streaming media application |
| WO2011132882A2 (en)* | 2010-04-19 | 2011-10-27 | 엘지전자 주식회사 | Method for transmitting/receiving internet-based content and transmitter/receiver using same |
| KR101781873B1 (en)* | 2010-04-19 | 2017-09-26 | 엘지전자 주식회사 | Apparatus and method for transmitting and receiving contents based on internet |
| KR101790526B1 (en)* | 2010-04-19 | 2017-10-27 | 엘지전자 주식회사 | Apparatus and method for transmitting and receiving contents based on internet |
| US20110276662A1 (en)* | 2010-05-07 | 2011-11-10 | Samsung Electronics Co., Ltd. | Method of constructing multimedia streaming file format, and method and apparatus for servicing multimedia streaming using the multimedia streaming file format |
| US9253548B2 (en)* | 2010-05-27 | 2016-02-02 | Adobe Systems Incorporated | Optimizing caches for media streaming |
| KR101702562B1 (en)* | 2010-06-18 | 2017-02-03 | 삼성전자 주식회사 | Storage file format for multimedia streaming file, storage method and client apparatus using the same |
| US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
| US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
| US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
| KR20120008432A (en)* | 2010-07-16 | 2012-01-30 | 한국전자통신연구원 | Streaming service transmission and reception device and method |
| KR20120010089A (en) | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Method and apparatus for improving quality of HTP-based multimedia streaming service |
| KR20120034550A (en) | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | Apparatus and method for providing streaming contents |
| US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
| US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
| US9467493B2 (en) | 2010-09-06 | 2016-10-11 | Electronics And Telecommunication Research Institute | Apparatus and method for providing streaming content |
| US20120078703A1 (en)* | 2010-09-08 | 2012-03-29 | Sony Pictures Technologies Inc. | Access to media bites |
| US20120233345A1 (en)* | 2010-09-10 | 2012-09-13 | Nokia Corporation | Method and apparatus for adaptive streaming |
| US9986009B2 (en)* | 2010-10-06 | 2018-05-29 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content |
| KR101206698B1 (en)* | 2010-10-06 | 2012-11-30 | 한국항공대학교산학협력단 | Apparatus and method for providing streaming contents |
| US20120166667A1 (en)* | 2010-12-22 | 2012-06-28 | Edward Hall | Streaming media |
| US9661104B2 (en)* | 2011-02-07 | 2017-05-23 | Blackberry Limited | Method and apparatus for receiving presentation metadata |
| US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
| US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
| US11025962B2 (en)* | 2011-02-28 | 2021-06-01 | Adobe Inc. | System and method for low-latency content streaming |
| EP2924990A1 (en) | 2011-03-16 | 2015-09-30 | Electronics and Telecommunications Research Institute | Apparatus and method for providing streaming content using representations |
| US20120278495A1 (en)* | 2011-04-26 | 2012-11-01 | Research In Motion Limited | Representation grouping for http streaming |
| FR2975555A1 (en)* | 2011-05-18 | 2012-11-23 | Thomson Licensing | METHOD OF DYNAMIC ADAPTATION OF RECEPTION RATE AND RECEPTOR |
| US9615126B2 (en)* | 2011-06-24 | 2017-04-04 | Google Technology Holdings LLC | Intelligent buffering of media streams delivered over internet |
| US9590814B2 (en)* | 2011-08-01 | 2017-03-07 | Qualcomm Incorporated | Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
| US9253233B2 (en)* | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
| WO2012162995A1 (en) | 2011-09-30 | 2012-12-06 | 华为技术有限公司 | Method and device for transmitting stream media |
| US9521439B1 (en) | 2011-10-04 | 2016-12-13 | Cisco Technology, Inc. | Systems and methods for correlating multiple TCP sessions for a video transfer |
| US9843844B2 (en)* | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
| US9712891B2 (en) | 2011-11-01 | 2017-07-18 | Nokia Technologies Oy | Method and apparatus for selecting an access method for delivery of media |
| US8977704B2 (en) | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
| US9401968B2 (en) | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
| US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
| US9282366B2 (en) | 2012-08-13 | 2016-03-08 | The Nielsen Company (Us), Llc | Methods and apparatus to communicate audience measurement information |
| US20140089467A1 (en)* | 2012-09-27 | 2014-03-27 | Andre Beck | Content stream delivery using pre-loaded segments |
| US20140095668A1 (en)* | 2012-09-28 | 2014-04-03 | Ozgur Oyman | Method for seamless unicast-broadcast switching during dash-formatted content streaming |
| KR102020363B1 (en)* | 2012-10-31 | 2019-09-10 | 삼성전자 주식회사 | Method and apparatus for transmitting and receiving media segment using adaptive streaming |
| US8984569B2 (en)* | 2013-03-15 | 2015-03-17 | Echostar Technologies L.L.C. | Chunking of multiple track audio for adaptive bit rate streaming |
| KR101798741B1 (en) | 2013-04-19 | 2017-11-16 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol |
| EP2988521A4 (en)* | 2013-04-19 | 2016-12-21 | Sony Corp | Information processing apparatus, content requesting method, and computer program |
| CN105230024B (en)* | 2013-07-19 | 2019-05-24 | 华为技术有限公司 | A kind of media representation adaptive approach, device and computer storage medium |
| US9270721B2 (en)* | 2013-10-08 | 2016-02-23 | Qualcomm Incorporated | Switching between adaptation sets during media streaming |
| KR101766696B1 (en)* | 2013-10-25 | 2017-08-09 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Associating representations in adaptive streaming |
| US9325617B2 (en)* | 2013-12-09 | 2016-04-26 | International Business Machines Corporation | Overlay capabilities exchange using DCBX |
| US9058839B1 (en)* | 2013-12-17 | 2015-06-16 | Telefonaktiebolaget L M Ericsson (Publ) | Secure online pictures |
| US9210207B2 (en)* | 2014-02-13 | 2015-12-08 | Ericsson Ab | Time-sensitive content manipulation in adaptive streaming buffer |
| CN103873883B (en)* | 2014-03-06 | 2017-05-03 | 小米科技有限责任公司 | Video playing method and device and terminal equipment |
| JP2017514345A (en) | 2014-03-13 | 2017-06-01 | ベランス・コーポレイション | Interactive content acquisition using embedded code |
| US10504200B2 (en) | 2014-03-13 | 2019-12-10 | Verance Corporation | Metadata acquisition using embedded watermarks |
| US20150261753A1 (en)* | 2014-03-13 | 2015-09-17 | Verance Corporation | Metadata acquisition using embedded codes |
| JP6549605B2 (en) | 2014-03-18 | 2019-07-24 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | Audiovisual content item data stream |
| FR3019428A1 (en)* | 2014-03-31 | 2015-10-02 | Orange | DEVICE AND METHOD FOR REMOTELY CONTROLLING THE RESTITUTION OF MULTIMEDIA CONTENT |
| US20150286623A1 (en)* | 2014-04-02 | 2015-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for marking relevant updates to html 5 |
| US9699499B2 (en) | 2014-04-30 | 2017-07-04 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
| GB2526805A (en)* | 2014-06-03 | 2015-12-09 | Nokia Technologies Oy | Methods, apparatuses and computer programs for adapting content |
| GB2528039A (en)* | 2014-07-01 | 2016-01-13 | Canon Kk | Method for identifying objects across time periods and corresponding device |
| WO2016028934A1 (en) | 2014-08-20 | 2016-02-25 | Verance Corporation | Content management based on dither-like watermark embedding |
| US9870800B2 (en) | 2014-08-27 | 2018-01-16 | International Business Machines Corporation | Multi-source video input |
| US10102285B2 (en) | 2014-08-27 | 2018-10-16 | International Business Machines Corporation | Consolidating video search for an event |
| US9942602B2 (en) | 2014-11-25 | 2018-04-10 | Verance Corporation | Watermark detection and metadata delivery associated with a primary content |
| EP3225034A4 (en) | 2014-11-25 | 2018-05-02 | Verance Corporation | Enhanced metadata and content delivery using watermarks |
| US9602891B2 (en) | 2014-12-18 | 2017-03-21 | Verance Corporation | Service signaling recovery for multimedia content using embedded watermarks |
| US10412138B2 (en)* | 2015-03-02 | 2019-09-10 | Qualcomm Incorporated | Indication for partial segment |
| WO2017118474A1 (en)* | 2016-01-05 | 2017-07-13 | Huawei Technologies Co., Ltd. | A data processing apparatus and method and a data container structure |
| TWI559753B (en)* | 2016-03-16 | 2016-11-21 | 晶睿通訊股份有限公司 | Method for transmitting a video on demand |
| US11038938B2 (en)* | 2016-04-25 | 2021-06-15 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing alternative content |
| US20170344523A1 (en)* | 2016-05-25 | 2017-11-30 | Samsung Electronics Co., Ltd | Method and apparatus for presentation customization and interactivity |
| CN110383845A (en)* | 2016-12-22 | 2019-10-25 | 弗劳恩霍夫应用研究促进协会 | Media streaming concept that allows efficient support for fast tune-in and any-time switching |
| WO2018127780A1 (en) | 2017-01-09 | 2018-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Controllable beam management accuracy |
| CN110546932B (en)* | 2017-04-06 | 2022-06-10 | 构造数据有限责任公司 | System and method for improving device map accuracy using media viewing data |
| US10779038B2 (en) | 2017-06-19 | 2020-09-15 | Hulu, LLC | Geo-fencing of media content using distribution areas in a database |
| EP3652951A1 (en) | 2017-07-12 | 2020-05-20 | Telefonaktiebolaget LM Ericsson (Publ) | Fast tune-in for low latency streaming |
| US10945005B2 (en)* | 2018-12-07 | 2021-03-09 | Arris Enterprises Llc | Multiple parental rating content and method of presentation |
| US10771865B2 (en) | 2019-02-11 | 2020-09-08 | Netflix, Inc. | Techniques for advancing playback of interactive media titles in response to user selections |
| US11210332B2 (en)* | 2019-02-18 | 2021-12-28 | Sony Interactive Entertainment LLC | Mapped views of digital content |
| CN111859028B (en)* | 2019-04-30 | 2024-08-16 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for creating an index for streaming storage |
| US11197052B2 (en) | 2019-07-12 | 2021-12-07 | Apple Inc. | Low latency streaming media |
| US20210076095A1 (en) | 2019-08-28 | 2021-03-11 | Verance Corporation | Watermark-based dynamic ad insertion |
| US11233840B2 (en)* | 2019-09-13 | 2022-01-25 | Roku, Inc. | Use of in-band metadata as basis to access reference fingerprints to facilitate content-related action |
| CN112765377B (en)* | 2019-11-01 | 2025-05-23 | 微软技术许可有限责任公司 | Time segment positioning in media streams |
| CN112398807A (en)* | 2020-09-28 | 2021-02-23 | 重庆锐云科技有限公司 | Network conference preparation-in-advance system, method, computer device and storage medium |
| US12432406B2 (en) | 2024-01-31 | 2025-09-30 | Pluto Inc. | Methods and systems for streaming video analysis |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7373413B1 (en)* | 2000-06-28 | 2008-05-13 | Cisco Technology, Inc. | Devices and methods for minimizing start up delay in transmission of streaming media |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2234012C (en) | 1998-04-06 | 2004-02-24 | Leitch Technology Corporation | Method and apparatus for synchronized multiple format data storage |
| US7302490B1 (en) | 2000-05-03 | 2007-11-27 | Microsoft Corporation | Media file format to support switching between multiple timeline-altered media streams |
| US8090761B2 (en)* | 2002-07-12 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Storage and distribution of segmented media data |
| US8200747B2 (en)* | 2002-07-12 | 2012-06-12 | Hewlett-Packard Development Company, L.P. | Session handoff of segmented media data |
| US8103546B1 (en)* | 2004-08-16 | 2012-01-24 | Lightningcast Llc | Advertising content delivery |
| KR100927978B1 (en) | 2005-09-01 | 2009-11-24 | 노키아 코포레이션 | How to embed SV content in an ISO-based media file format for progressive downloading and streaming of rich media content |
| WO2007080500A1 (en) | 2006-01-11 | 2007-07-19 | Nokia Corporation | Extensions to rich media container format for use by mobile broadcast/multicast streaming servers |
| US20080022320A1 (en)* | 2006-06-30 | 2008-01-24 | Scientific-Atlanta, Inc. | Systems and Methods of Synchronizing Media Streams |
| US9225761B2 (en)* | 2006-08-04 | 2015-12-29 | The Directv Group, Inc. | Distributed media-aggregation systems and methods to operate the same |
| CN101518087B (en) | 2006-08-24 | 2013-05-01 | 诺基亚公司 | System and method for indicating track relationships in media files |
| US20080104267A1 (en) | 2006-11-01 | 2008-05-01 | Sony Corporation | Systems and methods for reducing display latency between streaming digital media |
| KR101366803B1 (en) | 2007-04-16 | 2014-02-24 | 삼성전자주식회사 | Communication method and apparatus using hyper text transfer protocol |
| US7881335B2 (en)* | 2007-04-30 | 2011-02-01 | Sharp Laboratories Of America, Inc. | Client-side bandwidth allocation for continuous and discrete media |
| US7802006B2 (en)* | 2007-06-13 | 2010-09-21 | Microsoft Corporation | Multi-location buffering of streaming media data |
| US7694006B2 (en) | 2007-07-27 | 2010-04-06 | Realnetworks, Inc. | System and method for distributing media data |
| CA2695645C (en) | 2007-08-20 | 2017-05-23 | Nokia Corporation | Segmented metadata and indexes for streamed multimedia data |
| CN101127989A (en) | 2007-09-11 | 2008-02-20 | 中兴通讯股份有限公司 | A method for supporting hypertext transmission stream media service of mobile phone |
| US8203592B2 (en)* | 2007-10-26 | 2012-06-19 | Seiko Epson Corporation | Videoconference recording, post-processing, and playback |
| US8990848B2 (en)* | 2008-07-22 | 2015-03-24 | At&T Intellectual Property I, L.P. | System and method for temporally adaptive media playback |
| US8903895B2 (en)* | 2009-07-22 | 2014-12-02 | Xinlab, Inc. | Method of streaming media to heterogeneous client devices |
| EP3786806A1 (en)* | 2009-11-04 | 2021-03-03 | Virginia Wireless and Streaming Technologies LLC | System and method for media content streaming |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7373413B1 (en)* | 2000-06-28 | 2008-05-13 | Cisco Technology, Inc. | Devices and methods for minimizing start up delay in transmission of streaming media |
| Title |
|---|
| Qualcomm Europe S.A.R.L.;Qualcomm Europe S.A.R.L.;《3GPP Tdoc S4-090814, 3GPP TSG-SA4 #56》;20091113;第2、5节* |
| Publication number | Publication date |
|---|---|
| CA2783592A1 (en) | 2011-06-16 |
| EP2510669A1 (en) | 2012-10-17 |
| CN102687518A (en) | 2012-09-19 |
| EP2510669A4 (en) | 2013-09-18 |
| US8510375B2 (en) | 2013-08-13 |
| WO2011070552A1 (en) | 2011-06-16 |
| US20110307545A1 (en) | 2011-12-15 |
| KR101401183B1 (en) | 2014-05-29 |
| ZA201205088B (en) | 2013-12-23 |
| KR20120103698A (en) | 2012-09-19 |
| Publication | Publication Date | Title |
|---|---|---|
| CN102687518B (en) | Describe and device and method regularly for what represent in files in stream media | |
| US20110246659A1 (en) | System, Method and Apparatus for Dynamic Media File Streaming | |
| US20100262711A1 (en) | Systems, methods, and apparatuses for media file streaming | |
| TWI568252B (en) | Streaming with coordination of video orientation (cvo) | |
| CN104025548B (en) | For the method and apparatus for the flexible caching for being delivered media | |
| KR101739272B1 (en) | Apparatus and method for storing and playing contents in multimedia streaming system | |
| KR102015204B1 (en) | Multimedia adaptation based on video orientation | |
| JP6425720B2 (en) | Method and apparatus for content delivery | |
| CN107683608B (en) | Receiving apparatus, transmitting apparatus, and data processing method | |
| CN105324978B (en) | Controlling DASH client rate adaptation | |
| US20110246660A1 (en) | Systems, Methods, and Apparatuses for Media File Streaming | |
| WO2012061279A1 (en) | Method and apparatus for updating http content descriptions | |
| EP3139573B1 (en) | Media processing method and device | |
| KR102776493B1 (en) | Methods, systems, and media for delivering manifestless streaming media content | |
| US12238370B2 (en) | Determination of availability of chunks of data for network streaming media data |
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C41 | Transfer of patent application or patent right or utility model | ||
| TA01 | Transfer of patent application right | Effective date of registration:20160204 Address after:Espoo, Finland Applicant after:Technology Co., Ltd. of Nokia Address before:Espoo, Finland Applicant before:Nokia Oyj | |
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee | Granted publication date:20160601 Termination date:20181210 | |
| CF01 | Termination of patent right due to non-payment of annual fee |