CN1692353A - 用于流媒体的稀少高速缓存 - Google Patents

用于流媒体的稀少高速缓存 Download PDF

Info

Publication number
CN1692353A
CN1692353A CNA038018497A CN03801849A CN1692353A CN 1692353 A CN1692353 A CN 1692353A CN A038018497 A CNA038018497 A CN A038018497A CN 03801849 A CN03801849 A CN 03801849A CN 1692353 A CN1692353 A CN 1692353A
Authority
CN
China
Prior art keywords
media
cache
stream
segment
high speed
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.)
Granted
Application number
CNA038018497A
Other languages
English (en)
Other versions
CN100456284C (zh
Inventor
A·V·格里格罗维齐
Y·乔伊
T·泡罗德卡瓦尔厚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
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 CN1692353A publication Critical patent/CN1692353A/zh
Application granted granted Critical
Publication of CN100456284C publication Critical patent/CN100456284C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • 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/233Processing of audio elementary streams
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • 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/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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/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

Abstract

描述了系统,方法,和数据结构,允许一种方式的高速缓存流媒体文件,允许存储和检索流媒体文件的部分,它们是时间非连续的和/或以不同的比特率被编码的。

Description

用于流媒体的稀少高速缓存
发明背景
媒体流是用于经诸如因特网或内部网等网络发送来自流媒体文件或从活动的流体源的音频/视频呈现和其它数据从一个位置到另一个位置的处理过程,。典型的,媒体流包括从服务器发送流媒体文件到客户,客户那里可以使用媒体播放器呈现流媒体文件(观看和/或收听)。此外,媒体流也可以对等的被实现。不像非流媒体传送技术那样,在可以被呈现之前需要被传送全部的媒体文件,媒体流允许呈现部分的流媒体文件,当被发送或流到客户时。
媒体流也可以是单路传送通信,其中流媒体文件从服务器流动到单个客户,或者多址通信,其中流媒体文件从服务器流动到多个客户。此外,媒流体也可以是活动的,其中包括表现活动事件的数据的流媒体文件随着它的出现流动,或是经要求的,其中当它被请求时流媒体文件被存储在流媒体文件中和流动。经要求的媒体流是典型的单路传送通信,具有发生在服务器和每个客户之间的独立的流动事件。
基本的流媒体典型的包括至少两个流:视频流和音频流。更为复杂的流媒体文件将包括多个视频和/或音频流,每个流以不同的比特率进行编码(即多比特率编码)。例如,视频的给定的部分或流体被存储在六个不同视频流的多比特率编码的流媒体文件中,每个流体在不同的比特率上进行编码。当客户从服务器请求流媒体文件时,作出有关服务器和客户之间进行带宽的链接的决定。然后,基于预定的带宽标准,六个视频流的其中之一和一个音频流被选择用于传输到客户。例如,可以选择视频和音频流以便它们组合的比特率小于可用链接带宽的预定的百分率。如果,在流体处理过程中的一些点上,服务器和客户之间的链接带宽增加或减少,则选择音频和视频流的不同的组合以满足预定的带宽标准。这种基于可用带宽的从多比特率编码的流媒体文件中的“流体选择”类型普遍被称作“智能流体”。
在一些客户系统中,通过在播放流体之前,在客户上高速缓存一些或所有接收的流媒体文件,从而增强流过程(experience)。在播放它们之前的高速缓存流体减少了在客户端中断播放流媒体文件的网络连接问题的可能性。而且,在一些系统中,利用高速缓存可以完成某些最小使用的流体导航(倒带,重放)。
对于多比特率编码和/或媒体流高速缓存来说,目前存在的一个问题是没有一种方法在根本上针对被存储的可变比特率的流体或非时间相邻的流体,并接着以无缝方式被访问。典型的,由于带宽的改变,当在流媒体文件中的媒体流之间作出切换时,先前的流媒体文件的高速缓存部分被丢弃同时建立新的流体高速缓存。同样的,当在流媒体文件中的暂时的非相邻位置之间作出转移(jump)时,比如搜索操作,丢弃任何先前高速缓存的流媒体文件的部分同时建立新的流高速缓存。
下面针对这些和其他的问题描述各种系统,方法,和数据结构。
发明概述
在此描述的有关高速缓存流媒体文件方式中的各种系统,方法,和数据结构允许存储和检索时间非相邻的和/或不同比特率上被编码的流媒体文件部分。
根据一种实现方式,使用高速缓存机制,利用唯一的中间存储机制,允许在高速缓存文件中存储这样的时间非相邻的和/或各种流媒体文件的部分,并从其存取。根据另一种实现方式,使用唯一的高速缓存文件结构,允许在公用文件中存储这样的时间非相邻的和/或各种流媒体文件的部分,并从其存取。
简述附图
图1示例了网络环境,其中可以使用在此所述的各种系统,方法,和数据结构。
图2示例了客户和服务器装置。
图3示例了媒体流数据的安排和格式。
图4示例了高速缓存文件的数据结构。
图5示例了包括各种用于记录流媒体的操作流程图。
图6示例了包括各种用于播放流媒体的操作流程图。
图7示例了普通的计算机环境,能被用于实现在此所述的系统,方法,和数据结构。
详述优选实施例
通常,在此描述的有关高速缓存流媒体文件方式中的各种系统,方法,和数据结构允许存储和检索时间非相邻的和/或不同比特率上被编码的流媒体文件部分。如将要描述的,客户端高速缓存机制使用唯一的中间存储机制和唯一的高速缓存文件结构,允许在高速缓存文件中存取这种“不同的(dissimilar)”流媒体文件部分。
示例环境
图1示例了网络环境100。在环境100中,多个(x)客户装置102(1),102(2),.....102(x)经网络106被耦合到多个(y)服务器装置104(1),104(2),....104(y)。网络106意在表示任何各种常规的网络拓扑和类型(包括有线和/或无线网络)。网络106可以包括,例如,因特网,内部网,广域网(WAN),局域网(LAN),和/或任何这些或其他网络的各种组合。
应该理解,在此使用的服务器装置可以是任何流媒体文件的源的装置或处理过程,客户装置可以是任何接收流媒体文件的装置或处理过程(例如在客户装置上展现给用户)。例如,在对等网络中,流媒体文件的源的装置或处理过程可以被称作服务器装置,同时接收流媒体文件的装置或处理过程可以被称作客户装置。
根据在此所述的各种实施例,使用任何各种常规的通信协议(包括公共的和/或专用的协议),可以发生客户装置102和服务器装置104之间的通信。在一个实施过程中,使用超文本传输协议(HTIP)版本发生装置102和104之间的通信。在另一个实施过程中,使用实时流协议(RTSP)发生装置102和104之间的通信。换言之,可以使用其他的协议,比如对话启动协议(SIP),简单对象访问协议(SOAP),等等。
每个装置102和104都可以是任何常规的计算装置,包括台式PC,工作站,主机,因特网装置,游戏控制台,手提PC,蜂窝电话,个人数字助理(PDA),机顶盒等等。一个或多个装置102和104可以是相同类型的装置,或可替换的不同类型的装置。
尽管未显示,在客户装置102和服务器装置104之间可以设置一个或多个附加的装置(例如,防火墙,路由器,网关,桥,多个代理服务器等等)。应该注意的是,多个客户装置102可以访问单一的服务器装置104,并且单一的客户装置102可以访问多个服务器装置146。
图2示例了服务器装置104。如图所示,服务器装置104包括流体模块216和一个或多个流媒体文件222。例如,服务器装置104可以是图1中的源服务器装置104,或可替换的另一个装置(例如,代理装置)。通常,流体模块220起到接收用于流媒体文件的请求的功能,或者一部分流媒体文件,比如从客户装置102,和流到流媒体文件222或一部分文件到请求者。
“媒体文件”包括可以由媒体播放机反映的一个或多个数字流信息。典型的,媒体文件将包括时间同步的两个或多个流。媒体文件还可以包括独立的其他的流体。媒体文件的内容可能或不可能被压缩。在此所用的术语“流媒体文件”表示经网络提供给客户的媒体文件,并且在媒体文件以整体被传送之前可以开始媒体文件的重放(例如根据所需要的基础提供媒体文件而不是在重放之前以它的整体预传输数据)。流媒体文件可以是公共可用的或者有限可替换的(例如,限制到只有确定的用户,只有适当的付费才可用等等)。流媒体文件可以是各种一个或多个类型的基于时间的媒体文件的任何一种,其中流媒体文件内的信息规定整个重放过程中一些或所有文件的时间的展现,比如音频,视频,时间的文本展现,动画等等。进一步的,流媒体文件可以是预记录的或可替换的“存在(live)”(例如,当音乐会表演时被捕获的音乐会的数字表现以及在捕获之后立刻产生可用的流)。
流媒体文件222可以根据各种不同的流媒体文件格式被存储和/或流出。例如,流媒体文件可以被存储成静态的流媒体文件。换言之,从一个或多个流媒体源或发生器的媒体文件222可以是流出“活动的”。在一个实施例中,媒体文件根据ASF格式(先进的系统格式或先进的流格式)被存储和/或流出。有关ASF的附加的信息可以从Redmond,华盛顿的微软公司获得。相同的技术也可以被应用于其它的格式,比如MPEG(运动图象专家组)-1,MPEG-2,MPEG-4,Quicktime等等。
如图所示,客户装置102包括流媒体播放器206,网络模块208,高速缓存模块210,和一个或多个高速缓存文件216。包括在高速缓存模块210中的是媒体高速缓存模块212和字节高速缓存模块214。如所示的,一个或多个高速缓存文件被存储在客户102上的数据存储模块218中。
通常,流媒体播放器206提供一个装置,通过它可以由用户选择流媒体文件222以便在客户装置102上展现。根据一个实施例,流媒体播放器206是客户装置102上的处理器执行的应用程序或Java程序(applet)。流媒体播放器206是可操作的用于接收和解码流媒体文件并把流媒体文件的内容传送到客户装置102上的适当的视频和音频输出装置。
通常,网络模块208起到是流媒体播放器206和各种流媒体文件源之间的一种“网关”类型的作用。在该容量上,网络模块208执行许多有关建立流媒体播放器206和各种流媒体源之间的连接的功能。例如,根据一个实施例,网络模块208建立流媒体播放器206和服务器装置104之间的网络连接。网络模块208还建立流媒体播放器206和高速缓存模块210之间的网络连接。
此外,网络模块208执行许多有关的功能,确定流媒体播放器206从许多可用流媒体源中的哪个接收数据。例如,根据一个实施例,对于所有或部分的特殊的流媒体呈现,响应于从流媒体播放器206接收的请求,通过从先前存储的高速缓存文件216中检索请求的数据网络模块208确定是否请求能被满足,或是否需要从服务器装置中检索请求的数据。
根据一个实施例,基于各种不同的因素,网络模块208确定流模块220和网络模块208之间的流媒体文件的流体率。这可以以任何各种常规的方式来确定,比如在装置102和104之间发送测试消息,监测在装置102和104之间的连接状态,从流模块220接收可用带宽指示等等。给定当前的可用带宽,网络模块208开始请求流体率,它是小于当前带宽的特殊量。该特殊量可以是固定的(例如总是50kbps)或动态的(例如当前可用带宽的15%,或当前可用带宽的5%和25%之间)。
根据一个实施例,网络模块208生成或示例了媒体高速缓存模块212,如下所述。根据该实施例,网络模块可以生成或示例单一的网络模块或多个网络模块。由网络模块208执行的其他的功能可以包括但没有限制为,确定是否有关特殊流媒体呈现的高速缓存文件被存储在数据存储模块中和在数据存储模块中生成高速缓存文件。作为客户装置102一部分的常规的元件可以有选择地用于辅助网络模块208。例如,在一个实施例中,微软因特网浏览器程序包括高速缓存管理功能性,比如监视高速缓存中项目的终止和/或无用信息的收集,而且在执行以上概述的网络模块的各种操作中网络模块208可以使用这种功能性。
根据一个实施例,数据存储模块218包括非易失性存储器。例如,但并非限制,数据存储模块218可以由一个或多个非易失性存储器装置组成,比如磁的或光的存储装置,磁光存储装置,非易失性RAM,或其它类型的非易失性存储装置。根据另一个实施例,数据存储模块218包括一个或多个类型的易失性存储装置。
高速缓存模块210提供一种机制,通过它流媒体文件可以被写到数据存储模块218中的高速缓存文件216并从中读取。如所示的,高速缓存模块210包括媒体高速缓存模块212和字节高速缓存模块214。如下面所详述的,媒体高速缓存模块212和字节高速缓存模块214的每个生成和/或管理一个或多个中间数据结构,其中存储了接收的流媒体的各种部分和安排。
媒体高速缓存模块212对接收的流媒体文件提供中间数据结构。特别的是,媒体高速缓存模块212生成一个或多个计算机可读介质五种类型的数据结构,媒体高速缓存流,媒体高速缓存段,媒体高速缓存首部段,字节高速缓存索引段,和字节高速缓存数据段。在操作中,媒体高速缓存模块212生成单一的媒体高速缓存首部段和许多媒体高速缓存流以及用于被接收的每个媒体文件的媒体高速缓存段。媒体高速缓存模块212生成和管理用于每个不同类型的媒体高速缓存流和编码通过客户装置102在流媒体文件中接收的流体的比特率。如在此所使用的,流的“类型”涉及流体的格式或功能(例如音频或视频)。应该理解,流体的编码比特率是一种比特率,其中流被原始地存储在流媒体文件中。比如,如果媒体高速缓存模块212从流媒体文件接收三个视频流,每个具有不同的比特率,和两个音频流,每个具有不同的比特率,媒体高速缓存模块212将产生五个不同的媒体高速缓存流。在操作中,媒体高速缓存模块212将生成新的媒体高速缓存流,每次通过媒体高速缓存模块212接收一个新的媒体流的类型或比特率。
当通过媒体高速缓存模块212接收流体时,接收的流体内的数据被存储在相同类型和比特率的媒体高速缓存流内的媒体高速缓存段中(例如逻辑相关的)而作为接收的流体。例如,如果通过媒体高速缓存模块212接收在X比特率上被编码的视频流,来自接收流的数据将被存储在“视频”类型的媒体高速缓存流中,具有相关的X比特率。如果还没有生成X比特率上被编码的类型“视频”的媒体高速缓存流,媒体高速缓存模块212将生成这样的媒体高速缓存流。一旦媒体高速缓存模块212已经生成了用于接收流的给定类型和比特率的媒体高速缓存流,媒体高速缓存模块212将生成单独的媒体高速缓存段来用于接收流的每个时间的非连续部分。在此所使用的,术语“时间非连续的”涉及接收流或流媒体文件的部分,在整个重放过程中,对于时间上展现它们的内容来说,它们彼此不相邻。同样,媒体高速缓存模块212将生成单独的给定媒体高速缓存流中的媒体高速缓存段来及时用于不直接相邻的接收流的每个部分,相对于接收流的时间结构,到给定媒体高速缓存流中的另一个媒体高速缓存流。
图3示例了媒体高速缓存流的一种安排的展现300和对于假设的流媒体文件的通过媒体高速缓存模块212生成的媒体高速缓存段。所示的媒体高速缓存流和段与时间轴340垂直对准,其中时间轴表示流媒体文件的播放时间。
如所示的,媒体高速缓存模块212已经生成了三个单独的媒体高速缓存视频流:媒体高速缓存视频流(1)310,媒体高速缓存视频流(2)312,和媒体高速缓存视频流(3)314,每个与不同的比特率相关。此外,媒体高速缓存模块212已经生成两个单独的媒体高速缓存音频流:媒体高速缓存音频流(1)316,和媒体高速缓存音频流(2)318,每个与不同的比特率相关。
如所示的,媒体高速缓存模块212已经生成:媒体高速缓存视频流(1)310内的两个时间非连续的媒体高速缓存视频段320和326;媒体高速缓存视频流(2)312内的一个媒体高速缓存视频段322;和媒体高速缓存视频流(3)内的一个媒体高速缓存视频段324。另外,媒体高速缓存模块212已经生成:媒体高速缓存音频流(1)内的一个媒体高速缓存音频段328;和媒体高速缓存音频流(2)内的一个媒体高速缓存段330。
所注意的,对于每个接收的流媒体文件,媒体高速缓存模块212还生成媒体高速缓存首部段数据结构媒体高速缓存首部段,包括文件识别符字段,媒体高速缓存段计数字段,一个或多个媒体高速缓存段信息字段,和/或流媒体文件说明。
根据一个实施例,文件识别符字段包括识别高速缓存文件的全球唯一识别符(GUID),其中存储给定流媒体文件的每个媒体高速缓存流和段的数据。媒体高速缓存段计数字段存储一个数,表示具有存储在高速缓存文件中的数据的全部数量的媒体高速缓存段。针对具有存储在高速缓存文件中的数据的每个媒体高速缓存段,每个媒体高速缓存段信息字段存储媒体高速缓存段信息数据结构。
媒体高速缓存段信息数据结构包括诸字段,包含一些或全部有关具有高速缓存文件中的数据的单一的媒体高速缓存段的下列信息:媒体高速缓存段的识别符;流识别符,规定包括媒体高速缓存段的媒体高速缓存流;段开始位置指示符,表明包括媒体高速缓存段的媒体高速缓存流中媒体高速缓存段的开始;段结束位置识别符,表明包括媒体高速缓存段的媒体高速缓存流中媒体高速缓存段的结束;流大小指示符,规定包括媒体高速缓存段的媒体高速缓存流的大小;先前段识别符,即使有的话,规定媒体高速缓存段直接在媒体高速缓存流中的媒体高速缓存段之前;下一个段识别符,即使有的话,规定媒体高速缓存段直接在媒体高速缓存流中的媒体高速缓存段之后,和段数据类型识别符,规定包括在媒体高速缓存段中的数据的类型(例如,音频,视频等等)。
包括在流媒体文件说明中的信息取决于流媒体文件的格式。然而,通常来说,流媒体文件说明可以包括诸如描述各种媒体文件的流体的信息,用于产生媒体文件内容的编解码器的说明,和/或有关内容的其他的元数据。
在操作中,对于媒体高速缓存模块生成的每个媒体高速缓存段,媒体高速缓存模块212生成字节高速缓存索引段和相关的字节高速缓存数据段。根据一个实施例,并非限制的,每个字节高速缓存数据段包括从其生成的媒体高速缓存段的可展现的数据(例如,音频或视频数据等等)。根据一个实施例,并非限制的,每个字节高速缓存索引包括下列的有关数据的信息,该数据在它的相关的字节高速缓存数据段中;开始时间,持续时间,对字节高速缓存数据段中的数据的补偿,和/或数据的大小。
根据一个实施例,媒体高速缓存模块212生成或例示字节高速缓存模块214,如下所述。根据该实施例,媒体高速缓存模块212可以生成或示例单一的字节高速缓存模块214或多个字节高速缓存模块。
根据预定的高速缓存文件数据结构格式,字节高速缓存模块214尤其用来串行化和存储来自高速缓存文件216中的字节高速缓存索引段和字节高速缓存数据段的数据。图4示例了用于高速缓存文件216的高速缓存文件数据结构格式的这样一个例子。如图所示,高速缓存文件216由许多页面410组成。包括在这些页面中的是首部页412和许多数据页面414-420。通常,数据页面414-420包括通过媒体高速缓存模块212生成的字节高速缓存索引和数据段,同时首部页面412包括描述数据页面一个或多个特性的信息。
如图4所示,首部页面412包括许多首部页面数据字段422。包括在首部页面数据字段422中的是高速缓存文件首部数据字段424和许多高速缓存文件控制记录数据字段426-432。高速缓存文件首部数据字段424进一步包括许多高速缓存首部字段436。包括在高速缓存首部字段436中的是高速缓存首部GUID字段438,标志字段440,自由页面记录442,许多CFCR数据字段444,和外部块ID字段446。高速缓存首部GUID字段438包括唯一的识别高速缓存文件216的全球唯一识别符。标志字段440包括指示符标志,规定是否高速缓存文件包括有效数据。
许多CFCR数据字段444包括识别符,规定包括在首部页面数据字段422中的高速缓存文件控制记录的数量。外部块ID字段446包括指向高速缓存文件中的页面的指示字,它包括附加的高速缓存文件控制记录。外部块ID字段446被用于例子中,其中高速缓存文件中所需要的高速缓存文件记录数大于可以被包括在首部页面412中的高速缓存文件控制记录数。
自由页面记录442包括许多图表记录数据字段441,包括许多自由页面数据字段443,第一外部块ID字段445,和自由页面记录字段447。自由页面数据字段443的数目包括指示高速缓存文件中自由页面数目的识别符。自由页面记录字段447包括一个图表,特别的识别高速缓存文件中各种自由数据页面。在此情况下,自由数据页面的数目超过自由页面记录字段447中能被规定的自由数据页面的数目,第一外部块ID包括指向包括识别附加自由数据页面的数据结构的页面的指针(pointer)。
每个高速缓存文件控制记录426-432与单一的字节高速缓存段相关。通常,每个高速缓存文件控制记录426-432包括定义高速缓存文件216中有关字节高速缓存的它的位置的信息。如图4所示,每个高速缓存文件控制记录包括许多CFCR数据字段448。包括在CFCR数据字段448中的是CFCR GUID字段450,第一页面索引字段452,第一页面补偿字段454,最后页面补偿字段456,和高速缓存页面图表记录458。每个CFCR数据字段448,和它其中包含的信息可以说是与单一的字节高速缓存段相关,与它们属于的高速缓存文件控制记录相关。
GUID字段450包括唯一识别包括高速缓存文件控制记录的全球唯一的识别符。通常,第一页面索引字段452,第一页面补偿字段454,和最后页面补偿字段456,包括定义窗口的地址或范围的地址,其中存储了来自字节高速缓存的数据。
根据一个实施例,第一页面索引字段452包括数据页面中第一页面的地址,数据页面包括它的相关的字节高速缓存字段。第一页面补偿字段454包括指向页面中位置的字,相对于由第一页面索引字段452指示的页面的开始,它的相关的字节高速缓存段的数据的开始。最后页面补偿字段456包括指向页面中位置的字,相对于第一页面索引字段452指示的页面的开始,它的相关的字节高速缓存段的数据的结束。
高速缓存页面图表记录458包括许多图表记录数据字段460,包括许多页面数据字段462,第一外部块ID464,和高速缓存页面记录466。页面数据字段462的数目包括指示数据页面的数目的识别符,数据页面包含来自它的相关字节高速缓存段的数据。高速缓存页面记录字段466包括图表,识别各种数据页面,数据页面包括来自它的相关字节高速缓存段的数据。在此情况下,其中包括来自它的相关字节高速缓存段的数据页面的数目超过高速缓存页面记录字段466中能被规定的数据页面的数目,第一外部块ID字段464包括指向包括识别附加数据页面的数据结构的页面的指针,数据页面包括来自它的相关字节高速缓存段的数据。
图5示例了包括各种操作500的操作流程图,用于接收和存储流媒体文件。根据一个实施例,通过客户装置实现操作流程,比如图2的客户装置102,并可以以软件,固件,硬件,或它们的组合来执行。
如图5所示,在操作流程500的开始,针对所有或部分的指定的流媒体文件作出一个请求510。例如,根据一个实施例,针对特殊的流媒体文件作出请求到服务器装置,比如图2的服务器装置104。跟随着请求510,确定操作512确定是否请求的流媒体文件是可用的。如果确定请求的流媒体文件不是可用的,操作流程500结束。然而,如果确定请求的流媒体文件是可用的,生成高速缓存文件操作514接着生成用于存储请求的流媒体文件的高速缓存文件。根据一个实施例,生成高速缓存文件操作514在数据存储模块中生成高速缓存文件,比如图2的数据存储模块218。
高速缓存文件的生成之后紧接着请求说明操作516从服务器装置请求流媒体文件的说明描述。存储说明操作518接着在生成的高速缓存文件中接收和存储媒体文件说明。接着,选择流媒体文件流操作520从服务器装置选择媒体流以便传送到客户装置。根据一个实施例,至少部分的基于客户装置和服务器装置之间的当前可用带宽,选择流媒体文件流操作520选择用于传送的流体。流确定操作522接着确定是否在高速缓存文件中存在用于选择的流的相应的媒体高速缓存流。就是说,流确定操作522确定是否在高速缓存文件中存在具有与选择的流具有相同类型和比特率的媒体高速缓存流。
如果确定相应的媒体高速缓存流不存在于用于所选流的高速缓存文件中,则生成媒体高速缓存流操作524生成高速缓存文件中相应的媒体高速缓存流。接着相应媒体高速缓存流的生成,生成媒体高速缓存段操作526生成相应于选择的流在操作524中生成的媒体高速缓存流中的媒体高速缓存段。返回到确定操作522,如果确定对于选择的流在高速缓存文件中已经存在于相应的高速缓存流,操作流程旁路生成流媒体高速缓存流操作524,并前进到生成媒体高速缓存段操作526,其中在相应的媒体高速缓存流中生成媒体高速缓存段。接着生成媒体段操作,流操作528接着从选择的流体流出数据到生成的媒体高速缓存段中。
随着来自选择流的数据正流入生成的媒体段高速缓存中,检测搜索操作530确定是否搜索操作正被请求。如果确定搜索操作正被请求,操作流程回到选择流媒体文件流操作。如果确定搜索操作没有正在被请求,操作流程前进到检测带宽操作中的改变532,确定是否由于执行了选择流媒体文件流操作而在客户装置和服务器装置之间的带宽已经发生了改变。如果确定已经出现了带宽中的改变,操作流程返回到流确定操作522。如果确定没有出现带宽中的改变,操作流程前进到流确定操作的末端,其中确定是否选择流媒体文件流操作520中的选择流的末端已经到达。如果确定还没有到达选择流的末端,操作流程500前进回到检测搜索操作530。如果确定已经到达了选择流的末端,操作流程500前进到请求的媒体文件完成确定操作536,其中确定是否在510上请求的媒体文件已经完全地被存储到高速缓存文件。根据一个实施例,如果在可接受的比特率上所有期望的流体已经被完全下载,则确定请求的媒体文件完成。如果确定请求的媒体文件还没有完全地被存储到高速缓存文件,操作流程500返回到选择的流媒体文件流操作520。然而,如果确定请求的媒体文件已经完全地被存储到高速缓存文件,操作流程500结束。
图6示例了操作流程600,包括用于检索和呈现流媒体的各种操作600。操作流程600包括用于选择的检索单一流体的操作,比如单一的视频或音频流,从高速缓存文件,比如高速缓存文件216。应该理解,来自流媒体文件和/或高速缓存文件的多个流体可以根据操作流程600被检索。根据一个实施例,通过客户装置实现操作流程600,比如图2的客户装置102,可以以软件,固件,硬件或它们的组合形式来执行。
如图6所示,在操作流程600的开始,从数据请求者(例如媒体播放器)接收请求以便在特殊类型的流中从期望的点播放数据。例如,对于存储在服务器中特殊的流媒体文件,可以接收请求以便及时的从特殊点开始播放视频流。然而,并非直接到服务器来服务请求,优选的比特率操作612确定是否在优选的比特率上请求的数据在高速缓存文件中是可用的。优选的比特率可以设置或以许多方式来确定。例如,但并非限制的,根据一个实施例,使用数据分组技术来确定优选的比特率。根据另一个实施例,用户可以明确的规定优选的比特率。
如果在优选的比特率上请求的数据在高速缓存文件中是不可用的,服务器请求操作614则从服务器请求该请求的数据和在高速缓存文件中存储请求的数据。接着服务器请求操作614,操作流程返回到优选的比特率操作612。根据一个实施例,在作出许多未成功的尝试以从服务器得到请求的数据之后,对于在低于优选比特率的比特率上是否请求的数据在高速缓存文件中是可用的作出确定。如果是,从高速缓存文件可以访问较低比特率上的请求的数据。
接着,开始点确定操作616确定高速缓存文件中的媒体高速缓存流包括请求的数据的开始点。数据可用操作618接着确定从开始点到流的末端是否请求的数据是可用的。换言之,数据可用操作618确定从开始点到流的末端在流的数据中是否具有任何时间上的断续。如果确定从流的开始点到末端数据是可用的,操作流程前进到确定高速缓存段操作622,确定在包括开始点的确定的媒体高速缓存流中的媒体高速缓存段。然而,如果确定从流的开始点到末端数据是不可用的,操作流程前进到服务器数据请求操作620,从服务器请求需要完成该流体的任何数据,以至于从流的开始点到末端没有时间上的断续。操作流程600接着前进到确定高速缓存段操作622。应该明白的是,在通过服务器数据请求操作620请求已经被作出到服务器之后,操作流程继续。就是说,操作流程不中止,直到操作620中请求的数据从服务器被接收和被存储为止。
接着确定高速缓存段操作622,播放操作624把数据从确定的媒体高速缓存段运送到数据请求者以便播放。当确定的媒体高速缓存段被传送到数据请求者时,搜索确定操作626确定是否搜索已经被请求到确定的媒体高速缓存流中的新的开始点。例如,这可以发生在通过数据请求者执行搜索操作到确定的媒体高速缓存流中的另一个时间位置的时候。如果搜索确定操作626确定搜索已经被请求,操作流程600返回到数据可用操作618。然而,如果搜索确定操作626确定搜索没有被请求,并在来自确定的媒体高速缓存段的数据已经完全被传送到数据请求者之后,高速缓存流末端确定操作628确定是否确定的媒体高速缓存流的末端已经到达。如果确定该确定的媒体高速缓存流的末端还没有到达,下一个高速缓存段操作630确定被访问的确定的媒体高速缓存流中的下一个媒体高速缓存段。然而,如果确定该确定的媒体高速缓存流的末端已经到达,操作流程600前进到文件的末端(EOF)确定操作632,其中确定是否高速缓存文件的末端已经到达。如果确定高速缓存文件的末端还没有到达,操作流程600返回到高速缓存流末端确定操作628。然而,如果确定高速缓存文件的末端已经到达,操作流程600结束。
图5和6已经示例了各种操作流程。应该注意的是,可以按所示的顺序执行图中示例的操作,或采用不同的顺序进行的替换。
图7示例了普通的计算机环境700,能用于实现在此所述的技术。计算机环境700只是计算环境的一个例子,对于计算机和网络结构体系的使用或功能性的范围并不意味着构成任何限制。对于例子计算机环境700所示例了的任何一个或元件的组合来说,也不能把计算机环境700解释成具有任何的依赖性或要求。
计算机环境700包括以计算机702形式的通用计算装置。例如,计算机702可以是图1或2的客户装置102或服务器装置104。计算机702的元件可以包括,但并非局限于,一个或多个处理器或处理单元704,系统存储器706,和耦合包括处理器704-系统存储器706的各种系统元件的系统总线708。
系统总线708表示一个或多个任何几种类型的总线结构,包括存储器总线或存储器控制器,外围装置总线,图像加速口,和使用任何各种总线结构体系的处理器或局部总线。通过示例的方式,这样的体系结构可以包括工业标准结构(ISA)总线,微通道结构总线(MCA),增强ISA总线(EISA),视频电子标准协会(VESA)局部总线,和周边元件扩展接口(PCI)总线以及熟知的的夹层(Mezzanine)总线。
计算机702典型的包括各种计算机可读媒体。该媒体可以是计算机702可访问的任何可用的媒体并包括易失性和非易失性媒体,可移动的和不可移动的媒体。
系统存储器706包括易失性存储器形式的计算机可读媒体,比如随机存取存储器(RAM)710,和/或非易失性存储器,比如只读存储器(ROM)712。基本输入/输出系统(BIOS)714存储在ROM712中,该系统包含诸如在启动期间,帮助计算机702内的元件之间传送信息的基本程序。RAM710典型的包含数据和/或程序模块,被直接地访问到和/或由处理单元704马上操作。
计算机702还可以包括其他的可移动/非移动,易失性/非易失性计算机存储媒体。通过示例方式,图7示例了硬盘驱动器716,用于从非移动,非易失性磁媒体(未显示)读取和写到它们,磁盘驱动718用于从移动,非易失性磁媒体720(例如“软盘”))读取和写到它们,和光盘驱动722用于从移动的,非易失性光盘724读取和写到它们,比如CD-ROM,DVD-ROM,或其他的光媒体。硬盘驱动716,磁盘驱动718,和光盘驱动722通过一个或多个数据媒体接口726的每个被连接到系统总线708。换言之,硬盘驱动716,磁盘驱动718,和光盘驱动722通过一个或多个接口(未显示)可以被连接到系统总线708。
磁盘驱动和它们相关的计算机可读媒体提供非易失性存储的计算机可读指令,数据结构,程序模块,和用于计算机702的其他的数据。尽管举例示例了硬盘驱动716,可移动磁盘驱动720,和可移动光盘驱动724,但应该理解,可以是能存储由计算机访问的数据的其它类型的计算机可读媒体,比如磁带或其他的磁存储装置,闪存卡,CD-ROM,数字化视频光盘(DVD),或者其他可选存储器,随机存储器(RAM),只读存储器(ROM),电可擦除编程的只读存储器(EEPROM),等等,也能被利用来实现示例的计算机系统和环境。
许多程序模块可以被存储在硬盘716,磁盘720,光盘724,ROM712,和/或RAM710,包括示例的方式,操作系统726,一个或多个应用程序728,其他的程序模块730,和程序数据732。
用户能经输入装置输入命令和信息到计算机702中,比如键盘734和指示装置736(例如“鼠标”)。其它的输入装置738(没有特别的显示)可以包括麦克风,控制杆,游戏手柄,卫星盘,序列口,扫描仪等等。这些和其它的输入装置只能经过被耦合到系统总线708的输入/输出接口740被连接到处理单元704,但可以通过其它的接口和总线结构被连接,比如并行口,游戏口,或通用串行总线(USB)。
监视器742或其它类型的显示装置经接口也能被连接到系统总线708,比如视频适配器744。除了监视器742之外,包括诸如扬声器(未显示)和打印机746的其他的输出外部装置经输入/输出接口740被连接到计算机702。
利用逻辑连接到一个或多个远程计算机,计算机702可以运行在网络环境中,比如远程计算装置装置748。通过示例的方式,远程计算装置748可以是个人计算机,便携计算机,服务器,路由器,网络计算机,同等装置装置或其他的公共网络节点等等。远程计算装置748被示例成便携计算机,并可以包括涉及计算机702的在此所述的许多或所有元件和特点。
计算机702和远程计算机748之间的逻辑连接被描述成局域网(LAN)750和普通的广域网(WAN)752。这样的网络环境是办公室中的公共场所,企业-广域计算机网络,内联网,和因特网。
当在LAN网络环境中实现时,计算机702可以经网络接口或适配器754被连接到局域网750。当在WAN网络环境中实现时,计算机702可以包括调制解调器756或其他的装置以便经广域网络752建立通信。可以是计算机702的内部或外部的调制解调器756可以经输入/输出接口740或其他适当的机制被连接到系统总线708。应该理解的是,示例的网络连接是示例性的,可以使用计算机702和748之间建立通信链接的其他的装置。
在网络环境中,比如示例的计算环境700,相对于计算机702所述的程序模块,或其中的部分,可以被存储在远程存储器存储装置中。通过示例的方式,远程应用程序758位于远程计算机748的存储装置上。出于示例的目的,诸如操作系统的应用程序和其他的可执行程序元件在被示例成离散块,尽管这些程序和元件时被认为常可以位于计算装置702的不同的存储元件中,并通过计算机的数据处理器来执行。
在计算机可执行指令的这里所述一般前后关系中可以描述各种模块和技术,比如通过一个或多个计算机或其它装置所执行的程序模块。通常,程序模块包括例程,程序,对象,元件,数据结构等等,执行特殊的任务或实现特殊的抽象数据类型。典型的,程序模块的功能性可以以各个实施例所期望的形式被组合或分配。
这些模块和技术的实现可以通过一些形式的计算机可读媒体来存储或传输。计算机可读媒体可以是计算机可访问的任何的可用媒体。通过示例的方式,但并非限制,计算机可读媒体可以包括“计算机存储媒体”和“通信媒体”。
“计算机存储媒体”包括易失性的和非易失性的,可移动的和不可移动的媒体,以实现在任何方式或技术下的信息存储,比如计算机可读指令,数据结构,程序模块,或其他的数据。计算机存储媒体包括,但不限制,RAM,ROM,EEPROM,闪存或其他的存储器技术,CD-ROM,数字化视频光盘(DVD)或其他的光存储,磁带,磁盘存储或其他的磁存储装置,或任何其他的媒介,能用于存储期望的信息和能被计算机所访问。
“通信媒体”典型的具体实现为计算机可读指令,数据结构,程序块,或模块的数据信号中的其他的数据,比如载波或其它传输机制。通信媒体还可以包括任何信息传送媒体。术语“已调制数据信号”意味着一种信号,具有一个或多个特征集或以以这种方式改变以便在信号中编码信息。通过示例的方式,但不限制,通信媒体包括有线媒体,比如有线网络或直达线路连接,和无线媒体,比如声学的,RF,红外线,和其他的无线媒体。上述的任何组合也可以被包括在计算机可读媒体的范围内。
尽管上述使用了具体的结构特征和/或方法动作的语言,但应该明白,所附权利要求中定义的系统和方法不限于具体的特征或所述的动作。相反,具体的特征和动作被公开作为实现本发明的示例形式。

Claims (36)

1.一种方法包括:
接收多个时间非连续的流媒体文件部分,至少第一和第二非连续部分以不同的比特率编码;和
在单一高速缓存文件中存储多个时间非连续部分。
2.权利要求1定义的方法,其中第一和第二非连续部分包括视频数据。
3.权利要求1定义的方法,其中第一和第二非连续部分包括视频数据和其中第三非连续部分包括音频数据。
4.权利要求1的方法,其中高速缓存文件被存储在非易失性存储器中。
5.权利要求1定义的方法,其中存储的动作包括:
生成多个媒体高速缓存流,每个媒体高速缓存流与唯一的比特率相关;
在与第一非连续部分的比特率相关的媒体高速缓存流中存储第一非连续部分;
在与第二非连续部分的比特率相关的媒体高速缓存流中存储第二非连续部分;和
在高速缓存文件中存储媒体高速缓存流。
6.权利要求1定义的方法,其中存储的动作包括:
生成与第一非连续部分的比特率相关的第一媒体高速缓存流;
在第一媒体段流的媒体高速缓存段中存储第一非连续部分;
生成与第二非连续部分的比特率相关的第二媒体高速缓存流;
在第二媒体高速缓存流的媒体高速缓存段中存储第二非连续部分;
生成用于每个媒体高速缓存段的字节高速缓存索引段和字节高速缓存数据段;和
在高速缓存文件中存储字节高速缓存索引段和字节高速缓存数据段。
7.一种方法包括:
生成多个媒体高速缓存流,每个媒体高速缓存流与唯一比特率相关;
接收流媒体文件的多个部分,每个部分与流媒体文件的唯一的时间部分相关;
在与比特率相关的媒体高速缓存流的媒体高速缓存段中存储每个部分,其中该部分被编码,至少两个部分被存储在不同媒体高速缓存流的媒体高速缓存段中;
在单一的高速缓存文件中存储每个媒体高速缓存流。
8.权利要求7定义的方法,其中存储的动作包括:
生成用于每个媒体高速缓存段的字节高速缓存索引段和字节高速缓存数据段;和
在高速缓存文件中存储字节高速缓存索引段和字节高速缓存数据段。
9.权利要求7定义的方法,其中存储的动作包括:
生成用于每个段的字节高速缓存索引段和字节高速缓存数据段;和
在高速缓存文件中串行化字节高速缓存索引段和字节高速缓存数据段。
10.权利要求7定义的方法,其中高速缓存文件以非易失性方式存储。
11.一种系统包括:
数据存储模块;
高速缓存模块,可操作的接收和在数据存储模块的高速缓存文件中存储流媒体文件的多个时间非连续的部分,多个时间非连续部分中的两个或多个以不同的比特率编码。
12.权利要求11定义的系统,其中数据存储模块包括非易失性数据存储装置。
13.权利要求11定义的系统,进一步包括:
处理器;和
其中高速缓存模块包括处理器可执行代码。
14.权利要求11定义的系统,其中高速缓存模块包括:
可操作的媒体高速缓存模块:
存储多个时间非连续部分中的每个作为多个媒体高速缓存流中之一的媒体高速缓存段;和
把每个媒体高速缓存段解析成字节索引段和字节高速缓存数据段。
15.权利要求11定义的系统,其中高速缓存模块包括:
可操作的媒体高速缓存模块:
存储多个时间非连续部分中的每个作为多个媒体高速缓存流中之一的媒体高速缓存段,每个媒体高速缓存流与不同的比特率相关;和
把每个媒体高速缓存段解析成字节索引段和字节高速缓存数据段;和
字节高速缓存模块可操作的在高速缓存文件中存储字节高速缓存索引段和字节高速缓存数据段。
16.权利要求11定义的系统,其中高速缓存模块包括:
可操作的媒体高速缓存模块:
生成多个媒体高速缓存流,每个媒体高速缓存流与唯一的比特率相关;和
在与比特率相关的媒体高速缓存流的媒体高速缓存段中存储每个时间非连续部分,其中时间非连续部分被编码;和
把每个媒体高速缓存段解析成字节高速缓存索引段和字节高速缓存数据段;和
可操作的高速缓存模块:
在高速缓存文件中存储字节高速缓存索引段和字节高速缓存数据段。
17.权利要求11定义的系统,其中两个或多个时间非连续部分包括以第一比特率编码的第一视频部分,以第二比特率编码的第二视频部分,和音频部分,和其中第一视频部分,第二视频部分,以及音频部分被存储在不同的媒体高速缓存流中。
18.权利要求11定义的系统,其中:
流媒体文件包括不同的数据类型;和
高速缓存模块是可操作:
生成多个媒体高速缓存流,每个媒体高速缓存流与流媒体数据类型以及流媒体编码比特率相关;
在与时间非连续部分的流媒体数据类型和流媒体编码比特率相关的媒体高速缓存流中存储每个接收的流媒体数据的时间非连续部分;和
在高速缓存文件中存储媒体高速缓存流。
19.权利要求11定义的系统,其中:
流媒体文件包括不同的数据类型;和
高速缓存模块是可操作:
生成多个媒体高速缓存流,每个媒体高速缓存流与流媒体数据类型以及流媒体编码比特率相关;和
在与时间非连续部分的流媒体数据类型和流媒体编码比特率相关的媒体高速缓存流中存储每个接收的流媒体数据的时间非连续部分作为媒体高速缓存段;
把每个媒体高速缓存段解析成字节高速缓存索引段和字节高速缓存数据段;和
在高速缓存文件中存储字节高速缓存索引段和字节高速缓存数据段。
20.权利要求11定义的系统,其中高速缓存模块是可操作:
存储多个时间非连续部分中的每个作为多个媒体高速缓存流中之一的媒体高速缓存段;
生成映射指定媒体高速缓存段和流体的段/流体图,其中存储了每个时间非连续部分;和
把每个媒体高速缓存段解析成字节高速缓存索引段和字节高速缓存数据段。
21.一种具有用于执行动作的计算机可执行指令的计算机可读媒介,包括:
在客户上,存储从高速缓存文件中的流媒体源接收的流媒体文件的多个时间非连续部分,多个时间非连续部分中的每个以不同的比特率编码。
22.权利要求21定的计算机可读媒介,其中存储的动作包括:
接收以第一比特率编码的流媒体文件的第一视频部分;
在与第一比特率相关的媒体高速缓存视频流中存储第一视频部分;
接收以第二比特率编码的流媒体文件的第二视频部分;
在与第二比特率相关的媒体高速缓存视频流中存储第二视频部分;
接收流媒体文件的第一音频部分;
在媒体高速缓存音频流中存储第一音频部分;和
在高速缓存文件中存储音频和视频媒体高速缓存流。
23.权利要求21定义的计算机可读媒介,其中存储的动作包括:
接收以第一比特率编码的流媒体文件的第一视频部分;
在与第一比特率相关的媒体高速缓存视频流中存储第一视频部分;
接收以第二比特率编码的流媒体文件的第二视频部分;
在与第二比特率相关的媒体高速缓存视频流中存储第二视频部分;
接收以第一比特率编码的流媒体文件的第三视频部分,来自第一视频部分的第三视频部分是时间非连续的;
在与第一比特率相关的媒体高速缓存视频流中存储第三视频部分;
接收流媒体文件的第一音频部分;和
在媒体高速缓存音频流中存储第一音频部分;和
在高速缓存文件中存储音频和视频媒体高速缓存流。
24.权利要求21定义的计算机可读媒介,其中存储的动作包括:
在唯一媒体高速缓存段中存储每个时间非连续部分;
形成来自每个媒体高速缓存段的至少两个字节高速缓存段;和
在高速缓存文件中存储字节高速缓存段。
25.权利要求21定义的计算机可读媒介,其中存储的动作包括:
在至少两个字节高速缓存段中存储每个时间非连续部分;和
在高速缓存文件中存储字节高速缓存段。
26.一种具有其上存储数据结构的计算机可读媒介,包括:
多个数据页面,包括表示从流媒体源接收的流媒体文件的多个时间非连续部分的数据,至少两个时间非连续部分以不同的比特率编码。
27.一种具有其上存储数据结构的计算机可读媒介,包括:
存储一个或多个字节高速缓存段的多个数据页面,根据流媒体文件的时间非连续部分导出每个字节高速缓存段,至少两个时间非连续部分是以不同的比特率编码;和
首部页面包括描述数据页面的一个或多个特征的信息。
28.权利要求27定义的计算机可读媒介,其中首部页面包括多个高速缓存文件控制记录,每个高速缓存文件控制记录包括描述单一字节高速缓存段数据页面的位置的信息。
29.权利要求27定义的计算机可读媒介,其中首部页面包括多个高速缓存文件控制记录,每个高速缓存文件控制记录包括描述数据页面内单一字节高速缓存段位置的信息和表示包括单一字节高速缓存记录的页面数目的信息。
30.权利要求27定义的计算机可读媒介,其中首部页面包括多个高速缓存文件控制记录,每个高速缓存文件控制记录包括描述数据页面内单一字节高速缓存段的开始和结束点的信息。
31.权利要求27的计算机可读媒介,其中:
首部页面包括多个高速缓存文件控制记录;和
至少一个高速缓存文件控制记录包括一个阵列,包括高速缓存文件内每个页面的位置。
32.权利要求27定义的计算机可读媒介,其中:
首部页面包括多个高速缓存文件控制记录;和
至少一个高速缓存文件控制记录包括表示包含单一字节高速缓存段的开始的页面的信息和索引信息,指定页面内单一字节高速缓存段的开始。
33.权利要求27定义的计算机可读媒介,其中:
首部页面包括多个高速缓存文件控制记录;和
至少一个高速缓存文件控制记录包括定义数据页面中单一字节高速缓存段的开始和结束位置的信息。
34.权利要求27定义的计算机可读媒介,其中首部页面包括多个高速缓存文件控制记录,每个高速缓存文件控制记录与单一的字节高速缓存段相关,每个高速缓存文件控制记录识别预定的页面数,页面至少包括与高速缓存文件控制记录相关的字节高速缓存段的一部分,每个高速缓存文件控制记录包括指向页面的指针,该页面包括识别除了包括至少一部分与相关的高速缓存文件相关的预定页面数之外的预定页面数的信息。
35.权利要求27的计算机可读媒介,其中首部页面包括:
预定数的高速缓存文件控制记录,每个高速缓存文件控制记录包括描述数据页面中单一字节高速缓存段的位置的信息;和
指向高速缓存文件控制记录扩展页面的指针,扩展页面包括除了预订数高速缓存文件控制记录之外的高速缓存文件控制记录。
36.一种系统包括:
装置,用于接收流媒体文件的多个时间非连续部分,至少两个时间非连续部分以不同的比特率被编码;和
装置,用于在数据结构中相关和存储多个时间非连续部分。
CNB038018497A 2003-08-01 2003-08-20 用于流媒体的分散高速缓存 Expired - Fee Related CN100456284C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/632,767 2003-08-01
US10/632,767 US7941554B2 (en) 2003-08-01 2003-08-01 Sparse caching for streaming media

Publications (2)

Publication Number Publication Date
CN1692353A true CN1692353A (zh) 2005-11-02
CN100456284C CN100456284C (zh) 2009-01-28

Family

ID=34135554

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038018497A Expired - Fee Related CN100456284C (zh) 2003-08-01 2003-08-20 用于流媒体的分散高速缓存

Country Status (11)

Country Link
US (1) US7941554B2 (zh)
EP (1) EP1676213A4 (zh)
JP (1) JP2007529121A (zh)
KR (1) KR20060082135A (zh)
CN (1) CN100456284C (zh)
AU (1) AU2003259936A1 (zh)
BR (1) BR0306692A (zh)
CA (1) CA2468057A1 (zh)
MX (1) MXPA04006412A (zh)
RU (1) RU2325686C2 (zh)
WO (1) WO2005017779A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618911A (zh) * 2013-10-12 2014-03-05 北京视博云科技有限公司 一种基于视频属性信息的视频流提供方法及装置

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7155531B1 (en) * 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US20040193609A1 (en) * 2003-03-26 2004-09-30 Sony Corporation Master content directory service server for providing a consolidated network-wide content directory
US20050055352A1 (en) * 2003-09-08 2005-03-10 Sony Corporation Content directory and synchronization bridge
US20050055722A1 (en) * 2003-09-09 2005-03-10 Sony Corporation Intelligent routing of digital content
US7925790B2 (en) * 2003-09-17 2011-04-12 Sony Corporation Middleware filter agent between server and PDA
US20050060578A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Method of and system for authentication downloading
US7735000B2 (en) * 2003-09-25 2010-06-08 Sony Corporation Information and content exchange document type definitions to support content distribution
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US20050129196A1 (en) * 2003-12-15 2005-06-16 International Business Machines Corporation Voice document with embedded tags
US8689113B2 (en) 2004-01-22 2014-04-01 Sony Corporation Methods and apparatus for presenting content
US20050165941A1 (en) * 2004-01-22 2005-07-28 Edward Eytchison Methods and apparatuses for streaming content
US8234414B2 (en) 2004-03-31 2012-07-31 Qurio Holdings, Inc. Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US7337273B2 (en) 2004-03-31 2008-02-26 Microsoft Corporation Strategies for reading information from a mass storage medium using a cache memory
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US7860922B2 (en) * 2004-08-18 2010-12-28 Time Warner, Inc. Method and device for the wireless exchange of media content between mobile devices based on content preferences
US7860923B2 (en) * 2004-08-18 2010-12-28 Time Warner Inc. Method and device for the wireless exchange of media content between mobile devices based on user information
US7698386B2 (en) * 2004-11-16 2010-04-13 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US9176955B2 (en) * 2005-03-09 2015-11-03 Vvond, Inc. Method and apparatus for sharing media files among network nodes
US20080022343A1 (en) * 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
US8219635B2 (en) * 2005-03-09 2012-07-10 Vudu, Inc. Continuous data feeding in a distributed environment
US8904463B2 (en) * 2005-03-09 2014-12-02 Vudu, Inc. Live video broadcasting on distributed networks
US7937379B2 (en) * 2005-03-09 2011-05-03 Vudu, Inc. Fragmentation of a file for instant access
US8683066B2 (en) * 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
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
US8099511B1 (en) 2005-06-11 2012-01-17 Vudu, Inc. Instantaneous media-on-demand
US20070016611A1 (en) * 2005-07-13 2007-01-18 Ulead Systems, Inc. Preview method for seeking media content
US8688801B2 (en) 2005-07-25 2014-04-01 Qurio Holdings, Inc. Syndication feeds for peer computer devices and peer networks
US7849163B1 (en) 2005-08-11 2010-12-07 Qurio Holdings, Inc. System and method for chunked file proxy transfers
US7558804B1 (en) * 2005-08-26 2009-07-07 American Megatrends, Inc. Method, apparatus, and computer-readable medium for space-efficient storage of variables in a non-volatile computer memory
US8005889B1 (en) 2005-11-16 2011-08-23 Qurio Holdings, Inc. Systems, methods, and computer program products for synchronizing files in a photosharing peer-to-peer network
WO2007066993A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Method and apparatus for providing software by functional units in a software streaming system
US20080256178A1 (en) * 2005-12-08 2008-10-16 Electronics And Telecommunications Research Instit Method and Apparatus for Providing Software by Functional Units in a Software Streaming System
US8788572B1 (en) 2005-12-27 2014-07-22 Qurio Holdings, Inc. Caching proxy server for a peer-to-peer photosharing system
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8832247B2 (en) * 2006-03-24 2014-09-09 Blue Coat Systems, Inc. Methods and systems for caching content at multiple levels
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
EP1879392A3 (en) * 2006-07-11 2011-11-02 Magix Ag System and method for dynamically creating online multimedia slideshows
US8296812B1 (en) 2006-09-01 2012-10-23 Vudu, Inc. Streaming video using erasure encoding
JP2010503257A (ja) * 2006-09-01 2010-01-28 パクバイト ソフトウエア プロプライアタリー リミティド データネットワーク上においてデータファイルを伝送する方法及びシステム
US20080104267A1 (en) * 2006-11-01 2008-05-01 Sony Corporation Systems and methods for reducing display latency between streaming digital media
WO2008085205A2 (en) 2006-12-29 2008-07-17 Prodea Systems, Inc. System and method for providing network support services and premises gateway support infrastructure
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
US20170344703A1 (en) 2006-12-29 2017-11-30 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
KR100815618B1 (ko) * 2007-05-10 2008-03-24 주식회사 씬멀티미디어 이동통신 단말기에서 외부저장매체의 동영상 파일 재생장치및 방법
JP4970141B2 (ja) * 2007-05-25 2012-07-04 株式会社東芝 情報再生装置および情報再生方法
US8103965B2 (en) * 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8161243B1 (en) 2007-09-28 2012-04-17 Intel Corporation Address translation caching and I/O cache performance improvement in virtualized environments
WO2009065137A1 (en) 2007-11-16 2009-05-22 Divx, Inc. Hierarchical and reduced index structures for multimedia files
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
US7860996B2 (en) * 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US8387150B2 (en) * 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
CN101771673B (zh) * 2008-12-26 2013-10-09 华为技术有限公司 一种处理媒体数据的方法及装置
EP2219374A1 (en) * 2009-02-13 2010-08-18 Irdeto Access B.V. Securely providing a control word from a smartcard to a conditional access module
CA2759880C (en) * 2009-03-23 2013-09-24 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US8489774B2 (en) 2009-05-27 2013-07-16 Spot411 Technologies, Inc. Synchronized delivery of interactive content
WO2010138776A2 (en) * 2009-05-27 2010-12-02 Spot411 Technologies, Inc. Audio-based synchronization to media
US8369328B2 (en) * 2009-07-14 2013-02-05 Saguna Networks Ltd. System and method for efficient delivery of multi-unicast communication traffic
CN101662472B (zh) * 2009-09-16 2012-10-03 中兴通讯股份有限公司 机顶盒基于sip协议实现呼叫转移的方法及系统
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
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
EP2362651A1 (en) * 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
US9634946B2 (en) * 2010-04-08 2017-04-25 Vassona Networks Inc. Managing streaming bandwidth for multiple clients
US8301794B2 (en) * 2010-04-16 2012-10-30 Microsoft Corporation Media content improved playback quality
US8904027B2 (en) * 2010-06-30 2014-12-02 Cable Television Laboratories, Inc. Adaptive bit rate for data transmission
CN101977310A (zh) * 2010-08-02 2011-02-16 中兴通讯股份有限公司 一种移动终端中流媒体文件保存的方法和系统
EP2437458A1 (en) * 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Content delivery
US8997160B2 (en) * 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US20120194534A1 (en) * 2011-02-02 2012-08-02 Alcatel-Lucent Usa Inc. System and Method for Managing Cache Storage in Adaptive Video Streaming System
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8560719B2 (en) 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
US8719440B2 (en) * 2011-09-14 2014-05-06 Mobitv, Inc. Intelligent device media stream caching
US8661479B2 (en) 2011-09-19 2014-02-25 International Business Machines Corporation Caching large objects with multiple, unknown, and varying anchor points at an intermediary proxy device
EP2600257A1 (en) * 2011-11-30 2013-06-05 Thomson Licensing Method and apparatus for processing digital content
US8762452B2 (en) * 2011-12-19 2014-06-24 Ericsson Television Inc. Virtualization in adaptive stream creation and delivery
US8850054B2 (en) * 2012-01-17 2014-09-30 International Business Machines Corporation Hypertext transfer protocol live streaming
JP6105717B2 (ja) * 2012-04-26 2017-03-29 クアルコム,インコーポレイテッド 低レイテンシストリーミングを処理するための改善されたブロック要求ストリーミングシステム
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
CN110225421B (zh) * 2013-04-19 2021-07-06 索尼公司 客户端设备、内容分发方法及计算机可读存储介质
CN110087093A (zh) * 2013-04-19 2019-08-02 索尼公司 信息处理装置和方法以及非暂态计算机可读介质
US20150039714A1 (en) * 2013-07-30 2015-02-05 Opera Software Asa Multimedia cache with dynamic segmenting
WO2015064210A1 (ja) 2013-10-30 2015-05-07 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
EP2958301A1 (en) * 2014-06-16 2015-12-23 Thomson Licensing Method for operating a cache arranged along a transmission path between a client terminal and at least one server, and corresponding cache
US9531720B2 (en) * 2014-09-02 2016-12-27 Akamai Technologies, Inc. System and methods for leveraging an object cache to monitor network traffic
CN104202650B (zh) * 2014-09-28 2017-11-17 西安诺瓦电子科技有限公司 流媒体播放系统及方法、led显示屏系统
EP3910904A1 (en) 2015-01-06 2021-11-17 DivX, LLC Systems and methods for encoding and sharing content between devices
US10990318B2 (en) * 2015-10-01 2021-04-27 PacByte Solutions Pty Ltd Method and system for receiving a data file
US10032034B2 (en) 2015-10-06 2018-07-24 Microsoft Technology Licensing, Llc MPEG transport frame synchronization
CN107544963A (zh) * 2016-06-23 2018-01-05 南京中兴软件有限责任公司 多媒体文件存储方法及装置
US9712570B1 (en) * 2016-09-28 2017-07-18 Atlassian Pty Ltd Dynamic adaptation to increased SFU load by disabling video streams
EP3410728A1 (en) * 2017-05-30 2018-12-05 Vestel Elektronik Sanayi ve Ticaret A.S. Methods and apparatus for streaming data
US10560726B2 (en) 2017-07-26 2020-02-11 CodeShop BV System and method for delivery and caching of personalized media streaming content
CN109903785B (zh) * 2019-03-14 2020-05-15 北京字节跳动网络技术有限公司 用于缓存音频数据的方法和装置
CN112584186B (zh) * 2020-11-30 2023-02-21 微梦创科网络科技(中国)有限公司 一种基于构建电商直播购物车服务的直播方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR8302084A (pt) * 1983-04-22 1984-11-20 Freyssinet Int Stup Conjunto para ancoragem de membros tensores
US5867230A (en) * 1996-09-06 1999-02-02 Motorola Inc. System, device, and method for streaming a multimedia file encoded at a variable bitrate
US6412004B1 (en) 1997-03-27 2002-06-25 Microsoft Corporation Metaserver for a multimedia distribution network
US5946697A (en) * 1997-04-22 1999-08-31 Microsoft Corporation Rapid transfer of HTML files
US6347094B1 (en) 1998-07-21 2002-02-12 Microsoft Corporation Data rate smoothing
US6314466B1 (en) 1998-10-06 2001-11-06 Realnetworks, Inc. System and method for providing random access to a multimedia object over a network
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6665751B1 (en) 1999-04-17 2003-12-16 International Business Machines Corporation Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state
US6463508B1 (en) 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
US7028096B1 (en) * 1999-09-14 2006-04-11 Streaming21, Inc. Method and apparatus for caching for streaming data
EP1221238A2 (en) 1999-09-29 2002-07-10 Loudeye Technologies, Inc. Streaming media encoding agent for temporal modifications
CN100442393C (zh) 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US6675174B1 (en) 2000-02-02 2004-01-06 International Business Machines Corp. System and method for measuring similarity between a set of known temporal media segments and a one or more temporal media streams
US7373413B1 (en) * 2000-06-28 2008-05-13 Cisco Technology, Inc. Devices and methods for minimizing start up delay in transmission of streaming media
US20020103920A1 (en) * 2000-11-21 2002-08-01 Berkun Ken Alan Interpretive stream metadata extraction
US6859840B2 (en) * 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
US20020170068A1 (en) 2001-03-19 2002-11-14 Rafey Richter A. Virtual and condensed television programs
WO2002087235A1 (en) * 2001-04-19 2002-10-31 Vividon, Inc. System for applying metric to multimedia files over network
US6792449B2 (en) * 2001-06-28 2004-09-14 Microsoft Corporation Startup methods and apparatuses for use in streaming content
US7047308B2 (en) * 2001-08-31 2006-05-16 Sharp Laboratories Of America, Inc. System and method for simultaneous media playout
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US20030099364A1 (en) * 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
CN1185872C (zh) * 2002-11-01 2005-01-19 清华大学 一种基于实时流媒体的现场点播方法
US9144737B2 (en) * 2003-08-01 2015-09-29 Turbine, Inc. Securing goal-activated game content

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618911A (zh) * 2013-10-12 2014-03-05 北京视博云科技有限公司 一种基于视频属性信息的视频流提供方法及装置
CN103618911B (zh) * 2013-10-12 2017-02-01 北京视博云科技有限公司 一种基于视频属性信息的视频流提供方法及装置

