简图记录总结

一、概念

GAMMA概念:CRT显示器屏幕上产生亮度输出和输入电压信号不成正比存在失真,gamma最初就是用于描述显示器件亮度响应特性参数,调整gamma曲线就是针对输出输入曲线的调整。后来衍生到 在拍摄端、显示端对亮度或者归一化三基色进行非线性转化的过程。

显示设备的GAMMA值:CRT显示曲线归一化处理后,亮度输出和电压输入接近y=x^2.2的曲线,这里我们称gamma=2.2,一般CRT设备gamma值都在2.2~2.5左右。对于LCD设备本身是没有类似的特性,但实际一般也会人为的校正到gamma为2.2左右(原因源于人眼的gamma特性)。

人眼的gamma特性:人眼实际对亮度的感知也是非线性的,一般呈现指数关系。在低照度下,人眼更容易分辨出亮度变化,随着亮度的增加,反而不容易感知亮度变化,人眼感知亮度 和 实际光照强度输入 约呈现月y=x^0.4的曲线。(人眼在不同亮度环境下曲线都回有所变化,因此 对于电影/电视/电脑 不同环境,编码/解码 配合的gamma值都是有差异的)

文件采集存储的gamma特性:基于人眼低亮度感知变化更敏感这一特性,在采集或存储阶段,为了更有效的保存信息,都回对数据进行非线性转化如存储值与输入亮度y=x^0.5,使用8bit非线性存储的内容还原后能接近11bit线性存储感官效果。

二、典型显示通路

理解了基本的gamma概念后,我们不难看出gamma是一个端到端的通路特性。一个典型的显示通路如下:(1)内容制作采集设备,使用y=x^(1/2.2)曲线进行采集,然后将R'G'B'数据再CSC转化为YUV数据,便于编码/传输,节省文件大小和传输带宽。(2)显示传输设备,如视频盒子/电视端SOC处理部分,将YUV进过CSC转化为R'B'G',进行gamma曲线微调达到产品预期的色温白平衡等显示风格。(3)屏端显示设备,将R'B'G'按如曲线y=x^2.2进行显示。

三、GAMMA常见实现方案

如当通路中为RGB10bit数据,那么GAMMA逻辑处理模块要做的就是通过查表将0~1023的分量输入映射到0~1023的输出,调整GAMMA曲线就是调整这张1024个数据的数据表,RGB可单独使用不同的数据查找表也可使用一张数据表节省空间。(实际的场景中,不同的源采集的曲线不同,输出使用的表也不同,应此一个显示系统往往存在各种gamma曲线在不同场景使用)

四、重点事项

关于屏端Gamma校正:屏作为显示端,其GAMMA曲线非常重要,直接影响 亮度/对比度/噪声/颜色,调节好屏端gamma是一切调节图像效果的基础,一般情况下调整gamma的过程 为依次输入0~1024的灰阶,确认灰阶饱和丢失现象,通过调整gamma曲线最终达到gamma=2.2的要求。

关于不同gamma值的影响:最理想的状态时显示系统所有的内容都使用一个gamma值采集制作,显示端俺统一的gamma显示,但实际无法保证,如本地码流/网络码流/图片/HDMI源 由于环境擦汗以,gamma编码值夜不同,解决方案是在不同的场景使用不同的gamma系数。但实际过程往往无法做到完全匹配,如在播放视频过程调出菜单,GPU绘制的菜单往往是完全线性的RGB,应此在2.2gamma显示过程会有轻微偏色。

关于线性与非线性算法处理gamma影响:从整个视频通路来看,过程图象都是处理非线性数据。如果某个算法必须要在线性领域处理(如需要做周边数据参考,而且必须要是线性参考系),那么在做数据处理前必须要有degamma的过程,将数据变为线性数据,然后处理完成后再重新进行gamma还原。

简图记录-GAMMA技术基础相关推荐

  1. 简图记录-正则表达式原理与应用基础

    简图记录学习- <正则表达式应知应会> 正则表达式是一种对文本匹配的逻辑公式,用于指定规则文本内容的搜索.编辑 许多语言如perl.python.c++.java都有对正则的支持,大量li ...

  2. Docker | Docker技术基础梳理(五) - Docker网络管理

    Docker | Docker技术基础梳理(五) - Docker网络管理 链接: 原文链接 原文链接: https://gitbook.cn/books/5b8f3c471966b44b00d265 ...

  3. BlockChain:区块链技术基础概念综合理解——个人总结

    BlockChain:区块链技术基础概念综合理解--个人总结 目录 区块链的进阶与意义 1.区块链技术的进阶 2.区块链技术三大意义-传递价值.建立可信用环境.提高效率和降低成本 1.传递价值 2.建 ...

  4. (零)音视频技术基础知识,现实项目

    前言 耽误了很久,一直想写音视频开发的教程,一方面,音视频的发展正在向各个行业扩展,从教育的远程授课,交通的人脸识别,医疗的远程就医等,音视频方向已经占据一个相当重要的位置,而音视频真正入门的文章又少 ...

  5. AOP技术基础(转)

    1.引言 软件设计因为引入面向对象思想而逐渐变得丰富起来."一切皆为对象"的精义,使得程序世界所要处理的逻辑简化,开发者可以用一组对象以及这些对象之间的关系将软件系统形象地表示出来 ...

  6. 计算机硬件密码,计算机硬件技术基础综合性实验任务书(08)密码门锁的模拟_C

    11 计算机硬件技术基础课程设计任务书编号:8 河北工业大学计算机硬件技术基础(MCS-51单片机原理及应用) 综合性实验任务书 学院班级设计人成绩 一.题目:用单片机模拟密码门锁 二.目的与要求: ...

  7. SAP R3 系统技术基础

    1.在线帮助 在SAPR/3三层客户/服务器体系结构的客户端,SAP提供了可移植的能运行于多种平台的一致的用户界面,称为SAPGUI.SAPGUI依据软件人类工程学的最新研究成果,以<SAPSt ...

  8. 5G核心网技术基础自学系列 | 消息业务

    书籍来源:<5G核心网 赋能数字化时代> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G核心网技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 ...

  9. 《C#语言和数据库技术基础》单词必备

    <C#语言和数据库技术基础> 第一章 1..NET Framework   框架 2.sharp            尖锐,强烈的 3.application      应用程序 4.d ...

最新文章

  1. 【QT】Qt正则表达式的使用:使用QRegExp来限制QLineEdit的输入格式
  2. TiDB 在中通的落地与进化
  3. 修改Spring boot内置的tomcat端口
  4. #修改margin_springboot+jpa+tymeleaf实现信息修改功能
  5. python【蓝桥杯vip练习题库】ADV-17统计单词数
  6. 关于自动寻径和图、邻接表的学习和启发
  7. python中的reduce函数
  8. Java内存模型与happens-before原则
  9. QM课程02-外部功能
  10. centos 6.5 安装redis
  11. linux系统基础与应用,Linux操作系统:基础、原理与应用
  12. 《你还在我身旁》 香港中文大学《独立时代》杂志社微情书征文大赛一等奖作品。作者为香港中文大学学生戴畅。
  13. 计算机网络知识点汇总
  14. java 解析邮件_JavaMail:在Web应用下完整接收、解析复杂邮件
  15. Process finished with exit code -1073740791 (0xC0000409)
  16. 笔记本选购指南2020双十一
  17. CSS中的text-overflow属性详解 (控制文字在一行显示,超出部分加省略号)
  18. 工作1-2年,月薪3000不可怕,可怕的是能力与之相匹配
  19. C语言的二维数组初始化的几种方式介绍(私藏大数组初始化方式)
  20. 我的前端之路:从切图到放弃

热门文章

  1. Linux系统vscode断点单步运行调试C++程序
  2. 学习笔记——深蓝学院点云系列公开课05:3D物体检测的发展与未来
  3. vmware-vmx.exe无法结束进程, 关闭Hyper-v虚拟服务
  4. 微服务-分布式锁(二)-Redis方案
  5. Oracle PL/SQL 编程手册(SQL大全)
  6. PS 图片部分位置调亮
  7. 一群不想鸡娃的直男程序员,决定对一支笔下手了
  8. ai绘画到底有大强?我开发了一款ai绘画(来看看)
  9. 全系T*镀膜认证镜头 vivo X70系列夜拍体验再升级
  10. 小猫钓鱼java代码,【Java个人笔记】练习-小猫钓鱼