CN103297767A - 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 - Google Patents
一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 Download PDFInfo
- Publication number
- CN103297767A CN103297767A CN2012100473491A CN201210047349A CN103297767A CN 103297767 A CN103297767 A CN 103297767A CN 2012100473491 A CN2012100473491 A CN 2012100473491A CN 201210047349 A CN201210047349 A CN 201210047349A CN 103297767 A CN103297767 A CN 103297767A
- Authority
- CN
- China
- Prior art keywords
- operation core
- image
- decoding
- image block
- jpeg
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明提供了一种适用于多核嵌入式平台的JPEG图像解码方法,该方法首先根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;然后,由运行于不同运算核的解码线程,以并行方式分别对分配给本运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;最后,将各个图像分块的解码结果进行拼接,得到解码图像。本发明还提供了一种适用于多核嵌入式平台的JPEG图像解码器。应用本发明能够有效利用系统计算资源,并明显提高图像解码速度。
Description
技术领域
本发明涉及图象处理技术,特别涉及一种适用于多核嵌入式平台的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中在进行拼接时,首先确定各个相邻的图像分块之间的重叠部分,然后对重叠部分的像素取平均值,作为拼接后的像素。
本发明提供的一种适用于多核嵌入式平台的联合图像专家组(JPEG)图像解码器,包括:任务切分模块、并行解码模块和拼接与转换模块,其中:
任务切分模块,用于根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;
并行解码模块,用于调用运行于不同运算核的解码线程,以并行方式分别对分配给各个运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;
拼接与转换模块,用于将各个图像分块的解码结果进行拼接,得到解码图像。
较佳地,所述任务切分模块用各个运算核的历史平均利用率表征各个运算核的负载情况,定时获取各个运算核的当前利用率,对于每一个运算核,将其历史平均利用率与当前利用率进行加权平均,并以加权平均的结果更新该运算核的历史平均利用率;
在进行图像分割时,所述任务切分模块将各个运算核的历史平均利用率与预先设置的利用率门限进行比较,对历史平均利用率高于所述利用率门限的运算核不分配图像分块;对历史平均利用率等于或低于所述利用率门限的运算核,按照各个运算核的空闲程度,将JPEG图像中的纯图像数据部分,按照正比于各个运算核的空闲程度的比例,分割为多个图像分块,并分别分配给相应的运算核;其中,各个运算核的空闲程度等于1与该运算核的历史平均利用率之差。
较佳地,所述编码器中还可以包括:图像解析与数据控制模块;
所述图像解析与数据控制模块用于读取JEPG图像的图像数据,并用于对JPEG图像的头部信息进行解析,得到图像的霍夫曼编码表;
解码第一个图像分块的解码线程直接对第一个图像分块进行解码;
其他解码线程根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,并从估算的起始位置开始将当前数据与各个霍夫曼编码表依次进行比对,并在比对成功时,用比对成功的霍夫曼编码表从估算的起始位置开始进行尝试解码,如果尝试解码成功,则从估算的起始位置开始用所述比对成功的霍夫曼编码表对图像分块进行解码,直至所述图像分块的结束位置;如果尝试解码失败,则继续将当前数据与下一个霍夫曼编码步进行比对,直至所有霍夫曼编码表均比对失败,将当前起始位置的下一位作为估算的起始位置,继续进行比对。
由上述技术方案可见,本发明为多核嵌入式平台上JPEG图像的软解码提出了一种有效的并行化处理方案,能够有效利用系统计算资源;而且本发明技术方案对于普通的JPEG图像均有效,普适性较高。
本发明在解码性能上,能够明显提高图像解码速度,JPEG图像的解码时间可以降为串行化解码器的1/N(N为参与解码的运算核数目)。
附图说明
图1为本发明一较佳适用于多核嵌入式平台的JPEG图像解码器的结构示意图;
图2为本发明较佳实施例中对JPEG图像进行解码的方法流程示意图;
图3为本发明较佳实施例中根据各个运算核的负载情况进行解码任务分配的示意图;
图4为本发明较佳实施例中根据霍夫曼解码表进行起始位置搜索的过程示意图;
图5为本发明较佳实施例中对各个图像分块进行拼接的过程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
现有的并行化JPEG软件解码器都是在不同的解码线程之间均匀地分配解码任务,而没有考虑各个运算核实际的计算负载。事实上,多核处理器各个运算核的即时计算负载往往各不相同,本发明提出:可以把较多的解码任务分配给当前较为空闲的运算核,而把较少的解码任务分配给当前较为忙碌的运算核,这样可以均衡各个运算核之间的利用率,达到最优性能。
并且,现有的并行化JPEG软件解码器多针对PC平台应用而设计,解码任务切分的粒度较小,而嵌入式平台计算资源较为有限,运算核的数目也有限,需要减少不同任务间的交互以提高解码效率。
为解决上述技术问题,本发明提出一种适用于多核嵌入式平台的JPEG图像解码方案。
本发明的主要思想是:获取系统中各个运算核的当前负荷信息,进而在各个运算核间动态地分配解码任务,较忙碌的运算核负担较少的解码任务,较空闲的运算核负担较多的解码任务。
基于上述主要思想,本发明提出一种适用于多核嵌入式平台的JPEG图像解码方法,首先,根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;然后,由运行于不同运算核的解码线程,以并行方式分别对分配给本运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;最后,将各个图像分块的解码结果进行拼接,得到解码图像。
本发明技术方案中,各个运算核的负载情况可以以该运算核的历史平均利用率表征;为此,本发明定时获取各个运算核的当前利用率,并对每一个运算核,将其历史平均利用率与当前利用率进行加权平均,并以加权平均的结果更新该运算核的历史平均利用率。
为了均衡各运算核的负载,本发明进一步预先设置利用率门限,并在进行图像分割时,首先将各个运算核的历史平均利用率与该利用率门限进行比较,对历史平均利用率高于利用率门限的运算核不分配图像分块;对历史平均利用率等于或低于利用率门限的运算核,按照各个运算核的空闲程度,将JPEG图像中的纯图像数据部分,按照正比于各个运算核的空闲程度的比例,分割为多个图像分块,并分别分配给相应的运算核;其中,各个运算核的空闲程度等于(1-该运算核的历史平均利用率)。
各解码线程在进行解码时,遵循以下方式:
解码第一个图像分块的解码线程直接对第一个图像分块进行解码;
其他解码线程根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,并从该起始位置开始进行解码。具体而言:
在进行解码之前,需要对JPEG图像的头部数据进行解析,获取图像的霍夫曼编码表;
其他解码线程的解码方式包括:
B1、从估算的起始位置开始,将当前数据与各个霍夫曼编码表依次进行比对;
B2、如果比对成功,则用比对成功的霍夫曼编码表从估算的起始位置开始进行尝试解码,如果尝试解码成功,则从估算的起始位置开始用比对成功的霍夫曼编码表对图像分块进行解码,直至所述图像分块的结束位置;如果尝试解码失败,则将当前数据与下一个霍夫曼编码表进行比对,并返回B2;
B3、如果比对失败,则将当前起始位置的下一位作为估算的起始位置,返回B1。
在进行尝试解码时,可以用比对成功的霍夫曼编码表对从起始位置开始的连续N个给定范围(例如:8×8的宏块)的图像数据进行解码,如果均解码成功,则判定尝试解码成功,否则,判定尝试解码失败;其中,N为大于等于1的整数。
在将JPEG图像分割成图像分块时,按照预先设置的重叠行数,各个相邻的图像分块之间存在重叠;例如:各个相邻的图像分块之间留1~2行重叠的数据;在进行拼接时,首先确定各个相邻的图像分块之间的重叠部分,然后对重叠部分的像素取平均值,作为拼接后的像素。
拼接后,还需要按照现有技术完成直流分量的修正和边缘区域的平滑,并根据需要进行格式转换,这部分内容与现有技术相同,在此不再赘述。
对应于上述方法,本发明还提供了一种如图1所示的适用于多核嵌入式平台的JPEG图像解码器。该解码器包括:图像解析与数据控制模块、任务切分模块、并行解码模块和拼接与转换模块,其中:
图像解析与数据控制模块用于读取JEPG图像的图像数据,并用于对JEPG图像的头部信息进行解析,得到图像的霍夫曼编码表等信息;
任务切分模块,用于根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;
并行解码模块,用于调用运行于不同运算核的解码线程,以并行方式分别对分配给各个运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;
拼接与转换模块,用于将各个图像分块的解码结果进行拼接,得到解码图像。拼接与转换模块还可以根据需要对解码图像进行格式转换。
下面通过一个较佳实施例对本发明技术方案进行详细说明。
图2为本发明较佳实施例中对JPEG图像进行解码的方法流程示意图。图2所示方法流程包括:
步骤1:上层应用程序创建解码器的实例,并通过调用open()函数来打开解码器。
步骤2:解码器根据需要解码的图像文件大小,申请相应的内存空间,并读入图像文件数据。
步骤3:对JPEG图像的头部数据进行解析,获取图像的基本信息,包括:长度、宽度、色彩空间模式和霍夫曼编码表等,并将其中与解码相关的信息加以提取保存在内存中。
步骤4:通过调用系统命令,获得当前各个运算核的负担状况,即各个运算核当前的利用率,并计算各个运算核的历史平均利用率,根据历史平均利用率来决定分配给各个运算核的解码任务大小,遵循图3所示方法。具体而言:
如果运算核的历史平均利用率大于80%,则认为该运算核非常忙碌,不分配解码任务给该运算核;
如果有N个运算核不处于非常忙碌的状态,则将解码任务分为N份交给各个运算核执行;
对于其中第i个(i=1,2,..,N)运算核,假设其历史平均利用率为pi,则分配给它的解码任务的比例为:
其中,datasize是指:JPEG图像中除头部数据之外的纯图像数据部分的数据大小,以byte为单位。
这里,并不是解码每幅JPEG图像都需要获得系统当前的性能信息,也并不是仅仅参考某一次的性能信息。如果当前时间距离上次解码时间不到10s时,可以直接使用上次解码时的运算核历史平均利用率;如果已经超过10s,则再次获取运算核的当前利用率,并与历史平均利用率信息进行加权,得到新的历史平均利用率。
步骤5:启动各个解码线程,并通过运算核硬亲和技术将每个解码线程和对应的运算核绑定,保证每个运算核上有且只有一个解码线程执行。
步骤6:将JPEG文件里的纯图像数据部分按照步骤4中得到的比例加以分块,分配给不同的解码线程,各个分块之间有一定的重叠,一般设为1~2行数据。
步骤7:解码第一个图像数据块的解码线程,直接对图像数据进行解码,解码过程主要包括huffman解码和IDCT变换,得到YCbCr格式的原始图像数据。
本步骤中,解码结束之后根据需要的缩放比例进行缩放,如果图像的缩放尺寸大于图像的原始尺寸,则分别对Y、Cb、Cr分量进行上采样,如果图像的缩放尺寸小于图像的原始尺寸,则分别对Y、Cb、Cr分量进行像素的下采样。
其中,像素的下采样算法采用查表的方式实现。根据图像的缩放尺寸和原始尺寸,预先计算两个表:行下采样表和列下采样表,分别存放原始图像索引和缩放图像索引在行和列上的对应关系。这样,在缩放时,将缩放目标的行/列索引代入行/列下采样表中,即可查表获得在原始图像中的行/列索引,进而获得所需的Y、Cb、Cr值(Y、Cb、Cr共用同样的行下采样表和列下采样表)。
步骤8:解码其他后续图像分块的解码线程,首先根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,然后根据以下方法,来得到确切的解码起始位置,如图4所示:
1)从估算的起始位置开始比对;
2)将当前数据与各个霍夫曼编码表进行比对,如果比对成功,则用该霍夫曼表尝试进行顺序解码;
3)在给定的范围内(比如一个8x8的宏块),进行尝试解码,即采用霍夫曼熵解码算法进行解码,如果用解码算法可以连续地尝试解码成功,则表示已找到正确的解码起始位置,结束寻找;
4)在给定的范围内(比如一个8x8的宏块),如果用霍夫曼熵解码算法尝试解码失败,则返回步骤2)继续选择其他霍夫曼表加以比对。
5)如果所有的霍夫曼表均比对失败,则滑动数据流指针指向下一位,继续比对。
步骤9:解码其他后续图像数据块的解码线程,在得到解码的起始位置后,直接对图像数据进行解码,解码过程主要包括huffman解码和IDCT变换,得到YCbCr格式的原始图像数据,如果是最后一个图像块,则需要解码到数据流的末尾。
解码结束之后根据需要的缩放比例进行缩放,如果图像的缩放尺寸大于图像的原始尺寸,则分别对Y、Cb、Cr分量进行上采样,如果图像的缩放尺寸小于图像的原始尺寸,则分别对Y、Cb、Cr分量进行像素的下采样(下采样算法与步骤7中描述的相同)。
步骤10:等待各个解码线程全部结束。
步骤11:将各个解码线程的解码结果进行拼接。根据各个分块的顺序,依次进行拼接。拼接方法主要包括对各分块之间的重叠部分进行插值平均。图5为各分块重叠部分平均的示意图。这里根据两个分块的实际解码情况和缩放情况,选择合适的重叠部分(一般不小于一行),再对重叠部分的像素插值平均,获得最终的像素值。
步骤12:根据需要将拼接后的图像数据(一般为YCbCr格式)转换为其他色彩格式(如RGB)。
为了提高转换效率,可以通过查表的方法实行转换。以YCbCr到RGB的转换为例,具体方法是:预先计算好YCbCr到RGB的转换表(共5个转换表,每个表包含256个数值),在转换时只需要将Y、Cb、Cr的数值分别作为索引值,查表获得各个表项值,再通过简单的加减运算来得到RGB值。
至此,结束图2所示方法流程。
由上述实施例可见,本发明为多核嵌入式平台上JPEG图像的软解码提出了一种有效的并行化处理方案,能够有效利用系统计算资源;而且本发明技术方案对于普通的JPEG图像均有效,普适性较高。
本发明在解码性能上,能够明显提高图像解码速度,JPEG图像的解码时间可以降为串行化解码器的1/N(N为参与解码的运算核数目)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种适用于多核嵌入式平台的联合图像专家组(JPEG)图像解码方法,其特征在于,包括:
A、根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;
B、由运行于不同运算核的解码线程,以并行方式分别对分配给本运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;
C、将各个图像分块的解码结果进行拼接,得到解码图像。
2.根据权利要求1所述的方法,其特征在于:
各个运算核的负载情况以该运算核的历史平均利用率表征;
该方法进一步包括:定时获取各个运算核的当前利用率,对于每一个运算核,将其历史平均利用率与当前利用率进行加权平均,并以加权平均的结果更新该运算核的历史平均利用率。
3.根据权利要求2所述的方法,其特征在于:
进一步预先设置利用率门限;
所述A包括:将各个运算核的历史平均利用率与所述利用率门限进行比较,对历史平均利用率高于所述利用率门限的运算核不分配图像分块;对历史平均利用率等于或低于所述利用率门限的运算核,按照各个运算核的空闲程度,将JPEG图像中的纯图像数据部分,按照正比于各个运算核的空闲程度的比例,分割为多个图像分块,并分别分配给相应的运算核;其中,各个运算核的空闲程度等于1与该运算核的历史平均利用率之差。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述B包括:
解码第一个图像分块的解码线程直接对第一个图像分块进行解码;
其他解码线程根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,并从所述起始位置开始进行解码。
5.根据权利要求4所述的方法,其特征在于:
在进行解码之前,该方法进一步包括:对JPEG图像的头部数据进行解析,获取图像的霍夫曼编码表;
其他解码线程的解码方式包括:
B1、从估算的起始位置开始,将当前数据与各个霍夫曼编码表依次进行比对;
B2、如果比对成功,则用比对成功的霍夫曼编码表从估算的起始位置开始进行尝试解码,如果尝试解码成功,则从估算的起始位置开始用所述比对成功的霍夫曼编码表对图像分块进行解码,直至所述图像分块的结束位置;如果尝试解码失败,则将当前数据与下一个霍夫曼编码表进行比对,并返回B2;
B3、如果比对失败,则将当前起始位置的下一位作为估算的起始位置,返回B1。
6.根据权利要求5所述的方法,其特征在于,尝试解码的方式包括:
用比对成功的霍夫曼编码表对从起始位置开始的连续N个给定范围的图像数据进行解码,如果均解码成功,则判定尝试解码成功,否则,判定尝试解码失败;其中,N为大于等于1的整数。
7.根据权利要求1至3任一项所述的方法,其特征在于:
所述A中,在将JPEG图像分割成图像分块时,按照预先设置的重叠行数,各个相邻的图像分块之间存在重叠;
所述C中在进行拼接时,首先确定各个相邻的图像分块之间的重叠部分,然后对重叠部分的像素取平均值,作为拼接后的像素。
8.一种适用于多核嵌入式平台的联合图像专家组(JPEG)图像解码器,其特征在于,包括:任务切分模块、并行解码模块和拼接与转换模块,其中:
任务切分模块,用于根据各个运算核的负载情况,将JPEG图像分割成大小不同的图像分块,并分别分配给各个运算核;
并行解码模块,用于调用运行于不同运算核的解码线程,以并行方式分别对分配给各个运算核的图像分块进行解码和缩放,得到各个图像分块的解码结果;
拼接与转换模块,用于将各个图像分块的解码结果进行拼接,得到解码图像。
9.根据权利要求8所述的解码器,其特征在于:
所述任务切分模块用各个运算核的历史平均利用率表征各个运算核的负载情况,定时获取各个运算核的当前利用率,对于每一个运算核,将其历史平均利用率与当前利用率进行加权平均,并以加权平均的结果更新该运算核的历史平均利用率;
在进行图像分割时,所述任务切分模块将各个运算核的历史平均利用率与预先设置的利用率门限进行比较,对历史平均利用率高于所述利用率门限的运算核不分配图像分块;对历史平均利用率等于或低于所述利用率门限的运算核,按照各个运算核的空闲程度,将JPEG图像中的纯图像数据部分,按照正比于各个运算核的空闲程度的比例,分割为多个图像分块,并分别分配给相应的运算核;其中,各个运算核的空闲程度等于1与该运算核的历史平均利用率之差。
10.根据权利要求8或9所述的解码器,其特征在于,所述编码器中还包括:图像解析与数据控制模块;
所述图像解析与数据控制模块用于读取JEPG图像的图像数据,并用于对JPEG图像的头部信息进行解析,得到图像的霍夫曼编码表;
解码第一个图像分块的解码线程直接对第一个图像分块进行解码;
其他解码线程根据各个图像分块的大小比例,从JPEG图像的纯图像数据部分的开始位置估算分配给本运算核的图像分块的起始位置,并从估算的起始位置开始将当前数据与各个霍夫曼编码表依次进行比对,并在比对成功时,用比对成功的霍夫曼编码表从估算的起始位置开始进行尝试解码,如果尝试解码成功,则从估算的起始位置开始用所述比对成功的霍夫曼编码表对图像分块进行解码,直至所述图像分块的结束位置;如果尝试解码失败,则继续将当前数据与下一个霍夫曼编码步进行比对,直至所有霍夫曼编码表均比对失败,将当前起始位置的下一位作为估算的起始位置,继续进行比对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210047349.1A CN103297767B (zh) | 2012-02-28 | 2012-02-28 | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210047349.1A CN103297767B (zh) | 2012-02-28 | 2012-02-28 | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297767A true CN103297767A (zh) | 2013-09-11 |
CN103297767B CN103297767B (zh) | 2016-03-16 |
Family
ID=49098003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210047349.1A Active CN103297767B (zh) | 2012-02-28 | 2012-02-28 | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297767B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079915A (zh) * | 2014-07-03 | 2014-10-01 | 清华大学深圳研究生院 | 一种并行虚拟视点合成方法 |
CN104731660A (zh) * | 2014-12-31 | 2015-06-24 | 北京天诚盛业科技有限公司 | 数据分配方法、装置和系统 |
CN105635740A (zh) * | 2014-10-27 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 对图像进行解码的方法及装置 |
CN106258010A (zh) * | 2014-02-04 | 2016-12-28 | 弗劳恩霍夫应用研究促进协会 | 2d图像分析器 |
CN107194975A (zh) * | 2017-02-09 | 2017-09-22 | 北京诸葛找房信息技术有限公司 | 提高手机app下载图片的速度的方法 |
CN107767336A (zh) * | 2016-08-19 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种图像处理的方法及装置 |
CN107977624A (zh) * | 2017-11-30 | 2018-05-01 | 国信优易数据有限公司 | 一种语义分割方法、装置以及系统 |
CN108664865A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 位置解码方法及装置 |
CN110069344A (zh) * | 2019-04-16 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置和智能设备 |
CN110677577A (zh) * | 2018-07-03 | 2020-01-10 | 杭州海康慧影科技有限公司 | 图像处理方法及装置 |
CN111435979A (zh) * | 2019-01-15 | 2020-07-21 | 西安诺瓦电子科技有限公司 | 视频图像处理方法和装置 |
WO2021087843A1 (en) * | 2019-11-07 | 2021-05-14 | Intel Corporation | Heterogeneous real-time streaming and decoding of ultra-high resolution video content |
US11284119B2 (en) | 2016-07-08 | 2022-03-22 | Huawei Technologies Co., Ltd. | Method and apparatus for decoding variable-length coded file |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101662495A (zh) * | 2009-09-16 | 2010-03-03 | 成都市华为赛门铁克科技有限公司 | 备份方法、主服务器、备份服务器以及备份系统 |
CN101686390A (zh) * | 2008-09-24 | 2010-03-31 | 安凯(广州)软件技术有限公司 | 用于嵌入式系统的渐进模式jpeg图像分段解码方法 |
CN102081795A (zh) * | 2011-01-14 | 2011-06-01 | 天津大学 | 基于稀疏表示的自动去块效应方法 |
-
2012
- 2012-02-28 CN CN201210047349.1A patent/CN103297767B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256515A (zh) * | 2008-03-11 | 2008-09-03 | 浙江大学 | 多核处理器操作系统负载均衡的实现方法 |
CN101686390A (zh) * | 2008-09-24 | 2010-03-31 | 安凯(广州)软件技术有限公司 | 用于嵌入式系统的渐进模式jpeg图像分段解码方法 |
CN101662495A (zh) * | 2009-09-16 | 2010-03-03 | 成都市华为赛门铁克科技有限公司 | 备份方法、主服务器、备份服务器以及备份系统 |
CN102081795A (zh) * | 2011-01-14 | 2011-06-01 | 天津大学 | 基于稀疏表示的自动去块效应方法 |
Non-Patent Citations (1)
Title |
---|
章承科: "多核处理器构架的高速JPEG解码算法", 《单片机与嵌入式系统应用》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106258010A (zh) * | 2014-02-04 | 2016-12-28 | 弗劳恩霍夫应用研究促进协会 | 2d图像分析器 |
US10592768B2 (en) | 2014-02-04 | 2020-03-17 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Hough processor |
CN104079915A (zh) * | 2014-07-03 | 2014-10-01 | 清华大学深圳研究生院 | 一种并行虚拟视点合成方法 |
CN105635740B (zh) * | 2014-10-27 | 2019-05-28 | 阿里巴巴集团控股有限公司 | 对图像进行解码的方法及装置 |
CN105635740A (zh) * | 2014-10-27 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 对图像进行解码的方法及装置 |
CN104731660A (zh) * | 2014-12-31 | 2015-06-24 | 北京天诚盛业科技有限公司 | 数据分配方法、装置和系统 |
CN104731660B (zh) * | 2014-12-31 | 2018-01-12 | 北京天诚盛业科技有限公司 | 数据分配方法、装置和系统 |
US11284119B2 (en) | 2016-07-08 | 2022-03-22 | Huawei Technologies Co., Ltd. | Method and apparatus for decoding variable-length coded file |
CN107767336A (zh) * | 2016-08-19 | 2018-03-06 | 中国移动通信有限公司研究院 | 一种图像处理的方法及装置 |
CN107194975A (zh) * | 2017-02-09 | 2017-09-22 | 北京诸葛找房信息技术有限公司 | 提高手机app下载图片的速度的方法 |
CN108664865A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 位置解码方法及装置 |
CN107977624A (zh) * | 2017-11-30 | 2018-05-01 | 国信优易数据有限公司 | 一种语义分割方法、装置以及系统 |
CN110677577A (zh) * | 2018-07-03 | 2020-01-10 | 杭州海康慧影科技有限公司 | 图像处理方法及装置 |
CN111435979A (zh) * | 2019-01-15 | 2020-07-21 | 西安诺瓦电子科技有限公司 | 视频图像处理方法和装置 |
CN110069344A (zh) * | 2019-04-16 | 2019-07-30 | 北京百度网讯科技有限公司 | 一种任务执行方法、装置和智能设备 |
WO2021087843A1 (en) * | 2019-11-07 | 2021-05-14 | Intel Corporation | Heterogeneous real-time streaming and decoding of ultra-high resolution video content |
Also Published As
Publication number | Publication date |
---|---|
CN103297767B (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297767B (zh) | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 | |
US9329871B2 (en) | Video decoding system supporting multiple standards | |
CN102547289B (zh) | 基于gpu并行实现的快速运动估计方法 | |
JP2010527194A (ja) | 動的運動ベクトル分析方法 | |
US8867606B2 (en) | Multi-core image encoding processing device and image filtering method thereof | |
US20170353720A1 (en) | Prediction mode selection method, apparatus and device | |
CN102098503A (zh) | 一种多核处理器并行解码图像的方法和装置 | |
CN107046645A (zh) | 图像编解码方法及装置 | |
CN112866799A (zh) | 一种视频抽帧处理方法、装置、设备及介质 | |
CN103618911A (zh) | 一种基于视频属性信息的视频流提供方法及装置 | |
CN104539972A (zh) | 一种多核处理器中视频并行解码的控制方法和装置 | |
US20190279330A1 (en) | Watermark embedding method and apparatus | |
CN101841722A (zh) | 滤波边界强度的检测装置及其检测方法 | |
CN101256668B (zh) | 一种计算均衡的多核进行视频滤波的方法 | |
CN104038766A (zh) | 用于以图像帧为基础执行并行视频编码的装置及其方法 | |
CN112019878B (zh) | 一种视频解码和编辑的方法、装置、设备和存储介质 | |
WO2024098821A1 (zh) | Av1的滤波方法及装置 | |
US20130064298A1 (en) | Concurrent access shared buffer in a video encoder | |
EP1351512A2 (en) | Video decoding system supporting multiple standards | |
CN112437308B (zh) | 一种WebP编码方法及装置 | |
CN101389030B (zh) | 一种编码方法、系统和视频编码器 | |
CN113923453B (zh) | 视频的时域滤波方法及装置、电子设备、存储介质 | |
Sodsong et al. | JParEnt: Parallel entropy decoding for JPEG decompression on heterogeneous multicore architectures | |
CN112738522A (zh) | 视频编码方法、装置 | |
CN110519599B (zh) | 一种基于分布式分析的视频编码方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 5-12 / F, building 6, 57 Andemen street, Yuhuatai District, Nanjing City, Jiangsu Province Patentee after: Samsung Electronics (China) R&D Center Patentee after: SAMSUNG ELECTRONICS Co.,Ltd. Address before: 17 / F, Xindi center, 188 Lushan Road, Jianye District, Nanjing, Jiangsu 210019 Patentee before: Samsung Electronics (China) R&D Center Patentee before: SAMSUNG ELECTRONICS Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |