码迷,mamicode.com
首页 > 移动开发 > 详细

【深度分解】听趣拍云产品经理剖析视频基础知识

时间:2017-03-17 14:28:35      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:

花潍 趣拍云产品经理

深度分解视频基础知识

“视频技术发展到现在已经有100多年的历史,虽然比照相技术历史时间短,但在过去很长一段时间之内都是最重要的媒体。

由于互联网在新世纪的崛起,使得传统的媒体技术有了更好的发展平台,应运而生了新的多媒体技术。而多媒体技术不仅涵盖了传统媒体的表达,又增加了交互互动功能,成为了目前最主要的信息工具。

在多媒体技术中,最先获得发展的是图片信息技术,由于信息来源更加广泛,生成速度高生产效率高,加上应用门槛较低,因此一度是互联网上最有吸引力的内容。

然而随着技术的不断进步,视频技术的制作加工门槛逐渐降低,信息资源的不断增长,同时由于视频信息内容更加丰富完整的先天优势,在近年来已经逐渐成为主流。

那么接下来我就对视频信息技术做一个详细的介绍。今天我们首先讲的是模拟时代和数字化时代的视频技术。”


模拟时代的视频技术

最早的视频技术来源于电影,电影技术则来源于照相技术。由于现代互联网视频信息技术原理则来源于电视技术,所以这里只做电视技术的介绍。

世界上第一台电视诞生于1925年,是由英国人约翰贝德发明。同时也是世界上第一套电视拍摄、信号发射和接收系统。而电视技术的原理大概可以理解为信号采集、信号传输、图像还原三个阶段。

摄像信号的采集,通过感光器件获取到光线的强度(早期的电视是黑白的,所以只取亮度信号)。然后每隔30~40毫秒,将所采集到光线的强度信息发送到接收端。而对于信号的还原,也是同步的每隔30~40毫秒,将信号扫描到荧光屏上进行展示。

那么对于信号的还原,由于荧光屏电视采用的是射线枪将射线打到荧光图层,来激发荧光显示,那么射线枪绘制整幅图像就需要一段时间。射线枪从屏幕顶端开始一行一行的发出射线,一直到屏幕底端。然后继续从顶部开始一行一行的发射,来显示下一幅图像。但是射线枪扫描速度没有那么快,所以每次图像显示,要么只扫单数行,要么只扫双数行。然后两幅图像叠加,就是完整的一帧画面。所以电视在早期都是隔行扫描。


那么信号是怎么产生的呢?

跟相机感光原理一样,感光器件是对光敏感的设备,对于进光的强弱可以产生不同的电压。然后再将这些信号转换成不同的电流发射到接收端。电视机的扫描枪以不同的电流强度发射到荧光屏上时,荧光粉接收到的射线越强,就会越亮,越弱就会越暗。这样就产生了黑白信号。

 

那么帧和场的概念是什么?

前面说到,由于摄像采集信号属于连续拍摄图像,比如每隔40毫秒截取一张图像,也就是说每秒会产生25副图像。而每个图像就是一帧画面,所以每秒25副图像就可以描述为帧率为25FPS(frames per second)。而由于过去电视荧光屏扫描是隔行扫描,每两次扫描才产生一副图像,而每次扫描就叫做1场。也就是说每2场扫描生成1帧画面。所以帧率25FPS时,隔行扫描就是50场每秒。

模拟时代在全世界电视信号标准并不是统一的,电视场的标准有很多,叫做电视信号制式标准。黑白电视的时期制式标准非常多,有A、B、C、D、E、G、H、I、K、K1、L、M、N等,共计13种(我国采用的是D和K制)。到了彩色电视时代,制式简化成了三种:NTSC、PAL、SECAM,其中NTSC又分为NTSC4.43和NTSC3.58。我国彩色电视采用的是PAL制式中的D制调幅模式,所以也叫PAL-D制式。有兴趣的可以百度百科“电视制式”来详细了解。

