TW201701671A - 運動向量之儲存及發信解析度 - Google Patents

運動向量之儲存及發信解析度 Download PDF

Info

Publication number
TW201701671A
TW201701671A TW105114633A TW105114633A TW201701671A TW 201701671 A TW201701671 A TW 201701671A TW 105114633 A TW105114633 A TW 105114633A TW 105114633 A TW105114633 A TW 105114633A TW 201701671 A TW201701671 A TW 201701671A
Authority
TW
Taiwan
Prior art keywords
motion vector
block
video
value
current
Prior art date
Application number
TW105114633A
Other languages
English (en)
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 TW201701671A publication Critical patent/TW201701671A/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/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/182Methods 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 a pixel
    • 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
    • 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/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/523Motion estimation or motion compensation with sub-pixel accuracy

Landscapes

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

Abstract

一種解碼視訊資料之實例方法包括:自一視訊位元串流獲得一運動向量(MV)預測子與在一當前圖像中識別視訊資料之一當前區塊之一預測子區塊的一MV之間的一差之一表示;自該視訊位元串流獲得指示自適應性運動向量解析度(AMVR)是否用於該當前區塊之一語法元素;基於該MV預測子與識別該預測子區塊之該MV之間的該差之該表示判定該MV的一值;無論AMVR是否用於該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該MV之該值;基於該所儲存MV之該值判定該預測子區塊的像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。

Description

