CN116347095A - 数字图像编码器、解码器、处理器和电子设备 - Google Patents

数字图像编码器、解码器、处理器和电子设备 Download PDF

Info

Publication number
CN116347095A
CN116347095A CN202310348342.1A CN202310348342A CN116347095A CN 116347095 A CN116347095 A CN 116347095A CN 202310348342 A CN202310348342 A CN 202310348342A CN 116347095 A CN116347095 A CN 116347095A
Authority
CN
China
Prior art keywords
value
block
primary color
sub
rgb888
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
CN202310348342.1A
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202310348342.1A priority Critical patent/CN116347095A/zh
Publication of CN116347095A publication Critical patent/CN116347095A/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种数字图像编码器、解码器、处理器和电子设备,属于图像传输技术领域,编码器包括:基色计算模块,用于接收RGB888图块并将其分割为均等的两个矩形子块,计算子块i中通道k的基色计算值βik;差分值计算模块,用于遍历子块i中像素j的通道k的原始颜色值γijk并与对应的基色计算值βik做差,得到9bit颜色差分值Δijk;亮度调制计算模块,用于计算亮度调制值
Figure DDA0004160614540000011
阶码计算模块,用于确定所有亮度调制值的共享阶码,得到共享索引shift;亮度调制量化模块,用于确定每个亮度调制值
Figure DDA0004160614540000012
的4bit尾数δij;压缩编码携带5bit基色存储值αik、4bit尾数δij和共享索引shift。本发明通过简单的流水线设计提高压缩编码的压缩率且图像损失较小。

Description

数字图像编码器、解码器、处理器和电子设备
技术领域
本发明属于图像传输技术领域,更具体地,涉及一种数字图像编码器、解码器、处理器和电子设备。
背景技术
最近几年数字成像技术发展迅猛,嵌入式设备、手持移动设备、专用医学仪器搭载的图像传感器分辨率也越来越高,随之而来的,是被巨量的图像数据耗竭的图像信号处理器总线带宽和内存资源。为了解决上述问题,可以采用图像压缩算法来完成高分辨率图像数据的压缩处理。
目前,已经有许多对图像传感器采集的Bayer原始数据进行压缩的算法与系统设计,它们大多采用的压缩思想是先将其转换至YUV域,然后通过离散余弦变换将其转换到频域中进行一些低通滤波处理;也有一些算法还会采用熵编码进行压缩。但是,这些算法复杂度仍然太高,不适合嵌入式设备或其他处理能力有限的设备。还有一些采用纹理压缩算法对图块进行压缩,其算法简单,但是压缩精度低,经过块压缩重构的图像质量较差,在压缩图像的高频细节部分毛刺和模糊色块现象普遍,膺像问题严重。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种数字图像编码器、解码器、处理器和电子设备,其目的在于通过简单的压缩算法对原始图像进行压缩的同时保证图像恢复的质量。
为实现上述目的,按照本发明的第一方面,提供了一种数字图像编码器,用于对数字图像进行压缩编码,包括:
基色计算模块,用于接收RGB888图块并将其分割为均等的两个子块,每个子块的行列像素数量相等,计算子块i中所有像素在通道k的平均值,截取子块i的通道k的平均值的二进制数的高5bit得到5bit基色存储值αik,通过低位填补将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik,k=R,G,B,i=0,1;
差分值计算模块,用于遍历子块i中像素j的通道k的原始颜色值γijk并与对应的基色计算值βik做差,得到对应的有符号的9bit颜色差分值Δijk,j=1,2,3,……,N,N为每个子块中像素的数量;
亮度调制计算模块,用于计算子块i中像素j的9bit亮度调制值
Figure BDA0004160614500000021
阶码计算模块,用于确定将绝对值最大的亮度调制值转换为损失最小的具有4bit尾数的浮点数的阶码并作为所有亮度调制值的共享阶码,根据阶码与共享索引shift的映射关系确定对应的共享索引;其中,不同的共享索引shift与不同的阶码一一映射;
亮度调制量化模块,用于以每个亮度调制值
Figure BDA0004160614500000022
算术右移共享阶码位后的末尾4bit作为对应亮度调制值的4bit尾数δij
所述压缩编码携带5bit基色存储值αik、4bit尾数δij和共享索引shift。
在其中一个实施例中,还包括;
输入预处理模块,用于识别所输入的图块的格式:当输入的图块为Bayer格式时,将Bayer格式转换为RGB888格式后输入所述基色计算模块;当输入的图块为RGB888格式时,直接输入所述基色计算模块;其中
将Bayer格式转换为RGB888格式的过程包括:将Bayer图块中的每相邻两行中的每两个纵向相邻的拜尔像素合并为RGB888标准像素,其中,合并前后的通道R和通道B的颜色值不变,合并后的通道G的颜色值为合并前拜尔像素中两个通道G的均值。
在其中一个实施例中,所述基色计算模块接收的RGB888图块为H*2H或者2H*H图块,分割成的子块为H*H子块,H=2。
在其中一个实施例中,在基色计算模块中,通过低位填补将5bit基色存储值αik拓展至8bit,包括:将5bit基色存储值αik的高3bit数据追加到5bit基色存储值αik的末尾,得到8bit基色计算值βik
在其中一个实施例中,在亮度调制量化模块中,共享索引shift为2bit,所述阶码计算模块用于从0、2、3、5四个不同的阶码中确定符合条件的共享阶码,所述阶码为基数是2的阶码,2bit享索引shift的四个不同取值与四个不同的阶码一一映射;
所述阶码计算模块确定共享阶码的方法包括:
判断绝对值最大的亮度调制值是否在[-8,+7]范围内,若是,选择阶码为0;
若否,则判断绝对值最大的亮度调制值是否在[-32,+31]范围内,若是,选择阶码为2;
若否,则判断绝对值最大的亮度调制值是否在[-64,+63]范围内,若是,选择阶码为3;
若否,则表示绝对值最大的亮度调制值在[-256,+255]范围内,选择阶码为5。
按照本发明的第二方面,提供了一种数字图像解码器,用于上述任一项输出的压缩编码进行解码以输出图块,所述数字图像解码器包括:
基色位拓展模块,用于提取压缩编码中的5bit基色存储值αik并通过与基色计算模块相同的低位填补方式将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik
亮度调制模块,用于提取压缩编码中的共享索引shift并通过映射关系查找到对应的共享阶码,提取压缩编码中的4bit尾数δij并与共享阶码构建浮点数作为子块i中像素j的有符号的9bit亮度调制值
Figure BDA0004160614500000031
将亮度调制值/>
Figure BDA0004160614500000032
与基色计算值βik相加,得到子块i中像素j的通道k的颜色恢复值γ’ijk,恢复得到RGB888图块。
在其中一个实施例中,还包括:
输出钳位模块,用于当颜色恢复值γ’ijk超出[0,255]的范围时,当检测到颜色恢复值小于0时,将其数值强制设为0;当检测到颜色恢复值大于255时,将其数值强制设为255。
在其中一个实施例中,还包括:
输出格式调整模块,用于当需要输出Bayer格式的图块时,将恢复得到RGB888图块转换为Bayer图块,当需要输出RGB888图块时,直接输出解码后的RGB888图块;其中,
将解码得到RGB888图块转换为Bayer图块的转换过程包括:将RGB888图块中的每个RGB888标准像素分裂为两个拜尔像素,其中,分裂前后的通道R和通道B的颜色值不变,RGB888标准像素中的通道G分裂为拜尔像素中的两个通道G且颜色值不变。
按照本发明的第三方面,提供了一种数字图像处理器,包括:
上述的数字图像编码器;及
上述的数字图像解码器。
按照本发明的第四方面,提供了一种电子设备,包括上述的数字图像处理器。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明提出的数字图像编码器,其具有流水线工作的基色计算模块、差分值计算模块、亮度调制计算模块、阶码计算模块和亮度调制量化模块。其中,通过基色计算模块、差分值计算模块、亮度调制计算模块计算基色并且获取各像素与对应子块基色的颜色差分值,再对同一像素三通道的差分值求平均,得到每个像素的9bit亮度调制值。由于图像像素RGB颜色值具备一定的局部相似性,即在图片相邻像素的RGB颜色值是相近的,因此,通过上述处理过程所得的各像素的9bit亮度调制值取值的绝对值较小。在阶码计算模块确定共享阶码后,所有像素的9bit亮度调制值使用共享阶码构建的浮点数与原本亮度调制值的损失较小,而所有像素使用共享阶码,相比于每个像素均对应一个阶码,最后得到的压缩编码的压缩率明显提高,节省大量的数据存储开销。利用本发明提出的数字图像解码器,通过使用编码的逆过程进行解码,可以恢复原始图像块,得到高质量的图像。
进一步地,设置预处理模块,可以使本发明所提出地器件适用于Bayer图块和RGB888图块。
进一步地,进行位拓展时,采用将高3bit数据追加到5bit基色存储值αik的末尾的方式,可以减小图像损失。
进一步地,固定可选阶码为0、2、3、5四个取值,并与2bit共享索引shift形成映射关系,可以在降低内存消耗的同时减小量化损失。
附图说明
图1为一实施例的数字图像编码器的结构框图;
图2为一实施例的将Bayer图块转换为RGB888标准像素图块的示意图;
图3为一实施例的将2×4的RGB888图块分割成的子块为2×2子块示意图;
图4为一实施例的压缩编码所携带的信息分布示意图;
图5为一实施例的数字图像解码器的结构框图;
图6为一实施例的RGB888标准像素图块转换为Bayer图块的示意图;
图7为一实施例的数字图像处理器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示为一实施例中的数字图像编码器(PicBC编码器)的结构框图,其主要包括基色计算模块、差分值计算模块、亮度调制计算模块、阶码计算模块和亮度调制量化模块。
其中,基色计算模块用于接收RGB888图块并将其分割为均等的两个矩形子块,计算子块i中所有像素在通道k的平均值,截取子块i的通道k的平均值的二进制数的高5bit得到5bit基色存储值αik,通过低位填补将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik,k=R,G,B,i=0,1。
具体的,基色计算模块接收H*2H或者2H*H的RGB888图块并将其分割为均等的两个H*H的矩形子块,以i作为子块序号,i=0,1,即两个矩形子块分别为子块0和子块1。每个子块中具有N个像素,N=H*H,以j作为像素的序号,j=1,2,3,……,N。每个像素具有RGB三个通道,以k作为通道的序号,k=R,G,B。每个通道的原始颜色值为8bit。
可以理解的,进行压缩的图块尺寸越小,压缩质量就越高,但是压缩效率就越低,因此,可以根据实际情况选择每次进行压缩的图块的尺寸。在本实施例中,每次压缩的RGB888图块为192bit的2×4或4×2图块,分割成的子块为2×2子块,该图块尺寸可以和手机GPU模块的显存位宽综合适配,很好地应用于移动设备的图像处理。
在一实施例中,在基色计算模块之前,还设置有输入预处理模块,用于识别所输入的图块的格式:当输入的图块为Bayer格式时,将Bayer格式转换为RGB888格式后输入所述基色计算模块;当输入的图块为RGB888格式时,直接输入所述基色计算模块。具体的,随待压缩图块数据一同输入的blockType_isBayer信号表示了输入的数据格式,此信号作为输入预处理模块中2选1数据选择器的控制信号:当blockType_isBayer=0时,表示输入数据是RGB888格式,此时数据经过旁路的缓冲器之间送至2选1数据选择器,直接输出至下一级流水线寄存器;当blockType_isBayer=1时,表明输入的数据是Bayer格式,此时数据经过输入预处理模块,将Bayer块转换为RGB图块,然后输出至下一级流水线寄存器。
其中,将Bayer格式转换为RGB888格式的过程包括:将Bayer图块中的每相邻两行构成的每个纵向拜尔像素合并为RGB888标准像素,其中,合并前后的通道R和通道B的颜色值不变,合并后的通道G的颜色值为合并前拜尔像素中两个通道G的均值。
如图2所示,将256bit的4×4Bayer图块第一、二行的两个纵向相邻的拜尔像素合并为一组,第三、四行的两个纵向相邻的拜尔像素合成一组,其中红色、蓝色通道直接取其原本的数值(颜色的值),绿色通道取其两者的均值作为新的子像素的绿色通道数值。经过这样的处理,一个Bayer格式的RGBG或者BGRG图块就被转换为一个2行4列的RGB888标准像素图块。
经过子块的分割后,遍历每个子块,计算每个子块i中所有像素在通道k的平均值,一共有RGB三个通道,因此分别在子块0和子块1中得到R通道平均值、G通道平均值和B通道平均值,该平均值为8bit数。遍历每个子块的每个通道,截取每个子块的通道k的平均值的二进制数的高5bit得到5bit基色存储值αik,共得到6个基色存储值αik,分别为子块0的R通道、G通道和B通道的基色存储值α0R、α0G和α0B以及子块1的R通道、G通道和B通道的基色存储值α1R、α1G和α1B
如图3所示为将2×4的RGB888图块分割成的子块为2×2子块,分别为子块0和(sub-block 0)子块1(sub-block 1),分别遍历子块0(左)的0、1、4、5像素的全部通道(一个像素对应RGB三个通道),获取子块0的RGB三分量的平均值
Figure BDA0004160614500000071
和/>
Figure BDA0004160614500000072
同理,遍历子块1(右)的2、3、6、7像素的全部通道,获取子块1的RGB三分量的平均值/>
Figure BDA0004160614500000073
和/>
Figure BDA0004160614500000074
平均值/>
Figure BDA0004160614500000081
和/>
Figure BDA0004160614500000082
和平均值/>
Figure BDA0004160614500000083
和/>
Figure BDA0004160614500000084
均为8bit,截取每个平均值的高5位作为,得到每个子块中每个通道的基色存储值,分别为子块0中RGB三分量基色存储值α0R、α0G和α0B以及子块1中RGB三分量基色存储值α1R、α1G和α1B
由于后续计算是进行8bit二进制计算,因此,还需要将每个5bit基色存储值αik通过低位填补拓展成8bit基色计算值βik,即,补充低3bit数值。具体可以随机补0或1,通过低位填补将5bit基色存储值αik拓展至8bit,分别为子块0中RGB三分量基色存储值β0R、β0G和β0B以及子块1中RGB三分量基色存储值β1R、β1G和β1B。在本实施例中,具体采用将二进制高3位数据追加到末尾,将其补全至8位。例如,若RGB三通道的基色存储值的十进制数值分别为(9,2,20),对应的二进制5bit数据为(01001,00010,10100),那么经过上述的位拓展,分别得到二进制8bit数据为(01001010,00010000,10100101),即对应的十进制数值为(74,16,165)。实验表明,采用将二进制高3位数据追加到末尾以补全至8位的方法能更好地减小图像损失。
差分值计算模块用于遍历子块i中像素j的通道k的原始颜色值γijk并与对应的基色计算值βik做差,得到对应的有符号的9bit颜色差分值Δijk。具体而言,每个子块具有N个像素,每个像素具有三个通道,因此,每个子块具有3N个原始颜色值,两个子块一共有6N个原始颜色值。每个原始颜色值γijk与对应子块中的对应类型通道的基色计算值βik作差,一共执行6N次减法运算,得到6N个颜色差分值Δijk。由于减法运算后的结果具有正负之分,因此,得到的颜色差分值Δijk为9bit的有符号数,Δijk为对应子块i中像素j的通道k的颜色差分值。
在一实施例中,当每个子块中具有4个像素,即N=4,两个子块具有8个像素,每个像素具有RGB三个通道,此时,差分值计算模块一共要执行8*3=24次减法运算。具体的,差分值计算模块采用24个并行的减法器,将子块中的每个像素的每个RGB通道的原始颜色值和该子块对应通道的“位拓展”后的基色计算值作差,得到24个9bit有符号的像素颜色差分值。
亮度调制计算模块用于计算子块i中像素j的9bit亮度调制值
Figure BDA0004160614500000094
经过上述差分值计算模块的处理后,在每个子块的每个像素位置分别得到三个通道的颜色差分值,对三个通道的颜色差分值进行求平均,得到对应子块中每个像素的9bit亮度调制值。
考虑到一个众所周知的人眼感知特性:人的视网膜内约含有600万~800万个视锥细胞(用于感知光的颜色),和12000万个视杆细胞(用于感知光的强度),人眼对光的强弱比对光的颜色感知更加敏锐。因此,进行差分值三通道的平均化处理。在重建图块像素时,仅仅在基色的基础上,对重建的像素进行亮度调整(同时在像素的RGB三通道加减相同的数值即为亮度调制),而不是每个颜色通道分别独立调整。采用这种压缩方式可以最大程度上避免重建的图块出现“color shift”(色彩偏移)模式的噪点。
在一实施例中,采用了一种比较通用的整数除法量化方法:注意到数学上显然有下列等价表达式:
Figure BDA0004160614500000091
而/>
Figure BDA0004160614500000092
将其做8bit位宽的定点小数量化:0.33333333…D≈0.33203125D=0.01010101B即:/>
Figure BDA0004160614500000093
经过上述转换,“除以3”的数学运算可以被视为“先将被除数乘以85,然后再将得到的二进制结果算术右移8位”。
阶码计算模块用于确定将绝对值最大的亮度调制值转换为损失最小的具有4bit尾数的浮点数的阶码并作为所有亮度调制值的共享阶码,根据共享阶码与共享索引shift的映射关系确定对应的共享索引;其中,不同的共享索引shift与不同的共享阶码一一映射。
通过亮度调制计算模块得到每个子块中每个像素的9bit亮度调制值后,由于每亮度调制值为9bit有符号数,占用的数据位数太多,因此需要对其进行量化,缩减其占用的位数。
此处将每个9bit亮度调制值量化为位数截短的浮点数的形式进行存储,以实现图像编码压缩。众所周知,对于任一个二进制数F,其可以表达为浮点数的表达形式F=S*2P,其中,S为尾数,P为阶码。在本发明中,确定尾数为4bit尾数。对于每亮度调制值的量化,分别采用4bit尾数以及全局共享的阶码来表示每个像素的亮度调制。因此,需要寻找一个合适的阶码作为所有亮度调制值的共享阶码,能够将上述9bit的亮度调制值缩放为4bit有符号数并使用共享阶码后量化误差最小化。本发明确定共享阶码的思想是:得到每个9bit亮度调制值转化为4bit尾数时对应的阶码,选择其中最大的阶码作为共享阶码。因此,本发明只需要选择最大的绝对值最大的亮度调制值,将其转换为4bit尾数的浮点数时,确定使量化损失最小的阶码并作为共享阶码。
亮度调制量化模块用于以每个亮度调制值
Figure BDA0004160614500000101
算术右移共享阶码位后的末尾4bit作为对应亮度调制值的4bit尾数δij。实际上,亮度调制值除以共享阶码P,等效于将亮度调制值右移P位,然后以右移后的末尾4bit作为对应亮度调制值的4bit尾数δij
在一实施例中,阶码计算模块中可以提前设置好可以选择的阶码,在确定共享阶码时,只能从设置好的阶码中选择量化损失最小的阶码作为共享阶码。因为待量化的亮度调制值为9bit,当尾数固定为4bit时,阶码最大取5,最小取0。具体的,可以设置阶码与共享索引的映射关系,不同的共享索引shift与不同的阶码一一映射。可选的阶码数量也可以根据需要灵活设置,例如,可以设置6个阶码,分别为0、1、2、3、4、5;也可以设置5个、4个,对于阶码数量不作限定。数量越多,分配给共享索引的位数就越多。例如,当设置有6个阶码时,需要用3bit表示共享索引;当设置有4个阶码时,则只需要2bit表示共享索引,能进一步节省存储空间。
在本实施例中,优选设置4个可选阶码,分别为0、2、3、5,对应设置2bit共享索引。2bit共享索引和阶码的映射关系可以表示为表一:
表一
2bit共享索引 阶码
00 0
01 2
10 3
11 5
根据上述4个可选阶码,在本实施例中,具体可以按照如下方式在个阶码中确定共享阶码:
判断绝对值最大的亮度调制值是否在[-8,+7]范围内,若是,选择阶码为0,对应的2bit共享索引shift为00,此时,截取每个亮度调制值
Figure BDA0004160614500000111
的[3:0]bit作为其4bit尾数δij
若否,则判断绝对值最大的亮度调制值是否在[-32,+31]范围内,若是,选择阶码为2,对应的2bit共享索引shift为01,此时,截取每个亮度调制值
Figure BDA0004160614500000112
的[5:2]bit作为其4bit尾数δij
若否,则判断绝对值最大的亮度调制值是否在[-64,+63]范围内,若是,选择阶码为3,对应的2bit共享索引shift为10,此时,截取每个亮度调制值
Figure BDA0004160614500000113
的[6:3]bit作为其4bit尾数δij
若否,则表示绝对值最大的亮度调制值在[-256,+255]范围内,选择阶码为5,对应的2bit共享索引shift为11,此时,截取每个亮度调制值
Figure BDA0004160614500000114
的[8:5]bit作为其4bit尾数δij
经过量化后,9bit的亮度调制值变为了4bit量化尾数和共享的2bit阶码索引共同表示,实现图像编码压缩。
此时,便完成了图块的压缩编码,压缩编码携带5bit基色存储值αik、4bit尾数δij和共享索引shift。以2bit共享索引shift为例,如图4所示为压缩编码所携带的信息分布,该编码一共为64bit,其信息分布如下表二所示:
表二
位置 字段 含义
[3,0] δ00 子块0中第0个像素亮度调制值的4bit尾数
[7,4] δ01 子块0中第1个像素亮度调制值的4bit尾数
[11,8] δ10 子块1中第0个像素亮度调制值的4bit尾数
[15,12] δ11 子块1中第1个像素亮度调制值的4bit尾数
[19,16] δ02 子块0中第2个像素亮度调制值的4bit尾数
[23,20] δ03 子块0中第3个像素亮度调制值的4bit尾数
[27,24] δ12 子块1中第2个像素亮度调制值的4bit尾数
[31,28] δ13 子块1中第3个像素亮度调制值的4bit尾数
[33,32] shift 共享阶码对应的共享索引
[38,34] α0R 子块0中R通道的5bit基色存储值
[43,39] α0G 子块0中G通道的5bit基色存储值
[48,44] α0B 子块0中B通道的5bit基色存储值
[53,49] α1R 子块1中R通道的5bit基色存储值
[58,54] α1G 子块1中G通道的5bit基色存储值
[63,59] α1B 子块1中B通道的5bit基色存储值
需要说明的是,以上各字段在压缩编码中具体的位置仅为示例,但并不以此为限。
当原始输入的为256bit的4×4Bayer图块时,最后压缩为64bit,压缩压缩率为25%;当原始输入的为192bit的2×4RGB888图块时,最后压缩为64bit,压缩率为33.3%。无论是Bayer图块还是RGB888图块,都能实现很好的压缩。
可以理解的,解码器内部采用了显式设计的多级流水线处理结构,在每相邻两级流水线寄存器组之间的计算模块都是纯组合逻辑,当且仅当处于时钟的上升沿且valid-ready握手信号均为有效时,数据沿着流水线向下一级流动,否则流水线将会停顿。
相应的,本发明还涉及一种数字图像解码器(PicBC解码器),用于对上述得到的压缩编码进行解码,恢复对应的图像块。如图5所示为一实施例中的数字图像解码器的结构框图,其主要包括基色位拓展模块和亮度调制模块。
其中,基色位拓展模块,用于提取压缩编码中的5bit基色存储值αik并通过与基色计算模块相同的低位填补方式将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik。该过程与基色计算模块中进行位拓展的方式相同。经位拓展后,每个子块分别得到RGB三通道的基色计算值。
亮度调制模块用于提取压缩编码中的共享索引shift并通过映射关系查找到对应的共享阶码P,提取压缩编码中的4bit尾数δij并与共享阶码P构建浮点数作为子块i中像素j的有符号的9bit亮度调制值
Figure BDA0004160614500000131
该过程相当于将4bit尾数δij左移P位。然后将亮度调制值/>
Figure BDA0004160614500000132
与基色计算值βik相加,得到子块i中像素j的通道k的颜色恢复值γ’ijk,恢复块内像素的RGB数值,得到RGB888图块。
通过该过程可以看出,由于编码使用的共享阶码以及使用了位数截短的尾数表示,解码时恢复的9bit亮度调制值
Figure BDA0004160614500000133
与编码时原始的9bit亮度调制值/>
Figure BDA0004160614500000134
是存在一定的偏差的,但是由于编码时已经考虑将量化损失降到最小,所以解码时恢复的亮度调制值的损失较小,最后恢复的图块质量也较佳。
在一实施例中,数字图像解码器还包括输出钳位模块,用于当颜色恢复值γ’ijk超出[0,255]的范围时,当检测到颜色恢复值小于0时,将其数值强制设为0;当检测到颜色恢复值大于255时,将其数值强制设为255。
具体的,由于经过上述调制的像素颜色数值可能不满足[0,255]的范围,譬如:有一个像素块的基色为(10,86,130),但是其亮度调制为-20,经过上述的调制后,其重构的像素颜色值为(-10,66,110)。如果不对其进行任何处理,显然输出的颜色将会出现“负数溢出”的情况,在最终重构的图像上将会表现为“色彩偏移”的噪点,这对压缩图像质量的负面影响非常大。为了避免上述问题,需要在重构的像素输出之前进行钳位,具体的实现方式非常朴素,但为之有效:使用两级级联的数据比较器,当检测到像素颜色值小于0时,将其数值强制设为0;当检测到像素的颜色值大于255时,将其数值强制设为255。
在一实施例中,数字图像解码器还包括输出格式调整模块,用于当需要输出Bayer格式的图块时,将恢复得到RGB888图块转换为Bayer图块;其中,将恢复得到RGB888图块转换为Bayer图块的转换过程包括:将RGB888图块中的每个RGB888标准像素分裂为两个拜尔像素,其中,分裂前后的通道R和通道B的颜色值不变,RGB888标准像素中的通道G分裂为拜尔像素中的两个通道G且颜色值不变。如图6所示,经过前面的步骤重构的图像格式是2×4的RGB888像素块,当blockType_isBayer为“1”时,不能直接将RGB格式的图块直接输出,因此需要对其进行RGB888到Bayer格式的转换。此处的转换过程即为前文所述的Bayer-RGB过程的逆过程:通过将绿色像素分裂为两块,从而将一个RGB像素演变为拜尔模式下的“RG-BG”两个子像素,更进一步地,将2×4的RGB图块转变为4×4的Bayer图块。
相应的,本发明还涉及一种数字图像处理器,如图7所示,其包括上文介绍的数字图像编码器及上文介绍数字图像解码器。该数字图像处理器可以将一幅图像逐块进行固定压缩率压缩,每一块的编码和解码仅仅依赖于块内的局部数据,无需解压整个图像即可获得任一指定像素的数值,非常适合于流式图像处理和数据传输。而且,其编码和解码的复杂度大大降低,所需资源开销降低,硬件加速效率显著提高。经过FPGA系统验证,本文设计的数字图像处理器兼容AXI-Stream接口标准,支持AXI-DMA数据传输;在流水线工作模式下,PicBC IP工作于100MHZ时钟频率,编码器计算延时为6个时钟周期,解码器计算延时为4个时钟周期,每个时钟周期均可进行1个Block数据的压缩/解压,图像数据吞吐率为3.2GB/s。
相应的,本发明还涉及一种电子设备,其包括上述数字图像处理器,能够实现图像的编码与解码。
以下以具体的数据对本发明所设计的PicBC编码器、PicBC解码器的优势进行说明。
PicBC编码器的硬件资源开销如表三所示:
表三
Figure BDA0004160614500000151
PicBC解码器硬件资源开销如表四所示:
表四
Figure BDA0004160614500000152
参阅图7,示出了本发明的应用场景,数字图像处理器PicBC IP置于需要压缩的数据源与系统内存或者数据通路之间,经过简单的压缩即可给系统内存、数据通路带宽节约66%~75%的资源消耗(对于Bayer格式的输入图像压缩率为25%,对于RGB888格式的输入图像压缩率为33%)。
具体的,通过上位机,借助UART串口连接到FPGA开发板,向测试SoC发送了一段测试图像数据,经过PicBC编码器压缩,将编码后的压缩数据通过同样的串口按序返回,输出于串口通信监视器;然后再将压缩后的数据解压,经过PicBC解码器解压后,又将解压后的重建图像数据通过串口输出于串口通信监视器。最终通过计算机软件,对比得到数字图像处理器PicBC IP计算得到的结果和理论上的正确结果基本符合,验证了本发明的可靠性。除此之外,本实施例中还对经过压缩重建的图像数据和原始图像数据逐像素进行对比,计算因压缩-解压缩带来的均方误差MSE和峰值信噪比PSNR。测试结果如表五所示:
表五
Figure BDA0004160614500000161
由表五数据可知,自然摄影与计算机软件绘制的各种数字图像经过本发明提出的数字图像压缩、解压缩后,重编码的图像与原始图像之间的平均均方误差(MSE)为6.3762,峰值信噪比(PSNR)达到了40dB,达到了人眼观测的“准无损”精度要求。更具体的,表五中“合计”一栏所述的“加权平均”,意为按照各个测试图片的像素数量,计算最终的合计MSE加权平均值。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数字图像编码器,用于对数字图像进行压缩编码,其特征在于,包括:
基色计算模块,用于接收RGB888图块并将其分割为均等的两个子块,每个子块的行列像素数量相等,计算子块i中所有像素在通道k的平均值,截取子块i的通道k的平均值的二进制数的高5bit得到5bit基色存储值αik,通过低位填补将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik,k=R,G,B,i=0,1;
差分值计算模块,用于遍历子块i中像素j的通道k的原始颜色值γijk并与对应的基色计算值βik做差,得到对应的有符号的9bit颜色差分值Δijk,j=1,2,3,……,N,N为每个子块中像素的数量;
亮度调制计算模块,用于计算子块i中像素j的9bit亮度调制值
Figure FDA0004160614480000011
阶码计算模块,用于确定将绝对值最大的亮度调制值转换为损失最小的具有4bit尾数的浮点数的阶码并作为所有亮度调制值的共享阶码,根据阶码与共享索引shift的映射关系确定对应的共享索引;其中,不同的共享索引shift与不同的阶码一一映射;
亮度调制量化模块,用于以每个亮度调制值
Figure FDA0004160614480000012
算术右移共享阶码位后的末尾4bit作为对应亮度调制值的4bit尾数δij
所述压缩编码携带5bit基色存储值αik、4bit尾数δij和共享索引shift。
2.如权利要求1所述的数字图像编码器,其特征在于,还包括;
输入预处理模块,用于识别所输入的图块的格式:当输入的图块为Bayer格式时,将Bayer格式转换为RGB888格式后输入所述基色计算模块;当输入的图块为RGB888格式时,直接输入所述基色计算模块;其中
将Bayer格式转换为RGB888格式的过程包括:将Bayer图块中的每相邻两行中的每两个纵向相邻的拜尔像素合并为RGB888标准像素,其中,合并前后的通道R和通道B的颜色值不变,合并后的通道G的颜色值为合并前拜尔像素中两个通道G的均值。
3.如权利要求1所述的数字图像编码器,其特征在于,所述基色计算模块接收的RGB888图块为H*2H或者2H*H图块,分割成的子块为H*H子块,H=2。
4.如权利要求1所述的数字图像编码器,其特征在于,在基色计算模块中,通过低位填补将5bit基色存储值αik拓展至8bit,包括:将5bit基色存储值αik的高3bit数据追加到5bit基色存储值αik的末尾,得到8bit基色计算值βik
5.如权利要求1所述的数字图像编码器,其特征在于,在亮度调制量化模块中,共享索引shift为2bit,所述阶码计算模块用于从0、2、3、5四个不同的阶码中确定符合条件的共享阶码,所述阶码为基数是2的阶码,2bit享索引shift的四个不同取值与四个不同的阶码一一映射;
所述阶码计算模块确定共享阶码的方法包括:
判断绝对值最大的亮度调制值是否在[-8,+7]范围内,若是,选择阶码为0;
若否,则判断绝对值最大的亮度调制值是否在[-32,+31]范围内,若是,选择阶码为2;
若否,则判断绝对值最大的亮度调制值是否在[-64,+63]范围内,若是,选择阶码为3;
若否,则表示绝对值最大的亮度调制值在[-256,+255]范围内,选择阶码为5。
6.一种数字图像解码器,其特征在于,用于对权利要求1至5任一项所述的数字图像编码器输出的压缩编码进行解码以输出图块,所述数字图像解码器包括:
基色位拓展模块,用于提取压缩编码中的5bit基色存储值αik并通过与基色计算模块相同的低位填补方式将5bit基色存储值αik拓展至8bit,得到子块i中通道k的基色计算值βik
亮度调制模块,用于提取压缩编码中的共享索引shift并通过映射关系查找到对应的共享阶码,提取压缩编码中的4bit尾数δij并与共享阶码构建浮点数作为子块i中像素j的有符号的9bit亮度调制值
Figure FDA0004160614480000031
将亮度调制值/>
Figure FDA0004160614480000032
与基色计算值βik相加,得到子块i中像素j的通道k的颜色恢复值γ’ijk,恢复得到RGB888图块。
7.如权利要求6所述的数字图像解码器,其特征在于,还包括:
输出钳位模块,用于当颜色恢复值γ’ijk超出[0,255]的范围时,当检测到颜色恢复值小于0时,将其数值强制设为0;当检测到颜色恢复值大于255时,将其数值强制设为255。
8.如权利要求6所述的数字图像解码器,其特征在于,还包括:
输出格式调整模块,用于当需要输出Bayer格式的图块时,将恢复得到RGB888图块转换为Bayer图块,当需要输出RGB888图块时,直接输出解码后的RGB888图块;其中,
将解码得到RGB888图块转换为Bayer图块的转换过程包括:将RGB888图块中的每个RGB888标准像素分裂为两个拜尔像素,其中,分裂前后的通道R和通道B的颜色值不变,RGB888标准像素中的通道G分裂为拜尔像素中的两个通道G且颜色值不变。
9.一种数字图像处理器,其特征在于,包括:
权利要求1至5任一项所述的数字图像编码器;及
权利要求6至8任一项所述的数字图像解码器。
10.一种电子设备,其特征在于,包括权利要求9所述的数字图像处理器。
CN202310348342.1A 2023-03-30 2023-03-30 数字图像编码器、解码器、处理器和电子设备 Pending CN116347095A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310348342.1A CN116347095A (zh) 2023-03-30 2023-03-30 数字图像编码器、解码器、处理器和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310348342.1A CN116347095A (zh) 2023-03-30 2023-03-30 数字图像编码器、解码器、处理器和电子设备

Publications (1)

Publication Number Publication Date
CN116347095A true CN116347095A (zh) 2023-06-27

Family

ID=86883898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310348342.1A Pending CN116347095A (zh) 2023-03-30 2023-03-30 数字图像编码器、解码器、处理器和电子设备

Country Status (1)

Country Link
CN (1) CN116347095A (zh)

Similar Documents

Publication Publication Date Title
KR101547434B1 (ko) 비트 예산에 기초한 이미지 데이터의 선택적 무손실-손실 압축
EP2041983B1 (en) Method and apparatus for encoding video color enhancement data, and method and apparatus for decoding video color enhancement data
US20240080039A1 (en) Guaranteed Data Compression
KR100972401B1 (ko) 컴퓨터 그래픽 이미지 압축
US10868565B2 (en) Guaranteed data compression
US20230327682A1 (en) Guaranteed data compression using reduced bit depth data
US20150312593A1 (en) Compression of light field images
US11374590B2 (en) Guaranteed data compression using intermediate compressed data
CN110662068B (zh) 进行有保证的数据压缩的方法、系统、电路、介质和单元
US20200007866A1 (en) Guaranteed Data Compression
CN102473314B (zh) 矢量嵌入式图形编码
CN102271251B (zh) 无失真的图像压缩方法
US6614942B1 (en) Constant bitrate algorithm for block based image compression
CN110267049B (zh) 一种稀疏编码的存储优化方法
CN116347095A (zh) 数字图像编码器、解码器、处理器和电子设备
KR20220119316A (ko) 부호화 방법 및 부호기
TWI496442B (zh) 影像處理方法與影像顯示裝置
Pancholi et al. Tutorial review on existing image compression techniques
JP2015053590A (ja) 画像符号化装置および画像符号化方法
TWI446795B (zh) 基於2x2編碼單元之固定壓縮率影像壓縮/解壓縮方法及系統
WO2023177447A1 (en) Methods and systems for high bit depth and high dynamic range image compression
CN117939130A (zh) 一种视频图像编码方法、装置和介质
CN116682351A (zh) 显示面板的数据处理方法、装置及计算机可读存储介质
TWI432031B (zh) Distortion-free image compression method
GB2605094A (en) Guaranteed data compression

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