Also Published As

Publication number Publication date
RU2325686C2 (ru) 2008-05-27
RU2004119842A (ru) 2005-03-27
KR20060082135A (ko) 2006-07-18
US20050066063A1 (en) 2005-03-24
EP1676213A4 (en) 2009-12-30
MXPA04006412A (es) 2005-04-25
JP2007529121A (ja) 2007-10-18
CN100456284C (zh) 2009-01-28
AU2003259936A1 (en) 2005-03-07
EP1676213A1 (en) 2006-07-05
US7941554B2 (en) 2011-05-10
WO2005017779A1 (en) 2005-02-24
BR0306692A (pt) 2005-04-05
CA2468057A1 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
CN1692353A (zh) 用于流媒体的稀少高速缓存
CN1756369A (zh) 在带宽有限网络上的媒体速率变换
JP4592749B2 (ja) セッション記述メッセージ拡張子
US9247276B2 (en) System and method for progressive delivery of media content
DK2545459T3 (en) Parallel streaming
JP5684920B2 (ja) 適応ストリーミングのための様々なビットのビデオストリーム
JP5840702B2 (ja) 適応ストリーミングのための様々なビットのビデオストリーム
US8171153B2 (en) Adaptive variable fidelity media distribution system and method
US9445136B2 (en) Signaling characteristics of segments for network streaming of media data
CN101203827A (zh) 用于媒体流的流量控制
US20130254631A1 (en) Content delivery system with allocation of source data and repair data among http servers
US20120304235A1 (en) Method and system for playing video file, and media resource server
CN1490980A (zh) 用于流式传输多媒体数据的装置和方法
CN102045338A (zh) 内容再现系统、内容再现装置、程序及内容再现方法
CN1507731A (zh) 演示内容重放速率的实时控制技术
CN1171158C (zh) 视频点播系统中活动图象的流动方法
US20160212054A1 (en) Multiple Protocol Media Streaming
WO2011054319A1 (zh) 一种在httpstreaming系统中实现分层请求内容的方法,装置和系统
US9665646B1 (en) Method and system for providing bit rate adaptaion to video files having metadata
US7779159B2 (en) Apparatus and method for providing high speed download service of multimedia contents
US20140358996A1 (en) Distributed encoding and decoding system, method, and device
JP2006295601A (ja) 通信システム、送信装置および方法、受信装置および方法、並びにプログラム
KR101663769B1 (ko) 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법
LakshmiPratha et al. Multimedia Digital Library: Performance and Scalability Issues
JP2008034936A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090128

Termination date: 20130820