专利名称:用于实现aqmf处理的方法、和用于实现sqmf处理的方法
技术领域:
本发明涉及嵌入式音频设备领域,更具体地涉及用于实现AQMF处理的方法、以及用于实现SQMF处理的方法。
背景技术:
目前,手持设备已经是普及率非常高的嵌入式设备,而音频解码器是手持设备的必备功能。对于手持设备的主CPU (中央处理单元)来说,音频解码器的计算是ー项负担沉重的任务。而在音频解码器中运算量最大的就是时频域的变换部分,特别是SBR(频带复制)解码器中的AQMF (分析正交镜像滤波)处理与SQMF (综合正交镜像滤波)处理,几乎占用了超过60 %的解码时间。在很多情况下,手持设备通过其中包含的带有DSP (数字信号处理)功能的附加CPU来完成音频解码器的计算任务。这造成了手持设备的制造成本较高且开发时间较长的问题。
发明内容
鉴于以上所述的问题,本发明提供了ー种用于实现AQMF处理的方法、以及ー种用于实现SQMF处理的方法。根据本发明实施例的用于实现AQMF处理的方法,包括CPU将当前需要进行AQMF 处理的音频数据帧包括的数据元素排列为数据元素矩阵input_data_new,并将在当前需要进行AQMF处理的音频数据帧之前进行AQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵input_data_old ;GPU利用数据元素矩阵input_data_new、数据元素矩阵input_ data_old,以及多个窗系数来实现对当前需要进行AQMF处理的音频数据帧的AQMF处理。根据本发明实施例的用于实现SQMF处理的方法,包括CPU将当前需要进行SQMF 处理的音频数据帧包括的数据元素排列为数据元素矩阵X_new ;GPU利用数据元素矩阵X_ new, GPU中存储的作为在当前需要进行SQMF处理的音频数据帧之前进行SQMF处理的音频数据帧的QMF处理结果的数据元素矩阵y_old、以及多个窗系数,来实现对当前需要进行 SQMF处理的音频数据帧的SQMF处理。根据本发明实施例的用于实现AQMF处理的方法和用于实现SQMF处理的方法利用 GPU的并行处理能力,通过调用OpenGL ES 2. OAPI (应用程序接ロ)实现了对于音频数据的并行处理,从而加速了实现AQMF处理和SQMF处理的运算过程。
从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其中图1示出了根据本发明实施例的用于实现AQMF处理的方法的示例性流程图;图2示出了根据本发明实施例的用于实现SQMF处理的方法的示例性流程图;以及图3示出了通过GPU实现的运算过程的示意图。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是, 本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。当前,越来越多的手持设备具有内置GPU (图形处理单元),并且GPGPU (通用GPU) 可以被应用在很多领域。本发明试图结合使用GPU和CPU 二者,在手持设备中完成AQMF处理和SQMF处理。其中,AQMF处理和SQMF处理中的最繁重的计算任务由GPU来承担,而其他任务由主CPU来实现。这样,手持设备不再需要通过带有DSP功能的附加CPU来完成音频解码器的计算任务,从而可以降低手持设备的制造成本和开发时间。GPU虽然传统上是处理视频信号的处理器,但是它强大的并行计算能力同样可以用在其他领域。本发明就是利用GPU的并行处理能力,通过调用OpenGL ES 2. OAPI (应用程序接口 )来加速实现AQMF处理和SQMF处理的运算过程。GPU运算的基本过程如图3所示。首先对于处理前的图像,建立一个顶点缓存对象。然后,通过设置顶点着色器302来决定需要绘制的图像的位置与形状等信息,接着顶点着色器302将这些信息翻译为像素点的坐标信息等。接着,通过对片断着色器304进行设置,告知片断着色器304对于每一个像素的RGB值等数据的计算方法,然后由片断着色器同时对每个像素进行计算。在片断着色器的运算过程中,还有可能用到纹理值(纹理值存储在纹理值存储器306中)。纹理值是存储了像素信息的一小幅图像。这些纹理值可以是片断着色器在计算像素值时用到的输入值。最后,片断着色器305的计算结果被保存在帧缓存308中。在这个过程中,所有的设置都是通过OpenGL ES 2. OAPI来完成的。本发明在使用GPU计算音频数据时,主要用到了顶点着色器302、片断着色器304、 纹理值存储器306、以及帧缓存308。具体地,将需要计算的音频数据排列成二维矩阵,将二维矩阵视为需要处理的图像,并且将二维矩阵中的分量值视为图像像素的RGB值。其中,顶点着色器302被用来设置二维矩阵的大小,片断着色器304被用来计算二维矩阵中的分量值,并且纹理值存储器306中的纹理值被用作计算二维矩阵中的分量值的输入值,帧缓存 308被用来保存最后的计算结果。一般,音频解码器通过对所接收的音频数据进行AAC (高级音频编码)解码或者 MP3解码后得到的每一个音频数据帧包括32X32个数据元素(时域元素)。传统上在对任意一个音频数据帧进行AQMF处理时,需要将该音频数据帧中包括的32X32个数据元素分 32次输入给AQMF处理单元(每次输入32个数据元素),由AQMF处理单元分32次完成该音频数据帧的AQMF处理(每次完成对于新输入的32个数据元素的AQMF处理)。AQMF处理单元实现AQMF处理的过程包括以下步骤1)数据更新用新输入的32个数据元素hput_data
至化 肚_(^{3[31]来更新AQMF处理单元中的数据缓存(该数据缓存最多能容纳320个数据元素)的第0至31个缓存条目x
至χ [31],将该数据缓存的第0至288个缓存条目χ
至χ [288]中原先存储的数据元素依次存储在该数据缓存的第32至319个缓存条目x[32]至x[319]中,并将该数据缓存的第 288至319个缓存条目xD88]至x[319]中原先存储的数据元素舍弃。这里,用x[n]来表示数据缓存的第η个缓存条目中存储的数据元素,其中η为整数且0 < η < 319。2)加窗以及叠加这里,存在640个窗系数c
4639]。利用窗系数c
c W39]、以及数据缓存中的数据元素x
χ[319],根据以下等式计算中间变量ζ[η] (η为整数且 0 彡 η 彡 319)z[n] = x[n] Xc[2Xn]实际上,在计算中间变量z[n]的过程中只用到了 640个窗系数c
c[639]中的 320 个窗系数 c
,c [2] ,C [4], ...、c [638]。然后,利用中间变量z
z[319],根据以下等式计算中间变量u[m] (m为整数且 0 ≤m ≤63)
权利要求
1.ー种用于实现AQMF处理的方法,包括CPU将当前需要进行AQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵 input_data_new,并将在所述当前需要进行AQMF处理的音频数据帧之前进行AQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵input_data_0ld ;GPU利用所述数据元素矩阵input_data_new、所述数据元素矩阵input_data_0ld、以及多个窗系数来实现对所述当前需要进行AQMF处理的音频数据帧的AQMF处理。
2.根据权利要求1所述的用于实现AQMF处理的方法,其特征在干,所述当前需要进行 AQMF处理的音频数据帧和在所述当前需要进行AQMF处理的音频数据帧之前进行AQMF处理的音频数据帧均包括32X32个数据元素。
3.根据权利要求2所述的用于实现AQMF处理的方法,其特征在干,所述数据元素矩阵 input_data_new和所述数据元素矩阵input_data_0ld均为32行X 32列的数据元素矩阵。
4.根据权利要求3所述的用于实现AQMF处理的方法,其特征在干,GPU通过以下处理来实现对所述当前需要进行AQMF处理的音频数据帧的AQMF处理设置ー个包括32行X320列像素的图像;根据以下等式生成每个像素的像素值χ [m] [η],其中χ [m] [η]中的m和η均为整数并且 0≤m≤31,0≤η≤319 Δ = m-[n/32] 如果Δ > 0,贝1J χ[m」[η] = input_data_new[Δ」[mod、η,32フ」, 否贝Ij x[m] [η] = input_data_old[32-A] [mod (n,32)], 其中,modO表示求余函数,[]表示取整运算;利用排列为ー维矩阵的320个窗系数c
至c
[319],根据以下等式计算中间变量u[m] [q],其中u[m] [q]中的m和q均为整数,并且0≤m≤31,0≤q≤31
5.一种手持设备,其特征在干,通过权利要求1至5中任一项所述的方法来实现AQMF处理。
6.ー种用于实现SQMF处理的方法,包括CPU将当前需要进行SQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵X_new ;GPU利用所述数据元素矩阵X_neW、GPU中存储的作为在所述当前需要进行SQMF处理的音频数据帧之前进行SQMF处理的音频数据帧的QMF处理结果的数据元素矩阵y_old、以及多个窗系数,来实现对所述当前需要进行SQMF处理的音频数据帧的SQMF处理。
7.根据权利要求6所述的用于实现SQMF处理的方法,其特征在于,所述当前需要进行 SQMF处理的音频数据帧包括64X32个数据元素。
8.根据权利要求7所述的用于实现SQMF处理的方法,其特征在于,所述数据元素矩阵 X_new和所述数据元素矩阵y_old均为32行X 128列的数据元素矩阵,并且所述数据元素矩阵X_new中的第0至32行、第0至63列的数据元素是实数,第0至32行、第64至127 列的数据元素是虚数。
9.根据权利要求8所述的用于实现SQMF处理的方法,其特征在于,GPU通过以下处理实现对所述当前需要进行SQMF处理的音频数据帧的SQMF处理根据以下等式生成作为对应于所述数据元素矩阵X_new的QMF处理结果的数据元素矩 P$y_new[m] [n],其中,y_new[m] [η]中的 m 和 η 均为整数,0 ≤ m ≤ 31,0 ≤ η ≤ 127 ;
10.一种手持设备,其特征在于,通过权利要求6至9中任一项所述的方法来实现SQMF处理。
全文摘要
提供了用于实现AQMF处理的方法、和用于实现SQMF处理的方法。用于实现AQMF处理的方法包括CPU将当前需要进行AQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵input_data_new,并将在当前需要进行AQMF处理的音频数据帧之前进行AQMF处理的音频数据帧包括的数据元素排列为数据元素矩阵input_data_old;CPU利用数据元素矩阵input_data_new、数据元素矩阵input_data_old、以及多个窗系数来实现对当前需要进行AQMF处理的音频数据帧的AQMF处理。
文档编号G10L19/00GK102568481SQ20101061325
公开日2012年7月11日 申请日期2010年12月21日 优先权日2010年12月21日
发明者司马婷婷 申请人:富士通株式会社
用于实现aqmf处理的方法、和用于实现sqmf处理的方法
相关推荐
专利名称:卷入式吉他颤音器的制作方法技术领域:本实用新型涉及的是一种乐器上的颤音调弦装置的改进发明,特别涉及的是吉他的琴弦调节和产生颤音效果的装置,具体涉及的是一种卷入式吉他颤音器的发明。背景技术:在现有技术中,吉他颤音器均是琴弦穿过颤音器
专利名称:具有装饰边的眼镜片的制作方法技术领域:本实用新型涉及一种眼镜镜片。背景技术:眼镜是以矫正视力或保护眼睛为目的而制作的简单光学器件,由镜片和镜架 组成。其中,矫正视力用的眼镜又分为近视眼镜、远视眼镜、老花眼镜以及散光 眼镜四种。随着
专利名称:一种相异语音协议间语音编码的转换方法技术领域:本发明涉及语音网际协议(VOIP)的语音编解码技术,特别涉及一种相异语音协议间语音编码的转换方法。背景技术: 随着基于网际协议(IP)的技术不断发展,VOIP技术使用的得越来越多。在使
专利名称:一种旋转式台灯的制作方法技术领域:本发明涉及灯具,尤其涉及一种旋转式台灯。背景技术:台灯的样式各异,现有的台灯包括灯座、电路板和位于灯座顶端的照明部,目前还没有这样的旋转式台灯,其不仅外形美观,可作装饰品,而且能方便照明。发明内容
梭型片式消声器的制造方法【专利摘要】本实用新型涉及一种梭型片式消声器,其特征在于,该消声器包括一矩形壳体,所述壳体内等间距设置有若干消声单元,每一所述消声单元沿气流方向的横截面为两头尖、中间宽的梭形。本实用新型通过将传统消声器横截面为矩形的
专利名称:充气古琴囊的制作方法技术领域:本实用新型涉及一种古琴囊,特别是一种充气古琴囊。 背景技术:普通的古琴囊对古琴不能起到很好的保护作用,易使琴弦受到损伤而影响音准和音色。发明内容本实用新型的目的就是要解决上述背景技术中提到的问题,提供