CN114222129A - 图像压缩编码方法、装置、计算机设备和存储介质 - Google Patents

图像压缩编码方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114222129A
CN114222129A CN202210097970.2A CN202210097970A CN114222129A CN 114222129 A CN114222129 A CN 114222129A CN 202210097970 A CN202210097970 A CN 202210097970A CN 114222129 A CN114222129 A CN 114222129A
Authority
CN
China
Prior art keywords
image block
pixel
pixels
condition
image
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
CN202210097970.2A
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.)
Shenzhen Aixiesheng Technology Co Ltd
Original Assignee
Shenzhen Aixiesheng Technology 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 Shenzhen Aixiesheng Technology Co Ltd filed Critical Shenzhen Aixiesheng Technology Co Ltd
Priority to CN202210097970.2A priority Critical patent/CN114222129A/zh
Publication of CN114222129A publication Critical patent/CN114222129A/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/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及一种图像压缩编码方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:获取待压缩图像,将待压缩图像分为多个图像块,每个图像块中包含有若干个像素;针对每个图像块,根据图像块中的像素判断所述图像块的类型;如果图像块为彩色图像块,则判断图像块中的像素是否满足预设条件;其中,预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;若图像块中的像素满足预设条件中一种条件,则采用满足预设条件中一种条件所对应的编码规则对图像块进行编码。本申请提供的方法可使得编码后的数据量小,占据的存储空间小,同时解压后的数据还具备较高的质量。

Description

图像压缩编码方法、装置、计算机设备和存储介质
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像压缩编码方法、装置、计算机设备和存储介质。
背景技术
数字化的方式表示、传输和存储。图像是包含信息量最大的一种媒介,但数字图像庞大的信息量也成为了数字化进程中的阻碍,必须进行有效的压缩。对于遥感照片、侦察照片、指纹图像、医用图像、天气云图等图像数据的存储和传输等,为了不损失关键信息,方便后期的处理和应用,往往采用无损压缩的方式。尤其在芯片及硬件的开发过程中,受DDR带宽等限制,无法顺利的对高分辨率视频图像(如1080P、4k*2k)进行图像数据读写、存储、缓存等处理,更需要对其进行无损或近无损压缩。
在无损编码过程中,不存在数据丢失的问题,即图像经无损编码后能够无失真地解码复原。经典的无损压缩技术包括Huffman编码、算术编码以及字典压缩等,但是使用传统的图像无损压缩方法压缩后的图像数据的存储空间较大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少图像压缩数据存储空间的图像压缩编码方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,提供了一种图像压缩编码方法。所述方法包括:
获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
在其中一个实施例中,所述方法还包括:
如果所述图像块中的像素满足所述预设条件中至少两种条件,则将所述图像块满足每种条件所对应的编码结果进行解码,得到对应的第一解码数据;
根据所述第一解码数据与所述图像块的数据,得到对应的第一压缩误差;
选取所述第一压缩误差中最小的第一压缩误差所对应的编码结果,作为所述图像块对应的最终编码结果。
在其中一个实施例中,判断所述图像块中的像素是否满足像素分组条件,包括:
将所述图像块中的像素分成多个分组;
针对每个分组,计算所述分组中像素分量的最大值与最小值的差值;
如果多个分组中每个分组的所述差值的最大值均小于预设分组阈值,则表示所述图像块中的像素满足像素分组条件。
在其中一个实施例中,所述方法还包括:
当所述图像块中的像素满足至少两种像素分组条件,获取每种像素分组条件对应的编码规则进行编码所得到的编码结果,对所述编码结果进行解码,得到对应的第二解码数据;
根据所述第二解码数据与所述图像块的数据,得到对应的第二压缩误差;
选取所述第二压缩误差中最小的第二压缩误差所对应的编码结果,作为所述图像块满足像素分组条件的编码结果。
在其中一个实施例中,判断所述图像块中的像素是否满足像素分量相等条件,包括:
判断所述图像块中的各个像素同一分量的最大值与最小值的差值是否小于第一阈值,若是,则确定满足像素分量相等条件,且各个像素同一分量能够采用同一个数据进行表示;
判断所述图像块中的同一像素的不同两个分量的差值是否小于第二阈值,若是,则确定满足像素分量相等条件,且所述同一像素对应的两个分量能够采用同一个数据进行表示;
判断所述图像块中的各个像素两个分量的最大值与最小值的差值是否小于第三阈值,若是,则确定满足像素分量相等条件,且各个像素对应的两个分量能够采用同一个数据进行表示。
在其中一个实施例中,所述像素分量包括第一分量、第二分量和第三分量;判断所述图像块中的像素是否满足像素分量差值与相应阈值关系条件,包括:
获取所述图像块中像素的所述第一分量的最大值和最小值之间的第一差值,所述第二分量的最大值和最小值之间的第二差值,以及所述第三分量的最大值和最小值之间的第三差值;
判断所述第一差值、第二差值和所述第三差值是否满足像素分量差值与相应阈值关系集合,所述像素分量差值与相应阈值关系集合中每组关系包括第一差值与第一差值阈值的相互关系、第二差值与第二差值阈值之间的相互关系和第三差值与第三差值阈值之间的相互关系,若满足任一组关系,则确定所述图像块的像素满足像素分量差值与相应阈值关系条件。
第二方面,本申请还提供了一种图像压缩编码装置。所述装置包括:
图像分块模块,用于获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
图像类型模块,用于针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
彩色图像模块,用于如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
图像编码模块,用于若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
上述图像压缩编码方法、装置、计算机设备、存储介质和计算机程序产品,通过获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。本申请通过将待压缩图像分为多个图像块,对每个图像块进行相应类型判断,如果属于彩色图像块,则判断彩色图像块中的像素是否满足相应预设条件,若满足,则采用相应预设条件所对应的编码规则对图像块进行编码,使得编码后的数据量小,占据的存储空间少,同时解压后的数据还具备较高的质量。
附图说明
图1为一个实施例中图像压缩编码方法的应用环境图;
图2为一个实施例中图像压缩编码方法的流程示意图;
图3为另一个实施例中图像压缩编码方法的流程示意图;
图4为一个实施例中步骤206的流程示意图;
图5为另一个实施例中步骤206的流程示意图;
图6为另一个实施例中步骤206的流程示意图;
图7为另一个实施例中步骤206的流程示意图;
图8为一个实施例中图像压缩编码装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像压缩编码方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104获取终端102发送的待压缩图像,服务器104将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种图像压缩编码方法,该方法可以应用于图1中的服务器,也可以应用于终端,包括以下步骤:
步骤202,获取待压缩图像,将待压缩图像分为多个图像块,每个图像块中包含有若干个像素。
图像压缩编码的目的是消除图像中的大量冗余信息,用尽可能少的字节数来表示原始数据,以提高图像传输的效率,减少图像的存储容量。本实施例中按照具有代表性的块单元进行编码处理,块单元的编码处理是将一个图像显示区分成多个图像块,对每个图像块进行编码处理。首先,服务器或终端获取到待压缩图像,按照预设分块规则将待压缩图像分为预设数量的图像块,每个图像块中包含有若干个像素。其中,可将待压缩图像分为多个大小相等或者不等的图像块。例如,可将一帧待压缩图像分成多个同等大小的图像块,每个图像块包含6个像素,按照2行3列或者是3行2列的分布方式进行分布。
在一个可能的实现方式中,以图像块为处理单位对图像进行压缩编码,将一个图像块进行压缩编码后,再进行第二个图像的压缩编码,图像块与图像块之间没有相互联系。例如,将图像分为多个相同大小的图像块,每个图像块包含2行3列共6个像素,若将包括6个像素的图像块进行编码,因为每个像素包括R、G、B三个分量,每个分量占据8bit(比特位),则输入数据大小为144bit(比特位),预设压缩编码后输出的数据大小为56bit(比特位)。那么,在具体处理时,第一个图像块可由图像第一行第1至3列、第二行第1至3列共6个像素组成;第二个图像块可由图像第一行第4至6列、第二行第4至6列共6个像素组成,对第一个图像块进行压缩编码后,输出预设大小的压缩编码数据后,再对第二个图像块进行压缩编码,依此类推,将前两行数据处理完成后再处理后面两行的数据,直至将图像中的全部图像块进行压缩编码。在本实施例中,如果图像的列数不是3的整数倍,则可通过复制最后一列图像数据扩充图像的总列数使其满足计算要求。
步骤204,针对每个图像块,根据图像块中的像素判断图像块的类型。
每个图像块包含若干个像素,依次判断图像块中的像素数据类型,根据图像块中的所有像素数据类型判断图像块的类型。若同一个像素数据中的所有像素分量都相同,则判定为灰度像素数据;如果一个图像块中所有的像素数据都属于灰度像素数据,则说明该图像块为灰度图像块;否则,该图像块为彩色图像块。例如,假设每个图像块中的6个像素分别为P1=(R1,G1,B1)、P2=(R2,G2,B2)、P3=(R3,G3,B3)、P4=(R4,G4,B4)、P5=(R5,G5,B5)、P6=(R6,G6,B6),如果R1=G1=B1,则P1为灰度像素数据,若一个图像块中的6个像素都属于灰度像素数据,则说明该图像块为灰度图像块;否则,为彩色图像块。
步骤206,如果图像块为彩色图像块,则判断图像块中的像素是否满足预设条件;其中,预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种。
如果确定图像块为彩色图像块,则进一步判断图像块中的像素是否满足彩色图像块所对应的预设条件。其中,预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中的至少一种。像素分组条件,用于判断图像块中的像素是否满足相应的分组条件,分组条件可以有多种,同一个图像块也可以同时满足多种分组条件,不同的分组条件对应不同的编码规则。例如,同一个图像块中的像素可以同时满足分为两组、三组或者四组所对应的分组条件。像素分量相等条件,用于判断图像块中的像素分量是否满足相应的分量相等条件,像素分量相等条件包括在一个图像块中同一像素不同分量间、不同像素同一分量间的相等关系。像素分量差值与相应阈值关系条件,是指像素分量的差值与相应阈值之间的关系,可设置多组阈值,不同的像素分量差值与不同的阈值进行比较,可得到像素分量差值与相应阈值之间的关系。
步骤208,若图像块中的像素满足预设条件中一种条件,则采用满足预设条件中一种条件所对应的编码规则对图像块进行编码。
图像块中的像素如果满足预设条件中的一种条件,则采用所满足的预设条件所对应的编码规则对图像块进行编码。如果图像块中的像素满足预设条件中的多种条件,则采用对应满足的多种预设条件对应的多种编码规则对图像块进行编码,对应可得到多种编码结果。对应地,如果图像块满足为灰度图像块的条件,则根据灰度图像块对应的编码方式对灰度图像块进行编码。图像块经过压缩编码后包括模式标记位、类型标记位和图像块中各像素保留的数据。可以理解地,模式标记位用于区分图像块中的像素满足不同的预设条件,类型标记位用于区分图像块中的像素满足同一预设条件下的不同类型;预设条件不同,对应的模式标记位就不相同;同一种预设条件下,不同的类型,对应的类型标记位不相同。
上述图像压缩编码方法中,通过获取待压缩图像,将待压缩图像分为多个图像块,每个图像块中包含有若干个像素;针对每个图像块,根据图像块中的像素判断图像块的类型;如果图像块为彩色图像块,则判断图像块中的像素是否满足预设条件;其中,预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;若图像块中的像素满足预设条件中一种条件,则采用满足预设条件中一种条件所对应的编码规则对图像块进行编码。本申请实施例通过将待压缩图像分为多个图像块,对每个图像块进行相应类型判断,如果属于彩色图像块,则进一步判断彩色图像块中的像素是否满足相应预设条件,若满足,则采用所满足的相应预设条件所对应的编码规则对图像块进行编码,使得编码后的数据量小,占据的存储空间小,同时解压后的数据还具备较高的质量。
在一个实施例中,如图3所示,上述图像压缩编码方法还包括:
步骤302,如果图像块中的像素满足预设条件中至少两种条件,则将图像块满足每种条件所对应的编码结果进行解码,得到对应的第一解码数据。
如果图像块为彩色图像块,且图像块中的像素满足预设条件中至少两种条件,则采用满足预设条件所对应的编码规则对图像块进行编码,得到对应至少两种条件的至少两种编码结果;将至少两种条件对应的至少两种编码结果进行解码,得到对应的第一解码数据。其中,第一解码数据包括至少两种。本实施例中的解码方法可以是图像编码所对应的解码方法,也可以是其他的解码方法,在此不作具体限定。例如,如果一个图像块中的像素满足像素分组条件,则采用像素分组条件对应的编码规则对图像块进行编码,得到满足像素分组条件的编码结果;同时,该图像块还满足像素分量相等条件,则采用像素分量相等条件对应的编码规则对图像块进行编码,得到满足像素分量相等条件的编码结果;那么,对满足像素分组条件的编码结果和满足像素分量相等条件的编码结果分别进行解码,得到满足像素分组条件的编码结果的第一解码数据,以及满足像素分量相等条件的编码结果的第一解码数据。
步骤304,根据第一解码数据与图像块的数据,得到对应的第一压缩误差。
根据第一解码数据与对应的编码之前的图像块数据,得到对应的第一压缩误差。其中,第一压缩误差至少为两个。可选地,可以根据第一解码数据与对应编码之前的图像块数据的差值的绝对值,得到对应的第一压缩误差。
在一个可选的实现方式中,计算第一解码数据和图像块的数据中对应像素及像素分量的差值,并对像素分量的差值求绝对值,并将绝对值求和,得到对应的第一压缩误差。例如,若图像块中包含6个像素,计算第一解码数据和图像块的数据的差值,得到6个像素的18个像素分量对应的18个差值,对应得到差值的绝对值,将绝对值进行求和,得到对应的第一压缩误差。
步骤306,选取第一压缩误差中最小的第一压缩误差所对应的编码结果,作为图像块对应的最终编码结果。
在得到的多个第一压缩误差中,选取第一压缩误差中最小的第一压缩误差所对应的编码结果,作为图像块对应的最终编码结果进行输出。本实施例中,通过选取最小的第一压缩误差所对应的编码结果,可使得图像在压缩后占据较小空间的,同时,通过将编码数据进行解码后还具备较高的质量。
在一个实施例中,如图4所示,步骤206中判断所述图像块中的像素是否满足像素分组条件,包括:
步骤402,将所述图像块中的像素分成多个分组。
根据压缩编码需求,或者可以假设性地对图像块中的像素先进行随机分组,例如,可分为两组、三组或四组等多种分组方式,在任一种分组方式中,各个组中的像素数量可以相同,也可以不同。例如,假设一个图像块中包含6个像素,若将6个像素分为2组,可以是每3个像素作为一个组,也可以是2个像素作为一组,剩余的4个像素作为另一组。可以理解的是,对图像块中的像素进行分组,可遵循数学中排列组合的相关分组方式,在此不作限制。
步骤404,针对每个分组,计算分组中像素分量的最大值与最小值的差值。
针对每个分组,依次计算分组中每个像素分量的最大值与最小值的差值。例如,针对其中的一个分组,该分组中共有3个像素,依次计算3个像素中的R分量的最大值和最小值的差值、G分量的最大值和最小值的差值、B分量的最大值和最小值的差值。其他分组中像素分量的最大值与最小值的差值依照同样的方法进行计算。
步骤406,如果多个分组中每个分组的差值的最大值均小于预设分组阈值,则表示图像块中的像素满足像素分组条件。
本实施例中,对于不同的分组方式对应有不同的预设分组阈值,比如,将一个图像块中的像素分为两组、三组以及四组所对应的预设分组阈值各不相同,一般地,分组数量越多,对应的预设分组阈值越大。针对同一种分组方式,如果各个分组中,每个分组的差值的最大值均小于对应的预设分组阈值,代表图像块中的像素满足像素分组条件。
在一个可选的实施方式中,在确定图像块中的像素满足像素分组条件后,可以使用各个分组内像素分量的近似均值对分组内的像素进行重新表示。其中,像素分量的近似均值,是指组内像素分量的最大值与最小值的算术平均值。例如,如果其中一个分组包括3个像素分别为P1(R1,G1,B1)、P2(R2,G2,B2)、P3(R3,G3,B3),则Rmean=(Rmax+Rmin)/2,Gmean=(Gmax+Gmin)/2,Bmean=(Bmax+Bmin)/2。其中Rmax等于R1、R2、R3的最大值,Rmin等于R1、R2、R3的最小值,Gmax等于G1、G2、G3的最大值,Gmin等于G1、G2、G3的最小值,Bmax等于B1、B2、B3的最大值,Bmin等于B1、B2、B3的最小值,即可以使用(Rmean,Gmean,Bmean)表示该分组内的三个像素。其他分组方式的分组中,根据同样的思路,也可以使用相应分组内像素分量的近似均值对分组内的像素进行表示。
在一个实施例中,如图5所示,上述图像压缩编码方法还包括:
步骤502,当图像块中的像素满足至少两种像素分组条件,获取每种像素分组条件对应的编码规则进行编码所得到的编码结果,对编码结果进行解码,得到对应的第二解码数据。
针对图像块中的若干个像素,可能同时满足至少两种像素分组条件,获取满足每种像素分组条件所对应的编码规则进行编码得到的至少两种编码结果,对编码结果进行解码,得到对应的第二解码数据。其中,第二解码数据至少有两种。例如,若图像块中的像素可以分为两组,即相应地满足分为两组对应的像素分组条件,则使用满足分为两组对应的像素分组条件所对应的编码规则进行编码,得到满足分为两组对应的像素分组条件所对应的编码结果;同时,该图像块中的像素也可以分为三组,即满足像素分为三组对应的像素分组条件,则使用满足分为三组对应的像素分组条件所对应的编码规则进行编码,得到满足分为三组对应的像素分组条件所对应的编码结果;分别满足分为两组对应的像素分组条件所对应的编码结果和满足分为三组对应的像素分组条件所对应的编码结果进行解码,得到满足分为两组对应的像素分组条件所对应的编码结果的第二解码数据,以及满足分为三组所对应的像素分组条件所对应的编码结果的第二解码数据。
步骤504,根据第二解码数据与图像块的数据,得到对应的第二压缩误差。
根据第二解码数据与对应的编码之前的图像块数据,得到对应的第二压缩误差。由于图像块中的像素满足至少两种像素分组条件,当满足一种像素分组条件时,对应一种第二解码数据,也就对应有一个第二压缩误差,因此,第二压缩误差的数量至少为两个,即第二压缩误差的数量与相应图像块中的像素满足像素分组条件的数量相同。具体地,可以将第二解码数据与对应编码之前的图像块数据的差值的绝对值,作为对应的第二压缩误差。
步骤506,选取第二压缩误差中最小的第二压缩误差所对应的编码结果,作为图像块满足像素分组条件的编码结果。
在得到的多个第二压缩误差中,选取最小的第二压缩误差,作为图像块满足像素分组条件的编码结果。
本实施例中,针对满足多种像素分组条件的图像块,将满足多种像素分组条件对应的编码结果进行解码,得到对应的第二解码数据,将第二解码数据与编码之前的图像块数据进行比较,得到对应的第二压缩误差,选取最小的第二压缩误差对应的编码结果,作为图像块满足像素分组条件的编码结果。本实施例中的图像压缩编码方法可以降低图像压缩编码的运算复杂度,使得最终的编码结果占据较少存储空间的同时,将编码数据进行解码后还可以保持较高原始图像的质量。
在一个实施例中,如图6所示,步骤206中判断所述图像块中的像素是否满足像素分量相等条件,包括:
步骤602,判断所述图像块中的各个像素同一分量的最大值与最小值的差值是否小于第一阈值,若是,则确定满足像素分量相等条件,且各个像素同一分量能够采用同一个数据进行表示。
图像块包含的若干个像素中,每个像素包含有三个像素分量,依次判断图像块中的各个像素中的同一分量的最大值与最小值的差值,如果存在其中一个像素分量的最大值和最小值的差值小于第一阈值,则认为满足像素分量相等条件,且该像素分量可采用同一个数据进行表示。可以理解的是,如果图像块包含的像素中,有两个或者三个像素分量的最大值与最小值的差值都小于第一阈值,也认为是满足像素分量相等条件的。例如,如果像素中的G像素分量中的最大值与最小值的差值小于第一阈值,则认为满足像素分量相等条件,且G像素分量可采用同一个数据进行表示。如果像素中R像素分量中的最大值与最小值的差值小于第一阈值,且B像素分量中的最大值与最小值的差值也小于第一阈值,那么该图像块的像素满足像素分量相等条件,且R像素分量可以用同一个数据进行表示,B像素分量也可以用同一个数据表示。
可选地,当像素中的像素分量满足像素分量相等条件时,可使用相应像素分量的近似均值表示像素中所有的相应的像素分量。例如,沿用上述举例进行说明,当像素中R像素分量中的最大值与最小值的差值小于第一阈值,那么可以用R像素分量的近似均值替换像素中所有的R像素分量。
步骤604,判断图像块中的同一像素的不同两个分量的差值是否小于第二阈值,若是,则确定满足像素分量相等条件,且同一像素对应的两个分量能够采用同一个数据进行表示。
针对图像块中的任意一个像素,如果同一像素中的不同两个分量的差值小于第二阈值,则认为满足像素分量相等条件,且同一像素对应的两个分量能够采用同一个数据进行表示。例如,如果针对图像块中的像素P1(R1,G1,B1),如果R1=G1,R1=B1或者G1=B1,那么相应地,R1和G1,R1和B1,或者G1和B1,分别可以使用同一个数据进行表示。
步骤606,判断所述图像块中的各个像素两个分量的最大值与最小值的差值是否小于第三阈值,若是,则确定满足像素分量相等条件,且各个像素对应的两个分量能够采用同一个数据进行表示。
针对图像块中各个像素中的任意两个分量,计算任意两个分量的最大值和最小值的差值,如果任意两个分量的最大值和最小值的差值小于第三阈值,则认为满足像素分量相等条件,且图像块中对应的两个分量可以采用同一个数据进行表示。
本实施例中的第一阈值、第二阈值和第三阈值各不相同。针对同一个图像块中的像素,可以同时满足第一阈值、第二阈值及第三阈值所对应的像素分量相等条件,也可以满足其中的任意两种像素分量相等条件。
在一个实施例中,如图7所示,像素分量包括第一分量、第二分量和第三分量,步骤206中判断图像块中的像素是否满足像素分量差值与相应阈值关系条件,包括:
步骤702,获取图像块中像素的第一分量的最大值和最小值之间的第一差值,第二分量的最大值和最小值之间的第二差值,以及第三分量的最大值和最小值之间的第三差值。
图像块中,每个像素包括三个像素分量,分别为第一分量、第二分量和第三分量,例如,第一分量可以为R分量,第二分量可以为G分量,第三分量可以为B分量。获取图像块中各个像素的第一分量的最大值和最小值之间的第一差值,第二分量的最大值和最小值之间的第二差值,以及第三分量的最大值和最小值之间的第三差值。
步骤704,判断第一差值、第二差值和第三差值是否满足像素分量差值与相应阈值关系集合,像素分量差值与相应阈值关系集合中每组关系包括第一差值与第一差值阈值的相互关系、第二差值与第二差值阈值之间的相互关系和第三差值与第三差值阈值之间的相互关系,若满足任一组关系,则确定图像块的像素满足像素分量差值与相应阈值关系条件。
本实施例中,设置有多组阈值,每组阈值中包括第一差值阈值、第二差值阈值和第三差值阈值,依次判断第一差值与每组阈值中的第一差值阈值、第二差值与第二差值阈值、第三差值与第三差值阈值之间的关系,如果存在其中一组阈值使得第一差值小于第一差值阈值,且第二差值小于第二差值阈值,且第三差值小于第三差值阈值,则确定图像块的像素满足像素分量差值与相应阈值关系条件。
在一个可选的实施例中,设置有多组阈值,按照从小到大的顺序对多组阈值进行排序。将第一差值、第二差值和第三差值依次按照从小到大的顺序与多组阈值进行比较,使用满足像素分量差值与相应阈值关系条件对应的编码规则对图像块进行编码,得到多组阈值对应的编码规则对图像块进行编码的编码结果,将编码结果进行解码后,计算解码后的图像块数据与编码前的图像块数据之间的第三压缩误差,选取最小的第三压缩误差对应的编码结果,作为图像块的像素满足像素分量差值与相应阈值关系条件对应的编码结果。
在一个实施例中,以更加具体的例子对本申请中的图像压缩编码方法进行详细说明。假设将图像分为多个大小相等的图像块,每个图像块包括2行3列共6个像素,每个像素包含有三个分量,6个像素共计144bit,最终预设固定以56bit作为输出,6个像素可表示为P1(R1,G1,B1)、P2(R2,G2,B2)、P3(R3,G3,B3)、P4(R4,G4,B4)、P5(R5,G5,B5)、P6(R6,G6,B6)。
(1)如果图像块中的每个像素的三个像素分量均相等,则该图像块属于灰度图像块。设定保存模式标记位1110,然后使用48bit保存6个像素数据,剩余的4bit使用4各0补齐,共计56bit,即4+6*8+4=56,实现无损压缩。
(2)如果图像块不属于灰度图像块,则属于彩色图像块,判断图像块中的像素是否满足预设条件。
①首先判断图像块中的像素是否满足像素分组条件。如果满足将图像块中的6个像素分为两组的像素分组条件,使用组内各个像素的像素分量的近似均值表示组内的各个像素,即共有2组近似均值,包括6个近似均值组成的新像素,需要对这6个近似均值进行编码。具体为:设定保存模式标记位0,使用6bit进行类型标记,6bit共可表示64种类型,将6个像素分为两组共有13种类型,可使用0~12共13个数据对各组进行类型标记,然后使用48bit保存6个数据,剩余的1bit使用1个0补齐,共计56bit,即1+6+48+1=56,实现数据压缩编码。
如果满足将图像块中的6个像素分为三组的像素分组条件,使用组内各个像素的像素分量的近似均值表示组内的各个像素,即共有3组近似均值,包括9个近似均值组成的新像素,需要对这9个近似均值进行编码。具体为:保存模式标记位0,使用6bit进行类型标记,6bit共可表示64种类型,将6个像素分为三组共有13种类型,可使用13~25共13个数据对各组进行类型标记,然后使用48bit保存9个近似均值,具体可以是3个G近似均值都使用6bit保存,保存其高6位,共计18bit;剩余6个近似均值均使用5bit保存,保存其高5位,共计30bit;剩余1bit使用1个0补齐,共计56bit,即6+3*6+5*6+1=56,实现数据压缩编码。
如果满足将图像块中的6个像素分为四组的像素分组条件,使用组内各个像素的像素分量的近似均值表示组内的各个像素,即共有4组近似均值,包括12个近似均值组成的新像素,需要对这12个近似均值进行编码。具体为:保存模式标记位0,使用6bit进行类型标记,6bit共可表示64种类型,将6个像素分为四组共有20种类型,可使用26~45共20个数据对各组进行类型标记,然后使用49bit保存12个近似均值,具体可以是,最后一组的G近似均值使用5bit保存,其他近似均值使用4bit保存,共计56bit,即1+6+11*4+5=56,实现图像块数据压缩编码。
在判断图像块中的像素是否满足像素分组条件的过程中,不局限于上述具体案例中的分组方式,甚至于还可以将6个像素分为五组,具体计算过程相似,在此不再赘述。并且,即使在确定了所需要划分的组数时,也有多种像素组合类型。因此,当图像块中的像素满足至少两种像素分组条件时,获取每种像素分组条件对应的编码规则进行编码所得到的编码结果,对编码结果进行解码,得到对应的第二解码数据;根据第二解码数据与所述图像块的数据,得到对应的第二压缩误差;选取第二压缩误差中最小的第二压缩误差所对应的编码结果,作为图像块满足像素分组条件的编码结果。
②判断图像块中的像素是否满足像素分量相等条件。
a.当图像块中的6个像素中的同一像素分量的最大值与最小值的差值小于第一阈值,则确定满足像素分量相等条件,且6个像素中同一像素分量能够采用同一个数据表示,具体可以采用同一分量的近似均值来表示。
b.当图像块中同一像素不同两个像素分量的差值小于第二阈值,则对应的两个像素分量可以使用同一个数据表示。
c.当图像块中的6个像素的两个像素分量的差值小于第三阈值,则对应的两个像素分量可以使用同一个数据表示。
上述a、b、c三种像素分量相等条件可以同时满足,也可以只满足其中一种或两种。如果6个像素中的R像素分量满足a,且6个像素中的G、B像素分量满足条件b,则共需要保存7个数据。类似的,最终只需要保存7个数据时需要满足的条件还有:6个像素的G像素分量满足条件a,且6个像素的R、B像素分量满足条件b;6个像素的B像素分量满足条件a,且6个像素的R、G像素分量满足条件b;6个像素的R、G像素分量满足条件c,6个像素的B像素分量不满足任何条件;6个像素的R、B像素分量满足条件c,6个像素的C像素分量不满足任何条件;6个像素的G、B像素分量满足条件c,6个像素的R像素分量不满足任何条件,等等。
针对需要保存7个数据对应的编码方式具体可以是,保存模式标记位0,使用6bit进行类型标记,6bit共可表示64种类型,保存为7个数据时对应有上述6中情形,可使用46~51共6个数据进行类型标记,使用49bit保存7各数据,每个数据使用7bit进行保存,共计56bit,即1+6+7*7=56,实现图像块数据压缩编码。
③判断图像块中的像素是否满足像素分量差值与相应阈值关系条件。
计算6个像素中,R分量的最大值Rmax、最小值Rmin,G分量的最大值Gmax、最小值Gmin,B分量的最大值Bmax、最小值Bmin,将Rmax-Rmin、Gmax-Gmin、Bmax-Bmin与不同阈值进行比较。假设第一差值阈值为8,第二差值阈值为16,第三差值阈值为8,若Rmax-Rmin<8,Gmax-Gmin<8,Bmax-Bmin<8,具体编码过程为:设定保存模式标记位110;使用5bit进行类型标记,5bit共可表示32种类型,对于满足上述差值阈值条件的类型,可使用数据0进行类型标记;使用24bit分别保存Rmin、Gmin、Bmin三个数据,每个数据使用8bit;再使用24bit保存各个像素分量与其对应像素分量最小值的差值,即1*6+2*6+1*6=24,具体为:使用1bit保存R1-Rmin的最高位,R2、R3、R4、R5、R6的计算过程与之类似,则R分量共需要6bit保存对应的数据;使用2bit保存G1-Gmin的最高两位,G2、G3、G4、G5、G6的计算过程与之类似,则G分量共需要12bit保存对应的数据;使用1bit保存B1-Bmin的最高位,B2、B3、B4、B5、B6的计算过程与之类似,则B分量共需要6bit保存对应的数据;综上,共计56bit,即3+5+24+24=56,从而实现图像块数据压缩编码。
针对彩色图像块,如果图像块中的像素不满足预设条件,即不满足像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中的任一种,具体进行编码的方式为:保存模式标记位10,然后使用54bit保存6个像素对应的18个像素分量,每个像素分量保留其高3位,共计56bit,即2+18*3=56,从而实现图像块数据压缩。
上述图像块的压缩编码方法,只要满足相应预设条件都按照对应的编码规则进行编码,再将编码结果进行解码后得到的解码数据,与原始图像块数据进行误差比较,选择误差最小的编码结果作为该图像块最终的编码结果。最终的编码结果的数据量只占到原始图像块数据的38.9%,压缩编码结果占据空间小,计算量少。
针对上述图像块的压缩编码过程,下面给出相应的解码过程:根据图像块编码时的模式标记位选择对应的解码方式。如果待解码数据的前4位为1110,则确定待解码数据为灰度图像数据。根据待解码数据的第5-12位得到第一个灰度值,根据待解码数据的第13-20位得到第二个灰度值,根据待解码数据的第21-28位得到第三个灰度值,根据待解码数据的第29-36位得到第四个灰度值,根据待解码数据的第37-44位得到第五个灰度值,根据待解码数据的第45-52位得到第六个灰度值。六个灰度值对应六个像素,从而得到解码数据。
如果待解码数据的第1位为0,则待解码数据的第2-7位为类型标记,并将类型标记上的数值转换为十进制,根据该数值的大小,选择对应的解码方式,具体如下:
如果该数值在0到12之间,则代表将原始图像块中的像素分为两组。根据待解码数据的第8-15位得到第一组R像素分量的近似均值RAmean,根据待解码数据的第16-23位得到第一组G像素分量的近似均值GAmean,根据待解码数据的第24-31位得到第一组B像素分量的近似均值BAmean,根据待解码数据的第32-39位得到第二组R像素分量的近似均值RBmean,根据待解码数据的第40-47位得到第二组G像素分量的近似均值GBmean,根据待解码数据的第48-55位得到第二组B像素分量的近似均值BBmean。然后将(RAmean,GAmean,BAmean)赋值给第一分组的像素,将(RBmean,GBmean,BBmean)赋值给第二分组的像素,进而得到解码数据。
如果该数值在13到25之间,则代表将原始图像块中的像素分为三组。根据待解码数据的第8-12位得到第一组R分量的近似均值RAmean=bin2dec(str(8:12))*8+4,其中,str代表压缩的数据流,共计56bit,bin2dec可以将对应的二进制转换为十进制,后续相关运算与之类似。根据待解码数据的第13-18位得到第一组G分量的近似均值GAmean,根据待解码数据的第19-23位得到第一组B分量的近似均值BAmean;根据待解码数据的第24-28位得到第二组R分量的近似均值RBmean,根据待解码数据的第29-34位得到第二组G分量的近似均值GBmean,根据待解码数据的第35-39位得到第二组B分量的近似均值BBmean;根据待解码数据的第40-44位得到第三组R分量的近似均值RCmean,根据待解码数据的第45-50位得到第三组G分量的近似均值GCmean,根据待解码数据的第51-55位得到第三组B分量的近似均值BCmean。然后将(RAmean,GAmean,BAmean)赋值给第一分组的像素,将(RBmean,GBmean,BBmean)赋值给第二分组的像素,将(RCmean,GCmean,BCmean)赋值给第三分组的像素,进而得到解码数据。
如果该数值在26到45之间,则代表将原始图像块中的像素分为四组。根据待解码数据的第8-11位得到第一组R分量的近似均值RAmean=bin2dec(str(8:11))*16+8,其中,str代表压缩的数据流,共计56bit,bin2dec可以将对应的二进制转换为十进制,后续相关运算与之类似。根据待解码数据的第12-15位得到第一组G分量的近似均值GAmean,根据待解码数据的第16-19位得到第一组B分量的近似均值BAmean;根据待解码数据的第20-23位得到第二组R分量的近似均值RBmean,根据待解码数据的第24-27位得到第二组G分量的近似均值GBmean,根据待解码数据的第28-31位得到第二组B分量的近似均值BBmean;根据待解码数据的第32-35位得到第三组R分量的近似均值RCmean,根据待解码数据的第36-39位得到第三组G分量的近似均值GCmean,根据待解码数据的第40-43位得到第三组B分量的近似均值BCmean;根据待解码数据的第44-47位得到第四组R分量的近似均值RDmean,根据待解码数据的第48-52位得到第四组G分量的近似均值GDmean,根据待解码数据的第53-56位得到第四组B分量的近似均值BDmean。然后将(RAmean,GAmean,BAmean)赋值给第一分组的像素,将(RBmean,GBmean,BBmean)赋值给第二分组的像素,将(RCmean,GCmean,BCmean)赋值给第三分组的像素,将(RDmean,GDmean,BDmean)赋值给第四分组的像素,进而得到解码数据。
如果该数值在46到51之间,则代表原始图像块的像素满足像素分量相等条件。根据待解码数据的第8-14位得到第一个数据data1,根据待解码数据的第15-21位得到第二个数据data2,根据待解码数据的第22-28位得到第三个数据data3,根据待解码数据的第29-35位得到第四个数据data4,根据待解码数据的第36-42位得到第五个数据data5,根据待解码数据的第43-49位得到第六个数据data6,根据待解码数据的第50-56位得到第七个数据data7,然后根据该数值的具体大小以及步骤②所述内容,将7个数据赋值给对应的像素分量,进而得到解码数据。
如果待解码数据的前2位为10,则代表像素组合不能满足预设条件,使用以下方法进行解码:根据待解码数据的第3-5位得到R1=bin2dec(str(3:5))*32+16,其中,str代表压缩的数据流,共计56bit,bin2dec可以将对应的二进制转换为十进制,后续相关运算与之类似。根据待解码数据的第6-8位得到R2,根据待解码数据的第9-11位得到R3,根据待解码数据的第12-14位得到R4,根据待解码数据的第15-17位得到R5,根据待解码数据的第18-20位得到R6;根据待解码数据的第21-23位得到G1,根据待解码数据的第24-26位得到G2,根据待解码数据的第27-29位得到G3,根据待解码数据的第30-32位得到G4,根据待解码数据的第33-35位得到G5,根据待解码数据的第36-38位得到G6;根据待解码数据的第39-41位得到B1,根据待解码数据的第42-44位得到B2,根据待解码数据的第45-47位得到B3,根据待解码数据的第48-50位得到B4,根据待解码数据的第51-53位得到B5,根据待解码数据的第54-56位得到B6。
如果待解码数据的前3位为110,则代表原始像素满足像素分量差值与相应阈值关系条件。首先根据待解码数据的第4-8位,计算得到对应的类型,然后根据后续的数据位得到解码数据。以压缩编码过程步骤③中的例子为例说明解码过程,具体如下:根据待解码数据的第4-8位得到模式标记位0,然后根据待解码数据的第9-16位得到Rmin,根据待解码数据的第17-24位得到Gmin,根据待解码数据的第25-32位得到Bmin,根据待解码数据的第33位得到DiffR1=bin2dec(str(31))*4+2,则R1=Rmin+DiffR1。根据待解码数据的第34位得到DiffR2,则R2=Rmin+DiffR2,根据待解码数据的第35位得到DiffR3,则R3=Rmin+DiffR3,根据待解码数据的第36位得到DiffR4,则R4=Rmin+DiffR4,根据待解码数据的第37位得到DiffR5,则R5=Rmin+DiffR5,根据待解码数据的第38位得到DiffR6,则R6=Rmin+DiffR6;根据待解码数据的第39-40位得到DiffG1,则G1=Gmin+DiffG1,根据待解码数据的第41-42位得到DiffG2,则G2=Gmin+DiffG2,根据待解码数据的第43-44位得到DiffG3,则G3=Gmin+DiffG3,根据待解码数据的第45-46位得到DiffG4,则G4=Gmin+DiffG4,根据待解码数据的第47-48位得到DiffG5,则G5=Gmin+DiffG5,根据待解码数据的第49-50位得到DiffG6,则G6=Gmin+DiffG6;根据待解码数据的第51位得到DiffB1,则B1=Bmin+DiffB1,根据待解码数据的第52位得到DiffB2,则B2=Bmin+DiffB2,根据待编码数据的第53位得到DiffB3,则B3=Bmin+DiffB3,根据待解码数据的第54位得到DiffB4,则B4=Bmin+DiffB4,根据待解码数据的第55位得到DiffB5,则B5=Bmin+DiffB5,根据待解码数据的第56位得到DiffB6,则B6=Bmin+DiffB6。从而,得到对应的解码数据。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图像压缩编码方法的图像压缩编码装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像压缩编码装置实施例中的具体限定可以参见上文中对于图像压缩编码方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种图像压缩编码装置,包括:图像分块模块802、图像类型模块804、彩色图像模块806和图像编码模块808,其中:
图像分块模块802,用于获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
图像类型模块804,用于针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
彩色图像模块806,用于如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
图像编码模块808,用于若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
在一个实施例中,图像压缩编码装置还包括:
解码模块,用于如果所述图像块中的像素满足所述预设条件中至少两种条件,则将所述图像块满足每种条件所对应的编码结果进行解码,得到对应的第一解码数据;
压缩误差模块,用于根据所述第一解码数据与所述图像块的数据,得到对应的第一压缩误差;
比较模块,用于选取所述第一压缩误差中最小的第一压缩误差所对应的编码结果,作为所述图像块对应的最终编码结果。
在一个实施例中,彩色图像模块806在判断图像块中的像素是否满足像素分组条件时,用于:
将所述图像块中的像素分成多个分组;
针对每个分组,计算所述分组中像素分量的最大值与最小值的差值;
如果多个分组中每个分组的所述差值的最大值均小于预设分组阈值,则表示所述图像块中的像素满足像素分组条件。
在一个实施例中,彩色图像模块806在判断图像块中的像素是否满足像素分组条件时,还用于:
当所述图像块中的像素满足至少两种像素分组条件,获取每种像素分组条件对应的编码规则进行编码所得到的编码结果,对所述编码结果进行解码,得到对应的第二解码数据;
根据所述第二解码数据与所述图像块的数据,得到对应的第二压缩误差;
选取所述第二压缩误差中最小的第二压缩误差所对应的编码结果,作为所述图像块满足像素分组条件的编码结果。
在一个实施例中,彩色图像模块806在判断图像块中的像素是否满足像素分量相等条件时,用于:
判断所述图像块中的各个像素同一分量的最大值与最小值的差值是否小于第一阈值,若是,则确定满足像素分量相等条件,且各个像素同一分量能够采用同一个数据进行表示;
判断所述图像块中的同一像素的不同两个分量的差值是否小于第二阈值,若是,则确定满足像素分量相等条件,且所述同一像素对应的两个分量能够采用同一个数据进行表示;
判断所述图像块中的各个像素两个分量的最大值与最小值的差值是否小于第三阈值,若是,则确定满足像素分量相等条件,且各个像素对应的两个分量能够采用同一个数据进行表示。
在一个实施例中,彩色图像模块806在判断图像块中的像素是否满足像素分量差值与相应阈值关系条件,用于:
获取所述图像块中像素的所述第一分量的最大值和最小值之间的第一差值,所述第二分量的最大值和最小值之间的第二差值,以及所述第三分量的最大值和最小值之间的第三差值;
判断所述第一差值、第二差值和所述第三差值是否满足像素分量差值与相应阈值关系集合,所述像素分量差值与相应阈值关系集合中每组关系包括第一差值与第一差值阈值的相互关系、第二差值与第二差值阈值之间的相互关系和第三差值与第三差值阈值之间的相互关系,若满足任一组关系,则确定所述图像块的像素满足像素分量差值与相应阈值关系条件。
上述图像压缩编码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图像压缩数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像压缩编码方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各图像压缩编码方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各图像压缩编码方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各图像压缩编码方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种图像压缩编码方法,其特征在于,所述方法包括:
获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述图像块中的像素满足所述预设条件中至少两种条件,则将所述图像块满足每种条件所对应的编码结果进行解码,得到对应的第一解码数据;
根据所述第一解码数据与所述图像块的数据,得到对应的第一压缩误差;
选取所述第一压缩误差中最小的第一压缩误差所对应的编码结果,作为所述图像块对应的最终编码结果。
3.根据权利要求1所述的方法,其特征在于,判断所述图像块中的像素是否满足像素分组条件,包括:
将所述图像块中的像素分成多个分组;
针对每个分组,计算所述分组中像素分量的最大值与最小值的差值;
如果多个分组中每个分组的所述差值的最大值均小于预设分组阈值,则表示所述图像块中的像素满足像素分组条件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述图像块中的像素满足至少两种像素分组条件,获取每种像素分组条件对应的编码规则进行编码所得到的编码结果,对所述编码结果进行解码,得到对应的第二解码数据;
根据所述第二解码数据与所述图像块的数据,得到对应的第二压缩误差;
选取所述第二压缩误差中最小的第二压缩误差所对应的编码结果,作为所述图像块满足像素分组条件的编码结果。
5.根据权利要求1所述的方法,其特征在于,判断所述图像块中的像素是否满足像素分量相等条件,包括:
判断所述图像块中的各个像素同一分量的最大值与最小值的差值是否小于第一阈值,若是,则确定满足像素分量相等条件,且各个像素同一分量能够采用同一个数据进行表示;
判断所述图像块中的同一像素的不同两个分量的差值是否小于第二阈值,若是,则确定满足像素分量相等条件,且所述同一像素对应的两个分量能够采用同一个数据进行表示;
判断所述图像块中的各个像素两个分量的最大值与最小值的差值是否小于第三阈值,若是,则确定满足像素分量相等条件,且各个像素对应的两个分量能够采用同一个数据进行表示。
6.根据权利要求1所述的方法,其特征在于,所述像素分量包括第一分量、第二分量和第三分量;判断所述图像块中的像素是否满足像素分量差值与相应阈值关系条件,包括:
获取所述图像块中像素的所述第一分量的最大值和最小值之间的第一差值,所述第二分量的最大值和最小值之间的第二差值,以及所述第三分量的最大值和最小值之间的第三差值;
判断所述第一差值、第二差值和所述第三差值是否满足像素分量差值与相应阈值关系集合,所述像素分量差值与相应阈值关系集合中每组关系包括第一差值与第一差值阈值的相互关系、第二差值与第二差值阈值之间的相互关系和第三差值与第三差值阈值之间的相互关系,若满足任一组关系,则确定所述图像块的像素满足像素分量差值与相应阈值关系条件。
7.一种图像压缩编码装置,其特征在于,所述装置包括:
图像分块模块,用于获取待压缩图像,将所述待压缩图像分为多个图像块,每个所述图像块中包含有若干个像素;
图像类型模块,用于针对每个图像块,根据所述图像块中的像素判断所述图像块的类型;
彩色图像模块,用于如果所述图像块为彩色图像块,则判断所述图像块中的像素是否满足预设条件;其中,所述预设条件包括像素分组条件、像素分量相等条件、像素分量差值与相应阈值关系条件中至少一种;
图像编码模块,用于若所述图像块中的像素满足所述预设条件中一种条件,则采用满足所述预设条件中所述一种条件所对应的编码规则对所述图像块进行编码。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202210097970.2A 2022-01-27 2022-01-27 图像压缩编码方法、装置、计算机设备和存储介质 Pending CN114222129A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210097970.2A CN114222129A (zh) 2022-01-27 2022-01-27 图像压缩编码方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210097970.2A CN114222129A (zh) 2022-01-27 2022-01-27 图像压缩编码方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114222129A true CN114222129A (zh) 2022-03-22

Family

ID=80708745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210097970.2A Pending CN114222129A (zh) 2022-01-27 2022-01-27 图像压缩编码方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114222129A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208413A (zh) * 2022-09-14 2022-10-18 北京四维纵横数据技术有限公司 链式编码压缩方法、装置、计算机设备及存储介质
CN115396670A (zh) * 2022-07-28 2022-11-25 西安空间无线电技术研究所 一种局域处理的图像数据压缩方法
CN115514967A (zh) * 2022-11-07 2022-12-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于二进制块双向编码的图像压缩方法及图像解压方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396670A (zh) * 2022-07-28 2022-11-25 西安空间无线电技术研究所 一种局域处理的图像数据压缩方法
CN115396670B (zh) * 2022-07-28 2024-05-03 西安空间无线电技术研究所 一种局域处理的图像数据压缩方法
CN115208413A (zh) * 2022-09-14 2022-10-18 北京四维纵横数据技术有限公司 链式编码压缩方法、装置、计算机设备及存储介质
CN115208413B (zh) * 2022-09-14 2023-01-17 北京四维纵横数据技术有限公司 链式编码压缩方法、装置、计算机设备及存储介质
CN115514967A (zh) * 2022-11-07 2022-12-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于二进制块双向编码的图像压缩方法及图像解压方法
CN115514967B (zh) * 2022-11-07 2023-03-21 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于二进制块双向编码的图像压缩方法及图像解压方法

Similar Documents

Publication Publication Date Title
CN114222129A (zh) 图像压缩编码方法、装置、计算机设备和存储介质
CN109379598B (zh) 一种基于fpga实现的图像无损压缩方法
CN101375313A (zh) 用于计算机图形的图像压缩
US20170352165A1 (en) Encoding and decoding arrays of data elements
CN111510718B (zh) 通过图像文件的块间差异提高压缩率的方法及系统
CN104704825A (zh) 分段图像数据的无损压缩
GB2579568A (en) Encoding data arrays
GB2561152A (en) Data processing systems
CN110971904B (zh) 一种图像压缩的控制方法
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
CN115662346B (zh) Demura补偿值压缩方法和系统
US20200372320A1 (en) Computing system and compressing method for neural network parameters
CN111510716A (zh) 通过图像文件的像素变换提高压缩率的方法和系统
US10559093B2 (en) Selecting encoding options
US9819969B2 (en) Generalization of methods and systems for image compression while encoding at least one extra bit
CN115102934A (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
CN113766319A (zh) 图像信息处理方法及装置、存储介质
US10841405B1 (en) Data compression of table rows
CN110933444B (zh) 位宽值存储方法和装置
CN110933413A (zh) 视频帧处理方法和装置
CN110933442B (zh) 16*4级参考帧压缩方法和装置
Kamal et al. Iteration free fractal compression using genetic algorithm for still colour images
CN116828184B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN111275184B (zh) 一种实现神经网络压缩的方法、系统、装置和存储介质
CN116170599B (zh) 一种同步实时图像压缩方法、系统、介质及终端

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518101 District D and E, 7th Floor, Building 3, Tingwei Industrial Park, 6 Liufang Road, Xin'an Street, Baoan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Aixiesheng Technology Co.,Ltd.

Address before: 518101 District D and E, 7th Floor, Building 3, Tingwei Industrial Park, 6 Liufang Road, Xin'an Street, Baoan District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN AIXIESHENG TECHNOLOGY Co.,Ltd.