TW202139715A - 視訊譯碼中的參考圖片列表和共位圖片訊號傳遞 - Google Patents
視訊譯碼中的參考圖片列表和共位圖片訊號傳遞 Download PDFInfo
- Publication number
- TW202139715A TW202139715A TW110106296A TW110106296A TW202139715A TW 202139715 A TW202139715 A TW 202139715A TW 110106296 A TW110106296 A TW 110106296A TW 110106296 A TW110106296 A TW 110106296A TW 202139715 A TW202139715 A TW 202139715A
- Authority
- TW
- Taiwan
- Prior art keywords
- syntax element
- value
- slice
- motion vector
- picture
- Prior art date
Links
Images
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/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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
視訊解碼器可以被配置為回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,在圖片頭語法結構中接收第二語法元素,該第二語法元素指示用於時域運動向量預測的共位圖片是否將從第一參考圖片列表或第二參考圖片列表匯出;接收代表圖片頭語法結構的視訊資料的條帶;及回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為用於該第三語法元素的第一值,用於該第三語法元素的第一值指示用於時域運動向量預測的共位圖片將從第一參考圖片列表中匯出。
Description
本申請案主張於2020年2月24日提出申請的美國臨時專利申請案第62/980,695號的權益,藉由引用將其全部內容併入本文中。
本揭示係關於視訊編碼和視訊解碼。
數位視訊功能可以集成到各種設備中,包括數位電視、數位直接廣播系統、無線廣播系統、個人數位助理(PDA)、膝上式或桌上型電腦、平板電腦、電子書閱讀器、數碼攝像機、數位記錄設備、數位媒體播放機、視訊遊戲設備、視訊遊戲機、蜂巢或衛星無線電電話、所謂的「智慧型電話」、視訊電話會議設備、視訊串流設備等。數位視訊設備實施視訊譯碼(coding)技術,諸如MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、先進視訊譯碼(AVC)、ITU-T H.265/高效視訊譯碼(HEVC)定義的標準以及此類標準的擴展所描述的技術。藉由實施此類視訊譯碼技術,視訊設備可以更有效地發送,接收,編碼,解碼及/或儲存數位視訊資訊。
視訊譯碼技術包括空域(spatial)(圖片內)預測及/或時域(temporal)(圖片間)預測,以減少或消除視訊序列中固有的冗餘。對於基於區塊的視訊譯碼,可以將視訊條帶(例如,視訊圖片或視訊圖片的一部分)劃分為視訊區塊,該等視訊區塊亦可以稱為譯碼樹單元(CTU)、編譯單元(CU)及/或編譯節點。使用相對於同一圖片中相鄰區塊中的參考取樣的空域預測對圖片的訊框內編碼(I)條帶中的視訊區塊進行編碼。圖片的訊框間編碼(P或B)條帶中的視訊區塊可以使用相對於同一圖片中相鄰區塊中參考取樣的空域預測,或相對於其他參考圖片中的參考取樣進行時域預測。圖片可以被稱為訊框,並且參考圖片可以被稱為參考訊框。
本揭示的技術係關於訊框間預測,並且更具體地,關於訊框間預測中使用的參考圖片的訊號傳遞。如下文更詳細地論述的,在VVC草案8中使用的參考圖片列表訊號傳遞可以具有一些低效率和其他潛在問題。舉例而言,即使PH可以具有僅使用參考圖片列表0的相關聯的P條帶,VVC草案8的訊號傳遞技術允許PH級訊號傳遞,該PH級訊號傳遞指示將要從參考圖片列表1中匯出用於時域運動向量預測的共位圖片。根據本揭示的技術,視訊解碼器可以被配置為回應於條帶為P條帶,將與該條帶相關聯的語法元素的值設定為下述語法元素的值,該語法元素指示用於時域運動向量預測的共位圖片將從參考圖片列表0中匯出。如以下更詳細地描述,視訊解碼器可以被配置為在沒有實際接收語法元素的實例的情況下推斷出指示用於時域運動向量預測的共位圖片將從參考圖片列表0中匯出的值,從而有效地覆蓋了P條帶的PH級語法。從而,本揭示的技術可以有利地使視訊解碼器能夠解析和解碼此種位元串流,而不會過度限制視訊編碼器對位元串流進行編碼的方式。
根據本揭示的一個實例,一種對視訊資料進行解碼的方法包括:接收第一語法元素;回應於指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,在圖片頭語法結構中接收第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位(collocate)圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;接收代表圖片頭語法結構的視訊資料條帶;及回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為第三語法元素的第一值,其中該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出。
根據本揭示的另一個實例,一種用於對視訊資料進行解碼的設備包括:記憶體,該記憶體被配置為儲存視訊資料;及一或多個處理器,該一或多個處理器在電路中實施並且被配置為:接收第一語法元素;回應於指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,在圖片頭語法結構中接收第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;接收代表圖片頭語法結構的視訊資料條帶;回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出。
根據本揭示的另一個實例,一種電腦可讀取儲存媒體儲存指令,該等指令在由一或多個處理器執行時使一或多個處理器執行以下操作:接收第一語法元素;回應於第一語法元素指示參考圖片列表資訊被包括在圖片頭語法結構中,在圖片頭語法結構中接收第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;接收代表圖片頭語法結構的視訊資料條帶;回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出。
根據本揭示的另一個實例,一種對視訊資料進行解碼的裝置包括:用於接收第一語法元素的構件;回應於指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,用於在圖片頭語法結構中接收第二語法元素的構件,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;用於接收代表圖片頭語法結構的視訊資料條帶的構件;及回應於該條帶為P條帶,用於將與該條帶相關聯的用於第三語法元素的值設定為用於第三語法元素的第一值的構件,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出。
根據本揭示的另一個實例,一種對視訊資料進行編碼的方法包括:回應於決定參考圖片列表資訊被包含在圖片頭語法結構中,產生指示該參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素;產生用於包括在圖片頭語法結構中的第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;決定代表圖片頭語法結構的視訊資料條帶為P條帶;回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用於時域運動向量預測的共位圖片將從第二參考圖片列表匯出;及輸出編碼的視訊資料的位元串流,其中該編碼的視訊資料包含第一語法元素和圖片頭語法結構。
根據本揭示的另一個實例,一種對視訊資料進行編碼的設備包含:記憶體,該記憶體被配置為儲存視訊資料;及一或多個處理器,該一或多個處理器在電路中實施並且被配置為:回應於決定參考圖片列表資訊被包含在圖片頭語法結構中,產生指示該參考圖片列表資訊被包含在圖片頭語法結構中的第一語法元素;產生用於包含在圖片頭語法結構中的第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;決定代表圖片頭語法結構的視訊資料條帶為P條帶;回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用於時域運動向量預測的共位圖片將從第二參考圖片列表匯出;及輸出編碼的視訊資料的位元串流,其中該編碼的視訊資料包含第一語法元素和圖片頭語法結構。
根據本揭示的另一個實例,一種電腦可讀取儲存媒體儲存指令,該等指令在由一或多個處理器執行時使一或多個處理器執行以下操作:回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,產生指示該參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素;產生用於包括在圖片頭語法結構中的第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;決定代表圖片頭語法結構的視訊資料條帶為P條帶;回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;及輸出編碼的視訊資料的位元串流,其中該編碼的視訊資料包括第一語法元素和圖片頭語法結構。
根據本揭示的另一個實例,一種對視訊資料進行編碼的裝置包括:用於回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,產生第一語法元素的構件,該第一語法元素指示參考圖片列表資訊被包括在圖片頭語法結構中;產生用於包括在圖片頭語法結構中的第二語法元素的構件,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;用於決定代表圖片頭語法結構的視訊資料條帶為P條帶的構件;用於回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值的構件,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表匯出;及輸出編碼的視訊資料的位元串流的構件,其中該編碼的視訊資料包括第一語法元素和圖片頭語法結構。
視訊譯碼(例如,視訊編碼及/或視訊解碼)通常涉及根據同一圖片中的視訊資料的已經譯碼的區塊(例如,訊框內預測)或不同圖片中的視訊資料的已經譯碼的區塊(例如,訊框間預測)來預測視訊資料的區塊。在一些情況下,視訊編碼器亦藉由將預測區塊與原始區塊進行比較來計算殘差(residual)資料。從而,殘差資料表示預測區塊和原始區塊之間的差。為了減少訊號傳遞殘差資料所需的位元的數量,視訊編碼器對殘差資料進行變換和量化,並在編碼的位元串流中訊號傳遞經變換和量化的殘差資料。藉由變換和量化處理實現的壓縮可能是有損的,這意味著變換和量化處理可能為解碼的視訊資料引入失真。
視訊解碼器對殘差資料進行解碼並添加到預測區塊,以產生比單獨的預測區塊更接近地匹配原始視訊區塊的重構視訊區塊。由於殘差資料的變換和量化引入的損失,第一重構區塊可能具有失真或偽像。一種常見類型的偽像或失真被稱為區塊效應,其中用於譯碼視訊資料的區塊的邊界是可見的。
為了進一步改進解碼的視訊的品質,視訊解碼器可以對重構的視訊區塊執行一或多個濾波操作。該等濾波操作的實例包括去塊濾波、取樣自我調整偏移(SAO)濾波、和自我調整迴路濾波(ALF)。該等濾波操作的參數可以由視訊編碼器決定並在編碼的視訊位元串流中顯式地訊號傳遞,或者可以由視訊解碼器隱式地決定,而不需要在編碼的視訊位元串流中顯式地訊號傳遞該等參數。
本揭示的技術係關於訊框間預測,並且更具體地關於訊框間預測中使用的參考圖片的訊號傳遞。ITU-T H.266中的訊框間預測,亦稱為通用視訊譯碼(VVC),利用參考圖片列表,該等參考圖片列表通常指的是用於P或B條帶的訊框間預測的參考圖片的列表。VVC中的訊框間預測利用兩個參考圖片列表,其中參考圖片列表0指的是用於P條帶的訊框間預測的參考圖片列表或用於B條帶的訊框間預測的第一參考圖片列表,並且參考圖片列表1指的是用於B條帶的訊框間預測的第二參考圖片列表。對於預測性(P)條帶的解碼過程,僅參考圖片列表0用於訊框間預測。對於雙預測性(B)條帶的解碼過程,參考圖片列表0和參考圖片列表1皆用於訊框間預測。對於訊框內(I)條帶的條帶資料的解碼,沒有參考圖片列表用於訊框間預測。
P條帶是使用訊框內預測或使用訊框間預測與最多一個運動向量和參考索引解碼以預測每個區塊的取樣值的條帶。B條帶是使用訊框內預測或使用訊框間預測與最多兩個運動向量和參考索引解碼以預測每個區塊的取樣值的條帶。I條帶是僅使用訊框內預測解碼的條帶。
用於產生和維護參考圖片列表的資訊以各種語法結構,包括序列參數集(SPS)語法結構、圖片參數集(PPS)語法結構、圖片頭(picture header,PH)語法結構和條帶頭(SH)語法結構訊號傳遞。在VVC中,SPS指的是一種語法結構,該語法結構包括適用於零個或更多個整個譯碼層視訊序列(CLVS)的語法元素,該等編碼層視訊序列由PPS中找到的語法元素的內容所決定,而PPS中找到的語法元素由每個PH中找到的語法元素所引用,並且PPS指的是一種語法結構,該語法結構包括適用於零個或更多個完整譯碼圖片的語法元素,該等完整譯碼圖片由每個PH中找到的語法元素決定。在VVC中,PH指的是語法結構,該語法結構包括適用於譯碼圖片的所有條帶的語法元素,並且SH指的是譯碼條帶的一部分,譯碼條帶包括與所有片或在條帶中表示的片內的譯碼樹單元(CTU)行有關的資料元素。
如下文更詳細地論述,在VVC草案8中使用的參考圖片列表訊號傳遞可以具有一些低效率和其他潛在問題。舉例而言,即使PH可以具有僅使用參考圖片列表0的相關聯的P條帶,VVC草案8的訊號傳遞技術允許PH級訊號傳遞,該PH級訊號傳遞指示將要從參考圖片列表1中匯出用於時域運動向量預測的共位圖片。根據本揭示的技術,視訊解碼器可以被配置為回應於條帶為P條帶,將與該條帶相關聯的語法元素的值設定為下述語法元素的值,該語法元素指示用於時域運動向量預測的共位圖片將從參考圖片列表0中匯出。如以下更詳細地描述,視訊解碼器可以被配置為在沒有實際接收語法元素的實例的情況下推斷出指示用於時域運動向量預測的共位圖片將從參考圖片列表0中匯出的值,從而有效地覆蓋了P條帶的PH級語法。從而,本揭示的技術可以有利地使視訊解碼器能夠解析和解碼此種位元串流,而不會過度限制視訊編碼器對位元串流進行編碼的方式。
圖1是示出可以執行本揭示的技術的示例視訊編碼和解碼系統100的方塊圖。本揭示的技術一般針對譯碼(編碼及/或解碼)視訊資料。通常,視訊資料包括用於處理視訊的任何資料。因此,視訊資料可以包括原始的未編碼的視訊、編碼的視訊、解碼的(例如,重構的)視訊、以及視訊中繼資料(諸如訊號傳遞資料)。
如圖1所示,在此實例中,系統100包括源設備102,該源設備102提供要由目標設備116解碼和顯示的、編碼的視訊資料。具體地,源設備102經由電腦可讀取媒體110向目標設備116提供視訊資料。源設備102和目標設備116可以包括多種設備中的任何一種,多種設備包括桌上型電腦、筆記本(亦即,膝上型)電腦、平板電腦、機上盒、諸如智慧手機的電話手持機、電視、攝像機、顯示設備、數位媒體播放機、視訊遊戲機、視訊串流設備或類似設備。在一些情況下,源設備102和目標設備116可以被配備用於無線通訊,並從而可以被稱為無線通訊設備。
在圖1的實例中,源設備102包括視訊源104、記憶體106、視訊編碼器200和輸出介面108。目標設備116包括輸入介面122、視訊解碼器300、記憶體120和顯示設備118。根據本揭示,源設備102的視訊編碼器200和目標設備116的視訊解碼器300可以被配置為應用本文描述的用於參考圖片列表和共位圖片訊號傳遞的技術。因此,源設備102表示視訊編碼設備的實例,而目標設備116表示視訊解碼設備的實例。在其他實例中,源設備和目標設備可以包括其他部件或佈置。例如,源設備102可以從諸如外部攝像機的外部視訊源接收視訊資料。同樣,目標設備116可以與外部顯示設備對接,而不包括集成的顯示設備。
如圖1所示的系統100僅是一個實例。通常,任何數位視訊編碼及/或解碼設備皆可以執行本文描述的用於參考圖片列表和共位圖片訊號傳遞的技術。源設備102和目標設備116僅僅是其中源設備102產生譯碼的視訊資料以傳輸到目標設備116的此種譯碼設備的實例。本揭示指的是「譯碼(coding)」設備作為執行資料的譯碼(coding)(編碼(encoding)及/或解碼(decoding))的設備。因此,視訊編碼器200和視訊解碼器300表示譯碼設備的實例,具體地分別是視訊編碼器和視訊解碼器的實例。在一些實例中,源設備102和目標設備116可以以基本對稱的方式進行操作,使得源設備102和目標設備116中的每一個皆包括視訊編碼和解碼用部件。因此,系統100可以支援源設備102和目標設備116之間的單向或雙向視訊傳輸,例如用於視訊串流(streaming)、視訊重播、視訊廣播或視訊電話。
通常,視訊源104表示視訊資料(亦即,原始的、未編碼的視訊資料)的源,並向視訊編碼器200提供視訊資料的一系列順序圖片(亦稱為「訊框」),該視訊編碼器200對用於圖片的資料進行編碼。源設備102的視訊源104可以包括視訊擷取設備,諸如視訊攝像機、包含先前擷取的原始視訊的視訊檔案、及/或從視訊內容提供者接收視訊的視訊饋送介面。作為另一替代,視訊源104可以產生基於電腦圖形的資料作為源視訊,或者實況視訊、存檔視訊和電腦產生視訊的組合。在每種情況下,視訊編碼器200對擷取的、預擷取的或電腦產生的視訊資料進行編碼。視訊編碼器200可以將圖片從接收的順序(有時稱為「顯示順序」)重新排列為用於譯碼的譯碼順序。視訊編碼器200可以產生包括編碼的視訊資料的位元串流。隨後源設備102可以經由輸出介面108將編碼的視訊資料輸出到電腦可讀取媒體110上,用於由例如目標設備116的輸入介面122接收及/或檢索。
源設備102的記憶體106和目標設備116的記憶體120表示通用記憶體。在一些實例中,記憶體106、120可以儲存原始視訊資料,例如來自視訊源104的原始視訊和來自視訊解碼器300的原始的解碼的視訊資料。附加地或可替代地,記憶體106、120可以分別儲存可由例如視訊編碼器200和視訊解碼器300執行的軟體指令。儘管在此實例中記憶體106和記憶體120被示為與視訊編碼器200和視訊解碼器300分離,但是應當理解,視訊編碼器200和視訊解碼器300亦可以包括用於功能類似或等同目的的內部記憶體。此外,記憶體106、120可以儲存編碼的視訊資料,例如,從視訊編碼器200輸出並輸入到視訊解碼器300的編碼的視訊資料。在一些實例中,記憶體106、120中的部分可以被分配為一或多個視訊緩衝器,例如,以儲存原始的、解碼的及/或編碼的視訊資料。
電腦可讀取媒體110可以表示能夠將編碼的視訊資料從源設備102傳輸到目標設備116的任何類型的媒體或設備。在一個實例中,電腦可讀取媒體110表示使源設備102能夠經由例如射頻網路或基於電腦的網路即時地將編碼的視訊資料直接發送到目標設備116的通訊媒體。根據諸如無線通訊協定的通訊標準,輸出介面108可以解調包括編碼的視訊資料的傳輸信號,並且輸入介面122可以解調接收的傳輸信號。通訊媒體可以包括任何無線或有線的通訊媒體,諸如射頻(RF)頻譜或者一或多條實體傳輸線。通訊媒體可以形成基於封包的網路中的部分,諸如區域網路、廣域網、或諸如網際網路的全球網路。通訊媒體可以包括路由器、交換器、基地台、或可以用於促進從源設備102到目標設備116的通訊的任何其他設備。
在一些實例中,源設備102可以從輸出介面108向儲存設備112輸出編碼的資料。類似地,目標設備116可以經由輸入介面122從儲存設備112存取編碼的資料。儲存設備112可以包括多種分散式或本端存取的資料儲存媒體中的任何一種,諸如硬碟、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體、或者用於儲存編碼的視訊資料的任何其他合適的數位儲存媒體。
在一些實例中,源設備102可以向檔案伺服器114或可以儲存由源設備102產生的編碼的視訊的另一中間儲存設備輸出編碼的視訊資料。目標設備116可以經由串流或下載從檔案伺服器114存取儲存的視訊資料。檔案伺服器114可以是能夠儲存編碼的視訊資料並將該編碼的視訊資料傳輸到目標設備116的任何類型的伺服器設備。檔案伺服器114可以表示網頁伺服器(例如,用於網站)、檔案發送協定(FTP)伺服器、內容傳遞網路設備或網路附加儲存(NAS)設備。目標設備116可以經由任何標準資料連接(包括網際網路連接)從檔案伺服器114存取編碼的視訊資料。這可以包括無線通道(例如,Wi-Fi連接)、有線連接(例如,數位用戶線(DSL)、線纜數據機等)、或者兩者的適用於存取儲存在檔案伺服器114上的編碼的視訊資料的組合。檔案伺服器114和輸入介面122可以被配置為根據串流傳輸協定、下載傳輸協定或其組合來操作。
輸出介面108和輸入介面122可以表示無線發送器/接收器、數據機、有線網路部件(例如,乙太網路卡)、根據多種IEEE 802.11標準中的任何一種進行操作的無線通訊部件、或其他實體部件。在輸出介面108和輸入介面122包括無線部件的實例中,輸出介面108和輸入介面122可以被配置為根據諸如4G、4G-LTE(長期進化)、先進LTE、5G等的蜂巢通訊標準,來傳輸諸如編碼的視訊資料的資料。在輸出介面108包括無線發送器的一些實例中,輸出介面108和輸入介面122可以被配置為根據諸如IEEE 802.11規範、IEEE 802.15規範(例如,ZigBee™)、Bluetooth™標準等的其他無線標準,來傳輸諸如編碼的視訊資料的資料。在一些實例中,源設備102及/或目標設備116可以包括相應的片上系統(SoC)設備。例如,源設備102可以包括執行屬於視訊編碼器200及/或輸出介面108的功能的SoC設備,並且目標設備116可以包括執行屬於視訊解碼器300及/或輸入介面122的功能的SoC設備。
本揭示的技術可以應用於視訊譯碼,以支援多種多媒體應用中的任何一種,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、諸如基於HTTP的動態自我調整串流(DASH)的網際網路串流視訊傳輸、編碼到資料儲存媒體上的數位視訊、儲存在資料儲存媒體上的數位視訊的解碼、或其他應用。
目標設備116的輸入介面122從電腦可讀取媒體110(例如,通訊媒體、儲存設備112、檔案伺服器114等)接收編碼的視訊位元串流。編碼的視訊位元串流可以包括由視訊編碼器200定義的訊號傳遞資訊,其亦由視訊解碼器300使用,該訊號傳遞資訊諸如具有描述視訊區塊或其他譯碼單元(例如,條帶、圖片、圖片組、序列等)的特性及/或處理的值的語法元素。顯示設備118向使用者顯示解碼的視訊資料的解碼的圖片。顯示設備118可以表示各種顯示設備中的任何一種,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一種類型的顯示設備。
儘管在圖1中未圖示,但是在一些實例中,視訊編碼器200和視訊解碼器300可以各自與音訊編碼器及/或音訊解碼器集成,並且可以包括適當的MUX-DEMUX單元或其他硬體及/或軟體,以處理在公共資料串流中包括音訊和視訊兩者的多工串流。若適用,MUX-DEMUX單元可以依照ITU H.223多工器協定,或諸如使用者資料包協定(UDP)的其他協定。
視訊編碼器200和視訊解碼器300均可被實施為多種合適的編碼器及/或解碼器電路中的任何一種,諸如一或多個微處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。在以軟體來部分地實施該等技術時,設備可以將軟體的指令儲存在合適的非暫時性電腦可讀取媒體中,並且使用一或多個處理器在硬體中執行該等指令以執行本揭示的技術。視訊編碼器200和視訊解碼器300中的每一個可以被包括在一或多個編碼器或解碼器中,其中任一個皆可以被集成為相應設備中的組合編碼器/解碼器(CODEC)中的部分。包括視訊編碼器200及/或視訊解碼器300的設備可以包括積體電路、微處理器、及/或諸如蜂巢式電話的無線通訊設備。
視訊編碼器200和視訊解碼器300可以根據視訊譯碼標準進行操作,諸如ITU-T H.265(亦稱為高效視訊譯碼(HEVC))或其諸如多視圖及/或可縮放視訊譯碼擴展的擴展。可替代地,視訊編碼器200和視訊解碼器300可以根據其他專有或行業標準進行操作,諸如VVC。VVC標準的最新草案在Bross等人於2020年1月7日-17日在ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的聯合視訊專家小組(JVET)的比利時佈魯塞爾第17次會議的JVET-Q2001-v13(以下簡稱「VVC草案8」)的「通用視訊譯碼(草案8)」中進行了描述。然而,本揭示的技術不限於任何特定的譯碼標準。
通常,視訊編碼器200和視訊解碼器300可以執行基於區塊的圖片譯碼。術語「區塊」通常是指包括要處理的資料(例如,編碼的、解碼的、或者另外在編碼及/或解碼處理中使用的資料)的結構。例如,區塊可以包括亮度及/或色度資料的取樣的二維矩陣。通常,視訊編碼器200和視訊解碼器300可以對以YUV(例如,Y、Cb、Cr)格式表示的視訊資料進行譯碼。亦即,視訊編碼器200和視訊解碼器300可以對亮度和色度分量進行譯碼,而不是對圖片取樣的紅、綠和藍(RGB)資料進行譯碼,其中色度分量可以包括紅色調(hue)和藍色調色度分量。在一些實例中,視訊編碼器200在編碼之前將接收到的RGB格式的資料轉換成YUV表示,並且視訊解碼器300將YUV表示轉換成RGB格式。可替代地,預處理和後處理單元(未圖示)可以執行該等轉換。
本揭示通常可涉及圖片的譯碼(例如,編碼和解碼),以包括對圖片的資料進行編碼或解碼的處理。類似地,本揭示可以涉及圖片區塊的譯碼,以包括對區塊的資料進行編碼或解碼的處理,例如,預測及/或殘差譯碼。編碼的視訊位元串流通常包括表示譯碼決策(例如,譯碼模式)和將圖片劃分為區塊的語法元素的一系列值。因此,對譯碼圖片或區塊的引用通常應理解為譯碼形成圖片或區塊的語法元素的值。
HEVC定義了各種區塊,包括譯碼單元(CU)、預測單元(PU)和變換單元(TU)。根據HEVC,視訊譯碼器(諸如視訊編碼器200)根據四叉樹結構將編譯樹單元(CTU)劃分為多個CU。亦即,視訊譯碼器將CTU和CU劃分為四個相等的、不重疊的正方形,並且四叉樹的每個節點有零個或四個子節點。沒有子節點的節點可以被稱為「葉節點」,並且此種葉節點的CU可以包括一或多個PU及/或一或多個TU。視訊譯碼器可以進一步劃分PU和TU。例如,在HEVC中,殘差四叉樹(RQT)表示對TU的劃分。在HEVC中,PU表示訊框間預測資料,而TU表示殘差資料。訊框內預測的CU包括訊框內預測資訊,諸如訊框內模式指示。
作為另一實例,視訊編碼器200和視訊解碼器300可以被配置為根據VVC進行操作。根據VVC,視訊譯碼器(諸如視訊編碼器200)將圖片劃分為複數個譯碼樹單元(CTU)。視訊編碼器200可以根據樹結構來劃分CTU,諸如四叉樹二叉樹(QTBT)結構或多類型樹(MTT)結構。QTBT結構移除了多個劃分類型的概念,諸如HEVC的CU、PU和TU間的分離。QTBT結構包括兩層:根據四叉樹劃分所劃分的第一層,以及根據二叉樹劃分所劃分的第二層。QTBT結構的根節點對應於CTU。二叉樹的葉節點對應於譯碼單元(CU)。
在MTT劃分結構中,可以使用四叉樹(QT)劃分、二叉樹(BT)劃分、和一或多個類型的三叉樹(TT)(亦稱為三元樹(TT))劃分來對區塊進行劃分。三叉或三元樹劃分是將區塊分割成三個子區塊的劃分。在一些實例中,三叉或三元樹劃分在不經由中心來劃分原始區塊的情況下將區塊劃分成三個子區塊。MTT中的劃分類型(例如,QT、BT和TT)可以是對稱的或非對稱的。
在一些實例中,視訊編碼器200和視訊解碼器300可以使用單個QTBT或MTT結構來表示亮度和色度分量中的每一個,而在其他實例中,視訊編碼器200和視訊解碼器300可以使用兩個或兩個以上QTBT或MTT結構,諸如一個QTBT/MTT結構用於亮度分量,並且另一QTBT/MTT結構用於兩個色度分量(或者兩個QTBT/MTT結構用於相應的色度分量)。
視訊編碼器200和視訊解碼器300可以被配置為使用按照HEVC的四叉樹劃分、QTBT劃分、MTT劃分、或其他劃分結構。出於說明的目的,本揭示的技術的描述是針對QTBT劃分來呈現的。然而,應當理解,本揭示的技術亦可以應用於被配置為使用四叉樹劃分或其他類型的劃分的視訊譯碼器。
可以在圖片中以各種方式對區塊(例如,CTU或CU)進行群組。作為一個實例,磚(brick)可以指圖片中特定片(tile)內的CTU行的矩形區域。片可以是圖片中特定片列和特定片行內的CTU的矩形區域。片列指具有與圖片的高度相等的高度和由語法元素(例如,諸如在圖片參數集中)指定的寬度的CTU的矩形區域。片行指具有由語法元素(例如,諸如在圖片參數集中)指定的高度和與圖片的寬度相等的寬度的CTU的矩形區域。
在一些實例中,片可以被劃分為多個磚,其中的每一個磚可以包括該片內的一或多個CTU行。未被劃分為多個磚的片亦可以被稱為磚。然而,作為片的真實子集的磚不能被稱為片。
圖片中的磚亦可以按條帶排列。條帶可以是圖片的可以排他地在單個網路抽象層(NAL)單元中包含的整數數目的磚。在一些實例中,條帶包括多個完整的片或者僅包括一個片的全部磚的連續序列。
本揭示可以互換地使用「NxN」和「N乘N」來代表區塊(諸如CU或其他視訊區塊)在垂直和水平維度方面的取樣維度,例如16x16取樣或16乘16取樣。通常,16x16 CU會在垂直方向上具有16個取樣(y=16),並且在水平方向上具有16個取樣(x=16)。同樣,NxN CU通常在垂直方向上具有N個取樣,並且在水平方向上具有N個取樣,其中N表示非負整數值。CU中的取樣可以按行和列排列。此外,CU不一定需要在水平方向上和在垂直方向上具有相同數目的取樣。例如,CU可以包括NxM個取樣,其中M不一定等於N。
視訊編碼器200對表示預測及/或殘差資訊以及其他資訊的CU的視訊資料進行編碼。預測資訊指示如何預測該CU,以便針對該CU形成預測區塊。殘差資訊通常表示編碼之前的CU的取樣與預測區塊之間的逐取樣差。
為了預測CU,視訊編碼器200通常可以經由訊框間預測或訊框內預測來形成CU的預測區塊。訊框間預測通常是指根據先前譯碼的圖片的資料來預測CU,而訊框內預測通常是指根據同一圖片的先前譯碼的資料來預測CU。為了執行訊框間預測,視訊編碼器200可以使用一或多個運動向量來產生預測區塊。視訊編碼器200通常可以執行運動搜尋以標識與CU緊密匹配(例如,在CU和參考區塊之間的差方面)的參考區塊。視訊編碼器200可使用絕對差和(SAD)、平方差和(SSD)、平均絕對差(MAD)、均方差(MSD)或其他此類差計算來計算差度量,以決定參考區塊是否與當前CU緊密匹配。在一些實例中,視訊編碼器200可以使用單向預測或雙向預測來預測當前CU。
VVC的一些實例亦提供仿射(affine)運動補償模式,其可以被認為是訊框間預測模式。在仿射運動補償模式下,視訊編碼器200可以決定表示非平移運動的兩個或兩個以上運動向量,非平移運動諸如放大或縮小、旋轉、透視運動、或其他不規則運動類型。
為了執行訊框內預測,視訊編碼器200可以選擇訊框內預測模式來產生預測區塊。VVC的一些實例提供了六十七種訊框內預測模式,包括各種方向模式,以及平面模式和DC模式。通常,視訊編碼器200選擇描述當前區塊(例如,CU的區塊)的相鄰取樣的訊框內預測模式,從該當前區塊來預測當前區塊的取樣。假設視訊編碼器200以光柵掃瞄順序(從左到右、從上到下)對CTU和CU進行譯碼,此種取樣在與當前區塊相同的圖片中通常可以在當前區塊的上方、上方和左側、或者左側。
視訊編碼器200對表示當前區塊的預測模式的資料進行編碼。例如,對於訊框間預測模式,視訊編碼器200可以對表示使用各種可用訊框間預測模式中的哪一種的資料、以及對應模式的運動資訊進行編碼。例如,對於單向或雙向訊框間預測,視訊編碼器200可以使用先進運動向量預測(AMVP)或合併模式來編碼運動向量。視訊編碼器200可以使用類似的模式來編碼仿射運動補償模式的運動向量。
在預測(諸如區塊的訊框內預測或訊框間預測)之後,視訊編碼器200可以計算區塊的殘差資料。殘差資料(諸如殘差區塊)表示區塊與該區塊的使用對應的預測模式形成的預測區塊之間的逐取樣差。視訊編碼器200可以對殘差區塊應用一或多個變換,以產生變換域而不是取樣域中的變換資料。例如,視訊編碼器200可以對殘差視訊資料應用離散餘弦變換(DCT)、整數變換、小波變換、或概念上類似的變換。附加地,視訊編碼器200可以在第一變換之後應用次變換,諸如模式相關的不可分離次變換(MDNSST)、信號相關的變換、卡爾亨-洛夫(Karhunen-Loeve)變換(KLT)等。視訊編碼器200在應用一或多個變換後產生變換係數。
如上述,在任何變換產生變換係數之後,視訊編碼器200可以執行變換係數的量化。量化通常是指量化變換係數以儘可能減少用於表示變換係數的資料的數量從而提供進一步壓縮的處理。藉由執行量化處理,視訊編碼器200可以減少與變換係數中的一些或全部相關聯的位元深度。例如,視訊編碼器200可以在量化期間將n
位元值向下捨入到m
位元值,其中n
大於m
。在一些實例中,為了執行量化,視訊編碼器200可以對要量化的值執行按位右移位。
在量化之後,視訊編碼器200可以掃瞄變換係數,從包括量化的變換係數的二維矩陣中產生一維向量。掃瞄可以被設計為將較高能量(並因此較低頻率)的變換係數放置在向量的前部,並將較低能量(並因此較高頻率)的變換係數放置在向量的後部。在一些實例中,視訊編碼器200可以利用預定義的掃瞄順序來掃瞄量化的變換係數以產生序列化的向量,隨後對向量的量化的變換係數進行熵編碼。在其他實例中,視訊編碼器200可以執行自我調整掃瞄。在掃瞄量化的變換係數以形成一維向量之後,視訊編碼器200可以例如根據上下文自我調整二進位算術譯碼(CABAC)對該一維向量進行熵編碼。視訊編碼器200亦可以對描述與編碼的視訊資料相關聯的中繼資料的語法元素的值進行熵編碼,以供視訊解碼器300在解碼視訊資料時使用。
為了執行CABAC,視訊編碼器200可以將上下文模型內的上下文指派給要傳輸的符號。該上下文可以關於例如符號的相鄰值是否為零值。概率決定可以基於指派給符號的上下文。
視訊編碼器200亦可以例如在PH、區塊頭、SH中向視訊解碼器300產生語法資料,諸如基於區塊的語法資料、基於圖片的語法資料和基於序列的語法資料,或其他語法資料,諸如序列參數集(SPS)、圖片參數集(PPS)、或視訊參數集(VPS)。同樣地,視訊解碼器300可以解碼此類語法資料以決定如何解碼對應的視訊資料。
以此種方式,視訊編碼器200可以產生包括編碼的視訊資料(例如,描述將圖片劃分為區塊(例如,CU)的語法元素以及區塊的預測及/或殘差資訊)的位元串流。最終,視訊解碼器300可以接收位元串流並解碼編碼的視訊資料。
通常,視訊解碼器300執行與視訊編碼器200執行的處理相反的處理,以解碼位元串流的編碼的視訊資料。例如,視訊解碼器300可以使用CABAC以與視訊編碼器200的CABAC編碼處理基本相似但相反的方式來解碼位元元流的語法元素的值。語法元素可以定義將圖片劃分為CTU的劃分資訊,和根據對應的劃分結構(諸如QTBT結構)對每個CTU進行劃分,以定義CTU的CU。語法元素可以進一步定義視訊資料的區塊(例如,CU)的預測和殘差資訊。
殘差資訊可以由例如量化的變換係數來表示。視訊解碼器300可以對區塊的量化的變換係數進行逆量化和逆變換,以再現該區塊的殘差區塊。視訊解碼器300使用訊號傳遞的預測模式(訊框內或訊框間預測)和相關的預測資訊(例如,用於訊框間預測的運動資訊)來形成區塊的預測區塊。隨後視訊解碼器300可以(在逐個取樣的基礎上)組合預測區塊和殘差區塊,以再現原始區塊。視訊解碼器300可執行附加處理,諸如執行去塊處理以減少沿著區塊的邊界的視覺偽像。
本揭示通常可以涉及「訊號傳遞」某些資訊,諸如語法元素。術語「訊號傳遞」通常可以涉及用於對編碼的視訊資料進行解碼的語法元素及/或其他資料的值的通訊。亦即,視訊編碼器200可以在位元串流中訊號傳遞語法元素的值。通常,訊號傳遞涉及在位元串流中產生值。如上述,源設備102可以大體上即時地或者非即時地將位元串流傳輸到目標設備116,諸如當將語法元素儲存到儲存設備112以供目標設備116稍後檢索時可能發生的情況。
圖2A和圖2B是示出示例四叉樹二叉樹(QTBT)結構130和對應的譯碼樹單元(CTU)132的概念圖。實線表示四叉樹分割(splitting),並且虛線指示二叉樹分割。在二叉樹的每個分割(亦即,非葉)節點中,訊號傳遞一個標誌以指示使用哪種分割類型(亦即,水平還是垂直),其中在本實例中,0指示水平分割,並且1指示垂直分割。對於四叉樹分割,不需要指示分割類型,因為四叉樹節點將區塊水平和垂直分割為4個具有相等大小的子區塊。因此,視訊編碼器200可以編碼並且視訊解碼器300可以解碼QTBT結構130的區域樹層的語法元素(諸如分割資訊)(亦即,實線)和QTBT結構130的預測樹層的語法元素(諸如分割資訊)(亦即,虛線)。視訊編碼器200可以編碼並且視訊解碼器300可以為由QTBT結構130的終端葉節點表示的CU解碼視訊資料,諸如預測和變換資料。
通常,圖2B的CTU 132可以與定義對應於QTBT結構130的第一和第二層處的節點的區塊的大小的參數相關聯。該等參數可以包括CTU大小(表示取樣中CTU 132的大小)、最小四叉樹大小(MinQTSize,表示最小允許的四叉樹葉節點大小)、最大二叉樹大小(MaxBTSize,表示最大允許的二叉樹根節點大小)、最大二叉樹深度(MaxBTDepth,表示最大允許的二叉樹深度)和最小二叉樹大小(MinBTSize,表示最小允許的二叉樹葉節點大小)。
對應於CTU的QTBT結構的根節點可以在QTBT結構的第一層處具有四個子節點,其中每個子節點可以根據四叉樹劃分來進行劃分。亦即,第一層的節點是葉節點(沒有子節點),或者具有四個子節點。QTBT結構130的實例將此種節點表示為包括父節點和具有用於分支的實線的子節點。若第一層的節點不大於最大允許的二叉樹根節點大小(MaxBTSize),則節點可以由相應的二叉樹進一步劃分。可以迭代一個節點的二叉樹分割,直到分割產生的節點達到最小允許的二叉樹葉節點大小(MinBTSize)或最大允許的二叉樹深度(MaxBTDepth)。QTBT結構130的實例將此種節點表示為具有用於分支的虛線。二叉樹葉節點被稱為譯碼單元(CU),其用於預測(例如,圖片內或圖片間預測)和變換,而無需任何進一步的劃分。如上文論述,CU亦可以被稱為「視訊區塊」或「區塊」。
在QTBT劃分結構的一個實例中,CTU大小被設置為128x128(亮度取樣和兩個對應的64x64色度取樣),MinQTSize被設置為16x16,MaxBTSize被設置為64x64,(寬度和高度兩者的)MinBTSize被設置為4,並且MaxBTDepth被設置為4。首先將四叉樹劃分應用於CTU,以產生四叉樹葉節點。四叉樹葉節點可以具有從16x16(亦即,MinQTSize)到128x128(亦即,CTU大小)的大小。若四叉樹葉節點是128x128,則葉四叉樹節點不會被二叉樹進一步分割,因為其大小超過了MaxBTSize(亦即,在本實例中為64x64)。否則,四叉樹葉節點將被二叉樹進一步劃分。因此,四叉樹葉節點亦是二叉樹的根節點,並且二叉樹深度為0。當二叉樹深度達到MaxBTDepth(在本實例中為4)時,不允許進一步分割。具有寬度等於MinBTSize(在本實例中為4)的二叉樹節點意味著不允許進一步垂直分割。類似地,具有高度等於MinBTSize的二叉樹節點意味著不允許對二叉樹節點進一步的水平分割。如上述,二叉樹的葉節點被稱為CU,並且根據預測和變換被進一步處理,而無需進一步劃分。
在VVC草案8中,可以在PH或SH中訊號傳遞參考圖片列表(RPL)。然而,僅在PH中訊號傳遞時域運動向量預測(TMVP)的啟用。僅在SH中訊號傳遞有效參考圖片(用於訊框間預測的圖片)的數量。
RPL是用於P或B條帶的訊框間預測的參考圖片的列表。針對非IDR圖片的每個條帶,產生兩個參考圖片列表,即參考圖片列表0和參考圖片列表1。由與圖片相關聯的兩個參考圖片列表中的所有條目所代表的唯一圖片集合包括所有的參考圖片,該等所有的參考圖片可以用於對相關聯的圖片或在解碼順序下相關聯圖片之後的任何圖片進行訊框間預測。對於P條帶的解碼過程,僅參考圖片列表0用於訊框間預測。對於B條帶的解碼過程,參考圖片列表0和參考圖片列表1皆用於訊框間預測。對於I條帶的條帶資料的解碼,沒有參考圖片列表用於訊框間預測。參考圖片列表0指的是用於P條帶的訊框間預測的參考圖片列表或用於B條帶的訊框間預測的第一參考圖片列表。參考圖片列表1是用於B條帶的訊框間預測的第二參考圖片列表。
PH是語法結構,該語法結構包含適用於譯碼圖片的所有條帶的語法元素,SH是譯碼條帶的一部分,譯碼條帶包含與所有片或在條帶中表示的片內的CTU行有關的資料元素。條帶是整數個完整的片或整數個圖片的片中的連續完整CTU行,其完全包含在單個NAL單元中。
在VVC草案8中,存在以下語法表:
rpl_info_in_ph_flag等於1規定參考圖片列表資訊存在於PH語法結構中,而不存在於涉及不包含PH語法結構的PPS的條帶頭中。rpl_info_in_ph_flag等於0規定在PH語法結構中不存在參考圖片列表資訊,並且可以存在於涉及不包含PH語法結構的PPS的條帶頭中。
圖片頭
ph_inter_slice_allowed_flag等於0規定圖片的所有譯碼條帶的slice_type等於2。ph_inter_slice_allowed_flag等於1規定圖片中可能有slice_type等於0或1的一或多個譯碼條帶,亦可能沒有。
ph_temporal_mvp_enabled_flag規定是否可以將時域運動向量預測用於與PH關聯的條帶的訊框間預測。若ph_temporal_mvp_enabled_flag等於0,則應限制與PH關聯的條帶的語法元素,以使在條帶的解碼中不使用時域運動向量預測器。否則(ph_temporal_mvp_enabled_flag等於1),可以在與PH關聯的條帶的解碼中使用時域運動向量預測器。若不存在,則推斷ph_temporal_mvp_enabled_flag的值等於0。當DPB中沒有參考圖片具有與當前圖片相同的空域解析度時,ph_temporal_mvp_enabled_flag的值應等於0。
Ph_collocated_from_l0_flag等於1規定用於時域運動向量預測的共位圖片從參考圖片列表0匯出。ph_collocated_from_l0_flag等於0規定用於時域運動向量預測的共位圖片從參考圖片列表1匯出。
ph_collocated_ref_idx規定用於時域運動向量預測的共位圖片的參考索引。
當ph_collocated_from_l0_flag等於1時,ph_collocated_ref_idx代表參考圖片列表0中的一個條目,並且ph_collocated_ref_idx的值應在0到num_ref_entries[0][PicRplsIdx[0]]-1(含端值)的範圍內。
當ph_collocated_from_l0_flag等於0時,ph_collocated_ref_idx代表參考圖片列表1中的一個條目,並且ph_collocated_ref_idx的值應在0到num_ref_entries[1][PicRplsIdx[1]]−1(含端值)的範圍內。
若不存在,則推斷ph_collocated_ref_idx的值等於0。
條帶頭
sps_idr_rpl_present_flag等於1規定IDR圖片的條帶頭中存在參考圖片列表語法元素。sps_idr_rpl_present_flag等於0規定IDR圖片的條帶頭中不存在參考圖片列表語法元素。
num_ref_idx_active_override_flag等於1規定P和B條帶存在語法元素num_ref_idx_active_minus1[0],並且B條帶存在語法元素num_ref_idx_active_minus1[1]。num_ref_idx_active_override_flag等於0規定不存在語法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]。若不存在,則推斷num_ref_idx_active_override_flag的值等於1。
num_ref_idx_active_minus1[i]用於匯出變數NumRefIdxActive[i],如公式143所規定。num_ref_idx_active_minus1[i]的值應在0到14(含端值)的範圍中。
對於i等於0或1,在當前條帶為B條帶時,num_ref_idx_active_override_flag等於1,並且num_ref_idx_active_minus1[i]不存在,則推斷num_ref_idx_active_minus1[i]等於0。
在當前條帶為P條帶時,num_ref_idx_active_override_flag等於1,並且num_ref_idx_active_minus1[0]不存在,則推斷num_ref_idx_active_minus1[0]等於0。
slice_collocated_from_l0_flag等於1規定用於時域運動向量預測的共位圖片從參考圖片列表0匯出。slice_collocated_from_l0_flag等於0規定用於時域運動向量預測的共位圖片從參考圖片列表1匯出。
當slice_type等於B或P時,ph_temporal_mvp_enabled_flag等於1,並且不存在slice_collocated_from_l0_flag,則適用以下條件:
-若rpl_info_in_ph_flag等於1,則將推斷slice_collocated_from_l0_flag等於ph_collocated_from_l0_flag。
-否則rpl_info_in_ph_flag等於0,並且若slice_type等於P,則推斷slice_collocated_from_l0_flag的值等於1。
slice_collocated_ref_idx規定用於時域運動向量預測的共位圖片的參考索引。
當slice_type等於P或slice_type等於B並且collocated_from_l0_flag等於1時,slice_collocated_ref_idx涉及考參考圖片列表0中的一個條目,並且slice_collocated_ref_idx的值應在0到NumRefIdxActive[0]-1(含端值)的範圍內。
當slice_type等於B且 slice_collocated_from_l0_flag等於0時,slice_collocated_ref_idx代表參考圖片列表1中的一個條目,並且slice_collocated_ref_idx的值應在0到NumRefIdxActive[1]−1(含端值)的範圍內。
當不存在slice_collocated_ref_idx時,以下條件適用:
-若rpl_info_in_ph_flag等於1,則推斷slice_collocated_ref_idx的值等於ph_collocated_ref_idx。
-否則(rpl_info_in_ph_flag等於0),將推斷slice_collocated_ref_idx的值等於0。
位元串流一致性的要求是,對於譯碼圖片的所有條帶,slice_collocated_ref_idx所代表的圖片應該相同。
位元串流一致性的要求是由slice_collocated_ref_idx代表的參考圖片的pic_width_in_luma_samples和pic_height_in_luma_samples的值應該分別等於當前圖片的pic_width_in_luma_samples和pic_height_in_luma_samples的值,並且RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]應該等於0。
picture_header_structure() { | 描述符 |
… | |
if(rpl_info_in_ph_flag) | |
ref_pic_lists() | |
… | |
if(ph_inter_slice_allowed_flag) { | |
if(partition_constraints_override_flag) { | |
ph_log2_diff_min_qt_min_cb_inter_slice | ue(v) |
ph_max_mtt_hierarchy_depth_inter_slice | ue(v) |
if(ph_max_mtt_hierarchy_depth_inter_slice != 0) { | |
ph_log2_diff_max_bt_min_qt_inter_slice | ue(v) |
ph_log2_diff_max_tt_min_qt_inter_slice | ue(v) |
} | |
} | |
if(cu_qp_delta_enabled_flag) | |
ph_cu_qp_delta_subdiv_inter_slice | ue(v) |
if(pps_cu_chroma_qp_offset_list_enabled_flag) | |
ph_cu_chroma_qp_offset_subdiv_inter_slice | ue(v) |
if(sps_temporal_mvp_enabled_flag) { | |
ph_temporal_mvp_enabled_flag | u(1) |
if(ph_temporal_mvp_enabled_flag && rpl_info_in_ph_flag) { | |
ph_collocated _from_l0_flag | u(1) |
if((ph_collocated_from_l0_flag && num_ref_entries[0][PicRplsIdx[0]] > 1) || (!ph_collocated_from_l0_flag && num_ref_entries[1][PicRplsIdx[1]] > 1)) | |
ph_collocated _ref_idx | ue(v) |
} | |
} | |
… |
slice_header() { | 描述符 |
… | |
if(!rpl_info_in_ph_flag && ((nal_unit_type != IDR_W_RADL && nal_unit_type != IDR_N_LP) || sps_idr_rpl_present_flag)) | |
ref_pic_lists() | |
if((rpl_info_in_ph_flag || ((nal_unit_type != IDR_W_RADL && nal_unit_type != IDR_N_LP) || sps_idr_rpl_present_flag)) && (slice_type != I && num_ref_entries[0][RplsIdx[0]] > 1) || (slice_type == B && num_ref_entries[1][RplsIdx[1]] > 1)) { | |
num_ref_idx_active_override_flag | u(1) |
if(num_ref_idx_active_override_flag) | |
for(i = 0; i < (slice_type == B ? 2:1); i++) | |
if(num_ref_entries[i][RplsIdx[i]] > 1) | |
num_ref_idx_active_minus1[i] | ue(v) |
} | |
if(slice_type != I) { | |
if(cabac_init_present_flag) | |
cabac_init_flag | u(1) |
if(ph_temporal_mvp_enabled_flag && !rpl_info_in_ph_flag) { | |
if(slice_type == B) | |
slice_collocated_from_l0_flag | u(1) |
if((slice_collocated_from_l0_flag && NumRefIdxActive[0] > 1) || (! slice_collocated_from_l0_flag && NumRefIdxActive[1] > 1)) | |
slice_collocated_ref_idx | ue(v) |
} | |
if(!wp_info_in_ph_flag && ((pps_weighted_pred_flag && slice_type == P) || (pps_weighted_bipred_flag && slice_type == B))) | |
pred_weight_table() | |
} | |
… |
PH和SH語義的上述實施方式可能有一些潛在的問題。如前述,無論是在PH還是SH中訊號傳遞RPL,僅在PH中訊號傳遞TMVP使能標誌。此外,VVC草案8施加了約束,其中位元串流一致性要求對於譯碼圖片的所有條帶,slice_collocated_ref_idx所代表的圖片應該相同。
在PH中訊號傳遞RPL且啟用TMVP的情況下,則圖片的條帶中有效參考圖片的數量可能小於PH中RPL中所包括的參考圖片的數量,並且共位圖片可以不包括在有效參考圖片中。
在潛在問題的另一個實例中,對於一些譯碼場景,可以在PH中啟用TMVP,但是每條帶可以訊號傳遞RPL。有效參考圖片的數量可能在同一圖片的條帶之間有所不同,並且對於一些條帶,RPL中可以不包括共位圖片。本揭示描述了針對違***位圖片約束的條帶禁用TMVP的技術。
SH中的RPL訊號傳遞可能存在效率低下。當前的實施方式(例如,VVC草案8)允許即使對於IDR圖片不存在RPL,諸如當sps_idr_rpl_present_flag等於0時,亦可以為I-條帶訊號傳遞RPL。PH中的加權預測訊號傳遞中亦可能存在效率低下的情況,當不存在相互關聯的語法時,諸如ph_inter_slice_allowed_flag等於0並且IDR圖片的RPL不存在時,諸如sps_idr_rpl_present_flag等於0時,可能會進行訊號傳遞。本揭示描述了可以解決上述問題的技術。下文所述的各種技術可以獨立使用或以任何組合使用。
在一些實例中,為了解決PH中的RPL的冗餘訊號傳遞,本揭示描述了技術,用於當允許訊框間預測時,諸如,當ph_inter_slice_allowed_flag等於1時,或者當針對IDR圖片存在RPL時,諸如當sps_idr_rpl_present_flag等於1時,訊號傳遞RPL。
在一個實例中,可以利用與VVC草案8相關的以下語法更改來實施此技術。在下文的實例以及本揭示的其餘部分中,<ADD>和</ADD>之間的文本表示添加到VVC草案8的文本,而<DEL>和</DEL>之間的文本表示消除的文本,亦即,已從VVC草案8中刪除的文本。
if(rpl_info_in_ph_flag <ADD> && (ph_inter_slice_allowed_flag || (ph_intra_slice_allowed_flag && sps_idr_rpl_present_flag)) </ADD> ) | |
ref_pic_lists() |
視訊解碼器300可被配置為推斷出當ph_intra_slice_allowed_flag不存在時,ph_intra_slice_allowed_flag的值被推斷為等於1,這意味著當不允許進行訊框間預測時,則應允許進行訊框內預測。因此,上述條件可以簡化如下:
if (rpl_info_in_ph_flag <ADD> && (ph_inter_slice_allowed_flag || sps_idr_rpl_present_flag) </ADD> ) | |
ref_pic_lists() |
此外,視訊編碼器200可以配置為在允許訊框間預測時(例如,在ph_inter_slice_allowed_flag等於1時)或在IDR圖片存在RPL時(諸如在sps_idr_rpl_present_flag等於1時)訊號傳遞加權預測表。
該等技術的示例實施方式如下所示,是有關VVC草案8的修改:
if((pps_weighted_pred_flag || pps_weighted_bipred_flag) && wp_info_in_ph_flag <ADD> && (ph_inter_slice_allowed_flag || (ph_intra_slice_allowed_flag && sps_idr_rpl_present_flag)) </ADD>) | |
pred_weight_table() |
視訊解碼器300可被配置為推斷出當ph_intra_slice_allowed_flag不存在時,ph_intra_slice_allowed_flag的值等於1,這意味著當不允許進行訊框間預測時,則應允許進行訊框內預測。因此,上述條件可以簡化如下:
if((pps_weighted_pred_flag || pps_weighted_bipred_flag) && wp_info_in_ph_flag <ADD> && (ph_inter_slice_allowed_flag || sps_idr_rpl_present_flag) </ADD>) | |
pred_weight_table() |
上面的兩種技術使用相似的條件,並且可以組合以訊號傳遞ref_pic_lists()和pred_weight_table(),這可能是有利的,因為實施此種條件需要較少的條件檢查。
該等技術的示例實施方式如下所示,是有關VVC草案8的修改:
if(rpl_info_in_ph_flag <ADD>&& (ph_inter_slice_allowed_flag || (ph_intra_slice_allowed_flag && sps_idr_rpl_present_flag)) </ADD>) { | |
ref_pic_lists() | |
<ADD>if((pps_weighted_pred_flag || pps_weighted_bipred_flag) && wp_info_in_ph_flag) | |
pred_weight_table() </ADD> | |
} |
在另一個實例中,鑒於上述針對ph_intra_slice_allowed_flag的推論,可以相對於如下VVC草案8所示實施該等技術:
pps_weighted_pred_flag等於0規定不將加權預測應用於參考PPS的P條帶。pps_weighted_pred_flag等於1規定將加權預測應用於引用PPS的P條帶。當sps_weighted_pred_flag等於0時,pps_weighted_pred_flag的值應等於0。
pps_weighted_bipred_flag等於0規定不將顯式加權預測應用於參考PPS的B條帶。pps_weighted_bipred_flag等於1規定將顯式加權預測應用於參考PPS的B條帶。當sps_weighted_bipred_flag等於0時,pps_weighted_bipred_flag的值應等於0。
if(rpl_info_in_ph_flag <ADD>&& (ph_inter_slice_allowed_flag || sps_idr_rpl_present_flag) </ADD>) { | |
ref_pic_lists() | |
<ADD>if((pps_weighted_pred_flag || pps_weighted_bipred_flag) && wp_info_in_ph_flag) | |
pred_weight_table() </ADD> | |
} |
根據本揭示的技術,為了避免跨越相同圖片的條帶的有效條目之間出現任何不一致性,視訊編碼器200可以被配置為訊號傳遞PH中的有效參考圖片條目的數量。在一個實例中,視訊編碼器200可以在PH中存在RPL的條件下訊號傳遞有效參考條目的數量,例如rpl_info_in_ph_flag等於1,並且例如當ph_inter_slice_allowed_flag等於1時,例如圖片中可能存在P或B條帶,或者當IDR圖片中存在RPL,例如當sps_idr_rpl_present_flag等於1時,允許進行訊框間預測。
該等技術的示例實施方式如下所示,是有關VVC草案8的修改:
<ADD>if(rpl_info_in_ph_flag && (ph_inter_slice_allowed_flag || (ph_intra_slice_allowed_flag && sps_idr_rpl_present_flag))) { | |
ph_num_ref_idx_active_override_flag | u(1) |
if(ph_num_ref_idx_active_override_flag) { | |
for(i = 0; i < rpl1_present_flag + 1; i++) | |
if(num_ref_entries[i][RplsIdx[i]] > 1) | |
ph_ num_ref_idx_active_minus1 [i] | ue(v) |
} | |
} | </ADD> |
視訊解碼器300可被配置為推斷出當不存在ph_intra_slice_allowed_flag時,ph_intra_slice_allowed_flag的值被推斷為等於1,這意味著當不允許進行訊框間預測時,則應允許進行訊框內預測。因此,可以如下簡化上述條件:
<ADD>ph_num_ref_idx_active_override_flag等於1規定PH中存在語法元素ph_num_ref_idx_active_minus1 [́0],當rpl1_present_flag等於1時,語法元素ph_num_ref_idx_active_minus1[1]存在。ph_num_ref_idx_active_override_flag等於1規定語法元素ph_num_ref_idx_active_minus1[0]和ph_num_ref_idx_active_minus1[1]不存在。若不存在,則ph_num_ref_idx_active_override_flag的值推斷為等於0。</ADD>
<ADD>ph_num_ref_idx_active_minus1[i]用於匯出變數NumRefIdxActive[i] ,如公式143所規定。ph_num_ref_idx_active_minus1[i]的值應在0至num_ref_entries[i][RplsIdx[i]](含端值)的範圍中。若ph_num_ref_idx_active_minus1[i]不存在,則將其推斷為等於0。</ADD>
<ADD>if(rpl_info_in_ph_flag && (ph_inter_slice_allowed_flag || sps_idr_rpl_present_flag)) { | |
ph_num_ref_idx_active_override_flag | u(1) |
if(ph_num_ref_idx_active_override_flag) { | |
for(i = 0; i < rpl1_present_flag + 1; i++) | |
if(num_ref_entries[i][RplsIdx[i]] > 1) | |
ph_ num_ref_idx_active_minus1 [i] | ue(v) |
} | |
} | </ADD> |
附加地,視訊編碼器200可以被配置為有條件地進行訊號傳遞,並且視訊解碼器300被配置為基於PH中的覆寫標誌ph_num_ref_idx_active_override_flag值有條件地解析SH中的覆寫標誌num_ref_idx_active_override_flag。在一個實例中,視訊編碼器200可以被配置為僅在PH覆寫標誌ph_num_ref_idx_active_override_flag等於0時訊號傳遞SH覆寫標誌num_ref_idx_active_override_flag。
視訊解碼器300可以被配置為:若PH中的覆蓋標誌ph_num_ref_idx_active_override_flag等於1,則從PH中訊號傳遞的有效參考圖片的數量中得出條帶中的有效參考圖片的數量NumRefIdxActive[i],其被分別應用於RefPicList0和RefPicList1。
該等技術的示例實施方式如下所示,作為有關VVC草案8的修改:
變數NumRefIdxActive[i]從如下匯出:
for(i=0; i<2; i++) {
if(slice_type==B || (slice_type == P && i == 0)) {
<ADD>if(ph_num_ref_idx_active_override_flag)
NumRefIdxActive[i] = ph_num_ref_idx_active_minus1[i] + 1
else</ADD> if(num_ref_idx_active_override_flag)
NumRefIdxActive[i] = num_ref_idx_active_minus1[i] + 1 (143)
else {
if(num_ref_entries[i][RplsIdx[i]] >= num_ref_idx_default_active_minus1[i] + 1)
NumRefIdxActive[i] = num_ref_idx_default_active_minus1[i] + 1
else
NumRefIdxActive[i] = num_ref_entries[i][RplsIdx[i]]
}
} else /* slice_type == I || (slice_type == P && i == 1) */
NumRefIdxActive[i] = 0
}
if(slice_type==B || (slice_type == P && i == 0)) {
在加權預測表訊號傳遞中,有兩個語法元素num_l0_weights和num_l1_weights,其指示在RefPicList0和RefPicList1中訊號傳遞的權重數量。當在PH中訊號傳遞覆寫標誌時,RPL中的條目的數量是已知的。因此,可能不需要num_l0_weights及/或num_l1_weights的值。視訊編碼器200可以被配置為基於PH覆蓋標誌ph_num_ref_idx_active_override_flag的存在有條件地訊號傳遞該等語法元素,而視訊解碼器300可以被配置為針對RefPicList0和RefPicList1推斷權重數量將分別等於ph_num_ref_idx_active_minus1。
該等技術的示例實施方式如下所示,是有關VVC草案8的修改:
num_l0_weights規定針對參考圖片列表中的條目訊號傳遞的權重數量。num_l0_weights的值應在0至num_ref_entries[0][PicRplsIdx[0]](含端值)之間。
if(wp_info_in_ph_flag && !ph_num_ref_idx_active_override_flag)
NumWeightsL0 = num_l0_weights
else if(wp_info_in_ph_flag)
NumWeightsL0 = ph_num_ref_idx_active_minus1[0] + 1
else
NumWeightsL0 = NumRefIdxActive[0] </ADD>
num_l1_weights規定針對參考圖片列表1中的條目訊號傳遞的權重數量。num_l1_weights的值應在0到num_ref_entries[1][PicRplsIdx[1]](含端值)的範圍中。
<ADD>變數 NumWeightsL0匯出如下:
if(wp_info_in_ph_flag && !ph_num_ref_idx_active_override_flag)
NumWeightsL1 = num_l1_weights
else if(wp_info_in_ph_flag)
NumWeightsL1 = ph_num_ref_idx_active_minus1[1] + 1
else
NumWeightsL0 = NumRefIdxActive[0] </ADD>
if(wp_info_in_ph_flag <ADD>&& !ph_num_ref_idx_active_override_flag</ADD>) | |
num_l0_weights | ue(v) |
if(wp_info_in_ph_flag <ADD> && !ph_num_ref_idx_active_override_flag</ADD>) | |
num_l1_weights | ue(v) |
根據本揭示的技術,為了解決當TMVP被啟用時在RPL中可能不存在共位圖片的問題,視訊編碼器200和視訊解碼器300可以被配置為根據應存在有效參考圖片之間的共位圖片的約束進行操作。
在一個實例中,以以下方式修改ph_collocated_ref_idx約束:ph_collocated_ref_idx的範圍是從0到屬於同一圖片的任何條帶的有效參考圖片的最小數目。在此種情況下,不可能在PH中訊號傳遞共位元參考索引以指示在同一圖片的一些條帶中可能不存在的共位圖片。
在一個實例中,可以藉由如下修改ph_collocated_ref_idx的語義約束來實施該約束:
當ph_collocated_from_l0_flag等於1時,ph_collocated_ref_idx代表參考圖片列表0中的一個條目,並且ph_collocated_ref_idx應在0 <ADD>到圖片中所有條帶的NumRefIdxActive[0]–1的最小值(含</ADD>)的範圍內。
當ph_collocated_from_l0_flag等於0時,ph_collocated_ref_idx代表參考圖片列表1中的一個條目,並且ph_collocated_ref_idx的值應在0 <ADD>到圖片中所有條帶的NumRefIdxActive[1]–1的最小值(含</ADD>)的範圍內。
在一些實例中,ph_collocated_ref_idx的語義可以保持不變,因為可以在解析ph_collocated_ref_idx的過程中使用該等語義,但是可以添加位元串流一致性約束以反映ph_collocated_ref_idx不得超過num_ref_idx_active_minus1[0][PicRplsIdx[0]]-1的值或圖片中任何條帶的num_ref_idx_active_minus1[1][PicRplsIdx[1]]–1的值。
在一個實例中,此種位元串流一致性約束可以表示如下:
滿足以下條件是位元串流一致性的要求:
·當ph_collocated_from_l0_flag等於1時,ph_collocated_ref_idx代表參考圖片列表0中的一個條目,並且ph_collocated_ref_idx的值應在0到<ADD>圖片中所有條帶的NumRefIdxActive[0]-1的最小值(含端值)的範圍內</ADD>。
·當ph_collocated_from_l0_flag等於0時,ph_collocated_ref_idx代表參考圖片列表1中的一個條目,並且ph_collocated_ref_idx的值應在0到<ADD>圖片中所有條帶的NumRefIdxActive[1]-1的最小值(含端值)的範圍內</ADD>。
從而,在一些實例中,視訊編碼器200和視訊解碼器300可根據包括在圖片中的條帶的NumRefIdxActive的約束進行操作,即若啟用了TMVP,則針對參考圖片列表的有效參考圖片的數量NumRefIdxActive應在ph_collocated_ref_idx至num_ref_idx_active_minus1的範圍內。
在一個實例中,約束可以表示如下:
<ADD>當ph_temporal_mvp_enabled_flag等於1時,NumRefIdxActive[slice_collocated_from_l0_flag?0:1]應大於或等於slice_collocated_ref_idx。</ADD>
在又一實例中,可以添加約束以要求共位圖片為有效參考圖片,亦即,該共位圖片必須存在於RPL中。
在一個實例中,約束可以表示如下:
<ADD>條帶的共位圖片應為有效條目。</ADD>
可選地,可以在約束中添加檢查是否啟用TMVP,在一個實例中如下所示:
<ADD>若啟用TMVP,則條帶的共位圖片應為有效條目。</ADD>
在VVC草案8中,可以使用ph_collocated_from_l0_flag在PH中訊號傳遞從中匯出共位圖片的參考圖片列表。當此標誌ph_collocated_from_l0_flag等於0時,亦即從RefPicList1匯出共位圖片,並且圖片中存在P和B條帶時,可能會出現問題。在此種情況下,因為沒有針對P條帶的RefPicList1,所以無法為P條帶匯出共位圖片。
為了解決該問題,視訊編碼器200和視訊解碼器300可以被配置為根據當圖片中存在P條帶時,ph_collocated_from_l0_flag不應等於1的約束進行操作。在一個實例中,約束可以表示如下:
Ph_collocated_from_l0_flag等於1規定用於時域運動向量預測的共位圖片從參考圖片列表0匯出。ph_collocated_from_l0_flag等於0規定用於時域運動向量預測的共位圖片從參考圖片列表1匯出。
<ADD>當ph_temporal_mvp_enabled_flag等於1時,若圖像中至少有一個P條帶,則ph_collocated_from_l0_flag的值應等於1。</ADD>
因此,視訊編碼器200和視訊解碼器300可以被配置為根據以下約束進行操作:當條帶類型為P並且啟用了TMVP時,則ph_collocated_from_l0_flag應等於1。在一個實例中,約束可以表示如下:
slice_type根據表9規定條帶的譯碼類型。
表9—與slice_type相關聯的名稱
<ADD>當slice_type等於1時,slice_collocated_from_l0_flag的值應等於1。</ADD>
slice_ type | slice_type 的名稱 |
0 | B (B條帶) |
1 | P (P條帶) |
2 | I (I條帶) |
在一些實例中,當由於PH中的ph_collocated_from_l0_flag訊號傳遞而未訊號傳遞slice_collocated_from_l0_flag時,視訊解碼器300可以被配置為針對P條帶推斷出slice_collocated_from_l0_flag等於1。在一個實例中,約束可以表示如下:
slice_collocated_from_l0_flag等於1規定用於時域運動向量預測的共位圖片從參考圖片列表0匯出。slice_collocated_from_l0_flag等於0規定用於時域運動向量預測的共位圖片從參考圖片列表1匯出。
當slice_type等於B或P時,ph_temporal_mvp_enabled_flag等於1,並且不存在slice_collocated_from_l0_flag,則適用以下條件:
<ADD>
-若slice_type等於P,則推斷slice_collocated_from_l0_flag的值等於1。
-否則,若rpl_info_in_ph_flag等於1,則推斷slice_collocated_from_l0_flag等於ph_collocated_from_l0_flag。
</ADD>
亦即,對於P條帶,視訊解碼器300可以被配置為將slice_collocated_from_l0_flag設置為等於l,意味不管ph_collocated_from_l0_flag的值是0還是1,皆根據l0進行預測。
為了解決在RPL中沒有共位圖片的問題,本揭示的技術包括:若RPL中不存在共位圖片但是啟用了TMVP,則禁用TMPV使用。在一個實例中,視訊編碼器200可以被配置為除了在PH中訊號傳遞TMVP使能標誌之外,亦在SH中訊號傳遞TMVP使能標誌。在一個實例中,若在PH中啟用了TMVP,則對於違***位圖片約束的條帶,允許逐條帶地禁用TMVP。在另一個實例中,即使啟用了TMVP,若在RPL中不存在共位圖片,則視訊編碼器200和視訊解碼器300可以配置為不基於區塊應用TMVP。
視訊編碼器200可以被配置為基於PH中的TMVP使能標誌有條件地訊號傳遞條帶中的TMVP使能標誌。在一個實例中,若PH中的TMVP使能標誌等於1,則視訊編碼器200可在條帶中訊號傳遞TMVP使能標誌。當不存在TMVP使能標誌SH時,視訊解碼器300可以被配置為推斷出TMVP的值等於在PH中訊號傳遞的TMVP標誌。
在一實例中,上述技術可以如下實施:
<ADD>等於1的slice_temporal_mvp_enabled_flag規定可以將時域運動向量預測器用於訊框間預測。slice_temporal_mvp_enabled_flag等於0規定在條帶中禁用時域運動向量預測器。當不存在slice_temporal_mvp_enabled_flag時,則可以推斷出其等於ph_temporal_mvp_enabled_flag。</ADD>
if(ph_temporal_mvp_enabled_flag) | |
<ADD>slice_temporal_mvp_enabled_flag | u(1) </ADD> |
在另一個實例中,TMVP使能標誌可以從PH移動到SH。若在條帶層上禁用了TMVP,則視訊編碼器200可以被配置為不訊號傳遞與TMVP相關的資訊,此slice_collocated_from_l0_flag和slice_collocated_ref_idx。
該等技術的示例實施方式如下所示為有關VVC草案8的修改:
if(ph_temporal_mvp_enabled_flag && !rpl_info_in_ph_flag) { | |
<ADD> slice_temporal_mvp_enabled_flag | u(1) |
if(slice_temporal_mvp_enabled_flag) { | </ADD> |
if(slice_type == B) | |
slice_ collocated_from_l0_flag | u(1) |
if((slice_collocated_from_l0_flag && NumRefIdxActive[0] > 1) || (! slice_collocated_from_l0_flag && NumRefIdxActive[1] > 1)) | |
slice_ collocated_ref_idx | ue(v) |
} |
在另一個實例中,視訊編碼器200可以被配置為若在SH中訊號傳遞RPL,則總是藉由例如在SH中訊號傳遞TMVP使能標誌,而總在RPL中訊號傳遞TMVP使能標誌,並且若在PH中訊號傳遞RPL,則在PH中訊號傳遞TMVP使能標誌。
附加地,視訊編碼器200可以被配置為以互斥的方式在SH或PH中訊號傳遞TMVP使能標誌,使得不能在PH和SH兩者中訊號傳遞TMVP使能標誌。
當在PH中,例如藉由ph_collocated_ref_idx指示共位圖片時,可能指示具有與當前圖片大小不同的圖片大小的共位圖片。為了解決該問題,本揭示描述了用於配置視訊編碼器200和視訊解碼器300以根據以下約束進行操作的技術:在PH中指示的共位圖片應當具有與當前圖片相同的圖片大小,且不對共位圖片進行縮放,或不使用參考共位圖片和當前圖片的用於匯出縮放比例的縮放窗口的不同值。
在一實例中,上述技術可以如下實施:
<ADD>位元串流一致性的要求是由ph_collocated_ref_idx代表的參考圖片的pic_width_in_luma_samples和pic_height_in_luma_samples的值應該分別等於當前圖片的pic_width_in_luma_samples和 pic_height_in_luma_samples的值,並且RprConstraintsActive[ph_collocated_from_l0_flag ? 0 :1][ph_collocated_ref_idx]應該等於0。</ADD>
在VVC草案8中,可以在SPS、PH或SH中訊號傳遞RPL。當在PH或SH中訊號傳遞時,可以從SPS匯出RPL。在後一種情況下,訊號傳遞標誌rpl_sps_flag[i]來指示RPL是從SPS匯出的,並且向RPL索引訊號傳遞rpl_idx[i]來指示將使用SPS的哪個RPL。
可以有兩個列表,即RefPicList0和RefPicList1,其利用了此種RPL匯出。在RefPicList1的情況下,訊號傳遞一個附加語法元素標誌rpl1_idx_present_flag,以指示是否發生了從SPS匯出RPL的情況。若RPL不是從SPS匯出的,則顯式地訊號傳遞RPL,這可能藉由使RefPicList0和RefPicList1訊號傳遞以不同的方式處理而在設計中引入不一致。
在一個實例中,視訊編碼器200和視訊解碼器300可以對rpl0_idx_present_flag進行譯碼,其指示RefPicList0的rpl_sps_flag[i]和rpl_idx[i]的存在,亦即,提供與RefPicList1相同的訊號傳遞功能。
在另一個實例中,可以將rpl1_idx_present_flag替換為另一個標誌rpl1_present_flag,其指示是否存在任何與RefPicList1相關的語法元素。在此種情況下,該標誌可以另外用作圖片中的B條帶存在。
在一個實例中,可以在PPS中訊號傳遞此種標誌,並且可以如下實施:
<ADD>rpl1_present_flag等於0規定RefPicList1相關語法元素不存在於PH語法結構或代表PPS的圖片的條帶頭中。rpl1_present_flag等於1規定RefPicList1相關語法元素可以存在於PH語法結構或代表PPS的圖片的條帶頭中。</ADD>
隨後,視訊編碼器200可以被配置為有條件地訊號傳遞,而視訊解碼器300被配置為基於此標誌有條件地解析RefPicList1語法元素。
在一個實例中,視訊編碼器200可以被配置為基於此標誌有條件地從PH中的RefPicList0訊號傳遞共位圖片標誌,並且若不存在,則視訊解碼器300可以被配置為推斷出共位圖片標誌指示共位圖片來自RefPicList0。該等技術的示例實施方式如下所示為有關VVC草案8的修改:
Ph_collocated_from_l0_flag等於1規定用於時域運動向量預測的共位圖片從參考圖片列表0匯出。ph_collocated_from_l0_flag等於0規定用於時域運動向量預測的共位圖片從參考圖片列表1匯出。<ADD>若不存在,則推斷ph_collocated_from_l0_flag等於1。</ADD>
<ADD> if(rpl1_present_flag) </ADD> | |
ph_collocated _from_l0_flag | u(1) |
在另一個實例中,視訊編碼器200可以被配置為基於ph_collocated_from_l0_flag有條件地訊號傳遞針對PH中的RefPicList1的零MVD標誌。該等技術的示例實施方式如下所示為有關VVC草案8的修改:
<ADD>if(rpl1_present_flag) </ADD> | |
mvd_l1_zero_flag | u(1) |
在另一個實例中,視訊編碼器200和視訊解碼器300可以被配置為根據約束進行操作,在該約束中,條帶類型被約束為當rpl1_present_flag等於0時,條帶可以僅具有I-條帶或P-條帶類型。例如,其可以表示如下:
<ADD>當rpl1_present_flag等於0時,slice_type的值應等於1或2。</ADD>
在另一個實例中,視訊編碼器200可以被配置為基於rpl1_present_flag有條件地訊號傳遞RefPicList1的加權預測表,而視訊解碼器300有條件地解析RefPicList1的加權預測表。
該等技術的示例實施方式如下所示為有關VVC草案8的修改:
num_l1_weights規定針對參考圖片列表1中的條目訊號傳遞的權重數量。num_l1_weights的值應在0到num_ref_entries[1][PicRplsIdx[1]](含端值)的範圍中。
變數NumWeightsL0 匯出如下:
if(wp_info_in_ph_flag && <ADD>&& rpl1_present_flag </ADD>)
NumWeightsL1 = num_l1_weights
else
NumWeightsL0 = NumRefIdxActive[0]
if(wp_info_in_ph_flag && <ADD>rpl1_present_flag </ADD>) | |
num_l1_weights | ue(v) |
在另一個實例中,視訊編碼器200可以被配置為基於rpl1_present_flag有條件地訊號傳遞針對RefPicList1的RPL語法元素。該等技術的示例實施方式如下所示為有關VVC草案8的修改:
ref_pic_lists() { | 描述符 |
(i = 0; i < <ADD>rpl1_present_flag ? 2:1</ADD>; i++) { | |
if(num_ref_pic_lists_in_sps[i] > 0 && <DEL> (i == 0 || (i == 1 && rpl1_idx_present_flag)) </DEL>) | |
rpl_sps_flag [i] | u(1) |
if(rpl_sps_flag[i]) { | |
if(num_ref_pic_lists_in_sps[i] > 1 && <DEL> (i == 0 || (i == 1 && rpl1_idx_present_flag)) </DEL>) | |
rpl_idx [i] | u(v) |
} else | |
ref_pic_list_struct(i,num_ref_pic_lists_in_sps[i]) | |
for(j = 0; j < NumLtrpEntries[i][RplsIdx[i]]; j++) { | |
if(ltrp_in_slice_header_flag[i][RplsIdx[i]]) | |
poc_lsb_lt [i][j] | u(v) |
delta_poc_msb_present_flag [i][j] | u(1) |
if(delta_poc_msb_present_flag[i][j]) | |
delta_poc_msb_cycle_lt [i][j] | ue(v) |
} | |
} | |
} |
在此種情況下,可以簡化ref_pic_list訊號傳遞中的條件檢查。
在VVC草案8中,可以為非IDR圖片的I-條帶訊號傳遞RPL。然而,此種RPL未用於I-條帶解碼中,並且沒有辦法避免此種冗餘訊號傳遞。本揭示描述了用於配置視訊編碼器200以在不是I-條帶類型的條帶上調節RPL訊號傳遞的技術。本發明亦描述了只有當指示針對此類圖片存在RPL時,例如當sps_idr_rpl_present_flag等於1時,用於配置視訊編碼器200向IDR圖片訊號傳遞RPL的技術。
該等技術的示例實施方式如下所示為有關VVC草案8的修改:
if(!rpl_info_in_ph_flag <ADD> && ((nal_unit_type == IDR_W_RADL || nal_unit_type == IDR_N_LP) && sps_idr_rpl_present_flag) || slice_type != I ) </ADD> | |
ref_pic_lists() |
在VVC草案8中,只有當在PH中訊號傳遞RPL時,才在SH中訊號傳遞參考圖片覆寫標誌num_ref_idx_active_override_flag。當在SH中訊號傳遞RPL且應在RPL中訊號傳遞一些圖片以供將來參考時,這可能會產生問題,但因為在SH中未訊號傳遞覆寫標誌,所以無法更改有效參考圖片的數量。訊號傳遞此類圖片的唯一方法是使整個訊號傳遞的RPL有效,由於未使用RPL中包括的一些圖片,因此每個區區塊的參考索引訊號傳遞皆需要額外的管理負擔。另一個問題是,即使不需要I-條帶,亦會訊號傳遞針對I-條帶的num_ref_idx_active_override_flag。
根據本揭示的技術,即使當在SH中訊號傳遞RPL時,視訊編碼器200可以被配置以在SH中訊號傳遞覆寫標誌num_ref_idx_active_override_flag。附加地或可替代地,視訊編碼器200可以被配置為即使當其他訊號傳遞指示針對此類圖片存在RPL時,亦不會針對IDR圖片的I-條帶訊號傳遞(例如,避免訊號傳遞)覆寫標誌。例如,當sps_idr_rpl_present_flag等於1時,由於I-條帶解碼不需要RPL,因此I-條帶中沒有參考索引訊號傳遞,因此沒有額外的管理負擔。
該等技術的示例實施方式如下所示為有關VVC草案8的修改:
if((<DEL> rpl_info_in_ph_flag||((nal_unit_type != IDR_W_RADL && nal_unit_type != IDR_N_LP)||sps_idr_rpl_present_flag)) &&</DEL> (slice_type!= I && num_ref_entries[0][RplsIdx[0]]>1) ||(slice_type ==B && num_ref_entries[1][RplsIdx[1]]>1)){ | |
num_ref_idx_active_override_flag | u(1) |
在該示例實施方式中,若訊號傳遞指示針對I-條帶存在RPL資訊,則當在PH中訊號傳遞RPL資訊時(例如,當rpl_info_in_ph_flag等於1時)或針對IDR圖片存在RPL(例如,sps_idr_rpl_present_flag等於1),並且在任何參考圖片列表中RPL條目的數量皆大於1,則不會訊號傳遞語法元素num_ref_idx_active_override_flag。或者換句話說,若訊號傳遞指示PH中存在RPL(rpl_info_in_ph_flag等於1)或針對IDR圖片存在RPL(sps_idr_rpl_present_flag等於1),並且在任何參考圖片列表中RPL條目的數量均大於1,僅針對P-條帶或B-條帶類型訊號傳遞num_ref_idx_active_override_flag。
在VVC草案8中,PH中有一個標誌gdr_or_irap_pic_flag來指示圖片是IRAP還是GDR,其可用於標識解碼的起點。然而,此標誌的訊號傳遞不受圖片中可能存在混合NAL類型的指示的約束。在此種情況下,不可能有IRAP或GDR圖片。
根據本揭示的技術,視訊編碼器200可以被配置為基於對混合NAL單元類型mixed_nalu_types_in_pic_flag的指示而有條件地訊號傳遞gdr_or_irap_pic_flag。視訊解碼器300可以被配置為當在位元串流中不存在gdr_or_irap_pic_flag時,推斷出gdr_or_irap_pic_flag等於0。
該等技術的示例實施方式如下所示為有關VVC草案8的修改:
gdr_or_irap_pic_flag等於1規定當前圖片是GDR或IRAP圖片。gdr_or_irap_pic_flag等於0規定當前圖片可能是GDR或IRAP圖片,亦可能不是。<ADD>當不存在gdr_irap_pic_flag時,則可以推斷出其等於0。</ADD>
<ADD> if(mixed_nalu_types_in_pic_flag) </ADD> | |
gdr_or_irap_pic_flag | u(1) |
在一些實例中,視訊編碼器200和視訊解碼器300可以被配置為根據約束進行操作,在該約束中,gdr_or_irap_pic_flag的語義被約束,使得當指示混合NAL單元類型存在時,gdr_or_irap_pic_flag應為0。該等技術的示例實施方式如下所示為有關VVC草案8的修改:
gdr_or_irap_pic_flag等於1規定當前圖片是GDR或IRAP圖片。gdr_or_irap_pic_flag等於0規定當前圖片可能是GDR或IRAP圖片,亦可能不是。<ADD>當mixed_nalu_types_in_pic_flag等於1時,gdr_irap_pic_flag應等於0。</ADD>
根據以上介紹的技術,視訊編碼器200可以被配置為決定參考圖片列表資訊被包括在PH語法結構中,並產生第一語法元素,諸如上述的rpl_info_in_ph_flag,以指示參考圖片列表資訊被包括在PH語法結構中。視訊編碼器200可以產生第二語法元素,諸如上述的ph_collocated_from_l0_flag,以包括在PH語法結構中,其中第二語法元素的第一值(例如,0)指示用於時域運動向量預測的共位圖片將從第一參考圖片列表(例如,l0)匯出,以及第二語法元素的第二值(例如,1)指示用於時域運動向量預測的共位圖片將從第二參考圖片列表(例如,l1)匯出。視訊編碼器200可以決定代表PH語法結構的視訊資料的條帶為P條帶,且回應於條帶為P條帶,決定與條帶相關聯的第三語法元素的值(諸如,slice_collocated_from_l0_flag)等於第三語法元素的第一值,其中第三語法元素的第一值(例如0)指示用於時域運動向量預測的共位圖片將從第一參考圖片列表(例如,l0)匯出,以及第三語法元素的第二值(例如,1)指示用於時域運動向量預測的共位圖片將從第二參考圖片列表(例如,l1)匯出。視訊編碼器200可以輸出包括第一語法元素和PH語法結構的編碼的視訊資料的位元串流。
依照此種技術,視訊解碼器300可以被配置為接收第一語法元素,諸如上文的rpl_info_in_ph_flag,其指示參考圖片列表資訊被包括在PH語法結構中,並且作為回應,接收第二語法元素,諸如上文PH語法結構中的ph_collocated_from_l0_flag。對於第二語法元素,第一值(例如,0)可以指示用於時域運動向量預測的共位圖片將從第一參考圖片列表(例如,l0)匯出,以及第二值(例如,1)可以指示用於時域運動向量預測的共位圖片將從第二參考圖片列表(例如,l1)匯出。視訊解碼器300可以接收代表PH語法結構的視訊資料的條帶,並且回應於條帶為P條帶,將與該條帶相關聯的第三語法元素的值,諸如上文的slice_collocated_from_l0_flag,設置為第一值。第三語法元素的第一值(例如,0)可以指示用於時域運動向量預測的共位圖片將從第一參考圖片列表(例如,l0)匯出,而第三語法元素的第二值(例如,1)將指示用於時域運動向量預測的共位圖片將從第二參考圖片列表(例如,l1)匯出。
附加地,視訊解碼器300可以被配置為回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素並且回應於條帶為P條帶,而接收第四語法元素的實例,其中第四語法元素的第一值指示第五語法元素被包括在條帶頭中,而第四語法元素的第二值指示第五語法元素不被包括在條帶頭中。回應於第四語法元素的實例等於第四語法元素的第一值,視訊解碼器300可以接收第五語法元素的實例,並基於用於第五個語法元素的實例的值決定用於條帶的有效參考圖片的數量。
圖3是示出可以執行本揭示的技術的示例視訊編碼器200的方塊圖。提供圖3是為了進行說明,而不應認為是對本揭示中廣泛示例和描述的技術的限制。出於說明的目的,本揭示根據VVC(正在開發的ITU-T H.266)和HEVC(ITU-T H.265)的技術來描述視訊編碼器200。然而,本揭示的技術可以由被配置為其他視訊譯碼標準的視訊編碼設備來執行。
在圖3的實例中,視訊編碼器200包括視訊資料記憶體230、模式選擇單元202、殘差產生單元204、變換處理單元206、量化單元208、逆量化單元210、逆變換處理單元212、重構單元214、濾波器單元216、解碼圖片緩衝器(DPB) 218和熵編碼單元220。可以在一或多個處理器中或在處理電路中實現視訊資料記憶體230、模式選擇單元202、殘差產生單元204、變換處理單元206、量化單元208、逆量化單元210、逆變換處理單元212、重構單元214、濾波器單元216、DPB 218和熵編碼單元220中的任何一個或全部。例如,視訊編碼器200的單元可以被實現為一或多個電路或邏輯元件,作為硬體電路的一部分,或者作為處理器、ASIC、FPGA的一部分。此外,視訊編碼器200可以包括附加的或可替代的處理器或處理電路來執行該等和其他功能。
視訊資料記憶體230可以儲存要由視訊編碼器200的部件編碼的視訊資料。視訊編碼器200可以從例如視訊源104(圖1)接收儲存在視訊資料記憶體230中的視訊資料。DPB 218可以充當參考圖片記憶體,其儲存用於在視訊編碼器200對後續視訊資料的預測中使用的參考視訊資料。視訊資料記憶體230和DPB 218可以由各種記憶體裝置中的任何一種形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、電阻RAM(RRAM)或其他類型的記憶體設備。視訊資料記憶體230和DPB 218可以由相同的記憶體設備或單獨的記憶體設備提供。在各種實例中,視訊資料記憶體230可以與視訊編碼器200的其他部件一起在晶片上,如圖所示,或者相對於該等部件在晶片外。
在本揭示中,對視訊資料記憶體230的引用不應被解釋為限於視訊編碼器200內部的記憶體(除非如此具體描述),或者限於視訊編碼器200外部的記憶體(除非如此具體描述)。相反,對視訊資料記憶體230的引用應該理解為儲存視訊編碼器200接收用於編碼的視訊資料(例如,要被編碼的當前區塊的視訊資料)的參考記憶體。圖1的記憶體106亦可以提供來自視訊編碼器200的各個單元的輸出的臨時儲存。
圖3的各個單元被示出以幫助理解由視訊編碼器200執行的操作。該等單元可以被實現為固定功能電路、可程式設計電路或其組合。固定功能電路指提供特定功能的電路,並被預設為可以執行的操作。可程式設計電路是指可被程式設計以執行各種任務並在可執行的操作中提供靈活功能的電路。例如,可程式設計電路可以執行軟體或韌體,使得可程式設計電路以由軟體或韌體的指令定義的方式操作。固定功能電路可以執行軟體指令(例如,接收參數或輸出參數),但是固定功能電路執行的操作的類型通常是不可變的。在一些實例中,該等單元中的一或多個可以是不同的電路區塊(固定功能的或可程式設計的),並且在一些實例中,該等單元中的一或多個可以是積體電路。
視訊編碼器200可以包括算數邏輯單位(ALU)、基本功能單元(EFU)、數位電路、類比電路,及/或由可程式設計電路形成的可程式設計核心。在使用由可程式設計電路執行的軟體來執行視訊編碼器200的操作的實例中,記憶體106(圖1)可以儲存視訊編碼器200接收並執行的軟體的指令(例如,目標代碼),或者視訊編碼器200內的另一記憶體(未圖示)可以儲存此種指令。
視訊資料記憶體230被配置為儲存接收的視訊資料。視訊編碼器200可以從視訊資料記憶體230檢索視訊資料的圖片,並將視訊資料提供到殘差產生單元204和模式選擇單元202。視訊資料記憶體230中的視訊資料可以是待編碼的原始視訊資料。
模式選擇單元202包括運動估計單元222、運動補償單元224和訊框內預測單元226。模式選擇單元202可以包括附加的功能單元,以根據其他預測模式來執行視訊預測。作為實例,模式選擇單元202可以包括調色板(palette)單元、塊內複製單元(其可以是運動估計單元222及/或運動補償單元224的一部分)、仿射單元、線性模型(LM)單元等。
模式選擇單元202通常協調多個編碼遍歷(pass),以測試編碼參數的組合以及此種組合的結果(resulting)率失真值。編碼參數可以包括將CTU劃分為CU、用於CU的預測模式、用於CU的殘差資料的變換類型、用於CU的殘差資料的量化參數等。模式選擇單元202可以最終選擇具有比其他測試組合更好的率失真值的編碼參數組合。
視訊編碼器200可以將從視訊資料記憶體230中檢索到的圖片劃分為一系列CTU,並將一或多個CTU封裝在條帶內。模式選擇單元202可以根據樹結構(諸如上述HEVC的QTBT結構或四叉樹結構),來劃分圖片的CTU。如上述,視訊編碼器200可以由根據樹結構劃分CTU來形成一或多個CU。此種CU通常亦可以被稱為「視訊區塊」或「區塊」。
通常,模式選擇單元202亦控制其部件(例如,運動估計單元222、運動補償單元224和訊框內預測單元226),以產生當前區塊(例如,當前CU,或者在HEVC中PU和TU的重疊部分)的預測區塊。對於當前區塊的訊框間預測,運動估計單元222可以執行運動搜尋以標識一或多個參考圖片(例如,在DPB 218中儲存的一或多個先前譯碼的圖片)中的一或多個緊密匹配的參考區塊。具體地,運動估計單元222可以計算表示可能參考區塊與當前區塊如何相似的值,例如根據絕對差和(SAD)、平方差和(SSD)、平均絕對差(MAD)、均方差(MSD)等。運動估計單元222通常可以使用當前區塊和所考慮的參考區塊之間的逐取樣差來執行該等計算。運動估計單元222可以標識具有由該等計算產生的最低值的參考區塊,該最低值指示最緊密匹配當前區塊的參考區塊。
運動估計單元222可以形成一或多個運動向量(MV),該等運動向量定義參考圖片中的參考區塊的位置相對於當前圖片中的當前區塊的位置。隨後運動估計單元222可以向運動補償單元224提供運動向量。例如,對於單向訊框間預測,運動估計單元222可以提供單個運動向量,而對於雙向訊框間預測,運動估計單元222可以提供兩個運動向量。隨後運動補償單元224可以使用運動向量來產生預測區塊。例如,運動補償單元224可以使用運動向量來檢索參考區塊的資料。作為另一實例,若運動向量具有分數取樣精度,則運動補償單元224可以根據一或多個內插濾波器對預測區塊的值進行內插。此外,對於雙向訊框間預測,運動補償單元224可以檢索由相應運動向量標識的兩個參考區塊的資料,並經由例如逐取樣平均或加權平均來組合檢索的資料。
作為另一實例,對於訊框內預測,或訊框內預測譯碼,訊框內預測單元226可以從與當前區塊相鄰的取樣產生預測區塊。例如,對於方向模式,訊框內預測單元226通常可以數學地組合相鄰取樣的值,並在當前區塊上沿定義的方向填充該等計算值,以產生預測區塊。作為另一實例,對於DC模式,訊框內預測單元226可以計算當前區塊的相鄰取樣的平均值,並且產生預測區塊以包括預測區塊的每個取樣的所產生的平均值。
模式選擇單元202將預測區塊提供到殘差產生單元204。殘差產生單元204從視訊資料記憶體230接收當前區塊的原始未編碼版本,並從模式選擇單元202接收預測區塊。殘差產生單元204計算當前區塊和預測區塊之間的逐取樣差。所得的逐取樣差定義了當前區塊的殘差區塊。在一些實例中,殘差產生單元204亦可以決定殘差區塊中的取樣值之間的差,以使用殘差差分脈衝譯碼調制(RDPCM)來產生殘差區塊。在一些實例中,可以使用執行二進位減法的一或多個減法器電路來形成殘差產生單元204。
在模式選擇單元202將CU劃分為PU的實例中,每個PU可以與亮度預測單元和對應的色度預測單元相關聯。視訊編碼器200和視訊解碼器300可以支援具有各種大小的PU。如上文指示,CU的大小可以指CU的亮度譯碼區塊的大小,並且PU的大小可以指PU的亮度預測單元的大小。假設特定CU的大小為2Nx2N,視訊編碼器200可支援用於訊框內預測的2Nx2N或NxN的PU大小,以及用於訊框間預測的2Nx2N、2NxN、Nx2N、NxN或類似的對稱PU大小。視訊編碼器200和視訊解碼器300亦可以支援用於訊框間預測的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非對稱劃分。
在模式選擇單元202未進一步將CU劃分為PU的實例中,每個CU可以與亮度譯碼區塊和對應的色度譯碼區塊相關聯。如上文,CU的大小可以指CU的亮度譯碼區塊的大小。視訊編碼器200和視訊解碼器300可以支援2Nx2N、2NxN或Nx2N的CU大小。
對於其他視訊譯碼技術,諸如塊內複製模式譯碼、仿射模式譯碼和線性模型(LM)模式譯碼(作為少數實例),模式選擇單元202經由與譯碼技術相關聯的相應單元,針對正在編碼的當前區塊產生預測區塊。在一些實例中,諸如調色板模式譯碼,模式選擇單元202可以不產生預測區塊,而是產生指示基於所選調色板來重構區塊的方式的語法元素。在此種模式下,模式選擇單元202可以將該等語法元素提供到熵編碼單元220以進行編碼。
如上述,殘差產生單元204接收當前區塊和對應預測區塊的視訊資料。隨後殘差產生單元204針對當前區塊產生殘差區塊。為了產生殘差區塊,殘差產生單元204計算預測區塊和當前區塊之間的逐取樣差。
變換處理單元206對殘差區塊應用一或多個變換,以產生變換係數的區塊(本文稱為「變換係數區塊」)。變換處理單元206可以對殘差區塊應用各種變換,以形成變換係數區塊。例如,變換處理單元206可以對殘差區塊應用離散餘弦變換(DCT)、方向變換、卡爾亨-洛夫變換(KLT),或概念上類似的變換。在一些實例中,變換處理單元206可以對殘差區塊執行多個變換,例如主變換和次變換,諸如旋轉變換。在一些實例中,變換處理單元206不對殘差區塊應用變換。
量化單元208可以量化變換係數區塊中的變換係數,以產生量化的變換係數區塊。量化單元208可以根據與當前區塊相關聯的量化參數(QP)值來量化變換係數區塊的變換係數。視訊編碼器200(例如,經由模式選擇單元202)可以藉由調整與CU相關聯的QP值來調整應用於與當前區塊相關聯的變換係數區塊的量化的程度。量化可能引入資訊損失,因此,量化的變換係數可能比由變換處理單元206產生的原始變換係數具有更低的精度。
逆量化單元210和逆變換處理單元212可以分別對量化的變換係數區塊應用逆量化和逆變換,以從變換係數區塊重構殘差區塊。重構單元214可以基於重構的殘差區塊和由模式選擇單元202產生的預測區塊來產生對應於當前區塊的重構區塊(儘管可能具有一定程度的失真)。例如,重構單元214可以將重構的殘差區塊的取樣添加到來自模式選擇單元202產生的預測區塊的對應取樣中,以產生重構區塊。
濾波器單元216可以對重構區塊執行一或多個濾波操作。例如,濾波器單元216可以執行去塊操作以減少沿CU邊緣的區塊效應偽像。在一些實例中,可以跳過濾波器單元216的操作。
視訊編碼器200在DPB 218中儲存重構區塊。例如,在不執行濾波器單元216的操作的實例中,重構單元214可以將重構區塊儲存到DPB 218。在執行濾波器單元216的操作的實例中,濾波器單元216可以將經濾波的重構區塊儲存到DPB 218。運動估計單元222和運動補償單元224可以從DPB 218中檢索參考圖片,該參考圖片由重構的(並且可能經濾波的)區塊形成,以對隨後編碼的圖片的區塊進行訊框間預測。此外,訊框內預測單元226可以使用當前圖片的DPB 218中的重構區塊來對當前圖片中的其他區塊進行訊框內預測。
通常,熵編碼單元220可以對從視訊編碼器200的其他功能部件接收的語法元素進行熵編碼。例如,熵編碼單元220可以對來自量化單元208的量化的變換係數區塊進行熵編碼。作為另一實例,熵編碼單元220可以對來自模式選擇單元202的預測語法元素(例如,用於訊框間預測的運動資訊或用於訊框內預測的訊框內模式資訊)進行熵編碼。熵編碼單元220可以對作為視訊資料的另一實例的語法元素執行一或多個熵編碼操作,以產生熵編碼的資料。例如,熵編碼單元220可以對資料執行上下文自我調整可變長度譯碼(CAVLC)操作、CABAC操作、變長-變長(V2V)譯碼操作、基於語法的上下文自我調整二進位算術譯碼(SBAC)操作、概率區間劃分熵(PIPE)譯碼操作、指數-哥倫佈(Exponential-Golomb)編碼操作,或另一種類型的熵編碼操作。在一些實例中,熵編碼單元220可以在語法元素未被熵編碼的旁路模式下操作。
視訊編碼器200可以輸出包括重構條帶或圖片的區塊所需的經熵編碼的語法元素的位元串流。具體地,熵編碼單元220可以輸出位元串流。
以上描述的操作是針對區塊進行描述的。此種描述應該理解為用於亮度譯碼區塊及/或色度譯碼區塊的操作。如上述,在一些實例中,亮度譯碼區塊和色度譯碼區塊是CU的亮度和色度分量。在一些實例中,亮度譯碼區塊和色度譯碼區塊是PU的亮度和色度分量。
在一些實例中,不需要對色度譯碼區塊重複針對亮度譯碼區塊執行的操作。作為一個實例,不需要為了標識色度區塊的MV和參考圖片而重複標識亮度譯碼區塊的運動向量(MV)和參考圖片的操作。相反,亮度譯碼區塊的MV可以被縮放以決定色度區塊的MV,並且參考圖片可以是相同的。作為另一實例,訊框內預測處理對於亮度譯碼區塊和色度譯碼區塊可以是相同的。
視訊編碼器200表示被配置為編碼視訊資料的設備的實例,該設備包括被配置為儲存視訊資料的記憶體,以及在電路中實現並被配置為執行本揭示的技術(包括在下文的請求項中的技術)的一或多個處理單元。
圖4是示出可以執行本揭示的技術的示例視訊解碼器300的方塊圖。圖4是出於說明的目的而提供的,並不限制本揭示中廣泛示例和描述的技術。出於說明的目的,本揭示根據VVC(正在開發的ITU-T H.266)和HEVC(ITU-T H.265)的技術來描述視訊解碼器300。然而,本揭示的技術可以由被配置為其他視訊譯碼標準的視訊譯碼設備來執行。
在圖4的實例中,視訊解碼器300包括譯碼圖片緩衝器(CPB)記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310、濾波器單元312和解碼圖片緩衝器(DPB)314。可以在一或多個處理器中或在處理電路中實現CPB記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310、濾波器單元312和DPB 314中的任何一個或全部。例如,視訊解碼器300的單元可以被實現為一或多個電路或邏輯元件,作為硬體電路的一部分,或者作為處理器、ASIC、FPGA的一部分。此外,視訊解碼器300可以包括附加的或可替代的處理器或處理電路來執行該等和其他功能。
預測處理單元304包括運動補償單元316和訊框內預測單元318。預測處理單元304可以包括附加單元,以根據其他預測模式執行預測。作為實例,預測處理單元304可以包括調色板單元、塊內複製單元(其可以形成運動補償單元316的一部分)、仿射單元、線性模型(LM)單元等。在其他實例中,視訊解碼器300可以包括更多、更少或不同的功能部件。
CPB記憶體320可以儲存要由視訊解碼器300的部件解碼的視訊資料,諸如編碼的視訊位元串流。在CPB記憶體320中儲存的視訊資料可以例如從電腦可讀取媒體110(圖1)獲得。CPB記憶體320可以包括儲存來自編碼的視訊位元串流的編碼的視訊資料(例如,語法元素)的CPB。此外,CPB記憶體320可以儲存除譯碼的圖片的語法元素外的視訊資料,諸如表示來自視訊解碼器300的各個單元的輸出的臨時資料。DPB 314通常儲存解碼的圖片,視訊解碼器300可以在解碼編碼的視訊位元串流的後續資料或圖片時輸出該等解碼的圖片及/或將其用作參考視訊資料。CPB記憶體320和DPB 314可以由多種記憶體設備中的任何一種形成,諸如DRAM,包括SDRAM、MRAM、RRAM或其他類型的記憶體設備。CPB記憶體320和DPB 314可以由相同的記憶體設備或單獨的記憶體設備提供。在各種實例中,CPB記憶體320可以與視訊解碼器300的其他部件一起在晶片上,或者相對於該等部件在晶片外。
附加地或可替代地,在一些實例中,視訊解碼器300可以從記憶體120(圖1)檢索譯碼的視訊資料。亦即,記憶體120可以如上文論述利用CPB記憶體320儲存資料。同樣,在以要由視訊解碼器300的處理電路執行的軟體實現視訊解碼器300的功能中的一些或全部時,記憶體120可以儲存要由視訊解碼器300執行的指令。
圖4中所示的各種單元被示出以幫助理解視訊解碼器300執行的操作。該等單元可以被實現為固定功能電路、可程式設計電路或其組合。類似於圖3,固定功能電路是指提供特定功能的電路,並被預設為可以執行的操作。可程式設計電路是指可被程式設計以執行各種任務並在可執行的操作中提供靈活功能的電路。例如,可程式設計電路可以執行軟體或韌體,使得可程式設計電路以由軟體或韌體的指令定義的方式操作。固定功能電路可以執行軟體指令(例如,接收參數或輸出參數),但是固定功能電路執行的操作的類型通常是不可變的。在一些實例中,該等單元中的一或多個可以是不同的電路區塊(固定功能的或可程式設計的),並且在一些實例中,該等單元中的一或多個可以是積體電路。
視訊解碼器300可以包括ALU、EFU、數位電路、類比電路,及/或由可程式設計電路形成的可程式設計核心。在由在可程式設計電路上執行的軟體來執行視訊解碼器300的操作的實例中,片上或片外記憶體可以儲存視訊解碼器300接收和執行的軟體的指令(例如,目標代碼)。
熵解碼單元302可以從CPB接收編碼的視訊資料,並對視訊資料進行熵解碼以再現語法元素。預測處理單元304、逆量化單元306、逆變換處理單元308、重構單元310和濾波器單元312可以基於從位元串流提取的語法元素來產生解碼的視訊資料。
通常,視訊解碼器300在逐區塊的基礎上重構圖片。視訊解碼器300可以對每個區區塊單獨執行重構操作(其中當前正在重構(亦即,解碼)的區塊可以被稱為「當前區塊」)。
熵解碼單元302可以對定義量化的變換係數區塊的量化的變換係數的語法元素、以及變換資訊(諸如量化參數(QP)及/或(一或多個)變換模式指示)進行熵解碼。逆量化單元306可以使用與量化的變換係數區塊相關聯的QP來決定量化的程度,並且同樣,決定逆量化單元306要應用的逆量化的程度。逆量化單元306可以例如執行逐位左移位操作來對量化的變換係數進行逆量化。逆量化單元306可以由此形成包括變換係數的變換係數區塊。
在逆量化單元306形成變換係數區塊之後,逆變換處理單元308可以對變換係數區塊應用一或多個逆變換,以產生與當前區塊相關聯的殘差區塊。例如,逆變換處理單元308可以對變換係數區塊應用逆DCT、逆整數變換、逆卡爾亨-洛夫變換(KLT)、逆旋轉變換、逆方向變換,或另一逆變換。
此外,預測處理單元304根據由熵解碼單元302熵解碼的預測資訊語法元素產生預測區塊。例如,若預測資訊語法元素指示當前區塊是訊框間預測的,則運動補償單元316可以產生預測區塊。在此種情況下,預測資訊語法元素可以指示從中檢索參考區塊的DPB 314中的參考圖片,以及標識參考圖片中的參考區塊的位置相對於當前圖片中的當前區塊的位置的運動向量。運動補償單元316通常可以以與針對運動補償單元224(圖3)描述的大體相似的方式來執行訊框間預測處理。
作為另一實例,若預測資訊語法元素指示當前區塊是訊框內預測的,則訊框內預測單元318可以根據由預測資訊語法元素指示的訊框內預測模式來產生預測區塊。同樣,訊框內預測單元318通常可以以與關於訊框內預測單元226(圖3)所描述的大體類似的方式來執行訊框內預測處理。訊框內預測單元318可以從DPB 314檢索當前區塊的相鄰取樣的資料。
重構單元310可以使用預測區塊和殘差區塊來重構當前區塊。例如,重構單元310可以將殘差區塊的取樣添加到預測區塊的對應取樣以重構當前區塊。
濾波器單元312可以對重構區塊執行一或多個濾波操作。例如,濾波器單元312可以執行去塊操作以減少沿著重構區塊的邊緣的區塊效應偽像。濾波器單元312的操作不一定在所有實例中執行。
視訊解碼器300可以將重構區塊儲存在DPB 314中。例如,在不執行濾波器單元312的操作的實例中,重構單元310可以將重構區塊儲存到DPB 314。在執行濾波器單元312的操作的實例中,濾波器單元312可以將經濾波的重構區塊儲存到DPB 314。如上文論述,DPB 314可以向預測處理單元304提供參考資訊,諸如用於訊框內預測的當前圖片的取樣和用於後續運動補償的先前解碼的圖片。此外,視訊解碼器300可以從DPB 314輸出解碼的圖片(例如,解碼的視訊),用於在顯示設備(諸如圖1的顯示設備118)上隨後呈現。
以此種方式,視訊解碼器300表示視訊解碼設備的實例,該視訊解碼設備包括被配置為儲存視訊資料的記憶體,以及在電路中實現並被配置為執行本揭示的技術(包括以下請求項的技術)的一或多個處理單元。
圖5是示出用於對當前區塊進行編碼的示例方法的流程圖。當前區塊可以包括當前CU。儘管對視訊編碼器200(圖1和圖3)進行了描述,但是應當理解,可以將其他設備配置為執行與圖5類似的方法。
在本實例中,視訊編碼器200最初預測當前區塊(350)。例如,視訊編碼器200可以形成當前區塊的預測區塊。隨後視訊編碼器200可以計算當前區塊的殘差區塊(352)。為了計算殘差區塊,視訊編碼器200可以計算原始未編碼區塊與當前區塊的預測區塊之間的差。隨後視訊編碼器200可以變換殘差區塊並量化殘差區塊的變換係數(354)。接下來,視訊編碼器200可以掃瞄殘差區塊的量化的變換係數(356)。在掃瞄期間,或在掃瞄之後,視訊編碼器200可以對變換係數進行熵編碼(358)。例如,視訊編碼器200可以使用CAVLC或CABAC對變換係數進行編碼。隨後視訊編碼器200可以輸出區塊的熵編碼的資料(360)。
圖6是示出用於解碼視訊資料的當前區塊的示例方法的流程圖。當前區塊可以包括當前CU。儘管關於視訊解碼器300(圖1和圖4)進行了描述,但是應當理解,可以將其他設備配置為執行與圖6類似的方法。
視訊解碼器300可以接收當前區塊的熵編碼的資料,諸如用於對應於當前區塊的殘差區塊的轉換係數的熵編碼的預測資訊和熵編碼的資料(370)。視訊解碼器300可以對熵編碼的資料進行熵解碼,以決定當前區塊的預測資訊,並再現殘差區塊的變換係數(372)。視訊解碼器300可預測當前區塊(374),例如,使用由當前區塊的預測資訊指示的訊框內或訊框間預測模式,來計算當前區塊的預測區塊。隨後視訊解碼器300可以逆掃瞄再現的變換係數(376),以建立量化的變換係數的區塊。隨後視訊解碼器300可以對變換係數進行逆量化和逆變換,以產生殘差區塊(378)。視訊解碼器300可藉由組合預測區塊和殘差區塊來最終解碼當前區塊(380)。
圖7是示出用於對當前區塊進行編碼的示例方法的流程圖。當前區塊可以包括當前CU。儘管關於視訊編碼器200(圖1和圖3)進行了描述,但是應當理解,可以將其他設備配置為執行與圖7類似的方法。
在圖7的實例中,回應於決定參考圖片列表資訊被包括在PH語法結構中,視訊編碼器200產生第一語法元素,諸如上文的rpl_info_in_ph_flag,指示參考圖片列表資訊被包括在PH語法結構中(400)。
視訊編碼器200產生包括在PH語法結構中的第二語法元素,諸如ph_collocated_from_l0_flag,該第二語法元素被設置為一個值以指示用於時域運動向量預測的共位圖片將從兩個參考圖片列表中的第二參考圖片列表(例如,l1)中匯出(402)。視訊編碼器200決定代表PH語法結構的視訊資料條帶為P條帶(404)。回應於該條帶為P條帶,視訊編碼器200決定與該條帶相關聯的第三語法元素的值,諸如slice_collocated_from_l0_flag,等於指示用於時域運動向量預測的共位圖片將從兩個參考圖片列表的第一參考圖片列表(例如,l0)匯出的值(406)。視訊編碼器200輸出包括第一語法元素和PH語法結構的編碼的視訊資料的位元串流(408)。
圖8是示出用於解碼視訊資料的當前區塊的示例方法的流程圖。當前區塊可以包括當前CU。儘管關於視訊解碼器300(圖1和圖4)進行了描述,但是應當理解,可以將其他設備配置為執行與圖8類似的方法。
在圖8的實例中,回應於接收到第一語法元素,諸如rpl_info_in_ph_flag,指示參考圖片列表資訊被包括在PH語法結構中,視訊解碼器300接收第二語法元素,諸如PH語法結構中的ph_collocated_from_l0_flag(410)。視訊解碼器300基於第二語法元素的值決定用於時域運動向量預測的共位圖片將從第二參考圖片列表(例如,l1)匯出(412)。視訊解碼器300接收代表PH語法結構的視訊資料的條帶(414)。回應於該條帶為P條帶,視訊解碼器300設定與該條帶相關聯的第三語法元素的值,諸如slice_collocated_from_l0_flag,等於指示用於時域運動向量預測的共位圖片將從第二參考圖片列表匯出的值(416)。
視訊解碼器300可以基於第三語法元素的值來解碼視訊資料的條帶。例如,對於該條帶的區塊,視訊解碼器300可以決定時域運動向量候選以被包括在運動向量候選列表中。為了決定要包括在運動向量候選列表中的時域運動向量候選,視訊解碼器300可以從第一參考圖片列表中標識用於時域運動向量預測的共位圖片;在共位圖片中標識共位區塊;並基於用於解碼共位區塊的運動向量來匯出時域運動向量候選。
視訊解碼器300可輸出包括條帶的解碼版本的解碼視訊資料。例如,視訊解碼器300可以輸出包括解碼的條帶的解碼圖片以供顯示或儲存。
以下各條款(clause)代表了上文引入的技術和設備的示例實施方式。
第1條:一種對視訊資料進行解碼的方法,該方法包括:接收第一語法元素;回應於指示參考圖片列表資訊被包含在圖片頭語法結構中的第一語法元素,在圖片頭語法結構中接收第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;接收代表圖片頭語法結構的視訊資料條帶;及回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出。
第2條:如第1條所述的方法,其中用於第二語法元素的值等於用於第二語法元素的第二值。
第3條:如第1條或第2條所述的方法,其中將與該條帶相關聯的用於第三語法元素的值設定為第二值,包括:將用於第二標誌的值推斷為第二值。
第4條:如第1-3條中的任一項所述的方法,其中將與該條帶相關聯的用於第三語法元素的值設定為第二值包括:在不接收該條帶的條帶頭中的第三語法元素的實例的情況下,將用於第三語法元素的值設定為第二值。
第5條:如第1-4條中的任一項所述的方法,進一步包括:針對該條帶的區塊,決定用於包括在運動向量候選列表中的時域運動向量候選,其中決定時域運動向量候選包括:從第一參考圖片列表中標識用作時域運動向量預測的共位圖片;在共位圖片中標識共位區塊;並基於用作解碼共位區塊的運動向量來匯出時域運動向量候選。
第6條:如第1-5條中的任一項所述的方法,進一步包括:回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,並且回應於該條帶為P條帶,接收第四語法元素的實例,其中用於第四語法元素的第一值指示第五語法元素被包括在該條帶頭中,並且用於第四語法元素的第二值指示第五語法元素不被包括在該條帶頭中;回應於第四語法元素的實例等於用於第四語法元素的第一值,接收第五語法元素的實例;及基於用於該第五語法元素的實例的值,決定該條帶的有效參考圖片的數量。
第7條:如第6條所述的方法,其中該條帶是第一條帶,第四語法元素的實例是第四語法元素的第一實例,第五語法元素的實例是第五語法元素的第一實例,該方法進一步包括:接收代表該圖片頭語法結構的視訊資料的第二條帶;及回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,並且回應於第二條帶為I條帶,在沒有第四語法元素的第二實例的情況下接收針對第二條帶的條帶頭。
第8條:一種對視訊資料進行解碼的設備,該設備包含:記憶體,該記憶體被配置為儲存視訊資料;及一或多個處理器,該一或多個處理器在電路中實施並且被配置為:接收第一語法元素;回應於指示參考圖片列表資訊被包含在圖片頭語法結構中的第一語法元素,在圖片頭語法結構中接收第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;接收代表圖片頭語法結構的視訊資料條帶;及回應於該條帶為P條帶,將與該條帶相關聯的用於第三語法元素的值設定為用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,並且用於第三語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出。
第9條:如第8條所述的設備,其中用於該第二語法元素的值等於用於第二語法元素的第二值。
第10條:如第8條或第9條所述的設備,其中為了將與該條帶相關聯的用於第三語法元素的值設定為第二值,一或多個處理器進一步被配置為將用於第三語法元素的值推斷為第二值。
第11條:如第8-10條中的任一項所述的設備,其中將與該條帶相關聯的用於第三語法元素的值設定為第二值包括:一或多個處理器進一步被配置為在不接收該條帶的條帶頭中的第三語法元素的實例的情況下,將用於第三語法元素的值設定為第二值。
第12條:如第8-11條中的任一項所述的設備,其中一或多個處理器進一步被配置為:針對該條帶的區塊,決定用於包括在運動向量候選列表中的時域運動向量候選,其中為了決定時域運動向量候選,一或多個處理器進一步被配置為:從第一參考圖片列表中標識用作時域運動向量預測的共位圖片;在共位圖片中標識共位區塊;並基於用作解碼共位區塊的運動向量來匯出時域運動向量候選。
第13條:如第8-12條中的任一項所述的設備,其中一或多個處理器進一步被配置為:回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,並且回應於該條帶為P條帶,接收第四語法元素的實例,其中用於第四語法元素的第一值指示第五語法元素被包括在該條帶頭中,並且用於第四語法元素的第二值指示第五語法元素不被包括在該條帶頭中;回應於第四語法元素的實例等於用於第四語法元素的第一值,接收第五語法元素的實例;及基於用於該第五語法元素的實例的值,決定該條帶的有效參考圖片的數量。
第14條:如第13條所述的設備,其中條帶是第一條帶,第四語法元素的實例是第四語法元素的第一實例,第五語法元素的實例是第五語法元素的第一實例,其中一或多個處理器進一步被配置為: 接收代表圖片頭語法結構的視訊資料的第二條帶;回應於接收到指示參考圖片列表資訊被包括在圖片頭語法結構中的第一語法元素,並且回應於第二條帶為I條帶,在沒有第四語法元素的第二實例的情況下接收用於第二條帶的條帶頭。
第15條:如第8-14條中任一項所述的設備,其中該設備包括無線通訊設備,進一步包括被配置為接收編碼的視訊資料的接收器。
第16條:如第15條所述的設備,其中該無線通訊裝置包括電話手持機,並且其中該接收器被配置為根據無線通訊標準對包括該編碼的視訊資料的信號進行解調。
第17條:如第8-16條中任一項所述的設備,進一步包括配置為顯示解碼視訊資料的顯示器。
第18條:如第8-17條中任一項所述的設備,其中該設備包括攝像機、電腦、行動設備、廣播接收器設備或機上盒中的一或多個。
第19條:一種對視訊資料進行編碼的方法,該方法包括:回應於決定參考圖片列表資訊被包含在圖片頭語法結構中,產生指示該參考圖片列表資訊被包含在圖片頭語法結構中的第一語法元素;產生用於包含在圖片頭語法結構中的第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;決定代表圖片頭語法結構的視訊資料條帶為P條帶;回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,並且用於第三語法元素的第二值指示用於時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;及輸出編碼的視訊資料的位元串流,其中該編碼的視訊資料包含第一語法元素和圖片頭語法結構。
第20條:如第19條所述的方法,其中用於第二語法元素的值等於用於第二語法元素的第二值。
第21條:如第19或20條所述的方法,進一步包括:產生用於包括在編碼的視訊資料的位元串流中的用於條帶的條帶頭,而在條帶頭中不包括第三語法元素的實例。
第22條:如第19-21條中的任一項所述的方法,進一步包括:針對該條帶的區塊,決定用於包括在運動向量候選列表中的時域運動向量候選,其中決定時域運動向量候選包括:從第一參考圖片列表中標識用作時域運動向量預測的共位圖片;在共位圖片中標識共位區塊;並基於用作解碼共位區塊的運動向量來匯出時域運動向量候選。
第23條:如第19-22條中的任一項所述的方法,進一步包括:回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,並且回應於決定該條帶為P條帶,產生第四語法元素的實例,其中用於第四語法元素的第一值指示第五語法元素被包括在條帶頭中,並且用於第四語法元素的第二值指示第五語法元素不被包括在條帶頭中;決定用於條帶的有效參考圖片的數量;及回應於第四語法元素的實例等於用於第四語法元素的第一值,產生用於包括在編碼的視訊資料的位元串流中的第五語法元素的實例,其中用於第五語法元素的實例的值指示用於條帶的有效參考圖片的數量。
第24條:如第23條所述的方法,其中該條帶是第一條帶,第四語法元素的實例是第四語法元素的第一實例,第五語法元素的實例是第五語法元素的第一實例,該方法進一步包括:針對代表該圖片頭語法結構的視訊資料的第二條帶,回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,並且回應於第二條帶為I條帶,在沒有第四語法元素的第二實例的情況下產生用於包括在編碼的視訊資料的位元串流中的條帶頭。
第25條:一種對視訊資料進行編碼的設備,該設備包括:記憶體,該記憶體被配置為儲存視訊資料;及一或多個處理器,該一或多個處理器在電路中實施並且被配置為:回應於決定參考圖片列表資訊被包含在圖片頭語法結構中,產生指示該參考圖片列表資訊被包含在圖片頭語法結構中的第一語法元素;產生用於包含在圖片頭語法結構中的第二語法元素,其中用於第二語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,以及用於第二語法元素的第二值指示用作時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;決定代表圖片頭語法結構的視訊資料條帶為P條帶;回應於該條帶為P條帶,決定與該條帶相關聯的用於第三語法元素的值等於用於第三語法元素的第一值,其中用於該第三語法元素的第一值指示用作時域運動向量預測的共位圖片將從第一參考圖片列表中匯出,並且用於第三語法元素的第二值指示用於時域運動向量預測的共位圖片將從第二參考圖片列表中匯出;及輸出編碼的視訊資料的位元串流,該編碼的視訊資料包含第一語法元素和圖片頭語法結構。
第26條:如第25條所述的設備,其中用於該第二語法元素的值等於用於該第二語法元素的第二值。
第27條:如第25或26條所述的設備,進一步包括:產生用於包括在編碼的視訊資料的位元串流中的用於條帶的條帶頭,在條帶頭中不包括第三語法元素的實例。
第28條:如第25-27條中的任一項所述的設備,進一步包括:針對該條帶的區塊,決定用於包括在運動向量候選列表中的時域運動向量候選,其中決定時域運動向量候選包括:從第一參考圖片列表中標識用作時域運動向量預測的共位圖片;在共位圖片中標識共位區塊;並基於用作解碼共位區塊的運動向量來匯出時域運動向量候選。
第29條:如第25-28條中任一項所述的設備,進一步包括:回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,並且回應於決定該條帶為P條帶,產生第四語法元素的實例,其中用於第四語法元素的第一值指示第五語法元素被包括在條帶頭中,並且用於第四語法元素的第二值指示第五語法元素不被包括在條帶頭中;決定用於條帶的有效參考圖片的數量;及回應於用於第四語法元素的實例等於用於第四語法元素的第一值,產生用於包括在編碼的視訊資料的位元串流中的第五語法元素的實例,其中用於第五語法元素的實例的值指示用於條帶的有效參考圖片的數量。
第30條:如第29條所述的設備,其中該條帶是第一條帶,第四語法元素的實例是第四語法元素的第一實例,第五語法元素的實例是第五語法元素的第一實例,該方法進一步包括:針對代表該圖片頭語法結構的視訊資料的第二條帶,回應於決定參考圖片列表資訊被包括在圖片頭語法結構中,並且回應於第二條帶為I條帶,在沒有第四語法元素的第二實例的情況下產生用於包括在編碼的視訊資料的位元串流中的條帶頭。
第31條:如第25-30條中任一項所述的設備,其中該設備包括無線通訊設備,進一步包括被配置為發送編碼的視訊資料的發送器。
第32條:如第31條所述的設備,其中該無線通訊設備包括電話手持機,並且其中該發送器被配置為根據無線通訊標準對包括編碼視訊資料的信號進行調制。
第33條:如第25-32條中任一項所述的設備,進一步包括配置為擷取視訊資料的攝像機。
第34條:如第25-33條中任一項所述的設備,其中該設備包括攝像機、電腦或行動設備中的一或多個。
第35條:一種對視訊資料進行解碼的方法,該方法包括:接收第一標誌;接收第二個標誌;基於第一和第二標誌決定在視訊資料的語法結構中是否訊號傳遞參考圖片列表。
第36條:如第35條所述的方法,其中該第一標誌指示是否允許訊框間條帶用於圖片。
第37條:如第35或36條所述的方法,其中第二標誌指示參考圖像列表語法元素是否存在於即時解碼器刷新圖片的條帶頭中。
第38條:如第35-37條的任何組合所述的方法,其中基於第一和第二標誌決定是否在視訊資料的資料結構中訊號傳遞參考圖片列表包括:回應於第一標誌或第二標誌中的至少一個為真,決定在視訊資料的資料結構中訊號傳遞參考圖片列表。
第39條:如第35-37條的任何組合所述的方法,進一步包括:接收第三標誌,該第三標誌指示在圖片頭語法結構或條帶頭中是否存在參考圖片列表資訊。
第40條:如第39條所述的方法,其中基於第一和第二標誌決定是否在視訊資料的資料結構中訊號傳遞參考圖片列表包括:回應於(1)第一標誌或第二標誌中的至少一個為真以及(2)第三標誌為真,決定在視訊資料的資料結構中訊號傳遞參考圖片列表。
第41條:如第35-40條的任何組合所述的方法,其中語法結構包括圖片頭語法結構。
第42條:一種對視訊資料進行譯碼的方法,該方法包括:接收第一標誌;接收第二標誌;基於第一和第二標誌決定在視訊資料的語法結構中是否訊號傳遞加權預測表。
第43條:如第42條所述的方法,其中該第一標誌指示是否允許訊框間條帶用於圖片。
第44條:如第42或43條所述的方法,其中第二標誌指示參考圖像列表語法元素是否存在於即時解碼器刷新圖片的條帶頭中。
第45條:如第42-44條的任何組合所述的方法,其中基於第一和第二標誌決定是否在視訊資料的資料結構中訊號傳遞加權預測表包括:回應於第一標誌或第二標誌中的至少一個為真,決定在視訊資料的資料結構中訊號傳遞加權預測表。
第46條:如第42-45條的任何組合所述的方法,進一步包括:接收指示是否應用加權預測的第三標誌。
第47條:如第46條所述的方法,其中基於第一和第二標誌決定是否在視訊資料的資料結構中訊號傳遞加權預測表包括:回應於(1)第一標誌或第二標誌中的至少一個為真以及(2)第三標誌為真,決定在視訊資料的資料結構中訊號傳遞參考圖片列表。
第48條:如第42-47條的任何組合所述的方法,其中語法結構包括圖片頭語法結構。
第49條:一種用於對視訊資料進行譯碼的設備,該設備包括一或多個用於執行第35-48條的任何組合所述的方法的構件。
第50條:如第49條所述的設備,其中一或多個構件包含在電路中實現的一或多個處理器。
第51條:如第49和50條中任一項所述的設備,進一步包括用於儲存視訊資料的記憶體。
第52條:如第49-51條中任一項所述的設備,進一步包括配置為顯示解碼視訊資料的顯示器。
第53條:如第49-52條中任一項所述的設備,其中該設備包括攝像機、電腦、行動設備、廣播接收器設備或機上盒中的一或多個。
第54條:如第49-53條中任一項所述的設備,其中該設備包括視訊解碼器。
第55條:如第49-54條中任一項所述的設備,其中該設備包括視訊編碼器。
第56條:一種其上儲存有指令的電腦可讀取儲存媒體,該等指令在被執行時使一或多個處理器執行第35-48條中任一項所述的方法。
應當認識到,根據實例,本文描述的任何技術的某些動作或事件可以以不同的序列執行,可以被添加,合併或完全省略(例如,並非所有描述的動作或事件皆是技術實踐所必需的)。此外,在某些實例中,動作或事件可以例如經由多線程處理、中斷處理或多個處理器併發地而不是順序地執行。
在一或多個實例中,可以以硬體、軟體、韌體或其任何組合來實現所描述的功能。若以軟體實現,則功能可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或經由電腦可讀取媒體傳輸,並由基於硬體的處理單元執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體,其對應於諸如資料儲存媒體的有形媒體,或者通訊媒體,包括例如根據通訊協定來促進將電腦程式從一個地方轉移到另一個地方的任何媒體。以此種方式,電腦可讀取媒體通常可以對應於(1)非暫時性的有形電腦可讀取儲存媒體,或者(2)諸如信號或載波的通訊媒體。資料儲存媒體可以是可以由一或多台電腦或一或多個處理器存取以檢索指令、代碼及/或資料結構以實現本揭示中描述的技術的任何可用媒體。電腦程式產品可以包括電腦可讀取媒體。
作為實例而非限制,此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存,磁碟儲存或其他磁性儲存設備,快閃記憶體或任何其他可以用來以指令或資料結構的形式儲存所需的程式碼,並且可以由電腦存取的媒體。而且,任何連接皆適當地稱為電腦可讀取媒體。例如,若使用同軸電纜、光纖電纜、雙絞線、數位用戶線(DSL)或無線技術(例如紅外,無線電和微波)從網站、伺服器或其他遠端源發送指令,則媒體的定義包括同軸電纜、光纖電纜、雙絞線、數位用戶線或諸如紅外、無線電和微波之類的無線技術。然而,應當理解的是,電腦可讀取儲存媒體和資料儲存媒體不包括連接、載波、信號或其他暫態媒體,而是針對非暫態的有形儲存媒體。本文使用的磁碟和光碟包括壓縮磁碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟則經由鐳射光學方式再現資料。上述的組合亦應包括在電腦可讀取媒體的範圍內。
指令可以由一或多個處理器執行,諸如一或多個DSP、通用微處理器、ASIC、FPGA或其他等效的集成或離散邏輯電路。因此,如本文所使用的術語「處理器」和「處理電路」可以指任何前述結構或適合於實現本文描述的技術的任何其他結構。另外,在一些態樣中,本文描述的功能可以在被配置用於編碼和解碼的專用硬體及/或軟體模組內提供,或結合在組合編碼器中。同樣,該等技術可以在一或多個電路或邏輯元件中完全實現。
本揭示的技術可以在包括無線手持機、積體電路(IC)或一組IC(例如,晶片組)的多種設備或裝置中實現。在本揭示中描述各種部件、模組或單元以強調經配置以執行所揭示技術的設備的功能態樣,但不一定需要由不同硬體單元來實現。而是,如上述,各種單元可以組合在編碼器硬體單元中,或者由結合合適的軟體及/或韌體的交互動操作硬體單元的集合來提供,該等交互動操作硬體單元包括如上述的一或多個處理器。
已經對各種實例進行了描述。該等實例以及其他實例皆在所附請求項的範圍內。
100:視訊編碼和解碼系統
102:源設備
104:視訊源
106:記憶體
108:輸出介面
110:電腦可讀取媒體
112:儲存設備
114:檔案伺服器
116:目標設備
118:顯示設備
120:記憶體
122:輸入介面
130:四叉樹二叉樹(QTBT)結構
132:譯碼樹單元(CTU)
200:視訊編碼器
202:模式選擇單元
204:殘差產生單元
206:變換處理單元
208:量化單元
210:逆量化單元
212:逆變換處理單元
214:重構單元
216:濾波器單元
218:解碼圖片緩衝器(DPB)
220:熵編碼單元
222:運動估計單元
224:運動補償單元
226:訊框內預測單元
230:視訊資料記憶體
300:視訊解碼器
302:熵解碼單元
304:預測處理單元
306:逆量化單元
308:逆變換處理單元
310:重構單元
312:濾波器單元
314:解碼圖片緩衝器(DPB)
316:運動補償單元
318:訊框內預測單元
320:譯碼圖片緩衝器(CPB)記憶體
350~360:步驟
370~380:步驟
400~408:步驟
410~416:步驟
圖1是示出可以執行本揭示的技術的示例視訊編碼和解碼系統的方塊圖。
圖2A和圖2B是示出示例四叉樹二叉樹(QTBT)結構以及對應的譯碼樹單元(CTU)的概念圖。
圖3是示出可以執行本揭示的技術的示例視訊編碼器的方塊圖。
圖4是示出可以執行本揭示的技術的示例視訊解碼器的方塊圖。
圖5是示出示例視訊編碼過程的流程圖。
圖6是示出示例視訊解碼過程的流程圖。
圖7是示出示例視訊編碼過程的流程圖。
圖8是示出示例視訊解碼過程的流程圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
410~416:步驟
Claims (34)
- 一種對視訊資料進行解碼的方法,該方法包括以下步驟: 接收一第一語法元素; 回應於指示參考圖片列表資訊被包含在一圖片頭語法結構中的該第一語法元素,在該圖片頭語法結構中接收一第二語法元素,其中用於該第二語法元素的一第一值指示用作時域運動向量預測的一共位圖片將從一第一參考圖片列表匯出,以及用於該第二語法元素的一第二值指示用作時域運動向量預測的該共位圖片將從一第二參考圖片列表匯出; 接收代表該圖片頭語法結構的該視訊資料的一條帶;及 回應於該條帶為一P條帶,將與該條帶相關聯的用於一第三語法元素的一值設定為用於該第三語法元素的一第一值,其中用於該第三語法元素的該第一值指示用作時域運動向量預測的該共位圖片將從該第一參考圖片列表匯出,並且用於該第三語法元素的一第二值指示用作該時域運動向量預測的該共位圖片將從該第二參考圖片列表匯出。
- 如請求項1所述的方法,其中用於該第二語法元素的一值等於用於該第二語法元素的該第二值。
- 如請求項1所述的方法,其中將與該條帶相關聯的用於該第三語法元素的該值設定為該第二值包括以下步驟:將用於該第二標誌的該值推斷為該第二值。
- 如請求項1所述的方法,其中將與該條帶相關聯的用於該第三語法元素的該值設定為該第二值包括以下步驟:在不接收該條帶的一條帶頭中的該第三語法元素的一實例的情況下,將用於該第三語法元素的該值設定為該第二值。
- 如請求項1所述的方法,進一步包括以下步驟: 對於該條帶的一區塊,決定用於包含在一運動向量候選列表中的一時域運動向量候選,其中決定該時域運動向量候選包括以下步驟: 從該第一參考圖片列表標識用作該時域運動向量預測的該共位圖片; 在該共位圖片中標識一共位區塊;及 基於用作解碼該共位區塊的一運動向量來匯出該時域運動向量候選。
- 如請求項1所述的方法,進一步包括: 回應於接收到指示參考圖片列表資訊被包含在該圖片頭語法結構中的該第一語法元素並且回應於該條帶為該P條帶,接收一第四語法元素的一實例,其中用於該第四語法元素的一第一值指示一第五語法元素被包含在該條帶頭中,以及用於該第四語法元素的一第二值指示該第五語法元素不被包含在該條帶頭中; 回應於該第四語法元素的該實例等於用於該第四語法元素的該第一值,接收該第五語法元素的一實例;及 基於用於該第五語法元素的該實例的一值,決定用於該條帶的有效參考圖片的一數量。
- 如請求項6所述的方法,其中該條帶是一第一條帶,該第四語法元素的該實例是該第四語法元素的一第一實例,該第五語法元素的該實例是該第五語法元素的一第一實例,該方法進一步包括以下步驟: 接收代表該圖片頭語法結構的該視訊資料的一第二條帶;及 回應於接收到指示參考圖片列表資訊被包含在該圖片頭語法結構中的該第一語法元素,並且回應於該第二條帶為一I條帶,在沒有該第四語法元素的一第二實例的情況下接收用於該第二條帶的一條帶頭。
- 一種用於對視訊資料進行解碼的設備,該設備包括: 被配置為儲存視訊資料的一記憶體;和 一或多個處理器,該一或多個處理器在電路中實現並配置為: 接收一第一語法元素; 回應於指示參考圖片列表資訊被包含在一圖片頭語法結構中的該第一語法元素,在該圖片頭語法結構中接收一第二語法元素,其中用於該第二語法元素的一第一值指示用作時域運動向量預測的一共位圖片將從一第一參考圖片列表匯出,以及用於該第二語法元素的一第二值指示用作時域運動向量預測的該共位圖片將從一第二參考圖片列表匯出; 接收代表該圖片頭語法結構的該視訊資料的一條帶;及 回應於該條帶為一P條帶,將與該條帶相關聯的用於一第三語法元素的一值設定為用於該第三語法元素的一第一值,其中用於該第三語法元素的該第一值指示用作時域運動向量預測的該共位圖片將從該第一參考圖片列表匯出,並且用於該第三語法元素的一第二值指示用作時域運動向量預測的該共位圖片將從該第二參考圖片列表匯出。
- 如請求項8所述的設備,其中用於該第二語法元素的一值等於用於該第二語法元素的該第二值。
- 如請求項8所述的設備,其中為了將與該條帶相關聯的用於該第三語法元素的該值設定為該第二值,該一或多個處理器進一步被配置為將用於該第三語法元素的該值推斷為該第二值。
- 如請求項8所述的設備,其中為了將與該條帶相關聯的用於該第三語法元素的該值設定為該第二值包括:該一或多個處理器進一步被配置為在不接收該條帶的一條帶頭中的該第三語法元素的一實例的情況下,將用於該第三語法元素的該值設定為該第二值。
- 如請求項8所述的設備,其中該一或多個處理器進一步被配置為: 對於該條帶的一區塊,決定用於包含在一運動向量候選列表中的一時域運動向量候選,其中為了決定該時域運動向量候選,該一或多個處理器進一步被配置為: 從該第一參考圖片列表標識用作該時域運動向量預測的該共位圖片; 在該共位圖片中標識一共位區塊;及 基於用作解碼該共位區塊的一運動向量來匯出該時域運動向量候選。
- 如請求項8所述的設備,其中該一或多個處理器進一步被配置為: 回應於接收到指示參考圖片列表資訊被包含在該圖片頭語法結構中的該第一語法元素並且回應於該條帶為該P條帶,接收一第四語法元素的一實例,其中用於該第四語法元素的一第一值指示一第五語法元素被包含在該條帶頭中,以及用於該第四語法元素的一第二值指示該第五語法元素不被包含在該條帶頭中; 回應於該第四語法元素的該實例等於用於該第四語法元素的該第一值,接收該第五語法元素的一實例;及 基於用於該第五語法元素的該實例的一值,決定用於該條帶的有效參考圖片的一數量。
- 如請求項13所述的設備,其中該條帶是一第一條帶,該第四語法元素的該實例是該第四語法元素的一第一實例,該第五語法元素的該實例是該第五語法元素的一第一實例,其中該一或多個處理器進一步被配置為: 接收代表該圖片頭語法結構的該視訊資料的一第二條帶;及 回應於接收到指示參考圖片列表資訊被包含在該圖片頭語法結構中的該第一語法元素,並且回應於第二條帶為一I條帶,在沒有該第四語法元素的一第二實例的情況下接收用於該第二條帶的一條帶頭。
- 如請求項8所述的設備,其中該設備包括一無線通訊設備,進一步包括被配置為接收編碼的視訊資料的一接收器。
- 如請求項15所述的設備,其中該無線通訊設備包括一電話手持機,並且其中該接收器被配置為根據一無線通訊標準對包括該編碼的視訊資料的一信號進行解調。
- 如請求項8所述的設備,進一步包括: 被配置為顯示解碼視訊資料的一顯示器。
- 如請求項8所述的設備,其中該設備包括一攝像機、一電腦、一行動設備、一廣播接收器設備或一機上盒中的一或多個。
- 一種對視訊資料進行編碼的方法,該方法包括以下步驟: 回應於決定參考圖片列表資訊被包含在一圖片頭語法結構中,產生指示該參考圖片列表資訊被包含在該圖片頭語法結構中的一第一語法元素; 產生用於包含在該圖片頭語法結構中的一第二語法元素,其中用於該第二語法元素的一第一值指示用作時域運動向量預測的一共位圖片將從一第一參考圖片列表匯出,以及用於該第二語法元素的一第二值指示用作時域運動向量預測的該共位圖片將從一第二參考圖片列表匯出; 決定代表該圖片頭語法結構的該視訊資料的一條帶為一P條帶; 回應於該條帶為該P條帶,決定與該條帶相關聯的用於一第三語法元素的一值等於用於該第三語法元素的一第一值,其中用於該第三語法元素的該第一值指示用作時域運動向量預測的該共位圖片將從第一參考圖片列表匯出,並且用於該第三語法元素的一第二值指示用作該時域運動向量預測的該共位圖片將從該第二參考圖片列表匯出;及 輸出包含該第一語法元素和該圖片頭語法結構的編碼的視訊資料的一位元串流。
- 如請求項19所述的方法,其中用於該第二語法元素的一值等於用於該第二語法元素的該第二值。
- 如請求項19所述的方法,進一步包括以下步驟: 在該條帶頭中不包含該第三語法元素的一實例的情況下,產生用於包含在編碼的視訊資料的該位元串流中的用於該條帶的一條帶頭。
- 如請求項19所述的方法,進一步包括以下步驟: 對於該條帶的一區塊,決定用於包含在一運動向量候選列表中的一時域運動向量候選,其中決定該時域運動向量候選包括以下步驟: 從該第一參考圖片列表標識用作該時域運動向量預測的該共位圖片; 在該共位圖片中標識一共位區塊;及 基於用作解碼該共位區塊的一運動向量來匯出該時域運動向量候選。
- 如請求項19所述的方法,進一步包括以下步驟: 回應於決定該參考圖片列表資訊被包含在該圖片頭語法結構中,並且回應於決定該條帶為該P條帶,產生一第四語法元素的一實例,其中用於該第四語法元素的一第一值指示一第五語法元素被包含在該條帶頭中,以及用於該第四語法元素的一第二值指示該第五語法元素不被包含在該條帶頭中; 決定用於該條帶的有效參考圖片的一數量;及 回應於該第四語法元素的該實例等於用於該第四語法元素的該第一值,產生用於包含在編碼的視訊資料的該位元串流中的該第五語法元素的一實例,其中用於該第五語法元素的該實例的一值指示用於該條帶的有效參考圖片的該數量。
- 如請求項23所述的方法,其中該條帶是一第一條帶,該第四語法元素的該實例是該第四語法元素的一第一實例,該第五語法元素的該實例是該第五語法元素的一第一實例,該方法進一步包括以下步驟: 針對代表該圖片頭語法結構的該視訊資料的一第二條帶,回應於決定參考圖片列表資訊被包含在該圖片頭語法結構,並且回應於該第二條帶為一I條帶,在沒有該第四語法元素的一第二實例的情況下,產生用於包含在編碼的視訊資料的該位元串流中的一條帶頭。
- 一種用於對視訊資料進行編碼的設備,該設備包括: 被配置為儲存視訊資料的一記憶體;和 一或多個處理器,該一或多個處理器在電路中實現並配置為: 回應於決定參考圖片列表資訊被包含在一圖片頭語法結構中,產生指示該參考圖片列表資訊被包含在該圖片頭語法結構中的一第一語法元素; 產生用於包含在該圖片頭語法結構中的一第二語法元素,其中用於該第二語法元素的一第一值指示用作時域運動向量預測的一共位圖片將從一第一參考圖片列表匯出,以及用於該第二語法元素的一第二值指示用作該時域運動向量預測的該共位圖片將從一第二參考圖片列表匯出; 決定代表該圖片頭語法結構的視訊資料條帶為一P條帶的該視訊資料的一條帶; 回應於該條帶為該P條帶,決定與該條帶相關聯的用於一第三語法元素的一值等於用於該第三語法元素的一第一值,其中用於該第三語法元素的該第一值指示用作時域運動向量預測的該共位圖片將從該第一參考圖片列表匯出,並且用於該第三語法元素的一第二值指示用作時域運動向量預測的該共位圖片將從該第二參考圖片列表匯出;及 輸出包含該該第一語法元素和該圖片頭語法結構的編碼的視訊資料的一位元串流。
- 如請求項25所述的設備,其中用於該第二語法元素的一值等於用於該第二語法元素的該第二值。
- 如請求項25所述的設備,進一步包括: 在該條帶頭中不包含該第三語法元素的一實例的情況下,產生用於包含在編碼的視訊資料的該位元串流中的用於該條帶的一條帶頭。
- 如請求項25所述的設備,進一步包括: 對於該條帶的一區塊,決定用於包含在一運動向量候選列表中的一時域運動向量候選,其中決定該時域運動向量候選包括: 從該第一參考圖片列表標識用作該時域運動向量預測的該共位圖片; 在該共位圖片中標識一共位區塊;及 基於用作解碼該共位區塊的一運動向量來匯出該時域運動向量候選。
- 如請求項25所述的設備,進一步包括: 回應於決定該參考圖片列表資訊被包含在該圖片頭語法結構中,並且回應於決定該條帶為一P條帶,產生一第四語法元素的一實例,其中用於該第四語法元素的一第一值指示一第五語法元素被包含在該條帶頭中,以及用於該第四語法元素的一第二值指示該第五語法元素不被包含在該條帶頭中; 決定用於該條帶中的有效參考圖片的一數量;及 回應於該第四語法元素的該實例等於用於該第四語法元素的該第一值,產生用於包含在編碼的視訊資料的該位元串流中的該第五語法元素的一實例,其中用於該第五語法元素的該實例的一值指示用於該條帶的有效參考圖片的該數量。
- 如請求項29所述的設備,其中該條帶是一第一條帶,該第四語法元素的該實例是該第四語法元素的一第一實例,該第五語法元素的該實例是該第五語法元素的一第一實例,該方法進一步包括: 針對代表該圖片頭語法結構的該視訊資料的一第二條帶,回應於決定參考圖片列表資訊被包含在該圖片頭語法結構種,並且回應於該第二條帶為一I條帶,在沒有該第四語法元素的一第二實例的情況下,產生用於包含在編碼的視訊資料的該位元串流中的一條帶頭。
- 如請求項25所述的設備,其中該設備包括一無線通訊設備,進一步包括被配置為發送編碼的視訊資料的一發送器。
- 如請求項31所述的設備,其中該無線通訊設備包括一電話手持機,並且其中該發送器被配置為根據一無線通訊標準對包括該編碼視訊資料的一信號進行調制。
- 如請求項25所述的設備,進一步包括: 被配置為擷取該視訊資料的一攝像機;
- 如請求項25所述的設備,其中該設備包括一攝像機、一電腦或一行動設備中的一或多個。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062980695P | 2020-02-24 | 2020-02-24 | |
US62/980,695 | 2020-02-24 | ||
US17/181,876 | 2021-02-22 | ||
US17/181,876 US11496771B2 (en) | 2020-02-24 | 2021-02-22 | Reference picture list and collocated picture signaling in video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202139715A true TW202139715A (zh) | 2021-10-16 |
Family
ID=77367198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110106296A TW202139715A (zh) | 2020-02-24 | 2021-02-23 | 視訊譯碼中的參考圖片列表和共位圖片訊號傳遞 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11496771B2 (zh) |
EP (1) | EP4111691A1 (zh) |
KR (1) | KR20220143835A (zh) |
CN (1) | CN115191117A (zh) |
BR (1) | BR112022015963A2 (zh) |
TW (1) | TW202139715A (zh) |
WO (1) | WO2021173556A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL3831064T3 (pl) | 2018-08-17 | 2024-06-03 | Huawei Technologies Co., Ltd. | Zarządzanie obrazami odniesienia w kodowaniu wideo |
MX2022010359A (es) * | 2020-02-25 | 2022-11-16 | Lg Electronics Inc | Metodo y aparato de codificacion/decodificacion de imagenes a base de inter-prediccion, y medio de grabacion que almacena flujo de bits. |
WO2021202464A1 (en) * | 2020-03-30 | 2021-10-07 | Bytedance Inc. | Constraints on collocated pictures in video coding |
MX2022012250A (es) * | 2020-03-31 | 2022-10-27 | Beijing Dajia Internet Information Tech Co Ltd | Métodos y aparatos para la señalización de elementos de sintaxis en la codificación de video. |
US11470358B2 (en) * | 2020-04-02 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for signaling scaling window information in video coding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268621A1 (en) * | 2012-04-08 | 2013-10-10 | Broadcom Corporation | Transmission of video utilizing static content information from video source |
WO2013154674A1 (en) | 2012-04-11 | 2013-10-17 | Motorola Mobility Llc | Evaluation of signaling of collocated reference picture for temporal prediction |
US9420286B2 (en) | 2012-06-15 | 2016-08-16 | Qualcomm Incorporated | Temporal motion vector prediction in HEVC and its extensions |
US9628795B2 (en) * | 2013-07-17 | 2017-04-18 | Qualcomm Incorporated | Block identification using disparity vector in video coding |
US20210195179A1 (en) * | 2019-12-23 | 2021-06-24 | Qualcomm Incorporated | Picture header signaling for video coding |
US11611778B2 (en) * | 2020-05-20 | 2023-03-21 | Sharp Kabushiki Kaisha | Systems and methods for signaling general constraint information in video coding |
-
2021
- 2021-02-22 US US17/181,876 patent/US11496771B2/en active Active
- 2021-02-23 EP EP21713191.1A patent/EP4111691A1/en active Pending
- 2021-02-23 KR KR1020227028131A patent/KR20220143835A/ko unknown
- 2021-02-23 WO PCT/US2021/019244 patent/WO2021173556A1/en unknown
- 2021-02-23 TW TW110106296A patent/TW202139715A/zh unknown
- 2021-02-23 CN CN202180015196.XA patent/CN115191117A/zh active Pending
- 2021-02-23 BR BR112022015963A patent/BR112022015963A2/pt unknown
Also Published As
Publication number | Publication date |
---|---|
US11496771B2 (en) | 2022-11-08 |
KR20220143835A (ko) | 2022-10-25 |
US20210266600A1 (en) | 2021-08-26 |
WO2021173556A1 (en) | 2021-09-02 |
EP4111691A1 (en) | 2023-01-04 |
CN115191117A (zh) | 2022-10-14 |
BR112022015963A2 (pt) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095916B2 (en) | Wraparound motion compensation in video coding | |
TW202143717A (zh) | 視頻譯碼中的亮度映射與色度縮放(lmcs) | |
CN113940069A (zh) | 用于视频译码中的低频不可分离变换的变换和最后有效系数位置信令 | |
JP2022533664A (ja) | ビデオコーディングのためのマージモードコーディング | |
US20210235124A1 (en) | Decoded picture buffer (dpb) parameter signaling for video coding | |
KR20220112781A (ko) | 비디오 코딩에서 서브픽처들에 대한 참조 서브픽처 스케일링 비율들 | |
TW202139715A (zh) | 視訊譯碼中的參考圖片列表和共位圖片訊號傳遞 | |
CN114342389A (zh) | 视频编解码和变换单元的以高层语法信令通知的最大和最小块大小 | |
TW202127887A (zh) | 視訊解碼中用於聯合色度殘差模式的量化參數訊號傳遞 | |
US11659207B2 (en) | General constraints of syntax elements for video coding | |
TW202131676A (zh) | 視訊編碼中針對參考圖片重取樣的環繞偏移 | |
US11943429B2 (en) | Subpicture signaling in video coding | |
CN115486066A (zh) | 在视频编解码中的独立子图片信令通知 | |
US11395014B2 (en) | Transform unit design for video coding | |
TW202139696A (zh) | 在進行視訊解碼時對區塊的色度變換跳過和聯合色度解碼賦能 | |
TW202133615A (zh) | 基於色度變換跳過的用於色度的lfnst信號傳遞 | |
CN115398921A (zh) | 确定是否对在切片报头中的视频数据的图片的图片报头数据进行译码 | |
TW202141988A (zh) | 用於視訊譯碼中的變換跳過區塊的高級約束 | |
US11330305B2 (en) | Signaling constraints and sequence parameter set sharing in video coding | |
KR20220061975A (ko) | 비디오 코딩을 위한 하이 레벨 신택스에서의 서브-픽처들의 수의 시그널링 | |
CN113994675A (zh) | 用于bdpcm模式的最大允许块大小 | |
TWI845688B (zh) | 用於視訊寫碼之合併模式寫碼 | |
US11412264B2 (en) | Parameter set signaling for video coding |