一种基于旋转抖动矩阵处理的图像处理方法

文档序号:9912069阅读:1013来源:国知局
一种基于旋转抖动矩阵处理的图像处理方法
【技术领域】
[0001] 本发明涉及图像处理技术领域,尤其涉及一种基于旋转抖动矩阵处理的图像处理 方法。
【背景技术】
[0002] 随着科技的发展,目前已进入信息爆炸的状态,尤其是视频类图像数据,由于其传 递表达信息的直观,应用范围越来越广,随之而来的问题就是如何用较少的资源开销保存 较完整的视频图像信息。该问题主要表现在两个方面:①对于目前大多数的8bit图像数据, 如何用较小的资源开销如5bit等保存完整的视频图像信息;②目前出现了高bit信息量的 图像数据,如l〇bit图像数据,如何用现有8bit资源保存较完整的视频图像信息。
[0003] 数字半色调技术(Digital Halftoning Technology)是基于人眼视觉特性和图像 呈色特性,利用数学、计算机等工具,在二值(或多色二值)呈色设备上实现图像的最优再现 的一门技术。当在一定距离下观察时,人眼将图像中空间上接近的部分视为一个整体。利用 此特性,人眼观察到的半色调图像局部平均灰度近似于原始图像的局部平均灰度值,从而 整体上形成连续色调的效果。
[0004] 抖动算法是目前应用较广的数字半色调技术。传统方法中在用6bit带宽表示8bit 数据时,直接将8bit数据量化为6bit,因此存在很大的信息丢失,导致视频图像的质量下 降。抖动算法的原理就是将高位的显示信息通过抖动矩阵计算分配到相邻的空间中,使得 图像质量得到明显改善,提高了显示的灰度级数。现有抖动算法有以下两种:
[0005] ①固定抖动矩阵处理算法:其是传统的抖动算法,在图像显示过程中,特别是对于 静止图像的显示,会出现明显的块状效应,这是因为传统的抖动算法处理时对每一图像帧 都采用相同的抖动矩阵;
[0006] ②旋转抖动矩阵处理算法:其主要是为了消除固定抖动矩阵处理算法造成的块状 效应,其原理是对若干个相邻的图像帧采用不同的抖动矩阵,经过旋转抖动矩阵处理后邻 近位置上的灰度效果仍然保持不变,且避免了同一抖动图案的叠加,从而可以消除方块效 应。
[0007] 以下针对旋转抖动矩阵算法的实现阐述现有技术。
[0008] 设当前处理图像帧为framecurrent,旋转抖动矩阵处理算法即是在用较少数据带宽 表示较高数据带宽后,将产生的像素值小数部分与周期性旋转抖动矩阵进行比较(设旋转 抖动矩阵个数为N,也即周期为N),并将比较结果累计至当前处理图像帧frame current降灰阶 处理后的对应像素点位置的像素值整数部分;旋转抖动矩阵处理方法的具体实现步骤如 下:
[0009] 首先,获取旋转抖动矩阵:旋转抖动矩阵是由一个基本抖动矩阵按照逆时针或顺 时针旋转而来,而基本抖动矩阵则例如是由Limb矩阵经过矩阵运算得到的:
[0010]
[0011] (b)、
,其中Un表不nXn的全一矩阵,从而 可以得到
[0012] (c)、获取旋转抖动矩阵:以2 X 2基本抖动矩阵为例,则基本抖动矩阵按照逆时针 旋转,可以获得周期性旋转抖动矩阵例如以下四个矩阵:
;通过周期 性地使用2 X 2旋转抖动矩阵,可以实现用6bit的数据带宽表示8bit的数据,也即使用2 X 2 旋转抖动矩阵处理方法,即可以实现用比原来少2bit的数据带宽较完整地表示原始数据信 息。若选择抖动矩阵选择4X4的抖动矩阵,可以实现用4bit的数据带宽表示8bit的数据。 [00 13] 然后,处理当前图像帧framecurrent:设原始视频是8bit(256级)数据源,现要用 6bit(64级)的数据带宽表示该视频,算法的具体实现包括以下步骤:
[0014] (1)、将原始视频的每一图像帧用64级(即6bit)进行降灰阶处理,则降灰阶处理后 的图像帧中各个像素点位置的像素值包含两部分:整数部分(Int)和小数部分(Dec)。比如 原始像素值122(256级)用64级降灰阶处理后的值Value = 64X 122/256 = 30.5 = Int+Dec, 其中Int表示整数部分,Dec表示小数部分(若Value〈l,则Int = 0);设整数部分和小数部分 分别为:
[0015]
[0016] (2)、当前处理图像帧framecurrent降灰阶处理后的各个像素点位置的像素值小数 部分与周期性旋转抖动矩阵比较,其中图像帧中的各个像素点位置的像素值也是以旋转抖 动矩阵的周期为周期来与对应的旋转抖动矩阵进行比较,具体为:
[0017] 确定与当前处理图像帧framecurrent进行比较处理的旋转抖动矩阵:即i =rem (current/4)+l,rem表示求余,current为当前处理图像帧的序号(例如第一个图像帧对应 current = 0),i表示与当前处理图像帧framecurrent对应的旋转抖动矩阵的序号;
[0018] 计算当前处理图像帧framecurrent降灰阶处理后每一个像素点位置处的比较结果, 以与Mat (对应i = 1)比较为例:将步骤(1)降灰阶处理后的像素值小数部分以2 X 2为单元, 每一个2X2单元与Mat!*对应位置的值比较;若像素值小数部分大于Mat!中对应位置的值, 则对应像素点位置的整数部分加1,反之则不加1(也即整数部分不变),从而得到每一个像 素点位置的像素目标值,其中i的取值范围为1~N。
[0019] 在这里由于使用6bit的数据带宽表示8bit的数据源,因此产生的小数部分只有0, 0.25,0.5,0.75。小数部分与旋转抖动矩阵比较过程,实际上是通过在邻近的四个图像帧中 整体实现小数部分。比如实现小数部分0.5,则是在邻近的四个图像帧中,其中有两个图像 帧对应像素点位置的像素值整数部分加1,另外两个图像帧对应像素点位置的像素值整数 部分没有加1,从而实现0.5。
[0020] 由上可知,旋转抖动矩阵算法实现的本质就是将在用低bit数据带宽表示高bit数 据时的小数部分在其邻近的多个图像帧内统计,而人眼观察到的图像局部平均灰度近似于 原始图像的局部平均灰度值,同时人眼具有懒惰性,从而整体上形成连续色调的效果。
[0021] 之后,对原始视频中的其他图像帧都按照上述方法处理;若处理的是一幅静止图 像,则相当于一个视频中的所有图像帧都是一样的。
[0022] 然而,现有技术存在一些不足,也即使用现有的旋转抖动矩阵时,比如2X2的旋转 抖动矩阵,可以实现用比原来少2bit的数据带宽表示原始数据信息,但若用比原来少3bit 或少更多bit表示原始数据信息时,实现精度降低,存在一些信息的丢失。例如同样采用2X 2的旋转抖动矩阵,若要用5bit(32级)的数据带宽表示原始8bit(256级)的数据,例如表示 8bi t的37,则Value = 32 X 37/256 = 4.625 = Int+Dec,在用2 X 2旋转抖动矩阵处理像素值小 数部分Dec时,在邻近的四个图像帧中,其中有三个图像帧的对应像素点位置的像素值整数 部分加1,另外一个图像帧的对应像素点位置的像素值整数部分没有加1,那么最终的表示 结果是〇. 75,而实际上的小数部分是0.625,也即表示结果不精确。

