前面提到视频序列里包含不同类型的图像,I帧(只使用帧内预测)、P帧(单向帧间预测)、B帧(双向帧间预测)。由于P帧和B帧在帧间预测时要参考其他帧,所以形成了不同帧间的时域依赖关系(时域预测帧必须在其参考帧解码后才能解码)。

图像类型_IRAP

 

上图展示了不同帧间的时域依赖关系。图上数字是编解码顺序,从左到右是播放顺序,即解码顺序为1,2,3,4,5,6,7,8,9,播放顺序为1,4,3,5,2,8,7,9,6。

编码视频序列(coded video sequence,CVS)中定义了以下几种图像类型。每帧图像的类型可以在其所属的NALU header中找到。

随机介入点图像(Intra Random Access Point,IRAP):IRAP是I帧,且播放顺序在其后的图像可以独立解码,无需参考IRAP前的图像。上图中图像2为IRAP图像。

前置图像(Leading Pictures):解码顺序在IRAP后,而播放顺序在其前的图像称为该IRAP的前置图像。上图中图像5为图像2的前置图像。

后置图像(Trailing Pictures):播放顺序在IRAP后(解码顺序必在其后)的图像称为IRAP的后置图像。上图中图像8为图像2的后置图像。

IRAP只包含帧内编码,不采用帧间预测可以独立解码。但只包含帧内编码的不一定都是IRAP图像,还要看其后置图像能否独立正确解码(不用参考IRAP前的图像)。

前置图像可以分为RADL(Random Access Decodable Leading)图像和RASL(Random Access SkippedLeading)图像。不依赖于IRAP前码流信息的前置图像成为RADL图像,即从IRAP介入,RADL可以正确解码。依赖于IRAP前码流信息的前置图像成为RASL图像,即从IRAP介入,RASL不可以正确解码。上图中图像3为图像2的RASL图像。

IRAP图像又可以分为IDR(Instantaneous Decoding Refresh)图像、CRA(Clean Random Access)图像和BLA(Broken Link Access)图像。

当IRAP的所有前置图像都是RADL图像时,该IRAP图像就是IDR图像。当IRAP的前置图像包含RASL图像时,该IRAP图像就是CRA图像。当直接从CRA介入时RASL图像无法正确解码。当从CRA开始的码流的一部分也属于另一段码流时,如上图中播放顺序在图像2后的图像,其RASL肯定无法正确解码,为了方便处理,这时CRA图像被定义为BLA图像,即明确其RASL图像不需要解码。

图像类型_IRAP_02

 

编码序列中每幅图像都有一个时域层标识号,低层图像(时域层标识号小)不能参考高层图像,即低层图像不依赖于高层图像。IRAP的时域层标识号为0,H.265/HEVC规定最高时域层号为6。

时域层标识号反映了图像的时域重要性,可以据此进行时域分级。当网络信号不好时,可以选择某个时域层值,丢掉时域标识号大于该值的图像。在HEVC码流中,从某幅图像开始丢弃其后(码流顺序)具有更高层时域标识号的图像,称为时域层下切换。从某幅图像开始可以发送具有该层时域标识号的图像,称为时域层上切换。

在时域可分级中HEVC又定义了两种图像:TSA(Temporal Sub-layer Access)和STSA(Step-wise Temporal Sub-layer Access)。TSA图像表示从该图像开始可以切换到时域层标识号大于或等于该图像时域层标识号的时域层。STSA图像表示从该图像开始可以切换到该图像所属的时域层。TSA图像和STSA图像的时域层标识号必须大于0。

感兴趣的请关注微信公众号Video Coding

图像类型_IRAP_03