TWI846765B - 以歷史為基礎之運動向量預測之簡化 - Google Patents

以歷史為基礎之運動向量預測之簡化 Download PDF

Info

Publication number
TWI846765B
TWI846765B TW108143288A TW108143288A TWI846765B TW I846765 B TWI846765 B TW I846765B TW 108143288 A TW108143288 A TW 108143288A TW 108143288 A TW108143288 A TW 108143288A TW I846765 B TWI846765 B TW I846765B
Authority
TW
Taiwan
Prior art keywords
motion vector
vector prediction
hmvp
block
current block
Prior art date
Application number
TW108143288A
Other languages
English (en)
Other versions
TW202107894A (zh
Inventor
韓于
錢威俊
黃漢
馬塔 卡茲維克茲
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202107894A publication Critical patent/TW202107894A/zh
Application granted granted Critical
Publication of TWI846765B publication Critical patent/TWI846765B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一種對視訊資料寫碼之方法,其包括:建構一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊;建構一運動向量預測子清單;及將來自該HMVP候選者歷史表之一或多個HMVP候選者添加至該運動向量預測子清單。添加來自該HMVP候選者歷史表之該一或多個HMVP候選者包含:將該HMVP候選者歷史表中之一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較且不與其他條目進行比較;及當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單。該方法亦包括使用該運動向量預測子清單對視訊資料之該當前區塊寫碼。

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)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。圖像可被稱作圖框,且參考圖像可被稱作參考圖框。
大體而言,本發明描述用於視訊寫碼中之框間預測及運動向量重建構的技術。更具體言之,本發明描述用於基於以歷史為基礎之運動向量預測(HMVP)之框間預測運動向量候選者清單(亦被稱作運動向量預測子清單)建構的技術。如更詳細地描述,視訊寫碼器(例如,視訊編碼器或視訊解碼器)可經組態以執行簡化修剪操作。在本發明中,修剪操作大體係指判定來自HMVP候選者歷史表之HMVP候選者是否將被添加至運動向量預測子清單的操作。在一些狀況下,修剪操作可指自運動向量預測子清單移除HMVP候選者。作為簡化修剪操作之實例,視訊寫碼器可將HMVP候選者歷史表中之HMVP候選者之子集與運動向量預測子清單中之條目之僅一子集進行比較以判定HMVP候選者之子集與運動向量預測子清單中之條目之子集相同抑或不同。
僅當HMVP候選者之子集中之HMVP候選者中之一或多者不同於運動向量預測子清單中之條目之子集時,視訊寫碼器才可將HMVP候選者之子集中之HMVP候選者中之一或多者添加至運動向量預測子清單。以此方式,視訊寫碼器可限制判定哪些HMVP候選者將被添加至運動向量預測子清單所需的比較操作之數目。限制比較操作之數目可減少建構運動向量預測子清單所需之時間量,藉此減少編碼或解碼視訊資料及改良視訊寫碼器之總體操作所需的時間量。
在一個實例中,本發明描述一種用於對視訊資料寫碼之方法,該方法包含:建構一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊;建構一運動向量預測子清單;將來自該HMVP候選者歷史表之一或多個HMVP候選者添加至該運動向量預測子清單,其中添加來自該HMVP候選者歷史表之該一或多個HMVP候選者包含:將該HMVP候選者歷史表中之一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較且不與該運動向量預測子清單中之其他條目進行比較;及當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;及使用該運動向量預測子清單對視訊資料之該當前區塊寫碼。
在一個實例中,本發明描述一種用於對視訊資料寫碼之裝置,該裝置包含記憶體,該記憶體經組態以儲存一以歷史為基礎之運動向量預測(HMVP)候選者歷史表及一運動向量預測子清單,該HMVP候選者歷史表包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊。該裝置包括處理電路系統,該處理電路系統經組態以:建構該HMVP候選者歷史表以用於儲存於該記憶體中,建構該運動向量預測子清單以用於儲存於該記憶體中,將來自該HMVP候選者歷史表之一或多個HMVP候選者添加至該運動向量預測子清單,其中為了添加來自該HMVP候選者歷史表之該一或多個HMVP候選者,該處理電路系統經組態以:將該HMVP候選者歷史表中之一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較且不與該運動向量預測子清單中之其他條目進行比較,且當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;且使用儲存於該記憶體中之該運動向量預測子清單對視訊資料之該當前區塊寫碼。
在一個實例中,本發明描述一種非暫時性電腦可讀儲存媒體,其上儲存有指令,該等指令在經執行時使一或多個處理器:建構一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊;建構一運動向量預測子清單;將來自該HMVP候選者歷史表之一或多個HMVP候選者添加至該運動向量預測子清單,其中使該一或多個處理器添加來自該HMVP候選者歷史表之該一或多個HMVP候選者的該等指令包含使該一或多個處理器進行以下操作之指令:將該HMVP候選者歷史表中之一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較且不與該運動向量預測子清單中之其他條目進行比較,且當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;且使用該運動向量預測子清單對視訊資料之該當前區塊寫碼。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優勢自實施方式、圖式及申請專利範圍將為顯而易見的。
本申請案主張2018年11月27日申請之美國臨時申請案第62/771,981號之權益,該申請案之全部內容以引用之方式併入本文中。
視訊寫碼(例如,視訊編碼或視訊解碼)包括框間預測或框內區塊複製(IBC)。在框間預測或IBC兩者中,視訊編碼器基於當前區塊之運動向量(對於IBC,該運動向量可為區塊向量)而判定預測區塊,判定預測區塊與當前區塊之間的殘餘資訊(例如,差),且發信殘餘資訊。視訊解碼器接收殘餘資訊。另外,視訊解碼器判定當前區塊之運動向量,且基於該運動向量而判定預測區塊。視訊解碼器將殘餘資訊添加至預測區塊以重建構當前區塊。
視訊解碼器判定當前區塊之運動向量的一種方式係基於運動向量預測子清單。視訊編碼器及視訊解碼器兩者利用類似程序建構各別運動向量預測子清單,使得由視訊編碼器建構之運動向量預測子清單與由視訊解碼器建構之運動向量預測子清單為相同的。運動向量預測子清單包括先前經寫碼區塊之運動向量資訊,諸如空間相鄰區塊(例如,與當前區塊處於相同圖像中之與該當前區塊相鄰的區塊)及同置(collocated)區塊(例如,位於其他圖像中之特定位置處的區塊)。
視訊編碼器判定運動向量預測子清單中之條目,且發信指示條目之資訊。視訊解碼器基於條目自運動向量預測子清單而判定運動向量資訊,且基於經判定運動向量資訊而判定當前區塊之運動向量。作為一個實例,視訊解碼器可將當前區塊之運動向量設定為等於經判定運動向量資訊(例如,諸如在合併模式中)。作為另一實例,視訊解碼器可將由視訊編碼器發信之運動向量差(MVD)添加至經判定運動向量資訊,以判定當前區塊之運動向量(例如,諸如在進階運動向量預測(AMVP)模式中)。
除了空間相鄰區塊或同置區塊之外,視訊編碼器及視訊解碼器可使用以歷史為基礎之運動向量預測(HMVP)候選者來建構運動向量預測子清單。HMVP候選者可用作HMVP預測之部分,其中視訊編碼器及視訊解碼器建構包括HMVP候選者之HMVP候選者歷史表。HMVP候選者可包括比空間相鄰區塊擴展得更多(例如,比空間相鄰區塊更遠離當前區塊)之先前經寫碼區塊的運動向量資訊。
在一些技術中,視訊編碼器及視訊解碼器將來自HMVP候選者歷史表之HMVP候選者添加至運動向量預測子清單中。然而,將HMVP候選者添加至運動向量預測子清單中可能導致運動向量預測子清單中之重複條目。作為一實例,HMVP候選者之運動向量資訊可與空間相鄰區塊之已經在運動向量預測子清單中的運動向量資訊相同。因此,在一些實例中,視訊編碼器及視訊解碼器執行修剪操作,在該修剪操作中,僅當HMVP候選者不同於已經在運動向量預測子清單中之條目時才添加HMVP候選者。舉例而言,視訊編碼器及視訊解碼器將HMVP候選者與運動向量預測子清單中之條目進行比較,且僅當HMVP候選者不同於運動向量預測子清單中之條目時才添加HMVP候選者。
此類修剪操作中可能存在一些技術問題。例如,將HMVP候選者中之每一者與運動向量預測子清單中之每一條目進行比較可能需要許多比較操作,此可能使寫碼程序變慢。然而,在運動向量預測子清單中具有重複候選者亦可能影響寫碼效率。運動向量預測子清單之最大大小可為固定的。因此,若運動向量預測子清單包括重複條目且運動向量預測子清單為完整的(例如,條目之數目等於最大大小),則有可能的是將提供較佳寫碼效率之潛在條目被省略但存在同一條目之重複,此可能負面地影響寫碼增益。
本發明描述以使減少比較操作之增益與在運動向量預測子清單中具有重複條目之成本平衡的方式使用HMVP候選者來建構運動向量預測子清單的實例技術。在運動向量預測子清單中可存在HMVP候選者之子集及條目之子集,相比於運動向量預測子清單中之剩餘HMVP候選者及剩餘條目,該等子集有較高可能性存在重複。
在本發明中所描述之一或多個實例中,視訊編碼器及視訊解碼器可將HMVP候選者之子集與運動向量預測子清單中之條目之僅子集進行比較以判定是否添加HMVP候選者之子集中之HMVP候選者。對於剩餘HMVP候選者,視訊編碼器及視訊解碼器可不將HMVP候選者與運動向量預測子清單中之條目中之任一者進行比較。
運動向量預測子清單中之條目可包括當前區塊之左側相鄰區塊之運動向量資訊。第一HMVP候選者可包括與左側之左側相鄰區塊相鄰之第一區塊的運動向量資訊,且第二HMVP候選者可包括與左側之第一區塊相鄰之第二區塊的運動向量資訊。
在此實例中,第一區塊(例如,第一HMVP候選者)之運動資訊與左側相鄰區塊之運動資訊相同的可能性較高,接著第二區塊(例如,第二HMVP候選者)之運動資訊與左側相鄰區塊之運動資訊相同之可能性的可能性較高。另外,第一HMVP候選者與運動向量預測子清單中之一些其他條目相同的可能性可能相對較小,此係因為運動向量預測子清單中之其他條目可能不與第一HMVP相鄰或相對接近。
第一HMVP候選者具有較高可能性具有與左側相鄰區塊相同的運動向量資訊可歸因於第一區塊與左側相鄰區塊之接近度。大體而言,相比於較遠離之區塊之運動向量資訊相同的可能性,彼此較接近之區塊之運動向量資訊相同的可能性更高。
在一些實例中,視訊編碼器及視訊解碼器可將第一HMVP候選者與左側相鄰區塊之運動向量資訊之運動向量預測子清單中的條目(及可能運動向量預測子清單中之有限的再多幾個條目(例如,再多一個條目))進行比較,但可不將第一HMVP候選者與運動向量預測子清單中之剩餘條目中之任一者進行比較。若第一HMVP候選者不同於運動向量預測子清單之子集中之條目,則視訊編碼器及視訊解碼器可在運動向量預測子清單中添加第一HMVP候選者。若第一HMVP候選者與運動向量預測子清單之子集中之條目中之任一者相同,則視訊編碼器及視訊解碼器可不在運動向量預測子清單中添加第一HMVP候選者。
以此方式減少比較操作之數目(例如,視訊編碼器及視訊解碼器可將第一HMVP候選者與運動向量預測子清單中之條目之僅一子集進行比較)。在一些實例中,可存在運動向量預測子清單中存在重複條目之機率。作為一實例,運動向量預測子清單中之條目中未與第一HMVP候選者進行比較的一個條目有可能具有與第一HMVP候選者相同的運動向量資訊。在此狀況下,運動向量預測子清單中可存在重複運動向量資訊。然而,在一些實例中,運動向量預測子清單中未與第一HMVP候選者進行比較之條目可用於相對遠離第一HMVP候選者之區塊。因此,第一HMVP候選者與運動向量預測子清單中之剩餘條目中未與第一HMVP候選者進行比較的任何條目相同的可能性可能相對較低。
因此,可減少經執行以用於修剪之操作之數目,同時保持重複運動向量資訊之可能性為低。舉例而言,作為運動向量預測子清單之修剪操作之部分,視訊編碼器及視訊解碼器可將HMVP候選者歷史表中之第一HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第一HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第一HMVP候選者添加至運動向量預測子清單。在此實例中,儘管未將第一HMVP候選者與運動向量預測子清單中之剩餘條目進行比較,但歸因於第一HMVP候選者係用於不接近於運動向量資訊用以建構運動向量預測子清單中之剩餘條目之區塊的區塊,運動向量預測子清單中之剩餘條目中之一者為第一HMVP候選者之重複的可能性為低。
圖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,該視訊編碼器編碼圖像之資料。源裝置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中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可整合為各別裝置中之組合式編碼器/解碼器(編碼解碼器)的部分。包括視訊編碼器200及/或視訊解碼器300之裝置可包含積體電路、微處理器及/或無線通信裝置,諸如蜂巢式電話。
視訊寫碼標準包括ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264 (亦稱為ISO/IEC MPEG-4 AVC),包括其可調式視訊寫碼(SVC)及多視圖視訊寫碼(MVC)擴展。
高效視訊寫碼(HEVC)或ITU-T H.265 (視訊技術電路及系統IEEE彙刊,2012年12月,第22卷,第12號,第1649至1668頁,G. J. Sullivan、J.-R. Ohm、W.-J. Han,T. Wiegand之「Overview of the High Efficiency Video Coding (HEVC) Standard」)(包括其範圍擴展、多視圖擴展(MV-HEVC)及可調式擴展(SHVC))已由視訊寫碼聯合合作小組(JCT-VC)以及ITU-T視訊寫碼專家群(VCEG)及ISO/IEC動畫專家群(MPEG)之3D視訊寫碼擴展開發聯合合作小組(JCT-3V)開發。在下文中被稱作HEVC WD之HEVC草規範可自http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip獲得。HEVC之國際標準的最終草案(FDIS)的最新版本可見於http://phenix.it-sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip中。
ITU-T VCEG (Q6/16)及ISO/IEC MPEG (JTC 1/SC 29/WG 11)現正研究對於將具有顯著超過當前HEVC標準(包括其當前擴展及針對螢幕內容寫碼及高動態範圍寫碼的近期擴展)之壓縮能力的未來視訊寫碼技術標準化的潛在需要。該等群組正共同致力於聯合合作工作(被稱為聯合視訊探索小組(JVET))中之此探索活動,以評估由此領域中之專家提出的壓縮技術設計。JVET在2015年10月19日至21日期間第一次會面。參考軟體之版本,亦即聯合探索測試模型7 (JEM 7)可自https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.2/下載。聯合探索測試模型7 (JEM-7)之演算法描述係描述於J. Chen、E. Alshina、G. J. Sullivan、J.-R. Ohm、J. Boyce (JVET-G1001,2017年7月)的「Algorithm Description of Joint Exploration Test Model 7」中。
視訊編碼器200及視訊解碼器300可根據視訊寫碼標準操作,諸如ITU-T H.265,亦被稱作高效視訊寫碼(HEVC)或其擴展,諸如多視圖及/或可調式視訊寫碼擴展。替代地,視訊編碼器200及視訊解碼器300可根據其他專有或工業標準(諸如聯合探索測試模型(JEM)及/或多功能視訊寫碼(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及/或VVC之實例操作。根據JEM/VVC之實例,視訊寫碼器(諸如視訊編碼器200)將圖像分割成複數個寫碼樹型單元(CTU)。視訊編碼器200可根據樹型結構(諸如四分樹二元樹(QTBT)結構)分割CTU。JEM/VVC的實例之QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU及TU之間的間距。JEM/VVC之實例之QTBT結構包括兩個層級:根據四分樹分割進行分割之第一層級,及根據二元樹分割進行分割之第二層級。QTBT結構之根節點對應於CTU。二進位樹之葉節點對應於寫碼單元(CU)。
在一些實例中,視訊編碼器200及視訊解碼器300可使用單一QTBT結構以表示明度及色度分量中之每一者,而在其他實例中,視訊編碼器200及視訊解碼器300可使用兩個或更多個QTBT結構,諸如用於明度分量之一個QTBT結構及用於兩個色度分量之另一QTBT結構(或用於各別色度分量之兩個QTBT結構)。
視訊編碼器200及視訊解碼器300可經組態以使用根據HEVC之四分樹分割、根據JEM/VVC之實例之QTBT分割,或其他分割結構。出於解釋之目的,關於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及視訊解碼器300可經組態以使用框間預測對當前區塊進行編碼或解碼。在框間預測中,視訊編碼器200及視訊解碼器300基於當前區塊之運動向量而判定預測區塊。舉例而言,當前區塊之運動向量指向另一圖像中或可能同一圖像中之預測區塊以用於框內區塊複製(IBC)模式。
在一些實例中,代替視訊編碼器200發信當前區塊之運動向量之值,視訊編碼器200可發信運動向量預測子之資訊,視訊解碼器300使用該資訊來判定當前區塊之運動向量。舉例而言,視訊編碼器200及視訊解碼器300可經組態以建構包括先前經編碼或經解碼區塊之運動向量資訊的運動向量預測子清單。先前經編碼或經解碼區塊之運動向量資訊可被視為運動向量預測子。視訊編碼器200及視訊解碼器300可執行類似操作以建構運動向量預測子清單。
視訊編碼器200可發信指示至運動向量預測子清單中之條目的資訊,該條目識別特定運動向量預測子。視訊解碼器300可基於至運動向量預測子清單中之條目而判定運動向量預測子。對於合併模式,視訊解碼器300可將運動向量預測子設定為等於當前區塊之運動向量。對於AMVP模式,視訊解碼器300可進一步自視訊編碼器200接收運動向量預測子與當前區塊之運動向量之間的運動向量差(MVD)。視訊解碼器300可將MVD添加至運動向量預測子以判定當前區塊之運動向量。
運動向量預測子清單可包括空間相鄰區塊(例如,鄰近於當前區塊且與當前區塊在同一圖像中之區塊)之運動向量資訊及同置區塊(例如,在另一圖像中處於特定位置中之區塊)之運動向量資訊作為運動向量預測子。同置區塊可被稱作時間相鄰區塊。
視訊編碼器200及視訊解碼器300可在運動向量候選者清單中添加空間相鄰區塊及同置區塊之運動向量資訊以建構運動向量候選者清單。在一或多個實例中,視訊編碼器200及視訊解碼器300可經組態以將來自HMVP候選者歷史表之以歷史為基礎之運動向量預測(HMVP)候選者進一步添加至運動向量候選者清單中。
HMVP候選者指延伸超出當前區塊之鄰近相鄰區塊之區塊的運動向量資訊。舉例而言,鄰近於當前區塊且在當前區塊左側之區塊可為作為空間相鄰區塊之左側相鄰區塊的實例。左側相鄰區塊之運動資訊可包括於運動向量候選者清單中。鄰近於左側相鄰區塊之區塊並非空間相鄰區塊,且此類區塊之運動資訊為作為HMVP候選者歷史表之部分的HMVP候選者之實例。
本發明描述視訊編碼器200及視訊解碼器300可執行以將來自HMVP候選者歷史表之HMVP候選者添加至運動向量預測子清單中之實例技術。作為一個實例,HMVP候選者歷史表可被視為包括HMVP候選者之第一子集及HMVP候選者之第二子集。在一個實例中,HMVP候選者之第一子集包括來自HMVP候選者歷史表之兩個(例如,前兩個) HMVP候選者,且HMVP候選者之第二子集包括HMVP候選者歷史表中之剩餘HMVP候選者。
視訊編碼器200及視訊解碼器300可經組態以將HMVP候選者之第一子集中之HMVP候選者中之每一者與運動向量候選者清單中之條目之子集(例如,少於全部條目)進行比較。作為一實例,視訊編碼器200及視訊解碼器300可基於空間相鄰區塊及同置區塊之運動向量資訊而建構運動向量候選者清單。視訊編碼器200及視訊解碼器300可將HMVP候選者之第一子集中之HMVP候選者中之每一者與運動向量候選者清單之兩個條目進行比較,且在HMVP候選者不同於運動向量候選者清單中之條目的情況下在HMVP候選者之第一子集中添加HMVP候選者。
舉例而言,HMVP候選者之第一子集可包括第一HMVP候選者及第二HMVP候選者。在此實例中,視訊編碼器200及視訊解碼器300可將第一HMVP候選者與運動向量候選者清單中之第一條目及運動向量候選者清單中之第二條目進行比較,且不與運動向量候選者清單中之其他條目進行比較。若第一HMVP候選者不同於第一條目及第二條目,則視訊編碼器200及視訊解碼器300可將第一HMVP候選者添加至運動向量候選者清單中。
視訊編碼器200及視訊解碼器300可將第二HMVP候選者與運動向量候選者清單中之第一條目及運動向量候選者清單中之第二條目進行比較,且不與運動向量候選者清單中之其他條目進行比較。若第二HMVP候選者不同於第一條目及第二條目,則視訊編碼器200及視訊解碼器300可將第二HMVP候選者添加至運動向量候選者清單中。
第一HMVP候選者及第二HMVP候選者用以指示兩個HMVP候選者係選自該等HMVP候選者。第一HMVP候選者及第二HMVP候選者可為HMVP候選者歷史表中之前兩個候選者,但實例技術不限於此。類似地,運動向量預測子清單中之第一條目及第二條目可為運動向量預測子清單中之前兩個條目,但實例技術不限於此。
若在添加HMVP候選者之第一子集中之一或多個(例如,一個或兩個) HMVP候選者之後,運動向量預測子清單中之條目之總數目小於運動向量預測子清單中之條目之最大數目,則視訊編碼器200及視訊解碼器300可添加來自HMVP候選者之第二子集的HMVP候選者,直至運動向量預測子清單之大小達到最大大小或HMVP候選者之第二子集中不存在更多的HMVP候選者為止。在一或多個實例中,視訊編碼器200及視訊解碼器300可添加來自HMVP候選者之第二子集的HMVP候選者,而不將來自HMVP候選者之第二子集之HMVP候選者與運動向量預測子清單中之條目進行比較。
視訊編碼器200及視訊解碼器300可建構運動向量預測子清單以包括HMVP候選者,同時使執行比較操作之成本與最小化運動向量預測子清單中之條目之重複的益處平衡。舉例而言,視訊編碼器200及視訊解碼器300可將HMVP候選者添加至運動向量預測子清單中而不執行任何比較操作以判定HMVP候選者是否為運動向量預測子清單中之已存在條目之重複。在此狀況下,運動向量預測子清單有可能變得完整但排除可能良好的運動向量預測子候選者(例如,接近實際運動向量之運動向量),此係因為重複運動向量存在於運動向量預測子清單中且運動向量預測子清單為完整的。然而,將每一HMVP候選者與運動向量預測子清單中之每一條目進行比較以排除任何重複可能增加建構運動向量預測子清單所需之處理時間,此又增加編碼或解碼程序之時間。
根據本發明中描述之一或多個實例,藉由限制HMVP候選者與運動向量預測子清單中之條目之間的比較之數目以判定是否存在重複,需要執行之比較操作之數目得以限制。舉例而言,如上文所描述,視訊編碼器200及視訊解碼器300可將HMVP候選者之第一子集(例如,兩個HMVP候選者)與運動向量預測子清單中之條目之子集(例如,運動向量預測子清單中之兩個條目)進行比較。視訊編碼器200及視訊解碼器300可添加來自第一子集之不同於運動向量預測子清單之條目之子集的HMVP候選者中之一或多者,且排除來自第一子集之與運動向量預測子清單之條目之子集中之條目中之一者相同的HMVP候選者中之一或多者。以此方式,相比於將所有HMVP候選者與運動向量預測子清單中之所有條目進行比較的狀況,比較之數目得以減少,藉此減少了建構運動向量預測子清單所需之時間量。
此外,特定HMVP候選者為運動向量預測子清單中之條目之重複的可能性可基於HMVP候選者之區塊及運動向量資訊包括於運動向量預測子清單中之區塊的位置。舉例而言,運動向量預測子清單中之第一條目可包括左側相鄰區塊之運動向量資訊,且運動向量預測子中之第二條目可包括上方相鄰區塊之運動向量資訊。在一些實例中,第一HMVP候選者可為與左側相鄰區塊之左側相鄰之區塊的運動向量資訊,且第二HMVP候選者可為在上方相鄰區塊上方之區塊的運動向量資訊。
歸因於第一HMVP候選者之區塊相對於左側及上方相鄰區塊的相對位置,第一HMVP候選者類似於運動向量預測子清單之第一條目或第二條目的可能性高於類似於運動向量預測子清單中之任何其他條目的可能性。類似地,歸因於第二HMVP候選者之區塊相對於左側及上方相鄰區塊的相對位置,第二HMVP候選者類似於運動向量預測子清單之第一條目或第二條目的可能性高於類似於運動向量預測子清單中之任何其他條目的可能性。
歸因於第一HMVP候選者之區塊相對於第二HMVP之區塊的相對位置,第一HMVP候選者及第二HMVP候選者與運動向量預測子清單中之其他條目(例如,排除第一條目及第二條目)中之任一者相同的可能性相對較低。另外,歸因於該等候選者之各別區塊之相對位置,剩餘HMVP候選者(例如,排除第一HMVP候選者及第二HMVP候選者)與運動向量預測子清單中之條目中之任一者相同的可能性相對較低。因此,在一或多個實例中,視訊編碼器200及視訊解碼器300可將HMVP候選者之第二子集添加至運動向量預測子清單中而不將HMVP候選者與運動向量預測子清單中之條目中之任一者進行比較,直至運動向量預測子清單完整或不存在更多可用的HMVP候選者為止。
同樣,在以上實例中,包括第一HMVP候選者及第二HMVP候選者之HMVP候選者的第一子集可為HMVP候選者歷史表中之前兩個HMVP候選者,但實例技術不限於此。另外,HMVP候選者之第二子集可包括排除第一HMVP候選者及第二HMVP候選者之剩餘HMVP候選者。此外,運動向量預測子清單中之條目之子集可為運動向量預測子清單中之前兩個條目,但實例技術不限於此。
本發明通常可指「發信」某些資訊,諸如語法元素。術語「發信」通常可指用於解碼經編碼視訊資料之語法元素及/或其他資料的值之傳達。亦即,視訊編碼器200可在位元串流中發信語法元素的值。大體而言,發信係指在位元串流中產生值。如上文所提及,源裝置102可實質上即時地或不即時地將位元串流輸送至目的地裝置116,諸如可在將語法元素儲存至儲存裝置112以供目的地裝置116稍後擷取時發生。
關於圖2及圖3更詳細地說明且描述視訊編碼器200及視訊解碼器300之實例。在描述圖2及圖3之前,下文關於圖4A、圖4B、圖5及圖6描述諸如運動向量預測之視訊寫碼程序之一些額外細節。
下文綜述HEVC中之CU結構及運動向量預測。在HEVC中,圖塊中之最大寫碼單元被稱作寫碼樹型區塊(CTB)或寫碼樹型單元(CTU)。CTB含有四分樹,該四分樹之節點為寫碼單元。
CTB之大小可介於HEVC主規範中之16×16至64×64的範圍(儘管技術上可支援8×8 CTB大小)。寫碼單元(CU)可與CTB具有相同大小,小至8×8。每一寫碼單元運用一個模式進行寫碼,諸如經框間寫碼或經框內寫碼。經框間寫碼亦可被稱作經框間預測寫碼或經框間預測。經框內寫碼亦可被稱作經框內預測寫碼或經框內預測。
當CU經框間寫碼時,CU可進一步分割成2或4個預測單元(PU),或在未應用進一步分割時可為一個PU。當兩個PU存在於一個CU中時,PU可為一半大小的矩形或具有CU之¼或¾大小的兩個矩形大小。當CU經框間寫碼時,每一PU具有一組運動資訊,該組運動資訊係運用框間預測模式導出。
下文綜述運動向量預測。在HEVC標準中,存在用於預測單元(PU)之兩個框間預測模式,分別稱為合併(跳過被視為合併之特殊狀況)及進階運動向量預測(AMVP)模式。在AMVP或合併模式中,針對多個運動向量預測子維持運動向量(MV)候選者清單。MV候選者清單可被稱作運動向量預測子清單。當前PU之運動向量以及合併模式中之參考索引係藉由自MV候選者清單獲取一個候選者而產生。MV候選者清單可含有至多5個候選者用於合併模式且僅兩個候選者用於AMVP模式。合併候選者可含有一組運動資訊,例如,對應於參考圖像清單(清單0及清單1)及參考索引兩者之運動向量。若由合併索引識別合併候選者,則判定用於當前區塊之預測的參考圖像,以及相關聯之運動向量。換言之,由合併索引在運動向量預測子清單中識別的運動向量及參考圖像被設定為等於當前區塊之運動向量及參考圖像。
另一方面,在AMVP模式下,對於來自清單0或清單1之每一潛在預測方向,需要將參考索引,連同MV預測子(MVP)索引顯式地發信至MV候選者清單,此係由於AMVP候選者僅含有一運動向量。在AMVP模式中,可進一步改進經預測運動向量(例如,基於上文所描述之運動向量差(MVD))。以類似方式自相同空間及時間相鄰區塊導出用於兩個模式之候選者。
下文綜述運動向量資訊形成為運動向量預測子之空間相鄰區塊。在一些實例中,分別針對特定PU (PU0 ) 434及438,自圖4A及圖4B中所展示之相鄰區塊導出空間MV候選者(例如,空間運動向量預測子),但用於自區塊產生候選者的方法針對合併及AMVP模式而不同。圖4A為展示用於合併模式之空間相鄰候選者的概念圖。圖4B為展示用於AMVP模式之空間相鄰候選者的概念圖。
在合併模式中,在一些實例中,可運用在圖4A中展示之次序導出至多五個空間MV候選者,且該次序如下:左側(0, A1)、上方(1, B1)、右上方(2, B0)、左下方(3, A0)及左上方(4, B2),如圖4A中所展示。舉例而言,對於PU0 434,區塊A1經識別為0且位於PU0 434左側,區塊B1經識別為1且位於PU0 434上方,區塊B0經識別為2且位於PU0 434右上方及PU1 436上方,區塊A0經識別為3且位於PU0 434左下方,且區塊B2經識別為4且位於PU0 434左上方。
在AMVP模式中,在一些實例中,相鄰區塊被劃分成兩個群組:左側群組,其包括分別位於PU0 438之左下方及左側的區塊0及1;及上方群組,其包括位於PU01 438之右上方、上方及左上方的區塊2、3及4,如圖4B中所展示。區塊2位於PU1 440上方。對於每一群組,參考與由發信之參考索引指示之參考圖像相同的參考圖像之相鄰區塊中之潛在候選者具有待選擇之最高優先級以形成群組之最終候選者。所有相鄰區塊可不含有指向相同參考圖像之運動向量。因此,若無法發現此候選者,則可縮放第一可用候選者以形成最終候選者,且因此可補償時間距離差。
下文運用圖5綜述時間運動向量預測。圖5為展示時間運動向量預測子(TMVP)候選者及TMVP之運動向量縮放的概念圖。
在一些實例中,將TMVP候選者(若啟用且可用)添加至MV候選者清單(例如,運動向量預測子清單)中,位於空間運動向量候選者(例如,空間相鄰區塊之運動向量資訊)之後。用於TMVP候選者之運動向量導出之程序對於合併及AMVP模式兩者相同,然而,合併模式中之TMVP候選者之目標參考索引設定為0。
在一些實例中,用於TMVP候選者導出之初級區塊位置為在如圖5中展示為區塊T 540之同置PU之外的右下方區塊。區塊T 540之位置可補償用以產生空間相鄰候選者之上方及左側區塊的偏置。然而,若區塊T 540定位於當前CTB列之外或運動資訊不可用於區塊T 540,則區塊T 540被取代為PU之中心區塊541。
在圖5中,當前圖像550中之TMVP候選者之運動向量548自同置圖像546之同置PU導出,以圖塊層級指示。同置PU之運動向量(MV)被稱作同置MV 542。為了導出TMVP候選者運動向量,同置MV 542可經縮放以補償時間距離差,如圖5中所展示。舉例而言,同置圖像546與同置參考圖像544之間的時間差及當前圖像550與當前參考圖像552之間的時間差用以縮放同置MV 542以產生運動向量548。
下文綜述HEVC中之運動預測的一些其他態樣。在下文描述合併及AMVP模式之若干態樣。
運動向量縮放 :運動向量之值可與呈現時間中之圖像之距離成比例。運動向量與兩個圖像相關聯:參考圖像及含有運動向量之圖像(亦即,含有圖像)。當利用一運動向量預測另一運動向量時,基於圖像次序計數(POC)值而計算含有圖像與參考圖像之距離。
對於待預測之運動向量,其相關聯之含有圖像及參考圖像可不同。因此,計算新距離(基於POC),且基於此兩個POC距離縮放運動向量。對於空間相鄰候選者,用於兩個運動向量之含有圖像相同,而同置參考圖像不同。在HEVC中,運動向量縮放適用於空間及時間相鄰候選者之TMVP及AMVP兩者。
人工運動向量候選者產生 :若運動向量候選者清單不完整(例如,候選者少於預定數目),則在候選者清單之末尾處產生且插入人工運動向量候選者,直至候選者清單具有所有候選者為止。在合併模式中,存在兩種類型之人工MV候選者:僅針對B圖塊導出之組合候選者,及在僅針對B圖塊導出之組合候選者並不提供足夠人工候選者來填充候選者清單的情況下,僅用於AMVP的零候選者。
對於已在候選者清單中且具有必要運動資訊之每一對候選者,由參考清單0中之圖像之第一候選者的運動向量與參考清單1中之圖像之第二候選者的運動向量之組合導出雙向組合運動向量候選者。
用於候選者插入之修剪程序 :來自不同區塊之候選者可恰好相同,此降低合併/AMVP候選者清單之效率。應用修剪程序以解決此問題。修剪程序將當前候選者清單中之一個候選者與其他候選者進行比較,以避免插入相同候選者。為了降低複雜度,僅應用有限數目個修剪程序,以避免將每一潛在候選者與清單中之所有其他現有候選者進行比較。
VVC之開發包括增強型運動向量預測。舉例而言,已提議若干框間寫碼工具,其導出或改進當前區塊之運動向量預測或合併預測的候選者清單。在下文描述若干實例。
下文描述以歷史為基礎之運動預測(HMVP),如在2018年7月, L. Zhang, K. Zhang, H. Liu, Y. Wang, P. Zhao及D. Hong之「CE4-related: History-based Motion Vector Prediction」JVET-K0104中所描述。HMVP為以歷史為基礎之方法,其中視訊編碼器200及視訊解碼器300自過去解碼之MV以及緊鄰的因果相鄰運動欄位中之彼等MV的清單判定每一區塊之MV預測子(例如,緊密空間相鄰區塊之MV為緊鄰因果相鄰運動欄位中之MV之實例)。HMVP包括視訊編碼器200及視訊解碼器300,其建構先前經解碼為HMVP候選者之運動向量的表。
在一些實施例中,視訊編碼器200及視訊解碼器300可在編碼/解碼程序期間建構具有多個HMVP候選者之表。建構表可包括將HMVP候選者添加至該表,以及自該表移除HMVP候選者。視訊編碼器200及視訊解碼器300可經組態以在遇到新圖塊用於編碼或解碼時將表清空(例如,移除HMVP候選者)。每當存在經框間寫碼區塊時,視訊編碼器200及視訊解碼器300可經組態以按先進先出(FIFO)方式將相關聯運動資訊插入至表中作為新的HMVP候選者。隨後,視訊編碼器200及視訊解碼器300可經組態以應用約束FIFO規則。在一些技術中,當將HMVP候選者插入至表時,視訊編碼器200及視訊解碼器300可經組態以首先應用冗餘檢查(例如,修剪)以判定表中是否存在相同HMVP候選者。若發現,則視訊編碼器200及視訊解碼器300可經組態以自表移除彼特定HMVP候選者,且彼候選者之後的所有HMVP候選者皆移動。
視訊編碼器200及視訊解碼器300可經組態以在合併候選者清單建構程序中使用HMVP候選者。舉例而言,視訊編碼器200及視訊解碼器300可經組態以在TMVP候選者之後將來自最末條目之所有HMVP候選者插入至表中之第一條目。視訊編碼器200及視訊解碼器300可經組態以將修剪應用於HMVP候選者。一旦可用合併候選者之總數目達到所允許合併候選者之經發信或預定的最大數目,視訊編碼器200及視訊解碼器300便可經組態以終止合併候選者清單建構程序。合併候選者清單建構為建構運動向量預測子清單之一個實例。
類似地,視訊編碼器200及視訊解碼器300可經組態以在AMVP候選者清單建構程序中使用HMVP候選者來建構AMVP候選者清單。視訊編碼器200及視訊解碼器300可經組態以在TMVP候選者之後將最後K 個HMVP候選者之運動向量插入於表中。視訊編碼器200及視訊解碼器300可經組態以僅使用具有與AMVP目標參考圖像相同的參考圖像之HMVP候選者來建構AMVP候選者清單。視訊編碼器200及視訊解碼器300可經組態以將修剪應用於HMVP候選者。AMVP候選者清單建構為建構運動向量預測子清單之另一實例。
下文描述非鄰近空間合併候選者。非鄰近空間合併候選者之建構涉及自兩個非鄰近相鄰位置導出新的空間候選者,該建構如R. Yu等人在2018年7月10日至18日在斯洛文尼亞盧布爾雅那之ITU-T SG 16 WP 3與ISO/IEC JTC 1/SC 29/WG 11聯合視訊專家小組(JVET)第11次會議上的「CE 4-2.1: Adding non-adjacent spatial merge candidates」(下文中稱為「JVET-K0228」)中所描述。舉例而言,如圖6中所展示,視訊編碼器200及視訊解碼器300可自當前區塊648上方之最近非鄰近區塊650及/或自當前區塊648左側之最近非鄰近區塊652導出新的空間候選者。舉例而言,圖6說明具有相鄰區塊A0、A1、B2、B1及B0之當前區塊648。在一些實例中,非鄰近空間合併候選者包括圖6中不與當前區塊648空間相鄰之區塊HN 652及區塊VN 650的運動資訊。亦即,圖6說明運動向量資訊可用以建構HMVP候選者歷史表之區塊的實例。
區塊650及652距當前區塊648之最大距離限於1 CTU內。非鄰近候選者之提取程序開始於在豎直方向上追蹤先前經解碼區塊。豎直反追蹤在遇到框間區塊時或所追蹤逆行距離達到1 CTU大小時停止。
提取程序隨後在水平方向上追蹤先前經解碼區塊。用於停止水平提取程序之規則取決於是否存在成功提取之豎直非鄰近候選者。若未提取豎直非鄰近候選者,則水平提取程序在遇到經框間寫碼區塊或所追蹤逆行距離超過一個CTU大小臨限值時停止。若豎直非鄰近候選者經提取,則水平提取程序在遇到含有來自豎直非鄰近候選者之不同MV的經框間寫碼區塊或所追蹤逆行距離超過一個CTU大小臨限值時停止。經提取非鄰近相鄰候選者在TMVP候選者之前被添加於合併候選者清單中。
下文描述成對平均值候選者。在VTM3.0 (VVC測試模型3.0)中使用成對平均值候選者。視訊編碼器200及視訊解碼器300可經組態以藉由對當前合併候選者清單中之候選者之預定義對(包括空間候選者、TMVP及HMVP)求平均值來產生成對平均值候選者。在一個實例中,預定義對被定義為{(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)},其中數字表示至合併候選者清單之合併索引。視訊編碼器200及視訊解碼器300可經組態以分別針對每一參考清單計算平均運動向量。若兩個運動向量皆可用於一個清單中,則視訊編碼器200及視訊解碼器300可經組態以甚至在兩個運動向量指向不同參考圖像時對此兩個運動向量求平均值。若僅一個運動向量可用,則視訊編碼器200及視訊解碼器300可經組態以直接使用一個運動向量。若運動向量不可用,則視訊編碼器200及視訊解碼器300可經組態以保持參考圖像清單(例如,清單0及清單1中之一或兩者)無效。成對平均值候選者代替HEVC標準中之組合候選者。
舉例而言,在雙向預測中,運動向量候選者可包括指向清單0及清單1中之兩個參考的兩個運動向量,或運動向量候選者可僅包括指向清單0 (或清單1)之一個運動向量。因此,對於單向候選者,一個清單為無效的(例如,若運動向量指向清單0,則清單1為無效的,且反之亦然)。
下文描述針對候選者0及候選者1判定成對平均值候選者之實例,其中候選者0為雙向預測候選者且包括兩個運動向量:(MV0_list0(x_list0, y_list0))及(MV0_list1(x_list1, y_list1)) ,且候選者1為僅包括一個運動向量(MV1_list0(x_list0, y_list0))之單向預測。在此實例中,清單1對於候選者1為無效的,且所產生之成對候選者為雙向MV ((MV0_list0+MV1_list0/2), MV0_list1)。
如上文所描述,HMVP預測模式使用以歷史為基礎之查找表,其儲存來自過去之經解碼MV。HMVP查找表(亦被稱作HMVP候選者歷史表)可應用於諸如合併模式及AMVP模式之框間預測模式中。當將來自歷史表之HMVP候選者添加至合併清單或AMVP清單時,視訊編碼器200及視訊解碼器300可經組態以應用冗餘檢查以尋找清單中是否存在相同(例如,重複)候選者。在一些實例中,如上文所描述,應用完整冗餘檢查可能過於複雜(例如,需要許多計算資源或時脈循環),尤其對於硬體實施。在一些實例中,應在編碼/解碼框間CU之後更新HMVP候選者歷史表。另外,當將新的HMVP候選者添加至HMVP候選者歷史表時,亦應用冗餘檢查。
鑒於此等缺點,本發明描述若干技術,其中視訊編碼器200及視訊解碼器300可經組態以使用經修改建構程序來建構HMVP候選者歷史表。另外,本發明描述額外技術,其中視訊編碼器200及視訊解碼器300可經組態以自HMVP候選者歷史表判定候選者以供用於運動向量預測子清單中(例如,用於合併運動向量預測子清單、用於仿射運動向量預測子清單及/或用於AMVP運動向量預測子清單)。
在本發明之一個實例中,視訊編碼器200及視訊解碼器300可經組態以將新的HMVP候選者添加至HMVP候選者歷史表而不執行冗餘檢查。若HMVP候選者之數目達到HMVP候選者歷史表之最大允許大小,則視訊編碼器200及視訊解碼器300可經組態以移除表中之最舊的HMVP候選者,接著添加新的HMVP候選者。
在本發明之另一實例中,視訊編碼器200及視訊解碼器300可經組態以在將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單(諸如合併候選者清單、AMVP候選者清單或仿射候選者清單)時對HMVP候選者歷史表次取樣。舉例而言,HMVP候選者歷史表之大小可為N,次取樣速率可為R,且HMVP候選者歷史表中之初始位置可為S。在一個實例中,N = 10,R = 3,S = 1。因此,HMVP候選者歷史表為{c1, c2, c3, c4, c5, c6, c7, c8, c9, c10}。在前向次序中,經選擇HMVP候選者為{c1, c4, c7, c10}。若使用反向次序來選擇候選者,則經選擇HMVP候選者為{c10, c7, c4, c1}。
亦即,在一個實例中,HMVP候選者包括{c1, c2, c3, c4, c5, c6, c7, c8, c9, c10}。若次取樣速率為3,則視訊編碼器200及視訊解碼器300可選擇每第三個樣本。若次取樣之位置為1,則視訊編碼器200及視訊解碼器300選擇第一HMVP候選者且接著選擇每第三個樣本。舉例而言,在前向方向上,第一樣本為c1,接著c4 (c1之後的第三個樣本),接著c7 (c4之後的第三個樣本)及c10。在後向方向上,自c10開始,次取樣之結果為{c10, c7, c4, c1}。
作為一個實例,提供次取樣,且技術不限於此。在一些實例中,可不存在HMVP候選者歷史表之次取樣。
在本發明之另一實例中,視訊編碼器200及視訊解碼器300可經組態以使用簡化修剪演算法以將來自HMVP候選者歷史表之HMVP候選者添加至運動向量預測子清單(諸如合併候選者清單、AMVP候選者清單或仿射候選者清單)。在一個實例中,當將來自HMVP候選者歷史表之HMVP候選者添加至運動向量預測子清單(例如,合併清單)時,視訊編碼器200及視訊解碼器300可經組態以藉由預定義候選者修剪HMVP候選者。視訊編碼器200及視訊解碼器300可經組態以藉由相同預定義候選者或藉由不同預定義候選者修剪每一HMVP候選者。預定義候選者可由候選者之位置或類型指定。
舉例而言,預定義候選者之數目為Y。當將HMVP候選者添加至運動向量預測清單時,視訊編碼器200及視訊解碼器300可經組態以使用Y個候選者之子集來修剪HMVP候選者。舉例而言,在VTM及基準集合(BMS)軟體中,如圖4A、圖4B及圖5中所展示,空間及時間候選者之集合為{A1, B1, B0, A0, B2, TMVP}。如上文所描述,A1在圖4A中由數字0識別,B1在圖4A中由數字1識別,B0在圖4A中由數字2識別,A0在圖4A中由數字3識別,且B2在圖4A中由數字4識別。TMVP區塊在圖5中識別為區塊T 540。
可藉由與Y個候選者之subseti 進行比較來修剪候選者HMVPi。Y亦可包括HMVP候選者。作為一實例,視訊編碼器200及視訊解碼器300可將第一HMVP候選者(例如,HMVP1 )與運動向量預測子清單中之Y個候選者之第一子集(例如,subet1 )進行比較,且將第二HMVP候選者(例如,HMVP2 )與運動向量預測子清單中之Y個候選者之第一子集進行比較。在此實例中,subset1 可包括運動向量預測子清單中之兩個條目(例如,運動向量預測子清單中之Y個候選者等於運動向量預測子清單中之兩個條目)。
作為一實例,Y為{A1, B1, B0, A0, B2, TMVP, HMVPi}。作為另一實例,Y為{A1, B1, B0, A0, B2, TMVP}(例如,基於空間及時間相鄰區塊之運動向量資訊而建構運動向量預測子清單)。
Y之Subset1 為{A1及B1}以指示運動向量預測子清單中之兩個條目。舉例而言,區塊A1 (例如,圖4A中之區塊0)之運動向量資訊及區塊B1 (例如,圖4A中之區塊1)之運動向量資訊可為運動向量預測子清單中之兩個條目,且可能為前兩個條目。
在此實例中,視訊編碼器200及視訊解碼器300可將第一HMVP候選者與區塊A1 (例如,圖4A中之區塊0)之運動向量資訊及區塊B1 (例如,圖4A中之區塊1)之運動向量資訊進行比較。若第一HMVP候選者不同於區塊A1之運動向量資訊及區塊B1之運動向量資訊,則視訊編碼器200及視訊解碼器300可將第一HMVP添加至運動向量預測子清單中。若第一HMVP候選者與區塊A1或區塊B1之運動向量資訊相同,則視訊編碼器200及視訊解碼器300可不將第一HMVP添加至運動向量預測子清單中。
類似地,在此實例中,視訊編碼器200及視訊解碼器300可將第二HMVP候選者與區塊A1 (例如,圖4A中之區塊0)之運動向量資訊及區塊B1 (例如,圖4A中之區塊1)之運動向量資訊進行比較。若第二HMVP候選者不同於區塊A1之運動向量資訊及區塊B1之運動向量資訊,則視訊編碼器200及視訊解碼器300可將第二HMVP添加至運動向量預測子清單中。若第二HMVP候選者與區塊A1或區塊B1之運動向量資訊相同,則視訊編碼器200及視訊解碼器300可不將第二HMVP添加至運動向量預測子清單中。
在以上實例中,第一HMVP候選者及第二HMVP候選者可被視為由{A1, B1}「修剪」。舉例而言,僅當第一HMVP候選者不同於A1之運動向量資訊且B1為添加至運動向量預測子清單之第一HMVP候選者時,及僅當第二HMVP候選者不同於A1之運動向量資訊且B1為添加至運動向量預測子清單之第二HMVP候選者時。
在一些實例中,藉由{A1, B1}修剪所有HMVP候選者。在另一實例中,藉由{A1, B1, B0, A0}修剪HMVP候選者。在另一實例中,可藉由不同候選者修剪不同HMVP候選者。舉例而言,在以上狀況下,HMVP候選者歷史表之大小為10。視訊編碼器200及視訊解碼器300可自每3個HMVP候選者選擇一個HMVP候選者以添加於合併清單{c1, c4, c7, c10}中。藉由{A1, B1, B0}修剪候選者c1。藉由{A1, B1}修剪候選者c4。藉由{A1}修剪候選者c7。不修剪候選者c10。在另一實例中,可藉由其他HMVP候選者修剪HMVP候選者。
在另一實例中,當將來自HMVP候選者歷史表之HMVP候選者添加至運動向量預測子清單時,視訊編碼器200及視訊解碼器300可經組態以藉由運動向量預測子清單(諸如合併候選者清單、AMVP候選者清單或仿射候選者清單)中之預定義候選者修剪HMVP候選者。舉例而言,如上文所描述,當將HMVP候選者添加至合併清單時視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之前M個候選者修剪HMVP候選者。舉例而言,M=2。當將來自HMVP候選者歷史表之HMVP候選者添加至合併清單時,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之前兩個候選者修剪HMVP候選者。
換言之,視訊編碼器200及視訊解碼器300可建構運動向量預測子清單(例如,合併清單或AMVP清單)。視訊編碼器200及視訊解碼器300可將HMVP候選者歷史表中之第一HMVP候選者與運動向量預測子清單中之兩個條目進行比較(例如,M=2,且兩個條目為運動向量預測子清單中之前兩個條目)且不與運動向量預測子清單中之其他條目進行比較,且當第一HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第一HMVP候選者添加至運動向量預測子清單。視訊編碼器200及視訊解碼器300可將HMVP候選者歷史表中之第二HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第二HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第二HMVP候選者添加至運動向量預測子清單。
在另一實例中,當將HMVP候選者添加至合併清單時,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之指定類型之候選者修剪HMVP候選者。舉例而言,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之先前添加之空間候選者修剪新的HMVP候選者。作為另一實例,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之空間候選者及/或TMVP候選者及/或HMVP候選者修剪新的HMVP候選者。
作為另一實例,當將HMVP候選者添加至合併清單時,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之指定數目個指定類型之候選者修剪HMVP候選者。舉例而言,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之前M個空間候選者修剪HMVP候選者。
對於另一實例,當將HMVP候選者添加至合併清單時,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之最接近的W個候選者修剪HMVP候選者。舉例而言,W = 2,且4個候選者可已添加於合併清單中。當將新的HMVP候選者添加至合併清單時,視訊編碼器200及視訊解碼器300可經組態以藉由合併清單中之第三個候選者及第四個候選者修剪新的HMVP候選者。
對於另一實例,當將HMVP候選者添加至AMVP清單0 (例如,參考圖像清單0)時,視訊編碼器200及視訊解碼器300可經組態以使用相同參考(相同參考索引,或相同POC)來選擇HMVP候選者作為當前寫碼區塊。視訊編碼器200及視訊解碼器300可以如上文所描述之前向次序或後向次序檢查HMVP候選者。視訊編碼器200及視訊解碼器300可經組態以藉由清單中之指定數目N個AMVP候選者修剪第一數目M個HMVP候選者。對於雙向預測,AMVP清單1可以與清單0相同之方式產生。舉例而言,在虛擬測試模型(VTM)中,AMVP清單之大小為2。若M=1且N=1,則僅藉由清單中之第一AMVP候選者修剪第一HMVP候選者。若M=0,則不應用修剪。
在另一實例中,視訊編碼器200及視訊解碼器300可經組態以定義大小為W×H之區塊(區)。視訊編碼器200及視訊解碼器300可經組態以對同一W×H區內部之寫碼區塊使用同一HMVP候選者歷史表。
下一區段與合併清單組織相關。在一個實例中,視訊編碼器200及視訊解碼器300可經組態以不將HMVP候選者用於成對平均值候選者產生。對於一實例,預定義對被定義為{(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)},其中該等數字表示至合併候選者清單之合併索引。若對中之候選者中的任一者為HMVP候選者,則視訊編碼器200及視訊解碼器300可經組態以不使用此對來產生成對候選者。
在另一實例中,視訊編碼器200及視訊解碼器300可經組態以將成對平均值候選者置放於HMVP候選者前方。舉例而言,視訊編碼器200及視訊解碼器300可經組態以將成對候選者之對數目減少為N且將N個成對候選者置於HMVP候選者前方。舉例而言,當N=2時,視訊編碼器200及視訊解碼器300可僅使用{(0,1), (0,2)}來產生成對候選者且將其置於HMVP候選者前方。作為另一實例,當N=1時,視訊編碼器200及視訊解碼器300可僅使用{(0,1)}來產生成對候選者且將其置於HMVP候選者前方。
視訊編碼器200及視訊解碼器300可經組態以藉由比較兩個運動向量預測子之間的參考方向及/或參考索引及/或POC及/或運動向量(具有/不具有縮放)來執行修剪。若該等比較中之一或多者匹配,則視訊編碼器200及視訊解碼器300可經組態以不將此運動向量預測子添加至候選者清單。
在另一實例中,HMVP表之大小(N)、次取樣速率(R)、初始位置(S)、HMVP表之數目、選擇方法、修剪方法及/或寫碼區塊共用同一歷史表之區大小W×H可在視訊編碼器200及視訊解碼器300兩者中預定義,或設定為在序列層級、圖像層級、圖塊層級或區塊層級下自視訊編碼器200發信至視訊解碼器300之值。舉例而言,此類實例資訊可在序列參數集(SPS)、圖像參數集(PPS)、圖塊標頭(SH)、寫碼樹型單元(CTU)或寫碼單元(CU)中發信。
圖2為說明可執行本發明之技術之實例視訊編碼器200的方塊圖。出於解釋之目的而提供圖2,且不應將其視為對如本發明中所廣泛例示及描述之技術的限制。出於解釋之目的,本發明在諸如HEVC視訊寫碼標準及開發中之H.266/VVC視訊寫碼標準的視訊寫碼標準之上下文中描述視訊編碼器200。然而,本發明之技術並不限於此等視訊寫碼標準,且通常適用於視訊編碼及解碼。
在圖2之實例中,視訊編碼器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之各種單元之輸出的臨時儲存。
圖2之各種單元經說明以輔助理解由視訊編碼器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可根據樹型結構分割圖像之CTU,諸如上文所描述之HEVC的QTBT結構或四分樹結構。如上文所描述,視訊編碼器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可擷取由各別運動向量識別之兩個參考區塊的資料,且例如經由逐樣本求平均值或經加權求平均值來組合所擷取之資料。
根據本發明之技術,運動估計單元222及運動補償單元224可使用HMVP候選者歷史表來執行框間預測及運動向量預測技術。舉例而言,如下文將更詳細地解釋,運動估計單元222及運動補償單元224可經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單,且使用運動向量預測子清單對視訊資料區塊寫碼。
舉例而言,運動估計單元222及運動補償單元224可經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊。舉例而言,HMVP候選者歷史表包括HMVP候選者,諸如不緊鄰當前區塊之區塊的運動向量資訊。可在合併模式中對當前區塊編碼,但如AMVP及或框內區塊複製(IBC)模式之其他模式係可能的。
運動估計單元222及運動補償單元224亦可建構運動向量預測子清單。運動向量預測子清單包括空間相鄰區塊或同置區塊(例如,時間相鄰區塊)之運動向量資訊。作為一個實例,運動向量預測子清單可包括空間相鄰區塊A1、B1、B0、A0及B2中之一或多者的運動向量資訊,其中,在圖4A中,區塊A1經識別為0且位於PU0 434左側,區塊B1經識別為1且位於PU0 434上方,區塊B0經識別為2且位於PU0 434右上方及PU1 436上方,區塊A0經識別為3且位於PU0 434左下方,且區塊B2經識別為4且位於PU0 434左上方。運動向量預測子清單亦可包括時間相鄰區塊T 540之運動向量資訊。
運動估計單元222及運動補償單元224可將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單。舉例而言,為了添加來自HMVP候選者歷史表之一或多個HMVP候選者,運動估計單元222及運動補償單元224可經組態以將HMVP候選者歷史表中之第一HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第一HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第一HMVP候選者添加至運動向量預測子清單。運動估計單元222及運動補償單元224亦可經組態以將HMVP候選者歷史表中之第二HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第二HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第二HMVP候選者添加至運動向量預測子清單。
在一些實例中,運動向量預測子清單中之兩個條目中之第一條目可包括左側相鄰區塊(例如,在圖4A中表示為0之區塊A1)之運動向量資訊。運動向量預測子清單中之兩個條目中之第二條目可包括上方相鄰區塊(例如,在圖4A中表示為1之區塊B1)之運動向量資訊。運動向量預測子清單中之第一條目及第二條目可為運動向量預測子清單中之前兩個條目,但技術不限於此。另外,第一HMVP候選者及第二HMVP候選者可為HMVP候選者歷史表中之前兩個候選者。
在一些實例中,即使在運動估計單元222及運動補償單元224將第一HMVP候選者及第二HMVP候選者中之一者或兩者包括至運動向量預測子清單中之後,運動向量預測子清單之大小亦可能尚未達到其最大大小。在此類狀況下,第一HMVP候選者及第二HMVP候選者可被視為HMVP候選者之第一子集之實例,但更多HMVP候選者可包括於HMVP候選者之第一子集中。運動估計單元222及運動補償單元224可將來自HMVP候選者歷史表中之一或多個HMVP候選者之第一子集之後的一或多個HMVP候選者之第二子集的一或多個HMVP候選者添加至運動向量預測子清單,而不將來自第二子集之一或多個HMVP候選者與運動向量預測子清單中之條目進行比較。
運動估計單元222及運動補償單元224可經組態以判定當前區塊之用於識別預測區塊的運動向量。運動估計單元222及運動補償單元224可基於當前區塊之經判定運動向量而判定至運動向量預測子清單中之條目。舉例而言,對於合併模式,運動估計單元222及運動補償單元224可判定運動向量預測子清單中具有與經判定運動向量之運動向量資訊相同的運動向量資訊之條目。對於AMVP模式,運動估計單元222及運動補償單元224可判定運動向量預測子清單中具有類似於經判定運動向量之運動向量資訊的運動向量資訊之條目。運動估計單元222及運動補償單元224亦可判定條目之運動向量資訊與當前區塊之經判定運動向量之間的運動向量差(MVD)。
作為另一實例,對於框內預測,或框內預測寫碼,框內預測單元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大小的不對稱分割。
在模式選擇單元未將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)寫碼操作、指數-哥倫布編碼操作或另一類型之熵編碼操作。在一些實例中,熵編碼單元220可在旁路模式中操作,其中語法元素未經熵編碼。
如所說明,在一些實例中,熵編碼單元220可自模式選擇單元202接收資訊。作為一個實例,運動估計單元222及運動補償單元224可經組態以輸出指示至運動向量預測子清單中之條目的資訊(例如,如使用上文所描述之實例技術建構)。熵編碼單元220可編碼及發信指示至運動向量預測子清單中之條目的資訊。熵編碼單元220亦可編碼及發信指示由當前區塊之運動向量識別之預測區塊與當前區塊之間的差之資訊。
視訊編碼器200可輸出位元串流,其包括重建構圖塊或圖像之區塊所需的經熵編碼語法元素。特定而言,熵編碼單元220可輸出該位元串流。
關於區塊描述上文所描述之操作。此描述應理解為用於明度寫碼區塊及/或色度寫碼區塊的操作。如上文所描述,在一些實例中,明度寫碼區塊及色度寫碼區塊為CU之明度及色度分量。在一些實例中,明度寫碼區塊及色度寫碼區塊為PU之明度分量及色度分量。
在一些實例中,無需針對色度寫碼區塊重複關於明度寫碼區塊進行之操作。作為一個實例,無需重複識別明度寫碼區塊之運動向量(MV)及參考圖像的操作用於識別色度區塊之MV及參考圖像。實情為,明度寫碼區塊之MV可經縮放以判定色度區塊之MV,且參考圖像可為相同的。作為另一實例,框內預測程序可針對明度寫碼區塊及色度寫碼區塊係相同的。
圖3為說明可執行本發明之技術之實例視訊解碼器300的方塊圖。出於解釋之目的提供圖3,且其並不限制如本發明中廣泛例示及描述之技術。出於解釋之目的,本發明根據H.266/VVC、JEM及HEVC之技術描述視訊解碼器300。然而,本發明之技術可由經組態為其他視訊寫碼標準的視訊寫碼裝置執行。
在圖3之實例中,視訊解碼器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。另外,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執行之指令。
圖3中展示之各種單元經說明以輔助理解由視訊解碼器300執行的操作。該等單元可實施為固定功能電路、可程式化電路或其組合。類似於圖2,固定功能電路指代提供特定功能性,且在可執行之操作上預設定的電路。可程式化電路係指可經程式化以執行各種任務且在可執行之操作中提供靈活功能性的電路。舉例而言,可程式化電路可執行使得可程式化電路以由軟體或韌體之指令定義之方式操作的軟體或韌體。固定功能電路可執行軟體指令(例如,以接收參數或輸出參數),但固定功能電路執行的操作之類型一般為不可變的。在一些實例中,單元中之一或多者可為不同電路區塊(固定功能或可程式化),且在一些實例中,一或多個單元可為積體電路。
視訊解碼器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所描述之方式的方式執行框間預測程序(圖2)。
根據本發明之技術,運動補償單元316可在使用HMVP候選者歷史表對區塊寫碼時執行框間預測及運動向量預測。舉例而言,如下文將更詳細地解釋,運動補償單元316可經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單,且使用運動向量預測子清單對視訊資料區塊寫碼。
舉例而言,運動補償單元316可經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊。舉例而言,HMVP候選者歷史表包括HMVP候選者,諸如不緊鄰當前區塊之區塊的運動向量資訊。如下文所描述,可在合併模式中對當前區塊編碼,但如AMVP及或框內區塊複製(IBC)模式之其他模式亦係可能的。
運動補償單元316亦可建構運動向量預測子清單。運動向量預測子清單包括空間相鄰區塊或同置區塊(例如,時間相鄰區塊)之運動向量資訊。作為一個實例,運動向量預測子清單可包括空間相鄰區塊A1、B1、B0、A0及B2中之一或多者的運動向量資訊,其中,在圖4A中,區塊A1經識別為0且位於PU0 434左側,區塊B1經識別為1且位於PU0 434上方,區塊B0經識別為2且位於PU0 434右上方及PU1 436上方,區塊A0經識別為3且位於PU0 434左下方,且區塊B2經識別為4且位於PU0 434左上方。運動向量預測子清單亦可包括時間相鄰區塊T 540之運動向量資訊。
運動補償單元316可將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單。舉例而言,為了添加來自HMVP候選者歷史表之一或多個HMVP候選者,運動補償單元316可經組態以將HMVP候選者歷史表中之第一HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第一HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第一HMVP候選者添加至運動向量預測子清單。運動補償單元316亦可經組態以將HMVP候選者歷史表中之第二HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第二HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第二HMVP候選者添加至運動向量預測子清單。
在一些實例中,運動向量預測子清單中之兩個條目中之第一條目可包括左側相鄰區塊(例如,在圖4A中表示為0之區塊A1)之運動向量資訊。運動向量預測子清單中之兩個條目中之第二條目可包括上方相鄰區塊(例如,在圖4A中表示為1之區塊B1)之運動向量資訊。運動向量預測子清單中之第一條目及第二條目可為運動向量預測子清單中之前兩個條目,但技術不限於此。另外,第一HMVP候選者及第二HMVP候選者可為HMVP候選者歷史表中之前兩個候選者。
在一些實例中,即使在運動補償單元316將第一HMVP候選者及第二HMVP候選者中之一或兩者包括至運動向量預測子清單中之後,運動向量預測子清單之大小亦可能尚未達到其最大大小。在此類狀況下,第一HMVP候選者及第二HMVP候選者可被視為HMVP候選者之第一子集之實例,但更多HMVP候選者可包括於HMVP候選者之第一子集中。
運動補償單元316可將來自HMVP候選者歷史表中之一或多個HMVP候選者之第一子集之後的一或多個HMVP候選者之第二子集的一或多個HMVP候選者添加至運動向量預測子清單,而不將來自第二子集之一或多個HMVP候選者與運動向量預測子清單中之條目進行比較。
在一些實例中,熵解碼單元302可對指示至運動向量預測子清單中之條目的資訊進行解碼。運動補償單元316可接收指示至運動向量預測子清單中之條目的資訊且自運動向量預測子清單之條目擷取運動向量資訊。
運動補償單元316可基於所擷取之運動向量資訊而判定當前區塊之運動向量。舉例而言,在合併模式中,運動補償單元316可將當前區塊之運動向量設定為等於所擷取之運動向量資訊。在AMVP模式中,運動補償單元316亦可接收所擷取之運動向量資訊與實際運動向量之間的運動向量差(MVD)。運動補償單元316可將MVD添加至所擷取之運動向量資訊以判定當前區塊之運動向量。
運動補償單元316可基於當前區塊之運動向量而判定當前區塊之預測區塊。舉例而言,運動補償單元316可自參考圖像擷取樣本值,該參考圖像包括由運動向量識別之參考區塊。運動補償單元316可基於所擷取之樣本而判定預測區塊。
作為另一實例,若預測資訊語法元素指示當前區塊經框內預測,則框內預測單元318可根據由預測資訊語法元素指示之框內預測模式產生預測區塊。同樣,框內預測單元318可大體上以實質上類似於關於框內預測單元226 (圖2)所描述之方式的方式執行框內預測程序。框內預測單元318可將相鄰樣本之資料自DPB 314擷取至當前區塊。
重建構單元310可使用預測區塊及殘餘區塊重建構當前區塊。舉例而言,重建構單元310可將殘餘區塊之樣本添加至預測區塊之對應樣本以重建構當前區塊。換言之,重建構單元310可將預測區塊添加至指示預測區塊與當前區塊之間的差之所接收殘餘資訊以重建構當前區塊。
濾波器單元312可對經重建構區塊執行一或多個濾波操作。舉例而言,濾波器單元312可執行解區塊操作以沿經重建構區塊之邊緣減少區塊效應假影。濾波器單元312之操作不一定在所有實例中執行。
視訊解碼器300可將經重建構區塊儲存於DPB 314中。如上文所論述,DPB 314可將參考資訊提供至預測處理單元304,諸如用於框內預測之當前圖像及用於後續運動補償之經先前解碼圖像的樣本。此外,視訊解碼器300可輸出來自DPB之經解碼圖像以用於隨後呈現於諸如圖1之顯示裝置118的顯示裝置上。
以此方式,視訊解碼器300表示視訊解碼裝置之實例,該視訊解碼裝置包括:記憶體,其經組態以儲存視訊資料;及一或多個處理單元,其實施於電路系統中且經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,將來自HMVP候選者歷史表之一或多個HMVP候選者添加至運動向量預測子清單,且使用運動向量預測子清單對視訊資料區塊寫碼。
圖7為說明用於編碼當前區塊之實例方法的流程圖。當前區塊可包含當前CU。儘管關於視訊編碼器200 (圖1及圖2)加以描述,但應理解,其他裝置可經組態以執行類似於圖7之方法的方法。
在此實例中,視訊編碼器200首先預測當前區塊(350)。舉例而言,視訊編碼器200可形成當前區塊之預測區塊。在一或多個實例中,視訊編碼器200可經組態以基於運動向量形成預測區塊。視訊編碼器200可經組態以利用本發明中所描述之實例技術建構運動向量預測子清單且發信視訊解碼器300用以判定運動向量的運動向量預測子清單中之條目之資訊。
視訊編碼器200可接著計算當前區塊之殘餘區塊(352)。為了計算殘餘區塊,視訊編碼器200可計算當前區塊之初始未經寫碼區塊與預測區塊之間的差。視訊編碼器200可接著變換且量化殘餘區塊之係數(354)。接著,視訊編碼器200可掃描殘餘區塊之經量化變換係數(356)。在掃描期間或在掃描之後,視訊編碼器200可熵編碼係數(358)。舉例而言,視訊編碼器200可使用CAVLC或CABAC來編碼係數。視訊編碼器200可接著輸出區塊之經熵寫碼資料(360)。
圖8為說明用於解碼視訊資料之當前區塊之實例方法的流程圖。當前區塊可包含當前CU。儘管關於視訊解碼器300 (圖1及圖3)加以描述,但應理解,其他裝置可經組態以執行類似於圖8之方法的方法。
視訊解碼器300可接收當前區塊之經熵寫碼資料,諸如經熵寫碼預測資訊及對應於當前區塊之殘餘區塊的係數之經熵寫碼資料(370)。視訊解碼器300可熵解碼經熵寫碼資料,以判定當前區塊之預測資訊且再生殘餘區塊之係數(372)。視訊解碼器300可例如使用如由當前區塊之預測資訊所指示的框內或框間預測模式來預測當前區塊(374),以計算當前區塊之預測區塊。
作為一個實例,視訊解碼器300可經組態以使用本發明中所描述之實例技術來建構運動向量預測子清單。視訊解碼器300可接著接收至運動向量預測子清單中之條目且可基於運動向量預測子清單之條目中之運動向量資訊而判定當前區塊之運動向量。視訊解碼器300可接著基於經判定運動向量而計算預測區塊。
視訊解碼器300可接著反掃描經再生之係數(376),以產生經量化變換係數之區塊。視訊解碼器300可接著反量化及反變換係數以產生殘餘區塊(378)。視訊解碼器300可最後藉由組合預測區塊及殘餘區塊來解碼當前區塊(380)。
圖9為說明實例寫碼方法之流程圖。為便於描述,關於處理電路系統描述圖9之實例。處理電路系統之實例包括形成視訊編碼器200或視訊解碼器300之固定功能及/或可程式化處理電路系統。舉例而言,視訊編碼器200及視訊解碼器300兩者可經組態以執行本發明中所描述之實例技術。
處理電路系統可經組態以建構以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊(400)。舉例而言,處理電路系統可針對不緊鄰當前區塊之先前經寫碼區塊的運動向量資訊存取記憶體(例如,視訊資料記憶體230或DPB 314)。處理電路系統可將此等先前經寫碼區塊之運動向量資訊添加至HMVP候選者歷史表中。
處理電路系統可建構運動向量預測子清單(402)。處理電路系統可運用一或多個空間相鄰區塊或同置區塊(例如,時間相鄰區塊)之運動資訊建構運動向量預測子清單。舉例而言,處理電路系統可將空間相鄰區塊或同置區塊之運動向量資訊添加至運動向量預測子清單中以建構運動向量預測子清單。
在本發明中所描述之技術中,處理電路系統可進一步將來自HMVP候選者歷史表之一或多個HMVP候選者添加至當前區塊之運動向量預測子清單(404)。處理電路系統可添加在合併模式中寫碼之當前區塊之一或多個HMVP候選者,且大體而言,處理電路系統可添加在合併模式、進階運動向量預測(AMVP)模式或框內區塊複製(IBC)合併模式中之一者中寫碼的當前區塊之一或多個HMVP。
為了添加來自HMVP候選者歷史表之一或多個HMVP候選者,處理電路系統可經組態以將HMVP候選者歷史表中之第一HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第一HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第一HMVP候選者添加至運動向量預測子清單。另外,處理電路系統可經組態以將HMVP候選者歷史表中之第二HMVP候選者與運動向量預測子清單中之兩個條目進行比較且不與運動向量預測子清單中之其他條目進行比較,且當第二HMVP候選者不同於運動向量預測子清單中之兩個條目兩者時,將第二HMVP候選者添加至運動向量預測子清單。在一些實例中,運動向量預測子清單中之兩個條目可為當前區塊之左側相鄰區塊的第一條目及當前區塊之上方相鄰區塊的第二條目。
在一些實例中,第一HMVP候選者及第二HMVP候選者可被視為HMVP候選者之第一子集。然而,在候選者之第一子集中可存在多於兩個HMVP候選者。處理電路系統可進一步經組態以將來自HMVP候選者歷史表中之一或多個HMVP候選者之第一子集之後的一或多個HMVP候選者之第二子集的一或多個HMVP候選者添加至運動向量預測子清單,而不將來自第二子集之一或多個HMVP候選者與運動向量預測子清單中之條目進行比較。
處理電路系統可經組態以使用運動向量預測子清單對視訊資料之當前區塊寫碼(406)。作為一個實例,在處理電路系統表示視訊解碼器300之情況下,處理電路系統可經組態以自運動向量預測子清單之條目擷取運動向量資訊,基於所擷取之運動向量資訊而判定當前區塊之運動向量,基於運動向量而判定預測區塊,且將預測區塊添加至指示預測區塊與當前區塊之間的差之所接收殘餘資訊以重建構當前區塊。作為另一實例,在處理電路系統表示視訊編碼器200之情況下,處理電路系統可經組態以判定當前區塊之用於識別預測區塊的運動向量,基於當前區塊之經判定運動向量而發信指示至運動向量預測子清單中之條目的資訊,且發信指示預測區塊與當前區塊之間的差之殘餘資訊。
應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可按不同序列執行,可添加、合併或完全省略該等動作或事件(例如,並非所有所描述動作或事件對於該等技術之實踐皆係必要的)。此外,在某些實例中,動作或事件可例如經由多線緒處理、中斷處理或多個處理器同時而非依序地執行。
在一或多個實例中,所描述之功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括例如根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體大體可對應於(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:輸入介面 200:視訊編碼器 202:模式選擇單元 204:殘餘產生單元 206:變換處理單元 208:量化單元 210:反量化單元 212:反變換處理單元 214:重建構單元 216:濾波器單元 218:經解碼圖像緩衝器 220:熵編碼單元 222:運動估計單元 224:運動補償單元 226:框內預測單元 230:視訊資料記憶體 300:視訊解碼器 302:熵解碼單元 304:預測處理單元 306:反量化單元 308:反變換處理單元 310:重建構單元 312:濾波器單元 314:經解碼圖像緩衝器 316:運動補償單元 318:框內預測單元 320:經寫碼圖像緩衝器(CPB)記憶體 350:步驟 352:步驟 354:步驟 356:步驟 358:步驟 360:步驟 370:步驟 372:步驟 374:步驟 376:步驟 378:步驟 380:步驟 400:步驟 402:步驟 404:步驟 406:步驟 434:預測單元(PU) 436:預測單元 438:預測單元 440:預測單元 540:區塊 541:中心區塊 542:同置運動向量(MV) 544:同置參考圖像 546:同置圖像 548:運動向量 550:當前圖像 552:當前參考圖像 648:當前區塊 650:最近非鄰近區塊 652:最近非鄰近區塊 A0:區塊 A1:區塊 B0:區塊 B1:區塊 B2:區塊
圖1為說明可執行本發明之技術之實例視訊編碼及解碼系統的方塊圖。
圖2為說明可執行本發明之技術之實例視訊編碼器的方塊圖。
圖3為說明可執行本發明之技術之實例視訊解碼器的方塊圖。
圖4A為展示用於合併模式之空間相鄰候選者的概念圖。
圖4B為展示用於進階運動向量預測(AMVP)模式之空間相鄰候選者的概念圖。
圖5為展示時間運動向量預測子(TMVP)候選者及運動向量縮放(scaling)之概念圖。
圖6為展示非鄰近空間合併候選者之提取的概念圖。
圖7為說明實例編碼方法之流程圖。
圖8為說明實例解碼方法之流程圖。
圖9為說明實例寫碼方法之流程圖。
400:步驟
402:步驟
404:步驟
406:步驟

Claims (19)

  1. 一種對視訊資料寫碼之方法,該方法包含:建構一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊;建構一運動向量預測子清單;將來自該HMVP候選者歷史表之一或多個HMVP候選者的一第一子集添加至該運動向量預測子清單,其中添加來自該HMVP候選者歷史表之該一或多個HMVP候選者的該第一子集包含:將來自該HMVP候選者歷史表中之該第一子集的一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較,其中該運動向量預測子清單中之該兩個條目包含用於該當前區塊的一左側相鄰區塊的一條目,以及用於該當前區塊的一上方相鄰區塊的一條目;及當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;及使用該運動向量預測子清單對視訊資料之該當前區塊寫碼。
  2. 如請求項1之方法,其中添加該一或多個HMVP候選者的該第一子集進一步包含:將來自該HMVP候選者歷史表中之該第一子集的一第二HMVP候選者與該運動向量預測子清單中之該兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較;及當該第二HMVP候選者不同於該運動向量預測子清單中之該兩個條目 兩者時,將該第二HMVP候選者添加至該運動向量預測子清單。
  3. 如請求項1之方法,其中該添加該一或多個HMVP候選者之該第一子集包含:針對在一合併模式、一進階運動向量預測(AMVP)模式或一框內區塊複製(IBC)合併模式中之一者中寫碼的該當前區塊添加該一或多個HMVP候選者之該第一子集。
  4. 如請求項1之方法,其中建構該運動向量預測子清單包含運用一或多個空間相鄰區塊或同置區塊之運動資訊建構該運動向量預測子清單。
  5. 如請求項1之方法,其中對該當前區塊寫碼包含對該當前區塊解碼,且其中對該當前區塊解碼包含:自該運動向量預測子清單之一條目擷取運動向量資訊;基於所擷取之運動向量資訊而判定該當前區塊之一運動向量;基於該運動向量而判定一預測區塊;及將該預測區塊添加至指示該預測區塊與該當前區塊之間的一差之所接收殘餘資訊以重建構該當前區塊。
  6. 如請求項1之方法,其中對該當前區塊寫碼包含對該當前區塊編碼,且其中對該當前區塊編碼包含:判定該當前區塊之用於識別一預測區塊的一運動向量;基於該當前區塊之經判定運動向量而發信指示至該運動向量預測子清單中之一條目的資訊;及發信指示該預測區塊與該當前區塊之間的一差之殘餘資訊。
  7. 一種用於對視訊資料寫碼之裝置,該裝置包含:記憶體,其經組態以儲存: 一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊,及一運動向量預測子清單;及處理電路系統,其經組態以:建構該HMVP候選者歷史表以用於儲存於該記憶體中;建構該運動向量預測子清單以用於儲存於該記憶體中;將來自該HMVP候選者歷史表之一或多個HMVP候選者的一第一子集添加至該運動向量預測子清單,其中為了添加來自該HMVP候選者歷史表之該一或多個HMVP候選者之該第一子集,該處理電路系統經組態以:將來自該HMVP候選者歷史表中之該第一子集的一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較,其中該運動向量預測子清單中之該兩個條目包含用於該當前區塊的一左側相鄰區塊的一條目,以及用於該當前區塊的一上方相鄰區塊的一條目;且當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;且使用儲存於該記憶體中之該運動向量預測子清單對視訊資料之該當前區塊寫碼。
  8. 如請求項7之裝置,其中為了添加該一或多個HMVP候選者之該第一子集,該處理電路系統經組態以:將來自該HMVP候選者歷史表中之該第一子集的一第二HMVP候選者 與該運動向量預測子清單中之該兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較;且當該第二HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第二HMVP候選者添加至該運動向量預測子清單。
  9. 如請求項7之裝置,其中為了添加該一或多個HMVP候選者之該第一子集,該處理電路系統經組態以:針對在一合併模式、一進階運動向量預測(AMVP)模式或一框內區塊複製(IBC)合併模式中之一者中寫碼的該當前區塊添加該一或多個HMVP候選者之該第一子集。
  10. 如請求項7之裝置,其中為了建構該運動向量預測子清單,該處理電路系統經組態以運用一或多個空間相鄰區塊或同置區塊之運動資訊建構該運動向量預測子清單。
  11. 如請求項7之裝置,其中為了對該當前區塊寫碼,該處理電路系統經組態以對該當前區塊解碼,且其中為了對該當前區塊解碼,該處理電路系統經組態以:自該運動向量預測子清單之一條目擷取運動向量資訊;基於所擷取之運動向量資訊而判定該當前區塊之一運動向量;基於該運動向量而判定一預測區塊;且將該預測區塊添加至指示該預測區塊與該當前區塊之間的一差之所接收殘餘資訊以重建構該當前區塊。
  12. 如請求項7之裝置,其中為了對該當前區塊寫碼,該處理電路系統經組態以對該當前區塊編碼,且其中為了對該當前區塊編碼,該處理電路系統經組態以: 判定該當前區塊之用於識別一預測區塊的一運動向量;基於該當前區塊之經判定運動向量而發信指示至該運動向量預測子清單中之一條目的資訊;且發信指示該預測區塊與該當前區塊之間的一差之殘餘資訊。
  13. 如請求項7之裝置,其中該裝置為一無線通信裝置。
  14. 一種非暫時性電腦可讀儲存媒體,其上儲存有指令,該等指令在經執行時使一或多個處理器:建構一以歷史為基礎之運動向量預測(HMVP)候選者歷史表,其包括延伸超出該視訊資料之一當前區塊之鄰近相鄰區塊之先前經寫碼區塊的運動向量資訊;建構一運動向量預測子清單;將來自該HMVP候選者歷史表之一或多個HMVP候選者的一第一子集添加至該運動向量預測子清單,其中使該一或多個處理器添加來自該HMVP候選者歷史表之該一或多個HMVP候選者之該第一子集的該等指令包含使該一或多個處理器進行以下操作之指令:將來自該HMVP候選者歷史表中之該第一子集的一第一HMVP候選者與該運動向量預測子清單中之兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較,其中該運動向量預測子清單中之該兩個條目包含用於該當前區塊的一左側相鄰區塊的一條目,以及用於該當前區塊的一上方相鄰區塊的一條目;且當該第一HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第一HMVP候選者添加至該運動向量預測子清單;且使用該運動向量預測子清單對視訊資料之該當前區塊寫碼。
  15. 如請求項14之電腦可讀儲存媒體,其中使該一或多個處理器添加該一或多個HMVP候選者之該第一子集之該等指令包含使該一或多個處理器進行以下操作之指令:將來自該HMVP候選者歷史表中之該第一子集的一第二HMVP候選者與該運動向量預測子清單中之該兩個條目進行比較,且不與該運動向量預測子清單中之其他條目進行比較;且當該第二HMVP候選者不同於該運動向量預測子清單中之該兩個條目兩者時,將該第二HMVP候選者添加至該運動向量預測子清單。
  16. 如請求項14之電腦可讀儲存媒體,其中使該一或多個處理器添加該一或多個HMVP候選者之該第一子集之該等指令包含:使該一或多個處理器針對在一合併模式、一進階運動向量預測(AMVP)模式或一框內區塊複製(IBC)合併模式中之一者中寫碼的該當前區塊添加該一或多個HMVP候選者之該第一子集的指令。
  17. 如請求項14之電腦可讀儲存媒體,其中使該一或多個處理器建構該運動向量預測子清單之該等指令包含使該一或多個處理器運用一或多個空間相鄰區塊或同置區塊之運動資訊建構該運動向量預測子清單的指令。
  18. 如請求項14之電腦可讀儲存媒體,其中使該一或多個處理器對該當前區塊寫碼之該等指令包含使該一或多個處理器對該當前區塊解碼之指令,且其中使該一或多個處理器對該當前區塊解碼之該等指令包含使該一或多個處理器進行以下操作之指令:自該運動向量預測子清單之一條目擷取運動向量資訊;基於所擷取之運動向量資訊而判定該當前區塊之一運動向量; 基於該運動向量而判定一預測區塊;且將該預測區塊添加至指示該預測區塊與該當前區塊之間的一差之所接收殘餘資訊以重建構該當前區塊。
  19. 如請求項14之電腦可讀儲存媒體,其中使該一或多個處理器對該當前區塊寫碼之該等指令包含使該一或多個處理器對該當前區塊編碼之指令,且其中使該一或多個處理器對該當前區塊編碼之該等指令包含使該一或多個處理器進行以下操作之指令:判定該當前區塊之用於識別一預測區塊的一運動向量;基於該當前區塊之經判定運動向量而發信指示至該運動向量預測子清單中之一條目的資訊;且發信指示該預測區塊與該當前區塊之間的一差之殘餘資訊。
TW108143288A 2018-11-27 2019-11-27 以歷史為基礎之運動向量預測之簡化 TWI846765B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862771981P 2018-11-27 2018-11-27
US62/771,981 2018-11-27
US16/696,008 2019-11-26
US16/696,008 US11184633B2 (en) 2018-11-27 2019-11-26 Simplification of history-based motion vector prediction

Publications (2)

Publication Number Publication Date
TW202107894A TW202107894A (zh) 2021-02-16
TWI846765B true TWI846765B (zh) 2024-07-01

Family

ID=68966059

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108143288A TWI846765B (zh) 2018-11-27 2019-11-27 以歷史為基礎之運動向量預測之簡化

Country Status (10)

Country Link
US (2) US11184633B2 (zh)
EP (1) EP3888369A1 (zh)
JP (1) JP7367018B2 (zh)
KR (1) KR20210091174A (zh)
CN (1) CN113170180B (zh)
BR (1) BR112021009558A2 (zh)
CL (1) CL2021001351A1 (zh)
SG (1) SG11202103959QA (zh)
TW (1) TWI846765B (zh)
WO (1) WO2020113052A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI723444B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 使用一個或多個查找表來按順序存儲先前編碼的運動信息並使用它們來編碼後面的塊的概念
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
EP3791588A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Checking order of motion candidates in lut
WO2020003278A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: fifo, constrained fifo
CN110662057B (zh) 2018-06-29 2022-06-21 北京字节跳动网络技术有限公司 视频处理方法、装置、设备以及存储比特流的方法
EP3797516A1 (en) 2018-06-29 2021-03-31 Beijing Bytedance Network Technology Co. Ltd. Interaction between lut and amvp
EP4307679A3 (en) 2018-07-02 2024-06-19 Beijing Bytedance Network Technology Co., Ltd. Luts with intra prediction modes and intra mode prediction from non-adjacent blocks
TW202025760A (zh) 2018-09-12 2020-07-01 大陸商北京字節跳動網絡技術有限公司 要檢查多少個hmvp候選
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction
WO2020114406A1 (en) * 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Partial pruning method for inter prediction
WO2020122640A1 (ko) 2018-12-12 2020-06-18 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
KR20200078378A (ko) * 2018-12-21 2020-07-01 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20230141934A (ko) 2018-12-28 2023-10-10 고도 가이샤 아이피 브릿지 1 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
JP2020150530A (ja) * 2018-12-28 2020-09-17 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム
TWI782887B (zh) * 2018-12-28 2022-11-01 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
CN112042191B (zh) * 2019-01-01 2024-03-19 Lg电子株式会社 以基于历史的运动矢量为基础预测处理视频信号的方法和设备
WO2020141913A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
WO2020141962A1 (ko) * 2019-01-04 2020-07-09 세종대학교산학협력단 영상 부호화/복호화 방법 및 장치
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
CN113383554B (zh) 2019-01-13 2022-12-16 北京字节跳动网络技术有限公司 LUT和共享Merge列表之间的交互
CN113302937B (zh) 2019-01-16 2024-08-02 北京字节跳动网络技术有限公司 运动候选推导
WO2020156464A1 (en) * 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of combined inter and intraprediction for video coding
US11595662B2 (en) * 2019-02-06 2023-02-28 Tencent America LLC Method and apparatus for neighboring block availability in video coding
JP7197720B2 (ja) 2019-02-24 2022-12-27 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の独立した符号化
JP7477066B2 (ja) * 2019-03-04 2024-05-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Ibcマージリストを使用するエンコーダ、デコーダ、及び対応する方法
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN113647108A (zh) * 2019-03-27 2021-11-12 北京字节跳动网络技术有限公司 基于历史的运动矢量预测
WO2020224639A1 (en) * 2019-05-09 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Improvement on hmvp table
CN112118447B (zh) * 2019-06-19 2023-06-20 华为技术有限公司 融合候选运动信息列表的构建方法、装置及编解码器
KR20220032520A (ko) 2019-07-20 2022-03-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 팔레트 모드 사용 지시의 조건 종속적인 코딩
CN114145013B (zh) * 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
WO2021018166A1 (en) 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Scanning order improvements for palette mode coding
CN113141507B (zh) * 2020-01-17 2022-07-15 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN113840148A (zh) * 2020-06-24 2021-12-24 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN114650418B (zh) * 2021-06-30 2023-01-24 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置及设备
CN118251885A (zh) * 2021-09-03 2024-06-25 抖音视界有限公司 用于视频处理的方法、设备和介质
WO2024148111A1 (en) * 2023-01-03 2024-07-11 Bytedance Inc. Method, apparatus, and medium for video processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160105670A1 (en) * 2014-10-14 2016-04-14 Qualcomm Incorporated Amvp and merge candidate list derivation for intra bc and inter prediction unification
US20170150174A1 (en) * 2011-11-04 2017-05-25 Nokia Technologies Oy Method for coding and an apparatus
US20170332099A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100800772B1 (ko) * 2004-05-26 2008-02-01 마츠시타 덴끼 산교 가부시키가이샤 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체
KR100829169B1 (ko) 2006-07-07 2008-05-13 주식회사 리버트론 H.264 코딩의 압축모드 예측 장치 및 방법
WO2014120367A1 (en) 2013-01-30 2014-08-07 Intel Corporation Content adaptive parametric transforms for coding for next generation video
US10887597B2 (en) * 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
US11212550B2 (en) * 2018-09-21 2021-12-28 Qualcomm Incorporated History-based motion vector prediction for affine mode
CN118055249A (zh) * 2018-09-22 2024-05-17 Lg 电子株式会社 使用间预测处理视频信号的方法和装置
CN110944196B (zh) 2018-09-24 2023-05-30 北京字节跳动网络技术有限公司 简化的基于历史的运动矢量预测
US11184633B2 (en) 2018-11-27 2021-11-23 Qualcomm Incorporated Simplification of history-based motion vector prediction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170150174A1 (en) * 2011-11-04 2017-05-25 Nokia Technologies Oy Method for coding and an apparatus
US20160105670A1 (en) * 2014-10-14 2016-04-14 Qualcomm Incorporated Amvp and merge candidate list derivation for intra bc and inter prediction unification
US20170332099A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 Li Zhang, Kai Zhang, Hongbin Liu ZHANG (BYTEDANCE) L ET AL: "CE4: History-based Motion Vector Prediction (Test 4.4.7)", no. JVET-L0266, 4 October 2018 JVET *

Also Published As

Publication number Publication date
CN113170180A (zh) 2021-07-23
JP2022507682A (ja) 2022-01-18
WO2020113052A1 (en) 2020-06-04
US11616974B2 (en) 2023-03-28
TW202107894A (zh) 2021-02-16
BR112021009558A2 (pt) 2021-08-17
US11184633B2 (en) 2021-11-23
KR20210091174A (ko) 2021-07-21
US20220046273A1 (en) 2022-02-10
US20200169745A1 (en) 2020-05-28
CN113170180B (zh) 2024-10-01
CL2021001351A1 (es) 2021-12-17
JP7367018B2 (ja) 2023-10-23
SG11202103959QA (en) 2021-06-29
EP3888369A1 (en) 2021-10-06

Similar Documents

Publication Publication Date Title
TWI846765B (zh) 以歷史為基礎之運動向量預測之簡化
US11212550B2 (en) History-based motion vector prediction for affine mode
TWI845688B (zh) 用於視訊寫碼之合併模式寫碼
CN113196749B (zh) 用于译码视频数据的方法和设备
TWI846773B (zh) 用於視訊寫碼之三角運動資訊
US20200112715A1 (en) History-based motion vector prediction for inter prediction coding
TWI843809B (zh) 用於視訊寫碼中具有運動向量差之合併模式之信令傳輸
JP7474774B2 (ja) ビデオコーディングにおけるイントラブロックコピーモードのための動きベクトル予測子リスト生成
TW201941605A (zh) 用於視訊寫碼之區塊內複製
JP2022521979A (ja) デコーダ側動きベクトル改良に対する制約
CN112740672A (zh) 具有自适应方向信息集合的最终运动矢量表达
CN112640451B (zh) 矢量预测器列表生成
CN112534821A (zh) 运动向量预测子列表生成
WO2019199953A1 (en) Decoder-side motion vector derivation for video coding
CN112534820A (zh) 信令通知子预测单元运动矢量预测器
TW202038614A (zh) 用於視訊寫碼之空間時間運動向量預測圖案
CN114009039A (zh) 视频译码中的时间运动矢量预测候选的推导
US11528504B2 (en) Motion vector prediction with motion information collecting buffer
CN117546467A (zh) 使用未经细化的运动向量来执行解码器侧运动向量推导