TWI565302B - 解碼器、編碼器、解碼方法、編碼方法與編解碼系統 - Google Patents
解碼器、編碼器、解碼方法、編碼方法與編解碼系統 Download PDFInfo
- Publication number
- TWI565302B TWI565302B TW104130995A TW104130995A TWI565302B TW I565302 B TWI565302 B TW I565302B TW 104130995 A TW104130995 A TW 104130995A TW 104130995 A TW104130995 A TW 104130995A TW I565302 B TWI565302 B TW I565302B
- Authority
- TW
- Taiwan
- Prior art keywords
- clusters
- pixels
- coding unit
- colors
- unit block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 56
- 239000003086 colorant Substances 0.000 claims description 254
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 5
- 239000000470 constituent Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Description
本揭露是有關於一種對編碼單元區塊進行編碼與解碼的編碼方法與解碼方法,以及使用此方法的編解碼系統、編碼器與解碼器。
隨著科技的演進,視訊顯示器的解析、規格、尺寸越來越高,人們對視訊畫面品質與尺寸的要求也隨之不斷上升。為滿足此需求,國際電信聯盟(ITU-T)下的視訊編碼專家小組VCEG(Video Coding Experts Group)與國際標準化組織ISO/IEC下的動態畫像專家小組MPEG(Moving Picture Experts Group)共同成立視訊編碼聯合工作小組JCT-VC(Joint Collaborative Team on Video Coding),並開始H.265/HEVC(High Efficiency Video Coding)專案,目標為提供比H.264/AVC(Advanced Video Coding)視訊壓縮標準更高的編碼效率(在相同主觀品質下約可節省50%的位元率),尤其以高解析度(High Definition,HD)、超高解析度(Ultra High Definition,Ultra HD)等解析度高之視訊為重。
此大尺寸與高解析度之視訊應用的環境多以自然視訊影像為主,並已於2013年完成制訂,目前正在制定的是高效能螢幕編碼標準 (HEVC Screen Content Coding,簡稱HEVC SCC)。螢幕分享的視訊內容通常會有混合的視訊內容素材,例如畫面可能同時包含自然影像、大量文字圖片、滑鼠指標及各種線條等,由於此螢幕應用環境已不符H.265/HEVC當初所設計的目標,故JCT-VC近來已將重心轉至發展新的高效能螢幕編碼標準技術。HEVC SCC標準基於H.265/HEVC現有的架構下進行新編碼工具的開發,例如JCT-VC所探討的新工具包括調色盤模式(Palette mode)及畫面內區塊複製模式(Intra Block Copy,IBC)等等。
然而,影像及視訊壓縮的過程通常需要大量的計算,據此,如何提升影像及視訊壓縮的編碼效能,以減少編碼運算中不必要的傳輸與計算,已成為當務之急。
本揭露提供一種編碼方法與解碼方法以及使用此方法的編解碼系統、編碼器與解碼器,其能夠有效地提升螢幕視訊編碼技術的編碼效能。
本揭露的一範例實施例提出一種解碼器,此解碼器包括儲存電路與處理器電路,儲存電路記錄多個模組,處理器電路連接儲存電路,並且用以存取儲存電路並透過所述模組執行鄰近區塊多顏色預測模式。所述模組包括接收模組、旗標狀態判定模組以及顏色設定模組。接收模組接收對應編碼單元區塊的第一旗標,且旗標狀態判定模組判斷對應所述編碼單元區塊的第一旗標的狀態值,其中當所述第一旗標的狀態值符合預定狀態值時,接收模組更用以接收對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值。顏色設定模組用以在第一旗標的狀態值符合預定狀態值時,讀取接收模組所接收的對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值,且根據第二旗標在編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中第二旗標指示對應N個畫素的N個顏色的數目,所述N個顏色皆不相同且N為正整數。解碼模組根據對應所述N個畫素的N個顏色重建編碼單元區塊的畫素。
本揭露的一範例實施例提出一種編碼器,此編碼器包括儲存電路與處理器電路,儲存電路記錄多個模組,處理器電路連接儲存電路,並且用以存取儲存電路並透過所述模組執行鄰近區塊多顏色預測模式。所述模組包括旗標設定模組、顏色設定模組以及編碼模組。旗標設定模組設定對應編碼單元區塊的第一旗標的狀態值,且顏色設定模組用以在第一旗標的狀態值符合預定狀態值時,在編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色。並且,旗標設定模組更用以將對應編碼單元區塊的第二旗標設定為對應所述N個畫素的N個顏色的數目,其中所述N個顏色皆不相同且N為正整數。編碼模組用以對編碼單元區塊中的每一畫素進行索引編號以使得編碼單元區塊中的每一畫素的顏色是以N個畫素的索引值來表示。此外,編碼模組更用以傳送對應編碼單元區塊的第一旗標至解碼器,且在第一旗標的狀態值符合預定狀態值時,編碼模組傳送對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值至解碼器。
本揭露的一範例實施例提出一種用於具有多個畫素的編碼單元區塊的解碼方法,本解碼方法包括:接收對應所述編碼單元區塊的第一旗標;判斷此第一旗標的狀態值符合預定狀態值時,接收並讀取對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值,並且根據所述第二旗標在編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中第二旗標指示對應N個畫素的N個顏色的數目,其中N個顏色皆不相同且N為正整數;以及根據對應N個畫素的N個顏色重建編碼單元區塊的畫素。
本揭露的一範例實施例提出一種用於具有多個畫素的編碼單元區塊的編碼方法,本編碼方法包括:設定對應編碼單元區塊的第一旗標的狀態值;判斷第一旗標的狀態值符合預定狀態值時,在所述編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,並且將對應編碼單元區塊的第二旗標設定為對應所述N個畫素的N個顏色的數目,其中該個顏色皆不相同且N為正整數;對編碼單元區塊中的每一畫素進行索引編號以使得編碼單元區塊中的每一畫素的顏色是以所述N個畫素的索引值來表示;以及傳送對應編碼單元區塊的第一旗標至解碼端,且在第一旗標的狀態值符合預定狀態值時,傳送對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值至解碼端。
本揭露的一範例實施例提出一種編解碼系統,本編解碼系統包括:編碼器與解碼器。編碼器用以設定對應編碼單元區塊的第一旗標的狀態值,並且在第一旗標的狀態值符合預定狀態值時,在編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色。此外,編碼器更用以將對應編碼單元區塊的第二旗標設定為對應N個畫素的N個顏色的數目,其中N個顏色皆不相同且N為正整數。編碼器更用以對編碼單元區塊中的每一畫素進行索引編號以使得編碼單元區塊中的每一畫素的顏色是以N個畫素的索引值來表示,以及傳送對應編碼單元區塊的第一旗標至解碼器,且在第一旗標的狀態值符合預定狀態值時,編碼器傳送對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值至所述解碼器。
基於上述,本揭露之範例實施例所提出的解碼方法與編碼方法及使用此方法的編解碼系統、解碼器與編碼器能夠藉由所設定的旗標指示鄰近範圍中用以預測並重建目前編碼單元區塊之畫素的個數及其顏色,進而有效地節省編碼運算時的傳輸位元,進而提升編碼效能。
為讓本揭露的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1A是根據本揭露一範例實施例所繪示的編碼器。
請參照圖1A,編碼器110包括儲存電路110a與處理器電路110b。儲存電路110a用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路110a可以是記憶體(memory)或硬碟(Hard Disk Drive,HDD)等儲存媒體,但不限於此。處理器電路110b用以控制編碼器110的整體運作。例如,處理器電路110b可以是中央處理器(CPU)、微處理器(micro-processor)或嵌入式控制器(embedded controller),本揭露並不加以限制。在本範例實施例中,儲存電路110a更用以記錄多個模組,處理器電路110b連接儲存電路110a,並且用以存取儲存電路110a。處理器電路110b會透過此些模組執行本揭露的鄰近區塊多顏色預測模式,此些模組包括:旗標設定模組112、顏色設定模組114以及編碼模組116。
旗標設定模組112用以設定對應目前正在編碼的編碼單元區塊的旗標的狀態值。具體而言,在H.265/HEVC的標準下,是以一個編碼樹單元(Coding Tree Unit,CTU)作為編碼單元(Coding Unit,CU)編碼時的最大處理區塊,此編碼樹單元的大小可以設定為64×64的區塊。編碼單元區塊則可以是小於或等於編碼樹單元的區塊大小。舉例而言,編碼單元區塊為一正方矩形並且其大小可以是64×64、32×32、16×16、8×8或4×4的區塊。另外,在本揭露範例實施例中所述的編碼單元區塊具有多個畫素,並且編碼單元區塊大小的單位為畫素。
旗標設定模組112會設定對應編碼單元區塊的一個旗標(亦稱為第一旗標)來指示是否致能鄰近區塊多顏色預測模式,本揭露所述的鄰近區塊多顏色預測模式是利用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來預測目前正在編碼的編碼單元區塊的畫素。例如,當欲致能上述鄰近區塊多顏色預測模式時,旗標設定模組112會將對應編碼單元區塊的第一旗標的狀態值設定為一預定狀態值。反之,當不欲致能上述鄰近區塊多顏色預測模式時,旗標設定模組112可將對應編碼單元區塊的第一旗標的狀態值設定為其他的狀態值。
顏色設定模組114用以判斷第一旗標是否符合預定狀態值,並且在第一旗標符合所述預定狀態值時,於編碼單元區塊的鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色。在此,顏色設定模組114所選出的N個顏色皆不相同。換言之,當顏色設定模組114判斷第一旗標的狀態值符合預定狀態值時,編碼器110即會進入鄰近區塊多顏色預測模式以使用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來預測目前正在編碼的編碼單元區塊的畫素。之後,顏色設定模組114更用以將對應編碼單元區塊的另一個旗標(亦稱為第二旗標)設定為對應所選出之對應N個畫素的N個顏色的數目。顏色設定模組114從鄰近範圍210選出對應N個畫素的N個顏色的方法將於稍後配合圖2、圖3A~圖3B、圖4與圖5詳細說明。
值得注意的是,本揭露所指的一個顏色並不侷限於由單一組成元素所組成的顏色,也可以是指由數個組成元素所組成之對應顏色,例如,由三個組成元素所組成之對應YUV格式或RGB格式的顏色。YUV格式用以編譯顏色空間(color space),其中「Y」表示明亮度(Luminance、Luma),「U」和「V」則是表示色度與濃度(Chrominance、Chroma),並且Y、Cb、Cr用來描述其組成元素。RGB格式是一種加色模型,用以將紅(Red)、綠(Green)、藍(Blue)三原色的色光以不同的比例相加,以產生多種多樣的色光,其中R、G、B用來描述其組成元素。
之後,編碼模組116用以對編碼單元區塊中的每一畫素進行索引編號以使得編碼單元區塊中的每一畫素的顏色是以上述N個畫素的索引值來表示。之後,編碼模組116會傳送對應此編碼單元區塊的第一旗標至解碼端,且在上述第一旗標的狀態值符合預定狀態值時,才傳送對應此編碼單元區塊的第二旗標與此編碼單元區塊的每一畫素所對應的索引值至解碼端。
在本範例實施例中,編碼器110完成上述編碼操作後,是將編碼後的資料傳送至解碼器以進行解碼操作。例如,編碼器110是實作在影像發送終端中,而解碼器是實作在影像接收終端中,其中編碼器與解碼器可透過有線或無線方式來通訊。
圖1B是根據本揭露一範例實施例所繪示的解碼器。
請參照圖1B,解碼器120包括儲存電路120a與處理器電路120b。類似地,儲存電路120a用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路120a可以是記憶體或硬碟等儲存媒體,但不限於此。處理器電路120b用以控制解碼器120的整體運作。在此,處理器電路120b例如是中央處理器、微處理器或嵌入式控制器,本揭露並不加以限制。在本範例實施例中,儲存電路120a更用以記錄多個模組,而處理器電路120b連接儲存電路120a,並且用以存取儲存電路120a。處理器電路120b會透過此些模組執行鄰近區塊多顏色預測模式,此些模組包括:接收模組122、旗標狀態判定模組124、顏色設定模組126以及解碼模組128。
解碼器120的接收模組122會從編碼器110接收對應編碼單元區塊的第一旗標、對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值,並且解碼器120會根據所接收的此些資料來還原對應的編碼單元區塊。例如,旗標狀態判定模組124會判斷對應編碼單元區塊的第一旗標的狀態值是否符合預定狀態值,並且當第一旗標的狀態值符合預定狀態值時,接收模組122才會繼續地接收從編碼模組116傳來的第二旗標與編碼單元區塊的每一畫素所對應的索引值。之後,顏色設定模組126會讀取編碼模組116所接收的對應編碼單元區塊的第二旗標與編碼單元區塊的每一畫素所對應的索引值。由於第二旗標會指示對應上述N個畫素的N個顏色的數目,因此,顏色設定模組126可根據此第二旗標在編碼單元區塊的鄰近範圍內的多個畫素中快速地選出N個顏色。據此,解碼模組128即可根據此N個顏色重建編碼單元區塊的畫素。
值得一提的是,上述編碼器與解碼器是分別實作於不同的終端中,並且透過網路傳遞彼此所需要的資料,然而,本揭露不限於此。在另一範例實施例中,編碼器與解碼器可實作於同一個晶片或系統中。
圖1C是根據本揭露一範例實施例所繪示的編解碼晶片。
請參照圖1C,編解碼晶片100(亦稱為編解碼系統100)包括儲存電路100a、處理器電路100b、編碼器110以及解碼器120。編碼器110與解碼器120的運作是分別相似於上述圖1A與圖1B中所示的編碼器與解碼器。例如,編碼器110包括旗標設定模組112、顏色設定模組114以及編碼模組116。解碼器120包括接收模組122、旗標狀態判定模組124、顏色設定模組126以及解碼模組128。
類似地,儲存電路100a用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路100a可以是記憶體或硬碟等儲存媒體,但不限於此。在本範例實施例中,儲存電路100a更用以記錄多個模組,此些模組包括上述編碼器110的旗標設定模組112、顏色設定模組114以及編碼模組116,以及解碼器120的接收模組122、旗標狀態判定模組124、顏色設定模組126以及解碼模組128。
處理器電路100b耦接至儲存電路100a,並且用以控制編解碼晶片100的整體運作。例如,處理器電路100b會下達指令給儲存電路100a,以透過編碼器110與解碼器120來對影像執行編碼與解碼的操作。例如,處理器電路100b可以是中央處理器、微處理器或嵌入式控制器,本揭露並不加以限制。
值得注意的是,本揭露中的編碼器與解碼器是由軟體模組或程式碼來實作,例如,儲存電路100a會儲存上述旗標設定模組112、顏色設定模組114、編碼模組116、接收模組122、旗標狀態判定模組124、顏色設定模組126以及解碼模組128,並且當編解碼晶片100致能時,此些軟體程式碼會從儲存電路100a被載入至一緩衝記憶體(未繪示)且由處理器電路100b執行以運作此些模組的功能。然而,本揭露不限於此,例如,在本揭露另一範例實施例中,編解碼晶片、編碼器與解碼器可以是由硬體電路來實作。例如,上述旗標設定模組112、顏色設定模組114、編碼模組116、接收模組122、旗標狀態判定模組124、顏色設定模組126以及解碼模組128可以硬體電路實作為旗標設定電路、顏色設定電路、編碼電路、接收電路、旗標狀態判定電路以及解碼電路。
為了更清楚地描述編碼器110、解碼器120與編解碼晶片100的運作,以下將參照圖1C的編解碼晶片100以一範例實施例來進行說明。
圖2是根據本揭露之範例實施例所繪示的編碼單元區塊之鄰近範圍示意圖。
請參照圖2,假設目前正在編碼的區塊為編碼單元區塊200,且編碼單元區塊200的大小為L×L,其中L為正整數。在本範例實施例中,顏色設定模組114是在編碼單元區塊200的鄰近範圍內的多個畫素中選出N個具有不同顏色的畫素,並將對應此N個畫素的N個顏色設定為作為用以預測編碼單元區塊200的畫素。然而,本揭露並不限於此,例如,在另一範例實施例中,顏色設定模組114亦可從畫面的所有畫素中選出對應N個畫素的N個顏色。在本範例實施例中,此鄰近範圍包括鄰近於編碼單元區塊200的至少一另一編碼單元區塊,所述至少一另一編碼單元區塊包括鄰近於編碼單元區塊200上邊緣的編碼單元區塊202、鄰近於編碼單元區塊200左邊緣的編碼單元區塊204與鄰近於編碼單元區塊200左上的角編碼單元區塊206。值得注意的是,編碼單元區塊200與至少一另一編碼單元區塊所在的畫面的解碼順序中,在編碼單元區塊200被解碼之前至少一另一編碼單元區塊為已經被解碼的編碼單元區塊。換言之,鄰近範圍不包括目前正在編碼的編碼單元區塊以及/或在解碼過程中在目前正在編碼的編碼單元區塊之後才會被解碼的區域。然而,本揭露並不加以限制鄰近範圍的區域,例如,在另一範例實施例中,鄰近範圍亦可包括目前欲編碼的編碼單元區塊以及/或畫面中未解碼的區域。
舉例而言,在本範例實施例中,鄰近範圍可包括鄰近於編碼單元區塊200的至少一另一編碼單元區塊中鄰近於編碼單元區塊200的鄰近範圍210。換言之,鄰近範圍210中的多個畫素可以是對應於編碼單元區塊200的第1行(column)第1列(row)個畫素的左上角的畫素,以及在鄰近範圍210內鄰近於編碼單元區塊200的左邊緣的任一個畫素與在鄰近範圍210內鄰近於編碼單元區塊200的上邊緣的任一個畫素。也就是說,在編碼單元區塊200的大小為4×4的區塊的例子中,其鄰近範圍210是由大小為1×4的區塊222、大小為4×1的區塊224與大小為1×1的區塊226所組成,亦即,鄰近範圍210的區塊222的長度H為1,區塊224的寬度W為1。然而,本揭露並不加以限制鄰近範圍210的大小,例如,在另一範例實施例中,大小為4×4之編碼單元區塊200的鄰近範圍210的區塊222的長度H與區塊224的寬度W可以分別為2。
圖3A~圖3B是根據本揭露一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。
請先參照圖3A,具體而言,當旗標設定模組112將對應編碼單元區塊200的第一旗標設定為預定狀態值時,編碼器110即會進入鄰近區塊多顏色預測模式以利用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來預測目前正在編碼的編碼單元區塊的畫素。舉例而言,在編碼單元區塊200的鄰近範圍210內的多個畫素中選出對應N個畫素的N個顏色的操作中,假設顏色設定模組114欲從10組候選顏色中來選擇用以預測編碼單元區塊200之畫素一個或多個顏色時,其會將一預定候選顏色數目設為10,並且根據此預定候選顏色數目將鄰近範圍210內的畫素分群為10個叢集。例如,顏色設定模組114會先根據此些畫素的畫素值將顏色相同的畫素分群至同一個叢集內,舉例而言,屬於叢集301的1個畫素的顏色為C1,屬於叢集302的2個畫素具有相同的畫素值且此2個畫素的顏色為C2,屬於叢集303的10個畫素具有相同的畫素值且此10個畫素的顏色為C3,屬於叢集304的5個畫素具有相同的畫素值且此5個畫素的顏色為C4,屬於叢集305的4個畫素具有相同的畫素值且此4個畫素的顏色為C5,屬於叢集306的7個畫素具有相同的畫素值且此7個畫素的顏色為C6,屬於叢集307的6個畫素具有相同的畫素值且此6個畫素的顏色為C7,屬於叢集308的11個畫素具有相同的畫素值且此11個畫素的顏色為C8,屬於叢集309的3個畫素具有相同的畫素值且此3個畫素的顏色為C9,而屬於叢集310的8個畫素具有相同的畫素值且此8個畫素的顏色為C10。然而,本揭露並不加以限制畫素分群的方法,例如,在另一範例實施例中,顏色設定模組114是將畫素值相近的畫素分群至同一個叢集內。接著,顏色設定模組114會依據10個叢集之中每一叢集的畫素的數量由多到少依序地排列此10個叢集以獲得對應此10個叢集的10個顏色的排序300。
之後,顏色設定模組114會先根據排序300獲得一候選顏色對照表320,此候選顏色對照表320分別記錄選擇不同數目之顏色的情況,例如,欲使用對應鄰近範圍210內之畫素的3個顏色來預測編碼單元區塊200的畫素時,由於數目“3”實際所對應到的顏色有顏色C8、顏色C3與顏色C10,因此,顏色C8、顏色C3與顏色C10會被用來預測編碼單元區塊200的畫素。特別是,在編碼操作中,顏色設定模組114會一一的計算選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的失真值與編碼此些顏色所對應之畫素與編碼單元區塊200所需之位元數。例如,顏色設定模組114是根據此上述失真值與位元數計算出選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的代價值。並且,顏色設定模組114會根據此些代價值選擇具有最小代價值的畫素及其對應的顏色來預測編碼單元區塊200的畫素,如此一來,顏色設定模組114可挑選出一組最佳的顏色來作為預測編碼單元區塊200之畫素的顏色。換言之,在本範例實施例中,顏色設定模組114會對候選顏色對照表320中的10組顏色分別進行代價值運算以獲得一組最佳的顏色。然而,本揭露並不限於此,例如,在另一範例實施例中,顏色設定模組114可不進行代價值的運算,而直接從候選顏色對照表320中選擇1組顏色。
在此,假設具有最小代價值的1組顏色中顏色的數目為“3”,因此,顏色設定模組114會根據候選顏色對照表320選擇顏色C8、顏色C3與顏色C10作為預測編碼單元區塊200之畫素的顏色。也就是說,在從鄰近範圍選出對應N個畫素的N個顏色的編碼操作中,顏色設定模組114可根據排序300從10個叢集中依序選出3個叢集(即,叢集308、叢集303與叢集310),且將對應此3個叢集的3個顏色(即,顏色C8、顏色C3與顏色C10)設為預測編碼單元區塊200的3個顏色,在此,所選出的3個顏色所對應的畫素是分別屬於叢集308、叢集303與叢集310。
請參照圖3B,倘若顏色設定模組114根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群至同一個叢集內後獲得5個叢集(即,叢集321、叢集322、叢集323、叢集324與叢集325),由於5個叢集僅會對應至5個顏色,因此,所獲得之顏色的數目小於上述預定候選顏色數目(即,“10”)。特別是,在此範例實施例中,顏色設定模組114僅會依據此5個叢集之中每一叢集的畫素的數量由多到少依序地排列此5個叢集以獲得排序330。類似地,顏色設定模組114會根據排序330獲得候選顏色對照表340以記錄選擇不同數目之顏色的情況。之後,顏色設定模組114亦會一一的計算選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的代價值以獲得具有最小代價值的數目及其對應的顏色來預測編碼單元區塊200的畫素。值得一提的是,在本揭露中,預定候選顏色數目即代表在鄰近區塊多顏色預測模式中具有幾組顏色模式可用來作為預測編碼單元區塊200之畫素的顏色。然而,本揭露並不加以限制預定候選顏色數目的大小,例如,在另一範例實施例中,預定候選顏色數目的大小可以是小於10或大於10的其他數目。
圖4是根據本揭露另一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。
請參照圖4,在此範例實施例中,從鄰近範圍選出對應N個畫素的N個顏色的編碼操作是類似於圖3A與圖3B所示的方法,不同之處在於,倘若顏色設定模組114根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群至同一個叢集內後所獲得之M個叢集的叢集數目小於上述預定候選顏色數目時,顏色設定模組114會從對應編碼單元區塊200的調色盤顏色預測表40中選擇P個顏色作為P個叢集,以使得(M+P)等於所述預定候選顏色數目。具體而言,在顏色設定模組114根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群為叢集321、叢集322、叢集323叢集324與叢集325的例子中,由於對應至5個叢集的5個顏色的數目小於預定候選顏色數目(例如,“10”),因此,顏色設定模組114會從對應編碼單元區塊200的調色盤顏色預測表40中依序選擇顏色P1、顏色P2、顏色P3、顏色P4與顏色P5。在此,調色盤顏色預測表40中的顏色是來自於已經編碼的編碼單元區塊使用調色盤模式編碼所產生的顏色。
之後,顏色設定模組114會依據5個叢集之中每一叢集的畫素的數量由多到少依序地排列此5個叢集所分別對應的顏色C1~C5,且將顏色P1、顏色P2、顏色P3、顏色P4與顏色P5排列於顏色C1~C5之後以獲得排序400。類似地,顏色設定模組114會根據排序400獲得候選顏色對照表410以記錄選擇不同數目之顏色的情況。之後,顏色設定模組114亦會一一的計算選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的代價值以獲得具有最小代價值的數目及其對應的顏色來預測編碼單元區塊200的畫素。值得注意的是,本揭露亦不加以限制用以填塞排序400以使得其中顏色個數等於所述預定候選顏色數目的顏色,例如,在另一範例實施例中,是使用預設值來填塞排序400,所述預設值例如是其畫素值為128或256的顏色。
圖5是根據本揭露又另一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。
請參照圖5,在此範例實施例中,從鄰近範圍210選出對應N個畫素的N個顏色的編碼操作是類似於圖3A與圖3B所示的方法,不同之處在於,在顏色設定模組114根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群至同一個叢集以獲得M個叢集後,顏色設定模組114會依據此M個叢集之中每一叢集的畫素的數量從M個叢集之中僅選出1個叢集,特別是,此1個叢集的畫素的數量大於M個叢集之中的其他叢集的畫素的數量。具體而言,當顏色設定模組114根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群至同一個叢集內且獲得10個叢集後,顏色設定模組114僅會選出其畫素的數量最多的1個叢集308。在此,對應叢集308之顏色以外的其他顏色亦是從鄰近範圍210中選出,且對應叢集308之顏色以外的其他顏色的排列順序是依據從鄰近範圍210取樣此些顏色之方向而獲得的。例如,請再參照圖2,在一範例實施例中,顏色設定模組114沿著第一方向502對鄰近範圍210內的畫素進行取樣所獲得之畫素所對應的顏色依序分別為顏色C1、顏色C2、顏色C3與顏色C4,而沿著第二方向504對鄰近範圍210內的畫素進行取樣所獲得之畫素所對應的顏色依序分別為顏色C5、顏色C6、顏色C7、顏色C9與顏色C10。據此,顏色設定模組114會根據此些顏色所獲得的順序將顏色C1、顏色C2、顏色C3、顏色C4、顏色C5、顏色C6、顏色C7、顏色C9與顏色C10填塞至排序500。然而,本揭露並不加以限制顏色設定模組114取樣的方向與沿著此些方向取樣的先後順序,例如,在另一範例實施例中,顏色設定模組114可先沿著第二方向504取樣,再沿著第一方向502取樣。
之後,顏色設定模組114會根據排序500獲得候選顏色對照表510以記錄選擇不同數目之顏色的情況,並且一一的計算選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的代價值以獲得具有最小代價值的畫素及其對應的顏色來預測編碼單元區塊200的畫素。
在透過上述圖2、圖3A~圖3B、圖4與圖5所示顏色設定模組114從鄰近範圍210選出對應N個畫素的N個顏色的多個方法的其中之一以獲得預測編碼單元區塊200之畫素的一個或多個顏色後,顏色設定模組114會將對應編碼單元區塊200的第二旗標設定為此一個或多個顏色的數目。例如,以圖3A為例,顏色設定模組114對候選顏色對照表320中的10組顏色分別進行代價值運算所獲得的一組最佳的顏色為顏色C8、顏色C3與顏色C10,因此,顏色設定模組114會將對應編碼單元區塊200的第二旗標設定為“3”。由於所選出的3個顏色皆為不同的顏色,且分別對應至3個畫素,因此,對編碼單元區塊200中的每一畫素進行索引編號時,編碼模組116是將編碼單元區塊200中的每一畫素的顏色以此3個畫素的索引值來表示。
圖6是根據本揭露一範例實施例所繪示的建立索引地圖的一個範例。
請參照圖6,在編碼模組116欲將編碼單元區塊200中的每一畫素的顏色以3個畫素的索引值來表示時,亦即,編碼單元區塊200的第二旗標設為“3”時,編碼模組116即可根據對應此3個畫素的索引值(即,0、1、2)對編碼單元區塊200中的每一畫素進行索引編號以產生索引地圖600。換言之,在索引地圖600中編碼單元區塊200的每一畫素的顏色是以對應此3個畫素的索引值(即,0、1、2)來呈現。特別是,在本範例實施例中,假設編碼單元區塊200的大小為4×4,因此,索引地圖600中對應編碼單元區塊200的每一畫素的索引值是以4×4矩陣形式排列。由於所設定的第二旗標的值大於1,因此,編碼模組116會傳送編碼單元區塊200的每一畫素所對應的索引值至解碼器120,並且在解碼器120接收編碼模組116所傳送對應編碼單元區塊200的第一旗標、對應編碼單元區塊200的第二旗標與編碼單元區塊200的每一畫素所對應的索引值的同時,解碼模組128會根據編碼單元區塊200的每一畫素所對應的索引值(即,0、1、2)重建對應編碼單元區塊200的索引地圖600。
在另一範例實施例中,以圖3A為例,假設顏色設定模組114對候選顏色對照表320中的10組顏色分別進行代價值運算所獲得的一組最佳的顏色為顏色C8,則顏色設定模組114會將對應編碼單元區塊200的第二旗標設定為“1”。由於所選出的1個顏色對應至1個畫素,因此,對編碼單元區塊200中的每一畫素進行索引編號時,編碼模組116是將編碼單元區塊200中的每一畫素的顏色皆以此1個畫素的索引值(例如,0)來表示。因此,當顏色設定模組114所選出的一組顏色中僅有1個顏色時,編碼模組116不必傳送此編碼單元區塊200的每一畫素的顏色所對應的索引值至解碼器120,以減少編碼運算中不必要的傳輸。
圖7是根據本揭露一範例實施例所繪示的編碼方法的流程圖。
請參照圖7,在步驟S701中,編碼器110設定對應編碼單元區塊200的第一旗標的狀態值。
在步驟S703中,編碼器110判斷第一旗標的狀態值符合預定狀態值時,在編碼單元區塊200的鄰近範圍210內的多個畫素中選出對應N個畫素的N個顏色,且將對應編碼單元區塊200的第二旗標設定為對應N個畫素的N個顏色的數目,其中N個顏色皆不相同且N為正整數。
在步驟S705中,編碼器110對編碼單元區塊200中的每一畫素進行索引編號以使得編碼單元區塊200中的每一畫素的顏色是以所述N個畫素的索引值來表示。
在步驟S707中,編碼器110傳送對應編碼單元區塊200的第一旗標至解碼器120,且在第一旗標的狀態值符合預定狀態值時,傳送對應編碼單元區塊210的第二旗標與編碼單元區塊200的每一畫素所對應的索引值至解碼器120。
然而,圖7中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖7中各步驟可以實作為多個程式碼或是電路,本揭露不加以限制。此外,圖7的方法可以搭配以上範例實施例使用,也可以單獨使用,本揭露不加以限制。值得注意的是,圖7的編碼方法亦可稱為鄰近區塊多顏色預測模式,其是利用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來預測目前正在編碼的編碼單元區塊的畫素,特別是,在上述的範例實施例中,鄰近區塊多顏色預測模式是獨立於螢幕視訊內容編碼的其他編碼模式,舉例而言,螢幕視訊內容編碼的編碼模式包括調色盤模式與畫面內區塊複製模式等編碼模式,編碼器110會根據對應不同模式的旗標而進入所述旗標對應的編碼模式。換言之,當編碼器110收到致能調色盤模式的旗標時,編碼器110會在調色盤模式下執行編碼操作,而當編碼器110收到致能鄰近區塊多顏色預測模式的第一旗標時(即,第一旗標符合預定狀態值時),編碼器110會在鄰近區塊多顏色預測模式下執行編碼操作。然而,本揭露並不限於此,例如,在另一範例實施例中,編碼器110會在螢幕視訊內容編碼的特定編碼模式下,執行上述鄰近區塊多顏色預測模式。也就是說,編碼器110可以在調色盤模式下根據第一旗標的狀態值,而決定是否使用鄰近區塊多顏色預測模式執行編碼操作。
在本範例實施例中,由於第一旗標用以指示是否致能鄰近區塊多顏色預測模式,因此,當解碼器120的接收模組122從編碼模組116接收到對應編碼單元區塊200的第一旗標,旗標狀態判定模組124會判斷對應編碼單元區塊200的第一旗標的狀態值,並且在旗標狀態判定模組124判斷第一旗標的狀態值符合預定狀態值時,接收模組122才會繼續接收從編碼模組116傳來的第二旗標與編碼單元區塊200的每一畫素所對應的索引值。之後,由於第一旗標的狀態值符合預定狀態值,因此,顏色設定模組126會讀取接收模組122所接收的對應編碼單元區塊200的第二旗標與編碼單元區塊的每一畫素所對應的索引值,以執行利用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來預測並重建目前正在編碼的編碼單元區塊的畫素的解碼操作。
在解碼操作中,解碼器120會根據從編碼器110所接收資訊來重建編碼單元區塊200的畫素。例如,當旗標狀態判定模組124判定第一旗標符合預定狀態值時,顏色設定模組126會根據所接收的第二旗標在編碼單元區塊200的鄰近範圍210內的多個畫素中選出對應N個畫素的N個顏色以做為重建編碼單元區塊200之畫素的N個顏色。在本範例實施例中,顏色設定模組126從鄰近範圍210選出對應N個畫素的N個顏色以獲得重建編碼單元區塊200之畫素的一個或多個顏色的方法是類似於上述圖2、圖3A~圖3B、圖4與圖5所示的多個方法的其中之一,在此不再重述。不同之處在於,解碼器120的顏色設定模組126是根據第二旗標所指示的對應N個畫素的N個顏色的數目以快速地選出用以重建編碼單元區塊200之畫素的N個顏色,而不需一一的計算選擇不同數目之顏色的情況下,此些顏色所對應之畫素分別與編碼單元區塊200之間的代價值。
以圖3A與圖6為例,顏色設定模組126根據鄰近範圍210內之畫素的畫素值將顏色相同的畫素分群至同一個叢集內後獲得10個叢集(即,叢集301、叢集302、叢集303、叢集304、叢集305、叢集306、叢集307、叢集308、叢集309與叢集310),並且依據此10個叢集之中每一叢集的畫素的數量由多到少依序地排列此10個叢集以獲得排序300。特別是,在編碼器110的顏色設定模組114將對應編碼單元區塊200的第二旗標設定為“3”的例子中,解碼器120的顏色設定模組126會根據由編碼器110所接收的第二旗標,而直接從排序300中依序地選出對應3個畫素的3個顏色,即,顏色C8、顏色C3與顏色C10,並將此3個顏色作為用以重建編碼單元區塊200之畫素的顏色。舉例而言,在解碼模組128重建編碼單元區塊200之畫素的操作中,由於第二旗標指示用以重建編碼單元區塊200之畫素的顏色的數目為3且此數目大於1,因此,接收模組122會接收編碼單元區塊200的每一畫素所對應的索引值(即,0、1、2),且解碼模組128會根據從接收模組122中所讀取的編碼單元區塊200的每一畫素所對應的索引值重建對應編碼單元區塊的索引地圖600。此後,解碼模組128可再根據索引地圖600與對應上述3個畫素的3個顏色(即,顏色C8、顏色C3與顏色C10)重建編碼單元區塊200的多個畫素。
在另一範例實施例中,在編碼器110的顏色設定模組114將對應編碼單元區塊200的第二旗標設定為“1”的例子中,編碼單元區塊200中的每一畫素的顏色皆會以相同的索引值(例如,0)來表示,因此,編碼模組116不需要一一傳送編碼單元區塊200的每一畫素的顏色所對應的索引值至解碼器120,而解碼器120的顏色設定模組126僅需根據由編碼器110所接收的第二旗標,而直接從排序300中依序地選出對應1個畫素的1個顏色,即,顏色C8,並將此1個顏色作為用以重建編碼單元區塊200之畫素的顏色。此後,解碼模組128即會使用此1個顏色(即,顏色C8)重建編碼單元區塊200的多個畫素。
圖8是根據本揭露一範例實施例所繪示的解碼方法的流程圖。
請參照圖8,在步驟S801中,解碼器120接收對應編碼單元區塊200的第一旗標。
在步驟S803中,解碼器120判斷第一旗標的狀態值符合預定狀態值時,接收並讀取對應編碼單元區塊200的第二旗標與編碼單元區塊200的每一畫素所對應的索引值,且根據第二旗標在編碼單元區塊200的鄰近範圍210內的多個畫素中選出對應N個畫素的N個顏色,其中第二旗標指示對應N個畫素的N個顏色的數目且N個顏色皆不相同,其中N為正整數。
在步驟S805中,解碼器120根據對應N個畫素的N個顏色重建編碼單元區塊200的畫素。
然而,圖8中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖8中各步驟可以實作為多個程式碼或是電路,本揭露不加以限制。此外,圖8的方法可以搭配以上範例實施例使用,也可以單獨使用,本揭露不加以限制。值得注意的是,圖8的解碼方法亦可稱為鄰近區塊多顏色預測模式,其是利用目前正在編碼的編碼單元區塊的鄰近範圍內之畫素的一個或多個顏色來重建目前正在解碼的編碼單元區塊的畫素,特別是,在上述的範例實施例中,鄰近區塊多顏色預測模式是獨立於螢幕視訊內容編碼的其他編碼模式,舉例而言,螢幕視訊內容編碼的編碼模式包括調色盤模式、畫面內區塊複製模式等編碼模式,解碼器120會根據對應不同模式的旗標而進入所述旗標對應的編碼模式。換言之,當解碼器120收到致能調色盤模式的旗標時,解碼器120會在調色盤模式下執行解碼操作,而當解碼器120收到致能鄰近區塊多顏色預測模式的第一旗標時(即,第一旗標符合預定狀態值時),解碼器120會在鄰近區塊多顏色預測模式下執行解碼操作。然而,本揭露並不限於此,例如,在另一範例實施例中,解碼器120會在螢幕視訊內容編碼的特定編碼模式下,執行上述鄰近區塊多顏色預測模式。也就是說,解碼器120可以在調色盤模式下根據第一旗標的狀態值,而決定是否使用鄰近區塊多顏色預測模式執行解碼操作。
圖9A~圖9C是根據本揭露一範例實施例所繪示的解碼的程式碼。
請參照圖9A,在解碼操作中,解碼器120可以根據圖9A所示的程式碼中的方程式來決定是否使用鄰近區塊多顏色預測模式來進行解碼。其中參數“CU-level flag”對應至本揭露上述的第一旗標,並且用以指示是否致能鄰近區塊多顏色預測模式,而參數“intra_bc_flag”、“pred_mode_flag”與“palette_mode_flag”分別對應至用以致能畫面內區塊複製模式、預測模式與調色盤模式的旗標。例如,當“CU-level flag”的值被設為1時,解碼器120會使用鄰近區塊多顏色預測模式對目前欲進行解碼之畫面進行解碼的操作,反之,當“CU-level flag”的值不為1時,解碼器120會根據參數“intra_bc_flag”、“pred_mode_flag”或“palette_mode_flag”而執行畫面內區塊複製模式、預測模式或調色盤模式的操作。特別是,在圖9A的例子中,鄰近區塊多顏色預測模式是獨立於螢幕視訊內容編碼的其他編碼模式。
請參照圖9B,類似地,在圖9B的例子中,鄰近區塊多顏色預測模式亦是獨立於螢幕視訊內容編碼的其他編碼模式,例如,解碼器120會根據參數“intra_bc_flag”、“pred_mode_flag”、“palette_mode_flag”與“CU-level flag”而執行畫面內區塊複製模式、預測模式、調色盤模式或鄰近區塊多顏色預測模式的其中之一。
請參照圖9C,在此例子中,解碼器120會根據參數“intra_bc_flag”、“pred_mode_flag”或“palette_mode_flag”而執行畫面內區塊複製模式、預測模式或調色盤模式的操作。特別是,當解碼器120使用調色盤模式進行解碼操作時,解碼器120會更進一步的判斷參數“CU-level flag”的值來決定是否致能鄰近區塊多顏色預測模式。換言之,在圖9C的例子中,解碼器120是在螢幕視訊內容編碼的調色盤模式下,執行鄰近區塊多顏色預測模式,亦即,本揭露的鄰近區塊多顏色預測模式可以是螢幕視訊內容編碼的任一個模式下的編解碼模式。根據上述可知,本揭露並不加以限制鄰近區塊多顏色預測模式執行的時間點,其可以獨立於螢幕視訊內容編碼的其他編碼模式,或是螢幕視訊內容編碼的任一個模式下的特例,此外,圖9A~圖9C僅為本揭露一範例程式碼,而非用以限制本揭露。
圖10是根據本揭露一範例實施例所繪示的編解碼的測試結果示意圖。
請參照圖10,為了評估本揭露所提出的編碼方法與解碼方法,根據JCT-VC標準組織核心實驗所規範的實驗環境下,將本揭露實作於所述組織所提供的參考軟體中,並比較AllIntra-lossy(全靜態編碼-失真)壓縮模式的結果。而被測試的視訊格式有YUV格式和RGB格式兩種,總共26個測試視訊檔案。此26個測試的視訊檔案根據視訊內容的不同及格式的不同可以分成12種類別,此12種類別即為圖10中的左邊第一欄中的說明。這12種類別中,“text & graphics with motion”是SCC較常遇到的視訊應用,其內容大多為簡報、軟體呈現等SCC常見應用,而“mixed content”則是包含SCC常用的視訊應用與HEVC常見的自然影像之應用,而“animation”則是動畫視訊,其中“animation”的應用較少用於SCC環境。這些視訊類別根據大小又區分成720p,1080p和1440p三種。在此,所呈現的數據都是BDrate,BDrate是JCT-VC標準組織通用習知的視訊品質的客觀評比量測方法,當數據小於零且越小表示相同位元率(bitrate)的視覺品質越好。
具體來說,圖10所示的測試結果為顏色設定模組114執行從鄰近範圍210選出對應N個畫素的N個顏色之多個方法所對應的效能,其中“Text 1”是對應本揭露圖3A~圖3B之實施例的BDrate效能、“Text 2”是對應本揭露圖4之實施例的BDrate效能,而“Text 3”是對應本揭露圖5之實施例的BDrate效能。由數據結果可發現,本揭露所提的做法相較目前標準之作法,在複雜度幾乎不改變的情況下,即可有很大的效能提升,此三個實施例的效能分別最大可達到0.7~1.0%、0.8~1.0%與0.7~1.0%的提升。
綜上所述,本揭露之範例實施例所提出的編碼方法與解碼方法以及使用此方法的編解碼系統、編碼器與解碼器藉由所設定的旗標指示鄰近範圍中用以預測並重建目前編碼單元區塊之畫素的個數及其對應的顏色,由此能夠節省傳輸位元並有效地減少編碼運算時的傳輸量,進而提升螢幕視訊編碼的效能。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧編解碼晶片
110‧‧‧編碼器
120‧‧‧解碼器
100a、110a、120a‧‧‧儲存電路
100b、110b、120b‧‧‧處理器電路
112‧‧‧旗標設定模組
114、126‧‧‧顏色設定模組
116‧‧‧編碼模組
122‧‧‧接收模組
124‧‧‧旗標狀態判定模組
128‧‧‧解碼模組
200、202、204、206‧‧‧編碼單元區塊
210‧‧‧鄰近範圍
222、224、226‧‧‧區塊
301、302、303、304、305、306、307、308、309、310、321、322、323、324、325‧‧‧叢集
300、330、400、500‧‧‧排序
320、340、410、510‧‧‧候選顏色對照表
40‧‧‧調色盤顏色預測表
600‧‧‧索引地圖
502、504‧‧‧方向
S701、S703、S705、S707‧‧‧編碼方法的步驟
S801、S803、S805‧‧‧解碼方法的步驟
C0、C1、C2、C3、C4、C5、C6、C7、C8、C9、C10‧‧‧顏色
110‧‧‧編碼器
120‧‧‧解碼器
100a、110a、120a‧‧‧儲存電路
100b、110b、120b‧‧‧處理器電路
112‧‧‧旗標設定模組
114、126‧‧‧顏色設定模組
116‧‧‧編碼模組
122‧‧‧接收模組
124‧‧‧旗標狀態判定模組
128‧‧‧解碼模組
200、202、204、206‧‧‧編碼單元區塊
210‧‧‧鄰近範圍
222、224、226‧‧‧區塊
301、302、303、304、305、306、307、308、309、310、321、322、323、324、325‧‧‧叢集
300、330、400、500‧‧‧排序
320、340、410、510‧‧‧候選顏色對照表
40‧‧‧調色盤顏色預測表
600‧‧‧索引地圖
502、504‧‧‧方向
S701、S703、S705、S707‧‧‧編碼方法的步驟
S801、S803、S805‧‧‧解碼方法的步驟
C0、C1、C2、C3、C4、C5、C6、C7、C8、C9、C10‧‧‧顏色
圖1A是根據本揭露一範例實施例所繪示的編碼器。 圖1B是根據本揭露一範例實施例所繪示的解碼器。 圖1C是根據本揭露一範例實施例所繪示的編解碼晶片。 圖2是根據本揭露一範例實施例所繪示的編碼單元區塊之鄰近範圍示意圖。 圖3A~圖3B是根據本揭露一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。 圖4是根據本揭露另一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。 圖5是根據本揭露又另一範例實施例所繪示的從鄰近範圍選出對應N個畫素的N個顏色的範例示意圖。 圖6是根據本揭露一範例實施例所繪示的建立索引地圖的一個範例。 圖7是根據本揭露一範例實施例所繪示的編碼方法的流程圖。 圖8是根據本揭露一範例實施例所繪示的解碼方法的流程圖。 圖9A~圖9C是根據本揭露一範例實施例所繪示的解碼的程式碼。 圖10是根據本揭露一範例實施例所繪示的編解碼的測試結果示意圖。
S801、S803、S805‧‧‧解碼方法的步驟
Claims (45)
- 一種解碼器,包括: 一儲存電路,記錄多個模組;以及 一處理器電路,連接該儲存電路,用以存取該儲存電路並透過該些模組執行一鄰近區塊多顏色預測模式,該些模組包括: 一接收模組,接收對應一編碼單元區塊的一第一旗標; 一旗標狀態判定模組,判斷對應該編碼單元區塊的該第一旗標的狀態值,其中當該第一旗標的狀態值符合一預定狀態值時,該接收模組更用以接收對應該編碼單元區塊的一第二旗標與該編碼單元區塊的每一畫素所對應的索引值; 一顏色設定模組,用以當該第一旗標的狀態值符合該預定狀態值時,讀取該接收模組所接收的對應該編碼單元區塊的該第二旗標與該編碼單元區塊的每一畫素所對應的索引值,且根據該第二旗標在該編碼單元區塊的一鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中該第二旗標指示對應該N個畫素的N個顏色的數目且該N個顏色皆不相同,其中N為正整數;以及 一解碼模組,根據對應該N個畫素的該N個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第1項所述的解碼器,其中該處理器電路更用以在該第一旗標的狀態值不符合該預定狀態值時,根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,而執行該些特定編碼模式的其中之一, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第1項所述的解碼器,其中該處理器電路更用以根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,而執行該些特定編碼模式的其中之一, 其中該處理器電路更用以在該螢幕視訊內容編碼的該些特定編碼模式的其中之一的模式下,透過該些模組執行上述鄰近區塊多顏色預測模式, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第1項所述的解碼器,其中當該旗標狀態判定模組判斷該第二旗標指示對應該N個畫素的該N個顏色的數目大於1時,該接收模組接收該編碼單元區塊的每一畫素所對應的索引值,且該解碼模組根據該編碼單元區塊的每一畫素所對應的索引值重建對應該編碼單元區塊的一索引地圖,且根據對應該N個畫素的該N個顏色與該索引地圖重建該編碼單元區塊的該些畫素, 其中當該旗標狀態判定模組判斷該第二旗標指示該N個畫素的該N個顏色的數目等於1時,該接收模組略過接收該編碼單元區塊的每一畫素所對應的索引值,且該解碼模組僅根據對應該第二旗標所指示的1個畫素的1個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第1項所述的解碼器,其中該鄰近範圍包括鄰近於該編碼單元區塊的至少一另一編碼單元區塊中鄰近於該編碼單元區塊的畫素,其中該至少一另一編碼單元區塊包括鄰近於該編碼單元區塊上邊緣的編碼單元區塊、鄰近於該編碼單元區塊左邊緣的編碼單元區塊與鄰近於該編碼單元區塊左上角的編碼單元區塊。
- 如申請專利範圍第1項所述的解碼器,其中該顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序, 其中該顏色設定模組更用以根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第1項所述的解碼器,其中顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中倘若M小於一預定候選顏色數目時,該顏色設定模組更用以從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集,且將該P個叢集排列於該M個叢集之後以獲得一排序, 其中該顏色設定模組更用以根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第1項所述的解碼器,其中該顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量, 其中該顏色設定模組更用以根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序, 其中該顏色設定模組更用以根據該排序從該1個叢集與該Q個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 一種編碼器,包括: 一儲存電路,記錄多個模組;以及 一處理器電路,連接該儲存電路,用以存取該儲存電路並透過該些模組執行一鄰近區塊多顏色預測模式,該些模組包括: 一旗標設定模組,設定對應一編碼單元區塊的一第一旗標的狀態值; 一顏色設定模組,用以在該第一旗標的狀態值符合一預定狀態值時,在該編碼單元區塊的一鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中該旗標設定模組更用以將對應該編碼單元區塊的一第二旗標設定為對應該N個畫素的該N個顏色的數目,其中該N個顏色皆不相同,且N為正整數;以及 一編碼模組,用以對該編碼單元區塊中的每一畫素進行索引編號以使得該編碼單元區塊中的每一畫素的顏色是以該N個畫素的索引值來表示, 其中該編碼模組更用以傳送對應該編碼單元區塊的該第一旗標至一解碼器,且在該第一旗標的狀態值符合該預定狀態值時,該編碼模組傳送對應該編碼單元區塊的該第二旗標與該編碼單元區塊的每一畫素所對應的索引值至該解碼器。
- 如申請專利範圍第9項所述的編碼器,其中該處理器電路更用以在該第一旗標的狀態值不符合該預定狀態值時,根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第9項所述的編碼器,其中該處理器電路更用以根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該處理器電路更用以在該螢幕視訊內容編碼的該些特定編碼模式的其中之一的模式下,透過該些模組執行上述鄰近區塊多顏色預測模式, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第9項所述的編碼器,其中當該N個畫素的該N個顏色的數目大於1時,該編碼模組根據該編碼單元區塊的每一畫素的顏色所對應的索引值產生一索引地圖且傳送該編碼單元區塊的每一畫素所對應的索引值至該解碼器,其中在該索引地圖中該編碼單元區塊的每一畫素的顏色是以對應該N個畫素的索引值來呈現, 其中當該N個畫素的該N個顏色的數目等於1時,該編碼模組不傳送該編碼單元區塊的每一畫素的顏色所對應的索引值至該解碼器。
- 如申請專利範圍第9項所述的編碼器,其中該鄰近範圍包括鄰近於該編碼單元區塊的至少一另一編碼單元區塊中鄰近於該編碼單元區塊的畫素,其中該至少一另一編碼單元區塊包括鄰近於該編碼單元區塊上邊緣的編碼單元區塊、鄰近於該編碼單元區塊左邊緣的編碼單元區塊與鄰近於該編碼單元區塊左上的角編碼單元區塊。
- 如申請專利範圍第9項所述的編碼器,其中該顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序, 其中該顏色設定模組更用以根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第9項所述的編碼器,其中該顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中倘若M小於一預定候選顏色數目時,該顏色設定模組更用以從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集,且將該P個叢集排列於該M個叢集之後以獲得一排序, 其中該顏色設定模組更用以根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第9項所述的編碼器,其中該顏色設定模組更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該顏色設定模組更用以依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量, 其中該顏色設定模組更用以根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序, 其中該顏色設定模組更用以根據該排序從該1個叢集與該Q個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 一種解碼方法,適用於具有多個畫素的一編碼單元區塊,該解碼方法包括: (a)接收對應該編碼單元區塊的一第一旗標; (b)判斷該第一旗標的狀態值符合一預定狀態值時,接收並讀取對應該編碼單元區塊的一第二旗標與該編碼單元區塊的每一畫素所對應的索引值,且根據該第二旗標在該編碼單元區塊的一鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中該第二旗標指示對應該N個畫素的N個顏色的數目且該N個顏色皆不相同,其中N為正整數;以及 (c)根據對應該N個畫素的該N個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第17項所述的解碼方法,更包括: 在該第一旗標的狀態值不符合該預定狀態值時,根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第17項所述的解碼方法,更包括: 根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一;以及 在該螢幕視訊內容編碼的該些特定解碼模式的其中之一的模式下,執行上述步驟(a)~(c), 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第17項所述的解碼方法,其中根據該N個畫素的該N個顏色重建該編碼單元區塊的該些畫素的步驟包括: 當該第二旗標指示對應該N個畫素的該N個顏色的數目大於1時,接收該編碼單元區塊的每一畫素所對應的索引值,且根據該編碼單元區塊的每一畫素所對應的索引值重建對應該編碼單元區塊的一索引地圖,且根據對應該N個畫素的該N個顏色與該索引地圖重建該編碼單元區塊的該些畫素;以及 當該第二旗標指示該N個畫素的該N個顏色的數目等於1時,略過接收該編碼單元區塊的每一畫素所對應的索引值的步驟,且僅根據對應該第二旗標所指示的1個畫素的1個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第17項所述的解碼方法,其中該鄰近範圍包括鄰近於該編碼單元區塊的至少一另一編碼單元區塊中鄰近於該編碼單元區塊的畫素,其中該至少一另一編碼單元區塊包括鄰近於該編碼單元區塊上邊緣的編碼單元區塊、鄰近於該編碼單元區塊左邊緣的編碼單元區塊與鄰近於該編碼單元區塊左上的角編碼單元區塊。
- 如申請專利範圍第17項所述的解碼方法,其中根據該第二旗標在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的該N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序;以及 根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第17項所述的解碼方法,其中根據該第二旗標在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的該N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 倘若M小於一預定候選顏色數目時,從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同; 依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集,且將該P個叢集排列於該M個叢集之後以獲得一排序;以及 根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第17項所述的解碼方法,其中根據該第二旗標在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的該N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量; 根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序;以及 根據該排序從該1個叢集與該Q個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 一種編碼方法,適用於具有多個畫素的一編碼單元區塊,該編碼方法包括: (a)設定對應該編碼單元區塊的一第一旗標的狀態值; (b)判斷該第一旗標的狀態值符合一預定狀態值時,在該編碼單元區塊的一鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,且將對應該編碼單元區塊的一第二旗標設定為對應該N個畫素的該N個顏色的數目,其中該N個顏色皆不相同且N為正整數; (c)對該編碼單元區塊中的每一畫素進行索引編號以使得該編碼單元區塊中的每一畫素的顏色是以該N個畫素的索引值來表示;以及 (d)傳送對應該編碼單元區塊的該第一旗標至一解碼端,且在該第一旗標的狀態值符合該預定狀態值時,傳送對應該編碼單元區塊的該第二旗標與該編碼單元區塊的每一畫素所對應的索引值至該解碼端。
- 如申請專利範圍第25項所述的編碼方法,更包括: 在該第一旗標的狀態值不符合該預定狀態值時,根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第25項所述的編碼方法,更包括: 根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,而執行該些特定編碼模式的其中之一;以及 在一螢幕視訊內容編碼的該些特定編碼模式的其中之一的模式下,執行上述步驟(a)~(d), 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第25項所述的編碼方法,更包括: 當該N個畫素的該N個顏色的數目大於1時,根據該編碼單元區塊的每一畫素的顏色所對應的索引值產生一索引地圖且傳送該編碼單元區塊的每一畫素所對應的索引值至該解碼端,其中在該索引地圖中該編碼單元區塊的每一畫素的顏色是以對應該N個畫素的索引值來呈現;以及 當該N個畫素的該N個顏色的數目等於1時,不傳送該編碼單元區塊的每一畫素的顏色所對應的索引值至該解碼端。
- 如申請專利範圍第25項所述的編碼方法,其中該鄰近範圍包括鄰近於該編碼單元區塊的至少一另一編碼單元區塊中鄰近於該編碼單元區塊的畫素,其中該至少一另一編碼單元區塊包括鄰近於該編碼單元區塊上邊緣的編碼單元區塊、鄰近於該編碼單元區塊左邊緣的編碼單元區塊與鄰近於該編碼單元區塊左上的角編碼單元區塊。
- 如申請專利範圍第25項所述的編碼方法,其中在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序;以及 根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第25項所述的編碼方法,其中在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 倘若M小於一預定候選顏色數目時,從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同; 依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集,且將該P個叢集排列於該M個叢集之後以獲得一排序;以及 根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第25項所述的編碼方法,其中在該編碼單元區塊的該鄰近範圍內的該些畫素中選出對應該N個畫素的N個顏色的步驟包括: 根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數; 依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量; 根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序;以及 根據該排序從該1個叢集與該Q個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 一種編解碼系統,用以執行適用於影像及視訊壓縮的一鄰近區塊多顏色預測模式,該編解碼系統包括: 一編碼器,用以設定對應該編碼單元區塊的一第一旗標的狀態值;以及 一解碼器, 其中該編碼器更用以在該第一旗標的狀態值符合一預定狀態值時,在該編碼單元區塊的一鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,且將對應該編碼單元區塊的一第二旗標設定為對應該N個畫素的該N個顏色的數目,其中該N個顏色皆不相同,且N為正整數, 其中該編碼器更用以對該編碼單元區塊中的每一畫素進行索引編號以使得該編碼單元區塊中的每一畫素的顏色是以該N個畫素的索引值來表示, 其中該編碼器更用以傳送對應該編碼單元區塊的該第一旗標至該解碼器,且在該第一旗標的狀態值符合該預定狀態值時,該編碼器傳送對應該編碼單元區塊的該第二旗標與該編碼單元區塊的每一畫素所對應的索引值至該解碼器。
- 如申請專利範圍第33項所述的編解碼系統,其中該解碼器接收對應該編碼單元區塊的該第一旗標,且判斷對應該編碼單元區塊的該第一旗標的狀態值, 其中該解碼器更用以當該第一旗標符合一預定狀態值時,接收並讀取從該編碼器所接收的對應該編碼單元區塊的該第二旗標與該編碼單元區塊的每一畫素所對應的索引值,且根據該第二旗標在該編碼單元區塊的該鄰近範圍內的多個畫素中選出對應N個畫素的N個顏色,其中該第二旗標指示對應該N個畫素的N個顏色的數目且該N個顏色皆不相同,其中N為正整數, 其中該解碼器更用以根據對應該N個畫素的該N個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第34項所述的編解碼系統,其中該編解碼系統在該第一旗標的狀態值不符合該預定狀態值時,根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第34項所述的編解碼系統,其中該編解碼系統根據一螢幕視訊內容編碼的多個特定編碼模式的多個編碼旗標,執行該些特定編碼模式的其中之一, 其中該編解碼系統更用以在該螢幕視訊內容編碼的該些特定編碼模式的其中之一的模式下,執行上述鄰近區塊多顏色預測模式, 其中該特定編碼模式包括一畫面內區塊複製模式、一預測模式以及一調色盤模式。
- 如申請專利範圍第33項所述的編解碼系統,其中當該N個畫素的該N個顏色的數目大於1時,該編碼器根據該編碼單元區塊的每一畫素的顏色所對應的索引值產生一索引地圖且傳送該編碼單元區塊的每一畫素所對應的索引值至該解碼器,其中在該索引地圖中該編碼單元區塊的每一畫素的顏色是以對應該N個畫素的索引值來呈現, 其中當該N個畫素的該N個顏色的數目等於1時,該編碼器不傳送該編碼單元區塊的每一畫素的顏色所對應的索引值至該解碼器。
- 如申請專利範圍第34項所述的編解碼系統,其中當該解碼器判斷該第二旗標指示對應該N個畫素的該N個顏色的數目大於1時,該解碼器更用以接收該編碼單元區塊的每一畫素所對應的索引值,且根據該編碼單元區塊的每一畫素所對應的索引值重建對應該編碼單元區塊的一索引地圖,且根據對應該N個畫素的該N個顏色與該索引地圖重建該編碼單元區塊的該些畫素, 其中當該解碼器判斷該第二旗標指示該N個畫素的該N個顏色的數目等於1時,該解碼器略過接收該編碼單元區塊的每一畫素所對應的索引值,且僅根據對應該第二旗標所指示的1個畫素的1個顏色重建該編碼單元區塊的該些畫素。
- 如申請專利範圍第33項所述的編解碼系統,其中該鄰近範圍包括鄰近於該編碼單元區塊的至少一另一編碼單元區塊中鄰近於該編碼單元區塊的畫素,其中該至少一另一編碼單元區塊包括鄰近於該編碼單元區塊上邊緣的編碼單元區塊、鄰近於該編碼單元區塊左邊緣的編碼單元區塊與鄰近於該編碼單元區塊左上的角編碼單元區塊。
- 如申請專利範圍第33項所述的編解碼系統,其中該編碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該編碼器更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序, 其中該編碼器更用以根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第33項所述的編解碼系統,其中該編碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中倘若M小於一預定候選顏色數目時,該編碼器更用以從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同, 其中該編碼器更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集,且將該P個叢集排列於該M個叢集之後以獲得一排序, 其中該編碼器更用以根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第33項所述的編解碼系統,其中該編碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該編碼器更用以依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量, 其中該編碼器更用以根據根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序, 其中該編碼器更用以根據該排序從該1個叢集與該Q個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中對應該N個叢集的該N個顏色的代價值小於對應其他數個叢集之數個顏色的代價值,且每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第33項所述的編解碼系統,其中該解碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該解碼器更用以依據該M個叢集之中每一叢集的畫素的數量由多到少依序地排列該M個叢集以獲得一排序, 其中該解碼器更用以根據該排序從該M個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第33項所述的編解碼系統,其中該解碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中倘若M小於一預定候選顏色數目時,該解碼器更用以從對應該編碼單元區塊的一調色盤顏色預測表中選擇P個顏色作為P個叢集,以使得(M+P)等於該預定候選顏色數目,其中該P個顏色之中的每一顏色皆不相同, 其中該解碼器更用以根據該排序從該M個叢集與該P個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
- 如申請專利範圍第33項所述的編解碼系統,其中該解碼器更用以根據該鄰近範圍內的該些畫素的畫素值將該些畫素分群為M個叢集,其中該M個叢集之中同一個叢集內的畫素的畫素值相同且該M個叢集之中不同叢集內的畫素的顏色皆不相同,其中M為正整數, 其中該解碼器更用以依據該M個叢集之中每一叢集的畫素的數量從該M個叢集之中選出1個叢集,其中該1個叢集的畫素的數量大於該M個叢集之中的其他叢集的畫素的數量, 其中該解碼器更用以根據至少一方向從該鄰近範圍內選擇Q個顏色作為Q個叢集,將該Q叢集排列於該1個叢集之後以獲得一排序, 其中該解碼器更用以根據該排序從該1個叢集中依序選出N個叢集,且將對應該N個叢集的N個顏色設為對應該N個畫素的該N個顏色,其中每一該N個畫素分別屬於每一該N個叢集。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510639350.7A CN105491379A (zh) | 2014-10-01 | 2015-09-30 | 解码器、编码器、解码方法、编码方法与编解码系统 |
| US14/872,155 US20160100161A1 (en) | 2014-10-01 | 2015-10-01 | Decoder, encoder, decoding method, encoding method, and codec system |
| EP15187826.1A EP3002948A1 (en) | 2014-10-01 | 2015-10-01 | Decoder, decoding method, and codec system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462058111P | 2014-10-01 | 2014-10-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201615017A TW201615017A (en) | 2016-04-16 |
| TWI565302B true TWI565302B (zh) | 2017-01-01 |
Family
ID=56361327
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104130995A TWI565302B (zh) | 2014-10-01 | 2015-09-18 | 解碼器、編碼器、解碼方法、編碼方法與編解碼系統 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI565302B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130156106A1 (en) * | 2011-11-02 | 2013-06-20 | Panasonic Corporation | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, and moving picture decoding apparatus |
| TW201349104A (zh) * | 2011-12-22 | 2013-12-01 | Intel Corp | 封裝資料重整控制索引產生處理器、方法、系統及指令 |
| TW201408077A (zh) * | 2012-07-02 | 2014-02-16 | 松下電器產業股份有限公司 | 圖像解碼方法、圖像編碼方法、圖像解碼裝置、圖像編碼裝置及圖像編碼解碼裝置 |
-
2015
- 2015-09-18 TW TW104130995A patent/TWI565302B/zh active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130156106A1 (en) * | 2011-11-02 | 2013-06-20 | Panasonic Corporation | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, and moving picture decoding apparatus |
| TW201349104A (zh) * | 2011-12-22 | 2013-12-01 | Intel Corp | 封裝資料重整控制索引產生處理器、方法、系統及指令 |
| TW201408077A (zh) * | 2012-07-02 | 2014-02-16 | 松下電器產業股份有限公司 | 圖像解碼方法、圖像編碼方法、圖像解碼裝置、圖像編碼裝置及圖像編碼解碼裝置 |
Non-Patent Citations (1)
| Title |
|---|
| < PoLin Lai, Tzu-Der Chuang, Yu-Chen Sun, Xiaozhong Xu, Jing Ye, Shih-Ta Hsiang, Yi-Wen Chen, Kai Zhang, Xianguo Zhang, Shan Liu, Yu-Wen Huang, Shawmin Lei >,< Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11>,<17th Meeting >,<2014/03/27~2014/04/04>,<page 1~31> * |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201615017A (en) | 2016-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20160100161A1 (en) | Decoder, encoder, decoding method, encoding method, and codec system | |
| US12200210B2 (en) | Encoding method, decoding method, encoding/decoding system, encoder, and decoder | |
| TWI536811B (zh) | 影像處理方法與系統、解碼方法、編碼器與解碼器 | |
| US11019363B2 (en) | Method and device for encoding a point cloud | |
| US20200273258A1 (en) | Method and device for modifying attributes of points of a 3d scene | |
| US20170155899A1 (en) | Image compression method and apparatus using matching | |
| EP3429206A1 (en) | Method and device for encoding a point cloud | |
| US20180131949A1 (en) | Method and system for encoding and decoding, encoder and decoder | |
| CN104754343A (zh) | 图像处理方法与系统、解码方法、编码器与解码器 | |
| CN105828080B (zh) | 图像编解码方法及装置 | |
| TWI565302B (zh) | 解碼器、編碼器、解碼方法、編碼方法與編解碼系統 | |
| CN106303534A (zh) | 多种索引串与像素串融合复制方式的图像压缩方法和装置 | |
| TWI581617B (zh) | 編碼方法與解碼方法、編解碼系統、編碼器與解碼器 | |
| CN104581186B (zh) | 一种图像压缩中对帧内移动矢量进行编码和解码的方法 | |
| EP4614968A1 (en) | Decoder side intra mode derivation merge based on collocated block | |
| TWI581616B (zh) | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 | |
| CN111770337A (zh) | 视频编码方法、视频解码方法及相关设备 | |
| WO2016119666A1 (zh) | 图像编解码方法及装置 | |
| CN119893209A (zh) | 图像处理方法及装置 |