H264的起始码
来源:百度文库 编辑:神马文学网 时间:2024/04/27 00:26:07
1. H.264起始码
在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码。但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位置和终止位置,为此h.264用起始码来解决这一问题。
H.264编码时,在每个NAL前添加起始码 0x000001,解码器在码流中检测到起始码,当前NAL结束。为了防止NAL内部出现0x000001的数据,h.264又提出'防止竞争 emulation prevention"机制,在编码完一个NAL时,如果检测出有连续两个0x00字节,就在后面插入一个0x03,则在NAL数据内肯定不会存在NAL起始码0x000001。当解码器在NAL内部检测到0x000003的数据,就把0x03抛弃,恢复原始数据。
0x000000 >>>>>> 0x00000300(结束码)
0x000001 >>>>>> 0x00000301(起始码)
0x000002 >>>>>> 0x00000302(保留)
0x000003 >>>>>> 0x00000303(保证解码器正常工作)2. MPEG4起始码 MPEG4的特色是VOP,没有NALU的概念,仍使用startcode对每帧进行分界。MPEG4的起始码是0x000001. 另外MPEG4中很多起始码也很有用,比如video_object_sequence_start_code 0x000001B0 表示一个视频对象序列的开始,VO_start_code 0x000001B6 表示一个VOP的开始. 0x000001B6之后的两位,是00表示 I frame, 01 表示 P frame, 10 表示 B frame.
在网络传输h264数据时,一个UDP包就是一个NALU,解码器可以很方便的检测出NAL分界和解码。但是如果编码数据存储为一个文件,原来的解码器将无法从数据流中分别出每个NAL的起始位置和终止位置,为此h.264用起始码来解决这一问题。
H.264编码时,在每个NAL前添加起始码 0x000001,解码器在码流中检测到起始码,当前NAL结束。为了防止NAL内部出现0x000001的数据,h.264又提出'防止竞争 emulation prevention"机制,在编码完一个NAL时,如果检测出有连续两个0x00字节,就在后面插入一个0x03,则在NAL数据内肯定不会存在NAL起始码0x000001。当解码器在NAL内部检测到0x000003的数据,就把0x03抛弃,恢复原始数据。
0x000000 >>>>>> 0x00000300(结束码)
0x000001 >>>>>> 0x00000301(起始码)
0x000002 >>>>>> 0x00000302(保留)
0x000003 >>>>>> 0x00000303(保证解码器正常工作)2. MPEG4起始码 MPEG4的特色是VOP,没有NALU的概念,仍使用startcode对每帧进行分界。MPEG4的起始码是0x000001. 另外MPEG4中很多起始码也很有用,比如video_object_sequence_start_code 0x000001B0 表示一个视频对象序列的开始,VO_start_code 0x000001B6 表示一个VOP的开始. 0x000001B6之后的两位,是00表示 I frame, 01 表示 P frame, 10 表示 B frame.
H264的起始码
预算公开是社会民主化的起始
预算公开是社会民主化的起始
【转】H264 码流结构 - 王贵平的专栏—分享学习的快乐,感悟人生的真谛! - CSDN博客
h264 : 关于level_idc和Profile_IDC的解释 - ts,ps,mpe...
有报错纠错功能的H264高清编码器
H264高清编码器的设置,使“粗胖”变“细瘦”
H264學習資源
提高学习效率的20个简单的起始步骤
提高学习效率的20个简单的起始步骤
如何看待我国政治体制改革的起始和进行
如何看待我国政治体制改革的起始和进行
中人教育技巧:讲课起始设计的四个根据
五脏起始
陈钢的博客 ? H264视频编码和解码速度的比较
TS流与PS流的区别-h264视频流于mpeg2视频流的区别
H264小知识总结
AVC/H264编码教程
东西方传说诉说着一个共同的事实---这次人类文明的起始a
东西方传说诉说着一个共同的事实---这次人类文明的起始7
红军长征的起始时间和终止时间是什么? 何年何月?
宇宙或起始于一个极端高温高密度的“原始火球”
金融恐怖与国际安全系列之2009国际大动荡的起始点
关于抗肿瘤新药临床I期试验起始剂量推算的考虑