CN105282550A - 编码方法与解码方法、编解码系统、编码器与解码器 - Google Patents
编码方法与解码方法、编解码系统、编码器与解码器 Download PDFInfo
- Publication number
- CN105282550A CN105282550A CN201510315424.1A CN201510315424A CN105282550A CN 105282550 A CN105282550 A CN 105282550A CN 201510315424 A CN201510315424 A CN 201510315424A CN 105282550 A CN105282550 A CN 105282550A
- Authority
- CN
- China
- Prior art keywords
- index
- pixel
- value
- pixels
- scanned
- 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.)
- Pending
Links
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/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/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/174—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 slice, e.g. a line of blocks or a group of 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/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种编码与解码方法、编解码系统、编码器与解码器。本编码方法包括接收一画面的第一编码单元,以及在所述画面中的多个像素中选出第一索引像素与第二索引像素并且设定对应此两个像素的索引值,其中第一索引像素的颜色不同于第二索引像素的颜色。本编码方法还包括对第一编码单元中的每一像素进行索引编号以产生索引地图。本编码方法还包括依据索引地图产生对应第一编码单元的编码值以及将编码值传送至解码端,其中在索引地图中仅对应第一编码单元的像素中的第1个被扫描像素的索引值被记录在编码值中。
Description
技术领域
本公开涉及一种对编码单元进行编码与解码的编码方法与解码方法,以及使用此方法的编解码系统、编码器与解码器。
背景技术
随着科技的演进,视频显示器的解析、规格、尺寸越来越高,人们对视频画面质量与尺寸的要求也随之不断上升。为满足此需求,国际电信联盟(ITU-T)下的视频编码专家小组VCEG(VideoCodingExpertsGroup)与国际标准化组织ISO/IEC下的动态画像专家小组MPEG(MovingPictureExpertsGroup)共同成立视频编码联合工作小组JCT-VC(JointCollaborativeTeamonVideoCoding),并开始H.265/HEVC(HighEfficiencyVideoCoding)专案,目标为提供比H.264/AVC(AdvancedVideoCoding)视频压缩标准更高的编码效率(在相同主观质量下约可节省50%的位元率),尤其以高解析度(HighDefinition,HD)、超高解析度(UltraHighDefinition,UltraHD)等解析度高的视频为重。
此大尺寸与高解析度的视频应用的环境多以自然视频图像为主,并已于2013年完成制订,目前正在制定的是H.265/HEVC应用范围扩展(RangeExtensions),其中包含制定针对屏幕分享应用服务所需要的屏幕视频内容编码(ScreenContentCoding,SCC)标准。屏幕分享的视频内容通常会有混合的视频内容素材,例如画面可能同时包含自然图像、大量文字图片、鼠标指标及各种线条等,由于此屏幕应用环境已不符H.265/HEVC当初所设计的目标,故JCT-VC近来已将重心转至发展新的高效能屏幕编码标准技术。SCC标准乃基于H.265/HEVC现有的工具下进行开发,例如,单颜色模式(Singlecolormode)与调色盘模式(Palettemode)等,便是属于SCC标准的编码技术。
单颜色模式是藉由搜寻编码单元(CodingUnit,CU)区块的邻近像素,并从此些邻近像素中找到一个颜色来表示编码单元区块内的所有像素。之后,编码端便将对应于此一个像素的邻近像素的索引传输到解码端。而调色盘模式的技术概念则是搜寻一个或多个颜色来代表现在正在编码中的编码单元区块内的画面,并利用这些颜色所对应到的索引来对编码单元内的每一个像素进行索引编号。编码端会使用此些颜色所对应到的索引来建立出一个索引地图,并将一个或多个代表颜色以及索引地图内对应每个像素的颜色的索引传送到解码端。由此可知,在上述调色盘模式中,若以多个颜色来代表现在正在编码中的编码单元区块的画面时,则需传送多个代表颜色以及对应每个像素的颜色的索引,因此,造成编码效能的降低。据此,如何能提升编码的效能,以减少编码运算中不必要的传输与计算,已成为当务之急。
发明内容
本公开提供一种编码方法与解码方法以及使用此方法的编解码系统、编码器与解码器,其能够有效地提升屏幕视频编码技术的编码效能。
本公开的一范例实施例提出一种编码方法,本编码方法包括:接收一画面的第一编码单元,此第一编码单元具有以L×L矩阵形式的多个像素,且L为正整数。本编码方法还包括:在所述画面中的多个像素中选出两个像素作为第一索引像素与第二索引像素,其中第一索引像素的颜色不同于第二索引像素的颜色。本编码方法也包括:对第一编码单元中的每一像素进行索引编号以产生一索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。本编码方法还包括:依据索引地图产生对应第一编码单元的一编码值,以及将编码值传送至解码端,其中在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。
本公开的一范例实施例提出一种解码方法,本解码方法包括:接收对应第一编码单元的编码值,其中第一编码单元具有以一L×L矩阵形式排列的多个像素,并且L为正整数。本解码方法还包括:根据此编码值中的一索引值、至少一复制模式以及至少一跑字符的值重建对应第一编码单元的索引地图,其中所接收的编码值仅针对在索引地图中的第一编码单元的第1个被扫描像素的索引值进行解码。本解码方法还包括:获得第一索引像素的颜色与第二索引像素的颜色,以及根据第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值重建第一编码单元的多个像素,其中第一索引像素的颜色不同于第二索引像素的颜色。
本公开的一范例实施例提出一种编码器,此编码器包括:编码模块、颜色选择模块、索引设定模块以及索引地图建立模块。编码模块会接收一画面的第一编码单元,此第一编码单元具有以L×L矩阵形式的多个像素,且L为正整数。颜色选择模块会在第一编码单元的多个像素中选出两个像素作为一第一索引像素与一第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。索引地图建立模块对第一编码单元中的每一像素进行索引编号以产生一索引地图,并且在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。此外,在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。之后,编码模块会将编码值传送至解码器。
本公开的一范例实施例提出一种解码器,此解码器包括:编码值接收模块与解码模块。编码值接收模块接收对应第一编码单元的编码值,并且第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数。解码模块会根据编码值中的一索引值、至少一复制模式以及至少一跑字符的值重建对应第一编码单元的索引地图,并且所接收的编码值仅针对索引地图中的第一编码单元的第1个被扫描像素的索引值进行解码。此外,解码模块会获得第一索引像素的颜色与第二索引像素的颜色,并且根据此第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值重建第一编码单元的像素,其中第一索引像素的颜色不同于第二索引像素的颜色。
本公开的一范例实施例提出一种编解码系统,本编解码系统包括:编码器与解码器。编码器会接收一画面的第一编码单元,此第一编码单元具有以L×L矩阵形式的多个像素,且L为正整数。接着,编码器会在所述画面中的多个像素中选出两个像素作为一第一索引像素与一第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。此外,编码器会对第一编码单元中的每一像素进行索引编号以产生一索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。在索引地图中仅对应第一编码单元的第1个被扫描像素的索引值被记录在编码值中。并且,编码器会将编码值传送至解码器。
基于上述,本公开的范例实施例所提出的编码方法与解码方法及使用此方法的编解码系统、编码器与解码器能够藉由仅传送对应编码单元的像素之中的第1个被扫描像素的索引值而有效地减少编码运算时的传输量,进而大幅减少编码运算所需要的时间以提升编码效能。
为让本公开的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本公开的第一范例实施例所绘示的编码器。
图1B是根据本公开的第一范例实施例所绘示的解码器。
图1C是根据本公开的第一范例实施例所绘示的编解码芯片。
图2A与图2B是根据本公开的第一范例实施例所绘示的图像编码运作示意图。
图3是根据本公开的第一范例实施例所绘示的像素对表的一个范例。
图4是根据本公开的第一范例实施例所绘示的设定索引值的一个范例。
图5是根据本公开的第一范例实施例所绘示的建立索引地图的一个范例。
图6A与图6B是根据本公开的第一范例实施例所绘示的产生编码值的一个范例。
图7为根据本公开第一范例实施例所绘示的编码方法的流程图。
图8A与图8B为根据本公开第一范例实施例所绘示的编解码的程序代码。
图9A为根据本公开第一范例实施例所绘示的以向左复制跑模式为例的对编码单元进行扫描的程序代码。
图9B为根据本公开第一范例实施例所绘示的以向上复制跑模式为例的对编码单元进行扫描的程序代码。
图10A~图10G是根据本公开的第一范例实施例所绘示的根据编码值重建索引地图的一个范例。
图11为根据本公开第一范例实施例所绘示的解码方法的流程图。
图12是根据本公开的第二范例实施例所绘示的图像编码运作示意图。
图13A与图13B是根据本公开的第二范例实施例所绘示的像素分群运作示意图。
图14是根据本公开的第三范例实施例所绘示的图像编码运作示意图。
图15A与图15B是根据本公开的第三范例实施例所绘示的像素分群运作示意图。
【符号说明】
100:编解码芯片
102、130、150:存储电路
104、140、160:处理器电路
106:缓冲存储器
110:编码器
120:解码器
112:编码模块
114:颜色选择模块
116:索引设定模块
118:索引地图建立模块
122:编码值接收模块
124:解码模块
200:第一编码单元
202、204、206、208、210、230、250:像素
220、1220:至少一第二编码单元
1202、1204:第二编码单元
300:像素对表
302:识别值栏位
304:像素对栏位
500、900:索引地图
600:编码值
610、620、640、660、670:向左复制跑模式
630、650:向上复制跑模式
612:索引地图的第1行第1列个索引
616、626、636、646、656、666、676:位移数
618:跑字符的值
60、61、62、63、64、65、66、67、68、69、70、71、72、73、74、75:像素
1000、1200-1、1200-2:邻近范围
S701、S703、S705、S707:编码方法的步骤
S1001、S1003、S1005:解码方法的步骤
1102、1104、1106、1108、1112、1114、1116、1302、1304、1306、1308、1310、1312、1314、1316:丛集
C0、C1、C2、C3、C4、C5、C6:颜色
具体实施方式
[第一范例实施例]
图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来进行编码操作。
编码模块112用以接收一画面中的一编码单元(以下称为第一编码单元),并且第一编码单元具有以一L×L矩阵形式排列的多个像素,其中L为正整数。具体而言,在H.265/HEVC的标准下,是以一个编码树单元(CodingTreeUnit,CTU)作为编码单元编码时的最大处理区块,此编码树单元的大小通常是设定为64×64的区块。编码单元则可以是小于或等于编码树单元的区块大小。举例而言,编码单元为一正方矩形并且其大小可以是64×64、32×32、16×16与8×8的区块。值得注意的是,在本公开范例实施例中所述的编码单元及邻近范围的大小的单位皆为像素。在本范例实施例中,为了方便说明,以下将假设第一编码单元的大小为4×4的区块。
颜色选择模块114用以在编码模块112所接收的第一编码单元的多个像素中选出两个不同颜色的像素作为第一索引像素与第二索引像素。在一实施例中,编码模块112会在第一编码单元200的邻近范围内的多个像素中选出两个像素作为第一索引像素与第二索引像素,编码器110还包括像素对表建立模块(未绘示),像素对表建立模块会建立一像素对表以记录对应上述多个像素的识别值与像素对,其中,像素对表建立模块记录识别值与像素对的实施例将之后详细说明。然而,本公开并不限于此,例如,在另一范例实施例中,编码模块112可从画面中所有像素中选出两个像素作为第一索引像素与第二索引像素。目前视频图像应用皆是使用彩色显示,并且画面中每个像素皆会由三个编码构成要素组成,举例来说,每一个像素是藉由YUV颜色编码方法而被编码或以RGB颜色模型而被呈现。其中,YUV颜色编码方法用以编译颜色空间(colorspace),其中「Y」表示明亮度(Luminance、Luma),「U」和「V」则是表示色度与浓度(Chrominance、Chroma)。RGB颜色模型是一种加色模型,用以将红(Red)、绿(Green)、蓝(Blue)三原色的色光以不同的比例相加,以产生多种多样的色光。例如,YUV颜色编码方法着重于视觉对于亮度的敏感程度,而RGB颜色模型则着重于人眼对色彩的感应。值得注意的是,在本公开范例实施例中,所选出的两个不同颜色的像素实际上亦分别是由所述三个编码构成要素所组成。
索引设定模块116用以设定对应第一索引像素的索引值与对应第二索引像素的索引值。
索引地图建立模块118用以使用一双颜色模式(two-colormode/bi-colormode)对第一编码单元中的每一像素进行索引编号以产生对应第一编码单元的索引地图。然而,本公开不限于此,例如,在另一范例实施例中,索引地图建立模块118是使用调色盘模式(palettemode)对第一编码单元中的每一像素进行索引编号来产生对应第一编码单元的索引地图。特别是,在所建立的索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。
在本范例实施例中,编码模块112会依据索引地图建立模块118所建立的索引地图产生对应第一编码单元的编码值。
在完成上述编码后,编码器110可将编码后的数据传送至解码器来进行解码。例如,编码器110是实作在图像发送终端中,而解码器是实作在图像接收终端中,其中编码器与解码器可通过有线或无线方式来通信。
图1B是根据本公开的第一范例实施例所绘示的解码器。
请参照图1B,解码器120包括编码值接收模块122、解码模块124、存储电路150与处理器电路160。存储电路150用以存储各种数据、程序代码或待处理及处理后的图像。例如,存储电路150可以是存储器或硬盘等存储介质,且不限于此。处理器电路160是耦接至存储电路150且用以控制解码器120的整体运作。特别是,处理器电路160会控制编码值接收模块122与解码模块124以完成解码操作。例如,处理器电路160可以是中央处理器(CPU)、微处理器(micro-processor)或嵌入式控制器(embeddedcontroller),本公开并不加以限制。
相对于编码器110,解码器120的编码值接收模块122会从编码器110的编码模块112接收编码值并且解码模块124会根据所接收的编码值来还原对应的编码单元。例如,编码值接收模块122接收对应每一组像素对的颜色的识别值或第一索引像素的颜色与第二索引像素的颜色,以及对应上述第一编码单元的编码值,并且解码模块124根据此编码值重建对应第一编码单元的索引地图,并且根据第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引重建第一编码单元的多个像素。
值得一提的是,上述编码器与解码器是分别实作于不同的终端中,并且通过网络传递彼此所需要的数据,然而,本公开不限于此。在另一范例实施例中,编码器与解码器可实作于同一个芯片或系统中。例如,在编码器与解码器分别实作于不同的终端中的范例中,编码器与解码器是两个个别的装置,编码器会将压缩的数据传送到解码器,而解码器会接收编码器传来的压缩的数据。而在编码器与解码器实作于同一个芯片或系统中的范例中,编码器与解码器会配置于同一个装置,因此,编码器会将其所压缩的数据传送到本身装置的硬盘(例如,存储电路102)内,而解码器会在此同一个装置中接收所述硬盘传来的压缩的数据。
图1C是根据本公开的第一范例实施例所绘示的编解码芯片。
请参照图1C,编解码芯片100(亦称为编解码系统)包括存储电路102、处理器电路104、缓冲存储器106、编码器110以及解码器120。
存储电路102用以存储各种数据、程序代码或待处理及处理后的图像。例如,存储电路102可以是存储器或硬盘等存储介质,且不限于此。
处理器电路104用以控制编解码芯片100的整体运作。例如,处理器电路104会下达指令给存储电路102,以执行编码器110与解码器120来对图像进行编码与解码的操作。例如,处理器电路104可以是中央处理器(CPU)、微处理器(micro-processor)或嵌入式控制器(embeddedcontroller),本公开并不加以限制。
缓冲存储器106耦接至处理器电路104,并且用以暂存数据。在本范例实施例中,缓冲存储器106为静态随机存取存储器(StaticRandom-AccessMemory,SRAM)。必须了解的是,本公开不限于此,在另一范例实施例中,缓冲存储器106可以是动态随机存取存储器(DynamicRandomAccessMemory)或其他存储器。
存储电路102耦接至处理器电路104与缓冲存储器106。编码器110与解码器120的运作是分别相同于上述图1A与图1B中所示的编码器与解码器。例如,编码器110包括编码模块112、颜色选择模块114、索引设定模块116与索引地图建立模块118。解码器120包括编码值接收模块122与解码模块124。
值得注意的是,本公开中的编码器与解码器是由软件模块或程序代码来实作,例如,存储电路102会存储上述编码模块、颜色选择模块、索引设定模块、索引地图建立模块、像素对表建立模块、编码值接收模块以及解码模块,并且当编解码芯片100致能时,此些软件程序代码会从存储电路102被载入至缓冲存储器106且由处理器电路102执行以运作编码模块、颜色选择模块、索引设定模块、索引地图建立模块、像素对表建立模块、编码值接收模块以及解码模块的功能。然而,本公开不限于此,例如,在本公开另一范例实施例中,编解码芯片、编码器与解码器可以是由硬件电路来实作。例如,上述编码模块、颜色选择模块、索引设定模块、索引地图建立模块、像素对表建立模块、编码值接收模块以及解码模块可以硬件电路实作为编码电路、颜色选择电路、索引设定电路、索引地图建立电路、编码值接收电路以及解码电路。
为了更清楚地描述编码器110、解码器120与编解码芯片100的运作,以下将参照图1C的编解码芯片100以一范例来进行说明。
图2A与图2B是根据本公开的第一范例实施例所绘示的图像编码运作示意图。
请参照图2A,在此,以双颜色模式为例,并假设编码模块112所接收的一画面中第一编码单元200的大小为L×L,其中L为正整数。举例来说,编码模块112会在第一编码单元200的邻近范围内的多个像素中选出两个像素作为第一索引像素与第二索引像素。然而,本公开并不限于此,例如,在另一范例实施例中,编码模块112可从画面中所有像素中选出两个像素作为第一索引像素与第二索引像素。本范例实施例中,此邻近范围包括邻近于第一编码单元200的至少一个编码单元220(以下称为至少一第二编码单元220)中邻近于第一编码单元200的多个像素(以下称为第三像素)。值得注意的是,第一编码单元200与至少一第二编码单元220所在的画面的解码顺序中,在第一编码单元200被解码之前至少一第二编码单元220为已经被解码的编码单元。换句话说,邻近范围不包括目前正在编码的编码单元和/或在解码过程中在目前正在编码的编码单元之后才会被解码的区域。然而,本公开并不加以限制邻近范围的区域,例如,在另一范例实施例中,邻近范围也可包括目前欲编码的编码单元和/或画面中未解码的区域。
具体而言,此些第三像素分别为邻近于第一编码单元200的第1行(row)第1列(column)个像素的上边沿与左边沿的像素202与像素204,邻近于第一编码单元200的第1行第L列个像素的上边沿的像素206,邻近于第一编码单元200的第L行第1列个像素的左边沿的像素208以及对应于第一编码单元200的第1行第1列个像素的左上角的像素210。
在以双颜色模式为例的范例实施例中,编码器110还包括像素对表建立模块(未绘示),像素对表建立模块会建立一像素对表以记录对应上述多个第三像素的识别值与像素对。例如,像素对表建立模块会依据此些第三像素(即,像素202、像素204、像素206、像素208与像素210)产生多个像素对,且将对应每一像素对的识别值与对应此识别值的每一组像素的颜色记录于像素对表中。值得一提的是,在本范例实施例中,像素对表建立模块是以像素202、像素204、像素206、像素208与像素210的集合来产生多个像素对,然而,本公开并不限于此。例如,在另一范例实施例中,邻近范围可包括邻近于第一编码单元200的至少一第二编码单元220中邻近于第一编码单元200的邻近范围1000(如图2B所示)。因此,邻近范围1000中的多个第三像素可以是对应于第一编码单元200的第1行第1列个像素的左上角的像素210,以及在邻近范围1000内邻近于第一编码单元200的左边沿的任一个像素230与在邻近范围1000内邻近于第一编码单元200的上边沿的任一个像素250。因此,像素对表建立模块可以像素210、像素230与像素250的集合来产生多个像素对。此外,在另一个以调色盘模式为例范例实施例中,编码器110是由第一编码单元200中的多个像素中直接选出两个像素作为第一索引像素与第二索引像素。
图3是根据本公开的第一范例实施例所绘示的像素对表的一个范例。
请参照图2A与图3,像素对表建立模块依据像素202、像素204、像素206、像素208与像素210产生多个像素对并将此些像素对与其颜色记录于像素对表300的像素对栏位304中。此外,像素对表建立模块亦会将对应每一像素对的识别值(0~9)记录于识别值栏位302中。例如,像素对表300中的识别值为0的识别值对应于其像素为像素208与像素206的像素对,且此像素对中的像素208与像素206的颜色分别为C1与C2。并且以此类推,每一识别值皆会对应到其像素对及其所代表的颜色。据此,颜色选择模块114即可根据像素对表300选择其中一个像素对,而颜色选择模块114所选择的像素对中的两个像素会被设定为第一索引像素与第二索引像素。
图4是根据本公开的第一范例实施例所绘示的设定索引值的一个范例。
请参照图4,在本范例实施例中,颜色选择模块114选择识别值为3的识别值所对应的像素对(即,像素208与像素204)作为第一索引像素208与第二索引像素204。因此,索引设定模块116会依序地将对应此第一索引像素208的索引值设定为0与对应此第二索引像素204的索引值设定为1。之后,在编码模块112将编码值传送至解码器120的操作中,编码模块112亦会传送此识别值(即,3)至解码器120。
图5是根据本公开的第一范例实施例所绘示的建立索引地图的一个范例。
在本范例实施例中,编码器110的编码模块112并不局限于使用特定的扫描方式来对画面中的编码单元进行扫描与编码。例如,在一范例实施例中,编码模块112可使用Z轴扫描(Z-scan)对画面中的编码单元进行扫描与编码,而在另一范例实施例中,编码模块112是使用水平交叉扫描(Horizontaltraversescan)或垂直交叉扫描(Verticaltraversescan)对画面中的编码单元进行扫描与编码。具体而言,图5,6A和6B中是将对应水平交叉扫描的坐标与对应垂直交叉扫描的坐标转换成对应Z轴扫描的坐标来对画面中的编码单元进行扫描与编码的操作。请参照图5,之后,索引地图建立模块118即可根据对应第一索引像素208的索引值(即,0)与对应第二索引像素204的索引值(即,1),使用双颜色模式对第一编码单元200中的每一像素进行索引编号以产生索引地图500。换句话说,在索引地图500中第一编码单元200的每一像素的颜色是以对应第一索引像素208的索引值(即,0)或对应第二索引像素204的索引值(即,1)来呈现。特别是,在本范例实施例中,假设第一编码单元200的大小为4×4,因此,索引地图500中对应第一编码单元200的每一像素的索引值是以4×4矩阵形式排列。
此外,在本范例实施例中,在依据索引地图500产生对应第一编码单元200的编码值的操作中,编码模块112在编码值中仅会记录对应第一编码单元200的像素之中的第1个被扫描像素的索引值,在此,对应第一编码单元200的像素之中的第1个被扫描像素的索引值相同于索引地图500的第1行第1列个索引的索引值。
图6A与图6B是根据本公开的第一范例实施例所绘示的产生编码值的一个范例。
请参照图6A与6B,在索引地图建立模块118对第一编码单元中的每一像素进行索引编号以产生索引地图500后,编码模块112会依据索引地图500产生对应第一编码单元200的编码值600。在本范例实施例中,编码值600包括对应第一编码单元200的像素之中的第1个像素的索引值(即,索引地图500的第1行第1列个索引的索引值)、复制模式(CodeMode)以及跑字符的值。举例而言,由于索引地图500中接续于第1个像素(即,像素60)之后的1个像素(即,像素61)的索引值相同于第1个像素的索引值,接续于第3个像素(即,像素62)之后的1个像素(即,像素63)的索引值相同于第3个像素的索引值,且第1个像素的索引值不同于第3个像素的索引值。因此,编码模块112会在编码值600中,使用向左复制跑模式(CopyLeftMode)610、索引地图500的第1行第1列个索引(Index)612(即,0)与跑字符的值618来描述第一编码单元200的第1个像素(即,像素60)以及接续的1个像素(即,像素61),例如,跑字符的值618会包括位移数(1)616。此外,编码模块112会在编码值600中使用向左复制跑模式620和位移数(1)626来描述第一编码单元200中接续于上述1个像素之后的第3个像素(即,像素62)以及接续的1个像素(即,像素63)。
值得一提的是,由于在本范例实施例中,索引地图建立模块118所建立的索引地图500是以双颜色模式对第一编码单元200的每一像素进行索引编号所产生的。因此,用以描述对应第一编码单元200的像素62与像素63的编码值仅需包括向左复制跑模式620和位移数(1)626。换句话说,由于索引地图500中第1个像素的索引值(即,像素60)不同于第3个像素(即,像素62)的索引值,因此,当解码器120接收到向左复制跑模式620和位移数(1)626时,仅需根据索引地图500中第1个像素的索引值(即,0),而可得知第3个像素的索引值为1。
在本范例实施例中,由于对应索引地图500的第2行第1列索引的像素(即,像素64)与接续的2个像素(即,像素65与像素66)的索引值分别地相同于对应索引地图500的第1行第1列索引的像素(即,像素60)与接续的2个像素(即,像素61与像素62)的索引值。因此,编码模块112会在编码值600中使用向上复制跑模式(CopyAboveMode)630以及位移数(2)636来描述第一编码单元200中对应索引地图500的第2行第1列索引的像素(即,像素64)以及之后的2个像素(即,像素65与像素66)。特别是,当解码器120接收到向上复制跑模式630时,解码器120会根据此向上复制跑模式630以及位移数(2)636得知对应索引地图500的第2行第1列索引的像素(即,像素64)与接续之后的2个像素(即,像素65与像素66)的索引值分别地相同于对应索引地图的第1行第1列索引的像素(即,像素60)与接续的2个像素(即,像素61与像素62)的索引值。
由于对应索引地图500的第2行第4列索引的像素(即,像素67)的索引值不同于对应索引地图500的第1行第4列索引的像素(即,像素63)的索引值,并且接续于对应索引地图500的第2行第4列索引的像素(即,像素67)之后的2个像素(即,像素68与像素69)的索引值相同于对应索引地图的第2行第4列索引的像素(即,像素67)的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式640和位移数(2)646来描述第一编码单元200中对应索引地图500的第2行第4列索引的像素(即,像素67)以及之后的2个像素(即,像素68与像素69)。换句话说,当解码器120接收到向左复制跑模式640和位移数(2)646时,仅需根据对应索引地图500的第1行第4列索引的索引值(即,1),即可得知对应索引地图500的第2行第4列索引的索引值为0以及接续在像素67之后的2个像素(即,像素68与像素69)亦为0。
此外,由于对应索引地图500的第3行第3列索引的像素(即,像素70)与接续在对应索引地图500的第3行第3列索引的像素之后的3个像素(即,像素71、像素72与像素73)的索引值分别地相同于像素66与接续的像素之后的3个像素(即,像素67、像素68与像素69)的索引值。因此,编码模块112会使用向上复制跑模式650以及位移数(3)656来描述第一编码单元200中对应索引地图500的第3行第3列索引的像素(即,像素70)以及接续的3个像素(即,像素71、像素72与像素73)。换句话说,当解码器120接收到向上复制跑模式650时,解码器120会根据此向上复制跑模式650以及位移数(3)656得知对应索引地图500的第3行第3列索引的像素(即,像素70)与接续的3个像素(即,像素71、像素72与像素73)的索引值分别地相同于对应索引地图的第2行第3列索引的像素(即,像素66)与接续在的3个像素(即,像素67、像素68与像素69)的索引值。
在本范例实施例中,由于对应索引地图500的第4行第3列索引的像素(即,像素74)的索引值不同于对应索引地图500的第3行第3列索引的像素(即,像素70)的索引值,且接续于对应索引地图500的第4行第3列索引的像素(即,像素74)之后的像素(即,像素75)的索引值并不相同于像素74的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式660和位移数(0)666来描述第一编码单元200中对应索引地图500的第4行第3列索引的像素(即,像素74)。而当解码器120接收到向左复制跑模式660和位移数(0)666时,仅需根据对应索引地图500的第3行第3列索引的索引值(即,1),即可得知对应索引地图500的第4行第3列索引的索引值为0。
之后,由于对应索引地图500的第4行第4列索引的像素(即,像素75)的索引值不同于像素74的索引值。因此,编码模块112会在编码值600中使用向左复制跑模式670和位移数(0)676来描述第一编码单元200中对应索引地图500的第4行第4列索引的像素。也就是说,当解码器120接收到向左复制跑模式670和位移数(0)676时,仅需根据对应索引地图500的第3行第4列索引的索引值(即,0),即可得知对应索引地图500的第4行第4列索引的像素的索引值为1。基于上述,由图6A与图6B所示的产生编码值的范例中可得知编码值包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
值得一提的是,在上述编码模块112依据索引地图500产生对应第一编码单元200的编码值600并将编码值600传送至解码器120的操作中,编码模块112仅需记录并传送对应第一编码单元200的多个像素之中的第1个被扫描像素的索引值,解码器120即可根据编码值600中的其他信息与第一编码单元200中已解码的像素的索引值,判断目前正在解码的像素的索引值,由此有效地减少编码运算时的传输量并提升编码与解码的效能。
综上,在以双颜色模式为例的实施例中,编码模块112会将编码值与识别值传送至解码器,并且根据上述,编码值会包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
值得一提的是,本公开并不限于使用上述双颜色模式对第一编码单元中的每一像素进行索引编号。例如,在另一范例实施例中,是使用调色盘模式对第一编码单元中的每一像素进行索引编号来产生对应第一编码单元的索引地图。具体而言,在以调色盘模式为例的范例实施例中,编码器110并不会建立上述图3的像素对表,例如,编码器110是直接将编码值、第一索引像素的颜色与第二索引画的颜色直接传送给解码器120,而非传送对应第一索引像素的颜色与第二索引画的颜色的一个识别值。并且,编码值包括第一编码单元200的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
图7为根据本公开第一范例实施例所绘示的编码方法的流程图。
请参照图7,在步骤S701中,编码器110接收一画面的第一编码单元,其中第一编码单元具有以L×L矩阵形式的多个像素,且L为正整数。
在步骤S703中,编码器110在多个像素中选出两个像素作为第一索引像素与第二索引像素,并且第一索引像素的颜色不同于第二索引像素的颜色。举例来说,在双颜色模式中,编码器110会建立像素对表,并根据此像素对表将对应所选出的两个像素的一个识别值传送至解码器120。而在调色盘模式中,编码器110会直接将此两个像素的颜色传送至解码器120。
在步骤S705中,编码器110对第一编码单元中的每一像素进行索引编号以产生索引地图,其中在索引地图中第一编码单元的每一像素的颜色是以对应第一索引像素的索引值或对应第二索引像素的索引值来呈现。
在步骤S707中,编码器110依据索引地图产生对应第一编码单元的编码值,其中在编码值中仅记录对应第一编码单元的像素之中的第1个被扫描像素的索引值,即在索引地图中仅对应第一编码单元的像素之中的第1个被扫描像素的索引值被记录在编码值中。
图8A与图8B为根据本公开第一范例实施例所绘示的解码的程序代码。
请参照图8A与图8B,在解码操作中,解码器120可以根据图8A所示的程序代码中的方程式来决定是否使用双颜色模式来进行解码。其中参数“slice_bi_sample_mode_enable_flag”用以指示是否使用双颜色模式,例如,当“slice_bi_sample_mode_enable_flag”的值被设为1时,解码器120会使用双颜色模式对目前欲进行解码的画面进行解码的操作。接着,解码器120会根据图8B所示的程序代码中的方程式来决定是否使用双颜色模式来对目前欲进行解码的编码单元进行解码的操作。例如,当“bi_sample_flag”的值被设为1时,解码器120会使用双颜色模式对目前欲进行解码的编码单元进行解码的操作。值得一提的是,本公开不限于此,例如,在另一范例实施例中,解码器120是使用调色盘模式对目前欲进行解码的画面进行解码的操作。特别是,上述“slice_bi_sample_mode_enable_flag”的值也可以被预设为1,当预设为1时,解码器120会于解码操作中省略判断“slice_bi_sample_mode_enable_flag”的值的步骤。
请再参照图8B,在解码器120依据编码值重建索引地图的操作中,解码器120是根据第1行第1列个索引像素的索引值、复制模式(向上复制跑模式或向左复制跑模式)、跑字符的值来重建索引地图,且解码器120是根据图8B所示的程序代码中的方程式来决定使用向上复制跑模式或向左复制跑模式来重建索引地图。具体而言,当参数“palette_run_type_flag”被设为1时,解码器120会使用向上复制跑模式来重建索引地图中的像素,并且根据参数“palette_run”来决定位移数,其中使用向上复制跑模式所重建的像素会与索引地图之上一行中对应位移数的至少两个像素相同。反之,当参数“palette_run_type_flag”被设为0时,解码器120会使用向左复制跑模式来描述正在编码的编码单元中的像素,并且根据参数“palette_run”来决定位移数,其中使用向左复制跑模式所重建的像素会与索引地图中接续于此像素之后的对应位移数的至少一个像素相同。此外,如上所述,在本公开中,所建立的索引地图中的编码单元中的像素的颜色是以两个索引像素的索引值来呈现。例如,方程式中的参数“bi_sample_idx”是用来表示多个候选索引像素的索引值,而参数“palette_index”是用来表示从多个候选索引像素中所选择的上述两个索引像素的索引值。特别是,在本公开中,编码器110是通过参数“palette_index”将索引地图中对应第一行第一列的索引像素的索引值传送至解码器120,据此,解码器120即可根据编码值中的其他信息与编码单元中已解码的像素的索引值,判断目前正在解码的像素的索引值。
图9A为根据本公开第一范例实施例所绘示的以向左复制跑模式为例的对编码单元进行扫描的程序代码,在此范例实施例中,将假设目前正在解码的像素所使用的复制模式为向左复制跑模式,其中复制模式以图9A中的参数“CodeMode”表示,复制模式中的向左复制跑模式则以图9A中的参数“CopyLeftMode”表示。
请参照图9A,在本范例实施例中,解码器120的解码模块124并不局限于使用特定的扫描方式来对画面中的编码单元进行扫描与解码。例如,在一范例实施例中,解码模块124可使用Z轴扫描(Z-scan)对画面中的编码单元进行扫描与解码,而在另一范例实施例中,解码模块124是使用水平交叉扫描(Horizontaltraversescan)或垂直交叉扫描(Verticaltraversescan)对画面中的编码单元进行扫描与解码。具体而言,图9A中所示的程序代码是将对应水平交叉扫描的坐标与对应垂直交叉扫描的坐标转换成对应Z轴扫描的坐标来对画面中的编码单元进行扫描与解码的操作,以下将参照图9A,以目前正在解码的像素所使用的复制模式为向左复制跑模式(即,“CopyLeftMode”)的范例来进行说明。
在本范例实施例中,索引地图中对应一个编码单元的每一像素的索引值是以L×L矩阵形式排列,在此,如图9所示,假设索引地图中已被扫描的索引的个数为c。例如,当解码模块124解码对应索引地图中所扫描的第1个索引的像素时(即,c=1时),解码模块124是根据索引地图的第1个索引、跑字符的值重建索引地图。此外,当解码模块124解码对应索引地图中所扫描的第c个索引的像素时(例如,1<c<=L时),解码模块124会将所扫描的第c个索引的索引值(即,正在解码的索引值)转换为坐标(x,y),以及将已扫描的第c-1个索引的索引值转换为坐标(m,n)。接着,解码模块124根据索引地图中已扫描的第c-1个索引和跑字符的值重建索引地图,特别是,索引地图中所扫描的第c个索引的值(即,Index(x,y))为对应坐标(m,n)的索引值(即,Index(m,n))加1后除以2所获得的余数。
在另一范例实施例中,当解码模块124解码对应索引地图中所扫描的第c个索引的像素时(例如,c>L时),解码模块124会将索引地图中所扫描的第c个索引转换为坐标(x,y),将已扫描的第c-1个索引转换为坐标(m,n),以及将已扫描的第c-L个索引转换为坐标(p,q)。此外,解码模块124还会判断对应第c-1个索引的复制模式是使用向上复制跑模式或向左复制跑模式来解码对应索引地图中所扫描的第c-1个索引的像素。倘若当第c-1个索引的复制模式为使用向左复制跑模式解码对应索引地图中所扫描的第c-1个索引的像素时,解码模块124会根据已扫描的第c-1个索引和跑字符的值重建索引地图,其中索引地图中所扫描的第c个索引的值(即,Index(x,y))为对应坐标(m,n)的索引值(即,Index(m,n))加1后除以2所获得的余数。反之,在另一范例实施例中,倘若上述对应第c-1个索引的复制模式为使用向上复制跑模式(即,”CopyAboveMode”)解码对应索引地图中所扫描的第c-1个索引的像素时,解码模块124会根据索引地图中已扫描的第c-L个索引和跑字符的值重建索引地图,其中索引地图中所扫描的第c个索引的值(即,Index(x,y))为对应坐标(p,q)的索引值(即,Index(p,q))加1后除以2所获得的余数。然而,值得注意的是,本公开并不限于此。
图9B为根据本公开第一范例实施例所绘示的以向上复制跑模式为例的对编码单元进行扫描的程序代码,在此范例实施例中,将假设目前正在解码的像素所使用的复制模式为向上复制跑模式,其中复制模式以图9B中的参数“CodeMode”表示,复制模式中的位移数则以图9B中的参数“run”表示。请参照图9B,在此范例实施例中,由于目前正在解码的像素所使用的复制模式为向上复制跑模式,因此,当解码模块124接收到的复制模式为向上复制跑模式(即,“CopyAboveMode”)时,解码模块124仅需根据代表向上复制跑模式以及位移数在欲重建的索引地图中复制对应的像素的索引值来重建索引地图即可。例如,解码模块124会将索引地图中所扫描的第c个索引转换为坐标(x,y),将已扫描的第c-L个索引转换为坐标(p,q),并且根据位移数“run”的值将索引地图中目前所扫描的第c个索引的值(即,Index(x,y))设为对应坐标(p,q)的索引值(即,Index(p,q))。以下将参照图6A与图10A~图10G,以根据编码值重建索引地图的范例来进行说明。
图10A~图10G是根据本公开的第一范例实施例所绘示的根据编码值重建索引地图的一个范例。
请参照图10A与图6A,在本范例实施例中,解码器120的解码模块124会根据编码值接收模块122所接收的编码值600重建对应第一编码单元的索引地图。由于索引地图500中对应第一编码单元200的每一像素的索引值是以4×4矩阵形式排列,且编码值600中所记录的第1个像素的索引值为索引地图500的第1行第1列个索引(即,0)。因此,解码模块124会根据编码值600的向左复制跑模式610、索引地图500的第1行第1列个索引612和位移数(1)616在欲重建的索引地图900中将对应第一编码单元200的第1个像素的索引值记录为0以及将对应接续于此第1个像素之后的1个像素的索引值亦记录为0。
请参照图10B与图6A,解码模块124会根据向左复制跑模式620和位移数(1)626得知索引地图900中接续于第1个像素之后的1个像素的索引值相同于第1个像素的索引值,而接续于第3个像素之后的1个像素的索引值相同于第3个像素的索引值,且第1个像素的索引值不同于第3个像素的索引值。例如,解码模块124是将索引地图500中第1行第2列个像素的索引值(即,0)加1后除以2获得的余数视为第3列第1行个像素的索引值(即,1)。因此,解码模块124会根据此第1行第2列个像素的索引值,而在索引地图900中将对应第一编码单元200中第1行第3列个像素的索引值以及对应接续于此第3个像素之后的1个像素的索引值皆记录为1。
请参照图10C与图6A,接着,解码模块124会根据向上复制跑模式630以及位移数(2)636得知对应索引地图900的第2行第1列索引的像素的索引值与接续在对应索引地图900的第2行第1列索引的像素之后的2个像素的索引值分别地相同于对应索引地图900的第1行第1列索引的像素与接续在对应索引地图900的第1行第1列索引的像素之后的2个像素的索引值。例如,解码模块124仅需要复制对应索引地图900的第1行第1列索引的像素与接续在对应索引地图900的第1行第1列索引的像素之后的2个像素的索引值来作为对应索引地图900的第2行第1列索引的像素的索引值与接续在对应索引地图900的第2行第1列索引的像素之后的2个像素的索引值。因此,解码模块124会在索引地图900中将对应第一编码单元200中对应索引地图的第2行第1列索引的像素的索引值以及对应索引地图900的第2行第1列索引的像素之后的2个像素的索引值分别记录为0、0与1。
请参照图10D与图6A,解码模块124会根据向左复制跑模式640和位移数(2)646得知对应索引地图900的第2行第4列索引的像素的索引值不同于对应索引地图900的第1行第4列索引的像素的索引值,并且接续于对应索引地图900的第2行第4列索引的像素之后的2个像素的索引值是相同于对应索引地图900的第2行第4列索引的像素的索引值。例如,解码模块124是将索引地图500中第1行第4列个像素的索引值(即,1)加1后除以2获得的余数视为第2行第4列索引的索引值(即,0)。因此,解码模块124会接着在索引地图900中将对应第一编码单元200中对应索引地图900的第2行第4列索引的像素的索引值记录为0以及在对应索引地图900的第2行第4列索引的像素之后的2个像素的索引值也记录为0。
请参照图10E与图6A,解码模块124会根据所接收的编码值中的向上复制跑模式650以及位移数(3)656得知对应索引地图900的第3行第3列索引的像素的索引值与接续在对应索引地图900的第3行第3列索引的像素之后的3个像素的索引值分别地相同于对应索引地图900的第2行第3列索引的像素与接续在对应索引地图900的第2行第3列索引的像素之后的3个像素的索引值。例如,解码模块124仅需要复制对应索引地图900的第2行第3列索引的像素与接续在对应索引地图900的第2行第3列索引的像素之后的3个像素的索引值来作为对应索引地图900的第3列第3行索引的像素的索引值与接续在对应索引地图900的第3列第3行索引的像素之后的3个像素的索引值。因此,解码模块124会在索引地图900中将对应第一编码单元200中对应索引地图900的第3行第3列索引的像素的索引值以及在对应索引地图900的第3行第3列索引的像素之后的3个像素的索引值分别记录为1、0、0与0。
请参照图10F与图6A,解码模块124根据所接收的向左复制跑模式660和位移数(0)666得知对应索引地图900的第4行第3列索引的像素的索引值不同于对应索引地图900的第3行第3列索引的像素的索引值。例如,解码器120是将索引地图500中第3行第3列个像素的索引值(即,1)加1后除以2获得的余数视为第4行第3列索引的索引值(即,0)。因此,解码模块112会在索引地图900中将对应第一编码单元200中对应索引地图900的第4行第3列索引的像素的索引值记录为0。
请参照图10G与图6A,解码模块124会根据所接收的向左复制跑模式670和位移数(0)676得知对应索引地图900的第4行第4列索引的像素的索引值不同于对应索引地图900的第4行第3列索引的像素的索引值。例如,解码器120是将索引地图500中第3行第4列个像素的索引值(即,0)加1后除以2获得的余数视为第4行第4列索引的索引值(即,1)。因此,解码模块124会在索引地图900中将对应第一编码单元200中对应索引地图900的第4行第4列索引的像素的索引值记录为1。
在本范例实施例中,解码器120中亦记录了对应于编码器110的像素对表300(如图3所示),因此,解码模块124会根据编码值接收模块122所接收的对应第一索引像素与第二索引像素的识别值从像素对表300中识别第一索引像素的颜色与第二索引像素的颜色。例如,编码值接收模块122所接收的识别值为3,因此,解码模块124根据此识别值从像素对表300中可得知第一索引像素与第二索引像素分别为像素208与像素204,并且像素208与像素204的颜色分别为C1与C2。此后,解码模块124可根据索引地图900与对应第一索引像素与第二索引像素的颜色重建第一编码单元200的多个像素。
图11为根据本公开第一范例实施例所绘示的解码方法的流程图。
请参照图11,在步骤S1001中,解码器120接收对应每一组像素对的颜色的识别值或第一索引像素的颜色与第二索引像素的颜色,以及对应第一编码单元的编码值,并且第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数。
在步骤S1003中,解码器120根据编码值中的索引值、至少一复制模式以及至少一跑字符的值重建对应第一编码单元的索引地图,其中所接收的编码值内的索引值仅包括索引地图中的第一编码单元的第1个被扫描像素的索引值。
在步骤S1005中,解码器120根据第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值重建第一编码单元的多个像素,并且第一索引像素的颜色不同于第二索引像素的颜色。
[第二范例实施例]
第二范例实施例的编码方法与解码方法及其系统本质上是相同于第一范例实施例的编码方法与解码方法及其系统,其差异之处为在第二范例实施例中是以统计与量化的方法选出两个像素作为第一索引像素与第二索引像素。以下将使用第一范例实施例的系统及元件标号来说明第二范例实施例与第一范例实施例的差异之处。
图12是根据本公开的第二范例实施例所绘示的图像编码运作示意图。
请参照图12,相同于第一范例实施例,编码模块112会在第一编码单元200的邻近范围内的多个像素中选出两个像素作为第一索引像素与第二索引像素。然而,本公开并不限于此,例如,在另一范例实施例中,编码模块112也可从画面中所有像素中选出两个像素作为第一索引像素与第二索引像素。在此假设编码模块112所接收的一画面中第一编码单元200的大小为L×L,且L为正整数。特别是,在本范例实施例中,邻近范围包括的邻近于第一编码单元200的至少一第二编码单元220中邻近于第一编码单元200的多个像素(以下称为第三像素)。在此,多个第三像素所属的范围为邻近范围1000。也就是说,编码模块112是从邻近范围1000内的多个第三像素中选出两个像素作为第一索引像素与第二索引像素。值得注意的是,第一编码单元200与至少一第二编码单元220所在的画面的解码顺序中,在第一编码单元200被解码之前至少一第二编码单元220为已经被解码的编码单元。换句话说,邻近范围不包括目前正在编码的编码单元和/或在解码过程中在目前正在编码的编码单元之后才会被解码的区域。然而,本公开并不加以限制邻近范围的区域,例如,在另一范例实施例中,邻近范围也可包括目前欲编码的编码单元和/或画面中未解码的区域。
图13A与图13B是根据本公开的第二范例实施例所绘示的像素分群运作示意图。
请参照图13A,在本范例实施例中,在第一编码单元200的邻近范围1000内的多个第三像素中选出两个像素作为第一索引像素与第二索引像素的操作中,颜色选择模块114会根据此邻近范围1000内的多个第三像素的像素值将此些像素分群为多个丛集。举例而言,假设第一编码单元200的大小为4×4,则邻近范围1000内会具有9个第三像素。颜色选择模块114是根据此些像素的像素值将颜色相同的像素分群至同一个丛集内。例如,属于丛集1102的2个像素具有相同的像素值且此2个像素的颜色为C1,属于丛集1104的5个像素具有相同的像素值且此5个像素的颜色为C2,而属于丛集1106与丛集1108的像素并没有与其像素值相同的其他像素且属于丛集1106的1个像素与丛集1108的1个像素的颜色分别为C4与C5。接着,颜色选择模块114会依据对应每一丛集的像素的数量选择一第一丛集与一第二丛集。在此,由于丛集1104的像素的数量与丛集1102的像素的数量皆大于丛集之中的其他丛集的像素的数量,因此,颜色选择模块114会选择丛集1104作为第一丛集,以及选择丛集1102作为第二丛集并且以第一丛集中的一个像素作为第一索引像素,以第二丛集中的一个像素作为第二索引像素。值得一提的是,本公开并不加以限制像素分群的方法,例如,在另一范例实施例中,颜色选择模块114是将像素值相近的像素分群至同一个丛集内。
请参照图13B,在本范例实施例中,在第一编码单元200的邻近范围1000内的多个第三像素中选出两个像素作为第一索引像素与第二索引像素的操作中,颜色选择模块114是根据邻近范围1000内的多个第三像素的像素值,将任两个像素的像素值的差值小于一预先定义差值的两个像素分群至同一个丛集内,由此可将颜色相近的像素分群至同一个丛集内。例如,属于丛集1114的6个像素中任两个像素的像素值相减的差值会小于上述预先定义差值且此任两个像素具有相近的颜色C2,属于丛集1116的2个像素的像素值相减的差值亦会小于上述预先定义差值且此2个像素具有相近的颜色C4,而属于丛集1112的像素并没有与其像素值相近的其他像素并且属于丛集1112的1个像素的颜色为C1。接着,颜色选择模块114会依据对应每一丛集的像素的数量选择第一丛集与第二丛集。在此,由于丛集1114的像素的数量与丛集1116的像素的数量皆大于丛集之中的其他丛集的像素的数量,因此,颜色选择模块114会选择丛集1114作为第一丛集,以及选择丛集1116作为第二丛集。并且以第一丛集中的一个像素作为第一索引像素,以第二丛集中的一个像素作为第二索引像素。
接着,索引设定模块116会依序地将对应第一索引像素的索引值设定为0与对应此第二索引像素的索引值设定为1。并且在编码模块112将编码值传送至解码器120的操作中,编码模块112亦会传送对应每一像素对的识别值或第一索引像素的颜色与第二索引像素的颜色至解码端至解码器120。例如,在图13A的范例中,第一索引像素属于丛集1104,第二索引像素属于丛集1102,因此,第一索引像素的颜色与第二索引像素的颜色分别为C2与C1。而在图13B的范例中,第一索引像素属于丛集1114且第二索引像素属于丛集1116,因此,第一索引像素的颜色与第二索引像素的颜色分别为C2与C4。
之后,在索引地图建立模块118使用双颜色模式对第一编码单元200中的每一像素进行索引编号以产生索引地图的操作,编码模块112依据索引地图产生对应第一编码单元200的编码值的操作,以及编码模块112将编码值600传送至解码器120的操作皆相同于第一范例实施例所述的方法,在此不再重述。
此外,当解码器120的编码值接收模块122接收到对应第一编码单元200的编码值后,解码模块124根据编码值重建对应第一编码单元200的索引地图的操作,亦是相同于第一范例实施例中图10A~图10G的操作,在此不在重述。据此,解码模块124可根据所获得的第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值来重建第一编码单元200的多个像素。
[第三范例实施例]
第三范例实施例的编码方法与解码方法及其系统本质上是相同于第一与第二范例实施例的编码方法与解码方法及其系统,其差异之处为在第三范例实施例中用以从中选出两个像素的范围可延伸至其他邻近的编码单元且第三范例实施例亦是以统计与量化的方法选出两个像素作为第一索引像素与第二索引像素。以下将使用第一范例实施例的系统及元件标号来说明第三范例实施例与第一、二范例实施例的差异之处。
图14是根据本公开的第三范例实施例所绘示的图像编码运作示意图。
请参照图14,相同于第一范例实施例,编码模块112会在第一编码单元200的邻近范围内的多个像素中选出两个像素作为第一索引像素与第二索引像素。然而,本公开并不限于此,例如,在另一范例实施例中,编码模块112可从画面中所有像素中选出两个像素作为第一索引像素与第二索引像素。在此假设编码模块112所接收的一画面中第一编码单元200的大小为L×L,且L为正整数。特别是,在本范例实施例中,邻近范围包括的邻近于第一编码单元200的至少一第二编码单元1220中邻近于第一编码单元200的多个像素(以下称为第三像素)。在此,此些第三像素所属的范围为邻近范围1000。此外,邻近范围还包括邻近范围1000延伸至至少一第二编码单元1220中的第二编码单元1202的邻近范围1200-1与邻近范围1000延伸至至少一第二编码单元1220中的第二编码单元1204的邻近范围1200-2。也就是说,编码模块112是从邻近范围1000、邻近范围1200-1与邻近范围1200-2内的多个像素中选出两个像素作为第一索引像素与第二索引像素。
图15A与图15B是根据本公开的第三范例实施例所绘示的像素分群运作示意图。
请参照图15A,在本范例实施例中,在第一编码单元200的邻近范围1000、邻近范围1200-1与邻近范围1200-2内的像素中选出两个像素作为第一索引像素与第二索引像素的操作中,颜色选择模块114会根据此邻近范围1000、邻近范围1200-1与邻近范围1200-2内的像素的像素值将此些像素分群为多个丛集。举例而言,假设第一编码单元200的大小为4×4,则邻近范围1000内会具有17个像素。颜色选择模块114是根据此些像素的像素值,将颜色相同的像素分群至同一个丛集内。例如,属于丛集1302的4个像素具有相同的像素值且此4个像素的颜色为C1,属于丛集1304的7个像素具有相同的像素值且此7个像素的颜色为C2,属于丛集1306的像素并没有与其像素值相同的其他像素且此1个像素的颜色为C4,属于丛集1308的3个像素具有相同的像素值且此3个像素的颜色为C5,以及属于丛集1310的2个像素具有相同的像素值且此2个像素的颜色为C6。接着,颜色选择模块114会依据对应每一丛集的像素的数量选择第一丛集与第二丛集。在此,由于丛集1302的像素的数量与丛集1304的像素的数量皆大于丛集之中的其他丛集的像素的数量,因此,颜色选择模块114会选择丛集1302作为第一丛集,以及选择丛集1304作为第二丛集。并且以第一丛集中的一个像素作为第一索引像素,以第二丛集中的一个像素作为第二索引像素。值得一提的是,本公开并不加以限制像素分群的方法,例如,在另一范例实施例中,颜色选择模块114是将像素值相近的像素分群至同一个丛集内。
请参照图15B,在本范例实施例中,在第一编码单元200的邻近范围1000、邻近范围1200-1与邻近范围1200-2内的像素中选出两个像素作为第一索引像素与第二索引像素的操作中,颜色选择模块114是根据邻近范围1000内的像素的像素值,将任两个像素的像素值的差值小于一预先定义差值的两个像素分群至同一个丛集内,由此可将颜色相近的像素分群至同一个丛集内。例如,属于丛集1312的4个像素中任两个像素的像素值相减的差值会小于上述预先定义差值且此任两个像素具有相近的颜色C1,属于丛集1314的7个像素中任两个像素的像素值相减的差值会小于上述预先定义差值且此任两个像素具有相近的颜色C2,而属于丛集1316的5个像素中任两个像素的像素值相减的差值亦会小于上述预先定义差值且此任两个像素具有相近的颜色C5。接着,颜色选择模块114会依据对应每一丛集的像素的数量选择第一丛集与第二丛集。在此,由于丛集1314的像素的数量与丛集1316的像素的数量皆大于丛集之中的其他丛集的像素的数量,因此,颜色选择模块114会选择丛集1314作为第一丛集,以及选择丛集1316作为第二丛集并且以第一丛集中的一个像素作为第一索引像素,以第二丛集中的一个像素作为第二索引像素。
接着,索引设定模块116会依序地将对应第一索引像素的索引值设定为0与对应此第二索引像素的索引值设定为1。并且在编码模块112将编码值传送至解码器120的操作中,编码模块112亦会传送对应每一像素对的识别值或第一索引像素的颜色与第二索引像素的颜色至解码端至解码器120。例如,在图15A的范例中,第一索引像素属于丛集1304,第二索引像素属于丛集1302,因此,第一索引像素的颜色与第二索引像素的颜色分别为C2与C1。而在图13B中,第一索引像素属于丛集1314,第二索引像素属于丛集1316,因此,第一索引像素的颜色与第二索引像素的颜色分别为C2与C5。
之后,在索引地图建立模块118使用双颜色模式对第一编码单元200中的每一像素进行索引编号以产生索引地图的操作,编码模块112依据索引地图产生对应第一编码单元200的编码值的操作,以及编码模块112将编码值600传送至解码器120的操作皆相同于第一范例实施例所数的方法,在此不再重述。
此外,当解码器120的编码值接收模块122接收到对应第一编码单元200的编码值后,解码模块124根据编码值重建对应第一编码单元200的索引地图的操作,亦是相同于第一范例实施例中图10A~图10G的操作,在此不在重述。据此,解码模块124可根据所获得的第一索引像素的颜色、第二索引像素的颜色与索引地图的多个索引值来重建第一编码单元200的多个像素。
综上所述,本公开的范例实施例所提出的编码方法与解码方法以及使用此方法的编解码系统、编码器与解码器藉由仅记录对应编码单元的像素之中的第1个被扫描像素的索引值于编码值中,由此能够有效地减少编码运算时的传输量,进而可有效地提升编解码的效能。
Claims (42)
1.一种解码方法,其特征在于,包括:
接收对应第一编码单元的一编码值,其中该第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数;
根据该编码值中的索引值、至少一复制模式以及至少一跑字符的值重建对应该第一编码单元的索引地图,其中所接收的该编码值内的索引值仅包括该索引地图中的该第一编码单元的这些像素的第1个被扫描像素的索引值;
获得第一索引像素的颜色与第二索引像素的颜色;以及
根据该第一索引像素的颜色、该第二索引像素的颜色与该索引地图的多个索引值重建该第一编码单元的这些像素,其中该第一索引像素的颜色不同于该第二索引像素的颜色。
2.如权利要求1所述的解码方法,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,且该第1个像素的索引值为该索引地图中所扫描的第1个索引,
其中根据该编码值中的该索引值以及该跑字符的值重建对应该第一编码单元的该索引地图的步骤包括:
若该第c个索引的该复制模式是向左复制跑模式,则当解码对应该索引地图中所扫描的第1个索引的像素时,根据该索引地图中所扫描的第1个索引和该跑字符的值重建该索引地图,
在该索引地图中已被扫描的索引的个数小于或等于L时,将该所扫描的第c个索引转换为坐标(x,y),以及将已扫描的第c-1个索引转换为坐标(m,n),其中对应该坐标(m,n)的索引的值为P;以及
当解码对应该索引地图中所扫描的第c个索引的像素时,根据该索引地图中该所扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中该所扫描的第c个索引的值为(P+1)除以2所获得的余数。
3.如权利要求2所述的解码方法,其中根据该编码值中的该索引值、该复制模式以及该跑字符的值重建对应该第一编码单元的该索引地图的步骤还包括:
当解码对应该索引地图中所扫描的第c个索引的像素时,判断对应该第c-1个索引的该复制模式是使用向上复制跑模式或该向左复制跑模式来解码对应该索引地图中所扫描的第c-1个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L;
将对应该索引地图中所扫描的第c个索引转换为坐标(x,y),将该已扫描的第c-1个索引转换为坐标(m,n),以及将对应该索引地图中已扫描的第c-L个索引转换为坐标(p,q),其中对应该坐标(p,q)的索引的值为Q以及对应该坐标(m,n)的索引的值为R;
当判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据对应该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(Q+1)除以2所获得的余数,以及
当判断使用该向左复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据对应该索引地图中已扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(R+1)除以2所获得的余数。
4.如权利要求1所述的解码方法,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,
其中根据该编码值中的该索引值、该复制模式以及该跑字符的值重建对应该第一编码单元的该索引地图的步骤还包括:
当解码对应该索引地图中所扫描的第c个索引的像素时,判断对应该第c个索引的该复制模式是使用向上复制跑模式或向左复制跑模式来解码对应该索引地图中所扫描的第c个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L;
当判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c个索引的像素时,将对应该索引地图中所扫描的第c个索引转换为坐标(x,y),将对应该索引地图中已扫描的第c-L个索引转换为坐标(p,q),以及根据该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图。
5.如权利要求1所述的解码方法,其中获得该第一索引像素的颜色与该第二索引像素的颜色的步骤包括:
接收对应该第一索引像素与该第二索引像素的识别值;以及
根据该识别值从一像素对表中识别该第一索引像素的颜色与该第二索引像素的颜色。
6.如权利要求1所述的解码方法,其中获得该第一索引像素的颜色与该第二索引像素的颜色的步骤包括:
接收该第一索引像素的颜色与该第二索引像素的颜色。
7.一种编码方法,其特征在于,包括:
接收画面的第一编码单元,其中该第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数;
在该画面中的多个像素中选出两个像素作为第一索引像素与第二索引像素,其中该第一索引像素的颜色不同于该第二索引像素的颜色;以及
对该第一编码单元中的每一像素进行索引编号以产生索引地图,其中在该索引地图中该第一编码单元的每一像素的颜色是以对应该第一索引像素的索引值或对应该第二索引像素的索引值来呈现,其中在该索引地图中仅对应该第一编码单元的这些像素的第1个被扫描像素的索引值被记录在编码值中。
8.如权利要求7所述的编码方法,其中该画面中的这些像素包括邻近于该第一编码单元的至少一第二编码单元中邻近于该第一编码单元的多个第三像素。
9.如权利要求8所述的编码方法,其中这些第三像素分别为邻近于该第一编码单元的第1行第1列个像素的上边沿与左边沿的两个像素,邻近于该第一编码单元的第1行第L列个像素的上边沿的一个像素,邻近于该第一编码单元的第L行第1列个像素的左边沿的一个像素以及对应于该第一编码单元的第1行第1列个像素的左上角的一个像素。
10.如权利要求9所述的编码方法,其中在该画面的这些像素中选出该两个像素作为该第一索引像素与该第二索引像素的步骤包括:
建立像素对表;
依据这些第三像素产生多个像素对,且将对应每一这些像素对的识别值与对应该识别值的每一组像素对的颜色记录于该像素对表中;以及
根据该像素对表选择其中一个像素对,其中该其中一个像素对的两个像素被设定为该第一索引像素与该第二索引像素。
11.如权利要求8所述的编码方法,其中在该画面的这些像素中选出该两个像素作为该第一索引像素与该第二索引像素的步骤包括:
根据这些像素的像素值将这些像素分群为多个丛集,其中这些丛集之中同一个丛集内的像素的像素值相同;以及
依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
12.如权利要求8所述的编码方法,其中在该画面的这些像素中选出该两个像素作为该第一索引像素与该第二索引像素的步骤包括:
根据这些像素的像素值将这些像素分群为多个丛集,其中这些丛集之中同一个丛集内的任两个像素的像素值的差值小于一预先定义差值;以及
依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
13.如权利要求10所述的编码方法,还包括:
将该编码值与该识别值传送至解码端,
其中该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
14.如权利要求7所述的编码方法,还包括:
直接传送该编码值、该第一索引像素的颜色与该第二索引像素的颜色至解码端,
其中该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
15.一种编码器,其特征在于,该编码器包括:
编码模块,接收画面的第一编码单元,其中该第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数;
颜色选择模块,在该画面中的多个像素中选出两个像素作为第一索引像素与第二索引像素,其中该第一索引像素的颜色不同于该第二索引像素的颜色;以及
索引地图建立模块,对该第一编码单元中的每一像素进行索引编号以产生索引地图,其中在该索引地图中该第一编码单元的每一像素的颜色是以对应该第一索引像素的索引值或对应该第二索引像素的索引值来呈现,
其中在该索引地图中仅对应该第一编码单元的这些像素的第1个被扫描像素的索引值被记录在编码值中。
16.如权利要求15所述的编码器,其中该画面中的这些像素包括邻近于该第一编码单元的至少一第二编码单元中邻近于该第一编码单元的多个第三像素。
17.如权利要求16所述的编码器,其中这些第三像素分别为邻近于该第一编码单元的第1行第1列个像素的上边沿与左边沿的两个像素,邻近于该第一编码单元的第1行第L列个像素的上边沿的一个像素,邻近于该第一编码单元的第L行第1列个像素的左边沿的一个像素以及对应于该第一编码单元的第1行第1列个像素的左上角的一个像素。
18.如权利要求17所述的编码器,还包括一像素对表建立模块,用以建立像素对表,
其中该像素对表建立模块依据这些第三像素产生多个像素对,且将对应每一这些像素对的识别值与对应该识别值的每一组像素的颜色记录于该像素对表中,
其中该颜色选择模块根据该像素对表选择其中一个像素对,其中该其中一个像素对的两个像素被设定为该第一索引像素与该第二索引像素。
19.如权利要求16所述的编码器,其中该颜色选择模块更根据这些像素的像素值将这些像素分群为多个丛集,其中这些像素之中同一个丛集内的像素的像素值相同,
其中该颜色选择模块更依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
20.如权利要求16所述的编码器,其中该颜色选择模块更根据这些像素的像素值将这些像素分群为多个丛集,其中这些丛集之中同一个丛集内的任两个像素的像素值的差值小于预先定义差值,
其中该颜色选择模块更依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
21.如权利要求18所述的编码器,其中该编码模块还用以将该编码值与该识别值传送至解码器,其中该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
22.如权利要求15所述的编码器,其中该编码模块直接传送该编码值、该第一索引像素的颜色与该第二索引像素的颜色至解码器,
其中该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
23.一种解码器,其特征在于,包括:
编码值接收模块,接收对应第一编码单元的编码值,其中该第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数;以及
解码模块,根据该编码值中的索引值、至少一复制模式以及至少一跑字符的值重建对应该第一编码单元的索引地图,其中所接收的该编码值内的索引值仅包括该索引地图中的该第一编码单元的这些像素的第1个被扫描像素的索引值,
其中该解码模块获得第一索引像素的颜色与第二索引像素的颜色,
其中该解码模块根据该第一索引像素的颜色、该第二索引像素的颜色与该索引地图的多个索引值重建该第一编码单元的这些像素,其中该第一索引像素的颜色不同于该第二索引像素的颜色。
24.如权利要求23所述的解码器,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,且该第1个像素的索引值为该索引地图中所扫描的第1个索引,其中,若该第c个索引的该复制模式是向左复制跑模式,则当该解码模块解码对应该索引地图中所扫描的第1个索引的像素时,根据该索引地图中所扫描的第1个索引和该跑字符的值重建该索引地图,
其中在该索引地图中已被扫描的索引的个数小于或等于L时,该解码模块将该索引地图中所扫描的第c个索引转换为坐标(x,y),以及将已扫描的第c-1个索引转换为坐标(m,n),其中对应该坐标(m,n)的索引的值为P,
其中当该解码模块解码对应该索引地图中所扫描的第c个索引的像素时,根据该索引地图中该所扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中该所扫描的第c个索引的值为(P+1)除以2所获得的余数。
25.如权利要求24所述的解码器,其中当该解码模块解码对应该索引地图中所扫描的第c个索引的像素时,更判断对应该第c-1个索引的该复制模式是使用向上复制跑模式或该向左复制跑模式来解码对应该索引地图中所扫描的第c-1个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L,
其中该解码模块将该索引地图中所扫描的第c个索引转换为坐标(x,y),将该已扫描的第c-1个索引转换为坐标(m,n),以及将该索引地图中已扫描的第c-L个索引转换为坐标(p,q),其中对应该坐标(p,q)的索引的值为Q以及对应该坐标(m,n)的索引的值为R,
其中当该解码模块判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据对应该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(Q+1)除以2所获得的余数,
其中当该解码模块断使用该向左复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据对应该索引地图中已扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(R+1)除以2所获得的余数。
26.如权利要求23所述的解码器,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,
其中当该解码模块解码对应该索引地图中所扫描的第c个索引的像素时,判断对应该第c个索引的该复制模式是使用向上复制跑模式或向左复制跑模式来解码对应该索引地图中所扫描的第c个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L,
其中当该解码模块判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c个索引的像素时,将对应该索引地图中所扫描的第c个索引转换为坐标(x,y),将对应该索引地图中已扫描的第c-L个索引转换为坐标(p,q),以及根据该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图。
27.如权利要求23所述的解码器,其中该编码值接收模块更接收对应该第一索引像素与该第二索引像素的识别值,
其中该解码模块根据该识别值从像素对表中识别该第一索引像素的颜色与该第二索引像素的颜色。
28.如权利要求23所述的解码器,其中该编码值接收模块更接收该第一索引像素的颜色与该第二索引像素的颜色。
29.一种编解码系统,其特征在于,包括:
编码器,接收画面的第一编码单元,其中该第一编码单元具有以L×L矩阵形式的多个像素,其中L为正整数;以及
解码器,
其中该编码器在该画面中的多个像素中选出两个像素作为第一索引像素与第二索引像素,其中该第一索引像素的颜色不同于该第二索引像素的颜色,
其中该编码器对该第一编码单元中的每一像素进行索引编号以产生索引地图,其中在该索引地图中该第一编码单元的每一像素的颜色是以对应该第一索引像素的索引值或对应该第二索引像素的索引值来呈现,
其中在该索引地图中仅对应该第一编码单元的这些像素的第1个被扫描像素的索引值被记录在该编码值中。
30.如权利要求29所述的编解码系统,其中该解码器接收对应该第一编码单元的该编码值,
其中该解码器根据该编码值中的索引值、至少一复制模式以及至少一跑字符的值重建对应该第一编码单元的该索引地图,且所接收的该编码值内的索引值仅包括该索引地图中的该第一编码单元的这些像素的第1个被扫描像素的索引值,
其中该解码器获得该第一索引像素的颜色与该第二索引像素的颜色,
其中该解码器根据该第一索引像素的颜色、该第二索引像素的颜色与该索引地图的多个索引值重建该第一编码单元的这些像素。
31.如权利要求29所述的编解码系统,其中该画面中的这些像素包括邻近于该第一编码单元的至少一第二编码单元中邻近于该第一编码单元的多个第三像素。
32.如权利要求31所述的编解码系统,其中这些第三像素分别为邻近于该第一编码单元的第1行第1列个像素的上边沿与左边沿的两个像素,邻近于该第一编码单元的第1行第L列个像素的上边沿的一个像素,邻近于该第一编码单元的第L行第1列个像素的左边沿的一个像素以及对应于该第一编码单元的第1行第1列个像素的左上角的一个像素。
33.如权利要求32所述的编解码系统,其中该编码器更建立像素对表,
其中该编码器依据这些第三像素产生多个像素对,且将对应每一这些像素对的识别值与对应该识别值的每一组像素的颜色记录于该像素对表中,
其中该编码器根据该像素对表选择其中一个像素对,其中该其中一个像素对的两个像素被设定为该第一索引像素与该第二索引像素。
34.如权利要求31所述的编解码系统,其中该编码器根据这些像素的像素值将这些像素分群为多个丛集,其中这些像素之中同一个丛集内的像素的像素值相同,
其中该编码器依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
35.如权利要求31所述的编解码系统,其中该编码器根据该邻近范围内的这些像素的像素值将这些像素分群为多个丛集,其中这些丛集之中同一个丛集内的任两个像素的像素值的差值小于预先定义差值,
其中该编码器依据对应每一这些丛集的像素的数量选择第一丛集与第二丛集,
其中该第一索引像素属于该第一丛集,该第二索引像素属于该第二丛集,并且该第一丛集的像素的数量与该第二丛集的像素的数量皆大于这些丛集之中的其他丛集的像素的数量。
36.如权利要求33所述的编解码系统,其中该编码器还用以将该编码值与该识别值传送至该解码器,且该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
37.如权利要求29所述的编解码系统,其中该编码器直接传送该编码值、该第一索引像素的颜色与该第二索引像素的颜色至该解码器,
其中该编码值包括该第一编码单元的像素之中的第1个被扫描像素的索引值、至少一复制模式以及至少一跑字符的值。
38.如权利要求30所述的编解码系统,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,且该第1个像素的索引值为该索引地图中所扫描的第1个索引,
其中,若该第c个索引的该复制模式是向左复制跑模式,则当该解码器解码对应该索引地图中所扫描的第1个索引的像素时,根据该索引地图中所扫描的第1个索引和该跑字符的值重建该索引地图,
其中在该索引地图中已被扫描的索引的个数小于或等于L时,该解码器将该所扫描的第c个索引转换为坐标(x,y),以及将已扫描的第c-1个索引转换为坐标(m,n),其中对应该坐标(m,n)的索引的值为P,
其中当该解码器解码对应该索引地图中所扫描的第c个索引的像素时,根据该索引地图中该所扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中该所扫描的第c个索引的值为(P+1)除以2所获得的余数。
39.如权利要求38所述的编解码系统,其中当该解码器解码对应该索引地图中所扫描的第c个索引的像素时,更判断对应该第c-1个索引的复制模式是使用向上复制跑模式或该向左复制跑模式来解码对应该索引地图中所扫描的第c-1个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L,
其中该解码器将应该索引地图中所扫描的第c个索引转换为坐标(x,y),将该已扫描的第c-1个索引转换为坐标(m,n),以及将对应该索引地图中已扫描的第c-L个索引转换为坐标(p,q),其中对应该坐标(p,q)的索引的值为Q以及对应该坐标(m,n)的索引的值为R,
当该解码器判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(Q+1)除以2所获得的余数,
其中当该解码器断使用该向左复制跑模式解码对应该索引地图中所扫描的第c-1个索引的像素时,根据对应该索引地图中已扫描的第c-1个索引和该跑字符的值重建该索引地图,其中该索引地图中所扫描的第c个索引的值为(R+1)除以2所获得的余数。
40.如权利要求30所述的编解码系统,其中该索引地图中对应该第一编码单元的每一像素的索引值是以该L×L矩阵形式排列,并且在该索引地图中已被扫描的索引的个数为c,其中c为大于0且小于或等于(L×L)的正整数,
其中当该解码器解码对应该索引地图中所扫描的第c个索引的像素时,判断对应该第c个索引的该复制模式是使用向上复制跑模式或向左复制跑模式来解码对应该索引地图中所扫描的第c个索引的像素,其中在该索引地图中已被扫描的索引的个数大于L,
其中当该解码器判断使用该向上复制跑模式解码对应该索引地图中所扫描的第c个索引的像素时,将对应该索引地图中所扫描的第c个索引转换为坐标(x,y),将对应该索引地图中已扫描的第c-L个索引转换为坐标(p,q),以及根据该索引地图中已扫描的第c-L个索引和该跑字符的值重建该索引地图。
41.如权利要求30所述的编解码系统,其中该解码器更接收对应该第一索引像素与该第二索引像素的识别值,
其中该解码器根据该识别值从像素对表中识别该第一索引像素的颜色与该第二索引像素的颜色。
42.如权利要求30所述的编解码系统,其中该解码器更接收该第一索引像素的颜色与该第二索引像素的颜色。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462011584P | 2014-06-13 | 2014-06-13 | |
US62/011,584 | 2014-06-13 | ||
US201462045513P | 2014-09-03 | 2014-09-03 | |
US62/045,513 | 2014-09-03 | ||
TW104115225 | 2015-05-13 | ||
TW104115225A TWI581617B (zh) | 2014-06-13 | 2015-05-13 | 編碼方法與解碼方法、編解碼系統、編碼器與解碼器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105282550A true CN105282550A (zh) | 2016-01-27 |
Family
ID=53489792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510315424.1A Pending CN105282550A (zh) | 2014-06-13 | 2015-06-10 | 编码方法与解码方法、编解码系统、编码器与解码器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20150365685A1 (zh) |
EP (1) | EP2955920A1 (zh) |
CN (1) | CN105282550A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259908A (zh) * | 2016-12-28 | 2018-07-06 | 汤姆逊许可公司 | 用于编码和解码像素列表的方法和装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9848198B2 (en) * | 2014-10-06 | 2017-12-19 | Qualcomm Incorporated | Diagonal copy for palette mode coding |
US20160366439A1 (en) * | 2015-06-12 | 2016-12-15 | Qualcomm Incorporated | Palette copy extension |
JP7171966B2 (ja) * | 2020-02-20 | 2022-11-15 | 富士フイルム株式会社 | 撮像装置、制御装置、撮像装置の動作方法、及びプログラム |
CN113505204B (zh) * | 2021-09-09 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 召回模型训练方法、搜索召回方法、装置和计算机设备 |
CN117412062A (zh) * | 2023-09-28 | 2024-01-16 | 协创芯片(上海)有限公司 | 一种支持h265编码的多媒体芯片 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014107742A (ja) * | 2012-11-28 | 2014-06-09 | Toshiba Corp | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
US11259020B2 (en) * | 2013-04-05 | 2022-02-22 | Qualcomm Incorporated | Determining palettes in palette-based video coding |
US9699468B2 (en) * | 2014-02-10 | 2017-07-04 | Microsoft Technology Licensing, Llc | Adaptive screen and video coding scheme |
-
2015
- 2015-06-10 CN CN201510315424.1A patent/CN105282550A/zh active Pending
- 2015-06-11 US US14/736,275 patent/US20150365685A1/en not_active Abandoned
- 2015-06-11 EP EP15171546.3A patent/EP2955920A1/en not_active Withdrawn
-
2018
- 2018-01-10 US US15/866,493 patent/US20180131949A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259908A (zh) * | 2016-12-28 | 2018-07-06 | 汤姆逊许可公司 | 用于编码和解码像素列表的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2955920A1 (en) | 2015-12-16 |
US20150365685A1 (en) | 2015-12-17 |
US20180131949A1 (en) | 2018-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI536811B (zh) | 影像處理方法與系統、解碼方法、編碼器與解碼器 | |
US12200210B2 (en) | Encoding method, decoding method, encoding/decoding system, encoder, and decoder | |
CN105282550A (zh) | 编码方法与解码方法、编解码系统、编码器与解码器 | |
US20160100161A1 (en) | Decoder, encoder, decoding method, encoding method, and codec system | |
CN105959724B (zh) | 一种视频数据处理方法以及装置 | |
US20170155899A1 (en) | Image compression method and apparatus using matching | |
CN110225345B (zh) | 用于主颜色索引图编码的方法及装置 | |
US20190082185A1 (en) | Efficient lossless compression of captured raw image information systems and methods | |
US9756347B2 (en) | Screen content coding systems and methods | |
KR101946598B1 (ko) | 이미지 코딩, 디코딩 방법 및 장치 | |
KR20240042127A (ko) | 인트라 예측을 위한 방법 및 장치 | |
CN104581177A (zh) | 一种结合块匹配和串匹配的图像压缩方法和装置 | |
CN114287133A (zh) | 帧内模式中的预测样点滤波的加权因子 | |
CN104754362A (zh) | 使用精细划分块匹配的图像压缩方法 | |
CN104754343B (zh) | 图像处理方法与系统、解码方法、编码器与解码器 | |
CN105992003A (zh) | 依据排序或频度对调色板颜色编号的图像压缩方法和装置 | |
CN110213595B (zh) | 基于帧内预测的编码方法、图像处理设备和存储装置 | |
TWI581617B (zh) | 編碼方法與解碼方法、編解碼系統、編碼器與解碼器 | |
CN106303534A (zh) | 多种索引串与像素串融合复制方式的图像压缩方法和装置 | |
TWI565302B (zh) | 解碼器、編碼器、解碼方法、編碼方法與編解碼系統 | |
CN105828079B (zh) | 图像处理方法及装置 | |
TW201547257A (zh) | 編碼方法、解碼方法、編解碼系統、編碼器與解碼器 | |
JPH09120458A (ja) | 画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160127 |