CN102713883A - 用编解码器强制的帧大小进行音频分割 - Google Patents

用编解码器强制的帧大小进行音频分割 Download PDF

Info

Publication number
CN102713883A
CN102713883A CN2010800614889A CN201080061488A CN102713883A CN 102713883 A CN102713883 A CN 102713883A CN 2010800614889 A CN2010800614889 A CN 2010800614889A CN 201080061488 A CN201080061488 A CN 201080061488A CN 102713883 A CN102713883 A CN 102713883A
Authority
CN
China
Prior art keywords
frame
audio
video
content
codec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800614889A
Other languages
English (en)
Other versions
CN102713883B (zh
Inventor
卡尔文·瑞安·欧文
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.)
Dish Technologies LLC
Original Assignee
EchoStar Advanced Technologies LLC
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 EchoStar Advanced Technologies LLC filed Critical EchoStar Advanced Technologies LLC
Priority to CN201610807927.5A priority Critical patent/CN106210768B/zh
Publication of CN102713883A publication Critical patent/CN102713883A/zh
Application granted granted Critical
Publication of CN102713883B publication Critical patent/CN102713883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • G10L21/055Time compression or expansion for synchronising with other signals, e.g. video signals
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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/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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

本发明描述一种用于在不引入边界假象的情况下将媒体内容的音频分割成单独内容文件的方法及设备。

Description

用编解码器强制的帧大小进行音频分割
技术领域
本发明的实施例涉及在因特网上递送媒体内容的领域;且更具体来说,涉及在不引入边界假象的情况下将媒体内容的音频分割成单独内容文件。
背景技术
因特网正变为用于向最终用户分配媒体内容(例如,视频及音频或音频)及其它信息的主要方法。当前,可将音乐、视频、游戏及其它媒体信息下载到计算机、蜂窝电话及实际上任何具有网络能力的装置。接入因特网以寻找媒体内容的人的百分比正在快速增长。观看者体验的质量是在线视频观看的增长的主要障碍。对在线视频的消费者预期由其电视及电影观看体验设定。
在web上流式传输视频的观众数目正在快速增长,且存在对在因特网上观看视频的正在增长的兴趣及需求。数据文件的流式传输或“流式传输媒体”是指以足以在最初预计的回放速度下向用户呈现顺序媒体内容而不具有显著中断的速率递送所述媒体的技术。不同于媒体文件的经下载数据,经流式传输数据可存储于存储器中直到回放所述数据,且随后接着在已过去规定的时间量之后删除所述数据。
与在空中、在卫星或电缆上的正规广播相比,在因特网上流式传输媒体内容具有一些挑战。在编码媒体内容的音频的背景中出现的一个担忧问题是在将视频及音频分段成固定时间部分时引入边界假象。在一种常规方法中,将音频分段成具有匹配对应视频的固定持续时间的固定持续时间(举例来说,两秒)的若干部分。在此方法中,音频边界始终与视频边界对准。常规方法开始音频编解码器的新编码会话以(举例来说)使用低复杂性高级音频编码(AAC LC)编码每一内容文件的每一音频部分。通过针对音频的每一部分使用新的编码会话,音频编解码器将波形的开头及结尾解释为从零的转变,从而在经编码部分的回放中在部分边界处产生噼噗或咔嗒噪声,例如图1中所图解说明。噼噗或咔嗒噪声称作边界假象。此外,音频编解码器根据编解码器强制的帧大小编码固定持续时间的音频。此还在由音频编解码器产生的样本的数目不能由编解码器强制的帧大小整除时引入边界假象。
图1是图解说明使用常规方法的两个音频部分的示范性音频波形100的图示。音频波形100图解说明视频的第一与第二部分之间从零的转变102。当音频编解码器具有固定帧大小(本文中称作编解码器强制的帧大小)时,经编码的音频要求在所述部分的样本的数目不能由根据编解码器强制的帧大小每帧样本的数目整除时用零填补最后一个帧104。举例来说,当使用48kHz的取样速率时,存在针对两秒的音频段产生的96,000个样本。当将样本的数目96,000除以每帧样本的数目(例如,针对AAC LC为1024个样本且针对高效率AAC (HE AAC)为2048个样本)时,结果为93.75个帧。由于数目93.75并非整数,因此音频编解码器用零填补最后一个帧104。在此实例中,为最后一个帧的最后256个样本赋予零值。虽然零值表示静默音频,但用零填补最后一个帧在音频的经编码部分的回放期间在部分边界处产生噼噗或咔嗒噪声。从零的转变102及最后一个帧中的经填补零104引入边界假象。边界假象的引入可降低音频的总体质量,从而在媒体内容的回放期间影响用户的体验。
另一常规方法尝试通过使用具有较长持续时间以便与帧边界对准的音频部分来限制边界假象的数目。然而,通过使用音频的较大持续时间部分,可需要单独地封装音频及视频。此可呈现流式传输具有音频及视频的媒体内容的缺陷,尤其是在以不同质量等级编码同一媒体内容时,举例来说,所述不同质量等级在允许在媒体内容的回放期间在不同质量等级之间变换的自适应流式传输的背景中使用。
发明内容
附图说明
参考以下说明及附图可最佳地理解本发明,所述附图用于图解说明本发明的实施例。在图式中:
图1是图解说明使用常规方法的两个音频部分的示范性音频波形的图示。
图2是图解说明其中可采用本发明实施例的编码器的计算环境的一个实施例的示意性框图。
图3A是图解说明其中可采用包含多个主机(每一主机均采用图2的编码器)的编码系统的计算环境的另一实施例的示意性框图。
图3B是图解说明根据一个实施例并行编码细流的一个实施例的示意性框图。
图4是根据编解码器强制的帧大小编码媒体内容的音频以在具有所述媒体内容的固定时间视频部分的内容文件之间分割全音频帧的方法的一个实施例的流程图。
图5A到5C是产生具有固定时间视频部分及具有编解码器强制的帧大小的全音频帧的内容文件的一个实施例的流程图。
图6A是根据音频分割的一个实施例的音频部分、视频部分及细流的图示表示。
图6B是图解说明使用音频分割的音频的四个部分的音频波形一个实施例的图示。
图7图解说明根据一个实施例用于音频分割的呈计算机系统的示范性形式的机器的图示表示。
具体实施方式
本发明描述一种用于在不引入边界假象的情况下将媒体内容的音频分割成单独内容文件的方法及设备。在一个实施例中,一种由经编程以执行操作的计算系统实施的方法包含:接收包含音频及视频的媒体内容;根据帧速率编码所述视频;根据编解码器强制的帧大小(即,固定帧大小)编码所述音频;及产生若干内容文件,所述内容文件中的每一者包含所述视频的具有固定持续时间的经编码部分及所述音频的具有全音频帧的经编码部分,所述全音频帧具有所述编解码器强制的帧大小。在一个实施例中,并不像常规所做的那样用零填补所述音频帧中的最后一者。
本发明的实施例提供一种用以流式传输音频的经改进方法。不同于针对媒体内容的每一音频部分使用新编码会话的常规方法,本文中所描述的实施例允许在不引入边界假象的情况下将媒体内容分段成若干小部分。本文中所描述的实施例使用全音频帧对所述音频进行分段。当所述音频经分级以用于回放时,将所述音频作为单个流而非具有边界假象的许多小段呈现给解码器。在本文中所描述的实施例中,编码器知晓编解码器帧大小(例如,针对AAC-LC为1024个样本或针对HE AAC为2048个样本)及借助编解码器的每一调用产生多少音频帧。编码器存储多达可装配到一经编码细流(即,内容文件)中的音频帧,所述经编码细流基于固定持续时间而具有所述视频的一部分。并非用零填补最后一个音频帧,而是编码下一音频部分的全帧并将其加到当前细流。此产生原本将在代替地正写入到当前细流的后续细流中的小音频量。接着赋予后续细流所述音频流的时间偏移以指示间隙,使得可在回放时将所述音频作为连续流呈现给解码器。从此细流的音频的目标持续时间扣除此相同时间量。如果此后续细流的音频的末端不落在帧边界上,那么再次从后续细流借用音频以填充最终的帧。此过程重复直到到达媒体内容的流的末端为止。可在解码及回放之前消除当将细流的音频部分分级时在细流的开头处从中借用音频的地方插入的间隙。当寻找到随机细流时,可在间隙的持续时间内播放静默音频以便维持音频/视频同步。
如本文中所描述的音频分割的实施例提供使用具有大的编解码器强制的帧大小(AAC、AC3等)的音频编解码器编码媒体内容的音频而不引入边界假象同时仍维持视频的相同固定持续时间的能力。
在以下说明中,阐述了众多细节。然而,受益于本发明的所属领域的技术人员将明了,可在无这些特定细节的情况下实践本发明的实施例。在一些实例中,以框图形式展示众所周知的结构及装置,以避免使本发明的实施例模糊。
以下详细说明的一些部分是依据对计算机存储器内的数据位的操作的算法及符号表示来呈现的。这些算法说明及表示是数据处理领域的技术人员用来最有效地向所属领域的其他技术人员传达其工作的实质的手段。算法在此处且大体地设想为能达到所期望结果的自相容步骤序列。所述步骤是需要对物理量进行物理操纵的步骤。通常(但未必),这些量采取能够存储、传送、组合、比较及以其它方式加以操纵的电信号、磁信号的形式。已证实,主要出于常用的原因,将这些信号称作位、值、元素、符号、字符、项、数字等有时比较方便。
然而,应记住,所有这些术语及类似术语均与适当的物理量相关联,且仅仅为应用于这些物理量的方便标记。除非具体陈述,否则从以下论述显而易见,应了解在本说明通篇中,利用例如“接收”、“编码”、“产生”、“分割”、“处理”、“计算”、“运算”、“确定”、“显示”等术语的论述是指计算机系统或类似电子计算系统的行动及过程,其操纵并将表示为计算机系统的寄存器及存储器内的物理(例如,电子)量的数据变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置内的物理量的其它数据。
本发明的实施例还涉及用于执行本文中的操作的设备。此设备可针对所需目的专门构造,或其可包括通用计算机系统,所述通用计算机系统由存储于所述计算机系统中的计算机程序具体配置。此计算机程序可存储于计算机可读存储媒体中,例如但不限于任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体。
如本文中所使用,术语“经编码细流”是指媒体内容的一部分的单个经编码表示。每一细流可为包含媒体的一部分的个别内容文件,且可封装为独立媒体对象,从而允许个别地高速缓存且可独立请求并可通过媒体播放器独立播放所述细流。这些个别文件在本文中还称作QSS文件。在一个实施例中,细流为可由非专门服务器而非专门媒体服务器服务的静态文件。在一个实施例中,细流中的媒体内容可具有预定回放时间长度(也称作固定持续时间)。举例来说,所述预定时间长度可在介于大约0.1秒与8.0秒之间的范围中。或者,可使用其它预定长度。细流中的媒体内容可具有相对于流中所含有的媒体内容的开头的唯一时间索引。文件名可包含所述时间索引的一部分。或者,可根据文件大小而非时间索引来划分细流。如本文中所使用,术语“流”可指媒体内容的通过相同视频质量简档编码的细流的集合,举例来说,视频的已以相同视频位速率编码的部分。流表示原始媒体内容的副本。细流可作为单独的文件存储于内容服务器、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可为例如
Figure BDA00001886278700061
频道或
Figure BDA00001886278700062
频道的电视或有线电视网络频道的服务器。发行者可在因特网上将媒体内容传送到编码器220,编码器220可经配置以接收并处理媒体内容且将所述媒体内容的内容文件存储于原始内容服务器210中。在一个实施例中,内容服务器210将媒体内容递送到客户端装置204,客户端装置204经配置以在正在客户端装置204上操作的媒体播放器上播放所述内容。内容服务器210通过将媒体内容流式传输到客户端装置204来递送所述媒体内容。在另一实施例中,客户端装置204经配置以同时或并发地从多个位置接收媒体内容的不同部分,如下文更详细地描述。
可将存储于内容服务器210处的媒体内容复制到其它web服务器;或替代地,复制到CDN 240的代理高速缓冲存储器服务器。复制可通过从内容服务器210人为转发或通过在内容服务器210之外的web、高速缓冲存储器或代理服务器代表客户端装置204请求内容而发生。举例来说,客户端装置204可向多个web服务器、边缘高速缓冲存储器或代理高速缓冲存储器服务器中的任一者请求并接收内容。在所描绘的实施例中,web服务器、代理高速缓冲存储器、边缘高速缓冲存储器及内容服务器210组织于CDN 240的一层次中以将媒体内容递送到客户端装置204。CDN为跨越因特网连网在一起的计算机系统,其透明地协作以递送内容且可包含(举例来说)一个或一个以上原始内容服务器、web服务器、高速缓冲存储器服务器、边缘服务器等。通常,CDN配置于一层次中使得客户端装置向(举例来说)边缘高速缓冲存储器请求数据,且如果边缘高速缓冲存储器不含有所请求数据,那么将所述请求发送到父高速缓冲存储器等等直到原始内容服务器。所述CDN还可包含经互连的计算机网络或节点以递送媒体内容。CDN的一些实例将为由阿卡迈技术公司(Akamai Technologies)、等级3通信公司(Level3Communications)或灰光网络公司(Limelight Networks)开发的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可利用编码方案,例如
Figure BDA00001886278700071
编解码器、Windows Media Video
Figure BDA00001886278700072
系列编解码器、Sorenson
Figure BDA00001886278700073
3视频编解码器、来自On2
Figure BDA00001886278700074
的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。在一个实施例中,帧的数目为不小于填充当前内容文件所需要的样本的数目除以编解码器强制的帧大小(例如,样本/帧)的最小整数。在一个实施例中,可使用将实数映射到下一最大整数的上整数函数来计算此数目,举例来说,ceiling(x)=[x]为不小于x的最小整数。在以下方程式(1)中表示上整数函数的一个实例:
ceil((samplesPerStreamlet-offsetSamples)/samplesPerFrame)          (1)
或者,可使用其它方程式。
音频分割多路复用器228确定音频帧缓冲器225中是否存在足够的经编码音频帧237来填充当前内容文件。如果存在足够的经缓冲的经编码帧,那么音频分割多路复用器228用经确定数目个帧来填充当前内容文件。如果不存在足够的经缓冲的经编码帧,那么音频分割多路复用器228等待直到缓冲器225中存储有足够的经编码帧并用存储于缓冲器225中的经确定数目个经编码帧来填充当前内容文件。在一个实施例中,音频分割多路复用器228通过以下操作来确定是否存在足够的经缓冲的经编码帧:1)将经缓冲帧的数目乘以样本/帧,2)如果有的话,那么将来自先前内容文件的样本偏移与所述乘法的积相加,及3)确定和是否大于或等于填充当前内容文件所需要的样本的数目。在以下方程式(2)中表示此运算的一个实例:
numBufferedFrames*samplesPerFrame+offsetSamples>=samplesPerStreamlet(2)
如果有的话,那么音频分割多路复用器228确定后续内容文件的样本偏移。在一个实施例中,音频分割多路复用器228通过将经编码帧的数目乘以编解码器强制的帧大小(即,样本/帧)减去填充当前内容文件所需要的样本的数目且如果有的话那么加上来自先前内容文件的样本偏移来确定所述样本偏移。在以下方程式(3)及(4)中表示此运算的一个实例:
offestSamples=framesToSend*samplesPerFrame-samplesPerStreamlet-offsetSamples(3)
其中framesToSend=ceil((samplesPerStreamlet-offsetSamples)/samplesPerFrame)(4)
在另一实施例中,音频分割多路复用器228通过计算填充当前内容文件所需要的样本的数目(例如,96,000)来产生内容文件221。音频分割多路复用器228计算当前内容文件所需要的帧的数目(例如,针对两秒部分的48K取样速率为93个帧)并在样本的数目除以样本/帧为不能整除时将一帧与所述数目个帧相加(例如,总计94个帧)。实际上,此将帧的数目上舍入到下一最大整数。音频分割多路复用器228用经舍入数目个帧填充当前内容文件。
在另一实施例中,音频分割多路复用器228通过经由将取样速率(例如,48K)乘以固定持续时间的持续时间(例如,2秒)计算填充当前内容文件所需要的样本的数目(例如,96,000)来产生内容文件221。音频分割多路复用器228通过将样本的数目除以编解码器强制的帧大小(例如,1024样本/帧)来计算当前内容文件所需要的帧的数目。如果除法的余数为零,那么音频分割多路复用器228用所述数目个帧填充当前内容文件。然而,如果除法的余数大于零,那么音频分割多路复用器228将帧的数目递增1且用经递增数目个帧来填充当前内容文件。
在另一实施例中,音频分割多路复用器228通过以下操作来产生内容文件221:将帧的数目乘以编解码器强制的帧大小以转换回到填充当前内容文件所需要的样本的数目,并通过将样本的数目除以取样速率计算当前内容文件的音频的持续时间(例如,StreamletDuration=samplesPerStreamlet/取样速率)。音频分割多路复用器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的持续时间为大约1.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.1kHz)将需要不同的且可能大得多的组块大小。或者,源音频将必须增加取样到48kHz。然而,增加取样可能引入假象且可降低音频编解码器的效率。然而,本文中所描述的实施例具有使用具有大的帧大小(AAC、AC3等)的音频编解码器进行编码而不引入组块边界假象同时仍维持相同组块持续时间的能力。
或者,可使用其它取样速率(例如,44.1kHz)、固定持续时间(例如,0.1秒到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.1kHz取样速率、1024编解码器强制的帧大小及两秒固定持续时间时,第一内容文件的音频部分将具有87个音频帧,且第二到第七内容文件将具有86个音频帧。此模式自身重复直到媒体内容中不剩余足够的视频为止。应注意,在此实施例中,在每128个内容文件之后,呈现偏移及样本偏移为零,此意味着音频边界652与视频边界654在每128个内容文件之后对准,如简缩表1-1中所图解说明。
表1-1
Figure BDA00001886278700141
应注意,为便于图解说明,上表中的样本偏移是以样本而非秒或毫秒为单位进行图解说明的。为了将样本偏移转换为呈现偏移,可将样本偏移除以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可表示到CDN 240的多个网络连接。在一个实施例中,每一媒体播放器200可建立到CDN 240的多个输送控制协议(TCP)连接。在另一实施例中,媒体内容存储于多个CDN中,举例来说,存储于与多个CDN中的每一者相关联的原始服务器中。CDN 240可用于通过降低带宽成本并增加内容的全局可用性而改进性能、可缩放性及最终用户(例如,观看者)的成本效率的目的。可以各种方式实施CDN,且所属领域的技术人员将了解关于其操作的细节。如此,尚未包含关于其操作的额外细节。在其它实施例中,可使用其它递送技术将媒体内容从原始服务器递送到媒体播放器,例如同级网络等。
在上文所描述的实施例中,内容文件232表示原始媒体内容流231的一个副本。然而,在其它实施例中,可将原始媒体内容231的每一部分编码成同一内容部分的多个经编码表示。多个经编码表示可根据不同质量简档进行编码且存储为可由客户端装置204独立请求并独立播放的单独文件。所述文件中的每一者可存储于一个或一个以上内容服务器210中、CDN 240的web服务器、代理高速缓冲存储器、边缘高速缓冲存储器上,且可单独地请求并递送到客户端装置204。在一个实施例中,编码器220同时以数个不同质量等级(举例来说,10个或13个此种等级)编码原始内容媒体231。每一质量等级称作质量简档或简档。举例来说,如果媒体内容具有一小时的持续时间且媒体内容被分段成具有两秒持续时间的QSS文件,那么媒体内容的每一经编码表示存在1800个QSS文件。如果根据10个不同质量简档编码媒体内容,那么媒体内容存在18,000个QSS文件。质量简档可指示将如何编码流,举例来说,质量简档可规定若干参数,例如图像的宽度及高度(即,图像大小)、视频位速率(即,编码视频的速率)、音频位速率、音频取样速率(即,在捕获时对音频进行取样的速率)、音轨的数目(例如,单声道、立体声等)、帧速率(例如,帧/秒)、分级大小等。举例来说,媒体播放器200可个别地请求不同质量等级的相同媒体内容232;举例来说,每一媒体播放器200可请求媒体内容232的相同(例如,相同时间索引)的但处于不同质量等级的部分。举例来说,一个媒体播放器可请求具有HD质量视频的细流,因为请求媒体播放器的计算装置具有充足计算能力及充足网络带宽,而另一媒体播放器可请求具有较低质量的细流,因为(举例来说)其计算装置可能不具有充足网络带宽。在一个实施例中,媒体播放器200通过请求来自媒体内容的不同副本(例如,不同质量流)的部分而在部分边界处在质量等级之间变换,如2005年4月28日提出申请的第2005/0262257号美国专利申请公开案中所描述。或者,媒体播放器200可使用受益于本发明的所属领域的技术人员将了解的其它技术请求所述部分。
举例来说,使用QMX文件,编码器220还可规定哪些质量简档可用于媒体内容的特定部分,且可规定媒体内容中有多少可用于递送。QMX文件指示由可用QSS文件表示的媒体内容的当前持续时间。QMX文件可作为媒体内容的内容表操作,从而指示哪些QSS文件可用于递送及可从何处检索所述QSS文件。举例来说,可经由CDN 240将QMX文件发送到媒体播放器200。或者,媒体播放器200可请求特定媒体内容的可用质量简档。在其它实施例中,可使用CDN的缩放能力来缩放此配置以将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图解说明为是在CDN 240内,但原始内容服务器210可驻存于CDN 240外部且仍与CDN 240相关联。举例来说,一个实体可拥有并操作存储细流的内容服务器,但其装置可由一个或一个以上单独实体拥有并操作的CDN 240递送所述细流。
应注意,媒体内容为在由媒体播放器200(在电子装置(即,客户端装置)上操作)处理时允许媒体播放器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细流304a(304a1、304a2、304a3等表示不同位速率的细流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以指示已将所述流的某些部分(例如,细流)发送到与CDN 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可以任何组合硬件装置及软件组件来实施。
出于解释目的,已参考特定实施例描述了前文说明。然而,以上说明性论述并非打算为穷尽性或将本发明限制于所揭示的精确形式。可根据上文的教示内容做出众多种修改及变化形式。选择并描述所述实施例以便最佳地解释本发明的原理及其实际应用,以借此使得所属领域的技术人员能够利用本发明及具有可适合于所涵盖的特定用途的各种修改的各种实施例。

Claims (22)

1.一种由经编程以执行操作的计算系统实施的方法,其包括:
接收包含音频及视频的媒体内容;
根据帧速率编码所述视频;
根据编解码器强制的帧大小编码所述音频;及
产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
2.根据权利要求1所述的方法,其中不用零填补所述多个音频帧中的最后一者。
3.根据权利要求1所述的方法,其进一步包括将所述媒体内容分割成所述音频及所述视频,其中所述编码所述视频包括使用视频编解码器根据所述固定持续时间编码所述视频,且其中所述编码所述音频包括使用音频编解码器根据所述编解码器强制的帧大小编码所述音频。
4.根据权利要求1所述的方法,其进一步包括:
缓冲所述音频的经编码帧;
确定填充所述多个内容文件中的当前一者所需要的经编码帧的数目,其中帧的所述数目为不小于填充所述多个文件中的所述当前一者所需要的样本的数目除以所述编解码器强制的帧大小的最小整数;
确定是否存在足够的经缓冲的所述经编码帧来填充所述多个内容文件中的当前一者;
如果存在足够的经缓冲的所述经编码帧,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及
如果不存在足够的经缓冲的所述经编码帧,那么缓冲所述音频的额外帧并用所述数目个帧及所述额外帧填充所述多个内容文件中的所述当前一者。
5.根据权利要求4所述的方法,其中所述确定是否存在足够的经缓冲的经编码帧包括:
将经缓冲帧的数目乘以所述编解码器强制的帧大小;
如果有的话,那么将来自所述多个内容文件中的先前一者的样本偏移与所述乘法的积相加;及
确定和是否大于或等于填充所述多个内容文件中的第一者所需要的样本的数目。
6.根据权利要求4所述的方法,其进一步包括:如果有的话,那么确定所述多个内容文件中的后续一者的样本偏移。
7.根据权利要求6所述的方法,其中所述确定所述样本偏移包括:将所述经编码帧的所述数目乘以所述编解码器强制的帧大小减去填充所述多个内容文件中的所述第一者所需要的样本的所述数目且如果有的话那么加上来自所述多个内容文件中的先前一者的所述样本偏移。
8.根据权利要求1所述的方法,其进一步包括缓冲所述音频的经编码帧,且其中所述产生所述多个内容文件包括:
计算填充所述多个内容文件中的当前一者所需要的样本的数目;
计算所述多个内容文件中的所述当前一者所需要的帧的数目;
当样本的所述数目除以所述编解码器强制的帧大小不能整除时,将一帧与所述数目个帧相加;及
用所述数目个帧填充所述多个内容文件中的所述当前一者。
9.根据权利要求1所述的方法,其进一步包括缓冲所述音频的经编码帧,且其中所述产生所述多个内容文件包括:
通过将取样速率乘以所述固定持续时间、如果有的话那么加上来自所述多个内容文件中的先前一者的样本偏移来计算填充所述多个内容文件中的当前一者所需要的样本的数目;
通过将样本的所述数目除以所述编解码器强制的帧大小来计算填充所述多个内容文件中的所述当前一者所需要的帧的数目;及
如果所述除法的余数为零,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及
如果所述除法的所述余数大于零,那么将帧的所述数目递增1并用所述经递增数目个帧填充所述多个内容文件中的所述当前一者。
10.根据权利要求9所述的方法,其中所述产生所述多个内容文件进一步包括:
将帧的所述数目乘以所述编解码器强制的帧大小以转换回到填充所述多个内容文件中的所述当前一者所需要的样本的所述数目;
通过将样本的所述数目除以所述取样速率来计算所述多个内容文件中的所述当前一者的所述音频的持续时间;
通过从所述固定持续时间减去所述持续时间来确定所述多个内容文件中的后续一者的呈现偏移;及
通过将帧的所述数目乘以所述编解码器强制的帧大小减去填充所述多个内容文件中的所述第一者所需要的样本的所述数目且如果有的话那么加上来自所述多个内容文件中的先前一者的所述样本偏移来更新所述多个内容文件中的所述后续一者的所述样本偏移。
11.根据权利要求1所述的方法,其中所述接收包括将所述媒体内容接收为多个原始细流,且其中所述多个原始细流中的每一者包括所述媒体内容的具有所述固定持续时间的一部分。
12.根据权利要求11所述的方法,其中:
所述接收所述媒体内容包括:
接收所述多个原始细流中的第一者及所述多个原始细流中的第二者;及
分割所述第一原始细流及所述第二原始细流的所述音频及所述视频;
所述编码所述视频包括:
编码所述第一原始细流的所述视频,其中将所述第一原始细流的所述视频存储于所述多个内容文件中的第一者中;及
编码所述第二原始细流的所述视频,其中将所述第二原始细流的所述视频存储于所述多个内容文件中的第二者中;
所述编码所述音频包括:
将所述第一原始细流的所述音频编码成第一多个音频帧;
缓冲所述第一多个音频帧;
确定是否存在足够的经缓冲帧来填充所述第一内容文件;
当不存在足够的经缓冲帧来填充所述第一内容文件时,将所述第二原始细流的所述音频编码成第二多个音频帧并缓冲所述第二多个音频帧;及
当存在足够的经缓冲帧来填充所述第一内容文件时,将所述经缓冲音频帧存储到所述第一内容文件中。
13.根据权利要求1所述的方法,其中所述固定持续时间为大约两秒,其中以大约48,000样本/秒对所述音频进行取样,其中所述编解码器强制的帧大小为1024样本/帧,其中所述多个内容文件中的前三者的音频部分各自包括94个音频帧,且其中所述多个内容文件中的第四者的音频部分包括93个音频帧,且其中所述四个内容文件的视频部分中的每一者包括大约60个视频帧。
14.根据权利要求1所述的方法,其中所述固定持续时间为大约两秒,其中以大约44,100样本/秒对所述音频进行取样,其中所述编解码器强制的帧大小为1024样本/帧,且其中所述多个内容文件中的第一者的所述音频部分包括87个音频帧,且所述多个内容文件中的第二者包括86个音频帧。
15.根据权利要求1所述的方法,其中所述编解码器强制的帧大小为2048样本/帧。
16.一种设备,其包括:
用于接收包含视频及音频的媒体内容的构件;
用于根据帧速率编码所述视频的构件;
用于根据固定帧大小编码所述音频的构件;
用于将所述视频分段成多个部分的构件,其中所述视频的每一部分存储于单独内容文件中;及
用于在不引入边界假象的情况下将所述音频分割成所述单独内容文件的构件。
17.根据权利要求16所述的设备,其进一步包括:
用于如果有的话那么追踪所述内容文件中的每一者的样本偏移的构件;及
用于如果有的话那么追踪所述内容文件中的每一者的呈现偏移的构件。
18.一种设备,其包括:
计算装置,其包含,
分割器,其用以接收包含音频及视频的媒体内容并分割所述音频及所述视频;视频编码器,其经耦合以从所述分割器接收所述视频并根据帧速率编码所述视频;
音频编码器,其经耦合以从所述分割器接收所述音频并根据编解码器强制的帧大小编码所述音频;及
音频分割多路复用器,其用以产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
19.根据权利要求18所述的设备,其中所述多个音频帧中的最后一者未用零填补。
20.根据权利要求18所述的设备,其中所述计算装置进一步包括用以缓冲所述音频的经编码帧的音频帧缓冲器。
21.一种上面存储指令的计算机可读存储媒体,所述指令在由计算装置执行时致使所述计算装置执行一方法,所述方法包括:
接收包含音频及视频的媒体内容;
根据帧速率编码所述视频;
根据编解码器强制的帧大小编码所述音频;及
产生多个内容文件,其中所述多个内容文件中的每一者包括所述视频的具有固定持续时间的经编码部分及所述音频的具有多个全音频帧的经编码部分,所述多个全音频帧具有所述编解码器强制的帧大小。
22.根据权利要求21所述的计算机可读存储媒体,其中所述方法进一步包括:
缓冲所述音频的经编码帧;
确定填充所述多个内容文件中的当前一者所需要的经编码帧的数目,其中帧的所述数目为不小于填充所述多个文件中的所述当前一者所需要的样本的数目除以所述编解码器强制的帧大小的最小整数;
确定是否存在足够的经缓冲的所述经编码帧来填充所述多个内容文件中的当前一者;
如果存在足够的经缓冲的所述经编码帧,那么用所述数目个帧填充所述多个内容文件中的所述当前一者;及
如果不存在足够的经缓冲的所述经编码帧,那么缓冲所述音频的额外帧并用所述数目个帧及所述额外帧填充所述多个内容文件中的所述当前一者。
CN201080061488.9A 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割 Active CN102713883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610807927.5A CN106210768B (zh) 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/643,700 US9338523B2 (en) 2009-12-21 2009-12-21 Audio splitting with codec-enforced frame sizes
US12/643,700 2009-12-21
PCT/US2010/061658 WO2011084823A1 (en) 2009-12-21 2010-12-21 Audio splitting with codec-enforced frame sizes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610807927.5A Division CN106210768B (zh) 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割

Publications (2)

Publication Number Publication Date
CN102713883A true CN102713883A (zh) 2012-10-03
CN102713883B CN102713883B (zh) 2016-09-28

Family

ID=44151068

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610807927.5A Active CN106210768B (zh) 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割
CN201080061488.9A Active CN102713883B (zh) 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610807927.5A Active CN106210768B (zh) 2009-12-21 2010-12-21 用编解码器强制的帧大小进行音频分割

Country Status (12)

Country Link
US (5) US9338523B2 (zh)
EP (1) EP2517121B1 (zh)
JP (1) JP5728736B2 (zh)
KR (2) KR20120101710A (zh)
CN (2) CN106210768B (zh)
AU (1) AU2010339666B2 (zh)
BR (1) BR112012014872B1 (zh)
CA (1) CA2784779C (zh)
IL (1) IL220482A (zh)
MX (1) MX2012007243A (zh)
SG (1) SG181840A1 (zh)
WO (1) WO2011084823A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105393516A (zh) * 2013-07-16 2016-03-09 思科技术公司 在自适应流送中用缓冲器和范围约束来进行质量优化
CN105981397A (zh) * 2014-02-10 2016-09-28 杜比国际公司 将编码音频嵌入到传输流中以供用于完美拼接
CN109564761A (zh) * 2016-08-15 2019-04-02 高通股份有限公司 将经编码的音频帧分组化成经压缩-脉冲编码调制(pcm)(cop)分组以供在pcm接口上传输
CN109935235A (zh) * 2013-04-05 2019-06-25 杜比国际公司 音频编码器和解码器

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120045052A1 (en) * 2010-08-17 2012-02-23 Pedro Javier Vazquez Theft deterrence of motion picture films employing damaged-video files
EP2924990A1 (en) * 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
US9111524B2 (en) * 2011-12-20 2015-08-18 Dolby International Ab Seamless playback of successive multimedia files
US9609340B2 (en) * 2011-12-28 2017-03-28 Verizon Patent And Licensing Inc. Just-in-time (JIT) encoding for streaming media content
US9276989B2 (en) 2012-03-30 2016-03-01 Adobe Systems Incorporated Buffering in HTTP streaming client
US8904453B2 (en) 2012-06-10 2014-12-02 Apple Inc. Systems and methods for seamlessly switching between media streams
US9142003B2 (en) * 2012-06-10 2015-09-22 Apple Inc. Adaptive frame rate control
US11284133B2 (en) * 2012-07-10 2022-03-22 Avago Technologies International Sales Pte. Limited Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information
WO2014115147A1 (en) * 2013-01-24 2014-07-31 Telesofia Medical Ltd. System and method for flexible video construction
CN103152611B (zh) * 2013-02-18 2018-04-27 中兴通讯股份有限公司 一种流媒体管道业务的控制方法和装置
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN104065977B (zh) * 2014-06-06 2018-05-15 北京音之邦文化科技有限公司 音/视频文件的处理方法及装置
US20170118501A1 (en) * 2014-07-13 2017-04-27 Aniview Ltd. A system and methods thereof for generating a synchronized audio with an imagized video clip respective of a video clip
RU2681958C1 (ru) 2015-03-09 2019-03-14 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Выровненное по фрагменту аудиокодирование
US9906590B2 (en) * 2015-08-20 2018-02-27 Verizon Digital Media Services Inc. Intelligent predictive stream caching
US11269951B2 (en) 2016-05-12 2022-03-08 Dolby International Ab Indexing variable bit stream audio formats
US10701415B2 (en) * 2016-05-19 2020-06-30 Arris Enterprises Llc Method and apparatus for segmenting data
US10812558B1 (en) 2016-06-27 2020-10-20 Amazon Technologies, Inc. Controller to synchronize encoding of streaming content
US10652625B1 (en) 2016-06-27 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
US10652292B1 (en) * 2016-06-28 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
CN106911941B (zh) * 2017-03-02 2019-08-16 上海幻电信息科技有限公司 一种自适应视频切片方法
AU2018254570B2 (en) 2017-04-21 2021-08-05 Zenimax Media Inc. Systems and methods for deferred post-processes in video encoding
GB2595029B (en) 2017-04-21 2022-02-09 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
KR102302643B1 (ko) 2017-04-21 2021-09-14 제니맥스 미디어 인크. 모션 벡터들 예측에 의한 플레이어 입력 모션 보상을 위한 시스템들 및 방법들
CA3059740A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for game-generated motion vectors
KR102326456B1 (ko) 2017-04-21 2021-11-12 제니맥스 미디어 인크. 인코더-가이드 적응형-품질 렌더링을 위한 시스템들 및 방법들
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
US20190065413A1 (en) * 2017-08-25 2019-02-28 Intel Corporation Burst-sized linked list elements for a queue
US10997320B1 (en) * 2018-01-31 2021-05-04 EMC IP Holding Company LLC Segment-based personalized cache architecture
CN108417219B (zh) * 2018-02-22 2020-10-13 武汉大学 一种适应于流媒体的音频对象编解码方法
US10440367B1 (en) * 2018-06-04 2019-10-08 Fubotv Inc. Systems and methods for adaptively encoding video stream
US10674192B2 (en) 2018-06-29 2020-06-02 International Business Machines Corporation Synchronizing multiple computers presenting common content
WO2020080565A1 (ko) * 2018-10-17 2020-04-23 네오컨버전스 주식회사 동영상 변환방법 및 장치
CN109788343B (zh) * 2018-11-26 2019-10-25 广州微算互联信息技术有限公司 Html网页播放音频流的方法与云手机服务器
CN110557226A (zh) * 2019-09-05 2019-12-10 北京云中融信网络科技有限公司 一种音频传输方法和装置
US11336947B2 (en) 2019-09-13 2022-05-17 Netflix, Inc. Audio transitions when streaming audiovisual media titles
US11503264B2 (en) 2019-09-13 2022-11-15 Netflix, Inc. Techniques for modifying audiovisual media titles to improve audio transitions
CN110913273A (zh) * 2019-11-27 2020-03-24 北京翔云颐康科技发展有限公司 视频直播方法及装置
US11277461B2 (en) 2019-12-18 2022-03-15 The Nielsen Company (Us), Llc Methods and apparatus to monitor streaming media
US11723136B2 (en) * 2019-12-20 2023-08-08 Harman Professional Denmark Aps Systems and methods for a music feature file and coordinated light show
CN112437315B (zh) * 2020-09-02 2023-06-27 上海幻电信息科技有限公司 适应多系统版本的音频适配方法及系统
US12101532B2 (en) 2020-10-27 2024-09-24 Circle Computer Resources, Inc. Low-latency content delivery over a public network
EP4160427A1 (de) * 2021-10-01 2023-04-05 Siemens Healthcare GmbH Übertragung von usb-daten in einem datenstrom

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001309A1 (en) * 2000-06-30 2002-01-03 Kabushiki Kaisha Toshiba Multiplexer, multimedia communication apparatus and time stamp generation method
US20070093206A1 (en) * 2005-10-26 2007-04-26 Prasanna Desai Method and system for an efficient implementation of the Bluetooth® subband codec (SBC)
US20070100607A1 (en) * 2005-11-03 2007-05-03 Lars Villemoes Time warped modified transform coding of audio signals
US20080084925A1 (en) * 2006-10-10 2008-04-10 Mobixell Networks Ltd. Control of video compression based on file size constraint
US7574272B2 (en) * 2000-10-13 2009-08-11 Eric Paul Gibbs System and method for data transfer optimization in a portable audio device
US20090288111A1 (en) * 2008-05-13 2009-11-19 Samsung Electronics Co., Ltd. Method and apparatus for providing and using content advisory information on internet contents
US7630612B2 (en) * 2003-02-10 2009-12-08 At&T Intellectual Property, I, L.P. Video stream adaptive frame rate scheme

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1186028A (en) * 1982-06-23 1985-04-23 Microdesign Limited Method and apparatus for scrambling and unscrambling data streams using encryption and decryption
US6604118B2 (en) * 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US5508942A (en) * 1993-11-24 1996-04-16 Intel Corporation Intra/inter decision rules for encoding and decoding video signals
US6366614B1 (en) * 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US5913191A (en) * 1997-10-17 1999-06-15 Dolby Laboratories Licensing Corporation Frame-based audio coding with additional filterbank to suppress aliasing artifacts at frame boundaries
US5913190A (en) * 1997-10-17 1999-06-15 Dolby Laboratories Licensing Corporation Frame-based audio coding with video/audio data synchronization by audio sample rate conversion
US5899969A (en) * 1997-10-17 1999-05-04 Dolby Laboratories Licensing Corporation Frame-based audio coding with gain-control words
US6081299A (en) * 1998-02-20 2000-06-27 International Business Machines Corporation Methods and systems for encoding real time multimedia data
JP4228407B2 (ja) * 1998-03-04 2009-02-25 ソニー株式会社 情報記録装置及び情報記録方法
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US6574591B1 (en) * 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6665751B1 (en) * 1999-04-17 2003-12-16 International Business Machines Corporation Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state
JP2008072718A (ja) 1999-09-20 2008-03-27 Matsushita Electric Ind Co Ltd 符号化記録装置
US6278387B1 (en) * 1999-09-28 2001-08-21 Conexant Systems, Inc. Audio encoder and decoder utilizing time scaling for variable playback
JP4356046B2 (ja) 1999-10-26 2009-11-04 日本ビクター株式会社 符号化データ記録再生装置、及び符号化データ再生装置
US7523181B2 (en) * 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US6678332B1 (en) * 2000-01-04 2004-01-13 Emc Corporation Seamless splicing of encoded MPEG video and audio
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6976090B2 (en) * 2000-04-20 2005-12-13 Actona Technologies Ltd. Differentiated content and application delivery via internet
WO2002015591A1 (en) * 2000-08-16 2002-02-21 Koninklijke Philips Electronics N.V. Method of playing multimedia data
US6934875B2 (en) * 2000-12-29 2005-08-23 International Business Machines Corporation Connection cache for highly available TCP systems with fail over connections
AU2002247257A1 (en) * 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US6907081B2 (en) * 2001-03-30 2005-06-14 Emc Corporation MPEG encoder control protocol for on-line encoding and MPEG data storage
US20020154691A1 (en) * 2001-04-19 2002-10-24 Kost James F. System and process for compression, multiplexing, and real-time low-latency playback of networked audio/video bit streams
US20030121047A1 (en) * 2001-12-20 2003-06-26 Watson Paul T. System and method for content transmission network selection
US6789123B2 (en) * 2001-12-28 2004-09-07 Microsoft Corporation System and method for delivery of dynamically scalable audio/video content over a network
US20030135509A1 (en) * 2002-01-11 2003-07-17 Davis Andrew Thomas Edge server java application framework having application server instance resource monitoring and management
US7634531B2 (en) * 2002-01-23 2009-12-15 Ali Abdolsalehi Interactive internet browser based media broadcast
US20030151753A1 (en) * 2002-02-08 2003-08-14 Shipeng Li Methods and apparatuses for use in switching between streaming video bitstreams
US7136922B2 (en) * 2002-10-15 2006-11-14 Akamai Technologies, Inc. Method and system for providing on-demand content delivery for an origin server
US20040103444A1 (en) * 2002-11-26 2004-05-27 Neal Weinberg Point to multi-point broadcast-quality Internet video broadcasting system with synchronized, simultaneous audience viewing and zero-latency
US7373416B2 (en) * 2003-04-24 2008-05-13 Akamai Technologies, Inc. Method and system for constraining server usage in a distributed network
US20050108414A1 (en) * 2003-11-14 2005-05-19 Taylor Thomas M. System and method for transmitting data in computer systems using virtual streaming
US7272782B2 (en) * 2003-12-19 2007-09-18 Backweb Technologies, Inc. System and method for providing offline web application, page, and form access in a networked environment
WO2005104551A2 (en) * 2004-04-16 2005-11-03 Modulus Video, Inc. High definition scalable array encoding system and method
US8868772B2 (en) * 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
JP2005341061A (ja) * 2004-05-25 2005-12-08 Ntt Docomo Inc 多重化装置及び多重化方法
WO2006006714A1 (ja) * 2004-07-14 2006-01-19 Seiko Epson Corporation 映像再生同期信号生成方法、映像再生同期信号生成プログラム、タイミング制御装置、映像音声同期再生方法、映像音声同期再生プログラム及び映像音声同期再生装置
US20060206246A1 (en) * 2004-10-28 2006-09-14 Walker Richard C Second national / international management and security system for responsible global resourcing through technical management to brige cultural and economic desparity
US7509021B2 (en) * 2005-06-27 2009-03-24 Streaming Networks (Pvt.) Ltd. Method and system for providing instant replay
KR100726859B1 (ko) 2005-10-31 2007-06-11 엠큐브웍스(주) 오디오 비트 스트림을 보코더 패킷 단위로 전송하는 방법
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
US20070230898A1 (en) * 2006-03-31 2007-10-04 Masstech Group Inc. Random access searching with frame accuracy and without indexing within windows media video
JP2008054159A (ja) 2006-08-28 2008-03-06 Matsushita Electric Ind Co Ltd 映像音声多重化装置
DE102006049154B4 (de) * 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
US20080219151A1 (en) * 2007-03-07 2008-09-11 Nokia Corporation System and method for using a peer to peer mechanism to repair broadcast data in wireless digital broadcast networks
US20090198500A1 (en) * 2007-08-24 2009-08-06 Qualcomm Incorporated Temporal masking in audio coding based on spectral dynamics in frequency sub-bands
US20090257484A1 (en) * 2008-04-15 2009-10-15 Winbond Electronics Corp. Method for audio-video encoding and apparatus for multimedia storage
US8325800B2 (en) * 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020001309A1 (en) * 2000-06-30 2002-01-03 Kabushiki Kaisha Toshiba Multiplexer, multimedia communication apparatus and time stamp generation method
US7574272B2 (en) * 2000-10-13 2009-08-11 Eric Paul Gibbs System and method for data transfer optimization in a portable audio device
US7630612B2 (en) * 2003-02-10 2009-12-08 At&T Intellectual Property, I, L.P. Video stream adaptive frame rate scheme
US20070093206A1 (en) * 2005-10-26 2007-04-26 Prasanna Desai Method and system for an efficient implementation of the Bluetooth® subband codec (SBC)
US20070100607A1 (en) * 2005-11-03 2007-05-03 Lars Villemoes Time warped modified transform coding of audio signals
US20080084925A1 (en) * 2006-10-10 2008-04-10 Mobixell Networks Ltd. Control of video compression based on file size constraint
US20090288111A1 (en) * 2008-05-13 2009-11-19 Samsung Electronics Co., Ltd. Method and apparatus for providing and using content advisory information on internet contents

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109935235A (zh) * 2013-04-05 2019-06-25 杜比国际公司 音频编码器和解码器
US11676622B2 (en) 2013-04-05 2023-06-13 Dolby International Ab Method, apparatus and systems for audio decoding and encoding
CN109935235B (zh) * 2013-04-05 2023-09-26 杜比国际公司 音频编码器和解码器
CN105393516A (zh) * 2013-07-16 2016-03-09 思科技术公司 在自适应流送中用缓冲器和范围约束来进行质量优化
CN105393516B (zh) * 2013-07-16 2018-09-21 思科技术公司 在自适应流送中用缓冲器和范围约束来进行质量优化的方法、装置及计算机可读存储介质
CN105981397A (zh) * 2014-02-10 2016-09-28 杜比国际公司 将编码音频嵌入到传输流中以供用于完美拼接
CN105981397B (zh) * 2014-02-10 2020-06-16 杜比国际公司 将编码音频嵌入到传输流中以供用于完美拼接
CN109564761A (zh) * 2016-08-15 2019-04-02 高通股份有限公司 将经编码的音频帧分组化成经压缩-脉冲编码调制(pcm)(cop)分组以供在pcm接口上传输
CN109564761B (zh) * 2016-08-15 2023-09-01 高通股份有限公司 将经编码的音频帧分组化成经压缩-脉冲编码调制(pcm)(cop)分组以供在pcm接口上传输

Also Published As

Publication number Publication date
BR112012014872A2 (pt) 2016-03-22
AU2010339666A1 (en) 2012-07-19
EP2517121A4 (en) 2016-10-12
EP2517121B1 (en) 2019-06-19
WO2011084823A1 (en) 2011-07-14
IL220482A (en) 2014-11-30
US9338523B2 (en) 2016-05-10
CN106210768B (zh) 2019-04-26
AU2010339666B2 (en) 2014-07-10
CN102713883B (zh) 2016-09-28
SG181840A1 (en) 2012-07-30
US20160240205A1 (en) 2016-08-18
JP2013515401A (ja) 2013-05-02
CA2784779C (en) 2015-11-24
KR101484900B1 (ko) 2015-01-22
US20110150099A1 (en) 2011-06-23
KR20140097580A (ko) 2014-08-06
US20170155910A1 (en) 2017-06-01
US10547850B2 (en) 2020-01-28
BR112012014872B1 (pt) 2020-12-15
MX2012007243A (es) 2013-01-29
US9961349B2 (en) 2018-05-01
CA2784779A1 (en) 2011-07-14
US10230958B2 (en) 2019-03-12
EP2517121A1 (en) 2012-10-31
US9601126B2 (en) 2017-03-21
CN106210768A (zh) 2016-12-07
JP5728736B2 (ja) 2015-06-03
US20190182488A1 (en) 2019-06-13
KR20120101710A (ko) 2012-09-14
US20180234682A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
CN102713883A (zh) 用编解码器强制的帧大小进行音频分割
CN109644292B (zh) 用于混合式媒体内容分发的设备、系统和方法
CN104126175B (zh) 自适应流创建和输送中的虚拟化
US7203758B2 (en) System and method for selective insertion of content into streaming media
US11303382B2 (en) Server selected variable bitrate streaming
CN105165015A (zh) 利用http自适应流的快速信道改变的增强播放列表定义和传递
US20140344852A1 (en) Advanced streaming playback/dynamic ad insertion
CN102740159A (zh) 媒体文件存储格式和自适应传送系统
CN102356605A (zh) 平滑、无状态的客户端媒体流式传输
CN103155514A (zh) 选择性地接收媒体内容
JP7547489B2 (ja) 動的要素置換のためのグループ中の要素の識別
US20240348843A1 (en) Systems and methods for optimizing a set-top box to retrieve missed content
CN101483542B (zh) 一种对网络流媒体音视频的多维度的访问量统计方法
CN101080017B (zh) 一种附加节目播放系统及方法
Bomcke et al. An interactive video streaming architecture for H. 264/AVC compliant players

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: American Colorado

Applicant after: Digital Corp.

Address before: American Colorado

Applicant before: ECHOSTAR ADVANCED TECHNOLOGIES LLC

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: ECHOSTAR ADVANCED TECHNOLOGIES LLC TO: DCOM NUMERICAL DIGIT CORP.

ASS Succession or assignment of patent right

Owner name: ECHOSTAR BROADBAND LLC

Free format text: FORMER OWNER: DCOM NUMERICAL DIGIT CORP.

Effective date: 20141114

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

Effective date of registration: 20141114

Address after: American Colorado

Applicant after: ECHOSTAR TECHNOLOGIES LLC

Address before: American Colorado

Applicant before: Digital Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American Colorado

Patentee after: DISH Technologies LLC

Address before: American Colorado

Patentee before: ECHOSTAR TECHNOLOGIES LLC

CP01 Change in the name or title of a patent holder