本公開涉及視頻編碼與解碼方法及系統(tǒng)。
背景技術(shù):
對于高質(zhì)量圖像的需求逐漸增加。隨著4K及8K等視頻規(guī)格的來臨,極需提升視頻編碼與解碼效率。此外,消費者期待能夠通過各種傳輸媒介來傳輸與接收高質(zhì)量圖像。舉例來說,消費者希望能夠通過網(wǎng)絡于攜帶式裝置(如智能手機、平板計算機、筆記型計算機)及家用電視與計算機上觀看高質(zhì)量圖像。消費者也希望能夠在視頻會議及屏幕共享的過程中顯示高質(zhì)量圖像。
高效率視頻編碼標準(High Efficiency Video Coding,HEVC)H.265在改進視頻壓縮的編碼與解碼效能上提供了一個新的標準。相較于原先的AVC(Advanced Video Coding)標準,由ISO/IEC JTC 1/SC 29/WG 11MPEG(Moving Picture Experts Group)及ITU-T SG16VCEG(Video Coding Experts Group)所建立的HEVC能夠降低壓縮高質(zhì)量視頻的數(shù)據(jù)率。AVC標準亦稱為H.264。
HEVC利用幀間預測技術(shù)(Inter prediction)及幀內(nèi)預測技術(shù)(Intra prediction)等各種編碼工具來壓縮視頻。幀間預測技術(shù)利用視頻串流的不同視頻畫面之間的時間冗余(temporal redundancies)來壓縮視頻數(shù)據(jù)。舉例來說,含有相似內(nèi)容的已編碼及已解碼的視頻畫面可用來編碼目前的視頻畫面。這些已編碼及已解碼的視頻畫面可以用來預測目前視頻畫面的編碼區(qū)域。相對地,幀內(nèi)預測技術(shù)僅利用目前編碼視頻畫面的內(nèi)部數(shù)據(jù)來壓縮視頻數(shù)據(jù)。幀內(nèi)預測技術(shù)并不使用不同視頻畫面的時間冗余。舉例來說,目前視頻畫面是利用同一畫面的另一部分來進行編碼。幀內(nèi)預測技術(shù)包括35種幀內(nèi)模式,包含平面模式(Planar mode)、DC模式及33種定向模式(directional modes)。
相較于AVC標準,HEVC標準對各個輸入視頻畫面采用擴張分割技術(shù)(expansive partitioning and dividing)。AVC標準在編碼及解碼時僅利用輸入視頻畫面的大區(qū)塊(macroblock)進行分割。相反地,HEVC標準可以分割輸入視頻畫面成不同尺寸的數(shù)據(jù)單元及區(qū)塊,相關(guān)說明如后。相較于AVC標準,HEVC標準對動態(tài)、多細節(jié)及多邊緣的視頻畫面的編碼及解碼程序提供了更多的彈性。
一些能夠改善視頻編碼程序的編碼工具亦列入于HEVC標準中。此些編碼工具被稱為編碼擴展(coding extensions)。屏幕內(nèi)容編碼擴展(Screen Content Coding extension,SCC extension)專注于改善HEVC標準下的視頻屏幕內(nèi)容的處理效能。屏幕內(nèi)容為圖案、文字或動畫所成像(render)的視頻,而不是照相機所提取的視頻場景。成像的圖案、文字或動畫可以是動態(tài)或靜態(tài),且可以提供于照相機所提取的視頻場景內(nèi)的視頻。SCC的應用實例可以包含屏幕鏡射(Screen mirroring)、云端游戲(cloud gaming)、無線顯示內(nèi)容(wireless display of content)、遠端計算機存取時的顯示(displays generated during remote computer desktop access)及屏幕共享(screen sharing)(例如是視頻會議的即時屏幕共享)。
SCC內(nèi)的一編碼工具為自適性色彩轉(zhuǎn)換(adaptive color transform,ACT)。ACT為應用于編碼單元(coding unit,CU)的殘差像素樣本(residue pixel samples)的色彩空間轉(zhuǎn)換。對特定的色彩空間而言,已存在一編碼單元(CU)的一像素的色彩元素(color components)的相關(guān)性。當像素的色彩元素的相關(guān)性高時,像素執(zhí)行ACT可以通過去相關(guān)性(de-correlating)來幫助相關(guān)的色彩元素集中能量。這種集中能量的作法能夠提高編碼效率,并降低編碼成本。因此,ACT能夠在HEVC編碼過程中增進編碼效能。
然而,在編碼過程中,需要額外的碼率失真函數(shù)(rate distortion optimization,RDO)來評估是否啟用ACT。RDO用來評估碼率失真(rate distortion,RD)的成本。這些評估過程可能會增加編碼復雜度及編碼時間。再者,當像素的色彩元素已經(jīng)去相關(guān)時,ACT可能就不是必須的。在這種情況下,由于執(zhí)行ACT的成本高于編碼的效益,進一步對色彩元素進行的去相關(guān)性程序可能無法帶來任何好處。
技術(shù)實現(xiàn)要素:
根據(jù)本公開的一方面,提供一種視頻編碼方法。視頻編碼方法包括以下步驟。接收一原始視頻畫面(source video frame)。分割原始視頻畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元的一編碼模式(coding mode)。若啟用編碼模式,則在啟用該編碼模式判斷是否估計一轉(zhuǎn)換單元(transform unit)的尺寸。在啟用的編碼模式?jīng)Q定編碼單元的轉(zhuǎn)換單元。編碼單元的尺寸為NxN。
根據(jù)本公開的另一方面,提供一種視頻編碼系統(tǒng)。視頻編碼系統(tǒng)包括一存儲器及一處理器。存儲器用以存儲一組指令。處理器用以執(zhí)行此組指令。此組指令包括以下步驟。接收一原始視頻畫面(source video frame)。分割原始視頻畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元的一編碼模式(coding mode)。若啟用編碼模式,則在啟用的編碼模式判斷是否估計一轉(zhuǎn)換單元(transform unit)的尺寸。在啟用的編碼模式?jīng)Q定編碼單元的轉(zhuǎn)換單元。編碼單元的尺寸為NxN。
根據(jù)本公開的另一方面,提供一種非暫態(tài)計算機可讀取記錄介質(zhì)。非暫態(tài)計算機可讀取記錄介質(zhì)用以存儲一組指令。此組指令由一或多個處理器執(zhí)行,以執(zhí)行一視頻編碼方法。此視頻編碼方法包括以下步驟。接收一原始視頻畫面(source video frame)。分割原始視頻畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元的一編碼模式(coding mode)。若啟用編碼模式,則在啟用的編碼模式判斷是否估計一轉(zhuǎn)換單元(transform unit)的尺寸。在啟用的編碼模式?jīng)Q定編碼單元的轉(zhuǎn)換單元。編碼單元的尺寸為NxN。
為了對本公開的上述及其他方面有更佳的了解,下文特舉多個實施例,并配合附圖,作詳細說明如下:
附圖說明
圖1A~1J繪示視頻畫面及根據(jù)本公開數(shù)個實施例的相關(guān)的分割。
圖2繪示本公開的視頻編碼器。
圖3說明根據(jù)本公開一實施例的編碼方法。
圖4說明根據(jù)本公開另一實施例的編碼方法。
圖5說明根據(jù)本公開另一實施例的編碼方法。
圖6說明根據(jù)本公開另一實施例的編碼方法。
圖7說明非444色度格式的IPM的演算流程。
圖8繪示執(zhí)行本公開的編碼與解碼方法的系統(tǒng)。
【符號說明】
101:視頻畫面(video frame)
102:編碼樹單元(coding tree unit,CTU)
103:亮度編碼樹區(qū)塊(luma coding tree block,luma CTB)
104:Cb CTB
105:Cr CTB
106、111:相關(guān)說明
107-1、107-2、107-3、107-4:亮度編碼區(qū)塊(luma coding block,luma CB)
108:編碼單元(Coding unit,CU)
109:Cb CB
110:Cr CB
112:亮度預測區(qū)塊(luma prediction block,PB)
113-1、113-2、113-3、113-4:轉(zhuǎn)換區(qū)塊(transform block,TB)
114:轉(zhuǎn)換單元(Transform unit,TU)
200:視頻編碼器
202:畫面分割模塊(Frame Dividing Module)
204:幀間預測啟用ACT模塊(Inter Prediction enabling adaptive color transformation Module)
206:幀間預測禁用ACT模塊(Inter Prediction disabling ACT Module)
208:畫面寄存器(Frame Buffer)
210:模式?jīng)Q定模塊(Mode Decision Module)
212:幀內(nèi)預測啟用ACT模塊(Intra Prediction enabling ACT Module)
214:幀內(nèi)預測禁用ACT模塊(Intra Prediction disabling ACT Module)
216、218:加總模塊(Summing Module)
220:切換器
222:自適性色彩轉(zhuǎn)換(ACT)模塊
224:CCP、轉(zhuǎn)換及量化模塊(CCP,Transform,and Quantization Module)
226:熵編碼模塊(Entropy Coding Module)
228:逆運算CCP、轉(zhuǎn)換及量化模塊(Inverse CCP,Transform,and Quantization Module)
230:切換器
232:逆運算ACT模塊(Inverse ACT Module)
300、400、500、600、700、800:編碼方法
304:分量相關(guān)性分析(component correlation analysis)
306:概略模式?jīng)Q定(Rough mode decision)
308:結(jié)束
310:碼率失真函數(shù)模式?jīng)Q定(rate distortion optimization mode decision,RDO mode decision)
311:色度格式是否為非444(non-444)的判斷
312:CU尺寸是否大于臨界值T1的判斷
314:TU尺寸決定(TU size ecision)
316:色度模式?jīng)Q定(chroma mode decision)
402:CU尺寸是否小于臨界值T2的判斷
702:非暫態(tài)計算機可讀取介質(zhì)
704:處理器
具體實施方式
以下將搭配附圖詳細地說明示例性的實施例。在下面描述的附圖中,除非另有說明,在不同附圖的相同標號代表相同或近似的元件。以下提出的實施例并非代表本公開的所有實施情況。事實上,這些實施例僅僅是對應于權(quán)利要求書的系統(tǒng)與方法的一些實例。
圖1A~1J說明根據(jù)本公開的實施例的視頻畫面及其相關(guān)的分割。
圖1A繪示視頻畫面101。視頻畫面101包括數(shù)個像素。視頻畫面101被分割為數(shù)個編碼樹單元(coding tree units,CTUs)102。每個CTU 102的尺寸是根據(jù)L個垂直樣本及L個水平樣本(LxL)來決定。每個樣本于CTU的不同像素位置對應于一像素值。舉例來說,L可以是16、32、或64。像素位置可以是像素于CTU所在的位置或像素之間的位置。當像素位置是像素之間的位置,像素值可以是像素位置附近的一或多個像素的內(nèi)插值。各個CTU 102包括亮度編碼樹區(qū)塊(luma coding tree block,luma CTB)、色度編碼樹區(qū)塊(chroma CTB)及相關(guān)說明(associated syntax)。
圖1B繪示數(shù)個CTB可以被包含于圖1A的一個CTU 102中。舉例來說,CTU 102可以包含亮度CTB(luma CTB)103、色度CTB(chroma CTB)(含Cb CTB 104Cr CTB 105)。CTU 102也可以包括相關(guān)說明(associated syntax)106。Cb CTB 104為藍色色差CTB(blue difference chroma component CTB),其表示CTB在藍色的變化。Cr CTB 105為紅色色差CTB(red difference chroma component CTB),其表示CTB在紅色的變化。相關(guān)說明106包含亮度CTB 103、Cb CTB 104及Cr CTB 105如何被編碼的信息、以及亮度CTB 103、Cb CTB104及Cr CTB 105的進一步分割。CTB 103、Cb CTB 104及Cr CTB 105的尺寸可以相同于CTU 102的尺寸。或者,亮度CTB 103的尺寸可以相同于CTU 102的尺寸,但Cb CTB 104及Cr CTB 105的尺寸可以小于CTU 102的尺寸。
幀內(nèi)預測(intra prediction)、幀間預測(inter prediction)及其他等編碼工具運作于編碼區(qū)塊(coding blocks,CBs)上。為了決定編碼的程序是要采用幀內(nèi)預測還是幀間預測,CTB可以被分割為一或多個CB。CTB分割為CB的程序是根據(jù)四分樹分割(quad-tree partitioning)技術(shù)。因此,CTB可以分割為四個CB,各個CB可以再分割為四個CB。根據(jù)CTB的尺寸,可以繼續(xù)進行這樣的分割程序。
圖1C繪示圖1B的亮度CTB 103被分割為一或多個亮度CB 107-1、107-2、107-3或107-4。以64x64的亮度CTB為例,對應的亮度CB 107-1、107-2、107-3或107-4可以是NxN的尺寸,例如是64x64、32x32、16x16或8x8。在圖1C中,亮度CTB 103的尺寸為64x64。而亮度CTB 103的尺寸可以為32x32或16x16。
圖1D繪示圖1B的亮度CTB 103進行四分樹分割的一實例,其中亮度CTB 103分割為圖1C的亮度CB 107-1、107-2、107-3或107-4。在圖1D中,亮度CTB 103的尺寸為64x64。然而,亮度CTB 103的尺寸也可以是32x32或16x16。
在圖1D中,亮度CTB 103分割為四個32x32的亮度CB 107-2。各個32x32的亮度CB可以更分割為四個16x16的亮度CB 107-3。各個16x16的亮度CB可以更分割為四個8x8的亮度CB 107-4。
編碼單元(Coding unit,CU)用以編碼CB。CTB可以包括唯一一個CU、或者分割為數(shù)個CU。因此CU的尺寸也可以是NxN,例如是64x64、32x32、16x16或8x8。各個CU包括一個亮度CB、兩個色度CB及相關(guān)說明。于編碼及解碼程序中產(chǎn)生的殘差CU的尺寸可相同于其對應的CU的尺寸。
圖1E繪示CB(圖1C的亮度CB 107-1)的示意圖,此些CB可以是CU 108的一部分。舉例來說,CU 108可以包括亮度CB 107-1及色度CB(Cb CB 109)及色度CB(Cr CB 110)。CU 108可以包括相關(guān)說明111。相關(guān)說明111包含如何對亮度CB 107-1、Cb CB 109及Cr CB 110進行編碼的信息,例如是四分樹信息的說明(亮度CB及色度CB的尺寸、位置與進一步的分割)。各個CU 108可于亮度CB 107-1、Cb CB 109及Cr CB 110具有相關(guān)的預測區(qū)塊(prediction blocks,PBs)。預測區(qū)塊組合成預測單元(prediction units,PUs)。
圖1F繪示圖1D的CB 107-1分割為亮度PB 112的各種可能情況。亮度CB 107-1例如是根據(jù)亮度CB 107-1的不同區(qū)域的可預測性來分割為亮度PB 112。舉例來說,亮度CB 107-1可以包含單一個亮度PB 112,其尺寸相同于亮度CB 107-1。或者,亮度CB 107-1可以垂直地或水平地分割為兩個偶數(shù)亮度PB 112?;蛘吡炼菴B 107-1可以垂直地或水平地分割為四個亮度PB 112。需說明的是圖1F僅僅作為示例。在HEVC標準下的任何分割為PB的方式都屬于本公開的范圍。圖1F所繪示將亮度CB 107-1分割為亮度PB 112的方式是互斥的。舉例來說,在HEVC的幀內(nèi)預測模式中,64x64、32x32及16x16的CB可能被分割為單一個PB,其尺寸相同于CB。然而,8x8的CB可能被分割為單一個8x8的PB或四個4x4的PB。
一但采用幀內(nèi)預測或幀間預測,由預測區(qū)塊與來源視頻圖像區(qū)塊之間不同處所產(chǎn)生的殘差信號(residual signal)被轉(zhuǎn)換至另一域(domain),以進一步進行離散余弦轉(zhuǎn)換(discrete cosine transform,DCT)或離散正弦變換(discrete sine transform,DST)的編碼。為了提供這些轉(zhuǎn)換,各個CU或各個CB需要利用一或多個轉(zhuǎn)換區(qū)塊(transform block,TB)。
圖1G繪示圖1E或圖1F的亮度CB 107-1如何被分割為不同的TB 113-1、113-2、113-3及113-4。若亮度CB 107-1為64x64的CB,TB 113-1為32x32的TB,TB 113-2為16x16的TB,TB 113-3為8x8的TB,并且TB 113-4為4x4的TB。亮度CB 107-1可以被分割為4個TB 113-1、16個TB 113-2、64個TB 113-3及256個TB 113-4。一個亮度CB 107-1可以被分割為相同尺寸的TB 113或不同尺寸的TB 113。
將CB分割為TB的程序根據(jù)四分樹分割(quad-tree splitting)。因此,一個CB可以被分割為一或多個TB,其中各個TB可以更進一步被分割為4個TB。這樣的分割程序可以根據(jù)CB的尺寸來繼續(xù)進行。
圖1H繪示圖1E或圖1F的亮度CB 107-1的四分樹分割,其利用各種分割方式分割為圖1G的TB 113-1、113-2、113-3或113-4。在圖1H中,亮度CB 107-1的尺寸為64x64。然而,亮度CB 107-1的尺寸也可以是32x32或16x16。
在圖1H中,亮度CB 107-1被分割為四個32x32的TB 113-1。各個32x32的TB可以更進一步被分割為4個16x16的TB 113-2。各個16x16的TB可以更進一步被分割為4個8x8的TB 113-3。各個8x8的TB可以更進一步被分割為4個4x4的TB 113-4。
TB 113接著以進行DCT或任何HEVC標準的轉(zhuǎn)換。轉(zhuǎn)換單元(Transform units,TUs)匯總TB 113。一或多個TB被各個CB采用。CB形成各個CU。因此,轉(zhuǎn)換單元(TU)的結(jié)構(gòu)于不同的CU 108是不同的,并且是由CU 108來決定的。
圖1I繪示TU 114各種不同分割的TB 113-1、113-2、113-3及113-4。各個TU匯總圖1G或圖1H分割的TB。32x32的TU 114可以采用32x32的單一個TB 113-1、或一或多個16x16的TB 113-2、8x8的TB 113-3、或4x4的TB 113-4。對采用HEVC的幀間預測的CU而言,TU可以大于PU,使得TU可以包含PU邊界(boundaries)。然而,對采用HEVC的幀內(nèi)預測的CU而言,TU可以不穿越(cross)PU邊界。
圖1J繪示圖1I的TU 114的四分樹分割,其利用圖1I的各種TB 113-1、113-2、113-3或113-4。在圖1J中,TU 114的尺寸為32x32。然而,TU的尺寸可以是16x16、8x8、或4x4。
在圖1J中,TU 114被分割為一個32X32的TB 113-1及4個16x16的TB 113-2。各個16x16的TB可以更進一步分割為4個8x8的TB 113-3。各個8x8的TB可以更進一步分割為4個4x4的TB 113-4。
本公開所述的CTU、CTB、CB、CU、PU、PB、TU或TB皆可以包括HEVC標準的任何特征(feature)、尺寸(size)及特性(property)。第1C、1E及1F圖所述的分割也可以應用于色度CTB(Cb CTB 104)、色度CTB(Cr CTB 105)及色度CB(Cb CB 109)、色度CB(Cr CB 110)。
圖2繪示執(zhí)行本公開的編碼方法的視頻編碼器200。視頻編碼器200可以包括一或多個附加元件,其提供HEVC-SCC的附加的編碼功能,如調(diào)色盤模式(palette mode)、樣本自適性偏移(sample adaptive offset)及去塊濾波(de-blocking filtering)。此外,本公開考慮到ACT的幀內(nèi)預測模式及其他編碼模式,例如是ACT的幀間預測模式。
視頻編碼器200接收輸入的一原始視頻畫面(source video frame)。此輸入原始視頻畫面先輸入至畫面分割模塊(Frame Dividing Module)202。畫面分割模塊202分割原始視頻畫面為至少一原始CTU(source CTU)。原始CU(source CU)再由原始CTU來獲得。原始CTU的尺寸及原始CU的尺寸由畫面分割模塊202來決定。接著,以逐CU的方式進行編碼。原始CU由畫面分割模塊202輸出后,輸入至幀間預測啟用ACT模塊(Inter Prediction enabling adaptive color transformation Module)204、幀間預測禁用ACT模塊(Inter Prediction disabling ACT Module)206、幀內(nèi)預測啟用ACT模塊(Intra Prediction enabling ACT Module)212及幀內(nèi)預測禁用ACT模塊(Intra Prediction disabling ACT Module)214。
輸入畫面的原始CU被幀間預測啟用ACT模塊204編碼,其利用幀間預測技術(shù)且啟用自適性色彩轉(zhuǎn)換(ACT)自輸入畫面決定一原始CU的預測。輸入畫面的原始CU也被幀間預測禁用ACT模塊206編碼,其利用幀間預測技術(shù)且不啟用自適性色彩轉(zhuǎn)換(ACT)自輸入畫面決定一原始CU的預測(即禁用ACT)。
在幀間預測時可以使用存儲于畫面寄存器(Frame Buffer)208的參考CU。原始PU及PB也由原始CU來獲得,且使用于幀間預測啟用ACT模塊204及幀間預測禁用ACT模塊206的幀間預測程序。幀間預測利用不同時間的視頻畫面的區(qū)域來進行運動檢測。幀間預測啟用ACT模塊204及幀間預測禁用ACT模塊206的已編碼幀間預測CU預定為最高畫面質(zhì)量。已編碼幀間預測CU接著被輸入至模式?jīng)Q定模塊(Mode Decision Module)210。
輸入畫面的原始CU也藉由幀內(nèi)預測啟用ACT模塊212進行編碼,其利用幀內(nèi)預測技術(shù)且啟用自適性色彩轉(zhuǎn)換(ACT)自輸入畫面決定一原始CU的預測。
輸入畫面的原始CU也藉由幀內(nèi)預測禁用ACT模塊214進行編碼,其利用幀內(nèi)預測技術(shù)且不啟用自適性色彩轉(zhuǎn)換(ACT)自輸入畫面決定一原始CU的預測(即禁用ACT)。
幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214進行幀內(nèi)預測時,可使用存儲于畫面寄存器208的同一畫面的原始CU。原始PU及PB也由原始CU來獲得,且使用于幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214的幀內(nèi)預測程序。已編碼的幀內(nèi)預測CU預定為最高畫面質(zhì)量。從幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214輸出的已編碼幀內(nèi)預測CU輸入至模式?jīng)Q定模塊210。
在模式?jīng)Q定模塊210中,采用幀間預測啟用ACT、幀間預測禁用ACT、幀內(nèi)預測啟用ACT及幀內(nèi)預測禁用ACT等方式進行原始CU的編碼的成本搭配預測CU的質(zhì)量進行比較。根據(jù)比較的結(jié)果,決定哪一編碼模式的預測CU(例如是幀間預測CU或幀內(nèi)預測CU)。被選擇的預測CU接著被傳送至加總模塊(Summing Module)216、218。
在加總模塊216中,原始CU減去已選擇的預測CU,以提供一剩余CU(residual CU)。若已選擇的預測CU是來自在幀間預測啟用ACT模塊204及幀內(nèi)預測啟用ACT模塊121的其中之一,切換器(switch)220切換至位置A。在位置A,剩余CU輸入至ACT模塊(ACT Module)222,并接著輸入至CCP、轉(zhuǎn)換及量化模塊224(CCP,Transform,and Quantization Module)224。然而,若已選擇的預測CU是來自在幀間預測禁用ACT模塊206及幀內(nèi)預測禁用ACT模塊214的其中之一,切換器220切換至位置B。在位置B,ACT模塊222被跳過且在編碼過程中不被執(zhí)行。剩余CU從加總模塊216直接被輸入至CCP、轉(zhuǎn)換及量化模塊224。
在ACT模塊222,自適性色彩轉(zhuǎn)換(adaptive color transform)執(zhí)行于剩余CU。ACT模塊222的輸出接入至CCP、轉(zhuǎn)換及量化模塊224。
CCP、轉(zhuǎn)換及量化模塊224執(zhí)行跨組件預測(cross component prediction,CCP)、轉(zhuǎn)換(如離散續(xù)余弦轉(zhuǎn)換(Discrete Cosine Transform,DCT)或離散正弦轉(zhuǎn)換(Discrete Sine Transform,DST)、及剩余CU的量化。CCP、轉(zhuǎn)換及量化模塊224的輸出接入至熵編碼模塊(Entropy Coding Module)226及逆運算CCP、轉(zhuǎn)換及量化模塊(Inverse CCP,Transform,and Quantization Module)228。
熵編碼模塊226執(zhí)行剩余熵編碼(entropy encoding)。舉例來說,全文自適應二進位算術(shù)編碼(Context Adaptive Binary Arithmetic Coding,CABAC)可以被執(zhí)行以編碼剩余CU。HEVC所提供的任何其他熵編碼程序皆可執(zhí)行于熵編碼模塊226中。
在執(zhí)行熵編碼之后,輸入視頻畫面的CU的已編碼比特流自視頻編碼器200輸出。輸出的已編碼比特流可以存儲于一存儲器、通過傳輸線廣播或網(wǎng)絡、或提供至一顯示器等。
在逆運算CCP、轉(zhuǎn)換及量化模塊228中,執(zhí)行CCP、轉(zhuǎn)換及量化模塊224的相反決定于剩余CU,以提供一重建的剩余CU。
若已選擇的預測CU是來自在幀間預測啟用ACT模塊204或幀內(nèi)預測啟用ACT模塊212,切換器(switch)230切換至位置C。在位置C,重建的剩余CU輸入至逆運算ACT模塊(Inverse ACT Module)232并接著輸入至加總模塊(Summing Module)218。然而,若已選擇的預測CU是來自在幀間預測禁用ACT模塊206或幀內(nèi)預測禁用ACT模塊214,切換器230切換至位置D。在位置D,逆運算ACT模塊232被跳過而不被執(zhí)行,且重建的剩余CU被直接輸入至加總模塊218。
逆運算ACT模塊232對重建的剩余CU執(zhí)行ACT模塊232的自適性色彩轉(zhuǎn)換的逆運算。逆運算ACT模塊232的輸出輸入至加總模塊218。
在加總模塊218中,來自模式?jīng)Q定模塊210的已選擇的預測CU加上重建的剩余CU,以提供重建的原始CU(reconstructed source CU)。重建的原始CU接著被存儲于畫面寄存器208,以供其他CU的幀間預測及幀內(nèi)預測使用。
以下說明的編碼方法300、400及500如何執(zhí)行于幀內(nèi)預測啟用ACT模塊212內(nèi)。編碼方法300、400及500能夠改善編碼效率與編碼時間。
幀間預測啟用ACT模塊204、幀間預測禁用ACT模塊206、幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214并非局限于以平行的方式排列。在一實施例中,幀間預測啟用ACT模塊204、幀間預測禁用ACT模塊206、幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214可以依序排列。幀間預測啟用ACT模塊204、幀間預測禁用ACT模塊206、幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214的排列方式可以變更。
圖3說明根據(jù)本公開一實施例的編碼方法300,其決定TU尺寸的估計(TU size evaluation)是否需執(zhí)行在啟用ACT的幀內(nèi)預測編碼程序(ACT enabled intra prediction encoding process)中。更具體來說,編碼方法300利用關(guān)于CU尺寸的臨界值計算(threshold calculation)來決定是否需執(zhí)行TU尺寸的估計。
在步驟304中,分量相關(guān)性分析(component correlation analysis)執(zhí)行于一原始CU,以決定CU的ACT的編碼模式是否需被啟用。CU內(nèi)的各個像素的色彩分量的相關(guān)性被分析出來。在各個像素中,色彩分量的相關(guān)性與一像素相關(guān)臨界值(pixel correlation threshold)進行比較,以分析出相關(guān)性是否高于、等于或低于像素相關(guān)性臨界值。
在一CU中,計算出高于像素相關(guān)性臨界值的像素的總數(shù)量,其中等于像素相關(guān)性臨界值的像素也視為高于像素相關(guān)性臨界值而被計算在內(nèi)。像素的總數(shù)量接著與一CU相關(guān)性臨界值(CU correlation threshold)進行比較。
若像素的總數(shù)量低于CU相關(guān)性臨界值,則判定CU的色彩分量具有低相關(guān)性。因此,CU并不需要ACT,故流程進入步驟308,而在CU的編碼禁用ACT。
然而,若像素的總數(shù)量高于CU相關(guān)性臨界值,則判定CU的色彩分量具有高相關(guān)性。在這種情況下,ACT是需要用來去除CU的各個像素的分量相關(guān)性。當確認為高相關(guān)性,ACT被啟用且流程進入步驟306。在步驟306,在幀內(nèi)預測啟用ACT之下,進行一概略模式?jīng)Q定。
步驟304的相關(guān)性分析可以更進一步或可選擇性地根據(jù)CU的色彩空間(color space)來進行。舉例來說,在步驟304,CU內(nèi)的像素的色彩分量可以進行分析,且CU的色彩空間可以進行判定。色彩空間可以判定為紅色、綠色及藍色(RGB)空間或亮度與色度(luminance and chrominance,YUV)空間。
當判定為色彩空間為RGB色彩空間,流程進入步驟306。在步驟306,在幀內(nèi)預測啟用ACT之下,進行概略模式?jīng)Q定(Rough mode decision)。由于RGB像素分量通常具有高相關(guān)性,需要進行ACT來去除CU內(nèi)各個像素的分量的相關(guān)性,以將像素能量(pixel energy)隔離為單一成份(single component)。
相對地,當色彩空間判定為YUV色彩空間,流程進入步驟308,而禁用ACT。這是由于YUV像素分量通常具有低相關(guān)性,且多數(shù)像素能量(pixel energy)存儲于單一像素分量(single pixel component)。由于CU像素分量的進一步去相關(guān)性動作(de-correlation)不會產(chǎn)生額外的編碼效益,故并不需要于YUV像素分量啟用ACT。
在幀內(nèi)預測啟用ACT模塊212中,在編碼方法300禁用ACT時,幀內(nèi)預測啟用ACT的編碼模式被禁用,且在幀內(nèi)預測啟用ACT模塊212不會輸出預測至模式?jīng)Q定模塊210。
在幀間預測啟用ACT模塊204,在幀間預測編碼禁用ACT時,幀間預測啟用ACT的編碼模式被禁用,且?guī)g預測啟用ACT模塊204不會輸出預測至模式?jīng)Q定模塊210。
在步驟306中,幀內(nèi)預測啟用ACT下進行概略模式?jīng)Q定。概略模式?jīng)Q定可以是一成本模式?jīng)Q定(cost-based mode decision)。舉例來說,在概略模式?jīng)Q定中,可以決定為低復雜度成本的已選擇編碼模式,以快速做出決定,其通常具有最高質(zhì)量及最低編碼成本。
在步驟310中,在啟用ACT的編碼模式下,進行碼率失真函數(shù)模式?jīng)Q定(rate distortion optimization mode decision,RDO mode decision)。在此,當ACT、CCP、轉(zhuǎn)換、量化及熵編碼執(zhí)行時,計算原始視頻的變異(deviation)及編碼模式的比特成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,ROD分析選擇出具有最低編碼成本及最高編碼質(zhì)量的編碼模式由。
舉例來說,在幀內(nèi)預測啟用ACT模塊212中,35個幀內(nèi)預測模式(intra prediction modes,IPMs)可供編碼。幀內(nèi)預測啟用ACT模塊212在步驟306的概略模式?jīng)Q定中,采用簡單、低復雜度編碼成本決定法來從這些幀內(nèi)預測模式選擇出最低編碼成本及最高編碼質(zhì)量者。舉例來說,絕對轉(zhuǎn)換誤差和(sum of absolute transform distortion,SATD)成本可用來決定出各個IPM的低復雜度編碼成本。舉例來說,最低編碼成本及最高偏碼質(zhì)量的選擇可以是選擇3個IPM或選擇8個IPM。幀內(nèi)預測啟用ACT模塊212在步驟310的RDO模式?jīng)Q定中,對各個已選擇IPM進行RDO模式?jīng)Q定。當ACT、CCP、轉(zhuǎn)換、量化及熵編碼執(zhí)行時,計算各個已選擇IPM的原始視頻的變異及編碼的比特成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,藉由ROD分析從已選擇IPM中選擇出具有最低編碼成本及最高編碼質(zhì)量的IPM。
上述相關(guān)于幀內(nèi)預測啟用ACT模塊212的變化流程也可以執(zhí)行在幀間預測啟用ACT模塊204。舉例來說,當幀間預測啟用ACT模塊204執(zhí)行編碼方法300,在步驟306,進行時間相鄰的視頻畫面的最佳幀間預測的概略模式?jīng)Q定,其提供最低編碼成本及最高編碼質(zhì)量。在步驟310,進行幀間預測的RDO模式?jīng)Q定。在此,當ACT、CCP、轉(zhuǎn)換、量化及熵編碼執(zhí)行時,計算幀間預測的原始視頻的變異(deviation)及編碼比特成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,ROD分析選擇出具有最低編碼成本及最高編碼質(zhì)量的幀間預測。
在步驟312,計算目前處理的CU的CU尺寸。CU的尺寸可以是NxN,其中N可以是4、8、16、32或64。CU的N值與臨界值T1比較。臨界值T1可以是4、8、16、32或64。根據(jù)比較結(jié)果,判定出CU尺寸是否小于臨界值T1,并藉此估計出欲啟用編碼模式的轉(zhuǎn)換單元的尺寸。若CU尺寸小于臨界值T1,流程進入步驟314,以進行TU尺寸的決定(TU size ecision)。然而,若CU尺寸等于或大于臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定步驟。在步驟312,當CU尺寸大于臨界值T1,決定出TU。若CU尺寸CU等于或大于臨界值T1,TU四分樹結(jié)構(gòu)(quadtree structure)可以決定為最大可能的TU尺寸。舉例來說,當CU尺寸等于或大于臨界值T1,對于尺寸為64x64的PU,可以決定出四個32x32的TU。在另一實施例中,當CU尺寸等于或大于臨界值T1,對于32x32、16x16、8x8或4x4的PU來說,TU可以與PU相同尺寸。舉例來說,若PU的尺寸為32x32,對應的PU尺寸可以是32x32。
由于TU尺寸的決定耗費時間且增加編碼成本,步驟312可改善編碼時間及效率。因此,若TU尺寸的決定能夠省略,則可解省編碼成本即時間。再者,CU尺寸等于或大于臨界值T1表示CU的內(nèi)容并不復雜。舉例來說,CU尺寸大于臨界值T1可能表示視頻圖像有大范圍區(qū)域沒有邊界、動態(tài)或復雜圖像。因此,TU尺寸的決定可以不需要進行,以有效率地進行高視頻質(zhì)量的CU的編碼。
在步驟314中,若CU尺寸低于臨界值T1,則執(zhí)行TU尺寸的決定。在此,決定了原始CU的TU。藉由步驟310的RDO成本估計,分析出TU尺寸,已獲得最高效率及高視頻質(zhì)量的CU的ACT轉(zhuǎn)換。舉例來說,可分析出4x4、8x8、16x16及32x32的TU尺寸。當能夠獲得最高效率的ACT轉(zhuǎn)換的TU尺寸被決定出來,此TU尺寸被選擇用來作CU的ACT轉(zhuǎn)換并進入步驟316。已選擇的TU尺寸作為最佳的TU四分樹結(jié)構(gòu)尺寸。
在步驟316,進行色度模式?jīng)Q定(chroma mode decision)。色度模式的決定是依據(jù)步驟310的預測模式的決定來進行,且利用已決定的預測模式(determined prediction mode)來使色度預測(chroma prediction)產(chǎn)生色度PU(chroma PU)及對應的色度TU(chroma TU)。從步驟312或步驟314決定的TU也可用來產(chǎn)生色度TU。色度TU亦根據(jù)色度格式(chroma format)進行二次采樣(subsample)。因此,在一實施例中,當色度格式為4:2:0,且亮度TU的尺寸為32x32,決定的色度TU為16x16的色度TU。
在步驟308,幀內(nèi)預測啟用ACT模塊的選擇最佳幀內(nèi)預測模式及選擇最佳TU四分樹結(jié)構(gòu)尺寸的程序已完成。預測及RDO成本已產(chǎn)生,且輸入至模式?jīng)Q定模塊210,以與其他預測模塊輸入至模式?jīng)Q定模塊210的RDO成本進行比較。舉例來說,幀間預測啟用ACT模塊204可能產(chǎn)生啟用ACT的CU的預測及RDO成本,并輸入預測CU及RDO成本至模式?jīng)Q定模塊210。幀間預測禁用ACT模塊206及幀內(nèi)預測禁用ACT模塊214也產(chǎn)生預測CU及RDO成本,并輸入其各自的預測CU及RDO成本至模式?jīng)Q定模塊210。模式?jīng)Q定模塊210比較幀間預測啟用ACT模塊204、幀間預測禁用ACT模塊206、幀內(nèi)預測啟用ACT模塊212及幀內(nèi)預測禁用ACT模塊214所輸入的預測CU及RDO成本,并決定將要輸入至加總模塊216、218的預測CU。
圖4說明根據(jù)本公開另一實施例的編碼方法400,其根據(jù)本公開的另一實施例決定ACT是否需要啟用。更具體來說,編碼方法400利用了關(guān)于CU尺寸的臨界值計算(threshold calculation)及CU像素的色彩分量的相關(guān)性的決定。根據(jù)臨界值計算,ACT可以啟用或禁用。相同標號的元件可參考前述相關(guān)說明。
在步驟304,分量相關(guān)性分析(component correlation analysis)執(zhí)行于原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300的說明。若CU的色彩分量的相關(guān)性高,則啟用ACT且流程進入步驟306、310、314、316及308(同上述編碼步驟300)。然而,若相關(guān)性低,則流程進入步驟402。
在步驟402,決定目前處理的CU的尺寸。如前所述,CU尺寸為NxN,其中N可以是4、8、16、32或64。CU的N值與臨界值T2進行比較,以比較出CU尺寸是否小于臨界值T2。臨界值T2可以是4、8、16、32或64。若CU尺寸小于臨界值T2,則啟用ACT且流程進入步驟310,如同編碼方法300的步驟310的RDO模式?jīng)Q定。然而,若CU尺寸等于或大于臨界值T2,流程進入步驟308,而禁用ACT。
在幀間預測啟用ACT模塊204,當編碼方法400中ACT被禁用,幀間預測啟用ACT模塊204的輸出為未應用ACT的幀間預測CU。因此,在這種情況下,幀間預測啟用ACT模塊204輸出的CU相同于幀間預測禁用ACT模塊206的輸出。同樣地,在幀內(nèi)預測啟用ACT模塊212,當編碼方法400中ACT被禁用,幀內(nèi)預測啟用ACT模塊212的輸出為未應用ACT的幀內(nèi)預測CU。因此,在這種情況下,幀內(nèi)預測啟用ACT模塊212的輸出CU相同于幀內(nèi)預測禁用ACT模塊214的輸出。
由于CU尺寸相同或大于臨界值T2表示CU的內(nèi)容不復雜,步驟402可改善編碼時間及編碼效率。CU尺寸大于臨界值T2可能表示視頻圖像有大范圍區(qū)域沒有邊界、動態(tài)或復雜圖像。在組合已經(jīng)充分去相關(guān)性的色彩分量下,為了有效率地編碼CU,可能不需要ACT。
圖5說明根據(jù)本公開另一實施例的編碼方法500,其根據(jù)本公開的另一實施例決定ACT是否需要啟用以及是否需要通過兩個臨界值計算來進行TU尺寸估計。更具體來說,編碼方法500使用關(guān)于CU尺寸的第一臨界值計算(first threshold calculation)以及用以判斷是否要啟用ACT的CU像素色彩分量的相關(guān)性決定。編碼方法500也使用關(guān)于CU尺寸的第二臨界值計算(second threshold calculation),以決定TU尺寸的估計是否需執(zhí)行。相同標號的元件可參考前述相關(guān)說明。
在步驟304,分量相關(guān)性分析(component correlation analysis)執(zhí)行于原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300的說明。若CU的色彩分量的相關(guān)性高,則啟用ACT且流程進入步驟306,以進行概略模式?jīng)Q定及步驟310的RDO模式?jīng)Q定。步驟306及310如同前述編碼方法300的敘述。然而,若相關(guān)性低,則流程進入步驟402。
在步驟402,決定目前處理的CU的尺寸(如前述圖4的編碼方法400所述)。若CU尺寸小于臨界值T2,則啟用ACT,并進入步驟310,以進行RDO模式?jīng)Q定。然而,若CU尺寸等于或大于臨界值T2,則流程進入步驟308,而禁用ACT。
在幀間預測啟用ACT模塊204,當編碼方法500中ACT被禁用,幀間預測啟用ACT模塊204的輸出為未應用ACT的幀間預測CU。因此,在這種情況下,幀間預測啟用ACT模塊204輸出的CU相同于幀間預測禁用ACT模塊206的輸出。
同樣地,在幀內(nèi)預測啟用ACT模塊212,當編碼方法500中ACT被禁用,幀內(nèi)預測啟用ACT模塊212的輸出為未應用ACT的幀內(nèi)預測CU。因此,在這種情況下,幀內(nèi)預測啟用ACT模塊212的輸出CU相同于幀內(nèi)預測禁用ACT模塊214的輸出。
在步驟310,RDO模式?jīng)Q定如同前述編碼方法300所述的內(nèi)容。
在步驟312,目前處理的CU尺寸的計算如同前述編碼方法300所述的內(nèi)容,來決定CU尺寸是否小于臨界值T1。若CU尺寸小于臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等于或大于臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
圖5的編碼方法500結(jié)合臨界值計算來改善編碼效率及時間。如上所述,CU尺寸等于或大于臨界值T2表示CU的內(nèi)容不復雜,且可預期有大范圍區(qū)域的無邊界、動態(tài)或復雜圖樣。在組合已經(jīng)充分去相關(guān)性的色彩分量下,為了有效率地編碼CU,可能不需要ACT。再者,步驟314的TU尺寸決定被省略后,能夠節(jié)省編碼成本。
圖6說明根據(jù)本公開另一實施例的編碼方法600(類似于編碼方法300),其根據(jù)本公開的另一實施例決定是否需要在啟用ACT的幀內(nèi)預測程序中執(zhí)行TU尺寸估計。更具體來說,編法方法600使用關(guān)于CU尺寸的臨界值計算(threshold calculation),并根據(jù)臨界值計算判斷是否需要執(zhí)行TU尺寸估計。
在步驟304,分量相關(guān)性分析(component correlation analysis)執(zhí)行于原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300的說明。若CU的色彩分量的相關(guān)性高,則啟用ACT且流程進入步驟306,以進行概略模式?jīng)Q定及步驟310的RDO模式?jīng)Q定。步驟306及310如同前述編碼方法300的敘述。然而,若在步驟304的相關(guān)性低,或色彩空間判斷為YUV色彩空間,則啟用ACT的編碼模式并直接進入步驟310,但不執(zhí)行步驟306的概略模式?jīng)Q定。在此,對于低相關(guān)性像素分量或YUV色彩空間,ACT仍然啟用,以確認像素分量的去相關(guān)性可能會產(chǎn)生附加的編碼效益。
在步驟310,RDO模式?jīng)Q定的計算如同前述編碼方法300。
在步驟312,目前處理的CU尺寸的計算如同前述編碼方法300所述的內(nèi)容,來決定CU尺寸是否小于臨界值T1。若CU尺寸小于臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等于或大于臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
執(zhí)行編碼方法300、400、500、600的相反步驟的解碼方法可以有效率地對編碼方法300、400、500、600所編碼的視頻進行解碼。因此,本公開的上述內(nèi)容足以了解執(zhí)行編碼方法300、400、500、600的相反步驟的解碼方法。本公開上述內(nèi)容亦足以了解對編碼方法300、400、500、600所編碼的視頻進行解碼所需的其他解碼程序。
如果大CU使用IPM作為屏幕虛擬內(nèi)容(screen visual content),則可能表示該區(qū)域的內(nèi)容并不復雜,且并不需要估計TU的尺寸。因此,非444色度格式的IPM被禁止部分大CU的TU分割。圖7說明非444色度格式的IPM的演算流程。步驟306及310如同前述編碼方法300的敘述。在步驟310,RDO模式?jīng)Q定的計算如同前述編碼方法300。
在步驟311,判斷色度格式是否為非444。若色度格式為非444,則進入步驟312。若色度格不是非444,則進入步驟314,以近行TU尺寸決定。
在步驟312,目前處理的CU尺寸的計算如同前述編碼方法300所述的內(nèi)容,來決定CU尺寸是否小于臨界值T1。若CU尺寸小于臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等于或大于臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
圖8繪示執(zhí)行本公開的編碼與解碼方法的系統(tǒng)700。系統(tǒng)700包括一非暫態(tài)計算機可讀取介質(zhì)(non-transitory computer-readable medium)702,其可以是存儲數(shù)組指令的存儲器。此些指令可被處理器704執(zhí)行。值得注意的是,一或多個非暫態(tài)計算機可讀取介質(zhì)702和/或一或多個處理器704可以選擇性地采用,以執(zhí)行本公開的編碼與解碼方法。
非暫態(tài)計算機可讀取介質(zhì)702可以是任何類型的非暫態(tài)計算機可讀取記錄介質(zhì)(non-transitory computer-readable storage medium,non-transitory CRM)。非暫態(tài)計算機可讀取記錄介質(zhì)可以包括軟性磁盤(floppy disk)、可撓性盤片(flexible disk)、硬盤(hard disk)、硬盤機(hard drive)、固態(tài)硬盤(solid state drive)、磁帶(magnetic tape)、任何磁性數(shù)據(jù)存儲介質(zhì)(magnetic data storage medium)、光碟機(CD-ROM)、任何光學數(shù)據(jù)存儲介質(zhì)(optical data storage medium)、任何具有孔洞圖樣的物理性介質(zhì)、動態(tài)隨機存取存儲器(RAM)、可編程只讀存儲器(PROM)、可抹除可編程只讀存儲器(EPROM)、快閃可抹除可編程只讀存儲器(FLASH-EPROM)、任何快閃存儲器、非易失性存儲器(NVRAM)、快取(cache)、寄存器(register)、存儲器芯片(memory chip)、膠卷(cartridge)及網(wǎng)絡。計算機可讀取記錄介質(zhì)可存儲由至少一處理器執(zhí)行的數(shù)組指令。此些指令包含令處理器去執(zhí)行本公開的編碼與解碼方法的步驟或階段。再者,一或多個計算機可讀取記錄介質(zhì)可以用來實現(xiàn)本公開的編碼與解碼方法?!坝嬎銠C可讀取記錄介質(zhì)”包含有形物體但不包含載體載波信號和瞬態(tài)信號。
處理器704可以是任何形式的數(shù)字信號處理器(digital signal processor,DSP)、特定應用集成電路(application specific integrated circuit,ASIC)、數(shù)字信號處理裝置(digital signal processing device,DSPD)、可編程邏輯裝置(programmable logic device,PLD)、可編程邏輯陣列(field programmable gate arrays,F(xiàn)PGA)、控制器(controller)、微控制器(micro-controller)、微處理器(micro-processor)、計算機或任何其他能夠執(zhí)行本公開的編碼與解碼方法的電子元件。
實驗結(jié)果
以下說明本公開的編碼方法的實驗結(jié)果。
此處的實驗室采用HEVC SCC參考模型、一般測試條件(common test conditions,CTC)下的SCM 4.0。本公開的編碼方法的編碼效能是與HEVC的參考模型進行比較。HEVC參考模型花費了編碼時間A來進行編碼。本公開的測試編碼方法花費了來進行編碼時間B來進行編碼。編碼時間百分比為編碼時間B除以編碼時間A。實驗可采用HEVC一般測試流程。視頻可混合文字、圖像、動態(tài)畫面、混合內(nèi)容、動畫、照相機提取內(nèi)容。視頻可以是具有720p、1080p、或1440p的畫質(zhì)的RGB色彩空間及YUV色彩空間。實驗采用有損條件(lossy condition)下的全幀內(nèi)預測、隨機存取及低B預測(low-B prediction)。全幀內(nèi)預測采用目前正被壓縮的畫面內(nèi)的信息來壓縮視頻畫面,而隨機存取及低B預測采用先前已編碼的畫面及目前正被壓縮的畫面的信息來壓縮視頻畫面。在以下的說明中,低B預測也可以是指低延遲B預測(low delay B prediction)。在每次的實驗中,編碼時間及解碼時間都被以百分比記錄下來,此些百分比表示相對于參考模型的編碼方法與解碼方法的比例。相對于原始視頻源,關(guān)于各個G/Y、B/U及R/V分量的正的百分比表示比特率編碼損失(bit rate coding loss),負的百分比表示比特率編碼增益(bit rate coding gain)。舉例來說,G/Y分量的0.1%數(shù)值表示已編碼視頻的G/Y分量相對于原始視頻的G/Y分量的編碼損失為0.1%。在另一實例中,G/Y分量的-0.1%數(shù)值表示已編碼視頻的G/Y分量相對于原始視頻的G/Y分量的編碼增益為0.1%。
請參考圖5的編碼方法500及下表1。在編碼方法500,實驗室執(zhí)行于以下三種設定之下。在設定一,臨界值T2及臨界值T1皆設定為64。在設定二,臨界值T2設定為64,臨界值T1設定為32。在設定三,臨界值T2設定為64,臨界值T1設定為16。幀內(nèi)預測為預定的編碼模式。
在設定一,當像素分量具有低相關(guān)性,尺寸大于或等于64x64的CU被以不啟用ACT的方式編碼。尺寸小于64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大于64x64的情況下,省略TU尺寸決定的步驟314。對于CU尺寸小于64x64的情況下,執(zhí)行TU尺寸決定的步驟314。
在設定二,當像素分量具有低相關(guān)性,尺寸大于或等于64x64的CU被以不啟用ACT的方式編碼。尺寸小于64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大于32x32的情況下,省略TU尺寸決定的步驟314。對于CU尺寸小于32x32的情況下,執(zhí)行TU尺寸決定的步驟314。
在設定三,當像素分量具有低相關(guān)性,尺寸大于或等于64x64的CU被以不啟用ACT的方式編碼。尺寸小于64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大于16x16的情況下,省略TU尺寸決定的步驟314。對于CU尺寸小于16x16的情況下,執(zhí)行TU尺寸決定的步驟314。
表1
如表1所示,設定一、設定二及設定三的編碼效能均有改善。設定一降低了3%的編碼復雜度(encoding complexity),設定二降低了6%的編碼復雜度。設定三降低了9%的編碼復雜度(設定三降低最多)。因此,所有的設定都能夠改善編碼效率。各個設定在比特率的最小損失(minimal loss of bit rate)下,編碼時間及效率都有改善。
請參照編碼方法500及下表2、3。在此,實驗是在全幀內(nèi)、隨機存取及低延遲B(low delay B)之下進行。在實驗一,臨界值T2及臨界值T1皆設定為32。在實驗二,臨界值T2及臨界值T1皆設定為16。如同編碼方法500,在實驗一,尺寸大于或等于32x32的CU禁用TU估計(TU evaluation),且尺寸大于或等于32x32以不啟用ACT的方式編碼。在實驗二,尺寸大于或等于16x16的CU禁用TU估計,且尺寸大于或等于16x16以不啟用ACT的方式編碼。尺寸小于16x16的CU在啟用ACT的方式編碼。實驗是在有損條件(lossy condition)及全畫面幀內(nèi)區(qū)塊復制技術(shù)(full frame intra block copy)下進行。
表2
如表2所述,在實驗一,全幀內(nèi)模式(all intra mode)降低了5%的編碼復雜度。隨機存取及低延遲B各降低了1%的編碼復雜度。各個設定顯示出非常低的比特率損失,全幀內(nèi)及隨機存取幾乎沒有改變比特率。
在實驗二,全幀內(nèi)模式降低了8%的編碼復雜度。隨機存取降低了1%的編碼復雜度。低延遲B沒有改變編碼復雜度。相較于實驗一,各個模式具有較多的比特率損失,但比特率損失仍然維持在最小(僅在百分比的小數(shù)范圍內(nèi))。相較于原始視頻,已編碼視頻僅略微降低比特率,故僅損失少部分的視頻質(zhì)量。由于編碼方法500改善了編碼時間,故這樣的視頻質(zhì)量在大部分的應用是可以接受的。
表3
如表3所述,在實驗一及實驗二,各個模式在全部或平均來看,對比特率都沒有改變。全幀內(nèi)降低了最多比率的編碼復雜度(在各實驗均降低1%)。
請參考圖5的編碼方法500及下表4。在此,實驗是在有損條件(lossy condition)、4-CTU幀內(nèi)區(qū)塊復制技術(shù)(Intra block copy)及4:4:4色度模式下進行。幀內(nèi)區(qū)塊復制技術(shù)利用運動向量從先前已編碼CU復制一區(qū)塊至目前編碼視頻畫面。4-CTU指出運動向量能夠搜尋的范圍。
在實驗一,臨界值T2及臨界值T1皆設定為32。在實驗二,臨界值T2及臨界值T1皆設定為16。如同編碼方法500,在實驗一,尺寸大于或等于32x32的CU禁用TU估計。在實驗二,尺寸大于或等于16x16的CU禁用TU估計。在實驗一,尺寸大于32x32的CU啟用ACT,尺寸大于或等于32x32的CU禁用ACT。在實驗二,尺寸小于16x16的CU啟用ACT,尺寸大于或等于16x16的CU禁用ACT。
表4
如表4所述,在實驗一及實驗二,全幀內(nèi)、隨機存取或低延遲B模式皆為最小比特率改變。全幀內(nèi)降低了最多的編碼復雜度,其在實驗一降低了5%,在實驗二降低了8%。
請參考圖4的編碼方法400及以下的表5.1及表5.2。在此,臨界值T2設定為64。因此,當步驟304的分量相關(guān)性分析分析出CU的色彩分量具有低相關(guān)性時,執(zhí)行步驟402,以判斷CU尺寸是否小于64x64。若CU尺寸小于64x64,則啟用ACT且執(zhí)行步驟310的RDO模式?jīng)Q定。若CU尺寸大于或等于64x64,則禁用ACT且進入步驟308。實驗一采用全畫面幀內(nèi)區(qū)塊復制技術(shù)(full frame intra block copy)的有損全幀內(nèi)編碼模式(lossy all intra encoding mode),實驗二采用4CTU IBC技術(shù)的有損全幀內(nèi)編碼模式。色度模式于各個實驗選擇為4:4:4。
表5.1:實驗一
表5.2:實驗二
如表5.1所示,在YUV色彩空間且全幀內(nèi)、有損、全畫面幀內(nèi)區(qū)塊復制技術(shù)下,編碼方法400在最小比特率損失下,降低了1%到3%的編碼時間。如表5.2所示,在全幀內(nèi)、有損、4CTU幀內(nèi)區(qū)塊復制技術(shù)下,編碼方法400在最小比特損失下,降低編碼時間的比率近似于表5.1的實驗一。
請參考編碼方法400及下表6。在此,臨界值T2設定為64。在4:4:4的色度模式執(zhí)行無損幀內(nèi)編碼(Lossless intra encoding)。
表6
在YUV色彩空間,編碼方法節(jié)省了0%到2%的編碼時間。
請參考圖3的編碼方法300及下表7。在此,臨界值T1在實驗一設定為32,在實驗二設定為16。如同編碼方法300,在實驗一,CU尺寸大于或等于32x32時,將省略步驟314的TU尺寸決定;CU尺寸小于32x32時,則執(zhí)行步驟314的TU尺寸決定。在實驗二,CU尺寸大于或等于16x16時,將省略步驟314的TU尺寸決定;CU尺寸小于16x16時,則執(zhí)行步驟314的TU尺寸決定。實驗執(zhí)行啟用ACT的有損全幀內(nèi)編碼。
表7
實驗一的編碼時間節(jié)省了3%到6%。實驗二的編碼時間節(jié)省了6%到10%。因此,僅在CU尺寸低于32x32或16x16之下才允許進行TU尺寸決定,以幫助編碼效率。
上述內(nèi)容用以說明本公開的技術(shù),然其并非用以局限本發(fā)明的內(nèi)容。實施例的修改與調(diào)整均落于本公開的范圍。舉例來說,所公開的實施例包含軟件及硬件,但本公開的系統(tǒng)與方法可以僅以硬件來實現(xiàn)。
軟件開發(fā)者可基于本公開的方法開發(fā)一計算機程序,其可采用各種計算機程序技術(shù)來開發(fā)。舉例來說,程序片段或程序模塊可以藉由Java、C、C++、組合語言或任何其他程序語言來開發(fā)。一或多個軟件片段與模塊可以安裝于一計算機系統(tǒng)、非暫態(tài)計算機可讀取介質(zhì)、或現(xiàn)存的通信軟件。
再者,雖然上述以公開各種實施例,然本公開的范圍包含各種元件的均等、修改、省略、組合(例如不同實施例之間的組合)、應用、或選擇。權(quán)利要求書的元件以最廣的范圍來作解釋,而不局限于實施例的內(nèi)容。此外,方法的步驟可以進行修改(包含調(diào)整順序、插入或刪除步驟)。雖然本公開已以優(yōu)選實施例公開如上,然其并非用以限定本公開。本公開的保護范圍當視所附權(quán)利要求書界定范圍為準。
本發(fā)明所屬領(lǐng)域技術(shù)人員也可根據(jù)本公開的說明了解其他的實施例。本公開的范圍包含結(jié)合一般知識的各種變化、實施與應用。說明書與實施例僅僅作為示例,本公開的保護范圍當視所附權(quán)利要求書界定范圍為準。