CN102203761B - 数字媒体的动态分段 - Google Patents

数字媒体的动态分段 Download PDF

Info

Publication number
CN102203761B
CN102203761B CN2009801438472A CN200980143847A CN102203761B CN 102203761 B CN102203761 B CN 102203761B CN 2009801438472 A CN2009801438472 A CN 2009801438472A CN 200980143847 A CN200980143847 A CN 200980143847A CN 102203761 B CN102203761 B CN 102203761B
Authority
CN
China
Prior art keywords
request
client computer
inventory
fragment
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009801438472A
Other languages
English (en)
Other versions
CN102203761A (zh
Inventor
J·A·博恰罗夫
G·张
G·维尔迪
V·苏德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102203761A publication Critical patent/CN102203761A/zh
Application granted granted Critical
Publication of CN102203761B publication Critical patent/CN102203761B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

可以提供媒体分段。首先,可以从客户机接收对清单的请求。然后,响应于接收到的对清单的请求,可以将清单发送至客户机。接着,可以从客户机接收对文件片段的请求。该请求可以表明和该文件片段对应的开始时间和结束时间。该请求可以是由清单定义的格式。然后,查询查找表以找到媒体文件中对应于开始时间的第一字节位置和媒体文件中对应于结束时间的第二字节位置。接着,可以从媒体文件提取在第一字节位置和第二字节位置之间的媒体文件的一部分。该部分可包括文件片段。文件片段可被发送至客户机。

Description

数字媒体的动态分段
背景
流传送音频是用于播放来自因特网的音频和/或视频文件的过程。多个文件以它们从内容服务器到达的次序在终端用户客户机处播放。文件不保留在终端用户客户机上,因此必须维持网络连接来保持接收文件。换言之,根据流传送,当文件由提供者从内容服务器传递时,文件被终端用户客户机持续地接收,并且通常被呈现给终端用户客户机。流传送依赖于将一个内容文件物理地分段成包括盘上的短期分段的多个文件。然而,该分段过程每小时创建具有和内容文件相关联的内容的几千个文件,由于文件数量大,因此所产生的内容文件库难以管理。
概述
提供本概述以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本概述并非旨在标识出所要求保护的主题的关键特征或必要特征。本概述亦非旨在用于限制所要求保护的主题的范围。
可以提供媒体分段。首先,可以从客户机接收对清单的请求。然后,响应于接收到的对清单的请求,可以将清单发送至客户机。接着,可以从客户机接收对文件片段的请求。该请求可以表明和该文件片段对应的开始时间和结束时间。该请求可以是由清单定义的格式。然后,查询查找表以找到媒体文件中对应于开始时间的第一字节位置和媒体文件中对应于结束时间的第二字节位置。接着,可以从媒体文件提取在第一字节位置和第二字节位置之间的媒体文件的一部分。该部分可包括文件片段。文件片段可被发送至客户机。
前述概括描述和以下详细描述两者都提供示例且都只是说明性的。因此,前述概括描述和以下详细描述不应被认为是限制性的。此外,除了此处所阐明的那些之外还可提供其他特征或变型。例如,各实施方式可涉及在详细描述中描述的各种特征组合和子组合。
附图简述
合并在本发明中并构成其一部分的附图示出本发明的各种实施方式。在附图中:
图1是一操作环境的框图;
图2是用于提供媒体分段的方法的流程图;
图3示出清单的文件布局;以及
图4是包括计算设备的系统的框图。
详细描述
以下详细描述参考各个附图。只要可能,就在附图和以下描述中使用相同的附图标记来指示相同或类似的要素。尽管可能描述了本发明的各实施方式,但修改、改编和其他实现也是可能的。例如,可以对附图中所示出的要素进行置换、添加、或修改,且可以通过对所公开的方法置换、重新排序、或添加阶段来修改此处所描述的方法。因此,以下详细描述并不限制本发明。相反,本发明的正确范围由所附权利要求书确定。
可以提供数字媒体的动态分段,用于和例如基于HTTP的渐进式下载一起传送。与本发明各实施例一致,可以提供文件格式、传输(例如有线)格式和服务器逻辑,以便有效地传送从盘上的物理上未分段的媒体文件而来的短期片段。常规的系统依赖于将所涉及的文件物理上分段成盘上的短期片段。然而,这会每小时创建具有内容的几千个文件,使所产生的库难以管理。短期片段(例如在线路上)可能允许数据被代理有效地高速缓存、利用负载平衡来横向扩展传送,并且为所使用的算法提供灵活性。
图1是包括媒体分段系统100的操作环境的框图。媒体分段100可以包括服务器105、客户机110和媒体文件115。媒体文件115可以被存储在服务器105上。媒体文件115可以包括头部120、第一片段125、第二片段130、第n个片段135和查找表140。客户机110可由希望观看和媒体文件115相对应的内容的用户来操作。服务器105可以向客户机110提供和媒体文件115相对应的内容。服务器105可以使用计算设备400来实现,客户机110可以使用其他计算设备418来实现,如图4进一步详述。
图2是阐明根据本发明的实施例的用于提供媒体分段的方法200中所涉及的各概略阶段的流程图。如上所述,方法200可以使用服务器105来实现。以下将更详细地描述实现方法200的各阶段的方式。
方法200可以在起始框205开始,并且前进到阶段210,在阶段210,服务器105可以从客户机110接收对清单300的请求,如参照图3所述。例如,清单300可以指定和媒体文件115相对应的内容可以被流传送的不同质量等级310(例如,聚集比特率)。同样,清单300可以指定每个质量等级所对应的轨道(tracks)315。质量等级310可以包括、但不限于:以以下比特率提供片段:1500Kbps;1000Kbps;或300Kbps。同样,轨道315可以包括但不限于音频、视频和隐藏字幕。此外,清单300可以描述一约定,例如统一资源定位符(URL)约定。客户机110可以在向服务器105要求和媒体文件115相对应的文件片段时使用该约定。图3示出清单300的文件布局的例子。
自服务器105接收对清单300的请求的阶段210,方法200可以前进至阶段220,在阶段220,服务器105可以响应于所接收的请求把清单300发送至客户机110。例如,如上所述,清单300可以描述对于客户机110可用的各种质量等级。因此,服务器105可以向客户机110发送这样的清单300,该清单300描述了服务器105上可用的信息(例如,媒体文件115)以及客户机110可以如何获得该信息。
一旦服务器105在阶段220把清单300发送至客户机110,方法200就可以继续到阶段230,在阶段230,服务器105可以从客户机110接收对文件片段的请求。该请求可以是由清单定义的格式。在创建请求时,客户机110可以考虑清单300所描述的约定。例如,客户机可以以URL格式构造该请求。在最高等级上,请求可以具有用户希望观看的内容的名称(例如,电影名称)。在下一等级,请求可以指示期望的比特率/质量等级(例如1500Kbps)。在随后的等级,请求可以指示轨道(例如音频)。在更后的等级,请求可以指示和与例如请求中命名的内容相关联的文件片段相对应的开始时间和结束时间。
客户机110可以作出和内容在时间上的连续部分相对应的连续请求。此外,客户机110可以评估在将客户机110连至服务器105的网络(未示出)上对于客户机110可用的带宽。基于评估带宽,客户机110可以提高或降低请求中的比特率/质量等级。例如,客户机110可以构造这样的请求,该请求以每秒1.5兆比特在电影的0秒到2秒间要求视频。然后,客户机110可以构造下一个请求,以每秒1.5兆比特在电影的2秒到4秒间要求视频。在确定将客户机110连至服务器105的网络上存在瓶颈后,客户机110可以构造随后的请求,以每秒500千比特在4秒到6秒间要求视频。比特率/质量等级可能由于所确定的瓶颈而减少。
在服务器105在阶段230接收到对文件片段的请求后,方法200可以前进到阶段240,其中服务器105可以查询查找表140中是否有媒体文件115中对应于开始时间的第一字节位置和媒体文件115中对应于结束时间的第二字节位置。例如,服务器105可以接收这样的请求,该请求以每秒1.5兆比特在特定电影的0秒到2秒间要求视频。服务器105可以从头部120确定该请求对应于媒体文件115。然后,服务器105可以将查找表140高速缓存到服务器105内的存储器中。服务器105然后可以用开始时间(例如0秒)和结束时间(例如,2秒)来查询查找表140。响应于该查询,查找表140可以对应地返回第一片段125的媒体文件115中的第一字节位置(例如字节位置30000)和第一片段125的媒体文件115中的第二字节位置(例如字节位置60000)。
一旦服务器105在阶段240查询了查找表140,方法200就可以继续到阶段250,在阶段250,服务器105可以从媒体文件115提取在第一字节位置和第二字节位置之间的媒体文件115的一部分。该部分可以包括第一片段125。例如,服务器105可以查找第一片段125、第二片段130和第n个片段135在连续媒体文件115中的位置,然后按请求从媒体文件115中提取对应于各片段的数据,而不是把和这些片段对应的数据保持为服务器105上完全分开的文件。
在服务器106在阶段250提取了媒体文件115的该部分后,方法200可以前进到阶段260,在阶段260,服务器105可以把和第一片段125相对应的所提取的数据发送至客户机110。此外,对于来自客户机110的后续请求,服务器105可以在连续媒体文件115中查找和后续请求对应的片段的位置,然后按后续的请求从媒体文件115提取对应于相应片段的数据。一旦服务器105在阶段260把文件片段发送至客户机110,方法200于是就在阶段270结束。
根据本发明的一实施例可包括用于提供媒体分段的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可用于从客户机接收对清单的请求,并且响应于接收到的对清单的请求而把清单发送至客户机。此外,处理单元可用于从客户机接收对文件片段的请求。该请求可以表明和该文件片段对应的开始时间和结束时间。该请求可以是由清单定义的格式。此外,处理单元可用于查询查找表以找到媒体文件中对应于开始时间的第一字节位置和媒体文件中对应于结束时间的第二字节位置。此外,处理单元可用于从媒体文件中提取在第一字节位置和第二字节位置之间的媒体文件的一部分。该部分可包括文件片段。同样,处理单元可用于把文件片段发送至客户机。
根据本发明的另一实施例可包括用于提供媒体分段的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可用于接收对文件片段的请求。该请求可以表明和该文件片段对应的开始时间和结束时间。该请求可以是由清单定义的格式。清单可以描述对应于可用质量等级的可用轨道。处理单元还可用于把查找表高速缓存到服务器的存储器存储中。此外,处理单元可用于查询已高速缓存的查找表以找到媒体文件中对应于开始时间的第一字节位置和媒体文件中对应于结束时间的第二字节位置。此外,处理单元可用于从媒体文件中提取在第一字节位置和第二字节位置之间的媒体文件的一部分。该部分可包括文件片段。
根据本发明的还有一个实施例可包括用于提供媒体分段的系统。该系统可包括存储器存储和耦合到该存储器存储的处理单元。处理单元可用于从客户机接收对清单的请求,并且响应于接收到的对清单的请求而把清单发送至客户机。清单可以描述对应于可用质量等级的格式和可用轨道。此外,处理单元可用于从客户机接收对文件片段的请求。该请求可以表明和该文件片段对应的开始时间和结束时间。该请求可以是由清单定义的格式。该请求可以表明和文件片段相对应的轨道和质量等级。此外,处理单元可用于把查找表高速缓存到存储器存储中,并且查询已高速缓存的查找表以找到媒体文件中对应于开始时间的第一字节位置和媒体文件中对应于结束时间的第二字节位置。此外,处理单元可用于从媒体文件中提取在第一字节位置和第二字节位置之间的媒体文件的一部分。该部分可以包括和所表示的轨道和质量等级相对应的文件片段。此外,处理单元可用于把文件片段发送至客户机。
图4是包括计算设备400的系统的框图。根据本发明的一个实施方式,上述存储器存储和处理单元可以在诸如图4的计算设备400等计算设备中实现。可以使用硬件、软件或固件的任何合适的组合来实现该存储器存储和处理单元。例如,存储器存储和处理单元可以用计算设备400或结合计算设备400的其他计算设备418中的任意一个(例如客户机110)来实现。根据本发明的各实施方式,上述系统、设备和处理器是示例,而其他系统、设备和处理器可以包括上述存储器存储和处理单元。此外,计算设备400可包括用于上述系统100的操作环境。系统100可以在其他环境中操作并且不限于计算设备400。
参考图4,根据本发明的一实施方式的系统可包括计算设备,诸如计算设备400。在一基本配置中,计算设备400可以包括至少一个处理单元402和系统存储器404。取决于计算设备的配置和类型,系统存储器404可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器404可以包括操作系统405、一个或多个编程模块406,且可以包括程序数据407和媒体文件115。操作系统405,例如,可适用于控制计算设备400的操作。在一个实施例中,编程模块406可包括例如,分段应用程序420。此外,本发明的各实施方式可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图4中由虚线408内的组件示出。
计算设备400可具有附加特征或功能。例如,计算设备400还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储在图4中由可移动存储409和不可移动存储410示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器404、可移动存储409和不可移动存储410都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备400访问的任何其它介质。任何这样的计算机存储介质都可以是设备400的一部分。计算设备400还可以具有输入设备412,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备414。上述设备是示例且可以使用其他设备。
计算设备400还可包含可允许设备400诸如通过例如内联网或因特网等分布式计算环境中的网络来与其他计算设备418进行通信的通信连接416。通信连接416是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。如此处所使用的术语“计算机可读介质”可以包括存储介质和通信介质两者。
如上所述,可以在系统存储器404中存储包括操作系统405在内的多个程序模块和数据文件。当在处理单元402上执行时,编程模块406(例如,分段应用程序420)可执行各过程,包括例如,如上所述的一个或多个方法200的各阶段。前述过程是示例,且处理单元402可执行其他过程。根据本发明的各实施方式可以使用的其他编程模块可以包括电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助应用程序等。
一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。本发明的各实施方式还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施方式可以在通用计算机或任何其他电路或系统中实现。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机进程的指令的计算机程序的载体上的传播信号。因此,本发明能以硬件和/或软件(包括固件、常驻软件、微码等)来具体化。换言之,本发明的各实施方式可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。更具体的计算机可读介质示例(非穷尽列表),计算机可读介质可以包括以下:具有一条或多条导线的电连接、便携式计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、和便携式压缩盘只读存储器(CD-ROM)。注意,计算机可使用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
以上参考例如根据本发明的各实施方式的方法、系统和计算机程序产品的框图和/或操作图示描述了本发明的各实施方式。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或CD-ROM;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的各方法的各阶段可以按任何方式来修改,包括通过对各阶段重新排序和/或插入或删除阶段,而不背离本发明。
包括此处所包括的代码中的版权在内的所有权利都归属于申请人并且是本申请人的财产。申请人保持并保留此处所包括的代码中的所有权利,并授予仅关于所授权的专利的再现且未出于其他目的再现该材料的许可。
虽然本说明书包括各示例,但本发明的范围由所附权利要求书来指示。此外,尽管用对结构特征和/或方法动作专用的语言描述了本说明书,但权利要求书并不限于上述特征或动作。相反,上述具体特征和动作是作为本发明的各实施方式的示例来公开的。

Claims (18)

1.一种用于提供媒体分段的方法,所述方法包括:
从客户机(110)接收(210)对清单(300)的请求;
响应于接收到的对清单(300)的请求,把所述清单(300)发送(220)至所述客户机(110)包括:发送描述文件片段(125,130,135)的可用质量等级(310)以及与所述可用质量等级(310)相对应的可用轨道(315)的清单(300);
从所述客户机(110)接收(230)对所述文件片段(125,130,135)的请求,所述请求表明和所述文件片段(125,130,135)相对应的开始时间和结束时间,所述请求是由所述清单(300)定义的格式;
查询(240)查找表(140)以找到媒体文件(115)中对应于开始时间的第一字节位置和媒体文件(115)中对应于结束时间的第二字节位置;
从所述媒体文件(115)提取(250)在所述第一字节位置和所述第二字节位置之间的所述媒体文件(115)的一部分,所述一部分包括所述文件片段(125,130,135);以及
把所述文件片段(125,130,135)发送(260)至所述客户机(110)。
2.如权利要求1所述的方法,其特征在于,发送(220)所述清单(300)包括:发送描述对所述客户机(110)可用的媒体的清单(300)。
3.如权利要求1所述的方法,其特征在于,发送所述清单(300)包括:发送描述如何以统一资源定位符URL来格式化请求的清单(300)。
4.如权利要求1所述的方法,其特征在于,发送(220)所述清单(300)包括:发送指示和对所述客户机(110)可用的媒体相对应的多个标题的清单(300)。
5.如权利要求1所述的方法,其特征在于,所述可用质量等级(310)以以下比特率对应地提供片段(125,130,135):1500Kbps、1000Kbps、和300Kbps。
6.如权利要求1所述的方法,其特征在于,所述可用轨道(315)包括以下的至少一个:音频、视频和隐藏字幕。
7.如权利要求1所述的方法,其特征在于,从所述客户机(110)接收(230)所述请求包括:从所述客户机(110)接收对所述文件片段(125,130,135)的请求,所述请求表明所述文件片段(125,130,135)的质量等级。
8.如权利要求1所述的方法,其特征在于,从所述客户机(110)接收(230)所述请求包括:从所述客户机(110)接收对所述文件片段(125,130,135)的请求,所述请求表明所述文件片段(125,130,135)的质量等级,所述质量等级是基于网络上对所述客户机(110)可用的带宽。
9.如权利要求1所述的方法,其特征在于,从所述客户机(110)接收(230)所述请求包括:从所述客户机(110)接收对所述文件片段(125,130,135)的请求,所述请求表明所述文件片段(125,130,135)的质量等级,所述质量等级被配置成以以下比特率之一提供所述片段(125,130,135):1500Kbps、1000Kbps、和300Kbps。
10.如权利要求1所述的方法,其特征在于,从所述客户机(110)接收(230)所述请求包括:从所述客户机(110)接收对所述文件片段(125,130,135)的请求,所述请求表明所述文件片段(125,130,135)的轨道。
11.如权利要求1所述的方法,其特征在于,从所述客户机(110)接收(230)所述请求包括:从所述客户机(110)接收对所述文件片段(125,130,135)的请求,所述请求表明所述文件片段(125,130,135)的轨道,所述轨道包括以下之一:音频、视频和隐藏字幕。
12.如权利要求1所述的方法,还包括把所述查找表(140)高速缓存到服务器(105)的存储器中,其中查询(240)查找表(140)包括查询已高速缓存的查找表(140)。
13.一种用于提供媒体分段的方法,所述方法包括:
接收(230)对文件片段(125,130,135)的请求,所述请求表明和所述文件片段(125,130,135)相对应的开始时间和结束时间,所述请求是由清单(300)定义的格式,所述清单(300)描述了和可用质量等级(310)相对应的可用轨道(315);
把查找表(140)高速缓存到服务器(105)的存储器中;
查询(240)已高速缓存的查找表(140)以找到媒体文件(115)中对应于开始时间的第一字节位置和媒体文件(115)中对应于结束时间的第二字节位置;以及
从所述媒体文件(115)提取(250)在所述第一字节位置和所述第二字节位置之间的所述媒体文件(115)的一部分,所述一部分包括所述文件片段(125,130,135)。
14.如权利要求13所述的方法,其特征在于,还包括:
从客户机(110)接收(210)对清单(300)的请求;以及
响应于接收到的对清单(300)的请求,把所述清单(300)发送(220)至所述客户机(110)。
15.如权利要求14所述的方法,其特征在于,发送(220)所述清单(300)包括:发送描述如何以统一资源定位符URL来格式化请求的清单(300)。
16.如权利要求13所述的方法,其特征在于,接收(230)所述请求包括:接收表明所述文件片段(125,130,135)的轨道的请求,所述轨道包括以下之一:音频、视频和隐藏字幕,所述请求指示所述文件片段(125,130,135)的质量等级,所述质量等级被配置成以以下比特率之一提供所述片段(125,130,135):1500Kbps、1000Kbps、和300Kbps。
17.如权利要求13所述的方法,还包括把所述文件片段(125,130,135)发送(260)到请求了所述文件片段(125,130,135)的客户机(110)。
18.一种用于提供媒体片段的系统(100),所述系统包括:
用于从客户机(110)接收(210)对清单(300)的请求的装置;
用于响应于接收到的对清单(300)的请求,把所述清单(300)发送(220)至客户机(110)的装置,所述清单(300)描述了和可用质量等级(310)相对应的格式和可用轨道(315);
用于从所述客户机(110)接收(230)对文件片段(125,130,135)的请求的装置,所述请求表明和所述文件片段(125,130,135)相对应的开始时间和结束时间,所述请求是由所述清单(300)定义的格式,所述请求表明和所述文件片段(125,130,135)相对应的轨道和质量等级;
用于把查找表(140)高速缓存到存储器存储中的装置;
用于查询(240)已高速缓存的查找表(140)以找到媒体文件(115)中对应于开始时间的第一字节位置和媒体文件(115)中对应于结束时间的第二字节位置的装置;
用于从所述媒体文件(115)提取(250)在所述第一字节位置和所述第二字节位置之间的所述媒体文件(115)的一部分的装置,所述一部分包括和所表明的轨道和质量等级相对应的文件片段(125,130,135);以及
用于把所述文件片段(125,130,135)发送(260)至所述客户机(110)的装置。
CN2009801438472A 2008-10-31 2009-10-16 数字媒体的动态分段 Active CN102203761B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/262,593 2008-10-31
US12/262,593 US8996547B2 (en) 2008-10-31 2008-10-31 Dynamic fragmentation of digital media
PCT/US2009/060984 WO2010051169A2 (en) 2008-10-31 2009-10-16 Dynamic fragmentation of digital media

Publications (2)

Publication Number Publication Date
CN102203761A CN102203761A (zh) 2011-09-28
CN102203761B true CN102203761B (zh) 2013-10-23

Family

ID=42129508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801438472A Active CN102203761B (zh) 2008-10-31 2009-10-16 数字媒体的动态分段

Country Status (9)

Country Link
US (1) US8996547B2 (zh)
EP (1) EP2350858A4 (zh)
JP (1) JP2012507940A (zh)
KR (1) KR101616147B1 (zh)
CN (1) CN102203761B (zh)
AU (1) AU2009309089B2 (zh)
CA (1) CA2737108C (zh)
MX (1) MX2011004153A (zh)
WO (1) WO2010051169A2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
EP2417743B1 (en) * 2009-04-09 2019-06-05 Telefonaktiebolaget LM Ericsson (publ) Methods and arrangements for creating and handling media files
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US9002881B2 (en) * 2009-10-29 2015-04-07 Microsoft Technology Licensing, Llc Assembling streamed content for on-demand presentation
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120114016A (ko) * 2011-04-06 2012-10-16 삼성전자주식회사 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
EP3340575A1 (en) 2011-12-06 2018-06-27 EchoStar Technologies L.L.C. Remote storage digital video recorder and related operating methods
US9049484B2 (en) 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
US8627387B2 (en) 2011-12-22 2014-01-07 Telefonaktiebolaget L M Ericsson (Publ) Distributed method of indexing time and file size alignment
EP2842311B1 (en) * 2012-04-25 2016-10-26 Huawei Technologies Co., Ltd. Systems and methods for segment integrity and authenticity for adaptive streaming
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
JP6175749B2 (ja) * 2012-09-19 2017-08-09 沖電気工業株式会社 コンテンツ送信装置、プログラム及びコンテンツ送信方法
US8904457B2 (en) 2012-12-28 2014-12-02 Microsoft Corporation Archiving a live media presentation
WO2014106206A1 (en) 2012-12-28 2014-07-03 DISH Digital L.L.C. Adaptive multicast delivery of media streams
US9344472B2 (en) 2012-12-28 2016-05-17 Microsoft Technology Licensing, Llc Seamlessly playing a composite media presentation
US10051025B2 (en) 2012-12-31 2018-08-14 DISH Technologies L.L.C. Method and apparatus for estimating packet loss
US10104141B2 (en) 2012-12-31 2018-10-16 DISH Technologies L.L.C. Methods and apparatus for proactive multi-path routing
US10708319B2 (en) 2012-12-31 2020-07-07 Dish Technologies Llc Methods and apparatus for providing social viewing of media content
US10284908B2 (en) * 2013-02-26 2019-05-07 Comcast Cable Communications, Llc Providing multiple data transmissions
US8869218B2 (en) * 2013-03-15 2014-10-21 Wowza Media Systems, LLC On the fly transcoding of video on demand content for adaptive streaming
US9270721B2 (en) * 2013-10-08 2016-02-23 Qualcomm Incorporated Switching between adaptation sets during media streaming
ES2613978T3 (es) * 2013-12-26 2017-05-29 Telefonica Digital España, S.L.U. Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida
KR101560727B1 (ko) * 2014-04-07 2015-10-15 네이버 주식회사 멀티트랙 비디오 컨텐츠의 제공을 위한 멀티트랙 비디오 컨텐츠 서비스 방법 및 시스템
US9940333B2 (en) * 2015-03-27 2018-04-10 Airwatch Llc File format bundling
CN105451032A (zh) * 2015-11-19 2016-03-30 北京奇虎科技有限公司 下载视频的方法与装置
WO2017117264A1 (en) 2015-12-29 2017-07-06 Echostar Technologies L.L.C Remote storage digital video recorder streaming and related methods
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
US10116719B1 (en) 2016-06-03 2018-10-30 Amazon Technologies, Inc. Customized dash manifest
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation
US10937460B2 (en) * 2016-06-09 2021-03-02 Apple Inc. Media files and protocols supporting runtime dependent tracks
US10405054B2 (en) * 2016-08-17 2019-09-03 Nuovo Solutions Llc System and method of remotely determining QoE
US10965966B1 (en) * 2018-07-17 2021-03-30 Amazon Technologies, Inc. Dynamic content insertion
US20200089779A1 (en) * 2018-09-19 2020-03-19 Twitter, Inc. Progressive API Responses
CN109819306B (zh) * 2018-12-29 2022-11-04 花瓣云科技有限公司 一种媒体文件裁剪的方法、电子设备和服务器
CN112765377A (zh) * 2019-11-01 2021-05-07 微软技术许可有限责任公司 媒体流中的时段定位

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193243A (zh) * 1997-02-10 1998-09-16 松下电器产业株式会社 由信息服务者提供各种信息的方法和设备
CN101083568A (zh) * 2007-07-06 2007-12-05 中国人民解放军国防科学技术大学 一种流媒体服务器服务能力评测方法
US7373406B2 (en) * 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
CN101217638A (zh) * 2007-12-28 2008-07-09 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779097B2 (en) * 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
US6574625B1 (en) * 2000-09-12 2003-06-03 International Business Machines Corporation Real-time bookmarks
US7240358B2 (en) * 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
ATE464740T1 (de) * 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
US7337231B1 (en) * 2000-12-18 2008-02-26 Nortel Networks Limited Providing media on demand
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
KR20060082014A (ko) * 2005-01-11 2006-07-14 삼성전자주식회사 매니페스트 파일 자료구조, 이를 이용한 컨텐츠 다운로드방법 및 그 재생장치
US20070073878A1 (en) * 2005-09-23 2007-03-29 Qurio Holdings, Inc. System and method for lowering proxy bandwidth utilization
KR100724899B1 (ko) * 2005-11-22 2007-06-04 삼성전자주식회사 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
JP4944484B2 (ja) * 2006-04-20 2012-05-30 キヤノン株式会社 再生装置、再生方法及びプログラム
US8504709B2 (en) * 2006-05-03 2013-08-06 Sony Corporation Adaptive streaming buffering
US20080126357A1 (en) * 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
WO2007130695A2 (en) * 2006-05-05 2007-11-15 Globstream, Inc. Method and apparatus for streaming media to a plurality of adaptive client devices
EP2835951B1 (en) * 2007-01-17 2018-08-22 Intertrust Technologies Corporation Methods, systems, and apparatus for fragmented file sharing
US8914529B2 (en) * 2007-01-22 2014-12-16 Microsoft Corporation Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
KR100815618B1 (ko) 2007-05-10 2008-03-24 주식회사 씬멀티미디어 이동통신 단말기에서 외부저장매체의 동영상 파일 재생장치및 방법
US20090164034A1 (en) * 2007-12-19 2009-06-25 Dopetracks, Llc Web-based performance collaborations based on multimedia-content sharing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1193243A (zh) * 1997-02-10 1998-09-16 松下电器产业株式会社 由信息服务者提供各种信息的方法和设备
US7373406B2 (en) * 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
CN101083568A (zh) * 2007-07-06 2007-12-05 中国人民解放军国防科学技术大学 一种流媒体服务器服务能力评测方法
CN101217638A (zh) * 2007-12-28 2008-07-09 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置

Also Published As

Publication number Publication date
CA2737108C (en) 2016-09-13
EP2350858A2 (en) 2011-08-03
AU2009309089A1 (en) 2010-05-06
WO2010051169A3 (en) 2010-07-22
US8996547B2 (en) 2015-03-31
KR101616147B1 (ko) 2016-04-28
US20100114921A1 (en) 2010-05-06
JP2012507940A (ja) 2012-03-29
AU2009309089B2 (en) 2014-05-15
CN102203761A (zh) 2011-09-28
CA2737108A1 (en) 2010-05-06
WO2010051169A2 (en) 2010-05-06
EP2350858A4 (en) 2013-06-05
MX2011004153A (es) 2011-05-23
KR20110079665A (ko) 2011-07-07

Similar Documents

Publication Publication Date Title
CN102203761B (zh) 数字媒体的动态分段
US11853342B2 (en) Efficient data distribution to multiple devices
US20210081623A1 (en) Method of writing and reproducing multimedia service by using tag and apparatus therefor
US8239385B2 (en) Method of writing and reproducing multimedia service by using tag and apparatus therefor
CN102308547B (zh) 通过非流化协议流化多媒体数据的方法
KR100362978B1 (ko) 디지털 콘텐트의 선택과 다운로딩을 위한 온라인브라우징과 요구불 데이터 방송의 결합
US20170206934A1 (en) Seamless playback of composite media
US10032479B2 (en) Fingerprint-defined segment-based content delivery
EP1239619A2 (en) Apparatus and method for media distribution in the form requested by a client
US20070250716A1 (en) Fingerprinting of Media Signals
US20020116517A1 (en) Virtual program streaming multi-media system
US7302437B2 (en) Methods, systems, and computer-readable media for a global video format schema defining metadata relating to video media
KR100809641B1 (ko) 이종 시스템간의 컨텐츠 교환 방법 및 그 방법을 수행하는컨텐츠 관리 시스템
US20070219920A1 (en) Content management method and apparatus
US20170041375A1 (en) Generating content fragments for content distribution
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
US7996489B2 (en) Method and apparatus for allowing a portable device to provide rich site summary service
US20100138418A1 (en) Method and apparatus for reproducing content by using metadata
EP1244309A1 (en) A method and microprocessor system for forming an output data stream comprising metadata
JP2005176034A (ja) 映像受信再生装置を動作させるプログラムおよび当該プログラムを記録したコンピュータ可読である記憶媒体および、映像受信再生装置および方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

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

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.