CN111010574A - 图像压缩方法、装置和电子设备 - Google Patents

图像压缩方法、装置和电子设备 Download PDF

Info

Publication number
CN111010574A
CN111010574A CN201911288638.9A CN201911288638A CN111010574A CN 111010574 A CN111010574 A CN 111010574A CN 201911288638 A CN201911288638 A CN 201911288638A CN 111010574 A CN111010574 A CN 111010574A
Authority
CN
China
Prior art keywords
partition
pixel
value
image
compressed
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.)
Granted
Application number
CN201911288638.9A
Other languages
English (en)
Other versions
CN111010574B (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.)
Chip Wealth Technology Ltd
Original Assignee
Chip Wealth Technology 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 Chip Wealth Technology Ltd filed Critical Chip Wealth Technology Ltd
Priority to CN201911288638.9A priority Critical patent/CN111010574B/zh
Publication of CN111010574A publication Critical patent/CN111010574A/zh
Application granted granted Critical
Publication of CN111010574B publication Critical patent/CN111010574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/17Methods 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/176Methods 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

Landscapes

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

Abstract

本发明提供了一种图像压缩方法、装置和电子设备,其中,该方法包括:获取待压缩图像;根据预设分块尺寸对该待压缩图像进行分块,得到多个分块数据;对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;基于索引值和待压缩图像,确定每个分区的像素均值;针对每个分区的像素均值进行量化压缩,得到压缩图像。该方式能够对图像数据进行压缩,以减少图像数据的存储空间,同时在一定程度上也减少了存储硬件的数量,进而降低了数据存储成本。

Description

图像压缩方法、装置和电子设备
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种图像压缩方法、装置和电子设备。
背景技术
随着显示技术的不断发展和进步,显示设备的分辨率不断提高,图像的数据内容也随之增大,导致硬件设备所需的存储空间增多,从而所需的存储部件增加,同时增加了硬件成本。
发明内容
本发明的目的在于提供一种图像压缩方法、装置和电子设备,以降低图像数据的存储空间,同时减少硬件成本。
第一方面,本发明实施例提供一种图像压缩方法,该方法包括:获取待压缩图像;根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据;对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;基于索引值和待压缩图像,确定每个分区的像素均值;针对每个分区的像素均值进行量化压缩,得到压缩图像。
在可选的实施方式中,上述预设分块尺寸,通过下述方式确定:根据预设的固定压缩倍率、预设压缩效果和存储待压缩图像的硬件资源,确定预设分块尺寸。
在可选的实施方式中,上述对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值的步骤,包括:提取分块数据中每个像素点对应的像素值;根据每个像素点对应的像素值,对分块数据进行分区;根据分区结果,确定每个像素点对应的索引值。
在可选的实施方式中,上述分区的数量至少为两个;上述根据每个像素点对应的像素值,对分块数据进行分区的步骤,包括:从分块数据中任选一个像素点作为初始采样点,分别计算初始采样点与分块数据中除初始采样点之外的像素点的距离,得到第一矩阵;选择第一矩阵中最大距离值对应的像素点为第二采样点,分别计算第二采样点与分块数据中除第二采样点之外的像素点的距离,得到第二矩阵;比较第一矩阵和第二矩阵中的距离值,确定第一分区和第二分区;当分区数量大于两个时,根据第一矩阵和第二矩阵中得到的比较矩阵,确定当前采样点;分别计算当前采样点与分块数据中除当前采样点之外的像素点的距离,得到采样矩阵;根据采样矩阵和比较矩阵对分块数据进行分区,直到分区的数量满足预设分区数量。
在可选的实施方式中,上述基于索引值和待压缩图像,确定每个分区的像素均值的步骤,包括:针对每个所分区,根据当前分区的每个像素点在所待压缩图像中对应的像素值,确定当前分区的像素均值;针对每个分块数据,根据当前分块数据对应的每个分区的像素均值,计算当前分块数据对应的总均值;根据每个分区的像素均值和所总均值,更新所分区中的索引值,以及索引值对应的像素均值。
在可选的实施方式中,上述根据每个分区的像素均值和总均值,更新分区中的索引值,以及索引值对应的像素均值的步骤,包括:计算每个分区的像素均值与总均值的差值;将差值最小的像素均值对应的所分区确定为指定分区;将指定分区的索引值和均值与第一分区的索引值和像素均值互换。
在可选的实施方式中,上述针对每个分区的像素均值进行量化压缩的步骤,包括:计算上述分区中第一分区的像素均值与除第一分区以外的分区的像素均值的差值的绝对值;根据差值的绝对值,确定每个所分区对应的存储模式;根据存储模式对应的量化规则,对像素均值进行量化压缩。
在可选的实施方式中,上述方法还包括:对压缩图像进行反量化处理,得到每个分区对应的像素值;将像素值赋予给分区中的像素点,得到待压缩图像。
第二方面,本发明实施例提供一种图像压缩装置,该装置包括:图像获取模块,用于获取待压缩图像;分块模块,用于根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据;索引值确定模块,用于对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;均值确定模块,用于基于索引值和待压缩图像,确定每个分区的像素均值;量化模块,用于针对每个分区的像素均值进行量化压缩,得到压缩图像。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的图像压缩方法。
本发明实施例带来了以下有益效果:
本发明提供了一种图像压缩方法、装置和电子设备,首先获取待压缩图像;进而根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据;再对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;基于该索引值和待压缩图像,确定每个分区的像素均值;针对每个分区的像素均值进行量化压缩,得到压缩图像。该方式能够对图像数据进行压缩,以减少图像数据的存储空间,同时在一定程度上也减少了存储硬件的数量,进而降低了数据存储成本。
发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图像压缩方法的流程图;
图2为本发明实施例提供的另一种图像压缩方法的流程图;
图3为本发明实施例提供的一种图像压缩装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有技术中显示设备的分辨率不断提高,存储图片所需的存储空间越来越大的问题,本发明实施例提供了一种图像压缩方法、装置和电子设备,该技术可以应用图像压缩、图像解压等场景中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种图像压缩方法进行详细介绍,如图1所示;该方法包括如下具体步骤:
步骤S102,获取待压缩图像。
上述待压缩图像可以是通过摄像机拍摄照片,可以是从网络上下载的高清图像,也可以是视频中的视频帧等。
步骤S104,根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据。
上述预设分块尺寸,通过可以通过下述方式确定:根据预设的固定压缩倍率、预设压缩效果和存储待压缩图像的硬件资源,确定预设分块尺寸。
上述预设的固定压缩倍率可以根据用户需求设定,例如可以设定为三倍率、五倍率等。上述预设的压缩效果可以通过PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)和肉眼视觉效果进行评判,通常PSNR越高,失真越小,压缩效果越好,一般来说,切块越大,压缩效果越好;而对于存储待压缩图像的硬件资源来说,切块越大,所需的硬件资源也会变大,因此需要根据固定压缩倍率综合考虑压缩效果和硬件资源消耗,以选取折中的切块方式,例如,三倍压缩一般采用2×4或1×8的切块。
对于待压缩图像,依次将其按照预设分块尺寸进行切块,得到多个分块数据,在分块的过程中需要读取待压缩图像对应的数据,以便于后续对分块数据中的数据进行独立压缩;该分块数据的数量通常与待压缩图像的大小以及预设分块尺寸有关。
步骤S106,对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值。
上述分区的数量可以是用户按照预设分块尺寸确定的,例如,预设分块尺寸为2×4,可以将分块数据分成8个区域,此时可以对个8个区域进行分区,但是分区的数量通常小于8,可以设置为4分区或者2分区等。
将待压缩图像对应的每个分块数据进行分区,可以得到多个分区。通常统一个分区中的像素点对应的索引值相同,在具体实现时,根据分块数据中的每个像素点的像素值,可以对分块数据进行分区,并得到每个分区对应的索引值。该索引值可以用数字或者字符串表示。
步骤S108,基于上述索引值和待压缩图像,确定每个分区的像素均值。
在具体实现时,根据每个分区对应的索引值,以及该分区的像素点在待压缩图像中的像素值,可以得到每个分区的像素均值,通常求解每个分区中所有像素点对应的像素值的平均值,可以得到初始均值,然后基于一个分块数据中的每个分区对应的初始均值,计算总平均值;然后根据总平均值调整与初始平均值,调整分区对应的索引值和初始均值,以确定每个分区的像素均值。
步骤S110,针对每个分区的像素均值进行量化压缩,得到压缩图像。
在具体实现时,可以预设设置量化方式,以通过该量化方式对每个分区的像素均值进行量化压缩,该量化方式中通常包含有每个像素均值对应的量化值,通过将该像素均值转化为量化值可以实现图像的压缩。
本发明提供了一种图像压缩方法,首先获取待压缩图像;进而根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据;再对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;基于该索引值和待压缩图像,确定每个分区的像素均值;针对每个分区的像素均值进行量化压缩,得到压缩图像。该方式能够对图像数据进行压缩,以减少图像数据的存储空间,同时在一定程度上也减少了存储硬件的数量,进而降低了数据存储成本。
本发明实施例还提供了另一种图像压缩方法,该方法在上述实施例方法的基础上实现;该方法重点描述对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值的具体过程(如下述步骤S206-S210),以及基于上述索引值和待压缩图像,确定每个分区的像素均值的具体过程;如图2所示;该方法包括如下具体步骤:
步骤S202,获取待压缩图像。
步骤S204,根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据。
步骤S206,提取上述分块数据中每个像素点对应的像素值。
在具体实现时,可以根据分块数据对应的待压缩数据中的每个像素点对应的像素值,分块数据对应的像素值。
步骤S208,根据每个像素点对应的像素值,对分块数据进行分区。
可以根据每个分块数据中像素点对应的像素值的大小,确定该像素值所属分区,分区的数量通常至少为两个。在具体实现时,如果分区数量为两个,上述步骤S208可以通过下述方式步骤10-12实现:
步骤10,从分块数据中任选一个像素点作为初始采样点,分别计算该初始采样点与分块数据中除初始采样点之外的像素点的距离,得到第一矩阵。
将初始采样点对应的像素值和分块数据中除初始采样点之外的像素点的像素值的差值的绝对值,可以确定初始采样点与其他像素点的距离,按照分块数据中每个像素点的位置,得到差值的绝对值在第一矩阵中的位置,其中初始采样点的位置上的数值设置为0。
步骤11,选择上述第一矩阵中最大距离值对应的像素点为第二采样点,分别计算第二采样点与分块数据中除第二采样点之外的像素点的距离,得到第二矩阵。
上述最大距离值也即是第一矩阵中的最大值,当第一矩阵中的最大值对应有多个时,按照从左到右,从上到下的顺序确定第二采样点。
步骤12,比较第一矩阵和第二矩阵中的距离值,确定第一分区和第二分区。
在具体实现时,可以将第一矩阵与第二矩阵中对应位置上的距离值进行比较,如果第一矩阵中的距离值小于或者等于第二矩阵中对应位置的距离值,将该距离值对应像素点的索引值设置为第一数值;如果第一矩阵中的距离值大于第二矩阵中对应位置的距离值,将该距离值对应的像素点的索引值设置为第二数值,上述第一数值和第二数值可以为数字或者二进制数,例如,00、01等。通常将第一数值对应的像素点确定为第一分区,将第二数值对应的像素点确定为第二分区。
在具体实现时,如果分区数量为两个,在上述步骤10-12的基础上,还需要经过下述步骤20-22对上述第一分区和第二分区进行分区:
步骤20,根据第一矩阵和第二矩阵中得到的比较矩阵,确定当前采样点。该比较矩阵中的每个位置对应的数值通常为:第一矩阵和第二矩阵的对应位置上的较小距离值。通常将比较矩阵中最大数值对应的像素点确定为当前采样点,如果最大数值存在多个按照从左到右,从上到下的顺序确定。
步骤21,分别计算当前采样点与分块数据中除当前采样点之外的像素点的距离,得到采样矩阵。该采样矩阵的计算方法与上述第一矩阵的计算方法相同。
步骤22,根据采样矩阵和比较矩阵对分块数据进行分区,直到分区的数量满足预设分区数量。
比较采样矩阵和比较矩阵中的距离值,确定第一分区、第二分区和第三分区,也即是将采样矩阵和比较矩阵中对应位置上的距离值进行比较,如果比较矩阵中的距离值小于或者等于采样矩阵中对应位置的距离值,将该距离值对应像素点的索引值更新为第三数值;如果比较矩阵中的距离值大于采样矩阵中对应位置的距离值,保留该距离值对应像素点的索引值。通常将第一数值对应的像素点确定为第一分区,将第二数值对应的像素点确定为第二分区,将第三数值对应的像素点确定为第三分区。
如果分块数量为四个,需要根据采样矩阵和第二矩阵,得到新的比较矩阵,将第二比较矩阵中数值最大的像素点确定为当前采样点,继续执行步骤21,得到新的采样矩阵,如果新的比较矩阵中的距离值小于或者等于新的采样矩阵中对应位置的距离值,将该距离值对应像素点的索引值更新为第四数值;如果比较矩阵中的距离值大于采样矩阵中对应位置的距离值,保留该距离值对应像素点的索引值。通常将第一数值对应的像素点确定为第一分区,将第二数值对应的像素点确定为第二分区,将第三数值对应的像素点确定为第三分区,将第四数值对应的像素点确定为第四分区。依照上述方法,可以得到多个分区。
步骤S210,根据分区结果,确定每个像素点对应的索引值。也即是将每个分区对应的数值,确定为该分区上每个像素点对应的索引值。
步骤S212,针对每个分区,根据当前分区的每个像素点在待压缩图像中对应的像素值,确定当前分区的像素均值。
将当前分区的像素点对应的像素值相加,然后除以该当前分区像素点总数,可以得到当前分区的像素均值。
步骤S214,针对每个分块数据,根据当前分块数据对应的每个分区的像素均值,计算当前分块数据对应的总均值。
提取出每个分块数据对应的所有分区的像素均值,将所有分区的像素均值相加在求平均,可以得到每个分块数据对应的总均值。
步骤S216,根据每个分区的像素均值和总均值,更新分区中的索引值,以及索引值对应的像素均值。
在具体实现时,上述步骤S216可以通过下述步骤30-32实现:
步骤30,计算每个分区的像素均值与总均值的差值。针对每个分块数据,需要分别计算当前分块数据中的所有分区的像素均值与总均值的差值。
步骤31,将差值最小的像素均值对应的分区确定为指定分区。
步骤32,将指定分区的索引值和均值与第一分区的索引值和像素均值互换。也即是将指定分区的索引值更新为第一分区对应的索引值,将第一分区的索引值更新为指定分区的索引值,同时将指定分区对应的像素均值更新为第一分区对应的像素均值,将第一分区对应的像素均值更新为指定分区对应的像素均值。
步骤S218,计算上述分区中第一分区的像素均值与除第一分区以外的分区的像素均值的差值的绝对值。
步骤S220,根据上述差值的绝对值,确定每个分区对应的存储模式。
上述存储模式通常预先设置好的,为了尽可能缩小量化带来的损失,通常预先设置有多种存储模式,且每种存储模式中通常包含有每个像素均值对应的量化值。可以根据上述差值的绝对值确定相应的存储模式,例如,假设预先设置有四种存储模式,首先分别计算第一分区的像素均值与其他分区的像素均值的差值的绝对值,其中差值的绝对值的最大值记为max_diff,若max_diff小于或等于第一阈值,则采用存储模式11进行量化存储,若max_diff小于或等于第二阈值,则采用存储模式10进行量化存储,若max_diff小于或等于第三阈值,则采用存储模式01进行量化存储,否则,采用存储模式00进行量化存储;其中,上述第一阈值小于第二阈值,第二阈值小于第三阈值。
步骤S222,根据上述存储模式对应的量化规则,对像素均值进行量化压缩。
在具体实现时,采用压缩倍率为1/3、预设切块尺寸为2×4的方式切块,对于每个2×4的切块数据,切块数据的比特数为2×4×8×3=192bit,存储模型为64bit,分为索引值、存储模式以及量化存储。其中,每个像素有一个索引值,索引值为2bit(00~11),分别指向四个存储值;存储模式为N bit(N>=0,且为整数),分别对应2^N种不同的存储方式,用于控制量化存储值的量化及存储方式;以及(48-N)bit量化存储值,根据存储模式进行相应的数据量化及存储。
在一些实施例中,当待压缩图像为RGB(RedGreenBlue,红绿蓝)图像,设置存储模式为N bit(N>=0,且为整数),用于控制存储的模式以及红绿蓝分量的量化存储方式,通常设置红色分量的量化存储比特数为X bit,绿色分量的量化存储比特数为Y bit,蓝色分量的量化存储比特数为Z bit,红绿蓝分量的量化存储比特数可任意分配。
针对于RGB图像,切块尺寸设置为2×4,分区数量为4分区时,可以通过上述步骤S206-S210,分别计算每个分区的每个像素的索引值,分别为00、01、10、11然后通过上述步骤S212-S216,针对每个分区,分别计算红色分量、绿色分量和蓝色分量对应的像素均值,针对每个分量,计算第一分区的像素均值与除第一分区以外的分区的像素均值的差值的绝对值,并根据三个分量中差值的绝对值的最大值确定存储模式。
为了方便理解,下面介绍了四种存储模式的具体存储方式:第一种存储模式的存储结构如下表1所示,其中存储模式的标识(00~11)占用2bit,46bit用于存储量化数据,对于第一种存储模式,四个索引值对应的分区均值都独立进行量化存储,其中索引值为00的分区的红、绿、蓝分量对应的像素均值分别采用4bit、4bit、4bit的量化方式,索引值为01的分区的红、绿、蓝分量对应的像素均值分别采用4bit、4bit、4bit的量化方式,索引值为10的分区的红、绿、蓝分量对应的像素均值分别采用4bit、4bit、3bit的量化方式,索引值为11的分区的红、绿、蓝分量对应的像素均值分别采用4bit、4bit、3bit的量化方式。表2为第一种存储模式中4bit量化方式的对应关系表;表3为第一种存储模式中3bit量化方式的对应关系表,通过表2和表3中的对应关系表,可以对每个分量上的像素均值进行量化,得到压缩值。
表1
Figure BDA0002316399890000121
表2
量化值 像素均值
0000 0~15
0001 16~31
0010 32~47
0011 48~63
0100 64~79
0101 80~95
0110 96~111
0111 112~127
1000 128~143
1001 144~159
1010 160~175
1011 176~191
1100 192~207
1101 208~223
1110 224~239
1111 240~255
表3
量化值 像素均值
000 0~31
001 32~63
010 64~95
011 96~127
100 128~159
101 160~191
110 191~223
111 224~255
第二种存储模式的存储结构如下表4所示,其中存储模式的标识占用2bit,46bit用于存储量化数据,对于第二种存储模式,索引值为00的分区像素均值独立进行量化存储,红、绿、蓝分量对应的像素均值分别量化成5bit、5bit、5bit,对于索引值为01、10、11的分区,存储与索引值为00分区的差值,并对差值进行量化,其中索引值为01的分区的红、绿、蓝分量对应的差值采用4bit、4bit、3bit的量化方式,索引值为10的分区的红、绿、蓝分量对应的差值采用3bit、4bit、3bit的量化方式,索引值为11的分区的红、绿、蓝分量对应的差值采用3bit、4bit、3bit的量化方式。
表4
Figure BDA0002316399890000131
第三种存储模式的存储结构如下表5所示,其中存储模式的标识占用2bit,46bit用于存储量化数据,索引值为00的分区均值独立进行量化存储,红、绿、蓝分量对应的像素均值分别量化成6bit、6bit、6bit,对于索引值为01、10、11的分区,存储与索引值为00分区的差值,并对差值进行量化,其中索引值为01的分区的红、绿、蓝分量对应的差值采用3bit、4bit、3bit的量化方式,索引值为10的分区的红、绿、蓝分量对应的采用3bit、3bit、3bit的量化方式,索引值为11的分区的红绿蓝红、绿、蓝分量对应的差值采用3bit、3bit、3bit的量化方式。
表5
Figure BDA0002316399890000141
第四种存储模式的存储结构如下表6所示,其中存储模式的标识占2bit,存储量化数据占46bit,索引值为00的分区的红、绿、蓝分量的像素均值分别量化成7bit、7bit、7bit,对于索引值为01、10、11的分区,存储与索引值为00分区的差值,并对差值进行量化,其中索引值为01的分区的红、绿、蓝分量对应的差值采用3bit、3bit、3bit的量化方式,索引值为10的分区的红、绿、蓝分量对应的差值采用3bit、3bit、2bit的量化方式,索引值为11的分区的红、绿、蓝分量对应的差值采用3bit、3bit、2bit的量化方式。
表6
Figure BDA0002316399890000142
在具体实现时,在上述图像压缩方法的基础上,还提供了一种图像解压方法,解压方法通过下述步骤40-41实现:
步骤40,对压缩图像进行反量化处理,得到每个分区对应的像素值。
步骤41,将上述像素值赋予给分区中的像素点,得到待压缩图像。
首先读取压缩图像对应的每个切块数据,先取出切块数据中的存储模式和各索引值对应的量化存储值,根据存储模式将量化存储值进行反量化,得到各索引值所对应的像素均值,然后依次读取每个像素的索引值,将索引值指向的像素均值对应的像素值赋给该像素点,得到最终的解压缩数据(相当于上述待压缩图像)。
上述图像压缩方法,可以适用于任何固定倍率的图像数据的压缩和解压缩,该方式可以有效的较少图像数据的存储空间,有利于后续图像数据的传输和使用。
对应于上述图像压缩方法,本发明实施例还提供了一种图像压缩装置;如图3所示,该装置包括:
图像获取模块30,用于获取待压缩图像。
分块模块31,用于根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据。
索引值确定模块32,用于对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值。
均值确定模块33,用于基于索引值和待压缩图像,确定每个分区的像素均值。
量化模块34,用于针对每个分区的像素均值进行量化压缩,得到压缩图像。
上述图像压缩装置,首先获取待压缩图像;进而根据预设分块尺寸对待压缩图像进行分块,得到多个分块数据;再对每个分块数据进行分区,得到每个分区中每个像素点对应的索引值;基于该索引值和待压缩图像,确定每个分区的像素均值;针对每个分区的像素均值进行量化压缩,得到压缩图像。该方式能够对图像数据进行压缩,以减少图像数据的存储空间,同时在一定程度上也减少了存储硬件的数量,进而降低了数据存储成本。
具体地,上述预设分块尺寸,通过下述方式确定:根据预设的固定压缩倍率、预设压缩效果和存储待压缩图像的硬件资源,确定预设分块尺寸。
进一步地,上述索引值确定模块32,用于:提取分块数据中每个像素点对应的像素值;根据每个像素点对应的像素值,对分块数据进行分区;根据分区结果,确定每个像素点对应的索引值。
在具体实现时,上述分区的数量至少为两个;上述索引值确定模块32,还用于:从分块数据中任选一个像素点作为初始采样点,分别计算初始采样点与分块数据中除初始采样点之外的像素点的距离,得到第一矩阵;选择第一矩阵中最大距离值对应的像素点为第二采样点,分别计算第二采样点与分块数据中除第二采样点之外的像素点的距离,得到第二矩阵;比较第一矩阵和第二矩阵中的距离值,确定第一分区和第二分区;当分区数量大于两个时,根据第一矩阵和第二矩阵中得到的比较矩阵,确定当前采样点;分别计算当前采样点与分块数据中除当前采样点之外的像素点的距离,得到采样矩阵;根据采样矩阵和比较矩阵对分块数据进行分区,直到分区的数量满足预设分区数量。
进一步地,上述均值确定模块33,用于:针对每个分区,根据当前分区的每个像素点在待压缩图像中对应的像素值,确定当前分区的像素均值;针对每个分块数据,根据当前分块数据对应的每个分区的像素均值,计算当前分块数据对应的总均值;根据每个分区的像素均值和总均值,更新分区中的索引值,以及索引值对应的像素均值。
在具体实现时,上述均值确定模块33,还用于:计算每个分区的像素均值与总均值的差值;将差值最小的像素均值对应的分区确定为指定分区;将指定分区的索引值和均值与第一分区的所述索引值和均值互换。
进一步地,上述量化模块34,用于:计算上述分区中第一分区的像素均值与除第一分区以外的分区的像素均值的差值的绝对值;根据差值的绝对值,确定每个分区对应的存储模式;根据存储模式对应的量化规则,对像素均值进行量化压缩。
具体地,上述装置还包括解压模块,用于:对压缩图像进行反量化处理,得到每个分区对应的像素值;将像素值赋予给分区中的像素点,得到待压缩图像。
本发明实施例所提供的图像压缩装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,参见图4所示,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器101执行机器可执行指令以实现上述图像压缩方法。
进一步地,图4所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述图像压缩方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和/或电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种图像压缩方法,其特征在于,所述方法包括:
获取待压缩图像;
根据预设分块尺寸对所述待压缩图像进行分块,得到多个分块数据;
对每个所述分块数据进行分区,得到每个分区中每个像素点对应的索引值;
基于所述索引值和所述待压缩图像,确定每个所述分区的像素均值;
针对每个所述分区的像素均值进行量化压缩,得到压缩图像。
2.根据权利要求1所述的方法,其特征在于,所述预设分块尺寸,通过下述方式确定:
根据预设的固定压缩倍率、预设压缩效果和存储所述待压缩图像的硬件资源,确定所述预设分块尺寸。
3.根据权利要求1所述的方法,其特征在于,所述对每个所述分块数据进行分区,得到每个分区中每个像素点对应的索引值的步骤,包括:
提取所述分块数据中每个像素点对应的像素值;
根据每个所述像素点对应的像素值,对所述分块数据进行分区;
根据分区结果,确定每个所述像素点对应的索引值。
4.根据权利要求3所述的方法,其特征在于,所述分区的数量至少为两个;所述根据每个所述像素点对应的像素值,对所述分块数据进行分区的步骤,包括:
从所述分块数据中任选一个像素点作为初始采样点,分别计算所述初始采样点与所述分块数据中除所述初始采样点之外的像素点的距离,得到第一矩阵;
选择所述第一矩阵中最大距离值对应的像素点为第二采样点,分别计算所述第二采样点与所述分块数据中除所述第二采样点之外的像素点的距离,得到第二矩阵;
比较所述第一矩阵和所述第二矩阵中的距离值,确定第一分区和第二分区;
当所述分区的数量大于两个时,根据所述第一矩阵和所述第二矩阵中得到的比较矩阵,确定当前采样点;
分别计算所述当前采样点与所述分块数据中除所述当前采样点之外的像素点的距离,得到采样矩阵;
根据所述采样矩阵和比较矩阵对所述分块数据进行分区,直到所述分区的数量满足预设分区数量。
5.根据权利要求1所述的方法,其特征在于,所述基于所述索引值和所述待压缩图像,确定每个所述分区的像素均值的步骤,包括:
针对每个所述分区,根据当前分区的每个像素点在所述待压缩图像中对应的像素值,确定所述当前分区的像素均值;
针对每个分块数据,根据当前分块数据对应的每个所述分区的像素均值,计算所述当前分块数据对应的总均值;
根据每个所述分区的像素均值和所述总均值,更新所述分区中的索引值,以及所述索引值对应的像素均值。
6.根据权利要求5所述的方法,其特征在于,所述根据每个所述分区的像素均值和所述总均值,更新所述分区中的索引值,以及所述索引值对应的像素均值的步骤,包括:
计算每个所述分区的像素均值与所述总均值的差值;
将所述差值最小的像素均值对应的所述分区确定为指定分区;
将所述指定分区的所述索引值和均值与第一分区的所述索引值和所述像素均值互换。
7.根据权利要求1所述的方法,其特征在于,所述针对每个所述分区的像素均值进行量化压缩的步骤,包括:
计算所述分区中第一分区的像素均值与除所述第一分区以外的分区的像素均值的差值的绝对值;
根据所述差值的绝对值,确定每个所述分区对应的存储模式;
根据所述存储模式对应的量化规则,对所述像素均值进行量化压缩。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述压缩图像进行反量化处理,得到每个分区对应的像素值;
将所述像素值赋予给所述分区中的像素点,得到所述待压缩图像。
9.一种图像压缩装置,其特征在于,所述装置包括:
图像获取模块,用于获取待压缩图像;
分块模块,用于根据预设分块尺寸对所述待压缩图像进行分块,得到多个分块数据;
索引值确定模块,用于对每个所述分块数据进行分区,得到每个分区中每个像素点对应的索引值;
均值确定模块,用于基于所述索引值和所述待压缩图像,确定每个所述分区的像素均值;
量化模块,用于针对每个所述分区的像素均值进行量化压缩,得到压缩图像。
10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-8任一项所述的图像压缩方法。
CN201911288638.9A 2019-12-13 2019-12-13 图像压缩方法、装置和电子设备 Active CN111010574B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911288638.9A CN111010574B (zh) 2019-12-13 2019-12-13 图像压缩方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911288638.9A CN111010574B (zh) 2019-12-13 2019-12-13 图像压缩方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN111010574A true CN111010574A (zh) 2020-04-14
CN111010574B CN111010574B (zh) 2022-02-01

Family

ID=70115328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911288638.9A Active CN111010574B (zh) 2019-12-13 2019-12-13 图像压缩方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN111010574B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683254A (zh) * 2020-06-24 2020-09-18 湖南国科微电子股份有限公司 一种图像压缩方法、装置及电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310211A (zh) * 2013-04-26 2013-09-18 四川大学 一种基于图像处理的填注标记识别方法
US20160050440A1 (en) * 2014-08-15 2016-02-18 Ying Liu Low-complexity depth map encoder with quad-tree partitioned compressed sensing
CN105407352A (zh) * 2015-11-23 2016-03-16 小米科技有限责任公司 图像压缩方法、装置及服务器
CN106658004A (zh) * 2016-11-24 2017-05-10 浙江大学 一种基于图像平坦区域特征的压缩方法和装置
CN106941609A (zh) * 2017-02-15 2017-07-11 浙江工业大学 基于自适应分块压缩感知的视频压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310211A (zh) * 2013-04-26 2013-09-18 四川大学 一种基于图像处理的填注标记识别方法
US20160050440A1 (en) * 2014-08-15 2016-02-18 Ying Liu Low-complexity depth map encoder with quad-tree partitioned compressed sensing
CN105407352A (zh) * 2015-11-23 2016-03-16 小米科技有限责任公司 图像压缩方法、装置及服务器
CN106658004A (zh) * 2016-11-24 2017-05-10 浙江大学 一种基于图像平坦区域特征的压缩方法和装置
CN106941609A (zh) * 2017-02-15 2017-07-11 浙江工业大学 基于自适应分块压缩感知的视频压缩方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111683254A (zh) * 2020-06-24 2020-09-18 湖南国科微电子股份有限公司 一种图像压缩方法、装置及电子设备和存储介质
CN111683254B (zh) * 2020-06-24 2022-03-25 湖南国科微电子股份有限公司 一种图像压缩方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN111010574B (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
KR101240450B1 (ko) 필름 그레인 시뮬레이션에 대한 블록 평균치를 결정하기위한 방법
CN111131828B (zh) 一种图像压缩方法、装置、电子设备和存储介质
CN113068034B (zh) 视频编码方法及装置、编码器、设备、存储介质
CN110278443B (zh) 划分标志位的上下文建模方法及装置
CN111818332A (zh) 一种适用于vvc标准的帧内预测划分判决的快速算法
CN111010574B (zh) 图像压缩方法、装置和电子设备
CN114339305B (zh) 一种虚拟桌面图像处理方法及相关装置
CN111405294A (zh) 一种图像栅格数据的存储及传输方法
CN108765289B (zh) 一种数字图像的抽取拼接及还原填充方法
CN111179370A (zh) 一种图片生成方法、装置、电子设备及存储介质
CN112437307B (zh) 一种视频编码方法、装置、电子设备及介质
US20240104784A1 (en) Entropy encoding method and apparatus, and entropy decoding method and apparatus
CN110213595B (zh) 基于帧内预测的编码方法、图像处理设备和存储装置
CN113691811B (zh) 编码块划分方法、装置、系统及存储介质
CN107172425B (zh) 缩略图生成方法、装置及终端设备
CN108476320A (zh) 编码方法、解码方法以及编码装置和解码装置
CN108933945B (zh) 一种gif图片的压缩方法、装置及存储介质
CN111988612A (zh) 一种视频编码处理方法、装置及电子设备
CN108429910B (zh) 图像压缩方法
CN114296643B (zh) 一种数据处理方法及装置
CN108200433A (zh) 一种图像压缩和解压缩方法
CN116347089B (zh) Jpeg图像处理方法及其装置、电子设备、存储介质
CN112383774B (zh) 编码方法、编码器以及服务器
US8983212B2 (en) Method for image data compression of image block
CN111787334B (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
GR01 Patent grant
GR01 Patent grant