【网络-rtp】003 H264 基本概念与 RTP 包传输类型

1 H264 基本概念介绍

1.1 什么是 H264?

H.264是一种面向块,基于运动补偿的视频编码标准 。H.264 又称为Advanced Video Coding, or AVC。

H.264视频编解码器具有非常广泛的应用范围,涵盖了所有形式的数字压缩视频,从低比特率的互联网流媒体应用到高清电视广播和几乎无损编码的数字电影应用,包括低和高比特率,低和高分辨率视频,广播,DVD存储,RTP / IP分组网络和ITU-T多媒体电话系统。
H.264 is typically used for lossy compression, although it is also possible to create truly lossless-coded regions within lossy-coded pictures or to support rare use cases for which the entire encoding is lossless. (H.264通常用于有损压缩,尽管它也可以在有损编码的图像中创建真正的无损编码区域,或者支持整个编码是无损的罕见用例。)

1.2 H264 基本名词解释

常用缩略词
DON: Decoding Order Number
FU: Fragmentation Unit
IDR: Instantaneous Decoding Refresh
ITU-T: International Telecommunication Union, Telecommunication Standardization Sector
MTAP: Multi-Time Aggregation Packet
MTAP16: MTAP with 16-bit timestamp offset
MTAP24: MTAP with 24-bit timestamp offset
NAL: Network Abstraction Layer
NALU: NAL Unit
SEI: Supplemental Enhancement Information 补充增强信息
STAP: Single-Time Aggregation Packet
STAP-A: STAP type A
STAP-B: STAP type B
TS: Timestamp
VCL: Video Coding Layer

VCL (video coding layer)

The VCL contains the signal processing functionality of the codec; mechanisms such as transform, quantization, and motion compensated prediction; and a loop filter.
VCL包含编解码器的信号处理功能;转换、量化和运动补偿预测等机制,以及一个循环过滤器。
It follows the general concept of most of today’s video codecs, a macroblock-based coder that uses inter picture prediction with motion compensation and transform coding of the residual signal.
它遵循了当今大多数视频编解码器的一般概念,一种基于宏块的编码器,使用带有运动补偿的图像间预测,并对剩余信号进行 transform coding。

The VCL encoder outputs slices: a bit string that contains the macroblock data of an integer number of macroblocks, and the information of the slice header (containing the spatial address of the first macroblock in the slice, the initial quantization parameter, and similar information).
VCL编码器输出切片: 一个位字符串,包含整数个宏块的宏块数据,以及切片头的信息(包含切片中第一个宏块的空间地址、初始量化参数和相似信息)。

Macroblocks in slices are arranged in scan order unless a different macroblock allocation is specified, by using the so-called Flexible Macroblock Ordering syntax. In-picture prediction is used only within a slice.
通过使用所谓的Flexible macroblock Ordering语法,片中的macroblock按照扫描顺序排列,除非指定了不同的macroblock分配。图像内预测仅在切片内使用。

NAL network abstraction layer

The Network Abstraction Layer (NAL) encoder encapsulates the slice output of the VCL encoder into Network Abstraction Layer Units (NAL units), which are suitable for transmission over packet networks or use in packet oriented multiplex environments.
网络抽象层(NAL)编码器将VCL编码器的片输出封装成网络抽象层单元(NAL),这些单元适合在分组网络上传输或在面向分组的多路复用环境中使用。

2 RTP 通用的分包规则 (Common Packetization Rules)

RTP有效载荷格式定义了三种不同的基本有效载荷结构。
接收方可以通过RTP有效载荷的第一个字节识别有效载荷结构,该字节作为RTP有效载荷头,在某些情况下作为有效载荷的第一个字节。这个字节总是为NAL单元头结构。NAL单元类型字段指示存在哪个结构。可能的结构如下:

**单NAL单元包 Single NAL Unit Packet:**一个Nalu单元使用一个RTP packet。NAL报头类型字段将等于原来的NAL单元类型;取值范围为1 ~ 23,包括1 ~ 23。

聚合包 Aggregation packet: 多个NAL单元聚合为单个RTP有效负载的包类型。该报文有四种版本:单时间聚合报文类型A (STAP-A)、单时间聚合报文类型B STAP-B)、多时间聚合报文(MTAP)和16位偏移多时间聚合报文(MTAP16)
(MTAP)具有24位偏移量多时间聚合报文(MTAP24)。为STAP-A、STAP-B、MTAP16、MTAP24分配的NAL单元类型号分别为24、25、26、27。

**分片单元 Fragmentation unit:😗*单个NALU单元分成多个片段,使用多个RTP psckets传递。存在FU-A和FU-B两个版本,分别用NAL单元类型编号28和29进行标识。如章节5.8所述。

此外,所有发送方必须执行以下分组规则,无论使用哪种分组模式:
1)属于相同编码图片的(编码片NAL单元或编码片数据分区NAL单元)NAL单元(因此共享相同的RTP时间戳值)可以按[1]中定义的适用配置文件允许的任何顺序发送; 然而,对于延迟关键型系统,它们应该按原始编码顺序发送,以最小化延迟。注意,编码顺序不一定是扫描顺序,而是NAL数据包对RTP堆栈可用的顺序。

2)参数集按照 rfc3984 第8.4节给出的规则和建议处理。

3)除了序列或图像参数集NAL单元外,MANES绝对不能复制任何NAL单元,因为本备忘录和H.264规范都没有提供识别重复NAL单元的方法。序列和图像参数集NAL单元可以被复制,以使其正确接收的可能性更大,但任何这样的复制不得影响任何活动序列或图像参数集的内容。复制应该在应用层执行,而不是通过复制RTP数据包(具有相同的序列号)。

4)在RTP转换器中,MANEs 可以将单个NAL单元包转换为一个聚合包,也可以将一个聚合包转换为多个NAL单元包,或者混合使用这两种概念。RTP转换器至少应该考虑以下参数:路径MTU大小,不平等保护机制(例如,根据RFC 2733[18]通过基于数据包的FEC,特别是序列和图像参数集NAL单元和编码片数据分区A NAL单元),系统可承受的延迟,以及接收方的缓冲能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值