基于k-means算法的调色板编码方法及装置制造方法及图纸

技术编号:36607180 阅读:24 留言:0更新日期:2023-02-04 18:31
本公开是关于基于k

【技术实现步骤摘要】
基于k

means算法的调色板编码方法及装置


[0001]本公开涉及数据处理
,尤其涉及基于k

means算法的调色板编码方法及装置。

技术介绍

[0002]k

means(k均值聚类)算法是一种常见且常用的聚类算法。k

means的目的是把具有n个点的样本划分到k个聚类中,使得每个点都距离聚类中心最近。通常的算法实现,按照以下步骤实现:
[0003]1、对一个n点的样本{x0,x1,...,x
n
},初始化取k个聚类质心点,记作{u0,u1,...,u
k
‑1};计算样本中的每个点到聚类中心的最小距离,并将样本点划分到该类中,获取样本在聚类中的索引。
[0004][0005]2、计算每个类中样本总和以及类中样本的个数,然后求新的聚类中心。
[0006][0007]3、重复以上过程,直到聚类最优。
[0008]k

means的关键在于聚类中心的初始化和聚类迭代的次数,这直接关系到算法的复杂度和时效性。而在硬件设计中,复杂度就会带来庞大的面积消耗,时效性就带来较多流水的延迟。调色板编码需对不同尺寸的色块和不同的调色板尺寸做k

means迭代,并根据结果决策出最优的色块尺寸和对应最优的调色板尺寸。假设k

means的过程需要P级流水,k

means的迭代次数是I,色块的数量是BN,调色板的个数是PN,那么做完所有的聚类需要的流水SP=P*I*BN*PN,实际情况下需要决策的色块个数是非常多的,这个流水的延迟在编码中已经不能接受,在没有庞大的缓存情况下,数据在输入过程会出现严重拥堵。如果减少流影响就需要对所有的色块和所有的调色板尺寸并行做k

means迭代,此时流水SP=P*I,但是需要BN*PN个模块,模块数量巨多,造成硬件面积增大。
[0009]传统的k

means算法在调色板编码中既不能满足时间也不能满足面积的需求。

技术实现思路

[0010]本公开实施例提供一种基于k

means算法的调色板编码方法及装置,能够解决相关技术中传统的k

means算法在调色板编码中既不能满足时间也不能满足面积的需求的问题。所述技术方案如下:
[0011]根据本公开实施例的第一方面,提供一种基于k

means算法的调色板编码方法,包括:
[0012]获取每一帧数据中的多个色块;
[0013]对每一帧数据,获取多组调色板数据,其中,每组所述调色板数据代表一组聚类中
心;
[0014]根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类;
[0015]根据聚类后的结果获取新的聚类中心;
[0016]根据所述新的聚类中心替换上述的聚类中心重新执行上述获取新的聚类中心的步骤,直到获取到最优的色块尺寸和对应最优的调色板尺寸。
[0017]本专利技术提供一种基于k

means算法的调色板编码方法,包括:获取每一帧数据中的多个色块;对每一帧数据,获取多组调色板数据,其中,每组所述调色板数据代表一组聚类中心;根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类;根据聚类后的结果获取新的聚类中心;根据所述新的聚类中心替换上述的聚类中心重新执行上述获取新的聚类中心的步骤,直到获取到最优的色块尺寸和对应最优的调色板尺寸。其中,采用流水设计,多个色块和多个调色板尺寸的流水输入,设计不存在缓存,实现整个硬件逻辑的最大复用,数据的发送端不会堵,既节省面积又保证数据发送的时效性。另外优化k

means的初始质点,使得设计在调色板编码中简便且易于硬件设计。优化k

means的算法的第一步,采用SAD(Sum of Absolute Difference)来判断减少了计算过程中乘法器的消耗,极大的改善硬件的时序。
[0018]在一个实施例中,所述根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类,包括:
[0019]对每一帧数据,计算当前帧中每个所述色块对应每组调色板的最优绝对差值和;
[0020]根据所述最优绝对差值和获取每个所述色块对应在每组调色板中的索引;其中,不同的索引代表不同的类。
[0021]在一个实施例中,所述根据聚类后的结果获取新的聚类中心,包括:
[0022]获取每组调色板中每个类中所有色块的色块总和;
[0023]获取所述每组调色板中每个类中的色块数量;
[0024]根据所述每组调色板对应的所述色块总和与所述色块数量获取所述新的聚类中心。
[0025]在一个实施例中,所述根据所述每组调色板对应的所述色块总和与所述色块数据获取所述新的聚类中心,包括:
[0026]获取所述每组调色板对应的所述色块总和;
[0027]获取所述每组调色板对应的所述色块数量;
[0028]对M个所述色块中和进行累加得到第一累加和;其中,所述M为K

