自适应音频代码转换的制作方法

文档序号:2832746阅读:213来源:国知局
专利名称:自适应音频代码转换的制作方法
技术领域
本发明总体上涉及音频/视频托管系统,并且更具体地涉及一种用于基于音频流内容特性的音频流的自适应代码转换的音频代码转换系统。
背景技术
多媒体内容托管服务诸如YOUTUBE允许用户将视频与它们的对应音频流一起发布。音频流可以是压缩或者未压缩的、包括FLAC、WAV、MP3、AAC、OGG等的许多音频文件格式之一。大多数媒体内容托管服务将源音频流从它的固有格式(例如,FLAC)代码转换成客户端回放(playback)设备请求的文件格式(例如,WAV)。音频流的音频代码转换也可以包括减少音频流的比特率、减少音频流的采样速率、压缩音频流、减少由音频数据代表的音频通道的数目或者这些过程的组合。代码转换可以用来减少存储要求并且也减少用于向客户端供应音频流的带宽要求。在为具有数以百万计音频的多媒体托管服务设计音频代码转换系统时的一个挑战是在可接受的声音质量与减少的比特率之间的平衡折衷下代码转换并且存储音频。常规音频代码转换系统无论音频流的内容特性如何改变都使用固定目标比特率和/或固定采样速率以代码转换多个音频流。然而,考虑大型音频全集的情况,音频流在比特率、采样速率、通道的数目和内容复杂性(例如,音乐或者话音)方面而有所不同。用相同目标比特率和采样速率对每个音频流编码未必在每个情况下产生可接受的声音质量。向具有不同内容特性的两个音频流应用的相同目标比特率造成不同声音质量。使用固定目标比特率对具有变化的内容特性的音频流编码劣化了用于多媒体托管服务的常规音频代码转换系统所处理的声音质量。

发明内容
一种方法、系统和计算机程序产品,提供音频流的自适应代码转换,该代码转换基于用于多媒体托管服务的音频流的音频内容特性。在一个实施例中,自适应音频代码转换方法接收用于代码转换的源音频流。自适应音频代码转换方法提取源音频流的元数据,其中源音频流的元数据描述源音频流的音频内容特性。自适应音频代码转换方法基于源音频流的置信度得分将源音频流分类为若干音频内容类别之一。音频内容类别使用诸如话音、音乐、电影或者甚至音乐流派之类的类别来代表音频内容的语义方面。源音频流的更高置信度得分指示源音频流是特定类型诸如话音音频流的更高概率。自适应音频代码转换方法基于源音频流的元数据和分类来确定源音频流的代码转换参数,例如,目标比特率和目标采样速率。自适应音频代码转换方法使用代码转换参数来代码转换源音频流并且输出代码转换的音频流。在另一实施例中,自适应音频代码转换系统包括音频流元数据提取模块、音频流分类模块、自适应音频编码器和自适应音频代码转换器。音频流元数据提取模块被配置成提取音频流的元数据,并且元数据描述音频流的音频内容特性。音频流分类模块被配置成基于提取的元数据对音频流进行分类。自适应音频编码器被配置成基于提取的元数据和分类来确定音频代码转换参数,例如,目标比特率和采样速率。自适应音频代码转换器被配置成使用音频代码转换参数来代码转换音频流。在说明书中描述的特征和优点并非囊括性的,并且特别是许多附加特征和优点将按照附图、说明书和权利要求书为本领域普通技术人员所清楚。因而,本说明书旨在于举例说明而不是限制在所附权利要求中阐述的本发明的范围。