另外你可能会发现,场的频率其实是和交流电的频率一致的。比如我国的电网交流电的频率是50Hz,而电视制式PAL-D是50场每秒,也是50Hz。这之间是否有关联呢?可以告诉你的是,的确有关联,不过建议大家自己去研究。

 

彩色信号又是怎么产生的呢?

其实有了基础的黑白摄像技术之后,人们就一直想实现彩色摄像。早在1861年,英国物理学家麦克斯韦就论证了所有彩色都可以使用红、蓝、绿三种基色来叠加生成。但是感光器件只是对光线敏感,但是对颜色却无法识别。为了实现对颜色的识别,人们用分光镜加滤光片的方式,将光线分解成为三种基色的纯色模式。然后分别对三个基色的纯色亮度进行采集,然后再把信号叠加实现了对彩色信号的采集能力。


色彩信号是如何表达的?

因为原来黑白电视的时候,基本上只需要一路信号就可以还原图像(同步信号后面讲)。但是有了彩色之后,一路信号能否表达一副完整的彩色图像,以及如何表达呢?

彩色电视出现之后,为了兼容早期的黑白电视信号(也就是黑白电视机可以接收彩色信号,但是只显示黑白),科学家引入了YUV色彩表示法。

YUV信号有多种叫法,可以称作色差信号(Y,R-Y,B-Y),也可以称作分量信号(YCbCr,或者Component、YPbPr)。它是由一个亮度信号Y (Luminance或Luma),和两个色度信号U和V组成(Chrominance或Chroma)。黑白电视只使用亮度信号Y,彩色电视可以额外使用两个色度信号,来实现彩色效果。但是YUV信号是怎么来的呢?

首先,是因为考虑到黑白电视兼容,所以基础信号仍然采用亮度信号。而颜色表达本身是通过RGB三基色的叠加来实现的,为了能够将YUV信号可以还原成三基色RGB色彩值,数学家利用了色差算法,即选取一路Cr信号和一路Cb信号。Cr信号是指RGB的红色信号部分与RGB亮度值之间的差异,Cb信号是指RGB的蓝色信号与RGB亮度值之间的差异。所以YUV信号有时候也表达为Y,R-Y和B-Y,所以也叫色差信号。

 

为什么YUV色彩会延续至今?

如果大家平时经常拿手机拍摄视频,你可以把拍摄的视频文件传输到电脑上,然后用MediaInfo软件打开,你会发现很多关于视频的参数信息。而这些参数信息里面,你一定会发现手机拍摄的视频色彩也是使用YUV信号模式。为什么不用RGB来表达?现在早都没有黑白电视了啊?

其实不必考虑兼容性的原因,因为你无论是什么信号模式拍摄的视频,只要是数字化的信息文件形式,都可以与播放设备的信号模式无关。因为播放设备在播放视频文件时需要解码,再进行渲染。这时候不管什么信号模式还是色彩空间,都能转化成设备兼容的方式。

至于为什么YUV信号模式一直会持续至今,最主要的原因不是因为兼容性考虑,而是YUV信号有个巨大的优势,就是节省带宽。这在数字媒体领域是很重要的。

人眼的视觉特点是,人眼对于亮度信号最为敏感,对色度信号敏感度要弱一些。所以可以适当减少色度信号的容量,也不会被人眼观察到差异。就好比音频里面的MP3压缩格式,是将耳朵不敏感的频率信号容量降低或去除掉,以大大降低文件的大小,但是人耳却基本听不到差异。

至于YUV信号是如何做到降低信息容量的,可以看下面的引文:

YUV主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值),每 2x2 个点保存一个 Cr 和Cb 值,图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 1个点需要 8x3=24 bits(如下图第一个图),(全采样后,YUV仍各占8bit)。按4:1:1采样后,而现在平均仅需要 8+(8/4)+(8/4)=12bits(4个点,8*4(Y)+8(U)+8(V)=48bits), 平均每个点占12bits。这样就把图像的数据压缩了一半。

