视频编解码器,是指一个能够对数字视频进行压缩或者解压缩的程序或者设备。通常这种压缩属于有损数据压缩。该技术通过数字化的普及而发展起来。模拟信号有着保密性差、抗干扰能力弱的缺点,当然数字信号在进行模/数转换时也有着量化误差的缺点。
模数转换包括采样、保持、量化和编码。由于水平的限制我就不一一详述了。
典型的数字视频编解码器的第一步是将从摄像机输入的视频从RGB色度空间转换到YCbCr色度空间。
转换到YCbCr色度空间会带来两点好处:1)这样做部分的解除了色度信号中的相关性,提高了可压缩能力。2)这样做将亮度信号分离出来,而亮度信号对视觉感觉是最重要的,相对来说色度信号对视觉感觉就不是那么重要,可以抽样到较低的分辨率(4:2:0或者4:2:2)而不影响人观看的感觉。
yCbCr和RGB的转换:
Y’ = 0.257*R' + 0.504*G' + 0.098*B' + 16 
Cb' = -0.148*R' - 0.291*G' + 0.439*B' + 128 
Cr' = 0.439*R' - 0.368*G' - 0.071*B' + 128 
R' = 1.164*(Y’-16) + 1.596*(Cr'-128) 
G' = 1.164*(Y’-16) - 0.813*(Cr'-128) - 0.392*(Cb'-128) 
B' = 1.164*(Y’-16) + 2.017*(Cb'-128)
在这个时候我们就不得不提到YUV色度了,有人说YUV色度就是yCbCr色度……
但是就换算公式来说:
YUV和RGB的转换:
Y = 0.299 R + 0.587 G + 0.114 B 
U = -0.1687 R - 0.3313 G + 0.5 B + 128 
V = 0.5 R - 0.4187 G - 0.0813 B + 128 
R = Y + 1.402 (V-128) 
G = Y - 0.34414 (U-128) - 0.71414 (V-128) 
B = Y + 1.772 (U-128)
怎么说呢?YUV是用于电视视频输出的,(电视指的一般是模拟电视。)yCbCr是用于视频编码的,我们在h.264,mpeg等编码标准中用的yuv其实是YcbCr,大家不要被名称搞混淆了。而TUV是模拟信号转换为电视信号的输出色度。

一个RGB图像可以在捕捉之后转换为YCbCr格式用来减少存储和传输负担。在显示图象之前,再转回为RGB.
接下来我就顺便讲一下10bit:
10bit当然不是10bit的rgb。一般电脑显示器显示的也只有8bit,而且人眼能识别的也就是8bit,再高人眼也识别不了。
但是很可怜的是,数字信号往往是有损的,如果我们采用8bit的编码,真正输出rgb颜色才6bit多一点。这对视频影音的脑残粉是忍受不能的。
你们想想,从摄像机输入的rgb先转换为编码标准x.264(以x.264为例)。其实就是将它转换成YCbCr。而我们解码以电脑显示器的方式输出的话一般是rgb输出的吧。这一来一回,数字信号的误差就使色度折损过重,如果你用的是x.264 hi10p(就是10bit)的话色度折损之后的色度也能被人眼所接受了。
简单的说,8bit视频编码能发挥8bit RGB的颜色,不足17%。特别是在颜色暗淡的时候,8bit视频一圈圈的色带,更是颜色精度不够的铁证。
这时候,10bit 编码就显得有必要了。10bit 编码的色度可以发挥接近100%,比起8bit视频来说颜色精度大大提高。换言之,如果你用的是8bit显示器(没人到今天在用电子管示波器吧?),那么10bit视频才能完全发挥它的威力。
(以上10bit部分部分来源于littlepox的理论)

