TWI597977B - 採用自適性色彩轉換之視訊編碼方法及系統 - Google Patents
採用自適性色彩轉換之視訊編碼方法及系統 Download PDFInfo
- Publication number
- TWI597977B TWI597977B TW105114323A TW105114323A TWI597977B TW I597977 B TWI597977 B TW I597977B TW 105114323 A TW105114323 A TW 105114323A TW 105114323 A TW105114323 A TW 105114323A TW I597977 B TWI597977 B TW I597977B
- Authority
- TW
- Taiwan
- Prior art keywords
- coding
- size
- act
- mode
- unit
- Prior art date
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本揭露係有關於視訊編碼與解碼方法及系統。
對於高品質影像的需求逐漸增加。隨著4K及8K等視訊規格的來臨,極需提升視訊編碼與解碼效率。此外,消費者期待能夠透過各種傳輸媒介來傳輸與接收高品質影像。舉例來說,消費者希望能夠透過網路於攜帶式裝置(如智慧型手機、平板電腦、筆記型電腦)及家用電視與電腦上觀看高品質影像。消費者也希望能夠在視訊會議及螢幕共享的過程中顯示高品質影像。
高效率視訊編碼標準(High Efficiency Video Coding,HEVC)H.265在改進視訊壓縮的編碼與解碼效能上提供了一個新的標準。相較於原先的AVC(Advanced Video Coding)標準,由ISO/IEC JTC 1/SC 29/WG 11 MPEG(Moving Picture Experts Group)及ITU-T SG16 VCEG(Video Coding Experts Group)所建立的
HEVC能夠降低壓縮高品質視訊之資料率。AVC標準亦稱為H.264。
HEVC利用幀間預測技術(Inter prediction)及幀內預測技術(Intra prediction)等各種編碼工具來壓縮視訊。幀間預測技術利用視訊串流之不同視訊畫面之間的時間冗餘(temporal redundancies)來壓縮視訊資料。舉例來說,含有相似內容之已編碼及已解碼之視訊畫面可用來編碼目前之視訊畫面。這些已編碼及已解碼之視訊畫面可以用來預測目前視訊畫面之編碼區域。相對地,幀內預測技術僅利用目前編碼視訊畫面之內部資料來壓縮視訊資料。幀內預測技術並不使用不同視訊畫面之時間冗餘。舉例來說,目前視訊畫面是利用同一畫面的另一部份來進行編碼。幀內預測技術包括35種幀內模式,包含平面模式(Planar mode)、DC模式及33種定向模式(directional modes)。
相較於AVC標準,HEVC標準對各個輸入視訊畫面採用擴張分割技術(expansive partitioning and dividing)。AVC標準在編碼及解碼時僅利用輸入視訊畫面的大區塊(macroblock)進行分割。相反地,HEVC標準可以分割輸入視訊畫面成不同尺寸的資料單元及區塊,相關說明如後。相較於AVC標準,HEVC標準對動態、多細節及多邊緣之視訊畫面的編碼及解碼程序提供了更多的彈性。
一些能夠改善視訊編碼程序的編碼工具亦列入於HEVC標準中。此些編碼工具被稱為編碼擴展(coding extensions)。
螢幕內容編碼擴展(Screen Content Coding extension,SCC extension)專注於改善HEVC標準下的視訊螢幕內容的處理效能。螢幕內容係為圖案、文字或動畫所成像(render)的視訊,而不是照相機所擷取的視訊場景。成像的圖案、文字或動畫可以是動態或靜態,且可以提供於照相機所擷取之視訊場景內的視訊。SCC的應用實例可以包含螢幕鏡射(Screen mirroring)、雲端遊戲(cloud gaming)、無線顯示內容(wireless display of content)、遠端電腦存取時的顯示(displays generated during remote computer desktop access)及螢幕共享(screen sharing)(例如是視訊會議之即時螢幕共享)。
SCC內之一編碼工具係為自適性色彩轉換(adaptive color transform,ACT)。ACT係為應用於編碼單元(coding unit,CU)之殘差像素樣本(residue pixel samples)的色彩空間轉換。對特定的色彩空間而言,已存在一編碼單元(CU)之一畫素的色彩元素(color components)之相關性。當畫素之色彩元素的相關性高時,於畫素執行ACT可以透過去相關性(de-correlating)來幫助相關的色彩元素集中能量。這種集中能量的作法能夠提高編碼效率,並降低編碼成本。因此,ACT能夠在HEVC編碼過程中增進編碼效能。
然而,在編碼過程中,需要額外的碼率失真函數(rate distortion optimization,RDO)來評估是否啟用ACT。RDO用來評估碼率失真(rate distortion,RD)的成本。這些評估過程可能
會增加編碼複雜度及編碼時間。再者,當畫素之色彩元素已經去相關時,ACT可能就不是必須的。在這種情況下,由於執行ACT的成本高於編碼的效益,進一步對色彩元素進行的去相關性程序可能無法帶來任何好處。
根據本揭露之一方面,提供一種視訊編碼方法。視訊編碼方法包括以下步驟。接收一原始視訊畫面(source video frame)。分割原始視訊畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元之一編碼模式(coding mode)。若啟用編碼模式,則於啟用該編碼模式判斷是否估計一轉換單元(transform unit)之尺寸。於啟用之編碼模式決定編碼單元之轉換單元。編碼單元之尺寸係為NxN。
根據本揭露之另一方面,提供一種視訊編碼系統。視訊編碼系統包括一記憶體及一處理器。記憶體用以儲存一組指令。處理器用以執行此組指令。此組指令包括以下步驟。接收一原始視訊畫面(source video frame)。分割原始視訊畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元之一編碼模式(coding mode)。若啟用編碼模式,則於啟用之編碼模式判斷是否估計一轉換單元(transform unit)之尺寸。於啟用之編碼模式決定編碼單元之轉
換單元。編碼單元之尺寸係為NxN。
根據本揭露之另一方面,提供一種非暫態電腦可讀取記錄媒體。非暫態電腦可讀取記錄媒體用以儲存一組指令。此組指令由一或多個處理器執行,以執行一視訊編碼方法。此視訊編碼方法包括以下步驟。接收一原始視訊畫面(source video frame)。分割原始視訊畫面為一編碼樹單元(coding tree unit)。從編碼樹單元決定一編碼單元(coding unit)。啟用或禁用編碼單元之一編碼模式(coding mode)。若啟用編碼模式,則於啟用之編碼模式判斷是否估計一轉換單元(transform unit)之尺寸。於啟用之編碼模式決定編碼單元之轉換單元。編碼單元之尺寸係為NxN。
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉多個實施例,並配合所附圖式,作詳細說明如下:
101‧‧‧視訊畫面(video frame)
102‧‧‧編碼樹單元(coding tree unit,CTU)
103‧‧‧亮度編碼樹區塊(luma coding tree block,luma CTB)
104‧‧‧Cb CTB
105‧‧‧Cr CTB
106、111‧‧‧相關說明
107-1、107-2、107-3、107-4‧‧‧亮度編碼區塊(luma coding block,luma CB)
108‧‧‧編碼單元(Coding unit,CU)
109‧‧‧Cb CB
110‧‧‧Cr CB
112‧‧‧亮度預測區塊(luma prediction block,PB)
113-1、113-2、113-3、113-4‧‧‧轉換區塊(transform block,TB)
114‧‧‧轉換單元(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‧‧‧模式決定模組(Mode Decision Module)
212‧‧‧幀內預測啟用ACT模組(Intra Prediction enabling ACT Module)
214‧‧‧幀內預測禁用ACT模組(Intra Prediction disabling ACT Module)
216、218‧‧‧加總模組(Summing Module)
220‧‧‧切換器
222‧‧‧自適性色彩轉換(ACT)模組
224‧‧‧CCP、轉換及量化模組(CCP,Transform,and Quantization Module)
226‧‧‧熵編碼模組(Entropy Coding Module)
228‧‧‧反運算CCP、轉換及量化模組(Inverse CCP,Transform,and Quantization Module)
230‧‧‧切換器
232‧‧‧反運算ACT模組(Inverse ACT Module)
300、400、500、600、700、800‧‧‧編碼方法
304‧‧‧成分相關性分析(component correlation analysis)
306‧‧‧概略模式決定(Rough mode decision)
308‧‧‧結束
310‧‧‧碼率失真函數模式決定(rate distortion optimization mode decision,RDO mode decision)
311‧‧‧色度格式是否為非444(non-444)之判斷
312‧‧‧CU尺寸是否大於臨界值T1之判斷
314‧‧‧TU尺寸決定(TU size ecision)
316‧‧‧色度模式決定(chroma mode decision)
402‧‧‧CU尺寸是否小於臨界值T2之判斷
702‧‧‧非暫態電腦可讀取媒體
704‧‧‧處理器
第1A~1J圖繪示視訊畫面及根據本揭露數個實施例之相關的分割。
第2圖繪示本揭露之視訊編碼器。
第3圖說明根據本揭露一實施例之編碼方法。
第4圖說明根據本揭露另一實施例之編碼方法。
第5圖說明根據本揭露另一實施例之編碼方法。
第6圖說明根據本揭露另一實施例之編碼方法。
第7圖說明非444色度格式之IPM的演算流程。
第8圖繪示執行本揭露之編碼與解碼方法的系統。
以下將搭配附圖詳細地說明示例性的實施例。在下面描述的附圖中,除非另有說明,於不同圖式之相同標號代表相同或近似的元件。以下提出的實施例並非代表本揭露的所有實施情況。事實上,這些實施例僅僅是對應於申請專利範圍之系統與方法的一些實例。
第1A~1J圖說明根據本揭露之實施例的視訊畫面及其相關的分割。
第1A圖繪示視訊畫面101。視訊畫面101包括數個畫素。視訊畫面101被分割為數個編碼樹單元(coding tree units,CTUs)102。每個CTU 102的尺寸是根據L個垂直樣本及L個水平樣本(LxL)來決定。每個樣本於CTU的不同畫素位置對應於一畫素值。舉例來說,L可以是16、32、或64。畫素位置可以是畫素於CTU所在的位置或畫素之間的位置。當畫素位置是畫素之間的位置,畫素值可以是畫素位置附近之一或多個畫素的內插值。各個CTU 102包括亮度編碼樹區塊(luma coding tree block,luma CTB)、色度編碼樹區塊(chroma CTB)及相關說明(associated syntax)。
第1B圖繪示數個CTB可以被包含於第1A圖之一個CTU 102中。舉例來說,CTU 102可以包含亮度CTB(luma CTB)103、色度CTB(chroma CTB)(含Cb CTB 104 Cr CTB 105)。CTU 102也可以包括相關說明(associated syntax)106。Cb CTB 104係為藍色色差CTB(blue difference chroma component CTB),其表示CTB在藍色的變化。Cr CTB 105係為紅色色差CTB(red difference chroma component CTB),其表示CTB在紅色的變化。相關說明106包含亮度CTB 103、Cb CTB 104及Cr CTB 105如何被編碼的資訊、以及亮度CTB 103、Cb CTB 104及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之尺寸。
幀內預測(intra prediction)、幀間預測(inter prediction)及其他等編碼工具運作於編碼區塊(coding blocks,CBs)上。為了決定編碼的程序是要採用幀內預測還是幀間預測,CTB可以被分割為一或多個CB。CTB分割為CB的程序是根據四分樹分割(quad-tree partitioning)技術。因此,CTB可以分割為四個CB,各個CB可以再分割為四個CB。根據CTB的尺寸,可以繼續進行這樣的分割程序。
第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、或者分割為數個CU。因此CU的尺寸也可以是NxN,例如是64x64、32x32、16x16或8x8。各個CU包括一個亮度CB、兩個色度CB及相關說明。於編碼及解碼程序中產生之殘差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可以包括相關說明111。相關說明111包含如何對亮度CB 107-1、Cb CB 109及Cr CB 110進行編碼的資訊,例如
是四分樹資訊的說明(亮度CB及色度CB的尺寸、位置與進一步的分割)。各個CU 108可於亮度CB 107-1、Cb CB 109及Cr CB 110具有相關的預測區塊(prediction blocks,PBS)。預測區塊組合成預測單元(prediction units,PUs)。
第1F圖繪示第1D圖之CB 107-1分割為亮度PB 112的各種可能情況。亮度CB 107-1例如是根據亮度CB 107-1之不同區域的可預測性來分割為亮度PB 112。舉例來說,亮度CB 107-1可以包含單一個亮度PB 112,其尺寸相同於亮度CB 107-1。或者,亮度CB 107-1可以垂直地或水平地分割為兩個偶數亮度PB 112。或者亮度CB 107-1可以垂直地或水平地分割為四個亮度PB 112。需說明的是第1F圖僅僅作為示例。在HEVC標準下的任何分割為PB的方式都屬於本揭露的範圍。第1F圖所繪示將亮度CB 107-1分割為亮度PB 112的方式是互斥的。舉例來說,在HEVC的幀內預測模式中,64x64、32x32及16x16的CB可能被分割為單一個PB,其尺寸相同於CB。然而,8x8的CB可能被分割為單一個8x8的PB或四個4x4的PB。
一但採用幀內預測或幀間預測,由預測區塊與來源視訊影像區塊之間不同處所產生之殘差訊號(residual signal)被轉換至另一域(domain),以進一步進行離散餘弦轉換(discrete cosine transform,DCT)或離散正弦變換(discrete sine transform,DST)的編碼。為了提供這些轉換,各個CU或各個CB需要利用一或多個轉換區塊(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的程序係根據四分樹分割(quad-tree splitting)。因此,一個CB可以被分割為一或多個TB,其中各個TB可以更進一步被分割為4個TB。這樣的分割程序可以根據CB的尺寸來繼續進行。
第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標準的轉換。轉換單元(Transform units,TUs)匯總TB 113。一或多個TB被
各個CB採用。CB形成各個CU。因此,轉換單元(TU)的結構於不同的CU 108是不同的,並且是由CU 108來決定的。
第11圖繪示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之幀內預測的CU而言,TU可以不穿越(cross)PU邊界。
第1J圖繪示第11圖之TU 114的四分樹分割,其利用第11圖之各種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圖繪示執行本揭露之編碼方法的視訊編碼器200。視訊編碼器200可以包括一或多個附加元件,其提供HEVC-SCC之附加的編碼功能,如調色盤模式(palette mode)、樣本自適性偏移(sample adaptive offset)及去塊濾波(de-blocking filtering)。此外,本揭露考慮到ACT的幀內預測模式及其他編碼模式,例如是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、幀內預測啟用ACT模組(Intra Prediction enabling ACT Module)212及幀內預測禁用ACT模組(Intra Prediction disabling ACT Module)214。
輸入畫面之原始CU被幀間預測啟用ACT模組204編碼,其利用幀間預測技術且啟用自適性色彩轉換(ACT)自輸入畫面決定一原始CU之預測。輸入畫面之原始CU也被幀間預測禁用ACT模組206編碼,其利用幀間預測技術且不啟用自適性
色彩轉換(ACT)自輸入畫面決定一原始CU之預測(即禁用ACT)。
在幀間預測時可以使用儲存於畫面暫存器(Frame Buffer)208的參考CU。原始PU及PB也由原始CU來獲得,且使用於幀間預測啟用ACT模組204及幀間預測禁用ACT模組206的幀間預測程序。幀間預測利用不同時間之視訊畫面的區域來進行運動偵測。幀間預測啟用ACT模組204及幀間預測禁用ACT模組206之已編碼幀間預測CU預定為最高畫面品質。已編碼幀間預測CU接著被輸入至模式決定模組(Mode Decision Module)210。
輸入畫面之原始CU也藉由幀內預測啟用ACT模組212進行編碼,其利用幀內預測技術且啟用自適性色彩轉換(ACT)自輸入畫面決定一原始CU之預測。
輸入畫面之原始CU也藉由幀內預測禁用ACT模組214進行編碼,其利用幀內預測技術且不啟用自適性色彩轉換(ACT)自輸入畫面決定一原始CU之預測(即禁用ACT)。
幀內預測啟用ACT模組212及幀內預測禁用ACT模組214進行幀內預測時,可使用儲存於畫面暫存器208之同一畫面的原始CU。原始PU及PB也由原始CU來獲得,且使用於幀內預測啟用ACT模組212及幀內預測禁用ACT模組214的幀內預測程序。已編碼之幀內預測CU預定為最高畫面品質。從幀內預測啟用ACT模組212及幀內預測禁用ACT模組214輸出之
已編碼幀內預測CU輸入至模式決定模組210。
在模式決定模組210中,採用幀間預測啟用ACT、幀間預測禁用ACT、幀內預測啟用ACT及幀內預測禁用ACT等方式進行原始CU的編碼之成本搭配預測CU之品質進行比較。根據比較的結果,決定哪一編碼模式的預測CU(例如是幀間預測CU或幀內預測CU)。被選擇的預測CU接著被傳送至加總模組(Summing Module)216、218。
在加總模組216中,原始CU減去已選擇的預測CU,以提供一剩餘CU(residual CU)。若已選擇的預測CU是來自於幀間預測啟用ACT模組204及幀內預測啟用ACT模組121之其中之一,切換器(switch)220切換至位置A。在位置A,剩餘CU輸入至ACT模組(ACT Module)222,並接著輸入至CCP、轉換及量化模組224(CCP,Transform,and Quantization Module)224。然而,若已選擇的預測CU是來自於幀間預測禁用ACT模組206及幀內預測禁用ACT模組214之其中之一,切換器220切換至位置B。在位置B,ACT模組222被跳過且在編碼過程中不被執行。剩餘CU從加總模組216直接被輸入至CCP、轉換及量化模組224。
在ACT模組222,自適性色彩轉換(adaptive color transform)執行於剩餘CU。ACT模組222的輸出接入至CCP、轉換及量化模組224。
CCP、轉換及量化模組224執行跨組件預測(cross
component prediction,CCP)、轉換(如離散續餘弦轉換(Discrete Cosine Transform,DCT)或離散正弦轉換(Discrete Sine Transform,DST)、及剩餘CU的量化。CCP、轉換及量化模組224的輸出接入至熵編碼模組(Entropy Coding Module)226及反運算CCP、轉換及量化模組(Inverse CCP,Transform,and Quantization Module)228。
熵編碼模組226執行剩餘熵編碼(entropy encoding)。舉例來說,全文自適應二進位算術編碼(Context Adaptive Binary Arithmetic Coding,CABAC)可以被執行以編碼剩餘CU。HEVC所提供之任何其他熵編碼程序皆可執行於熵編碼模組226中。
在執行熵編碼之後,輸入視訊畫面之CU的已編碼位元流自視訊編碼器200輸出。輸出之已編碼位元流可以儲存於一記憶體、透過傳輸線廣播或網路、或提供至一顯示器等。
在反運算CCP、轉換及量化模組228中,執行CCP、轉換及量化模組224之相反決定於剩餘CU,以提供一重建的剩餘CU。
若已選擇的預測CU是來自於幀間預測啟用ACT模組204或幀內預測啟用ACT模組212,切換器(switch)230切換至位置C。在位置C,重建的剩餘CU輸入至反運算ACT模組(Inverse ACT Module)232並接著輸入至加總模組(Summing Module)218。然而,若已選擇的預測CU是來自於幀間預測禁用ACT模組206或幀內預測禁用ACT模組214,切換器230切換至
位置D。在位置D,反運算ACT模組232被跳過而不被執行,且重建的剩餘CU被直接輸入至加總模組218。
反運算ACT模組232對重建的剩餘CU執行ACT模組232之自適性色彩轉換的反運算。反運算ACT模組232的輸出輸入至加總模組218。
在加總模組218中,來自模式決定模組210的已選擇的預測CU加上重建的剩餘CU,以提供重建的原始CU(reconstructed source CU)。重建的原始CU接著被儲存於畫面暫存器208,以供其他CU的幀間預測及幀內預測使用。
以下說明的編碼方法300、400及500如何執行於幀內預測啟用ACT模組212內。編碼方法300、400及500能夠改善編碼效率與編碼時間。
幀間預測啟用ACT模組204、幀間預測禁用ACT模組206、幀內預測啟用ACT模組212及幀內預測禁用ACT模組214並非侷限於以平行的方式排列。在一實施例中,幀間預測啟用ACT模組204、幀間預測禁用ACT模組206、幀內預測啟用ACT模組212及幀內預測禁用ACT模組214可以依序排列。幀間預測啟用ACT模組204、幀間預測禁用ACT模組206、幀內預測啟用ACT模組212及幀內預測禁用ACT模組214的排列方式可以變更。
第3圖說明根據本揭露一實施例之編碼方法300,其決定TU尺寸的估計(TU size evaluation)是否需執行於啟用
ACT之幀內預測編碼程序(ACT enabled intra prediction encoding process)中。更具體來說,編碼方法300利用關於CU尺寸之臨界值計算(threshold calculation)來決定是否需執行TU尺寸的估計。
在步驟304中,成分相關性分析(component correlation analysis)執行於一原始CU,以決定CU之ACT的編碼模式是否需被啟用。CU內之各個畫素之色彩成分的相關性被分析出來。在各個畫素中,色彩成分之相關性與一畫素相關臨界值(pixel correlation threshold)進行比較,以分析出相關性是否高於、等於或低於畫素相關性臨界值。
於一CU中,計算出高於畫素相關性臨界值之畫素的總數量,其中等於畫素相關性臨界值之畫素也視為高於畫素相關性臨界值而被計算在內。畫素之總數量接著與一CU相關性臨界值(CU correlation threshold)進行比較。
若畫素之總數量低於CU相關性臨界值,則判定CU之色彩成分具有低相關性。因此,CU並不需要ACT,故流程進入步驟308,而於CU的編碼禁用ACT。
然而,若畫素之總數量高於CU相關性臨界值,則判定CU的色彩成分具有高相關性。在這種情況下,ACT是需要用來去除CU之各個畫素之成分相關性。當確認為高相關性,ACT被啟用且流程進入步驟306。於步驟306,於幀內預測啟用ACT之下,進行一概略模式決定。
步驟304之相關性分析可以更進一步或可選擇性地根據CU之色彩空間(color space)來進行。舉例來說,在步驟304,CU內之畫素的色彩成分可以進行分析,且CU之色彩空間可以進行判定。色彩空間可以判定為紅色、綠色及藍色(RGB)空間或亮度與色度(luminance and chrominance,YUV)空間。
當判定為色彩空間為RGB色彩空間,流程進入步驟306。於步驟306,於幀內預測啟用ACT之下,進行概略模式決定(Rough mode decision)。由於RGB畫素成分通常具有高相關性,需要進行ACT來去除CU內各個畫素之成分的相關性,以將畫素能量(pixel energy)隔離為單一成份(single component)。
相對地,當色彩空間判定為YUV色彩空間,流程進入步驟308,而禁用ACT。這是由於YUV畫素成分通常具有低相關性,且多數畫素能量(pixel energy)儲存於單一像素成分(single pixel component)。由於CU畫素成分的進一步去相關性動作(de-correlation)不會產生額外的編碼效益,故並不需要於YUV畫素成分啟用ACT。
在幀內預測啟用ACT模組212中,於編碼方法300禁用ACT時,幀內預測啟用ACT的編碼模式被禁用,且在幀內預測啟用ACT模組212不會輸出預測至模式決定模組210。
在幀間預測啟用ACT模組204,於幀間預測編碼禁用ACT時,幀間預測啟用ACT的編碼模式被禁用,且幀間預測啟用ACT模組204不會輸出預測至模式決定模組210。
在步驟306中,幀內預測啟用ACT下進行概略模式決定。概略模式決定可以是一成本模式決定(cost-based mode decision)。舉例來說,於概略模式決定中,可以決定為低複雜度成本之已選擇編碼模式,以快速做出決定,其通常具有最高品質及最低編碼成本。
在步驟310中,在啟用ACT之編碼模式下,進行碼率失真函數模式決定(rate distortion optimization mode decision,RDO mode decision)。在此,當ACT、CCP、轉換、量化及熵編碼執行時,計算原始視訊之變異(deviation)及編碼模式的位元成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,ROD分析選擇出具有最低編碼成本及最高編碼品質之編碼模式由。
舉例來說,在幀內預測啟用ACT模組212中,35個幀內預測模式(intra prediction modes,IPMs)可供編碼。幀內預測啟用ACT模組212在步驟306之概略模式決定中,採用簡單、低複雜度編碼成本決定法來從這些幀內預測模式選擇出最低編碼成本及最高編碼品質者。舉例來說,絕對轉換誤差和(sum of absolute transform distortion,SATD)成本可用來決定出各個IPM的低複雜度編碼成本。舉例來說,最低編碼成本及最高偏碼品質的選擇可以是選擇3個IPM或選擇8個IPM。幀內預測啟用ACT模組212在步驟310之RDO模式決定中,對各個已選擇IPM進行RDO模式決定。當ACT、CCP、轉換、量化及熵編碼執行時,
計算各個已選擇IPM之原始視訊之變異及編碼的位元成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,藉由ROD分析從已選擇IPM中選擇出具有最低編碼成本及最高編碼品質之IPM。
上述相關於幀內預測啟用ACT模組212之變化流程也可以執行於幀間預測啟用ACT模組204。舉例來說,當幀間預測啟用ACT模組204執行編碼方法300,於步驟306,進行時間相鄰之視訊畫面的最佳幀間預測的概略模式決定,其提供最低編碼成本及最高編碼品質。在步驟310,進行幀間預測之RDO模式決定。在此,當ACT、CCP、轉換、量化及熵編碼執行時,計算幀間預測之原始視訊的變異(deviation)及編碼位元成本。變異可以由錯誤計算(error calculation)來獲得,例如是均方差(mean squared error,MSE)。接著,ROD分析選擇出具有最低編碼成本及最高編碼品質之幀間預測。
在步驟312,計算目前處理之CU的CU尺寸。CU的尺寸可以是NxN,其中N可以是4、8、16、32或64。CU的N值與臨界值T1比較。臨界值T1可以是4、8、16、32或64。根據比較結果,判定出CU尺寸是否小於臨界值T1,並藉此估計出欲啟用編碼模式之轉換單元的尺寸。若CU尺寸小於臨界值T1,流程進入步驟314,以進行TU尺寸的決定(TU size decision)。然而,若CU尺寸等於或小於臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定步驟。在步驟312,當CU尺寸大於
臨界值T1,決定出TU。若CU尺寸CU等於或大於臨界值T1,TU四分樹結構(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的內容並不複雜。舉例來說,CU尺寸大於臨界值T1可能表示視訊影像有大範圍區域沒有邊界、動態或複雜圖像。因此,TU尺寸的決定可以不需要進行,以有效率地進行高視訊品質之CU的編碼。
在步驟314中,若CU尺寸低於臨界值T1,則執行TU尺寸的決定。在此,決定了原始CU之TU。藉由步驟310之RDO成本估計,分析出TU尺寸,已獲得最高效率及高視訊品質之CU的ACT轉換。舉例來說,可分析出4x4、8x8、16x16及32x32的TU尺寸。當能夠獲得最高效率之ACT轉換的TU尺寸被決定出來,此TU尺寸被選擇用來作CU的ACT轉換並進入步驟316。已選擇的TU尺寸作為最佳的TU四分樹結構尺寸。
在步驟316,進行色度模式決定(chroma mode
decision)。色度模式的決定是依據步驟310之預測模式的決定來進行,且利用已決定的預測模式(determined prediction mode)來使色度預測(chroma prediction)產生色度PU(chroma PU)及對應的色度TU(chroma TU)。從步驟312或步驟314決定的TU也可用來產生色度TU。色度TU亦根據色度格式(chroma format)進行二次採樣(subsample)。因此,在一實施例中,當色度格式為4:2:0,且亮度TU的尺寸為32x32,決定之色度TU為16x16的色度TU。
在步驟308,幀內預測啟用ACT模組之選擇最佳幀內預測模式及選擇最佳TU四分樹結構尺寸的程序已完成。預測及RDO成本已產生,且輸入至模式決定模組210,以與其他預測模組輸入至模式決定模組210之RDO成本進行比較。舉例來說,幀間預測啟用ACT模組204可能產生啟用ACT之CU的預測及RDO成本,並輸入預測CU及RDO成本至模式決定模組210。幀間預測禁用ACT模組206及幀內預測禁用ACT模組214也產生預測CU及RDO成本,並輸入其各自之預測CU及RDO成本至模式決定模組210。模式決定模組210比較幀間預測啟用ACT模組204、幀間預測禁用ACT模組206、幀內預測啟用ACT模組212及幀內預測禁用ACT模組214所輸入之預測CU及RDO成本,並決定將要輸入至加總模組216、218之預測CU。
第4圖說明根據本揭露另一實施例之編碼方法400,其根據本揭露之另一實施例決定ACT是否需要啟用。更具體來說,
編碼方法400利用了關於CU尺寸的臨界值計算(threshold calculation)及CU畫素之色彩成分的相關性的決定。根據臨界值計算,ACT可以啟用或禁用。相同標號之元件可參考前述相關說明。
在步驟304,成分相關性分析(component correlation analysis)執行於原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300之說明。若CU之色彩成分的相關性高,則啟用ACT且流程進入步驟306、310、314、316及308(同上述編碼步驟300)。然而,若相關性低,則流程進入步驟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模式決定。然而,若CU尺寸等於或大於臨界值T2,流程進入步驟308,而禁用ACT。
於幀間預測啟用ACT模組204,當編碼方法400中ACT被禁用,幀間預測啟用ACT模組204之輸出為未應用ACT之幀間預測CU。因此,在這種情況下,幀間預測啟用ACT模組204輸出之CU相同於幀間預測禁用ACT模組206的輸出。同樣地,於幀內預測啟用ACT模組212,當編碼方法400中ACT被禁用,幀內預測啟用ACT模組212之輸出為未應用ACT之幀內
預測CU。因此,在這種情況下,幀內預測啟用ACT模組212的輸出CU相同於幀內預測禁用ACT模組214的輸出。
由於CU尺寸相同或大於臨界值T2表示CU的內容不複雜,步驟402可改善編碼時間及編碼效率。CU尺寸大於臨界值T2可能表示視訊影像有大範圍區域沒有邊界、動態或複雜圖像。在組合已經充分去相關性之色彩成分下,為了有效率地編碼CU,可能不需要ACT。
第5圖說明根據本揭露另一實施例之編碼方法500,其根據本揭露之另一實施例決定ACT是否需要啟用以及是否需要透過兩個臨界值計算來進行TU尺寸估計。更具體來說,編碼方法500使用關於CU尺寸之第一臨界值計算(first threshold calculation)以及用以判斷是否要啟用ACT之CU畫素色彩成分的相關性決定。編碼方法500也使用關於CU尺寸之第二臨界值計算(second threshold calculation),以決定TU尺寸的估計是否需執行。相同標號之元件可參考前述相關說明。
在步驟304,成分相關性分析(component correlation analysis)執行於原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300之說明。若CU之色彩成分的相關性高,則啟用ACT且流程進入步驟306,以進行概略模式決定及步驟310的RDO模式決定。步驟306及310如同前述編碼方法300之敘述。然而,若相關性低,則流程進入步驟402。
在步驟402,決定目前處理之CU的尺寸(如前述
第4圖之編碼方法400所述)。若CU尺寸小於臨界值T2,則啟用ACT,並進入步驟310,以進行RDO模式決定。然而,若CU尺寸等於或大於臨界值T2,則流程進入步驟308,而禁用ACT。
於幀間預測啟用ACT模組204,當編碼方法500中ACT被禁用,幀間預測啟用ACT模組204之輸出為未應用ACT之幀間預測CU。因此,在這種情況下,幀間預測啟用ACT模組204輸出之CU相同於幀間預測禁用ACT模組206的輸出。
同樣地,於幀內預測啟用ACT模組212,當編碼方法500中ACT被禁用,幀內預測啟用ACT模組212之輸出為未應用ACT之幀內預測CU。因此,在這種情況下,幀內預測啟用ACT模組212的輸出CU相同於幀內預測禁用ACT模組214的輸出。
在步驟310,RDO模式決定如同前述編碼方法300所述之內容。
在步驟312,目前處理之CU尺寸的計算如同前述編碼方法300所述之內容,來決定CU尺寸是否小於臨界值T1。若CU尺寸小於臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等於或大於臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
第5圖之編碼方法500結合臨界值計算來改善編碼
效率及時間。如上所述,CU尺寸等於或大於臨界值T2表示CU的內容不複雜,且可預期有大範圍區域的無邊界、動態或複雜圖樣。在組合已經充分去相關性之色彩成分下,為了有效率地編碼CU,可能不需要ACT。再者,步驟314的TU尺寸決定被省略後,能夠節省編碼成本。
第6圖說明根據本揭露另一實施例之編碼方法600(類似於編碼方法300),其根據本揭露之另一實施例決定是否需要於啟用ACT之幀內預測程序中執行TU尺寸估計。更具體來說,編法方法600使用關於CU尺寸之臨界值計算(threshold calculation),並根據臨界值計算判斷是否需要執行TU尺寸估計。
在步驟304,成分相關性分析(component correlation analysis)執行於原始CU,以決定ACT是否需啟用或禁用。步驟304如同編碼方法300之說明。若CU之色彩成分的相關性高,則啟用ACT且流程進入步驟306,以進行概略模式決定及步驟310的RDO模式決定。步驟306及310如同前述編碼方法300之敘述。然而,若於步驟304之相關性低,或色彩空間判斷為YUV色彩空間,則啟用ACT之編碼模式並直接進入步驟310,但不執行步驟306之概略模式決定。在此,對於低相關性畫素成分或YUV色彩空間,ACT仍然啟用,以確認畫素成分之去相關性可能會產生附加的編碼效益。
在步驟310,RDO模式決定的計算如同前述編碼方
法300。
在步驟312,目前處理之CU尺寸的計算如同前述編碼方法300所述之內容,來決定CU尺寸是否小於臨界值T1。若CU尺寸小於臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等於或大於臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
執行編碼方法300、400、500、600之相反步驟的解碼方法可以有效率地對編碼方法300、400、500、600所編碼之視訊進行解碼。因此,本揭露的上述內容足以瞭解執行編碼方法300、400、500、600之相反步驟的解碼方法。本揭露上述內容亦足以瞭解對編碼方法300、400、500、600所編碼之視訊進行解碼所需之其他解碼程序。
如果大CU使用IPM作為螢幕虛擬內容(screen visual content),則可能表示該區域之內容並不複雜,且並不需要估計TU的尺寸。因此,非444色度格式之IPM被禁止部分大CU的TU分割。第7圖說明非444色度格式之IPM的演算流程。步驟306及310如同前述編碼方法300之敘述。在步驟310,RDO模式決定的計算如同前述編碼方法300。
在步驟311,判斷色度格式是否為非444。若色度格式為非444,則進入步驟312。若色度格不是非444,則進入步驟
314,以近行TU尺寸決定。
在步驟312,目前處理之CU尺寸的計算如同前述編碼方法300所述之內容,來決定CU尺寸是否小於臨界值T1。若CU尺寸小於臨界值T1,則流程進入步驟314,以進行TU尺寸決定。然而,若CU尺寸等於或大於臨界值T1,流程進入步驟316,而跳過步驟314的TU尺寸決定。步驟314、316的決定過程如同前述的編碼方法300。
臨界值T1及T2可以設定為相同或不同值。
第8圖繪示執行本揭露之編碼與解碼方法的系統700。系統700包括一非暫態電腦可讀取媒體(non-transitory computer-readable medium)702,其可以是儲存數組指令的記憶體。此些指令可被處理器704執行。值得注意的是,一或多個非暫態電腦可讀取媒體702及/或一或多個處理器704可以選擇性地採用,以執行本揭露之編碼與解碼方法。
非暫態電腦可讀取媒體702可以是任何類型的非暫態電腦可讀取記錄媒體(non-transitory computer-readable storage medium,non-transitory CRM)。非暫態電腦可讀取記錄媒體可以包括軟性磁碟(floppy disk)、可撓性碟片(flexible disk)、硬碟(hard disk)、硬碟機(hard drive)、固態硬碟(solid state drive)、磁帶(magnetic tape)、任何磁性資料儲存媒體(magnetic data storage medium)、光碟機(CD-ROM)、任何光學資料儲存媒體(optical data storage medium)、任何具有孔洞圖樣之物理性媒體、
動態隨機存取記憶體(RAM)、可程式唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM)、快閃可抹除可程式化唯讀記憶體(FLASH-EPROM)、任何快閃記憶體、非揮發性記憶體(NVRAM)、快取(cache)、暫存器(register)、記憶體晶片(memory chip)、膠卷(cartridge)及網路。電腦可讀取記錄媒體可儲存由至少一處理器執行之數組指令。此些指令包含令處理器去執行本揭露的編碼與解碼方法的步驟或階段。再者,一或多個電腦可讀取記錄媒體可以用來實現本揭露之編碼與解碼方法。「電腦可讀取記錄媒體」包含有形物體但不包含載體載波訊號和瞬態訊號。
處理器704可以是任何形式的數位訊號處理器(digital signal processor,DSP)、特定應用積體電路(application specific integrated circuit,ASIC)、數位訊號處理裝置(digital signal processing device,DSPD)、可程式化邏輯裝置(programmable logic device,PLD)、可程式邏輯陣列(field programmable gate arrays,FPGA)、控制器(controller)、微控制器(micro-controller)、微處理器(micro-processor)、電腦或任何其他能夠執行本揭露之編碼與解碼方法之電子元件。
實驗結果
以下說明本揭露之編碼方法的實驗結果。
此處的實驗室採用HEVC SCC參考模型、一般測試條件(common test conditions,CTC)下的SCM 4.0。本揭露的編碼方法的編碼效能是與HEVC的參考模型進行比較。HEVC參考
模型花費了編碼時間A來進行編碼。本揭露之測試編碼方法花費了來進行編碼時間B來進行編碼。編碼時間百分比係為編碼時間B除以編碼時間A。實驗可採用HEVC一般測試流程。視訊可混合文字、圖像、動態畫面、混合內容、動畫、照相機擷取內容。視訊可以是具有720p、1080p、或1440p之畫質的RGB色彩空間及YUV色彩空間。實驗採用有損條件(lossy condition)下的全幀內預測、隨機存取及低B預測(low-B prediction)。全幀內預測採用目前正被壓縮之畫面內的資訊來壓縮視訊畫面,而隨機存取及低B預測採用先前已編碼之畫面及目前正被壓縮之畫面的資訊來壓縮視訊畫面。在以下的說明中,低B預測也可以是指低延遲B預測(low delay B prediction)。在每次的實驗中,編碼時間及解碼時間都被以百分比記錄下來,此些百分比表示相對於參考模型之編碼方法與解碼方法的比例。相對於原始視訊源,關於各個G/Y、B/U及R/V成分之正的百分比表示位元率編碼損失(bit rate coding loss),負的百分比表示位元率編碼增益(bit rate coding gain)。舉例來說,G/Y成分的0.1%數值表示已編碼視訊之G/Y成分相對於原始視訊之G/Y成分的編碼損失為0.1%。在另一實例中,G/Y成分的-0.1%數值表示已編碼視訊之G/Y成分相對於原始視訊之G/Y成分的編碼增益為0.1%。
請參考第5圖之編碼方法500及下表1。於編碼方法500,實驗室執行於以下三種設定之下。於設定一,臨界值T2及臨界值T1皆設定為64。於設定二,臨界值T2設定為64,臨
界值T1設定為32。於設定三,臨界值T2設定為64,臨界值T1設定為16。幀內預測係為預定的編碼模式。
於設定一,當畫素成分具有低相關性,尺寸大於或等於64x64的CU被以不啟用ACT的方式編碼。尺寸小於64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大於64x64的情況下,省略TU尺寸決定的步驟314。對於CU尺寸小於64x64的情況下,執行TU尺寸決定的步驟314。
於設定二,當畫素成分具有低相關性,尺寸大於或等於64x64的CU被以不啟用ACT的方式編碼。尺寸小於64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大於32x32的情況下,省略TU尺寸決定的步驟314。對於CU尺寸小於32x32的情況下,執行TU尺寸決定的步驟314。
於設定三,當畫素成分具有低相關性,尺寸大於或等於64x64的CU被以不啟用ACT的方式編碼。尺寸小於64x64的CU被以啟用ACT的方式編碼。再者,在CU尺寸大於16x16的情況下,省略TU尺寸決定的步驟314。對於CU尺寸小於16x16的情況下,執行TU尺寸決定的步驟314。
如表1所示,設定一、設定二及設定三的編碼效能均有改善。設定一降低了3%的編碼複雜度(encoding complexity),設定二降低了6%的編碼複雜度。設定三降低了9%的編碼複雜度(設定三降低最多)。因此,所有的設定都能夠改善編碼效率。各個設定在位元率的最小損失(minimal loss of bit rate)下,編碼時間及效率都有改善。
請參照編碼方法500及下表2、3。在此,實驗是在全幀內、隨機存取及低延遲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)及全畫面幀內區塊複製技術(full frame intra block copy)下進行。
如表2所述,於實驗一,全幀內模式(all intra mode)降低了5%的編碼複雜度。隨機存取及低延遲B各降低了1%的編碼複雜度。各個設定顯示出非常低的位元率損失,全幀內及隨機存取幾乎沒有改變位元率。
於實驗二,全幀內模式降低了8%的編碼複雜度。隨機存取降低了1%的編碼複雜度。低延遲B沒有改變編碼複雜度。相較於實驗一,各個模式具有較多的位元率損失,但位元率損失仍然維持在最小(僅在百分比的小數範圍內)。相較於原始視訊,已編碼視訊僅略微降低位元率,故僅損失少部分的視訊品質。由於編碼方法500改善了編碼時間,故這樣的視訊品質在大部分的應用是可以接受的。
如表3所述,於實驗一及實驗二,各個模式在全部或平均來看,對位元率都沒有改變。全幀內降低了最多比率的編碼複雜度(於各實驗均降低1%)。
請參考第5圖之編碼方法500及下表4。在此,實驗是在有損條件(lossy condition)、4-CTU幀內區塊複製技術(Intra block copy)及4:4:4色度模式下進行。幀內區塊複製技術利用運動向量從先前已編碼CU複製一區塊至目前編碼視訊畫面。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所述,於實驗一及實驗二,全幀內、隨機存取或低延遲B模式皆為最小位元率改變。全幀內降低了最多的編碼複雜度,其於實驗一降低了5%,於實驗二降低了8%。
請參考第4圖之編碼方法400及以下的表5.1及表5.2。在此,臨界值T2設定為64。因此,當步驟304的成分相關性分析分析出CU的色彩成分具有低相關性時,執行步驟402,以判斷CU尺寸是否小於64x64。若CU尺寸小於64x64,則啟用ACT且執行步驟310之RDO模式決定。若CU尺寸大於或等於64x64,則禁用ACT且進入步驟308。實驗一係採用全畫面幀內區塊複製技術(full frame intra block copy)的有損全幀內編碼模式(lossy all intra encoding mode),實驗二採用4 CTU IBC技術的有損全幀內編碼模式。色度模式於各個實驗選擇為4:4:4。
如表5.1所示,於YUV色彩空間且全幀內、有損、全畫面幀內區塊複製技術下,編碼方法400於最小位元率損失下,降低了1%到3%的編碼時間。如表5.2所示,在全幀內、有損、4 CTU幀內區塊複製技術下,編碼方法400於最小位元損失下,降低編碼時間的比率近似於表5.1之實驗一。
請參考編碼方法400及下表6。在此,臨界值T2設定為64。於4:4:4的色度模式執行無損幀內編碼(Lossless intra encoding)。
於YUV色彩空間,編碼方法節省了0%到2%的編碼時間。
請參考第3圖之編碼方法300及下表7。在此,臨界值T1於實驗一設定為32,於實驗二設定為16。如同編碼方法300,於實驗一,CU尺寸大於或等於32x32時,將省略步驟314之TU尺寸決定;CU尺寸小於32x32時,則執行步驟314之TU尺寸決定。於實驗二,CU尺寸大於或等於16x16時,將省略步驟314之TU尺寸決定;CU尺寸小於16x16時,則執行步驟314之TU尺寸決定。實驗執行啟用ACT之有損全幀內編碼。
實驗一之編碼時間節省了3%到6%。實驗二之編碼時間節省了6%到10%。因此,僅在CU尺寸低於32x32或16x16
之下才允許進行TU尺寸決定,以幫助編碼效率。
上述內容係用以說明本揭露之技術,然其並非用以侷限本發明的內容。實施例的修改與調整均落於本揭露之範圍。舉例來說,所揭露的實施例包含軟體及硬體,但本揭露之系統與方法可以僅以硬體來實現。
軟體開發者可基於本揭露之方法開發一電腦程式,其可採用各種電腦程式技術來開發。舉例來說,程式片段或程式模組可以藉由Java、C、C++、組合語言或任何其他程式語言來開發。一或多個軟體片段與模組可以安裝於一電腦系統、非暫態電腦可讀取媒體、或現存的通訊軟體。
再者,雖然上述以揭露各種實施例,然本揭露之範圍包含各種元件之均等、修改、省略、組合(例如不同實施例之間的組合)、應用、或選擇。申請專利範圍之元件係以最廣的範圍來作解釋,而不侷限於實施例的內容。此外,方法的步驟可以進行修改(包含調整順序、插入或刪除步驟)。雖然本揭露已以較佳實施例揭露如上,然其並非用以限定本揭露。本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
本發明所屬技術領域中具有通常知識者亦可根據本揭露之說明瞭解其他的實施例。本揭露之範圍包含結合一般知識的各種變化、實施與應用。說明書與實施例僅僅作為示例,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
300‧‧‧編碼方法
304‧‧‧成分相關性分析
306‧‧‧概略模式決定
308‧‧‧結束
310‧‧‧RDO模式決定
312‧‧‧CU尺寸是否大於臨界值T1之判斷
314‧‧‧TU尺寸決定
316‧‧‧色度模式決定
Claims (17)
- 一種視訊編碼方法,包括:接收一原始視訊畫面(source video frame);分割該原始視訊畫面為一編碼樹單元(coding tree unit);從該編碼樹單元決定一編碼單元(coding unit);啟用或禁用該編碼單元之一編碼模式(coding mode);只有當該編碼單元之尺寸小於一判斷臨界值(threshold),才於啟用之該編碼模式估計一轉換單元(transform unit)之尺寸;以及於啟用之該編碼模式決定該編碼單元之該轉換單元;其中該編碼單元之尺寸係為NxN。
- 如申請專利範圍第1項所述之方法,更包括:判斷該編碼單元之一色彩空間;其中判斷該編碼單元之該色彩空間包括判斷該色彩空間是否為一紅色、綠色及藍色(RGB)色彩空間或一亮度及色度(YUV)色彩空間。
- 如申請專利範圍第2項所述之方法,更包括:若啟用之該編碼模式係為啟用一自適性色彩轉換(adaptive color transform,ACT)之一幀內預測模式(intra prediction mode),當該色彩空間被判斷為該RGB色彩空間時,執行一成本模式決定(cost-based mode decision)。
- 如申請專利範圍第2項所述之方法,更包括:若啟用之該編碼模式係為啟用一自適性色彩轉換(adaptive color transform,ACT)之一幀內預測模式(intra prediction mode),當該色彩空間被判斷為一亮度及色度(YUV)色彩空間時,執行 一成本模式決定(cost-based mode decision)。
- 如申請專利範圍第2項所述之方法,更包括:當該色彩空間被判斷為該YUV色彩空間且N大於或等於一臨界值,禁用該編碼單元之該編碼模式。
- 如申請專利範圍第2項所述之方法,更包括:判斷N是否小於一決定臨界值;以及當該色彩空間被判斷為該YUV色彩空間且N小於該決定臨界值,啟用該編碼模式,該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT)。
- 如申請專利範圍第2項所述之方法,更包括:判斷N是否小於一決定臨界值;判斷N是否小於該判斷臨界值;當色彩空間被判斷為該YUV色彩空間且N小於該決定臨界值,啟用該編碼模式,該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT);以及當N小於該判斷臨界值,於該編碼模式估計該轉換單元的尺寸,該編碼模式啟用該自適性色彩轉換。
- 如申請專利範圍第2項所述之方法,更包括:判斷N是否小於一決定臨界值;判斷N是否大於或等於該判斷臨界值;當該色彩空間被判斷為該YUV色彩空間且N小於該決定臨界值,啟用該編碼模式,該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT);以及當N大於或等於該判斷臨界值,於該編碼模式不估計該轉換單元之尺寸,該編碼模式啟用該自適性色彩轉換。
- 如申請專利範圍第1項所述之方法,更包括:判斷N是否大於或等於該判斷臨界值;以及當N大於或等於該判斷臨界值且啟用之該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT),不評估該轉換單元之尺寸。
- 如申請專利範圍第1項所述之方法,更包括:判斷N是否小於該判斷臨界值;當N小於該判斷臨界值且啟用之該編碼模式啟用自適性色彩轉換(adaptive color transform,ACT),評估該轉換單元之尺寸;以及選擇該轉換單元之尺寸。
- 如申請專利範圍第1項所述之方法,更包括:若該原始視訊畫面係為非444(non-444)且該編碼單元之尺寸小於NxN,評估該轉換單元之尺寸。
- 一種視訊編碼系統,包括:一記憶體,用以儲存一組指令;以及一處理器,用以執行該組指令,該組指令包括:接收一原始視訊畫面(source video frame);分割該原始視訊畫面為一編碼樹單元(coding tree unit);從該編碼樹單元決定一編碼單元(coding unit);啟用或禁用該編碼單元之一編碼模式(coding mode);只有當該編碼單元之尺寸小於一判斷臨界值,才於啟用之該編碼模式估計一轉換單元(transform unit)之尺寸;以及於啟用之該編碼模式決定該編碼單元之該轉換單元; 其中該編碼單元之尺寸係為NxN。
- 如申請專利範圍第12項所述之系統,其中該處理器用以執行之該組指令更包括:判斷該編碼單元之一色彩空間;其中該色彩空間係被判斷是否為一紅色、綠色及藍色(RGB)色彩空間或一亮度及色度(YUV)色彩空間。
- 如申請專利範圍第13項所述之系統,其中該處理器用以執行之該組指令更包括:判斷N是否小於一決定臨界值;判斷N是否小於該判斷臨界值;當色彩空間被判斷為該YUV色彩空間且N小於該決定臨界值,啟用該編碼模式,該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT);以及當N小於該判斷臨界值,於該編碼模式估計該轉換單元的尺寸,該編碼模式啟用該自適性色彩轉換。
- 如申請專利範圍第13項所述之系統,其中該處理器用以處理之該組指令更包括:判斷N是否小於一決定臨界值;判斷N是否大於或等於該判斷臨界值;當該色彩空間被判斷為該YUV色彩空間且N小於該決定臨界值,啟用該編碼模式,該編碼模式啟用一自適性色彩轉換(adaptive color transform,ACT);以及當N大於或等於該判斷臨界值,於該編碼模式不估計該轉換單元之尺寸,該編碼模式啟用該自適性色彩轉換。
- 如申請專利範圍第12項所述之系統,其中該處理器用以 處理之該組指令更包括:若該原始視訊畫面係為非444(non-444)且該編碼單元之尺寸小於NxN,評估該轉換單元之尺寸。
- 一種非暫態電腦可讀取記錄媒體,用以儲存一組指令,該組指令由一或多個處理器執行,以執行一視訊編碼方法,其中該視訊編碼方法包括:接收一原始視訊畫面(source video frame);分割該原始視訊畫面為一編碼樹單元(coding tree unit);從該編碼樹單元決定一編碼單元(coding unit);啟用或禁用該編碼單元之一編碼模式(coding mode);只有當該編碼單元之尺寸小於一判斷臨界值,才於啟用之該編碼模式估計一轉換單元(transform unit)之尺寸;以及於啟用之該編碼模式決定該編碼單元之該轉換單元;其中該編碼單元之尺寸係為NxN。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610357374.8A CN106254870B (zh) | 2015-06-08 | 2016-05-26 | 采用自适性色彩转换的视频编码方法、系统和计算机可读取记录介质 |
US15/196,108 US10390020B2 (en) | 2015-06-08 | 2016-06-29 | Video encoding methods and systems using adaptive color transform |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562172256P | 2015-06-08 | 2015-06-08 | |
US14/757,556 US20160360205A1 (en) | 2015-06-08 | 2015-12-24 | Video encoding methods and systems using adaptive color transform |
US201662290992P | 2016-02-04 | 2016-02-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201711477A TW201711477A (zh) | 2017-03-16 |
TWI597977B true TWI597977B (zh) | 2017-09-01 |
Family
ID=57752462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105114323A TWI597977B (zh) | 2015-06-08 | 2016-05-09 | 採用自適性色彩轉換之視訊編碼方法及系統 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6670670B2 (zh) |
TW (1) | TWI597977B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020253864A1 (en) * | 2019-06-21 | 2020-12-24 | Beijing Bytedance Network Technology Co., Ltd. | Selective enablement of adaptive in-loop color-space transform in video coding |
CN115244930A (zh) * | 2020-01-05 | 2022-10-25 | 北京达佳互联信息技术有限公司 | 以4:4:4色度格式进行视频编解码的方法和装置 |
US11445206B2 (en) * | 2020-04-16 | 2022-09-13 | Tencent America LLC | Method and apparatus for video coding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2011333238B2 (en) * | 2010-11-26 | 2015-06-11 | Nec Corporation | Image encoding device, image decoding device, image encoding method, image decoding method, and program |
US9380319B2 (en) * | 2011-02-04 | 2016-06-28 | Google Technology Holdings LLC | Implicit transform unit representation |
JP5719410B2 (ja) * | 2013-07-25 | 2015-05-20 | 日本電信電話株式会社 | 画像符号化方法、画像符号化装置及び画像符号化プログラム |
JP6176044B2 (ja) * | 2013-10-07 | 2017-08-09 | 日本電気株式会社 | ブロック構造決定回路および情報圧縮回路 |
JP2015076765A (ja) * | 2013-10-09 | 2015-04-20 | キヤノン株式会社 | 画像処理装置及びその制御方法、並びに、コンピュータプログラム |
-
2016
- 2016-04-28 JP JP2016090958A patent/JP6670670B2/ja active Active
- 2016-05-09 TW TW105114323A patent/TWI597977B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201711477A (zh) | 2017-03-16 |
JP2017005688A (ja) | 2017-01-05 |
JP6670670B2 (ja) | 2020-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254870B (zh) | 采用自适性色彩转换的视频编码方法、系统和计算机可读取记录介质 | |
US10390020B2 (en) | Video encoding methods and systems using adaptive color transform | |
US20160360205A1 (en) | Video encoding methods and systems using adaptive color transform | |
CN105409221B (zh) | 用于样本自适应偏移滤波的编码器侧决策 | |
EP3598758B1 (en) | Encoder decisions based on results of hash-based block matching | |
TWI621353B (zh) | 視訊解碼方法 | |
US10735725B2 (en) | Boundary-intersection-based deblock filtering | |
JP6355715B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、及びプログラム | |
KR102606414B1 (ko) | 디블로킹 필터의 경계 강도를 도출하는 인코더, 디코더 및 대응 방법 | |
CN111819852A (zh) | 用于变换域中残差符号预测的方法及装置 | |
CN111327904B (zh) | 图像重建方法和装置 | |
JP7463460B2 (ja) | ビデオ復号方法およびビデオデコーダ | |
US9294765B2 (en) | Video encoder with intra-prediction pre-processing and methods for use therewith | |
WO2015108793A1 (en) | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning | |
EP3120556A1 (en) | Encoder-side decisions for screen content encoding | |
JP7351908B2 (ja) | エンコーダ、デコーダ、および対応するブロック解除フィルタ適応の方法 | |
CN114598873B (zh) | 量化参数的解码方法和装置 | |
EP3104606B1 (en) | Video encoding methods and systems using adaptive color transform | |
EP3114837B1 (en) | Flicker detection and mitigation in video coding | |
TWI597977B (zh) | 採用自適性色彩轉換之視訊編碼方法及系統 | |
CN110771166A (zh) | 用于视频编码的装置和方法 | |
EP2899975A1 (en) | Video encoder with intra-prediction pre-processing and methods for use therewith | |
CN112055211A (zh) | 视频编码器及qp设置方法 | |
CN118679736A (zh) | 用于基于多假设的预测的方法和设备 |