音频编码中的率失真控制方案的制作方法

文档序号:2834636阅读:241来源:国知局
专利名称:音频编码中的率失真控制方案的制作方法
技术领域
本发明一般涉及音频编码。更具体地,本发明涉及用于数字数据编码的率失真(rate-distortion)控制方案。
版权公告/许可这个专利文档公开的一部分包含受版权保护的材料。版权所有者并不反对任何人影印复制该专利文档或专利公开文本,因为它出现在专利与商标局的专利文件或记录中,但是无论如何,在其它方面保留所有的版权权利。以下公告适用于如下所述的以及附图中的软件和数据Copyright2001,SonyElectronics,Inc.,All Rights Reserved。
背景技术
标准化主体即运动图像专家组(MPEG)在其标准中公开了传统的数据压缩方法,诸如例如MPEG-2高级音频编码(AAC)标准(参见ISO/IEC 13818-7)和MPEG-4 AAC标准(参见ISO/IEC 14496-3)。这些标准在此一起称为MPEG标准。
按照MPEG标准所规定的音频编码器接收输入脉码调制(PCM)信号,通过修改的离散余弦变换(MDCT)操作将其转换为频谱数据,以及利用率失真控制机制确定用于量化频谱数据的最佳比例因子。音频编码器还利用最佳比例因子来量化频谱数据,将所得到的被量化的频谱系数分组为比例因子带(band),并且随后将分组的被量化的系数进行霍夫曼(Huffman)编码。
按照MPEG标准,率失真控制机制迭代地操作,以选择能够产生满足两个主要要求的谱数据的比例因子。首先,量化噪声(音频质量)不可以超过所允许的失真,所允许的失真表示在没有变为可听得到的情况下能够被注入(injectinto)谱数据中的最大噪声量。所允许的失真通常基于人类听觉的心理声学模型来确定。其次,利用霍夫曼编码得到的被使用的比特数量不可以超过根据编码所规定的比特率所计算出的允许的比特数量。
率失真控制机制通常规定单独比例因子和公用比例因子。单独比例因子对于帧内不同的比例因子带而改变,而公用比例因子在帧内并不改变。按照MPEG标准,率失真控制处理迭代地递增初始(最小可能的)公用比例因子,以最小化霍夫曼编码所得到的被使用的比特数量和根据编码所规定的比特率所计算出的比特的允许数量之间的差。然后,率失真控制处理检查每个单独比例因子带的失真,并且如果超过允许的失真,则放大这些比例因子带,并且再次调用公用比例因子循环。重复这个率失真控制处理,直到被量化的频谱的噪声变得小于所允许的失真,并且量化所要求的比特数量变得低于可允许的比特数量。
上述的传统的率失真控制处理由于必须处理很大范围的可能的比例因子而进行了大量的计算。此外,当要求低比特率(低于每秒64k比特)时,它缺乏选择最佳比例因子的能力。

发明内容
确定与初始公用比例因子相关的初始比特数量,利用初始比特数量和目标比特数量计算初始增量,并根据初始增量递增该初始比例因子。还有,基于目标比特数量,调整递增的公用比例因子,以及基于被调整的公用比例因子和所允许的失真,计算单独比例因子。如果与计算出的单独比例因子相关的当前比特数量超过目标比特数量,则修改被调整的公用比例因子,直到得到的比特数量不再超过目标比特数量为止。


