CN102243872A - 对音频数字信号进行编码、解码的方法及*** - Google Patents

对音频数字信号进行编码、解码的方法及*** Download PDF

Info

Publication number
CN102243872A
CN102243872A CN2010101730982A CN201010173098A CN102243872A CN 102243872 A CN102243872 A CN 102243872A CN 2010101730982 A CN2010101730982 A CN 2010101730982A CN 201010173098 A CN201010173098 A CN 201010173098A CN 102243872 A CN102243872 A CN 102243872A
Authority
CN
China
Prior art keywords
computing
long piece
dct
mdct
digital signal
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.)
Pending
Application number
CN2010101730982A
Other languages
English (en)
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.)
ACTIONS (ZHUHAI) TECHNOLOGY CO., LTD.
Original Assignee
Actions Semiconductor Co Ltd
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 Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN2010101730982A priority Critical patent/CN102243872A/zh
Publication of CN102243872A publication Critical patent/CN102243872A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明适用于编译码技术领域,提供了一种音频编解码***及其编解码方法。本发明中,对于长块,首先将NDCT和IMDCT转化为18点的DCT-IV型运算,然后再把18点的DCT-IV型运算转化为3个6点的DCT-IV型运算;对于短块,直接将MDCT和IMDCT转化6点的DCT-IV型运算。这样所有运算都可以统一为6点DCT-IV运算,可在此基础上实现MDCT与IMDCT运算单元的共用,且该单元的结构简单,电路可以高度复用,节省电路面积的同时也降低了成本。

Description

