H264/265 SEI 简介

什么是SEI

在音频和视频流中,补充增强信息(SEI)是插入到比特流中的附加数据,以传达额外的信息,这些信息可以与相关的音频和视频内容精确同步接收。
在音视频内容的编码和传输过程中可以插入SEI。可以在SEI中添加各种类型的信息,例如相机或编码器的参数, 事件戳,隐藏式字幕,歌词,和版权信息。虽然标准定义了如何将 SEI 消息插入码流的语法和语义,但并不要求解码器能够处理此信息。因此,如果设备不支持 SEI 数据,则 SEI 数据可能会在内容分发链中的某个时间点被丢弃。

SEI的应用示例

这里举一个SEI在自动驾驶领域的一个应用例子–HIL硬件在环测试或者PIL处理器在环测试,这个例子中,假设一辆自动驾驶的汽车有两颗摄像头,在研发初期我们要验证我们的soc各种功能是否正常。当然一个最简单的办法就是把车开到路上去进行测试。但是假设现在车还没有造出来,我们需要想办法先做一些模拟测试,通过模拟车上在路上跑的场景来做验证。

我们的方案如下:现在现有的车上开到路上进行数据采集,即将车上两颗摄像头的数据进行编码,然后上传到云服务器。在进行hil/pil的时候再从服务器把数采数据下载下来,然后解码之后再把数据回灌到车载soc进行模拟验证。这个例子中有一个问题就是,数采的时候两个摄像头是同步采集的,它们会在同一时刻输出图片,那么在回灌模拟的时候也必须把同步录制的两帧同步要同时回灌到soc中,如果不进行同步回灌那个两个摄像头的数据流就会产生错位,会影响我们的算法验证。
为了解决这个问题,我们在数采的时候就必须保存图片的时间戳,在回灌的时候我们就以这个时间戳信息来做同步回灌,确保两路数据不会错位。

这时候SEI就派上用场了,我们可以在数采对图片进行编码的时候把时间戳信息当作SEI信息编码进码率中;在回灌解码的时候再从SEI帧中解析出时间戳。

在这里插入图片描述

流媒体中的应用

流媒体是采用流式传输方式在网络上播放的媒体格式,视频网站内容、短视频、在线直播这些视频形态,均属于流媒体的不同分支。流媒体大致包含三个层级:码流、封装和协议。从音视频编码器输出的码流,经过某种封装格式后,经过特定的协议传输、保存,构成了流媒体世界的基础功能。

在直播应用的开发过程中,如果把主播端消息事件传递到观众端,一般会以Instant Messaging(即时通讯)的方式传递过去,但因为消息分发通道和直播通道是分开的,因此消息与直播音视频数据的同步性就会出现很多问题。那么有没有在音视频内部传递消息的方法呢?答案是SEI。

在这里插入图片描述
在上图这个例子中,SEI可用于在实时互动测验中发送问题,观众在应用程序上回答以获得积分或奖励。下图显示了此工作流的示例实现。当主持人提问时,现场工作人员会向应用服务器发送指令,将几条SEI消息(如问题内容、剩余回答时间等)插入到直播中。应用接收到视频流后,会分析SEI消息,并立即向应用服务器请求相应的内容进行展示,完成测验过程。

H264/265中的SEI

补充增强信息(Supplemental Enhancement Information)是码流范畴里面的概念,提供了向视频码流中加入信息的办法,是H.264/H.265 视频压缩标准的特性之一。
SEI 的基本的特征:

  1. 并不是解码过程的必须项;
  2. 有可能对解码过程(容错、纠错)有帮助;
  3. 集成在视频码流中;
    对于SEI如何应用,我们先以H.264/AVC这一视频编码标准为例。在这一标准中,整个系统框架分为两层:视频编码层面(Video Coding Layer,简称VCL)和网络抽象层面(Network Abstraction Layer,简称NAL)。VCL负责表示有效视频数据的内容,NAL负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。NAL unit是NAL的基本语法结构,它包含一个字节的头信息(NAL header)和一系列来自VCL的原始数据字节流(RBSP)。
    NAL unit type储存在NAL header中,在H.264/AVC标准中,可用的NAL unit type一共有17种,作用是告诉解码器,承载的数据是视频关键帧,还是视频解码器的配置参数信息。其中值为6时表征SEI内容。比较常见的类型如下表所示:
    在这里插入图片描述
    SEI帧结构:
    在这里插入图片描述
    H265 nal_type结构:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值