首页> 中国专利> 用于变换编码或解码的分析或合成加权窗口的自适应

用于变换编码或解码的分析或合成加权窗口的自适应

摘要

本发明涉及一种使用应用于样本帧的分析(hs)或合成(ha)加权窗口的数字音频信号的变换编码或解码的方法。所述方法包括对为具有给定初始大小N的变换提供的初始窗口进行不规则采样(E10),以应用具有大小为M的第二变换,M不同于N。本发明还涉及适用于实现上述方法的设备。

著录项

  • 公开/公告号CN103814406A

    专利类型发明专利

  • 公开/公告日2014-05-21

    原文格式PDF

  • 申请/专利权人 奥林奇公司;

    申请/专利号CN201280034844.7

  • 发明设计人 J·福尔;P·菲利浦;

    申请日2012-07-09

  • 分类号G10L19/022(20130101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人李芳华

  • 地址 法国巴黎

  • 入库时间 2023-12-17 00:30:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-11

    授权

    授权

  • 2014-07-23

    实质审查的生效 IPC(主分类):G10L19/022 申请日:20120709

    实质审查的生效

  • 2014-05-21

    公开

    公开

说明书

技术领域

本发明涉及信号处理,特别地涉及以连续样本形式的音频(例如语音信 号)和/或视频信号的处理。其具体地涉及通过变换对数字音频信号进行编码 和解码,并使分析或合成窗口适应于变换的大小。

背景技术

变换编码存在于在变换域(频域)对时间信号进行的编码中。特别地该 变换使得可以使用音频信号的频率特性以优化和增强编码性能。例如,利用 谐音在频域中由数量减少的光谱射线(spectral ray)表示,因此可以简明地对 其进行编码的事实。例如,频率掩蔽效应也用于将编码噪声有利地安排为尽 可能听不见的形式。

通常,通过五个步骤的应用来执行通过变换的编码和解码:

待编码的数字音频流(以给定的采样频率Fs采样)被划分成有限数量样 本(例如2N)的帧。通常每一帧与前一帧有50%的重叠。

对信号应用变换步骤。在被称为MDCT(修正离散余弦变换)的变换的 情况下,对每一帧应用大小为L=2N的加权窗口ha(称为分析窗口)。

根据2N至N的变换对加权帧进行“折叠”。例如,可以如下进行将由ha加权的大小为2N的帧T2N“折叠”为大小为N的帧TN

TN(k)=-T2N(3N2-k-1)ha(3N2-k-1)-T2N(3N2+k)ha(3N2+k)TN(N/2+k)=T2N(k)ha(k)-T2N(N-k-1)ha(N-k-1)

k∈[0;N/2-1]      (1)

对折叠帧TN应用DCT IV以获得变换域中大小为N的帧。其被如下表示:

TN(u)=2MΣk=0N-1TN(k)cos[πM(k+12)(u+12)]

然后通过使用匹配量化器对变换域中的帧进行量化。所述量化可以减少 待发送数据的大小,但在原始帧中引入噪声(听得到的或听不到的)。编码的 比特率越高,减少的该噪声就越多,并且量化帧越接近原始帧。

在对量化帧进行解码时应用逆MDCT变换。其包括两个步骤:通过使用 逆DCT IV(其被表示为直接变换)将大小为N的量化帧转换为时域中大小 为N的帧然后对大小为N的时间帧应用从N“展开”至2N的第二步 骤。根据下面的等式将被称为合成窗口的加权窗口hs应用于大小为2N的帧

T2N*(k)=TN*(N2+k)hs(k)T2N*(N2+k)=-TN*(N-k-1)hs(N2+k)T2N*(N+k)=-TN*(N2-k-1)hs(N+k)T2N*(3N2+k)=-TN*(k)hs(3N2+k)

K∈[0;N/2-1]    (2)

然后通过将两个连续帧的重叠部分相加来合成解码音频流。

注意,该方案可以扩展到具有更大重叠的变换,例如ETL,对于(2K-1)N 的重叠,ETL的分析和合成滤波器的大小为L=2KN。因此,MDCT为ELT 当K=1时的特殊情况。

对于变换以及给定的重叠,确定分析和合成窗口,使得可以获得待编码 信号(在没有量化的情况下)的所谓的“完全”重构。当原始X信号和重构信 号之间的差别可以忽略不计时,所述重构也可以是“准完全”重构。例如,在 音频编码中,误差功率比被处理信号X的功率低50dB的差别可以忽略不计。

例如,连续两帧分析和合成窗口都没有改变的情况下,它们应当遵循下 面的完全重构条件:

ha(N+k)hs(N+k)+ha(k)hs(k)=1ha(N+k)hs(2N-k-1)-ha(k)hs(N-1-k)=0

k∈[0;N-1]       (3)

因此,将容易理解,在大多数编解码器中,分析和合成窗口被存储在存 储器中,它们或是提前计算并存储在ROM存储器中,或是使用公式初始化 并仍然存储在RAM存储器中。

除了有时指数反转(hs(k)=ha(2N-1-k)),大多数时间分析和合成窗口是 相同的(hs(k)=ha(k)),因而它们只需要大小为2N的单独存储空间以将它们 存储在存储器中。

不论是管理多个采样频率,还是使分析(因而合成)窗口的大小适应音 频内容(例如在转变的情况下),新的编解码器都使用不同的帧大小N工作。 在这些编解码器中,ROM或RAM存储器包含与不同的帧大小同样多的分析 和/或合成窗口。

编码器或解码器的分析或合成窗口的系数(也称为样本)应当被存储在 存储器中,以执行分析或合成变换。显然,在使用不同大小的变换的特殊情 况下,每个使用的大小的加权窗口必须表现在存储器中。

在有利的情况下,其中窗口是对称的,只需要存储L/2个系数,另外L/2 个系数可以不经任何算数运算从这些已存储的系数中推导出。因此,对于 MDCT(K=1),如果需要进行大小为M和2.M的变换,则如果窗口是对称的, 就必须存储(M+2M)=3M个系数,否则必须存储(2M+4M)=6M个系数。 音频编码的典型示例是M=320或M=1024。因此,对于非对称的情况,这意 味着必须分别存储1920和6144个系数。

根据表现系数所需的精度,每个系数需要16比特甚至24比特。这对于 低成本计算机而言意味着不小的存储空间。

已存在分析或合成窗口抽取技术。

例如为了从N个样本改变为M个样本(N为M的倍数),简单的窗口抽 取存在于在N/M个样本中抽取一个样本,其中N/M为大于1的整数。

这种计算不能遵循等式(3)中给出的完全重构等式。

例如,在合成窗口为分析窗口的时间反转的情况下,适用下面的等式:

hs(2N-k-1)=ha(k)=h(k)

对于k∈[0;2N-1]       (4)

完全重构条件变为:

h(N+k)h(N-k-1)+h(k)h(2N-k-1)=1

对于k∈[0;2N-1]       (5)

编码中通常使用以符合该条件窗口为Malvar正弦窗口:

h(k)=sin(π2N(k+0.5))

对于k∈[0;2N-1]       (6)

如果通过在N/M个样本中抽取一个来对窗口h(k)进行抽取,则该窗口变 为:

h*(k)=h(kNM)=sin(π2N(kNM+0.5))

对于k∈[0;2M-1]

对于大小为2M的h*(k)确认完全重构条件(在等式(3)中),

h*(M+k)h*(M-k-1)+h*(k)h*(2M-k-1)=cos(π2N(kNM+0.5))cos(π2N(kNM+NM-0.5))+sin(π2N(kNM+0.5))sin(π2N(kNM+NM-0.5))=1

对于k∈[0;M-1]

N/M必须等于1;现在,将N/M定义为大于1的整数,因此,对于这种 抽取,无法确认完全重构条件。

很容易对这里采用的示例进行推广。因此,通过对基本窗口进行直接抽 取以获得大小减小的窗口,无法确保完全重构特性。

还存在一种加权窗口插值技术。例如,在已公布专利申请EP2319039中 描述了这种技术。

当需要较大大小的窗口时,该技术可以减小存储在ROM中的窗口的大 小。

因此,代替存储大小为2N和4N的窗口,所述专利申请提出将2N窗口 的样本分配给4N窗口中两个样本中的一个并只在ROM中存储缺失的2N个 样本。因此ROM中的存储大小从4N+2N减小为2N+2N。

然后,该技术也需要在应用实际变换之前进行初步的分析和合成窗口计 算。

因此,需要在存储器中只存储数量减小的分析窗口和合成窗口,以在遵 循完全重构条件的同时应用不同大小的变换。此外,避免在通过变换编码之 前对这些窗口进行初步计算的步骤也被认为是需要的。

发明内容

本发明改善所述情况。为此,其提出一种通过使用应用于样本帧的分析 (ha)或合成(hs)加权窗口的变换来对数字音频信号进行编码或解码的方 法。所述方法是这样的,其包括对为给定初始大小N的变换提供的初始窗口 进行不规则采样(E10),以应用大小为M的第二变换,M不同于N。

因此,根据为大小为N的变换提供的已存储的初始窗口,可以在没有执 行初步计算且没有存储其他不同大小的窗口的情况下,应用不同大小的变换。

因此,任何大小的单个窗口都足以使其适应于不同大小的变换。

不规则采样使得可以在解码期间遵循所谓的“完全”或“准完全”重构条件 成。

下面提到的各种具体实施例可以被独立地或彼此结合地添加至上面定义 的编码和解码步骤。

根据优选的实施例,采样步骤包括根据初始窗口的第一系数d(其中 0≤d<N/M),选择遵循预定完全重构条件的系数N-d-1、N+d、2N-d-1的定 义集合。

因此,可以根据系数集合确定与不同大小的第二变换匹配同时遵循完全 重构条件的窗口。

有利的是,当N大于M时,通过至少保留定义集合的系数来对初始窗 口执行抽取以获得抽取窗口。

因此,可以从已存储的较大大小的分析或合成窗口中获得在解码中也符 合完全重构条件的较小大小的窗口。

在具体的示例性实施例中,所述方法包括选择与定义集合的系数间隔常 数差的第二系数集合,并且还通过保留第二集合的系数来执行抽取以获得抽 取窗口。

因此,可以获得与所需变换大小匹配的抽取。这使得可以最好地保存所 获得的窗口的频率响应。

在具体实施例中,根据下面的等式执行将大小为2N的窗口抽取为大小 为2M的窗口:

对于k∈[0;M/2-1]

其中h*为抽取后的分析或合成窗口,h为初始的分析或合成窗口,为 小于等于X的最接近的整数,为大于等于X的最接近的整数,并且d为定 义集合的第一系数的值。

因此,即使当初始窗口和所获得的窗口之间的系数数量并不是成倍的, 也可以从较大大小的窗口获得不同大小的窗口。

当N小于M时,通过在定义系数集合的每个系数和相邻系数集合的每 个系数之间插入系数来执行插值以获得插值窗口。

所述插值窗口也遵循完全重构并可以根据已存储的较小大小的窗口在运 行中计算得到。

在具体实施例中,所述方法包括选择与定义集合的系数间隔常数差的第 二系数集合,并且还通过在第二集合的每个系数和相邻系数集合的每个系数 之间插入系数来执行插值以获得插值窗口。

因此,可以获得与所需变换大小匹配的插值。这使得可以最好地保留所 获得的窗口的频率响应。

为了使插值窗口的频率响应最优化,在具体实施例中,所述方法包括计 算补充窗口以对所述窗口进行插值,所述补充窗口包括根据集合的定义系数 和根据相邻系数计算的系数。

在优选的实施例中,在实现用于计算第二变换的时间折叠或展开的步骤 期间,执行不规则采样步骤和对初始窗口进行的抽取或插值。

因此,对分析或合成窗口进行的抽取或插值是与实际变换步骤同时执行 的,因此是在运行中执行的。因此不再需要在编码之前执行初步计算,在编 码期间获得与变换大小匹配的窗口。

在示例性实施例中,在实现用于计算第二变换的时间折叠和展开的步骤 期间,执行对初始窗口进行的抽取和插值两者。

这使得可以提供从存储在存储器中的单个窗口获得不同大小的窗口的更 大可能性。

在抽取的具体实施例中,根据下面的等式执行时间折叠期间的抽取:

k∈[0;M/2-1]

其中TM为M个样本的帧,T2M为2M个样本的帧,并且根据下面的等式执行 时间展开期间的抽取:

k∈[0;N/2-1]

其中为M个样本的帧,为2M个样本的帧。

在具体地匹配的示例性实施例中,当第二变换的大小为M=3/2N时,根 据下面的等式在时间折叠期间执行其后跟随插值的对初始窗口进行的抽取:

TM(k+1)=-T2M(3M2-(k+1)-1)h(3N2-k/2-1)-T2M(3M2+k+1)h(3N2+k/2)TM(k)=-T2M(3N2-k-1)hcomp(3N2-k/2-1)-T2M(3N2+k)hcomp(3N2+k/2)TM(N/2+k)=T2M(k)h(k/2)-T2M(N-k-1)h(N-k/2-1)TM(N/2+k+1)=T2M(k+1)hcomp(k/2)-T2M(N-(k+1)-1)hcomp(N-k/2-1)

k/2∈[0;N/2-1]

其中TM为M个样本的帧,T2M为2M个样本的帧,hcomp为补充窗口, 且当第二变换的大小为M=3/2N时,根据下面的等式在时间展开期间执行其 后跟随插值的对初始窗口进行的抽取:

T2M*(k)=TM*(N2+k)h(2N-k/2-1)T2M*(k+1)=TM*(N2+k+1)hcomp(2N-k/2-1)T2M*=(N2+k+1)=-TM*(N-(k+1)-1)h(3N2-k/2-1)T2M*(N2+k)=-TM*(N-k-1)hcomp(3N2-k/2-1)T2M*(N+k)=-TM*(N2-k-1)h(N-k/2-1)T2M*(N+k+1)=-TM*(N2-(k+1)-1)hcomp(N-k/2-1)T2M*(3N2+k+1)=-TM*(k+1)h(N2-k/2-1)T2M*(3N2+k)=-TM*(k)hcomp(N2-k/2-1)

k/2∈[0;N/2-1]

其中TM为M个样本的帧,T2M为2M个样本的帧,hcomp为补充窗口。

本发明还针对一种用于通过使用应用于样本帧的分析或合成加权窗口的 变换来对数字音频信号进行编码或解码的设备。所述设备是这样的,其包括 采样模块,所述采样模块适配用于对为给定初始大小N的变换提供的初始窗 口进行不规则采样,以应用大小为M的第二变换,M不同于N。

该设备提供与前面描述的其实现的方法相同的优点。

其针对一种计算机程序,所述计算机程序包括当被处理器运行时用于实 现所述编码或解码方法的步骤的代码指令。

最后,本发明涉及一种处理器可读存储介质,其并入或没有并入所述编 码或解码设备,可能是可移除的,存储实现前面描述的编码或解码方法的计 算机程序。

附图说明

在参考附图阅读仅作为非限制性示例给出的下面的描述时,本发明的其 他特征和优点将更显而易见,其中:

-图1示出一个实施例中的实现本发明的编码和解码系统的示例;

-图2示出根据本发明的分析或合成窗口抽取的示例;

-图3示出根据本发明的实施例的对分析或合成窗口进行不规则采样以 获得窗口的示例;

-图4(a)和4(b)示出本发明的一个实施例中的有理数因子(2/3)的 分析或合成窗口的不规则采样。图4(a)示出抽取子步骤,而图4(b)呈现 插值子步骤;并且

-图5示出根据本发明的编码或解码设备的硬件实施例的示例。

具体实施方式

图1示出用于通过变换进行编码和解码的系统,其中大小为2N的单个 分析窗口和单个合成窗口被存储在存储器中。

由采样模块101以采样频率Fs对数字音频流X(t)进行采样,因此获得2M 个样本的帧T2M(t)。通常每一帧与前一帧有50%的重叠。

然后由模块102和103对信号应用变换步骤。模块102对为大小为N的 变换提供的已存储的初始窗口执行采样,以应用大小为M的第二变换,M不 同于N。然后对2N个系数的分析窗口ha执行采样以使其适应于2M个信号样 本的帧。

在N为M的倍数的情况下,其为抽取,在N为M的约数的情况下,其 为插值。提供N/M为其中任意一种的情况。

稍后将参考图2和3详述由模块102实现的步骤。

模块102还根据2M至M的变换对加权帧执行折叠。有利的是,该折叠 步骤与如稍后描述的不规则采样和抽取或插值步骤相结合地执行。

因此,在模块102之后,信号的形式为M个样本的帧TM(t)。然后,例如, 由模块103应用DCT IV类型的变换,以在变换域中获得大小为M的帧TM, 也就是说,此处为在频域中。

然后,这些帧被量化模块104量化,并以量化索引形式IQ被发送给解码 器。

解码器通过模块114执行反量化以在变换域中获得帧例如,逆变换 模块113执行逆DCT IV以在时域中获得帧

然后由模块112对帧执行从M至2M个样本的展开。由模块112通 过对大小为2N的窗口hs进行抽取或插值,获得大小为2M的合成加权窗口。

在N大于M的情况下,其为抽取,而在N小于M的情况下,其为插值。

稍后将参考图2和3详述由模块112实现的步骤。

对于编码,有利的是,该展开步骤与不规则采样和抽取或插值步骤相结 合地执行,并将稍后描述。

然后通过在模块111中对重叠部分求和来合成解码音频流

现在更详细地描述模块102和模块112。

这些模块执行不规则采样步骤E10以定义与第二变换的大小M匹配的窗 口。

因此,根据已存储的大小为2N的窗口(ha或hs)的第一系数d(其中 0≤d<N/M),选择遵循预定完全重构条件的系数N-d-1、N+d、2N-d-1的定 义集合。

根据该集合,根据N大于M还是小于M,在E11中对所述窗口执行抽 取或插值,以从2N个样本的窗口改变为2M个样本的窗口。

寻求预定完全重构条件。为此,必须以遵循下面的等式的方式执行采样 (确保为合成和分析所选择的系数虑及对于大小为N的变换的完全重构):

ha(N+k)hs(N+k)+ha(k)hs(k)=1ha(N+k)hs(2N-k-1)-ha(k)hs(N-1-k)=0

k∈[0;N-1]

因此,为了使抽取窗口遵循等式(3)的完全重构条件,根据分析窗口上 的点ha(k)(对于k∈[0;2N-1]),仅分析窗口上的点ha(N+k)以及合成窗口上的 点hs(k)、hs(N+k)、hs(2N-1-k)和hs(N-1-k)达到完全重构条件。

然而,通过仅保留这6个点,随后将观察到存在不一致,分析窗口以N 进行抽取,而合成窗口以N/2进行抽取。

类似地,将注意到,如果抽取涉及选择分析窗口ha(N-k-1)上的点 N-k-1,则仅选择分析窗口上的点ha(2N-1-k)和合成窗口上的4个所述点 hs(k)、hs(N+k)、hs(2N-1-k)和hs(N-1-k)使得可以遵循完全重构条件。

因此,在如参考图2所示的抽取期间,为了遵循(3)中的完全重构条件, 根据对于0<d<N/M采用系数d,肯定还需要选择分析窗口上的下面的系数 N-d-1,N+d,2N-1-d和合成窗口上的系数d,N+d,2N-1-d和N-1-d, 以使得分析窗口和合成窗口之间的抽取大小相同。

在实践中,如图2中所示,完全重构条件仅独立地应用于8个点的子集。

因此执行对分析窗口和合成窗口上的系数d、N-d-1、N+d,2N-1-d的 定义集合的选择。

然后,通过至少保留定义集合的系数来执行抽取以获得抽取窗口,其它 系数可以删除。因此获得遵循完全重构条件的最小抽取窗口。

因此,如在图2中参考的示例所示,为了获得最小抽取分析窗口,仅保 留点ha(k)、ha(N+k)、ha(2N-1-k)和ha(N-1-k)。

对于合成窗口,选择相同的系数集合,并通过至少保留定义集合的系数 来进行抽取以获得抽取窗口。

因此,如在图2中参考的示例所示,为了获得最小抽取合成窗口,仅保 留点hs(k)、hs(N+k)、hs(2N-1-k)和hs(N-1-k)。

假定点之间是对称的,在合成窗口为分析窗口的时间反转的情况下,仅 需要抽取4个点的子集(h(k)、h(N+k)、h(2N-1-k)和h(N-1-k))。

因此,通过选择上面定义的集合,可以在保留完全重构特性的同时,通 过在0和N-1之间选择任何k个值,来对分析和/或合成窗口进行抽取。

匹配的抽取使得可以最好地保留待抽取窗口的频率响应。

在匹配的抽取的情况下,变换大小为M,采用分析(或合成)窗口的第 一个四分之一上的N/M个系数中的一个系数,并选择与定义集合的系数间隔 常数差(N/M)的第二系数集合。因此,除了系数d、N-d-1、N+d,2N-1-d 之外,通过保存第二集合的系数来执行抽取以获得抽取窗口。

图3示出与大小为M的变换匹配的不规则采样的示例。所示窗口被分成 4份。

假定完全重构条件,获得下面的等式以获取大小为2M的抽取窗口:

对于k∈[0;M/2-1]

其中h*为插值或抽取分析或合成窗口,h为初始分析或合成窗口,为 小于等于X的最接近的整数,为大于等于X的最接近的整数,d为偏移量。

偏移量为窗口的第一个四分之一上起始样本d的函数。

因此,模块102的步骤E10包括选择与定义集合的系数(d、N-d-1、 N+d,2N-d-1)间隔常数差(在此为N/M)的第二系数集合。可以将相同 的常数差应用于选择第三系数集合。

在实践中,例如,如果窗口以3抽取,也就是说N/M=3,则因此每个窗 口部分中的差为3。如果定义集合的第一系数为d=0,则间隔常数差的第二 和第三集合的系数为3和6,以此类推。

类似地,如果d=1,则间隔常数差的第二和第三集合的第一系数为1、4、 7…,或者对于d=2,系数为2、5、8…。

因此等式7中的“d”可以取值0、1或2(包括在0和N/M-1之间)。

图3表示在窗口的第一个四分之一中选择的第一系数为d=1的情况。

则间隔常数差的第二和第三集合的系数为4和7。

下面的表1示出为了将大小为N=48的变换改变为较小大小的变换 (M=24、16、12和8)所保留的点。因此可以看出,为了实现大小为M=8 的变换,在分析或合成窗口中考虑样本0、6、12、18、29、35、41、47、48、 54、60、66、77、83、89和95,因此示出不规则采样。

表1

下面的表2示出用于将为大小为N=48的变换提供的初始窗口改变为适 用于产生大小为N=6的变换的窗口的实施例。因此,存在N/M=8的抽取, 并且对于值d=0…7存在7种可能性。所述表指示与初始窗口中保留的值对应 的索引值。

表2

为了具有更接近原始窗口的频率响应,本发明提出将值设置为 该条件是非限制性的。

如果起始点被认为是每一段的结束,则等式7变为:

对于k∈[0;M/2-1]

在每一部分中,也可以任意选择大小为2N的初始窗口中的点,以执行 大小为M的变换。根据第一系数(h(d)),可以从窗口的第一个四分之一中 任意采用M/2-1个系数,其中索引为dk,条件是选择在其他三个部分中选择 索引为2N-1-dk、N-1-dk和N+dk的系数。这特别有利于改善所构造的大小 为2M的窗口的频率响应或连续性:通过精明地选择索引dk可以特别地限制 不连续性。

下面的表3示出具体实施例,其中2N=48,2M=16。

k 索引 0 1 1 5 2 11 3 19 4 28 5 36 6 42 7 46 8 49 9 53 10 59 11 67 12 76 13 84 14 90 15 94

在有利实施例中,模块102和112在与信号的折叠和展开的步骤同时执 行采样步骤。

在这里描述的情况下,通过在模块102中在运行中对大小为2N的分析 加权窗口ha进行抽取或插值,来将其应用于大小为2M的每个帧。

通过将描述折叠步骤的等式(1)和描述不规则抽取的等式(7)组合在 一起来执行该步骤。

根据2M至M的变换对加权帧进行“折叠”。例如可以如下进行将加权 为ha(大小为2N)的大小为2M的帧T2M“折叠”为大小为M的帧TM

k∈[0;M/2-1]

                 (9)

因此,在将大小为2M的帧折叠为大小为M的帧的同时进行将大小为2N 的窗口抽取为大小为2M的窗口的步骤。

所执行的计算与用于传统折叠的计算的复杂度相同,只有索引改变。该 在运行中进行的抽取运算不会带来额外的复杂度。

类似地,在解码时,在模块122中在运行中将大小为2N的合成加权窗 口hs抽取为大小为2M的窗口以应用于大小为2M的每个帧。通过将展开等式 (2)和抽取等式(7)或(8)组合在一起来执行该步骤。

因此获得下面的等式:

k∈[0;N/2-1]       (10)

再次,这些等式与传统的展开等式相比不会导致任何额外的复杂度。它 们使得可以在没有执行任何初步计算且没有必要存储的额外的窗口的情况 下,在运行时获得窗口抽取。

在合成窗口为分析窗口的时间反转(hs(k)=ha(2N-1-k)),并且N/M的比 值为整数(因此仅进行抽取)的情况下,等式10变为:

T2M*(k)=TM*(M2+k)hs((2M-k)NM-1-d)T2M*(M2+k)=-TM*(M-k-1)hs((3M2-k-1)NM+d)T2M*(M+k)=-TM*(M2-k-1)hs((M-k)NM-1-d)T2M*(3M2+k)=-TM*(k)hs((M2-k-1)NM+d)

k∈[0;N/2-1]       (11)

该实施例使得可以只在存储器中存储在进行分析和合成时使用的单个窗 口。

因此示出可以将折叠/展开和抽取步骤相结合,以执行通过使用大小为N 的分析/合成窗口的大小为M的变换。通过本发明,在不使用额外存储器的情 况下,可以获得复杂度等于使用大小为M的分析/合成窗口的大小为M的变 换的应用。注意,该效果体现在基于DCT IV的MDCT变换的有效实现方式 中(如H.S.Malvar,Signal Processing with Lapped Transforms,Artech House, 1992中所建议的),该效果也可以体现在其他有效实现方式中,特别是 Duhamel等在ICASSP91会议上呈现的“A fast algorithm for the implementation  of filter banks based on TDAC”中所提出的。

该方法是非限制性的,其可以特别地应用于分析窗口呈现0s,以及其通 过偏移量(通过在呈现0s的部分之前的窗口部分对最近的声音样本进行加权) 应用于帧以减小编码延时的情况。在该情况下,分配给所述帧的索引和分配 给窗口的索引为偏移量。

在具体实施例中,下面是在存在大小为2N的窗口h且存在大小为M的 帧的情况下插值方法的描述。

在N小于M的情况下,还执行遵循完全重构条件的系数集合的类似选 择。还确定与定义集合的系数相邻的系数集合。然后通过在定义系数集合的 每个系数和相邻系数集合的每个系数之间插入系数来执行插值,以获得插值 窗口。

因此,为了遵循由等式(3)定义的完全重构条件,如果目的是在位置k 和k+1之间插入样本,则计划在分析窗口上的位置ha(k)和ha(k+1)、ha(N-k-1) 和ha(N-k-2)、ha(N+k)和ha(N+k+1)、ha(2N-k-1)和ha(2N-k-2)之间以及合 成窗口上的位置hs(k)和hs(k+1)、hs(N+k)和hs(N+k+1)、hs(2N-1-k)和 hs(2N-k-2)、hs(N-1-k)和hs(N-k-2)之间插入点。新插入的8个点也遵循等 式(3)的完全重构条件。

在第一实施例中,通过重复定义集合的系数或相邻系数集合的系数来执 行插值。

在第二实施例中,通过计算一个系数(hcomp)来执行插值,以获得对 所获得的窗口的更好的频率响应。

为此,执行计算大小为2N的补充窗口hinit的第一步骤。该窗口为在大小 为2N的h的系数之间进行插值的形式,使得:

在第二步骤中,根据EP2319039的方法计算窗口hcomp,使其表现出完 全重构。对此,根据下式计算窗口的定义集的系数:

该窗口在初始化时计算,或存储在ROM中的。

可以结合插值和抽取步骤,以呈现其中有效地应用变换的实施例。

参考图4(a)和4(b)示出该实施例。

其分成两个步骤:

●在图4(a)中所示的第一步骤中,所述方法始于大小为2N的窗口ha以获得大小为2N′的第二窗口h(在此2N=96且2N′=32,也就是说, 执行因数为3的抽取)。该抽取是不规则的并且遵照等式(7)。

●在图4(b)中所示的第二步骤中,补充系数集合hcomp被添加至h的 2N′个系数,以获得总共2M个系数(在此,补充系数的数量为2N′, 因此得到2M=4N’)。

在图4(a)和4(b)中的具体实施例中,通过构造大小为2M=64的窗 口,将为大小为N=48的MDCT提供的大小为2N=96的初始窗口转换为意图 实现大小为M=32的MDCT的窗口。

在变换时,在模块102中,提供遵循下面的等式交替地应用窗口h和窗 口hcomp:

TM(k+1)=-T2M(3M2-(k+1)-1)h(3N2-k/2-1)-T2M(3M2+k+1)h(3N2+k/2)TM(k)=-T2M(3N2-k-1)hcomp(3N2-k/2-1)-T2M(3N2+k)hcomp(3N2+k/2)TM(N/2+k)=T2M(k)h(k/2)-T2M(N-k-1)h(N-k/2-1)TM(N/2+k+1)=T2M(k+1)hcomp(k/2)-T2M(N-(k+1)-1)hcomp(N-k/2-1)

(14)

类似地,在模块112中进行逆变换时,根据下面的等式交替地应用窗口h 和窗口hcomp:

T2M*(k)=TM*(N2+k)h(2N-k/2-1)T2M*(k+1)=TM*(N2+k+1)hcomp(2N-k/2-1)T2M*=(N2+k+1)=-TM*(N-(k+1)-1)h(3N2-k/2-1)T2M*(N2+k)=-TM*(N-k-1)hcomp(3N2-k/2-1)T2M*(N+k)=-TM*(N2-k-1)h(N-k/2-1)T2M*(N+k+1)=-TM*(N2-(k+1)-1)hcomp(N-k/2-1)T2M*(3N2+k+1)=-TM*(k+1)h(N2-k/2-1)T2M*(3N2+k)=-TM*(k)hcomp(N2-k/2-1)

k/2∈[0;N/2-1]      (15)

根据本发明可以进行大量抽取。因此,根据存储在存储器中的单个窗口, 可以通过插值、通过抽取或通过对抽取窗口进行插值或反过来而获得不同大 小的窗口。

因此在没有以任何方式增加存储空间或待执行的计算的情况下,编码和 解码具有很好的灵活性。

在对MDCT进行折叠或展开时实现抽取或插值提供复杂度和灵活性的 额外减少。

图5呈现根据本发明的编码或解码设备的硬件实施例。该设备包括与具 有贮存器和/或工作存储器MEM的存储器模块BM协作的处理器PROC。

存储器模块可以有利地包括计算机程序,其包括代码指令,当这些指令 被处理器PROC运行时,所述指令用于实现根据本发明的编码或解码方法的 步骤,并且特别地对为给定初始大小N的变换提供的初始窗口进行不规则采 样,以应用大小为M的第二变换,M不同于N。

通常,图1的描述重复这种计算机程序的算法的步骤。计算机程序也可 以存储在可以由设备的驱动器读取或下载至其存储空间中的存储介质上。

这种设备包括输入模块,其适用于在编码器的情况下接收音频流X(t)或 在解码器的情况下接收量化索引IQ

所述设备包括输出模块,其适用于在编码器的情况下发送量化索引IQ或 当在解码器的情况下发送解码音频流

在一个可能的实施例中,所描述的设备可以包括编码和解码功能两者。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号