CN115580728A - 数据处理方法、电子设备及其介质 - Google Patents

数据处理方法、电子设备及其介质 Download PDF

Info

Publication number
CN115580728A
CN115580728A CN202211098821.4A CN202211098821A CN115580728A CN 115580728 A CN115580728 A CN 115580728A CN 202211098821 A CN202211098821 A CN 202211098821A CN 115580728 A CN115580728 A CN 115580728A
Authority
CN
China
Prior art keywords
color
pixel
array
decoded
color information
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
Application number
CN202211098821.4A
Other languages
English (en)
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.)
ARM Technology China Co Ltd
Original Assignee
ARM Technology China Co Ltd
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
Application filed by ARM Technology China Co Ltd filed Critical ARM Technology China Co Ltd
Priority to CN202211098821.4A priority Critical patent/CN115580728A/zh
Publication of CN115580728A publication Critical patent/CN115580728A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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/169Methods 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/182Methods 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
    • 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/169Methods 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/186Methods 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

Abstract

本申请涉及视频编解码领域,尤其涉及一种数据处理方法、电子设备及其介质。在调色板编码模式下由于当前解码位置的颜色索引值仅与当前解码位置的颜色哈希值相关,而当前解码位置的颜色哈希值又只与当前解码位置对应的颜色记分数组中最大的几个颜色分数的加权和相关,当前解码位置的颜色记分数组中最大的几个颜色分数其实是当前解码位置邻近位置的三个像素点的颜色分数。因此,在当前解码位置确定的情况下,可以不对颜色记分数组中各元素进行排序,而是根据当前解码位置邻近位置的颜色分数确定当前解码位置对应的颜色哈希值,然后再根据颜色哈希值对应的索引值,基于调色板(或者颜色索引表),确定当前解码位置的像素点。以此方法提高解码效率。

Description

数据处理方法、电子设备及其介质
技术领域
本申请涉及视频编解码领域,尤其涉及一种数据处理方法、电子设备及其介质。
背景技术
调色板模式(palette token)是由开放媒体联盟(Alliance for Open Media,AOM)制定的一种视频编码格式。一般用于对颜色较少的图像进行编码,比如8色图像(8色图像指的是8种颜色构成的彩色图像,这类图像颜色要比16色、24色、256色图像的颜色要少),是可以有效减少图像编码过程中占用存储空间的大小的一种压缩算法。在特定情况下,比如针对于上述颜色较少的图像,采用调色板模式进行编码具有精度高、误差低的优点。
但是,调色板模式的数据处理过程中,涉及的数据量较大而且计算复杂,因此基于对数据处理的效率编解码性能以及成本的综合考量,需要一种高性能同时低成本的数据处理方法。
发明内容
为了解决上述技术问题,本申请提供了一种数据处理方法、电子设备及其介质。下面对此展开介绍。
第一方面,本申请提供了一种数据处理方法,该方法应用于电子设备,该方法包括:
确定待解码的第一图像中的待解码像素点,根据待解码像素点的位置确定与待解码像素点相邻的多个第一像素点,基于预设的颜色信息与第一索引值之间的对应关系,确定多个第一像素点的颜色信息对应的第一索引值;根据多个第一像素点的颜色信息,确定待解码像素点对应的第二索引值;根据待解码像素点的第二索引值,基于预设的颜色信息与第一索引值之间的对应关系,确定待解码像素点对应的颜色信息。
在一些实现方式中,第一图像可以是下文中的8色图像a。待解码像素点的位置即下文中当前解码位置,与其相邻的多个第一像素点即当前解码位置邻近位置的像素点,例如以当前解码位置为图像a中像素点A,那么像素点A邻近位置的像素点即为像素点B、C、D。
在一些实现方式中,预设的颜色信息与第一索引值之间的对应关系可以是下图1b所示的颜色索引表。其中,第一索引值为颜色索引值,预设的颜色信息为各种颜色对应的RGB值。可以理解,在颜色信息与第一索引值之间的对应关系确定的情况下,即可以根据第一像素点的颜色信息,确定出第一像素点对应的第一索引值。
在一些实现方式中,待解码像素点的第二索引值为下文中的颜色哈希索引值。每一个待解码像素点的颜色哈希索引值都有唯一对应的颜色哈希值,并且该颜色哈希值可以待解码像素点相邻的多个像素点的位置以及颜色信息相关,例如下文表4与表5所示的内容。因此,在一些实现方式中,可以根据多个第一像素点的颜色信息,确定待解码像素点的颜色哈希索引值,也即第二索引值。然后基于第二索引值,以及上述预设的颜色信息与第一索引值之间的对应关系,确定待解码像素点对应的颜色信息。通过这种方法,可以有效减少解码过程中参与计算的数据量,比如无需对第一像素点,基于它们与待解码像素点之间的距离以及颜色信息,对第一像素点的颜色权重(或者颜色分数)进行排序,提高解码效率。
结合第一方面,在第一方面的一种可能的实现方式中,第一图像基于第一解码方式解码;以及,根据待解码像素点的位置确定与待解码像素点相邻的多个第一像素点,包括:根据待解码像素点的位置,确定与待解码像素点相邻且在待解码像素点的上方、左方、左斜上方的各像素点。
在一些实现方式中,第一解码方式可以是下文图3a所示的解码顺序。可以理解,在这种解码方式下,待解码像素点相邻的多个第一像素点为待解码像素点的上方、左方以及左斜上方的各像素点。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,根据多个第一像素点的颜色信息,确定待解码像素点对应的第二索引值,包括:基于预设的第一索引值与多个不同位置的第二像素点的颜色信息的情况之间的对应关系,根据多个第一像素点与待解码像素点的相对位置,以及多个第一像素点的颜色信息,确定第二索引值,其中,第一图像基于第一解码方式解码,并且多个不同位置的第二像素点包括第一图像中任一像素点的上方、左方、左斜上方的各个像素点。
在一些实现方式中,多个第一索引值与多个不同位置的第二像素点的颜色信息的情况之间的对应关系,可以是如下表4与表5所示的内容。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,根据待解码像素点的第二索引值,基于预设的颜色信息与第一索引值之间的对应关系,确定待解码像素点对应的颜色信息,包括:根据多个第一像素点的颜色信息对应的第一索引值,确定第一数组,第一数组中包括多个元素,多个元素的数量大于第一图像包括的颜色种类对应的数量;从第一数组的第一位元素开始,根据多个第一像素点的颜色信息的情况,确定第一数组中前第一预设数量个元素的值,其中,第一预设数量等于第一像素点的数量,并且,对应于多个第一像素点的颜色信息各不相同,将多个第一像素点的颜色信息对应的第一索引值分别作为第一数组的前第一预设数量个元素的值;对应于多个第一像素点中,存在第二数量个第一像素点的颜色信息各不相同,对第一数组中前第一预设数量个元素中除去第二数量个元素进行无效值标记,并将多个第一像素点中其余第一像素点的颜色信息对应的第一索引值,作为前第一预设数量个元素中其余的元素的值,其中,第二数量小于第一预设数量。
在一些实现方式中,第一数组可以是下文中经过位扩展的color_order。第一数组中元素的数量与第一图像包括的颜色种类的数量相关,并且大于第一图像包括的颜色种类的数量。更具体地,第一数组的数量由第一图像的颜色种类以及多个第一像素点的数量来确定,例如,以第一图像是8色图像为例,多个第一像素点的数量为3,那么第一数组中元素的数量应8+3=11。
在一些实现方式中,需要根据多个第一像素点中各第一像素点的颜色信息,确定第一数组中各元素的值。更具体地,根据多个第一像素点中各第一像素点的颜色信息,确定第一数组中前第一预设数量个元素的值,并且第一预设数量等于第一像素点的数量。
在一些实现方式中,如果第一像素点的颜色信息各不相同,那么将多个第一像素点的颜色信息对应的第一索引值分别作为第一数组的前第一预设数量个元素的值。
在一些实现方式中,如果第一像素点中有部分第一像素点的有颜色信息相同,也即存在第二数量个第一像素点的颜色信息不相同。由于第一数组中各元素表示的是第一像素点的第一索引值,因此,当存在第二数量个第一像素点的颜色信息各不相同同的情况下,表明第一预设数量个元素中存在部分元素没有对应的第一索引值。例如,如果第一像素点为3个,分别为像素点B、C、D,并且,像素点B、C的颜色信息相同,也即第一索引值相同,那么第一数组的前3个元素中,仅有两个元素有对应的第一索引值,并且这两个元素对应的第一索引值分别为像素点B或(像素点C)以及像素点D对应的第一索引值。
在一些实现方式中,无效标记可以是将该元素的元素值设置为任意数组,例如,对于8色图像a对应的第一数组,在对数组中某元素进行无效标记时,可以将该元素的元素值设置为8。本申请对此不作限制。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,方法还包括:对第一数组中前第一预设数量个元素按照从小到大的顺序排序,得到第二数组,其中,第二数组的元素的数量与第一预设数量相同,以及根据待解码像素点的第二索引值,以及第二数组,确定待解码像素点对应的颜色信息。
在一些实现方式中,第二数组为下文中的color_sort。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,根据待解码像素点的第二索引值,以及第二数组,确定待解码像素点对应的颜色信息,包括:对应于第二索引值小于第二数组中有效值的数量,基于预设的颜色信息与第一索引值之间的对应关系,根据第二索引值确定待解码像素点对应的颜色信息;对应于第二索引值大于第二数组中有效值的数量,基于预设的颜色信息与第一索引值之间的对应关系,根据第二索引值与第二数组中有效值的数量之差确定待解码像素点对应的颜色信息。
在一些实现方式中,第二数组中有效值的数量为下文中的counter。
当第二索引值,也即待解码像素点的颜色哈希索引值小于counter时,利用第二索引值和预设的颜色信息与第一索引值之间的对应关系即可确定待解码像素点对应的颜色信息。
当第二索引值大于counter时,根据第二索引值与第二数组中有效值的数量之差以及预设的颜色信息与第一索引值之间的对应关系确定待解码像素点对应的颜色信息。更具体地,需要根据第二索引值与第二数组中有效值的数量之差与第二数组中各元素值的大小,以及预设的颜色信息与第一索引值之间的对应关系确定待解码像素点对应的颜色信息。具体可参考下文相关描述,此处不再赘述。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,颜色信息包括像素点的RGB值。
结合第一方面以及上述可能的实现方式中,在第一方面的一种可能的实现方式中,第一解码方式包括调色板压缩算法。
第二方面,本申请实施例还提供了一种电子设备,该电子设备包括存储器,存储有计算机程序指令;处理器,所述处理器和存储器耦合,当所述存储器存储的计算机程序指令被所述处理器执行时使得所述电子设备实现上述第一方面以及第一方面的可能的实现方式中任一项所述的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面以及第一方面的可能的实现方式中的任一项所述的方法。
第四方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面以及第一方面的可能的实现方式中任一项所述的方法。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1a根据本申请实施例示出了一种8色图像a的示意图;
图1b根据本申请实施例示出了一种基于8色图像a建立的调色板或者颜色索引表的示意图;
图2根据本申请实施例示出了未使用本申请数据处理方法的解码流程示意图;
图3a根据本申请实施例示出了针对于图像a的一种解码方式;
图3b根据本申请实施例示出了以像素点A为当前解码位置为例,其邻近像素点的位置示意图;
图4根据本申请实施例示出了像素点A与其邻近的像素点之间的距离关系示意图;
图5根据本申请实施例示出了一种针对像素点A对应的颜色记分数组的排序过程示意图;
图6根据本申请实施例示出了像素点A与其邻近的像素点之间的位置关系示意图;
图7根据本申请实施例示出了使用本申请数据处理方法的解码流程示意图;
图8根据本申请实施例示出了一种电子设备100的硬件结构示意图。
具体实施方式
本申请提供了一种数据处理方法、电子设备及其介质。
下面将使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A或B,单独存在B这三种情况。另外,在本申请实施的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或隐含地包含一个或更多个该特征。
调色板模式或调色板压缩算法是针对颜色较少的图像进行编码的一种编码方法。它可以有效减少图像编码过程中占用的存储空间,提高图像编解码效率。
举例来说明,如图1a所示,假设图1a中图像a是分辨率为450(像素)×500(像素)的8色彩色图,那么该图像a所用到的颜色总共有8种。如果每一个像素点的颜色像素值(下称像素值)都用R(red)、G(green)、B(blue)三个颜色分量(数值在0至255之间)来表示的话,那么每个像素点的每一个颜色分量对应的数据大小为8比特(bit),每个像素点有R、G、B三个颜色分量,因此存储一个像素点需要占用3×8bit的大小的存储空间,也即3个字节(Byte)大小。那么存储该图像a所需要的存储空间大小便为:
Size1=450×500×3 Byte=675000Byte
但是如果采用调色板压缩算法,只需建立一张记录图a涉及的8种颜色的颜色索引表,然后利用大约4Byte的数据大小表示这8种颜色在索引表中的位置(即索引值的数据大小),以及每种索引值对应的颜色像素值,即可完整地表示该图像a。
示例性地,假设图像a涉及到的颜色分别为黑色、深红色、深绿色、暗黄色、深蓝色、深紫红、深青色、浅灰色,那么这8种颜色、每个颜色对应的像素值及其对应的索引值可如图1b所示。
其中,该颜色索引表所占用的存储空间大小仅为:3Byte×8=24Byte,而存储该图像a以及索引表所需要的存储空间大小仅为:
Size2=(450×500×0.5Byte)+(3Byte×8)=112524Byte
对比Size1和Size2可知,采用调色板模式表示图像a所需的存储空间的大小约为原来的1/6,达到了节约存储空间的目的。
但是,采用调色板模式对图像进行处理时,涉及的数据量比较大而且计算较复杂,进而增加了电子设备采用调色板模式进行数据处理时对应的数据处理成本。
具体地,图2根据本申请实施例示出了一种使用调色板模式进行数据处理的方法流程示意图。可以理解,该方法由电子设备的处理器执行,其中,关于电子设备的介绍将在下文结合图7进行。如图2所示,该方法包括:
201,初始化图像a对应的像素矩阵。在一些实现方式中,可以将图像a中每个像素点位置用x,y表示,例如图3a中像素点A可以表示为(x,y),像素点B可以表示为(x,y-1),像素点C可以表示为(x-1,y-1),像素点D可以表示为(x-1,y)。
202,确定当前解码位置,并获取当前解码位置的邻近位置信息。
需要说明的是,解码原理是利用与待解码的像素点邻近的其他的像素点的信息预测待解码的像素点的信息。其中,像素点的信息包括该像素点的颜色信息、运动信息等等,本申请对此不作限制。
在一些实现方式中,针对图像a各像素点解码示意图可如图3a所示,即从第一行第一列开始,按照图示顺序,对图像a各像素点依次进行解码。不难看出,当针对像素点A进行解码时,像素点B、像素点C、像素点D均已完成解码,因此可以利用像素点B、像素点C、像素点D的像素点信息对像素点A进行解码。可以理解,在本申请其他实现方式中,针对图像a的解码顺序还可以其他方式进行,这应为本领域技术人员所熟知,在此不作限制。
在一些实现方式中,以当前解码位置为像素点A为例,那么像素点A的邻近位置信息包括在其上方的像素点B、在其左斜上方像素点C、在其左方的像素点D的像素点信息,也即像素点B、像素点C、像素点D的颜色信息、运动信息等等。其中,颜色信息包括如图1b所示的像素点的颜色像素值或者颜色像素值对应的颜色索引值。
203,初始化颜色记分数组color_score以及颜色索引数组color_order。
其中,颜色索引数组color_order与如下所示的表1中颜色索引值以及颜色种类是对应的。而颜色记分数组中各元素值与颜色索引数组中各元素值是一一对应的,也即颜色记分数组用于记录颜色索引数组中各颜色出现的情况。可以理解,与当前解码位置距离更近的邻近位置的像素点的颜色信息对当前解码位置对应的像素点的颜色信息影响会更大。因此,颜色记分数组中各元素的值可以表示当前解码位置邻近位置出现的各颜色的权重,该权重可以反映当前解码位置邻近位置出现的各颜色的对当前解码位置的颜色的影响。并且,在一些实现方式中,颜色记分数组color_score以及颜色索引数组color_order是与当前解码位置对应的,也即是说,在完成对当前解码位置对应的像素点(例如图3b中的像素点A)的解码后,在解码下一个像素点,例如图3b中的像素点E(x+1,y-1)时,需要重新初始化颜色记分数组以及颜色索引数组。
在一些实现方式中,颜色记分数组color_score以及颜色索引数组color_order与图像a的属性有关。其中,图像a的属性指的是图像a是8色图像、16色图像还是24色图像。
也即是说,如果图像a是8色图像,那么图像a的颜色记分数组应为color_scores[i],其中,i为大于或等于0且小于或等于7的整数,对应地,图像a的颜色索引数组应color_order[j],其中,j为大于或等于7的整数。同理,如果图像a是16色图像,那么图像a的颜色记分数组应为colorscores[m],其中,m为大于或等于0且小于或等于15的整数,对应地,图像a的颜色索引数组应为color_order[n],其中,n为大于或等于0且小于或等于15的整数。在本申请的实现方式中,为了便于说明,以图像a为8色图像为例进行介绍,但应理解,本申请对此不作任何限制。
示例性地,初始化8色图像a的颜色索引数组中各元素值与上述索引表中颜色索引值对应关系可如下表1所示:
表1颜色索引数组中各元素值与上述索引表中颜色索引值对应关系
颜色索引数组各元素 颜色索引值 颜色 RGB值
color_oder[0] 1 黑色 000000
color_oder[1] 2 深红色 800000
color_oder[2] 3 深绿色 008000
color_oder[3] 4 暗黄色 808000
color_oder[4] 5 深蓝色 000080
coloroder[5] 6 深紫色 800080
color_oder[6] 7 深青色 008080
color_oder[7] 8 浅灰色 C0C0C0
在一些实现方式中,初始化的颜色记分数组中各元素值可以均为0,也即color_score[0]=0,color_score[1]=0,color_score[2]=0,color_score[3]=0,color_score[4]=0,color_score[5]=0,color_score[6]=0,color_score[7]=0。
204,利用当前解码位置的邻近位置对应的像素点的颜色信息,更新颜色记分数组color_score,得到更新后的颜色记分数组n_color_score。
如上所言,在解码过程中是利用与当前解码位置邻近位置的像素点信息预测当前解码位置的像素点信息。更具体地在一些实现方式中,可以利用与当前解码位置邻近位置的像素点的颜色信息预测当前解码位置的颜色信息。
并且,如上所言,与当前解码位置距离更近的邻近位置的像素点的颜色信息对当前解码位置的颜色信息影响更大。例如图4所示,由于像素点B至像素点A的距离要比像素点C至像素点A的距离更近,同理像素点D至像素点A的距离也比像素点C至像素点A的距离更近,因此像素点B以及像素点D的像素点信息对像素点A的像素点信息影响更大,也因此,可以将像素点B以及像素点D的分数设置的高于像素点C的分数。例如,像素点B以及像素点D的分数可以为2,像素点C的分数可以为1。其中,像素点之间的距离可以是以图4中网格为单位的网格中心点之间的距离,本申请对此不作限制。
示例性地,假设上述像素点B颜色是深蓝色、像素点C的颜色是深青色、像素点D的颜色是深紫色,也即像素点B在上述颜色索引表中对应的颜色索引值是4,像素点C在上述颜色索引表中对应的颜色索引值是5,像素点D在上述颜色索引表中对应的颜色索引值是6。
那么利用像素点B、像素点C以及像素点D更新后的颜色记分数组可以如下表2所示:
表2更新后的颜色记分数组
颜色记分数组各元素值 更新前的值 更新后的值
color_score[0] 0 0
color_score[1] 0 0
color_score[2] 0 0
color_score[3] 0 2
color_score[4] 0 1
color_score[5] 0 2
color_score[6] 0 0
color_score[7] 0 0
也即,对像素点A进行解码时,对应的颜色记分数组n_color_score中各值为color_score[0]=0,color_score[1]=0,color_score[2]=0,color_score[3]=2,color_score[4]=1,color_score[5]=2,color_score[6]=0,color_score[7]=0。
205,基于更新后的颜色记分数组n_color_score中各元素值进行排序,确定满足第一预设条件的颜色分数。
在一些实现方式中,对于更新后的颜色记分数组n_color_score中各元素值按照从大到小的顺序进行排序,得到排序后的颜色记分数组。其中,对更新后的颜色记分数组中各元素值进行排序的方式包括但不限于冒泡排序、二分法排序等等。示例性地,对颜色记分数组的排序方法可如图5所示。
可以理解,由于颜色记分数组中各元素值与颜色索引数组中各元素值是一一对应的,即color_score[0]对应color_order[0],color_score[1]对应color_order[1],……,color_score[7]对应color_order[7],因此,在对颜色记分数组中各元素值进行排序的同时,还需要对应地同步调整颜色索引数组中各元素的值。例如,更新前颜色记分数组color_score与颜色索引数组color_order中各元素一一对应,也即color_score[3]对应color_order[3],color_score[4]对应color_order[4],color_score[5]对应color_order[5],由于经过排序后,color_score[3]、color_score[4]、color_score[5]被调整为n_color_score[0],n_color_score[1],n_color_score[2],那么对应地,更新后的n_color_order[0]应为4,n_color_order[1]应为6,n_color_order[2]应为5。
也即,更新后的颜色记分数组n_color_score及其对应的颜色索引数组n_color_order可如下表3所示:
表3更新后的颜色记分数组及其对应的颜色索引数组
Figure BDA0003839180940000081
在一些实现方式中,第一预设条件可以是颜色记分数组中各元素值从大到小排序后的前三个元素值。例如,以上表3所示的更新后的颜色记分数组为例,那么更新后的颜色记分数组中前三个元素值分别是:n_color_score[0]=2,n_color_score[1]=2,n_color_score[2]=1。
在一些实现方式中,也可以从更新后的颜色记分数组中取更多或更少个元素值,可以理解,这取决于当前解码位置依赖的邻近位置的像素点的数量。本申请对此不作限制。
206,根据满足第一预设条件的颜色分数,计算当前解码位置的颜色哈希值。
在一些实现方式中,可以为更新后的颜色记分数组n_color_score中每个颜色分数设置哈希权重,然后计算颜色分数的哈希加权和。其中,哈希权重为经验值或实验值,例如,对于n_colorscore[0]的权重可以设置为2,对于ncolor_score[1]的权重可以设置为1,对于n_color_score[2]的权重可以设置为2,本申请对此不作限制。
示例性地,以n_color_score[0]的权重为2,n_color_score[1]的权重可为1,n_color_score[2]的权重为2为例,那么当前解码位置(也即像素点A)对应的颜色哈希值为:(color_score[0]×2+color_score[1]×1+color_score[2]×2)=(2×2+2×1+2×2)=10。在本申请的其他实现方式中,还可以以其他方式计算当前解码位置对应的颜色哈希值。
207,根据颜色哈希值确定当前解码位置对应的像素值。
在一些实现方式中,需要根据颜色哈希值确定当前解码位置对应的颜色索引值,然后在根据当前解码位置对应的颜色索引值,确定当前解码位置对应的像素值。
例如,假设根据像素点A的颜色哈希值确定的颜色索引值为3,从表3中更新后的颜色索引分组n_color_order可确定当前解码位置(即像素点A)对应的n_color_order[3]=1,再根据表1可知n_color_order[3]=1对应的颜色为黑色,其像素值应为:000000。
通过上述方法可以根据与当前解码位置邻近的3个像素点确定当前解码位置对应的颜色信息。
但是,从上述方法201至207可以看出,每个像素点的解码过程均依赖于与该像素点邻近的一系列像素点的颜色分数的排序,例如上述针对像素点A的解码需根据像素点A邻近的像素点B、像素点C、像素点D的颜色分数的排序。在硬件实现上,需要依赖电子设备的比较器。而且如果采用一般的比较器实现上述排序,往往需要经过多个系统时钟周期(对于上述color_score中8个元素值的排序,一般情况下需要进行8+7+6=21次),才能得到最大的三个元素值。而如果采用并行的比较器结构进行,则需要多个比较器构成并行结构,这增加了解码设备所需的芯片面积,进而也增加了电子设备硬的设计件成本。
为了解决上述技术问题,本申请对数据处理方法进行了改进。下面结合文中各图表介绍本申请数据处理方法的原理和实现细节。
从上述201至207中可以看出,当前解码位置的颜色索引值与当前解码位置的颜色哈希值相关(可参考上述206至207),而当前解码位置的颜色哈希值只与当前解码位置对应的颜色记分数组中最大的3个颜色分数的加权和相关(可参考上述202至205),当前解码位置的颜色记分数组中最大的3个颜色分数其实是当前解码位置邻近位置的三个像素点的颜色分数。
那么,在当前解码位置确定的情况下,其邻近位置的三个颜色分数是可以确定的,这三个颜色分数之和也是可以确定的,因此当前解码位置对应的颜色哈希值也是可以确定。
因此,在当前解码位置确定的情况下,可以不对颜色记分数组中各元素进行排序,也即不进行上述204,而是根据当前解码位置邻近位置的颜色分数确定当前解码位置对应的颜色哈希值。
例如,如图6所示,假设当前解码位置为像素点A(x,y),与像素点A邻近的像素点B、像素点C、像素点D的颜色的权重(或分数)分别为2,1,2,那么像素点A对应的颜色记分数组可根据像素点B、像素点C、像素点D的颜色来确定。
具体地,如果像素点B、C、D的颜色相同,也即像素点A邻近位置的像素点均为一种颜色,那么颜色记分数组中仅有color_score[0]具有颜色分数,并且该颜色分数为:2+2+1=5。可以理解,本申请各实施例中像素点之间颜色相同包括像素点的颜色索引值相同或者颜色像素值相同,而颜色索引值与颜色像素值之间的区别在于颜色索引值所需的数据大小(4bit)小于颜色像素值所需的数据大小(8bit)。
如果像素点B、C、D的颜色各不相同,也即像素点A邻近位置的像素点的颜色各不相同,那么颜色记分数组中color_score[0]、color_score[1]、color_score[2]均具有颜色分数,并且该颜色分数为:color_score[0]=2、color_score[1]=2、color_score[2]=1。
如果像素点B、C的颜色相同,也即像素点A邻近位置的像素点有两种颜色,那么颜色记分数组中应有color_score[0]、color_score[1]具有颜色分数,并且该颜色分数为:color_score[0]=3、color_score[1]=2。
类似地,如果像素点D、C的颜色相同,也即像素点A邻近位置的像素点有两种颜色,那么颜色记分数组中应有color_score[0]、color_score[1]具有颜色分数,并且该颜色分数为:color_score[0]=3、color_score[1]=2。
如果像素点B、D的颜色相同,也即像素点A邻近位置的像素点有两种颜色,那么颜色记分数组中应有color_score[0]、color_score[1]具有颜色分数,并且该颜色分数为:color_score[0]=2+2=4、color_score[1]=1。
如果像素点B、C的颜色相同,也即像素点A邻近位置的像素点有两种颜色,那么颜色记分数组中应有color_score[0]、color_score[1]具有颜色分数,并且该颜色分数为:color_score[0]=3、color_score[1]=2。
如果像素点A为第一行像素点,那么像素点A实际上只有左边邻近位置的像素点,也即像素点A邻近位置的像素点仅有1种颜色,那么颜色记分数组中应有color_score[0]具有颜色分数,并且该颜色分数为:color_score[0]=2。
如果像素点A为第一列像素点,那么像素点A实际上只有上方邻近位置的像素点,也即像素点A邻近位置的像素点也仅有1种颜色,那么颜色记分数组中应有color_score[0]具有颜色分数,并且该颜色分数为:color_score[0]=2。
具体地,像素点A的位置以及像素点B、C、D的颜色与像素A对应的颜色记分数组之间的关系可如下表4所示:
表4与像素点A邻近的像素点B、C、D的颜色以及像素点A对应的颜色记分数组
像素点B、C、D 颜色记分数组color_score
像素点B、C、D的颜色相同 {5,0,0,……,0,0}
像素点B、C、D的颜色各不相同 {2,2,1,……,0,0}
像素点B、C的颜色相同 {3,2,0,……,0,0}
像素点B、D的颜色相同 {4,1,0,……,0,0}
像素点C、D的颜色相同 {3,2,0,……,0,0}
像素点A为第一行的像素点 {2,0,0,……,0,0}
像素点A为第一列的像素点 {2,0,0,……,0,0}
对应地,得到每一种情况下的颜色记分数组后,即可利用上述206的方式,计算每一种颜色记分数组对应的颜色哈希值。示例性地,基于表4所示的颜色记分数组,以及假设color_score[0]的哈希权重为1,color_score[1]的哈希权重为2,color_score[2]的权重也为2为例,按照color_score[0]×1+color_score[1]×2+color_score[2]×2可得每一种情况下对应的颜色哈希值,如表5所示:
表5各种情况下颜色记分数组及其对应的颜色哈希值
颜色记分数组color_score 颜色哈希值
{5,0,0,……,0,0} 5×1+0×2+0×2=5
{2,2,1,……,0,0} 2×1+2×2+1×2=8
{3,2,0,……,0,0} 3×1+2×2+0×2=7
{4,1,0,……,0,0} 4×1+1×2+0×2=6
{3,2,0,……,0,0} 3×1+2×2+0×2=7
{2,0,0,……,0,0} 2×1+0×2+0×2=2
{2,0,0,……,0,0} 2×1+0×2+0×2=2
在当前解码位置可能对应的颜色哈希值的情况下,即可根据当前解码对应的邻近位置的各像素点的实际情况,确定当前解码位置实际上对应的颜色哈希值,也进一步地,可以根据当前解码位置对应的颜色哈希值,确定当前解码位置对应的颜色像素值。
因此,在本申请的数据处理方法中,可以预先设置待解码位置可能对应的颜色哈希值与待解码位置邻近位置的像素点颜色信息之间的关系,然后在根据待解码位置邻近位置的像素点颜色信息的实际情况,确定待解码位置对应的颜色哈希值,以便于后续根据颜色哈希值确定待解码位置对应的颜色像素值。通过这种方法,实现颜色哈希值的计算与颜色记分数组的排序之间的解耦,无需再等待针对颜色记分数组排序完成以后,再根据排序结果(也即上文中更新后的n_color_score)计算颜色哈希值,提高了解码的效率。
此外,对于颜色索引数组的更新(例如上表3中的n_color_order),实际上也仅是因为颜色记分数组在排序时各元素位置发生变化而引起的,而且对比表1和表3可以看出,颜色索引数组除了调整至前面的三个元素以外,其他元素仅仅是数组标号和元素值之间的对应关系顺次发生变化,或者没有发生变化。例如元素值为1的数组标号从表1的0变为表3中的3,元素值为2的数组标号从表1的1变为表3中的4,元素值为3的数组标号从表1的2变为表3中的5,从表1的1变为表3中的4。又例如,元素值为7和8的数组标号没有发生变化。
因此,在本申请的数据处理方法中,在对颜色索引数组进行更新时,也仅需根据三个颜色分数在颜色索引数组中对应的位置变化,顺次调整或者不调整其他元素的数组标号即可。
继续以图1所示的8色图像为例,在一些实现方式中,可将color_order扩充至11位,然后使用color_order的前3位,即color_order[0],color_order[1],color_order[2]表示被调整至前面的3个像素点对应的颜色索引值,并对color_order[0],color_order[1],color_order[2]按照从小到大的顺序排序,同时利用数组color_sort[k]记录排序后的color_order[0],color_order[1],color_order[2]的值,其中,k为大于或等于0且小于或等于1的整数。
由于像素点A邻近位置的像素点可能存在颜色相同的情况,比如像素点B和像素点C的颜色相同。也即是说,实际上只有两种颜色对应的颜色索引值被调整至color_order[0],color_order[1],而color_order[2]没有对应的颜色索引值,因此,为了表示这种情况,可以将没有对应元素值的元素进行无效标记(例如记为8),同时利用counter记录color_order[0],color_order[1],color_order[2]中有效值的数量。可以理解counter的值小于或等于3。
最后可根据计算出的颜色哈希索引值、color_order[0],color_order[1],color_order[2]中元素值、counter的值以及color_sort[0],color_sort[1],color_sort[2]中的元素值确定颜色索引值,进一步根据颜色索引值确定对应的颜色像素值。
具体地,如果上述颜色哈希索引值index小于counter,表明颜色哈希索引值为0、1或2,说明从color_order[0],color_order[1],color_order[2]即可确定颜色像素值。
如果颜色哈希索引值index大于counter,说明需要从color_order[2]以后的数据,即color_order[3],color_order[4],……,color_order[9],color_order[10]中确定颜色像素值。
进一步地,计算颜色索引值index-counter(记为in_counter)与color_sort[0]之间的大小。如果in_counter小于color_sort[0],表明从color_order[3]起至color_order[3+in_counter]之间的元素顺序没有发生改变,因此,可根据color_order[in_counter]确定颜色像素值。
如果颜色索引值in_counter大于或等于color_sort[0]且in_counter小于color_sort[1],表明从color_order[3]起至color_order[3+in_counter]之间有一个元素被前提至color_order[0],color_order[1],color_order[2]。
因此,可根据color_order[in_counter+3+1]确定颜色像素值。
如果颜色索引值in_counter大于或等于color_sort[1]且in_counter小于color_sort[2],表明从color_order[3]起至color_order[3+in_counter]之间有2个元素被前提至color_order[0],color_order[1],color_order[2]。
因此,可根据color_order[in_counter+3+2]确定颜色像素值。
如果in_counter大于或等于color_sort[2],表明从color_order[3]起至color_order[3+in_counter]之间有3个元素被前提至color_order[0],color_order[1],color_order[2]。
因此,可根据color_order[in_counter+3+3]确定颜色像素值。
对比上述方法与方法201至207可知,本申请的方法减少了参与排序的数据量,不再需要对颜色索引数组进行整体调整,减少了参与运算的数据量,提高了解码的效率,并且本申请方案也需要增加任何硬件设备,也进一步降低了电子设备硬件设计成本。
下面继续图1所示的8色图像a为例,结合图7介绍在解码设备上实现本申请的解码方法的过程。其中,与图2中相同的方法可参考上文相关描述,下文不再赘述。具体如图7所示,该方法包括:
701,初始化图像a对应的像素矩阵。可参考上文201的相关描述,此处不再赘述。
702,初始化颜色索引数组color_order。
在一些实现方式中,此处与上述202区别之处在于,对颜色索引数组的color_order进行扩充,得到具有11位元素的数组,每个元素的值用于表示与各像素点(例如像素点B、C、D的颜色像素值对应的颜色索引值)。其他初始化过程与上述202一致,此处不再赘述。
703,确定当前解码位置,并获取当前解码位置的邻近位置信息。可参考上文203的相关描述,此处不再赘述。
704,根据邻近位置各点的颜色信息,确定颜色哈希索引值index,以及确定颜色索引数组color_order及该数组中前三位为有效值的数量counter。
在一些实现方式中,确定当前解码位置以及当前解码位置的邻近位置对应的像素点的颜色信息后,即可根据上表5所示的内容,确定当前解码位置对应的颜色哈希值,然后针对颜色哈希值进行哈希解码,即可得到颜色哈希值对应的颜色哈希索引值。其中,针对颜色哈希值进行哈希解码的过程可参考上文207的描述,此处不再赘述。
其中,确定颜色索引数组color_order以及该数组中前三位为有效值的方式可参考前文相关描述,此处也不再赘述。
705,对颜色索引数组color_order的前三位按照从小到大的顺序排序,得到color_sort。
706,根据counter、color_sort[0]、color_sort[1]、color_sort[2]、以及颜色哈希索引值index之间的关系,确定颜色索引值idx。
以颜色哈希索引值index大于counter且颜色索引值in_counter小于color_sort[1]为例来说明。参考图5,假设像素点A(x,y)的邻近点为像素点B、C、D,并且像素点B的颜色索引值为2,像素点C的颜色索引值为2,像素点D的颜色索引值为5。
因此,像素点A的颜色索引数组color_order中color_order[0]=2,color_order[1]=5,color_order[2]=8,也即color_order[0:2]={2,5,8},对应地,color_sort[0:2]={2,5,8},counter=2。
并且,由于像素点B与像素点C的颜色相同,像素点B与像素点D的颜色不同,根据表4以及表5可知,像素点A对应的颜色哈希值为7,对应地颜色索引值index为4,in_counter=index-counter=2。
由于,颜色索引值index大于counter,并且in_counter大于等于color_sort[0]且小于color_sort[1],因此像素点A的颜色像素值为color_order[2+1],根据表1可知像素点A的颜色像素值为color_order[3]=8080000。
其余各种情况与上述类似,本申请不再赘述。
707,根据颜色索引值idx确定颜色对应的像素值。
图8根据本申请的一些实施例,示出了一种电子设备100的结构示意图。如图8所示,电子设备100包括一个或多个处理器101、系统内存102、非易失性存储器(Non-VolatileMemory,NVM)103、通信接口104、输入/输出(I/O)设备105、以及用于耦接处理器101、系统内存102、非易失性存储器103、通信接口104和输入/输出(I/O)设备105的系统控制逻辑106。其中:
处理器101可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(Central Processing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP(Digital Signal Processor)、微处理器MCU(Micro-programmed Control Unit)、AI(Artificial Intelligence,人工智能)处理器或可编程逻辑器件FPGA(FieldProgrammable Gate Array)、神经网络处理器(Neural-network Processing Unit,NPU)等的数据处理单元或处理电路可以包括一个或多个单核或多核处理器。在一些实施例中,处理器101可以用于执行指令实现上述数据处理单元、标记单元以及数据存储单元的相关功能。
系统内存102是易失性存储器,例如随机存取存储器(Random-Access Memory,RAM),双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous DynamicRandom Access Memory,DDR SDRAM)等。系统内存用于临时存储数据和/或指令,例如,在一些实施例中,系统内存102可以用于存储数据处理单元21、标记单元22以及数据存储单元12的指令,也可以用于存储原始数据对象和变更数据对象。
非易失性存储器103可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,非易失性存储器103可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如硬盘驱动器(Hard Disk Drive,HDD)、光盘(Compact Disc,CD)、数字通用光盘(Digital Versatile Disc,DVD)、固态硬盘(Solid-State Drive,SSD)等。在一些实施例中,非易失性存储器103也可以是可移动存储介质,例如安全数字(Secure Digital,SD)存储卡等。在另一些实施例中,非易失性存储器103可以用于存储数据处理单元21、标记单元22以及数据存储单元12的指令,也可以用于存储原始数据对象和变更数据对象。
特别地,系统内存102和非易失性存储器103可以分别包括:指令107的临时副本和永久副本。指令107可以包括:由处理器101中的至少一个执行时使电子设备100实现本申请各实施例提供的数据处理方法。
通信接口104可以包括收发器,用于为电子设备100提供有线或无线通信接口,进而通过一个或多个网络与任意其他合适的设备进行通信。在一些实施例中,通信接口104可以集成于电子设备100的其他组件,例如通信接口104可以集成于处理器101中。在一些实施例中,电子设备100可以通过通信接口104和其他设备通信,例如,电子设备100可以通过通信接口104和电子设备200建立通信连接,以通过该通信连接向电子设备200发送数据变更请求、获取原始数据对象和发送变更数据对象。
输入/输出(I/O)设备105可以包括输入设备如键盘、鼠标等,输出设备如显示器等,用户可以通过输入/输出(I/O)设备105与电子设备100进行交互,例如业务人员可以通过输入/输出(I/O)设备105输入/选择进行数据变更的内容。
系统控制逻辑106可以包括任意合适的接口控制器,以电子设备100的其他模块提供任意合适的接口。例如在一些实施例中,系统控制逻辑106可以包括一个或多个存储器控制器,以提供连接到系统内存102和非易失性存储器103的接口。
在一些实施例中,处理器101中的至少一个可以与用于系统控制逻辑106的一个或多个控制器的逻辑封装在一起,以形成系统封装(System in Package,SiP)。在另一些实施例中,处理器101中的至少一个还可以与用于系统控制逻辑106的一个或多个控制器的逻辑集成在同一芯片上,以形成片上系统(System-on-Chip,SoC)。
可以理解,图8所示的电子设备100的结构只是一种示例,在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
可以理解,在一些实施例中,电子设备200可以和电子设备100具有相同或相似的结构,也可以包括比电子设备100更多或更少的部件,还可以具有其他的结构,本申请实施例不做限定。
本申请实施例还提供了一种程序产品,用于实现上述各实施例提供的数据处理方法。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机模块或模块代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将模块代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
模块代码可以用高级模块化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现模块代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。

