TW201742459A - 對視訊進行解碼的裝置 - Google Patents

對視訊進行解碼的裝置 Download PDF

Info

Publication number
TW201742459A
TW201742459A TW106128861A TW106128861A TW201742459A TW 201742459 A TW201742459 A TW 201742459A TW 106128861 A TW106128861 A TW 106128861A TW 106128861 A TW106128861 A TW 106128861A TW 201742459 A TW201742459 A TW 201742459A
Authority
TW
Taiwan
Prior art keywords
unit
size
coding
conversion
depth
Prior art date
Application number
TW106128861A
Other languages
English (en)
Other versions
TWI640191B (zh
Inventor
金讚烈
金宰賢
朴正煇
Original Assignee
三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三星電子股份有限公司 filed Critical 三星電子股份有限公司
Publication of TW201742459A publication Critical patent/TW201742459A/zh
Application granted granted Critical
Publication of TWI640191B publication Critical patent/TWI640191B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4068Parameterized codes
    • H03M7/4075Golomb codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6035Handling of unkown probabilities
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

一種用以更新轉換係數準位之熵編碼/解碼所用之參數的方法。使用參數以將表示轉換係數準位的語法元素進行二元化。將先前轉換係數的尺寸與預定臨界值做比較,且根據比較結果來更新或保留參數,其中預定臨界值是基於先前轉換係數準位語法元素實施反二元化時所用的先前參數而獲得。預定臨界值經設定以具有與先前參數成比例的值,當先前參數被更新時,更新後的參數相比先前參數而言具有逐步增大的值。

Description

對視訊進行解碼的裝置
本發明是有關於視訊編碼與解碼,且特別是有關於將轉換係數尺寸資訊之熵編碼/解碼所用的參數進行更新的方法和裝置。
根據MPEG-1、MPEG-2或MPEG-4 H.264/MPEG-4先進視訊編碼(advanced video coding, AVC)等影像壓縮方法,影像被分割成具有預定尺寸的區塊(blocks),然後透過畫面間預測(inter prediction)或畫面內預測(intra prediction)來獲得這些區塊的殘餘資料。透過轉換、量化、掃描、游程編碼(run length coding)以及熵編碼(entropy coding)將殘餘資料壓縮。在熵編碼中,諸如轉換係數或運動向量等語法元素被執行熵編碼以輸出位元流(bit stream)。在解碼器端,從位元流中提取語法元素,且基於所提取的語法元素來進行解碼。
本發明提供一種更新參數的方法,此方法將轉換係數準位之熵編碼/解碼所用的突變參數變為逐步變化,而防止所述參數發生突變。
本發明也提供一種使用二元化法(binarization method)(如Golomb-rice法或級聯碼(concatenate code)法)將轉換係數準位等語法元素二元化時對所用的參數進行更新的方法。
依照本發明的各實施例,提供一種參數更新方法,此方法使轉換係數準位之二元化所用的參數逐步更新。
依照本發明的各實施例,透過逐步改變轉換係數準位資訊之熵編碼所用的參數,可減少編碼過程中所產生的位元數,且可增大影像的增益(gain)。
依照本發明的一觀點,提供一種用以更新轉換係數準位之熵解碼所用之參數的方法,此方法包括:從位元流中解析出表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素;將當前轉換係數之前被還原的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於先前參數而獲得,而先前參數用於表示先前轉換係數尺寸的先前轉換係數準位語法元素的反二元化(de-binarization);根據測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的當前轉換係數準位語法元素實施反二元化時所用的參數;以及使用所獲得的參數對當前轉換係數準位語法元素進行反二元化,以獲得當前轉換係數的尺寸,其中預定臨界值經設定以具有與先前參數成比例的值,當先前參數被更新時,更新後的參數相比先前參數而言具有逐步增大的值。
依照本發明的另一觀點,提供一種將轉換係數準位進行熵解碼的裝置,此裝置包括:解析單元,從位元流中解析出表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素;參數測定單元,其將當前轉換係數之前被還原的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於先前參數而獲得,而先前參數用於表示先前轉換係數尺寸的先前轉換係數準位語法元素的反二元化,參數測定單元根據測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的當前轉換係數準位語法元素實施反二元化時所用的參數;語法元素還原單元,其使用所獲得的參數以將當前轉換係數準位語法元素進行反二元化,以獲得當前轉換係數的尺寸,其中預定臨界值經設定以具有與先前參數成比例的值,當先前參數被更新時,更新後的參數相比先前參數而言具有逐步增大的值。
依照本發明的另一觀點,提供一種用以更新轉換係數準位之熵編碼所用之參數的方法,此方法包括:按預定的掃描次序來獲得表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素;將當前轉換係數之前被編碼的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於先前參數而獲得,而先前參數用於表示先前轉換係數尺寸的先前轉換係數準位語法元素的二元化;根據測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的當前轉換係數準位語法元素實施二元化時所用的參數;以及使用所獲得的參數以將當前轉換係數的轉換係數準位語法元素進行二元化,以輸出與當前轉換係數的轉換係數準位語法元素相對應的位元串(bit string),其中預定臨界值經設定以具有與先前參數成比例的值,當先前參數被更新時,更新後的參數相比先前參數而言具有逐步增大的值。
依照本發明的另一觀點,提供一種對轉換係數準位進行熵編碼的裝置,此裝置包括:參數測定單元,其按預定的掃描次序來獲得表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素,將當前轉換係數之前被編碼的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於先前參數而獲得,而先前參數用於表示先前轉換係數尺寸的先前轉換係數準位語法元素的二元化,參數測定單元根據測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的當前轉換係數準位語法元素實施二元化時所用的參數;位元串產生單元,其使用所獲得的參數以將當前轉換係數的轉換係數準位語法元素進行二元化,以輸出與當前轉換係數的轉換係數準位語法元素相對應的位元串,其中預定臨界值經設定以具有與先前參數成比例的值,當先前參數被更新時,更新後的參數相比先前參數而言具有逐步增大的值。
下面將參照圖1至圖13來描述依照本發明之一實施例的一種用以更新轉換單元尺寸資訊之熵編碼/解碼所用之參數的方法和裝置。另外,一種對語法元素進行熵編碼/解碼的方法將參照14至圖29來做詳細闡述,其中語法元素是使用參照圖1至圖13所述的視訊熵編碼/解碼方法而獲得。當諸如“至少其一”等表述形式出現在一系列元素之前時,可更改整列元素,但不可更改此列元素的單個元素。
圖1是依照本發明之一實施例的視訊編碼裝置的方塊圖。
此視訊編碼裝置100包括階層式編碼器(hierarchical encoder)110和熵編碼器120。
階層式編碼器110可以預定的資料單元為單位來分割要進行編碼的當前圖像,以對每個資料單元進行編碼。詳細而言,階層式編碼器110可基於最大編碼單元來分割當前圖像,其中最大編碼單元是指最大尺寸的編碼單元。依照本發明之一實施例的最大編碼單元可以是尺寸為32×32、64×64、128×128、256×256等的資料單元,其中資料單元的形狀為將寬度和長度求平方且大於8的正方形。
依照本發明之一實施例的編碼單元的特徵在於其最大尺寸和深度。深度是指從最大編碼單元開始對此編碼單元進行空間分割的次數,當深度加深時,可從最大編碼單元至最小編碼單元將依深度而不同的較深編碼單元進行分割。最大編碼單元的深度為最高深度,且最小編碼單元的深度為最低深度。由於每個深度所對應的編碼單元的尺寸隨著最大編碼單元深度的加深而減小,故對應於較高深度的編碼單元可包括多個對應於較低深度的編碼單元。
如上文所述,根據編碼單元的最大尺寸,當前圖像的影像資料被分割成最大編碼單元,且每個最大編碼單元可包括依據深度來進行分割的較深編碼單元。由於依照本發明之一實施例的最大編碼單元是依據深度來進行分割,故最大編碼單元所包含的空間領域(spatial domain)影像資料可依據深度來進行階層式劃分。
編碼單元的最大深度和最大尺寸可預先確定,其限定了最大編碼單元的高度和寬度以階層方式被分割的總次數。
階層式編碼器110對依據深度來分割最大編碼單元的區域而獲得的至少一個分割區進行編碼,且確定深度以根據此至少一個分割區來最終輸出經編碼的影像資料。換言之,階層式編碼器110根據當前圖像的最大編碼單元對依深度而不同的較深編碼單元中的影像資料進行編碼,且選擇具有最小編碼誤差的深度,從而確定編碼深度。依據最大編碼單元而確定的編碼深度和經編碼影像資料被輸出至熵編碼器120。
基於至少一個等於或小於最大深度的深度所對應的較深編碼單元,將最大編碼單元中的影像資料編碼,且基於每個較深編碼單元來比較影像資料編碼的結果。在將較深編碼單元的編碼誤差做比較後,可選擇具有最小編碼誤差的深度。每個最大編碼單元可選擇至少一個編碼深度。
當依據深度對編碼單元進行階層式分割時以及當編碼單元的數量增加時,最大編碼單元的尺寸被分割。另外,即使多個編碼單元對應於一個最大編碼單元內的同一深度,也要透過分別測定每個編碼單元的影像資料的編碼誤差來判斷是否將同一深度所對應的每個編碼單元向更低深度分割。因此,即使當影像資料包含在一個最大編碼單元內時,此影像資料仍被分割成依深度而不同的多個區域,且在一個最大編碼單元內,編碼誤差會依區域而不同,故在此影像資料中,編碼深度也會依區域而不同。如此一來,一個最大編碼單元內可確定一個或一個以上的編碼深度,且最大編碼單元的影像資料可依據至少一個編碼深度的編碼單元來進行劃分。
因此,階層式編碼器110可確定包含在最大編碼單元內的具有樹狀結構的編碼單元。依照本發明之一實施例的“具有樹狀結構的編碼單元”包括最大編碼單元所包含的所有較深編碼單元當中與確定為編碼深度的深度相對應的編碼單元。可在最大編碼單元的相同區域內依據不同深度以階層方式來確定具有編碼深度的編碼單元,也可在不同區域內獨立地來確定。類似地,當前區域的編碼深度可獨立於另一區域的編碼深度來確定。
依照本發明之一實施例的最大深度是指從最大編碼單元至最小編碼單元實施分割的次數的相關指標。依照本發明之一實施例的第一最大深度可表示從最大編碼單元至最小編碼單元實施分割的總次數。依照本發明之一實施例的第二最大深度可表示從最大編碼單元至最小編碼單元的深度階層總數。舉例而言,當最大編碼單元的深度為0時,若最大編碼單元被分割一次,則編碼單元的深度可設定為1,若最大編碼單元被分割兩次,則編碼單元的深度可設定為2。此時,若最小編碼單元是最大編碼單元被分割四次後的編碼單元,則存在著五個深度階層,即深度0、1、2、3及4,故第一最大深度可設定為4,且第二最大深度可設定為5。
預測編碼和轉換可依據最大編碼單元來執行。預測編碼和轉換也可基於依深度(等於或小於最大深度)而不同的較深編碼單元且依據最大編碼單元來執行。
當依據深度來分割最大編碼單元時,較深編碼單元的數量隨之增加,故隨著深度的加深而產生的所有較深編碼單元都被實施包括預測編碼在內的編碼和轉換。為了便於闡述,下面將根據最大編碼單元內的當前深度編碼單元來闡述預測編碼和轉換。
視訊編碼裝置100可以各種方式選擇資料單元的尺寸或形狀來對影像資料進行編碼。為了對影像資料進行編碼,可執行各種操作,如預測編碼、轉換以及熵編碼。此時,可對所有的操作使用相同的資料單元,也可對每個操作使用不同的資料單元。
舉例而言,視訊編碼裝置100既可選擇編碼單元來進行影像資料編碼,也可選擇不同於編碼單元的資料單元來對編碼單元中的影像資料實施預測編碼。
為了在最大編碼單元內實施預測編碼,可基於編碼深度所對應的編碼單元(也就是,基於不再被分割成更低深度編碼單元的編碼單元)來實施預測編碼。在下文中,不再被分割且成為實施預測編碼的基本單元的編碼單元被稱為“預測單元”。藉由分割預測單元而獲得的分區(partition)可包括藉由分割此預測單元的高度和寬度的至少其一而獲得的預測單元或資料單元。
舉例而言,當2N×2N(其中N為正整數)編碼單元不再被分割且成為2N×2N預測單元時,分區的尺寸可以為2N×2N、2N×N、N×2N或N×N。分區類型的示例包括:以對稱方式來分割預測單元的高度或寬度而獲得的對稱式分區;以不對稱方式來分割預測單元的高度或寬度(如1:n或n:1)而獲得的分區;以幾何方式來分割預測單元而獲得的分區;以及呈任意形狀的分區。
預測單元的預測模式可以是畫面內模式(intra mode)、畫面間模式(inter mode)以及略過模式(skip mode)的至少其一。舉例而言,畫面內模式或畫面間模式可對2N×2N、2N×N、N×2N或N×N的分區執行。另外,略過模式只可對2N×2N分區執行。對編碼單元中的一個預測單元獨立進行編碼,從而選擇具有最小編碼誤差的預測模式。
視訊編碼裝置100也可對編碼單元中的影像資料進行轉換,這不僅要基於實施影像資料編碼的編碼單元,而且要基於不同於編碼單元的資料單元。
為了在編碼單元中實施轉換,可基於尺寸小於或等於編碼單元的資料單元來實施轉換。舉例而言,用於轉換的資料單元可包括用於畫面內模式的資料單元和用於畫面間模式的資料單元。
用作轉換基礎的資料單元現在將稱為“轉換單元”。與編碼單元類似的是,編碼單元中的轉換單元可以遞迴方式(recursively)被分割成較小尺寸的區域,從而以區域為單位來獨立確定轉換單元。如此一來,編碼單元中的殘餘資料可依據具有樹狀結構的轉換單元依轉換深度來進行劃分。
轉換深度也可在轉換單元內設定,其表示藉由分割編碼單元的高度和寬度來實施分割以達到轉換單元的次數。舉例而言,在2N×2N的當前編碼單元中,當轉換單元的尺寸為2N×2N時,轉換深度可為0,當轉換單元的尺寸為N×N時,轉換深度可為1,且當轉換單元的尺寸為N/2×N/2時,轉換深度可為2。也就是說,也可根據轉換深度來設定具有樹狀結構的轉換單元。
對應於編碼深度之編碼單元的編碼資訊不僅需要與編碼深度有關的資訊,也需要與預測編碼及轉換有關的資訊。因此,階層式編碼器110不僅要確定具有最小編碼誤差的編碼深度,也要確定預測單元的分區類型、依預測單元而不同的預測模式以及用於轉換的轉換單元的尺寸。
後文將參照圖3至圖12來詳細闡述依照本發明之各實施例的最大編碼單元中的具有樹狀結構的編碼單元以及一種確定分區的方法。
階層式編碼器110可採用基於拉格朗日乘子(Lagrangian multipliers)的位元率失真最佳化(Rate-Distortion Optimization)來測定依深度而不同的較深編碼單元的編碼誤差。
熵編碼器120以位元流的形式輸出最大編碼單元的影像資料以及依編碼深度而不同的編碼模式的相關資訊,其中影像資料已基於階層式編碼器110所確定的至少一個編碼深度進行了編碼。經編碼的影像資料可以是影像殘餘資料的編碼結果。依編碼深度而不同的編碼模式的相關資訊可包括編碼深度資訊、預測單元的分區類型資訊、預測模式資訊以及轉換單元的尺寸資訊。具體而言,將如同後文所述,對表示轉換單元尺寸的語法元素進行熵編碼時,熵編碼器120會依據位元串使用逐步更新的參數以將表示轉換單元尺寸的語法元素進行二元化。使用熵編碼單元120對轉換單元進行熵編碼的操作將在後文做詳細敍述。
編碼深度資訊可使用依深度而不同的分割資訊來定義,其表示是否對較低深度而不是當前深度的編碼單元進行編碼。若當前編碼單元的當前深度是編碼深度,則當前編碼單元中的影像資料會被編碼且被輸出,如此一來,分割資訊可定義為不將當前編碼單元向更低深度分割。或者,若當前編碼單元的當前深度不是編碼深度,則對較低深度的編碼單元進行編碼,如此一來,分割資訊可定義為分割當前編碼單元以獲得較低深度的編碼單元。
若當前深度不是編碼深度,則對被分割成更低深度編碼單元的編碼單元進行編碼。因為一個當前深度編碼單元中存在著至少一個較低深度編碼單元,所以要對每個較低深度編碼單元重複實施編碼,如此一來,對於具有相同深度的多個編碼單元,可以遞迴方式來實施編碼。
因為具有樹狀結構的編碼單元是針對一個最大編碼單元來確定,且關於至少一種編碼模式的資訊是針對編碼深度的編碼單元來確定,故可針對一個最大編碼單元來確定關於至少一種編碼模式的資訊。另外,由於最大編碼單元的影像資料是依深度來進行階層式分割,所以影像資料的編碼深度可能依位置而不同,故可針對影像資料來設定編碼深度及編碼模式之資訊。
因此,熵編碼器120可將對應編碼深度及編碼模式的相關編碼資訊分配給編碼單元、預測單元以及最大編碼單元所含的最小單元的至少其一。
依照本發明之一實施例的最小單元是將構成最低深度的最小編碼單元分割成4部分而獲得的正方形資料單元。或者,最小單元可以是最大編碼單元所包含的所有編碼單元、預測單元、分區單元以及轉換單元當中可能包含的最大正方形資料單元。
舉例而言,經由熵編碼器120而輸出的編碼資訊可分為編碼單元的編碼資訊和預測單元的編碼資訊。編碼單元的編碼資訊可包括關於預測模式和關於分區尺寸的資訊。預測單元的編碼資訊可包括關於畫面間模式的預估方向、關於畫面間模式的參考影像指標、關於運動向量、關於畫面內模式的色度分量(chroma component)以及關於畫面內模式的內插法(interpolation method)的資訊。另外,根據圖像、畫面片段(slices)或圖像群組(group of pictures, GOPs)而定義的編碼單元最大尺寸資訊以及最大深度資訊可被插入到位元流的標頭(header)。
在視訊編碼裝置100中,較深編碼單元可以是將較高深度編碼單元的高度或寬度分成兩部分而獲得的編碼單元,其中較高深度是指上面一層。換言之,當當前深度編碼單元的尺寸為2N×2N時,較低深度編碼單元的尺寸為N×N。另外,尺寸為2N×2N的當前深度編碼單元可包括最多四個較低深度編碼單元。
因此,基於最大編碼單元的尺寸和視當前圖像的特性而確定的最大深度,視訊編碼裝置100可為每個最大編碼單元確定具有最佳形狀和最佳尺寸的編碼單元,以形成具有樹狀結構的編碼單元。另外,因為可使用各種預測模式和轉換方式中的任意一種來對每個最大編碼單元實施編碼,故可以視各種影像尺寸的編碼單元的特性來確定最佳編碼模式。
如此一來,若以傳統的巨區塊(macroblock)來對具有高解析度或資料量較大的影像進行編碼,則每個圖像的巨區塊數量會過度增加。因此,針對每個巨區塊而產生的壓縮資訊的數量會增加,故傳送壓縮資訊變得困難,且資料壓縮效率降低。然而,若使用視訊編碼裝置100,則影像壓縮效率會增大,因為考量影像的特性來調節編碼單元的同時還考量影像的尺寸來增大編碼單元的最大尺寸。
圖2是依照本發明之一實施例的視訊解碼裝置的方塊圖。
視訊解碼裝置200包括解析器210、熵解碼器220以及階層式解碼器230。視訊解碼裝置200的各種操作所用的各種術語(如編碼單元、深度、預測單元、轉換單元以及各種編碼模式資訊)的定義與參照圖1和視訊編碼裝置100所述的那些術語相同。
解析器210接收經編碼視訊的位元流,以解析出語法元素。熵解碼器220對解析出來的語法元素進行熵解碼,從而基於某種結構之編碼單元來提取表示經編碼影像資料的語法元素,且將所提取的語法元素輸出給階層式解碼器230。也就是說,熵解碼器220對以位元串0和1的形式接收的語法元素進行熵解碼,從而還原此語法元素。
另外,熵解碼器220從解析出來的位元流中提取編碼深度資訊、編碼模式資訊、顏色分量資訊、預測模式資訊等等,給每個最大編碼單元的具有樹狀結構的編碼單元使用。所提取的編碼深度及編碼模式資訊被輸出給階層式解碼器230。位元流中的影像資料被分割成最大編碼單元,使得階層式解碼器230可對每個最大編碼單元進行影像資料解碼。
依最大編碼單元而不同的編碼深度及編碼模式資訊可設定為編碼深度所對應的至少一個編碼單元的相關資訊,且編碼模式資訊可包括對應於編碼深度的對應編碼單元的分區類型資訊、預測模式資訊以及轉換單元尺寸資訊。另外,依深度而不同的分割資訊可被提取出來作為編碼深度資訊。
被熵解碼器220提取的依每個最大編碼單元而不同的編碼深度及編碼模式資訊是指,當編碼器(如視訊編碼裝置100)對每個最大編碼單元中依深度而不同的每個較深編碼單元重複進行編碼時經確定以產生最小編碼誤差的編碼深度及編碼模式資訊。因此,視訊解碼裝置200可依據產生最小編碼誤差的編碼深度及編碼模式來進行影像資料解碼,從而還原影像。
因為與編碼深度及編碼模式有關的編碼資訊可分配給對應的編碼單元、預測單元以及最小單元當中的預定資料單元,故熵解碼器220可依據預定資料單元來提取編碼深度及編碼模式資訊。當對應的最大編碼單元的編碼深度及編碼模式資訊被分配給每個預定資料單元時,被分配以相同編碼深度及編碼模式資訊的預定資料單元可推斷為包含在同一最大編碼單元中的資料單元。
另外,將如後文所述,熵解碼器220使用逐步更新的參數對表示轉換係數尺寸的語法元素進行反二元化。使用熵解碼器220對表示轉換單元尺寸的語法元素所對應的位元串進行反二元化來獲得轉換係數尺寸資訊的操作將在後文做詳細敍述。
階層式解碼器230基於依最大編碼單元而不同的編碼深度及編碼模式資訊來對每個最大編碼單元進行影像資料解碼,從而還原當前圖像。換言之,階層式解碼器230可基於所提取的分區類型資訊、預測模式資訊以及關於轉換單元的資訊對每個最大編碼單元所包含的具有樹狀結構的編碼單元當中的每個編碼單元進行經編碼影像資料解碼。解碼過程可包括:預測,其包括畫面內預測和運動補償(motion compensation);以及逆轉換。
基於依編碼深度而不同的編碼單元的預測單元的分區類型及預測模式資訊,階層式解碼器230可依據每個編碼單元的分區及預測模式來進行畫面內預測或運動補償。
另外,基於依編碼深度而不同的編碼單元的轉換單元尺寸資訊,階層式解碼器230可對編碼單元的每個轉換單元實施逆轉換,從而對最大編碼單元實施逆轉換。
階層式解碼器230可使用依深度而不同的分割資訊來確定當前最大編碼單元的至少一個編碼深度。若分割資訊表示當前深度的影像資料不再被分割,則當前深度便是編碼深度。因此,階層式解碼器230可使用預測單元的分區類型資訊、預測模式資訊以及轉換單元尺寸資訊來對當前深度編碼單元關於當前最大編碼單元的影像資料進行解碼。
換言之,藉由觀察編碼單元、預測單元以及最小單元當中分配給預定資料單元的編碼資訊集(information set),可將包含具有相同分割資訊之編碼資訊的資料單元集中在一起,且這些集中在一起的資料單元可視為將被階層式解碼器230以相同編碼模式來進行解碼的一個資料單元。
視訊解碼裝置200可獲得關於至少一個編碼單元的資訊,且可使用此資訊以將當前圖像解碼,其中在以遞迴方式對每個最大編碼單元實施編碼時,此資訊產生最小編碼誤差。換言之,在每個最大編碼單元中經確定為最佳編碼單元的具有樹狀結構的編碼單元的經編碼影像資料可被解碼。
因此,即使影像資料具有高解析度和大量資料,也可使用編碼單元的尺寸和編碼模式來對影像資料進行有效解碼和還原,其中編碼單元的尺寸和編碼模式是依據影像資料的特性使用從編碼器接收的最佳編碼模式資訊以自適應方式來確定。
下面將參照圖3至圖13來闡述依照本發明之一實施例的一種確定具有樹狀結構的編碼單元、預測單元以及轉換單元的方法。
圖3是依照本發明之一實施例來闡述編碼單元之概念的圖式。
編碼單元的尺寸可用寬×高來表示,且可以是64×64、32×32、16×16以及8×8。64×64編碼單元可被分割成64×64、64×32、32×64或32×32的分區;32×32編碼單元可被分割成32×32、32×16、16×32或16×16的分區;16×16編碼單元可被分割成16×16、16×8、8×16或8×8的分區;以及8×8編碼單元可被分割成8×8、8×4、4×8或4×4的分區。
關於視訊資料310,經設定,解析度為1920×1080,編碼單元的最大尺寸為64,且最大深度為2。關於視訊資料320,經設定,解析度為1920×1080,編碼單元的最大尺寸為64,且最大深度為3。關於視訊資料330,解析度為352×288,編碼單元的最大尺寸為16,且最大深度為1。圖3所示之最大深度表示從最大編碼單元到最小編碼單元實施分割的總次數。
若解析度較高或資料量較大,則編碼單元的最大尺寸可能較大,從而不僅能提高編碼效率而且能精確地反映影像的特性。因此,比視訊資料330具有較高解析度的視訊資料310和320的編碼單元的最大尺寸可以是64。
因為視訊資料310的最大深度為2,故視訊資料310的編碼單元315可包括:長軸尺寸為64的最大編碼單元;以及長軸尺寸為32和16的編碼單元,因為最大編碼單元被分割兩次而使得深度加深兩層。與此同時,因為視訊資料330的最大深度為1,故視訊資料330的編碼單元335可包括:長軸尺寸為16的最大編碼單元;以及長軸尺寸為8的編碼單元,因為最大編碼單元被分割一次而使得深度加深一層。
因為視訊資料320的最大深度為3,故視訊資料320的編碼單元325可包括:長軸尺寸為64的最大編碼單元;以及長軸尺寸為32、16和8的編碼單元,因為最大編碼單元被分割三次而使得深度加深3層。隨著深度的加深,可精確地表示詳細資訊。
圖4是依照本發明之一實施例的以具有階層式結構之編碼單元為主的視訊編碼器400的方塊圖。
畫面內預測器410以畫面內模式對編碼單元就當前畫面(frame)405來實施畫面內預測,且運動估測器420和運動補償器425使用當前畫面405和參考畫面495以畫面間模式對編碼單元分別實施畫面間估測和運動補償。
從畫面內預測器410、運動估測器420以及運動補償器425輸出的資料經由轉換器430和量化器440而輸出為經量化之轉換係數。經量化之轉換係數經由逆量化器460和逆轉換器470而還原為空間領域資料,且還原後的空間領域資料在經由解塊單元(deblocking unit)480和環路濾波單元490實施後期處理(post-processed)後被輸出為參考畫面495。經量化之轉換係數可經由熵編碼器450而輸出為位元流455。
熵編碼器450以算術方式對與轉換單元有關的語法元素進行編碼,如表示轉換單元的位置(非0)的重要圖(significance map)、表示轉換單元的數值是否大於1的第一臨界值旗標(coeff_abs_level_greater1_flag)、表示轉換單元的數值是否大於2的第二臨界值旗標(coeff_abs_level_greather2_flag)以及基於第一臨界值旗標和第二臨界值旗標而確定的基本準位(baseLevel)與實際轉換係數(abscoeff)之間的差所對應的轉換係數之尺寸資訊(coeff_abs_level_remaining)。
為了將視訊編碼器400應用於視訊編碼裝置100,視訊編碼器400的所有元件(即,畫面內預測器410、運動估測器420、運動補償器425、轉換器430、量化器440、熵編碼器450、逆量化器460、逆轉換器470、解塊單元480以及環路濾波單元490)都必須基於具有樹狀結構的編碼單元當中的每個編碼單元並考量每個最大編碼單元的最大深度來實施各項操作。
具體而言,畫面內預測器410、運動估測器420以及運動補償器425在考量當前最大編碼單元的最大尺寸和最大深度的同時確定具有樹狀結構的編碼單元當中的每個編碼單元的分區和預測模式,且轉換器430確定具有樹狀結構的編碼單元當中的每個編碼單元的轉換單元的尺寸。
圖5是依照本發明之一實施例的以具有編碼單元為主的視訊解碼器的方塊圖。
解析器510從位元流505中解析出要解碼的經編碼影像資料以及實施解碼所需的編碼資訊。經編碼影像資料經過解碼器520和逆量化器530而輸出逆量化的資料。熵解碼器520從位元流獲得與轉換單元有關的元素,也就是,表示轉換單元的位置(非0)的重要圖(significance map)、表示轉換單元的數值是否大於1的第一臨界值旗標(coeff_abs_level_greater1_flag)、表示轉換單元的數值是否大於2的第二臨界值旗標(coeff_abs_level_greather2_flag)以及基於第一臨界值旗標和第二臨界值旗標而確定的基本準位(baseLevel)與實際轉換係數(abscoeff)之間的差所對應的轉換係數之尺寸資訊(coeff_abs_level_remaining),且熵解碼器520以算術方式對所獲得的語法元素進行解碼,從而還原這些語法元素。
逆轉換器540將逆量化的資料還原為空間領域的影像資料。畫面內預測器550以畫面內模式對編碼單元進行關於空間領域影像資料的畫面內預測,且運動補償器560使用參考畫面585以畫面間模式對編碼單元實施運動補償。
經過了畫面內預測器550和預定補償器560的空間領域影像資料在經由解塊單元570和環路濾波單元580的後期處理後可被輸出為還原的畫面595。另外,由解塊單元570和環路濾波單元580進行了後期處理的影像資料可被輸出為參考畫面585。
為了將視訊解碼器500應用於視訊解碼裝置200,視訊解碼器500的所有元件(即,解析器510、熵解碼器520、逆量化器530、逆轉換器540、畫面內預測器550、運動補償器560、解塊單元570以及環路濾波單元580)都要基於具有樹狀結構的編碼單元來對每個最大編碼單元實施各項操作。
畫面內預測器550和運動補償器560為每個具有樹狀結構的編碼單元確定分區和預測模式,且逆轉換器540必須為每個編碼單元確定轉換單元的尺寸。
圖6是依照本發明之一實施例的依深度而不同的較深編碼單元和分區的圖式。
視訊編碼裝置100和視訊解碼器裝置200使用階層式編碼單元來考量影像的特性。編碼單元的最大高度、最大寬度以及最大深度可依據影像的特性來以自適應方式確定,或者可由使用者來以不同方式設定。依深度而不同的較深編碼單元的尺寸可依據編碼單元的預定最大尺寸來確定。
在依據本發明之一實施例的編碼單元之階層式結構600中,編碼單元的最大深度和最大寬度均為64,且最大深度為4。因為深度沿著階層式結構600的縱軸而加深,故較深編碼單元的高度和寬度都被分割。另外,預測單元和分區沿著階層式結構600的橫軸而繪示,它們是對每個較深編碼單元進行預測編碼的基礎。
換言之,編碼單元610是階層式結構600的最大編碼單元,其中深度為0,且尺寸(即,高×寬)為64×64。深度沿著縱軸而加深,且存在著尺寸為32×32且深度為1的編碼單元620、尺寸為16×16且深度為2的編碼單元630、尺寸為8×8且深度為3的編碼單元640以及尺寸為4×4且深度為4的編碼單元650。尺寸為4×4且深度為4的編碼單元650是最小編碼單元。
編碼單元的預測單元和分區依據每個深度沿著橫軸而排列。換言之,若尺寸為64×64且深度為0的編碼單元610是預測單元,則此預測單元可被分割成編碼單元610所包含的分區,即,尺寸為64×64的分區610、尺寸為64×32的分區612、尺寸為32×64的分區614或尺寸為32×32的分區616。
類似地,尺寸為32×32且深度為1的編碼單元620的預測單元可被分割成編碼單元620所包含的分區,即,尺寸為32×32的分區620、尺寸為32×16的分區622、尺寸為16×32的分區624以及尺寸為16×16的分區626。
類似地,尺寸為16×16且深度為2的編碼單元630的預測單元可被分割成編碼單元630所包含的分區,即,編碼單元630所包含的尺寸為16×16的分區、尺寸為16×8的分區632、尺寸為8×16的分區634以及尺寸為8×8的分區636。
類似地,尺寸為8×8且深度為3的編碼單元640的預測單元可被分割成編碼單元640所包含的分區,即,編碼單元640所包含的尺寸為8×8的分區、尺寸為8×4的分區642、尺寸為4×8的分區644以及尺寸為4×4的分區646。
尺寸為4×4且深度為4的編碼單元650是最小編碼單元和最低深度的編碼單元。編碼單元650的編碼單元僅被分配給尺寸為4×4的分區。
為了確定構成最大編碼單元610的編碼單元的至少一個編碼深度,視訊編碼裝置100的階層式編碼器110會對最大編碼單元610所包含的與每個深度相對應的編碼單元實施編碼。
依深度而不同的較深編碼單元的數量隨著深度的加深而增加,其中依深度而不同的較深編碼單元包含相同範圍、相同尺寸的資料。舉例而言,四個與深度2相對應的編碼單元才能夠覆蓋一個與深度1相對應的編碼單元所包含的資料。因此,為了對比依據不同深度的相同資料的編碼結果,對應於深度1的編碼單元和四個對應於深度2的編碼單元都要被編碼。
為了對多個深度當中的當前深度實施編碼,可沿著階層式結構600的橫軸對當前深度所對應的編碼單元中的每個預測單元實施編碼,從而為當前深度選擇最小編碼誤差。或者,可對比依深度而不同的最小編碼誤差,且當深度沿著階層式結構600的縱軸而加深時對每個深度實施編碼,以搜尋最小編碼誤差。最大編碼單元610中具有最小編碼誤差的深度和分區可被選中作為最大編碼單元610的編碼深度和分區類型。
圖7是依照本發明之一實施例的用來描述編碼單元與轉換單元之間關係的圖式。
視訊編碼裝置100或視訊解碼裝置200依據尺寸小於或等於最大編碼單元的編碼單元來對每個最大編碼單元進行影像編碼或解碼。編碼過程中用於轉換的轉換單元的尺寸可基於不大於對應之編碼單元的資料單元來選擇。
舉例而言,在視訊編碼裝置100或視訊解碼裝置200中,若編碼單元710的尺寸為64×64,則可使用尺寸為32×32的轉換單元720來實施轉換。
另外,尺寸為64×64的編碼單元710的資料可藉由對尺寸為32×32、16×16、8×8以及4×4(其小於64×64)的每個轉換單元實施轉換來進行編碼,然後可選擇具有最小編碼誤差的轉換單元。
圖8是依照本發明之一實施例來描述編碼深度所對應的編碼單元的編碼資訊的圖式。
視訊編碼裝置100的輸出單元130可對分區類型資訊800、預測模式資訊810以及與編碼深度所對應的每個編碼單元的轉換單元的尺寸有關的資訊820進行編碼,且將其作為編碼模式資訊傳送出去。
資訊800表示藉由分割當前編碼單元之預測單元而獲得的分區的形狀的相關資訊,其中此分區是對當前編碼單元進行預測編碼所用的資料單元。舉例而言,尺寸為2N×2N的當前編碼單元CU_0可被分割成尺寸為2N×2N的分區802、尺寸為2N×N的分區804、尺寸為N×2N的分區806以及尺寸為N×N的分區808中的任意一個。此時,關於分區類型的資訊800被設定為表示尺寸為2N×2N的分區802、尺寸為2N×N的分區804、尺寸為N×2N的分區806以及尺寸為N×N的分區808之一。
資訊810表示每個分區的預測模式。舉例而言,資訊810可表示對資訊800所表示的分區實施預測編碼的模式,即,畫面內模式812、畫面間模式814或略過模式816。
資訊820表示對當前編碼單元實施轉換時所基於的轉換單元。舉例而言,轉換單元可以是第一畫面內轉換單元822、第二畫面內轉換單元824、第一畫面間轉換單元826或第二畫面間轉換單元828。
視訊解碼裝置200的影像資料及編碼資料提取單元210可依據每個較深編碼單元來提取和使用關於編碼單元的資訊800、關於預測模式的資訊810以及關於轉換單元尺寸的資訊820從而實施解碼。
圖9是依照本發明之一實施例的依深度而不同的較深編碼單元的圖式。
分割資訊可用來表示深度的變化。分割資訊表示當前深度的編碼單元是否被分割成較低深度的編碼單元。
對深度為0且尺寸為2N_0×2N_0的編碼單元900實施預測編碼的預測單元910可包括尺寸為2N_0×2N_0的分區類型912的分區、尺寸為2N_0×N_0的分區類型914的分區、尺寸為N_0×2N_0的分區類型916的分區以及尺寸為N_0×N_0的分區類型918的分區。圖9僅繪示了以對稱方式分割預測單元910而獲得的分區類型912至918,但分區類型並不限於此,預測單元910的分區可包括不對稱式分區、呈預定形狀的分區以及呈幾何形狀的分區。
依據每個分區類型對尺寸為2N_0×2N_0的一個分區、尺寸為2N_0×N_0的兩個分區、尺寸為N_0×2N_0的兩個分區以及尺寸為N_0×N_0的四個分區重複實施預測編碼。畫面內模式和畫面間模式的預測編碼可對尺寸為2N_0×2N_0、N_0×2N_0、2N_0×N_0以及N_0×N_0的分區實施。略過模式的預測編碼僅對尺寸為2N_0×2N_0的分區實施。
若尺寸為2N_0×2N_0、2N_0×N_0及N_0×2N_0的分區類型912至916之一的編碼誤差最小,則預測單元910可不再被分割成更低深度。
若尺寸為N_0×N_0的分區類型918的編碼誤差最小,則在操作920中,深度由0變為1以分割分區類型918,且對深度為2、尺寸為N_0×N_0的分區類型編碼單元重複實施編碼,以搜尋最小編碼誤差。
對深度為1且尺寸為2N_1×2N_1(=N_0×N_0)的(分區類型)編碼單元930實施預測編碼所用的預測單元940可包括尺寸為2N_1×2N_1的分區類型942的分區、尺寸為2N_1×N_1的分區類型944的分區、尺寸為N_1×2N_1的分區類型946的分區以及尺寸為N_1×N_1的分區類型948的分區。
若尺寸為N_1×N_1的分區類型948中編碼誤差最小,則深度從1變為2,以在操作950中分割分區類型948,且對深度為2、尺寸為N_2×N_2的編碼單元960重複實施編碼,以搜尋最小編碼誤差。
當最大深度為d時,可依據每個深度來進行分割操作,直到深度變為d-1,且可對分割資訊實施編碼直到深度變為0至d-2之一。換言之,在操作970中將深度d-2所對應的編碼單元分割後實施編碼直到深度變為d-1時,對深度為d-1且尺寸為2N_(d-1)×2N_(d-1)的編碼單元980實施預測編碼所用的預測單元990可包括尺寸為2N_(d-1)×2N_(d-1)的分區類型992的分區、尺寸為2N_(d-1)×N_(d-1)的分區類型994的分區、尺寸為N_(d-1)×2N_(d-1)的分區類型996的分區以及尺寸為N_(d-1)×N_(d-1)的分區類型998的分區。
分區類型992至998當中的尺寸為2N_(d-1)×2N_(d-1)的一個分區、尺寸為2N_(d-1)×N_(d-1)的兩個分區、尺寸為N_(d-1)×2N_(d-1)的兩個分區以及尺寸為N_(d-1)×N_(d-1)的四個分區可被重複執行預測編碼,以搜尋具有最小編碼誤差的分區類型。
即使尺寸為N_(d-1)×N_(d-1)的分區類型998具有最小編碼誤差,但由於最大深度為d,所以深度為d-1的編碼單元CU_(d-1)不再向更低深度分割,且構成當前最大編碼單元900的編碼單元的編碼深度經確定為d-1,當前最大編碼單元900的分區類型可確定為N_(d-1)×N_(d-1)。另外,由於最大深度為d,故不必為最小編碼單元952設定分割資訊。
資料單元999可以是當前最大編碼單元的“最小單元”。依照本發明之一實施例的最小單元可以是將最小編碼單元980分成4部分而獲得的矩形資料單元。藉由重複實施編碼,視訊編碼裝置100可對比依編碼單元900之深度而不同的編碼誤差來選擇具有最小編碼誤差的深度以確定編碼深度,且設定對應的分區類型和預測模式作為此編碼深度的編碼模式。
如此一來,對1至d的所有深度中依深度而不同的最小編碼誤差進行對比,且具有最小編碼誤差的深度可確定為編碼深度。編碼深度、預測單元的分區類型以及預測模式可被編碼,且作為編碼模式資訊而被傳送出去。另外,由於從深度0到編碼深度的編碼單元被分割,所以只有編碼深度所對應的分割資訊被設定為0,而除編碼深度外的深度所對應的分割資訊則被設定為1。
視訊解碼裝置200的熵解碼器220可提取和使用與編碼單元900的編碼深度和預測單元有關的資訊以將編碼單元912解碼。視訊解碼裝置200可使用依深度而不同的分割資訊來確定分割資訊為0的深度作為編碼深度,且使用與對應深度的編碼模式有關的資訊來實施解碼。
圖10至圖12是依照本發明之一實施例來描述編碼單元、預測單元以及轉換單元之間關係的圖式。
編碼單元1010是最大編碼單元中由視訊編碼裝置100確定的編碼深度所對應的具有樹狀結構的編碼單元。預測單元1060是每個編碼單元1010的預測單元的分區,且轉換單元1070是每個編碼單元1010的轉換單元。
當編碼單元1010中最大編碼單元的深度為0時,編碼單元1012和1054的深度為1,編碼單元1014、1016、1018、1028、1050及1052的深度為2,編碼單元1020、1022、1024、1026、1030、1032及1048的深度為3,且編碼單元1040、1042、1044及1046的深度為4。
在預測單元1060,藉由分割編碼單元來獲得一些編碼單元1014、1016、1022、1032、1048、1050、1052及1054。換言之,編碼單元1014、1022、1050及1054的分區類型尺寸為2N×N,編碼單元1016、1048及1052的分區類型尺寸為N×2N,且編碼單元1032的分區類型尺寸為N×N。編碼單元1010的預測單元和分區小於或等於每個編碼單元。
以小於編碼單元1052的資料單元的形式對轉換單元1070中的編碼單元1052的影像資料實施轉換或逆轉換。另外,轉換單元1070中的編碼單元1014、1016、1022、1032、1048、1050、1052及1054在尺寸和形狀上不同於預測單元1060中的編碼單元。換言之,視訊編碼單裝置100和視訊解碼裝置200可對相同編碼單元中的資料單元單獨實施畫面內預測、運動估測、運動補償、轉換以及逆轉換。
因此,以遞迴方式對最大編碼單元的每個區域中的每個階層式結構編碼單元來實施編碼以確定最佳編碼單元,從而可獲得呈遞歸樹狀結構的編碼單元。編碼資訊可包括關於編碼單元的分割資訊、關於分區類型的資訊、關於預測模式的資訊以及關於轉換單元之尺寸的資訊。
表1呈現為可由視訊編碼裝置100和視訊解碼裝置200來設定的編碼資訊。 表1
視訊編碼裝置100的熵編碼器120可輸出與具有樹狀結構的編碼單元有關的編碼資訊,且視訊解碼裝置200的熵解碼器220可從所接收的位元流中提取與具有樹狀結構的編碼單元有關的編碼資訊。
分割資訊表示當前編碼單元是否被分割成更低深度的編碼單元。若當前深度d的分割資訊為0,則當前編碼單元不再被分割成更低深度的深度為編碼深度,從而可對此編碼深度來定義與分區類型、預測模式以及轉換單元的尺寸有關的資訊。若當前編碼單元依據分割資訊而進一步被分割,則對更低深度的四個分割編碼單元獨立實施編碼。
預測模式可以是畫面內模式、畫面間模式以及略過模式之一。畫面內模式和畫面間模式可在所有分區類型中定義,而略過模式僅在尺寸為2N×2N的分區類型中定義。
關於分區類型的資訊可表示:尺寸為2N×2N、2N×N、N×2N以及N×N的對稱式分區類型,它們是以對稱方式來分割預測單元的高度或寬度而獲得;以及尺寸為2N×nU、2N×nD、nL×2N以及nR×2N的不對稱式分區類型,它們是以不對稱方式來分割預測單元的高度或寬度而獲得。尺寸為2N×nU和2N×nD的不對稱式分區類型可分別按1:n和n:1(其中n為大於1的整數)來分割預測單元的高度來獲得,且尺寸為nL×2N和nR×2N的不對稱式分區類型可分別按1:n和n:1來分割預測單元的寬度來獲得。
轉換單元的尺寸可設定為畫面內模式中有兩種類型和畫面間模式中有兩種類型。換言之,若轉換單元的分割資訊為0,則轉換單元的尺寸可以是2N×2N,也就是當前編碼單元的尺寸。若轉換單元的分割資訊為1,則可藉由分割當前編碼單元來獲得轉換單元。另外,若尺寸為2N×2N的當前編碼單元的分區類型為對稱式分區類型,則轉換單元的尺寸可以是N×N;若當前編碼單元的分區類型為不對稱式分區類型,則轉換單元的尺寸可以是N/2×N/2。
與具有樹狀結構的編碼單元有關的編碼資訊可包括編碼深度所對應的編碼單元、預測單元以及最小單元的至少其一。編碼深度所對應的編碼單元可包括含有相同編碼資訊的預測單元和最小單元的至少其一。
因此,藉由對比相鄰資料單元的編碼資訊來確定相鄰資料單元是否包含在編碼深度所對應的同一編碼單元內。另外,使用資料單元的編碼資訊來確定編碼深度所對應的編碼單元,從而可確定最大編碼單元中的編碼深度分佈。
因此,若基於相鄰資料單元的編碼資訊來預測當前編碼單元,則可直接參考和使用與當前編碼單元相鄰的較深編碼單元中的資料單元的編碼資訊。
或者,若基於相鄰資料單元的編碼資訊來預測當前編碼單元,則可使用與當前編碼單元相鄰的資料單元的編碼資訊來搜尋這些資料單元,且可參考所搜到的相鄰編碼單元來預測當前編碼單元。
圖13是依照表1之編碼模式資訊來描述編碼單元、預測單元以及轉換單元之間關係的圖式。
最大編碼單元1300包括多個編碼深度之編碼單元1302、1304、1306、1312、1314、1316及1318。當編碼單元1318為某一編碼深度之編碼單元時,分割資訊可設定為0。尺寸為2N×2N的編碼單元1318的分區類型資訊可設定為尺寸為2N×2N的分區類型1322、尺寸為2N×N的分區類型1324、尺寸為N×2N的分區類型1326、尺寸為N×N的分區類型1328、尺寸為2N×nU的分區類型1332、尺寸為2N×nD的分區類型1334、尺寸為nL×2N的分區類型1336以及尺寸為nR×2N的分區類型1338的其中之一。
當分區類型設定為對稱式(即,分區類型1322、1324、1326或1328)時,若轉換單元的分割資訊(TU尺寸旗標)為0,則設定尺寸為2N×2N的轉換單元1342,若TU尺寸旗標為1,則設定尺寸為N×N的轉換單元1344。
當分區類型設定為不對稱式(即,分區類型1332、1334、1336或1338)時,若TU尺寸旗標為0,則設定尺寸為2N×2N的轉換單元1352,若TU尺寸旗標為1,則設定尺寸為N/2×N/2的轉換單元1354。
TU尺寸旗標是指轉換指數(transformation index)的類型;轉換指數所對應的轉換單元的尺寸可依據編碼單元的預測單元類型或分區類型來變動。
當分區類型設定為對稱式(即,分區類型1322、1324、1326或1328)時,若轉換單元的TU尺寸旗標為0,則設定尺寸為2N×2N的轉換單元1342,若TU尺寸旗標為1,則設定尺寸為N×N的轉換單元1344。
當分區類型設定為不對稱式(即,分區類型1332(2N×nU)、1334(2N×nD)、1336(nL×2N)或1338(nR×2N))時,若TU尺寸旗標為0,則設定尺寸為2N×2N的轉換單元1352,若TU尺寸旗標為1,則設定尺寸為N/2×N/2的轉換單元1354。
請參照圖9,上述之TU尺寸旗標是數值為0或1的旗標,但TU尺寸旗標並不限於1位元,當TU尺寸旗標從0開始增大時,可以階層方式將轉換單元分割。轉換單元分割資訊(TU尺寸旗標)可用作轉換指數的一個示例。
在此情形下,當依照一實施例的TU尺寸旗標與轉換單元的最大尺寸和最小尺寸一起使用時,可表示實際使用的轉換單元的尺寸。視訊編碼裝置100可對最大轉換單元尺寸資訊、最小轉換單元尺寸資訊以及最大轉換單元分割資訊進行編碼。經編碼的最大轉換單元尺寸資訊、最小轉換單元尺寸資訊以及最大轉換單元分割資訊可被插入到序列參數集(sequence parameter set, SPS)中。視訊解碼裝置200可使用最大轉換單元尺寸資訊、最小轉換單元尺寸資訊以及最大轉換單元分割資訊來進行視訊解碼。
舉例而言,(a)若當前編碼單元的尺寸為64×64且最大轉換單元為32×32,則(a-1)當TU尺寸旗標為0時,轉換單元的尺寸為32×32;(a-2)當TU尺寸旗標為1時,轉換單元的尺寸為16×16;以及(a-3)當TU尺寸旗標為2時,轉換單元的尺寸為8×8。
或者,(b)若當前編碼單元的尺寸為32×32且最小轉換單元為32×32,則(b-1)當TU尺寸旗標為0時,轉換單元的尺寸為32×32,且由於轉換單元的尺寸不能小於32×32,故不可設定其他TU尺寸旗標。
或者,(c)若當前編碼單元的尺寸為64×64且最小TU尺寸旗標為1,則TU尺寸旗標可以是0或1,且不可設定其他TU尺寸旗標。
因此,當最大TU尺寸旗標定義為“MaxTransformSizeIndex”、最小TU尺寸旗標定義為“MinTransformSize”以及在TU尺寸旗標為0的情形下轉換單元(也就是,基本轉換單元RootTu)定義為“RootTuSize”時,當前編碼單元中可用的最小轉換單元的尺寸“CurrMinTuSize”可用下面的等式(1)來定義。 CurrMinTuSize =max(MinTransformSize, RootTuSize/(2^ MaxTransformSizeIndex)) …(1)
與當前編碼單元中可用的最小轉換單元的尺寸“CurrMinTuSize”相比,基本轉換單元尺寸“RootTuSize”(當TU尺寸旗標為0時的轉換單元尺寸)可表示就系統而言可選擇的最大轉換單元。也就是說,根據等式(1),“RootTuSize/(2^ MaxTransformSizeIndex)”是用最大轉換單元分割資訊所對應的分割次數來分割“RootTuSize”(當轉換單元分割資訊為0時的轉換單元尺寸)而獲得的轉換單元尺寸,且“MinTransformSize”是最小轉換單元的尺寸,故這些數值當中的較小者可以是“CurrMinTuSize”,也就是當前編碼單元中可用的最小轉換單元的尺寸。
依照本發明之一實施例的基本轉換單元“RootTuSize”的尺寸可依預測模式而變化。
舉例而言,若當前預測模式為畫面間模式,則RootTuSize可根據下面的等式(2)來確定。在等式(2)中,“MaxTransformSize”是指最大轉換單元尺寸,且“PUSize”是指當前預測單元尺寸。 RootTuSize=min(MaxTransformSize, PUSize) …(2)
換言之,若當前預測模式為畫面間模式,則基本轉換單元尺寸“RootTuSize”(當TU尺寸旗標為0時的轉換單元)的尺寸可設定為最大轉換單元尺寸和當前預測單元尺寸當中的較小值。
若當前分區單元的預測模式為畫面內模式,則“RootTuSize”可根據下面的等式(3)來確定。“PartitionSize”是指當前分區單元的尺寸。 RootTuSize=min(MaxTransformSize, PartitionSize) …(3)
換言之,若當前預測模式為畫面內模式,則基本轉換單元尺寸“RootTuSize”可設定為最大轉換單元尺寸和當前分區單元尺寸當中的較小值。
然而,值得關注的是,基本轉換單元尺寸“RootTuSize”的尺寸是一個示例,且用以確定當前最大轉換單元尺寸的因素並不限於此,其中依照本發明之一實施例,基本轉換單元尺寸“RootTuSize”是當前最大轉換單元尺寸,且依分區單元的預測模式而變化。
下面將詳細敍述在圖1之視訊編碼裝置100之熵編碼器120中執行的語法元素熵編碼操作以及在圖2之視訊解碼裝置200之熵解碼器220中執行的語法元素熵解碼操作。
如上文所述,視訊編碼裝置100和視訊解碼裝置200藉由將最大編碼單元分割成小於或等於最大編碼單元的編碼單元來實施編碼和解碼。用於預測和轉換的預測單元和轉換單元可根據獨立於其他資料單元的價值來確定。因為可以遞迴方式對最大編碼單元所包含的每個具有階層式結構之編碼單元實施編碼來確定最佳編碼單元,故可配置具有樹狀結構的資料單元。換言之,對於每個最大編碼單元,都可配置具有樹狀結構的編碼單元以及具有樹狀結構的預測單元和轉換單元。為了實施解碼,需要傳送階層式資訊,其中階層式資訊是指表示具有階層式結構之資料單元之結構資訊的資訊。除階層式資訊外,還需傳送用來實施解碼的非階層式資訊。
如上文參照圖10至圖12所述,與階層式結構有關的資訊是確定具有樹狀結構的編碼單元、具有樹狀結構的預測單元以及具有樹狀結構的轉換單元所需的資訊,其包括表示最大編碼單元之尺寸的轉換單元分割旗標(TU尺寸旗標)、編碼深度、預測單元的分區資訊、表示編碼單元是否被分割的分割旗標、轉換單元的尺寸資訊以及表示轉換單元是否被分割的轉換單元分割旗標(TU尺寸旗標)。除階層式結構資訊外的編碼資訊的示例包括應用於每個預測單元的畫面內/畫面間預測的預測模式資訊、運動向量資訊、預測方向資訊、當使用多個顏色分量時應用於每個資料單元的顏色分量資訊以及轉換係數資訊。在下文中,階層式資訊和超階層式(extra-hierarchical)資訊可稱為要被熵編碼或熵解碼的語法元素。
具體而言,依照本發明的各實施例,提供一種確定上下文模型(context model)以對轉換係數準位(即,語法元素的尺寸資訊)進行有效熵編碼/解碼的方法。下文將詳細敍述一種確定上下文模型以對轉換係數準位進行熵編碼/解碼的方法。
圖14是依照本發明之一實施例來闡明對轉換單元所包含的轉換係數資訊實施熵編碼/解碼的操作流程圖。
請參照圖14,在操作1410中先對coded_block_flag實施熵編碼或解碼,其表示在當前轉換單元所包含的轉換係數當中是否存在非0轉換係數(以下稱之為“重要係數”)。
若coded_block_flag為0,則當前轉換單元中僅存在轉換係數0,故僅對數值0實施熵編碼/解碼作為coded_block_flag,而不會對轉換係數準位資訊實施熵編碼/解碼。
在操作1420中,若當前轉換單元中存在著重要係數,則表示重要係數位置的重要圖SigMap被實施熵編碼/解碼。
重要圖SigMap可由重要位元(significant bit)和表示最次重要係數(last significance coefficient)之位置的預定資訊來構成。重要位元表示依每個掃描指標而不同的轉換係數是重要係數還是0,且可用significant_coeff_flag[i]來表示。如下文所述,重要圖是以具有預定尺寸的子集(subsets)為單位來設定,其中這些子集是藉由分割轉換單元來獲得。因此,significant_coeff_flag[i]表示轉換單元中的子集所包含的轉換係數當中第i個掃描指標的轉換係數是否為0。
依照傳統的H.264,表示每個重要係數是否為最次重要係數的旗標(區塊結束(End-Of-Block))被額外實施熵編碼/解碼。然而,依照本發明之一實施例,最次重要係數自身的位置資訊被實施熵編碼/解碼。如上文參照圖1至圖13所述,依照本發明之一實施例的轉換單元的尺寸並不限於4×4,也可以是較大尺寸,如8×8、16×16或32×32。將表示每個重要係數是否為最次重要係數的旗標(區塊結束)額外實施熵編碼/解碼是無效的,因為此旗標(區塊結束)的尺寸會增大。因此,依照本發明之一實施例,最次重要係數自身的位置資訊可被實施熵編碼/解碼。舉例而言,若最次重要係數的位置為(x, y)(其中x和y是整數),則表示座標值(x, y)之語法元素的last_significant_coeff_x和last_significant_coeff_y可被實施熵編碼/解碼。
在操作1430中,表示轉換係數尺寸的轉換係數準位資訊被實施熵編碼/解碼。依照傳統的H.264/AVC,轉換係數準位資訊是用語法元素coeff_abs_level_minus1來表示。依照本發明的各實施例,轉換係數準位資訊可用coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag以及coeff_abs_level_remaining來表示,其中coeff_abs_level_greater1_flag是關於轉換係數絕對值是否大於1的語法元素,coeff_abs_level_greater2_flag是關於轉換係數絕對值是否大於2的語法元素,且coeff_abs_level_remaining表示剩餘轉換係數的尺寸資訊。
表示剩餘轉換係數尺寸資訊的語法元素coeff_abs_level_remaining具有介於轉換係數尺寸(absCoeff)與基本準位值baseLevel之間範圍內的差,其中基本準位值baseLevel是使用coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag來確定。基本準位值baseLevel是根據以下等式來確定:baseLevel = 1 + coeff_abs_level_greater1_flag + coeff_abs_level_greater2_flag,且coeff_abs_level_remaining是根據以下等式來確定:coeff_abs_level_remaining = absCoeff – baseLevel。當coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag具有數值0或1時,基本準位值baeLevel可具有數值1至3。因此,coeff_abs_level_remaining可從(absCoeff-1)變化到( absCoeff-3)。如上所述,介於原轉換係數的尺寸absCoeff與基本準位值baseLevel之間的差值(absCoeff – baseLevel)作為轉換係數尺寸資訊而被傳送出去,以便減少被傳送的資料的尺寸。
圖22是依照本發明之一實施例的熵編碼裝置的結構方塊圖。圖22之熵編碼裝置2200對應於圖1之視訊編碼裝置100的熵編碼器120。
請參照圖22,熵編碼裝置2200包括二元化裝置(binarizer)2210、上下文建模器(context modeler)2220以及二元算術編碼器2230。另外,二元算術編碼器(binary arithmetic coder)2230包括正則編碼引擎(regular coding engine)2232和旁路編碼引擎(bypass coding engine)2234。
當輸入到熵編碼裝置2100的語法元素不是二元值時,二元化裝置2210會將語法元素二元化,以輸出由二元值0或1組成的Bin串。Bin表示由0或1組成的位元流中的每個位元,其藉由上下文自適應二元算術編碼(context adaptive binary arithmetic coding, CABAC)來進行編碼。若語法元素是包含相同頻率的0和1的資料,則此語法元素被輸出至不使用機率的旁路編碼引擎2234以將其編碼。
具體而言,二元化裝置2210使用參數(cRiceParam)將coeff_abs_level_remaining二元化成首碼位元串(prefix bit string)和尾碼位元串(suffix bit string),其中coeff_abs_level_remaining是表示轉換係數尺寸資訊的語法元素。後文將詳細敍述使用二元化裝置2210以將表示轉換係數尺寸資訊的語法元素coeff_abs_level_remaining進行二元化的操作。
上下文建模器2220將語法元素所對應的位元串被實施編碼所需的機率模型(probability model)提供給正則編碼引擎2232。詳細地講,上下文建模器2220將當前語法元素的位元串的每個二元值被實施編碼所需的二元值機率輸出至二元算術編碼器2230。
上下文模型是指bin檔的機率模型,其包括關於0和1中的哪一個對應於大機率符號(most probable symbol, MPS)和小機率符號(least probable symbol, LPS)的資訊以及大機率符號或小機率符號機率。
正則編碼引擎2232根據上下文建模器2220所提供的關於大機率符號和小機率符號的資訊以及大機率符號或小機率符號的機率資訊來對語法元素所對應的位元串實施二元算術編碼。
對表示轉換係數尺寸資訊的語法元素coeff_abs_level_remaining實施編碼時所用的上下文模型可根據轉換係數的bin指標來預先設定。
圖23是依照本發明之一實施例的二元化裝置的結構方塊圖。圖23之二元化裝置2300對應於圖22之二元化裝置2210。
請參照圖23,二元化裝置2300包括參數測定單元2310和位元串產生單元2320。
參數測定單元2310將當前轉換係數之前被編碼的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於表示先前轉換係數尺寸的先前轉換係數準位語法元素實施二元化時所用的先前參數而獲得。另外,參數測定單元2310根據此測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的轉換係數準位語法元素在實施二元化時將會使用的參數。
詳細而言,當先前轉換係數的尺寸為cLastAbsCoeff且先前參數為cLastRiceParam時,參數測定單元2310根據以下演算法來確定將用於轉換係數準位語法元素coeff_abs_level_remaining之二元化的參數cRiceParam,其中coeff_abs_level_remaining表示當前轉換係數的尺寸。 cRiceParam = Min(cLastRiceParam+(cLastAbsLevel>(3*(1<<cLastRiceParam))?1:0),4)
此演算法可透過以下虛擬碼(pseudo code)來實施。 { If cLastAbsCoeff > 3*(1<< cLastRiceParam) cRiceParam = Min(cLastRiceParam+1, 4) }
如上述演算法所述,參數測定單元2310將根據以下等式th = 3*(1<< cLastRiceParam)而獲得的臨界值th與cLastAbsCoeff做比較。當cLastAbsCoeff大於臨界值th時,參數測定單元2310藉由將先前參數(cLastRiceParam)加1來更新此先前參數,而當cLastAbsCoeff不大於臨界值th時,則保留先前參數而不將其更新。
初始參數設定為0。當參數(cRiceParam)被更新時,先前參數(cLastRiceParam)逐步加+1。另外,確定參數更新條件所用的臨界值th是依據參數(cRiceParam)來確定,如此一來,當參數(cRiceParam)被更新時,臨界值th也隨之逐步增大。也就是說,臨界值th設定為其數值與先前參數(cLastRiceParam)成比例,當先前參數(cLastRiceParam)被更新時,參數(cRiceParam)的值相比先前參數(cLastRiceParam)逐步加+1。當參數(cRiceParam)在0至4的範圍內更新時,臨界值th逐步增大到3、6、12及24。
位元串產生單元2320使用參數將轉換係數的轉換係數準位語法元素(coeff_abs_level_remaining)二元化,且輸出與轉換係數的轉換係數準位語法元素(coeff_abs_level_remaining)相對應的位元串。
詳細而言,位元串產生單元2320使用所獲得的參數(cRiceParam)依據以下等式cTrMax = 4<<cRiceParam來獲得參數cTrMax。參數cTrMax被用作將轉換係數準位語法元素(coeff_abs_level_remaining)劃分成首碼和尾碼的標準。
位元串產生單元2320基於參數cTrMax來劃分轉換係數準位語法元素(coeff_abs_level_remaining)的值,以獲得數值不超過參數cTrMax的首碼和表示超過參數cTrMax的部分的尾碼。位元串產生單元2320根據以下等式Prefix = Min(cTrMax, coeff_abs_level_remaining)來確定不超過cTrMax之範圍內的首碼。只有當轉換係數準位語法元素(coeff_abs_level_remaining)的數值大於cTrMax時,尾碼才存在。尾碼是對應於(coeff_abs_level_remaining_cTrMax)數值。當轉換係數準位語法元素(coeff_abs_level_remaining)不超過cTrMax時,只有首碼存在。舉例而言,當轉換係數準位語法元素(coeff_abs_level_remaining)為10且參數cTrMax為7時,轉換係數準位語法元素(coeff_abs_level_remaining)被分為數值為7的首碼和數值為3的尾碼。或者,當轉換係數準位語法元素(coeff_abs_level_remaining)為6且參數cTrMax為7時,轉換係數準位語法元素(coeff_abs_level_remaining)被分為數值為6的首碼,且沒有尾碼。
基於參數cTrMax來分割轉換係數準位語法元素(coeff_abs_level_remaining)的數值而確定首碼和尾碼後,位元串產生單元2320使用預先設定的預定二元化方法將首碼和尾碼二元化,以輸出與首碼和尾碼相對應的位元串。舉例而言,位元串產生單元2320可使用截斷一元碼二元化法(truncated unary binarization method)以將數值與Min(cTrMax, coeff_abs_level_remaining)相對應的首碼二元化以輸出位元串,且可使用k階指數哥倫布法(k-th exponential Golomb method)以將數值與(coeff_abs_level_remaining_cTrMax)相對應的尾碼二元化以輸出位元串。k的值可使用參數測定單元2310所確定的參數(cRiceParam)來確定。舉例而言,k的值可具有cRiceParam+1的值。
依照截斷一元碼二元化法,數值為Min(cTrMax, coeff_abs_level_remaining)的首碼可如下表2所示來進行二元化。 [表2]
位元串產生單元2320可根據參數(cRiceParam)且參照預先設定的表格來產生與首碼和尾碼相對應的位元串。根據查表法,預先設定的表格可經設定以使得當參數(cRiceParam)的值增大時對應於較大值的位元串的長度隨之減小。
依照本發明之一實施例以將與轉換單元有關的語法元素實施熵編碼的操作將參照圖15至圖21來敍述。
圖15繪示為依照本發明之一實施例來被實施熵編碼的轉換單元1500。雖然圖15繪示為轉換單元1500具有16×16尺寸,但是轉換單元1500的尺寸並不限於所繪示的16×16尺寸,而是也可以是4×4至32×32之範圍內的各種尺寸。
請參照圖15,為了對轉換單元1500所包含的轉換係數實施熵編碼/解碼,轉換單元1500可被分割成較小的轉換單元。下面將闡述對轉換單元1500所包含的4×4轉換單元1510的語法元素實施熵編碼的操作。這種對4×4轉換單元1510的語法元素實施熵編碼的操作也可應用於不同尺寸的轉換單元。
4×4轉換單元1510所包含的轉換係數都具有圖15所示之轉換係數(absCoeff)。4×4轉換單元1510所包含的轉換係數可依照圖15所示之預定掃描次序來進行串聯化(serialized),且依序進行處理。然而,掃描次序並不限於如圖所示之次序,也可更動。
如上所述,與4×4轉換單元1510有關的語法元素的示例有:significant_coeff_flag,它是表示轉換單元所包含的每個轉換係數是否為數值非0的重要轉換係數的語法元素;coeff_abs_level_greater1_flag,它是表示轉換係數絕對值是否大於1的語法元素;coeff_abs_level_greater2_flag,它是表示轉換係數絕對值是否大於2的語法元素;以及coeff_abs_level_remaining,它是表示剩餘轉換係數尺寸資訊的語法元素。
圖16繪示為依照本發明之一實施的與圖15之轉換單元1510相對應的重要圖SigMap 1600。
請參照圖15與圖16,重要圖SigMap 1600將圖15之4×4轉換單元1510所包含的轉換係數當中具有非0數值的每個重要轉換係數設定為數值1。使用先前設定的上下文模型對重要圖SigMap 1600實施熵編碼/解碼。
圖17繪示為與圖15之4×4轉換單元1510相對應的coeff_abs_level_greater1_flag 1700。
請參照圖15至圖17,coeff_abs_level_greater1_flag 1700是針對重要圖SigMap 1600數值為1的重要轉換係數而設定,其中coeff_abs_level_greater1_flag 1700是表示對應的重要轉換係數的數值是否大於1的旗標。當coeff_abs_level_greater1_flag 1700為1時,表示對應的轉換係數是數值大於1的轉換係數;當coeff_abs_level_greater1_flag 1700為0時,則表示對應的轉換係數是數值為1的轉換係數。在圖17中,當coeff_abs_level_greater1_flag 1710處在數值為1的轉換係數所在位置時,此coeff_abs_level_greater1_flag 1710的數值為0。
圖18繪示為與圖15之4×4轉換單元1510相對應的coeff_abs_level_greater2_flag 1800。
請參照圖15至圖18,coeff_abs_level_greater2_flag 1800是針對coeff_abs_level_greater1_flag 1700設定為1的轉換係數而設定,其中coeff_abs_level_greater2_flag 1800表示對應的轉換係數是否具有大於2的數值。當coeff_abs_level_greater2_flag 1800為1時,表示對應的轉換係數是數值大於2的轉換係數;當coeff_abs_level_greater2_flag 1800為0時,則表示對應的轉換係數是數值為2的轉換係數。在圖18中,當coeff_abs_level_greater2_flag 1810處在數值為2的轉換係數所在位置時,此coeff_abs_level_greater2_flag 1810的數值為0。
圖19繪示為與圖15之4×4轉換單元1510相對應的coeff_abs_level_remaining。
請參照圖15至圖19,coeff_abs_level_remaining 1900可藉由計算每個轉換係數的(absCoeff-baseLevel)來獲得,其中coeff_abs_level_remaining 1900是表示剩餘轉換係數尺寸資訊的語法元素。
如上文所述,coeff_abs_level_remaining 1900具有介於轉換係數尺寸(absCoeff)與基本準位值baseLevel之間範圍內的差,其中coeff_abs_level_remaining 1900是表示剩餘轉換係數尺寸資訊的語法元素,基本準位值baseLevel是使用coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag來確定。基本準位值baseLevel是根據以下等式來確定:baseLevel = 1+coeff_abs_level_greater1_flag+coeff_abs_level_greater2_flag,且coeff_abs_level_remaining是根據以下等式來確定:coeff_abs_level_remaining = absCoeff-baseLevel。
參數測定單元2310根據所繪示的掃描次序來讀取coeff_abs_level_remaining 1900,以獲得轉換係數的尺寸,如“0 3 12 3 3 3 4 4 5 5 8 8”。
參數測定單元2310根據掃描次序來依序確定對每個轉換係數尺寸資訊實施二元化所用的參數(cRiceParam)。首先,將初始參數(cRiceParam)設定為0。依據上文所述的演算法,只有當滿足條件cLastAbsCoeff > 3*(1<<cLastRiceParam)時,參數才會增大。起初設定的參數(cRiceParam)為0,且保留此數值直到先前轉換係數尺寸(cLastAbsCoeff)的數值為3*(1<<0),也就是大於3的數值。請參照圖19,第三個轉換係數的尺寸“12”(1920)大於3,因此,當轉換係數“12”(1920)後面的轉換係數的尺寸實施二元化時,所使用的參數(cRiceParam)具有從0更新為1的數值。當參數(cRiceParam)被更新為1時,只有當滿足條件cLastAbsCoeff > 3*(1<<1)即cLastAbsCoeff > 6時,參數(cRiceParam)才能再次被更新。請參照圖19,倒數第二個轉換係數的尺寸“8”(1930)大於6,故參數(cRiceParam)從1更新為2。
圖20繪示為與圖15至圖19所示之轉換單元1510、1600、1700、1800及1900有關的語法元素的表格。在圖20中,GTR1表示coeff_abs_level_greater1_flag;GTR2表示coeff_abs_level_greater2_flag;以及Remaining表示coeff_abs_level_remaining。請參照圖20,表示轉換係數準位的語法元素coeff_abs_level_remaining不是二元值,故要使用參數來進行二元化。
圖21繪示為依照本發明之一實施例來進行二元化的coeff_abs_level_remaining的另一示例。
如上文所述,初始參數(cRiceParam)設定為0,且只有當滿足條件cLastAbsCoeff > 3*(1<<cLastRiceParam)時才會加+1。初始參數(cRiceParam)的值為Min(cLastRiceParam, 4),故更新的參數不會具有超過4的值。根據先前轉換係數尺寸之二元化所用的先前參數(cRiceParam),用來確定是否更新參數的臨界值3*(1<<cLastRiceParam)具有數值3*(1<<0)、3*(1<<1)、3*(1<<2)或3*(1<<3)。因此,參數(cRiceParam)在數值大於3的轉換係數被處理後加+1,然後在大於6的轉換係數被處理後加+1,然後在大於12的轉換係數被處理後加+1,最後在大於24的轉換係數被處理後加+1。也就是說,當轉換係數當中發生數值突變時,參數(cRiceParam)逐步加+1。
請參照圖21,具有初始設定值為0的參數(cRiceParam)在轉換係數2110被處理後加+1,其中轉換係數2110的值為12,且首次大於3。在具有數值為12的轉換單元2110之後,更新的參數(cRiceParam)保留到大於6的轉換單元被處理,其中6為下一個臨界值。在具有數值為8(大於下一個臨界值6)的轉換係數2120被處理後,參數(cRiceParam)加+1,數值變為2。在具有數值為8的轉換單元2120之後,更新的參數(cRiceParam)保留到大於12的轉換單元被處理,其中12為下一個臨界值。在具有數值為8的轉換單元2120之後,具有數值為13(大於下一個臨界值12)的轉換係數2130被處理後,參數(cRiceParam)加+1,數值變為3。在具有數值為13的轉換單元2130之後,更新的參數(cRiceParam)保留到大於24的轉換單元被處理,其中24為下一個臨界值。在具有數值為13的轉換單元2130之後,具有數值為25(大於下一個臨界值24)的轉換係數2140被處理後,參數(cRiceParam)加+1,數值變為4。在具有數值為25的轉換係數2140之後的轉換係數的二元化操作中,由於參數(cRiceParam)已達到最大值4,所以使用數值為4的參數(cRiceParam),且不再執行更新操作。
如上文所述,使用參數測定單元2310來確定表示當前轉換係數尺寸的轉換係數準位語法元素coeff_abs_level_remaining之二元化所用的參數(cRiceParam)後,位元串產生單元2320根據使用參數(cRiceParam)而確定的參數(cTrMax)以將此轉換係數準位語法元素coeff_abs_level_remaining分為首碼和尾碼,且使用針對此首碼和尾碼而預先設定的二元化法以將此首碼和尾碼二元化,從而輸出與coeff_abs_level_remaining相對應的位元串。
圖24是依照本發明之一實施例的一種對表示轉換係數準位的語法元素實施熵編碼的方法的流程圖。
請參照圖24,在操作2410中,參數測定單元2310根據預定掃描次序來獲得表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素(coeff_abs_level_remaining)。
在操作2420中,參數測定單元2310將當前轉換係數之前被編碼的先前轉換係數尺寸(cLastAbsCoeff)與預定臨界值做比較,以測定是否更新先前參數(cLastRiceParam),其中預定臨界值是基於先前參數(cLastRiceParam)而獲得,而先前參數用以表示先前轉換係數尺寸(cLastAbsCoeff)的先前轉換係數準位語法元素的二元化。
在操作2430中,參數測定單元2310基於操作2420的測定結果來更新或保留先前參數,以獲得表示當前轉換係數尺寸的轉換係數準位語法元素實施二元化時所用的參數。如上文所述,參數測定單元2310將根據th = 3*(1<< cLastRiceParam)而獲得的臨界值與先前參數(cLastRiceParam)做比較;以及當cLastAbsCoeff大於th時,參數測定單元2310藉由將先前參數加1來更新先前參數,而當cLastAbsCoeff不大於th時,參數測定單元2310則不更新先前參數而是保留先前參數。當先前參數被更新時,更新後的參數逐步加+1。
在操作2440中,位元串產生單元2320使用所獲得的參數(cRiceParam)以將轉換係數準位語法元素(coeff_abs_level_remaining)進行二元化,以輸出與當前轉換係數的轉換係數準位語法元素(coeff_abs_level_remaining)與相對應的位元串。
根據依照本發明之各實施例的轉換係數準位語法元素熵編碼操作,即使依照預定掃描次序來進行處理的轉換係數當中存在著數值突然變大的轉換係數,參數可不必突然更動,而是可逐步加+1。
與此同時,依照上文所述之本發明之各實施例來更新參數以對轉換係數準位語法元素進行熵編碼的操作也可應用於除轉換係數準位語法元素外的語法元素的二元化。
依照本發明之一實施例的參數更新操作可應用於使用Golomb-Rice碼來對其他語法元素進行二元化時所用的參數的更新。此外,依照本發明之一實施例的參數更新方法可應用於使用二元化法(如級聯碼二元化法)來對語法元素進行二元化時所用的參數的更新。當使用級聯碼時,語法元素被分為首碼和尾碼,且依照本發明之一實施例的參數更新方法可用於更新預定的參數從而確定首碼和尾碼。類似地,依照本發明之一實施例的參數更新方法可應用於使用諸如低複雜度熵編碼(low complexity entropy coding, LCEC)方法中的定長代碼(fixed length code)和可變長代碼(variable length code, VLC)表格來對語法元素進行編碼時所用的參數的更新。
圖25是依照本發明之一實施例的熵解碼裝置的方塊圖。此熵解碼裝置2500對應於圖2之視訊解碼裝置200的熵解碼器220。熵解碼裝置2500實施上文所述的由熵編碼裝置2200來實施的熵編碼操作的逆操作。
請參照圖25,熵解碼裝置2500包括上下文建模器2510、正則解碼引擎2520、旁路解碼引擎2530以及反二元化裝置2540。
透過旁路編碼來進行編碼的語法元素被輸出至旁路解碼器2530以進行解碼,且透過正則編碼來進行編碼的語法元素是使用正則解碼器2520來解碼。正則解碼器2520根據上下文建模器2510所提供的上下文模型以算術方式對當前語法元素的二元值進行解碼,從而輸出位元串。對表示轉換係數尺寸資訊的語法元素coeff_abs_level_remaining實施算術解碼所用的上下文模型可依據轉換係數的bin指標來預先設定。
反二元化裝置2540將使用正則解碼引擎2520或旁路解碼引擎2530以算術方式來解碼的位元串再還原為語法元素。
熵解碼裝置2500對與轉換單元有關的語法元素(如SigMap、coeff_abs_level_greater1_flag或coeff_abs_level_greater2_flag,還有coeff_abs_level_remaining)進行算術解碼,且輸出這些語法元素。當這些與轉換單元有關的語法元素被還原時,基於所還原的語法元素,使用逆量化、逆轉換以及預測解碼,包含在轉換單元中的資料可被解碼。
圖26是依照本發明之一實施例的反二元化裝置的結構方塊圖。圖26之反二元化裝置2600對應於圖25之反二元化裝置2540。
請參照圖26,反二元化裝置2600包括參數測定單元2610和語法元素還原單元2620。
參數測定單元2610將當前轉換係數之前被解碼的先前轉換係數的尺寸與預定臨界值做比較,以測定是否更新先前參數,其中預定臨界值是基於表示先前轉換係數尺寸的先前轉換係數準位語法元素實施反二元化時所用的先前參數而獲得。參數測定單元2610根據測定結果來更新或保留先前參數,從而獲得表示當前轉換係數尺寸的轉換係數準位語法元素實施反二元化時所用的參數。按照上文所述的圖23之參數測定單元2310的相同方式,參數測定單元2610將根據等式th = 3*(1<<cLastRiceParam)而獲得的臨界值th與先前轉換係數尺寸cLastAbsCoeff做比較。當cLastAbsCoeff大於th時,參數測定單元2610透過將先前參數(cLastRiceParam)加1來更新先前參數;而當cLastAbsCoeff不大於th時,則參數測定單元2610不更新先前參數(cLastRiceParam)而是保留先前參數(cLastRiceParam)。
語法元素還原單元2620使用所獲得的參數對當前轉換係數準位語法元素所對應的位元串進行反二元化,藉以將表示當前轉換係數尺寸的語法元素(coeff_abs_level_remaining)還原。詳細而言,語法元素還原單元2620將位元串分為:首碼位元串,其對應於使用截斷一元碼二元化法將Min(cTrMax, coeff_abs_level_remaining)所對應的數值進行二元化而獲得的位元串;以及尾碼位元串,其對應於使用k階(k為cRiceParam+1)指數哥倫布法將(coeff_abs_level_remaining-cTrMax)所對應的數值進行二元化而獲得的位元串。語法元素還原單元2620使用截斷一元碼二元化法對首碼位元串進行反二元化,且使用k階指數哥倫布法對尾碼位元串進行反二元化,以將語法元素(coeff_abs_level_remaining)還原。
圖27是依照本發明之一實施例的對轉換係數準位進行熵解碼的方法流程圖。
請參照圖27,在操作2710中,從位元流中解析出表示轉換單元所包含之轉換係數之尺寸的轉換係數準位語法元素。被解析出來的轉換係數準位語法元素都是由0和1組成的位元串。
在操作2720中,參數測定單元2610將當前轉換係數之前被還原的先前轉換係數尺寸(cLastAbsCoeff)與預定臨界值做比較,藉以測定是否更新先前參數(cLastRiceParam),其中預定臨界值是基於先前參數(cLastRiceParam)而獲得,而先前參數用於表示先前轉換係數尺寸(cLastAbsCoeff)的先前轉換係數準位語法元素實施反二元化。
在操作2730中,參數測定單元2610基於測定結果來更新或保留先前參數(cLastRiceParam),以獲得表示當前轉換係數尺寸的轉換係數準位語法元素(coeff_abs_level_remaining)實施反二元化時所用的參數(cRiceParam)。如上文所述,參數測定單元2610將根據等式th = 3*(1<< cLastRiceParam)而獲得的臨界值th與先前轉換係數尺寸cLastAbsCoeff做比較。當cLastAbsCoeff大於th時,參數測定單元2610透過將先前參數(cLastRiceParam)加1來更新先前參數(cLastRiceParam);而當cLastAbsCoeff不大於th時,則參數測定單元2610不更新先前參數而是保留先前參數。當參數被更新時,更新後的參數逐步加+1。
在操作2740中,語法元素還原單元2620使用所獲得的參數來對當前轉換係數準位語法元素進行反二元化,以獲得當前轉換係數的尺寸資訊。如上文所述,因為coeff_abs_level_remaining = absCoeff-baseLevel,所以除了coeff_abs_level_remaining外,coeff_abs_level_greather1_flag和coeff_abs_level_greather2_flag也被還原。根據等式baseLevel = 1+coeff_abs_level_greather1_flag+coeff_abs_level_greather2_flag來確定基本準位值baseLevel後,可根據等式absCoeff = coeff_abs_level_remaining+baseLevel來確定當前轉換係數的尺寸。
本發明也可體現為電腦可讀記錄媒體上的電腦可讀代碼。電腦可讀記錄媒體是指任何能夠儲存資料且這些資料日後可由電腦系統來讀取的資料儲存設備。電腦可讀記錄媒體的示例包括唯讀記憶體(read-only memory, ROM)、隨機存取記憶體(random-access memory, RAM)、唯讀光碟(CD-ROMs)、磁帶(magnetic tapes)、軟磁碟(floppy disks)、光學資料儲存設備,等等。電腦可讀記錄媒體也可分佈在連接電腦系統的網路上,使得電腦可讀代碼以分佈方式來進行儲存和執行。
雖然上文已參照各實施例對本發明做了具體的繪示和描述,但是容易為本領域具有通常知識者所理解的是,在不脫離後附之申請專利範圍所界定的本發明之精神和範圍的前提下,當可對本發明做各種形式和細節上的更動。故,本發明的範圍不是由本發明的詳細描述來界定,而是由後附之申請專利範圍來界定,在此範圍內的所有差異都將視為屬於本發明。
100‧‧‧視訊編碼裝置
110‧‧‧階層式編碼器
120、450‧‧‧熵編碼器
200‧‧‧視訊解碼裝置
210、510‧‧‧解析器
220、520‧‧‧熵解碼器
230‧‧‧階層式解碼器
310、320、330‧‧‧視訊資料
315、325、335、610~650、710、900、930、960、980、1010、1012、1014、1016、1018、1020、1022、1024、1026、1028、1030、1032、1040、1042、1044、1046、1048、1050、1052、1054、1300、1302、1304、1306、1312、1314、1316、1318‧‧‧編碼單元
400‧‧‧視訊編碼器
405‧‧‧當前畫面
410、550‧‧‧畫面內預測器
420‧‧‧運動估測器
425、560‧‧‧運動補償器
430‧‧‧轉換器
440‧‧‧量化器
455、505‧‧‧位元流
460、530‧‧‧逆量化器
470、540‧‧‧逆轉換器
480、570‧‧‧解塊單元
490、580‧‧‧環路濾波單元
495、585‧‧‧參考畫面
500‧‧‧視訊解碼器
595‧‧‧還原的畫面
600‧‧‧階層式結構
612、614、616、622、624、626、632、634、636、642、644、646、652、654、656、802、804、806、808、912、914、916、918、942、944、946、948、992、994、996、998、1322、1324、1326、1328、1332、1334、1336、1338‧‧‧分區
720、822、824、826、828、1070、1342、1344、1352、1354、1500、1510、1600、1700、1710、1800、1810、1900、2100‧‧‧轉換單元
800、810、820‧‧‧資訊
812、814、816‧‧‧模式
910、940、990、1060‧‧‧預測單元
920、950、970、1410~1430、2410~2440、2710~2740‧‧‧操作
999‧‧‧資料單元
1910、1920、1930、2110、2120、2130、2140‧‧‧轉換係數
2200‧‧‧熵編碼裝置
2210、2300‧‧‧二元化裝置
2220、2510‧‧‧上下文建模器
2230‧‧‧二元算術編碼器
2232‧‧‧正則編碼引擎
2234‧‧‧旁路編碼引擎
2310、2610‧‧‧參數測定單元
2320‧‧‧位元串產生單元
2500‧‧‧熵解碼裝置
2520‧‧‧正則解碼引擎
2530‧‧‧旁路解碼引擎
2540、2600‧‧‧反二元化裝置
2620‧‧‧語法元素還原單元
CU_0、CU_1、…、CU_(d-1)‧‧‧當前編碼單元
absCoeff、SigMap、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_abs_level_remaining_flag、cRiceParam‧‧‧語法元素
圖1是依照本發明之一實施例的視訊編碼裝置的方塊圖。 圖2是依照本發明之一實施例的視訊解碼裝置的方塊圖。 圖3是依照本發明之一實施例來闡述編碼單元之概念的圖式。 圖4是依照本發明之一實施例的以具有階層式結構之編碼單元為主的視訊編碼器的方塊圖。 圖5是依照本發明之一實施例的以具有階層式結構之編碼單元為主的視訊解碼器的方塊圖。 圖6是依照本發明之一實施例的依深度而不同的較深編碼單元以及分區的圖式。 圖7是依照本發明之一實施例來描述編碼單元與轉換單元之間關係的圖式。 圖8是依照本發明之一實施例來描述編碼深度所對應的編碼單元的編碼資訊的圖式。 圖9是依照本發明之一實施例的依深度而不同的較深編碼單元的圖式。 圖10至圖12是依照本發明之一實施例來描述編碼單元、預測單元以及頻率轉換單元之間關係的圖式。 圖13是依照表1之編碼模式資訊來描述編碼單元、預測單元以及轉換單元之間關係的圖式。 圖14是依照本發明之一實施例來闡述將轉換單元所包含的轉換係數資訊進行熵編碼/解碼的操作流程圖。 圖15是依照本發明之一實施例來進行熵編碼的轉換單元。 圖16是依照本發明之一實施例的與圖15之轉換單元相對應的重要圖。 圖17是與圖15之4×4轉換單元相對應的coeff_abs_level_greater1_flag。 圖18是與圖15之4×4轉換單元相對應的coeff_abs_level_greater2_flag。 圖19是與圖15之4×4轉換單元相對應的coeff_abs_level_remaining。 圖20是列舉與圖15至圖19所示之轉換單元有關的語法元素的表格。 圖21是依照本發明之一實施例來進行二元化的coeff_abs_level_remaining的另一示例。 圖22是依照本發明之一實施例的熵編碼裝置的結構方塊圖。 圖23是依照本發明之一實施例的二元化裝置的結構方塊圖。 圖24是依照本發明之一實施例的將表示轉換係數準位的語法元素進行熵編碼的方法的流程圖。 圖25是依照本發明之一實施例的熵解碼裝置的方塊圖。 圖26是依照本發明之一實施例的反二元化裝置的結構方塊圖。 圖27是依照本發明之一實施例的將轉換係數準位進行熵解碼的方法的流程圖。
2410~2440‧‧‧操作

Claims (1)

  1. 一種對視訊進行解碼的方法,所述方法包括: 藉由對位元流進行算數解碼以獲得當前轉換係數準位資訊所對應的位元串; 基於與先前二元化參數成比例的預定值、以及先前轉換係數的數值之間的比較,用於自所述位元串對首碼位元串進行測定,測定當前二元化參數為下列中的其中一個:(i)所述先前二元化參數和(ii)藉由將n加至所述先前二元化參數所獲得的所述先前二元化參數的更新值,其中n是整數,且n等於1或大於1; 使用所測定所述當前二元化參數將所述首碼位元串的多個二元值進行反二元化以獲得所述當前轉換係數準位資訊,並且所述語法元素還原器使用所述當前轉換係數準位資訊來測定當前轉換係數的數值;以及 基於所述當前轉換係數的所述數值,使用逆量化與逆轉換將包含在轉換單元中的資料進行解碼, 其中,當所述先前轉換係數的所述數值等於所述預定值或小於所述預定值時,所述當前二元化參數被測定為所述先前二元化參數, 當所述先前轉換係數的所述數值大於所述預定值時,所述當前二元化參數被測定為所述更新值,以及 其中所述當前二元化參數有數値等於或小於預定臨界值。
TW106128861A 2012-04-15 2013-04-15 對視訊進行解碼的裝置 TWI640191B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261624358P 2012-04-15 2012-04-15
US61/624,358 2012-04-15

Publications (2)

Publication Number Publication Date
TW201742459A true TW201742459A (zh) 2017-12-01
TWI640191B TWI640191B (zh) 2018-11-01

Family

ID=49383689

Family Applications (3)

Application Number Title Priority Date Filing Date
TW106128861A TWI640191B (zh) 2012-04-15 2013-04-15 對視訊進行解碼的裝置
TW102113293A TWI549487B (zh) 2012-04-15 2013-04-15 對視訊進行解碼的方法
TW105123437A TWI601412B (zh) 2012-04-15 2013-04-15 對視訊進行解碼的裝置

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW102113293A TWI549487B (zh) 2012-04-15 2013-04-15 對視訊進行解碼的方法
TW105123437A TWI601412B (zh) 2012-04-15 2013-04-15 對視訊進行解碼的裝置

Country Status (25)

Country Link
US (7) US9277242B2 (zh)
EP (5) EP2840789B1 (zh)
KR (7) KR101477621B1 (zh)
CN (7) CN105049869B (zh)
AU (4) AU2013250108B2 (zh)
BR (2) BR122018010479B1 (zh)
CA (2) CA2993866C (zh)
CY (1) CY1120738T1 (zh)
DK (2) DK3416292T3 (zh)
ES (3) ES2776899T3 (zh)
HR (1) HRP20181467T1 (zh)
HU (3) HUE049811T2 (zh)
LT (1) LT2840789T (zh)
MX (4) MX351023B (zh)
MY (3) MY185273A (zh)
PH (5) PH12014502262B1 (zh)
PL (4) PL3637621T3 (zh)
PT (1) PT2840789T (zh)
RS (1) RS57654B1 (zh)
RU (4) RU2632409C1 (zh)
SG (6) SG10201510259UA (zh)
SI (1) SI2840789T1 (zh)
TW (3) TWI640191B (zh)
WO (1) WO2013157794A1 (zh)
ZA (4) ZA201600979B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
EP2840789B1 (en) 2012-04-15 2018-09-12 Samsung Electronics Co., Ltd. Parameter update method for entropy decoding of conversion coefficient level, and entropy decoding device of conversion coefficient level using same
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
CN112272298B (zh) * 2015-06-23 2023-07-18 联发科技(新加坡)私人有限公司 转换系数编解码的方法及装置
US10123045B2 (en) * 2015-07-24 2018-11-06 Qualcomm Incorporated Modification to block size for transform mode in display stream compression
EP3629581A1 (en) * 2015-10-13 2020-04-01 Samsung Electronics Co., Ltd. Method and device for encoding or decoding image
CN110572649B (zh) 2016-04-29 2023-04-07 世宗大学校产学协力团 用于对图像信号进行编码和解码的方法和装置
WO2017188739A1 (ko) * 2016-04-29 2017-11-02 세종대학교 산학협력단 영상 신호 부호화 및 복호화 방법과 장치
FI3514968T3 (fi) * 2018-01-18 2023-05-25 Blackberry Ltd Menetelmiä ja laitteita pistepilvien entropiakoodausta varten
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
US11451840B2 (en) * 2018-06-18 2022-09-20 Qualcomm Incorporated Trellis coded quantization coefficient coding
CN111373753B (zh) 2018-09-20 2023-09-08 Lg电子株式会社 变换因子级别编码方法及其装置
CN116896635A (zh) * 2018-10-05 2023-10-17 Lg电子株式会社 图像编码/解码设备、存储介质及数据传输设备
CN117544790A (zh) 2018-10-05 2024-02-09 罗斯德尔动力有限责任公司 变换系数编码方法及其装置
CN116132676A (zh) * 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
US11477486B2 (en) * 2019-01-02 2022-10-18 Qualcomm Incorporated Escape coding for coefficient levels
HUE063009T2 (hu) * 2019-03-12 2023-12-28 Lg Electronics Inc Transzformáció alapú képkódoló eljárás és hozzá való készülék
US20220286691A1 (en) * 2019-08-23 2022-09-08 Lg Electronics Inc. Method and apparatus for deriving rice parameter in video/image coding system
US11303914B2 (en) 2020-01-08 2022-04-12 Tencent America LLC Method and apparatus for video coding
CN115804091A (zh) * 2020-06-22 2023-03-14 抖音视界有限公司 访问单元分隔符,以及视频编解码中的通用约束信息

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2289086B (en) * 1994-05-03 1997-11-19 Interbold Delivery access device
TW515192B (en) * 2000-06-06 2002-12-21 Noa Kk Off Compression method of motion picture image data and system there for
TW567729B (en) * 2001-01-30 2003-12-21 Noa Kk Off Method and system for compressing motion image information
KR20030083703A (ko) * 2001-01-30 2003-10-30 가부시키가이샤 오피스 노아 동화상 정보의 압축 방법 및 그 시스템
US6735254B2 (en) 2001-06-29 2004-05-11 Qualcomm, Inc. DCT compression using Golomb-Rice coding
CN1874509B (zh) * 2001-09-14 2014-01-15 诺基亚有限公司 基于上下文的自适应二进制算术编码的方法和系统
US7877273B2 (en) * 2002-01-08 2011-01-25 Fredric David Abramson System and method for evaluating and providing nutrigenomic data, information and advice
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
CA2547891C (en) * 2003-12-01 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
KR100624432B1 (ko) * 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US20060083298A1 (en) * 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
US7580585B2 (en) * 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
TWI249290B (en) * 2004-12-17 2006-02-11 Univ Nat Cheng Kung Lossless and near lossless image compression and coding methods
EP1675402A1 (en) * 2004-12-22 2006-06-28 Thomson Licensing Optimisation of a quantisation matrix for image and video coding
KR100647835B1 (ko) * 2005-07-21 2006-11-23 삼성전기주식회사 브러쉬리스 직류모터용 스테이터 코어
KR100718134B1 (ko) * 2005-07-21 2007-05-14 삼성전자주식회사 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법
JP4732203B2 (ja) * 2006-03-17 2011-07-27 キヤノン株式会社 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US8189962B2 (en) * 2006-12-19 2012-05-29 Hitachi Kokusai Electric Inc. Image processing apparatus
KR101356733B1 (ko) * 2007-03-07 2014-02-05 삼성전자주식회사 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
JP4513841B2 (ja) * 2007-08-28 2010-07-28 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US8180396B2 (en) 2007-10-18 2012-05-15 Yahoo! Inc. User augmented reality for camera-enabled mobile devices
CN101478672B (zh) * 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
CN101925925B (zh) * 2008-01-21 2013-05-01 艾利森电话股份有限公司 基于预测的图像处理
US8509555B2 (en) * 2008-03-12 2013-08-13 The Boeing Company Error-resilient entropy coding for partial embedding and fine grain scalability
BRPI0904324A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo de processamento de imagem, e, método de processamento de imagem
KR101418467B1 (ko) * 2008-08-15 2014-07-10 엘에스아이 코포레이션 니어 코드워드들의 ram 리스트-디코딩
TW201128965A (en) * 2009-05-19 2011-08-16 Nokia Corp Method for coding and an apparatus
KR101504887B1 (ko) 2009-10-23 2015-03-24 삼성전자 주식회사 데이터 단위 레벨의 독립적 파싱 또는 복호화에 따른 비디오 복호화 방법 및 그 장치, 그리고 데이터 단위 레벨의 독립적 파싱 또는 복호화를 위한 비디오 부호화 방법 및 그 장치
MX2012011695A (es) * 2010-04-09 2012-11-16 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento.
JP5736032B2 (ja) * 2010-04-09 2015-06-17 株式会社Nttドコモ 算術符号化のための適応型2値化
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
KR20120009618A (ko) * 2010-07-19 2012-02-02 에스케이 텔레콤주식회사 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
US9378185B2 (en) * 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8768080B2 (en) * 2011-01-04 2014-07-01 Blackberry Limited Coding of residual data in predictive compression
US20120230422A1 (en) * 2011-03-11 2012-09-13 Korodi Gergely Ferenc Method and System Using Prediction and Error Correction for the Compact Representation of Quantization Matrices In Video Compression
KR101089725B1 (ko) 2011-03-18 2011-12-07 동국대학교 산학협력단 무손실 영상 압축을 위한 임계 필터의 설계 방법, 그 필터를 이용한 무손실 영상 압축 장치 및 방법
US8446301B2 (en) * 2011-04-15 2013-05-21 Research In Motion Limited Methods and devices for coding and decoding the position of the last significant coefficient
US9112526B2 (en) * 2011-06-15 2015-08-18 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
EP3402206B1 (en) * 2011-06-28 2020-05-20 Samsung Electronics Co., Ltd. Video encoding and decoding method using arithmetic coding with a two-dimensional signaling of the last significant coefficient
EP2621267A4 (en) * 2011-10-04 2015-03-25 Bird B Gone Inc ELECTROFIED BIRD REPULSION DEVICE WITH LAMELLES
JP6130839B2 (ja) * 2011-10-06 2017-05-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン エントロピー符号化
CN108391128A (zh) * 2011-11-08 2018-08-10 三星电子株式会社 用于对视频进行解码的设备
US9584802B2 (en) * 2012-04-13 2017-02-28 Texas Instruments Incorporated Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput
EP2840789B1 (en) * 2012-04-15 2018-09-12 Samsung Electronics Co., Ltd. Parameter update method for entropy decoding of conversion coefficient level, and entropy decoding device of conversion coefficient level using same

Also Published As

Publication number Publication date
KR20150037782A (ko) 2015-04-08
TWI549487B (zh) 2016-09-11
CA2870531A1 (en) 2013-10-24
CN105007496B (zh) 2019-05-10
KR101477621B1 (ko) 2015-01-02
AU2016200562B2 (en) 2016-12-08
EP2840789A4 (en) 2016-03-09
SG10201703653YA (en) 2017-06-29
PH12017500774B1 (en) 2018-10-15
EP2840789A1 (en) 2015-02-25
KR20150037780A (ko) 2015-04-08
SG10201707023VA (en) 2017-10-30
BR122018010479B1 (pt) 2020-05-12
US9386323B2 (en) 2016-07-05
CN104365099A (zh) 2015-02-18
EP2840789B1 (en) 2018-09-12
EP3416292A1 (en) 2018-12-19
AU2013250108B2 (en) 2015-11-05
ES2949651T3 (es) 2023-10-02
CN104869424A (zh) 2015-08-26
US10306230B2 (en) 2019-05-28
KR20140110809A (ko) 2014-09-17
KR101547499B1 (ko) 2015-08-26
CA2993866C (en) 2020-07-14
PH12017500773B1 (en) 2018-10-15
PH12017500772B1 (en) 2018-10-15
PH12017500771A1 (en) 2018-10-15
US9277242B2 (en) 2016-03-01
CN104365099B (zh) 2017-10-27
US20180192054A1 (en) 2018-07-05
PL2840789T3 (pl) 2018-11-30
PH12014502262A1 (en) 2014-12-10
KR20150037779A (ko) 2015-04-08
CN105049869B (zh) 2019-05-10
KR101573337B1 (ko) 2015-12-01
CY1120738T1 (el) 2019-12-11
ZA201600980B (en) 2016-11-30
US20150189326A1 (en) 2015-07-02
BR112014025686B1 (pt) 2019-08-20
CN107465930B (zh) 2020-06-23
SG11201406560UA (en) 2014-11-27
PH12014502262B1 (en) 2014-12-10
AU2016200562A1 (en) 2016-02-18
RU2014145826A (ru) 2016-06-10
CN104869423B (zh) 2017-09-08
US20170105026A1 (en) 2017-04-13
TWI640191B (zh) 2018-11-01
US9942567B2 (en) 2018-04-10
KR101573336B1 (ko) 2015-12-01
PH12017500774A1 (en) 2018-10-15
EP3926832C0 (en) 2023-11-22
AU2017201237B2 (en) 2018-03-08
CN107465930A (zh) 2017-12-12
US20150030081A1 (en) 2015-01-29
AU2018203874A1 (en) 2018-06-21
EP3416292B1 (en) 2020-02-26
US20150189325A1 (en) 2015-07-02
CN105007496A (zh) 2015-10-28
ZA201600977B (en) 2016-11-30
US9554155B2 (en) 2017-01-24
SG10201510259UA (en) 2016-01-28
HUE041710T2 (hu) 2019-05-28
EP4203326A1 (en) 2023-06-28
US9426492B2 (en) 2016-08-23
CA2870531C (en) 2018-03-20
BR112014025686A8 (pt) 2018-06-26
KR20150037781A (ko) 2015-04-08
DK3416292T3 (da) 2020-03-09
MY167815A (en) 2018-09-26
SG10201710903VA (en) 2018-02-27
TWI601412B (zh) 2017-10-01
EP3637621C0 (en) 2023-06-07
SG10201803573PA (en) 2018-06-28
LT2840789T (lt) 2018-10-10
CA2993866A1 (en) 2013-10-24
CN104869423A (zh) 2015-08-26
RU2684587C1 (ru) 2019-04-09
MX364043B (es) 2019-04-11
RU2632409C1 (ru) 2017-10-04
EP3637621B1 (en) 2023-06-07
AU2013250108A1 (en) 2014-11-20
CN104869424B (zh) 2017-10-27
TW201404162A (zh) 2014-01-16
US9277233B1 (en) 2016-03-01
MX2014012448A (es) 2015-01-14
CN105049868A (zh) 2015-11-11
ZA201600979B (en) 2016-11-30
MX351023B (es) 2017-09-28
KR102028689B1 (ko) 2019-10-04
TW201639362A (zh) 2016-11-01
KR20130118246A (ko) 2013-10-29
ES2776899T3 (es) 2020-08-03
ES2687522T3 (es) 2018-10-25
CN105049868B (zh) 2019-05-10
PT2840789T (pt) 2018-10-24
HUE062795T2 (hu) 2023-12-28
RS57654B1 (sr) 2018-11-30
SI2840789T1 (sl) 2018-10-30
CN105049869A (zh) 2015-11-11
HRP20181467T1 (hr) 2018-11-02
ZA201600978B (en) 2016-11-30
PH12017500773A1 (en) 2018-10-15
KR20190012247A (ko) 2019-02-08
PH12017500771B1 (en) 2018-10-15
EP3926832A1 (en) 2021-12-22
HUE049811T2 (hu) 2020-10-28
PL3926832T3 (pl) 2024-04-15
RU2589382C2 (ru) 2016-07-10
RU2660639C1 (ru) 2018-07-06
DK2840789T3 (en) 2018-10-08
BR112014025686A2 (pt) 2017-09-19
KR101573338B1 (ko) 2015-12-01
AU2018203874B2 (en) 2019-06-13
EP3637621A1 (en) 2020-04-15
MY185457A (en) 2021-05-19
MX339998B (es) 2016-06-21
PL3416292T3 (pl) 2020-06-01
WO2013157794A1 (ko) 2013-10-24
PL3637621T3 (pl) 2023-07-24
AU2017201237A1 (en) 2017-03-16
US20150189324A1 (en) 2015-07-02
MY185273A (en) 2021-04-30
EP3926832B1 (en) 2023-11-22
PH12017500772A1 (en) 2018-10-15
KR101945446B1 (ko) 2019-02-07

Similar Documents

Publication Publication Date Title
TWI601412B (zh) 對視訊進行解碼的裝置
TWI555377B (zh) 熵編碼視訊的方法與裝置、以及熵解碼視訊的方法與裝置