一种用于图像显示的抖动算法的制作方法

文档序号:7613814阅读:315来源:国知局
专利名称:一种用于图像显示的抖动算法的制作方法
技术领域
本发明涉及一种用于图像显示的抖动算法。
背景技术
从最简单的意义上讲,抖动是通过混合各种颜色,使用户在屏幕上看到实际并不存在的颜色。通常的抖动是指,对灰度图像经过抖动处理后所形成的二值图像能够模拟原始图像灰度的变化,从而使人眼能感受到灰度的连续变化。
早期的抖动技术是用一组黑白点的阵列来代替原始图像中的一个灰度像素,而用白点的多少反映该像素的灰度等级,此方法实质上是用空间换取灰度级的。随着应用的扩展,这项技术目前已经应用到了彩色数字图像的显示。
但是上述的抖动技术存在这样一个问题即一个像素可供使用的位数的物理限制,使得其对一种特定颜色不能以足够的深度加以显示,因此产生大量的抖动算法用以补偿截断误差,最有名的算法如Floyd-Steinberg抖动算法、有序抖动算法、Stucki抖动算法、Burkers抖动算法、Sierra抖动算法等等,美国专利5479594和中国专利1489758A都给出了类似的抖动方法和装置。
但是上述所有的已知抖动算法不是太复杂,就是需要大量存储数据的存储器,消耗过多的硬件资源,导致成本大大提高,增加不必要的开支。

发明内容
本发明提供的一种用于图像显示的抖动算法,可将多位宽的输入像素值转换成较少位宽的输出值,计算过程简单,计算速度快。
为了达到上述目的,本发明提供了一种用于图像显示的抖动算法,其包含以下步骤步骤1、输入该图像当前像素的像素值In(x,y),其中x和y分别表示该像素在数字图像中所处的行数和列数;
步骤2、读取该点像素的输入像素值的比特数n,设定该点像素的输出像素值的比特数为m,并将该输入像素值的高m位的数值赋值给B;步骤3、令k=n-m,k表示该输入像素值被截掉的低位比特数,并将该输入像素值的低k位的数值赋值给A;步骤4、令i=mod(x,k),通过取余函数,将x除以k得到的余数赋值给i;令j=mod(y,k),通过取余函数,将y除以k得到的余数赋值给j;步骤5、将计算得到的i和j作为行数和列数,在预先固定的阈值矩阵中映射读取对应位置的值F(i,j);步骤6、将A值与F(i,j)值相加,取进位值并赋值给C;步骤7、令D=B+C;步骤8、判断计算得到的D的值是否大于预先设定的最大值MAX,如果是,则输出MAX值作为该点像素的输出像素值;如果否,则输出D值作为该点像素的输出像素值;步骤9、判断是否已经对数字图像所有的像素统计完毕,如果否,则按顺序继续遍历数字图像的下一个像素,并返回循环执行步骤1~步骤9;如果是,则结束。
本发明提供的用于图像显示的抖动算法,步骤1中,可输入图像像素的R、G、B的分量值进行处理,不会对图像产生任何模糊边缘的影响。
本发明提供的用于图像显示的抖动算法,步骤6中,得到的进位值C为0或1。
本发明提供的用于图像显示的抖动算法,步骤9中,可按先行后列,或先列后行的顺序遍历到图像的所有像素。
本发明提供的用于图像显示的抖动算法,将多位宽的输入像素值转换成较少位宽的输出值,计算过程简单,计算速度快,适用于高速的数字图像处理,可应用于各种数字显示器或液晶显示器。


