[发明专利]一种适用于多核嵌入式平台的JPEG图像解码方法及解码器有效
申请号: | 201210047349.1 | 申请日: | 2012-02-28 |
公开(公告)号: | CN103297767A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 常江龙;李春林 | 申请(专利权)人: | 三星电子(中国)研发中心;三星电子株式会社 |
主分类号: | H04N7/26 | 分类号: | H04N7/26 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
地址: | 210019 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 多核 嵌入式 平台 jpeg 图像 解码 方法 解码器 | ||
技术领域
本发明涉及图象处理技术,特别涉及一种适用于多核嵌入式平台的JPEG图像解码方法及解码器。
背景技术
JPEG图像标准中,图像的编码是串行编码的,因此,原有的JPEG解码器一般也采用串行的解码方案;随着硬件环境的进步,利用多核处理器进行解码并行化的JPEG解码器开始出现。
现有采用并行化解码的JPEG软件解码器,主要是通过对原始图像数据进行均匀分割,进而将分割后的解码任务均匀分配给不同的解码线程进行解码。解码任务的基本单位可以是一个8x8的图像宏块,也可以是原图像的较大局部分块。
由于对JPEG图像进行了分块,因此,各解码线程需要在编码后的原始数据流中寻找图像分块的起始位置。目前,主要采用动态检测和静态索引这两种方法。其中,动态检测方法需要寻找8x8图像宏块的结束标志位,由于结束标志位有可能与普通的数据码流混淆,因此,较容易出现错误;而静态索引方法则是对图像先进行一次解码,以获得相应的位置信息,建立图像的静态索引,在之后的解码过程中利用该索引进行快速定位,这种方法需要多一次解码过程。可见,需要寻找更为准确且普适性高的图像分块起始位置定位方法。
此外,现有的并行化JPEG软件解码器多针对PC平台应用而设计;在嵌入式平台上的软件解码器仍采用串行化解码方式,解码效率较低,并且,适用于PC平台的JPEG并行编码器无法直接应用于嵌入式平台。
发明内容
本发明提供了一种适用于多核嵌入式平台的JPEG图像解码方法和解码器,以有效利用系统计算资源,提高图像解码速度。
本发明提供的一种适用于多核嵌入式平台的联合图像专家组(JPEG)图像解码方法,包括:
A、根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;
B、由运行于不同运算核的解码线程,以并行方式分别对分配给本运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;
C、将各个图像分块的解码结果进行拼接,得到解码图像。
较佳地,各个运算核的负载情况可以以该运算核的历史平均利用率表征;
该方法进一步包括:定时获取各个运算核的当前利用率,对于每一个运算核,将其历史平均利用率与当前利用率进行加权平均,并以加权平均的结果更新该运算核的历史平均利用率。
可以进一步预先设置利用率门限;
所述A包括:将各个运算核的历史平均利用率与所述利用率门限进行比较,对历史平均利用率高于所述利用率门限的运算核不分配图像分块;对历史平均利用率等于或低于所述利用率门限的运算核,按照各个运算核的空闲程度,将JPEG图像中的纯图像数据部分,按照正比于各个运算核的空闲程度的比例,分割为多个图像分块,并分别分配给相应的运算核;其中,各个运算核的空闲程度等于1与该运算核的历史平均利用率之差。
较佳地,所述B可以包括:
解码第一个图像分块的解码线程直接对第一个图像分块进行解码;
其他解码线程根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,并从所述起始位置开始进行解码。
在进行解码之前,该方法可以进一步包括:对JPEG图像的头部数据进行解析,获取图像的霍夫曼编码表;
其他解码线程的解码方式包括:
B1、从估算的起始位置开始,将当前数据与各个霍夫曼编码表依次进行比对;
B2、如果比对成功,则用比对成功的霍夫曼编码表从估算的起始位置开始进行尝试解码,如果尝试解码成功,则从估算的起始位置开始用所述比对成功的霍夫曼编码表对图像分块进行解码,直至所述图像分块的结束位置;如果尝试解码失败,则将当前数据与下一个霍夫曼编码表进行比对,并返回B2;
B3、如果比对失败,则将当前起始位置的下一位作为估算的起始位置,返回B1。
较佳地,尝试解码的方式可以包括:用比对成功的霍夫曼编码表对从起始位置开始的连续N个给定范围的图像数据进行解码,如果均解码成功,则判定尝试解码成功,否则,判定尝试解码失败;其中,N为大于等于1的整数。
较佳地,所述A中,在将JPEG图像分割成图像分块时,按照预先设置的重叠行数,各个相邻的图像分块之间存在重叠;
所述C中在进行拼接时,首先确定各个相邻的图像分块之间的重叠部分,然后对重叠部分的像素取平均值,作为拼接后的像素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于三星电子(中国)研发中心;三星电子株式会社,未经三星电子(中国)研发中心;三星电子株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210047349.1/2.html,转载请声明来源钻瓜专利网。