本發(fā)明涉及音頻編解碼技術(shù),并且更具體地,涉及一種用于信號(hào)處理的方法和裝置。
背景技術(shù):
現(xiàn)有頻域編碼算法中,在做比特分配時(shí),具有以下處理:根據(jù)子帶包絡(luò)對(duì)每個(gè)子帶進(jìn)行比特分配;將子帶按照比特分配數(shù)從小到大排序;從比特分配數(shù)小的子帶開始編碼;將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,其中,每一個(gè)子帶所剩比特不夠編碼一個(gè)信息單位。由于冗余比特的分配只是平均分配到由能量包絡(luò)確定的原始比特分配數(shù)較大的子帶中去,這會(huì)導(dǎo)致一定的比特浪費(fèi),使得編碼效果不夠理想。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種用于信號(hào)處理的方法和裝置,能夠避免比特浪費(fèi),提高編解碼的質(zhì)量。
第一方面,提供了一種用于信號(hào)處理的方法,包括:確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作,得到當(dāng)前幀冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);根據(jù)二次比特分配參數(shù),從待處理子帶中選擇二次比特分配子帶,其中,二次比特分配參數(shù)包括待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種;對(duì)二次比特分配子帶進(jìn)行二次比特分配,以便于將冗余比特分配給二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作,以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,待處理子帶中各個(gè)子帶的子帶特征包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶的頻率范圍中的至少一種。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)特征包括:子帶承載的信號(hào)類型和子帶的包絡(luò)值中的至少一種;和/或子帶對(duì)應(yīng)的比特分配狀態(tài)包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種;其中,子帶的一次帶寬平均比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及所述該子帶的帶寬確定的,子帶的一次每信息單位比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的一次信息單位數(shù)確定的,其中,該子帶的一次信息單位數(shù)是對(duì)該子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)類型包括諧波和/或非諧波。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從待處理子帶中選擇二次比特分配子帶,包括:根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定目標(biāo)子帶集合以及從目標(biāo)子帶集合中選擇二次比特分配子帶,目標(biāo)子帶集合中的子帶屬于待處理子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,確定目標(biāo)子帶集合,包括:根據(jù)m個(gè)第一子帶集合中各個(gè)子帶的子帶特征,以及與m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,m為大于等于1的整數(shù),m個(gè)第一子帶集合中的子帶屬于待處理子帶;其中,在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合,否則,將所述待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,將待處理子帶中不屬于m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶中存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值和對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中選擇二次比特分配子帶,包括:根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶,其中,子帶的一次帶寬平均比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的帶寬確定的,子帶的一次每信息單位比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的一次信息單位數(shù)確定的,其中,子帶的一次信息單位數(shù)是對(duì)該子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中選擇二次比特分配子帶,包括:將目標(biāo)子帶集合中的一次帶寬平均比特?cái)?shù)最低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或一次比特分配數(shù)最低的子帶確定為優(yōu)先增強(qiáng)子帶,優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中選擇二次比特分配子帶,還包括:在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;在N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中除優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶,包括:基于優(yōu)先增強(qiáng)分配子帶,確定該N-1個(gè)二次比特分配子帶,其中,N個(gè)二次比特分配子帶在頻域上是連續(xù)的。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中選擇二次比特分配子帶,還包括:在冗余比特總數(shù)大于閾值時(shí),從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶包括次優(yōu)增強(qiáng)子帶和優(yōu)先增強(qiáng)子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合中選擇二次比特分配子帶,還包括:從目標(biāo)子帶集合,確定次優(yōu)增強(qiáng)子帶;在冗余比特總數(shù)大于閾值時(shí),將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,從目標(biāo)子帶集合,確定次優(yōu)增強(qiáng)子帶,包括:將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中的一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)較低的子帶或一次比特分配數(shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,對(duì)二次比特分配子帶進(jìn)行二次比特分配,包括:在二次比特分配子帶包括的子帶的數(shù)量大于等于2時(shí),根據(jù)二次比特分配子帶中各個(gè)子帶的一次每信息單位比特?cái)?shù)、一次帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)二次比特分配子帶進(jìn)行二次比特分配。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,包括:根據(jù)待分配比特總數(shù),按照待處理子帶的各個(gè)子帶的包絡(luò)大小,對(duì)待處理子帶進(jìn)行一次比特分配。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,在該方法的執(zhí)行主體為編碼端時(shí),該方法還包括:根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);將量化的頻譜系數(shù)寫入碼流并輸出所述碼流。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);該方法還包括:將至少一種參數(shù)寫入碼流。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,在該方法的執(zhí)行主體為解碼端時(shí),該方法還包括:根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);根據(jù)逆量化的頻譜系數(shù)獲取輸出信號(hào)。
結(jié)合第一方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);該方法還包括:從待解碼碼流中獲取該至少一種參數(shù)。
第二方面,提供了一種用于信號(hào)處理的裝置,包括:比特總數(shù)確定單元,用于確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);第一比特分配單元,用于根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);第一信息單位數(shù)確定單元,用于根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作得到當(dāng)前幀冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);子帶選擇單元,用于根據(jù)二次比特分配參數(shù),從待處理子帶中選擇二次比特分配子帶,其中,二次比特分配參數(shù)包括待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種;第二比特分配單元,用于對(duì)二次比特分配子帶進(jìn)行二次比特分配,以便于將冗余比特分配給二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);第二信息單位數(shù)確定單元,用于根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,待處理子帶中各個(gè)子帶的子帶特征包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶的頻率范圍中的至少一種。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)特征包括:子帶承載的信號(hào)類型和子帶的包絡(luò)值中的至少一種;和/或子帶對(duì)應(yīng)的比特分配狀態(tài)包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種;其中,子帶的一次帶寬平均比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的帶寬確定的,子帶的一次每信息單位比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的一次信息單位數(shù)確定的,其中,子帶的一次信息單位數(shù)是對(duì)該子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)類型包括諧波和/或非諧波。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶選擇單元包括:確定子單元,用于根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定目標(biāo)子帶集合;選擇子單元,用于從目標(biāo)子帶集合中選擇二次比特分配子帶,目標(biāo)子帶集合中的子帶屬于待處理子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,確定子單元具體用于:根據(jù)m個(gè)第一子帶集合中各個(gè)子帶的子帶特征,以及與m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,m為大于等于1的整數(shù),m個(gè)第一子帶集合中的子帶屬于待處理子帶;其中,在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合,否則,將所述待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,將待處理子帶中不屬于m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值和對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:將目標(biāo)子帶集合中一次帶寬平均比特?cái)?shù)最低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或一次比特分配數(shù)最低的子帶確定為優(yōu)先增強(qiáng)子帶,優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;在N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:基于優(yōu)先增強(qiáng)分配子帶,確定N-1個(gè)二次比特分配子帶,其中,N個(gè)二次比特分配子帶在頻域上是連續(xù)的。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:在冗余比特總數(shù)大于閾值時(shí),從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶包括次優(yōu)增強(qiáng)和優(yōu)先增強(qiáng)子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶;在冗余比特總數(shù)大于閾值時(shí),將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,選擇子單元具體用于:將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)較低的子帶或一次比特分配數(shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,第二比特分配單元具體用于:在二次比特分配子帶包括的子帶的數(shù)量大于等于2時(shí),根據(jù)二次比特分配子帶中各個(gè)子帶一次信息單位數(shù)確定操作后得到的每信息單位比特?cái)?shù)、一次信息單位數(shù)確定操作后得到的帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)二次比特分配子帶進(jìn)行二次比特分配。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,第一比特分配單元具體用于:根據(jù)待分配比特總數(shù),按照待處理子帶的各個(gè)子帶的包絡(luò)大小,對(duì)待處理子帶進(jìn)行一次比特分配。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,該裝置為解碼器,該裝置還包括:量化單元,用于根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);傳送單元,用于將量化的頻譜系數(shù)寫入碼流并輸出所述碼流。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);傳送單元還用于:將該至少一種參數(shù)寫入碼流。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,該裝置為解碼器,該裝置還包括:逆量化單元,用于根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);第一獲取單元,用于根據(jù)逆量化的頻譜系數(shù)獲取輸出信號(hào)。
結(jié)合第二方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);該裝置還包括:第二獲取單元,用于從待解碼碼流中獲取該至少一種參數(shù)。
第三方面,提供了一種用于信號(hào)處理的裝置,該裝置包括該裝置800包括存儲(chǔ)器和處理器;存儲(chǔ)器用于存儲(chǔ)程序代碼;處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,執(zhí)行以下操作:確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作得到當(dāng)前幀冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);根據(jù)二次比特分配參數(shù),從待處理子帶中選擇二次比特分配子帶,其中,二次比特分配參數(shù)包括待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種;對(duì)二次比特分配子帶進(jìn)行二次比特分配,以便于將冗余比特分配給二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,待處理子帶中各個(gè)子帶的子帶特征包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶的頻率范圍中的至少一種。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)特征包括:子帶承載的信號(hào)類型和子帶的包絡(luò)值中的至少一種;和/或子帶對(duì)應(yīng)的比特分配狀態(tài)包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種,其中,子帶的一次帶寬平均比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的帶寬確定的,子帶的一次每信息單位比特?cái)?shù)是根據(jù)該子帶的一次比特分配數(shù)以及該子帶的一次信息單位數(shù)確定的,其中,子帶的一次信息單位數(shù)是對(duì)該子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,子帶承載的信號(hào)類型包括諧波和/或非諧波。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定目標(biāo)子帶集合以及從目標(biāo)子帶集合中選擇二次比特分配子帶,目標(biāo)子帶集合中的子帶屬于待處理子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:根據(jù)m個(gè)第一子帶集合中各個(gè)子帶的子帶特征,以及與m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,m為大于等于1的整數(shù),m個(gè)第一子帶集合中的子帶屬于待處理子帶;其中,在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合,否則,將所述待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,將待處理子帶中不屬于m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶中存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值和對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:將目標(biāo)子帶集合中一次帶寬平均比特?cái)?shù)最低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或一次比特分配數(shù)最低的子帶確定為優(yōu)先增強(qiáng)子帶,優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;在N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中N-1個(gè)二次比特分配子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:基于優(yōu)先增強(qiáng)分配子帶,確定N-1個(gè)二次比特分配子帶,其中,N個(gè)二次比特分配子帶在頻域上是連續(xù)的。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:在冗余比特總數(shù)大于閾值時(shí),從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶包括次優(yōu)增強(qiáng)和優(yōu)先增強(qiáng)子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶;在冗余比特總數(shù)大于閾值時(shí),將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)較低的子帶或一次比特分配數(shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:在二次比特分配子帶包括的子帶的數(shù)量大于等于2時(shí),根據(jù)二次比特分配子帶中各個(gè)子帶一次每信息單位比特?cái)?shù)、一次信帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)二次比特分配子帶進(jìn)行二次比特分配。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:根據(jù)待分配比特總數(shù),按照待處理子帶的各個(gè)子帶的包絡(luò)大小,對(duì)待處理子帶進(jìn)行一次比特分配。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,該裝置為編碼器,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);將量化的頻譜系數(shù)寫入碼流并輸出該碼流。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);在裝置為編碼器時(shí),處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:將該至少一種參數(shù)寫入碼流。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,該裝置為解碼器,處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);根據(jù)逆量化的頻譜系數(shù)獲取輸出信號(hào)。
結(jié)合第三方面或其上述任一可能的實(shí)現(xiàn)方式,在其另一種可能的實(shí)現(xiàn)方式中,在裝置為解碼器時(shí),二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);在該裝置為解碼器時(shí),處理器用于調(diào)用存儲(chǔ)器中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:從待解碼碼流中獲取該至少一種參數(shù)。
因此,在本發(fā)明實(shí)施例中,先根據(jù)當(dāng)前幀的待分配比特總數(shù)對(duì)待處理子帶進(jìn)行一次比特分配得到各個(gè)子帶的一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及當(dāng)前幀冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例的用于信號(hào)處理的方法的示意性流程圖。
圖2是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的方法的示意性流程圖。
圖3是根據(jù)本發(fā)明另一實(shí)施例的選擇二次比特分配子帶的示意性圖。
圖4是根據(jù)本發(fā)明另一實(shí)施例的選擇二次比特分配子帶的示意性圖。
圖5是根據(jù)本發(fā)明另一實(shí)施例的選擇二次比特分配子帶的示意性圖。
圖6是根據(jù)本發(fā)明另一實(shí)施例的選擇二次比特分配子帶的示意性圖。
圖7是根據(jù)本發(fā)明另一實(shí)施例的二次信息單位數(shù)確定操作示意性圖。
圖8是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的方法的示意性流程圖。
圖9是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的方法的示意性流程圖。
圖10是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的裝置的示意性框圖。
圖11是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的裝置的示意性框圖。
圖12是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的裝置的示意性框圖。
圖13是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的裝置的示意性框圖。
圖14是根據(jù)本發(fā)明另一實(shí)施例的用于信號(hào)處理的裝置的示意性框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1是根據(jù)本發(fā)明實(shí)施例的比特分配方法100的示意性流程圖。如圖1所示,該方法100包括:
S110,確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);
S120,根據(jù)該待分配比特總數(shù),對(duì)該待處理子帶中各個(gè)子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);
S130,根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的該待處理子帶中各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作得到當(dāng)前幀冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);
S140,根據(jù)二次比特分配參數(shù),從該待處理子帶中選擇二次比特分配子帶,其中,該二次比特分配參數(shù)包括冗余比特總數(shù)和該待處理子帶中各個(gè)子帶的子帶特征中的至少一種;
S150,對(duì)該二次比特分配子帶進(jìn)行二次比特分配,以便于將該冗余比特分配給該二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);
S160,根據(jù)該二次比特分配子帶進(jìn)行一次比特分配時(shí)得到的比特和二次比特分配時(shí)得到的比特,對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到所述二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
具體地說(shuō),在當(dāng)前幀的對(duì)待處理子帶進(jìn)行比特分配時(shí),可以確定待處理子帶對(duì)應(yīng)的待分配比特總數(shù);根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配以得到各個(gè)子帶的一次比特分配數(shù),其中,可以按照各個(gè)子帶的包絡(luò)值,對(duì)各個(gè)子帶進(jìn)行一次比特分配;根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作,對(duì)所有子帶進(jìn)行一次信息單位數(shù)確定操作后得到的各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù);根據(jù)二次比特分配參數(shù),具體根據(jù)待處理子帶中各個(gè)子帶的子帶特征和/或冗余比特總數(shù),從待處理子帶中選擇二次比特分配子帶;對(duì)選擇的二次比特分配子帶進(jìn)行二次比特分配,即將冗余比特分配給二次比特分配子帶;然后根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。從而,可以根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),進(jìn)行后續(xù)操作;例如,對(duì)于編碼端而言,可以根據(jù)各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)進(jìn)行量化操作,而對(duì)于解碼端而言,可以根據(jù)各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)進(jìn)行逆量化操作。
應(yīng)理解,在編碼端時(shí),本發(fā)明實(shí)施例中的待處理子帶可以稱作為待編碼子帶;在解碼端時(shí),本發(fā)明實(shí)施例中的待處理子帶可以稱作為待解碼子帶。
應(yīng)理解,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù)。
應(yīng)理解,在本發(fā)明實(shí)施例中,對(duì)待處理子帶中各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作,可以得到各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及各個(gè)子帶對(duì)應(yīng)的冗余比特?cái)?shù),其中,各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)所占的比特?cái)?shù)與各個(gè)子帶對(duì)應(yīng)的冗余比特?cái)?shù)之和為各個(gè)子帶的一次比特分配數(shù),每個(gè)子帶對(duì)應(yīng)的冗余比特?cái)?shù)不夠編碼一個(gè)信息單位;然后,將當(dāng)前幀待處理子帶中的各個(gè)子帶對(duì)應(yīng)的冗余比特進(jìn)行求和可以得到當(dāng)前幀冗余比特總數(shù),并將當(dāng)前幀冗余比特總和分配給當(dāng)前幀待處理子帶中的二次比特分配子帶。
還應(yīng)理解,本發(fā)明實(shí)施例中信息單位是編碼的一個(gè)單位,信息單位數(shù)確定操作是編解碼操作中的一個(gè)具體過(guò)程,具體可以根據(jù)分配的比特?cái)?shù)來(lái)進(jìn)行確定。當(dāng)然,對(duì)于不同的編碼方法,可以有不同的叫法,例如有些編碼方法中,將信息單位稱作為脈沖,不管采用何種叫法只要實(shí)質(zhì)與本發(fā)明相同,均應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。
因此,在本發(fā)明實(shí)施例中,先根據(jù)待分配比特總數(shù)對(duì)當(dāng)前幀的待處理子帶進(jìn)行一次比特分配得到各個(gè)子帶的一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
在本發(fā)明實(shí)施例中,上述二次比特分配參數(shù)可以包括冗余比特總數(shù)和待處理子帶中各個(gè)子帶的子帶特征中的至少一種。
可選地,待處理子帶中各個(gè)子帶的子帶特征可以包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶頻率范圍中的至少一種。或者,各個(gè)子帶的子帶特征只是子帶的編號(hào)等。
可選地,子帶承載的信號(hào)特征可以包括子帶承載的信號(hào)類型和包絡(luò)值中的至少一種;其中,承載的信號(hào)類型可以包括諧波和/或非諧波;和/或
子帶對(duì)應(yīng)的比特分配狀態(tài)可以包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種。
可選地,子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況可以是該子帶的前一幀對(duì)應(yīng)子帶是否有系數(shù)被量化的情況,具體可以通過(guò)該子帶的前一幀對(duì)應(yīng)子帶是否有比特分配來(lái)確定,其中,前一幀對(duì)應(yīng)子帶是否有比特分配可以根據(jù)一次比特分配和二次比特分配綜合來(lái)看,只要有比特分配(不管是一次比特分配時(shí)分配的還是二次比特分配時(shí)分配的),均可以理解為前一幀對(duì)應(yīng)子帶有比特分配。
在本發(fā)明實(shí)施例中,任一子帶的一次帶寬平均比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的帶寬確定的。
子帶的一次帶寬平均比特?cái)?shù)可以按照以下公式確定:
其中,Rk1[ki]表示子帶ki的一次比特分配數(shù),bandwidth[ki]表示子帶的帶寬;
任一子帶的一次每信息單位比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的一次信息單位數(shù)確定的,其中,所述任一子帶的一次信息單位數(shù)是對(duì)所述任一子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
子帶的一次每信息單位比特?cái)?shù)可以按照以下公式確定:
其中,Rk1[ki]表示子帶ki的一次比特分配數(shù)Rk1[ki],npluse[ki]表示子帶ki的一次信息單位數(shù)確定操作后得到的信息單位數(shù)(即該子帶的一次信息單位數(shù))。
應(yīng)理解,本發(fā)明實(shí)施例中,按照每一幀均對(duì)信號(hào)所占用的帶寬進(jìn)行劃分為多個(gè)子帶進(jìn)行描述的,當(dāng)前幀的子帶與該子帶的前一幀對(duì)應(yīng)子帶(即該子帶對(duì)應(yīng)的前一幀)在頻率上是相同的。如果在某些場(chǎng)景下,針對(duì)不同的幀,即使將具有相同頻率范圍的子帶稱作為一個(gè)子帶,只要所采用的技術(shù)方案在實(shí)質(zhì)上與本發(fā)明相同,也應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。
在本發(fā)明實(shí)施例中,S130中從待處理子帶中選擇二次比特分配子帶,可以包括:
根據(jù)冗余比特總數(shù)和待處理子帶中各個(gè)子帶的子帶特征中的至少一種,確定目標(biāo)子帶集合以及從該目標(biāo)子帶集合中選擇二次比特分配子帶,其中,目標(biāo)子帶集合中的子帶屬于待處理子帶。
具體地,根據(jù)m個(gè)第一子帶集合中的子帶特征,以及與該m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,所述m為大于等于1的整數(shù);其中,
在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于該m個(gè)第一子帶集合的子帶組成的集合(在m大于等于2時(shí),該集合為m個(gè)第一子帶集合的交集)確定為目標(biāo)子帶集合,否則,將待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者,在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將該至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,將待處理子帶中不屬于該m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
應(yīng)理解,m個(gè)第一子帶集合與m個(gè)預(yù)定條件一一對(duì)應(yīng)指m個(gè)子帶集合中每一個(gè)子帶集合對(duì)應(yīng)一個(gè)預(yù)定條件,并且各個(gè)子帶集合所對(duì)應(yīng)的預(yù)定條件各不相同。
可選地,上述m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:
對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶中存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值、對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
可選地,該第一閾值具體可以根據(jù)第一子帶集合之外各個(gè)子帶的平均包絡(luò)值來(lái)確定。例如,可以根據(jù)公式來(lái)確定,其中,Ep[i]表示子帶i的包絡(luò)值,BANDS為待處理子帶數(shù)量,第一子帶集合共包括J個(gè)子帶,Ep[i]表示子帶i的包絡(luò)值表示對(duì)除所述J個(gè)子帶之外的各個(gè)子帶包絡(luò)值求和。
可選地,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。也就是說(shuō),先判斷高頻中的子帶是否滿足條件,如果滿足相應(yīng)條件,則在高頻中選擇二次比特分配子帶;如果不滿足相應(yīng)條件,則在低頻中選擇二次比特分配子帶。
可選地,在本發(fā)明實(shí)施例中,可以預(yù)配置上述m個(gè)第一子帶集合或者編解碼設(shè)備來(lái)從待處理子帶集合中選擇上述m個(gè)第一子帶集合。
可選地,在本發(fā)明實(shí)施例中,不管預(yù)配置上述m個(gè)第一子帶集合或者編解碼設(shè)備來(lái)選擇上述m個(gè)第一子帶集合,在選擇上述m個(gè)第一子帶集合時(shí)均可以根據(jù)待編解碼信號(hào)所占的帶寬來(lái)確定上述m個(gè)子帶集合。例如,所占帶寬為窄帶帶寬(例如,帶寬為4KHZ),可以將帶寬大于2KHZ的子帶組成的集合確定為一個(gè)第一子帶集合,以及將帶寬大于3KHZ的子帶組成的集合確定為另一個(gè)第一子帶集合。再例如,所占帶寬為寬帶帶寬(例如,帶寬為8KHZ),可以將帶寬大于5KHZ的子帶組成的集合確定為一個(gè)第一子帶集合,以及將帶寬大于6KHZ的子帶組成的集合確定為另一個(gè)第一子帶集合。
應(yīng)理解,本發(fā)明實(shí)施例可以直接根據(jù)預(yù)定條件從待處理子帶中選擇目標(biāo)子帶集合;此時(shí),預(yù)定條件可以是承載的信號(hào)類型為諧波的子帶,則可以將全部承載的信號(hào)類型為諧波的子帶確定為組成目標(biāo)子帶集合;或者,預(yù)定條件可以是待處理子帶的前一幀對(duì)應(yīng)子帶中有系數(shù)被量化的子帶,則可以將前一幀對(duì)應(yīng)子帶有系數(shù)被量化的全部當(dāng)前幀子帶確定為組成目標(biāo)子帶集合;或者,預(yù)定條件可以是包絡(luò)值大于某一閾值的當(dāng)前幀子帶,則可以將全部包絡(luò)值大于某一閾值的當(dāng)前幀子帶確定為組成目標(biāo)子帶集合,其中,該閾值可以根據(jù)當(dāng)前幀所有子帶的平均包絡(luò)值來(lái)確定,例如,可以直接將該平均包絡(luò)值確定為該閾值,或者將平均包絡(luò)值的4/5確定為該閾值;或者,預(yù)定條件包括以上至少兩個(gè),則將滿足該至少兩個(gè)條件的全部子帶確定為組成目標(biāo)子帶集合。
在本發(fā)明實(shí)施例中,在確定了目標(biāo)子帶集合之后,則可以從目標(biāo)子帶集合中選擇二次比特分配子帶;其中,可以根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶。
具體地,可以先確定優(yōu)先增強(qiáng)子帶;其中,可以將目標(biāo)子帶集合中的一次帶寬平均比特?cái)?shù)最低的子帶、一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)最低的子帶或具有最低一次比特分配數(shù)的子帶確定為優(yōu)先增強(qiáng)子帶,該優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶??蛇x地,可以直接將所有冗余比特分配給該優(yōu)先增強(qiáng)子帶,也就是說(shuō)二次分配子帶只包括該優(yōu)先增強(qiáng)子帶;也可以繼續(xù)選擇屬于二次比特分配子帶的其他子帶。具體如何確定是否選擇其他二次比特分配子帶和如何選擇其他二次比特分配子帶可以通過(guò)以下兩種方式實(shí)現(xiàn)。
在第一種實(shí)現(xiàn)方式中,在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;如果N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶。當(dāng)然,在N等于1時(shí),則不需要再進(jìn)行其他二次比特分配子帶的選擇。
在本發(fā)明實(shí)施例中,多個(gè)指兩個(gè)或兩個(gè)以上。例如,多個(gè)閾值指兩個(gè)或兩個(gè)以上的閾值。
可選地,在本發(fā)明實(shí)施例中,可以根據(jù)待編解碼信號(hào)所占的帶寬和/或優(yōu)先增強(qiáng)子帶的帶寬來(lái)確定上述各個(gè)閾值??蛇x地,上述各個(gè)閾值與待編解碼信號(hào)所占的帶寬和/或優(yōu)先增強(qiáng)子帶的帶寬正相關(guān)。
可選地,可以基于上述優(yōu)先增強(qiáng)子帶,選擇其他N-1個(gè)二次比特分配子帶,為了更好的保持頻譜的連續(xù)性,該N個(gè)二次比特分配在頻域上是連續(xù)的。
具體地,在N為2時(shí),可以從將該優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中一次帶寬平均比特?cái)?shù)較低的子帶、一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)最低的子帶或具有較低一次比特分配數(shù)的子帶確定為另一個(gè)二次比特分配子帶;在N=3時(shí),可以將優(yōu)先增強(qiáng)子帶k相鄰的兩個(gè)子帶k+1和k-1確定為二次比特分配子帶;如果N=4,則可以將子帶k+1和k-1確定為二次比特分配子帶,以及將子帶k+1和k-1相鄰的子帶k+2和k-2中一次帶寬平均比特?cái)?shù)較低的子帶、一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)較低的子帶或具有較低一次比特分配數(shù)的子帶確定為二次比特分配子帶;如果N≥5,也可以按照上述類似方式繼續(xù)選擇。應(yīng)理解,上述子帶的標(biāo)記k,k+1,k-1等只是為了描述的方便,不應(yīng)對(duì)本發(fā)明構(gòu)成限定。
當(dāng)然,本發(fā)明實(shí)施例也可以無(wú)需保證N個(gè)二次比特分配子帶在頻域上的連續(xù)性,例如,從目標(biāo)子帶集合中按照各個(gè)子帶的一次帶寬平均比特?cái)?shù),將具有較低帶寬平均比特?cái)?shù)的N個(gè)子帶確定為二次比特分配子帶;或者,從目標(biāo)子帶集合中按照各個(gè)子帶的一次每信息單位比特?cái)?shù),將具有較低帶寬每信息單位比特?cái)?shù)的N個(gè)子帶確定為二次比特分配子帶;或者,從目標(biāo)子帶集合中按照各個(gè)子帶的一次比特分配數(shù),將具有一次比特分配數(shù)的N個(gè)子帶確定為二次比特分配子帶?;蛘?,從優(yōu)先增強(qiáng)子帶k相鄰的兩個(gè)子帶k+1和k-1中選擇一個(gè)子帶,從子帶k+2和k-2中選擇一個(gè)子帶,依次類推,直到選擇全部N個(gè)子帶。
在第二種實(shí)現(xiàn)方式中,在冗余比特總數(shù)大于某一閾值a時(shí),可以確定需要選擇次優(yōu)增強(qiáng)子帶,然后,從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶由優(yōu)先增強(qiáng)子帶和次優(yōu)增強(qiáng)子帶組成?;蛘撸梢韵葟哪繕?biāo)子帶集合中,確定次優(yōu)增強(qiáng)子帶,然后判斷冗余比特總數(shù)是否大于閾值a,如果大于,則可以將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶,否則,次優(yōu)增強(qiáng)子帶不屬于二次比特分配子帶??蛇x地,優(yōu)先增強(qiáng)子帶與次優(yōu)增強(qiáng)子帶在頻域上是連續(xù)的,具體地可以將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中的一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或具有較低一次比特分配數(shù)的子帶確定為該次優(yōu)增強(qiáng)子帶。
可選地,上述閾值a可以根據(jù)優(yōu)先增強(qiáng)子帶的帶寬和/或待編解碼信號(hào)所占的帶寬來(lái)確定??蛇x地,閾值a與優(yōu)先增強(qiáng)子帶的帶寬和/或待編解碼信號(hào)所占的帶寬正相關(guān)。例如,在待編碼信號(hào)的帶寬為4kHZ時(shí),上述閾值可以取值為8,在上述待編碼信號(hào)的帶寬為8kHZ時(shí),上述閾值a可以取值為12。
當(dāng)然,本發(fā)明實(shí)施例中的優(yōu)先增強(qiáng)子帶和次優(yōu)增強(qiáng)子帶可以不一定為頻域上連續(xù)的子帶,例如,從目標(biāo)子帶集合中按照各個(gè)子帶一次信息單位數(shù)確定操作后得到的帶寬平均比特?cái)?shù),將具有較低帶寬平均比特?cái)?shù)的2個(gè)子帶確定為優(yōu)先增強(qiáng)子帶和次優(yōu)增強(qiáng)子帶;或者,從目標(biāo)子帶集合中按照各個(gè)子帶的一次每信息單位比特?cái)?shù),將具有較低帶寬每信息單位比特?cái)?shù)的2個(gè)子帶確定為優(yōu)先增強(qiáng)子帶和次優(yōu)增強(qiáng)子帶;或者,從目標(biāo)子帶集合中按照各個(gè)子帶的一次比特分配數(shù),將具有一次比特分配數(shù)的2個(gè)子帶確定為優(yōu)先增強(qiáng)子帶和次優(yōu)增強(qiáng)子帶。
應(yīng)理解,本發(fā)明實(shí)施例也可以不確定目標(biāo)子帶集合,直接從待處理子帶中選擇二次比特分配子帶,其中,需要選擇的二次比特分配子帶的數(shù)量可以根據(jù)冗余比特總數(shù)確定,例如,將一次比特分配數(shù)前h少的子帶確定為二次比特分配子帶(包括h個(gè)子帶)。本發(fā)明也可以將具有某一特征的所有子帶確定為二次比特分配子帶,例如,將前一幀對(duì)應(yīng)子帶有系數(shù)被量化的當(dāng)前幀子帶確定為二次比特分配子帶等等。
以上已經(jīng)介紹了如何確定二次比特分配子帶,在確定了二次比特分配子之后,可以將冗余比特分配給二次比特分配子帶,以下將具體介紹如何將冗余比特分配給二次比特分配子帶。
在本發(fā)明實(shí)施例中,在二次比特分配子帶包括的子帶的數(shù)量為1時(shí),可以直接將所有冗余比特分配給該一個(gè)二次比特分配子帶。
在本發(fā)明實(shí)施例中,在二次比特分配子帶包括至少2個(gè)子帶時(shí),可以根據(jù)該二次比特分配子帶中各個(gè)子帶的一次每信息單位比特?cái)?shù)、一次比特分配的帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)該二次比特分配子帶中的各個(gè)子帶進(jìn)行二次比特分配。具體地可以按比例將冗余比特分配給二次比特分配子帶。具體如何確定分配比例可以有以下幾種方式,以下方式中假設(shè)存在k1,k2…kN共N個(gè)子帶,子帶ki的分配比例βi可以按照以下幾種方式確定:
1)
其中,aver_bit[ki]表示子帶ki的一次帶寬平均比特?cái)?shù),即
其中,Rk1[ki]表示子帶ki的一次比特分配數(shù),bandwidth[ki]表示子帶的帶寬。
2)
其中,Rk_pulse[ki]表示子帶ki的一次每信息單位比特?cái)?shù),即其中,Rk1[ki]表示子帶ki的一次比特分配數(shù)Rk1[ki],npluse[ki]表示子帶ki的一次信息單位數(shù)。
3)
其中,Rk1[ki]表示子帶ki的一次比特分配數(shù)。
在確定了二次比特分配子帶中各個(gè)子帶的冗余比特分配比例后,可以按照比例將冗余比特分配給二次比特分配子帶中各個(gè)子帶,具體地,子帶ki的二次比特分配數(shù)是Rk2[ki]=βi*bit_surplus,其中,bit_surplus是冗余比特總數(shù)。
應(yīng)理解,以上給出的分配比例確定方法只是本發(fā)明的具體實(shí)施例,不應(yīng)對(duì)本發(fā)明的保護(hù)范圍構(gòu)成限定。上述給出的分配比例確定方式,可以進(jìn)行相應(yīng)的變形,例如,在二次比特分配子帶包括兩個(gè)子帶時(shí),在按照上述三個(gè)方式中的任一個(gè)方式確定了一個(gè)子帶的二次比特分配子帶的分配比例β時(shí),可以通過(guò)1-β的方式確定另一個(gè)子帶的比特分配比例。這些簡(jiǎn)單的數(shù)學(xué)變換都應(yīng)該在本發(fā)明的保護(hù)范圍之內(nèi)。
還應(yīng)理解,雖然上述假設(shè)存在k1,k2…kN共N個(gè)子帶,只是為了使得描述適用于一般情況,這里并不限定N大于等于3,對(duì)于N為2的情況,上述幾種二次比特分配比例也是適用的。
因此,在本發(fā)明實(shí)施例中,先根據(jù)待分配比特總數(shù)對(duì)當(dāng)前幀的待處理子帶進(jìn)行一次比特分配得到各個(gè)子帶的一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
為了更加清楚地理解本發(fā)明,以下將結(jié)合圖2至圖9對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
圖2是根據(jù)本發(fā)明實(shí)施例的比特分配方法200的示意性流程圖。如圖2所示,該方法200包括:
S201,確定當(dāng)前幀的待處理子帶以及待處理子帶對(duì)應(yīng)的待分配比特總數(shù)。
S202,根據(jù)待分配比特總數(shù),按照待處理子帶中各個(gè)子帶的包絡(luò)值對(duì)各個(gè)子帶進(jìn)行一次比特分配,以將待分配比特分配給待處理子帶并得到各個(gè)子帶的一次比特分配數(shù)。
S203,對(duì)一次比特分配后的待處理子帶進(jìn)行一次信息單位數(shù)確定操作,得到各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及當(dāng)前幀冗余比特總數(shù)。
S204,判斷m個(gè)第一子帶集合中的子帶是否滿足m個(gè)預(yù)定條件中對(duì)應(yīng)的預(yù)定條件,其中,上述任一第一子帶集合中的子帶屬于上述待處理子帶。以下將結(jié)合多個(gè)舉例進(jìn)行詳細(xì)說(shuō)明。
舉例1,m為1,預(yù)定條件為前M個(gè)高頻子帶中是否存在承載的信號(hào)類型為諧波的子帶,第一子帶集合為前M個(gè)高頻子帶。則判斷前M個(gè)高頻子帶中是否存在承載的信號(hào)類型為諧波的子帶。
舉例2,m為1,預(yù)定條件為前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,第一子帶集合為前L個(gè)高頻子帶。則判斷前L個(gè)高頻子帶對(duì)應(yīng)的當(dāng)前幀子帶中是否存在有系數(shù)被量化的子帶。
舉例3,m為1,預(yù)定條件為前J個(gè)高頻子帶的平均包絡(luò)值大于閾值,其中,前J個(gè)高頻子帶的平均包絡(luò)值aver_Ep以及相應(yīng)閾值θ的計(jì)算可以如下:
其中,Ep[i]表示子帶i的包絡(luò)值,BANDS為子帶數(shù)量;
其中,Ep[i]表示子帶i的包絡(luò)值,BANDS為子帶數(shù)量。
此種情況,需要判斷前J個(gè)高頻子帶的平均包絡(luò)值aver_Ep是否大于閾值θ。
舉例4,m為2,第一子帶集合為前L個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶;另一第一子帶集合為前L個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前J個(gè)高頻子帶的平均包絡(luò)值大于閾值。則需要判斷前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中是否存在有系數(shù)被量化的子帶,以及需要判斷前J個(gè)高頻子帶的平均包絡(luò)值是否大于閾值。
舉例5,m為2,第一子帶集合為前L個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶;另一第一子帶集合為前M個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶。則需要判斷前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中有系數(shù)被量化的子帶,以及需要判斷前M個(gè)高頻子帶中是否存在承載的信號(hào)類型為諧波的子帶。
舉例6,m為2,第一子帶集合為前J個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前J個(gè)高頻子帶的平均包絡(luò)值大于閾值;另一個(gè)第一子帶集合為前M個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶。則需要判斷前J個(gè)高頻子帶的平均包絡(luò)值是否大于閾值,以及需要判斷前M個(gè)高頻子帶中是否存在承載的信號(hào)類型為諧波的子帶。
舉例7,m為3,第一子帶集合為前J個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前J個(gè)高頻子帶的平均包絡(luò)值大于閾值;另一第一子帶集合為前M個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶;另一第一子帶集合為前L個(gè)高頻子帶,對(duì)應(yīng)的預(yù)定條件為前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶。則需要判斷前J個(gè)高頻子帶的平均包絡(luò)值是否大于閾值,前M個(gè)高頻子帶中是否存在承載的信號(hào)類型為諧波的子帶,以及為前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中是否存在有系數(shù)被量化的子帶。
對(duì)于如何選擇目標(biāo)子帶集合,有以下兩種方式:
在第一種方式中,在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合(即執(zhí)行S205a),否則,將除同屬于所述m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合(即執(zhí)行S206a)。例如,在舉例1中,如果前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶,則可以將前M個(gè)高頻子帶組成的集合確定為目標(biāo)子帶集合,否則,將除前M個(gè)高頻子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;例如,在舉例4中,在前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,且前J個(gè)高頻子帶的平均包絡(luò)值大于閾值時(shí),可以將前L個(gè)高頻子帶和前J個(gè)高頻子帶的交集確定為目標(biāo)子帶集合,否則,將該交集之外的子帶確定為目標(biāo)子帶集合;再例如,在舉例7中,在前J個(gè)高頻子帶的平均包絡(luò)值大于閾值,且前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,以及前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶,則可以將前J個(gè)高頻子帶、前M個(gè)高頻子帶以及前L個(gè)高頻子帶的交集確定為目標(biāo)子帶集合,否則,將所述待處理子帶中除該交集之外的子帶確定為目標(biāo)子帶集合。
在第二種方式中,在該m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將該至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合(即執(zhí)行S205b),否則,將待處理子帶中不屬于m個(gè)第一子帶集合中任一第一子帶集合的子帶組成的集合確定為所述目標(biāo)子帶集合(即執(zhí)行S206b)。例如,在舉例1中,如果前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶,則可以將前M個(gè)高頻子帶組成的集合確定為目標(biāo)子帶集合,否則,將除前M個(gè)高頻子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;例如,在舉例4中,在前L個(gè)高頻子帶中的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,且前J個(gè)高頻子帶的平均包絡(luò)值大于閾值時(shí),可以將前S(S=max(J,L))個(gè)子帶組成的集合確定為目標(biāo)子帶集合,否則,將該前S個(gè)子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;再例如,在舉例7中,在前J個(gè)高頻子帶的平均包絡(luò)值大于閾值,且前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,以及前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶,可以將前S(S=max(J,L,M))個(gè)子帶組成的集合確定為目標(biāo)子帶集合,否則,將該前S個(gè)子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;再例如,在舉例7中,在前J個(gè)高頻子帶的平均包絡(luò)值不大于閾值,且前L個(gè)高頻子帶的前一幀對(duì)應(yīng)子帶中存在有系數(shù)被量化的子帶,以及前M個(gè)高頻子帶中存在承載的信號(hào)類型為諧波的子帶,可以將前S(S=max(L,M))個(gè)子帶組成的集合確定為目標(biāo)子帶集合,否則,將該前S個(gè)子帶之外的子帶組成的集合確定為目標(biāo)子帶集合。
S205a,將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
S206a,將待處理子帶中除同屬于所述m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合。
S205b,將滿足對(duì)應(yīng)預(yù)定條件的至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合。
S206b,將待處理子帶中不屬于m個(gè)第一子帶集合任一子帶集合的子帶組成的集合確定為所述目標(biāo)子帶集合。
S207,從目標(biāo)子帶集合中確定優(yōu)先增強(qiáng)子帶k。
具體地,可以將目標(biāo)子帶集合中的一次帶寬平均比特?cái)?shù)最低的子帶、一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)最低的子帶或具有最低一次比特分配數(shù)的子帶確定為優(yōu)先增強(qiáng)子帶k。
S208,確定二次比特分配子帶數(shù)量N以及二次比特分配子帶??梢酝ㄟ^(guò)以下幾種方式確定二次比特分配子帶數(shù)量N以及二次比特分配子帶。
方式1:
步驟1:根據(jù)優(yōu)先增強(qiáng)子帶的帶寬確定閾值alpha,其中,優(yōu)先增強(qiáng)子帶的帶寬可以與閾值alpha正相關(guān)。
步驟2:確定冗余比特總數(shù)(bit_surplus)是否大于閾值alpha(圖3中所示的a);如果大于,則將二次比特分配子帶數(shù)量N確定為2;如果小于,則將二次比特子帶數(shù)量N確定為1,例如,如圖3所示。
步驟3:如果N等于1,則將二次比特分配子帶確定為只包括上述優(yōu)先增強(qiáng)子帶k。如果N等于2,則除了優(yōu)先增強(qiáng)子帶k外,還需要確定二次比特分配子帶包括的另一個(gè)子帶,為了保持頻譜的連續(xù)性,可以將優(yōu)先增強(qiáng)子帶k相鄰的兩個(gè)子帶k+1和k-1中的一個(gè)子帶確定為次優(yōu)增強(qiáng)子帶k1(例如,如圖4所示),即二次比特分配子帶包括的另一個(gè)子帶;具體可以將優(yōu)先增強(qiáng)子帶k相鄰的兩個(gè)子帶k+1和k-1中具有較低一次比特分配數(shù)的子帶、具有較低帶寬平均比特?cái)?shù)的子帶或一次每信息單位比特?cái)?shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶k1,即二次比特分配子帶包括的另一個(gè)子帶。
方式2:
步驟1:確定次優(yōu)增強(qiáng)子帶k1,可以將優(yōu)先增強(qiáng)子帶k相鄰的兩個(gè)子帶k+1和k-1中的一個(gè)子帶確定為次優(yōu)增強(qiáng)子帶k1(例如,如圖4所示);具體可以將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中前幀具有較低一次比特分配數(shù)的子帶、一次帶寬平均比特?cái)?shù)較低的子帶或一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶k1。
步驟2:根據(jù)優(yōu)先增強(qiáng)子帶k的帶寬確定閾值alpha,其中,優(yōu)先增強(qiáng)子帶的帶寬可以與閾值alpha正相關(guān)
步驟3:確定冗余比特總數(shù)bit_surplus是否大于閾值alpha;如果大于,則將二次比特分配子帶數(shù)量N確定為2,如果小于則將二次比特子帶數(shù)量確定為1,例如,如圖3所示。
步驟4:如果N等于1,則將二次比特分配子帶確定為只包括上述優(yōu)先增強(qiáng)子帶k;如果N等于2,則除了優(yōu)先增強(qiáng)子帶k外,二次比特分配子帶還包括步驟1確定的次優(yōu)增強(qiáng)子帶k1。
方式3:
步驟1:假設(shè)存在按照遞增順序排列的n-1個(gè)閾值(alphan-1,alphan-1。。。,alpha1),可以先判斷冗余比特總數(shù)(bit_surplus)是否大于閾值alphan-1,如果大于則確定二次比特分配子帶的數(shù)量N=n;否則,判斷bit_surplus是否大于閾值alphan-2,若大于則N=n-1,依次類推,例如,如圖5所示。其中,an表示alphan,an-1表示alphan-1,a1表示alpha1。
步驟2:在N=1時(shí),則將二次比特分配子帶確定為只包括上述優(yōu)先增強(qiáng)子帶k;在N>1時(shí),則除了優(yōu)先增強(qiáng)子帶k外,二次比特分配子帶還包括其他子帶。其中,為了保持頻譜的連續(xù)性,如果N=2,則可以將子帶k+1和k-1相鄰的子帶k+2和k-2中前幀具有較低一次比特分配數(shù)的子帶、一次帶寬平均比特?cái)?shù)較低的子帶或一次信息單位數(shù)確定操作得到后的每信息單位比特?cái)?shù)較低的子帶確定為一個(gè)二次比特分配子帶,如果N=3,則可以將子帶k+1和k-1確定為二次比特分配子帶,如果N=4,則可以子帶k+1和k-1確定為二次比特分配子帶,并從子帶k+2和k-2中選擇子帶,如果N大于4,其它次優(yōu)增強(qiáng)子帶的選擇按照上述類似的方式進(jìn)行選擇,例如,如圖6所示,確定次優(yōu)增強(qiáng)子帶k1,K2,k3,k4,。。。kn-1。
應(yīng)理解,上述方式3也可以有其他的變形,均應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。例如,可以先判斷冗余比特總數(shù)bit_surplus是否大于閾值alphan/2;如果大于,再判斷是否小于alpha(n/2)+1,如果小于,再判斷是否大于alpha(n/2)-1alphan/2+1,如此類推。
S209,將冗余比特分配給二次比特分配子帶,以得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù)。在確定了二次比特分配子帶之后,可以將冗余比特分配給二次比特分配子帶包括的各個(gè)子帶。
具體地,在N=1時(shí),即二次比特分配子帶只包括優(yōu)先增強(qiáng)子帶,則可以將該冗余比特全部分配給優(yōu)先增強(qiáng)子帶。
在N>1時(shí),可以按照分配比例將冗余比特分配給二次比特分配子帶包括的各個(gè)子帶,其中,每一個(gè)子帶的冗余比特分配比例可以按照該子帶的一次每信息單位比特?cái)?shù)、一次帶寬平均比特?cái)?shù)或一次比特分配數(shù)來(lái)確定,具體確定方法可以參考上文所述。
S210,根據(jù)二次比特分配子帶各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作。
具體可以如圖7所示,整合一次分配得到的比特Rk1和二次分配得到的比特Rk2為Rkall,然后用Rkall對(duì)二次比特分配子帶進(jìn)行二次信息單位數(shù)確定操作。
因此,在本發(fā)明實(shí)施例中,先根據(jù)待分配比特總數(shù)對(duì)待處理子帶進(jìn)行一次比特分配得到一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
本發(fā)明實(shí)施例的比特分配方法可以使用于解碼端和編碼端。
在用于編碼端時(shí),方法100還可以包括:根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)該各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);將該量化的頻譜系數(shù)寫入碼流并輸出該碼流。
可選地,在用于編碼端時(shí),在二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù)時(shí),該方法100還可以包括:將該至少一個(gè)參數(shù)寫入碼流。
本發(fā)明實(shí)施例還可以應(yīng)用于解碼端,在用于解碼端時(shí),方法100還可以包括:
根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,所述二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);根據(jù)該逆量化的頻譜系數(shù)獲取輸出信號(hào)。
可選地,本發(fā)明實(shí)施例在用于解碼端時(shí),在二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù)時(shí),該方法100還可以包括:從待解碼碼流中獲取所述至少一種參數(shù)。
為了更加清楚地理解本發(fā)明,以下將結(jié)合圖8和圖9分別描述根據(jù)本發(fā)明實(shí)施例的用于信號(hào)處理的方法,其中,圖8所示的為編碼方法,圖9所示的為解碼方法。
圖8是根據(jù)本發(fā)明實(shí)施例的編碼方法示意性圖。如圖8所示,該方法300可以包括:
S301,編碼端在獲取到輸入信號(hào)(例如,音頻信號(hào))之后,可以對(duì)輸入信號(hào)進(jìn)行時(shí)頻變換得到頻域信號(hào),該頻域信號(hào)占用的子帶以下稱作為待編碼子帶;
S302,確定待編碼子帶中各個(gè)子帶的子帶類型,其中,各個(gè)子帶的子帶類型可以為各個(gè)子帶承載的信號(hào)類型,例如,該信號(hào)類型可以為諧波或非諧波;
S303,根據(jù)S302中確定的各個(gè)子帶的子帶類型,計(jì)算和量化頻域包絡(luò),得到各個(gè)子帶的包絡(luò)值;
S304,根據(jù)S303中得到的各個(gè)子帶的包絡(luò)值以及根據(jù)待分配比特總數(shù),對(duì)各個(gè)子帶進(jìn)行一次比特分配,以得到各個(gè)子帶的一次比特分配數(shù);
S305,對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作可以得到各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)和冗余比特總數(shù);
S306,根據(jù)S302中確定的當(dāng)前幀各個(gè)子帶的子帶類型、S303中確定的當(dāng)前幀各個(gè)子帶的包絡(luò)值、S304中確定的當(dāng)前幀各個(gè)子帶的一次比特分配數(shù)、S305中確定的冗余比特總數(shù)中的至少一種,從當(dāng)前幀待編碼子帶中確定二次比特分配子帶;可選地,還可以根據(jù)各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài)確定二次比特分配子帶;
S307,根據(jù)S306中確定的二次比特分配子帶和S305中確定的冗余比特總數(shù),將冗余比特分配給二次比特分配子帶;具體如何分配可以根據(jù)S304一次比特分配后各個(gè)子帶的一次比特分配比特、和/或一次每信息單位比特?cái)?shù)(和/或帶寬平均比特?cái)?shù))進(jìn)行二次比特分配;
S308,根據(jù)二次比特分配子帶進(jìn)行一次比特分配(S304)時(shí)得到的一次比特分配數(shù)和二次比特分配(S307)時(shí)得到的二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);
S309,根據(jù)待編碼子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)承載有S301時(shí)頻變換后的頻域信號(hào)的子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,當(dāng)前幀二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),當(dāng)前幀其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
S310,將量化的頻譜系數(shù)、各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài)、各個(gè)子帶的子帶類型以及包絡(luò)值寫入碼流并輸出該碼流,以便于解碼端獲取該碼流并進(jìn)行解碼。其中,在S306確定二次比特分配子帶未采用各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài)時(shí),各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài)也可以不傳送至解碼端。
圖9是根據(jù)本發(fā)明實(shí)施例的解碼方法400的示意性流程圖。如圖9所示,該方法400可以包括:
S401,解碼端在獲取到待解碼碼流后,可以解碼該待解碼碼流,得到待解碼子帶中各個(gè)子帶的量化的頻譜系數(shù),各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài)、各個(gè)子帶的子帶類型以及包絡(luò)值;
S402,根據(jù)S401中獲取的待解碼子帶中各個(gè)子帶的包絡(luò)值以及根據(jù)待編碼比特總數(shù)對(duì)各個(gè)子帶進(jìn)行一次比特分配,以得到各個(gè)子帶的一次比特分配數(shù)
S403,對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作可以得到各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)和冗余比特總數(shù);
S404,可以根據(jù)S401中獲取的各個(gè)子帶的子帶類型、各個(gè)子帶的包絡(luò)值以及各個(gè)子帶的前一幀對(duì)應(yīng)子帶的比特分配狀態(tài),以及根據(jù)S403中確定的冗余比特總數(shù)中的至少一種從待解碼子帶中確定二次比特分配子帶(具體采用哪個(gè)參數(shù)確定二次比特分配子帶,可以與編碼端保持一致);
S405,根據(jù)S404中確定的二次比特分配子帶和S403中確定的冗余比特總數(shù),將冗余比特分配給二次比特分配子帶,以得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);具體如何分配可以根據(jù)S402一次比特分配后各個(gè)子帶的一次比特分配比特、和/或S403一次信息單位數(shù)確定操作后每信息單位比特?cái)?shù)(和/或帶寬平均比特?cái)?shù))進(jìn)行二次比特分配;
S406,根據(jù)二次比特分配子帶進(jìn)行一次比特分配(S402)時(shí)得到的一次比特分配數(shù)和二次比特分配(S405)時(shí)得到的二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);
S407,根據(jù)待解碼子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)S401解碼比特流后的得到的各個(gè)子帶進(jìn)行逆量化操作,以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
S408,將各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù)進(jìn)行時(shí)頻變換得到輸出信號(hào)(例如,音頻信號(hào))。
因此,在本發(fā)明實(shí)施例中,先根據(jù)待分配比特總數(shù)對(duì)待處理子帶進(jìn)行一次比特分配得到一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
以上已結(jié)合圖1至圖9描述了根據(jù)本發(fā)明實(shí)施例的方法,以下將結(jié)合圖9至圖13描述根據(jù)本發(fā)明實(shí)施例用于信號(hào)處理的裝置。
圖10是根據(jù)本發(fā)明實(shí)施例的用于信號(hào)處理的裝置500的示意性框圖。如圖10所示,該裝置500包括:
比特總數(shù)確定單元510,用于確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);
第一比特分配單元520,用于根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);
第一信息單位數(shù)確定單元530,用于根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作得到當(dāng)前幀冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù);
子帶選擇單元540,用于根據(jù)二次比特分配參數(shù),從待處理子帶中選擇二次比特分配子帶,其中,二次比特分配參數(shù)包括待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種;
第二比特分配單元550,用于對(duì)二次比特分配子帶進(jìn)行二次比特分配,以便于將冗余比特分配給二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);
第二信息單位數(shù)確定單元560,用于根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
可選地,待處理子帶中各個(gè)子帶的子帶特征包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶的頻率范圍中的至少一種。
可選地,子帶承載的信號(hào)特征包括:子帶承載的信號(hào)類型和子帶的包絡(luò)值中的至少一種;和/或
子帶對(duì)應(yīng)的比特分配狀態(tài)包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種。
在本發(fā)明實(shí)施例中,其中,任一子帶的一次帶寬平均比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的帶寬確定的,任一子帶的一次每信息單位比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的一次信息單位數(shù)確定的,其中,所述任一子帶的一次信息單位數(shù)是對(duì)所述任一子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
可選地,子帶承載的信號(hào)類型包括諧波和/或非諧波。
可選地,如圖11所示,子帶選擇單元540包括:
確定子單元542,用于根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定目標(biāo)子帶集合;
選擇子單元546,用于從目標(biāo)子帶集合中選擇二次比特分配子帶,目標(biāo)子帶集合中的子帶屬于待處理子帶。
可選地,確定子單元542具體用于:
根據(jù)m個(gè)第一子帶集合中各個(gè)子帶的子帶特征,以及與m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,m為大于等于1的整數(shù),m個(gè)第一子帶集合中的子帶屬于待處理子帶;其中,
在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合,否則,將待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者
在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,待處理子帶中不屬于m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
可選地,m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:
對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶中存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值和對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
可選地,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。
可選地,選擇子單元546具體用于:
根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶。
可選地,選擇子單元546具體用于:
將目標(biāo)子帶集合中一次帶寬平均比特?cái)?shù)最低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或一次比特分配數(shù)最低的子帶確定為優(yōu)先增強(qiáng)子帶,優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶。
可選地,選擇子單元546具體用于:
在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;
在N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶。
可選地,選擇子單元546具體用于:
基于優(yōu)先增強(qiáng)分配子帶,確定上述N-1個(gè)二次比特分配子帶,其中,N個(gè)二次比特分配子帶在頻域上是連續(xù)的。
可選地,選擇子單元546具體用于:
在冗余比特總數(shù)大于閾值時(shí),從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶包括次優(yōu)增強(qiáng)子帶和優(yōu)先增強(qiáng)子帶。
可選地,選擇子單元546具體用于:
從目標(biāo)子帶集合中,確定次優(yōu)增強(qiáng)子帶;
在冗余比特總數(shù)大于閾值時(shí),將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶。
可選地,選擇子單元546具體用于:
將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)較低的子帶或一次比特分配數(shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶。
可選地,第二比特分配單元550具體用于:
在二次比特分配子帶包括的子帶的數(shù)量大于等于2時(shí),根據(jù)二次比特分配子帶中各個(gè)子帶的一次每信息單位比特?cái)?shù)、一次帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)二次比特分配子帶進(jìn)行二次比特分配。
可選地,第一比特分配單元520具體用于:
根據(jù)待分配比特總數(shù),按照待處理子帶的各個(gè)子帶的包絡(luò)大小,對(duì)待處理子帶進(jìn)行一次比特分配。
本發(fā)明實(shí)施例的用于信號(hào)處理的裝置500可以用于實(shí)現(xiàn)方法實(shí)施例中用于信號(hào)處理的方法,為了簡(jiǎn)潔,在此不再贅述。
因此,在本發(fā)明實(shí)施例中,先根據(jù)當(dāng)前幀的待分配比特總數(shù)對(duì)待處理子帶進(jìn)行一次比特分配得到一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及冗余比特總數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
可選地,本發(fā)明實(shí)施例的用于信號(hào)處理的裝置可以為編碼器,也可以是解碼器。以下將結(jié)合圖12和圖13進(jìn)行詳細(xì)說(shuō)明。
圖12是根據(jù)本發(fā)明實(shí)施例的編碼器600的示意性框圖。除了比特總數(shù)確定單元610、第一比特分配單元620、第一信息單位數(shù)確定單元630、子帶選擇單元640、第二比特分配單元650和第二信息單位數(shù)確定單元660之外,還可以包括量化單元670和傳送單元680。其中,
量化單元670,用于根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
傳送單元680,用于將量化的頻譜系數(shù)寫入碼流并輸出該碼流。
可選地,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);
傳送單元680還用于:將該至少一種參數(shù)寫入碼流。
應(yīng)理解,編碼器600中的比特總數(shù)確定單元610、第一比特分配單元620、第一信息單位數(shù)確定單元630、子帶選擇單元640、第二比特分配單元650和第二信息單位數(shù)確定單元660可以分別相當(dāng)于用于信號(hào)處理的裝置500中的比特總數(shù)確定單元510、第一比特分配單元520、第一信息單位數(shù)確定單元530、子帶選擇單元540、第二比特分配單元550和第二信息單位數(shù)確定單元560,為了簡(jiǎn)潔,在此不再贅述。還應(yīng)理解,編碼器600還可以實(shí)現(xiàn)編碼方法300中的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
圖13是根據(jù)本發(fā)明實(shí)施例的解碼器700的示意性框圖。除了比特總數(shù)確定單元710、第一比特分配單元720、第一信息單位數(shù)確定單元730、子帶選擇單元740、第二比特分配單元750和第二信息單位數(shù)確定單元760之外,還可以包括逆量化單元770和第一獲取單元780。其中,
逆量化單元770,用于根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
第一獲取單元780,用于根據(jù)逆量化的頻譜系數(shù)獲取輸出信號(hào)。
可選地,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);解碼器700還包括:
第二獲取單元790,用于從待解碼碼流中獲取該至少一種參數(shù)。
應(yīng)理解,編碼器700中的比特總數(shù)確定單元710、第一比特分配單元720、第一信息單位數(shù)確定單元730、子帶選擇單元740、第二比特分配單元750和第二信息單位數(shù)確定單元760可以分別相當(dāng)于用于信號(hào)處理的裝置500中的比特總數(shù)確定單元510、第一比特分配單元520、第一信息單位數(shù)確定單元530、子帶選擇單元540、第二比特分配單元550和第二信息單位數(shù)確定單元560,為了簡(jiǎn)潔,在此不再贅述。還應(yīng)理解,解碼器700還可以實(shí)現(xiàn)解碼方法400中的相應(yīng)流程,為了簡(jiǎn)潔,在此不再贅述。
圖14是根據(jù)本發(fā)明實(shí)施例的用于信號(hào)處理的裝置800的示意性框圖。如圖14所示的裝置800,該裝置800包括存儲(chǔ)器810和處理器820。存儲(chǔ)器810用于存儲(chǔ)程序代碼;處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,執(zhí)行以下操作:
確定當(dāng)前幀的待處理子帶對(duì)應(yīng)的待分配比特總數(shù);
根據(jù)待分配比特總數(shù),對(duì)待處理子帶進(jìn)行一次比特分配,以得到待處理子帶中各個(gè)子帶的一次比特分配數(shù);
根據(jù)各個(gè)子帶的一次比特分配數(shù),對(duì)一次比特分配后的各個(gè)子帶進(jìn)行一次信息單位數(shù)確定操作得到待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)以及當(dāng)前幀冗余比特總數(shù);
根據(jù)二次比特分配參數(shù),從待處理子帶中選擇二次比特分配子帶,其中,二次比特分配參數(shù)包括待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種;
對(duì)二次比特分配子帶進(jìn)行二次比特分配,以便于將冗余比特分配給二次比特分配子帶并得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù);
根據(jù)二次比特分配子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)。
可選地,待處理子帶中各個(gè)子帶的子帶特征包括子帶承載的信號(hào)特征、子帶對(duì)應(yīng)的比特分配狀態(tài)和子帶的頻率范圍中的至少一種。
可選地,子帶承載的信號(hào)特征包括:子帶承載的信號(hào)類型和子帶的包絡(luò)值中的至少一種;和/或
子帶對(duì)應(yīng)的比特分配狀態(tài)包括:子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況、子帶的一次每信息單位比特?cái)?shù)、子帶的一次帶寬平均比特?cái)?shù)和子帶的一次比特分配數(shù)中的至少一種。
可選地,子帶承載的信號(hào)類型包括諧波和/或非諧波。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定目標(biāo)子帶集合以及從目標(biāo)子帶集合中選擇二次比特分配子帶,目標(biāo)子帶集合中的子帶屬于待處理子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
根據(jù)m個(gè)第一子帶集合中各個(gè)子帶的子帶特征,以及與m個(gè)第一子帶集合一一對(duì)應(yīng)的m個(gè)預(yù)定條件,確定目標(biāo)子帶集合,m為大于等于1的整數(shù),m個(gè)第一子帶集合中的子帶屬于待處理子帶;其中,
在m個(gè)第一子帶集合中的每個(gè)子帶集合均滿足對(duì)應(yīng)的預(yù)定條件時(shí),將同屬于m個(gè)第一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合,否則,將所述待處理子帶中除同屬于m個(gè)第一子帶集合的子帶之外的子帶組成的集合確定為目標(biāo)子帶集合;或者
在m個(gè)第一子帶集合中存在至少一個(gè)子帶集合滿足對(duì)應(yīng)的預(yù)定條件時(shí),將至少一個(gè)子帶集合中所有子帶組成的集合確定為目標(biāo)子帶集合,否則,待處理子帶中不屬于m個(gè)第一子帶集合中任一子帶集合的子帶組成的集合確定為目標(biāo)子帶集合。
可選地,m個(gè)預(yù)定條件中的任一預(yù)定條件包括以下條件中的至少一種:
對(duì)應(yīng)的第一子帶集合的前一幀對(duì)應(yīng)子帶中存在被系數(shù)量化的子帶、對(duì)應(yīng)的第一子帶集合中的子帶的平均包絡(luò)值大于第一閾值和對(duì)應(yīng)的第一子帶集合中存在承載的信號(hào)類型為諧波的子帶。
可選地,所述m個(gè)第一子帶集合中的子帶的頻率高于所述待處理子帶中除所述m個(gè)第一子帶集合中的子帶之外的子帶的頻率。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
根據(jù)目標(biāo)子帶集合中各個(gè)子帶的一次帶寬平均比特?cái)?shù)、各個(gè)子帶的一次每信息單位比特?cái)?shù)和各個(gè)子帶的一次比特分配數(shù)中的至少一種,從目標(biāo)子帶集合中選擇二次比特分配子帶。
在本發(fā)明實(shí)施例中,任一子帶的一次帶寬平均比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的帶寬確定的,任一子帶的一次每信息單位比特?cái)?shù)是根據(jù)所述任一子帶的一次比特分配數(shù)以及所述任一子帶的一次信息單位數(shù)確定的,其中,所述任一子帶的一次信息單位數(shù)是對(duì)所述任一子帶進(jìn)行一次信息單位數(shù)確定操作后得到的。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
將目標(biāo)子帶集合中一次信息單位數(shù)確定操作后得到的帶寬平均比特?cái)?shù)最低的子帶、一次每信息單位比特?cái)?shù)最低的子帶或一次比特分配數(shù)最低的子帶確定為優(yōu)先增強(qiáng)子帶,優(yōu)先增強(qiáng)子帶屬于二次比特分配子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
在冗余比特總數(shù)大于閾值aN且小于aN+1時(shí),確定需要選擇N個(gè)二次比特分配子帶,其中,aN和aN+1分別為按照遞增順序排列的多個(gè)閾值中的第N個(gè)閾值和第N+1個(gè)閾值;
在N大于等于2時(shí),從目標(biāo)子帶集合中除所述優(yōu)先增強(qiáng)子帶之外的其他子帶中選擇N-1個(gè)二次比特分配子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
基于優(yōu)先增強(qiáng)分配子帶,確定上述N-1個(gè)二次比特分配子帶,其中,N個(gè)二次比特分配子帶在頻域上是連續(xù)的。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
在冗余比特總數(shù)大于閾值時(shí),從目標(biāo)子帶集合中確定次優(yōu)增強(qiáng)子帶,其中,二次比特分配子帶包括次優(yōu)增強(qiáng)子帶和優(yōu)先增強(qiáng)子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
從目標(biāo)子帶集合,確定次優(yōu)增強(qiáng)子帶;
在冗余比特總數(shù)大于閾值時(shí),將次優(yōu)增強(qiáng)子帶確定為屬于二次比特分配子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
將優(yōu)先增強(qiáng)子帶相鄰的兩個(gè)子帶中一次帶寬平均比特?cái)?shù)較低的子帶、一次每信息單位比特?cái)?shù)較低的子帶或一次比特分配數(shù)較低的子帶確定為次優(yōu)增強(qiáng)子帶。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
在二次比特分配子帶包括的子帶的數(shù)量大于等于2時(shí),根據(jù)二次比特分配子帶中各個(gè)子帶的一次每信息單位比特?cái)?shù)、一次帶寬平均比特?cái)?shù)或一次比特分配數(shù),對(duì)二次比特分配子帶進(jìn)行二次比特分配。
可選地,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,具體執(zhí)行以下操作:
根據(jù)待分配比特總數(shù),按照待處理子帶的各個(gè)子帶的包絡(luò)大小,對(duì)待處理子帶進(jìn)行一次比特分配。
可選地,該裝置800為編碼器,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:
根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行量化操作以得到各個(gè)子帶對(duì)應(yīng)的量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
將量化的頻譜系數(shù)寫入碼流并輸出該碼流。
可選地,二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);在裝置800為編碼器時(shí),處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:將該至少一種參數(shù)寫入該碼流。
可選地,該裝置800為解碼器,處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:
根據(jù)待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),對(duì)待處理子帶中各個(gè)子帶進(jìn)行逆量化操作以得到各個(gè)子帶對(duì)應(yīng)的逆量化的頻譜系數(shù),其中,二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行二次信息單位數(shù)確定操作后得到的信息單位數(shù),其他子帶對(duì)應(yīng)的信息單位數(shù)是進(jìn)行一次信息單位數(shù)確定操作后得到的信息單位數(shù);
根據(jù)逆量化的頻譜系數(shù)獲取輸出信號(hào)。
可選地,在裝置800為解碼器時(shí),二次比特分配參數(shù)包括待處理子帶中至少一個(gè)子帶承載的信號(hào)類型、待處理子帶中至少一個(gè)子帶的包絡(luò)值以及待處理子帶中至少一個(gè)子帶的前一幀對(duì)應(yīng)子帶的系數(shù)量化情況中的至少一種參數(shù);在裝置800為解碼器時(shí),處理器820用于調(diào)用存儲(chǔ)器810中存儲(chǔ)的程序代碼,還執(zhí)行以下操作:從待解碼碼流中獲取該至少一種參數(shù)。
本發(fā)明實(shí)施例的用于信號(hào)處理的裝置500可以用于實(shí)現(xiàn)方法實(shí)施例中用于信號(hào)處理的方法,為了簡(jiǎn)潔,在此不再贅述。
因此,在本發(fā)明實(shí)施例中,先根據(jù)當(dāng)前幀的待分配比特總數(shù)對(duì)待處理子帶進(jìn)行一次比特分配得到一次比特分配數(shù),并對(duì)一次比特分配后的子帶進(jìn)行一次信息單位數(shù)確定操作得到冗余比特總數(shù)以及待處理子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),再根據(jù)待處理子帶中各個(gè)子帶的子帶特征和冗余比特總數(shù)中的至少一種,確定二次比特分配子帶,并將冗余比特分配給該二次比特分配子帶得到二次比特分配子帶中各個(gè)子帶的二次比特分配數(shù),并根據(jù)二次比特分配子帶中各個(gè)子帶的一次比特分配數(shù)和二次比特分配數(shù),對(duì)二次比特分配子帶中各個(gè)子帶進(jìn)行二次信息單位數(shù)確定操作以重新得到二次比特分配子帶中各個(gè)子帶對(duì)應(yīng)的信息單位數(shù),而非將被編碼子帶所剩的冗余比特平均分配到余下的未編碼的子帶中去,從而可以使得可用比特得到了更加合理、充分的利用,明顯的提高了編解碼的質(zhì)量。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。