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去掉。也称为脱壳操作。

关系图:

最新文章

  1. win 10 常见问题
  2. SQL Server 数据库中关于死锁的分析
  3. 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
  4. wap资费页面
  5. nginx 负载均衡相关知识
  6. 动态引入Js文件
  7. Spring talk简单配置
  8. python:open/文件操作
  9. 1086. Tree Traversals Again (25)
  10. Python:怎样用线程将任务并行化?
  11. ABP入门系列(1)——通过模板创建MAP版本项目
  12. 统计分析与R软件-chapter2-2
  13. Oracle中start with...connect by子句的用法
  14. SVM:SVM之Classification根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测—Jason niu
  15. 基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
  16. 基于esp32的IIC通讯
  17. 关于casperjs的介绍
  18. cf623A. Graph and String(二分图 构造)
  19. 转 Linux会话浅析(写得极好,表述清楚语言不硬)
  20. HDU 2082 找单词 (普通母函数)

热门文章

  1. python下matplotlib的subplot的多图显示位置的问题
  2. 吴裕雄 python 神经网络——TensorFlow 花瓣分类与迁移学习(1)
  3. 嵌入式实时程序设计中C/C++代码的优化
  4. node js 判断数组中是否包含某个值
  5. string类的具体实现
  6. 修改html内联样式的方法
  7. Vulnhub_bossplayersCTF 记录
  8. sqllab less-1
  9. 并发编程之Event事件
  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:引用(Blockquote)