TW202042552A - 用於照明補償之區塊大小限制 - Google Patents

用於照明補償之區塊大小限制 Download PDF

Info

Publication number
TW202042552A
TW202042552A TW108147456A TW108147456A TW202042552A TW 202042552 A TW202042552 A TW 202042552A TW 108147456 A TW108147456 A TW 108147456A TW 108147456 A TW108147456 A TW 108147456A TW 202042552 A TW202042552 A TW 202042552A
Authority
TW
Taiwan
Prior art keywords
block
size
video
block size
compensation
Prior art date
Application number
TW108147456A
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 TW202042552A publication Critical patent/TW202042552A/zh

Links

Images

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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • 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
    • 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/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Abstract

本發明描述用於限制用於照明補償之區塊大小的系統、方法及電腦可讀儲存媒體。一種實例方法可包括:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;及基於該區塊之該大小等於或小於該第一區塊大小或大於該第二區塊大小的一判定而停用用於該區塊之照明補償。

Description

用於照明補償之區塊大小限制
本申請案係關於視訊寫碼及壓縮。更特定言之,本申請案係關於執行經改良局域照明補償之系統及方法。
許多裝置及系統允許處理並輸出視訊資料以供消耗。數位視訊資料包括大量資料以滿足消費者及視訊提供者之需求。舉例而言,視訊資料之消費者需要具有最優品質(具有高保真度、解析度、圖框速率及其類似者)之視訊。結果,滿足此等需求所需之大量視訊資料對處理及儲存視訊資料之通信網路及裝置造成負擔。
各種視訊寫碼技術可用以壓縮視訊資料。視訊寫碼係根據一或多個視訊寫碼標準執行。舉例而言,視訊寫碼標準包括高效率視訊寫碼(HEVC)、進階視訊寫碼(AVC)、MPEG-2第2部分寫碼(MPEG代表活動圖像專家組)、VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)、基本視訊寫碼(EVC)或其類似者。視訊寫碼通常使用利用存在於視訊影像或序列中之冗餘的預測方法(例如,框間預測、框內預測或其類似者)。視訊寫碼技術之目標為將視訊資料壓縮成使用較低位元速率之形式,同時避免視訊品質之降級或使視訊品質之降級最小化。隨著不斷演進的視訊服務變得可用,需要具有較佳寫碼效率之編碼技術。
照明補償可用以補償一或多個圖像之間的照明變化。然而,照明補償可在處理視訊資料區塊時引入額外處理成本(例如,記憶體成本、計算成本、效能成本等)及複雜度。因此,在一些實例中,為避免某些不相容性或不一致並減少處理頻寬、電力、成本及複雜度,本文中之技術可在處理某些大小之區塊時選擇性停用(例如,限制、禁止、抑制、避免、不應用等)照明補償。在一些情況下,視訊寫碼技術可提供對於某些大小之區塊的某些預測模式之限制,以便減少用於此類區塊之處理複雜度。本文所揭示之技術可類似地藉由亦停用用於彼等區塊之照明補償來減少此類區塊之處理複雜度(或避免引入額外處理複雜度)。
舉例而言,一些視訊寫碼技術可限制對於某些大小之區塊的雙向框間預測以便減少最壞情況記憶體頻寬及複雜度。舉例而言,在藉由聯合探索視訊小組(JVET)制定的多功能視訊寫碼(VVC)標準中,4×4區塊提供最壞情況複雜度。因此,在VVC中,對於4×4之雙向框間預測經限制以減少最壞情況記憶體頻寬及複雜度。其他實例寫碼技術可類似地限制對於某些區塊大小之雙向框間預測以便減少複雜度。
為類似地減少某些區塊大小(諸如其中如上文所提及限制雙向框間預測的區塊大小)之處理複雜度,本文中所描述的技術可針對此類大小之區塊停用照明補償。舉例而言,系統及/或處理程序可防止照明補償應用於雙向框間預測受到限制的某些大小之區塊。系統及/或處理程序可判定雙向框間預測並不將應用於特定大小之區塊。系統及/或處理程序可接著判定並不針對彼區塊應用照明補償。舉例而言,系統及/或處理程序可針對彼區塊停用照明補償或決定針對彼區塊不啟用照明補償。藉由針對雙向框間預測受到限制之彼等區塊停用或不應用照明補償以減少複雜度,系統及/或處理程序可減少用於彼等區塊之處理成本及複雜度及/或避免引入照明補償之額外複雜度。
為進一步說明使用上述VVC實例(其中雙向框間預測經限制用於4×4區塊),系統及/或處理程序可限制或避免使用照明補償用於4×4區塊,以便減少此類區塊之處理複雜度或避免引入照明補償之額外複雜度。系統及/或處理程序可因此在不運用照明補償之情況下處理4×4區塊。在一些情況下,當系統及/或處理程序判定不將照明補償應用於一區塊時,系統及/或處理程序可判定不發信用於彼區塊之照明補償旗標(或照明補償(IC)旗標)。在其他情況下,回應於判定不將照明補償應用於區塊,系統及/或處理程序可判定發信具有一值的用於彼區塊之照明補償旗標,該值指示不針對彼區塊執行照明補償。
本文中所描述的技術亦可限制使用照明補償用於超過視訊寫碼管線結構中之區塊大小的區塊大小。舉例而言,若使用64×64管線結構實施編解碼器,則問題可出現在照明補償應用於諸如128×N區塊之較大區塊時,該等區塊不適合於64×64管線結構。為進一步說明,使用128×N區塊作為實例,將需要當前區塊的參考及相鄰樣本之128個參考樣本來導出照明補償參數。然而,由於128個樣本不適合64×64管線結構,因此系統及/或處理程序可停用或決定不啟用/應用照明補償用於大於64×64之區塊,以便避免由使用照明補償用於此類區塊所引起的問題。
雖然64×64管線結構及128×N區塊大小上文用作實例,但本文中之技術可類似地應用於任何區塊大小及/或管線結構。舉例而言,在涉及不同於上述實例中之64×64管線結構的管線結構情況下,系統及/或處理程序可停用或決定不啟用/應用照明補償用於大於彼特定管線結構中之區塊的區塊。在一些情況下,系統及/或處理程序可不發信用於已停用或以其他方式不啟用/應用照明補償的區塊的照明補償模式旗標。在一些實例中,回應於判定不將照明補償應用於此類區塊,系統及/或處理程序可判定發信用於區塊之具有一值的照明補償旗標,該值指示不針對彼等區塊執行照明補償。
本文中描述用於在各種預測模式情況下選擇性應用局域照明補償(LIC)的系統、方法及電腦可讀媒體。根據至少一個實例,提供一種寫碼視訊資料之方法。該方法可包括獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
根據至少一個實例,提供一種用於寫碼視訊資料之設備。該設備可包括至少一個記憶體;及一或多個處理器,其實施於電路中且經組態以:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
根據至少一個實例,提供一種用於寫碼視訊資料之非暫時性電腦可讀媒體。該非暫時性電腦可讀媒體可包括儲存於其上之指令,該等指令在由一或多個處理器執行時促使該一或多個處理器進行以下操作:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
根據至少一個實例,提供一種包含用於寫碼視訊資料之構件的設備。該設備可包括用於進行以下操作的構件:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括基於用於該區塊之照明補償之停用將與區塊相關聯之一照明補償旗標之一值設定為假,其中經設定為假的該照明補償旗標之該值指示針對該區塊停用照明補償。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括判定視訊資料之圖像之一不同區塊之一大小是否大於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否小於與該視訊寫碼管線結構相關聯之該第二區塊大小;判定該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小且小於與該視訊寫碼管線結構相關聯之該第二區塊大小;及基於該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小並小於與該視訊寫碼管線結構相關聯之該第二區塊大小啟用用於該不同區塊之照明補償。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括基於用於該不同區塊之照明補償之啟用將與不同區塊相關聯之一照明補償旗標之一值設定為真,其中經設定為真的該照明補償旗標之該值指示針對該不同區塊啟用照明補償。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括基於區塊之一或多個相鄰區塊及經選擇用於區塊之框間預測的參考區塊之一或多個額外相鄰區塊導出用於不同區塊之一或多個照明補償參數;基於該一或多個照明補償參數將照明補償應用於不同區塊;及基於應用於該區塊之照明補償而重建構區塊之樣本。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括基於區塊之大小小於與區塊大小限制相關聯之第一區塊大小而判定不將雙向框間預測應用於區塊。
在上文所描述的方法、設備及電腦可讀媒體之一些態樣中,停用用於區塊之照明補償可係基於不將雙向框間預測應用於區塊的判定而進行。
在上文所描述的方法、設備及電腦可讀媒體之一些態樣中,寫碼視訊資料可包括解碼視訊資料。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括基於預測模式並在不運用照明補償之情況下解碼區塊。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括判定區塊之殘餘值;執行用於區塊之預測模式;及基於區塊之殘餘值及針對區塊執行之預測模式而重建構區塊之至少一個樣本。
在上文所描述的方法、設備及電腦可讀媒體之一些態樣中,寫碼視訊資料可包括編碼視訊資料。在上文所描述的方法、設備及電腦可讀媒體之一些態樣中可包括產生一經編碼視訊位元串流,該經編碼視訊位元串流包括視訊資料之圖像之區塊。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括在經編碼視訊位元串流中發信一或多個照明補償旗標,該一或多個照明補償旗標包含針對區塊停用照明補償的一指示。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括發信經編碼視訊位元串流。
在上文所描述的方法、設備及電腦可讀媒體之一些態樣中,判定區塊之大小為等於或小於與區塊大小限制相關聯之第一區塊大小或大於與視訊寫碼管線結構相關聯之第二區塊大小中的一者可包括判定照明補償受到限制。在上文所描述的方法、設備及電腦可讀媒體之一些態樣中,基於照明補償受到限制的判定而不在經編碼視訊位元串流中發信與區塊相關聯的照明補償旗標。
在一些態樣中,上文所描述的方法、設備及電腦可讀媒體可包括判定視訊資料之圖像的不同區塊之大小是否等於或小於與區塊大小限制相關聯之第一區塊大小或不同區塊之大小是否大於與視訊寫碼管線結構相關聯之第二區塊大小;判定不同區塊之大小為等於或小於與區塊大小限制相關聯之第一區塊大小及大於與視訊寫碼管線結構相關聯之第二區塊大小中的一者;及基於判定不同區塊之大小為等於或小於與區塊大小限制相關聯之第一區塊大小及大於與視訊寫碼管線結構相關聯之第二區塊大小中的一者,停用用於不同區塊之照明補償。
在一些態樣中,上文所描述的設備可包括具有用於捕捉一或多個圖像之攝影機的行動裝置。
在一些態樣中,上文所描述的設備可包括用於顯示一或多個圖像之顯示器。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一申請專利範圍來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
下文提供本發明之某些態樣及實施例。此等態樣及實施例之一些可獨立地應用,且其中之一些可組合地應用,如熟習此項技術者將顯而易見。在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本申請案之實施例之透徹理解。然而,將顯而易見的是,可在無此等特定細節之情況下實踐各種實施例。諸圖及描述不意欲為限制性的。
隨後描述僅提供例示性實施例且並不意欲限制本發明的範疇、可應用性或組態。實際上,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例之描述。應理解,可在不背離如所附申請專利範圍中所闡述之本申請案之精神及範疇的情況下對元件之功能及配置做出各種變化。
視訊寫碼裝置實施視訊壓縮技術以高效地編碼及解碼視訊資料。視訊壓縮技術可包括應用不同預測模式(包括空間預測(例如圖框內預測或框內預測)、時間預測(例如圖框間預測或框間預測)、層間預測(橫越視訊資料之不同層)及/或其他預測技術)以減少或移除為視訊序列所固有的冗餘。視訊編碼器可將原始視訊序列之每一圖像分割成被稱作視訊區塊或寫碼單元(下文更詳細地描述)之矩形區。可使用特定預測模式來編碼此等視訊區塊。
視訊區塊可以一或多種方式分成較小區塊之一或多個群組。區塊可包括寫碼樹型區塊、預測區塊、變換區塊或其他合適區塊。除非另外指定,否則通常對「區塊」之參考可指此等視訊區塊(例如,寫碼樹型區塊、寫碼區塊、預測區塊、變換區塊或其他適當區塊或子區塊,如將藉由一般熟習此項技術者理解)。另外,此等區塊中之每一者在本文中亦可互換地稱為「單元」(例如寫碼樹型單元(CTU)、寫碼單元、預測單元(PU)、變換單元(TU)或其類似者)。在一些情況下,單元可指示經編碼於位元串流中的寫碼邏輯單元,而區塊可指示一處理程序目標所指向的視訊圖框緩衝器之一部分。
對於框間預測模式,視訊編碼器可搜尋類似於經編碼於定位於另一時間位置中的圖框(或圖像)(被稱作參考圖框或參考圖像)中之區塊的區塊。視訊編碼器可將搜尋限制於自待編碼之區塊的某一空間位移。可使用包括水平位移分量及垂直位移分量之二維(2D)運動向量來定位最好匹配。對於框內預測模式,視訊編碼器可基於來自同一圖像內之先前經編碼相鄰區塊的資料使用空間預測技術而形成預測區塊。
視訊編碼器可判定預測誤差。舉例而言,可判定預測為經編碼區塊與預測區塊中之像素值之間的差。預測誤差亦可被稱作殘餘。視訊編碼器亦可將變換應用於預測誤差(例如,離散餘弦變換(DCT)或其他合適之變換)從而產生變換係數。在變換之後,視訊編碼器可量化變換係數。可使用語法元素來表示經量化變換係數及運動向量,且其連同控制資訊一起形成視訊序列之經寫碼表示。在一些情況下,視訊編碼器可熵寫碼語法元素,藉此進一步減少其表示所需之位元數目。
視訊解碼器可使用上文所論述之語法元素及控制資訊建構用於解碼當前圖框之預測性資料(例如,預測性區塊)。舉例而言,視訊解碼器可將預測區塊與經壓縮預測誤差相加。視訊解碼器可藉由使用經量化係數而加權變換基底函數來判定經壓縮預測誤差。經重建構圖框及原始圖框之間的差被稱作重建構誤差。
在一些實例中,處理視訊資料之一或多個系統及方法涉及在基於區塊之視訊寫碼中導出或估計照明補償(IC)參數。在一些情況下,視訊編碼器及/或視訊解碼器可執行局域照明補償(LIC)(或照明補償),以高效寫碼一或多個圖像之間的照明(例如,亮度)之變化。視訊編碼器及/或視訊解碼器可判定用於正編碼或解碼之寫碼區塊或寫碼單元的一或多個IC參數(例如,偏移、一或多個按比例調整因數、偏移數或其他合適IC參數)。IC參數可基於多個參考區塊之樣本、當前區塊之一或多個相鄰區塊之樣本及/或其他資訊而判定。視訊解碼器可使用IC參數及/或其他資料來建構用於解碼當前區塊之預測性資料。
圖1為說明包括編碼裝置104及解碼裝置112之系統100之實例的方塊圖。編碼裝置104可為源裝置之部分,且解碼裝置112可為接收裝置之部分。源裝置及/或接收裝置可包括電子裝置,諸如行動或靜止電話手持機(例如,智慧型電話、蜂巢式電話或其類似者)、桌上型電腦、膝上型或筆記型電腦、平板電腦、機頂盒、電視、攝影機、顯示裝置、數位媒體播放器、視訊遊戲控制台、視訊串流裝置、網際網路協定(IP)攝影機或任何其他合適的電子裝置。在一些實例中,源裝置及接收裝置可包括用於無線通信之一或多個無線收發器。本文中所描述之寫碼技術可適用於各種多媒體應用中之視訊寫碼,包括串流視訊傳輸(例如,經由網際網路)、電視廣播或傳輸、編碼數位視訊以供儲存於資料儲存媒體上、解碼儲存於資料儲存媒體上之數位視訊或其他應用。如本文所使用,術語「寫碼」可指代編碼及/或解碼。在一些實例中,系統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)(或JEM (聯合探索模型))。VVC之目標係提供對於現有HEVC標準的壓縮效能之顯著改良,輔助較高品質視訊服務及新興應用(例如360°全向沉浸式多媒體、高動態範圍(HDR)視訊,以及其他)的部署。VP9、開放媒體聯盟(AOMedia)視訊1 (AV1)及基本視訊寫碼(EVC)為本文中所描述之技術可應用於的其他視訊寫碼標準。
本文中所描述的技術可應用於現有視訊編解碼器中之任一者(例如高效率視訊寫碼(HEVC)、進階視訊寫碼(AVC)或其他合適現有視訊編解碼器),及/或可為用於正被開發之任何視訊寫碼標準及/或將來視訊寫碼標準(諸如VVC及/或在開發中或將開發之其他視訊寫碼標準)的高效寫碼工具。舉例而言,可使用視訊編解碼器(諸如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單元包括關於一或多個經寫碼圖像之控制資訊。在一些情況下,NAL單元可被稱作封包。HEVC AU包括含有經寫碼圖像資料之VCL NAL單元及對應於經寫碼圖像資料之非VCL NAL單元(若存在)。
NAL單元可含有形成視訊資料之經寫碼表示(諸如視訊中之圖像的經寫碼表示)的位元序列(例如,經編碼視訊位元串流、位元串流之CVS或其類似者)。編碼器引擎106藉由將每一圖像分割成多個截塊而產生圖像之經寫碼表示。一截塊獨立於其他截塊,以使得在不依賴於來自同一圖像內之其他截塊之資料的情況下寫碼該截塊中之資訊。一截塊包括一或多個截塊片段,該一或多個截塊片段包括獨立截塊片段及(若存在)取決於先前截塊片段之一或多個相關截塊片段。
在HEVC中,截塊接著分割成明度樣本及色度樣本之寫碼樹型區塊(CTB)。明度樣本之CTB及色度樣本之一或多個CTB連同樣本之語法被稱為寫碼樹型單元(CTU)。CTU亦可被稱作「樹型區塊」或「最大寫碼單元(LCU)」(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。在一些實例中,可使用被稱為殘餘四分樹(RQT)之四分樹結構將對應於CU之殘餘樣本再分成較小單元。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可藉由自當前區塊減去由預測單元產生之預測區塊來產生殘餘區塊。殘餘區塊包括量化當前區塊之像素值與預測區塊之像素值之間的差的一組像素差值。在一些實例中,殘餘區塊可以二維區塊格式(例如,像素值之二維矩陣或陣列)表示。在此等實例中,殘餘區塊為像素值之二維表示。
使用區塊變換來變換可在執行預測之後剩餘的任何殘餘資料,此變換可基於離散餘弦變換、離散正弦變換、整數變換、小波變換、其他合適的變換函數或其任何組合。在一些情況下,一或多個區塊變換(例如,大小32×32、16×16、8×8、4×4或其他合適大小)可應用於每一CU中之殘餘資料。在一些實施例中,TU可用於藉由編碼器引擎106實施的變換及量化處理程序。給定之具有一或多個PU的CU亦可包括一或多個TU。如下文進一步詳細描述,可使用區塊變換將殘餘值變換成變換係數,且接著可使用TU來量化且掃描殘餘值以產生用於熵寫碼之串列化變換係數。
在一些實施例中,在使用CU之PU進行框內預測性或框間預測性寫碼之後,編碼器引擎106可計算CU之TU的殘餘資料。PU可包含空間域(或像素域)中之像素資料。在應用區塊變換之後,TU可包含變換域中之係數。如先前所提及,殘餘資料可對應於未經編碼圖像之像素與對應於PU之預測值之間的像素差值。編碼器引擎106可形成包括CU之殘餘資料的TU,且接著可變換TU以產生CU之變換係數。
編碼器引擎106可執行變換係數之量化。量化藉由量化變換係數以減少用以表示係數之資料的量而提供進一步壓縮。舉例而言,量化可減少與係數中之一些或全部相關聯的位元深度。在一個實例中,具有n位元值之係數可在量化期間經降值捨位為m位元值,其中n大於m。
在量化被執行後,經寫碼視訊位元串流包括經量化變換係數、預測資訊(例如,預測模式、運動向量、區塊向量或其類似者)、分割資訊及任何其他合適之資料,諸如其他語法資料。接著可藉由編碼器引擎106對經寫碼視訊位元串流之不同元素進行熵編碼。在一些實例中,編碼器引擎106可使用預定義掃描次序掃描經量化變換係數以產生可經熵編碼的串列化向量。在一些實例中,編碼器引擎106可執行自適應掃描。在掃描經量化變換係數以形成一向量(例如一維向量)之後,編碼器引擎106可熵編碼該向量。舉例而言,編碼器引擎106可使用上下文自適應可變長度寫碼、上下文自適應二進位算術寫碼、基於語法之上下文自適應二進位算術寫碼、機率區間分割熵寫碼或另一合適的熵編碼技術。
如先前所描述,HEVC位元串流包括NAL單元之群組,包括VCL NAL單元及非VCL NAL單元。VCL NAL單元包括形成經寫碼視訊位元串流之經寫碼圖像資料。舉例而言,形成經寫碼視訊位元串流之位元序列存在於VCL NAL單元中。除了其他資訊以外,非VCL NAL單元亦可含有具有與經編碼視訊位元串流相關之高層級資訊的參數集。舉例而言,參數集可包括視訊參數集(VPS)、序列參數集(SPS)及圖像參數集(PPS)。參數集之目標之實例包括位元速率效率、錯誤復原及提供系統層介面。每一截塊參考單一作用中PPS、SPS及VPS以存取解碼裝置112可用於解碼截塊之資訊。可針對每一參數集寫碼識別符(ID),包括VPS ID、SPS ID及PPS ID。SPS包括SPS ID及VPS ID。PPS包括PPS ID及SPS ID。每一截塊標頭包括PPS ID。使用ID,可識別針對給定截塊之作用中參數集。
PPS包括適用於給定圖像中之所有截塊的資訊。因此,圖像中之所有截塊參考同一PPS。不同圖像中之截塊亦可參考同一PPS。SPS包括適用於同一經寫碼視訊序列(CVS)或位元串流中之所有圖像的資訊。如先前所描述,經寫碼視訊序列為一系列存取單元(AU),其始於在基礎層中且具有某些性質(如上文所描述)之隨機存取點圖像(例如,瞬時解碼參考(IDR)圖像或斷鏈存取(BLA)圖像或其他適當的隨機存取點圖像),直至且不包括具有在基礎層中且具有某些性質之隨機存取點圖像的下一AU (或位元串流之末端)。SPS中之資訊可能不在經寫碼視訊序列內在圖像間變化。經寫碼視訊序列中之圖像可使用同一SPS。VPS包括適用於經寫碼視訊序列或位元串流內之所有層的資訊。VPS包括具有適用於全部經寫碼視訊序列之語法元素的語法結構。在一些實施例中,可與經編碼位元串流一起頻帶內傳輸VPS、SPS或PPS。在一些實施例中,可在與含有經寫碼視訊資料之NAL單元分開的傳輸中帶外傳輸VPS、SPS或PPS。
視訊位元串流亦可包括補充增強資訊(SEI)訊息。舉例而言,SEI NAL單元可為視訊位元串流之部分。在一些情況下,SEI訊息可含有解碼處理程序未必需要的資訊。舉例而言,SEI訊息中之資訊對於解碼器解碼位元串流之視訊圖像可能並不重要,但解碼器可使用資訊以改良圖像之顯示或處理(例如,經解碼輸出)。SEI訊息中之資訊可為嵌入型後設資料。在一個說明性實例中,SEI訊息中之資訊可由解碼器側實體使用以改良內容之可見性。在一些情況下,某些應用標準可強制此類SEI訊息在位元串流中之存在以使得符合應用標準之所有裝置可達成品質之改良(例如,用於圖框可相容平面立體3DTV視訊格式之圖框封裝SEI訊息的攜載,其中針對視訊之每一圖框攜載SEI訊息;恢復點SEI訊息之處置;拉移式掃描矩形SEI訊息在DVB中之使用;外加許多其他實例)。
編碼裝置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可整合為各別裝置中之組合式編碼器/解碼器(編解碼器)之部分。下文參看圖11描述編碼裝置104之特定細節的實例。下文參看圖12描述解碼裝置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擴展來寫碼一或多個增強層。
一般而言,層包括一組VCL NAL單元及對應的一組非VCL NAL單元。NAL單元被指派特定層ID值。在層可取決於較低層的意義上,層可為階層式的。層集合指表示於位元串流內之獨立的層之集合,意謂在解碼處理程序中層集合內之層可取決於層集合中之其他層,但並不取決於任何其他層來進行解碼。因此,層集合中之層可形成可表示視訊內容之獨立位元串流。可藉由子位元串流提取處理程序之操作自另一位元串流獲得層集合中之層的集合。層集合可對應於待在解碼器希望根據某些參數操作時被解碼之層集合。
如上文所描述,對於每一區塊,運動資訊之集合(在本文中亦被稱作運動參數)可係可用的。運動資訊之集合含有用於前向及後向預測方向之運動資訊。此處,前向及後向預測方向為雙向預測模式之兩個預測方向,在此情況下術語「前向」及「後向」未必具有幾何涵義。實際上,「前向」及「後向」對應於當前圖像之參考圖像清單0 (RefPicList0或L0)及參考圖像清單1 (RefPicList1或L1)。在一些實例中,當僅僅一個參考圖像清單可用於圖像或截塊時,僅僅RefPicList0係可用的且截塊之每一區塊的運動資訊始終係前向。
在一些情況下,運動向量連同其參考索引被用於寫碼處理程序中(例如,運動補償)。具有相關聯參考索引之此類運動向量表示為單向預測性運動資訊集合。對於每一預測方向,運動資訊可含有參考索引及運動向量。在一些情況下,為簡單起見,可以假設運動向量自身具有相關聯參考索引的方式參考該運動向量。參考索引用於識別當前參考圖像清單(RefPicList0或RefPicList1)中之參考圖像。運動向量具有提供自當前圖像中之座標位置至藉由參考索引識別的參考圖像中之座標的偏移的水平及垂直分量。舉例而言,參考索引可指示應用於當前圖像中之區塊的特定參考圖像,且運動向量可指示最佳匹配區塊(最佳匹配當前區塊的區塊)在參考圖像中之何處。
圖像次序計數(POC)可用於視訊寫碼標準以識別圖像之顯示次序。儘管存在一個經寫碼視訊序列內之兩個圖像可具有相同POC值的情況,但經寫碼視訊序列內通常不發生此類情況。當位元串流中存在多個經寫碼視訊序列時,就解碼次序而言,具有同一POC值之圖像可更接近於彼此。圖像之POC值可用於參考圖像清單建構、如HEVC中之參考圖像集合之導出及運動向量按比例調整。
在H.264/AVC中,每一框間巨集區塊(MB)可以四種不同方式分割,包括:一個16×16 MB分割區;兩個16×8 MB分割區;兩個8×16 MB分割區;及四個8×8 MB分割區。一個MB中之不同MB分割區每一方向可具有不同參考索引值(RefPicList0或RefPicList1)。在一些情況下,當MB未分割成四個8×8 MB分割區時,每一MB分割區在每一方向上可具有僅僅一個運動向量。在一些情況下,當MB分割成四個8×8 MB分割區時,每一8×8 MB分割區可經進一步分割成子區塊,在此情況下每一子區塊可在每一方向上具有不同運動向量。在一些實例中,存在四種自8×8 MB分割區得到子區塊的不同方法,包括:一個8×8子區塊;兩個8×4子區塊;兩個4×8子區塊;及四個4×4子區塊。每一子區塊在每一方向上可具有不同運動向量。因此,運動向量以等於高於子區塊之層級呈現。
在AVC中,可在B截塊中針對跳過及/或直接模式而在MB層級或MB分割區層級啟用時間直接模式。對於每一MB分割區,與當前區塊之RefPicList1[0]中之當前MB分割區共置的區塊之運動向量用以導出運動向量。共置型區塊中之每一運動向量係基於POC距離而按比例調整。
空間直接模式亦可在AVC中執行。舉例而言,在AVC中,直接模式亦可自空間相鄰者預測運動資訊。
如上文所提及,在HEVC中,截塊中之最大寫碼單元稱為寫碼樹型區塊(CTB)。CTB含有四分樹,該四分樹之節點為寫碼單元。CTB之大小在HEVC主規範中可介於16×16至64×64之範圍內。在一些情況下,可支援8×8 CTB大小。寫碼單元(CU)可與CTB具有相同大小,且最小可達8×8。在一些情況下,每一寫碼單元係運用一個模式寫碼。當CU經框間寫碼時,CU可進一步分割成2個或4個預測單元(PU),或當不應用進一步分割時可變為僅一個PU。當兩個PU存在於一個CU中時,其可為一半大小的矩形或具有CU之¼或¾大小的兩個矩形大小。
當CU經框間寫碼時,針對每一PU存在一個運動資訊集合。另外,每一PU經唯一框間預測模式寫碼以導出運動資訊集合。
對於HEVC中之運動預測,存在用於預測單元(PU)之兩個框間預測模式,包括合併模式及進階運動向量預測(AMVP)模式。跳過被視為合併之特殊情況。在AMVP或合併模式中,為多個運動向量預測子維持運動向量(MV)候選者清單。當前PU之運動向量(以及合併模式中之參考索引)係藉由自MV候選者清單獲取一個候選者而產生。在一些實例中,如下文所描述,一或多個儲存之局域照明補償(LIC)旗標可連同所儲存運動向量一起包括於MV候選者清單中。
在其中MV候選者清單用於區塊之運動預測(且適用時,照明補償)的實例中,MV候選者清單可藉由編碼裝置及解碼裝置單獨地建構。舉例而言,MV候選者清單可藉由編碼裝置在編碼區塊時產生,且可藉由解碼裝置在解碼區塊時產生。與MV候選者清單中之運動資訊候選者相關的資訊(例如與一或多個運動向量相關的資訊、在一些情況下與可儲存於MV候選者清單中之一或多個LIC旗標相關的資訊,及/或其他資訊)可在編碼裝置與解碼裝置之間發信。舉例而言,在合併模式中,至所儲存運動資訊候選者之索引值可自編碼裝置發信至解碼裝置(例如,在語法結構中,諸如圖像參數集(PPS)、序列參數集(SPS)、視訊參數集(VPS)、截塊標頭、在視訊位元串流中或單獨地自視訊位元串流發送的補充增強資訊(SEI)訊息,及/或其他發信)。解碼裝置可建構MV候選者清單並使用所發信參考或索引以自所建構MV候選者清單中獲得一或多個運動資訊候選者以用於運動補償預測。舉例而言,解碼裝置112可建構MV候選者清單並使用自一索引位置之運動向量(且在一些情況下,LIC旗標)以用於區塊之運動預測。在AMVP模式的情況下,除參考或索引之外,差或殘餘值亦可經發信為增量。舉例而言,對於AMVP模式,解碼裝置可建構一或多個MV候選者清單並在執行區塊之運動補償預測時將增量值應用於使用所發信索引值獲得的一或多個運動資訊候選者。
在一些實例中,MV候選者清單含有針對合併模式的至多五個候選者及針對AMVP模式的兩個候選者。在其他實例中,不同數目個候選者可包括於針對合併模式及/或AMVP模式的MV候選者清單中。合併候選者可含有運動資訊之集合。舉例而言,運動資訊之集合可包括對應於參考圖像清單(清單0及清單1兩者)的運動向量及參考索引。若由合併索引來識別合併候選者,則參考圖像用於當前區塊之預測,以及判定相關聯之運動向量。然而,在AMVP模式下,對於自清單0或清單1之每一潛在預測方向,需要明確地將參考索引連同至MV候選者清單之MVP索引一起用信號發送,此係因為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候選者。MV候選者可按藉由數字0至4所展示之次序在合併候選者清單中定序。舉例而言,位置及次序可包括:左位置(0)、上位置(1)、右上位置(2)、左下位置(3)及左上位置(4)。
在圖2B中所示之AVMP模式中,相鄰區塊被劃分成兩個群組:包括區塊0及1之左群組及包括區塊2、3及4之上群組。對於每一群組,參考與由發信之參考索引指示之相同參考圖像的相鄰區塊中之潛在候選者具有待選擇之最高優先權以形成群組之最終候選者。有可能所有相鄰區塊均不含指向相同參考圖像之運動向量。因此,若無法發現此類候選者,則將按比例調整第一可用候選者以形成最終候選者,因此可補償時間距離差。
圖3A及圖3B包括說明HEVC中之時間運動向量預測的概念圖。時間運動向量預測子(TMVP)候選者在經啟用且可用時在空間運動向量候選者之後被添加至MV候選者清單中。對於合併及AMVP模式兩者,用於TMVP候選者之運動向量導出之處理程序為相同的。在一些情況下,但是,對於合併模式中之TMVP候選者,目標參考索引可設定成零或可自相鄰區塊之彼索引導出。
TMVP候選者導出之原始區塊位置為如圖3A中展示為區塊「T」之共置型PU外部之右下區塊,以補償用以產生空間相鄰候選者之上方及左側區塊之偏差。然而,若彼區塊位於當前CTB (或LCU)列之外部或運動資訊不可用,則區塊被PU之中心區塊所取代。用於TMVP候選者之運動向量係自切片層級中所指示之共置型圖像之共置型PU導出。與AVC中之時間直接模式類似,TMVP候選者之運動向量可經受運動向量按比例調整,其經執行以補償距離差。
運動預測之其他態樣涵蓋於HEVC標準中。舉例而言,合併及AMVP模式之若干其他態樣經覆蓋。一個態樣包括運動向量按比例調整。關於運動向量按比例調整,可假定,在呈現時間中,運動向量之值與圖像之距離成比例。運動向量與兩個圖像相關聯:參考圖像及含有運動向量之圖像(亦即,含有圖像)。當利用一運動向量預測另一運動向量時,基於圖像次序計數(POC)值而計算含有圖像與參考圖像之距離。
對於待預測之運動向量,其相關聯之含有圖像及參考圖像可不同。因此,計算新距離(基於POC)。且,基於此等兩個POC距離按比例調整運動向量。對於空間相鄰候選者,用於兩個運動向量之含有圖像相同,而參考圖像不同。在HEVC中,運動向量按比例調整適用於空間及時間相鄰候選者之TMVP及AMVP兩者。
運動預測之另一態樣包括人工運動向量候選者產生。舉例而言,若運動向量候選者清單不完整,則人工運動向量候選者經產生於並插入於清單之末端直至獲得所有候選者。在合併模式中,存在兩個類型之人工MV候選者:僅針對B-截塊導出之組合候選者及僅針對AMVP使用之零候選者,若第一類型並未提供足夠人工候選者。對於已在候選者清單中且具有必要運動資訊之每一對候選者,藉由參考清單0中之圖像之第一候選者的運動向量與參考清單1中之圖像之第二候選者的運動向量之組合來導出雙向組合運動向量候選者。
在一些實施中,當將新候選者添加或插入至MV候選者清單中時可執行刪剪處理程序。舉例而言,在一些情況下,來自不同區塊的MV候選者可能包括相同資訊。在此等情況下,將多個MV候選者之重複運動資訊儲存於MV候選者清單中可導致MV候選者清單之冗餘及效率減低。在一些實例中,刪剪處理程序可消除或最小化MV候選者清單中之冗餘。舉例而言,刪剪處理程序可包括將待添加至MV候選者清單之潛在MV候選者與已儲存於MV候選者清單中之MV候選者進行比較。在一個說明性實例中,所儲存運動向量之水平位移(∆x )及垂直位移(∆y )(指示參考區塊相對於當前區塊之位置的位置)可與潛在候選者之運動向量的水平位移(∆x )及垂直位移(∆y )相比較。若該比較揭示潛在候選者之運動向量不匹配該一或多個所儲存運動向量中之任一者,則潛在候選者並不被視為待刪剪的候選者且可被添加至MV候選者清單。若基於此比較發現匹配,則潛在MV候選者不被添加至MV候選者清單,從而避免插入相同候選者。在一些情況下,為減少複雜度,在刪剪處理程序期間執行僅僅有限數目個比較,而非將每一潛在MV候選者與所有現有候選者作比較。
存在各種相關運動預測技術。一個預測技術為照明補償(IC)或明度補償(在一些情況下亦稱作局域照明補償(LIC))。術語照明補償(IC)及局域照明補償(LIC)在本文中可互換地使用。IC經提出以用於HEVC。舉例而言,在JCTVC-C041中,提議基於分割區之照明補償(PBIC)。不同於啟用及/或停用經加權預測(WP)且在截塊層級發信WP參數的WP (如下文所描述),PBIC啟用及/或停用IC,且在預測單元(PU)層級發信IC參數以處置局域照明變化。在JVET-B0023中,基於區塊之IC擴展至CU,且類似於HEVC中之PU,CU變為在QTBT結構中攜載運動資訊的基本單元。
類似於在下文更詳細描述之經加權預測(WP),按比例調整因數(亦表示為a)及偏移(亦表示為b)用於IC,且偏移數固定至6。IC旗標經寫碼用於每一PU以指示IC是否應用於當前PU。若IC應用於PU,則IC參數之集合(例如,a及b)被發信至解碼器,且用於運動補償。在一些實例中,為節省IC參數上所花費的位元,色度分量與明度分量共用按比例調整因數,且使用固定偏移128。
在3D-HEVC中,IC經啟用用於視圖間預測。不同於WP及明確地發信IC參數之PBIC,IC基於當前CU之相鄰樣本及參考區塊之相鄰樣本導出IC參數。在一些情況下,IC應用於僅僅2N×2N分割模式。在一些實例中,對於AMVP模式,一個IC旗標經發信用於自視圖間參考圖像預測的每一CU。在一些實例中,對於合併模式,為了節省位元,僅當PU之合併索引不等於0時發信IC旗標。在一些情況下,IC不應用於僅自時間參考圖像預測之CU。
關於IC參數之導出,用於視圖間預測中之線性IC模型展示於等式(1)中:
Figure 02_image001
,其中
Figure 02_image003
等式(1)
在等式(1)中,PUc 為當前PU,(i ,j )為PUc 中之像素的座標,(dvx ,dvy )為PUc 之視差向量,P (i ,j )為PUc 之預測,r 為自相鄰視圖之PU之參考圖像,且ab 為線性IC模型之參數。
為估計PU之參數a及b,使用如圖4A及圖4B中所展示之兩個像素集合。第一像素集合展示於圖4A中,且在當前CU (含有當前PU之CU)之左側行及上方列中包括可用的經重建構相鄰像素。第二像素集合展示於圖4B中,且包括當前CU之參考區塊的對應相鄰像素。當前CU之參考區塊藉由使用當前PU之視差向量而被發現。
讓Rec neig 及Rec refneig 分別表示當前CU之相鄰像素集合及其參考區塊,且讓2N表示Rec neig 及Rec refneig 中之像素數目。接著,a及b可計算如下:
Figure 02_image005
等式(2)
Figure 02_image007
等式(3)
在一些情況下,僅a用於線性模型中,且b始終設定為等於0。在一些情況下,僅使用b,且a始終設定為等於1。
在HEVC中,支援經加權預測(WP),在此情況下,按比例調整因數(表示為a)、偏移數(表示為s)及偏移(表示為b)用於運動補償。假設參考圖像之位置(x,y)中的像素值為p(x,y),則p'(x,y) = ((a*p(x,y) + (1 << (s-1))) >> s) + b,而非p(x,y)用作運動補償中之預測值。
當WP啟用時,對於當前截塊之每一參考圖像,發信一旗標以指示WP是否應用於參考圖像。若WP應用於一個參考圖像,則將WP參數之集合(亦即,asb )發送至解碼器,且將其用於自參考圖像之運動補償。在一些實例中,為可撓性地打開/關閉用於明度及色度分量之WP,WP旗標及WP參數經獨立地發信用於明度及色度分量。在WP中,將WP參數之一個相同集合用於一個參考圖像中之所有像素。
在JEM中亦提議局域照明補償(LIC)方法。在JEM中LIC之描述可見於JVET-G1001。關於JEM中之LIC,LIC係基於使用按比例調整因數a 及偏移b 的用於照明變化之線性模型。針對框間預測模式已應用於的每一寫碼之寫碼單元(CU)自適應地啟用或停用此LIC。當LIC應用於CU時,最小平方誤差方法用以藉由使用當前CU之相鄰樣本及其對應參考樣本而導出參數ab 。舉例而言,如圖5A及圖5B中所說明,使用CU之經子取樣(例如,2:1子取樣)相鄰樣本及參考圖像中的對應像素(藉由當前CU或子CU之運動資訊所識別)。在一些實例中,LIC參數被導出且針對每一預測方向單獨地應用。在一些實例中,可針對CU發信照明補償旗標以指示LIC是否應用。在一些實例中,諸如當CU用合併模式進行寫碼時,照明補償旗標可以類似於合併模式中之運動資訊複製的方式自相鄰區塊複製。
根據LIC,明度值(樣本之明度值,或像素)以線性形式在框間預測中進行補償,a*p+b,其中p為框間預測中之樣本,a為按比例調整因數,且b為偏移。按比例調整因數a及偏移b為使用當前區塊之相鄰樣本及參考區塊之相鄰樣本導出的參數(例如,如圖5A及圖5B中所展示),該等參數用於框間預測。舉例而言,可首先使用針對經框間寫碼區塊發信的運動資訊導出框間預測,接著可導出LIC參數a及b,且接著可執行預測改進。可藉由將當前區塊之相鄰經重建構樣本與用於框間預測之參考區塊的相鄰樣本之間的差最小化來導出LIC參數。在一些情況下,該最小化可使用線性最小平方方法及/或任何其他合適的最小化方法來執行。
圖6為說明當前區塊602之相鄰經重建構樣本及用於單向框間預測的參考區塊604之相鄰樣本的實例的圖。運動向量MV可針對當前區塊602進行寫碼,其中MV可包括至參考圖像清單之參考索引,及/或用於識別參考區塊604之其他運動資訊。舉例而言,MV可包括提供自當前圖像中之座標位置至藉由參考索引識別之參考圖像中之座標的偏移的水平及垂直分量。
圖7為說明當前區塊702之相鄰經重建構樣本及用於雙向框間預測的第一參考區塊704及第二參考區塊706之相鄰樣本的實例的圖。在此情況下,兩個運動向量MV0及MV1可針對當前區塊702進行寫碼以分別識別第一參考區塊704及第二參考區塊706。
如上文所描述,LIC參數可包括一或多個偏移(例如,偏移b)、一或多個權重或按比例調整因數(例如,按比例調整因數a)、偏移數,及/或其他合適之照明補償參數。LIC參數可經導出用於框間預測(例如,單向框間預測)。對於雙向框間預測,一或多個權重可包括用於第一參考圖像之第一權重及用於第二參考圖像之第二權重。
在一些實施中,可使用線性最小平方回歸估計雙向預測性運動補償中之LIC參數。在一個實例中,LIC參數之導出可藉由求解成本函數來執行。舉例而言,成本函數可包括使用最小平方函數。舉例而言,可使用來自當前區塊之一或多個相鄰區塊的樣本之子集導出LIC參數。可使用來自當前區塊之相鄰區塊的樣本在當前區塊702中找出可能的照度變化,因為可假定相鄰樣本(相鄰區塊中)與當前樣本(當前區塊702中)之間存在強大相關性。舉例而言,可假定共用相同運動資訊之當前區塊及相鄰區塊應含有極類似照度值。使用相鄰樣本的另一原因在於:當前區塊尚未進行預測,且自當前區塊可能不存在將使用的像素,在此情況下,可使用相鄰樣本(已經重建構)執行當前區塊之運動補償。
在一個說明性實例中,可使用頂部相鄰者、左側相鄰者任一者,或頂部相鄰者及左側相鄰者兩者。舉例而言,可使用來自當前區塊702之頂部相鄰者及左側相鄰者(Ni)的樣本子集、來自第一參考區塊704之頂部相鄰者及左側相鄰者(P0)的像素子集,及來自第二參考區塊706之頂部相鄰者及左側相鄰者(P1)之像素子集導出當前區塊702之LIC參數。相鄰區塊P0及P1之樣本可包括對應於相鄰區塊Ni 之相鄰樣本的樣本。在一些情況下,可藉由當前區塊之運動資訊識別用於相鄰區塊P0及P1中之對應樣本。在一個說明性實例中,可經由合併模式或AMVP模式任一者發信運動向量。參考圖像可使用其參考索引識別,其中參考圖像內的參考區塊704及706分別使用運動向量MV0及MV1。
在一些實例中,可執行多於一個導出方法以導出LIC參數。用於在編碼器側導出LIC參數的框間預測引擎或模組之實例可包括圖11中所展示之預測處理單元41、運動估計單元42及/或運動補償單元44。用於在解碼器側導出LIC參數的框間預測引擎或模組之實例可包括圖11中所示之預測處理單元81及/或運動補償單元82。在此等實例中,編碼器或其他傳輸器側裝置可向解碼器發信在序列層級(例如,在VPS及/或SPS中)、在圖像層級(例如,在PPS中)、在截塊層級(例如,在截塊標頭中)、在CTU層級、在CU層級、在PU層級或其一組合或其他合適發信層級下將使用哪種導出方法。
在一些實例中,可基於相鄰者之多條線及/或行(例如,頂部相鄰者、左側相鄰者、頂部及左側相鄰者兩者或其他相鄰者任一者)計算最小平方解決方案。線及/或行之實例編號(在一些情況中,典型編號)包括一、二、四或任何其他合適數目個列及/或行。上文所提及之成本函數可在使用相鄰區塊之多條線及/或行時進行修改。舉例而言,若區塊為16×16區塊(像素之16列乘像素之16行),且若使用來自頂部相鄰區塊之兩條線及來自左側相鄰區塊之兩行,則相鄰區塊Ni 將包括64個樣本(來自左側相鄰區塊之32個樣本及來自頂部相鄰區塊之32個樣本)。在此實例中,相鄰者P0及P1亦將包括64個樣本。
在一些情況下,將整數定位樣本(或像素)用於LIC參數之導出。在一些情況下,將分數定位樣本用於LIC參數之導出。在一些情況下,整數定位樣本及分數定位樣本兩者皆可使用。舉例而言,物件在圖像之間移動的真位移係連續的,且傾向於不遵循視訊序列中的圖像之取樣網格。因為此,可將分數準確度而非整數準確度用於運動向量,從而導致殘餘誤差降低且視訊寫碼器之寫碼效率增加。若運動向量具有分數值,則參考區塊因此需要經內插。舉例而言,用於當前區塊之樣本的運動向量可指向參考區塊中之分數像素位置。分數像素位置指區塊中的分數樣本位置(非整數位置)處的樣本(例如,明度樣本)。此等位置需要藉由內插產生。在一個實例中,當使用分數定位樣本時,可使用參考區塊相鄰者(例如,P0或P1)之經內插或經濾波版本在導出LIC參數時自經重建構像素減少量化誤差。可使用一或多個內插濾波器產生模板之此經內插版本。
在一些實例中,僅僅需要使用明度分量來聯合地最佳化用於Ref0及Ref1兩者之LIC參數。替代地,明度及色度分量兩者可被視為在雙向預測性LIC參數之導出期間。編碼器可向解碼器發信(在參數集中、在SEI訊息中或其他合適發信機制)是否將LIC應用於色度分量中之一或多者,或僅僅將LIC應用於明度分量。
在一些實例中,可諸如自編碼器發信(例如,在區塊層級、截塊層級或其他合適層級下)指示特定工具是否已在區塊之預測中應用(例如,LIC、合併模式以及其他)的一或多個旗標至解碼器,舉例而言,可儲存合併模式旗標以及用於當前區塊之運動資訊。可基於合併模式旗標自運動資訊推斷是否已使用合併模式寫碼當前區塊。除合併模式旗標之外,照明補償(IC)旗標亦可用以指示區塊(例如,PU、CU或其他區塊)已在照明補償得以應用的情況下進行寫碼。如上文所提及,當區塊用合併模式進行寫碼時,IC旗標可以類似於合併模式中之運動資訊複製的方式自相鄰區塊複製。否則,若CU尚未運用合併模式進行寫碼(例如,實際上使用AMVP模式),則可針對CU發信IC旗標以指示是否應用LIC。
本文中描述用於在各種預測模式情況下選擇性應用局域照明補償(LIC)的系統、方法及電腦可讀媒體。在一些實例中,描述用於當處理某些大小之區塊時選擇性停用(例如,限制、禁止、抑制、避免、不應用等)照明補償以減少用於此類區塊之處理成本及複雜度及/或避免當照明補償應用於某些區塊時產生的問題或不一致的各種技術。
在一些情況下,針對某些大小之區塊及/或針對具有某些限制之區塊可停用或不啟用/應用LIC,以便減少用於此類區塊之處理成本及/或複雜度。舉例而言,當將LIC應用於一區塊(例如,CU、PU、TU或另一區塊)時,LIC處理程序可引入額外複雜度及記憶體頻寬要求至彼區塊之處理。然而,某些大小之區塊可具有可使得用於此類區塊之LIC不適合或不需要的某些限制、限度及/或特性。
為了說明,一些視訊寫碼技術可限制對於某些大小之區塊的雙向框間預測以便減少最壞情況記憶體頻寬及複雜度。舉例而言,在VVC中,4×4區塊提供最壞情況複雜度。因此,在VVC中,對於4×4區塊之雙向框間預測經限制(在此情況下不能對於4×4區塊執行雙向框間預測)以減少最壞情況記憶體頻寬及複雜度。其他實例寫碼技術可類似地限制對於某些區塊大小之雙向框間預測以便減少複雜度。因此,為類似地減少用於某些區塊大小(諸如其中雙向框間預測如上文所提及受到限制的區塊大小)之處理複雜度,本文中所描述的技術可針對此類大小之區塊停用、限制或不應用LIC。
舉例而言,系統及/或處理程序可防止LIC應用於雙向框間預測受到限制的某些大小之區塊。系統及/或處理程序可判定(例如,基於寫碼限制)雙向框間預測被停用或被限制應用於特定大小之區塊,且基於該限制,可判定雙向框間預測不應用於特定大小之區塊。系統及/或處理程序接著可例如基於雙向框間預測被停用或被限制應用於特定大小之區塊的判定而判定不針對特定大小之彼區塊應用LIC。舉例而言,系統及/或處理程序可在編碼及/或解碼區塊時針對彼區塊停用LIC或決定針對彼區塊不啟用LIC。藉由針對雙向框間預測受到限制的彼等區塊停用或不應用LIC,系統及/或處理程序可減少用於彼等區塊之處理成本/複雜度及/或避免引入LIC之額外複雜度。為進一步說明使用上述VVC實例(其中雙向框間預測經限制用於4×4區塊),系統及/或處理程序可限制或避免使用LIC用於4×4區塊,以便減少用於此類區塊之處理複雜度或避免引入LIC之額外複雜度。系統及/或處理程序可因此在不使用LIC情況下處理4×4區塊。
在一些情況下,當系統及/或處理程序判定不將LIC應用於一區塊時,系統及/或處理程序可判定不發信用於彼區塊之LIC旗標(或照明補償(IC)旗標)。在其他情況下,回應於判定不將LIC應用於區塊,系統及/或處理程序可判定發信用於彼區塊之具有一值的LIC旗標,該值指示不針對彼區塊執行LIC。
另外,本文中之技術可限制使用LIC用於超過視訊寫碼管線結構中的區塊之大小的區塊大小。舉例而言,在一些情況下,可使用64×64虛擬管線結構實施VVC編解碼器。然而,問題可在LIC應用於較大區塊(諸如128×N區塊,其不適合64×64管線結構)時出現。為進一步說明,使用128×N區塊作為實例,將需要當前區塊的參考及相鄰樣本之128個參考樣本來導出LIC參數。然而,由於128個樣本不適合64×64管線結構,因此系統及/或處理程序可針對大於64×64之區塊停用或決定不啟用/應用LIC。
雖然64×64管線結構及128×N區塊大小上文用作實例,但本文中之技術可類似地應用於任何區塊大小及/或管線結構。舉例而言,在涉及不同於上述實例中之64×64管線結構的管線結構情況下,系統及/或處理程序可針對大於彼特定管線結構中之區塊的區塊停用或決定不啟用/應用LIC。在一些情況下,系統及/或處理程序可不發信用於已停用或以其他方式不啟用/應用LIC的區塊的LIC模式旗標。在一些實例中,回應於判定不將LIC應用於此類區塊,系統及/或處理程序可判定發信用於該等區塊之具有一值的一或多個LIC旗標,該值指示不針對彼等區塊執行LIC。
視訊寫碼管線結構可包括一或多個虛擬管線資料單元(VPDU)或可由該一或多個虛擬管線資料單元構成。在一些實例中,VPDU可包括圖像或視訊圖框中之非重疊單元。舉例而言,VPDU可為圖像中之非重疊M×M-明度(L)/N×N-色度(C)單元。VPDU建構包括用於記憶體存取(例如,以判定記憶體之哪一區域用於處理一或多個特定資料區塊)的虛擬區塊,從而定義經分配以實施基於標準之寫碼處理程序(例如,HEVC、VVC或其他寫碼處理程序)的記憶體之大小。在硬體解碼處理程序之一些實例中,可藉由多個處理/解碼管線級平行地處理連續VPDU。舉例而言,不同解碼管線級可同時處理不同VPDU。在一些情況下,VPDU大小可大致與一些管線中之緩衝器大小成比例。舉例而言,VPDU大小可經設定成變換區塊(TB)大小之大小。在一個說明性實例中,VPDU之大小可為64×64樣本(例如,明度樣本)。在HEVC中,VPDU大小經設定為最大變換區塊大小,其為32×32-L(明度樣本)及16×16-C(色度樣本)。在VVC中,VPDU大小經設定為128x128-L(明度樣本)及64×64-C(色度樣本),其導致較大VPDU大小的請求。
VPDU可包括一或多個區塊(例如,CU、PU、TU或其他區塊)。舉例而言,在一些情況下,單一CU可包括於一個VPDU中(例如,CU之大小及VPDU大小係相同的)。在一些情況下,多個CU可包括於一個VPDU中(例如,多個CU具有小於VPDU大小之大小)。取決於區塊(例如,CU、PU或其他區塊)之大小,區塊可或可不橫跨多個VPDU (在此情況下區塊可包括多個VPDU)。舉例而言,具有128×64 (128樣本寬×64樣本高)之大小的區塊可橫跨各具有64×64之大小的兩個VPDU。在另一實例中,具有128×128 (128樣本寬×128樣本高)之大小的區塊可橫跨各具有64×64之大小的四個VPDU。區塊可分裂成某一數目個子區塊以用於藉由VPDU管線級中之每一者執行框間預測。舉例而言,128×128區塊可分裂成64×64子區塊以用於藉由四個不同VPDU管線級處理。區塊可經分裂用於框間預測,此係因為不存在對於用於執行框間預測之相鄰區塊的依賴。
圖8為說明用於當處理某些大小之區塊時選擇性限制照明補償的實例方法800之流程圖。在區塊802處,方法800可包括獲得視訊資料之圖像之區塊。區塊可包括寫碼單元(CU)、預測單元(PU)、變換單元(TU)或圖像之任何其他區塊。在一個說明性實例中,區塊可為在圖7中展示的當前區塊702。此外,在一些實例中,諸如當方法800藉由解碼裝置(例如,112)執行時,視訊資料可包括該經編碼視訊資料(例如,經編碼視訊位元串流)。在其他實例中,諸如當方法800藉由編碼裝置(例如,104)執行時,視訊資料可包括未經編碼視訊資料。
視訊資料可包括複數個圖像,且該等圖像可劃分成複數個區塊,如先前所描述。視訊資料亦可包括用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在區塊804處,方法800可包括判定區塊之大小。舉例而言,區塊可經分析以判定區塊之寬度及/或高度。在區塊806處,方法800可包括判定區塊之大小是否等於或小於與一區塊大小限制相關聯之區塊大小或區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小,該區塊大小限制禁止對於具有等於或小於與該區塊大小限制相關聯之區塊大小之一各別大小之區塊的雙向框間預測。
在一些實例中,方法800可判定區塊之大小是否滿足區塊804中之第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)或區塊804中之第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)任一者。舉例而言,若用以處理區塊的視訊寫碼演算法限制對於4×4區塊大小之雙向框間預測,則方法800可判定區塊之大小是否等於或低於特定4×4區塊大小限制。作為另一實例,若視訊寫碼管線結構具有M×N區塊大小(其中M及N兩者均為正整數),則方法800可判定區塊之大小是否大於M×N。在其他實例中,方法800可判定區塊之大小是否滿足第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)及第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)兩者。
在一些實例中,區塊大小限制可定義經設定以啟用或允許雙向框間預測的最小區塊大小。在一些實例中,最小區塊大小可提供允許對於區塊之雙向框間預測所需要的臨限大小。在一些實例中,與區塊大小限制相關聯之區塊大小可為比經設定以啟用或允許雙向框間預測之最小區塊大小更小的區塊大小。因此,區塊大小限制可防止或禁止對於具有等於或小於與區塊大小限制相關聯之區塊大小的大小的任何區塊的雙向框間預測。
在區塊808處,方法800可包括判定區塊之大小為等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小中的一者。
在區塊810處,方法800可包括基於區塊之大小為等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小中的一者的判定而停用用於區塊之照明補償(或局域照明補償)。停用用於區塊之照明補償可包括限制、禁止、避免及/或抑制用於區塊之照明補償及/或決定不應用或啟用用於區塊之照明補償。
在一些態樣中,方法800可包括基於用於區塊之照明補償之停用將與區塊相關聯之照明補償旗標之值設定為假。在一些實例中,經設定為假的照明補償旗標之值指示針對區塊停用照明補償。在一些實施中,照明補償旗標之假值可為0或空值。
在一些態樣中,方法800可包括基於區塊之大小等於或小於與區塊大小限制相關聯之區塊大小而判定不應用對於區塊之雙向框間預測。此外,在一些情況下,可至少部分地基於不應用對於區塊之雙向框間預測的判定而停用用於區塊之照明補償。
在一些態樣中,方法800可包括判定視訊資料之圖像的不同區塊(例如,新的當前區塊)之大小是否大於與區塊大小限制相關聯之區塊大小或不同區塊之大小是否小於與視訊寫碼管線結構相關聯之區塊大小,判定視訊資料之圖像的不同區塊之大小大於與區塊大小限制相關聯之區塊大小並小於與視訊寫碼管線結構相關聯之區塊大小,及基於不同區塊之大小大於與區塊大小限制相關聯之區塊大小並小於與視訊寫碼管線結構相關聯之區塊大小的判定啟用用於不同區塊之照明補償。
在一些情況下,與不同區塊相關聯之照明補償旗標之值可在(或基於)照明補償經啟用用於不同區塊時經設定為真。經設定為真的照明補償旗標之值可指示針對不同區塊啟用照明補償。在一些實施中,照明補償旗標之值可經設定為1以指示真值。
在一些實例中,可基於區塊(例如,702)之一或多個相鄰區塊(例如,Ni )及經選擇用於區塊之框間預測的參考區塊(例如,704或706)之一或多個額外相鄰區塊(例如,P0或P1)導出用於不同區塊之一或多個照明補償參數,且可基於一或多個照明補償參數針對不同區塊應用照明補償。此外,可基於應用於區塊之照明補償而重建構區塊之樣本。
在一些態樣中,方法800可包括基於預測模式並在不運用照明補償之情況下解碼(例如,經由解碼裝置112)區塊。舉例而言,可使用雙向框間預測、單向框間預測、框內預測等及在不應用照明補償之情況下解碼區塊。在一些情況下,可使用含有區塊的位元串流中之語法資料發信預測模式。
在一些情況下,可基於預測模式及經估計用於區塊的殘餘值重建構區塊之樣本,如先前所描述。舉例而言,可針對區塊計算殘餘值且可針對區塊執行預測模式(例如,雙向框間預測、單向框間預測、框內預測等)。區塊之樣本接著可基於用於區塊之殘餘值及針對區塊執行之預測模式而重建構。
在一些態樣中,方法800可包括產生包括視訊資料之圖像之區塊的經編碼視訊位元串流及發信經編碼視訊位元串流至解碼裝置(例如,112)。在一些實例中,可在經編碼視訊位元串流中發信一或多個照明補償旗標。一或多個照明補償旗標可包括針對區塊停用照明補償的一指示。舉例而言,一或多個照明補償旗標可包括具有指示針對區塊停用照明補償的假值之照明補償旗標。
在一些實例中,判定區塊之大小為等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小中的一者可包括判定照明補償受到限制。在一些情況下,可基於照明補償被限制的判定而不在經編碼視訊位元串流中發信照明補償旗標。
圖9為說明解碼視訊資料之實例方法900的流程圖。在一些實例中,方法900可包括基於區塊之大小、區塊是否大於管線結構中之區塊及/或雙向預測是否應用於區塊而將照明補償選擇性應用於或不應用於每一區塊。
在區塊902處,方法900可包括獲得包括視訊資料之經編碼視訊位元串流。在區塊904處,方法900可包括自經編碼視訊位元串流獲得視訊資料之圖像之區塊(例如,區塊702)。區塊可包括CU、PU、TU或圖像之任何其他區塊。在一些實例中,諸如當方法900藉由解碼裝置(例如,112)執行時,視訊資料可包括經編碼視訊資料(例如,在經編碼視訊位元串流中)。視訊資料可包括複數個圖像,且該等圖像可劃分成複數個區塊,如先前所描述。視訊資料亦可包括用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在區塊906處,方法900可包括判定區塊之大小是否等於或小於與一區塊大小限制相關聯之區塊大小或區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小,該區塊大小限制禁止對於具有等於或小於與該區塊大小限制相關聯之區塊大小之一各別大小之區塊的雙向框間預測。
在一些實例中,方法900可判定區塊之大小是否滿足區塊906中之第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)或區塊906中之第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)任一者。舉例而言,若針對4×4區塊大小限制雙向框間預測,則方法900可判定區塊之大小是否等於或小於彼特定4×4區塊大小限制。作為另一實例,若視訊寫碼管線結構具有M×N區塊大小(其中M及N兩者均為正整數),則方法900可判定區塊之大小是否大於M×N。在其他實例中,方法900可判定區塊之大小是否滿足第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)及第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)兩者。
區塊大小限制可定義經設定以啟用雙向框間預測之最小區塊大小及/或經設定以停用雙向框間預測的一或多個區塊大小。在一些實例中,最小區塊大小可提供允許對於區塊之雙向框間預測所需要的臨限大小。因此,區塊大小限制可防止或禁止對於具有低於最小區塊大小之一大小的任何區塊的雙向框間預測。在一些實例中,與區塊大小限制相關聯之區塊大小可為藉由區塊大小限制禁止或限制雙向框間預測所針對的一大小。
在區塊908處,方法900可包括基於區塊之大小等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小而停用用於區塊之照明補償(或局域照明補償)。舉例而言,若區塊之大小等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小,則可避免或抑制用於區塊之照明補償。在一些實例中,停用用於區塊之照明補償可包括避免、限制、禁止及/或抑制用於區塊之照明補償及/或決定不應用或啟用用於區塊之照明補償。藉由當區塊之大小等於或小於與經定義用於雙向預測的區塊大小限制相關聯之區塊大小或區塊大於管線結構中之區塊時停用照明補償,可減少用於區塊之處理成本及/或複雜度且可避免先前所描述之處理問題及不一致。
在一些實例中,停用用於區塊之照明補償可包括基於區塊之大小及/或區塊是否大於管線結構中之區塊判定照明補償是否將應用於區塊。舉例而言,若區塊之大小等於或小於與經設定用於雙向預測之區塊大小限制相關聯之區塊大小,則可避免或抑制用於區塊之照明補償。此外,若區塊大於管線結構中之區塊,則可避免或抑制用於區塊之照明補償。在其他實例中,停用用於區塊之照明補償可包括基於是否將雙向預測應用於區塊之框間預測的判定而判定是否將照明補償應用於區塊。
在一些實施中,方法900可基於照明補償旗標或照明補償旗標之缺乏來判定是否停用用於區塊之照明補償,而非判定區塊之大小是否等於或小於與經設定用於雙向預測之區塊大小限制相關聯之區塊大小或大於管線結構中之區塊及隨後基於區塊之大小等於或小於與經設定用於雙向預測之區塊大小限制相關聯之區塊大小或大於管線結構中之區塊來判定是否停用用於區塊之照明補償。
舉例而言,照明補償旗標可隨經編碼視訊位元串流一起發信且可指示照明補償是否將應用於區塊。在一些情況下,經設定為假的照明補償旗標指示不針對區塊應用照明補償。另外,經設定為真的照明補償旗標可指示將針對區塊應用照明補償。在一些實例中,若判定雙向預測將應用於當前區塊,區塊之大小等於或小於與用於雙向預測之區塊大小限制相關聯之區塊大小,及/或區塊大於管線結構中之區塊,則照明補償旗標可經設定為假。在一些情況下,方法900可判定若照明補償旗標未隨經編碼視訊位元串流一起發信,則應停用或避免用於區塊之照明補償。
在一些態樣中,方法900可包括自經編碼視訊位元串流獲得視訊資料之圖像的不同區塊,判定視訊資料之圖像的不同區塊(例如,新的當前區塊)之大小是否大於與區塊大小限制相關聯之區塊大小或不同區塊之大小是否小於與視訊寫碼管線結構相關聯之區塊大小。在一些實例中,方法900可進一步包括基於不同區塊之大小大於與區塊大小限制相關聯之區塊大小及小於與視訊寫碼管線結構相關聯之區塊大小的判定應用用於不同區塊之照明補償。
在一些實例中,應用用於不同區塊之照明補償可包括使用不同區塊之一或多個相鄰區塊及用於不同區塊之框間預測的參考區塊之一或多個相鄰區塊導出用於不同區塊之一或多個照明補償參數。舉例而言,如先前所解釋,明度值(樣本之明度值,或像素)可以線性形式在框間預測中進行補償,a*p + b,其中p為框間預測中之樣本,a為按比例調整因數,且b為偏移。按比例調整因數a及偏移b為可使用不同區塊之相鄰樣本及參考區塊之相鄰樣本(例如,如圖5A及圖5B中所展示)導出的參數。在一些實例中,不同區塊之一或多個相鄰區塊可包括不同區塊之頂部相鄰區塊或左側相鄰區塊中的一或多者,且參考區塊之一或多個相鄰區塊可包括參考區塊之頂部相鄰區塊或左側相鄰區塊中的一或多者。
如先前所描述,與在寫碼區塊時的處理成本及/或複雜度相關聯之一或多個前述難題可在一些情況下藉由選擇性避免照明補償來克服。舉例而言,若雙向預測經限制用於區塊,則可抑制或不執行用於區塊之照明補償。作為另一實例,若區塊具有等於或小於與禁止或防止用於區塊之雙向預測的區塊大小限制相關聯之區塊大小的大小,或若區塊大於管線結構中之區塊,則可針對當前區塊停用照明補償。停用(例如,抑制、避免、限制、禁止、不應用等)用於滿足此類條件(例如,具有等於或小於與禁止或防止雙向預測的區塊大小限制相關聯之區塊大小或大於管線結構中之區塊的大小)的區塊之照明補償可減少用於此類區塊之處理成本及/或複雜度。
在一些情況下,照明補償旗標(或IC旗標或LIC旗標)可連同用於區塊之運動資訊一起儲存。在一些實例中,可對於所有雙向運動向量候選者將照明補償旗標設定為假。在一些實例中,即使照明補償旗標指示另外情況(例如,經設定為真)仍可避免照明補償。舉例而言,若經設定為真的照明補償旗標已自另一區塊繼承,但將針對區塊執行雙向運動補償,區塊大於管線結構大小,或當前區塊之大小等於或低於用於雙向預測之區塊大小限制,則可避免或停用用於區塊之照明補償。
如先前所提及,照明補償旗標可連同用於區塊之運動資訊一起儲存。在一些實例中,所儲存照明補償旗標可連同相關聯運動資訊一起被繼承。舉例而言,相鄰區塊之照明補償旗標及運動資訊可被繼承且用於區塊之運動預測(例如,在合併模式中)。在一些實例中,區塊之運動預測可包括使用繼承之運動資訊而不修改。在此類實例中,可基於所繼承照明補償旗標之值針對區塊執行照明補償。舉例而言,來自相鄰區塊之所繼承運動向量可用作區塊之運動向量,且若來自相鄰區塊之所繼承照明補償旗標為真,則可執行照明補償。在此類實例中,若照明補償旗標為真,則LIC參數亦可自相鄰區塊繼承並用作用於區塊之LIC參數。
在其他實例中,區塊之運動預測可包括自另一區塊(諸如相鄰區塊)之運動資訊導出用於區塊之運動資訊。在此類實例中,導出用於區塊之運動資訊可包括修改相鄰區塊或另一區塊之運動資訊(例如,在AMVP或TMVP模式中)。舉例而言,在TMVP模式中,相鄰區塊之運動向量可按比例調整且按比例調整之運動向量可用作區塊之運動向量。在逐對運動向量導出中,兩個相鄰區塊之兩個運動向量MV1及MV2可用於導出區塊之運動向量MV。舉例而言,區塊之運動向量MV可經導出為兩個運動向量MV1及MV2之半和,其中MV=(MV1+MV2)/2。在此類實例(以及其他)中,區塊之運動向量可不同於用於導出區塊之運動向量的其他區塊之一或多個運動向量。當區塊之運動向量可不同於用於導出區塊之運動向量的其他區塊之一或多個運動向量時,自一個或多個其他區塊繼承用於區塊之照明補償旗標可係有問題的。舉例而言,用於區塊之經導出(修改)運動向量可指向不同於藉由其他區塊之一或多個運動向量(未經修改)指向的區塊的參考圖像中之區塊。相應地,即使針對其他區塊中之一或多者執行照明補償(或所繼承照明補償旗標為真),仍可能不需要對於自一個或多個其他區塊之運動向量導出運動資訊所用於的區塊進行照明補償。
在一些實例中,關於雙向預測及/或照明補償是否將應用於區塊之資訊可被發信或可係基於所儲存資訊或與區塊相關聯。舉例而言,自編碼裝置(例如,104)至解碼裝置(例如,112)的發信可指示區塊是否已運用雙向預測性運動補償及/或照明補償進行寫碼。
在一些實例中,是否將雙向預測及/或照明補償應用於區塊的一指示可係基於與區塊相關聯之照明補償旗標。舉例而言,經設定為假的照明補償旗標之值可指示雙向預測及/或照明補償不應用於區塊。另一方面,經設定為真的照明補償旗標之值可指示雙向預測及/或照明補償將應用於區塊。在一些情況下,隨與區塊相關聯之位元串流一起發信的照明補償旗標之缺乏可指示對於彼區塊應停用或避免照明補償。
在一些實例中,基於區塊之大小及管線結構之大小判定是否將照明補償應用於區塊可取決於視訊位元串流中之發信資訊是否包括與區塊相關聯的照明補償旗標。舉例而言,若發信資訊不包括照明補償旗標,則方法900可執行區塊906且隨後基於區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小判定是否停用用於區塊之照明補償。
在一些實例中,可繼承用於區塊之運動資訊。舉例而言,在合併模式中,用於區塊之運動資訊可自相鄰區塊或候選者清單中之另一區塊的運動資訊繼承。在一些實例中,照明補償旗標可連同區塊之運動資訊一起儲存於包括區塊之運動資訊的運動向量候選者清單中。
在一些實例中,可判定關於是否將應用雙向預測之資訊。舉例而言,將雙向預測應用於區塊可包括使用第一參考區塊及第二參考區塊以獲得用於區塊之雙向預測子。考慮圖7之說明性實例,判定是否將雙向預測性運動補償應用於當前區塊702可係基於第一參考區塊704及第二參考區塊706是否可用於分別獲得第一單向預測子及第二單向預測子。在一些實例中,若第一參考區塊704及第二參考區塊706係可用的,則第一參考區塊704及第二參考區塊706可用於分別獲得第一單向預測子及第二單向預測子。在一些情況下,第一參考區塊704及第二參考區塊706中之一者或兩者可係不可用的,且相應地雙向預測性運動補償可不應用於當前區塊702。
圖10為說明用於編碼視訊資料之實例方法1000的流程圖。在一些實例中,方法1000可包括基於以下各者而針對每一區塊選擇性應用或不應用照明補償:是否應用雙向預測;區塊之大小等於或小於與一區塊大小限制相關聯之區塊大小,該區塊大小限制禁止或限制對於具有等於或小於與該區塊大小限制相關聯之區塊大小之一各別大小之區塊的雙向預測;或區塊是否大於管線結構中之區塊。
在區塊1002處,方法1000可包括獲得視訊資料之圖像之區塊。區塊可包括CU、PU、TU或圖像之任何其他區塊。在一些實例中,諸如當方法1000藉由編碼裝置(例如,編碼裝置104)執行時,視訊資料可包括未經編碼視訊資料。視訊資料可包括複數個圖像,且該等圖像可劃分成複數個區塊,如先前所描述。方法1000可判定用於圖像及/或區塊之運動資訊,其可用以執行運動補償。
在區塊1004處,方法1000可包括判定區塊之大小是否等於或小於與一區塊大小限制相關聯之區塊大小或區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小,該區塊大小限制禁止對於具有等於或小於與該區塊大小限制相關聯之區塊大小之一各別大小之區塊的雙向框間預測。
在一些實例中,方法1000可判定區塊之大小是否滿足區塊1004中之第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)或區塊1004中之第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)任一者。舉例而言,若雙向框間預測經限制用於4×4區塊大小,則方法1000可判定區塊之大小是否等於或低於彼特定4×4區塊大小限制。作為另一實例,若視訊寫碼管線結構具有M×N區塊大小(其中M及N兩者均為正整數),則方法1000可判定區塊之大小是否大於M×N。在其他實例中,方法1000可判定區塊之大小是否滿足第一條件(例如,區塊之大小是否等於或小於與區塊大小限制相關聯之區塊大小)及第二條件(例如,區塊之大小是否大於與視訊寫碼管線結構相關聯之區塊大小)兩者。
區塊大小限制可定義經設定以啟用雙向框間預測之最小區塊大小及/或用於停用雙向框間預測的一或多個區塊大小。在一些實例中,最小區塊大小可提供允許對於區塊之雙向框間預測所需要的臨限大小。因此,區塊大小限制可防止或禁止對於具有小於最小區塊大小之一大小的任何區塊的雙向框間預測。在一些實例中,區塊大小限制可定義一或多個區塊大小,諸如與區塊1004中之區塊大小限制相關聯之區塊大小,應對於該等區塊大小停用雙向框間預測。
在區塊1006處,方法1000可包括基於區塊之大小等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小而停用用於區塊之照明補償(或局域照明補償)。舉例而言,若區塊之大小等於或小於與區塊大小限制相關聯之區塊大小或大於與視訊寫碼管線結構相關聯之區塊大小,則可避免或抑制用於區塊之照明補償。在一些實例中,停用用於區塊之照明補償可包括避免、限制、禁止及/或抑制用於區塊之照明補償及/或決定不應用或啟用用於區塊之照明補償。藉由當區塊之大小等於或小於與用於雙向預測的區塊大小限制相關聯之區塊大小時或當區塊大於管線結構中之區塊時停用照明補償,可減少用於區塊之處理成本及/或複雜度且可避免先前所描述之處理問題及不一致。
在一些實例中,停用用於區塊之照明補償可包括基於區塊之大小及/或區塊是否大於管線結構中之區塊判定照明補償是否將應用於區塊。舉例而言,若該區塊之大小等於或小於與經設定用於雙向預測的區塊大小限制相關聯之區塊大小,則可進行用於區塊之照明補償應被避免或抑制的判定。此外,若區塊大於管線結構中之區塊,則可進行用於區塊之照明補償應被避免或抑制的判定。在其他實例中,停用用於區塊之照明補償可包括基於是否將雙向預測應用於區塊之框間預測的判定而判定是否將照明補償應用於區塊。
在一些實施中,方法1000可基於照明補償旗標或與區塊相關聯的照明補償旗標之缺乏來判定是否停用用於區塊之照明補償,而非判定區塊之大小是否等於或小於與經設定用於雙向預測之區塊大小限制相關聯之區塊大小或大於管線結構中之區塊及隨後基於區塊之大小等於或小於與經設定用於雙向預測之區塊大小限制相關聯之區塊大小或區塊之大小是否大於管線結構中之區塊來判定是否停用用於區塊之照明補償。
舉例而言,照明補償旗標可指示照明補償是否將應用於區塊。在一些情況下,經設定為假的照明補償旗標指示不針對區塊應用照明補償。另外,經設定為真的照明補償旗標可指示將針對區塊應用照明補償。在一些實例中,若判定雙向預測將應用於區塊,區塊之大小等於或小於與用於雙向預測之區塊大小限制相關聯之區塊大小,及/或區塊大於管線結構中之區塊,則照明補償旗標可經設定為假。
如先前所提及,照明補償旗標可連同用於區塊之運動資訊一起儲存。在一些實例中,可對於所有雙向運動向量候選者將照明補償旗標設定為假。在一些實例中,即使照明補償旗標指示另外情況(例如,經設定為真)仍可避免照明補償。舉例而言,若經設定為真的照明補償旗標已自另一區塊繼承,但將針對區塊執行雙向運動補償,則可基於雙向運動補償不應用於區塊、區塊之大小等於或低於用於雙向預測之區塊大小限制或大於管線結構中之區塊的判定而避免用於區塊之照明補償。
在區塊1008處,方法1000可包括產生包括區塊之至少一部分的經編碼位元串流。在一些實例中,照明補償旗標可包括於經編碼位元串流中。在一些實例中,照明補償旗標可包括指示照明補償是否應應用於區塊的值(例如,真或假)。
此外,在一些情況下,若判定照明補償將應用於區塊,則可發信照明補償旗標。在一些實例中,不發信用於區塊之照明補償旗標可指示照明補償不應應用於區塊。
圖11A為說明其中基於經定義用於視訊寫碼演算法的區塊大小限制1104,當前區塊1102之LIC旗標1106經設定為關閉(例如,假)之實例情形1100的圖,關閉指示對於當前區塊1102不執行及/或停用LIC。當前區塊1102可包括CU、PU、TU或圖像之任何其他區塊。區塊大小限制1104可定義用以判定用於當前區塊1102之照明補償是否應被啟用或停用的臨限區塊大小。若當前區塊1102之大小等於或低於區塊大小限制1104,則可停用(例如,限制、禁止、不啟用/應用、避免等)用於當前區塊1102之照明補償。另一方面,若當前區塊1102之大小大於區塊大小限制1104,則可啟用用於當前區塊1102之照明補償。
在一些實例中,區塊大小限制1104之大小可基於藉由用於當前區塊1102之雙向框間預測的寫碼演算法設定的任何大小限制而判定。舉例而言,若寫碼演算法規定應對於等於或小於4×4之區塊停用雙向框間預測,則用於判定是啟用抑或停用用於當前區塊1102之照明補償的區塊大小限制1104可經設定為4×4,與藉由用於雙向框間預測之寫碼演算法設定的大小限制一致。在一些情況下,用於雙向框間預測之大小限制可藉由用於較小區塊之寫碼演算法設定,以便減少用於此類區塊之處理成本及/或複雜度及/或減少最壞情況記憶體頻寬及複雜度。因此,藉由設定與用於雙向框間預測之大小限制一致的區塊大小限制1104,系統及/或處理程序可避免啟用用於雙向框間預測受到限制的區塊之照明補償,且因此,系統及/或處理程序可避免引入照明補償之額外成本及複雜度且可減少或限制用於寫碼此類區塊之成本及/或複雜度。
在其他實例中,可基於區塊之大小在考慮或不考慮藉由用於雙向框間預測之寫碼演算法設定的任何大小限制之情況下判定用於特定寫碼演算法的區塊大小限制1104之大小。舉例而言,在一些情況下,可藉由相對於對於一或多個區塊大小應用照明補償之益處權衡對於此一或多個區塊大小應用照明補償之成本/複雜度來判定用於特定寫碼演算法的區塊大小限制1104之大小。在另一實例中,可藉由相對於一或多個條件(諸如資源可用性(例如,記憶體頻寬/容量、計算頻寬/容量、網路頻寬/容量等)、特定寫碼演算法之複雜度、對於一或多個區塊大小應用特定寫碼演算法之成本或複雜度、效能要求(例如,服務品質等)、成本/複雜度與同一或多個區塊相關聯之寫碼效能的比率等)權衡對於一或多個區塊大小應用照明補償之成本/複雜度來判定用於特定寫碼演算法的區塊大小限制1104之大小。在另外其他實例中,可基於估計之與特定寫碼演算法相關聯的最壞情況記憶體頻寬及/或複雜度判定用於特定寫碼演算法之區塊大小限制1104之大小。
在實例情形1100中,當前區塊1102低於(例如,小於)區塊大小限制1104,如圖11A中所展示。因此,用於當前區塊1102之LIC旗標1106經設定為關閉或假,其指示照明補償不應應用於當前區塊1102。在一些實例中,為了使LIC旗標1106關閉,區塊大小限制1104可需要當前區塊1102之長度及寬度兩者等於或低於區塊大小限制1104。在其他實例中,即使僅僅當前區塊1102之長度或寬度等於或低於區塊大小限制1104,區塊大小限制1104仍可允許LIC旗標1106關閉。
圖11B為說明其中當前區塊1122之LIC旗標1126基於經定義用於視訊寫碼演算法之區塊大小限制1124而設定為接通(例如,真)的實例情形1120之圖,接通指示對於當前區塊1122執行及/或啟用LIC。當前區塊1122可包括CU、PU、TU或圖像之任何其他區塊。如前解釋,區塊大小限制1124可定義用以判定用於當前區塊1122之照明補償是否應被啟用或停用的臨限區塊大小。因此,若當前區塊1122之大小等於或低於區塊大小限制1124,則可停用(例如,限制、禁止、不啟用/應用、避免等)用於當前區塊1122之照明補償,且若當前區塊1122之大小大於區塊大小限制1124,則可啟用用於當前區塊1102之照明補償。
在此實例中,當前區塊1122高於(例如,大於)區塊大小限制1124,如圖11B中所展示。因此,用於當前區塊1122之LIC旗標1126經設定為接通或真,其指示照明補償應應用於當前區塊1122。在一些實例中,為了使LIC旗標1126接通,區塊大小限制1124可需要當前區塊1122之長度及寬度兩者高於區塊大小限制1124。在其他實例中,即使僅僅當前區塊1122之長度或寬度大於區塊大小限制1104之各別長度或寬度,區塊大小限制1124仍可允許LIC旗標1126接通。
在一些實例中,區塊大小限制1124可基於與特定寫碼演算法之管線結構相關聯之大小定義另一區塊大小限制,如下文參看圖11C及圖11D進一步描述。舉例而言,區塊大小限制1124可定義指示若當前區塊1122之大小超過或大於寫碼演算法之管線結構中的區塊之大小,則LIC旗標1126應關閉的第二區塊大小限制。因此,基於第二區塊大小限制,若當前區塊1122之大小超過或大於管線結構中之區塊之大小,則即使當前區塊1122高於(例如,大於)圖11B中所展示之區塊大小限制1124,LIC旗標1126仍將設定為關閉。
圖11C為說明其中基於基於管線結構區塊大小之限制1144設定用於當前區塊1142之LIC旗標1146之實例情形1140的圖。當前區塊1142可包括CU、PU、TU或圖像之任何其他區塊。基於管線結構區塊大小之限制1144可基於用於當前區塊1142的特定寫碼演算法之管線結構中的區塊之大小而定義。
在此實例中,基於管線結構區塊大小之限制1144可定義對應於與特定寫碼演算法之管線結構相關聯之大小的區塊大小限制。舉例而言,基於管線結構區塊大小之限制1144可定義基於寫碼演算法之管線結構中的區塊之大小設定的區塊大小限制。在一些情況下,經定義用於區塊大小限制之大小可匹配管線結構中最區塊之大小。若當前區塊1142之大小(例如,長度及/或寬度)超過管線結構中的區塊之大小,則LIC旗標1146可經設定為關閉,此係因為用以計算用於當前區塊1142之LIC參數的樣本(例如,參考及/或相鄰樣本)將不適合管線結構。
如圖11C中所展示,當前區塊1142之大小超過(例如,大於)由基於管線結構區塊大小之限制1144定義的大小。換言之,當前區塊1142之長度及/或寬度超過寫碼演算法之管線結構中的區塊之長度及/或寬度。因此,在此實例中,LIC旗標1146經設定為關閉或假以防止由當前區塊1142之大小與管線結構之間的不一致所引起的不一致、誤差、不相容性及/或其他問題。
圖11D為說明其中基於基於管線結構區塊大小之限制1164設定用於當前區塊1162之LIC旗標1166之另一實例情形1160的圖。當前區塊1162可包括CU、PU、TU或圖像之任何其他區塊。如前解釋,基於管線結構區塊大小之限制1164可基於用於當前區塊1162的特定寫碼演算法之管線結構中的區塊之大小而定義。
在此實例中,當前區塊1162之大小低於(例如,小於)由基於管線結構區塊大小之限制1164定義的大小。換言之,當前區塊1162小於寫碼演算法之管線結構中的區塊。因此,在此實例中,LIC旗標1166經設定為接通或真。在一些情況下,若當前區塊1162之大小等於由基於管線結構區塊大小之限制1164定義的大小,則LIC旗標1166可類似地經設定為接通或真。
在一些實例中,基於管線結構區塊大小之限制1164可為定義區塊大小限制之一集合的區塊大小限制(例如,1104或1124)之子集。舉例而言,用於寫碼演算法之區塊大小限制可包括基於管線結構區塊大小之限制1164以及圖11A及圖11B中分別展示之區塊大小限制1104或1124。因此,在一些情況下,即使當前區塊1162之大小低於由基於管線結構區塊大小之限制1164定義的大小,然而若當前區塊1162之大小亦等於或低於諸如區塊大小限制1104或1124之另一區塊大小限制,則LIC旗標1166仍可經設定為關閉或假。
因此,若寫碼演算法之區塊大小限制包括諸如區塊大小限制1104或1124之第二區塊大小限制,則在當當前區塊1162之大小經判定為低於基於管線結構區塊大小之限制1164時將LIC旗標1166設定為接通之前,可執行檢查以判定當前區塊1162之大小是否等於或低於第二區塊大小限制。若除了低於基於管線結構區塊大小之限制1164之外,當前區塊1162之大小經判定高於(例如,大於)第二區塊大小限制,則LIC旗標1166可經設定為接通。另一方面,若當前區塊1162之大小實際上經判定為等於或低於第二區塊大小限制,則即使當前區塊1162之大小低於基於管線結構區塊大小之限制1164,LIC旗標1166仍可經設定為關閉。
在一些實施中,本文中所描述的處理程序(或方法)(包括方法800、900及1000)可藉由計算裝置或設備(諸如圖1中所展示的系統100)執行。舉例而言,處理程序可藉由圖1及圖12中展示之編碼裝置104、藉由另一視訊源側裝置或視訊傳輸裝置、藉由圖1及圖13中展示之解碼裝置112及/或藉由另一用戶端側裝置(諸如播放器裝置、顯示器或任何其他用戶端側裝置)執行。在一些情況下,計算裝置或設備可包括一或多個輸入裝置、一或多個輸出裝置、一或多個處理器、一或多個微處理器、一或多個微電腦,及/或經組態以實施本方法800、900及1000之步驟的其他組件。
在一些實例中,計算裝置可包括行動裝置、桌上型電腦、伺服器電腦及/或伺服器系統,或其他類型之計算裝置。計算裝置之組件(例如,一或多個輸入裝置、一或多個輸出裝置、一或多個處理器、一或多個微處理器、一或多個微電腦及/或其他組件)可實施於電路中。舉例而言,組件可包括電子電路或其他電子硬體及/或可使用電子電路或其他電子硬體實施(電子電路或其他電子硬體可包括一或多個可程式化電子電路(例如微處理器、圖形處理單元(GPU)、數位信號處理器(DSP)、中央處理單元(CPU)及/或其他合適之電子電路)),及/或可包括電腦軟體、韌體或其任何組合及/或使用電腦軟體、韌體或其任何組合實施,以執行本文中所描述的各種操作。在一些實例中,計算裝置或設備可包括經組態以捕捉包括視訊圖框之視訊資料(例如,視訊序列)的攝影機。在一些實例中,捕捉視訊資料之攝影機或其他捕捉裝置與計算裝置分離,在此情況下,計算裝置接收或獲得所捕捉視訊資料。計算裝置可包括經組態以傳達視訊資料之網路介面。網路介面可經組態以傳達基於網際網路協定(IP)之資料或其他類型之資料。在一些實例中,計算裝置或設備可包括用於顯示輸出視訊內容(諸如視訊位元串流之圖像的樣本)之顯示器。
處理程序可關於邏輯流程圖描述,其操作表示可在硬體、電腦指令或其組合中實施的操作之序列。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、對象、組件、邏輯、資料結構及其類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施處理程序平行地組合。
另外,處理程序可在經組態有可執行指令之一或多個電腦系統之控制下執行,且可被實施為共同在一或多個處理器上執行之程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)、藉由硬體實施或其組合。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
本文所論述之寫碼技術可實施於實例視訊編碼及解碼系統(例如,系統100)中。在一些實例中,系統包括提供稍後由目的地裝置解碼之經編碼視訊資料的源裝置。詳言之,源裝置經由電腦可讀媒體將視訊資料提供至目的地裝置。源裝置及目的地裝置可包含廣泛範圍之裝置中之任一者,包括桌上型電腦、筆記型(例如,膝上型)電腦、平板電腦、機頂盒、諸如所謂的「智慧型」電話之電話手持機、所謂的「智慧型」板、電視、攝影機、顯示裝置、數位媒體播放器、視訊遊戲控制台、視訊串流裝置或其類似者。在一些情況下,源裝置及目的地裝置可經配備以用於無線通信。
目的地裝置可經由電腦可讀媒體接收待解碼之經編碼視訊資料。電腦可讀媒體可包含能夠將經編碼視訊資料自源裝置移動至目的地裝置的任何類型之媒體或裝置。在一個實例中,電腦可讀媒體可包含通信媒體以使得源裝置能夠即時地將經編碼視訊資料直接傳輸至目的地裝置。可根據通信標準(諸如無線通信協定)調變經編碼視訊資料,且將經編碼視訊資料傳輸至目的地裝置。通信媒體可包含任何無線或有線通信媒體,諸如射頻(RF)頻譜或一或多個實體傳輸線。通信媒體可形成基於封包之網路(諸如區域網路、廣域網路或諸如網際網路之全球網路)之部分。通信媒體可包括路由器、交換器、基地台,或可用於促進自源裝置至目的地裝置之通信的任何其他裝備。
在一些實例中,經編碼資料可自輸出介面輸出至儲存裝置。類似地,可藉由輸入介面自儲存裝置存取經編碼資料。儲存裝置可包括多種分散式或本機存取之資料儲存媒體中之任一者,諸如硬碟機、Blu-ray光碟、DVD、CD-ROM、快閃記憶體、揮發性或非揮發性記憶體,或用於儲存經編碼視訊資料之任何其他合適的數位儲存媒體。在另一實例中,儲存裝置可對應於可儲存由源裝置產生之經編碼視訊的檔案伺服器或另一中間儲存裝置。目的地裝置可經由串流或下載自儲存裝置存取所儲存之視訊資料。檔案伺服器可為能夠儲存經編碼視訊資料並將彼經編碼視訊資料傳輸至目的地裝置之任何類型的伺服器。實例檔案伺服器包括網頁伺服器(例如,用於網站)、FTP伺服器、網路附接儲存(NAS)裝置或本機磁碟機。目的地裝置可經由任何標準資料連接(包括網際網路連接)來存取經編碼視訊資料。此資料連接可包括適合於存取儲存於檔案伺服器上之經編碼視訊資料的無線頻道(例如,Wi-Fi連接)、有線連接(例如,DSL、纜線數據機,等等),或兩者的組合。自儲存裝置的經編碼視訊資料之傳輸可為串流傳輸、下載傳輸或其組合。
本發明之技術不必限於無線應用或設定。該等技術可應用於支援多種多媒體應用中之任一者的視訊寫碼,諸如空中電視廣播、有線電視傳輸、衛星電視傳輸、網際網路串流視訊傳輸(諸如經由HTTP動態自適應串流(DASH))、經編碼至資料儲存媒體上之數位視訊、儲存於資料儲存媒體上的數位視訊之解碼或其他應用。在一些實例中,系統可經組態以支援單向或雙向視訊傳輸從而支援諸如視訊串流、視訊播放、視訊廣播及/或視訊電話之應用。
在一個實例中,源裝置包括視訊源、視訊編碼器及輸出介面。目的地裝置可包括輸入介面、視訊解碼器及顯示裝置。源裝置之視訊編碼器可經組態以應用本文中所揭示之技術。在其他實例中,源裝置及目的地裝置可包括其他組件或配置。舉例而言,源裝置可自外部視訊源(諸如外部攝影機)接收視訊資料。同樣,目的地裝置可與外部顯示裝置介接,而非包括整合式顯示裝置。
以上實例系統僅為一個實例。用於平行地處理視訊資料之技術可由任何數位視訊編碼及/或解碼裝置來執行。儘管本發明之技術通常由視訊編碼裝置執行,但該等技術亦可由視訊編碼器/解碼器(通常被稱作「編解碼器」)執行。此外,本發明之技術亦可由視訊預處理器執行。源裝置及目的地裝置僅為源裝置產生經寫碼視訊資料以供傳輸至目的地裝置之此類寫碼裝置的實例。在一些實例中,源裝置及目的地裝置可以實質上對稱之方式操作,使得該等裝置中之每一者包括視訊編碼及解碼組件。因此,實例系統可支援視訊裝置之間的單向或雙向視訊傳輸,例如用於視訊串流、視訊播放、視訊廣播或視訊電話。
視訊源可包括視訊捕捉裝置,諸如視訊攝影機、含有先前捕捉之視訊的視訊存檔及/或用以自視訊內容提供者接收視訊之視訊饋入介面。作為另一替代方案,視訊源可產生基於電腦圖形之資料作為源視訊,或實況視訊、存檔視訊及電腦產生之視訊的組合。在一些情況下,若視訊源為視訊攝影機,則源裝置及目的地裝置可形成所謂攝影機電話或視訊電話。然而,如上文所提及,本發明所描述之技術一般可應用於視訊寫碼,且可應用於無線及/或有線應用。在每一情況下,可由視訊編碼器編碼所捕捉、經預捕捉或電腦產生之視訊。經編碼視訊資訊接著可由輸出介面輸出至電腦可讀媒體上。
如所提到,電腦可讀媒體可包括暫時性媒體,諸如無線廣播或有線網路傳輸;或儲存媒體(亦即,非暫時性儲存媒體),諸如硬碟、隨身碟、緊密光碟、數位視訊光碟、藍光光碟或其他電腦可讀媒體。在一些實例中,網路伺服器(圖中未示)可自源裝置接收經編碼視訊資料且例如經由網路傳輸提供經編碼視訊資料至目的地裝置。類似地,諸如光碟衝壓設施之媒體生產設施之計算裝置可自源裝置接收經編碼視訊資料且生產含有經編碼視訊資料之光碟。因此,在各種實例中,可理解電腦可讀媒體包括各種形式之一或多個電腦可讀媒體。
目的地裝置之輸入介面自電腦可讀媒體接收資訊。電腦可讀媒體之資訊可包括由視訊編碼器定義之語法資訊(其亦由視訊解碼器使用),該語法資訊包括描述區塊及其他經寫碼單元(例如,圖像群組(GOP))之特性及/或處理的語法元素。顯示裝置將經解碼視訊資料顯示給使用者,且可包含多種顯示裝置中之任一者,諸如陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器、有機發光二極體(OLED)顯示器或另一類型之顯示裝置。已描述本申請案之各種實施例。
編碼裝置104及解碼裝置112之特定細節分別展示於圖12及圖13中。圖12為說明可實施本發明中所描述之技術中之一或多者的實例編碼裝置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在圖12中展示為迴路濾波器,但在其他組態中,濾波器單元63可實施為後迴路濾波器。後處理裝置57可對由編碼裝置104產生之經編碼視訊資料執行額外處理。在一些情況下,本發明之技術可藉由編碼裝置104實施。然而,在其他情況下,本發明之技術中的一或多者可藉由後處理裝置57實施。
如圖12中所展示,編碼裝置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用作參考區塊以框間預測後續視訊圖框或圖像中之區塊。
以此方式,圖12之編碼裝置104表示經組態以執行本文中描述之技術中之任一者的視訊編碼器之實例,包括上文關於圖8及/或圖10所描述之處理程序。在一些情況下,本發明之技術中之一些亦可藉由後處理裝置57實施。
圖13為說明實例解碼裝置112之方塊圖。解碼裝置112包括熵解碼單元80、預測處理單元81、反量化單元86、反變換處理單元88、求和器90、濾波器單元91及圖像記憶體92。預測處理單元81包括運動補償單元82及框內預測處理單元84。在一些實例中,解碼裝置112可執行通常與關於來自圖12之編碼裝置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在圖13中展示為迴路濾波器,但在其他組態中,濾波器單元91可實施為後迴路濾波器。給定圖框或圖像中之經解碼視訊區塊接著儲存於圖像記憶體92中,該圖像記憶體儲存用於後續運動補償之參考圖像。圖像記憶體92亦儲存經解碼視訊以供稍後呈現於顯示裝置(諸如圖1中所展示之視訊目的地裝置122)上。
以此方式,圖13之解碼裝置112表示經組態以執行本文中描述之技術中之任一者的視訊解碼器之實例,包括上文關於圖8及/或圖9所描述之處理程序。
如本文所用,術語「電腦可讀媒體」包括(但不限於)攜帶型或非攜帶型儲存裝置、光儲存裝置及能夠儲存、含有或攜載指令及/或資料的各種其他媒體。電腦可讀媒體可包括非暫時性媒體,其中可儲存資料並且不包括載波及/或無線地或經由有線連接傳播之暫時電子信號。非暫時性媒體之實例可包括(但不限於)磁碟或磁帶、諸如緊密光碟(CD)或數位化通用光碟(DVD)之光學儲存媒體、快閃記憶體、記憶體或記憶體裝置。電腦可讀媒體可具有儲存於其上之程式碼及/或機器可執行指令,該等程式碼及/或機器可執行指令可表示程序、函數、子程式、程式、常式、次常式、模組、軟體套件、類別,或指令、資料結構或程式語句之任何組合。一個碼段可藉由傳遞及/或接收資訊、資料、論證、參數或記憶體內容耦接至另一碼段或硬體電路。資訊、引數、參數、資料等可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸或其類似者之任何合適方式傳遞、轉遞或傳輸。
在一些實施例中,電腦可讀儲存裝置、媒體及記憶體可包括含有位元串流及類似者之纜線或無線信號。然而,當提到時,非暫時性電腦可讀儲存媒體明確地排除諸如能量、載波信號、電磁波及信號本身之媒體。
在以上描述中提供特定細節從而提供本文提供之實施例及實例的透徹理解。然而,一般熟習此項技術者應理解,實施例可在無需此等特定細節的情況下實踐。為了解釋之清楚起見,在一些情況下,本發明技術可呈現為包括個別功能區塊,其包括包含軟體或硬體及軟體之組合中所體現的裝置、裝置組件、方法中之步驟或常式的功能區塊。除諸圖中展示及/或本文中所描述的彼等組件以外,可使用額外組件。舉例而言,電路、系統、網路、處理程序及其他組件可以方塊圖形式展示為組件以免以不必要的細節混淆實施例。在其他情況下,可在無不必要細節之情況下展示熟知電路、處理程序、演算法、結構及技術以便避免混淆實施例。
個別實施例可在上文描述為描繪為流程圖(flowchart, a flow diagram)、資料流程圖、結構圖或方塊圖的處理程序或方法。儘管流程圖可能將操作描述為順序處理程序,但許多操作可平行地或同時加以執行。另外,可再配置操作之次序。處理程序在其操作完成時終止,但可具有不包括於圖中之額外步驟。處理程序可對應於方法、函數、程序、次常式、次程式等。當處理程序對應於函數時,其終止可對應於函數傳回至呼叫函數或主函數。
可使用儲存或以其他方式可自電腦可讀媒體獲得的電腦可執行指令實施根據上文所描述之實例的處理程序及方法。此等指令可包括(例如)導致或以其他方式組態通用電腦、專用電腦或處理裝置以執行某一功能或功能群組之指令及資料。可經由網路存取所使用的電腦資源之部分。電腦可執行指令可為(例如)二進位中間格式指令,諸如組合語言、韌體、原始程式碼等。可用於儲存指令、所使用資訊及/或根據所描述實例之方法期間所產生的資訊之電腦可讀媒體的實例包括磁碟或光碟、快閃記憶體、具備非揮發性記憶體之USB裝置、網路連接儲存裝置等等。
實施根據此等揭示內容之處理程序及方法的裝置可包括硬體、軟體、韌體、中間軟體、微碼、硬體描述語言或其任何組合,且可採取多種外觀尺寸中之任一者。當以軟體、韌體、中間軟體或微碼實施時,用以執行必要任務之程式碼或碼段(例如,電腦程式產品)可儲存於電腦可讀或機器可讀媒體中。處理器可執行必要任務。外觀尺寸之典型實例包括膝上型電腦、智慧型手機、行動電話、平板電腦裝置或其他小外觀尺寸個人電腦、個人數位助理、機架式裝置、獨立式裝置等。本文中所描述之功能性亦可體現於周邊裝置或附加卡。作為進一步之實例,此功能性亦可實施於不同晶片或執行於單一裝置中之不同處理程序中的電路板上。
該等指令、用於輸送此等指令之媒體、用於執行此等媒體之計算資源,及用於支援此等計算資源之其他結構為用於提供本發明中所描述之功能的實例構件。
在前述描述中,參考其特定實施例描述申請案之態樣,但熟習此項技術者將認識到本申請案不限於此。因此,雖然本文中已詳細描述申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之申請案之各種特徵及態樣可個別地或聯合地使用。此外,實施例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而非限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
一般熟習此項技術者應瞭解,在不脫離本說明書之範疇之情況下,本文中所使用之小於(「<」)及大於(「>」)符號或術語可分別用小於或等於(「≤」)及大於或等於(「≥」)符號替換。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他合適之電子電路)以執行操作或其任何組合來實現此組態。
片語「耦接至」指直接地或間接地實體地連接至另一組件之任何組件,及/或直接地或間接地與另一組件(例如經由有線或無線連接及/或其他合適通信介面連接至其他組件)通信的任何組件。
列舉一集合「中之至少一者」及/或一集合之「中之一或多者」的技術方案語言或其他語言指示該集合之一個成員或該集合之多個成員(以任何組合)滿足該技術方案。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B。在另一實例中,列舉「A、B及C中之一或多者」的技術方案語言意謂A、B、C、或A及B、或A及C、或B及C,或A及B及C。語言一集合「中之至少一者」及/或一集合「中之一或多者」並不將該集合限制為該集合中所列舉之項。舉例而言,列舉「A及B中之至少一者」的技術方案語言意謂A、B或A及B,且可另外包括A及B之集合中未列舉的項。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可被實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。將此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統上之設計約束。熟習此項技術者可針對每一特定應用以不同方式實施所描述的功能性,但此等實施決策不應被解釋為引起脫離本申請案之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種裝置中之任一者中,諸如通用電腦、無線通信裝置手機或具有多種用途(包括在無線通信裝置手機及其他裝置中之應用)之積體電路裝置。可將描述為模組或組件之任何特徵共同實施於整合式邏輯裝置中或分開實施為離散但可互操作之邏輯裝置。若以軟體實施,則該等技術可至少部分由包含包括當經執行時執行上文所描述方法中之一或多者之指令之程式碼的電腦可讀資料儲存媒體實現。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如隨機存取記憶體(RAM),諸如同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非揮發性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體及其類似者。另外或替代地,該等技術可至少部分由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如經傳播的信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知之處理器、控制器、微控制器或狀態機。處理器亦可實施為計算裝置之組合,例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器或任何其他此類組態。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或設備。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編解碼器)中。
本發明之說明性實例包括:
實例1:一種寫碼視訊資料之方法。該方法包含:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該一區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
實例2:如實例1之方法,其進一步包含:基於用於該區塊之該照明補償之該停用將與該區塊相關聯之一照明補償旗標之一值設定為假,其中經設定為假的該照明補償旗標之該值指示針對該區塊停用照明補償。
實例3:如實例1或2中任一項之方法,其進一步包含:判定視訊資料之該圖像之一不同區塊之一大小是否大於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否小於與該視訊寫碼管線結構相關聯之該第二區塊大小;判定該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小且小於與該視訊寫碼管線結構相關聯之該第二區塊大小;及基於該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小並小於與該視訊寫碼管線結構相關聯之該第二區塊大小啟用用於該不同區塊之照明補償。
實例4:如實例3之方法,其進一步包含基於用於該不同區塊之該照明補償之該停用將與該不同區塊相關聯之一照明補償旗標之一值設定為真,其中經設定為真的該照明補償旗標之該值指示針對該不同區塊停用照明補償。
實例5:如實例3或4中任一項之方法,其進一步包含:基於該區塊之一或多個相鄰區塊及經選擇用於該區塊之框間預測的一參考區塊之一或多個額外相鄰區塊導出用於該不同區塊之一或多個照明補償參數;基於該一或多個照明補償參數將照明補償應用於該不同區塊;及基於應用於該區塊的該照明補償而重建構該區塊之一樣本。
實例6:如實例1至5中任一項之方法,其進一步包含:基於該區塊之該大小小於與該區塊大小限制相關聯之該第一區塊大小判定不將雙向框間預測應用於該區塊。
實例7:如實例6之方法,其中停用用於該區塊之照明補償係基於不將雙向框間預測應用於該區塊的該判定。
實例8:如實例1至7中任一項之方法,其中寫碼視訊資料包含解碼視訊資料,該方法進一步包含:基於一預測模式並在不運用該照明補償之情況下解碼該區塊。
實例9:如實例1至8中任一項之方法,其進一步包含:判定用於該區塊之一殘餘值;執行用於該區塊之一預測模式;及基於用於該區塊之該殘餘值及針對該區塊執行之該預測模式而重建構該區塊之至少一個樣本。
實例10:如實例1至9中任一項之方法,其中寫碼視訊資料包含編碼視訊資料,該方法進一步包含:產生一經編碼視訊位元串流,該經編碼視訊位元串流包括視訊資料之該圖像之該區塊。
實例11:如實例10之方法,其進一步包含:在該經編碼視訊位元串流中發信一或多個照明補償旗標,該一或多個照明補償旗標包含針對區塊停用照明補償的一指示。
實例12:如實例10或11中任一項之方法,其進一步包含:發信該經編碼視訊位元串流。
實例13:如實例12之方法,其中判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者包含判定照明補償受到限制,且其中基於照明補償受到限制的該判定而不在該經編碼視訊位元串流中發信與該區塊相關聯之一照明補償旗標。
實例14:如實例1至13中任一項之方法,其進一步包含:判定視訊資料之該圖像之一不同區塊之該大小是否等於或小於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否大於與該視訊寫碼管線結構相關聯之該第二區塊大小;判定該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該不同區塊之照明補償。
實例15:一種用於寫碼視訊資料之設備。該設備包含至少一個記憶體及實施於電路中之一或多個處理器。該一或多個處理器經組態以:獲得視訊資料之一圖像之一區塊;判定該區塊之一大小;判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該一區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測;判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
實例16:如實例15之設備,其中該一或多個處理器進一步經組態以:基於用於該區塊之該照明補償之該停用將與該區塊相關聯之一照明補償旗標之一值設定為假,其中經設定為假的該照明補償旗標之該值指示針對該區塊停用照明補償。
實例17:如實例15或16中任一項之設備,其中該一或多個處理器進一步經組態以:判定視訊資料之該圖像之一不同區塊之一大小是否大於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否小於與該視訊寫碼管線結構相關聯之該第二區塊大小;判定該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小及小於與該視訊寫碼管線結構相關聯之該第二區塊大小;及基於該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小並小於與該視訊寫碼管線結構相關聯之該第二區塊大小啟用用於該不同區塊之照明補償。
實例18:如實例17之設備,其中該一或多個處理器進一步經組態以:基於用於該不同區塊之該照明補償之該啟用將與該不同區塊相關聯之一照明補償旗標之一值設定為真,其中經設定為真的該照明補償旗標之該值指示針對該不同區塊啟用照明補償。
實例19:如實例17或18中任一項之設備,其中該一或多個處理器進一步經組態以:基於該區塊之一或多個相鄰區塊及經選擇用於該區塊之框間預測的一參考區塊之一或多個額外相鄰區塊導出用於該不同區塊之一或多個照明補償參數;基於該一或多個照明補償參數將照明補償應用於該不同區塊;及基於應用於該區塊的該照明補償而重建構該區塊之一樣本。
實例20:如實例15至19中任一項之設備,其中該一或多個處理器進一步經組態以:基於該區塊之該大小小於與該區塊大小限制相關聯之該第一區塊大小判定不將雙向框間預測應用於該區塊。
實例21:如實例20之設備,其中停用用於該區塊之照明補償係基於不將雙向框間預測應用於該區塊的該判定。
實例22:如實例15至21中任一項之設備,其中寫碼視訊資料包含解碼視訊資料,其中該一或多個處理器進一步經組態以:基於一預測模式並在不運用該照明補償之情況下解碼該區塊。
實例23:如實例15至22中任一項之設備,其中該一或多個處理器進一步經組態以:判定用於該區塊之一殘餘值;執行用於該區塊之一預測模式;及基於用於該區塊之該殘餘值及針對該區塊執行之該預測模式而重建構該區塊之至少一個樣本。
實例24:如實例15至23中任一項之設備,其中寫碼視訊資料包含編碼視訊資料,其中該一或多個處理器進一步經組態以:產生一經編碼視訊位元串流,該經編碼視訊位元串流包括視訊資料之該圖像之該區塊。
實例25:如實例24之設備,其中該一或多個處理器進一步經組態以:在該經編碼視訊位元串流中發信一或多個照明補償旗標,該一或多個照明補償旗標包含針對該區塊停用照明補償的一指示。
實例26:如實例24或25中任一項之設備,其中該一或多個處理器進一步經組態以:發信該經編碼視訊位元串流。
實例27:如實例26之設備,其中判定該區塊之大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者包含判定照明補償受到限制,且其中基於照明補償受到限制的該判定而不在該經編碼視訊位元串流中發信與該區塊相關聯之一照明補償旗標。
實例28:如實例15至27中任一項之設備,其中該一或多個處理器進一步經組態以:判定視訊資料之該圖像之一不同區塊之該大小是否等於或小於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否大於與該視訊寫碼管線結構相關聯之該第二區塊大小;判定該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及基於該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該不同區塊之照明補償。
實例29:如實例15至28中任一項之設備,其中該設備包含具有用於捕捉一或多個圖像之一攝影機的一行動裝置。
實例30:如實例15至29中任一項之設備,其進一步包含用於顯示一或多個圖像之一顯示器。
實例31:一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時,促使該一或多個處理器執行如實例1至14中任一項之方法。
實例32:一種設備,其包含用於執行如實例1至14中之任一項的方法的構件。
實例33:一種處理視訊資料的方法。該方法包含:獲得該視訊資料之一區塊;判定雙向預測並不用於寫碼該視訊資料之該區塊;基於判定雙向預測不用於該區塊而判定不將照明補償應用於該區塊;及處理該視訊資料之該區塊。
實例34:如實例33之方法,其中判定不將照明補償應用於該區塊包括基於判定雙向預測不用於該區塊而停用用於該區塊之照明補償。
實例35:如實例33或34中任一項之方法,其中該區塊包括該視訊資料之一4×4區塊。
實例36:如實例33至35中任一項之方法,其進一步包含回應於判定不將照明補償應用於該區塊而判定不發信用於該區塊之一照明補償旗標,其中一照明補償旗標指示照明補償是否應用於一區塊。
實例37:如實例33至36中任一項之方法,其進一步包含:獲得該視訊資料之一額外區塊;及執行用於該額外區塊之照明補償,其中執行該照明補償包括:導出用於該額外區塊之一或多個照明補償參數;及將該一或多個照明補償參數應用於該額外區塊。
實例38:如實例37之方法,其中用於該區塊之該一或多個照明補償參數係使用相鄰經重建構樣本來導出。
實例39:如實例38之方法,其中該相鄰經重建構樣本係來自該區塊之一第一相鄰區塊及用於框間預測的一參考區塊之一第二相鄰區塊中之一或多者。
實例40:如實例39之方法,其中該第一相鄰區塊包括該區塊之一頂部相鄰區塊或一左側相鄰區塊中之一或多者,且其中該第二相鄰區塊包括該參考區塊之一頂部相鄰區塊或一左側相鄰區塊中之一或多者。
實例41:如實例39或40中任一項之方法,其中導出用於該區塊之該一或多個照明補償參數包括最小化該第一相鄰區塊之經重建構樣本與該第二相鄰區塊之經重建構樣本之間的一差。
實例42:如實例36至41中任一項之方法,其中該一或多個照明補償參數包括至少一個按比例調整因數及至少一個偏移。
實例43:如實例36至42中任一項之方法,其中對該區塊執行該照明補償產生一照明補償預測子,且進一步包含使用該照明補償預測子解碼該區塊。
實例44:如實例36至43中任一項之方法,其進一步包含在一經編碼視訊位元串流中發信該一或多個照明補償參數。
實例45:如實例33至44中任一項之方法,其中處理該視訊資料之該區塊包括解碼該視訊資料區塊。
實例46:如實例33至45中任一項之方法,其中處理該視訊資料之該區塊包括產生一經編碼視訊位元串流,該經編碼視訊位元串流包括該視訊資料區塊。
實例47:如實例46之方法,其進一步包含發信該經編碼視訊位元串流。
實例48:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例33至47中任一項之處理該視訊資料的一處理器的設備。
實例49:如實例48之設備,其中該設備包括一解碼器。
實例50:如實例48之設備,其中該設備包括一編碼器。
實例51:如實例48至50中任一項之設備,其中該設備為一行動裝置。
實例52:如實例48至51中任一項之設備,其中該設備包括經組態以顯示該視訊資料之一顯示器。
實例53:如實例48至52中任一項之設備,其中該設備包括經組態以捕捉一或多個圖像之一攝影機。
實例54:一種電腦可讀媒體,其上儲存有指令,該等指令在由一處理器執行時執行如實例33至47中任一項之方法。
實例55:一種處理視訊資料的方法。該方法包含:獲得該視訊資料;判定與該視訊資料相關聯的一管線結構;對於大於該管線結構中之區塊的該視訊資料之區塊停用照明補償;及處理該視訊資料之一或多個區塊。
實例56:如實例55之方法,其中該管線結構包括一64×64管線結構。
實例57:如實例55至56中任一項之方法,其中停用照明補償所針對之該等區塊包括128×N個區塊,且其中N為一整數。
實例58:如實例55至57中任一項之方法,其進一步包含回應於針對該視訊資料之該等區塊停用照明補償而判定不發信用於該視訊資料之該等區塊的一照明補償旗標,其中一照明補償旗標指示照明補償是否應用於一區塊。
實例59:如實例55至58中任一項之方法,其進一步包含:獲得該視訊資料之一額外區塊;及執行用於該額外區塊之照明補償,其中執行該照明補償包括:導出用於該額外區塊之一或多個照明補償參數;及將該一或多個照明補償參數應用於該額外區塊。
實例60:如實例59之方法,其中用於該區塊之該一或多個照明補償參數係使用相鄰經重建構樣本來導出。
實例61:如實例60之方法,其中該相鄰經重建構樣本係來自該區塊之一第一相鄰區塊及用於框間預測的一參考區塊之一第二相鄰區塊中之一或多者。
實例62:如實例61之方法,其中該第一相鄰區塊包括該區塊之一頂部相鄰區塊或一左側相鄰區塊中之一或多者,且其中該第二相鄰區塊包括該參考區塊之一頂部相鄰區塊或一左側相鄰區塊中之一或多者。
實例63:如實例61或62中任一項之方法,其中導出用於該區塊之該一或多個照明補償參數包括最小化該第一相鄰區塊之經重建構樣本與該第二相鄰區塊之經重建構樣本之間的一差。
實例64:如實例59至63中任一項之方法,其中該一或多個照明補償參數包括至少一個按比例調整因數及至少一個偏移。
實例65:如實例59至64中任一項之方法,其中對該區塊執行該照明補償產生一照明補償預測子,且進一步包含使用該照明補償預測子解碼該區塊。
實例66:如實例59至65中任一項之方法,其進一步包含在一經編碼視訊位元串流中發信該一或多個照明補償參數。
實例67:如實例55至66中任一項之方法,其中處理該視訊資料之該一或多個區塊包括解碼該一或多個視訊資料區塊。
實例68:如實例55至67中任一項之方法,其中處理該視訊資料之該一或多個區塊包括產生一經編碼視訊位元串流,該經編碼視訊位元串流包括該一或多個視訊資料區塊。
實例69:如實例68之方法,其進一步包含發信該經編碼視訊位元串流。
實例70:一種包含經組態以儲存視訊資料之一記憶體及經組態以如實例55至69中任一項之處理該視訊資料的一處理器的設備。
實例71:如實例70之設備,其中該設備包括一解碼器。
實例72:如實例70之設備,其中該設備包括一編碼器。
實例73:如實例70至72中任一項之設備,其中該設備為一行動裝置。
實例74:如實例70至73中任一項之設備,其中該設備包括經組態以顯示該視訊資料之一顯示器。
實例75:如實例70至74中任一項之設備,其中該設備包括經組態以捕捉一或多個圖像之一攝影機。
實例76:一種電腦可讀媒體,其上儲存有指令,該等指令在由一處理器執行時執行如實例55至69中任一項之方法。
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:視訊目的地裝置 702:當前區塊 704:第一參考區塊 706:第二參考區塊 800:方法 802:區塊 804:區塊 806:區塊 808:區塊 810:區塊 900:方法 902:區塊 904:區塊 906:區塊 908:區塊 1000:方法 1002:區塊 1004:區塊 1006:區塊 1008:區塊 1100:實例情形 1102:當前區塊 1104:區塊大小限制 1106:局域照明補償(LIC)旗標 1120:實例情形 1122:當前區塊 1124:區塊大小限制 1126:局域照明補償(LIC)旗標 1140:實例情形 1142:當前區塊 1144:基於管線結構區塊大小之限制 1146:局域照明補償(LIC)旗標 1160:實例情形 1162:當前區塊 1164:基於管線結構區塊大小之限制 1166:局域照明補償(LIC)旗標
下文參考以下圖式詳細描述本申請案之說明性實施例:
圖1為說明根據一些實例之編碼裝置及解碼裝置之實例的方塊圖;
圖2A為說明根據一些實例之用於合併模式之實例空間相鄰運動向量候選者的概念圖;
圖2B為說明根據一些實例之用於進階運動向量預測(AMVP)模式之實例空間相鄰運動向量候選者之概念圖;
圖3A為說明根據一些實例之實例時間運動向量預測子(TMVP)候選者之概念圖;
圖3B為說明根據一些實例之運動向量按比例調整之實例的概念圖;
圖4A為說明根據一些實例的用於估計當前寫碼單元之照明補償(IC)參數的當前寫碼單元之相鄰樣本之實例的概念圖;
圖4B為說明根據一些實例的用於估計當前寫碼單元之IC參數的參考區塊之相鄰樣本之實例的概念圖;
圖5A為說明根據一些實例的用於導出當前寫碼單元之照明補償(IC)參數的當前寫碼單元之相鄰樣本之實例的概念圖;
圖5B為說明根據一些實例的用於導出當前寫碼單元之IC參數的參考區塊之相鄰樣本之實例的概念圖;
圖6為說明根據一些實例的當前區塊之相鄰經重建構樣本及用於單向框間預測的參考區塊之相鄰樣本的實例的概念圖;
圖7為說明根據一些實例的當前區塊之相鄰經重建構樣本及用於雙向框間預測的兩個參考區塊之相鄰樣本的實例的概念圖;
圖8為說明根據一些實例之用於當處理某些大小之區塊時選擇性限制照明補償的實例方法之流程圖;
圖9為說明根據一些實例之用於解碼視訊資料的方法之實例的流程圖;
圖10為說明根據一些實例之用於編碼視訊資料的方法之實例的流程圖;
圖11A為說明根據一些實例之其中當前區塊之照明補償旗標基於經定義用於視訊寫碼演算法之區塊大小限制而設定為關閉的實例情形之圖;
圖11B為說明根據一些實例之其中當前區塊之照明補償旗標基於經定義用於視訊寫碼演算法之區塊大小限制而設定為接通的實例情形之圖;
圖11C及圖11D為說明根據一些實例之其中當前區塊之照明補償旗標基於經定義用於視訊寫碼演算法的基於管線結構區塊大小之限制而設定的實例情形之圖;
圖12為說明根據一些實例之實例視訊編碼裝置之方塊圖;且
圖13為說明根據一些實例之實例視訊解碼裝置之方塊圖。
800:方法
802:區塊
804:區塊
806:區塊
808:區塊
810:區塊

Claims (30)

  1. 一種寫碼視訊資料之方法,該方法包含: 獲得視訊資料之一圖像之一區塊; 判定該區塊之一大小; 判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測; 判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及 基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
  2. 如請求項1之方法,其進一步包含: 基於用於該區塊之該照明補償之該停用將與該區塊相關聯之一照明補償旗標之一值設定為假,其中經設定為假的該照明補償旗標之該值指示針對該區塊停用照明補償。
  3. 如請求項1之方法,其進一步包含: 判定視訊資料之該圖像之一不同區塊之一大小是否大於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否小於與該視訊寫碼管線結構相關聯之該第二區塊大小; 判定該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小及小於與該視訊寫碼管線結構相關聯之該第二區塊大小;及 基於該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小及小於與該視訊寫碼管線結構相關聯之該第二區塊大小啟用用於該不同區塊之照明補償。
  4. 如請求項3之方法,其進一步包含: 基於用於該不同區塊之該照明補償之該啟用將與該不同區塊相關聯之一照明補償旗標之一值設定為真,其中經設定為真的該照明補償旗標之該值指示針對該不同區塊啟用照明補償。
  5. 如請求項3之方法,其進一步包含: 基於該區塊之一或多個相鄰區塊及經選擇用於該區塊之框間預測的一參考區塊之一或多個額外相鄰區塊導出用於該不同區塊之一或多個照明補償參數; 基於該一或多個照明補償參數應用用於該不同區塊之照明補償;及 基於應用於該區塊之該照明補償而重建構該區塊之一樣本。
  6. 如請求項1之方法,其進一步包含: 基於該區塊之該大小小於與該區塊大小限制相關聯之該第一區塊大小判定不應用用於該區塊之雙向框間預測。
  7. 如請求項6之方法,其中停用用於該區塊之照明補償係基於不應用用於該區塊之雙向框間預測的該判定。
  8. 如請求項1之方法,其中寫碼視訊資料包含解碼視訊資料,該方法進一步包含: 基於一預測模式且在不運用該照明補償之情況下解碼該區塊。
  9. 如請求項1之方法,其進一步包含: 判定用於該區塊之一殘餘值; 執行用於該區塊之一預測模式;及 基於用於該區塊之該殘餘值及針對該區塊執行之該預測模式而重建構該區塊之至少一個樣本。
  10. 如請求項1之方法,其中寫碼視訊資料包含編碼視訊資料,該方法進一步包含: 產生一經編碼視訊位元串流,該經編碼視訊位元串流包括視訊資料之該圖像之該區塊。
  11. 如請求項10之方法,其進一步包含: 在該經編碼視訊位元串流中發信一或多個照明補償旗標,該一或多個照明補償旗標包含針對該區塊停用照明補償的一指示。
  12. 如請求項10之方法,其進一步包含: 發信該經編碼視訊位元串流。
  13. 如請求項12之方法,其中判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者包含判定照明補償受到限制,且其中基於照明補償受到限制的該判定而不在該經編碼視訊位元串流中發信與該區塊相關聯之一照明補償旗標。
  14. 如請求項1之方法,其進一步包含: 判定視訊資料之該圖像之一不同區塊之該大小是否等於或小於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否大於與該視訊寫碼管線結構相關聯之該第二區塊大小; 判定該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及 基於該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該不同區塊之照明補償。
  15. 一種用於寫碼視訊資料之設備,該設備包含: 至少一個記憶體;及 一或多個處理器,其實施於電路中且經組態以: 獲得視訊資料之一圖像之一區塊; 判定該區塊之一大小; 判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測; 判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及 基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
  16. 如請求項15之設備,其中該一或多個處理器經進一步組態以: 基於用於該區塊之該照明補償之該停用將與該區塊相關聯之一照明補償旗標之一值設定為假,其中經設定為假的該照明補償旗標之該值指示針對該區塊停用照明補償。
  17. 如請求項15之設備,其中該一或多個處理器經進一步組態以: 判定視訊資料之該圖像之一不同區塊之一大小是否大於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否小於與該視訊寫碼管線結構相關聯之該第二區塊大小; 判定該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小及小於與該視訊寫碼管線結構相關聯之該第二區塊大小;及 基於該不同區塊之該大小大於與該區塊大小限制相關聯之該第一區塊大小及小於與該視訊寫碼管線結構相關聯之該第二區塊大小啟用用於該不同區塊之照明補償。
  18. 如請求項17之設備,其中該一或多個處理器經進一步組態以: 基於用於該不同區塊之該照明補償之該啟用將與該不同區塊相關聯之一照明補償旗標之一值設定為真,其中經設定為真的該照明補償旗標之該值指示針對該不同區塊啟用照明補償。
  19. 如請求項17之設備,其中該一或多個處理器經進一步組態以: 基於該區塊之一或多個相鄰區塊及經選擇用於該區塊之框間預測的一參考區塊之一或多個額外相鄰區塊導出用於該不同區塊之一或多個照明補償參數; 基於該一或多個照明補償參數應用用於該不同區塊之照明補償;及 基於應用於該區塊之該照明補償而重建構該區塊之一樣本。
  20. 如請求項15之設備,其中該一或多個處理器經進一步組態以: 基於該區塊之該大小小於與該區塊大小限制相關聯之該第一區塊大小判定不應用用於該區塊之雙向框間預測。
  21. 如請求項20之設備,其中停用用於該區塊之照明補償係基於不應用用於該區塊之雙向框間預測的該判定。
  22. 如請求項15之設備,其中寫碼視訊資料包含解碼視訊資料,其中該一或多個處理器經進一步組態以: 基於一預測模式並在不運用該照明補償之情況下解碼該區塊。
  23. 如請求項15之設備,其中該一或多個處理器經進一步組態以: 判定用於該區塊之一殘餘值; 執行用於該區塊之一預測模式;及 基於用於該區塊之該殘餘值及針對該區塊執行之該預測模式而重建構該區塊之至少一個樣本。
  24. 如請求項15之設備,其中寫碼視訊資料包含編碼視訊資料,其中該一或多個處理器經進一步組態以: 產生一經編碼視訊位元串流,該經編碼視訊位元串流包括視訊資料之該圖像之該區塊。
  25. 如請求項24之設備,其中該一或多個處理器經進一步組態以: 在該經編碼視訊位元串流中發信一或多個照明補償旗標,該一或多個照明補償旗標包含針對該區塊停用照明補償的一指示;及 發信該經編碼視訊位元串流。
  26. 如請求項25之設備,其中判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者包含判定照明補償受到限制,且其中基於照明補償受到限制的該判定而不在該經編碼視訊位元串流中發信與該區塊相關聯之一照明補償旗標。
  27. 如請求項15之設備,其中該一或多個處理器經進一步組態以: 判定視訊資料之該圖像之一不同區塊之該大小是否等於或小於與該區塊大小限制相關聯之該第一區塊大小或該不同區塊之該大小是否大於與該視訊寫碼管線結構相關聯之該第二區塊大小; 判定該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及 基於該不同區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小及大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該不同區塊之照明補償。
  28. 如請求項15之設備,其中該設備包含具有用於捕捉一或多個圖像之一攝影機的一行動裝置。
  29. 如請求項15之設備,其進一步包含用於顯示一或多個圖像之一顯示器。
  30. 一種非暫時性電腦可讀媒體,其上儲存有指令,該等指令在由一或多個處理器執行時促使該一或多個處理器進行以下操作: 獲得視訊資料之一圖像之一區塊; 判定該區塊之一大小; 判定該區塊之該大小是否等於或小於與一區塊大小限制相關聯之一第一區塊大小或該區塊之該大小是否大於與一視訊寫碼管線結構相關聯之一第二區塊大小,該區塊大小限制限制對於具有等於或小於與該區塊大小限制相關聯之該第一區塊大小之一各別大小之區塊的雙向框間預測; 判定該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者;及 基於該區塊之該大小為等於或小於與該區塊大小限制相關聯之該第一區塊大小或大於與該視訊寫碼管線結構相關聯之該第二區塊大小中的一者的該判定,停用用於該區塊之照明補償。
TW108147456A 2019-01-03 2019-12-24 用於照明補償之區塊大小限制 TW202042552A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962788117P 2019-01-03 2019-01-03
US62/788,117 2019-01-03
US16/725,775 US11272201B2 (en) 2019-01-03 2019-12-23 Block size restriction for illumination compensation
US16/725,775 2019-12-23

Publications (1)

Publication Number Publication Date
TW202042552A true TW202042552A (zh) 2020-11-16

Family

ID=71403602

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108147456A TW202042552A (zh) 2019-01-03 2019-12-24 用於照明補償之區塊大小限制

Country Status (6)

Country Link
US (1) US11272201B2 (zh)
EP (1) EP3906674A1 (zh)
KR (1) KR20210107021A (zh)
CN (1) CN113287300A (zh)
TW (1) TW202042552A (zh)
WO (1) WO2020142331A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821923B (zh) * 2021-02-26 2023-11-11 弗勞恩霍夫爾協會 允許漂移限制之視訊寫碼概念技術

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032543B2 (en) * 2019-03-22 2021-06-08 Tencent America LLC Method and apparatus for video coding
EP3734972A1 (en) * 2019-05-03 2020-11-04 InterDigital VC Holdings, Inc. High level syntax simplified video coding tool set for small blocks
JP2022532702A (ja) * 2019-05-17 2022-07-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ビデオコーディングシステムおよびビデオコーディング方法
MX2021016088A (es) * 2019-06-21 2022-02-21 Interdigital Vc Holdings France Sas Herencia de indicador de compensación de iluminación local.
US20230021722A1 (en) * 2021-07-20 2023-01-26 Mediatek Inc. Apparatus and method for performing motion vector refinement to get more precise motion vectors
WO2023028965A1 (en) * 2021-09-02 2023-03-09 Nvidia Corporation Hardware codec accelerators for high-performance video encoding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9693077B2 (en) * 2013-12-13 2017-06-27 Qualcomm Incorporated Controlling sub prediction unit (sub-PU) motion parameter inheritance (MPI) in three dimensional (3D) HEVC or other 3D coding
US10887597B2 (en) * 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
US20190200021A1 (en) 2016-09-22 2019-06-27 Lg Electronics Inc. Illumination compensation-based inter-prediction method and apparatus in image coding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821923B (zh) * 2021-02-26 2023-11-11 弗勞恩霍夫爾協會 允許漂移限制之視訊寫碼概念技術

Also Published As

Publication number Publication date
US11272201B2 (en) 2022-03-08
US20200221111A1 (en) 2020-07-09
EP3906674A1 (en) 2021-11-10
KR20210107021A (ko) 2021-08-31
CN113287300A (zh) 2021-08-20
WO2020142331A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
TWI826546B (zh) 對以歷史為基礎之運動向量預測器之改良
US10999594B2 (en) Virtual search area for current picture referencing (CPR) and intra block copy (IBC)
US11140408B2 (en) Affine motion prediction
CN109792518B (zh) 处理视频数据的方法、设备和非暂时性计算机可读介质
TW202037163A (zh) 改善的子劃分內預測
TW202042552A (zh) 用於照明補償之區塊大小限制
US11290743B2 (en) Interaction of illumination compensation with inter-prediction
TW202110178A (zh) 具有可切換濾波器之參考圖像重新取樣
CN114982246A (zh) 环路滤波器的自适应舍入
CN114402617A (zh) 利用矢量裁剪的仿射译码
US11388394B2 (en) Local illumination compensation (LIC) for virtual pipeline data units (VPDUS)
KR20220032016A (ko) 래스터-스캔 슬라이스들에 걸친 적응적 루프 필터링
KR20230150284A (ko) 효율적인 비디오 인코더 아키텍처
US11356707B2 (en) Signaling filters for video processing
TW202031052A (zh) 用於照明補償模式之刪剪