基于直方图变换的LED背光源节电调光方法
器,没有输出引脚;定时器0 有死区发生器,常用于大电流设备中;定时器0、1 共用一个8bit 预脉冲分频器,定时器2、3、4 共用另外一个。每个定时器都有一个时钟分频器,它可以产生5 种分频信号(1/2、1/4、1/8、1/16 和TCLK)。每个定时器模块从自己的时钟分频器获取时钟信号,时钟分频器从相应的8bit 预脉冲分频器中获取时钟。这个8bit 预脉冲分频器是可编程的,并依据TCFG0 和TCFG1 寄存器中的值对PCLK进行分频。定时器被使能之后,定时器计数缓冲寄存器(TCNTBn)中的初始值就被加载到递减计数器中, 定时器比较缓冲寄存器(TCMPBn) 中的初始值就被加载到比较寄存器中,以便与递减计数器的值进行比较。这种TCNTBn 和TCMPBn 的双缓冲特点使得定时器在频率和占空比变化时输出的信号更加稳定。每个定时器都有一个自己的时钟驱动的16bit 递减计数器,当计数器减到0 时,产生一个定时器中断请求,以通知CPU 定时器操作完成,同时定时器计数缓冲寄存器的值被再次自动加载到递减计数器继续下次操作。然而,如果在正常模式下清除定时器TCONn 的使能位,TCNTBn的值将不再加载进计数器,TCNTBn 的值常用于PWM.当递减计数器的值等于比较寄存器的值,定时器控制逻辑改变输出电平,因此,比较寄存器决定了PWM 输出的开启和关闭。
设置一个定时器,首先初始化TCNTBn 和TCMPBn,在初始化定时器时,主要设定以下几个寄存器(以定时器0 为例):
定时器输出时钟频率= PCLK/(prescaler value+1)/(divider value)
TCFG0 寄存器设置:TCFG0=99;//prescaler value="99"
TCFG1 寄存器设置:TCFG1=0x03;//divider value="1/16"
这样,当PCLK=400M 时,定时器输出频率为6.25M.
定时器初值的设置包括:
TCNTB0 寄存器设置:TCNTB0=62500;// 装入初值1s 中断一次
TCMPB0 寄存器设置:TCMPB0=rTCNTB0>1;//50%
接着就可以启动定时器,第一次必须手动装载:TCON=1<1;
装载后, 改为自动装载, 并启动定时器:TCON=0x09.
2.3 基于S3C2440 的图像算法设计
S3C2440 芯片内部集成了LCD 控制器,用来向LCD 传输图像数据,并提供必要的控制信号,比如VFRAME、VLINE、VCLK、VM 等,可以支持STNLCD和TFTLCD.mini2440 采用3.5in(分辨率为240×320像素)的TFT 液晶显示屏,配置为常用的16BPP(5:6:5)模式。要显示图像,只要向LCD_BUFFER 写入像素数据(R(5):G(6):B(5)),LCD 控制器就会自动通过DMA读取数据送往TFTLCD显示。
图像算法是基于图像直方图进行数据变换的,所以,首先应编写子程序并先计算形成显示图像的灰度直方图,算法如下所示(其中bmp 为原始的灰度图像,bmp_2 为灰度值数组):
for( y = 0;y < 320;y++ )
{for(x = 0; x < 240; x++)
{bmp_2 [bmp[p]] ++;
p = p + 1;
}
}
假设取5%的失真度,那么需要变换的像素点数量为240×320×5%=3,840 点,然后根据上述算法原理采用逐点计算的方法使fgl 从灰度0 开始分别计算出对应的(fgh- fgl ),最后比较求出min(fgh - fgl)。
下一步对直方图进行线性搬移,使灰度整体向暗区域移动fgl,这样图像灰度区域由[0,255]区间内的原分布,被压缩在[0,fgh- fgl]区间。接下来应对图像进行灰度拉伸,以弥补背光导致的亮度损失。若采取线性拉伸方法, 显然拉伸的最大倍数为255/ (fgh- fgl)。算法如下所示(其中bmp 为原始的灰度图像,bmp_new 为更新图像,min= min(fgh - fgl)):
for(y = 0;y < 320;y++)
{for(x = 0;x < 240;x++ )
{if (bmp[p]>= fgl )
bmp_new[p] = (bmp[p] - fgl )*255/min;
else
bmp_new[p] =0;
p++;
}
}
此时像素灰度不会饱和,则背光亮度可由1 降低为(fgh- fgl)/255,由LED 驱动电路通过PWM 实现相应亮度的控制。
3 实验结果
如图4 所示为测试图像,图4(a)为原始图像,图4(b)、(c)、(d)为采用直方图裁剪与拉伸算法的试验结果图。
测试图4 (b) 的失真度为5% ,节能比例为35% ;测试图4(c)的失真度为10% ,节能比例为55% ;测试图4(d)的失真度为20% ,节能比例为67%.由实验结果可知,在一定的失真度下,显然直方图裁剪的灰度范围越小,背光亮度可降低的幅度越大。原始测试图像与经过直方图裁剪和拉伸的图像相比,在失真度5%的约束下,由于图像进行了直方图搬移,整体亮度有所变化,总的来说图像质量没有明显损失。
4 结论
- 笔记本电脑用LED背光源的设计方案(06-03)
- 基于3G手机的视频监控系统设计(10-08)
- 嵌入式人脸识别门禁系统设计与实现(09-21)
- 基于ARM的扩散/氧化控制系统的设计(04-27)
- LT3751如何使高压电容器充电变得简单(08-12)
- 三路输出LED驱动器可驱动共阳极LED串(08-17)