[发明专利]图像编码方法和装置在审
申请号: | 201710497431.7 | 申请日: | 2017-06-26 |
公开(公告)号: | CN107333136A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 邢照;苏睿 | 申请(专利权)人: | 西安万像电子科技有限公司 |
主分类号: | H04N19/436 | 分类号: | H04N19/436;H04N19/124;H04N19/625;H04N19/129;H04N19/176 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 赵囡囡,褚敏 |
地址: | 710075 陕西省西安*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图像 编码 方法 装置 | ||
技术领域
本发明涉及图像编码领域,具体而言,涉及一种图像编码方法和装置。
背景技术
联合图像专家小组JPEG编码是一种广泛使用的无专利权的图像编码算法,通常的实现都是使用CPU或者GPU进行JPEG编码。其中,JPEG编码的步骤包括:1.图像分块;2.离散余弦变换(Discrete Cosine Transform,简称DCT)变换;3.量化;4.编码。如图1所示,先将原始图象数据分成8*8的小块,然后进行DCT变换,再通过量化器根据量化表对DCT变换之后得到的结果进行量化,然后通过熵编码器根据码表对量化之后得到的结果进行编码,得到最后的压缩数据。现有的技术通常全部使用CPU进行编码计算,CPU性能负载较大,或者,全部使用GPU进行编码,GPU在编码的时候,CPU处于空闲状态。
针对相关技术中的JPEG图像编码方法系统利用效率较低导致编码效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像编码方法和装置,以至少解决相关技术中的JPEG图像编码方法系统利用效率较低导致编码效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种图像编码方法,包括:确定用于将原始图像编码为联合图像专家小组JPEG图像文件的中央处理器CPU和图像处理器GPU;利用确定的CPU和GPU共同执行编码过程。
进一步地,利用确定的CPU和GPU共同执行编码过程包括:通过CPU和GPU分别执行编码过程的不同子任务,其中,编码过程包括多个子任务。
进一步地,通过CPU和GPU分别执行编码过程的不同子任务包括:通过CPU对原始图像执行图像分块;调用GPU的应用程序编程接口API将图像分块的结果复制到GPU的显存中;通过GPU执行压缩,进而对压缩的结果执行量化运算;调用GPU的API将量化运算的结果复制到主机内存中;通过CPU对量化运算的结果执行熵编码,得到JPEG图像文件。
进一步地,通过CPU对原始图像执行图像分块包括:通过CPU从主机内存中读取原始图像;通过CPU按照预设长度和预设宽度对原始图像进行分块,得到多块图像;通过CPU提取每块图像中的预设参数,得到每块图像的参数矩阵。
进一步地,通过GPU执行压缩,进而对压缩的结果执行量化运算包括:通过GPU采用浮点Float向量类型分别对每个参数矩阵执行离散余弦DCT变换;通过GPU利用预设量化表分别对经过DCT变换之后的每个参数矩阵进行量化。
进一步地,在通过GPU利用预设量化表分别对经过DCT变换之后的每个参数矩阵进行量化之前,该方法还包括:通过CPU生成预设量化表;调用GPU的API将预设量化表复制到GPU的显存中。
进一步地,通过CPU对量化运算的结果执行熵编码包括:通过CPU基于Zigzag扫描方式分别对量化之后的每个参数矩阵进行扫描,得到多个数组;通过CPU对多个数组进行Huffman编码,得到JPEG图像文件。
根据本发明实施例的另一方面,还提供了一种图像编码装置,包括:确定单元,用于确定用于将原始图像编码为联合图像专家小组JPEG图像文件的中央处理器CPU和图像处理器GPU;执行单元,用于利用确定的CPU和GPU共同执行编码过程。
进一步地,执行单元进一步用于通过CPU和GPU分别执行编码过程的不同子任务,其中,编码过程包括多个子任务。
进一步地,执行单元包括:第一执行模块,用于通过CPU对原始图像执行图像分块;第一调用模块,用于调用GPU的应用程序编程接口API将图像分块的结果复制到GPU的显存中;第二执行模块,用于通过GPU执行压缩,进而对压缩的结果执行量化运算;第二调用模块,用于调用GPU的API将量化运算的结果复制到主机内存中;第三执行模块,用于通过CPU对量化运算的结果执行熵编码,得到JPEG图像文件。
进一步地,第一执行模块包括:读取模块,用于通过CPU从主机内存中读取原始图像;分块模块,用于通过CPU按照预设长度和预设宽度对原始图像进行分块,得到多块图像;提取模块,用于通过CPU提取每块图像中的预设参数,得到每块图像的参数矩阵。
进一步地,第二执行模块包括:变换模块,用于通过GPU采用浮点Float向量类型分别对每个参数矩阵执行离散余弦DCT变换;量化模块,用于通过GPU利用预设量化表分别对经过DCT变换之后的每个参数矩阵进行量化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安万像电子科技有限公司,未经西安万像电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710497431.7/2.html,转载请声明来源钻瓜专利网。
- 彩色图像和单色图像的图像处理
- 图像编码/图像解码方法以及图像编码/图像解码装置
- 图像处理装置、图像形成装置、图像读取装置、图像处理方法
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序
- 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
- 图像形成设备、图像形成系统和图像形成方法
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序
- 图像编码装置、图像编码方法、图像编码程序、图像解码装置、图像解码方法及图像解码程序