OLED作为一种电流型发光器件已越来越多地被应用于高性能显示中。由于它自发光的特性,与LCD相比,AMOLED具有高对比度、超轻薄、可弯曲等诸多优点。但是,亮度均匀性和残像仍然是它目前面临的两个主要难题,要解决这两个问题,除了工艺的改善,就不得不提到补偿技术。

补偿方法可以分为内部补偿外部补偿两大类。内部补偿是指在像素内部利用TFT构建的子电路进行补偿的方法。外部补偿是指通过外部的驱动电路或设备感知像素的电学或光学特性然后进行补偿的方法。

1. 为何要对OLED进行补偿?

介绍补偿技术之前,首先我们来看看AMOLED为什么需要补偿。下图所示为一个最简单的AMOLED像素电路,它由两个薄膜晶体管(TFT)构建像素电路为OLED器件提供相应的电流。

与一般的非晶硅薄膜晶体管(amorphous-Si TFT)相比,LTPS TFT和Oxide TFT具有更高的迁移率和更稳定的特性,更适合应用于AMOLED显示中。在中小尺寸应用中多采用低温多晶硅薄膜晶体管(LTPS TFT),而在大尺寸应用中多采用氧化物薄膜晶体管(Oxide TFT)。这是因为LTPS TFT迁移率更大,器件所占面积更小,更适合于高PPI的应用。而Oxide TFT均匀性更好,工艺与a-Si兼容,更适合在高世代线上生产大尺寸AMOLED面板。

它们各有缺点。

由于晶化工艺的局限性,在大面积玻璃基板上制作的LTPS TFT,不同位置的TFT常常在诸如阈值电压、迁移率等电学参数上具有非均匀性,这种非均匀性会转化为OLED显示器件的电流差异和亮度差异,并被人眼所感知,即mura现象。

Oxide TFT 虽然工艺的均匀性较好,但是与a-Si TFT类似,在长时间加压和高温下,其阈值电压会出现漂移,由于显示画面不同,面板各部分TFT的阈值漂移量不同,会造成显示亮度差异,由于这种差异与之前显示的图像有关,因此常呈现为残影现象,也就是通常所说的残像。

2. OLED补偿分类

因此,在当前的工艺制作中,不管是LTPS还是Oxide都存在均匀性或稳定性的问题,而且OLED本身也会随着点亮时间的增加亮度逐渐衰减。既然这些问题难以在工艺上完全克服,就必须要在设计上通过各种补偿技术来解决。通常OLED的发光亮度和电流成正比,而电流是由TFT提供的,与TFT的特性参数相关。电流通常表示为:

I=kCox(Vgs-Vth)2(1+λVds)

k是和TFT迁移率有关的参数,Vgs和Vds又和电源电压与OLED驱动电压有关。可知影响电流大小的参数有TFT迁移率、阈值电压,OLED的驱动电压以及电源电压的大小。

补偿技术的主要目的就是要消除这些因素的影响,最终让所有像素的亮度达到理想值。

  • 内部补偿

下图是一个典型的内部补偿型电路,它由7个TFT和1个存储电容组成,因此被简称为7T1C结构。

类似还有6T1C,5T2C等很多类似电路结构,经过近几年的不断研究和发展,内部补偿电路的拓扑结构几乎已被穷尽,很难再有实用性的结构创新。

这种像素电路工作时一般都会有三个工作阶段,会经历复位、补偿、发光,即一个驱动周期至少要干2到3件事,因此对电路驱动能力和面板上的负载都有一定要求。

它的一般工作思路是在补偿阶段把TFT的阈值电压Vth先储存在它的栅源电压Vgs内,在最后发光时,是把Vgs-Vth转化为电流,因为Vgs已经含有了Vth,在转化成电流时就把Vth的影响抵消了,从而实现了电流的一致性。

但是实际因为寄生参数和驱动速度等影响,Vth并不能完全抵消,也即当Vth偏差超过一定范围时(通常∆Vth≥0.5V),电流的一致性就不能确保了,因此说它的补偿范围是有限的。

  • 外部补偿之Demura

外部补偿根据数据抽取方法的不同又可以分为光学抽取式电学抽取式。光学抽取式是指将背板点亮后通过光学CCD照相的方法将亮度信号抽取出来,电学抽取式是指通过驱动芯片的感应电路将TFT和OLED的电学信号抽取出来。

两种方法抽取的信号种类不同,因此数据处理的方式也不同。光学抽取的方式具有结构简单,方法灵活的优点,因此在现阶段被广泛采用,即为我们平时所说的Demura。

Mura一词源于日本,原意指亮暗不均,后扩展至面板上任何人眼可识别的颜色差异。

对于面板厂而言,需要进行质量监控,因此在产线上均有技术员去检测判定mura,但是这种方法很主观,不同人的判定有差异,给品质管控带来很大的困扰。

因此技术人员开发出AOI(automatic optical inspection)设备进行mura的检测,以及检测到Mura后进行补偿消除Mura,即Demura,本文讲重点介绍Demura。

3. Demura一般步骤

a. Drive IC点亮面板(TV/mobile/Tablet),并显示数个画面(一般是灰阶或者RGB)。

b. 使用高分辨率和高精度的CCD照相机拍摄上述画面。

c. 根据相机采集数据分析pixel颜色分布特征,并根据相关算法识别出Mura。

d. 根据mura数据及相应的Demura补偿算法产生Demura数据。

e. 将Demura数据烧录到Flash ROM中,重新拍摄补偿后画面,确认Mura已消除。

检测画面

点亮面板后需要被检测的画面根据不同面板厂的要求,一般是不同的。

有些面板厂的Demura只对亮度差异进行补偿,不对色彩差异进行补偿,这种Luminance Demura一般只需要检测灰阶画面,而且由于不同灰阶时呈现的Mura不同,一般会检测高中低灰阶的Mura,最后Demura数据平均,当然具体的设定不同面板厂会根据自己的实际需求进行选择。

有些面板厂进行的是比较全面的Color Demura,即不仅对亮度同时对色度差异也进行补偿。

此类型的color Demura的检测画面,有些采用灰阶画面,有些采用RGBW画面,不同面板厂根据技术和需求选择不同。

相机拍照

为了达到代替技术员的目标,以下两点时必须的:
1、相机符合CIE1931人眼匹配函数,
2、相机能达到人眼的分辨率。

拍摄检测画面时一般采用高精度高分别率的CCD相机,相机分辨率的选择取决于被检测面板的分辨率,大小,拍摄距离以及Demura补偿的精度。

为了达到最佳的检测和补偿效果。相机最终得到的数据一定要是XYZ,且后续的计算均是基于相机拍照得到的XYZ数据。

Mura识别

得到面板XYZ的分布数据后就可以根据不同的算法检测不同的Mura,关于Mura检测目前有二个国际标准:
1.German Flat Panel Display Forum
2.IDMS(former VESA)

当然Mura检测异常复杂,各个厂家都有开发自己的Mura检测算法,也算是自己的核心技术。Mura识别的内容太多,本文举几个简单的例子作为说明。

上图是科学家做实验得出的人眼对比敏感性函数,黄色曲线以上部分,人眼基本无法识别出Mura,可以看出两个因素可以明显影响对Mura严重程度的判定:
1、亮暗对比程度的差异
2、亮暗差异的周期分布

Mura检测之傅里叶变换

任意一个图像均可以分解为不同频率,强度,相位,方位的sin函数。

Mura检测之边缘识别

经过傅里叶变换后,高频部分可以用来识别图像边缘。

Mura检测之边缘识别

经过对比增强后,原本很微弱不易识别的Mura可以明显被识别,当然还有很多其它的方法,例如比较Pixel与周围pixel的亮度差异,计算亮度梯度,计算色差等方法。

Demura算法

为了更好的理解Demura补偿算法,可以观看以下视频和图片:可以看出Demura算法原理其实很简单:

只是把它认为偏暗的区域变亮,或者偏亮的区域变暗,或者将有色偏的区域消除,最终的目标是使得面板不同区域有大体相同的颜色,当然需要平滑的算法来消除Mura边界。

烧录

OLED Demura数据确定后,就需要将其烧录到EEPROM中以实现补偿效果,最后再拍照确认Mura已消除,Demura数据占用ROM空间的大小取决于屏幕分辨率以及补偿精度(pixel级,3*3,5*5…..)。

Demura 前:

Demura 后:

OLED Demura总结

OLED Demura技术,目前三星和LG处于领先的位置,但是Demura技术很复杂,均不能算成熟完美,国内各个厂家也在积极开发子自己的Demura技术,希望能够提升良率。

Demura 难点总结如下:
1、如何使用CCD相机快速准确的抓取每个pixel的颜色?
2、如何识别不同类型的Mura,有些Mura正视不可见,侧视可见?
3、如何进行快速高效的补偿,以免速度太慢对产能造成损失?

以上问题,期待大家的共同努力,早日突破解决。

OLED中的Demura的更多相关文章

  1. 自定义AXI总线形式SPI接口IP核,点亮OLED

    一.前言 最近花费很多精力在算法仿真和实现上,外设接口的调试略有生疏.本文以FPGA控制OLED中的SPI接口为例,重新夯实下基础.重点内容为SPI时序的RTL设计以及AXI-Lite总线分析.当然做 ...

  2. OLED的相关信息

    有2种方式与OLED模块相连接,一种是8080的并口方式,另一种是4线SPI方式. ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS: OLED 片选信号.WR:向 OL ...

  3. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  4. 【鸿蒙开发板试用报告】用OLED板实现FlappyBird小游戏(中)

    小伙伴们久等了,在上一篇<[开发板试用报告]用OLED板实现FlappyBird小游戏(上)>中,我们本着拿来主义的原则,成功的让小鸟在OLED屏幕上自由飞翔起来,下面我们将加入按钮交互功 ...

  5. zedboard中OLED源码

    #include <stdio.h> #include "platform.h" #include "xil_types.h" #include & ...

  6. spi子系统之驱动SSD1306 OLED

    spi子系统之驱动SSD1306 OLED 接触Linux之前,曾以为读源码可以更快的学习软件,于是前几个博客都是一边读源码一边添加注释,甚至精读到每一行代码,实际上效果并不理想,看过之后就忘记了.主 ...

  7. I2C子系统之驱动SSD1306 OLED

    理解I2C设备驱动框架,主要围绕四个结构体去分析就容易了. struct i2c_algorithm:提供I2C协议的实现的操作,如:master_xfer实现数据收发的最基本方法. struct i ...

  8. 基于TQ2440的SPI驱动学习(OLED)

    平台简介 开发板:TQ2440 (NandFlash:256M  内存:64M) u-boot版本:u-boot-2015.04 内核版本:Linux-3.14 作者:彭东林 邮箱:pengdongl ...

  9. STM32学习笔记——OLED屏

    STM32学习笔记--OLED屏 OLED屏的特点: 1.  模块有单色和双色可选,单色为纯蓝色,双色为黄蓝双色(本人选用双色): 2.  显示尺寸为0.96寸 3.  分辨率为128*64 4.   ...

随机推荐

  1. rabbitmq 消息确认

    消息确认主要用在接收方 如果接收方没有确认, broker可以重发,确保消息至少消息一次..

  2. vue打包后出现的.map文件

    run dev build 打包项目后出现的list中的".map"文件最大. “.map”文件的作用:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得 ...

  3. Python Requests IP直连

    import re import requests from urllib3.util import connection _orig_create_connection = connection.c ...

  4. 在循环中使用break案例

    break 表示中断,当在循环中遇到break 则结束当前整个循环,循环外面的语句. 下面的案例中,break结束的是do while循环里面的语句 class DoWhile02{ public s ...

  5. crypto-js计算文件的sha256值

    1. 要在浏览器中计算出文件的sha256或md5值,基本思路就是使用HTML5的FileReader接口把文件读取到内存(readAsArrayBuffer),然后获取文件的二进制内容,然后获取文件 ...

  6. Digispark(ATTINY85) 微型开发板驱动安装与开发环境配置教程

    前几天无聊就弄了弄这个玩,网上教程可能有点杂,在这里就总结一下. Digispark开发板(也就是badusb)能干什么,自己搜去,/坏笑. 1.准备材料:Attiny85微型 USB接口开发板 Di ...

  7. iOS 模拟器截屏快捷键

    iOS 模拟器截屏快捷键: cmd+S

  8. yum无法正常安装,提示如下 There are no enabled repos Run "yum repolist all"

    一般来说著名的linux系统基本上分两大类:1 RedHat系列:Redhat.Centos.Fedora等2 Debian系列:Debian.Ubuntu等RedHat 系列:1 常见的安装包格式 ...

  9. Tomcat热启动

    ===== 2017.7.1 ===== 如果是对原来的类方法修改,那么热启动非常好用:如果是添加了新的类或方法(非最上层的controller),那么此方法也是好用的:但是如果是在controlle ...

  10. T_SQL 语句想已有数据表添加约束

    如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败. 如: USE DEmo--指向当前操作的数据库 GO ALTER TABLE Employee ADD CONSTRA ...