对音频数字信号进行编码、解码的方法及***
技术领域
本发明属于编译码技术领域,尤其涉及一种对音频数字信号进行编码、解码的方法及***。
背景技术
在变换压缩的mp3编解码***中,利用时频变换的能量聚集性,将信号能量聚集到少数变换系数上,从而提高编码效率。ISO MPEG(InternationalOrganization for Standardization Moving Picture Experts Group,国际标准化组织动态图像专家组)音频标准提供了一套通用的音频编解码方法,对于mp3编解码来说,时频变换主要是编码中采用的MDCT(Modified Discrete CosineTransform,改良的离散余弦变换)和解码中采用的IMDCT(Inverse ModifiedDiscrete Cosine Transform,反向改良的离散余弦变换),而且根据块大小的不同,又分为相应的长块MDCT、长块IMDCT和短块MDCT、短块IMDCT。
MDCT的表达式如下:
y ( n ) = Σ k = 0 N - 1 X ( k ) · Φ n , k = Σ k = 0 N - 1 X ( k ) · cos { 2 π N · ( n + 1 2 ) · ( k + N + 2 4 ) } , n = 0 ~ N 2 - 1 - - - ( 1 )
IMDCT的表达式如下:
y ( n ) = Σ k = 0 N / 2 - 1 a ( k ) · cos { 2 π N · ( k + 1 2 ) · ( n + N + 2 4 ) } , n=0~(N-1)(2)
长块变换时,N=36;短块变换时,N=12。
图1是一种常规MDCT运算方法的流程图,根据图1的流程图,该做法的步骤如下:
S101:提供数字输入信号,其长度等于块长度N;
S102:由输入信号得到中间计算信号,主要的原理是利用了Φn,k的三角函数对称性,主要实现方法为:
XX ( k ) = X ( N / 4 + k ) - X ( N / 4 - k - 1 ) XX ( N / 4 + k ) = X ( N / 2 + k ) + X ( N - k - 1 ) , k = 0 ~ N / 4 - 1 - - - ( 3 )
其中,X是长度为N的输入信号,XX是中间信号;k是运转指数。
S103:根据中间信号计算MDCT运算结果,其具体做法如下:
y ( n ) = Σ k = 0 N / 2 - 1 XX ( k ) * Φ n , k , n=0~N/2-1(4)
在步骤S103的硬件实现中,将耗用N2/4个乘法,当N=36时,其乘法运算量将为324。
S104:输出MDCT变换信号:最后将运算结果输出。
这种硬件实现直接采用了乘累加的方法,优点在于结构比较简单,但其缺点是乘法运算量很大。ISO MPEG提供的原始算法的乘法运算量为648,采用常规做法后乘法运算量可以减小至324,但相对于编码中的分析滤波器等模块,MDCT的运算量依然巨大。由于时频变换本身需要大量的运算量和处理时间,因此,寻求快速的算法、降低其运算量是mp3编解码的一个目标。并且由于MDCT和IMDCT的算法不尽相同,在大多数实现中需采用分别处理的方式来进行计算,在一些采用了快速算法的实现中,由于长短块的计算也不尽相同,需要使用两套装置分别进行计算,所以一般的实现中需要分别实现长块MDCT、短块MDCT、长块IDMCT和短块IMDCT的运算,设计复杂,成本难以控制。
图1所描述的实现方法仅仅使用了对称性,使运算量减少了一半,但对于mp3音频解码来说,运算量依然很大,陆续有人提出进一步减少运算量的处理方法,方法有很多,但都是针对某一种应用(比如长块的IMDCT运算或者短块的MDCT运算)进行优化,此种优化能明显减少运算量,但是如果需要不同的运算形式(譬如同时需要做长短块的IMDCT、MDCT处理),则需要几套相应的处理方法及模块,如图2所示,最多可能需要4个单独的运算单元,消耗较大,不利于减少成本,而且应用起来会比较繁琐。
发明内容
本发明实施例的目的在于提供一种对音频数字信号进行编码、解码的方法及***,旨在使得音频编解码运算设计简单、成本易于控制。
本发明实施例是这样实现的,对音频数字信号进行编码的方法,该编码方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号进行MDCT运算,所述MDCT运算包括对长块的MDCT运算或者对短块的MDCT运算,所述对长块的MDCT运算或者对短块的MDCT运算转换成离散余弦变换四型DCT-IV运算。
本发明实施例还提供了对音频数字信号进行解码的方法,该解码方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号进行IMDCT运算,所述IMDCT运算包括对长块的IMDCT运算或者对短块的IMDCT运算,所述对长块的IMDCT运算或者对短块的IMDCT运算转换成离散余弦变换四型DCT-IV运算。
本发明实施例还提供了对音频数字信号进行编解码的方法,该方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号编解码,在编码时对所述数字信号进行改良的离散余弦变换MDCT运算,在解码时对所述数字信号进行反向改良的离散余弦变换IMDCT运算,所述MDCT运算和IMDCT运算都转换成离散余弦变换四型DCT-IV运算。
本发明实施例还提供了音频数字信号的编码***,该编码***包括:
输入输出接口,用于接收至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的长块数字信号进行长块MDCT运算或对短块数字信号进行短块MDCT运算,所述长块MDCT运算或短块MDCT运算转换成离散余弦变换四型DCT-IV运算。
本发明实施例还提供了音频数字信号的解码***,该解码***包括:
输入输出接口,用于获取至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的长块数字信号进行长块IMDCT运算或对短块数字信号进行短块IMDCT运算,所述长块IMDCT运算或短块IMDCT运算转换成离散余弦变换四型DCT-IV运算。
本发明实施例还提供了音频数字信号的编解码***,该编解码***包括:
输入输出接口,用于接收至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的数字信号编解码,在编码时对所述数字信号进行改良的离散余弦变换MDCT运算,在解码时对所述数字信号进行反向改良的离散余弦变换IMDCT运算,所述MDCT运算或IMDCT运算转换成离散余弦变换四型DCT-IV运算。
本发明实施例中,通过将长块MDCT、短块MDCT、长块IMDCT、短块IMDCT均转换为6点的DCT-IV型运算,从而可以实现MDCT与IMDCT、长块与短块都可以共用主要运算单元,且该单元的结构简单,电路可以高度复用,节省电路面积的同时也降低了成本。
附图说明
图1是现有技术提供的MDCT运算方法的流程图;
图2是现有技术提供的音频编解码***的架构原理图;
图3是本发明实施例提供的编码方法的实现流程图;
图4是本发明实施例提供的编码方法的具体实现流程图;
图5是本发明实施例提供的解码方法的具体实现流程图;
图6是本发明实施例提供的编解码方法的具体实现流程图;
图7是本发明实施例提供的音频编解码***的结构原理图;
图8是将图7所示***以集成电路形式实现的结构图;
图9是图7所示***中的运算控制单元的结构原理图;
图10是图7所示***中的逻辑控制单元的结构原理图;
图11是图7所示***中的运算单元的结构原理图;
图12是本发明实施例提供的MDCT前处理控制电路的工作示意图;
图13、图14和图15是本发明实施例提供的长块前处理的示意图;
图16是本发明实施例提供的运算单元的工作流程图;
图17是本发明实施例提供的长块后处理的工作示意图;
图18A、图18B是本发明实施例提供的IMDCT后处理的工作示意图;
图19是本发明实施例提供的编码方法的实现流程图;
图20是本发明实施例提供的解码方法的实现流程图;
图21是本发明实施例提供的解码方法的具体实现流程图;
图22是本发明实施例提供的编解码方法的实现流程图;
图23是本发明实施例提供的编解码方法的具体实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,将长块和短块数字信号,均转化6点的DCT-IV型运算。因此所有运算都可以统一为6点DCT-IV运算,可在此基础上实现运算单元的共用。
首先,将MDCT和IMDCT转化6点的DCT-IV型运算的推导过程如下:
对于IMDCT:
y ( n ) = Σ k = 0 N / 2 - 1 a ( k ) · cos { 2 π N · ( k + 1 2 ) · ( n + N + 2 4 ) } , n=0~(N-1)(5)
设:
Figure GSA00000118512300061
n=0~(N/2-1)(6)
由于有对称性:
Figure GSA00000118512300062
所以只要得到c(n)在[0,N/2)上的值,就可以得到y(n)在[0,N)上面的值,对于长块,c(n)是18点的DCT-IV运算,对于短块,c(n)则是6点的DCT-IV运算。
对于MDCT:
y ( n ) = Σ k = 0 N - 1 X ( k ) · cos { 2 π N · ( n + 1 2 ) · ( k + N + 2 4 ) } , n=0~(N/2-1)(7)
设: a ( k ) = X ( k - N / 4 ) - X ( ( 3 N / 4 - 1 ) - k ) , k = N / 4 ~ ( N / 2 - 1 ) a ( k ) = - X ( 3 N / 4 + k ) - X ( ( 3 N / 4 - 1 ) - k ) , k = 0 ~ ( N / 4 - 1 ) c ( n ) = y ( n ) , n = 0 ~ ( N / 2 - 1 ) - - - ( 8 )
则:
Figure GSA00000118512300065
n=0~(N/2-1),即与公式(6)相同,只要计算出c(n)就能得到y(n)。对于长块,c(n)是18点的DCT-IV运算,对于短块,c(n)则是6点的DCT-IV运算。
由上可知,长块IMDCT和MDCT都可以通过18点的DCT-IV运算得到,短块IMDCT和MDCT都可以通过6点的DCT-IV运算得到。
对于如公式(6)和公式(8)所示的18点的DCT-IV运算,可以通过以下方式转化为3个6点的DCT-IV运算:
c ( n ) = Σ k = 0 N / 2 - 1 a ( k ) · cos { 2 π N · ( k + 1 2 ) · ( n + 1 2 ) } , n=0~(N/2-1)(9)
设: c ( 3 n ) = B ( n ) + C ( n ) 2 , n = 0 ~ ( N / 6 - 1 ) c ( 3 n + 1 ) = A ( n ) , n = 0 ~ ( N / 6 - 1 ) c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n = 0 ~ ( N / 6 - 1 ) - - - ( 10 )
所以,计算出6点的A(n)、B(n)和C(n),就能得到18点的c(n)。
设: f k = a ( k ) g k = a ( N / 6 + k ) h k = a ( N / 3 + k ) , k = 0,1 . . . ( N / 6 - 1 ) f k ′ = f N / 6 - 1 - k g k ′ = g N / 6 - 1 - k - - - ( 11 )
φ n , k = { 6 π N · ( k + 1 2 ) · ( n + 1 2 ) } , θk=(2k+1)π/N    (12)
经过整理推导,可以得到公式(13):
A ( n ) = Σ k = 0 N / 6 - 1 ( f k - g k ′ - h k ) · cos φ n , k , n=0~(N/6-1)
B ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k ] · cos φ n , k , n=0~(N/6-1)
C ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k ] · cos φ n , k , n=0~(N/6-1)
(13)
设:amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)(14)
由公式(13)和(14)可以看出A(n)、B(n)和C(n)都是6点的DCT-IV型运算,至此,无论是长块、短块,MDCT还是IMDCT,都可以共用相同的运算单元(6点的DCT-IV运算),加上预处理和后处理实现。
图3示出了本发明实施例提供的编码方法的实现流程,为了便于描述,仅示出了与本实施例相关的部分。
对于外部提供的长块或短块的数字音频信号,首先要进行前处理以把长块或短块转换成离散余弦变换四型DCT-IV运算,然后对处理后的长块或短块数字信号进行MDCT或IMDCT运算,其中上述MDCT或IMDCT运算是在同一个核心运算单元中完成,当运算完毕后,进行后处理输出MDCT或IMDCT运算结果。
图4示出了本发明实施例提供的编码方法的具体实现流程图,该编码方法对所述数字信号进行改良的离散余弦变换MDCT运算,详述如下:
步骤A.提供至少一个音频数字信号,该数字信号是长块或者是短块;
步骤B.对该数字信号进行MDCT运算,包括对长块的MDCT运算或者对短块的MDCT运算,对长块的MDCT运算和对短块的MDCT运算都转换成离散余弦变换四型DCT-IV运算。。
在上述步骤B中,MDCT运算具体包括前处理、运算、后处理三个阶段,各阶段具体执行的操作如下:
B1.对数字信号做前处理,该前处理把长块MDCT运算和短块MDCT运算转换成DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当数字信号是短块时,执行一次DCT-IV运算,当数字信号是长块时,执行三次DCT-IV运算;
B3.对DCT-IV运算结果进行后处理,输出MDCT运算结果。
根据长块、短块的不同,前处理阶段的具体操作也不同,例如长块在MDCT前处理后还需进行长块前处理,因此步骤B1具体又包括:
B11.判断数字信号是长块还是短块,当数字信号是短块时,执行步骤B12,当数字信号是长块时,执行步骤B13;
B12.执行短块MDCT前处理,短块MDCT前处理是利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;执行步骤B15;
B13.执行长块MDCT前处理,长块MDCT前处理是利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;
本发明实施例中,上述步骤B.12和B.13中的短块MDCT前处理和长块MDCT前处理是根据以下公式进行的:
a(k)=X(k-N/4)-X((3N/4-1)-k),k=N/4~(N/2-1)
a(k)=-X(3N/4+k)-X((3N/4-1)-k),k=0~(N/4-1)
其中,X是长度为N的输入信号,k是运转指数,短块MDCT前处理中,N为12,长块MDCT前处理中,N为36。
B14.对长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算;
上述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)
其中,N为36,amk、bmk、cmk分别为3组6点的适合DCT-IV运算的数字信号,上述公式中的fk、gk、hk、f′k、g′k、φn,k分别定义如下:
fk=a(k)
gk=a(N/6+k)
hk=a(N/3+k),k=0,1...(N/6-1)
f′k=fN/6-1-k
g′k=gN/6-1-k
φ n , k = { 6 π N · ( k + 1 2 ) · ( n + 1 2 ) } , θk=(2k+1)π/N,
即上文中的公式(11)和(12),其中函数a为前处理后的18点或6点的适合DCT-IV运算的数字信号,即公式(8)的定义。
B15.前处理结束。
后处理阶段具体需执行以下操作:
B31.判断数字信号是长块还是短块,当数字信号是短块时,执行步骤B32;当数字信号是长块时,执行步骤B33;
B32.将短块的DCT-IV运算结果,即MDCT运算结果输出,执行步骤B34;
B33.将长块的三次DCT-IV运算结果进行长块后处理,长决后处理把长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,即MDCT运算结果输出;
上述长块后处理根据以下公式进行:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
其中,N为36,A(n)、B(n)、C(n)分别为定义如下:
A ( n ) = Σ k = 0 N / 6 - 1 ( f k - g k ′ - h k ) · cos θ n , k , n=0~(N/6-1)
B ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k ] · cos φ n , k , n=0~(N/6-1)
C ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k ] · cos φ n , k , n=0~(N/6-1)
即上文中的公式(13),上述公式中的fk、gk、hk、f′k、g′k、φn,k分别定义如下:
fk=a(k)
gk=a(N/6+k)
hk=a(N/3+k),k=0,1...(N/6-1)
f′k=fN/6-1-k
g′k=gN/6-1-k
φ n , k = { 6 π N · ( k + 1 2 ) · ( n + 1 2 ) } , θk=(2k+1)π/N,
函数a为前处理后的数字信号。
B34.后处理结束。
图5示出了本发明实施例提供的解码方法的具体实现流程图,该解码方法对所述数字信号进行反向改良的离散余弦变换IMDCT运算,详述如下:
步骤A.提供至少一个音频数字信号,该数字信号是长块或者是短块;
步骤B.对该数字信号进行IMDCT运算,包括对长块的IMDCT运算或者对短块的IMDCT运算,对长块的IMDCT运算或对短块的IMDCT运算转换成离散余弦变换四型DCT-IV运算。
在上述步骤B中,IMDCT运算同样包括前处理、运算、后处理三个阶段,各阶段具体执行的操作如下:
B1.对数字信号做前处理,该前处理把长块IMDCT运算和短块IMDCT运算转换成DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当数字信号是短块时,执行一次DCT-IV运算,当数字信号是长块时,执行三次DCT-IV运算;
B3.对DCT-IV运算结果进行后处理,输出IMDCT运算结果。
根据长块、短块的不同,前处理阶段的具体操作也不同,因此步骤B1具体又包括:
B11.判断数字信号是长块还是短块,当数字信号是短块时,执行步骤B13,当数字信号是长块时,执行步骤B12;
B12.当数字信号是长块时,执行长块前处理,长块前处理把对长块的IMDCT运算转换成6点的DCT-IV运算;
B13.前处理结束。
上述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)
其中,N为36,amk、bmk、cmk分别为3组6点的适合DCT-IV运算的数字信号,上述公式中的fk、gk、hk、f′k、g′k、φn,k分别定义如下:
fk=a(k)
gk=a(N/6+k)
hk=a(N/3+k),k=0,1...(N/6-1)
f′k=fN/6-1-k
g′k=gN/6-1-k
φ n , k = { 6 π N · ( k + 1 2 ) · ( n + 1 2 ) } , θk=(2k+1)π/N,
即上文中的公式(11)和(12),其中函数α为前处理后的18点或6点的适合DCT-N运算的数字信号,即公式(8)的定义。
后处理阶段具体需执行以下操作:
B31.判断数字信号是长块还是短块,当数字信号是短块时,执行步骤B32;当数字信号是长块时,执行步骤B33;
B32.将短块的DCT-IV运算结果进行IMDCT后处理,IMDCT后处理把短块的DCT-IV运算结果转换成短块IMDCT运算结果输出,执行步骤B35;
B33.将长块的三次DCT-IV运算结果进行长块后处理,长块后处理把长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果;
B34.对18点DCT-IV运算结果进行IMDCT后处理,IMDCT后处理把18点DCT-IV运算结果转换成长块IMDCT运算结果输出;
B35.后处理结束。
上述长块后处理根据以下公式进行:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
其中,N为36,A(n)、B(n)、C(n)分别为定义如下:
A ( n ) = Σ k = 0 N / 6 - 1 ( f k - g k ′ - h k ) · cos φ n , k , n=0~(N/6-1)
B ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k ] · cos φ n , k , n=0~(N/6-1)
C ( n ) = Σ k = 0 N / 6 - 1 [ 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k ] · cos φ n , k , n=0~(N/6-1)
即上文中的公式(13),上述公式中的fk、gk、hk、f′k、g′k、φn,k分别定义如下:
fk=a(k)
gk=a(N/6+k)
hk=a(N/3+k),k=0,1...(N/6-1)
f′k=fN/6-1-k
g′k=gN/6-1-k
φ n , k = { 6 π N · ( k + 1 2 ) · ( n + 1 2 ) } , θk=(2k+1)π/N,
函数a为前处理后的数字信号。
上述述IMDCT后处理是根据以下公式进行的:
y ( n ) = y ( n ) = c ( n + N 4 ) y ( N 2 - n - 1 ) = - c ( n + N 4 ) y ( 3 N 4 - n - 1 ) = - c ( n ) y ( 3 N 4 + n ) = - c ( n ) , n = 0 ~ N 4 - 1
进行短块IMDCT后处理时,N为12;进行短块IMDCT后处理时,N为36。y(n)为IMDCT运算的最终输出结果,函数c为18点的DCT-IV的运算结果。
图6示出了本发明实施例提供的编解码方法的具体实现流程图,详述如下:
步骤A.提供至少一个音频数字信号,该数字信号是长块或者是短块;
步骤B.对该数字信号编解码,在编码时对该数字信号进行MDCT运算,在解码时对该数字信号进行IMDCT运算,MDCT运算和IMDCT运算都转换成离散余弦变换四型DCT-IV运算。。
本发明实施例中,MDCT运算和IMDCT运算都转换成DCT-IV运算。
在上述步骤B中的前处理、运算、后处理三个阶段分别具体执行的操作如下:
B1.对数字信号做前处理,该前处理把MDCT运算和IMDCT运算都转换成DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当数字信号是短块时,执行一次DCT-IV运算,当数字信号是长块时,执行三次DCT-IV运算;
B3.对DCT-IV运算结果进行后处理,在执行MDCT运算时,后处理把DCT-IV运算结果转换成MDCT运算结果输出;在执行IMDCT运算时,后处理把DCT-IV运算结果转换成IMDCT运算结果输出。
根据长块、短块的不同,前处理阶段的具体操作也不同,因此步骤B1具体又包括:
B11.判断是执行MDCT运算还是IMDCT运算,当执行MDCT运算时,执行步骤B12;当执行IMDCT运算时,执行步骤B16;
B12.判断数字信号是短块还是长块,当数字信号是短块时,执行步骤B13;当数字信号是长块时,执行步骤B14;
B13.执行短块MDCT前处理,短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算,执行步骤B18;
B14.当数字信号是长块时,执行长块MDCT前处理,长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;
B15.对长块MDCT前处理后的数据进行长块前处理,长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算,执行步骤B18;
B16.判断数字信号是短块还是长块,当数字信号是短块时,执行步骤B18;当数字信号是长块时,执行步骤B17;
B17.对数字信号进行长块前处理,长块前处理把对数字信号的IMDCT运算转换成6点的DCT-IV运算;
B18.前处理结束。
后处理阶段具体需执行以下操作:
B31.判断是执行MDCT运算还是IMDCT运算,执行MDCT运算时,执行步骤B32;执行IMDCT运算时,执行步骤B34;
B32.判断数字信号是短块还是长块,当数字信号是短块时,将短块DCT-IV运算结果,即短块MDCT运算结果输出,执行步骤B37;当数字信号是长块时,执行步骤B33;
B33.执行长块后处理,长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果,即长块MDCT运算结果输出,执行步骤B37;
B34.判断数字信号是短块还是长块,当数字信号是短块时,执行步骤B36;当数字信号是长块时,执行步骤B35;
B35.执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果;
B36.执行IMDCT后处理,当执行短块IMDCT运算时,所述IMDCT后处理把短块DCT-IV运算结果转换成IMDCT运算结果输出;当执行长块IMDCT运算时,所述IMDCT后处理把所述18点的DCT-IV运算结果转换成IMDCT运算结果输出;
B37.后处理结束。
图7示出了本发明实施例提供的音频编码和/或解码***的结构原理,图8则是将图7所示***以集成电路形式实现的结构图,其中虚线框表示内部的单元结构可集成于一集成电路上。为了便于描述,在图7、图8中仅示出了与本实施例相关的部分。
一并参照图7、图8,输入输出接口3用于和外部逻辑1通信,接收至少一个待处理的音频数字信号,该数字信号是长块或者是短块,主要完成接收控制信号和反馈运算状态的功能;寄存器组2主要为其他各单元提供数据暂存、状态显示、参数配置等功能;运算控制单元4主要控制运算单元6中运算的数据的生成、运算和存储;逻辑控制单元5则主要负责运算流程之间的转换,如开始、中间处理、结束和各状态之间的转换;RAM和ROM 7为存储设备。运算控制单元4、逻辑控制单元5和寄存器组2连接,用于从寄存器组2中存取数据,控制对数据进行运算,在完成相关运算后再把运算结果存储到RAM中。
运算单元6与寄存器组2和运算控制单元4连接,用于在逻辑控制单元5和运算控制单元4的控制下对所述输入输出接口接收到的长块数字信号或短块数字信号进行MDCT和/或IMDCT运算。下文分别对编码、解码、编解码三种情形时***的工作原理进行描述。
1、当上述***单独用于编码时。运算单元6在6运算控制单元4和逻辑控制单元5的控制下,对数字信号做前处理,前处理把长块MDCT运算和短块MDCT运算转换成DCT-IV运算;并对经过前处理过的数字信号执行DCT-IV运算,当数字信号是短块时,执行一次DCT-IV运算,当数字信号是长块时,执行三次DCT-IV运算;运算单元6在运算控制单元4和所述逻辑控制单元5的控制下,对所述DCT-IV运算结果进行后处理,输出MDCT运算结果。
运算控制单元4还用于判断输入输出接口3接收到的数字信号是长块还是短块;当判断数字信号是短块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行短块MDCT前处理,短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;当判断所述数字信号是长块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;并进一步对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算。
其中,执行短块MDCT前处理和长块MDCT前处理、长块前处理时所依据的公式同上文编码方法中描述的相同,此处不再赘述。
运算控制单元4还用于判断输入输出接口3接收到的数字信号是长块还是短块;当判断所述数字信号是短块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下将所述短块的DCT-IV运算结果,即MDCT运算结果输出;当判断数字信号是长块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,即MDCT运算结果输出。
其中,长块后处理时所依据的公式同上文编码方法中描述的相同,此处不再赘述。
2、当上述***单独用于编码时。运算单元4在运算控制单元6和逻辑控制单元5的控制下,对数字信号做前处理,所述前处理把长块IMDCT运算或者短块IMDCT运算转换成离散余弦变换四型DCT-IV运算;并对经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;运算单元4在运算控制单元6和逻辑控制单元5的控制下,对所述DCT-IV运算结果进行后处理,输出IMDCT运算结果。
运算控制单元4还用于判断输入输出接口3接收到的数字信号是长块还是短块;当判断数字信号是短块时,不做前处理;当判断数字信号是长块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行长块MDCT前处理,所述长块前处理把对长块的IMDCT运算转换成6点的DCT-IV运算。
运算控制单元4还用于判断输入输出接口3接收到的数字信号是长块还是短块;当判断数字信号是短块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下将所述短块的DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把短块的DCT-IV运算结果转换成短块IMDCT运算结果输出;当判断所述数字信号是长块时,运算单元6在运算控制单元4和逻辑控制单元5的控制下将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,并对所述18点DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把18点DCT-IV运算结果转换成长块IMDCT运算结果输出。
其中,执行长块前处理、长块后处理、IMDCT后处理时所依据的公式同上文解码方法中描述的相同,此处不再赘述。
3、当上述***用于编解码时。运算单元6在运算控制单元4和逻辑控制单元5的控制下,将MDCT运算和IMDCT运算都转换成离散余弦变换四型DCT-IV运算。
在运算控制单元4和逻辑控制单元5的控制下,运算单元6对数字信号做前处理,所述前处理把MDCT运算和IMDCT运算都转换成离散余弦变换四型DCT-IV运算;运算单元6对前处理后的数字信号执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;运算单元6再对所述DCT-IV运算的结果进行后处理,在执行MDCT运算时,所述后处理把DCT-IV运算结果转换成MDCT运算结果输出;在执行IMDCT运算时,所述后处理把DCT-IV运算结果转换成IMDCT运算结果输出。
运算控制单元4还用于判断当前需执行MDCT运算还是IMDCT运算,同时判断输入输出接口3接收到的数字信号是长块还是短块;当运算控制单元4判断为当前需执行短块MDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行短块MDCT前处理,所述短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;当运算控制单元4判断为当前需执行长块MDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;并对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算;当运算控制单元4判断为当前需执行长块IMDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行进行长块IMDCT前处理,所述长块前处理把对所述数字信号的IMDCT运算转换成6点的DCT-IV运算。
运算控制单元4还用于判断当前执行的是MDCT运算还是IMDCT运算,同时判断输入输出接口3接收到的数字信号是长块还是短块;当运算控制单元4判断为当前执行的是短块MDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下将短块DCT-IV运算结果,即短块MDCT运算结果输出;当运算控制单元4判断为当前执行的是长块MDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果,即长块MDCT运算结果输出;当运算控制单元4判断为当前执行的是长块IMDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果;并执行IMDCT后处理,所述IMDCT后处理把所述18点的DCT-IV运算结果转换成IMDCT运算结果输出;当运算控制单元4判断为当前执行的是短块IMDCT运算时,运算单元6在运算控制单元4和逻辑控制单元5的控制下把短块DCT-IV运算结果转换成IMDCT运算结果输出。
图9为运算控制单元4的结构原理图,运算控制单元4主要由主控制状态机44和运算单元控制信号生成子单元46完成运算控制工作,其中主控制状态机44与图4中的逻辑控制单元5连接,还与长短块判断子单元41、编解码判断子单元42(单独用于编码、单独用于解码时,此子单元不需要)、计数器45连接,用于判断计算的类型并控制计算的状态转换。运算单元控制信号生成子单元46与图4中的运算单元6连接,还与主控制状态机44、计数器45连接,用于生成运算控制信号。辅助控制信号生成子单元47生成一些辅助的控制信号,如长短块标志和编解码标志等;长短块判断子单元41用于判断输入的数字信号是长块数字信号还是短块数字信号;编解码判断子单元42用于判断输入的数字信号是编码数字信号还是解码数字信号;系数生成子单元43与运算单元控制信号生成子单元47连接,用于生成运算过程中固定系数的存取信号。计数器45负责计数。运算单元控制信号生成子单元46生成的信号主要包括加/减控制信号、乘/乘加控制信号、运算单元寄存器组控制信号、RAM(random accessmemory,随机存取存储器)读写控制信号等。
运算控制单元4的主要功能为从RAM、ROM 7中存取数据,在运算控制信号的作用下,把数据送入寄存器组2,并进入运算单元6进行运算,完成相关运算后再把结果存储到存储器7中的RAM中。
图10为逻辑控制单元5的结构图,按照硬件的实现流程划分,逻辑控制单元5分为6部分,即MDCT前处理逻辑控制电路51(单独用于解码时不需要)、长块前处理逻辑控制电路52、复用电路逻辑控制电路53、长块后处理逻辑控制电路54、IMDCT后处理逻辑控制电路55(单独用于编码时不需要),以及各部分之间状态转化逻辑56。51、52、53、54和55统一连接到运算控制单元4和输入输出接口3,56也连接至运算控制单元4,控制相应的运算过程的存取器存取操作,运算控制以及和输入输出接口通讯。
其中,MDCT前处理控制电路51用于和运算控制单元4共同控制运算单元6对输入的编码数字信号进行MDCT前处理。长块前处理控制电路52用于和运算控制单元4共同控制运算单元6对输入的长块数字信号进行长块前处理。复用运算单元控制电路53用于控制对运算单元6的复用的逻辑控制,无论长块、短块,MDCT还是IMDCT运算,其大部分的运算都在此部分完成,再加上一些前处理(51、52)和后处理(54、55),就能完成所需的运算。长块后处理控制电路54用于和运算控制单元4共同控制运算单元6对运算后的长块数字信号进行长块后处理。IMDCT后处理控制电路55用于和运算控制单元4共同控制运算单元6对解码运算结果进行IMDCT后处理。状态转化逻辑56用于控制运算过程中各个不同运算阶段之间的状态转换,如运算的开始、中间处理、结束和各状态之间的转换。
图11为运算单元6的结构图,运算单元6主要完成整个运算过程中的加减法以及乘法运算。包括RAM 601,用于存储输入的待编解码运算的数字信号和中间运算结果;ROM 602,用于存储运算系数;第一寄存器603,其输入端与所述RAM连接;第二寄存器604,其输入端与ROM602连接;乘法器605,其两个输入端分别与第一寄存器603的输出端和第二寄存器604的输出端连接;第三寄存器606,其输入端与乘法器605的输出端连接;第一选择器607,其第一数据输入端与第一寄存器603的输出端连接;第二选择器608,其第一数据输入端与第一寄存器603的输出端连接,第二数据输入端与第三寄存器606的输出端连接;加/减法器609,其两个输入端分别与第一选择器607的输出端和第二选择器608的输出端连接;第四寄存器610,其输入端与加/减法器609的输出端连接,其输出端与第一选择器607的第二数据输入端连接;地址控制单元611,其与RAM 601和ROM 602连接,用于生成存取数据的地址;寄存器选择单元612,其与第一寄存器603、第二寄存器604、第三寄存器606、第四寄存器610以及寄存器组2连接,用于选择参与运算的寄存器;乘法器控制单元613,其与乘法器605连接,用于控制乘法器605的运算;选择器控制单元614,其与第一选择器607和第二选择器608连接,用于从第一选择器607和第二选择器608的两个输入的数据中选择合适的数据输出;加/减法器控制单元615,其与加/减法器610连接,用于控制加/减法器610的运算。
图11中所示运算单元的工作原理描述如下:输入的数字信号在进行MDCT或IMDCT之前,将被存放在RAM 601中。在整个运算过程中,RAM 601也将被用于存储中间结果。硬件电路中需要用到的系数都将被存放在系数ROM 602中。乘法器605主要完成运算过程中的乘法运算:从RAM 601中读出的数据将暂存在第一寄存器603中,从ROM 602读出的系数将暂存在寄存器第二604中,然后寄存器第一603与第二寄存器604的值将被送入乘法器605进行乘法运算,乘法运算的结果将暂存在第三寄存器606中。第四寄存器610与第一寄存器603的输出分别为第一选择器607的两个输入,第三寄存器606与第一寄存器603的输出分别为第二选择器608的两个输入,其中,第一寄存器603的输出为RAM 601中存储的数据,第三寄存器606的输出为乘法器605的运算结果,第四寄存器610的输出为加/减法器609的运算结果。这样,加/减法器609就能完成以下几种情况的加减法混合运算:1,RAM 601中数据的加法或减法运算,从RAM 601出来的2个数据经过第一寄存器603分别进入第一选择器607与第二选择器608,然后进入加/减法器609完成加/减法运算;2,乘累加运算,第一次乘法运算的结果将通过第二选择器608进入加/减法器609,然后暂存在第四寄存器610中,以便为第一选择器607提供输入数据。第二次的乘法结果将通过第二选择器608进入加/减法器609的B端,暂存在第四寄存器610中的结果将进入加/减法器609的A端,两者运算的结果将暂存在第四寄存器610中,以便为第一选择器607提供输入数据。乘累加的过程将一直按上面的方法循环,直至乘累加结束。图6中的MDCT前处理控制电路51、长块前处理控制电路52、复用运算单元控制电路53、长块后处理控制电路54和IMDCT后处理控制电路5的运算操作,都可以分解为存储器寻址,寄存器寻址,加减法和乘法运算。以运算单元复用6点的DCT-IV运算为例,见下式:
c ( n ) = Σ k = 0 5 a ( k ) · cos { π 6 · ( k + 1 2 ) · ( n + 1 2 ) } , n=0~5
a ( k ) · cos { π 6 · ( k + 1 2 ) · ( n + 1 2 ) }
首先从RAM中读取a(k),k=0~5到寄存器组,再从Rom中读取系数
Figure GSA00000118512300223
n=0~5,k=0~5到寄存器组,然后通过择器选择乘法器的输入,乘法器的一个输入从存储a(k)的寄存器得到,另一个输入从存储
Figure GSA00000118512300224
的寄存器得到,然后再乘法器中完成a(k)与
Figure GSA00000118512300225
的乘法,最后同样的选择加、减法器的输入,在加、减法器中完成乘法结果的累加,一直到所有运算完成,存储运算结果到RAM中。
图12为逻辑控制单元中的MDCT前处理控制电路51的工作示意图,其中,X0-X35表示输入信号,a0——a17表示经过MDCT前处理控制电路51以及运算单元6之后的输出结果。以第一点为例,首先从RAM 601中取出第28个输入数据和第25个输入数据,分别送到选择器607和选择器608,然后进入加/减法器609的A、B端完成加/减法运算,最后将运算结果存放在RAM 601中。运算结束后也会执行长短块判断步骤S804,以决定下一步的运算。
图13、14和15是长块前处理步骤S805的示意图,A(n)、B(n)和C(n)的输入数据amk、bmk和cmk的前处理不同,需要分别处理。amk的计算如图13所示,bmk的计算如图14所示,cmk的计算如图15所示。长块前处理步骤需要对输入数据进行加减法和乘法/乘累加运算,且需要在ROM存储相应的乘法系数。处理时先从RAM中读取a(k),k=0~17到寄存器组中,然后把这些数据和从ROM得到的相应的系数进行乘法/乘累加和加减运算,最后把得到的结果amk,k=0,1...5、bmk,k=0,1...5和cmkk=0,1...5存回RAM中去。此部分包含寄存器的操作、产生RAM和ROM的读写逻辑、产生加减法器和乘法器的输入选择控制和输出控制逻辑。
运算单元6的硬件实现流程图如图16所示:
步骤S1601:流程开始;
步骤S1602:生成输入数据的地址;
步骤S1603:把输入数据装载进寄存器组;
步骤S1604:根据控制逻辑进行相应的乘法、加减法运算;
步骤S1605:把中间结果也存入寄存器组;
步骤S1606:判断计算是否结束,短块只需要进入复用核心运算单元计算一次,而长块则需要循环计算3次;
步骤S1607:输出结果到RAM;
步骤S1608:核心运算结束。
长块后处理运算如图17所示,3组6点的DCT-IV的运算结果被转化为18点的DCT-IV的运算结果,即公式(10)所述的运算,运算比较简单,只需要简单的加减法运算并重新生成存储地址即可。
IMDCT后处理的操作可用图18A和图18B进行说明:即如果需要进行IMDCT后处理,可将经过复用核心运算单元电路步骤或者长块后处理步骤后,保存在RAM中的值等分成2部分,分别用图18A示出的A、B表示,进行IMDCT后处理后,输出数据在数量上为输出前的2倍,其顺序为B,-B,-A,-A,如图18B所示。
本发明实施例中,通过将长块MDCT、短块MDCT、长块IMDCT、短块IMDCT均转换为6点的DCT-IV型运算,从而可以实现MDCT与IMDCT、长块与短块都可以共用主要运算单元,且该单元的结构简单,电路可以高度复用,节省了电路面积,长块时乘法运算量仅为114个,短块乘法量仅为36个,减小了运算量,降低了功耗。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (49)

