专利名称:音频信号编码方法、程序及记录介质和音频信号编码装置的制作方法
技术领域:
本发明例如可应用于通过MPEG(运动图像专家组)1和MPEG2的第1层和第2层对音频信号进行编码的情况。与以往根据心理声学分析编码音频信号的实例相比,本发明通过预先对用于比特分配的评价标准排序、检测分配了比特的子带信号,以及当对重新算出的评价标准进行排序时部分改变最新排序结果的顺序,从而排序评价标准,能够降低处理的负担。
背景技术:
过去,感知编码(perceptual coding)作为音频信号编码处理已经众所周知。感知编码也被称作心理声学编码。感知编码在不向根据最小可听限制和掩蔽效应而难以感知的成分分配比特的情况下对音频信号进行编码,从而利用人类听觉特性有效地编码音频信号。MPEG1和MPEG2的第1层和第2层作为使用感知编码技术的编码方法而广为人知。
图16是示出用于对音频信号S1进行编码的编码器的方框图。该编码器1通过例如数字信号处理器构成。编码器1通过MPEG1的第1层或第2层或者MPEG2的第1层或第2层来编码音频信号S1,然后输出比特流S2。音频信号S1是多信道音频信号,例如,线性量化16位PCM(脉冲编码调制)数据或线性量化24位PCM数据。
编码器1中的子带分析滤波器组2由例如多相滤波器组构成。子带分析滤波器组2将音频信号S1的全部频带划分为32个频带(子带),对各个频带中的信号进行二次采样,然后输出子带信号。另外,在第1层中,在一帧中设置并处理音频信号S1的384个样本,而在第2层中,在一帧中设置并处理音频信号S1的1152个样本。
线性量化器3在动态比特分配单元4的控制下,对从子带分析滤波器组2输出的子带信号进行量化,然后输出经过量化的子带信号。比特压缩单元11对线性量化器3的输出数据进行比特压缩,然后输出经过比特压缩的数据。比特流形成单元5将补充信息(sideinformation)编码单元10的输出数据、CRC(循环冗余码校验)码等添加至比特压缩单元11的输出数据,然后输出比特流S2。
比例因子提取单元6检测从子带分析滤波器组2输出的每个子带信号的比例因子。比例因子是表示每个子带信号振幅最大值的系数。在第1层中,比例因子提取单元6将每个子带信号的12个样本设置为一个块,并针对每个块检测子带信号的各个样本值的绝对值的最大值。另外,比例因子提取单元6选择表示高于所检测的最大值的振幅值的比例因子,并从所选择的比例因子中选择表示最小振幅值的比例因子。
另一方面,在第2层中,像在第1层中一样,12个样本设置为一个块,并针对每个块检测比例因子。另外,检测出连续块的已检出比例因子之间的差,通过1~3个比特的传输图案(transmissionpattern)来代表差值的连续图案,并将传输图案与比例因子选择信息7一起输出。在第2层中,比例因子选择信息7和1~3个比特的传输图案作为每个块的比例因子传输。
快速傅立叶变换(FFT)单元8在第1层中以512个样本为单位、在第2层中以1024个样本为单位使音频信号S1经受快速傅立叶变换处理。
心理声学模型单元9利用预定的心理声学模型,根据快速傅立叶变换单元8的处理结果和通过比例因子提取单元6检测的比例因子,来计算每个子带的SMR(信号掩蔽比)。SMR是从各个子带信号获取的、从而得出用于各个子带信号比特分配的评价标准的每个子带信号的评价值。SMR为子带信号的最大振幅值和通过人类听觉或感知特性掩蔽的最大振幅值(掩蔽阈值)之间的比(信号掩蔽比)。
动态比特分配单元4计算可分配用于音频信号S1自身传输的比特量,并根据SMR来计算已算出的比特量中将要分配给各个子带的比特量。另外,动态比特分配单元4计算每个子带信号的量化比例。动态比特分配单元4控制线性量化器3以算出的要分配的比特量和算出的量化比例来对每个子带信号进行编码。另外,通过从可用比特总数中减去报头、CRC码、辅助码数据、及比特分配数据来获得可分配用于音频信号S1自身传输的比特量。
补充信息编码单元10接收被分配给每个子带信号的比特量、量化比例数据、比例因子数据等作为解码所需的输入数据,对所输入的数据进行编码,随后将结果输出至比特流形成单元5。
图17是简要表示动态比特分配单元4的处理的流程图。动态比特分配单元4针对音频信号S1的每个块执行该处理程序。
具体来说,开始该处理程序后,动态比特分配单元4根据在心理声学模型单元9中算出的SMR来计算每个子带信号的MNR(掩蔽噪声比)。MNR是用于向各个子带信号分配比特的评价标准。MNR通过从SNR(信噪比)[dB]中减去SMR[dB]来求得。另外,SNR为当通过例如n个比特执行量化时每个子带信号的SNR。由于在开始图17的处理后没有立刻将比特分配给每个子带信号,所以初始值应用于n。
接下来,动态比特分配单元4从步骤SP1前进至步骤SP2,此处,动态比特分配单元4搜索每个子带信号的MNR,检测具有最低值的MNR。在接下来的步骤SP3中,动态比特分配单元4计算将要分配给具有所检测出的MNR的子带信号的比特量,并将算出的比特量分配给该子带信号。在接下来的步骤SP4中,动态比特分配单元4确定是否完成了所有可分配比特的分配。当在步骤SP4中获得否定结果时,动态比特分配单元4重新计算在步骤SP3中被分配了比特的子带信号的MNR。随后,动态比特分配单元4返回步骤SP2。另一方面,当在步骤SP4中获得肯定结果时,动态比特分配单元4从步骤SP4前进至步骤SP5,结束处理程序。
图18和图19是详细表示图17中处理程序的流程图。另外,尽管图17中步骤SP4的处理在步骤SP3后执行,但图17是为了便于理解而描述了方便的处理程序。实际上,如图18和图19所示,相应于步骤SP3和步骤SP4的处理是以与图17的实例相反的顺序提供的。
具体来说,开始该处理程序后,动态比特分配单元4计算每个子带信号的MNR。动态比特分配单元4从步骤SP11前进至步骤SP12,此处,动态比特分配单元4将已经完成了分配的比特的总数(alloc_bit_total)初始化为0。
接下来,动态比特分配单元4前进至步骤SP13,此处,动态比特分配单元4初始化各种变量。另外,ch是用于识别音频信号S1的信道的变量。min_ch和min_sb分别为用于识别具有最小值的MNR的信道和子带信号的变量。min_mnr为MNR的最小值。动态比特分配单元4将ch初始化为0,将min_ch和min_sb初始化为-1,将min_mnr初始化为可能值的最大值MAX。
接下来,在步骤SP14中,动态比特分配单元4将用于识别子带信号的变量sb初始化为0。在接下来的步骤SP15中,动态比特分配单元4确定是否还没完成对由变量ch识别的信道的由变量sb识别的子带信号(used[ch][sb])的比特分配,并确定该子带信号的MNR值是否低于变量min_mnr的值。
另外,确定对于由变量ch识别的信道的由变量sb识别的子带信号(used[ch][sb])的比特分配还没完成的情况是已经完成分配的比特的总数(alloc_bit_total)超过可分配比特的总数(total_bit)的情况,或者是被分配给该子带信号的比特数超过可分配给一个子带信号的比特数的情况。另外,在联合立体声的情况下,当完成了对于相应信道的子带信号的比特分配时,确定完成了对于相应子带信号的比特分配。
当在步骤SP15中获得肯定结果时,动态比特分配单元4从步骤SP15前进至步骤SP16。在步骤SP16中,动态比特分配单元4将最小MNR值min_mnr更新为由变量ch和sb识别的信道和子带信号的MNR。另外,动态比特分配单元4用变量ch更新用于识别具有最小MNR值的信道的变量min_ch。进一步,动态比特分配单元4用变量sb更新用于识别具有最小MNR值的子带信号的变量min_sb。随后,动态比特分配单元4前进至步骤SP17。
另一方面,当在步骤SP15中获得否定结果时,动态比特分配单元4从步骤SP15直接前进至步骤SP17。在步骤SP17中,动态比特分配单元4确定变量sb的值是否低于子带总数(last_sb)的值。当在步骤SP17中获得肯定结果时,动态比特分配单元4前进至步骤SP18,此处,动态比特分配单元4将变量sb的值加1,从而将作为处理对象的子带信号变为随后的子带信号。然后,动态比特分配单元4返回步骤SP15。另一方面,当在步骤SP17中得到否定结果时,动态比特分配单元4从步骤SP17前进至步骤SP19。在步骤SP19中,动态比特分配单元4确定变量ch的值是否低于信道总数(last_ch)的值。当在步骤SP19中得到肯定结果时,动态比特分配单元4前进至步骤SP20,此处,动态比特分配单元4将变量ch的值加1,从而将作为处理对象的信道改变为随后的信道。随后,动态比特分配单元4返回步骤SP14。
通过步骤SP13~SP20的处理,动态比特分配单元4持续地改变信道和子带信号,并检测最小MNR值,从而执行上述参照图17所描述的步骤SP2的处理。当对所有信道和子带信号执行了步骤SP13~SP20的处理后,在步骤SP19中得到肯定结果。动态比特分配单元4从步骤SP19前进至步骤SP21(图19)。
在步骤SP21中,动态比特分配单元4确定用于识别具有最小MNR值的子带信号的变量min_sb是否维持在初始值(-1)。当变量min_sb被维持在初始值(-1)时,在步骤SP15中,对于所有信道的所有子带信号获得否定结果。在这种情况下,动态比特分配单元4从步骤SP21前进至步骤SP22,此处,动态比特分配单元4结束处理程序。另外,步骤SP21和步骤SP22对应于上述参照图17所描述的步骤SP3和步骤SP4。
另一方面,当在步骤SP21中得到否定结果时,动态比特分配单元4从步骤SP21前进至步骤SP23。在该步骤SP23中,动态比特分配单元4计算将要分配给由变量min_ch识别的信道的由变量min_sb识别的子带信号的比特数(alloc_bit)。
在接下来的步骤SP24中,动态比特分配单元4将在步骤SP23中算出的比特数(alloc_bit)与迄今为止已经完成分配的比特的总数(alloc_bit_total)相加,并确定相加值(alloc_bit_total+alloc_bit)是否低于可分配比特的总数(total_bit)。
当在步骤SP24中获得肯定结果时,动态比特分配单元4前进至步骤SP25,此处,动态比特分配单元4将相加值(alloc_bit_total+alloc_bit)设置为完成分配的比特的总数(alloc_bit_total)。另外,动态比特分配单元4将分配给由变量min_ch识别的信道的由变量min_sb识别的子带信号的比特数增加在步骤SP23中算出的比特数,将由变量min_ch识别的信道的由变量min_sb识别的子带信号所用的量化步长(quantization step)减少一步。进一步,动态比特分配单元4重新计算该子带信号的MNR,并将分配给该子带信号的比特数减1。
接下来,动态比特分配单元4前进至步骤SP26,其中,动态比特分配单元4确定已经被分配给子带信号的比特数是否超过了可分配给一个子带信号的比特数。当在步骤SP26中获得否定结果时,动态比特分配单元4从步骤SP26返回至步骤SP13。另一方面,当在步骤SP26中获得肯定结果时,动态比特分配单元4从步骤SP26前进至步骤SP27,其中,动态比特分配单元4将子带信号设置为比特分配完成状态。随后,动态比特分配单元4返回步骤SP13。而且,当在步骤SP24中获得否定结果时,动态比特分配单元4从步骤SP24前进至步骤SP27,其中,动态比特分配单元4设置子带信号为比特分配完成状态。随后,动态比特分配单元4返回步骤SP13。
通过步骤SP23~SP27的处理,动态比特分配单元4为具有通过步骤SP13~SP20所检测的最小MNR值的子带信号分配比特。因此,步骤SP23~步骤SP27相应于图17中的步骤SP4。
针对这种编码处理,日本专利公开Hei 8-123488等中提出了各种设备。
当在持续计算评价标准的情况下向每个子带信号分配比特时,每次当已经将比特分配给一个子带信号后,要再次搜索所有子带信号的MNR来检测最小值。因此,过去的编码处理存在具有严重处理负担的问题。
发明内容
鉴于上述问题提出本发明,期望提供一种当根据心理声学分析对音频信号进行编码时,与现有实例相比能够降低处理负担的音频信号编码方法、音频信号编码方法的程序、其上记录有音频信号编码方法的程序的记录介质、及音频信号编码装置。
根据本发明的实施例,提供一种用于将音频信号划分为多个子带信号、根据心理声学分析为子带信号分配比特、并对音频信号进行编码的音频信号编码方法,该音频信号编码方法包括以下步骤根据心理声学分析,计算用于为每个子带信号分配比特的评价标准;对评价标准排序;及通过重复比特分配步骤、评价标准重新计算步骤、和重新排序步骤为多个子带信号分配比特。在该音频信号编码方法中,比特分配步骤是从多个子带信号中选择一个子带信号、并根据排序步骤的排序结果和重新排序步骤的排序结果中的一个为子带信号分配比特的步骤,评价标准重新计算步骤是重新计算在比特分配步骤中被分配了比特的子带信号的评价标准的步骤,重新排序步骤是将在评价标准重新计算步骤中算出的评价标准应用于相应的子带信号并对评价标准排序的步骤,并且重新排序步骤通过部分改变在紧前一步的比特分配步骤中比特分配所使用的排序结果的顺序来对评价标准排序。
根据本发明的实施例,提供了一种音频信号编码方法的程序,该音频信号编码方法将音频信号划分为多个子带信号、根据心理声学分析为子带信号分配比特并对音频信号进行编码,该程序通过运算处理装置执行,该程序包括以下步骤根据心理声学分析,计算用于为每个子带信号分配比特的评价标准;对评价标准排序;及通过重复比特分配步骤、评价标准重新计算步骤、及重新排序步骤为多个子带信号分配所述比特。在该程序中,比特分配步骤是从多个子带信号中选择一个子带信号、并根据排序步骤的排序结果和重新排序步骤的排序结果中的一个为子带信号分配比特的步骤,评价标准重新计算步骤是重新计算在比特分配步骤中被分配了比特的子带信号的评价标准的步骤,重新排序步骤是将在评价标准重新计算步骤中算出的评价标准应用于相应的子带信号并对评价标准排序的步骤,并且重新排序步骤通过部分改变在紧前一步的比特分配步骤中比特分配所使用的排序结果的顺序来对评价标准排序。
根据本发明的实施例,提供一种其上记录有音频信号编码方法的程序的记录介质,该音频信号编码方法将音频信号划分为多个子带信号、根据心理声学分析为子带信号分配比特并对音频信号进行编码,该程序通过运算处理装置执行,该程序包括以下步骤根据心理声学分析,计算用于为每个子带信号分配比特的评价标准;对评价标准排序;及通过重复比特分配步骤、评价标准重新计算步骤、及重新排序步骤为多个子带信号分配所述比特。在该程序中,比特分配步骤是从多个子带信号中选择一个子带信号、并根据排序步骤的排序结果和重新排序步骤的排序结果中的一个为子带信号分配比特的步骤,评价标准重新计算步骤是重新计算在比特分配步骤中被分配了比特的子带信号的评价标准的步骤,重新排序步骤是将在评价标准重新计算步骤中算出的评价标准应用于相应的子带信号并对评价标准排序的步骤,并且重新排序步骤通过部分改变在紧前一步的比特分配步骤中比特分配所使用的排序结果的顺序来对评价标准排序。
根据本发明的实施例,提供了一种音频信号编码装置,用于将音频信号划分为多个子带信号、根据心理声学分析为子带信号分配比特并对音频信号进行编码。在该音频信号编码装置中,根据心理声学分析计算用于为每个子带信号分配比特的评价标准;对评价标准进行排序;通过重复比特分配、评价标准重新计算、及重新排序为多个子带信号分配比特;在比特分配中,从多个子带信号中选择一个子带信号,并根据排序的排序结果和重新排序的排序结果中的一个为子带信号分配比特;在评价标准重新计算中,重新计算在比特分配中被分配了比特的子带信号的评价标准;在重新排序中,将在评价标准重新计算中算出的评价标准应用于相应的子带信号,并对评价标准排序;并且在重新排序中,通过部分改变在紧前一步的比特分配中比特分配使用的排序结果的顺序来对评价标准排序。
根据上述实施例的结构,预先对用于比特分配的评价标准排序,并检测分配了比特的子带信号。当要对重新算出的评价标准进行排序时,能够通过部分改变最近排序结果的顺序来对评价标准排序。因此,能够通过与现有实例相比更简单的处理来检测分配了比特的子带信号。因此,当根据心理声学分析编码音频信号时,与现有实例相比,能够降低处理负载。
根据本发明,当根据心理声学分析编码音频信号时,与现有实例相比,能够降低处理负载。
图1是根据本发明第一实施例的编码器中的动态比特分配单元4的处理程序的流程图;图2A、2B和2C是辅助说明图1的处理程序的示意图;图3A、3B和3C是示出接续图2A、2B和2C的状态的示意图;图4A、4B和4C是示出接续图3A、3B和3C的状态的示意图;图5是表示图1的处理程序中的步骤SP42及相关处理的细节的流程图;图6是表示图1中的步骤SP43、SP44和SP46的处理程序的细节的流程图;图7A、7B和7C是辅助说明图6的处理程序的示意图;图8是表示图1中步骤SP45的处理的细节的流程图;图9是根据本发明第二实施例的编码器中的动态比特分配单元4的处理程序的流程图;图10A、10B和10C是辅助说明图9的处理程序的示意图;图11A、11B和11C是示出接续图10A、10B和10C的状态的示意图;图12是表示图9的处理程序中的步骤SP100的处理细节的流程图;
图13是辅助说明噪声出现的特性曲线图;图14是辅助说明噪声防止的特性曲线图;图15是根据本发明第三实施例的编码器中的动态比特分配单元4的处理程序的流程图;图16示出了编码器的方框图;图17是以往编码器中的动态比特分配单元4的处理程序的流程图;图18是表示图17的处理程序的细节的流程图;以及图19是接续图18的流程图。
具体实施例方式
下文中,将适当参照附图详细描述本发明的优选实施例。
(1)实施例的构成与图17相比,图1是根据本发明第一实施例的编码器中的动态比特分配单元4的处理程序的流程图。除了根据第一实施例的编码器中的动态比特分配单元4的处理程序不同之外,根据第一实施例的编码器以与上文参照图16描述的编码器相同的方式构成。因此,将适当地使用图16的结构来进行下面的说明。
动态比特分配单元4对音频信号S1中设置的每个块执行处理程序,从而向每个子带信号分配比特。开始该处理程序,如上面参照图17所述,动态比特分配单元4计算每个子带信号的MNR。然后,动态比特分配单元4从步骤SP41前进至步骤SP42,此处,动态比特分配单元4以升序方式排序所算出的MNR。
如图2A、2B和2C所示,动态比特分配单元4在未示出的存储器中确保一定区域,按照MNR,针对所有信道的所有子带信号对包括MNR(p_mnr(图2B))、用于识别检测出了MNR的信道和子带信号的索引index(图2A)、及表示索引index的处理状态的状态used(图2C)的组合进行排序,随后将结果存储在存储器中。状态(used)的0值表示没有分配比特的状态;状态(used)的1值表示被分配了比特的状态;而状态(used)的2值表示完成了比特分配的状态。所设定的一定区域具有足够的自由空间,从而存储所有信道的所有子带信号的包括索引index、状态used、及MNR的组合,并重复随后将描述的步骤SP44的处理。
因此,在图2A、2B和2C的实例中,存储空间中由变量no=0识别的开头区域中存储的是index=4、p_mnr=20、及used=0的组合。下文中,存储器中记录的MNR、用于识别检测出了MNR的信道和子带信号的索引index、及表示索引index的处理状态的状态used的组合将被适当地称作MNR组合。变量no识别MNR组合。
接下来,动态比特分配单元4前进至步骤SP43,在该步骤中,动态比特分配单元4检测在排序结果的开头处所记录的具有最低值的MNR。另外,根据检测出的MNR的索引index,动态比特分配单元4为相应信道的子带信号分配比特,然后重新计算被分配了比特的子带信号的MNR。
随后,动态比特分配单元4前进至步骤SP44,此处,动态比特分配单元4确定是否完成了所有可分配比特的分配。当在步骤SP44中得到否定结果时,动态比特分配单元4前进至步骤SP45。在该步骤SP45中,动态比特分配单元4采用步骤SP44中重新算出的MNR,对存储器中记录的MNR进行再排序。
如图3A、3B和3C所示,在步骤SP44的排序处理中,动态比特分配单元4通过部分改变迄今为止的排序结果的顺序来对MNR排序。具体来说,动态比特分配单元4在记录有排序结果的存储器中,如箭头所示将迄今为止的排序结果的组合连续移向末端,直至检测到具有低于重新算出的MNR的值的MNR。当检测到具有低于重新算出的MNR的值的MNR时,动态比特分配单元4将包括重新算出的MNR的组合记录在通过移动组合而得到的自由空间中。因此,图3A、3B和3C的实例是这样的一种情况向存储空间的开头区域中存储的index=4的子带信号分配比特,通过重新计算MNR得到值44,将no=7~9的组合的记录一个接一个地移向末端,然后将重新计算的结果记录到通过移动组合得到的no=7的自由空间中。如阴影所示,在重新计算并排序MNR后,动态比特分配单元4从随后处理的对象中排除包括重新计算前的MNR的记录。
在完成步骤SP45的处理后,动态比特分配单元4返回步骤SP43,此处,动态比特分配单元4从通过步骤SP45中的排序获得的排序结果中,检测出在处理对象的开头记录的具有最低值的MNR。因此,在图3A、3B和3C的实例中,通过no=1识别的index=9的MNR被检测为具有最低值的MNR。因此,在这种情况下,如图4A、4B和4C所示,动态比特分配单元4在步骤SP43中为index=9的子带信号分配比特,并重新计算MNR,随后在步骤SP45中进一步排序MNR。另外,图4A、4B和4C示出了通过index=9的子带信号的重新计算而获得具有值32的MNR的情况。另外,如将在后面描述的一样,当作为在步骤SP43中分配比特的结果而完成了对被分配了比特的子带信号的比特分配时,动态比特分配单元4省去步骤SP45的处理,并重复步骤SP43的处理。
图5是表示图1的处理程序中的步骤SP42及相关处理的细节的流程图。开始该处理程序,例如,当以一个比特执行量化时,动态比特分配单元4计算每个子带信号的MNR。随后,动态比特分配单元4从步骤SP51前进至步骤SP52。
在步骤SP52中,动态比特分配单元4将表示已经完成分配的比特的数目的比特总数(alloc_bit_total)初始化为0值。另外,为了与现有实例的表达一致,在下文中,索引index将为ch=index/last_sb,并且sb=index%last_sb。因此,p_mnr[index]表示与mnr[ch][sb]相同的值。另外,%表示用于求余数的余数计算,ch和sb为识别信道和子带信号的变量。
接下来,动态比特分配单元4前进至步骤SP53,此处,动态比特分配单元4将各个变量no和变量sort_num初始化为0值。另外,变量sort_num表示将被排序的对象数。图5表示的处理中的变量no表示排序对象。
接下来,动态比特分配单元4前进至步骤SP54,此处,动态比特分配单元4确定变量no的值是否低于通过将信道的总数last_ch乘以子带的总数last_sb获得的乘积值last_ch×last_sb,从而确定是否没有完成所有排序对象的处理。
当在步骤SP54中获得肯定结果时,动态比特分配单元4前进至步骤SP55。在步骤SP55中,动态比特分配单元4将变量no转换成用于识别信道和子带信号的变量ch和变量sb。
在接下来的步骤SP56中,动态比特分配单元4确定由变量ch所识别的信道的由变量sb识别的子带信号的状态used[ch][sb],从而确定是否完成了对该子带信号的比特分配。
当在步骤SP56中获得否定结果时,动态比特分配单元4前进至步骤SP57。在步骤SP57中,动态比特分配单元4将通过变量no识别的MNR组合存储在迄今为止存储在存储器中的MNR组合的末端的随后的区域sort_num中。另外,order[x]=y表示由no=y识别的组合存储在从存储空间的开头侧开始的第x个区域中,或者说,由no=y所识别的组合被载入从存储空间的开头侧开始的第x个区域中。在本实施例中,在步骤SP57中被存储在存储器中的MNR组合为排序对象。另外,动态比特分配单元4将用于通过存储空间中的记录顺序来识别与排序对象进行比较的比较对象的变量m设置为sort_num-1,从而将存储在紧接排序对象之前位置处的MNR组合设置为比较对象。动态比特分配单元4还将表示排序数的变量sort_num加1。通过执行步骤SP57的处理,动态比特分配单元4准备好排序。
接下来,动态比特分配单元4前进至步骤SP58,此处,动态比特分配单元4确定变量m是否大于0。当排序对象为记录在存储空间开头处的MNR组合时,该组合之前没有MNR组合记录,因此无比较对象。另外,在将比较对象从末尾端连续改变至开头端并且第一MNR组合成为比较对象后,没有比较对象。因此,在这些情况下,动态比特分配单元4在步骤SP58中获得否定结果,然后从步骤SP58前进至步骤SP59。
在步骤SP59中,动态比特分配单元4将排序对象的组合记录在存储空间的开头(order
=no)。
接下来,动态比特分配单元4前进至步骤SP60,此处,动态比特分配单元4将变量no加1,随后返回步骤SP54。
另一方面,当在步骤SP58中获得肯定结果时,动态比特分配单元4前进至步骤SP61。在步骤SP61中,动态比特分配单元4确定由变量no识别的组合的MNR(p_mnr[no])是否低于由变量m识别的组合的MNR(p_mnr[order[m]]),即,排序对象的MNR是否低于比较对象的MNR。
当在步骤SP61中获得肯定结果时,动态比特分配单元4前进至步骤SP62,此处,动态比特分配单元4将存储空间中比较对象的记录向末尾端移动1(order[m+1]=order[m])。另外,动态比特分配单元4将变量m减1,从而将比较对象变为紧前位置处记录的组合。随后,动态比特分配单元4返回步骤SP58。
另一方面,当在步骤SP61中获得否定结果时,动态比特分配单元4从步骤SP61前进至步骤SP63,此处,动态比特分配单元4将排序对象的组合记录在移动比较对象前的记录位置(order[m+1]=no)。随后,动态比特分配单元4前进至步骤SP60。
动态比特分配单元4通过执行步骤SP53~SP63的处理,将MNR组合连续存储在存储空间中。此时,每一次将一个组合存储在存储器中时,如上述参照图3A、3B和3C所述,在存储空间中将已经存储的组合连续地移向末尾端,直至检测到具有低于将要存储的MNR的值的MNR,然后在作为结果创建的自由空间中存储MNR组合,从而执行排序处理。
当完成排序处理时,动态比特分配单元4在步骤SP54中获得否定结果,随后前进至步骤SP43。
图6是表示图1中步骤SP43、SP44及SP46的处理程序的细节的流程图。另外,尽管在图1中步骤SP44的处理在步骤SP43后执行,但是图1为了便于理解而描述了方便的处理程序。实际上,该处理程序以图6所示的顺序执行。具体来说,开始处理程序,动态比特分配单元4前进至步骤SP71,此处,动态比特分配单元4将变量no初始化为0。
接下来,动态比特分配单元4前进至步骤SP72,此处,动态比特分配单元4确定变量no的值是否低于排序数sort_num,从而确定是否结束处理。当变量no等于或大于排序数sort_num时,动态比特分配单元4从步骤SP72前进至步骤SP73,此处,动态比特分配单元4结束处理程序。因此,步骤SP72和步骤SP73相应于上文参照图1所述的步骤SP44和步骤SP46。
另一方面,当变量no的值低于排序数sort_num时,动态比特分配单元4从步骤SP72前进至步骤SP74。在步骤SP74中,动态比特分配单元4检测在存储空间中由变量no识别的组合的索引index(index=order[no]),并将索引index转换为识别信道和子带信号的变量min_ch和min_sb(min_ch=index/last_sb并且min_sb=index%last_sb)。因此,在这种情况下,在处理对象中检测出在存储空间的开头区域经过排序并记录的具有最低值的MNR。
接下来,动态比特分配单元4前进至步骤SP75,此处,动态比特分配单元4确定针对步骤SP74中检测出的索引index的组合所设置的状态used[min_ch][min_sb],从而确定是否完成了对索引index的子带信号的比特分配。
当在步骤SP75中获得肯定结果时,动态比特分配单元4从步骤SP75前进至步骤SP76,此处,动态比特分配单元4将变量no加1。随后,动态比特分配单元4返回步骤SP72。另一方面,当在步骤SP75中获得否定结果时,动态比特分配单元4从步骤SP75前进至步骤SP77。
因此,动态比特分配单元4以步骤SP71、SP72、SP74及SP75的顺序来执行处理,并且当在步骤SP75中获得肯定结果时,动态比特分配单元4以步骤SP76、SP72、SP74及SP75的顺序进一步执行处理。从而,动态比特分配单元4从存储器中被记录为处理对象的组合中,检测出没有完成比特分配并且具有在最靠前位置处记录的最低MNR的组合。
当检测具有最低MNR的组合时,动态比特分配单元4从步骤SP75前进至步骤SP77,此处,动态比特分配单元4计算要分配给具有最低MNR的组合的子带信号(在步骤SP74中所检测的子带信号)的比特量(alloc_bit)。在接下来的步骤SP78中,动态比特分配单元4将算出的比特量(alloc_bit)与比特总数(alloc_bit_total)相加,并确定相加值(alloc_bit_total+alloc_bit)是否低于可分配的比特总数(total_bit)。
当在步骤SP78中得到肯定结果时,动态比特分配单元4前进至步骤SP79,此处,动态比特分配单元4将相加值(alloc_bit_total+alloc_bit)设置为完成分配的比特的总数(alloc_bit_total)。另外,动态比特分配单元4将由变量no识别的组合的状态used设置为表示比特被分配的状态的值1。然后,动态比特分配单元4将在步骤SP77中算出的比特数与分配给由变量no识别的组合的子带信号的比特数相加,并重新计算MNR。然后,动态比特分配单元4将由变量min_ch识别的信道的由变量min_sb识别的子带信号的量化步长减少1步。然后,动态比特分配单元4将分配给子带信号的比特数减1。
接下来,在步骤SP80中,动态比特分配单元4确定已经被分配给由变量no识别的组合的子带信号的比特数是否超过可分配给一个子带信号的比特数,从而确定是否完成了子带信号的比特分配。
当在步骤SP80中得到肯定结果时,动态比特分配单元4前进至步骤SP81,此处,动态比特分配单元4将在步骤SP79中状态used已经被设置为值1的组合的状态used改变为表示完成了比特分配的值2。随后,动态比特分配单元4返回步骤SP76。
因此,当完成了对在步骤SP79中被分配了比特的子带信号的比特分配时,动态比特分配单元4从步骤SP81前进至步骤SP76。如用于与图4A、4B和4C比较的图7A、7B和7C所示,在这种情况下,将比特分配给具有下一个最低MNR的子带信号,而不用执行排序处理,从而减少了排序数。另外,图7A、7B和7C示出了索引index=5的子带信号被检测为具有最低MNR并完成了子带信号比特分配的子带信号的情况。在这种情况下,不执行索引index=5的子带信号的排序,并将比特分配给索引index=8的下一个子带信号。
图8是表示图1中步骤SP45的处理细节的流程图。开始该处理程序后,动态比特分配单元4前进至步骤SP84,此处,动态比特分配单元4将先前步骤SP79中被分配了比特的子带信号的组合存储在存储于存储器中的MNR组合的末端的随后区域sort_num中(order[sort_num]=index)。另外,动态比特分配单元4将存储在末尾端随后的位置处的组合设置为排序对象。然后,动态比特分配单元4将用于识别比较对象的变量m设置为sort_num-1,从而将排序对象紧前位置处记录的MNR组合设置为比较对象。然后,动态比特分配单元4将变量sort_num加1。
接下来,动态比特分配单元4前进至步骤SP85,此处,动态比特分配单元4确定变量m是否高于值no+1。在将比较对象从末尾端连续改变至开头端,并且位于处理对象开头处的MNR组合变为比较对象后,不存在比较对象。因此,在这些情况下,动态比特分配单元4在步骤SP85中得到否定结果,并从步骤SP85前进至步骤SP86。
在步骤SP86中,动态比特分配单元4将排序对象的组合记录在存储空间的第(no+1)位置处(order[no+1]=index)。另外,该组合的MNR是步骤SP79中重新算出的MNR。另外,在步骤SP86中,当设置排序对象的组合的记录位置(order[])并设置变量sort_num,使得对于在先前步骤SP80中获得肯定结果并这样完成了比特分配的子带信号不被包括为随后排序处理中的比较对象时,能够进一步降低处理负担。
接下来,动态比特分配单元4前进至步骤SP87,此处,动态比特分配单元4将变量no加1。动态比特分配单元4返回步骤SP72(图6)。
另一方面,当在步骤SP85中获得肯定结果时,动态比特分配单元4前进至步骤SP88。在步骤SP88中,动态比特分配单元4确定由索引index识别的排序对象的MNR(p_mnr[index])是否低于由变量m识别的组合的MNR(p_mnr[order[m]])。
当在步骤SP88中获得肯定结果时,动态比特分配单元4前进至步骤SP89,此处,动态比特分配单元4将存储空间中比较对象的记录向末尾端移动1(order[m+1]=order[m])。另外,动态比特分配单元4将变量m减1,从而将比较对象变成记录在紧前位置处的组合。随后,动态比特分配单元4返回步骤SP85。
另一方面,当在步骤SP88中获得否定结果时,动态比特分配单元4从步骤SP88前进至步骤SP90,此处,动态比特分配单元4将排序对象的组合记录在比较对象紧后的记录位置处(order[m+1]=index)。随后,动态比特分配单元4前进至步骤SP87。
(2)实施例的操作通过上述构成,在根据本实施例的编码器中(见图16),子带分析滤波器组2将连续输入的音频信号S1划分为多个子带信号,并且线性量化器3量化每个子带信号。比特压缩单元11对量化处理的结果进行比特压缩,随后,比特流形成单元5将比特压缩结果转换成比特流S2,并输出比特流S2。快速傅立叶变换单元8使音频信号S1经受快速傅立叶变换处理。心理声学模型单元9分析快速傅立叶变换处理的结果,并检测每个子带信号的SMR(信号掩蔽比)。动态比特分配单元4根据信号掩蔽比SMR来确定音频信号S1的每个子带信号的MNR(掩蔽噪声比),并根据MNR来确定比特分配和量化比例。线性量化器3通过该比特分配及量化比例来执行量化处理。
动态比特分配单元4中的比特分配处理通过重复从分配比特的多个子带信号中检测具有最低值的MNR的处理和为检测出的子带信号分配比特并重新计算MNR的处理、及为每个信道的每个子带信号分配所有可分配比特来执行。另外,设置每个子带信号的量化比例,从而对应于该比特分配。
在本实施例中,动态比特分配单元4(图1)首先以MNR的升序来排序各个子带的MNR,并向具有记录在排序结果开头处的MNR的子带信号分配比特(图2A、2B和2C)。重新计算并重新排序被分配了比特的子带信号的MNR(图3A、3B和3C)。向具有记录在经过重新排序的MNR的开头处的MNR的子带信号分配比特。动态比特分配单元4重复重新计算和重新排序MNR的处理以及向具有记录在经过重新排序的MNR的开头处的MNR的子带信号分配比特的处理,从而为每个信道的每个子带信号分配所有比特。
因此,动态比特分配单元4预先执行排序,随后检测分配了比特的子带信号。因此,与现有实例相比,能够更快地检测分配了比特的子带信号。
具体来说,首先根据初始设置来计算音频信号S1的MNR,并在存储器中一个接一个地存储并排序所算出的MNR、索引index及状态used的组合(图5)。
此时,在已经被存储在存储器中的一行MNR组合的末端处存储一个MNR组合(步骤SP57(图5)),并改变该MNR组合与被存储在紧前位置处的组合之间的排列顺序,直至检测到具有更低值的MNR为止(以步骤SP58、SP61、SP62、SP58、...、SP58、SP61及SP63的顺序,或以步骤SP58、SP61、SP62、SP58、...、SP58及SP59的顺序(图5)),从而执行排序。
作为排序结果,存储在开头处的MNR组合包括具有最低值的MNR,并向位于开头处的组合的信道和子带信号分配比特(以步骤SP71和SP74、SP75及SP77的顺序(图6))。
另外,对于重新算出的MNR,从处理对象中排除已经存储在存储器中的相应MNR,并在已经存储在存储器中的一行MNR组合的末端处存储该重新算出的MNR(步骤SP84(图8))。直至检测到具有更低值的MNR时,改变该MNR组合与存储在紧前位置处的组合之间的排列顺序,从而执行排序(以步骤SP85、SP88、SP89、SP88、...、SP85、SP88及SP87的顺序,或以步骤SP85、SP88、SP89、SP88、...、SP85及SP90的顺序(图8))。
作为重新算出的MNR的排序结果,存储在开头处的MNR组合包括具有最低值的MNR,并向位于开头处的组合的信道和子带信号分配比特(以步骤SP71和步骤SP74、SP75及SP77的顺序(图6))。
因此,当完成对位于排序结果开头处的组合的子带信号的比特分配时,能够为排序结果中的下一个组合的子带信号分配比特(以步骤SP56、SP60、SP54、SP55、SP56及SP57的顺序(图5))。因此,能够减少作为处理进程的排序次数,并且能够简化对能够被分配比特的子带信号的最小MNR的检测处理。
尽管预先排序了MNR并快速检测出最小MNR,但是在本实施例中对MNR进行了排序,因此,看起来处理负担与现有实例的处理负担没有什么不同。然而,在本实施例中,当要对重新算出的MNR进行排序时,将该重新算出的MNR的组合存储在已经存储在存储器中的排序结果的末端处,之后改变该重新算出的MNR的组合与存储在紧前位置处的组合之间的排列顺序,直至检测到具有更低值的MNR位置,由此执行排序。因此,有效地利用了迄今为止的排序结果。因此,总体看来,与现有实例相比,能够降低处理负担。实际上,当像本实施例中一样执行排序处理及比特分配时,与通过现有实例执行的处理相比,编码器的处理量总体上能够降低52[%]。
(3)实施例的效果根据上述构成,预先对MNR排序并检测分配了比特的子带信号。当要对重新算出的MNR进行排序时,将该重新算出的MNR的组合存储在已经被存储在存储器中的一行MNR组合的末尾端处,此后,改变该重新算出的MNR的组合与存储在紧前位置处的组合之间的排列顺序,直至检测到具有更低值的MNR,从而执行排序。因此,能够有效地利用迄今为止的排序结果,并且通过部分地改变迄今为止的排序结果的顺序来排序MNR。因此,与现有实例相比,能够降低处理负担。
图9是表示根据本发明第二实施例的编码器中的动态比特分配单元4的处理程序的流程图,用于与图1进行比较。除了根据第二实施例的编码器中的动态比特分配单元4的处理程序不同之外,根据第二实施例的编码器以与参照图16如上所述的编码器相同的方式构成。因此,将适当使用图16的结构来进行下面的说明。另外,除了步骤SP100中重新排序处理不同之外,动态比特分配单元4以与上文参照图1所述的编码器中相同的方式构成。因此,在下面的说明中,与在第一实施例中所描述的动态比特分配单元4的处理相同的处理用相同的附图标号表示,并将省去其重复的说明。
与第一实施例的动态比特分配单元4一样,开始该处理程序后,动态比特分配单元4从步骤SP99前进至步骤SP42,此处,动态比特分配单元4对每个子带信号的MNR与索引index等一起进行排序,并将每个子带信号的MNR与索引index等一起存储在存储器中。在接下来的步骤SP43中,动态比特分配单元4向具有最低值的MNR的子带信号分配比特,随后重新计算被分配了比特的子带信号的MNR。在接下来的步骤SP44中,动态比特分配单元4确定是否分配了所有可分配的比特。当在步骤SP44中获得否定结果时,动态比特分配单元4从步骤SP44前进至步骤SP100。
在这个步骤SP100中,动态比特分配单元4将在步骤SP44中重新算出的MNR应用于对存储器中记录的MNR进行重新排序。
在步骤SP100中的排序处理中,动态比特分配单元4通过部分改变迄今为止的排序结果的顺序来排序MNR。此时,如与图3A、3B和3C进行比较的图10A、10B和10C所示,按照箭头所示,动态比特分配单元4在记录了排序结果的存储器中,将迄今为止的排序结果的组合连续移向开头侧,直至检测到具有高于重新算出的MNR的值的MNR。当检测到具有高于该重新算出的MNR的值的MNR时,动态比特分配单元4将包括该重新算出的MNR的组合记录在通过移动组合而得到的自由空间中。因此,图10A、10B和10C的实例是向存储在存储空间的开头区域中的index=4的子带信号分配比特、通过重新计算MNR获得值44、将no=1~6的组合的记录移向开头侧、然后将重新算出的结果记录在通过移动组合而获得的no=6的自由空间中的情况。
在完成步骤SP100的处理后,动态比特分配单元4返回步骤SP43,此处,动态比特分配单元4从通过步骤SP100中的排序获得的排序结果中,检测记录在处理对象的开头处的具有最低值的MNR。因此,在图10A、10B和10C的实例中,由no=1识别的index=9的MNR被检测为具有最低值的MNR。因此,在这种情况下,在步骤SP43中,动态比特分配单元4为index=9的子带信号分配比特并重新计算MNR,随后,如图11A、11B和11C所示,在接下来的步骤SP100中进一步排序MNR。另外,图11A、11B和11C示出了通过对index=9的子带信号的再计算而获得具有值32的MNR的情况。
图12是表示图9中的步骤SP100的处理细节的流程图。开始该处理程序后,动态比特分配单元4前进至步骤SP101,此处,动态比特分配单元4将在先前步骤SP43中被分配了比特的子带信号的组合设置为排序对象(order[no]=index)。另外,动态比特分配单元4将用于识别比较对象的变量m设置为no+1,从而将记录在排序对象的紧后位置处的MNR组合设置为比较对象。
接下来,动态比特分配单元4前进至步骤SP102,此处,动态比特分配单元4确定变量m是否低于变量sort_num。在将比较对象从开头端连续改变至末尾端并且最后的MNR组合成为比较对象后,不存在比较对象。因此,在这种情况下,动态比特分配单元4在步骤SP102中获得否定结果,随后从步骤SP102前进至步骤SP103。
在步骤SP103中,动态比特分配单元4将排序对象的组合记录在存储空间的末尾端处(order[sort_num-1]=index)。动态比特分配单元4返回步骤SP43。
另一方面,当在步骤SP102中获得肯定结果时,动态比特分配单元4前进至步骤SP104。在步骤SP104中,动态比特分配单元4确定由索引index识别的排序对象的MNR(p_mnr[index])是否低于由变量m识别的组合的MNR(p_mnr[order[m]])。
当在步骤SP104中得到肯定结果时,动态比特分配单元4前进至步骤SP105,此处,动态比特分配单元4将存储空间中的比较对象的记录向开头端移动1(order[m-1]=order[m])。另外,动态比特分配单元4将变量m加1,从而将比较对象改变成记录在紧后位置处的组合。随后,动态比特分配单元4返回步骤SP102。
另一方面,当在步骤SP104中得到否定结果时,动态比特分配单元4从步骤SP104前进至步骤SP106,此处,动态比特分配单元4将排序对象的组合记录在比较对象紧前记录位置处(order[m]=index)。随后,动态比特分配单元4前进至步骤SP43。
即使当从较低的MNR值侧开始执行重新排序处理时,本实施例也能提供与第一实施例类似的效果。
当执行根据心理声学分析的比特分配和编码时,依赖于音频信号的频率特性,发生如图13所示的情况,没有比特分配给位于高频端的特定子带信号B1和B2,而是将比特分配给了具有比子带信号B1和B2更高频率的子带信号B3和B4。当以低比特率执行编码处理时,如图13所示的情形尤其容易发生。各种研究结果已经表明,当如上所述没有比特分配给位于高频端的特定子带信号B1和B2,而是将比特分配给了比子带信号B1和B2具有更高频率的子带信号B3和B4时,经过解码的音频信号的音质将下降。
因此,如用于与图13进行比较的图14所示,本实施例检测引起音质降低的子带信号B3和B4,并如箭头所示,将被分配给子带信号B3和B4的比特重新分配给其他子带信号。
图15是根据本发明第三实施例的编码器中的动态比特分配单元4的处理程序的流程图。除了根据第三实施例的编码器中的动态比特分配单元4的处理程序不同之外,根据第三实施例的编码器以与上文参照图16所述的编码器同样的方式构成。因此,将适当地使用图16的结构来进行下面的说明。
动态比特分配单元4对音频信号S1的每个块执行该处理程序。开始该处理程序后,动态比特分配单元4从步骤SP121前进至步骤SP122,此处,动态比特分配单元4通过执行图1或图9的处理程序来计算对每个子带信号的比特分配。
接下来,动态比特分配单元4前进至步骤SP123,此处,动态比特分配单元4确定是否存在对引起音质降低的子带信号的比特分配。在步骤SP123中,当不存在对等于或高于一定频率的频带的低频端的频带中的子带信号的比特分配、存在对高频端的频带中的子带信号的比特分配、进而被分配给高频端的频带中的子带信号的比特数等于或小于一定数目时,动态比特分配单元4确定存在对引起音质降低的子带信号的比特分配。
当在步骤SP123中得到否定结果时,动态比特分配单元4从步骤SP123前进至步骤SP124,此处,动态比特分配单元4结束处理程序。另一方面,当在步骤SP123中得到肯定结果时,动态比特分配单元4从步骤SP123前进至步骤SP125。在步骤SP125中,动态比特分配单元4计算被分配给引起音质降低的子带信号的比特数。于是,在图13的实例中,动态比特分配单元4计算被分配给子带信号B3和B4的比特数。
接下来,动态比特分配单元4前进至步骤SP126,此处,动态比特分配单元4将在步骤SP125中算出的比特量分配给其他子带信号。动态比特分配单元4通过再次执行图1或图9的处理程序来执行步骤SP126的处理。具体来说,动态比特分配单元4首先设置引起音质降低的子带信号B3和B4以及在低频端临近于子带信号B3和B4且没有被分配比特的子带信号B1和B2的状态used,来表示比特分配的完成,从而不为子带信号B1~B4分配比特。另外,动态比特分配单元4将已经预先分配给子带信号B3和B4的比特量设置为剩余的可分配比特量,重复如上参照图1或图9所述的重新排序(步骤SP45或步骤SP100)及比特分配(步骤SP43)的处理,从而将已经预先分配给子带信号B3和B4的比特分配给其他子带信号。另外,可以通过从最初开始重新开始图1或图9的处理来执行步骤SP126的处理。另外,可以简单进行设置,使得不将比特仅分配给引起音质降低且已经预先被分配了比特的子带信号B3和B4。
本实施例检测对引起音质降低的子带信号的比特分配,并将被分配给该子带信号的比特重新分配给其他子带信号。因此,能够通过简单的处理防止音质的降低。
应该注意,虽然在前述的实施例中,以MNR值增加的顺序来对MNR进行排序,但是本发明不限于此,也可以以MNR值降低的顺序来相反地排序MNR。另外,在这种情况下,当然以与前述实施例相反的方式来执行具有最低值的MNR的检测处理,即,从排序结果的末端开始,在与前述实施例的方向相反的方向上来执行MNR重新排序等的处理。
另外,在前述实施例中,编码器由数字信号处理器构成,但是本发明不限于此,可以将其应用于通过例如计算机对音频信号进行编辑处理的情况,并且可以将其广泛地应用于通过例如执行运算处理装置的程序来对音频信号进行编码处理的情况。另外,通过这种运算处理装置执行的音频信号编码方法的程序可以以被记录在诸如光盘、磁盘及存储卡中的状态提供,或者可以通过诸如互联网的网络来提供该程序。
进一步,在前述实施例中,已经对将本发明应用于通过MPEG1或MPEG2编码音频信号的处理并且将MNR用作分配比特的评价标准的情况进行了描述。但是,本发明并不限于此,可以将其广泛地应用于以使用各种评价标准的各种格式来执行编码处理的情况。
例如,可以将本发明应用于通过MPEG1和MPEG2的第1层和第2层编码音频信号的情况。
对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种音频信号编码方法,用于将音频信号划分为多个子带信号、根据心理声学分析向所述子带信号分配比特、并对所述音频信号进行编码,所述音频信号编码方法包括以下步骤根据所述心理声学分析,计算用于为每个所述子带信号分配所述比特的评价标准;对所述评价标准排序;以及通过重复比特分配步骤、评价标准重新计算步骤、及重新排序步骤向所述多个子带信号分配所述比特;其中,所述比特分配步骤是从所述多个子带信号中选择一个子带信号,并根据所述排序步骤的排序结果和所述重新排序步骤的排序结果中的一个为所述子带信号分配比特的步骤,所述评价标准重新计算步骤是重新计算在所述比特分配步骤中被分配了比特的所述子带信号的所述评价标准的步骤,所述重新排序步骤是将在所述评价标准重新计算步骤中算出的所述评价标准应用于相应的子带信号并对所述评价标准排序的步骤,以及所述重新排序步骤通过部分改变在紧前一步的所述比特分配步骤中比特分配所使用的排序结果的顺序来对所述评价标准排序。
2.根据权利要求1所述的音频信号编码方法,其中,所述评价标准为掩蔽噪声比。
3.根据权利要求1所述的音频信号编码方法,其中,在所述重新排序步骤中部分改变所述排序结果的顺序是这样的处理将在紧前一步的所述比特分配步骤中比特分配所使用的所述排序结果的所述评价标准连续设置为比较对象,并将所述比较对象与在紧前一步的所述评价标准重新计算步骤中算出的所述评价标准连续进行比较,并且根据比较结果,连续改变所述比较对象在所述排序结果上的位置,并将在紧前一步的所述评价标准重新计算步骤中算出的所述评价标准排列在所述排序结果中。
4.根据权利要求1所述的音频信号编码方法,进一步包括以下步骤根据所述重复处理步骤的处理结果,检测高频端的子带信号,在所述比特分配步骤中向所述高频端的子带信号分配了所述比特,并且在所述比特分配步骤中没有向低频端的临近子带信号分配所述比特;以及将被分配给在所述子带信号检测处理步骤中检测的所述子带信号的所述比特重新分配给频率低于所述子带信号的子带信号。
5.一种音频信号编码方法的程序,所述音频信号编码方法将音频信号划分为多个子带信号、根据心理声学分析向所述子带信号分配比特、并对所述音频信号进行编码,所述程序通过运算处理装置执行,所述程序包括以下步骤根据所述心理声学分析,计算用于为每个所述子带信号分配所述比特的评价标准;对所述评价标准排序;以及通过重复比特分配步骤、评价标准重新计算步骤、及重新排序步骤为所述多个子带信号分配所述比特;其中,所述比特分配步骤是从所述多个子带信号中选择一个子带信号,并根据所述排序步骤的排序结果和所述重新排序步骤的排序结果中的一个为所述子带信号分配比特的步骤,所述评价标准重新计算步骤是重新计算在所述比特分配步骤中被分配了比特的所述子带信号的所述评价标准的步骤,所述重新排序步骤是将在所述评价标准重新计算步骤中算出的所述评价标准应用于相应的子带信号并对所述评价标准排序的步骤,以及所述重新排序步骤通过部分改变在紧前一步的所述比特分配步骤中比特分配所使用的排序结果的顺序来对所述评价标准排序。
6.一种记录有音频信号编码方法的程序的记录介质,所述音频信号编码方法将音频信号划分为多个子带信号、根据心理声学分析向所述子带信号分配比特、并对所述音频信号进行编码,所述程序通过运算处理装置执行,所述程序包括以下步骤根据所述心理声学分析,计算用于为每个所述子带信号分配所述比特的评价标准;对所述评价标准排序;以及通过重复比特分配步骤、评价标准重新计算步骤、及重新排序步骤为所述多个子带信号分配所述比特;其中,所述比特分配步骤是从所述多个子带信号中选择一个子带信号,并根据所述排序步骤的排序结果和所述重新排序步骤的排序结果中的一个为所述子带信号分配比特的步骤,所述评价标准重新计算步骤是重新计算在所述比特分配步骤中被分配了比特的所述子带信号的所述评价标准的步骤,所述重新排序步骤是将在所述评价标准重新计算步骤中算出的所述评价标准应用于相应的子带信号并对所述评价标准排序的步骤,以及所述重新排序步骤通过部分改变在紧前一步的所述比特分配步骤中比特分配所使用的排序结果的顺序来对所述评价标准排序。
7.一种音频信号编码装,用于将音频信号划分为多个子带信号、根据心理声学分析向所述子带信号分配比特、并对所述音频信号进行编码,其中,根据所述心理声学分析,计算为每个所述子带信号分配所述比特的评价标准;对所述评价标准进行排序;通过重复比特分配、评价标准重新计算、及重新排序为所述多个子带信号分配所述比特;在所述比特分配中,从所述多个子带信号中选择一个子带信号,并根据所述排序的排序结果和所述重新排序的排序结果中的一个为所述子带信号分配比特,在所述评价标准重新计算中,重新计算在所述比特分配中被分配了比特的所述子带信号的所述评价标准,在所述重新排序中,将在所述评价标准重新计算中算出的所述评价标准应用于相应的子带信号,并对所述评价标准排序,以及在所述重新排序中,通过部分改变紧前一步的所述比特分配中比特分配使用的排序结果的顺序对所述评价标准排序。
全文摘要
本发明提供了一种用于将音频信号划分为多个子带信号、根据心理声学分析为所述子带信号分配比特、并对所述音频信号进行编码的音频信号编码方法,所述音频信号编码方法包括评价标准计算步骤、排序步骤及重复处理步骤。
文档编号G10L19/02GK101046962SQ200710088820
公开日2007年10月3日 申请日期2007年3月28日 优先权日2006年3月28日
发明者茂木幸彦, 盐田晋 申请人:索尼株式会社
音频信号编码方法、程序及记录介质和音频信号编码装置的制作方法
相关推荐
专利名称:具影像撷取装置的便携式终端设备的制作方法技术领域:本实用新型涉及一种具影像撷取装置的便携式终端设备。背景技术:目前,随着具有内置式影像撷取装置的便携式终端设备的普及,使用者对影像摄取功能的要求越来越高,如要求影像撷取装置具有定时拍
专利名称:排队并呈现音频消息的系统和方法技术领域:本发明涉及2001年6月28日申请、名称为“同步个人视频记录器”的美国专利申请09894060中公开的发明。该专利申请已经转让给本发明的申请人。通过参考将该相关专利申请的公开内容全部结合在本
自适应音频内容生成的制作方法【专利摘要】本发明的实施例涉及自适应音频内容生成。具体而言,公开了一种用于生成自适应音频内容的方法,该方法包括:从基于声道的源音频内容中提取至少一个音频对象,以及至少部分地基于该至少一个音频对象生成自适应音频内容
专利名称:投影式图像显示设备的制作方法相关申请本申请要求日本专利申请No.2001-299093(申请日为2001年9月28日)的优先权,该申请在此引作参考。背景技术:发明领域本发明涉及一种投影式图像显示设备,如包括诸如液晶显示装置的图像显
专利名称:一种蜂鸣器驱动电路及其计算器电路的制作方法技术领域:本发明涉及蜂鸣器驱动电路技术领域,具体涉及一种压电式蜂鸣器的驱动电路以及带该驱动电路的计算器电路。背景技术:在便携式产品中,计算器是最常见的一种。从有无发音角度分,可分为不带响计
专利名称:中间转印体的制作方法技术领域:本发明涉及用于电子照相方式的图像形成装置的中间转印体以及中间转印体的制造方法。背景技术:作为复印机、激光打印机等图像形成装置中的图像形成方法,已知有将使用小粒径调色剂在感光鼓上形成的调色剂图像一次转印