一种测试音频解码程序的方法和装置的制作方法

文档序号:2823620阅读:200来源:国知局
专利名称:一种测试音频解码程序的方法和装置的制作方法
技术领域
本发明涉及数字程序测试技术领域,特别是涉及一种测试音频解码程序的方法和装置。
背景技术
随着数字信号处理技术的不断发展,各种音视频信号的应用范围也越来越广。通 常用在数字多媒体上的解码器包括视频解码器和音频解码器。数字媒体的图象和声音都 是使用特殊的软件编码格式,像视频的mpeg4,音频的mp3,ac3, dts等,这些编码器可以将 原始数据压缩存放,所列举的都是常用的编码格式,还有些专业的编码格式,一般来说在 家庭设备基本不会用到。家用设备或者电脑上重放这些视频和音频则需要相应的对其进 行解码,使用相应的解码软件,也称为插件。比如mpeg4解码插件ffdshow,ac3解码插件 ac3fliter等。装有相应解码插件的电脑可以重播这些图像和声音。简单来说,音频解码可以理解为一种解码音频的解码器,音频解码方式有硬件解 码和软件解码两种,硬件解码是通过相应的音频芯片直接解码,一般都会在系统软件上集 成音乐;软件解码就是通过CPU的运算进行音频解码来实现MP3的播放,内置开放式操作系 统的智能手机多数采用这种方法,并且,音频解码实质上来说是通过解码程序来实现的,然 而为了保证音频解码的正常实现,往往需要对完成音频解码的程序进行一定的测试。目前,一种测试音频解码程序的实现方法具体为利用标准的音频解码程序将测 试样本库解码,形成一个标准的音频文件库,再用待检测的音频解码程序对测试样本库解 码,形成另一个音频文件库,在PC机上用一个比较软件实现两个音频文件库的比较,以一 个.wma文件为例进行简单说明,.wma文件的压缩比大约在20 1-28 1之间,一个2.5G 的测试样本库的解码文件占用的存储资源大约在50G-70G之间,两个样本库进行比较,则 需要的最小硬件存储资源在100G-140G之间,如果测试样本库更大,则所需要的资源会更 多,很显然,存储资源较大,对存储空间的要求比较高,而且也需要很长时间进行传送,所需 的代价过大。因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够创新地 提出一种测试音频解码程序的方法和装置,以解决这种测试中需要很大存储空间和时间的 问题,有效降低资源消耗的同时保证工作快速顺利的进行。

