使用多个处理器的并行图像处理的制作方法

文档序号:6362256阅读:241来源:国知局
专利名称:使用多个处理器的并行图像处理的制作方法
技术领域
本发明大体涉及电子装置。更特定来说,本发明涉及使用多个处理器的并行图像处理。
背景技术
在最近几十年,电子装置的使用已变得普遍。特定来说,电子技术的进步已减少日益复杂且有用的电子装置的成本。成本减少和消费者需求已使电子装置的使用激增而使得其在现代社会几乎无处不在。随着电子装置的使用扩展,对于电子装置的新的且改进的特征的需求也增长。更特定来说,通常寻求更快、更有效且以更高质量执行功能的电子装置。一些功能可为数据密集型的(例如,图像处理),从而需要大量处理资源来在所要时间量内完成。然而,例如电视、智能电话、计算机、相机和音乐播放器等电子装置具有决定其可多快地执行某些功能的处理约束。此外,例如移动电话或数码相机等这些电子装置中的一些受其已存储在电池中的功率量限制。可能难以经济地设计和制造改进处理效率且减少功率消耗同时提供较高质量数据密集型功能的电子装置。如可从以上论述观察到,改进电子装置的处理能力和/或效率可能是有益的。本文揭示改进电子装置的能力和/或效率的系统和方法。

发明内容
本文揭示一种用于使用多个处理器进行并行图像处理的电子装置。所述电子装置包含用于提供图像数据的多个图像传感器,以及用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器。所述多个处理器中的每一处理器专用于所述多个图像传感器中的一者。所述电子装置还包含多处理器接口。所述多处理器接口将图像数据映射到所述多个处理器,将图像数据分段以产生经分段图像数据,且使经分段图像数据与所述多个处理器的时钟速率同步。所述电子装置还可包含用于将经处理的分段图像数据组合以产生经处理图像的组合模块。所述多个处理器中的至少一个处理器可处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。所述多处理器接口可从所述多个处理器动态添加处理器用于图像数据处理。动态添加处理器用于图像数据处理可基于工作负载。所述多处理器接口可确定将图像数据分段是否有益。如果多处理器接口确定将图像数据分段并非有益的,那么每一处理器可处理仅来自每一处理器专用于的图像传感器的图像数据。如果图像数据在其被分段的情况下可较快地处理,那么多处理器接口可确定将图像数据分段是有益的。如果所述多个处理器中的至少一者不能个别地处理图像数据,那么多处理器接口可确定将图像数据分段是有益的。如果图像数据在其被分段的情况下可使用较少功率来处理,那么多处理器接口可确定将图像数据分段是有益的。多处理器接口可确定将图像数据映射到所述多个处理器的映射。多处理器接口可确定图像数据的分段。所述多个处理器中的至少一者可具有与所述多个处理器中的另一者不同的能力。所述多个图像传感器中的至少一者可具有与所述多个图像传感器中的另一者不同的能力。所述多个处理器可能不能个别地处理图像数据。经分段图像数据的片段可重叠。所述多个处理器可实时且并行处理经分段图像数据。电子装置可为无线通信装置。所述多个处理器可为图像信号处理器(ISP)。电子装置可串流图像数据使得图像数据在处理之前不存储。组合模块可包含输出缓冲器。组合模块可包含输出接口和输出缓冲器。本文还揭示一种用于使用多个处理器进行并行图像处理的方法。所述方法包含使用多个图像传感器将图像数据提供到电子装置,以及将图像数据映射到多个处理器。每一处理器专用于所述多个图像传感器中的一者。所述方法还包含将图像数据分段以产生经分段图像数据;使经分段图像数据与所述多个处理器的时钟速率同步;以及处理经分段图像数据以产生经处理的分段图像数据。本文还揭示一种用于使用多个处理器进行并行图像处理的计算机程序产品。所述计算机程序产品包含非暂时计算机可读媒体上的指令。所述指令包含用于使用多个图像传感器提供图像数据的代码,以及用于将图像数据映射到所述多个处理器的代码。每一处理器专用于所述多个图像传感器中的一者。所述指令进一步包含用于将图像数据分段以产生经分段图像数据的代码;用于使经分段图像数据与所述多个处理器的时钟速率同步的代码;以及用于处理经分段图像数据以产生经处理的分段图像数据的代码。本文还揭示一种用于使用多个处理器进行并行图像处理的设备。所述设备包含用于使用多个图像传感器提供图像数据的装置,以及用于将图像数据映射到所述多个处理器的装置。每一处理器专用于所述多个图像传感器中的一者。所述设备进一步包含用于将图像数据分段以产生经分段图像数据的装置;用于使经分段图像数据与所述多个处理器的时钟速率同步的装置;以及用于处理经分段图像数据以产生经处理的分段图像数据的装置。


图1是说明其中可实施用于使用多个处理器进行并行图像处理的系统和方法的电子装置的一个配置的框图;图2是说明用于使用多个处理器并行处理图像的方法的一个配置的流程图;图3是说明用于使用多个处理器进行并行图像处理的方法的更具体配置的流程图;图4是说明使用多个处理器进行并行图像处理的一个实例的框图;图5是说明使用多个处理器进行并行图像处理的另一实例的框图;图6是更详细说明多处理器接口的一个配置的框图;图7是说明图像数据分段的一个实例的图;图8说明可在电子装置中利用的各个组件;以及图9说明可用于无线通信装置中的各种组件。
具体实施例方式如上文论述,电子装置的改进的能力是有益且合乎需要的。特定来说,支持较高帧/秒(FPS)处理和/或较大兆像素(MP)传感器的图像传感器模块是有益的。举例来说,较大MP传感器能够以较高分辨率或较精细细节俘获图像。此外,电子装置中的较高FPS支持实现较流畅视频的俘获。然而,较大MP传感器和/或较高FPS支持可能需要较高处理量。举例来说,图像信号处理器(ISP)的处理量可需要实质上增加来支持12MP传感器的30FPS输出速率。设计具有处理量的实质增加的图像信号处理器(ISP)可能是耗时且非常昂贵的。然而,本文揭示的系统和方法允许两个或两个以上“现成”图像信号处理器(ISP)模块的组合进行并行处理以便实现所要处理量。本文揭示的系统和方法可尤其有益,因为两个或两个以上图像信号处理器(ISP)模块可能已在一些电子装置中使用。这些电子装置中的一些可包含两个相机,针对每一相机具有一图像信号处理器(ISP),用于立体声(例如,三维(3D))视频或用于视频电话应用(其中包含主相机和次相机)。本文揭示的系统和方法可用于组合这些不同相机模块以实现高处理量。即,实施本文揭示的系统和方法的电子装置可动态且任意分割图像数据以供并行处理。此方法的一个益处是,现有图像信号处理器(ISP)核心可用于实现所要性能,而不必重新设计较高处理量管线。在一个配置中,举例来说,可应用本文揭示的系统和方法使得N个处理器可用于处理M个传感器的输出,其中M < N。应注意,如本文使用的词语耦合的术语“耦合”或其它变型可指示间接连接或直接连接。举例来说,如果第一组件“耦合”到第二组件,那么第一组件可间接连接到第二组件或直接连接到第二组件。如本文所使用,术语“多个”表示两个或两个以上。举例来说,多个组件指示两个或两个以上组件。现参看各图描述各个配置,图中相同参考数字可指示功能上类似的元件。如本文各图中大体描述和说明的系统和方法可以多种不同配置布置和设计。因此,如图中表示的若干配置的以下更详细描述不希望限制所主张的范围,而是仅代表所述系统和方法。图1是说明其中可实施用于使用多个处理器进行并行图像处理的系统和方法的电子装置102的一个配置的框图。电子装置102包含一个或一个以上图像传感器104a-n以及两个或两个以上处理器120a-n。电子装置102可包含相同或不同数目的图像传感器104a-n和处理器120a_n。图像传感器104a_n的实例包含电荷耦合装置(CCD)传感器和互补金属氧化物半导体(CMOS)传感器。处理器120a-n的实例包含专用图像信号处理器(ISP)和处理器的软件实施方案。举例来说,处理器A120a专用于图像传感器A104a,处理器B120b专用于图像传感器B104b,等等。即,图像传感器A104a和处理器A120a共享传感器-处理器专用A106a,图像传感器B104b和处理器B120b共享传感器-处理器专用B106b,等等,直到由图像传感器N104n和处理器N120n共享的传感器-处理器专用N106n为止。传感器-处理器专用106a-n指示当不在使用当前系统和方法时,每一处理器120a_n仅处理来自特定图像传感器104a-n的图像数据,或每一处理器120a_n经设计以处理来自特定图像传感器104a-n的图像数据。举例来说,图像传感器A104a和处理器A120a可制造和/或封装为单一模块以供在电子装置102中使用。此组合的图像传感器104/处理器120模块可为“现成”封装,其中一个或一个以上处理器120a-n专用于106 —个或一个以上图像传感器 104a_n。如本文所使用,“专用处理器”或具有“传感器-处理器专用”的处理器可指示当不在使用所述系统和方法时,处理器仅处理来自特定图像传感器的图像数据。此处理器专用可包含不同类型的专用。包含性专用意味着特定处理器处理仅来自一个图像传感器的数据,但一个或一个以上额外处理器可专用于所述图像传感器且处理来自所述图像传感器的图像数据。当不在使用本文所揭示的系统和方法时,这些包含性专用处理器将仅处理来自所述图像传感器的数据。举例来说,两个处理器可各自专用于单一图像传感器,每一者在不使用本文的系统和方法时处理来自所述单一图像传感器的数据。举例来说,双处理器可经特别设计以处理仅来自一个特定图像传感器的数据。排斥性专用意味着处理器仅处理来自特定图像传感器的图像数据,且是当不使用本文的系统和方法时处理来自所述特定图像传感器的数据的唯一处理器。如本文所使用,术语“专用处理器”、“传感器-处理器专用”和其它变型揭示包含性专用和排斥性专用两者。在一个配置中,所述一个或一个以上处理器120各自包含性专用于图像传感器104。在另一配置中,所述一个或一个以上处理器120各自排斥性专用于图像传感器104。本文揭示的系统和方法可应用于包含性专用处理器、排斥性专用处理器和/或两者。处理器120a_n执行图像处理操作。图像处理操作的实例包含修剪、缩放(例如,到不同分辨率)、图像格式转换、颜色内插、颜色处理、图像过滤(例如,空间图像过滤)、透镜假影或缺陷校正等。处理器120a-n中的每一者可具有不同处理能力。举例来说,处理器A120a可以比处理器B120b高的时钟速率处理图像数据。类似地,图像传感器104a_n中的每一者可具有不同能力。举例来说,图像传感器A104a可以比图像传感器B104b高的帧速率和/或分辨率提供图像数据。根据本文揭示的系统和方法,多处理器接口 108可组合两个或两个以上处理器120a-n的能力,尽管所述两个或两个以上处理器120a_n专用于106a_n特定图像传感器104a-n。举例来说,多处理器接口 108可使用介接118将来自一个或一个以上图像传感器104a-n的图像数据映射到一个或一个以上处理器120a_n。在一些配置中,多处理器接口108和介接118是单一模块。在其它配置中,多处理器接口 108和介接118是分离的。在一个配置中,多处理器接口 108和/或介接118实施为硬件组件(例如,将来自一个或一个以上图像传感器104a-n的图像数据映射到一个或一个以上处理器120a_n的开关和/或多路复用器)。在另一配置中,多处理器接口 108和/或介接118实施为软件(例如,用于将来自一个或一个以上图像传感器104a-n的图像数据寻址或映射到一个或一个以上处理器120a-n)。在又一配置中,多处理器接口 108和/或介接118实施为硬件与软件的组合(例如,用于将来自一个或一个以上图像传感器104a-n的图像数据映射到一个或一个以上处理器120a-n)。因此,多处理器接口 108和/或介接118可提供映射112功能。多处理器接口 108和/或介接118提供例如分段114和同步116等其它功能性。分段模块114将来自一个或一个以上图像传感器104a-n的图像数据分段。每一图像数据片段发送到处理器120a-n以供处理。同步模块116使图像数据速率与处理器120a_n时钟速率同步以使处理器120a-n能够处理经分段图像。这使得能够并行和/或实时发生图像处理。当实时发生处理时,图像数据或片段可直到处理之后才存储在缓冲器或存储器中。即,图像数据和/或图像数据片段可实时持续串流直到处理之后为止。图像数据速率可为相同或不同的(例如,针对每一图像传感器104a-n)。类似地,处理器120a-n时钟速率可为相同或不同的。多处理器接口 108中包含的控制器110可为用于控制多处理器接口 108和/或介接118的操作的硬件和/或软件模块。在一个配置中,控制器110实施为用于控制映射112、分段114和/或同步116功能性的硬件模块。在另一配置中,控制器110实施为软件模块,包含用于控制映射112、分段114和/或同步116的指令。在又一配置中,控制器110模块实施为硬件与软件的组合。控制器110控制映射112、分段114和/或同步116功能。举例来说,控制器110可确定来自一个或一个以上图像传感器104a-n的图像数据如何映射112到一个或一个以上处理器120a-n、图像数据如何分段114和/或图像数据速率与处理器120a_n时钟速率如何同步116。控制器110还可确定在特定情况下分段114(例如,并行处理)是否将是有益的。此确定可基于例如当前图像传感器104a-n和处理器120a_n使用、所需要的图像俘获的分辨率和/或帧速率、在利用/不利用并行处理的情况下处理图像数据所需的时间量、图像传感器104a-n和/或处理器120a_n能力和/或功率消耗等考虑因素。组合模块122组合经处理的图像数据片段(也称为“经处理图像片段”或“经处理片段”)。组合模块122可包含输出接口和/或输出缓冲器。在一个配置中,组合模块122包含在将经处理图像片段发送到输出缓冲器之前组合所述经处理图像片段的输出接口。在另一配置中,组合模块122包含将经处理图像片段直接发送到输出缓冲器的输出接口。在又一配置中,组合模块122不包含输出接口,而是包含输出缓冲器,其中经处理图像片段从处理器120a_n中的每一者发送。举例来说,假定图像传感器A104a俘获高分辨率图像。还假定控制器110确定图像数据分段114将是有益的。映射模块112将图像数据映射到多个处理器120a-n,所述图像数据经分段114或划分为多个片段或切片且与每一处理器120a-n的时钟速率同步116。每一处理器120a-n处理其相应的图像数据片段且将经处理图像片段输出到组合模块122。组合模块122组合经处理图像片段以产生经处理图像124。可遵循此程序以产生多个经处理图像124。如果电子装置102(例如,控制器110)确定将图像数据分段以供并行处理将不是有益的,那么电子装置102可不将图像数据映射到非专用处理器120。在所述情况下,电子装置102可将来自图像 传感器104a-n的图像数据仅映射到专用处理器120 (例如,执行典型操作)。概括地说,处理器120a-n可个别地使用(例如,每一处理器120a_n专用于特定图像传感器104a-n)或可并行使用以处理图像且实现较高处理量。一般来说,可使用N个处理器120a-n,其中N彡2。因此,图像数据可分割为N个条(例如,垂直或水平)或区以供由处理器120a-n进行并行实时处理。在一个配置中,图像传感器104以光栅扫描次序发出图像数据。因此,图像数据可垂直分段。举例来说,当在一条线上接收到图像数据时,可将第一组像素发送到一个处理器且可将第二组像素发送到第二处理器,等等。以下是使用多个处理器120进行并行图像处理的更具体实例。在此实例中,假定电子装置102具有两个处理器:处理器A120a和处理器B120b。还假定处理器B120b不专用于图像传感器A104a。图像传感器A104a将实时图像数据串流到电子装置102中(例如,串流到多处理器接口 108和/或介接118中)。多处理器接口 108和/或介接118将图像数据的左部分(例如,垂直条)串流到处理器A120a,同时将图像数据的右部分串流到处理器B120b。在此实例中,多处理器接口 108和/或介接118可实施为两个修剪模块,其中第一修剪模块选择针对处理器A120a的像素(例如,第一片段),而第二修剪模块选择针对处理器B120b的像素(例如,第二片段)。处理器A120a和处理器B120b实时且并行处理图像数据片段。组合模块122可将经处理图像片段直接发送到输出缓冲器或在将经处理图像片段发送到输出缓冲器之前将其组合。或者,组合模块122可不包含输出接口,在此情况下处理器120将经处理图像片段直接写入到输出缓冲器。图2是说明用于使用多个处理器120并行处理图像的方法200的一个配置的流程图。电子装置102获得202来自一个或一个以上图像传感器104的图像数据。举例来说,一个或一个以上图像传感器104俘获且提供图像数据。电子装置102将图像数据映射204到两个或两个以上处理器120。在一个配置中,多处理器接口 108和/或介接118包含可经控制以将图像数据映射204到两个或两个以上处理器120的若干多路复用器。电子装置102将图像数据分段206以产生经分段图像数据或片段。举例来说,控制器Iio可控制将图像数据分割或分段206的分段114模块或功能。图像数据可分段206为两个或两个以上片段。每一图像数据片段可包括例如若干像素。图像数据片段可为相同大小或不同大小。在一个配置中,图像数据片段包含重叠数据(例如,“补丁”)以便避免片段的“接缝”处的不想要的假影。电子装置102使图像数据与两个或两个以上处理器120的时钟速率同步208。当图像数据被分段206时,其可分割为两个或两个以上图像数据流。为使处理实时发生,电子装置102可使图像数据流与两个或两个以上处理器120的时钟速率同步208。这允许处理实时进行。换句话说,图像数据流速率可经调整以与每一处理器120的速率匹配。在一个配置中,可使用先入先出(FIFO)缓冲器实现同步。这可允许由源(例如,图像传感器104数据)以一个速率写入图像数据且由信宿(例如,处理器120)以不同速率读出。FIFO缓冲器可经大小设定为足够大以使得数据速率不会引起缓冲器中的溢出。电子装置102处理210经分段图像数据(也称为“图像数据片段”或“片段”)以产生经处理图像片段(也称为“经处理片段”)。举例来说,每一处理器120可处理210图像数据片段。如上文提及,处理210的一些实例包含修剪、缩放、转换图像格式、颜色内插、颜色处理、过滤图像(例如,空间过滤图像)、对于透镜假影或缺陷的校正等。处理210可并行和/或实时发生。图像数据片段可从(俘获图像数据的)一个或一个以上图像传感器104发送到不专用于所述一个或一个以上图像传感器104的一个或一个以上处理器120。换句话说,可除一个或一个以上专用处理器120外或代替于一个或一个以上专用处理器120使用一个或一个以上非专用处理器120来处理图像数据片段。处理210经分段图像数据产生经处理图像片段。电子装置102将经处理图像片段组合212以便产生经处理图像124。经处理图像124可例如显示、存储和/或发射。图3是说明用于使用多个处理器120进行并行图像处理的方法300的更具体配置的流程图。电子装置102获得302来自一个或一个以上图像传感器104的图像数据。举例来说,一个或一个以上图像传感器104俘获图像数据且将图像数据提供到电子装置102。电子装置102可确定304将图像数据分段以供并行处理是否将是有益的。如上文论述,此确定304可基于例如当前图像传感器104和处理器120使用、所需要的图像俘获的分辨率和/或帧速率、在利用/不利用并行处理的情况下处理图像数据所需的时间量、图像传感器104和/或处理器120能力和/或功率消耗等考虑因素。在一个实例中,控制器110确定专门处理器120是否将单独能够在给定时间量内(例如,以给定分辨率和/或帧速率)处理图像数据。如果专用处理器120不能在给定时间量内或以所要帧速率处理(或不能处理)图像数据,那么控制器110确定304将数据分段以供并行处理将是有益的。换句话说,用于处理图像数据的处理器120的数目可基于传入或当前工作负载(例如,图像数据的量、分辨率和/或帧速率)动态调整(例如,添加或移除)。在另一实例中,控制器110将其确定304基于当前处理器120使用。假定一个处理器120正忙于以特定帧速率处理视频图像且不具有额外能力来处理静态图像。在此情况下,控制器110可确定304将图像数据分段以供并行处理将不是有益的。或者,控制器110可确定304在此情况下将图像数据分段将是有益的。举例来说,控制器110可确定将视频处理中的一些映射到另一处理器120以及将静态图像处理映射到两个处理器120将维持视频流且比使用专用处理器120更快地处理静态图像。因此,电子装置102可动态添加或分组处理器120以供进行视频或图像处理(当其将为有益时)。在又一实例中,控制器110通过观察功率资源(例如,电池)确定304将图像数据分段以供进行图像的并行处理将是有益的。在此实例中,假定专用处理器120能够在可接受的时间量内处理图像,但这样做将需要专用处理器120以高时钟速率运行,因此耗散相对大量功率。控制器110可通过在使用比在高时钟速率下运行专用处理器少的功率总量的较低时钟速率下运行两个处理器120来确定304在此情况下将图像数据分段以供并行处理将是有益的。如果电子装置102确定304将图像数据分段以供并行处理将不是有益的,那么电子装置102可使用其专用处理器120处理306来自每一图像传感器104的图像数据。举例来说,控制器110可将来自每一图像传感器104的图像数据映射到其专用处理器120且相应地处理306图像数据。如果电子装置102确定304将图像数据分段以供并行处理将是有益的,那么电子装置102可确定308映射。即,控制器110可确定308将图像数据映射到哪个(些)处理器120。在一个配置中,控制器110确定需要哪些(以及多少)处理器120来以当前分辨率和/或帧速率处理图像数据。映射确定308可基于例如当前图像传感器104和处理器120使用、所需要的图像俘获的分辨率和/或帧速率、在利用/不利用并行处理的情况下处理图像数据所需的时间量、图像传感器104和/或处理器120能力和/或功率消耗等考虑因素。举例来说,如果第一处理器120单独或个别地当前不能以所要分辨率和/或帧速率处理图像数据,那么控制器Iio可将图像数据添加或映射到额外处理器120直到足够处理功率可用于处理图像数据为止。举例来说,用于处理图像数据的处理器120的数目可基于传入或当前工作负载(例如,图像数据的量、分辨率和/或帧速率)动态调整(例如,添加或移除)。可使用其它确定映射308的方法。举例来说,控制器110可将图像数据映射到尽可能多的处理器120或映射到使功率消耗或平均处理速率最小化的处理器120的组合。在另一配置中,映射确定308可基于当前处理器120使用或工作负载。假定一个处理器120正忙于以特定帧速率处理视频图像且不具有额外能力来处理静态图像。在此情况下,可确定308将静态图像处理映射到一个或一个以上其它处理器120的映射。或者,可确定308所述映射使得将视频处理中的一些映射到另一处理器120且将静态图像处理映射到两个处理器120以便维持视频流且处理静态图像。因此,电子装置102可映射308处理器120以供视频或图像处理。在又一实例中,基于节省功率资源(例如,电池)确定308映射。在此实例中,假定专用处理器120能够在可接受时间量内处理图像,但这样做将需要专用处理器120以高时钟速率运行,因此耗散相对大量功率。可确定308映射以使得将图像数据映射到在使用比在高时钟速率下运行专用处理器少的功率总量的较低时钟速率下运行的多个处理器120。电子装置102将图像数据映射310到两个或两个以上处理器120。举例来说,电子装置102或控制器110使用多路复用器、开关和/或其它寻址方案的阵列来将图像数据映射或路由到两个或两个以上处理器120。电子装置102可确定312分段。举例来说,电子装置102或控制器110可将分段基于处理器120容量、速度(或处理速率)、当前使用等。在一个简单实例中,控制器110基于处理器120容量或能力来确定312成比例的分段。举例来说,假定一个处理器120具有另一处理器120的容量或能力的两倍的容量或能力。控制器110可以2: I比率将图像数据分段,从而将与一个处理器120相比两倍数目的像素提供到另一处理器120。在另一实例中,控制器110将图像数据分段以使得使用每一连续处理器120的最大处理容量或能力直到分配充足的处理容量或能力来处理图像数据为止。应注意,图像数据可分段为垂直条、水平条和/或作为图像数据的子集的其它区。在一个配置中,图像传感器104以光栅扫描次序发出图像数据。因此,图像数据可垂直分段。举例来说,当在一条线上接收到图像数据时,可将第一组像素发送到一个处理器且可将第二组像素发送到第二处理器,等等。分段确定312可包含重叠图像数据或“补丁”。更特定来说,如果电子装置102 (例如,处理器120)使用过滤(例如,空间过滤),那么发送到并行处理器120的图像数据片段将需要应对接缝或边缘条件。这意味着重叠的图像数据片段(例如,具有“补丁”)可发送到并行处理器120。可由支持处理管线中的空间或过滤结构所需的量确定重叠的量。举例来说,假定处理器120在水平方向上在垂直分段的情况下使用过滤(例如,空间过滤)。如果电子装置102使用3x3过滤核,那么沿着每一分段接缝,左和右片段每一者需要一个像素的重叠。然而,如果处理器120中的每一者以逐像素为基础处理图像数据,那么可不需要重叠。电子装置102将图像数据分段314以产生经分段图像数据(例如,两个或两个以上图像数据片段)。举例来说,电子装置102或分段模块114根据控制器110确定312的分段将图像数据分段314。电子装置102还可利用重叠片段或补丁将图像数据分段314以避免片段接缝处的边缘假影。电子装置102或分段模块114可通过丢弃或修剪不对应于特定片段的图像数据或通过接受或接收仅对应于特定片段的图像数据(在具有适用的补丁或重叠的情况下)将图像数据分段。电子装置102或分段模块114可将图像数据分段为例如垂直条、水平条或其它区。如果处理器120利用每像素处理或以每像素为基础完成所有处理,那么发送到并行处理器120的图像片段可无重叠。在此情况下,可能不需要重叠,因为不会从处理产生接缝或边缘假影。然而,如果处理器120在水平方向(例如,利用垂直片段)或垂直方向(例如,利用水平片段)上利用过滤(例如,空间过滤),那么发送到并行处理器120的图像片段可需要图像数据中的重叠来适当处置接缝或边缘条件(例如,以避免假影)。电子装置102使图像数据与两个或两个以上处理器120的时钟速率同步316。举例来说,电子装置102或同步模块116调整图像数据片段的图像数据流的速率以与图像数据片段已映射310到的处理器120的时钟速率匹配。在一个配置中,这可使用如上文描述的FIFO缓冲器实现。电子装置102使用两个或两个以上处理器120处理318经分段图像数据以产生经处理的图像片段(例如,“经处理片段”)。如上文论述,处理318分段图像数据可包含修剪、缩放、转换图像格式、颜色内插、颜色处理、过滤图像(例如,空间过滤图像)、透镜假影或缺陷的校正等。处理318分段图像数据产生经处理的图像片段。电子装置102或组合模块122使用输出接口和/或缓冲器来组合320经处理图像片段。组合320经处理图像片段产生了经处理图像124。举例来说,电子装置102可包含输出接口,其将经处理图像片段组合320,随后将经处理图像124发送到输出缓冲器。在另一配置中,可不使用或不需要输出接口。在此情况下,处理器120可直接将经处理图像片段写入到输出缓冲器。每一管线(例如,处理器120)可通过具有重叠部分或“补丁”(如果存在的话)修剪出额外像素。或者,组合模块122 (例如,输出接口)可在其组合320经处理图像片段时移除额外像素。在另一配置中,组合模块122将重叠像素与邻近经处理片段中的像素进行组合320。电子装置102可输出322经处理图像124以供显示、存储和/或发射。举例来说,电子装置102可将经处理图像124存储在存储器中。作为替代或另外,电子装置102可显示经处理图像124和/或将经处理图像124发射到另一装置(例如,另一电子装置、无线通信装置、计算机等)。图4是说明使用多个处理器进行并行图像处理的一个实例的框图。在此实例中,图像传感器A404a获得或俘获图像426。图像传感器A404a接着将图像数据428提供到多处理器接口 408。多处理器接口 408将图像数据428映射到处理器A420a和处理器B420b且将图像数据428分段为片段A430a和片段B430b。多处理器接口 408还使片段A430a和片段B430b与相应处理器A420a和B420b时钟速率同步。多处理器接口 408将片段A430a提供到处理器A420a且将片段B430b提供到处理器B420b。处理器A420a处理片段A430a以产生经处理片段A432a,且处理器B420b处理片段B430b以产生经处理片段B432b。经处理片段A432a和经处理片段B432b提供到输出接口 422。输出接口 422组合经处理片段A432a和B432b以产生经处理图像424。以下是更具体实例。假定需要360兆像素/秒(MP/秒)处理量来在30FPS下处理4000x3000分辨率图像传感器输入。假定管线中的唯一过滤操作为3x3有限脉冲响应(FIR)空间过滤。在此实例中假定无传感器消隐。进一步假定处理器A420a是具有达3504像素线宽的260MP/秒的性能的图像信号处理器(ISP)。此类型的图像信号处理器(ISP)可通常用于8MP相机。可确定处理器B420b将需要提供以便在当前分辨率和帧速率下处理图像数据428的性能。虽然处理器A420a可在一条线上处理达3504个像素,但其受其处理量限制,因为3504*3000*30FPS 大于 260MP/ 秒。处理器 A420a 仅可处理 4000 像素 * (260MP/ 秒)/ (360MP/秒) 2888像素宽度。由于还存在3x3空间过滤,所以还需要一列额外补丁。因此,片段A430a (到处理器A420a的输入)可为2888像素宽乘3000像素高,而经处理片段A432a (来自处理器A420a的输出)为2887乘3000像素。因此,处理器B420b必须能够处理1114像素/线=4000-2887+1补丁列。因此,处理器B420b处理量必须至少为1114像素*3000像素*30FPS ^ 10IMP/秒。 如果处理器B420b不具有此性能,那么可添加一个或一个以上处理器420。通过组合两个或两个以上处理器,可处理来自比可由个别处理器处理的大的分辨率传感器的图像数据。本文揭示的系统和方法的此益处在下表(I)中说明。举例来说,假定处理器A420a能够处理5.04MP图像且处理器B420b能够处理3.15MP图像。根据表(I),处理器A420a和处理器B420b —起可处理来自15.27MP分辨率传感器的图像数据。这是因为处理器A420a处理图像数据的一个部分(例如,左片段),且处理器B420b处理图像数据的另一部分(例如,右片段)。因此,多个处理器可处理来自高分辨率图像传感器的图像数据。在表(I)中,为方便起见,“宽度”(以像素计)缩写为“W”,且“高度”(以像素计)缩写为“H”。
权利要求
1.一种用于使用多个处理器进行并行图像处理的电子装置,其包括: 用于提供图像数据的多个图像传感器; 用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器,其中所述多个处理器中的每一处理器专用于所述多个图像传感器中的一者;以及 多处理器接口,其中所述多处理器接口将所述图像数据映射到所述多个处理器,将所述图像数据分段以产生所述经分段图像数据,且使所述经分段图像数据与所述多个处理器的时钟速率同步。
2.根据权利要求1所述的电子装置,其进一步包括用于将所述经处理的分段图像数据组合以产生经处理图像的组合模块。
3.根据权利要求1所述的电子装置,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器 不专用于的至少一个图像传感器的经分段图像数据。
4.根据权利要求1所述的电子装置,其中所述多处理器接口从所述多个处理器动态添加处理器用于图像数据处理。
5.根据权利要求4所述的电子装置,其中动态添加处理器用于图像数据处理是基于工作负载。
6.根据权利要求1所述的电子装置,其中所述多处理器接口确定将所述图像数据分段是否有益,且其中如果所述多处理器接口确定将所述图像数据分段并非有益的,那么每一处理器处理仅来自每一处理器专用于的图像传感器的图像数据。
7.根据权利要求6所述的电子装置,其中如果所述图像数据在其被分段的情况下可较快地处理,那么所述多处理器接口确定将所述图像数据分段是有益的。
8.根据权利要求6所述的电子装置,其中如果所述多个处理器中的至少一者不能个别地处理所述图像数据,那么所述多处理器接口确定将所述图像数据分段是有益的。
9.根据权利要求6所述的电子装置,其中如果所述图像数据在其被分段的情况下可使用较少功率来处理,那么所述多处理器接口确定将所述图像数据分段是有益的。
10.根据权利要求1所述的电子装置,其中所述多处理器接口确定将所述图像数据映射到所述多个处理器的映射。
11.根据权利要求1所述的电子装置,其中所述多处理器接口确定所述图像数据的分段。
12.根据权利要求1所述的电子装置,其中所述多个处理器中的至少一者具有与所述多个处理器中的另一者不同的能力。
13.根据权利要求1所述的电子装置,其中所述多个图像传感器中的至少一者具有与所述多个图像传感器中的另一者不同的能力。
14.根据权利要求1所述的电子装置,其中所述多个处理器不能个别地处理所述图像数据。
15.根据权利要求1所述的电子装置,其中所述经分段图像数据的片段重叠。
16.根据权利要求1所述的电子装置,其中所述多个处理器实时且并行处理所述经分段图像数据。
17.根据权利要求1所述的电子装置,其中所述电子装置为无线通信装置。
18.根据权利要求1所述的电子装置,其中所述多个处理器为图像信号处理器ISP。
19.根据权利要求1所述的电子装置,其中所述电子装置串流所述图像数据以使得所述图像数据在处理之前不存储。
20.根据权利要求2所述的电子装置,其中所述组合模块包括输出缓冲器。
21.根据权利要求2所述的电子装置,其中所述组合模块包括输出接口和输出缓冲器。
22.一种用于使用多个处理器进行并行图像处理的方法,其包括: 使用多个图像传感器将图像数据提供到电子装置; 将所述图像数据映射到多个处理器,其中每一处理器专用于所述多个图像传感器中的一者; 将所述图像数据分段以产生经分段图像数据; 使所述经分段图像数据与所述多个处理器的时钟速率同步;以及 处理所述经分段图像数据以产生经处理的分段图像数据。
23.根据权利要求22所述的方法,其进一步包括将所述经处理的分段图像数据组合以产生经处理图像。
24.根据权利要求22所述的方法,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
25.根据权利要求22所述的方法,其中所述电子装置从所述多个处理器动态添加处理器用于图像数据处理。
26.根据权利要求25所述的方法,其中动态添加处理器用于图像数据处理是基于工作负载。
27.根据权利要求22所述的方法,其进一步包括确定将所述图像数据分段是否有益,其中如果所述多处理器接口确定将所述图像数据分段并非有益的,那么每一处理器处理仅来自每一处理器专用于的图像传感器的图像数据。
28.根据权利要求27所述的方法,其中基于所述图像数据是否在其被分段的情况下可较快地处理来确定将所述图像数据分段是否是有益的。
29.根据权利要求27所述的方法,其中基于所述多个处理器中的至少一者是否不能个别地处理所述图像数据来确定将所述图像数据分段是否是有益的。
30.根据权利要求27所述的方法,其中基于所述图像数据是否在其被分段的情况下可使用较少功率来处理来确定将所述图像数据分段是否是有益的。
31.根据权利要求22所述的方法,其进一步包括确定用于将所述图像数据映射到所述多个处理器的映射。
32.根据权利要求22所述的方法,其进一步包括确定所述图像数据的分段。
33.根据权利要求22所述的方法,其中所述多个处理器中的至少一者具有与所述多个处理器中的另一者不同的能力。
34.根据权利要求22所述的方法,其中所述多个图像传感器中的至少一者具有与所述图像传感器中的另一者不同的能力。
35.根据权利要求22所述的方法,其中所述多个处理器不能个别地处理所述图像数据。
36.根据权利要求22所述的方法,其中所述经分段图像数据重叠。
37.根据权利要求22所述的方法,其中实时且并行完成处理所述经分段图像数据。
38.根据权利要求22所述的方法,其中所述电子装置为无线通信装置。
39.根据权利要求22所述的方法,其中所述多个处理器为图像信号处理器ISP。
40.根据权利要求22所述的方法,其进一步包括串流所述图像数据以使得所述图像数据在处理之前不存储。
41.根据权利要求23所述的方法,其中使用输出缓冲器组合所述经处理的分段图像数据。
42.根据权利要求23所述的方法,其中使用输出接口和输出缓冲器组合所述经处理的分段图像数据。
43.一种用于使用多个 处理器进行并行图像处理的计算机程序产品,所述计算机程序产品包括上面具有指令的非暂时计算机可读媒体,所述指令包括: 用于使用多个图像传感器提供图像数据的代码; 用于将所述图像数据映射到所述多个处理器的代码,其中每一处理器专用于所述多个图像传感器中的一者; 用于将所述图像数据分段以产生经分段图像数据的代码; 用于使所述经分段图像数据与所述多个处理器的时钟速率同步的代码;以及 用于处理所述经分段图像数据以产生经处理的分段图像数据的代码。
44.根据权利要求43所述的计算机程序产品,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
45.根据权利要求43所述的计算机程序产品,其进一步包括用于从所述多个处理器动态添加处理器用于图像数据处理的代码。
46.根据权利要求45所述的计算机程序产品,其中动态添加处理器用于图像数据处理是基于工作负载。
47.一种用于使用多个处理器进行并行图像处理的设备,其包括: 用于使用多个图像传感器提供图像数据的装置; 用于将所述图像数据映射到所述多个处理器的装置,其中每一处理器专用于所述多个图像传感器中的一者; 用于将所述图像数据分段以产生经分段图像数据的装置; 用于使所述经分段图像数据与所述多个处理器的时钟速率同步的装置;以及 用于处理所述经分段图像数据以产生经处理的分段图像数据的装置。
48.根据权利要求47所述的设备,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
49.根据权利要求47所述的设备,其进一步包括用于从所述多个处理器动态添加处理器用于图像数据处理的装置。
50.根据权利要求49所述的设备,其中所述用于动态添加处理器用于图像数据处理的装置是基于工作负载。
全文摘要
本文揭示一种用于使用多个处理器进行并行图像处理的电子装置。所述电子装置包含用于提供图像数据的多个图像传感器。所述电子装置还包含用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器。每一处理器专用于所述图像传感器中的一者。还包含多处理器接口。所述多处理器接口将所述图像数据映射到所述处理器,将所述图像数据分段以产生所述经分段图像数据,且使所述经分段图像数据与处理器时钟速率同步。
文档编号G06T1/20GK103201764SQ201180054450
公开日2013年7月10日 申请日期2011年11月7日 优先权日2010年11月12日
发明者黄豪, 约瑟夫·张, 塞尔久·R·戈马 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1