CN103208290B - 编解码器、码流中参数解析及预处理方法与装置 - Google Patents

编解码器、码流中参数解析及预处理方法与装置 Download PDF

Info

Publication number
CN103208290B
CN103208290B CN201210014344.9A CN201210014344A CN103208290B CN 103208290 B CN103208290 B CN 103208290B CN 201210014344 A CN201210014344 A CN 201210014344A CN 103208290 B CN103208290 B CN 103208290B
Authority
CN
China
Prior art keywords
bit
parameter
code stream
electrochemical
data storage
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
CN201210014344.9A
Other languages
English (en)
Other versions
CN103208290A (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201210014344.9A priority Critical patent/CN103208290B/zh
Publication of CN103208290A publication Critical patent/CN103208290A/zh
Application granted granted Critical
Publication of CN103208290B publication Critical patent/CN103208290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

编解码器、码流中参数解析及预处理方法与装置,其中,用于码流中参数解析的预处理方法包括:基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。本发明技术方案能显著降低对码流中参数解析过程中所需查找表的存储空间的占用,有效降低成本。

Description

编解码器、码流中参数解析及预处理方法与装置
技术领域
本发明涉及音视频编解码技术领域,特别涉及一种编解码器、码流中参数解析及预处理方法与装置。
背景技术
语音或音频编解码器已广泛运用于手机等手持式设备,如自适应多速率窄带(AMR-NB,Adaptive Multi-Rate-Narrowband)、自适应多速率宽带(AMR-WB,Adaptive Multi-Rate-Wideband)或增强自适应多速率宽带(AMR-WB+,Extended Adaptive Multi-Rate-Wideband)等编解码器。
在AMR系列的编解码器(包括AMR-NB、AMR-WB以及AMR-WB+)中,有些单元(模块)所占计算量很小,但由于自身的特性,需要使用非常大的常数查找表。比如在AMR系列编码器中,为了增强语音传输中错误保护功能,按照比特位的重要性,将编码后的码流按照比特位进行重排序。由于这种重排序并没有一定的规律性可循以按照简单的公式进行计算,常规做法都是在解码端(解码器)采用查找表的方法重建(解析)参数。由于AMR系列的每种编码模式的比特排序方法都不一样,因此,如果查找表构建的不好,通常会比较大,从而占用较大的存储空间。
请参阅表一,表一示出了一种比特排序规则,假设0,1,2,3,......129,130,131是原本的比特顺序,但在一些编码器中按照表一所示规则将比特重新排序作最终输出。由于这种重排序并没有一定的数学规律性,每种编码模式或场景的排序方法也不一致,比特位顺序重建时如果使用现有技术中常用的查找表方法,往往需要构建很大的查找表,以AMR-WB为例,3GPP参考代码采用常规方法重建比特顺序,用了11.36k字节的大小。
表一
 0  5  6  7  61   84  107  130   62  85
 8  4  37  38  39   40  58  81  104  127
 60  83  106  129  108   131  128  41  42  80
 126  1  3  57  103   82  105  59  2  63
 109  110  86  19  22   23  64  87  18  20
 21  17  13  88  43   89  65  111  14  24
 25  26  27  28  15   16  44  90  66  112
 9  11  10  12  67   113  29  30  31  32
 34  33  35  36  45   51  68  74  91  97
 114  120  46  69  92   115  52  75  98  121
 47  70  93  116  53   76  99  122  48  71
 94  117  54  77  100   123  49  72  95  118
 55  78  101  124  50   73  96  119  56  79
 102  125
考虑到手机等手持式移动设备受本身系统资源的限制,为了降低成本,需要尽可能降低存储空间和计算量。在做编解码器时需要对计算复杂度和存储空间进行协调以达到最佳使用结果,尤其是在做常数表和代码固化的实现方案,存储空间的减少意味着成本降低。另外,数据的减少,由于降低了数据加载量,也可以达到降低功耗的目的。因此,如何在尽量不增加计算复杂度的情况下,有效降低对码流中参数解析过程中所需查找表的存储空间的占用,是做编解码器(Codec)优化时需要解决的问题之一。
相关技术还可参考公开号为US2008140392(A1)的美国专利申请,该专利申请公开了一种自适应多速率系统编解码模式下的解码方法及装置。
发明内容
本发明要解决的问题是提供一种码流中参数解析及预处理方法与装置,以显著降低对码流中参数解析过程中所需查找表的存储空间的占用。
为解决上述问题,本发明技术方案提供一种用于码流中参数解析的预处理方法,包括:
基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;
按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
可选的,所述用于码流中参数解析的预处理方法还包括将对应每个比特的标记分别封装成比特单元映射结构。
可选的,所有编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
可选的,所述比特位对应的参数索引的数据存储区域的宽度大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;所述比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
可选的,基于每种编码模式下帧码流中的参数个数和参数最大位宽,将所有编码模式至少分为两组,每组编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
可选的,每组编码模式下的比特单元映射结构中的比特位对应的参数索引的数据存储区域的宽度大于或等于基于该组所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;每组编码模式下的比特单元映射结构中的比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于该组所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
可选的,所述用于码流中参数解析的预处理方法还包括将多个比特单元映射结构封装成比特映射结构。
可选的,所述比特映射结构以字节、半字或全字的方式进行存储。
可选的,所述用于码流中参数解析的预处理方法还包括:将对应比特的标记中比特位对应的参数索引封装成比特索引映射结构;将对应比特的标记中比特位在对应参数中的位置封装成比特位置映射结构。
可选的,所述帧码流的编码标准为AMR-NB、AMR-WB或AMR-WB+。
为解决上述问题,本发明技术方案还提供一种用于码流中参数解析的预处理装置,包括:
标记设置单元,适于基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;
映射单元,适于按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
为解决上述问题,本发明技术方案还提供一种包括上述用于码流中参数解析的预处理装置的编码器。
为解决上述问题,本发明技术方案还提供一种码流中的参数解析方法,包括:
基于上述用于码流中参数解析的预处理方法,获取映射于输入帧码流中的每个比特的标记;
按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
为解决上述问题,本发明技术方案还提供一种码流中的参数解析装置,包括:
获取单元,适于基于上述用于码流中参数解析的预处理装置的处理结果,获取映射于输入帧码流中的每个比特的标记;
匹配单元,适于按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
为解决上述问题,本发明技术方案还提供一种包括上述码流中的参数解析装置的解码器。
与现有技术相比,本发明技术方案具有以下优点:
通过基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置,再按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特,从而能实现在几乎不增加计算复杂度的情况下,显著降低对码流中参数解析过程中所需查找表的存储空间的占用,由此降低了成本。
通过将对应每个比特的标记分别封装成比特单元映射结构进行存储,能够减少存储的冗余,从而进一步降低了对存储空间的占用。
附图说明
图1是本发明实施方式提供的用于码流中参数解析的预处理方法的流程示意图;
图2是第idx个参数的比特映射实现过程的示意图;
图3是本发明实施例提供的比特单元映射结构的示意图;
图4是本发明实施例的帧码流中的参数解析过程示意图;
图5是本发明实施例提供的用于码流中参数解析的预处理装置的结构示意图;
图6是本发明实施例提供的码流中的参数解析装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
图1是本发明实施方式提供的用于码流中参数解析的预处理方法的流程示意图。如图1所示,所述用于码流中参数解析的预处理方法包括:
步骤S101,基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;
步骤S102,按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
下面以具体实施例对上述用于码流中参数解析的预处理方法作详细说明。
实施例一
本发明实施方式中所述帧码流的编码标准可以为AMR-NB、AMR-WB或AMR-WB+。在本实施例中,具体以AMR-WB为例进行说明。需要说明的是,本发明实施方式所述码流中参数解析的预处理方法不只局限于适用AMR-NB、AMR-WB或AMR-WB+的编码标准,对于所有音视频编码标准以及语音信号处理中,采用类似本发明实施方式中的比特位重排序的应用都能够适用。
本领域技术人员知晓,AMR-WB是由3GPP/ETSI在2001年制定用于WCDMA和GSM的宽带语音编码标准,ITU-T在2002年将其选为16kbit/s编码速率的宽带语音编码标准G.722.2。这也标志无线与有线首次采用了同一语音编码器,意味着在3G与IP固定网络之间的互通更加容易,为宽带语音在更多的通信系统和设备的应用和服务打下了基础。AMR-WB有9种编码速率(编码模式),并拥有话音激活检测(VAD)、信源控制速率(SCR)、舒适噪声生成(CNG)等变速率技术。AMR-WB的9种编码模式分别为:6.6kbit/s、8.85kbit/s、12.65kbit/s、14.25kbit/s、15.85kbit/s、18.25kbit/s、19.85kbit/s、23.05kbit/s和23.85kbit/s。其中,12.65kbit/s以上的编码模式都提供了高质量的宽带语音,8.85kbit/s与6.6kbit/s的编码模式主要用于网络拥塞时或恶劣信道条件下。
表二示出了AMR-WB的各种编码模式下的参数个数及参数最大位宽、帧比特长度等相关信息。如表二所示,Mode 0、Mode 1、Mode 2、......Mode 8分别表示AMR-WB的9种编码模式,参数个数指的是每种编码模式下的一帧码流中所具有参数的个数,参数最大位宽是指每种编码模式下的各参数的位宽的最大值,帧比特长度是指每种编码模式下的一帧码流中具有的比特数。
表二
  Mode 0   Mode 1   Mode 2   Mode 3   Mode 4   Mode 5   Mode 6   Mode 7   Mode 8
  参数个数   18   32   36   36   37   52   52   52   56
  参数最大位宽   12   8   9   13   13   14   14   11   11
  帧比特长度   132   177   253   285   317   365   397   461   477
以Mode 0为例,在该编码模式下,一帧码流中具有的参数个数为18个,这18个参数中,每个参数由若干个比特位构成,某个参数的比特位的数量称为该参数的位宽,若某个参数具有7个比特位,则该参数的位宽为7,而Mode0下的参数最大位宽是12,表明这18个参数中至少有1个参数的位宽为12。Mode 0下的帧比特长度为132,表明该编码模式下的一帧码流中具有的比特数是132个,根据Mode 0的编码规则,在一帧码流中以这132个比特表示该编码模式下的这18个参数,各参数的每一个比特位唯一对应这132个比特中的一个比特。
可参考背景技术中所述,假设0,1,2,3,......129,130,131是原本的比特顺序,再假设将0~6这7个比特分别对应表示第1个参数的7个比特位,7~18这12个比特分别对应表示第2个参数的12个比特位......,直至将Mode0下的18个参数表示完毕。需要说明的是,以上假设只是举例说明,实际实施时,各参数的位宽是由AMR-WB编码标准已经确定好的。
如果在编码端(编码器)是将这132个比特进行顺序编码的,则在解码端(解码器)将这个132个比特顺序输出便能够重构(解析)出一帧码流中的这18个参数。但是,在实际情况中,为了增强语音传输中错误保护功能,需要按照参数的比特位的重要性,将编码后的码流按照比特位进行重排序。假设0~6这7个比特对应表示第1个参数的7个比特位,如果以表一所示的比特排序规则,原来分别对应表示第1个参数的7个比特位的7个比特则位于第0、31、38、32、11、1、2个比特,因此,在编码器中就需要按照表一所示比特排序规则将比特重新排序后作最终输出。由于这种重排序并没有一定的数学规律性,每种编码模式下的比特排序方法也不一致,在比特位顺序重建时,现有技术中通常会构建查找表,通过所述查找表建立原比特顺序与重排序后的比特顺序之间的对应关系。例如原比特顺序为0、1、2、3、4、5、6,按表一所示比特排序规则进行重排序后,则这7个比特的输出顺序分别对应为0、31、38、32、11、1、2,所以只需要根据0--0、1--31、2--38、3--32、4--11、5--1、6--2这7组对应关系构建的查找表,便能够重构(解析)出该第1个参数。如此,根据每种编码模式下,原比特顺序与重排序后的比特顺序之间的对应关系所构建的查找表能够将该编码模式下的所有参数解析出来。但是,如果使用现有技术中常规的查找表方法,往往需要构建很大的查找表,尤其是在帧比特长度很大的编码模式下,构建查找表所占用的存储空间较大,这对于本身系统资源就非常有限的手机等手持式移动设备来说,无疑是大大增加了成本,另外,还增加了对数据的加载量,由此增加了设备的功耗。
如何能在尽量不增加计算复杂度的情况下,有效降低对码流中参数解析过程中所需查找表的存储空间的占用,是做编解码器优化时亟待解决的问题之一。基于此,发明人考虑,可以对每种编码模式下帧码流中的各个参数的各个比特位设置标记,该标记能够反映被标记的比特位属于哪个参数(参数索引)以及在对应参数中的位置,再按照编码规则建立每个参数的各个比特位的标记与帧码流中的对应比特之间的映射关系,以所述映射关系作为查找表实现对码流中各参数的解析。
具体地,首先执行步骤S101,基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置。
由AMR-WB编码标准可知,每种编码模式下帧码流中的参数个数以及各个参数的比特位宽度(位宽)是已知,参照每种模式的比特排序规则(一般每个参数的各个比特位是不连续地打包在一帧码流中的),可以将各个比特位映射到其实际对应的参数索引idx中(即表示出各个比特位分别属于哪个参数),并记录各个比特位在对应参数中的位置pos,做标记(idx,pos)。
下面结合附图对上述标记的设置过程举例说明。图2是第idx个参数的比特映射实现过程的示意图。如图2所示,假设第idx个参数具有7个比特位(即位宽为7),分别为b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0],idx为参数索引,用于标示某个参数,idx中x的最大取值范围由各编码模式下的参数个数确定,例如,在Mode 0下,参数个数是18个,则x的取值范围为0、1、2、......17,在Mode 8下,参数个数是56个,则x的取值范围为0、1、2、......55。具体实施时,一方面,由于b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0]这7个比特位是属于第idx个参数的比特位,即这7个比特位分别对应参数索引idx,另一方面,b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0]这7个比特位也能够确定出其在对应参数中的位置,即分别对应在第idx个参数的第6、5、4、3、2、1、0位置,因此,可以对第idx个参数中b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0]这7个比特位设置标记,分别标识出7个比特位对应的参数索引idx以及这7个比特位在第idx个参数中的位置pos,具体可以分别表示为(idx,6)、(idx,5)、(idx,4)、(idx,3)、(idx,2)、(idx,1)、(idx,0)。
根据上述设置标记的方式对每种编码模式下的各参数的比特位设置标记后,执行步骤S102,按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
继续参阅图2,图2中示出了一帧码流中的部分比特(bit),分别从bit:i、bit:i+1、bit:i+2、......直至bit:i+23,其中,i的范围取决于表二所示的对应编码模式下的帧比特长度,例如,如果当前编码模式为Mode 0,帧比特长度为132,即一帧码流中共有132个bit,图2中i的范围为0~108,特别地,若i=0,则图2示出了第0~23个bit,若i=108,则图2示出了第108~131个bit。当然,针对不同的编码标准对于i的范围也有所不同。
具体实施时,一般是按照当前编码模式下的比特排序规则,将第idx个参数的7个比特位不连续地打包在一帧码流中的。参阅图2,将第idx个参数的7个比特位不连续地打包在一帧码流中之后,比特位b[0]位于第i+1个bit,比特位b[6]位于第i+4个bit,比特位b[4]位于第i+6个bit,比特位b[2]位于第i+9个bit,比特位b[3]位于第i+10个bit,比特位b[5]位于第i+15个bit,比特位b[1]位于第i+18个bit,根据当前编码模式下的编码规则,便可以确定出第i+1、i+18、i+9、i+10、i+6、i+15、i+4个bit均为第idx个参数的比特位,而图2中其他bit中的X是指代其他参数的其中一个比特位,X具广泛意义,并不限定为具体某个参数的比特位。由于在步骤S101已经对第idx个参数的b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0]这7个比特位分别设置了标记,具体为(idx,6)、(idx,5)、(idx,4)、(idx,3)、(idx,2)、(idx,1)、(idx,0),因此便可以将这7个比特位对应的标记映射到帧码流中的对应比特中去,即将第idx个参数的b[6]、b[5]、b[4]、b[3]、b[2]、b[1]、b[0]这7个比特位对应的标记(idx,6)、(idx,5)、(idx,4)、(idx,3)、(idx,2)、(idx,1)、(idx,0)映射到图2所示帧码流中第i+4、i+15、i+6、i+10、i+9、i+18、i+1个bit。
由上可知,每种编码模式下,需要建立帧码流中的每个比特与各参数的比特位所对应标记(idx,pos)之间的映射关系,指明当前比特属于哪一个参数(参数索引idx)以及在该参数中的位置(比特位置pos),凭借所述映射关系便能够实现对帧码流中各参数的重构(解析)。所述标记的个数对应于编码模式的帧比特长度(如表二所示)。至于用于分别表示参数索引idx和比特位置pos的比特数的各自取值范围的计算方法将在后面详细描述。
本实施例中,所述用于码流中参数解析的预处理方法还包括:将对应每个比特的标记分别封装成比特单元映射结构。通过上述步骤对每个参数的各个比特位设置标记,并建立帧码流中的每个比特与各参数的比特位所对应标记(idx,pos)之间的映射关系后,还需要对所述标记中的参数索引idx和比特位置pos进行封装处理,具体即是将所述标记中的参数索引idx和比特位置pos进行拼接处理,这样处理的原因也是为了能进一步节省存储空间,因为对于ARM和DSP等软件实现方案,数据存储只能是按照8位、16位或32位,通过拼接可以降低数据存储的冗余。
图3是本发明实施例提供的比特单元映射结构的示意图。所述比特单元映射结构的数据包格式如图3所示,其中,前M比特存放参数索引idx,后N比特存储当前分析比特位在参数idx中位置(比特位置pos),封装后形成的所述比特单元映射结构的总比特宽度是M+N。需要说明的是,对于参数索引idx和比特位置pos的封装并没有先后顺序限定,即:可以将表示参数索引idx的M个bit放在前,将表示比特位置pos的N个bit放在后,也可以将表示比特位置pos的N个bit放在前,将表示参数索引idx的M个bit放在后。本实施例中为了说明问题举例所用的比特单元映射结构均如图3所示。
本实施例中,对所述标记的封装处理方式是将所有编码模式按照统一的数据封装格式进行封装处理。具体地,对所述标记经过封装处理后,所有编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
具体实施时,所述比特位对应的参数索引的数据存储区域的宽度大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;所述比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
举例来说,对于AMR-WB的9种编码模式Mode 0~Mode 8,在每种编码模式下,对所述标记进行封装处理后形成比特单元映射结构中,参数索引idx的数据存储区域的宽度均为M个比特,比特位置pos的数据存储区域的宽度均为N个比特。其中,M的取值范围为大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度,N的取值范围为大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
下面对本实施例中的封装处理方式下M和N的计算举例说明。
首先确定所有编码模式中参数个数的最大值,从表二可知,对于AMR-WB来说,每种编码模式下帧码流中的参数个数都是已知,从Mode 0~Mode 8分别为18、32、36、36、37、52、52、52、56,若以P_Mmax表示所有编码模式中参数个数的最大值,则本实施例中,P_Mmax=56(对其他编码标准会有差异)。
其次确定参数最大位宽的最大值,对于AMR-WB标准,从表二可知,对于AMR-WB来说,每种编码模式下帧码流中的参数最大位宽也是已知,从Mode 0~Mode 8分别为12、8、9、13、13、14、14、11、11,若以P_Nmax表示所有编码模式中参数最大位宽的最大值,则本实施例中,P_Nmax=14,(对其他编码标准会有差异)。
至于M和N的取值可由以下公式计算得到:
bit_width=ROUND[log2(P)+0.5];
其中,bit_width为表示P至少所需的比特宽度(比特数量),ROUND为对“[]”内计算出的数值进行四舍五入运算,P为P_Mmax或者P_Nmax。该公式为计算出表示某个数值至少所需的比特宽度的常用手段,在此不再赘述。
因此,由上述公式可以计算得到:
M=6,(P=P_Mmax);
N=4,(P=P_Nmax)。
需要说明的是,实际上M≥6,N≥4均能够满足需求,但为了满足使用最小的存储空间,取M=6,N=4。
本实施例中,所述用于码流中参数解析的预处理方法还包括:将多个比特单元映射结构封装成比特映射结构。通过上述封装处理方式将每一个标记封装为比特单元映射结构,得到的所述比特单元映射结构的数量是与每种编码模式下所述帧比特长度相对应的,举例来说,在Mode 0下,帧比特长度为132,一帧码流中具有132个bit,因此需要设置132个分别映射于这132个bit的标记,将132个标记分别封装为132个比特单元映射结构。在形成132个比特单元映射结构后,还可以对这132个比特单元映射结构进一步进行封装,以这132个比特单元映射结构形成Mode 0下的比特映射结构,作为解码端的参数解析时的查找表(Mode 0下)。
本实施例中,在封装形成每种编码模式下的比特映射结构后,将所述比特映射结构以字节、半字或全字的方式进行存储。本领域技术人员知晓,1个“比特”(二进制位的简称,以bit表示)是计算机中数据的最小单位。1个“比特”拥有一个值,0或1。计算机在存储数据和执行指令的时候是以一组“比特”为单位的,通常又叫做“字节”。在绝大多数的计算机系统中,1个“字节”包含了8个“比特”。“字节”的一半(4个“比特”)被称作半位元组。在一些系统中,8位元组被用来替代字节成为8个“比特”的存储单位,而在另一些系统中,4个“字节”或8个半位元组又构成了一个32位的字。在这些系统中,指令的长度通常以全字(32位长)或者半字(16位长)的形式表示。
本实施例中,将多个封装形成的如图3所示的比特单元映射结构进一步封装为比特映射结构,也可以称为比特流,以字节(8比特)、半字(16比特)或全字(32比特)的方式存储,实际实施时,可以根据实现平台选择合适的存储方式,比如对于ARM9平台,选择按字的方式存储,以方便读取,其效率也是最高的。
基于上述用于码流中参数解析的预处理方法,本发明实施例还提供一种码流中的参数解析方法,包括:
基于上述用于码流中参数解析的预处理方法,获取映射于输入帧码流中的每个比特的标记;
按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
本实施例中,所述码流中的参数解析方法,还包括:在获取映射于输入帧码流中的每个比特的标记之前,将所有参数的比特位的存储空间清零;所述将每个比特匹配到对应参数的比特位包括:若判断出所述帧码流中的当前分析比特为零,则对下一个比特进行分析,否则将所述当前分析比特存入其对应参数的比特位的存储空间中的相应位置。
下面结合附图对本实施例中所述码流中的参数解析方法详细说明。
图4是本发明实施例的帧码流中的参数解析过程示意图。首先对图4中表示的一些参数的含义进行说明:
tab_ptr:即是按照本发明实施例提供的用于码流中参数解析的预处理方法建立每个参数的各个比特位的标记与帧码流中的对应比特之间的映射关系,以所述映射关系构建的查找表;所述查找表中对应每个比特的标记已被封装成比特单元映射结构,所述比特单元映射结构如图3所示,前M比特存放参数索引idx,后N比特存储比特位置pos,并且每种编码模式下的所有比特单元映射结构已被封装为比特映射结构(可以参考本发明实施例提供的用于码流中参数解析的预处理方法的具体实施中的相关描述),所述查找表是以所述比特映射结构的形式存储的;
para:帧码流中的参数存储空间(具体是参数的比特位的存储空间),其大小与编码模式(Mode)相关,可从表二中查找得知,其空间大于或等于表二所示帧比特长度的大小;
frm_bit_len:帧比特长度,本实施例中,可以根据Mode值从表二查找求得;
sign:输入帧码流中某个比特处的值;
k:本实施例中设置的循环变量。由于在具体实施时,对帧码流中的参数解析过程中的所有计算是基于比特级运算即按照比特逐个顺序计算,并在该过程中将当前编码模式中的所有参数一起解析出来的。设置循环变量k,用于按照比特逐个顺序计算,将每个比特匹配到对应参数的比特位,并通过k与frm_bit_len的比较判断是否已完成对帧码流中所有参数的解析。
参阅图4,对帧码流中的参数解析过程具体如下:
当输入帧码流以及参数编码模式Mode后,执行步骤S401,基于输入帧码流的编码模式Mode确定帧比特长度frm_bit_len以及对应的查找表tab_ptr。
执行步骤S402,将参数存储空间para清零以及将循环变量k清零。本步骤为对帧码流中的参数解析前的初始化过程,其中,将参数存储空间para清零是为了在后续步骤中判断出sign=0时,即当前分析比特处的值为0,而该比特对应参数的比特位已被置0,因此可以跳过将当前分析比特匹配到对应参数的比特位的计算步骤(步骤S405),从而能够减少计算量,提高参数解析的效率。在其他实施例中,也可以不对参数存储空间para清零,此时,后续步骤S405将不能被跳过,并且也不需要执行后续步骤S404中对sign的判断。
需要说明的是,步骤S401和步骤S402并无先后顺序之分。
执行步骤S403,计算输入帧码流中k比特处的值sign。
执行步骤S404,判断sign是否等于0(即判断“sign=0?”),若sign等于0,则转到步骤S406,若sign不等于0,则执行步骤S405。当然,在步骤S402中也可以将参数存储空间para的所有初始存储的数值置1,则在本步骤中判断sign是否等于1即可。本步骤的作用可参考步骤S402中的相关描述。
当判断出sign不等于0,执行步骤S405,根据k,从查找表tab_ptr的k×(M+N)比特处取出(M+N)个比特,分别计算出参数索引idx和比特位置pos,并进行如下计算:para[idx]=para[idx]|(1<<pos)。本步骤即为根据当前分析的比特,从查找表tab_ptr中获取映射于该比特的标记,基于所述标记确定该比特对应哪个参数(计算出参数索引idx),以及在对应参数中的位置(计算出比特位置pos),并按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将该比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。具体匹配的过程是通过上述公式para[idx]=para[idx]|(1<<pos)计算的,其中,符号“|”表示的是“或”操作,“<<”表示移位运算。
执行步骤S406,将循环变量k递增(即k=k+1)。本步骤作用是转到下一个比特进行分析。
执行步骤S407,判断循环变量k是否小于帧比特长度(即判断“k<frm_bit_len?”),若判断出k<frm_bit_len,表明并未分析完帧码流中的所有比特,则转到步骤S403对下一个比特进行分析,若判断出k=frm_bit_len,则表明已分析完帧码流中的所有比特,此时便完成了帧参数解析。
需要说明的是,本发明实施例提供的码流中的参数解析方法的目的是重构出帧码流中的所有参数,而不是对码流中的比特进行重排序,也就是说,比特重排序是进行参数解析的手段之一,并非参数解析的目的。事实上,本实施例中,在完成比特重排序的同时,也实现了参数的解析。
通过使用本发明实施例提供的码流中参数解析及预处理方法,最终用于AMR-WB解码的比特重排序用查找表所用空间为3.6k字节,相比3GPP参考代码采用常规方法重建比特顺序的查找表所用的11.36k字节的大小明显减小,并且通过在ARM9E平台软件仿真,增加的计算量也很小,可以忽略。
对应于上述用于码流中参数解析的预处理方法,本实施例还提供一种用于码流中参数解析的预处理装置。图5是本发明实施例提供的用于码流中参数解析的预处理装置的结构示意图,如图5所示,所述用于码流中参数解析的预处理装置包括:标记设置单元101,适于基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;映射单元102,与所述标记设置单元101相连,适于按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
本实施例中,所述用于码流中参数解析的预处理装置还包括第一封装单元103,与所述标记设置单元101、映射单元102相连,适于将对应每个比特的标记分别封装成比特单元映射结构。
本实施例中,所有编码模式下的比特单元映射结构可以由所述第一封装单元103以统一的数据封装格式进行封装;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
所述第一封装单元103可以包括:第一确定单元(图中未示出),适于将所述比特位对应的参数索引的数据存储区域的宽度确定为大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;第二确定单元(图中未示出),适于将所述比特位在对应参数中的位置的数据存储区域的宽度确定为大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
本实施例中,所述用于码流中参数解析的预处理装置,还包括第二封装单元104,与所述第一封装单元103相连,适于将多个比特单元映射结构封装成比特映射结构。
本实施例中,所述用于码流中参数解析的预处理装置还包括存储单元105,与所述第二封装单元104相连,适于将所述比特映射结构以字节、半字或全字的方式进行存储。
此外,本发明实施例还提供了一种包括上述用于码流中参数解析的预处理装置的编码器。对于所述编码器及其用于码流中参数解析的预处理装置的具体实施,可参考本发明实施例所述用于码流中参数解析的预处理方法的实施,在此不再赘述。
对应上述码流中的参数解析方法,本发明实施例还提供一种码流中的参数解析装置。图6是本发明实施例提供的码流中的参数解析装置的结构示意图。如图6所示,所述码流中的参数解析装置包括:获取单元201,适于基于上述用于码流中参数解析的预处理装置的处理结果,获取映射于输入帧码流中的每个比特的标记;匹配单元202,与所述获取单元201相连,适于按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
本实施例中,所述码流中的参数解析装置还包括重置单元203,与所述获取单元201相连,适于在所述获取单元201获取映射于输入帧码流中的每个比特的标记之前,将所有参数的比特位的存储空间清零;所述匹配单元202在判断出所述帧码流中的当前分析比特为零,则对下一个比特进行分析,否则将所述当前分析比特存入其对应参数的比特位的存储空间中的相应位置。
此外,本发明实施例还提供了一种包括上述的码流中的参数解析装置的解码器。对于所述解码器及其码流中的参数解析装置的具体实施,可参考本发明实施例所述的码流中的参数解析方法的实施,在此不再赘述。
实施例二
本实施例与实施例一的区别在于,所述用于码流中参数解析的预处理方法中对所述标记的封装方式不同。实施例一中所述封装处理方式是将所有编码模式按照统一的数据封装格式进行封装处理,而本实施例中,对所述标记的封装处理方式是根据参数个数和参数最大位宽等信息,对所有编码模式进行分组,每组编码模式下按照统一的数据封装格式对所述标记进行封装处理。
虽然对所有编码模式进行分组可以有多种方式,例如对于AMR-WB的9种编码模式Mode 0~Mode 8进行分组:可以将Mode 0和M ode 1分成一组编码模式,将Mode 2~M ode 5分成一组编码模式,将Mode 6~M ode 8分成一组编码模式;也可以将Mode 0作为一组编码模式,将Mode 1~M ode 8分为一组编码模式;还可以将每一种编码模式作为一组,则共分为9组编码模式。但是,在本实施例中,对于所有编码模式的分组却并不是任意的,而是根据每种编码模式下帧码流中的参数个数和参数最大位宽,确定出每种编码模式下待封装的参数索引idx的数据存储区域的最小宽度和比特位置pos的数据存储区域的最小宽度,将参数索引idx的数据存储区域的最小宽度和比特位置pos的数据存储区域的最小宽度相同或接近(至少参数索引idx和比特位置pos两者之一的数据存储区域的最小宽度相同或接近)的相应编码模式分为一组,这样能够尽可能地减少数据存储的冗余,从而进一步节省存储空间,降低成本。
本实施例中,基于每种编码模式下帧码流中的参数个数和参数最大位宽,将所有编码模式至少分为两组,每组编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
具体实施时,每组编码模式下的比特单元映射结构中的比特位对应的参数索引的数据存储区域的宽度大于或等于基于该组所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;每组编码模式下的比特单元映射结构中的比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于该组所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
举例来说,AMR-WB的9种编码模式中的参数个数和参数最大位宽是已知的,根据每种编码模式下的参数个数和参数最大位宽,通过实施例一所述封装处理方式中的公式bit_width=ROUND[log2(P)+0.5],可以分别计算出每种编码模式下待封装的参数索引idx的数据存储区域的最小宽度和比特位置pos的数据存储区域的最小宽度(可参考实施例一所述封装处理方式中对于M和N的计算),具体结果包括:Mode 0下参数索引idx的数据存储区域的最小宽度为5和比特位置pos的数据存储区域的最小宽度为4;Mode 1~Mode 8下参数索引idx的数据存储区域的最小宽度均为6和比特位置pos的数据存储区域的最小宽度均为4。因此,对于Mode 0来说,只需要5个bit就能表示出参数索引idx,而并不需要使用6个bit,所以将Mode 0作为一组编码模式,该组编码模式下的比特单元映射结构中的参数索引idx的数据存储区域的宽度大于或等于5(优选为等于5),比特位置pos的数据存储区域的宽度大于或等于4(优选为等于4);对于Mode 1~Mode 8来说,均至少需要6个bit表示参数索引idx、需要4个bit表示比特位置pos,所以将Mode 1~Mode 8分为一组编码模式,该组编码模式下的比特单元映射结构中的参数索引idx的数据存储区域的宽度大于或等于6(优选为等于6),比特位置pos的数据存储区域的宽度大于或等于4(优选为等于4)。当然,对于本实施例所举的例子来说,若采用本实施例的所述封装处理方式,则对编码模式的分组最多可以分成9组,即将每种编码模式分为1组。
实施例一的封装处理方式与实施例二的封装处理方式相比较,实施例二的封装处理方式的优点在于可以多节省一些对于比特单元映射结构的存储空间,从而进一步降低了成本;实施例一的封装处理方式的优点是在解码端(解码器)对码流中的参数进行重构(解析)时,由于数据封装格式单一,所以获取码流中每个比特对应的比特单元映射结构的方法简单,实现的代码量小,从而使参数解析的效率较高。在具体实施时,可以根据实际需求,选择上述两种封装处理方式中任一种对所述标记进行封装处理。
对应本实施例所述用于码流中参数解析的预处理方法,本实施例还提供了一种用于码流中参数解析的预处理装置。与实施例一中所述用于码流中参数解析的预处理装置有所区别的是,第一封装单元的工作方式和内部结构不同。
具体地,所述第一封装单元,适于基于每种编码模式下帧码流中的参数个数和参数最大位宽,将所有编码模式至少分为两组,每组编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
所述第一封装单元可以包括:第三确定单元(图中未示出),适于将每组编码模式下的比特单元映射结构中的比特位对应的参数索引的数据存储区域的宽度确定为大于或等于基于该组所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;第四确定单元(图中未示出),适于将每组编码模式下的比特单元映射结构中的比特位在对应参数中的位置的数据存储区域的宽度确定为大于或等于基于该组所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
此外,本实施例中也提供了一种包括上述用于码流中参数解析的预处理装置的编码器。对于本实施例中所述用于码流中参数解析的预处理方法、所述编码器及其用于码流中参数解析的预处理装置的具体实施,可参考实施例一中所述用于码流中参数解析的预处理方法与装置的实施,在此不再赘述。
实施例三
实施例一与实施例二中对所述标记的封装方式虽然不同,但均是将所述标记中的参数索引idx和比特位置pos拼接封装为比特单元映射结构,本实施例与实施例一、实施例二有所区别的是,本实施例将每种编码模式下多个参数索引idx和多个比特位置pos分别进行封装处理。
在本实施例中,对于所述标记中的参数索引idx和比特位置pos进行的封装处理也可以为其他的封装处理方式,即:封装处理不一定必须将参数索引idx与比特位置pos拼接封装为比特单元映射结构,再将多个比特单元映射结构封装为比特映射结构进行存储,也可以将多个参数索引idx封装后独立存储,将多个比特位置pos封装后独立存储。因此,本发明实施方式中所述用于码流中参数解析的预处理方法还包括:将对应比特的标记中比特位对应的参数索引封装成比特索引映射结构;将对应比特的标记中比特位在对应参数中的位置封装成比特位置映射结构。所述比特索引映射结构和比特位置映射结构可以存储在一起,也可以各自存于两块独立的存储空间,以所述比特索引映射结构和比特位置映射结构共同作为在解码端进行参数解析时的查找表。
对应本实施例所述用于码流中参数解析的预处理方法,本实施例还提供一种用于码流中参数解析的预处理装置。所述用于码流中参数解析的预处理装置除了包括实施例一或实施例二中所述的标记设置单元、映射单元、存储单元,还包括第三封装单元,与所述标记设置单元、映射单元、存储单元相连,适于将对应比特的标记中比特位对应的参数索引封装成比特索引映射结构;还适于将对应比特的标记中比特位在对应参数中的位置封装成比特位置映射结构。所述存储单元可以将所述比特索引映射结构和比特位置映射结构存储在一起,也可以将所述比特索引映射结构和比特位置映射结构分别存于两块独立的存储空间。
此外,本实施例中也提供了一种包括上述用于码流中参数解析的预处理装置的编码器。对于本实施例中所述用于码流中参数解析的预处理方法、所述编码器及其用于码流中参数解析的预处理装置的具体实施,可参考实施例一或实施例二中所述用于码流中参数解析的预处理方法与装置的实施,在此不再赘述。
需要说明的是,本发明的具体实施方式中,所述帧码流的编码标准以AMR-WB为例,但本发明实施方式中所述码流中参数解析及预处理方法与装置不只限用于AMR-NB、AMR-WB或AMR-WB+的编解码标准及对应的编解码器,对于所有音频、视频及相关语音信号的编解码处理(例如MP3等)中,采用本发明实施方式中的类似按比特位重排序的应用都能够适用。
综上,本发明实施方式提供的编解码器、码流中参数解析及预处理方法与装置,至少具有如下有益效果:
通过基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置,再按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特,从而能实现在几乎不增加计算复杂度的情况下,显著降低对码流中参数解析过程中所需查找表的存储空间的占用,由此降低了成本。
通过将对应每个比特的标记分别封装成比特单元映射结构进行存储,能够减少存储的冗余,从而进一步降低了对存储空间的占用。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (26)

