CN102473159A - 媒体内容流播的系统和方法 - Google Patents

媒体内容流播的系统和方法 Download PDF

Info

Publication number
CN102473159A
CN102473159A CN2010800270246A CN201080027024A CN102473159A CN 102473159 A CN102473159 A CN 102473159A CN 2010800270246 A CN2010800270246 A CN 2010800270246A CN 201080027024 A CN201080027024 A CN 201080027024A CN 102473159 A CN102473159 A CN 102473159A
Authority
CN
China
Prior art keywords
mpd
segment
presentation
information
ways
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010800270246A
Other languages
English (en)
Inventor
王业奎
李红兵
唐廷芳
尹月静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amotech Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710149319.4A priority Critical patent/CN107911332B/zh
Publication of CN102473159A publication Critical patent/CN102473159A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

根据实施例之一,方法包括以电子方式从网络中接收媒体展现描述(MPD)。MPD描述其中包括多种媒体类型其它表示方式的多媒体内容,而且MPD包括可说明其它表示方式编码方法的信息。本方法还包括,基于MPD中包含的信息为一种以上的媒体类型选择多种其它表示方式,分别请求所选的多种其它表示方式之一,以及以电子方式接收一份媒体数据。

Description

媒体内容流播的系统和方法
相关专利申请的交叉引用
本发明要求2009年11月4日提交的名为“HTTP流播”的第61/258,162号美国临时专利的优先权,该应用以引入的方式并入本文本中。
技术领域
本发明主要涉及通信系统,具体涉及媒体内容流播的系统及方法。
背景
因为IP网络和网络基础架构的功能得以增强,基于互联网的视频流播技术的质量出现提升,对视频传输适用互联网流播技术的情况已出现大幅增长。实施流播视频的一种常用方法是将超文本传输协议(HTTP)服务器中的视频程序传输至基于网络(Web)的HTTP客户端。基于网络流播视频由于其存取简单的特性而广为使用,因此用户仅须单击链接即可观看视频内容。
但视频流播技术面临一些挑战。在某些情况下,当用户请求视频内容时,可能出现很长时间的迟延,而内容只能在迟延之后开始播放。在某些情况下,由于网络负荷重和/或较差的链接条件,流播视频内容遭到阻断或终止。在其它情况下,即使网络链接一开始表现良好,之后由于网络条件的变化,观看体验可能受到影响。
发明内容
根据实施例之一,方法包括以电子方式从网络中接收媒体展现描述(MPD)。MPD描述其中包括多种媒体类型其它展现方式的多媒体内容,而且MPD包括可说明其它展现方式编码方法的信息。本方法还包括,基于MPD中包含的信息为一种以上的媒体类型选择多种其它展现方式,分别请求所选的多种其它展现方式之一,以及以电子方式接收一份媒体数据。
下文将详细列出本发明实施例的特点,以便使以下发明的详细说明更易懂。后文将说明本发明实施例的其它功能和优势,构成本发明权利要求的主题。本技术领域的人员应深知,本文所透露的概念和指定实施例可被用作为修改或设计与本发明拥有相同目的的其它结构或流程的基础。上述技术人员还应认识到,这些等效结构并不违背追加申请中阐述的发明的实质和范畴。
附图简介
为提供更完整的本发明见解及其优势说明,现为以下说明提供参考信息,请参阅与其相对应的附图,其中:
图1说明了媒体流播系统;
图2说明了实施例数据结构;
图3说明了实施例媒体展现形式描述(MPD)的结构;
图4说明了用于执行实施例方法的计算机系统。
不同图片中的相应数字和符号一般指相对应的部件,除非另有说明。
这些图片虽未按比例绘制,但可清晰说明实施例的相关部分。
示例实施例的详细说明
下文将详细讨论多种实施例的制备和使用。但这应理解为,本发明所提供的众多适用的发明概念都能够在多种指定场合中实施。所讨论的指定实施例只是说明本发明的指定利用和使用方法,而不是限制本发明的使用范围。
将针对一种具体场合下的实施例,例如,媒体内容流播的系统及方法,,对本发明进行描述。尤其是,某些实施例与基于HTTP协议对媒体内容进行流播有关。
图1说明了基于HTTP的媒体内容流播系统100,该系统可实现本发明的概念及方法。系统100具有可通过IP网络104将流播媒体传输至HTTP客户端106的HTTP流播服务器102。这应理解为,其它实施例也可适用于HTTP流播系统之外的其它流播系统。
本发明实施例利用音频和/或视频和/或其它媒体类型多媒体流的HTTP流播技术的系统及方法。此类系统及方法可灵活且有效地支持基于存储方法,媒体展现描述(MPD),以及具有或未具有字节范围的HTTP GET请求的点播及直播技术。在MPD中,可包括媒体片断的字节范围和时间范围,以便客户端能高效地请求仅使用字节范围的媒体片断。MPD可包括媒体其它展现的更多编解码信息,以支持采用一种以上编码配置而进行编码的媒体内容。例如,图2中的MPD 202指向其它展现204、206、208和210。这些其它展现中的每一项都可包含一个文件或多个文件的媒体内容数据,其中每一个文件都与一个独特的统一资源定位符(URL)相关联。
MPD可包括所有片断的最大长度,从而无需MPD中的字节范围的信令即可使用字节范围,并大大缩减MPD的大小,这意味着流播过程的启动迟延降低。为了表明直播流会话结束,服务器可采用异常方式组成下一个预期文件或片断,例如,清空文件或片断。为了成功调至直播流会话并开始请求最新内容,流播服务器中可用的且其中包含最新片断的文件使用了一个特殊的文件名称,继而使用了一个特殊的URL。为了让客户端计算出其欲寻找一个具体临时位置时启动的具体文件,当片断持续时间保持不变,以及MPD中每一个片断都没有任何字节偏移或时间偏移信令,可生成文件的URL其其可具有指明文件开始回放时间的功能。提供了可启动诸如设置、暂停、续播及停止等一般流播流程的高效流播流程,并提供了搜索、快进、快退及媒体流自适应流程。
图3根据本发明实施例之一说明了MPD结构300。MPD 300具有字节范围及时间范围信息302、片断持续时间信息304、快进快退信息306、URL信息308及帧率信息310在某些实施例中,可包括其它信息312。在另一种实施例中,可使用MPD结构300的子集。
图4说明经自适应而可使用本发明实施例的计算机系统400,例如,存储和/或运行与实施例相关的软件。中央处理器(CPU)401与系统总线402相耦合。CPU 401可为一般用途的CPU。但是只要CPU 401支持本文所述的创造性操作,本发明的实施例则不受限于CPU 401的架构。总线402与随机存取存储器(RAM)403相耦合,后者可为SRAM、DRAM或SDRAM。诸如PROM、EPROM或EEPROM等ROM 404也可与总线402相耦合。RAM 403和ROM 404存储本领域内常见的用户及系统数据和程序。
总线402也与输入/输出(I/O)适配器405、通信适配器411、用户接口408和多媒体适配器409相耦合。I/O适配器405将存储设备406,例如以下驱动器中的一种或多种:一个硬盘驱动器、一个CD驱动器、一个软盘驱动器、一个磁带驱动器,连接至计算机系统400。I/O适配器405还可连接至打印机(未显示),后者有利于系统打印诸如文件、照片、文章等信息的纸质副本。注意:打印机可为点阵式打印机、激光打印机等打印机、传真机、扫描仪或影印机。用户接口适配器与键盘413和鼠标407及其它设备相耦合。在某些实施例中其可为显示器和/或音频卡的多媒体适配器409连接至显示设备410和音频设备415。显示设备410可为CRT、平板显示器或其它类型的显示设备,而音频设备415可为扬声器、耳机或其它模拟或数字音频系统。
在某些实施例中,HTTP流播指代基于HTTP协议的多媒体内容的流播。3GPP版本4及以上版本支持流播分发。3GPP TS 26.234具体说明了基于RTSP over UDP协议和RTP over UDP协议的流播分发。HTTP流播成为了互联网视频分发的主要形式,而且将HTTP用作多媒体分发的主要协议,已成为趋势。在其它实施例中,可采用其它流播系统及标准。
HTTP流播得到广泛应用的技术原因包括:可使用标准服务器和标准HTTP缓存(或一般而言较廉价的服务器)来分发内容,以便能从CDN或其它任何标准服务器集群分发内容;能将对“流播会话”的控制整体转移至客户端,后者基本上仅打开一个或几个与一个或几个标准HTTP服务器相连的TCP接口。HTTP流播之所以广为应用的原因还在于,它能克服NAT及防火墙穿越问题,从而简单且轻松地提供流播服务。
HTTP流播的一种方法称为静态内容服务模式。在此模式中,使用标准HTTP服务器无需任何扩展。以一个文件或一组文件的形式提供内容,此类文件可从HTTP服务器获取。客户端通过访问使用HTTP GET请求而具有或未具有字节范围的文件来获取内容。
凭借目前基于上述方法的HTTP流播解决方案,还无法解决至少以下问题。首先,在HTTP GET请求中使用时间范围便于客户端从流播服务器请求媒体数据。但是,现有标准HTTP服务器识别字节范围,但不能识别时间范围。
第二,还没有相关方法可用于在MPD中发送媒体其它展现形式多种编码配置的消息的信令。第三,为了降低启动迟延,最好具有小尺寸的MPD。因而,在某些情况下,理想情况是MPD中不要具有文件或媒体片断的特定信息,因为展现可在时间层面上划分为大量的文件。但是,还没有一种相关方法可用于促成客户端有效地请求媒体片断,而MPD中无需文件或媒体片断特定的信息,例如,时间范围和/或字节范围。
第四,当直播流流话结束时,服务器应通知客户端,以便它们不会继续尝试而不断失败,否则会给用户体验造成负面影响。将此信息通知客户端的一种方法在于使用及时更新的MPD。但是,这要求MPD更新及时为客户端所接收,而这会消耗客户端上的其它资源,并在使用静态MPD是理想且可行的方法的情况下造成负载。
第五,当调至直播流时,客户端通常会开始接收最新内容。实现这一点的方法之一为通过及时更新的MPD传输最新媒体片断URL和/或字节范围的信息。但是,这要求MPD更新及时为客户端所接收,而这会消耗客户端上的其它资源,并在使用静态MPD是理想且可行的方法的情况下造成负载。
第六,当片断持续时间保持不变且MPD中每一个片断都没有任何字节偏移或时间偏移信令的时候,客户端无法计算出其寻找一个具体临时位置时待启动的具体文件。最后,缺乏相关机制用于支持在HTTP流播过程中进行快进及快退操作。
为了解决以上问题,本发明的实施例提供了以下新功能及未列在此处的其它功能。首先,在MPD中,可包括媒体片断的字节范围和时间范围,以便客户端能高效地请求仅使用字节范围的媒体片断。第二,MPD可包括媒体其它展现形式的其它编解码信息,以支持采用一种以上编码配置而进行编码的媒体内容。
第三,MPD可包括所有片断的最大长度,使得在MPD中无需字节范围的信令即可使用字节范围,并大大缩减MPD的大小,这意味着流播过程的启动迟延降低。第四,为了表明直播流会话结束,服务器可采用异常方式组成下一个预期文件或片断,例如,清空文件或片断。第五,为了成功调至直播流会话并开始请求最新内容,流播服务器中可用的且其中包含最新片断的文件使用了一个特殊的文件名称,继而使用了一个特殊的URL。
第六,提供有其它展现形式的URL前缀。如果一个文件包含另一展现展现方式的一个或多个片断,则该文件的URL是另一展现展现方式的URL前缀和相应的文件索引值之间的级联,例如,在具体形式为五个十进制数位的情况下,00000、00005及00012等。对于其它展现内容中的每一项,第一文件(该文件包含′moov′窗)的文件索引值等于0,而其它文件的文件索引值等于文件本身中第一片断的片断索引值,后者等于与文件本身中第一片断对应的电影片断的电影片断标头窗中的序号字段。这样一来,当片断持续时间保持不变且MPD中每一个片断都没有任何字节偏移或时间偏移信令的时候,客户端可计算出其寻找一个具体临时位置时待启动的具体文件。
最后,提供了可启动诸如设置、暂停、续播及停止等一般流播流程的高效流播流程,并提供了搜索、快进、快退及媒体流自适应流程。
本发明的实施例包含HTTP流播的一种静态内容服务模式方法,其中包括文件存储、媒体展现形式描述和按需流播及直播流的流播过程。
关于文件存储,在某些实施例中,媒体展现形式描述(MPD)自身存储于一个独立的文件中。在实施例之一中,存储媒体文件,以便每一个文件包含另一展现方式的一个或多个片断。例如,在某些实施例中,一个文件可能包含且仅包含另一个音频展现内容中的一个或多个片断,一个文件可能包含且仅包含另一个视频展现内容的一个或多个片断,一个文件可能包含且仅包含另一个音视频展现内容的一个或多个片断,其中的音视频展现内容包含另一个音频展现内容和一个视频展现内容。但在实施例之一中,一个文件包含其它多个视频展现内容的一个或多个片断,而不包含其它多个音频展现内容的一个或多个片断。
在实施例之一中,另一个展现内容的第一个片断包含′ftyp′窗和′moov′窗,而不包含′moof窗。在′moov′窗中,在一个实施例中,不会记录任何媒体样本,即′moov′窗中包含的每一个′stts′窗中的入口计数应等于0,′moov′窗中包含的每一个′stsz′或′stz2′窗中的样本计数应等于0。因为第一个片断中没有记录任何样本,所以无须是一个相关联的′mdat′窗。在实施例之一中,第一片断之外的任何其它片断仅包含一个电影片断。或者,可以使用多个电影片断。另外,对于第一片断之外的任何其它片断,元数据(′moof窗等等)和媒体数据(′mdat′窗)应存储在同一文件中。
对于另外一些展现方式,对媒体样本的片断分区进行临时调整,从而另一展现方式A的第n个片断含括其它任何展现方式B的同一时间段。这一点可能不适用于快进及快退的其它展现方式,对于它们来说,一个片断含括正常回放相应的其它展现方式的整数个片断。
另一种与上述存储方法(称为存储方法1)效用相当的方法,其中有一个包含其它展现方式的第一片断的“大”′moov′窗,而且它自身存储在一个独立的文件中,而其它展现方式的其它片断按照上述存储方法进行存储。这一替代性方法称为存储方法2。对于存储方法1和2,MPD还可包含于′moov′窗中,或由′moov′窗中包含的URL所引用。
对于直播流,除了上述规范,以下内容亦适用:
在实施例之一中,当使用H.264/AVC视频时,参数集未存储于样本记录,而存储于独立的参数集磁迹,原因在于视频编码器可能须要在编码过程中计算出最佳编码参数,因而在生成′moov′窗之后,该参数集无法得知,且不可包含在内。
在实施例之一中,MPD的另一种存储方式为将其作为媒体文件的一部分进行存储。但MPD自身存储于独立的文件,会使得对MPD的访问变得简单,尤其在有相关需求的情况下,仅一条HTTP GET请求即可用于获取MPD。如果其作为媒体文件的一部分进行存储,则客户端只有掌握MPD在文件中的准确位置,才能准确地单独请求MPD。单独存储MPD的另一个好处在于,因为MPD记录的增加不会对其中包含MPD的媒体文件的媒体部分的偏移产生任何影响,因而对于直播流,该流程会更加简单。
还有其它许多方法可用于存储MPD之外的媒体内容。例如,第一替代性方法为,将其它所有展现方式存储在一个文件中,这一方法仅适用于基于RTP/RTSP的流播中。第二种替代性方法为,将所有元数据(′moov′窗和′moor窗等等)存储在一个文件,将所有媒体文件(′mdat′窗)存储在其它文件,而未在时间维度上划分为多个文件(即另一种展现内容的所有片断在一个文件中)。在某些实施例中,上述两种存储方法可能不适用于缓存。
第三种替代性方法与第二种替代性方法相似,不同的是,在时间维度上划分为多个文件,例如,每一个片断存储于两个独立的文件中,一个适用于元数据(′moov′或′moof窗),一个适用于媒体数据(′mdat′窗)。相比所提议的方法,本存储方法的一大劣势在于,文件数量加倍增加,因而HTTP请求的数量加倍增加,以对同一内容进行流播。
第四种替代性方法为,将每一个音视频替代项的一个或多个片断存储在一个文件。这一方法的一大劣势在于存储冗余。例如,当有另外两个音频表现方式时,另外的视频表现方式每一个均重复存储两遍。
对于直播流H.264/AVC视频的情况,参数集还可存储在样本记录。但这一方法不利于视频编码器在编码过程中更改为更为理想的编码参数。另一种方法为将新参数集放置进其中包含′moof窗的新窗中。在某些方面,这一方法不是后向兼容,而且现有的H.264/AVC文件阅读器会忽略新窗,其中需要新参数集以对电影片断中包含的样本进行正确解码。
一种实施例句法及语义如下所示:
Figure BDA0000121362850000081
Figure BDA0000121362850000101
Figure BDA0000121362850000121
在实施例之一中,变量定义如下:
live_session:本字段等于FALSE(假),说明MPD适用于按需流播会话。值TRUE(真)说明MPD适用于直播流会话。
major_brand:主文件格式标识符,说明旨在播放媒体展现内容,客户端须予以支持的文件格式特点。
时间标度:一个指定整个展现内容时间标度的整数;其为时间单位(以秒计时)的数量。例如,一个每1/60秒测量一次时间的时间坐标系具有的时间标度等于60。
presentation_duration:这类整数可反映出正常回放的另一次展现的展现长度(以指定的时间标度计算)。当该值等于0时,展现长度不可知。在直播流会话的媒体展现描述中,这个值设置为0。
constant_segment_duration:当该值为TRUE(真)时,片断长度为一个恒定的时间值。当该值为FALSE(假)时,片断的时间长度不恒定。
segment_duration:说明片断的时间长度(以指定的时间标度计算)。
constant_num_segments_per_file:当该值为TRUE(真),其中包含′moov′窗的文件除外,每一个文件包含恒定数量的片断。当该值为FALSE(假),未包含′moov′窗的文件可能包含不同数量的片断。
num_segments_in_one_file:说明一个文件中分断的数量(其中包含′moov′窗的文件除外)。
num_segments_aligned:当该值为TRUE(真)时,对于其它所有展现方式,临时校准每个文件中片断的数量。当该值为FALSE(假)时,对于其它所有展现方式,不临时调整每个文件中片断的数量。
byte_offset_included:当该值为TRUE(真)时,每个片断的字节偏移包含在MPD内。当该值为FALSE(假)时,每个片断的字节偏移未包含在MPD内。
codec_mime_type_included_for_each_file:当该值为TRUE(真)时,一个编解码MIME类型包含在MPD的特定文件部分内。当该值为FALSE(假)时,一个编解码MIME类型信息仅包含在MPD的全局部分内。
num_separate_audio_alternatives:指定单独存储其它音频展现方式的次数。
num_separate_video_alternatives:指定单独存储其它视频展现方式的次数。
num_av_combined_audio_alternatives:指定单独存储的其它音视频展现方式的次数。
num_video_fastforward_alternatives:指定单独存储其它视频快进展现方式的次数。
num_video_rewind_alternatives:指定单独存储其它视频快退展现方式的次数。
codec_mime_type:说明另一展现展现中音频或视频媒体类型的初始媒体样本的MIME类型参数。对于视频,MIME型参数也包括模型和级别信息。
avg_bitrate/audio_avg_bitrate/video_avg_bitrate:说明另一展现中音频或视频媒体类型的平均比特速率(单位为比特/秒)。
language_code:说明此媒体的语言代码。请参阅ISO 639-2/T以了解三字符代码集。每个字符按照其ASCII值与0x60之间的差值予以打包。因为该代码限定为三个小写字母,所以此类值仅为正数。
channel_count:说明另一展现中音频媒体类型的音频信道的数量。
url_prefix:说明另一展现的URL前缀。如果一个文件包含另一种展现内容的一个或多个分片,则该文件的URL是另一种展现内容的URL前缀的链接和相应的文件索引值,例如,在具体形式为五个十进制数位的情况下,00000、00005及00012等。文件索引值自MPD推出。对于其它展现内容中的每一项,第一文件(该文件包含′moov′窗)的文件索引值等于0,而其它文件的文件索引值等于文件本身中第一片断的片断索引值,后者等于与文件本身中第一分片对应的电影片断的电影片断标头窗中的sequence_number(序号)字段。当片断持续时间保持不变且MPD中每一个片断都没有任何字节偏移或时间偏移信令的时候,客户端可计算出其寻找一个具体临时位置时待启动的具体文件。
max_segment_len_in_bytes:指定片断的最大长度(以字节计)。此值促成在MPD中无需字节范围的信令即可使用合适的字节范围。例如,基于片断的起始位置,在不知片断长度(以字节计)的情况下,客户端可能请求数据块,后者大小等于max_segment_len_in_bytes,以确保请求整个片断。基于片断的特定位置,在不知片断长度(以字节计量)的情况下,客户端可能请求数据块,后者大小等于max_segment_len_in_bytes减去特定位置的字节长度,以确保请求整个片断。
宽度:说明另一展现中视频媒体类型的水平分辨率(以象素计量)。
高度:说明另一展现中视频媒体类型的垂直分辨率(以象素计量)。
avg_framerate:说明另一展现中视频媒体类型的平均帧率,以帧/每256秒为单位。对于其它的视频快进或快退展现方式,此值计算过程为正常回放另一展现的展现长度(以指定的时间标度计算)除以所有视频帧的数量,再换算为以帧/每256秒为单位。
num_segments_denominator_ff[i]:第i个视频快进的另一展现的每个片断对应着与正常回放另一次视频展现的片断的num_segments_denominator_ff[i]值相等的数。
num_segments_denominator_rw[i]:第i个视频快进的另一展现的每个片断对应着与正常回放另一次视频展现的片断的num_segments_denominator_rw[i]值相等的数。
audio_codec_mime_type_for_one_file:说明与特定文件索引值对应的文件中的音频样本的编解码MIME型。
video_codec_mime_type_for_one_file:说明与特定文件索引值对应的文件中的视频样本的编解码MIME型。此值包括模型和级别信息。
segment_start_time:说明相对于展现的起始时间,片断的起始时间(以毫秒计量)。
segment_duration:说明片断的时间长度(以指定的时间标度计算)。
segment_startbyte_offset:说明文件(其中包含片断)中的片断的第一个字节的字节偏移。
segment_endbyte_offset:说明文件(其中包含片断)中的片断的最后一个字节的字节偏移。
这应理解为,另一个实施例可包含上述命令、变量及定义的子集。
在实施例之一中,MPD可采用XML或SDP加以描述,或根据基于ISO的媒体文件格式将其描述为一个新窗中包含的数据块字段。采用XML或SDP形式的MPD还可包含在窗内,例如,′moov′窗或文件中′ftyp′窗正后面的新窗。
以下所示的XML示例方案说明了XML中任何MPD的格式。
Figure BDA0000121362850000151
Figure BDA0000121362850000171
Figure BDA0000121362850000181
Figure BDA0000121362850000191
Figure BDA0000121362850000211
Figure BDA0000121362850000221
对于某些实施例,MPD的上述实施例句法及语义适应于存储方法1。使用存储方法2时,MPD在某些实施例中可如下略微进行修改。例如,MPD可包含在″giant″′moov′窗中或由″giant″′moov′窗中的URL引用。可从″giant″′moov′窗为其查找到等效信息的字段可从MPD中抽除,例如,major_brand、时间标度、presentation_duration。文件索引值初始设置为1,而非0,以保证在环路中全局信息之后,该索引值起始于1,而且为其中包含″giant″′moov′窗的文件保留文件索引值0。
在实施例之一中,URL前缀新增为其中包含″giant″′moov′窗的文件的全局信息的一部分,而且该文件的URL是URL前缀和″00000″的链接。或者,文件本身的URL新增为全局信息的一部分。
为在MPD中传输编解码信息的信令,一种替代性方法是传输一种媒体类型另一展现的一种全局编解码MIME类型的信令,并指定全局codec_mine_type仅说明另一展现中的上述媒体类型的初始编解码MIME类型。相似的方法可适用于流播其中包含诸如计时文本和计时图形等其它媒体类型的多媒体内容。
在某些实施例中,按需流播流程执行后,可实现设置、暂停、续播及停止功能。在实施例之一中,流播设置包括以下步骤。首先,客户端获取MPD的URL。客户端获取MPD的URL的方式不属于本文的范围。第二,例如,客户端通过使用HTTP GET请求获取MPD。客户端还可能通过采用一种循序渐进的方式(即使用具有字节范围的多个HTTP GET请求)获取MPD。当适用MPD渐进式请求方式时,以下步骤即可在各个片断的MPD数据可为客户端所用的情况下马上启动,而且客户端可在使用TCP链接请求片断时,使用单独的TCP链接请求MPD。使用存储方法2时,客户端获取其中包含″giant″′moov′窗的文件,而在未包含MPD的情况下,客户端通过使用HTTP GET请求或采用循序渐进的方式获取MPD。
第三,客户端解析MPD并选择其中包含客户端所需的所有媒体类型的另一次或其它多次合适展现方式。使用存储方法2时,客户端会在选择其它合适的展现方式的过程中解析其中包含″giant″′moov′窗的文件并使用文件及/或MPD中的信息。
第四,始于所选的其它展现方式每一项的第一片断,客户端请求所选的其它展现方式的片断。使用存储方法2时,始于所选的其它展现方式每一项的第二片断,客户端请求所选的其它展现方式的片断。
在实施例之一中,其中包含一个特定片断的文件的URL由MPD指定,其中每一个文件索引值对应着一个文件和多个片断,而且一个文件索引值的URL是相应URL前缀和文件索引值的级联,例如,采用五个十进制数位的形式。这一规则适应于流播过程涉及的所有HTTP GET请求,其中包括直播流情况。使用存储方法2时,为其中包含″giant″′moov′窗的文件保留文件索引值00000。
如果请求整个文件,则不须要使用字节范围,这与是否其中包含一个或多个片断无关。如果文件中存储有多个片断,而且客户端请求该文件中包含的所有片断的子集,则须使用字节范围。这一规则适应于流播过程涉及的所有HTTP GET请求,其中包括直播流情况。
在实施例之一中,为了暂停或停止,客户端通过发送HTTP GET请求即可停止请求更多数据。为了续播,自下一个片断开始,客户端在上一次所请求的片断之后发送HTTP GET请求以请求片断。
在实施例之一中,为了定位具体位置、快进或倒退,客户端始于上述具体位置处起始的片断发送HTTP GET请求,以请求当前其它展现方式的请求片断。注意:定位操作可仅定位在其中片断起始的具体位置。为了定位到具体的倒退位置,如果客户端已自上述具体位置缓冲数据,则它可自上述具体位置回放数据。
在实施例之一中,为了以具体的回放速度执行快进操作,则可进行以下步骤。首先,客户端停止请求当前其它展现方式的数据。第二,客户端选择合适的其它视频快进展现,该展现拥有与目标回放速度最为接近的帧率。第三,客户端自上一次所请求的片断之后的临时位置请求所选的其它展现的片断。在实施例之一中,客户端以指定的回放速度播放媒体。
在实施例之一中,为了以具体的回放速度执行快退操作,则可进行以下步骤。首先,客户端停止请求当前其它展现方式的数据。第二,客户端选择合适的其它视频快退展现,该展现拥有与目标回放速度最为接近的帧率。第三,客户端自上一次所请求的片断之后的临时位置请求所选的其它展现的片断。在实施例之一中,这要求在生成其它视频快退的过程中,视频帧的解码顺序与显示顺序相反。在实施例之一中,客户端以指定的回放速度播放媒体。
在实施例之一中,为了通过自一种替换性展现A切换至另一种替换性展现B而执行流播自适应,会执行以下步骤。首先,客户端停止请求当前其它展现方式的数据。
第二,如果客户端从未接收到B的任何片断,则客户端首先请求B的第一片断,再继上一次所请求片断之后,立即请求始于临时位置的B的片断。同时客户端存储B的第一片断,以便日后在自其它任何替换性展现切回至B的情况下使用。如果客户端已接收到并存储了B的第一片断,则会跳过对第一片断的请求。使用存储方法2时,客户端继上一次所请求的片断之后即可请求始于临时位置的B的片断。
在实施例之一中,对于直播流,以下规定适应于某些实施例。首先,除开第一片断(其包含零媒体样本),片断持续时间恒定,例如,constant_segment_duration不等于0。
第二,如果每个片断都存储在单独的文件中,则MPD不包含每个文件的元素,即,MPD在直播流会话过程中是静态的(不会发生变化)。这意味着constant_num_segments_per_file不等于0,codec_mime_type_included_for_each_file应等于0,constant_segment_duration不等于0,以及byte_offset_included等于0。在此情况下,其中包含其它每次展现最后片断的文件的URL应为其它展现的URL前缀和五个十进制数位99999之间的链接。或者,其中包含其它展现最后片断的文件的URL可为其它展现的URL前缀和特殊字符串(如,″last_segment″)之间的链接。在实施例之一中,如果有文件包含多个片断,则num_segments_aligned设置为真。
在一个直播流实施例中,设置具有以下步骤。首先,客户端获取MPD的URL。第二,客户端通过使用HTTP GET请求获取MPD。使用存储方法2时,客户端获取其中包含″giant″′moov′窗的文件,而在未包含MPD的情况下,客户端获取MPD。
第三,客户端解析MPD并选择其中包含客户端所需的所有媒体类型的另一次或其它多次合适展现方式。使用存储方法2时,客户端会在选择其它合适的展现方式的过程中解析其中包含″giant″′moov′窗的文件并使用文件及/或MPD中的信息。
第四,客户端请求所选的其他每一展现展现方式的第一片断,再请求所选的其他每一展现方式的最后一个片断。使用存储方法2时,客户端直接请求所选的其他每一次展现的最后一个片断。
第五,如果每个片断存储在单独的文件中(即constant_num_segments_per_file等于1),则客户端定期检查与下一个文件索引值对应的下一个文件的可用性,并在可获取文件的情况下,客户端通过使用不具有字节范围的HTTP GET请求,请求下一个文件。在此情况下,如果下一个文件不包含′moof′窗(例如,文件为空),则客户端应断定直播流会话已结束。否则(多个片断可能存储在一个文件中),客户端通过使用具有开放式字节范围的HTTP GET请求,自之前请求最后一个字节后定期请求MPD中已更新的部分,再请求下一个可用的片断。在此情况下,如果下一个片断为空(即其不包含任何媒体样本),则客户端应断定直播流会话已结束。客户端可使用独立的TCP链接用于请求MPD,而使用另一个TCP链接用于请求片断。对下一个文件或下一个片断的可用性定期进行检查的时间,应不少于而应约近片断持续时间,或等于片断持续时间。
在实施例之一中,为了暂停或停止,客户端通过发送HTTP GET请求即可停止请求更多数据。为了续播,客户端发送HTTP GET请求,以请求所选的其它每一展现的最后一个片断,再执行上述的第五步。
在实施例之一中,为了定位到具体倒退位置,客户端始于上述具体位置处起始的片断发送HTTP GET请求,以请求当前其它展现方式的片断。在某些实施例中,定位操作定位在其中片断起始的具体位置。如果客户端已自上述具体位置缓冲数据,则它可自上述具体位置回放数据。
在实施例之一中,快退对于直播流和按需流播发挥同样的作用。
在一个直播流实施例中,为了通过自一种替换性展现A切换至另一种替换性展现B而执行流播自适应,会执行以下步骤。
首先,客户端停止请求当前其它展现方式的数据。第二,如果客户端从未接收到B的任何片断,则客户端首先请求B的第一片断,再请求B的最后一个片断。同时客户端存储B的第一片断,以便日后在自其它任何替换性展现切回至B的情况下使用。如果客户端已接收到并存储了B的第一片断,则会跳过对第一片断的请求。使用存储方法2时,客户端仅请求B的最后一个片断。
第三,如果每个片断存储在单独的文件中(即constant_num_segments_per_file等于1),则客户端定期检查与下一个文件索引值对应的下一个文件的可用性,并在可获取文件的情况下,客户端通过使用不具有字节范围的HTTP GET请求,请求下一个文件。在此情况下,如果下一个文件不包含′moof′窗(例如,文件为空),则客户端应断定直播流会话已结束。否则(多个片断可能存储在一个文件中),客户端通过使用具有开放式字节范围的HTTP GET请求,自之前请求最后一个字节后定期请求MPD中已更新的部分,再请求下一个可用的片断。在此情况下,如果下一个片断为空(即其不包含任何媒体样本),则客户端应断定直播流会话已结束。客户端可使用独立的TCP链接用于请求MPD,而使用另一个TCP链接用于请求片断。对下一个文件或下一个片断的可用性定期进行检查的时间,应不少于而应约近片断持续时间,或等于片断持续时间。
在实施例之一中,在MPD中,可包括媒体片断的字节范围和时间范围,以便客户端能高效地请求仅使用字节范围的媒体片断。
在另一个实施例中,MPD可包括媒体其它展现形式的其它编解码信息,以支持采用一种以上编码配置而进行编码的媒体内容。在实施例之一中,MPD可包括所有片断的最大长度,使得在MPD中无需字节范围的信令即可使用字节范围,并大大缩减MPD的大小,这意味着流播过程的启动迟延降低。
在另一个实施例中,为了表明直播流会话结束,服务器可采用异常方式组成下一个预期文件或片断,例如,清空文件或片断。在实施例之一中,为了成功调至直播流会话并开始请求最新内容,流播服务器中可用的且其中包含最新片断的文件使用了一个特殊的文件名称,继而使用了一个特殊的URL。在实施例之一中,为了让客户端计算出其寻找一个具体临时位置时待启动的具体文件,而此时分片持续时间保持不变,以及MPD中每一个分片都没有任何字节偏移或时间偏移信令,文件的URL生成后可具有指明文件开始回放时间的功能。在实施例之一中,提供了可启动诸如设置、暂停、续播及停止等一般流播流程的高效流播流程,并提供了搜索、快进、快退及媒体流自适应流程。
虽然详细描述了目前的实施例及其优势,但请理解这一点:在不背离专利申请中定义的发明实质和范畴的情况下,可进行各种变化、变动和替换。例如,上述的许多特性和功能可在软件、硬件、固件或它们的组合中实施。
另外,本申请的范围并不局限于规格中描述的流程、机器、制造、物质成分、装置、方法和步骤的特定实施例。这些流程、机器、制造、物质成分、工具、方法或步骤,不管是目前已存在还是有待日后开发,只要是能够与本文描述的相应的实施例发挥本质上相同的功能或取得本质上相同的结果,都可以根据本发明而予以采用,作为相关技术中的一个普通技巧。本发明披露后,技术人员应对这一点有所理解。相应地,随附的权利要求书旨在将这些流程、机器、制造、物质成分、工具、方法或步骤纳入权利要求的范围中。

Claims (35)

1.一种方法,其中包括:
以电子方式自网络接收媒体展现描述(MPD),所述MPD描述其中包含多种媒体类型的其它展现方式的多媒体内容,并且,所述MPD包括可说明其它展现方式的编码方式的信息;
基于所述MPD中包括的信息,至少为多种媒体类型中的一种选择其它展现方式之一;
逐份请求所选的多种其它展现方式之一;
以电子方式接收媒体数据。
2.如权利要求1所述的方法,进一步包括回放所述已接收的媒体数据。
3.权利要求1所述的方法,所述分别请求其它表示方式中所选的一份包括使用HTTP GET请求,所述请求具有基于所述MPD中包含的信息导出的URL。
4.如权利要求3所述的方法,所述至少一个URL包括一个片断索引值。
5.如权利要求3所述的方法,所述MPD包括说明媒体片断字节范围和时间范围的信息。
6.权利要求3所述的方法,所述MPD包括说明另一展现的更多编解码信息。
7.权利要求3所述的方法,所述MPD说明另一展现中所有媒体片断的最大长度信息。
8.如权利要求3所述的方法,其中直播流会话中多媒体内容的一端由特殊片断指明。
9.如权利要求3所述的方法,所述直播流会话中的最后片断由一个特殊的URL指明。
10.如权利要求3所述的方法,所述片断的URL可指明所述片断的起始时间。
11.如权利要求3所述的方法,所述媒体类型之一是视频,其它展现方式中的至少有一是使用H.264/AVC视频编码标准予以编码的,而且至少有一电影片断窗包含H.264/AVC参数集。
12.如权利要求3所述的方法,所述MPD包括说明片断持续时间的信息。
13.如权利要求3所述的方法,所述MPD包括说明片断持续时间恒定值的信息。
14.如权利要求3所述的方法,所述MPD包括URL前缀。
15.如权利要求3所述的方法,所述MPD包括说明平均帧率的信息。
16.如权利要求3所述的方法,所述MPD包括说明其它适用于快进应用的展现方式的信息。
17.如权利要求3所述的方法,所述MPD包括说明其它适用于快退应用的展现方式的信息。
18.如权利要求17所述的方法,所述快退应用中的其它展现方式是以保证视频帧的解码顺序与显示顺序相反的方式生成。
19.一个用于接收流媒体内容的系统,所述系统包括:
用于自网络接收媒体展现描述(MPD)的通信适配器,所述MPD描述其中包括多种媒体类型的其它展现方式的多媒体内容,并且所述MPD包括说明其它展现方式的编码方式的信息;
处理器,用于基于所述MPD中包括的信息为一种以上的媒体类型选择其它展现方式之一,逐份请求所选的多种其它展现方式之一,所述通信适配器接收媒体数据。
20.如权利要求19所述的系统,还包括用于播放所述已接收的媒体数据的多媒体适配器。
21.如权利要求19所述的系统,所述处理器通过使用带有基于MPD中包括的信息而导出的URL的HTTP GET请求,逐份请求所选的多种其它展现方式之一。
22.如权利要求21所述的方法,所述MPD包括说明媒体片断字节范围和时间范围的信息。
23.如权利要求21所述的系统,所述MPD包括说明另一展现的更多编解码信息。
24.如权利要求21所述的系统,所述MPD包括说明另一呈现中所有媒体片断的最大长度信息。
25.如权利要求21所述的系统,其中直播流会话中多媒体内容的一端由特殊片断指明。
26.如权利要求21所述的系统,其中直播流会话中的最后片断由一个特殊的URL指明。
27.如权利要求21所述的系统,所述片断的URL可指明片断的起始时间。
28.如权利要求21所述的系统,所述媒体类型之一是视频,其它展现方式中至少之一是使用H.264/AVC视频编码标准予以编码的,而且至少有一电影片断窗包含H.264/AVC参数集。
29.如权利要求21所述的系统,所述MPD包括说明片断持续时间的信息。
30.如权利要求21所述的系统,所述MPD包括说明片断持续时间恒定值的信息。
31.如权利要求21所述的系统,所述MPD包括URL前缀。
32.如权利要求21所述的系统,所述MPD包括说明平均帧率的信息。
33.如权利要求21所述的系统,所述MPD包括说明适用于快进应用的其它展现方式的信息,及说明适用于快退应用的其它展现方式的信息。
34.一种非临时性计算机可读介质中存储有可执行程序,其中该程序指示微处理器执行以下步骤:
自网络接收媒体展现描述(MPD),所述MPD描述包括多种媒体类型的其它展现方式的多媒体内容,并且所述MPD包括说明其它展现方式的编码方式的信息;
基于所述MPD中包括的信息,至少为多种媒体类型中的一种,选择其它表示方式之一;
通过使用带有基于MPD中包括的信息而导出的URL的HTTP GET,逐份逐份请求所选的多种其它展现方式之一。
接收媒体数据。
35.如权利要求34所述的非临时性计算机可读介质,所述程序进一步指示微处理器播放所述接收的媒体数据。
CN2010800270246A 2009-11-04 2010-11-04 媒体内容流播的系统和方法 Pending CN102473159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710149319.4A CN107911332B (zh) 2009-11-04 2010-11-04 媒体内容流播的方法、系统和计算机可读介质

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25816209P 2009-11-04 2009-11-04
US61/258,162 2009-11-04
PCT/US2010/055506 WO2011057012A1 (en) 2009-11-04 2010-11-04 System and method for media content streaming

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710149319.4A Division CN107911332B (zh) 2009-11-04 2010-11-04 媒体内容流播的方法、系统和计算机可读介质

Publications (1)

Publication Number Publication Date
CN102473159A true CN102473159A (zh) 2012-05-23

Family

ID=43970336

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2010800270246A Pending CN102473159A (zh) 2009-11-04 2010-11-04 媒体内容流播的系统和方法
CN201710149319.4A Active CN107911332B (zh) 2009-11-04 2010-11-04 媒体内容流播的方法、系统和计算机可读介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710149319.4A Active CN107911332B (zh) 2009-11-04 2010-11-04 媒体内容流播的方法、系统和计算机可读介质

Country Status (6)

Country Link
US (3) US8677005B2 (zh)
EP (3) EP2491495A4 (zh)
CN (2) CN102473159A (zh)
BR (1) BR112012011581A2 (zh)
RU (1) RU2622621C2 (zh)
WO (1) WO2011057012A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974147A (zh) * 2014-03-07 2014-08-06 北京邮电大学 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统
CN106664299A (zh) * 2015-02-15 2017-05-10 华为技术有限公司 基于超文本传输协议媒体流的媒体呈现导览方法和相关装置
WO2017166491A1 (zh) * 2016-03-28 2017-10-05 乐视控股(北京)有限公司 媒体播放列表的切片时长的检测方法及装置
CN115462063A (zh) * 2021-01-05 2022-12-09 腾讯美国有限责任公司 用于通过http的动态自适应流传输的方法和设备

