CN116114263A - 用于集成图像信号处理的方法和设备 - Google Patents
用于集成图像信号处理的方法和设备 Download PDFInfo
- Publication number
- CN116114263A CN116114263A CN202180050123.4A CN202180050123A CN116114263A CN 116114263 A CN116114263 A CN 116114263A CN 202180050123 A CN202180050123 A CN 202180050123A CN 116114263 A CN116114263 A CN 116114263A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- rpd
- interface
- rfd
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 217
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000003860 storage Methods 0.000 claims description 43
- 230000008672 reprogramming Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 13
- 230000015654 memory Effects 0.000 abstract description 111
- 230000008569 process Effects 0.000 abstract description 65
- 230000006870 function Effects 0.000 abstract description 39
- 238000013135 deep learning Methods 0.000 abstract description 14
- 238000013461 design Methods 0.000 description 39
- 239000004744 fabric Substances 0.000 description 20
- 238000003384 imaging method Methods 0.000 description 15
- 239000010410 layer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000003672 processing method Methods 0.000 description 12
- 241000282414 Homo sapiens Species 0.000 description 11
- 238000003491 array Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011112 process operation Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 101001006370 Actinobacillus suis Hemolysin Proteins 0.000 description 1
- 241000251468 Actinopterygii Species 0.000 description 1
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 208000015976 Corneal dystrophy-perceptive deafness syndrome Diseases 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001102 characteristic energy-loss spectroscopy Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/617—Upgrading or updating of programs or applications for camera control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
- H04N25/75—Circuitry for providing, modifying or processing image signals from the pixel array
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/76—Addressed sensors, e.g. MOS or CMOS sensors
- H04N25/77—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components
- H04N25/772—Pixel circuitry, e.g. memories, A/D converters, pixel amplifiers, shared circuits or shared components comprising A/D, V/T, V/F, I/T or I/F converters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/79—Arrangements of circuitry being divided between different or multiple substrates, chips or circuit boards, e.g. stacked image sensors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Color Television Image Signal Generators (AREA)
Abstract
方法和设备用于使用可重新配置的结构装置(RED)代替多个离散IC而执行图像处理。在一个实施例中,使用灵活的经时分时间表,并且所述处理被配置成通过至少以下操作来处理图像传感器数据:(i)接收RAW图像数据,对RED进行编程以用作例如图像信号处理器(ISP)等第一功能单元,使用经编程RFD对所述RAW图像数据执行图像信号处理,将ISP结果存储在临时存储器中;以及(ii)对所述RED进行编程以用作第二功能单元(例如,深度学习加速器(DLA)),使用经编程RED从所述临时存储器读出ISP结果,对所述ISP结果执行深度学习处理,并且将DLA结果存储回到所述临时存储器中。在一个变型中,一种裸片上控制器和存储器用于支持RED操作中,从而实现单裸片处理解决方案。
Description
相关申请的交叉引用
本申请要求共同拥有且共同待决的题为“用于集成图像信号处理的方法和设备(METHODS AND APPARATUS FOR INTEGRATED IMAGE SIGNAL PROCESSING)”且于2020年8月10日提交的美国专利申请第16/989,724号的优先权益。
另外,本申请的主题大体上涉及共同拥有且共同待决的于2018年6月7日提交且题为“形成于存储器单元阵列中的图像处理器(AN IMAGE PROCESSOR FORMED IN AN ARRAYOF MEMORY CELLS)”的美国专利申请第16/002,644号以及于2020年5月14日提交且题为“用于对图像数据执行分析的方法和设备(METHODS AND APPARATUS FOR PERFORMINGANALYTICS ON IMAGE DATA)”的第16/874,504号的主题的部分,所述申请中的每一者以全文引用的方式并入本文中。
技术领域
本公开涉及对图像内容的处理,并且更具体地说,在一个示范性方面中涉及使用单个可重新配置的结构来执行信号处理的多个阶段。
背景技术
现有图像捕获装置(例如,数码相机)捕获例如呈RAW格式(其应用最少处理)的图像数据,且执行多个基于软件的处理步骤以便将例如RAW图像数据变换为准备好进行利用,例如经由无线或有线接口进行传输的经编码图像文件。RAW数据通常不用于消费者利用或消耗的目的,这是由于在通过例如CMOS或CCD成像集成电路(IC)等传感器捕获之后其最小处理状态。
虽然此类基于软件的处理在某些情形下具有优点,但其通常比基于硬件的数据处理慢得多,且从“用户体验”的角度来看可能不适合更密集的应用程序;即,其可产生冗长的处理时间。因而,图像捕获装置通常使用专用集成电路(ASIC)来执行各种过程。ASIC往往缺乏灵活性(例如,由于其为制造电路,因此几乎没有与典型ASIC相关联的“可重新编程性”),但其在速度方面进行弥补。
图像捕获装置可捕获前述RAW数据,且将其变换为准备好经由一系列大体顺序步骤而传送到另一装置的经处理且经编码图像。整个过程可包含例如:(i)经由图像信号处理器(ISP)或传感器数据处理器(SDP)芯片将所述RAW数据变换到图像中,(ii)将图像数据编码到规定编码格式中;(iii)经由基带处理器(BBP)芯片处理经编码图像数据,例如用于经由例如无线接口进行传输,(iv)经由数字频率处理器(DFP)芯片调制成数字波形(例如利用OFDM传输器),以及(iv)经由射频(RF)芯片传输所述波形。
在一些情况下,虽然一些过程可聚合(例如,经由包含ISP内的编码器或基带处理功能与OFDM处理器的组合),但多个离散IC,例如多达六个,可用以恰当地处理所捕获的图像以供传输。
图1A示出一种此类多芯片现有技术方法(为了清楚起见,从视图中消除了各种其它支撑组件)。图1B示出使用图1A的装置处理图像数据的一个逻辑流程150。在此实例中,来自传感器112的RAW图像数据152被馈送到ISP芯片114,所述ISP芯片对图像数据执行图像信号处理154且将经ISP处理的图像数据馈送到编码器芯片118。编码器芯片118读取经深度学习加速器(DLA)处理的图像数据,对图像数据进行压缩/量化/编码158,并且将经编码图像馈送到BBP芯片120。BBP芯片120读取经编码图像数据,进一步处理160以供传送,并且将结果传输到DFP芯片122。DFP芯片122读取经BBP处理的数据,将图像数据调制162成数字波形,例如以供跨越前述基于OFDM的接口的时频资源而分布。RF芯片124采用经调制数字波形,变换164到模拟域(且可包含频率的上变频),并且使用一或多个传输天线126无线地传输166数据。此多过程操作的方面可由逻辑/控制单元130控制。
多年来,技术改进已允许图1A中所展示的个别处理芯片的大小显著减小。然而,多个处理芯片(各自含于个别封装内)和其互连件具有显著较高的板空间要求,并且通常总体上将消耗大量电力。
另外,各种处理器芯片之间的多个物理和电气接口有时可对通过整个系统的信息的传送速率施加限制。当以此串行化方式进行处理时,这尤其如此;所述处理总体上仅与其最慢“链路”一样快。一般来说,“更长”的电导体(例如,封装引出线/插脚引线和支撑封装所需的PCB迹线)还可在极高数据速率下呈现电磁噪声问题。
在一些情况下,个别封装还可比假定的单芯片解决方案消耗更多电力。
此外,例如ASIC等专用电路通常不允许在制造过程之后实施任何灵活性或修改。
因此,基于前述内容,需要改进的方法和设备,其使得能够使用具有比常规成像捕获装置少的组件的集成电路系统(且使用较少的板空间和/或互连件)对成像内容进行处理。此外,这些方法和设备应使得能够增加装置系统内的图像处理的灵活性。
发明内容
本公开通过尤其提供用于实现对包含高分辨率成像内容的图像数据的处理的方法和设备来满足前述需要。
在本公开的一个方面中,描述一种用于在计算机化装置内执行图像数据处理的方法。在一个实施例中,所述方法包含:从至少一个图像传感器获得呈第一格式的图像数据;对可重新编程的处理装置(RPD)进行编程以对所获得的图像数据的至少部分执行第一操作;使用经编程RPD处理所述所获得的图像数据的所述至少部分以产生第一输出数据;对所述RPD进行重新编程以对所述第一输出数据的至少部分执行第二操作;以及使用经重新编程RPD处理所述第一输出数据的所述至少部分以产生第二输出数据。
在所述方法的一个变型中,使用所述经编程RPD对所述所获得的图像数据的所述至少部分进行编程和处理是在第一时隙期间执行;并且使用所述经重新编程RPD对所述第一输出数据的所述至少部分进行重新编程和处理是在所述第一时隙之后的第二时隙期间执行。
在其一个实施方案中,所述第一和第二时隙具有不同的时距。可例如特别产生或根据规定时间表产生所述第一和第二时隙。
在另一实施方案中,所述第一和第二时隙具有相同的时距,并且各自在所述编程之前产生。
在又一实施方案中,所述第一和第二时隙具有不同的时距,并且各自包括至少一个规定微时隙,所述至少一个微时隙参考所述RPD的时钟参考。
在所述方法的另一变型中,从至少一个图像传感器获得呈第一格式的图像数据包括获得呈RAW格式的图像数据;对可重新编程的处理装置(RPD)进行编程以对所述所获得的图像数据的至少部分执行第一操作包括对所述可重新编程的处理装置(RPD)进行编程以将所述所获得的图像的所述至少部分从所述RAW格式转换为图像格式;并且对所述RPD进行重新编程以对所述第一输出数据的至少部分执行第二操作包括对所述可重新编程的处理装置(RPD)进行编程以应用拜耳滤波器。
在另一变型中,对所述RPD进行重新编程以对所述第二输出数据的至少部分执行第三操作;并且使用经重新编程RPD处理所述第二输出数据的所述至少部分以产生第三输出数据。所述第三输出数据包括例如根据有损编码格式而被编码的经编码图像数据。
在本公开的另一方面中,描述一种计算机化图像捕获和处理设备。在一个实施例中,所述设备包含:至少一个图像传感器;至少一个可重新编程的处理装置(RPD),其与所述至少一个图像传感器进行数据通信;至少一个存储装置,其与所述至少一个RPD进行数据通信;以及至少一个控制器,其与所述至少一个RPD进行数据通信。在其一个变型中,所述设备被配置成实施计算机化逻辑,从而使所述至少一个RPD装置至少:使用第一处理配置来处理由所述至少一个图像传感器输出的第一数据以产生第二数据;使用第二处理配置来处理所述第二数据以产生第三数据;并且使用第三处理配置来处理所述第三数据以产生第四数据。
在另一变型中,所述至少一个控制器进一步被配置成实施计算机化逻辑,从而使所述至少一个RPD装置至少:存取所述至少一个存储装置的至少部分以获得所述第一数据;存取所述至少一个存储装置的至少部分以获得所述第二数据;并且存取所述至少一个存储装置的至少部分以获得所述第三数据。在其一个实施方案中,用以获得所述第一数据、第二数据和第三数据的所述存取中的每一者以及所述第一数据、第二数据和第三数据的所述处理中的每一者根据由所述至少一个控制器至少部分地产生的时间表而发生。
在另一变型中,所述至少一个RPD、所述至少一个存储装置和所述至少一个控制器各自含于共同集成电路(IC)封装内。
在另一变型中,所述至少一个RPD包括可以多个不同组合在逻辑上进行组合的多个电路逻辑元件,所述多个不同组合中的第一者对应于所述第一处理配置,所述多个不同组合中的第二者对应于所述第二处理配置,并且所述多个不同组合中的第三者对应于所述第三处理配置。在其一个实施方案中,所述至少一个RPD包括带有所述多个电路逻辑元件的现场可编程门阵列(FPGA)设备,所述电路逻辑元件的至少部分包括在硬件中显现的逻辑。
在本公开的另一方面中,描述一种被配置成与例如图像捕获和处理设备一起使用的可重新编程的集成电路设备。在一个实施例中,所述可重新编程的集成电路设备包括:至少一个第一数据接口;至少一个第二数据接口;控制器接口;以及计算机化逻辑,其被配置成在经由所述控制器接口而接收的信号的控制下:经由所述至少一个第一接口接收第一数据;使用第一处理配置来处理所述第一数据以产生第二数据;经由所述至少一个第二数据接口将所述第二数据输出到存储装置;将所述计算机化逻辑重新配置到第二处理配置;经由所述至少一个第二接口从所述存储装置存取所述第二数据;使用所述第二处理配置来处理所存取的第二数据以产生第三数据;经由所述至少一个第二数据接口将所述第三数据输出到所述存储装置;将所述计算机化逻辑重新配置到第三处理配置;经由所述至少一个第二接口从所述存储装置存取所述第三数据;并且使用所述第三处理配置来处理所存取的第三数据以产生第四数据。
在一个变型中,所述IC设备进一步包括:所述存储装置,其与所述至少一个第二接口进行数据通信;以及控制器逻辑,其与所述控制器接口进行通信;并且其中所述存储装置、所述控制器逻辑、所述至少一个第一数据接口、所述至少一个第二数据接口、所述控制器接口和所述计算机化逻辑都是一体式集成电路封装的部分。在其一个实施方案中,所述存储装置包括动态随机存取存储器(RAM)装置;并且所述计算机化逻辑包括具有多个逻辑单元或块的可重新配置的处理结构。
在所述IC设备的另一变型中,所述计算机化逻辑被配置成使得:使用第一处理配置来至少处理所述第一数据以产生所述第二数据以及经由所述至少一个第二数据接口将所述第二数据输出到所述存储装置是在第一时间段期间发生;经由所述至少一个第二接口从所述存储装置至少存取所述第二数据以及使用所述第二处理配置来处理所存取的第二数据以产生所述第三数据以及经由所述至少一个第二数据接口将所述第三数据输出到所述存储装置是在第二时间段期间发生;并且经由所述至少一个第二接口从所述存储装置至少存取所述第三数据以及使用所述第三处理配置来处理所存取的第三数据以产生所述第四数据是在第三时间段期间发生。
在其一个实施方案中,所述第一、第二和第三时间段包括不同持续时间的非重叠时间段,并且所述IC设备进一步包含时钟电路;并且所述第一、第二和第三时间段各自包括由所述时钟电路产生的时钟周期或其它时钟相关参数的整数倍数。
在所述IC设备的另一变型中,所述存储装置包括多个可独立存取的存储区域,所述至少一个第二数据接口包括与所述多个可独立存取的存储区域中的相应者相对应的多个第二数据接口。
在另一方面中,公开一种用于使用可重新配置的处理装置(RPD)执行多步骤处理的方法。在一个实施例中,所述RPD包括可重新配置的结构装置(RFD),并且单独处理步骤在单独时隙期间执行。在一个变型中,所述方法包含:(i)将所述RFD编程为具有第一电路设计,指示所述RFD根据所述第一电路设计的原理来处理初始数据以获得第一结果数据且将过程的所述第一结果数据写入到存储器中;以及(ii)将所述RFD重新编程为具有第二电路设计,指示所述RFD读取所述第一结果数据、根据所述第二电路设计的原理来处理所述第一结果数据以获得第二结果数据并且将所述第二结果数据写入到所述存储器中。所述方法可进一步包含:(iii)将所述RFD重新编程为具有第三电路设计,指示所述RFD读取所述第二结果数据、根据所述第三电路设计的原理来处理所述第二结果数据以获得第三结果数据并且将所述第三结果数据输出到外部装置。
在一个变型中,所述第一电路设计包括图像信号处理(ISP)电路设计,并且所述初始数据包括从相机或其它成像装置的一或多个CMOS或CCD图像传感器获得的RAW图像数据。
在一个实施方案中,对所述RFD进行编程/重新编程包含使用软件可编程重新配置(SPR)方法或部分重新配置(PR)方法中的至少一者对所述RFD内的物理结构作出改变。
在一个变型中,所述第一电路设计是图像信号处理器设计,所述第二电路设计是深度学习加速器设计,并且所述第三电路设计是编码器电路设计。在另一变型中,所述第一电路设计是深度学习加速器设计,所述第二电路设计是图像信号处理设计,并且所述第三电路设计是编码器电路设计。
在另一方面中,公开一种用于使用可重新配置的结构装置(RFD)执行多步骤图像处理的方法。在一个实施例中,所述方法包含:(i)接收RAW图像数据,对RFD进行编程以用作图像信号处理器(ISP),使用经编程RFD对所述RAW图像数据执行图像信号处理,将ISP结果存储在临时存储器中;以及(ii)对所述RFD进行编程以用作深度学习加速器(DLA),使用经编程RFD从所述临时存储器读出ISP结果,对所述ISP结果执行深度学习处理,并且将DLA结果存储回到所述临时存储器中。
所述方法可进一步包含:(iii)对所述RFD进行编程以用作编码器,使用经编程RFD从所述临时存储器读出DLA结果,执行编码,并且将经编码图像数据存储回到所述存储器中;(iv)对所述RFD进行编程以用作基带处理器(BBP),使用经编程RFD从存储器读取所述经编码图像数据,执行基带处理,并且将BBP结果写入到临时存储器;(v)对所述RFD进行编程以用作数字频率处理器(DFP),使用经编程RFD从存储器读取BBP结果,执行数字频率处理,并且将DFP结果写入到临时存储器;以及(vi)对所述RFD进行编程以用作射频处理器(RFP),使用经编程RFD从存储器读取DFP结果,执行射频处理,将结果输出到外部装置。在一个变型中,使用天线传输所述结果。在一个实施例中,在单独时隙期间执行单独的RFD编程和RFD操作步骤。
在本公开的一个方面中,一种使用可重新配置的结构装置(RFD)执行第一多步骤图像处理操作、将所述第一多步骤图像处理操作修改成第二多步骤图像处理操作以及使用所述可重新配置的结构装置执行所述第二多状态图像处理操作的方法。在一个实施例中,所述第一多步骤图像处理操作依次包含:将所述RFD编程为具有第一电路设计,指示所述RFD根据所述第一电路设计的原理处理数据,以及将所述RFD编程为具有第二电路设计;并且所述第二多步骤图像处理操作依次包含:将所述RFD编程为具有所述第二电路设计,指示所述RFD处理以根据所述第二电路设计的原理处理数据,以及将所述RFD编程为具有所述第一电路设计。
在另一方面中,公开一种图像捕获装置,其包含至少一个图像传感器、收发器/接收器以及集成电路。在一个实施例中,所述集成电路包含一或多个控制单元处理器、一或多个存储器装置以及一或多个可重新配置的结构装置(RFD)。在一个实施例中,所述控制单元被配置成通过电互连件将指令提供到所述RFD和所述存储器装置。在一个变型中,所述存储器装置与所述RFD成一体。在另一变型中,所述存储器装置是与所述RFD分离的组件。
在另一实施例中,所述RFD包含内部处理器、内部存储器和可重新配置的结构。所述可重新配置的结构包含可配置逻辑块(CLB)、开关和互连件的一或多个阵列。在一个变型中,所述CLB阵列竖直地堆叠在三维阵列中。在另一变型中,所述CLB阵列在二维“阵列组”中彼此邻近地安置。
在本公开的额外方面中,描述一种计算机可读设备。在一个实施例中,所述设备包含被配置成存储一或多个计算机程序的存储媒体,例如上述控制器的控制系统逻辑模块。在一个实施例中,所述设备包含程序存储器或HDD或SSD,并且是图像捕获和处理装置的部分。
在另一方面中,公开并描述一种实施前述方面中的一或多者的集成电路(IC)装置。在一个实施例中,所述装置包含多逻辑块FPGA装置。在另一实施例中,所述IC装置体现为片上系统(SoC)装置。在另一实施例中,专用IC(ASIC)用作所述装置的至少部分的基础。在又一实施例中,公开一种芯片组(即,以协调方式使用的多个IC)。
所属领域的一般技术人员参考附图和下文给出的示范性实施例的详细描述将立即认识到本公开的其它方面、特征和优点。
附图说明
所公开的实施例具有其它优点和特征,通过结合附图进行的本发明的以下详细描述和所附权利要求书将更容易地了解所述其它优点和特征,在附图中:
图1A是示出现有技术图像捕获装置和其中利用的各种IC的框图。
图1B是使用图1A的装置的多步骤图像处理方法的图解说明。
图2A是根据本公开的各种方面的示出包含可重新编程的结构装置(RFD)的图像捕获和处理装置的一个实施例的框图。
图2B是示出包含布置成背靠背配置的多个“鱼眼”或半球形传感器和RFD的图像捕获和处理装置的另一实施例的框图。
图2C是示出包含多个传感器和RFD以及用于连接到例如LAN/WAN/MAN的高速接口的图像捕获和处理装置的另一实施例的框图。
图3是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的一个实施例的图解说明。
图3A是示出使用RFD的图3的方法的一个示范性实施方案的时序图。
图4是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。
图5是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。
图6是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的又一实施例的图解说明。
图7是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。
图8是根据本公开的各种方面的可重新配置的结构装置(RFD)的一个实施例的框图。
图9是根据本公开的示出编程并操作RFD的方法的一个示范性实施例的逻辑流程图。
具体实施方式
现参考图式,其中相同数字贯穿各图指代相同部分。
如本文中所使用,术语“应用程序(application)”或“应用程序(app)”通常是指但不限于实施特定功能性或主题的可执行软件单元。应用程序的主题在任何数目个学科和功能上都有广泛的差异(例如按需内容管理、电子商务交易、经纪事务、家庭娱乐、计算器等),且一个应用程序可具有多于一个主题。可执行软件单元通常在预定环境中运行;例如所述单元可包含在操作系统环境内运行的可下载应用程序。如本文中所使用的应用程序还可包含所谓的“容器化”应用程序以及其执行和管理环境,例如虚拟机(VM)以及Docker和Kubernetes。
如本文中所使用,术语“计算机程序”或“软件”意味着包含任何序列或执行功能的人类或机器可识别步骤。此程序可用几乎任何编程语言或环境再现,包含例如C/C++、Fortran、COBOL、PASCAL、汇编语言、标记语言(例如,HTML、SGML、XML、VoXML)等,以及面向对象的环境,例如公共对象请求代理架构(CORBA)、JavaTM(包含J2ME、Java Beans等)、寄存器传送语言(RTL)、极高速集成电路(VHSIC)硬件描述语言(VHDL)、Verilog等。
如本文中所使用,术语“因特网(Internet)”和“因特网(internet)”可互换地使用以指代互联网络,包含但不限于因特网。其它常用实例包含但不限于:外部服务器的网络、“云端”实体(例如不在装置本地的存储器或存储装置,通常可经由网络连接在任何时间存取的存储装置等)、服务节点、存取点、控制器装置、客户端装置等。存在于回程、前传、交叉传输或其靠近住宅、商业和其它占用区域的“边缘”中的5G服务核心网络和网络组件(例如,DU、CU、gNB、小型小区或毫微微小区、支持5G的外部节点)可包含在“因特网”中。
如本文中所使用,术语“存储器”包含任何类型的集成电路或适用于存储数字数据的其它存储装置,包含但不限于随机存取存储器(RAM)、假静态RAM(PSRAM)、动态RAM(DRAM)、包含双数据速率(DDR)类存储器和图形DDR(GDDR)以及其变型的同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、只读存储器(ROM)、可编程ROM(PROM)、电可擦除PROM(EEPROM或E2PROM)、DDR/2SDRAM、EDO/FPMS、减少等待时间的DRAM(RLDRAM)、静态RAM(SRAM)、“快闪”存储器(例如,NAND/NOR)、相变存储器(PCM)、3维交叉点存储器(3DXpoint)、例如HBM/HBM2的堆叠存储器,以及磁阻式RAM(MRAM),例如自旋力矩转移RAM(STT RAM)。
如本文中所使用,术语“微处理器”和“处理器”或“数字处理器”通常意图包含所有类型的数字处理装置,包含但不限于数字信号处理器(DSP)、图形处理单元(GPU)、精简指令集计算机(RISC)、通用处理器(GPP)、微处理器、门阵列(例如,FPGA)、PLD、可重新配置的计算机结构(RCF)、RPD(例如,RFD)阵列处理器、安全微处理器,以及专用集成电路(ASIC)。此类数字处理器可包含在单个一体式IC裸片上或跨多个组件分布。
如本文中所使用,术语“可重新配置的处理装置(RPD)是指但不限于包含可被重新配置或重新编程以用于不同目的或功能的一或多个处理元件的装置。RPD的一个实施方案或种类是可重新配置的结构装置(RFD),其中利用多个处理元件的结构状架构。
如本文中所使用,术语“服务器”是指任何形式的任何计算机化组件、系统或实体,其适用于将数据、文件、应用程序、内容或其它服务在计算机网络上提供到一或多个其它装置或实体。
如本文中所使用,术语“存储装置”是指但不限于计算机硬盘驱动器(例如,硬盘驱动器(HDD)、固态硬盘(SDD))、快闪驱动器、DVR装置、存储器、RAID装置或阵列、光学媒体(例如,CD-ROM、激光光盘、蓝光等),或能够存储内容或其它信息的任何其它装置或媒体,包含能够在不存在电源的情况下维持数据的半导体装置(例如,本文中描述为存储器的那些半导体装置)。
如本文中所使用,术语“Wi-Fi”是指在适用时不限于IEEE标准802.11或相关标准的任何变型,包含802.11 a/b/g/n/s/v/ae/ad/av/ax/ay/ba/be或802.11-2012/2013、802.11-2016,以及直连Wi-Fi(尤其包含“Wi-Fi对等(P2P)规范”,其以全文引用的方式并入本文中)。
如本文中所使用,术语“无线”表示任何无线信号、数据、通信或其它接口,包含但不限于Wi-Fi、蓝牙/BLE、3G/4G/4.5G/5G/B5G(3GPP/3GPP2)、HSDPA/HSUPA、TDMA、CBRS、CDMA(例如,IS-95A、WCDMA等)、FHSS、DSSS、GSM、PAN/802.15、WiMAX(802.16)、802.20、Z波、窄带/FDMA、OFDM、PCS/DCS、LTE/LTE-A/LTE-U/LTE-LAA、模拟蜂窝、CDPD、卫星系统、毫米波或微波系统、声学和红外(即,IrDA)。
概述-
本公开尤其提供用于通过利用可重新配置的结构装置或RFD来执行数据(例如,图像数据)信号处理的方法和设备。在一个实施例中,RFD包含多个可配置逻辑块(CLB),所述多个可配置逻辑块在被配置成用于特定处理操作或任务时有利地提供软件和硬件实施方案两者的一些属性;即,灵活性/可重新编程性和处理速度两者。
在一个示范性方法中,根据分片协议在相同RFD上连续地实施正常图像数据处理链或管线的步骤。可重新配置的结构在多过程操作的不同阶段以物理方式被重新配置以用作不同处理装置。系统不需要存在多个专用处理芯片(以及其个别封装和互连件)来执行多处理操作。
此外,如将由具有专用处理IC的集成电路规定,系统在制造后有利地不限于特定过程集合(或以特定次序执行过程集合)。
此外,相较于软件解决方案,可重新配置的装置提供图像数据处理中通常所需的快速基于硬件的处理以增强例如使用主机成像装置的用户体验方面。在一些应用中,与利用多个离散芯片的可比解决方案相比,主机装置在大小上可有利地更小且消耗更少电力(且因此延长移动装置的电池寿命)。
示范性实施例的详细描述
现在详细地描述本公开的设备和方法的示范性实施例。虽然在特定成像装置、集成电路和/或存储器配置的上下文中描述了这些示范性实施例,但本公开的一般原理和优点可扩展到其它类型的装置、处理器、IC和/或存储器技术,因此下文本质上仅为示范性的。
还将了解,虽然大体上在消费型装置的上下文中(例如,在相机装置、视频编解码器或蜂窝电话或平板计算机内)描述,但本公开可易于适用于其它类型的装置,包含例如专业相机或成像装置(例如,用于电影制作用途)、服务器装置、物联网(IoT)装置和/或用于个人、公司或甚至政府用途,例如低轨道成像或侦察平台(例如,卫星),或其它类型的航天器。所属领域的一般技术人员在本公开的情况下将了解其它应用。
所属领域的一般技术人员参考附图和下文给出的示范性实施例的详细描述将立即认识到本公开的其它特征和优点。
成像设备-
现参考图2A至2C,展示并详细地描述图像捕获装置和相关联设备的示范性实施例。在本公开的情况下,所属领域的一般技术人员将了解,可根据本公开利用其它配置和/或特征组合,图2A至2C的实施例仅为说明性的。
图2A示出根据本公开的方面的第一示范性图像装置200。装置200包含图像传感器112、天线126和集成电路210。集成电路210包含可重新配置的结构装置(RFD)220、控制单元230和存储器单元240(例如,DRAM)。如本文中随后更详细地描述,可重新编程的结构装置220可被配置成基于其从控制单元230(和取决于配置的例如内部代码等其它源)接收的数据/命令而用作各种类型的电路。举例来说,取决于利用哪些可配置逻辑块(CLB),可重新配置的结构装置可被配置为图像信号处理(ISP)电路、深度学习加速器(DLA)电路、基带处理(BBP)电路等;参见本文中随后提供的图9的论述。
控制单元230可为含有电路配置信息、时钟、交换/协调逻辑以及其它逻辑和/或算法的数字处理器或微控制器,所述其它逻辑和/或算法被配置成用于协调RFD 220上的各种不同过程的执行。虽然示出一个RFD、一个控制单元和一个存储器单元,但所属领域的技术人员将认识到,可在各种配置中实施多个RFD、控制单元和存储器,其中图2B和2C描绘与本公开的较广泛原理一致的可能替代配置中的仅一些配置。
此外,可利用所展示的各种功能组件的集成或分离。举例来说,在一个实施例中,传感器IC 112可与可重新配置的结构装置220集成,包含作为IC 210的部分。集成电路210同样可为较大集成电路封装或芯片组的部分。控制器逻辑230还可集成在存储器或RFD功能内,例如在基于FPGA的装置内,所述基于FPGA的装置具有集成在其中的RISC或其它处理器核心以执行控制器代码。
在一个实施方案中,现场可编程门阵列(FPGA)集成电路用作RFD的基础。众所周知,FPGA通常可被设计成在制造后进行配置和/或重新配置。FPGA通常含有输入/输出电极、可配置逻辑块(CLB)和交换矩阵互连件。FPGA还可包含内部存储器装置、微处理器和可能有助于的其它元件。现代可重新配置的结构装置(例如,FPGA加速器板)越来越快速且高效,并且可支持极大且复杂的应用,包含加密、压缩和加速应用。在本文中关于图2A所描述的示范性实施方案中,FPGA装置进一步被配置成用于“快速开关”重新配置;即,在控制器逻辑230的控制下,RFD可被快速重新配置(例如,在规定数目个时钟周期内,包含并行地进行一些操作——参见本文中图3A的论述)以便相对于不可重新配置的装置而避免任何显著时间或效率损失。
图2B是示出图像捕获和处理装置的另一实施例的框图,包含多个“鱼眼”或半球形传感器112和RFD,所述传感器被布置成背靠背配置,例如以供360度观看。在架构250的此实施例中,存储器240和控制逻辑230实际上由两个RFD 220共享,并且后处理逻辑模块251用以对由相应RFD 220处理的图像数据进行后处理。举例来说,此后处理可包含将来源于每一传感器/RPD链的图像在其已经过适当预处理(包含从RAW格式进行转换、拜耳滤波器和马赛克操作等之后一起接合或以算法方式“拼接”成共同图像。可随后经由调制解调器252(例如,3GPP 4G或5G接口、Wi-Fi 802.11ax或802.11be接口等等)将经后处理的图像传输到装置外210。
图2C是示出包含多个传感器和RFD以及用于连接到例如LAN/WAN/MAN的高速接口的图像捕获和处理装置的另一实施例的框图。此架构270可用于例如电影制作或其它此类专业级电影相机,所述电影制作或其它此类专业级电影相机利用多个传感器/成像装置,例如以供在电影制作期间产生全景或透视图(包含合成图)。如同图2B的实施例一样,此架构270利用支持每一成像传感器(或传感器阵列)的单独RFD 280,以及共同控制单元230和存储器240,但应了解,可使用专用控制器/存储器装置。如所展示,高速网络数据接口272还耦合到每一RFD 280的输出,由此实现经处理数据(包含其处理中不完整的数据)在装置外的传送,例如传送到LAN/MAN/WAN 276,例如因特网和云端处理实体277,例如远程服务器或服务器“农场”。接口272可为有线(例如,GbE、Mellanox InfiniBand或其它)或无线(例如,低时延5G NR),并且可在一些情况下用以支持数据的装置外处理,例如以供用于深度学习加速器(DLA)应用,以便减少装置上处理负载。举例来说,在一个此类变型中,可将来自本文中随后论述的处理“管线”的一或多个阶段的中间结果从装置外传输到目标DLA、图像组合/拼接或用于计算并返回待在RFD 280的后续处理阶段中使用的结果的其它过程。在一个此类方法中,控制器逻辑230被配置成事先确定处理要求且将独立处理(即,其不依赖于其它处理结果)分担到云端实体,以使得结果可及时地返回以用于后续处理阶段中,例如经由5GNR低时延连接。
在一个实施例中,图2A至2C的存储器装置240被配置为与一或多个可重新配置的结构装置(RFD)220或280集成的动态随机存取存储器(DRAM)。在另一实施例中,存储器是与RFD进行数据通信的单独存储器单元(或多个单元)。举例来说,在一些配置中(例如,图2C),单个存储器装置可由两个或更多个RFD共享,例如其中存储器的不同部分或虚拟/物理地址空间被分割以供仅在RFD上使用。替代地,在一些配置中,存储器地址空间的部分可由不同RFD共享,例如在时间共享或其它基础上,以便尤其总体上减少RFD所需的总存储分配。在一些其它配置中,处理“管线”的每一不同过程(参见例如下文论述的图3和3A)可分配有其自身的专用存储空间。
在其它实施例中,所谓的“经表征存储器”装置可用作RFD 220的存储器装置240的全部或部分,所述“经表征存储器”装置为例如共同拥有且共同待决的于2019年2月14日提交且题为“用于表征存储器装置的方法和设备(METHODS AND APPARATUS FORCHARACTERIZING MEMORY DEVICES)”的美国专利申请第16/276,461号、于2019年2月14日提交且题为“用于检查经表征存储器搜索结果的方法和设备(METHODS AND APPARATUS FORCHECKING THE RESULTS OF CHARACTERIZED MEMORY SEARCHES)”的第16/276,471号、于2019年2月14日提交且题为“用于维护经表征存储器装置的方法和设备(METHODS ANDAPPARATUS FOR MAINTAINING CHARACTERIZED MEMORY DEVICES)”的第16/276,489号中所描述的那些装置,前述内容中的每一者以全文引用的方式并入本文中。作为但仅作为一个实例,由RFD的不同组成处理阶段执行的某些操作可能不需要完全符合JEDEC的存储器(或符合规定性能等级,例如低于诸如10-18的规定值的BER),且因此,控制器逻辑230可被配置成选择性地利用那些存储器或存储器的部分以用于此类操作。此类经表征存储器可集成在RFD内,和/或用作由RFD存取的外部存储器。举例来说,如果在制造期间RFD存储器的部分并未通过符合性检验,那么所述部分可在控制器内被编程为仅可用于容错应用(例如,对于所述容错应用,比如10-9或10-10的BER将几乎没有或不具有可察觉的影响)。
图3展示可使用例如图2A至2C的系统实施的示范性基于时分的图像数据处理方法300。可重新配置的结构装置220用于执行多过程操作,此处包含五个不同过程:图像信号处理(ISP)354、编码358、基带处理(BBP)360、数字频率处理(DFP)362和射频处理(RFP)364。应了解,虽然按与某些处理任务的规定次序和关系展示不同时“隙”(1至5),但此配置仅为一个实例,并且处理的类型和/或次序在一些情况下可被改变或置换。
在时隙1期间,通过用作ISP电路的可重新配置的结构装置(RFD)220来输入352并处理354已由图像捕获装置的传感器收集的RAW数据,并且结果被存储到存储器240。
顺便说一句,许多CCD或CMOS成像装置具有某种程度的像素不均匀性;阵列中的每一像素对光具有稍微不同的敏感度,通常在平均信号的1%至2%内。可使用多个技术,例如用平场图像校准所述图像,来减小此不均匀性。
此外,一些阵列具有所谓的“卡住的”像素,所述像素可能始终打开或关闭。这些像素可容易地识别,并且其输出被例如经滤波值替代。
待考虑的此类传感器的又一方面是所谓的“暗层”;由于增加的温度将噪声添加到阵列的输出这一事实,所以阵列的真正层是未知的。因而,传感器通常利用外露传感器周围的经覆盖像素的环——可从剩余像素的输出中减去这些经覆盖像素的输出,从而实际上在无光入射到装置上时针对装置的热层进行校准。
因此,可出于本公开的目的将经RAW处理的数据广泛考虑为来自传感器的“原始”(初始或未经处理的)数据,所述传感器已进行一些预处理以用于例如对诸如前述内容的物理现象或伪影的校正。
图像信号处理(ISP)执行通常与人类感知(即,人类认为视觉上令人向往的东西)相关联的多种传感器特定处理。这些可尤其包含:(i)去马赛克(每一像素的RGB插值);(ii)自动对焦、自动曝光、自动白平衡;(iii)镜头缺陷的校正;以及(iv)噪声减少、滤波和HDR。
因而,取决于传感器的设计和配置以及所要ISP功能性,方法300的ISP阶段采用此RAW数据且进一步处理所述数据,例如以产生去马赛克的数据、拜耳变换/色彩滤波阵列处理、用于压缩等。
在一些变型中,在RAW数据被传送到RFD之前,RFD默认地被配置为ISP电路(例如,其在起始时的“零配置”或基线配置)。替代地,可通过操作模式或由控制逻辑230在起始时获得的其它输入来确定初始处理配置。举例来说,如果用户选择可能不需要任何DLA功能性(或有限ISP功能性)的例如“预览”等应用层功能或操作模式,或替代地可得益于使DLA处理功能性首先发生(参见下文图7的论述),那么RFD可采用与其一致的配置,例如通过将RFD初始化为DLA处理器或简化范围的ISP。
在另一变型中,RFD最初未被配置为ISP电路;在此情况下,控制单元230可首先将RAW数据存储到存储器240,将RFD 220重新编程为ISP电路或其它所要配置,并且接着提示RFD(用作例如ISP)从存储器读出并处理RAW数据。在ISP处理354所述RAW数据之后,经ISP处理的结果被存储到存储器240中。
再次参考图3,在时隙2期间,控制单元230对RFD 220进行重新配置以用作编码器。RFD(作为编码器)从存储器读出DLA结果,执行编码操作358(例如,将有损或非有损编码/压缩算法应用于所述数据),并且将经编码结果写回到存储器。在时隙3期间,控制单元230对RFD 220进行重新编程以用作BBP电路,RFD(作为BBP)从存储器读出经编码结果,执行BBP操作360,并且将BBP结果写回到存储器。在时隙4期间,控制单元230对RFD 220进行重新编程以用作DFP,RFD(作为DFP)从存储器读出BBP结果,执行DFP操作362,并且将DFP结果写回到存储器。最后,在时隙5期间,控制单元230对RFD 220进行重新编程以用作射频处理器(RFP),可重新编程的结构芯片(作为RFP)从存储器读出DFP结果,执行RFP操作364,并且使用传输器(例如,天线)以每步骤366传输结果。
通过控制单元逻辑(处理器)230协调前述多过程操作,所述控制单元逻辑将适当电路配置信息馈送到RFD 220且在适当时间指示RFD 220将数据读取/写入到存储器240。在一个实施例中,时间被动态地分配到每一时隙;即,控制单元230一旦接收到指示先前阶段已经完成的信号或数据就实施过程的下一阶段。因而,取决于正进行的处理的性质、正处理的数据等,每一时隙的持续时间可不同于其它时隙的持续时间。还可实施例如自旋锁、锁、互斥锁等程序控制元件,以便确保来自操作的所需数据返回以准许执行下一阶段或步骤。
在另一实施例中,基于(i)针对将RFD 220编程/重新编程到特定配置所预期的时间以及(ii)针对供RFD 220使用所述配置处理数据所预期的时间,预先计算分配到每一时隙的时间(例如,以毫秒或时钟周期计)。此预期时间可例如为基于例如RAW数据的大小/配置、传感器的类型和/或配置、处理元件/管线配置或甚至从设备对数据的先前处理获得的历史数据等参数导出的估计值。举例来说,在一个实施方案中,基于由可用以在控制器230(或甚至主机成像装置内的CPU)上执行的调度器产生的估计值,将规定数目个时钟周期(从片上本地时钟振荡器导出)分配到每一不同时隙。
在另一实施例中,针对不同时隙使用不同的时隙分配方法;例如,用于确定给定时隙的持续时间的机构可与用于另一时隙的机构为异质的,这是基于例如在每一相应时隙中执行的处理的特性。因而,与更加不可预测的其它类型相比,一些类型的处理可为更加可预测的或更适合于一种类型的时隙估计机构(且因此可例如针对一或多个时隙或其部分使用先前描述的“锁定步骤”或首先完成的方法)。机构的此分配在本质上也可为动态的;例如,其中控制器逻辑230将多个可用机构中的一者动态地分配到每一时隙,并且基于其而计算时隙持续时间(在适当时)。
应了解,图3的过程使用具有一或多个可重新配置的结构装置(RFD)220(如在图2A至2C中)的集成电路来在多个单独时隙期间复制例如多个处理芯片的功能(如在图1A中)。然而,在某些实施例中,利用图2A至2C的集成电路的方法可组合、跳过、替代和/或重新布置以上处理步骤中的一或多者。此外,如本文中其它地方所描述,取决于特定配置和应用,一些处理步骤(或其部分)可被分担到其它RFD和/或其它处理实体,包含例如附接的网络或“云端”处理实体。
图3A是示出使用RFD的图3的方法的一个示范性实施方案的时序图。如图3A中所展示,过程370利用一系列顺序且同时的个别操作来执行图3的总体图像数据处理方法。如将了解,不同操作可被“管线化”到如所展示的各种深度,以使得可同时利用给定RFD的不同部分。举例来说,实现对存储器240的某些区域中所存储的数据的存取和读取的存储器存取电路系统可与一些其它操作并行地操作,例如对RFD的逻辑功能或块进行重新配置以实现用于处理随后从存储器检索的数据的所要处理配置,如所展示。
在图3A的实例中,RFD 220在初始化周期或阶段期间首先被配置为每过程371的ISP。同时,每过程372接收RAW数据(无论从产生传感器还是存储位置)。所谓的“运行时间配置”可在一种方法中使用,例如其中RFD的部分继续操作,且仅选择部分相对于编译时间重新配置(CTR)而被动态地重新配置(例如经由在一或多个控制输入上引入比特流),所述编译时间重新配置实际上需要整个装置的其余部分。
顺便说一句,通常存在例如FPGA等可重新编程的逻辑装置的运行时间重新配置的两种主要方法:部分重新配置(PR)和软件可编程重新配置(SPR)。PR方法通常使已被设计成支持重新配置区域或区段的FPGA架构成为必要。相比而言,在SPR方法中,FPGA组件实施为通过软件代码(例如,在嵌入式处理器或主机处理器上运行)控制的灵活构建块。部分重新配置允许实际上“即时”换出设计模块。此能力允许装置内的资源为分时制(重新配置的),而其它功能继续操作。必须创建部分比特流以用于对每一不同区进行编程。此方法的一个主要优点是可保留关键操作,而与FPGA的完全重新配置相反,FPGA装置的仅部分被重新配置,这实际上需要芯片范围复位(且因此,上述关键进行中的功能的中断)。然而,使用PR的FPGA通常在重新配置区的数目方面受到限制,且可施加显著的额外定时约束。
相比而言,软件可编程重新配置是允许通过软件命令更改数字逻辑流的内部设计能力。其利用更加基于软件的方法,并且将FPGA建模为具有处于适当位置的外围基础结构的片上系统(SoC)。应用被分成两个处理平面(控制和流式传输),每一处理平面利用用于组件互连的共同接口标准。控制平面用于控制、(重新)配置且在一些情况下用于存储器管理。使用控制结构实现控制/配置和状态数据的路由。相比之下,流式传输数据平面使用允许在例如个别组件之间进行点到点数据传送的流式传输数据结构。
一般来说,可使用SPR将FPGA的功能性抽象化到较高层级,且促进设计和硬件再使用,进而增强灵活性和多应用配置。如同微处理器一样,此类型的高层级设计是高度可扩展的,从而允许增加应用复杂性、直接映射到ASIC流并且使得显著增加总体设计便携性。
在图3和3A的示范性配置中,RFD内的各种CLB的重新编程(参见下文图8和9的论述)可使用取决于如何设计RFD的任一方法来实现。
在第一时隙(1)期间,RFD的ISP功能处理每过程373检索到的数据,并且每过程375将结果写入到存储器,而同时RFD逻辑块被配置为编码器(过程374)。
在时隙2期间,每过程376再次读取存储器以获得每过程375写入的数据(或其部分),并且所述数据由编码器处理(过程377)。结果被写入到存储器(过程379),并且同时RFD被重新配置为BBP(过程378)。类似步骤380至383接着应用于通过BBP过程和后续重新配置和存储器写入来处理经读取(经编码)数据。过程接着继续进行到时隙4和5(为了清楚起见,图3A中未展示)。
应了解,尽管针对图3A的第一至第三时隙中的每一者展示(i)读取数据;(ii)处理数据以及(iii)写入经处理数据和重新配置的大体上一致或对称过程,但不同种类的方法可在每一者中使用。举例来说,同时写入和重新配置操作可在一个时隙中使用,而顺序或锁定步骤过程可在另一时隙中使用。类似地,给定阶段中的逻辑的重新配置可以可行方式开始,而在所述相同时隙内的处理仍在进行中,例如其中在当前阶段/时隙中不再需要进行处理的逻辑块被重新配置,而其它(所需)块仍在使用中。
此外,虽然在图3A的实例中未明确地展示,但可施加例如最小延迟窗口或偏移等特定时序准则。如所属领域的一般技术人员在本公开的情况下可了解,在精细粒度级下,图3A的各种过程的时序关系可为复杂的且取决于个别组件和信号,例如其中存储器240利用规定阶段以用于例如地址信号、读取/写入信号、预充电信号等,所述信号可对准到装置内的一或多个时钟信号。
图4是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。如在图3的实施例中,输入数据(例如,RAW数据)被产生并接收452,且由ISP功能454处理,且在时隙1期间被写入到存储器。然而,在时隙2期间,控制单元230对RFD 220进行重新配置以用作深度学习加速器(DLA)电路。
顺便说一句,深度学习加速器(DLA)可通过许多“变换层”依序且有序变换数据。举例来说,在深度学习系统中,第一代表性层可抽象化矩阵中的像素且对边缘进行编码;第二层可构成边缘的布置并对其进行编码;第三层可对人类个体的鼻子和眼睛进行编码;并且第四层可辨识图像含有面部。
返回到图4,RFD(作为DLA)从存储器读出ISP结果,执行DLA操作456,并且将DLA结果写回到存储器240。在时隙3期间,控制单元230对RFD 220进行重新编程以用作编码器。RFD(作为编码器)从存储器读出DLA结果,执行编码操作458,并且将经编码结果写回到存储器。在时隙4期间,控制单元230对RFD220进行重新编程以用作BBP电路,RFD(作为BBP)从存储器读出经编码结果,执行BBP操作460,并且将BBP结果写回到存储器。在时隙5期间,控制单元230对RFD 220进行重新编程以用作DFP,RFD(作为DFP)从存储器读出BBP结果,执行DFP操作462,并且将DFP结果写回到存储器。最后,在时隙6期间,控制单元230对RFD 220进行重新编程以用作射频处理器(RFP),可重新编程的结构芯片(作为RFP)从存储器读出DFP结果,执行RFP操作464,并且使用传输器(例如,天线)以每步骤466发送结果。
图5是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。如所展示,方法500包含在步骤552处接收例如RAW数据,接着在时隙1处进行ISP处理554。接下来,从存储器240检索ISP输出数据,且在步骤556(时隙2)处进行DLA处理,接着在时隙3中进行编码步骤558,在时隙4中进行BBP 560,并且在时隙5中进行DFP 562。最后,将DFP阶段的输出提供到单独RF芯片(步骤564),并且经由例如无线接口输出经处理图像。此处,RF装置(步骤564)与RFD分离;因为许多此类RF IC目前处于“商品”级别(例如,一些Wi-Fi或BLE芯片低于$1 USD),所以在一些情况下,利用此类商品芯片代替对RFD执行此类处理可能是有利的。
图6是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的又一实施例的图解说明。在此实施例600中,ISP、DLA和编码芯片的功能被组合到可重新编程的结构装置(RFD)的单个传感器数据处理器(SDP)功能中。另外,DFP和RFP的功能被组合到单个DFP/RFP功能单元中。也就是说,用于这些各种过程的逻辑一起聚合到RFD内的功能单元中。此方法尤其允许以灵活性或可重新编程性为代价的功能的某种程度的预配置(包含增强的速度)。功能单元在此实施例中在某种意义上是更加结构化且“ASIC状”;具体地说,适用于可能使用的较小子集以便优化速度。然而,应注意,在所示出的实施例中,这些功能单元安置在相同装置(RFD)裸片上,由此提供如先前所描述的减小的板空间消耗、外部导线等。
然而,应了解,取决于RFD逻辑块结构的大小和范围,RFD可含有如图6中的更专用功能单元以及先前实施例的更通用(但灵活)可重新编程块两者。因而,控制器逻辑(或甚至在主机成像装置的CPU上操作的调度器或其它过程)可被配置成确定两个(或更多个)选项中的哪一者将用于任何特定处理操作。举例来说,在将要处理大型、处理密集型数据集的情况下,可采用“专用”功能单元来增强数据处理吞吐量。还可在此类分析中考虑到例如电力消耗以及其它等因素。
再次参考图6,在时隙1期间,RFD在步骤652处接收RAW格式数据且执行传感器数据处理(步骤653,包含图像信号处理、深层加速处理,以及使用单个SDP功能单元配置对图像数据进行编码)。在时隙2期间,控制单元对RFD进行重新配置以用作BBP电路;RFD(用作BBP)从存储器读出SDP结果,执行宽带处理660,并且将BBP结果写回到存储器中。在时隙3中,控制单元对RFD进行重新编程以用作组合式DFP/RFP“芯片”;RFD(被编程为DFP/RFP)从存储器读出BBP结果,每步骤661执行数字频率处理和射频处理,并且每步骤666将结果输出到传输器。
图7是根据本公开的方面的可与图2A至2C的装置一起使用的多步骤图像处理方法的另一实施例的图解说明。图7的过程大体上类似于先前描述的图5的过程,不同之处在于ISP和DLA过程已交换次序。
顺便说一句,ISP通常是对由传感器收集的图像数据(RAW数据)执行的第一过程,因此采用ISP和DLA的图像捕获装置可能具有处理步骤,以便:
ISP→DLA→编码
或
DLA->ISP→编码
另一方面,ISP可从图像数据中去除对于人类感知来说可能不合需要的但对于深度学习来说可为合乎需要的/适用的伪影,或添加对于人类感知来说合乎需要的但对于深度学习来说不合需要的伪影。因此,可能有益的是直接对RAW数据执行DLA,这保留所捕获图像的大部分信息,随后其已经由图像信号处理器处理和/或编码。因而,图7的实施例利用此方法。可根据本公开的各种原理而使用的与前述内容相关的额外细节、方法和设备描述于共同拥有且共同待决的于2020年5月14日提交且题为“用于对图像数据执行分析的方法和设备(METHODS AND APPARATUS FOR PERFORMING ANALYTICS ONIMAGEDATA)”的美国专利申请第16/874,504号中,所述申请先前以全文引用的方式并入本文中,但将认识到,还可使用根据本公开的其它方法。
如所展示,在图7的方法700的时隙1期间,已由图像捕获装置的传感器收集的RAW数据752由用作DLA电路的可重新配置的结构装置(RFD)220处理756,并且DLA输出/结果被存储到存储器240。在时隙2期间,控制单元230对RFD进行重新配置以用作ISP电路。RFD 220(作为ISP)从存储器240读出DLA结果,执行ISP操作754,并且将ISP结果写回到存储器240。在时隙3期间,控制单元230对RFD 220进行重新编程以用作编码器。RFD 220(作为编码器)从存储器读出ISP结果,执行编码操作758,并且将经编码结果写回到存储器240。对于时隙4至6,所述方法与图5的方法相同。
值得注意的是,具有例如本文中所描述的示范性装置等可重新配置的结构的集成电路使得交换图像处理操作的次序(例如,如在图7中交换ISP和DLA操作)尤其简单,而不会损失所述过程的总效率。此与IC板形成对比,所述IC板具有专用ASIC芯片(例如,ISP和DLA芯片,或SDP船),以特定的步骤次序接线。如果ISP和DLA过程使用单独芯片来实施,那么系统控制器可能够以与IC制造商最初预期的次序不同的次序来可行地使用ISP和DLA芯片。
可重新配置的结构装置(RFD)
图8是根据本公开的各种方面的可重新配置的结构装置(RFD)810的一个实施例的框图。此装置810可例如执行图2A至2C的实施例中所展示的示范性RFD 220的功能,或适用于其它应用。
如所展示,图8的可重新配置的结构装置810包含裸片的可重新配置的结构区820,所述裸片包含通过交换矩阵互连件(开关盒828和互连件或总线826)连接的可配置逻辑块(CLB)824的阵列822(或多个阵列,例如阵列822a至822c)。每一阵列(或阵列集合)可在适当时形成于单层(2D阵列)上或包含多个堆叠层(3D阵列)。可配置逻辑块824在一个实施例中包含逻辑元件,例如查找表(LUT)、触发器、寄存器和多路复用器,以及算术函数,例如乘累加级。
在一个实施例中,可重新配置的结构装置810可包含一或多个存储器装置840和一或多个处理器830(例如,RISC核心,诸如ARM核心)以及相关联程序存储器850。处理器830促进可重新配置的结构装置与外部电路系统和命令集成,并且可包含计时/复位、存储器控制器、互连组件等(但这些也可实施为与处理器830分开的单独组件或功能单元,例如存储器控制器与RAM集成,如图8中所展示)。
在一个实施例中,处理器830和存储为程序存储器850中的计算机程序的计算机化逻辑可以硬件描述语言(HDL)输入的形式接受结构配置信息,将HDL信息合成到对应的寄存器传送级(RTL)设计或实施方案中,并且使用RTL将可重新配置的结构820变换为所要配置。
在一些实施例中,RFD还可包含本地存储器,例如高速缓存器(例如,与处理器830相关联的LI/L2/L3高速缓存器),以及可用于补充或增补主RFD存储器840的其它存储装置。举例来说,从性能观点来看,将一些数据从各种处理阶段写入或读取到RFD存储器840(归因于例如与存储器840和其控制器相关联的存取/写入时间)可为更“昂贵的”,且因此,一些数据总体上可本地存储在与CLB 824或结构820中的一或多者相关联的存储装置内(未展示)。作为但仅作为一个实例,中间相乘/累加操作结果或DLA中间结果可本地存储以备存取,直到完成操作为止,并且只有这样最终结果或输出才被写入到RFD“主”存储器840。
还应了解,RFD 810可被配置成利用可能已经存在于主机装置内的裸片外组件,例如存储器和/或控制器。举例来说,主机装置可具有可用于存储RFD的处理阶段结果的可感知RAM。虽然由于裸片外存取而从性能观点来看大体上不太理想,但可能存在抵消性考虑因素使得此类外部组件的使用变得可行。类似地,在另一实施例中,可重新配置的结构装置不具有其自身的处理器,并且例如CPU等外部处理器执行HDL至RTL合成且经由例如外部封装接口(未展示)直接对可重新配置的结构820进行编程。
还应了解,尽管在图8的实施例内使用至少部分基于硬件的CLB 824,但控制逻辑自身不需要在硬件中显现,因为其执行的控制功能在与CLB在处理数据时执行的组成操作不同的时间尺度上进行操作,例如DCT或iFFT或去拜耳或去马赛克操作,后一种操作比控制功能本身的过程密集度高几个数量级。因此,例如实施于处理器830上的基于软件的控制器逻辑可提供合适的性能以及灵活性和可重新编程性。举例来说,程序存储器850可在外部重新编程或“重新闪存”以对控制器逻辑进行重新配置以供用于新功能、修改现有功能等。
还设想,可在图8的结构中利用数百或甚至数千个别CLB(或随着IC技术进步而更多),以便提供本文中所描述的功能性。
如先前所指出,结构内的不同CLB 824还可被异质地配置。举例来说,就针对某些类型的操作而优化的专用硬件/电路配置而言,一些块可为更加“ASIC状”,而其它块为更加可重新配置的且利用基于软件的元件来执行操作。还可使用不同类型的MAC和其它单元。举例来说,如在用于例如DLA应用的GPU中所常见,SIMT/SIMD型架构主要用以提高速度和并行度,而不具有RISC或CISC型的架构中通常发现的并发程序分支化或类似机制。因此,在一个变型中,SIMT/SIMD“阵列”822用作二维或三维装置的一个部分,而其它阵列822在其它处理范式下被配置。
此外,在其中使用多个RFD且所述RFD与例如共同控制器和存储器通信的应用中,两个(或更多个)RFD配置可为异质的或不对称的,例如其中RFD针对某一操作类型或集合而优化,且针对其它操作进行另一优化。以此方式,两个或更多个RFD彼此互补,且共同控制器/调度器可在一个或另一个上选择性地调度操作以便充分利用此类互补功能性。相比于利用个别RFD的情况,此类解决方案可例如从处理管线或一系列操作更快地返回结果,不仅因为一些操作与其它操作并行地执行,而且在比将在单个“通用”RFD上使用的硬件更优化的硬件上选择性地执行所述操作。
如先前所提及,在其中利用多个RFD 810(或RFD结构820)的应用中,每一装置(和/或所使用的主机调度器)的控制器逻辑可与其它装置的控制器协调,以便实现装置之间处理任务的分担或共享,以便更好地优化性能。举例来说,在一个实施例中,用以在控制器(例如,图8中的处理器830)中的一者(或两者)上执行的调度器或其它此类过程确定哪一RFD/结构用于处理某些任务,其中源和结果数据从共同存储器读取/被写入到共同存储器。处理管线内的“瓶颈”(例如高度处理密集型操作)可由调度器分配到其它RFD/结构中的一者的空闲部分,以便释放另一RFD/结构以执行例如后续处理任务的不取决于所分配任务的结果的部分。
同样地,如先前所提及,调度器可利用处理的阶段的动态重新排序来增加性能。举例来说,正常处理次序可为:
DLA→ISP→编码
然而,如果此次序的置换(例如,通过首先执行ISP)将增加性能而不会对所得经处理数据的质量或效用产生显著损失(例如,归因于ISP去除或过滤DLA过程所需的重要信息分量而损失DLA功效),那么调度器/控制器逻辑可重新排序所述阶段以便实现较高层级的吞吐量性能。
类似地,用户应用层过程可将输入提供到添加或消除某些要求和/或可用处理配置的调度器/控制器逻辑。举例来说,用户可经由示范性主机相机平台的输入装置而选择“预览”操作模式,其中较小图像质量或分辨率(包含一些伪影)在交易中可为可接受的以便更快地进行处理。举例来说,用户可能不需要4K或1080p预览,而是需要可包含某种程度的颜色或运动或其它伪影的低得多的分辨率图像,所述伪影在“完全”或“高质量”处理模式正被利用的情况下原本将作为ISP的部分或其它阶段处理而被去除或校正。举例来说,典型拜耳传感器包含两倍的绿色像素元件和蓝色或红色(归因于人眼的特定敏感度),在预览中或视频的某些部分中(例如,其中图像数据是或不是高度饱和的、低光场景等)可能不需要用以利用或替代地补偿此类统计的处理。
类似地,如本文中其它地方所论述,DLA或ML算法处理的一些部分或层在某些操作模式中可为不必要的或不合需要的,例如其中需要诸如面部“识别”(如识别出存在人脸),而没有进行面部识别(即,从检测到的面部识别特定例项或人类)所必需的清晰度或精度水平。
因而,调度器/控制器逻辑可重新排序、消除、添加和/或修改一些阶段/过程,以便符合这些新的较少的(或更严格的)要求。举例来说,递归算法的较少迭代可在一些操作模式中产生合适结果,而在其它操作模式中需要更多迭代。同样地,可通过调度器/控制器逻辑选择性地应用或多或少的滤波、DLA阶段或层、去马赛克或去拜耳等。
同样,对于示范性RF处理,如果链路信道估计(例如,基于从接收UE反馈的探测或其它数据)指示高无线信道质量,那么RFD的RF处理阶段可选择性地应用较低MCS(例如,从256QAM到比方说64-QAM的调制阶数减小)或FEC过度译码。如可了解,例如3GPP版本8至14(“LTE”)和版本15以及之后版本(“5G NR”)或802.11ax或802.11be等各种无线协议利用用于确定信道质量和其它相关参数的多种机制,其可被反馈回到RFD的调度器/控制器逻辑以实现由RFD实施的处理配置的动态调整,包含实时。
重新编程方法-
图9是根据本公开的示出编程并操作RFD的方法的一个示范性实施例的逻辑流程图。应了解,尽管通常在本文先前所论述类型的基于PR的解决方案的上下文中描述,但所述方法可由所属领域的一般技术人员容易地调适以用于其它方法,包含基于SPR的那些方法。
作为方法900的第一步骤902,处理器(例如,控制器单元230、830)确定RFD 220、810需要执行操作。这可例如为控制处理器,其响应于使用指示传感器已获得RAW图像数据的所述传感器捕获RAW图像数据而确定RFD需要执行ISP操作。如果不需要重新编程,那么逻辑进入等待状态(步骤904),直到需要此类重新编程为止。
在步骤906中,控制器单元例如以硬件定义语言(HDL)获得用于RFD的电路配置信息(例如,用于ISP处理电路配置)。应注意,此配置数据可在内部存储于控制单元(例如,所附接程序或数据存储器)中,或可由集成电路外部的源例如经由网络或总线接口提供。
在步骤908中,HDL信息被合成为寄存器传送级(RTL)设计,即,电路配置的物理电路描述。所述合成在一个实施例中由RFD的控制单元或另一内部处理器执行,例如在控制器实施为RISC核心时。替代地,所述描述可在芯片外产生,且经由例如总线接口而被提供到RFD 210、810。
在步骤910中,可重新配置的结构物理地改变(映射)以匹配RTL设计。这可涉及例如将不同比特流应用于正重新配置的各种功能块或单元。
在步骤912中,控制单元逻辑指示经编程RFD执行操作。举例来说,经ISP配置的RFD可受指示以存取RAW图像数据且对RAW图像数据执行图像信号处理(ISP)。可直接从传感器提供RAW图像数据,或如先前所描述的将其存储在存储器中。
在步骤914中,控制单元逻辑确定RFD是否需要在不同电路配置中被重新编程并且结束过程或开始另一RFD配置操作。举例来说,如果控制单元确定RFD需要对经ISP处理的图像数据执行DLA操作,那么控制单元可指示RFD(被配置为ISP)将其结果写入到存储器(内部存储器或外部存储器),并且RFD配置过程可再次开始。另一方面,如果控制单元确定不再需要RFD操作,那么其可指示RFD将其结果存储或输出到外部电路。
应了解,尽管描述为步骤的时间序列,但方法900的操作实际上可不按顺序执行,包含在处理主题数据的任何要求之前。举例来说,用于ISP。DLA或其它处理中涉及的模块的各种设计配置可事先产生,包含用以产生可操作设计所可能需要的例如调试等任何辅助支持,以使得最终设计“模板”可仅由控制器逻辑在运行时间存取。
额外考虑因素-
贯穿本说明书,一些实施例已使用表达“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(having)”或其任何其它变化形式,其全部意图涵盖非排他性内容。举例来说,包括一系列元件的过程、方法、制品或设备不一定仅限于那些元件,而是可包含没有明确列出的或此类过程、方法、制品或设备所固有的其它元件。
另外,“一(a)”或“一(an)”的使用用于描述本文中的实施例的元件和组件。这仅仅是为了方便起见并给出对本发明的一般理解。除非明显意指另外的意思,否则此描述应理解为包含一个或至少一个,并且单数也包含复数。
如本文中所使用,对“一个实施例(one embodiment)”或“实施例(anembodiment)”、“一个变型(one variant)”或“变型(a variant)”以及“一个实施方案(oneimplementation)”或“实施方案(an implementation)”中的任一者的任何参考意味着结合实施例、变型或实施方案描述的特定元件、特征、结构或特性包含在至少一个实施例、变型或实施方案中。在本说明书中的各处出现的此类短语未必都参考相同实施例、变型或实施方案。
在阅读了本公开之后,所属领域的技术人员将理解如本文中的原理所公开的另外的额外替代性结构和功能设计。因此,虽然已说明和描述了特定实施例和应用,但应理解,所公开的实施例不限于本文中公开的精确构造和组件。在不脱离所附权利要求书限定的精神和范围的情况下,可对本文中公开的方法和设备的布置、操作和细节作出对所属领域的技术人员显而易见的各种修改、改变和变化。
将认识到,虽然按照方法的步骤的特定顺序描述本技术的某些方面,但这些描述仅说明本公开中的较广泛方法,且可根据特定应用的需要加以修改。在某些情形下,某些步骤可显得不必要或为任选的。另外,可以将某些步骤或功能性添加到所公开的实施方案,或者置换两个或更多个步骤的执行次序。认为所有此类变化都涵盖于本文公开和要求的公开内容内。
虽然以上详细描述已展示、描述并指出适用于各种实施方案的本公开的新颖特征,但应了解,所属领域的技术人员可在不背离本公开的情况下对所说明的装置或程序的形式及细节作出各种省略、替换和改变。前述描述是当前涵盖的实行本公开的原理的最佳模式。本描述绝不意图为限制性的,而是应当视为对本公开的一般原理的说明。应参考权利要求确定本公开的范围。
Claims (20)
1.一种用于在计算机化装置内执行图像数据处理的方法,所述方法包括:
从至少一个图像传感器获得呈第一格式的图像数据;
对可重新编程的处理装置(RPD)进行编程以对所获得的图像数据的至少部分执行第一操作;
使用经编程RPD处理所述所获得的图像数据的所述至少部分以产生第一输出数据;
对所述RPD进行重新编程以对所述第一输出数据的至少部分执行第二操作;以及
使用经重新编程RPD处理所述第一输出数据的所述至少部分以产生第二输出数据。
2.根据权利要求1所述的方法,其中:
使用所述经编程RPD对所述所获得的图像数据的所述至少部分进行编程和处理是在第一时隙期间执行;并且
使用所述经重新编程RPD对所述第一输出数据的所述至少部分进行重新编程和处理是在所述第一时隙之后的第二时隙期间执行。
3.根据权利要求2所述的方法,其中所述第一和第二时隙具有不同的时距。
4.根据权利要求3所述的方法,其中特别产生所述第一和第二时隙中的每一者的持续时间或起始点中的至少一者。
5.根据权利要求2所述的方法,其中所述第一和第二时隙具有相同的时距,并且各自在所述编程之前产生。
6.根据权利要求2所述的方法,其中所述第一和第二时隙具有不同的时距,并且各自包括至少一个规定微时隙,所述至少一个微时隙参考所述RPD的时钟参考。
7.根据权利要求1所述的方法,其中:
从至少一个图像传感器获得呈第一格式的图像数据包括获得呈RAW格式的图像数据;
对可重新编程的处理装置(RPD)进行编程以对所述所获得的图像数据的至少部分执行第一操作包括对所述可重新编程的处理装置(RPD)进行编程以将所述所获得的图像的所述至少部分从所述RAW格式转换为图像格式;并且
对所述RPD进行重新编程以对所述第一输出数据的至少部分执行第二操作包括对所述可重新编程的处理装置(RPD)进行编程以应用拜耳滤波器。
8.根据权利要求1所述的方法,其进一步包括:
对所述RPD进行重新编程以对所述第二输出数据的至少部分执行第三操作;以及
使用经重新编程RPD处理所述第二输出数据的所述至少部分以产生第三输出数据;
其中所述第三输出数据包括根据有损编码格式而被编码的经编码图像数据。
9.一种计算机化图像捕获和处理设备,其包括:
至少一个图像传感器;
至少一个可重新编程的处理装置(RPD),其与所述至少一个图像传感器进行数据通信;
至少一个存储装置,其与所述至少一个RPD进行数据通信;以及
至少一个控制器,其与所述至少一个RPD进行数据通信且被配置成实施计算机化逻辑,从而使所述至少一个RPD装置至少:
使用第一处理配置来处理由所述至少一个图像传感器输出的第一数据以产生第二数据;
使用第二处理配置来处理所述第二数据以产生第三数据;并且
使用第三处理配置来处理所述第三数据以产生第四数据。
10.根据权利要求9所述的计算机化图像捕获和处理设备,其中所述至少一个控制器进一步被配置成实施计算机化逻辑,从而使所述至少一个RPD装置至少:
存取所述至少一个存储装置的至少部分以获得所述第一数据;
存取所述至少一个存储装置的至少部分以获得所述第二数据;并且
存取所述至少一个存储装置的至少部分以获得所述第三数据;
其中(i)用以获得所述第一数据、第二数据和第三数据的所述存取中的每一者以及(ii)所述第一数据、第二数据和第三数据的所述处理中的每一者根据由所述至少一个控制器至少部分地产生的时间表而发生。
11.根据权利要求10所述的计算机化图像捕获和处理设备,其中所述至少一个RPD、所述至少一个存储装置和所述至少一个控制器各自含于共同集成电路(IC)封装内。
12.根据权利要求9所述的计算机化图像捕获和处理设备,其中所述至少一个RPD包括能够以多个不同组合在逻辑上进行组合的多个电路逻辑元件,所述多个不同组合中的第一者对应于所述第一处理配置,所述多个不同组合中的第二者对应于所述第二处理配置,并且所述多个不同组合中的第三者对应于所述第三处理配置。
13.根据权利要求12所述的计算机化图像捕获和处理设备,其中所述至少一个RPD包括带有所述多个电路逻辑元件的现场可编程门阵列(FPGA)设备,所述电路逻辑元件的至少部分包括在硬件中显现的逻辑。
14.一种被配置成与图像捕获和处理设备一起使用的可重新编程的集成电路设备,所述可重新编程的集成电路设备包括:
至少一个第一数据接口;
至少一个第二数据接口;
控制器接口;以及
计算机化逻辑,其被配置成在经由所述控制器接口而接收的信号的控制下:
经由所述至少一个第一接口接收第一数据;
使用第一处理配置来处理所述第一数据以产生第二数据;
经由所述至少一个第二数据接口将所述第二数据输出到存储装置;
将所述计算机化逻辑重新配置到第二处理配置;
经由所述至少一个第二接口从所述存储装置存取所述第二数据;
使用所述第二处理配置来处理所存取的第二数据以产生第三数据;
经由所述至少一个第二数据接口将所述第三数据输出到所述存储装置;
将所述计算机化逻辑重新配置到第三处理配置;
经由所述至少一个第二接口从所述存储装置存取所述第三数据;并且
使用所述第三处理配置来处理所存取的第三数据以产生第四数据。
15.根据权利要求14所述的可重新编程的集成电路设备,其进一步包括:
所述存储装置,其与所述至少一个第二接口进行数据通信;以及
控制器逻辑,其与所述控制器接口进行通信;
其中所述存储装置、所述控制器逻辑、所述至少一个第一数据接口、所述至少一个第二数据接口、所述控制器接口和所述计算机化逻辑都是一体式集成电路封装的部分。
16.根据权利要求15所述的可重新编程的集成电路设备,其中:
所述存储装置包括动态随机存取存储器(RAM)装置;并且
所述计算机化逻辑包括具有多个逻辑单元或块的可重新配置的处理结构。
17.根据权利要求14所述的可重新编程的集成电路设备,其中所述计算机化逻辑被配置成使得:
使用第一处理配置来至少处理所述第一数据以产生所述第二数据以及经由所述至少一个第二数据接口将所述第二数据输出到所述存储装置是在第一时间段期间发生;
经由所述至少一个第二接口从所述存储装置至少存取所述第二数据以及使用所述第二处理配置来处理所存取的第二数据以产生所述第三数据以及经由所述至少一个第二数据接口将所述第三数据输出到所述存储装置是在第二时间段期间发生;并且
经由所述至少一个第二接口从所述存储装置至少存取所述第三数据以及使用所述第三处理配置来处理所存取的第三数据以产生所述第四数据是在第三时间段期间发生。
18.根据权利要求17所述的可重新编程的集成电路设备,其中所述第一、第二和第三时间段包括不同持续时间的非重叠时间段。
19.根据权利要求18所述的可重新编程的集成电路设备,其进一步包括时钟电路;并且
其中所述第一、第二和第三时间段各自包括由所述时钟电路产生的时钟周期或其它时钟相关参数的整数倍数。
20.根据权利要求14所述的可重新编程的集成电路设备,其中所述存储装置包括多个可独立存取的存储区域,所述至少一个第二数据接口包括与所述多个可独立存取的存储区域中的相应者相对应的多个第二数据接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/989,724 | 2020-08-10 | ||
US16/989,724 US20220046200A1 (en) | 2020-08-10 | 2020-08-10 | Methods and apparatus for integrated image signal processing |
PCT/US2021/045276 WO2022035786A1 (en) | 2020-08-10 | 2021-08-09 | Methods and apparatus for integrated image signal processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116114263A true CN116114263A (zh) | 2023-05-12 |
Family
ID=80114348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180050123.4A Pending CN116114263A (zh) | 2020-08-10 | 2021-08-09 | 用于集成图像信号处理的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220046200A1 (zh) |
CN (1) | CN116114263A (zh) |
WO (1) | WO2022035786A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11503087B2 (en) * | 2020-09-09 | 2022-11-15 | Samsung Electronics Co., Ltd. | Method and apparatus for processing immersive media |
US11328111B2 (en) | 2020-09-25 | 2022-05-10 | Intel Corporation | Broadcast remote sealing for scalable trusted execution environment provisioning |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7492821B2 (en) * | 2005-02-08 | 2009-02-17 | International Business Machines Corporation | System and method for selective image capture, transmission and reconstruction |
TW200821981A (en) * | 2006-11-13 | 2008-05-16 | Vivotek Inc | Reconfigurable image processor and application architecture |
FR2909204A1 (fr) * | 2006-11-28 | 2008-05-30 | Commissariat Energie Atomique | Systeme de traitement d'image a macro cellule morphologique. |
EP2153641B2 (en) * | 2007-04-13 | 2021-10-27 | Ari M. Presler | Digital cinema camera system for recording, editing and visualizing images |
JP5614122B2 (ja) * | 2010-06-21 | 2014-10-29 | 富士ゼロックス株式会社 | 画像データ復号装置 |
US8797414B2 (en) * | 2010-12-23 | 2014-08-05 | Samsung Electronics Co., Ltd. | Digital image stabilization device |
US9041775B2 (en) * | 2011-03-23 | 2015-05-26 | Mgestyk Technologies Inc. | Apparatus and system for interfacing with computers and other electronic devices through gestures by using depth sensing and methods of use |
JP5776306B2 (ja) * | 2011-04-25 | 2015-09-09 | 富士ゼロックス株式会社 | 画像データ処理装置及びプログラム |
JP5742427B2 (ja) * | 2011-04-25 | 2015-07-01 | 富士ゼロックス株式会社 | 画像処理装置 |
JP5786434B2 (ja) * | 2011-04-28 | 2015-09-30 | 富士ゼロックス株式会社 | 画像データ処理装置及びプログラム |
JP5942934B2 (ja) * | 2013-07-09 | 2016-06-29 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
JP6365102B2 (ja) * | 2014-08-14 | 2018-08-01 | 富士ゼロックス株式会社 | データ処理装置およびプログラム |
GB201605142D0 (en) * | 2016-03-25 | 2016-05-11 | Purelifi Ltd | A camera system |
JP7215828B2 (ja) * | 2017-03-02 | 2023-01-31 | ブラックマジック デザイン ピーティーワイ リミテッド | カメラ記憶システム及び方法 |
-
2020
- 2020-08-10 US US16/989,724 patent/US20220046200A1/en active Pending
-
2021
- 2021-08-09 CN CN202180050123.4A patent/CN116114263A/zh active Pending
- 2021-08-09 WO PCT/US2021/045276 patent/WO2022035786A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20220046200A1 (en) | 2022-02-10 |
WO2022035786A1 (en) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10726177B2 (en) | Reconfigurable interconnect | |
US20200272779A1 (en) | Reconfigurable interconnect | |
EP3346423B1 (en) | Deep convolutional network heterogeneous architecture system and device | |
CN110300989B (zh) | 可配置并且可编程的图像处理器单元 | |
US9542198B2 (en) | System and methods for dynamic management of hardware resources | |
Kleihorst et al. | Camera mote with a high-performance parallel processor for real-time frame-based video processing | |
CN116114263A (zh) | 用于集成图像信号处理的方法和设备 | |
JP2019036298A (ja) | 知能型高帯域幅メモリシステム及びそのための論理ダイ | |
CN101169866B (zh) | 自重构片上多媒体处理系统及其自重构实现方法 | |
WO2018126073A1 (en) | Deep learning hardware | |
EP3869412A1 (en) | Vector quantization decoding hardware unit for real-time dynamic decompression for parameters of neural networks | |
US10015502B2 (en) | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system | |
EP3346427B1 (en) | Configurable accelerator framework, system and method | |
JP2005020722A (ja) | デジタル・イメージ処理装置 | |
US20200342291A1 (en) | Neural network processing | |
US20220092398A1 (en) | Method and Apparatus for Offloading Tasks to Accelerator for Enhancing System Performance Using Configurable Devices | |
US20220044357A1 (en) | Methods And Apparatus For Optimized Stitching Of Overcapture Content | |
US20200342285A1 (en) | Data processing using a neural network system | |
US11620816B1 (en) | Hardware efficient RoI align | |
CN111240460A (zh) | 低功率计算成像 | |
US20230206587A1 (en) | Method to improve accuracy of quantized multi-stage object detection network | |
US20220051375A1 (en) | An inverse tone mapping method, system, device and computer readable medium | |
US20220417542A1 (en) | Image processing device, image processing system including image processing device, system-on-chip including image processing system, and method of operating image processing system | |
Eldash et al. | Dynamically reconfigurable deep learning for efficient video processing in smart IoT systems | |
CN114979466B (zh) | 拍摄处理方法、装置和无线通信模组 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |