CN1241843A - 音频多声道处理用等间隔子带分析和合成滤波器 - Google Patents
音频多声道处理用等间隔子带分析和合成滤波器 Download PDFInfo
- Publication number
- CN1241843A CN1241843A CN99103608A CN99103608A CN1241843A CN 1241843 A CN1241843 A CN 1241843A CN 99103608 A CN99103608 A CN 99103608A CN 99103608 A CN99103608 A CN 99103608A CN 1241843 A CN1241843 A CN 1241843A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- module
- window
- multiplication
- sram
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种MPEG音频多声道处理用等间隔子带分析和合成滤波器,能够在以一定工作频率分配的周期内对5声道的帧取样进行分析滤波,在分割的时钟内,对五个声道以流水线定时进行合成滤波。本发明包括:窗口飞行模块;矩阵变换模块。或者包括:存储器模块;ROM模块;乘法和累加运算模块和信号变换控制模块。
Description
本发明涉及MPEG音频多声道处理用等间隔子带分析和合成滤波器。更具体地说,涉及用流水线定时进行分析滤波的MPEG音频多声道处理用等间隔子带分析和合成滤波器。
在现有技术中,MPEG-2音频编码器的分析滤波器执行把时间域的信号变更为频率域的任务,而决定了与分析滤波器的分辨率相对应的MPEG-2音频编码器的音质。这样的现有分析滤波器的动作在各声道的32个取样输入并最终以32个子带音频信号输出之前通过几个阶段的运算而完成,该运算阶段已在ISO/IEC 11172-3 MPEG-1音频中表示了,若对各阶段进行说明,则为以下这样:
作为第一运算阶段,输入32个新的音频取样,制作具有512个元素的矢量,从矢量中除去成为最长的32个取样。如果用代数式表示,则为下列代数式1那样:【代数式1】
Xi=Xi-32 i=511、510、…、32
作为第二运算阶段,用新生成的输入矢量乘以分析窗口(analysiswindow)Ci。如果用代数式表示,则为下列代数式2那样:【代数式2】
Zi=Ci×Xi i=511、510、…、0
作为第三运算阶段,按照一定的规则,每8个加乘以窗口而生成的512个取样Zi,而构成具有64个元素的新的矢量yk。如果用代数式表示,则为下列代数式3那样:【代数式3】 k=0,1,…,63
作为第四运算阶段,把上述代数式3的矢量yk与分析行列式(analysis matrix)mik相乘,而形成32个子带取样Si。如果用代数式表示,则为下列代数式4那样:【代数式4】mik=cos[π/64(2i+1)(k-16)],i=0,1,…,31,k=0,1,…,63 i=0,1,…,31
如果查看上述的运算过程,具有矩阵运算占据了现有分析滤波器的运算量的大部分的缺点。这样,鉴于上述问题,本发明的第一目的是提供一种MPEG音频多声道处理用等间隔子带分析和合成滤波器,能够在以一定工作频率所分配的周期内分析滤波5声道的帧取样。
另一方面,MPEG-2音频解码器的合成滤波器执行把被置换到频率域中的子带信号再次逆变换为时间域的任务。MPEG-2音频解码器由合成滤波器的精度决定其音质,这样的滤波器在各个声道中进行相同的运算,这样的现有合成滤波器的运算过程表示在ISO/IEC 11172-3 MPEG-1音频中,为执行这样的运算,在各声道的32个取样被输入并最终以32个子带音频信号被输出之前,用几个阶段的运算完成。
当用各个运算阶段来说明上述现有的合成滤波器的运算过程时,其方式如下:
作为第一运算阶段,输入32个新的音频取样,如果用代数式表示,则为下列代数式2-1那样:【代数式2-1】
Sk,k=0、1、…、31
作为第二运算阶段,使矩阵运算结果64取样进行移位。如果用代数式表示,则为下列代数式2-2那样:【代数式2-2】
Vi=Vi-64,i=1023→64
作为第三运算阶段,进行矩阵运算。如果用代数式表示,则为下列代数式2-3那样:【代数式2-3】 i=0, …,63
Nik=cos[π/64(2k+1)(16+i)],i=0,1,…,63,k=0,1,…,31
作为第四运算阶段,生成新的512个矢量Ui。如果用代数式表示,则为下列代数式2-4那样:【代数式2-4】
Ui×64+j=Vi×128+j
Ui×64+32+j=Vi×128+96+j
其中,i=0,1,…,7,k=0,1,…,31
作为第五运算阶段,用新生成的矢量乘以窗口(synthesis window)Di。如果用代数式表示,则为下列代数式2-5那样:【代数式2-5】
Wi=Ui×Di 其中,i=0,1,…,511
作为第六运算阶段,计算32个取样。如果用代数式表示,则为下列代数式2-6那样:【代数式2-6】 其中,j=0,1,…,31
上述的合成滤波为矩阵运算和窗口运算,可看出:矩阵运算(即,代数式3)占据了运算量的大部分。如果假定以27MHz的系统时钟动作的取样频率为48MHz的系统,则处理32个子带取样所花费的时间(T32)为下列代数式2-7那样:【代数式2-7】
T32=32×Ts=32×1/fs=0.66m sec
其中,fs代表取样频率。能够用于处理32个子带取样的系统时钟数(systemcyc)为下列代数式2-8那样:【代数式2-8】
systemcyc=27×106×0.000666=17982周
即,处理32个取样必须分配约18000取样的时钟,在该时钟内进行与5个声道相对应的合成滤波运算。
本发明的第二目的是提供一种MPEG音频多声道处理用等间隔子带分析和合成滤波器,对于所分配的时钟内的5个声道以流水线定时进行合成滤波。
为了实现上述目的,根据本发明的第一实施例,提供一种MPEG音频多声道处理用等间隔子带分析和合成滤波器,包括:窗口飞行模块,通过帧开始信号的输入开始滤波,进行与所输入的帧数据相对应的窗口飞行运算;矩阵变换模块,输入上述窗口飞行模块的结果,进行与该帧数据相对应的矩阵变换运算,上述窗口飞行模块与上述矩阵变换模块相互结合为流水线状,对与5声道相对应的滤波进行定时分割。
根据本发明的第二实施例,提供一种MPEG音频多声道处理用等间隔子带分析和合成滤波器,包括:存储器模块,存储从外部所输入的子带数据,同时,读取输入数据来进行矩阵运算;ROM模块,存储在矩阵和窗口运算时所使用的系数值;乘法和累加运算模块,存储输入来自上述存储器模块的结果值和来自ROM模块的系数值并重复进行乘法和加法运算的结果;存储器控制模块,存储由该乘法和累加运算模块所提供的矩阵运算的结果值,同时,读取在窗口运算中所需要的数据;信号变换控制模块,变换由该存储器控制模块所提供的数据并输出到外部。
本发明的这些和其他的目的、优点及特征将通过结合附图对本发明的实施例的描述而得到进一步说明。在这些附图中:
图1是表示本发明的第一实施例所涉及的子带分析滤波器的构成的图:
图2是图1所示的窗口飞行模块的内部构成图;
图3是说明图2所示的SRAM中数据的使用法的图;
图4是用于在图2所示的SRAM中进行读取的地址计数器的构成图;
图5是图1所示的矩阵变换模块的内部构成图;
图6是表示本发明的第二实施例所涉及的子带分析滤波器的流水线处理流程的图;
图7是本发明的第二实施例所涉及的MPEG音频多声道处理用等间隔子带分析和合成滤波器的方框图;
图8是本发明的第二实施例所涉及的合成滤波器的流水线定时图。
下面参照附图更详细地说明本发明的实施例。
图1是表示本发明的第一实施例所涉及的子带分析滤波器的构成的图,该图中的子带分析滤波器包括:窗口飞行模块(10),通过帧开始信号(Frame-Start)的输入而开始进行滤波,并进行与所输入的帧数据相对应的窗口飞行运算,如果与32个取样相对应的窗口飞行运算结束,则产生窗口飞行结束信号(Win-Complete);矩阵变换模块(20),利用该窗口飞行模块(10)的结果进行与最初的32个取样相对应的矩阵运算,如果矩阵变换运算结束,则发生矩阵结束信号(Mat-complete),上述窗口飞行模块(10)和矩阵变换模块(20)相互结合成流水线状,对与5声道相对应的滤波进行定时分割。
其中,如图2所示的那样,上述窗口飞行模块(10)包括:ROM(30),预先存储在窗口飞行运算中所需要的系数值;累加器(36,Multiplier & Accumulator(MAC)),把与通过寄存器(32)所输入的5声道(左(L)、右(R)、中间(C)、右侧环绕(Rs)、左侧环绕(Ls))相对应的输入数据与通过寄存器所输入的来自上述ROM(30)的系数值相乘并累计至预定次数(例如,8次),然后输出;降低标度部(40),用于把通过寄存器(38)所输入的来自上述累加器(36)的值的有效数字合并为16比特,进行降低标度和环绕处理;多个SRAM(42),输入来自该降低标度部(40)的值并输出;控制部(44),内置用于发生各种地址的计数器(图中省略)并控制该窗口飞行模块中的窗口飞行动作。
在本发明的实施例中,把上述SRAM(42)称为窗口飞行SRAM,各个SRAM分别由2.5K×16比特构成,给一个声道分配0.5K×16比特。
这样构成的上述窗口飞行模块(10)在每个声道中使用512地址范围的SRAM(42),以64间隔地址读取8个取样,与存储在ROM(30)中的值相乘,然后,累加8次而制作出全部64个的结果。这样,该64个结果值按照由矩阵变换模块(20)内的控制部所生成的控制信号值写入页面0、页面1用的SRAM(42;由于SRAM为两个,如果使其中的一个为页面0用SRAM,则另一个为页面1用SRAM。),以用于与下述的矩阵变换模块(20)的流水线处理。
上述窗口飞行SRAM(42)通过系统时钟的上升沿来完成写入/读取,累加器(36)前后的寄存器(34、38)通过上升沿而动作。
上述页面0用SRAM/页面1用SRAM在系统时钟的下降沿完成写入,在上升沿发生用于读取的位置和控制信号。
图3是表示从外部输入32个取样并存储在上述SRAM(42)中的方法的图,按照以先入先出(FIFO:First In First Out)的形式所输入的顺序而存储在32个单位中,如果存储器变满,则原封不动地忽略以上的数据。在声道0(ch0)的情况下,按照第0号到第15号的顺序写入32个单位,第16号重叠写入在已有的第0号的位置上,第17号重叠写入在已有的第1号的位置上。
在这样的方法中,如果完全处理1帧数据,声道0结束,则以声道1、2、3、4的顺序与声道0相同地动作。此时,为了处理第2个帧数据,必须存储SRAM(42)的地址(Addrbase(k)),而另外需要用于其的计数器。在这样的方法中,用于写入窗口飞行SRAM的地址(Addrwrite(I,k))的生成按下列代数式5那样计算:【代数式5】
Addrwrite(i,k)=Addrbase(k)+Addrinput(i),0≤i≤13,0≤k≤15
Addrbase(k)=k×32 0≤k≤15
Addrinput(i)=i 0≤i≤13
其中,上述Addrinput(i)是所输入的32个新的音频取样,上述Addrbase(k)是与最近32数据取样的位置相对应的位置编号,把全部512分成32个单位的小块16个,来进行计数,该值在读取中用于位置编号计算的基准值。
为了窗口飞行运算,把32个音频取样写入窗口飞行SRAM(42),按一定的顺序读取数据而与在ROM(30)中所存储的值累加运算,其结果被输出给64个取样(S(0)、S(1)、…S(63))。此时,读取用于乘法和累加运算的数据顺序与下列代数式6相同,在其他的声道中另外进行:【代数式6】
0、64、128、192、256、320、384、448=>S(0)
1、65、129、193、257、321、385、449=>S(1)
2、66、130、194、258、322、386、450=>S(2)
~ ~ ~ ~
62、126、190、254、318、382、446、510=>S(62)
63、127、191、255、319、383、447、511=>S(63)
在这样的方法中,在窗口飞行SRAM中,用于读取的地址(Addrread(I,j,k))的生成按下列代数式7那样计算:【代数式7】
Addrread(i,j,k)={Addrbase(k)+Addrstart(j)+(64×Numiteration(i))}MOD 512
Addrbase(k)=k×32 0≤k≤15
Addrstart(j)=j 0≤j≤63
Numiteration(i)=i 0≤i≤67
图4是说明由控制部(44)实际上利用计数器和加法器来读取窗口飞行SRAM的地址生成方法的图,模块(Module)512运算是在无符号数(Unsigned Number)加法器中忽略溢出(overflow)而实现的。由于Addrstart(j)与Numiteration(i)的比特位置不会相互重叠,就能利用一个计数器来实现,由于Addrbase(k)是固定值,而能够用4比特来表示,实际上用4比特加法器来实现。
图5是图1所示的矩阵变换模块(20)的内部构成图,按照该图,矩阵变换模块(20)包括:运算器(52),通过寄存器(50a、50b)输入来自窗口飞行模块(10)的输出值,进行16比特的减法和加法处理;第一SRAM(54),输入该运算器(52)的输出值,并进行存储;ROM(56),预先存储在矩阵变换运算中所需要的系数值;累加器(62),通过寄存器(60)输入来自上述第一SRAM(54)的值,通过寄存器(58)输入来自上述ROM(56)的系数值,相乘并累加预定次数后输出;降低标度部(66),把通过寄存器(64)所输入的来自累加器(62)的值进行降低标度处理;第二SRAM(68),输入来自该降低标度部(66)的值并输出;控制部(70),内置用于各种地址发生的计数器(未图示),控制该矩阵变换模块的矩阵变换运算动作。
其中,上述第一和第二SRAM(54、68)由32×16比特构成,ROM(56)由1K×16比特所构成。
这样构成的矩阵变换模块(20)在运算器(52)中把进行了窗口飞行的64个结果值相减或相加,而减少为32个,然后,把该值存储在第一SRAM(54)中。
然后,把存储在上述第一SRAM(54)中的值和存储在ROM(56)中的系数值输入到累加器(62)中,在进行乘法和累加运算后,以32个滤波后的值被输出。该输出值在降低标度部(66)中进行降低标度和环绕处理后,最终以32个结果值而输出,但是,该输出值通过第二SRAM(68)传输到外部。
图6是表示本发明的实施例所涉及的子带分析滤波器的流水线处理顺序的图,如果通过窗口飞行模块(10)和矩阵变换模块(20)而与最初的32个取样相对应的窗口飞行运算和矩阵变换运算结束,则立即再次进行与第二个32个取样相对应的窗口飞行运算。在这样的方法中,当与1个声道相对应的1帧的窗口飞行和矩阵变换运算结束时,用相同方法进行与其他的声道相对应的滤波。
如果与5个声道相对应的滤波全都结束,则保持待机(idle)状态,如果产生帧开始信号(Frame Start),则再次进行与5个声道相对应的滤波。
其中,矩阵变换处理时间大约需要窗口飞行的2倍,因此,流水线临界路径为矩阵变换部分。在每个窗口飞行运算中,从输入读取32个取样,在每个矩阵变换运算中,输出32个取样,因此,处理全部1152个1帧数据所涉及的周期数(Cycframe)为下列代数式8那样:【代数式8】
Cycframe=Cycwindowing+Cycmatrixing
其中,上述Cycframe代表处理1帧数据所涉及的窗口飞行周期数,上述Cycmatrixing代表处理1帧数据所涉及的矩阵变换周期数。一次的乘法和累加运算需要一周期。
由于上述Cycwindowing=547、Cycmatrixing=1126,则在上述代数式8中的周期数(Cycframe)为547+36×1126=41083。
对于5个声道必须分别处理,而由于通过流水线处理来处理与5个声道相对应的1帧数据,则用于其的全部周期数(Cyctotal)为下列代数式9那样:【代数式9】
Cyctotal=Cycwindowing+5×36×Cycmatrixing
Cyctotal=547+5×36×1126=203227
下面对本发明的第二实施例进行详细说明。
图7是本发明的第二实施例所涉及的MPEG音频多声道处理用等间隔子带分析和合成滤波器的方框图,存储器模块(210)存储从外部所输入的矩阵运算用子带数据(即,被滤波的5个声道(Ch L,Ch C,Ch R,Ch Ls,Ch Rs)数据),同时,读取输入数据,来进行矩阵运算,使用了两个SRAM(210a,210b)的一个SRAM(例如,210a)存储输入数据,同时,另一个(例如,210b)是存储器,读取数据来进行矩阵运算。
上述SRAM(210a,210b)中的动作,在后续的块32周期中相反动作。即,进行读取动作的SRAM(210a)进行写入动作,而进行写入动作的SRAM(210b)进行读取动作。
本发明的实施例中,为了实现上述SRAM(210a,210b)的控制,一方的SRAM的写入启动信号(web)始终设定为“1”,另一方的写入启动信号(web)始终设定为“0”,在下一个时钟32(CLK32)周期中,指定相反的值,在两个中仅输出一个。
在输出启动信号(Oeb)的情况下,与上述写入启动信号(web)相反地动作,是正反相对的。即,两个SRAM(210a,210b)中的一个,在时钟32的上升瞬间,必须送出由下述的信号变换控制模块(250)所提供的LFE数据(Low Frequency Enhancement数据:低频增强声道PCM数据),因此,在此瞬间,始终使输出启动信号(Oeb)为“0”值。
在芯片启动信号(Ceb)的情况下,在读取动作中,矩阵运算必须进入浮动(Floating)状态,在写入动作中,必须由多声道处理装置(未图示)接受芯片启动信号(Ceb)。其中,在上述芯片启动信号(Ceb)的情况下,为了不选通而使系统时钟通过闩锁而使用,而此时,以触发器来控制闩锁的启动信号。
ROM模块(220)由存储矩阵运算时所需要的系数值的矩阵ROM(220a)和存储窗口运算时所需要的系数值的窗口ROM(220b)所构成。
其中,上述各个ROM(220a、220b)构成为2K字(word)、512字的大小。
此外,乘法和累加运算模块(230)是用合成滤波器进行必要运算的部分,并储存不重复的乘法和加法运算的结果。
乘法和累加运算模块(230)由根据来自上述存储器模块(210)的信号和来自上述矩阵ROM(220a)的系数值进行乘法和累加运算的第一乘法和累加运算器(230a)和根据来自复用器(225)的信号和来自上述存储器模块(210)的信号进行乘法和累加运算的第二乘法和累加运算器(230b)所构成,上述复用器(225)把来自上述矩阵ROM(220a)的系数值和来自窗口ROM(220b)的系数值进行复用,这样构成的乘法和累加运算在2个周期间进行,而在最初的周期中,进行乘法运算,在第二个周期中进行加法运算。
上述矩阵运算和窗口运算是18比特的带符号(signed)运算,虽然上述第一乘法和累加运算器(230a)和第二乘法和累加运算器(230b)未图示,但其由18×18带符号乘法器、带符号加法器、存储中间结果的寄存器所构成。
乘法器进行最大64次乘法运算,当累加该乘法运算结果时,在输出最大行数的情况下,为40比特。加法器把作为乘法器运算结果的36比特与所累加的结果相加。
上述第一乘法和累加运算器(230a)仅进行矩阵运算,而不接受其他块的任何中断。上述矩阵运算为进行32次乘法和累加运算的结果,则在64周期中,每一次都产生装入(load)信号。写入(write)上述SRAM(210a、210b)的信号在外部SRAM中每2周期动作一次,因此,使装入进一步延迟,通过该延迟的装入和“或”(OR)而制成。
在上述第一乘法和累加运算器(230a)中,由于进行与3声道相对应的乘法和累加运算,而在各个声道中能够分配状态(state)。即,分成L、C、Rs声道理想分配各个状态,在各个状态下,集中存储乘法和累加运算的输入和输出。
在上述第二乘法和累加运算器(230b)中,重复进行按照时钟32信号的矩阵运算和窗口运算。即,在时钟32为“1”的区间中,进行R声道和Ls声道的矩阵运算,在时钟32为“0”的区间中,进行与各声道相对应的窗口运算。
这样,在矩阵运算中,共用第一乘法和累加运算器(230a)和第二乘法和累加运算器(230b),因此而依次共用。即,在最初的周期中,使用第一乘法和累加运算器(230a),在第二个周期中,使用第二乘法和累加运算器(230b),在下一个周期中,使用第一乘法和累加运算器(230a)。
存储器控制模块(240:Memory Management Unit)是控制SRAM的模块,存储合成滤波器的矩阵运算的结果,同时,读取窗口运算中所需要的数据。此时,由于存在同时要求SRAM接近的情况,则控制它们的顺序。在各个情况下,运算顺序在矩阵运算中在第一乘法和累加运算器(230a)进行写入的情况下是第一号,在第二乘法和累加运算器(230b)进行写入的情况下是第二号。在窗口运算中,在第二乘法和累加运算器(230b)进行读取的情况下,是第三号。
另一方面,由上述存储器控制模块(240)对第二乘法和累加运算器(230b)进行中断,而在下一个周期中,不能进行窗口运算。此时,第二乘法和累加运算器(230b)接受中断,而不使窗口ROM(220b)的时钟发生,在下一个周期中停止乘法运算,在其下一次周期中停止加法运算。
在合成滤波器的情况下,在各个取样中在矩阵运算结束的时刻发送写入信号,接受该信号而向SRAM进行写入。在窗口运算的情况下,接受读取的信号,从SRAM读取数据,在中断所涉及的情况下,读取的信号转换为“0”,中止从SRAM读取数据的操作。读取和写入的信号仅在维持2个周期以上的情况下,能够接受上述存储器控制模块(240)。
其中,上述存储器控制模块(240)包括:由临时存储来自上述第一乘法和累加运算器(230a)的结果值的第一SRAM(245a)和临时存储来自上述第二乘法和累加运算器(230b)的结果值的第二SRAM(245b)所构成的高速缓冲器SRAM部(245);把该高速缓冲器SRAM部(245)传送给下述的信号变换控制模块(250)的SRAM(247)。
上述高速缓冲器SRAM部(245)由于不能立即把窗口运算结果送给信号变换控制模块(250)而起到临时进行存储的作用,而上述第一SRAM(245a)和第二SRAM(245b)中的任一个执行读取动作,另一个则执行写入动作。在下一个32周期中,执行相反的动作。
而且,信号变换控制模块(250)由高速缓冲器SRAM部(245)读取数据,以适合于数字模拟转换器(DAC:Digital to Analog Converter)的格式转换数据并送到外部,此时,数据与系统时钟一起读取,与取样时钟一起送出。
通过上述信号变换控制模块(250)输出到外部的数据(即,5个声道音频和低频增强声道PCM数据)被串行数据和并行数据分割,在串行数据的情况下,送出串行时钟,以便于能够区别表示一个取样数据的开始和结束的信号和各比特的取样数据。在并行数据的情况下,输入成为取样时钟的256倍的时钟,则把其进行32分频(divide),对于其中的18周期,输出通知有效的值已输出的信号,对于其余的14周期,输出通知无效的信号。
另一方面,图8是本发明第二实施例所涉及的合成滤波器的流水线定时图,为了一次乘法和累加运算,而需要27Mhz的2个周期。
在本发明中,使用第一乘法和累加运算器(230a)和第二乘法和累加运算器(230b),同时,进行矩阵运算,对与4个声道(Ch L、Ch C、Ch R、Ch Ls)相对应的数据进行矩阵运算,然后,对于第五个声道(ChRs),仅由第一乘法和累加运算模块(230a)进行运算。
第二乘法和累加运算器(230b)利用矩阵运算结果,进行与5个声道(Ch L、Ch C、Ch R、Ch Ls、Ch Rs)相对应的窗口运算。其中,时钟32(CLK 32)的时钟是取样频率的32倍的时钟,5个声道(Ch L、Ch C、Ch R、Ch Ls、Ch Rs)的滤波在时钟32的一个周期内结束。
在本发明的实施例中,在与一个声道相对应的第一乘法和累加运算器(230a)的运算中所需要的时钟是2048,为了由第二乘法和累加运算器(230b)对5声道矩阵结果进行窗口运算,所需要的时钟是512×5=2560,必要的运算时钟是,为了对最后的声道进行窗口运算而在第一乘法和累加运算器(230a)中把必要的时钟与必要的512时钟相加,全部所需要的时钟数Totalcyc为下列代数式9那样:【代数式2-9】
Totalcyc=(2048×3+512)×2=13312周
其中,运算所需要的时钟数能够在提供给系统的18000时钟内进行计算。
根据上述那样的本发明的第一实施例,对于5个声道(左侧、右侧、中间、右侧环绕、左侧环绕)和2个声道,能够以音频帧(1152取样)为单位进行滤波,输出输入是32个取样单位的快速传送,能够以27MHz的工作频率在230000周期内对5个声道的1帧取样进行分析滤波。
这样,能够实现适合于使用MPEG系统时钟的MPEG-2音频编码器ASIC的构造,不必在每个声道中使用滤波器数据库,而是利用流水线构造和定时分割技术,仅使用一个滤波器数据库就能实现。
根据本发明的第二实施例,使用两个乘法和累加运算器,能够以27MHz的系统时钟实时处理5个声道(左(L)、右(R)、中间(C)、右侧环绕(Rs)、左侧环绕(Ls)),因此,不使用在各个运算中所使用的乘法和累加运算器和符合滤波器构造的高系统时钟,也能够实现适合于MPEG-2音频编码器的ASIC芯片构造的滤波器。而且,不必在每个声道中使用滤波器数据库,而是利用流水线构造和定时分割技术,仅使用一个滤波器数据库就能实现。
另一方面,本发明并不仅限于上述实施例,可以在不背离本发明的主题的范围内进行修正和变化。
Claims (11)
1.MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,包括:
窗口飞行模块,通过帧开始信号的输入开始滤波,进行与所输入的帧数据相对应的窗口飞行运算;
矩阵变换模块,输入上述窗口飞行模块的结果,进行与该帧数据相对应的矩阵变换运算;
上述窗口飞行模块与上述矩阵变换模块相互结合为流水线状,对与5声道相对应的滤波进行定时分割。
2.根据权利要求1所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述窗口飞行模块包括:ROM,预先存储在窗口飞行运算中所使用的系数值;累加器,把输入数据与来自上述ROM的系数值相乘并累加预定次数,然后输出;降低标度部,用于把来自上述累加器的值降低标度;SRAM,输入来自上述降低标度部的值并输出;控制部,控制窗口飞行运算动作。
3.根据权利要求1所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述矩阵变换模块包括:运算器,输入来自上述窗口飞行模块的输出值并进行运算处理;第一SRAM,输入上述运算器的输出值并进行存储;ROM,预先存储矩阵变换用系数值;累加器,把来自上述第一SRAM和上述ROM的值相乘并进行预定次数累加后输出;降低标度部,把来自上述累加器的值降低标度;第二SRAM,输入来自上述降低标度部的值并输出;控制部,控制矩阵变换运算动作。
4.MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,包括:
存储器模块,存储从外部所输入的子带数据,同时,读取输入数据来进行矩阵运算;
ROM模块,存储在矩阵和窗口运算时所使用的系数值;
乘法和累加运算模块,存储输入来自上述存储器模块的结果值和来自ROM模块的系数值并重复进行乘法和加法运算的结果;
存储器控制模块,存储由该乘法和累加运算模块所提供的矩阵运算的结果值,同时,读取在窗口运算中所需要的数据;
信号变换控制模块,变换由该存储器控制模块所提供的数据并输出到外部。
5.根据权利要求4所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述存储器模块为2个SRAM,上述两个SRAM相反进行读取动作和写入动作。
6.根据权利要求4所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述ROM模块为矩阵ROM和窗口ROM。
7.根据权利要求6所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述矩阵ROM和窗口ROM分别由2K字、512字的大小所构成。
8.根据权利要求4所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述乘法和累加运算模块由第一和第二乘法和累加运算器所构成。
9.根据权利要求8所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述第一乘法和累加运算器仅进行矩阵运算,上述第二乘法和累加运算器根据时钟信号重复进行矩阵运算和窗口运算。
10.根据权利要求9所述的MPEG音频多声道处理用等间隔子带分析和合成滤波器,其特征在于,上述存储器控制模块包括:暂时存储来自上述第一乘法和累加运算器的结果值的第一SRAM和暂时存储来自上述第二乘法和累加运算器的结果值的第二SRAM的高速缓冲存储器SRAM部。
11.MPEG音频多声道处理用等间隔子带分析和合成滤波器,包括MPEG音频多声道处理用等间隔子带分析滤波器和等间隔子带合成滤波器,其特征在于,
上述分析滤波器是:窗口飞行模块,通过帧开始信号的输入而开始滤波并进行与所输入的帧数据相对应的窗口飞行运算;和矩阵变换模块,输入上述窗口飞行模块的结果来进行与该帧数据相对应的矩阵变换运算,
其特征在于,包括:
存储器模块,上述窗口飞行模块和上述矩阵变换模块相互结合成流水线状,对与5声道相对应的滤波进行定时分割,存储从外部所输入的子带数据,同时,读取输入数据而进行矩阵运算;
存储器控制模块,上述合成滤波器存储由预先存储在矩阵和窗口运算时所使用的系数值的ROM模块、存储输入来自上述存储器模块的结果值和来自上述ROM模块的系数值并重复进行乘法和加法运算的结果的乘法和累加运算模块、上述乘法和累加运算模块所提供的矩阵运算的结果值,同时,读取窗口运算所需要的数据;以及
信号变换控制模块,变换由上述存储器控制模块所提供的数据,并输出到外部。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980007037A KR100299571B1 (ko) | 1998-03-04 | 1998-03-04 | 엠펙오디오다채널처리용등간격서브밴드분석필터 |
KR1019980007036A KR100273768B1 (ko) | 1998-03-04 | 1998-03-04 | 엠펙 오디오 다채널 처리용 등간격 서브밴드 합성필터 |
KR7036/1998 | 1998-03-04 | ||
KR7037/1998 | 1998-03-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1241843A true CN1241843A (zh) | 2000-01-19 |
CN1144357C CN1144357C (zh) | 2004-03-31 |
Family
ID=26633490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB991036085A Expired - Fee Related CN1144357C (zh) | 1998-03-04 | 1999-03-04 | 音频多声道处理用等间隔子带分析和合成滤波器 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP3065067B2 (zh) |
CN (1) | CN1144357C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101405791B (zh) * | 2006-10-25 | 2012-01-11 | 弗劳恩霍夫应用研究促进协会 | 用于产生音频子带值的装置和方法以及用于产生时域音频采样的装置和方法 |
-
1999
- 1999-03-04 JP JP5764699A patent/JP3065067B2/ja not_active Expired - Fee Related
- 1999-03-04 CN CNB991036085A patent/CN1144357C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101405791B (zh) * | 2006-10-25 | 2012-01-11 | 弗劳恩霍夫应用研究促进协会 | 用于产生音频子带值的装置和方法以及用于产生时域音频采样的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3065067B2 (ja) | 2000-07-12 |
JPH11330976A (ja) | 1999-11-30 |
CN1144357C (zh) | 2004-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108805267B (zh) | 用于卷积神经网络硬件加速的数据处理方法 | |
CN110718211B (zh) | 一种基于混合压缩卷积神经网络的关键词识别系统 | |
US20090055005A1 (en) | Audio Processor | |
CN1900927A (zh) | 可重构数字信号处理器 | |
CN109146067B (zh) | 一种基于FPGA的Policy卷积神经网络加速器 | |
Huang et al. | A layer-based structured design of CNN on FPGA | |
WO2000072310A1 (en) | Audio signal time scale modification | |
CN1026274C (zh) | 采用长期预测器的语言合成方法及其装置 | |
JP2015505993A (ja) | 音響処理ユニット | |
US7805477B2 (en) | Computing circuits and method for running an MPEG-2 AAC or MPEG-4 AAC audio decoding algorithm on programmable processors | |
CN1144357C (zh) | 音频多声道处理用等间隔子带分析和合成滤波器 | |
TW200913511A (en) | Configurable common filterbank processor applicable for various audio video standards and processing method thereof | |
TWI374671B (en) | Audio encoding method with function of accelerating a quantization iterative loop process | |
KR0147758B1 (ko) | Mpeg-2 오디오 복호화기의 합성 필터 | |
Singh et al. | FPGA-based hardware-accelerated design of linear prediction analysis for real-time speech signal | |
Fältman et al. | A hardware implementation of an MP3 decoder | |
Lv et al. | A FPGA-based accelerator implementaion for YOLOv2 object detection using Winograd algorithm | |
KR100228546B1 (ko) | Mpeg-2 오디오 부호화 장치 | |
Siegl | A Parallel Factorization Tree Gr obner Basis Algorithm | |
Athar et al. | Teaching and research in FPGA based digital signal processing using Xilinx system generator | |
Hwang et al. | Low power showdown: comparison of five DSP platforms implementing an LPC speech codec | |
CN113327573B (zh) | 语音合成方法、装置、设备及存储介质 | |
Hwang et al. | Benchmarking DSP | |
Atri et al. | Efficient hardware/software implementation of LPC algorithm in speech coding applications | |
KR100273768B1 (ko) | 엠펙 오디오 다채널 처리용 등간격 서브밴드 합성필터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040331 Termination date: 20150304 |
|
EXPY | Termination of patent right or utility model |