1.一种用于码流中参数解析的预处理方法,其特征在于,包括:
基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;
按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
2.根据权利要求1所述的用于码流中参数解析的预处理方法,其特征在于,还包括将对应每个比特的标记分别封装成比特单元映射结构。
3.根据权利要求2所述的用于码流中参数解析的预处理方法,其特征在于,所有编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
4.根据权利要求3所述的用于码流中参数解析的预处理方法,其特征在于,
所述比特位对应的参数索引的数据存储区域的宽度大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;
所述比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
5.根据权利要求2所述的用于码流中参数解析的预处理方法,其特征在于,基于每种编码模式下帧码流中的参数个数和参数最大位宽,将所有编码模式至少分为两组,每组编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
6.根据权利要求5所述的用于码流中参数解析的预处理方法,其特征在于,
每组编码模式下的比特单元映射结构中的比特位对应的参数索引的数据存储区域的宽度大于或等于基于该组所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;
每组编码模式下的比特单元映射结构中的比特位在对应参数中的位置的数据存储区域的宽度大于或等于基于该组所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
7.根据权利要求2所述的用于码流中参数解析的预处理方法,其特征在于,还包括将多个比特单元映射结构封装成比特映射结构。
8.根据权利要求7所述的用于码流中参数解析的预处理方法,其特征在于,所述比特映射结构以字节、半字或全字的方式进行存储。
9.根据权利要求1所述的用于码流中参数解析的预处理方法,其特征在于,还包括:将对应比特的标记中比特位对应的参数索引封装成比特索引映射结构;将对应比特的标记中比特位在对应参数中的位置封装成比特位置映射结构。
10.根据权利要求1所述的用于码流中参数解析的预处理方法,所述帧码流的编码标准为AMR-NB、AMR-WB或AMR-WB+。
11.一种用于码流中参数解析的预处理装置,其特征在于,包括:
标记设置单元,适于基于每种编码模式下帧码流中的参数个数和各参数的位宽,对每个参数的各个比特位设置标记,所述标记包括该比特位对应的参数索引及该比特位在对应参数中的位置;
映射单元,适于按照编码规则将每个参数的各个比特位的标记分别映射到帧码流中的对应比特。
12.根据权利要求11所述的用于码流中参数解析的预处理装置,其特征在于,还包括第一封装单元,适于将对应每个比特的标记分别封装成比特单元映射结构。
13.根据权利要求12所述的用于码流中参数解析的预处理装置,其特征在于,所有编码模式下的比特单元映射结构是由所述第一封装单元以统一的数据封装格式进行封装的;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
14.根据权利要求13所述的用于码流中参数解析的预处理装置,其特征在于,所述第一封装单元包括:
第一确定单元,适于将所述比特位对应的参数索引的数据存储区域的宽度确定为大于或等于基于所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;
第二确定单元,适于将所述比特位在对应参数中的位置的数据存储区域的宽度确定为大于或等于基于所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
15.根据权利要求12所述的用于码流中参数解析的预处理装置,其特征在于,所述第一封装单元基于每种编码模式下帧码流中的参数个数和参数最大位宽,将所有编码模式至少分为两组,每组编码模式下的比特单元映射结构具有统一的数据封装格式;所述统一的数据封装格式是指比特位对应的参数索引的数据存储区域的宽度一致以及比特位在对应参数中的位置的数据存储区域的宽度一致。
16.根据权利要求15所述的用于码流中参数解析的预处理装置,其特征在于,所述第一封装单元包括:
第三确定单元,适于将每组编码模式下的比特单元映射结构中的比特位对应的参数索引的数据存储区域的宽度确定为大于或等于基于该组所有编码模式中参数个数的最大值计算得到的参数索引的数据存储区域的宽度;
第四确定单元,适于将每组编码模式下的比特单元映射结构中的比特位在对应参数中的位置的数据存储区域的宽度确定为大于或等于基于该组所有编码模式中参数最大位宽的最大值计算得到的比特位在参数中的位置的数据存储区域的宽度。
17.根据权利要求12所述的用于码流中参数解析的预处理装置,其特征在于,还包括第二封装单元,适于将多个比特单元映射结构封装成比特映射结构。
18.根据权利要求17所述的用于码流中参数解析的预处理装置,其特征在于,还包括存储单元,适于将所述比特映射结构以字节、半字或全字的方式进行存储。
19.根据权利要求11所述的用于码流中参数解析的预处理装置,其特征在于,还包括第三封装单元,适于将对应比特的标记中比特位对应的参数索引封装成比特索引映射结构;还适于将对应比特的标记中比特位在对应参数中的位置封装成比特位置映射结构。
20.根据权利要求11所述的用于码流中参数解析的预处理装置,所述帧码流的编码标准为AMR-NB、AMR-WB或AMR-WB+。
21.一种编码器,其特征在于,包括权利要求11至20任一项所述的用于码流中参数解析的预处理装置。
22.一种码流中的参数解析方法,其特征在于,包括:
基于权利要求1至10任一项所述的用于码流中参数解析的预处理方法,获取映射于输入帧码流中的每个比特的标记;
按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
23.根据权利要求22所述的码流中的参数解析方法,其特征在于,还包括:在获取映射于输入帧码流中的每个比特的标记之前,将所有参数的比特位的存储空间清零;所述将每个比特匹配到对应参数的比特位包括:若判断出所述帧码流中的当前分析比特为零,则对下一个比特进行分析,否则将所述当前分析比特存入其对应参数的比特位的存储空间中的相应位置。
24.一种码流中的参数解析装置,其特征在于,包括:
获取单元,适于基于权利要求11至20任一项所述的用于码流中参数解析的预处理装置的处理结果,获取映射于输入帧码流中的每个比特的标记;
匹配单元,适于按照所述标记中的比特位对应的参数索引及该比特位在对应参数中的位置,将每个比特匹配到对应参数的比特位,以完成对所述帧码流中所有参数的解析。
25.根据权利要求24所述的码流中的参数解析装置,其特征在于,还包括重置单元,适于在获取映射于输入帧码流中的每个比特的标记之前,将所有参数的比特位的存储空间清零;所述匹配单元在判断出所述帧码流中的当前分析比特为零,则对下一个比特进行分析,否则将所述当前分析比特存入其对应参数的比特位的存储空间中的相应位置。
26.一种解码器,其特征在于,包括权利要求24或25所述的码流中的参数解析装置。
CN201210014344.9A 2012-01-17 2012-01-17 编解码器、码流中参数解析及预处理方法与装置 Active CN103208290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210014344.9A CN103208290B (zh) 2012-01-17 2012-01-17 编解码器、码流中参数解析及预处理方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210014344.9A CN103208290B (zh) 2012-01-17 2012-01-17 编解码器、码流中参数解析及预处理方法与装置