以上内容引自百度百科“YUV”条目。限于篇幅原因,对于YUV的各种采样模式不再祥加描述,大家可以参考百度百科中的详细解释。


数字化时代的视频技术

视频技术发展到了数字化时代,其实原理上并没有太多变化。这也就是为什么前面要提到模拟时代视频技术的知识的原因。

但是数字化的视频技术,虽然基础原理没有改变,但是各方面的性能和功能有了很大的提升。这些就重点讲一下数字化之后的视频技术有了哪些突破:


彩色摄像的演进

前面讲到,实现彩色摄像其实是把光线分解成为三个基色分别取亮度值,但是这种结构比较复杂,成本也高。因为实现彩色摄像需要有一个分光用的棱镜,然后采集光线必须要用到三片感光器件(CCD或CMOS)。这种结构带来第二个不好的地方就是结构会比较庞大,不利于小型化微型化。

后来呢,德国人拜耳发明了一种滤镜,是一种马赛克滤镜。将含三基色的马赛克滤镜覆盖在感光器件上面,这样就可以实现用一片感光器件来采集三种颜色,同时也取消了分光棱镜这种结构。这样下来,不仅成本降低了,结构也简化了。


有了这种技术之后,摄像设备就可以越做越小,现在集成在手机上的摄像头整体厚度只有2~3毫米,尺寸只有1~3毫米。当然在专业领域,高端的摄像机仍然采用分光棱镜加3CCD的技术,原因不是他们不愿意改,而是3CCD的色彩丰度更好。而且专业摄像机CCD技术也从IT型发展到了FIT型,感兴趣的同学可以查看一下SONY公司关于FIT型CCD专业摄像机的介绍来了解。总而言之,就是民用领域和专业领域发展方向不一样,所以路线也不同。

 

场概念消失

在模拟电视时代,受限于显像管技术原因,采用的是隔行扫描技术来还原图像显示。但是现在都是平板电视了(液晶电视、等离子电视、激光电视),电视的成像方式不再是一条线一条线的扫描,而是一次性全画面呈现。所以现在的视频拍摄一般都没有场的概念,当然为了向前兼容,在视频文件信息中,你会看到扫描模式的参数。利用手机拍摄的视频文件,其扫描模式的参数都是Progressive,就是逐行扫描的意思。

 

采样率和采样精度

大家都知道模拟和数字的最大差别就是信息存储和传递方式,一个是模拟量一个是数字量化的。那么数字化对于连续过程的量化就必须用到采样过程,也可以理解为片段化。例如音频数字化,就是把音频在每个很小的时间间隔上获取音频的信息然后进行数字量化,最后把所有连续采样的数字量化数据组合,来形成最终的信息。视频也是这样,按照一定的时间间隔,把获取到的图像进行数字量化,然后连续的数字量化的集合就是一段完整的视频文件。

但是视频的采样率并非是大家理解的那样,每秒钟产生25帧的图像,采样率就是25Hz。实际上,ITU(International Telecommunications Union,国际电信联盟)在CCIR 601标准中,对于视频的采样标准有了明确的界定:

一、采样频率:为了保证信号的同步,采样频率必须是电视信号行频的倍数。CCIR为NTSC、PAL和SECAM制式制定的共同的电视图像采样标准:

f s=13.5MHz

这个采样频率正好是PAL、SECAM制行频的864倍,NTSC制行频的858倍,可以保证采样时采样时钟与行同步信号同步。对于4:2:2的采样格式,亮度信号用fs频率采样,两个色差信号分别用

f s/2=6.75MHz的频率采样。由此可推出色度分量的最小采样率是3.375MHz。

二、分辨率:根据采样频率,可算出对于PAL和SECAM制式,每一扫描行采样864个样本点;对于NTSC制则是858个样本点。由于电视信号中每一行都包括一定的同步信号和回扫信号,故有效的图像信号样本点并没有那么多,CCIR 601规定对所有的制式,其每一行的有效样本点数为720点。由于不同的制式其每帧的有效行数不同(PAL和SECAM制为576行,NTSC制为484行),CCIR 定义720×484为高清晰度电视HDTV(High Definition TV)的基本标准。实际计算机显示数字视频时,通常采用下表的参数:

三、数据量:CCIR 601规定,每个样本点都按8位数字化,也即有256个等级。但实际上亮度信号占220级,色度信号占225级,其它位作同步、编码等控制用。如果按f s 的采样率、4:2:2的格式采样,则数字视频的数据量为:

13.5(MHz)×8(bit)+2×6.75(MHz)×8(bit) = 27Mbyte / s同样可以算出,如果按4:4:4的方式采样,数字视频的数据量为每秒40兆字节!按每秒27兆字节的数据率计算,一段10秒钟的数字视频要占用270兆字节的存储空间。按此数据率,一张680兆字节容量的光盘只能记录约25秒的数字视频数据信息,而且即使当前高倍速的光驱,其数据传输率也远远达不到每秒27兆字节的传输要求,视频数据将无法实时回放。这种未压缩的数字视频数据量对于当前的计算机和网络来说无论是存储或传输都是不现实的,因此,在多媒体中应用数字视频的关键问题是数字视频的压缩技术。

由上述引文可知,YUV的采样率和采样精度,是数字视频从模拟向数字化过渡中兼容性的解决方案。延续了模拟视频以行为单位扫描的机制(模拟视频没有分辨率概念,只有行的概念)。由于这套标准是面向数字电视广播系统制定的统一标准,一般只在广播电视领域中才会看到,而在其他的数字化视频体系中基本没有体现。比如你在视频文件信息中找不到关于采样率的参数。

 

视频分辨率

视频分辨率也是数字化视频时代的主要特征,由于模拟视频采用线扫描机制,也就是按行显示图像,而每一行的视频线中并没有进行数字量化,所以模拟视频都是以多少行来界定的。比如PAL制式采用576行,NTSC制式采用480行。

到了数字化时代,为了量化视频的具体信息,就必须对每行的信息进行采样并量化,就形成了分辨率的概念。如果采用PAL制式的视频,每行量化的图像点为768个,那么分辨率就是768×576。也就是说把PAL制的视频图像可以分解为768×576个像素点组成。

虽然简单的看视频分辨率的概念挺简单的,但实际上并没有那么简单。原因就是数字化视频的应用领域非常的多,从最早的广播电视应用,到监控安防,到互联网应用,后来又到了高清数字电视,以及移动互联网等等。而因为涉及的行业很多,每个行业都会制定自己的标准,所以就形成了对视频图像分辨率的定义有了很多标准。我们就拿最常见的广播电视、监控安防为例:

大家在计算机领域也都有接触过分辨率的概念,比如VGA(640×480)、SVGA(800×600)、XGA(1024×768)、SXGA(1280×1024)、SXGA+(1400×1050)、UXGA(1600×1200)、WXGA(1280×800)、WXGA+(1280×854/1440×900)、WSXGA(1600×1024)、WSXGA+(1680×1050)、WUXGA(1920×1200)等等。现在最高的标准是WQUXGA(3840×2400)。这个标准最早是由IBM制定的模拟信号的电脑显示标准,后来被各厂家继续沿用和升级。再后来被VESA标准化组织统一制定。

但是为什么分辨率就不能是简单的数字,非要在前面弄一堆字母呢?这一堆字母绝对能把一大群人搞晕掉。

原因在于制定一个输出的分辨率,并不是简单的设置有多少个像素点,而是还要考虑到实现这个像素点成像的方法。包括色阶多少、带宽多大、扫描方式怎样,如果深入的讲还有电路形式、增益控制、时序方式、寻址方式等等。如果没有详细制定这些图像是如何生成的,那么各个厂家之间的产品可能很难兼容,也就不会见到今天如此发达的计算机市场了。

