不知道读者小时候是否玩过一种动画小人书,连续翻动的时候,小人书的画面就会变成一个动画,类似现在的gif格式图片(翻动速度一定要够快),如图所示。本来是一本静态的小人书,通过翻动以后,就会变成一个有趣的小动画,如果画面够多,翻动速度够快,这其实就是一个小视频。
视频
视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
视频帧
帧(Frame)是视频的一个基本概念,表示一张画面,如上面的翻页动画书中的一页,就是一帧。一段视频就是由许多帧组成的。
帧率
帧率即单位时间内帧的数量,单位为 f/s 。如动画书中,一秒内包含多张图片,图片越多,画面越顺滑,过渡越自然。
帧率一般有以下几个典型值:
(1)29.97: 即30000/1001。
(2)24/25 f/s:1秒 24/25 帧,一般的电视/电影帧率。
(3)30/60 f/s:1秒 30/60 帧,游戏的帧率,30帧可以接受,60帧会感觉更加流畅。
色彩空间
这里只讲常用的两种色彩空间(也叫颜色空间、颜色模式),包括RGB和YUV。RGB色彩空间应该是最熟悉的一种,在现在的电子设备中应用广泛。通过RGB这3种基础色,可以混合出所有的颜色。YUV色彩空间并不常见,这是一种亮度与色度分离的色彩空间。
早期的电视都是黑白的,即只有亮度值,即Y。有了彩色电视以后,加入了UV两种色度,形成现在的YUV,也叫YCbCr。YUV的含义如下:
(1)Y:亮度,就是灰度值;除了表示亮度信号外,还含有较多的绿色通道量。
(2)U:蓝色通道与亮度的差值。
(3)V:红色通道与亮度的差值。
YUV的优势
人眼对亮度敏感,对色度不敏感,因此减少部分UV的数据量,人眼却无法感知出来,这样可以通过压缩UV的分辨率,在不影响观感的前提下,减小视频的体积。
YUV主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求3个独立的视频信号同时传输)。其中Y表示明亮度(Luminance或Luma),也就是灰阶值;而U和V 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
RGB和YUV的换算
未量化的Y、U、V取值一般是(0,255),量化就是通过线性变换让Y、U、V 处于一定的范围内,比如让Y(0,255)变到 Y'(16,235),Y' = Y×[(235-16)/255] +16。
YUV和RGB之间的转换有如下公式。
R = Y + 1.4075 × (V-128)
G = Y - 0.3455 × (U-128)-0.7169×(V-128) (2-1)
B = Y + 1.779 × (U-128)
Y = 0.299×R + 0.587×G + 0.114×B
U = (B-Y)/1.772 (2-2)
V = (R-Y)/1.402
或写为:
Y = 0.299×R + 0.587×G + 0.114×B
U = -0.169×R - 0.331×G + 0.5×B (2-3)
V = 0.5×R - 0.419×G - 0.081×B
----------------------------------------------------------
大家好,我的第一本书正式出版了,可以在京东各大店铺抢购哦。
《FFmpeg入门详解--音视频原理及应用:梅会东:清华大学出版社》
京东自营链接:https://item.jd.com/13377793.html