Claims (11)

1.一种数据处理方法,其特征在于,应用于电子设备,所述方法包括:
确定待解码的第一图像中的待解码像素点,
根据所述待解码像素点的位置确定与所述待解码像素点相邻的多个第一像素点,
基于预设的颜色信息与第一索引值之间的对应关系,确定多个所述第一像素点的颜色信息对应的第一索引值;
根据多个所述第一像素点的颜色信息,确定所述待解码像素点对应的第二索引值;
根据所述待解码像素点的第二索引值,基于预设的颜色信息与第一索引值之间的对应关系,确定待解码像素点对应的颜色信息。
2.根据权利要求1所述的方法,其特征在于,所述第一图像基于第一解码方式解码;以及,根据所述待解码像素点的位置确定与所述待解码像素点相邻的多个第一像素点,包括:
根据所述待解码像素点的位置,确定与所述待解码像素点相邻且在所述待解码像素点的上方、左方、左斜上方的各像素点。
3.根据权利要求1所述的方法,其特征在于,所述根据多个所述第一像素点的颜色信息,确定所述待解码像素点对应的第二索引值,包括:
基于预设的第一索引值与多个不同位置的第二像素点的颜色信息的情况之间的对应关系,根据多个所述第一像素点与所述待解码像素点的相对位置,以及多个所述第一像素点的颜色信息,确定第二索引值,
其中,所述第一图像基于第一解码方式解码,并且所述多个不同位置的第二像素点包括所述第一图像中任一像素点的上方、左方、左斜上方的各个像素点。
4.根据权利要求1所述的方法,其特征在于,根据所述待解码像素点的第二索引值,基于预设的颜色信息与第一索引值之间的对应关系,确定待解码像素点对应的颜色信息,包括:
根据所述多个第一像素点的颜色信息对应的第一索引值,确定第一数组,所述第一数组中包括多个元素,所述多个元素的数量大于所述第一图像包括的颜色种类对应的数量;从所述第一数组的第一位元素开始,根据多个所述第一像素点的颜色信息的情况,确定所述第一数组中前第一预设数量个元素的值,其中,第一预设数量等于所述第一像素点的数量,并且,
对应于多个所述第一像素点的颜色信息各不相同,将所述多个第一像素点的颜色信息对应的第一索引值分别作为所述第一数组的前第一预设数量个元素的值;
对应于多个所述第一像素点中,存在第二数量个第一像素点的颜色信息各不相同,对第一数组中前第一预设数量个元素中除去第二数量个元素进行无效值标记,并将所述多个第一像素点中其余第一像素点的颜色信息对应的第一索引值,作为前第一预设数量个元素中其余的元素的值,其中,第二数量小于第一预设数量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对第一数组中前第一预设数量个元素按照从小到大的顺序排序,得到第二数组,其中,所述第二数组的元素的数量与所述第一预设数量相同,以及
根据所述待解码像素点的第二索引值,以及所述第二数组,确定待解码像素点对应的颜色信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述待解码像素点的第二索引值,以及所述第二数组,确定待解码像素点对应的颜色信息,包括:
对应于所述第二索引值小于所述第二数组中有效值的数量,基于预设的颜色信息与第一索引值之间的对应关系,根据所述第二索引值确定所述待解码像素点对应的颜色信息;
对应于所述第二索引值大于所述第二数组中有效值的数量,基于预设的颜色信息与第一索引值之间的对应关系,根据所述第二索引值与所述第二数组中有效值的数量之差确定所述待解码像素点对应的颜色信息。
7.根据权利要求1所述的方法,其特征在于,所述颜色信息包括像素点的RGB值。
8.根据权利要求2所述的方法,其特征在于,所述第一解码方式包括调色板压缩算法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含有指令,当所述指令被电子设备的处理器执行时使电子设备实现权利要求1至8中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令;
以及处理器,是所述电子设备的处理器之一,用于运行所述指令以使所述电子设备实现权利要求1至8中任一项所述的方法。
11.一种计算机程序产品,其特征在于,当计算机程序产品在电子设备上运行时,使得所述电子设备实现权利要求1至8中任一项所述的方法。
CN202211098821.4A 2022-09-08 2022-09-08 数据处理方法、电子设备及其介质 Pending CN115580728A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211098821.4A CN115580728A (zh) 2022-09-08 2022-09-08 数据处理方法、电子设备及其介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211098821.4A CN115580728A (zh) 2022-09-08 2022-09-08 数据处理方法、电子设备及其介质

Publications (1)

Publication Number Publication Date
CN115580728A true CN115580728A (zh) 2023-01-06

Family

ID=84580365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211098821.4A Pending CN115580728A (zh) 2022-09-08 2022-09-08 数据处理方法、电子设备及其介质

Country Status (1)

Country Link
CN (1) CN115580728A (zh)

Similar Documents

Publication Publication Date Title
US8355028B2 (en) Scheme for varying packing and linking in graphics systems
US20070244850A1 (en) Perfect multidimensional spatial hashing
US11734554B2 (en) Pooling processing method and system applied to convolutional neural network
US20070018994A1 (en) Texture encoding apparatus, texture decoding apparatus, method, and program
CN111666442B (zh) 一种图像检索方法、装置及计算机设备
CN112137591B (zh) 基于视频流的目标物位置检测方法、装置、设备及介质
WO2022193872A1 (zh) 空间关系的确定方法、装置、计算机设备及存储介质
CN106874947A (zh) 用于确定文字形近度的方法和设备
CN105828081A (zh) 编码方法及编码装置
WO2024016830A1 (zh) 数据处理方法、装置、设备及存储介质
KR20180077060A (ko) 화소들의 리스트들을 인코딩 및 디코딩하는 방법 및 장치
WO2019199513A1 (en) A method and apparatus for encoding and decoding metadata associated with patched projection of point clouds
CN113257352A (zh) 一种基因测序数据排序方法、集成电路及排序设备
CN115580728A (zh) 数据处理方法、电子设备及其介质
US20230297466A1 (en) Hardware-efficient pam-3 encoder and decoder
CN111862343A (zh) 一种三维重建方法、装置、设备及计算机可读存储介质
US20140285487A1 (en) Method and Apparatus for Generating a Bitstream of Repetitive Structure Discovery Based 3D Model Compression
US10559093B2 (en) Selecting encoding options
CN116306646A (zh) 信息的填写方法、装置、计算机设备和存储介质
CN115291813A (zh) 一种数据存储方法及装置、数据读取方法及装置、设备
CN112784818B (zh) 基于分组式主动学习在光学遥感图像上的识别方法
CN108876703B (zh) 数据存储方法
US10075716B2 (en) Parallel encoding of weight refinement in ASTC image processing encoders
CN116894457B (zh) 深度学习模型的网络权重存取方法
JP4720805B2 (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination