CN102246533A - 用于代码转换后的媒体内容的渐进递送的系统和方法 - Google Patents

用于代码转换后的媒体内容的渐进递送的系统和方法 Download PDF

Info

Publication number
CN102246533A
CN102246533A CN2009801502680A CN200980150268A CN102246533A CN 102246533 A CN102246533 A CN 102246533A CN 2009801502680 A CN2009801502680 A CN 2009801502680A CN 200980150268 A CN200980150268 A CN 200980150268A CN 102246533 A CN102246533 A CN 102246533A
Authority
CN
China
Prior art keywords
media
frame
file
content
media file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2009801502680A
Other languages
English (en)
Inventor
普拉胡德威·I·霍苏尔
聪·T·恩古因
乔纳森·R·布莱崎
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.)
RGB MEDIA Inc
Ripcode Inc
Original Assignee
RGB MEDIA Inc
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 RGB MEDIA Inc filed Critical RGB MEDIA Inc
Publication of CN102246533A publication Critical patent/CN102246533A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • 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
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression

Abstract

一种用于递送媒体内容的方法,包括接收来自客户端(70a、70b、70c)的针对媒体内容的请求(84),以及识别包含与该请求相关联的媒体内容的第一媒体文件(80)。第一文件(80)具有第一媒体格式。该方法还包括开始与该请求相关联的第二媒体文件(82)的创建以及估计第二媒体文件(82)的一个或多个特征。第二媒体文件具有第二媒体格式。另外,该方法还包括基于第二媒体文件的估计出的特征来生成用于第二媒体文件的媒体信息(90)并且在第二媒体文件的创建已被完成之前将媒体信息发送给客户端。

Description

