二、高清视频的编码流程
那么究竟高清编码的步骤有哪些,哪些又是负载最高的部分呢?以H.264视频举例而言,分为四个主要部分(见下图)。图中的四个方块基本就是H.264解码的四个最主要步骤,也是资源消耗的主要四个部分,其中又以第一步的“CAVLC/CABAC解码”最为消耗运算资源,这方面远高于其他三步(简单的说,CAVLC/CABAC是H.264编码规范中两种不同的算法,际俏了提高压缩比,其中CABAC比CAVLC压缩率更高,但解码时自然也要求更高)。
三种主流高清视频编码格式处理流程对比 | ||||
视频编码格式 | 流处理 | 视频变换 | 动态补偿 | 去块滤波 |
MPEG-2 | VLC | 反离散余弦变换 (浮点) |
帧间编码 (双线性插值) |
N/A |
VC-1 | VLC | 反离散余弦变换 (整数) |
帧间编码 (双三线插值) |
循环 |
H.264/AVC | VLC/CAVLC/CABAC | 反离散余弦变换 逆变换 |
帧间编码 或 帧内编码 |
循环 |
『3种主流高清视频编码格式流程对比,还是有不少区别的』
三、高清视频的解码流程
我们下面来看看主流的3种编码格式,包括Mpeg2、VC-1、H.264的解码流程对比(见下图)。可以看出,几种编码格式还是有不少区别的,这也是造成几种编码格式要求不同的原因,H.264编码格式最为复杂,因此系统要求最高,VC-1略有降低,但是也比Mpeg2高得多。
『H.264解码流程图,其中第一个流处理部分最为消耗硬件资源』
其它编码格式与H.264类似。