首页 理论教育 SVC数据格式分析:深度剖析

SVC数据格式分析:深度剖析

时间:2023-06-24 理论教育 版权反馈
【摘要】:NALU定义了SVC编码后的格式,提供了一个与具体网络体系结构无关的接口。图4-1 NALU的头结构在NALU头结构后面设置了3 个字节的针对SVC的扩展数据头是为了更好地标识分层信息。图4-2 SVC的扩展数据头其中,R为保留位,其值必须为1,但目前SVC解码器会忽略该位。这为SVC设计合适的纠错方法提供了便利。此外,对于SVC传输中广泛使用的RTP及RTCP协议,其数据包格式已在2.5 节中有详细的分析,在此不再详述。

SVC数据格式分析:深度剖析

NALU定义了SVC编码后的格式,提供了一个与具体网络体系结构无关的接口。NALU的头结构如图4-1 所示[2]。其中,F表示禁止位,默认值为0; 如为1 则表示该NALU中的数据存有错误,可以被接收方丢弃。NRI占2 位,如值为“00”,表示该NALU不会被用作参考帧; 为其他值时,表示该NALU所在层的数据完整性应该在传输过程中得到保证。同时,该NALU会被作为后续帧的参考帧,或者包含了对解码较为重要的参数集。TYPE占5 位,表示32 种不同类型的NALU,SVC主要用到了类型14、15、20。其中,类型14 用于前缀NALU(prefix NALU),类型15 用于子序列参数集,类型20 用于SVC中的已编码片。此外,类型14 和20 表明在该NALU头结构中存在三个字节的扩展数据头。

图4-1 NALU的头结构

在NALU头结构后面设置了3 个字节的针对SVC的扩展数据头是为了更好地标识分层信息。此扩展数据头中包含了扩展标志位、数据优先级标志位、时间、空间、质量层标识等信息,具体结构如图4-2 所示。

(www.xing528.com)

图4-2 SVC的扩展数据头

其中,R为保留位,其值必须为1,但目前SVC解码器会忽略该位。I位为1时表示该层为IDR,为0 则不是该类型的层。PRID占6 位,表示该NALU的优先级,值越小,优先级越高。N为1 表明该NALU中的片在解码时会用到层间预测,为0 则不使用层间预测。DID、QID、TID分别表示空间层、质量层及时间层的标识。U表明在层间预测时是否将基本层作为该NALU的参考帧,为1 表示基本层会作为参考帧,为0 表示基本层没有作为参考帧。D表示本NALU丢失是否会影响到高层的解码,为1 表示不会影响高层,为0 表示会影响高层。O表示该NALU是否会影响输出码流的鲁棒性,为1 表示会影响,为0 表示不会影响。RR占两位,表示保留位,以备将来使用,目前解码器会忽略该值。相应的SVC的扩展数据头的语法结构如图4-3 所示[1]

图4-3 SVC扩展数据头的语法

从图4-3 可见,针对SVC的扩展数据头中增加了一系列增强SVC传输鲁棒性的字段。这为SVC设计合适的纠错方法提供了便利。此外,对于SVC传输中广泛使用的RTP及RTCP协议,其数据包格式已在2.5 节中有详细的分析,在此不再详述。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