用于代码转换后的媒体内容的渐进递送的系统和方法
技术领域
本发明一般地涉及数字媒体内容,更具体地,涉及低等待时间(latency)内容递送。
背景技术
伴随着近年来已经出现的视频、音频和多媒体内容的数量和多样性的急剧增加,对用于将内容高效地递送给用户的系统和技术的需求也同样增加。能接入因特网的手机、个人数字助理(PDA)和其它移动媒体设备已经促成了对各种不同目标格式的内容递送的增加的需求。此外,用户生成内容的快速增长已经以许多不同源格式创建了大量用户可用的媒体内容。
将内容从内容被创建或被存储的源格式转换为适合于特定媒体播放器的使用的目标格式可能是耗时的。媒体内容的递送中的延时(delay)可能会减损用户对内容的享用或者在其它方面负面地影响用户的体验。并且,在递送资源受到限制的系统中,将媒体内容转换为适于特定用户的格式可能导致影响其它用户的处理瓶颈、网络拥塞和附加延时。因此,在内容向各个用户的递送期间出现的延时可能导致内容递送系统总体效率的明显降低。
发明内容
根据本发明,与递送数字媒体内容相关联的缺点和问题已经被大大减少或消除。
根据本发明一个实施例,一种用于递送媒体内容的方法包括接收来自客户端的针对媒体内容的请求以及识别包含与该请求相关联的媒体内容的第一媒体文件。第一媒体文件具有第一媒体格式。该方法还包括开始与该请求相关联的第二媒体文件的创建以及估计第二媒体文件的一个或多个特征。第二媒体文件具有第二媒体格式。另外,该方法包括基于第二媒体文件的估计出的特征来生成用于第二媒体文件的媒体信息并且在第二媒体的创建已被完成之前将媒体信息发送给客户端。
某些实施例的技术优点包括将媒体内容以多种格式递送给各种不同设备的能力。某些实施例提供在用户请求特定媒体文件的时间与递送系统开始将所请求的内容递送给用户的时间之间的延时最小的低等待时间递送。另外,具体实施例可以在没有引入对用户所利用的软件或硬件的约束的情况下被实现。对于本领域技术人员,其它技术优点从以下附图、描述和权利要求将显而易见。此外,尽管以上已经列举了具体的优点,但是各个实施例可以包括所列举的优点中的全部、一些优点或不包括所列举的优点。
附图说明
为了更全面地理解本发明以及其其它特征和优点,现在参考结合附图进行的以下描述,在附图中:
图1图示出根据本发明的具体实施例的用于递送媒体内容的系统;
图2A图示出图1中所示的系统的具体实施例中可以利用的一种媒体文件;
图2B图示出系统的具体实施例中可以利用的另一种媒体文件;
图3是图示出系统的具体实施例中可以利用的代码转换器的框图;以及
图4是详细描述根据本发明某些实施例的用于递送媒体内容的系统的示例操作的流程图。
具体实施方式
图1图示出内容递送系统10的具体实施例,其用于将数字媒体内容从被存储在内容递送系统10中或由其生成的源文件80递送给客户端70。系统10包括原始内容储存器20、代码转换器30、修改内容储存器22、主机处理器40、内容服务器50、网络60和客户端70。为了将内容提供给具有各种不同接收和显示要求的客户端70,内容递送系统10可以修改源文件80中被请求的媒体内容来创建目标文件82,目标文件82包含适合于发送给特定客户端70和/或由其显示的格式的相同或类似内容。通过在整个目标文件82已被生成之前开始有关目标文件82向请求客户端70的发送或递送,系统10可以降低与处理用于递送给不同客户端70的内容相关联的等待时间。
此外,在具体实施例中,内容递送系统10可以支持这样的递送技术,其中客户端70利用描述被存储在有关目标文件82中的内容的某些信息(在此一般称为“媒体信息90”)来配置它们自身以用于被请求媒体内容的接收和回放。例如,在具体实施例中,内容递送系统10可以支持内容的渐进下载并且客户端70可被配置为使用由内容递送系统10提供的媒体信息90来配置它们自身以用于内容的接收并且被配置为从其识别所请求的转换后的媒体的适当部分。然而,媒体信息90可以描述关联的目标文件82的特性,这些特性在那个目标文件82被完整创建之前可能不能被确定。因此,如以下进一步所述,内容递送系统10可以通过在目标文件82被完整创建之前估计它的某些特征并且基于所估计的特征生成针对目标文件82的媒体信息90,可以减少内容向这样的客户端70的递送中的等待时间。
为了本描述以及以下权利要求的目的,“估计”包括但不限于对特征、特性或其它值的任意预测或逼近。“估计”也可以包括任何计算、选择或确定在相关值被以其他方式设置之前被启用的值的其它方式,即便相关值随后有必要基于估计运算的结果被设置也是如此。例如,这里使用的“估计”可以指用于计算将被写入媒体文件中的内容的帧大小的处理,即便该内容随后被写入基于该估计被确定大小的帧中。因此,在具体实施例中,估计可以预先确定值,而不是仅仅逼近或预测该值。
在图1中所示的示例实施例中,原始内容储存器20和修改内容储存器22每一个表示或包括任意合适类型的存储设备。内容储存器20和22可以每一个包括例如适于存储数据的易失性或非易失性、本地或远程设备,诸如随机存取储存器(RAM)设备,只读储存器(ROM)设备、磁存储设备、光存储设备或任意其它合适的数据存储设备。另外,尽管内容储存器20和22二者都被示出为系统10中的单个元件,但是内容储存器20和22可以每一个表示多个设备并且可以分布在系统10的多个位置上。例如,在具体实施例中,内容储存器20和22可以表示网络附接存储装置(NAS)或其部分。
原始内容储存器20存储用于递送给客户端70的源文件80。如上面注意到的,源文件80可以包括任意合适类型的媒体内容。源文件80的具体示例包括视频/多媒体内容文件,诸如运动图片专家组(MPEG)、Windows媒体视频(WMV)、音频视频交织(AVI)和QuickTime文件;音频内容文件,诸如波形音频(WAV)、MPEG-1音频层3(MP3)和/或Windows媒体音频(WMA)文件;和/或任意合适类型或格式的内容文件。原始内容储存器20中的源文件80可以全都以单一的存储格式被存储或者可以以适合于向不同客户端70的发送或由不同客户端70进行的显示的各种不同的格式被存储。尽管在图1中被示作系统10的部分,但是原始内容储存器20可以表示系统10外部的组件,诸如遍布因特网的存储组件。因此,在具体实施例中,代码转换器30可以能够取回、接收、以其他方式存取和/或处理由在因特网中可获得的许多内容源提供的源文件80,以用于递送给客户端70。
修改内容储存器22存储目标文件82,目标文件82表示来自已经被代码转换器30生成、代码转换或以其他方式修改的源文件80的内容。在具体实施例中,修改内容储存器22表示代码转换器30本地的或外部的存储装置,诸如用作代码转换器30之一的web服务器的内部存储器。在某些实施例中,代码转换器30可以将包含来自特定源文件80的修改内容的目标文件82存储在修改内容储存器22中,同时代码转换器30继续修改内容来创建有关的目标文件82。目标文件82可以包括任意合适类型或格式的媒体内容,包括但不限于以上针对源文件80列出的那些。另外,尽管在这里被称为“文件”,但是在某些实施例中,存储在修改内容储存器22中的目标文件82可以表示在给定时间点的、根据与有关目标文件82关联的类型或格式并不完整的部分文件或其包含的内容。修改内容储存器22也可以将对源文件进行代码转换的处理30期间由代码转换器30生成的媒体信息90作为所创建的目标文件82的部分和/或作为单独的数据元素进行存储。如以下进一步描述的,媒体信息90可被客户端70用来辅助目标文件82的下载。
代码转换器30从原始内容储存器20取回、接收或以其他方式存取所请求的内容并且以适合于向请求客户端70发送和由请求客户端70进行的显示的方式来修改所请求的内容。代码转换器30随后将修改后的内容写入目标文件82。根据请求客户端70的能力以及所请求的源文件80的特征,代码转换器30可以以适于使得内容适合于向请求客户端70的发送和/或由请求客户端70进行的回放的任意方式,对所请求的源文件80的内容或特征进行代码转换、速率转换、分辨率调节或其它方式的修改。作为修改内容的一部分,代码转换器30可以将所请求的源文件80的内容从第一格式修改为第二格式,其中第一格式诸如是存储有关源文件80所使用的原始格式,第二格式诸如是适合于向请求客户端70的发送和由请求客户端70进行的显示的目标格式。为了本描述和以下权利要求的目的,内容的“格式”是指有关内容的与向特定类型的客户端70发送该内容或由客户端70显示该内容相关联的编码、比特率、分辨率、帧率、配置和/或任意其它方面、特征或特性。
另外,如以下进一步描述的,代码转换器30也可以生成媒体信息90,媒体信息90允许客户端70,在代码转换器30已经完成了有关目标文件82的创建和/或对应源文件80的代码转换之前,开始下载和回放来自目标文件82的内容。如以下进一步描述的,媒体信息90可以包括描述所请求的媒体内容或所请求的媒体内容被写入其中的目标文件82的任意合适形式的数据、代码或信息。以下将关于图3来更详细地描述代码转换器30的具体示例实施例的内容。
内容服务器50从客户端70接收对来自源文件80的内容进行取回、下载、成流(stream)或以其他方式将其发送给客户端70的请求,并且响应于这些请求,将所请求的内容递送给客户端70。在具体实施例中,内容服务器50将负责:确定包括所请求的媒体内容的源文件80将是否需要被进行代码转换、速率转换或以其它方式被修改,以用于向请求客户端60的发送和/或由请求客户端60进行的显示。如果这样,内容服务器50可以将接收到的请求转发给主机处理器40或直接转发给代码转换器30来开始对所请求的源文件80的转换。内容服务器50也可以对用户进行认证、执行内容搜索请求或以其它方式来辅助用户之间的交互以及由系统10提供的内容提供服务。
主机处理器40从内容服务器50接收针对媒体内容的请求并且管理代码转换器30在准备用于递送给客户端70的被请求内容中的操作。在具体实施例中,主机处理器40负责生成工作流并将其传送给代码转换器30,该工作流识别被客户端70请求的特定源文件80和用于该源文件的合适的目标格式。另外,在具体实施例中,内容递送系统10可以包括能够并行地应对来自若干不同客户端70的内容请求的多个代码转换器30。在这样的实施例中,主机处理器40也可以负责选择合适的代码转换器30来应对每个请求并且可以执行不同代码转换器30之间的负载平衡或其他方式的代码转换任务分发。
尽管代码转换器30、主机处理器40和内容服务器50在图1中被各自示作单个组件,但是在具体实施例中,每一个可以表示由若干分离的物理组件所提供的功能性。另外,代码转换器30、主机处理器40和内容服务器50中的任意两个或更多个可以部分或全部地表示同一组件。例如,在具体实施例中,主机处理器40可以与代码转换器30一样是相同物理组件的一部分。一般,代码转换器30、主机处理器40和内容服务器50可以各自表示适于提供所描述的功能性的软件和/或硬件的任意合适的组合。在具体实施例中,代码转换器30、主机处理器40和内容服务器50表示被配置为接收来自客户端70的超文本传输协议(HTTP)请求并对其响应并相互响应的web服务器。
网络60表示支持有线和/或无线通信链路上的电路交换的、基于分组的和/或任意合适类型的通信的任意形式的通信网络。尽管在图1中被示作单个元件,但是通信网络可以表示一个或多个分离的网络,包括分离的并且服务不同群组的客户端70的各种不同网络的全部或部分。网络60可以包括任意合适形式的或布置的路由器、集线器、开关、网关、呼叫控制器和/或任意其它合适的组件。一般,网络60可以包括公用或专用通信设备的任意组合,这些设备诸如是公用交换电话网络(PSTN)、诸如因特网之类的全球计算机网络、局域网、广域网的元件或其它合适的通信设备。
另外,尽管图1图示出元素被直接地连接到网络60的具体配置,但是在具体实施例中,网络60可以直接地或间接地连接到系统10的任意合适的元件和/或与之交互。例如,尽管图1示出代码转换器30被直接连接到原始内容储存器20和内容服务器50,但是可替换地,代码转换器30可以通过网络60连接到这些元件的任一者。因此,系统10的组件可以以任意合适的方式布置或配置来通过网络60和/或通过有关元件之间的直接连接进行通信。
客户端70向用户显示、传送或以其它方式回放从内容储存器20取回的内容。客户端70可以表示适合于播放系统10中所利用的数字媒体内容的任意类型的设备。客户端70的示例可以包括但不限于计算机、支持视频的电话、媒体播放器(诸如,例如iPod)、电视、PDA、手机、便携式通信设备和其它电子设备。更一般地,客户端70可以包括适于提供所述功能性的硬件和/或软件的任意合适的组合。客户端70可以通过专用连接(有线的或无线的)耦合到网络60,或者可以仅在需要时连接到网络60来访问媒体内容。尽管图1为了示例的目的图示出具体数目和类型的客户端70,但是系统10的可替换实施例可以包括任意合适数目和类型的客户端70。
在具体实施例中,客户端70可以能够接收和/或播放与各种文件格式、文件类型、编解码、比特率和/或分辨率相关联的和/或具有其它合适特征的媒体。例如,在所图示的实施例中,客户端70a可以包括计算机,其能够播放与用客户端70b表示的支持视频的手机或用客户端70c表示的便携式通信设备不同的媒体文件格式。因此,如以下进一步所述,系统10可以修改被请求的内容来匹配具体请求客户端70的能力。
在操作中,内容服务器50接收来自客户端70的请求并且开始取回包含客户端70所请求的媒体内容的源文件80。代码转换器30随后可以对取回的源文件80进行代码转换或其它方式的修改,来提供适于向请求客户端70的发送和/或由请求客户端70进行的显示的内容。代码转换器30将修改后的内容写入对应的目标文件82,以用于发送给请求客户端70。另外,在请求客户端70可以开始播放有关目标文件82之前,针对一些媒体内容格式,请求客户端70可能需要有关目标文件82中的媒体内容的某些信息。因此,代码转换器30也可以生成描述对应目标文件82中的媒体的某些媒体信息90。为了最小化用户在客户端70可以开始回放来自目标文件82的内容之前的用户必须等候的时间量,在有关目标文件82的创建已被完成之前,代码转换器30可以生成媒体信息90并将媒体信息90发送给请求客户端70。请求客户端70随后可以开始回放修改后的内容的一部分,同时代码转换器30继续将修改后的内容写入目标文件82。
图1中图示出了该处理的一个示例。如图1中所示,客户端70(这里,客户端70a)通过向内容服务器50发送内容请求84开始递送处理。内容请求84可以识别具体的源文件80或可以描述所请求的媒体内容的特征(例如使用关键字)。内容请求84可以表示由发送客户端70请求内容的递送的任意合适的消息、分组或其它信息集合。例如,在具体实施例中,内容请求84表示识别由原始内容储存器20存储的特定源文件80的超文本传输协议(HTTP)请求。
响应于接收到内容请求84,内容服务器50确定用于所请求的内容的适当格式(这里称为“目标格式”),以允许、辅助或优化向客户端70a的发送和由客户端70a进行的回放。内容服务器50可以基于任意合适的信息、考虑或情况来确定目标格式。作为一个示例,内容请求84可以指示用于所请求的内容的适当格式。因此,在具体实施例中,内容服务器50可以接收HTTP请求,该HTTP请求指定用于所请求的内容的编解码、比特率和/或其它参数。因此,内容服务器50可以能够基于HTTP请求中所包含的信息来确定适合于所请求的内容的输出格式和特征。
作为另一示例,内容服务器50可以识别客户端70a和/或客户端70a的有关特征并且基于此信息来确定用于所请求的内容的目标格式。例如,内容服务器50可以识别客户端是否是计算机(诸如客户端70a)、蜂窝电话(诸如客户端70b)或个人数字助理(诸如客户端70c)和/或其它类型的客户端设备。作为响应,内容服务器50可以基于其类型来确定适合于特定客户端70a到70c的格式特征。
作为又一示例,内容服务器50可以检测客户端70a正经其进行通信的特定网络或网络60的部分的特征,来确定用来向客户端70a提供所请求的内容的适当目标格式。因此,在具体实施例中,内容服务器50可以基于内容请求84时在某种类型的网络上被接收的事实,来确定用来将所请求的内容发送给客户端70a的适当编解码或比特率。然而,一般,内容服务器50可以以任意适合的方式并且基于来自任意合适组件的输入来确定用于由客户端70a请求的内容的适当格式和特征。
内容服务器50随后将内容请求84转发给代码转换器30。可替换地,系统10的具体实施例包括负责管理一个或多个代码转换器30的操作的主机处理器40,并且内容服务器50可以向主机处理器40发送内容请求。主机处理器40生成指示将由代码转换器30完成的修改的工作流86并且将工作流86发送给代码转换器30。另外,在具体实施例中,系统10可以包括多个代码转换器30并且主机处理器40可以负责负载平衡和向代码转换器30指派代码转换责任。响应于接收到来自内容服务器50的内容请求84或来自主机处理器40的工作流86,代码转换器30取回所请求的源文件80,在此情况中为源文件80a。代码转换器30随后开始创建适合于向客户端70a发送和由客户端70a进行的回放的目标文件82(在图1中被示作目标文件82a)。
作为该处理的一部分,代码转换器30生成用于目标文件82a的媒体信息90。如以上注意到的,媒体信息90描述用特定媒体文件存储的媒体内容并且客户端70可以使用与接收的媒体文件相关联的媒体信息90来针对相关联的媒体文件配置自身,请求相关联的媒体文件的内容和/或以其他方式辅助所请求的媒体内容的接收和回放。媒体信息90的示例可以包括特定媒体文件的文件大小、帧率或持续时间和/或媒体文件中的媒体内容的各个部分的帧大小、媒体类型或时间戳。
如以上注意到的,系统10可以存储和递送具有各种不同格式和文件结构的源文件80。例如,图2A图示出特定文件类型(在此一般称为“类型A”),其中媒体信息90和内容一起散布在图示出的文件中。图2B图示出另一文件类型(在此一般称为“类型B”),其中媒体信息90和内容在图示的文件中被分段。
当对某种类型的源文件80进行代码转换时,代码转换器30可以能够直接从这些源文件80提取媒体信息90并且基于所提取的媒体信息90来生成用于对应的目标文件82的媒体信息。代码转换器30可以在将任何修改的内容写入相应目标文件82之前,将用于这些目标文件82的媒体信息90写入这些目标文件82中。随后,当代码转换器30开始对源文件80进行代码转换时,内容服务器50可以将用于这样的目标文件82的媒体信息90发送给请求客户端70。类型B源文件80例如让全部媒体信息90位于文件的开头。因此,代码转换器30可以能够在代码转换处理的开始时访问类型B源文件80中的全部媒体信息90。因此,当对类型B源文件80进行代码转换时,只要代码转换器30开始代码转换并且使得这样的媒体信息90可被请求客户端70获得,代码转换器30就可以从有关源文件80的开头提取媒体信息90。请求客户端70随后可以使用媒体信息90来让请求客户端70处的媒体播放器准备好用于回放并且开始从正被代码转换器30进行代码转换的目标文件82a请求内容块。
可替换地,当对其它类型的源文件80进行代码转换时,代码转换器30可能不能够在代码转换的开头访问所请求的源文件80的所有媒体信息90。类型A源文件80例如让媒体信息90和内容散布在文件中。因此,当代码转换器30最初开始对有关源文件80进行代码转换时不能从类型A源文件80提取媒体信息90并且因而不能访问被代码转换器30以其他方式使用来生成用于对应目标文件82的媒体信息的那些数据。然而,在请求客户端70可以开始下载有关目标文件82和/或播放来自有关目标文件82的内容之前,请求客户端70可能期望和/或需要媒体信息90。因此,对于某些类型的源文件80,代码转换器30可以估计被请求的源文件80的某些特性来生成用于对应目标文件82的媒体信息90,媒体信息90将允许请求客户端70开始接收和播放来自有关目标文件82的内容。
在图1所示的示例中,假定源文件80a是类型A媒体文件。因此,当代码转换器30开始对源文件80a进行代码转换时,代码转换器30不能访问源文件80a中的所有媒体信息90。因此,代码转换器30可以使用工作流86中所提供的数据、在源文件80a的开头处可获得的信息、由代码转换器30估计出的参数和/或可用于代码转换器30的任何其它合适的信息,来生成用于目标文件82a的媒体信息90。
例如,在具体实施例中,为目标文件82a创建的媒体信息90的一部分依赖于用于所请求的内容的目标格式和速率。因此,代码转换器30可以将此数据从内容请求84或工作流86复制到用于目标文件82a的媒体信息90。在具体实施例中,代码转换器30可以将诸如文件所利用的帧率、持续时间以及音频和视频编解码的类型直接从内容请求84或工作流86复制到用于目标文件82a的媒体信息90。另外,代码转换器30可以使用工作流86或内容请求84中的信息来确定用于目标文件82a的媒体信息90的其它字段。例如,代码转换器30可以通过将工作流86中可用获得的帧率和持续时间相乘来计算源文件80a中的总帧数并且随后将该总帧数写入目标文件82a中的媒体信息90。
另外,代码转换器30可以估计在代码转换开始时不可获得的参数。例如,在具体实施例中,代码转换器30利用先验估计技术来(1)基于有关编码格式和编码参数,诸如所请求的源文件80和/或将由代码转换器30生成的目标文件82中的比特率、帧率、采样率、I-帧间隔和总媒体帧数,来估计媒体信息90中的字段,诸如音频和视频帧的时间戳以及这样的帧的大小;(2)估计目标文件82a中的音频和视频帧的交织格式。
在具体实施例中,代码转换器30可以通过相对于编码器参数设置特征对每帧的比特进行建模来开始该处理。对于给定的视频或音频编码以及其对应的编码参数设置,代码转换器30的输出可被表征为针对给定编码器参数设置确定每帧的比特的最小值、最大值和平均水平。基于此表征,代码转换器30可以将依据每帧的比特的帧大小建模为编码比特率、帧率/采样率、帧的时间位置、分辨率、编码格式和/或任意其它合适的特征或因素的函数。目标文件82的帧大小随后可以基于该模型来估计。对于视频媒体,代码转换器30可以基于编码器参数设置来确定比特流中I帧出现的频率并且可以基于此频率来估计I帧的帧大小。此外,代码转换器30可以使用以下公式基于帧率来计算两个连续帧之间的时间差之差:(两个连续帧之间的时间差之差)=1/(帧率)。使用该公式,代码转换器30随后可以如下为每帧确定时间戳:当前帧的时间戳=紧前帧的时间戳+连续帧之间的时间戳之差。
代码转换器30也可以为目标文件82中不同类型的媒体数据确定交织次序。例如,针对给定数量的音频内容,代码转换器30可以确定预定数量的视频内容将被写入目标文件82。代码转换器30可以基于目标格式和/或其它合适的考虑来确定该次序。如以下进一步讨论的,代码转换器30可以之后在将内容写入目标文件82时使用该交织次序。
基于每帧的时间戳、帧大小、对媒体中的音频和视频帧的交织格式的估计,代码转换器30随后可以确定每个单独的音频和视频帧在在将由代码转换器30生成的目标文件82中的估计位置。代码转换器可以生成媒体信息90,其包含每个媒体帧在目标文件82中的估计位置以及客户端70a需要或期望的其它合适的数据。代码转换器30随后可以将媒体信息90发送给内容服务器50以用于随后发送给客户端70a。
作为一个示例,代码转换器30可被配置为将修改后的视频和音频内容以包含固定时间量的相应类型的内容的交替块写入目标文件82。因此,代码转换器30可以确定与所要写入的每个视频或音频数据块相关联的时间量X。尽管该数量可以基于任意合适的考虑来确定,但是在具体实施例中,代码转换器30可以被配置为将音频和视频数据以包含预定数量的内容(例如100ms)的块写入所有目标文件82,而不论所涉及的格式如何。基于与每个块相关联的时间量和任意其它合适的因素,代码转换器30随后可以确定要分别写入有关目标文件82中的每个视频和音频内容块的视频帧数和音频帧数。例如,在具体实施例中,代码转换器30基于与目标格式相关联的视频帧率(R1),根据等式N1=XχR1来确定要写入每个视频内容块的视频帧数(N1),并且基于与目标格式相关联的每帧样本值(S)和由代码转换器30或客户端70a(例如基于期望的音频质量)设置的采样率(R2),根据等式N2=X x(R2/S)来确定要写入每个音频内容块的音频帧数(N2)。代码转换器30随后可以使用每个视频数据块中的适配帧数N1和每个音频数据块中的音频帧数N2来估计将针对当前请求写入的目标文件82的各种特征,诸如每个音频和视频内容块的位置、每个块的时间戳或写入这些块中的帧的帧大小。这些特征可被包括在由代码转换器30生成的媒体信息90中并且被发送给客户端70a。另外,如以下进一步所述,代码转换器30可以以某种方式按照或基于这些估计特征来将输入写入有关目标文件82。
在具有较大的等待时间容限的具体实施例中,代码转换器30可以对将被写入目标文件82a的音频和/或视频内容的几个帧进行代码转换并且缓冲这些帧以用于生成媒体信息90之前的分析。代码转换器30随后可以使用来自实际编码媒体帧的数据来提炼基于上述技术估计的参数。因此,作为结果,代码转换器可以能够实现改进的帧大小估计。代码转换器30随后可以利用改进的帧大小估计来针对还未被进行代码转换的帧生成媒体信息90。代码转换器30随后可以将用于代码转换后的帧的数据连同用于还未被代码转换的帧的估计数据一起作为媒体信息90发送给客户端70a。
在估计由客户端70a使用的媒体信息90之后,代码转换器30随后可以开始将来自源文件80a的内容从源格式修改为目标格式。如以上注意到的,代码转换器30可以以任何合适的方式来对所请求的源文件80的内容或特征进行代码转换、速率转换、分辨率调节或其它方式的修改,来使得内容适合于向请求客户端70的发送和/或由请求客户端70进行的回放。代码转换器30随后可以将修改后的来自源文件80a的内容写入修改内容储存器22中的目标文件82(这里为目标文件82a)。
在具体实施例中,因为由代码转换器30生成的媒体信息90将被客户端70a用来请求来自目标文件82a的内容,所以代码转换器30可以使用媒体信息90来确定内容应当如何写入目标文件82a。作为一个示例,在具体实施例中,代码转换器30将视频和音频内容以包括固定数量的视频帧(N1)和音频帧(N2)的单独的块写入目标文件82a。N1和N2可以由代码转换器30在生成媒体信息90之前计算出,如上所述。在这样的实施例中,代码转换器30可以基于N1和N2为每个媒体内容块计算估计的块位置和时间戳,并且可以将估计的块位置和时间戳包括在被发送给客户端70a的媒体信息90中。代码转换器30随后可以根据传送给客户端70a的块位置和时间戳来将视频和音频内容写入目标文件82a。
作为另一示例,在具体实施例中,代码转换器30将代码转换后的视频帧的帧大小与被发送给客户端70a的媒体信息90中所包括的估计视频帧大小相比较。如果代码转换器30确定当前针对目标文件82a生成的代码转换后的视频帧比媒体信息90中所包括的视频帧大小大,则代码转换器30可以丢弃所生成的视频帧并且用合适形式的哑元帧(dummy frame)(例如将被客户端70a读作未编码帧的全部为0的帧)替换目标文件82a中的丢弃帧,或以其他方式修改将被写入目标文件82a的该帧,来确保有关帧不会超过媒体信息90中所识别的视频帧大小。由于这样的帧最有可能出现在目标文件82a中不那么受缺失帧影响的时间位置,所以一起丢弃这些帧不会导致明显劣化的视频质量。另一方面,如果所生成的视频帧小于视频帧大小,则代码转换器30可以用0填充该帧或以其他方式修改被写入目标文件82a的帧,来确保有关帧不小于预期的视频帧大小。类似地,代码转换器30可以使用媒体信息90中的交织信息来确定代码转换器30用来将音频和视频内容写入目标文件82a的适当交织样式。
作为又一示例,在具体实施例中,代码转换器30可以生成用于目标文件82a的音频帧,每个音频帧包括标记音频帧的结束的帧结束标记(例如,在高级音频编码(AAC)的情况中为ID_END)。在这样的实施例中,代码转换器30可以估计音频帧的帧大小,作为生成媒体信息90的一部分。随后,当生成用于目标文件82a的音频帧时,代码转换器30可以将所生成的每个音频帧与估计的帧大小相比较。如果特定音频帧小于估计的音频帧大小,则代码转换器30可以在有关帧中的内容数据的最后一个比特与帧结束标记之间插入足够数目的哑元比特(例如,在高级音频编码的情况中为fill_elements)或0值比特,来确保那个音频帧的大小与估计的音频帧大小匹配。
在客户端70a接收到来自代码转换器30的媒体信息90之后,客户端70a可以基于接收到的媒体信息90来请求来自目标文件82a的内容。例如,在具体实施例中,客户端70a可以基于接收到的媒体信息90,通过发送具有识别由客户端70a确定的目标文件82a的一部分(诸如音频和视频帧的特定集合)的范围字段的HTTP“GET”请求,来开始目标文件82a的渐进下载。内容服务器50随后可以将目标文件82a的被请求的部分发送给客户端70a,并且客户端70a可以开始目标文件82a的回放。在具体实施例中,客户端70a可以能够在代码转换器30已经完成将全部代码转换后的媒体写入目标文件82a之前开始回放来自目标文件82a的内容。
代码转换器30可以继续对来自源文件80a的内容进行代码转换并且将代码转换后的内容写入目标文件82a。另外,客户端70a可以继续请求来自目标文件82a的内容直到全部内容已经被客户端70a从目标文件82a取回并播放为止。内容服务器50随后可以将文件结束指示发送给客户端70a,并且客户端70a可以结束所请求的内容的回放。
在某些情况下,客户端70a可以在代码转换器30已经将部分数据写入目标文件82a之前,请求目标文件82a中的那部分数据。系统10的具体实施例可以通过利用数据流计量技术来解决这样的情况。数据流计量技术控制客户端70a从目标文件82a接收数据的速率来维持流畅的回放。系统10可以以若干不同方式实现数据流计量。
例如,如果作为渐进处理的一部分,内容服务器50正将内容发送给客户端70a,代码转换器30可以在渐进下载开始之前以比特计算总文件大小(S)或者基于诸如视频比特率、音频比特率、媒体信息大小和持续时间之类的目标格式媒体参数来估计S。代码转换器30可以通过将目标文件82中的报头中的媒体信息90的估计大小和所有媒体帧的媒体信息90的估计大小相加来估计类型A文件的S。对于类型B文件,代码转换器30可以使用以下等式来计算S:
S=(V x T)+(A x T)+M
其中V是视频比特率,A是音频比特率,T是源文件80a的持续时间并且M是目标文件82中的媒体信息90的和,包括与作为整体的文件相关联的媒体信息的大小和与各个音频或视频内容帧相关联的媒体信息。代码转换器30将文大小S提供给内容服务器50,使得内容服务器50可以利用该信息来进行数据流计量。
使用总文件大小S和持续时间T,代码转换器30或内容服务器50随后可以根据等式R=S÷T来确定将允许流畅回放的最小数据率R。在具体实施例中,内容服务器50随后可以使用最小数据率R来确定用来向客户端70a发送内容的适当速率。
作为一个示例,代码转换器30可以计算速率(R+α)以用于将内容发送给客户端70a,其中α是为了补偿来自客户端70a的数据率抖动而增加的安全裕度(safety margin)。在具体实施例中,内容服务器50可以以α=0.1x R的初始设置来开始从目标文件82向客户端70a的内容发送,并且可以基于代码转换器30的代码转换速度和客户端70a请求数据的数据速度来在发送期间适应性地调节α的值。客户端70a随后可以基于与客户端70a相关联的缓冲长度和媒体回放速度,以某种间隔周期性地发送对来自目标文件82的数据块的请求,并且内容服务器50可以基于计算出的速率来确定用于向客户端70a发送的适当内容数量。在这样的实施例中,如果来自客户端70a的两个连续的请求在时刻t=t1和t=t2到达内容服务器,则内容服务器50计算在时刻t=t2将发送给客户端70a的总数据大小,即(R+α)x(t2-t1)。因此,内容服务器50在t=t2,将(R+α)x(t2-t1)比特的数据发送给客户端70a。可替换地,如果客户端70a仅在发送的开头发送仅一个请求,该请求针对具有与目标文件82的大小相等的大小的单个数据块,则内容服务器50可以以平均(N÷(R+α))的间隔周期性地发送大小N比特的分组,其中N通常小于或等于最大允许传输控制协议(TCP)分组大小和最大允许HTTP分组大小。
除了数据流计量以外,系统10的具体实施例还可以利用某些技术来应对代码转换的动态速率。即便代码转换器30平均而言正在实时进行代码转换,其即时性能也逐帧不同(例如对于I帧较快而对于P帧较慢)或逐场景不同(例如,在高运动场景期间较慢并且在低运动场景中较快)。为了应付代码转换速度中的该变化,系统10的具体实施例可以实现等候时间(wait-time)控制算法。在这样的实施例中,如果目标文件82a的被请求部分当被客户端70a请求时不可被内容服务器50用来发送给客户端70a,则内容服务器50可以在响应之前,等候预定的或动态设置的时间量,或“等候时间”。如果被请求的来自目标文件82a的数据在等候时间内被代码转换器30写入目标文件82a,则内容服务器50将数据发送给客户端70a并且继续之后的正常操作。否则,如果所请求的数据在等候时间内未被写入目标文件82a,则在等候时间结束时,内容服务器50可以向客户端70a发送文件结束(EOF),从而结束发送会话,或采取其他适当的补救措施。
在具体实施例中,等候时间可以初始基于视频帧率被设置并且在会话期间基于请求速率、数据可用性、代码转换器30的性能和/或其它合适的因素被适应性地调节。例如,在具体实施例中,内容服务器50可以计算等候时间值,其初始等于视频帧率的乘法逆的一个数量级或W=10x(1÷视频帧率)。系统10随后可以利用计算出的等候时间W作为内容服务器50将等候所请求的信息的时间量的上界。在这样的实施例中,内容服务器50可别设计为每0.01秒轮询(poll)该文件,但是不长于W秒。因此,只要所请求的来自目标文件82的数据是可获得的,则内容服务器50将立即取回数据并将其发送给客户端70。如果在W秒之后,所请求的内容不可在目标文件82a中获得,则内容服务器可以发送EOF或采取适当步骤。
为了辅助数据流计量、等候时间值的使用以及内容服务器50和客户端70a之间的交互的其他方面,代码转换器30可以在代码转换的开头或在目标文件82的创建被完成前的其他适当时间点,将媒体信息90和各种其他数据传送给内容服务器50。类似地,代码转换器30可以将具体客户端侧协议需要的或对于辅助向具有某些能力限制的客户端的递送必要的其他值存储在可由内容服务器50访问的文件中。因此,在具体实施例中,代码转换器30可以将三个参数——估计文件大小(S)、数据率(R)和初始等候时间(W)——写入可由内容服务器50访问的文件中。内容服务器50可以随后基于这些参数将内容发送给客户端70a或以其它方式与客户端70交互。
因此,通过估计用来生成媒体信息90的文件特征而不是等候直到有关源文件80的代码转换被完成为止,系统10的具体实施例可以准许客户端70在这样的文件已经被完整进行代码转换之前开始所请求的源文件80的回放。此外,通过以用发送给客户端70a的媒体信息90确定的方式写入目标文件82,代码转换器可以确保客户端70能够恰当地请求和播放来自目标文件82的内容,尽管事实是客户端70a用来配置自身的媒体信息90以及请求内容是基于目标文件82a的估计特征而生成的。另外,通过利用数据计量和等候时间技术来管理向客户端70的内容发送,系统10的具体实施例可以减少或消除所请求的内容的回放中的不必要的或过量的中断。因此,系统10可以以最少的回放期间的中断来提供各种不同格式的媒体内容的回放。系统10的具体实施例在将所请求的内容从Flash视频(FLV)源格式代码转换成运动图片专家组-4目标格式(通常称为MP4文件格式)的同时进行渐进下载中特别有效。因此,系统10的具体实施例可以提供许多操作益处。然而,具体实施例可以不提供这些益处、这些益处中的一些或全部。
图2A图示出具有系统10的具体实施例可以支持的文件结构的示例媒体文件202。如上所述,媒体文件202是其中描述媒体文件202中的媒体内容的信息散布在媒体文件202中的文件类型(在此称为“类型A”)。系统10的某些实施例可以支持的类型A媒体文件的示例包括但不限于FLV、音频视频交织(AVI)和MPEG-1文件。如图2A中所示,用于媒体文件202的媒体信息90包括报头信息204和帧信息206。尽管图2A图示出系统10的具体实施例可以支持的类型A文件的示例,但是系统10的可替换实施例可以能够支持具有多个媒体信息集合和/或位于除了文件开头以外的其它地方的媒体信息的其它类型的文件。
图2B图示出具有系统10的具体实施例可以支持的可替换文件结构的示例媒体文件212。如上所述,媒体文件212是其中描述媒体文件212中的媒体内容的信息在媒体文件212的开头处被分段的文件类型(在此称为“类型B”)。系统10的某些实施例可以支持的类型B媒体文件的示例包括但不限于MP4、3GP和Quicktime文件。如图2B中所示,媒体文件212仅在媒体文件212的开头处包括单个媒体信息块214。尽管图2B图示出系统10的具体实施例可以支持的类型B文件的示例,但是系统10的可替换实施例可以能够支持包括位于文件的开头处的单个媒体信息块90。
图3是更详细地图示出代码转换器30的具体实施例的内容和操作的框图。一般,如以上关于图1所述,代码转换器30取回或以其它方式接收用于递送给客户端70的内容,以恰当的方式修改取回的内容来创建目标文件82,并且生成对应的媒体信息90来辅助修改后的内容向请求客户端70的发送。如图3中所示,代码转换器30可以包括处理器310、存储器320、主机接口模块330、网络接口模块340、存储接口模块350和一个或多个代码转换模块360。
处理器310可以表示或包括任意形式的处理组件,包括通用计算机、专用微处理器或能够处理电子信息的其他处理设备。处理器310的示例包括数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和任意其它适合的专用或通用处理器。尽管图3图示出包括单个处理器310的代码转换器30的具体实施例,但是代码转换器30一般可以包括任意合适数目的处理器310。
存储器320存储在操作期间由代码转换器30利用的处理器指令、编解码和/或值和参数。存储器320可以包括适合于存储数据的易失性或非易失性的组件的任意集合和布置,这些组件诸如是例如随机存取存储器(RAM)设备、只读存储器(ROM)设备、磁存储设备、光存储设备或任意合适的数据存储设备。在具体实施例中,存储器320可以部分地表示计算机指令在其上被编码的计算机可读介质。在这样的实施例中,所描述的代码转换器30的功能性的一些或全部可以由执行被编码在所述介质上的指令的处理器310来提供。尽管在图3中被示作单个组件,但是存储器320可以表示在代码转换器30内、其本地的或其可访问的任意数目的存储元件。
主机接口模块330将代码转换器30耦合到主机处理器40来辅助主机处理器40和代码转换器30之间的通信和数据流。例如,代码转换器30可以通过主机接口模块330来从主机处理器40接收工作流86。代码转换器30也可以使用主机接口模块330来向主机处理器40发送指示代码转换器30已经完成之前接收的工作流86并且准备好用于另外的指派的消息。在某些实施例中,可替换地,代码转换器30和主机处理器40之间的通信和数据流可以经由网络接口模块340来进行。
网络接口模块340将代码转换器30耦合到系统10的适当组件来在由代码转换器30执行的内容递送操作方面辅助代码转换器30与内容服务器50和/或系统10的其他合适的组件之间的经由网络60的通信。例如,代码转换器30可以利用网络接口模块340来将媒体信息90发送给内容服务器50。在具体实施例中,网络接口模块340包括或表示适合于通过网络60的基于分组的通信的一个或多个网络接口卡(NIC)。
存储接口模块350辅助代码转换器30与系统10的各个存储组件之间的内容的传送。具体而言,代码转换器30通过存储接口模块350来接收来自原始内容储存器20的内容并将内容传送给修改内容储存器22或传送来自其的内容。为了支持多个同时的代码转换处理,存储接口模块350可以包括多个端口,存储接口模块350可经这多个端口同时接收来自原始内容储存器20和/或修改内容储存器22的多个流/将多个流同时发送给原始内容储存器20和/或修改内容储存器22。
在具体实施例中,原始内容储存器20和修改内容储存器22二者都远离代码转换器30。因此,在这样的实施例中,存储接口模块350可以部分或全部地表示网络接口模块340的元件。在可替换实施例中,原始内容储存器20和修改内容储存器22之一或二者可以表示代码转换器30内部的存储组件,诸如存储器320。在这样的实施例中,存储接口模块350可以全部或部分地表示被配置为在代码转换器30的存储组件和其它组件之间传送信息的存储总线和/或其它合适的组件。
(一个或多个)代码转换模块360将源文件80中的内容从源格式修改为适合于向具体客户端70的发送和由客户端70进行的回放的目标格式。在具体实施例中,代码转换器30可以包括能够基于针对接收到的请求的目标格式对各种不同类型的内容进行变换、代码转换、速率转换和/或其它方式的修改的多个代码转换模块360。在包括多个代码转换模块360的某些实施例中,代码转换模块360可以能够并发地操作使得多个内容集合可以被同时修改。作为一个具体示例,代码转换器30的具体实施例可以包含多个代码转换模块360,其中每个代码转换模块360表示或包括数字信号处理器(DSP)。每个DSP可以具有存储器320的对于那个DSP是本地的部分,其中存储了用于对多个不同编解码进行编码/解码的适当信息。因此,代码转换器30可以提供用于高流量系统中的实时代码转换的强壮的、高效节能的、紧致的平台。
一般,主机接口模块330、网络接口模块340、存储接口模块350和(一个或多个)代码转换模块360中的每一个可以表示适合于提供所描述的功能性的硬件和/或软件的任意适当的组合。另外,主机接口模块330、网络接口模块340、存储接口模块350和(一个或多个)代码转换模块360中的的任意两个或更多个可以表示或包括公共的元件。在具体实施例中,主机接口模块330、网络接口模块340、存储接口模块350和(一个或多个)代码转换模块360部分地表示正被处理器310执行的软件应用程序。
图4是图示出在向请求客户端70递送内容时系统10的具体实施例的操作的流程图。图4中所示的步骤可以在适当时被组合、被修改或被删除,并且另外的步骤可以被增加到所示出的那些步骤。另外,在不偏离本发明的范围的情况下,这些步骤可以以任意合适的次序被执行。
操作在步骤410处开始,内容服务器50接收来自特定客户端70的内容请求84。如上所述,内容请求84可以表示适合于请求客户端70从内容服务器50请求内容的任意适当形式的请求。在具体实施例中,内容请求84表示指定与所请求的源文件80相关联的统一资源定位(URL)的HTTP请求。
在步骤420,内容服务器50识别与所接收到的内容请求84相关联的媒体内容的源文件80。源文件80具有源格式,源格式与向请求客户端70的发送或由请求客户端70进行的回放不相兼容的或者不适于此。因此,在步骤430,内容服务器50(或系统10的其他合适的组件)可以开始与所接收到的内容请求84相关联的目标文件82的创建。在具体实施例中,内容服务器50可以通过将内容请求84转发给主机处理器40或直接转发给代码转换器30来开始目标文件82的创建。主机处理器40随后可以将内容请求84或由主机处理器40响应于内容请求84创建的工作流转发给合适的代码转换器30。
代码转换器30随后可以在对应的目标文件82被完整地创建之前,生成媒体信息90来辅助来自所请求的源文件80的内容向请求客户端70的发送。作为该处理的一部分,在步骤440,代码转换器30估计目标文件82的一个或多个特征。代码转换器30可以估计目标文件82的任意合适的特征,包括但不限于与目标文件82相关联的文件大小,与将被包括在目标文件82中的一个或多个媒体帧相关联的帧大小、来自这样的媒体帧中的一个或多个的时间戳,和/或这样的媒体帧中的一个或多个的位置。
在步骤450,代码转换器30随后基于估计的特征和与有关源文件80其内容和/或请求客户端70相关联的其他合适信息,来生成用于目标文件82的媒体信息。在步骤460处,代码转换器30、主机处理器40、内容服务器50或系统10的其他合适元件随后将所生成的媒体信息90发送给请求客户端70。例如,代码转换器30可以将所生成的媒体信息90写入对应的目标文件82并且内容服务器50可以从代码转换后的内容存储器22读取有关的媒体信息90并将该媒体信息90发送给请求客户端70。如图4中所示,在具体实施例中,所生成的媒体信息90可以在对应的目标文件82的创建已被完成之前,被发送给请求客户端70。
在所图示的示例中,在步骤470,代码转换器30随后开始修改源文件80中的内容来将其内容转换成与接收到的内容请求84相关联的目标格式。尽管图4图示出其中代码转换器30在修改来自源文件80的任何内容之前估计目标文件82的特征的实施例,但是在可替换实施例中,代码转换器30可以修改源文件80的一部分并将修改后的部分的特征用作估计作为整体的目标文件82的特征的基础。因此,在具体实施例中,代码转换器30可以在估计目标文件82的有关特征和/或生成用于目标文件82的媒体信息90之前,开始修改源文件80中的至少一部分内容。
在具体实施例中,代码转换器30可以以使得修改后的内容符合发送给请求客户端70的媒体信息90的方式来修改来自源文件80的内容。例如,在具体实施例中,代码转换器30可以生成目标格式的媒体帧,该媒体帧包含来自所请求的源文件80的内容。如果媒体帧大于针对有关媒体类型的估计帧大小,则代码转换器30可以丢弃修改后的内容的帧和/或以适合的方式修改帧以便符合估计帧大小(例如通过将具有0的帧写入对应的目标文件82)。可替换地,如果媒体帧小于针对有关媒体类型的估计帧大小,则代码转换器30可以丢弃修改后的内容的帧和/或以适合的方式修改帧以便符合估计帧大小(例如通过在将帧写入对应目标文件82之前,用诸如一串0之类的非数据比特来填充帧)。
在步骤480,代码转换器30将修改后的来自源文件80的内容写入对应的目标文件82。在具体实施例中,代码转换器30可以基于被发送给请求客户端70的媒体信息90来将修改后的内容写入对应目标文件82。例如,代码转换器30可以在用发送给请求客户端70的媒体信息90指定的有关目标文件82内的位置处,将修改后的媒体内容的帧写入对应目标文件82。
当代码转换器30正在将修改后的内容写入目标文件82时,在步骤490,内容服务器50可以将来自对应目标文件82的内容发送给请求客户端70。例如,在具体实施例中,作为渐进下载的一部分,内容服务器50可以将来自有关目标文件82的内容发送给请求客户端70。在这样的实施例中,内容服务器50可以接收来自请求客户端70的一连串请求,这些请求指示有关目标文件82中的、请求客户端70准备好要接收的连续部分。内容服务器50可以响应于这些请求将来自对应目标文件82的内容发送给请求客户端70。
代码转换器30可以继续将修改后的内容写入对应目标文件82并且内容服务器50可以继续将来自有关目标文件82的内容发送给请求客户端70。该处理可以被重复直到代码转换器30已经完成对来自被请求的源文件80的内容的修改并将其写入对应目标文件82并且完成了目标文件82的创建为止和/或直到内容服务器50已经完成了来自对应目标文件82的内容向请求客户端70的发送为止。因此,如图4中的步骤500所示,代码转换器30、内容服务器50和/或系统10的其他合适的元件可以确定是否还有更多内容要被写入和/或被发送并且重复步骤470、480和/或490。如果没有,则系统10的该示例实施例的有关递送所请求的内容的操作可以结束,如图4中所示。
尽管已经利用若干实施例描述了本发明,但是可以向本领域技术人员建议许多更改、改变、变更、变形和修改,并且本发明意欲包括络在所附权利要求的范围内的这样的更改、改变、变更、变形和修改。

Claims (30)

1.一种用于递送媒体内容的方法,包括:
接收来自客户端的针对媒体内容的请求;
识别第一媒体文件,所述第一媒体文件包含与所述请求相关联的媒体内容,其中所述第一文件具有第一媒体格式;
至少部分地基于所述第一媒体文件来估计第二媒体文件的一个或多个特征,其中所述第二媒体文件具有第二媒体格式;
至少部分地基于所述第二媒体文件的估计出的特征来生成用于所述第二媒体文件的媒体信息;
开始与所述请求相关联的所述第二媒体文件的创建;以及
在所述第二媒体文件的创建已被完成之前,将所述媒体信息发送给所述客户端。
2.根据权利要求1所述的方法,其中,估计所述第二媒体文件的一个或多个特征包括计算与所述媒体内容相关联的多个媒体帧中的每一个媒体帧的帧大小。
3.根据权利要求1所述的方法,其中,估计所述第二媒体文件的一个或多个特征包括计算与所述媒体内容相关联的多个媒体帧中的每一个媒体帧的时间戳。
4.根据权利要求1所述的方法,其中,生成媒体信息包括为所述第一媒体文件中的多个媒体帧中的每一个媒体帧确定在所述第二媒体文件中的位置。
5.根据权利要求1所述的方法,其中,生成媒体信息包括确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量。
6.根据权利要求1所述的方法,其中,生成媒体信息包括:
确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量;以及
基于与所述第二媒体文件相关联的视频帧率和所述时间量来确定每个视频内容块中的视频帧的数量。
7.根据权利要求1所述的方法,其中,生成媒体信息包括:
确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量;以及
基于与所述第二媒体文件相关联的音频采样率、每音频帧的样本数和所述时间量,来确定每个音频内容块中的音频帧的数量。
8.根据权利要求1所述的方法,还包括至少部分地基于所生成的媒体信息来将媒体内容写入所述第二媒体文件。
9.根据权利要求8所述的方法,其中,将媒体内容写入所述第二媒体文件包括:
生成所述第二格式的媒体帧;
判断生成的媒体帧是否大于估计出的帧大小;以及
响应于判断出所述生成的媒体帧大于所述估计出的帧大小,丢弃所述生成的媒体帧。
10.根据权利要求8所述的方法,其中,将媒体内容写入所述媒体文件包括:
生成所述第二格式的媒体帧;
判断生成的媒体帧是否小于估计出的帧大小;以及
响应于判断出所述生成的媒体帧小于所述估计出的帧大小,向所述生成的媒体帧添加哑元比特。
11.根据权利要求1所述的方法,还包括在所述第二媒体文件的创建已被完成之前,将所述第二媒体文件的一部分发送给所述客户端。
12.根据权利要求11所述的方法,其中,将所述第二媒体文件的一部分发送给所述客户端包括将所述部分作为所述第二媒体文件的渐进下载的一部分来发送给所述客户端。
13.根据权利要求11所述的方法,还包括在所述第二媒体文件的创建已被完成之前,在所述客户端处开始所述第二媒体文件的所述部分的回放。
14.根据权利要求1所述的方法,其中,估计所述第二媒体文件的一个或多个特征包括在任何媒体内容被写入所述第二文件之前,估计所述第二媒体文件的一个或多个特征。
15.根据权利要求1所述的方法,其中,估计所述第二媒体文件的一个或多个特征包括:
至少部分地基于所述第一媒体文件来生成所述第二媒体格式的一个或多个媒体帧;以及
基于所生成的媒体帧来估计所述第二媒体文件的所述一个或多个特征。
16.一种用于处理媒体内容的装置,包括:
存储器,所述存储器可操作用于存储处理器指令;
处理器,所述处理器可操作用于执行所述处理器指令,并且当执行所述处理器指令时,可操作用于:
接收来自客户端的针对媒体内容的请求;
识别第一媒体文件,所述第一媒体文件包含与所述请求相关联的媒体内容,其中所述第一文件具有第一媒体格式;
至少部分地基于所述第一媒体文件来估计第二媒体文件的一个或多个特征,其中所述第二媒体文件具有第二媒体格式;
至少部分地基于所述第二媒体文件的估计出的特征来生成用于所述第二媒体文件的媒体信息;
开始与所述请求相关联的所述第二媒体文件的创建;以及
在所述第二媒体文件的创建已被完成之前,将所述媒体信息发送给所述客户端。
17.根据权利要求16所述的装置,其中,所述处理器可操作用于通过计算与所述媒体内容相关联的多个媒体帧中的每一个媒体帧的帧大小,来估计所述第二媒体文件的一个或多个特征。
18.根据权利要求16所述的装置,其中,所述处理器可操作用于通过计算与所述媒体内容相关联的多个媒体帧中的每一个媒体帧的时间戳,来估计所述第二媒体文件的一个或多个特征。
19.根据权利要求16所述的装置,其中,所述处理器可操作用于通过为所述第一媒体文件中的多个媒体帧中的每一个媒体帧确定在所述第二媒体文件中的位置,来估计所述第二媒体文件的一个或多个特征。
20.根据权利要求16所述的装置,其中,所述处理器可操作用于通过确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量来生成所述媒体信息。
21.根据权利要求16所述的装置,其中,所述处理器可操作用于通过以下处理来生成媒体信息:
确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量;以及
基于与所述第二媒体文件相关联的视频帧率和所述时间量来确定每个视频内容块中的视频帧的数量。
22.根据权利要求16所述的装置,其中,所述处理器可操作用于通过以下处理来生成媒体信息:
确定与要被写入所述第二媒体文件中的每个内容块相关联的时间量;以及
基于与所述第二媒体文件相关联的音频采样率、每音频帧的样本数和所述时间量,来确定每个音频内容块中的音频帧的数量。
23.根据权利要求16所述的装置,其中,所述处理器还可操作用于至少部分地基于所生成的媒体信息来将媒体内容写入所述第二媒体文件。
24.根据权利要求23所述的装置,其中,所述处理器可操作用于通过以下处理来将媒体内容写入所述第二媒体文件:
生成所述第二格式的媒体帧;
判断生成的媒体帧是否大于估计出的帧大小;以及
响应于判断出所述生成的媒体帧大于所述估计出的帧大小,丢弃所述生成的媒体帧。
25.根据权利要求23所述的装置,其中,所述处理器可操作用于通过以下处理来将媒体内容写入所述第二媒体文件:
生成所述第二格式的媒体帧;
判断生成的媒体帧是否小于估计出的帧大小;以及
响应于判断出所述生成的媒体帧小于所述估计出的帧大小,向所述生成的媒体帧添加哑元比特。
26.根据权利要求16所述的装置,其中,所述处理器还可操作用于在所述第二媒体文件的创建已被完成之前,将所述第二媒体文件的一部分发送给所述客户端。
27.根据权利要求26所述的装置,其中,所述处理器可操作用于通过将所述第二媒体文件的一部分作为所述第二媒体文件的渐进下载的一部分来发送给所述客户端,来将所述部分发送给所述客户端。
28.根据权利要求16所述的装置,其中,所述处理器可操作用于通过在任何媒体内容被写入所述第二文件之前估计所述第二媒体文件的一个或多个特征,来估计所述第二媒体文件的一个或多个特征。
29.根据权利要求16所述的装置,其中,所述处理器可操作用于通过以下处理来估计所述第二媒体文件的一个或多个特征:
至少部分地基于所述第一媒体文件来生成所述第二媒体格式的一个或多个媒体帧;以及
基于所生成的媒体帧来估计所述第二媒体文件的所述一个或多个特征。
30.一种用于递送媒体内容的系统,包括:
代码转换器,所述代码转换器包括:
存储器,所述存储器可操作用于存储用于所述代码转换器的处理器指令;以及
处理器,所述处理器在执行用于所述代码转换器的处理器指令时,可操作用于:
接收来自客户端的针对媒体内容的请求;
识别第一媒体文件,所述第一媒体文件包含与所述请求相关联的媒体内容,其中所述第一文件具有第一媒体格式;
至少部分地基于所述第一媒体文件来估计第二媒体文件的一个或多个特征,其中所述第二媒体文件具有第二媒体格式;
至少部分地基于所述第二媒体文件的估计出的特征来生成用于所述第二媒体文件的媒体信息;
开始与所述请求相关联的所述第二媒体文件的创建;以及
在所述第二媒体文件的创建已被完成之前,将所述媒体信息发送给所述客户端;以及
所述客户端可操作用于:
接收所述媒体信息;
从所述代码转换器请求所述第二媒体文件的至少一部分;以及
基于接收到的媒体信息来播放所述第二媒体文件的所述部分。
CN2009801502680A 2008-10-14 2009-10-14 用于代码转换后的媒体内容的渐进递送的系统和方法 Pending CN102246533A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10523008P 2008-10-14 2008-10-14
US61/105,230 2008-10-14
PCT/US2009/060590 WO2010045289A1 (en) 2008-10-14 2009-10-14 System and method for progressive delivery of transcoded media content

