TWI667914B - 一種影像資料的編碼、解碼方法及裝置 - Google Patents
一種影像資料的編碼、解碼方法及裝置 Download PDFInfo
- Publication number
- TWI667914B TWI667914B TW107111355A TW107111355A TWI667914B TW I667914 B TWI667914 B TW I667914B TW 107111355 A TW107111355 A TW 107111355A TW 107111355 A TW107111355 A TW 107111355A TW I667914 B TWI667914 B TW I667914B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- coding tree
- level coding
- tree
- division
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請實施例公開了一種影像資料的編碼、解碼方法及裝置,涉及影像處理領域,解決了編碼複雜度較高的問題。影像資料的解碼方法具體包括:得到包含影像資料的位元流;解析位元流,得到第一級編碼樹的節點劃分方式訊息;解析位元流,得到第二級編碼樹的節點劃分方式訊息;如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,解析位元流,得到第一節點的三個子節點的編碼訊息,第一節點的一個子節點對應一個編碼單元;根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
Description
本申請實施例涉及影像處理領域,尤其涉及一種影像資料的編碼、解碼方法及裝置。
視頻編解碼標準H.265將一幀影像分割成互不重疊的編碼樹單元(Coding Tree Unit,CTU),並將每個CTU作為四叉樹(Quad-Tree,QT)的根節點,按照QT結構將每個CTU遞歸劃分為若干個葉節點。QT結構中的每個節點對應一個影像區域。如果某一節點不再劃分,則該節點稱為葉節點,它對應的影像區域形成一個編碼單元(Coding Unit,CU)。因此,可以認為H.265是一種將CTU劃分為一組CU的過程。將CTU劃分成一組CU的劃分方式對應於一個編碼樹(coding tree)。
未來視頻編碼聯合探索組(Joint Exploration team on Future Video Coding,JVET)參考軟體聯合探索模型(Joint Exploration Model,JEM)提出了QTBT劃分方式,即第一級編碼樹中的節點採用QT劃分方式,第二級編碼樹中的節點採用二叉樹(Binary Tree,BT)劃分方式(BT劃分方式包括“水平二分”和“豎直二分”)。具體的,將CTU先按照QT劃分方式劃分,以獲取若干個QT葉節點;QT的葉節點可以按照BT劃分方式劃分。QTBT劃分方式中CU形狀更加多樣,能夠更好地適應局部影像的內容。
但是,對於每個節點,編碼端設備通常需要計算該節點能夠使用的每一種劃分方式的率失真代價(Rate Distortion cost,RD cost),比較計算出的RD cost,並將最小的RD cost所對應的劃分方式判斷為該節點的劃分方式。因此,對於每個節點,編碼端設備均需要計算多種劃分方式的RD cost,這樣的話,編碼複雜度較高。
本申請實施例提供一種影像資料的編碼、解碼方法及裝置,能夠解決目前編碼複雜度較高的問題。
為達到上述目的,本申請實施例採用如下技術方案:
第一方面,提供一種影像資料的解碼方法,解碼端設備在得到包含影像資料的位元流後,通過解析該位元流,得到第一級編碼樹的節點劃分方式訊息和第二級編碼樹的節點劃分方式訊息,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,該解碼端設備通過解析位元流,得到第一節點的三個子節點的編碼訊息,第一節點的一個子節點對應一個編碼單元CU,這樣,該解碼端設備可根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。本申請中第一級編碼樹的根節點對應一個CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。
本申請實施例中的解碼端設備只需判斷第一節點對應的劃分方式為三叉樹劃分,即可直接得到第一節點的三個子節點的編碼訊息,無需再依次對第一節點的三個子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
可選的,在本申請的另一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
第二方面,提供一種解碼端設備,該解碼端設備包括獲取模組、解析模組以及解碼重建模組。其中,上述獲取模組,用於得到包含影像資料的位元流。上述解析模組,用於解析上述獲取模組獲取到的位元流,得到第一級編碼樹的節點劃分方式訊息,其中,第一級編碼樹的根節點對應一個編碼樹單元CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,以及用於解析位元流,得到第二級編碼樹的節點劃分方式訊息,其中,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,以及用於如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,解析位元流,得到第一節點的三個子節點的編碼訊息,其中,第一節點的一個子節點對應一個編碼單元CU。上述解碼重建模組,用於根據上述解析模組得到的第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
可選的,在本申請的另一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
本申請中第二方面及其各種實現方式的具體描述,可以參考第一方面及其各種實現方式中的詳細描述;並且,第二方面及其各種實現方式的有益效果,可以參考第一方面及其各種實現方式中的有益效果分析,此處不再贅述。
第三方面,提供一種影像資料的解碼方法,解碼端設備在得到包含影像資料的位元流後,通過解析該位元流,得到第一級編碼樹的節點劃分方式訊息和第二級編碼樹的節點劃分方式訊息,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,該解碼端設備通過解析位元流,得到第三級編碼樹的節點劃分方式訊息;如果第三級編碼樹的節點劃分方式訊息指示第一節點對應的劃分方式為三叉樹劃分,該解碼端設備通過解析位元流,得到第一節點的三個子節點的編碼訊息,第一節點的一個子節點對應一個編碼單元CU,這樣,該解碼端設備可根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。本申請中第一級編碼樹的根節點對應一個CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,第一節點為第三級編碼樹的一個根節點。
本申請實施例中的解碼端設備只需判斷第一節點對應的劃分方式為三叉樹劃分,即可直接得到第一節點的三個子節點的編碼訊息,無需再依次對第一節點的三個子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分,第三級編碼對應的節點劃分方式包括三叉樹劃分。
第四方面,提供一種解碼端設備,該解碼端設備包括獲取模組、解析模組和解碼重建模組。其中,上述獲取模組,用於得到包含影像資料的位元流。上述解析模組,用於解析上述獲取模組獲取到的位元流,得到第一級編碼樹的節點劃分方式訊息,其中,第一級編碼樹的根節點對應一個編碼樹單元CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,以及用於解析位元流,得到第二級編碼樹的節點劃分方式訊息,其中,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,以及用於如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,解析位元流,得到第三級編碼樹的節點劃分方式訊息,其中,第三級編碼樹的根節點為第一節點,以及用於如果第三級編碼樹的節點劃分方式訊息指示第一節點對應的劃分方式為三叉樹劃分,解析位元流,得到第一節點的三個子節點的編碼訊息,其中,第一節點的一個子節點對應一個編碼單元CU。上述解碼重建模組,用於根據上述解析模組得到的第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分,第三級編碼對應的節點劃分方式包括三叉樹劃分。
本申請中第四方面及其各種實現方式的具體描述,可以參考第三方面及其各種實現方式中的詳細描述;並且,第四方面及其各種實現方式的有益效果,可以參考第三方面及其各種實現方式中的有益效果分析,此處不再贅述。
第五方面,提供一種影像資料的解碼方法,解碼端設備在得到包含影像資料的位元流後,通過解析該位元流,得到用於指示是否限制三叉樹劃分得到的節點繼續進行劃分的三叉樹葉節點模式標識、第一級編碼樹的節點劃分方式訊息和第二級編碼樹的節點劃分方式訊息,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,且三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分,該解碼端設備通過解析位元流,得到第一節點的三個子節點的編碼訊息,第一節點的一個子節點對應一個編碼單元CU,這樣,該解碼端設備可根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。本申請中第一級編碼樹的根節點對應一個CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。
本申請實施例增加了限制節點劃分的條件:若某一節點的父節點對應的劃分方式為三叉樹劃分,則該節點不再繼續劃分。解碼端設備只需判斷某一節點對應的劃分方式為三叉樹劃分,即可直接得到該節點的子節點的編碼訊息,無需再依次對該節點的所有子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。此外,解碼端設備可根據三叉樹葉節點模式標識判斷節點劃分的限制情況,從而自適應地獲取每一級編碼樹的節點劃分訊息。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
第六方面,提供一種解碼端設備,該解碼端設備包括獲取模組、解析模組和解碼重建模組。其中,上述獲取模組,用於得到包含影像資料的位元流。上述解析模組,用於解析上述獲取模組獲取到的位元流,得到三叉樹葉節點模式標識,三叉樹葉節點模式標識用於指示是否限制三叉樹劃分得到的節點繼續進行劃分,以及用於解析位元流,得到第一級編碼樹的節點劃分方式訊息,其中,第一級編碼樹的根節點對應一個編碼樹單元CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,以及用於解析位元流,得到第二級編碼樹的節點劃分方式訊息,其中,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,以及用於如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,且三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分,解析位元流,得到第一節點的三個子節點的編碼訊息,其中,第一節點的一個子節點對應一個編碼單元CU。上述解碼重建模組,用於根據上述解析模組得到的第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
本申請中第六方面及其各種實現方式的具體描述,可以參考第五方面及其各種實現方式中的詳細描述;並且,第六方面及其各種實現方式的有益效果,可以參考第五方面及其各種實現方式中的有益效果分析,此處不再贅述。
第七方面,提供一種影像資料的編碼方法,編碼端設備在判斷與待編碼影像塊對應的CTU後,將該CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到第一級編碼樹的葉節點,其中,第一級編碼樹的根節點對應該CTU;編碼端設備根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,預設條件包括:若第一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分第一節點;如果第一節點能夠使用的劃分方式為不劃分,該編碼端設備對與第一節點對應的編碼單元進行編碼,得到對應編碼單元的編碼單元位元流。
本申請實施例中的預設條件限制了第二級編碼樹中的節點的劃分,第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再繼續劃分,這樣,大幅度的減少了劃分第二級編碼樹中節點的複雜度,降低了編碼複雜度。
此外,由於第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再繼續劃分,這樣,編碼端設備完成編碼後發送的位元流中可以不再包括該節點的子節點的劃分訊息,節省了傳輸比特,降低了位元流的長度。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
可選的,在本申請的另一種可能的實現方式中,如果第一節點能夠使用的劃分方式未包括不劃分,編碼端設備計算第一節點能夠使用的劃分方式中的每種劃分方式的率失真代價,並將最小的率失真代價對應的劃分方式判斷為第一節點對應的目標劃分方式,這樣編碼端設備即可使用第一節點對應的目標劃分方式劃分第一節點。
可選的,在本申請的另一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
第八方面,提供一種編碼端設備,該編碼端設備包括判斷模組、劃分模組和編碼模組。其中,上述判斷模組,用於判斷與待編碼影像塊對應的編碼樹單元CTU。上述劃分模組,用於將上述判斷模組判斷的CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到第一級編碼樹的葉節點,第一級編碼樹的根節點對應CTU。上述判斷模組,還用於根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,預設條件包括:若第一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分第一節點,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。上述編碼模組,用於如果上述判斷模組判斷出的第一節點能夠使用的劃分方式為不劃分,對與第一節點對應的編碼單元CU進行編碼,得到對應編碼單元的編碼單元位元流。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式與第二級編碼樹對應的節點劃分方式不相同。
可選的,在本申請的一種可能的實現方式中,本申請實施例提供的編碼端設備還包括計算模組,該計算模組用於如果上述判斷模組判斷第一節點能夠使用的劃分方式未包括不劃分,計算第一節點能夠使用的劃分方式中的每種劃分方式的率失真代價。上述判斷模組,還用於將最小的率失真代價對應的劃分方式判斷為第一節點對應的目標劃分方式。上述劃分模組具體用於使用上述判斷模組判斷的第一節點對應的目標劃分方式劃分第一節點。
可選的,在本申請的一種可能的實現方式中,第一級編碼樹對應的節點劃分方式包括四叉樹劃分,第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
本申請中第八方面及其各種實現方式的具體描述,可以參考第七方面及其各種實現方式中的詳細描述;並且,第八方面及其各種實現方式的有益效果,可以參考第七方面及其各種實現方式中的有益效果分析,此處不再贅述。
第九方面,提供一種解碼端設備,其特徵在於,解碼端設備包括:一個或多個處理器、儲存器、通訊介面。該儲存器、通訊介面與一個或多個處理器耦合;儲存器用於儲存電腦程式代碼,電腦程式代碼包括指令,當一個或多個處理器執行指令時,解碼端設備執行如上述第一方面、第三方面、第四方面、第六方面及其任意一種可能的實現方式所述的影像資料的解碼方法。
第十方面,提供一種編碼端設備,其特徵在於,編碼端設備包括:一個或多個處理器、儲存器、通訊介面。該儲存器、通訊介面與一個或多個處理器耦合;儲存器用於儲存電腦程式代碼,電腦程式代碼包括指令,當一個或多個處理器執行指令時,編碼端設備執行如上述第八方面及其任意一種可能的實現方式所述的影像資料的編碼方法。
第十一方面,提供一種電腦可讀儲存媒體,所述電腦可讀儲存媒體中儲存有指令,其特徵在於,當所述指令在解碼端設備上運行時,使得所述解碼端設備執行如上述第一方面、第三方面、第四方面、第六方面及其任意一種可能的實現方式所述的影像資料的解碼方法。
第十二方面,提供一種電腦可讀儲存媒體,所述電腦可讀儲存媒體中儲存有指令,其特徵在於,當所述指令在編碼端設備上運行時,使得所述編碼端設備執行如上述第八方面及其任意一種可能的實現方式所述的影像資料的編碼方法。
第十三方面,提供一種包含指令的電腦程式產品,當該電腦程式產品在解碼端設備上運行時,使得解碼端設備執行如上述第一方面、第三方面、第四方面、第六方面及其任意一種可能的實現方式所述的影像資料的解碼方法。
第十四方面,提供一種包含指令的電腦程式產品,當該電腦程式產品在編碼端設備上運行時,使得編碼端設備執行如上述第八方面及其任意一種可能的實現方式所述的影像資料的編碼方法。
在本申請中,上述解碼端設備和編碼端設備的名字對設備或功能模組本身不構成限定,在實際實現中,這些設備或功能模組可以以其他名稱出現。只要各個設備或功能模組的功能和本申請類似,屬本申請申請專利範圍及其等同技術的範圍之內。
本申請的這些方面或其他方面在以下的描述中會更加簡明易懂。
本申請的說明書和申請專利範圍及上述附圖中的術語“第一”、“第二”、“第三”和“第四”等是用於區別不同對象,而不是用於限定特定順序。
在本申請實施例中,“示例性的”或者“例如”等詞用於表示作例子、例證或說明。本申請實施例中被描述為“示例性的”或者“例如”的任何實施例或設計方案不應被解釋為比其它實施例或設計方案更優選或更具優勢。確切而言,使用“示例性的”或者“例如”等詞旨在以具體方式呈現相關概念。
為了方便理解本申請實施例,首先在此介紹本申請實施例涉及到的相關要素。
編碼樹單元(Coding Tree Unit,CTU):一幅影像由多個CTU構成,一個CTU通常對應於一個方形影像區域,如圖1(a)所示,影像10由多個CTU構成(包括CTU A、CTU B、CTU C等)。與某一CTU對應的編碼訊息包含與該CTU對應的方形影像區域中的像素的亮度值和/或色度值。此外,與某一CTU對應的編碼訊息還可以包含語法元素,這些語法元素指示如何將該CTU劃分成至少一個CU,以及解碼每個CU以得到重建影像的方法。
一個CTU對應的影像區域可以包括64×64、128×128或256×256個像素。在一個示例中,64×64個像素的CTU包含由64列、每列64個像素的矩形像素點陣,每個像素包含亮度分量和/或色度分量。
可以理解的是,CTU也可以對應矩形影像區域或者其它形狀的影像區域,一個CTU對應的影像區域也可以是水平方向的像素點的數量與豎直方向的像素點數量不同的影像區域,例如包括64×128個像素。
編碼單元(Coding Unit,CU):通常對應於一個A×B的矩形區域,A為矩形的寬,B為矩形的高,其中,本申請實施例中涉及到的寬是指圖1示出的二維直角坐標系XoY中沿X軸方向(水平方向)的長度,高是指圖1示出的二維直角坐標系XoY中沿Y軸方向(豎直方向)的長度。這裡,A和B的取值可以相同,也可以不同。A和B的取值通常為2的整數次冪,例如:256、128、64、32、16、8或4等。一個CU可通過解碼處理得到一個A×B的矩形區域的重建影像塊,解碼處理通常包括預測(prediction)、反量化(dequantization)、反變換(inverse transform)等處理,產生預測影像和殘差,預測影像和殘差疊加後得到重建影像塊。多個重建影像塊可以得到最終的重建影像。
四叉樹(Quad-Tree,QT):一種樹狀結構,一個節點可劃分為四個子節點。在一個示例中,視頻編解碼標準H.265採用基於四叉樹的CTU劃分方式:將CTU作為根節點,每個節點對應於一個方形影像區域;對於某一節點,可以不再劃分該節點(此時該節點對應的方形影像區域為一個CU),也可以將該節點劃分成四個下一層級的節點,即把該節點對應的方形影像區域劃分成四個大小相同的方形區域(其寬、高各為劃分前區域寬、高的一半),每個區域對應於一個節點。如圖1(b)所示,CTU A為根節點,將CTU A劃分為a、b、c和d四個節點,若不再劃分a節點,則a節點對應的方形影像區域對應一個CU。
二叉樹(Binary Tree,BT):一種樹狀結構,一個節點可劃分成兩個子節點。對於二叉樹結構上的某一節點,可以不再劃分該節點,也可以將該節點劃分成兩個下一層級的節點。二叉樹劃分方式可以包括:
(1)、水平二分
將節點對應的影像區域劃分成上、下兩個相同大小的區域,即被劃分的影像區域的寬保持不變,高變為被劃分的影像區域的一半,劃分後的每個影像區域對應於一個子節點。如圖1(c)所示,節點b使用水平二分劃分方式劃分,生成節點e和節點f。
(2)、豎直二分
將節點對應的區域劃分成左、右兩個大小相同的區域,即被劃分的影像區域的高保持不變,寬變為被劃分的影像區域的一半,劃分後的每個影像區域對應於一個子節點。如圖1(d)所示,節點d使用豎直二分劃分方式劃分,生成節點g和節點h。
可以理解的是,上述水平二分和豎直二分是對二叉樹劃分方式的一種示例。可以採用別的方式將節點對應的影像區域劃分為兩個子區域。例如水平劃分兩個高不相等的子區域,或者豎直劃分為兩個寬不相等的區域。
三叉樹(Triple Tree,TT):一種樹狀結構,一個節點可劃分成三個子節點。對於三叉樹結構上的某一節點,可以不再劃分該節點,也可以將該節點劃分成三個下一層級的節點。三叉樹劃分方式可以包括:
(1)、水平三分
將節點對應的影像區域劃分成上、中、下三個區域,每個區域對應於一個子節點。在一個示例中,上、中、下三個區域的高分別為劃分前的影像區域的高的1/4、1/2、1/4。如圖1(e)所示,節點c使用水平三分劃分方式劃分,生成節點j、節點k和節點m,節點j對應的影像區域的高為節點c對應的影像區域的高的1/4,節點k對應的影像區域的高為節點c對應的影像區域的高的1/2,節點m對應的影像區域的高為節點c對應的影像區域的高的1/4。在另一個示例中,上、中、下三個區域的高分別為劃分前的影像區域的高的1/3、1/3、1/3,即將節點對應的影像區域按照圖1示出的二維直角坐標系XoY中的X軸的方向平均劃分為三個區域。如圖1(f)所示,節點c使用水平三分劃分方式劃分,生成節點j、節點k和節點m,節點j對應的影像區域的高、節點k對應的影像區域的高、節點m對應的影像區域的高均為節點c對應的影像區域的高的1/3。
(2)、豎直三分
將節點對應的影像區域劃分成左、中、右三個區域,每個區域對應於一個子節點。在一個示例中,左、中、右三個影像區域的寬分別為劃分前的影像區域的寬的1/4、1/2、1/4。如圖1(g)所示,節點c使用豎直三分劃分方式劃分,生成節點p、節點q和節點x,節點p對應的影像區域的寬為節點c對應的影像區域的寬的1/4,節點q對應的影像區域的寬為節點c對應的影像區域的寬的1/2,節點x對應的影像區域的寬為節點c對應的影像區域的寬的1/4。在另一個示例中,左、中、右三個影像區域的高分別為劃分前的影像區域的高的1/3、1/3、1/3,即將節點對應的影像區域按照圖1示出的二維直角坐標系XoY中的X軸的方向平均劃分為三個區域。如圖1(h)所示,節點c使用豎直三分劃分方式劃分,生成節點p、節點q和節點x,節點p對應的影像區域的寬、節點q對應的影像區域的寬、節點x對應的影像區域的寬均為節點c對應的影像區域的寬的1/3。
影像編碼(image encoding):將影像序列壓縮成位元流的處理過程。
影像解碼(image decoding):將位元流按照特定的語法規則和處理方法恢復成重建影像的處理過程。
視頻編解碼標準H.265使用QT劃分方式劃分CTU。具體的,將CTU作為QT結構的根節點(root),按照QT劃分方式,將CTU遞歸劃分成若干個葉節點(leaf node)。如果某一節點不再劃分,則該節點稱為葉節點。從上述描述可知,一幅影像由多個CTU構成,一個CTU對應於一個方形影像區域,也就是說,一個CTU對應一個影像塊。每個葉節點對應一個CU,每個CU相當於CTU對應的影像塊中的某一子影像塊,且無法再繼續使用QT劃分方式劃分該子影像塊。如果需要繼續劃分某一節點,則將該節點對應的影像區域劃分成四個相同大小的影像區域,可參考圖1(b),在該節點對應的影像區域被劃分後,劃分後生成的每個影像區域均對應一個節點,還需要分別判斷這些節點是否還會繼續劃分。一個節點是否劃分由位元流中該節點對應的劃分標誌位(如split_cu_flag)指示。根節點在QT結構中的層級(簡稱為QT層級)為0,採用QT劃分方式生成的子節點的QT層級為該子節點的父節點的QT層級加1。
示例性的,某一節點的劃分標誌位用split_cu_flag表示,split_cu_flag=0表示不再劃分該節點,split_cu_flag=1表示繼續劃分該節點。如圖2所示,在64×64的CTU節點(QT層級為0)的split_cu_flag的值為1的情況下,將CTU節點劃分為四個32×32的節點(QT層級為1),這四個32×32的節點分別為節點A1、節點A2、節點A3以及節點A4。這四個32×32的節點中的每一個節點,又可以根據它對應的split_cu_flag,選擇繼續劃分或者不劃分。如果節點A1的split_cu_flag的值為1,則繼續劃分節點A1,將節點A1劃分為四個16×16的節點(QT層級為2),這四個16×16的節點分別為節點B1、節點B2、節點B3以及節點B4。以此類推,直到所有節點都不再劃分,這樣,一個CTU就被劃分成一組CU。在同一個QT結構中,每個CU的最小尺寸(即CU的最小大小)相同,且CU的最小尺寸在位元流的序列參數集(Sequence Parameter Set,SPS)中標識,例如,8×8的CU為最小CU。在上述遞歸劃分過程中,如果某一節點的尺寸等於最小CU尺寸,則判斷不再劃分該節點,同時也不需要在位元流中包含該節點的劃分標誌位。
將CTU劃分成一組CU的劃分方式對應於一個編碼樹,圖3(a)即為一種編碼樹的示例。一個編碼樹可能只對應一種劃分方式,例如四叉樹;也可以對應多種劃分方式,例如前述的QTBT結構和下文中介紹的QT-BT/TT結構。
第一級編碼樹、第二級編碼樹、第三級編碼樹、……、第N級編碼樹分別對應的是不同的劃分方式的集合,N為大於3的正整數。這些不同的劃分方式的集合可以是某一種樹的類型,例如三叉樹,二叉樹,四叉樹;也可以是同一種樹的類型中的劃分方式的集合,例如水平二分,豎直二分等;還可以是兩者的結合。可以理解的是,一個編碼樹並不需要同時包含上述多個不同級別的編碼樹。例如,一個編碼樹可以只包括第一級編碼樹;或者,一個編碼樹可以包含第一級和第二級編碼樹;或者一個編碼樹可以包含第一級編碼樹,第二級編碼樹和第三級編碼樹。
在一個示例中,第一級編碼樹可以包括四叉樹劃分,第二級編碼樹可以包括二叉樹劃分和三叉樹劃分。
在另一個示例中,第一級編碼樹可以包括四叉樹劃分,第二級編碼樹可以包括二叉樹劃分、三叉樹劃分和四叉樹劃分。
在另一個示例中,第一級編碼樹可以包括四叉樹劃分和二叉樹劃分,第二級編碼樹包括三叉樹劃分。
在另一個示例中,第一級編碼樹可以包括四叉樹劃分,第二級編碼樹可以包括二叉樹劃分,第三級編碼樹可以包括三叉樹劃分。
在另一個示例中,第一級編碼樹可以包括水平二分,第二級編碼樹可以包括豎直二分和四叉樹劃分,第三級編碼樹可以包括豎直三分和水平三分。
第二級編碼樹還可能包含其它劃分方式,本申請實施例對此不作具體限定。
編碼端設備通常採用率失真優化(Rate Distortion Optimization,RDO)技術來判斷CTU採用哪一種編碼樹編碼。具體的,對於每個節點,編碼端設備計算該節點能夠使用的每一種劃分方式的率失真代價(Rate Distortion cost,RD cost),比較計算出的RD cost,並將最小的RD cost所對應的劃分方式判斷為該節點的劃分方式。
與QT結構相似,某一節點在BT結構中的層級稱為BT層級,採用BT劃分方式生成的子節點的BT層級為該子節點的父節點的BT層級加1。如果某一節點的BT層級等於最大BT層級,則判斷不再劃分該節點。一般的,BT結構中的最大BT層級在SPS中標識。
在一個示例中,在QT劃分方式的基礎上引入了BT劃分方式,其中,QT劃分方式和BT劃分方式級聯,該劃分方式稱為QTBT劃分方式。具體的,將CTU按照QT劃分方式劃分,QT的葉節點能夠繼續使用BT劃分方式劃分,即第一級編碼樹為QT,第二級編碼樹為BT。
如圖3(a)所示,每個端點表示一個節點,實線表示節點使用QT劃分方式劃分,虛線表示節點使用BT劃分方式劃分,A到M為13個葉節點,每個葉節點對應1個CU。在BT結構中,10表示豎直二分,11表示水平二分。圖3(b)示出了按照圖3(a)示出的劃分方式劃分的CTU對應的影像區域。
QTBT劃分方式中,每個CU具有QT層級和BT層級。對於QTBT劃分方式中的某個CU而言,該CU的QT層級為該CU所屬的QT葉節點的QT層級,該CU的BT層級為該CU所屬BT葉節點的BT層級。若CTU未被劃分,即只有一個CU,則該CU的QT層級為0,BT層級為0。
示例性的,圖3(a)中,A和B的QT層級為1,BT層級為2;C、D以及E的QT層級為1,BT層級為1;F、K以及L的QT層級為2,BT層級為1;I和J的QT層級為2,BT層級為0;G和H的QT層級為2,BT層級為2;M的QT層級為1,BT層級為0。
QTBT劃分方式中CU形狀更加多樣,能夠更好地適應局部影像的內容。H.265標準中基於QT劃分方式劃分生成的所有CU都只能是正方形,即CU的寬(width)等於CU的高(height)。基於QT劃分方式引入BT劃分方式後,CU的寬和高可以不相同,例如:寬高比(其數值等於寬除以高)為2、4、8、16、1/2、1/4、1/8或者1/16。當然,在QTBT劃分方式下,所有CU的寬和高都不能小於最小CU的邊長(例如:最小CU可設置為4×4)。一般的,視頻流的SPS包含有最小CU的大小訊息。
在上述QTBT的基礎之上還可以包括一種QT-BT/TT劃分方式,即第一級編碼樹中的節點使用QT劃分方式,第二級編碼樹中的節點可以使用BT劃分方式或TT劃分方式。具體的,CTU為第一級編碼樹的根節點,將CTU採用QT劃分方式劃分,生成若干個第一級編碼樹的葉節點;再以第一級編碼樹的葉節點作為第二級編碼樹的根節點,採用BT劃分方式(包括水平二分和豎直二分)或TT劃分方式(包括水平三分和豎直三分)劃分第二級編碼樹中的節點,以生成若干第二級編碼樹的葉節點。
但是,對於每個節點,編碼端設備通常需要計算該節點能夠使用的每一種劃分方式的RD cost,比較計算出的RD cost,並將最小的RD cost所對應的劃分方式判斷為該節點的劃分方式。在QT-BT/TT劃分方式中,由於第二級編碼樹中的節點可使用BT劃分方式,也可以使用TT劃分方式,因此,對於第二級編碼樹中的每個節點,編碼端設備均需要計算四種劃分方式(水平二分、豎直二分、水平三分以及豎直三分)的RD cost,才能夠判斷出第二級編碼樹中的每個節點真正使用的劃分方式,這樣的話,編碼複雜度較高。
針對上述問題,本申請實施例提供一種影像資料的解碼方法,解碼端設備在得到包含影像資料的位元流後,通過解析該位元流,得到第一級編碼樹的節點劃分方式訊息和第二級編碼樹的節點劃分方式訊息,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,該解碼端設備通過解析位元流,得到第一節點的三個子節點的編碼訊息,第一節點的一個子節點對應一個編碼單元CU,這樣,該解碼端設備可根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。本申請中第一級編碼樹的根節點對應一個CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。本申請實施例中的解碼端設備只需判斷第一節點對應的劃分方式為三叉樹劃分,即可直接得到第一節點的三個子節點的編碼訊息,無需再依次對第一節點的三個子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。
相應的,本申請實施例還提供一種影像資料的編碼方法,編碼端設備在判斷與待編碼影像塊對應的CTU後,將該CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到第一級編碼樹的葉節點,其中,第一級編碼樹的根節點對應該CTU;編碼端設備根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,第二級編碼樹的根節點為第一級編碼樹的一個葉節點,預設條件包括:若第一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分第一節點;如果第一節點能夠使用的劃分方式為不劃分,該編碼端設備對與第一節點對應的編碼單元進行編碼,得到對應編碼單元的編碼單元位元流。本申請實施例中的預設條件限制了第二級編碼樹中的節點的劃分,第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再繼續劃分,這樣,大幅度的減少了劃分第二級編碼樹中節點的複雜度,降低了編碼複雜度。
此外,由於第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再繼續劃分,這樣,編碼端設備完成編碼後發送的位元流中可以不再包括該節點的子節點的劃分訊息,節省了傳輸比特,降低了位元流的長度。
本申請實施例提供一種影像資料的編碼、解碼方法均適用於影像處理系統。圖4是本申請實施例提供的影像處理系統的結構示意圖。如圖4所示,該影像處理系統包括編碼端設備40和解碼端設備41。其中,編碼端設備40和解碼端設備41可以獨立設置,也可以集成在同一設備,本申請實施例對此不作具體限定。圖1中以編碼端設備40和解碼端設備41獨立設置為例。為了便於描述,下文均以編碼端設備與解碼端設備獨立設置為例進行說明。
具體的,編碼端設備40在捕獲到某一影像後,對該影像中的每一影像對應的CTU根據第一級編碼樹的劃分方式和第二級編碼樹的劃分方式進行處理,其中,若第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再劃分;在劃分完成後,編碼端設備40獲取CTU位元流,並向解碼端設備41發送該CTU位元流;解碼端設備41根據節點的劃分訊息解析其獲取到的CTU位元流,獲取重建影像。
編碼端設備40和解碼端設備41均可以為配置有攝像頭(如前置攝像頭或後置攝像頭)的各種設備,例如,該編碼端設備和解碼端設備為可穿戴電子設備(例如智能手錶等)、拍立得,也可以是圖5所示的手機,還可以是平板電腦,桌上型電腦,虛擬實境裝置,筆記本電腦、超級移動個人電腦(Ultra-mobile Personal Computer,UMPC)、個人數位助理(Personal Digital Assistant,PDA)等,本申請實施例對編碼端設備40和解碼端設備41的具體形式不做特殊限制。
結合圖4,如圖5所示,本實施例中的編碼端設備40和解碼端設備41均可以為手機。下面以手機為例對實施例進行具體說明。
應該理解的是,圖示手機僅僅是編碼端設備40和解碼端設備41的一個範例,並且手機可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個或更多的部件,或者可以具有不同的部件配置。圖5中所示出的各種部件可以在包括一個或多個訊號處理和/或專用集成電路在內的硬體、軟體、或硬體和軟體的組合中實現。
如圖5所示,手機包括:RF(Radio Frequency,射頻)電路50、儲存器51、輸入單元52、顯示單元53、傳感器54、音頻電路55、無線保真(Wireless Fidelity,Wi-Fi)模組56、處理器57、藍牙模組58以及電源59等部件。本領域技術人員可以理解,圖5中示出的手機結構並不構成對手機的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件佈置。
下面結合圖5對手機的各個構成部件進行具體的介紹:
RF電路50可用於收發訊息或通話過程中,訊號的接收和發送,可以將基站的下行訊息接收後,給處理器57處理;另外,將涉及上行的資料發送給基站。通常,RF電路包括但不限於天線、至少一個放大器、收發信機、耦合器、低噪聲放大器、雙工器等器件。此外,RF電路50還可以通過無線通訊與網絡和其他移動設備通訊。所述無線通訊可以使用任一通訊標準或協議,包括但不限於全球移動通訊系統、通用分組無線服務、碼分多址、寬帶碼分多址、長期演進、電子郵件、短消息服務等。
儲存器51可用於儲存軟體程式及資料。處理器57通過運行儲存在儲存器51的軟體程式及資料,從而執行手機的各種功能以及資料處理。儲存器51可主要包括儲存程式區和儲存資料區,其中,儲存程式區可儲存操作系統、至少一個功能所需的應用程式(比如聲音播放功能、影像播放功能等)等;儲存資料區可儲存根據手機的使用所創建的資料(比如音頻資料、電話本、視頻等)等。此外,儲存器51可以包括高速隨機存取儲存器,還可以包括非揮發性儲存器,例如至少一個磁盤儲存器件、閃存器件、或其他揮發性固態儲存器件。在以下實施例中,儲存器51儲存有使得手機能運行的操作系統,例如蘋果公司所開發的iOS®操作系統,穀歌公司所開發的Android®開源操作系統,微軟公司所開發的Windows®操作系統等。
輸入單元52(如觸控螢幕)可用於接收輸入的數字或字符訊息,以及產生與手機的用戶設置以及功能控制有關的訊號輸入。具體的,輸入單元52可包括觸控螢幕521和其他輸入設備522。觸控螢幕521,也稱為觸摸面板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控螢幕521上或在觸控螢幕521附近的操作),並根據預先設定的程式驅動相應的連接裝置。可選的,觸控螢幕521可包括觸摸檢測裝置和觸摸控制器兩個部分(圖5中未示出)。其中,觸摸檢測裝置檢測用戶的觸摸方位,並檢測觸摸操作帶來的訊號,將訊號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸訊息,並將它轉換成觸點坐標,再送給處理器57,並能接收處理器57發來的指令並加以執行。此外,可以採用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控螢幕521。
顯示單元53(即顯示螢幕)可用於顯示由用戶輸入的訊息或提供給用戶的訊息以及手機的各種菜單的圖形用戶界面(Graphical User Interface,GUI)。顯示單元53可包括設置在手機正面的顯示面板531。可選的,可以採用液晶顯示器(Liquid Crystal Display,LCD)、有機發光二極管(Organic Light-emitting Diode,OLED)等形式來配置顯示面板531。進一步的,觸控螢幕521可覆蓋顯示面板531,當觸控螢幕521檢測到在其上或附近的觸摸操作後,傳送給處理器57以判斷觸摸事件的類型,隨後處理器57根據觸摸事件的類型在顯示面板531上提供相應的視覺輸出。雖然,在圖5中,觸控螢幕521與顯示面板531是作為兩個獨立的部件來實現手機的輸入和輸出功能,但是在某些實施例中,可以將觸控螢幕521與顯示面板531集成而實現手機的輸入和輸出功能。
在另外的一些實施例中,上述觸控螢幕521還可以設置有壓力感應傳感器,這樣用戶在上述觸控面板上進行觸摸操作時,觸控面板還能檢測到該觸摸操作的壓力,進而手機能夠更準確地檢測該觸摸操作。
手機還可以包括至少一種傳感器54,比如光傳感器、運動傳感器以及其他傳感器。具體的,光傳感器可包括環境光傳感器及接近傳感器,環境光傳感器可根據環境光線的明暗來調節顯示面板531的亮度,接近光傳感器設置在手機的正面,當在手機移動到耳邊時,根據接近光傳感器的檢測,手機關閉顯示面板531的電源,這樣手機可以進一步節省電量。作為運動傳感器的一種,加速計傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用於識別手機姿態的應用(比如橫豎屏轉化、相關遊戲、磁力計姿態校準)、振動識別相關功能(比如計步器、敲擊)等。手機還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路55、揚聲器551,麥克風552可提供用戶與手機之間的音頻介面。音頻電路55可將接收到的音頻資料轉換後的電訊號,傳輸到揚聲器551,由揚聲器551轉換為聲音訊號輸出;另一方面,麥克風552將收集的聲音訊號轉換為電訊號,由音頻電路55接收後轉換為音頻資料,再將音頻資料輸出至RF電路50以發送給比如另一手機,或者將音頻資料輸出至儲存器51以便進一步處理。
Wi-Fi屬短距離無線傳輸技術,手機可以通過Wi-Fi模組56幫助用戶收發電子郵件、瀏覽網頁和訪問流媒體等,它為用戶提供了無線的寬帶互聯網訪問。
處理器57是手機的控制中心,利用各種介面和線路連接整個手機的各個部分,通過運行或執行儲存在儲存器51內的軟體程式,以及調用儲存在儲存器51內的資料,執行手機的各種功能和處理資料,從而對手機進行整體監控。在一些實施例中,處理器57可包括一個或多個處理單元;處理器57還可以集成應用處理器和調製解調處理器,其中,應用處理器主要處理操作系統、用戶界面和應用程式等,調製解調處理器主要處理無線通訊。可以理解的是,上述調製解調處理器也可以是獨立設置的。
藍牙模組58,用於通過藍牙這種短距離通訊協議來與其他設備進行訊息交互。例如,手機可以通過藍牙模組58與同樣具備藍牙模組的可穿戴電子設備(例如智能手錶)建立藍牙連接,從而進行資料交互。
手機還包括給各個部件供電的電源59(比如電池)。電源可以通過電源管理系統與處理器57邏輯相連,從而通過電源管理系統實現管理充電、放電、以及功耗等功能。
以下,將結合具體實施例詳細闡述本申請實施例提供的一種影像資料的編碼、解碼方法。
圖6為本申請實施例提供的影像資料的解碼方法的流程示意圖,該解碼方法可以應用在圖4所示的影像處理系統中。
如圖6所示,該影像資料的解碼方法包括:
S600、解碼端設備得到包含影像資料的位元流。
可選的,解碼端設備得到的包含影像資料的位元流包括序列參數集(Sequence Parameter Set,SPS)、影像參數集(Picture Parameter Set,PPS)、條帶頭(slice header)或條帶片段頭(slice segment header)、以及CTU位元流,CTU位元流攜帶有影像資料。
S601、解碼端設備解碼其得到的位元流,得到第一級編碼樹的節點劃分方式訊息。
第一級編碼樹的根節點對應一個CTU,第一級編碼樹的葉節點是通過第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的。第一級編碼樹對應的節點劃分方式包括四叉樹劃分。
解碼端設備在得到位元流後,解析該位元流中的CTU位元流,得到第一級編碼樹的節點劃分訊息。
可選的,解碼端設備解析CTU位元流,得到第一級編碼樹的節點劃分訊息的方法可以為:解碼端設備將CTU作為第一級編碼樹的根節點,解析CTU位元流,獲取該CTU位元流中語法元素所包括的用於指示如何將該CTU劃分成至少一個CU的第一標識(如SplitFlag),即第一標識表示第一級編碼樹的節點劃分方式訊息。在一個示例中,如果某一SplitFlag的數值為0,則說明與該SplitFlag對應的節點為第一級編碼樹的葉節點;如果某一SplitFlag的數值為1,則繼續獲取與該SplitFlag對應的節點的四個子節點的SplitFlag,直到判斷出第一級編碼樹的所有葉節點的訊息。
需要說明的是,若某一節點對應的影像區域的寬等於第一閾值(例如第一閾值為8或16),則該節點為第一級編碼樹的葉節點,與該節點對應的SplitFlag的數值為0。
可選的,解碼端設備解析CTU位元流,得到第一級編碼樹的節點劃分訊息的方法還可以為:解碼端設備將CTU作為第一級編碼樹的根節點,解析CTU位元流,獲取該CTU位元流中語法元素所包括的用於指示是否劃分第一級編碼樹的節點的第二標識(如NSFlag);如果第二標識的數值為第一值(例如1),則說明與該第二標識對應的節點為第一級編碼樹的葉節點,同時也為第二級編碼樹葉節點;如果第二標識的數值為第二值(例如0),則獲取語法元素所包括的第三標識(如QTSplitFlag);如果第三標識的數值為第三值(例如0),則說明與該第三標識對應的節點為第一級編碼樹葉節點,但不是第二級編碼樹的葉節點;如果第三標識的數值為第四值(例如1),則繼續獲取與該第三標識對應的節點的四個子節點的第二標識,直到判斷出第一級編碼樹的所有葉節點的訊息。
需要說明的是,若某一節點對應的影像區域的寬等於第一閾值(例如第一閾值為8或16),則該節點為第一級編碼樹的葉節點,與該節點對應的第三標識的數值為第三值。另外,如果某一節點對應的影像區域的寬或高大於第二閾值、且與該節點對應的第二標識的數值為第二值,則第三標識的數值為第三值。如果某一節點對應的劃分方式為QT劃分,與該節點對應的第二標識的數值為第二值且與該節點對應的第三標識的數值為第三值。
S602、解碼端設備解析其得到的位元流,得到第二級編碼樹的節點劃分方式訊息。
其中,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。第二級編碼樹對應的節點劃分方式與第一級編碼樹對應的節點劃分方式不相同,本實施例中第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
解碼端設備在得到第一級編碼樹的節點劃分方式訊息後,將第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和第一級編碼樹的根節點進行指示的第一級編碼樹的葉節點作為第二級編碼樹的根節點,解析CTU位元流,得到第二級編碼樹的節點的劃分方式訊息。
可選的,解碼端設備解析CTU位元流,得到第二級編碼樹的節點的劃分方式訊息的方法可以為:解碼端設備解析CTU位元流,獲取用於指示如何劃分第二級編碼樹中某一節點的第四標識(如STSplitMode),即第四標識表示第二級編碼樹的節點劃分方式訊息。
如果某一第四標識表示不劃分(如STSplitMode=0),則說明與該第四標識對應的節點為第二級編碼樹的葉節點。
如果某一第四標識表示三叉樹劃分(如STSplitMode=3或4),則說明與該第四標識對應的節點存在三個子節點,且該三個子節點中的每個子節點均為第二級編碼樹葉節點。
如果某一第四標識表示二叉樹劃分(如STSplitMode=1或2),則說明與該第四標識對應的節點存在兩個子節點,編碼端設備繼續獲取與該第四標識對應的節點的兩個子節點的第四標識,直到判斷出第二級編碼樹的所有葉節點的訊息。
從上面描述可知,對於QTBT劃分方式中的某個CU而言,該CU的QT層級為該CU所屬的QT葉節點的QT層級,該CU的BT層級為該CU所屬BT葉節點的BT層級。也就是說,第二級編碼樹層級表示某一節點相對於該節點所在的第二級編碼樹的根節點的層級。第二級編碼樹的根節點的第二級編碼樹層級為0,若第二級編碼樹的某一節點進行劃分,則該節點的子節點的第二級編碼樹層級為該節點的第二級編碼樹層級加1。
可選的,本實施例中第二級編碼樹對應的劃分方式還可以包含除二叉樹劃分和三叉樹劃分以外的其它劃分方式,本申請實施例對此不做具體限定。
示例性的,本實施例中第二級編碼樹對應的劃分方式還包含四叉樹劃分;當某一節點的第二級編碼樹層級大於預設層級且與該節點對應的影像區域的高寬比(該節點對應的影像區域的高除以該節點對應的影像區域的寬)小於或等於第三閾值時,與該節點對應的劃分方式還包括四叉樹劃分。在一個示例中,通過STSplitMode=5表示該節點對應的劃分方式為四叉樹劃分。
可選的,解碼端設備解析CTU位元流,得到第二級編碼樹的節點的劃分方式訊息的方法還可以為:解碼端設備判斷第二級編碼樹的某一節點的第一訊息滿足一定條件,則說明該節點為第二級編碼樹的葉節點。這裡,節點的第一訊息是指與該節點對應的影像區域的寬、與該節點對應的影像區域的高以及該節點的第二級編碼樹層級中的至少一個。在這種情況下,CTU位元流可以不攜帶與該節點對應的第四標識。
示例性的,若第二級編碼樹的某一節點符合下述任一條件,則說明該節點為第二級編碼樹的葉節點:
(1)、某一節點的第二級編碼樹層級等於預設的最大第二級編碼樹層級(例如預設的最大第二級編碼樹層級為3、4或2)。
(2)、某一節點對應的影像區域的高和寬等於預設的最小CU的高和寬。
(3)、某一節點對應的影像區域的高(或寬)大於預設的最大CU的高(或寬)。
(4)、某一節點對應的影像區域的高寬比值(或寬高比值)大於或者等於預設比值。
(5)、某一節點對應的影像區域包括的像素值小於或者等於預設像素值。
當然,上述條件(1)~(5)僅僅是判斷某一節點為第二級編碼樹的葉節點的條件的示例,並不是對這一條件的限定。
可選的,編碼端設備可從包含影像資料的位元流中的SPS、PPS或條帶頭中獲取到上述預設的最大第二級編碼樹層級、預設的最小CU的高(或寬)、預設的最大CU的高(或寬)、預設比值、預設像素值,當然,上述預設的最大第二級編碼樹層級、預設的最小CU的高(或寬)、預設的最大CU的高(或寬)、預設比值、預設像素值也可以是影像處理系統預設的。
從上述描述可知,本申請實施例中的第四標識用於指示如何劃分第二級編碼樹中某一節點。可選的,第四標識可以包括用於指示是否繼續劃分該節點的節點劃分標識、用於指示按照哪一方向劃分該節點的劃分方向標識以及用於指示按照哪一方式劃分該節點的劃分模式標識。
示例性的,節點劃分標識為STSplitFlag,如果STSplitFlag的數值等於0,表示不劃分與該STSplitFlag對應的節點;如果STSplitFlag的數值等於1,表示繼續劃分與該STSplitFlag對應的節點。劃分方向標識為STSplitDir,如果STSplitDir的數值等於0,表示按照水平方向劃分與該STSplitDir對應的節點;如果STSplitDir的數值等於1,表示節按照豎直方向劃分與該STSplitDir對應的節點。劃分模式標識為STSplitType,如果STSplitType的數值等於0,表示與該STSplitType對應的節點所對應的劃分方式為二叉樹劃分;如果STSplitDir的數值等於1,表示與該STSplitType對應的節點所對應的劃分方式為三叉樹劃分。
可選的,本申請實施例中的第四標識也可以包括用於指示是否按照二叉樹劃分方式劃分該第四標識對應的節點的二叉樹劃分標識、用於指示是否按照三叉樹劃分方式劃分該第四標識對應的節點的三叉樹劃分標識以及劃分方向標識(該劃分方向標識與上一示例中的劃分方向標識相同)。
示例性的,二叉樹劃分標識為BTFlag,如果BTFlag的數值等於0,表示第四標識對應的節點所對應的劃分方式不是BT劃分,如果BTFlag的數值等於1,表示第四標識對應的節點所對應的劃分方式是BT劃分。三叉樹劃分標識為TTFlag,如果TTFlag的數值等於0,表示第四標識對應的節點所對應的劃分方式不是TT劃分,如果TTFlag的數值等於1,表示第四標識對應的節點所對應的劃分方式是TT劃分。
當然,本申請實施例中的第四標識也可以包括上述節點劃分標識、上述劃分方向標識以及上述劃分模式標識的任意組合,本申請實施例對此不作具體限定。
容易理解的是,如果第二級編碼樹對應的劃分方式還包含除二叉樹劃分和三叉樹劃分以外的其它劃分方式,則上述第四標識可包括更多的標識,此處不再進行詳細贅述。
可選的,本申請實施例中的解碼端設備可以在執行完S601後,再執行S602,也可以在執行S601的過程中,首次獲取到第一級編碼樹的一個葉節點的訊息後,基於該第一級編碼樹的葉節點立即執行S602,直到獲取到第一級編碼樹的最後一個葉節點。
S603、如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,解碼端設備解析位元流,得到第一節點的三個子節點的編碼訊息。
本申請實施例中,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,則說明該第一節點的子節點為第二級編碼樹的葉節點。第一節點對應的劃分方式為三叉樹劃分,因此,第一節點對應三個子節點。也就是說,如果第一節點對應的劃分方式為三叉樹劃分,則說明該第一節點的三個子節點均為第二級編碼樹的葉節點。
進一步地,在“如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,則說明該第一節點的子節點為第二級編碼樹的葉節點”的基礎上,解碼端設備還可結合上述S602所述的用於說明節點為第二級編碼樹的葉節點的條件(1)~條件(5)判斷第一節點的訊息。
具體的,如果第一節點的第二級編碼樹層級小於預設的最大第二級編碼樹層級,且第一節點對應的影像區域的高(或寬)大於預設的最小CU的高(或寬),且第一節點對應的影像區域的高(或寬)小於或等於預設的最大CU的高(或寬),且第一節點的父節點對應的劃分方式不是三叉樹劃分,則解碼端設備從CTU位元流中獲取該第一節點對應的劃分方式訊息;否則,解碼端設備判斷該第一節點為第二級編碼樹的葉節點。
從上面描述可知,不再劃分的節點對應一個CU。相應的,第一節點的每個子節點對應一個CU。
具體的,解碼端設備解析位元流中的編碼單元語法結構體(例如H.265中的coding_unit()語法結構體,coding_unit()語法結構體的解釋請參考下面描述),得到每個CU的編碼訊息,每個CU的編碼訊息均包括CU的預測模式、變換係數等訊息。這裡,解碼端設備獲取每個CU的編碼訊息意味著解碼端設備得到第二級編碼樹的每個葉節點的編碼訊息。
可選的,本申請實施例中的解碼端設備可以在執行S602的過程中,獲取到第二級編碼樹的一個葉節點的訊息後,解析位元流,獲取該葉節點的編碼訊息;在獲取到該葉節點的編碼訊息後,繼續獲取下一個第二級編碼樹的葉節點以及獲取下一個第二級編碼樹的葉節點的編碼訊息,依次類推,直到最後一個第二級第二級編碼樹的葉節點。
在一個示例中,本申請實施例中第二級編碼樹的語法表如表1所示。coding_second_tree()為第二級編碼樹的語法結構體,描述第二級編碼樹的某一個節點的訊息。
表1中,x0和y0分別表示節點對應的影像區域的左上角相對於CTU對應的影像區域的左上角的水平坐標偏移和豎直坐標偏移;log2CuWidth和log2CuHeight分別表示節點對應的影像區域的寬和高以2為底的對數值;stDepth表示節點的第二級編碼樹層級,qtDepth表示節點對應的第一級編碼樹葉節點在第一級編碼樹上的層級;parentMode表示節點的父節點對應的劃分方式。“X >> Y” 表示將X右移Y位;“X << Y” 表示將X左移Y位;ae(v)表示使用CABAC解析語法元素。
STSplitMode的取值範圍為0、1、2、3和4。當STSplitMode的數值為0時,節點為第二級編碼樹的葉節點,且該節點對應於一個CU,此時按照CU語法結構體coding_unit()解析編碼單元訊息。本申請實施例對編碼單元訊息的語法元素組織方式不做限定。當STSplitMode的數值為1至4時,分別使用水平二分、豎直二分、水平三分、豎直三分將節點劃分為2個或3個子節點,對每個子節點,判斷每個子節點對應的影像區域的寬、高、坐標、第二級編碼樹層級,並依次按照coding_second_tree()解析這些子節點。
表1中,當滿足“節點的第二級編碼樹層級(用stDepth表示)小於預設的最大第二級編碼樹層級maxSTDepth,且節點對應的影像區域的寬和高均小於等於閾值maxSTSize,且節點對應的影像區域的寬或高大於閾值minCUSize,且節點的父節點對應的劃分方式不是三叉樹劃分”時,解碼端設備從位元流中獲取第二級編碼樹的節點劃分方式訊息STSplitMode;否則,STSplitMode不出現在位元流中,這樣,STSplitMode的數值默認設置為0。
可選的,coding_second_tree()的輸入變量中還可包括節點的限制劃分方式,節點的限制劃分方式是指不能按照該劃分方式劃分節點。可以理解的是,解碼端設備解析到的STSplitMode不能為上述限制劃分方式所指示的劃分方式。 表1
在另一個示例中,本申請實施例中第二級編碼樹的語法表如表2所示。表2中,如果節點對應的劃分方式為三叉樹劃分,即STSplitMode為3或4,則該節點的三個子節點均為第二級編碼樹的葉節點,編碼端設備可依次得到這三個子節點的編碼訊息。
S604、解碼端設備根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
對編碼單元進行解碼重建的過程包括預測、反量化、反變換、環路濾波等處理。具體的,對於每個編碼單元進行解碼重建的過程包括:
(1)、根據該CU的編碼訊息所包括的預測模式,選用幀內預測或幀間預測,得到該CU的預測像素。
(2)、如果該CU存在變換係數,則根據量化參數、變換模式,對該CU的變換係數進行反量化和反變換處理,得到該CU的重建殘差。如果該CU不存在變換係數,則該CU的重建殘差為0,即該CU中各像素的重建殘差值均為0。
(3)、將該CU的預測像素和該CU的重建殘差相加後進行環路濾波處理,得到CU的重建影像塊。
編碼端設備按照上述方法對每個編碼單元進行解碼重建,獲取到每個CU的重建影像塊。在獲取到每個CU的重建影像塊後,編碼端設備根據獲取到的所有重建影像塊得到最終的重建影像,即得到對應影像資料的影像。
本申請實施例中的解碼端設備只需判斷某一節點對應的劃分方式為三叉樹劃分,即可直接得到該節點的子節點的編碼訊息,無需再依次對該節點的所有子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。
在圖6所示的實施例中,若某一節點的父節點對應的劃分方式為三叉樹劃分,則該節點不再繼續劃分。這一條件限制了節點的劃分,在這一條件的作用下,本申請實施例提供的解碼方法加快了解碼的速率,降低了解碼的複雜度。這一條件可以為影像處理系統預先設置的,也可以是根據實際需求判斷的,本申請實施例對此不作具體限定。
進一步地,在圖6所示的實施例的基礎上,本申請實施例中的解碼端設備還可以在得到包含影像資料的位元流後,先判斷是否限制三叉樹得到的節點繼續進行劃分,然後再根據判斷結果解析影像資料。
具體的,結合圖6,如圖7所示,本申請實施例提供的解碼方法包括:
S700、解碼端設備得到包含影像資料的位元流。
S700可以參考上述S600的描述,此處不再進行詳細贅述。 表2
S701、解碼端設備解析其得到的位元流,得到三叉樹葉節點模式標識。
該三叉樹葉節點模式標識用於指示是否限制三叉樹劃分得到的節點繼續進行劃分。
示例性的,三叉樹葉節點模式標識表示為tt_leaf_mode_enabled_flag,tt_leaf_mode_enabled_flag的數值為第一值(例如1),表示與tt_leaf_mode_enabled_flag關聯的CTU中三叉樹劃分後的節點為編碼樹葉節點,即若某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點為編碼樹的葉節點;tt_leaf_mode_enabled_flag為第二值(例如0),表示與tt_leaf_mode_enabled_flag關聯的CTU中三叉樹劃分後的節點還可繼續劃分,即若某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點還可以對應除不劃分以外的其他劃分方式。
可選的,包含影像資料的位元流中的SPS、PPS以及條帶頭中的至少一項包括該三叉樹葉節點模式標識。
具體的,如果SPS和PPS均包括三叉樹葉節點模式標識,且SPS包括的三叉樹葉節點模式標識的數值與PPS包括的三叉樹葉節點模式標識的數值不同,則PPS包括的三叉樹葉節點模式標識生效,而SPS包括的三叉樹葉節點模式標識無效。如果SPS和條帶頭均包括三叉樹葉節點模式標識,且SPS包括的三叉樹葉節點模式標識的數值與條帶頭包括的三叉樹葉節點模式標識的數值不同,則條帶頭包括的三叉樹葉節點模式標識生效,而SPS包括的三叉樹葉節點模式標識無效。如果PPS和條帶頭均包括三叉樹葉節點模式標識,且PPS包括的三叉樹葉節點模式標識的數值與條帶頭包括的三叉樹葉節點模式標識的數值不同,則條帶頭包括的三叉樹葉節點模式標識生效,而PPS包括的三叉樹葉節點模式標識無效。也就是說,如果三叉樹葉節點模式標識在多層語法結構體中同時出現且不同語法結構體中三叉樹葉節點模式標識的數值不同,則最下層的語法結構體中的三叉樹葉節點模式標識生效,而上層語法結構體中的三叉樹葉節點模式標識無效。
具體的,解碼端設備在得到包含影像資料的位元流後,解析該位元流,從該位元流中獲取生效的三叉樹葉節點模式標識。
示例性的,若SPS中包含tt_leaf_mode_enabled_flag,則解碼端設備在解碼CTU的同時,從SPS中獲取與該CTU對應的tt_leaf_mode_enabled_flag。
S702、解碼端設備解碼其得到的位元流,得到第一級編碼樹的節點劃分方式訊息。
S702可以參考上述S601的描述,此處不再進行詳細贅述。
S703、解碼端設備解析其得到的位元流,得到第二級編碼樹的節點劃分方式訊息。
S703可以參考送上述S602的描述,此處不再進行詳細贅述。
S704、如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,且三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分,解碼端設備解析位元流,得到第一節點的三個子節點的編碼訊息。
S704與上述S603類似,不同的是,相比於上述S603,S704中的解碼端設備不僅需要判斷第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,還需要判斷三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分。
示例性的,表3為本實施例中第二級編碼樹的語法表。相比表1,表3中STSplitMode的解析條件修改為“節點的第二級編碼樹層級stDepth小於預設的最大第二級編碼樹層級maxSTDepth,且節點對應的影像區域的寬或高大於閾值minCUSize,且節點的父節點對應的劃分方式不是三叉樹劃分或tt_leaf_mode_enabled_flag非0”。 表3
S705、解碼端設備根據第一節點的三個子節點的編碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
S705可以參考上述S604,此處不再進行詳細贅述。
本申請實施例增加了限制節點劃分的條件:若某一節點的父節點對應的劃分方式為三叉樹劃分,則該節點不再繼續劃分。解碼端設備只需判斷某一節點對應的劃分方式為三叉樹劃分,即可直接得到該節點的子節點的編碼訊息,無需再依次對該節點的所有子節點進行解碼,加快了解碼的速率,降低了解碼的複雜度。此外,解碼端設備可根據三叉樹葉節點模式標識判斷節點劃分的限制情況,從而自適應地獲取每一級編碼樹的節點劃分訊息。
在圖6和圖7示出的實施例中,第一級編碼樹對應的劃分方式包括四叉樹劃分,第二級編碼樹對應的劃分方式包括二叉樹劃分和三叉樹劃分。在實際應用中,第二級編碼樹對應的劃分方式可僅包括二叉樹劃分,這樣便會引出第三級編碼樹,該第三級編碼樹對應的劃分方式包括三叉樹劃分。
如圖8所示,在這種場景中,本申請實施例提供的影像資料的解碼方法包括:
S800、解碼端設備得到包含影像資料的位元流。
S800可以參考上述S600的描述,此處不再進行詳細贅述。
S801、解碼端設備解碼其得到的位元流,得到第一級編碼樹的節點劃分方式訊息。
S801可以參考上述S601的描述,此處不再進行詳細贅述。
S802、解碼端設備解析其得到的位元流,得到第二級編碼樹的節點劃分方式訊息。
其中,第二級編碼樹的根節點為第一級編碼樹的一個葉節點。本實施例中第二級編碼樹對應的節點劃分方式包括二叉樹劃分。
與上述S602類似,解碼端設備解析CTU位元流,獲取用於指示如何劃分第二級編碼樹中某一節點的第四標識(如STSplitMode),即第四標識表示第二級編碼樹的節點劃分方式訊息。
由於本實施例中第二級編碼樹對應的節點劃分方式包括二叉樹劃分,因此,本實施例中的第四標識可以用於指示不劃分某一節點,也可以用於指示與某一節點對應的劃分方式為水平二分或豎直二分。
示例性的,第四標識表示為STSplitMode,STSplitMode的數值為0,說明不再繼續劃分與該STSplitMode對應的節點;STSplitMode的數值1或2,分別表示與STSplitMode對應的節點所對應的劃分方式為水平二分或豎直二分。
結合該示例,表4示出了本實施例中第二級編碼樹的語法表。當解碼端設備解析到STSplitMode的數值為0時,則開始解析第三級編碼樹語法結構體;當解析到STSplitMode的數值為1或2時,分別使用水平二分或豎直二分將節點劃分為2個子節點,再對各子節點依次按照coding_second_tree()語法結構進行解析。 表4
可選的,本實施例中的第四標識可以包括用於指示是否繼續按照二叉樹劃分方式劃分的節點劃分標識(如STSplitFlag)和用於表示二叉樹劃分的方向的劃分方向標識(如STSplitDir)。
示例性的,節點劃分標識為STSplitFlag,如果STSplitFlag的數值等於0,表示不劃分與該STSplitFlag對應的節點;如果STSplitFlag的數值等於1,表示繼續按照二叉樹劃分方式劃分與該STSplitFlag對應的節點。劃分方向標識為STSplitDir,如果STSplitDir的數值等於0,表示按照水平二分劃分方式劃分與該STSplitDir對應的節點;如果STSplitDir的數值等於1,表示節按照豎直二分劃分方式劃分與該STSplitDir對應的節點。
S803、如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,解碼端設備解析位元流,得到第三級編碼樹的節點劃分方式訊息。
如果第二級編碼樹中的第一節點對應的劃分方式不繼續按照第二級編碼樹的劃分方式進行劃分,則說明該第一節點為第二級編碼樹的葉節點。第一節點有可能按照第三級編碼樹的劃分方式劃分,因此,第一節點為第三級編碼樹的根節點。本實施例中第三級編碼樹對應的劃分方式包括三叉樹劃分。
第一節點為第三級編碼樹的根節點,且第三級編碼樹對應的劃分方式為三叉樹劃分,因此,第一節點的三個子節點均為第三級編碼樹的葉節點。
具體的,如果第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,解碼端設備解析CTU位元流,獲取用於指示如何劃分第三級編碼樹中某一節點的第五標識(如TTSplitMode),即第五標識表示第三級編碼樹的節點劃分方式訊息。
由於本實施例中第三級編碼樹對應的節點劃分方式包括三叉樹劃分,因此,本實施例中的第四標識可以用於指示不劃分某一節點,也可以用於指示與某一節點對應的劃分方式為水平三分或豎直三分。
示例性的,第五標識表示為TTSplitMode,TTSplitMode的數值為0,說明不再繼續劃分與該TTSplitMode對應的節點;TTSplitMode的數值1或2,分別表示與TTSplitMode對應的節點所對應的劃分方式為水平三分或豎直三分。
可選的,本實施例中的第五標識可以包括用於指示是否按照三叉樹劃分方式劃分的節點劃分標識(如TTSplitFlag)和用於表示三叉樹劃分的方向的劃分方向標識(如TTSplitDir)。
示例性的,節點劃分標識為TTSplitFlag,如果TTSplitFlag的數值等於0,表示不劃分與該TTSplitFlag對應的節點;如果TTSplitFlag的數值等於1,表示繼續按照三叉樹劃分方式劃分與該TTSplitFlag對應的節點。劃分方向標識為TTSplitDir,如果TTSplitDir的數值等於0,表示按照水平三分劃分方式劃分與該TTSplitDir對應的節點;如果TTSplitDir的數值等於1,表示節按照豎直三分劃分方式劃分與該TTSplitDir對應的節點。
S804、如果第三級編碼樹的節點劃分方式訊息指示第一節點對應的劃分方式為三叉樹劃分,解碼端設備解析位元流,得到第一節點的三個子節點的編碼訊息。
其中,第一節點的一個子節點對應一個CU。
S804可以參考上述S603,不同的是,S804中解碼端設備獲取的是第三級編碼樹的葉節點的編碼訊息。
示例性的,表5示出本實施例中第三級編碼樹的語法表。表5中,當滿足“節點的第二級編碼樹層級stDepth表示小於預設的最大第二級編碼樹層級maxSTDepth,節點對應的影像區域的寬和高均小於等於閾值maxSTSize,且節點對應的影像區域的寬或高大於閾值minCUSize的2倍”,則解碼端設備解析TTSplitMode;否則,TTSplitMode的數值為0。如果TTSplitMode的數值為0,則與該TTSplitMode對應的節點為第三級編碼樹的葉節點,解碼端設備解析CU語法結構體coding_unit()獲取CU訊息;如果TTSplitMode的數值為1或2,則解碼端設備對與該TTSplitMode對應的節點的三個子節點依次解析coding_unit()獲取CU訊息。
S805、解碼端設備根據第一節點的三個子節點的解碼訊息,對編碼單元進行解碼重建,得到對應影像資料的影像。
S805可以參考上述S604,此處不再進行詳細贅述。
與上述圖6、圖7所示的實施例相比,本實施例中的第二級編碼樹對應的劃分方式僅包括二叉樹劃分,第三級編碼樹對應的劃分方式包括三叉樹劃分,第三級編碼樹的根節點的三個子節點均為第三級編碼樹的葉節點,解碼端設備可更加快速的獲取到第二級編碼樹的節點劃分方式訊息和第三級編碼樹的節點劃分方式訊息,進一步地提高了解碼速率。 表5
此外,本申請實施例還提供一種影像資料的編碼方法,該編碼方法可以應用在圖4所示的影像處理系統中。
如圖9所示,本申請實施例提供的影像資料的編碼方法包括:
S900、編碼端設備判斷與待編碼影像塊對應的CTU。
從前面描述可知,一幅影像由多個CTU構成,一個CTU通常對應於一個方形影像區域。編碼端設備在獲取到某一影像後,對該影像的每個CTU進行編碼處理。
編碼端設備對每個CTU的編碼處理過程均相同,因此,本申請實施例以編碼端設備對其中一個CTU的編碼處理為例進行說明。
S901、編碼端設備將CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到第一級編碼樹的葉節點。
第一級編碼樹的根節點對應CTU,第一級編碼樹對應的節點劃分方式為四叉樹劃分。
具體的,編碼端設備將CTU判斷為第一級編碼樹的根節點,使用QT劃分方式,將該 CTU遞歸劃分為至少一個葉節點。
編碼端設備在獲取到第一級編碼樹的至少一個葉節點後,將第一級編碼樹的每個葉節點判斷為第二級編碼樹的根節點,並依次對第二級編碼樹的每個根節點執行下述步驟,直到獲取到第二級編碼樹的所有葉節點的訊息。本申請實施例以編碼端設備對第二級編碼樹中的第一節點的處理為例進行說明。
S902、編碼端設備根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,該預設條件包括:若第一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分第一節點。
一般的,在第一節點的劃分無任何限制條件的情況下,第一節點能夠使用的劃分方式包括不劃分、水平二分、水平三分、豎直二分、豎直三分和四叉樹劃分方式。這樣的話,編碼端設備需要依次計算這六種劃分方式的RD cost,導致編碼複雜度較高。
本申請實施例提出了限制第一節點能夠使用的劃分方式的預設條件,該預設條件包括:若第一節點的父節點使用三叉樹劃分方式劃分,則判斷不劃分第一節點。這樣,編碼端設備判斷第一節點的父節點使用TT劃分方式劃分後,不再劃分第一節點,無需再計算針對第一節點的六種劃分方式的RD cost,降低了編碼複雜度。
此外,預設條件還包括:當第一節點對應的影像區域的寬、第一節點對應的影像區域的高、第一節點的第二級編碼樹層級等參數滿足某一條件時,判斷不允許第一節點使用第一劃分方式,該第一劃分方式為水平二分、水平三分、豎直二分、豎直三分和四叉樹劃分方式中的至少一種。
示例性的,當第一節點對應的影像區域的寬度等於預設的最小CU的寬度時,不允許第一節點使用豎直二分和豎直三分這兩種劃分方式;當第一節點對應的影像區域的高度等於預設的最小CU的高度的2倍時,不允許第一節點使用水平三分劃分方式;當第一節點為第二級編碼樹的節點時,不允許第一節點使用四叉樹劃分方式;當第一節點的第二級編碼樹層級等於預設的最大第二級編碼樹層級(用maxSTDepth表示)時,判斷不劃分第一節點。
當然,上述示例僅僅是對本申請實施例中的預設條件的舉例,本申請實施例中的預設條件還可以包括其他類型的劃分方式的限制。
S903、如果第一節點能夠使用的劃分方式為不劃分,編碼端設備對與第一節點對應的CU進行編碼,得到對應CU的編碼單元位元流。
如果第一節點能夠使用的劃分方式為不劃分,則說明第一節點為第二級編碼樹的葉節點,該第一節點對應一個CU。編碼端設備對與該第一節點對應的CU進行編碼,得到與該CU的編碼單元位元流。
具體的,CU編碼包括預測(prediction)、變換(transform)、量化(quantization)、熵編碼(entropy coding)等環節。對於某一CU而言,編碼端設備對該CU進行編碼,得到該CU的CU位元流的過程主要包括:
(1)、編碼端設備根據預測模式,選用幀內預測或幀間預測,得到CU的預測像素。
(2)、編碼端設備將CU的原始像素和CU的預測像素之間的殘差進行變化和量化,得到變換係數,並對得到的變換係數進行反量化、反變換處理,從而得到該CU的重建殘差。
(3)、編碼端設備將該CU的預測像素和該CU的重建殘差相加後進行環路濾波處理,得到該CU的重建像素。
(4)、編碼端設備對該CU的預測模式、變換係數等訊息進行熵編碼,得到CU位元流。
編碼端設備對CU進行編碼,得到該CU的CU位元流的詳細過程可以參考現有的生成CU位元流的方法,此處不再進行詳細贅述。
S904、如果第一節點能夠使用的劃分方式未包括不劃分,編碼端設備計算第一節點能夠使用的劃分方式中的每種劃分方式的RD cost。
對於第一節點能夠使用的某一種劃分方式,編碼端設備使用該劃分方式劃分第一節點,並獲取該劃分方式劃分第一節點後的所有CU,編碼端設備計算每個CU的RD cost,並將所有CU的RD cost之和判斷為該劃分方式的RD cost。
可選的,對於任一CU而言,該CU的RD cost等於該CU包含的像素的重建失真的平方誤差總和(Sum of Squared Errors,SSE)與該CU對應位元流的比特數估算值的加權和。
S905、編碼端設備將最小的率失真代價對應的劃分方式判斷為第一節點對應的目標劃分方式。
S906、編碼端設備使用第一節點對應的目標劃分方式劃分第一節點。
編碼端設備使用第一節點對應的目標劃分方式劃分第一節點後,再對第一節點的每個子節點依次執行S902-S906,直到獲取到第二級編碼樹中的所有葉節點。
第二級編碼樹的每個葉節點對應一個CU,編碼端設備在獲取到第二級編碼樹的所有葉節點後,可獲取到第二級編碼樹每個葉節點對應的CU。從S903可知,編碼端設備對一個CU編碼可得到該CU對應的CU位元流。因此,編碼端設備可得到至少一個CU位元流。這樣,編碼端設備根據至少一個CU位元流、第一級編碼樹對應的節點劃分方式訊息以及第二級編碼樹對應的節點劃分方式訊息,可得到CTU位元流,進而生成包括影像資料的位元流。
本申請實施例中的預設條件限制了第二級編碼樹中的節點的劃分,第二級編碼樹中的某一節點對應的劃分方式為三叉樹劃分,則該節點的子節點將不再繼續劃分,這樣,大幅度的減少了劃分第二級編碼樹中節點的複雜度,降低了編碼複雜度。
本申請實施例提供一種解碼端設備,該解碼端設備用於執行以上影像資料的解碼方法中的解碼端設備所執行的步驟。本申請實施例提供的解碼端設備可以包括相應步驟所對應的模組。
本申請實施例可以根據上述方法示例對解碼端設備進行功能模組的劃分,例如,可以對應各個功能劃分各個功能模組,也可以將兩個或兩個以上的功能集成在一個處理模組中。上述集成的模組既可以採用硬體的形式實現,也可以採用軟體功能模組的形式實現。本申請實施例中對模組的劃分是示意性的,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
在採用對應各個功能劃分各個功能模組的情況下,圖10示出上述實施例中所涉及的終端設備的一種可能的結構示意圖。如圖10所示,解碼端設備包括獲取模組1000、解析模組1001和解碼重構模組1010。獲取模組1000用於支持該解碼端設備執行上述實施例中的S600、S700、和/或S800等,和/或用於本文所描述的技術的其它過程;解析模組1001用於支持該解碼端設備執行上述實施例中的S601、S602、S603、S701、S702、S703、S704、S801、S802、S803、和/或S804等,和/或用於本文所描述的技術的其它過程;解碼重構模組1010用於支持該解碼端設備執行上述實施例中的S604、S705、和/或S805等,和/或用於本文所描述的技術的其它過程。其中,上述方法實施例涉及的各步驟的所有相關內容均可以援引到對應功能模組的功能描述,在此不再贅述。當然,本申請實施例提供的解碼端設備包括但不限於上述模組,例如解碼端設備還可以包括儲存模組1011。儲存模組1011可以用於儲存該解碼端設備的程式代碼和資料。
在採用集成的單元的情況下,本申請實施例中的解析模組1001和解碼重構模組1011可以是圖5中的處理器57,獲取模組1000可以是圖5中的RF電路50和與該RF電路50連接的天線,儲存模組1011可以是圖5中的儲存器51。
當解碼端設備運行時,該解碼端設備執行如圖6-圖8中任一附圖所示的實施例的影像資料的解碼方法。具體的影像資料的解碼方法可參見上述如圖6-圖8中任一附圖所示的實施例中的相關描述,此處不再贅述。
本申請另一實施例還提供一種電腦可讀儲存媒體,該電腦可讀儲存媒體包括一個或多個程式代碼,該一個或多個程式包括指令,當解碼端設備中的處理器在執行該程式代碼時,該解碼端設備執行如圖6-圖8中任一附圖所示的影像資料的解碼方法。
在本申請的另一實施例中,還提供一種電腦程式產品,該電腦程式產品包括電腦執行指令,該電腦執行指令儲存在電腦可讀儲存媒體中;解碼端設備的至少一個處理器可以從電腦可讀儲存媒體讀取該電腦執行指令,至少一個處理器執行該電腦執行指令使得解碼端設備實施執行圖6-圖8中任一附圖所示的影像資料的解碼方法中的解碼端設備的步驟。
本申請實施例提供一種編碼端設備,該編碼端設備用於執行以上影像資料的解碼方法中的編碼端設備所執行的步驟。本申請實施例提供的編碼端設備可以包括相應步驟所對應的模組。
本申請實施例可以根據上述方法示例對編碼端設備進行功能模組的劃分,例如,可以對應各個功能劃分各個功能模組,也可以將兩個或兩個以上的功能集成在一個處理模組中。上述集成的模組既可以採用硬體的形式實現,也可以採用軟體功能模組的形式實現。本申請實施例中對模組的劃分是示意性的,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。
在採用對應各個功能劃分各個功能模組的情況下,圖11示出上述實施例中所涉及的終端設備的一種可能的結構示意圖。如圖11所示,編碼端設備包括判斷模組1100、劃分模組1101、編碼模組1110和計算模組1111。判斷模組1100用於支持該編碼端設備執行上述實施例中的S900、S902、和/或S905等,和/或用於本文所描述的技術的其它過程;劃分模組1101用於支持該編碼端設備執行上述實施例中的S901、和/或S906等,和/或用於本文所描述的技術的其它過程;編碼模組1110用於支持該編碼端設備執行上述實施例中的S903,和/或用於本文所描述的技術的其它過程;計算模組1111用於支持該編碼端設備執行上述實施例中的S904,和/或用於本文所描述的技術的其它過程。其中,上述方法實施例涉及的各步驟的所有相關內容均可以援引到對應功能模組的功能描述,在此不再贅述。當然,本申請實施例提供的編碼端設備包括但不限於上述模組,例如編碼端設備還可以包括儲存模組1102、發送模組1103和接收模組1104。儲存模組1102可以用於儲存該編碼端設備的程式代碼和資料。發送模組1103和接收模組1104用於與其他設備通訊。
在採用集成的單元的情況下,本申請實施例中的判斷模組1100、劃分模組1101、編碼模組1110和計算模組1111可以是圖5中的處理器57,發送模組1103和接收模組1104可以是圖5中的RF電路50和與該RF電路50連接的天線,儲存模組1102可以是圖5中的儲存器51。
當編碼端設備運行時,該編碼端設備執行如圖9所示的實施例的影像資料的解碼方法。具體的影像資料的解碼方法可參見上述如圖9所示的實施例中的相關描述,此處不再贅述。
本申請另一實施例還提供一種電腦可讀儲存媒體,該電腦可讀儲存媒體包括一個或多個程式代碼,該一個或多個程式包括指令,當編碼端設備中的處理器在執行該程式代碼時,該編碼端設備執行如圖9所示的影像資料的解碼方法。
在本申請的另一實施例中,還提供一種電腦程式產品,該電腦程式產品包括電腦執行指令,該電腦執行指令儲存在電腦可讀儲存媒體中;編碼端設備的至少一個處理器可以從電腦可讀儲存媒體讀取該電腦執行指令,至少一個處理器執行該電腦執行指令使得編碼端設備實施執行圖9所示的影像資料的解碼方法中的編碼端設備的步驟。
在上述實施例中,可以全部或部分的通過軟體,硬體,固件或者其任意組合來實現。當使用軟體程式實現時,可以全部或部分地以電腦程式產品的形式出現。所述電腦程式產品包括一個或多個電腦指令。在電腦上加載和執行所述電腦程式指令時,全部或部分地產生按照本申請實施例所述的流程或功能。所述電腦可以是通用電腦、專用電腦、電腦網絡、或者其他可編程裝置。所述電腦指令可以儲存在電腦可讀儲存媒體中,或者從一個電腦可讀儲存媒體向另一個電腦可讀儲存媒體傳輸,例如,所述電腦指令可以從一個網站站點、電腦、服務器或資料中心通過有線(例如同軸電纜、光纖、數字用戶線(DSL))或無線(例如紅外、無線、微波等)方式向另一個網站站點、電腦、服務器或資料中心傳輸。所述電腦可讀儲存媒體可以是電腦能夠存取的任何可用媒體或者是包含一個或多個可用媒體集成的服務器、資料中心等資料儲存設備。該可用媒體可以是磁性媒體,(例如,軟盤,硬盤、磁帶)、光媒體(例如,DVD)或者半導體媒體(例如固態硬盤Solid State Disk(SSD))等。
通過以上的實施方式的描述,所屬領域的技術人員可以清楚地瞭解到,為描述的方便和簡潔,僅以上述各功能模組的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模組完成,即將裝置的內部結構劃分成不同的功能模組,以完成以上描述的全部或者部分功能。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模組或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個裝置,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通訊連接可以是通過一些介面,裝置或單元的間接耦合或通訊連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是一個物理單元或多個物理單元,即可以位於一個地方,或者也可以分佈到多個不同地方。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個可讀取儲存媒體中。基於這樣的理解,本申請實施例的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該軟體產品儲存在一個儲存媒體中,包括若干指令用以使得一個設備(可以是單片機,芯片等)或處理器(processor)執行本申請各個實施例所述方法的全部或部分步驟。而前述的儲存媒體包括:隨身碟、移動硬碟、只讀儲存器(Read-Only Memory,ROM)、隨機存取儲存器(Random Access Memory,RAM)、磁碟或者光碟等各種可以儲存程式代碼的媒體。
以上所述,僅為本申請的具體實施方式,但本申請的保護範圍並不局限於此,任何在本申請揭露的技術範圍內的變化或替換,都應涵蓋在本申請的保護範圍之內。因此,本申請的保護範圍應以所述申請專利範圍的保護範圍為准。
10‧‧‧影像
A、B、C‧‧‧CTU
b、c、d、A1~A4、B1~B4‧‧‧節點
40‧‧‧編碼端設備
41‧‧‧解碼端設備
50‧‧‧RF電路
51‧‧‧儲存器
52‧‧‧輸入單元
521‧‧‧觸控螢幕
522‧‧‧其他輸入設備
53‧‧‧顯示單元
531‧‧‧顯示面板
54‧‧‧傳感器
55‧‧‧音頻電路
551‧‧‧揚聲器
552‧‧‧麥克風
56‧‧‧Wi-Fi模組
57‧‧‧處理器
58‧‧‧藍牙模組
59‧‧‧電源
S600~S604、S701~S705、S800~S805、S900~S906‧‧‧步驟
1000‧‧‧獲取模組
1001‧‧‧解析模組
1010‧‧‧解碼重構模組
1011‧‧‧儲存模組
1100‧‧‧判斷模組
1101‧‧‧劃分模組
1110‧‧‧編碼模組
1111‧‧‧計算模組
1103‧‧‧發送模組
1104‧‧‧接收模組
1102‧‧‧儲存模組
圖1為本申請實施例提供的不同劃分方式的結構示意圖。 圖2為本申請實施例提供的四叉樹層級的結構示意圖。 圖3為本申請實施例提供的四叉樹劃分和二叉樹劃分的組合劃分示意圖。 圖4為本申請實施例提供的影像處理系統的結構示意圖。 圖5為本申請實施例提供的一種手機的硬體結構示意圖。 圖6為本申請實施例提供的影像資料的解碼方法流程示意圖一。 圖7為本申請實施例提供的影像資料的解碼方法流程示意圖二。 圖8為本申請實施例提供的影像資料的解碼方法流程示意圖三。 圖9為本申請實施例提供的影像資料的編碼方法流程示意圖。 圖10為本申請實施例提供的解碼端設備的結構示意圖。 圖11為本申請實施例提供的編碼端設備的結構示意圖。
Claims (26)
- 一種影像資料的解碼方法,所述解碼方法包括:得到包含所述影像資料的位元流;解析所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和所述第一級編碼樹的根節點進行指示的;解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點;如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;根據所述第一節點的三個子節點的編碼訊息,對所述編碼單元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第1項所述的解碼方法,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 如申請專利範圍第1或2項所述的解碼方法,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
- 一種影像資料的解碼方法,所述解碼方法包括:得到包含所述影像資料的位元流;解析所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和所述第一級編碼樹的根節點進行指示的;解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點;如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,解析所述位元流,得到第三級編碼樹的節點劃分方式訊息,其中,所述第三級編碼樹的根節點為所述第一節點;如果所述第三級編碼樹的節點劃分方式訊息指示第一節點對應的劃分方式為三叉樹劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;根據所述第一節點的三個子節點的解碼訊息,對所述編碼單 元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第4項所述的解碼方法,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分,所述第三級編碼對應的節點劃分方式包括三叉樹劃分。
- 一種影像資料的解碼方法,其中所述解碼方法包括:得到包含所述影像資料的位元流;解析所述位元流,得到三叉樹葉節點模式標識,所述三叉樹葉節點模式標識用於指示是否限制三叉樹劃分得到的節點繼續進行劃分;解析所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和所述第一級編碼樹的根節點進行指示的;解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點;如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,且所述三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊 息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;根據所述第一節點的三個子節點的編碼訊息,對所述編碼單元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第6項所述的解碼方法,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 一種影像資料的編碼方法,其中所述編碼方法包括:判斷與待編碼影像塊對應的編碼樹單元CTU;將所述CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到所述第一級編碼樹的葉節點,所述第一級編碼樹的根節點對應所述CTU;根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,所述預設條件包括:若所述第一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分所述第一節點,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點;如果所述第一節點能夠使用的劃分方式為不劃分,對與所述第一節點對應的編碼單元CU進行編碼,得到對應所述編碼單元的編碼單元位元流,從而使得解析所述位元流時,直接得到所述第一節點的三個子節點的編碼訊息。
- 如申請專利範圍第8項所述的編碼方法,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 如申請專利範圍第8或9項所述的編碼方法,所述編碼方法還包括:如果所述第一節點能夠使用的劃分方式未包括不劃分,計算所述第一節點能夠使用的劃分方式中的每種劃分方式的率失真代價;將最小的率失真代價對應的劃分方式判斷為所述第一節點對應的目標劃分方式;使用所述第一節點對應的目標劃分方式劃分所述第一節點。
- 如申請專利範圍第8-9項中任意一項所述的編碼方法,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
- 一種解碼端設備,包括:獲取模組,用於得到包含所述影像資料的位元流;解析模組,用於解析所述獲取模組獲取到的所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和所述第一級編碼樹的根節點進行指示的,以及用於解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點,以及用於如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹 中的第一節點對應的劃分方式為三叉樹劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;解碼重建模組,用於根據所述解析模組得到的所述第一節點的三個子節點的編碼訊息,對所述編碼單元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第12項所述的解碼端設備,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 如申請專利範圍第12或13項所述的解碼端設備,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
- 一種解碼端設備,包括:獲取模組,用於得到包含所述影像資料的位元流;解析模組,用於解析所述獲取模組獲取到的所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應的節點劃分方式和所述第一級編碼樹的根節點進行指示的,以及用於解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點,以及用於如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹 中的第一節點對應的劃分方式為不繼續按照第二級編碼樹的劃分方式進行劃分,解析所述位元流,得到第三級編碼樹的節點劃分方式訊息,其中,所述第三級編碼樹的根節點為所述第一節點,以及用於如果所述第三級編碼樹的節點劃分方式訊息指示第一節點對應的劃分方式為三叉樹劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;解碼重建模組,用於根據所述解析模組得到的所述第一節點的三個子節點的編碼訊息,對所述編碼單元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第15項所述的解碼端設備,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分,所述第三級編碼對應的節點劃分方式包括三叉樹劃分。
- 一種解碼端設備,包括:獲取模組,用於得到包含所述影像資料的位元流;解析模組,用於解析所述獲取模組獲取到的所述位元流,得到三叉樹葉節點模式標識,所述三叉樹葉節點模式標識用於指示是否限制三叉樹劃分得到的節點繼續進行劃分,以及用於解析所述位元流,得到第一級編碼樹的節點劃分方式訊息,其中,所述第一級編碼樹的根節點對應一個編碼樹單元CTU,所述第一級編碼樹的葉節點是通過所述第一級編碼樹的節點劃分方式訊息對應 的節點劃分方式和所述第一級編碼樹的根節點進行指示的,以及用於解析所述位元流,得到第二級編碼樹的節點劃分方式訊息,其中,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點,以及用於如果所述第二級編碼樹的節點劃分方式訊息指示第二級編碼樹中的第一節點對應的劃分方式為三叉樹劃分,且所述三叉樹葉節點模式標識指示限制三叉樹劃分得到的節點繼續進行劃分,解析所述位元流,直接得到所述第一節點的三個子節點的編碼訊息,其中,所述第一節點的一個所述子節點對應一個編碼單元CU;解碼重建模組,用於根據所述解析模組得到的所述第一節點的三個子節點的編碼訊息,對所述編碼單元進行解碼重建,得到對應所述影像資料的影像。
- 如申請專利範圍第17項所述的解碼端設備,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 一種編碼端設備,包括:判斷模組,用於判斷與待編碼影像塊對應的編碼樹單元CTU;劃分模組,用於將所述判斷模組判斷的所述CTU按照第一級編碼樹對應的節點劃分方式進行劃分,得到所述第一級編碼樹的葉節點,所述第一級編碼樹的根節點對應所述CTU;所述判斷模組,還用於根據預設條件,判斷第二級編碼樹中的第一節點能夠使用的劃分方式,所述預設條件包括:若所述第 一節點的父節點對應的劃分方式為三叉樹劃分,判斷不劃分所述第一節點,所述第二級編碼樹的根節點為所述第一級編碼樹的一個葉節點;編碼模組,用於如果所述判斷模組判斷出的所述第一節點能夠使用的劃分方式為不劃分,對與所述第一節點對應的編碼單元CU進行編碼,得到對應所述編碼單元的編碼單元位元流,從而使得解析所述位元流時,直接得到所述第一節點的三個子節點的編碼訊息。
- 如申請專利範圍第19項所述的編碼端設備,其中所述第一級編碼樹對應的節點劃分方式與所述第二級編碼樹對應的節點劃分方式不相同。
- 如申請專利範圍第19或20項所述的編碼端設備,其中所述編碼端設備還包括計算模組:所述計算模組,用於如果所述判斷模組判斷所述第一節點能夠使用的劃分方式未包括不劃分,計算所述第一節點能夠使用的劃分方式中的每種劃分方式的率失真代價;所述判斷模組,還用於將最小的率失真代價對應的劃分方式判斷為所述第一節點對應的目標劃分方式;所述劃分模組,具體用於使用所述判斷模組判斷的所述第一節點對應的目標劃分方式劃分所述第一節點。
- 如申請專利範圍第19-20項中任意一項所述的編碼端設備,其中所述第一級編碼樹對應的節點劃分方式包括四叉樹劃 分,所述第二級編碼樹對應的節點劃分方式包括二叉樹劃分和三叉樹劃分。
- 一種解碼端設備,所述解碼端設備包括:一個或多個處理器、儲存器、通訊介面;所述儲存器、所述通訊介面與所述一個或多個處理器耦合;所述儲存器用於儲存電腦程式代碼,所述電腦程式代碼包括指令,當所述一個或多個處理器執行所述指令時,所述解碼端設備執行如申請專利範圍第1-7項中任意一項所述的影像資料的解碼方法。
- 一種編碼端設備,所述編碼端設備包括:一個或多個處理器、儲存器、通訊介面;所述儲存器、所述通訊介面與所述一個或多個處理器耦合;所述儲存器用於儲存電腦程式代碼,所述電腦程式代碼包括指令,當所述一個或多個處理器執行所述指令時,所述編碼端設備執行如申請專利範圍第8-11項中任意一項所述的影像資料的編碼方法。
- 一種電腦可讀儲存媒體,所述電腦可讀儲存媒體中儲存有指令,其中當所述指令在解碼端設備上運行時,使得所述解碼端設備執行如申請專利範圍第1-7項中任意一項所述的影像資料的解碼方法。
- 一種電腦可讀儲存媒體,所述電腦可讀儲存媒體中儲存有指令,其中當所述指令在編碼端設備上運行時,使得所述編 碼端設備執行如申請專利範圍第8-11項中任意一項所述的影像資料的編碼方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710509100.0A CN109151477B (zh) | 2017-06-28 | 2017-06-28 | 一种图像数据的编码、解码方法及装置 |
??201710509100.0 | 2017-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201906415A TW201906415A (zh) | 2019-02-01 |
TWI667914B true TWI667914B (zh) | 2019-08-01 |
Family
ID=64740993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107111355A TWI667914B (zh) | 2017-06-28 | 2018-03-30 | 一種影像資料的編碼、解碼方法及裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109151477B (zh) |
TW (1) | TWI667914B (zh) |
WO (1) | WO2019001015A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
HUE064218T2 (hu) | 2018-08-28 | 2024-02-28 | Huawei Tech Co Ltd | Képfelosztási eljárás és eszköz |
KR20240005108A (ko) * | 2019-01-08 | 2024-01-11 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 이미지 예측 방법, 장치 및 시스템, 디바이스 및 저장 매체 |
CN113366855A (zh) | 2019-02-03 | 2021-09-07 | 北京字节跳动网络技术有限公司 | 基于条件的非对称四叉树分割 |
WO2020215216A1 (zh) * | 2019-04-23 | 2020-10-29 | Oppo广东移动通信有限公司 | 图像解码方法、解码器以及存储介质 |
CA3148299C (en) | 2019-07-26 | 2024-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Determination of picture partition mode based on block size |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133680A1 (en) * | 2004-12-22 | 2006-06-22 | Frank Bossen | Method and apparatus for coding positions of coefficients |
WO2016090568A1 (en) * | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120092095A (ko) * | 2009-07-02 | 2012-08-20 | 톰슨 라이센싱 | 적응적 트리 선택을 사용한 이진 집합의 비디오 인코딩 및 디코딩을 위한 방법 및 장치 |
US9049452B2 (en) * | 2011-01-25 | 2015-06-02 | Mediatek Singapore Pte. Ltd. | Method and apparatus for compressing coding unit in high efficiency video coding |
US9185405B2 (en) * | 2012-03-23 | 2015-11-10 | Qualcomm Incorporated | Coded block flag inference in video coding |
CN103414891B (zh) * | 2013-07-19 | 2016-08-10 | 北京交通大学 | 一种hevc帧内编码的自底向上快速四叉树裁剪算法 |
CN104702958B (zh) * | 2013-12-05 | 2017-09-15 | 中国科学院深圳先进技术研究院 | 一种基于空间相关性的hevc帧内编码方法及系统 |
CN105530518B (zh) * | 2014-09-30 | 2019-04-26 | 联想(北京)有限公司 | 一种视频编码、解码方法及装置 |
CN104811696B (zh) * | 2015-04-17 | 2018-01-02 | 北京奇艺世纪科技有限公司 | 一种视频数据的编码方法和装置 |
-
2017
- 2017-06-28 CN CN201710509100.0A patent/CN109151477B/zh active Active
-
2018
- 2018-03-13 WO PCT/CN2018/078837 patent/WO2019001015A1/zh active Application Filing
- 2018-03-30 TW TW107111355A patent/TWI667914B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133680A1 (en) * | 2004-12-22 | 2006-06-22 | Frank Bossen | Method and apparatus for coding positions of coefficients |
WO2016090568A1 (en) * | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
Also Published As
Publication number | Publication date |
---|---|
WO2019001015A1 (zh) | 2019-01-03 |
CN109151477B (zh) | 2020-08-07 |
TW201906415A (zh) | 2019-02-01 |
CN109151477A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI674790B (zh) | 一種影像資料的編碼、解碼方法及裝置 | |
TWI667914B (zh) | 一種影像資料的編碼、解碼方法及裝置 | |
US20210104075A1 (en) | Predictive Coding For Point Cloud Compression | |
CN110971912B (zh) | 点云编解码方法、编解码器、编解码装置和存储介质 | |
CN112188209B (zh) | 视频流解码方法、装置、计算机设备和存储介质 | |
CN104768063A (zh) | 一种视频编码方法及装置 | |
KR102707343B1 (ko) | 클라우드 작업 흐름에서의 타임아웃 및 완료 데이터 입력들의 시그널링 | |
RU2773641C2 (ru) | Способ и устройство кодирования данных изображения, способ и устройство декодирования данных изображения | |
US20240236362A9 (en) | Vertex motion vector predictor coding for vertex mesh (v-mesh) | |
US20240171786A1 (en) | Coding of displacements using skew flag for vertex mesh (v-mesh) | |
KR20240126443A (ko) | Isobmff의 cmaf 스위칭 세트를 시그널링하는 방법 및 장치 | |
CN116033155A (zh) | 双目图像的压缩方法、设备及可读存储介质 | |
BR112019027732B1 (pt) | Método e aparelho de codificação de dados de imagem e método e aparelho de decodificação de dados de imagem | |
BR122024002650A2 (pt) | Método e aparelho de codificação de dados de imagem e método e aparelho de decodificação de dados de imagem |