Families Citing this family (105)

* Cited by examiner, † Cited by third party
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
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2348640B1 (en) 2002-10-05 2020-07-15 QUALCOMM Incorporated Systematic encoding of chain reaction codes
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
EP1743431A4 (en) 2004-05-07 2007-05-02 Digital Fountain Inc SYSTEM FOR DOWNLOADING AND RECORDING AND CONTINUOUS READING OF FILES
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
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
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
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
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
US9237101B2 (en) * 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman Real-Time or Near Real-Time Streaming
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
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
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR101777347B1 (ko) 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101750048B1 (ko) * 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101737084B1 (ko) 2009-12-07 2017-05-17 삼성전자주식회사 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
EP2510669A4 (en) * 2009-12-11 2013-09-18 Nokia Corp DEVICE AND METHODS FOR DESCRIBING SYNCHRONIZATION REPRESENTATIONS IN CONTINUOUSLY TRANSMITTED MULTIMEDIA FILES
JP5824465B2 (ja) * 2010-02-19 2015-11-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Httpストリーミングにおける適応のための方法と装置
KR101777348B1 (ko) 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB2479455B (en) 2010-04-07 2014-03-05 Apple Inc Real-time or near real-time streaming
US8543724B2 (en) 2010-04-30 2013-09-24 Digital Keystone, Inc. Methods and apparatuses for a projected PVR experience
WO2011140288A1 (en) * 2010-05-04 2011-11-10 Verimatrix, Inc. Device authentication for secure key retrieval for streaming media players
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
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 (ko) * 2010-07-16 2012-01-30 한국전자통신연구원 스트리밍 서비스 송/수신 장치 및 방법
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
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
KR101472032B1 (ko) * 2010-09-20 2014-12-16 (주)휴맥스 홀딩스 Http 스트리밍에서 표현 스위칭시 처리 방법
US9369512B2 (en) * 2010-10-06 2016-06-14 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
JP5961174B2 (ja) 2010-11-02 2016-08-02 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディア記述配信のための方法およびデバイス
US10069887B2 (en) * 2011-01-04 2018-09-04 Thomson Licensing Dtv Apparatus and method for transmitting live media content
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US9462024B2 (en) 2011-06-08 2016-10-04 Futurewei Technologies, Inc. System and method of media content streaming with a multiplexed representation
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
US9591361B2 (en) * 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
US20130084053A1 (en) * 2011-10-04 2013-04-04 Utc Fire & Security Corporation System to merge multiple recorded video timelines
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9106476B2 (en) * 2011-10-07 2015-08-11 Verizon Patent And Licensing Inc. Optimizing selection of a network for video streaming
EP2595399A1 (en) * 2011-11-16 2013-05-22 Thomson Licensing Method of digital content version switching and corresponding device
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
US20130188922A1 (en) * 2012-01-23 2013-07-25 Research In Motion Limited Multimedia File Support for Media Capture Device Position and Location Timed Metadata
GB2499040B (en) * 2012-02-03 2019-06-19 Quantel Ltd Methods and systems for providing file data for a media file
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9161004B2 (en) 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
EP2873249A4 (en) * 2012-07-11 2016-07-13 Nokia Technologies Oy METHOD AND APPARATUS FOR INTERACTING WITH A MULTIMEDIA PRESENTATION DESCRIPTION DESCRIBING SUMMARY MULTIMEDIA PRESENTATION AND ORIGINAL MULTIMEDIA PRESENTATION
US8984540B2 (en) * 2012-09-14 2015-03-17 Taifatech Inc. Multi-user computer system
JP6161260B2 (ja) 2012-11-14 2017-07-12 キヤノン株式会社 送信装置、受信装置、送信方法、受信方法、及び、プログラム
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
GB2534057B (en) * 2013-07-12 2017-01-11 Canon Kk Methods for providing media data, method for receiving media data and corresponding devices
US9258747B2 (en) * 2013-09-17 2016-02-09 Intel IP Corporation User equipment and methods for fast handover failure recovery in 3GPP LTE network
EP3055805B1 (en) * 2013-10-28 2018-12-12 Huawei Technologies Co., Ltd. System and method for signaling and verifying url signatures for both url authentication and url-based content access authorization in adaptive streaming
KR20150065289A (ko) * 2013-12-05 2015-06-15 삼성전자주식회사 데이터 재사용 방법 및 전자장치
JP6340882B2 (ja) * 2014-04-04 2018-06-13 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US9860612B2 (en) * 2014-04-10 2018-01-02 Wowza Media Systems, LLC Manifest generation and segment packetization
US20150350622A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
EP3257252A1 (en) * 2015-02-09 2017-12-20 Bitmovin GmbH Client, live-streaming server and data stream using an information on a current segment of a sequence of segments
US10681107B2 (en) 2015-06-16 2020-06-09 Apple Inc. Adaptive video content for cellular communication
GB2539461B (en) * 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
US10425427B2 (en) 2015-06-19 2019-09-24 Futurewei Technologies, Inc. Template uniform resource locator signing
US10701038B2 (en) * 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
FI20165114A (fi) 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
FR3049795A1 (fr) * 2016-04-01 2017-10-06 Orange Procede d'optimisation du debit de contenus multimedia accessibles par au moins un terminal utilisateur, produit programme d'ordinateur et dispositif de gestion correspondants.
US9825801B1 (en) 2016-07-22 2017-11-21 Spotify Ab Systems and methods for using seektables to stream media items
US10367865B2 (en) 2016-07-28 2019-07-30 Verizon Digital Media Services Inc. Encodingless transmuxing
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
US10476943B2 (en) 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
US10440085B2 (en) * 2016-12-30 2019-10-08 Facebook, Inc. Effectively fetch media content for enhancing media streaming
US11197028B2 (en) * 2017-03-13 2021-12-07 Sling Media Pvt Ltd Recovery during video encoding
US10805650B2 (en) * 2017-03-27 2020-10-13 Qualcomm Incorporated Signaling important video information in network video streaming using mime type parameters
US10873781B2 (en) * 2017-06-13 2020-12-22 Comcast Cable Communications, Llc Video fragment file processing
WO2019006185A1 (en) * 2017-06-29 2019-01-03 Activevideo Networks, Inc. SYSTEM AND METHODS FOR ORCHESTRY NETWORK APPLICATION SERVICES
US11665219B2 (en) * 2017-07-10 2023-05-30 Qualcomm Incorporated Processing media data using a generic descriptor for file format boxes
US10965966B1 (en) * 2018-07-17 2021-03-30 Amazon Technologies, Inc. Dynamic content insertion
CN111327580A (zh) * 2018-12-17 2020-06-23 华为技术有限公司 一种报文传输方法及装置
CN111510790B (zh) * 2019-01-30 2021-10-15 上海哔哩哔哩科技有限公司 视频请求方法、系统、计算机设备及计算机可读存储介质
US11416203B2 (en) 2019-06-28 2022-08-16 Activevideo Networks, Inc. Orchestrated control for displaying media
EP4256791A1 (en) 2020-12-07 2023-10-11 ActiveVideo Networks, Inc. Systems and methods of alternative networked application services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1531601A1 (en) * 2003-11-14 2005-05-18 Thomson Licensing S.A. Method for discontinuous transmission, in sections, of data in a network of distributed stations
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
US20060037057A1 (en) * 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US20070292108A1 (en) * 2006-06-15 2007-12-20 Thales Avionics, Inc. Method and system for processing digital video

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925967B2 (en) * 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
ATE464740T1 (de) * 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
US7693508B2 (en) * 2001-03-28 2010-04-06 Qualcomm Incorporated Method and apparatus for broadcast signaling in a wireless communication system
FR2823038B1 (fr) * 2001-03-29 2003-07-04 Eads Defence & Security Ntwk Procede de gestion de l'alternat pour une communication en mode semi-duplex a travers un reseau de transport a commutation de paquets
US7437472B2 (en) * 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US20030135633A1 (en) * 2002-01-04 2003-07-17 International Business Machines Corporation Streaming and managing complex media content on Web servers
US7872772B2 (en) * 2002-05-29 2011-01-18 Caffary Jr Robert G Network printing tracking system
US7574508B1 (en) * 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US20040111677A1 (en) * 2002-12-04 2004-06-10 International Business Machines Corporation Efficient means for creating MPEG-4 intermedia format from MPEG-4 textual representation
US7586938B2 (en) * 2003-10-24 2009-09-08 Microsoft Corporation Methods and systems for self-describing multicasting of multimedia presentations
US20050198525A1 (en) * 2004-03-02 2005-09-08 Nokia Corporation System and associated terminal, method and computer program product for conveying context information and providing a context-based service based upon the context information
US7162533B2 (en) * 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
BRPI0517365B1 (pt) * 2004-09-23 2019-12-17 Interdigital Madison Patent Holdings inserção de metadados para controle de reprodução em fluxo de transporte de vídeo
JP2008530835A (ja) * 2005-02-08 2008-08-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション
US8683066B2 (en) * 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
JP4264833B2 (ja) * 2005-06-17 2009-05-20 ソニー株式会社 記録装置および方法、プログラム、並びに記録媒体
US20070002851A1 (en) * 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
US20070186005A1 (en) * 2005-09-01 2007-08-09 Nokia Corporation Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US8625607B2 (en) * 2007-07-24 2014-01-07 Time Warner Cable Enterprises Llc Generation, distribution and use of content metadata in a network
RU2477883C2 (ru) * 2007-08-20 2013-03-20 Нокиа Корпорейшн Сегментированные метаданные и индексы для потоковых мультимедийных данных
US9408165B2 (en) * 2008-06-09 2016-08-02 Qualcomm Incorporated Increasing capacity in wireless communications
US8364657B2 (en) * 2008-10-31 2013-01-29 Disney Enterprises, Inc. System and method for providing media content
US8285218B2 (en) * 2009-08-31 2012-10-09 The Nielsen Company (Us), Llc Methods and apparatus to identify wireless carrier performance effects
US9027062B2 (en) * 2009-10-20 2015-05-05 Time Warner Cable Enterprises Llc Gateway apparatus and methods for digital content delivery in a network
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1531601A1 (en) * 2003-11-14 2005-05-18 Thomson Licensing S.A. Method for discontinuous transmission, in sections, of data in a network of distributed stations
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
US20060037057A1 (en) * 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US20070292108A1 (en) * 2006-06-15 2007-12-20 Thales Avionics, Inc. Method and system for processing digital video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEX ZAMBELLI: "《IIS Smooth Streaming Technical Overview》", 31 March 2009, article "IIS Smooth Streaming Technical Overview" *
MICROSOFT CORPORATION: "《IIS Smooth Streaming Transport Protocol》", 8 September 2009, article "IIS Smooth Streaming Transport Protocol" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103974147A (zh) * 2014-03-07 2014-08-06 北京邮电大学 一种基于mpeg-dash协议的带有码率切换控制和静态摘要技术的在线视频播控系统
CN106664299A (zh) * 2015-02-15 2017-05-10 华为技术有限公司 基于超文本传输协议媒体流的媒体呈现导览方法和相关装置
CN106664299B (zh) * 2015-02-15 2020-01-17 华为技术有限公司 基于超文本传输协议媒体流的媒体呈现导览方法和相关装置
WO2017166491A1 (zh) * 2016-03-28 2017-10-05 乐视控股(北京)有限公司 媒体播放列表的切片时长的检测方法及装置
CN115462063A (zh) * 2021-01-05 2022-12-09 腾讯美国有限责任公司 用于通过http的动态自适应流传输的方法和设备

Also Published As

Publication number Publication date
CN107911332B (zh) 2021-01-08
US20110119394A1 (en) 2011-05-19
RU2012122792A (ru) 2013-12-10
US8677005B2 (en) 2014-03-18
US20150215358A1 (en) 2015-07-30
EP2491495A1 (en) 2012-08-29
US20140164575A1 (en) 2014-06-12
EP3220281A1 (en) 2017-09-20
RU2622621C2 (ru) 2017-06-16
WO2011057012A1 (en) 2011-05-12
EP2491495A4 (en) 2013-01-02
BR112012011581A2 (pt) 2017-09-19
EP3786806A1 (en) 2021-03-03
CN107911332A (zh) 2018-04-13
US10432683B2 (en) 2019-10-01
US8966106B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
CN102473159A (zh) 媒体内容流播的系统和方法
US10819815B2 (en) Apparatus and method for providing streaming content
US10939178B2 (en) Media streaming with latency minimization
US9462024B2 (en) System and method of media content streaming with a multiplexed representation
US20140143440A1 (en) Method and apparatus for streaming media content to client devices
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
CN110870282B (zh) 使用网络内容的文件轨处理媒体数据
EP2773078B1 (en) Method, system and devices for multimedia content delivery using adaptive streaming
JP6359539B2 (ja) レンダリング時の制御
EP4111700A1 (en) Identification of elements in a group for dynamic element replacement
US11765421B2 (en) Client based storage of remote element resolutions
US20230164398A1 (en) Video stream control
KR101877007B1 (ko) 스트리밍 컨텐츠 제공 장치 및 방법
CN113364728A (zh) 媒体内容接收方法、装置、存储介质和计算机设备
KR20200018890A (ko) 무선 스트리밍 방법

Legal Events

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: 20151009

Address after: Virginia

Applicant after: Global communications patent licensing Ltd

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: Huawei Technologies Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20151204

Address after: Inchon

Applicant after: Amotech Co., Ltd.

Address before: Virginia

Applicant before: Global communications patent licensing Ltd

RJ01 Rejection of invention patent application after publication

Application publication date: 20120523

RJ01 Rejection of invention patent application after publication