发明名称 一种快速防止出现伪起始码的方法及装置
摘要 本发明公开一种自动快速防止伪起始码的方法及系统,该系统包括编码端与解码端,其中编码端包括记录模组、判断模组、插入字节处理模组以及伪起始码前缀修改模组;解码端包括查找模组、解析模组、位置获取模组以及数据块恢复模组,编码端通过记录伪起始码前缀出现的次数和位置,并根据相应规则于数据块第1个字节前插入1-4个非0字节形成新的数据块,使所形成的新的数据块中不会存在伪起始码前缀,解码端再通过相应的规则恢复所需数据块,本发明使得解码端处理过程中,不需要在每个字节对齐位置判断是否出现了插入的数据或起始码,极大地降低了解码端处理过程的计算量。
申请公布号 CN102802023B 申请公布日期 2014.08.27
申请号 CN201210312587.0 申请日期 2012.08.29
申请人 上海国茂数字技术有限公司 发明人 赵海武
分类号 H04N21/234(2011.01)I;H04N21/2343(2011.01)I;H04N21/44(2011.01)I;H04N21/845(2011.01)I;H04N19/44(2014.01)I 主分类号 H04N21/234(2011.01)I
代理机构 上海思微知识产权代理事务所(普通合伙) 31237 代理人 郑玮
主权项 一种快速防止伪起始码的方法,包括编码端处理方法及解码端处理方法,其特征在于,该编码端处理方法包括如下步骤:步骤一,在数据块中的字节对齐位置寻找伪起始码前缀,并记录伪起始码前缀出现的次数和位置;步骤二,判断伪起始码前缀出现的次数;步骤三,若该伪起始码前缀出现的次数为0,则于该数据块的第一个字节前插入一最高位为1且包含该数据块长度信息的字节;若该伪起始码前缀出现的次数大于0,则于该数据块的第一个字节前插入1‑4个非0字节,且该1‑4个非0字节记录第一个伪起始码的位置信息;以及步骤四,根据一预定的修改规则修改每个伪起始码前缀所包含的三个字节的值,将当前伪起始码前缀所包含的三个字节的值修改为包含下一个伪起始码前缀或真起始码前缀位置信息的值,且修改后的该当前伪起始码前缀所包含的三个字节不会和前面或后面的任何字节构成新的伪起始码前缀;该解码端处理方法包括如下步骤:步骤五,在接收到的数据流中寻找起始码前缀,起始码前缀后面的一个字节为起始码值;步骤六,解析紧跟在起始码值之后的字节以判断数据块中是否出现了伪起始码;步骤七,若数据块中没有出现伪起始码,则根据该紧跟在起始码值之后的字节获得下一个起始码前缀的位置信息,去掉该紧跟在起始码值之后的字节,转到步骤十;若数据块中出现了伪起始码前缀,则根据该紧跟在起始码值之后的字节获得插入的字节数,并根据插入的字节获得第一个伪起始码前缀的位置信息,然后删除插入的字节;以及步骤八,根据获得的第一个伪起始码前缀的位置信息获得第一个伪起始码前缀所包含的三个字节,根据第一个伪起始码前缀所包含的三个字节获得下一个伪起始码前缀或者下一个真起始码前缀的位置信息,并恢复第一个伪起始码前缀所包含的三个字节的值;步骤九,根据下一个伪起始码前缀或真起始码前缀的位置信息获得所包含的三个字节,如果该三个字节是真起始码前缀,则该三个字节之前的数据就是所需数据块,处理过程结束;如果该三个字节不是真起始码前缀,则根据该三个字节的值获取下一个伪起始码前缀或真起始码前缀的位置信息,并将该三个字节的值恢复为起始码前缀的值,重复本步骤直到出现下一个真起始码前缀,获得最终的数据块;步骤十,根据获得的下一个起始码前缀的位置信息寻找下一个起始码前缀,从该紧跟在起始码值之后的字节的下一个字节到下一个起始码前缀之间的所有字节为所需的数据块。
地址 201204 上海市浦东新区张江高科技园区张衡路500弄1号楼(左右城)5楼