发明内容
本发明所要解决的技术问题是提供一种测试音频解码程序的方法和装置,用以在 保证测试音频解码程序工作顺利进行的同时,减少测试所需的空间和时间。为了解决上述问题,本发明公开了一种测试音频解码程序的方法,所述方法包 括移植步骤,将标准解码程序和待测试解码程序移植到芯片上;解码步骤,用所移植的标准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一帧;所 述解码按照音频文件中各帧的先后顺序进行;输出步骤,将音频文件中每一帧的比较结果整合在一起,计算出标准解码程序和 待测试解码程序解码的差异度,将其输出。优选的,所述解码步骤具体包括以下子步骤标准解码子步骤,用所移植的标准解码程序解码音频文件的每一帧,并将每一帧 的解码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序进 行;待测试解码子步骤,用所移植的待测试解码程序解码音频文件的每一帧,并将每 一帧的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺 序进行;解码结果比较子步骤,在标准解码程序和待测试解码程序解码完每一帧后将其进 行比较,并记录其比较结果。优选的,所述标准解码程序和待测试解码程序中的全局变量和函数所采用不同的 名称。优选的,所述解码结果进行比较是通过采用比较程序来完成的。优选的,所述方法还包括传送步骤,将音频文件传送到芯片中;所述传送采用每次传送一帧或几帧音频信 息的方式进行。优选的,所述传送过程中所传送的音频信息会覆盖前一次传送的音频信息。优选的,所述解码完每一帧进行保存时会覆盖已经完成记录比较结果的前一帧的 解码结果。本发明还公布了一种测试音频解码程序的装置,所述装置包括移植模块,用于将标准解码程序和待测试解码程序移植到芯片上;解码模块,用于用所移植的标准解码程序和待测试解码程序分别解码音频文件的 每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一 帧;所述解码按照音频文件中各帧的先后顺序进行;输出模块,用于将音频文件中每一帧的比较结果整合在一起,计算出标准解码程 序和待测试解码程序解码的差异度,将其输出。优选的,所述解码模块包括以下子模块标准解码子模块,用于用所移植的标准解码程序解码音频文件的每一帧,并将每 一帧的解码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺 序进行;待测试解码子模块,用于用所移植的待测试解码程序解码音频文件的每一帧,并 将每一帧的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各帧的先 后顺序进行;解码结果比较子模块,用于在标准解码程序和待测试解码程序解码完每一帧后将 其进行比较,并记录其比较结果。优选的,所述装置还包括
传送模块,用于将音频文件传送到芯片中;所述传送采用每次传送一帧或几帧音 频信息的方式进行。与现有技术相比,本发明具有以下优点首先,本发明通过将标准解码程序和待测试解码程序移植到芯片上,用所移植的 标准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后分别保存解 码结果并将其进行比较,记录比较结果后再解码下一帧,所述解码按照音频文件中各帧的 先后顺序进行,将音频文件中每一帧的比较结果整合在一起,计算出标准解码程序和待测 试解码程序解码的差异度,将其输出,从而在保证测试音频解码程序有效完成的同时极大 的减小了测试所需的空间资源。其次,本发明在两个解码程序每解码完一帧后将其进行保存和比较,并且解码完 每一帧进行保存时覆盖已经完成记录比较结果的前一帧的解码结果,进一步节省了大量的 空间资源,同时,解码完每一帧后直接将其进行比较极大的减少了数据传输所需的时间。


