当前位置: 首页 > news >正文

视频图像的color range简介

介绍

研究FFmpeg发现,在avcodec.h中有关于color的解释,主要有四个属性,primariestransferspacerange

color primaries: 基于RGB空间对应的绝对颜色XYZ的变换,决定了最终三原色RGB分别是什么颜色;

color transfer: 定义了transfer funciton的gamma值,从RGB到最终显示的值需要进行gamma压暗,比如bt709的平均gamma为1.96;

color space: 该属性决定了YUV转换RGB或者RGB转换YUV的转换计算matrix;

color range: 分为pc range和tv range,也有称为video(limited) range和full range;full range中YUV的取值[0-255],video range中Y[16-235],UV [16-240]。

     * Chromaticity coordinates of the source primaries.* - encoding: Set by user* - decoding: Set by libavcodec*/enum AVColorPrimaries color_primaries;/*** Color Transfer Characteristic.* - encoding: Set by user* - decoding: Set by libavcodec*/enum AVColorTransferCharacteristic color_trc;/*** YUV colorspace type.* - encoding: Set by user* - decoding: Set by libavcodec*/enum AVColorSpace colorspace;/*** MPEG vs JPEG YUV range.* - encoding: Set by user to override the default output color range value,*   If not specified, libavcodec sets the color range depending on the*   output format.* - decoding: Set by libavcodec, can be set by the user to propagate the*   color range to components reading from the decoder context.*/enum AVColorRange color_range;

color range

color range的定义经常出现在视频图像显示、视频图像处理等领域,直面意思就是颜色值的表示范围。

full range:
视频信号在由模拟信号转换为数字信号的过程中会涉及采样技术,RGB信号在处理图像时,每个像素的三原色的值由8位二进制数字来表示,即28 = 256 个灰阶。比如(255,255,255)代表白色,(255,0,0 )代表红色,那么灰阶总共是0~255一共256个,通常被称作full range,也成为PC level

limited range:
为了减少数据储存空间和数据传输带宽,可以用较低的采样频率来表示色度信号,比如YUV420、YUV422等,称为消费电子的 Studio Level。在Studio Level设备中,8位YCbCr系统都亮度的取值范围16~235,而B-Y和R-Y信号的取值范围16 ~ 240。这种颜色的取值表示方法通常被称作limited range。
而RGB信号也有两种采样频率和灰阶,在PC Level系统中是0~255,而在Studio Level消费电子中则是16~235。

limited range的起源:
当显示器过渡到全数字阶段时,电影摄影师和导演等内容创作者注意到,默认的全RGB范围会给电影和电视节目带来问题。全RGB具有更宽的黑暗范围,因此黑暗区域的细节显示得更清晰。
对于内容制作者来说,这是一个问题,因为它让“隐藏”东西变得更加困难。例如,恐怖电影喜欢在黑暗的视觉效果中隐藏东西。动作秀使用电线使人飞行,但在后期制作中需要隐藏所述电线。科幻电影和系列有很多特效和CGI。在一个完整而生动的动态范围内,许多元素看起来不那么逼真,也过于暴露。
经过大量实验,16-235的范围几乎被所有的电影和创意艺术应用所采用。流媒体服务和蓝光播放的内容几乎总是以有限的RGB格式掌握。

limited和full显示差别

limited range显示效果明显是比full range差很多。
在这里插入图片描述
如果视频图像源是full RGB表示的,而在显示器是limited RGB上播放,就会丢失很多细节和带来大面积的黑块,只有源和播放显示的RGB r范围匹配,图像才能出现更多的细节,如下图。
在这里插入图片描述

参考

  1. https://www.benq.com/en-us/knowledge-center/knowledge/full-rgb-vs-limited-rgb-is-there-a-difference.html
  2. https://bbs.superic.com/forum.php?mod=viewthread&tid=1752
http://www.lryc.cn/news/284812.html

相关文章:

  • tcp的三次握手
  • unity 矩阵探究
  • MySQL---单表查询综合练习
  • Python项目——搞怪小程序(PySide6+Pyinstaller)
  • MySQL练习题
  • vue-项目打包、配置路由懒加载
  • 词语的魔力:语言在我们生活中的艺术与影响
  • android List,Set,Map区别和介绍
  • Mysql 编译安装部署
  • 【目标检测】YOLOv5算法实现(九):模型预测
  • centos宝塔远程服务器怎么链接?
  • C语言练习day8
  • 蓝凌OA-sysuicomponent-任意文件上传_exp-漏洞复现
  • C#,入门教程(38)——大型工程软件中类(class)修饰词partial的使用方法
  • C++播放音乐:使用EGE图形库
  • C++中const和constexpr的区别:了解常量的不同用法
  • 高级架构师是如何设计一个系统的?
  • 力扣:474. 一和零(动态规划)(01背包)
  • 【复现】Apache Solr信息泄漏漏洞_24
  • 《WebKit 技术内幕》之五(4): HTML解释器和DOM 模型
  • 记录一个sql:查询商品码对应多个商品的商品码
  • Linux内核--网络协议栈(三)sk_buff介绍
  • 尝试解决githubclone失败问题
  • VUE表单中多个el-upload上传组件共享回调函数解决方案
  • Opencv4快速入门笔记
  • three.js 点按钮,相机飞行靠近观察设备
  • 什么情况下物理服务器会运行出错?
  • 配置免费的SSL
  • (2)(2.1) Andruav Android Cellular(一)
  • [GN] Vue3.2 快速上手 ---- 核心语法(终章)_3