数据流起始码搜索方法、装置及计算机存储介质制造方法及图纸

技术编号:28565407 阅读:31 留言:0更新日期:2021-05-25 18:02
本申请公开了一种数据流起始码搜索方法、装置及计算机存储介质。该方法包括如下步骤:将数据流分割为至少两个数据块;其中,数据流包括依次相连的至少两个编码单元,每一编码单元包括一个起始码;并行搜索每一数据块中的起始码。通过上述方式,本申请能够减少数据流中起始码的搜索时间,提高起始码的搜索效率。

【技术实现步骤摘要】
数据流起始码搜索方法、装置及计算机存储介质
本申请涉及智能电子设备
,特别是涉及一种数据流起始码搜索方法、数据流起始码装置及计算机存储介质。
技术介绍
目前视频解码底层大部分使用OMX接视频解码器,前端将数据一包一包的送给解码器去解码,有些平台会使用软件进行解码,为了减少CPU的负载及优化解码速率,也有很多平台使用硬件去解码;不管是硬解还是软解,在真正解码前都要找到每个编码单元的起始码,根据起始码将数据按编码单元送给解码器完成解码工作。而目前解码器会将前端送来的数据放到一块缓存中,然后一个字节一个字节的去寻找起始码,如果文件较大,将大大加大CPU的负载,并且可能由于解码时间过长造成视频播放卡顿,导致用户体验不佳。
技术实现思路
本申请提供一种数据流起始码搜索方法、数据流起始码装置及计算机存储介质,以解决相关技术中搜索编码单元起始码效率低的问题。为解决上述技术问题,本申请提供一种数据流起始码搜索方法。该方法包括:将数据流分割为至少两个数据块,其中,数据流包括依次相连的至少两个编码单元,每一编码单元包括一个本文档来自技高网...

【技术保护点】
1.一种数据流起始码搜索方法,其特征在于,所述数据流包括依次相连的至少两个编码单元,每一编码单元包括一个起始码;所述方法包括:/n将所述数据流分割为至少两个数据块;/n并行搜索每一所述数据块中的所述起始码。/n

【技术特征摘要】
1.一种数据流起始码搜索方法,其特征在于,所述数据流包括依次相连的至少两个编码单元,每一编码单元包括一个起始码;所述方法包括:
将所述数据流分割为至少两个数据块;
并行搜索每一所述数据块中的所述起始码。


2.根据权利要求1所述的方法,其特征在于,所述将所述数据流分割为至少两个数据块,包括:
将所述数据流分割为依次相连的至少两个所述数据块,其中,相邻两个所述数据块包括重叠字节,所述重叠字节的字节数与1之和等于所述起始码的字节数。


3.根据权利要求2所述的方法,其特征在于,所述将所述数据流分割为依次相连的至少两个所述数据块,包括:
根据所述数据流的字节数、所述起始码的字节数和并行数据处理单元的数量确定每一所述数据块的字节数;其中,所述并行数据处理单元用于并行搜索每一所述数据块中的所述起始码;
根据每一所述数据块的字节数和所述重叠字节的字节数分割所述数据流。


4.根据权利要求2所述的方法,其特征在于,所述将所述数据流分割为依次相连的至少两个所述数据块,包括:
根据所述数据流的字节数、所述起始码的字节数和并行数据处理单元的数量确定无关字节的字节数和每一所述数据块的字节数;其中,所述并行数据处理单元用于并行搜索每一所述数据块中的所述起始码,所述无关字节用于插入第一个数据块的起始位置或最后一个数据块的结束位置;
根据每一所述数据块的字节数、所述无关字节的字节数和所述重叠字节的字节数计算每一所述数据块的第一位字节在所述数据流的位置与所述数据流的第一位字节的偏移值;
根据所述偏移值与每一所述数据块的字节数分割所述数据流。


5.根据权利要求1所述的方法,其特征在于,所述并行搜索每一所述数据块中的所述起始码,包括:
从所述数据块的第一位非无关字节开始,取一段字节作为判断码,所述判断码的字节数等于所述起始码的字节数;
比较所述判断码与所述起始码;
基于比较结果,从所述判断码的头位字节后的第一数量位字节或第二数量位字节开始,重新取一段字节作为所述判断码,执行比较所述判断码与所述起始码的步骤,直至所述数据块结束。


6.根据权利要求5所述的方法,其特征在于,所述比较所述判断码与所述起始码;基于比较结果,从所述判断码的头位字节后的至少一位字节开始,重新取一段字节作为所述判断码,包括:
比较所述判断码的末位字节的值与所述起始码的末位字节的值是否相等;
若所述判断码的末位字节的值与所述起始码的末位字节的值相等,并比较所述判断码的非末位字节的值与所述起始码对应位置的非末位字节的值;
若所述判断码的非末位字节的值与所述起始码对应位置的非末位字节的值均相等,则输出所述判断码所属的所述编码单元,并从所述判断码的头位字节后的第一数量位字节开始,重新取一段字节作为所述判断码;其中,所述第一数量等于所述起始码的字节数;
若所述判断码的至少一个非末位字节的值与所述起始码对应位置的非末位字节的值不相等,则比较所述判断码的末位字节与所述起始码的非末位字节;
若所述判断码的末位字节的值与所述起始码的至少一个非末位字节的值相等,则从所述判断码的头位字节后的第二数量位开始,重新取一段字节作为所述判断码;其中,所述第二数量等于所述起始码的字节数减与所述判断码的末位字节的值相等的所述起始码的非末位字节中靠后的字节所在的位数;
若所述判断码的末位字节的值与所述起始码的非末位字节的值均不相等,则从所述判断码的头位字节后的第一数量位字节开始,重新取一段字节作为所述判断码。

【专利技术属性】
技术研发人员:江枫
申请(专利权)人:合肥杰发科技有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1