播放顺序和编/解码顺序
- 播放顺序:Play Order Count(POC),解码后视频帧的播放顺序
- 编/解码顺序:Encoding/Decoding Order Count(EOC/DOC),编/解码处理过程中的视频帧顺序
三种视频帧
视频编码序列中包含三种编码帧,分别是I帧(I frame/ I Picture)、P帧、B帧,含义如下:
- I帧:Intra-coded picture,编解码过程中只采用帧内预测,不参考其他帧信息;
- P帧:Predictive-coded picture, 编解码过程中采用帧间预测,参考播放顺序之前的I/P帧信息;
- B帧:Bidirectionally predictive-coded picture,编解码过程中采用帧间预测,参考播放顺序之前和之后的I/P/B帧信息;
理论上,三种类型的编码帧压缩比(码流占用)大小比较为:I帧 < P帧 < B帧。
AI、RA、LD
HEVC和VVC中都采用了三种编码类型:全帧内(All Intra,AI)、随机接入(Random Access,RA)、低延迟(Low Delay,LD),分别满足于不同的需求。
- AI:每一帧都不需要参考其他帧的像素信息,可独立的进行编解码,且每一帧的量化参数都保持一致,AI编码结构适合信道环境较差,容易发生丢包现象的编码场景,当发生丢包时不会影响后续帧的编解码;
- RA:支持随机接入,对于实现信道切换、寻道操作和动态流服务至关重要,适用于广播及流媒体等的应用需求;
- LD:包括LD B和LD P,分别表示首帧为I帧之后的视频帧为B帧或P帧。时延相对更小,适合直播,视频通话等对时延要求较高的场景。
RA的解释之GOP、IDR、CRA、RASL、RADL
在AVC/H.264中,位流始终是以及时解码更新(Instantaneous Decoding Refresh,IDR)图像为起始,IDR即为解码过程只进行帧内编码、不依赖之前解码图像信息的I帧,这种情况下的图像组(Group of Pictures,GOP)称为closed GOP;而HEVC/H.265引入了随机访问(RA,Random Access),随机访问点(Random Access Point)位置上的图像即为CRA(Clean Random Access),CRA也是I帧,但以CRA为起始的GOP称为open GOP。
如果解码顺序在CRA之后、显示顺序在CRA之前的帧间预测图像(P/B帧)需要参考CRA之前的图像信息进行解码,那么从该CRA进行随机访问会使得上述这些图像无法正确解码而需要被丢弃,这些图像称为RASL(random access skipped leading)图像。另一类图像同样解码顺序在CRA之后、显示顺序在CRA之前的帧间预测图像(P/B帧),但不需要参考CRA之前的图像信息进行解码,称为RADL(random access decodable leading)。
对于AI和LD情况下,没有CRA,所有的I帧均为IDR。每两个I帧之间的距离为IntraPeriod。在VTM 11.0中,作为Anchor参数设置cfg中,AI的GOP大小为1,RA的GOP大小为16/32,LD P/B的GOP大小为8。