用编解码器强制的帧大小进行音频分割的制作方法

文档序号:6351817阅读:173来源:国知局
专利名称:用编解码器强制的帧大小进行音频分割的制作方法
技术领域
本发明的实施例涉及在因特网上递送媒体内容的领域;且更具体来说,涉及在不弓I入边界假象的情况下将媒体内容的音频分割成单独内容文件。
背景技术
因特网正变为用于向最终用户分配媒体内容(例如,视频及音频或音频)及其它信息的主要方法。当前,可将音乐、视频、游戏及其它媒体信息下载到计算机、蜂窝电话及实际上任何具有网络能力的装置。接入因特网以寻找媒体内容的人的百分比正在快速增长。观看者体验的质量是在线视频观看的增长的主要障碍。对在线视频的消费者预期由其电视及电影观看体验设定。在web上流式传输视频的观众数目正在快速增长,且存在对在因特网上观看视频的正在增长的兴趣及需求。数据文件的流式传输或“流式传输媒体”是指以足以在最初预 计的回放速度下向用户呈现顺序媒体内容而不具有显著中断的速率递送所述媒体的技术。不同于媒体文件的经下载数据,经流式传输数据可存储于存储器中直到回放所述数据,且随后接着在已过去规定的时间量之后删除所述数据。与在空中、在卫星或电缆上的正规广播相比,在因特网上流式传输媒体内容具有一些挑战。在编码媒体内容的音频的背景中出现的一个担忧问题是在将视频及音频分段成固定时间部分时引入边界假象。在一种常规方法中,将音频分段成具有匹配对应视频的固定持续时间的固定持续时间(举例来说,两秒)的若干部分。在此方法中,音频边界始终与视频边界对准。常规方法开始音频编解码器的新编码会话以(举例来说)使用低复杂性高级音频编码(AAC LC)编码每一内容文件的每一音频部分。通过针对音频的每一部分使用新的编码会话,音频编解码器将波形的开头及结尾解释为从零的转变,从而在经编码部分的回放中在部分边界处产生噼噗或咔嗒噪声,例如图I中所图解说明。噼噗或咔嗒噪声称作边界假象。此外,音频编解码器根据编解码器强制的帧大小编码固定持续时间的音频。此还在由音频编解码器产生的样本的数目不能由编解码器强制的帧大小整除时引入边界假象。图I是图解说明使用常规方法的两个音频部分的示范性音频波形100的图示。音频波形100图解说明视频的第一与第二部分之间从零的转变102。当音频编解码器具有固定帧大小(本文中称作编解码器强制的帧大小)时,经编码的音频要求在所述部分的样本的数目不能由根据编解码器强制的帧大小每帧样本的数目整除时用零填补最后一个帧104。举例来说,当使用48kHz的取样速率时,存在针对两秒的音频段产生的96,000个样本。当将样本的数目96,000除以每帧样本的数目(例如,针对AAC LC为1024个样本且针对高效率AAC (HE AAC)为2048个样本)时,结果为93. 75个帧。由于数目93. 75并非整数,因此音频编解码器用零填补最后一个巾贞104。在此实例中,为最后一个巾贞的最后256个样本赋予零值。虽然零值表示静默音频,但用零填补最后一个帧在音频的经编码部分的回放期间在部分边界处产生噼噗或咔嗒噪声。从零的转变102及最后一个帧中的经填补零104引入边界假象。边界假象的引入可降低音频的总体质量,从而在媒体内容的回放期间影响用户的体验。另一常规方法尝试通过使用具有较长持续时间以便与帧边界对准的音频部分来限制边界假象的数目。然而,通过使用音频的较大持续时间部分,可需要单独地封装音频及视频。此可呈现流式传输具有音频及视频的媒体内容的缺陷,尤其是在以不同质量等级编码同一媒体内容时,举例来说,所述不同质量等级在允许在媒体内容的回放期间在不同质量等级之间变换的自适应流式传输的背景中使用
发明内容