图1是本发明提供的用于图像显示的抖动算法的流程图。
具体实施例方式
以下根据图1来具体说明本发明的一种最佳实施方式如图1所示,是本发明提供的用于图像显示的抖动算法的流程图,其包含如下步骤步骤1、输入该图像当前像素的像素值In(x,y),其中x和y分别表示该像素在数字图像中所处的行数和列数;步骤2、读取该点像素的输入像素值的比特数n=8,设定该点像素的输出像素值的比特数为m=6,并将该输入像素值的高m位,即高6位的数值赋值给B;步骤3、令k=n-m=2,k表示该输入像素值被截掉的低位比特数,并将该输入像素值的低k位,即低2位的数值赋值给A;步骤4、令i=mod(x,2),通过取余函数,将x除以2得到的余数赋值给i;令j=mod(y,2),通过取余函数,将y除以2得到的余数赋值给j;步骤5、将计算得到的i和j作为行数和列数,在预先固定的阈值矩阵中映射读取对应位置的值F(i,j),该阈值矩阵是一个大小为2×2的矩阵;步骤6、将A值与F(i,j)值相加,取进位值并赋值给C,C的值一般为1或0;步骤7、令D=B+C;步骤8、判断计算得到的D的值是否大于预先设定的最大值MAX,如果是,则输出MAX值作为该点像素的输出像素值;如果否,则输出D值作为该点像素的输出像素值;步骤9、判断是否已经对数字图像所有的像素统计完毕,如果否,则按顺序继续遍历数字图像的下一个像素,并返回循环执行步骤1~步骤9;如果是,则结束。
本发明提供的用于图像显示的抖动算法,步骤1中,可输入图像像素的R、G、B的分量值进行处理,不会对图像产生任何模糊边缘的影响。
本发明提供的用于图像显示的抖动算法,步骤6中,得到的进位值C为0或1。
本发明提供的用于图像显示的抖动算法,步骤9中,可按先行后列,或先列后行的顺序遍历到图像的所有像素。
本发明提供的用于图像显示的抖动算法,将8位比特宽的输入像素值转换成6位比特宽的输出值,计算过程简单,计算速度快,适用于高速的数字图像处理,可应用于各种数字显示器或液晶显示器。
权利要求
1.一种用于图像显示的抖动算法,特征在于,其包含以下步骤步骤1、输入该图像当前像素的像素值In(x,y),其中x和y分别表示该像素在数字图像中所处的行数和列数;步骤2、读取该点像素的输入像素值的比特数n,设定该点像素的输出像素值的比特数为m,并将该输入像素值的高m位的数值赋值给B;步骤3、令k=n-m,k表示该输入像素值被截掉的低位比特数,并将该输入像素值的低k位的数值赋值给A;步骤4、令i=mod(x,k),通过取余函数,将x除以k得到的余数赋值给i;令j=mod(y,k),通过取余函数,将y除以k得到的余数赋值给j;步骤5、将计算得到的i和j作为行数和列数,在预先固定的阈值矩阵中映射读取对应位置的值F(i,j);步骤6、将A值与F(i,j)值相加,取进位值并赋值给C;步骤7、令D=B+C;步骤8、判断计算得到的D的值是否大于预先设定的最大值MAX,如果是,则输出MAX值作为该点像素的输出像素值;如果否,则输出D值作为该点像素的输出像素值;步骤9、判断是否已经对数字图像所有的像素统计完毕,如果否,则按顺序继续遍历数字图像的下一个像素,并返回循环执行步骤1~步骤9;如果是,则结束。
2.如权利要求1所述的用于图像显示的抖动算法,其特征在于,步骤1中,可输入图像像素的R、G、B的分量值。
3.如权利要求1所述的用于图像显示的抖动算法,其特征在于,步骤6中,所述的进位值C为0或1。
4.如权利要求1所述的用于图像显示的抖动算法,其特征在于,步骤9中,可按先行后列,或先列后行的顺序遍历到图像的所有像素。
全文摘要
本发明提供一种用于图像显示的抖动算法,包含以下步骤将当前像素的输入像素值中被截掉的低k位的值与预先固定的阈值矩阵中对应位置的值相加,取进位值,再将该进位值与输入像素值中的高m位的值相加,若相加得到的值大于预先设定的最大值,则输出该最大值为当前像素的输出像素值,若相加得到的值小于预先设定的最大值,则输出该相加值为当前像素的输出像素值;依此,遍历整个图像,对所有像素完成上述操作。本发明提供的用于图像显示的抖动算法,将多位宽的输入像素值转换成较少位宽的输出值,计算过程简单,计算速度快,适用于高速的数字图像处理。
文档编号H04N5/202GK1767595SQ20051002952
公开日2006年5月3日 申请日期2005年9月8日 优先权日2005年9月8日
发明者陈柏钦, 侯钢, 王国中 申请人:上海广电(集团)有限公司中央研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1