Publications (2)

Publication Number Publication Date
CN103208290A CN103208290A (zh) 2013-07-17
CN103208290B true CN103208290B (zh) 2015-10-07

Family

ID=48755491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210014344.9A Active CN103208290B (zh) 2012-01-17 2012-01-17 编解码器、码流中参数解析及预处理方法与装置

Country Status (1)

Country Link
CN (1) CN103208290B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248824A (zh) * 1998-09-17 2000-03-29 松下电器产业株式会社 音频信号编码装置和方法以及解码装置和方法
CN1685369A (zh) * 2002-09-26 2005-10-19 美国多科摩通讯研究所股份有限公司 视频编码的低复杂性和统一标准的变换
CN1917646A (zh) * 2006-08-07 2007-02-21 浙江大学 基于低内存消耗查询表的视频压缩码率控制方法
CN101107781A (zh) * 2004-10-22 2008-01-16 马维尔国际贸易有限公司 用于遗留通信网络的增强性能的编码和纠错系统
US7712005B2 (en) * 2005-10-21 2010-05-04 Marvell World Trade Ltd. Encoding and error correction system for enhanced performance of legacy communications networks
CN101990292A (zh) * 2009-08-07 2011-03-23 展讯通信(上海)有限公司 Td-scdma系统中tfci的编码、映射和收发方法
CN102348118A (zh) * 2011-10-25 2012-02-08 中兴通讯股份有限公司 一种自适应生成码表的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101279857B1 (ko) * 2006-12-12 2013-06-28 삼성전자주식회사 적응적 멀티 레이트 코덱 모드 디코딩 방법 및 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1248824A (zh) * 1998-09-17 2000-03-29 松下电器产业株式会社 音频信号编码装置和方法以及解码装置和方法
CN1685369A (zh) * 2002-09-26 2005-10-19 美国多科摩通讯研究所股份有限公司 视频编码的低复杂性和统一标准的变换
CN101107781A (zh) * 2004-10-22 2008-01-16 马维尔国际贸易有限公司 用于遗留通信网络的增强性能的编码和纠错系统
US7712005B2 (en) * 2005-10-21 2010-05-04 Marvell World Trade Ltd. Encoding and error correction system for enhanced performance of legacy communications networks
CN1917646A (zh) * 2006-08-07 2007-02-21 浙江大学 基于低内存消耗查询表的视频压缩码率控制方法
CN101990292A (zh) * 2009-08-07 2011-03-23 展讯通信(上海)有限公司 Td-scdma系统中tfci的编码、映射和收发方法
CN102348118A (zh) * 2011-10-25 2012-02-08 中兴通讯股份有限公司 一种自适应生成码表的方法和系统

