zoukankan      html  css  js  c++  java
  • H264中的MapUnits

    1 MapUnits

      在FMO(Flexible Macroblock ordering)时,从宏块到条带组的映射是以MapUnits为基本单位,MapUnits可能为宏块,也可能是上下两个宏块(见下文)。

    2 在标准中的MapUnits

           

      这里我翻译一下大概意思是:

        条带组映射单元以下面的方式确定:

        - 如果frame_mbs_only_flag==0 并且 mb_adptive_frame_filed_flag ==1 并且编码图像是一个帧图像,这时条带组映射单元是宏块对单元(分场宏块对与帧宏块对)

        - 否则,如果frame_mbs_only_flag == 1 或者 编码图像是场图像时,这时条带组映射单元是宏块单元

        -- 否则(frame_mbs_only_flag==0 并且 mb_adptive_frame_filed_flag ==0 并且编码图像是一个帧图像),条带组单元是就像一个MBAFF帧图像的帧宏块对一样的

        上下紧挨着的两个宏块组成的单元(与宏块对并不完全一样,宏块对编码时以锯齿方式扫描,而前述两个宏块组成的单元编码时依然采用光栅扫描方式)。

      

    3 对标准整理后的伪代码

      if(非场拼接的帧图像编码 或 场图像编码)

        MapUnits := 宏块单元

      else //上下两场拼成的帧图像编码

        if(MBAFF)

          MapUnits := 宏块对单元

        else 

          MapUnits := 上下紧挨着的两个宏块组成的单元

      

  • 相关阅读:
    死锁
    不能复制文件到服务器
    JWT
    身份验证
    依赖注入
    ml.net
    swift 枚举、结构、类
    nginx 负载均衡
    sql 时间函数大全
    更新SVN时提示要清理,但清理失败,乱码得解决方案
  • 原文地址:https://www.cnblogs.com/oldmanlv/p/6001933.html
Copyright © 2011-2022 走看看