编码结构之编码时的分层处理架构
本博文主要介绍HEVC编码结构中的“编码时的分层处理架构”。HEVC编码结构的主要目的就是为了各种应用下操作的灵活性以及数据损失的鲁棒性(所谓“鲁棒性”,是指控制系统在一定的参数摄动下,维持其它某些性能的特性)。从GOP(Group of Pictures)至Slice,从Slice至SS(Slice Segment),从SS至CTU(Coding Tree Unit),从CTU至CU(Coding Unit)的过程就是编码时的分层处理架构。
1、图像组GOP
视频序列由若干时间连续的图像构成,在对其进行压缩时,先将该视频序列分割为若干个小的图像组(Group of Pictures,GOP),GOP分为:封闭式GOP(Closed GOP)和开放式GOP(Opened GOP)。
封闭式GOP如下图所示,每个GOP以IDR(Instantaneous Decoding Refresh)图像开始,各个GOP之间独立编解码。
开放式GOP如下图所示,第一个GOP的第一个帧内编码图像为IDR图像,后续GOP中的第一个帧内编码图像为non-IDR图像,也就是说,后面GOP中的帧间编码图像可以越过non-IDR图像,使用前一个GOP中的已编码图像做参考图像。
2、片Slice
每个GOP又被划分为多个片(Slice),片与片之间进行独立编码。其主要目的之一是在数据丢失情况下进行重新同步。在HEVC中,默认情况下,一个GOP分为4个片,每个片就是一帧图像。
如下图