TW202046721A - 用於視訊寫碼之以梯度為基礎的預測細化 - Google Patents
用於視訊寫碼之以梯度為基礎的預測細化 Download PDFInfo
- Publication number
- TW202046721A TW202046721A TW109111388A TW109111388A TW202046721A TW 202046721 A TW202046721 A TW 202046721A TW 109111388 A TW109111388 A TW 109111388A TW 109111388 A TW109111388 A TW 109111388A TW 202046721 A TW202046721 A TW 202046721A
- Authority
- TW
- Taiwan
- Prior art keywords
- prediction
- block
- horizontal
- samples
- prediction block
- 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/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/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/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or 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
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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)、ITU-T H.265/高效視訊寫碼(HEVC)定義之標準及此類標準的擴展中所描述之技術。視訊器件可藉由實施此類視訊寫碼技術而更有效地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊寫碼技術包括空間(圖像內)預測及/或時間(圖像間)預測以減少或移除為視訊序列所固有的冗餘。對於以區塊為基礎的視訊寫碼,可將視訊圖塊(例如,視訊圖像或視訊圖像的一部分)分割成視訊區塊,該等視訊區塊亦可稱作寫碼樹單元(CTU)、寫碼單元(CU)及/或寫碼節點。使用相對於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼圖像之經框內寫碼(I)圖塊中之視訊區塊。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用相對於同一圖像中之相鄰區塊中的參考樣本的空間預測或相對於其他參考圖像中之參考樣本的時間預測。圖像可稱作圖框,且參考圖像可稱作參考圖框。
一般而言,本發明描述用於以梯度為基礎的預測細化的技術。視訊寫碼器(例如,視訊編碼器或視訊解碼器)判定用於框間預測當前區塊之一或多個預測區塊(例如,基於該當前區塊之一或多個運動向量)。在以梯度為基礎的預測細化中,該視訊寫碼器基於各種因素,諸如水平方向上的位移、水平梯度、豎直方向上的位移及豎直梯度來修改該預測區塊之一或多個樣本。
舉例而言,運動向量識別該預測區塊。該水平方向上之該位移(亦稱作水平位移)係指該運動向量之x座標中之變化(例如,增量),且該豎直方向上之該位移(亦稱作豎直位移)係指y座標中之變化(例如,增量)。該水平梯度係指將濾波器應用於該預測區塊中之第一樣本集合之結果,且該豎直梯度係指將該濾波器應用於該預測區塊中之第二樣本集合之結果。
本發明中所描述之實例技術提供以梯度為基礎的預測細化,其中該位移(例如,該水平位移或該豎直位移中之至少一者)之精確度層級對於不同預測模式為統一(例如,相同)的。舉例而言,對於第一預測模式(例如,仿射模式),該等運動向量可處於第一精確度層級,且對於第二預測模式(例如,雙向光流(BDOF)),該等運動向量可處於第二精確度層級。因此,用於仿射模式之該等運動向量與用於BDOF之運動向量的該等豎直及水平位移可為不同的。在本發明中,該視訊寫碼器可經組態以捨入(例如,捨進或捨去)該等運動向量之該等豎直及水平位移,使得該等位移之該精確度層級為相同的(例如,仿射模式及BDOF之該等豎直及水平位移具有相同精確度層級),而不管該預測模式為何。
藉由捨入該位移之該精確度層級,該等實例技術可改良該視訊寫碼器之總體操作。舉例而言,以梯度為基礎的預測細化涉及乘法及移位運算。若該等位移之該等精確度層級對於不同模式為不同的,則可能需要不同邏輯電路系統以支援該等不同精確度層級(例如,經組態用於一個精確度層級之邏輯電路系統可能不適用於其他精確度層級)。由於該等位移之該等精確度層級對於該等不同模式為相同的,因此可對該等區塊重複使用相同邏輯電路系統,從而得到更小總邏輯電路系統及因不需為未使用的邏輯電路系統供電而減小的功耗。
在一些實例中,判定該位移之該等技術可能係基於該視訊解碼器處的已可用資訊。舉例而言,該視訊解碼器判定該水平或豎直位移之方式可能係基於可供該視訊解碼器用來根據該框間預測模式對該當前區塊進行框間預測之資訊。此外,可能存在對於某些區塊類型(例如,基於大小)為禁用的某些框間預測模式。在一些實例中,對於某些區塊類型為禁用的此等框間預測模式可經啟用用於此等區塊類型,但可使用本發明中所描述之實例技術來修改用於此類區塊之該等預測區塊。
在一個實例中,本發明描述一種解碼視訊資料之方法,該方法包含:判定用於框間預測一當前區塊之一預測區塊,判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移,將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級,基於經捨入的水平及豎直位移來判定一或多個細化偏移,基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊,及基於該經修改預測區塊來重建構該當前區塊。
在一個實例中,本發明描述一種編碼視訊資料之方法,該方法包含:判定用於框間預測一當前區塊之一預測區塊,判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移,將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級,基於經捨入的水平及豎直位移來判定一或多個細化偏移,基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊,判定指示該當前區塊與該經修改預測區塊之間的一差的殘餘值,及傳信指示該等殘餘值之資訊。
在一個實例中,本發明描述一種用於寫碼視訊資料之器件,該器件包含:一記憶體,其經組態以儲存一預測區塊之一或多個樣本;及處理電路系統。該處理電路系統經組態以:判定用於框間預測一當前區塊之該預測區塊,判定用於該預測區塊之該一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移,將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級,基於經捨入的水平及豎直位移來判定一或多個細化偏移,基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊,及基於該經修改預測區塊來寫碼該當前區塊。
在一個實例中,本發明描述一種在其上儲存指令的電腦可讀儲存媒體,該等指令在經執行時使得一或多個處理器:判定用於框間預測一當前區塊之一預測區塊,判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移,將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級,基於經捨入的水平及豎直位移來判定一或多個細化偏移,基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊,及基於該經修改預測區塊來寫碼該當前區塊。
在一個實例中,本發明描述一種用於寫碼視訊資料之器件,該器件包含:用於判定用於框間預測一當前區塊的一預測區塊之構件,用於判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移之構件,用於將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級之構件,用於基於經捨入的水平及豎直位移來判定一或多個細化偏移之構件,用於基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊之構件,及用於基於該經修改預測區塊來寫碼該當前區塊之構件。
在隨附圖式及以下描述中闡述一或多個實例之細節。其他特徵、目標及優點將自描述、圖式及申請專利範圍而顯而易見。
本申請案主張2019年4月1日遞交的美國臨時申請案62/827,677及2019年4月23日遞交的美國臨時申請案62/837,405之權益,該等申請案中之每一者之全部內容特此以引用之方式併入。
本發明係關於以梯度為基礎的預測細化。在以梯度為基礎的預測細化中,視訊寫碼器(例如,視訊編碼器或視訊解碼器)基於作為框間預測之部分的運動向量判定用於當前區塊之預測區塊,並修改(例如,細化)預測區塊之樣本以產生經修改預測樣本(例如,經細化預測樣本)。視訊編碼器信號殘餘值指示經修改預測樣本與當前區塊之間的差。視訊解碼器進行與視訊編碼器所進行的操作相同的操作以修改預測區塊之樣本以產生經修改預測樣本。視訊解碼器將殘餘值添加至經修改預測樣本以重建構當前區塊。
修改預測區塊之樣本之一種實例方式為視訊寫碼器判定一或多個細化偏移並將預測區塊之樣本添加至細化偏移。產生細化偏移之一種實例方式係基於梯度及運動向量位移。可根據應用於預測區塊之樣本之梯度濾波器來判定梯度。
運動向量位移之實例包括對運動向量之水平位移及對運動向量之豎直位移。水平位移可為添加至運動向量之x座標或自運動向量之x座標減去的值,且豎直位移可為添加至運動向量之y座標或自運動向量之y座標減去的值。舉例而言,水平位移可稱為Δvx
,其中vx
為運動向量之x座標,且豎直位移可稱為Δvy
,其中vy
為運動向量之y座標。
當前區塊之運動向量的精確度層級對於不同框間預測模式可為不同的。舉例而言,運動向量之座標(例如,x或y座標)包括整數部分且可包括小數部分。小數部分稱為運動向量之子圖素部分,此係因為運動向量之整數部分識別包括預測區塊之參考圖像中之實際像素,且運動向量之子圖素部分調節運動向量以識別參考圖像中之像素之間的方位。
運動向量之精確度層級係基於運動向量之子圖素部分且指示運動向量自參考圖像中之實際像素的移動之粒度。作為一實例,若x座標之子圖素部分為0.5,則運動向量為參考圖像中之兩個水平像素之間的一半。若x座標之子圖素部分為0.25,則運動向量為兩個水平像素之間的距離的四分之一,等等。在此等實例中,運動向量之精確度層級可等於子圖素部分(例如,精確度層級為0.5、0.25等等)。
在一些實例中,水平及豎直位移之精確度層級可基於運動向量之精確度層級或產生運動向量之方式。舉例而言,在一些實例中,諸如為框間預測模式形式之合併模式,運動向量之x及y座標的子圖素部分可分別為水平及豎直位移。作為另一實例,諸如為框間預測形式之仿射模式,運動向量可基於角點運動向量,且可基於角點運動向量來判定水平及豎直位移。
水平及豎直位移之精確度層級對於不同框間預測模式可為不同的。舉例而言,相較於其他框間預測模式(例如,精確度層級對於第二預測模式為1/16),對於一些框間預測模式,水平及豎直位移可能更精確(例如,精確度層級對於第一預測模式為1/128)。
在實施中,視訊寫碼器可能需要包括不同邏輯電路系統以處置不同精確度層級。進行以梯度為基礎的預測細化包括乘法、移位運算、加法及其他算術運算。經組態用於水平或豎直位移之一個精確度層級的邏輯電路系統可能不能夠處理更高精確度層級之水平及豎直位移。因此,一些視訊寫碼器包括用於針對水平及豎直位移具有第一精確度層級的一種框間預測模式進行以梯度為基礎的預測細化的一個邏輯電路系統集合,及用於針對水平及豎直位移具有第二精確度層級的另一框間預測模式進行以梯度為基礎的預測細化的不同的邏輯電路系統集合。
然而,具有用於針對不同框間預測模式進行以梯度為基礎的預測細化之不同邏輯電路系統引起增大視訊寫碼器之大小的額外邏輯電路系統,以及利用額外的功率。舉例而言,若當前區塊在第一模式下經框間預測,則使用用於以梯度為基礎的預測細化的第一邏輯電路系統集合。然而,用於不同框間預測模式之以梯度為基礎的預測細化之第二邏輯電路系統集合仍接收功率。
本發明描述用於將水平及豎直位移之精確度層級捨入至對於不同框間預測模式相同的精確度層級之技術之實例。舉例而言,視訊寫碼器可將具有用於在第一框間預測模式下經框間預測的第一區塊之第一精確度層級的第一位移(例如,第一水平或第一豎直位移)捨入至設定精確度層級,且可將具有用於在第二框間預測模式下經框間預測的第二區塊之第二精確度層級的第二位移(例如,第二水平或第二豎直位移)捨入至相同設定精確度層級。換言之,視訊寫碼器可將水平及豎直位移中之至少一者捨入至對於不同框間預測模式相同的精確度層級。作為一個實例,第一框間預測模式可為仿射模式,且第二框間預測模式可為雙向光流(BDOF)。
以此方式,相同邏輯電路系統可用於不同框間預測模式之以梯度為基礎的預測細化,而非具有用於不同框間預測模式的不同邏輯電路系統。舉例而言,視訊寫碼器之邏輯電路系統可經組態以針對具有設定精確度層級之水平及豎直位移進行以梯度為基礎的預測細化。視訊寫碼器可捨入水平及豎直位移,使得經捨入的水平及豎直位移之精確度層級等於設定精確度層級,從而允許同一邏輯電路系統針對不同框間預測模式進行以梯度為基礎的預測細化。
圖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可經組態以應用以梯度為基礎的預測細化技術。因此,源器件102表示視訊編碼器件之實例,而目的地器件116表示視訊解碼器件之實例。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件102可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣地,目的地器件116可與外部顯示器件介接,而非包括積體顯示器件。
如圖1中所展示的系統100僅為一個實例。一般而言,任何數位視訊編碼和/或解碼器件可進行以梯度為基礎的預測細化技術。源器件102及目的地器件116僅為其中源器件102產生經寫碼視訊資料以供傳輸至目的地器件116的此類寫碼器件之實例。本發明將「寫碼」器件稱為對資料進行寫碼(編碼及/或解碼)之器件。因此,視訊編碼器200及視訊解碼器300表示寫碼器件之實例,特定言之,分別表示視訊編碼器及視訊解碼器之實例。在一些實例中,器件102、116可以大體上對稱的方式操作,使得器件102、116中之每一者包括視訊編碼及解碼組件。因此,系統100可支援視訊器件102、116之間的單向或雙向視訊傳輸以用於例如視訊串流、視訊回放、視訊廣播或視訊電話。
一般而言,視訊源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執行之軟體指令。儘管在此實例中展示為與視訊編碼器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可包括SoC器件以進行歸於視訊編碼器200及/或輸出介面108之功能性,且目的地器件116可包括SoC器件以進行歸於視訊解碼器300及/或輸入介面122之功能性。
本發明之技術可應用於支援各種多媒體應用中之任何者的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP之動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。
目的地器件116之輸入介面122自電腦可讀媒體110 (例如,儲存器件112、檔案伺服器114或其類似者)接收經編碼視訊位元串流。來自電腦可讀媒體110的經編碼視訊位元串流可包括由視訊編碼器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可根據其他專有或行業標準,諸如ITU-T H.266 (也稱作通用視訊寫碼(VVC))來操作。VVC標準之最新草案描述於布洛斯等人之「Versatile Video Coding (Draft 4)」, ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之聯合視訊專家組(JVET)第13次會議:2019年1月9日至18日,Marrakech,MA,JVET-M1001-v5 (下文中「VVC草案4」)。VVC標準之更新草案描述於Bross等人之「Versatile Video Coding (Draft 8)」, ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之聯合視訊專家組(JVET)第17次會議:Brussels,BE,2020年1月7至17日,JVET-Q2001-vD (下文中「VVC草案8」)中。然而,本發明之技術不限於任何特定寫碼標準。
一般而言,視訊編碼器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可經組態以根據VVC來操作。根據VVC,視訊寫碼器(諸如視訊編碼器200)將圖像分割成複數個寫碼樹單元(CTU)。視訊編碼器200可根據樹結構分割CTU,諸如四分樹二進位樹(QTBT)結構或多類型樹(MTT)結構。QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU以及TU之間的分離。QTBT結構包括兩個層級:根據四分樹分割進行分割之第一層級,及根據二進位樹分割進行分割之第二層級。QTBT結構之根節點對應於CTU。二進位樹之葉節點對應於寫碼單元(CU)。
在MTT分割結構中,區塊可使用四分樹(QT)分割、二進位樹(BT)分割及一或多種類型之三重樹(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分割呈現本發明之技術的描述。然而,應理解,本發明之技術亦可同樣應用於經組態以使用四分樹分割或其他類型之分割的視訊寫碼器。
本發明可能可互換地使用「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。
VVC之一些實例亦提供仿射運動補償模式,其可視為框間預測模式。在仿射運動補償模式下,視訊編碼器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可進一步(例如)在圖像標頭、區塊標頭、圖塊標頭或其他語法資料(諸如序列參數集(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稍後取回時發生。
根據本發明之技術,視訊編碼器200及視訊解碼器300可經組態以進行以梯度為基礎的預測細化。如上所述,作為框間預測當前區塊之部分,視訊編碼器200及視訊解碼器300可判定用於當前區塊之一或多個預測區塊(例如,基於一或多個運動向量)。在以梯度為基礎的預測細化中,視訊編碼器200及視訊解碼器300修改預測區塊之一或多個樣本(例如,包括所有樣本)。
舉例而言,在以粒度為基礎的預測細化中,方位(i, j
)處之框間預測樣本(例如預測區塊之樣本)藉由水平方向上之位移、水平梯度、豎直方向上之位移及方位(i, j
)處之豎直梯度導出之偏移ΔI
(i, j
)進行細化。在一個實例中,預測細化經描述為:ΔI
(i, j
)=gx
(i, j
)*Δvx
(i, j
) +gy
(i, j
)*Δvy
(i, j
),其中gx
(i, j
)為水平梯度,gy
(i, j
)為豎直梯度,Δvx
(i, j
)為水平方向處之位移及Δvy
(i, j
)為豎直方向處之位移。
影像之梯度為影像中強度或色彩之定向改變的量測。舉例而言,梯度值係基於在具有根據相鄰樣本之色彩或強度的最大變化之方向上的色彩或強度之變化率。作為一個實例,變化率相對較高情況下之梯度值大於變化率相對較低情況下之梯度值。
此外,用於當前區塊之預測區塊可為與包括當前區塊之當前圖像不同的參考圖像。視訊編碼器200及視訊解碼器300可基於參考圖像中之樣本值來判定偏移(例如,ΔI
(i, j
)) (例如,梯度係基於參考圖像中之樣本值來判定的)。在一些實例中,用於判定梯度之值可為預測區塊自身內的值或基於預測區塊之值而產生的值(例如,由預測區塊內的值產生的內插、捨入等的值)。另外,在一些實例中,用於判定梯度之值可在預測區塊外部且在參考圖像內或自預測區塊外部及參考圖像內的樣本產生(例如,內插、捨入等)。
然而,在一些實例中,視訊編碼器200及視訊解碼器300可基於當前圖像中之樣本值來判定偏移。在一些實例中,諸如區塊內複本,當前圖像及參考圖像為相同圖像。
位移(例如,豎直及/或水平位移)可基於框間預測模式判定。在一些實例中,位移係基於運動參數判定。如更詳細地所描述,對於解碼器側運動細化模式,位移可基於參考圖像中之樣本。對於其他框間預測模式,位移可能不基於參考圖像中之樣本,但實例技術不限於此,且參考圖像中之樣本可用於判定位移。可能存在判定豎直及/或水平位移之各種方式,且該等技術不限於判定豎直及/或水平位移之特定方式。
以下描述進行梯度計算之實例方式。舉例而言,對於梯度濾波器,在一個實例中,Sobel濾波器可用於梯度計算。梯度計算如下:gx
(i
,j
)=I
(i
+1,j
-1)-I
(i
-1,j
-1)+ 2*I
(i
+1,j
)-2*I
(i
-1,j
)+I
(i
+1,j
+1)-I
(i
-1,j
+1)及gy
(i
,j
)=I
(i
-1,j
+1)-I
(i
-1,j
-1)+ 2*I
(i
,j
+1)-2*I
(i
,j
-1)+I
(i
+1,j
+1)-I
(i
+1,j
-1)。
在一些實例中,應用[1, 0, -1]濾波器。梯度可計算如下:gx
(i
,j
)=I
(i
+1,j
)-I
(i
-1,j
)及gy
(i
,j
)=I
(i
,j
+1)-I
(i
,j
-1)。在一些實例中,可應用其他梯度濾波器,例如Canny濾波器。
對於梯度正規化,所計算梯度可在用於細化偏移導出之前(例如,在計算ΔI之前)經正規化,或正規化可以在細化偏移導出後進行。可在正規化期間應用捨入程序。舉例而言,若應用[1, 0, -1]濾波器,則藉由將一添加至輸入值且隨後右移一來進行正規化。若輸入縮放二至N的冪,則藉由添加1<<N且隨後右移(N+1)來進行正規化。
對於邊界處之梯度,可藉由在每一邊界處將預測區塊擴展S/2來計算預測區塊之邊界處之梯度,其中S為用於梯度計算之濾波步驟。在一個實例中,經擴展預測樣本係藉由使用與用於框間預測之預測區塊相同的運動向量(運動補償)產生。在一些實例中,經擴展預測樣本係藉由使用相同運動向量但在運動補償中針對內插法程序使用更短濾波器產生。在一些實例中,經擴展預測樣本係藉由針對整數運動補償使用經捨入的運動向量產生。在一些實例中,經擴展預測樣本係藉由填補產生,其中該填補藉由複製邊界樣本進行。在一些實例中,若預測區塊係藉由以子區塊為基礎的運動補償產生,則經擴展預測樣本係藉由使用最接近子區塊的運動向量產生。在一些實例中,若預測區塊係藉由以子區塊為基礎的運動補償產生,則經擴展預測樣本係藉由使用一個代表性運動向量產生。在一個實例中,代表性運動向量可為預測區塊之中心處的運動向量。在一個實例中,代表性運動向量可藉由求邊界子區塊之運動向量的平均值而導出。
可應用以子區塊為基礎的梯度導出以促進硬體中之並行處理或管線友好設計。子區塊之寬度及高度(標示為sbW及sbH)可如下判定:sbW
=min (blkW
,SB
_WIDTH
)及sbH
=min (blkH
,SB
_HEIGHT
)。在此等式中,blkW及blkH分別為預測區塊之寬度及高度。SB_WIDTH及SB_HEIGHT為兩個預定變量。在一個實例中,SB_WIDTH及SB_HEIGHT均等於16。
對於水平及豎直位移,在一些實例中,用於細化導出之水平及豎直位移Δvx
(i, j
)及Δvy
(i, j
)可取決於框間預測模式判定。然而,實例技術不限於基於框間預測模式判定水平及豎直位移。
對於較小區塊大小的框間模式(例如,經框間預測之小型區塊),為減小最壞情況記憶體頻寬,用於較小區塊之框間預測模式可禁用或受限。舉例而言,用於4×4區塊或更小區塊之框間預測為禁用的,用於4×8、8×4、4×16及16×4之雙向預測可為禁用的。記憶體頻寬可由於用於彼等較小區塊之內插法程序而增大。在無內插法之情況下,可仍將整數運動補償應用於彼等較小區塊而不增大最壞情況記憶體頻寬。
在一或多個實例技術中,可對一些或所有彼等較小區塊啟用框間預測,但伴以整數運動補償及以梯度為基礎的預測細化。運動向量首先經捨入至用於運動補償之整數運動向量。隨後,捨入之剩餘(亦即,運動向量之子圖素部分)用作以梯度為基礎的預測細化的Δvx
(i, j
)及Δvy
(i, j
)。舉例而言,若較小區塊之運動向量為(2.25, 5.75),則用於運動補償之整數運動向量將為(2, 6),且水平位移(例如,Δvx
(i,j))將為0.25,且豎直位移(例如,Δvy
(i,j))將為0.75。在這一實例中,水平及豎直位移之精確度層級為0.25 (或¼)。舉例而言,水平及豎直位移可以0.25步長遞增。
在一些實例中,對於較小區塊大小框間模式,以梯度為基礎的預測細化可為可獲得的,但僅在小型區塊在合併模式下經框間預測的情況下。下文描述合併模式之實例。在一些實例中,對於較小大小框間模式,可對具有整數運動模式之區塊禁用以梯度為基礎的預測細化。在整數運動模式下,一或多個運動向量(例如,經傳信運動向量)為整數。在一些實例中,即使對於大型區塊,若區塊在整數運動模式下經框間預測,則可對此類區塊禁用以梯度為基礎的預測細化。
對於為框間預測模式之一實例的普通合併模式,其中自空間或時間相鄰寫碼區塊導出運動資訊,Δvx
(i, j
)及Δvy
(i, j
)可為運動向量捨入程序的剩餘(例如,類似於上文運動向量實例(2.25, 5.75))。在一個實例中,藉由根據當前圖像與參考圖像之間不同的圖像次序計數縮放時間運動緩衝器中之運動向量來導出時間運動向量預測符。可進行捨入程序以將縮放之運動向量捨入至某一精確度。剩餘可用作Δvx
(i, j
)及Δvy
(i, j
)。剩餘的精確度(亦即,水平及豎直位移之精確度層級)可經預定義且可高於運動向量預測之精確度。舉例而言,若運動向量精確度為1/16,則剩餘精確度為1/(16*MaxBlkSize),其中MaxBlkSize為最大區塊大小。換言之,水平及豎直位移(例如,Δvx
及Δvy
)之精確度層級為1/(16*MaxBlkSize)。
對於具有運動向量差(MMVD)模式之合併(其為框間預測模式之一實例),傳信運動向量差以及合併索引以表示運動資訊。在一些技術中,運動向量差(例如,實際運動向量與運動向量預測符之間的差)具有相同的運動向量精確度。在本發明中描述之一或多個實例中,可允許運動向量差具有更高精確度。經傳信運動向量差首先經捨入至運動向量精確度並添加由合併索引指示之運動向量以產生用於運動補償之最終運動向量。在一或多個實例中,捨入後之剩餘部分(例如,運動向量差之經捨入的值與運動向量差之初始值之間的差)可用作用於以梯度為基礎的預測細化之水平及豎直位移(例如,用作Δvx
(i, j
)及Δvy
(i, j
))。在一些實例中,Δvx
(i, j
)及Δvy
(i, j
)可經傳信作為運動向量差之候選者。
對於解碼器側運動向量細化模式,進行使用原始運動向量之運動補償以產生原始雙向預測區塊且計算列表0與列表1預測之間的差,標示為DistOrig
。列表0係指包括可潛在地用於框間預測之參考圖像列表之第一參考圖像列表(RefPicList0)。列表1係指包括可潛在地用於框間預測之參考圖像列表的第二參考圖像列表(RefPicList1)。隨後,將列表0及列表1處之運動向量捨入至最接近的整數位置。亦即,將指代列表0中之圖像的運動向量捨入至最接近的整數位置,且將指代列表1中之圖像的運動向量捨入至最接近的整數位置。搜尋算法用於在整數位移範圍內搜尋以使用運動補償之新整數運動向量尋找在列表0預測中識別的圖像區塊與列表1中識別的圖像區塊之間具有最小失真DistNew
的一對位移。若DistNew小於DistOrig,則將新整數運動向量饋入至雙向光流(BDOF)中以導出用於列表0及列表1預測兩者處之預測細化的Δvx
(i, j
)及Δvy
(i, j
)。否則,對原始列表0及列表1預測進行BDOF用於預測細化。
對於仿射模式,可導出用於每一像素的運動場(例如,可在每像素基礎上判定運動向量)。然而,以4×4為基礎的運動場用於仿射運動補償以減小複雜度及記憶體頻寬。舉例而言,作為一個實例,判定子區塊之運動向量,其中一個子區塊為4×4,而非在每像素基礎上判定運動向量。亦可使用一些其他子區塊大小,例如4×2、2×4或2×2。在一或多個實例中,以梯度為基礎的預測細化可用於改良仿射運動補償。可如上文所述計算區塊之梯度。作為若干實例,給定仿射運動模型:,其中a、b、c、d、e及f為藉由視訊編碼器200及視訊解碼器300基於控制點運動向量及區塊之長度及寬度判定的值。在一些實例中,a、b、c、d、e及f之值可經傳信。
以下描述判定a、b、c、d、e及f之一些實例方式。在視訊寫碼器(例如,視訊編碼器200或視訊解碼器300)中,在仿射模式下,將圖像分割成用於以區塊為基礎的寫碼之子區塊。區塊之仿射運動模型亦可由不在同一線上之三個不同方位處的三個運動向量(MV)、 及描述。該等三個方位通常稱為控制點,且該等三個運動向量稱為控制點運動向量(CPMV)。在三個控制點位於區塊之三個拐角處的情況下,可將仿射運動描述為:
其中blkW
及blkH
為區塊之寬度及高度。
對於仿射模式,視訊編碼器200及視訊解碼器300可使用子區塊之代表性座標(例如,子區塊之中心位置)判定每一子區塊之運動向量。在一個實例中,區塊經分割成非重疊子區塊。區塊寬度為blkW,區塊高度為blkH,子區塊寬度為sbW且子區塊高度為sbH,隨後存在blkH/sbH子區塊列且每一列中存在blkW/sbW子區塊。對於六參數仿射運動模型,第i列(0<=i<blkW/sbW)及第j (0<=j<blkH/sbH)行處之子區塊之運動向量(稱作子區塊MV)經導出為:
對於仿射模式(其為框間預測模式之一實例),視訊編碼器200及視訊解碼器300可藉由以下方法中之至少一者判定位移(例如,水平或豎直位移)。以下為實例且不應視為限制性的。可存在視訊編碼器200及視訊解碼器300可判定用於仿射模式之位移(例如,水平或豎直位移)之其他方式。
對於以4×4子區塊為基礎的仿射運動補償,對於以2×2為基礎的位移導出,每一2×2子區塊中之位移為相同的。在每一4×4子區塊中,4×4內之四個2×2子區塊的Δv
(i, j
)計算如下:
左上2×2:
右上2×2:
左下2×2:
右下2×2:
在一些實例中,可將實施為右移運算之除以2移動至細化偏移計算。舉例而言,視訊編碼器200及視訊解碼器300可進行除以2運算作為判定ΔI (例如,細化偏移)之部分,而非在導出水平及豎直位移(例如,Δvx
及Δvy
)時進行除以2運算。
對於以4×2子區塊為基礎的仿射運動補償,運動向量儲存器之運動場仍為4×4;然而,仿射運動補償為4×2。4×4子區塊之運動向量(MV)可為(vx
,vy
),在此情況下,左4×2之運動補償的MV為(vx
-a,vy
-c),且左4×2之運動補償的MV為(vx
+a,vy
+c)。
對於以2×2為基礎的位移導出,在以2×2為基礎的位移導出中,每一2×2子區塊中之位移為相同的。在每一4×2子區塊中,4×4內之2個2×2子區塊的Δv
(i, j
)計算如下:
頂部2×2:
底部2×2:
可將可實施為右移運算之除以2移動至細化偏移計算。舉例而言,視訊編碼器200及視訊解碼器300可進行除以2運算作為判定ΔI (例如,細化偏移)之部分,而非在導出水平及豎直位移(例如,Δvx
及Δvy
)時進行除以2運算。
對於以2×4子區塊為基礎的仿射運動補償,運動向量儲存器之運動場仍為4×4;然而,仿射運動補償為2×4。4×4子區塊之MV可為(vx
,vy
),在此情況下,左4×2之運動補償之MV為(vx
-b,vy
-d),且左4×2之運動補償之MV 為(vx
+b,vy
+d)。
可將可實施為右移運算之除以2移動至細化偏移計算。舉例而言,視訊編碼器200及視訊解碼器300可進行除以2運算作為判定ΔI (例如,細化偏移)之部分,而非在導出水平及豎直位移(例如,Δvx
及Δvy
)時進行除以2運算。
以下描述位移之精確度及梯度。在一些實例中,水平及豎直位移之相同精確度可用於所有模式下。精確度可經預定義或在高層級語法中傳信。因此,若水平及豎直位移係自具有不同精確度的不同模式中導出,則將水平及豎直位移捨入至預定義精確度。預定義精確度之實例為:1/4、1/8、1/16、1/32、1/64、1/128等等。
如上所述,精確度(亦稱作精確度層級)可指示水平及豎直位移(例如,Δvx
及Δvy
)之精確程度,其中水平及豎直位移可使用上文所述的一或多個實例或使用一些其他技術判定。一般而言,精確度層級經定義為小數(例如,0.25、0.125、0.0625、0.03125、0.015625、0.0078125等等)或分數(例如,1/4、1/8、1/16、1/32、1/64、1/128等等)。舉例而言,對於1/4精確度層級,水平或豎直位移可經展現為0.25的遞增(例如,0.25、0.5或0.75)。對於1/8精確度層級,水平及豎直位移可經展現為0.125的遞增(例如,0.125、0.25、0.325、0.5、0.625、0.75或0.825)。如可見,精確度層級之數值愈低,(例如,1/8小於1/4),存在愈大遞增粒度且可存在愈精確之值(例如,對於1/4精確度層級,將位移捨入至最接近四分之一,但對於1/8精確度層級,則將位移捨入至最接近八分之一)。
由於水平及豎直位移對於不同框間預測模式可具有不同精確度層級,因此視訊編碼器200及視訊解碼器300可經組態以包括不同邏輯電路系統以針對不同框間預測模式進行以梯度為基礎的預測細化。如上所述,為進行以梯度為基礎的預測細化,視訊編碼器200及視訊解碼器300可進行以下運算:,其中gx
及gy
分別為以預測區塊之樣本之第一樣本集合為基礎的第一梯度及以預測區塊之樣本之第二樣本集合為基礎的第二梯度,且Δvx
及Δvy
分別為水平及豎直位移。如可見,對於以梯度為基礎的預測細化,視訊編碼器200及視訊解碼器300可能需要進行乘法及加法運算,以及利用記憶體來儲存計算中所使用的臨時結果。
然而,可將邏輯電路系統(例如,乘法器電路系統、加法器電路系統、記憶體暫存器)進行數學運算之能力限制在邏輯電路系統經組態用於之精確度層級。舉例而言,邏輯電路系統經組態用於為可能不能夠進行梯度預測細化所需之運算的第一精確度層級,其中水平或豎直位移處於更精確之第二精確度層級。
因此,一些技術利用經組態用於不同精確度層級之不同邏輯電路系統集合來對不同的框間預測模式進行以梯度為基礎的預測細化。舉例而言,第一邏輯電路系統集合可經組態以對水平及/或豎直位移為0.25之框間預測模式進行以梯度為基礎的預測細化,且第二邏輯電路系統集合可經組態以對水平及/或豎直位移為0.125之框間預測模式進行以梯度為基礎的預測細化。具有此等不同電路系統集合增大視訊編碼器200及視訊解碼器300之總體大小,以及潛在地浪費功率。
在本發明中所描述之一些實例中,相同梯度計算程序可用於所有框間預測模式。換言之,相同邏輯電路系統可用於對不同框間預測模式進行以梯度為基礎的預測細化。舉例而言,梯度之精確度可對所有框間預測模式下的預測細化保持相同。在一些實例中,對於位移及梯度之精確度,實例技術可確保可將相同(或統一)預測細化程序應用於不同模式,且可將相同預測細化模組應用於不同模式。
作為一實例,視訊編碼器200及視訊解碼器300可經組態以將水平及豎直位移中之至少一者捨入至對於不同框間預測模式相同的精確度層級。舉例而言,若水平及豎直位移經捨入至之精確度層級為0.015625 (1/64),則在水平及/或豎直位移之精確度層級對於一個框間預測模式為1/4之情況下,將水平及/或豎直位移之精確度層級捨入至1/64。若水平及/或豎直位移之精確度層級為1/128,則將水平及/或豎直位移之精確度層級捨入至1/64。
以此方式,可對不同框間預測模式重複使用用於以梯度為基礎的預測細化之邏輯電路系統。舉例而言,在上文實例中,視訊編碼器200及視訊解碼器300可包括用於精確度層級為0.125之邏輯電路系統,且由於將水平及/或豎直位移之精確度層級捨入至0.125,因此可對不同框間預測模式重複使用此邏輯電路系統。
在一些實例中,當並未根據本發明中所描述之技術進行捨入時,若邏輯電路系統經設計以具有相對較高層級精確度(例如,設計用於乘法之特定精確度層級之邏輯電路系統可處理對於較低精確度層級之值的乘法運算),則可重複使用用於乘法及累積類型運算之邏輯電路系統。然而,對於偏移運算,經設計用於特定精確度之邏輯電路系統可能不能夠處理對於較低精確度層級之值之偏移運算。藉由本發明中所描述之實例技術,藉由所描述之捨入技術,或許有可能重複使用邏輯電路系統,包括用於不同框間預測模式之偏移操作。
在上述等式中,偏移等於1 << (移位-1),且移位係藉由位移及梯度之預定義精確度判定且對於不同模式為固定的。在一些實例中,偏移等於0。
在一些實例中,模式可包括上文相對於水平及豎直位移所述的模式中之一或多者,諸如較小區塊大小框間模式、普通合併模式、與運動向量差合併、解碼器側運動向量細化模式及仿射模式。模式亦可包括雙向光流(BDOF)。
可能存在對於每一預測方向之單獨細化。舉例而言,在雙向預測之情況下,可對每一預測方向單獨地進行預測細化。可將細化結果截割至某一範圍以確保與預測相同的位元寬度而無需細化。舉例而言,將細化結果截割至16位元範圍。如上文所提及,亦可將實例技術應用於BDOF,其中假定兩個不同的方向上之位移在相同運動軌跡上。
以下描述N個位元(例如,16個位元)乘法約束。為降低以梯度為基礎的預測細化之複雜度,可將乘法保持在N個位元(例如,16個位元)內。在此實例中,梯度及位移應能夠由不超過16個位元表示。否則,在此實例中,將梯度或位移量化為在16個位元內。舉例而言,可應用右移以保持16個位元表示。
以下描述細化偏移ΔI
(i, j
)之截割及細化結果。將細化偏移ΔI(i, j)截割至某一範圍。在一個實例中,範圍係藉由原始預測信號之範圍判定。ΔI
(i, j
)之範圍可與原始預測信號之範圍相同,或範圍可為經縮放範圍。縮放可為1/2、1/4、1/8等等。將細化結果截割以具有與原始預測信號相同的範圍(例如,預測區塊中之樣本範圍)。進行截割之等式為:
pbSamples[ x ][ y ] = Clip3( 0, ( 2BitDepth
) - 1, ( predSamplesL0[ x + 1 ][ y + 1 ] + offset4 +predSamplesL1[ x + 1 ][ y + 1 ] + bdofOffset ) >> shift4 )
以此方式,視訊編碼器200及視訊解碼器300可經組態以判定用於框間預測當前區塊之預測區塊。舉例而言,視訊編碼器200及視訊解碼器300可判定指向預測區塊之運動向量或區塊向量(例如,用於區塊內複本模式)。
視訊編碼器200及視訊解碼器300可判定用於預測區塊之一或多個樣本之以梯度為基礎的預測細化的水平或豎直位移中之至少一者。水平位移之實例為Δvx
,且豎直位移之實例為Δvy
。在一些實例中,視訊編碼器200及視訊解碼器300可基於框間預測模式判定用於預測區塊之一或多個樣本之以梯度為基礎的預測細化的水平或豎直位移中之至少一者(例如,作為兩個實例,使用用於仿射模式之上文實例技術判定Δvx
及Δvy
或使用用於合併模式之上文實例技術判定Δvx
及Δvy
)。
根據一或多個實例,視訊編碼器200及視訊解碼器300可將水平及豎直位移中之至少一者捨入至對於不同框間預測模式相同的精確度層級。不同框間預測模式之實例包括仿射模式及BDOF。舉例而言,用於對在第一框間預測模式下經框間預測的第一區塊進行以梯度為基礎的預測細化之第一水平或豎直位移之精確度層級可處於第一精確度層級,且用於對在第二框間預測模式下經框間預測的第二區塊進行以梯度為基礎的預測細化之第二水平或豎直位移的精確度層級可處於第二精確度層級。視訊編碼器200及視訊解碼器300可經組態以將第一水平或豎直位移之第一精確度捨入至該精確度層級,且將第一水平或豎直位移之第二精確度層級捨入至相同精確度層級。
在一些實例中,精確度層級可經預定義(例如,預儲存在視訊編碼器200及視訊解碼器300上)或可經傳信(例如,由視訊編碼器200定義且經傳信至視訊解碼器300)。在一些實例中,精確度層級可為1/64。
視訊編碼器200及視訊解碼器300可經組態以基於水平或豎直位移中之經捨入的至少一者來判定一或多個細化偏移。舉例而言,視訊編碼器200及視訊解碼器300可使用各別經捨入的水平或豎直位移中之至少一者來判定預測區塊之每一樣本之ΔI(i,j)。亦即,視訊編碼器200及視訊解碼器300可判定對於預測區塊之每一樣本的細化偏移。在一些實例中,視訊編碼器200及視訊解碼器300可利用經捨入的水平及豎直位移來判定細化偏移(例如,ΔI)。
如所描述,為進行以梯度為基礎的預測細化,視訊編碼器200及視訊解碼器300可判定以預測區塊之一或多個樣本之第一樣本集合為基礎的第一梯度(例如,判定gx
(i,j),其中第一樣本集合為用於判定gx
(i,j)之樣本)及判定以預測區塊之一或多個樣本之第二樣本集合為基礎的第二梯度(例如,判定gy
(i,j),其中第二樣本集合為用於判定gy
(i,j)之樣本)。視訊編碼器200及視訊解碼器300可基於經捨入的水平及豎直位移及第一及第二梯度來判定細化偏移。
視訊編碼器200及視訊解碼器300可基於所判定的一或多個細化偏移來修改預測區塊之一或多個樣本以產生經修改預測區塊(例如,形成經修改預測區塊之一或多個經修改樣本)。舉例而言,視訊編碼器200及視訊解碼器300可自I(i,j)添加或減去ΔI(i,j),其中I(i,j)係指位於位置(i,j)處之預測區塊中之樣本。在一些實例中,視訊編碼器200及視訊解碼器300可截割一或多個細化偏移(例如,截割ΔI(i,j))。視訊編碼器200及視訊解碼器300可基於經截割的一或多個細化偏移來修改預測區塊之一或多個樣本。
針對編碼,視訊編碼器200可判定指示當前區塊與經修改預測區塊之間的差之殘餘值(例如,殘餘區塊之殘餘值) (例如,基於經修改預測區塊之經修改樣本)及指示殘餘值之信號資訊。針對解碼,視訊解碼器300可接收指示殘餘值之資訊並基於經修改預測區塊(例如,經修改預測區塊之經修改樣本)及殘餘值來重建構當前區塊(例如,藉由將殘餘值添加至經修改樣本)。
圖2A及2B為說明實例四分樹二進位樹(QTBT)結構130及對應寫碼樹單元(CTU) 132之概念圖。實線表示四分樹分裂,且點線指示二進位樹分裂。在二進位樹之每一分裂(亦即非葉)節點中,一個旗標經傳信以指示使用哪一分裂類型(亦即,水平或豎直),其中在此實例中,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,表示最小允許二進位樹葉節點大小)。
QTBT結構之對應於CTU之根節點可具有處於QTBT結構之第一層級的四個子節點,該等子節點中之每一者可根據四分樹分割來進行分割。亦即,第一層級之節點為葉節點(不具有子節點)或具有四個子節點。QTBT結構130之實例表示包括具有用於分枝之實線之父節點及子節點的節點。若第一層級之節點不大於最大允許二進位樹根節點大小(MaxBTSize),則其可藉由各別二進位樹進行進一步分割。一個節點之二元樹分裂可迭代,直至由分裂產生之節點達至最小允許二進位樹葉節點大小(MinBTSize),或最大允許二進位樹深度(MaxBTDepth)為止。QTBT結構130之實例表示具有用於分枝之虛線的節點。二進位樹葉節點稱為寫碼單元(CU),其用於預測(例如,圖像內或圖像間預測)及轉換而無需任何進一步分割。如上文所論述,CU亦可稱作「視訊區塊」或「區塊」。
在QTBT分割結構之一個實例中,CTU大小經設定為128×128 (亮度樣本及兩個對應64×64色度樣本),MinQTSize經設定為16×16,MaxBTSize經設定為64×64,MinBTSize (對於寬度及高度兩者)經設定為4,且MaxBTDepth經設定為4。將四分樹分割首先應用於CTU以產生四分樹葉節點。四分樹葉節點可具有16×16 (亦即,MinQTSize)至128×128 (亦即,CTU大小)之大小。若葉四分樹節點為128×128,則其將不會藉由二進位樹進一步分裂,此係由於大小超過MaxBTSize (亦即,在此實例中64×64)。否則,葉四分樹節點將由二進位樹進一步分割。因此,四分樹葉節點亦為二進位樹之根節點並具有為0之二進位樹深度。當二進位深度達至MaxBTDepth (在此實例中為4)時,不准許進一步分裂。當二進位樹節點具有等於MinBTSize (在此實例中為4)之寬度時,其意味著不准許進一步水平分裂。類似地,具有等於MinBTSize之高度的二進位樹節點意指不准許對該二進位樹節點進行進一步豎直分裂。如上文所提及,二進位樹之葉節點稱為CU且根據預測及轉換來進一步處理而不進一步分割。
圖3為說明可進行本發明之技術的實例視訊編碼器200的方塊圖。為了解釋之目的而提供圖3,且不應將該圖視為對如本發明中廣泛例示及描述之技術的限制。為了解釋之目的,本發明在諸如HEVC視訊寫碼標準及研發中之H.266視訊寫碼標準的視訊寫碼標準之情況下描述視訊編碼器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可包括額外或替代處理器或處理電路系統以進行此等及其他功能。
視訊資料記憶體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、以梯度為基礎的預測細化(GBPR)單元227。模式選擇單元202可包括額外功能單元以根據其他預測模式來進行視訊預測。作為實例,模式選擇單元202可包括調色板單元、區塊內複製單元(其可為運動估計單元222及/或運動補償單元224之部分)、仿射單元、線性模型(LM)單元或其類似者。
儘管GBPR單元227經說明為與運動估計單元222及運動補償單元224分離,但在一些實例中,GBPR單元227可為運動估計單元222及/或運動補償單元224之部分。GBPR單元227展示為與運動估計單元222及運動補償單元224分離以容易理解且不應視為限制性的。
模式選擇單元202通常協調多個編碼遍次以測試編碼參數之組合,及用於此等組合之所得速率失真值。編碼參數可包括將CTU分割成CU、用於CU之預測模式,CU之殘餘值的轉換類型、用於CU之殘餘值的量化參數等等。模式選擇單元202可最終選擇相比其他所測試組合具有更佳速率失真值的編碼參數之組合。
視訊編碼器200可將自視訊資料記憶體230取回之圖像分割成一系列CTU,且將一或多個CTU封裝於圖塊內。模式選擇單元202可根據樹結構分割圖像之CTU,諸如上文所描述之QTBT結構或HEVC的四分樹結構。如上文所描述,視訊編碼器200可根據樹結構分割CTU來形成一或多個CU。此CU通常亦可稱作「視訊區塊」或「區塊」。
一般而言,模式選擇單元202亦控制其組件(例如,運動估計單元222、運動補償單元224、框內預測單元226及GBPR單元227)以產生用於當前區塊(例如,當前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可計算與當前區塊相鄰之樣本的平均值,並產生預測區塊以針對預測區塊之每一樣本包括此所得平均值。
GBPR單元227可經組態以進行本發明中所描述之實例技術用於以梯度為基礎的預測細化。舉例而言,GBPR單元227以及運動補償單元224可判定用於框間預測當前區塊之預測區塊(例如,基於由運動估計單元222判定之運動向量)。GBPR單元227可判定用於預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移(例如,Δvx
及Δvy
)。作為一個實例,GBPR單元227可基於由模式選擇單元202進行之判定來判定用於框間預測當前區塊之框間預測模式。在一些實例中,GBPR單元227可基於所判定之框間預測模式來判定水平及豎直位移。
GBPR單元227可將水平及豎直位移捨入至對於不同框間預測模式相同的精確度層級。舉例而言,當前區塊可為第一當前區塊,預測區塊可為第一預測區塊,水平及豎直位移可為第一水平及豎直位移,且經捨入的水平及豎直位移可為第一經捨入的水平及豎直位移。在一些實例中,GBPR單元227可判定用於框間預測第二當前區塊之第二預測區塊,且判定用於第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移。GBPR單元227可將第二水平及豎直位移捨入至與第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移。
在一些情況下,用於框間預測第一當前區塊之框間預測模式與用於第二當前區塊之框間預測模式可為不同的。舉例而言,不同框間預測模式中之第一模式為仿射模式,且不同框間預測模式中之第二模式為雙向光流(BDOF)模式。
水平及豎直位移經捨入至之精確度層級可經預定義並儲存以供GBPR單元227使用,或GBPR單元227可判定精確度層級且視訊編碼器200可傳信精確度層級。作為一個實例,精確度層級為1/64。
GBPR單元227可基於經捨入的水平及豎直位移來判定一或多個細化偏移。舉例而言,GBPR單元227可判定以預測區塊之一或多個樣本之第一樣本集合為基礎的第一梯度(例如,使用上文所述的預測區塊之樣本判定gx
(i,j))且判定以預測區塊之一或多個樣本之第二樣本集合為基礎的第二梯度(例如,使用上文所述的預測區塊之樣本判定gy
(i,j))。GBPR單元227可基於經捨入的水平及豎直位移及第一及第二梯度來判定一或多個細化偏移。在一些實例中,若一或多個細化偏移之值過高(例如,大於一臨限值),則GBPR單元227可截割一或多個細化偏移。
GBPR單元227可基於所判定的一或多個細化偏移或經截割的一或多個細化偏移來修改預測區塊之一或多個樣本以產生經修改預測區塊(例如,形成經修改預測區塊之一或多個經修改樣本)。舉例而言,GBPR單元227可判定:,其中gx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第一梯度,Δvx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的水平位移,gy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第二梯度,且Δvy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的豎直位移。在一些實例中,Δvx
及Δvy
對於預測區塊的樣本(i,j)中之每一者可為相同的。
所得經修改樣本可形成以梯度為基礎的預測細化中之預測區塊(例如,經修改預測區塊)。亦即,經修改預測區塊用作以梯度為基礎的預測細化中之預測區塊。模式選擇單元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)、方向轉換、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)寫碼操作、指數哥倫布編碼(Exponential-Golomb encoding)操作或另一類型之熵編碼操作。在一些實例中,熵編碼單元220可以旁路模式操作,其中語法元素未經熵編碼。
視訊編碼器200可輸出位元串流,該位元串流包括重建構圖塊或圖像之區塊所需的經熵編碼語法元素。特定言之,熵編碼單元220可輸出位元串流。
上文所描述之操作係相對於區塊進行描述。此描述應理解為用於亮度寫碼區塊及/或色度寫碼區塊的操作。如上文所描述,在一些實例中,亮度寫碼區塊及色度寫碼區塊為CU之亮度及色度分量。在一些實例中,亮度寫碼區塊及色度寫碼區塊為PU之亮度及色度分量。
在一些實例中,無需對色度寫碼區塊重複相對於亮度寫碼區塊進行之操作。作為一個實例,無需重複識別亮度寫碼區塊之運動向量(MV)及參考圖像的操作以識別色度區塊之MV及參考圖像。相反,亮度寫碼區塊之MV可經縮放以判定色度區塊之MV,且參考圖像可為相同的。作為另一實例,框內預測程序可對於亮度寫碼區塊及色度寫碼區塊為相同的。
圖4為說明可進行本發明之技術的實例視訊解碼器300的方塊圖。為了解釋之目的而提供圖4,且其並不限制如本發明中所廣泛例示及描述之技術。為了解釋之目的,本發明根據VVC及HEVC之技術描述視訊解碼器300。然而,本發明之技術可由經組態為其他視訊寫碼標準的視訊寫碼器件進行。
在圖4之實例中,視訊解碼器300包括經寫碼圖像緩衝器(CPB)記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆轉換處理單元308、重建構單元310、濾波器單元312及經解碼圖像緩衝器(DPB) 314。CPB記憶體320、熵解碼單元302、預測處理單元304、逆量化單元306、逆轉換處理單元308、重建構單元310、濾波器單元312及DPB 314中之任何者或全部可實施於一或多個處理器中或處理電路系統中。此外,視訊解碼器300可包括額外或替代處理器或處理電路系統以進行此等及其他功能。
預測處理單元304包括運動補償單元316、框內預測單元318及以梯度為基礎的預測細化(GBPR)單元319。預測處理單元304可包括額外單元以根據其他預測模式來進行預測。作為實例,預測處理單元304可包括調色板單元、區塊內複製單元(其可形成運動補償單元316之部分)、仿射單元、線性模型(LM)單元或其類似者。在其他實例中,視訊解碼器300可包括更多、更少或不同功能組件。
儘管GBPR單元319經說明為與運動補償單元316分離,但在一些實例中,GBPR單元319可為運動補償單元316之部分。GBPR單元319展示為與運動補償單元316分離以容易理解且不應視為限制性的。
CPB 記憶體320可儲存待由視訊解碼器300之組件解碼之視訊資料,諸如經編碼視訊位元串流。可(例如)自電腦可讀媒體110 (圖1)獲得儲存於CPB記憶體320中之視訊資料。CPB記憶體320可包括儲存來自經編碼視訊位元串流之經編碼視訊資料(例如,語法元素)的CPB。同樣,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執行之指令。
圖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、逆整數轉換、逆Karhunen-Loeve轉換(KLT)、逆旋轉轉換、逆定向轉換或另一逆轉換應用於係數區塊。
此外,預測處理單元304根據由熵解碼單元302熵解碼之預測資訊語法元素產生預測區塊。舉例而言,若預測資訊語法元素指示當前區塊經框間預測,則運動補償單元316可產生預測區塊。在此情況下,預測資訊語法元素可指示DPB 314中之參考圖像(自其取回參考區塊),以及運動向量,其識別參考圖像中之參考區塊相對於當前圖像中之當前區塊之方位的方位。運動補償單元316通常可以大體上類似於相對於運動補償單元224 (圖3)所描述之方式的方式進行框間預測程序。
作為另一實例,若預測資訊語法元素指示當前區塊經框內預測,則框內預測單元318可根據由預測資訊語法元素指示之框內預測模式產生預測區塊。同樣,框內預測單元318可通常以大體上類似於相對於框內預測單元226 (圖3)所描述之方式的方式進行框內預測程序。框內預測單元318可將相鄰樣本之資料自DPB 314取回至當前區塊。
作為另一實例,若預測資訊語法元素指示以梯度為基礎的預測細化經啟用,則GBPR單元319可修改預測區塊之樣本以產生用於重建構當前區塊之經修改預測區塊(例如,產生形成經修改預測區塊之經修改樣本)。
GBPR單元319可經組態以進行本發明中所描述之實例技術以用於以梯度為基礎的預測細化。舉例而言,GBPR單元319以及運動補償單元316可判定用於框間預測當前區塊之預測區塊(例如,基於由預測處理單元304判定之運動向量)。GBPR單元319可判定用於預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移(例如,Δvx
及Δvy
)。作為一個實例,GBPR單元319可基於預測資訊語法元素來判定用於框間預測當前區塊之框間預測模式。在一些實例中,GBPR單元319可基於所判定之框間預測模式來判定水平及豎直位移。
GBPR單元319可將水平及豎直位移捨入至對於不同框間預測模式相同的精確度層級。舉例而言,當前區塊可為第一當前區塊,預測區塊可為第一預測區塊,水平及豎直位移可為第一水平及豎直位移,且經捨入的水平及豎直位移可為第一經捨入的水平及豎直位移。在一些實例中,GBPR單元319可判定用於框間預測第二當前區塊之第二預測區塊,且判定用於第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移。GBPR單元319可將第二水平及豎直位移捨入至與第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移。
在一些情況下,用於框間預測第一當前區塊之框間預測模式與用於第二當前區塊之框間預測模式可為不同的。舉例而言,不同框間預測模式中之第一模式為仿射模式,且不同框間預測模式中之第二模式為雙向光流(BDOF)模式。
水平及豎直位移經捨入至之精確度層級可經預定義並儲存以供GBPR單元319使用,或GBPR單元319可接收指示經傳信資訊之精確度層級之資訊(例如,精確度層級經傳信)。作為一個實例,精確度層級為1/64。
GBPR單元319可基於經捨入的水平及豎直位移來判定一或多個細化偏移。舉例而言,GBPR單元319可判定以預測區塊之一或多個樣本之第一樣本集合為基礎的第一梯度(例如,使用上文所述的預測區塊之樣本判定gx
(i,j))且判定以預測區塊之一或多個樣本之第二樣本集合為基礎的第二梯度(例如,使用上文所述的預測區塊之樣本判定gy
(i,j))。GBPR單元319可基於經捨入的水平及豎直位移及第一及第二梯度來判定一或多個細化偏移。在一些實例中,若一或多個細化偏移之值過高(例如,大於臨限值),則GBPR單元319可截割一或多個細化偏移。
GBPR單元319可基於所判定的一或多個細化偏移或經截割的一或多個細化偏移來修改預測區塊之一或多個樣本以產生經修改預測區塊(例如,形成經修改預測區塊之一或多個經修改樣本)。舉例而言,GBPR單元319可判定:,其中gx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第一梯度,Δvx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的水平位移,gy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第二梯度,且Δvy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的豎直位移。在一些實例中,Δvx
及Δvy
對於預測區塊的樣本(i,j)中之每一者可為相同的。
所得經修改樣本可形成以梯度為基礎的預測細化中的經修改預測區塊。亦即,經修改預測區塊可用作以梯度為基礎的預測細化中之預測區塊。重建構單元310可使用預測區塊及殘餘區塊重建構當前區塊。舉例而言,重建構單元310可將殘餘區塊之樣本添加至預測區塊之對應樣本以重建構當前區塊。
濾波器單元312可對經重建構區塊進行一或多個濾波操作。舉例而言,濾波器單元312可進行解區塊操作以減少沿經重建構區塊之邊緣的區塊效應偽影。濾波器單元312之操作不一定在所有實例中進行。
視訊解碼器300可將經重建構區塊儲存在DPB 314中。如上文所論述,DPB 314可將參考資訊(諸如用於框內預測之當前圖像及用於後續運動補償之先前經解碼圖像的樣本)提供至預測處理單元304。此外,視訊解碼器300可輸出來自DPB之經解碼圖像以用於後續呈現於諸如圖1之顯示器件118的顯示器件上。
圖5為說明用於寫碼視訊資料之實例方法的流程圖。當前區塊可包括當前CU。圖5之實例係相對於處理電路系統描述。處理電路系統之實例包括用於視訊編碼器200之固定功能及/或可程式化電路系統(諸如GBPR單元227)及用於視訊解碼器300之固定功能及/或可程式化電路系統(諸如GBPR單元319)。
在一或多個實例中,記憶體可經組態以儲存預測區塊之樣本。舉例而言,DPB 218或DPB 314可經組態以儲存用於框間預測之預測區塊的樣本。區塊內複製可視為一實例框間預測模式,在此情況下,用於區塊內複製之區塊向量為運動向量之一實例。
處理電路系統可判定用於框間預測當前區塊之儲存於記憶體中之預測區塊(350)。處理電路系統可判定用於預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移(例如,Δvx
及Δvy
) (352)。作為一個實例,處理電路系統可判定用於框間預測當前區塊之框間預測模式。在一些實例中,處理電路系統可基於所判定之框間預測模式來判定水平及豎直位移。
處理電路系統可將水平及豎直位移捨入至對於不同框間預測模式相同的精確度層級(354)。舉例而言,當前區塊可為第一當前區塊,預測區塊可為第一預測區塊,水平及豎直位移可為第一水平及豎直位移,且經捨入的水平及豎直位移可為第一經捨入的水平及豎直位移。在一些實例中,處理電路系統可判定用於框間預測第二當前區塊之第二預測區塊,且判定用於第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移。處理電路系統可將第二水平及豎直位移捨入至與第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移。
在一些情況下,用於框間預測第一當前區塊之框間預測模式與用於第二當前區塊之框間預測模式可為不同的。舉例而言,不同框間預測模式中之第一模式為仿射模式,且不同框間預測模式中之第二模式為雙向光流(BDOF)模式。
水平及豎直位移經捨入至之精確度層級可經預定義或經傳信。作為一個實例,精確度層級為1/64。
處理電路系統可基於經捨入的水平及豎直位移來判定一或多個細化偏移(356)。舉例而言,處理電路系統可判定以預測區塊之一或多個樣本之第一樣本集合為基礎的第一梯度(例如,使用上文所述的預測區塊之樣本判定gx
(i,j))且判定以預測區塊之一或多個樣本之第二樣本集合為基礎的第二梯度(例如,使用上文所述的預測區塊之樣本判定gy
(i,j))。處理電路系統可基於經捨入的水平及豎直位移及第一及第二梯度來判定一或多個細化偏移。在一些實例中,若一或多個細化偏移之值過高(例如,大於臨限值),則處理電路系統可截割一或多個細化偏移。
處理電路系統可基於所判定的一或多個細化偏移或經截割的一或多個細化偏移來修改預測區塊之一或多個樣本以產生經修改預測區塊(例如,形成經修改預測區塊之一或多個經修改樣本) (358)。舉例而言,處理電路系統可判定:,其中gx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第一梯度,Δvx
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的水平位移,gy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的第二梯度,且Δvy
(i,j)為位於(i,j)處之一或多個樣本中之樣本的經捨入的豎直位移。在一些實例中,Δvx
及Δvy
對於預測區塊的樣本(i,j)中之每一者可為相同的。
處理電路系統可基於經修改預測區塊(例如,經修改預測區塊之一或多個經修改樣本)來寫碼(例如,編碼或解碼)當前區塊(360)。舉例而言,對於視訊解碼,處理電路系統(例如,視訊解碼器300)可基於經修改預測區塊來重建構當前區塊(例如,藉由將一或多個經修改樣本添加至接收到之殘餘值)。對於視訊編碼,處理電路系統(例如,視訊編碼器200)可判定當前區塊與經修改預測區塊(例如,經修改預測區塊之一或多個經修改樣本)之間的殘餘值(例如,殘餘區塊的殘餘值)且傳信指示殘餘值之資訊。
下文描述本發明之實例之非限制性說明性列表。
實例1. 一種解碼視訊資料之方法,該方法包含:判定用於框間預測當前區塊之一或多個預測區塊,判定用於框間預測當前區塊之框間預測模式,基於經判定的框間預測模式來判定用於一或多個預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平或豎直位移中之至少一者,基於經判定的水平或豎直位移中之至少一者來修改一或多個預測區塊之一或多個樣本以產生一或多個經修改樣本,及基於一或多個經修改樣本來重建構當前區塊。
實例2. 如實例1之方法,其中判定該框間預測模式包含判定將框間預測應用於具有較小大小的當前區塊,該方法進一步包含將當前區塊之運動向量捨入至整數運動向量,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例3. 如實例1之方法,其中當前區塊包含第一區塊且預測區塊包含第一預測區塊,該方法進一步包含判定用於具有較小大小的第二區塊之框間預測模式,且基於用於第二區塊之框間預測模式為合併模式,使用以梯度為基礎的預測細化來修改用於第二區塊之第二預測區塊的一或多個樣本,其中以梯度為基礎的預測細化對於未在合併模式下經框間預測的具有較小大小的區塊為禁用的。
實例4. 如實例1之方法,其中當前區塊包含第一區塊且預測區塊包含第一預測區塊,該方法進一步包含判定用於具有較小大小之第二區塊的框間預測模式,及基於用於第二區塊之框間預測模式不為整數運動模式,使用以梯度為基礎的預測細化來修改用於第二區塊之第二預測區塊之一或多個樣本,其中以梯度為基礎的預測細化對於具有整數運動模式之區塊為禁用的,其中在整數運動模式下,一或多個經傳信運動向量為整數。
實例5. 如實例1之方法,其中判定框間預測模式包含判定當前區塊係在合併模式下經框間預測的,該方法進一步包含捨入自空間或時間相鄰區塊導出之運動向量,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例6. 如實例1之方法,其中判定框間預測模式包含判定當前區塊係在與運動向量差模式合併下經框間預測的,該方法進一步包含捨入運動向量差,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例7. 如實例1之方法,其中判定框間預測模式包含判定當前區塊係在解碼器側運動向量細化模式下經框間預測的,該方法進一步包含使用原始運動向量判定原始雙向預測區塊,基於雙向預測區塊之間的差判定DistOrig,及基於在經捨入的原始向量之整數位移範圍內搜尋來判定DistNew,其中判定水平或豎直位移中之至少一者包含基於DistNew小於DistOrig來進行雙向光流(BDOF)以判定水平或豎直位移中之至少一者。
實例8. 如實例1之方法,其中判定框間預測模式包含判定當前區塊係在仿射模式下經框間預測的,且其中判定水平或豎直位移中之至少一者包含基於當前區塊之子區塊的位置來判定水平或豎直位移中之至少一者。
實例9. 如實例1之方法,其進一步包含將水平及豎直位移中之至少一者捨入至對於不同框間預測模式相同的預定精確度,其中修改一或多個樣本包含基於經捨入的水平或豎直位移中之至少一者來修改一或多個預測區塊之一或多個樣本以產生一或多個經修改樣本。
實例10. 如實例1之方法,其進一步包含截割一或多個經修改樣本,其中重建構當前區塊包含基於一或多個經截割經修改樣本來重建構當前區塊。
實例11. 一種方法,其包含如實例1至10中任何者的一或多個特徵之組合。
實例12. 一種編碼視訊資料之方法,該方法包含:判定用於框間預測當前區塊之一或多個預測區塊,判定用於框間預測當前區塊之框間預測模式,基於經判定的框間預測模式來判定用於一或多個預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平或豎直位移中之至少一者,基於經判定的水平或豎直位移中之至少一者來修改一或多個預測區塊之一或多個樣本以產生一或多個經修改樣本,基於當前區塊及一或多個經修改樣本來判定殘餘值,及傳信指示殘餘值之資訊。
實例13. 如實例12之方法,其中判定框間預測模式包含判定將框間預測應用於具有較小大小之當前區塊,該方法進一步包含將當前區塊之運動向量捨入至整數運動向量,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例14. 如實例12之方法,其中當前區塊包含第一區塊且預測區塊包含第一預測區塊,該方法進一步包含判定用於具有較小大小的第二區塊之框間預測模式,且基於用於第二區塊之框間預測模式為合併模式,使用以梯度為基礎的預測細化修改用於第二區塊之第二預測區塊的一或多個樣本,其中以梯度為基礎的預測細化對於未在合併模式下經框間預測的具有較小大小的區塊為禁用的。
實例15. 如實例12之方法,其中當前區塊包含第一區塊且預測區塊包含第一預測區塊,該方法進一步包含判定用於具有較小大小之第二區塊的框間預測模式,及基於用於第二區塊之框間預測模式不為整數運動模式,使用以梯度為基礎的預測細化來修改用於第二區塊之第二預測區塊之一或多個樣本,其中以梯度為基礎的預測細化對於具有整數運動模式之區塊為禁用的,其中在整數運動模式下,一或多個經傳信運動向量為整數。
實例16. 如實例12之方法,其中判定框間預測模式包含判定當前區塊係在合併模式下經框間預測的,該方法進一步包含捨入自空間或時間相鄰區塊導出之運動向量,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例17. 如實例12之方法,其中判定框間預測模式包含判定當前區塊係在與運動向量差模式合併下經框間預測的,該方法進一步包含捨入運動向量差,其中判定水平或豎直位移中之至少一者包含基於捨入之剩餘來判定水平或豎直位移中之至少一者。
實例18. 如實例12之方法,其中判定框間預測模式包含判定當前區塊係在解碼器側運動向量細化模式下經框間預測的,該方法進一步包含使用原始運動向量判定原始雙向預測區塊,基於雙向預測區塊之間的差判定DistOrig,及基於在經捨入的原始向量之整數位移範圍內搜尋來判定DistNew,其中判定水平或豎直位移中之至少一者包含基於DistNew小於DistOrig來進行雙向光流(BDOF)以判定水平或豎直位移中之至少一者。
實例19. 如實例12之方法,其中判定框間預測模式包含判定當前區塊係在仿射模式下經框間預測的,且其中判定水平或豎直位移中之至少一者包含基於當前區塊之子區塊的位置來判定水平或豎直位移中之至少一者。
實例20. 如實例12之方法,其進一步包含將水平及豎直位移中之至少一者捨入至對於不同框間預測模式為相同的預定精確度,其中修改一或多個樣本包含基於經捨入的水平或豎直位移中之至少一者來修改一或多個預測區塊之一或多個樣本以產生一或多個經修改樣本。
實例21. 如實例12之方法,其進一步包含截割一或多個經修改樣本,其中判定殘餘值包含基於當前區塊及一或多個經截割經修改樣本來判定殘餘值。
實例22. 一種方法,其包含如實例12至21中任何者的特徵之組合。
實例23. 一種用於解碼視訊資料之器件,該器件包含:記憶體,其經組態以儲存包括預測區塊之視訊資料;及視訊解碼器,其包含至少一個固定功能或可程式化電路系統,其中該視訊解碼器經組態以進行如實例1至11中任何者之方法。
實例24. 如實例23之器件,其進一步包含經組態以顯示經解碼視訊資料之顯示器。
實例25. 如實例23及24中任何者之器件,其中該器件包含攝影機、電腦、行動器件、廣播接收器器件或機上盒中之一或多者。
實例26. 一種用於編碼視訊資料之器件,該器件包含:記憶體,其經組態以儲存包括預測區塊的視訊資料;及視訊編碼器,其包含至少一個固定功能或可程式化電路系統,其中該視訊編碼器經組態以進行如實例12至22中任何者之方法。
實例27. 如實例26之器件,其進一步包含經組態以捕捉待編碼之視訊資料之攝影機。
實例28. 如實例26及27中任何者之器件,其中該器件包含電腦、行動器件、廣播接收器器件或機上盒中之一或多者。
實例29. 一種用於解碼視訊資料之器件,該器件包含用於進行如實例1至11中任何者之方法之構件。
實例30. 一種用於編碼視訊資料之器件,該器件包含用於進行如實例12至22中任何者之方法之構件。
實例31. 一種電腦可讀儲存媒體,其包含儲存於其上的指令,該等指令在經執行時使得用於解碼視訊資料之器件之一或多個處理器進行如實例1至11中任何者之方法。
實例32. 一種電腦可讀儲存媒體,包含儲存於其上之指令,該等指令在經執行時使得用於編碼視訊資料之器件之一或多個處理器進行如實例12至22中任何者之方法。
應認識到,視實例而定,本文中所描述之技術中之任何者的某些動作或事件可以不同順序進行、可經添加、合併或完全省去(例如,並非所有所描述動作或事件為實踐該等技術所必要)。此外,在某些實例中,可(例如)經由多線程處理、中斷處理或多個處理器同時而非依序進行動作或事件。
在一或多個實例中,所描述之功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而在電腦可讀媒體上儲存或傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括例如根據通信協定來促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體一般可對應於(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:輸入介面
130:四分樹二進位樹結構
132:寫碼樹單元
200:視訊編碼器
202:模式選擇單元
204:殘餘產生單元
206:轉換處理單元
208:量化單元
210:逆量化單元
212:逆轉換處理單元
214:重建構單元
216:濾波器單元
218:經解碼圖像緩衝器
220:熵編碼單元
222:運動估計單元
224:運動補償單元
226:框內預測單元
227:以梯度為基礎的預測細化單元
230:視訊資料記憶體
300:視訊解碼器
302:熵解碼單元
304:預測處理單元
306:逆量化單元
308:逆轉換處理單元
310:重建構單元
312:濾波器單元
314:經解碼圖像緩衝器
316:運動補償單元
318:框內預測單元
319:以梯度為基礎的預測細化單元
320:經寫碼圖像緩衝器記憶體
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
圖1為說明可進行本發明之技術之實例視訊編碼及解碼系統的方塊圖。
圖2A及2B為說明實例四分樹二進位樹(QTBT)結構及對應寫碼樹單元(CTU)之概念圖。
圖3為說明可進行本發明之技術的實例視訊編碼器的方塊圖。
圖4為說明可進行本發明之技術的實例視訊解碼器的方塊圖。
圖5為說明寫碼視訊資料之實例方法的流程圖。
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
Claims (33)
- 一種解碼視訊資料之方法,該方法包含: 判定用於框間預測一當前區塊之一預測區塊; 判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移; 將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級; 基於經捨入的水平及豎直位移來判定一或多個細化偏移; 基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊;及 基於該經修改預測區塊來重建構該當前區塊。
- 如請求項1之方法,其進一步包含: 截割該一或多個細化偏移, 其中修改該預測區塊之該一或多個樣本包含基於經截割的一或多個細化偏移來修改該預測區塊之該一或多個樣本。
- 如請求項1之方法,其中該等不同框間預測模式中之一第一模式為一仿射模式,且該等不同框間預測模式中之一第二模式為一雙向光流(BDOF)模式。
- 如請求項1之方法,其進一步包含: 判定用於框間預測該當前區塊之一框間預測模式, 其中判定該等水平及豎直位移包含基於經判定的框間預測模式來判定該等水平及豎直位移。
- 如請求項1之方法,其中該精確度層級為1/64。
- 如請求項1之方法,其進一步包含: 判定以該預測區塊之該一或多個樣本之一第一樣本集合為基礎的一第一梯度;及 判定以該預測區塊之該一或多個樣本之一第二樣本集合為基礎的一第二梯度, 其中判定該一或多個細化偏移包含基於該等經捨入的水平及豎直位移以及該第一梯度及該第二梯度來判定該一或多個細化偏移。
- 如請求項1之方法,其中該預測區塊為一第一預測區塊,該當前區塊為一第一當前區塊,該等水平及豎直位移為第一水平及豎直位移,該一或多個細化偏移為第一一或多個細化偏移,該等經捨入的水平及豎直位移為第一經捨入的水平及豎直位移,且該經修改預測區塊為一第一經修改預測區塊,該方法進一步包含: 判定用於框間預測一第二當前區塊之一第二預測區塊; 判定用於該第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移; 將該等第二水平及豎直位移捨入至與該等第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移; 基於該等第二經捨入的水平及豎直位移來判定第二一或多個細化偏移; 基於經判定的第二一或多個細化偏移來修改該第二預測區塊之該一或多個樣本以產生一第二經修改預測區塊;及 基於該第二經修改預測區塊來重建構該第二當前區塊。
- 一種編碼視訊資料之方法,該方法包含: 判定用於框間預測一當前區塊之一預測區塊; 判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移; 將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級; 基於經捨入的水平及豎直位移來判定一或多個細化偏移; 基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊; 判定指示該當前區塊與該經修改預測區塊之間的一差的殘餘值;及 傳信指示該等殘餘值之資訊。
- 如請求項9之方法,其進一步包含: 截割該一或多個細化偏移, 其中修改該預測區塊之該一或多個樣本包含基於經截割的一或多個細化偏移來修改該預測區塊之該一或多個樣本。
- 如請求項9之方法,其中該等不同框間預測模式中之一第一模式為一仿射模式,且該等不同框間預測模式中之一第二模式為一雙向光流(BDOF)模式。
- 如請求項9之方法,其進一步包含: 判定用於框間預測該當前區塊之一框間預測模式, 其中判定該等水平及豎直位移包含基於經判定的框間預測模式來判定該等水平及豎直位移。
- 如請求項9之方法,其中該精確度層級為1/64。
- 如請求項9之方法,其進一步包含: 判定以該預測區塊之該一或多個樣本之一第一樣本集合為基礎的一第一梯度;及 判定以該預測區塊之該一或多個樣本之一第二樣本集合為基礎的一第二梯度, 其中判定該一或多個細化偏移包含基於該等經捨入的水平及豎直位移以及該第一梯度及該第二梯度來判定該一或多個細化偏移。
- 如請求項9之方法,其中該預測區塊為一第一預測區塊,該當前區塊為一第一當前區塊,該等水平及豎直位移為第一水平及豎直位移,該一或多個細化偏移為第一一或多個細化偏移,該等經捨入的水平及豎直位移為第一經捨入的水平及豎直位移,該經修改預測區塊為一第一經修改預測區塊,且該等殘餘值包含第一殘餘值,該方法進一步包含: 判定用於框間預測一第二當前區塊之一第二預測區塊; 判定用於該第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移; 將該等第二水平及豎直位移捨入至與該等第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移; 基於該等第二經捨入的水平及豎直位移來判定第二一或多個細化偏移; 基於經判定的第二一或多個細化偏移來修改該第二預測區塊之該一或多個樣本以產生一第二經修改預測區塊; 判定指示該第二當前區塊與該第二經修改預測區塊之間的一差之第二殘餘值;及 傳信指示該等第二殘餘值之資訊。
- 一種用於寫碼視訊資料之器件,該器件包含: 一記憶體,其經組態以儲存一預測區塊之一或多個樣本;及 處理電路系統,其經組態以: 判定用於框間預測一當前區塊之該預測區塊; 判定用於該預測區塊之該一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移; 將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級; 基於經捨入的水平及豎直位移來判定一或多個細化偏移; 基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊;及 基於該經修改預測區塊來寫碼該當前區塊。
- 如請求項17之器件,其中為寫碼該當前區塊,該處理電路系統經組態以基於該經修改預測區塊來重建構該當前區塊。
- 如請求項17之器件,其中為寫碼該當前區塊,該處理電路系統經組態以: 判定指示該當前區塊與該經修改預測區塊之間的一差的殘餘值;及 傳信指示該等殘餘值之資訊。
- 如請求項17之器件,其中該處理電路系統經組態以: 截割該一或多個細化偏移, 其中為修改該預測區塊之該一或多個樣本,該處理電路系統經組態以基於經截割的一或多個細化偏移來修改該預測區塊之該一或多個樣本。
- 如請求項17之器件,其中該等不同框間預測模式中之一第一模式為一仿射模式,且該等不同框間預測模式中之一第二模式為一雙向光流(BDOF)模式。
- 如請求項17之器件,其中該處理電路系統經組態以: 判定用於框間預測該當前區塊之一框間預測模式, 其中為判定該等水平及豎直位移,該處理電路系統經組態以基於經判定的框間預測模式來判定該等水平及豎直位移。
- 如請求項17之器件,其中該精確度層級為1/64。
- 如請求項17之器件,其中該處理電路系統經組態以: 判定以該預測區塊之該一或多個樣本之一第一樣本集合為基礎的一第一梯度;及 判定以該預測區塊之該一或多個樣本之一第二樣本集合為基礎的一第二梯度, 其中為判定該一或多個細化偏移,該處理電路系統經組態以基於該等經捨入的水平及豎直位移以及該第一梯度及該第二梯度來判定該一或多個細化偏移。
- 如請求項17之器件,其中該預測區塊為一第一預測區塊,該當前區塊為一第一當前區塊,該等水平及豎直位移為第一水平及豎直位移,該一或多個細化偏移為第一一或多個細化偏移,該等經捨入的水平及豎直位移為第一經捨入的水平及豎直位移,且該經修改預測區塊為一第一經修改預測區塊,且其中,該處理電路系統經組態以: 判定用於框間預測一第二當前區塊之一第二預測區塊; 判定用於該第二預測區塊之一或多個樣本之以梯度為基礎的預測細化之第二水平及豎直位移; 將該等第二水平及豎直位移捨入至與該等第一水平及豎直位移經捨入至的相同精確度層級以產生第二經捨入的水平及豎直位移; 基於該等第二經捨入的水平及豎直位移來判定第二一或多個細化偏移; 基於經判定的第二一或多個細化偏移來修改該第二預測區塊之該一或多個樣本以產生一第二經修改預測區塊;及 基於該第二經修改預測區塊來寫碼該第二當前區塊。
- 如請求項17之器件,其進一步包含經組態以顯示經解碼視訊資料之一顯示器。
- 如請求項17之器件,其進一步包含經組態以捕捉待編碼之該視訊資料之一攝影機。
- 如請求項17之器件,其中該器件包含一攝影機、一電腦、一無線通信器件、一廣播接收器器件或一機上盒中之一或多者。
- 一種在其上儲存指令的電腦可讀儲存媒體,該等指令在經執行時使得一或多個處理器: 判定用於框間預測一當前區塊之一預測區塊; 判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移; 將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級; 基於經捨入的水平及豎直位移來判定一或多個細化偏移; 基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊;及 基於該經修改預測區塊來寫碼該當前區塊。
- 如請求項30之電腦可讀儲存媒體,其進一步包含指令,該等指令在經執行時使得該一或多個處理器: 截割該一或多個細化偏移, 其中使得該一或多個處理器修改該預測區塊之該一或多個樣本之該等指令包含使得該一或多個處理器基於經截割的一或多個細化偏移來修改該預測區塊之該一或多個樣本的指令。
- 一種用於寫碼視訊資料之器件,該器件包含: 用於判定用於框間預測一當前區塊之一預測區塊之構件; 用於判定用於該預測區塊之一或多個樣本之以梯度為基礎的預測細化之水平及豎直位移之構件; 用於將該等水平及豎直位移捨入至對於不同框間預測模式相同的一精確度層級之構件; 用於基於經捨入的水平及豎直位移來判定一或多個細化偏移之構件; 用於基於經判定的一或多個細化偏移來修改該預測區塊之該一或多個樣本以產生一經修改預測區塊之構件;及 用於基於該經修改預測區塊來寫碼該當前區塊之構件。
- 如請求項32之器件,其進一步包含: 用於截割該一或多個細化偏移之構件, 其中用於修改該預測區塊之該一或多個樣本之該構件包含用於基於經截割的一或多個細化偏移來修改該預測區塊之該一或多個樣本之構件。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962827677P | 2019-04-01 | 2019-04-01 | |
US62/827,677 | 2019-04-01 | ||
US201962837405P | 2019-04-23 | 2019-04-23 | |
US62/837,405 | 2019-04-23 | ||
US16/836,013 US11962796B2 (en) | 2019-04-01 | 2020-03-31 | Gradient-based prediction refinement for video coding |
US16/836,013 | 2020-03-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202046721A true TW202046721A (zh) | 2020-12-16 |
Family
ID=72605235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109111388A TW202046721A (zh) | 2019-04-01 | 2020-04-01 | 用於視訊寫碼之以梯度為基礎的預測細化 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11962796B2 (zh) |
EP (1) | EP3949413A1 (zh) |
JP (1) | JP7463399B2 (zh) |
KR (1) | KR20210138613A (zh) |
CN (1) | CN113940079A (zh) |
BR (1) | BR112021018810A2 (zh) |
SG (1) | SG11202109472RA (zh) |
TW (1) | TW202046721A (zh) |
WO (1) | WO2020205942A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113728651B (zh) | 2019-04-02 | 2022-10-25 | 北京字节跳动网络技术有限公司 | 视频处理中的自适应环路滤波 |
CN113711609B (zh) * | 2019-04-19 | 2023-12-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程中的增量运动矢量 |
CN113711608B (zh) | 2019-04-19 | 2023-09-01 | 北京字节跳动网络技术有限公司 | 利用光流的预测细化过程的适用性 |
EP3922015A4 (en) | 2019-04-19 | 2022-07-20 | Beijing Bytedance Network Technology Co., Ltd. | GRADIENT CALCULATION IN VARIOUS MOTION VECTOR REFINEMENTS |
US11523109B2 (en) * | 2019-05-02 | 2022-12-06 | Tencent America LLC | Method and apparatus for improvements of affine prof |
JP7431253B2 (ja) | 2019-05-16 | 2024-02-14 | 北京字節跳動網絡技術有限公司 | 動き情報精緻化のサブ領域に基づいた決定 |
CN114503557A (zh) * | 2019-09-22 | 2022-05-13 | 寰发股份有限公司 | 视频编码中光流预测精化的取样裁剪方法和装置 |
WO2023020590A1 (en) * | 2021-08-19 | 2023-02-23 | Mediatek Inc. | Method and apparatus for hardware-friendly template matching in video coding system |
KR20230055191A (ko) | 2021-10-18 | 2023-04-25 | 현대모비스 주식회사 | 내가수분해성 및 레이저 투과 안정성이 우수한 수지 성형품, 이를 포함하는 카메라 모듈 부재 및 자동차 전장 부품 부재 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036399A1 (en) | 2015-09-02 | 2017-03-09 | Mediatek Inc. | Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques |
KR102525033B1 (ko) | 2015-11-11 | 2023-04-24 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
CN114827599A (zh) * | 2016-02-03 | 2022-07-29 | Oppo广东移动通信有限公司 | 运动图像解码装置、编码装置、以及预测图像生成装置 |
CN109121465B (zh) * | 2016-05-06 | 2023-06-06 | 交互数字麦迪逊专利控股公司 | 用于运动补偿残差预测的系统和方法 |
DE112017006657B4 (de) * | 2016-12-28 | 2021-03-11 | Arris Enterprises Llc | Adaptive planare Prädiktion mit ungleichen Gewichten |
US10701366B2 (en) | 2017-02-21 | 2020-06-30 | Qualcomm Incorporated | Deriving motion vector information at a video decoder |
JP7036628B2 (ja) * | 2017-03-10 | 2022-03-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US10477237B2 (en) * | 2017-06-28 | 2019-11-12 | Futurewei Technologies, Inc. | Decoder side motion vector refinement in video coding |
CN117478884A (zh) * | 2017-07-03 | 2024-01-30 | Vid拓展公司 | 用于视频编解码的设备、方法 |
EP3643065A1 (en) * | 2017-07-24 | 2020-04-29 | ARRIS Enterprises LLC | Intra mode jvet coding |
US11575933B2 (en) * | 2018-04-06 | 2023-02-07 | Vid Scale, Inc. | Bi-directional optical flow method with simplified gradient derivation |
US10986343B2 (en) * | 2018-04-15 | 2021-04-20 | Arris Enterprises Llc | Reducing overhead for multiple-hypothesis temporal prediction |
US11317088B2 (en) | 2019-05-17 | 2022-04-26 | Qualcomm Incorporated | Gradient-based prediction refinement for video coding |
-
2020
- 2020-03-31 US US16/836,013 patent/US11962796B2/en active Active
- 2020-04-01 SG SG11202109472R patent/SG11202109472RA/en unknown
- 2020-04-01 WO PCT/US2020/026126 patent/WO2020205942A1/en unknown
- 2020-04-01 JP JP2021557957A patent/JP7463399B2/ja active Active
- 2020-04-01 EP EP20722051.8A patent/EP3949413A1/en active Pending
- 2020-04-01 TW TW109111388A patent/TW202046721A/zh unknown
- 2020-04-01 BR BR112021018810A patent/BR112021018810A2/pt unknown
- 2020-04-01 KR KR1020217030567A patent/KR20210138613A/ko active Search and Examination
- 2020-04-01 CN CN202080023997.6A patent/CN113940079A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022527194A (ja) | 2022-05-31 |
CN113940079A (zh) | 2022-01-14 |
SG11202109472RA (en) | 2021-10-28 |
JP7463399B2 (ja) | 2024-04-08 |
KR20210138613A (ko) | 2021-11-19 |
WO2020205942A1 (en) | 2020-10-08 |
EP3949413A1 (en) | 2022-02-09 |
US20200314443A1 (en) | 2020-10-01 |
BR112021018810A2 (pt) | 2021-11-23 |
US11962796B2 (en) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202025752A (zh) | 用於仿射模式之以歷史為基礎之運動向量預測 | |
TW202114418A (zh) | 用於視訊寫碼中低頻非可分離變換之變換及最後有效係數位置信令傳輸 | |
TW202046721A (zh) | 用於視訊寫碼之以梯度為基礎的預測細化 | |
TW202101989A (zh) | 用於視訊寫碼之參考圖像重採樣及框間寫碼工具 | |
TW202044839A (zh) | 用於視訊寫碼之區塊內複製合併資料語法 | |
US11632563B2 (en) | Motion vector derivation in video coding | |
TW202041002A (zh) | 解碼器側運動向量精緻化之限制 | |
TW202038611A (zh) | 用於視訊寫碼之三角運動資訊 | |
US11539952B2 (en) | Implicit transform selection in video coding | |
TW202025767A (zh) | 具有適應性方向性資訊集合之最終動作向量表示 | |
TW202115977A (zh) | 用於視訊編碼的跨分量自我調整迴路濾波 | |
TW202123699A (zh) | 具有協調的運動場儲存及運動補償的幾何分區模式 | |
US20200288126A1 (en) | Reshaping filter average calculation for video coding | |
TW202106012A (zh) | 用於視訊寫碼之多重自適應迴路濾波器集合 | |
US20210092434A1 (en) | Adaptive motion vector resolution for affine motion model in video coding | |
TW202041009A (zh) | 用於轉換跳過模式之係數寫碼 | |
TW202007148A (zh) | 具有位置依賴之內部預測組合(pdpc)之合併模式依賴的內部平化(mdis)及內部插值濾波器切換 | |
TWI826487B (zh) | 用於視訊寫碼中之適應性運動向量差解析度及增加的運動向量儲存精確度的運動向量捨位 | |
TW202123705A (zh) | 低頻不可分離變換(lfnst)訊號傳遞 | |
TW202046740A (zh) | 適應性迴路濾波器組之索引發信 | |
CN112514386A (zh) | 网格编解码量化系数编解码 | |
TW202038609A (zh) | 用於視訊寫碼之共享候選清單及平行候選清單推導 | |
TW202101996A (zh) | 用於視訊寫碼之以梯度為基礎之預測精細化 | |
TW202110177A (zh) | 用於視訊寫碼之適應性迴路濾波之非線性延伸 | |
TW202034695A (zh) | 用於視訊寫碼之限制仿射運動繼承 |