CN102623012B - 矢量联合编解码方法及编解码器 - Google Patents
矢量联合编解码方法及编解码器 Download PDFInfo
- Publication number
- CN102623012B CN102623012B CN201110028694.6A CN201110028694A CN102623012B CN 102623012 B CN102623012 B CN 102623012B CN 201110028694 A CN201110028694 A CN 201110028694A CN 102623012 B CN102623012 B CN 102623012B
- Authority
- CN
- China
- Prior art keywords
- index
- split
- ind
- vector
- level
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L19/00—Details of, or accessories for, apparatus for measuring steady or quasi-steady pressure of a fluent medium insofar as such details or accessories are not special to particular types of pressure gauges
- G01L19/08—Means for indicating or recording, e.g. for remote indication
- G01L19/12—Alarms or signals
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
- G10L2019/0001—Codebooks
- G10L2019/0004—Design or structure of the codebook
- G10L2019/0005—Multi-stage vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了矢量联合编解码方法及编解码器。本发明实施例通过对两个以上的矢量联合进行编码,将至少一个矢量的编码索引分裂后在不同矢量间进行组合,使得能够将不同矢量的编码空闲空间进行重组,有助于节省编码比特,并且由于是将矢量的编码索引分裂以后以较短的分裂索引进行重组,有助于减少对编解码计算中运算器件的位宽的要求。
Description
技术领域
本发明涉及矢量联合编解码方法及编解码器。
背景技术
在进行信号处理时,通常可以将信号划分为多个矢量。例如,参考图1,对信号的采样进行划分,将若干个采样值划分为一组,可称之为矢量,这组采样值的个数称为矢量的维数。在基于码激励线性预测编码(CELP:Code ExcitedLinear Prediction)模型的语音编码器中,一般用若干个脉冲来表示类白噪声激励。为了降低编码器的复杂度,一般将输入信号划分为若干个子帧进行处理,在处理固定码书时,一般将每个子帧的信号进一步划分为若干个轨道。基于上述对矢量的理解,可以认为一个轨道上的样点可以组成一个多维矢量。例如,对于有16个位置的轨道,假设以脉冲来描述轨道上的信号采样情况,则一种取值可以表现为[-1,-5,0,-5,12,0,...,0]。从脉冲的角度来理解表示这个轨道上有4个非零脉冲,即第1个位置有一个幅度为1的脉冲,符号为“-”;第2个位置有一个幅度为5的脉冲,符号为“-”;第三个位置上有一个幅度为零的脉冲,以此类推。从矢量角度理解,即一个16维的矢量,其中有4个非零分量。
众所周知,在语音编码领域基于CELP模型的语音编码器应用的非常广泛,如:G.729、GSM和G.723.1等已经在各种数字信号处理器(DSP:DigitalSignal Processor)、嵌入式设备、手机和个人电脑(PC:Personal computer)中得到广泛应用。与其他类型的语音编码器相比,基于CELP模型的语音编解码器能够在极低码率情况下获得较好的语音质量,而在高码率情况下,表现依然优秀。
在矢量编码技术中,常常使用代数码书对自适应滤波后的残差信号进行量化编码。当经过搜索获得轨道上最佳代数码书脉冲的位置和符号信息后,通过编码计算得到相应的索引值,使得解码端能够根据该索引值重建脉冲序列。在保证无损重建的前提下,尽量减少编码索引值所需要的比特,是代数码书脉冲编码方法研究与发展的主要目标之一。
下面以语音编码中一种较优的编码方法——宽带自适应多码率(AMR_WB+:Adaptive Multi-Rate Wideband)编码方法为例,说明现有代数码书脉冲所采用的一种具体编码方法。根据编码码率的不同,在每个轨道上可以编码1~N个脉冲,假定每个轨道有M=2m个位置,AMR_WB+中每个轨道上编码1~6个脉冲的过程分别描述如下:
①每个轨道编码1个脉冲
由于每个轨道有2m个位置,因此,每个轨道上脉冲的位置索引需要用m个比特进行编码,脉冲的符号索引需要用1比特编码。编码1个带符号脉冲的索引值为:
I1p(m)=p+s×2m
其中p∈[0,2m-1]为脉冲的位置索引;s为脉冲的符号索引,当脉冲符号为正时,s设置为0,当脉冲符号为负时,s设置为1;I1p∈[0,2m+1-1]。
每个轨道编码1个脉冲所需的比特数为:m+1。
②每个轨道编码2个脉冲
根据①的结果,每个轨道编码1个脉冲需要m+1个比特,对另一个脉冲的位置索引进行编码需要m个比特,由于对脉冲顺序没有特别要求,可通过排列脉冲位置索引获得的大小关系来表示另一个脉冲的符号。编码2个脉冲的索引值为:
I2p(m)=p1+I1p0×2m=p1+p0×2m+s×22m
其中p0、p1∈[0,2m-1]分别为2个脉冲的位置索引;s为p0脉冲的符号索引;p1脉冲符号的具体表示规则为:p0<p1表示2个脉冲符号相同,p0>p1表示2个脉冲符号相反;I2p∈[0,22m+1-1]。
每个轨道编码2个脉冲所需的比特数为:2m+1。
③每个轨道编码3个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。某个部分中至少包含2个脉冲,根据②的结果,编码该部分需要2×(m-1)+1=2m-1个比特;另一个脉冲则在整个轨道上搜索,根据①的结果,需要m+1个比特;此外,还需要用1个比特来指示包含2个脉冲的部分。编码3个脉冲的索引值为:
I3p(m)=I2p(m-1)+k×22m-1+I1p(m)×22m
其中k为Section的索引;I3p∈[0,23m+1-1]。
每个轨道编码3个脉冲所需的比特数为:3m+1。
④每个轨道编码4个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。各部分中包含脉冲个数的组合情况如下表所示:
类别 | SectionA中脉冲数 | Section B中脉冲数 | 需要比特数 |
0 | 0 | 4 | 4m-3 |
1 | 1 | 3 | 4m-2 |
2 | 2 | 2 | 4m-2 |
3 | 3 | 1 | 4m-2 |
4 | 4 | 0 | 4m-3 |
上表中,各个类别对应的需要比特数的依据为:对于类别0和类别4,在有4个脉冲的部分中采用类似③的方法,只是进行整体搜索的脉冲数目为2个,相当于I2p(m-2)+k×22m-3+I2p(m-1)×22m-2;对于类别1,相当于I1p(m-1)+I3p(m-1)×2m;对于类别2,相当于I2p(m-1)+I2p(m-1)×22m-1;对于类别3,相当于I3p(m-1)+I1p(m-1)×23m-2。
将类别0和类别4看作一种可能的情况,类别1~3各作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应的情况,则类别1~3都需要4m-2+2=4m个比特;此外,对于包含类别0和类别4的情况,还需要用1个比特来区分,因此类别0和类别4需要4m-3+2+1=4m个比特。
每个轨道编码4个脉冲所需的比特数为:4m。
⑤、每个轨道编码5个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。某个部分中至少包含3个脉冲,根据③的结果,编码该部分需要3×(m-1)+1=3m-2个比特;剩下两个脉冲则在整个轨道上搜索,根据②的结果,需要2m+1个比特;此外,还需要用1个比特来指示包含3个脉冲的部分。编码5个脉冲的索引值为:
I5p(m)=I3p(m-1)+k×23m-2+I1p(m)×23m-1
每个轨道编码5个脉冲所需的比特数为:5m。
⑥每个轨道编码6个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。各部分中包含脉冲个数的组合情况如下表所示:
类别 | SectionA中脉冲数 | Section B中脉冲数 | 需要比特数 |
0 | 0 | 6 | 6m-5 |
1 | 1 | 5 | 6m-5 |
2 | 2 | 4 | 6m-5 |
3 | 3 | 3 | 6m-4 |
4 | 4 | 2 | 6m-5 |
5 | 5 | 1 | 6m-5 |
6 | 6 | 0 | 6m-5 |
上表中,各个类别对应的需要比特数的依据可仿照④推算,不再赘述。
分别将类别0和6、类别1和5、类别2和4各看作一种可能的情况,类别3单独作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应的情况,则类别3需要6m-4+2=6m-2个比特;对于那些包含合并类别的情况,还需要用1个比特来区分,因此除类别3外的其他类别需要6m-5+2+1=6m-2个比特。
每个轨道编码6个脉冲所需的比特数为:6m-2。
在提出本发明的过程中,发明人发现,AMR_WB+提供的代数脉冲编码方法,采用类似递归的编码逻辑,将编码脉冲数量较多的情况拆分为若干个编码脉冲数量较少的情况来处理,计算复杂度较大,同时,随着轨道上编码脉冲数目的增加,编码索引的冗余度将逐渐累加,容易造成编码比特的浪费。
发明内容
本发明实施例提供能够有助于节省编码比特的矢量联合编码方法。
一种矢量联合编码方法,包括:
分别计算各个矢量的编码索引Indt,其中下标t表示第t个矢量,t∈[0,T-1],T是矢量的数量,为大于等于2的整数;
将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,SLFt为正整数,Indt0表示Indt所属的区间的序号,Indt1表示Indt在所属的区间中的序号,所述区间的长度均不大于SLFt,
Indt≤Indt0×SLFt+Indt1;
将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF;
根据所述组合索引和其他未组合的分裂索引进行编码。
本发明实施例还提供基于上述矢量联合编码方法的多级级联的编码方法。
本发明实施例并提供与上述编码方法相应的解码方法以及编辑码器。
本发明实施例中,通过对两个以上的矢量联合进行编码,将至少一个矢量的编码索引分裂后在不同矢量间进行组合,使得能够将不同矢量的编码空闲空间进行重组,有助于节省编码比特,并且由于是将矢量的编码索引分裂以后以较短的(与分裂前的索引相比)分裂索引进行重组,有助于减少对编解码计算中运算器件的位宽的要求。
附图说明
图1是信号的矢量划分示意图;
图2是本发明实施例一编码方法流程示意图;
图3是本发明实施例二编码方法流程示意图;
图4是本发明实施例三编码方法流程示意图;
图5是本发明实施例四编码方法流程示意图;
图6是本发明实施例五编码方法流程示意图;
图7是本发明实施例六解码方法流程示意图;
图8是本发明实施例七解码方法流程示意图;
图9是本发明实施例八编码器逻辑结构示意图;
图10是本发明实施例九编码器逻辑结构示意图;
图11是本发明实施例十解码器逻辑结构示意图;
图12是本发明实施例十一解码器逻辑结构示意图;
图13是基于本发明实施例的4轨道高4位联合编码过程示意图;
图14是基于本发明实施例的4轨道2级级联高8位联合编码过程示意图。
具体实施方式
本发明实施例提供矢量联合编码方法,通过对两个以上的矢量联合进行编码,将至少一个矢量的编码索引分裂后在不同矢量间进行组合,来节省编码比特并减少参与计算的数据的长度。本发明实施例还提供相应的矢量联合解码方法以及编解码器。
为使描述简明易懂,以下以轨道上的脉冲分布情况作为矢量的例子,通过对多个轨道的联合编码的描述来体现多个矢量的联合编码,容易理解的是,本发明并不局限于对轨道脉冲分布情况的编解码,只要是需要对多个由一组数据构成的矢量进行编解码处理,均可采用本发明提供的方案,“轨道”、“脉冲”仅仅是对矢量中的数据赋予具象的含义而已,并不构成实质性的限定。
在语音编码器中,经过码书搜索得到每个轨道上所有脉冲的位置和符号(若涉及)信息,这些信息需要被完整的传递到解码端,使得在解码端能够唯一的恢复所有脉冲的位置和符号(若涉及)信息,同时为了尽量的降低比特率,期望使用尽量少的比特来传递这些信息。
通过理论分析可知,同一轨道上所有脉冲位置和符号(若涉及)的排列组合数即为码本空间的最小值,对应的编码比特数即为理论下限值。轨道上的位置总数以及脉冲总数是一定的,对于轨道上的位置总数以及脉冲总数的不同取值情况而言,所有脉冲位置和符号的排列组合数并不总是2的整数次幂,因此编码比特数的理论下限值并不总是整数,此时,单轨道编码的实际编码比特数至少为理论下限值的整数部分加1,这使得不可避免的出现部分码本空间的空闲。例如,表1给出了在位置总数为16的轨道上,需要编码的脉冲总数N为1-7的情况下(考虑脉冲有符号),编码比特数的理论下限值与实际下限值以及空闲空间的情况。
表1
从表1可以看出,大多数情况下,实际下限值仍会带来码本空间的较大浪费,因此本发明提出,对两个以上的轨道进行联合编码,将至少一个轨道的编码索引分裂为至少两个分裂索引,再将一个轨道的分裂索引与其他轨道的分裂索引或编码索引组合后再用于编码。
这种方法基于如下思想,两个以上的轨道联合编码可使得在单轨道编码中空闲的码本空间被合并,一旦合并的空闲空间足够,即可降低1个实际编码比特。但是,若直接将两个以上轨道的编码索引进行组合,最终的编码长度可能会比较大,甚至可能会超过通常运算所使用的位宽(例如64位),这时候就需要为编码或解码的加、减、乘、除等运算专门设计计算处理过程代码,导致处理复杂度提高。
因此,考虑将至少一个轨道的编码索引进行分裂,以至少一个分裂索引进行轨道间的组合,这样,既能一定程度上实现轨道间空闲空间的合并,同时也减小了参与运算的数值的长度。
以上给出了本发明多轨道联合编码的原理的理论分析,下面分别以具体实施例对各种优选的方案进行详细说明。
实施例一、一种轨道联合脉冲编码方法,如图2所示,包括步骤:
A1、分别计算各个轨道的编码索引Indt,其中下标t表示第t个轨道,t∈[0,T-1],T是轨道数量,为大于等于2的整数。
对各个轨道的Indt进行计算,可采用各种现有的方法。例如,公开号为CN101295506的中国专利申请(公开日为2008年10月29日)所提供的单轨道编码索引计算方法,尤其可参见该申请文件说明书第13页第18行至第15页第9行(实施例二,附图14、15),相应的解码计算方法可参见该申请文件说明书第16页第23行至第17页第12行(实施例四)。又如,公开号为CN101388210的中国专利申请(公开日为2009年3月18日)所提供的单轨道编码索引计算方法,尤其可参见该申请文件说明书第8页第23行至第10页第7行(实施例二,附图7),相应的解码计算方法可参见该申请文件说明书第21页第10行至第21页第27行(实施例六)。
为更好的节省编码比特,在选择Indt的计算方法时,可尽量选择能够达到单轨道编码比特数的理论下限值的计算方法。此外,还优选使用令Indt的取值范围为连续或尽量连续的计算方法,以便于对其空闲空间的利用。需要说明的是,不同轨道可采用不同的Indt计算方法,只要编码和解码端均可确定哪个轨道采用哪种计算方法即可。
A2、将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1。
对Indt的分裂可以理解为将由一个参数承载的索引信息,转变为由两个以上参数承载的索引信息。例如,原本由取值范围为[0,99]的一个参数来指示100种情况,可以分裂成由两个取值范围为[0,9]的参数来共同指示这100种情况。
Indt可以分裂成多个分裂索引,例如Indt0、Indt1、Indt2、Indt3......等。在实际计算中,本发明所需要的分裂索引可以是直接对Indt进行分裂得到的,也可以是对Indt已经分裂出的部分再次进行分裂得到的,不管是哪种情况,都可以将获得本发明所需要的分裂索引(即后续组合所使用的分裂索引)的那次分裂等效的理解为将Indt分裂成两个分裂索引Indt0和Indt1的过程,其中一个是后续用于组合的分裂索引,另一个则可理解为包含Indt剩余信息的部分。
因此,因子SLFt可理解为,将原本Indt的取值范围划分为若干个区间,每个区间的长度均不大于SLFt,SLFt为正整数,Indt0表示Indt所属的区间的序号,Indt1表示Indt在所属的区间中的序号(显然,Indt1≤SLFt),即有:
Indt≤Indt0×SLFt+Indt1;
上式取小于号时意味着,Indt0和Indt1联合提供的空间可以大于原来Indt所占用的空间,由于通常Indt的空闲编码空间都有一些余数,若Indt0和Indt1的联合空间略大,通常也不会对最终编码比特的节省情况造成不利影响。
当然,最经济的情况是能够尽量按照Indt的空间大小来进行分裂,即:
Indt0=Int(Indt/SLFt),Int()表示向下取整,
Indt1=Indt%SLFt,%表示取余数,
这种情况下,若Indt的取值范围是连续的,则Indt0和Indt1联合提供的空间相比Indt的取值范围所空闲的就仅仅是当Indt0取最大值时,Indt1的最大值与SLFt的差。
不同轨道可采用不同的SLFt,同一轨道如果分裂出多个分裂索引,每次分裂也可以使用不同的SLFt,只要某轨道分裂出某个分裂索引所使用的SLFt是确定的即可。
A3、将至少一个轨道的分裂索引和其它轨道的分裂索引或编码索引进行组合生成组合索引IndSLF。
与“分裂”相应,可以将“组合”理解为将由两个以上参数承载的索引信息转变为由一个参数承载的索引信息。显然,组合后参数的取值范围将大于或至少等于组合前各个参数的取值范围的积。可将多个参数的组合以公式表示如下:
AI=((((aI×AI-1+aI-1)……)×A2+a2)×A1+a1)×A0+a0
其中AI表示组合后的参数,ai表示组合前的I+1个参数,i∈[0,I],Ai表示ai的全部取值的个数。这种组合方式最为紧凑,组合后参数的取值范围等于组合前各个参数的取值范围的积,本文中提到的参数组合均可采用这种方式。当然,还可以采用其他组合方式,例如,组合后的参数的取值范围可以大于组合前各参数取值范围的积,只要组合后的参数能够完整的保留组合前各个参数的信息即可,如果组合后参数的取值空间与组合前各个参数的取值空间的积相比超过的不多,通常也不会对最终编码比特的节省情况造成不利影响。
本发明生成的组合索引中至少包含一个轨道的分裂索引,此外参与组合的可以是其它轨道的分裂索引或者编码索引。需要说明的是,本发明并不限定组合索引的个数,若一个轨道提供多个分裂索引参与组合,可以分别组合进不同的组合索引中。
A4、根据组合索引和其他未组合的分裂索引进行编码。
①可以直接将组合索引以及各个未组合的分裂索引分别进行编码。由于组合索引中的各个组合部分都携带有所来自轨道的一部分空闲空间,为固定节省编码比特提供了可能。
②此外,还可以进一步对组合索引采用变长编码的方式,以更加节省组合索引的编码比特,即:
比较组合索引IndSLF和调整门限值THR,其中,
THR≤2^(KSLF)-IndSLF,max,
2^(KSLF)表示2的KSLF次幂,KSLF为IndSLF,max的比特序列的长度,IndSLF,max表示IndSLF的最大值,
若IndSLF小于THR,采用第一数量的编码比特对IndSLF进行编码,否则采用第二数量的编码比特对加上偏移值THR0的IndSLF进行编码,THR≤THR0≤2^(KSLF)-IndSLF,max,所述第一数量少于所述第二数量,所述第二数量小于等于KSLF,所述第一数量和所述第二数量均为正整数。
关于上述节省比特的方法的原理以及具体推导和描述请参阅申请号为CN200910150637.8的中国专利申请(申请日为2009年6月19日)。
③还可以将组合索引分裂后,与其他未组合的分裂索引进行组合再编码。
即,将组合索引按照设定取值范围分裂成T1个重组索引Indt0’,T1小于等于生成该组合索引的轨道数目(虽然此处t的取值个数可能小于原本在表示第t个轨道时的取值个数T,但由于重组索引是用来和相应轨道t的未组合分裂索引进行重组的,因此仍沿用下标t以表示与轨道的对应),至少一个Indt0’的取值范围大于相应轨道t参与组合的分裂索引的取值范围,至少一个Indt0’的取值范围小于相应轨道t参与组合的分裂索引的取值范围。此处,组合索引的分裂可参照步骤A2中编码索引的分裂进行,只不过需要分裂出T1个,每次分裂所依据的取值范围可以相同也可以不同,上述对分裂出的重组索引的取值范围的限定,使得组合索引汇集起来的空闲空间在分裂时能一定程度的集中到某些重组索引上,有助于节省编码比特。
分别将各个重组索引与相应轨道未组合的分裂索引组合后进行编码,若有未分配重组索引的轨道,则对其未组合的分裂索引进行编码。重组索引与相应轨道的分裂索引的组合可参照前述组合索引的组合过程。由于组合索引聚集了空闲空间的缘故,在所分配的重组索引不增加原有轨道的编码比特的情况下,某些轨道可能还没有分配到重组索引,组合索引就已经分裂完了,这种情况下,可以仅对该轨道未组合的分裂索引进行编码。
当然,若有其它既未提供分裂索引,自身的编码索引也未参与组合的轨道,可视为独立编码的轨道,不在本发明讨论之列。
实施例二、一种轨道联合脉冲编码方法,本实施例在实施例一的基础上提供优选的选择分裂索引进行组合的方案,如图3所示,包括步骤:
B1、分别计算各个轨道的编码索引Indt。
B2、将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1。
步骤B1、B2可参照实施例一的步骤A1、A2执行。
B3、将至少一个轨道的分裂索引和其它轨道的分裂索引或编码索引进行组合生成组合索引IndSLF,在选择参与组合的分裂索引时,对于轨道t,选择能够体现Indt的空间占用特征的分裂索引参与组合。
所称能够体现Indt的空间占用特征是指与其他分裂索引相比,所选择的分裂索引的取值范围对编码空间的占用率最接近Indt的取值范围对编码空间的占用率。
由于本发明通过组合不同轨道的空闲空间来帮助节省编码比特,为达到对空闲空间更好的利用效果,希望代表轨道t进行组合的分裂索引的取值范围能够尽量保持Indt的取值范围的编码空间空闲比例,这也就意味着Indt剩余部分的取值范围更加接近对编码空间的充分利用,例如,接近2的整数次幂。
B4、根据组合索引和其他未组合的分裂索引进行编码。
步骤B4可参照实施例一的步骤A4执行。
采用本实施例方案能够进一步保证组合索引节省编码比特的效果。
实施例三、一种轨道联合脉冲编码方法,本实施例在实施例一的基础上提供优选的进行编码索引分裂的方案,如图4所示,包括步骤:
C1、分别计算各个轨道的编码索引Indt。
步骤C1可参照实施例一的步骤A1执行。
C2、将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,Indt0=Int(Indt/SLFt),Indt1=Indt%SLFt,其中,SLFt=2^(Kt),或者SLFt=Int(Indt,max/2^(Kt)),Kt为正整数,Indt,max表示Indt的最大值。
①当SLFt=2^(Kt)时
Indt0=Int(Indt/2^(Kt)),
Indt1=Indt%2^(Kt)。
这种情况下,Indt1的取值范围能够充分利用编码空间,所空闲的仅仅是当Indt0取最大值时,Indt1的最大值与2^(Kt)的差,而Indt0的取值范围则充分保留了Indt的空间占用特征。显然,Kt越小,Indt0的空间特性就越接近Indt,当Kt为0时,Indt0就退化成Indt了。
②当SLFt=Int(Indt,max/2^(Kt))时
这种情况与①正好相反,实际上相当于将①中的Indt0和Indt1调换位置,Indt0的取值范围能够充分利用编码空间,而Indt1的取值范围则充分保留了Indt的空间占用特征。显然,Kt越小,Indt1的空间特性就越接近Indt,当Kt为0时,Indt1就退化成Indt了。
C3、将至少一个轨道的分裂索引和其它轨道的分裂索引或编码索引进行组合生成组合索引IndSLF。
根据实施例二中的分析可知,若要令组合索引达到更好的节省编码比特的效果,需要选择尽量保留Indt的空间特性的分裂索引,因此,对于提供分裂索引参与组合的轨道t,
若SLFt=2^(Kt),则宜选择Indt0参与组合,
若SLFt=Int(Indt,max/2^(Kt)),则宜选择Indt1参与组合。
此外,根据步骤C2的分析可知,Kt越小,所选择参与组合的分裂索引保留的空间特征就越好,但是,相应的组合索引的长度就会增加,因此可根据实际轨道的情况(例如原编码索引长度,空间空闲程度等)确定参与组合的分裂索引的长度。在实际设计时,可逐个计算Kt的不同取值所对应的用于组合的分裂索引能保留的空闲空间的比例,选择既能保持较高比例空闲空间,同时又不会导致参与组合的分裂索引过长的Kt值。例如,可选择Kt=Kt,max-2,或Kt=Kt,max-3,或Kt=Kt,max-4,其中Kt,max为Indt,max的比特序列的长度。
C4、根据组合索引和其他未组合的分裂索引进行编码。
步骤C4可参照实施例一的步骤A4执行。
本实施例提供的Indt分裂方式,能够保证分裂索引之一尽量保留Indt的空间占用特征,使得组合索引可以更好的节省编码比特。
实施例四、一种轨道联合脉冲编码方法,本实施例在实施例一的基础上提供简便易行的进行编码索引分裂的方案,如图5所示,包括步骤:
D1、分别计算各个轨道的编码索引Indt。
步骤D1可参照实施例一的步骤A1执行。
D2、将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,具体做法为,选择Indt处于设定位置的比特位的值作为Indt0,余下位置的比特位的值作为Indt1。
本实施例采用直接将Indt按比特位分裂的方式来获得分裂索引。显然,在这种情况下,SLFt=2^(Kt),其中设定位置的比特位的个数为Kt0,余下位置的比特位的个数为Kt,Kt0+Kt=Kt,max,Kt,max为Indt,max的比特序列的长度,Indt,max表示Indt的最大值。
容易理解,当所设置的构成某个分裂索引的比特位不连续时,意味着Indt的取值范围被不连续的分配到长度为SLFt的若干个区间中,但分裂索引对编码空间的占用特性并不受所包含取值范围是否连续的影响,只与区间是否被充分填充有关。
需要注意的是,对参数按比特位进行分裂时,都是按照该参数最大值的比特序列长度来描述比特位的位置的。例如,若Indt,max的比特序列长度为10,尽管某次Indt的取值可能仅仅是2(如未特殊说明,本文件中所使用数值均为十进制),其自身有效比特序列长度只有2位,但对其进行按比特位分裂时,仍从最高10位开始计算需要分裂出的比特位的位置。
此外,对照实施例三步骤C2中所描述的情形①可以看出,该情形①实际上相当于在长度为Kt,max比特序列中,选择Indt从最高位开始的Kt0个比特位的值作为Indt0,余下的比特位的值作为Indt1,即将Indt按高低位分为两段,每一段的值分别对应一个分裂索引。
D3、将至少一个轨道的分裂索引和其它轨道的分裂索引或编码索引进行组合生成组合索引IndSLF,具体做法为,选择Indt至少包含最高两位的值的分裂索引参与组合。
根据实施例二中的分析可知,若要令组合索引达到更好的节省编码比特的效果,需要选择尽量保留Indt的空间特性的分裂索引,在按照比特位对Indt进行分裂时,显然,处于最高几位的比特最能反映Indt的空间特性,因此,无论构成分裂索引的比特位是否连续,优选包含最高两位的值的分裂索引参与组合,当然,更优选的情形就是当Indt按照比特序列的高低位进行分裂时,选择与处于高位的分裂段对应的分裂索引参与组合,例如实施例三步骤C2所描述情形①中的Indt0。
D4、根据组合索引和其他未组合的分裂索引进行编码。
步骤D4可参照实施例一的步骤A4执行。此外,若采用将组合索引分裂后,与其他未组合的分裂索引进行组合再编码的方式,组合索引的分裂也可参照上述步骤D2进行,即,
将组合索引的比特序列的总长度KSLF按照设定长度分裂成T1个部分,T1小于等于生成该组合索引的轨道数目,每个部分的值对应一个Indt0’,KSLF为IndSLF,max的比特序列的长度,IndSLF,max表示IndSLF的最大值。例如,将KSLF按照生成该组合索引的轨道t所使用的Kt0值进行分裂,每个Indt0’所对应的分裂出的比特位的个数小于等于相应轨道t所使用的Kt0值。
举例而言,若有4个轨道,每个轨道分别提取编码索引的高4位作为分裂索引参与组合,则组合后,可以将组合索引同样按照4位一段进行分裂,作为重组索引替换原编码索引的高4位。由于组合索引合并了空闲空间,其比特序列长度可能会小于4+4+4+4,因此,某个轨道获得的重组索引可能只有3位甚至更少,这就成为固定节省的编码比特了。需要说明的是,由于分裂索引组合成组合索引即已完成了节省比特的操作,因此在对组合索引进行按位分裂时,无需特殊规则,可以将比特位连续分段,也可以不连续抽取,只要编码和解码端采用相同的规则即可。
本实施例提供了简便易行的Indt分裂方式,既能够保证分裂索引之一尽量保留Indt的空间占用特征,又便于实现。
实施例五、一种轨道联合脉冲编码方法,本实施例在实施例一的基础上提供分层级联的轨道联合脉冲编码方法,如图6所示,包括步骤:
E1、对参与联合编码的轨道进行分组,每组至少包括两个轨道。
例如,16个轨道参与联合编码,每4个轨道分为1组,共4组。
E2、在每组中,参照实施例一的方式进行编码索引的分裂和组合。
即,分别计算各个轨道的编码索引,对至少两个编码索引进行分裂,每个编码索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的1级因子将编码索引分裂为两个1级分裂索引,其中一个1级分裂索引表示若干个长度不大于设定值的区间的序号,其中另一个1级分裂索引表示编码索引在所属区间中的序号,组合来自至少两个轨道的1级分裂索引生成1级组合索引。
E3、从m=2开始重复下述生成m级组合索引的操作直至m=M,对至少两个m-1级组合索引进行分裂,m∈[2,M],M是大于等于2的整数,每个m-1级组合索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的m级因子将m-1级组合索引分裂为两个m级分裂索引,组合来自至少两个m-1级组合索引的m级分裂索引生成m级组合索引。
上述各级的分裂和组合过程,可将需要分裂的m-1级组合索引视为前述各实施例中的编码索引,参照相应描述进行,不再赘述。例如,参照实施例四,生成1级组合索引所使用的1级分裂索引可以为,截取自相应编码索引从最高位开始的设定位数的值;生成m级组合索引所使用的m级分裂索引可以为,截取自相应m-1级组合索引从最高位开始的设定位数的值。
E4、根据M级组合索引和其他未组合的1级至M-1级分裂索引进行编码。
与实施例一中步骤A4类似,可以直接将M级组合索引和其他未组合的1级至M-1级分裂索引分别进行编码。也可以进一步将M级组合索引分裂后,与其他未组合的M-1级分裂索引进行组合再编码,在此不再赘述。
需要说明的是,虽然在上述编码过程中,为使描述清楚、具有循环操作性起见,对各级的分裂和组合情况进行了一致的描述,实际上,也可以如同实施例一中一样,既允许分裂索引参与组合,也允许编码索引(对于第1级组合而言)或组合索引(对于第2级以上的组合而言)直接参与组合,甚至可以允许分裂索引越级参与组合(例如未组合的1级分裂索引参与3级组合索引的生成),不过这些情况下,需要分别对各级的分裂和组合规则进行设定,使得编码和解码端保持一致。
本实施例适用于过多的轨道联合编码,例如16或32甚至更多的轨道,在多轨道的情况下,即便每个轨道只提取几个比特的分裂索引进行组合,也会使得组合索引过长,此时采用上述分层级联方式,通过多层的分裂和组合,既能够保证对空闲空间的充分合并,又不至于使得组合索引过长。
实施例六、一种轨道联合脉冲解码方法,本实施例提供的解码方法对按照实施例一至四编码方法获得的联合编码进行解码,解码过程为编码过程的逆过程,如图7所示,包括:
F1、获取联合编码,从所述联合编码中获取组合索引和与轨道对应的未组合的分裂索引。
从联合编码中提取各个索引的过程,可按照与编码时对各个索引执行操作的逆过程来进行。
例如,若编码端直接将组合索引以及各个未组合的分裂索引分别进行编码,则直接解码出各个索引即可。
又如,若编码端对组合索引采用了变长编码方式,则判断出组合索引的编码长度再进行相应解码即可(参阅申请号为CN200910150637.8的中国专利申请)。
再如,若编码端是将组合索引分裂后,与其他未组合的分裂索引进行组合再编码,则,从联合编码中提取与各个轨道对应的编码,从各个轨道的编码中分离出重组索引和未组合的分裂索引,若有不包含重组索引的编码,则直接获得与相应轨道对应的未组合的分裂索引,然后按照编码端的分裂方式,将全部重组索引拼接为组合索引。
F2、将组合索引分裂为与轨道对应的分裂索引,或分裂为与轨道对应的分裂索引和编码索引。
此步骤参照编码端生成组合索引的方式逆向进行即可。
例如,若编码端采用AI=((((aI×AI-1+aI-1)……)×A2+a2)×A1+a1)×A0+a0的方式生成组合索引,在解码时,计算AI%A0即可得到a0的值,然后计算Int(AI/A0)%A1即可得到a1的值,以此类推,直至获得全部ai。
F3、分别对于各个参与编码索引分裂的轨道,按照编码端的分裂方式,拼接该轨道未参与组合的分裂索引与参与组合的分裂索引生成该轨道的编码索引。
当然,对于未分裂直接使用编码索引参与组合的那些轨道,由步骤F2即可获得其编码索引,此步骤可省略。
F4、分别对于各个轨道,按照其编码索引重建轨道上的脉冲序列。
由于编码端使用由分裂索引进行组合的方式,因此在解码端同样可以获得降低数值处理的位宽要求的益处。
实施例七、一种轨道联合脉冲解码方法,本实施例提供的解码方法对按照实施例五分层级联的编码方法获得的联合编码进行解码,解码过程为编码过程的逆过程,如图8所示,包括:
G1、获取联合编码,从该联合编码中获取M级组合索引,和与各个m-1级组合索引对应的未组合的m级分裂索引,和与各个轨道对应的未组合的1级分裂索引,M是大于等于2的整数,m∈[2,M]。
参照实施例六步骤F1,该索引提取过程同样按照与编码时对各个索引执行操作的逆过程来进行,不再赘述。
G2、从m=M开始重复下述生成m-1级组合索引的操作直至m=2,将每个m级组合索引分裂为与生成该m级组合索引的各个m-1级组合索引对应的m级分裂索引,分别对于各个m-1级组合索引,按照编码端的分裂方式,拼接该m-1级组合索引未参与组合的m级分裂索引与参与组合的m级分裂索引生成该m-1级组合索引。
G3、将每个1级组合索引分裂为与生成该1级组合索引的轨道组中的各个轨道对应的1级分裂索引,分别对于各个轨道组中的各个轨道,按照编码端的分裂方式,拼接该轨道未参与组合的1级分裂索引与参与组合的1级分裂索引生成编码索引。
G4、分别对于各个轨道组中的各个轨道,按照编码索引重建轨道上的脉冲序列。
实施例八、一种矢量联合脉冲编码器10,本实施例提供的编码器可用于执行实施例一至四提供的编码方法,如图9所示,包括:
编码索引计算单元101,用于分别计算各个矢量的编码索引Indt,其中下标t表示第t个矢量,t∈[0,T-1],T是大于等于2的整数;
矢量索引分裂单元102,用于将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,SLFt为正整数,Indt0表示Indt所属的区间的序号,Indt1表示Indt在所属的区间中的序号,所述区间的长度均不大于SLFt,Indt≤Indt0×SLFt+Indt1;
索引组合单元103,用于将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF;
编码单元104,用于根据索引组合单元103生成的组合索引和矢量索引分裂单元102分裂出的其他未组合的分裂索引进行编码。
进一步的,其中编码单元104可包括:
重组子单元1041,用于将组合索引按照设定取值范围分裂成T1个重组索引Indt0’,T1小于等于生成该组合索引的矢量数目,至少一个Indt0’的取值范围大于相应矢量t参与组合的分裂索引的取值范围,至少一个Indt0’的取值范围小于相应矢量t参与组合的分裂索引的取值范围;
编码子单元1042,用于分别将各个重组索引与相应矢量未组合的分裂索引组合后进行编码,若有未分配重组索引的矢量,则对其未组合的分裂索引进行编码。
实施例九、一种矢量联合脉冲编码器20,本实施例提供的编码器可用于执行实施例五提供的编码方法,如图10所示,包括:
矢量索引计算单元201,用于对参与联合编码的矢量进行分组,每组至少包括两个矢量;在每组中,分别计算各个矢量的编码索引,对至少两个编码索引进行分裂,每个编码索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的1级因子将编码索引分裂为两个1级分裂索引,其中一个1级分裂索引表示若干个长度不大于设定值的区间的序号,其中另一个1级分裂索引表示编码索引在所属区间中的序号,组合来自至少两个矢量的1级分裂索引生成1级组合索引;
级联计算单元202,用于从m=2开始重复下述生成m级组合索引的操作直至m=M,对至少两个m-1级组合索引进行分裂,m∈[2,M],M是大于等于2的整数,每个m-1级组合索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的m级因子将m-1级组合索引分裂为两个m级分裂索引,组合来自至少两个m-1级组合索引的m级分裂索引生成m级组合索引;
编码单元203,根据M级组合索引和其他未组合的1级至M-1级分裂索引进行编码。
在实际实现中,级联计算单元202可复用矢量索引计算单元201中用于对编码索引进行分裂和组合的部分。
实施例十、一种矢量联合脉冲解码器30,本实施例提供的解码器可用于执行实施例六解码方法,如图11所示,包括:
解码单元301,用于获取联合编码,从所述联合编码中获取组合索引和与矢量对应的未组合的分裂索引;
索引分裂单元302,用于将解码单元301获取的组合索引分裂为与矢量对应的分裂索引,或分裂为与矢量对应的分裂索引和编码索引;
矢量索引重建单元303,用于分别对于各个参与编码索引分裂的矢量,按照编码端的分裂方式,拼接该矢量未参与组合的分裂索引与参与组合的分裂索引生成该矢量的编码索引;
矢量重建单元304,用于分别对于各个矢量,按照其编码索引重建该矢量。
进一步的,解码单元301可包括:
解码子单元3011,用于从联合编码中提取与各个矢量对应的编码,从各个矢量的编码中分离出重组索引和未组合的分裂索引,若有不包含重组索引的编码,则直接获得与相应矢量对应的未组合的分裂索引;
拼接子单元3012,按照编码端的分裂方式,将全部重组索引拼接为组合索引。
实施例十一、一种矢量联合脉冲解码器40,本实施例提供的解码器可用于执行实施例七解码方法,如图12所示,包括:
解码单元401,用于获取联合编码,从所述联合编码中获取M级组合索引,和与各个m-1级组合索引对应的未组合的m级分裂索引,和与各个矢量对应的未组合的1级分裂索引,M是大于等于2的整数,m∈[2,M];
级联恢复单元402,从m=M开始重复下述生成m-1级组合索引的操作直至m=2,将每个m级组合索引分裂为与生成该m级组合索引的各个m-1级组合索引对应的m级分裂索引,分别对于各个m-1级组合索引,按照编码端的分裂方式,拼接该m-1级组合索引未参与组合的m级分裂索引与参与组合的m级分裂索引生成该m-1级组合索引;
矢量索引重建单元403,将每个1级组合索引分裂为与生成该1级组合索引的矢量组中的各个矢量对应的1级分裂索引,分别对于各个矢量组中的各个矢量,按照编码端的分裂方式,拼接该矢量未参与组合的1级分裂索引与参与组合的1级分裂索引生成编码索引;
矢量重建单元404,用于分别对于各个矢量组中的各个矢量,按照编码索引重建该矢量。
在实际实现中,级联恢复单元402可复用矢量索引重建单元403中用于对1级组合索引进行分裂和拼接的部分。
为更好的理解本发明,下面给出基于本发明的轨道联合编码的两个具体示例。
例一、假设4个轨道参与联合编码,每个轨道编码5个带符号脉冲(每个轨道编码的脉冲数也可以不同)。每个轨道均采用截取编码索引高4位的方式分裂出参与组合的分裂索引(每个轨道截取的比特位数目也可以不同)。如图13所示,编码过程如下:
①分别计算4个轨道的编码索引Ind0、Ind1、Ind2、Ind3,假设轨道位置总数为16,则5脉冲编码索引的取值范围是0~285088,需要的比特数为19。
②截取每个编码索引的高4位作为参与组合的分裂索引Indt0,余下15位作为不参与组合的分裂索引Indt1。即,相当于SLFt=2^15。
③将Ind00、Ind10、Ind20、Ind30组合生成组合索引IndSLF,由于5脉冲的编码索引取值个数为285088,除以SLFt=2^15=32768,得到商为8.7001953125,因此Indt0的取值范围为0~8,即Indt0的取值个数为9(其他脉冲数量的Indt0取值个数可类推,不再赘述),因此有,
IndSLF=((Ind30×9+Ind20)×9+Ind10)×9+Ind00
可知IndSLF的取值范围为0~6560,比特序列长度为13。
④此时,可直接将IndSLF、Ind01、Ind11、Ind21、Ind31进行编码,总编码长度为13+15+15+15+15,比较单轨道编码节省了3个比特。
也可以将IndSLF分裂后,与Indt1进行组合再编码,即,
将IndSLF按4位一组进行分裂(按照参与组合的分裂索引的长度来分裂组合索引可直观的体现节省比特的效果,当然也可以按其他长度分裂,每个重组索引的位数可以不同,组成同一个重组索引的比特位也可以不必是连续的,不影响节省比特的效果),得到Ind30’、Ind20’、Ind10’、Ind00’,显然,最后一个重组索引Ind30’的长度只有1位;
然后将各个重组索引与相应轨道未组合的分裂索引组合,即,用各个重组索引替换相应轨道编码索引的高四位,得到新的编码索引Ind3’、Ind2’、Ind1’、Ind0’,显然,新的编码索引Ind0’的长度只有16位,因此固定节省了3个比特。
例二、假设4个轨道分为两组(2个轨道一组,每组包含的轨道数也可以不同)参与两级级联联合编码,每个轨道编码5个带符号脉冲(每个轨道编码的脉冲数也可以不同)。每个轨道均采用截取编码索引高8位的方式分裂出参与组合的分裂索引(每个轨道截取的比特位数目也可以不同)。如图14所示,编码过程如下:
①分别计算两组中各自2个轨道的编码索引Ind0、Ind1、Ind2、Ind3,其中,Ind0、Ind1为第1组的两个轨道的编码索引,Ind2、Ind3为第2组的两个轨道的编码索引,假设轨道位置总数为16,则5脉冲编码索引的取值范围是0~285088,需要的比特数为19。
②截取第1组和第2组中编码索引的高8位作为参与组合的1级分裂索引Ind1,t0(第1个下标1表示级数,下同),余下11位作为不参与组合的1级分裂索引Ind1,t1。即,相当于1级因子SLF1,t=2^11。
③将Ind1,00、Ind1,10组合生成1级组合索引Ind1,SLF,0,将Ind1,20、Ind1,30组合生成1级组合索引Ind1,SLF,1,由于5脉冲的编码索引取值个数为285088,除以SLFt=2^11=2048,得到商为139.203125,因此Ind1,t0的取值范围为0~139,即Ind1,t0的取值个数为140,因此有,
Ind1,SLF,0=Ind1,10×140+Ind1,00
Ind1,SLF,1=Ind1,30×140+Ind1,20
可知1级组合索引Ind1,SLF,0、Ind1,SLF,1的取值个数为19600,比特序列长度为15,因此每个1级组合索引节省了1个比特,1级联合编码节省了2个比特。
④基于Ind1,SLF,0、Ind1,SLF,1继续进行2级联合编码操作(在进行多级联合时,可将上一级组合索引看作1级联合中的编码索引进行类似的分裂和组合操作,因此后续沿用下标t表示第t个上一级组合索引),截取Ind1,SLF,t的高8位作为参与组合的2级分裂索引Ind2,SLF,t0,余下7位作为不参与组合的2级分裂索引Ind2,SLF,t1。即,相当于2级因子SLF2,t=2^7。
⑤将Ind2,SLF,00、Ind2,SLF,10组合生成2级组合索引Ind2,SLF,由于Ind1,SLF,t的取值个数为19600,除以SLF2,t=2^7=128,得到商为153.125,因此Ind2,SLF,t0的取值范围为0~153,即Ind2,SLF,t0的取值个数为154,因此有,
Ind2,SLF=Ind2,SLF,10×154+Ind2,SLF,00
可知2级组合索引Ind2,SLF的取值个数为23716,比特序列长度为15,因此2级联合编码又节省了1个比特。
⑥此时,可直接将Ind2,SLF、Ind2,SLF,01、Ind2,SLF,11、Ind1,01、Ind1,11、Ind1,21、Ind1,31进行编码,总编码长度为15+7+7+11+11+11+11=73,比较单轨道编码共节省了3个比特。
也可以将Ind2,SLF分裂后,与Ind1,SLF,t1进行组合再编码,即,
将Ind2,SLF按8位一组进行分裂(按照参与组合的m级分裂索引的长度来分裂m级组合索引可直观的体现节省比特的效果,当然也可以按其他长度分裂,每个重组索引的位数可以不同,组成同一个重组索引的比特位也可以不必是连续的,不影响节省比特的效果),得到Ind2,SLF,10’、Ind2,SLF,00’,显然,重组索引Ind2,SLF,00’的长度只有7位;
然后将各个重组索引与相应1级组合索引未组合的2级分裂索引组合,即,用各个重组索引替换相应1级组合索引的高四位,得到新的1级组合索引Ind1,SLF,1’、Ind1,SLF,0’,显然,新的1级组合索引Ind1,SLF,0’的长度只有14位。
此时,可直接将Ind1,SLF,1’、Ind1,SLF,0’、Ind01、Ind11、Ind21、Ind31进行编码,总编码长度为15+14+11+11+11+11=73,比较单轨道编码共节省了3个比特。
也可以将Ind1,SLF,1’、Ind1,SLF,0’分裂后,与Ind1,t1进行组合再编码,即,
将Ind1,SLF,1’按8位一组进行分裂,得到Ind1,30’、Ind1,20’,显然,重组索引Ind1,20’的长度只有7位;将Ind1,SLF,0’按8位一组进行分裂,得到Ind1,10’、Ind1,00’,显然,重组索引Ind1,00’的长度只有6位。
然后将各个重组索引与相应编码索引未组合的1级分裂索引组合,即,用各个重组索引替换相应编码索引的高四位,得到新的编码索引Ind3’、Ind2’、Ind1’、Ind0’,显然,Ind2’的长度只有18位,Ind0’的长度只有17位,因此固定节省了3个比特。
表2给出了4轨道联合编码时,轨道上不同脉冲数目(带符号脉冲)的情况下,高4位联合编码节省比特的情况,其他多轨道联合或分裂索引截取位数不同的情况可类推。
表2
可见,采用本发明联合编码方法能够有效的节省编码比特。采用联合编码节省的比特可以用来降低传输码率,也可以使用到其它模块,比如ISF系数量化、基音周期精度、增益等,用来改善编码质量。
例如,可以在码率不变的情况下,增加轨道上的脉冲数目(增加ACELP激励码脉冲),以提升编码质量。例如,对于AMR-WB+的几个ACELP高码率固定码本,在采用表2所示的高4位联合编码后,可在原有的码率下增加若干个脉冲,具体如下:
①18.25kbps增加3脉冲
②19.85kbps增加6脉冲
③19.85kbps增加6脉冲
④19.85kbps增加7脉冲
⑤23.05kbps增加8脉冲
本领域普通技术人员可以理解,上述实施例中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明实施例所提供的矢量联合编解码方法及矢量联合编解码器进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (23)
1.一种矢量联合脉冲编码方法,其特征在于,包括:
分别计算各个矢量的编码索引Indt,其中下标t表示第t个矢量,t∈[0,T-1],T是矢量的数量,为大于等于2的整数,所述矢量是在信号处理过程中对信号进行划分后得到;
将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,SLFt为正整数,Indt0表示Indt所属的区间的序号,Indt1表示Indt在所属的区间中的序号,所述区间的长度均不大于SLFt,
Indt≤Indt0×SLFt+Indt1;
将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF;
根据所述组合索引和其他未组合的分裂索引进行编码。
2.根据权利要求1所述的方法,其特征在于,所述矢量表现为轨道上的脉冲分布,所述编码索引为用来指示轨道上的脉冲分布情况的索引。
3.根据权利要求1所述的方法,其特征在于,所述按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1具体为:
Indt0=Int(Indt/SLFt),Int()表示向下取整,
Indt1=Indt%SLFt,%表示取余数。
4.根据权利要求3所述的方法,其特征在于:
SLFt=2^(Kt),Kt为正整数,所述将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF具体为,对于提供分裂索引参与组合的矢量t,选择Indt0参与组合;
或者,
SLFt=Int(Indt,max/2^(Kt)),Indt,max表示Indt的最大值,所述将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF具体为,对于提供分裂索引参与组合的矢量t,选择Indt1参与组合。
5.根据权利要求4所述的方法,其特征在于:Kt=Kt,max-2,或Kt=Kt,max-3,或Kt=Kt,max-4,其中Kt,max为Indt,max的比特序列的长度。
6.根据权利要求1所述的方法,其特征在于,所述将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF具体为:
对于提供分裂索引参与组合的矢量t,选择能够体现Indt的空间占用特征的分裂索引参与组合,所述能够体现Indt的空间占用特征是指与其他分裂索引相比,所选择的分裂索引的取值范围对编码空间的占用率最接近Indt的取值范围对编码空间的占用率。
7.根据权利要求1所述的方法,其特征在于,所述按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1具体为:
选择Indt处于设定位置的比特位的值作为Indt0,余下位置的比特位的值作为Indt1,SLFt=2^(Kt),所述设定位置的比特位的个数为Kt0,余下位置的比特位的个数为Kt,Kt0+Kt=Kt,max,Kt,max为Indt,max的比特序列的长度,Indt,max表示Indt的最大值。
8.根据权利要求7所述的方法,其特征在于,所述将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF具体为:组合来自至少两个矢量的分裂索引生成组合索引IndSLF;
所述组合来自至少两个矢量的分裂索引生成组合索引IndSLF具体为:
对于提供分裂索引参与组合的矢量t,在长度为Kt,max比特序列中,选择Indt至少包含最高两位的值的分裂索引参与组合。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述根据组合索引和其他未组合的分裂索引进行编码具体为:
将组合索引按照设定取值范围分裂成T1个重组索引Indt0’,T1小于等于生成该组合索引的矢量数目,至少一个Indt0’的取值范围大于相应矢量t参与组合的分裂索引的取值范围,至少一个Indt0’的取值范围小于相应矢量t参与组合的分裂索引的取值范围;
分别将各个重组索引与相应矢量未组合的分裂索引组合后进行编码,若有未分配重组索引的矢量,则对其未组合的分裂索引进行编码。
10.根据权利要求9所述的方法,其特征在于,所述将组合索引按照设定取值范围分裂成T1个重组索引Indt0’具体为:
将组合索引的比特序列的总长度KSLF按照设定长度分裂成T1个部分,每个部分的值对应一个Indt0’,KSLF为IndSLF,max的比特序列的长度,IndSLF,max表示IndSLF的最大值。
11.根据权利要求10所述的方法,其特征在于:
所述按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1具体为:在长度为Kt,max比特序列中,选择Indt从最高位开始的Kt0个比特位的值作为Indt0,余下的比特位的值作为Indt1,SLFt=2^(Kt),Kt0+Kt=Kt,max,Kt,max为Indt,max的比特序列的长度,Indt,max表示Indt的最大值;
所述将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF具体为:对于需要提供分裂索引的矢量t,选择Indt0参与组合;
所述将组合索引的比特序列的总长度KSLF按照设定长度分裂成T1个部分具体为:将KSLF按照生成该组合索引的矢量t所使用的Kt0值进行分裂,每个Indt0’所对应的分裂出的比特位的个数小于等于相应矢量t所使用的Kt0值。
12.根据权利要求1-8任意一项所述的方法,其特征在于,所述根据组合索引和其他未组合的分裂索引进行编码具体为:
比较组合索引IndSLF和调整门限值THR,其中,
THR≤2^(KSLF)-IndSLF,max,
KSLF为IndSLF,max的比特序列的长度,IndSLF,max表示IndSLF的最大值,
若IndSLF小于THR,采用第一数量的编码比特对IndSLF进行编码,否则采用第二数量的编码比特对加上偏移值THR0的IndSLF进行编码,THR≤THR0≤2^(KSLF)-IndSLF,max,所述第一数量少于所述第二数量,所述第二数量小于等于KSLF,所述第一数量和所述第二数量均为正整数;
对其他未组合的分裂索引进行编码。
13.一种矢量联合脉冲编码方法,其特征在于,包括:
对参与联合编码的矢量进行分组,每组至少包括两个矢量,所述矢量是在信号处理过程中对信号进行划分后得到;
在每组中,分别计算各个矢量的编码索引,对至少两个编码索引进行分裂,每个编码索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的1级因子将编码索引分裂为两个1级分裂索引,其中一个1级分裂索引表示若干个长度不大于设定值的区间的序号,其中另一个1级分裂索引表示编码索引在所属区间中的序号,组合来自至少两个矢量的1级分裂索引生成1级组合索引;
从m=2开始重复下述生成m级组合索引的操作直至m=M,对至少两个m-1级组合索引进行分裂,m∈[2,M],M是大于等于2的整数,每个m-1级组合索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的m级因子将m-1级组合索引分裂为两个m级分裂索引,组合来自至少两个m-1级组合索引的m级分裂索引生成m级组合索引;
根据M级组合索引和其他未组合的1级至M-1级分裂索引进行编码。
14.根据权利要求13所述的方法,其特征在于:生成1级组合索引所使用的1级分裂索引为,截取自相应编码索引从最高位开始的设定位数的值;生成m级组合索引所使用的m级分裂索引为,截取自相应m-1级组合索引从最高位开始的设定位数的值。
15.一种矢量联合脉冲解码方法,其特征在于,所述矢量联合脉冲解码方法用于对按照权利要求1至12中任一项所述的矢量联合脉冲编码方法获得的联合编码进行解码,所述矢量联合脉冲解码方法包括:
获取联合编码,从所述联合编码中获取组合索引和与矢量对应的未组合的分裂索引,所述矢量是在信号处理过程中对信号进行划分后得到;
将组合索引分裂为与矢量对应的分裂索引,或分裂为与矢量对应的分裂索引和编码索引;
分别对于各个参与编码索引分裂的矢量,按照编码端的分裂方式,拼接该矢量未参与组合的分裂索引与参与组合的分裂索引生成该矢量的编码索引;
分别对于各个矢量,按照其编码索引重建该矢量。
16.根据权利要求15所述的方法,其特征在于,所述从联合编码中获取组合索引和与各个矢量对应的未组合的分裂索引具体为:
从联合编码中提取与各个矢量对应的编码,从各个矢量的编码中分离出重组索引和未组合的分裂索引,若有不包含重组索引的编码,则直接获得与相应矢量对应的未组合的分裂索引;
按照编码端的分裂方式,将全部重组索引拼接为组合索引。
17.一种矢量联合脉冲解码方法,其特征在于,所述矢量联合脉冲解码方法用于对按照权利要求13至14中任一项所述的矢量联合脉冲编码方法获得的联合编码进行解码,所述矢量联合脉冲解码方法包括:
获取联合编码,从所述联合编码中获取M级组合索引,和与各个m-1级组合索引对应的未组合的m级分裂索引,和与各个矢量对应的未组合的1级分裂索引,M是大于等于2的整数,m∈[2,M],所述矢量是在信号处理过程中对信号进行划分后得到;
从m=M开始重复下述生成m-1级组合索引的操作直至m=2,将每个m级组合索引分裂为与生成该m级组合索引的各个m-1级组合索引对应的m级分裂索引,分别对于各个m-1级组合索引,按照编码端的分裂方式,拼接该m-1级组合索引未参与组合的m级分裂索引与参与组合的m级分裂索引生成该m-1级组合索引;
将每个1级组合索引分裂为与生成该1级组合索引的矢量组中的各个矢量对应的1级分裂索引,分别对于各个矢量组中的各个矢量,按照编码端的分裂方式,拼接该矢量未参与组合的1级分裂索引与参与组合的1级分裂索引生成编码索引;
分别对于各个矢量组中的各个矢量,按照编码索引重建该矢量。
18.一种矢量联合脉冲编码器,其特征在于,包括:
编码索引计算单元,用于分别计算各个矢量的编码索引Indt,其中下标t表示第t个矢量,t∈[0,T-1],T是大于等于2的整数,所述矢量是在信号处理过程中对信号进行划分后得到;
矢量索引分裂单元,用于将至少一个Indt经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的因子SLFt将Indt分裂为两个分裂索引Indt0和Indt1,SLFt为正整数,Indt0表示Indt所属的区间的序号,Indt1表示Indt在所属的区间中的序号,所述区间的长度均不大于SLFt,Indt≤Indt0×SLFt+Indt1;
索引组合单元,用于将至少一个矢量的分裂索引和其它矢量的分裂索引或编码索引进行组合生成组合索引IndSLF;
编码单元,用于根据所述组合索引和其他未组合的分裂索引进行编码。
19.根据权利要求18所述的编码器,其特征在于,所述编码单元包括:
重组子单元,用于将组合索引按照设定取值范围分裂成T1个重组索引Indt0’,T1小于等于生成该组合索引的矢量数目,至少一个Indt0’的取值范围大于相应矢量t参与组合的分裂索引的取值范围,至少一个Indt0’的取值范围小于相应矢量t参与组合的分裂索引的取值范围;
编码子单元,用于分别将各个重组索引与相应矢量未组合的分裂索引组合后进行编码,若有未分配重组索引的矢量,则对其未组合的分裂索引进行编码。
20.一种矢量联合脉冲编码器,其特征在于,包括:
矢量索引计算单元,用于对参与联合编码的矢量进行分组,每组至少包括两个矢量;在每组中,分别计算各个矢量的编码索引,对至少两个编码索引进行分裂,每个编码索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的1级因子将编码索引分裂为两个1级分裂索引,其中一个1级分裂索引表示若干个长度不大于设定值的区间的序号,其中另一个1级分裂索引表示编码索引在所属区间中的序号,组合来自至少两个矢量的1级分裂索引生成1级组合索引,所述矢量是在信号处理过程中对信号进行划分后得到;
级联计算单元,用于从m=2开始重复下述生成m级组合索引的操作直至m=M,对至少两个m-1级组合索引进行分裂,m∈[2,M],M是大于等于2的整数,每个m-1级组合索引经过至少一次分裂,分裂为至少两部分,其中至少一次分裂等效于按照设定的m级因子将m-1级组合索引分裂为两个m级分裂索引,组合来自至少两个m-1级组合索引的m级分裂索引生成m级组合索引;
编码单元,根据M级组合索引和其他未组合的1级至M-1级分裂索引进行编码。
21.一种矢量联合脉冲解码器,其特征在于,所述矢量联合脉冲解码器用于执行所述权利要求15至16中任一项所述的矢量联合脉冲解码方法,所述矢量联合脉冲解码器包括:
解码单元,用于获取联合编码,从所述联合编码中获取组合索引和与矢量对应的未组合的分裂索引,所述矢量是在信号处理过程中对信号进行划分后得到;
索引分裂单元,用于将组合索引分裂为与矢量对应的分裂索引,或分裂为与矢量对应的分裂索引和编码索引;
矢量索引重建单元,用于分别对于各个参与编码索引分裂的矢量,按照编码端的分裂方式,拼接该矢量未参与组合的分裂索引与参与组合的分裂索引生成该矢量的编码索引;
矢量重建单元,用于分别对于各个矢量,按照其编码索引重建该矢量。
22.根据权利要求21所述的解码器,其特征在于,所述解码单元包括:
解码子单元,用于从联合编码中提取与各个矢量对应的编码,从各个矢量的编码中分离出重组索引和未组合的分裂索引,若有不包含重组索引的编码,则直接获得与相应矢量对应的未组合的分裂索引;
拼接子单元,按照编码端的分裂方式,将全部重组索引拼接为组合索引。
23.一种矢量联合脉冲解码器,其特征在于,所述矢量联合脉冲解码器用于执行所述权利要求17所述的矢量联合脉冲解码方法,所述矢量联合脉冲解码器包括:
解码单元,用于获取联合编码,从所述联合编码中获取M级组合索引,和与各个m-1级组合索引对应的未组合的m级分裂索引,和与各个矢量对应的未组合的1级分裂索引,M是大于等于2的整数,m∈[2,M],所述矢量是在信号处理过程中对信号进行划分后得到;
级联恢复单元,从m=M开始重复下述生成m-1级组合索引的操作直至m=2,将每个m级组合索引分裂为与生成该m级组合索引的各个m-1级组合索引对应的m级分裂索引,分别对于各个m-1级组合索引,按照编码端的分裂方式,拼接该m-1级组合索引未参与组合的m级分裂索引与参与组合的m级分裂索引生成该m-1级组合索引;
矢量索引重建单元,将每个1级组合索引分裂为与生成该1级组合索引的矢量组中的各个矢量对应的1级分裂索引,分别对于各个矢量组中的各个矢量,按照编码端的分裂方式,拼接该矢量未参与组合的1级分裂索引与参与组合的1级分裂索引生成编码索引;
矢量重建单元,用于分别对于各个矢量组中的各个矢量,按照编码索引重建该矢量。
Priority Applications (20)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110028694.6A CN102623012B (zh) | 2011-01-26 | 2011-01-26 | 矢量联合编解码方法及编解码器 |
JP2013550739A JP5731675B2 (ja) | 2011-01-26 | 2011-11-30 | ベクトル結合符号化/復号方法および符号復号器 |
EP16160251.1A EP3174048B1 (en) | 2011-01-26 | 2011-11-30 | Method and encoder for vector joint encoding of a speech signal |
KR1020177012466A KR102017721B1 (ko) | 2011-01-26 | 2011-11-30 | 벡터 조인트 인코딩/디코딩 방법 및 벡터 조인트 인코더/디코더 |
ES16160251T ES2718935T3 (es) | 2011-01-26 | 2011-11-30 | Método y codificador para la codificación conjunta de vectores de una señal de voz |
KR1020157032812A KR101735698B1 (ko) | 2011-01-26 | 2011-11-30 | 벡터 조인트 인코딩/디코딩 방법 및 벡터 조인트 인코더/디코더 |
EP11856688.4A EP2669890B1 (en) | 2011-01-26 | 2011-11-30 | Method and encoder for vector joint encoding of a speech signal |
PT118566884T PT2669890T (pt) | 2011-01-26 | 2011-11-30 | Método de codificação/descodificação conjunta de vetores e codec |
PCT/CN2011/083237 WO2012100596A1 (zh) | 2011-01-26 | 2011-11-30 | 矢量联合编解码方法及编解码器 |
ES11856688.4T ES2588356T3 (es) | 2011-01-26 | 2011-11-30 | Método y codificador para la codificación conjunta de vectores de una señal de voz |
KR1020137021382A KR101571459B1 (ko) | 2011-01-26 | 2011-11-30 | 벡터 조인트 인코딩/디코딩 방법 및 벡터 조인트 인코더/디코더 |
KR1020177036294A KR101926006B1 (ko) | 2011-01-26 | 2011-11-30 | 벡터 조인트 인코딩/디코딩 방법 및 벡터 조인트 인코더/디코더 |
US13/950,018 US8930200B2 (en) | 2011-01-26 | 2013-07-24 | Vector joint encoding/decoding method and vector joint encoder/decoder |
US14/547,677 US9404826B2 (en) | 2011-01-26 | 2014-11-19 | Vector joint encoding/decoding method and vector joint encoder/decoder |
JP2015078279A JP6143115B2 (ja) | 2011-01-26 | 2015-04-07 | ベクトル結合符号化/復号方法および符号復号器 |
US15/192,405 US9704498B2 (en) | 2011-01-26 | 2016-06-24 | Vector joint encoding/decoding method and vector joint encoder/decoder |
JP2017013002A JP6363741B2 (ja) | 2011-01-26 | 2017-01-27 | ベクトル結合符号化/復号方法および符号復号器 |
US15/486,683 US9881626B2 (en) | 2011-01-26 | 2017-04-13 | Vector joint encoding/decoding method and vector joint encoder/decoder |
US15/854,130 US10089995B2 (en) | 2011-01-26 | 2017-12-26 | Vector joint encoding/decoding method and vector joint encoder/decoder |
JP2018122917A JP6657322B2 (ja) | 2011-01-26 | 2018-06-28 | ベクトル結合符号化/復号方法および符号復号器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110028694.6A CN102623012B (zh) | 2011-01-26 | 2011-01-26 | 矢量联合编解码方法及编解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102623012A CN102623012A (zh) | 2012-08-01 |
CN102623012B true CN102623012B (zh) | 2014-08-20 |
Family
ID=46562892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110028694.6A Active CN102623012B (zh) | 2011-01-26 | 2011-01-26 | 矢量联合编解码方法及编解码器 |
Country Status (8)
Country | Link |
---|---|
US (5) | US8930200B2 (zh) |
EP (2) | EP3174048B1 (zh) |
JP (4) | JP5731675B2 (zh) |
KR (4) | KR101571459B1 (zh) |
CN (1) | CN102623012B (zh) |
ES (2) | ES2588356T3 (zh) |
PT (1) | PT2669890T (zh) |
WO (1) | WO2012100596A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102623012B (zh) | 2011-01-26 | 2014-08-20 | 华为技术有限公司 | 矢量联合编解码方法及编解码器 |
EP2668651A4 (en) * | 2011-01-28 | 2014-07-30 | Nokia Corp | CODING BY COMBINING CODE VECTORS |
US9742672B1 (en) * | 2014-12-29 | 2017-08-22 | Juniper Networks, Inc. | Signaling priority information for encapsulated packets |
JP7410985B2 (ja) * | 2019-09-30 | 2024-01-10 | オッポ広東移動通信有限公司 | アップリンク制御情報の伝送方法及び装置 |
CN113628630B (zh) * | 2021-08-12 | 2023-12-01 | 科大讯飞股份有限公司 | 基于编解码网络的信息转换方法和装置、电子设备 |
CN118740566A (zh) * | 2023-03-31 | 2024-10-01 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009387A (en) * | 1997-03-20 | 1999-12-28 | International Business Machines Corporation | System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization |
US6275796B1 (en) * | 1997-04-23 | 2001-08-14 | Samsung Electronics Co., Ltd. | Apparatus for quantizing spectral envelope including error selector for selecting a codebook index of a quantized LSF having a smaller error value and method therefor |
CN1659785A (zh) * | 2002-05-31 | 2005-08-24 | 沃伊斯亚吉公司 | 信号多速率点阵矢量量化的方法和系统 |
CN101266796A (zh) * | 2007-03-12 | 2008-09-17 | 华为技术有限公司 | 一种量化编解码方法及装置 |
CN101281750A (zh) * | 2008-05-29 | 2008-10-08 | 上海交通大学 | 基于变长分裂表的矢量量化高阶码本扩展编码及解码系统 |
CN101295506A (zh) * | 2007-04-29 | 2008-10-29 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101931414A (zh) * | 2009-06-19 | 2010-12-29 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0222982A (ja) * | 1988-07-12 | 1990-01-25 | Mitsubishi Electric Corp | 静止画像伝送装置 |
US4975956A (en) * | 1989-07-26 | 1990-12-04 | Itt Corporation | Low-bit-rate speech coder using LPC data reduction processing |
US5012518A (en) * | 1989-07-26 | 1991-04-30 | Itt Corporation | Low-bit-rate speech coder using LPC data reduction processing |
US5701392A (en) * | 1990-02-23 | 1997-12-23 | Universite De Sherbrooke | Depth-first algebraic-codebook search for fast coding of speech |
CA2010830C (en) * | 1990-02-23 | 1996-06-25 | Jean-Pierre Adoul | Dynamic codebook for efficient speech coding based on algebraic codes |
US5754976A (en) * | 1990-02-23 | 1998-05-19 | Universite De Sherbrooke | Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech |
FR2729245B1 (fr) * | 1995-01-06 | 1997-04-11 | Lamblin Claude | Procede de codage de parole a prediction lineaire et excitation par codes algebriques |
DE69516522T2 (de) * | 1995-11-09 | 2001-03-08 | Nokia Mobile Phones Ltd., Salo | Verfahren zur Synthetisierung eines Sprachsignalblocks in einem CELP-Kodierer |
US5808572A (en) * | 1997-05-22 | 1998-09-15 | National Science Council | Method and apparatus for finite-length arithmetic coding |
US6073092A (en) * | 1997-06-26 | 2000-06-06 | Telogy Networks, Inc. | Method for speech coding based on a code excited linear prediction (CELP) model |
US5924062A (en) * | 1997-07-01 | 1999-07-13 | Nokia Mobile Phones | ACLEP codec with modified autocorrelation matrix storage and search |
US6161086A (en) * | 1997-07-29 | 2000-12-12 | Texas Instruments Incorporated | Low-complexity speech coding with backward and inverse filtered target matching and a tree structured mutitap adaptive codebook search |
US6385576B2 (en) * | 1997-12-24 | 2002-05-07 | Kabushiki Kaisha Toshiba | Speech encoding/decoding method using reduced subframe pulse positions having density related to pitch |
US7117146B2 (en) * | 1998-08-24 | 2006-10-03 | Mindspeed Technologies, Inc. | System for improved use of pitch enhancement with subcodebooks |
US6104992A (en) * | 1998-08-24 | 2000-08-15 | Conexant Systems, Inc. | Adaptive gain reduction to produce fixed codebook target signal |
US7272556B1 (en) * | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
JP4008607B2 (ja) * | 1999-01-22 | 2007-11-14 | 株式会社東芝 | 音声符号化/復号化方法 |
JP4173940B2 (ja) * | 1999-03-05 | 2008-10-29 | 松下電器産業株式会社 | 音声符号化装置及び音声符号化方法 |
US6295520B1 (en) * | 1999-03-15 | 2001-09-25 | Tritech Microelectronics Ltd. | Multi-pulse synthesis simplification in analysis-by-synthesis coders |
JP3533339B2 (ja) | 1999-04-16 | 2004-05-31 | シャープ株式会社 | 復号化装置および復号化方法、並びに、プログラム記録媒体 |
WO2001020595A1 (en) * | 1999-09-14 | 2001-03-22 | Fujitsu Limited | Voice encoder/decoder |
US6728669B1 (en) * | 2000-08-07 | 2004-04-27 | Lucent Technologies Inc. | Relative pulse position in celp vocoding |
CA2327041A1 (en) * | 2000-11-22 | 2002-05-22 | Voiceage Corporation | A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals |
JP3916934B2 (ja) | 2000-11-27 | 2007-05-23 | 日本電信電話株式会社 | 音響パラメータ符号化、復号化方法、装置及びプログラム、音響信号符号化、復号化方法、装置及びプログラム、音響信号送信装置、音響信号受信装置 |
US7065338B2 (en) | 2000-11-27 | 2006-06-20 | Nippon Telegraph And Telephone Corporation | Method, device and program for coding and decoding acoustic parameter, and method, device and program for coding and decoding sound |
US7363218B2 (en) * | 2002-10-25 | 2008-04-22 | Dilithium Networks Pty. Ltd. | Method and apparatus for fast CELP parameter mapping |
KR100463419B1 (ko) | 2002-11-11 | 2004-12-23 | 한국전자통신연구원 | 적은 복잡도를 가진 고정 코드북 검색방법 및 장치 |
US7249014B2 (en) * | 2003-03-13 | 2007-07-24 | Intel Corporation | Apparatus, methods and articles incorporating a fast algebraic codebook search technique |
FR2867648A1 (fr) * | 2003-12-10 | 2005-09-16 | France Telecom | Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques |
US7860710B2 (en) * | 2004-09-22 | 2010-12-28 | Texas Instruments Incorporated | Methods, devices and systems for improved codebook search for voice codecs |
KR100656788B1 (ko) * | 2004-11-26 | 2006-12-12 | 한국전자통신연구원 | 비트율 신축성을 갖는 코드벡터 생성 방법 및 그를 이용한 광대역 보코더 |
WO2007002468A2 (en) * | 2005-06-23 | 2007-01-04 | 1Stworks Corporation | Modeling for enumerative encoding |
US20070150266A1 (en) * | 2005-12-22 | 2007-06-28 | Quanta Computer Inc. | Search system and method thereof for searching code-vector of speech signal in speech encoder |
WO2008035949A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co., Ltd. | Method, medium, and system encoding and/or decoding audio signals by using bandwidth extension and stereo coding |
CN100525262C (zh) * | 2006-12-28 | 2009-08-05 | 北京航空航天大学 | 一种信源信道联合编解码器及编解码方法 |
EP3313013A1 (en) * | 2007-04-20 | 2018-04-25 | InterDigital Technology Corporation | Method and apparatus for efficient precoding information validation for mimo communications |
CN101388210B (zh) | 2007-09-15 | 2012-03-07 | 华为技术有限公司 | 编解码方法及编解码器 |
EP2157573B1 (en) * | 2007-04-29 | 2014-11-26 | Huawei Technologies Co., Ltd. | An encoding and decoding method |
CN100583649C (zh) | 2007-07-23 | 2010-01-20 | 华为技术有限公司 | 矢量编/解码方法、装置及流媒体播放器 |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
WO2010028301A1 (en) * | 2008-09-06 | 2010-03-11 | GH Innovation, Inc. | Spectrum harmonic/noise sharpness control |
US8577673B2 (en) * | 2008-09-15 | 2013-11-05 | Huawei Technologies Co., Ltd. | CELP post-processing for music signals |
CN101577721A (zh) * | 2008-12-05 | 2009-11-11 | 湖南大学 | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 |
CN102299760B (zh) | 2010-06-24 | 2014-03-12 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
CN102623012B (zh) * | 2011-01-26 | 2014-08-20 | 华为技术有限公司 | 矢量联合编解码方法及编解码器 |
PL3069338T3 (pl) * | 2013-11-13 | 2019-06-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Koder do kodowania sygnału audio, system przesyłania audio i sposób określania wartości korekcji |
-
2011
- 2011-01-26 CN CN201110028694.6A patent/CN102623012B/zh active Active
- 2011-11-30 ES ES11856688.4T patent/ES2588356T3/es active Active
- 2011-11-30 JP JP2013550739A patent/JP5731675B2/ja active Active
- 2011-11-30 ES ES16160251T patent/ES2718935T3/es active Active
- 2011-11-30 KR KR1020137021382A patent/KR101571459B1/ko active Active
- 2011-11-30 EP EP16160251.1A patent/EP3174048B1/en active Active
- 2011-11-30 WO PCT/CN2011/083237 patent/WO2012100596A1/zh active Application Filing
- 2011-11-30 KR KR1020177012466A patent/KR102017721B1/ko active Active
- 2011-11-30 KR KR1020157032812A patent/KR101735698B1/ko active Active
- 2011-11-30 EP EP11856688.4A patent/EP2669890B1/en active Active
- 2011-11-30 PT PT118566884T patent/PT2669890T/pt unknown
- 2011-11-30 KR KR1020177036294A patent/KR101926006B1/ko active Active
-
2013
- 2013-07-24 US US13/950,018 patent/US8930200B2/en active Active
-
2014
- 2014-11-19 US US14/547,677 patent/US9404826B2/en active Active
-
2015
- 2015-04-07 JP JP2015078279A patent/JP6143115B2/ja active Active
-
2016
- 2016-06-24 US US15/192,405 patent/US9704498B2/en active Active
-
2017
- 2017-01-27 JP JP2017013002A patent/JP6363741B2/ja active Active
- 2017-04-13 US US15/486,683 patent/US9881626B2/en active Active
- 2017-12-26 US US15/854,130 patent/US10089995B2/en active Active
-
2018
- 2018-06-28 JP JP2018122917A patent/JP6657322B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009387A (en) * | 1997-03-20 | 1999-12-28 | International Business Machines Corporation | System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization |
US6275796B1 (en) * | 1997-04-23 | 2001-08-14 | Samsung Electronics Co., Ltd. | Apparatus for quantizing spectral envelope including error selector for selecting a codebook index of a quantized LSF having a smaller error value and method therefor |
CN1659785A (zh) * | 2002-05-31 | 2005-08-24 | 沃伊斯亚吉公司 | 信号多速率点阵矢量量化的方法和系统 |
CN101266796A (zh) * | 2007-03-12 | 2008-09-17 | 华为技术有限公司 | 一种量化编解码方法及装置 |
CN101295506A (zh) * | 2007-04-29 | 2008-10-29 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101281750A (zh) * | 2008-05-29 | 2008-10-08 | 上海交通大学 | 基于变长分裂表的矢量量化高阶码本扩展编码及解码系统 |
CN101931414A (zh) * | 2009-06-19 | 2010-12-29 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102623012B (zh) | 矢量联合编解码方法及编解码器 | |
CN101388210B (zh) | 编解码方法及编解码器 | |
JP6301431B2 (ja) | パルス符号化及び復号化方法並びにパルスコーデック | |
CN101420231A (zh) | 编码方法和装置、以及程序 | |
CN101295506B (zh) | 脉冲编解码方法及脉冲编解码器 | |
CN103886862B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |