TWI826546B - 對以歷史為基礎之運動向量預測器之改良 - Google Patents

對以歷史為基礎之運動向量預測器之改良 Download PDF

Info

Publication number
TWI826546B
TWI826546B TW108136471A TW108136471A TWI826546B TW I826546 B TWI826546 B TW I826546B TW 108136471 A TW108136471 A TW 108136471A TW 108136471 A TW108136471 A TW 108136471A TW I826546 B TWI826546 B TW I826546B
Authority
TW
Taiwan
Prior art keywords
hmvp
candidates
candidate
prediction
video
Prior art date
Application number
TW108136471A
Other languages
English (en)
Other versions
TW202027508A (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 TW202027508A publication Critical patent/TW202027508A/zh
Application granted granted Critical
Publication of TWI826546B publication Critical patent/TWI826546B/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
    • 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/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/172Methods 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 picture, frame or field
    • 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/423Methods 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 characterised by memory 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Abstract

本發明提供用於處理視訊資料之系統及技術,其包括具有兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者之一HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包括一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包括一第二HMVP候選者,該第一索引值低於該第二索引值。對於一進階運動向量預測(AMVP)候選者清單,按一反向次序自該HMVP表選擇一或多個HMVP候選者,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者。將該所選擇一或多個HMVP候選者添加至該AMVP候選者清單。該AMVP候選者清單可用以對於一或多個視訊資料區塊執行AMVP。

Description

對以歷史為基礎之運動向量預測器之改良
本申請案係關於視訊寫碼及壓縮。舉例而言,描述提供對以歷史為基礎之運動向量預測器之改良的系統及方法。
許多器件及系統允許處理並輸出視訊資料以供消耗。數位視訊資料包括大量資料以滿足消費者及視訊提供者之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。結果,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及器件造成負擔。
各種視訊寫碼技術可用於壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括高效率視訊寫碼(HEVC)、進階視訊寫碼(AVC)、MPEG-2第2部分寫碼(MPEG代表活動圖像專家組)、VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)或其類似者。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如,框間預測、框內預測或其類似者)。視訊寫碼技術之重要目標為將視訊資料壓縮成使用較低位元速率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。隨著不斷演進的視訊服務變得可用,需要具有較佳寫碼效率之編碼技術。
本文中描述用於改良視訊編解碼器中之預測技術的技術及系統。舉例而言,本文中所描述的技術可包括解碼器側運動向量優化。在一些實例中,該等技術可應用於現有視訊編解碼器中之任一者,諸如高效率視訊寫碼(HEVC),及/或多功能視訊寫碼(VVC),或可為任何未來視訊寫碼標準中之高效寫碼工具。在一些實例中,所揭示技術可用於區塊內複製(IBC)預測。
在一些實例中,可執行以歷史為基礎之運動向量預測,其中可自先前解碼之運動向量之清單獲得或預測用於一或多個區塊之一或多個運動向量預測器。在一些實例中,以歷史為基礎之運動向量預測器(HMVP)表可包括可用於不同類型框間預測模式(諸如合併模式、進階運動向量預測(AMVP)模式及/或其他框間預測模式)的HMVP候選者。在一些情況下,不同框間預測模式可使用相同或不同方法以自HMVP表選擇候選者。在一些實例中,HMVP表可包括可用於IBC模式的HMVP候選者。
在一些實例中,對於不同預測模式自HMVP表選擇HMVP候選者可係基於與HMVP候選者相關聯的選擇次序。HMVP候選者可以先進先出(FIFO)方式插入至HMVP表中,其中較老或不太新的HMVP候選者可在較年輕或最新HMVP候選者之前插入至HMVP表中。在一些實例中,可藉由按前向次序自HMVP表選擇一或多個HMVP候選者,自HMVP表建構對於合併模式的合併候選者清單,按前向次序在不太新的HMVP候選者之前選擇最新的HMVP候選者。在一些實例中,與不太新的HMVP候選者相比,HMVP表中之最新的HMVP候選者可具有與使用AMVP模式預測的當前區塊較少的相關性。在一些實例中,使用不太新的HMVP候選者用於AMVP模式預測可導致寫碼高效。因此,在一些實例中,AMVP候選者清單可藉由按反向次序自HMVP表選擇一或多個HMVP候選者以AMVP模式來建構,按反向次序在最新HMVP候選者之前選擇不太新的HMVP候選者。
根據至少一個實例,提供一種處理視訊資料之方法。方法包括獲得一或多個視訊資料區塊。該方法進一步包括運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值按一索引次序低於該第二索引值。該方法進一步包括針對進階運動向量預測(AMVP)候選者清單按反向次序自HMVP表選擇一或多個HMVP候選者,其中根據反向次序在第一HMVP候選者之前選擇第二HMVP候選者。該方法進一步包括將所選擇的一或多個HMVP候選者添加至AMVP候選者清單,該AMVP候選者清單正用以對於一或多個區塊執行AMVP。
在另一實例中,提供一種用於處理視訊資料之裝置。該裝置包括一記憶體及實施於電路中之一處理器。該裝置經組態以且可獲得一或多個視訊資料區塊。該裝置經組態以且可運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值。該裝置經組態以且可對於進階運動向量預測(AMVP)候選者清單按反向次序自HMVP表選擇一或多個HMVP候選者,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者。該裝置經組態以且可將所選擇一或多個HMVP候選者添加至AMVP候選者清單,該AMVP候選者清單正用以對於一或多個區塊執行AMVP。
在另一實例中,提供一種非暫時性電腦可讀媒體,該非暫時性電腦可讀媒體在其上儲存有指令,該等指令在由一或多個處理器執行時促使該一或多個處理器:獲得一或多個視訊資料區塊;運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;對於一進階運動向量預測(AMVP)候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及將該所選擇一或多個HMVP候選者添加至該AMVP候選者清單,該AMVP候選者清單正用以對於該一或多個區塊執行AMVP。
在另一實例中,提供一種用於處理視訊資料之裝置。該裝置包括:用於獲得一或多個視訊資料區塊的構件;用於運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入HMVP表的構件,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;用於對於一進階運動向量預測(AMVP)候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者的構件,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及用於將該所選擇一或多個HMVP候選者添加至該AMVP候選者清單的構件,該AMVP候選者清單正用以對於該一或多個區塊執行AMVP。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,第一HMVP候選者包含在第一時間解碼的運動資訊且第二HMVP候選者包含在第二時間解碼的運動資訊,其中第一時間在時間上晚於第二時間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,按反向次序自HMVP表選擇一或多個HMVP候選者包含自HMVP表之與連續索引值相關聯的連續項目選擇一或多個HMVP候選者,而無需在選擇期間執行HMVP表之項目的子取樣。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括:對於合併候選者清單按前向次序自HMVP表選擇一或多個HMVP候選者,其中根據該前向次序在第二HMVP候選者之前選擇第一HMVP候選者;及將所選擇一或多個HMVP候選者添加至合併候選者清單,該合併候選者清單正用以對於一或多個區塊執行合併預測。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,按前向次序自HMVP表選擇一或多個HMVP候選者包含使用子取樣速率對HMVP表之項目進行子取樣,其中基於該子取樣速率之間距經維持於與HMVP表之供選擇連續HMVP候選者的項目相關聯的索引值之間。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,將所選擇一或多個HMVP候選者添加至合併候選者清單包含在將時間運動向量預測器(TMVP)候選者添加至合併候選者清單之後將所選擇一或多個HMVP候選者添加至合併候選者清單。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣進一步包括:判定相鄰區塊之大小大於或等於最小大小臨限值;及基於相鄰區塊之大小大於或等於最小大小臨限值,使用相鄰區塊之仿射運動向量作為當前區塊之仿射運動向量。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,兩個或多於兩個HMVP候選者包含用於雙向預測之兩個預測方向的運動資訊。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,至少兩個HMVP表用於具有雙向預測之AMVP模式。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,第一HMVP表用於第一參考圖像清單,且其中第二HMVP表用於第二參考圖像清單。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,AMVP包括區塊內複製AMVP預測模式。
在上文所描述的方法、裝置及電腦可讀媒體之一些態樣中,相鄰區塊之仿射運動向量包括一或多個按比例縮放變量及一或多個位置變量。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣包括編碼器。
上文所描述的方法、裝置及電腦可讀媒體之一些態樣包括解碼器,其中視訊資料係自經編碼視訊位元串流獲得。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
相關申請案之交互參考
本申請案主張主張2018年10月8日申請的美國臨時申請案第62/742,890號之權利的2019年10月4日申請的美國非臨時申請案第16/593,388號之權利,兩個申請案全文並出於所有目的以引用的方式併入本文中。
下文提供本發明之某些態樣及實施例。此等態樣及實施例之一些可獨立地應用,且其中之一些可組合地應用,如熟習此項技術者將顯而易見。在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本申請案之實施例之透徹理解。然而,將顯而易見的是,可在無此等特定細節之情況下實踐各種實施例。諸圖及描述不意欲為限制性的。
隨後描述僅提供例示性實施例且並不意欲限制本發明的範疇、可應用性或組態。實際上,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例之描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
視訊寫碼器件實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以縮減或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像分割成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊(例如子區塊)之一或多個群組。視訊區塊可包括寫碼樹型區塊、預測區塊、變換區塊及/或其他合適的區塊。除非另外指定,否則通常對「區塊」之參考可指此等視訊區塊(例如,寫碼樹型區塊(CTB)、寫碼區塊、預測區塊、變換區塊或其他合適的區塊或子區塊,如將由一般熟習此項技術者理解)。另外,此等區塊中之每一者亦可在本文中互換地稱為「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示在位元串流中編碼的寫碼邏輯單元,而區塊可指示程序定向至的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(被稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限定於自待編碼之區塊的某一空間位移。可使用包括水平移位分量及垂直移位分量之二維(2D)運動向量來定位最好匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,預測誤差可經判定為經編碼區塊與預測區塊中之像素值之間的差。預測誤差亦可被稱作殘差。視訊編碼器亦可使用變換寫碼(例如使用離散餘弦變換(DCT)之形式、離散正弦變換(DST)之形式或其他合適的變換)將一變換應用於預測誤差以產生變換係數。在變換之後,視訊編碼器可量化變換係數。可使用語法元素來表示經量化變換係數及運動向量,且其連同控制資訊一起形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步縮減其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框及原始圖框之間的差被稱作重建構誤差。
如下文更詳細地描述,本文中描述用於提供對以歷史為基礎之運動向量預測器之改良的系統、裝置、方法(亦稱作程序)及電腦可讀媒體。本文中所描述的技術可應用於多種以區塊為基礎之視訊寫碼技術中之一或多者,在該視訊寫碼技術中在逐塊基礎上重建構視訊。舉例而言,本文中所描述的技術可應用於現有視訊編解碼器中之任一者(例如高效率視訊寫碼(HEVC)、進階視訊寫碼(AVC)或其他合適的現有視訊編解碼器),及/或可為用於正被開發之任何視訊寫碼標準及/或未來視訊寫碼標準(諸如多功能視訊寫碼(VVC)、聯合探索模型(JEM)、VP9、AV1及/或在開發中或將開發之其他視訊寫碼標準)的高效寫碼工具。
圖1為說明包括編碼器件104及解碼器件112之系統100之實例的方塊圖。編碼器件104可為源器件之部分,且解碼器件112可為接收器件(亦稱作用戶端器件)之部分。源器件及/或接收器件可包括電子器件,諸如行動或靜止電話手機(例如智慧型電話、蜂巢式電話或其類似者)、桌上型電腦、膝上型電腦或筆記本電腦、平板電腦、機上盒、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、網際網路協定(IP)攝影機、包括一或多個伺服器器件的伺服器系統(例如視訊串流伺服器系統或其他合適的伺服器系統)中之伺服器器件、頭戴式顯示器(HMD)、抬頭顯示器(HUD)、智慧型眼鏡(例如虛擬實境(VR)眼鏡、擴增實境(AR)眼鏡或其他智慧型眼鏡),或任何其他合適的電子器件。
系統100之組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體來實施,及/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合來實施以執行本文中所描述之各種操作,電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適的電子電路)。
雖然系統100經展示為包括某些組件,但一般熟習此項技術者應瞭解系統100可包括比圖1中所展示之彼等組件更多或更少的組件。舉例而言,系統100在一些情況下亦可包括不同於儲存器108及儲存器118的一或多個記憶體器件(例如一或多個隨機存取記憶體(RAM)組件、唯讀記憶體(ROM)組件、快取記憶體組件、緩衝器組件、資料庫組件及/或其他記憶體器件)、與該一或多個記憶體器件通信及/或電連接至該一或多個記憶體器件的一或多個處理器件(例如一或多個CPU、GPU及/或其他處理器件)、用於執行無線通信的一或多個無線介面(例如包括一或多個收發器及用於每一無線介面之基頻處理器)、用於經由一或多個硬佈線連接執行通信的一或多個有線介面(例如,諸如通用串列匯流排(USB)輸入之串列介面、閃電連接器及/或其他有線介面),及/或未在圖1中展示的其他組件。
本文中所描述之寫碼技術適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。在一些實例中,系統100可支援單向或雙向視訊傳輸以支援諸如視訊會議、視訊串流、視訊播放、視訊廣播、遊戲及/或視訊電話之應用。
編碼器件104 (或編碼器)可用以使用視訊寫碼標準或協定編碼視訊資料以產生經編碼視訊位元串流。視訊寫碼標準的實例包括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。存在涉及多層視訊寫碼的HEVC之各種擴展,包括範圍及螢幕內容寫碼擴展、三維(3D)視訊寫碼(3D-HEVC)及多視圖擴展(MV-HEVC)及可調式擴展(SHVC)。HEVC及其擴展已由ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)之視訊寫碼聯合協作小組(JCT-VC)以及3D視訊寫碼擴展開發聯合協作小組(JCT-3V)開發。
MPEG及ITU-T VCEG亦已形成聯合探索視訊小組(JVET)以探索及開發用於下一代視訊寫碼標準(稱為多功能視訊寫碼(VVC))之新視訊寫碼工具。參考軟體稱為VVC測試模型(VTM)。VVC之目標係提供對於現有HEVC標準的壓縮效能之顯著改良,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。VP9及開放媒體聯盟(AOMedia)視訊1 (AV1)為本文中所描述之技術可應用於的其他視訊寫碼標準。
可使用視訊編解碼器(諸如VTM、VVC、HEVC、AVC及/或其擴展)執行本文中所描述的許多實施例。然而,本文中所描述的技術及系統亦可適用於其他寫碼標準,諸如MPEG、JPEG (或用於靜止影像之其他寫碼標準)、VP9、AV1、其擴展,或已經可用或尚未可用或開發的其他合適的寫碼標準。因此,雖然可參考特定視訊寫碼標準描述本文中所描述之技術及系統,但一般熟習此項技術者將瞭解,描述不應解譯為僅適用於彼特定標準。
參看圖1,視訊源102可將視訊資料提供至編碼器件104。視訊源102可為源器件之一部分,或可為除源器件以外的器件之一部分。視訊源102可包括視訊俘獲器件(例如,視訊攝影機、攝影機電話、視訊電話或其類似者)、含有經儲存視訊之視訊存檔、提供視訊資料之視訊伺服器或內容提供者、自視訊伺服器或內容提供者接收視訊之視訊饋入介面、用於產生電腦圖形視訊資料之電腦圖形系統、此等源之組合或任何其他合適的視訊源。
來自視訊源102之視訊資料可包括一或多個輸入圖像。圖像亦可被稱為「圖框」。圖像或圖框在一些情況下為視訊之部分的靜態影像。在一些實例中,來自視訊源102之資料可為並非為視訊之一部分的靜態影像。在HEVC、VVC及其他視訊寫碼規範中,視訊序列可包括一系列圖像。圖像可包括三個樣本陣列,指示為SL 、SCb 及SCr 。SL 為明度樣本之二維陣列,SCb 為Cb色度樣本之二維陣列且SCr 為Cr色度樣本之二維陣列。色訊樣本亦可在本文中被稱作「色度(chroma)」樣本。在其他情況下,圖像可為單色的且可僅包括明度樣本陣列。
編碼器件104之編碼器引擎106(或編碼器)編碼視訊資料以產生經編碼視訊位元串流。在一些實例中,經編碼視訊位元串流(或「視訊位元串流」或「位元串流」)為一系列之一或多個經寫碼視訊序列。經寫碼視訊序列(CVS)包括一系列存取單元(AU),其始於具有在基層中且具有某些性質的隨機存取點圖像之AU,直至且不包括具有在基層中且具有某些性質的隨機存取點圖像之下一AU。舉例而言,開始CVS的隨機存取點圖像之某些性質可包括等於1之一RASL旗標(例如,NoRaslOutputFlag)。否則,隨機存取點圖像(具有等於0之RASL旗標)不開始CVS。存取單元(AU)包括一或多個經寫碼圖像及對應於共用相同輸出時間之經寫碼圖像的控制資訊。圖像之經寫碼截塊在位元串流層級經囊封至被稱作網路抽象層(NAL)單元之資料單元中。舉例而言,HEVC視訊位元串流可包括一或多個CVS,該一或多個CVS包括NAL單元。NAL單元中之每一者具有NAL單元標頭。在一個實例中,標頭對於H.264/AVC (除了多層擴展以外)為一個位元組且對於HEVC為兩個位元組。NAL單元標頭中之語法元素採取經指定位元,且因此對所有種類之系統及輸送層可見,諸如輸送串流、即時輸送(RTP)協定、檔案格式以及其他。
兩種類別之NAL單元存在於HEVC標準中,包括視訊寫碼層(VCL)NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。VCL NAL單元可包括經寫碼圖像資料之一個截塊或截塊片段(下文描述),且非VCL NAL單元包括與一或多個經寫碼圖像有關的控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。在一些情況下,每一截塊或位元串流之其他部分可參考單一主動PPS、SPS及/或VPS以允許解碼器件112存取可用於解碼截塊或位元串流之其他部分的資訊。
NAL單元可含有形成視訊資料之經寫碼表示(諸如,視訊中之圖像的經寫碼表示)的位元序列(例如,經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像分割成多個截塊而產生圖像之經寫碼表示。一截塊獨立於其他截塊,以使得在不依賴於來自同一圖像內之其他截塊之資料的情況下寫碼該截塊中之資訊。一截塊包括一或多個截塊片段,該一或多個截塊片段包括獨立截塊片段及(若存在)取決於先前截塊片段之一或多個相關截塊片段。
在HEVC中,截塊接著分割成明度樣本及色度樣本之寫碼樹型區塊(CTB)。明度樣本之CTB及色度樣本之一或多個CTB連同明度及色度樣本之語法被稱作寫碼樹型單元(CTU)。CTU亦可被稱作「樹型區塊」或「最大寫碼單元」(LCU)。CTU為用於HEVC編碼之基本處理單元。CTU可經分裂成具有不同大小之多個寫碼單元(CU)。CU含有被稱為寫碼區塊(CB)之明度及色度樣本陣列。
明度及色度CB可進一步被分裂成預測區塊(PB)。PB為對於框間預測或區塊內複製(IBC)預測(在可用或經啟用以供使用時)使用相同運動參數的明度分量或色度分量之樣本之區塊。明度PB及一或多個色度PB以及相關聯語法形成預測單元(PU)。對於框間預測,一組運動參數(例如,一或多個運動向量、參考索引或其類似者)係在用於每一PU之位元串流中發信且用於明度PB及一或多個色度PB之框間預測。運動參數亦可被稱作運動資訊。CB亦可分割成一或多個變換區塊(TB)。TB表示色彩分量之樣本的一正方形區塊,殘差變換(例如在一些情況下相同二維變換)經應用於該區塊上以用於寫碼一預測殘差信號。變換單元(TU)表示明度及色度樣本之TB及對應語法元素。以下更詳細地描述變換寫碼。
CU之大小對應於寫碼模式之大小,且可為正方形形狀。舉例而言,CU之大小可為8×8樣本、16×16樣本、32×32樣本、64×64樣本或達至相應CTU之大小的任何其他適當大小。片語「N×N」在本文中用於指就垂直及水平尺寸而言視訊區塊之像素尺寸(例如,8像素×8像素)。可按列及行來配置區塊中之像素。在一些實施例中,區塊在水平方向上可不具有與在垂直方向上相同的數目個像素。與CU相關聯之語法資料可描述例如將CU分割成一或多個PU。分割模式可在CU經框內預測模式編碼抑或經框間預測模式編碼之間有所不同。PU可被分割成非正方形形狀。與CU相關聯之語法資料亦可描述(例如)根據CTU將CU分割成一或多個TU。TU可為正方形或非正方形形狀。
根據HEVC標準,可使用變換單元(TU)來執行變換。TU可針對不同CU而變化。可基於給定CU內之PU的大小而對TU設定大小。TU可與PU大小相同或小於PU。在一些實例中,對應於CU之殘差樣本可使用四分樹結構(稱為殘差四分樹(RQT))再分為較小單元。RQT之葉節點可對應於TU。可變換與TU相關聯之像素差值以產生變換係數。變換係數可接著由編碼器引擎106量化。
一旦視訊資料之圖像被分割成CU,編碼器引擎106就使用預測模式來預測每一PU。接著自原始視訊資料減去預測單元或預測區塊以得到殘差(如下描述)。對於各CU,可使用語法資料在位元串流內部發信預測模式。預測模式可包括框內預測(或圖像內預測)或框間預測(或圖像間預測)。框內預測利用圖像內之空間相鄰樣本之間的相關。舉例而言,在使用框內預測之情況下,使用(例如)DC預測以發現PU之平均值、使用平面預測以使平面表面擬合於PU、使用方向預測以自相鄰資料外插或使用任何其他合適類型之預測,自同一圖像中之相鄰影像資料預測每一PU。框間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。舉例而言,在使用框間預測之情況下,使用運動補償預測自一或多個參考圖像(按輸出次序在當前圖像之前或之後)中之影像資料預測各PU。可(例如)以在CU層級決定是否使用圖像間預測抑或圖像內預測來寫碼圖像區域。
編碼器引擎106及解碼器引擎116 (如下更詳細地描述)可經組態以根據VVC操作。根據VVC,視訊寫碼器(諸如編碼器引擎106及/或解碼器引擎116)將圖像分割成複數個寫碼樹型單元(CTU)(其中明度樣本之CTB及色度樣本之一或多個CTB以及用於明度及色度樣本之語法被稱作CTU)。視訊寫碼器可根據樹型結構分割CTU,諸如四分樹二進位樹型(QTBT)結構或多類型樹型(MTT)結構。QTBT結構移除多個分割類型之概念,諸如HEVC之CU、PU及TU之間的間距。QTBT結構包括兩個層級:根據四分樹分割分割的第一層級,及根據二進位樹分割分割的第二層級。QTBT結構之根節點對應於CTU。二進位樹之葉節點對應於寫碼單元(CU)。
在MTT分割結構中,區塊可使用四分樹分割、二進位樹分割及一或多種類型之三重樹分割來分割。三重樹分割為區塊分裂成三個子區塊的分割。在一些實例中,三重樹分割在不經由中心分隔原始區塊情況下將區塊分成三個子區塊。MTT中之分割類型(例如四分樹、二進位樹及三重樹)可為對稱或不對稱的。
在一些實例中,視訊寫碼器可使用單一QTBT或MTT結構以表示明度及色度分量中之每一者,而在其他實例中,視訊寫碼器可使用兩個或多於兩個QTBT或MTT結構,諸如用於明度分量之一個QTBT或MTT結構及用於兩個色度分量之另一QTBT或MTT結構(或用於各別色度分量之兩個QTBT及/或MTT結構)。
視訊寫碼器可經組態以使用根據HEVC之四分樹分割、QTBT分割、MTT分割,或其他分割結構。出於說明之目的,本文中之描述可指QTBT分割。然而,應理解,本發明之技術亦可應用於經組態以使用四分樹分割亦或其他類型之分割的視訊寫碼器。
在一些實例中,圖像之一或多個截塊被指派截塊類型。截塊類型包括經框內寫碼截塊(I截塊)、經框間寫碼P截塊,及經框間寫碼B截塊。I截塊(經框內寫碼圖框,可獨立解碼)為僅藉由框內預測寫碼之圖像的截塊,且因此可獨立解碼,此係因為I截塊僅需要圖框內之資料來預測截塊之任何預測單元或預測區塊。P截塊(單向預測圖框)為可藉由框內預測及單向框間預測寫碼之圖像的截塊。藉由框內預測或框間預測寫碼P截塊內之每一預測單元或預測區塊。當應用框間預測時,僅由一個參考圖像預測該預測單元或預測區塊,且因此參考樣本僅來自一個圖框之一個參考區。B截塊(雙向預測性圖框)為可藉由框內預測及框間預測(例如,雙向預測或單向預測)寫碼的圖像之截塊。B截塊之預測單元或預測區塊可自兩個參考圖像雙向預測,其中每一圖像貢獻一個參考區且兩個參考區之樣本集合經加權(例如,運用相等權重或運用不同權重)以產生雙向預測區塊之預測信號。如上文所解釋,一個圖像之截塊被獨立寫碼。在一些情況下,圖像可僅作為一個截塊而被寫碼。
如上文所提及,圖像內預測使用圖像內之空間相鄰樣本之間的相關性。存在複數個框內預測模式(亦被稱作「框內模式」)。在一些實例中,明度區塊之框內預測包括35種模式,包括平面模式、DC模式及33個角度模式(例如對角框內預測模式及鄰近於對角框內預測模式之角度模式)。框內預測之35個模式如下表1中所展示經索引化。在其他實例中,可定義可能不會已表示為33個角度模式的更多個包括預測角之框內模式。在其他實例中,與角度模式相關聯之預測角可能不同於用於HEVC中之彼等預測角。
框內預測模式 相關聯名稱
0 INTRA_PLANAR
1 INTRA_DC
2 … 34 INTRA_ANGULAR2 … INTRA_ANGULAR34   
表1-框內預測模式及相關聯名稱之詳細說明
圖像間預測使用圖像之間的時間相關性以便導出影像樣本之區塊的運動補償預測。使用平移運動模型,先前解碼之圖像(參考圖像)中的區塊之位置係由運動向量(Δx, Δy)指示,其中Δx指定水平移位且Δy指定參考區塊相對於當前區塊之位置的垂直移位。在一些情況下,運動向量(Δx, Δy)可在整數樣本準確度(亦稱作整數準確度)中,在此情況下運動向量指向參考圖框之整數像素網格(或整數像素取樣網格)。在一些情況下,運動向量(Δx, Δy)可具有分數樣本準確度(亦被稱作分數像素準確度或非整數準確度)以更準確地俘獲基礎物件之移動而不限於參考圖框之整數像素網格。運動向量之準確度可由運動向量之量化層級表達。舉例而言,量化層級可為整數準確度(例如,1像素)或分數像素準確度(例如,¼像素、½像素或其他子像素值)。當對應運動向量具有分數樣本準確度時,對參考圖像應用內插以導出預測信號。舉例而言,在整數位置處可用的樣本可經濾波(例如使用一或多個內插濾波器)以估計在分數位置處之值。先前經解碼參考圖像由參考圖像清單的參考索引(refIdx)指示。運動向量及參考索引可被稱作運動參數。可執行兩種圖像間預測,包括單向預測及雙向預測。
在框間預測使用雙向預測情況下,兩組運動參數(Δx0 ,y0 ,refIdx0 及Δx1 ,y1 ,refIdx1 )用於產生兩個經運動補償之預測(自相同參考圖像或可能自不同參考圖像)。舉例而言,藉由雙向預測,每一預測區塊使用兩個運動補償預測信號,且產生B預測單元。接著組合兩個運動補償預測以得到最終運動補償預測。舉例而言,可藉由取平均值來組合兩個運動補償預測。在另一實例中,可使用加權預測,在此情況下,不同權重可應用於每一運動補償預測。可用於雙向預測中之參考圖像儲存於兩個單獨清單(表示為清單0及清單1)中。可使用運動估計程序在編碼器處導出運動參數。
在框間預測使用單向預測情況下,一組運動參數(Δx0 ,y0 ,refIdx0 )用以自參考圖像產生經運動補償之預測。舉例而言,藉由單向預測,每一預測區塊使用至多一個運動補償預測信號,且產生P預測單元。
PU可包括與預測程序相關之資料(例如,運動參數或其他合適的資料)。舉例而言,當使用框內預測編碼PU時,PU可包括描述用於PU之框內預測模式的資料。作為另一實例,當使用框間預測來編碼PU時,PU可包括定義用於PU之運動向量的資料。定義用於PU之運動向量的資料可描述(例如)運動向量之水平分量(∆x)、運動向量之垂直分量(∆y)、用於運動向量之解析度(例如,整數精度、四分之一像素精度或八分之一像素精度)、運動向量指向之參考圖像、參考索引、用於運動向量之參考圖像清單(例如,清單0、清單1或清單C),或其任何組合。
在使用框內預測及/或框間預測執行預測之後,編碼器件104可執行變換及量化。舉例而言,在預測之後,編碼器引擎106可計算對應於PU之殘差值。殘差值可包含被寫碼的像素之當前區塊(PU)與用以預測當前區塊之預測區塊(例如,當前區塊之預測版本)之間的像素差值。舉例而言,在產生預測區塊(例如,使用框間預測或框內預測)之後,編碼器引擎106可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘差區塊。殘差區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的一組像素差值。在一些實例中,殘差區塊可以二維區塊格式(例如,像素值之二維矩陣或陣列)表示。在此等實例中,殘差區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘差資料,此變換可基於離散餘弦變換(DCT)、離散正弦變換(DST)、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如大小32× 32、16 × 16、8 × 8、4 × 4或其他合適大小的核心)可應用於每一CU中之殘差資料。在一些實例中,TU可用於由編碼器引擎106實施之變換及量化程序。具有一或多個PU之給定CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘差值變換成變換係數,且接著可使用TU來量化且掃描殘差值以產生用於熵寫碼之序列化變換係數。
在一些實施例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘差資料。PU可包含空間域(或像素域)中之像素資料。如先前所提及,殘差資料可對應於未經編碼圖像之像素(例如PU)與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU (其包括PU)之殘差資料的一或多個TU,且接著可變換TU以產生用於CU之變換係數。在應用區塊變換之後,TU可包含變換域中之係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以縮減用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可縮減與係數中之一些或所有相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值捨位為m位元值,其中n大於m。
一旦量化被執行,經寫碼視訊位元串流就包括經量化變換係數、預測資訊(例如,預測模式、運動向量、區塊向量或其類似者)、分割資訊及任何其他合適的資料,諸如其他語法資料。接著可由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可利用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的序列化向量。在一些實例中,編碼器引擎106可執行自適應掃描。在掃描經量化變換係數以形成一向量(例如一維向量)之後,編碼器引擎106可熵編碼該向量。舉例而言,編碼器引擎106可使用上下文自適應可變長度寫碼、上下文自適應二進位算術寫碼、基於語法之上下文自適應二進位算術寫碼、機率區間分割熵寫碼或另一合適的熵編碼技術。
編碼器件104之輸出110可經由通信鏈路120將構成經編碼視訊位元串流資料之NAL單元發送至接收器件之解碼器件112。解碼器件112之輸入114可接收該等NAL單元。通信鏈路120可包括由無線網路、有線網路或有線網路與無線網路之組合提供的通道。無線網路可包括任何無線介面或無線介面之組合,且可包括任何合適的無線網路(例如,網際網路或其他廣域網路、基於封包之網路、WiFiTM 、射頻(RF)、UWB、WiFi-Direct、蜂巢式、長期演進(LTE)、WiMaxTM 或其類似者)。有線網路可包括任何有線介面(例如,光纖、乙太網路、電力線乙太網路、經由同軸纜線之乙太網路、數位信號線(DSL)或其類似者)。可使用各種設備來實施有線及/或無線網路,該等設備諸如基地台、路由器、存取點、橋接器、閘道器、交換器或其類似者。可根據通信標準(諸如,無線通信協定)調變經編碼視訊位元串流資料,且將其傳輸至接收器件。
在一些實例中,編碼器件104可將經編碼視訊位元串流資料儲存於儲存器108中。輸出110可自編碼器引擎106或自儲存器108擷取經編碼視訊位元串流資料。儲存器108可包括多種分散式或本機存取之資料儲存媒體中之任一者。舉例而言,儲存器108可包括硬碟機、儲存光碟、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。儲存器108亦可包括用於儲存參考圖像以供用於框間預測的經解碼圖像緩衝器(DPB)。在另一實例中,儲存器108可對應於可儲存由源器件產生之經編碼視訊的檔案伺服器或另一中間儲存器件。在此等情況下,包括解碼器件112之接收器件可經由串流或下載自儲存器件存取經儲存視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至接收器件的任何類型之伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本機磁碟機。接收器件可經由任何標準資料連接(包括網際網路連接)存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者之組合。自儲存器108的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
解碼器件112之輸入114接收經編碼視訊位元串流資料,且可將視訊位元串流資料提供至解碼器引擎116,或提供至儲存器118以供稍後由解碼器引擎116使用。舉例而言,儲存器118可包括用於儲存參考圖像以供用於框間預測的DPB。包括解碼器件112之接收器件可經由儲存器108接收待解碼的經編碼視訊資料。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將其傳輸至接收器件。用於傳輸經編碼視訊資料的通信媒體可包括任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成以封包為基礎之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)之部分。通信媒體可包括路由器、交換器、基地台或可能適用於促進自源器件至接收器件之通信的任何其他設備。
解碼器引擎116可藉由熵解碼(例如,使用熵解碼器)及提取構成經編碼視訊資料之一或多個經寫碼視訊序列的元素而解碼經編碼視訊位元串流資料。解碼器引擎116可接著重新按比例縮放經編碼視訊位元串流資料且對經編碼視訊位元串流資料執行反變換。殘差資料接著傳遞至解碼器引擎116之預測級。解碼器引擎116接著預測像素之區塊(例如PU)。在一些實例中,預測被添加至反變換之輸出(殘差資料)。
解碼器件112可將經解碼視訊輸出至視訊目的地器件122,視訊目的地器件可包括用於將經解碼視訊資料顯示給內容之消費者的顯示器或其他輸出器件。在一些態樣中,視訊目的地器件122可為包括解碼器件112的接收器件之部分。在一些態樣中,視訊目的地器件122可為不同於接收器件的單獨器件之部分。
在一些實施例中,視訊編碼器件104及/或視訊解碼器件112可分別與音訊編碼器件及音訊解碼器件整合。視訊編碼器件104及/或視訊解碼器件112亦可包括實施上文所描述之寫碼技術所必需的其他硬體或軟體,諸如一或多個微處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯、軟體、硬體、韌體或其任何組合。視訊編碼器件104及視訊解碼器件112可整合為各別器件中之組合式編碼器/解碼器(編解碼器)之部分。
圖1中展示之實例系統為在本文中使用的一個說明性實例。用於使用本文中所描述之技術處理視訊資料的技術可由任何數位視訊編碼及/或解碼器件執行。儘管通常本發明之技術由視訊編碼器件或視訊解碼器件來執行,但該等技術亦可由組合式視訊編碼器-解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及接收器件僅為其中源器件產生經寫碼視訊資料以供傳輸至接收器件的此類寫碼器件之實例。在一些實例中,源器件及接收器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
對HEVC標準之擴展包括多視圖視訊寫碼擴展(被稱作MV-HEVC)及可調式視訊寫碼擴展(被稱作SHVC)。MV-HEVC及SHVC擴展共用分層寫碼之概念,其中不同層包括於經編碼視訊位元串流中。經寫碼視訊序列中之每一層係由唯一層識別符(ID)定址。層ID可存在於NAL單元之標頭中以識別NAL單元所相關聯之層。在MV-HEVC中,不同層通常表示視訊位元串流中之同一場景的不同視圖。在SHVC中,提供以不同空間解析度(或圖像解析度)或不同重建構保真度表示視訊位元串流的不同可調式層。可調式層可包括基層(具有層ID=0)及一或多個增強層(具有層ID=1、2、…n)。基層可符合HEVC之第一版本的設定檔,且表示位元串流中之最低可用層。與基層相比,增強層具有增加之空間解析度、時間解析度或圖框速率及/或重建構保真度(或品質)。增強層經階層式組織,且可(或可不)取決於較低層。在一些實例中,可使用單一標準編解碼器來寫碼不同層(例如,使用HEVC、SHVC或其他寫碼標準編碼所有層)。在一些實例中,可使用多標準編解碼器來寫碼不同層。舉例而言,可使用AVC來寫碼基層,而可使用對HEVC標準之SHVC及/或MV-HEVC擴展來寫碼一或多個增強層。
如上文所描述,對於每一區塊,運動資訊之集合(在本文中亦被稱作運動參數)可係可用的。運動資訊集合可含有用於前向及後向預測方向之運動資訊。此處,前向及後向預測方向為雙向預測模式之兩個預測方向且術語「前向」及「後向」未必具有幾何結構涵義。實際上,前向及後向可對應於當前圖像、截塊或區塊之參考圖像清單0 (RefPicList0)及參考圖像清單1 (RefPicList1)。在一些實例中,當僅僅一個參考圖像清單可用於圖像、截塊或區塊時,僅僅RefPicList0係可用的且截塊之每一區塊的運動資訊始終係前向。在一些實例中,RefPicList0包括時間上在當前圖像之前的參考圖像,且RefPicList1包括時間上在當前圖像之後的參考圖像。在一些情況下,運動向量以及相關聯參考索引可用於解碼程序。具有相關聯參考索引之此類運動向量表示為單向預測性運動資訊集合。
對於每一預測方向,運動資訊可含有參考索引及運動向量。在一些情況下,為簡單起見,運動向量可具有相關聯資訊,自該資訊可假設運動向量具有相關聯參考索引的方式。參考索引可用於識別當前參考圖像清單(RefPicList0或RefPicList1)中之參考圖像。運動向量可具有提供自當前圖像中之座標位置至由參考索引識別的參考圖像中之座標的偏移的水平及垂直分量。舉例而言,參考索引可指示應用於當前圖像中之區塊的特定參考圖像,且運動向量可指示最佳匹配區塊(最佳匹配當前區塊的區塊)在參考圖像中之何處。
圖像次序計數(POC)可用於視訊寫碼標準以識別圖像之顯示次序。儘管存在一個經寫碼視訊序列內之兩個圖像可具有相同POC值的情況,但一個經寫碼視訊序列內常常不出現具有相同POC值之兩個圖像。當多個經寫碼視訊序列存在於位元串流中時,具有相同POC值之圖像就解碼次序而言可彼此更接近。圖像之POC值可用於參考圖像清單建構,如HEVC中之參考圖像集的導出,及/或運動向量按比例縮放,以及其他。
在H.264/AVC中,每一框間巨集區塊(MB)可分割成四個不同方式,包括:一個16×16巨集區塊分割;兩個16×8巨集區塊分割;兩個8×16巨集區塊分割;及四個8×8巨集區塊分割,以及其他。一個巨集區塊中之不同巨集區塊分割對於每一預測方向可具有不同參考索引值(例如對於RefPicList0及RefPicList1,具有不同參考索引值)。
在一些情況下,當巨集區塊未分割成四個8×8巨集區塊分割時,巨集區塊可在每一預測方向中對於每一巨集區塊分割具有僅僅一個運動向量。在一些情況下,當巨集區塊分割成四個8×8巨集區塊分割時,每一8×8巨集區塊分割可經進一步分割成子區塊,該等子區塊中之每一者可在每一預測方向中具有不同運動向量。8×8巨集區塊分割以不同方式可劃分成子區塊,包括:一個8×8子區塊;兩個8×4子區塊;兩個4×8子區塊;及四個4×4子區塊,以及其他。每一子區塊可在每一預測方向中具有不同運動向量。因此,運動向量可存在於等於或高於子區塊之層級中。
在HEVC中,截塊中之最大寫碼單元稱為寫碼樹型區塊(CTB)或寫碼樹型單元(CTU)。CTB含有四分樹,該四分樹之節點為寫碼單元。CTB之大小根據HEVC主規範可介於16×16像素至64×64像素之範圍內。在一些情況下,可支援8×8像素CTB大小。CTB可以四分樹方式遞迴地分裂成寫碼單元(CU)。CU可與CTB具有相同大小,且小如8×8像素。在一些情況下,每一寫碼單元係運用一個模式(諸如框內預測模式或框間預測模式)寫碼。當使用框間預測模式來框間寫碼CU時,CU可經進一步分割成兩個或四個預測單元(PU),或當不應用進一步分割時可被視為一個PU。當兩個PU存在於一個CU中時,兩個PU可為一半大小的矩形或為CU之大小的¼或¾的兩個矩形。
當CU經框間寫碼時,對於每一PU可存在一個運動資訊集合,可運用獨特框間預測模式導出該運動資訊集合。舉例而言,可運用一個框間預測模式寫碼每一PU以導出該運動資訊集合。在一些情況下,當使用框內預測模式來框內寫碼CU時,PU形狀可為2N×2N及N×N。在每一PU內,單一框內預測模式經寫碼(同時在CU層級處發信色度預測模式)。在一些情況下,當當前CU大小等於SPS中定義之最小CU大小時,允許N×N框內PU形狀。
對於HEVC中之運動預測,存在用於預測單元(PU)之兩個框間預測模式,包括合併模式及進階運動向量預測(AMVP)模式。跳過被視為合併之特殊情況。在AMVP模式或合併模式中,運動向量(MV)候選者清單經維持以用於多個運動向量預測器。當前PU之運動向量(以及合併模式中之參考索引)係藉由自MV候選者清單獲取一個候選者而產生。
在一些實例中,MV候選者清單含有針對合併模式的至多五個候選者及針對AMVP模式的兩個候選者。在其他實例中,不同數目個候選者可包括於針對合併模式及/或AMVP模式的MV候選者清單中。合併候選者可含有運動資訊之集合。舉例而言,運動資訊之集合可包括對應於參考圖像清單(清單0及清單1兩者)的運動向量及參考索引。若由合併索引來識別合併候選者,則參考圖像用於當前區塊之預測,以及判定相關聯之運動向量。然而,在針對自清單0或清單1的每一潛在預測方向的AMVP模式下,需要明確地將參考索引連同MV預測器(MVP)索引發信至MV候選者清單,此係由於AMVP候選者僅含有一運動向量。在AMVP模式中,可進一步改進經預測運動向量。
合併候選者可對應於運動資訊之完整集合,而AMVP候選者含有針對特定預測方向的一個運動向量及參考索引。以類似方式自相同空間及時間相鄰區塊導出用於兩個模式之候選者。
在一些實例中,合併模式允許經框間預測PU以自包括選自空間相鄰運動資料位置之群組及兩個時間共置運動資料位置中之一者的運動資料位置的經框間預測PU繼承相同一或多個運動向量、預測方向及一或多個參考圖像索引。對於AMVP模式,PU之一或多個運動向量可關於自由編碼器所建構之AMVP候選者清單的一或多個運動向量預測器(MVP)來預測寫碼。在一些情況下,對於PU之單個方向框間預測,編碼器可產生單個AMVP候選者清單。在一些情況下,對於PU之雙向預測,編碼器可產生兩個AMVP候選者清單,一者使用自前向預測方向之空間及時間相鄰PU之運動資料且一者使用自後向預測方向之空間及時間相鄰PU之運動資料。
用於兩個模式之候選者可自空間及/或時間相鄰區塊導出。舉例而言,圖2A及圖2B包括說明HEVC中之空間相鄰候選者之概念圖。圖2A說明用於合併模式之空間相鄰運動向量(MV)候選者。圖2B說明用於AMVP模式之空間相鄰運動向量(MV)候選者。儘管自區塊產生候選者之方法對於合併及AMVP模式而言不同,但對於特定PU(PU0),空間MV候選者係自相鄰區塊導出。
在合併模式中,編碼器可藉由考慮來自各種運動資料位置之合併候選者而形成合併候選者清單。舉例而言,如圖2A中所展示,可相對於圖2A中之數字0至4所展示之空間相鄰運動資料位置來導出達四個空間MV候選者。在一些實例中,此等空間相鄰運動資料位置為當前區塊(諸如PU0)之空間上緊鄰相鄰運動資料位置。MV候選者可按由數字0至4所展示之次序在合併候選者清單中定序。舉例而言,位置及次序可包括:左位置(0)、上位置(1)、右上位置(2)、左下位置(3)及左上位置(4)。在一些實例中,因果關係基於使用空間上相鄰運動資料位置建構合併候選者清單所藉以之次序存在於空間上相鄰運動資料位置與當前區塊之間。在一些實例中,空間上相鄰運動資料位置0至4亦可被稱作緊鄰因果相鄰運動資料位置。
在圖2B中所示之AMVP模式中,相鄰區塊經劃分成兩個群組:左側群組包括區塊0及1,且上方群組包括區塊2、3及4。對於每一群組,參考與由發信之參考索引指示之參考圖像相同的參考圖像的相鄰區塊中之潛在候選者具有待選擇之最高優先級以形成群組之最終候選者。有可能所有相鄰區塊均不含有指向相同參考圖像的運動向量。因此,若無法發現此類候選者,則將按比例縮放第一可用候選者以形成最終候選者,因此可補償時間距離差。可使用可用候選者來建構AMVP候選者清單,可用候選者可適當按比例縮放。在一些實例中,AMVP候選者清單可包括因果相鄰運動資料位置當中的可用候選者。
圖3A及圖3B包括說明HEVC中之時間運動向量預測的概念圖。時間運動向量預測器(TMVP)候選者(若啟用及可用)在空間運動向量候選者之後添加至MV候選者清單中。對於合併及AMVP模式兩者,用於TMVP候選者之運動向量導出之程序為相同的。然而,在一些情況下,用於合併模式中之TMVP候選者的目標參考索引始終經設定成零。
TMVP候選者導出之原始區塊位置為如圖3A中展示為區塊「T」之共置PU外部之右下區塊,以補償用以產生空間相鄰候選者之上方及左側區塊之偏差。然而,若彼區塊位於當前CTB (或LCU)列之外部或運動資訊不可用,則區塊被PU之中心區塊所取代。用於TMVP候選者之運動向量係自截塊層級中所指示之共置圖像之共置PU導出。與AVC中之時間直接模式類似,TMVP候選者之運動向量可經受運動向量按比例縮放,其經執行以補償距離差。
運動預測之其他態樣亦涵蓋於HEVC、VVC及其他視訊寫碼規範中。舉例而言,一個態樣包括運動向量按比例縮放。在運動向量按比例縮放中,運動向量之值經假設為與呈現時間中之圖像之間的距離成比例。在一些實例中,第一運動向量可與兩個圖像相關聯,該兩個圖像包括第一參考圖像及包括第一運動向量之第一含有圖像。第一運動向量可用以預測第二運動向量。為了預測第二運動向量,第一運動之第一含有圖像與第一參考圖像之間的第一距離可基於與第一參考圖像及第一含有圖像相關聯之圖像次序計數(POC)值來計算。
第二參考圖像及第二含有圖像可與待預測之第二運動向量相關聯,其中第二參考圖像可不同於第一參考圖像且第二含有圖像可不同於第一含有圖像。可基於與第二參考圖像及第二含有圖像相關聯之POC值計算在第二參考圖像與第二含有圖像之間的第二距離,其中第二距離可不同於第一距離。為了預測第二運動向量,可基於第一距離及第二距離按比例縮放第一運動向量。對於空間上相鄰候選者,第一運動向量及第二運動向量之第一含有圖像及第二含有圖像可分別相同,而第一參考圖像及第二參考圖像可不同。在一些實例中,對於空間及時間相鄰候選者,運動向量按比例縮放可應用於TMVP及AMVP模式。
運動預測之另一態樣包括人工運動向量候選者產生。舉例而言,若運動向量候選者清單不完整,則人工運動向量候選者經產生於並插入於運動向量候選者清單之末端直至獲得所有候選者。在合併模式中,存在兩種類型之人工MV候選者:第一類型,其包括僅僅針對B截塊導出之組合候選者;及第二類型,若第一類型不提供足夠人工候選者,則該第二類型包括僅僅用於AMVP的零候選者。對於已經在運動向量候選者清單中並具有相關運動資訊的每一對候選者,可藉由參考清單0中之圖像的第一候選者之運動向量與參考清單1中之圖像的第二候選者之運動向量的組合導出雙向組合運動向量候選者。
合併及AMVP模式之另一態樣包括用於候選者插入之精簡程序。舉例而言,來自不同區塊之候選者可恰巧相同,此降低合併候選者清單及/或AMVP候選者清單之效率。可應用精簡程序以解決此問題。精簡程序包括比較一候選者與已經存在於當前候選者清單中之候選者以避免插入相同或重複的候選者。為縮減比較之複雜度,精簡程序可經執行用於待插入於候選者清單中的少於全部潛在候選者。
在一些實例中,可實施增強型運動向量預測。舉例而言,在諸如VVC之視訊寫碼標準中指定一些框間寫碼工具,用於當前區塊的運動向量預測或合併預測之候選者清單可根據該等視訊寫碼標準導出或優化。在下文描述此類方法之實例。
以歷史為基礎之運動向量預測為其中用於當前區塊之一或多個MV預測器可自除了緊鄰因果相鄰運動場中之彼等MV之外的先前解碼之MV的清單獲得或預測的運動向量預測方法。在先前解碼之MV清單中的MV預測器被稱作HMVP候選者。HMVP候選者可包括與經框間寫碼區塊相關聯的運動資訊。可在截塊之編碼及/或解碼程序期間維持具有多個HMVP候選者之HMVP表。在一些實例中,可動態地更新HMVP表。舉例而言,在解碼經框間寫碼區塊之後,HMVP表可藉由將經解碼之框間寫碼區塊之相關聯運動資訊作為新HMVP候選者添加至HMVP表而更新。在一些實例中,當遇到新截塊時可清空HMVP表。
圖4為說明HMVP表400之實例的方塊圖。HMVP表400可實施為使用先進先出(FIFO)規則管理的儲存器件。舉例而言,包括MV預測器之HMVP候選者可儲存於HMVP表400中。HMVP候選者可按編碼或解碼其之次序儲存。在一實例中,HMVP候選者儲存於HMVP表400中所按的次序可對應於建構HMVP候選者所在的時間。舉例而言,當實施於諸如解碼器件112之解碼器中時,HMVP候選者可經建構以包括經解碼之框間寫碼區塊的運動資訊。在一些實例中,來自HMVP表400之一或多個HMVP候選者可包括可用於待解碼的當前區塊之運動向量預測的運動向量預測器。在一些實例中,一或多個HMVP候選者可包括可按時間次序儲存的一或多個此類先前解碼之區塊,按FIFO方式在HMVP表400之一或多個項目中按該時間次序解碼該一或多個HMVP候選者。
HMVP候選者索引402經展示為與HMVP表400相關聯。HMVP候選者索引402可識別HMVP表400之一或多個項目。HMVP候選者索引402經展示為根據說明性實例包括索引值0至4,其中HMVP候選者索引402的索引值中之每一者係與對應項目相關聯。在其他實例中,HMVP表400可包括比參考圖4展示及描述之彼等項目更多或更少的項目。當建構HMVP候選者時,該等HMVP候選者按FIFO方式填入於HMVP表400中。舉例而言,當HMVP候選者經解碼時,其係插入至HMVP表400中一個末端中並依次移動穿過HMVP表400之項目直至其自另一端部退出HMVP表400為止。因此,在一些實例中諸如移位暫存器之記憶體結構可用以實施HMVP表400。在一實例中,索引值0可指向HMVP表400之第一項目,其中第一項目可對應於HMVP候選者插入所在的HMVP表400之第一末端。相應地,索引值4可指向HMVP表400之第二項目,其中第二項目可對應於HMVP候選者退出或自HMVP表400清空所藉以的HMVP表400之第二末端。因此,在索引值0處之第一項目處插入的HMVP候選者可橫穿HMVP表400以為較新或最近經解碼HMVP候選者騰出空間直至HMVP候選者到達索引值4處之第二項目為止。因此,在任何給定時間在存在於HMVP表400中的HVMP候選者當中,在索引值4處之第二項目中之HMVP候選者可係最舊或最早的,而在索引值0處之第一項目中之HMVP候選者可係最年輕或最新的。一般而言,與第一項目中之HMVP候選者相比,在第二項目中之HMVP候選者可為早期或不大近建構之HMVP候選者。
在圖4中,運用參考編號400A、400B及400C識別HMVP表400之不同狀態。參考狀態400A,HMVP候選者HMVP0至HMVP4經展示為存在於在各別索引值4至0處的HMVP表400之項目中。舉例而言,HMVP0可為在索引值0處之第一項目處插入至HMVP表400中的最舊或最早HMVP候選者。HMVP0可經依次移位以為不太新插入及較新HMVP候選者HMVP1至HMVP4騰出空間直至HMVP0到達狀態400A中展示之索引值4處的第二項目為止。相應地,HMVP4可為待插入於索引值0處之第一項目中的最新HMVP候選者。因此,相對於HMVP4,HMVP0為HMVP表400中之早期或不太新的HMVP候選者。
在一些實例中,HMVP候選者HMVP0至HMVP4中之一或多者可包括可為冗餘的運動向量資訊。舉例而言,冗餘HMVP候選者可包括與儲存於HMVP表400中之一個或多個其他HMVP候選者中的運動向量資訊相同的運動向量資訊。由於冗餘HMVP候選者之運動向量資訊可自一個或多個其他HMVP候選者獲得,因此可避免將冗餘HMVP候選者儲存於HMVP表400中。藉由避免冗餘HMVP候選者儲存於HMVP表400中,可更有效地利用HMVP表400之資源。在一些實例中,在將HMVP候選者儲存於HMVP表400中之前,可執行冗餘檢查以判定HMVP候選者是否將係冗餘的(例如HMVP候選者之運動向量資訊可與已經儲存的其他HMVP候選者之運動向量資訊相比較以判定是否存在匹配)。
在一些實例中,HMVP表400之狀態400B為上述冗餘檢查之概念說明。在一些實例中,HMVP候選者可在其經解碼時填入於HMVP表400中,且冗餘檢查可週期性地執行,並非在儲存HMVP候選者之前作為臨限值測試被執行。舉例而言,如狀態400B中所展示,HMVP候選者HMVP1及HMVP3可經識別為冗餘候選者(亦即,其運動資訊與HMVP表400中之其他HMVP候選者中之一者的運動資訊相同)。冗餘HMVP候選者HMVP1及HMVP3可被移除且剩餘的HMVP候選者可相應地被移位。
舉例而言,如狀態400C中所展示,HMVP候選者HMVP2及HMVP4朝向對應於早期項目之較高索引值而移位,而已經在HMVP表400之第二末端處的第二項目中之HMVP0未展示為經進一步移位。在一些實例中,移位HMVP候選者HMVP2及HMVP4可釋放HMVP表400中之空間以用於較新HMVP候選者。因此,新HMVP候選者HMVP5及HMVP6經展示為經移位至HMVP表400中並儲存在索引值0處之第一項目中,其中HMVP6為最新的或包括最近經解碼運動向量資訊。
在一些實例中,來自HMVP表400的HMVP候選者中之一或多者可用於建構可用於當前區塊之運動預測的其他候選者清單。舉例而言,來自HMVP表400之一或多個HMVP候選者可被例如作為額外合併候選者添加至合併候選者清單。在一些實例中,來自同一HMVP表400或另一此類HMVP表之一或多個HMVP候選者可例如作為額外AMVP預測器被添加至進階運動向量預測(AMVP)候選者清單。
舉例而言,在合併候選者清單建構程序中,儲存在HMVP表400之項目中的HMVP候選者中之一些或所有可插入於合併候選者清單中。在一些實例中,在合併候選者清單中插入HMVP候選者可包括在合併候選者清單中在時間運動向量預測器(TMVP)候選者之後插入HMVP候選者。如先前參看圖3A及圖3B所論述,TMVP候選者(若啟用且可用)可在空間運動向量候選者之後添加至MV候選者清單中。
在一些實例中,上述精簡程序可在建構合併候選者清單時應用於HMVP候選者。舉例而言,一旦合併候選者清單中之合併候選者的總數目到達可允許合併候選者的最大數目,合併候選者清單建構程序就可終止,且HMVP候選者就可不再插入至合併候選者清單中。合併候選者清單中之可允許合併候選者的最大數目可為預定數目或可例如自編碼器發信至解碼器的數目,在解碼器處可建構合併候選者清單。
在建構合併候選者清單之一些實例中,一個或多個其他候選者可插入於合併候選者清單中。在一些實例中,可能不鄰近於當前區塊的經先前寫碼區塊之運動資訊可用於更高效運動向量預測。舉例而言,非鄰近空間合併候選者可用於建構合併候選者清單。在一些實例中,非鄰近空間合併候選者可在TMVP候選者之前插入於合併候選者清單中。在一些實例中,非鄰近空間合併候選者可在TMVP候選者之前插入於可包括在TMVP候選者之後插入的HMVP候選者中之一或多者的同一合併候選者清單中。下文將參看圖5描述識別並提取可插入至合併候選者清單中的一或多個非鄰近空間合併候選者。
圖5為說明包括待寫碼之當前區塊502的圖像或截塊500之方塊圖。在一些實例中,合併候選者清單可經建構用於寫碼當前區塊502。舉例而言,用於當前區塊之運動向量可自合併候選者清單中之一或多個合併候選者獲得。合併候選者清單可包括判定非鄰近空間合併候選者。舉例而言,非鄰近空間合併候選者可包括自相對於當前區塊502之兩個非鄰近相鄰位置導出的新空間候選者。
展示當前區塊502之若干鄰近或相鄰區塊,包括左上方區塊B2 510 (在當前區塊502之上方及左側)、上方區塊B1 512 (在當前區塊502上方)、右上方區塊B0 514 (在當前區塊502上方及右側)、左側區塊A1 516 (在當前區塊502左側),及左下方區塊A0 518 (在當前區塊502左側及下方)。在一些實例中,非鄰近空間合併候選者可自當前區塊之上方及/或左側的最接近非鄰近區塊的區塊獲得。
在一些實例中,獲得當前區塊502之非鄰近空間合併候選者可包括追蹤垂直方向(在當前區塊502上方)上及/或在水平方向(當前區塊502之左側)上的先前解碼之區塊。垂直追蹤反向距離504指示關於當前區塊502 (例如當前區塊502之頂部邊界)及垂直非鄰近區塊VN 520之垂直距離。水平追蹤反向距離506指示關於當前區塊502 (例如當前區塊502之左側邊界)及水平非鄰近區塊HN 522的水平距離。垂直追蹤反向距離504及水平追蹤反向距離506限制於等於一個寫碼樹型單元(CTU)之大小的最大距離。
諸如垂直非鄰近區塊VN 520及水平非鄰近區塊HN 522之非鄰近空間合併候選者可藉由分別追蹤在垂直方向及水平方向中之前一經解碼區塊來識別。舉例而言,提取垂直非鄰近區塊VN 520可包括用以判定經框間寫碼區塊是否存在於垂直追蹤反向距離504 (限於一個CTU之最大大小)內的垂直反追蹤程序。若此區塊存在,則其經識別為垂直非鄰近區塊VN 520。在一些實例中,水平反追蹤程序可在垂直反追蹤程序之後執行。水平反追蹤程序可包括判定經框間寫碼區塊是否存在於水平追蹤反向距離506 (限於一個CTU之最大大小)內,且若發現此區塊,則其經識別為水平非鄰近區塊HN 522。
在一些實例中,垂直非鄰近區塊VN 520及水平非鄰近區塊HN 522中之一或多者可經提取以用作非鄰近空間合併候選者。提取程序可包括若在垂直反追蹤程序中識別垂直非鄰近區塊VN 520,則提取垂直非鄰近區塊VN 520。提取程序可接著繼續進行至水平反追蹤程序。若在垂直反追蹤程序中未識別垂直非鄰近區塊VN 520,則當遇到經框間寫碼區塊或水平追蹤反向距離506超過最大距離時水平反追蹤程序可終止。若垂直非鄰近區塊VN 520經識別並提取,則當遇到含有與含於垂直非鄰近區塊VN 520中之MV不同的MV的經框間寫碼區塊時或在水平追蹤反向距離506超過最大距離情況下終止水平反追蹤程序。如前所提及,在合併候選者清單中之TMVP候選者之前添加諸如垂直非鄰近區塊VN 520及水平非鄰近區塊HN 522的經提取非鄰近空間合併候選者中之一或多者。
返回參看圖4,在一些情況下,HMVP候選者亦可用於建構AMVP候選者清單。在AMVP候選者清單建構程序中,儲存於相同HMVP表400 (或與用於合併候選者清單建構之表不同的HMVP表)之項目中的HMVP候選者中之一些或所有可插入於AMVP候選者清單中。在一些實例中,插入AMVP候選者清單中之HMVP候選者可包括在AMVP候選者清單中之TMVP候選者之後插入HMVP候選者的項目之集合(例如k數目個最新或最早項目)。在一些實例中,上述精簡程序可應用於HMVP候選者以建構AMVP候選者清單。在一些實例中,僅僅具有與AMVP目標參考圖像相同之參考圖像的彼等HMVP候選者可用於建構AMVP候選者清單。
因此,以歷史為基礎之運動向量預測器(HMVP)預測模式可涉及以歷史為基礎之查找表(諸如包括一或多個HMVP候選者之HMVP表400)的使用。HMVP候選者可用於框間預測模式,諸如合併模式及AMVP模式。在一些實例中,不同框間預測模式可使用不同方法以自HMVP表400選擇HMVP候選者。
本文中描述與視訊編解碼器中之框間預測相關的系統、裝置、方法(亦稱作程序)及電腦可讀媒體。舉例而言,如本文中更詳細地描述,本文中所描述的技術與解碼器側運動向量優化(DMVR)相關。在一些情況下,技術可由編碼器件104、解碼器件112或其組合中之一或多者執行。在一些實例中,該等技術可應用於現有視訊編解碼器中之任一者,諸如高效率視訊寫碼(HEVC)及(多功能視訊寫碼),或可為任何未來視訊寫碼標準中之高效率寫碼工具。
在一些實例中,所揭示技術亦可用於區塊內複製(IBC)預測。在IBC預測中,或在IBC模式中,圖框內的先前編碼之區塊可用作當前區塊之預測器。在一些實例中,先前編碼之區塊可自HMVP表獲得。在一些實例中,IBC預測可利用影像圖框或圖像中之冗餘並執行區塊匹配以將樣本之區塊(例如CU、PU或其他寫碼區塊)預測為自影像圖框之相鄰區中的樣本之經重建構區塊的移位。藉由自內容之重複型樣移除冗餘,IBC預測可改良寫碼效率。
在一些實例中,在框間預測或區塊內複製預測中,不同框間預測模式(例如合併模式、AMVP模式及/或其他框間預測模式)可共用同一HMVP表。在一些情況下,不同框間預測模式可使用相同或不同方法以自HMVP表選擇候選者。
如先前所提及,HMVP候選者可按FIFO方式插入至HMVP表中。舉例而言,早期或不太新的HMVP候選者可在較年輕或最新HMVP候選者插入至HMVP表中之前插入至HMVP表中。HMVP表可包括兩個或多於兩個項目以儲存兩個或多於兩個HMVP候選者,其中兩個或多於兩個項目可具有兩個或多於兩個相關聯索引值。在一些實例中,索引值可遵循一索引次序,其可為自最低索引值(例如「0」)至最高索引值(例如「N-1」,其中HMVP表具有N個項目)的遞增次序。在FIFO實施之一些實例中,當較新或最新的HMVP候選者插入至HMVP表中時,HMVP候選者可自與較低索引值相關聯之項目移位至與較高索引值相關聯之項目。因此,在任何時間點處,與具有較低索引值之項目相比,具有較高索引值的HMVP表之項目可包括早期或不太新的HMVP候選者。舉例而言,與第二索引值相關聯的第二項目可包括不太新的HMVP候選者且與第一索引值相關聯的第一項目可包括最新的HMVP候選者,其中第一索引值低於第二索引值。
在一些實例中,對於不同預測模式自HMVP表選擇HMVP候選者可係基於與HMVP候選者相關聯的選擇次序。在一些實例中,選擇次序可相對於具有遞增索引值之索引次序而界定。在其中按索引次序之索引值包括按索引值之遞增次序低於第二索引值的第一索引值的實例中,術語「前向次序」可包括其中具有第一索引值之第一項目中的第一HMVP候選者係在具有第二索引值之第二項目中的第二HMVP候選者之前被選擇的選擇次序。相應地,術語「反向次序」可包括為反向次序之選擇次序,其中具有第二索引值之第二項目中的第二HMVP候選者係在具有第一索引值之第一項目中的第一HMVP候選者之前被選擇。如先前所提及,與第二索引值相關聯的第二項目可包括不太新的HMVP候選者且與第一索引值相關聯的第一項目可包括最新的HMVP候選者。應理解在本文所論述之實例中,前向次序及反向次序可為並不意謂傳達任何絕對方向或固有限制的相對術語。
在一些實例中,參考圖4的HMVP表400 (例如在狀態400A中),最舊或最早HMVP候選者(HMVP0)可存在於與在索引值0至4之集合當中的最高索引值(4)相關聯的第二項目處。最年輕HMVP或最新的HMVP候選者(HMVP4)可存在於與在索引值0至4的集合當中之最低索引值(0)相關聯的第一項目處。因此,前向次序可包括選擇與索引值相關聯的HMVP候選者,自最低索引值開始並朝向最高索引值繼續。舉例而言,按前向次序自HMVP表400選擇HMVP候選者可包括按一次序選擇HMVP候選者,在該次序中在第一項目(與最低索引值相關聯)處之最新的HMVP候選者係在第二項目(與最高索引值相關聯)處之最早HMVP候選者之前選擇。相應地,反向次序可包括選擇與索引值相關聯的HMVP候選者,自最高索引值開始並朝向最低索引值繼續。舉例而言,按反向次序自HMVP表400選擇HMVP候選者可包括按一次序選擇HMVP候選者,在該次序中在第二項目(與最高索引值相關聯)處之最早的HMVP候選者係在第一項目(與最低索引值相關聯)處之最新HMVP候選者之前選擇。在一些實例中,根據用於不同預測模式之不同方法選擇HMVP候選者可包括根據自前向次序或反向次序選擇的不同次序選擇HMVP候選者。
在一些實例中,根據用於不同預測模式之不同方法選擇HMVP候選者亦可包括根據不同「子取樣速率」自HMVP表選擇HMVP候選者。在本發明中,基於子取樣速率自HMVP表選擇HMVP候選者係指按前向次序或反向次序自HMVP表之項目選擇HMVP候選者,項目索引可以某一間隔間隔開。舉例而言,為「1」之子取樣速率可意謂自與依序索引位置相關聯之項目選擇HMVP候選者。舉例而言,以為「1」之子取樣速率選擇的HMVP候選者可包括自HMVP表之項目選擇的HMVP候選者(按前向次序或反向次序),項目索引值在其之間沒有空隙。類似地,為R之子取樣速率(其中R為正整數)可包括對於所選擇的連續HMVP候選者自HMVP表之項目選擇HMVP候選者(按前向次序或反向次序),該等項目之索引值由R分隔開。雖然本文中詳細論述具有規則間隔或空隙或恆定子取樣速率的子取樣,但有可能具有可變子取樣速率,其中間隔或空隙可在所選擇的HMVP候選者之索引值之間變化。
如先前所提及,合併候選者清單及AMVP候選者清單可自相同HMVP表或自不同HMVP表建構。另外,建構合併候選者清單及AMVP候選者清單可包括相同方法或不同方法,其中不同方法可涉及不同選擇次序及/或不同子取樣速率。
在一些實例中,合併候選者清單中之合併候選者可使用與自經選擇用於建構合併候選者清單的HMVP候選者獲得的彼等運動向量相同的運動向量。舉例而言,在合併模式中,運動向量預測可包括自時間上共置候選者繼承運動資訊。在一些實例中,包括於最新HMVP候選者中之運動向量預測器可具有與當前區塊較強的相關性,在合併模式中導出該當前區塊之運動向量以用於框間預測。因此,在一些實例中,合併候選者清單建構可遵循選擇HMVP候選者之前向次序,其中在不太新的HMVP候選者之前選擇最新HMVP候選者。
在一些實例中,用於AMVP候選者清單中之AMVP候選者的運動向量可自包括於HMVP候選者中之運動向量預測。在一些實例中,與不太新的HMVP候選者相比,HMVP表中之最新的HMVP候選者可具有與使用AMVP模式預測的當前區塊較少的相關性。在VVC中,舉例而言,使用HMVP表中之不太新的候選者用於AMVP可導致更準確預測。舉例而言,早期的HMVP候選者可包括可更適用於在AMVP模式中預測當前區塊之運動向量的運動向量。在一些實例中,使用不太新或早期的HMVP候選者用於AMVP模式預測可導致寫碼高效。因此,在一些實例中,AMVP候選者清單建構可遵循反向次序,其中在最新的HMVP候選者之前選擇不太新的HMVP候選者。
現將參看圖6A、圖6B、圖7A及圖7B描述上述技術之不同實例。在此等實例中,描述可共用相同HMVP表但使用不同選擇方法來自表選擇候選者的不同框間預測模式。在以下說明性實例中,HMVP表之大小可表示為N,子取樣速率可表示為R,且index_start可表示HMVP表中之初始索引值,候選者選擇可自該初始索引值按前向次序或反向次序中的一者開始。任何合適的值可指派給參數index_start、N及R。
圖6A及圖6B為說明根據本發明之實例態樣的HMVP表600的方塊圖。HMVP表600展示為具有16個項目,該等項目之索引值介於0至15之範圍內。舉例而言,HMVP表600之大小可使用上文所提及之標記表示為N=16。HMVP表600之項目包括類似於參考圖4描述的HMVP表400之HMVP候選者的HMVP候選者。在HMVP表600中,展示16個HMVP候選者(HMVP0至HMVP15),其可能已按FIFO方式填入,其中HMVP0為在具有索引值15之第二項目處的最舊或最早候選者且HMVP15為在具有索引值0之第一項目處的最年輕或最新候選者。如先前所描述,選擇HMVP候選者的前向次序可包括其中第一項目將在第二項目之前被選擇的方向(即使第一項目或第二項目中之一或多者自身可能不基於index_start及子取樣速率而選擇)。類似地,選擇HMVP候選者之反向次序可包括其中第二項目將在第一項目之前被選擇的方向(即使第一項目或第二項目中之一或多者自身可能不基於index_start及子取樣速率而選擇)。
在圖6A中,展示用於藉由按前向次序自HMVP表600選擇HMVP候選者而建構合併候選者清單602的說明性實例。在圖6B中,展示用於藉由按反向次序自HMVP表600選擇HMVP候選者建構合併候選者清單604的說明性實例。應理解,除了自HMVP表600獲得的彼等候選者之外,合併候選者清單602及604還可包括一或多個合併候選者,但其並未說明。舉例而言,合併候選者清單602及/或合併候選者清單604亦可包括時間運動向量預測器(TMVP)候選者及一或多個非鄰近空間合併候選者,諸如參看圖5描述之垂直非鄰近區塊VN 520及水平非鄰近區塊HN 522。
在圖6A中,建構合併候選者清單602可包括按前向次序使用參數index_start=3、N=16、R=4選擇HMVP候選者。在此實例中,使用前向次序以自HMVP表600選擇候選者可導致自集合{3、7、11、15}中之索引值所選擇的候選者形成合併候選者清單602。舉例而言,為3之index_start值指示合併候選者清單602中之第一合併候選者為自HMVP表600中之與索引值3相關聯之項目獲得的HMVP12。由於子取樣速率為R=4,因此在所選擇連續HMVP候選者之間具有4個索引值之空隙的情況下選擇HMVP候選者。因此,合併候選者清單602中之下一合併候選者為自HMVP表600中與索引值7相關聯之項目獲得的HMVP8。類似地,合併候選者清單602中之接下來兩個合併候選者為分別自HMVP表600中與索引值11及15相關聯之項目獲得的HMVP4及HMVP0。
在圖6B中,建構合併候選者清單604可包括使用參數index_start=13、N=16、R=4按反向次序選擇HMVP候選者。在此實例中,使用反向次序以自HMVP表600選擇候選者可導致來自集合{13、9、5、1}中之索引值的所選擇候選者形成合併候選者清單604。舉例而言,使用以上選擇程序形成的合併候選者清單604可包括分別自在索引值13、9、5及1處的HMVP表600之項目獲得的HMVP候選者HMVP2、HMVP6、HMVP10及HMVP14。
圖7A及圖7B為說明根據本發明之實例態樣的HMVP表700的方塊圖。HMVP表700展示為具有索引值介於0至15範圍內的16個項目。舉例而言,HMVP表700之大小可使用上文所提及之標記表示為N=16。HMVP表700之項目包括類似於參考圖4描述的HMVP表400之HMVP候選者的HMVP候選者。在HMVP表700中,展示16個HMVP候選者(HMVP0至HMVP15),其可能已按FIFO方式填入,其中HMVP0為在具有索引值15之第二項目處的最舊或最早候選者,且HMVP15為在具有索引值0之第一項目處的最年輕或最新候選者。如先前所描述,選擇HMVP候選者的前向次序可包括其中第一項目將在第二項目之前被選擇的方向(即使第一項目或第二項目中之一或多者自身可能不基於index_start及子取樣速率而選擇)。類似地,選擇HMVP候選者之反向次序可包括其中第二項目將在第一項目之前被選擇的方向(即使第一項目或第二項目中之一或多者自身可能不基於index_start及子取樣速率而選擇)。
在圖7A中,展示用於藉由按前向次序自HMVP表700選擇HMVP候選者建構AMVP候選者清單702的說明性實例。在圖7B中,展示用於藉由按反向次序自HMVP表700選擇HMVP候選者建構AMVP候選者清單704的說明性實例。在圖7A及圖7B中,用於AMVP模式之index_start、N及R的值可與參考圖6A及圖6B針對合併模式描述之彼等值相同(或不同)。
舉例而言,在圖7A中,建構AMVP候選者清單702可包括使用參數index_start=1、N=16、R=4按前向次序選擇HMVP候選者。在此實例中,使用前向次序以自HMVP表700選擇候選者可導致來自集合{1、5、9、13}中之索引值的所選擇候選者形成AMVP候選者清單702。舉例而言,為1之index_start值指示AMVP候選者清單702中之第一AMVP候選者為自HMVP表700中與索引值1相關聯之項目獲得的HMVP14。由於子取樣速率為R=4,因此在所選擇連續HMVP候選者之間具有4個索引值之空隙的情況下選擇HMVP候選者。因此,AMVP候選者清單702中之下一AMVP候選者為自HMVP表700中與索引值5相關聯之項目獲得的HMVP10。類似地,AMVP候選者清單702中之接下來兩個AMVP候選者為分別自HMVP表700中與索引值9及13相關聯之項目獲得的HMVP6及HMVP2。
在圖7B中,建構AMVP候選者清單704可包括使用參數index_start=15、N=16、R=1按反向次序選擇HMVP候選者。如先前所提及,R=1可被稱作為1之子取樣速率,此實際上意謂無子取樣經施加。在此實例中,使用反向次序以自HMVP表700選擇候選者可導致來自集合{15、14、13、12}中之索引值的所選擇候選者形成AMVP候選者清單704。舉例而言,使用以上選擇程序形成的AMVP候選者清單704可包括分別自HMVP表700之在索引值15、14、13及12處之項目獲得的HMVP候選者HMVP0、HMVP1、HMVP2及HMVP3。
因此,在一些實例中,不同框間預測模式可包括自HMVP表選擇候選者之不同方法。舉例而言,圖6A之合併候選者清單602可藉由運用R=4之子取樣速率按前向次序自HMVP表600選擇HMVP候選者而建構,且AMVP候選者清單704可藉由運用R=1之子取樣速率按反向次序自HMVP表700選擇HMVP候選者而建構。一般而言,按前向次序選擇候選者可導致自HMVP表所選擇的HMVP候選者來自索引值屬於集合{index_start、index_start+R、index_start+2R、…}的項目,且按反向次序選擇候選者可導致自HMVP表所選擇的HMVP候選者來自索引值屬於集合{N-index_start、N-index_start-R、N-index_start-2R、…}的項目。
在一些實例中,不同框間預測模式可使用不同HMVP表。舉例而言,在合併模式中,單一HMVP表(例如HMVP表600)可用於建構合併候選者清單,其中HMVP表600中之候選者包括先前寫碼之經框間預測CU的運動資訊。舉例而言,若使用雙向預測來預測先前寫碼之經框間預測CU,則HMVP表600中之HMVP候選者可包括兩個預測方向中之運動資訊。
在另一說明性實例中,在雙向預測之AMVP模式中,兩個HMVP表可用於獲得每一方向之運動資訊。舉例而言,一個AMVP候選者清單可經建構以包括清單0之運動資訊,且另一AMVP候選者清單可經建構以包括清單1之運動資訊。
圖8為說明用於使用本文中描述的以歷史為基礎之運動向量預測技術處理視訊資料的程序800之實例的流程圖。程序800可由視訊解碼器(諸如圖1及/或圖10之解碼器件112)執行。在一些情況下,當程序800由視訊解碼器執行時,視訊資料可包括圖像或待自經編碼視訊位元串流解碼的圖像之一部分(例如一或多個區塊)。
在區塊802處,程序800包括獲得一或多個視訊資料區塊。視訊資料區塊可包括CU、TU、PU,或其他視訊資料區塊。舉例而言,視訊資料可包括以區塊為基礎之視訊資料,其中使用儲存於以歷史為基礎之運動向量表中的運動向量相對於其他區塊來寫碼視訊區塊。
在區塊804處,程序800包括運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入HMVP表,其中HMVP表之與第一索引值相關聯的第一項目包含第一HMVP候選者且HMVP表之與第二索引值相關聯的第二項目包含第二HMVP候選者,第一索引值按索引次序低於第二索引值。舉例而言,程序800可運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者(諸如HMVP候選者HMVP0至HMVP15)填入HMVP表700。舉例而言,HMVP表之與第一索引值(0)相關聯的第一項目可包括第一HMVP候選者HMVP15且HMVP表之與第二索引值(15)相關聯的第二項目可包括第二HMVP候選者HMVP0,其中第一索引值0按索引次序低於第二索引值15。在一些實例中,第一HMVP候選者HMVP15可為HMVP表700中之最新的HMVP候選者並包括在第一時間解碼的運動資訊,且第二HMVP候選者HMVP0可為HMVP表700中之最早HMVP候選者並包括在第二時間解碼的運動資訊,其中第一時間在時間上晚於第二時間。
在區塊806處,程序800包括對於進階運動向量預測(AMVP)候選者清單按反向次序自HMVP表選擇一或多個HMVP候選者,其中根據反向次序在第一HMVP候選者之前選擇第二HMVP候選者。舉例而言,程序800可對於AMVP候選者清單704按如圖7B中所示之反向次序自HMVP表700選擇一或多個HMVP候選者HMVP0至HMVP3。在此實例中,第二HMVP候選者HMVP0將在第一HMVP候選者HMVP15之前根據反向次序而選擇(儘管在圖7B之AMVP候選者清單704中僅僅展示HMVP0至HMVP3)。
在區塊808處,程序800包括將所選擇一或多個HMVP候選者添加至AMVP候選者清單,AMVP候選者清單用以對於一或多個區塊執行AMVP。舉例而言,程序800可將所選擇一或多個HMVP候選者HMVP0至HMVP3添加至AMVP候選者清單704,AMVP候選者清單704用以對於一或多個視訊資料區塊執行AMVP。在一些實例中,一或多個區塊可包括待使用AMVP候選者清單704之一或多個AMVP候選者預測的當前區塊。
在一些實例中,對於AMVP候選者清單704按反向次序自HMVP表選擇一或多個HMVP候選者可包括自HMVP表之與連續索引值15至12相關聯的連續項目選擇一或多個HMVP候選者HMVP0至HMVP3,而無需在選擇期間對項目執行子取樣。舉例而言,R=1之子取樣速率可指示在選擇期間不對項目執行子取樣。
在一些實例中,合併候選者清單亦可自用於建構AMVP候選者清單的相同HMVP表或自不同HMVP表而建構。在一實例中,圖6A中展示的HMVP表600可為與圖7B之HMVP表700相同的HMVP表。在一些實例中,合併候選者清單602可藉由按前向次序自HMVP表600選擇一或多個HMVP候選者HMVP12、HMVP8、HMVP4及HMVP0而建構。根據前向次序,可在HMVP表600之與第二索引值(15)相關聯的第二項目中的第二HMVP候選者HMVP0之前選擇HMVP表600之與第一索引值(0)相關聯的第一項目中之第一HMVP候選者HMVP15,即使HMVP候選者HMVP15及HMVP0中之一或多者兩者實際上不必被選擇。在一些實例中,所選擇一或多個HMVP候選者HMVP12、HMVP8、HMVP4及HMVP0可被添加至合併候選者清單602,合併候選者清單602用以對於一或多個區塊執行合併預測。在此實例中,按前向次序自HMVP表600選擇一或多個HMVP候選者HMVP12、HMVP8、HMVP4及HMVP0可包括使用子取樣速率R=4對項目進行子取樣,其中基於子取樣速率之間距維持於與供選擇連續HMVP候選者的項目相關聯的索引值{3、7、11、15}之間。
在一些實例中,HMVP表之大小(N)、子取樣速率(R)、初始位置(index_start)、HMVP表之數目及/或選擇方法可在編碼器側及解碼器側兩者中預定義,或可設定為在序列層級(例如SPS或其他序列層級發信)、圖像層級(例如PPS或其他圖像層級發信)、截塊層級(例如截塊標頭或其他截塊層級發信)、區塊層級或其他合適的發信自編碼器發信至解碼器的一或多個值。在一些實例中,用於不同參數之一或多個值可在序列參數集(SPS)、圖像參數集(PPS)、截塊標頭(SH)、寫碼樹型單元(CTU)或寫碼單元(CU)中發信。
在一些實例中,本文中所描述的程序可由計算器件或裝置(諸如編碼器件104、解碼器件112及/或任何其他計算器件)執行。在一些情況下,計算器件或裝置可包括處理器、微處理器、微電腦,或經組態以實施本文中所描述的程序之步驟的器件之其他組件。在一些實例中,計算器件或裝置可包括經組態以俘獲包括視訊圖框之視訊資料(例如,視訊序列)的攝影機。舉例而言,計算器件可包括攝影機器件,攝影機器件可或可不包括視訊編解碼器。作為另一實例,計算器件可包括具有攝影機之行動器件(例如諸如數位攝影機、IP攝影機等等之攝影機器件、包括攝影機之行動電話或平板電腦、或具有攝影機之其他類型的器件)。在一些情況下,計算器件可包括用於顯示影像之顯示器。在一些實例中,攝影機或俘獲視訊資料之其他俘獲器件與計算器件分離,在此情況下,計算器件接收所俘獲視訊資料。計算器件可進一步包括經組態以傳達視訊資料之網路介面、收發器及/或傳輸器。網路介面、收發器及/或傳輸器可經組態以傳達以網際網路協定(IP)為基礎之資料或其他網路資料。
本文中所描述的程序可以硬體、電腦指令或其組合而實施。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、對象、組件、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,本文中所描述的程序可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可被實施為共同在一或多個處理器上實行之程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)、由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
本文所論述之寫碼技術可實施於實例視訊編碼及解碼系統(例如,系統100)中。在一些實例中,系統包括提供稍後由目的地器件解碼之經編碼視訊資料的源器件。詳言之,源器件經由電腦可讀媒體提供視訊資料至目的地器件。源器件及目的地器件可包含廣泛範圍的器件中之任一者,該等器件包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機頂盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」板、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或其類似者。在一些情況下,源器件及目的地器件可經裝備以用於無線通信。
目的地器件可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可包含能夠將經編碼視訊資料自源器件移動至目的地器件的任何類型之媒體或器件。在一個實例中,電腦可讀媒體可包含通信媒體以使得源器件能夠即時地將經編碼視訊資料直接傳輸至目的地器件。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地器件。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全球網路)之部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件至目的地器件之通信的任何其他設備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存器件。類似地,可由輸入介面自儲存器件存取經編碼資料。儲存器件可包括多種分散式或本機存取之資料儲存媒體中之任一者,諸如硬碟機、Blu-ray光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存器件可對應於可儲存由源器件產生之經編碼視訊的檔案伺服器或另一中間儲存器件。目的地器件可經由串流或下載自儲存器件存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料並將彼經編碼視訊資料傳輸至目的地器件之任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本機磁碟機。目的地器件可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線通道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者之組合。自儲存器件的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源器件包括視訊源、視訊編碼器及輸出介面。目的地器件可包括輸入介面、視訊解碼器及顯示器件。源器件之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件可自外部視訊源(諸如,外部攝影機)接收視訊資料。同樣,目的地器件可與外部顯示器件介接,而非包括整合式顯示器件。
以上實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼器件來執行。儘管本發明之技術一般由視訊編碼器件執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源器件及目的地器件僅為源器件產生經寫碼視訊資料以供傳輸至目的地器件之此類寫碼器件的實例。在一些實例中,源器件及目的地器件可以大體上對稱之方式操作,使得該等器件中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊器件之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
視訊源可包括視訊俘獲器件,諸如視訊攝影機、含有先前俘獲之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代方案,視訊源可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源器件及目的地器件可形成所謂攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所俘獲、經預俘獲或電腦產生之視訊。經編碼視訊資訊接著可由輸出介面輸出至電腦可讀媒體上。
如所提及,電腦可讀媒體可包括暫時性媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、Blu-ray光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可自源器件接收經編碼視訊資料且例如經由網路傳輸提供經編碼視訊資料至目的地器件。類似地,諸如光碟衝壓設施之媒體生產設施之計算器件可自源器件接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可理解電腦可讀媒體包括各種形式之一或多個電腦可讀媒體。
目的地器件之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視訊編碼器定義之語法資訊(其亦由視訊解碼器使用),該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示器件將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。已描述本申請案之各種實施例。
編碼器件104及解碼器件112之特定細節分別展示於圖9及圖10中。圖9為說明可實施本發明中所描述之技術中之一或多者的實例編碼器件104之方塊圖。編碼器件104可(例如)產生本文中所描述之語法結構(例如,VPS、SPS、PPS或其他語法元素之語法結構)。編碼器件104可執行視訊截塊內之視訊區塊的框內預測及框間預測寫碼。如先前所描述,框內寫碼至少部分地依賴於空間預測以縮減或移除給定視訊圖框或圖像內之空間冗餘。框間寫碼至少部分地依賴於時間預測以縮減或移除視訊序列之鄰近或周圍圖框內的時間冗餘。框內模式(I模式)可指若干以空間為基礎之壓縮模式中的任一者。框間模式(諸如,單向預測(P模式)或雙向預測(B模式))可指若干以時間為基礎之壓縮模式中的任一者。
編碼器件104包括分割單元35、預測處理單元41、濾波器單元63、圖像記憶體64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。預測處理單元41包括運動估計單元42、運動補償單元44及框內預測處理單元46。對於視訊區塊重建構,編碼器件104亦包括反量化單元58、反變換處理單元60及求和器62。濾波器單元63意欲表示一或多個迴路濾波器,諸如解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元63在圖9中展示為迴路濾波器,但在其他組態中,濾波器單元63可實施為後迴路濾波器。後處理器件57可對由編碼器件104產生之經編碼視訊資料執行額外處理。在一些情況下,本發明之技術可由編碼器件104實施。然而,在其他情況下,本發明之技術中的一或多者可由後處理器件57實施。
如圖9中所展示,編碼器件104接收視訊資料,且分割單元35將資料分割成視訊區塊。分割亦可包括(例如)根據LCU及CU之四分樹結構分割成截塊、截塊片段、圖像塊或其他較大單元,以及視訊區塊分割。編碼器件104大體上說明編碼待編碼之視訊截塊內的視訊區塊的組件。截塊可劃分成多個視訊區塊(且可能劃分成被稱作圖像塊之視訊區塊集合)。預測處理單元41可基於誤差結果(例如,寫碼速率及失真等級,或其類似者)選擇複數個可能寫碼模式中之一者(諸如,複數個框內預測寫碼模式中之一者或複數個框間預測寫碼模式中之一者)以用於當前視訊區塊。預測處理單元41可將所得經框內或框間寫碼區塊提供至求和器50以產生殘差區塊資料,並提供至求和器62以重建構經編碼區塊以用於用作參考圖像。
預測處理單元41內之框內預測處理單元46可執行當前視訊區塊相對於與待寫碼的當前區塊相同之圖框或截塊中的一或多個相鄰區塊之框內預測寫碼以提供空間壓縮。預測處理單元41內之運動估計單元42及運動補償單元44執行當前視訊區塊相對於一或多個參考圖像中之一或多個預測性區塊之框間預測性寫碼以提供時間壓縮。
運動估計單元42可經組態以根據視訊序列之預定圖案來判定用於視訊截塊之框間預測模式。預定圖案可將序列中之視訊截塊指定為P截塊、B截塊或GPB截塊。運動估計單元42及運動補償單元44可高度整合,但出於概念目的而單獨說明。由運動估計單元42執行之運動估計為產生運動向量之程序,該等運動向量估計視訊區塊之運動。運動向量(例如)可指示當前視訊圖框或圖像內之視訊區塊的預測單元(PU)相對於參考圖像內之預測性區塊的移位。
預測性區塊為就像素差而言被發現緊密地匹配待寫碼的視訊區塊之PU之區塊,該像素差可由絕對差和(SAD)、平方差和(SSD)或其他差度量判定。在一些實例中,編碼器件104可計算儲存於圖像記憶體64中之參考圖像的子整數像素位置的值。舉例而言,編碼器件104可內插參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置之值。因此,運動估計單元42可執行關於全像素位置及分數像素位置之運動搜尋且輸出具有分數像素精度之運動向量。
運動估計單元42藉由比較PU之位置與參考圖像之預測性區塊的位置而計算經框間寫碼截塊中之視訊區塊的PU的運動向量。參考圖像可選自第一參考圖像清單(清單0)或第二參考圖像清單(清單1),該等清單中之每一者識別儲存於圖像記憶體64中之一或多個參考圖像。運動估計單元42將所計算之運動向量發送至熵編碼單元56及運動補償單元44。
由運動補償單元44執行之運動補償可涉及基於由運動估計(可能執行內插至子像素精度)判定之運動向量而提取或產生預測性區塊。在接收到當前視訊區塊之PU的運動向量之後,運動補償單元44可在一參考圖像清單中找到運動向量所指向之預測性區塊的位置。編碼器件104藉由自正經寫碼之當前視訊區塊之像素值減去預測性區塊之像素值從而形成像素差值來形成殘差視訊區塊。像素差值形成區塊之殘差資料,且可包括明度及色度差分量兩者。求和器50表示執行此減法運算之一或多個組件。運動補償單元44亦可產生與視訊區塊及視訊截塊相關聯之語法元素,以供解碼器件112用於解碼視訊截塊之視訊區塊。
如上文所描述,作為由運動估計單元42及運動補償單元44執行的框間預測之替代方案,框內預測處理單元46可框內預測當前區塊。特定而言,框內預測處理單元46可判定框內預測模式以用以編碼當前區塊。在一些實例中,框內預測處理單元46可(例如)在單獨編碼遍次期間使用各種框內預測模式來編碼當前區塊,且框內預測處理單元46可自所測試模式中選擇適當框內預測模式來使用。舉例而言,框內預測處理單元46可使用對各種所測試框內預測模式之速率-失真分析來計算速率-失真值,且可在所測試模式間選擇具有最佳速率-失真特性之框內預測模式。速率-失真分析大體上判定經編碼區塊與原始未經編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元速率(亦即,位元之數目)。框內預測處理單元46可根據各種經編碼區塊之失真及速率計算比率以判定哪一框內預測模式展現該區塊之最佳速率-失真值。
在任何情況下,在選擇用於區塊之框內預測模式後,框內預測處理單元46可將指示用於區塊之所選框內預測模式的資訊提供至熵編碼單元56。熵編碼單元56可編碼指示所選框內預測模式之資訊。編碼器件104可將各種區塊之編碼上下文之定義以及待用於上下文中之每一者的最可能的框內預測模式、框內預測模式索引表及經修改框內預測模式索引表之指示包括於經傳輸位元串流組態資料中。位元串流組態資料可包括複數個框內預測模式索引表及複數個經修改框內預測模式索引表(亦被稱作碼字映射表)。
在預測處理單元41經由框間預測或框內預測產生當前視訊區塊之預測性區塊之後,編碼器件104藉由自當前視訊區塊減去預測性區塊而形成殘差視訊區塊。殘差區塊中之殘差視訊資料可包括於一或多個TU中且被應用於變換處理單元52。變換處理單元52使用諸如離散餘弦變換(DCT)或概念上類似變換之變換將殘差視訊資料變換成殘差變換係數。變換處理單元52可將殘差視訊資料自像素域轉換至變換域(諸如,頻域)。
變換處理單元52可將所得變換係數發送至量化單元54。量化單元54量化變換係數以進一步縮減位元率。量化程序可縮減與係數中之一些或所有相關聯的位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代性地,熵編碼單元56可執行掃描。
在量化之後,熵編碼單元56對經量化變換係數進行熵編碼。舉例而言,熵編碼單元56可執行上下文自適應可變長度寫碼(CAVLC)、上下文自適應二進位算術寫碼(CABAC)、以語法為基礎之上下文自適應二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼技術。在由熵編碼單元56進行熵編碼之後,經編碼位元串流可傳輸至解碼器件112,或經存檔以供稍後由解碼器件112傳輸或擷取。熵編碼單元56亦可熵編碼正經寫碼之當前視訊截塊的運動向量及其他語法元素。
反量化單元58及反變換處理單元60分別應用反量化及反變換以重建構像素域中之殘差區塊以供稍後用作參考圖像之參考區塊。運動補償單元44可藉由將殘差區塊添加至參考圖像清單內之參考圖像中之一者的預測性區塊來計算參考區塊。運動補償單元44亦可將一或多個內插濾波器應用於經重建構殘差區塊以計算子整數像素值以供用於運動估計。求和器62將經重建構殘差區塊添加至由運動補償單元44產生之經運動補償預測區塊以產生參考區塊以供儲存於圖像記憶體64中。參考區塊可由運動估計單元42及運動補償單元44用作為參考區塊以對後續視訊圖框或圖像中之區塊進行框間預測。
編碼器件104可執行本文描述之任何技術。本發明之一些技術已大體上關於編碼器件104加以描述,但如上文所提及,本發明之技術中的一些亦可由後處理器件57實施。
圖9之編碼器件104表示經組態以執行本文中所描述的變換寫碼技術中之一或多者的視訊編碼器之實例。編碼器件104可執行本文中所描述技術中之任一者,包括上文參看圖8所描述的程序。
圖10為說明實例解碼器件112之方塊圖。解碼器件112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼器件112可執行大體上與關於來自圖9之編碼器件104描述的編碼遍次對等的解碼遍次。
在解碼程序期間,解碼器件112接收由編碼器件104發送的表示經編碼視訊截塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。在一些實施例中,解碼器件112可自編碼器件104接收經編碼視訊位元串流。在一些實施例中,解碼器件112可自諸如以下各者之網路實體79接收經編碼視訊位元串流:伺服器、媒體感知網路元件(MANE)、視訊編輯器/編接器或經組態以實施上文所描述之技術中之一或多者的其他此器件。網路實體79可或可不包編碼器件104。在網路實體79將經編碼視訊位元串流傳輸至解碼器件112之前,本發明中所描述之技術中的一些可由網路實體79實施。在一些視訊解碼系統中,網路實體79及解碼器件112可為獨立器件之部分,而在其他情況下,關於網路實體79描述之功能性可由包含解碼器件112之同一器件執行。
解碼器件112之熵解碼單元80對位元串流進行熵解碼以產生經量化係數、運動向量及其他語法元素。熵解碼單元80將運動向量及其他語法元素轉遞至預測處理單元81。解碼器件112可接收視訊截塊層級及/或視訊區塊層級之語法元素。熵解碼單元80可處理並剖析諸如VPS、SPS及PPS之一或多個參數集中之固定長度語法元素及可變長度語法元素兩者。
當將視訊截塊寫碼為經框內寫碼(I)截塊時,預測處理單元81之框內預測處理單元84可基於發信的框內預測模式及來自當前圖框或圖像之先前經解碼區塊的資料而產生當前視訊截塊之視訊區塊的預測資料。當將視訊截塊寫碼為經框間寫碼(亦即,B、P或GPB)截塊時,預測處理單元81之運動補償單元82基於運動向量及自熵解碼單元80接收之其他語法元素而產生當前視訊截塊之視訊區塊的預測性區塊。預測性區塊可自參考圖像清單內之參考圖像中的一者產生。解碼器件112可基於儲存於圖像記憶體92中之參考圖像使用預設建構技術來建構參考圖框清單,清單0及清單1。
運動補償單元82藉由剖析運動向量及其他語法元素來判定當前視訊截塊之視訊區塊的預測資訊,且使用該預測資訊產生用於正經解碼之當前視訊區塊之預測性區塊。舉例而言,運動補償單元82可使用參數集中之一或多個語法元素以判定用以寫碼視訊截塊之視訊區塊之預測模式(例如,框內預測或框間預測)、框間預測截塊類型(例如,B截塊、P截塊或GPB截塊)、截塊之一或多個參考圖像清單之建構資訊、截塊之每一框間編碼視訊區塊之運動向量、截塊之每一框間寫碼視訊區塊之框間預測狀態,及用以解碼當前視訊截塊中之視訊區塊的其他資訊。
運動補償單元82亦可執行基於內插濾波器之內插。運動補償單元82可使用如在編碼視訊區塊期間由編碼器件104使用的內插濾波器來計算參考區塊之子整數像素的內插值。在此情況下,運動補償單元82可自所接收語法元素判定由編碼器件104使用之內插濾波器,且可使用內插濾波器來產生預測性區塊。
反量化單元86反量化或解量化位元串流中所提供且由熵解碼單元80解碼之經量化變換係數。反量化程序可包括使用由編碼器件104針對視訊截塊中之每一視訊區塊計算之量化參數來判定量化程度及同樣應應用之反量化程度。反變換處理單元88將反變換(例如,反DCT或其他合適的反變換)、反整數變換或概念上類似的反變換程序應用於變換係數以便在像素域中產生殘差區塊。
在運動補償單元82基於運動向量及其他語法元素而產生當前視訊區塊之預測性區塊之後,解碼器件112藉由將來自反變換處理單元88之殘差區塊與由運動補償單元82產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器90表示執行此求和運算之一或多個組件。若需要,亦可使用迴路濾波器(在寫碼迴路中或在寫碼迴路後)以使像素轉變平滑,或以其他方式改良視訊品質。濾波器單元91意欲表示一或多個迴路濾波器,諸如,解塊濾波器、自適應迴路濾波器(ALF)及樣本自適應偏移(SAO)濾波器。儘管濾波器單元91在圖10中展示為迴路濾波器,但在其他組態中,濾波器單元91可實施為後迴路濾波器。給定圖框或圖像中之經解碼視訊區塊接著儲存於圖像記憶體92中,圖像記憶體92儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示器件(諸如,圖1中所展示之視訊目的地器件122)上。
圖10之解碼器件112表示經組態以執行本文中描述的變換寫碼技術中之一或多者的視訊解碼器的實例。解碼器件112可執行本文中所描述技術中之任一者,包括上文參看圖8所描述的程序800。
在前述描述中,申請案之態樣係參考其特定實施例而描述,但熟習此項技術者將認識到本申請案之標的物不限於此。因此,雖然本文中已詳細描述申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之標的物之各種特徵及態樣可單獨地或聯合地使用。此外,實施例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
一般技術者將瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他合適的電子電路)以執行操作或其任何組合來實現此組態。
列舉集合「中之至少一者」或集合「中之一或多者」之技術方案語言或其他語言指示該集合中之一個構件或該集合中之多個構件符合技術方案。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B。在另一實例中,列舉「A及B中之一或多者」的技術方案語言意謂A、B或A及B。在另一實例中,列舉「A、B及C中之一或多者」的技術方案語言意謂A、B、C、A及B、A及C、B及C,或A、B及C中之全部。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。將此功能性實施為硬體抑或為軟體視特定應用及強加於整個系統上之設計約束而定。熟習此項技術者可針對每一特定應用以不同方式實施所描述的功能性,但此等實施決策不應被解釋為引起偏離本發明之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種器件中之任何者中,諸如,通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於整合式邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行上文所描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如,同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如,經傳播的信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知之處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編碼解碼器)中。
35:分割單元 41:預測處理單元 42:運動估計單元 44:運動補償單元 46:框內預測處理單元 50:求和器 52:變換處理單元 54:量化單元 56:熵編碼單元 57:後處理器件 58:反量化單元 60:反變換處理單元 62:求和器 63:濾波器單元 64:圖像記憶體 79:網路實體 80:熵解碼單元 81:預測處理單元 82:運動補償單元 84:框內預測處理單元 86:反量化單元 88:反變換處理單元 90:求和器 91:濾波器單元 92:圖像記憶體 100:系統 102:視訊源 104:編碼器件 106:編碼器引擎 108:儲存器 110:輸出 112:解碼器件 114:輸入 116:解碼器引擎 118:儲存器 120:通信鏈路 122:視訊目的地器件 400:以歷史為基礎之運動向量預測器(HMVP)表 400A:參考編號/狀態 400B:參考編號/狀態 400C:參考編號/狀態 402:以歷史為基礎之運動向量預測器(HMVP)候選者索引 500:圖像/截塊 502:當前區塊 504:垂直追蹤反向距離 506:水平追蹤反向距離 510:左上方區塊B2 512:上方區塊B1 514:右上方區塊B0 516:左側區塊A1 518:左下方區塊A0 520:垂直非鄰近區塊VN 522:水平非鄰近區塊HN 600:以歷史為基礎之運動向量預測器(HMVP)表 602:合併候選者清單 604:合併候選者清單 700:以歷史為基礎之運動向量預測器(HMVP)表 702:進階運動向量預測(AMVP)候選者清單 704:進階運動向量預測(AMVP)候選者清單 800:程序 802:區塊 804:區塊 806:區塊 808:區塊
在下文參考以下諸圖詳細描述各種實施之實例:
圖1為說明根據一些實例之編碼器件及解碼器件之實例的方塊圖;
圖2A為說明根據一些實例之用於合併模式之實例空間相鄰運動向量候選者的概念圖;
圖2B為說明根據一些實例之用於進階運動向量預測(AMVP)模式之實例空間相鄰運動向量候選者之概念圖;
圖3A為說明根據一些實例之實例時間運動向量預測器(TMVP)候選者之概念圖;
圖3B為說明根據一些實例之運動向量按比例縮放之實例的概念圖;
圖4為說明根據一些實例之實例以歷史為基礎之運動向量預測器(HMVP)表的圖式;
圖5為說明根據一些實例之提取非鄰近空間合併候選者之實例的圖式;
圖6A及圖6B為說明根據一些實例之自以歷史為基礎之運動向量預測器(HMVP)表創建合併候選者清單的實例之圖式;
圖7A及圖7B為說明根據一些實例之自以歷史為基礎之運動向量預測器(HMVP)表創建進階運動向量預測(AMVP)候選者清單的實例之圖式;
圖8為說明根據一些實施例之處理視訊資料之程序的另一實例之流程圖;
圖9為說明根據一些實例之實例編碼器件之方塊圖;且
圖10為說明根據一些實例之實例視訊解碼器件之方塊圖。
700:以歷史為基礎之運動向量預測器(HMVP)表
704:進階運動向量預測(AMVP)候選者清單

Claims (25)

  1. 一種處理視訊資料之方法,該方法包含:獲得一或多個視訊資料區塊;運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入一HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;對於一進階運動向量預測(AMVP)候選者清單按一前向次序自該HMVP表選擇一或多個HMVP候選者之一第一組,其中根據該前向次序在該第二HMVP候選者之前選擇該第一HMVP候選者;將該所選擇一或多個HMVP候選者之該第一組添加至該AMVP候選者清單,該AMVP候選者清單用以對於該一或多個區塊執行AMVP;對於一合併候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者之一第二組,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單,該合併候選者清單用以對於該一或多個區塊執行合併預測。
  2. 如請求項1之方法,其中該第一HMVP候選者包含在一第一時間解碼的運動資訊且該第二HMVP候選者包含在一第二時間解碼的運動資訊,其中該第一時間在時間上早於該第二時間。
  3. 如請求項1之方法,其中該按該前向次序自該HMVP表選擇該一或多個HMVP候選者之該第一組包含:自該HMVP表之與連續索引值相關聯的連續項目選擇該一或多個HMVP候選者之該第一組,而無需在該選擇期間對該HMVP表之該等項目執行子取樣。
  4. 如請求項1之方法,其中該按該反向次序自該HMVP表選擇該一或多個HMVP候選者之該二組包含使用一子取樣速率對該HMVP表之項目進行子取樣,其中基於該子取樣速率之一間距維持於與該HMVP表之供選擇連續HMVP候選者的項目相關聯的索引值之間。
  5. 如請求項1之方法,其中將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單包含在將一時間運動向量預測器(TMVP)候選者添加至該合併候選者清單之後將該所選擇一或多個HMVP候選者添加至該合併候選者清單。
  6. 如請求項1之方法,其中該兩個或多於兩個HMVP候選者包含用於雙向預測之兩個預測方向的運動資訊。
  7. 如請求項1之方法,其中至少兩個HMVP表用於具有雙向預測之AMVP模式。
  8. 如請求項7之方法,其中一第一HMVP表用於一第一參考圖像清單, 且其中一第二HMVP表用於一第二參考圖像清單。
  9. 如請求項1之方法,其中該AMVP包括一區塊內複製AMVP預測模式。
  10. 如請求項1之方法,其中該方法由一解碼器執行,且其中該視訊資料係自一經編碼視訊位元串流獲得;或其中該方法由一編碼器執行。
  11. 一種用於處理視訊資料之裝置,該裝置包含:一記憶體;及一處理器,經組態以:獲得一或多個視訊資料區塊;運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入一HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;對於一進階運動向量預測(AMVP)候選者清單按一前向次序自該HMVP表選擇一或多個HMVP候選者之一第一組,其中根據該前向次序在該第二HMVP候選者之前選擇該第一HMVP候選者;將該所選擇一或多個HMVP候選者之該第一組添加至該AMVP候選者清單,該AMVP候選者清單用以對於該一或多個區塊執行 AMVP;對於一合併候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者之一第二組,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單,該合併候選者清單用以對於該一或多個區塊執行合併預測。
  12. 如請求項11之裝置,其中該第一HMVP候選者包含在一第一時間解碼的運動資訊且該第二HMVP候選者包含在一第二時間解碼的運動資訊,其中該第一時間在時間上早於該第二時間。
  13. 如請求項11之裝置,其中該按該前向次序自該HMVP表選擇該一或多個HMVP候選者之該第一組包含:自該HMVP表之與連續索引值相關聯的連續項目選擇該一或多個HMVP候選者之該第一組,而無需在該選擇期間對該HMVP表之該等項目執行子取樣。
  14. 如請求項11之裝置,其中該按該反向次序自該HMVP表選擇該一或多個HMVP候選者之該第二組包含使用一子取樣速率對該HMVP表之項目進行子取樣,其中基於該子取樣速率之一間距維持於與該HMVP表之供選擇連續HMVP候選者的項目相關聯的索引值之間。
  15. 如請求項11之裝置,其中將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單包含在將一時間運動向量預測器(TMVP)候選者添加至該合併候選者清單之後將該所選擇一或多個HMVP候選者添加至該合併候選者清單。
  16. 如請求項11之裝置,其中該兩個或多於兩個HMVP候選者包含用於雙向預測之兩個預測方向的運動資訊。
  17. 如請求項11之裝置,其中至少兩個HMVP表用於具有雙向預測之AMVP模式。
  18. 如請求項17之裝置,其中一第一HMVP表用於一第一參考圖像清單,且其中一第二HMVP表用於一第二參考圖像清單。
  19. 如請求項11之裝置,其中該AMVP包括一區塊內複製AMVP預測模式。
  20. 如請求項11之裝置,其中該裝置包含一解碼器,且其中該視訊資料係自一經編碼視訊位元串流獲得;或其中該裝置包含一編碼器。
  21. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時使該一或多個處理器進行以下操作: 獲得一或多個視訊資料區塊;運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入一HMVP表,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;對於一進階運動向量預測(AMVP)候選者清單按一前向次序自該HMVP表選擇一或多個HMVP候選者之一第一組,其中根據該前向次序在該第二HMVP候選者之前選擇該第一HMVP候選者;將該所選擇一或多個HMVP候選者之該第一組添加至該AMVP候選者清單,該AMVP候選者清單用以對於該一或多個區塊執行AMVP;對於一合併候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者之一第二組,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單,該合併候選者清單用以對於該一或多個區塊執行合併預測。
  22. 如請求項21之非暫時性電腦可讀媒體,其中該第一HMVP候選者包含在一第一時間解碼的運動資訊且該第二HMVP候選者包含在一第二時間解碼的運動資訊,其中該第一時間在時間上早於該第二時間。
  23. 如請求項21之非暫時性電腦可讀媒體,其中該按該前向次序自該HMVP表選擇該一或多個HMVP候選者之該第一組包含:自該HMVP表之與連續索引值相關聯的連續項目選擇該一或多個 HMVP候選者之該第一組,而無需在該選擇期間對該HMVP表之該等項目執行子取樣。
  24. 一種用於處理視訊資料之裝置,該裝置包含:用於獲得一或多個視訊資料區塊的構件;用於運用兩個或多於兩個以歷史為基礎之運動向量預測器(HMVP)候選者填入一HMVP表的構件,其中該HMVP表之與一第一索引值相關聯的一第一項目包含一第一HMVP候選者且該HMVP表之與一第二索引值相關聯的一第二項目包含一第二HMVP候選者,該第一索引值低於該第二索引值;用於對於一進階運動向量預測(AMVP)候選者清單按一前向次序自該HMVP表選擇一或多個HMVP候選者之一第一組的構件,其中根據該前向次序在該第二HMVP候選者之前選擇該第一HMVP候選者;用於將該所選擇一或多個HMVP候選者之該第一組添加至該AMVP候選者清單的構件,該AMVP候選者清單用以對於該一或多個區塊執行AMVP;用於對於一合併候選者清單按一反向次序自該HMVP表選擇一或多個HMVP候選者之一第二組的構件,其中根據該反向次序在該第一HMVP候選者之前選擇該第二HMVP候選者;及用於將該所選擇一或多個HMVP候選者之該第二組添加至該合併候選者清單的構件,該合併候選者清單用以對於該一或多個區塊執行合併預測。
  25. 如請求項24之裝置,其中該第一HMVP候選者包含在一第一時間解碼的運動資訊且該第二HMVP候選者包含在一第二時間解碼的運動資訊,其中該第一時間在時間上早於該第二時間。
TW108136471A 2018-10-08 2019-10-08 對以歷史為基礎之運動向量預測器之改良 TWI826546B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862742890P 2018-10-08 2018-10-08
US62/742,890 2018-10-08
US16/593,388 US11051034B2 (en) 2018-10-08 2019-10-04 History-based motion vector predictor
US16/593,388 2019-10-04

Publications (2)

Publication Number Publication Date
TW202027508A TW202027508A (zh) 2020-07-16
TWI826546B true TWI826546B (zh) 2023-12-21

Family

ID=70052569

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108136471A TWI826546B (zh) 2018-10-08 2019-10-08 對以歷史為基礎之運動向量預測器之改良

Country Status (16)

Country Link
US (1) US11051034B2 (zh)
EP (1) EP3864841A2 (zh)
JP (1) JP7342115B2 (zh)
KR (1) KR20210068439A (zh)
CN (1) CN112823517A (zh)
AU (1) AU2019356483B2 (zh)
BR (1) BR112021005357A2 (zh)
CA (1) CA3112448A1 (zh)
CO (1) CO2021004169A2 (zh)
IL (1) IL281298A (zh)
MX (1) MX2021003973A (zh)
PH (1) PH12021550507A1 (zh)
SG (1) SG11202102322WA (zh)
TW (1) TWI826546B (zh)
WO (1) WO2020076705A2 (zh)
ZA (1) ZA202103094B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2588003B (en) 2018-06-05 2023-04-19 Beijing Bytedance Network Tech Co Ltd Interaction between pairwise average merging candidates and IBC
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
WO2019244118A1 (en) * 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Component-dependent sub-block dividing
KR102646649B1 (ko) 2018-06-29 2024-03-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut에서의 모션 후보들의 검사 순서
TWI724442B (zh) 2018-06-29 2021-04-11 大陸商北京字節跳動網絡技術有限公司 用於查找表更新的編碼的運動信息的選擇
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
SG11202011714RA (en) 2018-06-29 2020-12-30 Beijing Bytedance Network Technology Co Ltd Partial/full pruning when adding a hmvp candidate to merge/amvp
EP3791586A1 (en) 2018-06-29 2021-03-17 Beijing Bytedance Network Technology Co. Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
WO2020060376A1 (ko) * 2018-09-22 2020-03-26 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
WO2020065518A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
CN117082259A (zh) * 2018-10-10 2023-11-17 华为技术有限公司 帧间预测方法及装置
WO2020084508A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Harmonization between local illumination compensation and inter prediction coding
CN112913247B (zh) 2018-10-23 2023-04-28 北京字节跳动网络技术有限公司 使用局部照明补偿的视频处理
CN111147850B (zh) * 2018-11-02 2022-10-11 北京字节跳动网络技术有限公司 用于基于历史的运动矢量预测的表维护
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
WO2020114407A1 (en) * 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Partial pruning method for hmvp mode
WO2020117016A1 (ko) * 2018-12-06 2020-06-11 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
US20220150511A1 (en) * 2018-12-21 2022-05-12 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium having bitstream stored therein
EP3905685B1 (en) * 2018-12-28 2024-03-20 JVCKenwood Corporation Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program
TWI766214B (zh) * 2018-12-28 2022-06-01 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式、影像解碼裝置、影像解碼方法及影像解碼程式
CN113273186A (zh) 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Lut更新的调用
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147747A1 (en) 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Weighted prediction in video coding
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
WO2020147804A1 (en) * 2019-01-17 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Use of virtual candidate prediction and weighted prediction in video processing
CN113366845A (zh) * 2019-01-31 2021-09-07 联发科技股份有限公司 视频编码中结合帧间和帧内预测的方法和装置
US11122260B2 (en) * 2019-02-22 2021-09-14 Mediatek Inc. Method and apparatus of Merge list generation for Intra Block Copy mode
SG11202109026SA (en) * 2019-03-21 2021-09-29 Beijing Bytedance Network Technology Co Ltd Improved weighting processing of combined intra-inter prediction
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN113812165B (zh) * 2019-05-09 2023-05-23 北京字节跳动网络技术有限公司 对hmvp表的改进
CN117354507A (zh) * 2019-06-06 2024-01-05 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
WO2020244659A1 (en) * 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Interactions between sub-block based intra block copy and different coding tools
US11451809B2 (en) * 2019-08-28 2022-09-20 Tencent America LLC Method and apparatus for video coding
CN113709498B (zh) * 2020-05-20 2023-06-02 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
WO2023090924A1 (ko) * 2021-11-18 2023-05-25 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017197126A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
EP3343925A1 (en) * 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
US8358698B2 (en) 2010-01-08 2013-01-22 Research In Motion Limited Method and device for motion vector estimation in video transcoding using full-resolution residuals
AU2011362447B2 (en) 2011-03-14 2015-09-24 Hfi Innovation Inc. Method and apparatus for deriving temporal motion vector prediction
KR101934277B1 (ko) * 2011-11-28 2019-01-04 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
US9491458B2 (en) 2012-04-12 2016-11-08 Qualcomm Incorporated Scalable video coding prediction with non-causal information
US9699450B2 (en) * 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
KR20170078672A (ko) 2014-10-31 2017-07-07 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
WO2020060376A1 (ko) 2018-09-22 2020-03-26 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017197126A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
EP3343925A1 (en) * 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
網路文獻 Li Zhang, Kai Zhang, Hongbin Liu, Yue Wang, Pengwei Zhao, Dingkun Hong CE4-related: History-based Motion Vector Prediction Joint Video Experts Team (JVET), of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JVET-K0104-v5 Ljubljana, SI, 10–18 July 2018 http://phenix.int-evry.fr/jvet/ *