【发明内容】

[0023] 因此,为克服现有技术中存在的缺陷和不足,本发明提出一种基于旋转抖动矩阵 处理的图像处理方法。
[0024]具体地,本发明实施例提出的一种基于旋转抖动矩阵处理的图像处理方法,包括 步骤:(a)对第一图像帧进行降灰阶处理以得到第一降灰阶处理后图像帧;(b)将所述第一 降灰阶处理后图像帧的各个像素点位置的像素值小数部分与周期为N的N个旋转抖动矩阵 中的第一旋转抖动矩阵进行比较处理以得到所述第一降灰阶处理后图像帧的各个像素点 位置的像素目标值,其中N为正整数;(c)计算所述第一降灰阶处理后图像帧的各个像素点 位置的像素值小数部分经过一个周期的N个旋转抖动矩阵比较处理后的实现结果;(d)计算 所述实现结果与所述第一降灰阶处理后图像帧的各个像素点位置的像素值小数部分之间 的差值;(e)对第二图像帧进行降灰阶处理以得到第二降灰阶处理后图像帧,其中所述第二 图像帧为与所述第一图像帧相邻的下一个图像帧;(f)将所述差值累计到所述第二降灰阶 处理后图像帧的各个像素点位置的像素值上以得到累计残差后的第二降灰阶处理后图像 帧;以及(g)将所述累计残差后的第二降灰阶处理后图像帧的各个像素点位置的像素值小 数部分和所述周期为N的N个旋转抖动矩阵中的第二旋转抖动矩阵进行比较处理以得到所 述第二降灰阶处理后图像帧的各个像素点位置的像素目标值。
[
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1