背景
作为一个视频模块相关的QA,为了更好地保障视频搭配,编辑(包括特效,元素等),保存,这样一个流程的上线质量,必然要对视频相关的基础知识有一定程度的了解,比如视频导入需要准备什么测试数据,这里面就有很多知识点需要学习,那么我们接下去讲讲QA需要了解的部分视频基础知识吧
视频是什么
通俗地讲,视频是有一张张图片按照先后顺序组成的,在一段时间内连续播放(这里如果是有声的视频,也会有音频)
专业的讲,参考:https://baike.baidu.com/item/%E8%A7%86%E9%A2%91/321962?fr=aladdin
视频的基础属性
因为视频是由图片组成的,所以这里就会涉及到图片的一些相关知识,比如:像素,分辨率,颜色模式,颜色深度,图片格式等等,详见://www.greatytc.com/p/498dc14cd96f
本文主要介绍视频相关的一些信息
帧,帧数,帧率
帧:上面说到视频是由一张张图片组合成的,而帧就是指每一个画面,我们平时所看到的图片是RGB格式,视频的帧是YUV格式
帧数:就是帧的总数量,就是有多少帧
帧率:每秒传输的帧数,帧数/时间,单位为帧/每秒
备注:
帧率越大,即每秒传输的帧数越多,视频越流畅,视频的大小也会越大;当视频帧率不低于24fps时,人眼才会觉得视频时连贯的,称为“视觉暂留”现象。
视频格式
常见的视频格式有:MP4、MKV、AVI等
视频压缩
原理
消除冗余
流程
编码器:将图片或者视频流编码成某种格式的压缩文件
解码器:将文件进行解码,产生于原始相同或者相似的视频流
无损压缩
优点:解码后的图像和原始图像完全一致
缺点:效率低
有损压缩
优点:压缩效率高
缺点:解码图像质量与原图相比有所下降
压缩方法
大多采用查找空间和时间上的冗余信息来达到压缩目的,详见下面的视频编码器
视频编码器
从三个方面进行编码:时域模型,空域模型(时空),熵编码器
时域模型
作用:消除连续帧之间的时域冗余
一般情况下相邻两帧之间具有比较大的相似性,时域模型通过预测帧来点击时域冗余;预测器通过当前帧之前或之后的一帧或者多帧图像作为参考,通过运动补偿算法等技术降低预测帧与当前帧的差别
输入:未压缩的原始视频流
输出:当前帧与预测帧详见的结果(残差图像)和各个模型参数
补充:
运动补偿算法:是预测图像编码的一种
编码器根据过去或者将来的图像帧产生当前帧区域的预测,用当前图像减去预测图像得到相应的残差图像的编码方法
空域模型
利用相邻像素点的相似行,消除残差图像的空间冗余,编码器对残差图像进行频域变换,再量化,得到相应的残差系数
输入:残差图像
输出:残差系数
熵编码器
对时域参数和变换系数进行压缩消除存在的统计冗余。并输出压缩后的比特流等属于用于视频传输和存储
视频码率
视频编码引出的I帧,P帧,B帧是什么?
在H.264压缩标准中,I帧、P帧、B帧用于表示传输的视频画面。
I帧:英文全称:intra-coded-picture,帧内编码图像帧,俗称关键帧,这一帧画面完整地保留,不需要依赖上下帧可以独立进行解码
色彩空间
视频质量评估
主观感受
但是观察者的感受会被其他东西影响,比如环境,立场,场景,注意程度,最近效应等等
客观评价
1、峰值降噪比(PSNR):
全称Peak signal-to-noise ratio,原图像与处理图像之间均方差相对于(2n-1)2的对数值,其中n是每个采样值的比特数
一般取值范围:20-40;值越大,视频质量越好。
缺点:不太能很好地反映人的主观感受,且需要原图进行比对
2、结构相似性SSIM(结构相似性):
全称:Structural SIMilarity,基于样本x和y的三个比较衡量:亮度 (luminance)、对比度 (contrast) 和结构 (structure)。一般取值范围:0-1,值越大,视频质量越好。
缺点:计算稍复杂,
优点:其值可以较好地反映人眼主观感受。
计算参考:https://zhuanlan.zhihu.com/p/50757421