zoukankan      html  css  js  c++  java
  • 【codecs】编解码标准梳理框架和要点(完善ing)

    Date: 2018.11.3


    1、前言

        在研读编解码标准时,需要注意不能完全按照标准的思路和角度去理解标准,虽然标准已经将所有技术细节讲述清楚了,但是可能整体的框架和要点并不能完全呈现出来,需要我们自己去组织呈现,并将各个技术要点具体化。

    2、编解码标准框架和要点

        梳理标准可以从两个维度进行:

    1. 首先把握整体的框架和要点(基本要素或骨架);
    2. 在上面基础上梳理各个要点的细节(具体化)。

    使用上面总-分的方式梳理标准,可以更好的把握标准的框架和细节。

    以MPEG-2标准为例进行分析:

    (1). 码流组织方式(码流结构)

    • 分层结构(MPEG1/2/4)
    • 单层nal结构(H.264/H.265)
      码流结构其实是定义了如何存放码流数据和一些辅助信息。 头信息可以理解为一些辅助信息。确定码流结构之后,首先需要明确头信息解码中的相关信息。
      在MPEG-2标准中,Sequence_header中包含有码流的帧宽和帧高信息,所以必须要有sequence_header,并且后面紧跟着sequence_extension。并且必须要有Picture_header(包含帧类型),后面紧跟picture_coding_extension。其中gop_header是可选的,sequence_header和picture_header都是必须要有的。
      主线: 预测 + 残差 = 重建

    预测过程

    (2). 帧内预测

    • 宏块划分方式(确定预测块的大小):区分亮度块大小和色度块大小
    • 预测方式
      • 无像素域预测(MPEG1/2/4)
      • 有像素域预测
        • 相邻块可用性(确定参考块)
        • 预测模式:区分亮度块和色度块的预测模式

    (3). 帧间预测

    • 宏块划分方式(确定预测块的大小),区分亮度块大小和色度块大小
    • 预测方式(指示通过MV和参考帧找到参考块,按图索骥)
    • 参考帧或参考场:区分场预测(参考为场)和帧预测(参考为帧)
    • MV运动信息:MV=MVP+MVD
      • 相邻块可用性
      • 运动矢量预测MVP
      • MV计算精度
    • 知识串联:可以采用预测方式为主线将帧内预测中的各个要点串联起来。
      预测方式: 1). 特点:比如Skip模式没有残差,mvd等于0,重构值等于预测值。
      2). 预测方向: 前向、后向、双向
      3). 参考帧
      4). 块划分大小
      5). MV信息

    残差解码过程
    (4). 熵解码
    以VLC(Huffman)为例:

    • 块大小:8x8
    • 区分帧内和帧间的块解码方法
    • 区分DC系数和AC系数解码
    • DC系数解码一般采用差分方法(差分+VLC),即dc = pred(前一个块的dc值或者其他方式获取) + diff(码流中传输)
    • AC系数解码:RLC+VLC方式

    (5). 反扫描

    • 块大小:8x8或者4x4
    • 扫描方式:常用zigzag

    (6). 反量化

    • 块大小:8x8或4x4 (量化块尺寸与预测块(宏块划分方式)之间关系)
    • 量化参数QP确定:区分亮度块和色度块
      例如0~31(mpeg-2/4),0~55(svac1)。编码句法中必定有句法表示QP(例如mpeg-2中的quantiser_scale)。
    • 反量化后残差系数的取值范围(运算精度)
    • 区分帧内块和帧间块

    (7). 反变换

    • 块大小:8x8或4x4 (变换块尺寸与预测块(宏块划分方式)之间关系)
    • 定点化(缩放)
    • 反变换后残差系数的取值范围(计算精度)

    THE END!

  • 相关阅读:
    VS2012打包部署Winform程序
    WPF 触发器Triggers
    VS2010中的顺序图
    decimal,float和double的区别
    EXCEL基本知识
    java byte 循环左移 循环右移 rotateLeft rotateRight
    博客地址转移
    PHP学习思维导图
    一款web前端在线编辑器
    9patch android .9格式使用
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532100.html
Copyright © 2011-2022 走看看