TWI846773B - 用於視訊寫碼之三角運動資訊 - Google Patents
用於視訊寫碼之三角運動資訊 Download PDFInfo
- Publication number
- TWI846773B TWI846773B TW108144577A TW108144577A TWI846773B TW I846773 B TWI846773 B TW I846773B TW 108144577 A TW108144577 A TW 108144577A TW 108144577 A TW108144577 A TW 108144577A TW I846773 B TWI846773 B TW I846773B
- Authority
- TW
- Taiwan
- Prior art keywords
- motion vector
- value
- prediction
- index value
- block
- 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/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/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/115—Selection of the code volume for a coding unit prior to coding
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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
-
- 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
-
- 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/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明描述判定以一三角模式分割的一當前區塊之三角預測區塊。一視訊寫碼器可判定一運動向量預測子清單中之索引以識別用以判定該三角形預測區塊之運動向量預測子。若用於一第一三角形預測區塊之該運動向量預測子清單中之一第一索引值小於用於一第二三角形預測區塊之該運動向量預測子清單中之一第二索引值,則該第二三角形預測區塊之經傳信或經接收值可為減小達一偏移之該第二索引值。
Description
本發明係關於視訊編碼及視訊解碼。
數位視訊能力可併入至廣泛範圍之裝置中,該等裝置包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄裝置、數位媒體播放機、視訊遊戲裝置、視訊遊戲主控台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電傳會議裝置、視訊串流裝置及其類似者。數位視訊裝置實施視訊寫碼技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分進階視訊寫碼(AVC)所定義之標準、高效率視訊寫碼(HEVC)標準、ITU-T H.265/高效率視訊寫碼(HEVC)及此等標準之擴展中描述的彼等視訊寫碼技術。視訊裝置可藉由實施此類視訊寫碼技術來更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以減少或移除為視訊序列所固有之冗餘。對於基於區塊之視訊寫碼,視訊圖塊(例如,視訊圖像或視訊圖像的一部分)可分割成視訊區塊,該等視訊區塊亦可被稱作寫碼樹型單元(CTU)、寫碼單元(CU)及/或寫碼節點。使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)之圖塊中的視訊區塊。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中的參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
一般而言,本發明描述用於對三角形寫碼單元(CU)及預測單元(PU)進行寫碼之技術。三角形CU或PU可在概念上被視為劃分成兩個三角之矩形區塊。作為一個實例,矩形區塊可自左上角分裂至右下角。作為另一實例,矩形區塊可自右上角分裂至左下角。視訊寫碼器可利用本發明中所描述之實例技術判定兩個三角形CU或PU中之每一者的運動資訊。
一種判定CU之PU之運動資訊的方式係基於包括相鄰區塊之運動向量資訊的運動向量預測子清單。視訊編碼器可判定對用於第一三角形PU之運動向量預測子清單之第一索引及對用於第二三角形PU之運動向量預測子清單之第二索引。
為減少視訊編碼器需要傳信之資訊之量,若第二索引之值大於第一索引之值,則視訊編碼器可自第二索引之值減去偏移,且傳信所得值。視訊解碼器接收該值並反加該偏移以判定第二索引之值。以此方式,實例技術可提昇頻寬效率。
舉例而言,藉由自第二索引之值減去偏移,所得值小於第二索引之值。在一些實例中,需要較少位元對較小值進行二值化。因此,需要針對由自第二索引之值減去偏移產生之值而傳信的位元之數目可小於需要針對第二索引之值而傳信的位元之數目。
在一個實例中,本發明描述一種對視訊資料進行解碼之方法,該方法包含:判定當前區塊係以三角模式分割;建構包括當前區塊之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單;對第一值進行解碼以用於判定運動向量預測子清單中之第一索引值;基於該第一索引值判定第一三角形預測區塊;對第二值進行解碼以用於判定運動向量預測子清單中之第二索引值;基於該第二值判定第二索引值,其中判定該第二索引值包含:基於該第二值大於或等於該第一值,將偏移添加至第二值以判定第二索引值;基於該第二索引值判定第二三角形預測區塊;及基於第一三角形預測區塊及第二三角形預測區塊重建構當前區塊。
在一個實例中,本發明描述一種用於對視訊資料進行解碼之裝置,該裝置包含:記憶體,其經組態以儲存包括當前區塊之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單;及處理電路。該處理電路經組態以:判定當前區塊係在三角形模式中分割;建構運動向量預測子清單以供儲存於記憶體中,該運動向量預測子清單包括當前區塊之一或多個相鄰區塊之運動向量資訊;對第一值進行解碼以用於判定運動向量預測子清單中之第一索引值;基於該第一索引值判定第一三角形預測區塊;對第二值進行解碼以用於判定運動向量預測子清單中之第二索引值;基於該第二值判定第二索引值,其中為了判定該第二索引值,該處理電路經組態以:基於該第二值大於或等於該第一值,將偏移添加至第二值以判定第二索引值;基於該第二索引值判定第二三角形預測區塊;及基於第一三角形預測區塊及第二三角形預測區塊重建構當前區塊。
在一個實例中,本發明描述一種對視訊資料進行編碼之方法,該方法包含:判定當前區塊係以三角模式分割;建構包括當前區塊之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單;判定第一三角形預測區塊;基於該經判定之第一三角形預測區塊判定運動向量預測子清單中之第一索引值;基於該第一索引值傳信第一值;判定第二三角形預測區塊;基於該經判定之第二三角形預測區塊判定運動向量預測子清單中之第二索引值;及基於該第二索引值傳信第二值,其中傳信第二值包含:基於該第二索引值大於該第一索引值,自該第二索引值減去偏移以產生第二值。
在一個實例中,本發明描述一種用於對視訊資料進行編碼之裝置,該裝置包含:記憶體,其經組態以儲存包括當前區塊之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單;及處理電路。該處理電路經組態以:判定當前區塊係以三角模式分割;建構運動向量預測子清單以供儲存於記憶體中,該運動向量預測子清單包括當前區塊之一或多個相鄰區塊之運動向量資訊;判定第一三角形預測區塊;基於該經判定之第一三角形預測區塊判定運動向量預測子清單中之第一索引值;基於該第一索引值傳信第一值;判定第二三角形預測區塊;基於該經判定之第二三角形預測區塊判定運動向量預測子清單中之第二索引值;及基於該第二索引值傳信第二值,其中為了傳信第二值,該處理電路經組態以:基於該第二索引值大於該第一索引值,自第二索引值減去偏移以產生第二值。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優勢自實施方式、圖式及申請專利範圍將為顯而易見的。
本申請案主張2018年12月5日申請的美國臨時申請案第62/775,802號之權益,該美國臨時申請案之全部內容以引用的方式併入本文中。
在框間預測視訊寫碼中,視訊寫碼器(例如,視訊編碼器或視訊解碼器)判定用於寫碼單元(CU)之預測單元(PU)。視訊編碼器判定CU之區塊之樣本值與PU之預測區塊之樣本值之間的殘餘(例如,差)。視訊編碼器將殘餘資訊連同視訊解碼器用以判定PU之資訊一起傳信至視訊解碼器。視訊解碼器接著將殘餘資訊添加至PU以重建構區塊。
在一些實例中,視訊寫碼器在三角模式中對當前區塊進行寫碼。在三角模式中,視訊寫碼器將當前區塊分割(例如,分裂)成兩個三角分區。在此類實例中,視訊寫碼器可判定兩個三角分區中之每一者的PU。視訊寫碼器可基於兩個三角分區之運動向量判定PU。運動向量指向可用以形成PU之參考圖像中的樣本值。一種判定兩個三角分區之運動向量的方式係基於一或多個相鄰區塊之運動向量資訊。
舉例而言,視訊編碼器及視訊解碼器可建構包括當前區塊之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單。視訊編碼器可將第一索引值傳信至用於當前區塊之兩個三角分區之第一三角分區的運動向量預測子清單,且視訊解碼器可基於第一索引值判定用於第一三角分區之運動向量。視訊編碼器可將第二索引值傳信至用於當前區塊之兩個三角分區中之第二三角分區的運動向量預測子清單。
該視訊解碼器可基於用於該第一三角分區之運動向量判定該第一三角分區之第一預測區塊,且基於用於該第二三角分區之運動向量判定該第二三角分區之第二預測區塊。該視訊解碼器可接收指示該第一三角分區與該第一預測區塊之間的差及該第二三角分區與該第二預測區塊之間的差的殘餘資訊。視訊解碼器可添加關於各別第一或第二預測區塊之各別殘餘資訊以重建構第一及第二三角分區,且以此方式重建構當前區塊。
對於在三角形模式中寫碼之當前區塊,可存在對兩個三角分區之運動向量的某些限制。作為一個實例,可能要求兩個三角分區之兩個運動向量不同。若兩個三角分區之兩個運動向量相同,則兩個運動向量實際上將指形成矩形區塊之區。在此情況下,以三角形模式或規則模式對當前區塊進行寫碼之間將不存在差異,其中當前區塊並不分裂成三角分區。舉例而言,若存在以三角形模式對當前區塊進行寫碼之益處,則視訊編碼器應確保兩個三角分區之運動向量不同。若三角分區之運動向量將相同,則視訊編碼器應在將當前區塊分裂成三角分區時對當前區塊進行寫碼而不需消耗計算資源。
因此,為確保達成以三角形模式對當前區塊進行寫碼之益處,在一些實例中,視訊編碼器可判定運動向量預測子清單中之不同索引值。舉例而言,在建構運動向量預測子清單中,視訊寫碼器可修剪重複運動向量資訊。作為一實例,若兩個相鄰區塊具有相同運動向量資訊,則運動向量預測子清單可包括兩個相鄰區塊中之僅一者的運動向量資訊。因此,運動向量預測子清單之每一輸入項中之運動向量資訊可不同。由於用於兩個三角分區之運動向量預測子清單中之索引值不同,因此可存在兩個三角分區之運動向量不同的高可能性,此係因為運動向量預測子清單之每一輸入項中之運動向量資訊可不同。
在一或多個實例中,視訊編碼器可充分利用運動向量預測子清單中之索引值對於第一三角分區與第二三角分區需要不同的要求,以減少需要被傳信之資訊的量。作為一個實例,視訊編碼器可判定當前區塊之第一三角分區的運動向量預測子清單中之第一索引值,並基於該第一索引值傳信第一值(例如,第一值等於第一索引值)。視訊編碼器可判定用於當前區塊之第二三角分區之運動向量預測子清單中之第二索引值。然而,在此實例中,若第二索引值大於第一索引值,則視訊編碼器可自第二索引值減去一偏移(例如,自第二索引值減去一)以產生第二值。視訊編碼器可接著傳信第二值。
在一些實例中,傳信較小值相較於傳信較大值需要較少位元。因此,藉由減小經傳信之值(例如,傳信作為自第二索引值減去偏移之結果的第二值而非第二索引值),視訊編碼器可減小需要傳信之位元的數目。
視訊解碼器可經組態以接收第一值及第二值。視訊解碼器可基於所接收之第一值判定運動向量預測子清單中之第一索引值(例如,第一索引值等於所接收之第一值)。為判定第二索引值,視訊解碼器可判定第二值是否大於或等於第一值。若第二值大於或等於第一值,則視訊解碼器可將偏移(例如,值1)添加至第二值以判定運動向量預測子清單中之第二索引值。然而,若第二值小於第一值,則視訊解碼器可將第二索引值設定為等於第二值。
作為一實例,運動向量預測子清單中可存在由索引值識別之五個輸入項:{0,1,2,3及4}。在此實例中,用於當前區塊之第一三角分區的運動向量預測子清單中之第一索引值可為索引值2。視訊編碼器可針對第一索引值傳信第一值2。在一種情況下,若用於第二三角分區之運動向量預測子清單中之第二索引值為3,則視訊編碼器可自第二索引值減去偏移(例如,值1)以產生等於2之第二值(例如,3-1=2)。在此實例中,視訊編碼器可傳信第二值2。
視訊解碼器可接收第一值2且將運動向量預測子清單中之第一索引值設定為等於第一值2。視訊解碼器亦可接收第二值2。在此實例中,因為第二值2大於或等於第一值2,所以視訊解碼器可將偏移(例如,值1)添加至第二值以判定運動向量預測子清單中之第二索引值3 (例如,2+1=3)。
在另一情況下,若用於第二三角分區之運動向量預測子清單中的第二索引值為1,則視訊編碼器可傳信為1的第二值(例如,不減去偏移)。在此情況下,第二索引值小於第一索引值,且因此,視訊編碼器不減去偏移。在此實例中,視訊解碼器可接收第二值1。因為第二值1不大於或等於第一值2,所以視訊解碼器可不添加偏移。視訊解碼器可判定第二索引值等於第二值1。
圖1為說明可執行本發明之技術的實例視訊編碼及解碼系統100的方塊圖。本發明之技術大體上係針對寫碼(編碼及/或解碼)視訊資料。一般而言,視訊資料包括用於處理視訊之任何資料。因此,視訊資料可包括原始未經寫碼之視訊、經編碼視訊、經解碼(例如經重建構)視訊及視訊後設資料,諸如傳信資料。
如圖1中所展示,在此實例中,系統100包括源裝置102,其提供待由目的地裝置116解碼及顯示之經編碼視訊資料。詳言之,源裝置102經由電腦可讀媒體110將視訊資料提供至目的地裝置116。源裝置102及目的地裝置116可為廣泛範圍裝置中之任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、電話手持機(諸如智慧型電話)、電視機、攝影機、顯示裝置、數字媒體播放器、視訊遊戲主控台、視訊串流裝置或其類似者。在一些情況下,源裝置102及目的地裝置116可經裝備用於無線通信,且由此可稱為無線通信裝置。
在圖1之實例中,源裝置102包括視訊源104、記憶體106、視訊編碼器200及輸出介面108。目的地裝置116包括輸入介面122、視訊解碼器300、記憶體120及顯示裝置118。根據本發明,源裝置102之視訊編碼器200及目的地裝置116之視訊解碼器300可經組態以應用用於對三角形寫碼單元(CU)及預測單元(PU)進行寫碼之技術。因此,源裝置102表示視訊編碼裝置之實例,而目的地裝置116表示視訊解碼裝置之實例。在其他實例中,源裝置及目的地裝置可包括其他組件或配置。舉例而言,源裝置102可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣地,目的地裝置116可與外部顯示裝置介接,而非包括整合式顯示裝置。
如圖1中所示的系統100僅為一個實例。一般而言,任何數位視訊編碼及/或解碼裝置可執行本發明中所描述之技術。源裝置102及目的地裝置116僅為源裝置102產生經寫碼視訊資料以供傳輸至目的地裝置116之此類寫碼裝置的實例。本發明將「寫碼」裝置稱為對資料執行寫碼(編碼及/或解碼)之裝置。因此,視訊編碼器200及視訊解碼器300表示寫碼裝置之實例,詳言之,分別表示視訊編碼器及視訊解碼器之實例。在一些實例中,裝置102、116可以實質上對稱的方式操作,使得裝置102、116中之每一者包括視訊編碼及解碼組件。因此,系統100可支援視訊裝置102、116之間的單向或雙向視訊傳輸以用於(例如)視訊串流、視訊播放、視訊廣播或視訊電話。
一般而言,視訊源104表示視訊資料源(亦即,原始未經寫碼的視訊資料)且將視訊資料之依序圖像(亦稱為「圖框」)提供至編碼圖像之資料之視訊編碼器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之通信的設備。
在一些實例中,電腦可讀媒體110可包括儲存裝置112。源裝置102可將經編碼資料自輸出介面108輸出至儲存裝置112。類似地,目的地裝置116可經由輸入介面122自儲存裝置112存取經編碼資料。儲存裝置112可包括各種分佈式或本端存取之資料儲存媒體中之任一者,諸如硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。
在一些實例中,電腦可讀媒體110可包括檔案伺服器114或另一可儲存藉由源裝置102產生之經編碼視訊資料之中間儲存裝置。源裝置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可包括SoC裝置以執行歸於視訊編碼器200及/或輸出介面108之功能性,且目的地裝置116可包括SoC裝置以執行歸於視訊解碼器300及/或輸入介面122之功能性。
本發明之技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由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中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別裝置中之組合式編碼器/解碼器(編碼解碼器)的部分。包括視訊編碼器200及/或視訊解碼器300之裝置可包括積體電路、微處理器及/或無線通信裝置(諸如蜂巢式電話)。
視訊編碼器200及視訊解碼器300可根據視訊寫碼標準操作,諸如ITU-T H.265,亦稱作高效視訊寫碼(HEVC)或其擴展,諸如多視圖及/或可調式視訊寫碼擴展。可替代地,視訊編碼器200及視訊解碼器300可根據其他專用或工業標準(諸如聯合探索測試模型(JEM))操作。然而,本發明之技術受限於不限於任何特定寫碼標準。舉例而言,被稱作通用視訊寫碼(VVC)之新視訊寫碼標準當前在開發中。實例技術可應用於目前在開發中之VVC標準。
一般而言,視訊編碼器200及視訊解碼器300可執行圖像之基於區塊的寫碼。術語「區塊」一般係指包括待處理(例如編碼、解碼或以其他方式在編碼及/或解碼程序中使用)之資料的結構。舉例而言,區塊可包括明度及/或色度資料之樣本之二維矩陣。一般而言,視訊編碼器200及視訊解碼器300可對以YUV (例如Y、Cb、Cr)格式表示之視訊資料進行寫碼。亦即,視訊編碼器200及視訊解碼器300可對亮度及色度分量進行寫碼,而非對圖像之樣本的紅色、綠色及藍色(RGB)資料進行寫碼,其中該等色度分量可包括紅色調及藍色調色度分量兩者。在一些實例中,視訊編碼器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可經組態以根據JEM操作。根據JEM,視訊寫碼器(諸如視訊編碼器200)將圖像分割成複數個CTU。視訊編碼器200可根據樹狀結構(諸如四分樹二元樹(QTBT)結構)分割CTU。JEM之QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU及TU之間的間距。JEM之QTBT結構包括兩個層級:根據四分樹分割進行分割的第一層級,及根據二元樹分割進行分割的第二層級。QTBT結構之根節點對應於CTU。二元樹之葉節點對應於寫碼單元(CU)。
在一些實例中,視訊編碼器200及視訊解碼器300可使用單一QTBT結構以表示照度及色度分量中之每一者,而在其他實例中,視訊編碼器200及視訊解碼器300可使用兩個或更多個QTBT結構,諸如用於照度分量之一個QTBT結構及用於兩個色度分量之另一QTBT結構(或用於各別色度分量之兩個QTBT結構)。
視訊編碼器200及視訊解碼器300可經組態以使用根據HEVC之四分樹分割、根據JEM之QTBT分割,或其他分割結構。出於解釋之目的,關於諸如VVC中之QTBT分割呈現對於本發明之技術的描述。然而,應理解,本發明之技術亦可應用於經組態以使用四分樹分割亦或其他類型之分割的視訊寫碼器。
本發明可互換地使用「N×N」及「N乘以N」以指代關於豎直及水平尺寸之區塊(諸如,CU或其他視訊區塊)的樣本尺寸,例如16×16樣本或16乘以16樣本。一般而言,16×16 CU在豎直方向上將具有16個樣本(y = 16)且在水平方向上將具有16個樣本(x = 16)。同樣地,N×N CU大體在豎直方向上具有N個樣本且在水平方向上具有N個樣本,其中N表示非負整數值。可按列及行來配置CU中之樣本。此外,CU不一定在水平方向上及豎直方向上具有相同數目個樣本。舉例而言,CU可包括N×M個樣本,其中M不必等於N。
視訊編碼器200對CU之表示預測及/或殘餘資訊及其他資訊的視訊資料進行編碼。預測資訊指示將如何對CU進行預測以便形成CU之預測區塊。殘餘資訊通常表示編碼前CU之樣本與預測區塊之間的逐樣本差。
為了預測CU,視訊編碼器200一般可經由框間預測或框內預測形成CU之預測區塊。框間預測大體係指自先前經寫碼圖像之資料預測CU,而框內預測大體係指自同一圖像之先前經寫碼資料預測CU。為了執行框間預測,視訊編碼器200可使用一或多個運動向量來產生預測區塊。視訊編碼器200可大體執行運動搜尋以識別(例如)就CU與參考區塊之間的差異而言緊密匹配CU之參考區塊。視訊編碼器200可使用絕對差總和(SAD)、平方差總和(SSD)、平均絕對差(MAD)、均方差(MSD)或其他此類差計算來計算差度量,以判定參考區塊是否緊密匹配當前CU。在一些實例中,視訊編碼器200可使用單向預測或雙向預測來預測當前CU。
JEM及VVC亦提供仿射運動補償模式,其可被視為框間預測模式。在仿射運動補償模式中,視訊編碼器200可判定表示非平移運動(諸如放大或縮小、旋轉、透視運動或其他不規則運動類型)之兩個或多於兩個運動向量。
為了執行框內預測,視訊編碼器200可選擇框內預測模式以產生預測區塊。JEM及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可進一步例如在圖像標頭、區塊標頭、圖塊標頭或其他語法資料(諸如序列參數集(SPS)、圖像參數集(PPS)或視訊參數集(VPS))中向視訊解碼器300產生語法資料(諸如基於區塊之語法資料、基於圖像之語法資料以及基於序列之語法資料)。視訊解碼器300可同樣地對此類語法資料進行解碼以判定如何對對應視訊資料進行解碼。
以此方式,視訊編碼器200可產生包括經編碼視訊資料(例如,描述圖像至區塊(例如,CU)之分割的語法元素及用於區塊之預測及/或殘餘資訊)之位元串流。最後,視訊解碼器300可接收位元串流並對經編碼視訊資料進行解碼。
一般而言,視訊解碼器300執行與視訊編碼器200所執行之程序對等的程序,以解碼位元串流之經編碼視訊資料。舉例而言,視訊解碼器300可使用CABAC以與視訊編碼器200之CABAC編碼程序實質上類似但對等的方式對位元串流之語法元素的值進行解碼。語法元素可定義圖像至CTU之分割資訊及每一CTU根據對應分區結構(諸如QTBT結構)之分割,以定義CTU之CU。語法元素可進一步定義視訊資料之區塊(例如,CU)之預測及殘餘資訊。
殘餘資訊可由例如經量化變換係數表示。視訊解碼器300可對區塊之經量化變換係數進行反量化及反變換,以再生區塊之殘餘區塊。視訊解碼器300使用經傳信預測模式(框內或框間預測)及相關預測資訊(例如,框間預測之運動資訊)來形成區塊之預測區塊。視訊解碼器300可接著(在逐樣本基礎上)使預測區塊與殘餘區塊組合以再生初始區塊。視訊解碼器300可執行額外處理,諸如執行解區塊程序以減少沿區塊邊界之視覺假影。
本發明通常可指「傳信」某些資訊,諸如語法元素。術語「傳信」一般可指用於解碼經編碼視訊資料之語法元素及/或其他資料的值之傳達。亦即,視訊編碼器200可在位元串流中傳信語法元素的值。一般而言,傳信係指在位元串流中產生值。如上文所提及,源裝置102可實質上即時將位元串流傳送至目的地裝置116,或不即時傳送,諸如可在將語法元素存儲至儲存裝置112以供目的地裝置116稍後擷取時發生。
下文描述與對三角運動資訊進行寫碼相關之技術。在一些實例中,以組合方式編碼三角形PU之運動資訊。舉例而言,如上文所描述,視訊編碼器200及視訊解碼器300可分別在合併模式或AMVP模式中對區塊進行編碼或解碼。在合併模式或AMVP模式中,視訊編碼器200及視訊解碼器300使用類似技術建構運動向量預測子清單,以使得視訊編碼器200建構之運動向量預測子清單與視訊解碼器300建構之運動向量預測子清單實質上相同(包括與其等同)。
為建構運動向量預測子清單,視訊編碼器200及視訊解碼器300可判定在空間上相鄰且並置之區塊之運動向量資訊。空間上相鄰之區塊係指與正經編碼或經解碼之當前區塊處於同一圖像中且緊鄰當前區塊的區塊。並置區塊係指處於與包括正經編碼或解碼之當前區塊之圖像不同的圖像中且傾向於位於當前區塊之右下方或中心處但處於其他圖像中的區塊。在一些實例中,視訊編碼器200及視訊解碼器300可評估空間上相鄰區塊及/或並置區塊中之一或多者,且判定空間上相鄰及/或並置區塊之運動向量資訊。視訊編碼器200及視訊解碼器300可藉由將在空間上相鄰且並置區塊之運動向量資訊作為運動向量預測子清單中之輸入項來建構運動向量預測子清單。在一些實例中,可啟用以歷史為基礎之運動向量預測(HMVP)。在HMVP中,並不緊鄰當前區塊的區塊之運動向量資訊可包括於運動向量預測子清單中。
運動向量預測子清單中之運動向量資訊可用於預測當前區塊之運動向量。因此,運動向量預測子清單中之運動向量資訊可被稱作運動向量預測子。舉例而言,視訊編碼器200可判定用於當前區塊之預測區塊(例如,基於哪些參考樣本最接近於原始視訊資料),且判定指向預測區塊之運動向量(或用於產生預測區塊之樣本)。
在合併模式中,視訊編碼器200識別等於所判定之運動向量的運動向量預測子。在一些實例中,視訊編碼器200可利用運動向量預測子以判定預測區塊(例如,基於最接近於原始視訊資料之運動向量預測子中之一者選擇預測區塊)。在兩個實例中,視訊編碼器200傳信指示所識別運動向量預測子之運動向量預測子清單中之索引值(例如,輸入項)的資訊(例如,儲存於由索引值識別之運動向量預測子清單之輸入項中的相鄰或並置區塊之運動向量資訊)。
視訊解碼器300接收運動向量預測子清單中之索引值的資訊,且擷取輸入項處之運動向量預測子(例如,儲存於由索引值識別之運動向量預測子清單之輸入項中的相鄰或並置區塊之運動向量資訊)。視訊解碼器300接著將當前區塊之運動向量設定為等於所擷取運動向量資訊(例如,等於運動向量預測子)。
AMVP模式類似於合併模式。然而,在AMVP模式中,視訊編碼器200可傳信運動向量預測子與用於當前區塊之運動向量之間的運動向量差(MVD),而非用於當前區塊之運動向量預測子及運動向量相同。在AMVP模式中,視訊編碼器200傳信指示用於運動向量預測子之運動向量預測子清單中之索引值的資訊且傳信MVD。視訊解碼器300自運動向量預測子清單接收索引值且擷取運動向量預測子。視訊解碼器300接著將MVD添加至運動向量預測子以判定用於當前區塊之運動向量。
VVC包括三角模式。在三角模式中,將當前區塊(例如,矩形區塊)分裂(例如,分割或劃分)成兩個三角分區。視訊編碼器200可判定識別用於兩個三角分區之預測區塊的兩個三角分區中之每一者的運動向量。在圖2A及圖2B中說明寫碼單元之當前區塊如何分裂成各自具有各別PU之三角分區的方向。舉例而言,分裂可為區塊之對角的(例如,左上至右下)或反對角的(例如,右上方至左下方),其將CU分裂成兩個三角形PU,如圖2A及圖2B中所展示。舉例而言,在圖2A中,當前區塊係自左上角至右下角分裂以形成各自具有各別預測單元(PU1
124及PU2
126)之兩個三角分區,如圖2A中所展示。如上文所描述,PU包括明度預測區塊及色度預測區塊。因此,術語「預測區塊」可與PU互換地使用。在圖2B中,當前區塊係自右上角至左下角分裂以形成各自具有各別預測單元(PU1
128及PU2
130)之兩個三角分區,如圖2B中所展示。
合併模式及AMVP模式可擴展至以三角模式寫碼之當前區塊。舉例而言,視訊編碼器200及視訊解碼器300可各自建構用於當前區塊之各別運動向量預測子清單。視訊編碼器200可判定用於兩個三角分區中之每一者的運動向量預測子及指示經判定運動向量預測子之運動向量預測子清單中之輸入項的信號索引值。
一些技術將指示針對三角模式分裂當前區塊之方向的資訊及用於兩個三角分區的運動向量預測子清單中之索引值組合成一個值。舉例而言,分裂方向可由1位元值表示(例如,0表示一個分裂方向且1表示另一分裂方向)。用於兩個三角分區之運動向量清單中的索引值及用於分裂方向之1位元值可組合成[0,39]區間內的值。圖3A及圖3B展示VTM-3.0程式碼之組合映射。舉例而言,若分裂方向為0 (亦即,Dir0)且用於兩個三角分區之索引值分別為0、1,則經組合指數為3。
舉例而言,視訊編碼器200可傳信值3。在此實例中,視訊解碼器300可評估展示於圖3A及3B圖中之兩個表且判定值3位於圖3A之表中。因此,視訊解碼器300可判定當前區塊在方向0上分裂(例如,在此實例中,如同圖2A分裂)。又,視訊解碼器300可判定「3」定位於圖3A之表中的列0、行1中。基於列為0,視訊解碼器300可判定用於當前區塊之第一三角分區的運動向量預測子清單中之第一索引值為0,且基於行為1,視訊解碼器300可判定用於當前區塊之第二三角分區的運動向量預測子清單中之第二索引值為1。
然而,使用圖3A及圖3B中所說明的表可不為記憶體或處理有效的。舉例而言,在使用圖3A及圖3B之表之寫碼方案中,可需要將三角形運動資訊儲存於記憶體中之查找表中。又,視訊編碼器200及視訊解碼器300可需要針對每一三角形經寫碼CU執行表查找;因此複雜度較高。舉例而言,視訊編碼器200及視訊解碼器300可需要花費針對以三角模式寫碼的每一區塊執行表查找操作的處理週期。
本發明描述高效地編碼三角形CU之運動資訊的實例技術。對於每一三角形經寫碼CU,視訊寫碼器(例如,視訊編碼器200或視訊解碼器300)可分別將兩個三角分區之兩個對應三角形PU的分裂方向及運動資訊寫碼(例如,編碼或解碼)成位元串流或自該位元串流進行寫碼(例如,編碼或解碼)。上下文自適應寫碼技術可應用於語法元素以達成較高壓縮效能。
又,為達成第二次寫碼之三角形PU運動資訊之較好寫碼效能,視訊寫碼器可使用第一次寫碼之運動資訊以進一步移除運動資訊中之冗餘。舉例而言,若兩個三角形PU之運動資訊相同,則可將區塊視為具有用於預測之該運動資訊的整個CU。此區塊可在三角模式外傳信,因此此狀況引入冗餘。換言之,若兩個三角分區之運動向量資訊相同,則兩個三角分區之兩個預測區塊將一起形成單一矩形區塊。在彼情況下,不存在以三角模式對當前區塊進行寫碼之目的,其中兩個三角分區各自具有運動向量資訊。實情為,可更簡單的係以非三角模式對當前區塊進行寫碼而不浪費計算資源將當前區塊分裂成三角分區且對兩個三角分區中之每一者進行寫碼。
因此,可存在用於兩個三角分區之運動向量(例如,運動向量之值及/或運動向量指向之預測區塊)應不同的要求。在一個實例中,使用運動向量預測子清單中之索引值傳信處於三角模式之每一PU之運動資訊。用於合併模式之運動向量預測子清單中之索引值被稱作合併索引。舉例而言,用於第一三角分區之第一合併索引可識別視訊解碼器300自其判定第一三角分區之第一運動向量的運動向量預測子,且用於第二三角分區之第二合併索引可識別視訊解碼器300自其判定第二三角分區之第二運動向量的運動向量預測子。
在此情況下,對於第二PU合併索引傳信,移除等於第一PU之合併索引的合併索引(亦即,不可能使用)。換言之,用以判定第一三角分區之運動向量的合併索引不可能係用以判定第二三角分區之運動向量的合併索引。以此方式,可極大地減少第一及第二三角分區之運動向量相同之機會。
在一個實例中,檢查實際運動資訊(運動向量(MV)、參考索引、加權參數等),而非檢查兩個分區之候選索引。使具有與第一三角形PU中相同之運動資訊的候選不能被使用或傳信用於第二PU。舉例而言,視訊編碼器200可針對由運動向量預測子清單中之第一索引值識別的輸入項判定運動向量值、運動向量所指向之參考圖像清單之索引、經加權參數及類似者,而非僅確保運動向量預測子清單中之索引值不同。若用於由第二索引值識別之輸入項中的運動向量預測子的運動向量值、運動向量所指向之參考圖像清單之索引、經加權參數及其類似者相同,則視訊編碼器200可不選擇運動向量預測子清單中由第二索引值識別之運動向量資訊。亦即,視訊編碼器200可藉由進一步比較儲存於由不同索引值識別之不同輸入項中的實際運動向量資訊來確保第一及第二三角分區之運動向量資訊不同,而非僅確保用於第一及第二三角分區之運動向量預測子的索引值不同。
三角模式可經擴展以與其他框間預測模式(諸如AMVP (進階運動向量預測)、仿射模式等)一起工作。在此類實例中,根據本發明中所描述之一或多個實例,可用模式候選索引替換合併索引。
舉例而言,對於AMVP模式,當傳信參考索引、MV (運動向量)預測子索引及MVD時,當第二PU具有藉由將MVP添加至MVD獲得的相同最終運動資訊時的情況如同第一PU被限制使用的情況(例如,用於第一PU及第二PU之運動資訊不可相同)。亦即,可不允許第二PU之運動資訊(例如,第二PU之MVP加MVD)等於第一PU之運動資訊,且因此可存在不同MVP或MVD以確保運動資訊並不與第一PU相同或AMVP可能不可用。作為一個實例,確保第二PU之運動資訊並不與第一PU之運動資訊相同可作為位元串流約束條件或語法約束條件而進行,其中語法約束條件意謂某一語法組合並不可能,且可移除冗餘以降低額外負擔。
描述與對三角運動資訊進行寫碼相關之技術的一些實例。實例技術可一起或分開使用。
在本發明中所描述之一或多個實例技術中,視訊編碼器200可減少需要傳信至視訊解碼器300以提昇頻寬效率之資訊的量。如上文所描述,用於當前區塊之第一及第二三角分區的運動向量預測子清單中之索引值應不同。有可能充分利用運動向量預測子清單中之兩個索引值需要不同的要求以減少需要被傳信之資料量。
圖4為說明判定運動資訊之實例的概念圖。圖4說明劃分成三角分區402A及三角分區402B之當前區塊400。圖4亦說明包括藉由索引值0至4識別之五個輸入項的運動向量預測子清單。每一輸入項包括運動預測子。舉例而言,由索引值0識別之第一輸入項儲存具有運動向量值<x0,y0>的MV0,由索引值1識別之第二輸入項儲存具有運動向量值<x1,y1>的MV1,由索引值2識別之第三輸入項儲存具有運動向量值<x2,y2>的MV2,由索引值3識別之第四輸入項儲存具有運動向量值<x3,y3>的MV3,且由索引值4識別之第五輸入項儲存具有運動向量值<x4,y4>的MV4。
在此實例中,視訊編碼器200可判定當前區塊400係以三角模式分割。視訊編碼器200可建構包括當前區塊400之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單,如圖4中所說明。
在一些實例中,視訊編碼器200可判定第一三角形預測區塊(例如,針對三角分區402A)。舉例而言,視訊編碼器200可評估運動向量預測子清單中之運動向量預測子且識別複數個三角形區塊。視訊編碼器200可將三角形區塊中之每一者與三角分區402A進行比較,且可將最接近第一三角分區之三角形區塊判定為第一三角形預測區塊(例如,就SAD、SSD或MAD而言,如幾個實例)。
視訊編碼器200可基於所判定之第一三角形預測區塊判定運動向量預測子清單中之第一索引值。舉例而言,如圖4中所說明,對於三角分區402A,視訊編碼器200可已判定待使用之運動向量預測子為MV1 <x1,y1>,其儲存於由索引值1識別之輸入項處。在此實例中,第一索引值可為索引值1。視訊編碼器200可基於第一索引值傳信第一值。舉例而言,視訊編碼器200可基於在此實例中為1之值的第一索引值傳信值1。
使用類似於上文所描述之技術的技術,視訊編碼器200可判定第二三角形預測區塊(例如,針對三角分區402B)。舉例而言,視訊編碼器200可評估運動向量預測子清單中之運動向量預測子且識別複數個三角形區塊。視訊編碼器200可將三角形區塊中之每一者與三角分區402B進行比較,且可將最接近第二三角分區之三角形區塊判定為第二三角形預測區塊。
視訊編碼器200可基於所判定之第二三角形預測區塊判定運動向量預測子清單中之第二索引值。舉例而言,如圖4中所說明,對於三角分區402B,視訊編碼器200可已判定待使用之運動向量預測子為MV3 <x3,y3>,其儲存於由索引值3識別之輸入項處。在此實例中,第二索引值可為索引值3。
根據本發明中所描述之一或多個實例,因為第二索引值大於第一索引值,所以視訊編碼器200可經組態以傳信經減小值而非第二索引值的值。舉例而言,視訊編碼器200可經組態以藉由自第二索引值減去偏移來判定第二值。作為一個實例,偏移可為一。因此,在此實例中,視訊編碼器200可判定第二值2 (例如,第二索引值3減去1為2)。
視訊編碼器200可傳信第二值(例如,2)而非第二索引值3。在一些實例中,傳信較小值導致需要較少位元。作為一個實例,相較於對值3進行二值化,對值2進行二值化需要較少位元。作為另一實例,當利用CABAC寫碼時,編碼對多少位元進行編碼可基於可能值之區間。若該區間縮減,則由CABAC寫碼產生之位元數目減少。舉例而言,對於第一值,該區間可為0至4,但對於第二值,該區間歸因於減法而縮減至0至3 (例如,第二值不可能等於4)。
視訊解碼器300可利用所傳信之第一值及第二值來判定用於三角分區402A及三角分區402B之運動向量預測子。舉例而言,基於關於當前區塊400傳信之資訊,視訊解碼器300可判定當前區塊400係以三角模式分割。類似於視訊編碼器200,視訊解碼器300可建構包括當前區塊400之一或多個相鄰區塊之運動向量資訊的運動向量預測子清單。
視訊解碼器300可對第一值進行解碼以用於判定運動向量預測子清單中之第一索引值(例如,用於判定三角分區402A之第一索引值)。在圖4之實例中,視訊解碼器300可針對第一值對值1進行解碼且可基於第一索引值判定第一三角形預測區塊。舉例而言,視訊解碼器300可基於第一值為1判定第一索引值為1。視訊解碼器300可存取藉由第一索引值1識別的運動向量預測子清單之輸入項,該輸入項在此實例中為MV1 <x1,y1>。
視訊解碼器300可基於MV1 <x1,y1>判定第一運動向量(例如,用於三角分區402A)。舉例而言,對於合併模式,視訊解碼器300可將第一運動向量設定為等於MV1。對於AMVP模式,視訊解碼器300可接收MVD且可將MVD添加至<x1,y1>以判定第一運動向量。視訊解碼器300接著可將第一三角形預測區塊判定為第一運動向量所指向之三角形區塊。
視訊解碼器300可對第二值進行解碼以用於判定運動向量預測子清單中之第二索引值(例如,用於判定三角分區402B之第二索引值)。在圖4之實例中,視訊解碼器300可針對第二值對值2進行解碼。如上文所描述,儘管實際第二索引值為3,但視訊編碼器200可已傳信值2。因此,視訊解碼器300可針對第二值對值2進行解碼。
視訊解碼器300可基於第二值判定第二索引值。舉例而言,視訊解碼器300可將第二值(例如,2)與第一值(例如,1)進行比較。基於第二值大於或等於第一值,視訊解碼器300可將偏移(例如,在此實例中為1)添加至第二值以判定第二索引值(例如,2+1為3)。
在一或多個實例中,視訊解碼器300可基於第二索引值判定第二三角形預測區塊。舉例而言,視訊解碼器300可藉由將1添加至第二值2而判定第二索引值為3。視訊解碼器300可存取藉由第二索引值3識別的運動向量預測子清單之輸入項,該輸入項在此實例中為MV3 <x3,y3>。
視訊解碼器300可基於MV3 <x3,y3>判定第二運動向量(例如,用於三角分區402B)。舉例而言,對於合併模式,視訊解碼器300可將第二運動向量設定為等於MV3。對於AMVP模式,視訊解碼器300可接收MVD且可添加MVD至<x3,y3>以判定第二運動向量。視訊解碼器300接著可將第二三角形預測區塊判定為第二運動向量所指向之三角形區塊。
視訊解碼器300接著可基於第一三角形預測區塊及第二三角形預測區塊重建構當前區塊400。舉例而言,視訊解碼器300可接收指示三角分區402A與第一三角形預測區塊之間的差之殘餘資訊。視訊解碼器300可將第一三角形預測區塊添加至該差以重建構三角分區402A。視訊解碼器300可接收指示三角分區402B與第二三角形預測區塊之間的差之殘餘資訊。視訊解碼器300可將第二三角形預測區塊添加至該差以重建構三角分區402B。
在以上實例中,第二索引值大於第一索引值,且因此,視訊編碼器200減去偏移(例如,1)且視訊解碼器300添加偏移(例如,1)。然而,在一些實例中,第二索引值可小於第一索引值。舉例而言,假定用於三角分區402B之運動向量預測子為MV0 <x0,y0>而非MV3 <x3,y3>。
在此實例中,視訊編碼器200可基於第二索引值等於0而判定第二值為0且可傳信第二值0。視訊解碼器300可對第二值0進行解碼。視訊解碼器300可將第二值0與第一值1進行比較。基於第二值0不大於或等於第一值1,視訊解碼器300可不添加偏移。確切而言,視訊解碼器300可判定第二索引值等於第二值0,且可將三角分區402B之運動向量預測子判定為等於MV0 <x0,y0>。
如上文所描述,視訊解碼器300可判定當前區塊400係以三角模式分割。在一些實例中,視訊解碼器300可基於與第一值及第二值分離之所接收語法元素判定分區方向(例如,分裂方向)。舉例而言,在一個實例中,分裂方向由1位元值(D)表示,且該值係經由上下文自適應二進位算術寫碼(CABAC)編碼。上下文經特定設計用於此值。以此方式,指示該分區方向之資訊可為與指示運動向量預測子清單中之索引之資訊分開的語法元素。亦即,視訊編碼器200可基於與第一值及第二值(例如,在以上實例中為1及2或1及0之值)分開之語法元素(例如,1位元值(D))傳信當前區塊400之分區方向。視訊解碼器300可基於與第一值及第二值(例如,在以上實例中為1及2或1及0之值)分開之所接收語法元素(例如,1位元值(D))判定當前區塊400之分區方向。
在一或多個實例中,每一PU之運動資訊由對應於每一PU (及)之候選集合的整數值索引表示。亦使用CABAC寫碼對及兩者進行編碼。舉例而言,在圖4之實例中,MV1為用以判定用於三角分區402A之運動向量的運動向量預測子,該運動向量預測子隨後用以判定三角分區402A之三角形預測區塊。索引值MV1 (例如,1)可經CABAC寫碼。
可分別產生三角分區402A、402B之候選集合。兩個集合被命名為及,且候選集合之大小為及。在此實例中,首先編碼且接著第二次編碼以說明如何可藉由利用之資訊改良之編碼效能。可定義返回候選集合(C
)內之運動向量(MV
)之索引的函式:
若,則對進行編碼,否則對進行編碼。
根據該實例,若,則之區間變為而非。在此實例中,MV1係指用於判定第一三角形預測區塊之運動向量或運動向量預測子。在一些實例中,MV1可能不存在於運動向量預測子清單中,使得用於第二三角形預測區塊之運動向量並不與用於第一三角形預測區塊之運動向量相同。
在視訊編碼器200及視訊解碼器300使用之熵寫碼方案中,由整數值索引消耗之位元的數目通常與該值之區間相關。減小值區間之大小可改良寫碼效率。換言之,如上文所描述,對於CABAC寫碼,藉由使第二值的值減小達一偏移,縮減第二值之區間(例如,圖4之實例中的第二值的區間可僅為0至3)。然而,若不存在偏移之相減,則第二值之區間將為0至4 (例如,在該區間內無縮減)。由於藉由傳信圖4之實例中之值2所消耗的位元之數目係基於該值之區間,若該值之區間未縮減,則藉由傳信2消耗之位元之數目將小於藉由傳信3消耗之位元之數目。
在一些實例中,分裂方向表示為1位元值,且該值係經由CABAC之旁路模式來編碼。此外,視訊編碼器200可基於與第一值及第二值(例如,在以上實例中為1及2或1及0之值)分開之語法元素(例如,1位元值(D))來傳信當前區塊400之分區方向。視訊解碼器300可基於與第一值及第二值(例如,在以上實例中為1及2或1及0之值)分開之所接收語法元素(例如,1位元值(D))來判定當前區塊400之分區方向。
同時,兩個三角形PU共用同一候選集合( ),在此情況下,對於任何給定運動向量(MV)),可存在。當對進行編碼時,可如下使用之資訊:若,則對進行編碼,否則對進行編碼。在此情況下,I1
之區間為,且之區間始終為。上文重新陳述實例,在該實例中,基於第二索引值大於第一索引值,視訊編碼器200自第二索引值減去偏移以產生視訊編碼器200傳信之第二值,且視訊解碼器300基於第二值大於或等於第一值而將偏移添加至所接收第二值以產生運動向量預測子清單中之第二索引值。
下文描述用於構建以三角模式寫碼的區塊之運動向量預測子清單的技術。在VVC中,三角模式具有其自有的合併候選清單導出方法,其不同於用於非三角模式之合併模式中的合併候選清單導出。由於不同導出技術,可存在實施負擔之增加。VVC三角模式候選清單包括用於三角形PU寫碼之五個單向預測運動向量候選,且由兩個步驟導出。
在步驟1中,使用來自相鄰區塊之至多7個運動向量來建置候選集合Cstep1
。在一些技術中,建置Cstep1
之程序係由三角模式獨用。然而,在常規合併模式中,建構候選集合Cmerge
以用於類似目標。具有Cmerge
及Cstep1
之不同邏輯可增加硬體及軟體設計之複雜度。
在步驟2中,使Cstep1
中之運動向量循環多次,且針對最終候選Cstep2
導出至多5個單向預測MV。詳細程序如下。
1. 對於Cstep1
中之每一MV,若MV為單向預測且MV不在Cstep2
中,則將MV添加至Cstep2
。
2. 對於Cstep1
中之每一MV,若MV為雙向預測且MV之參考清單0部分 (MVpart0
)不在Cstep2
中,則將MVpart0
添加至Cstep2
。
3. 對於Cstep1
中之每一MV,若MV為雙向預測且MV之參考清單1部分(MVpart1
)不在Cstep2
中,則將MVpart1
添加至Cstep2
。
4. 對於Cstep1
中之每一MV,若MV為雙向預測且MVpart0
與MVpart1
之平均值(MVavg
)不在Cstep2
中,則將MVavg
添加至Cstep2
。
5. 若Sizeof(Cstep2
)< 5,則用0值MV填充剩餘槽。
在任何步驟處,若Sizeof(Cstep2
)變為5,則程序立即結束。
為執行用於步驟2之第4遍次中之「平均」操作,需要指向同一參考圖像之兩個運動向量。然而,雙向預測運動向量之參考清單0部分及參考清單1部分可指向不同參考圖像。亦即,雙向預測運動向量包括兩個運動向量。第一運動向量指向在第一參考圖像清單(清單0)中識別之圖像,且第二運動向量指向在第二參考圖像(清單1)中識別之圖像。參考清單0部分係指至參考圖像清單0中之圖像中的第一運動向量,且參考清單1部分係指至參考圖像清單1中之圖像中的第二運動向量。在此類情況下,雙向預測運動向量之參考清單1部分可需要按比例調整成參考清單0部分之同一參考圖像。按比例調整係基於POCcurrent
-POCreference_picture_list_0
及POCcurrent
-POCreference_picture_list _1
。
上文所描述之步驟2可具有兩個問題:
● 步驟2以多遍次方式工作。自Cstep1
之最後一個項目導出之運動資訊可變為Cstep2
之第一個項目,因此步驟2無法開始直至步驟1完全完成為止。
● 運動向量之按比例調整具有高複雜度,尤其對於硬體編碼解碼器設計如此。同時,步驟2之第4遍次可具有可極大地增加編碼解碼器複雜度之多個按比例調整操作。
本發明描述可在導出單向預測候選清單時提供更統一且更簡單之方法的實例技術。實例技術可使用現有候選清單導出程序。舉例而言,對於合併模式,該技術可為合併候選清單導出。此導出程序之輸出被稱作Cmerge
。由於三角模式針對每一PU使用單向預測,則合併清單導出中之雙向預測MV經分裂成兩個:單向L0及單向L1 MV,其皆可被添加至用於三角模式之候選清單(被稱為Ctriangle
)。在一些實例中,僅一者可添加至候選清單。在此情況下,候選清單導出與合併模式共用,且需要添加僅將雙向MV分裂成單向MV。
換言之,視訊編碼器200及視訊解碼器300可建構包括雙向預測運動向量及單向預測運動向量兩者之初始運動向量預測子清單。雙向預測運動向量係指藉由以下兩個運動向量進行框間預測的相鄰區塊之運動向量:指向在第一參考圖像清單中識別之圖像中之區塊的運動向量,及指向在第二參考圖像清單中識別之圖像中之區塊的運動向量。單向預測運動向量係指藉由一個運動向量進行框間預測之相鄰區塊的運動向量。
對於非三角模式(例如,當前區塊未以三角模式分割),運動向量預測子清單可包括雙向預測運動向量及單向預測運動向量兩者。然而,對於三角模式,運動向量預測子清單可僅包括單向預測運動向量。因此,為了提供運動向量預測子清單之建構中的部分統一,視訊編碼器200及視訊解碼器300可以類似於非三角模式之方式建構初始運動向量預測子清單,以使得初始運動向量預測子清單包括雙向預測運動向量及單向預測運動向量兩者。接著,視訊編碼器200及視訊解碼器300可基於初始運動向量預測子清單(例如,作為一個非限制性實例,藉由將雙向預測運動向量分開成運動向量預測子清單中之兩個單獨輸入項)建構運動向量預測子清單。
可將單向MV一個接一個地添加至清單,或可在候選清單中之靠後位置處添加該等候選中之一者。另外,針對三角形CU導出一次之相同合併清單可用於兩個PU。在一些實例中,冗餘移除可如上文所描述進行。
在一個實施實例中,在候選清單產生之第一步驟中,產生合併候選清單Cmerge
。Cmerge
可含有雙向預測MV及單向預測MV兩者。為了用於三角形PU運動補償,每一雙向預測MV可用兩個單向預測MV (MV之單向L0部分及單向L1部分)替換。換言之,將雙預測運動向量分成兩個單向預測運動向量:該等單向預測運動向量中之一者指向參考圖像清單0中之圖像中的區塊,且該等單向預測運動向量中之另一者指向參考圖像清單1中之圖像中的區塊。在冗餘移除之後,產生最終Ctriangle
。
實施實例自Cmerge
至Ctriangle
之轉換之細節描述如下:
| 1 | InitCtriangle to Empty |
| 2 | For Each MV inCmerge |
| 3 | If MV is uni-prediction |
| 4 | If not MV already inCtriangle |
| 5 | Add MV toCtriangle |
| 6 | If Sizeof(Ctriangle ) ==Ntriangle Then Goto 18 |
| 7 | Else |
| 8 | MV 0 = RefList 0 part of MV |
| 9 | MV 1 = RefList 1 part of MV |
| 10 | If notMV 0 already inCtriangle |
| 11 | AddMV 0 toCtriangle |
| 12 | If Sizeof(Ctriangle ) ==Ntriangle Then Goto 18 |
| 13 | If notMV 1 already inCtriangle |
| 14 | AddMV 1 toCtriangle |
| 15 | If Sizeof(Ctriangle ) == Ntriangle Then Goto 18 |
| 16 | If not sizeof(Ctriangle )==Ntriangle |
| 17 | Fill the remaining slots with 0 valued MVs |
| 18 | OutputCtriangle |
在另一實施實例中,上述Cmerge
及Ctriangle
之產生係以管線化方式設計,使得候選集合產生之潛時可進一步減小,尤其對於硬體編碼解碼器設計如此。
常規合併候選Cmerge
之產生係作為獨立程序描述如下。以偽程式碼調用之Pruning_test_succeeded程序表示由標準合併模式定義之冗餘移除(例如,輸出Cmerge
具有最大大小Nmerge
)。
| 1 | GENERATE_C_Merge(Nmerge ) |
| 2 | Init Cmerge to Empty |
| 3 | For each MV to be considered |
| 4 | If Pruning_test_succeeded(Cmerge ,MV) and Sizeof(Cmerge <Nmerge |
| 5 | Add MV to Cmerge |
| 6 | Return Cmerge |
Ctriangle
之產生共用Cmerge
產生之GENERATE_C_Merge()之邏輯且即時地將Cmerge
之成員轉換為Ctriangle
之成員。所產生之Ctriangle
具有最大大小Ntriangle
。
| 1 | GENERATE_C_Triangle(Nmerge , Ntriangle ) |
| 2 | Init Ctriangle andCmerge to Empty |
| 3 | For each MV to be considered |
| 4 | If Pruning_test_succeeded(Cmerge ,MV) and Sizeof(Cmerge <Nmerge |
| 5 | Add MV toCmerge |
| 6 | If MV is uni-prediction |
| 7 | If not MV already inCtriangle |
| 8 | Add MV toCtriangle |
| 9 | If Sizeof(Ctriangle ) ==Ntriangle Then Goto 21 |
| 10 | Else |
| 11 | MV0 = RefList 0 part of MV |
| 12 | MV1 = RefList 1 part of MV |
| 13 | If notMV 0 already inCtriangle |
| 14 | AddMV 0 toCtriangle |
| 15 | If Sizeof(Ctriangle ) ==Ntriangle Then Goto 21 |
| 16 | If notMV 1 already inCtriangle |
| 17 | AddMV 1 toCtriangle |
| 18 | If Sizeof(Ctriangle ) ==Ntriangle Then Goto 21 |
| 19 | If not sizeof(Ctriangle )==Ntriangle |
| 20 | Fill the remaining slots with 0 valued MVs |
| 21 | Return Cmerge |
下文描述運動資訊儲存。如下導出變數NoBackwardPredFlag。NoBackwardPredFlag係指示特定圖像之所有參考圖像是否具有比當前圖像更小之圖像次序計數(POC)的旗標。若所有參考圖像具有較小POC,則NoBackwardPredFlag為真。否則,一或多個參考圖像具有比當前圖像更大之POC且NoBackwardPredFlag為假。舉例而言,若DiffPicOrderCnt(aPic,CurrPic)針對當前圖塊之RefPicList0或RefPicList1中之每一圖像aPic小於或等於0,則將NoBackwardPredFlag設定為等於1。否則,將NoBackwardPredFlag設定為等於0。
圖5中說明MV (運動向量)組合之程序。視訊編碼器200及視訊解碼器300可判定當前區塊之兩個運動向量是否具有不同參考清單(例如,當前區塊之第一運動向量係指參考圖像清單0中之圖像且當前區塊之第二運動向量係指參考圖像清單1中之圖像) (500)。若當前區塊之兩個運動向量具有不同參考清單(500為是),則兩個運動向量可直接組合(在圖5中表示為MV1
+ MV2
) (502)。否則(500為否),MV中之一者可映射至另一參考清單,使得可執行MV組合。
舉例而言,若兩個MV指向不同清單,則可藉由使用指向L0 (亦即,參考圖像清單0)之MV作為L0部分及指向L1 (亦即,參考圖像清單1)之其他MV作為L1部分來產生雙向MV。若兩個MV指向一個清單(例如,L0),則兩個MV可能不會直接組合至雙向MV,此係因為不存在含有兩個L0分量但不含L1分量之雙向MV。
首先測試MV2
(504)。若MV2
之參考圖像亦存在於另一參考清單中,則映射成功(504成功),且輸出可與MV1
組合(表示為)(506)。否則(504失敗),則對MV1
變為執行相同映射(508)以獲得成功(508成功)以及輸出組合() (510) 若及兩者均不存在(508失敗),則輸出可因此為單向預測MV1
(512)。
映射操作具有複雜度問題。自MV至之映射需要在另一參考清單內循環以查找清單是否含有MV之參考圖像。此對於視訊編碼器200及視訊解碼器300而言係計算上昂貴的操作。若MV2
之映射失敗,則需要對執行同一操作,因此最壞情況複雜度進一步增加。
如圖6A及圖6B中所展示,對於用三角形PU模式寫碼之CU,分裂方向之對角線邊緣上的子區塊利用MV1及MV2兩者之經運動補償值;因此,含有來自MV1及MV2兩者之資訊的雙向預測運動向量將被儲存為彼等子區塊之運動資訊。舉例而言,圖6A說明包括子區塊606A及606B之區塊602。子區塊606A利用MV1且子區塊606B利用MV2。圖6B說明包括子區塊608A及608B之區塊604。子區塊608A利用MV1且子區塊608B利用MV2。
本發明描述產生用於三角形PU模式之運動資訊儲存之雙向預測MV的簡化方式。兩個單向預測MV (例如,雙向預測MV經分裂成兩個單向預測MV)係基於參考圖像清單0及參考圖像清單1之組態(例如,基於NoBackwardPredFlag之值)而組合(若可能)。在一個實例中,當NoBackwardPredFlag為真時(亦即,與當前圖像相比較,所有參考圖像均來自過去),則組合來自三角形PU之兩個單向預測MV以形成一雙向預測MV且將其儲存於用三角模式寫碼之區塊中。否則,使用一單向預測MV。在一個實例中,使用單向L0;在另一實例中,使用單向L1。在又一實例中,使用第一三角形PU之MV,且使用第二三角形PU之MV。在一些實例技術中,檢查三角形PU之MV值且基於該檢查進行MV選擇。在一些實例中,檢查該運動資訊之參考圖像索引或參考圖像POC,且基於判定程序選擇一個。舉例而言,選擇相對於當前圖像對應於最接近參考圖像之MV。在一個實例中,可在未對整個參考清單進行任何搜尋操作的情況下執行實例技術。
實施實例之細節的描述如下。若兩個PU之運動資訊在不同參考清單上,則運動資訊可經由以下程序組合:
| 1 | Combine_From_Different_List(MV1,MV2) |
| 2 | MV.prediction_dir = bi-prediction. |
| 3 | If MV1 uses reference list L0 |
| 4 | MV.reference_index_L0 = MV1.reference_index_L0 |
| 5 | MV.reference_index_L1 = MV2.reference_index_L1 |
| 6 | MV.motion_vector_L0 = MV1.motion_vector_L0 |
| 7 | MV.motion_vector_L1 = MV2.motion_vector_L1 |
| 8 | Else |
| 9 | MV.reference_index_L0 = MV2.reference_index_L0 |
| 10 | MV.reference_index_L1 = MV1.reference_index_L1 |
| 11 | MV.motion_vector_L0 = MV2.motion_vector_L0 |
| 12 | MV.motion_vector_L1 = MV1.motion_vector_L1 |
| 13 | Output MV |
若PU之運動資訊在不同參考清單上,則可經由以下程序組合運動資訊:
| 1 | Combine_From_Same_List(MV1,MV2) |
| 2 | If NoBackwardPredFlag == FALSE |
| 3 | MV = MV1 |
| 4 | Else |
| 5 | MV.prediction_dir = bi-prediction. |
| 6 | If MV1 uses reference list L0 |
| 7 | MV.reference_index_L0 = MV1.reference_index_L0 |
| 8 | MV.reference_index_L1 = MV2.reference_index_L0 |
| 9 | MV.motion_vector_L0 = MV1.motion_vector_L0 |
| 10 | MV.motion_vector_L1 = MV2.motion_vector_L0 |
| 11 | Else |
| 12 | MV.reference_index_L0 = MV2.reference_index_L1 |
| 13 | MV.reference_index_L1 = MV1.reference_index_L1 |
| 14 | MV.motion_vector_L0 = MV2.motion_vector_L1 |
| 15 | MV.motion_vector_L1 = MV1.motion_vector_L1 |
| 16 | Output MV |
在一個實施實例中,Combine_From_Different_List與以上實例相同。Combine_From_Same_List之程序經設計如下,且當NoBackwardPredFlag為假時執行搜尋操作,但僅需要一個搜尋操作:
| 1 | Combine_From_Same_List(MV1,MV2) |
| 2 | If NoBackwardPredFlag == FALSE |
| 3 | MV = MV1 |
| 4 | Else |
| 5 | MV.prediction_dir = bi-prediction. |
| RefPOC2 = POC of reference picture of MV2 | |
| 6 | If MV1 uses reference list L0 |
| MappedRefIndex2 = Search_List_For_Poc(RefList1,RefPOC2) | |
| 7 | MV.reference_index_L0 = MV1.reference_index_L0 |
| 8 | MV.reference_index_L1 = MappedRefIndex2 |
| 9 | MV.motion_vector_L0 = MV1.motion_vector_L0 |
| 10 | MV.motion_vector_L1 = MV2.motion_vector_L0 |
| 11 | Else |
| MappedRefIndex2 = Search_List_For_Poc(RefList0,RefPOC2) | |
| 12 | MV.reference_index_L0 = MappedRefIndex2 |
| 13 | MV.reference_index_L1 = MV1.reference_index_L1 |
| 14 | MV.motion_vector_L0 = MV2.motion_vector_L1 |
| 15 | MV.motion_vector_L1 = MV1.motion_vector_L1 |
| 16 | Output MV |
| 17 | Search_List_For_Poc(RefList,POC) |
| 18 | For (I = 0;I < sizeof(RefList);I++) |
| 19 | If RefList[I].POC == POC |
| 20 | Return I |
| 21 | Return |
圖7為說明可執行本發明之技術的實例視訊編碼器200的方塊圖。出於解釋之目的而提供圖7,且不應將該圖視為對如本發明中所廣泛例示及描述之技術的限制。出於解釋之目的,本發明在諸如HEVC視訊寫碼標準及研發中之H.266視訊寫碼標準(例如,VCC)的視訊寫碼標準之上下文中描述視訊編碼器200。然而,本發明之技術並不限於此等視訊寫碼標準,且大體上適用於視訊編碼及解碼。
在圖7之實例中,視訊編碼器200包括視訊資料記憶體230、模式選擇單元202、殘餘產生單元204、變換處理單元206、量化單元208、反量化單元210、反變換處理單元212、重建構單元214、濾波器單元216、經解碼圖像緩衝器(DPB) 218及熵編碼單元220。
視訊資料記憶體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之各種單元之輸出的臨時儲存。
圖7之各種單元經說明以輔助理解藉由視訊編碼器200執行的操作。該等單元可實施為固定功能電路、可程式化電路或其組合。固定功能電路係指提供特定功能性且對可執行之操作進行預設的電路。可程式化電路係指可經程式化以執行各種任務並在可執行之操作中提供可撓功能性的電路。舉例而言,可程式化電路可執行使得可程式化電路以由軟體或韌體之指令定義的方式操作的軟體或韌體。固定功能電路可執行軟體指令(例如,以接收參數或輸出參數),但固定功能電路執行的操作之類型一般為不可變的。在一些實例中,單元中之一或多者可為不同電路區塊(固定功能或可程式化),且在一些實例中,一或多個單元可為積體電路。
視訊編碼器200可包括由可程式化電路形成之算術邏輯單元(ALU)、基本功能單元(EFU)、數位電路、類比電路及/或可程式化核心。在視訊編碼器200之操作係使用由可程式化電路執行之軟體執行的實例中,記憶體106 (圖1)可儲存視訊編碼器200接收且執行的軟體之指令(例如,目標程式碼),或視訊編碼器200內之另一記憶體(未展示)可儲存此類指令。
視訊資料記憶體230經組態以儲存所接收視訊資料。視訊編碼器200可自視訊資料記憶體230擷取視訊資料之圖像,並將視訊資料提供至殘餘產生單元204及模式選擇單元202。視訊資料記憶體230中之視訊資料可為待編碼之原始視訊資料。
模式選擇單元202包括運動估計單元222、運動補償單元224及框內預測單元226。模式選擇單元202可包括額外功能單元以根據其他預測模式來進行視訊預測。作為實例,模式選擇單元202可包括調色板單元、區塊內複製單元(其可為運動估計單元222及/或運動補償單元224之部分)、仿射單元、線性模型(LM)單元或其類似者。
模式選擇單元202通常協調多個編碼遍次以測試編碼參數之組合,及用於此等組合之所得速率失真值。編碼參數可包括CTU至CU之分割、用於CU之預測模式、用於CU之殘餘資料的變換類型、用於CU之殘餘資料的量化參數等。模式選擇單元202可最終選擇相比其他所測試組合具有更佳速率失真值的編碼參數之組合。
視訊編碼器200可將自視訊資料記憶體230擷取之圖像分割成一系列CTU,並將一或多個CTU囊封於圖塊內。模式選擇單元202可根據樹型結構,諸如上文所描述之QTBT結構或HEVC之四分樹結構來分割圖像之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可擷取用於藉由各別運動向量識別之兩個參考區塊的資料,並(例如)經由逐樣本求平均值或經加權求平均值來組合所擷取之資料。
模式選擇單元202、運動估計單元222及運動補償單元224可經組態以執行本發明中所描述之一或多種實例技術。舉例而言,模式選擇單元202可判定第一當前區塊係以三角模式分割。運動估計單元222可經組態以建構包括第一當前區塊之一或多個相鄰區塊之運動向量資訊的第一運動向量預測子清單。舉例而言,運動估計單元222可存取DPB 218以獲得相鄰區塊之運動向量資訊。作為一個實例,運動估計單元222可建構包括雙向預測運動向量及單向預測運動向量兩者之初始運動向量預測子清單,且基於該初始運動向量預測子清單建構第一運動向量預測子清單。
運動估計單元222及運動補償單元224可共同判定第一三角形預測區塊。在一個實例中,運動估計單元222可判定哪一三角形預測區塊最接近當前區塊之第一三角分區。運動估計單元222及運動補償單元224可基於所判定之第一三角形預測區塊判定運動向量預測子清單中之第一索引值。舉例而言,運動估計單元222可判定來自運動向量預測子清單之哪一運動向量資訊應用作運動向量預測子以預測指向第一三角形預測區塊之第一運動向量。運動估計單元222可基於第一索引值判定第一值(例如,第一值等於第一索引值)且使得熵編碼單元220對第一值進行編碼及傳信。
類似地,運動估計單元222及運動補償單元224可共同判定第二三角形預測區塊,並基於所判定之第二三角形預測區塊判定運動向量預測子清單中之第二索引值。在此實例中,運動估計單元222及運動補償單元224可比較第一索引值與第二索引值。基於第二索引值大於第一索引值,運動估計單元222及運動補償單元224可自第二索引值減去一偏移(例如,1)以產生第二值。運動估計單元222及運動補償單元224可使得熵編碼單元220對第二值進行編碼及傳信。
運動估計單元222及運動補償單元224可建構包括第二當前區塊之一或多個相鄰區塊之運動向量資訊的第二運動向量預測子清單。使用類似於上文所描述之技術的用於判定三角形預測區塊之技術,運動估計單元222及運動補償單元224可判定第三三角形預測區塊,並基於所判定之第三三角形預測區塊判定第二運動向量預測子清單中之第三索引值。運動估計單元222及運動補償單元224可使得熵編碼單元220基於第三索引值對第三值進行編碼及傳信。
運動估計單元222及運動補償單元224可判定第四三角形預測區塊,並基於所判定之第四三角形預測區塊判定第二運動向量預測子清單中之第四索引值。運動估計單元222及運動補償單元224可將第四索引與第三索引進行比較,且基於第四索引值小於第三索引值而判定等於第四索引值之第四值。運動估計單元222及運動補償單元224可使得熵編碼單元220對第四值進行編碼及傳信。
作為另一實例,對於框內預測,或框內預測寫碼,框內預測單元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之大小為2N×2N,則視訊編碼器200可支援用於框內預測的2N×2N或N×N之PU大小,及用於框間預測的2N×2N、2N×N、N×2N、N×N或類似大小之對稱PU大小。視訊編碼器200及視訊解碼器300亦可支援用於框間預測的2N×nU、2N×nD、nL×2N以及nR×2N之PU大小的不對稱分割。
在模式選擇單元202未將CU進一步分割為PU的實例中,每一CU可與明度寫碼區塊及對應色度寫碼區塊相關聯。如上,CU之大小可指CU之明度寫碼區塊的大小。視訊編碼器200及視訊解碼器300可支援2N×2N、2N×N或N×2N之CU大小。
對於諸如區塊內複製模式寫碼、仿射模式寫碼及線性模型(LM)模式寫碼之其他視訊寫碼技術,如幾個實例,模式選擇單元202經由與寫碼技術相關聯之各別單元產生用於正經編碼之當前區塊的預測區塊。在諸如調色板模式寫碼之一些實例中,模式選擇單元202可不產生預測區塊,且替代地產生指示基於樣本值之所選擇調色板重建構區塊之方式的語法元素。在此等模式中,模式選擇單元202可將此等語法元素提供至熵編碼單元220以待編碼。
如上文所描述,殘餘產生單元204接收用於當前區塊及對應預測區塊之視訊資料。殘餘產生單元204接著產生用於當前區塊之殘餘區塊。為產生殘餘區塊,殘餘產生單元204計算預測區塊與當前區塊之間的逐樣本差。
變換處理單元206將一或多個變換應用於殘餘區塊以產生變換係數之區塊(在本文中被稱作「變換係數區塊」)。變換處理單元206可將各種變換應用於殘餘區塊以形成變換係數區塊。舉例而言,變換處理單元206可將離散餘弦變換(DCT)、定向變換(directional transform)、Karhunen-Loeve變換(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)寫碼操作、指數-哥倫布編碼操作或另一類型之熵編碼操作。在一些實例中,熵編碼單元220可在旁路模式下操作,其中語法元素未經熵編碼。
視訊編碼器200可輸出位元串流,其包括重建構圖塊或圖像之區塊所需的經熵編碼語法元素。詳言之,熵編碼單元220可輸出該位元串流。
上文所描述之操作係關於區塊進行描述。此描述應理解為用於明度寫碼區塊及/或色度寫碼區塊之操作。如上文所描述,在一些實例中,明度寫碼區塊及色度寫碼區塊為CU之明度分量及色度分量。在一些實例中,明度寫碼區塊及色度寫碼區塊為PU之明度分量及色度分量。
在一些實例中,無需針對色度寫碼區塊重複關於明度寫碼區塊進行之操作。作為一個實例,無需重複識別明度寫碼區塊之運動向量(MV)及參考圖像的操作來識別色度區塊之MV及參考圖像 。實情為,明度寫碼區塊之MV可經按比例調整以判定色度區塊之MV,且參考圖像可為相同的。作為另一實例,框內預測程序可針對明度寫碼區塊及色度寫碼區塊為相同的。
圖8為說明可執行本發明之技術的實例視訊解碼器300之方塊圖。出於解釋之目的而提供圖8,且該圖並不限制如本發明中廣泛例示及描述之技術。出於解釋之目的,本發明在諸如HEVC視訊寫碼標準及研發中之H.266視訊寫碼標準(例如,VCC)的視訊寫碼標準之上下文中描述視訊解碼器300。然而,本發明之技術可由經組態以根據其他視訊寫碼標準操作的視訊寫碼設備執行。
在圖8之實例中,視訊解碼器300包括經寫碼圖像緩衝器(CPB)記憶體320、熵解碼單元302、預測處理單元304、反量化單元306、反變換處理單元308、重建構單元310、濾波器單元312及經解碼圖像緩衝器(DPB) 314。預測處理單元304包括運動補償單元316及框內預測單元318。預測處理單元304可包括根據其他預測模式執行預測之額外單元。作為實例,預測處理單元304可包括調色板單元、區塊內複製單元(其可形成運動補償單元316之部分)、仿射單元、線性模型(LM)單元或類似者。在其他實例中,視訊解碼器300可包括更多、更少或不同功能組件。
CPB記憶體320可儲存待由視訊解碼器300之組件解碼的視訊資料,諸如經編碼視訊位元串流。可(例如)自電腦可讀媒體110 (圖1)獲得存儲於CPB記憶體320中之視訊資料。CPB記憶體320可包括儲存來自經編碼視訊位元串流之經編碼視訊資料(例如,語法元素)的CPB。此外,記憶體320可儲存除經寫碼圖像之語法元素之外的視訊資料,諸如表示來自視訊解碼器300之各種單元之輸出的臨時資料。DPB 314通常儲存經解碼圖像,視訊解碼器300可在解碼經編碼視訊位元串流之後續資料或圖像時輸出該等經解碼圖像及/或將其用作參考視訊資料。CPB 記憶體320及DPB 314可由多種記憶體裝置中之任一者形成,諸如動態隨機存取記憶體(DRAM) (包括同步DRAM (SDRAM))、磁阻式RAM (MRAM)、電阻式RAM (RRAM)或其他類型之記憶體裝置。CPB記憶體320及DPB 314可藉由同一記憶體裝置或單獨記憶體裝置提供。在各種實例中,CPB 記憶體320可與視訊解碼器300之其他組件一起在晶片上,或相對於彼等組件在晶片外。
另外地或可替代地,在一些實例中,視訊解碼器300可自記憶體120 (圖1)擷取經寫碼視訊資料。亦即,記憶體120可利用CPB 記憶體320存儲如上文所論述之資料。同樣地,當視訊解碼器300之一些或所有功能性實施於軟體中以由視訊解碼器300之處理電路系統執行時,記憶體120可儲存待由視訊解碼器300執行之指令。
圖8中所示之各種單元經說明以輔助理解藉由視訊解碼器300執行之操作。該等單元可實施為固定功能電路、可程式化電路或其組合。類似於圖7,固定功能電路係指提供特定功能性且對可執行之操作進行預設的電路。可程式化電路係指可經程式化以執行各種任務並在可執行之操作中提供可撓功能性的電路。舉例而言,可程式化電路可執行使得可程式化電路以由軟體或韌體之指令定義的方式操作的軟體或韌體。固定功能電路可執行軟體指令(例如,以接收參數或輸出參數),但固定功能電路執行的操作之類型一般為不可變的。在一些實例中,單元中之一或多者可為不同電路區塊(固定功能或可程式化),且在一些實例中,一或多個單元可為積體電路。
視訊解碼器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、反整數變換、反Karhunen-Loeve變換(KLT)、反旋轉變換、反定向變換或另一反變換應用於係數區塊。
此外,預測處理單元304根據由熵解碼單元302熵解碼之預測資訊語法元素產生預測區塊。舉例而言,若預測資訊語法元素指示當前區塊經框間預測,則運動補償單元316可產生預測區塊。在此情況下,預測資訊語法元素可指示DPB 314中之參考圖像(自其擷取參考區塊),以及運動向量,其識別參考圖像中之參考區塊相對於當前圖像中之當前區塊之位置的位置。運動補償單元316可大體上以實質上類似於關於運動補償單元224所描述之方式的方式執行框間預測程序(圖7)。
運動補償單元316連同熵解碼單元302可經組態以執行本發明中所描述之實例技術。舉例而言,運動補償單元316可判定第一當前區塊係以三角模式分割。作為一個實例,熵解碼單元302可接收與用以判定指示分區方向之運動向量資訊之資訊分離的語法元素,且運動補償單元316可基於所接收語法元素判定第一當前區塊之分區方向。
運動補償單元316可建構包括當前區塊之一或多個相鄰區塊之運動向量資訊的第一運動向量預測子清單。舉例而言,運動補償單元316可建構包括雙向預測運動向量及單向預測運動向量兩者之初始運動向量預測子清單,且基於該初始運動向量預測子清單建構第一運動向量預測子清單。第一運動向量預測子清單可用於在合併模式、進階運動向量預測(AMVP)模式或仿射模式中之一者中寫碼的當前區塊。
熵解碼單元302可對第一值進行解碼以用於判定第一運動向量預測子清單中之第一索引值,且運動補償單元316可基於該第一索引值判定第一三角形預測區塊。舉例而言,運動補償單元316可基於第一索引值判定第一運動向量預測子清單中之第一運動向量資訊,基於第一運動向量資訊判定第一運動向量,且基於第一運動向量判定第一三角形預測區塊。
熵解碼單元302可對第二值進行解碼以用於判定第一運動向量預測子清單中之第二索引值。在此實例中,運動補償單元316可將第二值與第一值進行比較。基於第二值大於或等於第一值,運動補償單元316可將偏移(例如,1)添加至第二值以判定第二索引值。
運動補償單元316可基於第二索引值判定第二三角形預測區塊。舉例而言,運動補償單元316可基於第二索引值判定第一運動向量預測子清單中之第二運動向量資訊,基於第二運動向量資訊判定第二運動向量,且基於第二運動向量判定第二三角形預測區塊。
在以上實例中,熵解碼單元302可基於第一值之第一區間(例如,0至4)解碼第一值,且基於第二值之第二區間(例如,0至3)解碼第二值。第二區間可小於第一區間。
如更詳細地描述,重建構單元310可基於第一三角形預測區塊及第二三角形預測區塊重建構當前區塊。舉例而言,重建構單元310可將第一三角形預測區塊添加至第一殘餘資訊以重建構當前區塊之第一三角分區,且將第二三角形預測區塊添加至第二殘餘資訊以重建構當前區塊之第二三角分區。
在一些實例中,運動補償單元316可建構包括第二當前區塊之一或多個相鄰區塊之運動向量資訊的第二運動向量預測子清單。熵解碼單元302可對第三值進行解碼以用於判定第二運動向量預測子清單中之第三索引值。運動補償單元316可基於第三索引值判定第三三角形預測區塊。
熵解碼單元302可對第四值進行解碼以用於判定第二運動向量預測子清單中之第四索引值。在此實例中,運動補償單元316可將第四值與第三值進行比較。基於第四值小於第三值,運動補償單元316可將第四索引值設定為等於第四值。運動補償單元316可基於第四索引值判定第四三角形預測區塊,且重建構單元310可基於第三三角形預測區塊及第四三角形預測區塊重建構第二當前區塊。
作為另一實例,若預測資訊語法元素指示當前區塊經框內預測,則框內預測單元318可根據藉由預測資訊語法元素指示之框內預測模式來產生預測區塊。同樣,框內預測單元318可大體上以實質上類似於關於框內預測單元226 (圖7)所描述之方式的方式執行框內預測程序。框內預測單元318可將相鄰樣本之資料自DPB 314擷取至當前區塊。
重建構單元310可使用預測區塊及殘餘區塊重建構當前區塊。舉例而言,重建構單元310可將殘餘區塊之樣本添加至預測區塊之對應樣本以重建構當前區塊。
濾波器單元312可對經重建區塊執行一或多個濾波操作。舉例而言,濾波器單元312可執行解區塊操作以沿經重建構區塊之邊緣減少區塊效應假影。不一定在所有實例中執行濾波器單元312之操作。
視訊解碼器300可將經重建構區塊儲存於DPB 314中。舉例而言,在不執行濾波器單元312之操作的實例中,重建構單元310可將經重建構區塊儲存至DPB 314。在執行濾波器單元312之操作的實例中,濾波器單元312可將經濾波經重建構區塊儲存至DPB 314。如上文所論述,DPB 314可將參考資訊提供至預測處理單元304,諸如用於框內預測之當前圖像及用於後續運動補償之經先前解碼圖像的樣本。此外,視訊解碼器300可輸出來自DPB之經解碼圖像以用於隨後呈現於諸如圖1之顯示裝置118的顯示裝置上。
圖9為說明對視訊資料進行編碼之實例方法的流程圖。圖9之實例技術係關於處理電路描述。處理電路之一個實例係視訊編碼器200。
舉例而言,處理電路可判定當前區塊係以三角模式分割(900)。另外,處理電路可基於一或多個相鄰區塊之運動向量資訊建構運動向量預測子清單(902)。
處理電路可判定第一三角形預測區塊(904)。舉例而言,處理電路可將最接近當前區塊之第一分區的三角形預測區塊判定為第一三角形預測區塊。作為一個實例,第一三角形預測區塊可為運動向量預測子清單中之運動向量預測子指向的區塊。舉例而言,處理電路可基於第一三角形預測區塊判定運動向量預測子清單中之第一索引值(906)。處理電路可基於第一索引值傳信第一值(908)。舉例而言,處理電路可將第一值設定為等於第一索引值並傳信第一值。
處理電路可判定第二三角形預測區塊(910)。舉例而言,處理電路可將最接近當前區塊之第二分區的三角形預測區塊判定為第二三角形預測區塊。作為一個實例,第二三角形預測區塊可為運動向量預測子清單中之運動向量預測子指向的區塊。舉例而言,處理電路可基於第二三角形預測區塊判定運動向量預測子清單中之第二索引值(912)。
在一或多個實例中,處理電路可判定第二索引值是否大於第一索引值(914)。基於第二索引值大於第一索引值(914之是),處理電路可自第二索引值減去一偏移以產生第二值(916)。基於第二索引值不大於第一索引值(914之否),處理電路可將第二值設定為等於第二索引值(918)。處理電路可傳信第二值(920)。
圖10為說明對視訊資料進行解碼之實例方法的流程圖。圖10之實例技術係關於處理電路描述。處理電路之一個實例為視訊解碼器300。
舉例而言,處理電路可判定當前區塊係以三角模式分割(1000)。另外,處理電路可基於一或多個相鄰區塊之運動向量資訊建構運動向量預測子清單(1002)。
處理電路可對第一值進行解碼以用於判定運動向量預測子清單中之第一索引值(1004),且可基於第一索引值判定第一三角形預測區塊(1006)。舉例而言,處理電路可基於第一索引值判定運動向量預測子清單中之第一運動向量資訊,基於第一運動向量資訊判定第一運動向量,且基於第一運動向量判定第一三角形預測區塊。
處理電路可對第二值進行解碼以用於判定運動向量預測子清單中之第二索引值(1008)。處理電路可將第二值與第一值進行比較(1010)。基於第二值大於或等於第一值(1010之是),處理電路可將偏移(例如,1)添加至第二值以判定第二索引值(1012)。基於第二值不大於或等於第一值(1010之否),處理電路可將第二索引值設定為等於第二值(1014)。
處理電路可基於第二索引值判定第二三角形預測區塊(1016)。舉例而言,處理電路可基於第二索引值判定運動向量預測子清單中之第二運動向量資訊,基於第二運動向量資訊判定第二運動向量,並基於第二運動向量判定第二三角形預測區塊。
處理電路可基於第一三角形預測區塊及第二三角形預測區塊重建構當前區塊(1018)。舉例而言,處理電路可接收當前區塊之第一三角分區的第一殘餘資訊,且可將該第一殘餘資訊添加至第一三角形預測區塊以重建構當前區塊之第一三角分區。處理電路可接收第二三角形分區之第二殘餘資訊,且可將該第二殘餘資訊添加至第二三角形預測區塊以重建構當前區塊之第二三角分區。
將認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同次序執行、可經添加、合併或完全省去(例如並非全部所描述動作或事件均為實踐該等技術所必要)。此外,在某些實例中,可(例如)經由多執行緒處理、中斷處理或多個處理器同時而非依序進行動作或事件。
在一或多個實例中,所描述之功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括例如根據通信協定來促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體上可對應於(1)非暫時性有形電腦可讀儲存媒體或(2)通信媒體,諸如信號或載波。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取指令、程式碼及/或資料結構以用於實施本發明所描述之技術的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
以實例說明而非限制,此等電腦可讀儲存媒體可包括以下中之一或多者:RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存裝置、快閃記憶體或可用以儲存呈指令或資料結構形式之所要程式碼且可藉由電腦存取的任何其他媒體。而且,任何連接被恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上之組合亦應包括於電腦可讀媒體之範疇內。
指令可由一或多個處理器執行,諸如一或多個DSP、通用微處理器、ASIC、FPGA或其他等效積體或離散邏輯電路。因此,如本文所用之術語「處理器」可指前述結構或適用於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文所描述之功能性可經提供於經組態以供編碼及解碼或併入於經組合編碼解碼器中之專用硬體及/或軟體模組內。又,可在一或多個電路或邏輯元件中充分實施該等技術。
可以多種裝置或設備實施本發明之技術,該等裝置或設備包括無線手機、積體電路(IC)或IC之集合(例如,晶片集合)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之裝置的功能態樣,但未必要求由不同硬體單元來實現。實情為,如上文所描述,各種單元可與合適的軟體及/或韌體一起組合於編碼解碼器硬體單元中或由互操作性硬體單元之集合提供,該等互操作性硬件單元包括如上文所描述之一或多個處理器。
各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。
100:視訊編碼及解碼系統
102:源裝置
104:視訊源
106:記憶體
108:輸出介面
110:電腦可讀媒體
112:儲存裝置
114:檔案伺服器
116:目的地裝置
118:顯示裝置
120:記憶體
122:輸入介面
124:PU1
126:PU2
128:PU1
130:PU2
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)記憶體
400:當前區塊
402A:三角分區
402B:三角分區
606A:子區塊
606B:子區塊
602:區塊
604:區塊
608A:子區塊
608B:子區塊
900:步驟
902:步驟
904:步驟
906:步驟
908:步驟
910:步驟
912:步驟
914:步驟
916:步驟
918:步驟
920:步驟
1000:步驟
1002:步驟
1004:步驟
1006:步驟
1008:步驟
1010:步驟
1012:步驟
1014:步驟
1016:步驟
1018:步驟
圖1為說明可執行本發明之技術的實例視訊編碼及解碼系統的方塊圖。
圖2A及圖2B為說明三角形預測單元(PU)之實例的概念圖。
圖3A及圖3B為說明用於三角形預測單元(PU)之運動資訊之組合映射的實例表。
圖4為說明判定運動資訊之實例的概念圖。
圖5為說明運動向量(MV)組合之實例程序的流程圖。
圖6A及圖6B為說明用於三角形PU模式之子區塊的概念圖。
圖7為說明可執行本發明之技術的實例視訊編碼器的方塊圖。
圖8為說明可執行本發明之技術的實例視訊解碼器的方塊圖。
圖9為說明對視訊資料進行編碼之實例方法的流程圖。
圖10為說明對視訊資料進行解碼之實例方法的流程圖。
1000:步驟
1002:步驟
1004:步驟
1006:步驟
1008:步驟
1010:步驟
1012:步驟
1014:步驟
1016:步驟
1018:步驟
Claims (23)
- 一種對視訊資料進行解碼之方法,該方法包含:判定一當前區塊係以一三角模式分割;建構包括該當前區塊之一或多個相鄰區塊之運動向量資訊的一運動向量預測子清單;對一第一值進行解碼以用於判定該運動向量預測子清單中之一第一索引值;基於該第一索引值判定一第一三角形預測區塊;對一第二值進行解碼以用於判定該運動向量預測子清單中之一第二索引值;基於該第二值判定該第二索引值,其中判定該第二索引值包含基於該第二值大於或等於該第一值而添加一偏移至該第二值以判定該第二索引值,其中該偏移為1;基於該第二索引值判定一第二三角形預測區塊;及基於該第一三角形預測區塊及該第二三角形預測區塊重建構該當前區塊。
- 如請求項1之方法,其進一步包含:基於分別自該第一值及該第二值接收之一語法元素而判定該當前區塊之一分區方向。
- 如請求項1之方法,其中該當前區塊包含一第一當前區塊,且其中該 運動向量預測子清單包含一第一運動向量預測子清單,該方法進一步包含:建構包括一第二當前區塊之一或多個相鄰區塊之運動向量資訊的一第二運動向量預測子清單;對一第三值進行解碼以用於判定該第二運動向量預測子清單中之一第三索引值;基於該第三索引值判定一第三三角形預測區塊;對一第四值進行解碼以用於判定該第二運動向量預測子清單中之一第四索引值;基於該第四值判定該第四索引值,其中判定該第四索引值包含基於該第四值小於該第三值而將該第四索引值設定為等於該第四值;基於該第四索引值判定一第四三角形預測區塊;及基於該第三三角形預測區塊及該第四三角形預測區塊重建構該第二當前區塊。
- 如請求項1之方法,其中對該第一值進行解碼包含基於該第一值之一第一區間對該第一值進行解碼,其中對該第二值進行解碼包含基於該第二值之一第二區間對該第二值進行解碼,且其中該第二區間小於該第一區間。
- 如請求項1之方法,其中建構該運動向量預測子清單包含:建構包括雙向預測運動向量及單向預測運動向量兩者之一初始運動向量預測子清單;及 基於該初始運動向量預測子清單建構該運動向量預測子清單。
- 如請求項1之方法,其中建構該運動向量預測子清單包含建構用於在合併模式、進階運動向量預測(AMVP)模式或仿射模式中之一者中寫碼的當前區塊之該運動向量預測子清單。
- 如請求項1之方法,其中基於該第一索引值判定該第一三角形預測區塊包含:基於該第一索引值判定該運動向量預測子清單中之第一運動向量資訊;基於該第一運動向量資訊判定一第一運動向量;及基於該第一運動向量判定該第一三角形預測區塊,其中基於該第二索引值判定該第二三角形預測區塊包含:基於該第二索引值判定該運動向量預測子清單中之第二運動向量資訊;基於該第二運動向量資訊判定一第二運動向量;及基於該第二運動向量判定該第二三角形預測區塊。
- 一種用於對視訊資料進行解碼之裝置,該裝置包括:記憶體,其經組態以儲存包括一當前區塊之一或多個相鄰區塊之運動向量資訊的一運動向量預測子清單;及處理電路,其經組態以:判定該當前區塊係以一三角模式分割; 建構該運動向量預測子清單以供儲存於該記憶體中,該運動向量預測子清單包括該當前區塊之該一或多個相鄰區塊之該運動向量資訊;對一第一值進行解碼以用於判定該運動向量預測子清單中之一第一索引值;基於該第一索引值判定一第一三角形預測區塊;對一第二值進行解碼以用於判定該運動向量預測子清單中之一第二索引值;基於該第二值判定該第二索引值,其中為判定該第二索引值,該處理電路經組態以基於該第二值大於或等於該第一值而將一偏移添加至該第二值以判定該第二索引值,其中該偏移為1;基於該第二索引值判定一第二三角形預測區塊;及基於該第一三角形預測區塊及該第二三角形預測區塊重建構該當前區塊。
- 如請求項8之裝置,其中該處理電路經組態以:基於分別自該第一值及該第二值接收之一語法元素判定該當前區塊之一分區方向。
- 如請求項8之裝置,其中該當前區塊包含一第一當前區塊,其中該運動向量預測子清單包含一第一運動向量預測子清單,且其中該處理電路經組態以:建構包括一第二當前區塊之一或多個相鄰區塊之運動向量資訊的一 第二運動向量預測子清單;對一第三值進行解碼以用於判定該第二運動向量預測子清單中之一第三索引值;基於該第三索引值判定一第三三角形預測區塊;對一第四值進行解碼以用於判定該第二運動向量預測子清單中之一第四索引值;基於該第四值判定該第四索引值,其中為判定該第四索引值,該處理電路經組態以基於該第四值小於該第三值而將該第四索引值設定為等於該第四值;基於該第四索引值判定一第四三角形預測區塊;及基於該第三三角形預測區塊及該第四三角形預測區塊重建構該第二當前區塊。
- 如請求項8之裝置,其中為了對該第一值進行解碼,該處理電路經組態以基於該第一值之一第一區間對該第一值進行解碼,其中為了對該第二值進行解碼,該處理電路經組態以基於該第二值之一第二區間對該第二值進行解碼,且其中該第二區間小於該第一區間。
- 如請求項8之裝置,其中為了建構該運動向量預測子清單,該處理電路經組態以:建構包括雙向預測運動向量及單向預測運動向量兩者之一初始運動向量預測子清單;及基於該初始運動向量預測子清單建構該運動向量預測子清單。
- 如請求項8之裝置,其中為了建構該運動向量預測子清單,該處理電路經組態以建構在合併模式、進階運動向量預測(AMVP)模式或仿射模式中之一者中寫碼的當前區塊之該運動向量預測子清單。
- 如請求項8之裝置,其中為了基於該第一索引值判定該第一三角形預測區塊,該處理電路經組態以:基於該第一索引值判定該運動向量預測子清單中之第一運動向量資訊;基於該第一運動向量資訊判定一第一運動向量;及基於該第一運動向量判定該第一三角形預測區塊,其中為了基於該第二索引值判定該第二三角形預測區塊,該處理電路經組態以:基於該第二索引值判定該運動向量預測子清單中之第二運動向量資訊;基於該第二運動向量資訊判定一第二運動向量;及基於該第二運動向量判定該第二三角形預測區塊。
- 如請求項8之裝置,其中該裝置包含一無線通信裝置。
- 一種對視訊資料進行編碼之方法,該方法包含:判定一當前區塊係以一三角模式分割; 建構包括該當前區塊之一或多個相鄰區塊之運動向量資訊的一運動向量預測子清單;判定一第一三角形預測區塊;基於該經判定之第一三角形預測區塊判定該運動向量預測子清單中之一第一索引值;基於該第一索引值傳信一第一值;判定一第二三角形預測區塊;基於該經判定之第二三角形預測區塊判定該運動向量預測子清單中之一第二索引值;及基於該第二索引值傳信一第二值,其中傳信該第二值包含基於該第二索引值大於該第一索引值,自該第二索引值減去一偏移以產生該第二值。
- 如請求項16之方法,其中該偏移為1。
- 如請求項16之方法,其進一步包含:基於與該第一值及該第二值分離之一語法元素而傳信該當前區塊之一分區方向。
- 如請求項16之方法,其中該當前區塊包含一第一當前區塊,且其中該運動向量預測子清單包含一第一運動向量預測子清單,該方法進一步包含:建構包括一第二當前區塊之一或多個相鄰區塊之運動向量資訊的一 第二運動向量預測子清單;判定一第三三角形預測區塊;基於該經判定之第三三角形預測區塊判定該第二運動向量預測子清單中之一第三索引值;基於該第三索引值傳信一第三值;判定一第四三角形預測區塊;基於該經判定之第四三角形預測區塊判定該第二運動向量預測子清單中之一第四索引值;及基於該第四索引值傳信一第四值,其中傳信該第四值包含基於該第四索引值小於該第三索引值而傳信該第四值作為該第四索引值。
- 一種用於對視訊資料進行編碼之裝置,該裝置包含:記憶體,其經組態以儲存包括一當前區塊之一或多個相鄰區塊之運動向量資訊的一運動向量預測子清單;及處理電路,其經組態以:判定該當前區塊係以一三角模式分割;建構該運動向量預測子清單以供儲存於該記憶體中,該運動向量預測子清單包括該當前區塊之該一或多個相鄰區塊之該運動向量資訊;判定一第一三角形預測區塊;基於該經判定之第一三角形預測區塊判定該運動向量預測子清單中之一第一索引值;基於該第一索引值傳信一第一值; 判定一第二三角形預測區塊;基於該經判定之第二三角形預測區塊判定該運動向量預測子清單中之一第二索引值;及基於該第二索引值而傳信一第二值,其中為傳信該第二值,該處理電路經組態以基於該第二索引值大於該第一索引值而自該第二索引值減去一偏移以產生該第二值。
- 如請求項20之裝置,其中該偏移為1。
- 如請求項20之裝置,其中該處理電路經組態以:基於與該第一值及該第二值分離之一語法元素傳信該當前區塊之一分區方向。
- 如請求項20之裝置,其中該當前區塊包含一第一當前區塊,其中該運動向量預測子清單包含一第一運動向量預測子清單,且其中該處理電路經組態以:建構包括一第二當前區塊之一或多個相鄰區塊之運動向量資訊的一第二運動向量預測子清單;判定一第三三角形預測區塊;基於該經判定之第三三角形預測區塊判定該第二運動向量預測子清單中之一第三索引值;基於該第三索引值傳信一第三值;判定一第四三角形預測區塊; 基於該經判定之第四三角形預測區塊判定該第二運動向量預測子清單中之一第四索引值;及基於該第四索引值傳信一第四值,其中為傳信該第四值,該處理電路經組態以基於該第四索引值小於該第三索引值,傳信該第四值作為該第四索引值。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862775802P | 2018-12-05 | 2018-12-05 | |
| US62/775,802 | 2018-12-05 | ||
| US16/703,495 US10778977B2 (en) | 2018-12-05 | 2019-12-04 | Triangle motion information for video coding |
| US16/703,495 | 2019-12-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202038611A TW202038611A (zh) | 2020-10-16 |
| TWI846773B true TWI846773B (zh) | 2024-07-01 |
Family
ID=70972643
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108144577A TWI846773B (zh) | 2018-12-05 | 2019-12-05 | 用於視訊寫碼之三角運動資訊 |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US10778977B2 (zh) |
| EP (1) | EP3891993A1 (zh) |
| JP (1) | JP2022510297A (zh) |
| KR (1) | KR20210093926A (zh) |
| CN (1) | CN113475081B (zh) |
| BR (1) | BR112021009721A2 (zh) |
| SG (1) | SG11202104363XA (zh) |
| TW (1) | TWI846773B (zh) |
| WO (1) | WO2020118064A1 (zh) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3876539B1 (en) | 2018-11-08 | 2023-12-27 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for encoding/decoding image signal, and apparatus therefor |
| WO2020096428A1 (ko) * | 2018-11-08 | 2020-05-14 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
| KR102638710B1 (ko) * | 2018-11-22 | 2024-02-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인터 예측을 위한 인코더, 디코더 및 대응 방법 |
| US10893298B2 (en) * | 2018-12-12 | 2021-01-12 | Tencent America LLC | Method and apparatus for video coding |
| CN119676438A (zh) * | 2018-12-18 | 2025-03-21 | 韩国电子通信研究院 | 图像编码/解码方法和设备以及存储比特流的记录介质 |
| GB2580084B (en) * | 2018-12-20 | 2022-12-28 | Canon Kk | Video coding and decoding |
| CN113852815B (zh) * | 2018-12-25 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 利用三角形形状预测单元的视频编码方法、设备及介质 |
| US11470329B2 (en) * | 2018-12-26 | 2022-10-11 | Tencent America LLC | Method and apparatus for video coding |
| CN119211577A (zh) * | 2018-12-29 | 2024-12-27 | 交互数字Vc控股公司 | 基于历史的运动向量预测 |
| KR20240049623A (ko) | 2018-12-30 | 2024-04-16 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 삼각형 예측을 위한 비디오 코딩 방법 및 장치 |
| CN113557739B (zh) * | 2019-03-08 | 2023-07-11 | 知识产权之桥一号有限责任公司 | 图像编码装置、图像编码方法以及图像编码程序、图像解码装置、图像解码方法以及图像解码程序 |
| AR118250A1 (es) * | 2019-03-08 | 2021-09-22 | Jvckenwood Corp | Dispositivos, métodos y programas de codificación y decodificación de imágenes en movimiento |
| MX2021003465A (es) * | 2019-03-08 | 2021-06-18 | Jvckenwood Corp | Dispositivo de codificacion de video, metodo de codificacion de video, programa de codificacion de video, dispositivo de decodificacion de video, metodo de decodificacion de video y programa de decodificacion de video. |
| US11616966B2 (en) * | 2019-04-03 | 2023-03-28 | Mediatek Inc. | Interaction between core transform and secondary transform |
| CN112135144B (zh) * | 2019-06-24 | 2022-11-01 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
| US11412221B2 (en) * | 2019-06-24 | 2022-08-09 | Alibaba Group Holding Limited | Method and apparatus for motion field storage in triangle partition mode and geometric partition mode |
| KR102811985B1 (ko) * | 2019-06-24 | 2025-05-23 | 샤프 가부시키가이샤 | 비디오 데이터를 코딩하기 위한 디바이스 및 방법 |
| WO2021034122A1 (ko) * | 2019-08-21 | 2021-02-25 | 엘지전자 주식회사 | Hmvp 후보에 기반하여 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
| US11496755B2 (en) * | 2019-12-28 | 2022-11-08 | Tencent America LLC | Method and apparatus for video coding |
| KR20230157507A (ko) * | 2021-04-09 | 2023-11-16 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 명시적 모션 시그널링을 갖는 기하학적 파티션 모드 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201711472A (zh) * | 2015-06-11 | 2017-03-16 | 高通公司 | 使用空間及/或時間運動資訊之子預測單元運動向量預測 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE9002647L (sv) | 1990-08-15 | 1991-09-02 | Televerket | Metod foer roerelsekompensering och elastisk deformation i bildsekvenser |
| US9083983B2 (en) * | 2011-10-04 | 2015-07-14 | Qualcomm Incorporated | Motion vector predictor candidate clipping removal for video coding |
| WO2013069932A1 (ko) * | 2011-11-08 | 2013-05-16 | 주식회사 케이티 | 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치 |
| US20130329007A1 (en) * | 2012-06-06 | 2013-12-12 | Qualcomm Incorporated | Redundancy removal for advanced motion vector prediction (amvp) in three-dimensional (3d) video coding |
| US9699450B2 (en) * | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
| US9357214B2 (en) * | 2012-12-07 | 2016-05-31 | Qualcomm Incorporated | Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video |
| US9509999B2 (en) * | 2013-06-11 | 2016-11-29 | Qualcomm Incorporated | Inter-layer prediction types in multi-layer video coding |
| US10958927B2 (en) * | 2015-03-27 | 2021-03-23 | Qualcomm Incorporated | Motion information derivation mode determination in video coding |
| US10200713B2 (en) * | 2015-05-11 | 2019-02-05 | Qualcomm Incorporated | Search region determination for inter coding within a particular picture of video data |
| CN104935938B (zh) * | 2015-07-15 | 2018-03-30 | 哈尔滨工业大学 | 一种混合视频编码标准中帧间预测方法 |
| US10368083B2 (en) * | 2016-02-15 | 2019-07-30 | Qualcomm Incorporated | Picture order count based motion vector pruning |
| KR20190015216A (ko) | 2016-05-05 | 2019-02-13 | 브이아이디 스케일, 인크. | 인트라 코딩을 위한 제어 포인트 기반의 인트라 방향 표현 |
| EP4432662A3 (en) | 2016-10-04 | 2024-11-20 | B1 Institute of Image Technology, Inc. | Image data encoding/decoding method and apparatus |
| MX2020001886A (es) | 2017-08-22 | 2020-03-24 | Panasonic Ip Corp America | Codificador de imagen, descodificador de imagen, metodo de codificacion de imagen y metodo de descodificacion de imagen. |
| US10863175B2 (en) | 2018-03-01 | 2020-12-08 | Panasonic Intellectual Property Corporation Of America | Encoder, and decoder, encoding method, decoding method |
| US10771781B2 (en) | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
| US11477474B2 (en) * | 2018-06-08 | 2022-10-18 | Mediatek Inc. | Methods and apparatus for multi-hypothesis mode reference and constraints |
| US11051036B2 (en) * | 2018-07-14 | 2021-06-29 | Mediatek Inc. | Method and apparatus of constrained overlapped block motion compensation in video coding |
| KR20250117463A (ko) * | 2018-07-17 | 2025-08-04 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 비디오 코딩을 위한 움직임 벡터 예측 |
| US11284066B2 (en) * | 2018-10-10 | 2022-03-22 | Tencent America LLC | Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode |
| WO2020086317A1 (en) * | 2018-10-23 | 2020-04-30 | Tencent America Llc. | Method and apparatus for video coding |
| EP3876539B1 (en) * | 2018-11-08 | 2023-12-27 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for encoding/decoding image signal, and apparatus therefor |
| KR102638710B1 (ko) * | 2018-11-22 | 2024-02-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 인터 예측을 위한 인코더, 디코더 및 대응 방법 |
| US10893298B2 (en) * | 2018-12-12 | 2021-01-12 | Tencent America LLC | Method and apparatus for video coding |
-
2019
- 2019-12-04 US US16/703,495 patent/US10778977B2/en active Active
- 2019-12-05 JP JP2021531001A patent/JP2022510297A/ja active Pending
- 2019-12-05 BR BR112021009721-0A patent/BR112021009721A2/pt unknown
- 2019-12-05 SG SG11202104363XA patent/SG11202104363XA/en unknown
- 2019-12-05 WO PCT/US2019/064698 patent/WO2020118064A1/en not_active Ceased
- 2019-12-05 TW TW108144577A patent/TWI846773B/zh active
- 2019-12-05 CN CN201980078553.XA patent/CN113475081B/zh active Active
- 2019-12-05 EP EP19828128.9A patent/EP3891993A1/en active Pending
- 2019-12-05 KR KR1020217016646A patent/KR20210093926A/ko active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW201711472A (zh) * | 2015-06-11 | 2017-03-16 | 高通公司 | 使用空間及/或時間運動資訊之子預測單元運動向量預測 |
Non-Patent Citations (1)
| Title |
|---|
| 網路文獻 Ru-Ling Liao et.al CE10.3.1.b: Triangular prediction unit mode Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN 03–12 Oct. 2018 https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L0124-v5.zip * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200186799A1 (en) | 2020-06-11 |
| US10778977B2 (en) | 2020-09-15 |
| CN113475081A (zh) | 2021-10-01 |
| SG11202104363XA (en) | 2021-06-29 |
| JP2022510297A (ja) | 2022-01-26 |
| KR20210093926A (ko) | 2021-07-28 |
| TW202038611A (zh) | 2020-10-16 |
| EP3891993A1 (en) | 2021-10-13 |
| BR112021009721A2 (pt) | 2021-08-17 |
| CN113475081B (zh) | 2024-04-19 |
| WO2020118064A1 (en) | 2020-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI846773B (zh) | 用於視訊寫碼之三角運動資訊 | |
| TWI843809B (zh) | 用於視訊寫碼中具有運動向量差之合併模式之信令傳輸 | |
| US11212550B2 (en) | History-based motion vector prediction for affine mode | |
| US10944984B2 (en) | Affine motion prediction | |
| TWI889023B (zh) | 視訊寫碼中之三角合併模式索引之發信 | |
| US11381819B2 (en) | Chroma delta quantization parameter (QP) in video coding | |
| TWI853918B (zh) | 用於視訊寫碼之區塊內複製合併資料語法 | |
| US10958928B2 (en) | Decoder-side motion vector derivation for video coding | |
| US20180205946A1 (en) | Coding video data using derived chroma mode | |
| US10958932B2 (en) | Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks | |
| TWI877168B (zh) | 使用非矩形預測模式減少視訊資料之預測之運動場儲存 | |
| US10897617B2 (en) | Rounding of motion vectors for adaptive motion vector difference resolution and increased motion vector storage precision in video coding | |
| JP2022538061A (ja) | ビデオコーディングのための組み合わされたインターおよびイントラ予測モード | |
| US11064192B2 (en) | Simplification of spatial-temporal motion vector prediction | |
| US11418793B2 (en) | Adaptive affine motion vector coding | |
| US10958900B2 (en) | Derivation of spatial-temporal motion vectors prediction in video coding | |
| US20190320181A1 (en) | Generation of motion vector predictors from multiple neighboring blocks in video coding | |
| TWI865705B (zh) | 用於合併估計區域的基於歷史的運動向量預測約束 | |
| US20200112717A1 (en) | Intra block copy prediction restrictions in video coding | |
| TW202038613A (zh) | 在視訊寫碼中用於平行處理之處理區域之推導 | |
| US11528504B2 (en) | Motion vector prediction with motion information collecting buffer | |
| US20200267415A1 (en) | Chroma deblocking filter for intra block copy mode for video coding | |
| HK40055978A (zh) | 用於视频译码的三角形运动信息 | |
| HK40055978B (zh) | 用於视频译码的三角形运动信息 |