means模块每次可以处理的数据量;
[0029]对M个所述色块数量进行累加得到第二累加和;
[0030]根据所述第一累加和与所述第二累加和获取每组调色板中每个类的均值,所述均值为所述新的聚类中心。
[0031]根据本公开实施例的第二方面,提供一种基于k

means算法的调色板编码装置,包括:
[0032]第一获取模块,用于获取每一帧数据中的多个色块;
[0033]第二获取模块,用于对每一帧数据,获取多组调色板数据,其中,每组所述调色板数据代表一组聚类中心;
[0034]聚类模块,用于根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类;
[0035]第三获取模块,用于根据聚类后的结果获取新的聚类中心;
[0036]循环模块,用于根据所述新的聚类中心替换上述的聚类中心重新执行上述获取新的聚类中心的步骤,直到获取到最优的色块尺寸和对应最优的调色板尺寸。
[0037]在一个实施例中,所述聚类模块,包括:
[0038]计算子模块,用于对每一帧数据,计算当前帧中每个所述色块对应每组调色板的最优绝对差值和;
[0039]第一获取子模块,用于根据所述最优绝对差值和获取每个所述色块对应在每组调色板中的索引;其中,不同的索引代表不同的类。
[0040]在一个实施例中,所述第三获取模块,包括:
[0041]第二获取子模块,用于获取每组调色板中每个类中所有色块的色块总和;
[0042]第三获取子模块,用于获取所述每组调色板中每个类中的色块数量;
[0043]第四获取子模块,用于根据所述每组调色板对应的所述色块总和与所述色块数量获取所述新的聚类中心。...

【技术保护点】

【技术特征摘要】
1.一种基于k

means算法的调色板编码方法,其特征在于,包括:获取每一帧数据中的多个色块;对每一帧数据,获取多组调色板数据,其中,每组所述调色板数据代表一组聚类中心;根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类;根据聚类后的结果获取新的聚类中心;根据所述新的聚类中心替换上述的聚类中心重新执行上述获取新的聚类中心的步骤,直到获取到最优的色块尺寸和对应最优的调色板尺寸。2.根据权利要求1所述的方法,其特征在于,所述根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类,包括:对每一帧数据,计算当前帧中每个所述色块对应每组调色板的最优绝对差值和;根据所述最优绝对差值和获取每个所述色块对应在每组调色板中的索引;其中,不同的索引代表不同的类。3.根据权利要求1所述的方法,其特征在于,所述根据聚类后的结果获取新的聚类中心,包括:获取每组调色板中每个类中所有色块的色块总和;获取所述每组调色板中每个类中的色块数量;根据所述每组调色板对应的所述色块总和与所述色块数量获取所述新的聚类中心。4.根据权利要求3所述的方法,其特征在于,所述根据所述每组调色板对应的所述色块总和与所述色块数据获取所述新的聚类中心,包括:获取所述每组调色板对应的所述色块总和;获取所述每组调色板对应的所述色块数量;对M个所述色块中和进行累加得到第一累加和;其中,所述M为K

means模块每次可以处理的数据量;对M个所述色块数量进行累加得到第二累加和;根据所述第一累加和与所述第二累加和获取每组调色板中每个类的均值,所述均值为所述新的聚类中心。5.一种基于k

means算法的调色板编码装置,其特征在于,包括:第一获取模块,用于获取每一帧数据中的多个色块;第二获取模块,用于对每一帧数据,获取多组调色板数据,其中,每组所述调色板数据代表一组聚类中心;聚类模块,用于根据所述多组调色板数据、最优绝对差值和对所述色块进行聚类;第三获取模块,用于根据聚类后的结果获取新的聚类中心;循环模块,用于根据所述新的聚类中心替...

【专利技术属性】
技术研发人员:黄海滨
申请(专利权)人:重庆京像微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1