CN102592601B - 一种信号处理方法和装置 - Google Patents

一种信号处理方法和装置 Download PDF

Info

Publication number
CN102592601B
CN102592601B CN201110004032.5A CN201110004032A CN102592601B CN 102592601 B CN102592601 B CN 102592601B CN 201110004032 A CN201110004032 A CN 201110004032A CN 102592601 B CN102592601 B CN 102592601B
Authority
CN
China
Prior art keywords
mrow
mfrac
centerdot
math
msubsup
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.)
Active
Application number
CN201110004032.5A
Other languages
English (en)
Other versions
CN102592601A (zh
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.)
Chaoqing Codec Co ltd
Original Assignee
Huawei Technologies 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
Priority to CN201110004032.5A priority Critical patent/CN102592601B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP11855360.1A priority patent/EP2664995A4/en
Priority to KR1020137019665A priority patent/KR101627900B1/ko
Priority to EP18203003.1A priority patent/EP3518121A1/en
Priority to PCT/CN2011/085197 priority patent/WO2012094952A1/zh
Priority to JP2013547798A priority patent/JP5783395B2/ja
Publication of CN102592601A publication Critical patent/CN102592601A/zh
Priority to US13/938,834 priority patent/US9519619B2/en
Application granted granted Critical
Publication of CN102592601B publication Critical patent/CN102592601B/zh
Priority to US15/345,074 priority patent/US9792257B2/en
Priority to US15/696,091 priority patent/US9996503B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本发明实施例公开了一种数据处理方法,包括:对输入数据进行重组,得到重组后的数据;使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为p=0,...,L/2-1,a为常数;对预旋转处理后的数据进行L/2个点的快速傅里(Fast Fourier Transform,FFT)变换,L为输入数据的长度;使用一个对称的旋转因子对FFT变换后的数据进行后旋转处理,旋转因子为q=0,...,L/2-1,b为常数;获得输出数据。

Description

一种信号处理方法和装置
技术领域
本发明涉及数字信号处理技术领域,尤其是一种信号处理方法和装置。
背景技术
在数字通信领域,语音、图像、音频、视频的传输有着非常广泛的应用需求,如手机通话、音视频会议、广播电视、多媒体娱乐等。为了降低音视频信号存储或者传输过程中占用的资源,音视频压缩编码技术应运而生。音视频压缩编码技术的发展中涌现出了很多不同的技术分支,其中将信号由时域变换到频域后再进行编码处理的技术,又称为变换域编码技术由于具有很好的压缩特性,得到了非常广泛的应用。
变换域编码技术中将信号由时域变换到频域的方法有很多种,其中傅立叶变换(Discrete Fourier transform,DFT)、离散余弦变换(Discrete CosineTransform,DCT)、离散正弦变换(Discrete sine transform,DST)以及修正离散余弦变换(Modified Discrete Cosine Transform,MDCT)等时频变换有着广泛的应用,在频谱分析、图像编码和语音编码等领域的应用尤其广泛。信号经过时频变换后可以使用量化技术进行压缩编码,也可以使用其他一些参数音频编码的方法进行编码,从而达到数据压缩的目的。
然而,发明人发现,直接根据变换公式进行DCT-IV或MDCT正变换与逆变换会导致很高的计算复杂度和存储量,提供一种低存储量的时域频域变换方法成为一种迫切的需要。
发明内容
本发明实施例的目的在于提供一种数据处理方法,减少音视频编码过程中时域频域变换处理的存储量。
根据本发明的一实施例,一种数据处理方法,用于实现音频编码过程中的时域信号与频域信号之间的变换,包括:
对输入数据进行重组,得到重组后的数据;
使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a为常数;
对预旋转处理后的数据进行L/2个点的快速傅里(Fast Fourier Transform,FFT)变换,L为输入数据的长度;
使用一个对称的旋转因子对FFT变换后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0 , . . . , L / 2 - 1 , b为常数;
获得输出数据。
根据本发明的另一实施例,一种时域到频域的信号处理方法,用于实现音频编码过程中的时域信号到频域信号的变换,包括:
对时域数据进行预处理,得到预处理后数据;
使用旋转因子对所述预处理后的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
其中,在获得频域数据之前还包括:利用固定旋转补偿因子进行固定旋转补偿的步骤;所述a、b为常数,所述N为时域数据长度,所述
根据本发明的另一实施例,一种频域到时域的信号处理方法,用于实现音频编码过程中的频域信号到时域信号的变换,包括:
对频域数据进行进行预处理,得到预处理后的数据;
使用旋转因子对所述预处理后的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
使用旋转因子对所述快速傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
其中,在获得时域数据之前还包括:利用固定旋转补偿因子进行固定旋转补偿的步骤;所述c、d为常数,所述N为两倍的频域数据长度,所述
根据本发明的另一实施例,一种信号处理装置,用于实现音频编码过程中的时域信号与频域信号之间的变换,包括:
重组单元,用于对输入数据进行重组,得到重组后的数据;
预旋转单元,用于使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a · W 4 L 2 p + 1 , p = 0 , . . . , L / 2 - 1 , a为常数;
变换单元,用于对预旋转处理后的数据进行L/2个点的快速傅里(FastFourier Transform,FFT)变换,L为输入数据的长度;
后旋转单元,用于使用一个对称的旋转因子对FFT变换后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0 , . . . , L / 2 - 1 , b为常数;
输出单元,用于获得输出数据。
根据本发明的另一实施例,一种时域到频域的信号处理装置,用于实现音频编码过程中的时域信号到频域信号的变换,包括:
预处理单元,用于对时域数据进行预处理,得到预处理后的数据;
预旋转单元,用于使用旋转因子对所述预处理后的数据进行预旋转处理;
变换单元,用于对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
后旋转单元,用于使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;其中,还包括:
固定补偿单元,用于利用固定旋转补偿因子进行固定旋转补偿处理;所述a、b为常数,所述N为时域数据长度,所述
根据本发明的另一实施例,一种频域到时域的信号处理装置,用于实现音频编码过程中的频域信号到时域信号的变换,包括:
预处理单元,用于对频域数据进行预处理,得到预处理后的数据;
预旋转单元,用于使用旋转因子对所述预处理后的数据进行预旋转处理;
变换单元,对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
后旋转单元,使用旋转因子对所述快速傅里叶变换后的数据进行后旋转处理;其中,还包括:
固定补偿单元,用于利用固定旋转补偿因子进行固定旋转补偿处理;所述c、d为常数,所述N为两倍的频域数据长度,所述
本发明实施例,预旋转和后旋转步骤使用的旋转因子具有对称性,可以降低数据存储量。同时,使用FFT可以加快变换的速度,降低其计算复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的时域到频域的DCT-IV变换方法一个实施例的流程示意图;
图2为本发明提供的时域到频域的DCT-IV变换方法另一个实施例的流程示意图;
图3为本发明提供的时域到频域的DCT-IV变换方法另一个实施例的流程示意图;
图4为本发明提供的时域到频域的MDCT变换方法一个实施例的流程示意图;
图5为本发明提供的频域到时域的MDCT变换方法一个实施例的流程示意图;
图6为本发明提供的时域到频域的MDCT变换方法另一个实施例的流程示意图;
图7为本发明提供的频域到时域的MDCT变换方法另一个实施例的流程示意图;
图8为本发明提供的信号处理装置一个实施例的结构示意图;
图9为本发明提供的时域到频域的信号处理装置一个实施例的结构示意图;
图10为本发明提供的频域到时域的信号处理装置一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
数字信号处理领域,音频编解码器、视频编解码器广泛应用于各种电子设备中,例如:移动电话,无线装置,个人数据助理(PDA),手持式或便携式计算机,GPS接收机/导航器,照相机,音频/视频播放器,摄像机,录像机,监控设备等。通常,这类电子设备中包括音频编码器或音频解码器,音频编码器或者解码器可以直接由数字电路或芯片例如DSP(digital signal processor)实现,或者由软件代码驱动处理器执行软件代码中的流程而实现。
例如一种音频编码器,首先对输入信号进行分帧处理,得到20ms一帧的时域数据;然后对时域数据进行加窗处理,得到加窗后的信号;对加窗后的时域信号进行频域变换,例如MDCT变换或者DCT-IV型变换,将信号由时域变换到频域;再对频域信号进行分带处理,得到分带以后的频域信号;然后对每一个子带信号的能量进行计算,并对子带能量进行量化编码,传输到解码端;接下来根据量化后的子带能量值进行基于听觉掩蔽效应的自适应比特分配,得到各个子带用于量化编码的比特数;最后对各个子带内的频点进行归一化处理,根据所分配的编码比特数,使用矢量量化技术对子带内归一化处理后的频点进行矢量量化,得到矢量量化的码书索引,编码后传输到解码端。解码端接收到由编码端传输出来的压缩码流以后,根据相应的解码步骤从码流中查找出各子带信号能量的码书索引,并得到各子带信号能量的量化值;根据这些量化值采用和编码端一致的比特分配技术,得到各个子带所分配的比特数;根据各个子带所分配的比特数,以及从码流中获取的各个子带的矢量量化的码书索引,得到各个子带量化后的归一化频域系数;根据各子带信号能量的量化值将各个子带量化后的归一化频域系数进行去归一化处理,得到完整的频域信号;对解码的到的频域信号进行编码端所用变换相对应的逆变换,将信号由频域变换到时域,对时域信号进行后处理后得到合成信号,即为解码端输出信号。时域到频域的信号处理方法又可称作正变换,频域到时域的信号处理方法又可称作逆变换。
DCT作为一种空间变换,其最大特点是具有能量紧致性,这就使得以DCT为基础的编码***会具有很好的压缩性能。第四型DCT(DCT-IV)经常用于音频和视频数据压缩。DCT-IV变换的公式为: 其中,k为0到L-1间的整数。可见,直接根据变换公式进行DCT-IV正变换与逆变换会导致很高的计算复杂度和存储量。由于DCT-IV变换在实时通信领域特别是音频编码中的广泛应用,减少DCT-V变换方法的存储量成为一种迫切的需要。
参考图1,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的时域到频域的DCT-IV变换,减少变换过程的存储量,该方法包括如下步骤:
S101:对时域数据进行重组,得到重组后的数据。
假设为需要进行DCT-IV型变换的数据,该数据可以是经过加窗等预处理步骤后的数据。对数据进行重组,得到重组后的数据z(p):
z ( p ) = x ~ ( 2 p ) + j · x ~ ( L - 1 - 2 p ) , p = 0,1,2 , · · · , L / 2 - 1
S102:使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a · W 4 L 2 p + 1 , p = 0 , 1,2 , . . . , L / 2 - 1 , a为常数。
将重组数据z(p)进行预旋转处理,旋转因子为其中 W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1 , a为常数。
由于旋转因子中的项可以写成以下形式:
W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1
满足 cos 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = cos 2 π ( L - ( 2 q + 1 ) ) 4 L = sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 sin 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = sin 2 π ( L - ( 2 q + 1 ) ) 4 L = cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 的条件,因此具体的实现过程中只需要存储一个L2点的余弦数据表格或者正弦数据表格 a · sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 · · · , L / 2 - 1 即可。
S103:对预旋转处理后的数据进行L/2个点的快速傅里叶变换(FastFourier Transform,FFT)。
S104:使用一个对称的旋转因子对FFT变换后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0 , . . . , L / 2 - 1 , b为常数;
对FFT变换后的数据进行后旋转处理,旋转因子为即q为0到L/2-1间的整数。其中 W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 , b为常数。
由于旋转因子中的项同样可以写成以下形式:
W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1
因此具体的实现过程中只需要存储一个L2点的余弦数据表格 b · cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 或者正弦数据表格 b · sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 即可。
在正变换中两个旋转因子的常数a、b乘积与逆变换中两个旋转因子的常数c、d乘积等于2/L时,以正变换的输出数据直接作为逆变换的输入数据,逆变换的结果可以完成完全重构,即恢复获得进行正变换前的数据,通常在实际操作中并不一定需要实现完全重构。关于常数a和b取值的选择,为了实现完全重构,只要满足正变换a与b的乘积乘上反变换c与d的乘积为2/L即可。在一个实施例中,a和b的乘积等于例如可以选取这样预旋转与后旋转只需要存储一个L2点的余弦数据表格即可。
S105:获得频域数据。
后旋转之后的数据的实部记为y(2q),是频域数据的奇数频率;后旋转之后的数据的虚部的相反数记为y(L-1-2q),是频域数据的偶数频率。
y ( 2 q ) = Re { Z ‾ ( q ) } y ( L - 1 - 2 q ) = - Im { Z ‾ ( q ) } , q = 0,1,2 , . . . , L / 2 - 1
其中 Z ‾ ( q ) = W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { z ( p ) * W 4 L 2 p + 1 } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1 为后旋转之后的数据。
由于原始DCT-IV变换的公式 y ( k ) = Σ n = 0 L - 1 x ~ ( n ) cos [ ( n + 1 2 ) ( k + 1 2 ) π L ] , k = 0,1,2 , . . . , L - 1 等价于:
y ( 2 q ) = Re { Z ‾ ( q ) } , y ( L - 1 - 2 q ) = - Im { Z ‾ ( q ) } , q = 0 , . . . , L / 2 - 1
其中
Z ‾ ( q ) = W 2 L q Σ p = 0 L / 2 - 1 { W 8 L 4 p + 1 z ( p ) } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1
z ( p ) = x ~ ( 2 p ) + j x ~ ( L - 1 - 2 p ) , p = 0 , . . . , L / 2 - 1 , W N = e - j 2 π N .
可以重新写为:
Z ‾ ( q ) = W 4 L - 1 * W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { W 8 L - 1 z ( p ) * W 4 L 2 p + 1 } W L / 2 pq , p , q = 0,1,2 , . . . , L / 2 - 1
其中,为了简化计算,可以取近似为1,近似为1。
y ( 2 q ) = Re { Z ‾ ( q ) } , y ( L - 1 - 2 q ) = - Im { Z ‾ ( q ) } , q = 0,1,2 , . . . , L / 2 - 1
其中 z ( p ) = x ~ ( 2 p ) + j x ~ ( L - 1 - 2 p ) , p = 0,1,2 , . . . , L / 2 - 1 .
W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1 , 2 , · · · , L / 2 - 1
W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1 , 2 , · · · , L / 2 - 1
旋转因子具备对称性特征,即满足
cos 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = cos 2 π ( L - ( 2 q + 1 ) ) 4 L = sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1
sin 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = sin 2 π ( L - ( 2 q + 1 ) ) 4 L = cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1
同样旋转因子也满足这样的对称性。
本实施例中,由于预旋转和后旋转步骤使用的旋转因子具有对称性,实现的时候,只需要为存储一个L/2个点的余弦表或一个L/2个点的正弦表,从而可以降低数据存储量。同时,使用FFT可以加快DCT-IV变换的速度,降低其计算复杂度。进一步地,省去固定旋转步骤可以在变换满足重构特性情况下进一步降低计算复杂度。
在另一个实施例中,在获得频域数据之前还包括:利用固定旋转补偿因子进行固定旋转补偿的步骤。由于变换公式中固定旋转补偿与其他部分的操作是相乘的关系,根据乘法的交换特性,可以进行一次固定旋转补偿也可以进行多次固定旋转补偿,固定旋转补偿的执行顺序可以在获得频域数据步骤之前的任意顺序。
在一个实施例中,采用进行一次固定旋转补偿;该固定旋转补偿的步骤可以是在预旋转之前或者在预旋转之后进行,还可以在后旋转之前进行或者在后旋转之后进行。执行一次补偿时,固定旋转补偿因子可以是为了进一步降低计算复杂度,可以用一些近似值来代替的固定旋转补偿。因此可以泰勒级数展开进行近似,例如用一阶泰勒级数展开结果作为的近似值,其中,表示实部为1虚部为的复数。
在另一个实施例中,执行两次固定旋转补偿时,固定旋转补偿因子可以是也可以是它们的近似值。第一次固定旋转补偿的补偿因子是中的任何一个,第二次固定旋转补偿的补偿因子是中的另一个。第一次固定旋转补偿可以是在预旋转之前或者在预旋转之后进行,第二次固定旋转补偿可以在后旋转之前进行或者在后旋转之后进行。为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值,用一阶泰勒级数展开结果作为的近似值。
显然的,由于乘法的交换特性,可以进行三次及以上的固定旋转补偿,各补偿因子的乘积为或者至少一个补偿因子为乘积为的至少一个因子的近似值。固定旋转补偿的因子也可以为1。
本实施例中,由于增加了固定旋转补偿的步骤,可以保证变换后得到数据与原始DCT-IV型变换后得到的数据一致,提高DCT-IV变换的准确度。
另外,DCT-IV的反变换与正变换的步骤是基本一致的,不同的是,逆变换中首先是对频域数据进行重组,而最终变换以后得到的是时域数据,旋转因子中的常数a和b变为常数c和d。
参考图2,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的时域到频域的DCT-IV变换,减少变换过程的存储量,该方法包括如下步骤:
S201:对时域数据进行重组,得到重组后的数据。
假设为需要进行DCT-IV型变换的数据,该数据可以是经过加窗等预处理步骤后的数据。对数据进行重组,得到重组后的数据z(p):
z ( p ) = x ~ ( 2 p ) + j · x ~ ( L - 1 - 2 p ) , p = 0,1,2 , · · · , L / 2 - 1
S202:使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a · W 4 L 2 p + 1 , p = 0,1,2 , . . . , L / 2 - 1 , a为常数。
将重组数据z(p)进行预旋转处理,旋转因子为其中 W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1 , a为常数。
由于旋转因子中的项可以写成以下形式:
W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1
满足 cos 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = cos 2 π ( L - ( 2 q + 1 ) ) 4 L = sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 sin 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = sin 2 π ( L - ( 2 q + 1 ) ) 4 L = cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 的条件,因此具体的实现过程中只需要存储一个L2点的余弦数据表格或者正弦数据表格 a · sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 · · · , L / 2 - 1 即可。
S203:进行第一次固定旋转补偿。
对预旋转后的数据进行固定旋转补偿,固定旋转补偿因子为为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值进行固定旋转补偿。
S204:对固定旋转补偿后的数据进行L/2个点的FFT变换。
S205:进行第二次固定旋转补偿。
将FFT变换后的数据乘以进行固定旋转补偿,或者将FFT变换后的数据乘以的近似值进行固定旋转补偿,近似值可以使用的泰勒级数展开获得,如使用一阶泰勒级数展开结果作为的近似值。
S206:对使用一个对称的旋转因子对固定旋转补偿后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0,1,2 , . . . , L / 2 - 1 . 其中 W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 , b为常数。
由于旋转因子中的项同样可以写成以下形式:
W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1
因此具体的实现过程中只需要存储一个L2点的余弦数据表格 b · cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 或者正弦数据表格 b · sin 2 π ( 2 p + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 即可。
关于常数a和b取值的选择,为了实现完全重构,只要满足正变换两个旋转因子的常数a与b的乘积乘上反变换两个旋转因子的常数c与d的乘积为2/L即可。一个实施例中,a和b的乘积等于c和d的乘积也等于另一个实施例中a和b的乘积等于1,c和d的乘积等于2/L。另一个实施例中选取这样预旋转与后旋转只需要存储一个L2点的余弦数据表格 2 4 L 4 cos 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1 即可。
S207:获得变换后的频域数据。
后旋转之后的数据的实部记为y(2q),是频域数据的奇数频率;后旋转之后的数据的虚部的相反数记为y(L-1-2q),是频域数据的偶数频率。
y ( 2 q ) = Re { Z ‾ ( q ) } y ( L - 1 - 2 q ) = - Im { Z ‾ ( q ) } , q = 0,1,2 , . . . , L / 2 - 1
其中 Z ‾ ( q ) = W 4 L - 1 * W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { W 8 L - 1 z ( p ) * W 4 L 2 p + 1 } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1 , 或者
Z ‾ ( q ) = ( 1 + j π 2 L ) * W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { ( 1 + j π 4 L ) * z ( p ) * W 4 L 2 p + 1 } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1 , 为后旋转之后的数据。
值得注意的是,实施例中的使用进行固定旋转补偿的步骤不仅可以在预旋转之后执行,也可以在预旋转之前进行;使用进行固定旋转补偿的步骤不仅可以在后旋转之前执行,也可以在后旋转之后进行。另外变换公式中两个固定旋转补偿与其他部分的操作是相乘的关系,可以适用乘法的交换特性,因此使用进行固定旋转补偿的步骤可以与使用进行固定旋转补偿的步骤互换。
本实施例中,采用两次固定旋转补偿步骤,可以保证FFT变换的输入数据与原DCT-IV变换中FFT的输入数据一致,同时可以保证变换后得到数据与原始DCT-IV型变换后得到的数据一致,提高DCT-IV变换的准确度。
另外,DCT-IV的反变换与正变换的步骤是基本一致的,不同的是,逆变换中首先是对频域数据进行重组,而最终变换以后得到的是时域数据,旋转因子中的常数a和b变为常数c和d。
参考图3,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的时域到频域的DCT-IV变换,减少变换过程的存储量,该方法包括如下步骤:
S301:对时域数据进行重组,得到重组后的数据。
假设为需要进行DCT-IV型变换的数据,该数据可以是经过加窗等预处理步骤后的数据。对数据进行重组,得到重组后的数据z(p):
z ( p ) = x ~ ( 2 p ) + j · x ~ ( L - 1 - 2 p ) , p = 0,1,2 , · · · , L / 2 - 1
S302:使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a · W 4 L 2 p + 1 , p = 0,1,2 , . . . , L / 2 - 1 , a为常数。
将重组数据z(p)进行预旋转处理,旋转因子为其中 W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1 , a为常数。
由于旋转因子中的项可以写成以下形式:
W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1
满足 cos 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = cos 2 π ( L - ( 2 q + 1 ) ) 4 L = sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 sin 2 π ( 2 ( L / 2 - 1 - q ) + 1 ) 4 L = sin 2 π ( L - ( 2 q + 1 ) ) 4 L = cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 4 - 1 的条件,因此具体的实现过程中只需要存储一个L2点的余弦数据表格或者正弦数据表格 a · sin 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 · · · , L / 2 - 1 即可。
S303:对预旋转处理后的数据进行L/2个点的快速傅里叶变换(FastFourier Transform,FFT)。
S304:进行固定旋转补偿。
将FFT变换后的数据乘以进行固定旋转补偿,或者将FFT变换后的数据乘以的近似值进行固定旋转补偿,近似值可以使用的泰勒级数展开获得,如使用一阶泰勒级数展开结果作为的近似值。
S305:使用一个对称的旋转因子对固定旋转补偿后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0,1,2 , . . . , L / 2 - 1 . 其中 W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 , b为常数。
由于旋转因子中的项同样可以写成以下形式:
W 4 L 2 q + 1 = cos 2 π ( 2 q + 1 ) 4 L - j sin 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1
因此具体的实现过程中只需要存储一个L2点的余弦数据表格 b · cos 2 π ( 2 q + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 或者正弦数据表格 b · sin 2 π ( 2 p + 1 ) 4 L , q = 0,1,2 , · · · , L / 2 - 1 即可。
关于常数a和b取值的选择,为了实现完全重构,只要满足正变换两个旋转因子的常数a与b的乘积乘上反变换两个旋转因子的常数c与d的乘积为2/L即可。一个实施例中,a和b的乘积等于另一个实施例中选取这样预旋转与后旋转只需要存储一个L2点的余弦数据表格 2 4 L 4 cos 2 π ( 2 p + 1 ) 4 L , p = 0,1,2 , · · · , L / 2 - 1 即可。
S306:获得频域数据。
后旋转之后的数据的实部记为y(2q),是频域数据奇数频率;后旋转之后的数据的虚部的相反数记为y(L-1-2q),是频域数据偶数频率。
y ( 2 q ) = Re { Z ‾ ( q ) } y ( L - 1 - 2 q ) = - Im { Z ‾ ( q ) } , q = 0,1,2 , . . . , L / 2 - 1
其中 Z ‾ ( q ) = W 8 L - 3 * W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { W 4 L 2 p + 1 } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1
Z ‾ ( q ) = W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { W 8 L - 3 * W 4 L 2 p + 1 } W L / 2 pq , p , q = 0 , . . . , L / 2 - 1
Z ‾ ( q ) = ( 1 + j 3 π 4 L ) * W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { z ( p ) * W 4 L 2 p + 1 } W L / 2 pq FFT , p , q = 0 , . . . , L / 2 - 1
Z ‾ ( q ) = W 4 L 2 q + 1 Σ p = 0 L / 2 - 1 { ( 1 + j 3 π 4 L ) * z ( p ) * W 4 L 2 p + 1 } W L / 2 pq FFT , p , q = 0 , . . . , L / 2 - 1 , 为后旋转之后的数据。
实施例中的进行固定旋转补偿的步骤不仅可以在后旋转之前执行,也可以在预旋转之前或者FFT变换之前或者后旋转之后进行,因为变换公式中固定旋转补偿与其他部分的操作是相乘的关系,可以适用乘法的交换特性。
本实施例中,由于增加了固定旋转补偿的步骤,可以保证变换后得到数据与原始DCT-IV型变换后得到的数据一致,提高DCT-IV变换的准确度。
DCT-IV的反变换与正变换的步骤是类似的,不同的是反变换的输入为频域数据输出为时域数据。因此上述实施例在输入与输出数据分别变为频域数据和时域数据时,即构成DCT-IV的反变换的实施例。另外,DCT-IV的反变换与正变换在进行固定旋转补偿的顺序上可以不同。例如,可以正变换时在后旋转之后进行固定旋转补偿,而逆变换时在预旋转之前进行固定旋转补偿。
语音/音频编码中,MDCT变换由于利用了时域混叠消除(TDAC)技术减轻“边界效应”也得到了广泛的应用。MDCT变换的公式为: X k = A Σ n = 0 N - 1 y n cos [ 2 π N ( n + 1 2 + N 4 ) ( k + 1 2 ) ] , k = 0,1 , · · · , N 2 - 1 , 其中,A是归一化因子,A为常数。可见,直接根据变换公式进行MDCT正变换与逆变换会导致很高的计算复杂度和存储量,特别是对于点数较大的MDCT变换。由于MDCT变换在实时通信领域特别是音频编码中的广泛应用,提供一种快速的MDCT变换方法也同样成为一种迫切的需要。
参考图4,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的时域到频域的MDCT变换,减少变换过程的存储量,该方法包括如下步骤:
S401:对时域数据进行预处理,得到预处理后的数据。
假设yn为需要进行MDCT变换的数据,该数据可以是经过加窗等步骤处理后的数据。对数据yn进行重组,得到重组后的数据un
u n = ( z 2 n + jz N / 2 - 1 - 2 n ) , n = 0,1,2 , · · · , N / 4 - 1
其中:
z n + N / 4 = y n - Y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n n = 0,1,2 , · · · , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0,1,2 , · · · , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , N / 4 + 1 , · · · , N / 2 - 1
S402:使用一个对称的旋转因子对预处理后的数据进行预旋转,旋转因子为 a · W N n + 0.5 n = 0,1,2 , · · · , N / 4 - 1 .
将重组数据un进行预旋转处理,旋转因子为其中 W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N ) , a为常数。
由于旋转因子中的项可以写成以下形式:
W N n + 0.5 = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N )
满足 cos ( 2 π N ( n + 0.5 ) ) = sin ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) sin ( 2 π N ( n + 0.5 ) ) = cos ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) 的条件,因此具体的实现过程中只需要存储一个N4点的余弦数据表格或者正弦数据表格 a · sin ( 2 π N ( n + 0.5 ) ) , n = 0,1,2 , · · · , N / 4 - 1 即可。
S403:进行第一次固定旋转补偿。
对预旋转后的数据进行固定旋转补偿,固定旋转补偿因子为为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值进行固定旋转补偿。
S404:对固定旋转补偿后的数据进行N/4个点的FFT变换。
S405:进行第二次固定旋转补偿。
将FFT变换后的数据乘以进行固定旋转补偿,或者将FFT变换后的数据乘以的近似值进行固定旋转补偿,近似值可以使用的泰勒级数展开获得,如使用一阶泰勒级数展开结果作为的近似值。
S406:采用一个对称的旋转因子对固定旋转补偿后的数据进行后旋转处理,旋转因子为 b · W N k + 0.5 , k = 0,1,2 , · · · , N / 4 - 1 . 其中 W N k + 0.5 = e - j 2 π N ( k + 0.5 ) = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N ) , b为常数。
由于旋转因子中的项同样可以写成以下形式:
W N k + 0.5 = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N )
因此具体的实现过程中只需要存储一个N/4点的余弦数据表格或者正弦数据表格 a · sin ( 2 π N ( k + 0.5 ) ) , k = 0,1,2 , · · · , N / 4 - 1 即可。
S407:获得频域数据。
后旋转之后的数据的实部记为X2k,是频域数据的奇数频率;后旋转之后的数据的虚部的相反数记为XN/2-1-2k,是频域数据的偶数频率。
频域数据也即最终的谱为Xk,k=0,1,2…,N/2-1,可表述为:
X 2 k = Re { W N - 0.375 · b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · W N - 0.375 · a · W N n + 0.5 W N / 4 nk } , k = 0,1,2 , · · · , N / 4 - 1
X N / 2 - 1 - 2 k = - Im { W N - 0.375 · b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · W N - 0.375 · a · W N n + 0.5 W N / 4 nk } , k = 0,1,2 , · · · , N / 4 - 1
或者
X 2 k = Re { ( 1 + j ( 3 π 4 N ) ) · b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · ( 1 + j ( 3 π 4 N ) ) · a · W N n + 0.5 W N / 4 nk } , k = 0,1,2 , · · · , N / 4 - 1
X N / 2 - 1 - 2 k = - Im { ( 1 + j ( 3 π 4 N ) ) · b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · ( 1 + j ( 3 π 4 N ) ) · a · W N n + 0.5 W N / 4 nk } , k = 0,1,2 , · · · , N / 4 - 1
值得注意的是,实施例中的使用进行第一次固定旋转补偿的步骤不仅可以在预旋转之后执行,也可以在预旋转之前进行;使用进行第二次固定旋转补偿的步骤不仅可以在后旋转之前执行,也可以在后旋转之后进行。
由于变换公式中固定旋转补偿与其他部分的操作是相乘的关系,可以适用乘法的交换特性,可以进行一次固定旋转补偿也可以进行多次固定旋转补偿,固定旋转补偿的执行顺序可以在获得频域数据步骤之前的任意顺序。各补偿因子的乘积为或者乘积为的至少一个因子的近似值。
本实施例中,采用具有对称性的旋转因子可以减少存储量,改进前的方法的存储量为N/2个点,改进后的方法存储量为N/4个点。同时增加固定旋转补偿的步骤,提高MDCT变换的准确度,保证变换后得到的数据与原始MDCT变换后得到的数据一致。
原始的基于N/4点FFT的MDCT快速变换的公式为:
X 2 k - jX N / 2 - 1 - 2 k = A · W N k + 0.125 post - rotation Σ n = 0 N / 4 - 1 { u n W N n + 0.125 pre - rotation } W N / 4 nk N / 4 pointsDFT , k = 0 , · · · , N / 4 - 1
可以重新写为:
X 2 k - jX N / 2 - 1 - 2 k = A · W N - 0.375 · W N k + 0.5 post - rotation Σ n = 0 N / 4 - 1 { W N - 0.375 · u n · W N n + 0.5 pre - rotation } W N / 4 nk N / 4 pointsDFT , k = 0 , · · · , N / 4 - 1
其中,
W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N ) , n = 0,1,2 · · · , N / 4 - 1
W N k + 0.5 = e - j 2 π N ( k + 0.5 ) = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N ) , k = 0,1,2 · · · , N / 4 - 1
很容易证明这个改写后的旋转因子具备对称性特征,即满足:
cos ( 2 π N ( n + 0.5 ) ) = sin ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) ;
sin ( 2 π N ( n + 0.5 ) ) = cos ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) ;
同样也满足这样的对称性。
利用这个对称性特征可以减少存储量。实现的时候,只需要为存储一个N/4个点的余弦表或一个N/4个点的正弦表,并在做N/4个点的FFT变换之前进行的固定旋转补偿,在做N/4个点的FFT变换之后进行的固定旋转补偿。可以证明这个变换也是完全重构的。
为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值。
参考图5,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的频域到时域的MDCT变换,减少变换过程的存储量,该方法包括如下步骤:
S501:对频域数据进行重组,得到重组数据。
数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,1,2,…,N/4-1。
S502:使用一个对称的旋转因子对重组数据进行预旋转处理。
将重组数据(X2k+jXN/2-1-2k)进行预旋转处理,旋转因子为 c · W N k + 0.5 , k = 0,1,2 , · · · , N / 4 - 1 . 其中 W N k + 0.5 = e - j 2 π N ( k + 0.5 ) = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N ) , c为常数。
S503:进行第一次固定旋转补偿。
对预旋转后的数据进行固定旋转补偿,固定旋转补偿因子为为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值进行固定旋转补偿。
S504:对固定旋转补偿后的数据进行N/4个点的FFT变换。
S505:进行第二次固定旋转补偿。
将FFT变换后的数据乘以进行固定旋转补偿,或者将FFT变换后的数据乘以的近似值进行固定旋转补偿,近似值可以使用的泰勒级数展开获得,如使用一阶泰勒级数展开结果作为的近似值。
S506:使用一个对称的旋转因子对固定旋转后的数据进行后旋转处理。
对固定旋转补偿后的数据进行后旋转处理,旋转因子为 d · W N n + 0.5 , n = 0,1,2 , · · · , N / 4 - 1 . 其中 W N n + 0.5 = e - j 2 π N ( N + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N ) , d为常数。
S507:获得时域数据。
得到时域数据n=0,1,2,…,N-1。
x ^ 2 n + N / 2 = Re { u n } x ^ N - 1 - 2 n = - Re { u n } n = 0,1,2 , · · · , N / 4 - 1
x ^ N / 4 - 1 - 2 n = x ^ N / 4 + 2 n = Im { u n } n = 0,1,2 , · · · , N / 8 - 1 x ^ 2 n - N / 4 = x ^ 3 N / 4 - 1 - 2 n = Im { u n } n = N / 8 , N / 8 + 1 , · · · , N / 4 - 1
其中 u n = y n + N / 8 u n + N / 8 = y n n = 0,1,2 , · · · , N / 8 - 1 ,
值得注意的是,关于常数a、b、c和d取值的选择,为了实现完全重构,只要满足正变换a与b的乘积乘上反变换c与d的乘积为4/N即可。本实施例中选取这样只需要存储一个N/4点的余弦数据表格 2 N 4 cos ( 2 π N ( k + 0.5 ) ) , k = 0,1,2 , · · · , N / 4 - 1 即可。
同样的,实施例中的使用进行第一次固定旋转补偿的步骤不仅可以在预旋转之后执行,也可以在预旋转之前进行;使用进行第二次固定旋转补偿的步骤不仅可以在后旋转之前执行,也可以在后旋转之后进行。由于乘法的交换特性,也可以进行三次及以上的固定旋转补偿,各补偿因子的乘积为或者乘积为的至少一个因子的近似值。
本实施例中,采用两次固定旋转补偿的步骤,提高MDCT变换准确度,保证变换后得到的数据与原始MDCT变换后得到的数据一致。
参考图6,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的时域到频域的MDCT变换,减少变换过程的存储量,该方法包括如下步骤:
S601:对时域数据进行预处理,得到预处理后的数据。
假设yn为需要进行MDCT变换的数据,该数据可以是经过加窗等步骤处理后的数据。对数据yn进行重组,得到重组后的数据un
u n = ( z 2 n + jz N / 2 - 1 - 2 n ) , n = 0,1,2 , · · · , N / 4 - 1
其中:
z n + N / 4 = y n - y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n n = 0,1,2 , · · · , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0,1,2 , · · · , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , N / 4 + 1 , · · · , N / 2 - 1
S602:使用一个对称的旋转因子对预处理后的数据进行预旋转,旋转因子为 a · W N n + 0.5 , n = 0,1,2 , · · · , N / 4 - 1 .
将重组数据un进行预旋转处理,旋转因子为其中 W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N ) , a为常数。
由于旋转因子中的项可以写成以下形式:
W N n + 0.5 = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N )
满足 cos ( 2 π N ( n + 0.5 ) ) = sin ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) sin ( 2 π N ( n + 0.5 ) ) = cos ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) 的条件,因此具体的实现过程中只需要存储一个N4点的余弦数据表格或者正弦数据表格 a · sin ( 2 π N ( n + 0.5 ) ) , n = 0,1,2 , · · · , N / 4 - 1 即可。
S603:进行固定旋转补偿。
对预旋转后的数据进行固定旋转补偿,固定旋转补偿因子为为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值进行固定旋转补偿。
S604:对固定旋转补偿后的数据进行N/4个点的FFT变换。
S605:采用一个对称的旋转因子对FFT变换后的数据进行后旋转处理。
对FFT变换后的数据进行后旋转处理,旋转因子为其中 W N k + 0.5 = e - j 2 π N ( k + 0.5 ) = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N ) , b为常数。
由于旋转因子中的项同样可以写成以下形式:
W N k + 0.5 = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N )
因此具体的实现过程中只需要存储一个N/4点的余弦数据表格或者正弦数据表格 a · sin ( 2 π N ( k + 0.5 ) ) , k = 0,1,2 , · · · , N / 4 - 1 即可。
S606:获得频域数据。
后旋转之后的数据的实部记为X2k,是频域数据的奇数频率;后旋转之后的数据的虚部的相反数记为XN/2-1-2k,是频域数据的偶数频率。
频域数据也即最终的谱为Xk,k=0,1,2…,N/2-1,可表述为:
X 2 k = Re { b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · W N - 0.75 · a · W N n + 0.5 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
X N / 2 - 1 - 2 k = - Im { b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · W N - 0.75 · a · W N n + 0.5 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
或者
X 2 k = Re { b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · ( 1 + j ( 3 π 2 N ) ) · a · W N n + 0.5 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
X N / 2 - 1 - 2 k = - Im { b · W N k + 0.5 Σ n = 0 N / 4 - 1 u n · ( 1 + j ( 3 π 2 N ) ) · · a · W N n + 0.5 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
值得注意的是,实施例中的进行固定旋转补偿的步骤可以在预旋转之后或者预旋转之前进行,也可以在后旋转之前或者后旋转之后进行,因为变换公式中固定旋转补偿与其他部分的操作是相乘的关系,可以适用乘法的交换特性。
参考图7,本发明一个实施例提供的一种信号处理方法,用于实现编码过程中的频域到时域的MDCT变换,减少变换过程的存储量,该方法包括如下步骤:
S701:对频域数据进行重组,得到重组数据。
数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,1,2,…,N/4-1。
S702:使用一个对称的旋转因子对重组数据进行预旋转处理。
将重组数据(X2k+jXN/2-1-2k)进行预旋转处理,旋转因子为 c · W N k + 0.5 , k = 0,1,2 , · · · , N / 4 - 1 . 其中 W N k + 0.5 = e - j 2 π N ( k + 0.5 ) = cos ( 2 π ( k + 0.5 ) N ) - j sin ( 2 π ( k + 0.5 ) N ) , c为常数。
S703:进行固定旋转补偿。
对预旋转后的数据进行固定旋转补偿,固定旋转补偿因子为为了进一步降低计算复杂度可以用一些近似值如泰勒级数展开来代替进行固定旋转补偿。例如用一阶泰勒级数展开结果作为的近似值进行固定旋转补偿。
S704:对固定旋转补偿后的数据进行N/4个点的FFT变换。
S705:采用一个对称性的旋转因子对FFT变换后的数据进行后旋转处理。
对FFT变换后的数据进行后旋转处理,旋转因子为其中 W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0.5 ) N ) , d为常数。
S706:获得时域数据。
得到时域数据n=0,1,2,…,N-1。
x ^ 2 n + N / 2 = Re { u n } x ^ N - 1 - 2 n = - Re { u n } , n = 0,1,2 , · · · , N / 4 - 1
x ^ N / 4 - 1 - 2 n = x ^ N / 4 + 2 n = Im { u n } n = 0,1,2 , · · · , N / 8 - 1 x ^ 2 n - N / 4 = x ^ 3 N / 4 - 1 - 2 n = Im { u n } n = N / 8 , N / 8 + 1 , · · · , N / 4 - 1
其中 u n = y n + N / 8 u n + N / 8 = y n , n = 0,1,2 , · · · , N / 8 - 1 ,
值得注意的是,关于常数a、b、c和d取值的选择,为了实现完全重构,只要满足正变换a与b的乘积乘上反变换c与d的乘积为4/N即可。本实施例中选取这样只需要存储一个N/4点的余弦数据表格 2 N 4 cos ( 2 π N ( k + 0.5 ) ) , k = 0,1,2 , · · · , N / 4 - 1 即可。
同样的,实施例中的进行固定旋转补偿的步骤可以在预旋转之后或者预旋转之前进行,也可以在后旋转之前或者后旋转之后进行,因为变换公式中固定旋转补偿与其他部分的操作是相乘的关系,可以适用乘法的交换特性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
参考图8与上述方法实施例相关联,本发明信号处理装置的一个实施例包括:
重组单元801,用于对输入数据进行重组,得到重组后的数据;
预旋转单元802,用于使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为 a · W 4 L 2 p + 1 , p = 0 , . . . , L / 2 - 1 , a为常数;
变换单元803,用于对预旋转处理后的数据进行L/2个点的快速傅里(FastFourier Transform,FFT)变换,L为输入数据的长度;
后旋转单元804,用于使用一个对称的旋转因子对FFT变换后的数据进行后旋转处理,旋转因子为 b · W 4 L 2 q + 1 , q = 0 , . . . , L / 2 - 1 , b为常数;
输出单元805,用于获得输出数据。
上述信号处理装置可以用于实现编解码过程中的时域到频域或频域到时域的DCT-IV变换,正变换时输入数据为时域数据,输出数据为频域数据;逆变换时输入数据为频域数据,输出数据为时域数据。
在另一个实施例中,信号处理装置还包括:
固定旋转补偿单元,用于利用固定旋转补偿因子进行固定旋转补偿处理。
一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,至少一次固定旋转补偿的旋转补偿因子的乘积为
另一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,所述至少一次固定旋转补偿的旋转补偿因子为乘积的至少一个因子的一阶泰勒级数展开值。
为了满足重构,a和b的乘积可以等于一个实施例中,例如
本发明提供的时域到频域的信号处理装置的一个实施例,用于实现编码过程中的时域到频域的MDCT变换,减少变换过程的存储量,参考图9,该信号处理装置包括:
预处理单元901,用于对时域数据进行预处理,得到预处理后的数据;
预旋转单元902,用于使用旋转因子对所述预处理后的时域数据进行预旋转处理;
变换单元903,用于对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
后旋转单元904,用于使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;其中,还包括:
固定补偿单元905,用于利用固定旋转补偿因子进行固定旋转补偿处理;所述a、b为常数,所述N为时域数据长度,所述
一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,该至少一次固定旋转补偿的旋转补偿因子的乘积为
另一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,该至少一次固定旋转补偿的旋转补偿因子为乘积为的至少一个因子的一阶泰勒级数展开值。
本发明提供的频域到时域的信号处理装置的一个实施例,用于实现编码过程中的频域到时域的MDCT变换,减少变换过程的存储量,参考图10,该信号处理装置包括:
重组单元1001,用于对频域数据进行重组,得到重组后的数据;
预旋转单元1002,用于使用旋转因子对所述重组后的频域数据进行预旋转处理;
变换单元1003,对所述预旋转处理后的数据进行N/4点的快速傅里叶变换;
后旋转单元1004,使用旋转因子对所述快速傅里叶变换后的数据进行后旋转处理;其中,还包括:
固定补偿单元1005,用于利用固定旋转补偿因子进行固定旋转补偿处理;所述c、d为常数,所述N为两倍的频域数据长度,所述
一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,该至少一次固定旋转补偿的旋转补偿因子的乘积为
另一个实施例中,固定旋转补偿单元用于进行至少一次固定旋转补偿,该至少一次固定旋转补偿的旋转补偿因子为乘积为的至少一个因子的一阶泰勒级数展开值。
与本文所揭示实施例关联描述的中例示性逻辑块、模块及电路均可由下列装置构建或实施:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或其设计用于实施上文所述功能的任何组合。通用处理器可为微处理器,但另一选择为,处理器也可为任何常规处理器、控制器、微控制器或状态机。处理器也可构建为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任一其它此类配置。
以上所述仅为本发明的几个实施例,本领域的技术人员依据申请文件公开的可以对本发明进行各种改动或变型而不脱离本发明的精神和范围。

Claims (10)

1.一种数据处理方法,用于实现音频编码过程中的时域信号与频域信号之间的变换,其特征在于,包括:
对输入数据进行重组,得到重组后的数据;
使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为其中, W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p=0,...,L/2-1,a为常数;
对预旋转处理后的数据进行L/2个点的快速傅里叶变换,L为输入数据的长度;
使用一个对称的旋转因子对快速傅里叶变换后的数据进行后旋转处理,旋转因子为其中, W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , q=0,...,L/2-1,b为常数;
获得输出数据。
2.根据权利要求1所述的方法,其特征在于,在获得输出数据之前还包括:利用固定旋转补偿因子进行固定旋转补偿的步骤。
3.根据权利要求2所述的方法,其特征在于,利用固定旋转补偿因子进行固定旋转补偿的步骤包括:
进行至少一次固定旋转补偿,所述至少一次固定旋转补偿的旋转补偿因子的乘积为其中,
4.根据权利要求2所述的方法,其特征在于,利用固定旋转补偿因子进行固定旋转补偿的步骤包括:
进行至少一次固定旋转补偿,所述至少一次固定旋转补偿的旋转补偿因子为乘积为的至少一个因子的一阶泰勒级数展开值,其中,
5.根据权利要求1所述的方法,其特征在于,所述a和b的乘积等于
6.一种信号处理装置,用于实现音频编码过程中的时域信号与频域信号之间的变换,其特征在于,包括:
重组单元,用于对输入数据进行重组,得到重组后的数据;
预旋转单元,用于使用一个对称的旋转因子对重组后的数据进行预旋转,旋转因子为其中, W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , p=0,...,L/2-1,a为常数;
变换单元,用于对预旋转处理后的数据进行L/2个点的快速傅里叶变换,L为输入数据的长度;
后旋转单元,用于使用一个对称的旋转因子对快速傅里叶变换后的数据进行后旋转处理,旋转因子为其中, W 4 L 2 p + 1 = cos 2 π ( 2 p + 1 ) 4 L - j sin 2 π ( 2 p + 1 ) 4 L , q=0,...,L/2-1,b为常数;
输出单元,用于获得输出数据。
7.根据权利要求6所述的装置,其特征在于,还包括:
固定旋转补偿单元,用于利用固定旋转补偿因子进行固定旋转补偿处理。
8.根据权利要求7所述的装置,其特征在于,所述固定旋转补偿单元用于进行至少一次固定旋转补偿,所述至少一次固定旋转补偿的旋转补偿因子的乘积为其中, W 8 L - 3 = e j 3 π 4 L .
9.根据权利要求7所述的装置,其特征在于,所述固定旋转补偿单元用于进行至少一次固定旋转补偿,所述至少一次固定旋转补偿的旋转补偿因子为乘积为的至少一个因子的一阶泰勒级数展开值,其中,
10.根据权利要求7所述的装置,其特征在于,所述a和b的乘积等于
CN201110004032.5A 2011-01-10 2011-01-10 一种信号处理方法和装置 Active CN102592601B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201110004032.5A CN102592601B (zh) 2011-01-10 2011-01-10 一种信号处理方法和装置
KR1020137019665A KR101627900B1 (ko) 2011-01-10 2011-12-31 신호 처리 방법 및 디바이스
EP18203003.1A EP3518121A1 (en) 2011-01-10 2011-12-31 Signal processing method and device
PCT/CN2011/085197 WO2012094952A1 (zh) 2011-01-10 2011-12-31 一种信号处理方法和装置
EP11855360.1A EP2664995A4 (en) 2011-01-10 2011-12-31 METHOD AND DEVICE FOR SIGNAL PROCESSING
JP2013547798A JP5783395B2 (ja) 2011-01-10 2011-12-31 信号処理方法およびデバイス
US13/938,834 US9519619B2 (en) 2011-01-10 2013-07-10 Data processing method and device for processing speech signal or audio signal
US15/345,074 US9792257B2 (en) 2011-01-10 2016-11-07 Audio signal processing method and encoder
US15/696,091 US9996503B2 (en) 2011-01-10 2017-09-05 Signal processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110004032.5A CN102592601B (zh) 2011-01-10 2011-01-10 一种信号处理方法和装置

Publications (2)

Publication Number Publication Date
CN102592601A CN102592601A (zh) 2012-07-18
CN102592601B true CN102592601B (zh) 2014-09-17

Family

ID=46481138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110004032.5A Active CN102592601B (zh) 2011-01-10 2011-01-10 一种信号处理方法和装置

Country Status (6)

Country Link
US (3) US9519619B2 (zh)
EP (2) EP2664995A4 (zh)
JP (1) JP5783395B2 (zh)
KR (1) KR101627900B1 (zh)
CN (1) CN102592601B (zh)
WO (1) WO2012094952A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324465A (zh) * 2013-05-10 2013-09-25 刘保国 多变量、复杂控制***的并行算法及结构
CN104392727A (zh) * 2014-11-12 2015-03-04 华为技术有限公司 音频信号处理方法和相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930425A (zh) * 2009-06-24 2010-12-29 华为技术有限公司 信号处理方法、数据处理方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2242823A1 (en) * 1995-11-17 1997-05-29 Teracom Svensk Rundradio Improvements in or relating to real-time pipeline fast fourier transform processors
US5845241A (en) * 1996-09-04 1998-12-01 Hughes Electronics Corporation High-accuracy, low-distortion time-frequency analysis of signals using rotated-window spectrograms
JP2001296343A (ja) * 2000-04-11 2001-10-26 Nec Corp 音源方位設定装置及びそれを備えた撮像装置、送信システム
US20050015420A1 (en) * 2003-07-18 2005-01-20 Gibb Sean G. Recoded radix-2 pipeline FFT processor
US7685220B2 (en) * 2005-12-14 2010-03-23 Telefonaktiebolaget L M Ericsson (Publ) Circular fast fourier transform
CN101202043B (zh) * 2007-12-28 2011-06-15 清华大学 音频信号的编码方法和装置与解码方法和装置
CN102209962A (zh) * 2008-09-10 2011-10-05 先进汽车技术有限公司合作研究中心 计算离散傅里叶变换(dft)系数矩阵的方法和设备
CN101354700B (zh) * 2008-09-16 2010-08-11 四川虹微技术有限公司 一种蝶形运算fft处理器
JP2010124324A (ja) * 2008-11-20 2010-06-03 Mitsubishi Electric Corp 受信装置
US8694570B2 (en) * 2009-01-28 2014-04-08 Arun Mohanlal Patel Method and apparatus for evaluation of multi-dimensional discrete fourier transforms
CN101521649B (zh) * 2009-03-25 2012-04-25 吕正德 可配置变换长度dft的频域补偿方法及装置
CN101582264A (zh) * 2009-06-12 2009-11-18 瑞声声学科技(深圳)有限公司 语音增强的方法及语音增加的声音采集***

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930425A (zh) * 2009-06-24 2010-12-29 华为技术有限公司 信号处理方法、数据处理方法及装置

Also Published As

Publication number Publication date
EP3518121A1 (en) 2019-07-31
US9792257B2 (en) 2017-10-17
US20130304784A1 (en) 2013-11-14
US9996503B2 (en) 2018-06-12
KR20130116904A (ko) 2013-10-24
JP2014503093A (ja) 2014-02-06
KR101627900B1 (ko) 2016-06-07
CN102592601A (zh) 2012-07-18
EP2664995A4 (en) 2015-01-21
US20170364479A1 (en) 2017-12-21
JP5783395B2 (ja) 2015-09-24
EP2664995A1 (en) 2013-11-20
WO2012094952A1 (zh) 2012-07-19
US9519619B2 (en) 2016-12-13
US20170075860A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
KR101202729B1 (ko) 신호 처리 방법과 데이터 처리 방법 및 장치
CN102084418B (zh) 用于调整多通道音频信号的空间线索信息的设备和方法
CN100416553C (zh) 用于转换为变换表示或对变换表示进行反转换的设备和方法
RU2323469C2 (ru) Устройство и способ для обработки, по меньшей мере, двух входных значений
CN103415884A (zh) 用于执行霍夫曼编码的装置和方法
EP2863388A1 (en) Bit allocation method and device for audio signal
CN107103909A (zh) 帧错误隐藏
CN102592601B (zh) 一种信号处理方法和装置
Hsu et al. Autoregressive modeling of temporal/spectral envelopes with finite-length discrete trigonometric transforms
Li Reversible FFT and MDCT via matrix lifting
Krishnan et al. Fast and lossless implementation of the forward and inverse MDCT computation in MPEG audio coding
Zhang et al. On the relationship of MDCT transform kernels in Dolby AC-3
US7620675B1 (en) Image and audio transform methods
CN102419978B (zh) 音频解码器、音频解码的频谱重构方法及装置
CN102103859B (zh) 一种数字音频编码、解码方法及装置
Chai et al. Design of synthesis filter banks for the structural similarity index
CN102129861B (zh) 信号变换方法和***
Tsai et al. A hardware/software co-design of high efficiency AAC audio decoder
Oraintara et al. The integer MDCT and its application in the MPEG layer III audio
Quan et al. The application of integer MDCT in MP3 audio
ALVAREZ-MARQUINA et al. Hardware Reusable Design of Feature Extraction for Distributed Speech Recognition

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230727

Address after: Texas, USA

Patentee after: Chaoqing codec Co.,Ltd.

Address before: 518129 headquarters building of Bantian HUAWEI base, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right