Also Published As

Publication number Publication date
BR112021005357A2 (pt) 2021-06-15
MX2021003973A (es) 2021-05-27
CO2021004169A2 (es) 2021-04-30
CN112823517A (zh) 2021-05-18
US20200112741A1 (en) 2020-04-09
SG11202102322WA (en) 2021-04-29
AU2019356483B2 (en) 2022-10-20
WO2020076705A2 (en) 2020-04-16
EP3864841A2 (en) 2021-08-18
IL281298A (en) 2021-04-29
ZA202103094B (en) 2023-01-25
PH12021550507A1 (en) 2021-11-08
KR20210068439A (ko) 2021-06-09
JP2022504073A (ja) 2022-01-13
CA3112448A1 (en) 2020-04-16
US11051034B2 (en) 2021-06-29
TW202027508A (zh) 2020-07-16
AU2019356483A1 (en) 2021-04-15
WO2020076705A3 (en) 2020-05-22
JP7342115B2 (ja) 2023-09-11

Similar Documents

Publication Publication Date Title
TWI826546B (zh) 對以歷史為基礎之運動向量預測器之改良
TWI775780B (zh) 切換內插濾波器之系統及方法
CN112956190B (zh) 仿射运动预测
RU2742298C2 (ru) Выведение вектора движения при видеокодировании
JP2019514292A (ja) ビデオコーディングにおけるコロケート参照インデックスのための適合制約
US11582475B2 (en) History-based motion vector prediction
EP3997873A1 (en) Reference picture resampling with switchable filters
TW202042552A (zh) 用於照明補償之區塊大小限制
CN114402617A (zh) 利用矢量裁剪的仿射译码
US11172195B2 (en) Excluding intra coded reference samples from local illumination compensation parameter derivation
TW202236852A (zh) 高效視訊編碼器架構
TW202031052A (zh) 用於照明補償模式之刪剪
US20230103767A1 (en) Motion vector (mv) candidate reordering