一种二维图像数据的并行传输计算方法及系统技术方案

技术编号:4022123 阅读:262 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种二维图像数据的并行传输计算方法及系统。所述方法包括:设待处理图像宽度为img_w,计算窗口宽为wnd_w、高为wnd_h,所述计算窗口每次可以得到m*n个计算结果,则分配宽度为col_w、总容量为col_w*(wnd_h+n-1)+img_w的片内缓存区域用于图像处理,其中col_w=wnd_w+m*2-1;在T单位时刻,向片内缓存传输第一次计算所需的待处理图像的二维区域参考数据;在T+1单位时刻,根据当前片内缓存中的参考数据,获得相应的本次计算结果,同时,向片内缓存传输下一次计算所需的参考数据。上述方案实现了二维图像在跨行处理时的并行计算与传输,从而提高了处理效率。

【技术实现步骤摘要】

本专利技术涉及数字图像处理
,特别是涉及一种二维图像数据的并行传输计 算方法及系统。
技术介绍
在数字图像处理过程中,最为常见的是对二维数据的处理,例如图像滤波、压缩编 码时的运动搜索等,较为明显的特征是需要一个参考数据区域,利用该区域数据计算获得 结果,并且相邻位置的计算结果所需要的参考数据区域大量重叠。用于完成上述计算的装置,称为PU (Process Unit,处理单元),例如,我们常见的 CPU就是一种通用化并成为系统核心的PU。在PU的处理芯片内部和外部一般都设有缓冲 区,其中位于处理芯片内部的缓冲区称为片内缓存(片内Buffer),片内缓存的访问速度较 快,容量成本较高,比较典型的例子是CPU的Cache或S0C系统的Internal缓存;而位于 处理芯片外部的缓冲区称为片外缓存(片外Buffer),其访问速度相对较慢,容量成本也较 低,典型的例子如DDR内存等。数字图像的处理过程一般如下首先将图像数据读入片外缓存,然后将片外缓存 中的数据传输至片内缓存,在片内缓存中进行计算并输出计算结果。由于片内缓存的容量 有限而且使用成本很高,因此,在实际应用中,一般会根据计算需求(例如滤波窗口大小等 因素),分配一定容量的片内缓存用于计算。这样,在整个处理过程中,就要涉及到计算和传输两部分,其中计算指的是在片内 缓存中的计算,传输指的是由片外缓存向片内缓存的数据传输。为了提高处理效率,目前大 部分系统都会将计算和传输分开为两个可以独立工作的装置,同时,将所分配的片内缓存 也分为A和B两部分,在时间T,A用于存放传输自片外缓存的数据,B则存放着现有数据并 正在被计算,在时间T+1,两部分片内缓存的功能互换。这种方法能够实现传输和计算的并 行处理,消耗的总时间为传输时间和计算时间的较大值,从而明显提高了处理效率。对于图像的处理而言,其数据处理是按照像素的二维分布逐行处理的,除去一些 位于图像边缘的像素外,对其他每个像素的计算都需要一个与其临近的二维的参考区域的 数据。应用前述的并行计算传输方法,在每行数据处理过程中,由于当前计算和下一次计算 所需的参考数据存在重复,因此可以在片内计算当前数据的同时,传输一部分后面计算所 需的参考数据,待当前计算结束后,会有一部分参考数据不再有用,这部参考数据所占用的 片内缓存容量可以用于下次传输。但是在处理到每行的末端数据时,由于当前计算和下一 次计算所需的参考数据没有重复,所以必须等到当前的计算结束后,才能开始下一行参考 数据的传输。也就是说,对二维图像进行跨行处理时,数据的计算和传输仍然是串行的,造 成处理效率的下降。
技术实现思路
为解决上述技术问题,本专利技术实施例提供一种二维图像数据的并行传输计算方法及系统,以实现二维图像在跨行处理时的并行计算与传输,技术方案如下本专利技术实施例提供一种二维图像数据的并行传输计算方法,设待处理图像宽度为img_w,计算窗口宽为Wnd_W、高为wnd_h,所述计算窗口每次 可以得到m*n个计算结果,则分配宽度为col_w、总容量为C0l_W*(Wnd_h+n-l)+img_W的片 内缓存区域用于图像处理,其中col_w = wnd_w+m*2-l ;所述方法包括在T单位时刻,向片内缓存传输第一次计算所需的待处理图像的二维区域参考数 据;在T+1单位时刻,根据当前片内缓存中的参考数据,获得相应的本次计算结果,同 时,向片内缓存传输下一次计算所需的参考数据。优选地,当下次计算结果在所述待处理图像中与本次计算结果处于同一行时,所述向片内缓存传输的下一次计算所需的参考数据,根据所述待处理图像中数据 的二维位置分布,存储于与当前片内缓存中参考数据相邻的二维区域中。优选地,当下次计算结果在所述待处理图像中与本次计算结果不处于同一行时,所述向片内缓存传输的下一次计算所需的参考数据,存储于与当前片内缓存中参 考数据不相邻的二维区域中。优选地,所述与当前片内缓存中参考数据不相邻的二维区域,其起始地址相对于 所述片内缓存区域的起始地址偏移量为(当前行最后一个数据在片内缓存区域的地址+l)modcol_w。本专利技术实施例还提供一种二维图像数据的并行传输计算系统,所述系统包括片内 缓存分配装置、传输装置和计算装置;设待处理图像宽度为img_w,计算窗口宽为Wnd_W、高为wnd_h,所述计算窗口每次 可以得到m*n个计算结果,所述片内缓存分配装置,分配宽度为col_w、总容量为C0l_W*(Wnd_h+n-l)+img_W 的片内缓存区域用于图像处理,其中col_W = wnd_w+m*2-l ;所述传输装置,在T单位时刻,向片内缓存传输第一次计算所需的待处理图像的 二维区域参考数据;所述计算装置,在T+1单位时刻,根据当前片内缓存中的参考数据,获得相应的本 次计算结果,同时,所述传输装置向片内缓存传输下一次计算所需的参考数据。优选地,当下次计算结果在所述待处理图像中与本次计算结果处于同一行时,所述传输装置向片内缓存传输的下一次计算所需的参考数据,根据所述待处理图 像中数据的二维位置分布,存储于与当前片内缓存中参考数据相邻的二维区域中。优选地,当下次计算结果在所述待处理图像中与本次计算结果不处于同一行时,所述传输装置向片内缓存传输的下一次计算所需的参考数据,存储于与当前片内 缓存中参考数据不相邻的二维区域中。优选地,所述与当前片内缓存中参考数据不相邻的二维区域,其起始地址相对于 所述片内缓存区域的起始地址偏移量为(当前行最后一个数据在片内缓存区域的地址+l)modcol_w。在现有技术中,对二维图像进行处理时,传输的参考数据起始必须放在片内缓存为计算过程分配的内存的起始处,否则处理到行尾部的时候会发生越界,而在跨行处理时, 将下行数据的参考数据放到该要求的位置则会覆盖正在用于计算的参考数据,因此在进行 跨行处理时,数据的计算和传输无法实现并行处理。为解决上述问题,本专利技术分配宽度为 col_w,总容量为col_w* (wnd_h+n-l) +img_w的片内缓存区域用于二维图像的处理,在每行 开始的时候通过对目标位置取_模计算起始地址,在不越界的同时也保证没有交叠。以较 小的片内缓存增加为代价,实现了二维图像在跨行处理时的并行计算与传输,从而提高了 处理效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。图1为本专利技术实施例的图像处理示意图,其中图la为原始图像数据,图lb为处理 后的图像数据;图2为本专利技术实施例以二维形式计算数据的示意图;图3为本专利技术实施例以二维形式传输数据的示意图;图4为本专利技术实施例片内缓存空间分配示意图;图5为本专利技术实施例步骤101后片内缓存的存储状态示意图;图6为本专利技术实施例步骤102后片内缓存的存储状态示意图,其中图6a和图6b 分别为存储状态两种不同表现形式的示意图;图7为本专利技术实施例步骤103后片内缓存的存储状态示意图;图8为本专利技术实施例步骤104后片内缓存的存储状态示意图;图9为本专利技术实施例步骤本文档来自技高网
...

【技术保护点】
一种二维图像数据的并行传输计算方法,其特征在于,设待处理图像宽度为img_w,计算窗口宽为wnd_w、高为wnd_h,所述计算窗口每次可以得到m*n个计算结果,则分配宽度为col_w、总容量为col_w*(wnd_h+n-1)+img_w的片内缓存区域用于图像处理,其中col-w=wnd_w+m*2-1;所述方法包括:在T单位时刻,向片内缓存传输第一次计算所需的待处理图像的二维区域参考数据;在T+1单位时刻,根据当前片内缓存中的参考数据,获得相应的本次计算结果,同时,向片内缓存传输下一次计算所需的参考数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:俞海贾永华胡扬忠邬伟琪
申请(专利权)人:杭州海康威视软件有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利