CN102301679A - 用于拼接媒体文件的系统和方法 - Google Patents
用于拼接媒体文件的系统和方法 Download PDFInfo
- Publication number
- CN102301679A CN102301679A CN201080005073XA CN201080005073A CN102301679A CN 102301679 A CN102301679 A CN 102301679A CN 201080005073X A CN201080005073X A CN 201080005073XA CN 201080005073 A CN201080005073 A CN 201080005073A CN 102301679 A CN102301679 A CN 102301679A
- Authority
- CN
- China
- Prior art keywords
- file
- content
- media
- source
- client
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/44—Browsing; Visualisation therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Abstract
一种用于处理媒体内容的方法包括:接收针对媒体内容的请求,响应于接收到该请求,访问与所请求的媒体内容相关联的多个源文件,其中源文件包括一种或多种源格式的媒体内容。该方法还包括基于多个源文件生成一个或多个目标文件。目标文件包括目标格式的媒体内容。另外,该方法包括在生成目标文件时生成与目标文件相关联的辅助文件。辅助文件包括多个内容记录。每个内容记录与目标文件中的媒体内容的一部分相关联并指示媒体内容的相关部分在具体一个目标文件中的位置。该方法还包括在生成目标文件时,通过读取辅助文件中的每个内容记录并将每个内容记录对应的内容发送给客户端,来将所请求的来自多个目标文件的媒体内容作为无缝媒体传输传送给客户端。
Description
技术领域
本发明一般地涉及媒体内容递送系统,并且更具体地涉及用于将来自多个媒体文件的内容拼接到一起以用于递送给用户的系统和方法。
背景技术
近年来已经看到可用于递送给诸如因特网之类的公用或专用网络的用户的媒体内容的数量和种类的快速增长。因为此内容是以许多不同格式使用从各种源递送的,所以能够对媒体内容进行代码转换、速率转换或其它方式的修改的硬件和/或软件可被用来将所请求的内容转换成适当的格式以用于递送给客户端和由客户端回放。然而,在满足用户对内容的请求时的广泛延迟会大大减损用户的体验。因此,需要能够使用用于修改媒体内容并将其传送到适当的客户端的低等待时间(low-latency)技术来向各种不同客户端递送媒体内容的硬件和/或软件。
发明内容
根据本发明,与向用户传送媒体内容相关联的缺点和问题被大大降低或消除。
根据本发明的一个实施例,一种用于处理媒体内容的方法,包括接收针对媒体内容的请求,以及响应于接收到该请求,访问与所请求的媒体内容相关联的多个源文件,其中源文件包括一种或多种源格式的媒体内容。该方法还包括基于多个源文件来生成一个或多个目标文件。目标文件包括目标格式的媒体内容。另外,该方法还包括在生成目标文件的同时,生成与目标文件相关联的辅助文件。辅助文件包括多个内容记录,每个内容记录与目标文件中的媒体内容的一部分相关联并且指示媒体内容的相关联的部分在这些目标文件的特定一个目标文件中的位置。该方法还包括:在生成目标文件的同时,通过读取辅助文件中的内容记录中的每一个内容记录以及将与每个内容记录对应的内容发送给客户端,来将所请求的来自多个目标文件的媒体内容作为无缝(seamless)媒体传输传送给客户端。
某些实施例的技术优点包括将来自一系列多个媒体文件的内容以适合于向客户端的传送和由其进行的回放的格式传送给该客户端的能力。某些实施例可以辅助客户端对多个文件的无缝回放。另外,具体实施例可以支持对媒体文件中的一个或多个文件的实时或接近实时的代码转换。此外,在具体实施例中,所描述的技术可以用来允许将广告或其它内容插入到用户所请求的内容中。对于本领域技术人员,从以下附图、描述和权利要求将很容易获知其它技术优点。此外,尽管以上列举了具体的优点,但是各个实施例可以不包括所列举的优点,包括其中所有或一些。
附图说明
为了更全面地理解本发明和本发明的更多特征和优点,现在参考以下结合附图进行的描述,在附图中:
图1图示出能够拼接来自多个媒体文件的内容并且将拼接的内容递送给请求客户端的内容递送系统的具体实施例;
图2图示出图1中示出的系统的具体实施例中可以用来辅助内容的传送的辅助文件;
图3图示出图1中示出的内容递送系统的可替换实施例;以及
图4是详细描述根据某些实施例的用于管理媒体的系统的示例操作的流程图。
详细描述
图1图示出用于将存储在原始内容储存库20中的媒体文件的内容传送到客户端60的内容递送系统10的具体实施例。系统10包括原始内容储存库20、修改内容储存库22、代码转换器30、流化器(streamer)40、网络50和客户端60a-c。代码转换器30获取由客户端60a-c请求的源文件70并且修改来自所请求的源文件70的内容以用于递送给请求客户端60和由其回放。在该修改正在进行的同时,流化器40将修改的内容流送(stream)给请求客户端60。
在某些实情形中,所请求的内容可能存储在多个不同的源文件70中。另外,可能期望除了所请求的内容以外,还向请求客户端60提供广告或其它内容。然而,如果内容作为一系列单独的文件被提供给请求客户端60,则可能需要用户的附加输入来开始每个文件的回放。另外,对逝去时间的任何测量会随每个文件被重置,这使得难以识别所请求的内容内的具体时间点。结果,内容递送系统10的具体实施例可以将来自多个源文件70的内容修改成适当的格式并且将修改后的来自这些源文件70的内容“拼接”(splice)到一起,以使得修改后的内容可以作为单个的、无缝的媒体传输的一部分被递送给请求客户端60。
然而,在内容递送系统10的具体实施例中,客户端60可以利用描述所递送的内容的某些信息(在此一般称为“媒体信息”)来配置其自身以用于接收和回放所请求的媒体内容。例如,在具体实施例中,内容递送系统10可以使用由内容递送系统10提供的媒体信息来针对由流化器40流送给客户端60的内容的帧率、持续时间和其它参数来配置它们自身。在具体实施例中,客户端60可以要求任何这样的媒体信息来开始内容的回放。因此,为了辅助多个不同目标文件70的回放,代码转换器30可以(在代码转换器30的任何适当的修改之前或者之后)生成辅助文件80,辅助文件80包括描述多个源文件70和/或它们的内容的媒体信息。辅助文件80随后可被流化器40用来将适当修改后的来自多个不同源文件70的内容作为单个媒体会话传送给请求客户端60,如下所述。
在图1中所示的示例实施例中,原始内容储存库20和修改内容储存库22各自表示或包括任意适当类型的存储器设备。内容储存库20和22可以各自包括例如适合于存储数据的易失性的或非易失性的、本地的或远程的设备,例如随机存取存储器(RAM)设备、只读存储器(ROM)设备、磁存储设备、光存储设备或任意适当的数据存储设备。另外,尽管内容储存库20和22二者都示为系统10中的单个元件,但是容储存库20和22可以各自表示多个设备并且可以是分布在系统10内的多个位置上的。例如,在具体实施例中,内容储存库20和22可以表示网络附加存储(NAS)。
系统10中的内容存储在各种媒体文件中,包括源文件70、目标文件72和插入文件74。源文件70、目标文件72、插入文件74和媒体流76可以包括可以通过客户端60播放、显示或以其它方式传达给用户的任意适合形式的语音、非语音音频、动画和/或视频信息或数据。如以下进一步讨论的,可在系统10上获得的内容,在具体实施例中,可以具有各种不同的特征,这些特征决定可以利用各种媒体文件的内容的客户端60的类型。例如,源文件70、目标文件72、插入文件74和媒体流76可以全都与不同的编解码器、比特率、分辨率和/或会影响到哪些客户端60可以利用源文件70、目标文件72、插入文件74和媒体流76的有关内容的其它特征相关联。
原始内容储存库20存储用于递送给客户端60的源文件70。在具体实施例中,原始内容储存库20也可以存储由代码转换器30或流化器40插入到被传送给请求客户端60的内容中的插入文件74。如以上注意到的,源文件70和插入文件74可以包括任意适当类型的内容文件。源文件70和插入文件74的具体示例包括:视频/多媒体内容文件,诸如运动图像专家组(MPEG)、MP4、3GP、Quicktime、Windows媒体视频(WMV)和音频视频交织(AVI)文件;音频内容文件,诸如波形音频(WAV)、MPEG-I音频层3(MP3)和/或Windows媒体音频(WMA)文件;和/或任意其它适当类型或格式的内容文件。在具体实施例中,原始内容储存库20中的源文件70和插入文件74可以全都以系统10支持的单一存储格式存储。可替换地,原始内容储存库20可以以适合于各种不同客户端60的各种不同格式来存储源文件70和插入文件74。尽管在图1中被示作系统10的一部分,但是原始内容储存库20可以表示系统10外部的组件,诸如分布在因特网中的存储器组件。因此,在具体实施例中,代码转换器30可以能够获取、接收、以其他方式访问和/或处理由可通过因特网获得的大量内容源提供的媒体文件以用于递送给客户端60。
修改内容储存库22存储目标文件72,目标文件72包含已被代码转换器30生成、进行代码转换、或以其它方式修改的来自源文件70的内容。在某些实施例中,代码转换器30可以将包含某些修改后的来自特定源文件70的内容的目标文件72存储在修改内容储存库22中,并且与此同时代码转换器30继续修改相关的源文件70。目标文件72可以包括任意适当类型或格式的媒体内容,包括但不限于以上针对源文件70列出的那些。在具体实施例中,目标文件72可以是这样的类型或格式(诸如3GP文件),它们使用传统的流化技术,在代码转换器30已经完成对有关目标文件72的写入之前无助于流送(streaming)。尽管在此被称为“文件”但是在某些实施例中,存储在修改内容储存库22中的任意具体的目标文件72都可以在给定时间点表示根据与有关目标文件72相关联的类型或格式并不完整的部分文件。
修改内容储存库22也可以将由代码转换器30在对媒体文件30进行代码转换的处理期间生成的辅助文件80存储在修改内容储存库22中。如以下进一步所讨论的,辅助文件80可以用来辅助目标文件72的流送。在具体实施例中,修改内容储存库22表示代码转换器30本地的或外部的存储装置,诸如用作代码转换器30的网络服务器的内部存储器。
代码转换器30从原始内容储存库20获取、接收或以其它方式访问所请求的内容并且以适合于向请求客户端60的传送和由其进行的显示的方式来修改所请求的内容。依赖于请求客户端60的能力以及所请求的源文件70的特征,代码转换器30可以以任何适当的方式来进行代码转换、速率转换、分辨率调节和/或以其它方式修改源文件70的特征,以使得内容适合于向请求客户端60的传送和由其进行的回放。在具体实施例中,代码转换器30可以能够实时地或接近实时地对内容进行代码转换。另外,如以下进一步所述,代码转换器30也可以在代码转换器30已经完成对整个源文件70的代码转换之前,生成辅助文件80,辅助文件80包括允许流化器40将代码转换后的来自特定源文件70的内容流送给客户端60的某些信息。
流化器40获取、接收或以其它方式访问目标文件72和辅助文件80来将所请求的内容递送给客户端60。另外,在具体实施例中,流化器40可以通过例如提供有关系统10中可获得的内容的信息或处理来自客户端60的对递送来自源文件70的内容的请求,来与客户端60交互。流化器40也可以负责在修改用于客户端60的内容时开始代码转换或以其它方式管理代码转换器30的操作。
尽管代码转换器30和流化器40各自在图1中被示作单个组件,但是代码转换器30和流化器40可以各自表示由若干单独的物理组件提供的功能。另外,依赖于系统10的相关配置,代码转换器30和流化器40可以表示单个物理组件,或者可替换地可以表示单独的组件。一般,代码转换器30和流化器40可以各自表示适合于提供所述功能的软件和/或硬件的任意适当的组合。作为一个具体示例,在具体实施例中,代码转换器30和流化器40各自表示单独的网络服务器,其被配置为接收来自彼此、客户端60或系统10的其他元件的超文本传输协议(HTTP)请求并对其进行响应。
网络50表示支持电路交换、分组交换和/或任意适合类型的通信的任意形式的通信网络。尽管在图1中被示出为单个元件,但是通信网络可以表示一个或多个单独的网络,包括分离的并且服务不同客户端60组的各种不同网络的全部或部分。网络50可以包括路由器、集线器、交换机、网关、小区控制器和/或任意其它适合的组件。一般,网络50可以包括共用或专用通信装备的任意组合,所述通信装备例如是公用交换电话网络(PSTN)、诸如因特网之类的全球计算机网络、局域网(LAN)、广域网(WAN)的元件或其它适当的通信装备。
另外,尽管图1图示出直接连接到网络50的元件的具体配置,但是网络50在不同实施例中,可以直接或间接地连接到系统10的任意适当的元件和/或与之交互。例如,尽管图1中示出直接连接到原始内容储存库20和流化器40的代码转换器30,但是可替换地,代码转换器30可以通过网络50连接到原始内容储存库20和流化器40中的任一者或这两者。因此,系统10的组件可以以任意适当的方式布置和配置为通过网络50和/或通过有关组件之间的直连来进行通信。
客户端60a-c显示、播放或以其它方式传达从原始内容储存库20和修改内容储存库22获取的内容。在具体实施例中,各个客户端60可以能够接收和/或播放与特定文件格式、文件类型、编解码器、比特率和/或分辨率相关联的和/或具有其它适当特征的媒体。客户端60的示例可以包括但不限于计算机、支持视频的电话、媒体播放器(诸如例如支持音频和/视频的iPod)、电视、PDA、蜂窝电话、便携式通信设备以及其它电子设备。然而,一般,客户端60可以包括适合于提供所述功能的硬件、软件和/或编码逻辑的任意适当的组合。例如,在所图示的实施例中,客户端60a表示计算机、客户端60b表示支持视频的蜂窝电话,并且客户端60c表示便携式媒体设备。客户端60可以通过专用连接(有线或无线的)耦合到网络50或仅在需要时连接到网络50以访问媒体内容。尽管图1为了示例的目的图示出特定数目和类型的客户端60,但是系统10的可替换实施例可以包括任意适当数目和类型的客户端60。
在操作中,客户端60请求由原始内容储存库20存储的源文件70中所包含的内容。因为每个客户端60可以仅能够接收和/或播放具有某些格式的媒体内容,所以系统10源文件70可以通过代码转换器30被代码转换或进行其他方式的修改,而从诸如存储源文件70所使用的原始格式变为适合于传送给请求客户端60和由其显示的目标格式。为了此描述和权利要求的目的,内容的“格式”是指与将内容传送给特定类型的客户端或利用特定类型的客户端显示内容相关联的有关内容的编码、比特率、分辨率、帧率、构成和/户任意其它方面、特征或属性。
然而,在低等待时间传送中会出现这样的问题,其中在对应的源文件70被完全进行代码转换之前,目标格式无助于传送或流送。例如,某些文件格式可能需要数据块、头部或其它文件信息,它们在文件代码转换被完成之前不被写入但是客户端60需要它们来恰当地接收、播放或使用所请求的内容。作为一个示例,3GP文件包括称为“moov”框的结构,“moov”框包含有关存储在3GP文件中的内容的信息,诸如3GP文件中的内容的起始点、存储在该文件中的内容的类型以及内容被播放的顺序。3GP文件的“moov”框中所包含的信息是被逐渐地写入的,因此在媒体文件正被写成3GP格式时是不完整的。因此,对于3GP文件,在整个3GP文件被写入之前并且全部3GP音频和视频数据可用之前,该“moov”信息是不完整的。因此,使用3GP文件会阻碍或阻止某些传统系统对来自还在进行代码转换的3GP文件的内容进行流送。对于其他媒体文件格式,也存在类似的或相当的问题。
因此,为了便利对来自不完整的目标文件72的内容进行流送,当代码转换器30还在写入这些目标文件72时,代码转换器30可以生成辅助文件80作为对来自客户端60的媒体请求的响应的一部分。辅助文件80包括可被流化器40用来在代码转换正在进行的同时递送所请求的目标文件72中的部分内容的任意适当的数据、代码或信息。流化器40可以将来自辅助文件80的信息传送给客户端60以允许客户端60配置它们自身以用于接收或回放所请求的内容或可以以其它方式使用此信息来辅助对应的目标文件72的传送和回放。
在某些实施例中,系统10可以通过将来自多个不同目标文件72的内容作为单个媒体会话递送给客户端60来对特定媒体请求进行响应。结果,代码转换器30可以生成辅助多个不同目标文件72的传送和回放的一个或多个辅助文件80。辅助文件80可以允许流化器40传送来自与媒体请求相关联的目标文件72的内容和/或允许作出请求的客户端60在修改后的内容还正在写入与媒体请求相关联的一个目标文件72的同时,接收和播放来自该目标文件72的内容。这样,通过利用辅助文件80来在一个或多个相关目标文件还在生成的同时将来自目标文件72的内容递送到客户端60,系统10可以降低与递送所请求的内容有关的延迟。此外,在具体实施例中,辅助文件80的使用允许客户端60无缝地回放与媒体请求相关联的各个目标文件72。
在图1中图示出由系统10的具体实施例实现的此过程的示例。如图1所示,客户端60(这里是客户端60a)可以通过向流化器40或系统10的另一适当元件(诸如负责与客户端60交互的内容管理服务器)发送内容请求90来发起递送过程。内容请求90可以标识具体的源文件70或可以描述所请求的媒体内容的特征(例如使用关键词)。内容请求90可以表示请求向发送客户端60递送内容的任意适当的消息、请求或适当构建的信息集合。例如,在具体实施例中,内容请求90表示标识由原始内容储存库20存储的特定源文件70的超文本传输协议(HTTP)请求。
如上所述,内容请求90可以致使来自多个不同文件的内容被传送给客户端60a。作为一个示例,内容请求90可以自己标识若干目标文件72或这可以标识引用若干目标文件72的播放列表并且系统10可以响应于内容请求90而将这些目标文件72递送给客户端60a。作为另一示例,内容请求90可以标识由系统10存储为多个单独的源文件70的特定电影、歌曲或其它媒体作品。系统10可以响应于内容请求90将来自所有这些源文件70的内容递送给客户端60a。作为又一示例,系统10可以在将来自所请求的源文件70的内容递送给客户端60a之前,将所请求的源文件70分割到多个目标文件72中,以允许广告或其它内容插入到来自所请求的源文件70的内容中。
响应于客户端60a发送内容请求90,流化器40可以确定用于所请求的内容的适当目标格式以允许、辅助和/或优化向客户端60a的传送和由其进行的回放。流化器40可以基于任意适当的信息、考虑和/或环境来确定目标格式。作为一个示例,内容请求90可以指示所请求的内容应当具有的、用于向客户端60的传送和/或由其进行的回放的适当的格式。因此,在具体实施例中,流化器40可以接收标识用于所请求的内容的编解码器、比特率和/或其它参数的HTTP请求。因此,流化器40可以能够基于HTTP请求中所包含的信息来确定适合于所请求的内容的输出格式和特征。作为另一示例,流化器40可以基于此信息来确定客户端60a的有关特征并且选作用于所请求的内容的目标格式。例如,流化器40可以标识该客户端是否是计算机、蜂窝电话、个人数字助理或其它类型的客户端设备。基于此确定,流化器40可以基于其类型来确定适合于客户端60a的格式特征。作为又一示例,流化器40可以检测客户端60a正经其进行通信的特定网络或网络50的一部分的特征来确定用来向客户端60a提供所请求的内容的适当目标格式。因此,在具体实施例中,流化器40可以基于内容请求90时通过某种类型的网络接收到的这一事实来确定向客户端60a传送所请求的内容所使用的适当编解码器或比特率。然而,一般流化器40可以以任意适当的方式并且基于来自任意适当的组件的输入来确定用于由客户端60a请求的内容的适当目标格式。
如果所请求的源文件70以目标格式存储在原始内容储存库20中,则流化器40可以访问原始内容储存库20中的所请求的源文件70并且将所请求的源文件以其存储的格式传送给客户端60a。在图示示例中,系统10被配置为将修改后的来自目标文件72的内容作为媒体流76的一部分传送给客户端。然而,一般,系统10可以被配置为将修改后的内容作为流、作为渐进(progressive)下载的一部分,或以任意其它适当的方式传送给客户端60。在接收到所请求的源文件70的任何部分时,客户端60a可以开始回放该部分并且随后接收来自所请求的源文件70的内容。
然而,如果所请求的源文件70中的一个或多个源文件不是目标格式,则流化器40可以请求代码转换器30将所请求的源文件70修改成用于客户端60a的目标格式。为了请求该修改,流化器40可以向代码转换器30发送标识用于所请求的源文件70的适当目标格式、指定发送该相关内容请求90的客户端60的任意适当信息,或指示用于所请求的源文件70的适当目标格式的任意适当信息。可替换地,在具体实施例中,流化器40可以将这样的信息传送给系统10的负载平衡服务器或负责管理系统10中的一个或多个代码转换器30的操作的其他元件。
在所图示的示例中,流化器40向代码转换器30发送代码转换请求92,其标识所请求的源文件70和针对内容请求90的目标格式。代码转换请求92可以表示请求代码转换器30将来自特定源文件70的内容以特定目标格式递送给流化器40的任意适当的分组、消息、请求或其它信息集合。在所图示的示例中,代码转换请求92表示标识由原始内容储存库20存储的多个源文件70以及适合于客户端60a的目标格式的超文本传输协议(HTTP)请求。
响应于接收到代码转换请求92,代码转换器30从原始内容储存库20定位和获取所请求的源文件70(这里是源文件70a-c)。代码转换器30可以以任意适当的方式获取、接收或以其它方式访问所请求的源文件70a-c。在具体实施例中,原始内容储存库20包括可通过因特网访问的一个或多个网络服务器(和相关联的存储器元件)并且代码转换器30使用HTTP协议来与原始内容储存库20通信。
在接收到所请求的源文件70a-c中一个或多个之后,代码转换器30可以开始根据目标格式来修改源文件70a-c。如以上注意到的,代码转换器30可以通过对所请求的源文件70a-c中的内容进行代码转换、速率转换、分辨率变换、和/或对其任何方面、特征或属性进行其它方式的修改,来修改所请求的源文件70a-c。代码转换器30将修改后的来自源文件70a-c的内容以目标格式写入一个或多个目标文件72中。在图示的示例中,代码转换器30将修改后的来自每个源文件70a-c的内容写入对应的目标文件72a-c中。
如上所述,在修改来自源文件70a-c的同时,代码转换器30生成描述修改后的内容的媒体信息。例如,在具体实施例中,代码转换器30生成针对特定内容请求70的媒体信息,其包括会话信息82和辅助文件80。会话信息82描述针对流化器40在其中将所请求的内容传送给请求客户端60的那个媒体会话的、并且允许客户端60配置其自身来接收此媒体会话的参数或特征。辅助文件80包括这样的信息,此信息描述存储在目标文件72中的内容并且使得流化器40能够将目标文件72作为单个媒体会话的一部分流送到客户端60。辅助文件80可以包括如下信息,诸如目标文件72中的文件头部信息、帧率数据、分辨率数据、比特率数据、视频帧或音频帧的总数,和/或描述作为结果产生的目标文件72的任意其它适当信息。辅助文件80也可以包括用于目标文件72的特定部分的信息,诸如时间戳数据、位置信息和/或描述对应目标文件72的特定部分的任意其它适当的信息。以下将参考图2来更全面地讨论示例辅助文件80的结构和内容。
在图示的示例中,代码转换器30以有效会话描述协议(SDP)消息的形式生成会话信息82,会话信息82描述来自目标文件72的内容将在其中传送到客户端60a的那个媒体会话。代码转换器30也生成单个辅助文件80(示作辅助文件80a),其包括描述所有对应的目标文件72a-c中的内容的附加媒体信息。此媒体信息包括多个记录,每个记录与目标文件72之一中的特定部分的媒体内容(例如,特定视频或音频帧)相关联。这些内容记录各自指示有关目标文件72中的相关联的媒体内容部分的位置,并且可以用来访问对应的目标文件72并且获取相关联的媒体内容。
另外,流化器40可被配置为将来自多个目标文件72的内容作为例如媒体流的单个无缝传输传送给客户端60a。因此,代码转换器30和/或流化器40可以采用附加的步骤来维持多个目标文件72之间的时间连续性。在具体实施例中,代码转换器30可以将即将写入对应目标文件72中的针对视频内容的帧率信息和针对音频内容的采样率信息包括在辅助文件80a中。流化器40随后可以分别给基于代码转换后的文件的频帧率和音频采样率来为对应目标文件72的每个视频帧和每个音频帧计算估计时间戳。流化器40随后可以使用该估计时间戳来为对应目标文件72中的每个媒体帧计算时间戳。
在代码转换器30开始生成用于对应目标文件72的媒体信息之后,流化器40可以开始将此媒体信息传送给请求客户端60或以其它方式使用此媒体信息来辅助相应目标文件72的传送和回放。在具体实施例中,流化器40可以,在所请求的源文件70的修改还正在进行的同时,利用此有关的媒体信息。流化器40也可以开始将来自目标文件72的内容作为媒体流76的一部分传送给客户端60。
在图示的示例中,一旦代码转换器30已经形成了会话信息82(在该示例中表示SDP消息),流化器40经由与客户端60a的实时流传输协议(RTSP)链路来将会话信息82传送给客户端60a。基于会话信息82,客户端60a根据由会话信息82提供的描述来配置其自身以用于内容的接收和回放。在传送会话信息82之后,在图示的示例中,流化器40从辅助文件80读出第一记录来识别目标文件72a内的内容的起始位置,在此起始位置从目标文件72a获取指定数量的内容(例如特定数目的字节),并且将获取的内容传送给客户端60a。流化器40可以为辅助文件80的随后的记录重复此过程并且将所有修改后的来自目标72a的内容递增地传送给客户端60a。因为代码转换器30开始生成辅助文件80a,因此,在此示例中,在修改第一请求的源文件70a的同时,流化器40可以在代码转换器30完成对任意源文件70a-c的修改之前开始发送修改后的来自目标文件72a的内容。
当客户端60a开始从流化器40接收修改后的来自第一目标文件72的内容时,客户端60a根据从流化器40接收的任何会话信息82来开始播放所请求的内容。当流化器40继续发送来自随后的目标文件72的内容时,客户端60a也回放来自这些另外的目标文件72的内容,直到流化器40已经完成对与所请求的源文件70相关联的所有目标文件72的发送为止。
另外,代码转换器30或流化器40可以采用进一步的步骤来确保修改后的内容被写入目标文件72并且/或***根据发送给客户端60的会话信息82被发送给客户端。例如,在传送来自目标文件72的内容的同时,流化器40可以进行维持媒体传送的时间连续性的步骤。因此,在具体实施例中,流化器40可以基于与目标格式相关联的帧率以及由代码转换器30在修改用于目标文件72a-c的内容的同时所丢弃的帧的数目来为每个目标文件72a-c的每帧计算时间戳。流化器40随后可以在将有关帧传送给客户端60a之前,将计算出的时间戳写入有关帧,重写任意现有的时间戳。通过为所传送的帧计算时间戳并且相应地修改帧,流化器40可以能够维持多个不同目标文件72的帧之间的时间一致性,并且因此,可以能够将多个目标文件72作为单个无缝媒体流的一部分传送给客户端60a。
在具体实施例中,代码转换器30或流化器40还可以配置为除了从源文件70请求的内容以外,还向客户端60传送附加内容。具体而言,在具体实施例中,代码转换器30和流化器40可以配置为将一个或多个插入文件74传送给请求客户端60来作为传送所请求的内容的一部分。插入文件74可以包括可以作为与所请求的内容同一媒体传送被传送给请求客户端60的任意适当的语音、非语音音频、动画和/或视频信息或数据。可以包括在插入文件74中的媒体内容的示例包括但不限于将作为所请求的内容的一部分播放的广告、在所请求的内容之前预先播放的版权通告以及提供对所请求的内容的说明和分析的语音通知。
在支持插入文件74的使用的系统10的实施例中,流化器40、代码转换器30或系统10的其他适当的元件可以响应于内容请求90来判断来自任意插入文件74的内容是否应当添加到所请求的内容和/或识别要添加到所请求的内容的适当插入文件74。适当元件可以基于任意适当的特征、因素或考虑来进行这些判断。
在具体实施例中,代码转换器30可以基于由内容请求90标识的或与之关联的具体源文件70来判断是否要包括任何插入文件74与所请求的内容一起。例如,流化器40可以基于所请求的源文件70的版权状况来判断是否包括版权通告或基于对所请求的源文件70的评级来判断是否包括家长指导。在可替换实施例中,流化器40可以将一组插入文件74中的一个或多个插入被客户端60请求的每组源文件70。例如,流化器40可以向通过由流化器40接收的每个内容请求90所请求的内容添加广告。此外,在具体实施例中,流化器40可以基于流化器40从其接收内容请求90的客户端60来判断是否包括插入文件74和/或包括什么插入文件74。例如,流化器40可以基于请求客户端60是否与付费订户相关联来判断是否在所请求的内容中插入商业广告。
如果流化器40判定要在所请求的内容中包括插入文件74,则流化器40向代码转换器30标明有关插入文件74(例如,作为代码转换请求92的一部分)并且提供代码转换器30在将插入文件74插入到所请求的内容中时所要使用的附加信息,诸如来自不同插入文件74和目标文件72的内容应当以何顺序传送给请求客户端60。如果代码转换器30判定所标识的插入文件74当前不是目标格式,则代码转换器30可以将所标识的插入文件74修改成目标格式并且可以如上所述继续进行操作,代码转换器30以与所请求的源文件70任一个类似的方式来处理所标识的插入文件74。
反之,如果代码转换器30判定所标识的插入文件74中的任一个已经是目标格式,则代码转换器30仍然可以为有关插入文件74生成辅助文件80以用于辅助插入文件74和任何所请求的内容的无缝回放。可替换地,如果代码转换器30判定特定插入文件74已经是目标格式,则流化器40可以访问插入文件74本身来读取流化器40将插入文件74传送给请求客户端60a所要使用的媒体信息。在这样的实施例中,代码转换器30可以不生成用于有关插入文件74的辅助文件80。
因为流化器40可以在代码转换器30还在修改来自源文件70的内容的同时访问和利用媒体信息,所以在系统10的具体实施例中,在目标文件72已经完成与所请求的源文件70相对应的目标文件72的创建之前,流化器40可以能够将修改后的来自目标文件72的内容传送给客户端60,并且客户端60可以能够播放修改后的内容。因此,系统10可以以多种不同目标格式提供对来自多个源文件70的内容的低等待时间递送。另外,流化器40和代码转换器30可以采用维持传送给客户端60a-c的各个目标文件72的帧之间的时间连续性的步骤。这可以允许系统10将来自多个不同源文件70的内容作为单个无缝媒体传送进行递送。因此,系统10的具体实施例可以提供许多操作益处。然而,特定实施例可以不提供这些益处、提供其中的一些或全部。
图2是更详细地图示出在完成针对图1描述的内容递送过程时可以由代码转换器30的具体实施例生成的辅助文件80的内容和结构的示图。如上所述,代码转换器30可以在对来自所请求的源文件70的内容进行代码转换来创建对应的目标文件72的同时生成辅助文件80。流化器40随后可以在代码转换还在进行的同时访问辅助文件80并且在有关代码转换器30已经完成对来自所请求的源文件70的内容的修改和/或对应的目标文件72的创建之前,利用所访问的辅助文件80中的信息来辅助来自所请求的媒体文件72的媒体内容的传送。
在所图示的实施例中,辅助文件80包括文件头部200、一个或多个媒体头部(包括视频头部210和音频头部230)以及一个或多个内容记录250。尽管图2和以下描述描述了包括以具体方式构造的某些信息的辅助文件80的具体实施例,但是辅助文件80可以包括契合适当的信息和/或可以以不同于所述方式的方式来构造。一般,辅助文件80可以包括适合于在代码转换器30还在将修改后的内容存储在有关文件中的同时辅助来自目标文件72的媒体内容的传送的任何数据。因此,系统10的可替换实施例可以生成不具有以下所描述的元素、具有其中某些或全部和/或具有除以下所描述的那些以外的元素的辅助文件80。
在图2中所示的示例辅助文件80中,文件头部200保存与包括在用辅助文件80描述的对应目标文件72中的媒体有关的一般信息。作为一个示例,在具体实施例中,该一般信息可以包括媒体类型字段202,其标识针对要写入对应目标文件72的修改后的媒体的一个或多个媒体类型。例如,所图示的辅助文件80包括这样的媒体类型字段202,其存储指示包括在对应目标文件72中的不同媒体类型的4字节值。如果目标文件72只包括音频内容,则代码转换器30可以在媒体类型字段202中存储值“1”。另外,如果对应目标文件72只包括视频内容或包括音频和视频内容二者,则代码转换器30可以分别在所图示的辅助文件80的媒体类型字段202中分别存储值“2”或值“3”。
媒体头部中的数据,诸如视频头部210和音频头部230,被流化器40用来确定包括在对应目标文件72中的媒体的不同类型的各个属性。每个媒体头部可以包括特定于对应目标文件72中的那个类型的内容的信息。例如,在所图示的辅助文件80中,视频头部210保存有关对应目标文件72中的视频内容的信息,诸如例如视频编解码器类型、内容大小、比特率和帧率。在所图示的辅助文件80中,此数据分别被存储在视频编解码器类型字段212、多个大小字段(包括高度字段214和宽度字段216)、比特率字段218和帧率字段220中。在具体实施例中,视频编解码器类型字段212、包括高度字段214、宽度字段216、比特率字段218和帧率字段220每一个存储保存有关数据的4字节值。
音频头部230可以包括类似于视频头部210但是有关对应目标文件72中的音频信息的信息。例如,音频头部230可以包括这样的信息,诸如音频编码类型、比特率、采样率、以及对应目标文件72中的音频内容中编码的音频声道的数目。在所图示的辅助文件80中,此数据分别存储在音频编解码器类型字段232、比特率字段234、采样率字段236和声道数量字段238中。在具体实施例中,音频编解码器类型字段232、比特率字段234、采样率字段236和声道数量字段238每个存储指示有关数据的4字节值。
另外,某些目标格式还可以利用:提供给流化器40以允许流化器40传送来自对应目标文件72的内容的配置信息和/或提供给请求客户端60以允许请求客户端60a接收或播放来自有关目标文件72的内容的配置信息。例如,在具体实施例中,如果有关目标文件72表示3GP文件,则流化器40可以利用诸如会话描述协议(SDP)文件之类的会话信息来将来自3GP文件的媒体内容恰当地流送给请求客户端60。此SDP文件可以包含限定对应目标文件72中所包含的已编码视频和/或音频流的特点的特定类型的配置信息,诸如配置(“config”)串。此配置串可以被流化器40和请求客户端60中的一者或这二者用来恰当地配置它们自身和/或配置将通过其传送来自有关目标文件72的内容的通信会话。
因此,在某些实施例中,可以通过在视频头部210的配置数据字段224和/或音频头部230的配置数据字段244中包括配置数据来避免传送来自修改后的来自目标文件72的内容中的延迟。在具体实施例中,存储在这些字段中的信息的数量可以不同,因此,存储在字段中的值可以被填充来将数据数量变为具体大小。例如,在具体实施例中,存储在配置数据字段224或244中的配置信息被填充以使得108字节的数据被存储在这些字段中。存储在配置数据字段224或244中的实际配置数据的大小可以随后分别存储在配置数据大小字段226和246中。
视频头部210的配置数据字段224和音频头部230的配置数据字段244可以存储用来配置流化器40、请求客户端60和/或传送会话(用来将来自对应目标文件72的内容传送给请求客户端60)的任意适当信息。例如,在某些实施例中,代码转换器30可以在对有关媒体进行代码转换期间从对应目标文件72中的视频或音频媒体生成config串并且将所生成的config串存储在辅助文件80的适当配置数据字段224或244中。利用此config串,流化器40随后可以开始与请求客户端60的RTSP会话来传送来自有关目标文件72的内容。
内容记录250包括有关对应目标文件72的结构和内容的信息。辅助文件80可以包括多个内容记录250,每个内容记录250与目标文件72中的内容的不同部分相关联。如以上注意到的,对应目标文件72的这些不同内容部分可以各自表示离散的内容部分(例如单独的帧或预定数目的帧)或任意大小的部分(例如5秒的视频数据部分或千字节大小的音频数据部分)。在具体实施例中,目标文件72中的每个音频帧和每个视频帧表示辅助文件80中的对应内容记录250。
内容记录250可以各自以任何适当方式包括允许流化器40访问对应目标文件72的与那个内容记录250相关联的部分并将相关联的部分传送给请求客户端60的任何适当信息。为了说明的目的,在图2中示出的示例内容记录250各自包括:指示与有关内容记录250相关联的内容的类型(例如,音频-1,视频-2)的媒体类型字段252,指示相关联的内容部分在对应目标文件72中的位置的位置指示符字段254、指示相关联的内容部分的大小的大小字段256以及指示在相关联的媒体部分的代码转换期间丢弃的(或在相关联的部分和紧前或紧后部分的代码转换之间丢弃的)内容的数量(帧数)的丢弃内容字段258。另外,为了标记用于对应媒体会话的内容记录250的结束,辅助文件80可以包括文件结束记录(在图2中示作“内容记录250z”),其中媒体类型字段252被设置为“文件结束”并且其它字段被设置为0。
因此,在具体实施例中,当从对应目标文件72获取用于传送给请求客户端60的内容时,流化器40可以访问辅助文件80的第一内容记录250来确定与第一内容记录250相关联的第一目标文件72中的修改后的内容的位置。具体地,流化器40可以通过基于第一内容记录250的位置指示符字段254来从该第一文件72内的位置(例如用从对应目标文件72的开头起的字节数来度量)读取来访问相关联的内容部分。流化器40随后可以通过读取基于相关联的内容记录250的大小字段256确定的数据数量来获取相关联的内容部分并且将相关联的部分传送给请求客户端60。流化器40可以随后读取另一内容记录250并且重复该过程。流化器40可以在流送与第一目标文件72相关联的所有内容之后对与另外的目标文件72相关联的内容记录250继续该过程,直到流送来自与有关内容请求90相关联的所有目标文件72的内容为止。
另外,内容记录250也可以包括丢弃内容字段258,其存储有关在代码转换期间丢弃的内容的数量的信息。此信息可以允许流化器40利用适当的定时和同步来传送目标文件72的部分,如以上针对图1所述。例如,在具体实施例中,每个内容记录250与对应目标文件72中的特定视频帧相关联,并且用于特定视频帧的丢弃内容字段258指示在对应目标文件72中的那个特定视频帧的代码转换和紧前视频帧的代码转换之间所丢弃的视频帧的数目。在这样的实施例中,流化器40然后可以利用每个内容记录250的丢弃内容字段258中的信息来在向请求客户端60传送时递增用于相关联的视频帧的时间戳。这可以允许流化器40和/或请求客户端60在所请求的内容的流送器件维持视频-音频同步。
图3图示出根据本发明可替换实施例的内容递送系统210,其中用下载服务器140替换流化器40。在所图示的实施例中,下载服务器140将来自目标文件72的媒体内容作为渐进下载传送给客户端60。渐进下载的使用允许客户端60接收和播放具有无助于流送的格式和分组化未针对其被标准化的格式的内容。因此,在具体实施例中,诸如图3中所示的实施例,可以用下载服务器140替换或补充流化器40。
下载服务器140支持所请求的内容作为渐进下载向客户端60的传送。在具体实施例中,下载服务器140将来自多个文件的内容作为单个无缝传送的一部分递送给请求客户端60,而在所请求的文件的回放之间不需要用户的任何交互。与图1中的系统10的流化器40一样,下载服务器140可以另外地负责处理用于来自客户端60的内容的请求和/或管理代码转换器30的操作。下载服务器140可以表示适合于提供所述功能的硬件和/或软件的任意适当的组合。尽管被示作与代码转换器30分离的单独元件,但是在具体实施例中,代码转换器30和下载服务器140可以表示单个物理组件。
在操作中,下载服务器140从请求客户端60接收请求并且开始获取包含由请求客户端60请求的媒体内容的源文件70。在具体实施例中,这可以以与以上针对图1所描述的方式类似的方式进行。例如,在所图示的实施例中,客户端60b通过向下载服务器140传送内容请求90来开始递送过程。响应于接收到内容请求90,下载服务器140确定用于所请求的内容的目标格式。另外,在具体实施例中,下载服务器140可以判断所请求的内容是否已经可以目标格式获得(例如,在存储在原始内容储存库20中的一个或多个文件中)。如果下载服务器140判定所请求的内容已经可以在系统210中以目标格式获得,则下载服务器140可以开始将所请求的内容传送给客户端60b来作为渐进下载或另一合适形式的传送的一部分。
反之,如果下载服务器140判定所请求的内容不可以目标形式获得或以其他方式判定对所请求的内容的修改是适当的,则下载服务器140将代码转换请求92传送给代码转换器30或传送给系统210的其他适当的组件来开始将所请求的内容修改成目标格式。代码转换器30随后可以修改包含所请求的内容的一个或多个源文件70并且访问这些文件中的内容来生成适合于向客户端60b的传送或由其进行的回放的单个目标文件72。
作为该过程的一部分,代码转换器30可以生成描述所要创建的目标文件72的媒体信息180。媒体信息180描述由对应目标文件72存储的媒体内容。客户端60可以使用与对应目标文件72相关联的媒体信息180来配置自身以接收此目标文件72,请求对应目标文件72的内容和/或以其他方式辅助所请求的媒体内容的接收和回放。如以上注意到的,媒体信息180的示例可以包括但不限于所产生的目标文件72的文件大小、帧率或持续时间和/或目标文件72中的媒体内容的帧大小、媒体类型或单个部分的时间戳。客户端60b可以使用所传送的媒体信息180来准备媒体播放器以用于回放或开始请求来自正被代码转换器30进行代码转换的目标文件72的内容块。
如以上针对图1所述,代码转换器30可以能够,在修改某些类型的源文件70时,从这些源文件70直接提取现有参数并且基于此数据来生成用于对应目标文件72的媒体信息180。例如,对于让有关参数位于文件开头的源文件70(诸如MP4、3GP和Quicktime文件),代码转换器可以能够从每个所请求的源文件70提取此数据并且基于所提取的数据来生成媒体信息180。因此,代码转换器30可以能够在代码转换过程的开头,访问用于生成针对这样的文件的媒体信息180的所有有关参数。
然而,当修改其它类型的源文件70时,代码转换器30可能不能够在代码转换开始时访问有关源文件70中的所有有关参数。例如,某些类型的媒体文件(诸如FLV、音频视频交织(AVI)和MPEG-1文件)的有关参数和内容一起散布在文件中。因此,代码转换器30不能访问代码转换器30应以其它方式使用来生成用于对应目标文件72的媒体信息180的那些数据。因为在请求客户端60可以开始下载和/或播放来自有关目标文件72的内容之前,请求客户端60可能期望或需要用于任意产生的目标文件72的媒体信息180,所以代码转换器30可以估计所请求的源文件70的某些属性来生成用于对应目标文件72的媒体信息180。
在图3图示出的示例中,假定源文件70x-z具有与媒体内容一起散布在有关文件中的、对于生成媒体信息180必需的媒体参数。因此,当代码转换器30开始对源文件70x-z进行代码转换时,代码转换器30在没有读取每个源文件70x-z的整体的情况下不能访问任何源文件70x-z的这些参数。因此,代码转换器30可以使用由客户端60b(例如在内容请求90中)提供的数据、可以在源文件70x-z的开头处获得的信息、由代码转换器30估计的参数和/或可用于代码转换器30的任意其它适当的信息,来生成用于目标文件72z的媒体信息180。
例如,在具体实施例中,为目标文件72z创建的媒体信息180依赖于所请求的内容的目标格式和速率。因此,代码转换器30可以将诸如帧率、持续时间和文件利用的音频和视频编解码器的类型之类的信息直接从内容请求90复制到媒体信息180。另外,代码转换器30可以使用内容请求90中的信箱来确定用于目标文件72z的媒体信息180的其它字段。例如,代码转换器30可以通过确定针对有关目标格式的帧率并将此帧率乘以所请求的内容的持续时间来计算每个源文件70x-z中的总帧数。代码转换器30随后可以将此总帧数写入媒体信息180。
另外,代码转换器30可以估计在代码转换的开始时不可获得的参数。例如,在具体实施例中,代码转换器30利用先验估计技术来基于有关编码格式的参数,诸如比特率、帧率、采样率、I-帧间隔和媒体帧的总数,来估计媒体信息180中的字段,诸如用于音频和视频帧的时间戳和帧大小;以及估计目标格式中的音频和视频帧的交织格式。
在具体实施例中,代码转换器30可以通过对每帧的比特与编码器参数设置特征进行建模来开始该过程。对于给定的视频或音频编码格式以及其对应的编码参数设置,代码转换器30的输出可以表征为确定对于给定编码器参数设置的最小、最大和平均水平的每帧比特。基于此特征,代码转换器30可以鉴于根据编码比特率、帧率/采样率、帧的时间位置、分辨率和/或任意其它适当的特征或因素的每帧比特来对帧大小进行建模。所产生的目标文件72的帧大小随后可以基于该模型被估计出。对于视频媒体,代码转换器30可以基于编码器参数设置来确定I帧在比特流中出现的频率并且可以基于此频率来估计I帧的帧大小。此外,代码转换器30可以使用以下公式基于帧率来计算两个连续帧之间的时间戳之差:(两个连续帧之间的时间戳之差)1/(帧率)。利用该公式,代码转换器30随后可以如下确定每帧的时间戳:当前帧的时间戳=紧前帧的时间戳+连续帧之间的时间差之差。
代码转换器30也可以确定目标文件72z中的不同类型的媒体数据的交织顺序。例如,代码转换器30可以确定:针对给定数量的音频内容,预定数量的视频内容将被写入目标文件72z。代码转换器30可以基于目标格式和/或其它适当的考虑来确定此顺序。
基于每帧的时间戳、帧大小、媒体中的音频和视频帧的交织格式的估计,代码转换器30随后可以确定将由代码转换器30生成的目标文件72z中的每个单独的音频和视频帧的估计位置。代码转换器可以生成包含目标文件72z中所包含的每个媒体帧的估计位置以及客户端60b需要或期望的其它适当数据的单个一组媒体信息180。代码转换器30随后可以将用于目标文件72z的媒体信息180传送给下载服务器140以用于随后传送给客户端60b。
在估计由客户端60b使用的媒体信息180之后,代码转换器30可以开始将来自第一源文件70(这里是源文件70x)的内容从源格式修改为目标格式。代码转换器30随后将修改后的来自源文件70x的内容写入修改内容储存库22中的目标文件72(这里是目标文件72z)。在修改来自第一源文件70x的所有内容并将其写入目标文件72z之后,代码转换器30重复用于保留源文件70、修改来自源文件70y和70z的内容并将修改后的内容写入目标文件72z的过程。
另外,因为由代码转换器30生成的媒体信息180将被客户端60b用来请求来自目标文件72的内容,所以代码转换器30可以使用媒体信息180来确定内容应当如何写入目标文件72。因此,在具体实施例中,代码转换器30可以填充或截短要写入目标文件72z中的帧的数据,来确保这样的帧被写入以遵循作为媒体信息180的一部分传送给客户端60b的参数。在利用帧结束标记(例如高级音频编码(AAC)的情况中的ID_END)的具体实施例中,这会涉及利用在有关帧中的最后一个内容数据比特和帧结束标记之间填充哑元(dummy)(例如AAC中的fill_elements)或零值比特。
在客户端60b从代码转换器30接收到媒体信息180之后,客户端60b可以基于接收到的媒体信息180来请求来自目标文件72z的内容。例如,在具体实施例中,客户端60b可以通过发送HTTP“GET”请求来开始目标文件72z的渐进下载,该HTTP“GET”请求具有标识由客户端60b基于接收到的媒体信息180确定的目标文件72z的特定部分(诸如特定一组音频和视频帧)的范围字段。下载服务器140随后可以将目标文件72z的第一被请求部分传送给客户端60b,并且客户端60b可以开始目标文件72z的回放。在具体实施例中,客户端60b可以能够在代码转换器30已经完成将所有修改后的媒体写入目标文件72z之前开始来自目标文件72z的内容的回放。客户端60b可以继续请求和回放来自目标文件72z的内容直到客户端60b已经接收和播放所有来自目标文件72z的内容为止。
尽管图3图示出其中没有所请求的源文件70x-z被以目标格式存储的示例,但是在某些情形中,通过特定内容请求90请求的一个或多个源文件70可以已经以适当的目标格式存储。因此,系统210的具体实施例可以支持对已进行代码转换的内容和未被修改的内容二者的下载,来作为单个渐进下载的一部分。另外,在具体实施例中,将要修改的源文件70可以既包括让用来生成媒体信息180的数据隔离在有关文件的开头处的头部中的文件,也包括让用于生成媒体信息180的数据与内容一起混杂在有关文件中的文件。因此,代码转换器30可以组合来自多个不同类型的源文件70的数据来生成用于具有目标格式的目标文件72的媒体信息180,其中在将所创建的媒体信息写入有关的目标文件72之前,所有媒体信息180存储在有关目标文件72的开头处的头部中。此外,在某些情形下,代码转换器30可以使用从源文件70提取的现有参数以及如上所述生成的估计参数的混合来生成媒体信息180。
此外,在具体实施例中,代码转换器30可被配置为以以上针对图1的流送示例描述的方式类似的方式来向通过特定内容请求90请求的任何源文件70添加插入文件74。在这样的实施例中,代码转换器30可以在生成媒体信息180时可以利用用于插入文件74的参数以及用于所请求的源文件70的那些参数。通过这样做,代码转换器30可以将来自插入文件74的内容与来自所请求的源文件70的内容拼接,以使得所请求的源文件180和插入文件74将作为单个无缝媒体会话被请求客户端60播放。
因此,通过生成描述来自多个源文件70和/或插入文件74的内容的单个一组媒体信息180,代码转换器30可以允许请求客户端60将被适当格式化的来自多个不同文件的内容作为无缝渐进下载来获取和播放。另外,通过估计用来生成媒体信息180的文件特征而不是等待直到有关源文件70的代码转换已经完成为止,系统210的具体实施例可以允许客户端60在这样的文件已经被完全进行代码转换之前开始回放所请求的源文件70。因此,系统210的具体实施例可以提供许多操作益处。然而,具体实施例可以不提供这些益处,提供其中的一些或全部。
图4是图示出在将内容流送给请求客户端60时图1中所示的内容递送系统10的示例操作的流程图。图4中所示的步骤可以在适当时被组合、修改或删除,并且另外的步骤也可以添加到该流程图。另外,这些步骤可以以背离本发明的范围的任意合适顺序来执行。
在所图示的示例中,操作开始于步骤400,其中系统10的适当组件接收标识或引用一组源文件70的请求。例如,流化器40可以从请求客户端60接收针对多个源文件70或与一组源文件70相关联的播放列表的内容请求90。在具体实施例中,请求客户端60通过向服务器50发送标识所请求的源文件70的HTTP请求来请求这些源文件70。HTTP请求也可以指定有关请求客户端60和/或所请求的目标格式的信息,以使得内容可以以适合于向有关客户端60的传送和由其进行的显示的方式被修改。
在步骤402,流化器40确定与该请求相关联的目标格式。流化器40可以基于客户端60的具体特征或其它合适的考虑来确定用于所请求的媒体内容的目标格式。目标格式可以表示适合于向请求客户端60的传送和由其进行的回放的格式。在步骤404,流化器40判断所请求的源文件70已经是以目标格式存储的或可以其它方式获得的。例如,在具体实施例中,流化器40可以判断原始内容储存库20是否保存以目标格式包含所请求的内容的源文件70。如果所请求的内容已经以目标格式存储的或可以其它方式获得的,则操作进行到步骤412,其中流化器40以目标格式从适当的内容储存库获取有关源文件70并且操作进行到步骤416。
如果所请求的内容不可以目标格式获得,则在步骤406,流化器40将代码转换请求92传送给代码转换器30。代码转换请求92指示所请求的内容和目标格式。在步骤408,代码转换器30获取包含所请求的内容的源文件70。在步骤410,代码转换器30开始修改所请求的目标文件70的第一个中的内容并且以目标格式生成对应的目标文件72a。另外,在步骤414,代码转换器30还开始生成与目标文件72a相关联的第一辅助文件80a。在具体实施例中,代码转换器30可以同时生成目标文件72a和辅助文件80a。
在步骤416,流化器40向请求客户端60通知可以以目标格式获得目标文件72a的第一部分。在具体实施例中,流化器40可以通过向请求客户端60传送描述用于针对此请求创建的目标文件72的参数的、诸如SDP消息之类的会话信息82,来向请求客户端60通知内容的一部分是可以以目标格式获得的了。在步骤418,流化器40从请求客户端60接收开始包含来自第一目标文件72a的内容的媒体流的传送的请求。
流化器40随后可以开始将所请求的媒体内容作为媒体流76传送给请求客户端60。如果流化器40尝试在内容还正被写入有关目标文件72的同时传送来自那个目标文件72的内容,则流化器40可以利用对应的辅助文件80来辅助对有关目标文件72中的内容的访问和传送。在某些实施例中,流化器40甚至可以在从完成的目标文件72进行流送时利用辅助文件80。在某些实施例中,流化器40可被配置为只是对还正在进行代码转换的目标文件72进行流送时利用辅助文件80,并且不利用辅助文件80来对来自完成的目标文件72的内容进行流送。
在具体实施例中,流化器40访问辅助文件80中的与第一目标文件72的第一部分相关联的媒体信息。例如,流化器40可以访问辅助文件80中的存储针对第一目标文件72的第一视频帧的媒体信息的第一记录。流化器40随后可以使用此媒体信息来确定第一目标文件72中的对应第一内容部分的位置,从目标文件72中的确定位置读取第一内容部分,并且将第一内容部分作为媒体流76的一部分传送给请求客户端60。这在图4中用流化器40在步骤420开始传送修改后的来自第一目标文件72的内容来表示。
在流化器40开始向请求客户端60传送媒体流76之后,在步骤422,请求客户端60开始媒体流76的回放。流化器40可以继续利用辅助文件80a中的媒体信息来处理和/或传送来自第一目标文件72的内容。因为代码转换器30使得,在代码转换器还正在修改来自源文件70的内容来创建目标文件72的同时,流化器40和/或客户端60可获得媒体信息(包括辅助文件80),所以请求客户端60可以在代码转换器30已经完成第一目标文件72的创建之前开始来自第一目标文件72的内容的回放。因此,在所图示的示例中,代码转换器30在步骤424之前没有完成第一目标文件72的创建。
一旦流化器40完成了来自第一目标文件72的内容的传送,在步骤424,流化器40就可以判断另外的目标文件72是否仍然在传送。如果是,则系统10为剩余目标文件72中的每一个重复步骤410-424一次。这样,流化器40将来自剩余目标文件72的内容传送给请求客户端60。
因为代码转换器30还使得在代码转换器30还正在完成这些另外的目标文件72的创建的同时可获得与这些另外的目标文件72相关联的媒体信息,所以流化器40可以能够将来自其余目标文件72的内容作为单个媒体流的一部分作为无缝方式提供给请求客户端60,而在来自单个目标文件72的内容之间没有增加的中断或停顿。因此,请求客户端60的用户可以能够接连地观看来自所有媒体文件的内容,而不必向请求客户端60提供任何附加的输入。
此外,在具体实施例中,代码转换器30和/或流化器40可以采取维持各个目标文件72的帧之间的时间一致性的附加步骤,如上所述。因此,客户端60可以无法检测到他们正接收来自多个不同目标文件72的内容。因此,在具体实施例中,共同的传统媒体播放器可以用作客户端60并且可以能够接收和播放此多文件媒体流而无需与媒体播放器相关联的硬件或软件的任何改装或修改。
在针对接收到的内容请求90完成所有目标文件72的生成之后,在具体实施例中,代码转换器30可以存储目标文件72和/或辅助文件80a-c,如步骤428所示。目标文件72和/或辅助文件80可以被无限地存储来实现针对相同源文件70的任何将来的请求,被临时地缓存并且随后被丢弃,或根据任意其它时间表或策略被维护。系统10关于递送通过内容请求90请求的内容的操作随后可以结束,如图5中所示。
尽管已经利用若干实施例描述了本发明,但是可以向本领域技术人员建议许多更改、变化、变更、变形和修改,并且意欲本发明包括落在所附权利要求的范围内的这样的更改、变化、变更、变形和修改。
Claims (28)
1.一种用于处理媒体内容的方法,包括:
接收针对媒体内容的请求;
响应于接收到所述请求,访问与所请求的媒体内容相关联的多个源文件,其中所述源文件包括一种或多种源格式的媒体内容;
基于所述多个源文件,生成一个或多个目标文件,其中所述目标文件包括目标格式的媒体内容;
在生成所述目标文件的同时,生成与所述目标文件相关联的辅助文件,所述辅助文件包括多个内容记录,每个内容记录与所述目标文件中的所述媒体内容的一部分相关联并且指示所述媒体内容的相关联的部分在所述目标文件当中具体一个目标文件中的位置;以及
在生成所述目标文件的同时,通过读取所述辅助文件中的每个内容记录并将与各个内容记录对应的内容发送给客户端,来将所请求的来自所述多个目标文件的媒体内容作为无缝媒体传输传送给所述客户端。
2.根据权利要求1所述的方法,其中,将所请求的来自所述多个目标文件的媒体内容传送给所述客户端包括将所请求的来自所述多个目标文件的媒体内容作为单个无缝媒体流来流送给所述客户端。
3.根据权利要求1所述的方法,其中,每个内容记录包括用于辅助在所述目标文件中的对应一个目标文件被完全生成之前将所述对应目标文件的相关联的部分传送给所述客户端的信息。
4.根据权利要求1所述的方法,其中,接收针对媒体内容的请求包括:
从客户端接收针对来自第一媒体文件的内容的请求;
响应于接收到该请求,识别要与所述第一媒体文件一起传送给所述客户端的第二媒体文件。
5.根据权利要求1所述的方法,其中:
所述多个源文件包括第一源文件,所述第一源文件包括第一源格式的媒体内容,其中所述第一源格式与所述目标格式不同;并且
生成所述多个目标文件包括:
将所述第一源文件中的内容从所述第一源格式修改为所述目标格式;以及
将修改后的内容写入与所述第一源文件相关联的第一目标文件。
6.根据权利要求5所述的方法,其中,所述多个源文件还包括第二源文件,所述第二源文件包括所述目标格式的媒体内容。
7.根据权利要求6所述的方法,其中,生成所述辅助文件包括生成包括多个内容记录的辅助文件,所述多个内容记录包括与所述第一目标文件中的媒体内容相关联的至少一个内容记录和与所述第二源文件中的媒体内容相关联的至少一个内容记录。
8.根据权利要求7所述的方法,其中,将所请求的来自所述多个目标文件的媒体内容作为无缝媒体传输传送给客户端包括将来自所述第一目标文件和所述第二源文件的内容作为无缝媒体传输传送给所述客户端。
9.一种用于处理媒体内容的系统,包括:
代码转换器,所述代码转换器包括:
代码转换器存储器,所述代码转换器存储器可操作用于存储处理器指令;
代码转换器处理器,所述代码转换器处理器可操作用于执行由所述代码转换器存储器存储的处理器指令,并且在执行所述处理器指令时,可操作用于:
接收针对媒体内容的请求;
响应于接收到所述请求,访问与所请求的媒体内容相关联的多个源文件,其中所述源文件包括一种或多种源格式的媒体内容;
基于所述多个源文件,生成一个或多个目标文件,其中所述目标文件包括目标格式的媒体内容;以及
在生成所述目标文件的同时,生成与所述目标文件相关联的辅助文件,所述辅助文件包括多个内容记录,每个内容记录与所述目标文件中的所述媒体内容的一部分相关联并且指示所述媒体内容的相关联的部分在所述目标文件当中具体一个目标文件中的位置;和
流化器,所述流化器包括:
流化器存储器,所述流化器存储器可操作用于存储处理器指令;和
流化器处理器,所述流化器处理器可操作用于执行由所述流化器存储器存储的处理器指令,并且在执行所述处理器指令时,通过读取所述辅助文件中的所述内容记录中的每个内容记录并且将与各个内容记录对应的内容传送给客户端,来将所请求的来自所述多个目标文件的媒体内容作为无缝媒体传输传送给所述客户端。
10.根据权利要求9所述的系统,其中,所述流化器可操作用于通过将所请求的来自所述多个目标文件的媒体内容作为单个无缝媒体来流送给所述客户端,来将所请求的来自所述多个目标文件的媒体内容传送给所述客户端。
11.根据权利要求9所述的系统,其中,每个内容记录包括用于辅助在所述目标文件中的对应一个目标文件被完全生成之前将所述对应目标文件的相关联的部分传送给所述客户端的信息。
12.根据权利要求9所述的系统,其中,所述代码转换器可操作用于通过以下步骤来接收针对媒体内容的请求:
接收针对来自第一媒体文件的内容的请求;
响应于接收到该请求,识别要与所述第一媒体文件一起传送给所述客户端的第二媒体文件。
13.根据权利要求9所述的系统,其中,所述多个源文件包括第一源文件,所述第一源文件包括第一源格式的媒体内容,其中所述第一源格式与所述目标格式不同;并且所述代码转换器可操作用于通过以下步骤来生成所述多个目标文件:
将所述第一源文件中的内容从所述第一源格式修改为所述目标格式;以及
将修改后的内容写入与所述第一源文件相关联的第一目标文件。
14.根据权利要求13所述的系统,其中,所述多个源文件还包括第二源文件,所述第二源文件包括所述目标格式的媒体内容。
15.根据权利要求14所述的系统,其中,所述代码转换器可操作用于通过生成包括多个内容记录的辅助文件来生成所述辅助文件,所述多个内容记录包括与所述第一目标文件中的媒体内容相关联的至少一个内容记录和与所述第二源文件中的媒体内容相关联的至少一个内容记录。
16.根据权利要求15所述的系统,其中,所述流化器可操作用于,通过将来自所述第一目标文件和所述第二源文件的内容作为无缝媒体传输传送给客户端,来将所请求的来自所述多个目标文件的媒体内容作为无缝媒体传输传送给所述客户端。
17.一种用于处理媒体内容的方法,包括:
从客户端接收针对媒体内容的请求;
响应于接收到所述请求,访问与所请求的媒体内容相关联的多个源文件,其中所述源文件包括一种或多种源格式的媒体内容;
至少部分地基于所述多个源文件和与所述请求相关联的目标格式来估计目标文件的一个或多个特征;
至少部分地基于所述目标文件的估计出的特征来生成用于所述目标文件的媒体信息;
生成与所述请求相关联的所述目标文件;以及
在生成所述目标文件的同时,将所述媒体信息传送给所述客户端;并且
在生成所述目标文件的同时,将所请求的来自所述目标文件的媒体内容作为无缝媒体传输传送给所述客户端。
18.根据权利要求17所述的方法,其中,将所请求的来自所述目标文件的媒体内容传送给所述客户端包括将所请求的来自所述目标文件的媒体内容作为单个的无缝渐进下载传送给所述客户端。
19.根据权利要求17所述的方法,其中,接收针对媒体内容的请求包括:
从所述客户端接收针对来自第一媒体文件的内容的请求;
响应于接收到所述请求,识别将与所述第一媒体文件一起传送给所述客户端的第二媒体文件。
20.根据权利要求17所述的方法,其中:
所述多个源文件包括第一源文件,所述第一源文件包括第一源格式的媒体内容,其中所述第一源格式与所述目标格式不同;并且
生成所述目标文件包括:
将所述第一源文件中的内容从所述第一源格式修改为所述目标格式;以及
将修改后的内容写入与所述第一源文件相关联的第一目标文件。
21.根据权利要求19所述的方法,其中,所述多个源文件还包括第二源文件,所述第二源文件包括所述目标格式的媒体内容。
22.根据权利要求21所述的方法,其中,估计所述目标文件的一个或多个特征包括:
估计所述第一源文件的一个或多个特征;
从所述第二源文件提取数据;以及
至少部分地基于所述第一源文件的估计出的特征和从所述第二源文件提取的所述数据来估计所述目标文件的一个或多个特征。
23.一种用于处理媒体内容的系统,包括:
代码转换器,所述代码转换器包括:
代码转换器存储器,所述代码转换器存储器可操作用于存储处理器指令;
代码转换器处理器,所述代码转换器处理器可操作用于执行由所述代码转换器存储器所存储的处理器指令,并且在执行所述处理器指令时,可操作用于:
接收针对媒体内容的请求;
响应于接收到所述请求,访问与所请求的媒体内容相关联的多个源文件,其中所述源文件包括一种或多种源格式的媒体内容;
至少部分地基于所述多个源文件和与所述请求相关联的目标格式来估计目标文件的一个或多个特征;
至少部分地基于所述目标文件的估计出的特征来生成用于所述目标文件的媒体信息;
生成与所述请求相关联的所述目标文件;以及
在生成所述目标文件的同时,将所述媒体信息传送给与所述请求相关联的客户端;和
下载服务器,所述下载服务器包括:
服务器存储器,所述服务器存储器可操作用于存储处理器指令;和
服务器处理器,所述服务器处理器可操作用于执行由所述服务器存储器存储的处理器指令,并且在执行所述处理器指令时,可操作用于在所述代码转换器已经完成所述目标文件的生成之前,将所请求的来自所述目标文件的媒体内容作为无缝媒体传输传送给所述客户端。
24.根据权利要求23所述的系统,其中,所述服务器处理器还可操作用于通过将所请求的来自所述目标文件的媒体内容作为单个的无缝渐进下载传送给所述客户端,来将所请求的来自所述目标文件的媒体内容传送给所述客户端。
25.根据权利要求23所述的系统,其中,所述代码转换器处理器可操作用于通过以下步骤来接收针对媒体内容的请求:
接收针对来自第一媒体文件的内容的请求;
响应于接收到所述请求,识别将与所述第一媒体文件一起传送给所述客户端的第二媒体文件。
26.根据权利要求23所述的系统,其中:
所述多个源文件包括第一源文件,所述第一源文件包括第一源格式的媒体内容,其中所述第一源格式与所述目标格式不同;并且
生成所述目标文件包括:
将所述第一源文件中的内容从所述第一源格式修改为所述目标格式;以及
将修改后的内容写入与所述第一源文件相关联的第一目标文件。
27.根据权利要求26所述的系统,其中,所述多个源文件还包括第二源文件,所述第二源文件包括所述目标格式的媒体内容。
28.根据权利要求27所述的系统,其中,所述代码转换器处理器还可操作用于通过以下步骤来估计所述目标文件的一个或多个特征
估计所述第一源文件的一个或多个特征;
从所述第二源文件提取数据;以及
至少部分地基于估计出的所述第一源文件的特征和从所述第二源文件提取的所述数据来估计所述目标文件的一个或多个特征。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14577809P | 2009-01-20 | 2009-01-20 | |
US61/145,778 | 2009-01-20 | ||
PCT/US2010/021474 WO2010085470A1 (en) | 2009-01-20 | 2010-01-20 | System and method for splicing media files |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102301679A true CN102301679A (zh) | 2011-12-28 |
Family
ID=42101365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080005073XA Pending CN102301679A (zh) | 2009-01-20 | 2010-01-20 | 用于拼接媒体文件的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9282131B2 (zh) |
CN (1) | CN102301679A (zh) |
IL (1) | IL213661A0 (zh) |
WO (1) | WO2010085470A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778217A (zh) * | 2015-03-20 | 2015-07-15 | 广东欧珀移动通信有限公司 | 一种歌曲拼接算法及装置 |
US9525843B2 (en) | 2013-10-11 | 2016-12-20 | Huawei Technologies Co., Ltd. | Multimedia file playback method, playback apparatus and system |
CN107431699A (zh) * | 2015-03-02 | 2017-12-01 | 高通股份有限公司 | 对于部分段的指示 |
US10659507B2 (en) | 2015-03-02 | 2020-05-19 | Qualcomm Incorporated | Indication for partial segment |
US10749930B2 (en) | 2015-03-02 | 2020-08-18 | Qualcomm Incorporated | Indication for partial segment |
CN115250292A (zh) * | 2022-02-10 | 2022-10-28 | 上海贝加信息技术有限公司 | 一种网络信息处理方法及存储介质 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294728B2 (en) | 2006-01-10 | 2016-03-22 | Imagine Communications Corp. | System and method for routing content |
US8180920B2 (en) * | 2006-10-13 | 2012-05-15 | Rgb Networks, Inc. | System and method for processing content |
US8627509B2 (en) | 2007-07-02 | 2014-01-07 | Rgb Networks, Inc. | System and method for monitoring content |
US9473812B2 (en) * | 2008-09-10 | 2016-10-18 | Imagine Communications Corp. | System and method for delivering content |
US9247276B2 (en) * | 2008-10-14 | 2016-01-26 | Imagine Communications Corp. | System and method for progressive delivery of media content |
US9324375B1 (en) | 2009-03-13 | 2016-04-26 | Tata Communications (America) Inc. | Dynamically adjusting stream quality level |
US9800690B1 (en) | 2009-06-26 | 2017-10-24 | Tata Communications (America) Inc. | Content-based redirection |
EP2580735A4 (en) * | 2010-06-10 | 2015-07-01 | Cricket Communications Inc | MOBILE DEVICE FOR MEDIA ACCESS AND PLACEMENT |
US9021554B2 (en) | 2010-06-10 | 2015-04-28 | At&T Mobility Ii Llc | Unlimited access to media and applications over wireless infrastructure |
US9015588B2 (en) | 2010-06-10 | 2015-04-21 | At&T Mobility Ii Llc | Advanced playback queue management |
US20120233345A1 (en) * | 2010-09-10 | 2012-09-13 | Nokia Corporation | Method and apparatus for adaptive streaming |
US9357275B2 (en) * | 2011-09-06 | 2016-05-31 | Qualcomm Incorporated | Network streaming of coded video data |
US8832298B2 (en) * | 2012-03-16 | 2014-09-09 | Qualcomm Incorporated | Managing early media for communication sessions established via the session initiation protocol (SIP) |
US9154456B2 (en) | 2012-04-17 | 2015-10-06 | Trenda Innovations, Inc. | Messaging system and method |
KR101932539B1 (ko) * | 2013-02-18 | 2018-12-27 | 한화테크윈 주식회사 | 동영상 데이터를 기록하는 방법, 및 이 방법을 채용한 촬영 장치 |
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
US9246972B2 (en) | 2013-12-19 | 2016-01-26 | Activision Publishing, Inc. | Content delivery methods and systems |
WO2016176685A1 (en) * | 2015-04-30 | 2016-11-03 | Camping Brandon | Electronic file transfer and modification system and method |
US11012478B2 (en) * | 2016-07-14 | 2021-05-18 | Nippon Telegraph And Telephone Corporation | Communication method and communication program |
US11184663B2 (en) * | 2017-03-28 | 2021-11-23 | Turner Broadcasting System, Inc. | Platform for publishing graphics to air |
CN109600431B (zh) * | 2018-11-29 | 2021-10-22 | 西安电子科技大学 | 面向移动通信网路的内容增量传输方法、移动通信系统 |
KR20210108726A (ko) * | 2020-02-26 | 2021-09-03 | 라인플러스 주식회사 | 스프라이트 jpeg를 이용하여 애니메이션 기능을 제공하는 방법, 시스템, 및 컴퓨터 프로그램 |
Family Cites Families (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4509073A (en) | 1982-04-29 | 1985-04-02 | Packet Technologies, Inc. | Two-way cable-television system |
US5557316A (en) | 1990-09-28 | 1996-09-17 | Ictv, Inc. | System for distributing broadcast television services identically on a first bandwidth portion of a plurality of express trunks and interactive services over a second bandwidth portion of each express trunk on a subscriber demand basis |
US5319455A (en) | 1990-09-28 | 1994-06-07 | Ictv Inc. | System for distributing customized commercials to television viewers |
US5883661A (en) | 1990-09-28 | 1999-03-16 | Ictv, Inc. | Output switching for load levelling across multiple service areas |
US5442700A (en) | 1990-09-28 | 1995-08-15 | Ictv, Inc. | Scrambling method |
US5526034A (en) | 1990-09-28 | 1996-06-11 | Ictv, Inc. | Interactive home information system with signal assignment |
US5412720A (en) | 1990-09-28 | 1995-05-02 | Ictv, Inc. | Interactive home information system |
US5220420A (en) | 1990-09-28 | 1993-06-15 | Inteletext Systems, Inc. | Interactive home information system for distributing compressed television programming |
US5093718A (en) | 1990-09-28 | 1992-03-03 | Inteletext Systems, Inc. | Interactive home information system |
US5587734A (en) | 1990-09-28 | 1996-12-24 | Ictv, Inc. | User interface for selecting television information services through pseudo-channel access |
US5594507A (en) | 1990-09-28 | 1997-01-14 | Ictv, Inc. | Compressed digital overlay controller and method for MPEG type video signal |
US5361091A (en) | 1990-09-28 | 1994-11-01 | Inteletext Systems, Inc. | Interactive home information system for distributing video picture information to television viewers over a fiber optic telephone system |
US6034678A (en) | 1991-09-10 | 2000-03-07 | Ictv, Inc. | Cable television system with remote interactive processor |
EP0830786A1 (en) | 1995-06-08 | 1998-03-25 | ICTV,Inc. | Switched channel system |
US5953506A (en) | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
US6177931B1 (en) * | 1996-12-19 | 2001-01-23 | Index Systems, Inc. | Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information |
US6421733B1 (en) * | 1997-03-25 | 2002-07-16 | Intel Corporation | System for dynamically transcoding data transmitted between computers |
WO1999007158A2 (en) | 1997-07-29 | 1999-02-11 | Koninklijke Philips Electronics N.V. | Variable bitrate video coding method and corresponding video coder |
US6031584A (en) * | 1997-09-26 | 2000-02-29 | Intel Corporation | Method for reducing digital video frame frequency while maintaining temporal smoothness |
JP2001526506A (ja) | 1997-12-09 | 2001-12-18 | アイシーティーブイ・インク | 対話型ケーブルテレビジョンシステム上の仮想lan印刷 |
US6205582B1 (en) | 1997-12-09 | 2001-03-20 | Ictv, Inc. | Interactive cable television system with frame server |
US6498897B1 (en) | 1998-05-27 | 2002-12-24 | Kasenna, Inc. | Media server system and method having improved asset types for playback of digital media |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6970602B1 (en) | 1998-10-06 | 2005-11-29 | International Business Machines Corporation | Method and apparatus for transcoding multimedia using content analysis |
US6253238B1 (en) | 1998-12-02 | 2001-06-26 | Ictv, Inc. | Interactive cable television system with frame grabber |
US6510513B1 (en) | 1999-01-13 | 2003-01-21 | Microsoft Corporation | Security services and policy enforcement for electronic data |
US6345279B1 (en) | 1999-04-23 | 2002-02-05 | International Business Machines Corporation | Methods and apparatus for adapting multimedia content for client devices |
US7159233B2 (en) * | 2000-01-28 | 2007-01-02 | Sedna Patent Services, Llc | Method and apparatus for preprocessing and postprocessing content in an interactive information distribution system |
US7702995B2 (en) | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
AU2001288309A1 (en) | 2000-08-18 | 2002-03-04 | Distributed Trust Management Inc. | Distributed information system and protocol for affixing electronic signatures and authenticating documents |
US7142934B2 (en) | 2000-09-01 | 2006-11-28 | Universal Electronics Inc. | Audio converter device and method for using the same |
US6963972B1 (en) | 2000-09-26 | 2005-11-08 | International Business Machines Corporation | Method and apparatus for networked information dissemination through secure transcoding |
GB2369203A (en) | 2000-10-05 | 2002-05-22 | Assertion Ltd | Protection of intellectual property rights on a network |
US6763148B1 (en) | 2000-11-13 | 2004-07-13 | Visual Key, Inc. | Image recognition methods |
US7206854B2 (en) * | 2000-12-11 | 2007-04-17 | General Instrument Corporation | Seamless arbitrary data insertion for streaming media |
US7152205B2 (en) | 2000-12-18 | 2006-12-19 | Siemens Corporate Research, Inc. | System for multimedia document and file processing and format conversion |
US6407680B1 (en) | 2000-12-22 | 2002-06-18 | Generic Media, Inc. | Distributed on-demand media transcoding system and method |
US7242324B2 (en) | 2000-12-22 | 2007-07-10 | Sony Corporation | Distributed on-demand media transcoding system and method |
US6785885B2 (en) | 2000-12-28 | 2004-08-31 | Intel Corporation | Mechanism for automatically securing licensing for unlicenced codec |
US20020120586A1 (en) | 2001-01-05 | 2002-08-29 | Teruo Masaki | Copyrighted work managing method and apparatus thereof |
US20020131496A1 (en) | 2001-01-18 | 2002-09-19 | Vinod Vasudevan | System and method for adjusting bit rate and cost of delivery of digital data |
US20040003117A1 (en) | 2001-01-26 | 2004-01-01 | Mccoy Bill | Method and apparatus for dynamic optimization and network delivery of multimedia content |
US7305697B2 (en) | 2001-02-02 | 2007-12-04 | Opentv, Inc. | Service gateway for interactive television |
US6757429B2 (en) | 2001-02-21 | 2004-06-29 | Boly Media Communications Inc. | Method of compressing digital images |
US7681032B2 (en) | 2001-03-12 | 2010-03-16 | Portauthority Technologies Inc. | System and method for monitoring unauthorized transport of digital content |
US6751348B2 (en) | 2001-03-29 | 2004-06-15 | Fotonation Holdings, Llc | Automated detection of pornographic images |
WO2002082271A1 (en) | 2001-04-05 | 2002-10-17 | Audible Magic Corporation | Copyright detection and protection system and method |
US7093277B2 (en) | 2001-05-30 | 2006-08-15 | Digeo, Inc. | System and method for improved multi-stream multimedia transmission and processing |
US7239708B2 (en) | 2001-06-27 | 2007-07-03 | Microsoft Corporation | Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client |
US6976010B2 (en) | 2001-06-28 | 2005-12-13 | International Business Machines Corporation | Method for syndicating online content |
US7310821B2 (en) | 2001-08-27 | 2007-12-18 | Dphi Acquisitions, Inc. | Host certification method and system |
FI115418B (fi) * | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
FI20011871A (fi) * | 2001-09-24 | 2003-03-25 | Nokia Corp | Multimediadatan prosessointi |
US7599434B2 (en) | 2001-09-26 | 2009-10-06 | Reynolds Jodie L | System and method for compressing portions of a media signal using different codecs |
US20030105739A1 (en) | 2001-10-12 | 2003-06-05 | Hassane Essafi | Method and a system for identifying and verifying the content of multimedia documents |
FR2831006B1 (fr) | 2001-10-12 | 2004-02-20 | Commissariat Energie Atomique | Procede et systeme d'identification et de verification du contenu de documents multimedia |
US7088823B2 (en) | 2002-01-09 | 2006-08-08 | International Business Machines Corporation | System and method for secure distribution and evaluation of compressed digital information |
GB2384878A (en) | 2002-01-31 | 2003-08-06 | Hewlett Packard Co | Authoring media content for dissemination over a network accessible by a variety of device types |
US7155475B2 (en) * | 2002-02-15 | 2006-12-26 | Sony Corporation | System, method, and computer program product for media publishing request processing |
GB0204686D0 (en) | 2002-02-28 | 2002-04-17 | Koninkl Philips Electronics Nv | Interactive system using tags |
US20030196206A1 (en) | 2002-04-15 | 2003-10-16 | Shusman Chad W. | Method and apparatus for internet-based interactive programming |
US8645470B2 (en) | 2002-12-06 | 2014-02-04 | Core Wireless Licensing S.A.R.L. | System, method and computer program product for the delivery of media content |
US8955020B2 (en) | 2002-12-11 | 2015-02-10 | Broadcom Corporation | Transcoding and data rights management in a mobile video network with STB as a hub |
US7296295B2 (en) | 2002-12-11 | 2007-11-13 | Broadcom Corporation | Media processing system supporting different media formats via server-based transcoding |
US8631451B2 (en) | 2002-12-11 | 2014-01-14 | Broadcom Corporation | Server architecture supporting adaptive delivery to a variety of media players |
US8117130B2 (en) | 2003-02-25 | 2012-02-14 | Stragent, Llc | Batch loading and self-registration of digital media files |
EP1602213A1 (en) | 2003-02-26 | 2005-12-07 | Koninklijke Philips Electronics N.V. | System for broadcasting multimedia content |
WO2005006768A1 (en) | 2003-06-20 | 2005-01-20 | Nielsen Media Research, Inc | Signature-based program identification apparatus and methods for use with digital broadcast systems |
US20050004997A1 (en) | 2003-07-01 | 2005-01-06 | Nokia Corporation | Progressive downloading of timed multimedia content |
EP1503593A2 (en) * | 2003-07-30 | 2005-02-02 | Sony Corporation | Demultiplexer for MXF metadata |
US20050060411A1 (en) | 2003-09-16 | 2005-03-17 | Stephane Coulombe | System and method for adaptation of peer-to-peer multimedia sessions |
US20050102371A1 (en) | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
US20050132264A1 (en) | 2003-12-15 | 2005-06-16 | Joshi Ajit P. | System and method for intelligent transcoding |
US20040133548A1 (en) | 2003-12-15 | 2004-07-08 | Alex Fielding | Electronic Files Digital Rights Management. |
US20050172127A1 (en) | 2004-01-31 | 2005-08-04 | Frank Hartung | System and method for transcoding encrypted multimedia messages transmitted between two devices |
US7336841B2 (en) | 2004-03-25 | 2008-02-26 | Intel Corporation | Fingerprinting digital video for rights management in networks |
US20050286497A1 (en) | 2004-05-06 | 2005-12-29 | Brad Zutaut | Directional facilitator system for transferring media content between a computer and a mobile device via a data network |
US20060015649A1 (en) | 2004-05-06 | 2006-01-19 | Brad Zutaut | Systems and methods for managing, creating, modifying, and distributing media content |
EP1751702A4 (en) | 2004-05-18 | 2009-01-07 | Silverbrook Res Pty Ltd | MONITORING OF PHARMACEUTICAL PRODUCT |
KR100584217B1 (ko) | 2004-05-29 | 2006-05-26 | 전자부품연구원 | 하드웨어 트랜스코더를 이용한 이동형 디바이스의멀티미디어 서비스 |
KR100735274B1 (ko) | 2004-11-18 | 2007-07-03 | 삼성전자주식회사 | 트랜스코더를 구비한 분산형 멀티미디어 전송 네트워크의트랜스코딩 방법 및 장치 |
US20060168227A1 (en) | 2004-11-24 | 2006-07-27 | Nokia Corporation | System, method, device, module and computer code product for progressively downloading a content file |
KR20060059782A (ko) | 2004-11-29 | 2006-06-02 | 엘지전자 주식회사 | 영상신호의 스케일러블 프로그레시브 다운로딩을 지원하는방법 |
WO2006072014A2 (en) | 2004-12-30 | 2006-07-06 | Chang, Ifan | System and method for effectuating computer network usage |
US20090024626A1 (en) * | 2005-03-16 | 2009-01-22 | Matsushita Electric Industrial Co., Ltd. | Information processing terminal, content providing system, content providing method, and content providing program |
US20060242318A1 (en) | 2005-04-21 | 2006-10-26 | Paul Nettle | Method and apparatus for cascading media |
EP2309738A1 (en) | 2005-05-23 | 2011-04-13 | Thomas S. Gilley | Distributed scalable media environment |
FR2887385B1 (fr) | 2005-06-15 | 2007-10-05 | Advestigo Sa | Procede et systeme de reperage et de filtrage d'informations multimedia sur un reseau |
US20070022215A1 (en) * | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
EP1932315A4 (en) | 2005-09-01 | 2012-05-09 | Nokia Corp | METHOD FOR INTEGRATING SVG CONTENT INTO ISO MULTIMEDIA FILE FORMAT FOR PROGRESSIVE DOWNLOAD AND CONTINUOUS TRANSMISSION OF RICH MULTIMEDIA CONTENT |
US8055727B2 (en) | 2005-09-22 | 2011-11-08 | Fisher-Rosemount Systems, Inc. | Use of a really simple syndication communication format in a process control system |
WO2007053957A1 (en) | 2005-11-14 | 2007-05-18 | Cyberdiffusion Inc. | Transcoder for live streams and on demand media |
US20070124816A1 (en) | 2005-11-29 | 2007-05-31 | Alcatel | Unauthorized content detection for information transfer |
US8583758B2 (en) * | 2005-11-30 | 2013-11-12 | Qwest Communications International Inc. | Network based format conversion |
US8788933B2 (en) | 2005-12-01 | 2014-07-22 | Nokia Corporation | Time-shifted presentation of media streams |
US7840977B2 (en) | 2005-12-29 | 2010-11-23 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US8214516B2 (en) * | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
US9294728B2 (en) | 2006-01-10 | 2016-03-22 | Imagine Communications Corp. | System and method for routing content |
US20080270567A1 (en) * | 2006-03-31 | 2008-10-30 | Mobitv, Inc. | Customizing and Distributing Data in Network Environments |
US7992165B1 (en) * | 2006-04-06 | 2011-08-02 | Velti USA, Inc. | Insertion of digital media |
US20070255659A1 (en) | 2006-05-01 | 2007-11-01 | Wei Yen | System and method for DRM translation |
WO2007130695A2 (en) * | 2006-05-05 | 2007-11-15 | Globstream, Inc. | Method and apparatus for streaming media to a plurality of adaptive client devices |
US20080016185A1 (en) * | 2006-07-11 | 2008-01-17 | Magix Ag | System and method for dynamically creating online multimedia slideshows |
US7783773B2 (en) * | 2006-07-24 | 2010-08-24 | Microsoft Corporation | Glitch-free media streaming |
US8180920B2 (en) | 2006-10-13 | 2012-05-15 | Rgb Networks, Inc. | System and method for processing content |
US7640358B2 (en) | 2006-11-09 | 2009-12-29 | Sharp Laboratories Of America, Inc. | Methods and systems for HTTP streaming using an intelligent HTTP client |
WO2008100345A2 (en) | 2007-02-09 | 2008-08-21 | Novarra, Inc. | Method and system for transforming and delivering video file content for mobile devices |
US8560729B2 (en) * | 2007-02-09 | 2013-10-15 | Onmobile Global Limited | Method and apparatus for the adaptation of multimedia content in telecommunications networks |
US20080235200A1 (en) | 2007-03-21 | 2008-09-25 | Ripcode, Inc. | System and Method for Identifying Content |
US8627509B2 (en) | 2007-07-02 | 2014-01-07 | Rgb Networks, Inc. | System and method for monitoring content |
US9852219B2 (en) * | 2007-08-20 | 2017-12-26 | Nokia Technologies Oy | Segmented metadata and indexes for streamed multimedia data |
US8554941B2 (en) * | 2007-08-30 | 2013-10-08 | At&T Intellectual Property I, Lp | Systems and methods for distributing video on demand |
US8561116B2 (en) | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
US7818355B2 (en) * | 2007-11-07 | 2010-10-19 | Mills Brendon W | System and method for managing content |
US20090164601A1 (en) * | 2007-12-21 | 2009-06-25 | Eyedestinations Inc. | System and method for providing a primary video stream with a secondary video stream for display on an electronic device |
WO2009114111A2 (en) * | 2008-03-12 | 2009-09-17 | Packetvideo Corp. | System and method for reformatting digital broadcast multimedia for a mobile device |
US9955122B2 (en) * | 2008-04-11 | 2018-04-24 | Mobitv, Inc. | Dynamic advertisement stream replacement |
US8325883B2 (en) * | 2008-07-30 | 2012-12-04 | Verizon Patent And Licensing Inc. | Method and system for providing assisted communications |
US9473812B2 (en) | 2008-09-10 | 2016-10-18 | Imagine Communications Corp. | System and method for delivering content |
US9247276B2 (en) | 2008-10-14 | 2016-01-26 | Imagine Communications Corp. | System and method for progressive delivery of media content |
US8706910B2 (en) * | 2008-10-28 | 2014-04-22 | Panzura, Inc. | Dynamically adaptive network-based data processing system and method |
-
2010
- 2010-01-20 WO PCT/US2010/021474 patent/WO2010085470A1/en active Application Filing
- 2010-01-20 US US12/690,166 patent/US9282131B2/en active Active
- 2010-01-20 CN CN201080005073XA patent/CN102301679A/zh active Pending
-
2011
- 2011-06-20 IL IL213661A patent/IL213661A0/en unknown
-
2016
- 2016-02-18 US US15/046,595 patent/US10459943B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9525843B2 (en) | 2013-10-11 | 2016-12-20 | Huawei Technologies Co., Ltd. | Multimedia file playback method, playback apparatus and system |
CN107431699A (zh) * | 2015-03-02 | 2017-12-01 | 高通股份有限公司 | 对于部分段的指示 |
US10659507B2 (en) | 2015-03-02 | 2020-05-19 | Qualcomm Incorporated | Indication for partial segment |
US10749930B2 (en) | 2015-03-02 | 2020-08-18 | Qualcomm Incorporated | Indication for partial segment |
CN104778217A (zh) * | 2015-03-20 | 2015-07-15 | 广东欧珀移动通信有限公司 | 一种歌曲拼接算法及装置 |
CN115250292A (zh) * | 2022-02-10 | 2022-10-28 | 上海贝加信息技术有限公司 | 一种网络信息处理方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
IL213661A0 (en) | 2011-07-31 |
US10459943B2 (en) | 2019-10-29 |
US20160162558A1 (en) | 2016-06-09 |
WO2010085470A1 (en) | 2010-07-29 |
US20100185776A1 (en) | 2010-07-22 |
US9282131B2 (en) | 2016-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102301679A (zh) | 用于拼接媒体文件的系统和方法 | |
US10511646B2 (en) | System and method for delivering content | |
CN102246533A (zh) | 用于代码转换后的媒体内容的渐进递送的系统和方法 | |
CN104394487B (zh) | 基于文件格式生成和再现自适应流的方法和装置 | |
CN103181186B (zh) | 提供串流内容的装置及方法 | |
CN103141069B (zh) | 用于检索和传输多媒体数据的方法和系统 | |
CN101060623B (zh) | 运动图像再现设备和方法 | |
CN102740159B (zh) | 媒体文件存储格式和自适应传送系统 | |
US10560504B2 (en) | Stream duration management | |
CN107911332A (zh) | 媒体内容流播的系统和方法 | |
JP6697695B2 (ja) | 情報処理装置および情報処理方法 | |
JP2007529121A (ja) | ストリーミングメディアの疎(sparse)キャッシング | |
CN102045338A (zh) | 内容再现系统、内容再现装置、程序及内容再现方法 | |
CN101099142A (zh) | 用来从网络节点获取数字多媒体内容的系统和方法 | |
US10924801B2 (en) | Method and device for playing media file while switching resolution in webpage and storage medium | |
JP6969013B2 (ja) | メディアファイルの同期再生方法、装置及び記憶媒体 | |
CN101115011A (zh) | 一种流媒体回放方法、装置及系统 | |
WO2002087134B1 (en) | Interactive streaming media production tool using communication optimization | |
CN1972441A (zh) | 流媒体存储及服务的方法 | |
JP3555756B2 (ja) | マルチメディア情報利用方法、マルチメディア情報利用プログラムを記録した記録媒体及びマルチメディア情報システム | |
JP7438486B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN107872716A (zh) | 一种后置封装的流式数据解析方法、装置及电子设备 | |
KR100820350B1 (ko) | 다양한 파일 컨테이너 포멧을 지원하기 위한 통합 스트리밍서버 및 스트리밍 구현방법 | |
JP4549717B2 (ja) | マルチメディアデータ統合装置、マルチメディアデータ統合方法およびマルチメディアデータ統合プログラム | |
KR20190091215A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111228 |