用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置的制作方法

文档序号:6618663阅读:173来源:国知局
专利名称:用于在并行处理系统中处理多媒体数据的算法步骤的方法和装置的制作方法
技术领域
0002本发明总的涉及并行处理,更具体地,本发明涉及用于在并行 处理系统中调度多媒体数据处理的方法和装置。
背景技术
0003多媒体数据日益增加的使用已经导致不断要求以更快速和更 有效的方式来实时处理和递送这些数据。特别地,对于以更快速和更有效 的方式并行处理诸如图像和音频相关的多々某体数据的需求正日益增加。并 行处理的需要一直上升,例如,在诸如多媒体数据的压缩和/或解压缩的计 算密集的处理期间,需要进行相对数量较大的计算,并要求足够快速实现, 以使得可以实时递送音频和^L频。
0004相应地,期望可以在多媒体数据的并4亍处理中继续提高处理
些方法需要针对块并行处理、子块并行处理和双线性滤波器并行处理。

发明内容
0005本发明可以以多种方式实现,包括作为一种方法和一种计算 机可读介质。本发明的多个实施例将在下文讨论。
0006在具有计算单元的并行处理阵列中,所述计算单元被配置为 并行处理数据变量, 一种包括载入用于并行处理器的多个计算单元的算法 的方法,其中,所述算法包括多个处理步骤,并且其中,多个计算单元的 每一个被配置为处理和计算单元相关的数据变量,载入用于并行处理器的 多个计算单元的选择代码,其中,所述选择代码指示哪一算法步骤被计算
单元应用到数据变量,并且通过计算单元应用该算法处理步骤到所述数据 变量,其中,对于每一计算单元,仅有被选择代码指示的那些处理步骤被
用于数据变量。
0007在另一方面,其上具有计算机可执行指令的计算机可读介质, 所迷计算机可执行指令用于一种具有计算单元的并行处理阵列中的处理 方法,所述计算单元被配置为并行处理数据变量,所述方法包括载入用于 并行处理器的多个计算单元的算法,其中,所述算法包括多个处理步骤, 并且其中,多个计算单元的每一个被配置为处理和计算单元相关的数据变 量,载入用于并行处理器的多个计算单元的选择代码,其中,所述选择代 码指示哪一算法步骤被计算单元应用到数据变量,并且通过计算单元应用
该算法处理步骤到所述数据变量,其中,对于每一计算单元,仅有被选择 代码指示的那些处理步骤被用于数据变量。
0008通过阅读说明书、权利要求书和附图,本发明的其它目的和 特征将变得明显。


