一种硬件实现的图像去抖动方法及装置的制作方法

xiaoxiao2020-6-26  14

专利名称:一种硬件实现的图像去抖动方法及装置的制作方法
技术领域
本发明涉及图像转换处理技术领域,特别是一种硬件实现的图像去抖动
方法及装置,具体是对原始24位图像信号转换成18位,16位或者12位图 像格式时进行的误差扩散处理的方法与装置。
背景技术
现有技术中,由于LCD (液晶)显示屏的像素位深度一般小于24位, 所以将24位的图像显示到LCD显示屏上时需要截掉像素信息的低位。比如 将RGB888 (24位)信号显示到RGB565 (16位)的液晶(LCD)显示屏 上,红色通道要截掉低3位,绿色通道要截掉低2位,蓝色通道要截掉低3 位。而采用简单的截位方法,图像会产生固定的误差色块。
在图像格式转换处理过程中,去抖动是其中重要的一步,通常的数字图 像的每个像素是用RGB (红绿蓝)3个分量来表示的,通常每个分量都用8 个比特来表示(其取值范围为0-255)。而现在的手持设备上所用的LCD 一般是12位(RGB分别用4比特表示),16位(R: 5比特,G: 6比特,B:5 比特)或者18位(RGB分别用6比特表示)。如果直接用8比特的高比特 位直接显示的话,显示出来的图像会出现色块,影响显示效果,去抖动处理 就是消除这些色块效果的处理。在硬件的实现方案中,目前,如图2所示,公知的去抖动的图像处理模 块都是首先输入的原始RGB888信号进行一行的緩存,然后计算出误差值, 在向外围扩散。该方法去抖动的基本原理是将像素的量化误差向右,右下, 左下,正下方扩散,新的像素值等于原始的像素值加上从各个方向扩散的误 差值。量化误差是由新产生的像素点的值进行四舍五入所产生的。
以RGB888转化为RGB565为例,对于坐标为(I,J )的像素的红色(R) 分量而言,截位量化误差为ERROR—R(I,J)-RIN(I,J)-(((RIN(I,J) 3)+8) 3),其发散到4个方向的误差分别为
R_DIS(I+1,J) = ERROR_R(I,J)*c
R_DIS(I+1,J-1) = ERROR—R(I,J)*d (1)
R_DIS(I,J+1) = ERROR_R(I,J)*a
R_DIS(I+1, J+l) = ERROR_R(I,J)*b
所以,对于像素(I,J)来说,其生成的新的像素的值为
R一NEW(I,J) = RIN(I,J) + ERROR—R(I,J-l)*a + ERROR_R(I-l,J-l)*b + ERROR_R(I-l,J)*c + ERROR—R(I-l,J+l)*d (2)
该方法中,因为原始的RGB888信号用24bits表示一个像素,所以这样 的处理方法,Buffer (緩冲器)资源有很大浪费,同时抖动系数需要加法 器和移位器结合实现,因此,大大增加了硬件的成本。

发明内容
本发明的目的是提供一种硬件实现的图像去抖动方法及装置,应用去抖 动的误差扩散方法,克服现有方法Buffer资源浪费大和硬件成本高的技术 问题,本方法可以使截位误差分布到整副图像,从而避免色块出现。为了实现上述发明目的,本发明的技术方案是 一种硬件实现的图像去抖动方法,其特征在于该方法步骤是 A:输入图像并计算出当前行上各点的扩散误差;
B:扩散误差的计算结果存储在寄存器中,并且将待处理像素点相邻三 点的扩散误差求和;
C:将相邻三点的扩散误差求和值存储在缓存器中;
D:当下一行图像输入时,利用相邻三点的扩散误差求和值计算出输出 图像。
一种装置,上述的方法,其特征在于它由输出图像产生模块、图像残差 计算模块、图像残差累加模块、加法器模块、寄存器和緩冲器组成;其中 该图像残差计算^f莫块用于计算图像输入当前行上各点的扩散误差,并将 其存储于寄存器;及将待处理像素点相邻三点的扩散误差求和并将求和值存 储在緩存器中;
该图像残差累加模块用于当下一行图像输入时,利用緩冲器中相邻三点 的扩散误差求和值计算出输出图像;
该输出图像产生模块用于将输入图像信息传送到图像残差计算模块处 理,并将图像残差累加模块处理后的图像输出。 藉由上述技术方案,本发明的技术效果是
1、 本发明提供一个特殊的去抖动参数,可以不用加法器而直接计算出 误差值,同时将产生的误差值进行緩冲,以减少对緩冲器的要求。
2、 本发明能够有效的节省緩冲器和其他硬件,从而使系统实现成本大 大降低。3、本发明方法可对原始24位图像信号转换成18位,16位或者12位图 像格式时进行的误差扩散处理。


