專利名稱:帶補(bǔ)償?shù)囊纛l編、解碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻編解碼技術(shù),尤其涉及帶補(bǔ)償?shù)囊纛l編、解碼方法及裝置。
背景技術(shù):
目前,音頻編碼裝置通常由四個(gè)主要部分組成,包括濾波器組、心理聲學(xué)模型、量化模塊以及編碼模塊。參見(jiàn)圖1,圖1示出了現(xiàn)有技術(shù)中音頻編碼裝置的結(jié)構(gòu)示意圖。
其中,用于對(duì)輸入信號(hào)進(jìn)行時(shí)頻域映射,將輸入信號(hào)由時(shí)域映射為變換域,得到變換域輸入信號(hào),并將所映射的變換域輸入信號(hào)輸出給量化模塊。其中,變換域或者說(shuō)頻域泛指各種為了信號(hào)處理的方便采用的變換方法得到的信號(hào)表示結(jié)果,這些變換方法包括傅立葉變換(FFT),修正離散余弦變換(MDCT)和小波變換(wavelet)等。
心理聲學(xué)模型,用于對(duì)輸入信號(hào)進(jìn)行分析,根據(jù)人耳的聽(tīng)覺(jué)模型確定輸入信號(hào)中哪些分量可以不進(jìn)行編碼,哪些分量可以用比較低的精度進(jìn)行編碼等,并生成控制信號(hào)輸出給量化模塊。
量化模塊,用于根據(jù)來(lái)自心理聲學(xué)模型的控制信號(hào)中的掩噪比及感知熵(PE,perceptual entropy)等信息,對(duì)所接收的濾波器組輸出的變換域輸入信號(hào)的每個(gè)尺度因子帶進(jìn)行比特分配及量化,生成音頻樣本信號(hào)輸出給編碼模塊。
編碼模塊,用于對(duì)量化模塊輸出的音頻樣本信號(hào)進(jìn)行熵編碼等壓縮編碼處理,生成音頻壓縮碼流輸出。
音頻解碼裝置通常由三個(gè)主要部分組成,包括解碼模塊、反量化模塊和濾波器組。參見(jiàn)圖2,圖2示出了現(xiàn)有技術(shù)中音頻解碼裝置的結(jié)構(gòu)示意圖。
其中,解碼模塊,用于對(duì)所接收的音頻壓縮碼流進(jìn)行解碼,將解碼后的音頻樣本信號(hào)輸出給反量化模塊。
反量化模塊,用于對(duì)來(lái)自解碼模塊的音頻樣本信號(hào)進(jìn)行反量化等操作,將反量化后的變換域信號(hào)輸出。
濾波器組,用于接收變換域信號(hào),將所接收的變換域信號(hào)反變換為時(shí)域信號(hào)輸出。
上述編解碼過(guò)程中,在編碼端,濾波器組將時(shí)域信號(hào)映射為變換域信號(hào),再由量化模塊對(duì)變換域信號(hào)進(jìn)行量化后,會(huì)引入量化噪聲,即量化誤差,這些量化噪聲在解碼端經(jīng)過(guò)反量化和逆變換后將分散在一幀信號(hào)的各個(gè)時(shí)域樣本上,即分布在整幀時(shí)域信號(hào)上。
如圖3(a)和圖3(b)所示,圖3(a)為編碼前的一幀時(shí)域信號(hào),圖3(b)為對(duì)圖3(a)所示信號(hào)的編碼碼流解碼后得到的時(shí)域信號(hào)。由于該幀信號(hào)為快變信號(hào),在信號(hào)中間的快變部分出現(xiàn)了劇烈變化,快變點(diǎn)T的前后,信號(hào)的幅度相差較大,因此在編碼端進(jìn)行量化時(shí),快變部分引入的量化噪聲比兩端引入的量化噪聲要大,但解碼后,快變部分及兩端引入的量化噪聲被分散分布在整幀信號(hào)上,如圖3(b)所示。由于人耳的特性,對(duì)于圖3(b)中快變點(diǎn)T之后的信號(hào),由于信號(hào)較大,因此信號(hào)的后向掩蔽時(shí)間比較長(zhǎng),處于這段時(shí)間的量化噪聲可以被掩蔽,但快變點(diǎn)之前的信號(hào),由于信號(hào)較小,甚至有些地方的噪聲比信號(hào)還大,因此,這部分噪聲不能被掩蔽,出現(xiàn)了類似回聲的噪聲,即通常所說(shuō)的“預(yù)回聲”。
針對(duì)這種情況,目前有一種方法為直接控制量化過(guò)程,進(jìn)行更高精度的量化,使得量化噪聲很小而被噪聲掩蔽,但這種方法在編碼碼率較低等情況下是無(wú)法實(shí)現(xiàn)的,并且為了達(dá)到較小的量化噪聲,編碼需要較大數(shù)量的比特,這樣一來(lái),大大降低了編碼效率,并且由于快變信號(hào)變化部分的前后信號(hào)特性不同,進(jìn)行相同的處理將導(dǎo)致其中有一部分比特會(huì)被浪費(fèi)掉。
此外,還有一種方法是減少編碼塊的長(zhǎng)度,如圖4所示,圖4為對(duì)圖3(a)所示信號(hào)進(jìn)行分塊的示意圖。圖4中,將圖3(a)所示信號(hào)劃分為3個(gè)塊,分別進(jìn)行編碼,此時(shí)A和C塊編碼的噪聲可以控制得比較小,對(duì)信號(hào)重建不產(chǎn)生明顯的影響。B塊的量化噪聲會(huì)比A和C大,但是B塊信號(hào)本聲幅度比較大,因此也可以掩蔽量化噪聲。但是在信號(hào)的處理中,這種分塊較短的方法存在兩方面的缺點(diǎn),一是頻域分辨率可能不夠,二是編碼的效率比長(zhǎng)的塊低,若長(zhǎng)短塊結(jié)合,則需要采用很復(fù)雜的長(zhǎng)短塊切換的方法。
可見(jiàn),現(xiàn)有技術(shù)中,無(wú)法較好的處理量化噪聲的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例中一方面提供一種帶補(bǔ)償?shù)囊纛l編碼方法和解碼方法,另一方面提供一種帶補(bǔ)償?shù)囊纛l編碼裝置和解碼裝置,以便降低量化噪聲的影響。
本發(fā)明實(shí)施例中所提供的帶補(bǔ)償?shù)囊纛l編碼方法,包括計(jì)算量化過(guò)程中引入的量化誤差信號(hào);對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流;將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在音頻碼流中。
較佳地,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)之前,進(jìn)一步包括對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
較佳地,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)之前,進(jìn)一步包括計(jì)算誤差補(bǔ)償區(qū)域,對(duì)所述計(jì)算的誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
其中,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為利用量化前的變換域輸入信號(hào),減去量化后的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
較佳地,對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼之前,該方法進(jìn)一步包括判斷所計(jì)算量化誤差信號(hào)的幅度變化是否平緩,如果是,則執(zhí)行所述對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼的操作;否則,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用所述轉(zhuǎn)換的時(shí)域信號(hào),減去量化前的時(shí)域輸入信號(hào),得到時(shí)域的量化誤差信號(hào),根據(jù)得到的時(shí)域的量化誤差信號(hào),執(zhí)行所述對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼的操作。
其中,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所述轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。
較佳地,該方法進(jìn)一步包括預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的下門限值;所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作之前進(jìn)一步包括對(duì)誤差補(bǔ)償區(qū)域的長(zhǎng)度進(jìn)行判斷,若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值,則執(zhí)行所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
較佳地,該方法進(jìn)一步包括預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的上門限值;若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值且小于上門限值,則所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所述轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào);若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于上門限值,則所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為利用量化前的變換域輸入信號(hào),減去量化后的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
本發(fā)明實(shí)施例中所提供的帶補(bǔ)償?shù)囊纛l解碼方法,包括從音頻碼流中分離出誤差壓縮碼流;對(duì)所述誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào);利用所得到的量化誤差信號(hào)對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
其中,若所述得到的量化誤差信號(hào)為變換域量化誤差信號(hào),則所述解碼出的音頻信號(hào)為解碼得到的變換域的音頻信號(hào);
若所述得到的量化誤差信號(hào)為時(shí)域量化誤差信號(hào),則所述解碼出的音頻信號(hào)為解碼得到的時(shí)域的音頻信號(hào)。
本發(fā)明實(shí)施例中所提供的帶補(bǔ)償?shù)囊纛l編碼裝置,包括濾波器組、心理聲學(xué)模型、量化模塊及編碼模塊,此外,還包括誤差計(jì)算編碼模塊,用于接收量化前的原始輸入信號(hào)和來(lái)自量化模塊的量化后的音頻樣本信號(hào),根據(jù)所接收的原始輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊;比特流復(fù)用模塊,將所接收的誤差壓縮碼流和來(lái)自編碼模塊的音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述濾波器組的輸出端相連;根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作;或者,所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述裝置的輸入接口相連;將所接收的來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),根據(jù)所述轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作。
其中,所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述濾波器組的輸出端相連,接收濾波器組輸出的變換域的輸入信號(hào),且還與所述裝置的輸入接口相連,接收來(lái)自輸入接口的時(shí)域的輸入信號(hào);所述誤差計(jì)算編碼模塊決策在變換域進(jìn)行編碼時(shí),根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作;所述誤差計(jì)算編碼模塊決策在時(shí)域進(jìn)行編碼時(shí),將來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),并根據(jù)所述轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作。
較佳地,該裝置進(jìn)一步包括信號(hào)類型檢測(cè)模塊,用于對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則向所述誤差計(jì)算編碼模塊發(fā)送進(jìn)行誤差處理的控制指示;所述誤差計(jì)算編碼模塊根據(jù)所述控制指示,執(zhí)行所述接收量化前的原始輸入信號(hào)和來(lái)自量化模塊的量化后的音頻樣本信號(hào)的操作。
本發(fā)明實(shí)施例中所提供的帶補(bǔ)償?shù)囊纛l解碼裝置,包括解碼模塊、反量化模塊及濾波器組,此外,還包括比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊;誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊;誤差補(bǔ)償模塊,用于根據(jù)所接收的量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
其中,所述誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和反量化模塊的輸出端相連,輸出端與濾波器組的輸入端相連,根據(jù)所接收的變換域的量化誤差信號(hào),對(duì)來(lái)自反量化模塊的解碼出的變換域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮鳎换蛘?,所述誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和濾波器組的輸出端相連,輸出端與所述裝置的輸出接口相連,根據(jù)所接收的時(shí)域的量化誤差信號(hào),對(duì)來(lái)自濾波器組的解碼出的時(shí)域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮鳌?br>
從上述方案可以看出,本發(fā)明實(shí)施例中由于在編碼端對(duì)量化過(guò)程中引入的量化誤差信號(hào)進(jìn)行量化及編碼,將量化后生成的誤差壓縮碼流攜帶在音頻碼流中,并在解碼端,從音頻碼流中分離出誤差壓縮碼流,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào),利用所得到的量化誤差信號(hào)對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。從而降低量化誤差(噪聲)對(duì)輸入信號(hào)的影響。
圖1為現(xiàn)有技術(shù)中音頻編碼裝置的結(jié)構(gòu)示意圖;
圖2為現(xiàn)有技術(shù)中音頻解碼裝置的結(jié)構(gòu)示意圖;圖3(a)為編碼前的一幀時(shí)域信號(hào);圖3(b)為對(duì)圖3(a)所示信號(hào)的編碼碼流解碼后得到的時(shí)域信號(hào);圖4為對(duì)圖3(a)所示信號(hào)進(jìn)行分塊的示意圖;圖5為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編碼方法的流程圖;圖6為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖;圖7為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖;圖8為本發(fā)明實(shí)施例一中音頻解碼裝置的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編碼方法的流程圖;圖10為劃分補(bǔ)償區(qū)域的示意圖;圖11為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖;圖12為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖;圖13為本發(fā)明實(shí)施例二中音頻解碼裝置的結(jié)構(gòu)示意圖;圖14為本發(fā)明實(shí)施例三中的一種帶補(bǔ)償?shù)囊纛l編碼方法的流程圖;圖15為本發(fā)明實(shí)施例三中的又一種帶補(bǔ)償?shù)囊纛l編碼方法的流程圖;圖16為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖;圖17為本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖;圖18為本發(fā)明實(shí)施例一中音頻解碼裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明的基本思想是在編碼端,根據(jù)量化前的原始輸入信號(hào)和量化后的音頻樣本信號(hào),計(jì)算量化過(guò)程中引入的量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在一個(gè)音頻碼流中;在解碼端,從音頻碼流中分離出誤差壓縮碼流,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào),利用所得到的量化誤差信號(hào)對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
相應(yīng)地,在編碼裝置中,增加誤差計(jì)算編碼模塊和比特流復(fù)用模塊。其中,誤差計(jì)算編碼模塊用于接收量化前的原始輸入信號(hào)和量化后的音頻樣本信號(hào),根據(jù)所接收的原始輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊;比特流復(fù)用模塊,將所接收的誤差壓縮碼流和編碼模塊輸出的音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
其中,誤差計(jì)算編碼模塊的接收端還可與濾波器組相連,接收濾波器組輸出的變換域的輸入信號(hào),并根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成計(jì)算量化誤差信號(hào)的操作;或者,誤差計(jì)算編碼模塊的接收端還與所在裝置的輸入接口相連,接收時(shí)域的原始輸入信號(hào),并將來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),并根據(jù)該轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成計(jì)算量化誤差信號(hào)的操作。
在解碼裝置中,增加比特流解復(fù)用模塊、誤差解碼模塊和誤差補(bǔ)償模決。其中,比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊;誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊;誤差補(bǔ)償模塊,用于根據(jù)量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
具體實(shí)現(xiàn)時(shí),量化誤差信號(hào)可以是變換域的量化誤差信號(hào),也可以是時(shí)域的量化誤差信號(hào)。相應(yīng)地,進(jìn)行補(bǔ)償時(shí),若量化誤差信號(hào)為變換域的量化誤差信號(hào),則對(duì)變換域的音頻信號(hào)進(jìn)行誤差補(bǔ)償;若量化誤差信號(hào)為時(shí)域的量化誤差信號(hào),則對(duì)時(shí)域的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
實(shí)施例一本實(shí)施例中,以在變換域內(nèi)進(jìn)行量化誤差計(jì)算及編碼的情況為例。
參見(jiàn)圖5,圖5為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編碼方法的流程圖。如圖5所示,該流程包括如下步驟步驟501,對(duì)當(dāng)前輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè)。
其中,對(duì)信號(hào)類型進(jìn)行檢測(cè)的方法現(xiàn)有技術(shù)中有多種,常用的一種是采用感知熵PE進(jìn)行判斷的方法。實(shí)際應(yīng)用中,使用PE進(jìn)行判斷時(shí),還需要結(jié)合具體的感知模型,或者以及結(jié)合濾波器組的結(jié)果等進(jìn)行分析判斷。
利用感知熵進(jìn)行判斷時(shí),首先需要估算感知熵的取值,如感知熵的估算可采用計(jì)算公式PE=1NΣf=flf=fumax(0,log2|signal(f)|threshold(f))---(1)]]>其中,N為頻率分量的個(gè)數(shù),fl和fu為頻率的上下邊界,如取0Hz和20000Hz。signal(f)為頻率分量f的幅度,threshold(f)為估算出對(duì)應(yīng)于頻率分量f的閾值。當(dāng)PE大于預(yù)設(shè)的某個(gè)閾值時(shí),認(rèn)為信號(hào)是快變信號(hào),否則為緩變信號(hào)。
此外,信號(hào)類型檢測(cè)還可以采用任何已知的瞬態(tài)檢測(cè)方法等,或者是采用估計(jì)音頻幀的能量的方法,當(dāng)出現(xiàn)大的能量變換時(shí),則可認(rèn)為該信號(hào)類型發(fā)生改變,存在快變信號(hào)。此處不再一一贅述。
步驟502,判斷當(dāng)前輸入信號(hào)是否為快變信號(hào),如果是,則執(zhí)行步驟503;否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
步驟503,在現(xiàn)有編碼過(guò)程進(jìn)行中,在變換域內(nèi)計(jì)算量化過(guò)程中引入的量化誤差信號(hào)。
本步驟中,誤差信號(hào)的計(jì)算如下y(n)=e(n)=x(n)-x^(n),]]>其中 是現(xiàn)有編碼過(guò)程中量化后的重建信號(hào),即量化后的音頻樣本信號(hào),x(n)是量化前的輸入信號(hào),y(n)=e(n)是量化誤差信號(hào)。即本實(shí)施例中,將量化前的變換域輸入信號(hào),減去量化后得到的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
可見(jiàn),如果把y(n)作為一個(gè)獨(dú)立的信號(hào),它本身也有時(shí)頻域的特性,因此可以對(duì)y(n)進(jìn)行量化編碼。
步驟504,對(duì)所計(jì)算的變換域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。
本步驟中,對(duì)步驟503中計(jì)算得到的變換域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。其中,對(duì)誤差信號(hào)進(jìn)行量化的方法可以是采用線性的量化,也可以是采用與現(xiàn)有音頻編碼中進(jìn)行量化時(shí)一致的方法,即進(jìn)行壓擴(kuò)以后再量化等。編碼方法也可采用與現(xiàn)有音頻編碼中進(jìn)行編碼時(shí)一致的方法步驟505,將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在一起,形成音頻碼流中輸出,并結(jié)束本次流程。
其中,復(fù)用方法可與現(xiàn)有技術(shù)中的復(fù)用方法一致,將各個(gè)內(nèi)容的碼流按照約定的方法或格式排放在一起。
上述流程中,可只執(zhí)行步驟503至步驟505,而無(wú)需執(zhí)行步驟501至步驟502,即對(duì)所有輸入信號(hào)都執(zhí)行步驟503至步驟505的操作,而不管該信號(hào)是否是快變信號(hào)。
以上對(duì)本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l解碼方法進(jìn)行詳細(xì)描述。
參見(jiàn)圖6,圖6為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖。如圖6所示,該流程包括如下步驟步驟601,從音頻碼流中分離出誤差壓縮碼流。
本步驟中,對(duì)所接收碼流進(jìn)行解復(fù)用,從音頻碼流中分離出誤差壓縮碼流。其中,解復(fù)用的過(guò)程與復(fù)用過(guò)程相對(duì)應(yīng),為復(fù)用過(guò)程的逆過(guò)程,按照約定的方法或格式將各個(gè)內(nèi)容的碼流取出來(lái)。
步驟602,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化,得到變換域的量化誤差信號(hào)。
本步驟中,解碼及反量化過(guò)程與編碼時(shí)的量化及編碼過(guò)程相對(duì)應(yīng),具體方法,可按照現(xiàn)有解碼流程進(jìn)行,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化后,得到變換域的量化誤差信號(hào)。
步驟603,利用所得到的變換域的量化誤差信號(hào)對(duì)解碼出的變換域的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
本步驟中,將現(xiàn)有解碼流程中,反量化模塊解碼出的變換域的音頻信號(hào)進(jìn)行誤差補(bǔ)償,具體補(bǔ)償過(guò)程為x~(n)=x^(n)+y^(n),]]>其中, 是補(bǔ)償后的變換域的音頻信號(hào), 是解碼端得到的量化誤差信號(hào), 是解碼出的變換域的音頻信號(hào)。
步驟604,將補(bǔ)償后的變換域的音頻信號(hào)轉(zhuǎn)換為時(shí)域的音頻信號(hào)輸出。
以上對(duì)本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編、解碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編、解碼裝置進(jìn)行詳細(xì)描述。
參見(jiàn)圖7,圖7為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖。如圖7中的實(shí)線部分所示,該裝置除了包括濾波器組、心理聲學(xué)模型、量化模塊及編碼模塊以外,還包括誤差計(jì)算編碼模塊和比特流復(fù)用模塊。
其中,濾波器組,用于對(duì)輸入信號(hào)進(jìn)行時(shí)頻域映射,將輸入信號(hào)由時(shí)域映射為變換域,得到變換域輸入信號(hào),并將所映射的變換域輸入信號(hào)輸出給量化模塊及誤差計(jì)算編碼模塊。
心理聲學(xué)模型,用于對(duì)輸入信號(hào)進(jìn)行分析,根據(jù)人耳的聽(tīng)覺(jué)模型確定輸入信號(hào)中哪些分量可以不進(jìn)行編碼,哪些分量可以用比較低的精度進(jìn)行編碼等,并生成控制信號(hào)輸出給量化模塊。
量化模塊,用于根據(jù)來(lái)自心理聲學(xué)模型的控制信號(hào)中的掩噪比及感知熵等信息,對(duì)所接收的濾波器組輸出的變換域信號(hào)的每個(gè)尺度因子帶進(jìn)行比特分配及量化,生成音頻樣本信號(hào)輸出給編碼模塊。
編碼模塊,用于對(duì)量化模塊輸出的音頻樣本信號(hào)進(jìn)行熵編碼等壓縮編碼處理,生成音頻壓縮碼流輸出給比特流復(fù)用模塊。
誤差計(jì)算編碼模塊,用于接收來(lái)自濾波器組的變換域輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào),根據(jù)所接收的變換域輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊。
比特流復(fù)用模塊,用于接收來(lái)自誤差計(jì)算編碼模塊的誤差壓縮碼流和來(lái)自編碼模塊的音頻壓縮碼流,將所接收的誤差壓縮碼流和音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
此外,如圖7中的虛線部分所示,該裝置可進(jìn)一步包括信號(hào)類型檢測(cè)模塊,用于對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則向誤差計(jì)算編碼模塊發(fā)送進(jìn)行誤差處理的控制指示。
誤差計(jì)算編碼模塊接收到上述進(jìn)行誤差處理的控制指示后,執(zhí)行上述接收來(lái)自濾波器組的變換域輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào),根據(jù)所接收的變換域輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊的操作。
其中,若信號(hào)類型檢測(cè)模塊采用感知熵的方法進(jìn)行檢測(cè),則該感知熵的取值可從心理聲學(xué)模型中獲取,或者也可以通過(guò)自身進(jìn)行計(jì)算。
參見(jiàn)圖8,圖8為本發(fā)明實(shí)施例一中音頻解碼裝置的結(jié)構(gòu)示意圖。如圖8所示,該裝置除了包括解碼模塊、反量化模塊和濾波器組以外,還包括比特流解復(fù)用模塊、誤差解碼模塊和誤差補(bǔ)償模塊。
其中,比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊,將分離后的音頻壓縮碼流輸出給解碼模塊。
誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊。
解碼模塊,用于對(duì)所接收的音頻壓縮碼流進(jìn)行解碼,將解碼后的音頻樣本信號(hào)輸出給反量化模塊。
反量化模塊,用于對(duì)來(lái)自解碼模塊的音頻樣本信號(hào)進(jìn)行反量化等操作,將反量化后的變換域信號(hào)輸出。
誤差補(bǔ)償模塊,用于根據(jù)量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
濾波器組,用于接收變換域信號(hào),將所接收的變換域信號(hào)反變換為時(shí)域信號(hào)輸出。
其中,誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和反量化模塊的輸出端相連,輸出端與濾波器組的輸入端相連,誤差補(bǔ)償模塊根據(jù)所接收的來(lái)自誤差解碼模塊的變換域的量化誤差信號(hào),對(duì)來(lái)自反量化模塊的解碼出的變換域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮鳎瑢⒀a(bǔ)償后的變換域信號(hào)輸出給濾波器組。
實(shí)施例二本實(shí)施例中,以在時(shí)域內(nèi)進(jìn)行量化誤差計(jì)算及編碼的情況為例。
參見(jiàn)圖9,圖9為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編碼方法的流程圖。如圖9所示,該流程包括如下步驟步驟901,對(duì)當(dāng)前輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè)。
本步驟的具體實(shí)現(xiàn)過(guò)程可與圖5所示步驟501中的描述一致。
步驟902,判斷當(dāng)前輸入信號(hào)是否為快變信號(hào),如果是,則執(zhí)行步驟903;否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
步驟903,在現(xiàn)有編碼過(guò)程進(jìn)行中,在時(shí)域內(nèi)計(jì)算量化過(guò)程中引入的量化誤差信號(hào)。
本步驟中,誤差信號(hào)的計(jì)算同樣為y(n)=e(n)=x(n)-x^(n),]]>其中 是現(xiàn)有編碼過(guò)程中量化后的重建信號(hào),即量化后的音頻樣本信號(hào),x(n)是量化前的輸入信號(hào),y(n)=e(n)是量化誤差信號(hào)。即本實(shí)施例中,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。
同樣,如果把y(n)作為一個(gè)獨(dú)立的信號(hào),它本身也有時(shí)頻域的特性,因此可以對(duì)y(n)進(jìn)行量化編碼。
本實(shí)施例中,進(jìn)一步地,在計(jì)算量化過(guò)程中引入的量化誤差信號(hào)之前,還可以進(jìn)一步包括計(jì)算誤差補(bǔ)償區(qū)域的操作,如圖10所示,圖10為劃分補(bǔ)償區(qū)域的示意圖。在進(jìn)行時(shí)域的量化噪聲補(bǔ)償?shù)臅r(shí)候,可以只補(bǔ)償圖10中前面可能產(chǎn)生“預(yù)回聲”的部分而不需要對(duì)本幀輸入信號(hào)的所有量化噪聲(誤差)都進(jìn)行補(bǔ)償。即對(duì)于快變信號(hào)來(lái)說(shuō),誤差補(bǔ)償區(qū)域即指快變點(diǎn)T之前的一段區(qū)域,如圖10所示補(bǔ)償區(qū)域。
可見(jiàn),選擇補(bǔ)償區(qū)域的關(guān)鍵就是找到信號(hào)發(fā)生快變的T點(diǎn)。其中,確定信號(hào)發(fā)生快變的T點(diǎn)的方法可以有多種,比如可將信號(hào)劃分成若干段,計(jì)算每一小段信號(hào)的能量,相鄰段之間發(fā)生很大改變時(shí),就是信號(hào)發(fā)生快變的位置?;蛘哂?jì)算每一小段信號(hào)的幅度的絕對(duì)值,也可以找到快變點(diǎn)。還有計(jì)算信號(hào)的包絡(luò),判斷包絡(luò)的變化趨勢(shì)也可以找到信號(hào)發(fā)生快變的位置。具體采用哪種計(jì)算方法可根據(jù)實(shí)際情況而定。
之后,對(duì)所計(jì)算的誤差補(bǔ)償區(qū)域執(zhí)行計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
進(jìn)一步地,還可預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的下門限值;對(duì)步驟903中計(jì)算的誤差補(bǔ)償區(qū)域的長(zhǎng)度進(jìn)行判斷,若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值,則執(zhí)行計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作,否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
步驟904,對(duì)所計(jì)算的時(shí)域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。
本步驟中,對(duì)步驟903中計(jì)算得到的時(shí)域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。其中,對(duì)誤差信號(hào)進(jìn)行量化的方法可以是采用線性的量化,也可以是采用與現(xiàn)有音頻編碼中進(jìn)行量化時(shí)一致的方法,即進(jìn)行壓擴(kuò)以后再量化等。編碼方法也可采用與現(xiàn)有音頻編碼中進(jìn)行編碼時(shí)一致的方法步驟905,將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出,并結(jié)束本次流程。
其中,復(fù)用方法可與現(xiàn)有技術(shù)中的復(fù)用方法一致,將各個(gè)內(nèi)容的碼流按照約定的方法或格式排放在一起。
上述流程中,可只執(zhí)行步驟903至步驟905,而無(wú)需執(zhí)行步驟901至步驟902,即對(duì)所有輸入信號(hào)都執(zhí)行步驟903至步驟905的操作,而不管該信號(hào)是否是快變信號(hào)。此時(shí),若執(zhí)行步驟903中描述的計(jì)算誤差補(bǔ)償區(qū)域的操作,則對(duì)于非快變信號(hào),其誤差補(bǔ)償區(qū)域的長(zhǎng)度可以是整幀信號(hào)的長(zhǎng)度。
以上對(duì)本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l解碼方法進(jìn)行詳細(xì)描述。
參見(jiàn)圖11,圖11為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖。如圖11所示,該流程包括如下步驟步驟1101,從音頻碼流中分離出誤差壓縮碼流。
本步驟中,對(duì)所接收碼流進(jìn)行解復(fù)用,從音頻碼流中分離出誤差壓縮碼流。其中,解復(fù)用的過(guò)程與復(fù)用過(guò)程相對(duì)應(yīng),為復(fù)用過(guò)程的逆過(guò)程,按照約定的方法或格式將各個(gè)內(nèi)容的碼流取出來(lái)。
步驟1102,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化,得到時(shí)域的量化誤差信號(hào)。
本步驟中,解碼及反量化過(guò)程與編碼時(shí)的量化及編碼過(guò)程相對(duì)應(yīng),具體方法,可按照現(xiàn)有解碼流程進(jìn)行,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化后,得到時(shí)域的量化誤差信號(hào)。
步驟1103,利用所得到的時(shí)域的量化誤差信號(hào)對(duì)解碼出的時(shí)域的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
本步驟中,將現(xiàn)有解碼流程中,濾波器組轉(zhuǎn)換后的解碼出的時(shí)域的音頻信號(hào)進(jìn)行誤差補(bǔ)償,具體補(bǔ)償過(guò)程為x~(n)=x^(n)+y^(n),]]>其中, 是補(bǔ)償后的時(shí)域的音頻信號(hào), 是解碼端得到的量化誤差信號(hào), 是解碼出的時(shí)的音頻信號(hào),將補(bǔ)償后的時(shí)域的音頻信號(hào)輸出。
以上對(duì)本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編、解碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編、解碼裝置進(jìn)行詳細(xì)描述。
參見(jiàn)圖12,圖12為本發(fā)明實(shí)施例二中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖。如圖12中的實(shí)線部分所示,該裝置除了包括濾波器組、心理聲學(xué)模型、量化模塊及編碼模塊以外,還包括誤差計(jì)算編碼模塊和比特流復(fù)用模塊。
其中,濾波器組,用于對(duì)輸入信號(hào)進(jìn)行時(shí)頻域映射,將輸入信號(hào)由時(shí)域映射為變換域,得到變換域輸入信號(hào),并將所映射的變換域輸入信號(hào)輸出給量化模塊。
心理聲學(xué)模型,用于對(duì)輸入信號(hào)進(jìn)行分析,根據(jù)人耳的聽(tīng)覺(jué)模型確定輸入信號(hào)中哪些分量可以不進(jìn)行編碼,哪些分量可以用比較低的精度進(jìn)行編碼等,并生成控制信號(hào)輸出給量化模塊。
量化模塊,用于根據(jù)來(lái)自心理聲學(xué)模型的控制信號(hào)中的掩噪比及感知熵等信息,對(duì)所接收的濾波器組輸出的變換域信號(hào)的每個(gè)尺度因子帶進(jìn)行比特分配及量化,生成音頻樣本信號(hào)輸出給編碼模塊。
編碼模塊,用于對(duì)量化模塊輸出的音頻樣本信號(hào)進(jìn)行熵編碼等壓縮編碼處理,生成音頻壓縮碼流輸出給比特流復(fù)用模塊。
誤差計(jì)算編碼模塊,用于接收該裝置輸入接口的時(shí)域輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào),將所接收的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),根據(jù)所轉(zhuǎn)換的時(shí)域信號(hào)和所接收的時(shí)域輸入信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊。
比特流復(fù)用模塊,用于接收來(lái)自誤差計(jì)算編碼模塊的誤差壓縮碼流和來(lái)自編碼模塊的音頻壓縮碼流,將所接收的誤差壓縮碼流和音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
此外,如圖12中的虛線部分所示,該裝置可進(jìn)一步包括信號(hào)類型檢測(cè)模塊,用于對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則向誤差計(jì)算編碼模塊發(fā)送進(jìn)行誤差處理的控制指示。
誤差計(jì)算編碼模塊接收到上述進(jìn)行誤差處理的控制指示后,執(zhí)行上述接收該裝置輸入接口的時(shí)域輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào),將所接收的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),根據(jù)所轉(zhuǎn)換的時(shí)域信號(hào)和所接收的時(shí)域輸入信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊的操作。
其中,若信號(hào)類型檢測(cè)模塊采用感知熵的方法進(jìn)行檢測(cè),則該感知熵的取值可從心理聲學(xué)模型中獲取,或者也可以通過(guò)自身進(jìn)行計(jì)算。
此外,進(jìn)一步地,誤差計(jì)算編碼模塊還用于計(jì)算輸入信號(hào)的誤差補(bǔ)償區(qū)域,對(duì)所計(jì)算的誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化誤差信號(hào)的操作。
參見(jiàn)圖13,圖13為本發(fā)明實(shí)施例二中音頻解碼裝置的結(jié)構(gòu)示意圖。如圖13所示,該裝置除了包括解碼模塊、反量化模塊和濾波器組以外,還包括比特流解復(fù)用模塊、誤差解碼模塊和誤差補(bǔ)償模塊。
其中,比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊,將分離后的音頻壓縮碼流輸出給解碼模塊。
誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊。
解碼模塊,用于對(duì)所接收的音頻壓縮碼流進(jìn)行解碼,將解碼后的音頻樣本信號(hào)輸出給反量化模塊。
反量化模塊,用于對(duì)來(lái)自解碼模塊的音頻樣本信號(hào)進(jìn)行反量化等操作,將反量化后的變換域信號(hào)輸出。
誤差補(bǔ)償模塊,用于根據(jù)量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
濾波器組,用于接收變換域信號(hào),將所接收的變換域信號(hào)反變換為時(shí)域信號(hào)輸出。
其中,誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和濾波器組的輸出端相連,輸出端與所述裝置的輸出接口相連,誤差補(bǔ)償模塊根據(jù)所接收的時(shí)域的量化誤差信號(hào),對(duì)來(lái)自濾波器組的解碼出的時(shí)域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮?,將補(bǔ)償后的時(shí)域信號(hào)輸出。
實(shí)施例三本實(shí)施例中,以既可以在變換域內(nèi)進(jìn)行量化誤差計(jì)算及編碼,又可以在時(shí)域內(nèi)進(jìn)行量化誤差計(jì)算及編碼的情況為例,具體采用哪種形式可以根據(jù)實(shí)際需要進(jìn)行判斷。
參見(jiàn)圖14,圖14為本發(fā)明實(shí)施例三中的一種帶補(bǔ)償?shù)囊纛l編碼方法的流程圖。如圖14所示,該流程包括如下步驟步驟1401,對(duì)當(dāng)前輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè)。
本步驟的具體實(shí)現(xiàn)過(guò)程可與圖5所示步驟501中的描述一致。
步驟1402,判斷當(dāng)前輸入信號(hào)是否為快變信號(hào),如果是,則執(zhí)行步驟1403;否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
步驟1403,在現(xiàn)有編碼過(guò)程進(jìn)行中,在變換域內(nèi)計(jì)算量化過(guò)程中引入的量化誤差信號(hào)。
本步驟中,誤差信號(hào)的計(jì)算如下y(n)=e(n)=x(n)-x^(n),]]>其中 是現(xiàn)有編碼過(guò)程中量化后的重建信號(hào),即量化后的音頻樣本信號(hào),x(n)是量化前的輸入信號(hào),y(n)=e(n)是量化誤差信號(hào)。即本實(shí)施例中,將量化前的變換域輸入信號(hào),減去量化后得到的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
同樣,如果把y(n)作為一個(gè)獨(dú)立的信號(hào),它本身也有時(shí)頻域的特性,因此可以對(duì)y(n)進(jìn)行量化編碼。
步驟1404,判斷所計(jì)算的變換域的量化誤差信號(hào)的幅度變化是否平緩,如果是,則執(zhí)行步驟1406;否則,執(zhí)行步驟1405。
步驟1405,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。
本步驟中,將現(xiàn)有編碼過(guò)程中量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),之后減去量化前的時(shí)域輸入信號(hào),得到時(shí)域的量化誤差信號(hào)。
步驟1406,對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。
本步驟中,可對(duì)步驟1403中計(jì)算得到的變換域的量化誤差信號(hào)進(jìn)行量化及編碼,也可以對(duì)步驟1405中計(jì)算得到的時(shí)域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。其中,對(duì)誤差信號(hào)進(jìn)行量化的方法可以是采用線性的量化,也可以是采用與現(xiàn)有音頻編碼中進(jìn)行量化時(shí)一致的方法,即進(jìn)行壓擴(kuò)以后再量化等。編碼方法也可采用與現(xiàn)有音頻編碼中進(jìn)行編碼時(shí)一致的方法步驟1407,將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在音頻碼流中輸出,并結(jié)束本次流程。
其中,復(fù)用方法可與現(xiàn)有技術(shù)中的復(fù)用方法一致,將各個(gè)內(nèi)容的碼流按照約定的方法或格式排放在一起。
上述流程中,可只執(zhí)行步驟1403至步驟1407,而無(wú)需執(zhí)行步驟1401至步驟1402,即對(duì)所有輸入信號(hào)都執(zhí)行步驟1403至步驟1407的操作,而不管該信號(hào)是否是快變信號(hào)。
參見(jiàn)圖15,圖15為本發(fā)明實(shí)施例三中的又一種帶補(bǔ)償?shù)囊纛l編碼方法的流程圖。如圖15所示,該流程包括如下步驟步驟1501,對(duì)當(dāng)前輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè)。
本步驟的具體實(shí)現(xiàn)過(guò)程可與圖5所示步驟501中的描述一致。
步驟1502,判斷當(dāng)前輸入信號(hào)是否為快變信號(hào),如果是,則執(zhí)行步驟1503;否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
步驟1503,計(jì)算誤差補(bǔ)償區(qū)域。
本步驟中,計(jì)算誤差補(bǔ)償區(qū)域的方法可與圖9所示步驟903中的描述一致,即實(shí)際應(yīng)用中,可以只補(bǔ)償前面可能產(chǎn)生“預(yù)回聲”的部分而不需要對(duì)本幀輸入信號(hào)的所有量化噪聲(誤差)都進(jìn)行補(bǔ)償。
即對(duì)于快變信號(hào)來(lái)說(shuō),誤差補(bǔ)償區(qū)域即指快變點(diǎn)T之前的一段區(qū)域,其中,確定信號(hào)發(fā)生快變的T點(diǎn)的方法可以有多種,比如可將信號(hào)劃分成若干段,計(jì)算每一小段信號(hào)的能量,相鄰段之間發(fā)生很大改變時(shí),就是信號(hào)發(fā)生快變的位置?;蛘哂?jì)算每一小段信號(hào)的幅度的絕對(duì)值,也可以找到快變點(diǎn)。還有計(jì)算信號(hào)的包絡(luò),判斷包絡(luò)的變化趨勢(shì)也可以找到信號(hào)發(fā)生快變的位置。具體采用哪種計(jì)算方法可根據(jù)實(shí)際情況而定。
步驟1504,根據(jù)誤差補(bǔ)償區(qū)域的長(zhǎng)度,確定量化誤差信號(hào)的編碼方式,若確定在時(shí)域內(nèi)編碼,則執(zhí)行步驟1505,若確定在變換域內(nèi)編碼,則執(zhí)行步驟1506,否則,執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
具體實(shí)現(xiàn)時(shí),可預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的下門限值和上門限值;對(duì)步驟1503中計(jì)算的誤差補(bǔ)償區(qū)域的長(zhǎng)度進(jìn)行判斷,若誤差補(bǔ)償區(qū)域長(zhǎng)度小于下門限值,則執(zhí)行現(xiàn)有編碼過(guò)程,生成音頻壓縮碼流輸出,結(jié)束本次流程。
若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值且小于上門限值,則確定在時(shí)域內(nèi)編碼,執(zhí)行步驟1505;若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于上門限值,則確定在變換域內(nèi)編碼,執(zhí)行步驟1506。
步驟1505,在現(xiàn)有編碼過(guò)程進(jìn)行中,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。之后執(zhí)行步驟1507。
本步驟中,誤差信號(hào)的計(jì)算同樣為y(n)=e(n)=x(n)-x^(n),]]>其中 是量化后的重建信號(hào),x(n)是量化前的輸入信號(hào),y(n)=e(n)是量化誤差信號(hào)。即本實(shí)施例中,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。
步驟1506,在現(xiàn)有編碼過(guò)程進(jìn)行中,利用量化前的變換域輸入信號(hào),減去量化后的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
本步驟中,誤差信號(hào)的計(jì)算如下y(n)=e(n)=x(n)-x^(n),]]>其中 是量化后的重建信號(hào),x(n)是量化前的輸入信號(hào),y(n)=e(n)是量化誤差信號(hào)。即本實(shí)施例中,將量化前的變換域輸入信號(hào),減去量化后得到的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
步驟1507,對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。
本步驟中,可對(duì)步驟1505中計(jì)算得到的時(shí)域的量化誤差信號(hào)進(jìn)行量化及編碼,也可以對(duì)步驟1506中計(jì)算得到的變換域的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流。其中,對(duì)誤差信號(hào)進(jìn)行量化的方法可以是采用線性的量化,也可以是采用與現(xiàn)有音頻編碼中進(jìn)行量化時(shí)一致的方法,即進(jìn)行壓擴(kuò)以后再量化等。編碼方法也可采用與現(xiàn)有音頻編碼中進(jìn)行編碼時(shí)一致的方法。
步驟1508,將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在音頻碼流中輸出,并結(jié)束本次流程。
其中,復(fù)用方法可與現(xiàn)有技術(shù)中的復(fù)用方法一致,將各個(gè)內(nèi)容的碼流按照約定的方法或格式排放在一起。
上述流程中,可只執(zhí)行步驟1503至步驟1508,而無(wú)需執(zhí)行步驟1501至步驟1502,即對(duì)所有輸入信號(hào)都執(zhí)行步驟1503至步驟1508的操作,而不管該信號(hào)是否是快變信號(hào)。此時(shí),對(duì)于非快變信號(hào),其誤差補(bǔ)償區(qū)域的長(zhǎng)度可以是整幀信號(hào)的長(zhǎng)度。
上述圖14和圖15所示流程中,由于根據(jù)具體情況,可選擇在變換域內(nèi)進(jìn)行量化誤差信號(hào)編碼,也可選擇在時(shí)域內(nèi)進(jìn)行量化誤差信號(hào)編碼,因此在對(duì)量化誤差信號(hào)進(jìn)行量化及編碼時(shí),應(yīng)提供當(dāng)前量化誤差信號(hào)所使用的編碼域的信息,以便解碼端根據(jù)該編碼域信息,在對(duì)應(yīng)域內(nèi)進(jìn)行解碼。
以上對(duì)本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l編碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l解碼方法進(jìn)行詳細(xì)描述。
參見(jiàn)圖16,圖16為本發(fā)明實(shí)施例一中帶補(bǔ)償?shù)囊纛l解碼方法的流程圖。如圖16所示,該流程包括如下步驟步驟1601,從音頻碼流中分離出誤差壓縮碼流。
本步驟中,對(duì)所接收碼流進(jìn)行解復(fù)用,從音頻碼流中分離出誤差壓縮碼流。其中,解復(fù)用的過(guò)程與復(fù)用過(guò)程相對(duì)應(yīng),為復(fù)用過(guò)程的逆過(guò)程,按照約定的方法或格式將各個(gè)內(nèi)容的碼流取出來(lái)。
步驟1602,對(duì)誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào),若所得到量化誤差信號(hào)為變換域的量化誤差信號(hào),則執(zhí)行步驟1603;否則,執(zhí)行步驟1605。
本步驟中,解碼及反量化過(guò)程與編碼時(shí)的量化及編碼過(guò)程相對(duì)應(yīng),具體方法,可按照現(xiàn)有解碼流程進(jìn)行。
步驟1603,利用所得到的變換域的量化誤差信號(hào)對(duì)解碼出的變換域的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
本步驟中,將現(xiàn)有解碼流程中,反量化模塊解碼出的變換域的音頻信號(hào)進(jìn)行誤差補(bǔ)償,具體補(bǔ)償過(guò)程為x~(n)=x^(n)+y^(n),]]>其中, 是補(bǔ)償后的變換域的音頻信號(hào), 是解碼端得到的量化誤差信號(hào), 是解碼出的變換域的音頻信號(hào)。
步驟1604,將補(bǔ)償后的變換域的音頻信號(hào)轉(zhuǎn)換為時(shí)域的音頻信號(hào),輸出,結(jié)束本流程。
步驟1605,利用所得到的時(shí)域的量化誤差信號(hào)對(duì)解碼出的時(shí)域的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
本步驟中,將現(xiàn)有解碼流程中,濾波器組轉(zhuǎn)換后的解碼出的時(shí)域的音頻信號(hào)進(jìn)行誤差補(bǔ)償,具體補(bǔ)償過(guò)程為x~(n)=x^(n)+y^(n),]]>其中, 是補(bǔ)償后的時(shí)域的音頻信號(hào), 是解碼端得到的量化誤差信號(hào), 是解碼出的時(shí)的音頻信號(hào)。將補(bǔ)償后的時(shí)域的音頻信號(hào)輸出。
以上對(duì)本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l編、解碼方法進(jìn)行了詳細(xì)描述,下面再對(duì)本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l編、解碼裝置進(jìn)行詳細(xì)描述。
參見(jiàn)圖17,圖17為本發(fā)明實(shí)施例三中帶補(bǔ)償?shù)囊纛l編碼裝置的結(jié)構(gòu)圖。如圖17中的實(shí)線部分所示,該裝置除了包括濾波器組、心理聲學(xué)模型、量化模塊及編碼模塊以外,還包括誤差計(jì)算編碼模塊和比特流復(fù)用模塊。
其中,濾波器組,用于對(duì)輸入信號(hào)進(jìn)行時(shí)頻域映射,將輸入信號(hào)由時(shí)域映射為變換域,得到變換域輸入信號(hào),并將所映射的變換域輸入信號(hào)輸出給量化模塊。
心理聲學(xué)模型,用于對(duì)輸入信號(hào)進(jìn)行分析,根據(jù)人耳的聽(tīng)覺(jué)模型確定輸入信號(hào)中哪些分量可以不進(jìn)行編碼,哪些分量可以用比較低的精度進(jìn)行編碼等,并生成控制信號(hào)輸出給量化模塊。
量化模塊,用于根據(jù)來(lái)自心理聲學(xué)模型的控制信號(hào)中的掩噪比及感知熵等信息,對(duì)所接收的濾波器組輸出的變換域信號(hào)的每個(gè)尺度因子帶進(jìn)行比特分配及量化,生成音頻樣本信號(hào)輸出給編碼模塊。
編碼模塊,用于對(duì)量化模塊輸出的音頻樣本信號(hào)進(jìn)行熵編碼等壓縮編碼處理,生成音頻壓縮碼流輸出給比特流復(fù)用模塊。
誤差計(jì)算編碼模塊,用于接收原始輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào),根據(jù)所接收的原始輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊。
比特流復(fù)用模塊,用于接收來(lái)自誤差計(jì)算編碼模塊的誤差壓縮碼流和來(lái)自編碼模塊的音頻壓縮碼流,將所接收的誤差壓縮碼流和音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
其中,誤差計(jì)算編碼模塊的接收端與量化模塊的輸出端和濾波器組的輸出端相連,則原始輸入信號(hào)可以是接收濾波器組輸出的變換域的輸入信號(hào),且還與所述裝置的輸入接口相連,則原始輸入信號(hào)還可以是接收的輸入接口的時(shí)域的輸入信號(hào);其中,誤差計(jì)算編碼模塊決策在變換域進(jìn)行編碼時(shí),根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成上述計(jì)算量化誤差信號(hào)的操作;當(dāng)誤差計(jì)算編碼模塊決策在時(shí)域進(jìn)行編碼時(shí),將來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),并根據(jù)所轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成上述計(jì)算量化誤差信號(hào)的操作。
其中,誤差計(jì)算編碼模塊決策在變換域進(jìn)行編碼,還是在時(shí)域進(jìn)行編碼的方法,可以是按照?qǐng)D14所述流程中描述的方法,也可以是按照?qǐng)D15所述流程中描述的方法,或者還可以是其它的方法。
此外,如圖17中的虛線部分所示,該裝置可進(jìn)一步包括信號(hào)類型檢測(cè)模塊,用于對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則向誤差計(jì)算編碼模塊發(fā)送進(jìn)行誤差處理的控制指示。
誤差計(jì)算編碼模塊接收到上述進(jìn)行誤差處理的控制指示后,執(zhí)行上述接收原始輸入信號(hào)和量化模塊輸出的音頻樣本信號(hào)等的操作。
其中,若信號(hào)類型檢測(cè)模塊采用感知熵的方法進(jìn)行檢測(cè),則該感知熵的取值可從心理聲學(xué)模型中獲取,或者也可以通過(guò)自身進(jìn)行計(jì)算。
此外,進(jìn)一步地,誤差計(jì)算編碼模塊還用于計(jì)算輸入信號(hào)的誤差補(bǔ)償區(qū)域,對(duì)所計(jì)算的誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化誤差信號(hào)的操作。
參見(jiàn)圖18,圖18為本發(fā)明實(shí)施例一中音頻解碼裝置的結(jié)構(gòu)示意圖。如圖18所示,該裝置除了包括解碼模塊、反量化模塊和濾波器組以外,還包括比特流解復(fù)用模塊、誤差解碼模塊和誤差補(bǔ)償模塊。
其中,比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊,將分離后的音頻壓縮碼流輸出給解碼模塊。
誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊。
解碼模塊,用于對(duì)所接收的音頻壓縮碼流進(jìn)行解碼,將解碼后的音頻樣本信號(hào)輸出給反量化模塊。
反量化模塊,用于對(duì)來(lái)自解碼模塊的音頻樣本信號(hào)進(jìn)行反量化等操作,將反量化后的變換域信號(hào)輸出。
誤差補(bǔ)償模塊,用于根據(jù)量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
濾波器組,用于接收變換域信號(hào),將所接收的變換域信號(hào)反變換為時(shí)域信號(hào)輸出。
其中,誤差補(bǔ)償模塊的接收端可以與誤差解碼模塊的輸出端和反量化模塊的輸出端相連,輸出端與濾波器組的輸入端相連,誤差補(bǔ)償模塊根據(jù)所接收的來(lái)自誤差解碼模塊的變換域的量化誤差信號(hào),對(duì)來(lái)自反量化模塊的解碼出的變換域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮?,將補(bǔ)償后的變換域信號(hào)輸出給濾波器組。
或者,誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和濾波器組的輸出端相連,輸出端與所述裝置的輸出接口相連,根據(jù)所接收的時(shí)域的量化誤差信號(hào),對(duì)來(lái)自濾波器組的解碼出的時(shí)域音頻信號(hào)執(zhí)行上述進(jìn)行誤差補(bǔ)償?shù)牟僮?,將補(bǔ)償后的時(shí)域信號(hào)輸出。
圖18中,為了描述清晰,將兩種情況按照分支的方式進(jìn)行處理,實(shí)際上,圖18中的兩個(gè)誤差補(bǔ)償模塊實(shí)際上是同一個(gè)誤差補(bǔ)償模塊,兩個(gè)濾波器組也是同一個(gè)濾波器組,具體實(shí)現(xiàn)時(shí),誤差補(bǔ)償模塊的接收端和輸出端與哪個(gè)模塊相連,可根據(jù)誤差解碼模塊解碼出的量化誤差信號(hào)是變換域的量化誤差信號(hào),還是時(shí)域的量化誤差信號(hào)而定,若量化誤差信號(hào)為變換域的量化誤差信號(hào),則誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和反量化模塊的輸出端相連,輸出端與濾波器組的輸入端相連;若量化誤差信號(hào)為時(shí)域的量化誤差信號(hào),誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和濾波器組的輸出端相連,輸出端與輸出接口相連。
上述各實(shí)施例中提到的編碼過(guò)程可以是熵編碼,并且熵編碼的方法可以是霍夫曼(Huffman)編碼,香農(nóng)編碼或者算術(shù)編碼等。
此外,上述各實(shí)施例中所描述的對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼的過(guò)程可以是一層,即直接對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,生成一次量化壓縮碼流,復(fù)用到音頻碼流中;也可以是兩層,即對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,生成一次量化壓縮碼流后,再對(duì)該次量化過(guò)程中引入的量化誤差進(jìn)行量化及編碼,生成二次量化壓縮碼流,將一次量化壓縮碼流和二次量化壓縮碼流共同復(fù)用到音頻碼流中;或者還可以是三層或者更多層,實(shí)現(xiàn)過(guò)程依次類推。相應(yīng)地,在解碼端,對(duì)無(wú)償壓縮碼流進(jìn)行解碼及補(bǔ)償?shù)倪^(guò)程與編碼端相對(duì)應(yīng),可逐層展開(kāi)進(jìn)行解碼及補(bǔ)償。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種帶補(bǔ)償?shù)囊纛l編碼方法,其特征在于,該方法包括計(jì)算量化過(guò)程中引入的量化誤差信號(hào);對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流;將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在音頻碼流中。
2.如權(quán)利要求1所述的方法,其特征在于,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)之前,進(jìn)一步包括對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
3.如權(quán)利要求1所述的方法,其特征在于,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)之前,進(jìn)一步包括計(jì)算誤差補(bǔ)償區(qū)域,對(duì)所述計(jì)算的誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
4.如權(quán)利要求1至2中任一項(xiàng)所述的方法,其特征在于,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為利用量化前的變換域輸入信號(hào),減去量化后的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
5.如權(quán)利要求4所述的方法,其特征在于,對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼之前,該方法進(jìn)一步包括判斷所計(jì)算量化誤差信號(hào)的幅度變化是否平緩,如果是,則執(zhí)行所述對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼的操作;否則,將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用所述轉(zhuǎn)換的時(shí)域信號(hào),減去量化前的時(shí)域輸入信號(hào),得到時(shí)域的量化誤差信號(hào),根據(jù)得到的時(shí)域的量化誤差信號(hào),執(zhí)行所述對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼的操作。
6.如權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所述轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào)。
7.如權(quán)利要求3所述的方法,其特征在于,該方法進(jìn)一步包括預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的下門限值;所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作之前進(jìn)一步包括對(duì)誤差補(bǔ)償區(qū)域的長(zhǎng)度進(jìn)行判斷,若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值,則執(zhí)行所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)的操作。
8.如權(quán)利要求7所述的方法,其特征在于,該方法進(jìn)一步包括預(yù)先設(shè)置誤差補(bǔ)償區(qū)域長(zhǎng)度的上門限值;若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于下門限值且小于上門限值,則所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為將量化后的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),利用量化前的時(shí)域輸入信號(hào),減去所述轉(zhuǎn)換的時(shí)域信號(hào),得到時(shí)域的量化誤差信號(hào);若誤差補(bǔ)償區(qū)域長(zhǎng)度大于等于上門限值,則所述對(duì)誤差補(bǔ)償區(qū)域執(zhí)行所述計(jì)算量化過(guò)程中引入的量化誤差信號(hào)具體為利用量化前的變換域輸入信號(hào),減去量化后的音頻樣本信號(hào),得到變換域的量化誤差信號(hào)。
9.一種帶補(bǔ)償?shù)囊纛l解碼方法,其特征在于,該方法包括從音頻碼流中分離出誤差壓縮碼流;對(duì)所述誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào);利用所得到的量化誤差信號(hào)對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
10.如權(quán)利要求9所述的方法,其特征在于,若所述得到的量化誤差信號(hào)為變換域量化誤差信號(hào),則所述解碼出的音頻信號(hào)為解碼得到的變換域的音頻信號(hào);若所述得到的量化誤差信號(hào)為時(shí)域量化誤差信號(hào),則所述解碼出的音頻信號(hào)為解碼得到的時(shí)域的音頻信號(hào)。
11.一種帶補(bǔ)償?shù)囊纛l編碼裝置,包括濾波器組、心理聲學(xué)模型、量化模塊及編碼模塊,其特征在于,該裝置還包括誤差計(jì)算編碼模塊,用于接收量化前的原始輸入信號(hào)和來(lái)自量化模塊的量化后的音頻樣本信號(hào),根據(jù)所接收的原始輸入信號(hào)和音頻樣本信號(hào),計(jì)算得到量化誤差信號(hào),對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流,將所得到的誤差壓縮碼流輸出給比特流復(fù)用模塊;比特流復(fù)用模塊,將所接收的誤差壓縮碼流和來(lái)自編碼模塊的音頻壓縮碼流復(fù)用在一起,形成音頻碼流輸出。
12.如權(quán)利要求11所述的裝置,其特征在于,所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述濾波器組的輸出端相連;根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作;或者,所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述裝置的輸入接口相連;將所接收的來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),根據(jù)所述轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作。
13.如權(quán)利要求11所述的裝置,其特征在于,所述誤差計(jì)算編碼模塊的接收端與所述量化模塊的輸出端和所述濾波器組的輸出端相連,接收濾波器組輸出的變換域的輸入信號(hào),且還與所述裝置的輸入接口相連,接收來(lái)自輸入接口的時(shí)域的輸入信號(hào);所述誤差計(jì)算編碼模塊決策在變換域進(jìn)行編碼時(shí),根據(jù)來(lái)自濾波器組的變換域的輸入信號(hào)和來(lái)自量化模塊的變換域的音頻樣本信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作;所述誤差計(jì)算編碼模塊決策在時(shí)域進(jìn)行編碼時(shí),將來(lái)自量化模塊的變換域的音頻樣本信號(hào)轉(zhuǎn)換為時(shí)域信號(hào),并根據(jù)所述轉(zhuǎn)換的時(shí)域信號(hào)和來(lái)自輸入接口的時(shí)域輸入信號(hào),完成所述計(jì)算量化誤差信號(hào)的操作。
14.如權(quán)利要求11至13中任一項(xiàng)所述的裝置,其特征在于,該裝置進(jìn)一步包括信號(hào)類型檢測(cè)模塊,用于對(duì)輸入信號(hào)的信號(hào)類型進(jìn)行檢測(cè),若檢測(cè)到輸入信號(hào)為快變信號(hào),則向所述誤差計(jì)算編碼模塊發(fā)送進(jìn)行誤差處理的控制指示;所述誤差計(jì)算編碼模塊根據(jù)所述控制指示,執(zhí)行所述接收量化前的原始輸入信號(hào)和來(lái)自量化模塊的量化后的音頻樣本信號(hào)的操作。
15.一種帶補(bǔ)償?shù)囊纛l解碼裝置,包括解碼模塊、反量化模塊及濾波器組,其特征在于,該裝置還包括比特流解復(fù)用模塊,用于從音頻碼流中分離出誤差壓縮碼流,將分離出的誤差壓縮碼流輸出給誤差解碼模塊;誤差解碼模塊,用于對(duì)所接收的誤差壓縮碼流進(jìn)行解碼及反量化處理,得到量化誤差信號(hào),將所得到的量化誤差信號(hào)輸出給誤差補(bǔ)償模塊;誤差補(bǔ)償模塊,用于根據(jù)所接收的量化誤差信號(hào),對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。
16.如權(quán)利要求15所述的裝置,其特征在于,所述誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和反量化模塊的輸出端相連,輸出端與濾波器組的輸入端相連,根據(jù)所接收的變換域的量化誤差信號(hào),對(duì)來(lái)自反量化模塊的解碼出的變換域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮?;或者,所述誤差補(bǔ)償模塊的接收端與誤差解碼模塊的輸出端和濾波器組的輸出端相連,輸出端與所述裝置的輸出接口相連,根據(jù)所接收的時(shí)域的量化誤差信號(hào),對(duì)來(lái)自濾波器組的解碼出的時(shí)域音頻信號(hào)執(zhí)行所述進(jìn)行誤差補(bǔ)償?shù)牟僮鳌?br>
全文摘要
本發(fā)明公開(kāi)了一種帶補(bǔ)償?shù)囊纛l編碼方法,包括計(jì)算量化過(guò)程中引入的量化誤差信號(hào);對(duì)所計(jì)算的量化誤差信號(hào)進(jìn)行量化及編碼,得到誤差壓縮碼流;將所得到的誤差壓縮碼流與編碼生成的音頻壓縮碼流復(fù)用在音頻碼流中。本發(fā)明還公開(kāi)了一種帶補(bǔ)償?shù)囊纛l解碼方法,包括從音頻碼流中分離出誤差壓縮碼流;對(duì)所述誤差壓縮碼流進(jìn)行解碼及反量化,得到量化誤差信號(hào);利用所得到的量化誤差信號(hào)對(duì)解碼出的音頻信號(hào)進(jìn)行誤差補(bǔ)償。此外,本發(fā)明還公開(kāi)了一種帶補(bǔ)償?shù)囊纛l編碼裝置和解碼裝置。通過(guò)對(duì)音頻信號(hào)進(jìn)行量化誤差補(bǔ)償,降低了量化誤差的影響。
文檔編號(hào)G10L19/02GK101075436SQ20071011794
公開(kāi)日2007年11月21日 申請(qǐng)日期2007年6月26日 優(yōu)先權(quán)日2007年6月26日
發(fā)明者王簫程 申請(qǐng)人:北京中星微電子有限公司