图1是图示了具有自适应音频代码转换系统的音频/视频托管服务的系统视图的框图。图2是自适应音频代码转换系统的功能模块的框图。图3是使用图2中所示功能模块的自适应地代码转换音频流的流程图。附图仅出于示例的目的而描绘本发明的各种实施例,并且本发明不限于这些所示实施例。本领域技术人员根据下文讨论将容易认识到可以运用这里所示结构和方法的备选实施例而不脱离这里描述的本发明的原理。
具体实施例方式1.系统概况图1是具有自适应音频代码转换系统200的音频/视频托管服务100的系统视图的框图。多个用户/查看者使用客户端110A-N向音频/视频托管服务100发送音频/视频托管请求、比如将视频与它们的关联音频流一起向视频托管网站上传、并且从音频/视频托管服务100接收所请求的服务。音频/视频托管服务100经由网络130与一个或者多个客户端110通信。音频/视频托管服务100从客户端110接收音频/视频托管服务请求、通过自适应音频代码转换系统200代码转换源音频流并且向客户端110返回经代码转换的源音频流。转向图1上图示的个体实体,每个客户端110由用户用来请求音频/视频托管服务。例如,用户使用客户端110以发送用于上传视频及其关联音频流,以用于共享或者用于将视频与它的关联音频流一起播放的请求。客户端110可以是任何类型的计算机设备,诸如个人计算机(例如,台式、笔记本、膝上型)计算机以及诸如移动电话、个人数字助理、具有IP功能的视频播放器之类的设备。客户端10通常包括处理器、显示设备(或者向显示设备的输出)、客户端110将用户在执行任务时使用的数据存储到的本地储存器诸如硬驱动或者闪存设备和用于经由网络130耦合到系统100的网络接口。客户端110也具有用于将视频流与它的关联音频流一起播放的音频/视频播放器120 (例如,来自Adobe Systems公司的FlashTM播放器或者专有播放器)。音频/视频播放器120可以是独立应用、向另一应用诸如网络浏览器的插件或者客户端的操作系统/环境的固有支持的特征。当客户端110是通用设备(例如,台式计算机、移动电话)时,播放器120通常被实现为由计算机执行的软件。当客户端110为专用设备(例如,专用音频/视频播放器)时,可以在硬件或者硬件与软件的组合中实现播放器120。所有这些实现就本发明而言在功能上等效。播放器120包括用于选择音频馈送、开始、停止和倒回音频馈送的用户接口控件(和对应应用编程接口)。播放器120也可以在它的用户接口中包括配置成指示多少音频通道用来回放音频流的音频通道选择(例如,单通道单声道声音或者多通道立体声声音)。其它类型的用户接口控件(例如,按钮、键盘控件)也可以用来控制播放器120的回放和音频通道选择功能。网络130启用在客户端110与音频/视频托管服务100之间的通信。在一个实施例中,网络130是因特网并且使用现在已知或者以后开发的标准化网际联网通信技术和协议,这些技术和协议使客户端110能够与音频/视频托管服务100通信。音频/视频托管服务100包括自适应音频代码转换系统200、音频/视频服务器104和音频/视频数据库106。音频/视频服务器104接收用户上传的音频/视频并且在音频/视频数据库106中存储音频/视频。音频/视频服务器104也响应于用户音频/视频托管服务请求来供应来自音频/视频数据库106的音频/视频。音频/视频数据库106存储用户上传的音频文件和由自适应音频代码转换系统200代码转换的音频文件。可以使用单个计算机或者包括基于云的计算机实现的计算机网络来实现服务100。计算机优选地是服务器类计算机,这些计算机包括一个或者多个高性能CPU和IG或者更多主存储器以及500Gb至2TB计算机可读的持久储存器,并且运行操作系统诸如LINUX或者其变体。可以通过硬件或者通过安装于计算机储存器中并且由这样的服务器的处理器执行的计算机程序控制如这里描述的服务100的操作以执行这里描述的功能。服务100包括这里描述的操作所必需的其它硬件单元,这些硬件单元包括网络接口和协议、用于数据录入的输入设备和用于数据的显示、打印或者其它呈现的输出设备。自适应音频代码转换系统200包括音频流元数据提取模块210、音频流分类模块220、自适应音频编码器230和自适应音频代码转换器240。对于源音频流,音频流元数据提取模块210提取音频流信息。这一音频流信息被称为“源音频流的元数据”,并且源音频流的元数据描述源音频流的音频内容特性,例如,音频内容的语义类型。音频流分类模块220基于源音频流的元数据将源音频流分类成若干音频流内容类别中的一个类别;音频内容类别例如可以包括话音和音乐或者其它在语义上令人感兴趣的内容类型。就这一点而言,音频内容类别继而区别于描述音频内容的格式的其它元数据,诸如其文件类型、编码器类型等。自适应音频编码器230基于源音频流的元数据和分类确定音频编码参数。自适应音频代码转换器240使用确定的代码转换参数来代码转换源音频流。作为有益结果,用减少的比特率代码转换每个源音频流而又维持它的良好声音质量。在本说明书中,术语“模块”指代用于提供指定功能的计算逻辑。可以在硬件、固件和/或软件中实现模块。将理解,这里描述的具名模块代表本发明的一个实施例,并且其它实施例可以包括其它模块。此外,其它实施例可以不存在这里描述的模块和/或以不同方式在模块之中分布所描述的功能。此外,从属于多个模块的功能可以并入于单个模块中。当这里描述的模块被实现为软件时,模块可以实现为独立程序、但是也可以通过其它手段来实现、例如实现为更大程序的一部分、实现为多个单独程序或者实现为一个或者多个静态或者动态链接库。在这些软件实现中的任何软件实现中,模块存储于服务100的计算机可读持久存储设备上、向存储器中加载并且由服务的计算机的一个或者多个处理器执行。下文将参照图2和其余附图进一步描述系统200及其模块的操作。11·自适应咅频代码转换
音频流中的可变内容特性造成音频流中包含的各种信息量。考虑音频/视频托管服务的大型音频全集情况,用固定目标比特率和/或固定采样速率对每个音频流编码未必在每个情况下产生可接受的声音质量。向具有不同内容特性的音频流应用相同目标比特率造成不同声音质量。向话音音频流应用目标比特率可以产生良好声音质量。向音乐音频流应用相同目标比特率可能由于待编码的复杂音频内容而造成不良声音质量。忽略音频内容特性和编码复杂性对代码转换音频流的影响劣化了经代码转换的音频的声音质量和用户体验。用可接受的声音质量代码转换音频流需要基于源音频流的内容特性有效调整待使用的目标比特率和/或采样速率。图2是图1中所示的自适应音频代码转换系统200的功能模块的框图。自适应音频代码转换系统200包括音频流元数据提取模块210、音频流分类模块220、自适应音频编码器230和自适应音频代码转换器240。自适应音频代码转换系统200接收源音频流202并且使用由代码转换系统200的功能模块确定的目标比特率和采样速率来代码转换源音频 202。音频流元数据提取模块210被配置成提取源音频流202的元数据并且是一种用于执行这一功能的手段。源音频流202的元数据描述源音频流202的内容特性。例如,源音频流202的元数据可以包括源音频流202的以下参数audio_codec_id :用来压缩源音频流的音频编码器/解码器的标识;audio_bitrate :用来对源音频流编码的比特率;audio_sample_rate :用来对源音频流编码的采样速率;audio_channels :用来代表源音频流的通道的数目;audio_frame_size :源音频流的音频巾贞的大小;num_audio_stream :源音频流中的嵌入音频流的数目;audio_num_of_frames :源音频流中的音频巾贞的数目;audio_confidence_score :源音频流的置信度得分。音频流分类模块220被配置成将源音频流202分类成若干音频内容类别中的一个类别并且是一种用于执行这一功能的手段。音频流的分类除了音频流的元数据之外还还指示它的内容特性,并且音频分类可以由自适应音频代码转换系统200用来调整用于代码转换音频流的目标比特率和采样速率。在一个实施例中,音频内容类别包括在语义上有用的类别,比如音乐和话音。音频流分类模块220基于音频流的置信度得分对它进行分类。置信度得分范围从O至1. 0,并且更高置信度得分指示音频流更可能是话音音频流。例如,用于音频流的逼近I的置信度得分指示音频流最可能是话音音频流。在另一示例中,用于音频流的逼近O的置信度得分指示音频流最可能是音乐音频流。当然,在其它实施例中,分类模块的操作可以被配置成使分数I指示音乐而分数O指示话音。给定源音频流202的置信度得分,音频流分类模块220将置信度得分与阈值进行比较。如果置信度得分大于或者等于阈值,则音频流分类模块220将源音频流202分类为话音音频流。将置信度得分小于阈值的源音频流分类为音乐音频流。在一个实施例中,阈值被设置成默认值O. 6。音频内容流类别可以包括其它音频内容类别,比如作为音乐与话音的组合的电影或者音乐流派诸如经典、摇滚、爵士、非电声(acoustic)等等。音乐与话音的组合还可以分类为重叠和非重叠。在重叠情况下,源音频流的音乐优先于用于音频流的话音。在非重叠情况下,可以用更粒度化的方式扩展音乐-话音分类。例如,对于100秒持续时间的源音频流,前50秒用于话音,51-75秒用于音乐,并且最后25秒再次用于话音。其它音频流类别可以包括噪声和静默。为了进一步举例说明音频流分类模块220的音频流分类,以下伪代码代表上文描述的音频流分类的一个实施例//音频流分类//
权利要求
1.一种用于自适应地代码转换音频/视频托管服务的源音频流的计算机系统,所述系统包括 音频流元数据提取模块,被配置成提取所述源音频流的元数据,所述源音频流的所述元数据描述所述源音频流的音频内容特性; 音频流分类模块,被配置成基于所述源音频流的所述元数据将所述源音频流分类成多个音频内容类别之一,所述音频流分类模块耦合到所述音频流元数据提取模块; 自适应音频编码器,被配置成基于所述源音频流的所述元数据和分类来确定一个或者多个代码转换参数,所述自适应音频编码器耦合到所述音频流元数据提取模块和所述音频流分类模块;以及 自适应音频代码转换器,被配置成使用所述代码转换参数将所述源音频流代码转换成输出音频流,并且所述自适应音频代码转换器耦合到所述自适应音频编码器。
2.根据权利要求I所述的系统,其中所述源音频流的所述元数据包括输入目标比特率、输入采样速率、音频通道的数目和置信度得分。
3.根据权利要求I所述的系统,其中所述多个音频内容类别包括话音和音乐。
4.根据权利要求I所述的系统,其中所述音频流分类模块还被配置成基于所述源音频流的置信度得分对所述源音频流进行分类。
5.根据权利要求4所述的系统,其中所述音频流分类模块还被配置成将所述源音频流的所述置信度得分与预定置信度阈值进行比较。
6.根据权利要求I所述的系统,其中所述自适应音频编码器还被配置成基于所述源音频流的所述输入比特率和输入采样速率来确定目标比特率。
7.根据权利要求6所述的系统,其中所述自适应音频编码器还被配置成线性缩放所述源音频流的所述输入比特率和输入采样速率以确定所述目标比特率。
8.根据权利要求7所述的系统,其中所述自适应音频编码器还被配置成基于所述源音频流的通道的数目来调整所述目标比特率。
9.根据权利要求7所述的系统,其中所述自适应音频编码器还被配置成基于所述源音频流的所述分类来调整所述目标比特率。
10.根据权利要求7所述的系统,其中所述自适应音频编码器还被配置成基于所述源音频流的所述通道的数目和所述分类来调整所述目标比特率。
11.一种用于自适应地代码转换音频/视频托管服务的源音频流的方法,所述方法由计算机系统执行并且包括 接收所述源音频流; 提取所述源音频流的元数据,所述源音频流的所述元数据描述所述源音频流的音频内容特性; 基于所述源音频流的所述元数据将所述源音频流分类成多个音频内容类别之一; 基于所述源音频流的所述元数据和分类来确定一个或者多个代码转换参数;以及 使用所述代码转换参数将所述源音频流代码转换成输出音频流。
12.根据权利要求11所述的方法,其中所述源音频流的所述元数据包括输入目标比特率、输入采样速率、音频通道的数目和置信度得分。
13.根据权利要求11所述的方法,其中所述多个音频内容类别至少包括话音和音乐。
14.根据权利要求11所述的方法,其中对所述源音频流进行分类包括基于所述源音频流的置信度得分对所述源音频流进行分类。
15.根据权利要求14所述的方法,其中对所述源音频流进行分类还包括将所述源音频流的所述置信度得分与预定置信度阈值进行比较。
16.根据权利要求11所述的方法,其中确定一个或者多个代码转换参数包括基于所述源音频流的所述输入比特率和输入采样速率来确定目标比特率。
17.根据权利要求16所述的方法,其中确定一个或者多个代码转换参数还包括线性缩放所述源音频流的所述输入比特率和输入采样速率以确定所述目标比特率。
18.根据权利要求17所述的方法,其中确定一个或者多个代码转换参数还包括基于所述源音频流的通道的数目来调整所述目标比特率。
19.根据权利要求17所述的方法,其中确定一个或者多个代码转换参数还包括基于所述源音频流的所述分类来调整所述目标比特率。
20.根据权利要求17所述的方法,其中确定一个或者多个代码转换参数还包括基于所述源音频流的所述通道的数目和所述分类来调整所述目标比特率。
21.一种具有计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有记录于其上的可执行计算机程序指令,所述可执行计算机程序指令用于自适应地代码转换音频/视频托管服务的源音频流,所述计算机程序指令配置计算机系统以包括 音频流元数据提取模块,被配置成提取源音频流的元数据,所述源音频流的所述元数据描述所述源音频流的音频内容特性; 音频流分类模块,被配置成基于所述源音频流的所述元数据将所述源音频流分类成多个音频内容类别之一,所述音频流分类模块耦合到所述音频流元数据提取模块; 自适应音频编码器,被配置成基于所述源音频流的所述元数据和分类来确定一个或者多个代码转换参数,所述自适应音频编码器耦合到所述音频流元数据提取模块和所述音频流分类模块;以及 自适应音频代码转换器,被配置成使用所述代码转换参数将所述源音频流代码转换成输出音频流,并且所述自适应音频代码转换器耦合到所述自适应音频编码器。
22.根据权利要求21所述的计算机程序产品,其中所述自适应音频编码器还被配置成基于所述源音频流的输入比特率和输入采样速率来确定目标比特率。
23.根据权利要求22所述的计算机程序产品,其中所述自适应音频编码器还被配置成线性缩放所述源音频流的所述输入比特率和输入采样速率以确定所述目标比特率。
24.根据权利要求22所述的计算机程序产品,其中所述自适应音频编码器还被配置成基于所述源音频流的通道的数目调整所述目标比特率。
25.根据权利要求22所述的计算机程序产品,其中所述自适应音频编码器还被配置成基于所述源音频流的所述分类来调整所述目标比特率。
26.根据权利要求22所述的计算机程序产品,其中所述自适应音频编码器还被配置成基于所述源音频流的所述通道的数目和所述分类来调整所述目标比特率。
全文摘要
一种系统和方法,提供用于基于音频流的内容特性而自适应地代码转换音频流的音频/视频编码系统。系统的音频流元数据提取模块被配置成提取源音频流的元数据。系统的音频流分类模块被配置成基于源音频流的元数据将源音频流分类成若干音频内容类别之一。系统的自适应音频编码器被配置成基于源音频流的元数据和分类来确定包括目标比特率和采样速率的一个或者多个代码转换参数。系统的自适应音频代码转换器被配置成使用代码转换参数将源音频流代码转换成输出音频流。
文档编号G10L19/16GK102985967SQ201180019611
公开日2013年3月20日 申请日期2011年11月1日 优先权日2010年11月2日
发明者易小泉, 王会胜, V·沙斯特里 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1