图l是本发明的算法原理图。
图2是现有的一般方法的算法原理图。
图3是本发明装置的结构原理图。
具体实施例方式
本发明提供了一种硬件实现的图像去抖动方法,它是在(如图2)图像 去抖动方法的进一步发展。
本发明方法的实现原理仍然以RGB888转化为RGB565为例,对于坐标 为(I,J)的像素的红色(R)分量而言,截位量化误差为ERROR—R(I,J)-RIN(I,J) - (((RIN(I,J) 3)+8) 3),其发散到4个方向的误差分别为
R一DIS(I+1,J) 二 ERROR_R(I,J)*c
R一DIS(I+1 , J誦l) = ERROR_R(I,J)*d (1) R—DIS(I,J+1) 二 ERJROR_R(I,J)*a R_DIS(I+1 , J+l) = ERROR—R(I,J)*b 所以,对于像素(I,J)来说,其生成的新的像素的值为 R_NEW(I,J) = RIN(I,J) + ERROR_R(I,J-l)*a + ERROR_R(I-l,Jl)*b + ERRORJR(I-l,J)*c + ERROR_R(I-l,J+l)*d (2) 将上面等式的后4项的和记为R一EIN(I,J),则
R_NEW(I,J) 二 RIN(I,J) + R一EIN(I,J) (3)若将等式(2)的后三项计为ERRO_R—IN(I,J),则
R—NEW(I,J) = RIN(I,J) + ERROR—R(I,J-l)*a+ERROR—R_IN(I,J)
(4)
本发明方法是基于等式(4),如图1所示,首先对于输入的行I-l,算出 等式(2)的后三项和用ERRO_R—IN(I,J)表示,当我们要计算R—NEW(I,J), 只需要从緩存器(Buffer)中取出ERRO—R_IN(I,J),再利用等式(4)计算既 可。由于我们只需要缓存ERRO信号,比原始信号校4艮多,所以可以节省 緩存器(Buffer)资源。对于绿色(G)分量和蓝色(B)分量的处理类似,区别在于 计算G分量的量化误差时,其移位的位数为2位。
实现该方法的装置结构如图3所示它由输出图像产生模块l、图像残 差计算模块2、图像残差累加模块3、加法器模块4、寄存器5和緩沖器组 成;其中
该图像残差计算模块2用于计算图像输入当前行上各点的扩散误差,并 将其存储于寄存器(5);及将待处理像素点相邻三点的扩^:误差求和并将 求和值存储在緩存器中;
该图像残差累加模块3用于当下一行图像输入时,利用緩沖器中相邻三 点的扩散误差求和值计算出输出图像;
该输出图像产生模块1用于将输入图像信息传送到图像残差计算模块2 处理,并将图像残差累加模块3处理后的图像输出。 本发明方法的处理流程是
A: Input—Image (输入图像)并计算出当前行上各点的扩散误差; B:扩散误差的计算结果存储在寄存器中,并且将待处理像素点相邻三 点的扩散误差求和;C-.将相邻三点的扩散误差求和值存储在缓存器中; D:当下一行图像输入时,利用相邻三点的扩散误差求和值计算出输出 图像。
为了便于硬件i殳计,我们将a, b, c, d的值分别设为1/2, 1/8, 1/4, 1/8,因此发散到四个方向的误差值只是将分量误差进行移位即可。
运用我们的方法实现的抖动模块当输入为RGB888格式,输出为RGB565 时,每个像素所占用的存储器为3+2+3=8比特,比输入的像素24比特要节 约16比特。对于一幅大的图像可以节约比较大的存储器。
以下再用24位图像转化为18位图像R分量为例,详细描述模块的具体 运行过程(其他分量或者16位/12位图像的处理过程类似)
如上所述,24位图像的R分量都是8比特表示的,而18位图像的R分 量都是6位表示的。如图2所示,假设输入图像的第1行第1列的像素的R 分量(8比特)的值为RI[l,l],输出图像的值直接取其高6比特为RO[l,l。 两者的差值ERR1, l=RIl,l_(RO[l,l《2),将ERR[1,1分别乘以3 个不同的系数a,c,b用于产生输出图像的第l行第2歹'h第2行第1列和第2 行第2列的像素。因此输出图像第1行第2列的像素值为
(RI[1,2》2) 2 + ERR[l,l*a,
输出图像第2行第1列的像素值为
(RI[1,2J》2)《2 + ERR[l,l*c+ERR[l,2*d,
输出图像第1行第2列的像素值为
(RI[1,2》2)《2 + ERR[l,l*b+ERR[l,2I*c+ERR[l,3*d+ERR[2,lj*a 以此类推,输出图像第i行第j列的像素值为RI (i,j) + ERR (i,j-l)*a + ERR (i-l,j-l)化+ ERR (i-l,j"c + ERR (i-l,j+l)*d
本实施例釆用特殊的a,b,c,d参数(a,b,c,d为残差扩散系数,由算法核 试验所得,对于不同的应用可以配置不同的扩散系数,但都遵循以下原则 1,所有方向的残差系数相加的和为12,为了硬件的实施方便,所有的系数都近似为2的n次方(n二l,-2......)
,使硬件实现时避免了乘法器的使用(乘法器在硬件实现时是很大的硬件开 销)。如图3为本实施例的硬件实现框图,当本才莫块从接收端得到一个像素 的R分量的值,模块3从存储器中提M目对应的残差值相加送入模块1,模 块1把残差之和与R分量的高6比特相加生成新的输出像素。同时模块2 把输入像素和输出像素相减得到新的ERR值,然后乘以不同的a,b,c,d参数 生成4个方向上的残差,然后进入存储器保存。本实施例采用保存中间残差 的方法以节约存储器的数量。
综上所述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范 围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发 明的技术范畴。
权利要求
1、一种硬件实现的图像去抖动方法,其特征在于该方法步骤是A输入图像并计算出当前行上各点的扩散误差;B扩散误差的计算结果存储在寄存器中,并且将待处理像素点相邻三点的扩散误差求和;C将相邻三点的扩散误差求和值存储在缓存器中;D当下一行图像输入时,利用相邻三点的扩散误差求和值计算出输出图像。
2、 一种装置,用于实施如权利要求l所述的方法,其特征在于它由输出图 像产生模块(1)、图像残差计算模块(2)、图像残差累加模块(3)、加法器 模块(4)、寄存器(5)和緩冲器组成;其中该图像残差计算^t块(2)用于计算图像输入当前行上各点的扩散误差,并 将其存储于寄存器(5);及将待处理像素点相邻三点的扩散误差求和并将求和 值存储在緩存器中;该图像残差累加模块(3)用于当下一行图像输入时,利用緩冲器中相邻三 点的扩散误差求和值计算出输出图像;该输出图像产生模块(1 )用于将输入图像信息传送到图像残差计算模块(2 ) 处理,并将图像残差累加模块(3)处理后的图像输出。
全文摘要
一种硬件实现的图像去抖动方法,步骤是A输入图像并计算出当前行上各点的扩散误差;B扩散误差的计算结果存储在寄存器中,并且将待处理像素点相邻三点的扩散误差求和;C将相邻三点的扩散误差求和值存储在缓存器中;D当下一行图像输入时,利用相邻三点的扩散误差求和值计算出输出图像。实施该方法的装置由输出图像产生模块、图像残差计算模块、图像残差累加模块、加法器模块、寄存器和缓冲器组成。本发明克服现有方法Buffer资源浪费大和硬件成本高的技术问题,本方法可以使截位误差分布到整副图像,从而避免色块出现。
文档编号G09G5/02GK101286302SQ20071003929
公开日2008年10月15日 申请日期2007年4月10日 优先权日2007年4月10日
发明者杨晓松, 巍 罗, 煜 陈 申请人:智多微电子(上海)有限公司

最新回复(0)