[发明专利]一种软件快速搜索视频码流中同步字的方法及装置有效
申请号: | 201910413953.3 | 申请日: | 2019-05-17 |
公开(公告)号: | CN110213650B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 剡辰;陈敏 | 申请(专利权)人: | 芯原微电子(成都)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(北京)有限公司;芯原控股有限公司 |
主分类号: | H04N21/44 | 分类号: | H04N21/44;H04N21/433;H04N21/426;H04N21/81 |
代理公司: | 北京庆峰财智知识产权代理事务所(普通合伙) 11417 | 代理人: | 李文军 |
地址: | 610041 四川省成都市高新区天华*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 快速 搜索 视频 码流中 同步 方法 装置 | ||
1.一种软件快速搜索视频码流中同步字的方法,其特征在于,包括如下步骤:
步骤1,接收并缓存视频流;
在硬件解码器开始正式解码之前,软件创建输入和输出buffer,
输入buffer用于存储视频比特流即视频流,
输出buffer用于存储硬件解码器解码完每一帧视频流之后的YUV图像,
所述输入buffer接收到的视频流的封装方式,每一帧依次包括:同步字,经编码的视频数据,填充字节;
步骤2,当输入buffer中缓存的视频帧的数目大于等于两帧时,开始依次搜索每一帧的同步字,其中搜索步长大于1;
步骤3,当成功搜索到一帧的同步字之后,则把该同步字的起始地址写入所述硬件解码器码流地址寄存器,然后启动硬件解码器,并进行解码;
硬件解码器对硬件解码器码流地址寄存器中所存储的地址对应的视频帧进行解码,将解码之后的YUV图像写入输出buffer,同时更新硬件解码器码流地址寄存器,硬件解码器结束当前帧解码,
软件读取硬件解码器码流地址寄存器,并以读取到的地址为起始地址,以N字节为步长返回步骤2搜索下一帧的同步字,其中:当系统为32位操作系统时,N为4;当系统为64位操作系统时,N为8。
2.如权利要求1所述的软件快速搜索视频码流中同步字的方法,其特征在于:所述输入buffer接收到的视频流是通过网络传输过来的实时流,或是已经存储在磁盘上的视频流文件。
3.如权利要求1所述的软件快速搜索视频码流中同步字的方法,其特征在于:由于实际硬件解码器码流地址寄存器返回的码流结束地址不一定满足N字节对齐的条件,所以还需要判断该地址是否满足N字节对齐条件,
如果满足,则直接以该地址作为起始地址,从起始地址以N字节为步长搜索下一帧的同步字,
如果不满足,则先对该地址进行N字节的对齐操作得到对齐地址,再在该地址到所述对齐地址之间进行逐字节同步字搜索。
4.如权利要求3所述的软件快速搜索视频码流中同步字的方法,其特征在于:若所述在该地址到所述对齐地址之间进行逐字节同步字搜索成功,则将搜索到的同步字地址返回给所述硬件解码器码流地址寄存器,若不成功,则以所述对齐地址为起始地址以N字节为步长搜索下一帧的同步字。
5.如权利要求1所述的软件快速搜索视频码流中同步字的方法,其特征在于:以N字节为步长搜索下一帧的同步字时,如果搜索成功,则将搜索到的同步字地址返回给所述硬件解码器码流地址寄存器,作为下一帧硬件解码的起始地址;如果搜索不成功,则对剩余字节继续以N字节为步长搜索下一帧的同步字,直到输入buffer中剩余未经搜索的字节数小于N。
6.如权利要求5所述的软件快速搜索视频码流中同步字的方法,其特征在于:当输入buffer中剩余未经搜索的字节数小于N,则进一步判断输入buffer中剩余未经搜索的字节数是否大于0,
如果剩余未经搜索的字节数大于0,则:
对于不足N字节的输入buffer中剩余未经搜索的字节,进行逐字节搜索,直至所述剩余未经搜索的字节数为零,则认为该输入buffer再无有效帧数据,
如果剩余未经搜索的字节数不大于0,则直接结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯原微电子(成都)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(北京)有限公司;芯原控股有限公司,未经芯原微电子(成都)有限公司;芯原微电子(上海)股份有限公司;芯原微电子(北京)有限公司;芯原控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910413953.3/1.html,转载请声明来源钻瓜专利网。