CN113784013A - 行交织控制器、包括其的图像信号处理器和应用处理器 - Google Patents
行交织控制器、包括其的图像信号处理器和应用处理器 Download PDFInfo
- Publication number
- CN113784013A CN113784013A CN202110366674.3A CN202110366674A CN113784013A CN 113784013 A CN113784013 A CN 113784013A CN 202110366674 A CN202110366674 A CN 202110366674A CN 113784013 A CN113784013 A CN 113784013A
- Authority
- CN
- China
- Prior art keywords
- image
- line
- data lines
- signal processor
- image data
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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/80—Camera processing pipelines; Components thereof
-
- 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/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- 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/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
Abstract
提供了一种行交织控制器、包括其的图像信号处理器和应用处理器。所述图像信号处理器包括行交织控制器和图像信号处理器核。行交织控制器接收图像帧中包括的多个图像数据行,产生对应于图像帧的一个或多个虚拟数据行,并且逐行按次序地输出所述多个图像数据行和虚拟数据行。图像信号处理器核包括至少一个管线电路。管线电路包括串联连续以顺序地处理从行交织控制器接收到的数据行的多个处理模块。行交织控制器基于虚拟数据行来处理图像帧的端部中包括的一个或多个端部图像数据行。通过与虚拟数据行同步地处理端部图像数据行来减少或防止信道之间的干扰或冲突。
Description
相关申请的交叉引用
该申请要求于2020年6月4日在韩国知识产权局(KIPO)提交的韩国专利申请No.10-2020-0067473的优先权,该申请的公开全文以引用方式并入本文中。
技术领域
示例实施例整体涉及半导体集成电路,并且更具体地说,涉及行交织控制器和包括该行交织控制器的图像信号处理器。
背景技术
图像信号处理器可以利用帧存储器通过采用时分复用(TDM)方案来处理来自多个信道的多个输入图像。当图像信号处理器使用外部帧存储器来处理TDM方案时,图像信号处理器将输入图像逐帧存储在外部帧存储器中。在一些实施例中,输入图像存储在外部帧存储器中,随后通过总线系统从外部帧存储器读出,并且包括该图像信号处理器的系统的功耗会由于总线事务而增加。当在该图像信号处理器中包括该帧存储器时,图像信号处理器的大小和/或成本会增加。
发明内容
一些示例实施例可以提供能够以行为单位(即,逐行)有效地支持时分复用(TDM)的行交织控制器,以及包括该行交织控制器的图像信号处理器。
根据示例实施例,一种图像信号处理器包括行交织控制器和图像信号处理器核。行交织控制器接收图像帧中包括的多个图像数据行,产生对应于图像帧的一个或多个虚拟数据行,并且逐行按次序地输出所述多个图像数据行和虚拟数据行。图像信号处理器核包括至少一个管线电路。管线电路包括串联连接以顺序地处理从行交织控制器接收到的数据行的多个处理模块。行交织控制器基于虚拟数据行处理图像帧的端部中包括的一个或多个端部图像数据行。
根据示例实施例,一种行交织控制器包括缓冲电路、虚拟行产生器、复用器和控制逻辑电路。缓冲电路缓冲通过第一信道接收到的第一图像帧中包括的多个第一图像数据行和通过第二信道接收到的第二图像帧中包括的多个第二图像数据行,以选择性地输出各个第一图像数据行或者各个第二图像数据行。虚拟行产生器产生对应于第一图像帧的第一虚拟数据行和对应于第二图像帧的第二虚拟数据行。复用器通过选择缓冲电路的输出和虚拟行产生器的输出来输出流信号。控制逻辑电路控制缓冲电路、虚拟行产生器和复用器。第一虚拟数据行用于处理第一图像帧的端部中包括的一个或多个端部图像数据行,第二虚拟数据行用于处理第二图像帧的端部中包括的一个或多个端部图像数据行。
根据示例实施例,一种应用处理器包括总线、连接至总线的图像信号处理器和连接至总线以控制图像信号处理器的中央处理单元(CPU)。图像信号处理器包括行交织控制器,其被配置为接收图像帧中包括的多个图像数据行,产生对应于图像帧的一个或多个虚拟数据行,并且逐行按次序地输出所述多个图像数据行和虚拟数据行;以及图像信号处理器核,其包括至少一个管线电路,管线电路包括串联连接以顺序地处理从行交织控制器接收到的数据行的多个处理模块,行交织控制器被配置为基于虚拟数据行来处理图像帧的端部中包括的一个或多个端部图像数据行。
根据示例实施例的行交织控制器可以减少或者防止信道之间的干扰或冲突,并且通过产生用于处理图像帧的端部中包括的端部图像数据行的虚拟数据行并将虚拟数据行提供至包括管线结构的图像信号处理器核来以行为单位(逐行)更有效地支持TDM。
根据示例实施例的包括行交织控制器的图像信号处理器可以减少或最小化对外部存储器的访问,并且以行为单位(逐行)通过用有效TDM执行管线处理来减少或防止信道之间的干扰,从而减小图像信号处理器和包括该图像信号处理器的诸如应用处理器的系统的功耗和/或提高其性能。
附图说明
将从下面结合附图的详细描述中更清楚地理解本公开的示例实施例。
图1是示出根据示例实施例的图像信号处理器的框图。
图2A和图2B是用于描述根据示例实施例的图像信号处理器的延迟的逐行处理的图。
图3和图4是示出根据示例实施例的通过图像信号处理器进行的数据流的示例实施例的图。
图5和图6是示出根据示例实施例的通过图像信号处理器进行的数据流的示例实施例的图。
图7是示出根据示例实施例的图像信号处理器的框图。
图8是示出图7的图像信号处理器的示例操作的时序图。
图9A是示出延迟的处理模块的示例的框图,并且图9B是示出图9A的延迟的处理模块的操作的时序图。
图10A是示出根据示例实施例的图像信号处理器中包括的延迟的处理模块的示例的框图,并且图10B是示出图10A的延迟的处理模块的操作的时序图。
图11和图12是示出根据示例实施例的图像信号处理器的框图。
图13是示出根据示例实施例的数据处理系统的框图。
图14是示出根据示例实施例的行交织控制器的框图。
图15是示出图14的行交织控制器的操作的时序图。
图16至图19是示出根据示例实施例的行交织控制器中包括的缓冲电路的示例实施例的图。
图20是示出根据示例实施例的图像信号处理器的框图。
图21是示出根据示例实施例的计算系统的框图。
具体实施方式
下文中,将参照示出了一些示例实施例的附图更充分地描述各种示例实施例。在附图中,相同的标号始终指代相同的元件。可以省略重复描述。
图1是示出根据示例实施例的图像信号处理器的框图。
参照图1,图像信号处理器10可包括行交织控制器(LIC)100和图像信号处理器核(ISPCR)200。
行交织控制器100可以接收图像帧中包括的多个图像数据行,产生对应于图像帧的一个或多个虚拟数据行,并且逐行按次序输出所述多个图像数据行和虚拟数据行。行交织控制器100可包括虚拟行产生器300,以产生虚拟数据行。将参照图14描述行交织控制器100的详细配置的示例实施例。
行交织控制器100可以输出所述多个图像数据行和虚拟数据行作为流信号STRIN。换句话说,如将参照图3和图4描述的,从行交织控制器100输出的流信号STRIN可以按次序包括所述多个图像数据行中的每一个和虚拟数据行中的每一个。流信号STRIN作为图像信号处理器核200的输入提供,并且流信号STRIN可以被称作输入流信号STRIN。
在一些示例实施例中,行交织控制器100可以分别通过多个信道CH1、CH2和CH3接收多个图像帧FRM1、FRM2和FRM3。可以独立地确定多个图像帧FRM1、FRM2和FRM3的分辨率、帧率等,它们可以彼此相同或者不同。图1示出了从三个信道接收到的三个图像帧的非限制性示例,并且行交织控制器100可以通过对应数量的信道接收两个图像帧或者四个或更多个图像帧。
虚拟行产生器300可以产生分别对应于多个图像帧FRM1、FRM2和FRM3的虚拟数据行,并且行交织控制器100可以利用时分复用(TDM)方案逐行按次序地将多个图像帧FRM1、FRM2和FRM3中包括的所述多个图像数据行以及虚拟数据行传递至图像信号处理器核200。换句话说,从行交织控制器100输出的输入流信号STRIN可以按次序包括通过多个信道CH1、CH2和CH3接收到的所述多个图像数据行中的每一个以及通过虚拟行产生器300产生的虚拟数据行中的每一个。
例如,如将参照图5和图6描述的,行交织控制器100可以通过第一信道CH1接收第一图像帧FRM1中包括的多个第一图像数据行和通过第二信道CH2接收第二图像帧FRM2中包括的多个第二图像数据行。在一些实施例中,行交织控制器100中的虚拟行产生器300可以产生对应于第一图像帧FRM1的一个或多个第一虚拟数据行和对应于第二图像帧FRM2的一个或多个第二虚拟数据行。行交织控制器100可以利用TDM方案逐行按次序地将输入流信号STRIN传递至图像信号处理器核200,使得输入流信号STRIN包括所述多个第一图像数据行、所述多个第二图像数据行、第一虚拟数据行和第二虚拟数据行。根据示例实施例,虚拟行产生器300可以不产生对应于特定图像帧的虚拟数据行。
图像信号处理器核200可包括至少一个管线电路PLC。管线电路PLC可包括串联连接以顺序地处理从行交织控制器100接收到的数据行的多个处理模块M1~M3。
管线电路PLC中的多个处理模块M1~M3具有不同的处理功能,以按次序处理每个数据行。先前处理模块的处理结果可以按次序地传递至下一处理模块。最后一个处理模块可以输出管线处理的最终结果。多个处理模块M1~M3可以同时处理各个数据行,因此可以利用管线电路PLC的结构来减少所述多个数据行的整体处理时间。
另外,图像信号处理器核200可以基于虚拟数据行来处理每个图像帧的端部中包括的一个或多个端部图像数据行。图像信号处理器核200可以产生按次序包括处理后的图像数据行的输出流信号STROUT。
这样,根据示例实施例的行交织控制器100可以减少或者防止信道之间的干扰或冲突,并且通过产生用于处理图像帧的端部中包括的端部图像数据行的虚拟数据行并且将虚拟数据行提供至包括管线结构的图像信号处理器核来以行为单位有效地支持TDM。图像信号处理器核200可以通过利用有效的TDM方案以行为单位执行管线处理来减少或最小化对外部存储器的访问和/或减少或防止信道之间的干扰,从而降低图像信号处理器10和包括图像信号处理器10的诸如应用处理器的系统的功耗和/或提高其性能。
图2A和图2B是用于描述根据示例实施例的图像信号处理器的延迟的逐行处理的图。
图2A仅示出了单个图像帧中包括的许多像素数据中的3*3盒滤波中使用的九个像素数据P1~P9。
图像信号处理器核中的示例处理模块可以使用邻近的像素数据P1~P4和P6~P9来处理中心的像素数据P5,以输出处理后的像素数据P5’。
当逐行提供图像帧时,为了处理第i数据行DLi中的中心像素数据P5,除在当前第i数据行DLi之前接收到的第(i-1)数据行DLi-1中的像素数据P1、P2和P3之外,示例处理模块还需要在第i数据行DLi之后接收到的第(i+1)数据行DLi+1中的像素数据P7、P8和P9。换句话说,在接收在目标数据行DLi之后接收到的一个延迟的数据行DLi+1之后,示例处理模块可以对目标数据行DLi执行延迟的滤波操作。
这样,在3*3盒滤波的情况下,指示处理目标数据行DLi所需的延迟的数据行DLi+1的数量的延迟大小DSZ可为一。
图2B仅示出了单个图像帧中包括的许多像素数据中的5*5盒滤波中使用的二十五个像素数据P1~P25。
图像信号处理器核中的示例处理模块可以利用邻近像素数据P1~P12和P14~P25来处理中心像素数据P13,以输出处理后的像素数据P13’。
当逐行提供图像帧时,为了处理第i数据行DLi中的中心像素数据P13,除在当前第i数据行DLi之前接收到的第(i-2)数据行DLi-2中的像素数据P1~P5和第(i-1)数据行DLi-1中的像素数据p6~P10之外,示例处理模块还需要在第i数据行DLi之后按次序接收到的第(i+1)数据行DLi+1中的像素数据P16~P20和第(i+2)数据行DLi+2中的像素数据P21~P25。换句话说,在接收在目标数据行DLi之后接收到的两个延迟的数据行DLi+1和DLi+2之后,示例处理模块可以对目标数据行DLi执行延迟的滤波操作。
这样,在5*5盒滤波的情况下,指示处理目标数据行DLi所需的延迟的数据行DLi+1和DLi+2的数量的延迟大小DSZ可为二。
参照图2A和图2B将3*3盒滤波和5*5盒滤波作为示例描述,并且示例实施例不限于此。示例实施例可以应用于n*1窗口的竖直滤波和n*m的盒滤波,其中n和m中的每一个为大于一的整数。下文中,执行延迟的滤波操作的示例处理模块可以被称作延迟的处理模块。延迟的处理模块的延迟大小DSZ可以被称作模块延迟大小,并且图像信号处理器核的整体延迟大小可以被称作核延迟大小。
图3和图4是示出根据示例实施例的通过图像信号处理器进行的数据流的示例实施例的图。
参照图1和图3,可以通过第一信道CH1将第一图像帧FRM1提供至图像信号处理器10。第一图像帧FRM1可包括多个第一图像数据行IL11~IL1n,多个第一图像数据行IL11~IL1n可以以行为单位(即,逐行)被提供至行交织控制器100。
行交织控制器100中的虚拟行产生器300可以产生和输出第一虚拟数据行VL1n+1~VL1n+k,使得第一虚拟数据行VL1n+1~VL1n+k的数量k对应于核延迟大小CDSZ。如将参照图7和图8描述的,核延迟大小CDSZ可以指示从图像信号处理器核200的输入至输出的管线路径中包括的延迟的处理模块的模块延迟大小之和。
行交织控制器100可以通过以行为单位按次序输出多个第一图像数据行IL11~IL1n和第一虚拟数据行VL1n+1~VL1n+k来产生输入流信号STRIN。
图像信号处理器核200可以基于输入流信号STRIN中的多个第一图像数据行IL11~IL1n和第一虚拟数据行VL1n+1~VL1n+k即时执行处理,并且通过处理和输出第一处理后的图像数据行PIL11~PIL1n来产生输出流信号STROUT。
图4示出了这样的示例:第一图像帧FRM1包括五个第一图像数据行IL11~IL15,并且第一图像帧FRM1的端部中包括的一个或多个端部图像数据行利用三个虚拟数据行VL16~VL18来进行处理,但是示例实施例不限于此。可以根据通过图像信号处理器10接收到的图像的分辨率不同地确定第一图像帧FRM1中包括的第一图像数据行的数量,并且可以根据图像信号处理器核200的配置不同地确定第一虚拟数据行的数量。
在图4中,tB表示行交织控制器100的缓冲时间,tLL表示从行交织控制器100按次序输出的两个相邻的数据行之间的行时间间隔,tCD表示图像信号处理器核200的行延迟时间,并且tCP表示图像信号处理器核200的核处理时间。可以由核延迟大小CDSZ和行时间间隔tLL的乘法CDSZ*tLL来表示行延迟时间tCD。
如图4所示,核延迟大小CDSZ可为三,并且第一虚拟数据行VL16~VL18的数量可为三。换句话说,第一虚拟数据行VL16~VL18的数量可以等于核延迟大小CDSZ。
第一处理后的图像数据行PIL11~PIL15对应于第一图像帧FRM1的第一图像数据行IL11~IL15。在处理端部图像数据行时使用和消耗虚拟数据行VL16~VL18,因此在输出流信号STROUT中不包括对应于虚拟数据行VL16~VL18的数据行。
图5和图6是示出根据示例实施例的通过图像信号处理器进行的数据流的示例实施例的图。
参照图1和图5,可以分别通过第一信道CH1和第二信道CH2将第一图像帧FRM1和第二图像帧FRM2提供至图像信号处理器10。第一图像帧FRM1可包括多个第一图像数据行IL11~IL1n,多个第一图像数据行IL11~IL1n可以以行为单位(即,逐行)被提供至行交织控制器100。第二图像帧FRM2可包括多个第二图像数据行IL21~IL2m,并且可以以行为单位将多个第二图像数据行IL21~IL2m提供至行交织控制器100。根据第一图像帧FRM1和第二图像帧FRM2的分辨率,第一图像数据行IL11~IL1n的数量n和第二图像数据行IL21~IL2m的数量m可以彼此相等或不同。
行交织控制器100中的虚拟行产生器300可以产生和输出第一虚拟数据行VL1n+1~VL1n+k和第二虚拟数据行VL2m+1~VL2m+k,使得第一虚拟数据行VL1n+1~VL1n+k和第二虚拟数据行VL2m+1~VL2m+k中的每一个的数量k对应于核延迟大小CDSZ。如将参照图7和图8描述的,核延迟大小CDSZ可以表示从图像信号处理器核200的输入至输出的管线路径中包括的延迟的处理模块的模块延迟大小。
行交织控制器100可以通过以行为单位按次序输出多个第一图像数据行IL11~IL1n、多个第二图像数据行IL21~IL2m、第一虚拟数据行VL1n+1~VL1n+k和第二虚拟数据行VL2m+1~VL2m+k来产生输入流信号STRIN。
图像信号处理器核200可以基于输入流信号STRIN中的多个第一图像数据行IL11~IL1n、多个第二图像数据行IL21~IL2m、第一虚拟数据行VL1n+1~VL1n+k和第二虚拟数据行VL2m+1~VL2m+k即时执行处理,并且通过处理和输出第一处理后的图像数据行PIL11~PIL1n和第二处理后的图像数据行PIL21~PIL2m来产生输出流信号STROUT。
图6示出了这样的示例:第一图像帧FRM1包括三个第一图像数据行IL11~IL13,第二图像帧FRM2包括五个第二图像数据行IL21~IL25,并且利用两个第一虚拟数据行VL14和VL15和两个第二虚拟数据行VL26和VL27来处理第一图像帧FRM1和第二图像帧FRM2的端部中包括的一个或多个端部图像数据行,但是示例实施例不限于此。第一图像帧FRM1中包括的第一图像数据行的数量和第二图像帧FRM2中包括的第二图像数据行的数量可以根据由图像信号处理器10接收到的图像的分辨率来不同地确定,并且第一虚拟数据行的数量和第二虚拟数据行的数量可以根据图像信号处理器核200的配置来不同地确定。
在图6中,tB表示行交织控制器100的缓冲时间,tLL表示从行交织控制器100按次序输出的第一图像帧的两个相邻的数据行之间的行时间间隔,tCD表示图像信号处理器核200的行延迟时间,并且tCP表示图像信号处理器核200的核处理时间。
行延迟时间tCD可以由核延迟大小CDSZ和行时间间隔tLL的乘法CDSZ*tLL表示,但是示例实施例不限于此。可以不同地确定第一图像帧FRM1中包括的第一图像数据行的行时间间隔tLL和第二图像帧FRM2中包括的第二图像数据行的行时间间隔。例如,输入流信号STRIN可包括同一图像帧中包括的按次序的两个或更多个图像数据行,因此行延迟时间可为可变的。
TI1和TI2表示当完成第一图像帧FRM1和第二图像帧FRM2至行交织控制器100的输入时的时间点。T01和T02表示当完成第一处理后的图像数据行PIL11~PIL13和第二图像数据行PIL21~PIL25从图像信号处理器核200的输出时的时间点。
如图6所示,核延迟大小CDSZ可为二,并且第一虚拟数据行VL14和VL15以及第二虚拟数据行VL26和VL27中的每一个的数量可为二。换句话说,第一虚拟数据行VL14和VL15以及第二虚拟数据行VL26和VL27中的每一个的数量可以等于核延迟大小CDSZ。
第一处理后的图像数据行PIL11~PIL13对应于第一图像帧FRM1的第一图像数据行IL11~IL13,第二处理后的图像数据行PIL21~PIL15对应于第二图像帧FRM2的第二图像数据行IL21~IL25。在处理端部图像数据行中使用和消耗第一虚拟数据行VL14和VL15以及第二虚拟数据行VL26和VL27,因此在输出流信号STROUT中不包括对应于第一虚拟数据行VL14和VL15以及第二虚拟数据行VL26和VL27的数据行。
图7是示出根据示例实施例的图像信号处理器的框图。
参照图7,图像信号处理器11可包括行交织控制器(LIC)100和图像信号处理器核(ISPCR)201。
行交织控制器100可以通过第一信道CH1接收第一图像帧FRM1中包括的多个第一图像数据行,并通过第二信道CH2接收第二图像帧FRM2中包括的多个第二图像数据行。行交织控制器100可以包括虚拟行产生器(VLG)300,其用于产生对应于第一图像帧FRM1的第一虚拟数据行和对应于第二图像帧FRM2的第二虚拟数据行。
行交织控制器100可以利用TDM方案将所述多个第一图像数据行、所述多个第二图像数据行、第一虚拟数据行和第二虚拟数据行逐行按次序地传递至图像信号处理器核201。行交织控制器100可以将所述多个第一图像数据行、所述多个第二图像数据行、第一虚拟数据行和第二虚拟数据行作为输入流信号STRIN传递至图像信号处理器核201。
图像信号处理器核201可包括管线电路PLC。管线电路PLC可包括串联连接以顺序地处理从行交织控制器100接收到的数据行的多个处理模块MA~MC。
例如,如图7所示,管线电路PLC可包括第一处理模块MA、第二处理模块MB和第三处理模块MC。第一处理模块MA可以处理输入流信号STRIN中的数据行以产生第一流信号STRA,第二处理模块MB可以处理第一流信号STRA中的数据行以产生第二流信号STRB,并且第三处理模块MC可以处理第二流信号STRB中的数据行以产生输出流信号STROUT。这样,管线电路PLC中的处理模块MA、MB和MC可以执行输入流信号STRIN中包括的数据行的管线处理。
处理模块MA、MB和MC可为执行如参照图2A和图2B描述的延迟的滤波操作的延迟的处理模块。例如,第一处理模块MA的第一模块延迟大小MDSZA可以为一,第二处理模块MB的第二模块延迟大小MDSZB可以为二,第三处理模块MC的第三模块延迟大小MDSZC为一。结果,管线电路PLC的核延迟大小CDSZ可为四,其对应于从图像信号处理器核201的输入至输出的管线路径中包括的处理模块MA、MB和MC的模块延迟大小MDSZA、MDSZB和MDSZC之和。
图7所示的管线电路PLC是非限制性示例,例如,根据示例实施例的图像信号处理器中包括的图像信号处理器核可以具有如将参照图11和图12描述的各种配置。
图8是示出图7的图像信号处理器的示例操作的时序图。
图8示出了这样的示例:第一图像帧FRM1包括三个第一图像数据行IL11~IL13,第二图像帧FRM2包括八个第二图像数据行IL21~IL28,并且第一图像帧FRM1中包括的第一图像数据行的数量和第二图像帧FRM2中包括的第二图像数据行的数量可以根据由图像信号处理器11接收到的图像的分辨率来不同地确定。为了便于示出和描述,图8中省略了对应于第二图像帧FRM2的第二虚拟数据行,并且参照第一图像帧FRM1的处理描述示例实施例。
在图8中,tB表示行交织控制器100的初始缓冲时间,tLL表示从行交织控制器100按次序输出的第一图像帧的两个相邻的数据行之间的行时间间隔,tMDA、tMDB和tMDC表示处理模块MA、MB和MC的各自的行延迟时间,并且tMPA、tMPB和tMPC表示处理模块MA、MB和MC的各自的处理时间。
第一处理模块MA的第一行延迟时间tMDA可以由第一模块延迟大小MDSZA=1与行时间间隔tLL的乘法1*tLL表示,第二处理模块MB的第二行延迟时间tMDB可以由第二模块延迟大小MDSZB=2与行时间间隔tLL的乘法2*tLL表示,并且第三处理模块MC的第三行延迟时间tMDC可以由第三模块延迟大小MDSZC=1与行时间间隔tLL的乘法1*tLL表示,但是示例实施例不限于此。可以不同地确定第一图像帧FRM1中包括的第一图像数据行的行时间间隔和第二图像帧FRM2中包括的第二图像数据行的行时间间隔。例如,输入流信号STRIN可包括同一图像帧中包括的按次序的两个或更多个图像数据行,因此行延迟时间可为可变的。
TI1表示当完成第一图像帧FRM1至行交织控制器100的输入时的时间点。TO1表示当完成第一处理后的图像数据行PIL11~PIL13从图像信号处理器核201的输出时的时间点。
参照图7和图8,虚拟行产生器300可以产生对应于第一图像帧FRM1的第一虚拟数据行VL14~VL17和对应于第二图像帧FRM2的第二虚拟数据行(未示出)。行交织控制器100可以通过利用TDM方案以行为单位输出第一图像数据行IL1~IL3、第二图像数据行IL21~IL28、第一虚拟数据行VL14~VL17和第二虚拟数据行来产生输入流信号STRIN。
第一处理模块MA可以对输入流信号STRIN中的数据行执行以第一模块延迟大小MDSZA=1延迟的延迟的滤波操作,以产生包括通过第一处理模块MA处理的图像数据行AL11~AL13和AL21~AL27的第一流信号STRA。在一些示例实施例中,第一处理模块MA可以利用一个第一虚拟数据行VL14对一个第一端部图像数据行IL13执行延迟的滤波操作,并且输出在通过第一处理模块MA的延迟的滤波操作中不使用的三个第一虚拟数据行VL15~VL17,而不处理。
第二处理模块MB可以对第一流信号STRA中的数据行执行以第二模块延迟大小MDSZB=2延迟的延迟的滤波操作,以产生包括通过第二处理模块MB处理的图像数据行BL11~BL13和BL21~BL25的第二流信号STRB。在一些示例实施例中,第二处理模块MB可以利用两个第一虚拟数据行VL15和VL16对两个端部图像数据行AL12和AL13执行延迟的滤波操作,并且输出在通过第二处理模块MB的延迟的滤波操作中不使用的一个第一虚拟数据行VL17,而不处理。
第三处理模块MC可以对第二流信号STRB中的数据行执行以第三模块延迟大小MDSZC=1延迟的延迟的滤波操作,以产生包括通过第三处理模块MC处理的图像数据行PL11~PL13和PL21~PL24的输出流信号STROUT。在一些示例实施例中,第三处理模块MC可以利用一个第一虚拟数据行VL17对一个端部图像数据行BL13执行延迟的滤波操作。
结果,图像信号处理器核201的整个行延迟时间tCD可以对应于核延迟大小CDSZ=4与行时间间隔tLL的乘法4*tLL。核处理时间tCP可以由第一模块处理时间tMPA、第二模块处理时间tMPB和第三模块处理时间tMPC之和表示。如上所述,行时间间隔可为可变的。
虚拟数据行的数量可以根据图像信号处理器核的配置来不同地确定。行交织控制器100可以基于延迟的处理模块的模块延迟大小来确定虚拟数据行的数量,如上所述,其中每个模块延迟大小表示各延迟的处理模块的延迟数据行的数量。虚拟数据行之间的时间间隔可以根据图像数据行的输入速度来确定,或者可以确定为预定的(或者可替换地、期望的)时间间隔。
在一些示例实施例中,当图像信号处理器核包括单个管线电路时,行交织控制器100可以产生和输出虚拟数据行,使得虚拟数据行的数量等于单个管线电路中包括的延迟的处理模块的模块延迟大小之和。例如,如参照图7和图8描述的,行交织控制器100包括一个管线电路PLC,并且对应于一个管线电路PCL中包括的延迟的处理模块MA、MB和MC的模块延迟大小MDSZA、MDSZB和MDSZC之和的核延迟大小CDSZ可为四。在一些实施例中,行交织控制器100可以产生和输出对应于第一图像帧FRM1的四个虚拟数据行VL14~VL17和对应于第二图像帧FRM2的四个第二虚拟数据行(未示出)。
如参照图8描述的,各个延迟的处理模块可以利用第一数量的接收到的虚拟数据行对端部图像数据行执行延迟的滤波操作,并且输出第二数量的接收到的虚拟数据行,而不处理。这里,第一数量对应于各个延迟的处理模块的模块延迟大小,第二数量对应于在各个延迟的处理模块的延迟的滤波操作中不使用的接收到的虚拟数据行。
图9A是示出延迟的处理模块的示例的框图,图9B是示出图9A的延迟的处理模块的操作的时序图。作为非限制性示例,图9A和图9B示出了模块延迟大小MDSZ为一。
参照图9A,延迟的处理模块50可包括行缓冲器控制电路(LBC)51和滤波电路FLT。
行缓冲器控制电路51可以缓冲前一阶段(另一延迟的处理模块或者输入信道本身)提供的第一流信号STR1中的数据行,以输出第二流信号STR2。滤波电路FLT可以基于第二流信号STR2中的数据行来执行滤波操作,以产生包括处理的数据行或滤波的数据行的第三流信号STR3。
行缓冲器控制电路51可包括存储先前接收的两个图像数据行的两个行缓冲器LNM1和LNM2以及处理图像帧的一个端部图像数据行的行消耗电路(line drain circuit)LDC。
行缓冲器控制电路51可以与第一流信号STR1中的第i图像数据行ILi同步地输出存储在两个行缓冲器LNM1和LNM2中的第(i-2)图像数据行ILi-2和第(i-1)图像数据行ILi-1,并且同时输出第i图像数据行ILi。
滤波电路FLT可以基于同时接收到的第(i-2)、第(i-1)和第i图像数据行来执行如参照图2A描述的3*3盒滤波,并且输出第(i-1)滤波的图像数据行FILi-1。
为了便于示出和描述,图9B示出了图像帧包括五个图像数据行IL1~IL5的示例。tLL表示两个相邻的数据行之间的行时间间隔,tMD表示延迟的处理模块50的行延迟时间,并且tMP表示延迟的处理模块50的处理时间。行延迟时间tMD可以由模块延迟大小MDSZ-1=1和行时间间隔tLL的乘法1*tLL来表示。
如图9B所示,延迟的处理模块50可以与通过第一流信号STR1接收到的第i图像数据行ILi同步地对第(i-1)图像数据行ILi-1执行延迟的滤波操作。在一些实施例中,通过从行消耗电路LDC提供的数据行IL6执行对端部图像数据行IL5的延迟的滤波操作,因为未从前一阶段接收到用于处理端部图像数据行IL5的数据行。
在对端部图像数据行IL5执行延迟的滤波操作的同时,延迟的处理模块50可以不从前一阶段接收数据行,因此行缓冲器控制电路51必须激活提供至前一阶段以指示延迟的处理模块不能接收数据行的停顿信号(stall signal)STL。
当延迟的处理模块50本身控制端部图像数据行的处理时序时,相对于来自多个信道的多个输入,对于TDM方案存在许多问题。在延迟的处理模块处理端部图像数据行的同时,停顿信号STL需要被激活以减少或防止下一数据行从前一阶段的传递。在一些实施例中,前一阶段的缓冲器可以被不期望地填充,因为通过信道连续地传递图像数据行。另外,由于来自特定信道的冲入的图像数据行,可能无法及时处理端部图像数据行。如果管线路径中存在多个延迟的处理模块,则问题变得更加严重。这样,可能无法正确地处理端部图像数据行,因为当行缓冲器控制电路51确定处理端部图像数据行的时序时,其它处理模块的状态和存储来自信道的数据的缓冲器可能不可用。
图10A是示出根据示例实施例的图像信号处理器中包括的延迟的处理模块的示例的框图,图10B是示出图10A的延迟的处理模块的操作的时序图。
参照图10A,延迟的处理模块60可包括行缓冲器控制电路LBC 61和滤波电路FLT。
与图9A中的行缓冲器控制电路51比较,图10A中的行缓冲器控制电路61不包括行消耗电路LDC。除对端部图像数据行的延迟的滤波操作之外,图10A和图10B的延迟的处理模块60的配置和操作与图9A和图9B的延迟的处理模块50的那些相同或基本相同,因此,省略重复描述。
如图10B所示,延迟的处理模块60可以与从行交织控制器100接收到的虚拟数据行VL6同步地对端部图像数据行IL5即时执行延迟的滤波操作。在一些实施例中,针对端部图像数据行IL5的延迟的滤波操作,不要求延迟的处理模块应停止从前一行交织控制器100或者前一处理模块接收数据行。因此,在对端部图像数据行IL5的延迟的滤波操作期间,图10A中的行缓冲器控制电路61不必像图9A中的行缓冲器控制电路61那样激活停顿信号STL。换句话说,在图像信号处理器核中的延迟的处理模块对端部图像数据行IL5执行延迟的滤波操作时,包括延迟的处理模块60的图像信号处理器核可以从行交织控制器100接收数据行。
这样,根据示例实施例的行交织控制器100可以产生额外的虚拟数据行,以减少或者防止信道之间的干扰或冲突,并且以行为单位有效地支持TDM。可以通过先于图像信号处理器核中的管线电路的行交织控制器100来确定数据行的产生和次序,并且可以消除管线电路的操作不确定性。管线电路中的延迟的处理模块可以与从行交织控制器100提供的图像数据行和虚拟数据行同步地被动地操作,因此可以提高管线处理的性能。
图11和图12是示出根据示例实施例的图像信号处理器的框图。
参照图11,图像信号处理器12可包括行交织控制器LIC 100和图像信号处理器核202。行交织控制器100可包括如上所述的虚拟行产生器。
图像信号处理器核202可包括处理模块MA、MB1、MB2、MC1、MC2和MC3。两个处理模块MB1和MB2可以形成第一管线电路PLC1,以产生第一输出流信号STROUT1,三个处理模块MC1、MC2和MC3可以与第一管线电路PLC1并联连接,并且形成第二管线电路PLC2,以产生第二输出流信号STROUT2。
如图11所示,第一管线电路PLC1可包括执行如上所述的延迟的滤波操作的一个第一延迟的处理模块MB1,第二管线电路PLC2可包括两个第二延迟的处理模块MC2和MC3。例如,第一延迟的处理模块MB1的模块延迟大小MDSZB1可为一,一个第二延迟的处理模块MC2的模块延迟大小MDSZC2可为三,并且另一第二延迟的处理模块MC3的模块延迟大小MDSZC2可为一。在一些实施例中,第一管线电路PLC1的第一管线延迟大小PDSZ1可为一,其对应于第一管线电路PLC1中包括的第一延迟的处理模块MB1的第一模块延迟大小MDSZB1;并且第二管线电路PLC2的第二管线延迟大小PDSZ2可为四,其对应于第二管线电路PLC2中包括的第二延迟的处理模块MC2和MC3的两个第二模块延迟大小MDSZC2和MDSZC3之和。
行交织控制器100可以产生和输出虚拟数据行,使得虚拟数据行的数量等于第一管线延迟大小PDSZ1=1和第二管线延迟大小PDSZ1=4中的较大的一个。也就是说,行交织控制器100可以产生和输出四个虚拟数据行。行交织控制器100可以以行为单位接收分辨率为w*n的图像帧FRM,其中n表示图像帧FRM的行数,w表示每行图像帧FRM的像素数。换句话说,图像帧FRM可包括n个图像数据行。行交织控制器100可以以行为单位产生输入流信号STRIN,使得输入流信号STRIN包括n个图像数据行和四个虚拟数据行。换句话说,输入流信号STRIN可包括分辨率为w*(n+4)的扩展的图像帧。
图像信号处理器202可以与n个图像数据行和四个虚拟数据行同步地被动地执行延迟处理。
第一管线电路PLC1中的第一处理模块MB1可以利用四个虚拟数据行中的一个虚拟数据行对图像帧FRM的一个端部图像数据行执行延迟的滤波操作,以产生包括分辨率为w*n的图像帧的第一输出流信号STROUT1。第一处理模块MB1可以忽略四个虚拟数据行中的三个未使用的虚拟数据行。
第二管线电路PLC2中的第二处理模块MC2可以利用四个虚拟数据行中的三个虚拟数据行对图像帧FRM的三个端部图像数据行执行延迟的滤波操作,第三处理模块MC3可以利用四个虚拟数据行中的一个虚拟数据行对一个端部图像数据行执行延迟的滤波操作,以产生包括分辨率为w*n的图像帧的第二输出流信号STROUT2。端部图像数据行的数量可以对应于第二延迟的处理模块MC2和MC3的模块延迟大小MDSZC2和MDSZC3中的最大值。
图12的图像信号处理器13与图11的图像信号处理器12相似,并且可以省略重复描述。
与图11的图像信号处理器12相比,图12的图像信号处理器13还可以包括混合器MXR和处理模块MD,混合器MXR被配置为将第一管线电路PLC1的输出和第二管线电路PLC2的输出混合,处理模块MD被配置为处理混合器MXR的输出。
针对混合器MXR的混合操作,可能需要逐行使第一管线电路PLC1的输出和第二管线电路PLC2的输出同步。对于这种同步,第一管线电路PLC1还可以包括第一管线电路PLC1的管线路径上的延迟缓冲器DBF。延迟缓冲器DBF可以延迟接收到的数据行而不处理,使得第一管线延迟大小PDSZ1和第二管线延迟大小PDSZ2可变得彼此相等。在图12的示例中,延迟缓冲器DBF的延迟大小BDSZ可设为三,第一管线延迟大小PDSZ1可设为四,其等于第二管线延迟大小PDSZ2。
尽管图11和图12中未示出,但是图像信号处理器202和203还可以包括至少一个处理模块,其被配置为执行缩放操作和/或剪裁操作,以改变图像帧的分辨率。在一些实施例中,改变分辨率模块的模块可以输出虚拟数据行,而不处理,如参照图7和图8描述的。
图13是示出根据示例实施例的数据处理系统的框图。
参照图13,数据处理系统500可包括应用处理器(AP)600、多个成像装置IMD1和IMD2、外部存储器(MEM)700和/或显示装置(DIS)800。例如,数据处理系统500可以实施为个人计算机(PC)或者移动计算装置。例如,移动计算装置可为笔记本计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数码照相机、数码摄像机、便携式多媒体播放器(PMP)、个人导航装置或者便携式导航装置(PND)、手持游戏机、移动互联网装置(MID)、可穿戴计算机、物联网(IoT)装置、万物网(IoE)装置或电子书。
AP 600可以实施为集成电路(IC)、母板、片上系统(SoC)、移动AP等。AP 600可包括总线架构(或总线)640、中央处理单元(CPU)610、多个接口INT1和INT2、图像信号处理器(ISP)10、存储器控制器(MC)620和/或显示控制器(DC)630。CPU 610、ISP 10、存储器控制器620和/或显示控制器630可以通过总线架构640彼此传送命令和/或数据。例如,总线架构640可以实施为利用高级微控制器总线架构(AMBA)协议的总线、利用高级高性能总线(AHB)协议的总线、利用高级外围总线(APB)协议的总线、利用AMBA可扩展互连(AXI)协议的总线、或者它们的组合。
CPU 610可以控制AP 600的整体操作。例如,CPU 610可以控制接口INT1和INT2、ISP 10、存储器控制器620和显示控制器630。CPU 610可包括至少一个核。
例如,第一接口INT1可以从第一成像装置IMD1接收第一图像和第一控制信号,并且将它们发送至ISP 10。例如,第二接口INT2可以从第二成像装置IMD2接收第二图像和第二控制信号,并且将它们发送至ISP 10。例如,第一图像和第二图像可以被称作图片、图像数据、图像数据流或者图像帧。
例如,第一成像装置IMD1和第二成像装置IMD2可以实施为互补金属氧化物半导体(CMOS)图像传感器芯片或相机模块。第一成像装置IMD1和第二成像装置IMD2可以利用例如移动工业处理器接口(MIPI)相机串行接口(CSI)将第一图像和第二图像以及第一控制信号和第二控制信号分别发送至第一接口INT1和第二接口INT2。例如,第一图像的分辨率可以与第二图像的分辨率不同。
ISP 10可以对第一图像和/或第二图像执行时分复用(TDM)。TDM可以不以图像帧为单位执行。作为替代,可以以行为单位执行TDM,而不使用外部存储器700。
例如,ISP 10可以以行为单位利用TDM方案即时执行从成像装置IMD1和IMD2输出的图像帧。根据示例实施例,ISP 10可包括如上所述的行交织控制器100和图像信号处理器核,使得行交织控制器100产生虚拟数据行,并且图像信号处理器核利用虚拟数据行处理帧图像的端部中包括的一个或多个端部图像数据行。
例如,图像信号处理器核可以执行自动暗电平补偿、坏像素替换、降噪、镜头阴影补偿、颜色校正、RGB伽马校正、边缘增强、色调控制和颜色抑制中的至少一个。
存储器控制器620可以根据CPU 610的控制将在TDM模式下通过ISP 10处理的数据存储在外部存储器700中。显示控制器630可以根据CPU 610的控制将数据(例如,帧数据)从外部存储器700发送至显示装置800。例如,显示控制器630可以利用例如MIPI显示串行接口(DSI)或者嵌入式显示端口(eDP)将数据(例如,帧数据)从外部存储器700发送至显示装置800。
图14是示出根据示例实施例的行交织控制器100的框图。
参照图14,行交织控制器100可包括虚拟行产生器(VLG)300、控制逻辑电路(CLG)110、缓冲电路(BFC)130和/或复用器(MUX)150。
缓冲电路130可以缓冲通过第一信道CH1和第一接口INT1从第一成像装置IMD1提供的第一图像帧FRM1中的多个第一图像数据行和通过第二信道CH2和第二接口INT2从第二成像装置IMD2提供的第二图像帧FRM2中的多个第二图像数据行,以产生包括第一图像数据行IL1和第二图像数据行IL2的缓冲输出信号BOUT。
虚拟行产生器300可以产生对应于第一图像帧FRM1的第一虚拟数据行VL1和对应于第二图像帧FRM2的第二虚拟数据行VL2,并且每次选择性地输出第一虚拟数据行或者第二虚拟数据行。复用器150可以通过选择缓冲电路130的输出和虚拟行产生器300的输出来输出输入流信号STRIN。
控制逻辑电路110可以控制缓冲电路130、虚拟行产生器300和/或复用器150的整体操作。控制逻辑电路110可以基于通过第一信道CH1提供的第一同步SYNC1和通过第二信道CH2提供的第二同步SYNC2来产生控制虚拟行产生器300的第一控制信号CTRL1、控制缓冲电路130的第二控制信号CTRL2和控制复用器150的选择信号SEL。另外,控制逻辑电路110可以产生用于设置为挨着行交织控制器100的图像信号处理器核的操作的第三同步信号SYNC1’、第四同步信号SYNC2’和虚拟行识别信号VLID。
同步信号可包括指示传递各个图像帧的开始和结束时序的竖直同步信号、指示传递各个数据行的开始和结束时序的水平同步信号、时钟信号、数据使能信号等。
如上所述,第一虚拟数据行VL1可用于处理第一图像帧FRM1的端部图像数据行中,第二虚拟数据行VL2可用于处理第二图像帧FRM2的端部图像数据行中。
图15是示出图14的行交织控制器100的操作的时序图。
第一图像帧FRM1、第二图像帧FRM2和输入流信号STRIN与参照图6描述的相同,并且省略重复描述。
参照图14和图15,在激活第一竖直同步信号VSYNC1的同时,可以重复地激活第一水平同步信号HSYNC1,并且可以将第一图像数据行IL11~IL13与第一水平同步信号HSYNC1的激活同步地从第一成像装置IMD1传递至行交织控制器100。按照相同的方式,在激活第二竖直同步信号VSYNC2的同时,可以重复地激活第二水平同步信号HSYNC2,并且可以将第二图像数据行IL21~IL25与第二水平同步信号HSYNC2的激活同步地从第二成像装置IMD2传递至行交织控制器100。
行交织控制器100中的控制逻辑电路110可以产生与输入流信号STRIN中包括的第一图像数据行IL11~IL13以及第一虚拟数据行VL14和VL15同步的第三竖直同步信号VSYNC1’和第三水平同步信号HSYNC1’,并且产生与输入流信号STRIN中包括的第二图像数据行IL21~IL25以及第二虚拟数据行VL26和VL27同步的第四竖直同步信号VSYNC2’和第四水平同步信号HSYNC2’,它们被提供至图像信号处理器核。
第三竖直同步信号VSYNC1’、第三水平同步信号HSYNC1’、第四竖直同步信号VSYNC2’和第四水平同步信号HSYNC2’可以对应于指示输入流信号STRIN中的当前数据是对应于第一图像帧FRM1还是对应于第二图像帧FRM2的信道识别信号。图像信号处理器核可以基于信道识别信号独立地执行第一图像帧FRM1的处理和第二图像帧FRM2的处理。
另外,行交织控制器100中的控制逻辑电路110可以产生指示输入流信号STRIN中的当前数据行是对应于图像数据行还是对应于虚拟数据行的虚拟行识别信号VLID。图像信号处理器核可以基于虚拟行识别信号VLID执行第一图像帧FRM1和第二图像帧FRM2的端部图像数据行的处理。
图16至图19是示出根据示例实施例的行交织控制器100中包括的缓冲电路的示例实施例的图。
参照图16,缓冲电路131可包括第一复用器MUX1、行缓冲器LNM和/或第二复用器MUX2。第一复用器MUX1可以基于第一选择信号SEL1每次选择性地输出第一图像帧FRM1的第一图像数据行或者第二图像帧FRM2的第二图像数据行。行缓冲器LNM可以基于缓冲控制信号LCTRL存储从第一复用器MUX1输出的一个图像数据行,并输出存储的图像数据行。第二复用器MUX2可以基于第二选择信号SEL2每次选择性地输出第一图像帧FRM1的第一图像数据行、第二图像帧FRM2的第二图像数据行以及从行缓冲器LNM输出的图像数据行,以产生缓冲输出信号BOUT。在由控制逻辑电路110产生的第一控制信号CTRL1中可以包括第一选择信号SEL1、第二选择信号SEL2和缓冲控制信号LCTRL。
当第一图像数据行的传递时间间隔和第二图像数据行的传递时间间隔重叠时,图16的缓冲电路131可以在行缓冲器LNM中暂时存储一个图像数据行,以即时实施第一图像帧FRM1和第二图像帧FRM2的TDM。
参照图17,缓冲电路132可包括第一行缓冲器LNM1、第二行缓冲器LNM2和/或复用器MUX。第一行缓冲器LNM1可以基于第一缓冲控制信号LCTRL1存储第一图像帧FRM1的一个第一图像数据行,并且输出存储的第一图像数据行。第二行缓冲器LNM2可以基于第二缓冲控制信号LCTRL2存储第二图像帧FRM2的一个第二图像数据行,并且输出存储的第二图像数据行。复用器MUX可以基于选择信号MSEL每次选择性地输出第一图像帧FRM1的第一图像数据行、第二图像帧FRM2的第二图像数据行、从第一行缓冲器LNM1输出的第一图像数据行和从二行缓冲器LNM2输出的第二图像数据行,以产生缓冲输出信号BOUT。在由控制逻辑电路110产生的第一控制信号CTRL1中可以包括选择信号MSEL、第一缓冲控制信号LCTRL1和第二缓冲控制信号LCTRL2。
当第一图像数据行的传递时间间隔和第二图像数据行的传递时间间隔重叠时,图17的缓冲电路132可以在第一行缓冲器LNM1或者第二行缓冲器LNM2中临时存储一个图像数据行,以即时实施第一图像帧FRM1和第二图像帧FRM2的TDM。
参照图18,缓冲电路133可包括公共存储器区CMREG,其被配置为根据缓冲电路133接收第一图像数据行IL11和IL12以及第二图像数据行IL21、IL22和IL23的接收次序存储第一图像数据行IL11和IL12以及第二图像数据行IL21、IL22和IL23。控制逻辑电路110可以按次序改变指示存储被缓冲电路133当前接收到的图像数据行的位置的写指针WPTR。
控制逻辑电路110可以控制缓冲电路133,使得缓冲电路133通过根据接收次序输出存储在公共存储器区CMREG中的第一图像数据行IL11和IL12以及第二图像数据行IL21、IL22和IL23来产生缓冲输出信号BOUT。控制逻辑电路110可以按次序改变指示读取将从缓冲电路133输出的图像数据行的位置的读指针RPTR。
可以利用图18的缓冲电路133按照先进先出(FIFO)方案执行第一图像帧FRM1和第二图像帧FRM2的以行为单位的TDM。
参照图19,缓冲电路134可包括第一存储器区MREG1和第二存储器区MREG2。缓冲电路134可以根据缓冲电路接收第一图像数据行IL11和IL12的第一接收次序在第一存储器区MREG1中按次序存储第一图像数据行IL11和IL12,并且根据缓冲电路134接收第二图像数据行IL21、IL22和IL23的第二接收次序在第二存储器区MREG2中存储第二图像数据行IL21、IL22和IL23。控制逻辑电路110可以按次序改变指示存储当前通过缓冲电路134接收到的第一图像数据行的位置的第一写指针WPTR1,并且按次序改变指示存储当前通过缓冲电路134接收到的第二图像数据行的位置的第二写指针WPTR2。
控制逻辑电路110可以确定存储在第一存储器区MREG1中的第一图像数据行IL11和IL12以及存储在第二存储器区MREG2中的第二图像数据行IL21、IL22和IL23的优先级次序,并且控制缓冲电路134,使得缓冲电路134通过根据优先级次序输出存储在第一存储器区MREG1中的第一图像数据行IL11和IL12以及存储在第二存储器区MREG2中的第二图像数据行IL21、IL22和IL23来产生缓冲输出信号BOUT。控制逻辑电路110可以按次序改变指示读取将从缓冲电路134输出的第一图像数据行的位置的第一读指针RPTR1,并按次序改变指示读取将从缓冲电路134输出的第二图像数据行的位置的第二读指针RPTR2。
可以利用图19的缓冲电路134来适应地确定通过不同信道提供的第一图像帧FRM1和第二图像帧FRM2的处理次序。控制逻辑电路110可以基于第一图像帧FRM1和第二图像帧FRM2的帧率、重要程度等来确定优先级次序。
图20是示出根据示例实施例的图像信号处理器的框图。图20中还示出了第一成像装置IMD1、第二成像装置IMD2、第一接口INT1和第二接口INT2、总线640和存储器装置700。
参照图20,图像信号处理器14可包括行交织控制器LIC、图像信号处理器核ISPCR、缩放和格式化电路SFC、多媒体处理电路MPC和/或直接存储器访问控制器DMAC1~DMAC4。行交织控制器LIC可包括虚拟行产生器VLC。
在一些示例实施例中,行交织控制器LIC可以分别通过第一信道CH1和第二信道CH2从第一成像装置IMD1和第二成像装置IMD2接收第一图像帧和第二图像帧。在一些示例实施例中,行交织控制器LIC可以分别在直接存储器访问控制器DMAC1和DMAC2的控制下通过第三信道CH3和第四信道CH4从存储器装置700接收第一图像帧和第二图像帧。
缩放和格式化电路SFC可以相对于从图像信号处理器核ISPCR输出的数据执行缩放操作,改变缩放数据的格式,并且产生格式化数据。缩放操作可包括放大操作和/或缩小操作。直接存储器访问控制器DMAC3可以通过总线640将通过缩放和格式化电路SFC处理的数据存储在存储器装置700中。
缩放和格式化电路SFC可以将处理的数据传递至多媒体处理电路MPC。多媒体处理电路MPC还可以处理接收到的数据。多媒体处理电路MPC可以读取或获取存储在存储器装置700中的数据,并且利用直接存储器访问控制器DMAC4将处理后的数据存储在存储器装置700中。
图21是示出根据示例实施例的计算系统的框图。
参照图21,计算系统1000可包括处理器1010、存储器装置1020、存储装置1030、输入/输出(I/O)装置1040、图像信号处理器(ISP)10和/或多个图像传感器900。尽管图21中未示出,但是计算系统1000还可以包括被配置为与外部装置通信的端口。
处理器1010可以执行各种计算和任务。根据一些实施例,处理器1010可为微处理器或者中央处理单元(CPU)。存储器装置1020可以存储用于操作计算系统1000的数据。例如,存储器装置1020可以利用动态随机存取存储器(DRAM)装置、移动DRAM装置、静态随机存取存储器(SRAM)装置、相位随机存取存储器(PRAM)装置、铁电随机存取存储器(FRAM)装置、电阻随机存取存储器(RRAM)装置和/或磁随机存取存储器(MRAM)装置来实施。存储装置1030可包括固态驱动器(SSD)、硬盘驱动器(HDD)、压缩盘只读存储器(CD-ROM)等。输入/输出装置1040可包括诸如键盘、小键盘、鼠标等的输入装置和诸如打印机、显示装置等的输出装置。
例如(但不限于)行交织控制器、图像信号处理器和应用处理器的上面公开的任何元件可包括处理电路(分离或组合)或者在处理电路中实施,所述处理电路诸如包括逻辑电路的硬件;诸如处理器执行软件的硬件/软件组合;或者它们的组合。例如,处理电路更具体地可包括(但不限于)中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
图像信号处理器10可包括用于产生虚拟数据行的行交织控制器LIC和包括如上所述的管线结构的图像信号处理器核。可以将虚拟数据行提供至图像信号处理器核,以与虚拟数据行同步地处理图像帧的端部中包括的端部图像数据行。因此,可以有效减少或防止信道之间的干扰。
本发明构思可应用于需要处理图像信号的任何电子装置和系统。例如,本发明构思可应用于诸如移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄像机、个人计算机(PC)、服务器计算机、工作站、笔记本计算机、数字TV、机顶盒、便携式游戏机、导航系统、可穿戴装置、物联网(IoT)装置、万物网(IoE)装置、电子书、虚拟现实(VR)装置、增强现实(AR)装置、车载信息娱乐(IVI)系统、无人机等系统。
上述内容是示例实施例的说明,并且不应解释为对其的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易理解,在不实质上脱离本发明构思的情况下,在示例实施例中能够进行许多修改。
Claims (20)
1.一种图像信号处理器,包括:
行交织控制器,其被配置为接收图像帧中包括的多个图像数据行,产生对应于所述图像帧的一个或多个虚拟数据行,并且逐行按次序地输出所述多个图像数据行和所述虚拟数据行;以及
图像信号处理器核,其包括至少一个管线电路,所述管线电路包括串联连接以顺序地处理从所述行交织控制器接收到的数据行的多个处理模块,所述行交织控制器被配置为基于所述虚拟数据行处理所述图像帧的端部中包括的一个或多个端部图像数据行。
2.根据权利要求1所述的图像信号处理器,其中,所述多个处理模块包括:
一个或多个延迟的处理模块,其各自被配置为基于在待处理的目标数据行之后接收到的一个或多个延迟的数据行对所述目标数据行执行延迟的滤波操作。
3.根据权利要求2所述的图像信号处理器,其中,所述图像信号处理器核与从所述行交织控制器接收到的所述虚拟数据行同步地对所述端部图像数据行即时执行所述延迟的滤波操作,并且所述图像信号处理器在所述图像信号处理器核对所述端部图像数据行执行所述延迟的滤波操作的同时从所述行交织控制器接收数据行。
4.根据权利要求2所述的图像信号处理器,其中,所述行交织控制器基于所述延迟的处理模块的模块延迟大小来确定所述虚拟数据行的数量,各个模块延迟大小指示各个延迟的处理模块的延迟数据行的数量。
5.根据权利要求4所述的图像信号处理器,其中,所述图像信号处理器核包括单个管线电路,并且
其中,所述行交织控制器产生和输出所述虚拟数据行,使得所述虚拟数据行的数量等于所述单个管线电路中包括的延迟的处理模块的模块延迟大小之和。
6.根据权利要求4所述的图像信号处理器,其中,各个延迟的处理模块利用第一数量的接收到的虚拟数据行对所述端部图像数据行执行所述延迟的滤波操作,并且输出第二数量的接收到的虚拟数据行,而不处理,所述第一数量对应于各个延迟的处理模块的模块延迟大小,所述第二数量对应于各个延迟的处理模块的延迟的滤波操作中不使用的接收到的虚拟数据行。
7.根据权利要求4所述的图像信号处理器,其中,所述图像信号处理器核包括:
第一管线电路,其包括一个或多个第一延迟的处理模块;以及
第二管线电路,其包括一个或多个第二延迟的处理模块,所述第一管线电路与所述第一管线电路并联连接。
8.根据权利要求7所述的图像信号处理器,其中,所述行交织控制器产生并输出所述虚拟数据行,使得所述虚拟数据行的数量等于第一管线延迟大小和第二管线延迟大小中的较大的一个,所述第一管线延迟大小对应于的所述第一管线电路中包括的延迟的处理模块的模块延迟大小之和,所述第二管线延迟大小对应于所述第二管线电路中包括的延迟的处理模块的模块延迟大小之和。
9.根据权利要求7所述的图像信号处理器,其中,所述图像信号处理器核还包括:
混合器,其被配置为将所述第一管线电路和所述第二管线电路的输出混合。
10.根据权利要求9所述的图像信号处理器,其中,所述第一管线电路和所述第二管线电路之一包括:
延迟缓冲器,其被配置为延迟接收到的数据行而不处理,使得所述第一管线延迟大小和所述第二管线延迟大小变得彼此相等。
11.根据权利要求1所述的图像信号处理器,其中,所述行交织控制器通过第一信道接收第一图像帧中包括的多个第一图像数据行和通过第二信道接收第二图像帧中包括的多个第二图像数据行,产生对应于所述第一图像帧的一个或多个第一虚拟数据行和对应于所述第二图像帧的一个或多个第二虚拟数据行,并且利用时分复用方案将所述多个第一图像数据行、所述多个第二图像数据行、所述第一虚拟数据行和所述第二虚拟数据行逐行按次序地传递至所述图像信号处理器核。
12.根据权利要求11所述的图像信号处理器,其中,所述行交织控制器将所述多个第一图像数据行、所述多个第二图像数据行、所述第一虚拟数据行和所述第二虚拟数据行作为输入流信号传递至所述图像信号处理器核。
13.根据权利要求12所述的图像信号处理器,其中,所述行交织控制器在所述图像信号处理器核处理所述第一图像帧或所述第二图像帧的端部图像数据行的同时将所述输入流信号传递至所述图像信号处理器核。
14.根据权利要求12所述的图像信号处理器,其中,所述行交织控制器产生指示所述输入流信号中的当前数据是对应于所述第一图像帧还是对应于所述第二图像帧的信道识别信号,并且
其中,所述图像信号处理器核基于所述信道识别信号独立地执行所述第一图像帧的处理和所述第二图像帧的处理。
15.根据权利要求12所述的图像信号处理器,其中,所述行交织控制器产生指示所述输入流信号中的当前数据行是对应于所述图像数据行还是对应于所述虚拟数据行的虚拟行识别信号,并且
其中,所述图像信号处理器核基于所述虚拟行识别信号来执行所述第一图像帧和所述第二图像帧的端部图像数据行的处理。
16.根据权利要求12所述的图像信号处理器,其中,所述行交织控制器包括:
缓冲电路,其被配置为缓冲所述多个第一图像数据行和所述多个第二图像数据行,以选择性地输出各个第一图像数据行或者各个第二图像数据行;
虚拟行产生器,其被配置为产生所述第一虚拟数据行和所述第二虚拟数据行,并且选择性地输出所述第一虚拟数据行或者所述第二虚拟数据行;
复用器,其被配置为通过选择所述缓冲电路的输出和所述虚拟行产生器的输出来输出所述输入流信号;以及
控制逻辑电路,其被配置为控制所述缓冲电路、所述虚拟行产生器和所述复用器的操作。
17.根据权利要求16所述的图像信号处理器,其中,所述缓冲电路包括:
公共存储器区,其被配置为根据所述缓冲电路接收所述第一图像数据行和所述第二图像数据行的接收次序来存储所述第一图像数据行和所述第二图像数据行,并且
其中,所述控制逻辑电路被配置为控制所述缓冲电路,使得所述缓冲电路根据所述接收次序输出存储在所述公共存储器区中的第一图像数据行和第二图像数据行。
18.根据权利要求16所述的图像信号处理器,其中,所述缓冲电路包括:
第一存储器区,其被配置为根据所述缓冲电路接收所述第一图像数据行的第一接收次序来按次序存储所述第一图像数据行;以及
第二存储器区,其被配置为根据所述缓冲电路接收所述第二图像数据行的第二接收次序来按次序存储所述第二图像数据行,并且
其中,所述控制逻辑电路被配置为确定存储在所述第一存储器区中的第一图像数据行和存储在所述第二存储器区中的第二图像数据行的优先级次序,并且控制所述缓冲电路以使得所述缓冲电路根据所述优先级次序输出存储在所述第一存储器区中的第一图像数据行和存储在所述第二存储器区中的第二图像数据行。
19.一种行交织控制器,包括:
缓冲电路,其被配置为缓冲通过第一信道接收到的第一图像帧中包括的多个第一图像数据行和通过第二信道接收到的第二图像帧中包括的多个第二图像数据行,以选择性地输出各个第一图像数据行或者各个第二图像数据行;
虚拟行产生器,其被配置为产生对应于所述第一图像帧的第一虚拟数据行和对应于所述第二图像帧的第二虚拟数据行;
复用器,其被配置为通过选择所述缓冲电路的输出和所述虚拟行产生器的输出来输出流信号;以及
控制逻辑电路,其被配置为控制所述缓冲电路、所述虚拟行产生器和所述复用器,
其中,所述第一虚拟数据行用于处理所述第一图像帧的端部中包括的一个或多个端部图像数据行,并且所述第二虚拟数据行用于处理所述第二图像帧的端部中包括的一个或多个端部图像数据行。
20.一种应用处理器,包括:
总线;
图像信号处理器,其连接至所述总线;以及
中央处理单元,其连接至所述总线,所述中央处理单元被配置为控制所述图像信号处理器,
所述图像信号处理器包括:
行交织控制器,其被配置为接收图像帧中包括的多个图像数据行,产生对应于所述图像帧的一个或多个虚拟数据行,并且逐行按次序地输出所述多个图像数据行和所述虚拟数据行;以及
图像信号处理器核,其包括至少一个管线电路,所述管线电路包括串联连接以顺序地处理从所述行交织控制器接收到的数据行的多个处理模块,所述行交织控制器被配置为基于所述虚拟数据行来处理所述图像帧的端部中包括的一个或多个端部图像数据行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200067473A KR20210150704A (ko) | 2020-06-04 | 2020-06-04 | 라인 인터리빙 컨트롤러 및 이를 포함하는 이미지 신호 프로세서 |
KR10-2020-0067473 | 2020-06-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113784013A true CN113784013A (zh) | 2021-12-10 |
Family
ID=78817707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110366674.3A Pending CN113784013A (zh) | 2020-06-04 | 2021-04-06 | 行交织控制器、包括其的图像信号处理器和应用处理器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11514552B2 (zh) |
KR (1) | KR20210150704A (zh) |
CN (1) | CN113784013A (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7362779B1 (en) * | 2002-01-22 | 2008-04-22 | Applied Micro Circuits Corporation | Transmission of data frames as a plurality of subframes over a plurality of channels |
JP4424088B2 (ja) | 2004-06-25 | 2010-03-03 | 株式会社日立製作所 | 撮像装置 |
US20110242342A1 (en) | 2010-04-05 | 2011-10-06 | Qualcomm Incorporated | Combining data from multiple image sensors |
JP2013055541A (ja) | 2011-09-05 | 2013-03-21 | Ricoh Co Ltd | 撮像装置 |
JP6123274B2 (ja) | 2012-03-08 | 2017-05-10 | 株式会社リコー | 撮像装置 |
JP6079031B2 (ja) | 2012-08-01 | 2017-02-15 | 株式会社リコー | 撮像装置 |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
KR102459917B1 (ko) * | 2015-02-23 | 2022-10-27 | 삼성전자주식회사 | 이미지 신호 프로세서와 이를 포함하는 장치들 |
KR102557662B1 (ko) | 2017-02-09 | 2023-07-19 | 삼성전자주식회사 | 이미지 처리 장치 및 이를 포함하는 전자 장치 |
US10747692B2 (en) * | 2018-12-27 | 2020-08-18 | Texas Instruments Incorporated | Image processing accelerator |
-
2020
- 2020-06-04 KR KR1020200067473A patent/KR20210150704A/ko active Search and Examination
- 2020-12-29 US US17/136,494 patent/US11514552B2/en active Active
-
2021
- 2021-04-06 CN CN202110366674.3A patent/CN113784013A/zh active Pending
-
2022
- 2022-11-29 US US18/059,607 patent/US11869116B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230088614A1 (en) | 2023-03-23 |
US11514552B2 (en) | 2022-11-29 |
US11869116B2 (en) | 2024-01-09 |
KR20210150704A (ko) | 2021-12-13 |
US20210383498A1 (en) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10282805B2 (en) | Image signal processor and devices including the same | |
US7456833B1 (en) | Graphical representation of load balancing and overlap | |
US7629978B1 (en) | Multichip rendering with state control | |
EP2274908B1 (en) | Video multiviewer system using direct memory access (dma) registers and multi ported block ram and related method | |
US20130145107A1 (en) | Idle power control in multi-display systems | |
EP0645717A1 (en) | System for data synchronization and method therefor | |
JP4790227B2 (ja) | 表示制御装置および表示制御方法 | |
US20160012802A1 (en) | Method of operating display driver integrated circuit and method of operating image processing system having the same | |
US20100165014A1 (en) | Display system having resolution conversion | |
US5313586A (en) | Co-processor de-coupling bus structure | |
US9363412B2 (en) | Accelerator circuit and image processing apparatus | |
US7609326B2 (en) | Image scaler and method of the same | |
US10649938B2 (en) | Information processing apparatus and method of transferring data | |
CN113784013A (zh) | 行交织控制器、包括其的图像信号处理器和应用处理器 | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
US20060050089A1 (en) | Method and apparatus for selecting pixels to write to a buffer when creating an enlarged image | |
US20230179731A1 (en) | Image processing apparatus | |
US20050162438A1 (en) | System including address generator and address generator | |
US7034840B2 (en) | Method for an image reducing processing circuit | |
EP0282596A1 (en) | Image processor | |
JPH0676051A (ja) | 並列画像処理装置 | |
CN118467422A (zh) | 片上系统的片外存储空间的访存方法、装置及存储介质 | |
CN118037526A (zh) | 包括行交织控制器的图像处理设备及其操作方法 | |
JP3247441B2 (ja) | 画像処理装置 | |
JP2624155B2 (ja) | 表示用メモリ書き込みデータ制御回路 |
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 |