图l概念性示出1080i高清晰度(HD)帧的宏块;
图2A和2B进一步示出在诸如图像帧中的宏块的块的布置;
图3A-3C示出从图像中的宏块的布置到各个并行处理器的映射;
图4A-4E示出对于各种图像格式的图像到各个并行处理器的映射;
图5A-5B示出16x8映射,用于映射图像的子块到各个并行处理器中;
图6A-6B示出16x4映射,用于映射图像的子块到各个并行处理器中;
图7A-7C示出根据本发明的实施例的映射图像块到并行处理器的替代方
法;
图8A-8C示出图像格式的数据结构的详细细节,包括灰阶(luma )和色 度信息;
图9A-9C示出根据本发明的实施例的映射多个图像块到并行处理器的各 种替代方法;
图IOA-IOC示出根据本发明的实施例的数据块数据位置、子块位置、子 块标志数据位置和类型数据块;
图11A-IIB示出算法处理步骤和选择代码,用于指示哪些处理步骤用于 哪些数据变量;
图12示出并行处理器。
0010相同的附图标记在整个附图中指的是相应的部分。
具体实施例方式
0011此处描述的本发明涉及并行处理改进的三个主要区域地址块
并行处理、子块并行处理和类似算法并行处理。 块并行处理
0012就某种意义而言,本发明涉及一种更有效的方法用于多媒体数 据的并行处理。众所周知,在不同的图像格式中,图像被细分为块,其中, 由于图像典型的是矩阵形式,"较后"块通常位于图像中其它块的下面和右 边,并且取决于"较前"块的信息,所述"较前"块是位于较后块的上面和 左边的图像。较前块一定会在较后块之前处理,因为较后块需要来自于较前 块的通常称之为相关数据的信息。相应地,块(或者其中部分)依据其相关 数据的顺序被传输到各个并行处理器。较前块被首先发送到并行处理器,较 后块稍后发送。块被存储在并行处理器中的特定位置,并且如果必要就被移 位,使得每一块在处理时具有其位于较前数据块的特定组的、特定位置的相 关数据。以此方式,相关数据可以使用相同命令获取。也就是,较前块被移 位,使得较后块可以使用单个命令集处理,所述命令集指示每一处理器从特 定位置获取其相关数据。通过允许每一并行处理器使用同一命令集处理块, 本发明的方法不需要发送单独的命令到每一处理器,而是允许发送单一全局 命令集。这将产生更快速和更有效的处理。
0013图1概念性示出图像的示例性帧,其一般被视作矩阵形式和/ 或在存储器中存储。在此例中,1080i HD图像矩阵IO被细分为68行,每一 行120个宏块12。典型地,诸如此1080i帧的图像通过各自宏块12处理, 也就是,并行处理阵列的每一计算单元(或者处理器)处理一个或者多个宏 块12。但是,尽管本发明经常在宏块12的上下文中讨论,但应该认识到本
发明可以将图像和其它数据细分为任意部分(通常称为块),其可以-故并行 处理。
0014如上所述,诸如图1的1080i HD帧的图像的宏块包括相关数 据,如在图2A-2B中进一步示出的。根据诸如但不限于h. 264改进的视频编 码标准和VC-1 MPEG-4标准的标准,图像的块R的处理需要来自块a、 d、 b 和c的相关数据(例如插值所需数据)。也就是,根据这些标准,图像的每 一块的处理需要来自左侧紧邻的块的数据,以及来自对角方向上左上紧邻的 块、上方紧邻的块和对角方向上右上紧邻的块的数据。因此,块a依赖于来
自块d和b的信息,块b依赖于来自块d的信息等等,但是块d并不依赖于
任一其它块的信息。因此可以看出这些块的并行处理需要沿对角线处理,其
中,首先处理块d,紧接着处理依赖于块d信息的块a和b,然后是依赖于 块a、 d和b的信息的块R和c,等等。
0015随后参见图3A-3C,因此可以看出,对于最佳的并行处理,块 可以被映射到处理器,并且以处理较前块先于较后块的顺序被处理。图3A 示出示例性图像的宏块结构,如该图像对观察者所呈现的。如上所述,按照 对于较后块保持其相关数据的顺序,图3A的块被处理。图3B示出必须被处 理的对角线,该对角线被处理的顺序是要保持用于较后块的相关数据。每一 行示出 一条单独的对角线,每一对角线仅需要来自其上面的行的相关数据。 例如,块()。被首先处理,因为其位于图像的最左上角,并且因此不具有任何 相关数据。紧接着处理块0。,因此出现在下一行,因为其仅需要来自块()。的 相关数据。接着处理块、和1。,并且因此显示在接下一行,因此块l需要来自 块()。和0。的相关数据,并且块1。需要来自块0。的相关数据。因此可以看出图 3A中的块的每一对角线(用虚线突出显示)可以被映射到图3B中示出的并 行处理阵列的行中。
0016虽然映射块到图3B所示的计算单元的多行来保存所有必须的 上面每一行的相关数据,但仍然存在困难。更具体地,用于每一块的相关数 据仍然经常位于相对于所述块的不同位置中。例如,从图3A可以看出块4,具 有位于下述块的相关数据,以顺时针方形分别是3。 1。、 2。和3。。当被映 射到图3B所示的处理器中,这些处理器如箭头所示布置,3。 1。、 2。和3。在 块A上面布置成L形。相反,用于块93的相关数据位于块83、 82、 72和62中,
其以箭头所示方式布置。这说明为了在处理阵列中所示的位置处理每一块, 每一计算单元将需要其自己的命令以引导其来获取相关数据。换句话说,因
为对于每一块(如块41和93所示),其各自的相关数据布置不同,必须将单独 的数据获取命令推送到每一处理器,降低了图像被处理的速度。
0017在本发明的实施例中,通过在处理每一块之前移位每一块的相 关数据,克服了此问题。本领域的普通技术人员可以认识到可以以任一方式 移位相关数据。但是,图3C示出一种用于移位相关数据的方便的方法,其 中,包含相关数据的块被移位为上述的"L"形。也就是,当处理块X时, 需要来自块A-D的相关凝:据。图像中,这些块分别位于块X的正上方、左上 紧邻、左边紧邻和右上紧邻的位置。在并行处理阵列中,这些块可以随后分 别被移位到X上方的两个处理器的位置、上方的三个处理器的位置、上方的
一个处理器的位置和紧邻右上方的处理器的位置。例如,图3B中,对于块93 的处理,将包含块8,和6,的每一行向右移一个位置,将83、 82、 72和62置为 特征"L"形。
0018在处理块X之前通过将所有这样的相关数据移位为"L"形, 同样的命令集可以用于处理每一块X。这意味着命令集只需要在一个加载操 作中被载入到并行处理器,而不需要对于每一处理器载入单独的命令集。这 可以使得在处理图像时带来显著的时间节省,特别是对于大的处理阵列而5 。
0019本领域内普通技术人员将会认识到以上描述的方法仅是本发明 的一个实施例。更具体地,将会认识到尽管数据可以被移成上述"L"形, 但本发明不限于将数据块移位成此结构。而是,本发明包括将相关数据移位 为任一结构,或者特征位置,这可以共同用于被处理的每一块X。特别地, 不同图像格式可以具有不同于图2A中所示的位于块中的相关数据,可以利 用更便利应用的除了 "L"形的其它特征位置或者形状。
0020本领域的普通技术人员也将认识到,尽管到目前为止本发明已 在具有多个宏块的1080i HD帧的上下文中进行了说明,本发明也可包括可 以被分为任一子块的任一图像格式。也就是说,本发明的方法可以应用于 任一帧的任一子块。图4A-4E说明了这一点,其示出不同类型帧的对角线 如何被映射到不同数量的处理器行中。图4A中,HD帧的对角线可以被映射 到图示处理器的连续行中,产生梯形(或者替换为菱形,或者甚至为二者 组合)布局,其中使用257行处理器, 一行中最多使用61个处理器。更小 的帧使用更少的^f亍,也就是更少的处理器。例如,在图4B中,CIF帧使用 59行处理器,任一行中最多19个处理器。类似的,在图4C中,当映射到 并行处理阵列时,625 SD帧将使用117行,每行最多36个处理器。类似, 在图4D中,当映射到同一阵列中,SIF帧将使用51行,每行最多16个处 理器。在图4E中,525 SD帧将使用107行,并且每行最多30个处理器。 从这些例子可以看出,本发明可以用于映射任一图像到并行处理阵列,其 中,数据可以被移位到上述的行中,允许使用单个命令或者命令集处理块。0021也应该认识到本发明不限于在块和并行处理阵列的计算单元之 间严格的l-l对应。也就是说,本发明包括这样的实施例,其中,块的部分 谬皮映射为计算单元的部分,通过处理这些块,增加效率和速度。图5A-5B说
明这样一个实施例,其中,图像的块被分为两部分。随后这些子部的每一个 如上所述被处理,除了每一子部被映射到处理器的一半并且由这一半处理器 处理。参见图5A,块被分为所示的上半部分和下半部分。也就是,左上角块
被分为两个子块0和2。类似的,与其相邻的块被分为子块1和3,以此类 推。注意,对于相关目的而言,每一子块相当于一个完整块,即子块l仅需 要来自块0的相关数据,最左边的子块2需要来自块0和1的相关数据,等 等。参见图5B,这些子块随后被映射到所示处理器的等分部分中,子块0 和l被映射到第一行,子块2和子块3被映射到第二行,以此类推。随后可 以以上述同样的方式使用本发明的过程,如果必要,子块沿着处理器的行移 位。
0022以此方式,可以看出不同于前述实施例,在同一时刻使用多个 处理器,允许使用多个处理器阵列,并且因此带来更快的图^^处理。特别地, 参见图3B,注意所使用的处理器数量每隔一行增加一个前两行每行使用一 个处理器,紧接着的两行每行使用两个处理器,以此类推。相反,图5B示 出的实施例中所使用的处理器数量每行增加一个第一行使用一个处理器, 第二行使用两个,以此类推。图5A-5B的实施例因此同时使用更多的处理器, 产生更快的处理。
0023图6A-6B示出另一个这样的实施例,其中图像的块被分为四个 子块,例如,图像的左上块被分为子块0、 2、 4和6。这些子块随后按照其 相关数据所需的顺序被映射到处理器的部分。也就是,每一处理器可以被分 为四个"子行",每一个子行可以处理一行子块。各个子块随后可以被映射 到所示处理器的子行。例如,子块O、 1、 2和3可以全部被映射到第一行中 的两个处理器(第一处理器处理子块0和1以及一个子块2和一个子块3, 并且第二处理器处理其余子块2和3),并且相应处理。注意,此实施例使用 第一行中的两个处理器,而不是一个,并且处理器的数量每行增加两个,因 此允许每行使用更多的处理器。
0024本发明也包括将块和处理器分为16个部分。此外,本发明包 括"并排"处理多个块,即每行处理多个块。图7A-7C示出这些概念。图7A 说明块被分为所示的16个子块0。-8。,本领域内技术人员可以认识到单独的 块可以被独单独处理,只要它们被布置成可以正确确定它们的相关数据。图 7B示出这样的事实,即不互相要求相关数据的块(即不相关块)可以被并行 处理。每一块如图7A所分,所示子块为了简化而没有下标,此处,例如,
第一块^t分为16子块,标以0-9,其中如上,具有相同的标号的子块:f皮同时 处理。只要每一行中的块不互相要求相关数据,其可以在同一行中一起被处
理。因此, 一组处理器可以同时处理多个不相关块。例如,图7B中的顶行 的四个块(分别标以0-9、 10-19、 20-29和30-39的子块)可以^使用单个处 理器集来处理。
0025图7C说明了这点,其中示出处理器(沿左侧用数字标识)和 相应载入的子块的表。此处,子块0-9可以被载入处理器0-9 (其中处理器 沿着左方标识)的子块中,形成所示的类菱形模式。其余块随后被载入处理 器的交迭的集中,其中,子块10-19被载入处理器4-13中,等等。以此方 式,块的其余子块以及进入处理器交迭的集的多个块的"链,,二者,允许更 快速地使用多个处理器,带来更快处理。
0026图7A-7C说明4x4处理,应该明白同样的技术可以使用8 x 8 来实现。
0027除了在不同的处理器中处理不同的块,也应该注意到同一块中 的不同类型的数据可以在不同的处理器中处理。更具体地,本发明包括来自 同一块的亮度(intensity)信息、灰阶(luma )信息和色度(chroma)信 息的独立处理。也就是,来自一个块的亮度信息可以独立于来自此块的灰阶 信息被处理,灰阶信息可以独立于来自此块的色度信息被处理。本领域内的 普通技术人可以注意到灰阶信息和色度信息可以被映射到处理器并且如上 处理(即,如有必要移位等等),并且也可以被分割,其子块被映射到不同 的处理器,来提高处理效率。图8A-8C示出这一点。在图8A中,灰阶数据 的一个块可以被映射到一个处理器,而其相应的色度数据的"半个块"被映 射到同一处理器或者不同处理器。更具体地,注意到,量度、灰阶和色度数 据可以被映射到处理器的相邻集,或者类似于图7B的行的至少部分交迭的 集中。灰阶和色度信息也可以被分为子块,用于在各个计算单元的子块中处 理,如结合图5A-5B和图6A-6B所描述的。更具体地,图8B-8C说明一个帧 的灰阶和色度数据分别分为两个和四个子块。图8B的两个子块可以随后在 处理器的不同等分部分中处理,如结合图5A-5B所描述。类似地,图8C的 四个子块可以在处理器的不同的四个之一中处理,如图6A-6B中描述。
0028尽管一些上述实施例包括通过同一行或者多行处理器并排处理 不同块,-f旦也应该注意到本发明包括沿着同一列处理器处理不同块,也可以 提高处理的效率和速度。图9A-9C概念性示出不同块使用的处理器,其描述
了后一概念的实施例。此处,多行处理器沿着垂直轴延伸,而列沿着水平轴 延伸。因此可以看出当典型的块映射到多行处理器阵列时,其将使用由区域
100-104描述的大体上呈梯形的处理器。更具体地,注意,区域104并不使
用多个处理器,因此减少处理阵列的总的用量。这可以通过处理占用区域
100-104的块的正下方的另一块的凄t据来至少部分补救。这个块可以占用区 域106-112,允许使用更多的处理器,特别在随后块之间的"过渡"区域 104-106中。相比于如果用户仅在完成区域100-104中的块的处理之后才处 理区域106-112的块,以此方式,可以更快完成处理并且使用更多的阵列。
0029图9B-9C示出这个概念的其余延伸。更具体地,注意,所映射 的块的垂直"链,,可以在两个或者多个块上持续,使得使用足够多的阵列。 更具体地,块可以被映射到互相相邻的列中, 一个块占用区域116-120,另 一块占用区域122-126,以此类推。
0030应该注意到,可以使用菱形替代梯形或者与梯形结合使用。此 外,不同格式的映射的任意组合可以通过不同尺寸的菱形和/或梯形或者其 组合来实现,从而便于同时处理多个数据流。
0031本领域内的普通技术人员也可以注意到以上所述的本发明的过 程和方法可以通过多个不同并行处理器执行。本发明构想由具有多个计算单 元(每一计算单元可以处理图像数据块)的任一并行处理器使用,并且并行 处理器可以移位此数据用于保持相关。尽管构思了使用多个这样的并行处理 器,但一个适合的例子在2006年10月19日提交的美国专利申请第 11/584480、名称为"集成处理器阵列、指令定序器和1/0控制器"中描述, 其公开内容通过应用全部包括在本申请中并用于所有目的。 子块并行处理
0032图10A-IOC示出与子块并行处理相关的改进。根据上述的视频 标准,每一宏块12为数据位(即像素)的16行乘16列(16x16)的矩阵, 划分为四个或者多个子块20。更具体地,每一矩阵分为至少四个相等的四分 体子块20,每一子块20的尺寸为8 x 8。每一四分体子块20可以进一步分 为具有尺寸8x4、 4x8和4x4的子块20。因此,任一给定块12可以被分 为具有尺寸8x8、 8x4、 4 x 8和4 x 4的子块20。
0033图10A示出块12,其具有一个8 x 8子块20a、两个4 x 8子块 20b、两个8 x 4子块20c和四个4 x 4子块20d。每一尺寸的子块20的数目 (如果有的话),以及其在块12中的位置可以变化。此外,各种尺寸的子块20的数量和位置可以随块12到块12改变。
0034因此,为了以并行方式处理具有子块的块12,必须首先确定子 块的位置和尺寸。确定每一块12的子块的位置和尺寸是耗时的,其对于上 述块12的并行处理增加了显著的处理开销。需要处理器分析块12两次,一 次来确定子块20的位置和数量,并且然后再次以正确的顺序来处理子块(注 意,如上所述, 一些子块20可能需要来自另一子块处理的相关数据,这就 是为什么必须首先确定各个子块的位置和尺寸的原因)。
0035为了解决这个问题,本发明要求包括类型数据的特定块,所述 类型数据用于标识块12中所有子块20的类型(即位置和尺寸),因此避免 要求处理器做出此决定。图10B示出块12,并且示出可能形成用于任一给定 子块20的第一数据位置(首先意味着子块20的最左上方项)的十六个数据 位置22。对于每一块12,这十六个位置22将包括必要的数据来标志此数据 位置是否构成新子块20的第一项。如果此位置被标志,随后此位置被作为 数据块2G的起始点,并且其左边紧邻的位置(如果存在)被认为是左边紧 邻的最后一列子块20,并且上方紧邻的位置(如果存在)被作为上方紧邻的 最后一行子块20。如果没有标志,则此项表示同一子块20的持续。因此, 可以看出这十六个标志数据位置22包括所有确定子块20的位置和尺寸必须 的数据。
0036图IOC示出根据本发明的类型数据块,其中,类型数据块24, 具有16 x 4的尺寸,和每一块12相关。块24的四行对应于包括该标志数据 位置22的块12中的四行。因此,通过仅分析类型数据块24的每一行中的 第一、第五、第九和第十三数据位置,可以确定子块20的位置和尺寸。对 于实现此目的,无需进一步地分析块20。此外,保持块20中的数据位置可 以被用于存储其它翁:据,诸如子块类型(I局部预测、使用具有运动矢量的 P预测和B双向预测)、块向量等等。因此,如图IOC所示,仅标志构成新子 块的起始的那些数据位置22,并且块24的每一行中的第一、第五、第九和 第十三数据位置匹配此标志。 相似性算法并行处理0037并行处理优化的另一个来源涉及具有某些相似性(例如,相似 计算)的同时处理算法。计算机处理涉及两个基本计算数值计算和数据移 动。通过执行计算凝:值运算或者移动(或者复制)期望数据到新的位置的算 法实现这些计算过程。这些算法通常使用一系列"IF"语句执行,其中如果
符合某些标准,则执行一个计算,然而如果不符合,则不做此计算或者做一 个不同的计算过程。通过利用多个IF语句,可以在每一数据中执行所期望 的全部计算过程。但是,此方法存在多个缺陷,首先其耗时,并且不利于并 行处理。第二,因为对于每一 IF语句,存在一个计算过程行,以及或者转 移到下一个计算过程或者进行下一个计算,带来资源浪费。因此,对于算法
通过IF语句所经过的处理的每一路径来说,多达一半的处理器功能(和宝
贵的晶片空间)没有被使用。第三,需要开发独特代码,以实现算法到每一 独特的数据集的每一置换。
0038此解决方案包括用于多个单独的计算或者数据移动的所有计算 过程的算法的实现,其中,所有数据可能经历算法中的每一步,因为所有的 多个数据被并行处理。随后使用选择代码来确定算法的哪一部分用于哪一数 据。因此,同一代码(算法)通常被应用于所有数据,并且仅有选择代码需 要为每一数据被设计,以确定每一计算如何进行。此处的优点在于如果处理 多个数据,其中多个处理步骤相同,则应用一个算法代码到共同的计算和非 共用的计算简化了该系统。为了应用此技术到类似算法,可以通过观察指令 本身,或者通过以更细的粒度表示指令并且随后寻找相似性,来发现相似性
0039图IIA和IIB示出上述概念的一个例子。这个例子涉及用于产 生像素之间中间值的双线性滤波器,其中执行某些数字计算(尽管此技术可 以用于任一数据算法)。这些算法需要使用数值加和数据移位步骤的同一基 本集合计算各个值,但是根据所做计算,这些步骤的顺序和编号不同。所以, 图11A中,用于1/2和3/4双三次方公式的第一次计算为编号53,其要求7 个计算步骤完成。第二次计算过程为编号18,需要6个计算步骤,其中,四 个步骤与前一计算过程中发生的四个步骤相同并且以同样的顺序。第一公式 的最后两个计算过程再次具有与前两个计算重叠的计算步骤。对于1/2双三 次方公式的其它计算,以及图11B的三个双线性公式都涉及同一计算步骤的 不同组合,并且所有都具有四个计算过程来完成。
0040对于每一7>式,所有四个计算过程可以^^用具有四个处理单元 32的并行处理器30结合和算法每一步骤相关的选择代码来执行,每一个处 理单元具有图12所示的自己的存储器34。存在和每一步骤相关的选择代码 指示四个变量中的哪一个由此步骤处理。例如,存在图11A和11B的计算中 示意的九个算法步骤。对于图IIA的第一公式,第一步骤仅应用到第三和第 四变量,其通过和此步骤相关的"0011"选择代码指示(其中如果用于此步
骤的所述代码和变量为"I",,则此步^^应用到此变量,若为"0",则不应用)。 因此,"0011"的选择代码指示该步骤仅用于第三和第四变量,不用于第一
和第二变量。第二步骤由"0100"的选择代码指示,其仅应用于第二变量。
0041使用选择代码的优点在于不用产生二十个算法代码来进行二十 个图1U和11B中说明的各个计算(或者起码不用产生至少八个不同的算法 代码来进行八个独特的数值计算),并且不用把这些算法代码的每一个载入 四个处理单元的每一个中,仅需要产生和加载单个算法代码(或者被加载在 进分布式存储器配置的各个处理单元中,或者加载进所有处理单元共享的单 个存储器位置)。仅需要产生和加载选择代码到各个处理单元,以实现期望 的计算,这变得极其简单。由于算法代码仅选择性地和并行地应用所有变量 一次,因此增加了并行处理速度和效率。
0042尽管图IIA和IIB示出对于数据计算应用的选择代码的使用, 用于选择性指示哪一 算法步骤应用到数据的选择代码同样可用于移动数据 的算法。
0043为了说明的目的,前述描述使用具体术语来提供对本发明的一 个全面的理解。但是,对于本领域内普通技术人员来说,这些具体细节并不 是用于实现本发明所需要的。因此,本发明的具体实施例的前述描述用于说 明和描述的目的。其意图并不是穷尽本发明或者将本发明限制到所公开的精 确形式。根据上述教导可以有多种修改和变化。例如,本发明可以用于处理 任一图像格式的任一部分。也就是,本发明可以并行处理任一格式的图像, 无论其是1080i HD图像、CIF图像、SIF图像,还是任一其它图像。这些图 像也可以被分为任一细分形式,无论是图像的宏块还是任一其它形式。任一 图像数据也可以被同样处理,无论其是亮度信息、灰阶信息、色度信息,还 是任一其它信息。所选和说明的实施例是为了最好的解释本发明的原理与其 实际应用,因此使得本领域内技术人员可以最好的使用本发明和具有不同修 改的各个实施例以适用于所构思的具体应用。
0044本发明可以以方法的形式和用于实现此方法的装置的形式被实 施。本发明也可以以实施于有利介质中的程序代码的形式被实施,诸如软盘、 CD-ROM、硬盘驱动器、固件或者任一机器可读存储介质,其中,当程序代码 被载入诸如计算机的机器并由其执行时,机器成为实施本发明的装置。本发 明也可以以程序代码的形式被实施,例如,无论是存储在存储介质中、载入
和/或由机器执行、或者在一些传输介质(诸如通过电线或者电缆、通过光 纤或者经电^f兹辐射)上传输,其中,当编程代码被载入并且由诸如计算机的 机器执行时,机器成为实现本发明的装置。当在通用处理器上实现时,编程 代码片段与处理器相结合来提供独特的设备,其操作类似于专用逻辑电路。
权利要求
1.在具有计算单元的并行处理阵列中,所述计算单元被配置为并行处理数据变量,一种方法包括载入用于并行处理器的多个计算单元的算法,其中,所述算法包括多个处理步骤,并且其中,多个计算单元的每一个被配置为处理和计算单元相关的数据变量;载入用于并行处理器的多个计算单元的选择代码,其中,所述选择代码指示哪一算法步骤被计算单元应用到数据变量;并且通过计算单元应用该算法处理步骤到所述数据变量,其中,对于每一计算单元,仅有被选择代码指示的那些处理步骤被用于数据变量。
2、 权利要求l的方法,其中,对于所述计算单元的每一个 所述处理步骤的每一个具有与之相关的选择代码,由此来确定所述处理步骤是否应用于所述数据变量。
3、 权利要求1的方法,其中,所述处理步骤的每一个具有与之相关 的选择代码,由此来确定哪些所述计算单元,如果有的话,应用所述处理 步骤到哪些所述数据变量。
4、 权利要求l的方法,其中,所述处理步骤包括数值加和数据移位。
5、 权利要求1的方法,其中,所述载入所述算法包括载入所述算 法到多个计算单元共享的存储器中。
6、 权利要求1的方法,其中,所述载入所述算法包括载入所述算 法到多个存储器,其中多个存储器的每一个和所述计算单元的一个相关。
7、 一种其上具有计算机可执行指令的计算机可读介质,所述计算机 可执行指令用于一种具有计算单元的并行处理阵列中的处理方法,所述计 算单元被配置为并行处理数据变量,所述方法包括载入用于并行处理器的多个计算单元的算法,其中,所述算法包括多 个处理步骤,并且其中,多个计算单元的每一个被配置为处理和计算单元 相关的数据变量;载入用于并行处理器的多个计算单元的选择代码,其中,所述选择代 码指示哪一算法步骤被计算单元应用到数据变量;并且通过计算单元应用该算法处理步骤到所述数据变量,其中,对于每一 计算单元,仅有被选择代码指示的那些处理步骤被用于数据变量。
8、 权利要求1的计算机可读介质,其中,对于所述计算单元的每一个所述处理步骤的每一个具有与之相关的选择代码,由此来确定所述处 理步骤是否应用于所述数据变量。
9、 权利要求1的计算机可读介质,其中,所述处理步骤的每一个具 有与之相关的选择代码,由此来确定哪些所述计算单元,如果有的话,应 用所述处理步骤到哪些所述数据变量。
10、 权利要求1的计算机可读介质,其中,所述处理步骤包括数值加 和数据移位。
11、 权利要求1的计算机可读介质,其中,所述载入所述算法包括 载入所述算法到多个计算单元共享的存储器中。
12、 权利要求1的计算机可读介质,其中,所述载入所述算法包括 载入所述算法到多个存储器,其中多个所述存储器的每一个和所述计算单 元的一个相关。
全文摘要
一种用于数据变量的并行处理的有效的方法和设备。并行处理阵列具有计算单元,所述计算单元被配置为并行处理数据变量,载入用于并行处理器的多个计算单元的算法,所述算法包括多个处理步骤,多个计算单元的每一个被配置为处理和计算单元相关的数据变量,载入用于并行处理器的多个计算单元的选择代码,其中,所述选择代码指示哪一算法步骤被计算单元应用到数据变量,通过计算单元应用算法处理步骤到所述数据变量,其中,对于每一计算单元,仅有被选择代码指示的处理步骤用于数据变量。
文档编号G06K9/36GK101371263SQ200780002243
公开日2009年2月18日 申请日期2007年1月10日 优先权日2006年1月10日
发明者B·米图, L·比沃拉斯基 申请人:光明测量公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1