您当前的位置:首页 > 计算机 > 文件格式与编码

MP4 封装中 ctts BOX中( composition times)

时间:09-26来源:作者:点击数:
CDSY,CDSY.XYZ

仅仅使用前一个显示的基准帧来编码的帧被称为“P帧”,

同时使用前一个显示帧和未来帧作为基准帧进行编码的帧称为“B帧”。

在通常的场景中,编解码器编码一个I帧,然后向前跳过几个帧,用编码I帧作为基准帧对一个未来P帧进行编码,然后跳回到I帧之后的下一个帧。编码的I帧和P帧之间的帧被编码为B帧。之后,编码器会再次跳过几个帧,使用第一个P帧作为基准帧编码另外一个P帧,然后再次跳回,用B帧填充显示序列中的空隙。这个过程不断继续,每12到15个P帧和B帧内插入一个新的I帧。

节目输入顺序是按实际出现顺序排列的,即I、B、B、P、B、B、P、B、B……I、B、B、P……;但为了解码时便于从I、P画面插补得到B画面,在编码录制节目时,将顺序改变了,即按照I、P、B、B……顺序,即改为按原来0、3、1、2、6、4、5、9、7、8…的画面顺序。解码时先解出0帧、3帧,再由其插补预测计算得出1帧、2帧等等。为此,须在解码器内设置动态存储器,将I、P帧先解码并存储,再计算出各个B帧。不过最后输出时,还是应当按照实际播放顺序重组读出,按正确顺序输出。

I B B P B B P…B B I                                                            I P B B P B B … I B B

1 2 3 4 5 6 7 …                                                                                 1 4 2 3 7 5 6 …

  (a) 显示顺序  (PTS 显示时间戳顺序)                          (b) 编解码顺序(DTS 时间戳的顺序,在封装Nalus时时间戳顺序)

当带有B帧的Nalus流封装后,再次解码显示,此时PTS 和 DTS 不能一一对应,因为B帧的时间戳小于P帧,此时CTS 可以记录这个偏差,用以回复解码的时间戳。

{

CTS :provides the offset between decoding time and composition time. Since decoding time must be less than the composition time, the offsets are expressed as unsigned numbers such that CT(n) = DT(n) +CTTS(n) where CTTS(n) is the (uncompressed) table entry for sample n.

}

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