关于YUV和YCbCr的一些知识。相关推荐

  1. 图像色彩编码YUV(YCbCr)的基本知识

    参考地址 https://www.cnblogs.com/lifan3a/articles/4930182.html YUV与YCbCr的定义 YCbCr是DVD.摄像机.数字电视等消费类视频产品中, ...

  2. 彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3

    学习DIP文章64天 转载请注明文章出处:http://blog.csdn.net/tonyshengtan .出于尊重文章作者的劳动,转载请标明出处.文章代码已托管,欢迎共同开发:https://g ...

  3. RGB、YUV和YCbCr

    之前对RGB.YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步. 首先要说明,上述的RGB.YU ...

  4. FPGA-图像处理-色彩空间转换(RGB转YUV和YCBCR)

    之前转了一篇定点运算的文章希望大家看完再看这个, 涉及到FPGA的色彩空间转换的知识,一定要提定点运算,其实之前在进行小数运算的时候已经用到了,这里我也不详细说了看文章吧 OV7670摄像头采集的数据 ...

  5. c语言yuv图片cb,RGB、YUV和YCbCr

    之前对RGB.YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步. 首先要说明,上述的RGB.YU ...

  6. RGB、YUV和YCbCr三种颜色空间

    转载自:https://blog.csdn.net/u010186001/article/details/52800250 [转载] http://blog.sina.com.cn/s/blog_a8 ...

  7. YUV YPbPr YCbCr CCIR 601 CCIR 656

                                                        YUV YPbPr YCbCr CCIR 601 CCIR 656   转自:http://bl ...

  8. 白平衡的工作原理、作用与YUV、YCbCr的联系与区别

    白平衡是一个很抽象的概念:最通俗的理解就是让白色所成的像依然为白色,如果白是白,那其他景物的影像就会接近人眼的色彩视觉习惯.调整白平衡的过程叫做白平衡调整,白平衡调整在前期设备上一般有三种方式:预置白 ...

  9. RGB、YUV、YCbCr几种颜色空间的区别

    首先要说明RGB.YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间).它的用途是在某些标准下用通常可接受的方式对彩色加以描述.本质上,彩色模型是坐标系统和子空间的阐述. ...

最新文章

  1. MyBatis总结与复习
  2. PyMySQL 的decode坑
  3. Mysql:替换某个字段中的部分字符串——replace函数
  4. Interceptor的用法以及和Filter的区别
  5. Java基于注解和反射导入导出Excel
  6. js获取浏览器版本或者类别
  7. 【chrome】插件开发-教程00(如何开发插件)
  8. JSON转Model内部实现解析
  9. linux系统苹果刷机,iPhone上安装Android系统详细步骤
  10. 《用于预测蛋白质-配体结合亲和力的结构感知交互图神经网络》
  11. 乘风破浪潮头立,扬帆起航正当时——韩国5G商用情况解析
  12. C++核心准则讨论:如果一个类是资源句柄,则它需要一个构造函数,一个析构函数以及复制和/或移动操作
  13. jquery触发键盘按下事件
  14. UGUI-ContentSizeFitter之最简单实现maxSize限制
  15. Python代码制作24点小游戏
  16. 索尼M36h怎么刷第三方recovery?
  17. 徐家骏的华为十年:从DBA到副总裁的辛酸与喜悦[转载]
  18. 【第六章】使用jQuery操作表单和表格2
  19. c语言实现创建学生成绩表,实现插入、删除和统计等管理功能。
  20. HLS AAC音频爆音噗噗滋滋的原因

热门文章

  1. HUAWEI 机试题:充分发挥GPU算力
  2. protobuf3 Any使用方法
  3. 怎么知道自己是否适合计算机专业,如何判断热门专业是否适合自己?
  4. java 死锁和饥饿_死锁与活锁,死锁与饥饿的区别
  5. 【前端面试题】—21道有关移动端的面试题(附答案)
  6. 简信CRM:市场上比较不错的CRM办公软件有哪些?
  7. matlab中normcdf函数用法,Matlab中标准正态分布的密度函数是normcdf(x,0,1)
  8. null pointer
  9. sysbench-0.5基本使用
  10. みつあみの猫 Mitsuami no Neko | mmd动作+镜头