图1是本发明实施例一所述的一种测试音频解码程序的方法流程图;图2是本发明实施例二所述的一种测试音频解码程序的装置结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。数字信号处理技术的不断发展,促使各种音视频信号的应用范围不断扩展,实际 应用中往往需要对音频解码程序进行测试,如果能够找到一种快速有效的方法帮助完成音 频解码程序的测试的同时减少测试音频解码程序所需的大量存储空间,那么测试音频解码 程序的工作将会变得容易很多,并且能够极大的提高测试效率。因此,本专利发明人创造性地提出了本发明实施例的核心构思之一,即提供一种 测试音频解码程序的方法和装置,通过将标准解码程序和待测试解码程序移植到芯片上, 用所移植的标准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后 分别保存解码结果并将其进行比较,记录比较结果后再解码下一帧,所述解码按照音频文 件中各帧的先后顺序进行,将音频文件中每一帧的比较结果整合在一起,计算出标准解码 程序和待测试解码程序解码的差异度,将其输出。实施例一参照图1,示出了本发明的一种测试音频解码程序的方法流程图,所述方法具体包 括 SlOl移植步骤,将标准解码程序和待测试解码程序移植到芯片上;优选的,所述标准解码程序和待测试解码程序中的全局变量和函数所采用不同的 名称。实际应用中,通过创建一个工程,将标准解码程序和待测试解码程序都移植到芯 片上,也就是说要把两个工程合并到一个工程里面,在这个过程中要保证全局变量和函数 不能同名,这样就可以实现对同一个输入文件用两种解码函数进行解码,准确的来讲,是用标准解码程序和待测试解码程序这两种解码程序对同一音频文件进行解码。S102解码步骤,用所移植的标准解码程序和待测试解码程序分别解码音频文件的 每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一 帧;所述解码按照音频文件中各帧的先后顺序进行;优选的,所述解码步骤具体包括以下子步骤Sl标准解码子步骤,用所移植的标准解码程序解码音频文件的每一帧,并将每一 帧的解码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序 进行;S2待测试解码子步骤,用所移植的待测试解码程序解码音频文件的每一帧,并将 每一帧的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各帧的先后 顺序进行;S3解码结果比较子步骤,在标准解码程序和待测试解码程序解码完每一帧后将其 进行比较,并记录其比较结果。优选的,所述解码完每一帧进行保存时会覆盖已经完成记录比较结果的前一帧的 解码结果。优选的,所述解码结果进行比较是通过采用比较程序来完成的。以实际应用中的音频文件第一帧的所涉及的测试进行介绍,输入音频文件以一个 1. wma文件为例解码器都是按帧进行解码的,先用标准解码程序中的WMA_DEC_MAIN()函数将 l.wma的第一帧进行解码,解码结果存在第一存储区outbuf中;再用待测试解码程序中的 gF_WMA_DEC_MAIN()函数对1. wma的第一帧进行解码,解码结果存在第二存储区gV_outbuf 中;写一个比较程序,比较outbuf与gV_outbuf的内容并记录,从而完成了第一帧的 测试,同样的进行第二帧、第三帧等等其它各帧的解码、比较和记录直到音频文件中各帧都 完成解码、比较和记录。S103输出步骤,将音频文件中每一帧的比较结果整合在一起,计算出标准解码程 序和待测试解码程序解码的差异度,将其输出。将音频文件的每一帧的比较结果整合在一起,计算出所述音频文件分别用两种解 码程序解码的差异是多少,可简称为差异度,并将这个数据保存输出到PC机或其他的存储 位置,通过比较的结果就可以知道待测试的解码程序是否达到了要求,从而完成了测试工作。优选的,所述方法还包括S104传送步骤,将音频文件传送到芯片中;所述传送采用每次传送一帧或几帧音 频信息的方式进行。优选的,所述传送过程中所传送的音频信息会覆盖前一次传送的音频信息。测试中,可根据实际环境确定传送音频文件的帧数,如每次传送一帧、两帧或者三 帧到芯片上,所述芯片与标准解码程序和待测试解码程序移植到的芯片是同一芯片,具体 来说,芯片可以是DSP、FPGA等等的芯片。每次传送都会用当前上传的帧数覆盖之前上传的 帧数,所述的之前上传的帧数在当前上传时已经完成了解码、保存比较和记录。需要说明的
7是,为方便理解在介绍时采用一帧音频文件进行介绍,实际应用中音频文件的上传、读取、 解码、解码结果的保存和比较是连贯的通过循环实现的,在每个循环内执行时读入1帧的 音频文件,解码1帧的信息,保存1帧的信息,比较1帧的结果;或者是读入η帧,解码η帧 的信息,保存η帧的信息,比较η帧的结果(η可以大于等于2),基于芯片存储空间的考虑, 实际中一般所传送的音频文件的帧数也不会太多。实施例二 参照图2,示出了本发明的一种测试音频解码程序的装置结构图,所述装置包括移植模块201,用于将标准解码程序和待测试解码程序移植到芯片上;解码模块202,用于用所移植的标准解码程序和待测试解码程序分别解码音频文 件的每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码 下一帧;所述解码按照音频文件中各帧的先后顺序进行;优选的,所述解码模块202包括以下子模块标准解码子模块2021,用于用所移植的标准解码程序解码音频文件的每一帧,并 将每一帧的解码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先 后顺序进行;待测试解码子模块2022,用于用所移植的待测试解码程序解码音频文件的每一 帧,并将每一帧的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各 帧的先后顺序进行;解码结果比较子模块2023,用于在标准解码程序和待测试解码程序解码完每一帧 后将其进行比较,并记录其比较结果。输出模块203,用于将音频文件中每一帧的比较结果整合在一起,计算出标准解码 程序和待测试解码程序解码的差异度,将其输出。优选的,所述装置还包括传送模块204,用于将音频文件传送到芯片中;所述传送采用每次传送一帧或几 帧音频信息的方式进行。输出模块203,用于将音频文件中每一帧的比较结果整合在一起,实现中,通过移 植模块201将标准解码程序和待测试解码程序移植到芯片上,解码模块202用所移植的标 准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后分别保存解码 结果并将其进行比较,记录比较结果后再解码下一帧,计算出标准解码程序和待测试解码 程序解码的差异度,将其输出,从而在保证测试音频解码程序有效完成的同时极大的减小 了测试所需的空间资源和时间资源。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。以上对本发明所提供的一种测试音频解码程序的方法和装置进行了详细介绍,本 文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于 帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思 想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
一种测试音频解码程序的方法,其特征在于,所述方法包括移植步骤,将标准解码程序和待测试解码程序移植到芯片上;解码步骤,用所移植的标准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一帧;所述解码按照音频文件中各帧的先后顺序进行;输出步骤,将音频文件中每一帧的比较结果整合在一起,计算出标准解码程序和待测试解码程序解码的差异度,将其输出。
2.根据权利要求1所述的方法,其特征在于,所述解码步骤具体包括以下子步骤标准解码子步骤,用所移植的标准解码程序解码音频文件的每一帧,并将每一帧的解 码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序进行;待测试解码子步骤,用所移植的待测试解码程序解码音频文件的每一帧,并将每一帧 的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序进 行;解码结果比较子步骤,在标准解码程序和待测试解码程序解码完每一帧后将其进行比 较,并记录其比较结果。
3.根据权利要求2所述的方法,其特征在于所述标准解码程序和待测试解码程序中的全局变量和函数所采用不同的名称。
4.根据权利要求2所述的方法,其特征在于所述解码结果进行比较是通过采用比较程序来完成的。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括传送步骤,将音频文件传送到芯片中;所述传送采用每次传送一帧或几帧音频信息的 方式进行。
6.根据权利要求5所述的方法,其特征在于所述传送过程中所传送的音频信息会覆盖前一次传送的音频信息。
7.根据权利要求1所述的方法,其特征在于所述解码完每一帧进行保存时会覆盖已经完成记录比较结果的前一帧的解码结果。
8.—种测试音频解码程序的装置,其特征在于,所述装置包括移植模块,用于将标准解码程序和待测试解码程序移植到芯片上;解码模块,用于用所移植的标准解码程序和待测试解码程序分别解码音频文件的每一 帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一帧;所 述解码按照音频文件中各帧的先后顺序进行;输出模块,用于将音频文件中每一帧的比较结果整合在一起,计算出标准解码程序和 待测试解码程序解码的差异度,将其输出。
9.根据权利要求8所述的装置,其特征在于,所述解码模块包括以下子模块标准解码子模块,用于用所移植的标准解码程序解码音频文件的每一帧,并将每一帧 的解码结果保存到第一存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序进 行;待测试解码子模块,用于用所移植的待测试解码程序解码音频文件的每一帧,并将每 一帧的解码结果保存到第二存储区;所述解码从音频文件的第一帧开始按照各帧的先后顺序进行;解码结果比较子模块,用于在标准解码程序和待测试解码程序解码完每一帧后将其进 行比较,并记录其比较结果。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括 传送模块,用于将音频文件传送到芯片中;所述传送采用每次传送一帧或几帧音频信 息的方式进行。
全文摘要
本发明提供了一种测试音频解码程序的方法和装置,通过将标准解码程序和待测试解码程序移植到芯片上,用所移植的标准解码程序和待测试解码程序分别解码音频文件的每一帧,解码完每一帧后分别保存解码结果并将其进行比较,记录比较结果后再解码下一帧,所述解码按照音频文件中各帧的先后顺序进行,将音频文件中每一帧的比较结果整合在一起,计算出标准解码程序和待测试解码程序解码的差异度,将其输出,从而在保证测试音频解码程序有效完成的同时极大的减小了测试所需的空间资源,节省了大量的时间资源。
文档编号G10L19/00GK101894556SQ20101019153
公开日2010年11月24日 申请日期2010年5月26日 优先权日2010年5月26日
发明者杨彦彦 申请人:北京红旗胜利科技发展有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1