CN103201764B - 使用多个处理器的并行图像处理 - Google Patents

使用多个处理器的并行图像处理 Download PDF

Info

Publication number
CN103201764B
CN103201764B CN201180054450.3A CN201180054450A CN103201764B CN 103201764 B CN103201764 B CN 103201764B CN 201180054450 A CN201180054450 A CN 201180054450A CN 103201764 B CN103201764 B CN 103201764B
Authority
CN
China
Prior art keywords
processor
image data
view data
data
electronic installation
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.)
Active
Application number
CN201180054450.3A
Other languages
English (en)
Other versions
CN103201764A (zh
Inventor
黄豪
约瑟夫·张
塞尔久·R·戈马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103201764A publication Critical patent/CN103201764A/zh
Application granted granted Critical
Publication of CN103201764B publication Critical patent/CN103201764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/45Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

本文揭示一种用于使用多个处理器进行并行图像处理的电子装置。所述电子装置包含用于提供图像数据的多个图像传感器。所述电子装置还包含用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器。每一处理器专用于所述图像传感器中的一者。还包含多处理器接口。所述多处理器接口将所述图像数据映射到所述处理器,将所述图像数据分段以产生所述经分段图像数据,且使所述经分段图像数据与处理器时钟速率同步。

Description

使用多个处理器的并行图像处理
技术领域
本发明大体涉及电子装置。更特定来说,本发明涉及使用多个处理器的并行图像处理。
背景技术
在最近几十年,电子装置的使用已变得普遍。特定来说,电子技术的进步已减少日益复杂且有用的电子装置的成本。成本减少和消费者需求已使电子装置的使用激增而使得其在现代社会几乎无处不在。随着电子装置的使用扩展,对于电子装置的新的且改进的特征的需求也增长。更特定来说,通常寻求更快、更有效且以更高质量执行功能的电子装置。
一些功能可为数据密集型的(例如,图像处理),从而需要大量处理资源来在所要时间量内完成。然而,例如电视、智能电话、计算机、相机和音乐播放器等电子装置具有决定其可多快地执行某些功能的处理约束。此外,例如移动电话或数码相机等这些电子装置中的一些受其已存储在电池中的功率量限制。可能难以经济地设计和制造改进处理效率且减少功率消耗同时提供较高质量数据密集型功能的电子装置。
如可从以上论述观察到,改进电子装置的处理能力和/或效率可能是有益的。本文揭示改进电子装置的能力和/或效率的系统和方法。
发明内容
本文揭示一种用于使用多个处理器进行并行图像处理的电子装置。所述电子装置包含用于提供图像数据的多个图像传感器,以及用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器。所述多个处理器中的每一处理器专用于所述多个图像传感器中的一者。所述电子装置还包含多处理器接口。所述多处理器接口将图像数据映射到所述多个处理器,将图像数据分段以产生经分段图像数据,且使经分段图像数据与所述多个处理器的时钟速率同步。
所述电子装置还可包含用于将经处理的分段图像数据组合以产生经处理图像的组合模块。所述多个处理器中的至少一个处理器可处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。所述多处理器接口可从所述多个处理器动态添加处理器用于图像数据处理。动态添加处理器用于图像数据处理可基于工作负载。
所述多处理器接口可确定将图像数据分段是否有益。如果多处理器接口确定将图像数据分段并非有益的,那么每一处理器可处理仅来自每一处理器专用于的图像传感器的图像数据。如果图像数据在其被分段的情况下可较快地处理,那么多处理器接口可确定将图像数据分段是有益的。如果所述多个处理器中的至少一者不能个别地处理图像数据,那么多处理器接口可确定将图像数据分段是有益的。如果图像数据在其被分段的情况下可使用较少功率来处理,那么多处理器接口可确定将图像数据分段是有益的。
多处理器接口可确定将图像数据映射到所述多个处理器的映射。多处理器接口可确定图像数据的分段。所述多个处理器中的至少一者可具有与所述多个处理器中的另一者不同的能力。所述多个图像传感器中的至少一者可具有与所述多个图像传感器中的另一者不同的能力。
所述多个处理器可能不能个别地处理图像数据。经分段图像数据的片段可重叠。所述多个处理器可实时且并行处理经分段图像数据。电子装置可为无线通信装置。所述多个处理器可为图像信号处理器(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以产生经分段图像数据或片段。举例来说,控制器110可控制将图像数据分割或分段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单独或个别地当前不能以所要分辨率和/或帧速率处理图像数据,那么控制器110可将图像数据添加或映射到额外处理器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∶1比率将图像数据分段,从而将与一个处理器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≈101MP/秒。如果处理器B420b不具有此性能,那么可添加一个或一个以上处理器420。
通过组合两个或两个以上处理器,可处理来自比可由个别处理器处理的大的分辨率传感器的图像数据。本文揭示的系统和方法的此益处在下表(1)中说明。举例来说,假定处理器A420a能够处理5.04MP图像且处理器B420b能够处理3.15MP图像。根据表(1),处理器A420a和处理器B420b一起可处理来自15.27MP分辨率传感器的图像数据。这是因为处理器A420a处理图像数据的一个部分(例如,左片段),且处理器B420b处理图像数据的另一部分(例如,右片段)。因此,多个处理器可处理来自高分辨率图像传感器的图像数据。在表(1)中,为方便起见,“宽度”(以像素计)缩写为“W”,且“高度”(以像素计)缩写为“H”。
表(1)
应注意,图像信号处理器(例如,处理器420)可受其可处理的图像的宽度限制。举例来说,具有宽度1600的处理器A420a和具有宽度2048的处理器B420b可处理具有几乎1600+2048的宽度的图像(其近似9MP)。在表(1)中,组合宽度未说明为简单的宽度和以考虑某些补丁,在此实例中,其已设定为128。更特定来说,1600的处理器A420a宽度与2048的处理器B420b宽度的组合将总计为3648,但以宽度3520说明以考虑补丁。还应注意,假定图片纵横比4∶3(其对于图像传感器可能是典型的)来确定所说明的高度。
图5是说明使用多个处理器进行并行图像处理的另一实例的框图。更特定来说,图5说明单一图像传感器504/多个图像信号处理器520情况。图像传感器504俘获或获得图像数据528。在此实例中,图像传感器504将图像数据528作为单一高带宽数据流534提供到映射、分段和同步模块536。所述映射、分段和同步模块536将图像数据528映射到多个处理器520a-n,将图像数据528分段为片段A530a、片段B530b、片段C530c等等,直到片段N530n。即,图像数据528分段为两个或两个以上片段530。每一片段530作为低带宽数据流538a-n提供到并行处理图像信号处理器540。因此,多个低带宽数据流538a-n发送到并行处理图像信号处理器540。更特定来说,片段A530a作为低带宽数据流A538a提供到图像信号处理器A520a,片段B530b作为低带宽数据流B538b提供到图像信号处理器B520b,片段C530c作为低带宽数据流C538c提供到图像信号处理器C520c,等等,直到片段N530n作为低带宽数据流N538n提供到图像信号处理器N520n。数据映射、分段和同步模块536还使每一低带宽数据流538a-n与每一图像信号处理器520a-n的相应时钟速率同步。如图5中说明,本文揭示的系统和方法经由使用多个处理器的并行处理提供数据速率缩减。
图像信号处理器520a-n中的每一者将经处理片段532a-n提供到组合模块522。组合模块522将经处理图像片段A-N532a-n组合为经处理图像524。如图5中的实例所说明,图像处理可根据本文揭示的系统和方法并行且实时实现。
图6是更详细说明多处理器接口608的一个配置的框图。一个或一个以上图像传感器604a-m可耦合到多处理器接口608。多处理器接口608可耦合到两个或两个以上处理器620a-n。多处理器接口608可实施为硬件和/或软件模块。举例来说,多处理器接口608可实施为包含用于实施本文揭示的系统和方法的组件的集成电路(IC)。或者,多处理器接口608可实施为包含用于实施本文揭示的系统和方法的指令或代码的软件模块。或者,多处理器接口608可实施为硬件与软件的组合。因此,依据功能性描述多处理器接口608。
多处理器接口608可包含多路复用器阵列644、两个或两个以上接口模块650a-n以及两个或两个以上同步器654a-n。多路复用器阵列644可提供映射612功能性。举例来说,多路复用器阵列644可包含一个或一个以上数据多路复用器(在图6中为了方便标记为“数据多路复用器”)646a-m以及一个或一个以上时钟多路复用器648a-m(在图6中为了方便标记为“时钟多路复用器”)。数据多路复用器646a-m将图像数据628a-m映射到所述两个或两个以上处理器620a-n。更特定来说,数据多路复用器646a-m可将来自所述一个或一个以上图像传感器604a-m中的任一者的图像数据628a-m映射到所述两个或两个以上处理器620a-n中的任一者。
时钟多路复用器648a-m用于将传感器时钟信号642a-m映射到接口模块650a-n且映射到同步器模块654a-n。传感器时钟信号642a-m可指示正俘获图像数据628a-m的帧速率或速率。换句话说,时钟多路复用器648a-m可将传感器时钟信号642a-m作为时钟信号652a-n映射到接口块650a-n和同步器654a-n。举例来说,传感器块B642b可作为时钟信号A652a映射到接口A650a和同步器A654a。
接口模块650a-n提供分段614a-n功能性。举例来说,接口650a-n可实施为将来自图像传感器604a-m的图像数据628a-m分段的“修剪器”。接口模块650a-n可使用时钟信号652a-n。举例来说,接口模块650a-n可实施在硬件中,使得时钟信号652a-n用于运行所述电路。传感器块642a-m可(例如,分别)与图像数据628a-m同步。因此,时钟信号652a-n可允许对硬件进行定时以使得每一循环对应于来自图像传感器604的每一数据元素。以此方式,接口模块650a-n可“理解”数据何时被递送以及数据的定时。数据的定时可用于同步驱动用于比如修剪等操作的逻辑。一般来说,时钟信号652a-n可提供针对分段逻辑的一个或一个以上定时信号以理解有效数据何时从图像传感器604a-m递送到其处。
接口模块650a-n将经分段图像数据提供到同步器654a-n。同步器654a-n提供同步616a-n功能性。同步器654a-n可使用时钟信号652a-n和处理器时钟信号656a-n以便使经分段图像数据与处理器620a-n的时钟域同步。以此方式,经分段图像数据可由处理器620a-n并行且实时处理。在一个配置中,每一处理器620a-n以不同时钟速率运行。因此,可能需要将经分段图像数据同步616a-n到每一处理器620a-n的时钟域中来协调每一图像片段的适当处理。如图6中说明,每一处理器620a-n输出经处理图像数据658a-n。应注意,根据本文的系统和方法,可存在与处理器620a-n不同数目的图像传感器604a-m。或者,可存在与处理器620a-n相同数目的图像传感器604a-m。
图7是说明图像数据分段的一个实例的图。特定来说,说明用于使用两个处理器120处理的图像数据的垂直分段。有源像素774和消隐764是图像传感器104提供的图像数据的两个区。有源像素774是用于产生图像的图像数据中的像素。换句话说,有源像素774是待处理以便产生经处理图像124的像素。消隐764是有源像素774周围的区。消隐区764可包括不是有源像素区774的一部分的区。举例来说,图像传感器104可或可不发送消隐区764像素。举例来说,消隐区764可在帧之间和/或帧内的线之间使用以向图像传感器104电路提供若干循环以完成其工作且准备处置下一数据片段。在此时间期间,可不存在待呈现的任何有效数据,因此导致消隐区764。
在图7中,若干字母表示图像数据的各个维度。更特定来说,m760表示包含消隐764的第一片段的水平维度,n762表示包含消隐764的第二片段的水平维度,p776表示有源像素774和消隐764的垂直维度,q766表示有源像素774的第一片段的水平维度,r772表示有源像素的第二片段的水平维度,且s778表示有源像素774的垂直维度。在此实例中,来自一个或一个以上图像传感器104的图像数据分段为两个片段以供在两个处理器120上处理。根据所述实例,假定图像传感器104具有如等式(1)中说明的分辨率(例如,以像素计)。
Sensor_Resolution=(q+r)*s (1)
图像数据输入速率可界定为如等式(2)中说明。
Input_Rate=(m+n)*p*fps (2)
在等式(2)中,fps是帧速率(例如,以FPS计)。Input_Rate是图像数据从图像传感器104输入到多处理器接口108中的速率。
在此实例中,图像数据通过接缝780分段为两个片段。(有源像素774的)第一片段具有q766乘s778的维度。然而,具有pad1 768乘s778的维度的第一补丁还可由第一处理器120处理。因此,第一处理器120的输入分辨率在等式(3)中说明。
Input_Resolution1=(q+pad1)*s (3)
因此,第一处理器120具有如等式(4)中说明的处理速率。
Processing_Rate1≥(m+pad1)*p*fps (4)
并且,第一处理器120的输出分辨率在等式(5)中说明。
Output_Resolution1=q*s (5)
类似地,第二处理器120的输入分辨率、处理速率和输出分辨率分别在等式(6)、(7)和(8)中给出。
Input_Resolution2=(r+pad2)*s (6)
在等式(6)中,Input_Resolution2是第二处理器120的输入分辨率,且pad2 770是第二补丁的水平维度。应注意,pad1和pad2的大小可由避免接缝780(如上文论述)处的假影所需的补丁量决定。
Processing_Rate2≥(n+pad2)*p*fps (7)
在等式(7)中,Processing_Rate2是第二处理器120的处理速率。等式(8)说明第二处理器120的输出分辨率(Output_Resolution2)。
Output_Resolution2=r*s (8)
图8说明可在电子装置802中利用的各个组件。所说明的组件可位于同一物理结构内或单独外壳或结构中。参看图1论述的电子装置102可类似于电子装置802来配置。电子装置802包含一个或一个以上图像传感器804。所述一个或一个以上图像传感器804可为将光学信号(例如,图像)俘获或转换为电子信号或图像数据的一个或一个以上装置。图像传感器804的实例包含电荷耦合装置(CCD)和互补金属氧化物半导体(CMOS)传感器。
电子装置802包含两个或两个以上图像信号处理器820。所述两个或两个以上图像信号处理器820可直接和/或间接耦合到所述一个或一个以上图像传感器804。所述两个或两个以上图像信号处理器820可为通用单一或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。所述两个或两个以上图像信号处理器820可用于执行图像处理功能。举例来说,所述两个或两个以上图像信号处理器可执行修剪、缩放(例如,到不同分辨率)、图像格式转换、颜色内插、颜色处理、图像过滤(例如,空间图像过滤)、透镜假影或缺陷校正等。
电子装置802包含处理器888。处理器888可为通用单一或多芯片微处理器(例如,ARM)、专用微处理器(例如,数字信号处理器(DSP))、微控制器、可编程门阵列等。处理器888可称为中央处理单元(CPU)。虽然在图8的电子装置802中仅展示单一处理器888,但在替代配置中,可使用处理器(例如,ARM与DSP)的组合。
电子装置802还包含与处理器888进行电子通信的存储器882。即,处理器888可从存储器882读取信息和/或将信息写入到存储器882。存储器882可为能够存储电子信息的任何电子组件。存储器882可为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储媒体、光学存储媒体、RAM中的快闪存储器装置、处理器包含的机载存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除PROM(EEPROM)、寄存器等,包含其组合。
数据886a和指令884a可存储在存储器882中。指令884a可包含一个或一个以上程序、例程、子例程、函数、过程等。指令884a可包含单一计算机可读语句或许多计算机可读语句。指令884a可由处理器888执行以实施上文描述的方法。执行指令884a可涉及使用存储在存储器882中的数据886a。图8展示加载到处理器888中的一些指令884b和数据886b。
电子装置802还可包含用于与其它电子装置通信的一个或一个以上通信接口890。通信接口890可基于有线通信技术、无线通信技术或两者。不同类型的通信接口890的实例包含串行端口、并行端口、通用串行总线(USB)、以太网适配器、IEEE1394总线接口、小型计算机系统接口(SCSI)总线接口、红外(IR)通信端口、蓝牙无线通信适配器等。
电子装置802还可包含一个或一个以上输入装置892和一个或一个以上输出装置894。不同种类的输入装置892的实例包含键盘、鼠标、麦克风、远程控制装置、按钮、操纵杆、跟踪球、触摸垫、光笔等。不同种类的输出装置894的实例包含扬声器、打印机等。可通常包含在电子装置802中的一种特定类型的输出装置是显示器装置896。与本文揭示的配置一起使用的显示器装置896可利用任何适宜的图像投影技术,例如阴极射线管(CRT)、液晶显示器(LCD)、发光二级管(LED)、气态等离子体、电致发光等。还可提供显示器控制器(未图示)用于将存储在存储器882中的数据转换为显示器装置896上所示的文本、图形和/或移动图像(视需要)。
电子装置802还可包含电源和/或接口898。电源和/或接口898可将电功率提供到电子装置802。举例来说,电源/接口898可为电池。或者,电源/接口可为可经由其提供电功率的端口。举例来说,电源/接口898可为接受交流(AC)或直流(DC)功率的端口。在一个配置中,电源/接口898用于接纳插入到电源插座中的功率适配器。或者,电源/接口898可经由USB端口接受电功率。在又一配置中,电源/接口898以无线方式接收电功率(例如,使用感应或近程充电装置)。
电子装置802的各个组件可通过一个或一个以上总线耦合在一起,所述总线可包含功率总线、控制信号总线、状态信号总线、数据总线等。为简单起见,图8中将各个总线说明为总线系统811。应注意,图8仅说明电子装置802的一个可能配置。可利用各种其它架构和组件。
图9说明可用于无线通信装置901中的各种组件。无线通信装置901可为用于以无线方式与其它电子装置通信的一种电子装置102、802。无线通信装置901的实例包含蜂窝式电话、智能电话、个人数字助理(PDA)、电子阅读器、游戏系统、音乐播放器、上网本、无线调制解调器、膝上型计算机、平板计算机装置等。参看图1论述的电子装置102可类似于无线通信装置901而配置。
无线通信装置901中包含的许多组件可类似于参看图8描述的组件来配置和起作用。举例来说,无线通信装置可包含一个或一个以上图像传感器904、两个或两个以上图像信号处理器920、包含指令984a和/或数据986a的存储器982、加载来自存储器982的指令984b和/或数据986b的处理器988、一个或一个以上通信接口990、一个或一个以上输入装置992、一个或一个以上输出装置994(例如,显示器装置996),以及电源/接口998。无线通信装置901可额外包含发射器905和接收器907。发射器905和接收器907可联合称为收发器903。收发器903可耦合到一个或一个以上天线909用于发射和/或接收无线信号。类似于上文参看图8描述的电子装置802,无线通信装置901可包含在图9中说明为总线系统911的一个或一个以上总线。总线系统911可将所描述的组件耦合在一起,从而允许协调操作。
如本文使用,术语“无线通信装置”通常表示可以无线方式连接到另一电子装置(例如,基站)的电子装置(例如,接入终端、客户端装置、客户端台(STA)等)。无线通信装置或者可称为移动装置、移动台、订户台、用户设备(UE)、远程台、接入终端、移动终端、终端、用户终端、订户单元等。无线通信装置的实例包含膝上型或桌上型计算机、蜂窝式电话、智能电话、无线调制解调器、电子阅读器、平板计算机装置、游戏系统等。无线通信装置可根据例如第三代合作伙伴计划(3GPP)等一个或一个以上工业标准操作。因此,一般术语“无线通信装置”可包含以根据工业标准的各种命名法(例如,接入终端、用户设备(UE)、远程终端等)描述的无线通信装置。
在以上描述中,有时已结合各种术语而使用参考数字。在术语结合参考数字使用的情况下,此可意图表示在图式中的一者或一者以上中展示的特定元件。在术语在无参考数字的前提下使用的情况下,此可意图大体表示不限于任何特定图式的术语。
术语“确定”涵盖许多种类的动作,且因此“确定”可包含计算、估算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查实等。又,“确定”可包含接收(例如,接收信息)、存取(例如,在存储器中存取数据)等等。又,“确定”可包括解析、选择、挑选、建立等等。
除非另外明确规定,否则短语“基于”不表示“仅基于”。换句话说,短语“基于”描述“仅基于”和“至少基于”两者。
本文描述的功能可作为一个或一个以上指令存储在处理器可读或计算机可读媒体上。术语“计算机可读媒体”指代可由计算机或处理器存取的任何可用媒体。借助实例而非限制,此媒体可包括RAM、ROM、EEPROM、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于存储指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用的磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。应注意,计算机可读媒体可为有形且非暂时的。术语“计算机程序产品”指代计算装置或处理器与可由计算装置或处理器执行、处理或计算的代码或指令(例如,“程序”)组合。如本文所使用,术语“代码”可指代可由计算装置或处理器执行的软件、指令、代码或数据。
也可经由传输媒体而传输软件或指令。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线路(DSL)或无线技术(例如,红外线、无线电及微波)从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含在传输媒体的定义中。
本文中所揭示的方法包括用于实现所描述的方法的一个或一个以上步骤或动作。在不偏离权利要求书的范围的情况下,方法步骤及/或动作可互换。换句话说,除非正描述的方法的适当操作需要步骤或动作的特定次序,否则,在不脱离权利要求书的范围的情况下,可修改特定步骤和/或动作的次序和/或使用。
应理解,权利要求书不限于上文所说明的精确配置及组件。在不偏离权利要求书的范围的情况下,可在本文中所描述的系统、方法及设备的布置、操作及细节方面进行各种修改、改变及变更。

Claims (41)

1.一种用于使用多个处理器进行并行图像处理的电子装置,其包括:
用于提供图像数据的多个图像传感器;
多处理器接口,其用于确定将所述图像数据分段是否有益且用于分段所述图像数据以产生经分段图像数据;
用于处理经分段图像数据以产生经处理的分段图像数据的多个处理器,其中所述多个处理器中的每一处理器专用于所述多个图像传感器中的一者,其中如果所述多处理器接口确定将所述图像数据分段并非有益的,那么每一处理器处理仅来自每一处理器专用于的图像传感器的图像数据;以及
其中所述多处理器接口动态调整用以处理所述经分段图像数据的所述多个处理器的数目,且其中所述多处理器接口将所述经分段图像数据映射到上述数目个所述多个处理器且使所述经分段图像数据与上述数目个所述多个处理器的时钟速率同步。
2.根据权利要求1所述的电子装置,其进一步包括用于将所述经处理的分段图像数据组合以产生经处理图像的组合模块。
3.根据权利要求1所述的电子装置,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
4.根据权利要求1所述的电子装置,其中所述多处理器接口从所述多个处理器动态添加处理器用于图像数据处理。
5.根据权利要求4所述的电子装置,其中动态添加处理器用于图像数据处理是基于工作负载。
6.根据权利要求1所述的电子装置,其中所述多处理器接口确定将所述图像数据映射到所述多个处理器的映射。
7.根据权利要求1所述的电子装置,其中所述多处理器接口确定所述图像数据的分段。
8.根据权利要求1所述的电子装置,其中所述多个处理器中的至少一者具有与所述多个处理器中的另一者不同的能力。
9.根据权利要求1所述的电子装置,其中所述多个图像传感器中的至少一者具有与所述多个图像传感器中的另一者不同的能力。
10.根据权利要求1所述的电子装置,其中所述多个处理器不能个别地处理所述图像数据。
11.根据权利要求1所述的电子装置,其中所述经分段图像数据的分段重叠。
12.根据权利要求1所述的电子装置,其中所述多个处理器实时且并行处理所述经分段图像数据。
13.根据权利要求1所述的电子装置,其中所述电子装置为无线通信装置。
14.根据权利要求1所述的电子装置,其中所述多个处理器为图像信号处理器ISP。
15.根据权利要求1所述的电子装置,其中所述电子装置串流所述图像数据以使得所述图像数据在处理之前不存储。
16.根据权利要求2所述的电子装置,其中所述组合模块包括输出缓冲器。
17.根据权利要求2所述的电子装置,其中所述组合模块包括输出接口和输出缓冲器。
18.一种用于使用多个处理器进行并行图像处理的方法,其包括:
使用多个图像传感器将图像数据提供到电子装置;
将所述图像数据映射到多个处理器,其中每一处理器专用于所述多个图像传感器中的一者,且其中用以处理所述图像数据的所述多个处理器中的处理器的数目被动态调整;
确定将所述图像数据分段是否有益;
其中如果确定将所述图像数据分段并非有益的,那么每一处理器处理仅来自每一处理器专用于的图像传感器的图像数据;
其中如果确定将所述图像数据分段为有益的,所述方法进一步包括:
将所述图像数据分段以产生经分段图像数据;
使所述经分段图像数据与所述多个处理器的时钟速率同步;以及
处理所述经分段图像数据以产生经处理的分段图像数据。
19.根据权利要求18所述的方法,其进一步包括将所述经处理的分段图像数据组合以产生经处理图像。
20.根据权利要求18所述的方法,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
21.根据权利要求18所述的方法,其中所述电子装置从所述多个处理器动态添加处理器用于图像数据处理。
22.根据权利要求21所述的方法,其中动态添加处理器用于图像数据处理是基于工作负载。
23.根据权利要求18所述的方法,其中基于所述图像数据是否在其被分段的情况下可较快地处理来确定将所述图像数据分段是否是有益的。
24.根据权利要求18所述的方法,其中基于所述多个处理器中的至少一者是否不能个别地处理所述图像数据来确定将所述图像数据分段是否是有益的。
25.根据权利要求18所述的方法,其中基于所述图像数据是否在其被分段的情况下可使用较少功率来处理来确定将所述图像数据分段是否是有益的。
26.根据权利要求18所述的方法,其进一步包括确定用于将所述图像数据映射到所述多个处理器的映射。
27.根据权利要求18所述的方法,其进一步包括确定所述图像数据的分段。
28.根据权利要求18所述的方法,其中所述多个处理器中的至少一者具有与所述多个处理器中的另一者不同的能力。
29.根据权利要求18所述的方法,其中所述多个图像传感器中的至少一者具有与所述图像传感器中的另一者不同的能力。
30.根据权利要求18所述的方法,其中所述多个处理器不能个别地处理所述图像数据。
31.根据权利要求18所述的方法,其中所述经分段图像数据重叠。
32.根据权利要求18所述的方法,其中实时且并行完成处理所述经分段图像数据。
33.根据权利要求18所述的方法,其中所述电子装置为无线通信装置。
34.根据权利要求18所述的方法,其中所述多个处理器为图像信号处理器ISP。
35.根据权利要求18所述的方法,其进一步包括串流所述图像数据以使得所述图像数据在处理之前不存储。
36.根据权利要求19所述的方法,其中使用输出缓冲器组合所述经处理的分段图像数据。
37.根据权利要求19所述的方法,其中使用输出接口和输出缓冲器组合所述经处理的分段图像数据。
38.一种用于使用多个处理器进行并行图像处理的设备,其包括:
用于使用多个图像传感器提供图像数据的装置;
用于将所述图像数据映射到所述多个处理器的装置,其中每一处理器专用于所述多个图像传感器中的一者,且其中用以处理所述图像数据的所述多个处理器中的处理器的数目被动态调整;
用于确定将所述图像数据分段是否有益的装置,其中如果确定将所述图像数据分段并非有益的,那么每一处理器处理仅来自每一处理器专用于的图像传感器的图像数据;
其中如果确定将所述图像数据分段为有益的,所述装置进一步包括:
用于将所述图像数据分段以产生经分段图像数据的装置;
用于使所述经分段图像数据与所述多个处理器的时钟速率同步的装置;以及
用于处理所述经分段图像数据以产生经处理的分段图像数据的装置。
39.根据权利要求38所述的设备,其中所述多个处理器中的至少一个处理器处理来自所述至少一个处理器不专用于的至少一个图像传感器的经分段图像数据。
40.根据权利要求38所述的设备,其进一步包括用于从所述多个处理器动态添加处理器用于图像数据处理的装置。
41.根据权利要求40所述的设备,其中所述用于动态添加处理器用于图像数据处理的装置是基于工作负载。
CN201180054450.3A 2010-11-12 2011-11-07 使用多个处理器的并行图像处理 Active CN103201764B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/944,971 US8736695B2 (en) 2010-11-12 2010-11-12 Parallel image processing using multiple processors
US12/944,971 2010-11-12
PCT/US2011/059647 WO2012064672A1 (en) 2010-11-12 2011-11-07 Parallel image processing using multiple processors

Publications (2)

Publication Number Publication Date
CN103201764A CN103201764A (zh) 2013-07-10
CN103201764B true CN103201764B (zh) 2016-12-07

Family

ID=45099163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180054450.3A Active CN103201764B (zh) 2010-11-12 2011-11-07 使用多个处理器的并行图像处理

Country Status (6)

Country Link
US (1) US8736695B2 (zh)
EP (1) EP2638523B1 (zh)
JP (1) JP5654134B2 (zh)
KR (1) KR101490067B1 (zh)
CN (1) CN103201764B (zh)
WO (1) WO2012064672A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909149B2 (en) * 2011-08-26 2014-12-09 Hewlett-Packard Development Company, L.P. Media module of a device
CN102835040B (zh) * 2012-06-11 2015-01-07 华为技术有限公司 微波mimo系统中接收信号的均衡方法和均衡器
KR102124188B1 (ko) * 2013-03-13 2020-06-26 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
KR102186383B1 (ko) * 2013-03-13 2020-12-03 삼성전자주식회사 이미지를 처리하는 전자장치 및 방법
EP2779629B1 (en) 2013-03-13 2018-12-26 Samsung Electronics Co., Ltd. Electronic device and method for processing image
JP6134281B2 (ja) * 2013-03-13 2017-05-24 三星電子株式会社Samsung Electronics Co.,Ltd. イメージを処理する電子装置及びその動作方法
US9924165B1 (en) * 2013-07-03 2018-03-20 Ambarella, Inc. Interleaved video coding pipeline
KR102023501B1 (ko) * 2013-10-02 2019-09-20 삼성전자주식회사 설정가능한 이미지 처리 파이프라인을 포함하는 시스템 온 칩과, 상기 시스템 온 칩을 포함하는 시스템
TWI526980B (zh) 2013-10-16 2016-03-21 聯詠科技股份有限公司 用於液晶顯示器之非重疊資料資料傳輸之方法以及相關傳輸電路
CN104637454B (zh) * 2013-11-13 2017-05-24 联咏科技股份有限公司 非重迭数据传输的方法以及相关传输电路
US9402018B2 (en) 2013-12-17 2016-07-26 Amazon Technologies, Inc. Distributing processing for imaging processing
US9294263B2 (en) * 2014-01-02 2016-03-22 Advanced Micro Devices, Inc. Methods and systems of synchronizer selection
KR102128468B1 (ko) * 2014-02-19 2020-06-30 삼성전자주식회사 복수의 이미지 신호 프로세서들을 포함하는 이미지 처리 장치 및 이미지 처리 방법
JP6246625B2 (ja) 2014-03-11 2017-12-13 株式会社東芝 紙葉類処理装置およびデータ転送方法
JP6343163B2 (ja) * 2014-04-07 2018-06-13 キヤノン株式会社 集積回路装置
US9582852B2 (en) * 2014-04-11 2017-02-28 Vixs Systems, Inc. Video scaling using multiple video paths
KR101487454B1 (ko) * 2014-06-17 2015-01-28 (주)이지스 Lod 영상 병렬처리방법
CN104123178B (zh) * 2014-07-25 2017-05-17 南京大学 基于图形处理器的并行化约束检测方法
EP2991031A1 (en) * 2014-08-27 2016-03-02 Thomson Licensing Method and apparatus for accelerated pixel-recursive processing of an image signal
KR102254676B1 (ko) * 2014-10-31 2021-05-21 삼성전자주식회사 이미지를 실시간으로 처리할 수 있는 이미지 처리 회로와 이를 포함하는 장치들
KR102305470B1 (ko) 2015-02-13 2021-09-28 삼성전자주식회사 복수의 영상 처리 채널을 통해 병렬로 영상 신호 처리를 수행하는 영상 신호 처리 장치
US10291813B2 (en) * 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
GB2544333B (en) * 2015-11-13 2018-02-21 Advanced Risc Mach Ltd Display controller
KR102433293B1 (ko) * 2015-12-24 2022-08-18 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
JP6743427B2 (ja) * 2016-03-08 2020-08-19 株式会社リコー 情報処理装置、撮像システムおよびデータ転送方法
CN105827974A (zh) * 2016-04-25 2016-08-03 乐视控股(北京)有限公司 基于单isp芯片打开双摄像头的方法和系统
EP3469547B1 (en) * 2016-06-14 2023-09-20 Razer (Asia-Pacific) Pte. Ltd. Image processing devices, methods for controlling an image processing device, and computer-readable media
GB2551745B (en) 2016-06-29 2020-04-08 Advanced Risc Mach Ltd Data processing systems
US9992467B2 (en) * 2016-06-30 2018-06-05 Apple Inc. Parallel computer vision and image scaling architecture
CN109196548B (zh) * 2016-07-02 2023-09-01 英特尔公司 用于在高分辨率显示器上提供多个屏幕区域的机制
JP2018133710A (ja) * 2017-02-15 2018-08-23 キヤノン株式会社 画像処理装置および撮像装置
US10922556B2 (en) 2017-04-28 2021-02-16 Intel Corporation Storage system of DNN outputs for black box
KR102204596B1 (ko) * 2017-06-02 2021-01-19 삼성전자주식회사 프로세서, 이를 포함하는 이미지 프로세싱 장치 및 이미지 프로세싱 방법
US11426180B2 (en) 2017-08-04 2022-08-30 University College Cork—National University Of Ireland Cork Tissue penetrating surgical systems and methods
CN107633477B (zh) * 2017-10-20 2021-04-20 上海兆芯集成电路有限公司 图像处理方法及其装置
US10956770B1 (en) * 2017-11-14 2021-03-23 Snap Inc. Systems and methods for multi-device image processing
US10796180B2 (en) 2018-02-12 2020-10-06 Securiport Llc Parallel image processing for multiple biometrics capture
KR102637732B1 (ko) * 2018-09-21 2024-02-19 삼성전자주식회사 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 애플리케이션 프로세서
CN110264473B (zh) * 2019-06-13 2022-01-04 Oppo广东移动通信有限公司 基于多帧图像的图像处理方法、装置及电子设备
US10997401B2 (en) * 2019-06-27 2021-05-04 RoundhouseOne Inc. Computer vision system that provides information relative to animal wellness
TWI701948B (zh) * 2019-07-18 2020-08-11 香港商京鷹科技股份有限公司 影像感測裝置及影像感測方法
CN112165572A (zh) * 2020-09-10 2021-01-01 Oppo(重庆)智能科技有限公司 图像处理方法、装置、终端及存储介质
US11995012B2 (en) * 2022-03-15 2024-05-28 Samsung Electronics Co., Ltd. High speed interface for multi image sensor device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606707A (en) * 1994-09-30 1997-02-25 Martin Marietta Corporation Real-time image processor
CN1426023A (zh) * 2001-12-04 2003-06-25 松下电器产业株式会社 使用多个处理器的动图像编码装置及其方法
CN101487694A (zh) * 2009-03-03 2009-07-22 北京微视新纪元科技有限公司 一种处理图像的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525051B2 (ja) * 1989-06-13 1996-08-14 新日本製鐵株式会社 並列画像処理装置
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
US5917962A (en) 1995-06-06 1999-06-29 Apple Computer, Inc. Method and apparatus for partitioning an image
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
WO2001069919A1 (en) 2000-03-10 2001-09-20 Datacube, Inc. Image processing system using an array processor
US7027665B1 (en) 2000-09-29 2006-04-11 Microsoft Corporation Method and apparatus for reducing image acquisition time in a digital imaging device
JP2004289631A (ja) * 2003-03-24 2004-10-14 Fuji Photo Film Co Ltd デジタルカメラ
JP2005025599A (ja) * 2003-07-04 2005-01-27 Hitachi High-Technologies Corp 画像処理装置
US7492390B2 (en) * 2003-07-14 2009-02-17 Arecont Vision, Llc. Dual spectral band network camera
US7680192B2 (en) * 2003-07-14 2010-03-16 Arecont Vision, Llc. Multi-sensor panoramic network camera
US7075541B2 (en) 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7554589B2 (en) * 2004-08-20 2009-06-30 Micron Technology, Inc. Redundancy in column parallel or row architectures
US7649537B2 (en) 2005-05-27 2010-01-19 Ati Technologies, Inc. Dynamic load balancing in multiple video processing unit (VPU) systems
JP4415978B2 (ja) 2006-08-02 2010-02-17 ソニー株式会社 画像信号処理装置、画像信号処理方法
JP2009010821A (ja) * 2007-06-29 2009-01-15 Sony Corp 撮像装置および撮像方法、記録媒体、並びに、プログラム
KR101473215B1 (ko) * 2008-04-18 2014-12-17 삼성전자주식회사 파노라마 이미지 생성장치 및 그 방법
JP2010153992A (ja) * 2008-12-24 2010-07-08 Panasonic Corp 画像処理装置および固体撮像装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606707A (en) * 1994-09-30 1997-02-25 Martin Marietta Corporation Real-time image processor
CN1426023A (zh) * 2001-12-04 2003-06-25 松下电器产业株式会社 使用多个处理器的动图像编码装置及其方法
CN101487694A (zh) * 2009-03-03 2009-07-22 北京微视新纪元科技有限公司 一种处理图像的方法和装置

Also Published As

Publication number Publication date
KR101490067B1 (ko) 2015-02-11
EP2638523A1 (en) 2013-09-18
CN103201764A (zh) 2013-07-10
WO2012064672A1 (en) 2012-05-18
JP5654134B2 (ja) 2015-01-14
KR20130111579A (ko) 2013-10-10
US8736695B2 (en) 2014-05-27
EP2638523B1 (en) 2017-06-28
US20120120256A1 (en) 2012-05-17
JP2013545198A (ja) 2013-12-19

Similar Documents

Publication Publication Date Title
CN103201764B (zh) 使用多个处理器的并行图像处理
KR102221023B1 (ko) 이미지를 처리하는 전자장치 및 방법
CN109564466A (zh) 用于在虚拟现实系统中减小运动光子时延和存储器带宽的系统和方法
EP4083900A1 (en) Virtual reality experience sharing
WO2018070803A1 (en) Method and apparatus for session control support for field of view virtual reality streaming
EP3496389B1 (en) Electronic device and method for processing image
JP2016040728A (ja) カメラコマンドセットホストコマンド変換
US9671996B2 (en) Mirror display system and mirror display method
WO2020071811A1 (en) Method and apparatus for carriage of pcc in isobmff for flexible combination
CN103516994A (zh) 多屏适配器摄像头配置方法、多屏适配器及多屏互动系统
CN102572398A (zh) 多路视频处理装置、系统及方法
US9508109B2 (en) Graphics processing
US9530173B2 (en) Information processing device, imaging device, and information processing method
EP3466045A1 (en) Processing apparatus, image sensor, and system
CN105404487A (zh) 一种支持回显功能的拼接控制器及其控制方法
JP2016028521A (ja) ゲットアンドセットアーキテクチャに基づくトランスポートメカニズム内のコマンド実行
TW201215105A (en) Single pipeline stereo image capture
CN103685191A (zh) 数据同步系统及其方法
CN101729630A (zh) 电子装置
WO2021172941A1 (ko) 영상 스트리밍 방법 및 이를 지원하는 전자 장치
CN113873158A (zh) 一种电子设备及其控制方法
US20070177018A1 (en) Image sensor coprocessor
CN201846416U (zh) 图像传感器
CN103428520A (zh) 一种3d图像合成方法和系统
WO2024014814A1 (en) Evc decoding complexity metrics

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