CN104067309A - 流水线化的图像处理序列发生器 - Google Patents
流水线化的图像处理序列发生器 Download PDFInfo
- Publication number
- CN104067309A CN104067309A CN201180075961.3A CN201180075961A CN104067309A CN 104067309 A CN104067309 A CN 104067309A CN 201180075961 A CN201180075961 A CN 201180075961A CN 104067309 A CN104067309 A CN 104067309A
- Authority
- CN
- China
- Prior art keywords
- process unit
- sequence
- meet
- performance metric
- instruction
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Power Sources (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
Abstract
为了提供最优的功率和性能策略选择来用于成像和分析处理,根据一些实施例,可以向由顺序地执行的过程单元组成的执行序列分配可重用的、可重新配置的、专用功能的过程单元。可以在任何给定的执行序列中重新配置任何给定的过程单元以满足序列性能度量。多个序列可以随后并行地运行。
Description
背景技术
本公开一般涉及执行用于图像处理和分析的处理任务。
发明内容
分析涉及处理图像或由图像帧组成的视频序列以获得关于描绘对象的信息。视频分析通常用于多种应用中,举几个例子来说,所述多种应用包括监视、面部识别和视频搜索。
视频分析应用趋向于计算密集型和存储密集型,并且在一些情况下,将两种固定功能的硬件块与软件组件相组合。典型地,通用的功能可以被多次执行,举几个例子来说,所述通用的功能包括像计算阈值、快速傅里叶变换、直方图或空间卷积的项目。
图像处理包括对来自照相机、扫描仪的图片和已有的图像或视频文件的分析以及增强和调整。
附图说明
针对以下诸图描述了一些实施例:
图1是本发明的一个实施例的示意性描绘;
图2是一个实施例的流程图;
图3是针对一个实施例的系统描绘;以及
图4是采用移动设备形式的实施例的描绘。
具体实施方式
根据一些实施例,可以向由顺序地执行的过程单元组成的执行序列分配用于图像处理的可重用的、可重新配置的、专用功能的过程单元。可以在任何给定的执行序列中重新配置任何给定的过程单元以便满足序列性能度量。多个序列可以随后并行地运行。
如本文所使用的,“过程单元”可以是执行特定计算任务的软件或硬件模块。在视频分析应用中的过程单元的例子包括快速傅里叶变换、阈值、形态学、直方图、空间卷积、色度学、查找表、格式转换、模板匹配、可编程的单指令多数据、形状因素、场景统计和三维线框网格。
执行序列是串行地执行的过程单元链。
过程单元可以是可重用的,因为所述单元是专用于特定功能,并且可以在一个或多个执行序列中在不同时间或并行地被重新使用。过程单元可以是可重新配置的,因为它们可以在运行时间被调整以实现特定的操作状况或设计约束。具体地说,可以重新配置任何给定的过程单元以满足与其当前被放置的特定序列相关联的性能度量。
举些性能度量的例子,给定的序列可以具有功耗或功率预算目标。可以只是为了该特定序列的目的而修改在该序列内特定的过程单元的操作,以便满足性能度量。
举另一个例子,可以修改个别的过程单元的性能以便改善序列的速度。例如,可以增加或减少存储器访问的带宽以便改善性能或调节功耗。
举另一个例子,可以改变任何给定的过程单元的特性或操作以实现期望的操作温度范围。例如,可以在特定的序列中修改基于硬件的过程单元的电压或频率以便满足温度限制。
举另一个例子,可以修改给定过程单元操作的速度(例如每秒的操作次数)以实现性能、速度或功耗目标。
举另一个例子,可以修改在执行序列内任何给定的过程单元或整个序列的优先级以便满足序列级别目标(例如操作速度)。具体地说,可以改变过程单元或序列的存储器访问优先级以实现性能度量。
参考图1,流水线分析序列发生器10可以包括:多个可重用的、可重新配置的、专用功能的过程单元12,其形成一个或多个序列;以及划分优先级的总线仲裁器14。此外,序列发生器10可以包括若干个流水线控制器16,在一个实施例中流水线控制器16可以是单独的硬件控制器。流水线化的分析序列发生器10可以通过总线与存储器18通信,存储器18由若干个可寻址的缓冲器20组成。在实施例中,序列发生器可以实现为使用通用计算机的一个或多个软件进程或任务,使得无论是使用软件、硬件或两者的组合,功能是相同的。
因此,过程单元12中的每一个可以是完成特定专用功能的硬件或软件模块。此外,它可以一次在一个以上执行序列中被重新使用,以及可以将其操作特性调整为满足特定的序列操作目标。
在一些实施例中,每个序列可以由受流水线控制器16控制的一个或多个过程单元组成。因此,如图1中所示出的,举一个实施例,流水线控制器16控制由快速傅里叶变换单元12组成的单个单元12序列。类似地,流水线控制器16a可以包括:三个过程单元12,其包括快速傅里叶变换过程单元12。在一些情况下,流水线控制器16和流水线控制器16a可以执行并行地运行的序列,即使它们使用一些相同的过程单元12。为了该目的,划分优先级的总线仲裁器14对针对由一个以上的并发地操作的序列使用的过程单元和存储器位置的争议和竞争进行仲裁。
可以使用多种方法来控制序列发生器10。根据一个方法,它受协议控制,所述协议通过通信链路或总线发送和接收可扩展标记语言(XML)命令。在另一个实施例中,序列发生器可以受存储器映射的控制和状态寄存器(CSR)控制。在另一个实施例中,序列发生器可以受命令队列或环形缓冲器控制,所述命令队列或环形缓冲器包含与控制和状态寄存器格式或可扩展标记格式类似的命令。
在一些实施例中,每个执行序列具有独特的标识符。此外,还通过向每个过程单元分配标识符以及通过记录过程单元标识符的有序列表来确定在序列内过程单元的执行次序。
在一个实施例中,仲裁器14实施先来先服务的仲裁协议。在一个实施例中,如果两个执行序列想要使用相同的过程单元,则每个执行序列必须等待使用所述过程单元直到该单元空闲为止。当过程单元正在执行时,序列可以停滞并等待直到处理执行完成或具有错误状态。随后,序列继续执行链中的所有过程单元直到它们全部完成为止。
在使用命令和状态寄存器的一些实施例中,每个序列负责对命令和状态寄存器进行编程以便使链中的每个过程单元正确地执行。每个序列可以按照需要检查序列中每个过程单元的状态。
可以经由控制和状态寄存器对每个过程单元进行编程,以便使用输入缓冲器和输出缓冲器。这些缓冲器可以位于任何类型的存储器中。还可以使用对实现控制器和序列发生器的软件库的软件调用和函数调用来实现控制。
流水线控制器12可以保留处理单元。当被保留时,没有其它序列能使用该过程单元直到该过程单元被设置为空闲为止。在一个实施例中,过程单元只能被拥有的序列释放。由于除非过程单元被保留,否则过程单元可以在序列之间共享,因此在无保留的情况下,序列也可以使用先来先服务的仲裁模型使用过程单元。
在一些实施例中,可以向序列或过程单元分配功率状态,所述功率状态是预向定义的电压和频率校准。例如,低功率状态可以具有降低的时钟和电压要求。对于每个过程单元,一组可编程的功率状态可以是可用的作为预先设置值,例如关闭、待命、低、中和高。如果过程单元未被使用,则序列可以关闭它或将它转为待命模式。随后过程单元在给定的功率状态下进行操作。分配给序列的功率预算可以改变任何给定的过程单元的功率状态、时钟速率或电压以实现给定的性能目标。
在图1中示出的实施例中,当过程单元访问缓冲器20时,缓冲器可以向过程单元12发送输入,过程单元12可以处理输入并且将输出提供回不同的缓冲器20。然而,在其它情况下,诸如在就地执行的实施例中,输出可以返回用于提供输入的同一个缓冲器。
在控制和状态寄存器实现的实施例中可以实现若干个不同的寄存器。例如,被称为序列主控制和状态寄存器的寄存器可以具有由特定的比特模式以及开始命令和停止命令实现的序列发生器控制,所述比特模式设置复位状态或只写状态、关闭状态以及其中读取和写入是可能的开启状态。
可以被称为序列发生器流水线状态寄存器的另一个寄存器控制每个序列的开始和停止。首先使用流水线设置寄存器然后使用流水线控制寄存器来建立序列。序列发生器流水线状态寄存器可以是开始指示符或停止指示符。
每个过程单元可以包括设置寄存器,所述设置寄存器可以接收若干个不同的字,所述不同的字包括输入缓冲器地址、输入缓冲器大小、输出缓冲器地址、输出缓冲器大小、控制序列的序列标识符、功率预算、存储器仲裁优先级、快速傅里叶变换过程单元的基数,以及用于任何给定的过程单元的其它参数。每个过程单元的设置区域可以指定输入缓冲器和输出缓冲器以及及其它参数,所述其它参数包括功率预算和存储器仲裁优先级。在一个实施例中,过程单元可以具有各种设置参数布置。
每个过程单元也可以具有命令和状态寄存器,所述命令和状态寄存器可以受用于控制特定过程单元的序列控制。序列可以保留过程单元,使得没有其它序列可以使用所述过程单元直到所述序列将所述过程单元设置为空闲为止。该寄存器可以包括具有像功率状态、输出结果代码、复位指示符、开始指示符和停止指示符以及状态比特之类的信息的字,所述状态比特包括但不限于过程完成、完成百分比、等待存储器操作比特、处理进行中比特以及各种错误比特。
随后每个过程单元可以具有设置寄存器以及控制和状态寄存器,并且每个序列可以具有设置寄存器以及控制和状态寄存器。设置序列寄存器可以包括:过程单元标识符的顺序列表,其形成序列链。可以依照链中给定的次序在序列范围内执行过程单元。在一个实施例中,可以基于先来先服务利用仲裁在多个序列之间共享过程单元。在一些实施例中,所述序列可以由流水线控制器运行,所述流水线控制器是简单的微控制器,所述微控制器实际上对每个过程单元进行排序。过程单元完成状态可以被发送给其拥有的序列,所述序列随后按照需要开始序列中的其它过程单元并且将状态记录在命令和状态寄存器中。
在一些实施例中,序列22可以用软件、固件和/或硬件来实现。在软件和固件实施例中,它可以由存储在非暂时性计算机可读介质(例如磁性存储装置、光学存储装置或半导体存储装置)中的计算机执行指令来实现。
在一个实施例中,序列22可以首先向一个执行序列分配过程单元。如在框26所指示的,可以重新配置序列中的过程单元以满足性能度量。随后,如在框28所表示的,可以并行地运行由过程单元组成的两个或更多个序列。
图3示出了系统700的实施例。在实施例中,系统700可以是媒体系统,尽管系统700不受限于该上下文。例如,可以将系统700合并入个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备等。
在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如(一个或多个)内容服务设备730或(一个或多个)内容传送设备740或其它类似的内容源之类的内容设备接收内容。包括一个或多个导航特征的导航控制器750可以用于与例如平台702和/或显示器720进行交互。以下更详细地描述这些组件中的每一个组件。
在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电台718中的任意组合。芯片组705可以在处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电台718之间提供互相通信。例如,芯片组705可以包括能够提供与存储装置714互相通信的存储装置适配器(未描绘)。
处理器710可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、兼容x86指令集的处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器712可以实现为易失性存储设备,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置714可以实现为非易失性存储设备,诸如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附带的存储设备、闪存、电池支持的SDRAM(同步DRAM)和/或网络可存取的存储设备。在实施例中,例如,当包括多个硬驱动器时,存储装置714可以包括用于提高针对有价值的数字媒体的存储性能增强性保护的技术。
图形子系统715可以执行对诸如静止图像或视频的处理以便显示。例如,图形子系统715可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统715和显示器720。例如,所述接口可以是高清晰度多媒体接口、DisplayPort、无线HDMI和/或兼容无线HD技术中的任何一种。图形子系统715可以集成入处理器710或芯片组705中。图形子系统715可以是通信地耦合到芯片组705的独立板卡。
本文所描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以集成于芯片组内。或者,可以使用分立的图形和/或视频处理器。举另一个实施例,图形和/或视频功能可以由通用处理器(包括多核处理器)实现。在另外的实施例中,所述功能可以在消费电子设备中实现。
无线电台718可以包括能够使用各种适当的无线通信技术来发送和接收信号的一个或多个无线电台。这些技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨越这些网络进行通信时,无线电台718可以根据任何版本中的一个或多个适用标准来操作。
在实施例中,显示器720可以包括任何电视机类型的监视器或显示器。显示器720可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类似电视机的设备、和/或电视机。显示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。此外,显示器720可以是可接收视觉投影的透射表面。这种投影可以传达各种形式的信息、图像和/或对象。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉重叠。在一个或多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
在实施例中,例如,(一个或多个)内容服务设备730可以由任何国家的、国际的和/或独立的服务主持(host)并且因此经由互联网可存取至平台702。(一个或多个)内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或(一个或多个)内容服务设备730可以耦合到网络760以便向网络760传送以及从网络760传送(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备740还可以耦合到平台702和/或显示器720。
在实施例中,(一个或多个)内容服务设备730可以包括:有线电视盒、个人计算机、网络、电话、能够传送数字信息和/或内容的、支持互联网的设备或电器、以及能够经由网络760或直接地在内容提供商与平台702和显示器720之间单向地或双向地传送内容的任何其它类似的设备。将意识到的是,可以经由网络760单向地和/或双向地向系统700中的组件中的任何一个和内容提供商传送内容以及从系统700中的组件中的任何一个和内容提供商传送内容。内容的例子可以包括任何媒体信息,其包括例如视频、音乐、医疗和游戏信息等。
(一个或多个)内容服务设备730接收诸如有线电视节目之类的内容,有线电视节目包括媒体信息、数字信息和/或其它内容。内容提供商的例子可以包括任何有线电视或卫星电视或无线电或互联网内容提供商。所提供的例子并不意味着要限制本发明的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。例如,控制器750的导航特征可以用于与用户界面722进行交互。在实施例中,导航控制器750可以是定点设备,定点设备可以是允许用户将空间(例如,连续的和多维度的)数据输入计算机的计算机硬件组件(具体地说,人工接口设备)。诸如图形用户界面(GUI)、以及电视机和监视器之类的许多系统允许用户使用物理手势来控制数据并且向计算机或电视机提供数据。
控制器750的导航特征的移动可以通过指针、光标、焦点环或显示在显示器上的其它可视指示符的移动而回显在显示器(例如,显示器720)。例如,在软件应用716的控制下,可以将位于导航控制器750上的导航特征例如映射到在用户界面722上显示的虚拟导航特征。在实施例中,控制器750可以不是单独的组件,而是集成入平台702和/或显示器720中。然而,实施例并不受限于在本文所示出或所描述的上下文中的元件。
在实施例中,驱动器(未示出)可以包括用于使得用户能够立即打开和关闭平台702的技术,类似于电视机,例如,当启用时,在初始启动之后,触碰按钮。当平台“关闭”时,程序逻辑单元可以允许平台702向媒体适配器或其它(一个或多个)内容服务设备730或(一个或多个)内容传送设备740流式传输内容。此外,芯片705可以包括例如对5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动可以包括用于集成的图形平台的图形驱动。在实施例中,图形驱动可以包括外设组件互连(PCI)Express图形卡。
在各个实施例中,可以集成在系统700中示出的组件中的任意一个或多个组件。例如,可以集成平台702和(一个或多个)内容服务设备730,或者可以集成平台702和(一个或多个)内容传送设备740,或者例如可以集成平台702、(一个或多个)内容服务设备730和(一个或多个)内容传送设备740。在各个实施例中,平台702和显示器720可以是集成单元。例如,可以集成显示器720和(一个或多个)内容服务设备730,或者可以集成显示器720和(一个或多个)内容传送设备740。这些例子并不意味着要限制本发明。
在各个实施例中,系统700可以实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统700可以包括适用于通过无线共享介质进行通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑单元等。无线共享介质的例子可以包括无线频谱的一部分,例如RF频谱等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质进行通信的组件和接口,例如输入/输出(I/O)适配器、用于将I/O适配器与相对应的有线通信介质相连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等。有线通信介质的例子可以包括:电线、电缆、金属导线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。
平台702可以建立一个或多个逻辑单元或物理信道以传送信息。所述信息可以包括媒体信息和控制信息。媒体信息可以是指表示旨在用于用户的内容的任何数据。内容的例子可以包括例如来自语音会话、视频会议、流式传输视频、电子邮件(“电邮”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以是指表示旨在用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统来路由媒体信息,或者指示节点以预先确定的方式来处理所述媒体信息。然而,实施例并不受限于在图2中所示出或所描述的元件或上下文。
如上文所描述的,系统700可以以变化的物理样式或外形规格来体现。图3示出了其中可以体现系统700的小外形规格设备800的实施例。在实施例中,例如,设备800可以实现为具有无线能力的移动计算设备。例如,移动计算设备可以是指具有处理系统和移动电源或移动电力供应(例如,诸如一个或多个电池)的任何设备。
如上文所描述的,移动计算设备的例子可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、蜂窝式电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备等。
移动计算设备的例子还可以包括被布置为由人穿戴的计算机,诸如腕计算机、手指计算机、指环计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋子计算机、衣服计算机、以及其它可穿戴的计算机。在实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管可以通过举例的方式利用实现为智能电话的移动计算设备来描述一些实施例,但是可以意识到的是,也可以使用其它无线移动计算设备来实现其它实施例。实施例并不受限于该上下文。
如图4中所示出的,设备800可以包括壳体802、显示器804、输入/输出(I/O)设备806和天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。I/O设备806可以包括用于向移动计算设备中输入信息的任何适当的I/O设备。I/O设备806的例子可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、往复式开关、麦克风、扬声器、语音识别设备和软件等。也可以通过麦克风将信息输入到设备800中。可以通过语音识别设备将这样的信息数字化。实施例并不受限于该上下文。
可以使用硬件元件、软件元件或两者的组合来实现各个实施例。硬件元件的例子可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的例子可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任意数量的因素而变化,例如期望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度及其它设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在计算机可读介质上的代表性指令来实现,所述代表性的指令表示处理器内的各种逻辑单元,当所述代表性的指令被机器读取时使机器制造用于执行本文所描述的技术的逻辑单元。被称为“IP核”的这样的表示可以存储在有形的、机器可读介质上,并且被提供给各个客户或生产设施,以便加载到实际制作逻辑单元或处理器的制造机器中。
可以使用硬件元件、软件元件或两者的组合来实现各个实施例。硬件元件的例子可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻、电容、电感等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的例子可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任意数量的因素而变化,例如期望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度及其它设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在计算机可读介质上的代表性指令来实现,所述代表性的指令表示处理器内的各种逻辑单元,当所述代表性的指令被机器读取时使机器制造用于执行本文所描述的技术的逻辑单元。被称为“IP核”的这样的表示可以存储在有形的、机器可读介质上,并且被提供给各个客户或生产设施,以便加载到实际制作逻辑单元或处理器的制造机器中。
本文所描述的图形处理技术可以在各种硬件架构中实现。例如,图形功能可以集成于芯片组内。或者,可以使用分立的图形处理器。举另一个实施例,图形功能可以由通用处理器(包括多核处理器)实现。
遍及本说明书对“一个实施例”或“一实施例”的引用表示结合实施例所述描述的特定特征、结构或特性包括在本发明内所体现的至少一个实现中。因此,短语“一个实施例”或“在一个实施例中”的出现未必是指相同的实施例。此外,特定的特征、结构或特性可以以除了示出的特定实施例之外的其它适当的形式来建立,并且所有这样的形式可以包含在本申请的权利要求内。
虽然已经针对有限数量的实施例描述了本发明,但是本领域技术人员将从中意识到众多修改和变化。所附的权利要求旨在覆盖落入本发明的真实精神和范围内的所有这样的修改和变化。
Claims (30)
1.一种方法,包括:
向过程单元的执行序列分配可重用的、可重新配置的、专用功能的图像处理过程单元;
重新配置序列中的过程单元以满足序列性能度量;以及
并行地运行多个序列。
2.根据权利要求1所述的方法,包括:使用在并行地运行的两个序列中的给定的过程单元。
3.根据权利要求1所述的方法,其中,重新配置包括:修改过程单元以满足序列功率预算。
4.根据权利要求3所述的方法,其中,重新配置包括:调整存储器带宽以调节功耗。
5.根据权利要求1所述的方法,包括:调整过程单元的电压或频率中的一项以控制温度或性能。
6.根据权利要求1所述的方法,包括:调整过程的每秒操作次数以满足序列性能度量。
7.根据权利要求1所述的方法,包括:调整过程单元的优先级以满足其序列的性能度量或总线仲裁度量。
8.根据权利要求1所述的方法,包括:在运行时间改变过程单元在序列中如何进行操作的方式以满足性能度量。
9.根据权利要求1所述的方法,包括:改变过程单元的存储器访问优先级级别以满足序列性能度量。
10.根据权利要求1所述的方法,其中,在所述序列期间动态地实现重新配置。
11.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储用于使得处理器进行以下操作的指令:
向过程单元的执行序列分配可重用的、可重新配置的、专用功能的图像处理过程单元;
重新配置序列中的过程单元以满足序列性能度量;以及
并行地运行多个序列。
12.根据权利要求11所述的介质,还存储用于使用在并行地运行的两个序列中的给定的过程单元的指令。
13.根据权利要求11所述的介质,还存储用于修改过程单元以满足序列功率预算的指令。
14.根据权利要求13所述的介质,还存储用于调整存储器带宽以调节功耗的指令。
15.根据权利要求11所述的介质,还存储用于调整过程单元的电压或频率中的一项以控制温度或性能的指令。
16.根据权利要求11所述的介质,还存储用于调整过程的每秒操作次数以满足序列性能度量的指令。
17.根据权利要求11所述的介质,还存储用于调整过程单元的优先级以满足其序列的性能度量或总线仲裁度量的指令。
18.根据权利要求11所述的介质,还存储用于在运行时间改变过程单元在序列中如何进行操作的方式以满足性能度量的指令。
19.根据权利要求11所述的介质,还存储用于改变过程单元的存储器访问优先级级别以满足序列性能度量的指令。
20.根据权利要求11所述的介质,还存储用于在所述序列期间动态地实现重新配置的指令。
21.一种装置,包括:
序列发生器,用于向过程单元的执行序列分配可重用的、可重新配置的、专用功能的图像处理过程单元,重新配置序列中的过程单元以满足序列性能度量,以及并行地运行多个序列;以及
耦合到所述序列发生器的存储器。
22.根据权利要求21所述的装置,所述序列发生器用于使用在并行地运行的两个序列中的给定的过程单元。
23.根据权利要求21所述的装置,所述序列发生器用于修改过程单元以满足序列功率预算。
24.根据权利要求23所述的装置,所述序列发生器用于调整存储器带宽以调节功耗。
25.根据权利要求21所述的装置,所述序列发生器用于调整过程单元的电压或频率中的一项以控制温度或性能。
26.根据权利要求21所述的装置,所述序列发生器用于调整过程的每秒操作次数以满足序列性能度量。
27.根据权利要求21所述的装置,所述序列发生器用于调整过程单元的优先级以满足其序列的性能度量或总线仲裁度量。
28.根据权利要求21所述的装置,所述序列发生器用于在运行时间改变过程单元在序列中如何进行操作的方式以满足性能度量。
29.根据权利要求21所述的装置,所述序列发生器用于改变过程单元的存储器访问优先级级别以满足序列性能度量。
30.根据权利要求21所述的装置,包括无线接口。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/067455 WO2013100923A1 (en) | 2011-12-28 | 2011-12-28 | Pipelined image processing sequencer |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104067309A true CN104067309A (zh) | 2014-09-24 |
Family
ID=48698167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075961.3A Pending CN104067309A (zh) | 2011-12-28 | 2011-12-28 | 流水线化的图像处理序列发生器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140063025A1 (zh) |
EP (1) | EP2801074A4 (zh) |
JP (1) | JP2015508528A (zh) |
KR (1) | KR20140099295A (zh) |
CN (1) | CN104067309A (zh) |
WO (1) | WO2013100923A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569221B1 (en) * | 2014-09-29 | 2017-02-14 | Amazon Technologies, Inc. | Dynamic selection of hardware processors for stream processing |
CN105989352B (zh) | 2015-03-06 | 2019-08-20 | 华为技术有限公司 | 图像识别加速器、终端设备及图像识别方法 |
WO2017163590A1 (ja) | 2016-03-24 | 2017-09-28 | 富士フイルム株式会社 | 画像処理装置、画像処理方法、及び画像処理プログラム |
EP3611722B1 (en) | 2018-08-13 | 2024-09-25 | Axis AB | Controller and method for reducing a peak power consumption of a video image processing pipeline |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026237A1 (en) * | 2001-08-06 | 2003-02-06 | Mohebbi Behzad Barjesteh | Cellular base station architecture with soft partitioning |
CN1475910A (zh) * | 2002-07-26 | 2004-02-18 | 松下电器产业株式会社 | 程序执行装置 |
US20040261076A1 (en) * | 2003-04-09 | 2004-12-23 | Sony Corporation | Program processing system, program processing method, and computer program |
CN1928918A (zh) * | 2005-10-14 | 2007-03-14 | 威盛电子股份有限公司 | 图形处理装置及于图形处理装置中执行着色操作的方法 |
CN101216932A (zh) * | 2008-01-03 | 2008-07-09 | 威盛电子股份有限公司 | 图形处理装置、单元与执行三角形配置、属性配置的方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167330A (en) * | 1998-05-08 | 2000-12-26 | The United States Of America As Represented By The Secretary Of The Air Force | Dynamic power management of systems |
JP3033575B1 (ja) * | 1999-02-17 | 2000-04-17 | 日本電気株式会社 | 画像処理装置 |
JP3450814B2 (ja) * | 2000-09-26 | 2003-09-29 | 松下電器産業株式会社 | 情報処理装置 |
TW591611B (en) * | 2002-03-01 | 2004-06-11 | Mediatek Inc | Method to control the integrated decoding unit to read the data in the merged memory device |
JP4613313B2 (ja) * | 2005-04-01 | 2011-01-19 | 国立大学法人 東京大学 | 画像処理システムおよび画像処理プログラム |
US7426621B2 (en) * | 2005-12-09 | 2008-09-16 | Advanced Micro Devices, Inc. | Memory access request arbitration |
US8291256B2 (en) * | 2006-02-03 | 2012-10-16 | National University Corporation Kobe University | Clock stop and restart control to pipelined arithmetic processing units processing plurality of macroblock data in image frame per frame processing period |
US8099583B2 (en) * | 2006-08-23 | 2012-01-17 | Axis Semiconductor, Inc. | Method of and apparatus and architecture for real time signal processing by switch-controlled programmable processor configuring and flexible pipeline and parallel processing |
US7940261B2 (en) * | 2007-01-10 | 2011-05-10 | Qualcomm Incorporated | Automatic load balancing of a 3D graphics pipeline |
US8141089B2 (en) * | 2007-01-11 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for reducing contention for computer system resources using soft locks |
US8203564B2 (en) * | 2007-02-16 | 2012-06-19 | Qualcomm Incorporated | Efficient 2-D and 3-D graphics processing |
US9870629B2 (en) * | 2008-06-20 | 2018-01-16 | New Bis Safe Luxco S.À R.L | Methods, apparatus and systems for data visualization and related applications |
JP2010134743A (ja) * | 2008-12-05 | 2010-06-17 | Panasonic Corp | 画像処理装置 |
JP2010198203A (ja) * | 2009-02-24 | 2010-09-09 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
JP2011076513A (ja) * | 2009-10-01 | 2011-04-14 | Olympus Corp | 分散処理システム |
JP2011160424A (ja) * | 2010-01-29 | 2011-08-18 | Toshiba Corp | 複合機 |
US8390433B2 (en) * | 2010-04-09 | 2013-03-05 | Eigent Technologies Inc. | Method and system for low cost, power efficient, wireless transponder devices with enhanced functionality |
-
2011
- 2011-12-28 CN CN201180075961.3A patent/CN104067309A/zh active Pending
- 2011-12-28 KR KR1020147017647A patent/KR20140099295A/ko not_active Application Discontinuation
- 2011-12-28 JP JP2014548774A patent/JP2015508528A/ja active Pending
- 2011-12-28 EP EP11878727.4A patent/EP2801074A4/en not_active Withdrawn
- 2011-12-28 US US13/993,767 patent/US20140063025A1/en not_active Abandoned
- 2011-12-28 WO PCT/US2011/067455 patent/WO2013100923A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030026237A1 (en) * | 2001-08-06 | 2003-02-06 | Mohebbi Behzad Barjesteh | Cellular base station architecture with soft partitioning |
CN1475910A (zh) * | 2002-07-26 | 2004-02-18 | 松下电器产业株式会社 | 程序执行装置 |
US20040261076A1 (en) * | 2003-04-09 | 2004-12-23 | Sony Corporation | Program processing system, program processing method, and computer program |
CN1928918A (zh) * | 2005-10-14 | 2007-03-14 | 威盛电子股份有限公司 | 图形处理装置及于图形处理装置中执行着色操作的方法 |
CN101216932A (zh) * | 2008-01-03 | 2008-07-09 | 威盛电子股份有限公司 | 图形处理装置、单元与执行三角形配置、属性配置的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013100923A1 (en) | 2013-07-04 |
KR20140099295A (ko) | 2014-08-11 |
JP2015508528A (ja) | 2015-03-19 |
EP2801074A4 (en) | 2016-03-16 |
US20140063025A1 (en) | 2014-03-06 |
EP2801074A1 (en) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959235B (zh) | 在操作系统初始化过程中显示多媒体数据的技术 | |
CN104782136B (zh) | 在云中处理视频数据 | |
CN104951263B (zh) | 避免向显示器发送未改变的区域 | |
CN104012059B (zh) | 协处理器之间的直接链路同步通信 | |
CN105556421B (zh) | 使用动态存储i/o调整大小来节约存储功率的系统和方法 | |
CN103959200A (zh) | 自适应图像子系统功率和性能管理 | |
CN103959197B (zh) | 降低3d工作负荷的功率 | |
CN104035540B (zh) | 在图形渲染期间降低功耗 | |
CN104205161A (zh) | 用于块压缩图象的解压缩的系统、方法和计算机程序产品 | |
CN103988190A (zh) | 用于通过外部显示-数据i/o端口来扩展图形处理的方法、设备及系统 | |
CN103959198A (zh) | 降低3d工作负荷的功率 | |
CN103632337A (zh) | 实时的顺序无关透明渲染 | |
CN103581728A (zh) | 基于焦点确定对解码的视频帧的选择性后处理背景 | |
JP6182225B2 (ja) | カラーバッファ圧縮 | |
CN104067309A (zh) | 流水线化的图像处理序列发生器 | |
CN104094603B (zh) | 用于在视频编码系统中进行集成元数据插入的系统和方法 | |
CN114925651A (zh) | 一种电路走线确定方法及相关设备 | |
CN104090849A (zh) | 用于图形处理单元的存储器映射 | |
EP4377844A1 (en) | Mixing sparsity compression | |
CN104937551A (zh) | 用于图形设备的上下文感知功率管理 | |
CN104737198A (zh) | 在输入几何对象粒度上记录可见度测试的结果 | |
CN104054049B (zh) | 用于复制源数据从而实现对源数据的并行处理的方法和系统 | |
US20240355111A1 (en) | Dynamic layer partitioning for incremental training of neural radiance fields | |
CN104221393A (zh) | 内容自适应视频处理 | |
CN104011789A (zh) | 减少用于在屏幕上显示多个图像的显示控制器中使用的缩放引擎的数量 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140924 |
|
RJ01 | Rejection of invention patent application after publication |