新浪博客

关于HEVC标准概述中容易混淆的概念CTU,CTB,CU,CB,...

2015-07-02 00:33阅读:
翻译完HEVC标准概述,理了一些概念,
1.HEVC的编解码流程图以及流程的翻译
关于HEVC标准概述中容易混淆的概念CTU,CTB,CU,CB,...
生成HEVC码流的典型流程如下:每帧图像都被划分成块状区域,并且这些精确的块划分被传输给解码器;视频序列的第一帧图像(和视频序列的完全随机访问点的第一帧图像)使用帧内预测模式;对于序列中随机访问点之间的其余图像,绝大多数的块都使用帧间时域预测编码模式;帧间预测的编码处理由用来预测每个块像素经过选择的运动数据组成,包括选择过的参考图像和运动矢量(MV).编码和解码通过使用运动估计(MC)(包括有MV和模式选择数据)生成唯一的帧间预测信号.
帧内/帧间预测的残差信号(原始块和预测块的差)通过线性空域变换;变换系数然后被缩放,量化,熵编码后和预测信息一起传输.
编码端复制了解码处理环,这两者都会对子序列数据生成唯一的预测。因此,对残差信号的量化变换系数通过和解码端相同的反量化,反变换实现重建,重建的残差信号加上预测值,将它们的结果通过环路滤波以去除块效应后,最终重建的
图像存储在解码图像缓存器中,以用于子序列图像的预测。通常,图像的编码或解码处理顺序和源不一样,也导致了解码端的解码顺序和播放顺序的不一样。
用于编码成HEVC流的视频序列通常期望是逐行扫描图像(要么源视频格式本就是逐行的,要么通过先于编码的去隔行处理)。在HEVC中没有显示的功能来支持隔行扫描图像的编码,因为隔行扫描图像的应用越来越少了。然后,HEVC提供了一个元数据语法,以允许编码器对隔行扫描视频以独立的场编码(如每个视频帧的奇数行和偶数行)方式被传送。这提供了一种编码隔行视频的有效方式,而不用解码器使用不同的处理流程来处理隔行扫描。
2.从视频到最小单元的划分说一下
视频是由一帧一帧图像组成
GOP:视频的一组图像集合
slice:由一组CTU构成
CTU:对一帧图像进行划分(一帧图像含有很多CTU),CTU中包含一个亮度CTB和两个色度CTB和语法元素,大小64*64-16*16.
CU:对CTU的划分,CU包含一个亮度CB和两个色度CB和语法元素,帧间预测和帧内预测在CU层进行选择,CU可以划分成PU和TU
PU:同理包含一个亮度PB和两个色度PB和语法元素,大小64*64-4*4
TU:同理包含一个亮度TB和两个色度TB和语法元素,大小32*32-4*4,编码流图中对残差信号的编码块
2.在HM代码中的调用也是基于上述的先后顺序,由main->cTAppEncode.encode()->m_cTEncTop.encode()->CompressGOP->compressSlice(划分成LCU)->ComPressCU(进行帧间预测和帧内预测判定)->....

我的更多文章

下载客户端阅读体验更佳

APP专享