CN105323583A - 编码方法、解码方法、编解码***、编码器与解码器 - Google Patents
编码方法、解码方法、编解码***、编码器与解码器 Download PDFInfo
- Publication number
- CN105323583A CN105323583A CN201510304620.9A CN201510304620A CN105323583A CN 105323583 A CN105323583 A CN 105323583A CN 201510304620 A CN201510304620 A CN 201510304620A CN 105323583 A CN105323583 A CN 105323583A
- Authority
- CN
- China
- Prior art keywords
- unit block
- coding unit
- color
- coding
- main color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006837 decompression Effects 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 239000003086 colorant Substances 0.000 abstract description 21
- 230000015654 memory Effects 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000002700 urine Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种编码方法、解码方法、编解码***、编码器与解码器。编码方法包括在调色盘模式中,当编码单元区块的每一像素的颜色皆由编码单元区块的一个或多个主要颜色来表示时,此标志会被设定为第一状态值,并且当编码单元区块的像素之中的至少一像素的颜色不由一个或多个主要颜色来表示时,此标志会被设定为第二状态值。本编码方法还包括根据所述标志的状态值与所述一个或多个主要颜色建立对应编码单元区块的调色盘表。
Description
技术领域
本公开涉及一种适用于具有多个像素的编码单元区块的编码方法与解码方法,以及使用此方法的编解码***、编码器与解码器。
背景技术
随着科技的演进,视频显示器的解析、规格、尺寸越来越高,人们对视频画面质量与尺寸的要求也随之不断上升。为满足此需求,国际电信联盟(ITU-T)下的视频编码专家小组VCEG(VideoCodingExpertsGroup)与国际标准化组织ISO/IEC下的运动图像专家小组MPEG(MovingPictureExpertsGroup)共同成立视频编码联合工作小组JCT-VC(JointCollaborativeTeamonVideoCoding),并开始H.265/HEVC(HighEfficiencyVideoCoding)专案,目标为提供比H.264/AVC(AdvancedVideoCoding)视频压缩标准更高的编码效率,尤其以高解析度(HighDefinition,HD)、超高解析度(UltraHighDefinition,UltraHD)等解析度高的视频为重。
此大尺寸与高解析度的视频应用的环境多以自然视频图像为主,并已于2013年完成制订。目前正在制定的是HEVCSCC(ScreenContentCoding,SCC)标准。屏幕分享的视频内容通常会有混合的视频内容素材,例如画面可能同时包含自然图像、大量文字图片、鼠标指标及各种线条等,由于此屏幕应用环境已不符H.265/HEVC当初所设计的目标,故JCT-VC近来已将重心转至发展新的高效能屏幕编码标准技术。SCC标准乃基于H.265/HEVC现有的工具下进行开发,例如,调色盘模式(Palettemode)便是专属于SCC标准的编码技术。调色盘模式的技术概念则是搜寻一个或多个主要颜色来代表现在正在编码中的编码单元(CodingUnit,CU)区块内的像素,并利用这些主要颜色所对应到的索引来对编码单元内的像素进行索引编号。编码端会使用此些主要颜色所对应到的索引来建立出一个索引地图,并将一个或多个主要颜色以及索引地图内对应每个像素的颜色的索引传送到解码端。
然而,为了保有编码运算的弹性,在调色盘模式中会保留一个索引,以提供给编码单元区块内不使用主要颜色来表示的像素使用,此些像素称为跳脱像素(escapepixel),而所保留的索引称为跳脱索引(escapeindex)。由此可知,在上述调色盘模式下的传输过程中,由于所传输的索引会包括主要颜色的索引以及跳脱索引,因此,若正在编码的编码单元区块根本不存在跳脱像素,保留这个跳脱索引便会增加传输编码单元区块的每个索引时不必要的负担。
发明内容
本公开提供一种编码方法与解码方法以及使用此方法的编解码***、编码器与解码器,其能够有效地提升屏幕视频编码技术的编码效能。
本公开的一范例实施例提出一种用于具有多个像素的编码单元区块的解码方法,本解码方法包括:在调色盘模式中,判断对应所述编码单元区块的标志的状态值。当所述标志为第一状态值时,判断对应所述编码单元区块的索引数目大小为所述编码单元区块的一个或多个主要颜色的数目。当所述标志为第二状态值时,判断对应所述编码单元区块的索引数目大小为所述编码单元区块的一个或多个主要颜色的数目加1。
本公开的一范例实施例提出一种用于具有多个像素的编码单元区块的编码方法,本编码方法包括:在调色盘模式中,当所述编码单元区块的每一像素的颜色皆由编码单元区块的一个或多个主要颜色来表示时,将对应所述编码单元区块的标志设定为第一状态值。当所述编码单元区块的像素之中的其中的至少一像素的颜色不由一个或多个主要颜色来表示时,将对应所述编码单元区块的标志设定为第二状态值。本编码方法还包括:根据所述标志的状态值与所述一个或多个主要颜色建立对应所述编码单元区块的调色盘表。
本公开的一范例实施例提出一种解码器,此解码器包括标志状态判定模块。标志状态判定模块在调色盘模式中判断对应编码单元区块的标志的状态值。当所述标志为第一状态值时,标志状态判定模块判断对应所述编码单元区块的索引数目大小为所述编码单元区块的一个或多个主要颜色的数目。当所述标志为第二状态值时,标志状态判定模块判断对应所述编码单元区块的索引数目大小为所述编码单元区块的一个或多个主要颜色的数目加1。
本公开的一范例实施例提出一种编码器,此编码器包括:标志设定模块以及调色盘表建立模块。在调色盘模式中,当具有多个像素的所述编码单元区块的每一像素的颜色皆由编码单元区块的一个或多个主要颜色来表示时,标志设定模块将对应所述编码单元区块的标志设定为第一状态值。当所述编码单元区块的像素之中的至少一像素的颜色不由一个或多个主要颜色来表示时,标志设定模块将对应所述编码单元区块的标志设定为第二状态值。调色盘表建立模块根据所述标志的状态值与所述一个或多个主要颜色建立对应所述编码单元区块的调色盘表。
本公开的一范例实施例提出一种编解码***,本编解码***包括:编码器与解码器。当具有多个像素的所述编码单元区块的每一像素的颜色皆由编码单元区块的一个或多个主要颜色来表示时,编码器将对应所述编码单元区块的标志设定为第一状态值。当所述编码单元区块的像素之中的其中的至少一像素的颜色不由一个或多个主要颜色来表示时,编码器将对应所述编码单元区块的标志设定为第二状态值。此外,编码器根据所述标志的状态值与所述一个或多个主要颜色建立对应所述编码单元区块的调色盘表。编码器依据对应所述编码单元区块的调色盘表以及所述编码单元区块的像素的颜色产生对应编码单元区块的索引地图,并且传送对应所述编码单元区块的标志、对应所述编码单元区块的调色盘表与对应所述编码单元区块的索引地图至所述解码器。
本公开的一范例实施例提出一种解码方法,适用于具有多个像素的编码单元区块。本解码方法包括:在调色盘模式中,判断对应所述编码单元区块的标志的状态值。当所述标志为第一状态值时,判断判断所述编码单元区块未包含跳脱像素。当所述标志为第二状态值时,判断所述编码单元区块包含至少一跳脱像素。
基于上述,本公开的范例实施例所提出的编码方法与解码方法及使用此方法的编解码***、编码器与解码器能够藉由所设定的标志决定是否保留跳脱索引的栏位,进而有效地节省编码运算时的传输位,由此提升编码效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本公开的范例实施例所绘示的编码器。
图1B是根据本公开的范例实施例所绘示的解码器。
图1C是根据本公开的范例实施例所绘示的编解码芯片。
图2A与图2B是根据本公开的一范例实施例所绘示的图像编码运作示意图。
图3是根据本公开的一范例实施例所绘示的调色盘表的一个范例。
图4是根据本公开的一范例实施例所绘示的建立索引地图的一个范例。
图5为根据本公开一范例实施例所绘示的编码方法的流程图。
图6A为根据本公开一范例实施例所绘示的进行解码的程序代码。
图6B-1与图6B-2为根据本公开一范例实施例所绘示的解码方法的流程图。
图7A与图7B是根据本公开的另一范例实施例所绘示的图像编码运作示意图。
图8是根据本公开的另一范例实施例所绘示的调色盘表的一个范例。
图9是根据本公开的另一范例实施例所绘示的建立索引地图的一个范例。
图10A与图10B是根据本公开的范例实施例所绘示的图像编解码的测试结果示意图。
【符号说明】
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:颜色
CEscape:跳脱像素
具体实施方式
图1A是根据本公开的范例实施例所绘示的编码器。
请参照图1A,编码器110包括标志设定模块112、调色盘表建立模块114、索引地图建立模块116、编码模块118、存储电路130与处理器电路140。
在本范例实施例中,存储电路130用以存储各种数据、程序代码,或是待处理及处理后的图像。例如,存储电路130可以是存储器(memory)或硬盘(HardDiskDrive,HDD)等存储介质,但不限于此。处理器电路140用以控制编码器110的整体运作。例如,处理器电路140可以是中央处理器(CPU)、微处理器(micro-processor)或嵌入式控制器(embeddedcontroller),本公开并不加以限制。处理器电路140是耦接至存储电路130,并且用以控制标志设定模块112、调色盘表建立模块114、索引地图建立模块116与编码模块118来进行编码操作。
在H.265/HEVC的标准下,是以一个编码树单元(CodingTreeUnit,CTU)作为编码单元(CodingUnit,CU)编码时的最大处理区块,此编码树单元的大小可以设定为64×64的区块。编码单元区块则可以是小于或等于编码树单元的区块大小。举例而言,编码单元区块为一正方矩形并且其大小可以是64×64、32×32、16×16或8×8的区块。另外,在本公开范例实施例中所述的编码单元区块具有多个像素,并且编码单元区块大小的单位为像素。在本范例实施例中,为了方便说明,以下以编码单元区块的大小为4×4的区块做为例示。
在本范例实施例中,标志设定模块112用以在调色盘模式中为编码单元区块设定一标志。例如,当编码单元区块的每一像素的颜色皆由编码单元区块的一个或多个主要颜色来表示时,标志设定模块112将对应编码单元区块的标志设定为第一状态值。反之,当编码单元区块的像素之中的至少一像素的颜色不以一个或多个主要颜色来表示时,标志设定模块112将对应编码单元区块的标志设定为第二状态值。又例如,当编码单元区块中不包含跳脱像素(escapepixel)时,标志设定模块112将对应编码单元区块的标志设定为第一状态值。反之,当编码单元区块中包含跳脱像素时,标志设定模块112将对应编码单元区块的标志设定为第二状态值。值得注意的是,本公开所指的一个颜色并不局限于由单一组成元素所组成的颜色,也可以是指由数个组成元素所组成的对应颜色,例如,是指由三个组成元素所组成的对应YUV格式或RGB格式的颜色。YUV格式用以编译颜色空间(colorspace),其中“Y”表示明亮度(Luminance、Luma),“U”和“V”则是表示色度与浓度(Chrominance、Chroma),并且Y、Cb、Cr用来描述其组成元素。RGB格式是一种加色模型,用以将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以产生多种多样的色光,其中R、G、B用来描述其组成元素。
调色盘表建立模块114用以建立对应编码单元区块的一调色盘表(Palettetable)。
索引地图建立模块116用以依据对应编码单元区块的调色盘表以及编码单元区块的像素的颜色产生对应编码单元区块的索引地图。
编码模块118用以将对应编码单元区块的标志、调色盘表与索引地图进行编码,编码模块118用以进行编码的方式可以是使用全文参考适应性二元算术编码(Context-basedAdaptiveBinaryArithmeticCoding,CABAC)的旁路模式(bypassmode),也可以是使用CABAC的全文模式(contextmode)。
编码器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用以在调色盘模式(Palettemode)中接收编码器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为静态随机存取存储器(StaticRandom-AccessMemory,SRAM),但不限于此,在另一范例实施例中,缓冲存储器106可以是动态随机存取存储器(DynamicRandomAccessMemory)或其他存储器。在另一范例实施例中,编解码芯片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并不存在跳脱像素(escapepixel),并且将对应编码单元区块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个索引值。在此,假设在本范例实施例中,是使用等机率编码方法(fixedlengthencodingmethod),因此,仅需使用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”代表调色盘表的索引数目大小的最大值,以及参数“uiSignalEscape”代表标志。
请再参照图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的像素设定为跳脱像素CEscape。
由此可知,在本范例实施例中,量化至主要颜色的候选颜色的像素的数目大于上述数目阈值(即,2),而量化为跳脱像素CEscape的候选颜色的像素的数目不大于上述数目阈值。值得一提的是,本公开并不加以限制颜色差距阈值与数目阈值的大小。例如,在另一范例实施例中,颜色差距阈值与数目阈值的大小会随着编码运算的量化参数而被动态地调整。
请参照图7B,接着,调色盘表建立模块114分别地设定对应主要颜色C1与对应跳脱像素CEscape的索引值。例如,调色盘表建立模块114使用编号0、1作为分别对应主要颜色C1与对应跳脱像素CEscape的索引值。
在本范例实施例中,由于编码单元区块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中,并且将对应此跳脱像素CEscape的索引值(即,1)记录于调色盘表800中的第二行820的索引值栏位802中。此外,在调色盘表800中,调色盘表建立模块114会将多个索引值中的最大值设为对应编码单元区块的一个或多个主要颜色的数目,例如,索引值中的最大值(即,1)为对应编码单元区块200的主要颜色(即,主要颜色C1)的数目。并且对应此编码单元区块200的主要颜色的数目加1(即,2)等于记录在调色盘表800中主要颜色的索引值的总数目加1。
图9是根据本公开的另一范例实施例所绘示的建立索引地图的一个范例。
请参照图9,之后,索引地图建立模块116即可根据对应主要颜色C1的索引值(即,0)与跳脱像素CEscape的索引值(即,1),使用调色盘模式对编码单元区块200中的每一像素进行索引编号以产生索引地图900。换句话说,在索引地图900中编码单元区块200的每一像素的颜色是以对应主要颜色C1与对应跳脱像素CEscape的索引值0与1来呈现。在一范例实施例中,请同时参照图8与图9,索引值被设定为1的像素(即跳脱像素CEscape)的像素值以传统方式逐一传送至解码端,因此在图8的第二行820的颜色栏位804并不需限定为特定像素值。
接着,编码模块118会将标志、调色盘表800与索引地图900经过CABAC编码传送至解码器120,或者是将标志、调色盘表800与索引地图900传送至解码器120。在本范例实施例中,编码模块118还会将属于跳脱像素CEscape的颜色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与跳脱像素CEscape的索引值分别为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&graphicswithmotion”是SCC较常遇到的视频应用,其内容大多为简报、软件呈现等SCC常见应用,而“mixedcontent”则是包含SCC常用的视频应用与HEVC常见的自然图像的应用,而“animation”则是动画视频,其中“animation”的应用较少用于SCC环境。这些视频类别根据大小又区分成720p,1080p和1440p三种。在此,所呈现的数据都是BDrate,BDrate是JCT-VC标准组织通用已知的视频质量的客观评比测量方法,当数据小于零且越小表示相同比特率(bitrate)的视觉质量越好。
具体来说,图10A与图10B所示的测试结果分为对应本公开编码单元区块不具有跳脱像素的实施例与编码单元区块具有跳脱像素的实施例的BDrate效能。由数据结果可发现,本公开所提的做法相较目前标准的作法,在复杂度几乎不改变的情况下,即可有很大的效能提升,此两个实施例的效能分别最大可达到-0.7%与-1.4%的提升。这些效能的提升尤其以“text&graphicswithmotion”这种SCC较常遇到的视频应用类别较为显著。
综上所述,本公开的范例实施例所提出的编码方法与解码方法以及使用此方法的编解码***、编码器与解码器藉由所设定的标志决定是否保留跳脱索引的栏位,由此能够节省传输位并有效地减少编码运算时的传输量,进而提升屏幕视频编码的效能。
Claims (45)
1.一种解码方法,其特征在于,适用于具有多个像素的编码单元区块,包括:
在调色盘模式中,判断对应该编码单元区块的标志的状态值;
当该标志为第一状态值时,判断对应该编码单元区块的索引数目大小为该编码单元区块的一个或多个主要颜色的数目;以及
当该标志为第二状态值时,判断对应该编码单元区块的该索引数目大小为该编码单元区块的该一个或多个主要颜色的数目加1。
2.如权利要求1所述的解码方法,其中还包括:
解码对应该编码单元区块的该标志、对应该编码单元区块的调色盘表与对应该编码单元区块的索引地图;以及
根据对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图重建该编码单元区块。
3.如权利要求2所述的解码方法,其中解码对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图的步骤包括:
接收对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图;以及
使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
4.如权利要求3所述的解码方法,其中使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图的步骤包括:
判断对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图是否使用该全文参考适应性二元算术编码而被压缩,
其中倘若对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图是使用该全文参考适应性二元算术编码而被压缩,则使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
5.如权利要求1所述的解码方法,其中当该标志为该第一状态值时,判断对应该编码单元区块的该索引数目大小为该编码单元区块的该一个或多个主要颜色的数目的步骤包括:
根据调色盘表获得该一个或多个主要颜色与对应该一个或多个主要颜色的索引值,
其中该调色盘表中该一个或多个主要颜色的索引值中的最大值为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
6.如权利要求1所述的解码方法,其中当该标志为该第二状态值时,判断对应该编码单元区块的该索引数目大小为该编码单元区块的该一个或多个主要颜色的数目加1的步骤包括:
根据调色盘表获得该一个或多个主要颜色、对应该一个或多个主要颜色的索引值与该跳脱像素的索引值,
其中该调色盘表中的该跳脱像素的索引值为对应该编码单元区块的该一个或多个主要颜色的数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
7.如权利要求1所述的解码方法,其中还包括:
接收对应该编码单元区块的该标志与对应该编码单元区块的调色盘表;
使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表;
接收对应该编码单元区块的索引地图;以及
根据该索引数目大小使用该全文参考适应性二元算术编码的该旁路模式或该全文参考适应性二元算术编码的该全文模式对对应该编码单元区块的该索引地图进行解压缩,以获得该索引地图的多个索引值。
8.一种编码方法,其特征在于,适用于具有多个像素的编码单元区块,包括:
在调色盘模式中,当该编码单元区块的每一这些像素的颜色皆由该编码单元区块的一个或多个主要颜色来表示时,将对应该编码单元区块的标志设定为第一状态值;
在该调色盘模式中,当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,将对应该编码单元区块的该标志设定为第二状态值;以及
根据该标志的状态值与该一个或多个主要颜色建立对应该编码单元区块的调色盘表。
9.如权利要求8所述的编码方法,还包括:
依据对应该编码单元区块的该调色盘表以及该编码单元区块的这些像素的颜色产生对应该编码单元区块的索引地图;以及
传送对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
10.如权利要求9所述的编码方法,其中传送对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图的步骤包括:
将对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式进行压缩;以及
传送压缩后的对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
11.如权利要求8所述的编码方法,其中根据该标志的状态值与该一个或多个主要颜色建立对应该编码单元区块的该调色盘表的步骤包括:
根据该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色;
分别地设定对应该一个或多个主要颜色的索引值;
当该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中;以及
当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,设定对应一跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中。
12.如权利要求11所述的编码方法,其中根据该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色的步骤包括:
根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色。
13.如权利要求11所述的编码方法,其中根据该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色的步骤包括:
根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个候选颜色;以及
根据数目阈值和该一个或多个候选颜色的像素值将该一个或多个候选颜色分别设定为一个或多个主要颜色,和/或一跳脱像素。
14.如权利要求11所述的编码方法,其中当该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中的步骤包括:
将对应该编码单元区块的该调色盘表的索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目,
在该调色盘表中将该一个或多个主要颜色的索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
15.如权利要求11所述的编码方法,其中当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,设定对应该跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中的步骤包括:
将对应该编码单元区块的该调色盘表的该索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目加1;
在该调色盘表中将这些索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
16.一种解码器,其特征在于,包括:
标志状态判定模块,在调色盘模式中,判断对应编码单元区块的标志的状态值;
其中当该标志为第一状态值时,该标志状态判定模块判断对应该编码单元区块的索引数目大小为该编码单元区块的一个或多个主要颜色的数目,
其中当该标志为第二状态值时,该标志状态判定模块判断对应该编码单元区块的该索引数目大小为该编码单元区块的该一个或多个主要颜色的数目加1。
17.如权利要求16所述的解码器,还包括:
解码模块,解码对应该编码单元区块的该标志、对应该编码单元区块的调色盘表与对应该编码单元区块的索引地图,并根据对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图重建该编码单元区块。
18.如权利要求17所述的解码器,还包括:
接收模块,接收对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表,且该解码模块接收对应该编码单元区块的该索引地图,
其中该接收模块使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表,该解码模块使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该索引地图。
19.如权利要求18所述的解码器,其中在该接收模块使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表,该解码模块使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该索引地图的操作中,该接收模块判断对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表是否使用该全文参考适应性二元算术编码而被压缩,该解码模块判断对应该编码单元区块的该索引地图是否使用该全文参考适应性二元算术编码而被压缩,
其中倘若该接收模块判断所接收的对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表是使用该全文参考适应性二元算术编码而被压缩,则使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块,倘若该解码模块判断所接收的对应该编码单元区块的该索引地图是使用该全文参考适应性二元算术编码而被压缩,则使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩该索引地图。
20.如权利要求16所述的解码器,其中该标志状态判定模块根据调色盘表获得该一个或多个主要颜色与对应该一个或多个主要颜色的索引值,
其中该调色盘表中该一个或多个主要颜色的索引值中的最大值为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
21.如权利要求16所述的解码器,其中该标志状态判定模块根据调色盘表获得该一个或多个主要颜色、对应该一个或多个主要颜色的索引值与该跳脱像素的索引值,
其中该调色盘表中的该跳脱像素的索引值为对应该编码单元区块的该一个或多个主要颜色的总数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
22.如权利要求16所述的解码器,还包括:
接收模块,接收对应该编码单元区块的该标志与对应该编码单元区块的调色盘表,并使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表;以及
解码模块,接收对应该编码单元区块的索引地图,并根据该索引数目大小使用该全文参考适应性二元算术编码的该旁路模式或该全文参考适应性二元算术编码的该全文模式对对应该编码单元区块的该索引地图进行解压缩,以获得该索引地图的多个索引值。
23.一种编码器,其特征在于,该编码器包括:
标志设定模块,在调色盘模式中,当具有多个像素的编码单元区块的每一这些像素的颜色皆由该编码单元区块的一个或多个主要颜色来表示时,将对应该编码单元区块的标志设定为第一状态值,当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该标志设定模块将对应该编码单元区块的该标志设定为第二状态值;以及
调色盘表建立模块,根据该标志的状态值与该一个或多个主要颜色建立对应该编码单元区块的调色盘表。
24.如权利要求23所述的编码器,还包括:
索引地图建立模块,依据对应该编码单元区块的该调色盘表以及该编码单元区块的这些像素的颜色产生对应该编码单元区块的索引地图;以及
编码模块,传送对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
25.如权利要求24所述的编码器,其中该编码模块将对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式进行压缩,
其中该编码模块传送压缩后的对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
26.如权利要求23所述的编码器,其中该调色盘表建立模块根据该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色,
其中该调色盘表建立模块分别地设定对应该一个或多个主要颜色的索引值,
其中当该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,该调色盘表建立模块将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,
其中当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该调色盘表建立模块设定对应跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中。
27.如权利要求26所述的编码器,其中该调色盘表建立模块根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色。
28.如权利要求26所述的编码器,其中该调色盘表建立模块根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个候选颜色,
其中该调色盘表建立模块根据数目阈值和该一个或多个候选颜色的像素值将该一个或多个候选颜色分别设定为一个或多个主要颜色,和/或该跳脱像素。
29.如权利要求26所述的编码器,其中在该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,该调色盘表建立模块将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中的操作中,该调色盘表建立模块将对应该编码单元区块的该调色盘表的索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目,
其中该调色盘表建立模块在该调色盘表中将该一个或多个主要颜色的索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
30.如权利要求26所述的编码器,其中在该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该调色盘表建立模块设定对应该跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中的操作中,该调色盘表建立模块将对应该编码单元区块的该调色盘表的索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目加1,
其中该调色盘表建立模块在该调色盘表中将这些索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
31.一种编解码***,其特征在于,包括:
编码器,在调色盘模式中,当具有多个像素的编码单元区块的每一这些像素的颜色皆由该编码单元区块的一个或多个主要颜色来表示时,将对应该编码单元区块的标志设定为第一状态值,当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该编码器将对应该编码单元区块的该标志设定为第二状态值,其中该编码器根据该标志的状态值与该一个或多个主要颜色建立对应该编码单元区块的调色盘表;以及
解码器,
其中该编码器依据对应该编码单元区块的该调色盘表以及该编码单元区块的这些像素的颜色产生对应该编码单元区块的索引地图,并且传送对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图至该解码器。
32.如权利要求31所述的编解码***,其中该编码器将对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式进行压缩,
其中该编码器传送压缩后的对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
33.如权利要求31所述的编解码***,其中该解码器在该调色盘模式中判断对应该编码单元区块的该标志的状态值,
其中当该标志为该第一状态值时,该解码器判断对应该编码单元区块的索引数目大小为该编码单元区块的一个或多个主要颜色的数目,
其中当该标志为该第二状态值时,该解码器判断对应该编码单元区块的该索引数目大小为该编码单元区块的该一个或多个主要颜色的数目加1。
34.如权利要求31所述的编解码***,其中该编码器根据该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色,
其中该编码器分别地设定对应该一个或多个主要颜色的索引值,
其中当该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,该编码器将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,
其中当该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该编码器设定对应跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中。
35.如权利要求34所述的编解码***,其中该编码器根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个主要颜色。
36.如权利要求34所述的编解码***,其中该编码器根据颜色差距阈值和该编码单元区块的这些像素的颜色选择对应该编码单元区块的该一个或多个候选颜色,
其中该编码器根据数目阈值和该一个或多个候选颜色的像素值将该一个或多个候选颜色分别设定为一个或多个主要颜色,和/或该跳脱像素。
37.如权利要求34所述的编解码***,其中在该编码单元区块的每一这些像素的颜色皆由该编码单元区块的该一个或多个主要颜色来表示时,该编码器将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中的操作中,该编码器将对应该编码单元区块的该调色盘表的索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目,
其中该编码器在该调色盘表中将该一个或多个主要颜色的索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
38.如权利要求34所述的编解码***,其中该编码单元区块的这些像素之中的至少一像素的颜色不由该一个或多个主要颜色来表示时,该编码器设定对应该跳脱像素的索引值,将该一个或多个主要颜色与对应该一个或多个主要颜色的索引值记录于该调色盘表中,并且将对应该跳脱像素的索引值记录于该调色盘表中的操作中,其中该编码器将对应该编码单元区块的该调色盘表的该索引数目大小设定为该编码单元区块的该一个或多个主要颜色的数目加1,
其中该编码器在该调色盘表中将这些索引值中的最大值设为对应该编码单元区块的该一个或多个主要颜色的数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
39.如权利要求33所述的编解码***,其中该解码器解码对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图,并且根据对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图重建该编码单元区块。
40.如权利要求39所述的编解码***,其中该解码器接收对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图,
其中该解码器使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
41.如权利要求40所述的编解码***,其中在该编码器使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式解压缩该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图的操作中,该解码器判断对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图是否使用该全文参考适应性二元算术编码而被压缩,
其中倘若该解码器判断所接收的对应该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图是使用该全文参考适应性二元算术编码而被压缩,则使用该全文参考适应性二元算术编码的该旁路模式或是使用该全文参考适应性二元算术编码的该全文模式压缩该编码单元区块的该标志、对应该编码单元区块的该调色盘表与对应该编码单元区块的该索引地图。
42.如权利要求33所述的编解码***,其中该解码器根据该调色盘表获得该一个或多个主要颜色与对应该一个或多个主要颜色的索引值,
其中该调色盘表中该一个或多个主要颜色的索引值中的最大值为对应该编码单元区块的该一个或多个主要颜色的数目减1,
其中对应该编码单元区块的该一个或多个主要颜色的数目等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目。
43.如权利要求33所述的编解码***,其中该解码器根据该调色盘表获得该一个或多个主要颜色、对应该一个或多个主要颜色的索引值与该跳脱像素的索引值,
其中该调色盘表中的该跳脱像素的索引值为对应该编码单元区块的该一个或多个主要颜色的总数目,
其中对应该编码单元区块的该一个或多个主要颜色的数目加1等于记录在该调色盘表中该一个或多个主要颜色的索引值的总数目加1。
44.如权利要求33所述的编解码***,其中该解码器接收对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表,
其中该解码器使用全文参考适应性二元算术编码的旁路模式或是使用该全文参考适应性二元算术编码的全文模式解压缩对应该编码单元区块的该标志与对应该编码单元区块的该调色盘表,
其中该解码器接收对应该编码单元区块的该索引地图,
其中该解码模块根据该索引数目大小使用该全文参考适应性二元算术编码的该旁路模式或该全文参考适应性二元算术编码的该全文模式对对应该编码单元区块的该索引地图进行解压缩,以获得该索引地图的多个索引值。
45.一种解码方法,其特征在于,适用于具有多个像素的编码单元区块,包括:
在调色盘模式中,判断对应该编码单元区块的标志的状态值;
当该标志为第一状态值时,判断该编码单元区块未包含跳脱像素;以及
当该标志为第二状态值时,判断该编码单元区块包含至少一跳脱像素。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462011585P | 2014-06-13 | 2014-06-13 | |
US62/011,585 | 2014-06-13 | ||
TW104115230A TWI581616B (zh) | 2014-06-13 | 2015-05-13 | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 |
TW104115230 | 2015-05-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105323583A true CN105323583A (zh) | 2016-02-10 |
CN105323583B CN105323583B (zh) | 2019-11-15 |
Family
ID=53373334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510304620.9A Active CN105323583B (zh) | 2014-06-13 | 2015-06-05 | 编码方法、解码方法、编解码***、编码器与解码器 |
Country Status (3)
Country | Link |
---|---|
US (5) | US10187639B2 (zh) |
EP (1) | EP2955919B1 (zh) |
CN (1) | CN105323583B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331716A (zh) * | 2016-08-31 | 2017-01-11 | 钟炎培 | 视频压缩方法和装置 |
US10225556B2 (en) | 2015-06-08 | 2019-03-05 | Industrial Technology Research Institute | Method and apparatus of encoding or decoding coding units of a video content in a palette coding mode using an adaptive palette predictor |
CN112927650A (zh) * | 2021-01-28 | 2021-06-08 | 深圳市天乐思科技有限公司 | 一种可编程的无线led显示方法及led显示装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097848B2 (en) | 2014-05-23 | 2018-10-09 | Hfi Innovation Inc. | Methods for palette size signaling and conditional palette escape flag signaling |
US10136141B2 (en) * | 2014-06-11 | 2018-11-20 | Qualcomm Incorporated | Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding |
CN105323583B (zh) * | 2014-06-13 | 2019-11-15 | 财团法人工业技术研究院 | 编码方法、解码方法、编解码***、编码器与解码器 |
US10057587B2 (en) * | 2015-01-31 | 2018-08-21 | Qualcomm Incorporated | Coding escape pixels for palette mode coding |
GB2539486B (en) * | 2015-06-18 | 2019-07-31 | Gurulogic Microsystems Oy | Encoder, decoder and method employing palette compression |
PL3731527T3 (pl) * | 2016-05-28 | 2023-01-09 | Hfi Innovation Inc. | Sposób i urządzenie do kodowania w trybie palety dla danych kolorowego wideo |
CN107295343A (zh) * | 2017-06-27 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种调色板变换算法的优化方法、装置及*** |
CN107221003A (zh) * | 2017-07-17 | 2017-09-29 | 太微恒道新科技(深圳)有限公司 | 一种活植物体编码艺术画生产***及其生产方法 |
US11695919B2 (en) * | 2018-08-28 | 2023-07-04 | Google Llc | Lossy image compression using palettization of locally mixed colors |
US11503311B2 (en) * | 2019-03-08 | 2022-11-15 | Sony Group Corporation | Hybrid palette-DPCM coding for image compression |
WO2021055970A1 (en) * | 2019-09-19 | 2021-03-25 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus of video coding using palette mode |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010055803A (ko) * | 1999-12-13 | 2001-07-04 | 구자홍 | 디지털 방송 수신기의 온스크린 디스플레이 데이터 깜박임처리방법 |
JP2002262100A (ja) * | 2001-03-05 | 2002-09-13 | Nippon Telegr & Teleph Corp <Ntt> | 計算機画面画像符号化方法およびその実行プログラムとその実行プログラムを記録した記録媒体 |
CN101340587A (zh) * | 2007-07-05 | 2009-01-07 | 联发科技股份有限公司 | 编码输入图像的方法以及播放已编码图像的方法及装置 |
WO2013177975A1 (en) * | 2012-05-29 | 2013-12-05 | Mediatek Inc. | Method and apparatus for coding of sample adaptive offset information |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2114404B (en) | 1982-01-28 | 1986-07-02 | British Broadcasting Corp | Generating a colour video signal representative of a stored picture |
JPH06180573A (ja) | 1992-10-01 | 1994-06-28 | Hudson Soft Co Ltd | 画像形成方法 |
JP3884172B2 (ja) | 1997-10-02 | 2007-02-21 | 株式会社東芝 | 可変長復号化装置および復号化方法 |
CN1251492C (zh) | 2002-04-19 | 2006-04-12 | 精工爱普生株式会社 | 利用基数近似或利用差分码和转义码的帧压缩 |
US7136533B2 (en) | 2002-12-19 | 2006-11-14 | Hewlett-Packard Development Company, L.P. | Color image compression with adaptive prediction |
US8243340B2 (en) | 2006-02-23 | 2012-08-14 | Microsoft Corporation | Pre-processing of image data for enhanced compression |
US7724164B2 (en) | 2007-01-24 | 2010-05-25 | Samsung Electronics Co., Ltd. | Apparatus and method of dynamically caching symbols to manage a dictionary in a text image coding and decoding system |
US8410959B2 (en) | 2010-04-09 | 2013-04-02 | Qualcomm, Incorporated | Variable length codes for coding of video data |
CN104054346A (zh) * | 2012-01-19 | 2014-09-17 | 索尼公司 | 图像处理装置和方法 |
US10291827B2 (en) * | 2013-11-22 | 2019-05-14 | Futurewei Technologies, Inc. | Advanced screen content coding solution |
CN110225345B (zh) * | 2013-12-27 | 2022-07-19 | 寰发股份有限公司 | 用于主颜色索引图编码的方法及装置 |
US9872040B2 (en) * | 2014-01-02 | 2018-01-16 | Qualcomm Incorporated | Color index coding for palette-based video coding |
US9699468B2 (en) * | 2014-02-10 | 2017-07-04 | Microsoft Technology Licensing, Llc | Adaptive screen and video coding scheme |
US10038915B2 (en) | 2014-05-22 | 2018-07-31 | Qualcomm Incorporated | Escape sample coding in palette-based video coding |
US10097848B2 (en) * | 2014-05-23 | 2018-10-09 | Hfi Innovation Inc. | Methods for palette size signaling and conditional palette escape flag signaling |
CN105323583B (zh) * | 2014-06-13 | 2019-11-15 | 财团法人工业技术研究院 | 编码方法、解码方法、编解码***、编码器与解码器 |
US20160234498A1 (en) * | 2015-02-05 | 2016-08-11 | Sharp Laboratories Of America, Inc. | Methods and systems for palette table coding |
-
2015
- 2015-06-05 CN CN201510304620.9A patent/CN105323583B/zh active Active
- 2015-06-09 US US14/733,976 patent/US10187639B2/en active Active
- 2015-06-10 EP EP15171301.3A patent/EP2955919B1/en active Active
-
2017
- 2017-11-27 US US15/822,215 patent/US10944969B2/en active Active
-
2021
- 2021-02-04 US US17/168,142 patent/US11785215B2/en active Active
-
2023
- 2023-09-04 US US18/460,622 patent/US20230412804A1/en active Pending
- 2023-09-04 US US18/460,624 patent/US20230412805A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010055803A (ko) * | 1999-12-13 | 2001-07-04 | 구자홍 | 디지털 방송 수신기의 온스크린 디스플레이 데이터 깜박임처리방법 |
JP2002262100A (ja) * | 2001-03-05 | 2002-09-13 | Nippon Telegr & Teleph Corp <Ntt> | 計算機画面画像符号化方法およびその実行プログラムとその実行プログラムを記録した記録媒体 |
CN101340587A (zh) * | 2007-07-05 | 2009-01-07 | 联发科技股份有限公司 | 编码输入图像的方法以及播放已编码图像的方法及装置 |
WO2013177975A1 (en) * | 2012-05-29 | 2013-12-05 | Mediatek Inc. | Method and apparatus for coding of sample adaptive offset information |
Non-Patent Citations (3)
Title |
---|
C. GISQUET: "Crosscheck of AHG10: Simplification of Palette Based Coding", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 17TH MEETING:VALENCIA,ES》 * |
WEI PU: "AHG10: Simplification of Palette Based Coding", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 17TH MEETING:VALENCIA,ES》 * |
XUN GUO: "JCTVC-O0182:AHG8: Major-color-based screen content coding", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 15TH MEETING: GENEVA, CH》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10225556B2 (en) | 2015-06-08 | 2019-03-05 | Industrial Technology Research Institute | Method and apparatus of encoding or decoding coding units of a video content in a palette coding mode using an adaptive palette predictor |
CN106331716A (zh) * | 2016-08-31 | 2017-01-11 | 钟炎培 | 视频压缩方法和装置 |
CN106331716B (zh) * | 2016-08-31 | 2019-05-24 | 西安万像电子科技有限公司 | 视频压缩方法和装置 |
CN112927650A (zh) * | 2021-01-28 | 2021-06-08 | 深圳市天乐思科技有限公司 | 一种可编程的无线led显示方法及led显示装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105323583B (zh) | 2019-11-15 |
US10187639B2 (en) | 2019-01-22 |
US20180084251A1 (en) | 2018-03-22 |
EP2955919A3 (en) | 2016-02-10 |
US10944969B2 (en) | 2021-03-09 |
US20230412805A1 (en) | 2023-12-21 |
US20150365670A1 (en) | 2015-12-17 |
EP2955919A2 (en) | 2015-12-16 |
EP2955919B1 (en) | 2018-10-24 |
US20210160496A1 (en) | 2021-05-27 |
US11785215B2 (en) | 2023-10-10 |
US20230412804A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105323583B (zh) | 编码方法、解码方法、编解码***、编码器与解码器 | |
US20170302939A1 (en) | Adaptive screen and video coding scheme | |
CA2572967C (en) | Multi-mode image processing | |
Lin et al. | Mixed chroma sampling-rate high efficiency video coding for full-chroma screen content | |
KR100566122B1 (ko) | 모바일 디바이스용 정지영상 압축 방법 | |
WO2015120818A1 (zh) | 图像编码、解码方法及装置 | |
WO2019210822A1 (zh) | 视频编解码方法、装置、***及存储介质 | |
KR20150114992A (ko) | 프레임 버퍼 압축을 위한 혼합 모드 | |
CN109831668B (zh) | 数据压缩方法及装置、数据编码/解码方法及装置 | |
US20160100161A1 (en) | Decoder, encoder, decoding method, encoding method, and codec system | |
CN104853211A (zh) | 使用多种形式的参考像素存储空间的图像压缩方法和装置 | |
CN113542740B (zh) | 图像传输方法及装置 | |
CN101352046A (zh) | 图像编码/解码方法与装置 | |
US20180131949A1 (en) | Method and system for encoding and decoding, encoder and decoder | |
CN104581177A (zh) | 一种结合块匹配和串匹配的图像压缩方法和装置 | |
CN110234010A (zh) | 视频编码方法/装置以及视频解码方法/装置 | |
JP3462867B2 (ja) | 画像圧縮方法および装置、画像圧縮プログラムならびに画像処理装置 | |
CN104918050A (zh) | 使用动态排列重组的参考像素样值集的图像压缩方法 | |
CN113301339A (zh) | 数据编码、解码方法及装置 | |
CN107222743A (zh) | 一种图像处理方法、装置和*** | |
TWI581616B (zh) | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 | |
CN106961601B (zh) | 数据块压缩和解压缩的方法、装置、设备及介质 | |
JPH01161993A (ja) | カラー画像情報の符号化方法 | |
CN110460901A (zh) | 一种视频发送和接收方法及其设备 | |
CN115643460A (zh) | 一种应用于息屏图像的图像处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |