[发明专利]基于CPU和GPU的图像协同解码方法及装置有效
申请号: | 201510531805.3 | 申请日: | 2015-08-26 |
公开(公告)号: | CN105120293B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 李明锁;于忠策;周拥军;贺经纬;陈腾 | 申请(专利权)人: | 中国航空工业集团公司洛阳电光设备研究所 |
主分类号: | H04N19/63 | 分类号: | H04N19/63;H04N19/124;H04N19/436;H04N19/42 |
代理公司: | 北京市维诗律师事务所 11393 | 代理人: | 杨安进 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解码 分辨率 调用 解码方法及装置 算法处理 协同 图像 反量化处理 小波逆变换 编码码流 负载均衡 接收图像 提取图像 图像编码 图像数据 增加系统 头信息 吞吐率 码流 预设 解析 空闲 | ||
1.一种基于CPU和GPU的图像协同解码方法,其特征在于,应用于配置有中央处理器CPU和图形处理器GPU的电子设备,所述方法包括:
接收图像编码码流,其中所述图像编码码流为经过JPEG2000编码后的图像码流;
调用所述电子设备的CPU对所述图像编码码流顺序进行头信息解析及JPEG2000标准中定义的tier-2算法处理,得到第一处理结果;
提取所述图像编码码流的图像分辨率值,判断所述分辨率值是否高于预设的分辨率阈值,如果是,调用所述电子设备的GPU对所述第一处理结果进行JPEG2000标准中定义的tier-1算法处理,得到第二处理结果;
否则,继续控制所述电子设备的CPU对所述第一处理结果进行JPEG2000标准中定义的tier-1算法处理,得到第二处理结果;
调用所述电子设备的GPU对所述第二处理结果顺序进行反量化处理、小波逆变换及DC电平变换,得到解码后的图像数据;
其中,GPU使用一个专门的守护线程,负责显存-内存数据的传输以及与其他线程的通信,以便获知读取和写入目的缓冲是否可用;该专门的守护线程负责从CPU-GPU中间数据队列取数据,上传到显存,执行GPU解码阶段,将解码结果下传到输出缓冲数组的对应位置中,同时负责与其他环节的CPU线程通信;CPU扫描线程得到GPU守护线程的队列非空信号后,扫描一次输出缓冲队列,将索引最小的数据输出。
2.如权利要求1所述的方法,其特征在于,所述电子设备的CPU与GPU之间的数据传递方式为:CPU将数据发送至预先建立的缓冲队列,GPU从所述预先建立的缓冲队列异步获取数据。
3.如权利要求1所述的方法,其特征在于,所述调用所述电子设备的GPU对所述第一处理结果进行JPEG2000标准中定义的tier-1算法处理,得到第二处理结果,包括:
调用所述电子设备的GPU为所述第一处理结果中的每个图像编码码块分配一个线程束Warp,其中不同图像编码码块对应不同的线程束Warp;
以Warp为处理单位对所述第一处理结果中的每个图像编码码块进行JPEG2000标准中定义的tier-1算法处理,得到第二处理结果;
其中,每个图像编码码块间并发,每个码块对应一个线程;每32个线程束Warp使用一个执行计算。
4.如权利要求1所述的方法,其特征在于,在所述电子设备的GPU对所述第二处理结果顺序进行反量化处理之后,还包括:
利用GPU的并行能力将反量化处理结果直接排列成小波逆变换所需的线性格式,以提高所述电子设备的GPU执行小波逆变换的效率。
5.如权利要求1所述的方法,其特征在于,在所述电子设备的GPU对所述第二处理结果顺序进行反量化处理之后,还包括:
识别图像编码空码块,以减少所述电子设备的GPU执行小波逆变换阶段的计算量。
6.如权利要求1所述的方法,其特征在于,所述电子设备的GPU执行小波逆变换的方式,包括:
利用GPU的高速显存缓存一次小波逆变换需要的数据,以减少从低速显存中的读写次数,优化小波逆变换的数据读取速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司洛阳电光设备研究所,未经中国航空工业集团公司洛阳电光设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510531805.3/1.html,转载请声明来源钻瓜专利网。