TWI854237B - 音訊訊號的編解碼方法、裝置、設備、儲存介質及電腦程式 - Google Patents
音訊訊號的編解碼方法、裝置、設備、儲存介質及電腦程式 Download PDFInfo
- Publication number
- TWI854237B TWI854237B TW111120929A TW111120929A TWI854237B TW I854237 B TWI854237 B TW I854237B TW 111120929 A TW111120929 A TW 111120929A TW 111120929 A TW111120929 A TW 111120929A TW I854237 B TWI854237 B TW I854237B
- Authority
- TW
- Taiwan
- Prior art keywords
- sub
- band
- adjustment
- spectrum
- frequency
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 217
- 238000003860 storage Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 title claims abstract description 18
- 230000005236 sound signal Effects 0.000 title claims description 46
- 238000001228 spectrum Methods 0.000 claims abstract description 590
- 230000002087 whitening effect Effects 0.000 claims abstract description 145
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000007493 shaping process Methods 0.000 claims abstract description 72
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000003062 neural network model Methods 0.000 claims abstract description 48
- 230000003595 spectral effect Effects 0.000 claims abstract description 39
- 230000006870 function Effects 0.000 claims description 113
- 238000001514 detection method Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 13
- 230000000717 retained effect Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 19
- 238000013139 quantization Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 11
- 230000009466 transformation Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 4
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Abstract
本申請實施例公開了一種編解碼方法、裝置、設備、儲
存介質及電腦程式,屬於編解碼技術領域。在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,編碼品質得到提高。
Description
本申請實施例涉及編解碼技術領域,特別涉及一種編解碼方法、裝置、設備、儲存介質及電腦程式。
本申請要求於2021年6月11日提交的申請號為202110654037.6、發明名稱為“編解碼方法、裝置、設備、儲存介質及電腦程式”的中國專利申請的優先權,其全部內容通過引用結合在本申請中。
編解碼技術是媒體通訊和媒體廣播等媒體應用中不可或缺的環節。因此如何進行編解碼成為業界的關注點之一。
相關技術提出了一種音訊編解碼方法,在該方法中,當進行音訊編碼時,對音訊的時域訊號進行時頻變換,得到音訊的頻域訊號。對頻域訊號進行白化處理,得到白化譜,通過編碼神
經網路模型對白化譜進行處理,以得到潛在變數,該潛在變數用於指示白化譜的特徵(即頻譜特徵),對潛在變數進行熵編碼,並將熵編碼結果寫入碼流。當進行音訊解碼時,基於碼流確定重構的潛在變數,通過解碼神經網路模型對該重構的潛在變數進行處理,得到重構的白化譜,對該重構的白化譜進行去白化處理,得到重構的頻域訊號,對重構的頻域訊號進行時頻變換的逆變換,得到重構的時域訊號。
然而,相關技術中得到的白化譜的統計平均能量分佈範圍較大,也即白化譜中不同頻率的譜線的統計平均能量相差較大,而統計平均能量相對較低的頻譜區域內的譜線容易在通過編碼神經網路模型處理的過程中去失,也即相關技術中的編碼過程容易去失部分頻譜特徵,從而導致編碼品質較低。
編解碼方法、裝置、設備、儲存介質及電腦程式,能夠提高編碼品質。所述技術方案如下:
第一方面,提供了一種編碼方法,該編碼方法包括:確定待編碼的媒體資料的第一白化譜;對第一白化譜進行整形處理,以得到第二白化譜,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值;通過編碼神經網路模型對第二白化譜進行處理,以得到第一潛在變數,第一潛在變數用於指示第二白化譜的特徵;將第一潛在變數編入碼流。
也即是,本方案通過對白化譜進行整形處理,提升目標頻段內的頻譜幅度值,這樣能夠降低白化譜的統計平均能量分佈動態範圍,也即得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理,能夠保留更高的頻譜特徵,也即編碼更多的譜線,編碼品質得到提高。
其中,第一白化譜中需要整形處理的頻段即是媒體資料對應的目標頻段。可選地,目標頻段根據媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。也即是,本申請實施例中確定目標頻段所參考的因素有一種或多種。
可選地,目標頻段覆蓋媒體資料的頻譜範圍的整個範圍或部分範圍。也即可以對第一白化譜的整個頻段進行整形,也可以對第一白化譜的部分頻段進行整形。
可選地,目標頻段是預先設定的,或者,目標頻段是基於第一白化譜確定的。也即是,目標頻段預先設定或者動態確定。
如果目標頻段是預先設定的,則目標頻段可以基於前述一種或多種因素預先設定。或者,通過統計分析大量的媒體資料樣本的頻譜能量分佈,確定某些頻譜能量較低的頻段,將頻譜能量較低的頻段設定為目標頻段。
如果目標頻段是基於第一白化譜確定的,則對第一白化譜進行整形處理,以得到第二白化譜之前,還包括:將媒體資料
的頻譜範圍劃分為第一數量個第一子頻段;確定第一白化譜在第一數量個第一子頻段中各個第一子頻段內的頻譜能量的均值,以得到第一數量個子頻段頻譜能量均值;確定第一白化譜在頻譜範圍內的頻譜能量均值;根據該頻譜能量均值和第一數量個子頻段頻譜能量均值確定目標頻段包括的第一子頻段。
可選地,根據該頻譜能量均值和第一數量個子頻段頻譜能量均值確定目標頻段包括的第一子頻段,包括:將第一數量個子頻段頻譜能量均值中與該頻譜能量均值之間的差值超過指定閾值的第一子頻段作為目標頻段包括的第一子頻段。也即是,基於待編碼的媒體資料的第一白化譜的能量分佈情況,篩選出頻譜能量較低的第一子頻段,將篩選出的第一子頻段劃入目標頻段內。
可選地,對第一白化譜進行整形處理,以得到第二白化譜,包括:按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜。
可選地,目標頻段包括第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數;按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜,包括:確定第一白化譜在第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對第一白化譜在第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到第二白化譜。可選地,第二數量個第二子頻段基於劃分到目標頻段的第一子頻
段確定。
示例性地,第一調整子頻段為第二數量個第二子頻段中的任意一個第二子頻段,對於第一調整子頻段來說,將第一白化譜在第一調整子頻段內頻點的頻譜值乘以或除以對應的調整因數,以得到第二白化譜在第一調整子頻段內頻點的頻譜值。需要說明的是,預先設定均按照乘以調整因數來調整第一白化譜,或者均按照除以調整因數來調整第一白化譜,也即在編碼過程理中直接按照設定相乘或相除即可。
可選地,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:
第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。也即是,確定第一調整子頻段對應的調整因數的第一種實現為將對應的調整因數設定為預設值,第二種實現方式為按照線性內插的方式確定對應的調整因數,第三種實現方式為根據預設函數確定對應的調整因數。接下來對其中的第二種實現方式和第三種實現方式進行介紹。
第二種實現方式、按照線性內插的方式確定第一調整子
頻段中至少一部分頻點對應的調整因數。
該至少一部分頻點對應的調整因數按照如下方式確定:確定第一調整子頻段對應的起始調整因數;確定第一調整子頻段對應的截止調整因數;基於起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
可選地,該至少一部分頻點不包括第一調整子頻段的起始頻點和截止頻點;該起始頻點對應的調整因數為起始調整因數,該截止頻點對應的調整因數為截止調整因數。
可選地,起始調整因數和截止調整因數均為預設值;或者,起始調整因數為預設值,且截止調整因數為非預設值;或者,起始調整因數為非預設值,且截止調整因數為預設值;或者,起始調整因數和截止調整因數均為非預設值。
可選地,當截止調整因數為非預設值時,截止調整因數為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。也即是,由於第二調整子頻段是位於第一調整子頻段之後且與第一調整子頻段連續的頻段,因此,可以將第二調整子頻段的起始頻點對應的調整因數作為第一調整子頻段對應的截止調整因數。其中,第二調整子頻段的截止頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
可選地,當起始調整因數為非預設值時,起始調整因數為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。也即是,由於第三調整子頻段是位於第一調整子頻段之前且與第一調整子頻段連續的頻段,因此,可以將第三調整子頻段的起始頻點對應的調整因數作為第一調整子頻段對應的截止調整因數。其中,第三調整子頻段的截止頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
第三種實現方式、根據預設函數確定第一調整子頻段對應的調整因數。
在本申請實施例中,如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜之前,還包括:從儲存的一個或多個預設函數中獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍;基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。
其中,該一個或多個預設函數中的每個預設函數對應一個第二子頻段,該一個或多個預設函數相同或不同,各個預設函數的函數引數範圍也可以相同或不同,本申請實施例對此不作限
定。可選地,第一調整子頻段對應的預設函數為非線性函數,這樣後續即按照一種非線性關係來對第一調整子頻段內頻點的頻譜值進行調整。示例性地,預設函數為二次函數、log函數等。若第一調整子頻段對應的預設函數為線性函數,這樣後續即按照一種線性關係來對第一調整子頻段內頻點的頻譜值進行調整,實質上與線性內插的原理相似。
可選地,對第一白化譜進行整形處理,以得到第二白化譜之前,還包括:檢測第一白化譜是否滿足整形條件;如果第一白化譜滿足整形條件,則執行對第一白化譜進行整形處理,以得到第二白化譜的步驟。也即是,本申請實施例還能夠引入整形檢測機制,以檢測是否需要對第一白化譜進行整形,在第一白化譜滿足整形條件的情況下進行整形處理,在第一白化譜不滿足整形條件的情況下不進行整形處理,也即第二白化譜即為第一白化譜。
可選地,檢測第一白化譜是否滿足整形條件,包括:基於第一白化譜,確定第一平均能量和第二平均能量,第一平均能量為第一白化譜在第一預設頻段內的頻譜能量的均值,第二平均能量為第一白化譜在第二預設頻段內的頻譜能量的均值;如果第一平均能量與第二平均能量之間的差值超過第一閾值,則確定第一白化譜滿足整形條件。
需要說明的是,上述整形檢測機制為可選地,示例性地,在編碼速率為指定編碼速率的情況下對不進行整形檢測,直接對第一白化譜進行整形,在編碼速率不是指定編碼速率的情況下進
行整形檢測,在第一白化譜滿足整形條件的情況下再進行整形。例如,在相對較低的編碼速率下都直接對第一白化譜進行整形,在相對較高的編碼速率下進行整形檢測。
第二方面,提供了一種解碼方法,與上述編碼方法相對應,該解碼方法包括:基於碼流確定重構的第一潛在變數;通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜;對重構的第二白化譜進行調整,以得到重構的第一白化譜,重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於重構的第二白化譜在目標頻段內的頻譜幅度值;基於重構的第一白化譜確定重構的媒體資料。
可選地,對重構的第二白化譜進行調整,以得到重構的第一白化譜,包括:按照增益調整因數對重構的第二白化譜進行調整,以得到重構的第一白化譜。
可選地,目標頻段包括第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數;按照增益調整因數對重構的第二白化譜進行調整,以得到重構的第一白化譜,包括:確定重構的第二白化譜在第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對重構的第二白化譜在第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到重構的第一白化譜。
可選地,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。
可選地,該至少一部分頻點對應的調整因數按照如下方式確定:確定第一調整子頻段對應的起始調整因數;確定第一調整子頻段對應的截止調整因數;基於起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
可選地,該至少一部分頻點不包括第一調整子頻段的起始頻點和截止頻點;該起始頻點對應的調整因數為起始調整因數,該截止頻點對應的調整因數為截止調整因數。
可選地,起始調整因數和截止調整因數均為預設值;或者,起始調整因數為預設值,且截止調整因數為非預設值;或者,起始調整因數為非預設值,且截止調整因數為預設值;或者,起始調整因數和截止調整因數均為非預設值。
可選地,當截止調整因數為非預設值時,該截止調整因數為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。
可選地,當起始調整因數為非預設值時,該起始調整因數為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。
可選地,如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜之前,還包括:從儲存的一個或多個預設函數中獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍;基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。
可選地,目標頻段根據媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
可選地,目標頻段覆蓋媒體資料的頻譜範圍的整個範圍或部分範圍。
第三方面,提供了一種編碼裝置,所述編碼裝置具有實現上述第一方面中編碼方法行為的功能。所述編碼裝置包括一個或多個模組,該一個或多個模組用於實現上述第一方面所提供的
編碼方法。
第四方面,提供了一種解碼裝置,所述解碼裝置具有實現上述第二方面中解碼方法行為的功能。所述解碼裝置包括一個或多個模組,該一個或多個模組用於實現上述第二方面所提供的解碼方法。
第五方面,提供了一種編碼端設備,所述編碼端設備包括處理器和記憶體,所述記憶體用於儲存執行上述第一方面所提供的編碼方法的程式。所述處理器被配置為用於執行所述記憶體中儲存的程式,以實現上述第一方面提供的編碼方法。
可選地,所述編碼端設備還可以包括通訊匯流排,該通訊匯流排用於該處理器與記憶體之間建立連接。
第六方面,提供了一種解碼端設備,所述解碼端設備包括處理器和記憶體,所述記憶體用於儲存執行上述第二方面所提供的解碼方法的程式。所述處理器被配置為用於執行所述記憶體中儲存的程式,以實現上述第二方面提供的解碼方法。
可選地,所述解碼端設備還可以包括通訊匯流排,該通訊匯流排用於該處理器與記憶體之間建立連接。
第七方面,提供了一種電腦可讀儲存介質,所述儲存介質內儲存有指令,當所述指令在電腦上運行時,使得電腦執行上述第一方面所述的編碼方法的步驟,或者執行上述第二方面所述的解碼方法的步驟。
第八方面,提供了一種包含指令的電腦程式產品,當所
述指令在電腦上運行時,使得電腦執行上述第一方面所述的編碼方法的步驟,或者執行上述第二方面所述的解碼方法的步驟。或者說,提供了一種電腦程式,所述電腦程式被執行時實現上述第一方面所述的編碼方法的步驟,或者實現上述第二方面所述的解碼方法的步驟。
第九方面,提供了一種電腦可讀儲存介質,所述電腦可讀儲存介質包括上述第一方面所述的編碼方法所獲得的碼流。
上述第三方面、第四方面、第五方面、第六方面、第七方面、第八方面和第九方面所得到的技術效果與第一方面或第二方面中對應的技術手段得到的技術效果近似,在這裡不再贅述。
本申請實施例提供的技術方案至少能夠帶來以下有益效果:在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,編碼品質得到提高。
10:源裝置
20:目的地裝置
30:鏈路
40:儲存裝置
100:編碼器
120:資料源
140:輸出介面
200:解碼器
220:顯示裝置
240:輸入介面
101:第一終端
201:第二終端
601、602、603、604、901、902、903、904:步驟
1801:第一確定模組
1802:第一處理模組
1803:第二處理模組
1804:第三處理模組
1901:第一確定模組
1902:第一處理模組
1903:第二處理模組
1904:第二確定模組
2000:編解碼裝置
2001:處理器
2002:記憶體
2003:匯流排系統
2004:顯示器
20021:資料
20022:應用程式
20023:作業系統
圖1是本申請實施例提供的一種實施環境的示意圖;圖2是本申請實施例提供的一種終端場景的實施環境的示意圖;圖3是本申請實施例提供的一種無線或核心網設備的轉碼場景的實施環境的示意圖;圖4是本申請實施例提供的一種廣播電視場景的實施環境的示意圖;圖5是本申請實施例提供的一種虛擬實境流場景的實施環境的示意圖;圖6是本申請實施例提供的一種編碼方法的流程圖;圖7是本申請實施例提供的另一種編碼方法的流程圖;圖8是本申請實施例提供的又一種編碼方法的流程圖;圖9是本申請實施例提供的一種解碼方法的流程圖;圖10是本申請實施例提供的另一種解碼方法的流程圖;圖11是本申請實施例提供的又一種解碼方法的流程圖;圖12是本申請實施例提供的一個原始訊號的譜線示意圖;圖13是本申請實施例提供的一個經本方案處理得到的一個譜線示意圖;圖14是本申請實施例提供的一個未經本方案處理得到的一個譜線示意圖;
圖15是本申請實施例提供的另一個原始訊號的譜線示意圖;圖16是本申請實施例提供的另一個經本方案處理得到的一個譜線示意圖;圖17是本申請實施例提供的另一個未經本方案處理得到的一個譜線示意圖;圖18是本申請實施例提供的一種編碼裝置的結構示意圖;圖19是本申請實施例提供的一種解碼裝置的結構示意圖;圖20是本申請實施例提供的一種編解碼裝置的示意性框圖。
為使本申請實施例的目的、技術方案和優點更加清楚,下面將結合附圖對本申請實施方式作進一步地詳細描述。
在對本申請實施例提供的編解碼方法進行詳細地解釋說明之前,先對本申請實施例涉及的術語和實施環境進行介紹。
為了便於理解,首先對本申請實施例涉及的術語進行解釋。
編碼:是指將待編碼的媒體資料壓縮成碼流的處理過程。其中,待編碼的媒體資料主要包括音訊訊號、視訊訊號和圖像。音訊訊號的編碼是將待編碼的音訊訊號包括的音訊幀序列壓縮成碼流的處理過程,視訊訊號的編碼是將待編碼的視訊包括的圖像序列壓縮成碼流的處理過程,圖像的編碼是將待編碼的圖像壓縮成碼流的處理過程。
需要說明的是,媒體資料被壓縮成碼流之後可以稱為經編碼的媒體資料或者經壓縮的媒體資料。比如,對於音訊訊號來說,音訊訊號被壓縮成碼流之後可以稱為經編碼的音訊訊號或者經壓縮的音訊訊號,視訊訊號被壓縮成碼流之後也可以稱為經編碼的視訊訊號或者經壓縮的視訊訊號,圖像被壓縮成碼流之後也可以稱為經編碼的圖像或者經壓縮的圖像。
解碼:是指將編碼碼流按照特定的語法規則和處理方法恢復成重建媒體資料的處理過程。其中,音訊碼流的解碼是指將音訊碼流恢復成重建音訊訊號的處理過程,視訊碼流的解碼是指將視訊碼流恢復成重建視訊訊號的處理過程,圖像碼流的解碼是指將圖像碼流恢復成重建圖像的處理過程。
熵編碼:是指編碼過程中按熵原理不去失任何資訊的編碼。也即是一種無損資料壓縮方法。熵編碼通常包括算術編碼(arithmetic coding)、區間編碼(range coding,RC)、哈夫曼(huffman)編碼等等。
接下來對本申請實施例涉及的實施環境進行介紹。
請參考圖1,圖1是本申請實施例提供的一種實施環境的示意圖。該實施環境包括源裝置10、目的地裝置20、鏈路30和儲存裝置40。其中,源裝置10可以產生經編碼的媒體資料。因此,源裝置10也可以被稱為媒體資料編碼裝置。目的地裝置20可以對由源裝置10所產生的經編碼的媒體資料進行解碼。因此,目的地裝置20也可以被稱為媒體資料解碼裝置。鏈路30可以接收源
裝置10所產生的經編碼的媒體資料,並可以將該經編碼的媒體資料傳輸給目的地裝置20。儲存裝置40可以接收源裝置10所產生的經編碼的媒體資料,並可以將該經編碼的媒體資料進行儲存,這樣的條件下,目的地裝置20可以直接從儲存裝置40中獲取經編碼的媒體資料。或者,儲存裝置40可以對應於檔案伺服器或可以保存由源裝置10產生的經編碼的媒體資料的另一中間儲存裝置,這樣的條件下,目的地裝置20可以經由資料流或下載儲存裝置40儲存的經編碼的媒體資料。
源裝置10和目的地裝置20均可以包括一個或多個處理器以及耦合到該一個或多個處理器的記憶體,該記憶體可以包括隨機存取記憶體(random access memory,RAM)、唯讀記憶體(read-only memory,ROM)、帶電可擦可程式設計唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、快閃記憶體、可用於以可由電腦存取的指令或資料結構的形式儲存所要的程式碼的任何其它媒體等。例如,源裝置10和目的地裝置20均可以包括桌上型電腦、移動計算裝置、筆記型(例如,膝上型)電腦、平板電腦、機上盒、例如所謂的“智慧”電話等電話手持機、電視機、相機、顯示裝置、數位媒體播放機、視訊遊戲控制台、車載電腦或其類似者。
鏈路30可以包括能夠將經編碼的媒體資料從源裝置10傳輸到目的地裝置20的一個或多個媒體或裝置。在一種可能的實現方式中,鏈路30可以包括能夠使源裝置10即時地將經編碼的
媒體資料直接發送到目的地裝置20的一個或多個通訊媒體。在本申請實施例中,源裝置10可以基於通訊標準來調製經編碼的媒體資料,該通訊標準可以為無線通訊協定等,並且可以將經調製的媒體資料發送給目的地裝置20。該一個或多個通訊媒體可以包括無線和/或有線通訊媒體,例如該一個或多個通訊媒體可以包括射頻(radio frequency,RF)頻譜或一個或多個物理傳輸線。該一個或多個通訊媒體可以形成基於分組的網路的一部分,基於分組的網路可以為局域網、廣域網路或全球網路(例如,網際網路)等。該一個或多個通訊媒體可以包括路由器、交換器、基站或促進從源裝置10到目的地裝置20的通訊的其它設備等,本申請實施例對此不做具體限定。
在一種可能的實現方式中,儲存裝置40可以將接收到的由源裝置10發送的經編碼的媒體資料進行儲存,目的地裝置20可以直接從儲存裝置40中獲取經編碼的媒體資料。這樣的條件下,儲存裝置40可以包括多種分散式或本地存取的資料儲存媒體中的任一者,例如,該多種分散式或本地存取的資料儲存媒體中的任一者可以為硬碟驅動器、藍光光碟、數位多功能光碟(digital versatile disc,DVD)、唯讀光碟(compact disc read-only memory,CD-ROM)、快閃記憶體、易失性或非易失性記憶體,或用於儲存經編碼媒體資料的任何其它合適的數位儲存媒體等。
在一種可能的實現方式中,儲存裝置40可以對應於檔案伺服器或可以保存由源裝置10產生的經編碼媒體資料的另一中間
儲存裝置,目的地裝置20可經由資料流或下載儲存裝置40儲存的媒體資料。檔案伺服器可以為能夠儲存經編碼的媒體資料並且將經編碼的媒體資料發送給目的地裝置20的任意類型的伺服器。在一種可能的實現方式中,檔案伺服器可以包括網路服務器、檔案傳輸通訊協定(file transfer protocol,FTP)伺服器、網路附屬儲存(network attached storage,NAS)裝置或本地磁碟機等。目的地裝置20可以通過任意標準資料連接(包括網際網路連接)來獲取經編碼媒體資料。任意標準資料連接可以包括無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線路(digital subscriber line,DSL)、纜線數據機等),或適合於獲取儲存在檔案伺服器上的經編碼的媒體資料的兩者的組合。經編碼的媒體資料從儲存裝置40的傳輸可為資料流、下載傳輸或兩者的組合。
圖1所示的實施環境僅為一種可能的實現方式,並且本申請實施例的技術不僅可以適用於圖1所示的可以對媒體資料進行編碼的源裝置10,以及可以對經編碼的媒體資料進行解碼的目的地裝置20,還可以適用於其他可以對媒體資料進行編碼和對經編碼的媒體資料進行解碼的裝置,本申請實施例對此不做具體限定。
在圖1所示的實施環境中,源裝置10包括資料來源120、編碼器100和輸出介面140。在一些實施例中,輸出介面140可以包括調節器/解調器(數據機)和/或發送器,其中發送器也可以稱為發射器。資料來源120可以包括圖像捕獲裝置(例如,攝像機
等)、含有先前捕獲的媒體資料的存檔、用於從媒體資料內容提供者接收媒體資料的饋入介面,和/或用於產生媒體資料的電腦圖形系統,或媒體資料的這些來源的組合。
資料來源120可以向編碼器100發送媒體資料,編碼器100可以對接收到由資料來源120發送的媒體資料進行編碼,得到經編碼的媒體資料。編碼器可以將經編碼的媒體資料發送給輸出介面。在一些實施例中,源裝置10經由輸出介面140將經編碼的媒體資料直接發送到目的地裝置20。在其它實施例中,經編碼的媒體資料還可儲存到儲存裝置40上,供目的地裝置20以後獲取並用於解碼和/或顯示。
在圖1所示的實施環境中,目的地裝置20包括輸入介面240、解碼器200和顯示裝置220。在一些實施例中,輸入介面240包括接收器和/或數據機。輸入介面240可經由鏈路30和/或從儲存裝置40接收經編碼的媒體資料,然後再發送給解碼器200,解碼器200可以對接收到的經編碼的媒體資料進行解碼,得到經解碼的媒體資料。解碼器可以將經解碼的媒體資料發送給顯示裝置220。顯示裝置220可與目的地裝置20集成或可在目的地裝置20外部。一般來說,顯示裝置220顯示經解碼的媒體資料。顯示裝置220可以為多種類型中的任一種類型的顯示裝置,例如,顯示裝置220可以為液晶顯示器(liquid crystal display,LCD)、等離子顯示器、有機發光二極體(organic light-emitting diode,OLED)顯示器或其它類型的顯示裝置。
儘管圖1中未示出,但在一些方面,編碼器100和解碼器200可各自與編碼器和解碼器集成,且可以包括適當的多工器-多路分用器(multiplexer-demultiplexer,MUX-DEMUX)單元或其它硬體和軟體,用於共同資料流程或單獨資料流程中的音訊和視訊兩者的編碼。在一些實施例中,如果適用的話,那麼MUX-DEMUX單元可符合ITU H.223多工器協議,或例如使用者資料包通訊協定(user datagram protocol,UDP)等其它協議。
編碼器100和解碼器200各自可為以下各項電路中的任一者:一個或多個微處理器、數位訊號處理器(digital signal processing,DSP)、專用積體電路(application specific integrated circuit,ASIC)、現場可程式設計閘陣列(field-programmable gate array,FPGA)、離散邏輯、硬體或其任何組合。如果部分地以軟體來實施本申請實施例的技術,那麼裝置可將用於軟體的指令儲存在合適的非易失性電腦可讀儲存媒體中,且可使用一個或多個處理器在硬體中執行所述指令從而實施本申請實施例的技術。前述內容(包括硬體、軟體、硬體與軟體的組合等)中的任一者可被視為一個或多個處理器。編碼器100和解碼器200中的每一者都可以包括在一個或多個編碼器或解碼器中,所述編碼器或所述解碼器中的任一者可以集成為相應裝置中的組合編碼器/解碼器(編碼解碼器)的一部分。
本申請實施例提供的編解碼方法可以應用於多種場景,接下來以待編碼的媒體資料為音訊訊號為例,對其中的幾種場景
分別進行介紹。
請參考圖2,圖2是本申請實施例提供的一種編解碼方法應用於終端場景的實施環境的示意圖。該實施環境包括第一終端101和第二終端201,第一終端101與第二終端201進行通訊連接。該通訊連接可以為無線連接,也可以為有線連接,本申請實施例對此不做限定。
其中,第一終端101可以為發送端設備,也可以為接收端設備,同理,第二終端201可以為接收端設備,也可以為發送端設備。在第一終端101為發送端設備的情況下,第二終端201為接收端設備,在第一終端101為接收端設備的情況下,第二終端201為發送端設備。
接下來以第一終端101為發送端設備,第二終端201為接收端設備為例進行介紹。
第一終端101可以為上述圖1所示的實施環境中的源裝置10。第二終端201可以為上述圖1所示的實施環境中的目的地裝置20。其中,第一終端101和第二終端201均包括音訊採集模組、音訊重播模組、編碼器、解碼器、通道編碼模組和通道解碼模組。
第一終端101中的音訊採集模組採集音訊訊號並傳輸給編碼器,編碼器利用本申請實施例提供的編碼方法對音訊訊號進行編碼,該編碼可以稱為信源編碼。之後,為了實現音訊訊號在通道中的傳輸,通道編碼模組還需要再進行通道編碼,然後將編
碼得到的碼流通過無線或者有線網路通訊設備在數位通道中傳輸。
第二終端201通過無線或者有線網路通訊設備接收數位通道中傳輸的碼流,通道解碼模組對碼流進行通道解碼,然後解碼器利用本申請實施例提供的解碼方法解碼得到音訊訊號,再通過音訊重播模組進行播放。
其中,第一終端101和第二終端201可以是任何一種可與使用者通過鍵盤、觸控板、觸控式螢幕、遙控器、語音交互或手寫設備等一種或多種方式進行人機交互的電子產品,例如個人電腦(personal computer,PC)、手機、智慧手機、個人數位助手(Personal Digital Assistant,PDA)、可穿戴設備、掌上型電腦PPC(pocket PC)、平板電腦、智慧車機、智慧電視、智慧音箱等。
本領域技術人員應能理解上述終端僅為舉例,其他現有的或今後可能出現的終端如可適用於本申請實施例,也應包含在本申請實施例保護範圍以內,並在此以引用方式包含於此。
請參考圖3,圖3是本申請實施例提供的一種編解碼方法應用於無線或核心網設備的轉碼場景的實施環境的示意圖。該實施環境包括通道解碼模組、音訊解碼器、音訊編碼器和通道編碼模組。
其中,音訊解碼器可以為利用本申請實施例提供的解碼方法的解碼器,也可以為利用其他解碼方法的解碼器。音訊編碼器可以為利用本申請實施例提供的編碼方法的編碼器,也可以為
利用其他編碼方法的編碼器。在音訊解碼器為利用本申請實施例提供的解碼方法的解碼器的情況下,音訊編碼器為利用其他編碼方法的編碼器,在音訊解碼器為利用其他解碼方法的解碼器的情況下,音訊編碼器為利用本申請實施例提供的編碼方法的編碼器。
第一種情況,音訊解碼器為利用本申請實施例提供的解碼方法的解碼器,音訊編碼器為利用其他編碼方法的編碼器。
此時,通道解碼模組用於對接收的碼流進行通道解碼,然後音訊解碼器用於利用本申請實施例提供的解碼方法進行信源解碼,再通過音訊編碼器按照其他編碼方法進行編碼,實現一種格式到另一種格式的轉換,即轉碼。之後,再通過通道編碼後發送。
第二種情況,音訊解碼器為利用其他解碼方法的解碼器,音訊編碼器為利用本申請實施例提供的編碼方法的編碼器。
此時,通道解碼模組用於對接收的碼流進行通道解碼,然後音訊解碼器用於利用其他解碼方法進行信源解碼,再通過音訊編碼器利用本申請實施例提供的編碼方法進行編碼,實現一種格式到另一種格式的轉換,即轉碼。之後,再通過通道編碼後發送。
其中,無線設備可以為無線接入點、無線路由器、無線連接器等等。核心網設備可以為移動性管理實體、閘道等等。
本領域技術人員應能理解上述無線設備或者核心網設備僅為舉例,其他現有的或今後可能出現的無線或核心網設備如可
適用於本申請實施例,也應包含在本申請實施例保護範圍以內,並在此以引用方式包含於此。
請參考圖4,圖4是本申請實施例提供的一種編解碼方法應用於廣播電視場景的實施環境的示意圖。廣播電視場景分為直播場景和後期製作場景。對於直播場景來說,該實施環境包括直播節目三維聲製作模組、三維聲編碼模組、機上盒和揚聲器組,機上盒包括三維聲解碼模組。對於後期製作場景來說,該實施環境包括後期節目三維聲製作模組、三維聲編碼模組、網路接收器、移動終端、耳機等。
直播場景下,直播節目三維聲製作模組製作出三維聲訊號,該三維聲訊號經過應用本申請實施例的編碼方法的編碼得到碼流,該碼流經廣電網路傳輸到使用者側,由機上盒中的三維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由揚聲器組進行重播。或者,該碼流經互聯網傳輸到使用者側,由網路接收器中的三維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由揚聲器組進行重播。又或者,該碼流經互聯網傳輸到使用者側,由移動終端中的三維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由耳機進行重播。
後期製作場景下,後期節目三維聲製作模組製作出三維聲訊號,該三維聲訊號經過應用本申請實施例的編碼方法的編碼得到碼流,該碼流經廣電網路傳輸到使用者側,由機上盒中的三
維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由揚聲器組進行重播。或者,該碼流經互聯網傳輸到使用者側,由網路接收器中的三維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由揚聲器組進行重播。又或者,該碼流經互聯網傳輸到使用者側,由移動終端中的三維聲解碼器利用本申請實施例提供的解碼方法進行解碼,從而重建三維聲訊號,由耳機進行重播。
請參考圖5,圖5是本申請實施例提供的一種編解碼方法應用於虛擬實境流場景的實施環境的示意圖。該實施環境包括編碼端和解碼端,編碼端包括採集模組、預處理模組、編碼模組、打包模組和發送模組,解碼端包括解包模組、解碼模組、渲染模組和耳機。
採集模組採集音訊訊號,然後通過預處理模組進行預處理操作,預處理操作包括濾除掉訊號中的低頻部分,通常是以20Hz或者50Hz為分界點,提取訊號中的方位資訊等。之後通過編碼模組,利用本申請實施例提供的編碼方法進行編碼處理,編碼之後通過打包模組進行打包,進而通過發送模組發送給解碼端。
解碼端的解包模組首先進行解包,之後通過解碼模組,利用本申請實施例提供的解碼方法進行解碼,然後通過渲染模組對解碼訊號進行雙耳渲染處理,渲染處理後的訊號映射到收聽者耳機上。該耳機可以為獨立的耳機,也可以是基於虛擬實境的眼鏡設備上的耳機。
需要說明的是,本申請實施例描述的業務場景是為了更加清楚的說明本申請實施例的技術方案,並不構成對於本申請實施例提供的技術方案的限定,本領域普通技術人員可知,隨著新業務場景的出現,本申請實施例提供的技術方案對於類似的技術問題,同樣適用。
接下來對本申請實施例提供的編解碼方法進行詳細地解釋說明。需要說明的是,結合圖1所示的實施環境,下文中的任一種編碼方法可以是源裝置10中的編碼器100執行的。下文中的任一種解碼方法可以是目的地裝置20中的解碼器200執行的。
圖6是本申請實施例提供的一種編碼方法的流程圖,該方法應用於編碼端設備。請參考圖6,該方法包括如下步驟。
步驟601:確定待編碼的媒體資料的第一白化譜。
其中,待編碼的媒體資料為音訊訊號、視訊訊號或者圖像等。而且,待編碼的媒體資料的形式可以為任何一種形式,本申請實施例對此不做限定。
在本申請實施例中,待編碼的媒體資料可以為時域的媒體資料,對時域的媒體資料進行時頻變換得到頻域的媒體資料,對頻域的媒體資料進行白化處理,得到該媒體資料的第一白化譜。或者,待編碼的媒體資料也可以是時域的媒體資料經過時頻變換後得到的頻域的媒體資料,對待編碼的媒體資料進行白化處理,得到該媒體資料的第一白化譜。
可選地,若待編碼的媒體資料為時域的媒體資料,還可
以先對待編碼的媒體資料進行預處理,得到預處理後時域的媒體資料,之後對預處理後的時域的媒體資料進行時頻變換得到頻域的媒體資料。其中,該預處理可以為加窗處理、時域雜訊整形(temporal noise shaping,TNS)處理、聲道下混處理等等。另外,也可以對時頻變換後得到的頻域的媒體資料進行預處理,然後對預處理後的頻域的媒體資料進行白化處理,得到第一白化譜。其中,該預處理可以為頻域雜訊整形(frequency domain noise shaping,FDNS)處理等。
本申請實施例中的時頻變換的方式可以有多種,例如,時頻變換可以是修正的離散余弦變換(modified discrete cosine transform,MDCT)、快速傅氏變換(fast fourier transformation,FFT)或正交鏡象濾波器(quandrature mirror filter,QMF)濾波等,也可以是其他方式的時頻變換,本申請實施例對此不作限定。
另外,白化處理的方式也可以有多種,本申請實施例對此不作限定。例如,對頻域的媒體資料進行線性預測編碼(linear predictive coding,LPC)分析,得到LPC係數,基於該LPC係數對頻域的媒體資料進行白化處理,得到該媒體資料的第一白化譜。或者,將該LPC係數轉化為頻域的白化因數,將該白化因數作用於頻域的媒體資料得到第一白化譜。又如,將頻域的媒體資料分為多個不同的頻段,根據頻域的媒體資料在各個頻段內的頻譜能量,得到相應頻段的包絡資訊,基於各個頻段的包絡資訊對頻域的媒體資料進行處理得到第一白化譜。在一些實施例中,白
化譜也稱為殘差譜、殘差訊號等。
請參考圖7,圖7是本申請實施例提供的一種示例性編碼方法的框圖。在圖7中,以待編碼的媒體資料為音訊訊號為例。首先,對音訊訊號經過加窗處理,得到當前幀音訊訊號。對當前幀音訊訊號進行MDCT變換,得到當前幀的頻域訊號。對當前幀的頻域訊號進行白化處理,得到第一白化譜。其中,白化處理的方式可以為以上介紹的任一種。
請參考圖8,圖8是本申請實施例提供的另一種示例性編碼方法的框圖。在圖8中,也以待編碼的媒體資料為音訊訊號為例。首先,對音訊訊號經過加窗處理,得到當前幀音訊訊號。對當前幀音訊訊號進行MDCT變換,得到當前幀的頻域訊號。對當前幀的頻域訊號進行LPC分析,得到LPC係數。基於LPC係數對當前幀的頻域訊號進行白化處理,得到第一白化譜。
步驟602:對第一白化譜進行整形處理,以得到第二白化譜,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。
本申請實施例通過對第一白化譜進行整形處理,以得到第二白化譜,而且第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值,也即第二白化譜中各個譜線的統計平均能量相差較小,在一定程度上可以認為第二白化譜的統計平均能量分佈動態範圍小於第一白化譜的統計平均能量分佈動態範圍。其中,頻譜幅度值是指頻點的頻譜值的絕對
值或模,在本申請實施例中頻譜值可以指MDCT係數,或者FFT係數,或者QMF係數。在一些實施例中,頻譜值也稱為頻譜系數等。
其中,第一白化譜中需要整形處理的頻段即是媒體資料對應的目標頻段。可選地,目標頻段根據該媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。也即是,本申請實施例中確定目標頻段所參考的因素有一種或多種。示例性地,對於不同的媒體資料來說,若取樣速率不同,則對應的目標頻段可能不同,若通道數不同,則對應的目標頻段可能不同,若編碼速率不同,則對應的目標頻段可能不同,若編碼頻寬不同,則對應的目標頻段可能不同,若編碼模式不同,則對應的目標頻段可能不同。
在本申請實施例中,目標頻段覆蓋媒體資料的頻譜範圍的整個範圍或部分範圍,媒體資料的頻譜範圍即第一白化譜的頻譜範圍。另外,目標頻段是預先設定的,或者,目標頻段是基於第一白化譜確定的。
如果目標頻段是預先設定的,則目標頻段可以基於待編碼的媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素預先設定,或者,通過統計分析大量的媒體資料樣本的頻譜能量分佈,確定某些頻譜能量較低的頻段,將頻譜能量較低的頻段設定為目標頻段。示例性地,假設媒體資料的頻譜範圍為0-8.25kHz(千赫茲),可以預先設定目標頻
段為4kHz-8.25kHz。假設媒體資料的頻譜範圍為0-16kHz,可以預先設定目標頻段包括4kHz-8kHz和12kHz-14kHz。
如果目標頻段是基於第一白化譜確定的,則對第一白化譜進行整形處理,以得到第二白化譜之前,先基於第一白化譜確定目標頻段。基於第一白化譜確定目標頻段的一種實現方式為:將媒體資料的頻譜範圍劃分為第一數量個第一子頻段,確定第一白化譜在第一數量個第一子頻段中各個第一子頻段內的頻譜能量的均值,以得到第一數量個子頻段頻譜能量均值。確定第一白化譜在該頻譜範圍內的頻譜能量均值。根據該頻譜能量均值和第一數量個子頻段頻譜能量均值確定目標頻段包括的第一子頻段。其中,第一數量可以是預先設定的。
根據該頻譜能量均值和第一數量個子頻段頻譜能量均值確定目標頻段包括的第一子頻段的一種實現方式為:將第一數量個子頻段頻譜能量均值中與該頻譜能量均值之間的差值超過指定閾值的第一子頻段作為目標頻段包括的第一子頻段。也即是,基於待編碼的媒體資料的第一白化譜的能量分佈情況,篩選出頻譜能量較低的第一子頻段,將篩選出的第一子頻段劃入目標頻段內。當然,除了通過計算差值來與指定閾值比較的方式之外,也可以通過其他方式來確定目標頻段包括的第一子頻段,本申請實施例對此不作限定。
需要說明的是,若目標頻段是基於第一白化譜確定的,則編碼端將指示目標頻段的資訊編入碼流。
在確定目標頻段之後,對第一白化譜中的目標頻段進行整形處理,以得到第二白化譜。在本申請實施例中,按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜。
可選地,目標頻段包括媒體資料的頻譜範圍內的第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數。其中,若目標頻段是基於第一白化譜確定的,則該第二數量個第二子頻段中的任一第二子頻段可以是上述所介紹的劃分到目標頻段內的一個第一子頻段,任一第二子頻段也可以是由劃分到目標頻段內且連續的多個第一子頻段組成的頻段。也即是,該第二數量個第二子頻段即可以是基於劃分到目標頻段內的第一子頻段確定的,例如,將劃分到目標頻段內的連續的多個第一子頻段整合為一個第二子頻段,將劃分到目標頻段內的不連續的每個第一子頻段均作為一個第二子頻段。
在本申請實施例中,按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜的實現方式為:確定第一白化譜在第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值,按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對第一白化譜在相應第二子頻段內的頻點的頻譜值進行調整,以得到第二白化譜。
示例性地,第一調整子頻段為第二數量個第二子頻段中的任意一個第二子頻段,對於第一調整子頻段來說,若第一調整子頻段對應的調整因數大於1,則將第一白化譜在第一調整子頻段
內頻點的頻譜值乘以對應的調整因數,以得到第二白化譜在第一調整子頻段內頻點的頻譜值。若第一調整子頻段對應的調整因數大於0且小於或等於1,則將第一白化譜在第一調整子頻段內頻點的頻譜值除以對應的調整因數,以得到第二白化譜在第一調整子頻段內頻點的頻譜值。需要說明的是,預先設定均按照乘以調整因數來調整第一白化譜,或者均按照除以調整因數來調整第一白化譜,也即在編碼過程理中直接按照設定相乘或相除即可。
需要說明的是,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。也即是,確定第一調整子頻段對應的調整因數的第一種實現為將對應的調整因數設定為預設值,第二種實現方式為按照線性內插的方式確定對應的調整因數,第三種實現方式為根據預設函數確定對應的調整因數。接下來將對確定第一調整子頻段對應的調整因數的這三種實現方式分別進行介紹。
第一種實現方式、將第一調整子頻段對應的調整因數設定為預設值。
示例性地,將第一調整子頻段對應的調整因數設定為0.5、1.5或2等。在一些實施例中,調整因數為2相當於提升3dB,也即是,調整因數為2的話大概能夠將相應頻點的頻譜能量提升3dB。當然,相同的調整因數作用於不同的媒體資料的第一白化譜,得到的第二白化譜的頻譜能量的提升情況也可能不同。
第二種實現方式、按照線性內插的方式確定第一調整子頻段中至少一部分頻點對應的調整因數。
該至少一部分頻點對應的調整因數的按照如下方式確定:確定第一調整子頻段對應的起始調整因數,確定第一調整子頻段對應的截止調整因數。基於該起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
也即是,線性內插的過程中需要一個起始調整因數和一個截止調整因數,基於起始調整因數和截止調整因數,以及該起始調整因數對應的頻點的頻率值和截止調整因數對應的頻點的頻率值,確定一個線性關係,基於該線性關係通過線性內插的方式確定第一調整子頻段內各個頻點中至少一部分頻點對應的調整因數。
可選地,該至少一部分頻點不包括第一調整子頻段的起始頻點和截止頻點,第一調整子頻段的起始頻點對應的調整因數為該起始調整因數,第一調整子頻段對應的調整因數為該截止調整因數。
其中,起始調整因數和截止調整因數均為預設值。或者,
起始調整因數為預設值,且截止調整因數為非預設值。或者,起始調整因數為非預設值,且截止調整因數為預設值。或者,起始調整因數和截止調整因數均為非預設值。基於此,第二種實現方式中線性內插有多種方案,接下來詳細介紹其中的三種方案。
線性內插的第一種方案、起始調整因數和截止調整因數均為預設值。
也即,預先設定第一調整子頻段對應的起始調整因數和截止調整因數。可選地,將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數。基於第一調整子頻段的起始頻點對應的調整因數和第一調整子頻段的截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。需要說明的是,這樣實質上是預先設定了第一調整子頻段的起始頻點對應的調整因數和截止頻段對應的調整因數,這樣線性內插的過程僅需再確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數即可。
示例性地,假設第一調整子頻段為3kHz-8.25kHz,對應第128個頻點到第352個頻點,預先設定3kHz-8.25kHz對應的起始調整因數和截止調整因數分別為1.0和2.2,將1.0和2.2分別作為第128個頻點和第352個頻點對應的調整因數,然後按照線性內插的方式確定3kHz-8.25kHz內除第128個頻點和第352個頻
點這兩個頻點之外的各個頻點對應的調整因數。
或者,預先設定第一調整子頻段對應的起始調整因數和截止調整因數,基於該起始調整因數和截止調整因數,按照線性內插的方式確定第一調整子頻段內各個頻點對應的調整因數。示例性地,假設第一調整子頻段為3kHz-8.25kHz,對應第128個頻點到第352個頻點,預先設定3kHz-8.25kHz對應的起始調整因數和截止調整因數分別為1.0和2.2,1.0和2.2分別對應第127個頻點和第353個頻點,基於該對應關係按照線性內插的方式確定3kHz-8.25kHz內的第128個頻點到第352個頻點對應的調整因數。
線性內插的第二種方案、截止調整因數為非預設值。
若截止調整因數為非預設值,則截止調整因數可以為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。在本申請實施例中,確定該截止調整因數的實現方式為:獲取第二調整子頻段的起始頻點對應的調整因數作為該截止調整因數。
在第二種方案中,可以預先設定第一調整子頻段對應的起始調整因數,然後獲取第二調整子頻段的起始頻點對應的調整因數作為截止調整因數。將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數。之後,基於第一調整子頻段的起始頻點對應的調整因數和截止頻點對應的調整因數,按照
線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。
也即是,由於第二調整子頻段是位於第一調整子頻段之後且與第一調整子頻段連續的頻段,因此,實質上可以將第二調整子頻段的起始頻點對應的調整因數直接作為第一調整子頻段的截止頻段對應的調整因數,這樣線性內插的過程也僅需再確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數即可。
示例性地,第一調整子頻段為4kHz-6kHz,對應第171個頻點到第256個頻點,第二調整子頻段為6kHz-8.25kHz,對應第257個頻點到第352個頻點,預先設定4kHz-6kHz對應的起始調整因數為1.5,將1.5作為第171個頻點對應的調整因數,獲取6kHz-8.25kHz的起始頻點(即第257個頻點)對應的調整因數,假設第257個頻點對應的調整因數為2,則將2作為第256個頻點對應的調整因數,然後按照線性內插的方式確定4kHz-6kHz內除第171個頻點和第256個頻點這兩個頻點之外的各個頻點對應的調整因數。
或者,在獲取第二調整子頻段的起始頻點對應的調整因數作為截止調整因數之後,基於第一調整子頻段的起始頻點對應的調整因數和該截止調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點之外的各個頻點對應的調整因數。也即是,由於第二調整子頻段是位於第一調整子頻段之後且與第一調
整子頻段連續的頻段,因此,實質上可以基於第一調整子頻段的起始頻點對應的調整因數和第二調整子頻段的起始頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段中除起始頻點之外的各個頻點對應的調整因數。
仍以第一調整子頻段為4kHz-6kHz,對應第171個頻點到第256個頻點,第二調整子頻段為6kHz-8.25kHz,對應第257個頻點到第352個頻點為例,預先設定4kHz-6kHz對應的起始調整因數為1.5,將1.5作為第171個頻點對應的調整因數,獲取6kHz-8.25kHz的起始頻點(即第257個頻點)對應的調整因數,假設第257個頻點對應的調整因數為2,則按照線性內插的方式確定4kHz-6kHz(即第171個頻點到第256個頻點)內除第171個頻點之外的各個頻點對應的調整因數。
可選地,第二調整子頻段的起始頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
線性內插的第三種方案、起始調整因數為非預設值。
若起始調整因數為非預設值,則起始調整因數可以為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。在本申請實施例中,確定該起始調整因數的實現方式為:獲取第三調整子頻段的截止頻點對應的調整因數作為起始調整因數。
在第二種方案中,可以預先設定第一調整子頻段對應的截止調整因數,然後獲取第三調整子頻段的截止頻點對應的調整因數作為起始調整因數。將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數,基於第一調整子頻段的起始頻點對應的調整因數和截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。
也即是,由於第三調整子頻段是位於第一調整子頻段之前且與第一調整子頻段連續的頻段,因此,實質上可以將第三調整子頻段的截止頻點對應的調整因數直接作為第一調整子頻段的起始頻段對應的調整因數,這樣線性內插的過程也僅需再確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數即可。
或者,在獲取第三調整子頻段的截止頻點對應的調整因數作為起始調整因數之後,基於該起始調整因數和第一調整子頻段的截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除截止頻點之外的各個頻點對應的調整因數。也即是,由於第三調整子頻段是位於第一調整子頻段之前且與第一調整子頻段連續的頻段,因此,實質上可以基於第三調整子頻段的截止頻點對應的調整因數和第一調整子頻段的截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段中除截止頻點
之外的各個頻點對應的調整因數。
可選地,第三調整子頻段的截止頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
可以看出,上述第二種方案與第三種方案的原理是類似的。在一些實施例中,假設目標頻段包括多個第二子頻段,也即第二數量為多個,該多個第二子頻段是連續的,且該多個第二子頻段均採用上述第二種方案或者第三種方案,則可以預先設定該多個第二子頻段中各個第二子頻段的起始頻點對應的調整因數,以及設定該多個第二子頻段中最後一個第二子頻段的截止頻點對應的調整因數,基於各個第二子頻段的起始頻點對應的調整因數以及最後一個第二子頻段的截止頻點對應的調整因數,按照線性內插的方式確定各個第二子頻段內除預設有對應的調整因數之外的各個頻點的調整因數。或者,預先設定該多個第二子頻段中各個第二子頻段的截止頻點對應的調整因數,以及預先設定該多個第二子頻段中第一個第二子頻段的起始頻點對應的調整因數,基於各個第二子頻段的截止頻點對應的調整因數以及第一個第二子頻段的起始頻點對應的調整因數,按照線性內插的方式確定各個第二子頻段內除預設有對應的調整因數之外的各個頻點的調整因數。
第三種實現方式、根據預設函數確定第一調整子頻段對應的調整因數。
在本申請實施例中,如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜之前,從儲存的一個或多個預設函數中獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍,基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。
示例性地,根據第一調整子頻段內頻點的數量,在函數引數範圍內確定與第一調整子頻段內的各個頻點一一對應的引數的值,基於第一調整子頻段對應的預設函數,確定所確定的各個引數的值對應的函數值,即得到第一調整子頻段內的各個頻點對應的調整因數,也即所確定的函數值即為計算得到的調整因數。
其中,該一個或多個預設函數中的每個預設函數對應一個第二子頻段,該一個或多個預設函數相同或不同,各個預設函數的函數引數範圍也可以相同或不同,本申請實施例對此不作限定。可選地,第一調整子頻段對應的預設函數為非線性函數,這樣後續即按照一種非線性關係來對第一調整子頻段內頻點的頻譜值進行調整。示例性地,預設函數為二次函數、log函數等。若第一調整子頻段對應的預設函數為線性函數,這樣後續即按照一種線性關係來對第一調整子頻段內頻點的頻譜值進行調整,實質上與線性內插的原理相似。
以上介紹了確定調整因數的三種實現方式,需要說明的
是,上述三種實現方式可以單獨使用或結合使用,也即是,對於任意一個第二子頻段來說,對應的調整因數的確定方式可以任選,例如,一個第二子頻段對應的調整因數為預設值,另一個第二子頻段對應的調整因數是按照線性內插的方式確定的,或者,這兩個第二子頻段對應的調整因數都是預設值。另外,除此上述介紹的三種實現方式之外,也可以通過其他的方式來確定調整因數,通過確定的調整因數能夠實現增大目標頻段內的頻譜幅度值均可。
示例性地,第一調整子頻段與第二調整子頻段對應的調整因數的確定方式不同,第一調整子頻段內的各個頻點對應同一調整因數且為預設值,第二調整子頻段是位於第一調整子頻段之後且與第一調整子頻段連續的頻段,第二調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的。
假設第一調整子頻段為0kHz-3kHz,對應第0個頻點到第127個頻點,預先設定第一調整子頻段內的各個頻點對應的調整因數為1.0,假設第二調整子頻段為3kHz-8.25kHz,對應第128個頻點到第352個頻點,預先設定3kHz-8.25kHz對應的起始調整因數和截止調整因數分別為1.0和2.2,將1.0和2.2分別作為第128個頻點和第352個頻點對應的調整因數,然後按照線性內插的方式確定3kHz-8.25kHz內除第128個頻點和第352個頻點這兩個頻點之外的各個頻點對應的調整因數。
在確定各個第二子頻段對應的調整因數之後,如圖7和圖8所示,基於確定的調整因數對第一白化譜在目標頻段內的各個頻點的頻譜值進行整形處理,以得到第二白化譜。
可選地,對第一白化譜進行整形處理,以得到第二白化譜之前,檢測第一白化譜是否滿足整形條件,如果第一白化譜滿足整形條件,則執行對第一白化譜進行整形處理,以得到第二白化譜的步驟。也即是,本申請實施例還能夠引入整形檢測機制,以檢測是否需要對第一白化譜進行整形,在第一白化譜滿足整形條件的情況下進行整形處理,在第一白化譜不滿足整形條件的情況下不進行整形處理,也即第二白化譜即為第一白化譜。
在本申請實施例中,檢測第一白化譜是否滿足整形條件的一種實現方式為:基於第一白化譜,確定第一平均能量和第二平均能量,如果第一平均能量與第二平均能量之間的差值超過第一閾值,則確定第一白化譜滿足整形條件。其中,第一平均能量為第一白化譜在第一預設頻段內的頻譜能量的均值,第二平均能量為第一白化譜在第二預設頻段內的頻譜能量的均值。需要說明的是,第一平均能量與第二平均能量之間的差值是指第一平均能量與第二平均能量之間的差的絕對值。
可選地,第一預設頻段可以根據媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素預先設定。例如,預先設定第一預設頻段為0-4kHz,第二預設頻段為4KHz-8.25kHz。當然,第一預設頻段也可以為上述介紹的
一個第一子頻段或一個第二子頻段,第二預設頻段也可以為與第一預設頻段不同的一個第一子頻段或一個第二子頻段。也即本申請實施例不限定第一預設頻段和第二預設頻段的設定方式。
需要說明的是,上述整形檢測機制為可選地,示例性地,在編碼速率為指定編碼速率的情況下對不進行整形檢測,直接對第一白化譜進行整形,在編碼速率不是指定編碼速率的情況下進行整形檢測,在第一白化譜滿足整形條件的情況下再進行整形。例如在相對較低的編碼速率下都直接對第一白化譜進行整形,在相對較高的編碼速率下進行整形檢測。其中,指定編碼速率可以為預先設定一個編碼速率,或者為預先設定的一個編碼速率範圍內的任一編碼速率。另外,若編碼端採用整形檢測機制確定是否對第一白化譜進行了整形檢測,則編碼端將指示是否整形的標誌編入碼流。
步驟603:通過編碼神經網路模型對第二白化譜進行處理,以得到第一潛在變數,第一潛在變數用於指示第二白化譜的特徵。
在本申請實施例中,在得到第二白化譜之後,通過編碼神經網路模型對第二白化譜進行處理,以得到第一潛在變數,第一潛在變數用於指示第二白化譜的特徵。
需要說明的是,由於第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值,也即本方案能夠降低白化譜的統計平均能量分佈動態範圍,在通過編碼
神經網路模型提取白化譜的特徵的過程中,能夠保留更多的白化譜特徵,提升編碼品質。例如在中低編碼速率下,能夠保留更多的中高頻的白化譜特徵,提升編碼品質。
可選地,本申請實施例可以應用於包括上下文模型的編解碼器中,也可以應用於不包括上下文模型的編解碼器中。如圖7所示,假設本申請實施例應用於不包括上下文模型的編解碼器中,則通過編碼神經網路模型對第二白化譜進行處理,以得到第一潛在變數的一種實現方式為:將第二白化譜輸入編碼神經網路模型,得到編碼神經網路模型輸出的第一潛在變數。假設本申請實施例應用於包括上下文模型的編解碼器中,參見圖8,同樣可以將第二白化譜輸入編碼神經網路模型,得到該編碼神經網路模型輸出的第一潛在變數。
其中,編碼神經網路模型能夠用於提取第二白化譜的特徵,編碼神經網路模型是預先訓練好的一個人工智慧(artificial intelligence,AI)模型,本申請實施例對編碼神經網路模型的網路結構和訓練方法不做限定。例如,編碼神經網路模型的網路結構可以為全連接網路或者卷積神經網路(convolutional neural network,CNN)網路。另外,本申請實施例對編碼神經網路模型的網路結構所包含的層數和每一層的節點數也不做限定。
步驟604:將第一潛在變數編入碼流。
在本申請實施例中,在得到第一潛在變數之後,將第一潛在編碼編入碼流。將第一潛在變數編入碼流的實現過程為:對
第一潛在變數進行熵編碼,得到第一潛在變數的編碼結果,將第一潛在變數的編碼結果寫入碼流。
對第一潛在變數進行熵編碼時,可以採用基於可調熵編碼模型進行熵編碼,也可以採用預置概率分佈的熵編碼模型進行熵編碼,本申請實施例對此不做限定。其中,熵編碼可以採用算術編碼、區間編碼或者哈夫曼編碼中的一種,本申請實施例不做限定。
在一些實施例中,將第一潛在變數編入碼流的過程中,可以先對第一潛在變數進行量化處理,如圖7所示,對第一潛在變數進行量化處理,得到第二潛在變數,即量化後的第一潛在變數。然後,對第二潛在變數進行算術編碼,得到第二潛在變數的編碼結果,將第二潛在變數的編碼結果寫入碼流。
再以圖8為例,通過編碼神經網路模型對第二白化譜進行處理,得到第一潛在變數之後,對第一潛在變數進行量化處理,得到第二潛在變數。另外,通過上下文編碼網路模型對第一潛在變數進行處理,得到第三潛在變數。對第三潛在變數進行量化處理,得到第四潛在變數(即量化後的第三潛在變數)。基於熵編碼模型對第四潛在變數進行熵編碼,得到第四潛在變數的編碼結果,將第四潛在變數的編碼結果寫入碼流。另外,將第四潛在變數的編碼結果進行熵解碼,得到重構的第四潛在變數。對重構的第四潛在變數進行去量化處理,得到重構的第三潛在變數。通過上下文解碼網路模型對重構的第三潛在變數進行處理,得到熵編
碼模型參數。從參數可調的熵編碼模型中選擇與熵編碼模型參數對應的熵編碼模型。基於選擇的熵編碼模型對第二潛在變數進行熵編碼,得到第二潛在變數的編碼結果,將第二潛在變數的編碼結果寫入碼流。
另外,本申請實施例中對待量化的潛在變數進行量化處理的方式可以有多種,比如,對待量化的潛在變數中的每個元素進行標量量化。標量量化的量化步長可以基於不同的編碼速率來確定,也即是,事先儲存編碼速率與量化步長的對應關係,可以基於本申請實施例採用的編碼速率從該對應關係中獲取對應的量化步長。另外,標量量化還可以存在偏置量,即,通過偏置量對待量化的潛在變數進行偏置處理後再按照量化步長進行標量量化。
需要說明的是,下文的量化處理方式以及熵編碼方式與此處的類似,下文的量化處理方式和熵編碼方式可以參考此處的方式,本申請實施例在後文不再贅述。
以上介紹的將第一潛在變數編入碼流的實現方式僅為本申請實施例提供的一些示例性實現方式。除了以上這些實現方式之外,還可以有其他的實現方式來將第一潛在變數編入碼流,本申請實施例對此不作限定。
需要說明的是,若本申請實施例是以圖8所示的編碼方法對待編碼的媒體資料進行編碼,則除了以上介紹的將第四潛在變數的編碼結果和第二潛在變數的編碼結果寫入碼流之外,還需
要對LPC係數進行量化和編碼,得到LPC係數的編碼結果,將LPC係數的編碼結果寫入碼流,LPC係數的編碼結果用於解碼端的解碼。
綜上所述,在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,編碼品質得到提高。
圖9是本申請實施例提供的一種解碼方法的流程圖,該方法應用於解碼端。該方法對應於圖6所示的編碼方法。該解碼方法包括如下步驟。
步驟901:基於碼流確定重構的第一潛在變數。
在本申請實施例中,基於碼流確定重構的第一潛在變數的一種實現方式為:對碼流中的第一潛在變數的編碼結果進行熵解碼,得到重構的第一潛在變數。其中,對第一潛在變數的編碼結果進行熵解碼時,可以採用基於可調熵解碼模型進行熵解碼,也可以採用預置概率分佈的熵解碼模型進行熵解碼,本申請實施例對此不做限定。需要說明的是,下文的熵解碼方式與此處的類
似,下文的熵解碼方式可以參考此處的方式,本申請實施例在後文不再贅述。
參見圖10,圖10是本申請實施例提供的一種示例性解碼方法的框圖,圖10所示的解碼方法對應於圖7所示的編碼方法。如圖10所示,基於碼流確定重構的第一潛在變數的實現過程為:對碼流中的第二潛在變數的編碼結果進行算術解碼,得到重構的第二潛在變數。對重構的第二潛在變數進行去量化處理,得到重構的第一潛在變數。
圖11是本申請實施例提供的另一種示例性解碼方法的框圖,圖11所示的解碼方法對應於圖8所示的編碼方法。參見圖11,碼流中包括第二潛在變數的編碼結果和第四潛在變數的編碼結果。基於碼流確定重構的第一潛在變數的實現過程為:首先,通過參數固定的熵解碼模型對第四潛在變數的編碼結果進行熵解碼,得到重構的第四潛在變數。對重構的第四潛在變數進行去量化,得到重構的第三潛在變數。通過上下文解碼網路模型對重構的第三潛在變數進行處理,得到重構的熵編碼模型參數。基於重構的熵編碼模型參數從參數可調的熵解碼模型中選擇對應的熵解碼模型。按照選擇的熵解碼模型對碼流中的第二潛在變數的編碼結果進行熵解碼,得到重構的第二潛在變數。對重構的第二潛在變數進行去量化處理,得到重構的第一潛在變數。
其中,本步驟的解碼方法與編碼端的編碼方法相對應,本步驟的去量化處理與編碼端的量化處理相對應。即,解碼方法
為編碼方法的逆過程,去量化處理為量化處理的逆過程。
步驟902:通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜。
在本申請實施例中,通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜的實現方式為:將重構的第一潛在變數輸入解碼神經網路模型,得到解碼神經網路模型輸出的重構的第二白化譜。
其中,解碼神經網路模型與編碼神經網路模型對應,均是預先訓練好的,本申請實施例對解碼神經網路模型的網路結構和訓練方法不做限定。例如,解碼神經網路模型的網路結構可以為全連接網路或者CNN網路。另外,本申請實施例對解碼神經網路模型的網路結構所包含的層數和每一層的節點數也不做限定。
如圖10所示,通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜的實現過程為:將重構的第一潛在變數輸入解碼神經網路模型,得到解碼神經網路模型輸出的重構的第二白化譜。
再以圖11所示的解碼方法為例,通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜的實現過程也為:將重構的第一潛在變數輸入解碼神經網路模型,得到解碼神經網路模型輸出的重構的第二白化譜。
需要說明的是,本步驟為編碼端通過編碼神經網路模型對第二白化譜進行處理以得到第一潛在變數的逆過程。
步驟903:對重構的第二白化譜進行調整,以得到重構的第一白化譜,重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於重構的第二白化譜在目標頻段內的頻譜幅度值。
由於第二白化譜是第一白化譜經過整形後得到的,因此,可以對重構的第二白化譜進行調整,以得到重構的第一白化譜。其中,對重構的第二白化譜進行調整的過程為編碼端對第一白化譜進行整形的逆過程。示例性地,對重構的第二白化譜進行調整,以得到重構的第一白化譜的實現方式為:按照增益調整因數對重構的第二白化譜進行調整,以得到重構的第一白化譜。其中,重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於重構的第二白化譜在目標頻段內的頻譜幅度值。
可選地,目標頻段根據待解碼的媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。目標頻段覆蓋媒體資料的頻譜範圍的整個範圍或部分範圍。需要說明的是,在本申請實施例中,解碼過程中的目標頻段與編碼過程中的目標頻段是相同的,也即重構的第二白化譜需要調整的頻段也為目標頻段。若目標頻段是基於第一白化譜確定的,編碼端將指示目標頻段的資訊編入碼流,則解碼端通過解析碼流中的該資訊確定目標頻段。
在本申請實施例中,目標頻段包括第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數。基於此,按照增益調整因數對重構的第二白化
譜進行調整,以得到重構的第一白化譜的實現過程為:確定重構的第二白化譜在第二數量個或多個第二子頻段中各個第二子頻段內的頻點的頻譜值,按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對重構的第二白化譜在第二數量個第二頻段內的頻點的頻譜值進行調整,以得到重構的第一白化譜。
其中,本步驟中的增益調整因數也與編碼過程中的增益調整因數相同。按照各個第二子頻段對應的調整因數對重構的第二白化譜進行調整的過程,為編碼方法中按照各個第二子頻段對應的調整因數對第一白化譜進行整形處理的逆過程。示例性地,第一調整子頻段為第二數量個第二子頻段中的任意一個第二子頻段,對於第一調整子頻段來說,若編碼端是將第一白化譜在第一調整子頻段內頻點的頻譜值乘以對應的調整因數,則解碼端將重構的第二白化譜在第一調整子頻段內頻點的頻譜值除以對應的調整因數。若編碼端是將第一白化譜在第一調整子頻段內頻點的頻譜值除以對應的調整因數,則解碼端將重構的第二白化譜在第一調整子頻段內頻點的頻譜值乘以對應的調整因數。
在本申請實施例中,與編碼端相對應,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的
方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。
需要說明的是,在本申請實施例中,解碼端中第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式與編碼端是相同的,且確定出的調整因數也是相同的,即,編碼端中第一調整子頻段對應的調整因數與解碼端中第一調整子頻段對應的調整因數相同。
如果第一調整子頻段內的各個頻點對應同一調整因數且為預設值,則預先設定一個值作為第一調整子頻段內的各個頻點對應的調整因數即可。
如果第一調整子頻段內各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的,則該至少一部分頻點對應的調整因數按照如下方式確定:確定第一調整子頻段對應的起始調整因數,確定第一調整子頻段對應的截止調整因數。之後,基於該起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
解碼端按照線性內插的方式確定調整因數的方案與編碼端一致,該至少一部分頻點也可以不包括第一調整子頻段的起始頻點和截止頻點,該起始頻點對應的調整因數為起始調整因數,該截止頻點對應的調整因數為截止調整因數。其中,起始調整因數和截止調整因數均為預設值。或者,起始調整因數為預設值,且截止調整因數為非預設值。或者,起始調整因數為非預設值,
且截止調整因數為預設值。或者,起始調整因數和截止調整因數均為非預設值。基於此,解碼端也可以有三種方案來按照線性內插的方式確定第一調整子頻段內各個頻點對應的調整因數。
線性內插的第一種方案、起始調整因數和截止調整因數均為預設值。
也即,預先設定第一調整子頻段對應的起始調整因數和截止調整因數。可選地,將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數。基於第一調整子頻段的起始頻點對應的調整因數和第一調整子頻段的截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。或者,預先設定第一調整子頻段對應的起始調整因數和截止調整因數,基於該起始調整因數和截止調整因數,按照線性內插的方式確定第一調整子頻段內各個頻點對應的調整因數。具體實現方式按照編碼方法中的相關介紹,這裡不再贅述。
線性內插的第二種方案、截止始調整因數為非預設值。
若截止調整因數為非預設值,則截止調整因數可以為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。在本申請實施例中,確定該截止調整因數的實現方式為:獲取第二調整子頻段的
起始頻點對應的調整因數作為該截止調整因數。
在第二種方案中,可以預先設定第一調整子頻段對應的起始調整因數,然後獲取第二調整子頻段的起始頻點對應的調整因數作為截止調整因數。將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數。之後,基於第一調整子頻段的起始頻點對應的調整因數和截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。
或者,在獲取第二調整子頻段的起始頻點對應的調整因數作為截止調整因數之後,基於第一調整子頻段的起始頻點對應的調整因數和截止調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點之外的各個頻點對應的調整因數。
可選地,第二調整子頻段的起始頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
線性內插的第三種方案、起始調整因數為非預設值。
若起始調整因數為非預設值,則起始調整因數可以為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。在本申請實施例中,確定該起始調整因數的實現方式為:獲取第三調整子頻段的
截止頻點對應的調整因數作為起始調整因數。
在第二種方案中,可以預先設定第一調整子頻段對應的截止調整因數,然後獲取第三調整子頻段的截止頻點對應的調整因數作為起始調整因數。將該起始調整因數確定為第一調整子頻段的起始頻點對應的調整因數,將該截止調整因數確定為第一調整子頻段的截止頻點對應的調整因數,基於第一調整子頻段的起始頻點對應的調整因數和截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除起始頻點和截止頻點之外的各個頻點對應的調整因數。
或者,在獲取第三調整子頻段的截止頻點對應的調整因數作為起始調整因數之後,基於該起始調整因數和第一調整子頻段的截止頻點對應的調整因數,按照線性內插的方式確定第一調整子頻段內除截止頻點之外的各個頻點對應的調整因數。
可選地,第三調整子頻段的截止頻點對應的調整因數可以為預先設定的,或者按照線性內插方式確定的,或者根據預設函數確定的,本申請實施例對此不作限定。
需要說明的是,解碼端線性內插的三種方案的具體實現可以參照圖6所示實施例中步驟602中相關內容的詳細介紹,這裡不再贅述。
如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜之前,從儲存的一個或多個預設函數中
獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍。基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。具體實現過程參照前述圖6實施例中步驟602的相關介紹,這裡不再贅述。
在本申請實施例中,在確定第二數量個第二子頻段中各個第二子頻段對應的調整因數之後,按照各個第二子頻段對應的調整因數,對重構的第二白化譜在相應頻段內的各個頻點的頻譜值進行調整,以得到重構的第一白化譜。示例性地,如圖10和圖11所示的兩種解碼方法中,均基於增益調整因數對重構的第二白化譜進行調整,也即進行去整形處理,得到重構的第一白化譜。
需要說明的是,如果編碼端未對第一白化譜進行整形,例如編碼端通過整形檢測機制確定此次無需對第一白化譜進行整形,編碼端將指示是否整形的標誌編入碼流,則解碼端通過解析碼流中的該標誌確定編碼端是否整形,如果無需整形則解碼端也無需對重構的第二白化譜進行調整,解碼端直接將重構的第二白化譜作為重構的第一白化譜即可。
步驟904:基於重構的第一白化譜確定重構的媒體資料。
在本申請實施例中,基於重構的第一白化譜確定重構的媒體資料的實現方式可以為:對重構的第一白化譜進行去白化處理,以得到重構的媒體資料。
可選地,若待解碼的媒體數據為頻域的媒體資料,則對
重構的第一白化譜進行去白化處理,得到重構的頻域的媒體資料,即得到重構的媒體資料。若待解碼的媒體資料為時域的媒體資料,則得到重構的頻域的媒體資料之後,對重構的頻域的媒體資料進行時域變換的逆變換,以得到重構的時域的媒體資料,即得到重構的媒體資料。或者,解碼端得到重構的時域的媒體資料後,對重構的時域的媒體資料進行後處理,得到重構的媒體資料。
也即是,本步驟為編碼端中確定待編碼的媒體資料的第一白化譜的逆過程。
以圖10的音訊訊號為例,解碼端對重構的第一媒體資料進行去白化處理,得到重構的頻域訊號。對重構的頻域訊號進行修正的離散余弦逆變換(inverse-MDCT,IMDCT)和去加窗處理,得到重構的音訊訊號。
以圖11的音訊訊號為例,解碼端對碼流中的LPC係數的編碼結果進行解碼,得到重構的LPC係數。基於重構的LPC係數對重構的第一白化譜進行去白化處理,得到重構的頻域的媒體資料。對重構的頻域的媒體資料進行IMDCT變換和去加窗處理,得到重構的媒體資料,也即解碼得到重構的音訊訊號。
圖12、圖13和圖14分別為本申請實施例提供的一個原始訊號的譜線圖、該原始訊號經本方案編碼和解碼後得到的譜線圖(即重構的訊號的譜線圖,也稱為補償後的編碼訊號)、該原始訊號未經本方案處理而解碼後得到的譜線圖(也稱為未補償編碼訊號)。可以看出,圖13所示的編碼訊號相比於圖14保留了更多
原始訊號的譜線,例如圖13的矩形框中的部分譜線,顯然比圖14相同位置的矩形框中的譜線更多,也即圖13與圖12的相似度更高,本方案的編碼品質得到了提高。
圖15、圖16和圖17分別為本申請實施例提供的另一個原始訊號的譜線圖、對該原始訊號經本方案編碼和解碼後得到的譜線圖、未經本方案處理而解碼得到的譜線圖。可以看出,圖16所示的編碼訊號相比於圖17保留了更多原始訊號的譜線,例如圖16的兩個矩形框中的譜線,顯然比圖17相同位置的兩個矩形框中的譜線更多,圖16與圖15的相似度更高,本方案的編碼品質得到了提高。
綜上所述,在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,編碼品質得到提高。相應地,解碼端通過相應編碼方法的逆過程解碼得到的媒體資料的還原度更高,也即解碼得到的媒體資料的品質更高。
圖18是本申請實施例提供的一種編碼裝置的結構示意
圖,該編碼裝置可以由軟體、硬體或者兩者的結合實現成為編碼端設備的部分或者全部,該編碼端設備可以為圖1所示的源裝置。參見圖18,該裝置包括:第一確定模組1801、第一處理模組1802、第二處理模組1803和第三處理模組1804。
第一確定模組1801,用於確定待編碼的媒體資料的第一白化譜;第一處理模組1802,用於對第一白化譜進行整形處理,以得到第二白化譜,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值;第二處理模組1803,用於通過編碼神經網路模型對第二白化譜進行處理,以得到第一潛在變數,第一潛在變數用於指示第二白化譜的特徵;第三處理模組1804,用於將第一潛在變數編入碼流。
可選地,目標頻段是預先設定的,或者,目標頻段是基於第一白化譜確定的。
可選地,如果目標頻段是基於第一白化譜確定的,則該裝置還包括:劃分模組,用於將媒體資料的頻譜範圍劃分為第一數量個第一子頻段;第二確定模組,用於確定第一白化譜在第一數量個第一子頻段中各個第一子頻段內的頻譜能量的均值,以得到第一數量個子頻段頻譜能量均值;
第三確定模組,用於確定第一白化譜在頻譜範圍內的頻譜能量均值;第四確定模組,用於根據頻譜能量均值和第一數量個子頻段頻譜能量均值確定目標頻段包括的第一子頻段。
可選地,第四確定模組包括:第一處理子模組,用於將第一數量個子頻段頻譜能量均值中與頻譜能量均值之間的差值超過指定閾值的第一子頻段作為目標頻段包括的第一子頻段。
可選地,第一處理模組1802包括:第二處理子模組,用於按照增益調整因數對第一白化譜進行整形處理,以得到第二白化譜。
可選地,目標頻段包括第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數;第二處理子模組具體用於:確定第一白化譜在第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對第一白化譜在第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到第二白化譜。
可選地,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的
第一調整子頻段對應的調整因數滿足:第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。
可選地,該至少一部分頻點對應的調整因數按照如下方式確定:確定第一調整子頻段對應的起始調整因數;確定第一調整子頻段對應的截止調整因數;基於起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
可選地,該至少一部分頻點不包括第一調整子頻段的起始頻點和截止頻點;該起始頻點對應的調整因數為起始調整因數,該截止頻點對應的調整因數為截止調整因數。
可選地,起始調整因數和截止調整因數均為預設值;或者,起始調整因數為預設值,且截止調整因數為非預設值;或者,
起始調整因數為非預設值,且截止調整因數為預設值;或者,起始調整因數和截止調整因數均為非預設值。
可選地,當截止調整因數為非預設值時,截止調整因數為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。
可選地,當起始調整因數為非預設值時,起始調整因數為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。
可選地,如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則第一處理模組1802還包括:獲取子模組,用於從儲存的一個或多個預設函數中獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍;確定子模組,用於基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。
可選地,目標頻段根據媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
可選地,目標頻段覆蓋媒體資料的頻譜範圍的整個範圍
或部分範圍。
可選地,該裝置還包括:檢測模組,用於檢測第一白化譜是否滿足整形條件;觸發模組,用於如果第一白化譜滿足整形條件,則觸發第一處理模組1802執行對第一白化譜進行整形處理,以得到第二白化譜的步驟。
可選地,檢測模組包括:第五確定模組,用於基於第一白化譜,確定第一平均能量和第二平均能量,第一平均能量為第一白化譜在第一預設頻段內的頻譜能量的均值,第二平均能量為第一白化譜在第二預設頻段內的頻譜能量的均值;第六確定模組,用於如果第一平均能量與第二平均能量之間的差值超過第一閾值,則確定第一白化譜滿足整形條件。
在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,編碼品質得到提高。
需要說明的是:上述實施例提供的編碼裝置在進行編碼時,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。另外,上述實施例提供的編碼裝置與編碼方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
圖19是本申請實施例提供的一種解碼裝置的結構示意圖,該解碼裝置可以由軟體、硬體或者兩者的結合實現成為解碼端設備的部分或者全部,該解碼端設備可以為圖1所示的目的地裝置。參見圖19,該裝置包括:第一確定模組1901、第一處理模組1902、第二處理模組1903和第二確定模組1904。
第一確定模組1901,用於基於碼流確定重構的第一潛在變數;第一處理模組1902,用於通過解碼神經網路模型對重構的第一潛在變數進行處理,以得到重構的第二白化譜;第二處理模組1903,用於對重構的第二白化譜進行調整,以得到重構的第一白化譜,重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於重構的第二白化譜在目標頻段內的頻譜幅度值;第二確定模組1904,用於基於重構的第一白化譜確定重構的媒體資料。
可選地,第二處理模組1903包括:
處理子模組,用於按照增益調整因數對重構的第二白化譜進行調整,以得到重構的第一白化譜。
可選地,目標頻段包括第二數量個第二子頻段,增益調整因數包括第二數量個第二子頻段中各個第二子頻段對應的調整因數;處理子模組具體用於:確定重構的第二白化譜在第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對重構的第二白化譜在第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到重構的第一白化譜。
可選地,第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,第一調整子頻段內的各個頻點對應不同的調整因數,且各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,第一調整子頻段內的各個頻點對應的調整因數存在不同,且各個頻點對應的調整因數是根據預設函數確定的。
可選地,該至少一部分頻點對應的調整因數按照如下方
式確定:確定第一調整子頻段對應的起始調整因數;確定第一調整子頻段對應的截止調整因數;基於起始調整因數和截止調整因數,按照線性內插的方式確定該至少一部分頻點對應的調整因數。
可選地,該至少一部分頻點不包括第一調整子頻段的起始頻點和截止頻點;該起始頻點對應的調整因數為起始調整因數,該截止頻點對應的調整因數為截止調整因數。
可選地,起始調整因數和截止調整因數均為預設值;或者,起始調整因數為預設值,且截止調整因數為非預設值;或者,起始調整因數為非預設值,且截止調整因數為預設值;或者,起始調整因數和截止調整因數均為非預設值。
可選地,當截止調整因數為非預設值時,截止調整因數為第二調整子頻段的起始頻點對應的調整因數,第二調整子頻段為第二數量個第二子頻段中位於第一調整子頻段之後的第二子頻段,且第一調整子頻段和第二子調整頻段是連續的。
可選地,當起始調整因數為非預設值時,起始調整因數為第三調整子頻段的截止頻點對應的調整因數,第三調整子頻段
為第二數量個第二子頻段中位於第一調整子頻段之前的第二子頻段,且第一調整子頻段和第三調整子頻段是連續的。
可選地,如果第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則第二處理模組1903還包括:獲取子模組,用於從儲存的一個或多個預設函數中獲取第一調整子頻段對應的預設函數,以及獲取第一調整子頻段對應的函數引數範圍;確定子模組,用於基於第一調整子頻段對應的預設函數和第一調整子頻段對應的函數引數範圍,確定第一調整子頻段內的各個頻點對應的調整因數。
可選地,目標頻段根據媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
可選地,目標頻段覆蓋媒體資料的頻譜範圍的整個範圍或部分範圍。
在本申請實施例中,通過對媒體資料的第一白化譜進行整形處理,以得到第二白化譜,之後基於第二白化譜進行編碼。其中,第二白化譜在目標頻段內的頻譜幅度值大於或等於第一白化譜在目標頻段內的頻譜幅度值。可見本方案通過調高第一白化譜在目標頻段內的頻譜幅度值,使得到的第二白化譜中不同頻率的譜線的統計平均能量相差較小,這樣通過編碼神經網路模型對第二白化譜進行處理的過程中,能夠保留第二白化譜中更多的譜線,也即本方案能夠編碼更多的譜線,從而保留更多的頻譜特徵,
編碼品質得到提高。
需要說明的是:上述實施例提供的解碼裝置在進行解碼時,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。另外,上述實施例提供的解碼裝置與解碼方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
圖20為用於本申請實施例的一種編解碼裝置2000的示意性框圖。其中,編解碼裝置2000可以包括處理器2001、記憶體2002和匯流排系統2003。其中,處理器2001和記憶體2002通過匯流排系統2003相連,該記憶體2002用於儲存指令,該處理器2001用於執行該記憶體2002儲存的指令,以執行本申請實施例描述的各種的編碼或解碼方法。為避免重複,這裡不再詳細描述。
在本申請實施例中,該處理器2001可以是中央處理單元(central processing unit,CPU),該處理器2001還可以是其他通用處理器、DSP、ASIC、FPGA或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該記憶體2002可以包括ROM設備或者RAM設備。任何其他適宜類型的存放裝置也可以用作記憶體2002。記憶體2002可以包括由處理器2001使用匯流排2003訪問的代碼和資料20021。記憶體2002可以進一步包括作業系統20023和應用程式
20022,該應用程式20022包括允許處理器2001執行本申請實施例描述的編碼或解碼方法的至少一個程式。例如,應用程式20022可以包括應用1至N,其進一步包括執行在本申請實施例描述的編碼或解碼方法的編碼或解碼應用(簡稱編解碼應用)。
該匯流排系統2003除包括資料匯流排之外,還可以包括電源匯流排、控制匯流排和狀態訊號匯流排等。但是為了清楚說明起見,在圖中將各種匯流排都標為匯流排系統2003。
可選地,編解碼裝置2000還可以包括一個或多個輸出設備,諸如顯示器2004。在一個示例中,顯示器2004可以是觸感顯示器,其將顯示器與可操作地感測觸摸輸入的觸感單元合併。顯示器2004可以經由匯流排2003連接到處理器2001。
需要指出的是,編解碼裝置2000可以執行本申請實施例中的編碼方法,也可執行本申請實施例中的解碼方法。
本領域技術人員能夠領會,結合本文公開描述的各種說明性邏輯框、模組和演算法步驟所描述的功能可以硬體、軟體、固件或其任何組合來實施。如果以軟體來實施,那麼各種說明性邏輯框、模組、和步驟描述的功能可作為一或多個指令或代碼在電腦可讀媒體上儲存或傳輸,且由基於硬體的處理單元執行。電腦可讀媒體可包含電腦可讀儲存媒體,其對應於有形媒體,例如資料儲存媒體,或包括任何促進將電腦程式從一處傳送到另一處的媒體(例如,基於通訊協議)的通訊媒體。以此方式,電腦可讀媒體大體上可對應於(1)非暫時性的有形電腦可讀儲存媒體,或(2)
通訊媒體,例如訊號或載波。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以檢索用於實施本申請中描述的技術的指令、代碼和/或資料結構的任何可用媒體。電腦程式產品可包含電腦可讀媒體。
作為實例而非限制,此類電腦可讀儲存媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光碟儲存裝置、磁片儲存裝置或其它磁性儲存裝置、快閃記憶體或可用來儲存指令或資料結構的形式的所要程式碼並且可由電腦存取的任何其它媒體。並且,任何連接被恰當地稱作電腦可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數位訂戶線(DSL)或例如紅外線、無線電和微波等無線技術從網站、伺服器或其它遠端源傳輸指令,那麼同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無線電和微波等無線技術包含在媒體的定義中。但是,應理解,所述電腦可讀儲存媒體和資料儲存媒體並不包括連接、載波、訊號或其它暫時媒體,而是實際上針對於非暫時性有形儲存媒體。如本文中所使用,磁片和光碟包含壓縮光碟(CD)、鐳射光碟、光學光碟、DVD和藍光光碟,其中磁片通常以磁性方式再現資料,而光碟利用鐳射以光學方式再現資料。以上各項的組合也應包含在電腦可讀媒體的範圍內。
可通過例如一或多個數位訊號處理器(DSP)、通用微處理器、專用積體電路(ASIC)、現場可程式設計邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執行指令。因
此,如本文中所使用的術語“處理器”可指前述結構或適合於實施本文中所描述的技術的任一其它結構中的任一者。另外,在一些方面中,本文中所描述的各種說明性邏輯框、模組、和步驟所描述的功能可以提供於經配置以用於編碼和解碼的專用硬體和/或軟體模組內,或者併入在組合編解碼器中。而且,所述技術可完全實施於一或多個電路或邏輯元件中。在一種示例下,編碼器100及解碼器200中的各種說明性邏輯框、單元、模組可以理解為對應的電路器件或邏輯元件。
本申請實施例的技術可在各種各樣的裝置或設備中實施,包含無線手持機、積體電路(IC)或一組IC(例如,晶片組)。本申請實施例中描述各種元件、模組或單元是為了強調用於執行所揭示的技術的裝置的功能方面,但未必需要由不同硬體單元實現。實際上,如上文所描述,各種單元可結合合適的軟體和/或固件組合在編碼解碼器硬體單元中,或者通過交互操作硬體單元(包含如上文所描述的一或多個處理器)來提供。
也就是說,在上述實施例中,可以全部或部分地通過軟體、硬體、固件或者其任意結合來實現。當使用軟體實現時,可以全部或部分地以電腦程式產品的形式實現。所述電腦程式產品包括一個或多個電腦指令。在電腦上載入和執行所述電腦指令時,全部或部分地產生按照本申請實施例所述的流程或功能。所述電腦可以是通用電腦、專用電腦、電腦網路或其他可程式設計裝置。所述電腦指令可以儲存在電腦可讀儲存介質中,或者從一
個電腦可讀儲存介質向另一個電腦可讀儲存介質傳輸,例如,所述電腦指令可以從一個網站網站、電腦、伺服器或資料中心通過有線(例如:同軸電纜、光纖、資料使用者線(digital subscriber line,DSL))或無線(例如:紅外、無線、微波等)方式向另一個網站網站、電腦、伺服器或資料中心進行傳輸。所述電腦可讀儲存介質可以是電腦能夠存取的任何可用介質,或者是包含一個或多個可用介質集成的伺服器、資料中心等資料存放裝置。所述可用介質可以是磁性介質(例如:軟碟、硬碟、磁帶)、光介質(例如:數位通用光碟(digital versatile disc,DVD))或半導體介質(例如:固態硬碟(solid state disk,SSD))等。值得注意的是,本申請實施例提到的電腦可讀儲存介質可以為非易失性儲存介質,換句話說,可以是非暫態性儲存介質。
應當理解的是,本文提及的“多個”是指兩個或兩個以上。在本申請實施例的描述中,除非另有說明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”僅僅是一種描述關聯物件的關聯關係,表示可以存在三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,為了便於清楚描述本申請實施例的技術方案,在本申請實施例中,採用了“第一”、“第二”等字樣對功能和作用基本相同的相同項或相似項進行區分。本領域技術人員可以理解“第一”、“第二”等字樣並不對數量和執行次序進行限定,並且“第一”、“第二”等字樣也並不限定一定不同。
需要說明的是,本申請實施例所涉及的資訊(包括但不限於使用者設備資訊、使用者個人資訊等)、資料(包括但不限於用於分析的資料、儲存的資料、展示的資料等)以及訊號,均為經使用者授權或者經過各方充分授權的,且相關資料的收集、使用和處理需要遵守相關國家和地區的相關法律法規和標準。例如,本申請實施例中涉及到的媒體資料都是在充分授權的情況下獲取的。
以上所述為本申請提供的實施例,並不用以限制本申請,凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。
601、602、603、604:步驟
Claims (63)
- 一種音訊訊號的編碼方法,其中,所述方法包括:確定待編碼的媒體資料的第一白化譜;對所述第一白化譜進行整形處理,以得到第二白化譜,所述第二白化譜在目標頻段內的頻譜幅度值大於或等於所述第一白化譜在所述目標頻段內的頻譜幅度值;通過編碼神經網路模型對所述第二白化譜進行處理,以得到第一潛在變數,所述第一潛在變數用於指示所述第二白化譜的特徵;將所述第一潛在變數編入碼流。
- 如請求項1所述的方法,其中,所述目標頻段是預先設定的,或者,所述目標頻段是基於所述第一白化譜確定的。
- 如請求項2所述的方法,其中,如果所述目標頻段是基於所述第一白化譜確定的,則所述對所述第一白化譜進行整形處理,以得到第二白化譜之前,還包括:將所述媒體資料的頻譜範圍劃分為第一數量個第一子頻段;確定所述第一白化譜在所述第一數量個第一子頻段中各個第一子頻段內的頻譜能量的均值,以得到第一數量個子頻段頻譜能量均值;確定所述第一白化譜在所述頻譜範圍內的頻譜能量均值;根據所述頻譜能量均值和所述第一數量個子頻段頻譜能量均值確定所述目標頻段包括的第一子頻段。
- 如請求項3所述的方法,其中,所述根據所述頻譜能量均值和所述第一數量個子頻段頻譜能量均值確定所述目標頻段包括的第一子頻段,包括:將所述第一數量個子頻段頻譜能量均值中與所述頻譜能量均值之間的差值超過指定閾值的第一子頻段作為所述目標頻段包括的第一子頻段。
- 如請求項1所述的方法,其中,所述對所述第一白化譜進行整形處理,以得到第二白化譜,包括:按照增益調整因數對所述第一白化譜進行整形處理,以得到所述第二白化譜。
- 如請求項5所述的方法,其中,所述目標頻段包括第二數量個第二子頻段,所述增益調整因數包括所述第二數量個第二子頻段中各個第二子頻段對應的調整因數;所述按照增益調整因數對所述第一白化譜進行整形處理,以得到所述第二白化譜,包括:確定所述第一白化譜在所述第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照所述第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對所述第一白化譜在所述第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到所述第二白化譜。
- 如請求項6所述的方法,其中,所述第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不 同,所述第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:所述第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,所述第一調整子頻段內的各個頻點對應不同的調整因數,且所述各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,所述第一調整子頻段內的各個頻點對應的調整因數存在不同,且所述各個頻點對應的調整因數是根據預設函數確定的。
- 如請求項7所述的方法,其中,所述至少一部分頻點對應的調整因數按照如下方式確定:確定所述第一調整子頻段對應的起始調整因數;確定所述第一調整子頻段對應的截止調整因數;基於所述起始調整因數和所述截止調整因數,按照線性內插的方式確定所述至少一部分頻點對應的調整因數。
- 如請求項8所述的方法,其中,所述至少一部分頻點不包括所述第一調整子頻段的起始頻點和截止頻點;所述起始頻點對應的調整因數為所述起始調整因數,所述截止頻點對應的調整因數為所述截止調整因數。
- 如請求項8所述的方法,其中,所述起始調整因數和截止調整因數均為預設值;或者, 所述起始調整因數為預設值,且所述截止調整因數為非預設值;或者,所述起始調整因數為非預設值,且所述截止調整因數為預設值;或者,所述起始調整因數和所述截止調整因數均為非預設值。
- 如請求項10所述的方法,其中,當所述截止調整因數為非預設值時,所述截止調整因數為第二調整子頻段的起始頻點對應的調整因數,所述第二調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之後的第二子頻段,且所述第一調整子頻段和所述第二子調整頻段是連續的。
- 如請求項10所述的方法,其中,當所述起始調整因數為非預設值時,所述起始調整因數為第三調整子頻段的截止頻點對應的調整因數,所述第三調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之前的第二子頻段,且所述第一調整子頻段和所述第三調整子頻段是連續的。
- 如請求項7所述的方法,其中,如果所述第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則所述按照增益調整因數對所述第一白化譜進行整形處理,以得到所述第二白化譜之前,還包括:從儲存的一個或多個預設函數中獲取所述第一調整子頻段對應的預設函數,以及獲取所述第一調整子頻段對應的函數引數範圍; 基於所述第一調整子頻段對應的預設函數和所述第一調整子頻段對應的函數引數範圍,確定所述第一調整子頻段內的各個頻點對應的調整因數。
- 如請求項1-13任一項所述的方法,其中,所述目標頻段根據所述媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
- 如請求項1-13任一項所述的方法,其中,所述目標頻段覆蓋所述媒體資料的頻譜範圍的整個範圍或部分範圍。
- 如請求項1-13任一項所述的方法,其中,所述對所述第一白化譜進行整形處理,以得到第二白化譜之前,還包括:檢測所述第一白化譜是否滿足整形條件;如果所述第一白化譜滿足所述整形條件,則執行所述對所述第一白化譜進行整形處理,以得到第二白化譜的步驟。
- 如請求項16所述的方法,其中,所述檢測所述第一白化譜是否滿足整形條件,包括:基於所述第一白化譜,確定第一平均能量和第二平均能量,所述第一平均能量為所述第一白化譜在第一預設頻段內的頻譜能量的均值,所述第二平均能量為所述第一白化譜在第二預設頻段內的頻譜能量的均值;如果所述第一平均能量與所述第二平均能量之間的差值超過第一閾值,則確定所述第一白化譜滿足所述整形條件。
- 一種音訊訊號的解碼方法,其中,所述方法包括: 基於碼流確定重構的第一潛在變數;通過解碼神經網路模型對所述重構的第一潛在變數進行處理,以得到重構的第二白化譜;對所述重構的第二白化譜進行調整,以得到重構的第一白化譜,所述重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於所述重構的第二白化譜在所述目標頻段內的頻譜幅度值;基於所述重構的第一白化譜確定重構的媒體資料。
- 如請求項18所述的方法,其中,所述對所述重構的第二白化譜進行調整,以得到重構的第一白化譜,包括:按照增益調整因數對所述重構的第二白化譜進行調整,以得到所述重構的第一白化譜。
- 如請求項19所述的方法,其中,所述目標頻段包括第二數量個第二子頻段,所述增益調整因數包括所述第二數量個第二子頻段中各個第二子頻段對應的調整因數;所述按照增益調整因數對所述重構的第二白化譜進行調整,以得到所述重構的第一白化譜,包括:確定所述重構的第二白化譜在所述第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照所述第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對所述重構的第二白化譜在所述第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到所述重構的第一白化譜。
- 如請求項20所述的方法,其中,所述第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,所述第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:所述第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,所述第一調整子頻段內的各個頻點對應不同的調整因數,且所述各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,所述第一調整子頻段內的各個頻點對應的調整因數存在不同,且所述各個頻點對應的調整因數是根據預設函數確定的。
- 如請求項21所述的方法,其中,所述至少一部分頻點對應的調整因數按照如下方式確定:確定所述第一調整子頻段對應的起始調整因數;確定所述第一調整子頻段對應的截止調整因數;基於所述起始調整因數和所述截止調整因數,按照線性內插的方式確定所述至少一部分頻點對應的調整因數。
- 如請求項22所述的方法,其中,所述至少一部分頻點不包括所述第一調整子頻段的起始頻點和截止頻點;所述起始頻點對應的調整因數為所述起始調整因數,所述截止頻點對應的調整因數為所述截止調整因數。
- 如請求項22所述的方法,其中, 所述起始調整因數和截止調整因數均為預設值;或者,所述起始調整因數為預設值,且所述截止調整因數為非預設值;或者,所述起始調整因數為非預設值,且所述截止調整因數為預設值;或者,所述起始調整因數和所述截止調整因數均為非預設值。
- 如請求項24所述的方法,其中,當所述截止調整因數為非預設值時,所述截止調整因數為第二調整子頻段的起始頻點對應的調整因數,所述第二調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之後的第二子頻段,且所述第一調整子頻段和所述第二子調整頻段是連續的。
- 如請求項24所述的方法,其中,當所述起始調整因數為非預設值時,所述起始調整因數為第三調整子頻段的截止頻點對應的調整因數,所述第三調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之前的第二子頻段,且所述第一調整子頻段和所述第三調整子頻段是連續的。
- 如請求項21所述的方法,其中,如果所述第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則所述按照增益調整因數對所述第一白化譜進行整形處理,以得到所述第二白化譜之前,還包括: 從儲存的一個或多個預設函數中獲取所述第一調整子頻段對應的預設函數,以及獲取所述第一調整子頻段對應的函數引數範圍;基於所述第一調整子頻段對應的預設函數和所述第一調整子頻段對應的函數引數範圍,確定所述第一調整子頻段內的各個頻點對應的調整因數。
- 如請求項18-27任一項所述的方法,其中,所述目標頻段根據所述媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
- 如請求項18-27任一項所述的方法,其中,所述目標頻段覆蓋所述媒體資料的頻譜範圍的整個範圍或部分範圍。
- 一種音訊訊號的編碼裝置,其中,所述裝置包括:第一確定模組,用於確定待編碼的媒體資料的第一白化譜;第一處理模組,用於對所述第一白化譜進行整形處理,以得到第二白化譜,所述第二白化譜在目標頻段內的頻譜幅度值大於或等於所述第一白化譜在所述目標頻段內的頻譜幅度值;第二處理模組,用於通過編碼神經網路模型對所述第二白化譜進行處理,以得到第一潛在變數,所述第一潛在變數用於指示所述第二白化譜的特徵;第三處理模組,用於將所述第一潛在變數編入碼流。
- 如請求項30所述的裝置,其中,所述目標頻段是預先設定的,或者,所述目標頻段是基於所述第一白化譜確定的。
- 如請求項31所述的裝置,其中,如果所述目標頻段是基於所述第一白化譜確定的,則所述裝置還包括:劃分模組,用於將所述媒體資料的頻譜範圍劃分為第一數量個第一子頻段;第二確定模組,用於確定所述第一白化譜在所述第一數量個第一子頻段中各個第一子頻段內的頻譜能量的均值,以得到第一數量個子頻段頻譜能量均值;第三確定模組,用於確定所述第一白化譜在所述頻譜範圍內的頻譜能量均值;第四確定模組,用於根據所述頻譜能量均值和所述第一數量個子頻段頻譜能量均值確定所述目標頻段包括的第一子頻段。
- 如請求項32所述的裝置,其中,所述第四確定模組包括:第一處理子模組,用於將所述第一數量個子頻段頻譜能量均值中與所述頻譜能量均值之間的差值超過指定閾值的第一子頻段作為所述目標頻段包括的第一子頻段。
- 如請求項30所述的裝置,其中,所述第一處理模組包括:第二處理子模組,用於按照增益調整因數對所述第一白化譜進行整形處理,以得到所述第二白化譜。
- 如請求項34所述的裝置,其中,所述目標頻段包括第二數量個第二子頻段,所述增益調整因數包括所述第二數量個第二子頻段中各個第二子頻段對應的調整因數;所述第二處理子模組具體用於:確定所述第一白化譜在所述第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照所述第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對所述第一白化譜在所述第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到所述第二白化譜。
- 如請求項35所述的裝置,其中,所述第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,所述第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:所述第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,所述第一調整子頻段內的各個頻點對應不同的調整因數,且所述各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者,所述第一調整子頻段內的各個頻點對應的調整因數存在不同,且所述各個頻點對應的調整因數是根據預設函數確定的。
- 如請求項36所述的裝置,其中,所述至少一部分頻點對應的調整因數按照如下方式確定: 確定所述第一調整子頻段對應的起始調整因數;確定所述第一調整子頻段對應的截止調整因數;基於所述起始調整因數和所述截止調整因數,按照線性內插的方式確定所述至少一部分頻點對應的調整因數。
- 如請求項37所述的裝置,其中,所述至少一部分頻點不包括所述第一調整子頻段的起始頻點和截止頻點;所述起始頻點對應的調整因數為所述起始調整因數,所述截止頻點對應的調整因數為所述截止調整因數。
- 如請求項37所述的裝置,其中,所述起始調整因數和截止調整因數均為預設值;或者,所述起始調整因數為預設值,且所述截止調整因數為非預設值;或者,所述起始調整因數為非預設值,且所述截止調整因數為預設值;或者,所述起始調整因數和所述截止調整因數均為非預設值。
- 如請求項39所述的裝置,其中,當所述截止調整因數為非預設值時,所述截止調整因數為第二調整子頻段的起始頻點對應的調整因數,所述第二調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之後的第二子頻段,且所述第一調整子頻段和所述第二子調整頻段是連續的。
- 如請求項39所述的裝置,其中,當所述起始調整因數為非預設值時,所述起始調整因數為第三調整子頻段的截止 頻點對應的調整因數,所述第三調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之前的第二子頻段,且所述第一調整子頻段和所述第三調整子頻段是連續的。
- 如請求項36所述的裝置,其中,如果所述第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則所述第一處理模組還包括:獲取子模組,用於從儲存的一個或多個預設函數中獲取所述第一調整子頻段對應的預設函數,以及獲取所述第一調整子頻段對應的函數引數範圍;確定子模組,用於基於所述第一調整子頻段對應的預設函數和所述第一調整子頻段對應的函數引數範圍,確定所述第一調整子頻段內的各個頻點對應的調整因數。
- 如請求項30-42任一項所述的裝置,其中,所述目標頻段根據所述媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
- 如請求項30-42任一項所述的裝置,其中,所述目標頻段覆蓋所述媒體資料的頻譜範圍的整個範圍或部分範圍。
- 如請求項30-42任一項所述的裝置,其中,所述裝置還包括:檢測模組,用於檢測所述第一白化譜是否滿足整形條件; 觸發模組,用於如果所述第一白化譜滿足所述整形條件,則觸發所述第一處理模組執行所述對所述第一白化譜進行整形處理,以得到第二白化譜的步驟。
- 如請求項45所述的裝置,其中,所述檢測模組包括:第五確定模組,用於基於所述第一白化譜,確定第一平均能量和第二平均能量,所述第一平均能量為所述第一白化譜在第一預設頻段內的頻譜能量的均值,所述第二平均能量為所述第一白化譜在第二預設頻段內的頻譜能量的均值;第六確定模組,用於如果所述第一平均能量與所述第二平均能量之間的差值超過第一閾值,則確定所述第一白化譜滿足所述整形條件。
- 一種音訊訊號的解碼裝置,其中,所述裝置包括:第一確定模組,用於基於碼流確定重構的第一潛在變數;第一處理模組,用於通過解碼神經網路模型對所述重構的第一潛在變數進行處理,以得到重構的第二白化譜;第二處理模組,用於對所述重構的第二白化譜進行調整,以得到重構的第一白化譜,所述重構的第一白化譜在目標頻段內的頻譜幅度值小於或等於所述重構的第二白化譜在所述目標頻段內的頻譜幅度值;第二確定模組,用於基於所述重構的第一白化譜確定重構的媒體資料。
- 如請求項47所述的裝置,其中,所述第二處理模組包括:處理子模組,用於按照增益調整因數對所述重構的第二白化譜進行調整,以得到所述重構的第一白化譜。
- 如請求項48所述的裝置,其中,所述目標頻段包括第二數量個第二子頻段,所述增益調整因數包括所述第二數量個第二子頻段中各個第二子頻段對應的調整因數;所述處理子模組具體用於:確定所述重構的第二白化譜在所述第二數量個第二子頻段中各個第二子頻段內的頻點的頻譜值;按照所述第二數量個第二子頻段中各個第二子頻段對應的調整因數,分別對所述重構的第二白化譜在所述第二數量個第二子頻段內的頻點的頻譜值進行調整,以得到所述重構的第一白化譜。
- 如請求項49所述的裝置,其中,所述第二數量個第二子頻段中各個第二子頻段對應的調整因數的確定方式相同或不同,所述第二數量個第二子頻段中的第一調整子頻段對應的調整因數滿足:所述第一調整子頻段內的各個頻點對應同一調整因數且為預設值;或者,所述第一調整子頻段內的各個頻點對應不同的調整因數,且所述各個頻點中至少一部分頻點對應的調整因數是按照線性內插的方式確定的;或者, 所述第一調整子頻段內的各個頻點對應的調整因數存在不同,且所述各個頻點對應的調整因數是根據預設函數確定的。
- 如請求項50所述的裝置,其中,所述至少一部分頻點對應的調整因數按照如下方式確定:確定所述第一調整子頻段對應的起始調整因數;確定所述第一調整子頻段對應的截止調整因數;基於所述起始調整因數和所述截止調整因數,按照線性內插的方式確定所述至少一部分頻點對應的調整因數。
- 如請求項51所述的裝置,其中,所述至少一部分頻點不包括所述第一調整子頻段的起始頻點和截止頻點;所述起始頻點對應的調整因數為所述起始調整因數,所述截止頻點對應的調整因數為所述截止調整因數。
- 如請求項51所述的裝置,其中,所述起始調整因數和截止調整因數均為預設值;或者,所述起始調整因數為預設值,且所述截止調整因數為非預設值;或者,所述起始調整因數為非預設值,且所述截止調整因數為預設值;或者,所述起始調整因數和所述截止調整因數均為非預設值。
- 如請求項53所述的裝置,其中,當所述截止調整因數為非預設值時,所述截止調整因數為第二調整子頻段的起始頻點對應的調整因數,所述第二調整子頻段為所述第二數量個第 二子頻段中位於所述第一調整子頻段之後的第二子頻段,且所述第一調整子頻段和所述第二子調整頻段是連續的。
- 如請求項53所述的裝置,其中,當所述起始調整因數為非預設值時,所述起始調整因數為第三調整子頻段的截止頻點對應的調整因數,所述第三調整子頻段為所述第二數量個第二子頻段中位於所述第一調整子頻段之前的第二子頻段,且所述第一調整子頻段和所述第三調整子頻段是連續的。
- 如請求項50所述的裝置,其中,如果所述第一調整子頻段內的各個頻點對應的調整因數是根據預設函數確定的,則所述第二處理模組還包括:獲取子模組,用於從儲存的一個或多個預設函數中獲取所述第一調整子頻段對應的預設函數,以及獲取所述第一調整子頻段對應的函數引數範圍;確定子模組,用於基於所述第一調整子頻段對應的預設函數和所述第一調整子頻段對應的函數引數範圍,確定所述第一調整子頻段內的各個頻點對應的調整因數。
- 如請求項47-56任一項所述的裝置,其中,所述目標頻段根據所述媒體資料對應的取樣速率、通道數、編碼速率、編碼頻寬和編碼模式中的一種或多種因素確定。
- 如請求項47-56任一項所述的裝置,其中,所述目標頻段覆蓋所述媒體資料的頻譜範圍的整個範圍或部分範圍。
- 一種音訊訊號的編碼端設備,其中,所述編碼端設備包括記憶體和處理器;所述記憶體用於儲存電腦程式,所述處理器用於執行所述記憶體中儲存的電腦程式,以實現請求項1-17任一項所述的編碼方法。
- 一種音訊訊號的解碼端設備,其中,所述解碼端設備包括記憶體和處理器;所述記憶體用於儲存電腦程式,所述處理器用於執行所述記憶體中儲存的電腦程式,以實現請求項18-29任一項所述的解碼方法。
- 一種音訊訊號的電腦可讀儲存介質,其中,所述儲存介質內儲存有指令,當所述指令在所述電腦上運行時,使得所述電腦執行請求項1-29任一項所述的方法的步驟。
- 一種音訊訊號的電腦程式,其中,所述電腦程式被執行時實現如請求項1-29中任一項所述的方法。
- 一種音訊訊號的電腦可讀儲存介質,其中,包括如請求項1-17中任一項所述的編碼方法所獲得的碼流。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110654037.6A CN115472171A (zh) | 2021-06-11 | 2021-06-11 | 编解码方法、装置、设备、存储介质及计算机程序 |
CN202110654037.6 | 2021-06-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202305787A TW202305787A (zh) | 2023-02-01 |
TWI854237B true TWI854237B (zh) | 2024-09-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170117000A1 (en) | 2014-03-24 | 2017-04-27 | Ntt Docomo, Inc. | Audio decoding device, audio encoding device, audio decoding method, audio encoding method, audio decoding program, and audio encoding program |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170117000A1 (en) | 2014-03-24 | 2017-04-27 | Ntt Docomo, Inc. | Audio decoding device, audio encoding device, audio decoding method, audio encoding method, audio decoding program, and audio encoding program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2475868C2 (ru) | Способ и устройство для маскирования ошибок кодированных аудиоданных | |
KR101087588B1 (ko) | 압축 디지털 비트스트림을 믹싱하는 방법 및 장치 | |
WO2023051370A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序 | |
US12062379B2 (en) | Audio coding of tonal components with a spectrum reservation flag | |
WO2023051367A1 (zh) | 解码方法、装置、设备、存储介质及计算机程序产品 | |
WO2021213128A1 (zh) | 音频信号编码方法和装置 | |
TWI854237B (zh) | 音訊訊號的編解碼方法、裝置、設備、儲存介質及電腦程式 | |
WO2022258036A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序 | |
SG181148A1 (en) | Method and device for determining a number of bits for encoding an audio signal | |
WO2022242534A1 (zh) | 编解码方法、装置、设备、存储介质及计算机程序 | |
EP4336498A1 (en) | Audio data encoding method and related apparatus, audio data decoding method and related apparatus, and computer-readable storage medium | |
RU2828171C1 (ru) | Способ и устройство кодирования аудио | |
Yang et al. | A Robust MP3 Steganographic Method against Multiple Compressions Based on Modified Discrete Cosine Transform | |
TW202349966A (zh) | 濾波方法、濾波模型訓練方法及相關裝置 | |
CN115512711A (zh) | 语音编码、语音解码方法、装置、计算机设备和存储介质 | |
CN118800247A (zh) | 场景音频信号的解码方法和装置 | |
Arora et al. | Speech compression analysis using matlab | |
CN118800255A (zh) | 场景音频信号的解码方法和装置 | |
KR20080049499A (ko) | 오디오 코딩 장치 및 방법 |