用于将图像基元部署至计算构造的图像流管线控制器的制造方法

文档序号:6485392阅读:149来源:国知局
用于将图像基元部署至计算构造的图像流管线控制器的制造方法
【专利摘要】根据一些实施例,图像管线控制器可以确定具有要被执行的多个图像基元的图像流。每个图像基元可以例如与图像算法和基元属性集相关联。然后,图像管线控制器可以至少部分地基于基元属性将图像基元集自动地部署至图像计算构造。
【专利说明】用于将图像基元部署至计算构造的图像流管线控制器
【背景技术】
[0001]许多设备包括一个或多个图像传感器和/或图像显示器,并且图像处理单元可以促进来自传感器的、被提供至显示器的、和/或以其它方式由运行在设备上的应用所利用的数据的处理。例如,智能电话可以包括多个不同的摄像机和触摸屏。图像处理单元可以包括具有多个不同的组件以处理图像信息的图像计算构造(fabric)。
[0002]在一些情况下,图像处理单元可以基于输入图像数据(例如,从智能电话的摄像机接收到的)来执行一系列图像基元(primitive)以创建输出图像数据(例如,要被发送至触摸屏的)。图像基元例如可以与图像基元库相关联,并且可以包括例如传感器基元、校准基元、光学基元等。
[0003]通常,结合图像处理单元而执行的应用确定将由图像计算构造的各种组件执行哪些图像基元。例如,应用可以确定将由固定功能硬件执行过滤器基元。然而,此类方法会具有若干缺点。例如,应用可能未觉察到另一应用也在尝试使用相同的固定功能硬件。因而,应用可能“停止(stall)”或者需要等待直到固定功能硬件变为空闲,并且系统的性能可能降级。
[0004]此外,图像基元的大量数目和相对复杂性(以及它们可以结合不同的图像执行构造的不同组件来不同地操作的事实)可能导致大量的软件开发成本并抑制应用软件开发者(他们可能被促使创建针对每个新平台的定制软件)的创新。
【专利附图】

【附图说明】
[0005]图1是设备的框图。
[0006]图2是成像处理单元的框图。
[0007]图3是根据一些实施例的成像处理单元的框图。
[0008]图4是图示根据一些实施例的方法的流程图。
[0009]图5图示根据一些实施例的卷积(convolution)图像基元的基元属性。
[0010]图6是根据一些实施例的具有基元属性数据库或其它数据结构的成像处理单元的框图。
[0011]图7是根据一些实施例的具有初始化组件和定序器组件的成像处理单元的框图。
[0012]图8是根据一些实施例的处理多个图像流的成像处理单元的框图。
[0013]图9是根据一些实施例的提供固定功能硬件的软件代理仿真的成像处理单元的框图。
[0014]图1OA至IOC图示根据一些实施例的图像流中的区段。
[0015]图11是根据一些实施例的用于区段属性定义的图形用户界面的示例。
[0016]图12是图示根据一些实施例的与图像流区段相关联的方法的流程图。
[0017]图13是根据一些实施例的包括图像计算构造和软件架构特性的总体视图。
【具体实施方式】[0018]图1是可以包括例如一个或多个图像传感器110和/或图像显示器120的设备100的框图。传感器110可以包括例如摄像机、视频摄像机、深度传感器、和/或立体图像传感器。显示器120可以包括例如触摸屏、高分辨率显示器、和/或三维图像。图像处理单元130可以促进来自传感器110的、被提供至显示器120的、和/或以其它方式由运行在设备100上的应用所利用的数据的处理。注意,设备100可以进一步包括一个或多个补充接口 140,诸如数字显示接口(例如,要被耦合至数字电视或计算机监视器)、无线天线、或者通用串行总线(USB)接口。注意,设备可以与例如智能电话、平板计算机、移动计算设备、移动电话、台式计算机、膝上型计算机、游戏系统、机顶盒、或者电视相关联。
[0019]图1中所图示的设备100可以经由任何通信网络交换信息,所述通信网络可以是以下中的一个或多个:局域网(“LAN”)、城域网(“MAN”)、广域网(“WAN”)、专有网络、公共交换电话网络(“PSTN”)、无线应用协议(“WAP”)网络、蓝牙网络、无线LAN网络、和/或网际协议(“IP”)网络,诸如因特网、内联网、外联网。注意,本文所描述的任何设备可以经由一个或多个此类通信网络进行通信。
[0020]本文所讨论的所有的系统和过程可以采用存储在一个或多个非临时计算机可读介质上的程序代码来体现。此类介质可以包括例如固态随机存取存储器(“RAM”)或者只读存储器(“ROM”)存储单元。因此,实施例不限于硬件和软件的任何特定组合。
[0021]图2是可以被用于图1的显示设备中的成像处理单元200的框图。图像处理单元200包括可以处理图像信息的图像计算构造210。图像计算构造210可以包括例如固定功能硬件图像处理单元212、单指令多数据(SMD)图像执行单元214、超长指令字(VLIW)处理单元216、和/或通用处理单元218。
[0022]图像处理单元200可以基于输入图像数据(例如,从智能电话的摄像机接收到的)来执行一系列图像基元220以创建输出图像数据(例如,要被发送至触摸屏的)。图像基元220可以与存储在图像基元数据库260中的图像基元库相关联,并且可以包括例如传感器基元、校准基元、光学基元、发光基元、深度基元、分段基元、色彩基元、过滤器基元、和/或三维深度基元。
[0023]在图像信息的流上执行的图像基元集200可以表示被应用用来处理图像数据的资源集。例如,成像应用可以需要小的图像基元集200来提供处理以实现特定的高级算法,诸如面部识别、手势识别等。也就是说,图像基元220可以一起被用来处理图像数据并完成更高级的目标。图像基元220可以表示用于更大算法的构建块,并且可以是必须被管理并且使得可用于多个同时的成像和视觉计算应用的资源。
[0024]图像基元集220可以与许多不同类型的图像算法相关联,诸如与像素校正、伪迹(artifact)去除、直方图信息、扫描功能、面部识别、视觉对象识别、视觉场面分析、机器视觉、手势识别、和/或深度图计算相关联的那些。此外,仅以示例的方式,不同类型的图像基元220可以与摄像机传感器格式处理(Bayer红绿蓝(RGB)、Aptina? RGB,Kodak? RGBW等)、摄像机传感器尺寸(1080p等)、摄像机传感器帧速率、校准(自动白平衡、自动快门、自动聚焦等)、死像素检测和校正、发光控制、光学控制、三维深度传感器控制(结构光、立体三角测量等)、色彩转换(RGB、YUV、HIV等)、查找表(LUT)处理和值替换、布尔运算、将图像分段成各种组件部分(前景、背景、对象等)、过滤器(锐化、模糊、中间等)、边缘检测(Sobe1、Roberts、Prewitt等)、点运算(像素数学等)、和/或域处理(傅里叶、HAAR> Karhunen-Loeve、斜变换O
[0025]通常,结合图像处理单元200而执行的应用确定将由图像计算构造210的各种组件212、214、216、218执行哪些图像基元220。例如,应用可以确定将由固定功能硬件212执行过滤器基元。然而,此类方式会具有若干缺点。例如,应用可能未觉察到另一应用也在尝试使用固定功能硬件212。因而,应用可以“停止”或者需要等待直到固定功能硬件变为空闲,从而系统的性能可能降级。
[0026]此外,图像基元220的大量数目和相对复杂性(以及它们可以结合不同的图像执行构造210的不同组件来不同地操作的事实)可能导致大量的软件开发成本并抑制应用软件开发者(他们可能被促使创建针对每个新平台的定制软件)的创新。
[0027]因此,本文提供的实施例可以提供图像基元到计算构造的改进的部署。特别地,图3是根据一些实施例的成像处理单元300的框图。如前面那样,图像处理单元300包括可以处理图像信息的图像计算构造310。图像计算构造310可以包括例如固定功能硬件图像处理单元312、SMD图像执行单元314、VLIW处理单元316、和/或通用处理单元318。图像处理单元300可以基于输入图像数据(例如,从智能电话的摄像机接收到的)来执行一系列图像基元320以创建输出图像数据(例如,要被发送至触摸屏的)。图像基元320与存储在图像基元数据库360中的图像基元库相关联。根据该实施例,图像管线控制器330可以被用来帮助将图像基元320部署至图像计算构造310。注意,图像管线控制器330可以与硬件图像管线控制器、软件图像管线控制器、或者硬件和软件图像管线控制器组件的组合相关联。
[0028]图像管线控制器330可以采用多种不同方式来部署图像基元320 (例如,至图像计算构造310的各种组件)。例如,图4是根据一些实施例的可以与图3的管线控制器330相关联的过程的流程图。注意,本文所描述的所有过程可以由硬件和/或软件的任何组合来执行。过程可以采用 存储在有形介质上并且可由计算机执行以提供本文所描述的功能的程序代码来体现。进一步注意,本文所描述的流程图不暗示对于步骤的固定次序,并且本发明的实施例可以采用可行的任何次序来实施。
[0029]在402处,图像管线控制器可以确定具有多个要被执行的图像基元的图像流,每个图像基元与图像算法和基元属性集相关联。可以例如从视频摄像机接收图像流。在404处,图像管线控制器可以至少部分地基于基元属性将图像基元集自动地部署至图像计算构造。
[0030]如本文所使用的,基元“属性”可以是描述图像基元的操作或者执行的各方面的任何信息。本领域技术人员将认识到:宽范围的属性可以被分配到区段内的每个基元或者基元的群组,因此本文所列出的属性用来说明本发明的概念,并且因而不限制本发明的适用性,以包含除所列出的那些之外的其它有用的属性。
[0031]例如,图5图示根据一些实施例的用于卷积图像基元的基元属性500。图像属性500可以例如由图像基元的开发者来定义。根据一些实施例,基元属性500可以反映针对图像属性的多个计算单元、性能值、功率值、热值、和/或排名偏好。通过示例的方式,可以由设计工程师给每个图像基元分配属性先验(a-priori),设计工程师结合各种准则来表征基元以就以下方面定义图像基元:对于各种处理器或固定功能硬件上的软件基元的性能排名、用于软件基元的(一个或多个)优选处理器、性能对功率的排名、固定功能硬件可用性(例如,一些基元可以仅采用软件来实现)、和/或图像基元是否能够处理图像信息的子集(例如,作为用于二维图像的4k缓存驻留像素图像“拼贴(tile)”而被处理)的指示。也就是说,这些基元属性500可以被用来定义运行时的图像基元行为。
[0032]图像基元可以被存储在基元属性数据库或者其它数据结构内,并且被由管线控制器访问的编译器或翻译器用来解释属性并根据属性执行基元。例如,图6是根据一些实施例的具有基元属性数据库640或者其它数据结构的成像处理单元600的框图。图像处理单元600包括执行图像信息的图像计算构造610,包括:固定功能硬件图像处理单元612、SIMD图像执行单元614、VLIff处理单元616、和/或通用处理单元618。图像处理单元600可以基于输入图像数据来执行一系列图像基元620以创建输出图像数据,并且图像管线控制器630可以被用来帮助将图像基元620部署至图像计算构造610。图像管线控制器630可以基于基元属性数据库640或者其它数据结构中的信息来部署图像基元620(例如,至图像计算构造610的各种组件)。例如,软件应用可以使用应用编程接口(API)来查询图像基元属性及关联的资产,并且然后应用可以基于可用的基元属性来选择用于使用图像基元620的优选方法。
[0033]根据一些实施例,运行时的图像管线控制器630和/或基元属性数据库640或者其它数据结构可以读每个图像基元620的基元属性,以确定在给定的图像计算构造610内运行工作负载的最佳方式。例如,如在基元属性中定义的那样,图像基元620可以在固定功能硬件612和软件代理这二者中均可用,在该情况下应用可以选择应当执行哪种类型来实现性能对瓦特数目标。
[0034]根据一些实施例,当软件应用未指定如何经由基元属性使用图像属性620时,图像管线控制器630和/或基元属性数据库640或者其它数据结构可以被本发明内的包括运行时框架的各种组件用来自动地尝试优化性能。根据一些实施例,运行时框架可以根据每个基元的先验定义的属性来自动地尝试对跨计算构造的基元的性能进行优化,其中基元可以根据其属性被分组成可以被有序或无序地执行的区段。此外,如关于图1OA至IOC所描述的,区段可以链在一起以形成管线,并且运行时框架可以根据按照针对每个基元所定义的属性的可用计算资源来优化工作负载。此外,优化可以包括调整计算资产的行为,诸如时钟频率、电压、总线速度、处理器速度、用于线程的处理器时间片大小、设备和线程优先级、总线仲裁优先级、存储器拼贴大小、缓存行为、存储器行为、SW或FF HW的基元实现方法等。
[0035]例如,图7是根据一些实施例的具有初始化组件732和定序器组件734的成像处理单元700的框图。图像处理单元700包括执行图像信息的图像计算构造710,包括:固定功能硬件图像处理单元712、SIMD图像执行单元714、VLIff处理单元716、和/或通用处理单元718。图像处理单元700可以基于输入图像数据来执行一系列图像基元720以创建输出图像数据,并且图像管线控制器730可以被用来帮助将图像基元720部署至图像计算构造710。图像管线控制器730可以基于基元属性数据库740或者其它数据结构中的信息来部署图像基元720 (例如,至图像计算构造710的各种组件)。初始化组件732可以例如被用来使摄像机、图像传感器、或者任何其它设备初始化。
[0036]定序器组件734可以针对管线序列中的有序图像基元执行而执行定序算法以对图像流内的图像基元720进行排序。根据一些实施例,图像基元720可以与原始次序相关联,并且可以针对管线序列中的“无序”基元执行而对图像基元720的至少一些采用不同于原始次序的次序来执行图像基元720的执行。例如,在运行时定序器组件734可以对图像基元720进行排序以在图像计算构造710内高效地执行。例如,部分的图像流可以允许无序的图像基元执行(并且可以不具有依赖性),并且此类图像基元720可以是用于跨图像计算构造710的组件的并行执行的候选。
[0037]资源管理器和运行时资源锁定机制可以负责确定图像计算构造710的资产或组件的可用性、锁定资产以供管线或应用的排他性使用、监视资产状态、和/或释放资产以供其它管线或应用的使用。此类方法可以例如准许多个同时的应用使用图像计算构造710的组件。例如,图8是根据一些实施例的处理多个图像流820的成像处理单元800的框图。图像处理单元800包括执行图像信息的图像计算构造810,包括:固定功能硬件图像处理单元812,SIMD图像执行单元814、VLIW处理单元816、和/或通用处理单元818。图像处理单元800可以基于输入图像数据来执行用于多个图像流820的一系列图像基元以创建输出图像数据,并且图像管线控制器830可以被用来帮助将图像流820的图像基元部署至图像计算构造810。图像管线控制器830可以基于基元属性数据库840或者其它数据结构中的信息来部署图像流820的图像基元(例如,至图像计算构造810的各种组件)。例如,不同的图像流820可以与正被操作系统所执行的不同应用相关联,并且关于图像流820的信息可以与API相关联。
[0038]根据一些实施例,图像管线控制器830中的拼贴处理器836可以至少部分地基于基元属性数据库840中的基元属性来确定图像数据的拼贴子集是否要被部署至图像计算构造810。例如,基兀属性可以指不图像流820中的卷积图像基兀能够被划分成能够由图像计算构造810的组件单独地处理(例如,以虑及更高效的执行)的拼贴。也就是说,在运行时拼贴处理器835可以管理将正通过管线被发送的图像流820在可能和/或由应用指定时划分成被拼贴的区域。拼贴技术可以使图像采用符合缓存线内部的更小的拼贴来处理,从而使得能够在具有少的页面错误或不具有页面错误的情况下实现对数据的交换空闲访问。如与在整个图像上序列地处理每个图像基元相比,这可以使性能加速。
[0039]根据一些实施例,图像管线控制器830中的负载分发器和平衡器838可以在不同图像流820中的图像基元之间执行负载平衡算法。例如,在运行时负载分发器和平衡器838可以使多个应用同时地使用图像计算构造810中的可用资产,并且流复用器可以管理资源锁定和资源竞争问题。负载分发器和平衡器838还可以执行工作负载分发算法以选择图像处理组件来接收图像流820中的图像基元之一。该选择可以基于功率和性能策略、资源预留优先级、管线优先级、和/或资源可用性仲裁优先级。根据一些实施例,工作负载分发算法可以针对与图像计算构造810中的图像基元的执行相关联的功率或性能减少停止和/或优化。因此,负载分发器和平衡器838可以跨图像计算构造810中的可用资源而散布工作负载,以在可能时使工作负载执行并行化。根据一些实施例,基元属性数据库840中的信息可以为负载分发器和平衡器838提供引导。
[0040]例如,工作负载分发算法可以基于基元属性和/或图像处理组件状态来选择固定功能硬件图像处理单元812或者固定功能硬件图像处理单元812的“软件仿真”或代理之一(例如,当固定功能硬件图像处理单元812在由另一应用使用时,负载分发器和平衡器838可以选择使用该组件的软件代理作为代替)。图9是根据一些实施例的提供固定功能硬件950的软件代理仿真的成像处理单元900的框图。图像处理单元900包括执行图像信息的图像计算构造910,包括:固定功能硬件图像处理单元912、SMD图像执行单元914、VLIW处理单元916、和/或通用处理单元918。图像处理单元900可以基于输入图像数据来执行用于多个图像流920的一系列图像基元以创建输出图像数据,并且图像管线控制器930可以将图像流920的图像基元部署至图像计算构造910。图像管线控制器930可以基于基元属性数据库940或者其它数据结构中的信息来将图像流920的图像基元部署至软件代理仿真950和/或图像计算构造910的各种组件。例如,当图像计算构造910中的对应组件当前正由另一图像流920和/或另一应用使用时,可以将图像基元部署至软件代理仿真950。
[0041]注意,图9表示根据一些实施例的逻辑架构,并且实际实现可以包括采用其它方式而布置的更多或不同的组件。此外,本文所描述的每个系统可以由经由任何数目的通信路径进行通信的任何数目的设备来实现。可以可以在单个组件中实现两个或更多的设备。进而,每个设备可以包括适于提供本文所描述的功能以及任何其它功能的任何数目的硬件和/或软件元件。可以结合其它实施例来使用其它拓扑。
[0042]图像流920由图像基元的序列构成。根据一些实施例,流内的图像基元的子集与图像流“区段”相关联。例如,图1OA图示根据一些实施例的1000图像流中的区段。特别地,第一图像流1010包括图像流区段1012,包括图像基元A、B和C。第一图像流1010还包括多个单独的图像基元1014、1016。第二图像流1020包括其它图像流区段1022 (包括图像基元A、EJP F)以及1024 (包括图像基元B、D、和G)。
[0043]图1OA的图像流1010、1020可以由“有序”图像流区段构成。也就是说,每个图像流区段可以仅在前面的区段已经执行之后才被部署至图像计算构造(序列执行)。然而,要注意,一些图像流可以支持无序执行。例如,图1OB图示1030三个图像流区段由图像计算构造并行地执行(跨计算资源而散布开)。类似地,图1OC图示1040由链在一起的有序和无序图像流区段这二者构成的图像管线。
[0044]根据一些实施例,图像流区段可以与用于工作负载分发、停止减少、功率优化、性能优化、负载平衡、和/或定序算法的一个或多个图像流属性相关联。因此,管线或者图像流可以由区段构成,其中区段由图像基元集构成。此外,基元集可以是固定功能硬件、能够在固定功能硬件被占用时所使用的固定功能硬件的软件代理仿真、或者“仅软件”基元的组合。此外,可以有序或者无序地执行区段。根据一些实施例,图像基元、区段和/或整个管线可以具有策略属性,诸如优先级、功率/性能预算、存储器大小请求、存储器带宽请求。注意,可编程区段能够被提供成使得其与任意的图像基元集和/或任意的图像基元次序相关联(例如,以允许客户对区域图像处理功能进行编程)。
[0045]因此,图像流的区段可以被分配各种属性以控制其在运行时期间的执行。例如,图11是根据一些实施例的用于区段属性定义的图形用户界面1100的示例。⑶I 1100可以例如使软件开发者定义用于摄像机固定功能硬件区段及关联的摄像机软件代理区段的属性。具体地,GUI 1100可以被用来为区段适当地“打开”或“关闭”各种属性(例如,去噪、伪迹去除、和/或视频稳定属性)。
[0046]当将区段部署至图像计算构造时,可以由图像管线控制器来使用这些属性。例如,图12是图示根据一些实施例的与图像流区段相关联的方法的流程图。在1202处,可以由图像管线控制器来接收具有多个区段的图像流。例如,可以从智能电话视频摄像机接收图像流。在1204处,可以针对区段而执行停止避免和功率优化分析。例如,图像管线控制可以试着避免同时将多个任务部署至相同的组件。在1206处,可以结合各种管线、区段、和/或单独的图像基元来执行工作负载分发和负载平衡分析。例如,图像管线控制器可以尝试将任务部署至未充分利用的图像资源或资产。在1208处,可以为区段选择执行组件。基于1208处的选择,区段可以在1210处被分配至固定功能硬件图像处理单元,或者在1212处被分配至固定功能硬件图像处理单元的软件代理。
[0047]图13是根据一些实施例的包括图像计算构造1310(例如,与本文所描述的任何图像执行组件相关联的)和软件架构特性1320的总体视图1300。软件架构特性1320可以包括同时执行的多个应用。此外,应用可以经由可以被提供用于常见用例的软件库而访问用于硬件上下文管理的软件框架(使得能够实现多个同时的应用)。此外,可以为软件架构特性1320提供硬件抽象层处的软件基元。以该方式,可以提供编程模型,从而使用图像基元来简化软件应用的开发。此外,传感器处理可以与针对片上系统(SOC)图像产品的减少的软件开发和/或工具成本以及改进的软件可扩展性相关联。
[0048]本文所描述的实施例可以提供跨与感知计算软件和固定功能硬件相关联的不同执行组件和/视觉计算资产的标准软件AP1、摄像机管线和资产以帮助提供改进的用户体验和性能对瓦特数优点。
[0049]因此,将图像基元高效、准确且自动地部署至图像计算构造的方法和机制可以使得能够实现诸如三维深度感知、高分辨率图像、用于计算摄影的高帧速率图像捕获、面部识另IJ、场面分析等之类的用例。图像管线可以包括接近于图像传感器的固定功能硬件资产、处理器图形组件内部的固定功能硬件资产、以及各种软件API的和库,以处理高级用例。凝聚性架构模型可以将不相干的资产系在一起成完整的系统,以使得能够实现软件创新并且暴露跨操作系统平台的摄像机管线和可用资产。
[0050]根据一些实施例,运行时框架可以自动地尝试根据每个基元的先验定义的属性来促进或优化跨计算构造的基元的性能。此外,根据一些实施例,基元可以被分组成可以根据其属性被有序或无序地执行的区段。此外,区段可以被链在一起成管线,并且运行时框架可以尝试根据按照针对每个基元或区段所定义的属性的可用计算资源来促进或优化工作负载。根据一些实施例,促进或优化可以包括:对多个同时的应用共享计算构造的支持、对由不同应用的资源共享和使用的交织、用于计算构造中的基元的资源锁定和共享机制、调整计算基元资产的行为,诸如通过调整时钟频率、电压、总线速度、处理器速度、用于线程的处理器时间片大小、设备和线程优先级、总线仲裁优先级、存储器拼贴大小、缓存行为、存储器行为、SW或FF HW的基元实现方法等。
[0051]以下说明了各种附加的实施例但不构成所有可能的实施例的定义,并且本领域技术人员将理解本发明适用于许多其它实施例。进而,尽管为了清楚而简要地描述了以下实施例,但本领域技术人员将理解如果必要的话如何对上述装置和方法做出任何改变,以适应这些和其它实施例和应用。
[0052]尽管已经关于特定类型的图像传感器和显示器描述了实施例,但注意,实施例可以与其它类型的传感器和显示器相关联。例如,三维摄像机和/或显示器可以由本文所描述的任何实施例支持。此外,虽然已经使用处理图像信息的特定方式来说明了实施例,但注意,作为代替,实施例可以与任何其它种类的图像基元和/或算法相关联。
[0053]本文仅为了说明的目的而描述了实施例。本领域技术人员将从本说明书认识到实施例不限于所描述的那些,而可以在仅由所附权利要求的精神和范围所限制的修改和更改的情况下实施。
【权利要求】
1.一种方法,包括: 在图像管线控制器处确定具有要被执行的多个图像基元的图像流,每个图像基元与图像算法和基元属性集相关联;以及 由图像管线控制器至少部分地基于基元属性将图像基元集自动地部署至图像计算构造。
2.如权利要求1所述的方法,其中图像计算构造包括多个图像处理组件,包括以下中的至少一个:(i)固定功能硬件图像处理单元,(ii)单指令多数据图像执行单元,(iii)超长指令字处理单元,或者(iv)通用处理单元。
3.如权利要求2所述的方法,进一步包括: 执行工作负载分发算法以选择接收图像流中的图像基元之一的图像处理组件。
4.如权利要求3所述的方法,其中工作负载分发算法基于基元属性和图像处理组件状态来选择固定功能硬件图像处理单元或者所述固定功能硬件图像处理单元的软件仿真之一。
5.如权利要求4所述的方法,其中所述选择进一步基于以下中的至少一个:(i)功率和性能策略,(ii)资源预留优先级,(iii)管线优先级,或者(iv)资源可用性仲裁优先级。
6.如权利要求3所述的方法,其中工作负载分发算法针对与图像计算构造中的图像基元的执行相关联的功率或者性能减少停止和优化。
7.如权利要求1所述的方法,其中图像管线控制器与以下中的至少一个相关联:(i)硬件图像管线控制器,(ii)软件图像管线控制器,或者(iii)硬件和软件图像管线控制器组件的组合。
8.如权利要求1所述的方法,其中与多个图像流相关联的图像基元被部署。
9.如权利要求8所述的方法,其中不同的图像流与正被操作系统执行的不同的应用相关联,并且关于图像流的信息与应用编程接口相关联。
10.如权利要求8所述的方法,进一步包括: 在不同的图像流中的图像基元之间执行负载平衡算法。
11.如权利要求1所述的方法,进一步包括: 针对管线序列中的有序图像基元执行而执行定序算法以对图像流内的图像基元进行排序。
12.如权利要求11所述的方法,其中图像基元与原始次序相关联,并且所述执行针对管线序列中的无序图像基元执行而对图像基元的至少一些采用不同于原始次序的次序被执行。
13.如权利要求1所述的方法,其中图像基元的子集与图像流区段相关联。
14.如权利要求13所述的方法,其中图像流区段与用于以下的至少一个图像流属性相关联:(i)工作负载分发,(ii)停止减少,(iii)功率优化,(iv)性能优化,(v)负载平衡,或者(vi)定序算法。
15.如权利要求1所述的方法,其中图像流与图像数据集相关联,并且进一步包括: 至少部分地基于基元属性来确定图像数据的拼贴子集是否要被部署至图像计算构造。
16.如权利要求1所述的方法,其中图像属性由开发者定义并且存储在基元属性数据库内。
17.如权利要求16所述的方法,其中至少一个基元属性与以下中的至少一个相关联:(i)多个计算单元,(?)性能值,(iii)功率值,(iv)热值,或者(v)排名偏好。
18.如权利要求1所述的方法,其中图像流与以下中的至少一个相关联:(i)摄像机传感器,(ii)视频传感器,(iii)显示屏,(iv)深度传感器或立体图像对,或者(V)三维图像。
19.如权利要求1所述的方法,其中图像流与包括以下中的至少一个的图像基元库相关联:(i)传感器基元,(ii)校准基元,(iii)光学基元,(iv)发光基元,(V)深度基元,(Vi)分段基元,(Vii)色彩基元,(Viii)过滤器基元,或者(ix)三维深度基元。
20.如权利要求1所述的方法,其中至少一个图像算法与以下中的至少一个相关联:(i)像素校正,(ii)伪迹去除,(iii)直方图信息,(iv)按比例缩放功能,(V)面部识别,(vi)视觉对象识别,(vii)视觉场面分析,(viii)机器视觉,(ix)手势识别,或者(X)深度图计笪
ο
21.一种在其上存储有指令的非临时计算机可读存储介质,当所述指令被机器执行时导致以下操作: 在图像管线控制器处确定具有要被执行的多个图像基元的图像流,每个图像基元与图像算法和基元属性集相关联;以及 由图像管线控制器至少部分地基于基元属性将图像基元集自动地部署至图像计算构造。
22.如权利要求21所述的介质,其中图像计算构造包括多个图像处理组件,包括以下中的至少一个:(i)固定功能硬件图像处理单元,(?)单指令多数据图像执行单元,(iii)超长指令字处理单元,或者(iv)通用处理单元。
23.如权利要求22所述的介质,进一步包括: 执行工作负载分发算法来选择接收图像流中的图像基元之一的图像处理组件。
24.—种装置,包括: 包括多个图像处理组件的图像计算构造;以及 图像管线控制器,用以:(i)确定具有要被执行的多个图像基元的图像流,每个图像基元与图像算法和基元属性集相关联,以及(ii)至少部分地基于基元属性将图像基元集部署至图像计算构造。
25.如权利要求24所述的装置,其中图像基元的子集与图像流区段相关联,每个图像流区段与至少一个图像流属性相关联,并且进一步地,其中图像流区段与原始次序相关联并且以不同于所述原始次序的次序被执行。
26.如权利要求25所述的装置,其中图像管线控制器通过调整以下中的至少一个来促进图像基元执行:(i)时钟频率,(?)电压,(iii)总线速度,(iv)处理器速度,(V)用于线程的处理器时间片大小,(vi)设备和线程优先级,(vii)总线仲裁优先级,(viii)存储器拼贴大小,(ix)缓存行为,(x)存储器行为,或者(xi)固定功能硬件或软件仿真的选择。
27.—种系统,包括: 数字显示端口; 包括多个图像处理组件的图像计算构造;以及 图像管线控制器,用以:(i)确定具有要被执行的多个图像基元的图像流,每个图像基元与图像算法和基元属性集相关联,以及(ii)至少部分地基于基元属性将图像基元集部署至图像计算构造。
28.如权利要求27所述的系统,其中图像基元的子集与图像流区段相关联,每个图像流区段与至少一个图像流属性相关联,并且进一步地,其中图像流区段与原始次序相关联并且以不同于所述原始次序的次序被执行。
29.如权利要求27所述的系统,其中图像管线控制器通过调整以下中的至少一个来促进图像基元执行:(i)时钟频率,(?)电压,(iii)总线速度,(iv)处理器速度,(V)用于线程的处理器时间片大小,(vi)设备和线程优先级,(vii)总线仲裁优先级,(viii)存储器拼贴大小,(ix)缓存行为 ,(x)存储器行为,或者(xi)固定功能硬件或软件仿真的选择。
【文档编号】G06T1/20GK103999121SQ201180075984
【公开日】2014年8月20日 申请日期:2011年12月28日 优先权日:2011年12月28日
【发明者】S.克里, S.泰勒 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1