TWI847276B - 編解碼方法、裝置、設備、儲存媒體及電腦程式產品 - Google Patents

編解碼方法、裝置、設備、儲存媒體及電腦程式產品 Download PDF

Info

Publication number
TWI847276B
TWI847276B TW111135552A TW111135552A TWI847276B TW I847276 B TWI847276 B TW I847276B TW 111135552 A TW111135552 A TW 111135552A TW 111135552 A TW111135552 A TW 111135552A TW I847276 B TWI847276 B TW I847276B
Authority
TW
Taiwan
Prior art keywords
signal
current frame
scheme
decoding
coding
Prior art date
Application number
TW111135552A
Other languages
English (en)
Other versions
TW202333139A (zh
Inventor
劉帥
高原
王賓
王喆
Original Assignee
大陸商華為技術有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202111155384.0A external-priority patent/CN115881140A/zh
Application filed by 大陸商華為技術有限公司 filed Critical 大陸商華為技術有限公司
Publication of TW202333139A publication Critical patent/TW202333139A/zh
Application granted granted Critical
Publication of TWI847276B publication Critical patent/TWI847276B/zh

Links

Abstract

本申請實施例公開了一種編解碼方法、裝置、設備、儲存媒體及電腦程式產品,屬於音訊處理技術領域。該方法結合基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案對音訊幀的HOA信號進行編解碼,即針對不同的音訊幀選擇合適的編解碼方案,這樣能提升音訊信號的壓縮率。同時,為了在不同編解碼方案之間切換時聽覺品質的平滑過渡,對於某些音訊幀來說,並非直接採用上述兩個編解碼方案中的任一個,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。

Description

編解碼方法、裝置、設備、儲存媒體及電腦程式產品
本申請實施例涉及音訊處理技術領域,特別涉及一種編解碼方法、裝置、設備、儲存媒體及電腦程式產品。
高階立體混響(higher order ambisonics,HOA)技術作為一種三維音訊技術,因其在進行三維音訊重播時具有更高的靈活性,因而得到了廣泛的關注。為了實現更好的聽覺效果,HOA 技術需要大量的資料記錄詳細的聲音場景資訊。但隨著HOA階數的增加將會產生更多的資料,大量的資料造成傳輸和儲存的困難。因此如何對HOA信號進行編解碼成為目前重點關注的問題。
相關技術提出了兩種對HOA信號進行編解碼的方案。其中一種方案為基於方向音訊編碼(directional audio coding,DirAC)的編解碼方案。在該方案中,編碼端從當前幀的HOA信號中提取核心層信號和空間參數,將提取的核心層信號和空間參數編入碼流。解碼端採用與編碼對稱的解碼方法從碼流中重建出當前幀的HOA信號。另一種方案為基於虛擬揚聲器選擇的編解碼方案。在該方案中,編碼端基於匹配投影(match-projection,MP)演算法從虛擬揚聲器集合中選擇與當前幀的HOA信號匹配的目標虛擬揚聲器,基於當前幀的HOA信號和目標虛擬揚聲器,確定虛擬揚聲器信號,基於當前幀的HOA信號和虛擬揚聲器信號確定殘差信號,將虛擬揚聲器信號和殘差信號編入碼流。解碼端採用與編碼對稱的解碼方法從碼流中重建出當前幀的HOA信號。
然而,對於聲場中相異性聲源較少的情況,基於虛擬揚聲器選擇的編解碼方案的壓縮率較高,對於聲場中相異性聲源較多的情況,基於DirAC的編解碼方案的壓縮率較高。其中,相異性聲源指聲源的位置和/或方向不同的點聲源。而不同音訊幀的聲場類型(與聲場中相異性聲源相關)可能不同,如果想要同時滿足對不同聲場類型下的音訊幀均有較高的壓縮率,需要根據各音訊幀的聲場類型為相應音訊幀選擇合適的編解碼方案,這樣就需要在不同的編解碼方案之間進行切換。但基於不同的編解碼方案重建出的HOA信號經過渲染重播後的聽覺品質不同,在不同的編解碼方案之間進行切換時,如何保證聽覺品質的平滑過渡是當前需要考慮的問題。
本申請實施例提供了一種編解碼方法、裝置、設備、儲存媒體及電腦程式產品,能夠在不同的編解碼方案之間進行切換時,保證聽覺品質的平滑過渡。所述技術方案如下:
第一方面,提供了一種編碼方法,該方法包括:根據當前幀的HOA信號確定當前幀的編碼方案,當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種;其中,第一編碼方案為基於方向音訊編碼的HOA編碼方案(即DirAC解碼方案),第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案(可以簡稱為基於MP的HOA解碼方案),第三編碼方案為混合編碼方案;若當前幀的編碼方案為第三編碼方案,則將該HOA信號中指定通道的信號編入碼流,指定通道為該HOA信號的所有通道中的部分通道。其中,混合編碼方案在編碼過程中既會使用第一編碼方案(即DirAC編碼方案)相關的技術手段,也會使用第二編碼方案(基於MP的HOA編碼方案)相關的技術手段,所以叫混合編碼方案。
在本申請實施例中,針對不同的音訊幀選擇合適的編解碼方案,這樣能提升音訊信號的壓縮率。同時,對於某些音訊幀來說,並非直接採用第一編碼方案和第二編碼方案中的任一個,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
可選地,指定通道的信號包括一階立體混響(first-order ambisonics,FOA)信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。
可選地,將HOA信號中指定通道的信號編入碼流,包括:基於W信號、X信號、Y信號和Z信號,確定虛擬揚聲器信號和殘差信號;將虛擬揚聲器信號和殘差信號編入碼流。
可選地,基於W信號、X信號、Y信號和Z信號,確定虛擬揚聲器信號和殘差信號,包括:將W信號確定為一路虛擬揚聲器信號;基於W信號、X信號、Y信號和Z信號確定三路殘差信號,或者,將X信號、Y信號和Z信號確定為三路殘差信號。可選地,將X信號、Y信號和Z信號分別與W信號之間的差信號確定為三路殘差信號。
可選地,將虛擬揚聲器信號和殘差信號編入碼流,包括:將這一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號;將這三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號;通過身歷聲編碼器將得到的三路身歷聲信號分別編入碼流。
可選地,將這三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號,包括:將這三路殘差信號中相關性最高的兩路殘差信號組合,以得到兩路身歷聲信號中的一路身歷聲信號;將這三路殘差信號中除相關性最高的兩路殘差信號之外的一路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號中的另一路身歷聲信號。
可選地,第一路預設單聲道信號為全零信號或全一信號,全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號;第二路預設單聲道信號為全零信號或全一信號;第一路預設單聲道信號與第二路預設單聲道信號相同或不同。
可選地,將虛擬揚聲器信號和殘差信號編入碼流,包括:通過單聲道編碼器將這一路虛擬揚聲器信號、以及這三路殘差信號中的各路殘差信號分別編入碼流。
可選地,根據當前幀的HOA信號確定當前幀的編碼方案之後,更包括:若當前幀的編碼方案為第一編碼方案,則按照第一編碼方案將該HOA信號編入碼流;若當前幀的編碼方案為第二編碼方案,則按照第二編碼方案將該HOA信號編入碼流。
可選地,根據當前幀的高階立體混響HOA信號確定當前幀的編碼方案,包括:根據該HOA信號確定當前幀的初始編碼方案,初始編碼方案為第一編碼方案或第二編碼方案;若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同,則確定當前幀的編碼方案為當前幀的初始編碼方案;若當前幀的初始編碼方案為第一編碼方案且當前幀的前一幀的初始編碼方案為第二編碼方案,或當前幀的初始編碼方案為第二編碼方案且當前幀的前一幀的初始編碼方案為第一編碼方案,則確定當前幀的編碼方案為第三編碼方案。
可選地,根據該HOA信號確定當前幀的初始編碼方案之後,更包括:將當前幀的初始編碼方案的指示資訊編入碼流。
可選地,根據當前幀的高階立體混響HOA信號確定當前幀的編碼方案之後,更包括:確定當前幀的切換標誌的值,當當前幀的編碼方案為第一編碼方案或第二編碼方案時,當前幀的切換標誌的值為第一值;當當前幀的編碼方案為第三編碼方案時,當前幀的切換標誌的值為第二值;將切換標誌的值編入碼流。也即是,用切換標誌來指示當前幀是否為切換幀。
可選地,根據當前幀的HOA信號確定當前幀的編碼方案之後,更包括:將當前幀的編碼方案的指示資訊編入碼流。
可選地,指定通道與第一編碼方案中預設的傳輸通道一致。這樣能夠保證切換幀的聽覺品質與採用第一編碼方案所編碼的音訊幀的聽覺品質相近。
第二方面,提供了一種解碼方法,該方法包括:基於碼流獲得當前幀的解碼方案,當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種;其中,第一解碼方案為基於方向音訊解碼的高階立體混響HOA解碼方案,第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,第三解碼方案為混合解碼方案;若當前幀的解碼方案為第三解碼方案,則基於碼流確定當前幀的HOA信號中指定通道的信號,指定通道為該HOA信號的所有通道中的部分通道;基於指定通道的信號,確定該HOA 信號中除指定通道之外的一個或多個剩餘通道的增益;基於指定通道的信號和該一個或多個剩餘通道的增益,確定該一個或多個剩餘通道中各個剩餘通道的信號;基於指定通道的信號和該一個或多個剩餘通道的信號,獲得當前幀的重建HOA信號。其中,混合解碼方案在解碼過程中既會使用第一解碼方案(即DirAC解碼方案)相關的技術手段,也會使用第二解碼方案(基於MP的HOA解碼方案)相關的技術手段,所以叫混合解碼方案。
在本申請實施例中,由於編碼端採用第三編碼方案編碼當前幀的HOA信號時,將指定通道的信號編入了碼流,那麼解碼端從碼流中解析出指定通道的信號,之後基於指定通道的信號重建出剩餘通道的信號,進而重建出HOA信號。也即是,採用一種折衷的方案,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
可選地,基於碼流確定當前幀的HOA信號中指定通道的信號,包括:基於碼流確定虛擬揚聲器信號和殘差信號;基於該虛擬揚聲器信號和殘差信號,確定指定通道的信號。
可選地,基於碼流確定虛擬揚聲器信號和殘差信號,包括:通過身歷聲解碼器對碼流進行解碼,以得到三路身歷聲信號;基於這三路身歷聲信號,確定一路虛擬揚聲器信號和三路殘差信號。
可選地,基於這三路身歷聲信號,確定一路虛擬揚聲器信號和三路殘差信號,包括:基於這三路身歷聲信號中的一路身歷聲信號,確定一路虛擬揚聲器信號;基於這三路身歷聲信號中的另兩路身歷聲信號,確定三路殘差信號。
可選地,基於碼流確定虛擬揚聲器信號和殘差信號,包括:通過單聲道解碼器對碼流進行解碼,以得到一路虛擬揚聲器信號和三路殘差信號。
可選地,指定通道的信號包括一階立體混響FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號;基於虛擬揚聲器信號和殘差信號,確定指定通道的信號,包括:基於該虛擬揚聲器信號,確定W信號;基於該殘差信號與W信號確定X信號、Y信號和Z信號,或者,基於該殘差信號確定X信號、Y信號和Z信號。
可選地,該方法更包括:若當前幀的解碼方案為第一解碼方案,則按照第一解碼方案,根據碼流獲得當前幀的重建HOA信號;若當前幀的解碼方案為第二解碼方案,則按照第二解碼方案,根據碼流獲得當前幀的重建HOA信號。
可選地,按照第二解碼方案,根據碼流獲得當前幀的重建HOA信號,包括:按照第二解碼方案,根據碼流獲得初始HOA信號;若當前幀的前一幀的解碼方案為第三解碼方案,則根據當前幀的前一幀的高階增益,對初始HOA信號的高階部分進行增益調整;基於初始HOA信號的低階部分和經增益調整的高階部分,獲得重建HOA信號。也即是,通過高階增益調整,使得聽覺品質進一步地平滑過渡。
可選地,基於碼流獲得當前幀的解碼方案,包括:從碼流中解析出當前幀的切換標誌的值;若切換標誌的值為第一值,則從碼流中解析當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案或第二解碼方案;若切換標誌的值為第二值,確定當前幀的解碼方案為第三解碼方案。
可選地,基於碼流獲得當前幀的解碼方案,包括:從碼流中解析出當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案、第二解碼方案或第三解碼方案。
可選地,基於碼流獲得當前幀的解碼方案,包括:從碼流中解析出當前幀的初始解碼方案,初始解碼方案為第一解碼方案或第二解碼方案;若當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案相同,則確定當前幀的解碼方案為當前幀的初始解碼方案;若當前幀的初始解碼方案為第一解碼方案且當前幀的前一幀的初始解碼方案為第二解碼方案,或當前幀的初始解碼方案為第二解碼方案且當前幀的前一幀的初始解碼方案為第一解碼方案,則確定當前幀的解碼方案為第三解碼方案。
協力廠商面,提供了一種編碼裝置,所述編碼裝置具有實現上述第一方面中編碼方法行為的功能。所述編碼裝置包括一個或多個模組,該一個或多個模組用於實現上述第一方面所提供的編碼方法。
也即是,提供了一種編碼裝置,該裝置包括:第一確定模組,用於根據當前幀的高階立體混響HOA信號確定當前幀的編碼方案,當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種;其中,第一編碼方案為基於方向音訊編碼的HOA編碼方案,第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案,第三編碼方案為混合編碼方案;第一編碼模組,用於若當前幀的編碼方案為第三編碼方案,則將HOA信號中指定通道的信號編入碼流,指定通道為HOA信號的所有通道中的部分通道。
可選地,指定通道的信號包括一階立體混響FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。
可選地,第一編碼模組包括:第一確定子模組,用於基於W信號、X信號、Y信號和Z信號,確定虛擬揚聲器信號和殘差信號;編碼子模組,用於將該虛擬揚聲器信號和殘差信號編入碼流。
可選地,第一確定子模組用於:將W信號確定為一路虛擬揚聲器信號;基於W信號、X信號、Y信號和Z信號確定三路殘差信號,或者,將X信號、Y信號和Z信號確定為三路殘差信號。
可選地,編碼子模組用於:將這一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號;將這三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號;通過身歷聲編碼器將得到的三路身歷聲信號分別編入碼流。
可選地,編碼子模組用於:將這三路殘差信號中相關性最高的兩路殘差信號組合,以得到兩路身歷聲信號中的一路身歷聲信號;將這三路殘差信號中除相關性最高的兩路殘差信號之外的一路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號中的另一路身歷聲信號。
可選地,第一路預設單聲道信號為全零信號或全一信號,全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號;第二路預設單聲道信號為全零信號或全一信號;第一路預設單聲道信號與第二路預設單聲道信號相同或不同。
可選地,編碼子模組用於:通過單聲道編碼器將這一路虛擬揚聲器信號、以及這三路殘差信號中的各路殘差信號分別編入碼流。
可選地,該裝置更包括:第二編碼模組,用於若當前幀的編碼方案為第一編碼方案,則按照第一編碼方案將該HOA信號編入碼流;第三編碼模組,用於若當前幀的編碼方案為第二編碼方案,則按照第二編碼方案將該HOA信號編入碼流。
可選地,第一確定模組包括:第二確定子模組,用於根據該HOA信號確定當前幀的初始編碼方案,初始編碼方案為第一編碼方案或第二編碼方案;第三確定子模組,用於若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同,則確定當前幀的編碼方案為當前幀的初始編碼方案;第四確定子模組,用於若當前幀的初始編碼方案為第一編碼方案且當前幀的前一幀的初始編碼方案為第二編碼方案,或當前幀的初始編碼方案為第二編碼方案且當前幀的前一幀的初始編碼方案為第一編碼方案,則確定當前幀的編碼方案為第三編碼方案。
可選地,該裝置更包括:第四編碼模組,用於將當前幀的初始編碼方案的指示資訊編入碼流。
可選地,該裝置更包括:第二確定模組,用於確定當前幀的切換標誌的值,當當前幀的編碼方案為第一編碼方案或第二編碼方案時,當前幀的切換標誌的值為第一值;當當前幀的編碼方案為第三編碼方案時,當前幀的切換標誌的值為第二值;第五編碼模組,用於將該切換標誌的值編入碼流。
可選地,該裝置更包括:第六編碼模組,用於將當前幀的編碼方案的指示資訊編入碼流。
可選地,指定通道與第一編碼方案中預設的傳輸通道一致。
第四方面,提供了一種解碼裝置,所述解碼裝置具有實現上述第二方面中解碼方法行為的功能。所述解碼裝置包括一個或多個模組,該一個或多個模組用於實現上述第二方面所提供的解碼方法。
也即是,提供了一種解碼裝置,該裝置包括:第一獲得模組,用於基於碼流獲得當前幀的解碼方案,當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種;其中,第一解碼方案為基於方向音訊解碼的高階立體混響HOA解碼方案,第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,第三解碼方案為混合解碼方案;第一確定模組,用於若當前幀的解碼方案為第三解碼方案,則基於碼流確定當前幀的HOA信號中指定通道的信號,指定通道為HOA信號的所有通道中的部分通道;第二確定模組,用於基於指定通道的信號,確定HOA 信號中除指定通道之外的一個或多個剩餘通道的增益;第三確定模組,用於基於指定通道的信號和該一個或多個剩餘通道的增益,確定該一個或多個剩餘通道中各個剩餘通道的信號;第二獲得模組,用於基於指定通道的信號和該一個或多個剩餘通道的信號,獲得當前幀的重建HOA信號。
可選地,第一確定模組包括:第一確定子模組,用於基於碼流確定虛擬揚聲器信號和殘差信號;第二確定子模組,用於基於該虛擬揚聲器信號和殘差信號,確定指定通道的信號。
可選地,第一確定子模組用於:通過身歷聲解碼器對碼流進行解碼,以得到三路身歷聲信號;基於這三路身歷聲信號,確定一路虛擬揚聲器信號和三路殘差信號。
可選地,第一確定子模組用於:基於這三路身歷聲信號中的一路身歷聲信號,確定一路虛擬揚聲器信號;基於這三路身歷聲信號中的另兩路身歷聲信號,確定三路殘差信號。
可選地,第一確定子模組用於:通過單聲道解碼器對碼流進行解碼,以得到一路虛擬揚聲器信號和三路殘差信號。
可選地,指定通道的信號包括一階立體混響FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號;第一確定子模組用於:基於該虛擬揚聲器信號,確定W信號;基於該殘差信號與W信號確定X信號、Y信號和Z信號,或者,基於該殘差信號確定X信號、Y信號和Z信號。
可選地,該裝置更包括:第一解碼模組,用於若當前幀的解碼方案為第一解碼方案,則按照第一解碼方案,根據碼流獲得當前幀的重建HOA信號;第二解碼模組,用於若當前幀的解碼方案為第二解碼方案,則按照第二解碼方案,根據碼流獲得當前幀的重建HOA信號。
可選地,第二解碼模組包括:第一獲得子模組,用於按照第二解碼方案,根據碼流獲得初始HOA信號;增益調整子模組,用於若當前幀的前一幀的解碼方案為第三解碼方案,則根據當前幀的前一幀的高階增益,對初始HOA信號的高階部分進行增益調整;第二獲得子模組,用於基於初始HOA信號的低階部分和經增益調整的高階部分,獲得重建HOA信號。
可選地,第一獲得模組包括:第一解析子模組,用於從碼流中解析出當前幀的切換標誌的值;第二解析子模組,用於若該切換標誌的值為第一值,則從碼流中解析當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案或第二解碼方案;第三確定子模組,用於若該切換標誌的值為第二值,確定當前幀的解碼方案為第三解碼方案。
可選地,第一獲得模組包括:第三解析子模組,用於從碼流中解析出當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案、第二解碼方案或第三解碼方案。
可選地,第一獲得模組包括:第四解析子模組,用於從碼流中解析出當前幀的初始解碼方案,初始解碼方案為第一解碼方案或第二解碼方案;第四確定子模組,用於若當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案相同,則確定當前幀的解碼方案為當前幀的初始解碼方案;第五確定子模組,用於若當前幀的初始解碼方案為第一解碼方案且當前幀的前一幀的初始解碼方案為第二解碼方案,或當前幀的初始解碼方案為第二解碼方案且當前幀的前一幀的初始解碼方案為第一解碼方案,則確定當前幀的解碼方案為第三解碼方案。
第五方面,提供了一種編碼端設備,所述編碼端設備包括處理器和記憶體,所述記憶體用於儲存執行上述第一方面所提供的編碼方法的程式,以及儲存用於實現上述第一方面所提供的編碼方法所涉及的資料。所述處理器被配置為用於執行所述記憶體中儲存的程式。所述存放裝置的操作裝置還可以包括通信匯流排,該通信匯流排用於該處理器與記憶體之間建立連接。
第六方面,提供了一種解碼端設備,所述解碼端設備包括處理器和記憶體,所述記憶體用於儲存執行上述第二方面所提供的解碼方法的程式,以及儲存用於實現上述第二方面所提供的解碼方法所涉及的資料。所述處理器被配置為用於執行所述記憶體中儲存的程式。所述存放裝置的操作裝置還可以包括通信匯流排,該通信匯流排用於該處理器與記憶體之間建立連接。
第七方面,提供了一種電腦可讀取儲存媒體,所述電腦可讀取儲存媒體中儲存有指令,當該指令在電腦上運行時,使得電腦執行上述第一方面所述的編碼方法或第二方面所述的解碼方法。
第八方面,提供了一種包含指令的電腦程式產品,當其在電腦上運行時,使得電腦執行上述第一方面所述的編碼方法或第二方面所述的解碼方法。
上述協力廠商面、第四方面、第五方面、第六方面、第七方面和第八方面所獲得的技術效果與第一方面或第二方面中對應的技術手段獲得的技術效果近似,在這裡不再贅述。
本申請實施例提供的技術方案至少能夠帶來以下有益效果:在本申請實施例中,結合兩個方案(即基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案)對音訊幀的HOA信號進行編解碼,也即針對不同的音訊幀選擇合適的編解碼方案,這樣能夠提升音訊信號的壓縮率。同時,為了使得在不同編解碼方案之間切換時聽覺品質的平滑過渡,本方案中對於某些音訊幀來說,並非直接採用上述兩個方案中的任一個方案進行編解碼,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
為使本申請實施例的目的、技術方案和優點更加清楚,下面將結合附圖對本申請實施方式作進一步地詳細描述。
在對本申請實施例提供的編解碼方法進行詳細地解釋說明之前,先對本申請實施例涉及的實施環境進行介紹。
請參考圖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中的每一者都可以包括在一個或多個編碼器或解碼器中,所述編碼器或所述解碼器中的任一者可以整合為相應裝置中的組合編碼器/解碼器(編碼解碼器)的一部分。
本申請實施例可大體上將編碼器100稱為將某些資訊「發信號通知」或「發送」到例如解碼器200的另一裝置。術語「發信號通知」或「發送」可大體上指代用於對經壓縮的媒體資料進行解碼的語法元素和/或其它資料的傳送。此傳送可即時或幾乎即時地發生。替代地,此通信可經過一段時間後發生,例如可在編碼時在經編碼位元流中將語法元素儲存到電腦可讀取儲存媒體時發生,解碼裝置接著可在所述語法元素儲存到此媒體之後的任何時間檢索所述語法元素。
本申請實施例提供的編解碼方法可以應用於多種場景,接下來以待編碼的媒體資料為HOA信號為例,對其中的幾種場景分別進行介紹。
請參考圖2,圖2是本申請實施例提供的一種編解碼方法應用於終端場景的實施環境的示意圖。該實施環境包括第一終端101和第二終端201,第一終端101與第二終端201進行通信連接。該通信連接可以為無線連接,也可以為有線連接,本申請實施例對此不做限定。
其中,第一終端101可以為發送端設備,也可以為接收端設備,同理,第二終端201可以為接收端設備,也可以為發送端設備。例如,在第一終端101為發送端設備的情況下,第二終端201為接收端設備,在第一終端101為接收端設備的情況下,第二終端201為發送端設備。
接下來以第一終端101為發送端設備,第二終端201為接收端設備為例進行介紹。
第一終端101和第二終端201均包括音訊採集模組、音訊重播模組、編碼器、解碼器、通道編碼模組和通道解碼模組。在本申請實施例中,該編碼器為一種三維音訊編碼器,該解碼器為一種三維音訊解碼器。
第一終端101中的音訊採集模組採集HOA信號並傳輸給編碼器,編碼器利用本申請實施例提供的編碼方法對HOA信號進行編碼,該編碼可以稱為信源編碼。之後,為了實現HOA信號在通道中的傳輸,通道編碼模組還需要再進行通道編碼,然後將編碼得到的碼流通過無線或者有線網路通信設備在數位通道中傳輸。
第二終端201通過無線或者有線網路通信設備接收數位通道中傳輸的碼流,通道解碼模組對碼流進行通道解碼,然後解碼器利用本申請實施例提供的解碼方法解碼得到HOA信號,再通過音訊重播模組進行播放。
其中,第一終端101和第二終端201可以是任何一種可與使用者通過鍵盤、觸控板、觸控式螢幕、遙控器、語音交互或手寫設備等一種或多種方式進行人機交互的電子產品,例如個人電腦(personal computer,PC)、手機、智慧手機、個人數位助手(personal digital assistant,PDA)、可穿戴設備、掌上型電腦PPC(pocket PC)、平板電腦、智慧車用裝置、智慧電視、智慧音箱等。
本領域技術人員應能理解上述終端僅為舉例,其他現有的或今後可能出現的終端如可適用於本申請實施例,也應包含在本申請實施例保護範圍以內,並在此以引用方式包含於此。
請參考圖3,圖3是本申請實施例提供的一種編解碼方法應用於無線或核心網設備的轉碼場景的實施環境的示意圖。該實施環境包括通道解碼模組、音訊解碼器、音訊編碼器和通道編碼模組。在本申請實施例中,該音訊編碼器為一種三維音訊編碼器,該音訊解碼器為一種三維音訊解碼器。
其中,音訊解碼器可以為利用本申請實施例提供的解碼方法的解碼器,也可以為利用其他解碼方法的解碼器。音訊編碼器可以為利用本申請實施例提供的編碼方法的編碼器,也可以為利用其他編碼方法的編碼器。在音訊解碼器為利用本申請實施例提供的解碼方法的解碼器的情況下,音訊編碼器為利用其他編碼方法的編碼器,在音訊解碼器為利用其他解碼方法的解碼器的情況下,音訊編碼器為利用本申請實施例提供的編碼方法的編碼器。
第一種情況,音訊解碼器為利用本申請實施例提供的解碼方法的解碼器,音訊編碼器為利用其他編碼方法的編碼器。
此時,通道解碼模組用於對接收的碼流進行通道解碼,然後音訊解碼器用於利用本申請實施例提供的解碼方法進行信源解碼,再通過音訊編碼器按照其他編碼方法進行編碼,實現一種格式到另一種格式的轉換,即轉碼。之後,再通過通道編碼後發送。
第二種情況,音訊解碼器為利用其他解碼方法的解碼器,音訊編碼器為利用本申請實施例提供的編碼方法的編碼器。
此時,通道解碼模組用於對接收的碼流進行通道解碼,然後音訊解碼器用於利用其他解碼方法進行信源解碼,再通過音訊編碼器利用本申請實施例提供的編碼方法進行編碼,實現一種格式到另一種格式的轉換,即轉碼。之後,再通過通道編碼後發送。
其中,無線設備可以為無線接入點、無線路由器、無線連接器等等。核心網設備可以為移動性管理實體、閘道等等。
本領域技術人員應能理解上述無線設備或者核心網設備僅為舉例,其他現有的或今後可能出現的無線或核心網設備如可適用於本申請實施例,也應包含在本申請實施例保護範圍以內,並在此以引用方式包含於此。
請參考圖4,圖4是本申請實施例提供的一種編解碼方法應用於廣播電視場景的實施環境的示意圖。廣播電視場景分為直播場景和後期製作場景。對於直播場景來說,該實施環境包括直播節目三維聲製作模組、三維聲編碼模組、機上盒和揚聲器組,機上盒包括三維聲解碼模組。對於後期製作場景來說,該實施環境包括後期節目三維聲製作模組、三維聲編碼模組、網路接收器、移動終端、耳機等。
直播場景下,直播節目三維聲製作模組製作出三維聲信號(如HOA信號),該三維聲信號經過應用本申請實施例的編碼方法得到碼流,該碼流經廣電網路傳輸到使用者側,由機上盒中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由揚聲器組進行重播。或者,該碼流經互聯網傳輸到使用者側,由網路接收器中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由揚聲器組進行重播。又或者,該碼流經互聯網傳輸到使用者側,由移動終端中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由耳機進行重播。
後期製作場景下,後期節目三維聲製作模組製作出三維聲信號,該三維聲信號經過應用本申請實施例的編碼方法得到碼流,該碼流經廣電網路傳輸到使用者側,由機上盒中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由揚聲器組進行重播。或者,該碼流經互聯網傳輸到使用者側,由網路接收器中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由揚聲器組進行重播。又或者,該碼流經互聯網傳輸到使用者側,由移動終端中的三維聲解碼模組利用本申請實施例提供的解碼方法對碼流進行解碼,從而重建三維聲信號,由耳機進行重播。
請參考圖5,圖5是本申請實施例提供的一種編解碼方法應用於虛擬實境流場景的實施環境的示意圖。該實施環境包括編碼端和解碼端,編碼端包括採集模組、預處理模組、編碼模組、打包模組和發送模組,解碼端包括解包模組、解碼模組、渲染模組和耳機。
採集模組採集HOA信號,然後通過預處理模組對HOA信號進行預處理操作,預處理操作包括濾除掉HOA信號中的低頻部分,通常是以20Hz或者50Hz為分界點,提取HOA信號中的方位資訊等。之後通過編碼模組,利用本申請實施例提供的編碼方法進行編碼處理,編碼之後通過打包模組進行打包,進而通過發送模組發送給解碼端。
解碼端的解包模組首先進行解包,之後通過解碼模組,利用本申請實施例提供的解碼方法進行解碼,然後通過渲染模組對解碼信號進行雙耳渲染處理,渲染處理後的信號映射到收聽者耳機上。該耳機可以為獨立的耳機,也可以是基於虛擬實境的眼鏡設備上的耳機。
需要說明的是,本申請實施例描述的系統架構以及業務場景是為了更加清楚的說明本申請實施例的技術方案,並不構成對於本申請實施例提供的技術方案的限定,本領域普通技術人員可知,隨著系統架構的演變和新業務場景的出現,本申請實施例提供的技術方案對於類似的技術問題,同樣適用。
接下來對本申請實施例提供的編解碼方法進行詳細地解釋說明。需要說明的是,結合圖1所示的實施環境,下文中的任一種編碼方法可以是源裝置10中的編碼器100執行的。下文中的任一種解碼方法可以是目的地裝置20中的解碼器200執行的。
圖6是本申請實施例提供的一種編碼方法的流程圖,該編碼方法應用於編碼端。請參考圖6,該方法包括如下步驟。
步驟601:根據當前幀的HOA信號確定當前幀的編碼方案。
對於待編碼的多個音訊幀的HOA信號來說,編碼端逐幀進行編碼。其中,音訊幀的HOA信號是通過HOA採集技術得到的音訊信號。HOA信號是一種場景音訊信號,也是一種三維音訊信號,HOA信號是指對空間中麥克風所在位置的聲場進行採集得到的音訊信號,採集得到的音訊信號稱為原始HOA信號。音訊幀的HOA信號也可以是將其他格式的三維音訊信號轉換後獲得的HOA信號。例如將5.1聲道信號轉換成HOA信號,或者將5.1聲道信號和物件音訊混合的三維音訊信號轉換成HOA信號。可選地,待編碼的音訊幀的HOA信號為時域信號或頻域信號,可以包含HOA信號的所有通道,也可以包含HOA信號的部分通道。示例性地,若音訊幀的HOA信號的階數為3,HOA信號的通道數為16,音訊幀的幀長為20ms,取樣速率為48KHz,則待編碼的音訊幀的HOA信號包含16個通道的信號,每個通道包含960個採樣點。
為了降低計算複雜度,若編碼端獲取到的音訊幀的HOA信號為原始HOA信號,原始HOA信號的採樣點數或頻點數較多,那麼編碼端可以對原始HOA信號進行下採樣,以得到待編碼的音訊幀的HOA信號。例如,編碼端對原始HOA信號進行1/Q下採樣,以降低待編碼的HOA信號的採樣點數或頻點數,如本申請實施例中原始HOA信號的每個通道包含960個採樣點,採用1/120下採樣後,得到待編碼的HOA信號的每個通道包含8個採樣點。
在本申請實施例中以編碼端對當前幀進行編碼為例,對編碼端的編碼方法進行介紹。當前幀為待編碼的一個音訊幀。也即是,編碼端獲取當前幀的HOA信號,採用本申請實施例提供的編碼方法對當前幀的HOA信號進行編碼。
需要說明的是,為了滿足對不同聲場類型下的音訊幀均有較高的壓縮率,需要根據各音訊幀的聲場類型為相應音訊幀選擇合適的編解碼方案。在本申請實施例中,編碼端先根據當前幀的HOA信號確定當前幀的初始編碼方案,初始編碼方案為第一編碼方案或第二編碼方案。編碼端再通過對比當前幀的初始編碼方案和當前幀的前一幀的初始編碼方案是否相同,來判定採用第一編碼方案、第二編碼方案還是第三編碼方案對當前幀的HOA信號進行編碼。其中,若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同,則編碼端採用與當前幀的初始編碼方案相一致的編碼方案來編碼當前幀的HOA信號。若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案不同,則編碼端採用切換幀編碼方案來編碼當前幀的HOA信號。
在本申請實施例中,當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種。其中,第一編碼方案為基於DirAC的HOA編碼方案,第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案,第三編碼方案為混合編碼方案。可選地,混合編碼方案也稱為切換幀編碼方案。第三編碼方案為本申請實施例提供的一種切換幀編碼方案,第三編碼方案為了在不同的編解碼方案之間切換時聽覺品質的平滑過渡。本申請實施例將會在下文對這三種編碼方案進行詳細介紹。在本申請實施例中,基於虛擬揚聲器選擇的HOA編碼方案也稱為基於MP的HOA編碼方案。
在本申請實施例中,編碼端根據當前幀的HOA信號確定當前幀的初始編碼方案。然後,編碼端基於當前幀的初始編碼方案和當前幀的前一幀的初始編碼方案,確定當前幀的編碼方案。需要說明的是,本申請實施例不限定編碼端確定初始編碼方案的實現方式。
可選地,編碼端對當前幀的HOA信號進行聲場類型分析,以得到當前幀的聲場分類結果,基於當前幀的聲場分類結果,確定當前幀的初始編碼方案。需要說明的是,本申請實施例不限定聲場類型分析的方法,例如編碼端通過對當前幀的HOA信號進行奇異值分解以進行聲場類型分析,或者對該HOA信號進行其他的線性分解以進行聲場類型分析。
可選地,聲場分類結果包括相異性聲源數量。以編碼端對當前幀的HOA信號直接進行聲場類型分析為例,編碼端對當前幀的HOA信號進行聲場類型分析,以得到當前幀的聲場分類結果的一種實現方式為:編碼端對當前幀的HOA信號進行奇異值分解,得到M個奇異值。編碼端計算該M個奇異值中的第i個奇異值與第i+1個奇異值的比值,以得到M-1個聲場分類參數。其中,i=1,2,…,M。編碼端基於該M-1個聲場分類參數,確定當前幀對應的相異性聲源數量。其中,M=min(L,K),L表示當前幀的HOA信號的通道數量,K表示當前幀的HOA信號的每個通道的信號點數,min表示取最小值運算。若HOA信號為時域信號,則信號點數為採樣點數,若HOA信號為頻域信號,則信號點數為頻點數。
可選地,假設該M-1個聲場類型參數為temp[i],i=0,1,…,M-2,編碼端基於該M-1個聲場分類參數,確定當前幀對應的相異性聲源數量的一種實現方式為:從i=0開始依次執行如下流程:判斷temp[i]是否大於預設的相異性聲源判定閾值,若本輪流程中temp[i]小於該相異性聲源判定閾值,則更新i的取值為i+1,繼續執行下輪流程,若本輪流程中temp[i]大於或等於該相異性聲源判定閾值,則確定當前幀對應的相異性聲源數量等於i+1,結束流程。可選地,相異性聲源判定閾值為30、80或100等,相異性聲源判定閾值為預設的值,可以根據經驗或通過統計進行預設。
相應地,在一種實現方式中,在確定當前幀對應的相異性聲源數量之後,若當前幀對應的相異性聲源數量大於第一閾值且小於第二閾值,則編碼端確定當前幀的初始編碼方案為第二編碼方案。若當前幀對應的相異性聲源數量不大於第一閾值或不小於第二閾值,則編碼端確定當前幀的初始編碼方案為第一編碼方案。其中,第一閾值小於第二閾值。可選地,第一閾值為0或其他值,第二閾值為3或其他值。前述第一閾值、第二閾值為預設的值,可以根據經驗或通過統計進行預設。
示例性地,假設當前幀的HOA信號的通道數量L=16,每個通道的頻點數K=8,min(L,K)=8。那麼,編碼端對當前幀的HOA信號進行奇異值分解,得到奇異值v[i],i=0,1,…,min(L,K)-1。編碼端計算相鄰奇異值之間的比值,將得到的比值作為當前幀的聲場分類結果temp[i],temp[i]=v[i]/v[i+1],i=0,1,…,min(L,K)-2。假設相異性聲源判定閾值為100,確定相異性聲源數量n的過程如下:從i=0開始,判斷temp[i]是否大於或等於100,若temp[i]大於或等於100,即滿足temp[i]≥100,則停止判斷;否則i=i+1,繼續判斷。若停止判斷,則停止判斷時的序號i加上1等於當前幀對應的相異性聲源數量n。例如,i=0時,若temp[0]≥100,則停止判斷,相異性聲源數量n等於1;否則令i=1,繼續判斷i=1;當i=1時,temp[1]≥100,則停止判斷,相異性聲源數量n等於i+1=2。假設第一閾值為0,第二閾值為3,則若當前幀對應的相異性聲源數量n滿足0<n<3,則編碼端確定當前幀的初始編碼方案為第二編碼方案。若當前幀對應的相異性聲源數量n滿足n=0或n≥3,則編碼端確定當前幀的初始編碼方案為第一編碼方案。
可選地,聲場分類結果包括聲場類型,聲場類型分為彌散性聲場和相異性聲場。聲場類型可以根據前述方法得到的相異性聲源數量來確定,即,編碼端基於當前幀對應的相異性聲源數量確定當前幀的聲場類型。例如,若當前幀對應的相異性聲源數量大於第一閾值且小於第二閾值,則編碼端確定當前幀的聲場類型為相異性聲場。若當前幀對應的相異性聲源數量不大於第一閾值或不小於第二閾值,則編碼端確定當前幀的聲場類型為彌散性聲場。相應地,若當前幀的聲場類型為相異性聲場,則編碼端確定當前幀的初始編碼方案為第二編碼方案,即基於MP的HOA編碼方案。若當前幀的聲場類型為彌散性聲場類型,則編碼端確定當前幀的初始編碼方案為第一編碼方案,即基於DirAC的HOA編碼方案。
在一些實施例中,通過上述實現方式確定各個音訊幀(包括當前幀)的初始編碼方案之後,可能會出現各個音訊幀的初始編碼方案來回切換的情況,也即最終需要編碼的切換幀較多。由於編碼方案之間的切換帶來的問題較多,即需要解決的問題較多,那麼可以通過減少切換幀的數量來減少切換帶來的問題。為了減少切換幀的數量,編碼端可以先根據當前幀的聲場分類結果,確定當前幀的預計編碼方案,即編碼端將按照前述方法確定的初始編碼方案作為預計編碼方案。然後,編碼端採用滑動窗的方法基於預計編碼方案更新當前幀的初始編碼方案,如編碼端通過hangover處理來更新當前幀的初始編碼方案。
可選地,假設滑動窗的長度為N,滑動窗內包含當前幀的預計編碼方案以及當前幀的前N-1幀的已更新的初始編碼方案。若滑動窗內第二編碼方案的個數累計不小於第一指定閾值,則編碼端將當前幀的初始編碼方案更新為第二編碼方案。若滑動窗內第二編碼方案的個數累計小於第一指定閾值,則編碼端將當前幀的初始編碼方案更新為第一編碼方案。其中,滑動窗的長度N為8、10、15等,第一指定閾值為5、6、7等值,本申請實施例對滑動窗的長度和第一指定閾值的取值不作限定。舉例說明如下,假設滑動窗的長度為10,第一指定閾值為7,滑動窗內包含當前幀的預計編碼方案以及當前幀的前9幀的已更新的初始編碼方案,如果滑動窗內第二編碼方案的個數累計到不小於7,則編碼端將當前幀的初始編碼方案確定為第二編碼方案,如果滑動窗內第二編碼方案的個數累計小於7,則編碼端將當前幀的初始編碼方案更新為第一編碼方案。
或者,若滑動窗內第一編碼方案的個數累計不小於第二指定閾值,則編碼端將當前幀的初始編碼方案更新為第一編碼方案。若滑動窗內第一編碼方案的個數累計小於第二指定閾值,則編碼端將當前幀的初始編碼方案更新為第二編碼方案。其中,第二指定閾值為5、6、7等值,本申請實施例對第二指定閾值的取值不作限定。可選地,第二指定閾值與上述第一指定閾值不同或相同。
除了上述介紹的一些實現方式之外,編碼端也可以採用其他的方法來得到當前幀的聲場分類結果,基於聲場分類結果確定初始編碼方案的方法也可以採用其他的方法,本申請實施例對此不作限定。
在本申請實施例中,編碼端確定當前幀的初始編碼方案之後,若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同,則編碼端確定當前幀的編碼方案為當前幀的初始編碼方案。若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案不同,則編碼端確定當前幀的編碼方案為第三編碼方案。也即是,若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同且為第一編碼方案,則編碼端確定當前幀的編碼方案為第一編碼方案。若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同且為第二編碼方案,則編碼端確定當前幀的編碼方案為第二編碼方案。若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案中的一個為第一編碼方案,另一個為第二編碼方案,則編碼端確定當前幀的編碼方案為第三編碼方案。其中,當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案中的一個為第一編碼方案,另一個為第二編碼方案,即,當前幀的初始編碼方案為第一編碼方案且當前幀的前一幀的初始編碼方案為第二編碼方案,或者,當前幀的初始編碼方案為第二編碼方案且當前幀的前一幀的初始編碼方案為第一編碼方案。也即是,對於切換幀來說,編碼端既不採用第一編碼方案也不採用第二編碼方案來編碼切換幀的HOA信號,而是將採用切換幀編碼方案來編碼切換幀的HOA信號。對於非切換幀來說,編碼端將採用與非切換幀的初始編碼方案相一致的編碼方案來編碼切換幀的HOA信號。其中,初始編碼方案與前一幀的初始編碼方案不同的音訊幀為切換幀,初始編碼方案與前一幀的初始編碼方案相同的音訊幀為非切換幀。
需要說明的是,編碼端除了確定當前幀的編碼方案之外,還需將能夠指示當前幀的編碼方案的資訊編入碼流,以便於解碼端確定採用哪個解碼方案來解碼當前幀的碼流。在本申請實施例中,編碼端將能夠指示當前幀的編碼方案的資訊編入碼流的實現方式有多種,接下來介紹其中的三種實現方式。
第一種實現方式、編碼切換標誌以及兩種編碼方案的指示資訊
在該實現方式中,編碼端需要確定當前幀的切換標誌的值,將當前幀的切換標誌的值編入碼流。其中,當當前幀的編碼方案為第一編碼方案或第二編碼方案時,當前幀的切換標誌的值為第一值。當當前幀的編碼方案為第三編碼方案時,當前幀的切換標誌的值為第二值。可選地,第一值為「0」,第二值為「1」,第一值和第二值也可以為其他的值。
另外,編碼端將當前幀的初始編碼方案的指示資訊編入碼流。或者,若當前幀的切換標誌的值為第一值,則編碼端將當前幀的初始編碼方案的指示資訊編入碼流,若當前幀的切換標誌的值為第二值,則編碼端將預設指示資訊編入碼流。
可選地,初始編碼方案的指示資訊以與初始編碼方案相對應的編碼模式(coding mode)來表示,即,以編碼模式作為指示資訊。例如,與初始編碼方案相對應的編碼模式為初始編碼模式,初始編碼模式為第一編碼模式(即DirAC模式)或第二編碼模式(即MP模式)。可選地,預設指示資訊為預設編碼模式,預設編碼模式為第一編碼模式或第二編碼模式。在其他一些實施例中,預設指示資訊為其他編碼模式,也即不限定編入碼流的切換幀的編碼方案的指示資訊具體是什麼。
也即是,在該第一種實現方式中,編碼端以切換標誌來指示切換幀,且可以不限定編入碼流的切換幀的編碼方案的指示資訊,切換幀的編碼方案的指示資訊可以為初始編碼模式,也可以為預設編碼模式,也可以從第一編碼模式和第二編碼模式中隨機選定,也可以是其他的指示資訊。需要說明的是,在這種實現方式中,用切換標誌來指示當前幀是否為切換幀,這樣,解碼端即能夠直接通過獲取碼流中的切換標誌來確定當前幀是否為切換幀。
可選地,在該第一種實現方式中,當前幀的切換標誌和初始編碼方案的指示資訊各佔碼流的一個比特位元。示例性地,當前幀的切換標誌的值為「0」或「1」,其中,切換標誌的值為「0」指示當前幀不是切換幀,即當前幀的切換標誌的值為第一值。切換標誌為「1」指示當前幀是切換幀,即當前幀的切換標誌的值為第二值。可選地,初始編碼方案的指示資訊為「0」或「1」,其中,「0」表示DirAC模式(即DirAC編碼方案),「1」表示MP模式(即基於MP的編碼方案)。
在其他一些實施例中,若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案不同,則編碼端確定當前幀的切換標誌的值為第二值,將當前幀的切換標誌的值編入碼流。也即是,對於切換幀來說,由於碼流中切換標誌即能夠指示切換幀,因此無需編碼切換幀的編碼方案的指示資訊。
第二種實現方式、編碼兩種編碼方案的指示資訊
在該實現方式中,編碼端將當前幀的初始編碼方案的指示資訊編入碼流。以編碼模式作為指示資訊為例,編入碼流的指示資訊實質上是與初始編碼方案相一致的編碼模式,即初始編碼模式,初始編碼模式為第一編碼模式或第二編碼模式。另外,編碼端可以不編碼切換標誌。
可選地,在該第一種實現方式中,初始編碼方案的指示資訊佔碼流的一個比特位元。示例性地,以編碼模式作為指示資訊為例,編入碼流的編碼模式為「0」或「1」,其中,「0」表示DirAC模式,指示當前幀的初始編碼方案為第一編碼方案,「1」表示MP模式,指示當前幀的初始編碼方案為第二編碼方案。
第三種實現方式、編碼三種編碼方案的指示資訊
在該實現方式中,編碼端將當前幀的編碼方案的指示資訊編入碼流。以編碼模式作為指示資訊為例,編入碼流的指示資訊實質上是與當前幀的編碼方案相一致的編碼模式,與當前幀的編碼方案相一致的編碼模式為實際編碼模式,實際編碼模式即第一編碼模式、第二編碼模式或第三編碼模式。可選地,第三編碼模式為MP-W模式。
可選地,在該第三種實現方式中,當前幀的編碼方案的指示資訊佔碼流的兩個比特位元。示例性地,當前幀的編碼方案的指示資訊為「00」、「01」或「10」。其中,「00」指示當前幀的編碼方案為第一編碼方案,「01」指示當前幀的編碼方案為第二編碼方案,「10」指示當前幀的編碼方案為第三編碼方案。
由上述可知,在上述第一種實現方式中,編碼端確定當前幀的初始編碼方案之後,確定切換標誌的值,將切換標誌的值編入碼流。另外,將當前幀的初始編碼方案的指示資訊編入碼流,或者,若當前幀為切換幀,則編碼端將預設指示資訊編入碼流,若當前幀為非切換幀,則編碼端將當前幀的初始編碼方案的指示資訊編入碼流。在上述第二種實現方式中,編碼端確定當前幀的初始編碼方案之後,直接將當前幀的初始編碼方案的指示資訊編入碼流。在上述第三種實現方式中,編碼端確定當前幀的初始編碼方案之後,基於當前幀的初始編碼方案和當前幀的前一幀的初始編碼方案,確定當前幀的編碼方案,將當前幀的編碼方案的指示資訊編入碼流。
步驟602:若當前幀的編碼方案為第三編碼方案,則將該HOA信號中指定通道的信號編入碼流,指定通道為該HOA信號的所有通道中的部分通道。
在本申請實施例中,若當前幀的編碼方案為第三編碼方案,表示當前幀為切換幀,則編碼端按照第三編碼方案(即混合編碼方案)對當前幀的HOA信號進行編碼。對應於上述步驟601中的第一種實現方式,若當前幀的切換標誌的值為第二值,表示當前幀為切換幀。對應於上述步驟601中的第二種實現方式,若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案不同,表示當前幀為切換幀。對應於上述步驟601中的第三種實現方式,若當前幀的編碼方案為第三編碼方案,則當前幀的編碼方案指示當前幀為切換幀。對於切換幀來說,編碼端採用第三編碼方案來編碼當前幀的HOA信號。其中,第三編碼方案指示將當前幀的HOA信號中指定通道的信號編入碼流,其中,指定通道為該HOA信號的所有通道中的部分通道。也即是,對於切換幀來說,編碼端將切換幀的HOA信號中指定通道的信號編入碼流,而非採用第一編碼方案或第二編碼方案對切換幀進行編碼,即本方案為了編碼方案切換時聽覺品質的平滑過渡,採用一種折衷的方式來編碼切換幀。
可選地,指定通道與第一編碼方案中預設的傳輸通道一致,即指定通道為預設通道。也即是,在第三編碼方案與第二編碼方案不同的前提下,為了使得第三編碼方案與第二編碼方案的編碼效果相接近,編碼端將切換幀的HOA信號中與第一編碼方案中預設的傳輸通道相同的通道的信號編入碼流,從而使得聽覺品質盡可能地平滑過渡。需要說明的是,根據編碼頻寬、碼率的不同,甚至是應用場景的不同,可以分別預設不同的傳輸通道。可選地,不同的編碼頻寬、碼率或應用場景下,預設的傳輸通道也可以相同。
可選地,指定通道的信號包括FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。也即是,指定通道包括FOA通道,FOA通道的信號為低階信號,即,若當前幀為切換幀,則編碼端將當前幀的HOA信號的低階部分編入碼流,低階部分即包括FOA通道的W信號、X信號、Y信號和Z信號。
需要說明的是,在本申請實施例中,編碼端將HOA信號中指定通道的信號編入碼流的實現方式有很多,能將指定通道的信號編入碼流即可。接下來介紹其中的一些實現方式。
在本申請實施例中,若指定通道包括FOA通道,則編碼端基於W信號、X信號、Y信號和Z信號,確定虛擬揚聲器信號和殘差信號,將虛擬揚聲器信號和殘差信號編入碼流。
可選地,編碼端將W信號確定為一路虛擬揚聲器信號,基於W信號、X信號、Y信號和Z信號確定三路殘差信號,或者,將X信號、Y信號和Z信號確定為三路殘差信號。可選地,編碼端將W信號、X信號、Y信號和Z信號中任意三路信號與剩餘一路信號之間的差信號確定為三路殘差信號。例如,編碼端將X信號、Y信號和Z信號分別與W信號之間的差信號確定為三路殘差信號。示例性地,編碼端將X-W、Y-W、Z-W分別得到的差信號X’、Y’、Z’作為三路殘差信號。
若編碼端使用核心編碼器對當前幀進行編碼,核心編碼器為身歷聲編碼器,由於所確定的一路虛擬揚聲器信號和三路殘差信號都是單聲道信號,因此,編碼端需要先基於這些單聲道信號組合出身歷聲信號,進而使用身歷聲編碼器進行編碼。可選地,編碼端將該一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號,將該三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號。編碼端通過身歷聲編碼器將得到的三路身歷聲信號分別編入碼流。
其中,本申請實施例不限定編碼端將該三路殘差信號與一路預設單聲道信號組合,以得到兩路身歷聲信號的具體組合方式。可選地,編碼端將該三路殘差信號中相關性最高的兩路殘差信號組合,以得到該兩路身歷聲信號中的一路身歷聲信號,將該三路殘差信號中除相關性最高的兩路殘差信號之外的一路殘差信號與第二路預設單聲道信號組合,以得到該兩路身歷聲信號中的另一路身歷聲信號。也即是,編碼端根據信號的相關性來組合得到身歷聲信號。在其他一些實施例中,編碼端也可以將該三路殘差信號中的任意兩路殘差信號組合,以得到這兩路身歷聲信號中的一路身歷聲信號,將剩餘一路殘差信號與第二路預設單聲道信號組合,以得到該兩路身歷聲信號中的另一路身歷聲信號。
可選地,本申請實施例中的第一路預設單聲道信號為全零信號或全一信號,第二路預設單聲道信號為全零信號或全一信號。可選地,第一路預設單聲道信號與第二路預設單聲道信號相同或不同,即,第一路預設單聲道信號與第二路預設單聲道信號均為全零信號或全一信號,或者,第一路預設單聲道信號為全零信號且第二路預設單聲道信號為全一信號,或者,第一路預設單聲道信號為全一信號且第二路預設單聲道信號為全零信號。其中,全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號。其中,若HOA信號為時域信號,則全零信號包括採樣點的值均為零的信號,全一信號包括採樣點的值均為一的信號。若HOA信號為頻域信號,則全零信號包括頻點的值均為零的信號,全一信號包括頻點的值均為一的信號。在其他一些實施例中,第一路預設單聲道信號和/或第二路預設單聲道信號也可以是預設的其他形式的信號。
若編碼端使用的核心編碼器為單聲道編碼器,則編碼端通過單聲道編碼器將該一路虛擬揚聲器信號、以及該三路殘差信號中的各路殘差信號分別編入碼流。
圖7是本申請實施例提供的一種切換幀編碼方案的示意圖。請參考圖7,待編碼的當前幀為切換幀,編碼端獲取當前幀的HOA信號,將該HOA信號中的W信號作為虛擬揚聲器信號,根據該HOA信號中的FOA信號確定殘差信號,如根據該HOA信號中的X、Y、Z信號確定殘差信號,或根據W信號和X、Y、Z信號確定殘差信號。編碼端通過核心編碼器將所確定的虛擬揚聲器信號和殘差信號編入碼流,以得到切換幀的碼流。
可選地,在其他實施例中,編碼端將W信號、X信號、Y信號和Z信號中的兩路信號確定為兩路虛擬揚聲器信號,將剩餘兩路信號確定為兩路殘差信號。編碼端將該兩路虛擬揚聲器信號組合,以得到一路身歷聲信號,將該兩路殘差信號組合,以得到另一路身歷聲信號。編碼端通過身歷聲編碼器將得到的兩路身歷聲信號分別編入碼流。
其中,本申請實施例不限定編碼端將W信號、X信號、Y信號和Z信號進行兩兩組合以得到兩路身歷聲信號的具體組合方式。可選地,編碼端將W信號確定為一路虛擬揚聲器信號,將X信號、Y信號和Z信號中與W信號相關性最高的一路信號確定為另一路虛擬揚聲器信號,也即將FOA通道包括的四路信號中的W信號以及與W信號相關性最高的一個信號進行組合,將剩餘兩路信號進行組合。或者,編碼端將W信號、X信號、Y信號和Z信號中的任意兩路信號進行組合,以得到一路身歷聲信號,將剩餘兩路信號進行組合,以得到另一路身歷聲信號。
需要說明的是,本申請實施例不限定編碼端採用核心編碼器編碼虛擬揚聲器信號和殘差信號的具體實現方式,例如不限定虛擬揚聲器信號和殘差信號分別對應的編碼比特數等。
以上介紹了當前幀為切換幀的情況下,編碼端對當前幀編碼的過程,也即編碼端按照第三編碼方案將切換幀的HOA信號中指定通道的信號編入碼流,第三編碼方案即切換幀編碼方案。由上述可知,在本申請實施例中,指定通道的信號可以包括W信號,W信號是HOA信號的一個核心信號,這樣,切換幀編碼方案也可稱為基於MP-W的編碼方案。接下來介紹在當前幀為非切換幀的情況下,編碼端對當前幀編碼的過程。
在本申請實施例中,若當前幀的編碼方案為第一編碼方案,則編碼端按照第一編碼方案將當前幀的HOA信號編入碼流。若當前幀的編碼方案為第二編碼方案,則編碼端按照第二編碼方案將當前幀的HOA信號編入碼流。也即是,若當前幀不是切換幀,則編碼端採用當前幀的初始編碼方案來編碼當前幀。
示例性地,參見圖8,編碼端按照第二編碼方案將當前幀的HOA信號編入碼流的實現過程為:編碼端基於MP演算法從虛擬揚聲器集合中選擇與當前幀的HOA信號匹配的目標虛擬揚聲器,基於當前幀的HOA信號和目標虛擬揚聲器,通過基於MP的空間編碼器確定虛擬揚聲器信號,基於當前幀的HOA信號和虛擬揚聲器信號通過基於MP的空間編碼器確定殘差信號,通過核心編碼器將虛擬揚聲器信號和殘差信號編入碼流。需要說明的是,基於MP的HOA編碼方案與切換幀編碼方案中確定虛擬揚聲器信號和殘差信號的原理和具體方式不同,且兩個方案所確定的虛擬揚聲器信號和殘差信號也不同。對於同一幀來說,採用基於MP的HOA編碼方案編入碼流的有效資訊會多於採用切換幀編碼方案。而本方案在切換幀編碼方案與第二編碼方案不同的前提下,為了使得切換幀編碼方案與第二編碼方案的編碼效果相接近,切換幀編碼方案也是將虛擬揚聲器信號和殘差信號編入碼流,從而使得聽覺品質盡可能地平滑過渡。
編碼端按照第一編碼方案將當前幀的HOA信號編入碼流的實現過程為:編碼端從當前幀的HOA信號中提取核心層信號和空間參數,將提取的核心層信號和空間參數編入碼流。示例性地,參見圖9,編碼端通過核心編碼信號獲取模組從當前幀的HOA信號中提取核心層信號,通過基於DirAC的空間參數提取模組從當前幀的HOA信號中提取出空間參數,通過核心編碼器將核心層信號編入碼流,通過空間參數編碼器將空間參數編入碼流。其中,核心層信號對應的通道與本方案中的指定通道一致。另外,採用第一編碼方案除了將核心層信號編入碼流之外,還將提取的空間參數編入碼流,空間參數包含豐富的場景資訊,例如方向資訊等。可見,對於同一幀來說,採用基於DirAC的HOA編碼方案編入碼流的有效資訊也會多於採用切換幀編碼方案編入碼流的有效資訊,而本方案在切換幀編碼方案與第一編碼方案不同的前提下,為了使得切換幀編碼方案與第一編碼方案的編碼效果相接近,切換幀編碼方案也是將HOA信號中與第一編碼方案所預設的傳輸通道的信號編入碼流,但不會將HOA信號中除指定通道的信號之外更多的資訊編入碼流,也即不會提取空間參數,更不會將空間參數編入碼流,從而使得聽覺品質盡可能地平滑過渡。
圖10是本申請實施例提供的另一種編碼方法的流程圖。請參考圖10,以將當前幀的初始編碼方案的指示資訊編入碼流為例,對本申請實施例提供的編碼方法再次進行解釋說明。編碼端首先獲取待編碼的當前幀的HOA信號。然後,編碼端對該HOA信號進行聲場類型分析,以確定當前幀的初始編碼方案,編碼端將當前幀的初始編碼方案的指示資訊編入碼流。編碼端判斷當前幀的初始編碼方案與前一幀的初始編碼方案是否相同。若當前幀的初始編碼方案與前一幀的初始編碼方案相同,則編碼端採用當前幀的初始編碼方案對當前幀的HOA信號進行編碼,以得到當前幀的碼流。若當前幀的初始編碼方案與前一幀的初始編碼方案不同,則編碼端採用切換幀編碼方案對當前幀的HOA信號進行編碼,以得到當前幀的碼流。
需要說明的是,若當前幀為待編碼的第一個音訊幀,則當前幀的初始編碼方案為第一編碼方案或第二編碼方案,編碼端採用當前幀的初始編碼方案將當前幀的HOA信號編入碼流。
綜上所述,在本申請實施例中,結合兩個方案(即基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案)對音訊幀的HOA信號進行編解碼,也即針對不同的音訊幀選擇合適的編解碼方案,這樣能夠提升音訊信號的壓縮率。同時,為了使得在不同編解碼方案之間切換時聽覺品質的平滑過渡,本方案中對於某些音訊幀來說,並非直接採用上述兩個方案中的任一個方案進行編碼,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
圖11是本申請實施例提供的一種解碼方法的流程圖,該方法應用於解碼端。需要說明的是,該解碼方法對應於圖6所示的編碼方法。請參考圖11,該方法包括如下步驟。
步驟1101:基於碼流獲得當前幀的解碼方案。
其中,當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種。第一解碼方案為基於DirAC的HOA解碼方案,第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,第三解碼方案為混合解碼方案。可選地,混合解碼方案也稱為切換幀解碼方案。
需要說明的是,由於編碼端對不同的音訊幀採用不同的編碼方案進行編碼,那麼解碼端也需要用對應的解碼方案來解碼各個音訊幀。
接下來首先介紹解碼端如何確定當前幀的編碼方案。由前述可知,在圖6所示編碼方法的步驟601中介紹了編碼端將能夠用於指示當前幀的編碼方案的資訊編入碼流的三種實現方式,相應地,解碼端確定當前幀的編碼方案也對應有三種實現方式,接下來將對此進行介紹。
第一種實現方式、編碼了切換標誌以及兩種編碼方案的指示資訊
解碼端先從碼流中解析出當前幀的切換標誌的值。若該切換標誌的值為第一值,則解碼端再從該碼流中解析出當前幀的解碼方案的指示資訊,該指示資訊用於指示當前幀的解碼方案為第一解碼方案或第二解碼方案。若該切換標誌為的值為第二值,則解碼端確定當前幀的解碼方案為第三解碼方案。需要說明的是,編碼端編入碼流的編碼方案的指示資訊即為解碼端從碼流中解析出的解碼方案的指示資訊。
換句話說,若解碼端解析出當前幀的切換標誌的值為第一值,說明當前幀為非切換幀。解碼端再從碼流中解析出解碼方案的指示資訊,基於指示資訊確定當前幀的解碼方案。若解碼端解析出當前幀的切換標誌的值為第二值,說明當前幀為切換幀,即使碼流中包含指示資訊,解碼端也無需解碼指示資訊。
需要說明的是,若切換標誌的值為第二值,則解碼端確定當前幀的解碼方案為切換幀解碼方案,且當前幀為切換幀,切換幀解碼方案是不同於第一解碼方案和第二解碼方案的解碼方案,切換幀解碼方案是為了聽覺品質的平滑過渡。
可選地,在該第一種實現方式中,解碼方案的指示資訊和切換標誌各佔碼流的一個比特位元。示例性地,解碼端先從碼流中解析當前幀的切換標誌的值,若解析出的切換標誌的值為「0」,即切換標誌的值為第一值,則解碼端再從碼流中解析當前幀的解碼方案的指示資訊,若解析出的指示資訊為「0」,則解碼端確定當前幀的解碼方案為第一解碼方案。若解析出的指示資訊為「1」,則解碼端確定當前幀的解碼方案為第二解碼方案。若解析出的切換標誌為的值「1」,則解碼端確定當前幀的解碼方案為切換幀解碼方案(第三解碼方案)。
第二種實現方式、編碼了兩種編碼方案的指示資訊
解碼端從碼流中解析出當前幀的初始解碼方案,初始解碼方案為第一解碼方案或第二解碼方案。若當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案相同,則確定當前幀的解碼方案為當前幀的初始解碼方案。若當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案不同,則確定當前幀的解碼方案為第三解碼方案,即混合解碼方案。其中,當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案不同是指,當前幀的初始解碼方案為第一解碼方案且當前幀的前一幀的初始解碼方案為第二解碼方案,或者,當前幀的初始解碼方案為第二解碼方案且當前幀的前一幀的初始解碼方案為第一解碼方案。也即是,當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案中的一個為第一解碼方案,另一個為第二解碼方案。
可選地,在該第二種實現方式中,用於指示初始編碼方案的指示資訊佔碼流的一個比特位元,以編碼模式作為指示資訊為例,碼流中的編碼模式佔一個比特位元。示例性地,解碼端從碼流中解析當前幀的初始編碼方案的指示資訊,若解析出的指示資訊為「0」,且當前幀的前一幀的指示資訊也為「0」,則解碼端確定當前幀的解碼方案為第一解碼方案。若解析出的指示資訊為「1」,且當前幀的前一幀的指示資訊也為「1」,則解碼端確定當前幀的解碼方案為第二解碼方案。若解析出的指示資訊為「0」且當前幀的前一幀的指示資訊為「1」,或者解析出的指示資訊為「1」且當前幀的前一幀的指示資訊為「0」,則解碼端確定當前幀的解碼方案為切換幀解碼方案。
可選地,當前幀的前一幀的初始解碼方案的指示資訊為緩存的資料。在解碼到當前幀時,解碼端可以從緩存中獲取當前幀的前一幀的初始解碼方案的指示資訊。
第三種實現方式、編碼了三種編碼方案的指示資訊
解碼端從碼流中解析出當前幀的解碼方案的指示資訊,該指示資訊用於指示當前幀的解碼方案為第一解碼方案、第二解碼方案或第三解碼方案。
可選地,在該第三種實現方式中,解碼方案的指示資訊佔碼流的兩個比特位元。例如,假設以編碼模式作為指示資訊,當前幀的編碼模式佔碼流的兩個比特位元。
示例性地,解碼端從碼流中解析當前幀的解碼方案的指示資訊,若解析出的指示資訊為「00」,則解碼端確定當前幀的解碼方案為第一解碼方案。若解析出的指示資訊為「01」,則解碼端確定當前幀的解碼方案為第二解碼方案。若解析出的指示資訊為「10」,則解碼端確定當前幀的解碼方案為切換幀解碼方案。
步驟1102:若當前幀的解碼方案為第三解碼方案,則基於碼流確定當前幀的HOA信號中指定通道的信號,指定通道為HOA信號的所有通道中的部分通道。
在本申請實施例中,解碼端獲得當前幀的解碼方案之後,若當前幀的解碼方案為第三編碼方案,表示當前幀為切換幀,則解碼端基於碼流確定當前幀的HOA信號中指定通道的信號。也即是,對於切換幀來說,編碼端是將指定通道的信號編入碼流,那麼解碼端採用切換幀解碼方案來解碼切換幀,即需要先從碼流中解析出指定通道的信號。
接下來對解碼端採用切換幀解碼方案解碼切換幀的實現過程進行詳細介紹,也即詳細介紹在當前幀為切換幀的情況下,解碼端基於碼流確定當前幀的HOA信號中指定通道的信號的實現過程。
需要說明的是,解碼端基於碼流確定當前幀的HOA信號中指定通道的信號的過程,與編碼端將當前幀的HOA信號中指定通道的信號編入碼流的過程是對稱的。在前述編碼方法的實施例中介紹了將該指定通道的信號編入碼流的一些實現過程,在解碼端將介紹與這些實現過程相對稱的解碼過程。
在本申請實施例中,若編碼端是先基於該指定通道的信號確定虛擬揚聲器信號和殘差信號,再將虛擬揚聲器信號和殘差信號編入碼流,那麼,相對應地,解碼端先基於碼流確定虛擬揚聲器信號和殘差信號,再基於虛擬揚聲器信號和殘差信號,確定指定通道的信號。
可選地,若編碼端通過身歷聲編碼器將基於虛擬揚聲器信號和殘差信號組合得到的三路身歷聲信號編入了碼流,那麼,解碼端通過身歷聲解碼器對碼流進行解碼,以得到三路身歷聲信號,然後基於該三路身歷聲信號,確定一路虛擬揚聲器信號和三路殘差信號。可選地,解碼端基於該三路身歷聲信號中的一路身歷聲信號,確定一路虛擬揚聲器信號,基於該三路身歷聲信號中的另兩路身歷聲信號,確定三路殘差信號。也即是,解碼端先從碼流中解析出這三路身歷聲信號,再通過拆解這三路身歷聲信號以得到一路虛擬揚聲器信號和三路殘差信號。
示例性地,解碼端從碼流中解析出三路身歷聲信號分別為S1、S2和S3,其中S1是由一路虛擬揚聲器信號和一路預設單聲道信號組合得到,S2是由兩路殘差信號組合得到,S3是由剩餘一路殘差信號與一路預設單聲道信號組合得到。解碼端將S1拆解得到一路虛擬揚聲器信號,將S2拆解得到兩路殘差信號,將S3拆解得到剩餘一路殘差信號。
可選地,若編碼端通過單聲道編碼器將基於虛擬揚聲器信號和殘差信號確定的四路單聲道信號編入了碼流,那麼,解碼端通過單聲道解碼器對碼流進行解碼,以得到一路虛擬揚聲器信號和三路殘差信號,這四路單聲道信號包括該一路虛擬揚聲器信號和該三路殘差信號。
可選地,若該指定通道的信號包括FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號,那麼,解碼端基於碼流確定虛擬揚聲器信號和殘差信號之後,基於該虛擬揚聲器信號,確定W信號。解碼端基於殘差信號和W信號確定X信號、Y信號和Z信號,或者,解碼端基於殘差信號確定X信號、Y信號和Z信號。例如,解碼端解析出三路殘差信號的情況下,將這三路殘差信號分別與W信號之和確定為X信號、Y信號和Z信號,或者,將這三路殘差信號分別確定為X信號、Y信號和Z信號。其中,若編碼端將X信號、Y信號和Z信號分別與W信號之間的差信號確定為三路殘差信號,那麼解碼端將這三路殘差信號分別與W信號之和確定為X信號、Y信號和Z信號。若編碼端將X信號、Y信號和Z信號確定為三路殘差信號,那麼解碼端將這三路殘差信號分別確定為X信號、Y信號和Z信號。即,解碼端的解碼過程是與編碼端的編碼過程匹配的。
若編碼端通過身歷聲編碼器將基於虛擬揚聲器信號和殘差信號確定的兩路身歷聲信號編入了碼流,那麼,解碼端通過身歷聲解碼器對碼流進行解碼,以得到這兩路身歷聲信號。解碼端基於這兩路身歷聲信號中的一路身歷聲信號確定兩路虛擬揚聲器信號,基於這兩路身歷聲信號中的另一路身歷聲信號確定兩路殘差信號,這兩路虛擬揚聲器信號和這兩路殘差信號即包括W信號、X信號、Y信號和Z信號。可選地,若編碼端將W信號,以及X信號、Y信號、Z信號中與W信號相關性最高的一路信號確定為兩路虛擬揚聲器信號,則解碼端確定的兩路虛擬揚聲器信號包括W信號以及X信號、Y信號、Z信號中與W信號相關性最高的一路信號。假設X信號、Y信號、Z信號中與W信號相關性最高的一路信號為X信號,則解碼端確定的兩路虛擬揚聲器信號包括W信號和X信號,解碼端確定的兩路殘差信號包括Y信號和Z信號。
步驟1103:基於該指定通道的信號,確定當前幀的HOA 信號中除指定通道之外的一個或多個剩餘通道的增益。
在本申請實施例中,解碼端基於碼流確定當前幀的HOA信號中指定通道的信號之後,基於該指定通道的信號,確定該HOA信號中除指定通道之外的一個或多個剩餘通道的增益。
示例性地,假設指定通道為FOA通道,FOA通道可稱為低階通道,FOA通道的信號可稱為HOA信號的低階部分,HOA信號中除指定通道之外的一個或多個剩餘通道稱為高階通道,高階通道的信號可稱為HOA信號的高階部分,那麼,解碼端即基於該HOA信號的低階部分,確定該HOA信號的高階增益,即高階通道的增益。
可選地,解碼端先對該HOA信號中指定通道的信號進行分析濾波處理,以得到經分析濾波的指定通道的信號,基於經分析濾波的指定通道的信號確定該一個或多個剩餘通道的增益。例如,假設指定通道的信號為HOA信號的低階部分,那麼解碼端先對該HOA信號的低階部分進行分析濾波處理,以得到經分析濾波的HOA信號的低階部分,再基於經分析濾波的HOA信號的低階部分估計出高階增益。可選地,本方案中對於切換幀來說,解碼端進行分析濾波處理所使用的分析濾波器,與基於DirAC的HOA解碼方案中使用的分析濾波器相同,這樣能夠使得切換幀的解碼時延與基於DirAC的HOA解碼方案的解碼時延一致,即時延對齊。需要說明的是,本文所講的解碼時延為端到端的編解碼時延,解碼時延也可稱為編碼時延。
需要說明的是,在本申請實施例中,解碼端基於該指定通道的信號,確定HOA 信號中除指定通道之外的一個或多個剩餘通道的增益的過程,即基於指定通道的信號估計剩餘通道的增益的過程,具體實現方式與基於DirAC的編解碼方案中的剩餘通道增益估計方法相同,本申請實施例不詳細介紹。示例性地,本方案中對於切換幀來說,解碼端基於HOA信號的低階部分估計高階增益的方法與基於DirAC的編解碼方案中的高階增益估計方法相同。
步驟1104:基於該指定通道的信號和該一個或多個剩餘通道的增益,確定該一個或多個剩餘通道中各個剩餘通道的信號。
在本申請實施例中,解碼端基於該指定通道的信號和該一個或多個剩餘通道的增益,確定該一個或多個剩餘通道中各個剩餘通道的信號。示例性地,假設該指定通道的信號為HOA信號中的低階部分,該一個或多個剩餘通道的增益為高階增益,那麼,解碼端可以基於該低階部分中的W信號和高階增益,確定HOA信號中的高階部分。或者,若解碼端對HOA信號的低階部分進行了分析濾波處理,那麼解碼端可以基於經分析濾波的HOA信號的低階部分中的W信號和高階增益,確定經分析濾波的HOA信號的高階部分。
步驟1105:基於該指定通道的信號和該一個或多個剩餘通道的信號,獲得當前幀的重建HOA信號。
在本申請實施例中,解碼端在得到指定通道的信號和該一個或多個剩餘通道的信號之後,基於該指定通道的信號和該一個或多個剩餘通道的信號,獲得當前幀的重建HOA信號,即重建當前幀的HOA信號。示例性地,解碼端對該指定通道的信號和該一個或多個剩餘通道的信號進行合成濾波處理,以獲得當前幀的重建HOA信號。例如,假設該指定通道的信號為HOA信號中的低階部分,該一個或多個剩餘通道的信號為HOA信號中的高階部分,那麼解碼端對該HOA信號的低階部分和高階部分進行合成濾波處理,以獲得當前幀的重建HOA信號。或者,若解碼端對HOA信號的低階部分進行了分析濾波處理,那麼解碼端對經分析濾波的HOA信號的低階部分和經分析濾波的HOA信號的高階部分進行合成濾波處理,以獲得當前幀的重建HOA信號。可選地,本方案中對於切換幀來說,解碼端進行合成濾波處理所使用的合成濾波器,與基於DirAC的HOA編解碼方案中使用的合成濾波器相同,這樣能夠使得切換幀的解碼時延與基於DirAC的HOA解碼方案的解碼時延一致,即時延對齊。
圖12是本申請實施例提供的一種切換幀解碼方案的示意圖。參見圖12,待解碼的當前幀為切換幀,假設指定通道的信號為HOA信號的低階部分,那麼,在解碼過程中,解碼端獲取待解碼的當前幀的碼流,通過核心解碼器對該碼流進行核心解碼,以重建出當前幀的HOA信號的低階部分,採用與基於DirAC的HOA解碼方案中確定高階部分相類似的方法,基於該低階部分估計出高階部分,也即重建該HOA信號的高階部分。之後,解碼端基於解碼得到的低階部分和通過估計得到的高階部分重建出該HOA信號。
以上介紹了當前幀為切換幀的情況下,解碼端對當前幀解碼的過程,也即解碼端採用切換幀解碼方案來解碼切換幀,即解碼端先解碼出HOA信號中指定通道的信號(如低階部分),再重構出各個剩餘通道的信號(如重構高階部分)。接下來介紹在當前幀為非切換幀的情況下,解碼端對當前幀解碼的過程。
在本申請實施例中,解碼端確定當前幀的解碼方案之後,若當前幀的解碼方案為第一解碼方案,則解碼端按照第一解碼方案,根據該碼流獲得當前幀的重建HOA信號。若當前幀的解碼方案為第二解碼方案,則解碼端按照第二解碼方案,根據該碼流獲得當前幀的重建HOA信號。
在本申請實施例中,參見圖13,解碼端按照第二解碼方案,根據該碼流獲得當前幀的重建HOA信號的實現過程為:解碼端通過核心解碼器從碼流中解析出虛擬揚聲器信號和殘差信號,將解析出的虛擬揚聲器信號和殘差信號送入基於MP的空間解碼器,以獲得當前幀的重建HOA信號。需要說明的是,圖13所示的解碼方案是與圖8所示的編碼方案相對應的。
解碼端按照第一解碼方案,根據該碼流獲得當前幀的重建HOA信號的實現過程為:解碼端從碼流中解析出核心層信號和空間參數,基於核心層信號和空間參數重建出當前幀的HOA信號。示例性地,參見圖14,解碼端通過核心解碼器從碼流中解析出核心層信號,通過空間參數解碼器從碼流中解析出空間參數,基於解析出的核心層信號和空間參數進行基於DirAC的HOA信號合成處理,以獲得當前幀的重建HOA信號。需要說明的是,圖14所示的解碼方案是與圖9所示的編碼方案相對應的。
可選地,由於HOA信號的高階部分對聽覺品質的影響較大,為了進一步使得不同編解碼方案之間切換時聽覺品質的平滑過渡,解碼端在按照第二解碼方案,根據碼流獲得當前幀的重建HOA信號的過程中,還可以對當前幀的高階部分進行增益調整。例如,解碼端按照第二解碼方案,根據碼流獲得初始HOA信號,若當前幀的前一幀的解碼方案為第三解碼方案,即當前幀的前一幀為切換幀,則解碼端根據當前幀的前一幀的高階增益,對初始HOA信號的高階部分進行增益調整。然後,解碼端基於初始HOA信號的低階部分和經增益調整的高階部分,獲得當前幀的重建HOA信號。
需要說明的是,若當前幀的前一幀為切換幀,則當前幀利用前一幀的高階增益對當前幀的初始HOA信號的高階部分進行增益調整,以使當前幀的經增益調整的高階部分與前一幀的高階部分相似,如增益調整使得這相鄰兩幀的HOA信號的高階部分的能量相近。這樣,後續解碼端對各個音訊幀進行渲染播放的過程中,切換幀的聽覺品質,以及切換幀的下一幀的聽覺品質均能夠很好的平滑過渡。
可選地,除了對切換幀之後的解碼方案為第二解碼方案的音訊幀進行高階增益調整之外,對於其他的解碼方案為第二解碼方案的音訊幀來說,解碼端也可以對這些音訊幀的HOA信號的高階部分進行增益調整,本申請實施例不限定對這些音訊幀的HOA信號的高階部分進行增益調整的具體實現方式。可選地,除了對高階部分進行增益調整之外,解碼端還可以對這些音訊幀的HOA信號的其他部分進行增益調整。也即是,本申請實施例不限定對HOA信號的哪些通道的信號進行增益調整。換句話說,解碼端可以對HOA信號中任意一個或多個通道的信號進行增益調整,該一個或多個通道可以包括高階通道中的部分或全部,或除指定通道之外的剩餘通道中部分或全部,或其他通道。
圖15是本申請實施例提供的另一種解碼方法的流程圖。參見圖15,以編碼端將初始編碼方案的指示資訊編入碼流為例,且假設碼流中未編入切換標誌,則在解碼過程中,解碼端先從碼流中解析出當前幀的初始解碼方案的指示資訊。然後,解碼端判斷當前幀的初始解碼方案與前一幀的初始解碼方案是否相同。若當前幀的初始解碼方案與前一幀的初始解碼方案相同,說明當前幀為非切換幀,則解碼端採用當前幀的初始解碼方案對碼流進行解碼,以獲得當前幀的重建HOA信號。若當前幀的初始解碼方案與前一幀的初始解碼方案不同,說明當前幀為切換幀,則解碼端採用切換幀解碼方案對碼流進行解碼,以獲得當前幀的重建HOA信號。
綜上所述,在本申請實施例中,結合兩個方案(即基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案)對音訊幀的HOA信號進行編解碼,也即針對不同的音訊幀選擇合適的編解碼方案,這樣能夠提升音訊信號的壓縮率。同時,為了使得在不同編解碼方案之間切換時聽覺品質的平滑過渡,本方案中對於某些音訊幀來說,並非直接採用上述兩個方案中的任一個方案進行編解碼,而是採用一種新的編解碼方案來編解碼這些音訊幀,即編碼時將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
圖16是本申請實施例提供的一種編碼裝置1600的結構示意圖,該編碼裝置1600可以由軟體、硬體或者兩者的結合實現成為編碼端設備的部分或者全部,該編碼端設備可以為前述實施例中的任一編碼端設備。參見圖16,該裝置1600包括:第一確定模組1601和第一編碼模組1602。
第一確定模組1601,用於根據當前幀的高階立體混響HOA信號確定當前幀的編碼方案,當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種;其中,第一編碼方案為基於方向音訊編碼的HOA編碼方案,第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案,第三編碼方案為混合編碼方案;
第一編碼模組1602,用於若當前幀的編碼方案為第三編碼方案,則將HOA信號中指定通道的信號編入碼流,指定通道為HOA信號的所有通道中的部分通道。
可選地,指定通道的信號包括一階立體混響FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。
可選地,第一編碼模組1602包括:第一確定子模組,用於基於W信號、X信號、Y信號和Z信號,確定虛擬揚聲器信號和殘差信號;編碼子模組,用於將該虛擬揚聲器信號和殘差信號編入碼流。
可選地,第一確定子模組用於:將W信號確定為一路虛擬揚聲器信號;基於W信號、X信號、Y信號和Z信號確定三路殘差信號,或者,將X信號、Y信號和Z信號確定為三路殘差信號。
可選地,編碼子模組用於:將這一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號;將這三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號;通過身歷聲編碼器將得到的三路身歷聲信號分別編入碼流。
可選地,編碼子模組用於:將這三路殘差信號中相關性最高的兩路殘差信號組合,以得到兩路身歷聲信號中的一路身歷聲信號;將這三路殘差信號中除相關性最高的兩路殘差信號之外的一路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號中的另一路身歷聲信號。
可選地,第一路預設單聲道信號為全零信號或全一信號,全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號;第二路預設單聲道信號為全零信號或全一信號;第一路預設單聲道信號與第二路預設單聲道信號相同或不同。
可選地,編碼子模組用於:通過單聲道編碼器將這一路虛擬揚聲器信號、以及這三路殘差信號中的各路殘差信號分別編入碼流。
可選地,該裝置1600更包括:第二編碼模組,用於若當前幀的編碼方案為第一編碼方案,則按照第一編碼方案將該HOA信號編入碼流;第三編碼模組,用於若當前幀的編碼方案為第二編碼方案,則按照第二編碼方案將該HOA信號編入碼流。
可選地,第一確定模組1601包括:第二確定子模組,用於根據該HOA信號確定當前幀的初始編碼方案,初始編碼方案為第一編碼方案或第二編碼方案;第三確定子模組,用於若當前幀的初始編碼方案與當前幀的前一幀的初始編碼方案相同,則確定當前幀的編碼方案為當前幀的初始編碼方案;第四確定子模組,用於若當前幀的初始編碼方案為第一編碼方案且當前幀的前一幀的初始編碼方案為第二編碼方案,或當前幀的初始編碼方案為第二編碼方案且當前幀的前一幀的初始編碼方案為第一編碼方案,則確定當前幀的編碼方案為第三編碼方案。
可選地,該裝置1600更包括:第四編碼模組,用於將當前幀的初始編碼方案的指示資訊編入碼流。
可選地,該裝置1600更包括:第二確定模組,用於確定當前幀的切換標誌的值,當當前幀的編碼方案為第一編碼方案或第二編碼方案時,當前幀的切換標誌的值為第一值;當當前幀的編碼方案為第三編碼方案時,當前幀的切換標誌的值為第二值;第五編碼模組,用於將該切換標誌的值編入碼流。
可選地,該裝置1600更包括:第六編碼模組,用於將當前幀的編碼方案的指示資訊編入碼流。
可選地,指定通道與第一編碼方案中預設的傳輸通道一致。
在本申請實施例中,結合兩個方案(即基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案)對音訊幀的HOA信號進行編解碼,也即針對不同的音訊幀選擇合適的編解碼方案,這樣能夠提升音訊信號的壓縮率。同時,為了使得在不同編解碼方案之間切換時聽覺品質的平滑過渡,本方案中對於某些音訊幀來說,並非直接採用上述兩個方案中的任一個方案進行編解碼,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
需要說明的是:上述實施例提供的編碼裝置在編碼音訊幀時,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。另外,上述實施例提供的編碼裝置與編碼方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
圖17是本申請實施例提供的一種解碼裝置1700的結構示意圖,該解碼裝置1700可以由軟體、硬體或者兩者的結合實現成為解碼端設備的部分或者全部,該解碼端設備可以為前述實施例中的任一編碼端設備。參見圖17,該解碼裝置1700包括:第一獲得模組1701、第一確定模組1702、第二確定模組1703、第三確定模組1704和第二獲得模組1705。
第一獲得模組1701,用於基於碼流獲得當前幀的解碼方案,當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種;其中,第一解碼方案為基於方向音訊解碼的高階立體混響HOA解碼方案,第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,第三解碼方案為混合解碼方案;第一確定模組1702,用於若當前幀的解碼方案為第三解碼方案,則基於碼流確定當前幀的HOA信號中指定通道的信號,指定通道為HOA信號的所有通道中的部分通道;第二確定模組1703,用於基於指定通道的信號,確定HOA 信號中除指定通道之外的一個或多個剩餘通道的增益;第三確定模組1704,用於基於指定通道的信號和該一個或多個剩餘通道的增益,確定該一個或多個剩餘通道中各個剩餘通道的信號;第二獲得模組1705,用於基於指定通道的信號和該一個或多個剩餘通道的信號,獲得當前幀的重建HOA信號。
可選地,第一確定模組1702包括:第一確定子模組,用於基於碼流確定虛擬揚聲器信號和殘差信號;第二確定子模組,用於基於該虛擬揚聲器信號和殘差信號,確定指定通道的信號。
可選地,第一確定子模組用於:通過身歷聲解碼器對碼流進行解碼,以得到三路身歷聲信號;基於這三路身歷聲信號,確定一路虛擬揚聲器信號和三路殘差信號。
可選地,第一確定子模組用於:基於這三路身歷聲信號中的一路身歷聲信號,確定一路虛擬揚聲器信號;基於這三路身歷聲信號中的另兩路身歷聲信號,確定三路殘差信號。
可選地,第一確定子模組用於:通過單聲道解碼器對碼流進行解碼,以得到一路虛擬揚聲器信號和三路殘差信號。
可選地,指定通道的信號包括一階立體混響FOA信號,FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號;第一確定子模組用於:基於該虛擬揚聲器信號,確定W信號;基於該殘差信號與W信號確定X信號、Y信號和Z信號,或者,基於該殘差信號確定X信號、Y信號和Z信號。
可選地,該裝置1700更包括:第一解碼模組,用於若當前幀的解碼方案為第一解碼方案,則按照第一解碼方案,根據碼流獲得當前幀的重建HOA信號;第二解碼模組,用於若當前幀的解碼方案為第二解碼方案,則按照第二解碼方案,根據碼流獲得當前幀的重建HOA信號。
可選地,第二解碼模組包括:第一獲得子模組,用於按照第二解碼方案,根據碼流獲得初始HOA信號;增益調整子模組,用於若當前幀的前一幀的解碼方案為第三解碼方案,則根據當前幀的前一幀的高階增益,對初始HOA信號的高階部分進行增益調整;第二獲得子模組,用於基於初始HOA信號的低階部分和經增益調整的高階部分,獲得重建HOA信號。
可選地,第一獲得模組1701包括:第一解析子模組,用於從碼流中解析出當前幀的切換標誌的值;第二解析子模組,用於若該切換標誌的值為第一值,則從碼流中解析當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案或第二解碼方案;第三確定子模組,用於若該切換標誌的值為第二值,確定當前幀的解碼方案為第三解碼方案。
可選地,第一獲得模組1701包括:第三解析子模組,用於從碼流中解析出當前幀的解碼方案的指示資訊,指示資訊用於指示當前幀的解碼方案為第一解碼方案、第二解碼方案或第三解碼方案。
可選地,第一獲得模組1701包括:第四解析子模組,用於從碼流中解析出當前幀的初始解碼方案,初始解碼方案為第一解碼方案或第二解碼方案;第四確定子模組,用於若當前幀的初始解碼方案與當前幀的前一幀的初始解碼方案相同,則確定當前幀的解碼方案為當前幀的初始解碼方案;第五確定子模組,用於若當前幀的初始解碼方案為第一解碼方案且當前幀的前一幀的初始解碼方案為第二解碼方案,或當前幀的初始解碼方案為第二解碼方案且當前幀的前一幀的初始解碼方案為第一解碼方案,則確定當前幀的解碼方案為第三解碼方案。
在本申請實施例中,結合兩個方案(即基於虛擬揚聲器選擇的編解碼方案和基於方向音訊編碼的編解碼方案)對音訊幀的HOA信號進行編解碼,也即針對不同的音訊幀選擇合適的編解碼方案,這樣能夠提升音訊信號的壓縮率。同時,為了使得在不同編解碼方案之間切換時聽覺品質的平滑過渡,本方案中對於某些音訊幀來說,並非直接採用上述兩個方案中的任一個方案進行編解碼,而是採用一種新的編解碼方案來編解碼這些音訊幀,即將這些音訊幀的HOA信號中指定通道的信號編入碼流,即採用一種折衷的方案進行編解碼,從而使得對解碼恢復出的HOA信號進行渲染播放後的聽覺品質能夠平滑過渡。
需要說明的是:上述實施例提供的解碼裝置在解碼音訊幀時,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。另外,上述實施例提供的解碼裝置與解碼方法實施例屬於同一構思,其具體實現過程詳見方法實施例,這裡不再贅述。
圖18為用於本申請實施例的一種編解碼裝置1800的示意性方塊圖。其中,編解碼裝置1800可以包括處理器1801、記憶體1802和匯流排系統1803。其中,處理器1801和記憶體1802通過匯流排系統1803相連,該記憶體1802用於儲存指令,該處理器1801用於執行該記憶體1802儲存的指令,以執行本申請實施例描述的各種的編碼或解碼方法。為避免重複,這裡不再詳細描述。
在本申請實施例中,該處理器1801可以是中央處理單元(central processing unit,CPU),該處理器1801還可以是其他通用處理器、DSP、ASIC、FPGA或者其他可程式設計邏輯裝置、分立門或者電晶體邏輯裝置、分立硬體元件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該記憶體1802可以包括ROM設備或者RAM設備。任何其他適宜類型的存放裝置也可以用作記憶體1802。記憶體1802可以包括由處理器1801使用匯流排1803訪問的代碼和資料18021。記憶體1802可以進一步包括作業系統18023和應用程式18022,該應用程式18022包括允許處理器1801執行本申請實施例描述的編碼或解碼方法的至少一個程式。例如,應用程式18022可以包括應用1至N,其進一步包括執行在本申請實施例描述的編碼或解碼方法的編碼或解碼應用(簡稱編解碼應用)。
該匯流排系統1803除包括資料匯流排之外,還可以包括電源匯流排、控制匯流排和狀態信號匯流排等。但是為了清楚說明起見,在圖中將各種匯流排都標為匯流排系統1803。
可選地,編解碼裝置1800還可以包括一個或多個輸出設備,諸如顯示器1804。在一個示例中,顯示器1804可以是觸感顯示器,其將顯示器與可操作地感測觸摸輸入的觸感單元合併。顯示器1804可以經由匯流排1803連接到處理器1801。
需要指出的是,編解碼裝置1800可以執行本申請實施例中的編碼方法,也可執行本申請實施例中的解碼方法。
本領域技術人員能夠領會,結合本文公開描述的各種說明性邏輯框、模組和演算法步驟所描述的功能可以硬體、軟體、韌體或其任何組合來實施。如果以軟體來實施,那麼各種說明性邏輯框、模組、和步驟描述的功能可作為一或多個指令或代碼在電腦可讀媒體上儲存或傳輸,且由基於硬體的處理單元執行。電腦可讀媒體可包含電腦可讀取儲存媒體,其對應於有形媒體,例如資料儲存媒體,或包括任何促進將電腦程式從一處傳送到另一處的媒體(例如,基於通信協議)的通信媒體。以此方式,電腦可讀媒體大體上可對應於(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這三種情況。另外,為了便於清楚描述本申請實施例的技術方案,在本申請的實施例中,採用了「第一」、「第二」等字樣對功能和作用基本相同的相同項或相似項進行區分。本領域技術人員可以理解「第一」、「第二」等字樣並不對數量和執行次序進行限定,並且「第一」、「第二」等字樣也並不限定一定不同。
以上所述為本申請提供的實施例,並不用以限制本申請,凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護範圍之內。
10:源裝置 101:第一終端 120:資料源 100:編碼器 140:輸出介面 20:目的地裝置 200:解碼器 201:第二終端 220:顯示裝置 240:輸入介面 30:鏈路 40:儲存裝置 601、602、1101、1102、1103、1104、1105:步驟 1600:編碼裝置 1601:第一確定模組 1602:第一編碼模組 1700:解碼裝置 1701:第一獲得模組 1702:第一確定模組 1703:第二確定模組 1704:第三確定模組 1705:第二獲得模組 1800:編解碼裝置 1801:處理器 1802:記憶體 18021:資料 18022:應用程式 18023:作業系統 1803:匯流排系統 1804:顯示器
圖1是本申請實施例提供的一種實施環境的示意圖。 圖2是本申請實施例提供的一種終端場景的實施環境的示意圖。 圖3是本申請實施例提供的一種無線或核心網設備的轉碼場景的實施環境的示意圖。 圖4是本申請實施例提供的一種廣播電視場景的實施環境的示意圖。 圖5是本申請實施例提供的一種虛擬實境流場景的實施環境的示意圖。 圖6是本申請實施例提供的一種編碼方法的流程圖。 圖7是本申請實施例提供的一種切換幀編碼方案的示意圖。 圖8是本申請實施例提供的一種基於虛擬揚聲器選擇的HOA編碼方案的示意圖。 圖9是本申請實施例提供的一種基於DirAC的HOA編碼方案的示意圖。 圖10是本申請實施例提供的另一種編碼方法的流程圖。 圖11是本申請實施例提供的一種解碼方法的流程圖。 圖12是本申請實施例提供的一種切換幀解碼方案的示意圖。 圖13是本申請實施例提供的一種基於虛擬揚聲器選擇的HOA解碼方案的示意圖。 圖14是本申請實施例提供的一種基於DirAC的HOA解碼方案的示意圖。 圖15是本申請實施例提供的另一種解碼方法的流程圖。 圖16是本申請實施例提供的一種編碼裝置的結構示意圖。 圖17是本申請實施例提供的一種解碼裝置的結構示意圖。 圖18是本申請實施例提供的一種編解碼裝置的示意性方塊圖。
601、602:步驟

Claims (48)

  1. 一種編碼方法,包括:根據當前幀的高階立體混響HOA信號確定所述當前幀的編碼方案,所述當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種,其中,所述第一編碼方案為基於方向音訊編碼的HOA編碼方案,所述第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案,所述第三編碼方案為混合編碼方案;以及若所述當前幀的編碼方案為所述第三編碼方案,則將所述HOA信號中指定通道的信號編入碼流,所述指定通道為所述HOA信號的所有通道中的部分通道;其中所述根據當前幀的高階立體混響HOA信號確定所述當前幀的編碼方案包括:根據所述HOA信號確定所述當前幀的初始編碼方案,所述初始編碼方案為所述第一編碼方案或所述第二編碼方案;若所述當前幀的初始編碼方案與所述當前幀的前一幀的初始編碼方案相同,則確定所述當前幀的編碼方案為所述當前幀的初始編碼方案;以及若所述當前幀的初始編碼方案為所述第一編碼方案且所述當前幀的前一幀的初始編碼方案為所述第二編碼方案,或所述當前幀的初始編碼方案為所述第二編碼方案且所述當前幀的前一幀的初始編碼方案為所述第一編碼方案,則確定所述當前幀的編碼方案為所述第三編碼方案。
  2. 如請求項1所述的編碼方法,其中所述指定通道的信號包括一階立體混響FOA信號,所述FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。
  3. 如請求項2所述的編碼方法,其中所述將所述HOA信號中指定通道的信號編入所述碼流包括:基於所述W信號、所述X信號、所述Y信號和所述Z信號,確定虛擬揚聲器信號和殘差信號;以及將所述虛擬揚聲器信號和所述殘差信號編入所述碼流。
  4. 如請求項3所述的編碼方法,其中所述基於所述W信號、所述X信號、所述Y信號和所述Z信號,確定虛擬揚聲器信號和殘差信號包括:將所述W信號確定為一路所述虛擬揚聲器信號;以及基於所述W信號、X信號、所述Y信號和所述Z信號確定三路所述殘差信號,或者,將所述X信號、所述Y信號和所述Z信號確定為三路所述殘差信號。
  5. 如請求項4所述的編碼方法,其中所述將所述虛擬揚聲器信號和所述殘差信號編入所述碼流包括:將所述一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號;將所述三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號;以及通過身歷聲編碼器將得到的三路身歷聲信號分別編入所述碼 流。
  6. 如請求項5所述的編碼方法,其中所述將所述三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號包括:將所述三路殘差信號中相關性最高的兩路殘差信號組合,以得到所述兩路身歷聲信號中的一路身歷聲信號;以及將所述三路殘差信號中除所述相關性最高的兩路殘差信號之外的一路殘差信號與所述第二路預設單聲道信號組合,以得到所述兩路身歷聲信號中的另一路身歷聲信號。
  7. 如請求項5所述的編碼方法,其中所述第一路預設單聲道信號為全零信號或全一信號,所述全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,所述全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號;所述第二路預設單聲道信號為全零信號或全一信號;以及所述第一路預設單聲道信號與所述第二路預設單聲道信號相同或不同。
  8. 如請求項4所述的編碼方法,其中所述將所述虛擬揚聲器信號和所述殘差信號編入所述碼流包括:通過單聲道編碼器將所述一路虛擬揚聲器信號、以及所述三路殘差信號中的各路殘差信號分別編入所述碼流。
  9. 如請求項1-8任一所述的編碼方法,其中所述根據當前幀的高階立體混響HOA信號確定所述當前幀的編碼方案之後,所述編碼方法更包括:若所述當前幀的編碼方案為所述第一編碼方案,則按照所述第一編碼方案將所述HOA信號編入所述碼流;以及若所述當前幀的編碼方案為所述第二編碼方案,則按照所述第二編碼方案將所述HOA信號編入所述碼流。
  10. 如請求項1所述的編碼方法,其中所述根據所述HOA信號確定所述當前幀的初始編碼方案之後更包括:將所述當前幀的初始編碼方案的指示資訊編入所述碼流。
  11. 如請求項1-8任一所述的編碼方法,其中所述根據當前幀的高階立體混響HOA信號確定所述當前幀的編碼方案之後更包括:確定所述當前幀的切換標誌的值,當所述當前幀的編碼方案為所述第一編碼方案或所述第二編碼方案時,所述當前幀的切換標誌的值為第一值;當所述當前幀的編碼方案為所述第三編碼方案時,所述當前幀的切換標誌的值為第二值;以及將所述切換標誌的值編入所述碼流。
  12. 如請求項1-8任一所述的編碼方法,其中所述根據當前幀的HOA信號確定所述當前幀的編碼方案之後更包括:將所述當前幀的編碼方案的指示資訊編入所述碼流。
  13. 如請求項1-8任一所述的編碼方法,其中所述指定通道與所述第一編碼方案中預設的傳輸通道一致。
  14. 一種解碼方法,包括:基於碼流獲得當前幀的解碼方案,所述當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種;其中,所述第一解碼方案為基於方向音訊解碼的高階立體混響HOA解碼方案,所述第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,所述第三解碼方案為混合解碼方案;若所述當前幀的解碼方案為所述第三解碼方案,則基於碼流確定所述當前幀的HOA信號中指定通道的信號,所述指定通道為所述HOA信號的所有通道中的部分通道;基於所述指定通道的信號,確定所述HOA信號中除所述指定通道之外的一個或多個剩餘通道的增益;基於所述指定通道的信號和所述一個或多個剩餘通道的增益,確定所述一個或多個剩餘通道中各個剩餘通道的信號;以及基於所述指定通道的信號和所述一個或多個剩餘通道的信號,獲得所述當前幀的重建HOA信號;其中所述基於碼流獲得當前幀的解碼方案包括:從所述碼流中解析出所述當前幀的切換標誌的值;若所述切換標誌的值為第一值,則從所述碼流中解析所述當前幀的解碼方案的指示資訊,所述指示資訊用於指示所述當前幀的解碼方案為所述第一解碼方案或所述第二解碼方案;以及 若所述切換標誌的值為第二值,確定所述當前幀的解碼方案為所述第三解碼方案;其中所述基於碼流獲得當前幀的解碼方案包括:從所述碼流中解析出所述當前幀的初始解碼方案,所述初始解碼方案為所述第一解碼方案或所述第二解碼方案;若所述當前幀的初始解碼方案與所述當前幀的前一幀的初始解碼方案相同,則確定所述當前幀的解碼方案為所述當前幀的初始解碼方案;以及若所述當前幀的初始解碼方案為所述第一解碼方案且所述當前幀的前一幀的初始解碼方案為所述第二解碼方案,或所述當前幀的初始解碼方案為所述第二解碼方案且所述當前幀的前一幀的初始解碼方案為所述第一解碼方案,則確定所述當前幀的解碼方案為所述第三解碼方案。
  15. 如請求項14所述的解碼方法,其中所述基於所述碼流確定所述當前幀的HOA信號中指定通道的信號包括:基於所述碼流確定虛擬揚聲器信號和殘差信號;以及基於所述虛擬揚聲器信號和所述殘差信號,確定所述指定通道的信號。
  16. 如請求項15所述的解碼方法,其中所述基於所述碼流確定虛擬揚聲器信號和殘差信號包括:通過身歷聲解碼器對所述碼流進行解碼,以得到三路身歷聲信號;以及 基於所述三路身歷聲信號,確定一路所述虛擬揚聲器信號和三路所述殘差信號。
  17. 如請求項16所述的解碼方法,其中所述基於所述三路身歷聲信號,確定一路所述虛擬揚聲器信號和三路所述殘差信號包括:基於所述三路身歷聲信號中的一路身歷聲信號,確定所述一路虛擬揚聲器信號;以及基於所述三路身歷聲信號中的另兩路身歷聲信號,確定所述三路殘差信號。
  18. 如請求項15所述的解碼方法,其中所述基於所述碼流確定虛擬揚聲器信號和殘差信號包括:通過單聲道解碼器對所述碼流進行解碼,以得到一路所述虛擬揚聲器信號和三路所述殘差信號。
  19. 如請求項15的解碼方法,其中所述指定通道的信號包括一階立體混響FOA信號,所述FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號;所述基於所述虛擬揚聲器信號和所述殘差信號,確定所述指定通道的信號,包括:基於所述虛擬揚聲器信號,確定所述W信號;以及基於所述殘差信號與所述W信號確定所述X信號、所述Y信號和所述Z信號,或者,基於所述殘差信號確定所述X信號、所述Y信號和所述Z信號。
  20. 如請求項14-19任一所述的解碼方法,更包括:若所述當前幀的解碼方案為所述第一解碼方案,則按照所述第一解碼方案,根據所述碼流獲得所述當前幀的重建HOA信號;以及若所述當前幀的解碼方案為所述第二解碼方案,則按照所述第二解碼方案,根據所述碼流獲得所述當前幀的重建HOA信號。
  21. 如請求項20所述的解碼方法,其中所述按照所述第二解碼方案,根據所述碼流獲得所述當前幀的重建HOA信號包括:按照所述第二解碼方案,根據所述碼流獲得初始HOA信號;若所述當前幀的前一幀的解碼方案為所述第三解碼方案,則根據所述當前幀的前一幀的高階增益,對所述初始HOA信號的高階部分進行增益調整;以及基於所述初始HOA信號的低階部分和經增益調整的高階部分,獲得所述重建HOA信號。
  22. 如請求項14-19任一所述的解碼方法,其中所述基於碼流獲得當前幀的解碼方案包括:從所述碼流中解析出所述當前幀的解碼方案的指示資訊,所述指示資訊用於指示所述當前幀的解碼方案為所述第一解碼方案、所述第二解碼方案或所述第三解碼方案。
  23. 一種編碼裝置,包括:第一確定模組,用於根據當前幀的高階立體混響HOA信號 確定所述當前幀的編碼方案,所述當前幀的編碼方案為第一編碼方案、第二編碼方案和第三編碼方案中的一種,其中,所述第一編碼方案為基於方向音訊編碼的HOA編碼方案,所述第二編碼方案為基於虛擬揚聲器選擇的HOA編碼方案,所述第三編碼方案為混合編碼方案;以及第一編碼模組,用於若所述當前幀的編碼方案為所述第三編碼方案,則將所述HOA信號中指定通道的信號編入碼流,所述指定通道為所述HOA信號的所有通道中的部分通道;其中所述第一確定模組包括:第二確定子模組,用於根據所述HOA信號確定所述當前幀的初始編碼方案,所述初始編碼方案為所述第一編碼方案或所述第二編碼方案;第三確定子模組,用於若所述當前幀的初始編碼方案與所述當前幀的前一幀的初始編碼方案相同,則確定所述當前幀的編碼方案為所述當前幀的初始編碼方案;以及第四確定子模組,用於若所述當前幀的初始編碼方案為所述第一編碼方案且所述當前幀的前一幀的初始編碼方案為所述第二編碼方案,或所述當前幀的初始編碼方案為所述第二編碼方案且所述當前幀的前一幀的初始編碼方案為所述第一編碼方案,則確定所述當前幀的編碼方案為所述第三編碼方案。
  24. 如請求項23所述的編碼裝置,其中所述指定通道的信號包括一階立體混響FOA信號,所述FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號。
  25. 如請求項24所述的編碼裝置,其中所述第一編碼模組包括:第一確定子模組,用於基於所述W信號、所述X信號、所述Y信號和所述Z信號,確定虛擬揚聲器信號和殘差信號;以及編碼子模組,用於將所述虛擬揚聲器信號和所述殘差信號編入所述碼流。
  26. 如請求項25所述的編碼裝置,其中所述第一確定子模組用於:將所述W信號確定為一路所述虛擬揚聲器信號;以及將所述X信號、所述Y信號和所述Z信號分別與所述W信號之間的差信號確定為三路所述殘差信號,或者,將所述X信號、所述Y信號和所述Z信號確定為三路所述殘差信號。
  27. 如請求項26所述的編碼裝置,其中所述編碼子模組用於:將所述一路虛擬揚聲器信號與第一路預設單聲道信號組合,以得到一路身歷聲信號;將所述三路殘差信號與第二路預設單聲道信號組合,以得到兩路身歷聲信號;以及通過身歷聲編碼器將得到的三路身歷聲信號分別編入所述碼 流。
  28. 如請求項27所述的編碼裝置,其中所述編碼子模組用於:將所述三路殘差信號中相關性最高的兩路殘差信號組合,以得到所述兩路身歷聲信號中的一路身歷聲信號;以及將所述三路殘差信號中除所述相關性最高的兩路殘差信號之外的一路殘差信號與所述第二路預設單聲道信號組合,以得到所述兩路身歷聲信號中的另一路身歷聲信號。
  29. 如請求項27所述的編碼裝置,其中所述第一路預設單聲道信號為全零信號或全一信號,所述全零信號包括採樣點的值均為零的信號或者頻點的值均為零的信號,所述全一信號包括採樣點的值均為一的信號或者頻點的值均為一的信號;所述第二路預設單聲道信號為全零信號或全一信號;以及所述第一路預設單聲道信號與所述第二路預設單聲道信號相同或不同。
  30. 如請求項26所述的編碼裝置,其中所述編碼子模組用於:通過單聲道編碼器將所述一路虛擬揚聲器信號、以及所述三路殘差信號中的各路殘差信號分別編入所述碼流。
  31. 如請求項23-30任一所述的編碼裝置,更包括:第二編碼模組,用於若所述當前幀的編碼方案為所述第一編碼方案,則按照所述第一編碼方案將所述HOA信號編入所述碼流; 以及第三編碼模組,用於若所述當前幀的編碼方案為所述第二編碼方案,則按照所述第二編碼方案將所述HOA信號編入所述碼流。
  32. 如請求項31所述的編碼裝置,更包括:第四編碼模組,用於將所述當前幀的初始編碼方案的指示資訊編入所述碼流。
  33. 如請求項23-30任一所述的編碼裝置,更包括:第二確定模組,用於確定所述當前幀的切換標誌的值,當所述當前幀的編碼方案為所述第一編碼方案或所述第二編碼方案時,所述當前幀的切換標誌的值為第一值;當所述當前幀的編碼方案為所述第三編碼方案時,所述當前幀的切換標誌的值為第二值;以及第五編碼模組,用於將所述切換標誌的值編入所述碼流。
  34. 如請求項23-30任一所述的編碼裝置,更包括:第六編碼模組,用於將所述當前幀的編碼方案的指示資訊編入所述碼流。
  35. 如請求項23-30任一所述的編碼裝置,其中所述指定通道與所述第一編碼方案中預設的傳輸通道一致。
  36. 一種解碼裝置,包括:第一獲得模組,用於基於碼流獲得當前幀的解碼方案,所述當前幀的解碼方案為第一解碼方案、第二解碼方案和第三解碼方案中的一種;其中,所述第一解碼方案為基於方向音訊解碼的高階 立體混響HOA解碼方案,所述第二解碼方案為基於虛擬揚聲器選擇的HOA解碼方案,所述第三解碼方案為混合解碼方案;第一確定模組,用於若所述當前幀的解碼方案為所述第三解碼方案,則基於碼流確定所述當前幀的HOA信號中指定通道的信號,所述指定通道為所述HOA信號的所有通道中的部分通道;第二確定模組,用於基於所述指定通道的信號,確定所述HOA信號中除所述指定通道之外的一個或多個剩餘通道的增益;第三確定模組,用於基於所述指定通道的信號和所述一個或多個剩餘通道的增益,確定所述一個或多個剩餘通道中各個剩餘通道的信號;以及第二獲得模組,用於基於所述指定通道的信號和所述一個或多個剩餘通道的信號,獲得所述當前幀的重建HOA信號;其中所述第一獲得模組包括:第一解析子模組,用於從所述碼流中解析出所述當前幀的切換標誌的值;第二解析子模組,用於若所述切換標誌的值為第一值,則從所述碼流中解析所述當前幀的解碼方案的指示資訊,所述指示資訊用於指示所述當前幀的解碼方案為所述第一解碼方案或所述第二解碼方案;以及第三確定子模組,用於若所述切換標誌的值為第二值,確定所述當前幀的解碼方案為所述第三解碼方案;其中所述第一獲得模組包括: 第四解析子模組,用於從所述碼流中解析出所述當前幀的初始解碼方案,所述初始解碼方案為所述第一解碼方案或所述第二解碼方案;第四確定子模組,用於若所述當前幀的初始解碼方案與所述當前幀的前一幀的初始解碼方案相同,則確定所述當前幀的解碼方案為所述當前幀的初始解碼方案;以及第五確定子模組,用於若所述當前幀的初始解碼方案為所述第一解碼方案且所述當前幀的前一幀的初始解碼方案為所述第二解碼方案,或所述當前幀的初始解碼方案為所述第二解碼方案且所述當前幀的前一幀的初始解碼方案為所述第一解碼方案,則確定所述當前幀的解碼方案為所述第三解碼方案。
  37. 如請求項36所述的解碼裝置,其中所述第一確定模組包括:第一確定子模組,用於基於所述碼流確定虛擬揚聲器信號和殘差信號;以及第二確定子模組,用於基於所述虛擬揚聲器信號和所述殘差信號,確定所述指定通道的信號。
  38. 如請求項37所述的解碼裝置,其中所述第一確定子模組用於:通過身歷聲解碼器對所述碼流進行解碼,以得到三路身歷聲信號;以及基於所述三路身歷聲信號,確定一路所述虛擬揚聲器信號和 三路所述殘差信號。
  39. 如請求項38所述的解碼裝置,其中所述第一確定子模組用於:基於所述三路身歷聲信號中的一路身歷聲信號,確定所述一路虛擬揚聲器信號;以及基於所述三路身歷聲信號中的另兩路身歷聲信號,確定所述三路殘差信號。
  40. 如請求項37所述的解碼裝置,其中所述第一確定子模組用於:通過單聲道解碼器對所述碼流進行解碼,以得到一路所述虛擬揚聲器信號和三路所述殘差信號。
  41. 如請求項37-40任一所述的解碼裝置,其中所述指定通道的信號包括一階立體混響FOA信號,所述FOA信號包括全向的W信號,以及定向的X信號、Y信號和Z信號;所述第一確定子模組用於:基於所述虛擬揚聲器信號,確定所述W信號;以及基於所述殘差信號與所述W信號確定所述X信號、所述Y信號和所述Z信號,或者,基於所述殘差信號確定所述X信號、所述Y信號和所述Z信號。
  42. 如請求項36-40任一所述的解碼裝置,更包括:第一解碼模組,用於若所述當前幀的解碼方案為所述第一解碼方案,則按照所述第一解碼方案,根據所述碼流獲得所述當前幀 的重建HOA信號;以及第二解碼模組,用於若所述當前幀的解碼方案為所述第二解碼方案,則按照所述第二解碼方案,根據所述碼流獲得所述當前幀的重建HOA信號。
  43. 如請求項42所述的解碼裝置,其中所述第二解碼模組包括:第一獲得子模組,用於按照所述第二解碼方案,根據所述碼流獲得初始HOA信號;增益調整子模組,用於若所述當前幀的前一幀的解碼方案為所述第三解碼方案,則根據所述當前幀的前一幀的高階增益,對所述初始HOA信號的高階部分進行增益調整;以及第二獲得子模組,用於基於所述初始HOA信號的低階部分和經增益調整的高階部分,獲得所述重建HOA信號。
  44. 如請求項36-40任一所述的解碼裝置,其中所述第一獲得模組包括:第三解析子模組,用於從所述碼流中解析出所述當前幀的解碼方案的指示資訊,所述指示資訊用於指示所述當前幀的解碼方案為所述第一解碼方案、所述第二解碼方案或所述第三解碼方案。
  45. 一種編碼端設備,其中所述編碼端設備包括記憶體和處理器;所述記憶體用於儲存電腦程式,所述處理器用於執行所述記憶體中儲存的所述電腦程式,以實現請求項1-13任一項所述的編 碼方法。
  46. 一種解碼端設備,其中所述解碼端設備包括記憶體和處理器;所述記憶體用於儲存電腦程式,所述處理器用於執行所述記憶體中儲存的所述電腦程式,以實現請求項14-22任一項所述的解碼方法。
  47. 一種電腦可讀取儲存媒體,其中所述儲存媒體內儲存有指令,當所述指令在所述電腦上運行時,使得所述電腦執行請求項1-22任一項所述的方法的步驟。
  48. 一種電腦程式產品,其中所述電腦程式產品包含指令,所述指令被處理器執行時實現如請求項1-22中任一項所述的方法。
TW111135552A 2021-09-29 2022-09-20 編解碼方法、裝置、設備、儲存媒體及電腦程式產品 TWI847276B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111155384.0A CN115881140A (zh) 2021-09-29 2021-09-29 编解码方法、装置、设备、存储介质及计算机程序产品
CN202111155384.0 2021-09-29

Publications (2)

Publication Number Publication Date
TW202333139A TW202333139A (zh) 2023-08-16
TWI847276B true TWI847276B (zh) 2024-07-01

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020263849A1 (en) 2019-06-24 2020-12-30 Qualcomm Incorporated Coding scaled spatial components

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020263849A1 (en) 2019-06-24 2020-12-30 Qualcomm Incorporated Coding scaled spatial components

Similar Documents

Publication Publication Date Title
US10224894B2 (en) Metadata for ducking control
BR112020012142A2 (pt) informações de prioridade para dados de áudio ambissônico de ordem superior
CN107277691B (zh) 基于云的多声道音频播放方法、***及音频网关装置
MX2011005782A (es) Metodo y aparato para controlar la reproduccion de datos de video-audio.
US20230298600A1 (en) Audio encoding and decoding method and apparatus
US20230179941A1 (en) Audio Signal Rendering Method and Apparatus
US11568882B2 (en) Inter-channel phase difference parameter encoding method and apparatus
WO2021160040A1 (zh) 音频传输方法及电子设备
US20230137053A1 (en) Audio Coding Method and Apparatus
US20200020342A1 (en) Error concealment for audio data using reference pools
EP2360684B1 (en) Audio reproducing device and audio reproducing method
KR20230002899A (ko) 오디오 신호 코딩 방법 및 장치
TWI847276B (zh) 編解碼方法、裝置、設備、儲存媒體及電腦程式產品
US20230105508A1 (en) Audio Coding Method and Apparatus
WO2023051368A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序产品
WO2023051367A1 (zh) 解码方法、装置、设备、存储介质及计算机程序产品
KR20230038777A (ko) 멀티-채널 오디오 신호 인코딩/디코딩 방법 및 장치
AU2021388397A1 (en) Audio encoding/decoding method and device
JP2023523081A (ja) 音声信号に対するビット割り当て方法及び装置
WO2023051370A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序
WO2024139865A1 (zh) 虚拟扬声器的确定方法及相关装置
WO2022242534A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序
WO2023023504A1 (en) Wireless surround sound system with common bitstream
TW202305787A (zh) 編解碼方法、裝置、設備、儲存介質及電腦程式
CN116582697A (zh) 音频传输方法、装置、终端、存储介质及程序产品