PSNR:峰值信噪比;评价图像的客观标准
QP:量化步长
IDR帧是视频流的分隔符,所有帧不可以使用越过关键帧的帧作为参考帧。
同样分辨率下,视频文件的码流越大,压缩比越小,画面质量越高。
I帧通常是每个GOP的第一个帧,经过适度压缩作为随机访问的参考点,可以当成图像。
H.264码率控制算法可以分为:
group of picture level
picture leve
macroblock level
一个序列的第一个图像叫做IDR图像(立即刷新图像)。
只要显示屏幕分辨率>=1280*720即可分为HD等级。
SPS(序列参数集)/PPS(图像参数集):包含了初始化H.264解码器所需要的信息参数,包括编码用profile,level,图像宽和高,deblock滤波器
H.264把图像分为一帧(frame)或两场(filed);帧又分为片(slice),片由宏块(MB)组成,宏块是编码处理的单元。
SODB(string of data bits)原始数据比特流
RBSP(raw byte sequence payload) 原始数据字节流
NAL(network abstraction layer units) NAL单元
SODB + RBSP trailing bits = RBSP
NAL header + RBSP = NALU
OpenMax:多媒体应用程序标准,对音视频,静态图片的常用操作进行封装:1应用层(AL) 2集成层(IL) 3开发层(DL)
GSstreamer用来构建流媒体应用的开源多媒体框架,其目标是简化音视频应用程序的开发。
多数的无损编码都采用RLE行程编码算法
帧内一般采用有损压缩算法
对称意味着压缩和解压缩占用相同的计算处理能力和时间,对称算法适合于实时压缩和传送视频
MPEG-1标准的码率为1.2Mbits左右,可提供30帧CIIF(352*288)质量的图像,是CD-ROM关盘的视频存储和播放所制定的。
I:帧内帧 P:预测帧B:双向预测帧D:直流帧
H.264算法在概念上分为两层:
视频编码层(VCL):负责高效的视频内容表示
网络提取层(NAL):负责网络所要求的恰当的方式对数据进行打包和传送
NAL负责使用下层网络的分段格式来封装数据,包括组帧,逻辑信道,定时信息的利用和序列结束信号等
NAL包括自己的头部信息,段结构信息和实际载荷信息,即上层VCL数据
H.264熵编码:1 UVLC;2 CABAC
H.264RAM需求主要用于参考帧图像,大多数编码视频使用了3-5帧参考图像,他对ROM的需求并不比通常的视频编码器更多。
H.264有四种画质级别:
BP(Base Profile)基本画质:支持I/P帧,只支持无交错和CAVLC
EP(Extended Profile)进阶画质:支持I/P/B/SP/SI帧,只支持无交错和CAVLC
MP(Main Profile)主流画质:提供I/P/B帧,支持交错和无交错,CAVLC和CABAC
HP(High Profile)高级画质:在MP增加8x8预测,自定义量化