[发明专利]一种视频编解码方法、装置、计算机设备及存储介质有效
申请号: | 202110585935.0 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113347432B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 邹鹏 | 申请(专利权)人: | 深圳万兴软件有限公司 |
主分类号: | H04N19/42 | 分类号: | H04N19/42 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 武志峰 |
地址: | 518000 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 解码 方法 装置 计算机 设备 存储 介质 | ||
1.一种视频编解码方法,其特征在于,包括:
创建用于存储多个GPU帧的GPU帧池;
对压缩的视频数据进行解码操作,并从所述GPU帧池调取GPU帧,将解码的视频数据保存至调取的GPU帧中,得到第一目标GPU帧,然后推送至预设的第一队列中;
从所述第一队列中获取所述第一目标GPU帧,并对所述第一目标GPU帧进行图像算法处理,得到第二目标GPU帧,然后推送至预设的第二队列中;
从所述第二队列中获取所述第二目标GPU帧,并对所述第二目标GPU帧进行编码操作,在完成编码操作后释放所述第二目标GPU帧;
所述将解码的视频数据保存至调取的GPU帧中,包括:
判断GPU硬件解码器是否支持外部分配GPU帧;
若所述GPU硬件解码器支持外部分配GPU帧,则从所述GPU帧池调取GPU帧,并将解码的视频数据直接保存至所述GPU帧中;
若所述GPU硬件解码器不支持外部分配GPU帧,则从所述GPU帧池调取GPU帧,并将解码的视频数据复制保存至所述GPU帧中。
2.根据权利要求1所述的视频编解码方法,其特征在于,还包括:
对每一GPU帧分别设置一计数器,当任一GPU帧被从所述GPU帧池调取时,将对应的计数器的数值加1;以及当被调取的GPU帧未被使用时,则将对应的计数器的数值减1。
3.根据权利要求1所述的视频编解码方法,其特征在于,所述创建用于存储多个GPU帧的GPU帧池,包括:
当GPU硬件种类属于Windows系统时,则创建D3D设备对象,并基于所述D3D设备对象创建不同种类的GPU资源;
当GPU硬件种类属于Mac系统时,则通过Mac系统的API接口创建PixelBuffer资源。
4.根据权利要求2所述的视频编解码方法,其特征在于,所述从所述第一队列中获取所述第一目标GPU帧,并对所述第一目标GPU帧进行图像算法处理,得到第二目标GPU帧,然后推送至预设的第二队列中,包括:
对所述第一目标GPU帧进行图像算法处理时,判断是否需要采用临时帧对图像算法处理结果进行存储;
若判定需要采用临时帧对图像算法处理结果进行存储,则从所述GPU帧池中调取另一GPU帧作为临时GPU帧,并将图像算法处理结果存储至所述临时GPU帧中,然后将所述临时GPU帧作为所述第二目标GPU帧推送至所述第二队列;
若判定不需要采用临时帧对图像算法处理结果进行存储,则将图像算法处理结果存储于所述第一目标GPU帧,得到所述第二目标GPU帧,并将所述第二目标GPU帧推送至所述第二队列。
5.根据权利要求4所述的视频编解码方法,其特征在于,所述从所述第一队列中获取所述第一目标GPU帧,并对所述第一目标GPU帧进行图像算法处理,得到第二目标GPU帧,然后推送至预设的第二队列中,还包括:
当将所述临时GPU帧作为所述第二目标GPU帧时,则将所述第一目标GPU帧的计数器的数值减1,并判断所述第一目标GPU帧的计数器的数值是否为0;
若所述第一目标GPU帧的计数器的数值为0,则将所述第一目标GPU帧返回至所述GPU帧池中;若所述第一目标GPU帧的计数器的数值不为0,则将所述第一目标GPU帧推送至所述第一队列;
当将所述第一目标GPU帧作为所述第二目标GPU帧时,则不对所述第一目标GPU帧的计数器的数值进行加减处理。
6.根据权利要求1所述的视频编解码方法,其特征在于,所述解码操作、图像算法处理和编码操作以多线程并行处理的方式运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳万兴软件有限公司,未经深圳万兴软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110585935.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:陶瓷生片和涂覆片
- 下一篇:一种高粘结性阻燃改性沥青及其制备方法