CN116405676A - 一种rgb565图像固定压缩比快速压缩方法 - Google Patents
一种rgb565图像固定压缩比快速压缩方法 Download PDFInfo
- Publication number
- CN116405676A CN116405676A CN202310394009.4A CN202310394009A CN116405676A CN 116405676 A CN116405676 A CN 116405676A CN 202310394009 A CN202310394009 A CN 202310394009A CN 116405676 A CN116405676 A CN 116405676A
- Authority
- CN
- China
- Prior art keywords
- endpoint
- pixels
- coding
- pixel
- minimum
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000007906 compression Methods 0.000 title claims abstract description 50
- 230000006835 compression Effects 0.000 title claims abstract description 50
- 238000005192 partition Methods 0.000 claims description 37
- 238000009826 distribution Methods 0.000 claims description 15
- 239000003086 colorant Substances 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 238000007619 statistical method Methods 0.000 claims description 4
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Color Television Systems (AREA)
Abstract
本公开实施例中提供了一种RGB565图像固定压缩比快速压缩方法,属于图像处理技术领域,具体包括:步骤1,将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块;步骤2,对每个基本块进行预编码,计算每个基本块用不同的编码方法重建后与其对应的原始值的绝对值误差以及每个基本块的码流参数,其中,所述编码方法包括mode1方法和mode5方法;步骤3,选取每个基本块绝对值误差最小的编码方法并根据其对应的码流参数对其进行压缩编码,得到多个编码块;步骤4,将全部编码块保存为压缩码流文件。通过本公开的方案,实现了固定压缩比快速压缩,并且提升压缩编码后的视觉质量。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种RGB565图像固定压缩比快速压缩方法。
背景技术
RGB565图像是一类特殊的静止图像,即每个像素点的数据为2个字节共16位。其中,高5位为R分量,中间6位为G分量,低5位为B分量。RGB565图像既可以直接采集得到,也可以从采集的RGB888图像经过格式转换得到。RGB565可以用于对于视觉质量相对较低的信息家电、智能手表等产品。然而,尽管相对于RGB888图像,RGB565图像在相同空间分辨率的条件下其因为颜色深度减少而数据量更少,但为了节省存储空间和产品成本,仍然有数据压缩的需要。此外,智能手表等应用通常要求具有随机访问,即局部刷新/开窗的能力。因此,RGB565图像压缩编码还需要以分块为单位独立进行编码,并且具有固定的压缩比。
然而,目前静止图像压缩编码通常采用的是JPEG(联合图像专家组,一种静止图像压缩编码算法)系列标准。它们总体上采用离散余弦变换+量化+游程编码+霍夫曼编码(或算术编码)的框架,并且是重点针对RGB888图像提出的。由于量化等有损操作,图像编码后的视觉质量存在块效应等,并且难以实现分块级的固定压缩比。
可见,亟需一种适用于信息家电和智能手表等应用的RGB565图像压缩方法,以支持局部刷新/开窗操作,和以分块为单位的固定压缩比,并且具有编码后视觉质量好、计算复杂度低的优势。
发明内容
有鉴于此,本公开实施例提供一种RGB565图像固定压缩比快速压缩方法。它在RGB颜色空间,以4×4图像块为基本编码单元进行3:1压缩,不需要参考任何相邻的像素,计算复杂度较低。它的基本编码思路是利用块内邻近像素的相关性,采用“端点像素+插值索引+共享P位”方法进行压缩。其中,端点像素是指在每个4×4块的16个像素中选取最有代表性的像素;插值索引是指利用端点像素,通过插值生成一些其他颜色,并且存储为索引表;共享P位是指端点像素RGB颜色通道可同时进行编码精度补位的标志位。它的优势在于:对于RGB565图像,可以实现以任意4×4图像块为单位的固定3:1压缩比的纹理压缩,即支持4×4块的/局部开窗刷新操作。此外,由于没有采用变换编码和量化等有损操作,图像编码后的质量好,并且计算复杂度较低。
本公开实施例提供了一种RGB565图像固定压缩比快速压缩方法,包括:
步骤1,将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块;
步骤2,对每个基本块进行预编码,计算每个基本块用不同的编码方法重建后与其对应的原始值的绝对值误差以及每个基本块的码流参数,其中,所述编码方法包括mode1方法和mode5方法;
步骤3,选取每个基本块绝对值误差最小的编码方法并根据其对应的码流参数对其进行压缩编码,得到多个编码块;
步骤4,将全部编码块保存为压缩码流文件。
根据本公开实施例的一种具体实现方式,当所述编码方法为mode1方法时,所述步骤2具体包括:
步骤2.1,将基本块划分为两个子集,并评估每个子集的分区分布可能性,得到最小失真度的目标分区分布;
步骤2.2,初始化目标分区分布的端点中值与最佳端点参数;
步骤2.3,通过迭代后的失真度确定最优端点像素对与最小失真度;
步骤2.4,利用单色表统计块内像素平均值作为全部像素的重建值,并将其与各像素差值平均和作为最小失真度进行统计,若小于迭代最小失真度,则更新单色编码为最优参数形成码流参数。
根据本公开实施例的一种具体实现方式,所述步骤2.1具体包括:
统计两个子集内RGB颜色通道最大最小值,据此计算得到各子集的4个近似插值像素,其中,所述插值像素包括插值索引序号和颜色通道;
根据最大最小颜色通道差值得到标准点和阈值,初始化总误差并分别统计子集内每个近似像素的误差值,分别比较误差值与阈值,将最小失真的近似插值像素颜色作为该像素的近似值;
分别计算各通道误差与不同分区块内全部像素的误差和,依次比较各分区的估计误差,将误差最小分区作为目标分区分布。
根据本公开实施例的一种具体实现方式,所述步骤2.2具体包括:
初始化端点中值与最佳端点参数,更新端点中值,统计最佳端点参数,统计K值与误差,初始化最大误差并更新最佳端点参数;
若基本块内所有子集像素均相同,则将所有子集像素全部编码成一个颜色像素并统计误差,得到最小误差后,更新最佳P位与端点像素值,结合P位更新端点像素值与插值像素,通过原图块内像素与插值像素进行失真度统计得到块内同色情况下的失真度,统计基本块内各颜色通道平均值,再进一步通过covar算法进行RGB主成分分析,依次输入每个块内像素,得到各通道差值;
初始化参数vfr、vfg和vfb,迭代预设次数对各通道差值参数进行更新最大差值,并更新vfr,vfg,vfb参数;
更新主轴,若主轴内积小于阈值则进行归一化,选择主轴上投影最大的两个端点颜色,依次遍历16个像素更新最值,依次更新得到端点像素对minColor和maxColor,若minColor端点大于maxColor端点,则交换两个端点颜色对;
根据端点像素编码精度与初始化端点参数计算得到xminColor与xmaxColor,将xminColor与xmaxColor尺寸扩展得到scaledLow与scaledHigh并统计端点像素失真度,统计得到p为0与p为1时各通道累加误差,在误差最小时,更新最佳P位与端点像素;
若得到各端点像素,P位,最小失真误差等参数不再变化时,保存各项参数,否则,继续依次更新P位与端点像素对,将端点像素quantMinColor与quantMaxColor对规整到0至255的aMinColor与aMaxColor,分别赋值给插值像素;
得到插值像素后,将总误差初始化为0,以及初始化各项差值,依次统计基本块内16个像素与各插值像素的失真度;
若总误差小于最小失真,则更新端点像素对,P位,与最小失真度,并保存各相关参数。
根据本公开实施例的一种具体实现方式,步骤2.3具体包括:
最小均方优化;
进行率失真优化确定最优端点像素对与最小失真度。
根据本公开实施例的一种具体实现方式,所述步骤2.4具体包括:
计算单色三通道参数,将单色三通道作为重建色对块内像素进行编码,得到最小失真度,对比迭代最小失真度,若小于迭代最小失真度,则更新端点像素,P位,插值索引等各类参数形成码流参数。
根据本公开实施例的一种具体实现方式,当所述编码方法为mode5方法时,所述步骤2具体包括:
根据块内像素的相似性,将基本块内所有像素全部划分为一个子集,通过统计分析得到一对颜色通道精度RGB666的端点像素,将两个端点之间的拟合直线定义为一个调色板,为子集纹素存储一个调色板索引,通过插值得到8个重建的插值像素,通过判断当前像素与插值像素的相似度确定最小失真,得到码流参数。
根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
比较基本块在预编码阶段的每种编码方式下重建值与原始像素块的绝对值误差,选择绝对值误差最小的编码方式作为当前块的最优编码方式;
将最优编码方式对应的标志字写入当前块压缩数据流的首部;
将该编码方式下待编码的语法元素写入到码流,得到每个基本块对应的编码块。
本公开实施例中的RGB565图像3:1固定压缩比快速压缩方案,包括:步骤1,将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块;步骤2,对每个基本块进行预编码,计算每个基本块用不同的编码方法重建后与其对应的原始值的绝对值误差以及每个基本块的码流参数,其中,所述编码方法包括mode1方法和mode5方法;步骤3,选取每个基本块绝对值误差最小的编码方法并根据其对应的码流参数对其进行压缩编码,得到多个编码块;步骤4,将全部编码块保存为压缩码流文件。
本公开实施例的有益效果为:通过本公开的方案,将将RGB565图像在RGB颜色空间按照4×4块进行划分,并且以4×4块为基本编码单元进行压缩编码,在实现3:1的固定压缩比的同时,保证压缩图像具有几乎视觉无损的图像质量,降低了计算成本高,提升了压缩效率和压缩后视觉质量。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种RGB565图像固定压缩比快速压缩方法的流程示意图;
图2为本公开实施例提供的一种子集为2时的划分方式示意图;
图3为本公开实施例提供的一种模式预划分端点编码流程图示意图;
图4为本公开实施例提供的一种子集像素划分拟合示意图;
图5为本公开实施例提供的一种编码流程图;
图6为本公开实施例提供的一种子集为2时,子集1锚点块内索引示意图;
图7为本公开实施例提供的一种解码流程示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种RGB565图像固定压缩比快速压缩方法,所述方法可以应用于互联网场景的数据传输或者存储过程中。
参见图1,为本公开实施例提供的一种RGB565图像固定压缩比快速压缩方法的流程示意图。如图1所示,所述方法主要包括以下步骤:
步骤1,将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块;
具体实施时,可以将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块,目前,支持的图像格式为RGB565的PNG、BMP等文件,即3个颜色通道R、G和B的颜色深度分别为5bit、6bit和5bit。具体地,各4×4块编码前后的码率如表1所示。
表1
步骤2,对每个基本块进行预编码,计算每个基本块用不同的编码方法重建后与其对应的原始值的绝对值误差以及每个基本块的码流参数,其中,所述编码方法包括mode1方法和mode5方法;
进一步的,当所述编码方法为mode1方法时,所述步骤2具体包括:
步骤2.1,将基本块划分为两个子集,并评估每个子集的分区分布可能性,得到最小失真度的目标分区分布;
步骤2.2,初始化目标分区分布的端点中值与最佳端点参数;
步骤2.3,通过迭代后的失真度确定最优端点像素对与最小失真度;
步骤2.4,利用单色表统计块内像素平均值作为全部像素的重建值,并将其与各像素差值平均和作为最小失真度进行统计,若小于迭代最小失真度,则更新单色编码为最优参数形成码流参数。
进一步的,所述步骤2.1具体包括:
统计两个子集内RGB颜色通道最大最小值,据此计算得到各子集的4个近似插值像素,其中,所述插值像素包括插值索引序号和颜色通道;
根据最大最小颜色通道差值得到标准点和阈值,初始化总误差并分别统计子集内每个近似像素的误差值,分别比较误差值与阈值,将最小失真的近似插值像素颜色作为该像素的近似值;
分别计算各通道误差与不同分区块内全部像素的误差和,依次比较各分区的估计误差,将误差最小分区作为目标分区分布。
进一步的,所述步骤2.2具体包括:
初始化端点中值与最佳端点参数,更新端点中值,统计最佳端点参数,统计K值与误差,初始化最大误差并更新最佳端点参数;
若基本块内所有子集像素均相同,则将所有子集像素全部编码成一个颜色像素并统计误差,得到最小误差后,更新最佳P位与端点像素值,结合P位更新端点像素值与插值像素,通过原图块内像素与插值像素进行失真度统计得到块内同色情况下的失真度,统计基本块内各颜色通道平均值,再进一步通过covar算法进行RGB主成分分析,依次输入每个块内像素,得到各通道差值;
初始化参数vfr、vfg和vfb,迭代预设次数对各通道差值参数进行更新最大差值,并更新vfr,vfg,vfb参数;
更新主轴,若主轴内积小于阈值则进行归一化,选择主轴上投影最大的两个端点颜色,依次遍历16个像素更新最值,依次更新得到端点像素对minColor和maxColor,若minColor端点大于maxColor端点,则交换两个端点颜色对;
根据端点像素编码精度与初始化端点参数计算得到xminColor与xmaxColor,将xminColor与xmaxColor尺寸扩展得到scaledLow与scaledHigh并统计端点像素失真度,统计得到p为0与p为1时各通道累加误差,在误差最小时,更新最佳P位与端点像素;
若得到各端点像素,P位,最小失真误差等参数不再变化时,保存各项参数,否则,继续依次更新P位与端点像素对,将端点像素quantMinColor与quantMaxColor对规整到0至255的aMinColor与aMaxColor,分别赋值给插值像素;
得到插值像素后,将总误差初始化为0,以及初始化各项差值,依次统计基本块内16个像素与各插值像素的失真度;
若总误差小于最小失真,则更新端点像素对,P位,与最小失真度,并保存各相关参数。
进一步的,步骤2.3具体包括:
最小均方优化;
进行率失真优化确定最优端点像素对与最小失真度。
进一步的,所述步骤2.4具体包括:
计算单色三通道参数,将单色三通道作为重建色对块内像素进行编码,得到最小失真度,对比迭代最小失真度,若小于迭代最小失真度,则更新端点像素,P位,插值索引等各类参数形成码流参数。
进一步的,当所述编码方法为mode5方法时,所述步骤2具体包括:
根据块内像素的相似性,将基本块内所有像素全部划分为一个子集,通过统计分析得到一对颜色通道精度RGB666的端点像素,将两个端点之间的拟合直线定义为一个调色板,为子集纹素存储一个调色板索引,通过插值得到8个重建的插值像素,通过判断当前像素与插值像素的相似度确定最小失真,得到码流参数。
具体实施时,本实施例采用RGB颜色空间。根据4×4分块block的不同情形,共设计了2种编码方式,分别为mode1和mode5。每个4×4分块block的基本编码单元在编码后的码流都不超过86位,以保证压缩比。它的基本编码思路是利用块内邻近像素的相关性,mode1与mode5均采用“端点像素+分类插值索引+共享P位”方法进行压缩。其中,端点像素是指在4×4块的16个像素中选取像素颜色最有代表性的像素;分类插值索引是指利用端点像素值,通过插值生成一些其他颜色,并且存储为索引表;共享P位是指端点像素RGB颜色通道可同时进行量化编码精度补位的标志位。
两种模式进行编码时采用以下编码位:模式标记符、划分符(分区方式partition)、端点像素对、重建索引、共享P位、填充位。两种模式可将4×4的block分成最多2个subset子集,每个子集类似于BC1。按照排列组合,2个子集时一个block会有216种partition。经过优选,确定64个partition作为2个子集时编码候选的划分方式,如图1所示。任意一个4×4的block,都需要指派到某个partition上。如mode1选择前32种划分方式,即可通过估计不同partition的误差作为mode1划分方式的标准,partition可通过5bits编码查表得到。每一种mode编码方式,都精确定义每一个bit的作用,以达到压缩的目的。mode1有2个subset和32个partition,即存在两个子集的最佳编码分布在32个partition之一。mode5只有1个subset,因此partition唯一,即4×4的block块内所有像素属于同一个子集。确定mode后,开始进行端点像素编码,各端点像素颜色通道bit数随mode不同而不同。模式预划分端点编码流程如图3所示,其中PartitionEstimation是多子集mode分区估计算法的核心,它对block的颜色在RGB空间进行直线拟合,若得到N条直线,则表示该block可以被分成N个subset子集。根据每个subset在block的分布可以找到最接近的partition。
如图4所示,两个block分别可以拟合出两条直线(通过对应图2查找可知它们分别是partition 31和partition 3),块内每个子集的像素颜色由一对端点像素颜色和它们之间的一组内插像素颜色查找表确定。
针对不同mode,根据端点像素初始值(一般为各颜色通道最值),通过类似于BC1的迭代优化方法(如牛顿下山法,PCA法,最小二乘法等),确定最佳端点像素对,再通过非线性插值得到插值重建像素表,最终各相应子集像素根据插值重建表索引。
模式编码对应编码位置解码如下:①编码标记符:当前选择编码方式mode1为0,mode5为1。②划分符:各模式下partition划分索引,mode1:32种(图2中前32钟);mode5:固定(无需编码)。③端点像素对:端点像素成对存在,mode1:两个subset,两对端点像素;mode5:1个subset,一对端点像素。partition中各端点像素初始值一般由block内像素通道最大最小值得到,结合subset像素与P位进行迭代优化,得到同一类subset最佳端点像素对。Mode1与mode5的端点像素、共享P位和重建插值索引参数详情归纳如表2。
表2
插值像素索引:通过最佳端点像素对进行插值,得到subset调色板内多种颜色的划分,插值精度为2bits时,插值得到4个subset子集索引像素,插值精度3bits时,插值得到8个subset子集索引像素。插值像素计算如式(1)所示,(E0,E1)即一对端点像素,Weight为不同索引精度BPTC插值因子,如表3所示。解码重建时,块内像素由插值索引表查找表得到。
Interpolated Value=((64-Weight)×E0+Weight×E1+32)>>6 (1)
表3
图5是模式编码器的基本流程,编码器可分为2个阶段:预编码和具体编码。
在对各block块进行编码前,首先应进行预编码。预编码阶段需要依次测试预设两种模式下的编码方法,以得到最优编码方式及该方式下所需编码的语法元素。预编码的目的是保证block块各像素颜色分量都能选择最优的编码方式,从而有效地保证图像压缩后的视觉质量。具体流程如下:
(1)mode1方法
主要思想:将4x4的基本块分成2个subset子集(分别为0,1),两个子集可能存在32种partition分区可能,其中subset0锚点像素为block索引为0的像素,subset1的锚点像素在不同partition中索引如图6所示。
每个subset子集分别结合子集像素、锚点像素和共享P位(压缩编码时,端点像素一般会压缩位数,共享P位表示端点颜色分量共享的最小有效位。若该mode的端点表示是RGBP5551,则可将端点解释为一个RGB666值,其中P位的状态定义每个分量的最低有效位,共享P位在提高端点像素精度的同时,可有效降低码流。根据块模式,可以单独为某子集的两个端点指定共享最低有效位(每个subset子集2个P位),或者为某个子集的端点对指定共享最低有效位(每个subset子集1个P位)),通过迭代优化得到各自最终端点像素对。
①评估模式匹配partition分区:扫描每个分区并为各分区计算一个近似误差,最终得到最小失真度的partition分布,作为mode1最佳匹配partition。具体步骤如表4所示:
表4
②端点像素初始化:得到估计分区后,需要确定端点像素,首先初始化端点中值与端点参数,具体流程如表5所示:
表5
③最优端点迭代与最小失真度统计:得到端点像素对后各参数需进一步优化精度,通过迭代后的失真度确定最优端点像素对与最小失真度,如表6所示:
表6
④单色表编码评估:采用单色表对mode1进行编码,即统计块内像素平均值作为全部像素的重建值,并将其与各像素差值平均和作为最小失真度进行统计,若小于迭代最小失真度,则更新单色编码为最优参数。具体步骤如下所示。
①根据下式确定单色三通道参数:
②将上述参数代入表5第二步中A步骤,将单色三通道作为重建色对块内像素进行编码,得到最小失真度,对比迭代最小失真度,若小于迭代最小失真度,则更新端点像素,P位,插值索引等各类参数。
至此,mode1全部预编码工作完成,得到最终码流中各项所需参数的最佳编码,分别将两对端点像素参数(E0,E1)、两个子集P位,16个像素索引等最佳编码参数依次保存。
在利用mode5方法进行预编码时,根据块内像素的相似性,将4x4块内所有像素全部划分为一个subset子集,通过统计分析得到一对颜色通道精度RGB666的端点像素,将两个端点之间的拟合直线定义为一个调色板。为block块内subset子集纹素存储一个调色板索引,通过插值得到3bits的索引,即8个重建的插值像素,通过判断当前像素与插值像素的相似度确定最小失真,仅需保存重建索引即可进行编码设计,具体步骤如表7所示。
表7
步骤3,选取每个基本块绝对值误差最小的编码方法并根据其对应的码流参数对其进行压缩编码,得到多个编码块;
进一步的,所述步骤3具体包括:
比较基本块在预编码阶段的每种编码方式下重建值与原始像素块的绝对值误差,选择绝对值误差最小的编码方式作为当前块的最优编码方式;
将最优编码方式对应的标志字写入当前块压缩数据流的首部;
将该编码方式下待编码的语法元素写入到码流,得到每个基本块对应的编码块。
具体实施时,在预编码阶段选择最优方式时:重建像素块与原始像素块的绝对值误差最小为第一优先级,首先进行mode1的最小失真分区估计,得到mode1最小失真匹配的partion,再通过mode1优化端点像素,得到最终mode1的最小失真度参数。在进行mode5预编码统计时,当mode5最小失真度小于mode1,选择mode5作为最优编码方式,否则选择mode1作为最优编码方式。特别说明的是,mode1和mode5方法在内部选择某种分区方式或近似插值像素时也按照上述规则进行选取。
mode1方法:
参考BPTC纹理压缩方法,即用“端点像素+插值+共享P位”来编码压缩像素值。结合预编码阶段估计mode1为最优编码时,相应地保存mode1最优编码模式下各类码流参数的数据,如划分方式partition,最优端点对RGB444,共享P位,插值索引数据等。依次编码各项相关参数后,根据表8所示mode1码流顺序依次保存相关编码参数,即可完成mode1的编码工作。
编码方式 | 划分方式 | 4个端点像素与(共享)P位 | 插值索引 |
1bit(0) | 5bit | (4+4+4)bit×4+1bit×2 | 2bit×16-2 |
表8
对于与一对端点对应的每个索引子集,编码器会修复该子集的压缩索引数据的一位状态。完成此操作的方法是:选择一个端点顺序,该顺序允许指定的“固定”索引(即锚点像素位置)的索引将其最高有效位设置为0,然后就可以丢弃该最高有效位,为每个子集节省一位。因此模式1的索引位数在16个2bit索引基础上可减去2bit(2个子集)。
mode5方法:
结合预编码阶段提取的最优编码方式,相应地保存了mode5为最优编码模式下各码流参数的数据,如划分方式,最佳端点像素,共享P位数据等,依次读取相关参数,根据表9所示mode5码流顺序依次保存相应最佳编码参数,即可完成mode5的编码工作。对于仅一个子集的模式mode5,锚像素固定索引始终为索引0。块内16个像素分别从8个插值重建颜色表中搜索得到,编码时只需记录每个block位置其在颜色插值表中的索引。因此mode5的索引位数长度在16个3bit索引的基础上可减去1(1个子集)。
表9
然后将最优编码方式对应的标志字写入当前块压缩数据流的首部;将该编码方式下待编码的语法元素写入到码流,如表10所示:
表10
步骤4,将全部编码块保存为压缩码流文件。
具体实施时,在将全部基础块压缩得到编码块后,可以将全部编码块保存,形成压缩码流文件。当然,在需要对压缩文件进行解码时,如图7所示,解码是编码的逆过程,依据码流还原图像。解码仍然按4×4的block进行。只需读取压缩后的二进制文件,在重建每一个block块时,先读取该块的编码方式,再按该编码方式读取对应长度的语法元素,按对应的方法得到端点像素对及共享P位,插值索引精度等,得到插值重建像素,对整个block块内全部像素的插值索引进行查找,即可恢复该块的图像数据,进而重建得到整幅图像。
码流依次解码顺序为:划分方式、端点像素,P位编码,重建像素索引。根据端点像素对与P位编码,得到端点像素值。对解码与重建图进行比对验证,即可得到最终图像。
本实施例提供的RGB565图像固定压缩比快速压缩方法,通过根据4×4分块block的不同情形,共设计了2种编码方式,分别为mode1和mode5。每个4×4分块block的基本编码单元在编码后的码流都不超过86位,以保证压缩比。它的基本编码思路是利用块内邻近像素的相关性,mode1与mode5均采用“端点像素+分类插值索引+共享P位”方法进行压缩,降低了计算成本,提升了编码效率和压缩后视觉质量。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种RGB565图像固定压缩比快速压缩方法,其特征在于,包括:
步骤1,将RGB565图像在RGB颜色空间按照4×4块进行划分,得到多个基本块;
步骤2,对每个基本块进行预编码,计算每个基本块用不同的编码方法重建后与其对应的原始值的绝对值误差以及每个基本块的码流参数,其中,所述编码方法包括mode1方法和mode5方法;
步骤3,选取每个基本块绝对值误差最小的编码方法并根据其对应的码流参数对其进行压缩编码,得到多个编码块;
步骤4,将全部编码块保存为压缩码流文件。
2.根据权利要求1所述的方法,其特征在于,当所述编码方法为mode1方法时,所述步骤2具体包括:
步骤2.1,将基本块划分为两个子集,并评估每个子集的分区分布可能性,得到最小失真度的目标分区分布;
步骤2.2,初始化目标分区分布的端点中值与最佳端点参数;
步骤2.3,通过迭代后的失真度确定最优端点像素对与最小失真度;
步骤2.4,利用单色表统计块内像素平均值作为全部像素的重建值,并将其与各像素差值平均和作为最小失真度进行统计,若小于迭代最小失真度,则更新单色编码为最优参数形成码流参数。
3.根据权利要求2所述的方法,其特征在于,所述步骤2.1具体包括:
统计两个子集内RGB颜色通道最大最小值,据此计算得到各子集的4个近似插值像素,其中,所述插值像素包括插值索引序号和颜色通道;
根据最大最小颜色通道差值得到标准点和阈值,初始化总误差并分别统计子集内每个近似像素的误差值,分别比较误差值与阈值,将最小失真的近似插值像素颜色作为该像素的近似值;
分别计算各通道误差与不同分区块内全部像素的误差和,依次比较各分区的估计误差,将误差最小分区作为目标分区分布。
4.根据权利要求2所述的方法,其特征在于,所述步骤2.2具体包括:
初始化端点中值与最佳端点参数,更新端点中值,统计最佳端点参数,统计K值与误差,初始化最大误差并更新最佳端点参数;
若基本块内所有子集像素均相同,则将所有子集像素全部编码成一个颜色像素并统计误差,得到最小误差后,更新最佳P位与端点像素值,结合P位更新端点像素值与插值像素,通过原图块内像素与插值像素进行失真度统计得到块内同色情况下的失真度,统计基本块内各颜色通道平均值,再进一步通过covar算法进行RGB主成分分析,依次输入每个块内像素,得到各通道差值;
初始化参数vfr、vfg和vfb,迭代预设次数对各通道差值参数进行更新最大差值,并更新vfr,vfg,vfb参数;
更新主轴,若主轴内积小于阈值则进行归一化,选择主轴上投影最大的两个端点颜色,依次遍历16个像素更新最值,依次更新得到端点像素对minColor和maxColor,若minColor端点大于maxColor端点,则交换两个端点颜色对;
根据端点像素编码精度与初始化端点参数计算得到xminColor与xmaxColor,将xminColor与xmaxColor尺寸扩展得到scaledLow与scaledHigh并统计端点像素失真度,统计得到p为0与p为1时各通道累加误差,在误差最小时,更新最佳P位与端点像素;
若得到各端点像素,P位,最小失真误差等参数不再变化时,保存各项参数,否则,继续依次更新P位与端点像素对,将端点像素quantMinColor与quantMaxColor对规整到0至255的aMinColor与aMaxColor,分别赋值给插值像素;
得到插值像素后,将总误差初始化为0,以及初始化各项差值,依次统计基本块内16个像素与各插值像素的失真度;
若总误差小于最小失真,则更新端点像素对,P位,与最小失真度,并保存各相关参数。
5.根据权利要求2所述的方法,其特征在于,步骤2.3具体包括:
最小均方优化;
进行率失真优化确定最优端点像素对与最小失真度。
6.根据权利要求2所述的方法,其特征在于,所述步骤2.4具体包括:
计算单色三通道参数,将单色三通道作为重建色对块内像素进行编码,得到最小失真度,对比迭代最小失真度,若小于迭代最小失真度,则更新端点像素,P位,插值索引等各类参数形成码流参数。
7.根据权利要求1所述的方法,其特征在于,当所述编码方法为mode5方法时,所述步骤2具体包括:
根据块内像素的相似性,将基本块内所有像素全部划分为一个子集,通过统计分析得到一对颜色通道精度RGB666的端点像素,将两个端点之间的拟合直线定义为一个调色板,为子集纹素存储一个调色板索引,通过插值得到8个重建的插值像素,通过判断当前像素与插值像素的相似度确定最小失真,得到码流参数。
8.根据权利要求1所述的方法,其特征在于,所述步骤3具体包括:
比较基本块在预编码阶段的每种编码方式下重建值与原始像素块的绝对值误差,选择绝对值误差最小的编码方式作为当前块的最优编码方式;
将最优编码方式对应的标志字写入当前块压缩数据流的首部;
将该编码方式下待编码的语法元素写入到码流,得到每个基本块对应的编码块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394009.4A CN116405676A (zh) | 2023-04-13 | 2023-04-13 | 一种rgb565图像固定压缩比快速压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310394009.4A CN116405676A (zh) | 2023-04-13 | 2023-04-13 | 一种rgb565图像固定压缩比快速压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116405676A true CN116405676A (zh) | 2023-07-07 |
Family
ID=87007187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310394009.4A Pending CN116405676A (zh) | 2023-04-13 | 2023-04-13 | 一种rgb565图像固定压缩比快速压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116405676A (zh) |
-
2023
- 2023-04-13 CN CN202310394009.4A patent/CN116405676A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9462279B2 (en) | Image encoding/decoding method and device | |
US8107753B2 (en) | Prediction-based image processing | |
US8767823B2 (en) | Method and apparatus for frame memory compression | |
CN109379598B (zh) | 一种基于fpga实现的图像无损压缩方法 | |
US20110002396A1 (en) | Reference Frames Compression Method for A Video Coding System | |
US7412104B2 (en) | Optimized lossless data compression methods | |
WO2011099080A1 (ja) | 画像符号化装置及び画像復号装置 | |
CN110933438B (zh) | 一种jpeg图像可逆信息隐藏方法 | |
US9245353B2 (en) | Encoder, decoder and method | |
WO2021062772A1 (zh) | 预测方法、编码器、解码器及计算机存储介质 | |
CN110720222A (zh) | 用于数字数据压缩的方法和设备 | |
US6584226B1 (en) | Method and apparatus for implementing motion estimation in video compression | |
CN105592313A (zh) | 一种分组自适应熵编码压缩方法 | |
CN116939226A (zh) | 一种面向低码率图像压缩的生成式残差修复方法及装置 | |
CN110267049B (zh) | 一种稀疏编码的存储优化方法 | |
Olano et al. | Variable bit rate GPU texture decompression | |
CN116405676A (zh) | 一种rgb565图像固定压缩比快速压缩方法 | |
Hu et al. | Efficient VQ-based image coding scheme using inverse function and lossless index coding | |
US20170318291A1 (en) | Method for re-encoding image and apparatus therefor | |
CN113395516A (zh) | 帧内预测方法及装置、计算机可读存储介质 | |
CN112532990A (zh) | 一种串长度参数编码、解码方法和装置 | |
CN101841701B (zh) | 基于宏块对的编解码方法及装置 | |
Agrawal | Finite-State Vector Quantization Techniques for Image Compression | |
CN116405678A (zh) | 一种低复杂度和固定压缩比的静止图像压缩方法 | |
CN111107363A (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 |