zoukankan      html  css  js  c++  java
  • H.264 SODB RBSP EBSP的区别

    SODB(String of Data Bits,数据比特串):

    最原始,未经过处理的编码数据


    RBSP(Raw Byte Sequence Payload,原始字节序列载荷):

    在SODB的后面填加了结尾bit(RBSP trailing bits 一个bit ‘1’)若干bit ‘0’,以便字节对齐。


    EBSP(Encapsulated Byte Sequence Payload, 扩展字节序列载荷):

    NALU的起始码为0x000001或0x00000001(起始码包括两种:3 字节(0x000001) 和 4 字节(0x00000001),在 SPS、PPS 和 Access Unit 的第一个 NALU 使用 4 字节起始码,其余情况均使用 3 字节起始码。)

    同时H264规定,当检测到0x000000时,也可以表示当前NALU的结束。那这样就会产生一个问题,就是如果在NALU的内部,出现了0x000001或0x000000时该怎么办?

    在RBSP基础上填加了仿校验字节(0x03)它的原因是:在NALU加到Annexb上时,需要填加每组NALU之前的开始码StartCodePrefix,如果该NALU对应的slice为一帧的开始则用4位字节表示,0x00000001,否则用3位字节表示0x000001.为了使NALU主体中不包括与开始码相冲突的,在编码时,每遇到两个字节连续为0,就插入一个字节的0x03。解码时将0x03去掉。也称为脱壳操作。

    关系图:

  • 相关阅读:
    13.4 对锁和字段风格的事件的微小改变
    JavaWeb-session相关常用的方法
    JavaWeb-UUID
    JavaWeb-seession原理
    JavaWeb-HttpSession入门
    JavaWeb-Cookie的路径
    JavaWeb-Cookie的生命
    JavaWeb-Cookie介绍
    JavaWeb-JSP原理
    JSP文件生成的java文件和class文件所在的路径(eclipse和tomcat)
  • 原文地址:https://www.cnblogs.com/zoneofmine/p/10784276.html
Copyright © 2011-2022 走看看