專利名稱:音頻信號編碼方法、程序及記錄介質(zhì)和音頻信號編碼裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明例如可應(yīng)用于通過MPEG(運動圖像專家組)1和MPEG2的第1層和第2層對音頻信號進行編碼的情況。與以往根據(jù)心理聲學(xué)分析編碼音頻信號的實例相比,本發(fā)明通過預(yù)先對用于比特分配的評價標(biāo)準(zhǔn)排序、檢測分配了比特的子帶信號,以及當(dāng)對重新算出的評價標(biāo)準(zhǔn)進行排序時部分改變最新排序結(jié)果的順序,從而排序評價標(biāo)準(zhǔn),能夠降低處理的負擔(dān)。
背景技術(shù):
過去,感知編碼(perceptual coding)作為音頻信號編碼處理已經(jīng)眾所周知。感知編碼也被稱作心理聲學(xué)編碼。感知編碼在不向根據(jù)最小可聽限制和掩蔽效應(yīng)而難以感知的成分分配比特的情況下對音頻信號進行編碼,從而利用人類聽覺特性有效地編碼音頻信號。MPEG1和MPEG2的第1層和第2層作為使用感知編碼技術(shù)的編碼方法而廣為人知。
圖16是示出用于對音頻信號S1進行編碼的編碼器的方框圖。該編碼器1通過例如數(shù)字信號處理器構(gòu)成。編碼器1通過MPEG1的第1層或第2層或者MPEG2的第1層或第2層來編碼音頻信號S1,然后輸出比特流S2。音頻信號S1是多信道音頻信號,例如,線性量化16位PCM(脈沖編碼調(diào)制)數(shù)據(jù)或線性量化24位PCM數(shù)據(jù)。
編碼器1中的子帶分析濾波器組2由例如多相濾波器組構(gòu)成。子帶分析濾波器組2將音頻信號S1的全部頻帶劃分為32個頻帶(子帶),對各個頻帶中的信號進行二次采樣,然后輸出子帶信號。另外,在第1層中,在一幀中設(shè)置并處理音頻信號S1的384個樣本,而在第2層中,在一幀中設(shè)置并處理音頻信號S1的1152個樣本。
線性量化器3在動態(tài)比特分配單元4的控制下,對從子帶分析濾波器組2輸出的子帶信號進行量化,然后輸出經(jīng)過量化的子帶信號。比特壓縮單元11對線性量化器3的輸出數(shù)據(jù)進行比特壓縮,然后輸出經(jīng)過比特壓縮的數(shù)據(jù)。比特流形成單元5將補充信息(sideinformation)編碼單元10的輸出數(shù)據(jù)、CRC(循環(huán)冗余碼校驗)碼等添加至比特壓縮單元11的輸出數(shù)據(jù),然后輸出比特流S2。
比例因子提取單元6檢測從子帶分析濾波器組2輸出的每個子帶信號的比例因子。比例因子是表示每個子帶信號振幅最大值的系數(shù)。在第1層中,比例因子提取單元6將每個子帶信號的12個樣本設(shè)置為一個塊,并針對每個塊檢測子帶信號的各個樣本值的絕對值的最大值。另外,比例因子提取單元6選擇表示高于所檢測的最大值的振幅值的比例因子,并從所選擇的比例因子中選擇表示最小振幅值的比例因子。
另一方面,在第2層中,像在第1層中一樣,12個樣本設(shè)置為一個塊,并針對每個塊檢測比例因子。另外,檢測出連續(xù)塊的已檢出比例因子之間的差,通過1~3個比特的傳輸圖案(transmissionpattern)來代表差值的連續(xù)圖案,并將傳輸圖案與比例因子選擇信息7一起輸出。在第2層中,比例因子選擇信息7和1~3個比特的傳輸圖案作為每個塊的比例因子傳輸。
快速傅立葉變換(FFT)單元8在第1層中以512個樣本為單位、在第2層中以1024個樣本為單位使音頻信號S1經(jīng)受快速傅立葉變換處理。
心理聲學(xué)模型單元9利用預(yù)定的心理聲學(xué)模型,根據(jù)快速傅立葉變換單元8的處理結(jié)果和通過比例因子提取單元6檢測的比例因子,來計算每個子帶的SMR(信號掩蔽比)。SMR是從各個子帶信號獲取的、從而得出用于各個子帶信號比特分配的評價標(biāo)準(zhǔn)的每個子帶信號的評價值。SMR為子帶信號的最大振幅值和通過人類聽覺或感知特性掩蔽的最大振幅值(掩蔽閾值)之間的比(信號掩蔽比)。
動態(tài)比特分配單元4計算可分配用于音頻信號S1自身傳輸?shù)谋忍亓?,并根?jù)SMR來計算已算出的比特量中將要分配給各個子帶的比特量。另外,動態(tài)比特分配單元4計算每個子帶信號的量化比例。動態(tài)比特分配單元4控制線性量化器3以算出的要分配的比特量和算出的量化比例來對每個子帶信號進行編碼。另外,通過從可用比特總數(shù)中減去報頭、CRC碼、輔助碼數(shù)據(jù)、及比特分配數(shù)據(jù)來獲得可分配用于音頻信號S1自身傳輸?shù)谋忍亓俊?br>
補充信息編碼單元10接收被分配給每個子帶信號的比特量、量化比例數(shù)據(jù)、比例因子數(shù)據(jù)等作為解碼所需的輸入數(shù)據(jù),對所輸入的數(shù)據(jù)進行編碼,隨后將結(jié)果輸出至比特流形成單元5。
圖17是簡要表示動態(tài)比特分配單元4的處理的流程圖。動態(tài)比特分配單元4針對音頻信號S1的每個塊執(zhí)行該處理程序。
具體來說,開始該處理程序后,動態(tài)比特分配單元4根據(jù)在心理聲學(xué)模型單元9中算出的SMR來計算每個子帶信號的MNR(掩蔽噪聲比)。MNR是用于向各個子帶信號分配比特的評價標(biāo)準(zhǔn)。MNR通過從SNR(信噪比)[dB]中減去SMR[dB]來求得。另外,SNR為當(dāng)通過例如n個比特執(zhí)行量化時每個子帶信號的SNR。由于在開始圖17的處理后沒有立刻將比特分配給每個子帶信號,所以初始值應(yīng)用于n。
接下來,動態(tài)比特分配單元4從步驟SP1前進至步驟SP2,此處,動態(tài)比特分配單元4搜索每個子帶信號的MNR,檢測具有最低值的MNR。在接下來的步驟SP3中,動態(tài)比特分配單元4計算將要分配給具有所檢測出的MNR的子帶信號的比特量,并將算出的比特量分配給該子帶信號。在接下來的步驟SP4中,動態(tài)比特分配單元4確定是否完成了所有可分配比特的分配。當(dāng)在步驟SP4中獲得否定結(jié)果時,動態(tài)比特分配單元4重新計算在步驟SP3中被分配了比特的子帶信號的MNR。隨后,動態(tài)比特分配單元4返回步驟SP2。另一方面,當(dāng)在步驟SP4中獲得肯定結(jié)果時,動態(tài)比特分配單元4從步驟SP4前進至步驟SP5,結(jié)束處理程序。
圖18和圖19是詳細表示圖17中處理程序的流程圖。另外,盡管圖17中步驟SP4的處理在步驟SP3后執(zhí)行,但圖17是為了便于理解而描述了方便的處理程序。實際上,如圖18和圖19所示,相應(yīng)于步驟SP3和步驟SP4的處理是以與圖17的實例相反的順序提供的。
具體來說,開始該處理程序后,動態(tài)比特分配單元4計算每個子帶信號的MNR。動態(tài)比特分配單元4從步驟SP11前進至步驟SP12,此處,動態(tài)比特分配單元4將已經(jīng)完成了分配的比特的總數(shù)(alloc_bit_total)初始化為0。
接下來,動態(tài)比特分配單元4前進至步驟SP13,此處,動態(tài)比特分配單元4初始化各種變量。另外,ch是用于識別音頻信號S1的信道的變量。min_ch和min_sb分別為用于識別具有最小值的MNR的信道和子帶信號的變量。min_mnr為MNR的最小值。動態(tài)比特分配單元4將ch初始化為0,將min_ch和min_sb初始化為-1,將min_mnr初始化為可能值的最大值MAX。
接下來,在步驟SP14中,動態(tài)比特分配單元4將用于識別子帶信號的變量sb初始化為0。在接下來的步驟SP15中,動態(tài)比特分配單元4確定是否還沒完成對由變量ch識別的信道的由變量sb識別的子帶信號(used[ch][sb])的比特分配,并確定該子帶信號的MNR值是否低于變量min_mnr的值。
另外,確定對于由變量ch識別的信道的由變量sb識別的子帶信號(used[ch][sb])的比特分配還沒完成的情況是已經(jīng)完成分配的比特的總數(shù)(alloc_bit_total)超過可分配比特的總數(shù)(total_bit)的情況,或者是被分配給該子帶信號的比特數(shù)超過可分配給一個子帶信號的比特數(shù)的情況。另外,在聯(lián)合立體聲的情況下,當(dāng)完成了對于相應(yīng)信道的子帶信號的比特分配時,確定完成了對于相應(yīng)子帶信號的比特分配。
當(dāng)在步驟SP15中獲得肯定結(jié)果時,動態(tài)比特分配單元4從步驟SP15前進至步驟SP16。在步驟SP16中,動態(tài)比特分配單元4將最小MNR值min_mnr更新為由變量ch和sb識別的信道和子帶信號的MNR。另外,動態(tài)比特分配單元4用變量ch更新用于識別具有最小MNR值的信道的變量min_ch。進一步,動態(tài)比特分配單元4用變量sb更新用于識別具有最小MNR值的子帶信號的變量min_sb。隨后,動態(tài)比特分配單元4前進至步驟SP17。
另一方面,當(dāng)在步驟SP15中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP15直接前進至步驟SP17。在步驟SP17中,動態(tài)比特分配單元4確定變量sb的值是否低于子帶總數(shù)(last_sb)的值。當(dāng)在步驟SP17中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP18,此處,動態(tài)比特分配單元4將變量sb的值加1,從而將作為處理對象的子帶信號變?yōu)殡S后的子帶信號。然后,動態(tài)比特分配單元4返回步驟SP15。另一方面,當(dāng)在步驟SP17中得到否定結(jié)果時,動態(tài)比特分配單元4從步驟SP17前進至步驟SP19。在步驟SP19中,動態(tài)比特分配單元4確定變量ch的值是否低于信道總數(shù)(last_ch)的值。當(dāng)在步驟SP19中得到肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP20,此處,動態(tài)比特分配單元4將變量ch的值加1,從而將作為處理對象的信道改變?yōu)殡S后的信道。隨后,動態(tài)比特分配單元4返回步驟SP14。
通過步驟SP13~SP20的處理,動態(tài)比特分配單元4持續(xù)地改變信道和子帶信號,并檢測最小MNR值,從而執(zhí)行上述參照圖17所描述的步驟SP2的處理。當(dāng)對所有信道和子帶信號執(zhí)行了步驟SP13~SP20的處理后,在步驟SP19中得到肯定結(jié)果。動態(tài)比特分配單元4從步驟SP19前進至步驟SP21(圖19)。
在步驟SP21中,動態(tài)比特分配單元4確定用于識別具有最小MNR值的子帶信號的變量min_sb是否維持在初始值(-1)。當(dāng)變量min_sb被維持在初始值(-1)時,在步驟SP15中,對于所有信道的所有子帶信號獲得否定結(jié)果。在這種情況下,動態(tài)比特分配單元4從步驟SP21前進至步驟SP22,此處,動態(tài)比特分配單元4結(jié)束處理程序。另外,步驟SP21和步驟SP22對應(yīng)于上述參照圖17所描述的步驟SP3和步驟SP4。
另一方面,當(dāng)在步驟SP21中得到否定結(jié)果時,動態(tài)比特分配單元4從步驟SP21前進至步驟SP23。在該步驟SP23中,動態(tài)比特分配單元4計算將要分配給由變量min_ch識別的信道的由變量min_sb識別的子帶信號的比特數(shù)(alloc_bit)。
在接下來的步驟SP24中,動態(tài)比特分配單元4將在步驟SP23中算出的比特數(shù)(alloc_bit)與迄今為止已經(jīng)完成分配的比特的總數(shù)(alloc_bit_total)相加,并確定相加值(alloc_bit_total+alloc_bit)是否低于可分配比特的總數(shù)(total_bit)。
當(dāng)在步驟SP24中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP25,此處,動態(tài)比特分配單元4將相加值(alloc_bit_total+alloc_bit)設(shè)置為完成分配的比特的總數(shù)(alloc_bit_total)。另外,動態(tài)比特分配單元4將分配給由變量min_ch識別的信道的由變量min_sb識別的子帶信號的比特數(shù)增加在步驟SP23中算出的比特數(shù),將由變量min_ch識別的信道的由變量min_sb識別的子帶信號所用的量化步長(quantization step)減少一步。進一步,動態(tài)比特分配單元4重新計算該子帶信號的MNR,并將分配給該子帶信號的比特數(shù)減1。
接下來,動態(tài)比特分配單元4前進至步驟SP26,其中,動態(tài)比特分配單元4確定已經(jīng)被分配給子帶信號的比特數(shù)是否超過了可分配給一個子帶信號的比特數(shù)。當(dāng)在步驟SP26中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP26返回至步驟SP13。另一方面,當(dāng)在步驟SP26中獲得肯定結(jié)果時,動態(tài)比特分配單元4從步驟SP26前進至步驟SP27,其中,動態(tài)比特分配單元4將子帶信號設(shè)置為比特分配完成狀態(tài)。隨后,動態(tài)比特分配單元4返回步驟SP13。而且,當(dāng)在步驟SP24中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP24前進至步驟SP27,其中,動態(tài)比特分配單元4設(shè)置子帶信號為比特分配完成狀態(tài)。隨后,動態(tài)比特分配單元4返回步驟SP13。
通過步驟SP23~SP27的處理,動態(tài)比特分配單元4為具有通過步驟SP13~SP20所檢測的最小MNR值的子帶信號分配比特。因此,步驟SP23~步驟SP27相應(yīng)于圖17中的步驟SP4。
針對這種編碼處理,日本專利公開Hei 8-123488等中提出了各種設(shè)備。
當(dāng)在持續(xù)計算評價標(biāo)準(zhǔn)的情況下向每個子帶信號分配比特時,每次當(dāng)已經(jīng)將比特分配給一個子帶信號后,要再次搜索所有子帶信號的MNR來檢測最小值。因此,過去的編碼處理存在具有嚴(yán)重處理負擔(dān)的問題。
發(fā)明內(nèi)容
鑒于上述問題提出本發(fā)明,期望提供一種當(dāng)根據(jù)心理聲學(xué)分析對音頻信號進行編碼時,與現(xiàn)有實例相比能夠降低處理負擔(dān)的音頻信號編碼方法、音頻信號編碼方法的程序、其上記錄有音頻信號編碼方法的程序的記錄介質(zhì)、及音頻信號編碼裝置。
根據(jù)本發(fā)明的實施例,提供一種用于將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析為子帶信號分配比特、并對音頻信號進行編碼的音頻信號編碼方法,該音頻信號編碼方法包括以下步驟根據(jù)心理聲學(xué)分析,計算用于為每個子帶信號分配比特的評價標(biāo)準(zhǔn);對評價標(biāo)準(zhǔn)排序;及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、和重新排序步驟為多個子帶信號分配比特。在該音頻信號編碼方法中,比特分配步驟是從多個子帶信號中選擇一個子帶信號、并根據(jù)排序步驟的排序結(jié)果和重新排序步驟的排序結(jié)果中的一個為子帶信號分配比特的步驟,評價標(biāo)準(zhǔn)重新計算步驟是重新計算在比特分配步驟中被分配了比特的子帶信號的評價標(biāo)準(zhǔn)的步驟,重新排序步驟是將在評價標(biāo)準(zhǔn)重新計算步驟中算出的評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對評價標(biāo)準(zhǔn)排序的步驟,并且重新排序步驟通過部分改變在緊前一步的比特分配步驟中比特分配所使用的排序結(jié)果的順序來對評價標(biāo)準(zhǔn)排序。
根據(jù)本發(fā)明的實施例,提供了一種音頻信號編碼方法的程序,該音頻信號編碼方法將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析為子帶信號分配比特并對音頻信號進行編碼,該程序通過運算處理裝置執(zhí)行,該程序包括以下步驟根據(jù)心理聲學(xué)分析,計算用于為每個子帶信號分配比特的評價標(biāo)準(zhǔn);對評價標(biāo)準(zhǔn)排序;及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、及重新排序步驟為多個子帶信號分配所述比特。在該程序中,比特分配步驟是從多個子帶信號中選擇一個子帶信號、并根據(jù)排序步驟的排序結(jié)果和重新排序步驟的排序結(jié)果中的一個為子帶信號分配比特的步驟,評價標(biāo)準(zhǔn)重新計算步驟是重新計算在比特分配步驟中被分配了比特的子帶信號的評價標(biāo)準(zhǔn)的步驟,重新排序步驟是將在評價標(biāo)準(zhǔn)重新計算步驟中算出的評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對評價標(biāo)準(zhǔn)排序的步驟,并且重新排序步驟通過部分改變在緊前一步的比特分配步驟中比特分配所使用的排序結(jié)果的順序來對評價標(biāo)準(zhǔn)排序。
根據(jù)本發(fā)明的實施例,提供一種其上記錄有音頻信號編碼方法的程序的記錄介質(zhì),該音頻信號編碼方法將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析為子帶信號分配比特并對音頻信號進行編碼,該程序通過運算處理裝置執(zhí)行,該程序包括以下步驟根據(jù)心理聲學(xué)分析,計算用于為每個子帶信號分配比特的評價標(biāo)準(zhǔn);對評價標(biāo)準(zhǔn)排序;及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、及重新排序步驟為多個子帶信號分配所述比特。在該程序中,比特分配步驟是從多個子帶信號中選擇一個子帶信號、并根據(jù)排序步驟的排序結(jié)果和重新排序步驟的排序結(jié)果中的一個為子帶信號分配比特的步驟,評價標(biāo)準(zhǔn)重新計算步驟是重新計算在比特分配步驟中被分配了比特的子帶信號的評價標(biāo)準(zhǔn)的步驟,重新排序步驟是將在評價標(biāo)準(zhǔn)重新計算步驟中算出的評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對評價標(biāo)準(zhǔn)排序的步驟,并且重新排序步驟通過部分改變在緊前一步的比特分配步驟中比特分配所使用的排序結(jié)果的順序來對評價標(biāo)準(zhǔn)排序。
根據(jù)本發(fā)明的實施例,提供了一種音頻信號編碼裝置,用于將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析為子帶信號分配比特并對音頻信號進行編碼。在該音頻信號編碼裝置中,根據(jù)心理聲學(xué)分析計算用于為每個子帶信號分配比特的評價標(biāo)準(zhǔn);對評價標(biāo)準(zhǔn)進行排序;通過重復(fù)比特分配、評價標(biāo)準(zhǔn)重新計算、及重新排序為多個子帶信號分配比特;在比特分配中,從多個子帶信號中選擇一個子帶信號,并根據(jù)排序的排序結(jié)果和重新排序的排序結(jié)果中的一個為子帶信號分配比特;在評價標(biāo)準(zhǔn)重新計算中,重新計算在比特分配中被分配了比特的子帶信號的評價標(biāo)準(zhǔn);在重新排序中,將在評價標(biāo)準(zhǔn)重新計算中算出的評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號,并對評價標(biāo)準(zhǔn)排序;并且在重新排序中,通過部分改變在緊前一步的比特分配中比特分配使用的排序結(jié)果的順序來對評價標(biāo)準(zhǔn)排序。
根據(jù)上述實施例的結(jié)構(gòu),預(yù)先對用于比特分配的評價標(biāo)準(zhǔn)排序,并檢測分配了比特的子帶信號。當(dāng)要對重新算出的評價標(biāo)準(zhǔn)進行排序時,能夠通過部分改變最近排序結(jié)果的順序來對評價標(biāo)準(zhǔn)排序。因此,能夠通過與現(xiàn)有實例相比更簡單的處理來檢測分配了比特的子帶信號。因此,當(dāng)根據(jù)心理聲學(xué)分析編碼音頻信號時,與現(xiàn)有實例相比,能夠降低處理負載。
根據(jù)本發(fā)明,當(dāng)根據(jù)心理聲學(xué)分析編碼音頻信號時,與現(xiàn)有實例相比,能夠降低處理負載。
圖1是根據(jù)本發(fā)明第一實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖;圖2A、2B和2C是輔助說明圖1的處理程序的示意圖;圖3A、3B和3C是示出接續(xù)圖2A、2B和2C的狀態(tài)的示意圖;圖4A、4B和4C是示出接續(xù)圖3A、3B和3C的狀態(tài)的示意圖;圖5是表示圖1的處理程序中的步驟SP42及相關(guān)處理的細節(jié)的流程圖;圖6是表示圖1中的步驟SP43、SP44和SP46的處理程序的細節(jié)的流程圖;圖7A、7B和7C是輔助說明圖6的處理程序的示意圖;圖8是表示圖1中步驟SP45的處理的細節(jié)的流程圖;圖9是根據(jù)本發(fā)明第二實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖;圖10A、10B和10C是輔助說明圖9的處理程序的示意圖;圖11A、11B和11C是示出接續(xù)圖10A、10B和10C的狀態(tài)的示意圖;圖12是表示圖9的處理程序中的步驟SP100的處理細節(jié)的流程圖;
圖13是輔助說明噪聲出現(xiàn)的特性曲線圖;圖14是輔助說明噪聲防止的特性曲線圖;圖15是根據(jù)本發(fā)明第三實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖;圖16示出了編碼器的方框圖;圖17是以往編碼器中的動態(tài)比特分配單元4的處理程序的流程圖;圖18是表示圖17的處理程序的細節(jié)的流程圖;以及圖19是接續(xù)圖18的流程圖。
具體實施例方式
下文中,將適當(dāng)參照附圖詳細描述本發(fā)明的優(yōu)選實施例。
(1)實施例的構(gòu)成與圖17相比,圖1是根據(jù)本發(fā)明第一實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖。除了根據(jù)第一實施例的編碼器中的動態(tài)比特分配單元4的處理程序不同之外,根據(jù)第一實施例的編碼器以與上文參照圖16描述的編碼器相同的方式構(gòu)成。因此,將適當(dāng)?shù)厥褂脠D16的結(jié)構(gòu)來進行下面的說明。
動態(tài)比特分配單元4對音頻信號S1中設(shè)置的每個塊執(zhí)行處理程序,從而向每個子帶信號分配比特。開始該處理程序,如上面參照圖17所述,動態(tài)比特分配單元4計算每個子帶信號的MNR。然后,動態(tài)比特分配單元4從步驟SP41前進至步驟SP42,此處,動態(tài)比特分配單元4以升序方式排序所算出的MNR。
如圖2A、2B和2C所示,動態(tài)比特分配單元4在未示出的存儲器中確保一定區(qū)域,按照MNR,針對所有信道的所有子帶信號對包括MNR(p_mnr(圖2B))、用于識別檢測出了MNR的信道和子帶信號的索引index(圖2A)、及表示索引index的處理狀態(tài)的狀態(tài)used(圖2C)的組合進行排序,隨后將結(jié)果存儲在存儲器中。狀態(tài)(used)的0值表示沒有分配比特的狀態(tài);狀態(tài)(used)的1值表示被分配了比特的狀態(tài);而狀態(tài)(used)的2值表示完成了比特分配的狀態(tài)。所設(shè)定的一定區(qū)域具有足夠的自由空間,從而存儲所有信道的所有子帶信號的包括索引index、狀態(tài)used、及MNR的組合,并重復(fù)隨后將描述的步驟SP44的處理。
因此,在圖2A、2B和2C的實例中,存儲空間中由變量no=0識別的開頭區(qū)域中存儲的是index=4、p_mnr=20、及used=0的組合。下文中,存儲器中記錄的MNR、用于識別檢測出了MNR的信道和子帶信號的索引index、及表示索引index的處理狀態(tài)的狀態(tài)used的組合將被適當(dāng)?shù)胤Q作MNR組合。變量no識別MNR組合。
接下來,動態(tài)比特分配單元4前進至步驟SP43,在該步驟中,動態(tài)比特分配單元4檢測在排序結(jié)果的開頭處所記錄的具有最低值的MNR。另外,根據(jù)檢測出的MNR的索引index,動態(tài)比特分配單元4為相應(yīng)信道的子帶信號分配比特,然后重新計算被分配了比特的子帶信號的MNR。
隨后,動態(tài)比特分配單元4前進至步驟SP44,此處,動態(tài)比特分配單元4確定是否完成了所有可分配比特的分配。當(dāng)在步驟SP44中得到否定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP45。在該步驟SP45中,動態(tài)比特分配單元4采用步驟SP44中重新算出的MNR,對存儲器中記錄的MNR進行再排序。
如圖3A、3B和3C所示,在步驟SP44的排序處理中,動態(tài)比特分配單元4通過部分改變迄今為止的排序結(jié)果的順序來對MNR排序。具體來說,動態(tài)比特分配單元4在記錄有排序結(jié)果的存儲器中,如箭頭所示將迄今為止的排序結(jié)果的組合連續(xù)移向末端,直至檢測到具有低于重新算出的MNR的值的MNR。當(dāng)檢測到具有低于重新算出的MNR的值的MNR時,動態(tài)比特分配單元4將包括重新算出的MNR的組合記錄在通過移動組合而得到的自由空間中。因此,圖3A、3B和3C的實例是這樣的一種情況向存儲空間的開頭區(qū)域中存儲的index=4的子帶信號分配比特,通過重新計算MNR得到值44,將no=7~9的組合的記錄一個接一個地移向末端,然后將重新計算的結(jié)果記錄到通過移動組合得到的no=7的自由空間中。如陰影所示,在重新計算并排序MNR后,動態(tài)比特分配單元4從隨后處理的對象中排除包括重新計算前的MNR的記錄。
在完成步驟SP45的處理后,動態(tài)比特分配單元4返回步驟SP43,此處,動態(tài)比特分配單元4從通過步驟SP45中的排序獲得的排序結(jié)果中,檢測出在處理對象的開頭記錄的具有最低值的MNR。因此,在圖3A、3B和3C的實例中,通過no=1識別的index=9的MNR被檢測為具有最低值的MNR。因此,在這種情況下,如圖4A、4B和4C所示,動態(tài)比特分配單元4在步驟SP43中為index=9的子帶信號分配比特,并重新計算MNR,隨后在步驟SP45中進一步排序MNR。另外,圖4A、4B和4C示出了通過index=9的子帶信號的重新計算而獲得具有值32的MNR的情況。另外,如將在后面描述的一樣,當(dāng)作為在步驟SP43中分配比特的結(jié)果而完成了對被分配了比特的子帶信號的比特分配時,動態(tài)比特分配單元4省去步驟SP45的處理,并重復(fù)步驟SP43的處理。
圖5是表示圖1的處理程序中的步驟SP42及相關(guān)處理的細節(jié)的流程圖。開始該處理程序,例如,當(dāng)以一個比特執(zhí)行量化時,動態(tài)比特分配單元4計算每個子帶信號的MNR。隨后,動態(tài)比特分配單元4從步驟SP51前進至步驟SP52。
在步驟SP52中,動態(tài)比特分配單元4將表示已經(jīng)完成分配的比特的數(shù)目的比特總數(shù)(alloc_bit_total)初始化為0值。另外,為了與現(xiàn)有實例的表達一致,在下文中,索引index將為ch=index/last_sb,并且sb=index%last_sb。因此,p_mnr[index]表示與mnr[ch][sb]相同的值。另外,%表示用于求余數(shù)的余數(shù)計算,ch和sb為識別信道和子帶信號的變量。
接下來,動態(tài)比特分配單元4前進至步驟SP53,此處,動態(tài)比特分配單元4將各個變量no和變量sort_num初始化為0值。另外,變量sort_num表示將被排序的對象數(shù)。圖5表示的處理中的變量no表示排序?qū)ο蟆?br>
接下來,動態(tài)比特分配單元4前進至步驟SP54,此處,動態(tài)比特分配單元4確定變量no的值是否低于通過將信道的總數(shù)last_ch乘以子帶的總數(shù)last_sb獲得的乘積值last_ch×last_sb,從而確定是否沒有完成所有排序?qū)ο蟮奶幚怼?br>
當(dāng)在步驟SP54中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP55。在步驟SP55中,動態(tài)比特分配單元4將變量no轉(zhuǎn)換成用于識別信道和子帶信號的變量ch和變量sb。
在接下來的步驟SP56中,動態(tài)比特分配單元4確定由變量ch所識別的信道的由變量sb識別的子帶信號的狀態(tài)used[ch][sb],從而確定是否完成了對該子帶信號的比特分配。
當(dāng)在步驟SP56中獲得否定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP57。在步驟SP57中,動態(tài)比特分配單元4將通過變量no識別的MNR組合存儲在迄今為止存儲在存儲器中的MNR組合的末端的隨后的區(qū)域sort_num中。另外,order[x]=y(tǒng)表示由no=y(tǒng)識別的組合存儲在從存儲空間的開頭側(cè)開始的第x個區(qū)域中,或者說,由no=y(tǒng)所識別的組合被載入從存儲空間的開頭側(cè)開始的第x個區(qū)域中。在本實施例中,在步驟SP57中被存儲在存儲器中的MNR組合為排序?qū)ο?。另外,動態(tài)比特分配單元4將用于通過存儲空間中的記錄順序來識別與排序?qū)ο筮M行比較的比較對象的變量m設(shè)置為sort_num-1,從而將存儲在緊接排序?qū)ο笾拔恢锰幍腗NR組合設(shè)置為比較對象。動態(tài)比特分配單元4還將表示排序數(shù)的變量sort_num加1。通過執(zhí)行步驟SP57的處理,動態(tài)比特分配單元4準(zhǔn)備好排序。
接下來,動態(tài)比特分配單元4前進至步驟SP58,此處,動態(tài)比特分配單元4確定變量m是否大于0。當(dāng)排序?qū)ο鬄橛涗浽诖鎯臻g開頭處的MNR組合時,該組合之前沒有MNR組合記錄,因此無比較對象。另外,在將比較對象從末尾端連續(xù)改變至開頭端并且第一MNR組合成為比較對象后,沒有比較對象。因此,在這些情況下,動態(tài)比特分配單元4在步驟SP58中獲得否定結(jié)果,然后從步驟SP58前進至步驟SP59。
在步驟SP59中,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在存儲空間的開頭(order
=no)。
接下來,動態(tài)比特分配單元4前進至步驟SP60,此處,動態(tài)比特分配單元4將變量no加1,隨后返回步驟SP54。
另一方面,當(dāng)在步驟SP58中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP61。在步驟SP61中,動態(tài)比特分配單元4確定由變量no識別的組合的MNR(p_mnr[no])是否低于由變量m識別的組合的MNR(p_mnr[order[m]]),即,排序?qū)ο蟮腗NR是否低于比較對象的MNR。
當(dāng)在步驟SP61中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP62,此處,動態(tài)比特分配單元4將存儲空間中比較對象的記錄向末尾端移動1(order[m+1]=order[m])。另外,動態(tài)比特分配單元4將變量m減1,從而將比較對象變?yōu)榫o前位置處記錄的組合。隨后,動態(tài)比特分配單元4返回步驟SP58。
另一方面,當(dāng)在步驟SP61中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP61前進至步驟SP63,此處,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在移動比較對象前的記錄位置(order[m+1]=no)。隨后,動態(tài)比特分配單元4前進至步驟SP60。
動態(tài)比特分配單元4通過執(zhí)行步驟SP53~SP63的處理,將MNR組合連續(xù)存儲在存儲空間中。此時,每一次將一個組合存儲在存儲器中時,如上述參照圖3A、3B和3C所述,在存儲空間中將已經(jīng)存儲的組合連續(xù)地移向末尾端,直至檢測到具有低于將要存儲的MNR的值的MNR,然后在作為結(jié)果創(chuàng)建的自由空間中存儲MNR組合,從而執(zhí)行排序處理。
當(dāng)完成排序處理時,動態(tài)比特分配單元4在步驟SP54中獲得否定結(jié)果,隨后前進至步驟SP43。
圖6是表示圖1中步驟SP43、SP44及SP46的處理程序的細節(jié)的流程圖。另外,盡管在圖1中步驟SP44的處理在步驟SP43后執(zhí)行,但是圖1為了便于理解而描述了方便的處理程序。實際上,該處理程序以圖6所示的順序執(zhí)行。具體來說,開始處理程序,動態(tài)比特分配單元4前進至步驟SP71,此處,動態(tài)比特分配單元4將變量no初始化為0。
接下來,動態(tài)比特分配單元4前進至步驟SP72,此處,動態(tài)比特分配單元4確定變量no的值是否低于排序數(shù)sort_num,從而確定是否結(jié)束處理。當(dāng)變量no等于或大于排序數(shù)sort_num時,動態(tài)比特分配單元4從步驟SP72前進至步驟SP73,此處,動態(tài)比特分配單元4結(jié)束處理程序。因此,步驟SP72和步驟SP73相應(yīng)于上文參照圖1所述的步驟SP44和步驟SP46。
另一方面,當(dāng)變量no的值低于排序數(shù)sort_num時,動態(tài)比特分配單元4從步驟SP72前進至步驟SP74。在步驟SP74中,動態(tài)比特分配單元4檢測在存儲空間中由變量no識別的組合的索引index(index=order[no]),并將索引index轉(zhuǎn)換為識別信道和子帶信號的變量min_ch和min_sb(min_ch=index/last_sb并且min_sb=index%last_sb)。因此,在這種情況下,在處理對象中檢測出在存儲空間的開頭區(qū)域經(jīng)過排序并記錄的具有最低值的MNR。
接下來,動態(tài)比特分配單元4前進至步驟SP75,此處,動態(tài)比特分配單元4確定針對步驟SP74中檢測出的索引index的組合所設(shè)置的狀態(tài)used[min_ch][min_sb],從而確定是否完成了對索引index的子帶信號的比特分配。
當(dāng)在步驟SP75中獲得肯定結(jié)果時,動態(tài)比特分配單元4從步驟SP75前進至步驟SP76,此處,動態(tài)比特分配單元4將變量no加1。隨后,動態(tài)比特分配單元4返回步驟SP72。另一方面,當(dāng)在步驟SP75中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP75前進至步驟SP77。
因此,動態(tài)比特分配單元4以步驟SP71、SP72、SP74及SP75的順序來執(zhí)行處理,并且當(dāng)在步驟SP75中獲得肯定結(jié)果時,動態(tài)比特分配單元4以步驟SP76、SP72、SP74及SP75的順序進一步執(zhí)行處理。從而,動態(tài)比特分配單元4從存儲器中被記錄為處理對象的組合中,檢測出沒有完成比特分配并且具有在最靠前位置處記錄的最低MNR的組合。
當(dāng)檢測具有最低MNR的組合時,動態(tài)比特分配單元4從步驟SP75前進至步驟SP77,此處,動態(tài)比特分配單元4計算要分配給具有最低MNR的組合的子帶信號(在步驟SP74中所檢測的子帶信號)的比特量(alloc_bit)。在接下來的步驟SP78中,動態(tài)比特分配單元4將算出的比特量(alloc_bit)與比特總數(shù)(alloc_bit_total)相加,并確定相加值(alloc_bit_total+alloc_bit)是否低于可分配的比特總數(shù)(total_bit)。
當(dāng)在步驟SP78中得到肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP79,此處,動態(tài)比特分配單元4將相加值(alloc_bit_total+alloc_bit)設(shè)置為完成分配的比特的總數(shù)(alloc_bit_total)。另外,動態(tài)比特分配單元4將由變量no識別的組合的狀態(tài)used設(shè)置為表示比特被分配的狀態(tài)的值1。然后,動態(tài)比特分配單元4將在步驟SP77中算出的比特數(shù)與分配給由變量no識別的組合的子帶信號的比特數(shù)相加,并重新計算MNR。然后,動態(tài)比特分配單元4將由變量min_ch識別的信道的由變量min_sb識別的子帶信號的量化步長減少1步。然后,動態(tài)比特分配單元4將分配給子帶信號的比特數(shù)減1。
接下來,在步驟SP80中,動態(tài)比特分配單元4確定已經(jīng)被分配給由變量no識別的組合的子帶信號的比特數(shù)是否超過可分配給一個子帶信號的比特數(shù),從而確定是否完成了子帶信號的比特分配。
當(dāng)在步驟SP80中得到肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP81,此處,動態(tài)比特分配單元4將在步驟SP79中狀態(tài)used已經(jīng)被設(shè)置為值1的組合的狀態(tài)used改變?yōu)楸硎就瓿闪吮忍胤峙涞闹?。隨后,動態(tài)比特分配單元4返回步驟SP76。
因此,當(dāng)完成了對在步驟SP79中被分配了比特的子帶信號的比特分配時,動態(tài)比特分配單元4從步驟SP81前進至步驟SP76。如用于與圖4A、4B和4C比較的圖7A、7B和7C所示,在這種情況下,將比特分配給具有下一個最低MNR的子帶信號,而不用執(zhí)行排序處理,從而減少了排序數(shù)。另外,圖7A、7B和7C示出了索引index=5的子帶信號被檢測為具有最低MNR并完成了子帶信號比特分配的子帶信號的情況。在這種情況下,不執(zhí)行索引index=5的子帶信號的排序,并將比特分配給索引index=8的下一個子帶信號。
圖8是表示圖1中步驟SP45的處理細節(jié)的流程圖。開始該處理程序后,動態(tài)比特分配單元4前進至步驟SP84,此處,動態(tài)比特分配單元4將先前步驟SP79中被分配了比特的子帶信號的組合存儲在存儲于存儲器中的MNR組合的末端的隨后區(qū)域sort_num中(order[sort_num]=index)。另外,動態(tài)比特分配單元4將存儲在末尾端隨后的位置處的組合設(shè)置為排序?qū)ο?。然后,動態(tài)比特分配單元4將用于識別比較對象的變量m設(shè)置為sort_num-1,從而將排序?qū)ο缶o前位置處記錄的MNR組合設(shè)置為比較對象。然后,動態(tài)比特分配單元4將變量sort_num加1。
接下來,動態(tài)比特分配單元4前進至步驟SP85,此處,動態(tài)比特分配單元4確定變量m是否高于值no+1。在將比較對象從末尾端連續(xù)改變至開頭端,并且位于處理對象開頭處的MNR組合變?yōu)楸容^對象后,不存在比較對象。因此,在這些情況下,動態(tài)比特分配單元4在步驟SP85中得到否定結(jié)果,并從步驟SP85前進至步驟SP86。
在步驟SP86中,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在存儲空間的第(no+1)位置處(order[no+1]=index)。另外,該組合的MNR是步驟SP79中重新算出的MNR。另外,在步驟SP86中,當(dāng)設(shè)置排序?qū)ο蟮慕M合的記錄位置(order[])并設(shè)置變量sort_num,使得對于在先前步驟SP80中獲得肯定結(jié)果并這樣完成了比特分配的子帶信號不被包括為隨后排序處理中的比較對象時,能夠進一步降低處理負擔(dān)。
接下來,動態(tài)比特分配單元4前進至步驟SP87,此處,動態(tài)比特分配單元4將變量no加1。動態(tài)比特分配單元4返回步驟SP72(圖6)。
另一方面,當(dāng)在步驟SP85中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP88。在步驟SP88中,動態(tài)比特分配單元4確定由索引index識別的排序?qū)ο蟮腗NR(p_mnr[index])是否低于由變量m識別的組合的MNR(p_mnr[order[m]])。
當(dāng)在步驟SP88中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP89,此處,動態(tài)比特分配單元4將存儲空間中比較對象的記錄向末尾端移動1(order[m+1]=order[m])。另外,動態(tài)比特分配單元4將變量m減1,從而將比較對象變成記錄在緊前位置處的組合。隨后,動態(tài)比特分配單元4返回步驟SP85。
另一方面,當(dāng)在步驟SP88中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP88前進至步驟SP90,此處,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在比較對象緊后的記錄位置處(order[m+1]=index)。隨后,動態(tài)比特分配單元4前進至步驟SP87。
(2)實施例的操作通過上述構(gòu)成,在根據(jù)本實施例的編碼器中(見圖16),子帶分析濾波器組2將連續(xù)輸入的音頻信號S1劃分為多個子帶信號,并且線性量化器3量化每個子帶信號。比特壓縮單元11對量化處理的結(jié)果進行比特壓縮,隨后,比特流形成單元5將比特壓縮結(jié)果轉(zhuǎn)換成比特流S2,并輸出比特流S2??焖俑盗⑷~變換單元8使音頻信號S1經(jīng)受快速傅立葉變換處理。心理聲學(xué)模型單元9分析快速傅立葉變換處理的結(jié)果,并檢測每個子帶信號的SMR(信號掩蔽比)。動態(tài)比特分配單元4根據(jù)信號掩蔽比SMR來確定音頻信號S1的每個子帶信號的MNR(掩蔽噪聲比),并根據(jù)MNR來確定比特分配和量化比例。線性量化器3通過該比特分配及量化比例來執(zhí)行量化處理。
動態(tài)比特分配單元4中的比特分配處理通過重復(fù)從分配比特的多個子帶信號中檢測具有最低值的MNR的處理和為檢測出的子帶信號分配比特并重新計算MNR的處理、及為每個信道的每個子帶信號分配所有可分配比特來執(zhí)行。另外,設(shè)置每個子帶信號的量化比例,從而對應(yīng)于該比特分配。
在本實施例中,動態(tài)比特分配單元4(圖1)首先以MNR的升序來排序各個子帶的MNR,并向具有記錄在排序結(jié)果開頭處的MNR的子帶信號分配比特(圖2A、2B和2C)。重新計算并重新排序被分配了比特的子帶信號的MNR(圖3A、3B和3C)。向具有記錄在經(jīng)過重新排序的MNR的開頭處的MNR的子帶信號分配比特。動態(tài)比特分配單元4重復(fù)重新計算和重新排序MNR的處理以及向具有記錄在經(jīng)過重新排序的MNR的開頭處的MNR的子帶信號分配比特的處理,從而為每個信道的每個子帶信號分配所有比特。
因此,動態(tài)比特分配單元4預(yù)先執(zhí)行排序,隨后檢測分配了比特的子帶信號。因此,與現(xiàn)有實例相比,能夠更快地檢測分配了比特的子帶信號。
具體來說,首先根據(jù)初始設(shè)置來計算音頻信號S1的MNR,并在存儲器中一個接一個地存儲并排序所算出的MNR、索引index及狀態(tài)used的組合(圖5)。
此時,在已經(jīng)被存儲在存儲器中的一行MNR組合的末端處存儲一個MNR組合(步驟SP57(圖5)),并改變該MNR組合與被存儲在緊前位置處的組合之間的排列順序,直至檢測到具有更低值的MNR為止(以步驟SP58、SP61、SP62、SP58、...、SP58、SP61及SP63的順序,或以步驟SP58、SP61、SP62、SP58、...、SP58及SP59的順序(圖5)),從而執(zhí)行排序。
作為排序結(jié)果,存儲在開頭處的MNR組合包括具有最低值的MNR,并向位于開頭處的組合的信道和子帶信號分配比特(以步驟SP71和SP74、SP75及SP77的順序(圖6))。
另外,對于重新算出的MNR,從處理對象中排除已經(jīng)存儲在存儲器中的相應(yīng)MNR,并在已經(jīng)存儲在存儲器中的一行MNR組合的末端處存儲該重新算出的MNR(步驟SP84(圖8))。直至檢測到具有更低值的MNR時,改變該MNR組合與存儲在緊前位置處的組合之間的排列順序,從而執(zhí)行排序(以步驟SP85、SP88、SP89、SP88、...、SP85、SP88及SP87的順序,或以步驟SP85、SP88、SP89、SP88、...、SP85及SP90的順序(圖8))。
作為重新算出的MNR的排序結(jié)果,存儲在開頭處的MNR組合包括具有最低值的MNR,并向位于開頭處的組合的信道和子帶信號分配比特(以步驟SP71和步驟SP74、SP75及SP77的順序(圖6))。
因此,當(dāng)完成對位于排序結(jié)果開頭處的組合的子帶信號的比特分配時,能夠為排序結(jié)果中的下一個組合的子帶信號分配比特(以步驟SP56、SP60、SP54、SP55、SP56及SP57的順序(圖5))。因此,能夠減少作為處理進程的排序次數(shù),并且能夠簡化對能夠被分配比特的子帶信號的最小MNR的檢測處理。
盡管預(yù)先排序了MNR并快速檢測出最小MNR,但是在本實施例中對MNR進行了排序,因此,看起來處理負擔(dān)與現(xiàn)有實例的處理負擔(dān)沒有什么不同。然而,在本實施例中,當(dāng)要對重新算出的MNR進行排序時,將該重新算出的MNR的組合存儲在已經(jīng)存儲在存儲器中的排序結(jié)果的末端處,之后改變該重新算出的MNR的組合與存儲在緊前位置處的組合之間的排列順序,直至檢測到具有更低值的MNR位置,由此執(zhí)行排序。因此,有效地利用了迄今為止的排序結(jié)果。因此,總體看來,與現(xiàn)有實例相比,能夠降低處理負擔(dān)。實際上,當(dāng)像本實施例中一樣執(zhí)行排序處理及比特分配時,與通過現(xiàn)有實例執(zhí)行的處理相比,編碼器的處理量總體上能夠降低52[%]。
(3)實施例的效果根據(jù)上述構(gòu)成,預(yù)先對MNR排序并檢測分配了比特的子帶信號。當(dāng)要對重新算出的MNR進行排序時,將該重新算出的MNR的組合存儲在已經(jīng)被存儲在存儲器中的一行MNR組合的末尾端處,此后,改變該重新算出的MNR的組合與存儲在緊前位置處的組合之間的排列順序,直至檢測到具有更低值的MNR,從而執(zhí)行排序。因此,能夠有效地利用迄今為止的排序結(jié)果,并且通過部分地改變迄今為止的排序結(jié)果的順序來排序MNR。因此,與現(xiàn)有實例相比,能夠降低處理負擔(dān)。
圖9是表示根據(jù)本發(fā)明第二實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖,用于與圖1進行比較。除了根據(jù)第二實施例的編碼器中的動態(tài)比特分配單元4的處理程序不同之外,根據(jù)第二實施例的編碼器以與參照圖16如上所述的編碼器相同的方式構(gòu)成。因此,將適當(dāng)使用圖16的結(jié)構(gòu)來進行下面的說明。另外,除了步驟SP100中重新排序處理不同之外,動態(tài)比特分配單元4以與上文參照圖1所述的編碼器中相同的方式構(gòu)成。因此,在下面的說明中,與在第一實施例中所描述的動態(tài)比特分配單元4的處理相同的處理用相同的附圖標(biāo)號表示,并將省去其重復(fù)的說明。
與第一實施例的動態(tài)比特分配單元4一樣,開始該處理程序后,動態(tài)比特分配單元4從步驟SP99前進至步驟SP42,此處,動態(tài)比特分配單元4對每個子帶信號的MNR與索引index等一起進行排序,并將每個子帶信號的MNR與索引index等一起存儲在存儲器中。在接下來的步驟SP43中,動態(tài)比特分配單元4向具有最低值的MNR的子帶信號分配比特,隨后重新計算被分配了比特的子帶信號的MNR。在接下來的步驟SP44中,動態(tài)比特分配單元4確定是否分配了所有可分配的比特。當(dāng)在步驟SP44中獲得否定結(jié)果時,動態(tài)比特分配單元4從步驟SP44前進至步驟SP100。
在這個步驟SP100中,動態(tài)比特分配單元4將在步驟SP44中重新算出的MNR應(yīng)用于對存儲器中記錄的MNR進行重新排序。
在步驟SP100中的排序處理中,動態(tài)比特分配單元4通過部分改變迄今為止的排序結(jié)果的順序來排序MNR。此時,如與圖3A、3B和3C進行比較的圖10A、10B和10C所示,按照箭頭所示,動態(tài)比特分配單元4在記錄了排序結(jié)果的存儲器中,將迄今為止的排序結(jié)果的組合連續(xù)移向開頭側(cè),直至檢測到具有高于重新算出的MNR的值的MNR。當(dāng)檢測到具有高于該重新算出的MNR的值的MNR時,動態(tài)比特分配單元4將包括該重新算出的MNR的組合記錄在通過移動組合而得到的自由空間中。因此,圖10A、10B和10C的實例是向存儲在存儲空間的開頭區(qū)域中的index=4的子帶信號分配比特、通過重新計算MNR獲得值44、將no=1~6的組合的記錄移向開頭側(cè)、然后將重新算出的結(jié)果記錄在通過移動組合而獲得的no=6的自由空間中的情況。
在完成步驟SP100的處理后,動態(tài)比特分配單元4返回步驟SP43,此處,動態(tài)比特分配單元4從通過步驟SP100中的排序獲得的排序結(jié)果中,檢測記錄在處理對象的開頭處的具有最低值的MNR。因此,在圖10A、10B和10C的實例中,由no=1識別的index=9的MNR被檢測為具有最低值的MNR。因此,在這種情況下,在步驟SP43中,動態(tài)比特分配單元4為index=9的子帶信號分配比特并重新計算MNR,隨后,如圖11A、11B和11C所示,在接下來的步驟SP100中進一步排序MNR。另外,圖11A、11B和11C示出了通過對index=9的子帶信號的再計算而獲得具有值32的MNR的情況。
圖12是表示圖9中的步驟SP100的處理細節(jié)的流程圖。開始該處理程序后,動態(tài)比特分配單元4前進至步驟SP101,此處,動態(tài)比特分配單元4將在先前步驟SP43中被分配了比特的子帶信號的組合設(shè)置為排序?qū)ο?order[no]=index)。另外,動態(tài)比特分配單元4將用于識別比較對象的變量m設(shè)置為no+1,從而將記錄在排序?qū)ο蟮木o后位置處的MNR組合設(shè)置為比較對象。
接下來,動態(tài)比特分配單元4前進至步驟SP102,此處,動態(tài)比特分配單元4確定變量m是否低于變量sort_num。在將比較對象從開頭端連續(xù)改變至末尾端并且最后的MNR組合成為比較對象后,不存在比較對象。因此,在這種情況下,動態(tài)比特分配單元4在步驟SP102中獲得否定結(jié)果,隨后從步驟SP102前進至步驟SP103。
在步驟SP103中,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在存儲空間的末尾端處(order[sort_num-1]=index)。動態(tài)比特分配單元4返回步驟SP43。
另一方面,當(dāng)在步驟SP102中獲得肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP104。在步驟SP104中,動態(tài)比特分配單元4確定由索引index識別的排序?qū)ο蟮腗NR(p_mnr[index])是否低于由變量m識別的組合的MNR(p_mnr[order[m]])。
當(dāng)在步驟SP104中得到肯定結(jié)果時,動態(tài)比特分配單元4前進至步驟SP105,此處,動態(tài)比特分配單元4將存儲空間中的比較對象的記錄向開頭端移動1(order[m-1]=order[m])。另外,動態(tài)比特分配單元4將變量m加1,從而將比較對象改變成記錄在緊后位置處的組合。隨后,動態(tài)比特分配單元4返回步驟SP102。
另一方面,當(dāng)在步驟SP104中得到否定結(jié)果時,動態(tài)比特分配單元4從步驟SP104前進至步驟SP106,此處,動態(tài)比特分配單元4將排序?qū)ο蟮慕M合記錄在比較對象緊前記錄位置處(order[m]=index)。隨后,動態(tài)比特分配單元4前進至步驟SP43。
即使當(dāng)從較低的MNR值側(cè)開始執(zhí)行重新排序處理時,本實施例也能提供與第一實施例類似的效果。
當(dāng)執(zhí)行根據(jù)心理聲學(xué)分析的比特分配和編碼時,依賴于音頻信號的頻率特性,發(fā)生如圖13所示的情況,沒有比特分配給位于高頻端的特定子帶信號B1和B2,而是將比特分配給了具有比子帶信號B1和B2更高頻率的子帶信號B3和B4。當(dāng)以低比特率執(zhí)行編碼處理時,如圖13所示的情形尤其容易發(fā)生。各種研究結(jié)果已經(jīng)表明,當(dāng)如上所述沒有比特分配給位于高頻端的特定子帶信號B1和B2,而是將比特分配給了比子帶信號B1和B2具有更高頻率的子帶信號B3和B4時,經(jīng)過解碼的音頻信號的音質(zhì)將下降。
因此,如用于與圖13進行比較的圖14所示,本實施例檢測引起音質(zhì)降低的子帶信號B3和B4,并如箭頭所示,將被分配給子帶信號B3和B4的比特重新分配給其他子帶信號。
圖15是根據(jù)本發(fā)明第三實施例的編碼器中的動態(tài)比特分配單元4的處理程序的流程圖。除了根據(jù)第三實施例的編碼器中的動態(tài)比特分配單元4的處理程序不同之外,根據(jù)第三實施例的編碼器以與上文參照圖16所述的編碼器同樣的方式構(gòu)成。因此,將適當(dāng)?shù)厥褂脠D16的結(jié)構(gòu)來進行下面的說明。
動態(tài)比特分配單元4對音頻信號S1的每個塊執(zhí)行該處理程序。開始該處理程序后,動態(tài)比特分配單元4從步驟SP121前進至步驟SP122,此處,動態(tài)比特分配單元4通過執(zhí)行圖1或圖9的處理程序來計算對每個子帶信號的比特分配。
接下來,動態(tài)比特分配單元4前進至步驟SP123,此處,動態(tài)比特分配單元4確定是否存在對引起音質(zhì)降低的子帶信號的比特分配。在步驟SP123中,當(dāng)不存在對等于或高于一定頻率的頻帶的低頻端的頻帶中的子帶信號的比特分配、存在對高頻端的頻帶中的子帶信號的比特分配、進而被分配給高頻端的頻帶中的子帶信號的比特數(shù)等于或小于一定數(shù)目時,動態(tài)比特分配單元4確定存在對引起音質(zhì)降低的子帶信號的比特分配。
當(dāng)在步驟SP123中得到否定結(jié)果時,動態(tài)比特分配單元4從步驟SP123前進至步驟SP124,此處,動態(tài)比特分配單元4結(jié)束處理程序。另一方面,當(dāng)在步驟SP123中得到肯定結(jié)果時,動態(tài)比特分配單元4從步驟SP123前進至步驟SP125。在步驟SP125中,動態(tài)比特分配單元4計算被分配給引起音質(zhì)降低的子帶信號的比特數(shù)。于是,在圖13的實例中,動態(tài)比特分配單元4計算被分配給子帶信號B3和B4的比特數(shù)。
接下來,動態(tài)比特分配單元4前進至步驟SP126,此處,動態(tài)比特分配單元4將在步驟SP125中算出的比特量分配給其他子帶信號。動態(tài)比特分配單元4通過再次執(zhí)行圖1或圖9的處理程序來執(zhí)行步驟SP126的處理。具體來說,動態(tài)比特分配單元4首先設(shè)置引起音質(zhì)降低的子帶信號B3和B4以及在低頻端臨近于子帶信號B3和B4且沒有被分配比特的子帶信號B1和B2的狀態(tài)used,來表示比特分配的完成,從而不為子帶信號B1~B4分配比特。另外,動態(tài)比特分配單元4將已經(jīng)預(yù)先分配給子帶信號B3和B4的比特量設(shè)置為剩余的可分配比特量,重復(fù)如上參照圖1或圖9所述的重新排序(步驟SP45或步驟SP100)及比特分配(步驟SP43)的處理,從而將已經(jīng)預(yù)先分配給子帶信號B3和B4的比特分配給其他子帶信號。另外,可以通過從最初開始重新開始圖1或圖9的處理來執(zhí)行步驟SP126的處理。另外,可以簡單進行設(shè)置,使得不將比特僅分配給引起音質(zhì)降低且已經(jīng)預(yù)先被分配了比特的子帶信號B3和B4。
本實施例檢測對引起音質(zhì)降低的子帶信號的比特分配,并將被分配給該子帶信號的比特重新分配給其他子帶信號。因此,能夠通過簡單的處理防止音質(zhì)的降低。
應(yīng)該注意,雖然在前述的實施例中,以MNR值增加的順序來對MNR進行排序,但是本發(fā)明不限于此,也可以以MNR值降低的順序來相反地排序MNR。另外,在這種情況下,當(dāng)然以與前述實施例相反的方式來執(zhí)行具有最低值的MNR的檢測處理,即,從排序結(jié)果的末端開始,在與前述實施例的方向相反的方向上來執(zhí)行MNR重新排序等的處理。
另外,在前述實施例中,編碼器由數(shù)字信號處理器構(gòu)成,但是本發(fā)明不限于此,可以將其應(yīng)用于通過例如計算機對音頻信號進行編輯處理的情況,并且可以將其廣泛地應(yīng)用于通過例如執(zhí)行運算處理裝置的程序來對音頻信號進行編碼處理的情況。另外,通過這種運算處理裝置執(zhí)行的音頻信號編碼方法的程序可以以被記錄在諸如光盤、磁盤及存儲卡中的狀態(tài)提供,或者可以通過諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)來提供該程序。
進一步,在前述實施例中,已經(jīng)對將本發(fā)明應(yīng)用于通過MPEG1或MPEG2編碼音頻信號的處理并且將MNR用作分配比特的評價標(biāo)準(zhǔn)的情況進行了描述。但是,本發(fā)明并不限于此,可以將其廣泛地應(yīng)用于以使用各種評價標(biāo)準(zhǔn)的各種格式來執(zhí)行編碼處理的情況。
例如,可以將本發(fā)明應(yīng)用于通過MPEG1和MPEG2的第1層和第2層編碼音頻信號的情況。
對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種音頻信號編碼方法,用于將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析向所述子帶信號分配比特、并對所述音頻信號進行編碼,所述音頻信號編碼方法包括以下步驟根據(jù)所述心理聲學(xué)分析,計算用于為每個所述子帶信號分配所述比特的評價標(biāo)準(zhǔn);對所述評價標(biāo)準(zhǔn)排序;以及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、及重新排序步驟向所述多個子帶信號分配所述比特;其中,所述比特分配步驟是從所述多個子帶信號中選擇一個子帶信號,并根據(jù)所述排序步驟的排序結(jié)果和所述重新排序步驟的排序結(jié)果中的一個為所述子帶信號分配比特的步驟,所述評價標(biāo)準(zhǔn)重新計算步驟是重新計算在所述比特分配步驟中被分配了比特的所述子帶信號的所述評價標(biāo)準(zhǔn)的步驟,所述重新排序步驟是將在所述評價標(biāo)準(zhǔn)重新計算步驟中算出的所述評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對所述評價標(biāo)準(zhǔn)排序的步驟,以及所述重新排序步驟通過部分改變在緊前一步的所述比特分配步驟中比特分配所使用的排序結(jié)果的順序來對所述評價標(biāo)準(zhǔn)排序。
2.根據(jù)權(quán)利要求1所述的音頻信號編碼方法,其中,所述評價標(biāo)準(zhǔn)為掩蔽噪聲比。
3.根據(jù)權(quán)利要求1所述的音頻信號編碼方法,其中,在所述重新排序步驟中部分改變所述排序結(jié)果的順序是這樣的處理將在緊前一步的所述比特分配步驟中比特分配所使用的所述排序結(jié)果的所述評價標(biāo)準(zhǔn)連續(xù)設(shè)置為比較對象,并將所述比較對象與在緊前一步的所述評價標(biāo)準(zhǔn)重新計算步驟中算出的所述評價標(biāo)準(zhǔn)連續(xù)進行比較,并且根據(jù)比較結(jié)果,連續(xù)改變所述比較對象在所述排序結(jié)果上的位置,并將在緊前一步的所述評價標(biāo)準(zhǔn)重新計算步驟中算出的所述評價標(biāo)準(zhǔn)排列在所述排序結(jié)果中。
4.根據(jù)權(quán)利要求1所述的音頻信號編碼方法,進一步包括以下步驟根據(jù)所述重復(fù)處理步驟的處理結(jié)果,檢測高頻端的子帶信號,在所述比特分配步驟中向所述高頻端的子帶信號分配了所述比特,并且在所述比特分配步驟中沒有向低頻端的臨近子帶信號分配所述比特;以及將被分配給在所述子帶信號檢測處理步驟中檢測的所述子帶信號的所述比特重新分配給頻率低于所述子帶信號的子帶信號。
5.一種音頻信號編碼方法的程序,所述音頻信號編碼方法將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析向所述子帶信號分配比特、并對所述音頻信號進行編碼,所述程序通過運算處理裝置執(zhí)行,所述程序包括以下步驟根據(jù)所述心理聲學(xué)分析,計算用于為每個所述子帶信號分配所述比特的評價標(biāo)準(zhǔn);對所述評價標(biāo)準(zhǔn)排序;以及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、及重新排序步驟為所述多個子帶信號分配所述比特;其中,所述比特分配步驟是從所述多個子帶信號中選擇一個子帶信號,并根據(jù)所述排序步驟的排序結(jié)果和所述重新排序步驟的排序結(jié)果中的一個為所述子帶信號分配比特的步驟,所述評價標(biāo)準(zhǔn)重新計算步驟是重新計算在所述比特分配步驟中被分配了比特的所述子帶信號的所述評價標(biāo)準(zhǔn)的步驟,所述重新排序步驟是將在所述評價標(biāo)準(zhǔn)重新計算步驟中算出的所述評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對所述評價標(biāo)準(zhǔn)排序的步驟,以及所述重新排序步驟通過部分改變在緊前一步的所述比特分配步驟中比特分配所使用的排序結(jié)果的順序來對所述評價標(biāo)準(zhǔn)排序。
6.一種記錄有音頻信號編碼方法的程序的記錄介質(zhì),所述音頻信號編碼方法將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析向所述子帶信號分配比特、并對所述音頻信號進行編碼,所述程序通過運算處理裝置執(zhí)行,所述程序包括以下步驟根據(jù)所述心理聲學(xué)分析,計算用于為每個所述子帶信號分配所述比特的評價標(biāo)準(zhǔn);對所述評價標(biāo)準(zhǔn)排序;以及通過重復(fù)比特分配步驟、評價標(biāo)準(zhǔn)重新計算步驟、及重新排序步驟為所述多個子帶信號分配所述比特;其中,所述比特分配步驟是從所述多個子帶信號中選擇一個子帶信號,并根據(jù)所述排序步驟的排序結(jié)果和所述重新排序步驟的排序結(jié)果中的一個為所述子帶信號分配比特的步驟,所述評價標(biāo)準(zhǔn)重新計算步驟是重新計算在所述比特分配步驟中被分配了比特的所述子帶信號的所述評價標(biāo)準(zhǔn)的步驟,所述重新排序步驟是將在所述評價標(biāo)準(zhǔn)重新計算步驟中算出的所述評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號并對所述評價標(biāo)準(zhǔn)排序的步驟,以及所述重新排序步驟通過部分改變在緊前一步的所述比特分配步驟中比特分配所使用的排序結(jié)果的順序來對所述評價標(biāo)準(zhǔn)排序。
7.一種音頻信號編碼裝,用于將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析向所述子帶信號分配比特、并對所述音頻信號進行編碼,其中,根據(jù)所述心理聲學(xué)分析,計算為每個所述子帶信號分配所述比特的評價標(biāo)準(zhǔn);對所述評價標(biāo)準(zhǔn)進行排序;通過重復(fù)比特分配、評價標(biāo)準(zhǔn)重新計算、及重新排序為所述多個子帶信號分配所述比特;在所述比特分配中,從所述多個子帶信號中選擇一個子帶信號,并根據(jù)所述排序的排序結(jié)果和所述重新排序的排序結(jié)果中的一個為所述子帶信號分配比特,在所述評價標(biāo)準(zhǔn)重新計算中,重新計算在所述比特分配中被分配了比特的所述子帶信號的所述評價標(biāo)準(zhǔn),在所述重新排序中,將在所述評價標(biāo)準(zhǔn)重新計算中算出的所述評價標(biāo)準(zhǔn)應(yīng)用于相應(yīng)的子帶信號,并對所述評價標(biāo)準(zhǔn)排序,以及在所述重新排序中,通過部分改變緊前一步的所述比特分配中比特分配使用的排序結(jié)果的順序?qū)λ鲈u價標(biāo)準(zhǔn)排序。
全文摘要
本發(fā)明提供了一種用于將音頻信號劃分為多個子帶信號、根據(jù)心理聲學(xué)分析為所述子帶信號分配比特、并對所述音頻信號進行編碼的音頻信號編碼方法,所述音頻信號編碼方法包括評價標(biāo)準(zhǔn)計算步驟、排序步驟及重復(fù)處理步驟。
文檔編號G10L19/02GK101046962SQ200710088820
公開日2007年10月3日 申請日期2007年3月28日 優(yōu)先權(quán)日2006年3月28日
發(fā)明者茂木幸彥, 鹽田晉 申請人:索尼株式會社