参考例子:https://www.grc.com/ctwhat.htm

https://en.wikipedia.org/wiki/Subpixel_rendering

http://archernzy.blogspot.com/2017/03/sub-pixel-rendering.html

1, SPR的一些缺点

(1)只能用在LCD上,不可用在CRT上

这是显而易见的,因为SPR基于子像素重新排列,而CRT是不能以子像素为单位操作的

(2)黑色或白色,即强对比度的时候效果最好

(3)仅在水平方向起作用

因为SPR使用相邻子像素扩展当前Pattern

(4)对子像素顺序敏感

需判断子像素是RGB还是BGR,否则可能把R/B判断混乱

2, SPR基本思想

The idea behind sub-pixel rendering is to use an LCD display's directly addressable sub-pixels to triple the effective horizontal resolution of the display.

3, SPR的来源

每个像素一般情况下是由RGB三原色组成,每个像素上的每种颜色叫一个"子像素"。 子像素
在家用电视上我们常常说到"真4K"和"假4K"。其中"真4K"采用的面板一般是3840x2160x3个子像素。从前面介绍LCD我们知道面板上通常采用CF(Color Filter)得到不同颜色的光,因此一种想法就是构造RGBW这样的4色子像素结构,即2880*2160*4。这样从色彩的角度来看,每个颜色的分量都减少了1/4,但是亮度上来说,由于增加了一份W,因此RGBW整体效果看起来会明亮很多。由于颜色分量的减少,因此为了

由于人们对子像素的深入了解,这里主要的研究算法为:

基于色彩转换的RGB<-->RGBW,由于颜色分量的减少,为了正确显示颜色,就需要有RGBW算法。

基于子像素减少的Sub pixel Rendering,为了弥补像素的减少,让3个子像素表示原有4个像素的效果。

4, RGB, EGBW, Pentile RGBG, RGB Delta子像素排列

(1) RGB

(2) RGBW

RGBW主要是增加了W子像素,不仅可以提高面板的整体亮度表现,同时也可以达到节约成本的目的。主推RGBW面板的包含韩国的LGD的M+以及日本JDI的WhiteMagic。

(3) Pentile RGBG

Pentile RGBG是由Samsung所主导的在AMOLED上的Pentile排布中的一种,由于专利问题,目前国内的各大厂商都无法生产RGBG排布的面板。

(4) RGB Delta

由于专利问题,目前国内各大厂商只能生产RGB delta排布的面板。

(5) Pentile RGBG vs. RGB Delta

同样表示2行3列共6个像素
  • 采用RGBdelta结构,一共使用了4个完整的RGB单元,相当于节省了1/3的子像素,共12个子像素;
  • 采用RGBG的结构,一共使用了6个不完整的RGB单元,每个单元分别包含RG或者BG2分量的子像素,子像素个数为12个;
可见,RGBG针对不同的分量的取舍不一样,更多的保留了G子像素,人眼对G分量最敏感,因此从这个角度上来看RGBG似乎是一种更优的结构。

SPR, subpixel rendering的更多相关文章

  1. CSS Animation triggers text rendering change in Safari

    薄荷新首页上周五内测,花哥反馈在 MacBook Safari 浏览器下 鼠标移动到第一个商品的时候后面几个商品的文字会加粗.这是什么鬼??? 待我回到家打开笔记本,鼠标蹭蹭蹭的发现问题远不止如此: ...

  2. #IrrlichtEngine# Example1 HelloWorld

    配置IDE环境来使用irrlicht引擎: (VS2012下)菜单栏项目 -> 项目属性窗口下 C/C++ -> 常规 -> 附加包含目录中添加irrlicnt引擎文件目录下incl ...

  3. Perfect smooth scrolling in UITableViews

    https://medium.com/ios-os-x-development/perfect-smooth-scrolling-in-uitableviews-fd609d5275a5 Diffic ...

  4. 提高HTML5 canvas性能的几种方法

    简介 HTML5 canvas 最初起源于苹果(Apple)的一项实验,现在已经成为了web中受到广泛支持的2D快速模式绘图(2Dimmediate mode graphic)的标准.许多开发者现在利 ...

  5. 〖Linux〗Kubuntu14.04 平滑字体的设置

    有没有感觉终端的字体锯齿感觉非常强? 经过搜索后发现可以平滑字体显示得更漂亮一点: System Settings > Application Appearance > Fonts I e ...

  6. Real Time Rendering 2

    [Real Time Rendering 2] 1.The light vector l is usually defined pointing in a direction opposite to ...

  7. Method for sub-pixel texture mapping and filtering

    BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for ...

  8. 【原】实时渲染中常用的几种Rendering Path

    [原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...

  9. Forward+ Rendering Framework

    近几天啃各种新技术时又一个蛋疼的副产品...额,算是把AMD的Forward+ Sample抄了一遍吧. 其实个人感觉这个AMD大肆宣传的Forward+跟Intel很早之前提的Tiled-Based ...

随机推荐

  1. pymysql连接mysql报错

    pymysql模块操作数据库及连接报错解决方法   import pymysql sql = "select host,user,password from user" #想要执行 ...

  2. violet

    操作系统的发展史 1.穿孔卡片 一个计算机机房一次只能被一个卡片使用 缺点:cpu的利用率低 2.联机批处理系统 支持多用户去使用一个计算机机房 3.脱机批处理系统 告诉磁盘 提高文件的读取速度 优点 ...

  3. 【gcc】更新下载编译gcc遇到的各种问题

    帮学长的oj升级gcc版本.遇到了贼多问题.. [悲惨的开始] 安装gcc版本推荐ustc的mirror的下载,超快der... https://mirrors.ustc.edu.cn/gnu/gcc ...

  4. hadoop备战:hbase的分布式安装经验

    配置HBase时,首先考虑的肯定是Hbase版本号与你所装的hadoop版本号是否匹配.这一点我在之前 的博客中已经说明清楚,hadoop版本号与hbase版本号的匹配度,那是官方提供的.以下的实验就 ...

  5. userdel -删除使用者帐号及相关档案

    总览 SYNOPSIS userdel [-r] login 描述 userdel 命 令 修 改 系 统 帐 号 档 删 除 所 有 login 会 参 考 的 部 份 . 使 用 者 名 称 必 ...

  6. Vultr账号被锁定的几个常见原因

    很多小伙伴使用都在问Vultr账号为什么又是会出现被锁定的情况,今天我们就来了解一下Vultr账号被锁定的几个常见原因. 1.Vultr主机违规使用 按照Vultr主机商的要求,我们的Vultr主机也 ...

  7. Codeigniter 列出所有控制器和控制器的方法(类似路由列表)

    我的思路是: 读取控制器文件夹下的所有 php 文件 获取父级的控制器的方法的不应该出现在每个控制器的路由中,所以需要排除父级控制器的方法 读取 控制器文件夹下的 php文件的类名和方法 下面的代碼是 ...

  8. d3创建多个svg元素

    当然也可以创建dom var svg = d3.select('#svg'); svg .slectAll('circle.bb')     //选中DOM中的所有circle.bb标签,当DOM中不 ...

  9. 区别 |python-pandas库set_index、reset_index用法区别

    1.set_index() 作用:DataFrame可以通过set_index方法,将普通列设置为单索引/复合索引. 格式:DataFrame.set_index(keys, drop=True, a ...

  10. 使用Process子类创建进程

    #_author:来童星#date:2019/12/17# 使用Process子类创建进程from multiprocessing import Processimport timeimport os ...