根据以下给出的详细说明以及根据本发明的各个实施例的附图,将更全面地理解本发明,然而,这些具体描述和附图不应被用于将本发明限定为特定的实施例,而仅仅用于解释和理解。
图1是编码系统的一个实施例的方块图。
图2是用于为帧内数据选择最佳比例因子的处理的一个实施例的流程图。
图3是用于调整公用比例因子的处理的一个实施例的流程图。
图4A-4C是用于在修改公用比例因子时使用增加比特/减少比特修改逻辑的处理的一个实施例的流程图。
图5是用于计算单独比例因子的处理的一个实施例的流程图。
图6是用于确定公用比例因子的最终值的处理的一个实施例的流程图。
图7是适用于实施本发明的实施例的计算机环境的方块图。
具体实施例方式
在下面的本发明实施例的详细说明中,参考附图,其中类似的参考标记表示相似的元件,并且其中以示意的方式示出了其中可以实施本发明的特定实施例。这些实施例利用充分详细的细节进行了描述,以使本领域技术人员能够实施本发明,并且应当理解,可以使用其它的实施例,并且在不脱离本发明的范围的情况下,可以进行逻辑的、机械的、电的、功能的以及其它的改变。因此,下面的详细说明并不是限定性的,并且本发明的范围仅利用所附的权利要求来规定。
利用本发明的操作的概述开始,图1示出了编码系统100的一个实施例。编码系统100符合在此处被统称为MPEG标准的MPEG音频编码标准(例如,MPEG-2 AAC标准,MPEG-4 AAC标准等)。编码系统100包括滤波器组模块102、编码工具104、心理声学建模器106、量化模块110以及霍夫曼编码模块114。
滤波器组模块102接收脉码调制(PCM)信号,利用窗函数对其进行调制,并且随后执行修改的离散余弦变换操作(MDCT)。该窗函数利用两种类型的操作来调制该信号,一种类型是长窗口型,其中为了改进的频率分辨率,将待分析的信号在时间上扩展,另一种类型是短窗口型,其中为了改进的时间分辨率,将待分析的信号在时间上缩短。长窗口类型用在其中只存在平稳信号的情况下,而在具有快速信号改变时,使用短窗口类型。通过根据待分析的信号的特性使用这两种类型的操作,有可能防止被称作前回声的令人不愉快的噪声的产生,否则,这会导致无效的时间分辨率。执行MDCT操作,以便将时域信号转换为多个频谱数据的采样。
编码工具104包括用于频谱处理的一组任选工具。例如,编码工具可以包括时间噪声成形(temporal noise shaping)(TNS)工具和预测工具。TNS工具可以用于控制每个变换窗口内噪声的临时形状并解决前回声问题。预测工具可以用于除去采样之间的相关性。
心理声学建模器106分析这些采样,以确定听觉掩蔽曲线(masking curve)。该听觉掩蔽曲线表示在没有变得能听到的情况下能够被注入每个相应采样中的最大噪声量。在这一方面什么是能听到的是基于人类听觉的心理声学模型的。听觉掩蔽曲线用作期望的噪声谱的估计。
量化模块110负责为频谱数据选择最佳比例因子。如下面将更详细讨论的,比例因子选择处理是基于根据掩蔽曲线计算出的允许失真和根据在编码时所规定的比特率计算出的可允许的比特数量(被称作目标比特数量)。一旦选出最佳比例因子,量化模块110就用它们来量化频谱数据。得到的被量化的频谱系数被分组为比例因子带(SFB)。每个SFB包括使用相同的比例因子所得到的系数。
霍夫曼编码模块114负责为每一组被量化的谱系数选择最佳的霍夫曼代码簿,并且利用最佳霍夫曼代码簿来执行霍夫曼—编码操作。得到的可变长度码(VLC)、标识用于编码中的代码簿的数据、由量化模块110选择的比例因子以及一些其它信息随后被汇编成比特流。
在一个实施例中,量化模块110包括率失真控制部分108和量化/去量化部分112。率失真控制部分108对于谱数据的每一帧执行迭代的比例因子选择处理。在这个处理中,率失真控制部分108为整个帧找出最佳的公用比例因子并且为该帧内的不同比例因子带找出最佳的单独比例因子。
在一个实施例中,率失真控制部分108通过将初始公用比例因子设置为前一帧或另一信道的公用比例因子的值来开始。量化/去量化部分112利用初始公用比例因子来量化帧内的谱数据,并将量化的谱数据传递给霍夫曼编码模块114,该霍夫曼编码模块114对量化的谱数据进行霍夫曼编码,以确定得到的VLC所使用的比特的数量。基于这个使用的比特数量以及根据在编码时所规定的比特率所计算出的目标比特数量,率失真控制部分108为初始公用比例因子确定第一增量。当第一增量被加到初始公用比例因子上时,被递增的公用比例因子产生相对接近目标比特数量的比特数量。然后,率失真控制部分108进一步调整被递增的公用比例因子,以获得更精确近似于目标比特数量的结果的使用比特数量。
还有,率失真控制部分108为帧内的比例因子带计算单独比例因子。如下面将更详细地讨论的,基于被调整的公用比例因子和所允许的失真,计算这些单独比例因子。在一个实施例中,每个单独比例因子的计算包括迭代修改每个单独比例因子,直到与特定的单独比例因子相关的能量误差(energy error)低于所允许的失真为止。在一个实施例中,由量化/去量化部分112通过利用给定的比例因子量化比例因子带的频谱数据、然后采用给定比例因子去量化这个被量化的数据、并且随后计算原始(被量化之前)的频谱数据和被去量化的谱数据之间的差来计算能量误差。
一旦计算出单独比例因子,率失真控制部分108就确定通过使用单独比例因子和被调整的公用比例因子所产生的比特的数量是否超过了目标比特数量。如果是这样的话,则率失真控制部分108进一步修改被调整的公用比例因子,直到得到的使用比特数量不再超过目标比特数量为止。因为计算出的单独比例因子产生期望的量化噪声形状的轮廓(profile),因此在修改被调整的公用比例因子时,这些单独比例因子不需要被重新计算。
图2-6是按照本发明的不同实施例可以由图1中的量化模块110执行的比例因子选择处理的流程图。该处理可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑等)、软件(诸如运行在通用计算机系统或专用机上)或两者的组合。对于软件实现的处理,流程图的说明使本领域技术人员能够开发出这样的程序,包括在适当配置的计算机(执行来自包括存储器的计算机可读媒体的指令的计算机的处理器)上完成这些处理的指令。计算机可执行指令可以采用计算机编程语言来撰写,或者可以被嵌入到固件逻辑中。如果采用符合公认标准的编程语言来撰写,则这样的指令可以在不同的硬件平台上执行,并且用于至各种操作系统的接口。此外,本发明的实施例并不参考任何特定编程语言来描述。应当理解,各种编程语言可以用于实现此处所述的教导。还有,本领域中公知的是以一种形式或另一种形式(例如,程序、过程、处理、应用、模块、逻辑……),将软件表述为采取一种动作或引起一种结果。这种表达方式仅仅是说到利用计算机的软件执行使得计算机的处理器执行一个动作或者产生一个结果的简化表达方式。将认识到,在不脱离本发明的范围的情况下,更多或更少的操作可以被结合到图2-6所示的处理中,并且在此处所示出和描述的方块(框)的安排并不暗示特定的顺序。
图2是用于为帧内的数据选择最佳比例因子的处理200的一个实施例的流程图。
参见图2,处理逻辑从为正被处理的帧内的数据确定初始公用比例因子开始(处理块202)。该帧数据可以包括频谱系数,诸如MDCT频谱系数。在一个实施例中,通过确保具有帧内具有最大绝对值的谱系数不等于0,并且随后将初始公用比例因子设置为前一帧或另一信道的公用比例因子,处理逻辑为该帧确定初始公用比例因子。例如,信道0中的初始公用比例因子可以被设置为前一帧的公用比例因子,并且信道1中的初始公用比例因子可以被设置为信道0的公用比例因子。如果帧中具有最大值的谱系数等于0,则处理逻辑将初始公用比例因子设置为可以利用实验方法确定的预定数(例如,30)。
接下来,处理逻辑利用初始公用比例因子来量化帧中的数据(处理块204),并且测试所得到的被量化的数据的有效性(判定框206)。在一个实施例中,如果其绝对值没有超过阈值(例如,按照MPEG标准的8191),则被量化的谱系数是有效的。如果所得到的被量化的数据不是有效的,则处理逻辑将初始公用比例因子递增可以根据实验方法确定的常量(例如,5)(处理块208)。
如果所得到的被量化的数据是有效的,则处理逻辑确定将由霍夫曼编码的被量化的数据所使用的比特数量(处理块210),基于所使用的比特数量以及目标比特数量,为初始公用比例因子计算第一增量(处理块212),并将第一增量加到初始公用比例因子(处理块214)。如上所讨论的,目标比特数量可以根据在编码时所规定的比特率计算出来。
在一个实施例中,利用以下表达式计算第一增量initial_increment=10*(initial_bits-target_bits)/target_bits,其中,initial_increment是第一增量,initial_bits是使用的比特数量,以及target_bits是目标比特数量。以上表达式被研究出(例如,在一系列实验期间),以提供针对实现使用的比特数量快速收敛到目标比特数量的动态递增方案。也就是,被递增的公用比例因子产生有可能相当靠近目标比特数量的使用比特数量。然而,所产生的使用比特数量可以仍然高于或低于目标比特数量。
接下来,处理逻辑进一步调整被递增的公用比例因子,以获得更精确近似于目标比特数量的结果的使用比特数量(处理块220)。调整处理的一个实施例将在下面结合图3更详细地进行讨论。
在处理块222上,处理逻辑利用被调整的公用比例因子和所允许的失真为帧内的比例因子带计算单独比例因子。在一个实施例中,基于从图1中的心理声学建模器106中得到的掩蔽曲线,计算允许的失真。用于计算单独比例因子的处理的一个实施例将在下面结合图5更详细地进行讨论。
还有,处理逻辑确定通过使用计算出的单独比例因子所产生的多个比特以及被调整的公用比例因子(处理块224),并确定这个使用的比特数量是否超过了目标比特数量(判定框226)。如果是的话,则处理逻辑进一步修改被调整的公用比例因子,直到所得到的使用比特数量不再超过目标比特数量(处理块226)。用于确定最终公用比例因子的处理的一个实施例将在下面结合图6更详细地进行讨论。如上所讨论的,当修改公用比例因子时,并不需要重新计算这些单独比例因子。
图3是用于调整公用比例因子的处理300的一个实施例的流程图。
参见图3,处理逻辑开始于利用当前公用比例因子量化帧数据(处理块302)。在一个实施例中,当前公用比例因子是在图2的处理块214上计算出的被递增的比例因子。
接下来,处理逻辑检查被量化的数据是否是有效的(判定框304)。如果否的话,则处理逻辑将当前比例因子递增一常量(例如,5)(处理块306)。如果是这样的话,则处理逻辑确定在霍夫曼编码时由被量化的谱数据所使用的比特的数量(处理块308)。
还有,处理逻辑确定使用的比特的数量是否超过了目标比特数量(判定框310)。如果否的话,那么可以将更多的比特加到在霍夫曼编码之后被传输的数据上。因此,处理逻辑利用增加比特修改逻辑来修改当前公用比例因子(处理块312)。如果在判定框310进行的确定为肯定的话,那么处理逻辑利用减少比特修改逻辑来修改当前公用比例因子(处理块314)。
图4A-4C是用于在修改公用比例因子时使用增加比特/减少比特修改逻辑的处理400的一个实施例的流程图。
参见图4A-4C,处理逻辑从将量化器改变字段的当前值设置为预定值(例如,4)并且初始化一组标记开始(处理块402)。该标记组包括表示用于改变使用比特数量的期望方向(即,这个数量是需要被增加还是被减少)的率改变标记(被称作“over_budget”)。此外,该组标记包括上越过(upcrossed)标记和下越过(downcrossed)标记。上越过标记表示希望被递增的使用比特的数量是否已超出(即,不再小于或等于)目标比特数量。下越过标记表示希望被减少的使用比特的数量是否已超出(即,不再大于)目标比特数量。
在判定框403上,处理逻辑确定量化器改变字段的当前值是否等于0。如果是的话,则处理400结束。如果不是的话,处理400继续处理逻辑,利用当前公用比例因子量化被处理的帧内的谱数据,并且确定在霍夫曼编码时由被量化的频谱数据所使用的比特的数量(处理块404)。
在判定框406,处理逻辑确定使用比特的数量是否低于目标比特数量。如果是的话,并且这不是第一迭代(判定框408),则率改变标记保持被设置为表示增加比特方向的值(例如,over_budget=1)。如果不是或者这是第一迭代(判定框408),则处理逻辑采用表示减少比特方向的值(例如,over_budget=0)来更新率改变标记(处理块410)。
还有,如果率改变标记表示增加比特方向(判定框412),则处理逻辑确定上越过标记是否被设置为1(判定框414)。如果是的话,则处理逻辑计算量化器改变字段的当前值为quantizer_change=quantizer_change>>1(处理块416),并确定使用比特的数量是否低于目标比特数量(判定框418)。如果是的话,则处理逻辑从当前公用比例因子中减去量化器改变字段的值(处理块420),并且继续至判定框404。如果不是的话,则处理逻辑将量化器改变字段的值加到当前公用比例因子(处理块422),并继续至判定框404。
如果上越过标记被设置为0(判定框414),则处理逻辑确定使用比特的数量是否低于目标比特数量(判定框424)。如果是的话,则处理逻辑从当前公用比例因子中减去量化器改变字段的当前值(处理块426),并继续至判定框404。如果不是的话,则处理逻辑将上越过标记设置为1,计算量化器改变字段的新值为quantizer_change=quantizer_change>>1,从当前公用比例因子中减去量化器改变字段的新值(处理块428),并且继续至判定框404。
如果率改变标记表示减少比特方向(判定框412),则处理逻辑确定下越过标记是否被设置为1(判定框430)。如果是的话,则处理逻辑计算量化器改变字段的当前值为quantizer_change=quantizer_change>>1(处理块432),并且确定使用比特的数量是否低于目标比特数量(判定框434)。如果不是的话,则处理逻辑将量化器改变字段的当前值加到当前公用比例因子(处理块436),并且继续至判定框404。如果是的话,则处理逻辑从当前公用比例因子中减去量化器改变字段的当前值(处理块438),并且继续至判定框404。
如果下越过标记被设置为0(判定框430),则处理逻辑确定使用比特的数量是否低于目标比特数量(判定框440)。如果不是的话,则处理逻辑将量化器改变字段的当前值加到当前公用比例因子(处理块442),并且继续至判定框404。如果是的话,则处理逻辑将下越过标记设置为1,计算量化器改变字段的新值为quantizer_change=quantizer_change>>1,从当前公用比例因子中减去量化器改变字段的新值(处理块444),并且继续至判定框404。
图5是用于计算单独比例因子的处理500的一个实施例的流程图。
参见图5,处理逻辑开始于第一单独比例因子,将其设置为公用比例因子的值,并且将当前增量字段设置为第一常量(例如,A=1)(处理块502)。然后,处理逻辑将这个单独比例因子递增当前增量值(处理块504),利用被递增的单独比例因子来量化相应的谱系数(处理块506),采用相同的单独比例因子来去量化被量化的系数(处理块508),以及基于原始(被预量化)的谱系数和被去量化的频谱系数之间的差,计算与这个单独比例因子相关的能量误差(处理块510)。
在判定框512上,处理逻辑确定计算的能量误差是否大于K*allowed_distortion_energy,其中K是常量,而allowed_distortion_energy是所允许的量化误差(也被称为允许的失真)。在一个实施例中,基于由图1中的心理声学建模器106所提供的掩蔽曲线,计算允许的失真。
如果在判定框512进行的确定是否定的话,则处理逻辑将当前增量字段设置为第一常量A(处理块514)。否则,处理逻辑将当前增量字段设置为第二常量B(例如,B=3)(处理块516)。在一个实施例中,参数A、B和K是根据实验方法确定的,选择有可能提供良好性能的值。
还有,处理逻辑确定计算的能量误差是否低于允许的失真(判定框518)。如果不是的话,则处理逻辑返回到处理块504,并且重复块504至518。如果是的话,则这个单独比例因子的值被认为是最终的,并且处理逻辑移至下一个单独比例因子(处理块522)。如果这个帧的所有比例因子都被处理了(判定框520),则处理500结束。
图6是用于确定公用比例因子的最终值的处理600的一个实施例的流程图。
参见图6,处理逻辑开始于将偏移字段的值设置为第一常量(例如,偏移=3)(处理块602)。接下来,利用计算的单个比例因子和当前公用比例因子,处理逻辑量化正被处理的帧内的谱数据(处理块604),并且确定在霍夫曼编码时被量化的数据所使用的比特的数量(处理块606)。
还有,处理逻辑确定所使用的比特的数量是否超过目标比特数量(判定框608)。如果是的话,则处理逻辑将偏移值加到当前公用比例因子(处理块610),将偏移值设置为第二常量(例如,偏移=1),并返回至处理块604。否则,如果所使用的比特的数量超过了目标比特数量,则处理600结束。
下面图7的说明旨在提供适于实现本发明的计算机硬件和其它操作组件的概述,而不是旨在限制可应用环境。图7示出了适于用作图1的编码系统100或者仅仅用作量化模块110的计算机系统的一个实施例。
计算机系统740包括处理器750、存储器755和输入/输出能力(capability)760,这些都被耦合到系统总线765上。存储器755被构造为存储指令,这些指令在由处理器750执行时执行此处所述的方法。输入/输出760还包含各种不同类型的计算机可读媒体,包括可由处理器750访问的任意类型的存储设备。本领域技术人员将立即认识到,术语“计算机可读介质/媒体”还包含对数据信号进行编码的载波。还将应当理解,系统740通过操作存储器755中的系统软件执行来控制。输入/输出和相关媒体760存储用于操作系统和本发明的方法的计算机可执行指令。图1中所示的量化模块110可以是被耦合到处理器750的单独组件,或者可以被嵌入由处理器750执行的计算机可执行指令中。在一个实施例中,计算机系统740可以是ISP(Internet Service Provider,因特网服务提供商)的一部分或者通过输入/输出760被耦合到ISP,以便通过因特网(Internet)发送或接收图像数据。很显然,本发明并不限于因特网接入和基于Internet web站点;也设想了直接耦合的和专用的网络。
应当理解,计算机系统740是具有不同结构的许多可能的计算机系统的一个例子。典型的计算机系统将通常包括至少一个处理器、存储器以及将存储器耦合到处理器的总线。本领域技术人员将立即理解,本发明可以采用其它计算机系统构造来实施,包括多处理器系统、小型计算机、大型计算机等等。本发明还能够在分布式计算环境中实施,在此环境中,由通过通信网络链接的远程处理设备来执行任务。
选择最佳比例因子的各个方面都已进行了描述。尽管此处已经示出并描述了特定的实施例,但是本领域技术人员将理解,为了实现相同目的而计算出的任何配置安排都可以替换所示的特定实施例。这个申请旨在覆盖本发明的任何修改或变化。
权利要求
1.一种方法,包括确定与初始公用比例因子相关的初始比特数量;利用初始比特数量和目标比特数量,计算初始增量;将初始公用比例因子递增初始增量;基于目标比特数量,调整被递增的公用比例因子;基于被调整的公用比例因子和允许的失真,计算多个单独比例因子;和如果与多个单独比例因子相关的当前比特数量超过了目标比特数量,则修改被调整的公用比例因子,直到结果的比特数量不再超过目标比特数量。
2.根据权利要求1的方法,还包括确定初始公用比例因子。
3.根据权利要求2的方法,其中确定初始公用比例因子包括选择帧内最大值的谱系数;如果最大谱系数等于0,则将初始公用比例因子设置为30;和如果最大谱系数不等于0,则将初始公用比例因子设置为先前的公用比例因子。
4.根据权利要求3的方法,其中先前的公用比例因子是前一帧中的公用比例因子和另一信道中的公用比例因子中的任意一个。
5.根据权利要求1的方法,其中初始增量利用以下表达式来计算initial_increment=10*(initial_bits-target_bits)/target_bits,其中initial_increment是初始增量,initial_bits是初始比特数量,以及target_bits是目标比特数量。
6.根据权利要求1的方法,其中调整被递增的公用比例因子包括利用被递增的公用比例因子,量化帧内的谱数据;确定被量化的谱数据是有效的;确定与被递增的公用比例因子相关的当前比特数量;如果当前比特数量超过了目标比特数量,则按照减少比特顺序改变被递增的公用比例因子;和如果当前比特数量未超过目标比特数量,则按照增加比特顺序改变被递增的公用比例因子。
7.根据权利要求6的方法,其中改变被递增的公用比例因子,直到当前增量等于0为止。
8.根据权利要求1的方法,其中计算多个单独比例因子包括重复地调整多个单独比例因子中的每一个,直到与被调整的多个单独比例因子中的每一个相关的能量误差低于允许的失真为止。
9.根据权利要求8的方法,其中调整多个单独比例因子中的每一个包括将多个单独比例因子中的每一个递增当前增量;计算与被递增的单独比例因子相关的能量误差;确定计算的能量误差的类型;如果计算的能量误差是第一类型,则将当前增量设置为第一常量;如果计算的能量误差是第二类型,则将当前增量设置为第二常量;和确定计算的能量误差是否低于允许的失真。
10.根据权利要求9的方法,其中确定计算的能量误差的类型包括如果error_energy(sb)>K*allowed_distortion,则确定计算的能量误差是第一类型;以及如果error_energy(sb)=<K*allowed_distortion,则确定计算的能量误差是第二类型,其中,error_energy(sb)是与被递增的单独比例因子相关的计算的能量误差,K是第三常量,并且allowed_distortion是允许的失真。
11.根据权利要求10的方法,其中第一常量、第二常量和第三常量的值是利用实验方法确定的。
12.根据权利要求1的方法,其中修改被调整的公用比例因子包括确定与多个单独比例因子相关的当前比特数量超过目标比特数量;将偏移值加到被调整的公用比例因子,以计算被修改的公用比例因子;以及计算与多个单独比例因子和被修改的公用比例因子相关的结果比特数量。
13.根据权利要求12的方法,还包括当被调整的公用比例因子被修改时,不重新计算多个单独比例因子。
14.一种提供指令的计算机可读媒体,这些指令当在处理器上被执行时使处理器执行包括如下步骤的方法确定与初始公用比例因子相关的初始比特数量;利用初始比特数量和目标比特数量,计算初始增量;将初始公用比例因子递增初始增量;基于目标比特数量,调整被递增的公用比例因子;基于被调整的公用比例因子和允许的失真,计算多个单独比例因子;和如果与多个单独比例因子相关的当前比特数量超过了目标比特数量,则修改被调整的公用比例因子,直到得到的比特数量不再超过目标比特数量。
15.根据权利要求14的计算机可读媒体,其中该方法还包括确定初始公用比例因子。
16.根据权利要求15的计算机可读媒体,其中确定初始公用比例因子包括选择帧内最大值的谱系数;如果最大谱系数等于0,则将初始公用比例因子设置为30;以及如果最大谱系数不等于0,则将初始公用比例因子设置为先前的公用比例因子。
17.根据权利要求16的计算机可读媒体,其中先前的公用比例因子是前一帧中的公用比例因子和另一信道中的公用比例因子中的任意一个。
18.一种计算机化的系统,包括存储器;和至少一个处理器,被耦合到存储器,至少一个处理器执行一组指令,该组指令使至少一个处理器确定与初始公用比例因子相关的初始比特数量;利用初始比特数量和目标比特数量,计算初始增量;将初始公用比例因子递增初始增量;基于目标比特数量,调整被递增的公用比例因子;基于被调整的公用比例因子和允许的失真,计算多个单独比例因子;和如果与多个单独比例因子相关的当前比特数量超过了目标比特数量,则修改被调整的公用比例因子,直到得到的比特数量不再超过目标比特数量。
19.根据权利要求18的系统,其中至少一个处理器执行一组指令,该组指令使至少一个处理器进一步确定初始公用比例因子。
20.根据权利要求19的系统,其中至少一个处理器通过包括以下的步骤来确定初始公用比例因子选择帧内最大值的谱系数;如果最大谱系数等于0,则将初始公用比例因子设置为30;以及如果最大谱系数不等于0,则将初始公用比例因子设置为先前的公用比例因子。
21.根据权利要求20的系统,其中先前的公用比例因子是前一帧中的公用比例因子和另一信道中的公用比例因子中的任意一个。
22.一种编码设备,包括霍夫曼编码模块,用于确定与初始公用比例因子相关的初始比特数量;和量化模块,用于利用初始比特数量和目标比特数量来计算初始增量;将初始公用比例因子递增初始增量;基于目标比特数量,调整被递增的公用比例因子;基于被调整的公用比例因子和允许的失真,计算多个单独比例因子;以及如果与多个单独比例因子相关的当前比特数量超过了目标比特数量,则修改被调整的公用比例因子,直到得到的比特数量不再超过目标比特数量。
23.根据权利要求22的设备,其中量化模块还用于确定初始公用比例因子。
24.根据权利要求23的设备,其中量化模块用于通过如下步骤确定初始公用比例因子选择帧内最大值的谱系数;如果最大谱系数等于0,则将初始公用比例因子设置为30;以及如果最大谱系数不等于0,则将初始公用比例因子设置为先前的公用比例因子。
25.一种设备,包括用于确定与初始公用比例因子相关的初始比特数量的装置;用于利用初始比特数量和目标比特数量来计算初始增量的装置;用于将初始公用比例因子递增初始增量的装置;用于基于目标比特数量来调整被递增的公用比例因子的装置;用于基于被调整的公用比例因子和允许的失真来计算多个单独比例因子的装置;以及用于在与多个单独比例因子相关的当前比特数量超过了目标比特数量时修改被调整的公用比例因子、直到所得到的比特数量不再超过目标比特数量的装置。
全文摘要
确定与初始公用比例因子相关的初始比特数量,利用初始比特数量和目标比特数量来计算初始增量,并将初始公用比例因子递增初始增量。进一步,基于目标比特数量,调整被递增的公用比例因子,以及基于被调整的公用比例因子和所允许的失真,计算多个单独比例因子。如果与计算的单独比例因子相关的当前比特数量超过了目标比特数量,则修改被调整的公用比例因子,直到结果的比特数量不再超过目标比特数量。
文档编号G10L19/02GK1867967SQ200480028195
公开日2006年11月22日 申请日期2004年9月23日 优先权日2003年9月29日
发明者J·雍 申请人:索尼电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1