運動向量之儲存及發信解析度 相關申請案
本申請案係關於2015年5月11日申請之美國臨時申請案第62/159,839號、2015年6月9日申請之美國臨時申請案第62/173,248號,及2015年6月12日申請之美國臨時申請案第62/175,179號,該等申請案中之每一者的全部內容以引用之方式併入本文中。
本發明係關於視訊編碼及視訊解碼。
數位視訊能力可併入至廣泛範圍之器件中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、平板電腦、電子書閱讀器、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話(所謂的「智慧型電話」)、視訊電話會議器件、視訊串流器件及其類似者。數位視訊器件實施視訊壓縮技術,諸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、進階視訊寫碼(AVC)、ITU-T H.265、高效率視訊寫碼(HEVC)所定義的標準及此等標準之擴展中所描述的彼等視訊壓縮技術。視訊器件可藉由實施此等視訊壓縮技術而更有效率地傳輸、接收、編碼、解碼及/或儲存數位視訊資訊。
視訊壓縮技術執行空間(圖像內)預測及/或時間(圖像間)預測以減少或移除視訊序列中固有的冗餘。對於基於區塊之視訊寫碼,可將視訊圖塊(亦即,視訊圖像或視訊圖像之一部分)分割成視訊區塊,其亦可被稱作樹型區塊、寫碼單元(CU)及/或寫碼節點。圖像之經框內寫碼(I)圖塊中的視訊區塊係使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測來編碼。圖像之經框間寫碼(P或B)圖塊中之視訊區塊可使用關於同一圖像中之相鄰區塊中之參考樣本的空間預測或關於其他參考圖像中之參考樣本的時間預測。
空間或時間預測產生待寫碼區塊之預測性區塊。殘餘資料表示待寫碼之原始區塊與預測性區塊之間的像素差。根據指向形成預測性區塊之參考樣本之區塊的運動向量及指示經寫碼區塊與預測性區塊之間的差之殘餘資料來編碼經框間寫碼區塊。經框內寫碼區塊係根據框內寫碼模式及殘餘資料來編碼。為進行進一步壓縮,可將殘餘資料自像素域變換至變換域,從而產生可接著進行量化之殘餘變換係數。
在一項實例中,一種用於解碼視訊資料之方法包括:自經寫碼視訊位元串流獲得運動向量預測子與在當前圖像中識別視訊資料之當前區塊之預測子區塊的運動向量之間的差之表示;自經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素;基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示判定運動向量之值;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在另一實例中,一種用於編碼視訊資料之方法包括:在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊;判定識別當 前區塊之所選預測子區塊的運動向量之值;在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示;在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之當前區塊的語法元素;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在另一實例中,用於解碼視訊資料之器件包括經組態以儲存視訊資料之一部分的記憶體以及一或多個處理器。在此實例中,該一或多個處理器經組態以:自經寫碼視訊位元串流獲得運動向量預測子與在當前圖像中識別視訊資料之當前區塊之預測子區塊的運動向量之間的差之表示;自經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之當前區塊的語法元素;基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示判定運動向量之值;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在另一實例中,用於編碼視訊資料之器件包括經組態以儲存視訊資料之一部分的記憶體以及一或多個處理器。在此實例中,該一或多個處理器經組態以:在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊;判定識別當前區塊之所選預測子區塊的運動向量之值;在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示;在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之當前區塊的語法元素;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包 括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在另一實例中,一種用於解碼視訊資料之裝置包括:用於自經寫碼視訊位元串流獲得運動向量預測子與在當前圖像中識別視訊資料之當前區塊之預測子區塊的運動向量之間的差之表示的構件;用於自經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素的構件;用於基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示判定運動向量之值的構件;用於無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值的構件;用於基於所儲存運動向量之值判定預測子區塊之像素值的構件;及用於基於預測子區塊之像素值重建構當前區塊的構件。
在另一實例中,一種用於編碼視訊資料之裝置包括:用於在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊的構件;用於判定識別當前區塊之所選預測子區塊的運動向量之值的構件;用於在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示的構件;用於在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素的構件;用於無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值的構件;用於基於所儲存運動向量之值判定預測子區塊之像素值的構件;及用於基於預測子區塊之像素值重建構當前區塊的構件。
在另一實例中,一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得視訊解碼器件之一或多個處理器進行以下操作:自經寫碼視訊位元串流獲得運動向量預測子與在當前圖像中識別視訊資料 之當前區塊之預測子區塊的運動向量之間的差之表示;自經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素;基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示判定運動向量之值;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在另一實例中,一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得視訊編碼器件之一或多個處理器進行以下操作:在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊;判定識別當前區塊之所選預測子區塊的運動向量之值;在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示;在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
在隨附圖式及以下描述中闡述本發明之一或多個態樣的細節。本發明中描述之技術的其他特徵、目標及優勢將自描述及圖式且自申請專利範圍顯而易見。
10‧‧‧視訊編碼及解碼系統
12‧‧‧源器件
14‧‧‧目的地器件
16‧‧‧電腦可讀媒體
18‧‧‧視訊源
20‧‧‧視訊編碼器
22‧‧‧輸出介面
28‧‧‧輸入介面
30‧‧‧視訊解碼器
31‧‧‧顯示器件
32‧‧‧儲存器件
33‧‧‧視訊序列
34‧‧‧圖像
35‧‧‧視訊圖像
35A‧‧‧圖像
35B‧‧‧圖像
35C‧‧‧圖像
36‧‧‧視訊圖像
36A‧‧‧圖像
36B‧‧‧圖像
38‧‧‧視訊圖像
38A‧‧‧圖像
38B‧‧‧圖像
39‧‧‧圖像
40‧‧‧視訊資料記憶體
42‧‧‧預測處理單元
44‧‧‧運動估計單元
46‧‧‧運動補償單元
48‧‧‧框內預測單元
50‧‧‧求和器
52‧‧‧變換處理單元
54‧‧‧量化處理單元
56‧‧‧熵編碼單元
58‧‧‧逆量化處理單元
60‧‧‧逆變換處理單元
62‧‧‧求和器
64‧‧‧參考圖像記憶體/經重建構區域記憶體
69‧‧‧視訊資料記憶體
70‧‧‧熵解碼單元
71‧‧‧預測處理單元
72‧‧‧運動補償單元
74‧‧‧框內預測單元
76‧‧‧逆量化處理單元
78‧‧‧逆變換處理單元
80‧‧‧求和器
82‧‧‧參考圖像記憶體
92‧‧‧經重建構區域記憶體
102‧‧‧當前區塊
104‧‧‧預測子區塊
106‧‧‧運動向量
108‧‧‧經重建構區域
110‧‧‧垂直分量
112‧‧‧水平分量
702‧‧‧區塊
704‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
710‧‧‧區塊
712‧‧‧區塊
714‧‧‧區塊
802‧‧‧區塊
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
812‧‧‧區塊
圖1為繪示可實施本發明之技術的實例視訊編碼及解碼系統之方塊圖。
圖2為繪示根據本發明的一或多種技術之實例視訊序列的概念圖。
圖3為繪示可使用本發明中描述之框內區塊複製之技術的視訊編碼器之實例的方塊圖。
圖4為繪示可實施本發明中所描述之技術的視訊解碼器之實例的方塊圖。
圖5為繪示根據本發明的一或多種技術之框內區塊複製過程之實例的圖式。
圖6為繪示根據本發明的一或多種技術之空間候選位置之實例位置的圖式。
圖7為繪示根據本發明的一或多種技術之用於編碼視訊資料區塊之實例過程的流程圖。
圖8為繪示根據本發明的一或多種技術之用於解碼視訊資料區塊之實例過程的流程圖。
視訊序列一般表示為圖像序列。通常,基於區塊之寫碼技術用於寫碼個別圖像中之每一者。亦即,將每一圖像劃分成區塊,且單獨地寫碼該等區塊中之每一者。寫碼視訊資料區塊一般涉及形成區塊中之像素的經預測值及寫碼殘餘值。使用像素樣本在一或多個預測性區塊中形成預測值。殘餘值表示原始區塊之像素與經預測像素值之間的差。具體而言,視訊資料之原始區塊包括像素值陣列,且經預測區塊包括經預測像素值陣列。殘餘值表示原始區塊之像素值與經預測像素值之間的逐像素差。
用於視訊資料區塊的預測技術一般分類為框內預測及框間預測。框內預測(或空間預測)並未包括來自任何參考圖像之預測。實際上,區塊係根據相鄰的先前經寫碼區塊之像素值加以預測。框間預測(或時間預測)一般涉及根據選自一或多個參考圖像清單(RPL)之一或多個先前經寫碼參考圖像(例如,圖框或圖塊)的像素值來預測區塊。 視訊寫碼器可包括經組態以儲存包括於RPL中之圖像的一或多個參考圖像緩衝器。
諸如遠端桌面、遠端遊戲、無線顯示器、車用娛樂諮詢、雲計算等許多應用在日常生活中正變得常規。此等應用中之視訊內容通常為固有內容、文字、人工圖形等之組合。在文字及人工圖形區域中,通常存在重複圖案(諸如字符、圖標、符號等)。框內區塊複製(框內BC)為可使視訊寫碼器能夠移除此冗餘且改良圖像內寫碼效率的技術。在一些情況下,框內BC替代地可被稱作框內運動補償(MC)。
根據一些框內BC技術,視訊寫碼器可使用與視訊資料之當前區塊在同一圖像內的先前經寫碼視訊資料區塊中之經重建構像素以用於預測當前區塊之像素。在一些實例中,先前經寫碼視訊資料區塊可被稱為預測子區塊或預測性區塊。視訊寫碼器可使用運動向量識別預測子區塊。在一些實例中,運動向量亦可被稱作區塊向量、偏移向量或位移向量。在一些實例中,視訊寫碼器可使用一維運動向量識別預測子區塊。因此,一些視訊寫碼器可基於僅共用相同x值集合(亦即,與當前區塊垂直成一直線)或相同y值集合(亦即,與當前區塊水平成一直線)的先前經寫碼視訊資料區塊來預測視訊資料之當前區塊。在其他實例中,視訊寫碼器可使用二維運動向量識別預測子區塊。舉例而言,視訊寫碼器可使用具有水平位移分量及垂直位移分量的二維運動向量,該等位移分量中之每一者可為零或非零。水平位移分量可表示視訊資料之預測子區塊與視訊資料之當前區塊之間的水平位移,且垂直位移分量可表示視訊資料之預測子區塊與視訊資料之當前區塊之間的垂直位移。
對於框內BC,預測子區塊之像素可用作正經寫碼之區塊(亦即,當前區塊)中之對應像素的預測性樣本。視訊寫碼器可基於視訊資料之當前區塊及預測區塊額外判定視訊資料之殘餘區塊,且寫碼二維運 動向量及視訊資料之殘餘區塊。
在一些實例中,框內BC可為高效寫碼工具,尤其對於螢幕內容寫碼而言。舉例而言,在一些實例中,使用框內BC寫碼區塊可產生比由使用框間或框內寫碼來寫碼區塊將產生之位元串流更小的位元串流。如上文所論述,框內BC為類框間寫碼工具(意謂圖像之像素值係根據圖像中之其他像素值加以預測),但使用來自與正經寫碼之區塊同一圖像之參考資料。在一些實例中,由於施加於框內BC之一或多個約束,可能難以將框內BC整合至習知框內圖像中,其在實際設計中可能不會為較佳的。一些實例約束包括(但不限於):預測子區塊必須與待寫碼之當前區塊在同一圖塊或圖像塊內、預測子區塊必須未與待寫碼之當前區塊重疊、預測子區塊中之所有像素必須經重建構、預測子區塊在特定區域內(例如,由於與如Rapaka等人之「On parallelprocessing capability of intra block copy」(文件:JCTVC-S0220,ITU-T SG 16 WP 3與ISO/IEC JTC 1/SC 29/WG 11之JCT-VC,第19次會議:法國,斯特拉斯堡,2014年10月17日至24日)中所描述的並行化實施有關的考慮因素)(在下文中稱「JCTVC-S0220」),及當啟用受限的框內預測時,預測子區塊必須未包括使用習知框間模式來寫碼的任何像素。另外,在一些實例中,習知框內及框間圖框之硬體架構在無修改的情況下可能並不再用於框內BC(例如,由於框內BC在圖像內部產生區塊複製)。因此,可能需要使得視訊寫碼器能夠獲得由框內BC提供之效率,同時維持當前施加於框內BC之約束中的一些或全部,且不對硬體架構做出(顯著)修改。
在一些實例中,與基於當前圖像中之樣本使用習知框內預測技術來預測當前圖像之區塊相反,視訊寫碼器可執行框內BC以基於當前圖像中之樣本使用類似於習知框間預測的技術來預測當前圖像中之區塊。舉例而言,視訊寫碼器可將當前圖像包括於用於預測當前圖像 之參考圖像清單(RPL)中,將當前圖像(或至少當前圖像的已經重建構之部分)之版本儲存於參考圖像緩衝器中,且基於包括於儲存在參考圖像緩衝器中之當前圖像之版本中的視訊資料之預測子區塊寫碼當前圖像中之視訊資料區塊。以此方式,視訊寫碼器可獲得由框內BC提供之效率,同時維持當前施加於框內BC之約束中的一些或全部。又,以此方式,視訊寫碼器可在無顯著修改的情況下將習知框內及框間圖框之硬體架構再用於框內BC。
如上文所論述,視訊編碼器可自同一圖像內選擇視訊資料之當前區塊的預測子區塊。在一些實例中,視訊編碼器可評估若干候選預測子區塊且選擇就像素差而言緊密匹配當前區塊之候選預測子區塊,該像素差可由絕對差總和(SAD)、平方差總和(SSD)或其他差異度量判定。
在一些實例中,用於識別當前圖像中之預測子區塊的運動向量可具有整數像素解析度。舉例而言,運動向量可將表示當前區塊與預測子區塊之間的位移之一或多個整數包括於單一像素之增量中。作為一項實例,具有整數像素解析度之運動向量可包括表示當前區塊與預測子區塊之間的水平位移之第一整數(例如,3)及表示當前區塊與預測子區塊之間的垂直位移之第二整數(例如,2)。
在一些實例中,用於識別當前圖像中之預測子區塊的運動向量可具有分數像素解析度。舉例而言,運動向量可將表示當前區塊與預測子區塊之間的位移之一或多個值包括於少於單一像素之增量中。分數像素運動向量可具有的一些實例解析度包括(但未必限於)半像素解析度(例如,1/2像素解析度)、四分之一像素解析度(例如,1/4像素解析度)及八分之一像素解析度(例如,1/8像素解析度)等。作為一項實例,具有四分之一像素解析度之運動向量可包括表示當前區塊與預測子區塊之間的水平位移之第一值(例如,2.75)及表示當前區塊與預測 子區塊之間的垂直位移之第二值(例如,2.5)。
如上文所論述,用於識別預測子區塊之運動向量可具有不同解析度。在一些實例中,運動向量之解析度可為儲存運動向量之解析度。作為一項實例,若視訊寫碼器用整數像素解析度儲存運動向量,則運動向量可被視為具有整數像素解析度。作為另一實例,若視訊寫碼器用分數像素解析度儲存運動向量,則運動向量可被視為具有分數像素解析度。
視訊編碼器可編碼運動向量之表示。作為一項實例,視訊編碼器可編碼表示運動向量之值的一或多個語法元素。作為另一實例,視訊編碼器可編碼表示運動向量之值與運動向量預測子之值之間的差之一或多個語法元素,該運動向量預測子可為先前經寫碼運動向量。在一些實例中,一或多個語法元素可表示運動向量之值與具有整數像素解析度之運動向量預測子之值之間的差。在一些實例中,一或多個語法元素可表示運動向量之值與具有分數像素解析度之運動向量預測子之值之間的差。在一些實例中,運動向量預測子之解析度可與儲存運動向量之解析度相同。
在使用表示運動向量之值與運動向量預測子之值之間的差之一或多個語法元素編碼運動向量之表示的情況下,視訊寫碼器可基於運動向量預測子之值及運動向量預測子與運動向量之間的差值判定運動向量之值。舉例而言,視訊寫碼器可將運動向量預測子之值與差值相加以判定運動向量之值。然而,在差之解析度不同於運動向量預測子之解析度的情況下,僅將運動向量預測子之值與差值相加以判定運動向量之值可為不可能的。因此,在差之解析度不同於運動向量預測子之解析度的情況下,視訊寫碼器可在將該等值相加之前捨入該差或該運動向量預測子中之一者。舉例而言,在運動向量預測子具有分數像素解析度且差具有整數像素解析度的情況下,視訊寫碼器可將運動向 量預測子捨入至整數像素解析度(例如,右移運動向量預測子),將經捨入運動向量預測子與差相加,且用分數像素解析度儲存結果(例如,儲存結果之經左移版本)。
在一些實例中,諸如當視訊資料為螢幕內容(例如,自電腦桌面捕獲之視訊)時,大多數運動向量可具有整數值(亦即,極少數運動向量指向分數位置)。因此,藉由使用具有整數像素解析度之運動向量,視訊寫碼器在對經編碼視訊資料之品質無任何顯著影響的情況下減少表示視訊資料所需的位元數目可為可能的。由於表示具有整數像素解析度之運動向量所需的位元數目可為表示具有四分之一像素解析度之運動向量所需的數目位元的四分之一,因此位元減少可為可能的。然而,考慮到具有分數像素解析度之運動向量仍可適用於攝影機捕獲之內容,可能不需要始終使用具有整數像素解析度的運動向量。在一些實例中,為解決此問題,視訊寫碼器用於運動向量儲存及運動向量差的解析度可為自適應性的。舉例而言,如Li等人之「Adaptive motion vector resolution for screen content」(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之視訊寫碼聯合合作小組(JCT-VC),第19次會議:法國,斯特拉斯堡,2014年10月17日至24日,文件:JCTVC-S0085,可在http://phenix.it-sudparis.eu/jct/doc_end_user/documents/19_Strasbourg/wg11/JCTVC-S0085-v3.zip處獲得)中所描述,對於每一圖塊,可用整數像素解析度或分數像素解析度(例如,四分之一像素解析度)儲存運動向量且表示運動向量差,且可在圖塊標頭中寫碼語法元素(例如,use_integer_mv_flag)以指示所使用的為哪一運動向量解析度。
在一些實例中,當語法元素指示未使用自適應性運動向量解析度(AMVR)時,視訊寫碼器可將四分之一像素解析度用於運動向量儲存及運動向量差表示兩者。類似地,當語法元素指示使用AMVR時,視訊寫碼器可將整數像素解析度用於運動向量儲存及運動向量差表示 兩者。另外,當語法元素指示使用AMVR時,視訊寫碼器可在執行運動補償之前(亦即,在識別由運動向量指示之預測子區塊之前)縮放運動向量。舉例而言,視訊寫碼器可在執行運動補償之前藉由使運動向量左移二來縮放運動向量。以此方式,視訊寫碼器可始終使用具有相同解析度之運動向量來執行運動補償。
在一些實例中,相較於識別不同圖像中之預測子區塊的運動向量,對於識別當前圖像中之預測子區塊的運動向量而言,視訊寫碼器用於運動向量儲存及運動向量差之解析度可不同。舉例而言,視訊寫碼器可針對識別不同圖像中之預測子區塊的運動向量將四分之一像素解析度用於運動向量差,且針對識別當前圖像中之預測子區塊的運動向量將整數像素解析度用於運動向量差。
在一些實例中,取決於運動向量識別當前圖像抑或不同圖像中之預測子區塊且是否使用AMVR兩者,視訊寫碼器用於運動向量儲存及運動向量差之解析度可不同。作為一項實例,在不使用AMVR的情況下,視訊寫碼器可針對識別不同圖像中之預測子區塊的運動向量將四分之一像素解析度用於運動向量差,針對識別當前圖像中之預測子區塊的運動向量將整數像素解析度用於運動向量差,且不論預測子區塊之位置(亦即,與預測子區塊係在當前圖像抑或不同圖像中無關),用四分之一像素解析度儲存運動向量。作為另一實例,在使用AMVR的情況下,視訊寫碼器可針對識別不同圖像中之預測子區塊的運動向量將整數像素解析度用於運動向量儲存,針對識別當前圖像中之預測子區塊的運動向量將四分之一像素解析度用於運動向量儲存,且不論預測子區塊之位置(亦即,與預測子區塊在當前圖像抑或不同圖像中無關),將整數像素解析度用於運動向量差。
另外,在使用AMVR的情況下,視訊寫碼器可在執行運動補償之前縮放識別不同圖像中之預測子區塊的運動向量(亦即,用整數像素 解析度儲存之運動向量),但在執行運動補償之前不縮放識別當前圖像中之預測子區塊的運動向量(亦即,用四分之一像素解析度儲存之運動向量)。以此方式,視訊寫碼器可始終使用具有相同解析度之運動向量來執行運動補償。
用於運動向量解析度之上述技術可呈現一或多個缺點。舉例而言,如上文所論述且當使用AMVR時,視訊寫碼器可使用與指示當前圖像中之預測子區塊的運動向量不同的解析度來儲存指示不同圖像中之預測子區塊的運動向量。由於視訊寫碼器可將先前MV用作運動向量預測子以判定未來運動向量,故可能不需要以不同解析度儲存先前運動向量。
根據本發明的一或多種技術,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊寫碼器可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動向量之值。舉例而言,視訊寫碼器可始終用四分之一像素解析度儲存運動向量。藉由使用與指示當前圖像中之預測子區塊之運動向量相同的解析度儲存指示不同圖像中之預測子區塊的運動向量,本發明之技術可使得視訊寫碼器能夠將識別當前圖像或不同圖像中之預測子區塊的先前運動向量用作識別當前圖像或不同圖像中之預測子區塊的運動向量之運動向量預測子,而無需在使用AMVR時執行不同過程。以此方式,本發明之技術可降低使用當前圖像中之預測子區塊的複雜度。
本發明描述與在預測當前圖像之部分時將當前圖像用作參考圖像相關之實例技術。為輔助理解,關於高效率視訊寫碼(HEVC)視訊寫碼標準之範圍擴展(RExt)(包括支援可能較高位元深度(例如,8位元以上))、不同色度取樣格式(包括4:4:4、4:2:2、4:2:0,4:0:0及其類似者)來描述實例技術。該等技術亦可適用於螢幕內容寫碼。應理解,該等技術不受範圍擴展或螢幕內容寫碼限制,且通常可適用於包 括基於標準或非基於標準之視訊寫碼的視訊寫碼技術。又,本發明中描述之技術可成為將來開發的標準之部分。換言之,本發明中描述之技術可適用於先前開發之視訊寫碼標準、當前正在開發之視訊寫碼標準及即將出現的視訊寫碼標準。
最近,ITU-T視訊寫碼專家組(VCEG)及ISO/IEC動畫專家組(MPEG)的視訊寫碼聯合合作小組(JCT-VC)已完成新的視訊寫碼標準(亦即,高效率視訊寫碼(HEVC))之設計。已完成的HEVC規格(在下文中簡稱HEVC版本1)之標題為ITU-T Telecommunication Standardization Sector of ITU,Series H:Audiovisual and Multimedia Systems,Infrastructure of Audiovisual Services-Coding of Moving Video:High Efficiency Video Coding,H.265,2015年4月,其可自http://www.itu.int/rec/T-REC-H.265-201504-I獲得。對HEVC之範圍擴展(即HEVC Rext)亦正由JCT-VC開發。標題為High Efficiency Video Coding(HEVC)Range Extensions text specification:Draft 7(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之視訊寫碼聯合合作小組(JCT-VC),第17次會議:西班牙,巴倫西亞市,2014年3月27日至4月4日,文件:JCTVC-Q1005_v4,在下文中簡稱「RExt WD 7」)的範圍擴展之最近工作草案(WD)可自http://phenix.int-evry.fr/jct/doc_end_user/documents/17_Valencia/wg11/JCTVC-Q1005-v4.zip獲得。
範圍擴展規格可成為HEVC規格之版本2。然而,在較大範圍中,就所提出之技術(例如,運動向量(MV)預測)而言,HEVC版本1及範圍擴展規格在技術上類似。因此,每當變化被稱為基於HEVC版本1時,相同變化可適用於範圍擴展規格,且每當描述HEVC版本1模組時,描述亦可適用於HEVC範圍擴展模組(藉由相同子條款)。
近來,要求研究用於諸如文字及運動圖形之螢幕內容材料之新 寫碼工具,且已提出改良螢幕內容之寫碼效率的技術。由於有跡象表明可藉由使用新穎的專用寫碼工具利用螢幕內容之特性獲得寫碼效率之顯著改良,提案(CfP)正發佈高效率視訊寫碼(HEVC)標準的可能開發中未來擴展之目標,包括用於螢幕內容寫碼(SCC)之特定工具。SCC規格之最近工作草案(WD)(高效率視訊寫碼(HEVC)螢幕內容寫碼:草案5,ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之視訊寫碼聯合合作小組(JCT-VC),第22次會議:瑞士,日內瓦,2015年10月15日至21日,文件:JCTVC-V1005,在下文中被稱作「SCC WD 5」)可自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/22_Geneva/wg11/JCTVC-V1005-v1.zip獲得。SCC規格之先前WD(高效率視訊寫碼(HEVC)螢幕內容寫碼:草案3,ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11之視訊寫碼聯合合作小組(JCT-VC),第20次會議:瑞士,日內瓦,2015年2月10日至2月17日,文件:JCTVC-T1005,在下文中被稱作「SCC WD 3」)可自http://phenix.it-sudparis.eu/jct/doc_end_user/documents/22_Geneva/wg11/JCTVC-T1005-v2.zip獲得。
在描述及一些實例中,可使用運動向量(MV)捨入。在描述中提供某些捨入方法作為實例,且可替代地應用其他MV捨入步驟。舉例而言,可僅將MV捨入至大約整數MV、捨入至最近MV、捨入至最近最小MV,等等。在捨入期間,可考慮MV分量之正負號,(例如)對於負分量而言可朝向零進行捨入。可在捨入步驟之前可添加捨入偏移,偏移可等於分母之一半(表示0.5)、分母之一半減1,或常用的任何值。在本發明中,MV>>2或(MV>>2)<<2可表示按比例縮小或捨入,且可應用上述所有事物替換本發明中使用之操作。
圖1為繪示可實施本發明之技術的實例視訊編碼及解碼系統10之方塊圖。如圖1中所展示,系統10包括提供稍後將由目的地器件14解碼之經編碼視訊資料的源器件12。特定而言,源器件12經由電腦可讀 媒體16將視訊資料提供至目的地器件14。源器件12及目的地器件14可包含廣泛範圍之器件中的任一者,包括桌上型電腦、筆記型(亦即,膝上型)電腦、平板電腦、機上盒、電話手持機(諸如所謂的「智慧型」電話)、所謂的「智慧型」墊、電視、攝影機、顯示器件、數位媒體播放器、視訊遊戲控制台、視訊串流器件或類似者。在一些情況下,源器件12及目的地器件14可經裝備以用於無線通信。
目的地器件14可經由電腦可讀媒體16接收待解碼的經編碼視訊資料。電腦可讀媒體16可包含能夠將經編碼視訊資料自源器件12移動至目的地器件14的任何類型之媒體或器件。在一項實例中,電腦可讀媒體16可包含使得源器件12能夠即時將經編碼視訊資料直接傳輸至目的地器件14的通信媒體。可根據通信標準(諸如,無線通信協定)調變經編碼視訊資料,且將其傳輸至目的地器件14。通信媒體可包含任何無線或有線通信媒體,諸如,射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如,區域網路、廣域網路或諸如網際網路之全域網路)的部分。通信媒體可包括路由器、交換器、基地台或可用於促進自源器件12至目的地器件14之通信的任何其他設備。
在一些實例中,經編碼資料可自源器件12之輸出介面22輸出至儲存器件32。類似地,可藉由目的地器件14之輸入介面28自儲存器件32存取經編碼資料。儲存器件32可包括多種分散式或本端存取式資料儲存媒體中之任一者,諸如,硬碟機、藍光光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存器件32可對應於檔案伺服器或可儲存由源器件12產生之經編碼視訊的另一中間儲存器件。
目的地器件14可經由串流或下載自儲存器件32存取所儲存之視 訊資料。檔案伺服器可為能夠儲存經編碼視訊資料且將彼經編碼視訊資料傳輸至目的地器件14之任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)器件或本端磁碟機。目的地器件14可經由任何標準資料連接(包括網際網路連接)存取經編碼視訊資料。此資料連接可包括適用於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機等),或兩者之結合。經編碼視訊資料自儲存器件之傳輸可為串流傳輸、下載傳輸或兩者之組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如,空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如,經由HTTP之動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統10可經組態以支援單向或雙向視訊傳輸以支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在圖1之實例中,源器件12包括視訊源18、視訊編碼器20及輸出介面22。目的地器件14包括輸入介面28、視訊解碼器30及顯示器件31。根據本發明,源器件12之視訊編碼器20可經組態以應用在視訊寫碼中執行變換之技術。在其他實例中,源器件及目的地器件可包括其他組件或配置。舉例而言,源器件12可自外部視訊源18(諸如外部攝影機)接收視訊資料。同樣地,目的地器件14可與外部顯示器件介接,而非包括整合式顯示器件。
圖1之所繪示系統10僅為一項實例。可由任何數位視訊編碼及/或解碼器件執行視訊寫碼中之經改良框內區塊複製信號傳遞之技術。儘管本發明之技術通常由視訊編碼或解碼器件執行,但該等技術亦可由組合式視訊編解碼器執行。此外,本發明之技術亦可由視訊預處理器 執行。源器件12及目的地器件14僅為源器件12在其中產生經寫碼視訊資料以供傳輸至目的地器件14之此類寫碼器件的實例。在一些實例中,器件12、14可以實質上對稱的方式操作,使得器件12、14中之每一者包括視訊編碼及解碼組件。因此,系統10可支援視訊器件12、14之間的單向或雙向視訊傳輸以(例如)用於視訊串流、視訊播放、視訊廣播或視訊電話。
源器件12之視訊源18可包括視訊捕獲器件,諸如視訊攝影機、含有先前捕獲之視訊的視訊存檔及/或用於自視訊內容提供者接收視訊的視訊饋入介面。作為另一替代,視訊源18可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源18為視訊攝影機,則源器件12及目的地器件14可形成所謂的攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可適用於視訊寫碼,且可適用於無線及/或有線應用。在每一情況下,可由視訊編碼器20編碼所捕獲、經預先捕獲或電腦產生之視訊。接著可藉由輸出介面22將經編碼視訊資訊輸出至電腦可讀媒體16上。
電腦可讀媒體16可包括暫時性媒體,諸如無線廣播或有線網路傳輸,或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、快閃驅動器、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(未圖示)可例如經由網路傳輸自源器件12接收經編碼視訊資料,且將經編碼視訊資料提供至目的地器件14。類似地,媒體生產設施(諸如,光碟衝壓設施)之計算器件可自源器件12接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,電腦可讀媒體16可被理解為包括各種形式之一或多個電腦可讀媒體。
目的地器件14之輸入介面28自電腦可讀媒體16或儲存器件32接 收資訊。電腦可讀媒體16或儲存器件32之資訊可包括由視訊編碼器20定義之語法資訊,該資訊亦由視訊解碼器30使用,該資訊包括描述區塊及其他經寫碼單元(例如,GOP)之特性及/或處理的語法元素。顯示器件31將經解碼視訊資料顯示給使用者,且可包含多種顯示器件中的任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示器件。
視訊編碼器20及視訊解碼器30各自可經實施為可適用的多種合適編碼器或解碼器電路中之任一者,例如一或多個微處理器、數位信號處理器(DSP)、特定應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯電路、軟體、硬體、韌體,或其任何組合。當該等技術部分以軟體實施時,器件可將用於軟體之指令儲存於合適的非暫時性電腦可讀媒體中,且使用一或多個處理器在硬體中執行該等指令,以執行本發明之技術。視訊編碼器20及視訊解碼器30中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式編碼器/解碼器(編解碼器)之部分。包括視訊編碼器20及/或視訊解碼器30之器件可包含積體電路、微處理器及/或無線通信器件(諸如蜂巢式電話)。
儘管圖1中未展示,但在一些態樣中,視訊編碼器20及視訊解碼器30可各自與音訊編碼器及解碼器整合,且可包括適當的MUX-DEMUX單元或其他硬體及軟體,以處置共同資料串流或單獨資料串流中之音訊及視訊兩者的編碼。若適用,則MUX-DEMUX單元可遵照ITU H.223多工器協定或諸如使用者資料報協定(UDP)之其他協定。
本發明可大體上指視訊編碼器20將某些資訊「發信」至諸如視訊解碼器30之另一器件。然而,應理解,視訊編碼器20可藉由使某些語法元素與視訊資料之各種經編碼部分相關聯來發信資訊。亦即,視訊編碼器20可藉由將某些語法元素儲存至視訊資料之各種經編碼部分 的標頭來「發信」資料。在一些情況下,此類語法元素可在由視訊解碼器30接收及解碼之前經編碼及儲存(例如,儲存至儲存器件32)。因此,術語「發信」可大體上指用於解碼經壓縮視訊資料之語法或其他資料的通信,而不管此通信係即時或幾乎即時抑或歷時一時間跨度而發生,諸如,可能在編碼時在將語法元素儲存至媒體時發生,接著可由解碼器件在將語法元素儲存至此媒體之後的任何時間處擷取語法元素。
視訊編碼器20及視訊解碼器30可根據諸如HEVC標準之視訊壓縮標準操作。雖然本發明之技術不受任何特定寫碼標準限制,但該等技術可與HEVC標準有關,且特定而言與HEVC標準之擴展(諸如SCC擴展)有關。
一般而言,HEVC描述可將視訊圖像劃分為包括明度樣本及色度樣本兩者的樹型區塊或最大寫碼單元(LCU)之序列。位元串流內之語法資料可定義LCU之大小,LCU就像素數目而言為最大寫碼單元。圖塊包括多個連續寫碼樹型單元(CTU)。CTU中之每一者可包含明度樣本之寫碼樹型區塊(CTB)、色度樣本之兩個對應寫碼樹型區塊,及用於對寫碼樹型區塊之樣本進行寫碼的語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,CTU可包含單一寫碼樹型區塊及用於對寫碼樹型區塊之樣本進行寫碼的語法結構。
視訊圖像可分割成一或多個圖塊。每一樹型區塊可根據四分樹而分裂成若干寫碼單元(CU)。一般而言,四分樹資料結構包括每CU一個節點,其中根節點對應於樹型區塊。若將CU分裂成四個子CU,則對應於該CU之節點包括四個葉節點,該四個葉節點中之每一者對應於該等子CU中之一者。CU可包含具有明度樣本陣列、Cb樣本陣列及Cr樣本陣列之圖像的明度樣本之寫碼區塊及色度樣本之兩個對應的寫碼區塊,及用於對該等寫碼區塊之樣本進行寫碼的語法結構。在單 色圖像或具有三個單獨色彩平面之圖像中,CU可包含單一寫碼區塊及用於對寫碼區塊之樣本進行寫碼的語法結構。寫碼區塊為樣本之N×N區塊。
四分樹資料結構中之每一節點可提供對應CU之語法資料。舉例而言,四分樹中之節點可包括指示對應於該節點之CU是否分裂成子CU之分裂旗標。CU之語法元素可遞回地加以定義,且可取決於該CU是否分裂成子CU。若CU未經進一步分裂,則其被稱作葉CU。在本發明中,即使不存在原始葉CU之顯式分裂,葉CU之四個子CU亦將被稱作葉CU。舉例而言,若16×16大小之CU未進一步分裂,則儘管該16×16 CU從未分裂,但是四個8×8子CU亦將被稱作葉CU。
除CU不具有大小區別外,CU具有與H.264標準之巨集區塊類似的用途。舉例而言,樹型區塊可分裂成四個子節點(亦稱作子CU),且每一子節點又可為父節點且可分裂成另外四個子節點。被稱作四分樹之葉節點之最終的未分裂子節點包含寫碼節點,該寫碼節點亦被稱作葉CU。與經寫碼位元串流相關聯之語法資料可定義樹型區塊可分裂的最大次數(其被稱作最大CU深度),且亦可定義該等寫碼節點之最小大小。因此,位元串流亦可定義最小寫碼單元(SCU)。本發明使用術語「區塊」來指在HEVC之上下文中的CU、PU或TU中之任一者,或在其他標準之上下文中的類似資料結構(例如,其在H.264/AVC中之巨集區塊及子區塊)。
CU包括寫碼節點以及與該寫碼節點相關聯之預測單元(PU)及變換單元(TU)。CU之大小對應於寫碼節點之大小,且形狀必須為正方形。CU之大小可在8×8像素達至具有最大64×64像素或更大像素的樹型區塊之大小的範圍內。每一CU可含有一或多個PU及一或多個TU。
一般而言,PU表示對應於對應CU之所有或一部分的空間區域,且可包括用於擷取PU之參考樣本的資料。此外,PU包括與預測有關 之資料。舉例而言,當PU經框內模式編碼時,PU之資料可包括於殘餘四分樹(RQT)中,該RQT可包括描述用於對應於該PU之TU的框內預測模式的資料。作為另一實例,當PU經框間模式編碼時,PU可包括定義PU之一或多個運動向量的資料。預測區塊可為上面應用相同預測之樣本的矩形(亦即,正方形或非正方形)區塊。CU之PU可包含圖像之明度樣本的預測區塊、色度樣本的兩個對應預測區塊,及用於對預測區塊樣本進行預測之語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,PU可包含單一預測區塊及用於對預測區塊樣本進行預測之語法結構。
在將變換(例如,離散餘弦變換(DCT)、整數變換、小波變換或概念上類似的變換)應用於殘餘視訊資料之後,TU可包括變換域中的係數。殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差。視訊編碼器20可形成包括CU之殘餘資料的TU,且隨後變換該等TU以產生CU之變換係數。變換區塊可為上面應用相同變換之樣本的矩形區塊。CU之變換單元(TU)可包含明度樣本之變換區塊、色度樣本之兩個對應變換區塊,及用於對變換區塊樣本進行變換之語法結構。在單色圖像或具有三個單獨色彩平面之圖像中,TU可包含單一變換區塊及用於對變換區塊樣本進行變換的語法結構。
在變換之後,視訊編碼器20可執行變換係數之量化。量化大體上指代對變換係數進行量化以可能地減少用以表示係數之資料的量,從而提供進一步壓縮之過程。量化過程可減小與係數中之一些或所有相關聯之位元深度。舉例而言,可在量化期間將n位元值降值捨位至m位元值,其中n大於m
視訊編碼器20可掃描變換係數,從而自包括經量化變換係數的二維矩陣產生一維向量。該掃描可經設計以將較高能量(且因此較低頻率)係數置於陣列前部,且將較低能量(且因此較高頻率)係數置於陣 列後部。在一些實例中,視訊編碼器20可利用預定義掃描次序來掃描經量化之變換係數以產生可經熵編碼的串行化向量。在其他實例中,視訊編碼器20可執行自適應性掃描。
在掃描經量化變換係數以形成一維向量之後,視訊編碼器20可(例如)根據上下文自適應性可變長度寫碼(CAVLC)、上下文自適應性二進位算術寫碼(CABAC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵編碼方法來熵編碼該一維向量。視訊編碼器20亦可熵編碼與經編碼視訊資料相關聯之語法元素以供視訊解碼器30用於解碼視訊資料。
視訊編碼器20可進一步將語法資料(諸如,基於區塊之語法資料、基於圖像之語法資料及基於圖像群組(GOP)之語法資料)例如在圖像標頭、區塊標頭、圖塊標頭或GOP標頭中發送至視訊解碼器30。GOP語法資料可描述個別GOP中之圖像的數目,且圖像語法資料可指示用於編碼對應圖像的編碼/預測模式。
在獲得經寫碼視訊資料後,視訊解碼器30即可執行通常與關於視訊編碼器20描述之編碼遍次互逆的解碼遍次。舉例而言,視訊解碼器30可自視訊編碼器20獲得表示經編碼視訊圖塊之視訊區塊及相關聯語法元素的經編碼視訊位元串流。視訊解碼器30可使用位元串流中所含有的資料重建構初始的未經編碼視訊序列。
視訊編碼器20及視訊解碼器30可在視訊圖塊內執行視訊區塊之框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減少或移除給定視訊圖像內之視訊的空間冗餘。框間寫碼依賴於時間預測或視圖間預測以減少或移除視訊序列之鄰近圖像內之視訊的時間冗餘,或減少或移除其他視圖中之視訊冗餘。框內模式(I模式)可指若干基於空間之壓縮模式中之任一者。諸如單向預測(P模式)或雙向預測(B模式)之框間模式可指代若干基於時間之壓縮模式中之任一者。
在一些實例中,諸如在寫碼螢幕內容時,視訊編碼器20及/或視訊解碼器30可使用類似於習知框間預測之技術執行框內BC。舉例而言,為了編碼視訊資料之當前圖像的當前區塊,視訊編碼器20可選擇包括於儲存在參考圖像緩衝器中之當前圖像之版本中的視訊資料之預測子區塊,編碼識別預測子區塊相對於當前圖像中之當前區塊之位置的運動向量,且編碼表示視訊資料之當前區塊與預測子區塊之間的差的視訊資料之殘餘區塊。
如上文所論述,視訊編碼器20可編碼識別預測子區塊相對於當前區塊之位置的運動向量之表示。作為一項實例,視訊編碼器20可編碼表示運動向量之值的一或多個語法元素。作為另一實例,視訊編碼器20可編碼表示運動向量之值與運動向量預測子之值之間的差之一或多個語法元素,該差有時被稱作運動向量差或MVD。在一些實例中,運動向量預測子可為先前經寫碼運動向量,諸如相鄰區塊之運動向量。下文參考圖6論述使用運動向量預測子的其他細節。
如上文所論述,在一些實例中,視訊寫碼器用於MVD之解析度可為自適應性的。舉例而言,視訊編碼器20及/或視訊解碼器30可選擇性地使用整數像素解析度或分數像素解析度來表示MVD。在一些實例中,視訊編碼器20可編碼及/或視訊解碼器30可解碼指示是否使用自適應性運動向量解析度(AMVR)之語法元素。舉例而言,視訊編碼器20可編碼及/或視訊解碼器30可解碼指示MVD係使用整數像素解析度抑或分數像素解析度來表示之語法元素(例如,use_integer_mv_flag)。另外,當語法元素指示使用AMVR時,視訊編碼器20及/或視訊解碼器30可在執行運動補償之前(亦即,在識別由運動向量指示之預測子區塊之前)縮放運動向量。舉例而言,視訊編碼器20及/或視訊解碼器30可在執行運動補償之前使運動向量左移二來縮放運動向量。
在SCC草案3中,MVD之解析度及由運動向量識別之預測子區塊的位置可指示運動向量經儲存之解析度。舉例而言,若MVD具有整數像素解析度且由MV識別之預測子區塊在不同圖像中,則SCC草案3順應性視訊寫碼器可用整數像素解析度儲存運動向量。否則,若MVD具有四分之一像素解析度或由運動向量識別之預測子區塊在當前圖像中,則SCC草案3順應性視訊寫碼器可用四分之一像素解析度儲存運動向量。
在一些實例中,不同儲存解析度可能不會呈現任何問題。舉例而言,若MVD具有整數像素解析度,由運動向量識別之預測子區塊在不同圖像中,且運動向量預測子具有整數像素解析度,則視訊寫碼器可藉由僅將MVD之值添加至運動向量預測子之值來判定運動向量。然而,若用於同一運動向量之運動向量預測子具有四分之一像素解析度,則視訊寫碼器在判定運動向量之前可能需要處理運動向量預測子。舉例而言,視訊寫碼器可能需要判定運動向量預測子具有與MVD不同的解析度,將運動向量預測子之值捨入至整數像素解析度,且將MVD之值添加至運動向量預測子之經捨入值以判定運動向量之值。此不同處理可將非所要複雜度引入至視訊寫碼器。
根據本發明的一或多種技術,與基於預測子區塊之位置及是否使用AMVR而以不同解析度儲存運動向量相反,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊編碼器20及/或視訊解碼器30可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動向量之值。舉例而言,視訊編碼器20及/或視訊解碼器30可始終用四分之一像素解析度儲存運動向量。藉由使用與指示當前圖像中之預測子區塊之運動向量相同的解析度儲存指示不同圖像中之預測子區塊的運動向量,本發明之技術可使得視訊編碼器20及/或視訊解碼器30能夠將識別當前圖像或不同圖像中之預測子區塊的 先前運動向量用作識別當前圖像或不同圖像中之預測子區塊的運動向量之運動向量預測子,而無需在使用AMVR時執行不同過程。另外,藉由始終用相同解析度儲存運動向量,視訊編碼器20及/或視訊解碼器30可避免在執行運動補償之前必須縮放運動向量。以此方式,本發明之技術可降低使用當前圖像中之預測子區塊的複雜度。
在一些實例中,諸如在運動向量具有整數像素解析度的情況下,由運動向量識別之樣本像素值可落在整數像素位置處,且因此,視訊編碼器20及/或視訊解碼器30可在沒有內插的情況下存取該等樣本像素值。由於視訊編碼器20及/或視訊解碼器30可在沒有內插的情況下存取樣本像素,故視訊編碼器20及/或視訊解碼器30可在運動向量具有整數像素解析度的情況下僅使用位於預測子區塊內部的樣本像素值來預測當前區塊。在一些實例中,諸如在運動向量具有分數像素解析度的情況下,由運動向量識別之樣本像素值可能不會落在整數像素位置處,且因此,視訊編碼器20及/或視訊解碼器30可需要執行內插以建構該等樣本像素值。在一些實例中,為執行內插以建構樣本像素,視訊編碼器20及/或視訊解碼器30可需要使用位於預測子區塊內部及外部兩者之樣本像素值來預測當前區塊。然而,在一些實例中,可不需要視訊編碼器20及/或視訊解碼器30使用位於預測子區塊外部之樣本像素值來預測當前區塊。舉例而言,當預測子區塊及當前區塊位於當前圖像中時,由於此類樣本可為不可用的(亦即,可能不位於當前圖像之經重建構區域中),因此視訊解碼器30使用位於預測子區塊外部之樣本像素值可為不可能的。
根據本發明的一或多種技術,視訊編碼器20可自基於待用於識別預測子區塊之運動向量之解析度判定的搜索區域內選擇當前區塊之預測子區塊。舉例而言,當待用於運動向量之解析度為分數像素精確度時,則視訊編碼器20可使用比在待用於運動向量之解析度為整數像 素精確度時更小的搜索區域。作為一項實例,當待用於運動向量之解析度為整數像素時,視訊編碼器20可自包括當前圖像之經重建構區域的初始搜索區域內選擇預測子區塊。作為另一實例,當待用於運動向量之解析度為分數像素時,視訊編碼器20可自經減小搜索區域內選擇預測子區塊,該經減小搜索區域係藉由使初始搜索區域之大小自初始搜索區域之右方及下方邊界減小M個樣本且使初始搜索區域之大小自初始搜索區域之上方及左方邊界減小N個樣本來判定。以此方式,視訊編碼器20可確保建構預測子區塊所需的所有樣本像素值(包括位於預測子區塊外部之樣本像素值)可供視訊解碼器30在基於預測子區塊解碼當前區塊時使用。因此,視訊編碼器20可避免編碼器/解碼器不匹配。
圖2為繪示實例視訊序列33之概念圖,該視訊序列按顯示次序包括圖像34、35A、36A、38A、35B、36B、38B及35C。此等圖像中的一或多者可包括P圖塊、B圖塊或I圖塊。在一些情況下,視訊序列33可被稱為圖像群組(GOP)。圖像39為在視訊序列33之後出現的序列之按顯示次序的第一圖像。圖2通常表示視訊序列之實例預測結構,且僅意欲繪示用於編碼不同的經框間預測圖塊類型之圖像參考。實際視訊序列可含有包括不同圖塊類型且按不同顯示次序的更多或更少視訊圖像。
對於基於區塊之視訊寫碼而言,包括於視訊序列33中之視訊圖像中之每一者可分割成視訊區塊或寫碼單元(CU)。視訊圖像中之每一CU可包括一或多個預測單元(PU)。在一些實例中,可用於預測圖像內之PU的預測方法可取決於圖像類型。作為一項實例,可使用框內預測模式(亦即,關於同一圖像中之相鄰區塊的空間預測)來預測經框內預測圖像(I圖像)之圖塊中的視訊區塊或PU。作為另一實例,可使用框間或框內預測模式(亦即,關於同一圖像中之相鄰區塊的空間預 測或關於其他參考圖像的時間預測)來預測經框間預測圖像(B圖像或P圖像)之圖塊中的視訊區塊或PU。換言之,I圖像可包括I圖塊,P圖像可包括I圖塊及P圖塊兩者,且B圖像可包括I圖塊、P圖塊及B圖塊。
可根據在參考圖像清單中識別之參考圖像使用單向預測性寫碼來編碼P圖塊之視訊區塊。可根據在多個參考圖像清單中識別之多個參考圖像使用雙向預測性寫碼來編碼B圖塊之視訊區塊。
在圖2之實例中,針對框內模式寫碼將第一圖像34指定為I圖像。在其他實例中,可參考先前序列中之第一圖像,藉由框間模式寫碼將第一圖像34寫碼為(例如)P圖像或B圖像。參考過去圖像及未來圖像針對寫碼使用雙向預測將視訊圖像35A至35C(統稱為「視訊圖像35」)指定為B圖像。如圖2之實例中所繪示,可參考第一圖像34及圖像36A將圖像35A編碼為B圖像,如由自圖像34及圖像36A至視訊圖像35A之箭頭所指示。在圖2之實例中,第一圖像34及圖像36A可包括於在圖像35A之區塊的預測期間使用之參考圖像清單中。類似地編碼圖像35B及35C。
可參考過去圖像針對寫碼使用單向預測將視訊圖像36A至36B(統稱為「視訊圖像36」)指定為P圖像或B圖像。如圖2之實例中所繪示,參考第一圖像34將圖像36A編碼為P圖像或B圖像,如由自圖像34至視訊圖像36A之箭頭所指示。參考圖像38A將圖像36B類似地編碼為P圖像或B圖像,如由自圖像38A至視訊圖像36B之箭頭所指示。
可參考同一過去圖像針對寫碼使用單向預測將視訊圖像38A至38B(統稱為「視訊圖像38」)指定為P圖像或B圖像。如圖2之實例中所繪示,藉由對圖像36A之兩個參考編碼圖像38A,如由自圖像36A至視訊圖像38A之兩個箭頭所指示。類似地編碼圖像38B。
在一些實例中,可將指示圖像待輸出之次序的唯一值(亦即,對特定視訊序列(例如,按解碼次序在瞬時解碼器再新(IDR)圖像之後的 圖像的序列)而言唯一的值)指派給圖像中之每一者。此唯一值可被稱為圖像次序計數(POC)。在一些實例中,圖像待輸出之次序可不同於圖像經寫碼之次序。舉例而言,雖然圖像36A可在圖像35A之前經寫碼,但圖像35A可在圖像36A之前輸出。
在一些實例中,視訊寫碼器(例如,視訊編碼器20或視訊解碼器30)可藉由將當前圖像插入用於預測當前圖像中之區塊的參考圖像清單(RPL)中而執行框內BC。舉例而言,在圖2之實例中,視訊寫碼器可將圖像35A之指示以及圖像34及圖像36A之指示插入用於預測圖像35A中之區塊的RPL中。視訊寫碼器可接著在寫碼圖像35A之區塊時將圖像35A用作參考圖像。
根據本發明的一或多種技術,與基於預測子區塊之位置及是否使用AMVR而以不同解析度儲存運動向量相反,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊寫碼器可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動向量之值。
圖3為繪示可使用本發明中描述之框內區塊複製之技術的視訊編碼器20之實例的方塊圖。出於說明之目的,將在HEVC寫碼的上下文中描述視訊編碼器20,但就其他寫碼標準而言並不限制本發明。此外,視訊編碼器20可經組態以實施根據HEVC之範圍擴展的技術。
視訊編碼器20可執行視訊圖塊內之視訊區塊的框內寫碼及框間寫碼。框內寫碼依賴於空間預測以減少或移除給定視訊圖像內之視訊的空間冗餘。框間寫碼依賴於時間預測或視圖間預測以減少或移除視訊序列之鄰近圖像內之視訊的時間冗餘,或減少或移除其他視圖中之視訊冗餘。
在圖3之實例中,視訊編碼器20可包括視訊資料記憶體40、預測處理單元42、參考圖像記憶體64、求和器50、變換處理單元52、量化 處理單元54及熵編碼單元56。預測處理單元42又包括運動估計單元44、運動補償單元46及框內預測單元48。為了視訊區塊重建構,視訊編碼器20亦包括逆量化處理單元58、逆變換處理單元60及求和器62。亦可包括解區塊濾波器(圖3中未展示)以對區塊邊界進行濾波,從而自經重建構視訊移除方塊效應假影。若需要,解區塊濾波器通常將對求和器62之輸出進行濾波。除解區塊濾波器之外,亦可使用額外迴路濾波器(迴路中或迴路後)。
視訊資料記憶體40可儲存待藉由視訊編碼器20之組件編碼的視訊資料。可(例如)自視訊源18獲得儲存於視訊資料記憶體40中之視訊資料。參考圖像記憶體64為解碼圖像緩衝器(DPB)的一個實例,其儲存參考視訊資料以供視訊編碼器20用於編碼視訊資料(例如,在框內或框間寫碼模式中,亦被稱作框內或框間預測寫碼模式)。視訊資料記憶體40及參考圖像記憶體64可由多種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。視訊資料記憶體40及參考圖像記憶體64可由同一記憶體器件或單獨記憶體器件提供。在各種實例中,視訊資料記憶體40可與視訊編碼器20之其他組件一起在晶片上,或相對於彼等組件在晶片外。
在編碼過程期間,視訊編碼器20接收待寫碼之視訊圖像或圖塊。可將圖像或圖塊劃分成多個視訊區塊。運動估計單元44及運動補償單元46執行所接收視訊區塊相對於一或多個參考圖像中之一或多個區塊的框間預測性寫碼以提供時間壓縮或提供視圖間壓縮。框內預測單元48可替代地執行所接收視訊區塊相對於與待寫碼區塊在同一圖像或圖塊中之一或多個相鄰區塊的框內預測性寫碼以提供空間壓縮。視訊編碼器20可執行多個寫碼遍次(例如,以選擇用於視訊資料中之每一區塊的適當寫碼模式)。
此外,分割單元(未展示)可基於對先前寫碼遍次中之先前分割方案的評估而將視訊資料之區塊分割成子區塊。舉例而言,分割單元可首先將圖像或圖塊分割成LCU,且基於位元率-失真分析(例如,位元率-失真最佳化)將該等LCU中之每一者分割成子CU。預測處理單元42可進一步產生指示將LCU分割為子CU的四分樹資料結構。四分樹之葉節點CU可包括一或多個PU及一或多個TU。
預測處理單元42可(例如)基於錯誤結果選擇框內或框間寫碼模式中之一者,且將所得經框內寫碼或經框間寫碼區塊提供至求和器50以產生殘餘區塊資料且提供至求和器62以重建構供用作參考圖像之經編碼區塊。預測處理單元42亦將諸如運動向量、框內模式指示符、分割資訊及其他此類語法資訊之語法元素提供至熵編碼單元56。
運動估計單元44及運動補償單元46可高度整合,但出於概念性目的而單獨加以說明。由運動估計單元44所執行之運動估計為產生估計視訊區塊之運動的運動向量之過程。舉例而言,運動向量可指示當前視訊圖像內之視訊區塊的PU相對於參考圖像(或其他經寫碼單元)內之預測性區塊(其相對於該當前圖像(或其他經寫碼單元)內正經寫碼之當前區塊)的位移。預測性區塊為由視訊編碼器20所發現的就像素差而言緊密匹配待寫碼區塊之區塊,該像素差可由絕對差總和(SAD)、平方差總和(SSD)或其他差異度量加以判定。在一些實例中,視訊編碼器20可計算儲存於參考圖像記憶體64中之參考圖像之子整數像素位置的值。舉例而言,視訊編碼器20可內插該參考圖像之四分之一像素位置、八分之一像素位置或其他分數像素位置的值。因此,運動估計單元44可相對於全像素位置及分數像素位置執行運動搜索且輸出具有整數像素精確度或分數像素精確度之運動向量。
運動估計單元44藉由比較PU之位置與參考圖像之預測性區塊之位置而計算經框間寫碼圖塊中之視訊區塊之PU的運動向量。參考圖 像可選自識別儲存於參考圖像記憶體64中之一或多個參考圖像的一或多個參考圖像清單(RPL)。運動估計單元44將所計算之運動向量發送至熵編碼單元56及運動補償單元46。在一些實例中,運動估計單元44可將所選參考圖像之指示發送至熵編碼單元56。
如上文所論述,運動估計單元44可將所選參考圖像之指示發送至熵編碼單元56。在一些實例中,運動估計單元44可藉由發送RPL內之所選參考圖像的索引值來發送該指示。
在一些實例中,與限定框間預測將其他圖像用作參考圖像相反,運動估計單元44可將當前圖像用作參考圖像以預測包括於當前圖像中之視訊資料之區塊。舉例而言,運動估計單元44可將當前圖像之版本儲存於參考圖像記憶體64中。在一些實例中,運動估計單元44可藉由經初始化為固定值之像素值儲存當前圖像的初始化版本。在一些實例中,固定值可係基於當前圖像之樣本的位元深度。舉例而言,固定值可為1<<(bitDepth-1)。在一些實例中,運動估計單元44可在編碼當前圖像之任何區塊之前儲存當前圖像的初始化版本。藉由儲存當前圖像之初始化版本,可不要求運動估計單元44將對預測性區塊之搜索(亦即,搜索區域)限制於已重建構之區塊。相反地,若運動估計單元44並未儲存當前圖像之初始化版本,則對預測性區塊之搜索可受限於已重建構之區塊以(例如)避免解碼器/編碼器不匹配。
預測處理單元42可產生當前圖像之一或多個RPL。舉例而言,預測處理單元42可將當前圖像包括於當前圖像之RPL中。
如上文所論述,在編碼視訊資料之當前圖像之視訊資料區塊時,運動估計單元44可選擇緊密匹配當前區塊的預測性區塊。在一些實例中,與搜索其他圖像之區塊相反(或除了搜索其他圖像之區塊之外),運動估計單元44可選擇位於當前圖像中之區塊以用作當前圖像之當前區塊的預測性區塊。舉例而言,運動估計單元44可對包括一或 多個參考圖像(包括當前圖像)之圖像執行搜索。對於每一圖像,運動估計單元44可(例如)使用逐像素絕對差之總和(SAD)、平方差之總和(SSD)、平均絕對差(MAD)、均方差(MSD)或類似者計算反映預測區塊與當前區塊之匹配程度的搜索結果。接著,運動估計單元44可識別圖像中與當前區塊最佳匹配之區塊,且將區塊及圖像(其可為當前圖像)之位置指示給預測處理單元42。以此方式,例如在運動估計單元44判定預測子區塊係包括於當前圖像(亦即,與正經預測之當前區塊同一圖像)中時,運動估計單元44可執行框內BC。
由運動補償單元46執行之運動補償可涉及基於由運動估計單元44判定之運動向量來提取或產生預測性區塊。此外,在一些實例中,運動估計單元44及運動補償單元46可在功能上整合。在接收當前區塊之PU的運動向量之後,運動補償單元46可找出運動向量指向的預測性區塊在參考圖像清單(RPL)中之一者中的位置。如下文所論述,求和器50藉由自正經寫碼之當前區塊的像素值減去預測性區塊之像素值而形成殘餘視訊區塊,從而形成像素差值。一般而言,運動估計單元44相對於明度分量執行運動估計,且運動補償單元46將基於該等明度分量所計算之運動向量用於色度分量及明度分量兩者。預測處理單元42亦可產生與供視訊解碼器30用於解碼視訊圖塊之視訊區塊的視訊區塊及視訊圖塊相關聯的語法元素。
如上文所論述,視訊編碼器20可編碼識別預測子區塊相對於當前區塊之位置的運動向量之表示。作為一項實例,運動補償單元46可使得熵編碼單元56編碼表示運動向量之值的一或多個語法元素。作為另一實例,運動補償單元46可使得熵編碼單元56編碼表示運動向量之值與運動向量預測子之值之間的差之一或多個語法元素,該差有時被稱作運動向量差或MVD。在一些實例中,運動向量預測子可為先前經寫碼運動向量,諸如相鄰區塊之運動向量。下文參考圖6論述使用 運動向量預測子的其他細節。
如上文所論述,在一些實例中,視訊編碼器20用於MVD之解析度可為自適應性的。舉例而言,運動補償單元46可選擇性地使用整數像素解析度或分數像素解析度來表示MVD。在一些實例中,運動補償單元46可使得熵編碼單元56編碼指示是否使用自適應性運動向量解析度(AMVR)之語法元素。舉例而言,運動補償單元46可使得熵編碼單元56編碼指示MVD係使用整數像素解析度抑或分數像素解析度來表示之語法元素(例如,use_integer_mv_flag)。另外,當使用AMVR時,運動補償單元46可在執行運動補償之前(亦即,在識別由運動向量指示之預測子區塊之前)縮放運動向量。舉例而言,運動補償單元46可在執行運動補償之前藉由使運動向量左移二來縮放運動向量。
如上文所論述,在一些實例中,MVD之解析度及由運動向量識別之預測子區塊的位置可指示運動補償單元46儲存運動向量之解析度。然而,在一些實例中,用不同解析度儲存運動向量可將非所要複雜度引入至視訊編碼器20。
根據本發明的一或多種技術,與基於預測子區塊之位置及是否使用AMVR而以不同解析度儲存運動向量相反,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊編碼器20可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動向量之值。舉例而言,運動補償單元46可始終用四分之一像素解析度儲存運動向量。藉由使用與指示當前圖像中之預測子區塊之運動向量相同的解析度儲存指示不同圖像中之預測子區塊的運動向量,本發明之技術可使得運動補償單元46能夠將識別當前圖像或不同圖像中之預測子區塊的先前運動向量用作識別當前圖像或不同圖像中之預測子區塊的運動向量之運動向量預測子,而無需在使用AMVR時執行不同過程。另外,藉由始終用相同解析度儲存運動向量,運動補償單元46可 避免在執行運動補償之前必須縮放運動向量。以此方式,本發明之技術可降低使用當前圖像中之預測子區塊的複雜度。
如上文所描述,作為由運動估計單元44及運動補償單元46執行之框間預測的替代方案,框內預測單元48可對當前區塊進行框內預測。特定而言,框內預測單元48可判定用以編碼當前區塊之框內預測模式。在一些實例中,框內預測單元48可(例如)在單獨編碼遍次期間使用各種框內預測模式編碼區塊,且框內預測單元48可自複數個框內預測模式選擇使用的適當框內預測模式。
舉例而言,框內預測單元48可針對各種經測試框內預測模式使用位元率-失真分析來計算位元率-失真值,且自該等經測試模式當中選擇具有最佳位元率-失真特性之框內預測模式。位元率-失真分析大體上判定經編碼區塊與原始未編碼區塊(其經編碼以產生經編碼區塊)之間的失真(或誤差)量,以及用以產生經編碼區塊之位元率(亦即,位元之數目)。框內預測單元48可根據各種經編碼區塊之失真及位元率來計算比率以判定哪一框內預測模式展現該區塊之最佳位元率-失真值。
在一些實例中,可供框內預測單元48使用之複數個框內預測模式可包括平面預測模式、DC預測模式及一或多個角度預測模式。不管所選模式為何,框內預測單元48可始終基於鄰近當前區塊之經重建構區塊預測當前區塊。作為一項實例,當使用平面預測模式時,框內預測單元48可藉由取水平及垂直預測之平均值來預測當前區塊。在一些實例中,框內預測單元48可基於左方相鄰區塊及右上方相鄰區塊(由於在預測當前區塊時右方相鄰區塊之樣本可能未經重建構)判定水平預測,且基於上方相鄰區塊及左下方相鄰區塊(由於在預測當前區塊時下方相鄰區塊之樣本可能未經重建構)判定垂直預測。
作為另一實例,當使用DC預測模式時,框內預測單元48可藉由 常數值預測當前區塊之樣本。在一些實例中,常數值可表示左方相鄰區塊中之樣本及上方相鄰區塊中之樣本的平均值。作為另一實例,當使用一或多個角度預測模式中之一者時,框內預測單元48可基於來自由預測方向指示之相鄰區塊的樣本預測當前區塊之樣本。
視訊編碼器20藉由自正經寫碼之原始視訊區塊減去來自預測處理單元42之預測資料而形成殘餘視訊區塊。求和器50表示執行此減法運算之一或多個組件。
變換處理單元52將變換(諸如,離散餘弦變換(DCT)或概念上類似之變換)應用於殘餘區塊,從而產生包含殘餘變換係數值之視訊區塊。變換處理單元52可執行概念上類似於DCT之其他變換。亦可使用小波變換、整數變換、子頻帶變換或其他類型之變換。在任何情況下,變換處理單元52將變換應用於殘餘區塊,從而產生殘餘變換係數區塊。該變換可將殘餘資訊自像素值域轉換至變換域,諸如頻域。
變換處理單元52可將所得變換係數發送至量化處理單元54。量化處理單元54量化變換係數以進一步減小位元率。量化過程可減小與係數中之一些或所有相關聯之位元深度。可藉由調整量化參數來修改量化程度。在一些實例中,量化處理單元54可接著執行對包括經量化變換係數之矩陣的掃描。替代地,熵編碼單元56可執行該掃描。
在量化之後,熵編碼單元56對經量化變換係數進行熵寫碼。舉例而言,熵編碼單元56可執行上下文自適應性二進位算術寫碼(CABAC)、上下文自適應性可變長度寫碼(CAVLC)、基於語法之上下文自適應性二進位算術寫碼(SBAC)、機率區間分割熵(PIPE)寫碼或另一熵寫碼技術。在基於上下文之熵寫碼的情況下,上下文可基於相鄰區塊。在由熵編碼單元56進行熵寫碼之後,可將經編碼位元串流傳輸至另一器件(例如,視訊解碼器30)或加以存檔以供稍後傳輸或擷取。
逆量化處理單元58及逆變換處理單元60分別應用逆量化及逆變 換以重建構像素域中之殘餘區塊,(例如)以供稍後用作參考區塊。
運動補償單元46亦可將一或多個內插濾波器應用於參考區塊以計算用於運動估計之子整數像素值。求和器62將經重建構殘餘區塊添加至由運動補償單元46產生之經運動補償預測區塊以產生供儲存於參考圖像記憶體64中之經重建構視訊區塊。經重建構視訊區塊可由運動估計單元44及運動補償單元46用作參考區塊,以對後續視訊圖像中之區塊進行框間寫碼。在一些實例中,諸如在將當前圖像用作預測當前圖像之參考圖像的情況下,運動補償單元46及/或求和器62可在寫碼當前圖像時以規律時間間隔更新參考圖像記憶體64儲存之當前圖像的版本。作為一項實例,運動補償單元46及/或求和器62可在寫碼當前圖像中之每一區塊之後更新參考圖像記憶體64儲存之當前圖像的版本。舉例而言,在當前區塊之樣本作為初始化值儲存於參考圖像記憶體64中的情況下,運動補償單元46及/或求和器62可藉由當前區塊之經重建構樣本更新參考圖像記憶體64儲存之當前圖像之當前的樣本。
濾波單元(未展示)可執行各種濾波處理。舉例而言,濾波單元可執行解區塊。亦即,濾波單元可接收形成經重建構視訊之圖塊或圖框的複數個經重建構視訊區塊,且對區塊邊界進行濾波以自圖塊或圖框移除區塊效應假影。在一項實例中,濾波單元評估視訊區塊之所謂的「邊界強度」。基於視訊區塊之邊界強度,可相對於鄰近視訊區塊之邊緣像素對視訊區塊之邊緣像素進行濾波,使得檢視器更難以感知自一個視訊區塊之變換。
在一些實例中,運動補償單元46及/或求和器62可在濾波對樣本執行濾波(例如,解區塊、自適應性迴路濾波(ALF)及/或樣本自適應性偏移(SAO))之前更新參考圖像記憶體64儲存之當前圖像的版本。舉例而言,濾波單元可在應用濾波之前等待直至整個圖像經寫碼。以此方式,運動估計單元44可在應用濾波之前將當前圖像用作參考。在一 些實例中,濾波單元可在參考圖像記憶體64儲存之當前圖像之版本經更新時執行濾波。舉例而言,濾波單元可在每一區塊經更新時應用濾波。以此方式,運動估計單元44可在應用濾波之後將當前圖像用作參考。
雖然在本發明中描述該等技術之多個不同態樣及實例,但是該等技術的各種態樣及實例可以一起執行或彼此分離地執行。換言之,該等技術不應嚴格地限制於上文所描述的各種態樣及實例,而是可組合使用或一起執行及/或分離地執行。另外,雖然某些技術可歸於視訊編碼器20之特定單元(例如,框內預測單元48、運動補償單元46或熵編碼單元56),但是應理解,視訊編碼器20之一或多個其他單元亦可負責執行此類技術。
以此方式,視訊編碼器20可經組態以實施本發明中所描述的一或多個實例技術。舉例而言,視訊編碼器20可經組態以使用包括於當前圖像(亦即,同一圖像)中之預測子區塊寫碼當前圖像中之視訊資料區塊。視訊編碼器20可進一步經組態以輸出包括語法元素之位元串流,該語法元素指示參考VPS/SPS/PPS之圖像是否可存在於圖像自身之參考圖像清單中,例如,出於使用框內BC寫碼當前圖像中之一或多個區塊之目的。亦即,當使用框內BC模式寫碼區塊時,視訊編碼器20可(假定語法元素指示當前圖像可包括於自身之參考圖像清單中)例如使用參考圖像清單中之索引值發信區塊之參考圖像為包括該區塊的圖像,使得索引值對應於圖像自身。視訊編碼器20可將此索引值包括於使用框內BC模式來寫碼之區塊的運動資訊中。在一些實例中,視訊編碼器20之硬體架構可或可不尤其適用於將當前圖像用作參考圖像以預測當前圖像之當前區塊。
圖4為繪示可實施本發明中所描述之技術的視訊解碼器30之實例的方塊圖。此外,出於說明之目的將在HEVC寫碼之上下文中描述視 訊解碼器30,但關於其他寫碼標準並不限制本發明。此外,視訊解碼器30可經組態以實施根據範圍擴展之技術。
在圖4的實例中,視訊解碼器30可包括視訊資料記憶體69、熵解碼單元70、預測處理單元71、逆量化處理單元76、逆變換處理單元78、求和器80及參考圖像記憶體82。預測處理單元71包括運動補償單元72及框內預測單元74。在一些實例中,視訊解碼器30可執行與關於圖3之視訊編碼器20所描述之編碼遍次大體上互逆的解碼遍次。
視訊資料記憶體69可儲存待由視訊解碼器30之組件解碼的視訊資料(諸如,經編碼視訊位元串流)。可(例如)自儲存器件34、自本端視訊源(諸如,攝影機)經由視訊資料之有線或無線網路通信或者藉由存取實體資料儲存媒體而獲得儲存於視訊資料記憶體69中之視訊資料。視訊資料記憶體69可形成儲存來自經編碼視訊位元串流之經編碼視訊資料的經寫碼圖像緩衝器(CPB)。
參考圖像記憶體82為儲存供視訊解碼器30(例如,以框內或框間寫碼模式)用於解碼視訊資料之參考視訊資料之經解碼圖像緩衝器(DPB)的一項實例。視訊資料記憶體69及參考圖像記憶體82可由多種記憶體器件中之任一者形成,諸如動態隨機存取記憶體(DRAM)(包括同步DRAM(SDRAM))、磁阻式RAM(MRAM)、電阻式RAM(RRAM)或其他類型之記憶體器件。視訊資料記憶體69及參考圖像記憶體82可由同一記憶體器件或單獨記憶體器件提供。在各種實例中,視訊資料記憶體69可與視訊解碼器30之其他組件一起在晶片上,或相對於彼等組件在晶片外。
在解碼過程期間,視訊解碼器30自視訊編碼器20接收表示經編碼視訊圖塊之視訊區塊及相關聯之語法元素的經編碼視訊位元串流。視訊解碼器30之熵解碼單元70熵解碼位元串流以產生經量化係數、運動向量或框內預測模式指示符及其他語法元素。熵解碼單元70將運動 向量及其他語法元素轉遞至運動補償單元72。視訊解碼器30可接收視訊圖塊層級及/或視訊區塊層級處之語法元素。
在一些實例中,當視訊圖塊經寫碼為經框內寫碼(I)圖塊時,框內預測單元74可基於所發信之框內預測模式及來自當前圖像之先前經解碼區塊的資料而產生當前視訊圖塊之視訊區塊的預測資料。在一些實例中,當視訊圖像經寫碼為經框間寫碼(亦即,B或P)圖塊時,運動補償單元72基於自熵解碼單元70接收之運動向量及其他語法元素產生當前視訊圖塊之視訊區塊的預測性區塊。預測性區塊可係根據參考圖像清單(RPL)中之一者內的參考圖像中之一者而產生。預測處理單元71可基於儲存於參考圖像記憶體82中之參考圖像使用建構技術建構RPL(例如,清單0及清單1)。
在一些實例中,與限定框間預測將其他圖像用作參考圖像相反,視訊解碼器30可將當前圖像用作參考圖像以預測包括於當前圖像中之視訊資料之區塊。舉例而言,預測處理單元71可將當前圖像之版本儲存於預測處理單元71中。在一些實例中,預測處理單元71可藉由經初始化為固定值的像素值儲存當前圖框之初始化版本。在一些實例中,固定值可係基於當前圖像之樣本的位元深度。舉例而言,固定值可為1<<(bitDepth-1)。在一些實例中,預測處理單元71可在編碼當前圖像之任何區塊之前儲存當前圖像的初始化版本。藉由儲存當前圖像之初始化版本,預測處理單元71可使用尚未經重建構之預測性區塊。相反地,若預測處理單元71並未儲存當前圖像之初始化版本,則僅已重建構之區塊可用作預測子區塊(亦即,以避免解碼器/編碼器不匹配)。
如上文所論述,預測處理單元71可產生當前圖像之一或多個RPL。舉例而言,預測處理單元71可將當前圖像包括於當前圖像之RPL中。
如上文所論述,視訊解碼器30可基於預測性區塊解碼視訊資料之當前圖像之視訊資料區塊。在一些實例中,運動補償單元72可選擇位於當前圖像中之區塊以用作當前圖像之當前區塊的預測性區塊。特定言之,預測處理單元71可針對當前區塊建構包括當前圖像之RPL,運動補償單元72可接收指示RPL中之索引的當前區塊之運動參數。在一些實例中,索引可識別RPL中之當前圖像。當此情形出現時,運動補償單元72可使用包括於運動參數中之運動向量以在由運動向量相對於當前區塊識別之位置處自當前圖像自身擷取預測子區塊。以此方式,運動補償單元72可執行框內BC。
預測處理單元71可判定表示視訊資料之當前區塊與視訊資料之預測子區塊之間的位移的運動向量。在一些實例中,預測處理單元71可基於在經編碼視訊位元串流中接收之一或多個語法元素判定運動向量。在一些實例中,預測處理單元71可使用整數精確度判定運動向量。在此類實例中,諸如在當前圖像經標記為長期參考圖像的情況下,預測處理單元71可不使用標準長期參考圖像預測當前圖像(亦即,並非當前圖像之長期參考圖像)。
運動補償單元72藉由剖析運動向量及其他語法元素來判定當前視訊圖塊之視訊區塊的預測資訊,且使用該預測資訊產生正經解碼之當前區塊的預測性區塊。舉例而言,運動補償單元72使用所接收語法元素中之一些,以判定用以寫碼視訊圖塊之視訊區塊的預測模式(例如,框內或框間預測)、框間預測圖塊類型(例如,B圖塊或P圖塊)、用於該圖塊之參考圖像清單中之一或多者的建構資訊、用於該圖塊之每一經框間編碼視訊區塊之運動向量、用於該圖塊之每一經框間寫碼視訊區塊之框間預測狀態及用以解碼當前視訊圖塊中之視訊區塊的其他資訊。
如上文所論述,視訊解碼器30可解碼識別預測子區塊相對於當 前區塊之位置的運動向量之表示。作為一項實例,熵解碼單元70可解碼表示運動向量之值的一或多個語法元素且將其提供至運動補償單元72。作為另一實例,熵解碼單元70可解碼表示運動向量之值與運動向量預測子之值之間的差之一或多個語法元素,且將其提供至運動補償單元72,該差有時被稱作運動向量差或MVD。在一些實例中,運動向量預測子可為先前經寫碼運動向量,諸如相鄰區塊之運動向量。下文參考圖6論述使用運動向量預測子的其他細節。
如上文所論述,在一些實例中,視訊解碼器30用於MVD之解析度可為自適應性的。舉例而言,運動補償單元72可選擇性地使用整數像素解析度或分數像素解析度來表示MVD。在一些實例中,熵解碼單元70可解碼指示是否使用自適應性運動向量解析度(AMVR)之語法元素,且將其提供至運動補償單元72。舉例而言,熵解碼單元70可解碼指示MVD係使用整數像素解析度抑或分數像素解析度來表示之語法元素(例如,use_integer_mv_flag),且將其提供至運動補償單元72。另外,當語法元素指示使用AMVR時,運動補償單元72可在執行運動補償之前(亦即,在識別由運動向量指示之預測子區塊之前)縮放運動向量。舉例而言,運動補償單元72可在執行運動補償之前藉由使運動向量左移二來縮放運動向量。
如上文所論述,在一些實例中,MVD之解析度及由運動向量識別之預測子區塊的位置可指示運動補償單元72儲存運動向量之解析度。然而,在一些實例中,用不同解析度儲存運動向量可將非所要複雜度引入至視訊解碼器30。
根據本發明的一或多種技術,與基於預測子區塊之位置及是否使用AMVR而以不同解析度儲存運動向量相反,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊解碼器30可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動 向量之值。舉例而言,運動補償單元72可始終用四分之一像素解析度儲存運動向量。藉由使用與指示當前圖像中之預測子區塊之運動向量相同的解析度儲存指示不同圖像中之預測子區塊的運動向量,本發明之技術可使得運動補償單元72能夠將識別當前圖像或不同圖像中之預測子區塊的先前運動向量用作識別當前圖像或不同圖像中之預測子區塊的運動向量之運動向量預測子,而無需在使用AMVR時執行不同過程。另外,藉由始終用相同解析度儲存運動向量,運動補償單元72可避免在執行運動補償之前必須縮放運動向量。以此方式,本發明之技術可降低使用當前圖像中之預測子區塊的複雜度。
逆量化處理單元76逆量化(亦即,解量化)位元串流中提供的且由熵解碼單元70解碼的經量化變換係數。逆量化過程可包括使用由視訊解碼器30針對視訊圖塊中之每一視訊區塊計算之量化參數QPY判定應應用的量化程度且同樣地判定逆量化程度。
逆變換處理單元78將逆變換(例如,逆DCT、逆整數變換或概念上類似的逆變換過程)應用於變換係數,以便在像素域中產生殘餘區塊。視訊解碼器30藉由對來自逆變換處理單元78之殘餘區塊與由運動補償單元72產生之對應預測性區塊求和而形成經解碼視訊區塊。求和器80表示執行此求和運算之一或多個組件。
視訊解碼器30可包括在一些實例中可類似於上文所描述的視訊編碼器20之濾波單元經組態的濾波單元。舉例而言,當自經編碼位元串流解碼且重建構視訊資料時,濾波單元可經組態以執行解區塊、SAO或其他濾波操作。
雖然在本發明中描述該等技術之多個不同態樣及實例,但是該等技術的各種態樣及實例可以一起執行或彼此分離地執行。換言之,該等技術不應嚴格地限制於上文所描述的各種態樣及實例,而是可組合使用或一起執行及/或分離地執行。另外,雖然某些技術可歸於視 訊解碼器30之特定單元,但是應理解視訊解碼器30的一或多個其他單元亦可負責執行此類技術。
以此方式,視訊解碼器30可經組態以實施本發明中所描述的一或多種實例技術。舉例而言,視訊解碼器30可經組態以接收包括語法元素之位元串流,該語法元素指示參考PPS之圖像是否可存在於圖像自身之參考圖像清單中,例如,出於使用框內BC模式寫碼當前圖像之一或多個區塊之目的。亦即,視訊解碼器30可解碼指示當前圖像可包括於自身之參考圖像清單中之語法元素的值。因此,當使用框內BC模式寫碼區塊時,視訊解碼器30可例如使用參考圖像清單中之索引值判定區塊之參考圖像為包括區塊之圖像,使得索引值對應於圖像自身。視訊解碼器30可解碼來自使用框內BC模式寫碼之區塊的運動資訊之此索引值。在一些實例中,視訊解碼器30之硬體架構可不尤其適用於將當前圖像用作參考圖像以預測當前圖像之當前區塊。
圖5為繪示根據本發明之一或多種技術的框內BC過程之實例的圖式。根據一個實例框內預測過程,視訊編碼器20可針對圖像中待寫碼之當前區塊(例如)在同一圖像中自視訊資料之一組先前經寫碼及重建構之區塊選擇預測子視訊區塊。在圖5的實例中,經重建構區域108包括該組先前經寫碼及重建構之視訊區塊。經重建構區域108中之區塊可表示已由視訊解碼器30解碼及重建構且儲存於經重建構區域記憶體92中之區塊,或已在視訊編碼器20之重建構迴路中經解碼及重建構且儲存於經重建構區域記憶體64中之區塊。當前區塊102表示待寫碼之視訊資料之當前區塊。預測子區塊104表示與當前區塊102在同一圖像中之經重建構視訊區塊,該經重建構視訊區塊用於當前區塊102之框內BC預測。
在實例框內預測過程中,視訊編碼器20可自搜索區域內選擇預測子區塊104。如上文所論述且根據本發明之一或多種技術,視訊編 碼器20可基於待用於指示預測子區塊104之運動向量的解析度(亦即,將用於運動向量106之解析度)判定搜索區域。在圖5的實例中,基於判定整數像素解析度將用於運動向量106,視訊編碼器20可判定搜索區域由經重建構區域108構成且自經重建構區域108內選擇預測子區塊104。視訊編碼器20可接著判定及編碼指示預測子區塊104相對於當前區塊102之位置的運動向量106以及殘餘信號。舉例而言,如圖5所繪示,運動向量106可指示預測子區塊104之左上角相對於當前區塊102之左上角的位置。如上文所論述,運動向量106亦可被稱作偏移向量、位移向量或區塊向量(BV)。視訊解碼器30可利用經編碼資訊來解碼當前區塊。
根據本發明的一或多種技術,與基於預測子區塊104之位置及是否使用AMVR而以解析度儲存運動向量106相反,無論AMVR是否用於當前區塊012且無論預測子區塊是否包括於當前圖像中,視訊編碼器20可以特定解析度儲存運動向量106之值(亦即,垂直分量110之值及水平分量112之值)。以此方式,視訊編碼器20可降低使用當前中之預測子區塊的複雜度。
視訊解碼器30可基於RPL解碼當前圖像中之視訊資料區塊。特定言之,視訊解碼器30可基於包括於儲存在參考圖像記憶體82中之當前圖像之版本中的預測子區塊解碼視訊資料區塊。換言之,當解碼當前圖像之區塊時,視訊解碼器30可自當前圖像(亦即,具有(ListX中之)參考索引IdxCur之參考)預測區塊。視訊解碼器30可將區塊之經重建構樣本寫入至當前圖像緩衝器(例如,參考圖像記憶體82)以替換初始化值(例如,在視訊解碼器已完成解碼區塊之後)。應注意,在此實例中,視訊解碼器30在解碼區塊之後並未將解區塊、SAO或任何其他濾波操作應用於經重建構樣本。換言之,視訊解碼器30可在應用解區塊及SAO之前將當前圖像用作參考。在寫碼整個圖像之後,視訊解碼器 30可以與HEVC版本1中描述之彼等方式相同的方式應用解區塊、SAO及其他操作,諸如參考圖像標記。
根據本發明的一或多種技術,與基於預測子區塊104之位置及是否使用AMVR而以解析度儲存運動向量106相反,無論AMVR是否用於當前區塊012且無論預測子區塊是否包括於當前圖像中,視訊解碼器30可以特定解析度儲存運動向量106之值(亦即,垂直分量110之值及水平分量112之值)。以此方式,視訊解碼器30可降低使用當前圖像中之預測子區塊的複雜度。
圖6為繪示根據本發明的一或多種技術之使用運動向量預測子之過程之實例的圖式。在HEVC標準之一些實施中,可存在可用於對預測單元(PU)進行預測之兩種框間預測模式,稱為合併模式(跳過被視為合併之特殊情況)及進階運動向量預測(AMVP)模式。
在AMVP或合併模式中,視訊編碼器20及/或視訊編碼器30可維持多個運動向量預測子之運動向量候選清單。視訊編碼器20及/或視訊編碼器30可藉由自運動向量候選清單獲取一個候選者在合併模式中產生當前PU之運動向量以及參考索引。
運動向量候選清單可針對合併模式含有多達第一臨限數目個候選者(例如,2、5、10)且針對AMVP模式含有多達第二臨限數目個候選者(例如,2、3)。合併候選者可含有運動資訊集合,例如,對應於兩個參考圖像清單(清單0及清單1)之運動向量及參考索引。若藉由合併索引識別合併候選者,則參考圖像可用於當前區塊之預測,且相關聯運動向量經判定。然而,在針對來自清單0或清單1之每一潛在預測方向的AMVP模式下,可明確地將參考索引與MVP索引一起發信至運動向量候選清單(亦即,在AMVP候選者可僅含有單一運動向量時)。在AMVP模式中,可進一步優化經預測運動向量。
合併候選者可對應於運動資訊之完整集合,而AMVP候選者可僅 含有針對特定預測方向的一個運動向量及參考索引。視訊編碼器20及/或視訊編碼器30可類似地自相同空間及時間相鄰區塊導出兩個模式之候選者。
儘管自區塊產生候選者之方法對於合併及AMVP模式可不同,但視訊編碼器20及/或視訊編碼器30可針對特定的PU(PU0 602)自圖6之實例中展示之相鄰區塊導出空間運動向量候選者。
在合併模式中,在圖6中展示五個空間運動向量候選者之實例位置。可根據特定次序(例如,a1 604B、b1 606B、b0 606A、a0 604A、b2 606C)檢驗每一候選者位置處之空間運動向量候選者的可用性。
在AMVP模式中,可將相鄰區塊劃分為兩個群組。舉例而言,可將相鄰區塊劃分為可包括區塊a0 604A及a1 604B之左方群組,及可包括區塊b0 606A、b1 606B及b2 606C之上方群組,如圖6中所示。對於左方群組,可根據次序{a0 604A、a1 604B}檢驗可用性。對於上方群組,可根據次序{b0 606A、b1 606B、b2 606C}檢驗可用性。對於每一群組,參考與由經發信之參考索引指示之相同參考圖像的相鄰區塊中之潛在候選者可具有被選擇以形成該群組之最終候選者的最高優先權。可能所有相鄰區塊均不含有指向相同參考圖像的MV。因此,若未能發現此候選者,則視訊編碼器20及/或視訊編碼器30可縮放第一可用候選者以形成最終候選者,由此可補償時間距離差。
在一些實例中,視訊編碼器20及/或視訊編碼器30可考慮除空間相鄰候選者以外的其他候選者。舉例而言,在合併模式中,在驗證空間候選者之後,可移除兩種類型的冗餘。作為一項實例,由於可藉由CU在不分裂成預測分割區的情況下實現相同合併,故若當前PU之候選者位置將指代同一CU內之第一PU,則可排除該位置(亦即,自考慮因素移除)。作為另一實例,亦可排除候選者正好具有相同運動資訊之任何冗餘條目。在檢驗空間相鄰候選者之後,可驗證時間候選者。 對於時間候選者,若剛好在參考圖像之並列PU外部的右下方位置為可用的,則可使用該位置。否則,可替代地使用中心位置。
選擇並列PU之方式可類似於先前標準中之彼方式,但HEVC藉由傳輸索引以指定將哪一參考圖像清單用於並列參考圖像而允許更多靈活性。與使用時間候選者相關的一個問題為用以儲存參考圖像之運動資訊之記憶體的量。即使在參考圖像中之對應位置處使用較小PU結構時,亦可藉由將用於儲存時間運動候選者之粒度限制為僅16×16明度網格之解析度來解決此問題。另外,PPS層級旗標可允許編碼器停用時間候選者,此可適用於具有易錯傳輸之應用。
可在圖塊標頭中指定合併候選者的最大數目C。若所發現之合併候選者的數目(包括時間候選者)大於C,則僅可保留第一C-1個空間候選者及時間候選者。否則,若所識別之合併候選者之數目小於C,則可產生額外候選者直至數目等於C。由於剖析經寫碼資料之能力不取決於合併候選者可用性,故此可簡化剖析且可使得剖析更穩健。
對於B圖塊,可藉由根據參考圖像清單0及清單1之預定義次序選擇兩個現有候選者來產生額外合併候選者。舉例而言,第一所產生候選者可使用清單0之第一合併候選者及清單1之第二合併候選者。HEVC標準之一些實例按以下次序在已建構合併候選者清單中將兩個為一對總計12個預定義對指定為(0,1)、(1,0)、(0,2)、(2,0)、(1,2)、(2,1)、(0,3)、(3,0)、(1,3)、(3,1)、(2,3)及(3,2)。其中,在移除冗餘條目之後可包括至多五個候選者。當合併候選者之數目仍小於C時,可使用包括預設運動向量及對應參考索引之預設合併候選者,而非用與自零至參考圖像之數目減一之參考索引相關聯的零運動向量來填充合併候選清單中之任何剩餘條目。
在AMVP模式中,由於編碼器可發送經寫碼差以改變運動向量,HEVC標準中之一些實例允許在運動向量預測過程情況中使用少得多 的數目個候選者。此外,編碼器需要執行運動估計,該運動估計可為編碼器中之計算上代價最大操作中的一者,且可藉由允許較小數目個候選者來降低複雜度。當相鄰PU之參考索引不等於當前PU之參考索引時,可使用運動向量之經縮放版本。可根據分別由相鄰PU及當前PU之參考索引指示的當前圖像與參考圖像之間的時間距離縮放相鄰運動向量。當兩個空間候選者具有相同運動向量分量時,可排除一個冗餘空間候選者。當運動向量預測子之數目不等於二且時間運動向量預測之使用未明確停用時,可包括時間運動向量預測候選者。此意謂在兩個空間候選者可用時,可根本不使用時間候選者。最後,可重複地包括預設運動向量(其可為零運動向量)直至運動向量預測候選者之數目等於二,此可確保運動向量預測子之數目為二。因此,在AMVP模式的情況下,僅經寫碼旗標可為識別使用哪一運動向量預測所必要的。
如上文所論述且根據本發明之一或多種技術,與基於預測子區塊之位置及是否使用AMVR而以不同解析度儲存運動向量相反,無論AMVR是否用於當前區塊且無論預測子區塊是否包括於當前圖像中,視訊編碼器20及/或視訊解碼器30可以特定解析度儲存針對當前區塊識別當前圖像中之預測子區塊的運動向量之值。舉例而言,視訊編碼器20及/或視訊解碼器30可始終用四分之一像素解析度儲存運動向量。藉由使用與指示當前圖像中之預測子區塊之運動向量相同的解析度儲存指示不同圖像中之預測子區塊的運動向量,本發明之技術可使得視訊編碼器20及/或視訊解碼器30能夠將識別當前圖像或不同圖像中之預測子區塊的先前運動向量用作識別當前圖像或不同圖像中之預測子區塊的運動向量之運動向量預測子,而無需在使用AMVR時執行不同過程。另外,藉由始終用相同解析度儲存運動向量,視訊編碼器20及/或視訊解碼器30可避免在執行運動補償之前必須縮放運動向 量。以此方式,本發明之技術可降低使用當前圖像中之預測子區塊的複雜度。
本發明針對框內BC及框間模式提出儲存運動向量的各種方案,包括其與自適應性運動向量解析度及框內BC/框間統一的相互作用。下文所提出之技術中的每一者可單獨地、獨立地或與本文中論述之其他技術中的一或多者組合地共同應用。如以下論述中所使用,框內BC MV可為針對當前區塊識別與當前區塊在相同圖像中之預測子區塊的運動向量,且框間MV可為針對當前區塊識別與當前區塊在不同圖像中之預測子區塊的運動向量。
在一些實例中,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV及框間MV之解析度可取決於旗標use_integer_mv_flag之值,該旗標指示AMVR(例如)在當前圖塊中之使用。在一些實例中,經儲存框內BC MV及框間MV兩者之解析度可始終處於分數像素值(獨立於use_integer_mv_flag之值)。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV及框間MV之解析度可始終為整數像素值。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV及框間MV之解析度可始終為整數像素值,,且當未啟用AMVR(use_integer_mv_flag=0)時,該解析度可始終為分數像素值。在一些實例中,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV之解析度可始終為整數像素值。在一些實例中,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV之解析度可始終為整數像素值,且視訊編碼器20及/或視訊編碼器30可儲存框間MV之解析度可始終處於分數像素。在一些實例中,視訊編碼器20及/或視訊編碼器30可儲存框內BC MV之解析度可始終為整數像素值,且當啟用AMVR(use_integer_mv_flag=1)時,視訊編碼器20及/或視訊編碼器30 可儲存框間MV之解析度可處於整數像素,且當未啟用AMVR(use_integer_mv_flag=0)時,視訊編碼器20及/或視訊編碼器30可儲存框間MV之解析度可處於分數像素。
根據本發明的一或多種技術,視訊編碼器20及/或視訊解碼器30以合併及AMVP模式儲存空間運動向量候選者之解析度可不同於視訊編碼器20及/或視訊解碼器30針對TMVP儲存運動向量之解析度。以下技術可應用於框內BC、框間模式,或兩種模式。另外,可基於AMVR啟用旗標選擇性地應用該等技術,例如,僅在AMVR旗標經啟用(integer_mv_flag=1)時應用該等技術。舉例而言,可保持如SCC WD 3中之空間運動向量準確度,但當針對TMVP儲存運動向量時,視訊編碼器20及/或視訊解碼器30可跨框內BC及框間模式使用一致運動向量準確度。舉例而言,視訊編碼器20及/或視訊解碼器30可用相同準確度、整數像素或分數像素儲存所有運動向量。若需要,則視訊編碼器20及/或視訊解碼器30可執行捨入、按比例縮小(例如,右移2)或按比例擴大(例如,左移2)以等化運動向量準確度。
本發明針對框內BC/框間模式提出發信運動向量差(MVD)之各種方案,包括其與AMVR及框內BC/框間統一的相互作用。下文所提出之技術中的每一者可單獨地、獨立地或與本文中論述之其他技術中的一或多者組合共同地應用。如以下論述中所使用,框內BC MVD可為運動向量預測子之值與針對當前區塊識別與當前區塊在同一圖像中之預測子區塊的運動向量之值之間的差,且框間MVD可為運動向量預測子之值與針對當前區塊識別與當前區塊在不同圖像中之預測子區塊的運動向量之值之間的差。
在一些實例中,當未啟用AMVR(use_integer_mv_flag=0)時,視訊編碼器20及/或視訊解碼器30可始終用分數像素解析度寫碼框內BC MVD及框間MVD兩者。在一些實例中,視訊編碼器20及/或視訊解碼 器30可在啟用AMVR(use_integer_mv_flag=1)時用整數像素解析度寫碼框內BC MVD及框間MVD兩者,且可在未啟用AMVR(use_integer_mv_flag=0)時以分數像素(例如,四分之一像素)寫碼框內BC MVD及框間MVD兩者。
本發明針對框內BC及框間模式提出運動向量導出的各種方案,包括其與自適應性運動向量解析度及框內BC/框間統一的相互作用。下文所提出之技術中的每一者可單獨地、獨立地或與本文中論述之其他技術中的一或多者組合共同地應用。一般而言,可基於所要解析度將運動向量(MV)導出描述為MV=((MVP>>m1))+MVD)<<m1,其中m1=0、1、2……。在合併及跳過模式的情況下,可不發信MVD且可將MV表達為MV=(MVP>>m2)<<m2,其中m2=0、1、2……。
在一些實例中,視訊編碼器20及/或視訊解碼器30可將上述表達中之『m1』及『m2』之值建立在integer_mv_flag之值的基礎上。在一些實例中,視訊編碼器20及/或視訊解碼器30可始終將零用作上述表達中之『m1』及『m2』的值。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,框內BC MV及框間MV導出兩者皆可具有m1、m2=2之值。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,框內BC MV及框間MV導出兩者皆可具有m1、m2=2之值,且當未啟用AMVR(use_integer_mv_flag=0)時,框內BC MV及框間MV導出兩者皆可具有m1、m2=0之值。在一些實例中,框內BC MV導出可始終具有m1、m2=2之值。框間MV導出在未啟用AMVR(use_integer_mv_flag=0)時可具有m1、m2=0之值,且在啟用AMVR(use_integer_mv_flag=1)時具有m1、m2=2之值。在一些實例中,框內BC MV及框間MV導出兩者在啟用AMVR(use_integer_mv_flag=1)時皆可具有m1、m2=2之值,且框內BC MV導出在未啟用AMVR(use_integer_mv_flag=0)時可具有m1、m2=2之 值,且框間MV導出在未啟用AMVR(use_integer_mv_flag=0)時可具有m1、m2=0之值。
本發明針對框內BC/框間模式提出運動向量縮放之各種方案,包括其與AMVR及框內BC/框間統一的相互作用。下文所提出之技術中的每一者可單獨地、獨立地或與本文中論述之其他技術中的一或多者組合共同地應用。在針對SCC規格(例如,SCC草案3)之一些建議中,當啟用AMVR(use_integer_mv_flag=1)時,框間之運動向量在運動補償過程之前經縮放(左移2)。應注意,此運動向量縮放不同於時間運動向量/合併運動向量縮放。
在一些實例中,視訊編碼器20及/或視訊解碼器30可針對框內BC及框間基於integer_mv_flag之值縮放運動向量(如上文所述)。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,視訊編碼器20及/或視訊解碼器30可針對框內BC及框間縮放MV(如上文所述)。在一些實例中,當啟用AMVR(use_integer_mv_flag=1)時,視訊編碼器20及/或視訊解碼器30可針對框內BC及框間縮放MV(如上文所述),且當未啟用AMVR(use_integer_mv_flag=0)時,視訊編碼器20及/或視訊解碼器30可僅針對框內BC縮放MV且不針對框間進行縮放。
在合併或AMVP模式中,針對框間模式及框內BC兩者,一些運動向量候選者可要求時間縮放,彼等候選者(例如)可為AMVP模式中之TMVP或空間候選者。此時間縮放可使運動向量候選者為非整數。
在針對SCC(例如,SCC WD 3)之一些建議中,此類候選者或預測子並未經允許在合併模式以及框內BC模式中被使用及發信,且在啟用AMVR時左移2。兩種模式之共同問題在於彼等候選者極可能具有不正確運動向量解析度且對於預測而言可非高效的。
本發明提出克服此類問題的若干解決方案,該等解決方案可單獨地或與本文中論述之其他提議技術任意組合使用,且可應用於合併 模式、AMVP模式或此兩種模式,且應用於框內BC模式、框間模式或此兩種模式。
在一些實例中,若MV候選者要求時間MV縮放或候選者並非整數像素MV,則視訊編碼器20及/或視訊解碼器30可將該MV候選者標記為不可用。另外,在一些實例中,將候選者標記為不可用可取決於AMVR啟用旗標。舉例而言,視訊編碼器20及/或視訊解碼器30可在啟用AMVR(use_integer_mv_flag=1)時將候選者標記為不可用。在一些實例中,視訊編碼器20及/或視訊解碼器30可在縮放之後對要求縮放至整數像素MV的MV候選者或預測子進行捨入。舉例而言,將MV導出為MV=(MVP>>2)<<2。視訊編碼器20及/或視訊解碼器30可將相同技術應用於並非整數像素MV之所有MV候選者或MV預測子,且在此情況下,可移除MVP在框內BC及合併模式的情況下應具有整數準確度之約束。在另一實例中,視訊編碼器20及/或視訊解碼器30可朝向最近整數像素MV捨入MV候選者。另外,捨入要求時間MV縮放之候選者可取決於AMVR啟用旗標。舉例而言,,若啟用AMVR(use_integer_mv_flag=1),則可捨入候選者。
當啟用mvd_l1_zero_flag且使用雙向預測時,針對AMVP存在一種特殊情況。在此情況下,視訊編碼器20及/或視訊解碼器30可不針對來自參考圖像清單1(RefPicList1)之MV傳信MVD,且可推斷MVD等於0。在此情況下,AMVP中之此類MV候選者類似於合併候選者,其中MVD未經發信,且若框內BC模式用於SCC WD 3中,則可將此候選者捨入為整數。
根據本發明的一或多種技術,當啟用mvd_l1_zero_flag且應用雙向預測時,視訊編碼器20及/或視訊解碼器30可以與針對框內BC模式、框間模式或此兩種模式對合併候選者進行處理的相同方式處理此類AMVP候選者。舉例而言,在雙向預測的情況下當 mvd_l1_zero_flag等於1時,視訊編碼器20及/或視訊解碼器30可不捨入AMVP候選者,以保持較高MV準確度。另外,MV捨入可取決於AMVR啟用旗標。舉例而言,當啟用AMVR(例如,use_integer_mv_flag=1)時,視訊編碼器20及/或視訊解碼器30可捨入候選者。
在SCC WD 3中,停用雙向預測以減少頻寬,亦即,針對4×8及8×4 PU,框間方向旗標發信經修改以僅指示單向預測,且雙向合併候選者經轉換至單L0 MV候選者。然而,當針對框間模式啟用AMVR(例如,use_integer_mv_flag=1)或使用框內BC時,用於預測之MV具有整數準確度且不存在內插,如此,由於不需要提取用於內插之額外像素,可不增加頻寬。
在一些實例中,當針對框間模式啟用AMVR或使用框內BC時,在MV為整數時(例如,當使用AMVR或框內BC模式或兩種模式時),可允許針對要求內插之某些區塊大小停用的雙向預測。在一些實例中,當針對框間模式啟用AMVR或使用框內BC時,例如,包括AMVR旗標(例如,AMVR圖塊旗標)及/或框內BC模式(例如,檢驗參考圖像之POC是否等於當前圖像POC,或框內BC模式旗標)檢驗以允許框間方向發信指示雙向預測,且包括類似檢驗以針對受限區塊大小(例如,8×4及4×8 PU)在合併模式中停用雙向候選者至單L0 MV候選者之轉換。此等技術可獨立地或與其他所描述之技術任意組合使用。
基於上文所描述之技術提出各種實例實施。實例中的每一者組合上文所描述之技術的一或多個態樣。在以下所有實例中,以下內容可視情況單獨地或以任意組合應用於框內BC、框間模式或兩種模式。另外,可取決於AMVR啟用旗標應用以下內容,例如,當use_integer_mv_flag等於1時應用該等方法:
a.若使用合併模式,則MV可經捨入且導出為MV=(MVP>>2) <<2。在此情況下,可移除MVP在框內BC及合併模式的情況下應具有整數準確度之約束。
b.若使用AMVP模式且mvd_l1_aero_flag為1,則MV可不經捨入且可針對RefPicList1及雙向預測經導出為MV=MVP。
實例1:
當use_integer_mv_flag為0時,a.可用分數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV導出為MV=((MVP>>2)+MVD)<<2,及c.可將所儲存框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV導出為MV=((MVP>>2)+MVD)<<2,及c.可將所儲存框間MV導出為MV=MVP+MVD。
d.對於運動補償過程,可將框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例2:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框內BC MV導出為MV=((MVP>>2)+MVD)<<2,及 c.可將所儲存框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=((MVP>>2)+MVD)<<2。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例3:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框內BC及框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=((MVP>>2)+MVD)<<2。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例4:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框內BC MV導出為MV=((MVP>>2)+MVD)<<2,及 c.可將所儲存框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC及框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例5:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC MV縮放2(亦即,MV=MV<<2)。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC及框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例6:
當use_integer_mv_flag為0時, a.可用分數像素解析度寫碼框內BC MVD及框間MVD。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC及框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例7:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
當use_integer_mv_flag為1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC及框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
實例8:
當use_integer_mv_flag為0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解 析度寫碼框間MVD。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC MV縮放2(亦即,MV=MV<<2)。
當use_integer_mv_flag為1時,
a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.可將所儲存框內BC MV及框間MV導出為MV=MVP+MVD。
c.對於運動補償過程,可將框內BC及框間MV縮放2(亦即,MV=MV<<2)。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。
下表2至3概述上文所描述的實例中之一些。斜體文字指示關於當前規格之差異,該等差異在下表1中概述。表1至3中的每一者提供基於語法元素之值判定的兩個案例。在語法元素具有第一值(例如,0)的情況下將應用第一案例。類似地,在語法元素具有第二值(例如,1)的情況下將應用第二案例。在一些實例中,語法元素可為自適應性MV解析度(AVMR)語法元素。因此,在一些實例中,本發明提出修改AVMR語法元素之影響。
表1至3中之每一單元格提供語法元素之值與基於向量預測子(P)之運動向量(MV)或區塊向量(BV)之計算方法、儲存MV或BV之解析度、MV或BV是否經縮放以執行運動補償,及寫碼運動向量差(MVD)或區塊向量差(BVD)之解析度之間的映射。若使用框內BC寫碼當前區塊,則將應用BV/BVD值。類似地,若使用框內模式寫碼當前區塊,則將應用MV/MVD值。
在操作中,視訊解碼器可基於語法元素之值判定計算方法、儲 存解析度、向量是否移位以執行運動補償及當前區塊之向量差解析度。
在另一實例中,框內BC MV及框間MV兩者皆可經儲存具有分數像素解析度。然而,框內BC MV及框間MV之導出過程可取決於use_integer_mv_flag。
當use_integer_mv_flag=1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD。
b.可將所儲存框內BC MV及框間MV兩者導出為MV=(MVP>>m+MVD)<<m。
當use_integer_mv_flag=0時,a.可用整數像素解析度寫碼框內BC MVD,且可用分數像素解析度寫碼框間MVD。
b.可將所儲存框間MV導出為MV=MVP+MVD,且可將所儲存框內BC MV導出為(MVP>>m+MVD)<<m。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。m可取決於分數像素解析度(例如,針對四分之一像素解析度m=2)。
在另一實例中,框內BC MV及框間MV兩者皆可經儲存具有分數像素解析度(例如,四分之一像素解析度)。然而,所儲存框內BC MV及框間MV之導出過程可取決於use_integer_mv_flag。
當use_integer_mv_flag=1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD。
b.可將所儲存框內BC MV及框間MV兩者導出為MV=(MVP>>m+MVD)<<m。
當use_integer_mv_flag=0時,a.可藉由分數像素解析度寫碼框內BC MVD及框間MVD。
b.可將所儲存框內BC MV及框間MV兩者導出為MV=MVP+ MVD。
其中MVP為對應MV預測子。其他轉換機制或捨入可為可適用的。對於合併,MVD可為零,且MVP可為來自對應合併候選者之MV。m可取決於分數像素解析度(例如,針對四分之一像素解析度m=2)。
應注意,在此情況下,由於框內BC/框間MV可指向分數像素位置,故框內BC可能需要內插濾波器。因此,在一些實例中,上文所論述之技術(例如,如圖8至圖10中所展示之收縮搜索區域)可用於框內BC。
在另一實例中,所儲存框內BC MV及框間MV之解析度可取決於use_integer_mv_flag。
當use_integer_mv_flag=1時,a.可用整數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.框內BC MV及框間MV兩者可經儲存具有整數像素解析度。
c.可將所儲存框內BC MV及框間MV兩者導出為MV=MVP+MVD。
當use_integer_mv_flag=0時,a.用分數像素解析度寫碼框內BC MVD及框間MVD兩者。
b.框內BC MV及框間MV兩者可經儲存具有分數像素解析度。
c.將所儲存框內BC MV及框間MV兩者導出為MV=MVP+MVD。
應注意,在此情況下,由於框內BC MV可指向分數像素位置,故框內BC可能需要內插濾波器。因此,在一些實例中,上文所論述之技術(例如,如圖8至圖10中所展示之收縮搜索區域)可用於框內BC。
當用整數像素解析度儲存框間/框內BC MV時,可應用以下操作 (一者或兩者)。
a.可在將MV輸入至運動補償模組之前首先使其左移m至分數像素解析度(針對如HEVC版本1中之四分之一像素解析度m=2)。以此方式,可在明顯無任何改變的情況下使用習知運動補償模組。
b.可在將MV輸入至解區塊模組之前首先使其左移m至分數像素解析度(針對如HEVC版本1中之四分之一像素解析度m=2)。以此方式,可在明顯無任何改變的情況下使用習知解區塊模組。
圖7為繪示根據本發明的一或多種技術之用於編碼視訊資料區塊之實例過程的流程圖。圖7之技術可由視訊編碼器(諸如圖1及圖3中所繪示之視訊編碼器20)執行。出於說明的目的,在圖1及圖3之視訊編碼器20之上下文內描述圖7之技術,但具有不同於視訊編碼器20之組態的視訊寫碼器亦可執行圖7之技術。
根據本發明的一或多種技術,視訊編碼器20之一或多個處理器可在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊(702)。作為一項實例,視訊編碼器20之運動估計單元44可自搜索區域選擇當前區塊之預測子區塊。如上文所論述,運動估計單元44可自所判定搜索區域內識別若干候選預測子區塊且選擇就像素差而言緊密匹配當前區塊之候選預測子區塊,該像素差可由絕對差總和(SAD)、平方差總和(SSD)或其他差異度量判定。
視訊編碼器20之一或多個處理器可判定識別當前區塊之所選預測子區塊的運動向量之值(704)。舉例而言,在圖5的實例中,運動估計單元44可判定向量106之垂直分量110的值及水平分量112的值,該向量表示當前區塊102與所選預測子區塊104之間的位移。
視訊編碼器20之一或多個處理器可在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示(706)。舉例而言,運動估計單元44可使得熵編碼單元56編碼表示所判定運動向量與 所判定運動向量之運動向量預測子之間的運動向量差(MVD)之值的一或多個語法元素。
視訊編碼器20之一或多個處理器可在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度(AMVR)是否用於當前區塊之語法元素(708)。舉例而言,運動估計單元44可使得熵編碼單元56在圖塊之圖塊標頭中編碼use_integer_mv_flag,use_integer_mv_flag包括具有指示AMVR是否用於當前區塊之值的當前區塊。
無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,視訊編碼器20之一或多個處理器可以分數像素解析度(例如,四分之一像素解析度)儲存運動向量之值(710)。如上文所論述,藉由始終以分數像素解析度儲存運動向量之值,視訊編碼器20可降低使用當前圖像中之預測子區塊的複雜度。
視訊編碼器20之一或多個處理器可基於所儲存運動向量之值判定預測子區塊的像素值(712),且基於預測子區塊之像素值重建構當前區塊(714)。舉例而言,視訊編碼器20可將預測子區塊之像素值添加至殘餘值以重建構當前區塊的像素值。
圖8為繪示根據本發明的一或多種技術的用於解碼視訊資料區塊之實例過程的流程圖。圖8之技術可由視訊解碼器(諸如圖1及圖4中所繪示之視訊解碼器30)執行。出於說明的目的,在圖1及圖4之視訊解碼器30之上下文內描述圖8之技術,但具有不同於視訊解碼器30之組態的視訊寫碼器亦可執行圖8之技術。
根據本發明的一或多種技術,視訊解碼器30之一或多個處理器可自經寫碼視訊位元串流獲得運動向量預測子與在視訊資料之當前圖像中識別視訊資料之當前區塊之預測子區塊的運動向量之間的差值之表示(802)。舉例而言,視訊解碼器30之運動補償單元72可自熵解碼 單元70接收表示所判定運動向量與所判定運動向量之運動向量預測子之間的運動向量差(MVD)之值的一或多個語法元素。
視訊解碼器30之一或多個處理器可自經寫碼視訊位元串流獲得指示自適應性運動向量解析度(AMVR)是否用於當前區塊之語法元素(804)。舉例而言,運動補償單元72可自熵解碼單元70接收包括具有指示AMVR是否用於當前區塊之值之當前區塊的use_integer_mv_flag。
視訊解碼器30之一或多個處理器可基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示來判定運動向量之值(806)。作為一項實例,在語法元素指示AMVR用於視訊資料之當前區塊或預測子區塊包括於當前圖像中的情況下,運動補償單元72可藉由使運動向量預測子至少右移二,且使經右移運動向量預測子及運動向量預測子與識別預測子區塊之運動向量之間的差之表示的總和左移二來判定運動向量之值。作為另一實例,在語法元素指示AMVR不用於視訊資料之當前區塊且預測子區塊不包括於當前圖像中的情況下,運動補償單元72可藉由至少將運動向量預測子添加至運動向量預測子與識別預測子區塊之運動向量之間的差之表示來判定運動向量之值。
無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,視訊解碼器30之一或多個處理器可以分數像素解析度(例如,四分之一像素解析度)儲存運動向量之值(808)。如上文所論述,藉由始終以分數像素解析度儲存運動向量之值,視訊解碼器30可降低使用當前圖像中之預測子區塊的複雜度。
視訊解碼器30之一或多個處理器可基於所儲存運動向量之值判定預測子區塊之像素值(810),且基於預測子區塊之像素值重建構當前區塊(812)。舉例而言,視訊解碼器30之求和器80可將預測子區塊 之像素值添加至殘餘值以重建構當前區塊的像素值。
以下經編號實例可說明本發明之一或多個態樣:實例1。一種解碼視訊資料之方法包含:自經寫碼視訊位元串流獲得運動向量預測子與在當前圖像中識別視訊資料之當前區塊之預測子區塊的運動向量之間的差之表示;自經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之當前區塊的語法元素;基於運動向量預測子與識別預測子區塊之運動向量之間的差之表示判定運動向量之值;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
實例2。如實例1之方法,其中基於運動向量之值判定預測子區塊之像素值包含:在不縮放所儲存運動向量之值的情況下且無論預測子區塊是否包括於當前圖像中,識別預測子區塊。
實例3。如實例1至2之任何組合之方法,其中,在語法元素指示自適應性運動向量解析度用於視訊資料之當前區塊或預測子區塊包括於當前圖像中的情況下,且其中判定運動向量之值包含:使運動向量預測子右移N;且使經右移運動向量預測子及運動向量預測子與識別預測子區塊之運動向量之間的差之表示的總和左移N。
實例4。如實例1至3之任何組合之方法,其中N為二。
實例5。如實例1至4之任何組合之方法,其中,在語法元素指示自適應性運動向量解析度不用於視訊資料之當前區塊且預測子區塊不包括於當前圖像中的情況下,且其中判定運動向量之值包含:將運動向量預測子添加至運動向量預測子與識別預測子區塊之運動向量之間的差之表示。
實例6。如實例1至5之任何組合之方法,其中以分數像素解析度 儲存運動向量之值包含無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以四分之一像素解析度儲存運動向量之值。
實例7。一種用於解碼視訊資料之器件,該器件包含:記憶體,其經組態以儲存視訊資料之一部分;及一或多個處理器,其經組態以執行如實例1至6之任何組合之方法。
實例8。一種用於解碼視訊資料之器件,該器件包含用於執行如實例1至6之任何組合之方法的構件。
實例9。一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得視訊解碼器之一或多個處理器執行如實例1至6之任何組合之方法。
實例10。一種編碼視訊資料之方法,該方法包含:在視訊資料之當前圖像中選擇視訊資料之當前區塊之預測子區塊;判定識別當前區塊之所選預測子區塊之運動向量的值;在經寫碼視訊位元串流中編碼運動向量預測子與運動向量之值之間的差之表示;在經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之當前區塊之語法元素;無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以分數像素解析度儲存運動向量之值;基於所儲存運動向量之值判定預測子區塊之像素值;及基於預測子區塊之像素值重建構當前區塊。
實例11。如實例10之方法,其中基於運動向量之值判定預測子區塊之像素值包含:在不縮放所儲存運動向量之值的情況下且無論預測子區塊是否包括於當前圖像中,識別預測子區塊。
實例12。如實例10至11之任何組合之方法,其中,在自適應性運動向量解析度用於視訊資料之當前區塊或預測子區塊包括於當前圖像中的情況下,且其中判定運動向量之值包含:使運動向量預測子右移 N;且使經右移運動向量預測子及運動向量預測子與識別預測子區塊之運動向量之間的差之表示的總和左移N。
實例13。如實例10至12之任何組合之方法,其中N為二。
實例14。如實例10至13之任何組合之方法,其中,在自適應性運動向量解析度不用於視訊資料之當前區塊且預測子區塊不包括於當前圖像中的情況下,且其中判定運動向量之值包含:將運動向量預測子添加至運動向量預測子與識別預測子區塊之運動向量之間的差之表示。
實例15。如實例10至14之任何組合之方法,其中以分數像素解析度儲存運動向量之值包含無論自適應性運動向量解析度是否用於視訊資料之當前區塊且無論預測子區塊是否包括於當前圖像中,以四分之一像素解析度儲存運動向量之值。
實例16。一種用於編碼視訊資料之器件,該器件包含:記憶體,其經組態以儲存視訊資料之一部分;及一或多個處理器,其經組態以執行如實例10至15之任何組合之方法。
實例17。一種用於編碼視訊資料之器件,該器件包含用於執行如實例10至15之任何組合之方法的構件。
實例18。一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得視訊編碼器之一或多個處理器執行如實例10至15之任何組合之方法。
如本發明中所描述之視訊寫碼器可指視訊編碼器或視訊解碼器。類似地,視訊寫碼單元可指視訊編碼器或視訊解碼器。同樣地,視訊寫碼可在適用時指代視訊編碼或視訊解碼。
應認識到,取決於實例,本文中所描述之技術中之任一者的某些動作或事件可以不同序列執行、可添加、合併或完全省略該等動作或事件(例如,並非所有所描述動作或事件對於於實踐該等技術為必 要的)。此外,在某些實例中,可(例如)經由多線程處理、中斷處理或多個處理器同時而非順序地執行動作或事件。
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則該等功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,通信媒體包括(例如)根據通信協定促進電腦程式自一處傳送至另一處的任何媒體。
以此方式,電腦可讀媒體大體可對應於(1)為非暫時性的有形電腦可讀儲存媒體,或(2)諸如,信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中所描述之技術的指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉助於實例而非限制,此類電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用以儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。又,任何連接被適當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。
然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實際上有關於非暫時性有形儲存媒體。如本文所使用,磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟性磁碟及藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟用雷射以光學方式再現資料。以上 各者的組合亦應包括於電腦可讀媒體之範疇內。
可由諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路之一或多個處理器來執行指令。因此,如本文中所使用的術語「處理器」可指任何上述結構或適合於實施本文中所描述之技術的任何其他結構。另外,在一些態樣中,可在經組態用於編碼及解碼之專用硬體及/或軟體模組內提供本文中所描述之功能性,或將本文中所描述之功能性併入於組合式編解碼器中。又,該等技術可完全以一或多個電路或邏輯元件實施。
本發明之技術可以多種器件或裝置實施,該等器件或裝置包括無線手機、積體電路(IC)或IC集合(例如,晶片組)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能性態樣,但未必需要藉由不同硬體單元來實現。確切而言,如上文所描述,可將各種單元組合於編碼解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合而結合合適軟體及/或韌體來提供該等單元。
已描述各種實例。此等及其他實例在以下申請專利範圍之範疇內。
802‧‧‧區塊
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
812‧‧‧區塊

Claims (28)

  1. 一種解碼視訊資料之方法,該方法包含:自一經寫碼視訊位元串流獲得一運動向量預測子與在一當前圖像中識別視訊資料之一當前區塊的一預測子區塊之一運動向量之間的一差之一表示;自該經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之該當前區塊的一語法元素;基於該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示判定該運動向量之一值;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。
  2. 如請求項1之方法,其中基於該運動向量之該值判定該預測子區塊之該等像素值包含:在不縮放該所儲存運動向量之該值的情況下且無論該預測子區塊是否包括於該當前圖像中,識別該預測子區塊。
  3. 如請求項2之方法,其中,在該語法元素指示自適應性運動向量解析度用於視訊資料之該當前區塊或該預測子區塊包括於該當前圖像中的情況下,且其中判定該運動向量之該值包含:使該運動向量預測子右移N;及使該經右移運動向量預測子及該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示的總和左移N。
  4. 如請求項3之方法,其中N為二。
  5. 如請求項3之方法,其中,在該語法元素指示自適應性運動向量解析度不用於視訊資料之該當前區塊且該預測子區塊不包括於該當前圖像中的情況下,且其中判定該運動向量之該值包含:將該運動向量預測子添加至該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示。
  6. 如請求項1之方法,其中以分數像素解析度儲存該運動向量之該值包含無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以四分之一像素解析度儲存該運動向量之該值。
  7. 一種編碼視訊資料之方法,該方法包含:在視訊資料之一當前圖像中選擇視訊資料之一當前區塊的一預測子區塊;判定識別該當前區塊之該所選預測子區塊的一運動向量之一值;在一經寫碼視訊位元串流中編碼一運動向量預測子與該運動向量之該值之間的一差之一表示;在該經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之該當前區塊的一語法元素;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。
  8. 如請求項7之方法,其中基於該運動向量之該值判定該預測子區 塊之該等像素值包含:在不縮放該所儲存運動向量之該值的情況下且無論該預測子區塊是否包括於該當前圖像中,識別該預測子區塊。
  9. 如請求項8之方法,其中,在自適應性運動向量解析度用於視訊資料之該當前區塊或該預測子區塊包括於該當前圖像中的情況下,且其中判定該運動向量之該值包含:使該運動向量預測子右移N;及使該經右移運動向量預測子及該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示的總和左移N。
  10. 如請求項9之方法,其中N為二。
  11. 如請求項9之方法,其中,在自適應性運動向量解析度不用於視訊資料之該當前區塊且該預測子區塊不包括於該當前圖像中的情況下,且其中判定該運動向量之該值包含:將該運動向量預測子添加至該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示。
  12. 如請求項7之方法,其中以分數像素解析度儲存該運動向量之該值包含無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以四分之一像素解析度儲存該運動向量之該值。
  13. 一種用於解碼視訊資料之器件,該器件包含:一記憶體,其經組態以儲存該視訊資料之一部分;及一或多個處理器,其經組態以:自一經寫碼視訊位元串流獲得一運動向量預測子與在一當前圖像中識別視訊資料之一當前區塊的一預測子區塊之一運動向量之間的一差之一表示;自該經寫碼視訊位元串流獲得指示自適應性運動向量解析 度是否用於視訊資料之該當前區塊的一語法元素;基於該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示判定該運動向量之一值;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。
  14. 如請求項13之器件,其中,為了基於該運動向量之該值判定該預測子區塊之該等像素值,該一或多個處理器經組態以:在不縮放該所儲存運動向量之該值的情況下且無論該預測子區塊是否包括於該當前圖像中,識別該預測子區塊。
  15. 如請求項14之器件,其中,在該語法元素指示自適應性運動向量解析度用於視訊資料之該當前區塊或預測子區塊包括於該當前圖像中的情況下,且其中,為了判定該運動向量之該值,該一或多個處理器經組態以:使該運動向量預測子右移N;及使該經右移運動向量預測子及該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示的總和左移N。
  16. 如請求項15之器件,其中N為二。
  17. 如請求項15之器件,其中,在該語法元素指示自適應性運動向量解析度不用於視訊資料之該當前區塊且該預測子區塊不包括於該當前圖像中的情況下,且其中,為了判定該運動向量之該值,該一或多個處理器經組態以:將該運動向量預測子添加至該運動向量預測子與識別該預測 子區塊之該運動向量之間的該差之該表示。
  18. 如請求項13之器件,其中,為了以分數像素解析度儲存該運動向量之該值,無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,該一或多個處理器經組態以用四分之一像素解析度儲存該運動向量之該值。
  19. 一種用於解碼視訊資料之裝置,該裝置包含:用於自一經寫碼視訊位元串流獲得一運動向量預測子與在一當前圖像中識別視訊資料之一當前區塊的一預測子區塊之一運動向量之間的一差之一表示的構件;用於自該經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之該當前區塊之一語法元素的構件;用於基於該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示判定該運動向量之一值的構件;用於無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值的構件;用於基於該所儲存運動向量之該值判定該預測子區塊之像素值的構件;及用於基於該預測子區塊之該等像素值重建構該當前區塊的構件。
  20. 一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得一視訊解碼器件之一或多個處理器進行以下操作:自一經寫碼視訊位元串流獲得一運動向量預測子與在一當前圖像中識別視訊資料之一當前區塊的一預測子區塊之一運動向量之間的一差之一表示; 自該經寫碼視訊位元串流獲得指示自適應性運動向量解析度是否用於視訊資料之該當前區塊的一語法元素;基於該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示判定該運動向量之一值;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。
  21. 一種用於編碼視訊資料之器件,該器件包含:一記憶體,其經組態以儲存該視訊資料之一部分;及一或多個處理器,其經組態以:在視訊資料之一當前圖像中選擇視訊資料之一當前區塊之一預測子區塊;判定識別該當前區塊之該所選預測子區塊的一運動向量之一值;在一經寫碼視訊位元串流中編碼一運動向量預測子與該運動向量之該值之間的一差之一表示;在該經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之該當前區塊的一語法元素;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及 基於該預測子區塊之該等像素值重建構該當前區塊。
  22. 如請求項21之器件,其中,為了基於該運動向量之該值判定該預測子區塊之該等像素值,該一或多個處理器經組態以:在不縮放該所儲存運動向量之該值的情況下且無論該預測子區塊是否包括於該當前圖像中,識別該預測子區塊。
  23. 如請求項22之器件,其中,在自適應性運動向量解析度用於視訊資料之該當前區塊或該預測子區塊包括於該當前圖像中的情況下,且其中,為了判定該運動向量之該值,該一或多個處理器經組態以:使該運動向量預測子右移N;及使該經右移運動向量預測子及該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示的總和左移N。
  24. 如請求項23之器件,其中N為二。
  25. 如請求項23之器件,其中,在自適應性運動向量解析度不用於視訊資料之該當前區塊且該預測子區塊不包括於該當前圖像中的情況下,且其中,為了判定該運動向量之該值,該一或多個處理器經組態以:將該運動向量預測子添加至該運動向量預測子與識別該預測子區塊之該運動向量之間的該差之該表示。
  26. 如請求項21之器件,其中,為了以分數像素解析度儲存該運動向量之該值,無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,該一或多個處理器經組態以用四分之一像素解析度儲存該運動向量之該值。
  27. 一種用於編碼視訊資料之裝置,該裝置包含:用於在視訊資料之一當前圖像中選擇視訊資料之一當前區塊 之一預測子區塊的構件;用於判定識別該當前區塊之該所選預測子區塊的一運動向量之一值的構件;用於在一經寫碼視訊位元串流中編碼一運動向量預測子與該運動向量之該值之間的一差之一表示的構件;用於在該經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之該當前區塊之一語法元素的構件;用於無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素解析度儲存該運動向量之該值的構件;用於基於該所儲存運動向量之該值判定該預測子區塊之像素值的構件;及用於基於該預測子區塊之該等像素值重建構該當前區塊的構件。
  28. 一種儲存指令之電腦可讀儲存媒體,該等指令在經執行時使得一視訊編碼器件之一或多個處理器進行以下操作:在視訊資料之一當前圖像中選擇視訊資料之一當前區塊之一預測子區塊;判定識別該當前區塊之該所選預測子區塊的一運動向量之一值;在一經寫碼視訊位元串流中編碼一運動向量預測子與該運動向量之該值之間的一差之一表示;在該經寫碼視訊位元串流中編碼指示自適應性運動向量解析度是否用於視訊資料之該當前區塊的一語法元素;無論自適應性運動向量解析度是否用於視訊資料之該當前區塊且無論該預測子區塊是否包括於該當前圖像中,以分數像素 解析度儲存該運動向量之該值;基於該所儲存運動向量之該值判定該預測子區塊之像素值;及基於該預測子區塊之該等像素值重建構該當前區塊。
TW105114633A 2015-05-11 2016-05-11 運動向量之儲存及發信解析度 TW201701671A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562159839P 2015-05-11 2015-05-11
US201562173248P 2015-06-09 2015-06-09
US201562175179P 2015-06-12 2015-06-12
US15/151,429 US20160337662A1 (en) 2015-05-11 2016-05-10 Storage and signaling resolutions of motion vectors

Publications (1)

Publication Number Publication Date
TW201701671A true TW201701671A (zh) 2017-01-01

Family

ID=56097279

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105114633A TW201701671A (zh) 2015-05-11 2016-05-11 運動向量之儲存及發信解析度

Country Status (3)

Country Link
US (1) US20160337662A1 (zh)
TW (1) TW201701671A (zh)
WO (1) WO2016183224A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109427033A (zh) * 2017-08-22 2019-03-05 英特尔公司 用于在机器学习环境下实现智能数据压缩的高效存储器布局
CN110944191A (zh) * 2018-09-23 2020-03-31 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的运动矢量精度指示的信令通知
CN114651444A (zh) * 2019-11-11 2022-06-21 寰发股份有限公司 视频编解码中发信可适性运动向量差值解析度的方法和装置
US12108046B2 (en) 2019-05-17 2024-10-01 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
US12464160B2 (en) 2017-10-05 2025-11-04 Interdigital Vc Holdings, Inc. Methods and apparatuses for video encoding and video decoding

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2961681C (en) * 2014-09-30 2022-08-09 Hfi Innovation Inc. Method of adaptive motion vetor resolution for video coding
US10200713B2 (en) 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
CN106331703B (zh) * 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置
KR20250064689A (ko) 2015-08-24 2025-05-09 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017052000A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
MX2019007219A (es) * 2016-12-22 2019-09-05 Kt Corp Metodo y aparato para procesar señales de video.
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
CN110800302A (zh) * 2017-06-07 2020-02-14 联发科技股份有限公司 用于视频编解码的帧内-帧间预测的方法及装置
KR102777986B1 (ko) 2017-07-07 2025-03-10 삼성전자주식회사 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법
EP3691274A4 (en) * 2017-09-28 2021-04-28 Samsung Electronics Co., Ltd. CODING METHOD AND DEVICE FOR IT AND DECODING METHOD AND DEVICE FOR IT
WO2019103564A1 (ko) * 2017-11-27 2019-05-31 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
EP3662671B1 (en) 2017-11-28 2021-11-24 Huawei Technologies Co., Ltd. Syntax prediction using reconstructed samples
US10523948B2 (en) * 2018-02-05 2019-12-31 Tencent America LLC Method and apparatus for video coding
CN111869216B (zh) 2018-02-12 2024-05-28 联发科技股份有限公司 用于视频编解码系统的语法处理的方法和装置
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
KR102817113B1 (ko) * 2018-04-13 2025-06-05 엘지전자 주식회사 비디오 처리 시스템에서 인터 예측 방법 및 장치
US10462483B1 (en) * 2018-04-26 2019-10-29 Tencent America LLC Method and apparatus for video coding
WO2019234598A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
CN110620932B (zh) 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 依赖模式的运动矢量差精度集
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
EP3788782A1 (en) 2018-06-21 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Sub-block mv inheritance between color components
CN110677658B (zh) 2018-07-01 2022-07-12 北京字节跳动网络技术有限公司 基于优先级的非相邻Merge设计
US10897617B2 (en) * 2018-07-24 2021-01-19 Qualcomm Incorporated Rounding of motion vectors for adaptive motion vector difference resolution and increased motion vector storage precision in video coding
US10362330B1 (en) * 2018-07-30 2019-07-23 Tencent America LLC Combining history-based motion vector prediction and non-adjacent merge prediction
JP7212150B2 (ja) 2018-09-19 2023-01-24 北京字節跳動網絡技術有限公司 適応動きベクトル解像度によるアフィンモードへの構文の使用
WO2020065517A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Simplified history based motion vector prediction
CN112997495B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 当前图片参考中的取整
EP3857896A4 (en) 2018-11-22 2021-12-01 Beijing Bytedance Network Technology Co. Ltd. COORDINATION PROCESS FOR INTER-PREDICTION BASED ON SUB-BLOCKS
US10951895B2 (en) 2018-12-31 2021-03-16 Alibaba Group Holding Limited Context model selection based on coding unit characteristics
CN118474391A (zh) * 2019-01-04 2024-08-09 北京三星通信技术研究有限公司 对运动矢量信息进行编/解码的方法及装置
EP3766249A4 (en) * 2019-01-08 2022-01-26 Tencent America Llc Method and apparatus for memory bandwidth reduction for small inter blocks
CN113574867B (zh) * 2019-01-12 2022-09-13 北京字节跳动网络技术有限公司 Mv精度约束
US11310523B2 (en) * 2019-01-15 2022-04-19 Tencent America LLC Method and apparatus for block vector prediction with integer offsets in intra picture block compensation
CN120980252A (zh) 2019-01-31 2025-11-18 北京字节跳动网络技术有限公司 对称运动矢量差编解码模式的快速算法
WO2020156516A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution
CN113424534B (zh) * 2019-02-01 2026-04-21 北京字节跳动网络技术有限公司 自适应运动矢量分辨率的多个语法元素
US11025948B2 (en) * 2019-02-28 2021-06-01 Tencent America LLC Method and apparatus for motion prediction in video coding
KR102662874B1 (ko) 2019-04-28 2024-05-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 대칭 모션 벡터 차이 코딩
WO2020221256A1 (en) * 2019-04-28 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Symmetric motion vector difference coding
EP3997879A4 (en) * 2019-07-09 2023-03-22 Alibaba Group Holding Limited RESOLUTION-ADAPTIVE VIDEO CODING
WO2021030502A1 (en) * 2019-08-12 2021-02-18 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for adaptive motion vector resolution in video coding
KR102808776B1 (ko) * 2019-08-13 2025-05-15 두인 비전 컴퍼니 리미티드 서브 블록 기반 인터 예측의 모션 정밀도
CN110662060B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN110572674B (zh) * 2019-09-27 2024-03-15 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
CN110636295B (zh) * 2019-09-27 2023-10-24 腾讯科技(深圳)有限公司 视频编解码方法和装置、存储介质及电子装置
CN110572676B (zh) * 2019-09-27 2023-12-12 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
EP4054192A4 (en) 2019-10-31 2023-12-20 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND APPARATUS, AND VIDEO CODING METHOD AND APPARATUS FOR PERFORMING INTER PREDICTION ACCORDING TO AN AFFINE MODEL
CN111050182B (zh) * 2019-12-27 2022-02-18 浙江大华技术股份有限公司 运动矢量的预测方法、视频编码方法及相关设备、装置
KR102297479B1 (ko) 2020-04-10 2021-09-03 삼성전자주식회사 움직임 벡터의 부호화 장치 및 방법, 및 움직임 벡터의 복호화 장치 및 방법
JP2025501805A (ja) * 2022-01-18 2025-01-24 テンセント・アメリカ・エルエルシー ビデオ復号化方法及び装置、並びにビデオ符号化方法
US12432372B2 (en) 2022-03-16 2025-09-30 Tencent America LLC Systems and methods for template matching for adaptive MVD resolution
US12470705B2 (en) * 2023-01-12 2025-11-11 Qualcomm Incorporated Fractional-pel block vector for video coding
EP4649672A1 (en) * 2023-01-12 2025-11-19 Qualcomm Incorporated Fractional-pel block vector for video coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009538084A (ja) * 2006-11-17 2009-10-29 エルジー エレクトロニクス インコーポレイティド ビデオ信号のデコーディング/エンコーディング方法及び装置
US9485515B2 (en) * 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CA2961681C (en) * 2014-09-30 2022-08-09 Hfi Innovation Inc. Method of adaptive motion vetor resolution for video coding

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109427033A (zh) * 2017-08-22 2019-03-05 英特尔公司 用于在机器学习环境下实现智能数据压缩的高效存储器布局
US12464160B2 (en) 2017-10-05 2025-11-04 Interdigital Vc Holdings, Inc. Methods and apparatuses for video encoding and video decoding
CN110944191A (zh) * 2018-09-23 2020-03-31 北京字节跳动网络技术有限公司 具有自适应运动矢量分辨率的运动矢量精度指示的信令通知
US12108046B2 (en) 2019-05-17 2024-10-01 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
US12519948B2 (en) 2019-05-17 2026-01-06 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
CN114651444A (zh) * 2019-11-11 2022-06-21 寰发股份有限公司 视频编解码中发信可适性运动向量差值解析度的方法和装置
US12501045B2 (en) 2019-11-11 2025-12-16 Hfi Innovation Inc. Method and apparatus of signaling adaptive motion vector difference resolution in video coding

