1. frame_num的检测
frame_num被用作图片的标识符,应由比特流中的 log2_max_frame_num_minus4 + 4 位表示。frame_num的约束如下:
变量 PrevRefFrameNum 的导出方式如下:
- 如果当前图片是IDR图片,PrevRefFrameNum 被设为0。
- 否则(当前图片不是IDR图片),PrevRefFrameNum 被设为:
- 如果在8.2.5.2条款规定的frame_num间隙的解码过程是由包含在解码顺序中跟随前一个包含有参考图片的访问单元的非参考图片的解码过程调用的,PrevRefFrameNum 被设为由8.2.5.2条款规定的frame_num间隙的解码过程推断的“不存在的”参考帧的frame_num的值中的最后一个。
- 否则,PrevRefFrameNum 被设为前一个解码顺序中包含有参考图片的访问单元的frame_num的值。
frame_num的值受以下约束:
- 如果当前图片是IDR图片,frame_num必须等于0。
- 否则(当前图片不是IDR图片),以前一个解码顺序中包含有参考图片的访问单元中的主编码图片作为前一个参考图片,当前图片的frame_num的值不得等于PrevRefFrameNum,除非以下三个条件全部为真:
- a) 当前图片和前一个参考图片属于解码顺序中的连续访问单元。
- b) 当前图片和前一个参考图片是具有相反奇偶校验的参考场。
- c) 以下条件之一或多个为真:
- 前一个参考图片是IDR图片,
- 前一个参考图片包含一个memory_management_control_operation语法元素等于5, 注意3 – 当前一个参考图片包含一个memory_management_control_operation语法元素等于5时,PrevRefFrameNum等于0。
- 在前一个参考图片之前存在一个主编码图片,且该主编码图片的frame_num不等于PrevRefFrameNum,
- 在前一个参考图片之前存在一个主编码图片,且该主编码图片不是参考图片。
当frame_num的值不等于PrevRefFrameNum时,比特流符合性要求将遵守以下约束:
a) 在解码顺序中,当前被标记为“用于短期参考”的任何先前场或帧,其frame_num的值不能等于以下变量取得的任何值:
UnusedShortTermFrameNum = (PrevRefFrameNum + 1) % MaxFrameNum while (UnusedShortTermFrameNum != frame_num) UnusedShortTermFrameNum = (UnusedShortTermFrameNum + 1) % MaxFrameNum
b) frame_num的值受以下约束:
- 如果gaps_in_frame_num_value_allowed_flag等于0,则当前图片的frame_num值必须等于(PrevRefFrameNum + 1) % MaxFrameNum。
- 否则(gaps_in_frame_num_value_allowed_flag等于1),适用以下规定:
- 如果frame_num大于PrevRefFrameNum,则在比特流中不得有在解码顺序中跟随前一个参考图片且在当前图片之前的非参考图片,其中以下条件之一为真:
- 非参考图片的frame_num值小于PrevRefFrameNum,
- 非参考图片的frame_num值大于当前图片的frame_num值。
- 否则(frame_num小于PrevRefFrameNum),在比特流中不得有在解码顺序中跟随前一个参考图片且在当前图片之前的非参考图片,其中以下两个条件都为真:
- 非参考图片的frame_num值小于PrevRefFrameNum,
- 非参考图片的frame_num值大于当前图片的frame_num值。
- 如果frame_num大于PrevRefFrameNum,则在比特流中不得有在解码顺序中跟随前一个参考图片且在当前图片之前的非参考图片,其中以下条件之一为真:
包括memory_management_control_operation等于5的图片应满足上述frame_num的约束,并且在当前图片的解码和内存管理控制操作的处理之后,该图片应被推断为在解码过程中所有后续使用的frame_num等于0,除非在7.4.1.2.4条款中另有规定。
注意4 – 当主编码图片不是IDR图片且不包含memory_management_control_operation语法元素等于5时,相应的冗余编码图片的frame_num值与主编码图片中的frame_num值相同。
或者,冗余编码图片包括一个memory_management_control_operation语法元素等于5,并且相应的主编码图片是IDR图片。
标签:码流,分析,参考,H264,frame,PrevRefFrameNum,num,解码,图片 From: https://www.cnblogs.com/awiki/p/17976694