Also Published As

Publication number Publication date
CN103208290A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN102754150B (zh) 用于在子带译码sbc解码器中重构遗失包的方法和装置
CN101087181B (zh) 一种解交织和解速率匹配的方法
CN103427846B (zh) 动态可重构高速串行总线中错误控制方法
CN106407201A (zh) 一种数据处理方法及装置
CN101483043A (zh) 基于分类和排列组合的码本索引编码方法
CN101986584A (zh) 一种3gpp lte中的解速率匹配装置和方法
CN104081701A (zh) 光网络系统的通信方法、系统及装置
CN104135496B (zh) 一种同构环境下的rpc数据传输方法及系统
CN102800318B (zh) 音频数据流的发送、接收装置及方法
CN103208290B (zh) 编解码器、码流中参数解析及预处理方法与装置
CN105096957B (zh) 处理信号的方法及设备
TW200515713A (en) A re-configurable Viterbi decoder
CN101662293A (zh) 一种译码方法和设备
CN102468902B (zh) LTE系统Turbo编码速率匹配/解速率匹配的方法
CN103716127B (zh) 一种基于ttcn‑3的压缩编解码的方法和系统
CN104901772A (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN109150397B (zh) 一种构造极化码序列的方法及装置
CN102769506B (zh) 一种解速率匹配的解交织方法和装置
CN105099571B (zh) 一种音频通信方法
CN101764797A (zh) 一种时分多通道lapd处理器及其设计方法
CN101527613B (zh) 发送、处理数据的方法、通信系统及通信设备
CN102136878B (zh) 一种速率匹配实现方法和系统
CN102118219A (zh) 一种速率匹配的串行处理方法及装置
CN101594153A (zh) 基于数字逻辑实现解交织的方法和系统
CN102136888B (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170223

Address after: 200127 room 3205F, building 707, Zhang Yang Road, Shanghai, China (Shanghai) free trade zone, No. 32

Patentee after: Xin Xin Finance Leasing Co.,Ltd.

Address before: Zuchongzhi road in Pudong Zhangjiang hi tech park Shanghai 201203 Lane 2288 Pudong New Area Spreadtrum Center Building 1

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20170707

Address after: 100033 room 2062, Wenstin Executive Apartment, 9 Financial Street, Beijing, Xicheng District

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: 200127 room 3205F, building 707, Zhang Yang Road, Shanghai, China (Shanghai) free trade zone, No. 32

Patentee before: Xin Xin Finance Leasing Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130717

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: 2018990000163

Denomination of invention: Coder and decoder and preprocessing method and device for parameter analyzing in code stream

Granted publication date: 20151007

License type: Exclusive License

Record date: 20180626

TR01 Transfer of patent right

Effective date of registration: 20200305

Address after: 201203 Zuchongzhi Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 100033 room 2062, Wenstin administrative apartments, 9 Financial Street B, Xicheng District, Beijing.

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200529

Address after: 361012 unit 05, 8 / F, building D, Xiamen international shipping center, No.97 Xiangyu Road, Xiamen area, China (Fujian) free trade zone, Xiamen City, Fujian Province

Patentee after: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Address before: 201203 Zuchongzhi Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 2288

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
EC01 Cancellation of recordation of patent licensing contract

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: 2018990000163

Date of cancellation: 20210301

EC01 Cancellation of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130717

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Contract record no.: X2021110000010

Denomination of invention: Method and device for parameter analysis and preprocessing in codec and code stream

Granted publication date: 20151007

License type: Exclusive License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20230717

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 361012 unit 05, 8 / F, building D, Xiamen international shipping center, 97 Xiangyu Road, Xiamen area, China (Fujian) pilot Free Trade Zone, Xiamen City, Fujian Province

Patentee before: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

TR01 Transfer of patent right