参考以下说明及附图可最佳地理解本发明,所述附图用于图解说明本发明的实施例。在图式中 图I是图解说明使用常规方法的两个音频部分的示范性音频波形的图示。图2是图解说明其中可采用本发明实施例的编码器的计算环境的一个实施例的示意性框图。图3A是图解说明其中可采用包含多个主机(每一主机均采用图2的编码器)的编码系统的计算环境的另一实施例的示意性框图。图3B是图解说明根据一个实施例并行编码细流的一个实施例的示意性框图。图4是根据编解码器强制的帧大小编码媒体内容的音频以在具有所述媒体内容的固定时间视频部分的内容文件之间分割全音频帧的方法的一个实施例的流程图。图5A到5C是产生具有固定时间视频部分及具有编解码器强制的帧大小的全音频帧的内容文件的一个实施例的流程图。图6A是根据音频分割的一个实施例的音频部分、视频部分及细流的图示表示。图6B是图解说明使用音频分割的音频的四个部分的音频波形一个实施例的图
/Jn ο图7图解说明根据一个实施例用于音频分割的呈计算机系统的示范性形式的机器的图示表示。
具体实施例方式本发明描述一种用于在不引入边界假象的情况下将媒体内容的音频分割成单独内容文件的方法及设备。在一个实施例中,一种由经编程以执行操作的计算系统实施的方法包含接收包含音频及视频的媒体内容;根据帧速率编码所述视频;根据编解码器强制的帧大小(即,固定帧大小)编码所述音频;及产生若干内容文件,所述内容文件中的每一者包含所述视频的具有固定持续时间的经编码部分及所述音频的具有全音频帧的经编码部分,所述全音频帧具有所述编解码器强制的帧大小。在一个实施例中,并不像常规所做的那样用零填补所述音频帧中的最后一者。本发明的实施例提供一种用以流式传输音频的经改进方法。不同于针对媒体内容的每一音频部分使用新编码会话的常规方法,本文中所描述的实施例允许在不引入边界假象的情况下将媒体内容分段成若干小部分。本文中所描述的实施例使用全音频帧对所述音频进行分段。当所述音频经分级以用于回放时,将所述音频作为单个流而非具有边界假象的许多小段呈现给解码器。在本文中所描述的实施例中,编码器知晓编解码器帧大小(例如,针对AAC-LC为1024个样本或针对HE AAC为2048个样本)及借助编解码器的每一调用产生多少音频帧。编码器存储多达可装配到一经编码细流(即,内容文件)中的音频帧,所述经编码细流基于固定持续时间而具有所述视频的一部分。并非用零填补最后一个音频帧,而是编码下一音频部分的全帧并将其加到当前细流。此产生原本将在代替地正写入到当前细流的后续细流中的小音频量。接着赋予后续细流所述音频流的时间偏移以指示间隙,使得可在回放时将所述音频作为连续流呈现给解码器。从此细流的音频的目标持续时间扣除此相同时间量。如果此后续细流的音频的末端不落在帧边界上,那么再次从后续细流借用音频以填充最终的帧。此过程重复直到到达媒体内容的流的末端为止。可在解码及回放之前消除当将细流的音频部分分级时在细流的开头处从中借用音频的地方插入的间隙。当寻找到随机细流时,可在间隙的持续时间内播放静默音频以便维持音频/视频同步。如本文中所描述的音频分割的实施例提供使用具有大的编解码器强制的帧大小(AAC、AC3等)的音频编解码器编码媒体内容的音频而不引入边界假象同时仍维持视频的相同固定持续时间的能力。在以下说明中,阐述了众多细节。然而,受益于本发明的所属领域的技术人员将明了,可在无这些特定细节的情况下实践本发明的实施例。在一些实例中,以框图形式展示众所周知的结构及装置,以避免使本发明的实施例模糊。以下详细说明的一些部分是依据对计算机存储器内的数据位的操作的算法及符号表示来呈现的。这些算法说明及表示是数据处理领域的技术人员用来最有效地向所属领域的其他技术人员传达其工作的实质的手段。算法在此处且大体地设想为能达到所期望结果的自相容步骤序列。所述步骤是需要对物理量进行物理操纵的步骤。通常(但未必),这些量采取能够存储、传送、组合、比较及以其它方式加以操纵的电信号、磁信号的形式。已证实,主要出于常用的原因,将这些信号称作位、值、元素、符号、字符、项、数字等有时比较方便。然而,应记住,所有这些术语及类似术语均与适当的物理量相关联,且仅仅为应用于这些物理量的方便标记。除非具体陈述,否则从以下论述显而易见,应了解在本说明通篇中,利用例如“接收”、“编码”、“产生”、“分割”、“处理”、“计算”、“运算”、“确定”、“显示”等术语的论述是指计算机系统或类似电子计算系统的行动及过程,其操纵并将表示为计算机系统的寄存器及存储器内的物理(例如,电子)量的数据变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置内的物理量的其它数据。本发明的实施例还涉及用于执行本文中的操作的设备。此设备可针对所需目的专门构造,或其可包括通用计算机系统,所述通用计算机系统由存储于所述计算机系统中的计算机程序具体配置。此计算机程序可存储于计算机可读存储媒体中,例如但不限于任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPR0M、磁卡或光卡或适合于存储电子指令的任何类型的媒体。如本文中所使用,术语“经编码细流”是指媒体内容的一部分的单个经编码表示。每一细流可为包含媒体的一部分的个别内容文件,且可封装为独立媒体对象,从而允许个别地高速缓存且可独立请求并可通过媒体播放器独立播放所述细流。这些个别文件在本文中还称作QSS文件。在一个实施例中,细流为可由非专门服务器而非专门媒体服务器服务的静态文件。在一个实施例中,细流中的媒体内容可具有预定回放时间长度(也称作固定持续时间)。举例来说,所述预定时间长度可在介于大约O. I秒与8. O秒之间的范围中。或者,可使用其它预定长度。细流中的媒体内容可具有相对于流中所含有的媒体内容的开头的唯一时间索引。文件名可包含所述时间索引的一部分。或者,可根据文件大小而非时间索引来划分细流。如本文中所使用,术语“流”可指媒体内容的通过相同视频质量简档编码的细流的集合,举例来说,视频的已以相同视频位速率编码的部分。流表示原始媒体内容的副本。细流可作为单独的文件存储于内容服务器、web服务器、高速缓冲存储器服务器、代理高速缓冲存储器或网络上(例如存在于内容递送网络(CDN)中)的其它装置中的任何一者或一者以上上。客户端装置可使用HTTP向web服务器请求所述单独的文件(例如,细流)。使用例如HTTP的标准协议会消除对网络管理员配置防火墙以辨识并使例如实时流式传输协议(RTSP)的新专门协议的网络业务通过的需要。另外,由于媒体播放器起始请求,因此仅需要(举例来说)web服务器检索并服务所请求细流而非整个流。媒体播放器也可从一个以上web服务器检索细流。这些web服务器可不具有专门的服务器侧智能来检索所请求部分。在另一实施例中,将所述细流作为单独文件存储于网络基础结构运营商(例如,ISP)的高速缓冲存储器服务器或CDN的其它组件上。虽然本发明实施例中的一些实施例描述细 流的使用,但本文中所描述的实施例并不限于在使用细流的计算系统中使用,而是也可在使用其它技术在因特网上递送实况媒体内容的其它系统中实施。举例来说,在另一实施例中,将媒体内容存储于单个文件中,所述单个文件被划分成可使用HTTP范围请求而请求并高速缓存于CDN中的若干部分。存在两种一般类型的媒体流式传输,即基于推送的流式传输及基于拉取的流式传输。推送技术描述一种其中例如发行者的内容服务器的服务器起始对给定事务的请求的基于因特网的通信的方法。相比之下,拉取技术描述一种其中对信息传输的请求由客户端装置起始且接着由服务器做出响应的基于因特网的通信的方法。拉取技术中的一种类型的请求为HTTP请求(例如,HTTP GET请求)。相比之下,在基于推送的技术中,通常专门服务器使用例如RTSP的专门协议将数据推送到客户端装置。或者,一些基于推送的技术可使用HTTP来递送媒体内容。在基于拉取的技术中,可使用CDN将媒体递送到多个客户端装置。应注意,虽然本文中所描述的各种实施例是针对基于拉取的模型,但所述实施例可在其它配置(例如基于推送的配置)中实施。在基于推送的配置中,编码器所做的音频分割的实施例可以类似于关于图2所描述的基于拉取的配置的方式进行,且经编码内容文件可存储于内容服务器(例如媒体服务器)上以使用基于推送的技术将媒体内容递送到客户端装置以用于回放。还应注意,这些实施例可用于提供不同质量等级的媒体内容且允许在不同质量等级之间切换,此通常称作自适应流式传输。一个差异可为,在基于推送的模型中,媒体服务器确定哪一(些)内容文件将发送到客户端装置,而在基于拉取的模型中,客户端装置确定将向内容服务器请求哪一(些)内容文件。图2是图解说明其中可采用本发明实施例的编码器220的计算环境200的一个实施例的示意性框图。计算环境200包含源205、编码器220、内容递送网络240的原始内容服务器210 (也称作媒体服务器或原始服务器)及各自在客户端装置204上操作的媒体播放器200。内容服务器210、编码器220及客户端装置204可通过数据通信网络耦合。所述数据通信网络可包含因特网。或者,内容服务器210、编码器220及客户端装置204可位于共用局域网络(LAN)、个人区域网络(PAN)、校园区域网络(CAN)、城域网络(MAN)、广域网络(WAN)、无线局域网络、蜂窝式网络、虚拟局域网络等上。客户端装置204可为客户端工作站、服务器、计算机、便携式电子装置、经配置以在网络上通信的娱乐系统,例如机顶盒、数字接收器、数字电视或其它电子装置。举例来说,便携式电子装置可包含但不限于蜂窝式电话、便携式游戏系统、便携式计算装置等。客户端装置204可经由防火墙、路由器或其它包交换装置接入因特网。在所描绘的实施例中,源205可为发行者服务器或发行者内容存储库。源205可为媒体内容的创建者或分配者。举例来说,如果待流式传输的媒体内容为电视节目的广播,那么源205可为例如ABC 频道或MTV 频道的电视或有线电视网络频道的服务器。发行者可在因特网上将媒体内容传送到编码器220,编码器220可经配置以接收并处理媒体内容且将所述媒体内容的内容文件存储于原始内容服务器210中。在一个实施例中,内容服务器210将媒体内容递送到客户端装置204,客户端装置204经配置以在正在客户端装置204上操作的媒体播放器上播放所述内容。内容服务器210通过将媒体内容流式传输到客户端装置204来递送所述媒体内容。在另一实施例中,客户端装置204经配置以同时或并发地从多个位置接收媒体内容的不同部分,如下文更详细地描述。可将存储于内容服务器210处的媒体内容复制到其它web服务器;或替代地,复制到⑶N 240的代理高速缓冲存储器服务器。复制可通过从内容服务器210人为转发或通过在内容服务器210之外的web、高速缓冲存储器或代理服务器代表客户端装置204请求内容而发生。举例来说,客户端装置204可向多个web服务器、边缘高速缓冲存储器或代理高速缓冲存储器服务器中的任一者请求并接收内容。在所描绘的实施例中,web服务器、代理高速缓冲存储器、边缘高速缓冲存储器及内容服务器210组织于⑶N 240的一层次中以将媒体内容递送到客户端装置204。CDN为跨越因特网连网在一起的计算机系统,其透明地协作以递送内容且可包含(举例来说)一个或一个以上原始内容服务器、web服务器、高速缓冲存储器服务器、边缘服务器等。通常,⑶N配置于一层次中使得客户端装置向(举例来 说)边缘高速缓冲存储器请求数据,且如果边缘高速缓冲存储器不含有所请求数据,那么将所述请求发送到父高速缓冲存储器等等直到原始内容服务器。所述CDN还可包含经互连的计算机网络或节点以递送媒体内容。⑶N的一些实例将为由阿卡迈技术公司(AkamaiTechnologies)、等级 3 通信公司(Level3Communications)或灰光网络公司(LimelightNetworks)开发的CDN。或者,可使用其它类型的CDN。在其它实施例中,原始内容服务器210可使用受益于本发明的所属领域的技术人员将了解的其它配置将媒体内容递送到客户端装置204。在一个实施例中,发行者将媒体内容存储于待从源205分配的原始内容文件中。所述内容文件可包含对应于视频及/或音频(对应于电视广播、体育赛事、电影、音乐、演奏会等)的数据。原始内容文件可包含未经压缩视频及音频;或替代地,未经压缩视频或音频。或者,内容文件可包含使用标准或专有编码方案的经压缩内容(例如,视频及/或音频)。来自源205的原始内容文件可为数字形式且可包含具有高位速率(举例来说,大约5Mbps或更大)的媒体内容。在所描绘的实施例中,举例来说,编码器220通过接收原始内容文件、来自实况事件广播的直接馈送的信号、实况电视事件广播的流等而从源205接收原始媒体内容231。编码器220可实施于包含一个或一个以上服务器计算机、网关或其它计算装置的一个或一个以上机器上。在一个实施例中,编码器220从发行系统(未图解说明)(例如,发行者的服务器或发行者的内容存储库)将原始媒体内容231接收为一个或一个以上内容文件。或者,编码器220在原始媒体内容231被捕获时接收原始媒体内容231。举例来说,编码器220可以流或信号的形式接收实况电视广播的直接馈送,例如经捕获广播。原始媒体内容231可由捕获卡捕获、经配置以用于电视及/或视频捕获,举例来说,可从加拿大安大略省(Ontario, Canada)的Digital Rapids公司购得的DRC-2600捕获卡。或者,能够捕获音频及视频的任何捕获卡可与本发明一起使用。所述捕获卡可位于与编码相同的服务器上;或替代地,位于单独服务器上。原始媒体内容231可为经捕获广播(例如正同时经由空中传输、在电缆及/或卫星上广播的广播)或经调度以根据实况事件的时间表在特定时间点播放的经预先记录广播。编码器220可利用编码方案,例如Di编解码器、Windows MediaVideo 9 系列编解码器、Sorenson Video 3视频编解码器、来自0n2 Technologies 的TrueMotion VP7编解码器、MPEG-4视频编解码器、H. 263视频编解码器、RealVideo 10编解码器、OGG Vorbis、MP3等。或者,可采用定制编码方案。
在另一实施例中,编码器220将原始媒体内容231接收为固定持续时间的视频及音频,举例来说,两秒组块(本文中称作媒体内容的部分)。两秒组块可包含原始音频及原始视频。或者,两秒组块可为经编码音频及原始视频。在此些情况下,编码器220解压缩媒体内容。在另一实施例中,编码器220将原始媒体内容221接收为多个原始细流,每一原始细流含有媒体内容的固定时间部分(例如,多个两秒原始细流含有原始音频及视频)。如本文中所使用,术语“原始细流”是指未经压缩或经轻压缩以实质上减小大小而不具有显著质量损失的细流。可较快地传输经轻压缩原始细流。在另一实施例中,编码器220将原始媒体内容231接收为流或信号并将媒体内容分段成所述媒体内容的固定时间部分,例如原始细流。在所描绘的实施例中,编码器220包含分割器222、固定帧音频编码器224、音频帧缓冲器225、固定时间视频编码器226、视频帧缓冲器227及音频分割多路复用器228。分割器222将原始媒体内容231接收为(举例来说)连续音频与视频流,并将媒体内容231分割成原始音频233及原始视频235。在一个实施例中,固定帧音频编码器224为音频编解码器。在一个实施例中,分割器222将连续音频与视频流分割成两秒音频与视频组块。编解码器(也称作压缩器-解压缩器或编码器-解码器)为能够编码及/或解码数字数据流或信号的装置或计算机程序。在一个实施例中,固定帧音频编解码器224为由编码器220的一个或一个以上计算装置执行以编码原始音频233的软件。或者,固定帧音频编解码器224可为用于编码原始音频233的硬件逻辑。特定来说,固定帧音频编码器224接收原始音频233并根据编解码器强制的帧大小编码所述音频,举例来说,针对AAC-LC为1024个样本或针对HE AAC为2048个样本。固定帧音频编码器224将经编码音频帧237输出到音频帧缓冲器225。类似地,固定时间视频编码器226从分割器220接收原始视频235,但根据固定持续时间编码视频,举例来说,每两秒60个帧(30帧/秒(fps))。固定时间视频编码器226将经编码视频帧239输出到视频帧缓冲器227。在一个实施例中,固定时间视频编解码器226为由编码器220的一个或一个以上计算装置执行以编码原始视频235的软件。或者,固定时间视频编解码器226可为用于编码原始视频235的硬件逻辑。音频分割多路复用器228使用经编码音频帧237及经编码视频帧239产生经编码媒体内容文件232 (本文中称作QSS文件)。如上文所描述,常规编码器产生具有视频部分及音频部分的内容文件,每一部分为固定持续时间,其中用零填补最后一个音频帧,因为所述部分的样本的数目不能由根据音频编解码器所使用的编解码器强制的帧大小每帧样本的数目整除。不同于填补最后一个帧的常规编码器,音频分割多路复用器228使用全音频帧来产生具有固定时间视频部分及具有全音频帧的音频部分的内容文件,所述全音频帧具有编解码器强制的帧大小。由于音频分割多路复用器228使用全音频帧来填充内容文件232,因此音频分割多路复用器228并不像常规所做的那样将帧的最后几个样本填补为零,而是编码音频的后续部分以便将全帧添加到当前内容文件232。在一个实施例中,音频分割多路复用器228追踪表示从后续部分使用的样本的量的样本偏移以便确定多少帧将用于后续内容文件。音频分割多路复用器228还追踪指示音频回放中的间隙的呈现偏移。由于原本将作为后续内容文件的一部分回放的样本为当前内容文件的一部分,因此后续内容文件的呈现偏移指示音频回放中的间隙使得将当前及后续内容文件的音频部分作为连续流呈现给解码器。本质上,在音频的回放期间,可在解码及回放之前消除当将内容文件的音频部分分级时在内容文件的开头处插入的间隙。呈现偏移允许将音频作为连续流而非具有边界假象的许多小段呈现给解码器。在一个实施例中,当寻找到视频的随机部分时,可在间隙的持续时间内播放静默音频以便维持音频/视频同步。在一个实施例中,音频分割多路复用器228通过用具有固定持续时间(例如,2秒)的第一视频部分(例如,60个帧)及具有若干个经缓冲全音频帧的第一音频部分填充第一内容文件来产生所述第一内容文件。经缓冲音频帧的持续时间大于固定持续时间。在一个实施例中,音频分割多路复用器228通过确定填充当前内容文件所需要的经编码音频帧237的数目来产生内容文件232。在一个实施例中,帧的数目为不小于填充当前内容文件所需要的样本的数目除以编解码器强制的帧大小(例如,样本/帧)的最小整数。在一个实施例中,可使用将实数映射到下一最大整数的上整数函数来计算此数目,举例来说,ceilingOO = [χ]为不小于χ的最小整数。在以下方程式⑴中表示上整数函数的一个实例ceil ( (samplesPerStreamlet-offsetSamples) /samplesPerFrame)
(I)或者,可使用其它方程式。音频分割多路复用器228确定音频帧缓冲器225中是否存在足够的经编码音频帧237来填充当前内容文件。如果存在足够的经缓冲的经编码帧,那么音频分割多路复用器228用经确定数目个帧来填充当前内容文件。如果不存在足够的经缓冲的经编码帧,那么音频分割多路复用器228等待直到缓冲器225中存储有足够的经编码帧并用存储于缓冲器225中的经确定数目个经编码帧来填充当前内容文件。在一个实施例中,音频分割多路复用器228通过以下操作来确定是否存在足够的经缓冲的经编码帧1)将经缓冲帧的数目乘以 样本/帧,2)如果有的话,那么将来自先前内容文件的样本偏移与所述乘法的积相加,及3)确定和是否大于或等于填充当前内容文件所需要的样本的数目。在以下方程式(2)中表示此运算的一个实例
numBufferedFrames*samplesPerFrame + offsetSamples > =sampIe sPerStreamlet(2)如果有的话,那么音频分割多路复用器228确定后续内容文件的样本偏移。在一个实施例中,音频分割多路复用器228通过将经编码帧的数目乘以编解码器强制的帧大小(即,样本/帧)减去填充当前内容文件所需要的样本的数目且如果有的话那么加上来自先前内容文件的样本偏移来确定所述样本偏移。在以下方程式(3)及(4)中表示此运算的一个实例offestSamples = framesToSend^samplesPerFrame-samplesPerStreamlet-offsetSamples(3)其中framesToSend =ceiI ((sampIesPerStreamlet-offsetSamples)/samplesPerFrame)(4) 在另一实施例中,音频分割多路复用器228通过计算填充当前内容文件所需要的样本的数目(例如,96,000)来产生内容文件221。音频分割多路复用器228计算当前内容文件所需要的帧的数目(例如,针对两秒部分的48K取样速率为93个帧)并在样本的数目除以样本/帧为不能整除时将一帧与所述数目个帧相加(例如,总计94个帧)。实际上,此将帧的数目上舍入到下一最大整数。音频分割多路复用器228用经舍入数目个帧填充当前内容文件。在另一实施例中,音频分割多路复用器228通过经由将取样速率(例如,48K)乘以固定持续时间的持续时间(例如,2秒)计算填充当前内容文件所需要的样本的数目(例如,96,000)来产生内容文件221。音频分割多路复用器228通过将样本的数目除以编解码器强制的帧大小(例如,1024样本/帧)来计算当前内容文件所需要的帧的数目。如果除法的余数为零,那么音频分割多路复用器228用所述数目个帧填充当前内容文件。然而,如果除法的余数大于零,那么音频分割多路复用器228将帧的数目递增I且用经递增数目个帧来填充当前内容文件。在另一实施例中,音频分割多路复用器228通过以下操作来产生内容文件221 将帧的数目乘以编解码器强制的帧大小以转换回到填充当前内容文件所需要的样本的数目,并通过将样本的数目除以取样速率计算当前内容文件的音频的持续时间(例如,StreamletDuration = sampIesPerStreamlet/取样速率)。音频分割多路复用器228通过从固定持续时间减去所述持续时间来确定后续内容文件的呈现偏移。音频分割多路复用器228通过将帧的数目乘以编解码器强制的帧大小减去用于填充当前内容文件的样本的数目且如果有的话那么加上来自先前内容文件的样本偏移(例如,方程式(3))来更新后续内容文件的样本偏移。返回参考图2,在一个实施例中,当分割器222将原始媒体内容231接收为原始细流时,分割器222接收第一及第二原始细流并分割第一及第二原始细流的音频及视频。固定时间视频编码器226编码第一及第二原始细流的视频,且音频分割多路复用器228将第一原始细流的经编码视频存储于第一内容文件中并将第二原始细流的经编码视频存储于第二内容文件中。固定帧音频编码器224将第一原始细流的音频的编码成第一组音频帧并将所述第一组存储于音频帧缓冲器225中。音频分割多路复用器228确定是否存在足够的经缓冲帧来填充第一内容文件。如果否,那么固定帧音频编码器224将第二原始细流的音频编码成第二组音频帧并将所述第二存储于音频帧缓冲器225中。当存在足够的经缓冲帧(在一些情况下,当多出一个全帧存储于缓冲器225中时)来填充第一内容文件时,音频分割多路复用器228将经缓冲音频帧存储到第一内容文件中。编码器220继续此过程直到媒体内容结束为止。此外,由于音频分割多路复用器228使用全音频帧,因此一个内容文件232中的音频帧未必与视频部分边界对准,如图6A及6B中所图解说明。举例来说,内容文件232的音频部分的持续时间可为2. 0053秒,而内容文件232的视频部分的固定持续时间可为2. 00秒。在此实例中,编解码器强制的帧大小为1024样本/帧,且音频的取样速率为48K,且存储于内容文件232中的音频部分中存储有94个帧的96256个样本。由于内容文件232中存在额外的53毫秒(ms),因此音频分割多路复用器228赋予下一内容文件53ms的呈现偏移,因为当前内容文件232使用具有在使用固定持续时间音频编码方案时原本将在下一内容文件中的53ms的持续时间的样本。音频分割多路复用器228还追踪样本偏移以确定填 充下一内容文件需要多少音频帧。在一个实施例中,音频分割多路复用器228用具有固定持续时间(例如,在帧速率为30帧/秒时针对60个视频帧为2秒)的一个经编码视频部分填充内容文件中的每一者。音频分割多路复用器228用若干个经缓冲音频帧填充内容文件中的一些内容文件,所述经缓冲音频帧的持续时间可大于固定持续时间、小于固定持续时间或等于固定持续时间,此取决于按音频分割多路复用器228的确定音频帧是否与视频部分边界对准。参考图6A,在一个实施例中,音频分割多路复用器228通过以下操作产生第一细流(即内容文件)601 :用具有大约60个视频帧的第一视频部分611 (其持续时间等于两秒的固定持续时间)且用具有94个音频帧(每一音频帧具有1024样本/帧,总计96,256个样本)的第一音频部分621填充第一细流601。第一音频部分621的持续时间为大约2. 0053秒。音频分割多路复用器228确定第一细流603的第一音频部分631的呈现偏移为零,因为第一细流601的音频边界652与视频边界654经对准以用于回放。音频分割多路复用器228通过用第二视频部分612(60个帧及两秒)且用具有94个音频帧的第二音频部分622填充第二细流602来产生第二细流602。第二音频部分622的持续时间为大约2. 0053秒。音频分割多路复用器228确定第二细流602的第二音频部分632的呈现偏移为大约5. 3毫秒(ms),因为第一细流601的第一音频部分621的持续时间为大约2. 0053秒。呈现偏移指示音频中的在第一细流601与第二细流602之间的间隙。如图6B中所展示,第二细流602的音频边界652与视频边界654未经对准以用于回放。可使用呈现偏移以允许将第一细流601及第二细流602的音频部分分级以用于作为连续流呈现给解码器。音频分割多路复用器228通过用第三视频部分613 (60个帧及两秒)且用具有94个音频帧的第三音频部分623填充第三细流603来产生第三细流603。第三音频部分623的持续时间为大约2. 0053秒。音频分割多路复用器228确定第三细流603的第三音频部分633的呈现偏移为大约10. 66ms,因为第二细流602的第二音频部分622的持续时间为大约2. 0053秒。呈现偏移指示音频中的在第二细流602与第三细流603之间的间隙。如图6B中所展示,第三细流603的音频边界652与视频边界654未经对准以用于回放。可使用呈现偏移以允许将第二细流602及第三细流603的音频部分分级以用于作为连续流呈现给解码器。音频分割多路复用器228通过用第四视频部分614(60个帧及两秒)且用具有94个音频帧的第四音频部分624填充第四细流604来产生第四细流604。第四音频部分624的持续时间为大约I. 984秒。音频分割多路复用器228确定第四细流604的第四音频部分634的呈现偏移为大约16ms,因为第三细流603的第三音频部分623的持续时间为大约
2.0053秒。呈现偏移指示音频中的在第三细流603与第四细流604之间的间隙。如图6B中所展示,第四细流603的音频边界652与视频边界654未经对准以用于回放。可使用呈现 偏移以允许将第三细流603及第四细流604的音频部分分级以用于作为连续流呈现给解码器。然而,在第四细流604之后,音频边界652与视频边界654经对准,此意味着第五细流(未图解说明)将具有零呈现偏移。应注意,图6A及6B的实施例假定取样速率为48kHz,固定持续时间为两秒,且编解码器强制的帧大小为1024样本/帧。在上文所描述的实施例中,前三个细流601到603的音频部分具有94个音频帧,且第四细流604的音频部分具有93个音频帧。在此实施例中,当以30帧/秒编码视频时,四个内容文件601到604的视频部分中的每一者具有大约60个视频帧。此模式重复直到已到达媒体内容的末端为止。应注意,在此实施例中,在每四个内容文件之后,呈现偏移及样本偏移为零,此意味着音频边界652与视频边界654在每四个内容文件之后对准。如在图6B中可见,在八秒的媒体内容之后,视频边界与音频边界对准。如此,用以减小边界假象频率并对准AAC帧大小的另一方法将为使用八秒作为固定持续时间。然而,此方法具有以下缺点1)此方法需要大的视频组块大小,例如8秒、16秒或32秒。2)此方法将实施方案约束为特定帧大小,即,1024样本/帧。假如帧大小将改变,例如改变到(举例来说)2048,则此方法将必须切换到具有不同帧大小的音频编解码器且还将必须改变视频的组块持续时间。3)此方法需要音频取样速率始终为48kHz。其它常见取样速率(例如44. IkHz)将需要不同的且可能大得多的组块大小。或者,源音频将必须增加取样到48kHz。然而,增加取样可能引入假象且可降低音频编解码器的效率。然而,本文中所描述的实施例具有使用具有大的帧大小(AAC、AC3等)的音频编解码器进行编码而不引入组块边界假象同时仍维持相同组块持续时间的能力。或者,可使用其它取样速率(例如,44. IkHz)、固定持续时间(例如,O. I秒到5.0秒)、视频帧速率(例如,24fps、30fps等)及/或编解码器强制的帧大小(例如,2048)。不同源视频使用不同帧速率。美国的大多数空中传输信号为30帧/秒(实际上为29. 97)。一些HD信号为60帧/秒(59.94)。基于文件的内容中的一些内容为24帧/秒。在一个实施例中,编码器220不增加视频的帧速率,因为增加视频的帧速率将需要编码器220产生额外帧。然而,产生额外帧并不因为此额外负担而提供许多益处。因此,举例来说,如果原始媒体内容具有24fps的帧速率,那么编码器220使用24fps的帧速率而非增加取样到30fps。然而,在一些实施例中,编码器220可减少取样帧速率。举例来说,如果原始媒体内容具有60fps的帧速率,那么编码器220可减少取样到30fps。此可完成是因为使用60fps使需要以目标位速率进行编码的数据量加倍,此可使质量受损。在一个实施例中,一旦编码器220确定将接收的帧速率或在减少取样(通常为30fps或24fps)之后,编码器220便针对大部分质量简档使用此帧速率。质量简档中的一些质量简档(例如最低质量简档)可使用较低帧速率。然而,在其它实施例中,编码器220可针对不同质量简档使用不同帧速率,以便将移动电话及具有有限资源(例如较低计算能力)的其它装置作为目标。在这些情况下,具有帧速率较低的较多简档可为有利的。应注意,当使用这些参数的其它值时,音频边界652及视频边界654可不同于图6B的所图解说明实施例。举例来说,当使用44. IkHz取样速率、1024编解码器强制的帧大小及两秒固定持续时间时,第一内容文件的音频部分将具有87个音频帧,且第二到第七内容文件将具有86个音频帧。此模式自身重复直到媒体内容中不剩余足够的视频为止。应注意,在此实施例中,在每128个内容文件之后,呈现偏移及样本 偏移为零,此意味着音频边界652与视频边界654在每128个内容文件之后对准,如简缩表1_1中所图解说明。表 1-1细流偏移帧样本
1O8789088
28888688064
37528688064
46168688064
54808688064
63448688064
72088688064
8728789088
99608688064
108248688064
116888688064
125528688064
134168688064
142808688064
151448688064
1688789088
178968688064
187608688064
196248688064
204888688064
1246808688064
1255448688064
1264088688064
1272728688064
1281368688064
129O8789088应注意,为便于图解说明,上表中的样本偏移是以样本而非秒或毫秒为单位进行图解说明的。为了将样本偏移转换为呈现偏移,可将样本偏移除以44,100以得到以秒为单位的呈现偏移并乘以1,000以得到以毫秒为单位的呈现偏移。在一个实施例中,可将以毫、秒为单位的呈现偏移存储于细流标头中。或者,可将以其它单位的呈现偏移或样本偏移存储于细流标头中。在另一实施例中,音频分割多路复用器228通过用具有固定持续时间的经编码视频帧239(例如,固定持续时间部分)填充内容文件232中的每一者来产生经编码内容文件232,且用若干个全音频帧237填充内容文件232,其中音频帧237的持续时间小于或大于固定持续时间以适应正在内容文件232中使用的全音频帧。举例来说,可用具有固定持续时间(例如两秒)的视频部分且用具有多个全音频帧(具有大于固定持续时间的持续时间)的音频部分填充第一内容文件。最终,样本偏移将足够大使得可使用较少音频帧,在此情况下,音频帧的持续时间可小于固定持续时间。有时,音频的音频边界可匹配视频的视频边界。在另一实施例中,音频分割多路复用器228通过产生具有第一视频部分的视频帧及来自音频的第一部分的音频帧以及来自第二部分的音频帧的第一内容文件来产生经编 码内容文件232。音频分割多路复用器228产生具有视频的第二部分的视频帧的第二内容文件。针对音频,音频分割多路复用器228确定音频边界是否落在视频边界上。如果音频边界落在视频边界上,那么音频分割多路复用器228用第二部分的剩余音频帧填充第二内容文件。然而,如果音频边界不落在视频边界上,那么音频分割多路复用器228编码媒体内容的第三部分的音频帧并用第二部分的剩余音频帧及来自第三部分的音频帧填充第二内容文件。此过程重复直到到达媒体内容的末端为止。返回参考图2,一旦编码器220编码原始媒体内容231,编码器220便将经编码媒体内容文件232发送到原始内容服务器210,原始内容服务器210在网络连接241上将经编码媒体内容232递送到媒体播放器200。当媒体播放器200接收到具有固定持续时间的视频及可变持续时间的音频的内容文件时,媒体播放器200使用内容文件的呈现偏移将音频分级以作为连续流呈现给解码器,从而消除或减少由边界假象呈现的噼噗或咔嗒噪声。本质上,在音频的回放期间,媒体播放器200在解码及回放之前移除当将内容文件的音频部分分级时在内容文件的开头处插入的间隙。在另一实施例中,如果未执行如本文中所描述的音频分割且用零填补最后一个帧,那么媒体播放器200可经配置以在将音频发送到解码器之前移除最后一个帧的经填补样本。然而,此方法在某些情形中可能并不实际,举例来说,当媒体播放器由第三方提供时或当在解码之后对音频帧的数据的接入受限制时。应注意,虽然已针对每一媒体播放器200图解说明了一条线,但每一线241可表示到⑶N 240的多个网络连接。在一个实施例中,每一媒体播放器200可建立到⑶N 240的多个输送控制协议(TCP)连接。在另一实施例中,媒体内容存储于多个CDN中,举例来说,存储于与多个⑶N中的每一者相关联的原始服务器中。⑶N 240可用于通过降低带宽成本并增加内容的全局可用性而改进性能、可缩放性及最终用户(例如,观看者)的成本效率的目的。可以各种方式实施CDN,且所属领域的技术人员将了解关于其操作的细节。如此,尚未包含关于其操作的额外细节。在其它实施例中,可使用其它递送技术将媒体内容从原始服务器递送到媒体播放器,例如同级网络等。在上文所描述的实施例中,内容文件232表示原始媒体内容流231的一个副本。然而,在其它实施例中,可将原始媒体内容231的每一部分编码成同一内容部分的多个经编码表示。多个经编码表示可根据不同质量简档进行编码且存储为可由客户端装置204独立请求并独立播放的单独文件。所述文件中的每一者可存储于一个或一个以上内容服务器210中、⑶N 240的web服务器、代理高速缓冲存储器、边缘高速缓冲存储器上,且可单独地请求并递送到客户端装置204。在一个实施例中,编码器220同时以数个不同质量等级(举例来说,10个或13个此种等级)编码原始内容媒体231。每一质量等级称作质量简档或简档。举例来说,如果媒体内容具有一小时的持续时间且媒体内容被分段成具有两秒持续时间的QSS文件,那么媒体内容的每一经编码表示存在1800个QSS文件。如果根据10个不同质量简档编码媒体内容,那么媒体内容存在18,000个QSS文件。质量简档可指示将如何编码流,举例来说,质量简档可规定若干参数,例如图像的宽度及高度(即,图像大小)、视频位速率(即,编码视频的速率)、音频位速率、音频取样速率(即,在捕获时对音频进行取样的速率)、音轨的数目(例如,单声道、立体声等)、帧速率(例如,帧/秒)、分级大小等。举例来说,媒体播放器200可个别地请求不同质量等级的相同媒体内容232 ;举例来说,每一媒体播放器200可请求媒体内容232的相同(例如,相同时间索引)的但处于不同质量等级的部分。举例来说,一个媒体播放器可请求具有HD质量视频的细流,因为请求媒体播放器的计算装置具有充足计算能力及充足网络带宽,而另一媒体播放器可请求具有较低质量的细流,因为(举例来说)其计算装置可能不具有充足网络带宽。在一个实施例中,媒体播放器200通过请求来自媒体内容的不同副本(例如,不同质量流)的部分而在部分边界 公开案中所描述。或者,媒体播放器200可使用受益于本发明的所属领域的技术人员将了解的其它技术请求所述部分。举例来说,使用QMX文件,编码器220还可规定哪些质量简档可用于媒体内容的特定部分,且可规定媒体内容中有多少可用于递送。QMX文件指示由可用QSS文件表示的媒体内容的当前持续时间。QMX文件可作为媒体内容的内容表操作,从而指示哪些QSS文件可用于递送及可从何处检索所述QSS文件。举例来说,可经由⑶N 240将QMX文件发送到媒体播放器200。或者,媒体播放器200可请求特定媒体内容的可用质量简档。在其它实施例中,可使用⑶N的缩放能力来缩放此配置以将HTTP业务递送到多个媒体播放器200。举例来说,存储经编码媒体内容的数据中心可具有原始内容服务器210的群集以服务向数据中心请求经编码媒体内容的多个媒体播放器。或者,可使用受益于本发明的所属领域的技术人员将了解的其它配置。在一个所预期实施例中,媒体播放器200通过请求个别细流文件(例如,QSS文件)来请求媒体内容的部分。媒体播放器200根据元数据描述符文件(例如,QMX文件)请求QSS文件。媒体播放器200 (举例来说)响应于用户选择用于呈现的媒体内容而提取QMX文件,且媒体播放器200读取所述QMX文件以确定何时开始回放使用当前持续时间的媒体内容及在何处请求QSS文件。QMX文件包含指示编码过程何时开始(例如,媒体内容的开始时间)的QMX时间戳(例如UTC(协调世界时)指示符)以及指示媒体内容中有多少可用于递送的当前持续时间。举例来说,QMX时间戳可指示编码过程在6:00pm (MDT)开始,且媒体内容的4,500个QSS文件可用于递送。媒体播放器200可确定内容持续时间(实况播出)为大约15分钟,且决定在进入节目15分钟时或在所述点稍前开始请求对应于节目的回放的QSS文件。在一个实施例中,媒体播放器200可通过将所述偏移处的对应细流提取到媒体内容中来确定媒体内容中的媒体播放器200应开始播放所述内容的点。每当编码器将另一组QSS文件存储于内容服务器上(例如,表示处于10个不同质量简档的下两秒的媒体内容的10个QSS文件的组)时,就更新QMX文件,且可由媒体播放器200提取QMX文件以指示又两秒可用于在因特网上递送。媒体播放器200可周期性地检查以找出经更新的QMX文件。或者,可将QMX文件及任何更新推送到媒体播放器200以指示媒体内容何时可用于在因特网上递送。应注意,虽然已将原始内容服务器210图解说明为是在⑶N 240内,但原始内容服务器210可驻存于CDN 240外部且仍与CDN 240相关联。举例来说,一个实体可拥有并操作存储细流的内容服务器,但其装置可由一个或一个以上单独实体拥有并操作的CDN 240递送所述细流。应注意,媒体内容为在由媒体播放器200(在电子装置(S卩,客户端装置)上操作)处理时允许媒体播放器200将事件的视觉及/或音频表示呈现给媒体播放器200的观看者的数据。媒体播放器200可为播放媒体内容(例如,显示视频并播放音频)的一件软件,且可为独立的软件应用程序、web浏览器插件、web浏览器插件与支持网页逻辑的组合等。举例来说,所述事件可为例如体育赛事、实况或经记录表演、实况或经记录新闻报道等的电视 广播。在此上下文中,实况事件或经调度电视事件是指经调度以按时间表的规定在特定时间点回放的媒体内容。实况事件还可具有与实况媒体内容混在一起的在实况电视广播中间播放的经预先记录内容,例如实况事件内的重要事件的慢镜头剪辑(例如,重放)。应注意,本文中所描述的实施例也可用于流式传输视频点播(VOD)。图3A是图解说明其中可采用包含多个主机314(每一主机均采用编码器220)的编码系统320的计算环境300的另一实施例的示意性框图。在一个实施例中,编码系统320包含主控模块322及多个主机计算模块(下文中称“主机”)314。主机314中的每一者均采用如上文关于图2所描述的编码器220。主机314可实施于一个或一个以上个人计算机、服务器等上。在另一实施例中,主机314可为专用硬件,举例来说,插入到单个计算机中的若干卡。在一个实施例中,主控模块(下文中称“主控器”)322经配置以从细流产生系统301接收原始细流312,细流产生系统301包含从发行者310接收媒体内容的接收模块302及将媒体内容分段成原始细流312的细流模块303。主控模块322将原始细流312分级以用于处理。在另一实施例中,主控器322可接收经编码及/或经压缩的源细流,且主控器322解压缩每一源细流以产生原始细流。如本文中所使用,术语“原始细流”是指未经压缩或经轻压缩以实质上减小大小而不具有显著质量损失的细流312。可较快地传输经轻压缩原始细流且将其传输到较多主机。每一主机314与主控器322耦合且经配置以从主控器322接收原始细流以用于编码。在一个实例中,主机314产生具有等同时间索引及固定持续时间以及变化的位速率的多个细流。在一个实施例中,每一主机314经配置以根据从主控器322发送的原始细流312产生一组306经编码细流,其中组306的经编码细流表示媒体内容的处于受支持位速率中的每一者的相同部分(即,每一细流是根据可用质量简档中的每一者进行编码的)。或者,每一主机314可专用于产生处于受支持位速率中的一者的单个经编码细流以便减少编码所需的时间。在编码完成之后,主机314即刻将组306传回到主控器322使得编码系统320可将组306存储于细流数据库308中。主控器322进一步经配置以给主机314指派编码工作。在一个实施例中,每一主机314经配置以将编码工作完成投标(下文中称“投标”)提交给主控器322。主控器322依据来自主机314的投标而指派编码工作。每一主机314依据可包含但不限于当前编码工作完成百分比、平均工作完成时间、处理器速度、物理存储器容量等的多个计算变量而产生投标。举例来说,主机314可提交基于过去的性能历史而指示主机314将能够在15秒内完成编码工作的投标。主控器322经配置以从多个投标当中选择最佳投标且随后将编码工作提交给具有最佳投标的主机314。如此,所描述的编码系统320并不要求每一主机314具有等同硬件,而是有益地利用主机314的可用计算能力。或者,主控器322基于先到先服务的基础或认为适合于特定编码工作的某一其它算法而选择主机314。编码一个细流所需的时间取决于主机314的计算能力及原始媒体内容的内容文
件的编码要求。编码要求的实例可包含但不限于两遍或多遍编码及不同位速率的多个流。本发明的一个益处为对实况内容文件执行两遍编码的能力。通常,为了执行两遍编码,现有技术系统必须等待完成内容文件后才编码。然而,可多达认为是必需的次数地编码细流。由于细流为小持续时间(例如,2秒)的经封装媒体对象,因此一旦捕获第一细流便可对实况事件开始多遍编码。举例来说,在一个实施例中,编码器220将原始内容文件分段成若干源细流并对每一对应原始细流312执行多个副本(例如,流)的两遍编码而无需等待TV秀结束。如此,web服务器316能够在细流产生系统301开始捕获原始内容文件之后不久在因特网上流式传输细流。从发行者310传输的实况广播与内容的可用性之间的延迟取决于主机314的计算能力。图3B是图解说明根据一个实施例并行编码细流312的一个实施例的示意性框图。在一个实例中,细流产生系统301开始捕获原始内容文件、产生第一细流312a并将所述细流传递到编码系统320。编码系统320可花费(举例来说)10秒来产生第一组306a细流304&(304&1、304&2、304&3等表示不同位速率的细流304)。图3B将编码过程类属地图解说明为框308以用图表图解说明如上文参考编码系统320所描述处理原始或经轻编码细流312所需的持续时间。编码系统320可同时处理一个以上细流312,且细流的处理将在细流从细流产生模块301抵达之后即刻开始。在编码第一细流312a所需的10秒期间,细流模块404已产生五个额外2秒细流312b、312c、312d、312e、312f以用于编码,且主控器322已准备并将对应原始细流分级。在第一组306a可用之后两秒,下一组306b可用,等等。如此,以不同质量等级编码原始内容文件以用于在因特网上流式传输且所述内容文件显现为实况的。本文中仅以实例方式给出10秒延迟。可给编码系统320添加多个主机314以便增加编码系统320的处理容量。可通过添加具有高CPU能力的系统或替代地多个低能力的系统而将延迟缩短为几乎感知不到的水平。应用于细流的任何特定编码方案可花费比细流自身的持续时间更长的时间来完成。举例来说,2秒细流的极高质量编码可花费5秒来完成。或者,每一细流所需的处理时间可小于细流的持续时间。然而,由于连续细流的偏移并行编码是由编码系统320以规则间隔(匹配将那些细流提交给编码系统320的间隔,例如2秒)进行编码,因此编码系统320的输出时序并不落后于未经编码细流312的实时提交速率。
现在返回到图3A,如所描绘,主控器322及主机314可位于单个局域网络内,或换句话说,主机314物理上可非常接近于主控器322。或者,主机314可在因特网或其它通信网络上从主控器322接收编码工作。举例来说,考虑在其中将难以设置多个主机的远程位置中的实况体育赛事。在此实例中,主控器于在线发行细流之前不执行编码或替代地执行轻编码。主机314将接着检索那些细流并将所述细流编码成多个位速率组306,如上文所描述。此外,可在不重新开始编码工作及/或中断细流的发行的情况下动态地向编码系统320添加主机314或从编码系统320移除主机314。如果主机314经历损毁或某一故障,那么简单地将其编码工作重新指派给另一主机。 在一个实施例中,编码系统320还可经配置以产生特定回放平台特有的细流。举例来说,针对单个原始细流,单个主机314可产生用于个人计算机回放的不同质量等级的细流、用于在具有不同专有编解码器的蜂窝电话上回放的细流、当仅仅播放流的缩略视图(像在节目编排指南中)时的仅有小视频的细流及供在归档时使用的极高质量细流。 在所描绘的实施例中,计算环境300包含内容管理系统(CMS)340。CMS 340为(举例来说)使用细流数据库308管理经编码媒体内容220且允许发行者产生并修改时间线(本文中称作虚拟时间线(QVT))以调度媒体内容232的回放的发行系统。QVT为可定义用于观看者的播放列表、可指示媒体播放器200应何时播放媒体内容的元数据。举例来说,时间线可规定媒体内容232的开始时间及媒体内容232的当前持续时间(例如,可用于递送的媒体内容的可用部分的量)以允许根据时间表回放媒体事件。在以上实例中,编码器220用关于流(例如,媒体内容232的副本)的信息更新CMS 240以指示已将所述流的某些部分(例如,细流)发送到与⑶N 240相关联的原始内容服务器210。在此实施例中,CMS 340从编码器220接收信息,举例来说,以下各项中的任一者加密密钥;可用性信息,其指示所述组的编码器220已将经编码媒体内容232的若干部分发送到原始内容服务器210 ;指示何种质量等级可用于媒体内容232的特定部分的信息;元数据,举例来说,包含内容的播送曰期、标题、女演员、男演员、开始索引、结束索引、专有发行者数据、加密等级、内容持续时间、情节或节目名称、发行者;最终用户导航环境的可用工具,例如可用菜单、缩略图、工具条、广告、快进、后退、暂停及播放等;或位速率值,包含帧大小、音频通道信息、编解码器、取样速率及帧剖析器信息。或者,编码器220可发送比上文所描述的信息更多或更少的信息。在所描绘的实施例中,计算环境300包含给系统提供数字版权管理能力的数字版权管理服务器(DRM) 350。DRM服务器350进一步经配置以在验证最终用户之后即刻将加密密钥供应给最终用户。在一个实施例中,DRM服务器350经配置以基于登录凭证而验证用户。所属领域的技术人员将认识到DRM服务器350可验证最终用户的各种不同方式,包含但不限于经加密网络跟踪器(cookies)、用户简档、地理位置、源网站等。在其它实施例中,计算环境300可包含其它装置,例如目录服务器、管理服务器、消息接发服务器、统计服务器、网络基础结构运营商(例如,ISP)的装置等。图4是根据编解码器强制的帧大小编码媒体内容的音频以在具有所述媒体内容的固定时间视频部分的内容文件之间分割全音频帧的方法400的一个实施例的流程图。通过可包含硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行)、固件(例如,嵌入式软件)或其任何组合的处理逻辑来执行方法400。在一个实施例中,通过图2及3A的编码器220来执行方法400。在另一实施例中,可通过图2的固定帧音频编码器224及音频分割多路复用器228来执行所述方法的操作中的一些操作。在图4中,处理逻辑通过将样本偏移初始化为零(框402)而开始,且接收媒体内容的原始音频部分(框404)。处理逻辑使用固定帧音频编解码器编码原始音频部分(框406)并缓冲由音频编解码器输出的经编码音频帧(框408)。处理逻辑确定是否存在足够的音频帧来填充细流(框410)。在此实施例中,每一细流还包含其持续时间固定的视频帧,如本文中所描述。如果不存在足够的音频帧来填充细流,那么处理逻辑返回以在框404处接收后续原始音频部分、编码所述原始音频部分并在框408处缓冲经编码音频帧。当在框410处处理逻辑确定存在足够的音频帧来填充细流时,所述处理逻辑将音频帧发送到音频分割多路复用器并从缓冲器移除经发送帧(框412)。所述处理逻辑更新样本偏移(框414),并确定媒体内容是否在末端(框416)。如果在框416处媒体内容不在末端,那么处理逻辑返回到框404以接收另一原始音频部分。否则,所述方法结束。如上文关于图2所描述,处理逻辑可经配置以执行编码器220的组件的各种操作。举例来说,方法400可由固定帧音频编码器224执行,固定帧音频编码器224从分割器222 接收原始音频233、编码所述音频帧并将经编码音频帧237存储于音频帧缓冲器225中。在此实施例中,框402到408处的操作可由固定帧音频编码器224执行,而框410到416处的操作可由音频分割多路复用器228执行。或者,所述操作可由编码器220的组件的其它组合执行。图5A到5C是产生具有固定时间视频部分及具有编解码器强制的帧大小的全音频帧的内容文件的一个实施例的流程图。通过可包含硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行)、固件(例如,嵌入式软件)或其任何组合的处理逻辑来执行方法500、550及570。在一个实施例中,通过图2及3A的编码器220来执行方法500、550及570。在另一实施例中,通过固定帧音频编码器224来执行方法500,通过固定时间视频编码器226来执行方法550,且通过音频分割多路复用器228来执行方法570。或者,可通过编码器220的组件的其它组合来执行方法500、550及570的操作。在图5A中,方法500的处理逻辑通过接收原始音频部分(框502)而开始。处理逻辑根据编解码器强制的帧大小编码所述原始音频部分(框504),并缓冲经编码音频帧(框506)。所述处理逻辑确定媒体内容是否在末端(框508)。如果在框508处媒体内容不在末端,那么处理逻辑返回到框502以接收另一原始音频部分。否则,所述方法结束。在图5B中,方法550的处理逻辑通过接收原始视频部分(框552)而开始。处理逻辑根据帧速率编码所述原始视频部分(框554),并缓冲经编码视频帧(框556)。所述处理逻辑确定媒体内容是否在末端(框558)。如果在框558处媒体内容不在末端,那么处理逻辑返回到框552以接收另一原始视频部分。否则,所述方法结束。在图5C中,方法570的处理逻辑通过从缓冲器接收经编码音频帧(框572)并从缓冲器接收视频帧(框574)而开始。处理逻辑产生细流(框576)并将所述细流发送到原始内容服务器(框578)。所述处理逻辑确定媒体内容是否在末端(框580)。如果在框580处媒体内容不在末端,那么处理逻辑返回到框572。否则,所述方法结束。在一个实施例中,处理逻辑在框576处确定填充细流需要多少视频帧及填充细流需要多少音频帧。在一个实施例中,根据固定持续时间,用于每一细流的视频帧的数目为大概固定的。举例来说,如果帧速率为30fps,那么两秒细流中将存在60个帧。然而,应注意,实际上视频并非始终确切地为30fps,而是为29. 97fps。因此,一些两秒细流可能具有59个帧,一些可能具有60个帧,且一些甚至具有61个帧。细流中的每一帧具有相对于细流的开始的呈现时间。因此,如果细流表示秒30到32,那么所述细流中的第一帧可具有6ms而非0的呈现时间。将在从流的开始30006ms处显示所述帧。在实况的情况下,如果计算资源有限且编码器不能够跟上实况视界,那么编码器可丢掉若干帧以便赶上。因此,一些细流可在视频中具有渐细,此可为每细流帧的数目的变化的另一原因。或者,可使用除30fps以外的帧速率,例如24fps等。用于每一细流的音频帧的数目并非固定的。音频帧的数目通过上文关于音频分割多路复用器228所描述的操作来确定。处理逻辑确定缓冲器中是否存储足够的全帧来填充当前细流。如果不存在足够的音频帧,那么处理逻辑接收并编码音频的后续部分,举例来说,来自后续部分的一个全音频帧,如本文中所描述。在一些情况下,细流中的音频帧的持续时间可大于固定持续时间,且在其它情况下,音频帧的持续时间可小于固定持续时间。图7图解说明用于音频分割的呈计算机系统700的示范性形式的机器的图示表 示。在计算机系统700内具有、可执行用于致使所述机器执行本文中所论述的音频分割方法中的任何一者或一者以上的一组指令。在替代实施例中,所述机器可连接(例如,连网)到LAN、内联网、外联网或因特网中的其它机器。所述机器可在客户端-服务器网络环境中以服务器或客户端机器的能力操作或者在同级(或分布式)网络环境中作为同级机器操作。所述机器可为PC、平板PC、STB、PDA、蜂窝式电话、web用具、服务器、网络路由器、交换机或桥接器或者能够执行规定将由所述机器采取的行动的一组指令(顺序或相反)的任何机器。此外,尽管仅图解说明单个机器,但术语“机器”还应视为包含个别地或共同地执行一组(或多组)指令以执行本文中所论述的用于音频分割的操作的方法(例如上文所描述的方法400、500、550及570)中的任何一者或一者以上的任何机器集合。在一个实施例中,计算机系统700表示可实施于如上文所描述的编码器220或编码系统320中的各种组件。或者,编码器220或编码系统320可包含更多或更少的如计算机系统700中所图解说明的组件。示范性计算机系统700包含处理装置702、主存储器704(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM (SDRAM)或DRAM(RDRAM)等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储装置716,所述装置中的每一者经由总线730彼此通信。处理装置702表示一个或一个以上通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置702可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器或实施若干指令集的组合的若干处理器。处理装置702也可为一个或一个以上专用处理装置,例如专用集成电路(ASIC)、场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置702经配置以执行用于执行本文中所论述的操作及步骤的处理逻辑(例如,音频分割726)。计算机系统700可进一步包含网络接口装置722。计算机系统700还可包含视频显示单元710(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入装置712(例如,键盘)、光标控制装置714 (例如,鼠标)及信号产生装置720 (例如,扬声器)。数据存储装置716可包含计算机可读存储媒体724,计算机可读存储媒体724上存储有体现本文中所描述的方法或功能中的任何一者或一者以上的一组或多组指令(例如,音频分割726)。音频分割726也可在其由计算机系统700的执行期间完全或至少部分地驻存于主存储器704内及/或处理装置702内,主存储器704及处理装置702还构成计算机可读存储媒体。可进一步经由网络接口装置722在网络上传输或接收音频分割726。尽管在示范性实施例中将计算机可读存储媒体724展示为单个媒体,但术语“计算机可读存储媒体”应视为包含存储一组或一组以上指令的单个媒体或多个媒体(例如,集中式或分布式数据库及/或相关联高速缓冲存储器及服务器)。术语“计算机可读存储媒体”还应视为包含能够存储由机器执行的一组指令且致使所述机器执行本发明实施例的方法中的任何一者或一者以上的任何媒体。术语“计算机可读存储媒体”应相应地视为包含 但不限于固态存储器、光学媒体、磁性媒体或用于存储指令的其它类型的媒体。术语“计算机可读传输媒体”应视为包含能够传输由所述机器执行以致使所述机器执行本发明实施例的方法中的任何一者或一者以上的一组指令的任何媒体。音频分割模块732、组件及本文中所描述(例如关于图2及3A)的其它特征可实施为离散硬件组件或集成于硬件组件的功能中(例如ASICS、FPGA、DSP或类似装置)。另外,音频分割模块732可实施为固件或硬件装置内的功能电路。此外,音频分割模块732可以任何组合硬件装置及软件组件来实施。出于解释目的,已参考特定实施例描述了前文说明。然而,以上说明性论述并非打算为穷尽性或将本发明限制于所揭示的精确形式。可根据上文的教示内容做出众多种修改及变化形式。选择并描述所述实施例以便最佳地解释本发明的原理及其实际应用,以借此使得所属领域的技术人员能够利用本发明及具有可适合于所涵盖的特定用途的各种修改的各种实施例。
权利要求
1.一种由经编程以执行操作的计算系统实施的方法,其包括 接收包含音频及视频的媒体内容; 根据帧速率编码所述视频; 根据编解码器强制的帧大小编码所述音频;及 产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
2.根据权利要求I所述的方法,其中不用零填补所述多个音频帧中的最后一者。
3.根据权利要求I所述的方法,其进一步包括将所述媒体内容分割成所述音频及所述视频,其中所述编码所述视频包括使用视频编解码器根据所述固定持续时间编码所述视频,且其中所述编码所述音频包括使用音频编解码器根据所述编解码器强制的帧大小编码所述音频。
4.根据权利要求I所述的方法,其进一步包括 缓冲所述音频的经编码帧; 确定填充所述多个内容文件中的当前一者所需要的经编码帧的数目,其中帧的所述数目为不小于填充所述多个文件中的所述当前一者所需要的样本的数目除以所述编解码器强制的帧大小的最小整数; 确定是否存在足够的经缓冲的所述经编码帧来填充所述多个内容文件中的当前一者; 如果存在足够的经缓冲的所述经编码帧,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及 如果不存在足够的经缓冲的所述经编码帧,那么缓冲所述音频的额外帧并用所述数目个帧及所述额外帧填充所述多个内容文件中的所述当前一者。
5.根据权利要求4所述的方法,其中所述确定是否存在足够的经缓冲的经编码帧包括 将经缓冲帧的数目乘以所述编解码器强制的帧大小; 如果有的话,那么将来自所述多个内容文件中的先前一者的样本偏移与所述乘法的积相加;及 确定和是否大于或等于填充所述多个内容文件中的第一者所需要的样本的数目。
6.根据权利要求4所述的方法,其进一步包括如果有的话,那么确定所述多个内容文件中的后续一者的样本偏移。
7.根据权利要求6所述的方法,其中所述确定所述样本偏移包括将所述经编码帧的所述数目乘以所述编解码器强制的帧大小减去填充所述多个内容文件中的所述第一者所需要的样本的所述数目且如果有的话那么加上来自所述多个内容文件中的先前一者的所述样本偏移。
8.根据权利要求I所述的方法,其进一步包括缓冲所述音频的经编码帧,且其中所述产生所述多个内容文件包括 计算填充所述多个内容文件中的当前一者所需要的样本的数目; 计算所述多个内容文件中的所述当前一者所需要的帧的数目;当样本的所述数目除以所述编解码器强制的帧大小不能整除时,将一帧与所述数目个帧相加;及 用所述数目个帧填充所述多个内容文件中的所述当前一者。
9.根据权利要求I所述的方法,其进一步包括缓冲所述音频的经编码帧,且其中所述产生所述多个内容文件包括 通过将取样速率乘以所述固定持续时间、如果有的话那么加上来自所述多个内容文件中的先前一者的样本偏移来计算填充所述多个内容文件中的当前一者所需要的样本的数目; 通过将样本的所述数目除以所述编解码器强制的帧大小来计算填充所述多个内容文件中的所述当前一者所需要的帧的数目;及 如果所述除法的余数为零,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及 如果所述除法的所述余数大于零,那么将帧的所述数目递增I并用所述经递增数目个帧填充所述多个内容文件中的所述当前一者。
10.根据权利要求9所述的方法,其中所述产生所述多个内容文件进一步包括 将帧的所述数目乘以所述编解码器强制的帧大小以转换回到填充所述多个内容文件中的所述当前一者所需要的样本的所述数目; 通过将样本的所述数目除以所述取样速率来计算所述多个内容文件中的所述当前一者的所述音频的持续时间; 通过从所述固定持续时间减去所述持续时间来确定所述多个内容文件中的后续一者的呈现偏移;及 通过将帧的所述数目乘以所述编解码器强制的帧大小减去填充所述多个内容文件中的所述第一者所需要的样本的所述数目且如果有的话那么加上来自所述多个内容文件中的先前一者的所述样本偏移来更新所述多个内容文件中的所述后续一者的所述样本偏移。
11.根据权利要求I所述的方法,其中所述接收包括将所述媒体内容接收为多个原始细流,且其中所述多个原始细流中的每一者包括所述媒体内容的具有所述固定持续时间的一部分。
12.根据权利要求11所述的方法,其中 所述接收所述媒体内容包括 接收所述多个原始细流中的第一者及所述多个原始细流中的第二者;及 分割所述第一原始细流及所述第二原始细流的所述音频及所述视频; 所述编码所述视频包括 编码所述第一原始细流的所述视频,其中将所述第一原始细流的所述视频存储于所述多个内容文件中的第一者中;及 编码所述第二原始细流的所述视频,其中将所述第二原始细流的所述视频存储于所述多个内容文件中的第二者中; 所述编码所述音频包括 将所述第一原始细流的所述音频编码成第一多个音频帧; 缓冲所述第一多个音频帧;确定是否存在足够的经缓冲帧来填充所述第一内容文件; 当不存在足够的经缓冲帧来填充所述第一内容文件时,将所述第二原始细流的所述音频编码成第二多个音频帧并缓冲所述第二多个音频帧;及 当存在足够的经缓冲帧来填充所述第一内容文件时,将所述经缓冲音频帧存储到所述第一内容文件中。
13.根据权利要求I所述的方法,其中所述固定持续时间为大约两秒,其中以大约.48,OOO样本/秒对所述音频进行取样,其中所述编解码器强制的帧大小为1024样本/帧,其中所述多个内容文件中的前三者的音频部分各自包括94个音频帧,且其中所述多个内容文件中的第四者的音频部分包括93个音频帧,且其中所述四个内容文件的视频部分中的每一者包括大约60个视频中贞。
14.根据权利要求I所述的方法,其中所述固定持续时间为大约两秒,其中以大约.44,100样本/秒对所述音频进行取样,其中所述编解码器强制的帧大小为1024样本/帧,且其中所述多个内容文件中的第一者的所述音频部分包括87个音频帧,且所述多个内容文件中的第二者包括86个音频帧。
15.根据权利要求I所述的方法,其中所述编解码器强制的帧大小为2048样本/帧。
16.—种设备,其包括 用于接收包含视频及音频的媒体内容的构件; 用于根据帧速率编码所述视频的构件; 用于根据固定帧大小编码所述音频的构件; 用于将所述视频分段成多个部分的构件,其中所述视频的每一部分存储于单独内容文件中 '及 用于在不引入边界假象的情况下将所述音频分割成所述单独内容文件的构件。
17.根据权利要求16所述的设备,其进一步包括 用于如果有的话那么追踪所述内容文件中的每一者的样本偏移的构件;及 用于如果有的话那么追踪所述内容文件中的每一者的呈现偏移的构件。
18.—种设备,其包括 计算装置,其包含, 分割器,其用以接收包含音频及视频的媒体内容并分割所述音频及所述视频;视频编码器,其经耦合以从所述分割器接收所述视频并根据帧速率编码所述视频; 音频编码器,其经耦合以从所述分割器接收所述音频并根据编解码器强制的帧大小编码所述音频;及 音频分割多路复用器,其用以产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
19.根据权利要求18所述的设备,其中所述多个音频帧中的最后一者未用零填补。
20.根据权利要求18所述的设备,其中所述计算装置进一步包括用以缓冲所述音频的经编码帧的音频帧缓冲器。
21.—种上面存储指令的计算机可读存储媒体,所述指令在由计算装置执行时致使所述计算装置执行一方法,所述方法包括接收包含音频及视频的媒体内容; 根据帧速率编码所述视频; 根据编解码器强制的帧大小编码所述音频;及 产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
22.根据权利要求21所述的计算机可读存储媒体,其中所述方法进一步包括 缓冲所述音频的经编码帧; 确定填充所述多个内容文件中的当前一者所需要的经编码帧的数目,其中帧的所述数目为不小于填充所述多个文件中的所述当前一者所需要的样本的数目除以所述编解码器强制的帧大小的最小整数; 确定是否存在足够的经缓冲的所述经编码帧来填充所述多个内容文件中的当前一者; 如果存在足够的经缓冲的所述经编码帧,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及 如果不存在足够的经缓冲的所述经编码帧,那么缓冲所述音频的额外帧并用所述数目个帧及所述额外帧填充所述多个内容文件中的所述当前一者。
全文摘要
本发明描述一种用于在不引入边界假象的情况下将媒体内容的音频分割成单独内容文件的方法及设备。
文档编号G06F15/16GK102713883SQ201080061488
公开日2012年10月3日 申请日期2010年12月21日 优先权日2009年12月21日
发明者卡尔文·瑞安·欧文 申请人:艾科星先进科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1