CN105828081B - 编码方法及编码装置 - Google Patents

编码方法及编码装置 Download PDF

Info

Publication number
CN105828081B
CN105828081B CN201610031216.3A CN201610031216A CN105828081B CN 105828081 B CN105828081 B CN 105828081B CN 201610031216 A CN201610031216 A CN 201610031216A CN 105828081 B CN105828081 B CN 105828081B
Authority
CN
China
Prior art keywords
color
color value
pixel
histogram
value
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.)
Active
Application number
CN201610031216.3A
Other languages
English (en)
Other versions
CN105828081A (zh
Inventor
洪朝雄
林俊隆
张耀仁
林敬杰
涂日升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from TW105100017A external-priority patent/TWI568250B/zh
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Publication of CN105828081A publication Critical patent/CN105828081A/zh
Application granted granted Critical
Publication of CN105828081B publication Critical patent/CN105828081B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/94Vector quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/648Transmitting or storing the primary (additive or subtractive) colour signals; Compression thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

本公开提出一种编码方法及编码装置,此编码方法包括产生对应编码单元中所有像素的直方图。本编码方法还包括依据直方图寻找第一颜色值,其中具有第一颜色值的像素的第一数量大于等于第一阈值。本编码方法还包括依据直方图在第一颜色值的第一范围内寻找第二颜色值。本编码方法还包括若具有第二颜色值的像素的第二数量大于等于第二阈值时,从直方图中移除具有第一颜色值的像素。本编码方法还包括若第二数量小于第二阈值时,将第一颜色值加入初始颜色表中。

Description

编码方法及编码装置
技术领域
本公开涉及一种编码方法及编码装置,且特别涉及一种能使编码后颜色更接近原本颜色的编码方法及编码装置。
背景技术
现今的网络因为有较大的容量,故能传输较多的数据。新的网络应用如网络会议和云端计算等等,也随着屏幕内容分享和传输的兴起而受到重视。因此如何有效率地传输这些屏幕内容变得重要。屏幕内容的图像和一般用摄像机拍摄的图像是有很大的差异的,因此传统的压缩编码工具没办法将屏幕内容图像压缩得很好。调色盘编码法属于一种新的工具,能对屏幕内容提供不错的压缩效果。
屏幕内容编码(screen content coding,SCC)的测试图像,大都只含有少数主要颜色。调色盘编码(palette encoding)法采用了这种特性,并且对屏幕内容有良好的编码效果。图1是调色盘编码方法的流程图,在步骤S101中,调色盘编码法会先分析一个编码单位(coding unit,CU)内的主要颜色,其中编码单位是由像素(pixel)所构成的,且每个像素都有自己的颜色值。然后在步骤S103中,调色盘编码方法会产生一个调色表(palettetable),并在步骤S105中,将编码单位内的像素用对应的颜色索引(color index)表示,最后在步骤S107中,对调色表及颜色索引地图进行编码。
图2是调色盘编码方法的范例,在图2中,编码单元201具有64个像素且这些像素一共含有8个颜色,由于调色表可能无法包含全部的颜色,因此颜色如果在调色表上的话属于主要颜色(major color),不然则属于跳脱颜色(escape color)。例如,调色表上只有C0、C1、C2、C4、C5和C6等共6个主要颜色,而C3和C7则会被分类成跳脱颜色。在此,通常只有少数的像素会被分类到跳脱颜色。在调色表产生之后,调色盘编码方法会根据调色表及编码单元201产生的颜色索引地图(color index map)202,其中颜色索引值0~5分别对应到编码单元201中的颜色C0、C1、C2、C4、C5和C6,因此颜色索引值0~5也称为主要颜色索引值,而颜色索引值6会对应到编码单元201中的颜色C3及C7,因此颜色索引值6也称为跳脱颜色索引值。最后,调色表和颜色索引地图202都会经过编码后传送到解码端。
调色表是根据量化刻度(quantization step size),把颜色数值相近的颜色做分类(例如,将1到100的颜色值分类成10、20、30、…、100),而每个颜色群组的平均值即是调色表上的主要颜色。图3是基于K平均分类法的调色表产生方法的流程图,在步骤S301中,初始颜色群组为空的。在步骤S303中,会选出一个目前处理像素,在此要注意的是,编码单位内的全部像素会用光栅扫描顺序(raster scan order)处理,将每个横列都从左到右处理,并从上到下处理每个横列,直到全部的像素都处理完,并且在后续步骤中把每个像素分类到不同的颜色群组。在步骤S305中,会比较目前像素与每个颜色群组的颜色平均值误差,在此每个颜色群组有两个参数,像素数量和颜色平均值,初始值都是0。在步骤S307中,会判断目前像素与每个颜色群组的颜色平均值误差的最小值是否小于等于根据量化刻度决定的误差界限(error limit),如果目前像素与一颜色群组的颜色平均值误差的最小值小于等于误差界限,则在步骤S309中,目前像素就会被分类到误差最小值的颜色群组,并将此颜色群组的像素数量加1且重新计算颜色平均值。若如果目前像素与每个颜色群组的颜色平均值误差都大于误差界限,则在步骤S311中,目前像素会形成一个新的颜色群组,此颜色群组的像素数量为1,颜色平均值为此像素的颜色值。等到处理完编码单位内的全部像素之后,调色表会根据欲预设的大小S来选出前S个像素数量最多的颜色群组,被选中的颜色群组的颜色平均值就是调色表上的主要颜色,剩下的群组的像素就是跳脱颜色。
然而,用K平均分类法产生出来的主要颜色可能会有以下问题。图4A及图4B为根据K平均分类法产生的颜色群组的潜在问题的示意图。对一个颜色群组而言,后面分类进来的颜色有可能造成平均值飘移的现象,如此最初分类进来的颜色可能会离最后的主要颜色很远。例如,在图4A中,假设颜色群组410最初有颜色411、颜色412、颜色413和颜色415,而其平均值为平均颜色414,但随着颜色416~颜色418加入群组,颜色群组410的平均值会从平均颜色414改变为平均颜色419,再从平均颜色419改变为平均颜色420。因此最后的平均颜色420会离初始的平均颜色414很远,造成颜色的平均值飘移。另外,如果一个颜色群组有数个子群组存在,这个两个子群组可能只用一个主要颜色表示。例如,在图4B中,颜色群组430包括了颜色子群组431及颜色子群组432,颜色子群组431及颜色子群组432会只用颜色群组430中的平均值,也就是平均颜色433来表示,使得两个颜色子群组431、432显示的颜色都与其原始的颜色有所差异。
发明内容
本公开提供一种编码方法及编码装置,期能够改善以K平均分类法为基础的编码方法所产生的颜色可能与原本的颜色差异过大的问题。
本公开的一范例实施例提出一种编码方法,本编码方法包括产生对应编码单元中所有像素的直方图。本编码方法还包括依据直方图寻找第一颜色值,其中直方图中具有第一颜色值的像素的第一数量大于等于第一阈值。本编码方法还包括依据直方图在第一颜色值的第一范围内寻找第二颜色值。本编码方法还包括若具有第二颜色值的像素的第二数量大于等于第二阈值时,从直方图中移除具有第一颜色值的像素。本编码方法还包括若第二数量小于第二阈值时,将第一颜色值加入初始颜色表中。
本公开的一范例实施例提出一种编码装置,包括产生模块、搜寻模块、处理模块及存储模块。产生模块产生对应编码单元中所有像素的直方图。搜寻模块依据直方图寻找第一颜色值,其中具有第一颜色值的像素的第一数量大于等于第一阈值。搜寻模块还依据直方图在第一颜色值的第一范围内寻找第二颜色值。若具有第二颜色值的像素的第二数量大于等于第二阈值时,处理模块从直方图中移除具有第一颜色值的像素。若第二数量小于第二阈值时,处理模块将第一颜色值加入初始颜色表中。存储模块用以存储编码单元、直方图及初始颜色表。
本公开的另一范例实施例提出一种计算机可读的记录介质,其记录有.如权利要求1项的编码方法的程序。
本公开的又一范例实施例提出一种计算机程序产品,当一电子装置载入该计算机程序并执行后,可完成权利要求书第1所述的方法。
基于上述,本公开的编码方法及编码装置会先利用编码单元中像素颜色值及其数量构成的直方图决定初始颜色表,接着再将颜色并未出现在初始颜色表中的像素利用K平均分类法进行分类,使得编码后产生的颜色更接近原本的颜色。
为让本公开的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是调色盘编码方法的流程图。
图2是调色盘编码方法的范例。
图3是基于K平均分类法的调色表产生方法的流程图。
图4A及图4B为根据K平均分类法产生的颜色群组的潜在问题的示意图。
图5为根据本公开一范例实施例所绘示的编码装置的方块图。
图6为根据本公开一范例实施例所绘示的编码方法的流程图。图7为根据本公开一范例实施例所绘示的建立初始颜色表的流程图。
图8为根据本公开一范例实施例所绘示的由编码单位像素产生的直方图的示意图。
图9为根据本公开一范例实施例建立直方图的程序代码。
图10A及图10B为根据本公开一范例实施例建立初始颜色表初始颜色群组的程序代码。
图11A及图11B为根据本公开一范例实施例分类像素的程序代码。
【符号说明】
S101、S103、S105、S107:调色盘编码方法的步骤
201:编码单元
202:颜色索引地图
S301、S303、S305、S307、S309、S311:基于K平均分类法的调色表产生方法的步骤
410、430:颜色群组
411~413、415~418:颜色
414、419、420、433:平均颜色
431、432:颜色子群组
500:编码装置
510:产生模块
520:搜寻模块
530:处理模块
540:存储模块
S601、S603、S605、S607、S609、S611、S613、S615、S617、S619:编码方法的步骤
S701、S703、S705、S707、S709、S711、S713、S715、S717、S719、S721:建立初始颜色表的步骤
C1:第一颜色值
C2:第二颜色值
P1:第一数量
P2:第二数量
T1:第一阈值
T2:第二阈值
E1:第一范围
E2:第二范围
具体实施方式
图5为根据本公开一范例实施例所绘示的编码装置的方块图。
请参照图5,本公开的编码装置500包括产生模块510、搜寻模块520、处理模块530及存储模块540。当产生模块510从一输入模块(未绘示)获得一个画面中的一个编码单元时,产生模块510会产生对应此编码单元中所有像素的直方图。在本公开的范例实施例中,编码单元具有以一矩阵形式排列的多个像素。具体而言,在H.265/HEVC的标准下,是以一个编码树单元(Coding Tree Unit,CTU)作为编码单元编码时的最大处理区块,此编码树单元的大小通常是设定为64×64的区块。编码单元则可以是小于或等于编码树单元的区块大小。举例而言,编码单元为一正方形并且其大小可以是64×64、32×32、16×16或8×8的区块。
在产生模块510产生了直方图以后,搜寻模块520会依据直方图寻找第一颜色值,其中具有第一颜色值的像素的第一数量大于等于第一阈值。搜寻模块520还会依据直方图在第一颜色值的第一范围内寻找第二颜色值。若具有第二颜色值的像素的第二数量大于等于第二阈值时,处理模块530会从直方图中移除具有第一颜色值的像素。若第二数量小于第二阈值时,处理模块530会将第一颜色值加入初始颜色表中。存储模块540用以存储编码单元、直方图及初始颜色表。当初始颜色表建立完成以后,处理模块530会进一步分类像素颜色不在初始颜色表中的像素,以建立出对应编码单元的调色表及颜色索引地图。更详细的编码方法流程会在下文中进一步说明。
值得注意的是,本公开的产生模块510、搜寻模块520及处理模块530可以是以硬件实作的电路或是以软件或固件实作的程序代码。例如,在本公开的一范例实施例中,产生模块510、搜寻模块520、处理模块530可以分别是以硬件实作的产生电路、搜寻电路及处理电路。而在本公开的另一范例实施例中,产生模块510、搜寻模块520、处理模块530也可以是以软件或固件实作的程序代码,并经由一处理器来执行,其中处理器可以是中央处理器(CPU)、微处理器(micro-processor)或嵌入式控制器(embedded controller)等具有逻辑运算能力的装置,本公开并不加以限制。存储模块540可以是例如随机存取存储器(RandomAccess Memory,RAM)的易失性存储器或是例如硬盘(Hard Disk Drive,HDD)、固态硬盘(Solid State Drive,SSD)等非易失性存储器,本公开并不加以限制。
图6为根据本公开一范例实施例所绘示的编码方法的流程图。
请参照图6,在步骤S601中,编码装置500会建立对应编码单元中所有像素的直方图,其中直方图的横轴代表颜色值,且纵轴代表具有此颜色值的像素数量。在步骤S603中,编码装置500会根据直方图建立初始颜色表,并且根据直方图及初始颜色表获得初始颜色群组。具体来说,编码装置500会选出直方图中具有较多像素数量的颜色值,并将利用这些颜色值建立一个初始颜色表。另外,编码装置500还会建立多个初始颜色群组,其中每个初始颜色群组的颜色平均值及像素数量可对应到从上述直方图中选出的颜色值及其像素数量。值得注意的是,当对应一编码单元的初始颜色表建立完成以后,就不会在后续步骤中被更新。而初始颜色表的建立方法会在下文中作出更详细的描述。
在步骤S605中,编码装置500会逐一扫描及处理每一像素,例如,编码装置500会将编码单位内的全部像素会用光栅扫描顺序(raster scan order)处理,将每个横列都从左到右处理,并从上到下处理每个横列,直到全部的像素都处理完,并在步骤S607中判断目前像素的颜色值是否相同于初始颜色表中的任一颜色值。若目前像素的颜色值相同于初始颜色表中的任一颜色值,则代表此像素已经存在于初始颜色群组中,因此不需要在对其进行分群的操作,而返回步骤S605继续扫描及处理下一个像素。若目前像素的颜色值不等于初始颜色表中的任一颜色值,则对其进行K平均分类法的操作。
在步骤S609中,编码装置500会比较目前像素与每个初始颜色群组的颜色平均值误差,在此每个初始颜色群组的颜色平均值及像素数量为上述在直方图中选出的颜色值及其像素数量。接着在步骤S611中,编码装置500会判断目前像素与每个初始颜色群组的颜色平均值误差的最小值是否小于等于根据量化刻度决定的误差界限(error limit)。如果目前像素与一初始颜色群组的颜色平均值误差的最小值小于等于误差界限,则在步骤S613中,编码装置500会将目前像素分类到误差为最小值的初始颜色群组,并将此初始颜色群组的像素数量加1且重新计算颜色平均值。若如果目前像素与每个初始颜色群组的颜色值误差都大于误差界限,则在步骤S615中,编码装置500会用目前像素形成一个新的颜色群组并加入初始颜色群组中,此新颜色群组的像素数量为1,颜色平均值为此像素的颜色值。在完成步骤S613或步骤S615之后,编码装置500会在步骤S617中判断是否已处理完编码单元的最后像素,若尚未处理完编码单元的最后像素,则回到步骤S605中继续扫描及处理下一个像素。若已处理完编码单元的最后像素,则在步骤S619中,完成编码单元所有像素的处理。
值得注意的是,虽然初始颜色表在建立以后就不会被更新,但是初始颜色群组的群组数量、每一群组的像素数量及颜色平均值都可能随着一个像素加入原有群组或是形成一个新的群组而有所改变。
图7为根据本公开一范例实施例所绘示的建立初始颜色表的流程图,并且图8为根据本公开一范例实施例所绘示的由编码单位像素产生的直方图的示意图。
请参照图7及图8,在步骤S701中,编码装置500开始建立初始颜色群组。在步骤S703中,编码装置500建立编码单元中所有像素的直方图,其中直方图的横轴代表颜色值,且纵轴代表具有此颜色值的像素数量。
在步骤S705中,编码装置500在直方图中寻找具有第一数量P1的第一颜色值C1,其中第一数量P1大于直方图中其他任一颜色值的像素数量。
在步骤S707中,编码装置500判断第一数量P1是否大于等于第一阈值T1,其中第一阈值T1会被设定为编码单元的宽度W乘以误差界限E除以32所获得的值,以及宽度W除以2所获得的值,之中的最大值(即,T1=max(W×E/32,W/2)),其中误差界限E是根据量化刻度来决定。若第一数量P1小于第一阈值T1,则在步骤S709中,编码装置500停止初始颜色群组建立程序。
若第一数量P1大于等于第一阈值T1,在步骤S711中,编码装置500在第一颜色值C1的第一范围E1中寻找具有第二数量P2的第二颜色值C2,其中第二颜色值C2是在第一颜色值C1的第一范围E1内,除了第一颜色值C1以外具有最大像素数量的颜色值,且第一范围E1是以该第一颜色值为中心,正负误差界限E除以4(即,E1=E/4)的范围。
在步骤S713中,编码装置500判断第二数量P2是否大于等于第二阈值T2,其中第二阈值T2为第一数量P1除以2(即,T2=P1/2)。若第二数量P2大于等于第二阈值T2,则在步骤S715中,编码装置500将第一颜色值C1从直方图中移除,也就是将具有第一颜色值C1的所有像素从直方图中移除。接着回到步骤S705继续寻找具有最大像素数量的颜色值。
若第二数量P2小于第二阈值T2,在步骤S717中,编码装置500将第一颜色值C1加入初始颜色群组中,并在步骤S719中,将第一颜色值C1加入初始颜色表中,接着在步骤S721中,移除直方图中第一颜色值C1及第一颜色值C1的第二范围E2中的所有像素,其中,第二范围E2是以该第一颜色值为中心,正负误差界限E除以4(即,E2=E/4)的范围。最后回到步骤S705继续寻找具有最大像素数量的颜色值。
值得注意的是,由于第一阈值T1是跟编码单元的宽度W及误差界限E相关,因此在同一个编码单元的运算中第一阈值T1是不变的。另外,由于第二阈值T2为第一数量P1除以2,因此在同一个编码单元的运算中,第二阈值T2会随着第一颜色值C1的第一数量P1的改变而有所变动。
图9为根据本公开一范例实施例建立直方图的程序代码。
请参照图9,在本公开的范例实施例中,编码装置500会扫描编码单元内的所有像素并且建立一个直方图。具体来说,编码装置500会逐一取得编码单元内像素的颜色值,并且与直方图上的所有像素值比较。如果在直方图上有找到对应的颜色值,就把直方图上此对应颜色值的像素数量加1。如果在直方图上找不到对应的颜色值,则在直方图上新增此像素的颜色值,并且将对应此新增颜色值的像素数量设为1。
图10A及图10B为根据本公开一范例实施例建立初始颜色表的程序代码。
请参照图10A及图10B,在本公开的范例实施例中的第一阈值T1、第二阈值T2分别对应程序代码中的uiLimit及uiHisCnt>>1(即uiHisCnt除以2),而第一数量P1对应到程序代码中的uiHisCnt。首先,在程序代码中,会先找出具有最多像素数量的颜色值,其中最大的像素数量为第一数量P1,其对应到的颜色值为第一颜色值C1,接着判断第一数量P1是否大于等于第一阈值T1,如果是则进一步寻找颜色值C1的第一范围E1之内是否有第二颜色值C2的第二数量P2大于等于第二阈值T2,如果存在此第二颜色值C2,则程序代码中的bOtherPeakExist(是否有次大的颜色值)会被设为true,并且将第一颜色值C1从直方图清除。如果不存在此第二颜色值C2,则程序代码中的bOtherPeakExist维持预设值false,则第一颜色值C1会被复制到初始颜色表及初始颜色群组中,并将第一颜色值C1的第二范围E2内所有颜色值的像素从直方图中清除。另外,若在一开始就找不到有第一数量P1大于等于第一阈值T1,则直接停止寻找直方图。
图11A及图11B为根据本公开一范例实施例分类像素的程序代码。
请参照图11A及图11B,在此段程序代码中,会先将目前像素的颜色值与初始颜色表的所有颜色值进行比对,若比对成功则不分类此像素。若比对失败则利用K平均分类法来分类此像素。具体来说,在K平均分类法中会比较目前像素与每个初始颜色群组的颜色平均值误差,并判断目前像素与每个初始颜色群组的颜色平均值误差的最小值是否小于等于根据量化刻度决定的误差界限。如果目前像素与初始颜色群组的一颜色平均值误差的最小值小于等于误差界限,则目前像素就会被分类到误差最小值的初始颜色群组,并且重新计算此初始颜色群组的像素数量和颜色平均值。若如果目前像素与每个初始颜色群组的颜色平均值误差都大于误差界限,则目前像素会形成一个新的颜色群组,此颜色群组的像素数量为1,颜色平均值为此像素的颜色值。并把此颜色群组加入初始颜色群组中。
表一
表一为本公开的编码方法与传统JCT-VT方法的比较表。在表一中,负数的值表示压缩效果比原本的好,绝对值越大的负数值则表示改善幅度越大,故此方法可以提供较好的压缩效果。从表一可以得知,在三种不同测试条件下,本公开的编码方法的编码时间会分别比传统JCT-VT方法快2%、3%及1%,而解码时间则会比传统JCT-VT方法快2%、慢1%及慢1%。因此本公开的编码方法在解码时间与传统JCT-VT方法差不多的状态下,可以节省1%~3%的编码时间,并且编码处理后的颜色会更接近原本颜色。通常,编码时间大都需要数小时,故编码时间减少2%~3%大概是可以节省一小时左右的时间。然而解码时间大多是数秒钟,而且很容易受到计算机的误差所影响,故1%的时间是还在误差范围内。
此外,上述指令可以存储在计算机可读的记录介质(computer-readablerecording medium)中。例如,计算机可读的记录介质为光盘(CD-ROM)、磁带(magnetictape)、软式盘片(floppy disc)或是光学数据存储装置(optical data storage device)。
综上所述,本公开的编码方法及编码装置会先建立对应编码单元的直方图,并利用直方图找出具有较多像素的颜色值,将这些颜色值加入初始颜色值。若编码单元中的像素的颜色值在初始颜色值中时,就不用对此像素进行分类,若编码单元中的像素的颜色值不在初始颜色值中时,才利用K平均分类法对此像素进行分类。藉由上述编码方法,除了能使分类以后的像素颜色更接近原本的颜色,编码所需的时间也会比传统方法来的少,且具有较高的压缩率。
虽然本公开已以实施例公开如上,然其并非用以限定本公开,本领域技术人员在不脱离本公开的精神和范围内,当可作些许的更动与润饰,故本公开的保护范围当视所附权利要求书界定范围为准。

Claims (18)

1.一种编码方法,其特征在于,包括:
产生对应编码单元中所有像素的直方图;
依据该直方图寻找第一颜色值,其中在该直方图中具有该第一颜色值的像素的第一数量大于等于第一阈值;
依据该直方图在该第一颜色值的第一范围内寻找第二颜色值,其中所述第二颜色值的像素的第二数量是在第一颜色值的第一范围内除第一颜色值之外的所有颜色值的像素的最大数量;
若具有该第二颜色值的像素的第二数量大于等于第二阈值时,从该直方图中移除具有该第一颜色值的像素;以及
若该第二数量小于该第二阈值时,将该第一颜色值加入初始颜色表中。
2.如权利要求1所述的编码方法,其特征在于,还包括利用K平均分类法来分类该编码单元中,颜色值不在该初始颜色表中的像素。
3.如权利要求1所述的编码方法,其特征在于,其中将该第一颜色值加入该初始颜色表中的步骤包括:
移除该直方图中该第一颜色值在第二范围内的所有像素。
4.如权利要求3所述的编码方法,其特征在于,其中该第二范围是以该第一颜色值为中心,正负误差界限除以4的范围。
5.如权利要求1所述的编码方法,其特征在于,其中该直方图的横轴及纵轴分别代表颜色值及具有该颜色值的像素数量。
6.如权利要求1所述的编码方法,其特征在于,其中该第一阈值为该编码单元的宽度乘以误差界限除以32所获得的值,以及该宽度除以2所获得的值,之中的最大值。
7.如权利要求6所述的编码方法,其特征在于,其中该误差界限是根据颜色值的量化刻度来决定。
8.如权利要求6所述的编码方法,其特征在于,其中该第一范围是以该第一颜色值为中心,正负该误差界限除以4的范围。
9.如权利要求1所述的编码方法,其特征在于,其中该第二阈值为该第一数量除以2。
10.一种编码装置,其特征在于,包括:
产生模块,产生对应编码单元中所有像素的直方图;
搜寻模块,依据该直方图寻找第一颜色值,其中在该直方图中具有该第一颜色值的像素的第一数量大于等于第一阈值,其中该搜寻模块还依据该直方图在该第一颜色值的第一范围内寻找第二颜色值,其中所述第二颜色值的像素的第二数量是在第一颜色值的第一范围内除第一颜色值之外的所有颜色值的像素的最大数量;
处理模块,其中若具有该第二颜色值的像素的第二数量大于等于第二阈值时,该处理模块从该直方图中移除具有该第一颜色值的像素,其中若该第二数量小于该第二阈值时,该处理模块将该第一颜色值加入初始颜色表中;以及
存储模块,用以存储该编码单元、该直方图及该初始颜色表。
11.如权利要求10所述的编码装置,其特征在于,其中该处理模块还利用K平均分类法来分类该编码单元中,颜色值不在该初始颜色表中的像素。
12.如权利要求10所述的编码装置,其特征在于,其中该处理模块还将该第一颜色值加入该初始颜色表中之后,移除该直方图中该第一颜色值在第二范围内的所有像素。
13.如权利要求12所述的编码装置,其特征在于,其中该第二范围是以该第一颜色值为中心,正负误差界限除以4的范围。
14.如权利要求10所述的编码装置,其特征在于,其中该直方图的横轴及纵轴分别代表颜色值及具有该颜色值的像素数量。
15.如权利要求10所述的编码装置,其特征在于,其中该第一阈值为该编码单元的宽度乘以误差界限除以32所获得的值,以及该宽度除以2所获得的值,之中的最大值。
16.如权利要求15所述的编码装置,其特征在于,其中该误差界限是根据颜色值的量化刻度来决定。
17.如权利要求15所述的编码装置,其特征在于,其中该第一范围是以该第一颜色值为中心,正负该误差界限除以4的范围。
18.如权利要求10所述的编码装置,其特征在于,其中该第二阈值为该第一数量除以2。
CN201610031216.3A 2015-01-28 2016-01-18 编码方法及编码装置 Active CN105828081B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562108542P 2015-01-28 2015-01-28
US62/108,542 2015-01-28
TW105100017A TWI568250B (zh) 2015-01-28 2016-01-04 編碼方法及編碼裝置
TW105100017 2016-01-04

Publications (2)

Publication Number Publication Date
CN105828081A CN105828081A (zh) 2016-08-03
CN105828081B true CN105828081B (zh) 2019-03-15

Family

ID=55299204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610031216.3A Active CN105828081B (zh) 2015-01-28 2016-01-18 编码方法及编码装置

Country Status (4)

Country Link
US (1) US9892338B2 (zh)
EP (1) EP3051822B1 (zh)
JP (1) JP6122516B2 (zh)
CN (1) CN105828081B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019149592A (ja) 2016-07-15 2019-09-05 シャープ株式会社 送信装置、受信装置、通信方法、および、集積回路
CN106331716B (zh) * 2016-08-31 2019-05-24 西安万像电子科技有限公司 视频压缩方法和装置
CN106604032B (zh) * 2016-11-29 2020-02-04 西安万像电子科技有限公司 图像中文字块的压缩方法和装置及图像压缩方法和装置
US10425633B2 (en) * 2016-12-30 2019-09-24 Konica Minolta Laboratory U.S.A., Inc. Method and system for capturing images for wound assessment with moisture detection
US11076151B2 (en) * 2019-09-30 2021-07-27 Ati Technologies Ulc Hierarchical histogram calculation with application to palette table derivation
US20220094951A1 (en) * 2020-09-23 2022-03-24 Ati Technologies Ulc Palette mode video encoding utilizing hierarchical palette table generation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI355855B (en) * 2008-04-29 2012-01-01 Acer Inc Method for video encoding and the application ther

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410418A (en) * 1992-06-24 1995-04-25 Dainippon Screen Mfg. Co., Ltd. Apparatus for converting image signal representing image having gradation
US5822452A (en) * 1996-04-30 1998-10-13 3Dfx Interactive, Inc. System and method for narrow channel compression
JP3778229B2 (ja) * 1996-05-13 2006-05-24 富士ゼロックス株式会社 画像処理装置、画像処理方法、および画像処理システム
JP2001076120A (ja) * 1999-08-31 2001-03-23 Fuji Xerox Co Ltd 画像処理装置及び画像処理方法
US6647141B1 (en) * 1999-11-18 2003-11-11 Sony Corporation User interface of query by color statistics
US7162080B2 (en) * 2001-02-23 2007-01-09 Zoran Corporation Graphic image re-encoding and distribution system and method
US7162077B2 (en) * 2001-10-19 2007-01-09 Sharp Laboratories Of America, Inc. Palette-based image compression method, system and data file
US7016884B2 (en) 2002-06-27 2006-03-21 Microsoft Corporation Probability estimate for K-nearest neighbor
US7330195B2 (en) * 2002-12-18 2008-02-12 Hewlett-Packard Development Company, L.P. Graphic pieces for a border image
US20040130546A1 (en) * 2003-01-06 2004-07-08 Porikli Fatih M. Region growing with adaptive thresholds and distance function parameters
US7634405B2 (en) 2005-01-24 2009-12-15 Microsoft Corporation Palette-based classifying and synthesizing of auditory information
US20060204086A1 (en) 2005-03-10 2006-09-14 Ullas Gargi Compression of palettized images
US7978906B2 (en) 2007-06-14 2011-07-12 Microsoft Corporation Capturing long-range correlations in patch models
JP2009212605A (ja) * 2008-02-29 2009-09-17 Sony Corp 情報処理方法、情報処理装置及びプログラム
US8311326B2 (en) * 2008-07-31 2012-11-13 Riso Kagaku Corporation Image processing using background estimation and removal
US8429168B1 (en) * 2009-12-15 2013-04-23 Google Inc. Learning semantic image similarity
JP5047332B2 (ja) * 2010-05-25 2012-10-10 ヤフー株式会社 画像減色装置、方法及びプログラム
ES2729031T3 (es) 2010-07-14 2019-10-29 Ntt Docomo Inc Intra-predicción de baja complejidad para codificación de vídeo
US8615138B2 (en) 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images
US8824733B2 (en) * 2012-03-26 2014-09-02 Tk Holdings Inc. Range-cued object segmentation system and method
JP5632431B2 (ja) * 2012-09-04 2014-11-26 株式会社東芝 画像符号化装置、及び画像符号化方法
US20150262549A1 (en) 2012-10-31 2015-09-17 Hewlett-Packard Development Company, L.P. Color Palette Generation
US11259020B2 (en) 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
US9729875B2 (en) 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US10291827B2 (en) 2013-11-22 2019-05-14 Futurewei Technologies, Inc. Advanced screen content coding solution
CN110225345B (zh) * 2013-12-27 2022-07-19 寰发股份有限公司 用于主颜色索引图编码的方法及装置
CN105900432B (zh) * 2014-01-02 2019-05-10 Vid拓展公司 用于屏幕内容编码的二维调色板编码
CN106030651B (zh) * 2014-03-21 2019-06-07 华为技术有限公司 利用改进的颜色表和索引图编码方法的高级屏幕内容编码
US10362336B2 (en) * 2014-03-25 2019-07-23 Qualcomm Incorporated Palette predictor signaling with run length code for video coding
US9654806B2 (en) * 2014-03-26 2017-05-16 Qualcomm Incorporated Determining palette size, palette entries and filtering of palette coded blocks in video coding
TWI577177B (zh) * 2014-10-06 2017-04-01 財團法人工業技術研究院 調色板編碼方法與解碼方法以及電子裝置
US9877029B2 (en) * 2014-10-07 2018-01-23 Qualcomm Incorporated Palette index binarization for palette-based video coding
US11146788B2 (en) * 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI355855B (en) * 2008-04-29 2012-01-01 Acer Inc Method for video encoding and the application ther

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CE1-Related: Improved Palette Table Generation;Chao-Hsiung Hung等;《JCTVC-T0087r3》;20150212;摘要、第二部分,图1 *

Also Published As

Publication number Publication date
CN105828081A (zh) 2016-08-03
US9892338B2 (en) 2018-02-13
JP2016140063A (ja) 2016-08-04
US20160217341A1 (en) 2016-07-28
EP3051822B1 (en) 2020-12-30
EP3051822A1 (en) 2016-08-03
JP6122516B2 (ja) 2017-04-26

Similar Documents

Publication Publication Date Title
CN105828081B (zh) 编码方法及编码装置
US10728553B2 (en) Visual quality preserving quantization parameter prediction with deep neural network
US8949092B2 (en) Method and apparatus for encoding a mesh model, encoded mesh model, and method and apparatus for decoding a mesh model
US9058540B2 (en) Data clustering method and device, data processing apparatus and image processing apparatus
Duanmu et al. Fast CU partition decision using machine learning for screen content compression
US9959670B2 (en) Method for rendering terrain
US11537857B2 (en) Pooling processing method and system applied to convolutional neural network
US20120251003A1 (en) Image processing system and method
CN104008401B (zh) 一种图像文字识别的方法及装置
EP3929873A1 (en) Method for encoding and decoding a point cloud
CN102881026A (zh) 一种具有透明度信息的图像的调色板装置与生成方法
KR101014296B1 (ko) 가우시안 모델을 이용한 영상 처리 장치 및 방법
WO2016095068A1 (en) Pedestrian detection apparatus and method
CN113221983A (zh) 迁移学习模型的训练方法及装置、图像处理方法及装置
KR20190133363A (ko) 워터마크 기반의 이미지 무결성 검증 방법 및 장치
CN108460385A (zh) 一种文本图像分割方法与装置
KR102402643B1 (ko) 3차원 모델링의 색상 최적화 처리 시스템
US20150288973A1 (en) Method and device for searching for image
KR102264920B1 (ko) 영상 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
KR101652740B1 (ko) 이미지 처리 시스템, 이미지 복원 시스템 및 그 방법
TWI568250B (zh) 編碼方法及編碼裝置
CN113055546A (zh) 处理图像的系统和方法
CN107729387B (zh) 一种视频缩略图选取方法、存储介质及电子设备
KR101930389B1 (ko) 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램
CN116091710B (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