一、基本概念

一个视频图像可编码成一个或更多个条带,每个条带包含整数个宏块(MB),即每个条带至少一个MB,最多时每个条带包含整个图像的宏块。总之,一幅图像中每个条带的宏块数不一定固定。设条带的目的是为了限制误码的扩散和传输,应使编码条带相互间是独立的。某个条带的预测不能以其它条带中的宏块为参考图像,这样某一条带中的预测误差才不会传播到其它条带中去。

Slice的类型如表1所示

表1 Slice的类型

说明:

1、I宏快是指每个块或宏块是通过其所在的Slice中的之前的已经编码过的数据进行预测的;

2、P宏块是指宏快或宏块分割是通过List0中的一个参考图像来进行预测的;

3、B宏快是指宏快或宏块分割是通过List0和/或List1中的参考图像来进行预测的;

4、SI和SP:即Switch I和Switch P,是一种特殊的编解码条带,可以保证在视频流之间进行有效的切换,并且解码器可以任意的访问。比如,同一个视频源被编码成各种码率的码流,在传输的过程中可以根据网络环境进行实时的切换;

5、SI宏块是一种特殊类型的内部编码宏块,按Intra_4x4预测宏块编码。

二、条带头语法元素slice_type

slice_type是条带头语法元素,用于标识条带的编码类型,如表2所示:

表2 slice_type的类型关联

可能会感觉有些奇怪,0到4与5到9不是重复了么?是这样,slice_type的值在5到9的范围内表示,除了当前条带的编码类型,所有当前编码图像的其他条带的slice_type的值应与当前条带的slice_type的值一样,或者等于当前条带的slice_type的值减5。

对于IDR图像,slice_type的值应为2、4、7或者9。

如果num_ref_frames的值为0,slice_type的值应为2、4、7或者9。其中,num_ref_frames是SPS的语法元素,规定了可能在视频序列中任何图像帧间预测的解码过程中用到的短期参考帧和长期参考帧、互补参考场对以及不成对的参考场的最大数量。

H.264的Slice及Slice类型相关推荐

  1. 十一、H.264的Slice Header解析

    GitHub代码地址:点击这里 H.264中的条带(Slice) 1. Slice的概念 我们已经知道,整个H.264的码流结构可以分为两层:网络抽象层NAL和视频编码层VCL.在NAL层,H.264 ...

  2. nalu模式多slice_H.264中NAL、Slice与frame意思及相互关系

    H.264中NAL.Slice与frame意思及相互关系 NAL nal_unit_type中的1(非IDR图像的编码条带).2(编码条带数据分割块A).3(编码条带数据分割块B).4(编码条带数据分 ...

  3. h.264语法结构分析

    NAL Unit Stream Network Abstraction Layer,简称NAL. h.264把原始的yuv文件编码成码流文件,生成的码流文件就是NAL单元流(NAL unit Stre ...

  4. H.264 视频的 RTP 载荷格式

    本文是 IETF 的规范 RFC 6184 的一部分的翻译,该规范 地址.翻译这份文档,主要是为了编写一段用 RTP 传输 H.264 流的代码.本想在网上找一些文章完成任务了事的,但由于个人之前音视 ...

  5. H.264 入门篇 - 01 (Bitstream)

    目录 1.H.264 比特流格式 1.1.起始字段 (Start Code) 1.2.NAL Unit 组成 1.2.1.NAL Unit Header 1.2.2.NAL Unit Payload ...

  6. H.264视频的RTP有效负载格式 (RFC-3984)

    RFC文档链接 本备忘录的状态 略 摘要 本备忘录描述了ITU-T建议的H.264视频编解码器和技术上相同的ISO/IEC国际标准14496-10视频编解码器的RTP有效载荷格式.RTP有效载荷格式允 ...

  7. 基于RTP协议的H.264视频传输系统:实现

    实现的原理:基于RTP协议的H.264视频传输系统:原理 相关文章: [1]RTP协议分析 [2]jrtplib简介 [3]Qt调用jrtplib实现单播.多播和广播 [4]RTP 有效负载(载荷)类 ...

  8. H.264/AVC 片——slice

    一帧视频可以编码成一个或多个片slice,每个slice包含有一个或多个宏块MB(最多时一个slice包含整帧的宏块).具体来说有三种关系: 每个编码图像一个切片,这是许多H.264编码应用程序的常见 ...

  9. H.264视频RTP负载格式/NALU的类型

    1. 网络抽象层单元类型(NALU) NALU 头由一个字节组成, 它的语法如下:       +===============+       |0|1|2|3|4|5|6|7|       +=+= ...

  10. H.264中POC类型之探讨

    有 B 图像的场合.POC 表示的是图像显示顺序.由于POC对于参考序列的初始化,重排序及标记关系重大,所以做了如下的分析,以下讨论情况是针对帧编码. pic_order_cnt_type=0的时候: ...

最新文章

  1. 利用jquery的imgAreaSelect插件实现图片裁剪示例
  2. roc与auc曲线的理解
  3. TensorFlow与主流深度学习框架对比
  4. c++ websocket客户端_阿里面经WebSocket实时通信
  5. 利用BenchmarkDotNet 测试 .Net Core API 同步和异步方法性能
  6. 带有Python示例的math.sin()方法
  7. 2018-1-27:内存的划分
  8. Linux FTP安装问题
  9. 男人必读:女人64个谜团
  10. 10-1-Spring Boot综合项目实战-准备工作
  11. Perl 学习笔记-目标操作
  12. OSPF定义的5种区域类型:标准区域、主干区域、存根区域、完全存根区域
  13. java技术 ppt_Java技术简介与基本宣告ppt课件.ppt
  14. Spring源码下载---导入到Idea
  15. android 添加字幕,字幕添加器app-字幕添加器安卓版v2.0.1 - 起点软件园
  16. Docker安装filebeat
  17. el-date-picker由中国时间转换成格林尼治时间
  18. 【H2O系列001】H2O概述
  19. 科技爱好者周刊:第 90 期
  20. R语言绘制不一样的韦恩图

热门文章

  1. c# wince 小技巧
  2. 32获取外部中断状态_STM8单片机中断的主要功能解析
  3. python文章抄袭检测_中小学生的噩梦:怎样用Python检测抄袭行为?广大中小学生们的美梦就此结束...
  4. 尚硅谷mysql高级思维导图_幕布高级版,不花钱也能用!极简大纲笔记 | 一键生成思维导图...
  5. Java之美[从菜鸟到高手演变]之设计模式三
  6. AES算法,DES算法,RSA算法JAVA实现
  7. 靠播放业务吃不饱?音乐流媒体纷纷“加电商”卖周边
  8. shell 函数定义及应用
  9. Linux mysql 允许远程连接
  10. 尽量用iterator代替const_iterator