在视频编码的材料中,经常提到色度采样或者色度抽样的概念,而且一般的教材里仅仅说明某些视频编码标准如MPEG4或者H.264编码标准支持某种或者某几种色度取样的编码,有时还贴出几张莫名其妙的图。那色度采样到底是什么意思呢?特别是4:2:0的图总是让人感到费解,下面就详细的介绍。

其实很简单,视频一般采用YCbCr的颜色空间。其原理是人类视觉系统对亮度比彩色更敏感,因此可以把亮度信息从彩色信息分离出来,并使之具有更高的清晰度,而稍微降低彩色信息的清晰度,这样就可以在人眼未感觉图像有什么差异的前提下压缩带宽,实现一定的视频压缩。例如在压缩影像中,以4:2:2 Y'CbCr作例,它只需使用比R'G'B'(4:4:4)三分之二的带宽即可传输。

主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。问题是,这些符号到底是什么意思呢?视频系统的抽样系统中通常用一个三分比值表示:J:a:b(例如4:2:2),形容一个以J个像素宽及两个像素高的概念上区域,有时候会以四分比值表示(例如4:2:2:4)。依序列出为:

·        J:水平抽样参照(概念上区域的宽度)。通常为4。

·        a:在J个像素第一行中的色度抽样数目 (Cr, Cb)。

·        b:在J个像素第二行中的额外色度抽样数目 (Cr, Cb)。

·        Alpha:水平因子(与首数值有关连)。若没有此部分者可忽略,或存在时与J相同。

在比较图像质量时,这三个值之间的比值才是重要的,所以4:4:4可以简化为1:1:1;但是习惯上亮度样本的数量值总为4,其他两个值依此类推。有时抽样率为四分比值,如4:2:2:4。这时第四个值是调制通道的抽样频率比值。事实上,因为在调制应用中非常需要高质量图像,所以这个值在任何情况下都为4,所以采用J:a:b的表示方式更为常见。

其中容易引起误解的是以为J:a:b表示Y:Cr:Cb,那就错了,因为这里Cr和Cb是一个整体,在下图中用一个黑色实心点表示。

四种典型的采样如上图所示。首先明白,三种点各表示什么,空心圆圈是Y采样,但是CrCb是一个整体,大圈套小圈表示具有Y、Cr和Cb的点。

在理解的时候,要先以“行”为单位,以水平方向的四个点为一个单位来看。因为我们总是习惯性以2x2的单位来计算,在毕厚杰的书里就以2x2进行的。貌似这样也行。

在上图中,我们首先看4:1:1的采样,它的意思是在采样的第一行中,每连续四个点,采样一个CrCb(第一个1的含义),在紧邻的第二行中,同样采样一个CrCb(第二个1的含义)。

接着看4:2:2,它的意思是在采样的第一行中,每连续四个点,采样两个CrCb,在紧邻的第二行中采样两个CrCb。

同理4:4:4就很简单了

4:2:0的含义

但是4:2:0的图比较特殊,它表示第一行中,每连续四个点, 采样两个CrCb,在紧邻的第二行中不采样CrCb,但是,要注意,在上图中,里面只有四行,而不是两行,也就说纯黑的点组成的不是两个行,这里只是为了便于表示而单独标记出来,但是,为什么不将第二行黑点与第一行的空心圆合并呢?这一点一直让我不解。但是,看下面的图就明白了。

注意观察这里的4:2:0。从这张图里可以很明显的看到,之所以将CrCb单独列出来,原因是对色差信号Cr和Cb是每行交替传送的。很明显,这样图比较复杂,一般的书籍将其简化成了第一张图的样子,这反而有时,让我们难以理解。

3.结合通信传输理论进一步理解取样的含义

转自:https://blog.csdn.net/xueyushenzhou/article/details/40817949

转载于:https://www.cnblogs.com/linganxiong/p/8971246.html

[转]色度抽样(4:2:0)到底是什么意思?相关推荐

  1. php中的eq的含义,jquery,_jQuery中的eq(0)到底是什么意思??详情请看下面代码!,jquery - phpStudy...

    jQuery中的eq(0)到底是什么意思??详情请看下面代码! 手风琴效果 *{padding:0; margin:0;} .box{margin:50px auto; width:300px; he ...

  2. android 广播 7.0变化,安卓7.0到底带来了那些变化?

    原标题:安卓7.0到底带来了那些变化? 19号谷歌在它的I/O开发者大会上正式发布了全新的安卓7.0,那么新版本的安卓到底带来了哪些变化和改进呢?一起来看下吧! 一.性能提升 从安卓5.0开始,谷歌把 ...

  3. 所以Web 3.0到底是什么?

    目录 前言 一.web3.0是什么? 二.web3.0的发展历史 1.web1.0 2.web2.0 3.web3.0 三.总结 前言 互联网经历30年从web1.0到we2.0再到web3.0,近日 ...

  4. Thread.sleep(0)到底是个什么骚操作?

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  5. 三星s9更新android9.0,安卓9.0到底能不能升级?三星S9+升级之后性能差别好大

    原标题:安卓9.0到底能不能升级?三星S9+升级之后性能差别好大 安卓9.0到底能不能升级呢?安卓手机升级到目前最新的安卓9.0系统对于手机来说到底是更加流畅还是会便卡顿呢?外媒将两部分别是安卓9.0 ...

  6. js中‘0’到底是 true 还是 false

    js中'0'到底是 true 还是 false   if ('0') alert("'0' is true");   if ('0' == false) alert("' ...

  7. 抽样(蒙特卡洛法)到底是在干啥?

    目录 一.简单抽样 二.逆转换方法 三."接受-拒绝"抽样 四.马尔科夫链蒙特卡洛法(MCMC) 五.  "接受-拒绝"抽样再认识 1. 接受-拒绝抽样法理论介 ...

  8. ROS和ROS2.0到底该用哪个呢?

    很多朋友经常问ROS1.0(下文简称ROS)和ROS2.0我到底该学习/使用哪个呢? 欢迎拍砖讨论,但若是因此对您的项目或产品造成了损失,本人不负任何责任! 我先给出个人的观点,再说明其中原因. 对于 ...

  9. 号称下一代互联网的 Web3.0 到底是个啥?

    上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路. 大家好,我是校长. 去年什么最火? ...

  10. storage/emulated/0.到底在哪儿

    问题: 通过logcat读出的sdcard根目录的路径名是/storage/emulated/0/. 但是我不知道这个路径到底是在哪儿? 解答: android的API的得到的就是/storage/e ...

最新文章

  1. python rsa 公钥解密_python利用rsa库做公钥解密的方法教程
  2. java寻找最大的字母_【LeetCode(Java) - 744】寻找比目标字母大的最小字母
  3. 分析并写出下列程序的运行结果_知到APP2020分析化学(福州大学)章节答案
  4. C++存储和处理字符串
  5. SpringBoot学习之路:06.Spring Boot替换默认的Jackson
  6. 大厂面试算法系列-如何实现链表的逆序(二)-递归法
  7. ubuntu虚拟机进程被杀死_Linux进程被杀掉(OOM killer),查看系统日志
  8. hadoopstreaming
  9. 古风一棵桃花树简笔画_运用仿真树装饰效果如此浪漫
  10. Cardano链上首个流动性解决方案商Occam宣布与Changelly合作孵化新项目
  11. MySQL Workbench 的安全设置
  12. MongoDB密码设置(基于windows)
  13. owasp testing guide 2014 中文
  14. generator.xml mysql_generatorConfig-mysql.xml中连接数据库的正确书写方式。
  15. 新梦想干货——软件测试中的43个功能测试点(下)
  16. 数据库简单查询——查询的条件
  17. 设计模式:个人理解关于代理和委托模式的一点区别
  18. ATN项目(智能矩阵Atmatrix)是否能做到人工智能界的桥梁,从而改变世界?
  19. 《这样思考,人生就不一样》/《思考的整理学》 博客思听 2010年1月
  20. 如何快速制作证件照并压缩到100K?

热门文章

  1. Photoshop插件-证件照-2寸裁剪-2寸排版-脚本开发-PS插件
  2. Java服务端支付功能模块--(一)支付宝支付
  3. C++实现截图截屏功能汇总
  4. 怎么用HTML表格中加上线条,如何在html的表格中加入边框线
  5. 深度 | 蚂蚁金服DASFAA论文带你深入了解GBDT模型
  6. lib、dll文件默认打开方式改变之后进行恢复
  7. 安全合规/等级保护--10--等级保护介绍及流程
  8. 华为云学院-人人学loT学习笔记- 第五章 操作系统 轻量开源
  9. 华为云启动鲲鹏计划,了解更多鲲鹏知识上华为云学院
  10. 学生:无效文件.dsn问题