[发明专利]一种基于GPU的视频处理方法有效
申请号: | 201711047172.4 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107920253B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 强倩;孙昊良;张慧琳;周渊;蔡荣华;刘庆良;何万江 | 申请(专利权)人: | 北京赛思信安技术股份有限公司;国家计算机网络与信息安全管理中心 |
主分类号: | H04N19/42 | 分类号: | H04N19/42;H04N19/436;H04N19/44;H04N19/40 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 赵文利 |
地址: | 100125 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于GPU的视频处理方法,涉及音视频处理技术领域。首先从视频数据源端接收视频数据并存储在缓存队列中,依次读取视频数据进行解封装处理;然后对解封装处理后格式为H.264的视频数据,按顺序读取一帧,并解码为YUV格式数据;将解码出来的YUV数据进行内存映射,并转化为NV12格式后,利用视频转码模块再次转换为YUV420p格式;并分别计算YUV420p格式视频数据的Y分量和UV分量的特征值;最后将两个特征值拷贝到CPU侧的系统内存中,并筛选关键帧。筛选出的关键帧利用基于opencl的CPU和GPU之间的内存拷贝技术拷贝到CPU侧的系统内存中,由存储专用线程将关键帧的YUV数存储到文件。本发明实现了视频处理的加速,提升了视频处理的效率,并有效降低了CPU的资源消耗。 | ||
搜索关键词: | 一种 基于 gpu 视频 处理 方法 | ||
【主权项】:
一种基于GPU的视频处理方法,其特征在于,具体步骤如下:步骤一、从视频数据源端接收视频数据并存储在缓存队列中;步骤二、从缓存队列中依次读取视频数据,并使用视频预处理模块进行解封装处理;视频预处理模块对视频进行解封装处理,并对非H.264格式的视频进行过滤处理;步骤三、判断解封装处理后的视频格式是否为H.264,如果是,跳转步骤四;否则,视频处理流程结束;步骤四、从解封装的视频数据中,按顺序读取一帧数据,并判断是否读取成功;如果成功,进入步骤五,否则,视频处理流程结束;步骤五、判断解码器是否进行了初始化,如果是,利用视频解码模块将读取成功的该帧视频数据解码为YUV格式数据;否则,初始化解码器后再将该帧视频数据解码为YUV格式数据;步骤六、判断对该帧视频数据的解码是否成功,如果是,跳转步骤七;否则,跳转步骤四,继续读下一帧数据;根据解码算法返回的解码结果参数来判断,若返回的参数值是1则解码成功,若返回的参数值是非1则解码失败;步骤七、将解码出来的YUV数据进行内存映射,并将YUV数据从image形式转化为NV12格式;步骤八、利用视频转码模块对NV12格式的视频数据进行格式转换,将NV12格式转换为YUV420p格式;步骤九、针对YUV420p格式的视频数据的Y分量和UV分量,利用视频特征计算模块分别计算特征值;步骤十、利用视频关键帧提取模块将Y分量的特征值和UV分量的特征值,拷贝到CPU侧的系统内存中,并进行关键帧的筛选;步骤十一、判断筛选结果是否为关键帧,如果是,跳转步骤十二,否则,跳转步骤四,继续读下一帧数据;判断是否为关键帧的过程如下:根据关键帧筛选算法返回的筛选结果参数来判断,若返回的结果参数值是1,则表明该帧视频数据是关键帧,若返回的结果参数值是非1,则表明该帧视频数据是非关键帧;步骤十二、利用基于opencl的CPU和GPU之间的内存拷贝技术,将关键帧的YUV数据拷贝到CPU侧的系统内存中;步骤十三、将关键帧的YUV数据保存到缓存队列,由存储专用线程将关键帧的YUV数据存储到文件;跳转步骤四,继续读下一帧数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京赛思信安技术股份有限公司;国家计算机网络与信息安全管理中心,未经北京赛思信安技术股份有限公司;国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711047172.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种直流架线机车整流电源的绝缘检测系统
- 下一篇:导热片及其制造方法