Publications (1)

Publication Number Publication Date
CN102246533A true CN102246533A (zh) 2011-11-16

Family

ID=41478599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801502680A Pending CN102246533A (zh) 2008-10-14 2009-10-14 用于代码转换后的媒体内容的渐进递送的系统和方法

Country Status (4)

Country Link
US (1) US9247276B2 (zh)
CN (1) CN102246533A (zh)
IL (1) IL212317A0 (zh)
WO (1) WO2010045289A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462031A (zh) * 2014-11-06 2015-03-25 国云科技股份有限公司 一种快速批量处理乱码文档的方法
CN104661046A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种媒体流的解码方法和装置
CN105308978A (zh) * 2012-11-20 2016-02-03 谷歌技术控股有限责任公司 用于将媒体内容流式传输到客户端设备的方法和设备

Families Citing this family (45)

* Cited by examiner, † Cited by third party
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
US8238420B1 (en) * 2008-01-24 2012-08-07 Adobe Systems Incorporated Video content transcoding for mobile devices
US9473812B2 (en) 2008-09-10 2016-10-18 Imagine Communications Corp. System and method for delivering content
US9621768B1 (en) 2008-12-08 2017-04-11 Tata Communications (America) Inc. Multi-view media display
US9865302B1 (en) 2008-12-15 2018-01-09 Tata Communications (America) Inc. Virtual video editing
WO2010085470A1 (en) 2009-01-20 2010-07-29 Ripcode, Inc. System and method for splicing media files
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
US20120062712A1 (en) * 2010-09-11 2012-03-15 Spatial View Inc. Delivery of device-specific stereo 3d content
CN102469347A (zh) * 2010-11-04 2012-05-23 中兴通讯股份有限公司 内容播放的方法及系统
KR101595526B1 (ko) * 2010-12-23 2016-02-26 한국전자통신연구원 콘텐츠 동기 전송 시스템 및 방법
US8606954B1 (en) 2011-03-24 2013-12-10 Sprint Communications Company L.P. Progressive download of media content over different wireless access networks
US10078695B2 (en) * 2011-04-11 2018-09-18 Evertz Microsystems Ltd. Methods and systems for network based video clip generation and management
US9069723B2 (en) * 2011-05-20 2015-06-30 Adobe Systems Incorporated Computer-implemented methods and systems for dynamically compiling and serving electronic content
WO2013033242A1 (en) 2011-08-29 2013-03-07 Latakoo, Inc. Compressing, transcoding, sending, and retrieving video and audio files in a server-based system
US9264939B2 (en) * 2011-10-07 2016-02-16 Hewlett-Packard Development Company, L.P. Communication over a wireless connection
US9338482B2 (en) * 2011-11-30 2016-05-10 Mobitv, Inc. Enhanced group of pictures (GOP) alignment in media stream variants
US9179169B2 (en) 2012-03-14 2015-11-03 Imagine Communications Corp. Adaptive media delivery
US9106474B2 (en) * 2012-03-28 2015-08-11 National Instruments Corporation Lossless data streaming to multiple clients
WO2013145628A1 (ja) * 2012-03-30 2013-10-03 日本電気株式会社 情報処理装置及び負荷テスト実施方法
JP5880256B2 (ja) * 2012-04-26 2016-03-08 ソニー株式会社 情報処理装置及び方法、プログラム、並びに情報処理システム
EP2908547B1 (en) * 2012-10-10 2019-12-04 Fujitsu Client Computing Limited Information-processing device, information-processing system, information-processing program, and moving image data transmission/reception method adapting the frame rate of moving image data based on frame similarity
US9871842B2 (en) 2012-12-08 2018-01-16 Evertz Microsystems Ltd. Methods and systems for network based video clip processing and management
JP6202826B2 (ja) * 2013-01-30 2017-09-27 キヤノン株式会社 通信装置、通信装置の制御方法、および、プログラム
WO2014179003A1 (en) * 2013-04-30 2014-11-06 Dolby Laboratories Licensing Corporation System and method of outputting multi-lingual audio and associated audio from a single container
WO2014209305A1 (en) * 2013-06-26 2014-12-31 Intel Corporation Checkpoints for media buffering
US9667801B2 (en) 2014-12-05 2017-05-30 Facebook, Inc. Codec selection based on offer
US10469630B2 (en) 2014-12-05 2019-11-05 Facebook, Inc. Embedded RTCP packets
US9729287B2 (en) * 2014-12-05 2017-08-08 Facebook, Inc. Codec with variable packet size
US9729601B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Decoupled audio and video codecs
US10506004B2 (en) 2014-12-05 2019-12-10 Facebook, Inc. Advanced comfort noise techniques
US9729726B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Seamless codec switching
US9596183B2 (en) 2014-12-12 2017-03-14 Western Digital Technologies, Inc. NAS off-loading of network traffic for shared files
US10715595B2 (en) 2014-12-23 2020-07-14 Western Digital Technologies, Inc. Remotes metadata extraction and transcoding of files to be stored on a network attached storage (NAS)
CN106162182B (zh) * 2015-03-25 2019-08-30 杭州海康威视数字技术股份有限公司 一种视频编码码流的播放控制方法及系统
US20170054786A1 (en) * 2015-08-21 2017-02-23 TransferSoft, Inc. Transfer of files over a network while still being written
CN105828014B (zh) * 2016-05-06 2019-03-08 浙江宇视科技有限公司 一种音视频传输方法及装置
CN105915848B (zh) * 2016-05-06 2019-01-11 浙江宇视科技有限公司 监控显示屏、显控终端、接口转换设备及视频墙组网系统
CN105959626B (zh) * 2016-05-06 2018-12-07 浙江宇视科技有限公司 一种监控显示屏配置信息传输方法及装置
US10853439B2 (en) * 2017-08-08 2020-12-01 Nice Ltd. Systems and methods for fast play back of recorded data
CN113050906B (zh) * 2019-12-26 2024-05-07 深圳市万普拉斯科技有限公司 显示屏的帧率调整方法、装置、终端和存储介质
US11252214B1 (en) * 2020-06-15 2022-02-15 Sprint Spectrum L.P. Proactive reduction of bit rate of streaming media en route to UE in response to prediction that UE will experience reduced-throughput coverage
US20220210488A1 (en) * 2020-12-30 2022-06-30 Comcast Cable Communications, Llc Method and system for detecting and managing similar content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004102968A1 (ja) * 2003-05-13 2004-11-25 Fujitsu Limited バッファ量推測装置、配信品質監視装置、配信品質管理装置、バッファ量推測方法、配信品質監視方法、配信品質管理方法、バッファ量推測プログラム、及び配信品質監視プログラム
CN1559119A (zh) * 2001-09-24 2004-12-29 ��˹��ŵ�� 包括元数据和媒体数据的多媒体文件的流播
CN101202899A (zh) * 2006-12-12 2008-06-18 中兴通讯股份有限公司 视音频流数据恢复iso媒体文件的方法

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4509073A (en) 1982-04-29 1985-04-02 Packet Technologies, Inc. Two-way cable-television system
US5412720A (en) 1990-09-28 1995-05-02 Ictv, Inc. Interactive home information system
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
US5442700A (en) 1990-09-28 1995-08-15 Ictv, Inc. Scrambling method
US5594507A (en) 1990-09-28 1997-01-14 Ictv, Inc. Compressed digital overlay controller and method for MPEG type video signal
US5883661A (en) 1990-09-28 1999-03-16 Ictv, Inc. Output switching for load levelling across multiple service areas
US5526034A (en) 1990-09-28 1996-06-11 Ictv, Inc. Interactive home information system with signal assignment
US5319455A (en) 1990-09-28 1994-06-07 Ictv Inc. System for distributing customized commercials to television viewers
US5587734A (en) 1990-09-28 1996-12-24 Ictv, Inc. User interface for selecting television information services through pseudo-channel access
US5220420A (en) 1990-09-28 1993-06-15 Inteletext Systems, Inc. Interactive home information system for distributing compressed television programming
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
US5093718A (en) 1990-09-28 1992-03-03 Inteletext Systems, Inc. Interactive home information system
US6034678A (en) 1991-09-10 2000-03-07 Ictv, Inc. Cable television system with remote interactive processor
CA2140850C (en) * 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5812665A (en) 1995-06-08 1998-09-22 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
EP0940042B1 (en) * 1997-07-29 2005-07-27 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
US6205582B1 (en) 1997-12-09 2001-03-20 Ictv, Inc. Interactive cable television system with frame server
JP2001526503A (ja) 1997-12-09 2001-12-18 アイシーティーブイ・インク 分配されたスクランブル方法及びシステム
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
US6938157B2 (en) 2000-08-18 2005-08-30 Jonathan C. Kaplan 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
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
US7363278B2 (en) 2001-04-05 2008-04-22 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
US7599434B2 (en) 2001-09-26 2009-10-06 Reynolds Jodie L System and method for compressing portions of a media signal using different codecs
FR2831006B1 (fr) 2001-10-12 2004-02-20 Commissariat Energie Atomique Procede et systeme d'identification et de verification du contenu de documents multimedia
US20030105739A1 (en) 2001-10-12 2003-06-05 Hassane Essafi Method and a system for identifying and verifying the content of multimedia documents
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
JP2006507553A (ja) * 2002-02-25 2006-03-02 ソニー エレクトロニクス インク Mp4においてavcをサポートするための方法及び装置
US20030196206A1 (en) 2002-04-15 2003-10-16 Shusman Chad W. Method and apparatus for internet-based interactive programming
DE10353839A1 (de) * 2002-11-18 2004-06-03 Hitachi Koki Co., Ltd. Batterieladeeinheit, die in der Lage ist, eine Zeit anzuzeigen, die verbleibt, um eine vollständige Aufladung zu erreichen
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
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
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
US8117130B2 (en) 2003-02-25 2012-02-14 Stragent, Llc Batch loading and self-registration of digital media files
US20060092938A1 (en) 2003-02-26 2006-05-04 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
EP1645136B1 (en) 2003-06-20 2017-07-05 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
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
CA2567253A1 (en) 2004-05-18 2005-11-24 Silverbrook Research Pty Ltd Pharmaceutical product tracking
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
JP4967228B2 (ja) * 2004-11-29 2012-07-04 ソニー株式会社 コンテンツ通信システム、通信装置および方法、並びにプログラム
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
WO2006127951A2 (en) 2005-05-23 2006-11-30 Gilley Thomas S 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
CN101300810A (zh) 2005-09-01 2008-11-05 诺基亚公司 用于将svg内容嵌入进iso基本媒体文件格式以便渐进地下载或流式传输富媒体内容的方法
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
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
US9294728B2 (en) 2006-01-10 2016-03-22 Imagine Communications Corp. System and method for routing content
US20070255659A1 (en) 2006-05-01 2007-11-01 Wei Yen System and method for DRM translation
US20080016185A1 (en) * 2006-07-11 2008-01-17 Magix Ag System and method for dynamically creating online multimedia slideshows
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
JP2010518509A (ja) 2007-02-09 2010-05-27 ノバラ・インコーポレイテッド 移動デバイス用にビデオ・ファイル・コンテンツを変換して配信する方法およびシステム
WO2008098249A1 (en) 2007-02-09 2008-08-14 Dilithium Networks Pty Ltd. 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
US7962640B2 (en) * 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
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
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
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
WO2010085470A1 (en) 2009-01-20 2010-07-29 Ripcode, Inc. System and method for splicing media files
US9691430B2 (en) * 2010-04-01 2017-06-27 Microsoft Technology Licensing, Llc Opportunistic frame caching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1559119A (zh) * 2001-09-24 2004-12-29 ��˹��ŵ�� 包括元数据和媒体数据的多媒体文件的流播
WO2004102968A1 (ja) * 2003-05-13 2004-11-25 Fujitsu Limited バッファ量推測装置、配信品質監視装置、配信品質管理装置、バッファ量推測方法、配信品質監視方法、配信品質管理方法、バッファ量推測プログラム、及び配信品質監視プログラム
CN101202899A (zh) * 2006-12-12 2008-06-18 中兴通讯股份有限公司 视音频流数据恢复iso媒体文件的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105308978A (zh) * 2012-11-20 2016-02-03 谷歌技术控股有限责任公司 用于将媒体内容流式传输到客户端设备的方法和设备
CN105308978B (zh) * 2012-11-20 2018-10-23 谷歌技术控股有限责任公司 用于将媒体内容流式传输到客户端设备的方法和设备
CN104661046A (zh) * 2013-11-25 2015-05-27 乐视网信息技术(北京)股份有限公司 一种媒体流的解码方法和装置
CN104462031A (zh) * 2014-11-06 2015-03-25 国云科技股份有限公司 一种快速批量处理乱码文档的方法

Also Published As

Publication number Publication date
IL212317A0 (en) 2011-06-30
WO2010045289A1 (en) 2010-04-22
US9247276B2 (en) 2016-01-26
US20100094931A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
CN102246533A (zh) 用于代码转换后的媒体内容的渐进递送的系统和方法
US10511646B2 (en) System and method for delivering content
US8560729B2 (en) Method and apparatus for the adaptation of multimedia content in telecommunications networks
CN102301679A (zh) 用于拼接媒体文件的系统和方法
CA2841377C (en) Video transcoding services provided by searching for currently transcoded versions of a requested file before performing transcoding
CN102740159B (zh) 媒体文件存储格式和自适应传送系统
CN101099142B (zh) 用来从网络节点获取数字多媒体内容的系统和方法
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CN102439578B (zh) 动态可变速率媒体传送系统
CN107911332A (zh) 媒体内容流播的系统和方法
US20090119322A1 (en) System and method for managing content
CN110268717A (zh) 使用播放统计信息对多表示编码的比特率优化
CN1692353A (zh) 用于流媒体的稀少高速缓存
WO2013059301A1 (en) Distributed real-time video processing
CN103297807A (zh) 一种基于hadoop平台的提高视频转码效率的方法
CN102007483A (zh) 显示个性化的用户接口的方法及装置
WO2002087134B1 (en) Interactive streaming media production tool using communication optimization
CN1855824B (zh) 用于流式处理数据的方法和设备
CN103201734A (zh) 上下文知晓的内容传送
US8812584B2 (en) Moving picture file transmitting server and method of controlling operation of same
CN101094136A (zh) 用于支持数字多媒体内容的播放列表导航的系统和方法
EP1625724B1 (en) System and method for selecting a service provider
CN107153574A (zh) 图片转码方法及系统
CN111869225B (zh) 信息处理装置、信息处理方法及非暂时性计算机可读存储介质
JP2022526162A (ja) セッションベースdash動作のためのパターン指定

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