9-1_视频解码基础

视频解码基础

参考资料:

  • Tang, Qiang《 Computationally efficient techniques for H.264/AVC transcoding applications》

1.视频解码简介

由于编码是将大型原始视频文件压缩的过程,那么解码(decoder)是对编码后的视频文件进行解码和解压缩的过程 。

视频解码器是一种硬件或软件,用于将编码的视频流信号转换为数字视频文件,包括音频、视频、字幕等,以便在电视、智能手机、平板电脑、计算机显示器或其他流媒体设备上播放。

视频解码器可以是硬件设备的一部分,例如视频捕获设备或机顶盒,也可以是软件或计算机的插件。它能够接收编码的数字视频信号,并显示电子节目指南(EPG)数据、隐藏字幕和字幕。

2.工作原理

在学习视频解码原理前,我们先回顾一下编码的原理:

那么编码的逆向步骤即为解码步骤:熵编码 -> 预测 -> 反量化处理+DCT变换 -> 环路过滤器。

H264解码器的原理步骤为:

  1. 接收压缩比特流
    • 解码器从网络或存储设备中接收压缩的比特流。
  2. 熵解码和重排序
    • 比特流经过熵解码(如CABAC或CAVLC),将压缩的数据转换为量化系数X。
    • 重排序步骤将这些系数按照特定顺序排列,以便后续处理。
  3. 反量化
    • 量化系数X经过反量化,恢复到更接近原始值的系数。
  4. 反变换
    • 反变换(如逆离散余弦变换IDCT或逆整数变换)将反量化后的系数转换为残差数据。
  5. 预测数据生成
    • 解码器使用从码流中解码得到的头信息创建预测数据PRED。
    • 预测数据PRED可以通过两种方式生成:
      • 运动估计:利用参考图像进行运动补偿,生成预测数据。
      • 帧内预测:利用当前帧的已解码部分进行预测。
  6. 重建图像块
    • 预测数据PRED与残差数据D相加,得到初步的图像块数据。
  7. 去方块滤波
    • 每个图像块uF经过去方块滤波,减少块效应,得到最终的解码块。