- gop(group of picture):一组连续的画面,以I帧开始,下一个I帧结束。
- 帧率fps:每秒传输的帧数,帧率越大,画面越流畅。当视频帧率不低于24fps时,人眼才会觉得视频时连贯的
- 码率bps:每秒传输的数据位数(编码器每秒编出的数据大小)(单位时间内视频传输数据量)单位:kbps
- DTS:解码时间戳——什么时候开始送入解码器中进行解码
- PTS:显示时间戳——解码后的视频帧什么时候被显示出来
- IDR:即时解码刷新,立刻刷新,所以IDR必须是一个I帧,这个帧出现的时候,告诉解码器,可以清除掉所有的参考帧,这是一个全新的序列,新的gop已经开始。
”相同码率下,gop越大,意味着p/b帧越多画面质量越高。“原因:举个例子,一个长GOP=IPPPPPPPPP(9个P帧),另一个为短GOP=IPPPP。
假设现在要构成10帧图像,短GOP需要两个,包括了2个I帧和8个P帧,而长GOP只需要一个,即1个帧+9个P帧。
我们知道I帧的压缩率比P帧要低很多,在码率相同的情况下,I帧越多,画面质量越差,通俗讲就是I帧占用了原本分配给P/B帧的码率,I帧少了,给P/B帧的码率就会高一些。
所以才说GOP越长,图像质量较好的说法。你所谓的“码率固定情况下,P/B越多,意味着单位时间内,P/B的大小更小”是错误的,P/B越多不是指单位时间内的P/B越多(那样就成了帧率越高了),而是相较于短GOP说P/B越多,因为I帧少了。
帧为什么采用yuv格式:因为y是亮度,yu表示色度,人眼对uv的敏感度最低,因此可以极大的压缩uv两个通道的数值。
PSNR(峰值信噪比):图像质量评价指标
彩色图像,通常由一下方法进行计算:
1)计算rgb图像三个通道每个通道的MSE值再求平均值,进而求psnr
2)直接用matlab的内置函数psnr()(注意该函数将所有图像当成灰度图像处理)
3)将图像转为YCbCr格式,只计算y分量即亮度分量的psnr。
PSNR值越大,表示图像的质量越好,一般来说:
(1)高于40dB:说明图像质量极好(即非常接近原始图像)
(2)30—40dB:通常表示图像质量是好的(即失真可以察觉但可以接受)
(3)20—30dB:说明图像质量差
(4)低于20dB:图像质量不可接受