同样的道理,制定标准化的分辨率和实现方式,有助于行业的统一和兼容。

监控安防领域有什么分辨率标准呢?下面请看:

这里解释一下,CIF是 Common Intermediate Format 的缩写,即通用影像传输视频会议(video conference)中常使用的影像传输格式,是ITU H.261协议中的一部分。大家可能发现了,每个分辨率的色度取样个数和行数都是对应分辨率的一半。没错,因为这个标准因为考虑到摄像头的性能和传输的性能影响,采取的是间隔像素采样和隔行扫描机制,而间隔像素采样通过插值进行补齐。

不过这些参数貌似现在很难见到了,为什么呢?很简单,因为监控安防现在都是高清化了,都是D2、D3这种级别的,对应分辨率是720P和1080P这一类。

 

那么在广播电视领域,对于分辨率的定义又是怎样呢?

前面已经提到了关于PAL制和NTSC制式的视频分辨率标准,另外还有一个SECAM制式,SECAM的分辨率为720×576。那么你会发现SECAM制式和PAL制的行数是一样的,只有每行的分辨率不同。这是由于SECAM调制载波方式不同造成的。

在标清电视时代,对于分辨率方面理解与现在其实有所不同。比如SECAM制式每帧图像是625行,但是分辨率是720×576,也就是只有576行。是因为视频信号传输过程中分帧正程和帧逆程,而帧逆程就是回扫,反向回去。在视频信号正常显示时,需要消除行帧逆程扫描对画面的干扰,所以就变成了576行。

到了高清时代,数字电视推出了HDTV标准,它对于显示分辨率的定义为1280×720逐行扫描,也就是俗称的720P;1920×1080隔行扫描,也就是俗称的1080i;1920×1080逐行扫描,也就是所谓的1080P。

当然高清数字电视已经逐渐普及了,目前正在面向4K高清过渡,也就是所谓的UHDTV(Ultra High Definition Television,超高清数字电视)。UHDTV草案定义了两个分辨率标准,及4K(3840×2160)和8K(7680×4320),支持50Hz、60Hz、和59.94Hz三种帧率,只采用逐行扫描。UHDTV采用正交采样,像素纵横比(PAR)为1:1,显示纵横比(DAR)为16:9。

关于像素纵横比和显示纵横比的概念,相对比较简单,这里就不做解释了。

 

关于信号同步

信号同步是在广播电视领域中非常重要的技术,因为它如果出现问题,你的电视画面一定是没法看的,比如下面这种情况:


产生这种画面的原因,在于信号没有同步。导致行扫描时,没有在指定的位置。

要想图像内容在正确的位置显示,就必须提供同步信号来进行约束。而不管是模拟电视时代,还是在数字电视时代,不管是电视机还是显示器都需要信号同步。

同步信号一般有两种,分别为场同步(VSYNC)和行同步(HSYNC)。不论是什么类型的信号接口,都包含有一个或两个同步信号。

VGA信号线的引脚定义

另外一种形式的VGA接口,也叫RGBHV接口

DVI接口引脚定义

专业设备中的专用视频同步接口


虽然有很多设备如电视机的复合信号输入(Composite)、HDMI输入,显示器的DisplayPort输入,专业设备的SDI和HD SDI输入,都没有专门的视频场同步和行同步信号接口,但并不是说这些信号不需要同步。而是这些信号接口把场同步和行同步信号已经调制到了信号中。

也就是说我们平时见到的视频信号接口中,并非只有纯粹的视频信息,还包含了很多的信息,比如同步信号、时钟信号(TC,TimeCode)、CEC控制信号、HDCP版权保护信息、SerialClock设备与分辨率识别信息等。

未完待续


【深度分解】听趣拍云产品经理剖析视频基础知识

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
qupaiyun
加入时间:2016-11-04
  关注此人  发短消息
文章分类
qupaiyun”关注的人------(0
qupaiyun”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!