【音视频基础】(六):CIE颜色空间二之CIE-XYZ及Y的含义

在上篇文章中,我想应该比较清楚的解释了,什么是色调、饱和度、明度(如果还没理解,请再看一遍哈~)。并且在结尾的时候,引入了HSB颜色空间,并在设备相关和设备无关的基础上,分析了一下它和之前一直在说的,也是生活中比较熟悉的,RGB颜色空间的区别。 那么接下来呢,就开始介绍几个比较重要的颜色空间。比如...

2019-08-23 20:31:42

阅读数 1

评论数 0

【音视频基础】(五):CIE颜色空间一之色调、明度和饱和度

在写图像的时候我们知道,像素构成了图片。那像素是什么?简单来说,它就是一个颜色点。那颜色怎么表示?或者说怎么度量?我们用眼睛感知到的颜色,又如何用数据表示出来呢? 接下来的几篇文章,会按照这个思路进行介绍。 1、颜色的几个相关术语 在写图像(一)的时候,我们就知道,颜色是我们的视觉系统,对可见光...

2019-08-23 20:14:20

阅读数 1

评论数 0

【音视频基础】(四):俗称照片的彩色数字图像二

上次说到了图像的三个基本属性,只说了一个图像分辨率,下面开始介绍另外两个基本属性。 3.2 第二个属性:像素深度和阿尔法(α)通道 像素深度其实就是,存储每个像素所用的位数(科普:1GB=1024MB 1MB=1024KB 1KB=1024B B俗称字节 1字节等于八位,单位bit)。比如一个用R...

2019-08-23 19:23:30

阅读数 10

评论数 0

【音视频基础】(三):俗称照片的彩色数字图像一

这篇文章会按照下面这个路线图进行介绍,阅读本文需要三分钟,详细阅读本文需要半小时。 本文路线 流程图最后一项,伽马矫正、JPEG压缩编码和文件格式,只做粗略的理论介绍。因为伽马矫正和压缩编码,需要在实际应用,并且结合其他知识来理解,所以在后面会单开几篇。 1、颜色是啥和我们为什么能看到它 颜色是...

2019-08-23 17:21:14

阅读数 5

评论数 0

【音视频基础】(二):显示器是如何显示图形数据的二

在显示器(一)中,展示了单个电子枪,发射电子到荧光屏幕,会点亮一个像素。而且不难猜到,这个像素的颜色,只能是黑或白,或者它们的混合色,也就是灰色,就像我们小时候看的黑白电视。 3. 彩色CRT 而如果要点亮一个彩色像素点,就需要彩色CRT,如下图所示。 彩色CRT 彩色CRT的原理,就是分别点亮...

2019-08-23 16:52:59

阅读数 10

评论数 0

【音视频基础】(一):显示器是如何显示图形数据的一

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 1. 最早的显示器 在十八世纪,人类对电的研究渐渐成熟,而电在图形学方面的应用却还是一个空白,除了在世纪初的时候,电弧光灯率先被发明,它打开了人类对光的探索。人类开始猜想,我们是不是可以把一...

2019-08-23 16:20:30

阅读数 5

评论数 0

【从零实现一个H.264码流解析器】(六):解析片头部Slice_Header的句法元素

在之前我们已经解析出码流文件中的前两个NALU,分别为SPS和PPS,下面我们就开始解析第三个NALU。在【最简单的H264编解码器】里已经说过,我们接下来会首先按照最简的方式来考虑问题,因此接下来我们遇到的都是I_Slice。 解析Slice总的来说分成两大块,第一步先解析Slice_Heade...

2019-08-22 16:01:27

阅读数 3

评论数 0

【从零实现一个H.264码流解析器】(五):解析图像参数集PPS的句法元素

前面我们解析了序列参数集SPS,它也是第一个出现的NALU中包含的内容。下面我们开始解析第二个NALU,由上篇生成的trace文件也可以看到,它的nalu->nal_unit_type等于8,为图像参数集PPS。 有了解析SPS的铺垫,解析PPS就轻松自然多了。解析PPS同SPS一样...

2019-08-22 15:42:31

阅读数 20

评论数 0

【从零实现一个H.264码流解析器】(四):生成句法元素跟踪trace文件

在上篇中,我们已经解析出SPS的全部句法元素,但是有一个至关重要的问题是,我们不知道自己解析出的句法元素值是否正确! 为了严格保证我们每一步都是正确的,和防止我们在错误的道路上越走越远,我们这里仿造H264官方参考软件JM,也建立一套trace机制。 并且因为我们解析SPS句法元素时,是参照最新版...

2019-08-22 14:45:42

阅读数 11

评论数 0

【从零实现一个H.264码流解析器】(三):解析序列参数集SPS的句法元素

上篇中我们实现了初步解析NALU的步骤,下面我们开始依次解析码流中出现的NALU。最开始出现的就是序列参数集SPS,通过上篇解析nalu_header我们也能看到,第一个NALU的nalu->nal_unit_type等于7,因此我们先解析它。 解析SPS的步骤分为两大类: (1)...

2019-08-22 14:28:01

阅读数 47

评论数 0

【从零实现一个H.264码流解析器】(二):导入指数哥伦布解码实现并初步解析NALU

上一篇中我们已经找到nalu,这一篇开始,我们就逐步搭建解析nalu的框架,在本篇中,核心任务有以下几个: 1、实现nal_to_rbsp,也即从nalu中提取出rbsp 2、实现rbsp_to_sodb,也即从rbsp中找到trailing_bits 3、导入在【h264/avc句法和语义详解...

2019-08-22 13:59:36

阅读数 32

评论数 0

【从零实现一个H.264码流解析器】(一):从码流中找到NALU

1、本系列的目的 这个系列是为了配合【H.264/AVC 句法和语义】来写的,通俗点来讲,【句法和语义】和【解析器】这两个系列,前者相当于理论研究,后者相当于工程实践。而且【解析器】这个系列,是一步一步跟着【句法和语义】的脚步来走的。这样我们就可以一边学习理论,一边实际操作,二者结合,既能达到复习...

2019-08-22 10:53:21

阅读数 9

评论数 0

【H.264/AVC 句法和语义详解】(十二):H264中的帧场编码模式详解

上篇中,我们已经解析出了Slice_Header的句法元素,下面我们就可以根据前面已经解析出的SPS、PPS、Slice_Header的句法元素,来做一些准备性的工作。 我们首先要做的,就是要确定当前Slice所采用的编码方式,即当前Slice进行的是帧编码还是场编码,如果是帧编码,又是不是宏块级...

2019-08-21 16:03:13

阅读数 8

评论数 0

【H.264/AVC 句法和语义详解】(十一):Slice_Header的句法和语义

前面我们根据SPS和PPS的句法和语义,已经能够解析出h264码流文件中的前两个NALU。现在我们就开始解析第三个NALU,它同码流中的后面几个NALU一样,它们的nal_unit_type不是等于5,就是等于1。 因此它们不是IDR的slice,就是非IDR的slice,总之后面的几个NALU,...

2019-08-21 15:51:44

阅读数 9

评论数 0

【H.264/AVC 句法和语义详解】(十):最简单的H264编解码器

本篇源出的目的,是因为我们到目前为止,并没有达成一个默契。那就是我们接下来学习H264句法和语义的宗旨,是从简单到复杂,这里的简单就是最简单。意思是我们先在最简单的情况下,来看看怎么做出一个H264编解码器,然后逐步放开条件,去研究更复杂的功能。 之所以此时写出这么一篇,是因为我们接下来,会遇到很...

2019-08-21 15:44:05

阅读数 72

评论数 0

【H.264/AVC 句法和语义详解】(九):图像参数集PPS句法和语义

同序列参数集SPS一样,图像参数集PPS在解码的过程中,也将起到至关重要的作用。我们已经知道,在h264的句法元素分层结构上,由片引用PPS,PPS再引用SPS,从而得到解码所需的全部句法元素。 PPS同SPS一样,也是从一段视频序列的基础上,抽取出大部分公共编解码信息,从而形成的SPS和PPS。...

2019-08-20 14:50:32

阅读数 18

评论数 0

【H264/AVC 句法和语义详解】(八):序列参数集SPS句法和语义

在本系列第一篇我们就知道,在h264码流的句法元素中,序列参数集SPS(seq_parameter_set)可由多个图像参数集PPS(pic_parameter_set)引用,然后PPS再由多个片引用。在形式上,SPS统领了一段视频序列的编码信息,如果SPS在传输中丢失或损坏,可以说这段视频序列,...

2019-08-20 14:49:11

阅读数 10

评论数 0

【H264/AVC 句法和语义详解】(七):C语言实现Exp-Golomb指数哥伦布编码(解码篇)

看过编码篇,再看这篇就容易多了。 不需多言,解码是编码的逆过程,以code_num = 5为例,我们将5通过指数哥伦布编码,编码为00110,然后再通过解码过程,将00110解码为5,这一过程也是描述子ue(v)干的事情。 同时,因为h264码流的解析,也是我们学习H.264/AVC 句法和语义所...

2019-08-20 14:48:02

阅读数 7

评论数 0

【H264/AVC 句法和语义详解】(六):C语言实现Exp-Golomb指数哥伦布编码(编码篇)

上篇中我们介绍了Exp-Golomb的理论部分,这一篇我们就使用C语言来实现它。 我们已经知道,在H.264中,指数哥伦布编码有四个描述子,分别为ue(v)、se(v)、me(v)、te(v)。其中me(v)是最简单的,它直接靠查表来实现。而剩余的se(v)和te(v),是在ue(v)的基础上来实...

2019-08-20 14:46:33

阅读数 25

评论数 0

【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇)

上篇我们说过,学习描述子是解析h264句法元素的第一步。而在描述子中,除了顺序读取若干比特的b(8)、f(n)、i(n)、u(n),指数哥伦布编码也是使用频率很高的编解码方法。 因为指数哥伦布编码(Exponential-Golomb)属于熵编码(Entropy encoding),所以我们先大致...

2019-08-20 14:44:43

阅读数 22

评论数 0

提示
确定要删除当前文章?
取消 删除