[发明专利]基于过滤机制的视频解码方法在审

专利信息
申请号: 202110826187.0 申请日: 2021-07-21
公开(公告)号: CN113727116A 公开(公告)日: 2021-11-30
发明(设计)人: 高娟 申请(专利权)人: 天津津航计算技术研究所
主分类号: H04N19/44 分类号: H04N19/44;H04N21/44;H04N21/4545
代理公司: 中国航天科技专利中心 11009 代理人: 茹阿昌
地址: 300000 天津市*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 过滤 机制 视频 解码 方法
【权利要求书】:

1.基于过滤机制的视频解码方法,其特征在于,包括以下步骤:

1)配置ffmpeg的编译属性和参数,将ffmpeg动态库到海思平台;

2)创建网络接收任务接收主机传送的原始压缩数据;

3)创建获取数据包线程,使用ffmpeg动态库获取含有带有含参数帧的图像数据包;

4)建立过滤机制,筛选错误帧,组合成可解码的数据包发送到芯片的硬解码模块;

5)获取硬解码模块内的解码图像。

2.根据权利要求1所述的基于过滤机制的视频解码方法,其特征在于,步骤4)所述筛选错误帧,组合成可解码的数据包,具体为:

动态筛选出不符合协议规定的错误帧,分析编码规律,调整数据包图像帧顺序,根据编码器特性动态修改帧类型,使其组合成可解码的图像数据包。

3.根据权利要求1所述的基于过滤机制的视频解码方法,其特征在于,步骤4)所述过滤机制,具体为:

41)判断图像类型,分析不同类型需要的slice个数图像数据包中含P帧的个数,并记录在该通道的数据结构变量PSliceNumber;

42)判断当前数据包大小是否大于协议帧规定的最大数,如果大于则退出本次数据包的过滤过程,待接收到新的图像数据包后返回步骤41),否则进行下一步;

43)循环遍历本次数据包内的数据,依次判断当前帧是否符合h265协议帧头,如果符合则进行下一步,如果不符合则跳转到步骤49);

44)判断当前帧是否为P帧或者I帧,如果是,则需要增加本通道本次传输的数据包内sllice个数temp_PSliceNumber,进入下一步;如果不是则跳转到步骤46);

45)如果当前数据包的temp_PSliceNumber等于2,则再次判断p_slice是否为0,如果是,则设置p_size为i,并更新记录slice标志p_slice为1;

46)判断当前帧类型是否为SPS,是SPS则置标志top为1,反之,则直接进入48);

47)继续判断当前帧是否为参数帧,如果是则将当前数据包数组ptr内的i位置拷贝到数据结构Idr_buf,保存sei帧之前的帧头信息,记录当前保存帧头的数据大小Idr_Size为i,将首次出现sps标识entryFlag为1,并清零top为0;完成后进入步骤48);

48)判断当前通道的图像数据是否需要插入I帧,并且entryFlag为1,如果上述两个条件成立则判断当前帧类型是否为p帧,如果是p帧则将数据包的帧类型字节内容由0x02改成0x26,改P帧为I帧;反之则直接进入步骤49);

49)继续查看数据包内ptr是否还有其他数据需要遍历查询,如果有就回到步骤43),如果没有就继续下一步;

410)判断当前通道的insertIDR标志和entryFlag是否都为1,如果是则继续下一步,如果不是则进行步骤413);

411)判断当前temp_PSliceNumber是否等于本通道图像类型应该具备的PSliceNumber,如果是则下一步,如果不是则丢弃该数据包,退出该数据包的解码过程;待接收到新的图像数据包后返回步骤41);

412)将当前数据包内完整图像帧大小为size的数据,拷贝到Idr_Buf中,拷贝的位置从Idr_Buf的Idr_Size开始,将size的大小增大Idr_Size,再次将Idr_Buf的数据拷贝到ptr中,拷贝的数据大小为size;

413)判断当前temp_PSliceNumber是否等于本通道图像类型应该具备的PSliceNumber,如果是则进行下一步,如果不是则进行步骤415);

414)判断p_slice是否为1,如果是则将p_size赋值给size,清零p_slice;反之,则直接进入步骤415);

415)将当前通道的图像参数帧大小记录在seiSize中,同时拷贝当前图像的参数帧到当前通道的待解码图像数据结构体decodeArray中,将参数个数seiCount作为待解码图像的时间戳u64PTS;

416)查询当前通道的解码状态,并把状态结构体中的已解码图像帧数保存到u32DecodeStreamFrames;

417)获取当前通道待解码图像数据的首地址ptr和数据长度size,时间戳u64PTS,并以流形式发送到硬解码模块;

418)循环查询解码器的工作状态,直至获得新的解码图像;

419)调用海思库函数查询解码器通道状态;

420)判断通道内剩余需解码的字节数是否为0,如果是则进去下一步,如果不是则延时1ms跳转到步骤419);

421)解码器通道已经解码后的图像帧数是否与之前保存的u32DecodeStreamFrames不相等,或者该通道的insertIDR标识为1,如果是进入下一步,反之,则到步骤423);

422)将insrtIDR标识清零,增加参数帧的个数,判断如果seiCount大于协议指定大的最大值SEI_NUM,则将参数帧的个数标志seiCount清零,进入步骤426);反之,则直接进入下一步;

423)复位解码器,进入步骤424);

424)判断解码器复位标志resetFlag是否为0,如果是则进入下一步,如果不是则继续等待1ms,跳转到步骤423);

425)将复位状态resetState置1,调用库函数停止解码通道的视频流接收任务,销毁解码通道,重启解码通道,将插入I帧的标志insertIDR置1,复位状态resetState置0,进入下一步;

426)结束本次过滤过程。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110826187.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top