TWI581616B - 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 - Google Patents
編碼方法、解碼方法、編解碼系統、編碼器與解碼器 Download PDFInfo
- Publication number
- TWI581616B TWI581616B TW104115230A TW104115230A TWI581616B TW I581616 B TWI581616 B TW I581616B TW 104115230 A TW104115230 A TW 104115230A TW 104115230 A TW104115230 A TW 104115230A TW I581616 B TWI581616 B TW I581616B
- Authority
- TW
- Taiwan
- Prior art keywords
- coding unit
- unit block
- primary colors
- palette table
- index
- Prior art date
Links
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (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)視訊壓縮標準更高的編碼效率,尤其以高解析度(High Definition,HD)、超高解析度(Ultra High Definition,Ultra HD)等解析度高之視訊為重。
此大尺寸與高解析度之視訊應用的環境多以自然視訊影像為主,並已於2013年完成制訂。目前正在制定的是HEVC SCC(Screen Content Coding,SCC)標準。螢幕分享的視訊內容通常會有混合的視訊內容素材,例如畫面可能同時包含自然影像、大量文字圖片、滑鼠指標及各種線條等,由於此螢幕應用環境已不符H.265/HEVC當初所設計的目標,故JCT-VC近來已將重心轉至發展新的高效能螢幕編碼標準技術。SCC標準乃基於H.265/HEVC現有的工具下進行開發,例如,調色盤模式(Palette mode)便是專屬於SCC標準的編碼技術。調色盤模式的技術概念則是搜尋一個或多個主要顏色來代表現在正在編碼中的編碼單元(Coding Unit,CU)區塊內之畫素,並利用這些主要顏色所對應到的索引來對編碼單元內的畫素進行索引編號。編碼端會使用此些主要顏色所對應到的索引來建立出一個索引地圖,並將一個或多個主要顏色以及索引地圖內對應每個畫素的顏色的索引傳送到解碼端。
然而,為了保有編碼運算的彈性,在調色盤模式中會保留一個索引,以提供給編碼單元區塊內不使用主要顏色來表示的畫素使用,此些畫素稱為跳脫畫素(escape pixel),而所保留的索引稱為跳脫索引(escape index)。由此可知,在上述調色盤模式下的傳輸過程中,由於所傳輸的索引會包括主要顏色的索引以及跳脫索引,因此,若正在編碼的編碼單元區塊根本不存在跳脫畫素,保留這個跳脫索引便會增加傳輸編碼單元區塊的每個索引時不必要的負擔。
本揭露提供一種編碼方法與解碼方法以及使用此方法的編解碼系統、編碼器與解碼器,其能夠有效地提升螢幕視訊編碼技術的編碼效能。
本揭露的一範例實施例提出一種用於具有多個畫素的編碼單元區塊的編碼方法,本編碼方法包括:在調色盤模式中,當所述編碼單元區塊的每一畫素的顏色皆由編碼單元區塊的一個或多個主要顏色來表示時,將對應所述編碼單元區塊的旗標設定為第一狀態值。當所述編碼單元區塊的畫素之中的其中之至少一畫素的顏色不由一個或多個主要顏色來表示時,將對應所述編碼單元區塊的旗標設定為第二狀態值。本編碼方法還包括:根據所述旗標的狀態值與所述一個或多個主要顏色建立對應所述編碼單元區塊的調色盤表。
本揭露的一範例實施例提出一種用於具有多個畫素的編碼單元區塊的解碼方法,本解碼方法包括:在調色盤模式中,判斷對應所述編碼單元區塊的旗標的狀態值。當所述旗標為第一狀態值時,判斷對應所述編碼單元區塊的索引數目大小為所述編碼單元區塊的一個或多個主要顏色的數目。當所述旗標為第二狀態值時,判斷對應所述編碼單元區塊的索引數目大小為所述編碼單元區塊的一個或多個主要顏色的數目加1。
本揭露的一範例實施例提出一種編碼器,此編碼器包括:旗標設定模組以及調色盤表建立模組。在調色盤模式中,當
具有多個畫素的所述編碼單元區塊的每一畫素的顏色皆由編碼單元區塊的一個或多個主要顏色來表示時,旗標設定模組將對應所述編碼單元區塊的旗標設定為第一狀態值。當所述編碼單元區塊的畫素之中之至少一畫素的顏色不由一個或多個主要顏色來表示時,旗標設定模組將對應所述編碼單元區塊的旗標設定為第二狀態值。調色盤表建立模組根據所述旗標的狀態值與所述一個或多個主要顏色建立對應所述編碼單元區塊的調色盤表。
本揭露的一範例實施例提出一種解碼器,此解碼器包括旗標狀態判定模組。旗標狀態判定模組在調色盤模式中判斷對應編碼單元區塊的旗標的狀態值。當所述旗標為第一狀態值時,旗標狀態判定模組判斷對應所述編碼單元區塊的索引數目大小為所述編碼單元區塊的一個或多個主要顏色的數目。當所述旗標為第二狀態值時,旗標狀態判定模組判斷對應所述編碼單元區塊的索引數目大小為所述編碼單元區塊的一個或多個主要顏色的數目加1。
本揭露的一範例實施例提出一種編解碼系統,本編解碼系統包括:編碼器與解碼器。當具有多個畫素的所述編碼單元區塊的每一畫素的顏色皆由編碼單元區塊的一個或多個主要顏色來表示時,編碼器將對應所述編碼單元區塊的旗標設定為第一狀態值。當所述編碼單元區塊的畫素之中的其中之至少一畫素的顏色不由一個或多個主要顏色來表示時,編碼器將對應所述編碼單元區塊的旗標設定為第二狀態值。此外,編碼器根據所述旗標的狀
態值與所述一個或多個主要顏色建立對應所述編碼單元區塊的調色盤表。編碼器依據對應所述編碼單元區塊的調色盤表以及所述編碼單元區塊的畫素的顏色產生對應編碼單元區塊的索引地圖,並且傳送對應所述編碼單元區塊的旗標、對應所述編碼單元區塊的調色盤表與對應所述編碼單元區塊的索引地圖至所述解碼器。
本揭露的一範例實施例提出一種解碼方法,適用於具有多個畫素的編碼單元區塊。本解碼方法包括:在調色盤模式中,判斷對應所述編碼單元區塊的旗標的狀態值。當所述旗標為第一狀態值時,判斷判斷所述編碼單元區塊未包含跳脫畫素。當所述旗標為第二狀態值時,判斷所述編碼單元區塊包含至少一跳脫畫素。
基於上述,本揭露之範例實施例所提出的編碼方法與解碼方法及使用此方法的編解碼系統、編碼器與解碼器能夠藉由所設定的旗標決定是否保留跳脫索引的欄位,進而有效地節省編碼運算時的傳輸位元,由此提升編碼效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧編解碼晶片
102、130、150‧‧‧儲存電路
104、140、160‧‧‧處理器電路
106‧‧‧緩衝記憶體
110‧‧‧編碼器
120‧‧‧解碼器
112‧‧‧旗標設定模組
114‧‧‧調色盤表建立模組
116‧‧‧索引地圖建立模組
118‧‧‧編碼模組
122‧‧‧接收模組
124‧‧‧旗標狀態判定模組
126‧‧‧解碼模組
200‧‧‧編碼單元區塊
300、800‧‧‧調色盤表
302、802‧‧‧索引值欄位
304、804‧‧‧顏色欄位
400、900‧‧‧索引地圖
810‧‧‧調色盤表中的第一列
820‧‧‧調色盤表中的第二列
S501、S503、S505、S507、S509、S511、S513‧‧‧編碼方法的步驟
601、602、603、604、605、606、607、608‧‧‧使用CABAC解碼的程序
S601、S603、S605、S607、S609、S611、S613、S615、S617、S619‧‧‧解碼方法的步驟
C1、C2、C3、C4、C5‧‧‧顏色
C Escape ‧‧‧跳脫畫素
圖1A是根據本揭露之範例實施例所繪示的編碼器。
圖1B是根據本揭露之範例實施例所繪示的解碼器。
圖1C是根據本揭露之範例實施例所繪示的編解碼晶片。
圖2A與圖2B是根據本揭露之一範例實施例所繪示的影像編碼運作示意圖。
圖3是根據本揭露之一範例實施例所繪示的調色盤表的一個範例。
圖4是根據本揭露之一範例實施例所繪示的建立索引地圖的一個範例。
圖5為根據本揭露一範例實施例所繪示的編碼方法的流程圖。
圖6A為根據本揭露一範例實施例所繪示的進行解碼的程式碼。
圖6B-1與圖6B-2為根據本揭露一範例實施例所繪示的解碼方法的流程圖。
圖7A與圖7B是根據本揭露之另一範例實施例所繪示的影像編碼運作示意圖。
圖8是根據本揭露之另一範例實施例所繪示的調色盤表的一個範例。
圖9是根據本揭露之另一範例實施例所繪示的建立索引地圖的一個範例。
圖10A與圖10B是根據本揭露之範例實施例所繪示的影像編解碼的測試結果示意圖。
圖1A是根據本揭露之範例實施例所繪示的編碼器。
請參照圖1A,編碼器110包括旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116、編碼模組118、儲存電路130與處理器電路140。
在本範例實施例中,儲存電路130用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路130可以是記憶體(memory)或硬碟(Hard Disk Drive,HDD)等儲存媒體,但不限於此。處理器電路140用以控制編碼器110的整體運作。例如,處理器電路140可以是中央處理器(CPU)、微處理器(micro-processor)或嵌入式控制器(embedded controller),本揭露並不加以限制。處理器電路140是耦接至儲存電路130,並且用以控制旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116與編碼模組118來進行編碼操作。
在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將對應編碼單元區塊的旗標設定為第二狀態值。又例如,當編碼單元區塊中不包含跳脫畫素(escape pixel)時,旗標設定模組112將對應編碼單元區塊的旗標設定為第一狀態值。反之,當編碼單元區塊中包含跳脫畫素時,旗標設定模組112將對應編碼單元區塊的旗標設定為第二狀態值。值得注意的是,本揭露所指的一個顏色並不侷限於由單一組成元素所組成的顏色,也可以是指由數個組成元素所組成之對應顏色,例如,是指由三個組成元素所組成之對應YUV格式或RGB格式的顏色。YUV格式用以編譯顏色空間(color space),其中「Y」表示明亮度(Luminance、Luma),「U」和「V」則是表示色度與濃度(Chrominance、Chroma),並且Y、Cb、Cr用來描述其組成元素。RGB格式是一種加色模型,用以將紅(Red)、綠(Green)、藍(Blue)三原色的色光以不同的比例相加,以產生多種多樣的色光,其中R、G、B用來描述其組成元素。
調色盤表建立模組114用以建立對應編碼單元區塊的一調色盤表(Palette table)。
索引地圖建立模組116用以依據對應編碼單元區塊的調色盤表以及編碼單元區塊的畫素的顏色產生對應編碼單元區塊的索引地圖。
編碼模組118用以將對應編碼單元區塊的旗標、調色盤表與索引地圖進行編碼,編碼模組118用以進行編碼的方式可以是使用全文參考適應性二元算術編碼(Context-based Adaptive Binary Arithmetic Coding,CABAC)的旁路模式(bypass mode),也可以是使用CABAC的全文模式(context mode)。
編碼器110可將編碼後的旗標、調色盤表與索引地圖傳送至解碼器,也可將旗標、調色盤表與索引地圖直接傳送至解碼器,而未經過編碼。換言之,編碼器110可將經過編碼後的旗標、調色盤表與索引地圖,或者是未經過編碼的旗標、調色盤表與索引地圖傳送至解碼器。在一範例實施例中,旗標、調色盤表與索引地圖可由編碼模組118透過上述旁路模式被傳送至解碼器。在另一範例實施例中,上述旗標、調色盤表與索引地圖是透過上述全文模式被壓縮後再傳送至解碼器。特別是,在本範例實施例中,編碼器110還可將調色盤表中索引值的位元數和跳脫畫素的畫素值編碼後傳送至解碼器,或者是不將調色盤表中索引值的位元數和跳脫畫素的畫素值編碼而傳送至解碼器。在另一範例實施例中,旗標、調色盤表和索引地圖亦可以透過不同的編碼模式而被編碼,例如,編碼模組118使用旁路模式對旗標編碼,且使用全文模式對調色盤表與索引地圖編碼,並且由編碼器110一併將編
碼後的旗標、調色盤表與索引地圖傳送至解碼器。此外,編碼器110可實作在影像發送終端中,而解碼器可實作在影像接收終端中,並且編碼器與解碼器可透過有線或無線方式來通訊。
圖1B是根據本揭露之範例實施例所繪示的解碼器。
請參照圖1B,解碼器120包括接收模組122、旗標狀態判定模組124、解碼模組126、儲存電路150與處理器電路160。
儲存電路150用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路150可以是記憶體或硬碟等儲存媒體,但不限於此。處理器電路160用以控制解碼器120的整體運作。在本範例實施例中,處理器電路160會控制接收模組122、旗標狀態判定模組124與解碼模組126完成解碼操作。例如,處理器電路160可以是中央處理器、微處理器或嵌入式控制器,本揭露並不加以限制。
相對於編碼器110,解碼器120的接收模組122用以在調色盤模式(Palette mode)中接收編碼器110傳來的對應編碼單元區塊的旗標與調色盤表。而解碼器120的解碼模組126接收對應編碼單元區塊的索引地圖。由於從編碼器110傳來的旗標、調色盤表與對應編碼單元區塊的索引地圖可能是經過CABAC編碼後的旗標、調色盤表與對應編碼單元區塊的索引地圖,也可能是未經過CABAC編碼的旗標、調色盤表與對應編碼單元區塊的索引地圖,因此,接收模組122會判斷對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是否使用CABAC而被壓縮,而解碼模組
126會判斷對應編碼單元區塊的索引地圖是否使用CABAC而被壓縮。在本範例實施例中,解碼器120的接收模組122會先接收到對應編碼單元區塊的旗標與調色盤表,並且判斷對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是否使用CABAC而被壓縮,倘若接收模組122判斷所接收的對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是使用CABAC而被壓縮,則接收模組122會將經過CABAC編碼的旗標與調色盤表做CABAC解碼以獲得調色盤表的索引數目大小的最大值。之後,解碼器120的解碼模組126接收到索引地圖,並且在解碼模組126判斷對應編碼單元區塊的索引地圖亦是使用CABAC而被壓縮時,解碼模組126會根據上述索引數目大小的最大值對經過CABAC編碼的對應編碼單元區塊的索引地圖進行CABAC解碼。然而,本揭露並不限於此,例如,在另一範例實施例中,在接收模組122接收對應編碼單元區塊的旗標與調色盤表的同時,解碼模組126也會接收到對應編碼單元區塊的索引地圖。因此,接收模組122與解碼模組126會分別將經過CABAC編碼的旗標、調色盤表與對應編碼單元區塊的索引地圖做CABAC解碼。又例如,在另一範例實施例中,在接收模組122對旗標與調色盤表做CABAC解碼時,解碼器120的解碼模組126接收到索引地圖,並在接收模組122對旗標與調色盤表解碼後,解碼器120的解碼模組126再將接收到索引地圖解碼。
在此,如同編碼模組118的編碼方式,接收模組122與
解碼模組126可以使用CABAC的旁路模式,或者使用CABAC的全文模式來解碼接收到的旗標、調色盤表與對應編碼單元區塊的索引地圖。在另一範例實施例中,接收模組122也可接收編碼器110所傳來的調色盤表中索引值的位元數和跳脫畫素的畫素值,類似地,若收到的資料是經過CABAC編碼的資料則會進行CABAC解碼。此外,如上所述,由於旗標、調色盤表和索引地圖可以分別地透過不同的編碼模式而被編碼,因此,倘若接收模組122接收到使用旁路模式編碼的旗標與使用全文模式編碼的調色盤表,而解碼模組126接收到使用全文模式編碼的索引地圖,則接收模組122會使用旁路模式對所接收之旗標進行解碼且使用全文模式對所接收之調色盤表進行解碼,而解碼模組126會使用全文模式對所接收之索引地圖進行解碼。
旗標狀態判定模組124用以從接收模組122接收對應編碼單元區塊的旗標,並且判斷所接收之對應編碼單元區塊的旗標的狀態值。例如,當所接收的旗標為第一狀態值時,旗標狀態判定模組124判斷對應此編碼單元區塊的畫素不包含跳脫畫素,因此得知對應此編碼單元區塊的調色盤表的索引數目大小為編碼單元區塊的一個或多個主要顏色的數目。反之,當所接收的旗標為第二狀態值時,旗標狀態判定模組124判斷對應此編碼單元區塊的畫素包含跳脫畫素,因此得知對應此編碼單元區塊的調色盤表的索引數目大小為編碼單元區塊的一個或多個主要顏色的數目加1。
如上所述,在本範例實施例中,解碼模組126用以接收索引地圖,而由於編碼器110傳來的索引地圖可能是經過CABAC編碼後的索引地圖,也可能是未經過CABAC編碼的索引地圖,若是解碼模組126接收到經過CABAC編碼的索引地圖,解碼模組126會根據旗標狀態判定模組124得知對應編碼單元區塊的調色盤表的索引數目大小將經過CABAC編碼的索引地圖做CABAC解碼,並解碼出索引地圖的索引,在此,解碼模組126可以使用CABAC的旁路模式,或者使用CABAC的全文模式來解碼。此外,解碼模組126會根據調色盤表中編碼單元區塊的畫素的顏色與索引地圖的多個索引值重建編碼單元區塊的畫素,以還原此編碼單元區塊。
上述編碼器與解碼器可分別實作於不同的終端中,並且透過網路傳遞彼此所需要的資料,然而,本揭露不限於此。在另一範例實施例中,編碼器與解碼器可實作於同一個晶片或系統中。
圖1C是根據本揭露之第一範例實施例所繪示的編解碼晶片。
請參照圖1C,編解碼晶片100(亦可為一編解碼系統)包括儲存電路102、處理器電路104、緩衝記憶體106、編碼器110以及解碼器120。
儲存電路102用以儲存各種資料、程式碼,或是待處理及處理後的影像。例如,儲存電路102可以是記憶體或硬碟等儲存媒體,但不限於此。
處理器電路104用以控制編解碼晶片100的整體運作。例如,處理器電路104會下達指令給儲存電路102,以執行編碼器110與解碼器120來對影像進行編碼與解碼的操作。例如,處理器電路104可以是中央處理器、微處理器或嵌入式控制器,本揭露並不加以限制。
緩衝記憶體106耦接至處理器電路104,並且用以暫存資料。在本範例實施例中,緩衝記憶體106為靜態隨機存取記憶體(Static Random-Access Memory,SRAM),但不限於此,在另一範例實施例中,緩衝記憶體106可以是動態隨機存取記憶體(Dynamic Random Access Memory)或其他記憶體。在另一範例實施例中,編解碼晶片100可與其他系統共用儲存電路102、處理器電路104及/或緩衝記憶體106。
儲存電路102耦接至處理器電路104與緩衝記憶體106。編碼器110與解碼器120的運作是分別相似於上述圖1A與圖1B中所示的編碼器與解碼器。例如,編碼器110包括旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116與編碼模組118。解碼器120包括接收模組122、旗標狀態判定模組124、解碼模組126。
本揭露中的編碼器與解碼器可由軟體模組或程式碼來實作,例如,儲存電路102儲存上述旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116、編碼模組118、接收模組122、旗標狀態判定模組124以及解碼模組126,並且當編解碼晶片100
致能時,此些軟體程式碼從儲存電路102被載入至緩衝記憶體106且由處理器電路104執行以運作旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116、編碼模組118、接收模組122、旗標狀態判定模組124以及解碼模組126的功能。然而,本揭露不限於此,例如,在本揭露另一範例實施例中,編解碼晶片、編碼器與解碼器可以是由硬體電路來實作。例如,上述旗標設定模組112、調色盤表建立模組114、索引地圖建立模組116、編碼模組118、接收模組122、旗標狀態判定模組124以及解碼模組126可以硬體電路實作為旗標設定電路、調色盤表建立電路、索引地圖建立電路、編碼電路、接收電路、旗標狀態判定電路以及解碼電路。在本揭露另一範例實施例中,編碼器與解碼器可以由硬體電路實作於一晶片中。在本揭露另一範例實施例中,編碼器與解碼器可以由硬體電路實作為一編碼晶片和一解碼晶片。
為了更清楚地描述編碼器110、解碼器120與編解碼晶片100的運作,以下將參照圖1C的編解碼晶片100以一範例實施例來進行說明。
圖2A與圖2B是根據本揭露之一範例實施例所繪示的影像編碼運作示意圖。為了方便說明,以下以編碼單元區塊200的大小為4×4做為例示。
請參照圖2A,在調色盤模式中,編碼器110搜尋一個或多個主要顏色來代表現在正在編碼中的編碼單元區塊200內之畫素,並利用此一個或多個主要顏色所對應到的索引來對編碼單元
內的每一個畫素進行索引編號。
舉例來說,調色盤表建立模組114會建立對應編碼單元區塊200的調色盤表,以使得索引地圖建立模組116可依據對應編碼單元區塊200的調色盤表以及編碼單元區塊的畫素的顏色產生對應編碼單元區塊的索引地圖。在建立對應編碼單元區塊200的調色盤表的操作中,調色盤表建立模組114是根據編碼單元區塊200的畫素的顏色選擇對應編碼單元區塊200的一個或多個主要顏色。在本範例實施例中,編碼單元區塊200的每一原始畫素的畫素值(即,10、11、100、200與255)所對應到的顏色以顏色C1、顏色C2、顏色C3、顏色C4與顏色C5表示,在一實施例中,顏色C1的值即為畫素值10,同樣地,顏色C2、顏色C3、顏色C4與顏色C5的值即為畫素值11、100、200與255;而在另一實施例中,顏色C1、顏色C2、顏色C3、顏色C4與顏色C5可依實際需要根據畫素值10、11、100、200與255編碼而得。由於顏色C1與顏色C2的顏色相近(例如,對應顏色C1與顏色C2之畫素的畫素值的差值小於顏色差距門檻值(例如,顏色差距門檻值被設定為5)),因此,調色盤表建立模組114會僅選擇顏色C1作為對應畫素值為10與畫素值為11的畫素的主要顏色。最後,調色盤表建立模組114所選擇的對應編碼單元區塊200的主要顏色分別是顏色C1、顏色C3、顏色C4與顏色C5。
請參照圖2B,接著,調色盤表建立模組114分別設定對應此些主要顏色的索引值,例如,調色盤表建立模組114根據先
前所選擇的主要顏色C1、C3、C4與C5,而使用編號0、1、2、3作為分別對應主要顏色C1、C3、C4與C5的索引值。
在本範例實施例中,由於編碼單元區塊200的每一畫素的顏色皆可由編碼單元區塊200的主要顏色表示,而不需跳脫畫素,因此,旗標設定模組112將其所建立之對應編碼單元區塊200的旗標設定為第一狀態值。例如,此第一狀態值是以布林值來表示,並且旗標設定模組112將此第一狀態值設為0。據此,調色盤表建立模組114可根據旗標的第一狀態值得知編碼單元區塊200並不存在跳脫畫素(escape pixel),並且將對應編碼單元區塊200的調色盤表的索引數目大小設定為編碼單元區塊200的主要顏色的數目。
圖3是根據本揭露之一範例實施例所繪示的調色盤表的一個範例。
請參照圖3,在本範例實施例中,如上所述,由於編碼單元區塊200的每一畫素的顏色皆可由編碼單元區塊200的主要顏色來表示,據此,調色盤表建立模組114將對應編碼單元區塊200的調色盤表的索引數目大小設定為編碼單元區塊200的主要顏色的數目。例如,編碼單元區塊200的主要顏色的數目為4(即,主要顏色C1、C3、C4與C5),因此,如圖3所示,調色盤表建立模組114將對應編碼單元區塊200的調色盤表300的索引數目大小設定為剛好可記錄此4個主要顏色的大小。並且,調色盤表建立模組114將此些主要顏色(即,主要顏色C1、C3、C4與C5,其畫
素值分別為10、100、200與255)與對應此些主要顏色的索引值(即,0~3)分別記錄於調色盤表300的顏色欄位304與索引值欄位302中。
在本範例實施例中,在調色盤表300中,主要顏色的索引值中的最大值(即,3)為對應編碼單元區塊200的主要顏色的數目減1。此外,對應此編碼單元區塊200的主要顏色的數目等於記錄在調色盤表300中主要顏色的索引值的總數目。換言之,當編碼單元區塊200的每一畫素的顏色皆可由編碼單元區塊200的主要顏色來表示時,即代表正在編碼的編碼單元區塊200不存在跳脫畫素。因此,在此情況下,調色盤表建立模組114所建立的調色盤表300並不會保留對應跳脫畫素的跳脫索引的欄位,以減少索引值的編碼位元數,由此可避免多餘位元的傳輸,以減少傳輸索引時不必要的浪費。在本範例實施例中,為了清楚說明,以主要顏色:畫素值(例如C1:10、C3:100、C4:200與C5:255)的方式表示顏色欄位304,在一實施例中,顏色欄位304為畫素值10、100、200與255。
圖4是根據本揭露之一範例實施例所繪示的建立索引地圖的一個範例。
請參照圖4,之後,索引地圖建立模組116即可根據對應主要顏色C1、C3、C4與C5的索引值0、1、2與3,對編碼單元區塊200中的每一畫素進行索引編號以產生索引地圖400。換言之,在索引地圖400中,編碼單元區塊200的每一畫素的顏色是
以對應主要顏色C1、C3、C4與C5的索引值0、1、2與3來呈現。
接著,編碼模組118會將旗標、對應編碼單元區塊200的調色盤表300與索引地圖400經過CABAC編碼並傳送至解碼器120,或者是直接將旗標、對應編碼單元區塊200的調色盤表300與索引地圖400傳送至解碼器120。
具體而言,在本範例實施例中,調色盤表建立模組114並不會強制保留跳脫索引的欄位,且編碼單元區塊200的主要顏色的數目為4,因此有4個索引值。在此,假設在本範例實施例中,是使用等機率編碼方法,因此,僅需使用2個位元來編碼此4個索引值。例如,對應主要顏色C1、C3、C4與C5的索引值為0、1、2與3,則索引地圖建立模組116可使用二進位制的“00”、“01”、“10”與“11”來編碼此4個索引值,並將二進位制的“00”、“01”、“10”與“11”記錄於索引地圖中。由此可知,在強制保留跳脫索引的情況下,由於索引值的數目增加為5個,將需要使用3個位元來編碼5個索引值。據此,藉由本範例實施例的編碼方法,每傳送一個畫素的索引值即可節省一個位元。在本實施例中,由於編碼單元區塊200的大小為4×4,對應編碼單元區塊200的索引地圖400的大小也是4×4,在未進行壓縮及其他處理的情形下,傳送4×4個畫素的索引值可節省十六個位元的傳輸量。
圖5為根據本揭露一範例實施例所繪示的編碼方法的流程圖。
請參照圖5,在步驟S501中,編碼器110在調色盤模式中為編碼單元區塊設定一旗標。
在步驟S503中,編碼器110判斷編碼單元區塊的每一畫素的顏色是否由此編碼單元區塊的一個或多個主要顏色表示。
在步驟S505中,當編碼單元區塊的每一畫素的顏色皆由編碼單元區塊的一個或多個主要顏色來表示時,編碼器110會將對應編碼單元區塊的旗標設定為第一狀態值。而在步驟S507中,當編碼單元區塊的畫素之中的其中之至少一畫素的顏色不以一個或多個主要顏色來表示時,將對應編碼單元區塊的旗標設定為第二狀態值。
接著,在步驟S509中,編碼器110根據旗標的狀態值與所述一個或多個主要顏色建立對應編碼單元區塊的調色盤表。
在步驟S511中,編碼器110依據對應編碼單元區塊的調色盤表以及編碼單元區塊的畫素的顏色產生對應編碼單元區塊的索引地圖。
之後,在步驟S513中,編碼器110將對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖使用CABAC進行壓縮,並傳送壓縮後的對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖至解碼端的解碼器或是編解碼晶片100的解碼器120。或者,編碼器110會傳送未壓縮的對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖至解碼
端的解碼器或是編解碼晶片100的解碼器120。其中,CABAC編碼的方式可以是使用CABAC的旁路模式,也可以是使用CABAC的全文模式。在另一範例實施例中,編碼器110將對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖使用CABAC進行壓縮後,傳送到一儲存媒體中儲存,或者,編碼器110會傳送未壓縮的對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖到儲存媒體中儲存,儲存媒體可以是編碼器110的儲存電路130或編解碼晶片100的儲存電路102,或是編碼端的另一儲存媒體(例如,硬碟),也可以是不在編碼端中的另一儲存媒體(例如,雲端硬碟)。
在本範例實施例中,當解碼器120的接收模組122接收上述對應編碼單元區塊200的旗標與對應編碼單元區塊200的調色盤表300時,若是接收的對應編碼單元區塊200的旗標與對應編碼單元區塊200的調色盤表300是經過CABAC編碼的資料,接收模組122會先進行CABAC解碼。例如,若是接收的對應編碼單元區塊200的旗標經過CABAC的旁路模式或CABAC的全文模式壓縮,則接收模組122會對應的使用CABAC的旁路模式或CABAC的全文模式解壓縮,以解出對應編碼單元區塊200的旗標;同樣地,若接收的對應編碼單元區塊200的調色盤表300經過CABAC的旁路模式或CABAC的全文模式壓縮,則接收模組122會對應的使用CABAC的旁路模式或CABAC的全文模式解壓縮,以解出對應編碼單元區塊200的調色盤表300。之後,旗標狀態判定模組
124會先判斷對應編碼單元區塊200的旗標的狀態值。例如,在本範例實施例中,旗標狀態判定模組124判斷所接收的旗標被設定為第一狀態值(例如,0),據此,旗標狀態判定模組124可得知編碼單元區塊200並不存在跳脫畫素,並且判斷對應編碼單元區塊200的調色盤表300的索引數目大小為編碼單元區塊的主要顏色的數目。在另一實施例中,若是旗標狀態判定模組124判斷所接收的旗標被設定為第二狀態值(例如,1),據此,旗標狀態判定模組124可得知編碼單元區塊200存在跳脫畫素,並判斷對應編碼單元區塊200的調色盤表300的索引數目大小為編碼單元區塊的主要顏色的數目加1。
接著,解碼模組126接收索引地圖400,若是接收的索引地圖400是經過CABAC編碼的資料,解碼模組126會先進行CABAC解碼。例如,若是接收的對應編碼單元區塊200的索引地圖400經過CABAC的旁路模式或CABAC的全文模式壓縮,則解碼模組126會對應的使用CABAC的旁路模式或CABAC的全文模式解壓縮,並根據對應編碼單元區塊200的調色盤表300的索引數目大小解出對應編碼單元區塊200的索引地圖400的索引值。之後,解碼模組126重建編碼單元區塊200。詳細的說,解碼模組126根據索引地圖400的畫素的索引值搜尋調色盤表300(例如,使用查表法),符合索引值所對應的主要顏色其所表示的畫素值即為編碼單元區塊200中畫素的畫素值。例如,索引地圖400中的其中一個畫素的索引值為0,而調色盤表300中,索引值為0所對
應的主要顏色是C1,且其畫素值為10,因此,解碼模組126會將編碼單元區塊200的畫素值重建為10,並且,以此類推,解碼模組126會一一重建編碼單元區塊200的畫素,以重建編碼單元區塊200。在本範例實施例中,解碼器120接收編解碼晶片100的編碼器110或編碼端的編碼器傳來的旗標、調色盤表300和索引地圖400。在另一範例實施例中解碼器120可以接收由一儲存媒體傳來的旗標、調色盤表300和索引地圖400,此儲存媒體可以是解碼器120的儲存電路150或編解碼晶片100的儲存電路102,或是解碼端的另一儲存媒體(例如,硬碟),也可以是不在解碼端中的另一儲存媒體(例如,雲端硬碟)。
圖6A為根據本揭露一範例實施例所繪示的使用CABAC對對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖進行解碼的程式碼。請參照圖6A,在此範例實施例中,假設對目前正在解碼的旗標、調色盤表與索引地圖所使用的解壓縮方式為CABAC的旁路模式,其中旁路模式以圖6A中的參數“decodeBinEP”表示,執行CABAC解碼的動作以“parse”表示,而參數“PLTMode”代表調色盤模式,參數“PLTSize”與“PLT”分別代表主要顏色的數目與主要顏色,參數“uiIndexMaxSize”代表調色盤表的索引數目大小的最大值,以及參數“uiSignalEscapc”代表旗標。
請再參照圖6A,在程序601中,解碼器120確認目前的解碼模式是否為調色盤模式。若判斷目前是使用調色盤模式,則
解碼器120在程序602中,使用CABAC解碼主要顏色的數目與主要顏色。接著,在程序603中,將變數“uiIndexMaxSize”的值設定為主要顏色的數目。
在程序604中,解碼器120使用CABAC的旁路模式來解碼旗標,在此,若是在程序605中,解碼器120判斷對應編碼單元區塊200的旗標的狀態值為1,則解碼器120會得知目前正在解碼的編碼單元區塊存在跳脫畫素。因此,在程序606中,解碼器120會進一步地將對應編碼單元區塊的調色盤表的索引數目大小(即,uiIndexMaxSize)設為編碼單元區塊的主要顏色的數目加1。此時,索引值介於0~uiIndexMaxSize-2的索引皆為主要顏色的索引,而索引值為uiIndexMaxSize-1的索引為跳脫畫素的索引。
之後,在程序607中,解碼器120解碼索引地圖內的索引。在此範例實施例中,由於目前正在解碼之編碼單元存在跳脫畫素,因此,在程序608中,解碼器120會解碼跳脫畫素的畫素值。如此一來,解碼器120可藉由解碼與重建正在解碼之編碼單元區塊的每一個畫素來重建編碼單元區塊。
圖6B-1與圖6B-2為根據本揭露一範例實施例所繪示的解碼方法的流程圖。
請參照圖6B-1與圖6B-2,在步驟S601中,解碼器120接收對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表。
在步驟S603中,解碼器120判斷對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是否使用全文參考適應性二元
算術編碼而被壓縮。
倘若所接收的對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是使用全文參考適應性二元算術編碼而被壓縮,則在步驟S605中,解碼器120會使用全文參考適應性二元算術編碼的旁路模式或是使用全文參考適應性二元算術編碼的全文模式進行解壓縮。反之,倘若所接收的對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表並未使用全文參考適應性二元算術編碼而被壓縮,則進入步驟S607。在本範例實施例中,解碼器120會判斷對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是否使用全文參考適應性二元算術編碼而被壓縮,在另一範例實施例中,解碼器120不會判斷對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表是否使用全文參考適應性二元算術編碼而被壓縮,而直接使用全文參考適應性二元算術編碼的旁路模式或是使用全文參考適應性二元算術編碼的全文模式進行解壓縮,也就是說,在進行步驟S601後,並不會進行步驟S603,而會進行步驟S605。在一範例實施例中,編碼器110與解碼器120可依設定決定要使用全文參考適應性二元算術編碼的旁路模式或是全文模式進行壓縮、解壓縮,也可依編碼器110與解碼器120之間的溝通(例如,資訊交換)決定要使用全文參考適應性二元算術編碼的旁路模式或是全文模式進行壓縮、解壓縮。
在步驟S607中,解碼器120在調色盤模式中判斷對應編碼單元區塊的旗標的狀態值為第一狀態值或第二狀態值。
當旗標為第一狀態值時,在步驟S609中,解碼器120會判斷對應編碼單元區塊的調色盤表的索引數目大小為編碼單元區塊的一個或多個主要顏色的數目。
當旗標為第二狀態值時,在步驟S611中,解碼器120會判斷對應編碼單元區塊的調色盤表的索引數目大小為編碼單元區塊的一個或多個主要顏色的數目加1。
接著,在圖6B-2中的步驟S613中,解碼器120會接收對應編碼單元區塊的索引地圖,並且判斷此對應編碼單元區塊的索引地圖是否使用全文參考適應性二元算術編碼而被壓縮。
倘若所接收的對應編碼單元區塊的索引地圖是使用全文參考適應性二元算術編碼而被壓縮,則在步驟S615中,解碼器120會根據調色盤表的索引數目大小的值使用旁路模式或全文模式對對應編碼單元區塊的索引地圖進行解壓縮,以獲得索引地圖的多個索引值。反之,倘若所接收的對應編碼單元區塊的旗標與對應編碼單元區塊的調色盤表並未使用全文參考適應性二元算術編碼而被壓縮,則在步驟S617中,解碼器120會根據調色盤表的索引數目大小的值對對應編碼單元區塊的索引地圖進行解壓縮,以獲得索引地圖的多個索引值。在另一實施例中,解碼器120接收對應編碼單元區塊的索引地圖後,不判斷此對應編碼單元區塊的索引地圖是否使用全文參考適應性二元算術編碼而被壓縮,而直接根據調色盤表的索引數目大小的值使用旁路模式或全文模式對對應編碼單元區塊的索引地圖進行解壓縮,以獲得索引地圖的多個
索引值,也就是說,在步驟S613接收對應編碼單元區塊的索引地圖後,不進行判斷即進入步驟S615,而不會進入S617。在一範例實施例中,編碼器110與解碼器120可依設定決定要使用全文參考適應性二元算術編碼的旁路模式或是全文模式進行壓縮、解壓縮,也可依編碼器110與解碼器120之間的溝通(例如,資訊交換)決定要使用全文參考適應性二元算術編碼的旁路模式或是全文模式進行壓縮、解壓縮。
之後,在步驟S619中,解碼器120根據調色盤表中編碼單元區塊的畫素的顏色與索引地圖的多個索引值重建編碼單元區塊。
值得一提的是,在本揭露的另一範例實施例中,對應編碼單元區塊的旗標、對應編碼單元區塊的調色盤表與對應編碼單元區塊的索引地圖亦可以同時地被解碼器120所接收,再經由解碼器120解碼。
在本揭露之另一範例實施例中,編碼器可利用跳脫畫素取代對應主要顏色之部份的畫素以節省編碼傳輸的位元。
圖7A與圖7B是根據本揭露之另一範例實施例所繪示的影像編碼運作示意圖。
請參照圖7A,在本範例實施例中,在建立對應編碼單元區塊200的調色盤表的操作中,調色盤表建立模組114根據編碼單元區塊200的畫素的顏色選擇對應編碼單元區塊200的一個或多個候選顏色。具體而言,編碼單元區塊200的每一原始畫素的
畫素值(即,10、11、100、200與255)分別以顏色C1、顏色C2、顏色C3、顏色C4與顏色C5表示,在一實施例中,顏色C1的值即為畫素值10,同樣地,顏色C2、顏色C3、顏色C4與顏色C5的值即為畫素值11、100、200與255;而在另一實施例中,顏色C1、顏色C2、顏色C3、顏色C4與顏色C5可依實際需要根據畫素值10、11、100、200與255編碼而得。由於顏色C1與顏色C2的顏色相近(例如,對應顏色C1與顏色C2之畫素的畫素值的差值小於顏色差距門檻值(例如,顏色差距門檻值為5)),因此,調色盤表建立模組114選擇顏色C1作為對應畫素值為10與畫素值為11的畫素的候選顏色。因此,調色盤表建立模組114所選擇的對應編碼單元區塊200的多個候選顏色分別是顏色C1、顏色C3、顏色C4與顏色C5。
接著,調色盤表建立模組114根據多個候選顏色C1、C3、C4與C5,將對應於畫素值為10與畫素值為11的畫素量化至候選顏色C1,將對應於畫素值為100的畫素量化至候選顏色C3,將對應於畫素值為200的畫素量化至候選顏色C4,以及將對應於畫素值為255的畫素量化至候選顏色C5。
在本範例實施例中,調色盤表建立模組114根據每一候選顏色的畫素值將候選顏色分別設定為一個或多個主要顏色與跳脫畫素。舉例來說,調色盤表建立模組114根據一數目門檻值,選擇並設定對應編碼單元區塊200的一個或多個主要顏色。例如,當一候選顏色的畫素數目大於此數目門檻值,則將此候選顏色設
定為一主要顏色,而若是一候選顏色的畫素數目小於或等於此數目門檻值,則將此候選顏色的畫素設定為跳脫畫素。在本範例實施例中,假設數目門檻值為2,由於對應於顏色C1的畫素的數目(即,11)大於此數目門檻值,因此,調色盤表建立模組114選擇候選顏色C1作為對應編碼單元區塊200的一個主要顏色C1,主要顏色C1的值可以是畫素值10或是其對應的編碼值。
由於對應於候選顏色C3的畫素的數目(即,2)等於此數目門檻值,對應於候選顏色C4的畫素的數目(即,2)等於此數目門檻值,且對應於候選顏色C5的畫素的數目(即,1)小於此數目門檻值,因此,調色盤表建立模組114將對應於候選顏色C3、C4與C5的畫素設定為跳脫畫素C Escape 。
由此可知,在本範例實施例中,量化至主要顏色的候選顏色的畫素的數目大於上述數目門檻值(即,2),而量化為跳脫畫素C Escape 的候選顏色的畫素的數目不大於上述數目門檻值。值得一提的是,本揭露並不加以限制顏色差距門檻值與數目門檻值的大小。例如,在另一範例實施例中,顏色差距門檻值與數目門檻值的大小會隨著編碼運算的量化參數而被動態地調整。
請參照圖7B,接著,調色盤表建立模組114分別地設定對應主要顏色C1與對應跳脫畫素C Escape 的索引值。例如,調色盤表建立模組114使用編號0、1作為分別對應主要顏色C1與對應跳脫畫素C Escape 的索引值。
在本範例實施例中,由於編碼單元區塊200的至少一畫
素的顏色並非以編碼單元區塊200的一個或多個主要顏色表示,因此,旗標設定模組112將其所建立之對應編碼單元區塊200的旗標設定為第二狀態值。例如,此第二狀態值是以布林值來表示,並且當編碼單元區塊200的至少一畫素的顏色並非以編碼單元區塊200的一個或多個主要顏色來表示時,旗標設定模組112將旗標設定設為1。據此,調色盤表建立模組114可根據此第二狀態值得知編碼單元區塊200存在跳脫畫素並且將對應編碼單元區塊200的調色盤表的索引數目大小設定為編碼單元區塊200的主要顏色的數目加1。
圖8是根據本揭露之另一範例實施例所繪示的調色盤表的一個範例。
請參照圖8,在本範例實施例中,由於並非編碼單元區塊200的每一畫素的顏色皆由編碼單元區塊200的主要顏色來表示,因此,調色盤表建立模組114將對應編碼單元區塊200的調色盤表的索引數目大小設定為編碼單元區塊200的主要顏色的數目加1。例如,編碼單元區塊200的主要顏色的數目為1(即,主要顏色C1),因此,如圖8所示,調色盤表建立模組114將對應編碼單元區塊200的調色盤表800的索引數目大小設定為2。並且,調色盤表建立模組114會將此一個主要顏色C1與對應此一個主要顏色的索引值(即,0)記錄於調色盤表800中的第一列810的顏色欄位804與索引值欄位802中,並且將對應此跳脫畫素C Escape 的索引值(即,1)記錄於調色盤表800中的第二列820的索引值欄位802
中。此外,在調色盤表800中,調色盤表建立模組114會將多個索引值中的最大值設為對應編碼單元區塊的一個或多個主要顏色的數目,例如,索引值中的最大值(即,1)為對應編碼單元區塊200的主要顏色(即,主要顏色C1)的數目。並且對應此編碼單元區塊200的主要顏色的數目加1(即,2)等於記錄在調色盤表800中主要顏色的索引值的總數目加1。
圖9是根據本揭露之另一範例實施例所繪示的建立索引地圖的一個範例。
請參照圖9,之後,索引地圖建立模組116即可根據對應主要顏色C1的索引值(即,0)與跳脫畫素C Escape 的索引值(即,1),使用調色盤模式對編碼單元區塊200中的每一畫素進行索引編號以產生索引地圖900。換言之,在索引地圖900中編碼單元區塊200的每一畫素的顏色是以對應主要顏色C1與對應跳脫畫素C Escape 的索引值0與1來呈現。在一範例實施例中,請同時參照圖8與圖9,索引值被設定為1的畫素(即跳脫畫素C Escape )之畫素值以傳統方式逐一傳送至解碼端,因此在圖8之第二列820的顏色欄位804並不需限定為特定畫素值。
接著,編碼模組118會將旗標、調色盤表800與索引地圖900經過CABAC編碼傳送至解碼器120,或者是將旗標、調色盤表800與索引地圖900傳送至解碼器120。在本範例實施例中,編碼模組118還會將屬於跳脫畫素C Escape 之顏色C3、C4與C5所對應的原始畫素的畫素值傳送至解碼器120。然而,本揭露並不限於
此,例如,在另一範例實施例中,編碼模組118所傳送的調色盤表800僅包含主要顏色和其索引值(在本範例實施例中為調色盤表800的第一列810),而未包含跳脫畫素之對應欄位(在本範例實施例中為調色盤表800的第二列820);又例如,在另一範例實施例中,編碼模組118所傳送的調色盤表800僅包含主要顏色(在本範例實施例中為調色盤表800的第一列810的顏色欄位804),而未包含索引值(在本範例實施例中為調色盤表800的第一列810的索引欄位802),也未包含跳脫畫素之對應欄位,解碼端接收到主要顏色時,可依設定或是與編碼端的協定自行決定索引,例如,收到的第一個主要顏色其索引值為0,收到的第二個主要顏色其索引值為1,以此類推。
具體而言,在本範例實施例中,調色盤表建立模組114使用跳脫畫素來取代可由主要顏色來表示的部份的畫素,以使得在本範例實施例中僅有一個對應編碼單元區塊200之主要顏色的索引與一個跳脫索引,因此僅有2個索引值需傳送至解碼器120。在此,假設在使用等機率編碼方法,因此可使用1個位元來編碼此2個索引值。例如,對應主要顏色C1與跳脫畫素C Escape 的索引值分別為0與1,則索引地圖建立模組116可使用二進位制的“0”與“1”來編碼此2個索引值,並將二進位制的“0”與“1”記錄於索引地圖中。而在強制保留跳脫索引且未使用將主要顏色的畫素改為跳脫畫素的機制的情況下,將需要使用3個位元來編碼5個索引值。也就是說,藉由本範例實施例的編碼方法,編碼模組
118每傳送一個畫素的索引值即可節省兩個位元,在本實施例中,由於編碼單元區塊200的大小為4×4,對應編碼單元區塊200的索引地圖400的大小也是4×4,在未進行壓縮及其他處理的情形下,傳送4×4個畫素的索引值可節省三十二個位元的傳輸量。
另一方面,當解碼器120的接收模組122在調色盤模式中接收(及解碼)上述對應編碼單元區塊200的旗標、對應編碼單元區塊200的調色盤表800時,旗標狀態判定模組124會判斷對應編碼單元區塊200的旗標的狀態值。例如,在本範例實施例中,旗標狀態判定模組124判斷所接收的旗標被設定為第二狀態值(例如,1),據此,旗標狀態判定模組124得知編碼單元區塊200存在跳脫畫素且判斷對應編碼單元區塊200的調色盤表800的索引數目大小為編碼單元區塊的主要顏色的數目加1。
接著,解碼模組126根據索引數目大小,使用CABAC將索引地圖900解碼,並重建編碼單元區塊200。更詳細地說,解碼模組126在將索引地圖900解碼後,根據索引地圖900的畫素之索引值搜尋調色盤表800(例如使用查表法),符合索引值所對應的主要顏色其所表示的畫素值即為編碼單元區塊200中畫素的畫素值。例如,索引地圖900的其中一畫素的索引值為0,而調色盤表800中,索引值為0所對應的主要顏色是C1且其畫素值為10,因此,解碼模組126會將編碼單元區塊200的畫素值重建為10。並且,以此類推,解碼模組126會一一重建編碼單元區塊200的每個畫素以重建編碼單元區塊200。又例如,索引地圖900的其中
一畫素的索引值為1,而索引值為1所表示的是跳脫畫素,則解碼模組126將以傳統方式根據逐一接收到的跳脫畫素一一重建編碼單元區塊200。此外,在一範例實施例中,接收到的跳脫畫素會先經過接收模組122(例如,以CABAC的旁路模式或CABAC的全文模式)解碼。
圖10A與圖10B是根據本揭露之範例實施例所繪示的影像編解碼的測試結果示意圖。
請參照圖10A與圖10B,為了評估本揭露所提出的編碼方法與解碼方法,根據JCT-VC標準組織核心實驗所規範的實驗環境下,將本揭露實作於所述組織所提供的參考軟體HM14.0+RExt7.0+SCM1.0+Q0094+Q0047BF中,並比較AllIntra-lossy(全靜態編碼-失真)壓縮模式的結果。而被測試的視訊格式有YUV格式和RGB格式兩種,總共26個測試視訊檔案。此26個測試的視訊檔案根據視訊內容的不同及格式的不同可以分成12種類別,此12種類別即為圖10A與圖10B中的左邊第一欄中的說明。這12種類別中,“text & graphics with motion”是SCC較常遇到的視訊應用,其內容大多為簡報、軟體呈現等SCC常見應用,而“mixed content”則是包含SCC常用的視訊應用與HEVC常見的自然影像之應用,而“animation”則是動畫視訊,其中“animation”的應用較少用於SCC環境。這些視訊類別根據大小又區分成720p,1080p和1440p三種。在此,所呈現的數據都是BDrate,BDrate是JCT-VC標準組織通用習知的視訊品質的客觀評
比量測方法,當數據小於零且越小表示相同位元率(bitrate)的視覺品質越好。
具體來說,圖10A與圖10B所示的測試結果分為對應本揭露編碼單元區塊不具有跳脫畫素之實施例與編碼單元區塊具有跳脫畫素之實施例的BDrate效能。由數據結果可發現,本揭露所提的做法相較目前標準之作法,在複雜度幾乎不改變的情況下,即可有很大的效能提升,此兩個實施例的效能分別最大可達到-0.7%與-1.4%的提升。這些效能的提升尤其以“text & graphics with motion”這種SCC較常遇到的視訊應用類別較為顯著。
綜上所述,本揭露之範例實施例所提出的編碼方法與解碼方法以及使用此方法的編解碼系統、編碼器與解碼器藉由所設定的旗標決定是否保留跳脫索引的欄位,由此能夠節省傳輸位元並有效地減少編碼運算時的傳輸量,進而提升螢幕視訊編碼的效能。
S501、S503、S505、S507、S509、S511、S513‧‧‧編碼方法的步驟
Claims (45)
- 一種編碼方法,適用於具有多個畫素的一編碼單元區塊,包括:在一調色盤模式中,當該編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的一個或多個主要顏色來表示時,將對應該編碼單元區塊的一旗標設定為一第一狀態值;在該調色盤模式中,當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,將對應該編碼單元區塊的該旗標設定為一第二狀態值;以及根據該旗標的狀態值與該一個或多個主要顏色建立對應該編碼單元區塊的一調色盤表。
- 如申請專利範圍第1項所述之編碼方法,更包括:依據對應該編碼單元區塊的該調色盤表以及該編碼單元區塊的該些畫素的顏色產生對應該編碼單元區塊的一索引地圖;以及傳送對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第2項所述之編碼方法,其中傳送對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖的步驟包括:將對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖使用一全文參考適應性二元算術編碼(Context-based Adaptive Binary Arithmetic Coding,CABAC)的一旁路模式(bypass mode)或是使用該全文參考適應性二元算術編碼的一全文模式(context mode)進行壓縮;以及傳送壓縮後的對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第1項所述之編碼方法,其中根據該旗標的狀態值與該一個或多個主要顏色建立對應該編碼單元區塊的該調色盤表的步驟包括:根據該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色;分別地設定對應該一個或多個主要顏色的索引值;當該編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中;以及當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,設定對應一跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中。
- 如申請專利範圍第4項所述之編碼方法,其中根據該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色的步驟包括: 根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色。
- 如申請專利範圍第4項所述之編碼方法,其中根據該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色的步驟包括:根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個候選顏色;以及根據一數目門檻值和該一個或多個候選顏色的畫素值將該一個或多個候選顏色分別設定為一個或多個主要顏色,以及/或該跳脫畫素。
- 如申請專利範圍第4項所述之編碼方法,其中當該編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中的步驟包括:將對應該編碼單元區塊的該調色盤表的一索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目,在該調色盤表中將該一個或多個主要顏色的索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第4項所述之編碼方法,其中當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,設定對應該跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中的步驟包括:將對應該編碼單元區塊的該調色盤表的該索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目加1;在該調色盤表中將該些索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 一種解碼方法,適用於具有多個畫素的一編碼單元區塊,包括:在一調色盤模式中,判斷對應該編碼單元區塊的一旗標的狀態值;當該旗標為一第一狀態值時,判斷對應該編碼單元區塊的一索引數目大小為該編碼單元區塊的一個或多個主要顏色的數目;以及當該旗標為一第二狀態值時,判斷對應該編碼單元區塊的該索引數目大小為該編碼單元區塊的該一個或多個主要顏色的數目 加1。
- 如申請專利範圍第9項所述之解碼方法,其中更包括:解碼對應該編碼單元區塊的該旗標、對應該編碼單元區塊的一調色盤表與對應該編碼單元區塊的一索引地圖;以及根據對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖重建該編碼單元區塊。
- 如申請專利範圍第10項所述之解碼方法,其中解碼對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖的步驟包括:接收對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖;以及使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第11項所述之解碼方法,其中使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖的步驟包括:判斷對應該編碼單元區塊的該旗標、對應該編碼單元區塊的 該調色盤表與對應該編碼單元區塊的該索引地圖是否使用該全文參考適應性二元算術編碼而被壓縮,其中倘若對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖是使用該全文參考適應性二元算術編碼而被壓縮,則使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第9項所述之解碼方法,其中當該旗標為該第一狀態值時,判斷對應該編碼單元區塊的該索引數目大小為該編碼單元區塊的該一個或多個主要顏色的數目的步驟包括:根據一調色盤表獲得該一個或多個主要顏色與對應該一個或多個主要顏色的索引值,其中該調色盤表中該一個或多個主要顏色的索引值中的一最大值為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第9項所述之解碼方法,其中當該旗標為該第二狀態值時,判斷對應該編碼單元區塊的該索引數目大小為該編碼單元區塊的該一個或多個主要顏色的數目加1的步驟包 括:根據一調色盤表獲得該一個或多個主要顏色、對應該一個或多個主要顏色的索引值與一跳脫畫素的索引值,其中該調色盤表中的該跳脫畫素的索引值為對應該編碼單元區塊的該一個或多個主要顏色的數目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 如申請專利範圍第9項所述之解碼方法,其中更包括:接收對應該編碼單元區塊的該旗標與對應該編碼單元區塊的一調色盤表;使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表;接收對應該編碼單元區塊的一索引地圖;以及根據該索引數目大小使用該全文參考適應性二元算術編碼的該旁路模式或該全文參考適應性二元算術編碼的該全文模式對對應該編碼單元區塊的該索引地圖進行解壓縮,以獲得該索引地圖的多個索引值。
- 一種編碼器,該編碼器包括:一旗標設定模組,在一調色盤模式中,當具有多個畫素的一編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的一個 或多個主要顏色來表示時,將對應該編碼單元區塊的一旗標設定為一第一狀態值,當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該旗標設定模組將對應該編碼單元區塊的該旗標設定為一第二狀態值;以及一調色盤表建立模組,根據該旗標的狀態值與該一個或多個主要顏色建立對應該編碼單元區塊的一調色盤表。
- 如申請專利範圍第16項所述之編碼器,更包括:一索引地圖建立模組,依據對應該編碼單元區塊的該調色盤表以及該編碼單元區塊的該些畫素的顏色產生對應該編碼單元區塊的一索引地圖;以及一編碼模組,傳送對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第17項所述之編碼器,其中該編碼模組將對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式進行壓縮,其中該編碼模組傳送壓縮後的對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第16項所述之編碼器,其中該調色盤表建立模組根據該編碼單元區塊的該些畫素的顏色選擇對應該編碼 單元區塊的該一個或多個主要顏色,其中該調色盤表建立模組分別地設定對應該一個或多個主要顏色的索引值,其中當該編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,該調色盤表建立模組將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,其中當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該調色盤表建立模組設定對應一跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中。
- 如申請專利範圍第19項所述之編碼器,其中該調色盤表建立模組根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色。
- 如申請專利範圍第19項所述之編碼器,其中該調色盤表建立模組根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個候選顏色,其中該調色盤表建立模組根據一數目門檻值和該一個或多個候選顏色的畫素值將該一個或多個候選顏色分別設定為一個或多個主要顏色,以及/或該跳脫畫素。
- 如申請專利範圍第19項所述之編碼器,其中在該編碼單 元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,該調色盤表建立模組將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中的操作中,該調色盤表建立模組將對應該編碼單元區塊的該調色盤表的一索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目,其中該調色盤表建立模組在該調色盤表中將該一個或多個主要顏色的索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第19項所述之編碼器,其中在該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該調色盤表建立模組設定對應該跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中的操作中,該調色盤表建立模組將對應該編碼單元區塊的該調色盤表的一索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目加1,其中該調色盤表建立模組在該調色盤表中將該些索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數 目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 一種解碼器,包括:一旗標狀態判定模組,在一調色盤模式中,判斷對應一編碼單元區塊的一旗標的狀態值;其中當該旗標為一第一狀態值時,該旗標狀態判定模組判斷對應該編碼單元區塊的一索引數目大小為該編碼單元區塊的一個或多個主要顏色的數目,其中當該旗標為一第二狀態值時,該旗標狀態判定模組判斷對應該編碼單元區塊的該索引數目大小為該編碼單元區塊的該一個或多個主要顏色的數目加1。
- 如申請專利範圍第24項所述之解碼器,更包括:一解碼模組,解碼對應該編碼單元區塊的該旗標、對應該編碼單元區塊的一調色盤表與對應該編碼單元區塊的一索引地圖,並根據對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖重建該編碼單元區塊。
- 如申請專利範圍第25項所述之解碼器,更包括:一接收模組,接收對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表,且該解碼模組接收對應該編碼單元區 塊的該索引地圖,其中該接收模組使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表,該解碼模組使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第26項所述之解碼器,其中在該接收模組使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表,該解碼模組使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮對應該編碼單元區塊的該索引地圖的操作中,該接收模組判斷對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表是否使用該全文參考適應性二元算術編碼而被壓縮,該解碼模組判斷對應該編碼單元區塊的該索引地圖是否使用該全文參考適應性二元算術編碼而被壓縮,其中倘若該接收模組判斷所接收的對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表是使用該全文參考適應性二元算術編碼而被壓縮,則使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全 文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊,倘若該解碼模組判斷所接收的對應該編碼單元區塊的該索引地圖是使用該全文參考適應性二元算術編碼而被壓縮,則使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮該索引地圖。
- 如申請專利範圍第24項所述之解碼器,其中該旗標狀態判定模組根據一調色盤表獲得該一個或多個主要顏色與對應該一個或多個主要顏色的索引值,其中該調色盤表中該一個或多個主要顏色的索引值中的一最大值為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第24項所述之解碼器,其中該旗標狀態判定模組根據一調色盤表獲得該一個或多個主要顏色、對應該一個或多個主要顏色的索引值與一跳脫畫素的索引值,其中該調色盤表中的該跳脫畫素的索引值為對應該編碼單元區塊的該一個或多個主要顏色的總數目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 如申請專利範圍第24項所述之解碼器,更包括: 一接收模組接收對應該編碼單元區塊的該旗標與對應該編碼單元區塊的一調色盤表,並使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表;以及一解碼模組接收對應該編碼單元區塊的一索引地圖,並根據該索引數目大小使用該全文參考適應性二元算術編碼的該旁路模式或該全文參考適應性二元算術編碼的該全文模式對對應該編碼單元區塊的該索引地圖進行解壓縮,以獲得該索引地圖的多個索引值。
- 一種編解碼系統,包括:一編碼器,在一調色盤模式中,當具有多個畫素的一編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的一個或多個主要顏色來表示時,將對應該編碼單元區塊的一旗標設定為一第一狀態值,當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該編碼器將對應該編碼單元區塊的該旗標設定為一第二狀態值,其中該編碼器根據該旗標的狀態值與該一個或多個主要顏色建立對應該編碼單元區塊的一調色盤表;以及一解碼器,其中該編碼器依據對應該編碼單元區塊的該調色盤表以及該編碼單元區塊的該些畫素的顏色產生對應該編碼單元區塊的一索 引地圖,並且傳送對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖至該解碼器。
- 如申請專利範圍第31項所述之編解碼系統,其中該編碼器將對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式進行壓縮,其中該編碼器傳送壓縮後的對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第31項所述之編解碼系統,其中該解碼器在該調色盤模式中判斷對應該編碼單元區塊的該旗標的狀態值,其中當該旗標為該第一狀態值時,該解碼器判斷對應該編碼單元區塊的一索引數目大小為該編碼單元區塊的一個或多個主要顏色的數目,其中當該旗標為該第二狀態值時,該解碼器判斷對應該編碼單元區塊的該索引數目大小為該編碼單元區塊的該一個或多個主要顏色的數目加1。
- 如申請專利範圍第31項所述之編解碼系統,其中該編碼器根據該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區 塊的該一個或多個主要顏色,其中該編碼器分別地設定對應該一個或多個主要顏色的索引值,其中當該編碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,該編碼器將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,其中當該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該編碼器設定對應一跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中。
- 如申請專利範圍第34項所述之編解碼系統,其中該編碼器根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個主要顏色。
- 如申請專利範圍第34項所述之編解碼系統,其中該編碼器根據一顏色差距門檻值和該編碼單元區塊的該些畫素的顏色選擇對應該編碼單元區塊的該一個或多個候選顏色,其中該編碼器根據一數目門檻值和該一個或多個候選顏色的畫素值將該一個或多個候選顏色分別設定為一個或多個主要顏色,以及/或該跳脫畫素。
- 如申請專利範圍第34項所述之編解碼系統,其中在該編 碼單元區塊的每一該些畫素的顏色皆由該編碼單元區塊的該一個或多個主要顏色來表示時,該編碼器將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中的操作中,該編碼器將對應該編碼單元區塊的該調色盤表的一索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目,其中該編碼器在該調色盤表中將該一個或多個主要顏色的索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第34項所述之編解碼系統,其中該編碼單元區塊的該些畫素之中之至少一畫素的顏色不由該一個或多個主要顏色來表示時,該編碼器設定對應該跳脫畫素的索引值,將該一個或多個主要顏色與對應該一個或多個主要顏色的索引值記錄於該調色盤表中,並且將對應該跳脫畫素的索引值記錄於該調色盤表中的操作中,其中該編碼器將對應該編碼單元區塊的該調色盤表的該索引數目大小設定為該編碼單元區塊的該一個或多個主要顏色的數目加1,其中該編碼器在該調色盤表中將該些索引值中的一最大值設為對應該編碼單元區塊的該一個或多個主要顏色的數目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加 1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 如申請專利範圍第33項所述之編解碼系統,其中該解碼器解碼對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖,並且根據對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖重建該編碼單元區塊。
- 如申請專利範圍第39項所述之編解碼系統,其中該解碼器接收對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖,其中該解碼器使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第40項所述之編解碼系統,其中在該編碼器使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式解壓縮該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖的操作中,該解碼器判斷對應該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖是否使用該全文參考適應性二元算術編碼而被壓縮,其中倘若該解碼器判斷所接收的對應該編碼單元區塊的該旗 標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖是使用該全文參考適應性二元算術編碼而被壓縮,則使用該全文參考適應性二元算術編碼的該旁路模式或是使用該全文參考適應性二元算術編碼的該全文模式壓縮該編碼單元區塊的該旗標、對應該編碼單元區塊的該調色盤表與對應該編碼單元區塊的該索引地圖。
- 如申請專利範圍第33項所述之編解碼系統,其中該解碼器根據該調色盤表獲得該一個或多個主要顏色與對應該一個或多個主要顏色的索引值,其中該調色盤表中該一個或多個主要顏色的索引值中的一最大值為對應該編碼單元區塊的該一個或多個主要顏色的數目減1,其中對應該編碼單元區塊的該一個或多個主要顏色的數目等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目。
- 如申請專利範圍第33項所述之編解碼系統,其中該解碼器根據該調色盤表獲得該一個或多個主要顏色、對應該一個或多個主要顏色的索引值與一跳脫畫素的索引值,其中該調色盤表中的該跳脫畫素的索引值為對應該編碼單元區塊的該一個或多個主要顏色的總數目,其中對應該編碼單元區塊的該一個或多個主要顏色的數目加1等於記錄在該調色盤表中該一個或多個主要顏色的索引值的總數目加1。
- 如申請專利範圍第33項所述之編解碼系統,其中該解碼器接收對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表,其中該解碼器使用一全文參考適應性二元算術編碼的一旁路模式或是使用該全文參考適應性二元算術編碼的一全文模式解壓縮對應該編碼單元區塊的該旗標與對應該編碼單元區塊的該調色盤表,其中該解碼器接收對應該編碼單元區塊的該索引地圖,其中該解碼模組根據該索引數目大小使用該全文參考適應性二元算術編碼的該旁路模式或該全文參考適應性二元算術編碼的該全文模式對對應該編碼單元區塊的該索引地圖進行解壓縮,以獲得該索引地圖的多個索引值。
- 一種解碼方法,適用於具有多個畫素的一編碼單元區塊,包括:在一調色盤模式中,判斷對應該編碼單元區塊的一旗標的狀態值;當該旗標為一第一狀態值時,判斷該編碼單元區塊未包含跳脫畫素;以及當該旗標為一第二狀態值時,判斷該編碼單元區塊包含至少一跳脫畫素。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510304620.9A CN105323583B (zh) | 2014-06-13 | 2015-06-05 | 编码方法、解码方法、编解码系统、编码器与解码器 |
US14/733,976 US10187639B2 (en) | 2014-06-13 | 2015-06-09 | Encoding method, decoding method, encoding/decoding system, encoder, and decoder |
EP15171301.3A EP2955919B1 (en) | 2014-06-13 | 2015-06-10 | Decoding method, encoder, and decoder |
US15/822,215 US10944969B2 (en) | 2014-06-13 | 2017-11-27 | Encoding method, decoding method, encoding/decoding system, encoder, and decoder |
US17/168,142 US11785215B2 (en) | 2014-06-13 | 2021-02-04 | Encoding method, decoding method, encoding/decoding system, encoder, and decoder |
US18/460,624 US20230412805A1 (en) | 2014-06-13 | 2023-09-04 | Encoding method, decoding method, encoding/decoding system, encoder, and decoder |
US18/460,622 US20230412804A1 (en) | 2014-06-13 | 2023-09-04 | Encoding method, decoding method, encoding/decoding system, encoder, and decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462011585P | 2014-06-13 | 2014-06-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201547257A TW201547257A (zh) | 2015-12-16 |
TWI581616B true TWI581616B (zh) | 2017-05-01 |
Family
ID=55407635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104115230A TWI581616B (zh) | 2014-06-13 | 2015-05-13 | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI581616B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200733737A (en) * | 2006-02-23 | 2007-09-01 | Microsoft Corp | Pre-processing of image data for enhanced compression |
-
2015
- 2015-05-13 TW TW104115230A patent/TWI581616B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200733737A (en) * | 2006-02-23 | 2007-09-01 | Microsoft Corp | Pre-processing of image data for enhanced compression |
Also Published As
Publication number | Publication date |
---|---|
TW201547257A (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11785215B2 (en) | Encoding method, decoding method, encoding/decoding system, encoder, and decoder | |
US8977048B2 (en) | Method medium system encoding and/or decoding an image using image slices | |
US20130114687A1 (en) | Fixed intra run-level mode for cavlc in hevc | |
US20160234498A1 (en) | Methods and systems for palette table coding | |
JP2018160932A5 (ja) | スクリーンコンテンツ符号化のためのパレット符号化 | |
EP3002948A1 (en) | Decoder, decoding method, and codec system | |
US20110026819A1 (en) | Apparatus, method, and medium of encoding and decoding image data using sampling | |
WO2014050151A1 (en) | System for signaling idr and bla pictures | |
US20130114684A1 (en) | Electronic devices for selective run-level coding and decoding | |
JP3462867B2 (ja) | 画像圧縮方法および装置、画像圧縮プログラムならびに画像処理装置 | |
KR20200065780A (ko) | 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치 | |
WO2014050150A1 (en) | Signaling decoder picture buffer information | |
CN110087072B (zh) | 图像处理装置 | |
JP6469277B2 (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
TWI581616B (zh) | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 | |
CN113301339A (zh) | 数据编码、解码方法及装置 | |
CN111669590B (zh) | 基于子块的熵译码的方法、设备和系统 | |
US20150078433A1 (en) | Reducing bandwidth and/or storage of video bitstreams | |
WO2023138391A1 (zh) | 系数解码方法、装置、图像解码器及电子设备 | |
TWI565302B (zh) | 解碼器、編碼器、解碼方法、編碼方法與編解碼系統 | |
KR102543449B1 (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
KR20190091181A (ko) | 이미지 처리 장치 | |
TWI581617B (zh) | 編碼方法與解碼方法、編解碼系統、編碼器與解碼器 | |
Chang et al. | Bi-color coding for screen visual content |