文章目录
视频基础
视频
视频泛指将一系列静态影像以电信号的方式加以捕捉、记录、处理、储存、传送与重现的各种技术。
连续的图像变化每秒超过24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面。看上去是平滑连续的视觉效果,这样连续的画面叫做视频。
图像
- 图像是泛指照片、动画等等形成视觉景象的事物。而图像就是由一个个像素点组成的。
- 像素是一个图片的基本单位,pix是picture的简写,加上元素element,就得到了pixel,简称px,所以像素有图像元素之意。例如一个分辨率是1920X1080的图片,像素点就有1920X1080=2073600个
- 像素点在显示的时候需要用到颜色空间,常见的颜色空间有2种:RGB和YUV
RGB颜色空间
在RGB模式下,每一种颜色都是红、绿、蓝三种颜色的混合,这种模式被称为叠加,这三种颜色被称为是主颜色(primary colors)。可以通过对颜色的叠加,来得到二级颜色(secondary colors),洋红色(红+蓝),青色(绿+蓝),黄色(红+绿)。在RGB颜色空间上,任何一个基色亮度为0时,就显示为黑色,当三种角色都达到最亮高度时,就表现为白色。
RGB适用于显示器等发光体的显示
YUV颜色空间
YUV是编译true-color颜色空间(color-space)的种类,YUV,YCbCR ,YPbPr等专有名词都可以称为YUV,彼此有重叠。Y表示明亮度(Luminance或Luma),也就是灰阶值,U和V表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
在最近十年中,视频工程师发现人眼对色度的敏感程度要低于对亮度的敏感程度。在生理学中,有一条规律,那就是人类视网膜上的视网膜杆细胞要多于视网膜锥细胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用是识别色度。所以,你的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。基于此原理,保证Y分量的前提下,可以舍弃一部分UV分量,来减少对带宽的需求。却也并不会太影响图像的质量。
YUV颜色空间是彩色电视兴起后,对黑白电视兼容的产物。因为RGB颜色空间中,每一个像素都需要三个分量的叠加,就是需要三通道的信号,即便是表示黑白像素。而在YUV颜色空间中,Y就是表示了灰度信息,也就是黑白图像。所以YUV像素编码,成功的兼容了黑白电视信号
YUV种类
YUV的格式有很多,常见的格式有YUV4:4:4,YUV4:2:2,YUV4:2:0
YUV4:4:4
YUV4:4:4采样,意味着Y、U、V三个分量的采样比例相同,因此在生成的图像里,每个像素的三个分量信息完整,都是8bit,也就是一个字节
YUV4:2:2
YUV4:2:2采样,意味着UV分量采样的一半,Y分量和UV分量按照2:1的比例采样。如果水平方向有8个像素点,那么采样了8个Y分量,而只采样了4个UV分量
YUV4:2:0
YUV4:2:0采样,并不是指只采样U分量而不采样V分量,而是指,在每一行扫描时,只扫描一种色度分量(U或者V),和Y分量按照2:1的方式采样。比如,第一行扫描时,YU按照2:1的方式采样,那么第二行扫描时,YV分量按照2:1的方式采样。对于每个色度分量来说,它的水平方向和竖直方向的采样和Y分量相比都是2:1
YUV存储格式
- 平面格式(planar):指先连续存储所有像素点的Y分量,然后存储U分量,最后是V分量
- 打包模式(packed):指每个像素点的Y、U、V分量是连续交替存储的
RGB与YUV相互转换
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
分辨率
分辨率是指图像的大小或尺寸。比如1920X1080指图片的宽度为1920个像素,高度为1080个像素。
常见的分辨率有:360P(640X360)、720P(1280X720)、1080P(1920X1080)、4K(3840X2160)、8K(7680X4320)
其中1080和720是指垂直像素,分辨率除去垂直像素,还需要考虑到水平像素数。常见的宽高有16:9和4:3。
像素越多,视频就越清晰,所以1080p比720p的视频更加清晰。
有些网站的分辨率显示720i和1080i,这个i指什么,同样是1080,1080i和1080p哪个会更清晰?
其实i和p是指扫描方式,i表示隔行扫描,p则表示逐行扫描,以1080的视频举例:
- 1080i: 1920X1080分辨率。隔行扫描模式下的高清图像是隔行显示的。每一个奇数行图像都在每一个偶数行图像后面显示出来。比如将60帧分成两部分,奇数帧只扫描1,3,5,7……行,偶数帧只扫描2,4,6,8……行,理论上人眼是察觉不出来画面不连续,反而是由于视觉残留,能自动将2帧叠加在一起。
- 1080p:1920X1080分辨率。逐行扫描,每一线都同时表现在画面上,因此比隔行扫描电视更加的平滑。
位深
位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深度来表示的。亦称作“位分辨率”(Bit resolution),计算机之所以能够显示颜色,是采用了一种称作“位”(bit)的计数单位来记录所表示颜色的数据。当这些数据按照一定的编排方式被记录在计算机中,就构成了一个数字图像的计算机文件,位是计算机存储器里的最小单元,它用来记录每一个像素颜色的值。图像的色彩越丰富,位就越多。每一个像素在计算机中所使用的这种位数就是“位深度”。
黑白二色的图像是数字图像中最简单的一种,它只有黑、白两种颜色,也就是说它的每一个像素只有1位颜色,位深度是1,用2的一次幂来表示,考虑带位深度平均分给R,G,B和Alpha,而只有RGB可以相互组合成颜色,所以4位颜色的图,它的位深度是4,只有2的4次幂种颜色,(即16种颜色或16种灰度等级)。8位颜色的图,位深度就是8,有28 = 256种颜色。24位颜色可称之为真彩色,位深度是24,它能组合成224=16777216种颜色(或称千万种颜色),超过了人眼能够分辨的颜色数量。当我们用24位来记录颜色时,实际上是以28X3,即红、绿、蓝三基色,各以28=256种颜色存在,三色组合就形成千万种颜色。
例如:8位颜色图,位深度就是8,用28表示,含有256种颜色(或256种灰度等级)。
更通俗的讲,8位颜色的图,每存储一个像素一般可以存放8位二进制。也就是8个01进行排列组合,排列组合的结果有28种颜色,我们把每个像素可以表示颜色的2的幂指数称为深度。
帧率
所谓帧率,指的是相机在1秒钟内拍摄下多少幅连续的画面,它的单位是fps,即frame per second(每秒传输帧数)。比如25fps表示一秒有25张图片。人的视觉系统对画面有短暂的记忆能力,在同一形象不同动作连续出现的时候,只要形象的动作切换速度足够快,观者在看下张画面时,会重叠之前一张的印象,因此产生形象在运动的幻觉,一般图像帧率达到24帧,我们会认为图像是连续动态的。
帧率越高,画面越流畅,需要的设备性能也越高。如今刷的短视频帧率基本上都是30fps和60fps。
码流
码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,通俗一点理解就是取样率,是视频编码中画面质量控制中重要的部分,一般我们用的单位是kb/s或者Mb/s,一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解码能力也越高。视频文件在单位时间内使用的