CN102687403B - 使用算术阶段压缩未充分利用的代码空间的编码器和解码器 - Google Patents
使用算术阶段压缩未充分利用的代码空间的编码器和解码器 Download PDFInfo
- Publication number
- CN102687403B CN102687403B CN201080051756.9A CN201080051756A CN102687403B CN 102687403 B CN102687403 B CN 102687403B CN 201080051756 A CN201080051756 A CN 201080051756A CN 102687403 B CN102687403 B CN 102687403B
- Authority
- CN
- China
- Prior art keywords
- code
- bit
- arithmetic
- encoder
- block
- 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
- 238000004891 communication Methods 0.000 claims description 38
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 15
- 238000001228 spectrum Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 230000008707 rearrangement Effects 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- NHGXDBSUJJNIRV-UHFFFAOYSA-M tetrabutylammonium chloride Chemical compound [Cl-].CCCC[N+](CCCC)(CCCC)CCCC NHGXDBSUJJNIRV-UHFFFAOYSA-M 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种编码器/解码器体系结构,使用算术编码器来编码阶乘脉冲编码器的输出的MSB部分,编码第一级源编码器的输出,例如MDCT。基于与信号能量(例如,信号能量本身)相关的测量,以升序对信号的部分(例如帧)的子部分(例如,频带)适当地分类。在阶乘脉冲编码上叠加算术编码的系统中,致使比特被再分配至具有产生更高信号质量的更高信号能量含量和更高比特利用效率的频带。
Description
技术领域
本发明总体上涉及高效的数字编码和解码。
背景技术
近二十年来,微处理器的速度提高了若干数量级,并且数字信号处理器(DSP)已经无所不在。从模拟通信过渡到数字通信变得切实可行并且具有吸引力。数字通信提供了能够更高效地利用带宽的主要优势,并且允许使用纠错技术。因此,通过使用数字技术,人们能够通过给定的分配的频谱空间,发送更多信息,并且更可靠地发送信息。数字通信能够使用无线电链路(无线)或物理网络介质(例如,光纤、铜网络)。
数字通信能够用于不同类型的通信,诸如音频、视频或遥测。数字通信系统包括发送设备和接收设备。在能够进行双向通信的系统中,每个设备都具有发送和接收电路。在数字发送或接收设备中,存在多阶处理,通过这些处理,数据在通过输入装置(例如麦克风、相机、传感器)进行输入的阶段与被用于调制载波的阶段之间被传递并被发送。在(1)被输入并然后数字化之后,(2)可以应用某些初始噪声滤波,随后是(3)源编码以及(4)最终信道编码。在后续页中对本发明进行的描述可以被认为属于源编码阶段。
源编码的主要目的是在将感知质量保持在可能范围内的同时,降低比特率。针对不同类型的介质,已经开发了不同的标准。例如,JPEG标准应用于静态图像,而IS-127标准应用于音频。作为对实用性的妥协,通常使用与DSP寄存器长度对应的矢量长度,或者多个DSP寄存器长度的偶数倍(例如,128比特),设计源编码器。现在对于每个应用,对分配的信道宽度有一定限制。基于此限制,源编码器/解码器的设计者将考虑被编码的媒体的每个部分的所有的自由度,来决定一定数目的可能代码。例如,在音频编码的情形下可能存在所确定的特定帧大小(例如,160个样本长)、在每个音频帧中允许的音频脉冲的特定数目以及待被分配给脉冲的总振幅量子的特定数目。设计者所做的选择目的在于在分配带宽范围内,最大化感知质量。因为每个是离散的并且量化的,所以能够列举独特帧的总数。每个帧的独特可能性的总数与分配的带宽紧密联系,因为在音频帧的时间间隔期间,必须能够通过信道发送足够的信息以识别与在该帧期间的音频最佳对应的独特帧。独特帧的总数越大,唯一地识别一个特定帧所需要的信息越多。现在,可能出现独特帧的总数(n)不是2的幂,即n≠2k,其中k是整数。例如,假定n<2k,在这种情形中,如果要使用k比特整数来表示每个帧,将总是存在接近2k的某个范围的较高值整数永远不会被发送。这表示系统效率低,因为已经分配了k比特,但是k比特未被充分利用。
美国专利NO.7,230,550公开了一种通过将一组多比特码字分成最高有效位(MSB)部分和最低有效位(LSB)部分,并且以减少表示该组所需要的总比特大小的方式组合MSB部分和LSB部分,解决前述效率低的方法。令人遗憾的是,如果以这种方式处理大量的码字,其可能需要高带宽、高保真度系统,‘550专利的方法将需要执行高精确度的乘法运算。这在计算量方面是很大的,因而是不利的。
虽然上述示例参考了音频并且讨论帧,更广泛地说,不同类型的媒体(例如,图像、视频、遥测及音频)可能(整体或部分地)具有n个可能代码之一的特征,其中n是整数(可能基于带宽限制进行选择),但不是2的幂,即n≠2k,其中,k为整数。类似地,在这种一般情形中,也会出现低效率。
附图说明
在附图中,贯穿各个视图的相同附图标记指代相同或功能相似的要素,其与下文的具体描述一起,被包含在本说明书中并形成其部分,用于进一步说明各个实施例以及解释根据本发明的各种原理和优势。
图1是根据本发明一个实施例的通信系统的框图;
图2是在图1所示的通信系统中使用的设备的发射器的框图;
图3是在图1所示的通信系统中所使用的设备的接收器的框图;
图4是用于编码通过先前的编码器产生的代码(例如,FPC码)的最高有效位部分(MSB)的算术编码器的流程图。
图5是用于解码表示由另一编码器产生的代码(例如,FPC码)的MSB的算术代码的算术解码器的流程图;
图6是用于确定表示当算术编码具有有限精确性算术时需要一些额外位的算术编码器编码效率项的过程的流程图;以及
图7是使用与阶乘脉冲编码结合的算术编码的音频编码方法的流程图。
本领域的技术人员应理解的是,附图中的要素是出于简洁和清楚目的而示出的,并不必需按比例绘制。例如,附图中某些要素的尺寸相对于其他要素可能被夸大,以助于增强对本发明实施例的理解。
具体实施方式
在具体描述根据本发明的实施例之前,应注意到,这些实施例主要在于与编码器和解码器相关的方法步骤和装置构件的组合。因此,在附图中适当之处以惯用符号表示了这些装置构件和方法步骤,仅示出了与理解本发明的这些实施例相关的那些具体细节,以避免对本领域的技术人员显而易见的具有在此描述的益处的细节模糊了本公开。
在本文献中,诸如第一和第二、上和下等的关系术语可以仅被用于将一个实体或动作与另一个实体或动作区别开,而不必然要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”或其任何其他的变形,旨在涵盖非排他性包含,从而包括一系列要素的过程、方法、物件或装置不仅包含那些要素,而且可以包含未明确列出或这种过程、方法、物件或装置所固有的其他要素。在没有更多约束条件的情况下,在“包括……”的之后的要素不排除在包括该要素的过程、方法、物件或装置中的另外相同要素的存在。
应理解的是,此处所描述的本发明的实施例可以包括一个或多个传统的处理器以及唯一存储的程序指令,该程序指令与特定非处理器电路结合控制该一个或多个处理器来实现此处所描述的编码器和解码器的某些、大部分或全部功能。非处理器电路可以包括,但不限于,无线电接收器、无线电发射器、信号驱动器、时钟电路、电源电路以及用户输入设备。这样,这些功能可以被解释为执行编码和解码的方法步骤。可选地,可以由不具有存储的程序指令的状态机或者在一个或多个专用集成电路(ASIC)中来实现某些或全部功能,在一个或多个专用集成电路(ASIC)中每个功能或这些功能中的一些特定功能的组合被实现为定制逻辑。当然,可以使用这两种方式的组合。因此,此处已经描述了用于这些功能的方法和装置。此外,所期望的是,本领域的普通技术人员,尽管在例如可用时间、当前技术以及经济考虑的驱动下可能付出了巨大的努力并做出了许多的设计选择,但当其被在此处公开的概念和原理所引导时,将能够以最少的实验,容易地产生这些软件指令和程序以及IC。
图1是根据本发明一个实施例的通信系统100的框图。通信系统100包含通过通信网络或对等信道106通信耦合的第一通信设备102和第N个通信设备104。通信设备102、104的至少一个包含发射器,并且通信设备102、104的至少一个包括接收器。某些实施例支持双向通信,在这种情形下,两个通信设备102、104都包括发射器和接收器。
图2是在图1所示的通信系统中使用的设备102、104的发射器200的框图。发射器包括输入装置202,其能够根据正在发射的信息类型,采取不同形式。在音频的情形下,输入装置202适当地采用麦克风的形式,在视频的情形下,输入装置202适当地采取图像传感器的形式;以及在遥测的情形下,输入装置可以采取传感器的形式。
将输入装置202耦合到信号调节器204。例如,信号调节例如能够包括模拟域滤波和/或放大。
将信号调节器204耦合到模拟至数字转换器(A/D)206,模拟至数字转换器(A/D)206将从信号调节器204接收到的信号数字化。
将A/D 206耦合到数字滤波器208,数字滤波器208被用于执行在数字域中的另外滤波。
将数字滤波器耦合到第一级源编码器210。例如,第一级源编码器210能够包括代数码激励线性预测(ACELP)编码器(其是音频编码器的类型)、修正离散余弦变换(MDCT)编码器(其能够被应用于许多不同类型的信号)或者可以充当预编码器或预处理阶段的任何类型的信号编码器。现在第一级源编码器通常将把进入数据分割成离散块(诸如指定持续时间的音频帧(对应于一定数目的样本)或者图像的小块),并且每次一个,将这些块编码。(应注意的是,这不排除相对于先前帧或块的差分编码。)在系统中的这一点,每件事被量子化和离散化,从而对于每个离散块,存在有限数目的不同可能信号矢量。基于诸如用于实现该系统的数字信号处理器(DSP)的寄存器长度的实际考虑,可以设计离散化和量子化的解决方案。第一级源编码器210的离散化和量子化以及其他方面也适当地基于感知考虑,或者更一般地说,基于发射的信号质量要求。在发射器200的远端,即,在至信道的输出228,存在另一约束,即,也必须考虑最大信道带宽。实现信号质量考虑和可用带宽之间的精密平衡将通常导致其中可能信号矢量的数目可能恰好不是2的整数幂(即,n≠2k,其中,n是可能信号矢量的数目,并且k是任何整数)的源编码器210、212的设计。在这种普遍情况下,如果要发射k比特码字以识别用于每个离散数据块的n个可能信号矢量之一,则在系统中将存在明显的低效率。这种低效率对于信息理论领域的普通技术人员将是显而易见的,其出现的原因是因为n<2k,k比特整数(码字)的某些值将永远不会被发送,尽管所有k比特需要被发送。在这种情况下,n个信号矢量之一的k比特码字表示被认为具有“非整数”长度。
再次参考图2,可以发现将第一级源编码器210耦合到阶乘脉冲编码器(FPC)212。FPC是能够产生k比特码字以表示n比特信号矢量的一种类型的编码器。与本发明一样,在授予Weimin Peng等人的美国专利No.6,236,960中描述了早期的阶乘脉冲编码器。基本的FPC通过建立所有可能信号矢量的排序以及生成指向该排序中的特定信号矢量的整数码字来工作。特定信号矢量的特征是非零位置、幅度和符号的某种唯一组合。因此,代替发射信号矢量,发射整数码字。题为“Apparatus and Method for Low Complexity Combinatorial coding ofSignals”的美国专利7,461,106提供了FPC的改进,其使用‘960专利中描述的组合函数的近似值,以减少编码和解码的计算成本。在FPC 212的输出中仍存在由于非整数长度码字所导致上文所描述的低效率。通过提供本文将描述的发射器的连续阶段,解决低效率。
将阶乘脉冲编码器212耦合到MSB/LBS解析器214。MSB/LSB解析器214将从FPC 212接收到的每个多比特代码划分为最高有效位部分(MSB)和最低有效位部分(LSB)。在这一点,划分码字是解决上述低效率的第一阶段。LBS部分可能具有所有可能值,并且因此,这些比特将被更充分地利用。MSB可能未充分利用,因此,通过将MSB和LSB划分开,在MSB中隔离低效率。根据本发明的可选实施例,使用另一类型的组合编码和解码来代替FPC编码。当使用其他类型的组合编码和解码时,能够获得类似的益处。
根据本发明的可选实施例,从FPC接收到的码字并非全部是相同长度(例如,k比特长)。在这种情形中,根据一个选择,被分组为MSB部分的比特的数目是固定的,并且允许被分组为LSB部分的比特的数目变化。其中,码字长度可以变化的一个应用是音频通信系统,在该系统中,第一级的源编码器210分别对单独的音频带进行编码,并且为每个分配不同数目的比特。这是合理的,因为不同音频带基于它们所覆盖的频率范围和/或它们含有的频谱能量,对于感知的音频质量具有不同影响。
再次参考图2,可以看出,将MSB/LSB解析器214耦合到多MSB缓冲器216和多LSB缓冲器218。因为LSB部分被充分利用,因此简单将这些LSB部分连接在一起。例如,在音频应用中,在一个音频帧周期,能够将从一组频带的全部导出的LSB部分连接在一起。将多LSB缓冲器218耦合到将多LSB部分连接在一起的连接器222。
将多MSB缓冲器216耦合到算术编码器220。概念上,算术编码器能够用于将符号序列唯一地映射至0至1范围的特定子范围(概率区)。第一符号被用于将(0,1]范围划分为等于不同的符号值的数目(例如,对于二进制而言为2)的多个子范围。子范围的大小与关联的符号值的概率成比例(例如25%的机率为0,而75%的机率为1)基于符号的特性(identity)(值),选择一个子范围。每个连续符号被用于进一步细分使用其前缀(其前面的符号子序列)识别的子范围。将落在每个子范围内的分数的二进制表示(例如,11表示3/4)用作表示映射到该子范围的符号序列的代码。在共同待决的专利申请序列号:XX/XXX,XXX,题为“Arithmetic Encoding For ACELP Encoders”(文档号No.CML07096)中,教导了一种类型的算术编码器。在那种情况下,音频数据被缩减到二进制序列,即其中每个符号为0或1的序列。在本发明中使用的算术编码器220更为复杂,因为这些符号是整数值,并且范围为从0至第i个MSB部分的最大值Gi max。在这种情况下,不是每个符号被用于将前面的范围(或子范围)划分为两个子范围,而是每个符号被用于将前面的范围(或子范围)划分成Gi max数目的子范围。在图4中示出算术编码器的流程,并且在下文进行描述。算术编码器220的输出是表示从多MSB缓冲器216接收的MSB部分的序列的代码(“算术代码”)。
再次参考图2,可以看出,将算术编码器220和连接器222耦合到分组组装器224。将分组组装器224耦合到信道编码器226,将信道编码器226依次耦合到对于信道228的输出。也能够将诸如频带能量的其他信息提供给分组组装器。
图3是在图1所示的通信系统中使用的设备102、104的接收器300的框图。在从耦合到信道解码器304的来自信道302的输入处接收由发射器300发送的分组,将信道解码器304依次耦合到解析器306。将分组解析器306耦合到n-LSB寄存器312和算术代码寄存器308。分组解析器306提取连接的LSB,并且将它们递送至n-LSB寄存器312。分组解析器306也提取算术代码,并且将其递送至算术解码器310。将算术解码器310耦合到n-MSB寄存器314。算术解码器310逆向编码,并且将MSB部分的序列输出至n-MSB寄存器314。在图5中示出算术解码器310的流程图,并且下文进行描述。
将n-LSB寄存器312和n-MSB寄存器314耦合到多路复用器316。将多路复用器316耦合到FPC寄存器。多路复用器316将相对应的MSB和LSB重新关联,以重新组成完整的FPC码字,其被递送至阶乘脉冲代码寄存器318。将FPC寄存器318依次耦合到阶乘脉冲解码器320。阶乘脉冲解码器320重构第一级源编码器210的编码输出,并且将其递送至第一级源解码器322,第一级源解码器322重构原始信息(例如,音频、图像数据)。将第一级源解码器322耦合到数字至模拟转换器(D/A)324,将数字至模拟转换器(D/A)324依次耦合到输出装置326(例如,显示器、音频扬声器)。
图4是用于编码由先前编码器(例如,阶乘脉冲编码器)输出的代码的MSB部分的算术编码器220的流程图。在块402中,初始化索引i、索引j、变量x、变量y和变量rl、变量n和变量n-tilda。将识别在MSB部分序列中的MSB部分的变量i初始化为0,以指向在该序列中的第一MSB部分。将指向由算术编码器310产生的码字中的连续比特的变量j初始化为-2(不使用前两个代码位)。将表示在算术编码空间范围中的位置的变量x初始化为0。将表示子范围宽度的可重新调整的变量的变量y初始化为2w。概念上,代码空间可被认为是范围(0,1],但在实践中,代码空间被表示为范围0至2w。W实际上也是对应由算术编码器310所使用的算术精度的精度参数。虽然在图4-6的流程图中W是固定的,可选的是,对于每个第i个符号可以独立地设置W。将运行长度变量RI初始化为0。将n初始化为Gi max,并且将i设置为其初始值为0。Gi max是第i个MSB部分的最大值。根据第一级源编码器210的设计,MSB部分可以具有不同的最大值。例如,被分配用于编码不同频带的不同比特可导致不同的Gi max值。将n-tilda初始化为Gi,第i个MSB的实际值。
在块402之后,判定块404是循环终止标准,其检验待编码的所有MSB部分是否已经被处理。如果结果是否定的(意为更多MSB部分待处理),则流程图继续至块406。在块406的第一步骤要计算下一子范围大小。下一子范围大小是由Gi值(第i个MSB部分)和Gi max值(第i个MSB部分的最大值)确定的先前子范围的大小的部分,在这一点,Gi值和Gi max值分别由n-tilda和n来表示。计算该子范围大小所使用的公式为:
在对前面公式求值之后,i递增,并且n和n-tilda分别被设置为Gi max和Gi。
接下来,在块408中,在由变量x所表示的代码空间中的位置增加了与n-tilda和n的新值的比成比例的先前子范围大小的部分的凑整值。换言之,Gi距离Gi max越近,在代码空间中的新位置越高。也在块408中,现在将由变量y表示的子范围大小设置为在块406计算的变量z被设置为的新值。
接下来,判定块410检验变量y的值是否小于2W。如果是,则流程图分支到块412。应注意到,如果判定块404的结果是肯定的,则该流程图也分支到块412。
在块412中,以因子2,将表示子范围大小的变量y重新调整(在二进制算术中,通过左位移动,能够达到)。而且,在块412中,发出值变量e被设置为等于代码空间位置x除以2W的向下取整函数。接下来,在块412中,与y的重新调整一致,在代码空间中位置的值被重新设置为x mod 2W的值的二倍。
接下来,判定块414检验发出值变量是否等于1。如果是,则流程图继续至块416,其中,运行长度变量rl递增,然后,流程图分支回到判定块410。当判定块410的结果是否定时,流程图分支回到判定块404。
当判定块414的结果是否定的时,流程图分支到判定块418。判定块418检验发出变量值是否大于1。如果是,则流程图继续至块420。在块420中,下一比特变量nb递增1,运行位变量rb被设置为等于0,并且发出变量值e递减2。另一方面,如果判定块418的结果是否定的,则流程图分支到块422,在块422中,运行位变量rb零被设置为等于1。在块420或422之后,流程图到达块424。在块424中,指向连续代码位的变量j递增1,第j个代码位Vj被设置为等于下一比特变量nb,并且nb变量被设置为等于发出变量e。
接下来,判定块426检验运行长度变量rl是否大于0。如果是,则流程图执行块428,在块428中,变量j递增,第j个代码位Vj被设置成等于运行位变量rb,并且运行长度变量递减。在每次执行块428之后,流程图循环回到块426。当块426的结果为否时,流程图跳出该循环,并且到达判定块430。
判定块430检验是否i=M,即,在被编码的MSB部分的序列中是否存在任何余下的MSB部分。如果剩余更多MSB部分待处理,则流程图循环回到判定块410,并且继续执行如上所述的流程。当在块430中确定没有更多MSB部分待处理时,则流程图分支到判定块432。判定块432检验变量j是否等L,L指示算术代码的长度。如果否,则流程图执行434,在434中,第j个代码位Vj被设置为等于1,并且j递增1。从块434,流程图循环回到判定块432。当块434的结果是肯定的时,算术代码是完整的,并且流程图终止。
图5是算术解码器310的流程图,算术解码器310被用于解码由另一编码器(例如,阶乘脉冲编码器)产生的代码的MSB部分。在块502中,将引用被解码的连续符号的索引i初始化为0(以指向第一符号);将指向连续代码位的整数j初始化为0(以指向第一代码位);将指定在算术代码空间中的位置的变量x初始化为0(x将基于代码位值而被增大);将指定在代码空间中的间隔宽度的变量y初始化为1,并且将变量n设置为等于Gi max。块504是判定块,其结果取决于y是否小于2W。W是由解码器310所使用的固定精度。初始时,判定块504的结果将为否定,从而流程图将分支到判定块506,其检验变量j是否小于固定长度参数L。L指示算术代码的长度。初始时,判定块的结果将是肯定的(j<L),从而流程图将分支到块508。在块508中,x的值乘以2(左移一个位置),并且增加代码位的值。(应注意,初始时,x被简单地设置成代码位的值,因为x被初始化为0。在处理所有代码位之后,当块506的结果变成否定的时,流程图分支到块510,其中,x简单地乘以2(而不增加代码位)。在块508或块510之后,流程图到达块512,其中,y乘以2。在块512之后,流程图循环回到块504,以再次检验y是否小于2W。在处理了所有代码位,并且可能在510中左移x并且进一步在512中左移y之后,当在块504中确定y超过2W时,流程图分支到块514。在块514中,变量n-tilda(用于编码符号的临时变量)被设置为与(2xn+n-1)/2y的向下取整函数相等。在块516中,根据上述给出的用于z的等式,设置临时存储代码空间中的宽度的变量z。
也在块516中,Gi,第i个码字被设置成与n-tilda相等;索引i递增1并且变量n被设置成与第i个Gi max值相等。在块518中,变量x被设置为以round(y*n-tilda/n)的值递减—基本上移除了由于先前代码位导致的在代码空间中的“高度”(位置)的部分。也在块518中,表示在代码空间中的间隔的变量y被重新设置为z,z表示由先前代码位选择的代码空间中的间隔。判定块520检验i是否仍然等于M,即,是否所有符号已经被解码。如果否,则流程图返回块504。另一方面,如果所有符号已经被恢复,则流程图终止。
结合上文关于对编码器的描述来回忆,阐明了算术码字为L比特长。理论上,为了表示数目M的MSB、范围高达Gi max的Gi,设置L使得2L超过Gi max值的序列的积,应是足够的。实践中,当使用有限精度算术执行算术编码时(例如,使用诸如32比特宽度的处理器寄存器),对于额外代码位的需求增加。通过下列等式,给出用于多个额外代码位的算术编码的宽松边界(高估)(LBAC)。
应注意,先前给出的额外位的数目实际上值可能小于1,在这种情况下,仅需要一个额外位。还应注意,可以递增地对前述等式求值,即,对于少于M个Gi max值的局部序列。
通过进行递归地选择代码空间的最小子范围的过程,能够确定算术编码的严格边界(更准确),能够通过假设符号序列中的每个符号的位置选择代码空间的最小子范围。最小子范围的大小与用于每个第i个符号位置的Gi max相关。图6示出了用于确定TBAC的过程的流程图。在块602中,将指向连续最大MSB部分值Gi max的变量i初始化为0;将代码空间子范围宽度变量y初始化为2W,其中,W是精度参数;将计算y的重新调整(左移)数目的变量k初始化为0;将在log2域中与Gi max值的积的变量s初始化为0;并且将用于存储Gi max值的临时变量n初始化为第0个Gi max值G0 max。
判定块604检验是否已经处理最后的(第M个)Gi max值。对于少于全部序列的MSB部分值,能够执行TBAC流程图,在这种情况下,块604中的M将小于MSB部分值的总数。如果i仍不等于M,则流程图前进至块606,在块606中,代表代码空间子范围宽度的临时变量z被设置成等于能够根据其值而被指配至第i个符号Gi的所有子范围宽度的最小子范围宽度。如在流程图中所示的z的表达式如下:
事实上,可以示出z与n(Gi max)反向相关,并且等于:
而且,在块606中,s递增log2(n);i递增1,并且n被设置为Gi max的新值。在块608中,y被设置为等于z。接下来,判定块610检验y是否小于2W。如果是,则流程图循环通过块612,在块612将y乘以2(左移y),并且使k递增1。当在块610中确定y不小于2W时,则流程图循环回判定块604。当在块604中确定i=M时,流程图前进至块614,并且额外需要的代码位的数目η被设置为等于k+w-s-log2(y)。
图7是一种高效的音频编码器的流程图,其将阶乘脉冲编码与算术编码组合使用,以将根据与频谱能量相关的测量存储的频带序列编码。该方法允许使用算术编码对具有非整数长度的FPC码字高效地编码,同时,支持从初始分配节省的比特被再分配到其他频带的再分布。虽然参考了图7中的音频带,但应注意,该处理器同样适用于编码其他类型的信息。在其他应用中,可以使用另一类型信号能量,代替频谱能量。
块702指示,对于连续的音频帧重复下文所示的过程。虽然未在图7中明确示出,该过程可被不同地应用于从连续音频帧提取的编码信息。
在块704中,调用独立过程(未示出)以对频带序列执行初始比特分配。(在这一点,假定信号已经被变换成频域,并且频域系数已经被分隔到多个频带。)可以使用用于将比特分配至频带的已知过程。在X、Wei、M.Shaw、M.Varley的“Optimum Bit Allocation andDecomposition for High Quality Audio Coding”(icassp,vol.1,pp.315,1997 IEEE International Conference on Acoustics,Speech,and SignalProcessing(ICASSP’97)–Volume 1,1997中,描述了一种这样的已知方法。分配至频带的比特数可能是频带中能量的函数。在其他类型信息的情形中(例如,图像、视频、遥测),(与音频帧类似的)部分将被细分成子部分(例如,频带或其他类型的划分)。
在块706中,根据与频谱能量相关的测量,将频带再排序(分类)。该测量可以是频谱能量本身。可选地,加权频谱能量可以通过将用于每个频带的频谱能量乘以与该频带相关联的预编程权重来达到。将频带重新排序具有某种优势,以便将具有较低频谱能量的频带设置在排序开始的附近。这种排序的结果是比特趋向于被重新分配到具有较高能量含量的频带,形成对这种频带的表示的较高保真度。
块708标记循环的顶部,对于每个第j个频带(根据新的排序,按顺序所取的)重复该循环。在块710中,计算能够被编码成表示在第j个频带中的频谱的单位量级脉冲量子的数目。假设脉冲量子的数目被设置在整数值m,通过使用列举所有可能脉冲配置的等式来计算该数目。在阶乘脉冲编码系统中,可能脉冲配置的数目N等于最高代码值。在与本发明共同转让的美国专利No.6,236,960的等式(15)中给出了一个这样的等式,并且教导了阶乘脉冲编码方法。将‘960专利的等式(15)明确写出如下:
其中,n是在第j个频带中的频率窗口的数目;
m是脉冲量子的数目;
i是求和索引;
在Udar Mittal、James P.Ashley和Edgardo M.Cruz-Zeno的论文“Low Complexity Factorial Pulse Coding Of MD CT Coefficients UsingApproximation Of Combinatorial Functions”,ICASSP,2007中的等式(21)给出了来自更先进、更少计算强度类型的阶乘脉冲编码的类似等式。无论使用这些的哪一个或类似等式,不需要对它们反转,以根据N获得m,而是能够使用计算值的查找表或者使用诸如分半法的求根方法,求解它们。这些等式不是连续的,因此,在求解它们的过程中,在该上下文中,寻找产生N值的m值,该N值是由小于用于正在讨论的第j个频带的比特分配的等式所产生的N的最大值。log2(N)的值是用于初始比特分配的可行比特数。因此,在用于给定频带的比特分配中通常将存在某些额外的比特数。该求解过程的后一方面参考流程图的块712。
如果基于频带中的能量测量将比特分配到频带,那么,对应于被分配用于频带的比特数的脉冲量子的数目m也与频带中的能量相关。这是如下的情形:可以基于度量,即基于脉冲量子数目m,将频带重新排序,代替基于频带能量将频带重新排序。一个选择是基于m本身将频带重新排序。这些频带可以按照m的升序被重新排序。这样做意味着比特趋向于被重新分配到具有较高能量(更多信息内容)的频带。另一选择是将基于度量log2(N(n,m+1))-log2(N(n,m))重新排序,其中,N和m是如在先前等式中所定义的。这个度量量化了分数位如何与将脉冲量子m增加1关联地增加。如果使用后面的度量,基于该度量,能够以降序重新排列频带。这种重新排列的结果是,通常巨大数目(不必需是全部数目)的比特将被从具有低m值(低能量)的频带重新分配至具有高m值(高能量)的频带,这些比特相比于如果将它们用于它们所来自的频带,对于提高可允许的m值,将具有更显著的效果。
在块714中,选择在块712中获得的最高代码值N的最高有效位(MSB)部分(以Gi max表示)。(应注意,频带索引已经从i变成j,以避免与在先前等式中的求和索引相混淆。)(根据本发明的某些实施例,用于所有频带的MSB部分的长度固定为预定数目的比特。如果这样做,在N的整个比特长度小于或等于预定数目的比特的情形中,则整个值N被视为用于特定频带的MSB)。
在块716中,调用子过程,以确定直到此频带的MSB的算术编码是否将需要超过初始分配的附加比特。此处所指的子过程对上述LBAC或TBAC进行求值,在后者的情形中是参考图6描述的。判定块718检验是否需要附加比特。如果通过算术编码效率确定的额外位的数目超过在使用阶乘脉冲编码列举公式建立脉冲量子m的数目之后余下的额外位的数目,则将需要附加比特。如果在块718中确定需要附加比特,则流程图分支到块720,块720将m重置为较低值。例如,能够以固定量或基于涉及m和需要的额外位的数目的表达式来递减m。在m被递减之后,在块722中,重新计算最高代码值N,并且选择MSB部分Gi max。在块722之后,流程图循环回到块716,以重新计算算术编码效率,并且重新检查算术编码直到第j个频带的MSB所需要的总比特数是否落在分配内。当判定块718的结果是否定的时,意味着不需要附加比特,并且不需要调整脉冲量子的数目,流程图分支到块724,在块724中,从原始分配余下的超额(剩余)比特被分配给其他频带。将超额比特分配给其他频带的方式可以变化。一种方法是在余下频带之间均匀地划分比特。另一种方法是偏态分布,从而更接近含有更多频谱能量的排序末端的频带接收相对更多的比特。
在块726中,计算阶乘脉冲编码码字,以表示频带。根据‘960专利或前述的Udar Mittal、James P.Ashley和Edgardo M.Cruz-Zeno的论文“Low Complexity Factorial Pulse Coding Of MDCT Coefficients UsingApproximation Of Combinatorial Functions”,ICASSP,2007的教导,可以实现这一点。在块728中,选择码字的MSB,并且在块730中,调用算术编码器子过程,以启动(或者在第一执行之后继续执行块730的情形)生成算术代码来表示MSB。可以使用参考图4描述的算术编码器。因此,在图4中示出的过程将被递增地执行,因为由图7中所示的过程产生每个新的MSB(Gi)值。在块732中,将FPC码字的最小有效位输出到连接器。
判定块734检验是否剩余更多频带要处理。如果是,则在块736中,该过程递增到排序中的连续频带,并且流程图循环回块710,以开始处理下一频带。当在块734中确定所有频带已经被处理时,流程图分支到块738,在块738中,将频带的频谱能量和/或其他信息输出到分组组装器。
下列示例示出了在对频带重新排序和未对频带重新排序的条件下,在频带之间进行比特再分配。首先假定未对频带重新排序,并且分别对第j和第j+1频带分配24.0和20.5个比特。此外,假定,对于第j和第j+1个频带,频率带宽(位置的数目)固定在n=20。对于第j个频带,能够确定在保持低于初始比特分配24.0的同时能够使用的脉冲量子的最大数目m是6,并且在第j个频带中编码6个脉冲量子所需要的比特数是log2(N(20,6))=22.48比特。在这个示例中,m=6是将log2(N(n,m))保持在24比特的比特预算之下的最大整数;增加一个脉冲量子m=7将需要log2(N(20,7))=25.02比特。现在,通过将24.0-22.48=1.52比特的比特剩余移动到第J+1个频带,我们将用于第j+1个频带的比特预算增加到20.5+1.52=22.02比特。在计算用于第j+1个频带的脉冲量子的数目m的过程中,我们发现,我们能够使用log2(N(20,5))=19.72比特,对m=5个脉冲进行编码。
在这一点,我们能够容易地观察到两点。首先,从第j至第j+1个频带的1.52比特的重新分配没有积极效果。即,添加的比特不允许在第j+1个频带中增加脉冲量子的数目m。其次,假定第j+1个频带是在频带序列中的最后频带,那么,比特剩余(22.02–19.72=2.30比特)会被浪费。
现在,让我们根据本发明的实施例,考虑其中存在基于频带能量的某个函数对频带进行重新排序。如果我们假定第j个和第j+1个频带是在频带序列中的最后频带,并且基于频带能量的单调增加函数进行分类,并且我们假定将更多频带分配到具有更多能量的频带,然后,我们假定这些频带将含有最大数目的比特。例如,假定分配到这些频带的比特分别是60.5和64.0比特。如在先前示例中的,让我们假定频率带宽固定在n=20。对于第j个频带,可以确定,能够将脉冲量子的最大数目m确定为m=33,并且编码33个脉冲量子所需要的比特数目是log2(N(20,33))=59.80。通过将60.5-59.80=0.70比特的比特剩余重新分配到第j+1个频带,我们将用于该频带的比特预算增加到64.0+0.70=64.70比特。在计算用于第j+1个频带的脉冲量子的数目过程中,我们发现我们能够使用log2(N(20,39))=64.18比特编码m=39的脉冲。在这种情形下,与先前情形相反,添加到第二频带的比特确实允许m增加,从而对信号质量上升起到作用。
一般而言,是这样的情形:随着比特数增加,编码另外脉冲量子所需要的比特数减少。因此,当结合基于能量的某个函数的重新排序时,剩余比特的重新分配问题得到缓解,此外,在编码所有频带之后的浪费比特的可能变得较低,因为在较高能量的频带中,每脉冲量子的成本较低。
在上述实施例中,在重新排序序列中用于首先处理的频带的真实分配趋向于少于在块704中执行的初始分配,并且在重新排序中,将比特重新分配给处于后面的频带。而且,根据上述的块710-712,脉冲量子的数目被设置为最大值,使得编码m个脉冲量子所需要的比特数log2(N)少于初始分配。根据可选的实施例,对频带重新排序的顺序可以颠倒,使得具有较高能量或较高脉冲量子数目或较低度量值log2(N(m+1))-log2(N(m))的频带居于首位。在这种实施例中,不是找出使得相对应的N是低于初始比特分配的最大可行数目的m值,而是找出使相对应log2(N)的值大于初始比特分配(例如,大于初始比特分配的最小值log2(N(m))的m值。对于这样的实施例,这个log2(N)的值将是比特的可行数。在这些实施例中,不是将超额的比特分布到排序中较靠后的频带,而是可以将比特从在排序中较靠后的频带取出,以弥补在log2(N(m))值和初始比特分配之间的差(残差)。在某些实施例中执行的重新排序基于优先级,但可以是以优先级上升或者优先级下降的顺序。
频带的频谱能量和/或其他信息(例如,频带权重)将被发送至接收器,使得接收器的解码器能够重构由编码器执行的排序和比特分配,从而解码器能够恰当地解译其接收到的编码信息。接收器将执行块702-724,以获取Gi max的值。然后,接收器使用Gi max的值和通过信道接收的Gj的值来执行上文参考图5所描述的算术解码,以重新获取FPC码字的MSB,然后,将其与从发射器接收的LSB重新结合成一个连接的序列。然后,解码FPC码字,以重构频带频谱能量分布。
在前述说明中,已经描述了本发明的特定实施例。然而,本领域的技术人员应理解的是,在不脱离如所附权利要求所阐明的本发明的范围的条件下,能够做出各种修改和变更。例如,阶乘脉冲编码作为可以从本发明获得益处的一种编码方法的示例而被引用,然而,许多其他组合编码方案也可以相应地受益。
因此,本说明和附图应被视为阐释性而非限制含义,并且所有这些修改应被包含在本发明范围内。益处、优势、问题解决方案以及可能导致任何益处、优势或解决方案出现或变得更为显著的任何要素,不应被解释为任何或全部权利要求的关键、必需或本质特征或要素。本发明仅由包含在本发明待批准期间所做的任何修改的随附权利要求以及发布的那些权利要求的所有等效内容限定。
Claims (15)
1.一种通信设备,包括:
第一阶段编码器,被适配成产生多比特代码的序列;
第二阶段编码器,包括:
解析器,被适配成将至少第一多比特代码划分成最高有效位代码和最低有效位代码并且被进一步适配成划分多比特代码的所述序列的每个,从而产生最高有效位代码的序列和最低有效位代码的序列;
算术编码器,被适配成通过多比特代码的所述序列的第二多比特代码的最高有效位代码来编码所述第一多比特代码的所述最高有效位代码;以及
连接器,被适配成连接最低有效位代码的所述序列。
2.根据权利要求1所述的通信设备,其中,所述算术编码器产生码字,所述码字是所述第一多比特代码的所述最高有效位代码和所述第二多比特代码的所述最高有效位代码的最大可能值Gi max的集合的函数。
3.根据权利要求2所述的通信设备,其中,所述码字的长度包括由下列公式给出的编码效率项:
其中,i是符号索引,
M是最高有效位的总数,以及
W是所述算术编码器用于表示代码空间间隔的比特数。
4.根据权利要求2所述的通信设备,其中,通过递归地选择算术代码空间的最小子范围来确定所述码字的长度,能够通过假设符号序列中的每个符号位置来选择所述算术代码空间的最小子范围,其中,所述最小子范围的大小与用于每第i个符号位置的Gi max反向相关。
5.根据权利要求1所述的通信设备,其中:
所述第一阶段编码器包含组合编码器。
6.根据权利要求5所述的通信设备,其中,所述组合编码器包括阶乘脉冲编码器。
7.根据权利要求1所述的通信设备,其中,所述算术编码器使用下列公式根据先前子范围计算连续子范围的大小:
其中,z是所述连续子范围的大小;
y是所述先前子范围的大小;
Gi是如下符号序列中的第i个符号的值,所述符号序列包含所述第一多比特代码和所述第二多比特代码的所述最高有效位代码;以及
Gi max是用于所述第i个符号的最大可能值。
8.一种通信设备,包括:
解码器,被适配为:
接收多个连接的最低有效位代码和表示多个最高有效位代码的算术代码;
算术地解码所述算术代码,以获取所述最高有效位代码;以及
将所述最低有效位代码与所述最高有效位代码组合,以重新组成完整的代码。
9.根据权利要求8所述的通信设备,其中,所述解码器被适配成通过对下列表达式进行求值而恢复被编码的最高有效位代码:
其中,是编码的最高有效位代码,
x是算术代码空间中的位置,
y表示在所述算术代码空间中的间隔宽度;以及
n表示所述编码的最高有效位代码的最大可能值。
10.根据权利要求8所述的通信设备,其中,所述算术代码的长度包含由下列公式所给出的编码效率项:
其中,M是最高有效位代码的数目;以及
W是用于表示算术代码空间间隔的比特数。
11.根据权利要求8所述的通信设备,其中,通过递归地选择算术代码空间的最小子范围来确定所述算术代码的长度,能够通过假设符号序列中的每个符号位置来选择所述算术代码空间的最小子范围,其中,所述最小子范围的大小与用于每第i个符号位置的最大可能最高有效位代码Gi max反向相关。
12.根据权利要求8所述的通信设备,其中,所述解码器进一步包括组合解码器,所述组合解码器被适配成解码所述完整的代码并且产生组合解码器的输出。
13.根据权利要求12所述的通信设备,其中,所述组合解码器包括阶乘脉冲解码器。
14.根据权利要求13所述的通信设备,进一步包括被适配成接收所述阶乘脉冲解码器输出并且再产生一部分信号的第一级源解码器。
15.根据权利要求14所述的通信设备,其中,所述第一级源解码器是MDCT解码器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/607,418 US7978101B2 (en) | 2009-10-28 | 2009-10-28 | Encoder and decoder using arithmetic stage to compress code space that is not fully utilized |
US12/607,418 | 2009-10-28 | ||
PCT/US2010/053521 WO2011056446A1 (en) | 2009-10-28 | 2010-10-21 | Encoder and decoder using arithmetic stage to compress code space that is not fully utilized |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102687403A CN102687403A (zh) | 2012-09-19 |
CN102687403B true CN102687403B (zh) | 2015-05-20 |
Family
ID=43533556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080051756.9A Active CN102687403B (zh) | 2009-10-28 | 2010-10-21 | 使用算术阶段压缩未充分利用的代码空间的编码器和解码器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7978101B2 (zh) |
EP (2) | EP2462698A1 (zh) |
KR (1) | KR101353170B1 (zh) |
CN (1) | CN102687403B (zh) |
BR (1) | BR112012010017A2 (zh) |
WO (1) | WO2011056446A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8207875B2 (en) | 2009-10-28 | 2012-06-26 | Motorola Mobility, Inc. | Encoder that optimizes bit allocation for information sub-parts |
EP2727105B1 (en) * | 2011-06-30 | 2015-08-12 | Telefonaktiebolaget LM Ericsson (PUBL) | Transform audio codec and methods for encoding and decoding a time segment of an audio signal |
US8731081B2 (en) * | 2011-12-07 | 2014-05-20 | Motorola Mobility Llc | Apparatus and method for combinatorial coding of signals |
PL3525208T3 (pl) * | 2012-10-01 | 2021-12-13 | Nippon Telegraph And Telephone Corporation | Sposób kodowania, koder, program i nośnik zapisu |
DE102014204620A1 (de) * | 2014-03-13 | 2015-09-17 | Conti Temic Microelectronic Gmbh | Verfahren und Vorrichtung zur Begrenzung einer Datenpaketgröße eines komprimierten Datenpaketes |
US9672838B2 (en) | 2014-08-15 | 2017-06-06 | Google Technology Holdings LLC | Method for coding pulse vectors using statistical properties |
US9990931B2 (en) | 2014-08-15 | 2018-06-05 | Google Technology Holdings LLC | Method for coding pulse vectors using statistical properties |
US9620136B2 (en) | 2014-08-15 | 2017-04-11 | Google Technology Holdings LLC | Method for coding pulse vectors using statistical properties |
US9336788B2 (en) | 2014-08-15 | 2016-05-10 | Google Technology Holdings LLC | Method for coding pulse vectors using statistical properties |
GB2545503B (en) | 2015-12-18 | 2020-04-08 | Imagination Tech Ltd | Lossy data compression |
US10419781B2 (en) * | 2016-09-20 | 2019-09-17 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
WO2019091573A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters |
EP3483878A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
EP3483883A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio coding and decoding with selective postfiltering |
WO2019091576A1 (en) * | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EP3483880A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Temporal noise shaping |
EP3483886A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
CN110557221A (zh) * | 2018-05-31 | 2019-12-10 | 索尼公司 | 电子设备、通信方法、解码方法及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457551A (zh) * | 2001-03-05 | 2003-11-19 | 皇家菲利浦电子有限公司 | 压缩信号的设备和方法 |
CN101517551A (zh) * | 2006-09-12 | 2009-08-26 | 摩托罗拉公司 | 用于信号的低复杂度组合编码的装置和方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602961A (en) | 1994-05-31 | 1997-02-11 | Alaris, Inc. | Method and apparatus for speech compression using multi-mode code excited linear predictive coding |
US5692102A (en) | 1995-10-26 | 1997-11-25 | Motorola, Inc. | Method device and system for an efficient noise injection process for low bitrate audio compression |
US6236960B1 (en) * | 1999-08-06 | 2001-05-22 | Motorola, Inc. | Factorial packing method and apparatus for information coding |
US6662154B2 (en) | 2001-12-12 | 2003-12-09 | Motorola, Inc. | Method and system for information signal coding using combinatorial and huffman codes |
US6700513B2 (en) * | 2002-05-14 | 2004-03-02 | Microsoft Corporation | Method and system for compressing and decompressing multiple independent blocks |
US7230550B1 (en) | 2006-05-16 | 2007-06-12 | Motorola, Inc. | Low-complexity bit-robust method and system for combining codewords to form a single codeword |
JP2010503254A (ja) * | 2006-08-30 | 2010-01-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ信号を符号化する装置及び方法、並びにデータ信号を復号化する装置及び方法 |
WO2009027606A1 (fr) | 2007-08-24 | 2009-03-05 | France Telecom | Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites |
US20100088090A1 (en) | 2008-10-08 | 2010-04-08 | Motorola, Inc. | Arithmetic encoding for celp speech encoders |
-
2009
- 2009-10-28 US US12/607,418 patent/US7978101B2/en active Active
-
2010
- 2010-10-21 EP EP10776463A patent/EP2462698A1/en not_active Ceased
- 2010-10-21 CN CN201080051756.9A patent/CN102687403B/zh active Active
- 2010-10-21 EP EP16166558.3A patent/EP3065301A1/en not_active Ceased
- 2010-10-21 WO PCT/US2010/053521 patent/WO2011056446A1/en active Application Filing
- 2010-10-21 BR BR112012010017A patent/BR112012010017A2/pt not_active IP Right Cessation
- 2010-10-21 KR KR1020127010948A patent/KR101353170B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457551A (zh) * | 2001-03-05 | 2003-11-19 | 皇家菲利浦电子有限公司 | 压缩信号的设备和方法 |
CN101517551A (zh) * | 2006-09-12 | 2009-08-26 | 摩托罗拉公司 | 用于信号的低复杂度组合编码的装置和方法 |
Non-Patent Citations (1)
Title |
---|
CODING UNCONSTRAINED FCB EXCITATION USING COMBINATORIAL AND HUFFMAN CODES;Udar Mittal等;《Speech Coding, 2002, IEEE Workshop Proceedings》;20021009;全文 * |
Also Published As
Publication number | Publication date |
---|---|
BR112012010017A2 (pt) | 2016-05-24 |
US7978101B2 (en) | 2011-07-12 |
WO2011056446A1 (en) | 2011-05-12 |
EP2462698A1 (en) | 2012-06-13 |
KR20120073307A (ko) | 2012-07-04 |
CN102687403A (zh) | 2012-09-19 |
KR101353170B1 (ko) | 2014-01-17 |
EP3065301A1 (en) | 2016-09-07 |
US20110095920A1 (en) | 2011-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102687403B (zh) | 使用算术阶段压缩未充分利用的代码空间的编码器和解码器 | |
CN102577132B (zh) | 用于阶乘脉冲编码器的算术编码 | |
CN101425294B (zh) | 声音编解码与发送接收设备及编码方法、通信终端和基站 | |
CN101371294B (zh) | 用于信号处理的方法与用于信号处理的设备 | |
EP0910067B1 (en) | Audio signal coding and decoding methods and audio signal coder and decoder | |
US7289951B1 (en) | Method for improving the coding efficiency of an audio signal | |
CN101421780B (zh) | 用于编码和解码时变信号的方法和设备 | |
CN1787383B (zh) | 变换、编码、逆变换和解码音频信号的方法和设备 | |
KR100889750B1 (ko) | 오디오 신호의 무손실 부호화/복호화 장치 및 그 방법 | |
WO2005027094A1 (fr) | Procede et dispositif de quantification de vecteur multi-resolution multiple pour codage et decodage audio | |
CN1918630B (zh) | 量化信息信号的方法和设备 | |
CA3131695A1 (en) | Method and apparatus for generating from a coefficient domain representation of hoa signals a mixed spatial/coefficient domain representation of said hoa signals | |
CN104300991A (zh) | 确保最大比特率的无损信息编码 | |
CN101197576A (zh) | 一种音频信号编码、解码方法 | |
JP3344944B2 (ja) | オーディオ信号符号化装置,オーディオ信号復号化装置,オーディオ信号符号化方法,及びオーディオ信号復号化方法 | |
US20160189722A1 (en) | Acoustic signal coding apparatus, acoustic signal decoding apparatus, terminal apparatus, base station apparatus, acoustic signal coding method, and acoustic signal decoding method | |
US20120123788A1 (en) | Coding method, decoding method, and device and program using the methods | |
CN101160725A (zh) | 确保最大比特率的无损信息编码 | |
JP3092124B2 (ja) | 適応変換符号化の方法及び装置 | |
Kanawade et al. | Tree structured vector quantization based technique for speech compression | |
JP2778128B2 (ja) | 適応変換符号化の方法及び装置 | |
JP2638209B2 (ja) | 適応変換符号化の方法及び装置 | |
JP2890522B2 (ja) | 適応変換符号化の方法及び装置 | |
RU70000U1 (ru) | Устройство кодирования речевого сигнала в системах громкоговорящей связи | |
Gray | A Partial Hstry of Losy Compression. |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Illinois State Patentee after: MOTOROLA MOBILITY LLC Address before: Illinois State Patentee before: MOTOROLA MOBILITY, Inc. |
|
TR01 | Transfer of patent right |
Effective date of registration: 20160408 Address after: California, USA Patentee after: Google Technology Holdings LLC Address before: Illinois State Patentee before: MOTOROLA MOBILITY LLC |