1.对音频数字信号进行编码的方法,其特征在于,该编码方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号进行MDCT运算,所述MDCT运算包括对长块的MDCT运算或者对短块的MDCT运算,所述对长块的MDCT运算或者对短块的MDCT运算转换成离散余弦变换四型DCT-IV运算。
2.根据权利要求1所述的编码方法,其特征在于,所述MDCT运算包括:
B1.对所述数字信号做前处理,所述前处理把长块MDCT运算或短块MDCT运算转换成离散余弦变换四型DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
B3.对所述DCT-IV运算结果进行后处理,输出MDCT运算结果。
3.根据权利要求2所述的编码方法,其特征在于,所述前处理包括:
B11.判断所述数字信号是长块还是短块,当所述数字信号是短块时,执行步骤B12,当所述数字信号是长块时,执行步骤B13;
B12.执行短块MDCT前处理,所述短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;执行步骤B15;
B13.执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;
B14.对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算;
B15.前处理结束。
4.根据权利要求2所述的编码方法,其特征在于,所述短块MDCT前处理或长块MDCT前处理是根据以下公式进行的:
a(k)=X(k-N/4)-X((3N/4-1)-k),k=N/4~(N/2-1)
a(k)=-X(3N/4+k)-X((3N/4-1)-k),k=0~(N/4-1)
短块MDCT前处理中,N为12;
长块MDCT前处理中,N为36。
5.根据权利要求2所述的编码方法,其特征在于,所述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)N为36。
6.根据权利要求2所述的编码方法,其特征在于,所述后处理包括:
B31.判断所述数字信号是长块还是短块,当所述数字信号是短块时,执行步骤B32;当所述数字信号是长块时,执行步骤B33;
B32.将所述短块的DCT-IV运算结果,即MDCT运算结果输出,执行步骤B34;
B33.将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,即MDCT运算结果输出;
B34.后处理结束。
7.根据权利要求6所述的编码方法,其特征在于,所述长块后处理是根据以下公式进行的:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
N为36。
8.对音频数字信号进行解码的方法,其特征在于,该解码方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号进行IMDCT运算,所述IMDCT运算包括对长块的IMDCT运算或者对短块的IMDCT运算,所述对长块的IMDCT运算或者对短块的IMDCT运算转换成离散余弦变换四型DCT-IV运算。
9.根据权利要求8所述的解码方法,其特征在于,所述IMDCT运算包括:
B1.对所述数字信号做前处理,所述前处理把长块IMDCT运算或者短块IMDCT运算转换成离散余弦变换四型DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
B3.对所述DCT-IV运算结果进行后处理,输出IMDCT运算结果。
10.根据权利要求9所述的解码方法,其特征在于,所述前处理包括:
B11.判断所述数字信号是长块还是短块,当所述数字信号是短块时,执行步骤B13,当所述数字信号是长块时,执行步骤B12;
B12.当所述数字信号是长块时,执行长块前处理,所述长块前处理把对长块的IMDCT运算转换成6点的DCT-IV运算;
B13.前处理结束。
11.根据权利要求10所述的解码方法,其特征在于,所述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)N为36。
12.根据权利要求9所述的解码方法,其特征在于,所述后处理包括:
B31.判断所述数字信号是长块还是短块,当所述数字信号是短块时,执行步骤B32;当所述数字信号是长块时,执行步骤B33;
B32.将所述短块的DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把短块的DCT-IV运算结果转换成短块IMDCT运算结果输出,执行步骤B35;
B33.将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果;
B34.对所述18点DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把18点DCT-IV运算结果转换成长块IMDCT运算结果输出;
B35.后处理结束。
13.根据权利要求12所述的解码方法,其特征在于,所述长块后处理是根据以下公式进行的:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
N为36。
14.根据权利要求12所述的解码方法,其特征在于,所述IMDCT后处理是根据以下公式进行的:
y ( n ) = y ( n ) = c ( n + N 4 ) y ( N 2 - n - 1 ) = - c ( n + N 4 ) y ( 3 N 4 - n - 1 ) = - c ( n ) y ( 3 N 4 + n ) = - c ( n ) , n = 0 ~ N 4 - 1
进行短块IMDCT后处理时,N为12;
进行短块IMDCT后处理时,N为36。
15.对音频数字信号进行编解码的方法,其特征在于,该方法包括:
A.获取至少一个音频数字信号,所述数字信号是长块或者是短块;
B.对所述数字信号编解码,在编码时对所述数字信号进行改良的离散余弦变换MDCT运算,在解码时对所述数字信号进行反向改良的离散余弦变换IMDCT运算,所述MDCT运算和IMDCT运算都转换成离散余弦变换四型DCT-IV运算。
16.根据权利要求15所述的编解码方法,其特征在于,所述对数字信号编解码包括:
B1.对所述数字信号做前处理,所述前处理把所述MDCT运算或所述IMDCT运算转换成离散余弦变换四型DCT-IV运算;
B2.把经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
B3.对所述DCT-IV运算结果进行后处理,在执行MDCT运算时,所述后处理把DCT-IV运算结果转换成MDCT运算结果输出;在执行IMDCT运算时,所述后处理把DCT-IV运算结果转换成IMDCT运算结果输出。
17.根据权利要求16所述的编解码方法,其特征在于,所述前处理包括:
B11.判断是执行MDCT运算还是IMDCT运算,当执行MDCT运算时,执行步骤B12;当执行IMDCT运算时,执行步骤B16;
B12.判断所述数字信号是短块还是长块,当所述数字信号是短块时,执行步骤B13;当所述数字信号是长块时,执行步骤B14;
B13.执行短块MDCT前处理,所述短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算,执行步骤B18;
B14.当所述数字信号是长块时,执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;
B15.对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算,执行步骤B18;
B16.判断所述数字信号是短块还是长块,当所述数字信号是短块时,执行步骤B18;当所述数字信号是长块时,执行步骤B17;
B17.对所述数字信号进行长块前处理,所述长块前处理把对所述数字信号的IMDCT运算转换成6点的DCT-IV运算;
B18.前处理结束。
18.根据权利要求16所述的编解码方法,其特征在于,所述后处理包括:
B31.判断是执行MDCT运算还是IMDCT运算,执行MDCT运算时,执行步骤B32;执行IMDCT运算时,执行步骤B34;
B32.判断所述数字信号是短块还是长块,当所述数字信号是短块时,将短块DCT-IV运算结果,即短块MDCT运算结果输出,执行步骤B37;当所述数字信号是长块时,执行步骤B33;
B33.执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果,即长块MDCT运算结果输出,执行步骤B37;
B34.判断所述数字信号是短块还是长块,当所述数字信号是短块时,执行步骤B36;当所述数字信号是长块时,执行步骤B35;
B35.执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果;
B36.执行IMDCT后处理,当执行短块IMDCT运算时,所述IMDCT后处理把短块DCT-IV运算结果转换成IMDCT运算结果输出;当执行长块IMDCT运算时,所述IMDCT后处理把所述18点的DCT-IV运算结果转换成IMDCT运算结果输出;
B37.后处理结束。
19.音频数字信号的编码***,其特征在于,该编码***包括:
输入输出接口,用于接收至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的长块数字信号进行长块MDCT运算或对短块数字信号进行短块MDCT运算,所述长块MDCT运算或短块MDCT运算转换成离散余弦变换四型DCT-IV运算。
20.根据权利要求19所述的音频数字信号的编码***,其特征在于,该编码***还包括:
运算控制单元,用于生成运算系数及运算控制信号;
逻辑控制单元,用于控制运算流程之间的转换;
所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下,对所述数字信号做前处理,所述前处理把长块MDCT运算或短块MDCT运算转换成离散余弦变换四型DCT-IV运算;并对经过前处理过的数字信号执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下,对所述DCT-IV运算结果进行后处理,输出MDCT运算结果。
21.根据权利要求20所述的音频数字信号的编码***,其特征在于:
所述运算控制单元还用于判断所述输入输出接口接收到的数字信号是长块还是短块;
当判断所述数字信号是短块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行短块MDCT前处理,所述短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;
当判断所述数字信号是长块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;并进一步对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算。
22.根据权利要求20所述的音频数字信号的编码***,其特征在于,所述短块MDCT前处理或长块MDCT前处理是根据以下公式进行的:
a(k)=X(k-N/4)-X((3N/4-1)-k),k=N/4~(N/2-1)
a(k)=-X(3N/4+k)-X((3N/4-1)-k),k=0~(N/4-1)
短块MDCT前处理中,N为12;
长块MDCT前处理中,N为36。
23.根据权利要求20所述的音频数字信号的编码***,其特征在于,所述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)N为36。
24.根据权利要求20所述的音频数字信号的编码***,其特征在于:
所述运算控制单元还用于判断所述输入输出接口接收到的数字信号是长块还是短块;
当判断所述数字信号是短块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下将所述短块的DCT-IV运算结果,即MDCT运算结果输出;
当判断所述数字信号是长块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,即MDCT运算结果输出。
25.根据权利要求24所述的音频数字信号的编码***,其特征在于,所述长块后处理是根据以下公式进行的:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
N为36。
26.根据权利要求21至25任一项所述音频数字信号的编码***,其特征在于,所述运算控制单元包括:
长短块判断子单元,用于判断输入的数字信号是长块还是短块;
计数器;
主控制状态机,与所述长短块判断子单元、所述计数器连接,用于判断计算的方式,并控制计算的状态转换;
运算单元控制信号生成子单元,与所述主控制状态机、所述计数器连接,用于生成运算控制信号;以及
系数生成子单元,与所述运算单元控制信号生成子单元连接,用于生成运算过程中固定系数的存取信号。
27.根据权利要求26所述的音频数字信号的编码***,其特征在于,所述运算控制单元还包括:
辅助控制信号生成子单元,其与所述运算单元的控制信号生成单元连接,用于生成辅助运算控制信号,所述辅助运算控制信号包括长短块标志。
28.根据权利要求21至25任一项所述的音频数字信号的编码***,其特征在于,所述逻辑控制单元包括:
状态转换逻辑,用于控制运算过程中各个不同运算阶段之间的状态转换;
MDCT前处理控制电路,用于和所述运算控制单元共同控制所述运算单元对输入的编码数据流进行MDCT前处理;
长块前处理控制电路,用于和所述运算控制单元共同控制所述运算单元对输入的长块进行长块前处理;
复用运算单元控制电路,用于控制对所述运算单元的复用;
长块后处理控制电路,用于和所述运算控制单元共同控制所述运算单元对运算后的长块进行长块后处理。
29.根据权利要求21至25任一项所述的音频数字信号的编码***,其特征在于,所述运算单元包括:
RAM,用于存储输入的待编码运算的数字信号和中间运算结果;
ROM,用于存储运算系数;
第一寄存器,其输入端与所述RAM连接;
第二寄存器,其输入端与所述ROM连接;
乘法器,其两个输入端分别与所述第一寄存器的输出端和所述第二寄存器的输出端连接;
第三寄存器,其输入端与所述乘法器的输出端连接;
第一选择器,其第一数据输入端与所述第一寄存器的输出端连接;
第二选择器,其第一数据输入端与所述第一寄存器的输出端连接,第二数据输入端与所述第三寄存器的输出端连接;
加/减法器,其两个输入端分别与所述第一选择器的输出端和所述第二选择器的输出端连接;
第四寄存器,其输入端与所述加/减法器的输出端连接,其输出端与所述第一选择器的第二数据输入端连接;
地址控制单元,其与所述RAM和所述ROM连接,用于生成存取数据的地址;
寄存器选择单元,其与所述第一寄存器、第二寄存器、第三寄存器、第四寄存器以及所述寄存器组连接,用于选择参与运算的寄存器;
乘法器控制单元,其与所述乘法器连接,用于控制所述乘法器的运算;
选择器控制单元,其与所述第一选择器和所述第二选择器连接,用于从所述第一选择器和所述第二选择器的两个输入的数据中选择合适的数据输出;
加/减法器控制单元,其与所述加/减法器连接,用于控制所述加/减法器的运算。
30.音频数字信号的解码***,其特征在于,该解码***包括:
输入输出接口,用于获取至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的长块数字信号进行长块IMDCT运算或对短块数字信号进行短块IMDCT运算,所述长块IMDCT运算或短块IMDCT运算转换成离散余弦变换四型DCT-IV运算。
31.根据权利要求30所述的音频数字信号的解码***,其特征在于,该解码***还包括:
运算控制单元,用于生成运算系数及运算控制信号;
逻辑控制单元,用于控制运算流程之间的转换;
所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下,对所述数字信号做前处理,所述前处理把长块IMDCT运算或短块IMDCT运算转换成离散余弦变换四型DCT-IV运算;并将经过前处理的数字信号输入到运算单元中执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下,对所述DCT-IV运算结果进行后处理,输出IMDCT运算结果。
32.根据权利要求31所述的音频数字信号的解码***,其特征在于:
所述运算控制单元还用于判断所述输入输出接口接收到的数字信号是长块还是短块;
当判断所述数字信号是短块时,不做前处理;
当判断所述数字信号是长块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行长块前处理,所述长块前处理把对长块的IMDCT运算转换成6点的DCT-IV运算。
33.根据权利要求32所述的音频数字信号的编码***,其特征在于,所述长块前处理是根据以下公式进行的:
amk=fk-g′k-hk,k=0,1...(N/6-1)
bm k = 3 ( h k - g k ′ ) · sin θ k + ( 2 f k + g k ′ + h k ) cos θ k , k=0,1...(N/6-1)
cm k = 3 ( ( - 1 ) n f k ′ + ( - 1 ) n g k - h k + ) · cos θ k + ( ( - 1 ) ( n + 1 ) f k ′ + ( - 1 ) n g k + h k ) sin θ k , k=0,1...(N/6-1)N为36。
34.根据权利要求30所述的音频数字信号的解码***,其特征在于:
所述运算控制单元还用于判断所述输入输出接口接收到的数字信号是长块还是短块;
当判断所述数字信号是短块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下将所述短块的DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把短块的DCT-IV运算结果转换成短块IMDCT运算结果输出;
当判断所述数字信号是长块时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下将所述长块的三次DCT-IV运算结果进行长块后处理,所述长块后处理把所述长块的三次DCT-IV运算结果转换成18点DCT-IV运算结果,并对所述18点DCT-IV运算结果进行IMDCT后处理,所述IMDCT后处理把18点DCT-IV运算结果转换成长块IMDCT运算结果输出。
35.根据权利要求34所述的音频数字信号的解码***,其特征在于,所述长块后处理是根据以下公式进行的:
c ( 3 n ) = B ( n ) + C ( n ) 2 , n=0~(N/6-1)
c(3n+1)=A(n),n=0~(N/6-1)
c ( 3 n + 2 ) = B ( n ) - C ( n ) 2 , n=0~(N/6-1)
N为36。
36.根据权利要求34所述的音频数字信号的解码***,其特征在于,所述IMDCT后处理是根据以下公式进行的:
y ( n ) = y ( n ) = c ( n + N 4 ) y ( N 2 - n - 1 ) = - c ( n + N 4 ) y ( 3 N 4 - n - 1 ) = - c ( n ) y ( 3 N 4 + n ) = - c ( n ) , n = 0 ~ N 4 - 1
进行短块IMDCT后处理时,N为12;
进行短块IMDCT后处理时,N为36。
37.根据权利要求32至36任一项所述的音频数字信号的解码***,其特征在于,所述运算控制单元包括:
长短块判断子单元,用于判断输入的数字信号是长块还是短块;
计数器;
主控制状态机,与所述长短块判断子单元、所述计数器连接,用于判断计算的方式,并控制计算的状态转换;
运算单元控制信号生成子单元,与所述主控制状态机、所述计数器连接,用于生成运算控制信号;以及
系数生成子单元,与所述运算单元控制信号生成子单元连接,用于生成运算过程中固定系数的存取信号。
38.根据权利要求37所述的音频数字信号的解码***,其特征在于,所述运算控制单元还包括:
辅助控制信号生成子单元,其与所述运算单元的控制信号生成单元连接,用于生成辅助运算控制信号,所述辅助运算控制信号包括长短块标志。
39.根据权利要求32至36任一项所述的音频数字信号的解码***,其特征在于,所述逻辑控制单元包括:
状态转换逻辑,用于控制运算过程中各个不同运算阶段之间的状态转换;
长块前处理控制电路,用于和所述运算控制单元共同控制所述运算单元对输入的长块进行长块前处理;
复用运算单元控制电路,用于控制对所述运算单元的复用;
长块后处理控制电路,用于和所述运算控制单元共同控制所述运算单元对运算后的长块进行长块后处理;以及
IMDCT后处理控制电路,用于和所述运算控制单元共同控制所述运算单元对解码运算结果进行IMDCT后处理。
40.根据权利要求32至36任一项所述的音频数字信号的解码***,其特征在于,所述运算单元包括:
RAM,用于存储输入的待解码运算的数字信号和中间运算结果;
ROM,用于存储运算系数;
第一寄存器,其输入端与所述RAM连接;
第二寄存器,其输入端与所述ROM连接;
乘法器,其两个输入端分别与所述第一寄存器的输出端和所述第二寄存器的输出端连接;
第三寄存器,其输入端与所述乘法器的输出端连接;
第一选择器,其第一数据输入端与所述第一寄存器的输出端连接;
第二选择器,其第一数据输入端与所述第一寄存器的输出端连接,第二数据输入端与所述第三寄存器的输出端连接;
加/减法器,其两个输入端分别与所述第一选择器的输出端和所述第二选择器的输出端连接;
第四寄存器,其输入端与所述加/减法器的输出端连接,其输出端与所述第一选择器的第二数据输入端连接;
地址控制单元,其与所述RAM和所述ROM连接,用于生成存取数据的地址;
寄存器选择单元,其与所述第一寄存器、第二寄存器、第三寄存器、第四寄存器以及所述寄存器组连接,用于选择参与运算的寄存器;
乘法器控制单元,其与所述乘法器连接,用于控制所述乘法器的运算;
选择器控制单元,其与所述第一选择器和所述第二选择器连接,用于从所述第一选择器和所述第二选择器的两个输入的数据中选择合适的数据输出;
加/减法器控制单元,其与所述加/减法器连接,用于控制所述加/减法器的运算。
41.音频数字信号的编解码***,其特征在于,该编解码***包括:
输入输出接口,用于接收至少一个音频数字信号,所述数字信号是长块或者是短块;
运算单元,用于对所述输入输出接口接收到的数字信号编解码,在编码时对所述数字信号进行改良的离散余弦变换MDCT运算,在解码时对所述数字信号进行反向改良的离散余弦变换IMDCT运算,所述MDCT运算或IMDCT运算转换成离散余弦变换四型DCT-IV运算。
42.根据权利要求41所述的音频数字信号的编解码***,其特征在于,该编解码***还包括:
运算控制单元,用于生成运算系数及运算控制信号;
逻辑控制单元,用于控制运算流程之间的转换;
所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下,将所述MDCT运算或IMDCT运算转换成离散余弦变换四型DCT-IV运算。
43.根据权利要求42所述的音频数字信号的编解码***,其特征在于:
在所述运算控制单元和所述逻辑控制单元的控制下,所述运算单元对所述数字信号做前处理,所述前处理把所述MDCT运算或所述IMDCT运算转换成离散余弦变换四型DCT-IV运算;
所述运算单元对前处理后的数字信号执行DCT-IV运算,当所述数字信号是短块时,执行一次DCT-IV运算,当所述数字信号是长块时,执行三次DCT-IV运算;
所述运算单元对所述DCT-IV运算的结果进行后处理,在执行MDCT运算时,所述后处理把DCT-IV运算结果转换成MDCT运算结果输出;在执行IMDCT运算时,所述后处理把DCT-IV运算结果转换成IMDCT运算结果输出。
44.根据权利要求42所述的音频数字信号的编解码***,其特征在于:
所述运算控制单元还用于判断当前需执行MDCT运算还是IMDCT运算,同时判断所述输入输出接口接收到的数字信号是长块还是短块;
当所述运算控制单元判断为当前需执行短块MDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行短块MDCT前处理,所述短块MDCT前处理利用对称性把对短块的MDCT运算转换成6点的DCT-IV运算;
当所述运算控制单元判断为当前需执行长块MDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行长块MDCT前处理,所述长块MDCT前处理利用对称性把对长块的MDCT运算转换成18点的DCT-IV运算;并对所述长块MDCT前处理后的数据进行长块前处理,所述长块前处理把18点的DCT-IV运算转换成6点的DCT-IV运算;
当所述运算控制单元判断为当前需执行长块IMDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行进行长块IMDCT前处理,所述长块前处理把对所述数字信号的IMDCT运算转换成6点的DCT-IV运算。
45.根据权利要求42所述的音频数字信号的编解码***,其特征在于:
所述运算控制单元还用于判断当前执行的是MDCT运算还是IMDCT运算,同时判断所述输入输出接口接收到的数字信号是长块还是短块;
当所述运算控制单元判断为当前执行的是短块MDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下将短块DCT-IV运算结果,即短块MDCT运算结果输出;
当所述运算控制单元判断为当前执行的是长块MDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果,即长块MDCT运算结果输出;
当所述运算控制单元判断为当前执行的是长块IMDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行长块后处理,所述长块后处理将长块的三次DCT-IV运算结果转换成18点的DCT-IV运算结果;并执行IMDCT后处理,所述IMDCT后处理把所述18点的DCT-IV运算结果转换成IMDCT运算结果输出;
当所述运算控制单元判断为当前执行的是短块IMDCT运算时,所述运算单元在所述运算控制单元和所述逻辑控制单元的控制下执行IMDCT后处理,所述IMDCT后处理把短块DCT-IV运算结果转换成IMDCT运算结果输出。
46.根据权利要求44或45所述的音频数字信号的编解码***,其特征在于,所述运算控制单元包括:
长短块判断子单元,用于判断输入的数字信号是长块还是短块;
编解码判断子单元,用于判断当前执行的是MDCT运算还是IMDCT运算;
计数器;
主控制状态机,与所述长短块判断子单元、所述编解码判断子单元、所述计数器连接,用于判断计算的方式,并控制计算的状态转换;
运算单元控制信号生成子单元,与所述主控制状态机、所述计数器连接,用于生成运算控制信号;以及
系数生成子单元,与所述运算单元控制信号生成子单元连接,用于生成运算过程中固定系数的存取信号。
47.根据权利要求46所述的音频数字信号的编解码***,其特征在于,所述运算控制单元还包括:
辅助控制信号生成子单元,其与所述运算单元的控制信号生成单元连接,用于生成辅助运算控制信号,所述辅助运算控制信号包括长短块标志和/或编解码标志。
48.根据权利要求46所述的音频数字信号的编解码***,其特征在于,所述逻辑控制单元包括:
状态转换逻辑,用于控制运算过程中各个不同运算阶段之间的状态转换;
MDCT前处理控制电路,用于和所述运算控制单元共同控制所述运算单元对输入的编码数据流进行MDCT前处理;
长块前处理控制电路,用于和所述运算控制单元共同控制所述运算单元对输入的长块数据流进行长块前处理;
复用运算单元控制电路,用于控制对所述运算单元的复用;
长块后处理控制电路,用于和所述运算控制单元共同控制所述运算单元对运算后的长块数据流进行长块后处理;以及
IMDCT后处理控制电路,用于和所述运算控制单元共同控制所述运算单元对解码运算结果进行IMDCT后处理。
49.根据权利要求46所述的音频数字信号的解码***,其特征在于,所述运算单元包括:
RAM,用于存储输入的待编解码运算的数字信号和中间运算结果;
ROM,用于存储运算系数;
第一寄存器,其输入端与所述RAM连接;
第二寄存器,其输入端与所述ROM连接;
乘法器,其两个输入端分别与所述第一寄存器的输出端和所述第二寄存器的输出端连接;
第三寄存器,其输入端与所述乘法器的输出端连接;
第一选择器,其第一数据输入端与所述第一寄存器的输出端连接;
第二选择器,其第一数据输入端与所述第一寄存器的输出端连接,第二数据输入端与所述第三寄存器的输出端连接;
加/减法器,其两个输入端分别与所述第一选择器的输出端和所述第二选择器的输出端连接;
第四寄存器,其输入端与所述加/减法器的输出端连接,其输出端与所述第一选择器的第二数据输入端连接;
地址控制单元,其与所述RAM和所述ROM连接,用于生成存取数据的地址;
寄存器选择单元,其与所述第一寄存器、第二寄存器、第三寄存器、第四寄存器以及所述寄存器组连接,用于选择参与运算的寄存器;
乘法器控制单元,其与所述乘法器连接,用于控制所述乘法器的运算;
选择器控制单元,其与所述第一选择器和所述第二选择器连接,用于从所述第一选择器和所述第二选择器的两个输入的数据中选择合适的数据输出;
加/减法器控制单元,其与所述加/减法器连接,用于控制所述加/减法器的运算。
CN2010101730982A 2010-05-10 2010-05-10 对音频数字信号进行编码、解码的方法及*** Pending CN102243872A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101730982A CN102243872A (zh) 2010-05-10 2010-05-10 对音频数字信号进行编码、解码的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101730982A CN102243872A (zh) 2010-05-10 2010-05-10 对音频数字信号进行编码、解码的方法及***

Publications (1)

Publication Number Publication Date
CN102243872A true CN102243872A (zh) 2011-11-16

Family

ID=44961889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101730982A Pending CN102243872A (zh) 2010-05-10 2010-05-10 对音频数字信号进行编码、解码的方法及***

Country Status (1)

Country Link
CN (1) CN102243872A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006008817A1 (ja) * 2004-07-22 2006-01-26 Fujitsu Limited オーディオ符号化装置及びオーディオ符号化方法
CN1858998A (zh) * 2006-04-20 2006-11-08 上海交通大学 数字音频滤波器的无乘法实现方法
CN1890712A (zh) * 2003-12-04 2007-01-03 皇家飞利浦电子股份有限公司 音频信号编码
CN1997988A (zh) * 2003-09-29 2007-07-11 索尼电子有限公司 在音频编码过程中根据mdct数据进行视窗类型判定的方法
CN101061533A (zh) * 2004-10-26 2007-10-24 松下电器产业株式会社 语音编码装置和语音编码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997988A (zh) * 2003-09-29 2007-07-11 索尼电子有限公司 在音频编码过程中根据mdct数据进行视窗类型判定的方法
CN1890712A (zh) * 2003-12-04 2007-01-03 皇家飞利浦电子股份有限公司 音频信号编码
WO2006008817A1 (ja) * 2004-07-22 2006-01-26 Fujitsu Limited オーディオ符号化装置及びオーディオ符号化方法
CN101061533A (zh) * 2004-10-26 2007-10-24 松下电器产业株式会社 语音编码装置和语音编码方法
CN1858998A (zh) * 2006-04-20 2006-11-08 上海交通大学 数字音频滤波器的无乘法实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李琳: "音频感知编码模型及关键技术的研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Similar Documents

Publication Publication Date Title
US20200334161A1 (en) Programmable interface to in-memory cache processor
US11416165B2 (en) Low synch dedicated accelerator with in-memory computation capability
CN110276450B (zh) 基于多粒度的深度神经网络结构化稀疏***和方法
CN102968390B (zh) 基于预先解码分析的配置信息缓存管理方法及***
US11502696B2 (en) In-memory analog neural cache
CN101796578B (zh) 用于语音和音频译码应用的mdct/imdct滤波器组的有效设计
CN101330616B (zh) 视频解码过程中反离散余弦变换的硬件实现装置及方法
CN104011794A (zh) 具有并行架构的音频编码器
AU2004300713B2 (en) Device and method for conversion into a transformed representation or for inversely converting the transformed representation
CN100435137C (zh) 用于处理至少两个输入值的装置和方法
CN107154062A (zh) 一种WebP有损压缩算法的实现方法、装置及***
CN101930426A (zh) 信号处理方法、数据处理方法及装置
CN100433837C (zh) 视频编码的整数变换方法
CN104217726A (zh) 一种无损音频压缩编码方法及其解码方法
Xiyuan et al. A Review of FPGA‐Based Custom Computing Architecture for Convolutional Neural Network Inference
TW200913511A (en) Configurable common filterbank processor applicable for various audio video standards and processing method thereof
CN102243872A (zh) 对音频数字信号进行编码、解码的方法及***
CN101640791A (zh) 一种解码方法、装置和解码器
CN107368459A (zh) 基于任意维数矩阵乘法的可重构计算结构的调度方法
CN101540172B (zh) 一种音频数据的编解码***及方法
CN103455367A (zh) 用于实现可重构***中多任务调度的管理单元和方法
CN100546197C (zh) 适用于多音频标准通用滤波器单元的vlsi实现方法
Tsai et al. Low-power system design for MPEG-2/4 AAC audio decoder using pure ASIC approach
CN202995712U (zh) 基于预先解码分析的配置信息缓存管理***
CN101179278B (zh) 音响***及其声音讯号编码的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: JUXIN(ZHUHAI) TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: JULI INTEGRATED CIRCUIT DESIGN CO., LTD.

Effective date: 20150108

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

Effective date of registration: 20150108

Address after: 519085, C, No. 1, No. four, 1 hi tech Zone, Tang Wan Town, Guangdong, Zhuhai

Applicant after: ACTIONS (ZHUHAI) TECHNOLOGY CO., LTD.

Address before: 519085, No. 1, Da Ha Road, Tang Wan Town, Guangdong, Zhuhai, -15-A101

Applicant before: Juli Integrated Circuit Design Co., Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111116