Also Published As

Publication number Publication date
US20160337662A1 (en) 2016-11-17
WO2016183224A1 (en) 2016-11-17

Similar Documents

Publication Publication Date Title
TW201701671A (zh) 運動向量之儲存及發信解析度
TWI800555B (zh) 視訊寫碼中之仿射運動向量預測
TWI843809B (zh) 用於視訊寫碼中具有運動向量差之合併模式之信令傳輸
TWI853918B (zh) 用於視訊寫碼之區塊內複製合併資料語法
TWI859189B (zh) 用於視訊寫碼中之區塊內複製模式之運動向量預測器清單產生
JP7077310B2 (ja) ビデオコーディングのための適応的な動きベクトル精度
TWI504237B (zh) 視訊寫碼中之緩衝預測資料
JP6594954B2 (ja) 統合されたイントラブロックコピーおよびインター予測
US9736489B2 (en) Motion vector determination for video coding
JP6378433B2 (ja) イントラbcとインター予測の統合のためのamvpおよびマージ候補リスト導出
TW202027508A (zh) 對以歷史為基礎之運動向量預測器之改良
JP2022521979A (ja) デコーダ側動きベクトル改良に対する制約
TWI558179B (zh) 對視訊寫碼發信長期參考圖像
TW201707448A (zh) 用於視訊資料中特定圖像幀間寫碼之搜索區域判定
TWI878242B (zh) 向量預測器清單之產生
TWI856085B (zh) 用於視訊寫碼之以梯度為基礎的預測細化
CN112806012A (zh) 用于帧间预测译码的基于历史的运动向量预测
TWI904088B (zh) 用於視訊寫碼之以梯度為基礎之預測精細化
TWI826487B (zh) 用於視訊寫碼中之適應性運動向量差解析度及增加的運動向量儲存精確度的運動向量捨位
TW201933873A (zh) 多模型局部照明補償
TW201924345A (zh) 寫碼用於視頻寫碼之仿射預測移動資訊
TW202025767A (zh) 具有適應性方向性資訊集合之最終動作向量表示
TW201729595A (zh) 針對視訊寫碼使用與位置相關之預測組合之改良視訊幀內預測
TWI902677B (zh) 用於視訊寫碼之共享候選清單及平行候選清單推導方法及器件
TW201711461A (zh) 片級內部區塊複製及其他視訊寫碼改善