CN107636631B - 图像处理装置和图像处理方法 - Google Patents

图像处理装置和图像处理方法 Download PDF

Info

Publication number
CN107636631B
CN107636631B CN201680033012.1A CN201680033012A CN107636631B CN 107636631 B CN107636631 B CN 107636631B CN 201680033012 A CN201680033012 A CN 201680033012A CN 107636631 B CN107636631 B CN 107636631B
Authority
CN
China
Prior art keywords
data
buffer
image processing
processing module
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680033012.1A
Other languages
English (en)
Other versions
CN107636631A (zh
Inventor
中园启介
上野晃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Publication of CN107636631A publication Critical patent/CN107636631A/zh
Application granted granted Critical
Publication of CN107636631B publication Critical patent/CN107636631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

图像处理装置在数据总线上连接有存储器和图像处理部,该图像处理部构成串联连接对所输入的数据进行预定处理的多个处理模块而得到的流水线,各个处理模块依次进行处理,由此进行流水线处理,其中,处理模块分别具有:数据缓冲器,其按照处理的每个单位暂时存储数据;以及控制部,其根据流水线处理中的数据流的状态和数据缓冲器中存储的数据的状态,判定是否在数据缓冲器中存储数据,根据判定结果选择处理模块内的传输数据的路径,并且控制数据缓冲器的动作。

Description

图像处理装置和图像处理方法
技术领域
本发明涉及图像处理装置和图像处理方法。
本申请根据2015年06月12日在日本申请的日本特愿2015-119684号主张优先权,将其内容引用于此。
背景技术
在静态图像用照相机、动态图像用照相机、医疗用内窥镜照相机或工业用内窥镜照相机等摄像装置中搭载的系统LSI等多种图像处理装置中,在内置的多个处理块中共用所连接的一个DRAM(Dynamic Random Access Memory:动态随机存取存储器)。在这种系统LSI中,内置的多个处理块与系统LSI内部的数据总线连接,各个处理块通过DMA(DirectMemory Access:直接内存访问)对DRAM进行访问。
并且,在这种系统LSI所具有的处理块中,还存在具有多个处理模块、且通过串联连接各个处理模块而进行流水线处理的处理块。例如,在摄像装置所具有的系统LSI中,进行图像处理的图像处理部是进行流水线处理的处理块。而且,在图像处理部中,通过串联连接进行各个图像处理的多个图像处理模块而得到的流水线处理,实现图像处理部中的图像处理的高速化。一般情况下,在具有进行流水线处理的多个处理模块的处理块中,设置有用于在各个处理模块之间进行数据交接的数据缓冲器,通过该数据缓冲器吸收各个处理模块中的处理延迟,使得流水线处理正常进行。
例如,在专利文献1中公开了在处理模块即各个处理阶段之间设置数据缓冲器即双缓冲器的流水线结构的图像处理装置的技术。在专利文献1所公开的图像处理装置中,经由双缓冲器进行各个处理阶段之间的数据的交接,由此,实现依次进行各个处理阶段的处理的流水线处理。
在专利文献1所公开的图像处理装置中,在双缓冲器中暂时存储前级的处理阶段进行了处理的数据,后级的处理阶段读出双缓冲器中存储的数据,由此,从前级的处理阶段向后级的处理阶段交接数据。即,在专利文献1所公开的图像处理装置中,在从前级的处理阶段向后级的处理阶段交接数据时,必须进行前级的处理阶段对双缓冲器的数据写入、以及后级的处理阶段从双缓冲器的数据读出。
现有技术文献
专利文献
专利文献1:日本特开平10-334225号公报
发明内容
发明要解决的课题
但是,在进行流水线处理的处理块中,根据处理块所具有的各个处理模块中的处理的进行状况,有时成为不经由数据缓冲器而能够在前级的处理模块与后级的处理模块之间直接进行数据交接的状况。即,根据各个处理模块进行的处理的定时,有时成为进行流水线处理的各个数据顺畅地流过各个处理模块的状况。在处于这种状况时,在专利文献1所公开的图像处理装置中,也进行前级的处理阶段对双缓冲器的写入和后级的处理阶段从双缓冲器的读出。
在数据缓冲器中,伴随写入或读出数据的动作而消耗电力。因此,在专利文献1所公开的图像处理装置中,在进行流水线处理的各个处理阶段中,在对双缓冲器写入数据和从双缓冲器读出数据的各个动作时,消耗与双缓冲器的动作相伴的电力。而且,在专利文献1所公开的图像处理装置中,与各个处理阶段中的处理的进行状况无关,消耗与双缓冲器的动作相伴的电力。
本发明是根据上述课题认识而完成的,其目的在于,提供不会降低流水线处理的性能且能够减少消耗电力的图像处理装置和图像处理方法。
用于解决课题的手段
根据本发明的第1方式,图像处理装置在数据总线上连接有存储器和图像处理部,该图像处理部构成串联连接对所输入的数据进行预定处理的多个处理模块而得到的流水线,各个所述处理模块依次进行所述处理,由此进行流水线处理,其中,所述处理模块分别具有:数据缓冲器,其按照所述处理的每个单位暂时存储所述数据;以及控制部,其根据所述流水线处理中的数据流的状态和所述数据缓冲器中存储的所述数据的状态,判定是否在所述数据缓冲器中存储所述数据,根据所述判定的结果选择所述处理模块内的传输所述数据的路径,并且控制所述数据缓冲器的动作。
根据本发明的第2方式,在上述第1方式的图像处理装置中,也可以是,在处于所述数据缓冲器所具有的存储容量中存储有所述数据、且能够进一步在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作,在处于所述流水线处理中的所述数据流积压、且无法进一步在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作以保持所存储的所述数据,在处于所述流水线处理中的所述数据流未积压、且所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态的情况下,所述控制部选择跳过所述数据缓冲器不进行存储而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
根据本发明的第3方式,在上述第2方式的图像处理装置中,也可以是,所述控制部对所述流水线的结构中的前级的所述处理模块输出表示具有所述控制部本身的所述处理模块的动作状态的状态通知信号,所述控制部根据从所述流水线的结构中的后级的所述处理模块输入的所述状态通知信号,判定所述流水线处理中的数据流的状态。
根据本发明的第4方式,在上述第3方式的图像处理装置中,也可以是,所述控制部根据从所述流水线的结构中的后级的多个所述处理模块输入的所述状态通知信号,判定所述流水线处理中的数据流的状态。
根据本发明的第5方式,在上述第3方式或上述第4方式的图像处理装置中,也可以是,所述状态通知信号是表示是否能够受理由前级的所述处理模块进行了所述处理后的所述数据的信号,所述状态通知信号包含请求输出由前级的所述处理模块进行了所述处理后的所述数据的数据请求信号,所述控制部在从后级的所述处理模块输入了请求输出所述数据的所述数据请求信号的情况下,判定为处于所述流水线处理中的所述数据流未积压的状态。
根据本发明的第6方式,在上述第5方式的图像处理装置中,也可以是,在处于能够在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部对前级的所述处理模块输出请求输出所述数据的所述数据请求信号。
根据本发明的第7方式,在上述第5方式的图像处理装置中,也可以是,直到成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态为止,所述控制部暂停向前级的所述处理模块输出请求输出所述数据的所述数据请求信号,在成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态之后,所述控制部对前级的所述处理模块输出所述数据请求信号,选择跳过所述数据缓冲器而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
根据本发明的第8方式,在上述第2方式~上述第7方式中的任意一个方式的图像处理装置中,也可以是,所述图像处理部还具有总线通信量监视部,该总线通信量监视部监视与所述数据总线连接的多个总线主控对所述存储器的访问,由此监视所述数据总线中的总线通信量,所述总线通信量监视部在根据所监视的所述总线通信量判定为所述数据总线中流过的数据较少的情况下,对各个所述处理模块输出缓冲器跳过指示信号,该缓冲器跳过指示信号指示选择跳过所述数据缓冲器而传输所述数据的路径,各个所述处理模块内的所述控制部在输入了所述缓冲器跳过指示信号的情况下,判定为处于所述流水线处理中的所述数据流未积压的状态。
根据本发明的第9方式,在上述第2方式~上述第8方式中的任意一个方式的图像处理装置中,也可以是,所述处理模块还具有选择器,该选择器选择传输从所述数据缓冲器读出的所述数据的路径和跳过所述数据缓冲器而传输所述数据的路径中的任意一个路径,作为传输所述数据的路径,所述控制部具有:数据量管理部,其对所述数据缓冲器中存储的所述数据的量进行管理,输出表示所监视的所述数据的量的数据量信息;缓冲器跳过判定部,其根据所述数据量信息和所述流水线处理中的数据流的状态,判定使所述数据缓冲器进行的动作,根据判定的结果,输出对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的指示信号以及用于选择传输所述数据的路径的控制信号;缓冲器写入管理部,其根据对所述数据缓冲器写入所述数据的所述指示信号,生成用于控制对所述数据缓冲器写入所述数据的控制信号即缓冲器写信号;以及缓冲器读出管理部,其根据从所述数据缓冲器读出所述数据的所述指示信号,生成用于控制从所述数据缓冲器读出所述数据的控制信号即缓冲器读信号,所述数据量管理部根据所输入的所述数据的数量和所述缓冲器读信号,对所述数据的量进行管理,在所述数据量信息表示所述数据的量是大于0的值的情况下,所述缓冲器跳过判定部输出指示对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径的所述控制信号,在所述数据量信息表示所述数据的量是0的情况下,所述缓冲器跳过判定部输出指示停止对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择跳过所述数据缓冲器而传输所述数据的路径的所述控制信号,所述选择器选择与所述控制信号对应的路径作为传输所述数据的路径。
根据本发明的第10方式,提供一种图像处理装置的图像处理方法,该图像处理装置在数据总线上连接有存储器和图像处理部,该图像处理部构成串联连接对所输入的数据进行预定处理的多个处理模块而得到的流水线,各个所述处理模块依次进行所述处理,由此进行流水线处理,其中,所述图像处理方法具有由所述处理模块分别执行的如下控制步骤:,根据所述流水线处理中的数据流的状态和按照所述处理的每个单位暂时存储所述数据的数据缓冲器中存储的所述数据的状态,判定是否在所述数据缓冲器中存储所述数据,根据所述判定的结果选择所述处理模块内的传输所述数据的路径,并且控制所述数据缓冲器的动作。
发明效果
根据上述各方式,得到能够提供能够减少消耗电力而不会降低流水线处理的性能的图像处理装置和图像处理方法这样的效果。
附图说明
图1是示出本发明的第1实施方式中的图像处理装置的概略结构的框图。
图2是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块之间的数据的传输方法的一例的图。
图3是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的概略结构的框图。
图4是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的动作的一例的时序图。
图5是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的结构的框图。
图6是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的处理步骤的流程图。
图7是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的动作的一例的时序图。
图8是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的另一个动作的一例的时序图。
图9是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的概略结构的框图。
图10是示出本发明的第1实施方式的图像处理装置所具有的图像处理部中的图像处理模块的动作的一例的时序图。
图11是示出本发明的第2实施方式中的图像处理装置的概略结构的框图。
图12是示出本发明的第2实施方式的图像处理装置所具有的图像处理部中的总线通信量监视部的动作的一例的时序图。
具体实施方式
(第1实施方式)
下面,参照附图对本发明的实施方式进行说明。图1是示出本发明的第1实施方式中的图像处理装置的概略结构的框图。图1所示的图像处理装置1具有DMA总线10、DRAM20、图像处理部30。并且,图像处理部30具有连接切换部31、输入DMA模块32、3个图像处理模块33-1~图像处理模块33-3、输出DMA模块34。图像处理装置1例如设置在静态图像用照相机等摄像装置中。
另外,在图1中,省略图像处理装置1所具有的、与DMA总线10连接的其他结构要素的图示。作为图像处理装置1所具有的其他结构要素,例如具有以下部分等:摄像处理部,其控制对由摄像装置所具有的镜头成像的被摄体的光学像进行光电转换的固体摄像元件;记录处理部,其进行用于记录由图像处理部30处理后的图像的数据的记录处理;以及显示处理部,其用于使图像处理装置1所具有的显示部显示由图像处理部30处理后的图像的数据。并且,例如,作为图像处理装置1所具有的其他结构要素,还具有对图像处理装置1所具有的各个结构要素进行控制的系统控制部等。
DRAM20与DMA总线10连接,存储摄像装置中处理的各种数据。例如,DRAM20存储从摄像装置所具有的未图示的固体摄像元件输出的静态图像的数据。在图像处理装置1中,将DRAM20中存储的1帧的静态图像的数据分割成预定的多个小块,图像处理部30按照各个块进行图像处理。
如图1所示,图像处理部30通过串联连接输入DMA模块32、图像处理模块33-1、图像处理模块33-2、图像处理模块33-3和输出DMA模块34而得到的流水线处理,依次进行图像处理装置1中的图像处理。在以下说明中,将对1帧的静态图像的数据进行分割后的各个块中包含的数据称为“块图像数据”。图像处理部30例如按照预定数量的列从DRAM20读出块图像数据中包含的各个像素的数据(以下称为“像素数据”),将所读出的像素数据作为一个处理单位进行图像处理。在以下说明中,将图像处理部30进行图像处理的一个处理单位的像素数据中、相同列中包含的连续的多个像素数据称为“单元行”。
图像处理部30具有选择对1帧静态图像数据进行的图像处理的功能。更具体而言,图像处理部30能够依次进行分别基于图像处理模块33-1、图像处理模块33-2和图像处理模块33-3的图像处理,但是,也可以通过图像处理模块33-1~图像处理模块33-3中的任意一个或多个进行图像处理,或者变更图像处理模块33-1~图像处理模块33-3的顺序来进行图像处理。在以下说明中,在不进行区分来表示各个图像处理模块33-1~图像处理模块33-3时,称为“图像处理模块33”。
连接切换部31对图像处理部30所具有的各个结构要素输出的图像数据的输出目的地进行切换,即,对图像处理部30所具有的各个结构要素彼此的连接进行切换。例如,在通过图像处理部30仅进行图像处理模块33-2的图像处理的情况下,对各个结构要素的连接进行切换,以连接输入DMA模块32的输出端子和图像处理模块33-2的输入端子,连接图像处理模块33-2的输出端子和输出DMA模块34的输入端子。并且,例如,在通过图像处理部30按照图像处理模块33-3、图像处理模块33-1的顺序进行图像处理的情况下,对各个结构要素的连接进行切换,以连接输入DMA模块32的输出端子和图像处理模块33-3的输入端子,连接图像处理模块33-3的输出端子和图像处理模块33-1的输入端子,连接图像处理模块33-1的输出端子和输出DMA模块34的输入端子。另外,连接切换部31例如根据来自图像处理装置1所具有的未图示的系统控制部的控制,进行图像处理部30所具有的各个结构要素的连接的切换。
输入DMA模块32是如下的处理模块:按照每个单元行读出DRAM20中存储的块图像数据中包含的各个像素数据,经由连接切换部31将所读出的像素数据输出到接着进行图像处理的处理模块即任意图像处理模块33。输入DMA模块32例如根据来自图像处理装置1所具有的未图示的系统控制部的控制,经由DMA总线10从DRAM20读出像素数据,将所读出的像素数据输出到通过连接切换部31切换了连接后的连接目的地的图像处理模块33。
输入DMA模块32具有能够暂时存储预定数量的单元行的像素数据的数据缓冲器。因此,输入DMA模块32能够在数据缓冲器中暂时存储经由DMA总线10从DRAM20读出的像素数据,将数据缓冲器中暂时存储的像素数据输出到通过连接切换部31切换了连接后的连接目的地的图像处理模块33。
图像处理模块33-1~图像处理模块33-3分别是如下的处理模块:对从通过连接切换部31切换了连接后的连接目的地的输入DMA模块32或图像处理模块33经由连接切换部31输入的像素数据,进行预定的各种数字图像处理。在图像处理模块33-1~图像处理模块33-3分别进行的图像处理中,例如包含生成与各个像素数据对应的Y(亮度)信号和C(颜色)信号的YC处理、降低各个像素数据中包含的噪声的噪声降低处理、进行由各个像素数据表示的图像中的倍率色差等的校正的畸变校正处理等。图像处理模块33-1~图像处理模块33-3分别根据例如来自图像处理装置1所具有的未图示的系统控制部的控制,对经由连接切换部31输入的像素数据实施图像处理,将实施了图像处理的像素数据输出到通过连接切换部31切换了连接后的连接目的地的图像处理模块33或输出DMA模块34。
另外,图像处理模块33-1~图像处理模块33-3分别还具有能够暂时存储预定数量的单元行的像素数据的数据缓冲器。但是,在图像处理模块33-1~图像处理模块33-3中,分别根据流水线处理中的像素数据流控制是否在数据缓冲器中暂时存储经由连接切换部31输入的像素数据。
另外,在以下说明中,在与DRAM20中存储的进行图像处理的对象的像素数据进行区分来表示实施了图像处理的像素数据的情况下,将其称为“处理像素数据”。
输出DMA模块34是如下的处理模块:用于将从通过连接切换部31切换了连接后的连接目的地的图像处理模块33经由连接切换部31输入的处理像素数据写入(存储)到DRAM20中。输出DMA模块34例如根据来自图像处理装置1所具有的未图示的系统控制部的控制,经由DMA总线10将经由连接切换部31输入的处理像素数据输出到DRAM20。
输出DMA模块34也具有能够暂时存储预定数量的单元行的处理像素数据的数据缓冲器。因此,输出DMA模块34也能够在数据缓冲器中暂时存储经由连接切换部31输入的处理像素数据,经由DMA总线10将数据缓冲器中暂时存储的处理像素数据输出到DRAM20。
这样,在图像处理部30中,各个处理模块将1帧的静态图像的数据分割成块图像数据,例如,针对各个块图像数据中包含的像素数据,按照每个单元行依次进行与来自图像处理装置1所具有的未图示的系统控制部的控制对应的图像处理,由此,对各个块图像数据进行一连串的图像处理。
接着,对图像处理部30所具有的各个处理模块的结构和动作进行说明。首先,对图像处理部30所具有的各个处理模块之间的像素数据的交接方法进行说明。
图2是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33之间的数据的传输方法的一例的图。在图2中,示出图像处理模块33-1将进行了图像处理后的处理像素数据输出到图像处理模块33-2的情况的一例。另外,如上所述,在图像处理部30中,各个处理模块输出的像素数据经由连接切换部31输出到接着进行处理的处理模块。但是,在图2中,省略连接切换部31的图示,设为从图像处理模块33-1对图像处理模块33-2直接输出处理像素数据来示出。
如上所述,在图像处理部30中,各个处理模块将多个单元行作为一个处理单位进行图像处理。因此,在图像处理部30中,按照每一个处理单位进行图像处理部30所具有的各个处理模块之间的像素数据的交接。在图2中,示出前级的图像处理模块33-1将8个单元行的各个处理像素数据作为一个处理单位输出到后级的图像处理模块33-2的情况。另外,在一个单元行中包含有实施了图像处理后的相同列中包含的连续的多个处理像素数据。
在图2中,示出图像处理模块33-1与图像处理模块33-2之间的处理像素数据的交接方法(传输方法)的一例,但是,输入DMA模块32与图像处理模块33之间的像素数据的交接方法、图像处理模块33与输出DMA模块34之间的处理像素数据的交接方法也与图2相同。并且,在图2中,示出将8个单元行的各个处理像素数据作为一个处理单位进行交接的一例,但是,各个处理模块之间进行交接的单元行的数量不限于图2所示的数量即8个。
(第1结构)
接着,对图像处理部30所具有的各个处理模块的第1结构进行说明。图3是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的概略结构的框图。在图3中示出第1结构的图像处理模块33中的基本结构。图3所示的第1结构的图像处理模块33具有输入缓冲器331、选择器332、运算部333、控制部334。
输入缓冲器331是暂时存储输入到图像处理模块33的输入数据的数据缓冲器。输入缓冲器331例如由SRAM(Static Random Access Memory:静态随机存取存储器)等存储器构成。输入缓冲器331具有能够存储从前级的处理模块输入的预定数量的单元行的像素数据作为输入数据的存储容量。输入缓冲器331根据从控制部334输入的控制信号,暂时存储所输入的输入数据。
另外,输入缓冲器331也可以由如下的所谓双缓冲器构成:具有2个存储预定数量的单元行的像素数据(输入数据)的存储容量的组,进行动作以交替切换对一个存储容量的组写入像素数据和从另一个存储容量的组读出像素数据,由此能够同时进行一个处理单位的像素数据的输入输出。
选择器332是选择输出到运算部333的像素数据的选择部。选择器332根据从控制部334输入的控制信号,将输入缓冲器331中暂时存储的输入数据(像素数据)或当前输入到图像处理模块33的输入数据(像素数据)中的任意一个输入数据(像素数据)输出到运算部333。即,选择器332将从前级的处理模块输入且暂时存储在输入缓冲器331中的像素数据或当前从前级的处理模块输入的像素数据本身中的任意一个像素数据输出到运算部333。
运算部333对所输入的像素数据进行预定的各种数字图像处理的运算。运算部333将进行图像处理的运算而生成的处理像素数据作为输出数据输出到图像处理模块33的外部。即,运算部333经由连接切换部31将所生成的处理像素数据输出到其他图像处理模块33或输出DMA模块34。
控制部334进行图像处理模块33的动作状态的通知以及图像处理模块33所具有的各个结构要素的控制。控制部334将表示图像处理模块33的动作状态的状态通知信号输出到前级的处理模块。并且,控制部334根据输入缓冲器331中是否存在空闲的存储容量,对输入缓冲器331的动作进行控制。
更具体而言,在输入缓冲器331中存在空闲的存储容量的情况下,输入缓冲器331能够暂时存储输入到图像处理模块33的输入数据。该情况下,控制部334将请求输出像素数据的信号作为表示处于能够受理来自前级处理模块的输入数据的状态的状态通知信号,输出到前级的处理模块。然后,控制部334根据所输出的请求输出像素数据的状态通知信号对输入缓冲器331进行控制,以暂时存储(写入)从前级的处理模块输入的输入数据。
并且,在输入缓冲器331中不存在空闲的存储容量的情况下,输入缓冲器331处于无法暂时存储输入到图像处理模块33的输入数据的状态。该情况下,控制部334将表示不请求输出像素数据的信号作为表示处于无法受理来自前级处理模块的输入数据的状态的状态通知信号,输出到前级的处理模块。另外,关于此时的状态通知信号,可以利用请求输出像素数据的信号的逻辑电平表示不对前级的处理模块请求输出像素数据,例如,可以利用表示流水线处理(暂时)停止的流水线暂停信号等、与请求输出像素数据的信号不同的信号进行表示。
并且,控制部334对输入缓冲器331中暂时存储的像素数据的读出动作、以及选择器332输出到运算部333的像素数据的选择(切换)进行控制。根据输入缓冲器331中是否存在空闲的存储容量的判定结果以及从后级的处理模块输入的状态通知信号,进行控制部334中的来自输入缓冲器331的像素数据的读出动作的控制以及选择器332的切换的控制。另外,从后级的处理模块输入的状态通知信号是运算部333生成的处理像素数据的输出目的地即后级的处理模块所具有的控制部334输出的状态通知信号,如上所述,包含表示是否处于后级的处理模块能够受理处理像素数据的状态的信号、即表示是否请求输出处理像素数据的信号等。
然后,控制部334在从后级的处理模块输入的状态通知信号表示处于能够受理处理像素数据的状态的情况下,根据输入缓冲器331的存储容量是否空闲对选择器332进行控制,将输入缓冲器331中暂时存储的像素数据或当前输入到图像处理模块33的像素数据中的任意一个像素数据输出到运算部333。
更具体而言,在输入缓冲器331的存储容量未全部空闲的情况下,处于在输入缓冲器331中暂时存储有至少一个单元行的像素数据的状态。该情况下,控制部334对输入缓冲器331进行控制以读出暂时存储的像素数据,并且对选择器332进行控制以将从输入缓冲器331输出的像素数据传输到运算部333。由此,运算部333将对输入缓冲器331中暂时存储的像素数据进行图像处理的运算而生成的处理像素数据输出到后级的图像处理模块33。此时,控制部334在从前级的处理模块输入了与所输出的请求输出像素数据的状态通知信号对应的输入数据的情况下,对输入缓冲器331进行控制,使得以空闲的存储容量暂时存储(写入)所输入的输入数据。
并且,在输入缓冲器331的存储容量全部空闲的情况下,处于在输入缓冲器331中暂时未存储任意一个单元行的像素数据的状态。该情况下,控制部334对输入缓冲器331进行控制以停止动作。由此,在图像处理模块33中,能够削减输入缓冲器331的消耗电力。然后,控制部334对选择器332进行控制,以将当前输入到图像处理模块33的像素数据直接输出到运算部333,即不在输入缓冲器331中暂时存储当前输入的像素数据而直接输出到运算部333。由此,运算部333将对当前输入到图像处理模块33的像素数据进行图像处理的运算而生成的处理像素数据,输出到后级的图像处理模块33。
另一方面,控制部334在从后级的处理模块输入的状态通知信号表示处于无法受理处理像素数据的状态、且输入缓冲器331的存储容量空闲的情况下,控制部334对输入缓冲器331进行控制,使得以空闲的存储容量暂时存储(写入)输入到图像处理模块33的输入数据。
另外,在从后级的处理模块输入的状态通知信号表示处于无法受理处理像素数据的状态、且输入缓冲器331的存储容量未空闲的情况下,控制部334将表示处于无法受理输入数据的状态的状态通知信号输出到前级的处理模块,所以,不从前级的处理模块输入输入数据。因此,控制部334不对输入缓冲器331的动作进行控制。
根据这种结构,图像处理部30所具有的各个处理模块根据输入缓冲器331的存储容量的空闲状态,进行来自前级的处理模块的输入数据的受理以及运算部333要进行图像处理的运算的像素数据的选择(切换)。
接着,对图像处理部30所具有的各个处理模块的动作进行说明。图4是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的动作的一例的时序图。图4中示出在图像处理部30如图1所示通过串联连接(流水线连接)输入DMA模块32、第1结构的图像处理模块33-1~图像处理模块33-3和输出DMA模块34而成的结构进行流水线处理的情况下、从图像处理模块33-1到图像处理模块33-2的处理像素数据的交接的一例。
在图4中,针对图像处理模块33-1和图像处理模块33-2分别示出所输入的输入数据、表示对输入缓冲器331写入输入数据的缓冲器写入、表示从输入缓冲器331读出输入数据的缓冲器读出、以及输出的输出数据。并且,在图4中示出请求将输入数据输出的信号(以下称为“数据请求信号”)作为图像处理模块33-1和图像处理模块33-2分别输出到前级的处理模块的状态通知信号。另外,在图4中还示出在图像处理模块33-2的后级连接的图像处理模块33-3作为状态通知信号输出的数据请求信号。
另外,在图4的说明中,设为将一个单元行作为一个处理单位进行图像处理来进行说明。而且,在图4中,针对输入数据、缓冲器写入、缓冲器读出和输出数据分别示出表示是第几个单元行的数字。并且,设为图像处理部30所具有的各个处理模块具有能够存储2个单元行的像素数据的容量的数据缓冲器来进行说明。并且,在以下说明中,为了区分图像处理模块33-1所具有的各个结构要素和图像处理模块33-2所具有的各个结构要素,接着对各个结构要素赋予的标号,赋予对图像处理模块33赋予的“-”和紧接着的数字部分进行表示。例如,将图像处理模块33-1所具有的控制部334表示为“控制部334-1”,将图像处理模块33-2所具有的控制部334表示为“控制部334-2”。
图像处理部30开始进行流水线处理后,图像处理模块33-1、图像处理模块33-2、图像处理模块33-3和输出DMA模块34分别将请求将输入数据输出的数据请求信号输出到前级的处理模块。这是因为,在图像处理部30开始进行流水线处理的最初阶段,各个图像处理模块33所具有的输入缓冲器331的存储容量全部空闲,所以,处于能够受理输入数据的状态。该情况下,图像处理模块33-1所具有的运算部333-1和图像处理模块33-2所具有的运算部333-2处于能够立即对所输入的像素数据进行图像处理的状态。并且,这是因为,在图像处理部30开始进行流水线处理的最初阶段,输出DMA模块34处于能够立即经由DMA总线10将所输入的输入数据(处理像素数据)输出到DRAM20的状态。
另外,在图4中,数据请求信号为“高”电平的期间表示各个处理模块能够受理像素数据的状态即请求期间,数据请求信号为“低”电平的期间表示各个处理模块无法受理像素数据的状态即请求无效期间。
输入DMA模块32从后级的图像处理模块33-1输入数据请求信号后,首先,经由DMA总线10,按照每个单元行依次读出DRAM20中存储的第一个单元行的各个像素数据。然后,输入DMA模块32将所读出的像素数据输出到图像处理模块33-1。此时,在输入DMA模块32的后级连接的图像处理模块33-1输出“高”电平的数据请求信号,由此,表示处于能够受理像素数据的状态。因此,输入DMA模块32不在数据缓冲器中暂时存储所读出的像素数据,而将其直接输出到图像处理模块33-1。此时,在输入DMA模块32中,停止数据缓冲器的动作,削减数据缓冲器的消耗电力。然后,输入DMA模块32开始读出DRAM20中存储的第2个单元行的各个像素数据并将其输出到图像处理模块33-1。
并且,图像处理模块33-1从后级的图像处理模块33-2输入数据请求信号后,对从输入DMA模块32输入的第一个单元行的各个像素数据进行图像处理。此时,如上所述,图像处理模块33-1处于输入缓冲器331-1的存储容量全部空闲的状态、即运算部333-1能够立即对所输入的像素数据进行图像处理的状态。并且,此时,在图像处理模块33-1的后级连接的图像处理模块33-2输出“高”电平的数据请求信号,由此,表示处于能够受理处理像素数据的状态。因此,控制部334-1对选择器332-1进行控制,以将当前从前级的输入DMA模块32输入的第一个单元行的各个像素数据直接输出到运算部333-1。并且,控制部334-1进行控制以停止输入缓冲器331-1的动作,削减输入缓冲器331-1的消耗电力。由此,运算部333-1将对经由选择器332-1输入的第一个单元行的各个像素数据进行图像处理的运算而生成的处理像素数据,输出到后级的图像处理模块33-2。另外,关于从图像处理模块33-1输出的处理像素数据,延迟运算部333-1进行图像处理的运算而产生的、从输入像素数据到输出处理像素数据的延迟时间(以下称为“等待时间”)而输出。然后,图像处理模块33-1开始对从输入DMA模块32输入的第2个单元行的各个像素数据进行图像处理。
并且,图像处理模块33-2从后级的图像处理模块33-3输入数据请求信号后,对从图像处理模块33-1输入的与第一个单元行对应的处理像素数据进行图像处理。此时,如上所述,图像处理模块33-2也处于输入缓冲器331-2的存储容量全部空闲的状态、即运算部333-2能够立即对所输入的处理像素数据进行图像处理的状态。并且,此时,在图像处理模块33-2的后级连接的图像处理模块33-3也输出“高”电平的数据请求信号,由此,表示处于能够受理处理像素数据的状态。因此,控制部334-2对选择器332-2进行控制,以将当前从前级的图像处理模块33-1输入的与第一个单元行对应的处理像素数据直接输出到运算部333-2。并且,控制部334-2进行控制以停止输入缓冲器331-2的动作,削减输入缓冲器331-2的消耗电力。由此,运算部333-2对经由选择器332-2输入的与第一个单元行对应的处理像素数据进行图像处理的运算,将运算部333-2中的延迟了等待时间的处理像素数据输出到图像处理模块33-3。然后,图像处理模块33-2也开始对从图像处理模块33-1输入的与第2个单元行对应的处理像素数据进行图像处理。
这样,在图像处理部30中,各个处理模块依次对流水线连接的后级的处理模块交接所输入的输入数据。此时,各个处理模块处于处理模块本身所具有的输入缓冲器331的存储容量全部空闲的状态、且后级的处理模块能够受理输入数据的状态,所以,不在输入缓冲器331中暂时存储从前级的处理模块输入的输入数据,直接或者立即进行图像处理的运算,输出到后级的处理模块。在图4中,示出在图像处理模块33-1和图像处理模块33-2各自的缓冲器写入和缓冲器读出中不在输入缓冲器331中暂时存储输入数据的期间、即不经由输入缓冲器331而向运算部333传输输入数据的期间,作为缓冲器跳过期间。
而且,在图像处理部30中,各个处理模块进行控制,以停止处理模块本身所具有的数据缓冲器(输入缓冲器331)的动作。即,在图像处理部30中,停止各个处理模块中的缓冲器跳过期间的数据缓冲器(输入缓冲器331)的动作。由此,在图像处理部30中,能够削减各个处理模块所具有的数据缓冲器(输入缓冲器331)的消耗电力。
这里,对在图像处理模块33-2输出了与第2个单元行对应的处理像素数据时、后级的图像处理模块33-3由于某种原因而成为无法受理处理像素数据的状态的情况的动作进行说明。该情况下,图像处理模块33-3使输出到图像处理模块33-2的数据请求信号成为“低”电平,由此,表示处于无法受理处理像素数据的状态、即不请求将输入数据输出。另外,各个处理模块向前级的处理模块传达不请求将输入数据输出的方法不限于如上所述基于数据请求信号的逻辑电平的方法,也可以是通过输出流水线暂停信号来通知处于无法受理像素数据的状态的方法。
此时,图像处理模块33-2处于输入缓冲器331-2的存储容量全部空闲的状态(2个单元行的存储容量空闲的状态),所以,控制部334-2对输入缓冲器331-2进行控制,以暂时存储当前从前级的图像处理模块33-1输入的与第3个单元行对应的处理像素数据。由此,输入缓冲器331-2存储与第3个单元行对应的处理像素数据,成为一个单元行的存储容量空闲(残留)的状态。
进而,在图像处理模块33-2中,控制部334-2对输入缓冲器331-2进行控制,以暂时存储当前从前级的图像处理模块33-1输入的与第4个单元行对应的处理像素数据。由此,输入缓冲器331-2还存储与第4个单元行对应的处理像素数据,成为不存在空闲的存储容量的状态。即,图像处理模块33-2成为无法受理来自图像处理模块33-1的处理像素数据的状态。因此,控制部334-2使输出到图像处理模块33-1的数据请求信号成为“低”电平,以表示成为图像处理模块33-2无法受理处理像素数据的状态。
由此,在图像处理模块33-1中,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,对输入缓冲器331-1进行控制,以暂时存储从输入DMA模块32输入的第5个和第6个单元行的各个像素数据。由此,输入缓冲器331-1存储第5个和第6个单元行的各个像素数据,图像处理模块33-1成为无法受理来自输入DMA模块32的像素数据的状态。因此,控制部334-1也与控制部334-2同样,使输出到输入DMA模块32的数据请求信号成为“低”电平,以表示成为图像处理模块33-1无法受理像素数据的状态。
由此,输入DMA模块32暂停DRAM20中存储的第7个单元行的各个像素数据的读出。另外,输入DMA模块32也具有能够存储2个单元行的像素数据的容量的数据缓冲器。因此,输入DMA模块32也可以读出第7个和第8个单元行的各个像素数据,暂时存储在数据缓冲器中,然后暂停第9个单元行的各个像素数据的读出。
这样,在图像处理部30中,在从流水线连接的后级的处理模块输入的数据请求信号表示处于无法受理像素数据的状态的情况下,各个处理模块停止对后级的处理模块输出输出数据。而且,各个处理模块暂时存储处理模块本身所具有的输入缓冲器331的存储容量空闲的像素数据后,通知成为处理模块本身无法受理像素数据的状态。
另外,在图像处理部30中,各个处理模块按照每个处理单位进行处理。因此,在图像处理部30中,在各个处理模块向后级的处理模块输出一个处理单位的像素数据的中途被通知处于无法受理像素数据的状态的情况下,在输出了当前输出的处理单位的全部像素数据后,停止对后级的处理模块输出输出数据。
接着,对成为图像处理模块33-3能够受理处理像素数据的状态时的动作进行说明。该情况下,图像处理模块33-3使输出到图像处理模块33-2的数据请求信号成为“高”电平,由此,表示处于能够受理处理像素数据的状态、即请求将输入数据输出。另外,各个处理模块向前级的处理模块传达再次请求将输入数据输出的方法不限于如上所述基于数据请求信号的逻辑电平的方法,也可以是通过停止输出流水线暂停信号来通知处于能够受理像素数据的状态的方法。
此时,图像处理模块33-2处于输入缓冲器331-2中不存在空闲的存储容量的状态(暂时存储与第3个和第4个单元行对应的各个处理像素数据的状态)。因此,首先,控制部334-2对输入缓冲器331-2和选择器332-2进行控制,以从输入缓冲器331-2读出输入缓冲器331-2中存储的与第3个单元行对应的处理像素数据并将其输出到运算部333-2。由此,输入缓冲器331-2将所存储的与第3个单元行对应的处理像素数据输出到选择器332-2,选择器332-2将从输入缓冲器331-2输入的与第3个单元行对应的处理像素数据输出到运算部333-2。然后,运算部333-2对从选择器332-2输出的与第3个单元行对应的处理像素数据进行图像处理的运算,将运算部333-2中的延迟了等待时间的处理像素数据输出到后级的图像处理模块33-3。
并且,输入缓冲器331-2输出与第3个单元行对应的处理像素数据,由此,成为一个单元行的存储容量空闲(残留)的状态。即,图像处理模块33-2成为能够受理来自图像处理模块33-1的处理像素数据的状态。因此,控制部334-2使输出到图像处理模块33-1的数据请求信号成为“高”电平,以表示成为图像处理模块33-2能够受理处理像素数据的状态。
进而,在图像处理模块33-2中,处于输入缓冲器331-2中存在空闲的存储容量、但是暂时存储有与第4个单元行对应的处理像素数据的状态。因此,控制部334-2对输入缓冲器331-2和选择器332-2进行控制,以从输入缓冲器331-2读出输入缓冲器331-2中存储的与第4个单元行对应的处理像素数据并将其输出到运算部333-2。由此,输入缓冲器331-2中存储的与第4个单元行对应的处理像素数据经由选择器332-2输入到运算部333-2。然后,运算部333-2将对经由选择器332-2输入的与第4个单元行对应的处理像素数据进行图像处理的运算而生成的处理像素数据输出到图像处理模块33-3。
并且,在图像处理模块33-1中,当被通知从后级的图像处理模块33-2输入的数据请求信号成为“高”电平、成为图像处理模块33-2能够受理处理像素数据的状态后,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,将与第5个和第6个单元行对应的处理像素数据输出到图像处理模块33-2。更具体而言,控制部334-1对输入缓冲器331-2和选择器332-2进行控制,以依次读出输入缓冲器331-1中存储的第5个和第6个单元行的各个像素数据并将其输出到运算部333-1。由此,运算部333-1对经由选择器332-1依次输入的第5个和第6个单元行的各个像素数据进行图像处理的运算,将运算部333-1中的延迟了等待时间的处理像素数据输出到后级的图像处理模块33-2。
并且,输入缓冲器331-1在输出第5个单元行的各个像素数据时,成为一个单元行的存储容量空闲(残留)的状态,成为图像处理模块33-1能够受理来自输入DMA模块32的像素数据的状态。因此,控制部334-1与控制部334-2同样,使输出到输入DMA模块32的数据请求信号成为“高”电平,以表示成为图像处理模块33-1能够受理像素数据的状态。
由此,输入DMA模块32再次开始从DRAM20中存储的第7个单元行读出像素数据,将所读出的像素数据输出到图像处理模块33-1。另外,在输入DMA模块32暂停DRAM20中存储的像素数据的读出时,在数据缓冲器中存储有第7个和第8个单元行的各个像素数据的情况下,也可以在将数据缓冲器中存储的第7个单元行的各个像素数据输出到图像处理模块33-1后,再次开始从第9个单元行读出像素数据。
这样,在图像处理部30中,在从流水线连接的后级的处理模块输入的数据请求信号再次变成能够受理像素数据的状态的情况下,各个处理模块再次开始对后级的处理模块输出输出数据。此时,各个处理模块从处理模块本身所具有的输入缓冲器331中存储的像素数据起依次输出到后级的处理模块。然后,各个处理模块在成为处理模块本身所具有的输入缓冲器331的存储容量空闲的状态后,通知成为处理模块本身能够受理像素数据的状态。然后,各个处理模块在处理模块本身所具有的输入缓冲器331中暂时存储所输入的像素数据后进行读出,依次输出到后级的处理模块。
以后,通过反复进行上述动作,在图像处理部30中,针对各个块图像数据中包含的像素数据,按照每个单元行依次进行流水线连接的各个处理模块的流水线处理,由此,对各个块图像数据进行一连串的图像处理。
另外,在图4所示的图像处理模块33的动作的时序图的一例中没有示出,但是,图像处理部30进行控制,以在各个处理模块再次开始对后级的处理模块输出输出数据后、再次成为能够不经由输入缓冲器331而直接将输入数据输出到后级的处理模块的状态的情况下,与开始进行图4所示的流水线处理后的最初阶段同样,停止输入缓冲器331的动作。由此,在图像处理部30中,能够削减各个处理模块所具有的输入缓冲器331的消耗电力。
接着,对图像处理模块33所具有的控制部334的结构进行说明。图5是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的结构的框图。在图5中示出第1结构的图像处理模块33所具有的控制部334的概略结构。另外,在图5中还一并示出第1结构的图像处理模块33所具有的输入缓冲器331、选择器332和运算部333。图5所示的控制部334具有数据量管理部3341、缓冲器跳过判定部3342、输入缓冲器写入管理部3343、输入缓冲器读出管理部3344。
为了对输入缓冲器331中暂时存储的输入数据(像素数据)的数据量进行管理,数据量管理部3341对输入缓冲器331中暂时存储的单元行的数量进行管理。更具体而言,数据量管理部3341根据从前级的处理模块输入的数据有效信号,判定当前输入的像素数据是否是应该暂时存储在输入缓冲器331中的有效像素数据。另外,数据有效信号是表示单元行中包含的各个像素数据是否是有效像素数据的信号。数据量管理部3341对有效像素数据的数量进行计数,由此,判定是否从前级的处理模块输入了当前输入的单元行中包含的全部有效像素数据。
并且,数据量管理部3341被输入包含有效像素数据的单元行后,对表示输入缓冲器331中暂时存储的单元行的数量的信息(以下称为“缓冲器内数据量信息”)进行更新。例如,每当从前级的处理模块输入包含有效像素数据的单元行时,数据量管理部3341一个一个地加上缓冲器内数据量信息所表示的单元行数。数据量管理部3341加上缓冲器内数据量信息的定时是判定了单元行中第一个有效像素数据的定时。这是因为,若输入一个单元行中第一个有效像素数据,则然后接着输入该单元行中包含的有效像素数据。
并且,数据量管理部3341根据输入缓冲器读出管理部3344读出输入缓冲器331中暂时存储的像素数据的缓冲器读信号,对从输入缓冲器331读出的像素数据的数量进行计数,判定是否从输入缓冲器331读出了当前输出的单元行中包含的全部像素数据。数据量管理部3341判定为读出了单元行中包含的全部像素数据时,对缓冲器内数据量信息进行更新。例如,每当判定为读出一个单元行时,数据量管理部3341一个一个地减去缓冲器内数据量信息所表示的单元行数。数据量管理部3341减去缓冲器内数据量信息的定时是判定为读出了单元行中包含的最后的像素数据的定时、即从输入缓冲器331读出了一个单元行中包含的全部像素数据的定时。这是因为,当一个单元行中包含的全部像素数据的读出未结束时,无法在输入缓冲器331中暂时存储其他单元行的各个像素数据。
这样,数据量管理部3341对输入缓冲器331中暂时存储的单元行的数量进行管理。然后,数据量管理部3341将缓冲器内数据量信息输出到缓冲器跳过判定部3342和输入缓冲器读出管理部3344。
并且,数据量管理部3341对输入缓冲器331中暂时存储的数据量(单元行的数量)进行管理的结果是,在判定为输入缓冲器331中存在空闲的存储容量的情况下,将请求将输入数据输出的数据请求信号输出到前级的处理模块。更具体而言,数据量管理部3341在从输入缓冲器331中能够暂时存储的单元行的最大数中减去缓冲器内数据量信息所表示的单元行数、即输入缓冲器331中暂时存储的当前的单元行数而得到的值是大于“0”的值的情况下,判定为输入缓冲器331中存在空闲的存储容量,将表示请求将输入数据输出的数据请求信号输出到前级的处理模块。即,数据量管理部3341在缓冲器内数据量信息所表示的单元行数是小于输入缓冲器331中能够暂时存储的单元行的最大数的值的情况下,将表示请求将输入数据输出的数据请求信号输出到前级的处理模块。并且,数据量管理部3341在从输入缓冲器331中能够暂时存储的单元行的最大数中减去缓冲器内数据量信息所表示的单元行数而得到的值是“0”的情况下,判定为输入缓冲器331中不存在空闲的存储容量,使输出到前级的处理模块的数据请求信号成为表示不请求将输入数据输出的逻辑电平。并且,此时,数据量管理部3341将表示不请求将输入数据输出的流水线暂停信号输出到前级的处理模块。即,数据量管理部3341在缓冲器内数据量信息所表示的单元行数是与输入缓冲器331中能够暂时存储的单元行的最大数相同的值的情况下,使输出到前级的处理模块的数据请求信号成为表示不请求将输入数据输出的逻辑电平,将流水线暂停信号输出到前级的处理模块。
另外,在上述数据量管理部3341的动作中,示出如下动作:在缓冲器内数据量信息所表示的单元行数是小于输入缓冲器331中能够暂时存储的单元行的最大数的值的情况下,将表示请求将输入数据输出的数据请求信号输出到前级的处理模块。但是,数据量管理部3341例如在根据表示请求将输入数据输出的数据请求信号而预先得知直到输入数据从前级的处理模块输入为止的延迟时间(等待时间)的情况下,也可以预想来自输入缓冲器331的像素数据的读出结束的定时,在像素数据的读出结束前的定时,输出请求将输入数据输出的数据请求信号。
缓冲器跳过判定部3342根据从数据量管理部3341输入的缓冲器内数据量信息、以及从后级的处理模块输入的数据请求信号和流水线暂停信号,判定输入缓冲器331的控制方法。即,缓冲器跳过判定部3342进行是否在输入缓冲器331中暂时存储(写入)输入到图像处理模块33的输入数据的判定、是否读出输入缓冲器331中暂时存储的输入数据(像素数据)的判定、以及输出到运算部333的输入数据(像素数据)的选择(切换)的判定。然后,缓冲器跳过判定部3342根据判定结果,对输入缓冲器写入管理部3343和输入缓冲器读出管理部3344分别输出用于指示针对输入缓冲器331的动作的指示信号(以下称为“缓冲器动作指示信号”)。并且,缓冲器跳过判定部3342输出用于控制选择器332的控制信号(以下称为“缓冲器跳过信号”)。
更具体而言,缓冲器跳过判定部3342在从后级的处理模块输入数据请求信号、且未输入流水线暂停信号的情况下,判定为处于后级的处理模块能够受理处理像素数据的状态。然后,缓冲器跳过判定部3342在缓冲器内数据量信息所表示的单元行数是大于“0”的值时,判定为在输入缓冲器331中暂时存储有至少一个单元行的像素数据。该情况下,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以暂时存储(写入)输入到图像处理模块33的输入数据的缓冲器动作指示信号。并且,缓冲器跳过判定部3342对输入缓冲器读出管理部3344输出进行指示以读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号。进而,缓冲器跳过判定部3342对选择器332输出进行控制以将从输入缓冲器331输出的像素数据输出到运算部333的缓冲器跳过信号。由此,当前输入到图像处理模块33的像素数据暂时存储在输入缓冲器331中之后被读出,即,暂时存储在输入缓冲器331中之后传输到运算部333。
并且,在缓冲器跳过判定部3342判定为处于后级的处理模块能够受理处理像素数据的状态的情况下,在缓冲器内数据量信息所表示的单元行数为“0”时,判定为在输入缓冲器331中一个单元行的像素数据都未暂时存储。即,缓冲器跳过判定部3342判定为处于处理像素数据流未积压而顺畅地进行流水线处理的状态。该情况下,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以使输入缓冲器331的动作停止的缓冲器动作指示信号。并且,缓冲器跳过判定部3342对输入缓冲器读出管理部3344输出进行指示以不读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号。进而,缓冲器跳过判定部3342对选择器332输出进行控制以将当前输入到图像处理模块33的输入数据(像素数据)直接输出到运算部333的缓冲器跳过信号。由此,当前输入到图像处理模块33的像素数据不暂时存储在输入缓冲器331中,而是直接、即跳过输入缓冲器331传输到运算部333。
并且,缓冲器跳过判定部3342在未从后级的处理模块输入数据请求信号的情况下,或者从后级的处理模块输入了数据请求信号、但是输入了流水线暂停信号的情况下,判定为处于后级的处理模块无法受理处理像素数据的状态。该情况下,缓冲器跳过判定部3342在缓冲器内数据量信息所表示的单元行数是小于输入缓冲器331中能够暂时存储的单元行的最大数的值时,判定为能够在输入缓冲器331中暂时存储至少一个单元行的像素数据。该情况下,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以暂时存储(写入)输入到图像处理模块33的输入数据的缓冲器动作指示信号。由此,当前输入到图像处理模块33的像素数据暂时存储在输入缓冲器331中。
另外,此时,缓冲器跳过判定部3342对输入缓冲器读出管理部3344输出进行指示以不读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号。进而,缓冲器跳过判定部3342对选择器332输出进行控制以将从输入缓冲器331输出的像素数据输出到运算部333的缓冲器跳过信号。由此,与当前输入到图像处理模块33且暂时存储在输入缓冲器331中的像素数据相同的像素数据(当前不是图像处理的运算对象的像素数据)不会经由跳过输入缓冲器331的路径输出到运算部333,能够避免运算部333进行不必要的动作而消耗电力。
并且,在图像处理模块33中,在判定为处于后级的处理模块无法受理处理像素数据的状态的情况下,并且在缓冲器内数据量信息所表示的单元行数是与输入缓冲器331中能够暂时存储的单元行的最大数相同的值时,数据量管理部3341对前级的处理模块输出表示不请求将输入数据输出的流水线暂停信号。因此,来自前级的处理模块的输入数据不输入到图像处理模块33。此时,缓冲器跳过判定部3342对输入缓冲器写入管理部3343和输入缓冲器读出管理部3344分别进行指示,以不进行针对输入缓冲器331的写入和读出的动作。即,缓冲器跳过判定部3342进行指示,以保持输入缓冲器331中暂时存储的像素数据。此时,缓冲器跳过判定部3342还对选择器332输出进行控制以不将从输入缓冲器331输出的像素数据输出到运算部333的缓冲器跳过信号。由此,不对运算部333输入像素数据。
输入缓冲器写入管理部3343根据从缓冲器跳过判定部3342输入的缓冲器动作指示信号,生成用于对输入缓冲器331进行输入数据的写入动作的控制信号(以下称为“缓冲器写信号”),将其输出到输入缓冲器331。更具体而言,输入缓冲器写入管理部3343在输入了进行指示以暂时存储(写入)输入到图像处理模块33的输入数据的缓冲器动作指示信号的情况下,生成用于在输入缓冲器331中写入如下输入数据的缓冲器写信号,将其输出到输入缓冲器331,该输入数据是从前级的处理模块输入的数据有效信号表示有效的输入数据(像素数据)。并且,输入缓冲器写入管理部3343在输入了进行指示以使输入缓冲器331的动作停止的缓冲器动作指示信号的情况下,不对输入缓冲器331输出用于在输入缓冲器331中写入输入数据的缓冲器写信号。另外,输入缓冲器写入管理部3343在输入了进行指示以使输入缓冲器331的动作停止的缓冲器动作指示信号的情况下,例如,也可以生成用于使输入缓冲器331成为睡眠状态而使动作停止的控制信号,将其输出到输入缓冲器331。另外,在图5中仅图示缓冲器写信号,例如,省略睡眠信号等用于使输入缓冲器331的动作停止的控制信号的图示。
输入缓冲器读出管理部3344根据从缓冲器跳过判定部3342输入的缓冲器动作指示信号,生成用于对输入缓冲器331进行像素数据的读出动作的控制信号(以下称为“缓冲器读信号”),将其输出到输入缓冲器331。更具体而言,输入缓冲器读出管理部3344在输入了进行指示以读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号的情况下,生成用于从输入缓冲器331中暂时存储的单元行内、最早暂时存储的单元行起依次读出的缓冲器读信号,将其输出到输入缓冲器331。并且,输入缓冲器读出管理部3344在输入了进行指示以不读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号的情况下,不对输入缓冲器331输出用于读出输入缓冲器331中暂时存储的单元行的各个像素数据的缓冲器读信号。
这里,对缓冲器跳过判定部3342进行的各个判定处理进行说明。图6是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的处理步骤的流程图。在图6中示出第1结构的图像处理模块33所具有的缓冲器跳过判定部3342中的输入缓冲器331的控制方法的判定的处理步骤。
图像处理部30开始进行流水线处理后,首先,缓冲器跳过判定部3342判定是否从后级的处理模块输入了数据请求信号、即后级的处理模块是否请求输出处理像素数据(步骤S100)。在步骤S100中判定为未输入数据请求信号、即后级的处理模块未请求输出处理像素数据的情况下(步骤S100的“否”),缓冲器跳过判定部3342进入步骤S105。
另一方面,在步骤S100中判定为输入了数据请求信号、即后级的处理模块请求了输出处理像素数据的情况下(步骤S100的“是”),缓冲器跳过判定部3342判定是否处于后级的处理模块的流水线处理(暂时)停止而无法受理处理像素数据的流水线暂停状态(步骤S101)。能够根据是否从后级的处理模块输入流水线暂停信号来进行该步骤S101中的判定。
在步骤S101中判定为后级的处理模块未处于流水线暂停状态的情况下(步骤S101的“否”),在步骤S102中,缓冲器跳过判定部3342判定从数据量管理部3341输入的缓冲器内数据量信息所表示的单元行数是否是“0”。
在步骤S102中缓冲器内数据量信息所表示的单元行数不是“0”、即缓冲器内数据量信息所表示的单元行数是大于“0”的值的情况下(步骤S102的“否”),缓冲器跳过判定部3342判定为在输入缓冲器331中暂时存储有至少一个单元行的像素数据。然后,缓冲器跳过判定部3342对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332分别进行控制,以在输入缓冲器331中暂时存储当前输入到图像处理模块33的像素数据后进行读出并传输到运算部333(步骤S103)。更具体而言,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以暂时存储(写入)输入到图像处理模块33的输入数据的缓冲器动作指示信号,对输入缓冲器读出管理部3344输出进行指示以读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号。并且,缓冲器跳过判定部3342对选择器332输出进行控制以将从输入缓冲器331输出的像素数据输出到运算部333的缓冲器跳过信号。
另一方面,在步骤S102中缓冲器内数据量信息所表示的单元行数是“0”的情况下(步骤S102的“是”),缓冲器跳过判定部3342判定为处于在输入缓冲器331中一个单元行的像素数据都未暂时存储、即输入缓冲器331的存储容量全部空闲的状态。这是像素数据流未积压而顺畅地进行流水线处理的状态。因此,缓冲器跳过判定部3342对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332分别进行控制,以将当前输入到图像处理模块33的像素数据直接传输到运算部333(步骤S104)。即,缓冲器跳过判定部3342进行控制,以将当前输入到图像处理模块33的像素数据跳过输入缓冲器331而传输到运算部333。更具体而言,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以使输入缓冲器331的动作停止的缓冲器动作指示信号,对输入缓冲器读出管理部3344输出进行指示以不从输入缓冲器331读出的缓冲器动作指示信号。并且,缓冲器跳过判定部3342对选择器332输出进行控制以将当前输入到图像处理模块33的输入数据(像素数据)直接输出到运算部333的缓冲器跳过信号。
另一方面,在步骤S101中判定为后级的处理模块处于流水线暂停状态的情况下(步骤S101的“是”),或者在步骤S100中判定为后级的处理模块未请求输出处理像素数据的情况下(步骤S100的“否”),缓冲器跳过判定部3342进入步骤S105。在步骤S105中,缓冲器跳过判定部3342判定从数据量管理部3341输入的缓冲器内数据量信息所表示的单元行数是否是小于输入缓冲器331中能够暂时存储的单元行的最大数的值。
在步骤S105中缓冲器内数据量信息所表示的单元行数是小于输入缓冲器331中能够暂时存储的单元行的最大数的值的情况下(步骤S105的“是”),缓冲器跳过判定部3342判定为能够在输入缓冲器331中暂时存储至少一个单元行的像素数据。然后,缓冲器跳过判定部3342对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332分别进行控制,以在输入缓冲器331中暂时存储当前输入到图像处理模块33的像素数据(步骤S106)。更具体而言,缓冲器跳过判定部3342对输入缓冲器写入管理部3343输出进行指示以暂时存储(写入)输入到图像处理模块33的输入数据的缓冲器动作指示信号,对输入缓冲器读出管理部3344输出进行指示以不读出输入缓冲器331中暂时存储的像素数据的缓冲器动作指示信号。并且,缓冲器跳过判定部3342对选择器332输出进行控制以将从输入缓冲器331输出的像素数据输出到运算部333的缓冲器跳过信号。
另一方面,在步骤S105中缓冲器内数据量信息所表示的单元行数不是小于输入缓冲器331中能够暂时存储的单元行的最大数的值、即缓冲器内数据量信息所表示的单元行数是与输入缓冲器331中能够暂时存储的单元行的最大数相同的值的情况下(步骤S105的“否”),缓冲器跳过判定部3342判定为无法在输入缓冲器331中暂时存储输入数据(像素数据)。然后,缓冲器跳过判定部3342进行控制,使得输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332分别不进行动作,即,保持输入缓冲器331中暂时存储的像素数据(步骤S107)。另外,此时,在图像处理模块33中,数据量管理部3341对前级的处理模块输出了表示不请求将输入数据输出的数据请求信号或流水线暂停信号。
通过这种处理,缓冲器跳过判定部3342判定输入缓冲器331的控制方法,根据判定结果对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344、选择器332进行控制。另外,反复进行缓冲器跳过判定部3342中的输入缓冲器331的控制方法的判定,直到图像处理部30中的流水线处理结束为止。
通过这种结构和处理,第1结构的图像处理模块33所具有的控制部334根据输入缓冲器331的存储容量的空闲状态,对前级的处理模块请求输入数据(像素数据)。并且,控制部334根据输入缓冲器331的存储容量的空闲状态和后级的处理模块的动作状态,进行从前级的处理模块输入到图像处理模块33的输入数据(像素数据)对输入缓冲器331的写入、输入缓冲器331中暂时存储的像素数据的读出、运算部333进行图像处理的运算的像素数据的选择(切换)。由此,运算部333将对所输入的像素数据进行图像处理的运算而生成的处理像素数据输出到后级的处理模块。另外,在图5中,示出运算部333生成表示进行图像处理的运算而生成的单元行中包含的各个处理像素数据是否是有效处理像素数据的数据有效信号并将其输出到后级的处理模块的结构。
接着,对图5所示的第1结构的图像处理模块33的动作进行说明。图7是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的动作的一例的时序图。在图7中示出图5所示的第1结构的图像处理模块33中的像素数据的交接的一例。
在图7中示出从后级的处理模块对图像处理模块33输入的数据请求信号和流水线暂停信号、图像处理模块33输出到后级的处理模块的输出数据。并且,在图7中示出图像处理模块33输出到前级的处理模块的数据请求信号、流水线暂停信号和数据有效信号、从前级的处理模块对图像处理模块33输入的数据有效信号和输入数据。进而,在图7中示出图像处理模块33所具有的控制部334输出到选择器332的缓冲器跳过信号、图像处理模块33所具有的控制部334内的输入缓冲器写入管理部3343输出到输入缓冲器331的缓冲器写信号、图像处理模块33所具有的控制部334内的输入缓冲器读出管理部3344输出到输入缓冲器331的缓冲器读信号。进而,在图7中示出图像处理模块33所具有的控制部334内的信号即缓冲器内数据量信息、输入到图像处理模块33所具有的运算部333的像素数据。
另外,在图7的说明中,设为将一个单元行作为一个处理单位进行图像处理来进行说明。并且,设为图像处理模块33所具有的输入缓冲器331具有能够存储2个单元行的像素数据的存储容量来进行说明。
图像处理部30开始进行流水线处理后,在时刻t1,图像处理部30所具有的各个处理模块对前级的处理模块输出请求将输入数据输出的数据请求信号。在图像处理模块33中,数据量管理部3341对前级的处理模块输出数据请求信号。并且,从后级的处理模块对图像处理模块33输入数据请求信号。
另外,如上所述,在图像处理部30开始进行流水线处理的最初阶段,图像处理模块33处于能够立即对所输入的像素数据进行图像处理的状态,所以,控制部334进行控制以跳过输入缓冲器331而传输到运算部333。但是,在以下说明中,为了容易说明缓冲器内数据量信息的变化,设为在图像处理部30开始进行流水线处理后的最初阶段、控制部334进行控制以将输入到图像处理模块33的像素数据暂时存储在输入缓冲器331中后读出并传输到运算部333来进行说明。
根据时刻t1输出的数据请求信号,从前级的处理模块对图像处理模块33输入输入数据和数据有效信号。数据量管理部3341根据所输入的数据有效信号对缓冲器内数据量信息进行更新。更具体而言,数据量管理部3341根据数据有效信号的“高”电平判定为输入了包含有效像素数据的单元行后,在时刻t2,对缓冲器内数据量信息所表示的单元行数加上“1”。由此,缓冲器内数据量信息=“1”。
并且,缓冲器跳过判定部3342根据从后级的处理模块输入的数据请求信号的“高”电平和流水线暂停信号的“高”电平,进行指示以在输入缓冲器331中暂时存储从前级的处理模块输入的输入数据后将其传输到运算部333。由此,在时刻t2,输入缓冲器写入管理部3343将缓冲器写信号输出到输入缓冲器331。另外,缓冲器写信号是用于在输入缓冲器331中暂时存储(写入)当前输入的单元行的各个像素数据的、包含多个脉冲信号的信号,但是,在图7中,表示为“高”电平的信号。并且,在时刻t2,缓冲器跳过判定部3342对选择器332进行控制以将从输入缓冲器331输出的像素数据输出到运算部333,所以,输出“低”电平的缓冲器跳过信号。
然后,在输入缓冲器331中暂时存储当前输入的单元行后,在时刻t3,输入缓冲器读出管理部3344将缓冲器读信号输出到输入缓冲器331。另外,缓冲器读信号也是用于读出输入缓冲器331中暂时存储的单元行的各个像素数据的、包含多个脉冲信号的信号,但是,在图7中,与缓冲器写信号同样,表示为“高”电平的信号。由此,经由选择器332对运算部333依次输入从输入缓冲器331读出的像素数据。然后,运算部333对所输入的像素数据进行图像处理的运算,将运算部333中的延迟了等待时间的处理像素数据作为输出数据输出到后级的处理模块。此时,运算部333还将表示输出数据中包含的有效像素数据的数据有效信号输出到后级的处理模块。
然后,数据量管理部3341判定为输入了包含有效像素数据的下一个单元行后,在时刻t4,对缓冲器内数据量信息进行更新。由此,缓冲器内数据量信息=“2”。
并且,数据量管理部3341判定为从输入缓冲器331读出了当前读出的单元行中包含的全部像素数据后,在时刻t5,对缓冲器内数据量信息进行更新。更具体而言,数据量管理部3341从缓冲器内数据量信息所表示的单元行数中减去“1”。由此,缓冲器内数据量信息=“1”。
以后,同样,反复进行基于输入缓冲器写入管理部3343的当前输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)和基于输入缓冲器读出管理部3344的当前读出的单元行的各个像素数据从输入缓冲器331的读出、以及基于数据量管理部3341的缓冲器内数据量信息的更新。由此,运算部333将对暂时存储在输入缓冲器331中之后进行传输的像素数据进行图像处理的运算后的处理像素数据和数据有效信号输出到后级的处理模块。
然后,通过输入缓冲器读出管理部3344进行的输入缓冲器331中暂时存储的全部单元行的各个像素数据的读出结束后,在时刻t6,数据量管理部3341更新后的缓冲器内数据量信息成为“0”。由此,缓冲器跳过判定部3342根据从后级的处理模块输入的数据请求信号的“高”电平和流水线暂停信号的“高”电平、缓冲器内数据量信息=“0”,进行控制以将从前级的处理模块输入的输入数据直接作为像素数据输出到运算部333,使缓冲器跳过信号成为“高”电平。
由此,在此后的时刻t7,在从前级的处理模块输入包含有效像素数据的单元行后,各个像素数据经由选择器332直接依次输入到运算部333。然后,运算部333将对所输入的像素数据进行图像处理的运算而得到的处理像素数据和数据有效信号输出到后级的处理模块。
以后,同样,当前从前级的处理模块输入的单元行的各个像素数据直接输入到运算部333,运算部333反复进行处理像素数据和数据有效信号对后级的处理模块的输出。
然后,在时刻t8,从后级的处理模块输入的流水线暂停信号成为表示由于处于流水线暂停状态而无法受理处理像素数据的“低”电平后,缓冲器跳过判定部3342在当前从前级的处理模块输入的单元行的各个像素数据向运算部333的传输结束后,使缓冲器跳过信号成为“低”电平。并且,缓冲器跳过判定部3342根据从后级的处理模块输入的数据请求信号的“高”电平和流水线暂停信号的“低”电平,进行控制以在输入缓冲器331中暂时存储从前级的处理模块输入的输入数据。
由此,在时刻t9,根据从输入缓冲器写入管理部3343输出到输入缓冲器331的缓冲器写信号,将从前级的处理模块输入的输入数据暂时存储在输入缓冲器331中。此时,数据量管理部3341对缓冲器内数据量信息进行更新。由此,缓冲器内数据量信息=“1”。
然后,在时刻t10,从后级的处理模块输入的流水线暂停信号成为表示由于解除了流水线暂停状态而能够受理处理像素数据的“高”电平。于是,缓冲器跳过判定部3342根据从后级的处理模块输入的数据请求信号和流水线暂停信号的“高”电平、以及缓冲器内数据量信息=“1”,进行指示以将从前级的处理模块输入的输入数据暂时存储在输入缓冲器331中后传输到运算部333。由此,输入缓冲器读出管理部3344在当前从前级的处理模块输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)结束后,在时刻t11,将缓冲器读信号输出到输入缓冲器331。然后,从输入缓冲器331读出的像素数据依次输入到运算部333,运算部333使对所输入的像素数据进行图像处理的运算而得到的处理像素数据和数据有效信号延迟运算部333中的等待时间,而输出到后级的处理模块。
另外,在图7中,在当前输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)结束后的时刻t11,输出缓冲器读信号。这是因为,在缓冲器跳过判定部3342进行指示以将所输入的输入数据暂时存储在输入缓冲器331中后传输到运算部333时,处于在输入缓冲器331中还未暂时存储一个单元行的像素数据的状态。因此,在缓冲器跳过判定部3342进行指示时,在输入缓冲器331中已经暂时存储一个以上的单元行的像素数据的情况下,输入缓冲器读出管理部3344也可以将缓冲器读信号输出到输入缓冲器331,而不等待当前输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)结束。
以后,同样,反复进行基于输入缓冲器写入管理部3343的当前输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)和基于输入缓冲器读出管理部3344的当前读出的单元行的各个像素数据从输入缓冲器331的读出、以及基于数据量管理部3341的缓冲器内数据量信息的更新。由此,运算部333将对暂时存储在输入缓冲器331中之后进行传输的像素数据进行图像处理的运算而得到的处理像素数据和数据有效信号输出到后级的处理模块。
然后,在时刻t12,从后级的处理模块输入的流水线暂停信号成为“低”电平后,输入缓冲器写入管理部3343仅继续进行所输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)。然后,数据量管理部3341在成为缓冲器内数据量信息=“2”后的时刻t13,使输出到前级的处理模块的流水线暂停信号成为表示由于处于流水线暂停状态而无法受理处理像素数据的“低”电平。由此,在当前的单元行的各个像素数据的输入结束后,来自前级的处理模块的输入数据的输出暂时停止。
然后,在时刻t14,从后级的处理模块输入的流水线暂停信号成为“高”电平后,缓冲器跳过判定部3342根据从后级的处理模块输入的数据请求信号和流水线暂停信号的“高”电平、以及缓冲器内数据量信息=“2”,进行指示以将从前级的处理模块输入的输入数据暂时存储在输入缓冲器331中后传输到运算部333。由此,输入缓冲器读出管理部3344将缓冲器读信号输出到输入缓冲器331,运算部333使对从输入缓冲器331读出的像素数据进行图像处理的运算而得到的处理像素数据和数据有效信号,延迟运算部333中的等待时间而输出到后级的处理模块。
并且,当前由输入缓冲器读出管理部3344读出的单元行的全部像素数据的读出结束后,在时刻t15,数据量管理部3341更新后的缓冲器内数据量信息成为“1”。由此,数据量管理部3341使输出到前级的处理模块的流水线暂停信号成为表示由于解除了流水线暂停状态而能够受理处理像素数据的“高”电平。由此,在时刻t16,前级的处理模块再次开始与数据请求信号对应的输入数据和数据有效信号的输出。
以后,同样,反复进行基于输入缓冲器写入管理部3343的当前输入的单元行的各个像素数据在输入缓冲器331中的暂时存储(写入)和基于输入缓冲器读出管理部3344的当前读出的单元行的各个像素数据从输入缓冲器331的读出、以及基于数据量管理部3341的缓冲器内数据量信息的更新。然后,运算部333反复进行与从输入缓冲器331输入的像素数据对应的处理像素数据和数据有效信号对后级的处理模块的输出。
然后,在时刻t17,图像处理模块33在针对后级处理模块的与全部单元行对应的处理像素数据和数据有效信号的输出结束后,结束处理。然后,图像处理部30所具有的各个处理模块进行的处理结束后,图像处理部30结束流水线处理。
根据本第1实施方式中的第1结构,构成如下的图像处理装置(图像处理装置1):其在数据总线(DMA总线10)上连接有存储器(DRAM20)和图像处理部(图像处理部30),该图像处理部(图像处理部30)构成串联连接对所输入的数据(像素数据或处理像素数据)进行预定处理的多个处理模块(图像处理模块33-1~图像处理模块33-3)而得到的流水线,各个处理模块(图像处理模块33)依次进行处理,由此进行流水线处理,其中,图像处理模块33分别具有:数据缓冲器(输入缓冲器331),其按照处理的每个单位暂时存储像素数据或处理像素数据;以及控制部(控制部334),其根据流水线处理中的处理像素数据流的状态和输入缓冲器331中存储的像素数据或处理像素数据的状态,判定是否在输入缓冲器331中存储像素数据或处理像素数据,根据判定结果选择图像处理模块33内的(向运算部333)传输像素数据或处理像素数据的路径,并且控制输入缓冲器331的动作。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:在处于输入缓冲器331所具有的存储容量存储有像素数据或处理像素数据、且能够进一步在输入缓冲器331中存储像素数据或处理像素数据的状态的情况下,控制部334选择在输入缓冲器331中暂时存储像素数据或处理像素数据后读出并(向运算部333)传输的路径,并且使输入缓冲器331进行动作,在处于流水线处理中的像素数据或处理像素数据流积压(处于流水线暂停状态的状态)、且无法进一步在输入缓冲器331中存储像素数据或处理像素数据的状态的情况下,选择在输入缓冲器331中暂时存储像素数据或处理像素数据后读出并(向运算部333)传输的路径,并且使输入缓冲器331进行动作以保持所存储的像素数据或处理像素数据,在处于流水线处理中的像素数据或处理像素数据流未积压(不是流水线暂停状态的状态)、且输入缓冲器331所具有的全部存储容量未存储像素数据或处理像素数据的状态的情况下,选择跳过输入缓冲器331不进行存储而(向运算部333)传输像素数据或处理像素数据的路径,并且使输入缓冲器331的动作停止。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:控制部334对流水线的结构中的前级的图像处理模块33输出表示具有控制部334本身的图像处理模块33的动作状态的状态通知信号,根据从流水线的结构中的后级的图像处理模块33输入的状态通知信号,判定流水线处理中的像素数据或处理像素数据流的状态。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:控制部334根据从流水线的结构中的后级的多个图像处理模块33输入的状态通知信号,判定流水线处理中的像素数据或处理像素数据流的状态。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:状态通知信号是表示是否能够受理前级的图像处理模块33进行了处理的像素数据或处理像素数据的信号,包含请求输出由前级的图像处理模块33进行了处理而得到的处理像素数据的数据请求信号,控制部334在从后级的图像处理模块33输入了请求输出处理像素数据的数据请求信号的情况下,判定为处于流水线处理中的像素数据或处理像素数据流未积压的状态(不是流水线暂停状态的状态)。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:控制部334在处于能够在输入缓冲器331中存储像素数据或处理像素数据的状态的情况下,对前级的图像处理模块33输出请求输出处理像素数据的数据请求信号。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理装置1:图像处理模块33还具有选择器(选择器332),该选择器(选择器332)选择(向运算部333)传输从输入缓冲器331读出的像素数据或处理像素数据的路径和跳过输入缓冲器331(向运算部333)传输像素数据或处理像素数据的路径中的任意一个路径,作为(向运算部333)传输像素数据或处理像素数据的路径,控制部334具有:数据量管理部(数据量管理部3341),其对输入缓冲器331中存储的像素数据或处理像素数据的量进行管理,输出表示所监视的像素数据或处理像素数据的量的数据量信息(缓冲器内数据量信息);缓冲器跳过判定部(缓冲器跳过判定部3342),其根据缓冲器内数据量信息和流水线处理中的处理像素数据流的状态判定使输入缓冲器331进行的动作,根据判定结果输出对输入缓冲器331写入像素数据或处理像素数据和从输入缓冲器331读出像素数据或处理像素数据的指示信号(缓冲器动作指示信号)、以及用于选择(向运算部333)传输像素数据或处理像素数据的路径的控制信号(缓冲器跳过信号);缓冲器写入管理部(输入缓冲器写入管理部3343),其根据对输入缓冲器331写入像素数据或处理像素数据的缓冲器动作指示信号,生成用于控制对输入缓冲器331写入像素数据或处理像素数据的控制信号即缓冲器写信号;以及缓冲器读出管理部(输入缓冲器读出管理部3344),其根据从输入缓冲器331读出像素数据或处理像素数据的缓冲器动作指示信号,生成用于控制从输入缓冲器331读出像素数据或处理像素数据的控制信号即缓冲器读信号,数据量管理部3341根据所输入的像素数据或处理像素数据的数量和缓冲器读信号,对像素数据或处理像素数据的量进行管理,在缓冲器内数据量信息表示像素数据或处理像素数据的量是大于0的值的情况下,缓冲器跳过判定部3342输出指示对输入缓冲器331写入像素数据或处理像素数据和从输入缓冲器331读出像素数据或处理像素数据的缓冲器动作指示信号、以及选择在输入缓冲器331中暂时存储像素数据或处理像素数据后读出并(向运算部333)传输的路径的缓冲器跳过信号,在缓冲器内数据量信息表示像素数据或处理像素数据的量是0的情况下,缓冲器跳过判定部3342输出指示停止对输入缓冲器331写入像素数据或处理像素数据和从输入缓冲器331读出像素数据或处理像素数据的缓冲器动作指示信号、以及选择跳过输入缓冲器331而(向运算部333)传输像素数据或处理像素数据的路径的缓冲器跳过信号,选择器332选择与缓冲器跳过信号对应的路径作为(向运算部333)传输像素数据或处理像素数据的路径。
并且,根据本第1实施方式中的第1结构,构成如下的图像处理方法:其用于在数据总线(DMA总线10)上连接有存储器(DRAM20)和图像处理部(图像处理部30)的图像处理装置(图像处理装置1),该图像处理部(图像处理部30)构成串联连接对所输入的数据(像素数据或处理像素数据)进行预定处理的多个处理模块(图像处理模块33-1~图像处理模块33-3)而得到的流水线,各个处理模块(图像处理模块33)依次进行处理,由此进行流水线处理,其中,图像处理方法具有如下的控制步骤:由图像处理模块33分别执行,根据流水线处理中的处理像素数据流的状态和按照处理的每个单位暂时存储像素数据或处理像素数据的数据缓冲器(输入缓冲器331)中存储的像素数据或处理像素数据的状态,判定是否在输入缓冲器331中存储像素数据或处理像素数据,根据判定结果选择(向运算部333)传输像素数据或处理像素数据的图像处理模块33内的路径,并且控制输入缓冲器331的动作。
如上所述,第1结构的图像处理模块33根据输入缓冲器331的存储容量的空闲状态,对流水线结构中在前级连接的处理模块请求输入数据,控制从前级的处理模块输入的输入数据(像素数据)对输入缓冲器331的暂时存储(写入)。并且,第1结构的图像处理模块33根据输入缓冲器331的存储容量的空闲状态和流水线结构中在后级连接的处理模块的动作状态,控制输入缓冲器331中暂时存储的像素数据的读出以及运算部333进行图像处理的运算的像素数据的选择(切换)。由此,在第1结构的图像处理模块33中,在后级的处理模块未处于流水线暂停状态、输入缓冲器331的存储容量全部空闲的状态的情况下,能够进行控制以使从前级的处理模块输入的输入数据跳过输入缓冲器331而传输到运算部333。而且,在第1结构的图像处理模块33中,运算部333能够将对跳过输入缓冲器331而传输的来自前级的处理模块的输入数据直接进行图像处理的运算而得到的处理像素数据输出到后级的处理模块。并且,在第1结构的图像处理模块33中,使从前级的处理模块输入的输入数据跳过输入缓冲器331而传输到运算部333,由此,使此时的输入缓冲器331的动作停止,能够削减输入缓冲器331的消耗电力。由此,在利用第1结构的图像处理模块33构成流水线的图像处理部30中,即使没有如利用现有的处理模块构成流水线时那样必须对数据缓冲器写入数据和从数据缓冲器读出数据,也能够进行期望的图像处理,能够减少流水线处理中的消耗电力,而不降低流水线处理的性能。
在使用图4和图7说明的第1结构的图像处理模块33的动作中,进行控制以将从前级的处理模块输入的输入数据暂时存储在输入缓冲器331中后读出并传输到运算部333,然后,没有再次积极进行控制以跳过输入缓冲器331而传输到运算部333。即,在图4和图7所示的第1结构的图像处理模块33的动作中,进行控制以跳过输入缓冲器331将输入数据传输到运算部333的动作依赖于前级的处理模块和后级的处理模块的动作状态。但是,在第1结构的图像处理模块33中,控制部334还能够有意控制成跳过输入缓冲器331而将输入数据传输到运算部333的状态。
这里,对图像处理部30所具有的图像处理模块33有意控制成跳过输入缓冲器331而将输入数据传输到运算部333的状态的动作进行说明。图8是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块33的另一个动作的一例的时序图。在图8中,与图4所示的第1结构的图像处理模块33的动作的一例同样,示出在图像处理部30通过串联连接(流水线连接)输入DMA模块32、第1结构的图像处理模块33-1~图像处理模块33-3和输出DMA模块34而成的结构进行流水线处理的情况下,从图像处理模块33-1到图像处理模块33-2的处理像素数据的交接的一例。
在图8中,与图4所示的图像处理模块33的动作的一例同样,针对图像处理模块33-1和图像处理模块33-2分别示出输入数据、缓冲器写入、缓冲器读出和输出数据,示出数据请求信号作为各个图像处理模块33输出到前级的处理模块的状态通知信号。
另外,在图8的说明中,与图4所示的图像处理模块33的动作的一例同样,设为将一个单元行作为一个处理单位进行图像处理,针对输入数据、缓冲器写入、缓冲器读出和输出数据分别示出表示是第几个单元行的数字来进行说明。并且,在图8的说明中,与图4所示的图像处理模块33的动作的一例同样,设为图像处理部30所具有的各个处理模块具有能够存储2个单元行的像素数据的容量的数据缓冲器来进行说明。而且,在图8的说明中,与图4所示的图像处理模块33的动作的一例同样,为了区分各个图像处理模块33所具有的各个结构要素,接着对各个结构要素赋予的标号,赋予对图像处理模块33赋予的“-”和紧接着的数字部分进行表示。
另外,在图8中,与图4所示的图像处理模块33的动作的一例同样,数据请求信号为“高”电平的期间表示各个图像处理模块33能够受理像素数据的状态即请求期间,数据请求信号为“低”电平的期间表示各个图像处理模块33无法受理像素数据的状态即请求无效期间。
图像处理部30开始进行流水线处理后,图像处理模块33-1、图像处理模块33-2、图像处理模块33-3和输出DMA模块34分别将请求将输入数据输出的数据请求信号输出到前级的处理模块。另外,在图8所示的图像处理模块33的动作的时序图中,图像处理部30开始进行流水线处理的最初阶段的动作与图4所示的图像处理模块33的动作的一例相同。因此,省略与各个处理模块的动作有关的详细说明。并且,在图8所示的图像处理模块33的动作的时序图中,直到图像处理模块33-2的请求无效期间结束为止的各个处理模块的动作也与图4所示的图像处理模块33的动作的一例相同,所以省略详细说明。
接着,对成为图像处理模块33-3能够受理处理像素数据的状态、通过使输出到图像处理模块33-2的数据请求信号成为“高”电平而表示能够受理处理像素数据的状态(请求将输入数据输出)时的动作进行说明。
此时,图像处理模块33-2处于输入缓冲器331-2中暂时存储有与第3个和第4个单元行对应的各个处理像素数据的状态(不存在空闲的存储容量的状态)。因此,首先,控制部334-2对输入缓冲器331-2和选择器332-2进行控制,以将输入缓冲器331-2中存储的与第3个单元行对应的处理像素数据从输入缓冲器331-2读出并输出到运算部333-2。由此,输入缓冲器331-2将所存储的与第3个单元行对应的处理像素数据输出到选择器332-2,选择器332-2将从输入缓冲器331-2输入的与第3个单元行对应的处理像素数据输出到运算部333-2。然后,运算部333-2对从选择器332-2输出的与第3个单元行对应的处理像素数据进行图像处理的运算,将运算部333-2中的延迟了等待时间的处理像素数据输出到后级的图像处理模块33-3。
由此,与图4所示的图像处理模块33的动作的一例同样,输入缓冲器331-2输出与第3个单元行对应的处理像素数据,由此,成为一个单元行的存储容量空闲(残留)的状态,图像处理模块33-2成为能够受理来自图像处理模块33-1的处理像素数据的状态。此时,在图4所示的图像处理模块33的动作的一例中,控制部334-2使输出到图像处理模块33-1的数据请求信号成为“高”电平,以表示成为图像处理模块33-2能够受理处理像素数据的状态。但是,在图8所示的图像处理模块33的动作的一例中,控制部334不使数据请求信号成为“高”电平,而维持“低”电平的状态。即,图像处理模块33-2暂停数据请求信号在“高”电平的变更,以有意维持无法受理来自图像处理模块33-1的处理像素数据的状态。这是因为,图像处理模块33-2输出输入缓冲器331-2中暂时存储的与第4个单元行对应的处理像素数据,由此,读出全部输入缓冲器331-2中暂时存储的单元行的各个像素数据,成为输入缓冲器331-2的存储容量全部空闲的状态。
然后,控制部334-2对输入缓冲器331-2和选择器332-2进行控制,以将输入缓冲器331-2中存储的与第4个单元行对应的处理像素数据从输入缓冲器331-2读出并输出到运算部333-2。由此,输入缓冲器331-2中存储的与第4个单元行对应的处理像素数据经由选择器332-2输入到运算部333-2。然后,运算部333-2将对经由选择器332-2输入的与第4个单元行对应的处理像素数据进行图像处理的运算而生成的处理像素数据输出到图像处理模块33-3。
输入缓冲器331-2输出与第4个单元行对应的处理像素数据,由此成为全部存储容量空闲的状态。即,图像处理模块33-2受理来自图像处理模块33-1的处理像素数据,成为能够不在输入缓冲器331-2中暂时存储所受理的处理像素数据而将其直接传输到运算部333-2的状态。这里,控制部334-2使输出到图像处理模块33-1的数据请求信号成为“高”电平,以表示成为图像处理模块33-2能够受理处理像素数据的状态。
并且,控制部334-2对选择器332-2进行控制,以将以后从图像处理模块33-1输入的单元行的各个处理像素数据直接输出到运算部333-2。进而,控制部334-2进行控制以停止输入缓冲器331-2的动作,削减输入缓冲器331-2的消耗电力。
在图像处理模块33-1中,当被通知从后级的图像处理模块33-2输入的数据请求信号成为“高”电平、成为图像处理模块33-2能够受理处理像素数据的状态后,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,将与第5个和第6个单元行对应的处理像素数据输出到图像处理模块33-2。更具体而言,控制部334-1对输入缓冲器331-2和选择器332-2进行控制,以将输入缓冲器331-1中存储的第5个和第6个单元行的各个像素数据依次读出并输出到运算部333-1。由此,运算部333-1对经由选择器332-1依次输入的第5个和第6个单元行的各个像素数据进行图像处理的运算,将运算部333-1中的延迟了等待时间的处理像素数据输出到后级的图像处理模块33-2。此时,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,在读出第5个单元行的各个像素数据后,不使数据请求信号成为“高”电平,在第6个单元行的各个像素数据的读出结束后,即,成为输入缓冲器331-1的全部存储容量空闲的状态时,使数据请求信号成为“高”电平。即,图像处理模块33-1也不是在成为能够受理来自输入DMA模块32的像素数据的状态时立即通知成为能够受理像素数据的状态,而是在成为能够不在输入缓冲器331-1中暂时存储所受理的像素数据而将其直接传输到运算部333-1的状态时,通知成为能够受理像素数据的状态。
并且,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,对选择器332-1进行控制,以将以后从输入DMA模块32输入的单元行的各个像素数据直接输出到运算部333-1。进而,控制部334-1与图像处理模块33-2所具有的控制部334-2同样,进行控制以停止输入缓冲器331-1的动作,削减输入缓冲器331-1的消耗电力。
输入DMA模块32在通过从后级的图像处理模块33-1输入的数据请求信号通知了成为图像处理模块33-2能够受理处理像素数据的状态后,再次开始从DRAM20中存储的第7个单元行读出像素数据,将所读出的像素数据输出到图像处理模块33-1。另外,在输入DMA模块32暂停DRAM20中存储的像素数据的读出时,在数据缓冲器中存储有第7个和第8个单元行的各个像素数据的情况下,也可以在将数据缓冲器中存储的第7个和第8个单元行的各个像素数据输出到图像处理模块33-1后,再次开始从第9个单元行读出像素数据。
这样,在图像处理部30中,在从流水线连接的后级的处理模块输入的数据请求信号再次变成能够受理像素数据的状态的情况下,各个处理模块再次开始对后级的处理模块输出输出数据。此时,各个处理模块从处理模块本身所具有的输入缓冲器331中存储的像素数据起依次输出到后级的处理模块。然后,各个处理模块在成为处理模块本身所具有的输入缓冲器331的存储容量全部空闲的状态后,通知成为处理模块本身能够受理像素数据的状态。然后,各个处理模块不在处理模块本身所具有的输入缓冲器331中暂时存储所输入的像素数据,而依次输出到后级的处理模块。并且,各个处理模块进行控制以停止处理模块本身所具有的输入缓冲器331的动作,削减输入缓冲器331的消耗电力。
以后,通过反复进行上述动作,在图像处理部30中,针对各个块图像数据中包含的像素数据,按照每个单元行依次进行流水线连接的各个处理模块的流水线处理,由此,对各个块图像数据进行一连串的图像处理。
另外,在图8所示的第1结构的图像处理模块33的动作的时序图的一例中,说明了各个处理模块在成为处理模块本身所具有的输入缓冲器331的存储容量全部空闲的状态后、通知成为能够受理像素数据的状态的情况。而且,在图8所示的第1结构的图像处理模块33的动作的时序图的一例中,说明了不在输入缓冲器331中暂时存储输入到各个处理模块的像素数据而依次输出到后级的处理模块、停止输入缓冲器331的动作来削减消耗电力的情况。但是,在各个处理模块本身所具有的输入缓冲器331具有能够存储多个单元行的像素数据的存储容量的情况下,当在成为各个处理模块本身所具有的输入缓冲器331的存储容量全部空闲的状态后、通知成为能够受理像素数据的状态时,认为在流水线处理完成之前需要较多时间。因此,各个处理模块所具有的控制部334也可以根据输入缓冲器331中暂时存储的单元行的数量,判定是进行控制以在输入缓冲器331中暂时存储所输入的像素数据后读出并传输到运算部333,还是进行控制以不在输入缓冲器331中暂时存储所输入的像素数据而直接传输到运算部333。
更具体而言,也可以在通知了成为后级的处理模块能够受理像素数据的状态时,根据输入缓冲器331能够暂时存储的单元行数对预定的单元行数的阈值和缓冲器内数据量信息所表示的单元行数进行比较,根据该比较结果来切换输入缓冲器331的动作。例如,考虑输入缓冲器331具有能够存储10个单元行的像素数据的存储容量、且预定的单元行数的阈值为“5”的情况。该情况下,在通知了成为后级的处理模块能够受理像素数据的状态时的缓冲器内数据量信息所表示的单元行数为“5”以下的情况下,进行控制以不在输入缓冲器331中暂时存储以后输入的像素数据而直接传输到运算部333,即,与图8所示的图像处理模块33的动作的一例同样进行控制。另一方面,在通知了成为后级的处理模块能够受理像素数据的状态时的缓冲器内数据量信息所表示的单元行数大于“5”的情况下,进行控制以在输入缓冲器331中暂时存储以后输入的像素数据后读出并传输到运算部333,即,与图4所示的图像处理模块33的动作的一例同样进行控制。由此,在图像处理部30中,能够对优先削减各个处理模块所具有的输入缓冲器331的消耗电力的控制、和优先缩短流水线处理所需要的处理时间的控制进行切换。
根据本第1实施方式中的第1结构,构成如下的图像处理装置(图像处理装置1):直到成为数据缓冲器(输入缓冲器331)所具有的全部存储容量未存储数据的状态为止,控制部(控制部334)暂停向前级的处理模块(图像处理模块33)输出请求输出像素数据或处理像素数据的数据请求信号,在成为输入缓冲器331所具有的全部存储容量未存储像素数据或处理像素数据的状态之后,对前级的图像处理模块33输出数据请求信号,选择跳过输入缓冲器331传输像素数据或处理像素数据的路径,并且使输入缓冲器331的动作停止。
如上所述,第1结构的图像处理模块33根据输入缓冲器331的存储容量的空闲状态,控制对流水线结构中在前级连接的处理模块请求输入数据的定时,由此,有意控制成跳过输入缓冲器331而将输入数据传输到运算部333的状态。由此,在第1结构的图像处理模块33中,使此时的输入缓冲器331的动作停止,能够削减输入缓冲器331的消耗电力。由此,在利用第1结构的图像处理模块33构成流水线的图像处理部30中,能够减少流水线处理中的消耗电力,而不降低进行期望图像处理时的流水线处理的性能。
另外,在第1结构的图像处理模块33中,示出对从前级的处理模块输入的输入数据在输入缓冲器331中的暂时存储(写入)进行控制的结构。即,在第1结构的图像处理模块33中,示出在进行图像处理的运算时的输入侧具有数据缓冲器(输入缓冲器331)的处理模块的结构。但是,进行流水线处理的各个处理模块的结构不限于上述这种在输入侧具有数据缓冲器的结构,也可以构成为在进行图像处理的运算时的输出侧具有数据缓冲器。
(第2结构)
接着,对图像处理部30所具有的各个处理模块的第2结构进行说明。图9是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块的概略结构的框图。在图9中示出在输出侧具有数据缓冲器的第2结构的图像处理模块(以下称为“图像处理模块43”)中的基本结构。图9所示的第2结构的图像处理模块43具有运算部433、输出缓冲器431、选择器432、控制部434。与第1结构的图像处理模块33同样,图像处理模块43也是在图像处理部30中进行流水线处理的结构要素。
运算部433与第1结构的图像处理模块33所具有的运算部333同样,对所输入的像素数据进行预定的各种数字图像处理的运算。运算部433将进行图像处理的运算而生成的处理像素数据作为输出数据输出到输出缓冲器431和选择器432。
输出缓冲器431是暂时存储从运算部433输入的处理像素数据的数据缓冲器。输出缓冲器431与第1结构的图像处理模块33所具有的输入缓冲器331同样,例如由SRAM等存储器构成。输出缓冲器431具有能够存储从运算部433输入的预定数量的单元行的处理像素数据作为输出数据的存储容量。输出缓冲器431根据从控制部434输入的控制信号,暂时存储所输入的处理像素数据。
另外,输出缓冲器431也与第1结构的图像处理模块33所具有的输入缓冲器331同样,可以由如下的所谓双缓冲器构成:具有2个存储从运算部433输入的预定数量的单元行的处理像素数据(输出数据)的存储容量的组,交替切换对一个存储容量的组写入处理像素数据和从另一个存储容量的组读出处理像素数据。
选择器432是选择作为输出数据输出到图像处理模块43的外部的处理像素数据的选择部。选择器432是与第1结构的图像处理模块33所具有的选择器332相同的结构。选择器432根据从控制部434输入的控制信号,将输出缓冲器431中暂时存储的输出数据(处理像素数据)和当前从运算部433输出的输出数据(处理像素数据)中的任意一个输出数据(处理像素数据)输出到图像处理模块43的外部。即,选择器432经由连接切换部31将从运算部433输出且暂时存储在输出缓冲器431中的处理像素数据或当前从运算部433输出的处理像素数据本身中的任意一个处理像素数据,输出到其他图像处理模块43或输出DMA模块34。
控制部434与第1结构的图像处理模块33所具有的控制部334同样,进行图像处理模块43的动作状态的通知以及图像处理模块43所具有的各个结构要素的控制。控制部434将表示图像处理模块43的动作状态的状态通知信号输出到前级的处理模块。并且,控制部434根据输出缓冲器431中是否存在空闲的存储容量,对输出缓冲器431的动作进行控制。
更具体而言,在输出缓冲器431中存在空闲的存储容量的情况下,输出缓冲器431处于能够暂时存储从运算部433输出的处理像素数据的状态。该情况下,控制部434将请求输出像素数据的信号(数据请求信号),作为表示处于能够受理来自前级的处理模块的输入数据的状态的状态通知信号输出到前级的处理模块。然后,控制部434根据所输出的请求输出像素数据的状态通知信号对输出缓冲器431进行控制,以暂时存储(写入)运算部433对从前级的处理模块输入的输入数据进行图像处理的运算而生成的处理像素数据。
并且,在输出缓冲器431中不存在空闲的存储容量的情况下,输出缓冲器431处于无法暂时存储从运算部433输出的处理像素数据的状态。该情况下,控制部434将表示不请求输出像素数据的信号(表示不请求输出像素数据的逻辑电平的数据请求信号),作为表示处于无法受理来自前级的处理模块的输入数据的状态的状态通知信号输出到前级的处理模块。另外,与第1结构的图像处理模块33所具有的控制部334同样,此时的状态通知信号可以是流水线暂停信号。
并且,控制部434对输出缓冲器431中暂时存储的处理像素数据的读出动作、以及选择器432输出到图像处理模块43的外部的处理像素数据(输出数据)的选择(切换)进行控制。与第1结构的图像处理模块33所具有的控制部334同样,根据输出缓冲器431中是否存在空闲的存储容量的判定结果以及从后级的处理模块输入的状态通知信号,进行控制部434中的来自输出缓冲器431的处理像素数据的读出动作的控制以及选择器432的切换的控制。另外,从后级的处理模块输入的状态通知信号是由选择器432选择并输出的处理像素数据的输出目的地即后级的处理模块所具有的控制部434输出的状态通知信号,如上所述,包含表示是否处于后级的处理模块能够受理处理像素数据的状态的信号、即表示是否请求输出处理像素数据的信号等。
然后,控制部434在从后级的处理模块输入的状态通知信号表示处于能够受理处理像素数据的状态的情况下,根据输出缓冲器431的存储容量是否空闲对选择器432进行控制,将输出缓冲器431中暂时存储的处理像素数据或当前从运算部433输出的处理像素数据中的任意一个处理像素数据作为输出数据输出到图像处理模块43的外部。即,控制部434与第1结构的图像处理模块33所具有的控制部334同样,根据处理像素数据流是否未积压而顺畅地进行着流水线处理,进行输出缓冲器431的动作的控制和选择器432的切换的控制。
更具体而言,在输出缓冲器431的存储容量未全部空闲的情况下,处于在输出缓冲器431中暂时存储有至少一个单元行的处理像素数据的状态。该情况下,控制部434对输出缓冲器431进行控制以读出暂时存储的处理像素数据,并且对选择器432进行控制以将从输出缓冲器431输出的处理像素数据输出到外部。由此,选择器432将暂时存储在输出缓冲器431中之后读出的处理像素数据输出到后级的图像处理模块43。此时,控制部434在从前级的处理模块输入了与所输出的请求输出像素数据的状态通知信号对应的输入数据的情况下,对输出缓冲器431进行控制,使得以空闲的存储容量暂时存储(写入)运算部433对所输入的输入数据进行图像处理的运算而生成的处理像素数据。
并且,在输出缓冲器431的存储容量全部空闲的情况下,处于在输出缓冲器431中一个单元行的处理像素数据都未暂时存储的状态。该情况下,控制部434对输出缓冲器431进行控制以停止动作。由此,在图像处理模块43中,能够削减输出缓冲器431的消耗电力。然后,控制部434对选择器432进行控制,以将当前从运算部433输出的处理像素数据直接输出到外部,即不在输出缓冲器431中暂时存储运算部433对当前输入的像素数据进行图像处理的运算而生成的处理像素数据而直接输出到外部。由此,运算部433将对当前输入到图像处理模块43的输入数据(像素数据)进行图像处理的运算而生成的处理像素数据输出到后级的图像处理模块43。
另一方面,控制部434在从后级的处理模块输入的状态通知信号表示处于无法受理处理像素数据的状态、且输出缓冲器431的存储容量空闲的情况下,控制部434对输出缓冲器431进行控制,使得以空闲的存储容量暂时存储(写入)运算部433对输入到图像处理模块43的输入数据进行图像处理的运算而生成的处理像素数据。
另外,在从后级的处理模块输入的状态通知信号表示处于无法受理处理像素数据的状态、且输出缓冲器431的存储容量未空闲的情况下,控制部434将表示处于无法受理输入数据的状态的状态通知信号输出到前级的处理模块,所以,不从前级的处理模块输入输入数据。因此,控制部434不对输出缓冲器431的动作进行控制。
根据这种结构,图像处理部30所具有的各个第2结构的处理模块根据输出缓冲器431的存储容量的空闲状态,进行来自前级的处理模块的输入数据的受理以及输出到外部的处理像素数据的选择(切换)。
接着,对图像处理部30所具有的各个第2结构的处理模块的动作进行说明。图10是示出本发明的第1实施方式的图像处理装置1所具有的图像处理部30中的图像处理模块43的动作的一例的时序图。在图10中,与图4所示的第1结构的图像处理模块33的动作的一例同样,示出在图像处理部30通过串联连接(流水线连接)输入DMA模块32、第2结构的图像处理模块43-1~图像处理模块43-3和输出DMA模块34而成的结构进行流水线处理的情况下,从图像处理模块43-1到图像处理模块43-2的处理像素数据的交接的一例。
在图10中,针对图像处理模块43-1和图像处理模块43-2分别示出所输入的输入数据、运算部433进行图像处理的运算而输出的处理像素数据、表示对输出缓冲器431写入处理像素数据的缓冲器写入、表示从输出缓冲器431读出处理像素数据的缓冲器读出、以及输出的输出数据。并且,在图10中示出请求将输入数据输出的数据请求信号,作为图像处理模块43-1和图像处理模块43-2分别输出到前级的处理模块的状态通知信号。另外,在图10中还示出由在图像处理模块43-2的后级连接的图像处理模块43-3作为状态通知信号输出的数据请求信号。
另外,在图10的说明中,与图4所示的第1结构的图像处理模块33的动作的一例同样,设为将一个单元行作为一个处理单位进行图像处理,针对输入数据、处理像素数据、缓冲器写入、缓冲器读出和输出数据分别示出表示是第几个单元行的数字来进行说明。并且,在图10的说明中,与图4所示的第1结构的图像处理模块33的动作的一例同样,设为图像处理部30所具有的各个处理模块具有能够存储2个单元行的像素数据的容量的数据缓冲器来进行说明。而且,在图10的说明中,与图4所示的第1结构的图像处理模块33的动作的一例同样,为了区分各个图像处理模块43所具有的各个结构要素,接着对各个结构要素赋予的标号,赋予对图像处理模块43赋予的“-”和紧接着的数字部分进行表示。例如,将图像处理模块43-1所具有的控制部434表示为“控制部434-1”,将图像处理模块43-2所具有的控制部434表示为“控制部434-2”。
图像处理部30开始进行流水线处理后,图像处理模块43-1、图像处理模块43-2、图像处理模块43-3和输出DMA模块34分别将请求将输入数据输出的数据请求信号输出到前级的处理模块。这是因为,与图4所示的第1结构的图像处理模块33的动作的一例同样,在图像处理部30开始进行流水线处理后的最初阶段,各个图像处理模块43所具有的输出缓冲器431的存储容量全部空闲,所以,处于能够暂时存储处理像素数据的状态、即能够受理输入数据的状态。即,这是因为,图像处理模块43-1所具有的运算部433-1和图像处理模块43-2所具有的运算部433-2处于能够立即对所输入的像素数据进行图像处理的状态。并且,在图像处理部30开始进行流水线处理后的最初阶段,输出DMA模块34也与图4所示的第1结构的图像处理模块33的动作的一例同样,处于能够立即经由DMA总线10将所输入的输入数据(处理像素数据)输出到DRAM20的状态。
另外,在图10中,与图4所示的第1结构的图像处理模块33的动作的一例同样,数据请求信号为“高”电平的期间表示各个处理模块能够受理像素数据的状态即请求期间,数据请求信号为“低”电平的期间表示各个处理模块无法受理像素数据的状态即请求无效期间。
输入DMA模块32从后级的图像处理模块43-1输入数据请求信号后,首先,经由DMA总线10,按照每个单元行依次读出DRAM20中存储的第一个单元行的各个像素数据。然后,输入DMA模块32将所读出的像素数据输出到图像处理模块43-1。此时,在输入DMA模块32的后级连接的图像处理模块43-1输出“高”电平的数据请求信号,由此,表示处于能够受理像素数据的状态。因此,输入DMA模块32不在数据缓冲器中暂时存储所读出的像素数据,而将其直接输出到图像处理模块43-1。此时,在输入DMA模块32中,停止数据缓冲器的动作,削减数据缓冲器的消耗电力。然后,输入DMA模块32开始读出DRAM20中存储的第2个单元行的各个像素数据并将其输出到图像处理模块43-1。
并且,图像处理模块43-1从后级的图像处理模块43-2输入数据请求信号后,对从输入DMA模块32输入的第一个单元行的各个像素数据进行图像处理。此时,如上所述,图像处理模块43-1处于输出缓冲器431-1的存储容量全部空闲的状态、即运算部433-1能够立即对所输入的像素数据进行图像处理的状态。并且,此时,在图像处理模块43-1的后级连接的图像处理模块43-2输出“高”电平的数据请求信号,由此,表示处于能够受理处理像素数据的状态。因此,控制部434-1对选择器432-1进行控制,以将运算部433-1对当前从前级的输入DMA模块32输入的第一个单元行的各个像素数据进行图像处理的运算而生成的处理像素数据直接作为输出数据输出到外部。并且,控制部434-1进行控制以停止输出缓冲器431-1的动作,削减输出缓冲器431-1的消耗电力。由此,选择器432-1将从运算部433-1输出的处理像素数据直接作为输出数据输出到后级的图像处理模块43-2。另外,关于从图像处理模块43-1输出的输出数据(处理像素数据),延迟运算部433-1进行图像处理的运算而产生的延迟时间(等待时间)而进行输出。然后,图像处理模块43-1开始对从输入DMA模块32输入的第2个单元行的各个像素数据进行图像处理。
并且,图像处理模块43-2从后级的图像处理模块43-3输入数据请求信号后,对从图像处理模块43-1输入的与第一个单元行对应的处理像素数据进行图像处理。此时,如上所述,图像处理模块43-2也处于输出缓冲器431-2的存储容量全部空闲的状态、即运算部433-2能够立即对所输入的处理像素数据进行图像处理的状态。并且,此时,在图像处理模块43-2的后级连接的图像处理模块43-3也输出“高”电平的数据请求信号,由此,表示处于能够受理处理像素数据的状态。因此,控制部434-2也对选择器432-2进行控制,以将运算部433-2对当前从前级的图像处理模块43-1输入的与第一个单元行对应的处理像素数据进行图像处理的运算而生成的处理像素数据直接作为输出数据输出到外部。并且,控制部434-2进行控制以停止输出缓冲器431-2的动作,削减输出缓冲器431-2的消耗电力。由此,选择器432-2将延迟了运算部433-2中的等待时间而从运算部433-2输出的处理像素数据直接作为输出数据输出到后级的图像处理模块43-3。然后,图像处理模块43-2也开始对从图像处理模块43-1输入的与第2个单元行对应的处理像素数据进行图像处理。
这样,在图像处理部30中,各个第2结构的处理模块依次对流水线连接的后级的处理模块交接所输入的输入数据。此时,各个第2结构的处理模块处于处理模块本身所具有的输出缓冲器431的存储容量全部空闲的状态、且后级的处理模块能够受理输入数据的状态,所以,直接或者立即对输入数据进行图像处理的运算,不在输出缓冲器431中暂时存储从前级的处理模块输入的输入数据,而将其输出到后级的处理模块。在图10中,示出在图像处理模块43-1和图像处理模块43-2各自的缓冲器写入和缓冲器读出中不在输出缓冲器431中暂时存储输入数据的期间、即不经由输出缓冲器431而将处理像素数据输出到外部的期间,作为缓冲器跳过期间。
而且,在图像处理部30中,各个第2结构的处理模块进行控制,以停止处理模块本身所具有的数据缓冲器(输出缓冲器431)的动作。即,在图像处理部30中,停止各个处理模块中的缓冲器跳过期间的数据缓冲器(输出缓冲器431)的动作。由此,在图像处理部30中,能够削减各个处理模块所具有的数据缓冲器(输出缓冲器431)的消耗电力。
这里,对在图像处理模块43-2输出了与第2个单元行对应的处理像素数据时、后级的图像处理模块43-3由于某种原因而成为无法受理处理像素数据的状态时的动作进行说明。该情况下,图像处理模块43-3使输出到图像处理模块43-2的数据请求信号成为“低”电平,由此,表示处于无法受理处理像素数据的状态、即不请求将输入数据输出。另外,各个第2结构的处理模块向前级的处理模块传达不请求将输入数据输出的方法不限于如上所述基于数据请求信号的逻辑电平的方法,也可以是通过输出流水线暂停信号来通知处于无法受理像素数据的状态的方法。
此时,图像处理模块43-2处于输出缓冲器431-2的存储容量全部空闲的状态(2个单元行的存储容量空闲的状态),所以,控制部434-2对输出缓冲器431-2进行控制,以暂时存储运算部433-2对当前从前级的图像处理模块43-1输入的与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据。由此,输出缓冲器431-2存储进一步对与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据,成为一个单元行的存储容量空闲(残留)的状态。
进而,在图像处理模块43-2中,控制部434-2对输出缓冲器431-2进行控制,以暂时存储运算部433-2对当前从前级的图像处理模块43-1输入的与第4个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据。由此,输出缓冲器431-2还存储进一步对与第4个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据,成为不存在空闲的存储容量的状态。即,图像处理模块43-2成为无法受理来自图像处理模块43-1的处理像素数据的状态。因此,控制部434-2使输出到图像处理模块43-1的数据请求信号成为“低”电平,以表示成为图像处理模块43-2无法受理处理像素数据的状态。
由此,在图像处理模块43-1中,控制部434-1与图像处理模块43-2所具有的控制部434-2同样,对输出缓冲器431-1进行控制,以暂时存储运算部433-1对从输入DMA模块32输入的第5个和第6个单元行的各个像素数据进行图像处理的运算而得到的处理像素数据。由此,输出缓冲器431-1存储对第5个和第6个单元行的各个像素数据进行图像处理的运算而得到的处理像素数据,图像处理模块43-1成为无法受理来自输入DMA模块32的像素数据的状态。因此,控制部434-1也与控制部434-2同样,使输出到输入DMA模块32的数据请求信号成为“低”电平,以表示成为图像处理模块43-1无法受理像素数据的状态。
由此,输入DMA模块32暂停DRAM20中存储的第7个单元行的各个像素数据的读出。另外,输入DMA模块32也具有能够存储2个单元行的像素数据的容量的数据缓冲器,因此,也可以读出第7个和第8个单元行的各个像素数据,暂时存储在数据缓冲器中,然后暂停第9个单元行的各个像素数据的读出。
这样,在图像处理部30中,在从流水线连接的后级的处理模块输入的数据请求信号表示处于无法受理像素数据的状态的情况下,各个处理模块停止对后级的处理模块输出输出数据。而且,各个处理模块暂时存储处理模块本身所具有的输出缓冲器431的存储容量空闲量的处理像素数据后,通知成为处理模块本身无法受理像素数据的状态。
另外,在图像处理部30中,各个第2结构的处理模块按照每个处理单位进行处理。因此,在图像处理部30中,在各个处理模块向后级的处理模块输出一个处理单位的像素数据的中途被通知处于无法受理像素数据的状态的情况下,在输出了当前输出的处理单位的全部像素数据后,也停止对后级的处理模块输出输出数据。
接着,对成为图像处理模块43-3能够受理处理像素数据的状态的情况的动作进行说明。该情况下,图像处理模块43-3使输出到图像处理模块43-2的数据请求信号成为“高”电平,由此,表示处于能够受理处理像素数据的状态、即请求将输入数据输出。另外,各个第2结构的处理模块向前级的处理模块传达再次请求将输入数据输出的方法不限于如上所述基于数据请求信号的逻辑电平的方法,也可以是通过停止输出流水线暂停信号来通知处于能够受理像素数据的状态的方法。
此时,图像处理模块43-2处于输出缓冲器431-2中不存在空闲的存储容量的状态(暂时存储有运算部433-2对与第3个和第4个单元行对应的各个处理像素数据进行图像处理的运算而生成的处理像素数据的状态)。因此,首先,控制部434-2对输出缓冲器431-2和选择器432-2进行控制,以将进一步对输出缓冲器431-2中存储的与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据从输出缓冲器431-2读出并输出到外部。由此,输出缓冲器431-2将进一步对所存储的与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据输出到选择器432-2,选择器432-2将进一步对从输出缓冲器431-2输入的与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据,作为输出数据输出到外部。另外,图像处理模块43-2存储在输出缓冲器431-2中的处理像素数据是已经通过运算部433-2进行了图像处理的运算而得到的处理像素数据,所以,能够输出到后级的图像处理模块43-3,而不延迟运算部433-2中的等待时间。
并且,输出缓冲器431-2输出进一步对与第3个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据,由此,成为一个单元行的存储容量空闲(残留)的状态。即,图像处理模块43-2成为能够受理来自图像处理模块43-1的处理像素数据的状态。因此,控制部434-2使输出到图像处理模块43-1的数据请求信号成为“高”电平,以表示成为图像处理模块43-2能够受理处理像素数据的状态。
进而,在图像处理模块43-2中,处于输出缓冲器431-2中存在空闲的存储容量但是暂时存储有与第4个单元行对应的处理像素数据的状态。因此,控制部434-2对输出缓冲器431-2和选择器432-2进行控制,以将进一步对输出缓冲器431-2中存储的与第4个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据从输出缓冲器431-2读出并输出到外部。由此,输出缓冲器431-2将进一步对所存储的与第4个单元行对应的处理像素数据进行图像处理的运算而得到的处理像素数据,作为输出数据输出到图像处理模块43-3。
并且,在图像处理模块43-1中,当从后级的图像处理模块43-2输入的数据请求信号成为“高”电平,被通知成为图像处理模块43-2能够受理处理像素数据的状态后,控制部434-1与图像处理模块43-2所具有的控制部434-2同样,将与第5个和第6个单元行对应的处理像素数据输出到图像处理模块43-2。更具体而言,控制部434-1对输出缓冲器431-2和选择器432-2进行控制,以将对输出缓冲器431-1中存储的第5个和第6个单元行的各个像素数据进行图像处理的运算而得到的处理像素数据依次读出并输出到外部。由此,输出缓冲器431-1将对所存储的第5个和第6个单元行的各个像素数据进行图像处理的运算而得到的处理像素数据,作为输出数据输出到后级的图像处理模块43-2。另外,图像处理模块43-1存储在输出缓冲器431-1中的处理像素数据也是已经通过运算部433-1进行了图像处理的运算而得到的处理像素数据,所以,能够输出到后级的图像处理模块43-2,而不延迟运算部433-1中的等待时间。
并且,输出缓冲器431-1在输出对第5个单元行的各个像素数据进行了图像处理的运算而得到的处理像素数据时,成为一个单元行的存储容量空闲(残留)的状态,成为图像处理模块43-1能够受理来自输入DMA模块32的像素数据的状态。因此,控制部434-1与控制部434-2同样,使输出到输入DMA模块32的数据请求信号成为“高”电平,以表示成为图像处理模块43-1能够受理像素数据的状态。
由此,输入DMA模块32再次开始从DRAM20中存储的第7个单元行读出像素数据,将所读出的像素数据输出到图像处理模块43-1。另外,在输入DMA模块32暂停DRAM20中存储的像素数据的读出时,在数据缓冲器中存储有第7个和第8个单元行的各个像素数据的情况下,也可以在将数据缓冲器中存储的第7个单元行的各个像素数据输出到图像处理模块43-1后,再次开始从第9个单元行读出像素数据。
这样,在图像处理部30中,在从流水线连接的后级的处理模块输入的数据请求信号再次变成能够受理像素数据的状态的情况下,各个第2结构的处理模块再次开始对后级的处理模块输出输出数据。此时,各个第2结构的处理模块从处理模块本身所具有的输出缓冲器431中存储的像素数据起依次输出到后级的处理模块。然后,各个第2结构的处理模块在成为处理模块本身所具有的输出缓冲器431的存储容量空闲的状态后,通知成为处理模块本身能够受理像素数据的状态。然后,各个第2结构的处理模块将处理模块本身所具有的运算部433对所输入的像素数据进行图像处理的运算而生成的处理像素数据暂时存储在处理模块本身所具有的输出缓冲器431中后读出,并依次输出到后级的处理模块。
以后,通过反复进行上述动作,在图像处理部30中,针对各个块图像数据中包含的像素数据,按照每个单元行依次进行流水线连接的各个第2结构的处理模块的流水线处理,由此,对各个块图像数据进行一连串的图像处理。
另外,在图10所示的图像处理模块43的动作的时序图的一例中没有示出,但是,图像处理部30进行控制,以在各个第2结构的处理模块再次开始对后级的处理模块输出输出数据后、再次成为能够不经由输出缓冲器431而将对输入数据进行图像处理的运算而生成的处理像素数据直接输出到后级的处理模块的状态的情况下,与开始进行图10所示的流水线处理后的最初阶段同样,停止输出缓冲器431的动作。由此,在图像处理部30中,能够削减各个第2结构的处理模块所具有的输出缓冲器431的消耗电力。
如上所述,第2结构的图像处理模块43根据输出缓冲器431的存储容量的空闲状态,对流水线结构中在前级连接的处理模块请求输入数据,控制对从前级的处理模块输入的输入数据(像素数据)进行图像处理的运算而得到的处理像素数据在输出缓冲器431中的暂时存储(写入)。并且,第2结构的图像处理模块43根据输出缓冲器431的存储容量的空闲状态和流水线结构中在后级连接的处理模块的动作状态,控制输出缓冲器431中暂时存储的处理像素数据的读出、输出到后级的处理模块的处理像素数据的选择(切换)。由此,在第2结构的图像处理模块43中,在后级的处理模块未处于流水线暂停状态、输出缓冲器431的存储容量全部空闲的状态的情况下,能够进行控制,以使运算部433对从前级的处理模块输入的输入数据进行图像处理的运算后的处理像素数据跳过输出缓冲器431而输出到后级的处理模块。并且,在第2结构的图像处理模块43中,将运算部433对从前级的处理模块输入的输入数据进行图像处理的运算后的处理像素数据跳过输出缓冲器431而输出到后级的处理模块,由此,使此时的输出缓冲器431的动作停止,能够削减输出缓冲器431的消耗电力。由此,在利用第2结构的图像处理模块43构成流水线的图像处理部30中,即使没有如利用现有的处理模块构成流水线时那样必须对数据缓冲器写入数据和从数据缓冲器读出数据,也能够进行期望的图像处理,能够减少流水线处理中的消耗电力,而不降低流水线处理的性能。
另外,图像处理模块43所具有的控制部434的结构、判定处理和动作能够与图5~图7所示的第1结构的图像处理模块33的结构、判定处理和动作同样进行考虑。因此,省略与图像处理模块43所具有的控制部434的结构、判定处理和动作有关的详细说明。但是,第2结构的图像处理模块43构成为,首先,运算部433对从前级的处理模块输入的输入数据进行图像处理的运算。因此,在第2结构的图像处理模块43中,运算部433对输入数据进行图像处理的运算的定时、控制部434对缓冲器内数据量信息进行更新的定时、用于控制部434在输出缓冲器431中写入处理像素数据的缓冲器写信号的定时、图像处理模块43输出到后级的处理模块的数据有效信号的定时与第1结构的图像处理模块33不同。
更具体而言,运算部433对从前级的处理模块输入的数据有效信号表示单元行中包含的各个像素数据是有效像素数据的像素数据进行图像处理的运算。并且,与第1结构的图像处理模块33的控制部334所具有的数据量管理部3341对应的、控制部434所具有的数据量管理部在一个一个地加上缓冲器内数据量信息所表示的单元行数而更新时,设从运算部433输出的数据有效信号是第1结构的图像处理模块33中从前级的处理模块输入的数据有效信号,对缓冲器内数据量信息进行更新。并且,与第1结构的图像处理模块33的控制部334所具有的输入缓冲器写入管理部3343对应的、控制部434所具有的输出缓冲器写入管理部根据从运算部433输出的数据有效信号表示有效的处理像素数据,生成用于在输出缓冲器431中写入处理像素数据的缓冲器写信号,将其输出到输出缓冲器431。并且,选择器432还选择(切换)输出到外部的数据有效信号,以输出与所选择(切换)的处理像素数据对应的数据有效信号。即,选择器432选择(切换)输出到外部的数据有效信号,以在将运算部433进行图像处理的运算而得到的处理像素数据输出到外部时,输出从运算部433输出的数据有效信号,在将输出缓冲器431-1中存储的处理像素数据输出到外部时,输出与从输出缓冲器431读出处理像素数据的定时对应的数据有效信号。另外,关于与从输出缓冲器431读出处理像素数据的定时对应的数据有效信号,可以由与第1结构的图像处理模块33的控制部334所具有的输入缓冲器读出管理部3344对应的、控制部434所具有的输出缓冲器读出管理部生成并输出到选择器432,也可以由选择器432根据从控制部434输出到输出缓冲器431的缓冲器读信号来生成。
另外,在使用图10说明的第2结构的图像处理模块43的动作中,进行控制以在输出缓冲器431中暂时存储对从前级的处理模块输入的输入数据进行图像处理的运算而得到的处理像素数据后读出并输出到后级的处理模块,然后,没有再次积极进行控制以跳过输出缓冲器431而将运算部433生成的处理像素数据输出到外部。即,在图10所示的第2结构的图像处理模块43的动作中,与图4和图7所示的第1结构的图像处理模块33的动作同样,进行控制以跳过输出缓冲器431而将运算部433进行图像处理的运算而生成的处理像素数据输出到外部的动作依赖于前级的处理模块和后级的处理模块的动作状态。但是,在第2结构的图像处理模块43中,与第1结构的图像处理模块33同样,控制部434能够有意控制成跳过输出缓冲器431将运算部433进行图像处理的运算而生成的处理像素数据输出到外部的状态。此时的动作能够与图8所示的第1结构的图像处理模块33的动作同样进行考虑。因此,省略与图像处理模块43有意控制成跳过输出缓冲器431而将运算部433进行图像处理的运算而生成的处理像素数据输出到外部的状态的动作有关的详细说明。
如上所述,在第1实施方式的图像处理装置1中,图像处理部30所具有的构成流水线的各个处理模块根据各个处理模块所具有的数据缓冲器的存储容量的空闲状态,对在前级连接的处理模块请求输入数据,控制数据在数据缓冲器中的暂时存储(写入)。并且,在第1实施方式的图像处理装置1中,图像处理部30所具有的各个处理模块根据各个处理模块所具有的数据缓冲器的存储容量的空闲状态和在后级连接的处理模块的动作状态,控制数据缓冲器中暂时存储的数据的读出和输出到外部的输出数据的选择(切换)。此时,在各个处理模块中,在后级的处理模块未处于流水线暂停状态、数据缓冲器的存储容量全部空闲的状态的情况下,进行控制以跳过数据缓冲器,使数据缓冲器的动作停止。由此,在各个处理模块中,能够削减数据缓冲器的消耗电力。此时,在图像处理部30中,能够视为与进行控制以跳过数据缓冲器的处理模块及其后级的处理模块是一个处理模块同样。另一方面,在各个处理模块中,在后级的处理模块处于流水线暂停状态的情况下,进行控制以不跳过数据缓冲器。由此,能够防止各个处理模块本身成为流水线暂停状态。由此,在第1实施方式的图像处理装置1中,通过图像处理部30所具有的各个处理模块的流水线处理,能够减少流水线处理中的消耗电力,而不降低进行期望图像处理时的流水线处理的性能。
另外,在第1实施方式的图像处理装置1中,说明了图像处理部30所具有的构成流水线的各个处理模块根据流水线结构中的紧接其后的处理模块的动作状态判定是否跳过各个处理模块所具有的数据缓冲器的结构。但是,是否跳过各个处理模块中的数据缓冲器不限于第1实施方式所示的根据紧接其后的处理模块的动作状态进行判定的结构。例如,也可以构成为,各个处理模块根据流水线结构中的多个后级的处理模块或后级的全部处理模块的动作状态判定是否跳过各个处理模块所具有的数据缓冲器。更具体而言,也可以构成为,根据对从多个后级的处理模块输出的流水线暂停信号进行逻辑积(AND)运算的结果,判定是否跳过数据缓冲器。该情况下,各个处理模块能够根据进行逻辑积运算而输入的流水线暂停信号判定是否跳过数据缓冲器。即,各个处理模块在对流水线暂停信号进行逻辑积运算的后级的全部处理模块未处于流水线暂停状态的情况下,能够判定为跳过数据缓冲器。并且,各个处理模块在能够得到后级的处理模块所具有的数据缓冲器的存储容量的空闲状态的信息作为状态通知信号的情况下,能够将后级的处理模块所具有的数据缓冲器的存储容量也视为处理模块本身所具有的数据缓冲器的存储容量的一部分,判定是否跳过数据缓冲器。
并且,在第1实施方式的图像处理装置1中,例如如图7所示,作为进行控制以不跳过数据缓冲器后、再次积极进行控制以跳过数据缓冲器的方法,示出各个处理模块读出数据缓冲器中暂时存储的全部数据后对前级的处理模块请求输入数据的方法。但是,各个处理模块中积极进行控制以跳过数据缓冲器的方法不限于第1实施方式所示的方法。例如,各个处理模块也可以在预定时间以上持续输出来自多个后级的处理模块的输入数据的请求的情况下,进行控制以跳过数据缓冲器。
另外,在第1实施方式的图像处理装置1中,图像处理部30所具有的构成流水线的各个处理模块根据后级的处理模块中的流水线暂停状态分别判定是否跳过数据缓冲器,即,按照各个处理模块判定是否跳过数据缓冲器。但是,当考虑图像处理装置1的整体时,作为图像处理部30中的流水线处理成为流水线暂停状态的原因,还考虑DMA总线10中的数据流(总线通信量)的积压。这是因为,在图像处理装置1中与DMA总线10连接的多个结构要素经由DMA总线10在与DRAM20之间进行要处理的数据的交接。因此,为了不降低图像处理部30中的流水线处理的性能,优选还考虑DMA总线10中的总线通信量。
(第2实施方式)
接着,对本发明的第2实施方式的图像处理装置进行说明。图11是示出本发明的第2实施方式中的图像处理装置的概略结构的框图。图11所示的图像处理装置2具有DMA总线10、DRAM20、图像处理部50、传感器接口(I/F)部60、视频接口(I/F)部70、存储卡接口(I/F)部80、CPU(Central Processing Unit:中央处理单元)90。并且,图像处理部50具有连接切换部31、输入DMA模块32、3个图像处理模块33-1~图像处理模块33-3、输出DMA模块34、总线通信量监视部55。图像处理装置2也与图像处理装置1同样,例如设置在静态图像用照相机等摄像装置中。
另外,在图像处理装置2的结构要素中包含与图1所示的第1实施方式的图像处理装置1所具有的结构要素相同的结构要素。因此,在以下说明中,在图像处理装置2的结构要素中,对与第1实施方式的图像处理装置1的结构要素相同的结构要素标注相同标号,省略与各个结构要素有关的详细说明。
传感器接口部60是如下的摄像处理部:与DMA总线10连接,控制对由摄像装置所具有的镜头成像的被摄体的光学像进行光电转换的固体摄像元件(图像传感器)。传感器接口部60将由图像传感器进行摄像而得到的各个帧的静态图像的数据经由DMA总线10存储在DRAM20中。在图像处理装置2中,将通过传感器接口部60存储在DRAM20中的1帧的静态图像的数据分割成预定的多个小块,图像处理部50按照各个块进行图像处理。
视频接口部70是如下的显示处理部:与DMA总线10连接,用于使摄像装置所具有的未图示的显示部显示图像处理部50实施图像处理而存储在DRAM20中的显示用的图像的数据。视频接口部70经由DMA总线10从DRAM20读出显示用的图像的数据,使显示部显示所读出的显示用的图像的数据。
存储卡接口部80是如下的记录处理部:与DMA总线10连接,用于在以能够相对于摄像装置进行拆装的结构连接的存储卡等记录介质中记录图像处理部50实施图像处理而存储在DRAM20中的记录用的图像的数据。存储卡接口部80经由DMA总线10从DRAM20读出记录用的图像的数据,使记录介质记录所读出的记录用的图像的数据。
CPU90是与DMA总线10连接、并对图像处理装置2所具有的各个结构要素和摄像装置所具有的结构要素进行控制的系统控制部。CPU90经由DMA总线10读出用于对各个结构要素进行控制的程序和数据,根据所读出的程序和数据对摄像装置的整体进行控制。
在以下说明中,在不进行区分来表示与DMA总线10连接且经由DMA总线10访问DRAM20的传感器接口部60、视频接口部70、存储卡接口部80和CPU90时,称为“总线主控”。
图像处理部50与第1实施方式的图像处理装置1所具有的图像处理部30同样,将DRAM20中存储的1帧的静态图像的数据分割成预定的多个小块,按照各个块进行图像处理。图像处理部50也是与DMA总线10连接的总线主控。如图11所示,图像处理部50通过串联连接输入DMA模块32、图像处理模块33-1、图像处理模块33-2、图像处理模块33-3和输出DMA模块34而成的流水线处理,依次进行图像处理装置2中的图像处理。
另外,图像处理部50也包含与图1所示的第1实施方式的图像处理装置1所具有的图像处理部30的结构要素相同的结构要素。因此,在以下说明中,在图像处理部50的结构要素中,仅对与第1实施方式的图像处理装置1所具有的图像处理部30的结构要素不同之处进行说明,对与第1实施方式的图像处理装置1所具有的图像处理部30相同的结构要素标注相同标号,省略详细说明。
连接切换部31根据来自CPU90的控制,进行图像处理部50所具有的各个处理模块彼此的连接的切换。
总线通信量监视部55监视图像处理部50中与DMA总线10连接的各个总线主控对DRAM20的访问,由此监视DMA总线10的总线通信量。然后,总线通信量监视部55根据所监视的DMA总线10的总线通信量,将用于进行指示以跳过输入缓冲器331而将输入数据输出到运算部333的指示信号(以下称为“缓冲器跳过指示信号”)输出到各个图像处理模块33。
更具体而言,总线通信量监视部55监视与DMA总线10连接的各个总线主控经由DMA总线10在与DRAM20之间进行数据交接(读写)时的DMA控制信号。该DMA控制信号例如是各个总线主控请求基于DMA访问DRAM20时输出的DMA请求信号、对各个总线主控通过DMA对DRAM20的访问进行调停的总线仲裁器(未图示)对许可访问请求的总线主控输出的DMA确认信号等。然后,总线通信量监视部55根据所监视的DMA总线10的总线通信量判定为DMA总线10中流过的数据较少的情况下,输出进行指示以跳过输入缓冲器331而将输入数据输出到运算部333的缓冲器跳过指示信号。
另外,总线通信量监视部55在所监视的DMA总线10的总线通信量满足预定条件的情况下,判定为DMA总线10中流过的数据较少。关于总线通信量监视部55判定为DMA总线10中流过的数据较少的条件,例如存在从各个总线主控输出的DMA请求信号的间隔、是否从总线主控输出了DMA请求信号等条件。更具体而言,总线通信量监视部55在各个总线主控的DMA请求信号的间隔、即各个总线主控经由DMA总线10进行的访问DRAM20的间隔比预定间隔的阈值长的情况下,判定为DMA总线10中流过的数据较少。并且,总线通信量监视部55在各个总线主控未通过DMA访问DRAM20的期间比预定间隔的阈值长的情况下,判定为DMA总线10中流过的数据较少。
图像处理模块33分别是与第1实施方式的图像处理装置1中图像处理部30所具有的图像处理模块33相同的结构的处理模块。但是,在图像处理装置2中,根据总线通信量监视部55输出的缓冲器跳过指示信号,选择(切换)是使输入数据跳过输入缓冲器331而输出到运算部333、还是暂时存储在输入缓冲器331中之后输出到运算部333。在图5所示的图像处理模块33的结构中,代替从后级的处理模块输入的流水线暂停信号而输入从总线通信量监视部55输出的缓冲器跳过指示信号,由此,缓冲器跳过判定部3342能够与第1实施方式的图像处理装置1所具有的图像处理部30同样进行动作。即,缓冲器跳过判定部3342能够输出用于根据缓冲器跳过指示信号对选择器332进行控制的缓冲器跳过信号。
另外,流水线暂停信号是表示由于流水线处理(暂时)停止而不请求将输入数据输出的信号,缓冲器跳过指示信号是表示进行指示以跳过输入缓冲器331而将输入数据输出到运算部333的信号。即,流水线暂停信号所表示的意思和缓冲器跳过指示信号所表示的意思成为相反的意思。因此,在图5所示的图像处理模块33的结构中,缓冲器跳过判定部3342相反地捕捉代替流水线暂停信号而输入的缓冲器跳过指示信号的意思,来判定输入缓冲器331(即输入缓冲器写入管理部3343和输入缓冲器读出管理部3344)和选择器332的控制方法。
然后,各个图像处理模块33在处于缓冲器跳过指示信号表示进行指示以跳过输入缓冲器331而将输入数据输出到运算部333、且输入缓冲器331的存储容量全部空闲的状态的情况下,进行控制以将从前级的处理模块输入的输入数据跳过输入缓冲器331而传输到运算部333。此时,各个图像处理模块33使输入缓冲器331的动作停止,削减输入缓冲器331的消耗电力。
接着,对总线通信量监视部55中的DMA总线10的总线通信量的监视动作进行说明。图12是示出本发明的第2实施方式的图像处理装置2所具有的图像处理部50中的总线通信量监视部55的动作的一例的时序图。在图12中,示出图像处理装置2所具有的各个总线主控请求访问DRAM20时输出的DMA请求信号、图像处理部50所具有的输入DMA模块32和输出DMA模块34请求访问DRAM20时输出的DMA请求信号的一例。并且,在图12中,一并示出根据总线通信量监视部55监视DMA总线10的总线通信量的结果而输出的缓冲器跳过指示信号的一例。
图像处理装置2所具有的各个总线主控根据处理的状况将基于DMA对DRAM20的访问请求(DMA请求信号)输出到总线仲裁器(未图示)。然后,总线仲裁器(未图示)对从各个总线主控输入的DMA请求信号进行调停,对许可访问请求的总线主控输出DMA确认信号。由此,被输入DMA确认信号的总线主控、即许可访问请求的总线主控通过DMA访问DRAM20。这里,如图12所示,不是以一定的间隔进行各个总线主控对DRAM20的访问。
总线通信量监视部55监视图像处理部50以外的总线主控通过DMA进行的对DRAM20的访问,由此监视DMA总线10的总线通信量。更具体而言,总线通信量监视部55按照每个总线主控计测图像处理部50以外的各个总线主控输出的DMA请求信号的间隔。由此,总线通信量监视部55能够判定DMA总线10的总线通信量的状态。例如,在以比预定间隔的阈值短的间隔从一个总线主控输出DMA请求信号的情况下,该总线主控对DMA总线10的占有率较高,频繁地访问DRAM20,由此,能够判定为在DMA总线10中流过较多数据。并且,例如,在各个总线主控输出的DMA请求信号的间隔比预定间隔的阈值长、但是同时从多个总线主控输出DMA请求信号的情况下,各个总线主控对DMA总线10的占有率较低,但是通过多个总线主控频繁地访问DRAM20,由此,能够判定为在DMA总线10中流过较多数据。
这样,在DMA总线10中流过较多数据时,在图像处理部50请求了利用DMA访问DRAM20的情况下,许可访问请求的间隔变长,图像处理部50中的流水线处理积压,即,认为成为流水线暂停状态。因此,总线通信量监视部55不输出表示进行指示以跳过输入缓冲器331将输入数据输出到运算部333的缓冲器跳过指示信号。在图12所示的时序图中,通过使缓冲器跳过指示信号成为“低”电平,表示不进行指示以跳过输入缓冲器331而将输入数据输出到运算部333。由此,在图像处理部50所具有的各个图像处理模块33中,缓冲器跳过判定部3342进行控制,以将所输入的输入数据暂时存储在输入缓冲器331中后读出并传输到运算部333。然后,在各个图像处理模块33中,将通过运算部333进行图像处理的运算而得到的处理像素数据依次输出到后级的处理模块,由此进行流水线处理。
并且,如图12所示的时序图中的时刻t1以后那样,在不存在图像处理部50以外的总线主控输出的DMA请求信号、即不存在图像处理部50以外的总线主控对DRAM20的访问、且该状态持续得比预定期间长的情况下,总线通信量监视部55判定为DMA总线10中流过的数据较少。然后,总线通信量监视部55输出表示进行指示以跳过输入缓冲器331将输入数据输出到运算部333的缓冲器跳过指示信号。在图12所示的时序图中,从时刻t2起使缓冲器跳过指示信号成为“高”电平,由此表示进行指示以跳过输入缓冲器331将输入数据输出到运算部333。由此,在图像处理部50所具有的各个图像处理模块33中,缓冲器跳过判定部3342对选择器332进行控制,以将所输入的输入数据跳过输入缓冲器331输出到运算部333,使输入缓冲器331的动作停止,削减输入缓冲器331的消耗电力。然后,在各个图像处理模块33中,将运算部333对跳过输入缓冲器331传输的输入数据进行图像处理的运算而得到的处理像素数据依次输出到后级的处理模块,由此进行流水线处理。
并且,如图12所示的时序图中的时刻t3以后那样,在从图像处理部50以外的总线主控输出了DMA请求信号的情况下、即图像处理部50以外的总线主控对DRAM20进行访问的情况下,总线通信量监视部55判定为DMA总线10中流过的数据从此变多。因此,总线通信量监视部55从时刻t4起使缓冲器跳过指示信号再次成为“低”电平,由此表示不进行指示以跳过输入缓冲器331将输入数据输出到运算部333。由此,在图像处理部50所具有的各个图像处理模块33中,缓冲器跳过判定部3342进行控制,以将所输入的输入数据暂时存储在输入缓冲器331中后读出并传输到运算部333。
这样,总线通信量监视部55根据与DMA总线10连接的各个总线主控对DRAM20的访问,监视DMA总线10的总线通信量。然后,总线通信量监视部55根据所监视的DMA总线10的总线通信量,对图像处理部50中构成流水线的各个图像处理模块33输出用于控制是否跳过输入缓冲器331将所输入的输入数据传输到运算部333的缓冲器跳过指示信号。
另外,总线通信量监视部55判定总线通信量的条件、即判定DMA总线10中流过的数据是多还是少的条件不限于上述这种从各个总线主控输出的DMA请求信号的间隔、是否从总线主控输出了DMA请求信号的条件,也可以通过其他条件进行判定。例如,可以根据访问DRAM20的总线主控的数量来判定总线通信量。该情况下,总线通信量监视部55在访问DRAM20的总线主控的数量少于预定数量的阈值的情况下,判定为DMA总线10中流过的数据较少,在访问DRAM20的总线主控的数量为预定数量的阈值以上的情况下,判定为DMA总线10中流过的数据较多。并且,例如,可以根据各个总线主控从输出DMA请求信号到输入DMA确认信号的时间来判定总线通信量。该情况下,总线通信量监视部55在从输出DMA请求信号到输入DMA确认信号的时间比预定时间的阈值短的情况下,判定为DMA总线10中流过的数据较少,在从输出DMA请求信号到输入DMA确认信号的时间为预定时间的阈值以上的情况下,判定为DMA总线10中流过的数据较多。
根据本第2实施方式,构成如下的图像处理装置(图像处理装置2):图像处理部(图像处理部50)还具有总线通信量监视部(总线通信量监视部55),该总线通信量监视部(总线通信量监视部55)监视与数据总线(DMA总线10)连接的多个总线主控(传感器接口部60、视频接口部70、存储卡接口部80、CPU90等)对存储器(DRAM20)的访问,由此监视DMA总线10中的总线通信量,总线通信量监视部55在根据所监视的总线通信量判定为DMA总线10中流过的数据较少的情况下,对各个处理模块(图像处理模块33)输出用于指示选择跳过数据缓冲器(输入缓冲器331)(向运算部333)传输数据(像素数据或处理像素数据)的路径的缓冲器跳过指示信号,各个图像处理模块33内的控制部(控制部334)在输入了缓冲器跳过指示信号的情况下,判定为处于流水线处理中的像素数据或处理像素数据流未积压的状态。
如上所述,在第2实施方式的图像处理装置2中,图像处理部50所具有的总线通信量监视部55监视图像处理装置2所具有的其他总线主控对DRAM20的访问,由此监视DMA总线10中的总线通信量。而且,在第2实施方式的图像处理装置2中,总线通信量监视部55根据所监视的总线通信量,控制是否将输入到图像处理部50所具有的构成流水线的各个图像处理模块33的输入数据跳过输入缓冲器331传输到运算部333。此时,在各个图像处理模块33中,在跳过输入缓冲器331将所输入的输入数据传输到运算部333的情况下,使输入缓冲器331的动作停止。由此,在各个图像处理模块33中,能够削减输入缓冲器331中的消耗电力。由此,在第2实施方式的图像处理装置2中,与第1实施方式的图像处理装置1同样,通过图像处理部50所具有的各个图像处理模块33的流水线处理,能够减少流水线处理中的消耗电力,而不降低进行期望图像处理时的流水线处理的性能。
另外,在第2实施方式的图像处理装置2中,说明了如下结构:根据基于图像处理部50所具有的总线通信量监视部55监视的DMA总线10的总线通信量输出的缓冲器跳过指示信号,各个图像处理模块33选择(切换)是使输入数据跳过输入缓冲器331输出到运算部333,还是暂时存储在输入缓冲器331中后输出到运算部333。但是,各个图像处理模块33也可以构成为,在缓冲器跳过指示信号的基础上,与第1实施方式的图像处理装置1同样,还根据后级(包含多个后级)的图像处理模块33的动作状态判定是否跳过输入缓冲器331。该情况下,图像处理部50所具有的各个图像处理模块33内的缓冲器跳过判定部3342能够根据缓冲器跳过指示信号和在后级连接的处理模块的动作状态,对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332进行控制。而且,与第1实施方式的图像处理装置1同样,还能够有意控制成跳过输入缓冲器331将输入数据传输到运算部333的状态。
并且,在第2实施方式的图像处理装置2中,说明了在图像处理部50内具有总线通信量监视部55的结构。但是,总线通信量监视部55也可以构成为设置在图像处理部50的外部。例如,考虑图像处理装置2所具有的总线仲裁器(未图示)与总线通信量监视部55同样具有监视DMA总线10的总线通信量的功能的情况。该情况下,可以构成为,图像处理部50所具有的各个图像处理模块33内的缓冲器跳过判定部3342根据表示总线仲裁器(未图示)监视的DMA总线10的总线通信量的状态的信号,判定是否跳过输入缓冲器331,对输入缓冲器写入管理部3343、输入缓冲器读出管理部3344和选择器332进行控制。而且,与第1实施方式的图像处理装置1同样,还能够有意控制成跳过输入缓冲器331将输入数据传输到运算部333的状态。
并且,在第2实施方式的图像处理装置2中,说明了图像处理部50所具有的构成流水线的各个处理模块是与第1实施方式的图像处理装置1中图像处理部30所具有的第1结构的图像处理模块33相同的结构的处理模块的情况。但是,图像处理部50所具有的构成流水线的各个处理模块不限于第1结构的图像处理模块33,也可以是第2结构的图像处理模块43。另外,在图像处理部50所具有的构成流水线的各个处理模块是第2结构的图像处理模块43的情况下,可以与上述动作同样考虑第2实施方式的图像处理装置2和图像处理部50的动作。因此,省略与图像处理部50所具有的构成流水线的各个处理模块是第2结构的图像处理模块43的情况下的动作有关的详细说明。
如上所述,根据本发明的各实施方式,在图像处理部中构成流水线的各个处理模块中具有选择(切换)是否跳过处理模块本身所具有的数据缓冲器的结构。而且,在本发明的各实施方式中,根据处理模块本身所具有的数据缓冲器的存储容量的空闲状态、以及流水线结构中与后级(包含多个后级)连接的处理模块的动作状态,控制是否跳过处理模块本身所具有的数据缓冲器的选择(切换)。并且,在本发明的各实施方式中,监视连接了图像处理部的DMA总线的总线通信量,根据所监视的总线通信量,控制是否跳过处理模块本身所具有的数据缓冲器的选择(切换)。此时,在本发明的各实施方式中,能够根据处理模块本身所具有的数据缓冲器的存储容量的空闲状态,有意控制对流水线结构中在前级连接的处理模块的输入数据的请求。而且,在本发明的各实施方式中,在各个处理模块中进行控制以跳过数据缓冲器的情况下,进行控制以停止数据缓冲器的动作。由此,在本发明的各实施方式中,在各个处理模块中进行图像处理的运算时,能够削减处理模块本身所具有的数据缓冲器中的消耗电力。由此,在本发明的各实施方式中,通过图像处理部所具有的各个处理模块的流水线处理,能够减少流水线处理中的消耗电力,而不降低进行期望图像处理时的流水线处理的性能。
另外,在本发明的各实施方式中,说明了如下结构:在图像处理装置所具有的图像处理部中,在构成流水线的各个图像处理模块中具有控制是否跳过图像处理模块本身所具有的数据缓冲器的选择(切换)的功能。但是,如上所述,在图像处理部中构成流水线的处理模块即输入DMA模块和输出DMA模块中都具有数据缓冲器。因此,在输入DMA模块和输出DMA模块中,与图像处理模块同样,也可以具有控制是否跳过本身所具有的数据缓冲器的选择(切换)的功能。通过具有该功能,在输入DMA模块和输出DMA模块中,也能够得到与图像处理模块相同的效果。
并且,在本发明的各实施方式中,说明了在图像处理装置所具有的图像处理部内具有构成流水线的各个处理模块的结构。但是,关于通过流水线结构进行一连串处理的处理装置,除了图像处理装置以外,还考虑各种处理装置。因此,能够应用本发明思路的处理装置不限于本发明的各实施方式所示的图像处理装置,只要是通过串联连接多个处理模块构成流水线来进行流水线处理的处理装置,则能够同样应用本发明的思路,能够得到与本发明相同的效果。
以上说明了本发明的优选实施方式,但是,本发明不限于这些实施方式及其变形例。能够在不脱离本发明主旨的范围内进行结构的附加、省略、置换和其他变更。
并且,本发明不由所述说明进行限定,仅由附加的权利要求书进行限定。
工业上的可利用性
根据上述各实施方式,能够提供能够减少消耗电力而不会降低流水线处理的性能的图像处理装置和图像处理方法。
标号说明
1:图像处理装置;10:DMA总线(数据总线);20:DRAM(存储器);30:图像处理部;31:连接切换部(图像处理部);32:输入DMA模块(图像处理部);33、33-1、33-2、33-3:图像处理模块(图像处理部、处理模块);331:输入缓冲器(处理模块、数据缓冲器);332:选择器(处理模块、选择器);333:运算部(处理模块);334:控制部(处理模块、控制部);3341:数据量管理部(处理模块、控制部、数据量管理部);3342:缓冲器跳过判定部(处理模块、控制部、缓冲器跳过判定部);3343:输入缓冲器写入管理部(处理模块、控制部、缓冲器写入管理部);3344:输入缓冲器读出管理部(处理模块、控制部、缓冲器读出管理部);34:输出DMA模块(图像处理部);43、43-1、43-2、43-3:图像处理模块(图像处理部、处理模块);431:输出缓冲器(处理模块、数据缓冲器);432:选择器(处理模块、选择器);433:运算部(处理模块);434:控制部(处理模块、控制部);2:图像处理装置;50:图像处理部;55:总线通信量监视部(图像处理部、总线通信量监视部);60:传感器接口部(总线主控);70:视频接口部(总线主控);80:存储卡接口部(总线主控);90:CPU(总线主控)。

Claims (13)

1.一种图像处理装置,其在数据总线上连接有存储器和图像处理部,该图像处理部构成串联连接对所输入的数据进行预定处理的多个处理模块而得到的流水线,各个所述处理模块依次进行所述处理,由此进行流水线处理,其中,
所述处理模块分别具有:
数据缓冲器,其按照所述处理的每个单位暂时存储所述数据;以及
控制部,其根据所述流水线处理中的数据流的状态和所述数据缓冲器中存储的所述数据的状态,判定是否在所述数据缓冲器中存储所述数据,根据所述判定的结果选择所述处理模块内的传输所述数据的路径,并且控制所述数据缓冲器的动作;
其中,
在处于所述数据缓冲器所具有的存储容量中存储有所述数据、且能够进一步在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作,
在处于所述流水线处理中的所述数据流积压、且无法进一步在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作以保持所存储的所述数据,
在处于所述流水线处理中的所述数据流未积压、且所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态的情况下,所述控制部选择跳过所述数据缓冲器不进行存储而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
2.根据权利要求1所述的图像处理装置,其中,
所述控制部对所述流水线的结构中的前级的所述处理模块输出表示具有所述控制部本身的所述处理模块的动作状态的状态通知信号,
所述控制部根据从所述流水线的结构中的后级的所述处理模块输入的所述状态通知信号,判定所述流水线处理中的数据流的状态。
3.根据权利要求2所述的图像处理装置,其中,
所述控制部根据从所述流水线的结构中的后级的多个所述处理模块输入的所述状态通知信号,判定所述流水线处理中的数据流的状态。
4.根据权利要求2所述的图像处理装置,其中,
所述状态通知信号是表示是否能够受理由前级的所述处理模块进行了所述处理后的所述数据的信号,
所述状态通知信号包含请求输出由前级的所述处理模块进行了所述处理后的所述数据的数据请求信号,
所述控制部在从后级的所述处理模块输入了请求输出所述数据的所述数据请求信号的情况下,判定为处于所述流水线处理中的所述数据流未积压的状态。
5.根据权利要求3所述的图像处理装置,其中,
所述状态通知信号是表示是否能够受理由前级的所述处理模块进行了所述处理后的所述数据的信号,
所述状态通知信号包含请求输出由前级的所述处理模块进行了所述处理后的所述数据的数据请求信号,
所述控制部在从后级的所述处理模块输入了请求输出所述数据的所述数据请求信号的情况下,判定为处于所述流水线处理中的所述数据流未积压的状态。
6.根据权利要求4所述的图像处理装置,其中,
在处于能够在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部对前级的所述处理模块输出请求输出所述数据的所述数据请求信号。
7.根据权利要求5所述的图像处理装置,其中,
在处于能够在所述数据缓冲器中存储所述数据的状态的情况下,所述控制部对前级的所述处理模块输出请求输出所述数据的所述数据请求信号。
8.根据权利要求4所述的图像处理装置,其中,
直到成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态为止,所述控制部暂停向前级的所述处理模块输出请求输出所述数据的所述数据请求信号,
在成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态之后,所述控制部对前级的所述处理模块输出所述数据请求信号,选择跳过所述数据缓冲器而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
9.根据权利要求5所述的图像处理装置,其中,
直到成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态为止,所述控制部暂停向前级的所述处理模块输出请求输出所述数据的所述数据请求信号,
在成为所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态之后,所述控制部对前级的所述处理模块输出所述数据请求信号,选择跳过所述数据缓冲器而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
10.根据权利要求1~9中的任意一项所述的图像处理装置,其中,
所述图像处理部还具有总线通信量监视部,该总线通信量监视部监视与所述数据总线连接的多个总线主控对所述存储器的访问,由此监视所述数据总线中的总线通信量,
所述总线通信量监视部在根据所监视的所述总线通信量判定为所述数据总线中流过的数据较少的情况下,对各个所述处理模块输出缓冲器跳过指示信号,该缓冲器跳过指示信号指示选择跳过所述数据缓冲器而传输所述数据的路径,
各个所述处理模块内的所述控制部在输入了所述缓冲器跳过指示信号的情况下,判定为处于所述流水线处理中的所述数据流未积压的状态。
11.根据权利要求1~9中的任意一项所述的图像处理装置,其中,
所述处理模块还具有选择器,该选择器选择传输从所述数据缓冲器读出的所述数据的路径和跳过所述数据缓冲器而传输所述数据的路径中的任意一个路径,作为传输所述数据的路径,
所述控制部具有:
数据量管理部,其对所述数据缓冲器中存储的所述数据的量进行管理,输出表示所监视的所述数据的量的数据量信息;
缓冲器跳过判定部,其根据所述数据量信息和所述流水线处理中的数据流的状态,判定使所述数据缓冲器进行的动作,根据判定的结果,输出对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的指示信号以及用于选择传输所述数据的路径的控制信号;
缓冲器写入管理部,其根据对所述数据缓冲器写入所述数据的所述指示信号,生成用于控制对所述数据缓冲器写入所述数据的控制信号即缓冲器写信号;以及
缓冲器读出管理部,其根据从所述数据缓冲器读出所述数据的所述指示信号,生成用于控制从所述数据缓冲器读出所述数据的控制信号即缓冲器读信号,
所述数据量管理部根据所输入的所述数据的数量和所述缓冲器读信号,对所述数据的量进行管理,
在所述数据量信息表示所述数据的量是大于0的值的情况下,所述缓冲器跳过判定部输出指示对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径的所述控制信号,
在所述数据量信息表示所述数据的量是0的情况下,所述缓冲器跳过判定部输出指示停止对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择跳过所述数据缓冲器而传输所述数据的路径的所述控制信号,
所述选择器选择与所述控制信号对应的路径作为传输所述数据的路径。
12.根据权利要求10所述的图像处理装置,其中,
所述处理模块还具有选择器,该选择器选择传输从所述数据缓冲器读出的所述数据的路径和跳过所述数据缓冲器而传输所述数据的路径中的任意一个路径,作为传输所述数据的路径,
所述控制部具有:
数据量管理部,其对所述数据缓冲器中存储的所述数据的量进行管理,输出表示所监视的所述数据的量的数据量信息;
缓冲器跳过判定部,其根据所述数据量信息和所述流水线处理中的数据流的状态,判定使所述数据缓冲器进行的动作,根据判定的结果,输出对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的指示信号以及用于选择传输所述数据的路径的控制信号;
缓冲器写入管理部,其根据对所述数据缓冲器写入所述数据的所述指示信号,生成用于控制对所述数据缓冲器写入所述数据的控制信号即缓冲器写信号;以及
缓冲器读出管理部,其根据从所述数据缓冲器读出所述数据的所述指示信号,生成用于控制从所述数据缓冲器读出所述数据的控制信号即缓冲器读信号,
所述数据量管理部根据所输入的所述数据的数量和所述缓冲器读信号,对所述数据的量进行管理,
在所述数据量信息表示所述数据的量是大于0的值的情况下,所述缓冲器跳过判定部输出指示对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径的所述控制信号,
在所述数据量信息表示所述数据的量是0的情况下,所述缓冲器跳过判定部输出指示停止对所述数据缓冲器写入所述数据和从所述数据缓冲器读出所述数据的所述指示信号、以及选择跳过所述数据缓冲器而传输所述数据的路径的所述控制信号,
所述选择器选择与所述控制信号对应的路径作为传输所述数据的路径。
13.一种图像处理装置的图像处理方法,该图像处理装置在数据总线上连接有存储器和图像处理部,该图像处理部构成串联连接对所输入的数据进行预定处理的多个处理模块而得到的流水线,各个所述处理模块依次进行所述处理,由此进行流水线处理,其中,
所述图像处理方法具有由所述处理模块分别执行的如下控制步骤:根据所述流水线处理中的数据流的状态和按照所述处理的每个单位暂时存储所述数据的数据缓冲器中存储的所述数据的状态,判定是否在所述数据缓冲器中存储所述数据,根据所述判定的结果选择所述处理模块内的传输所述数据的路径,并且控制所述数据缓冲器的动作;
其中,
在处于所述数据缓冲器所具有的存储容量中存储有所述数据、且能够进一步在所述数据缓冲器中存储所述数据的状态的情况下,选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作,
在处于所述流水线处理中的所述数据流积压、且无法进一步在所述数据缓冲器中存储所述数据的状态的情况下,选择将所述数据暂时存储在所述数据缓冲器中后读出并进行传输的路径,并且使所述数据缓冲器进行动作以保持所存储的所述数据,
在处于所述流水线处理中的所述数据流未积压、且所述数据缓冲器所具有的全部所述存储容量未存储所述数据的状态的情况下,选择跳过所述数据缓冲器不进行存储而传输所述数据的路径,并且使所述数据缓冲器的动作停止。
CN201680033012.1A 2015-06-12 2016-03-28 图像处理装置和图像处理方法 Active CN107636631B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015119684A JP6580380B2 (ja) 2015-06-12 2015-06-12 画像処理装置および画像処理方法
JP2015-119684 2015-06-12
PCT/JP2016/059952 WO2016199477A1 (ja) 2015-06-12 2016-03-28 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
CN107636631A CN107636631A (zh) 2018-01-26
CN107636631B true CN107636631B (zh) 2020-09-25

Family

ID=57503556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680033012.1A Active CN107636631B (zh) 2015-06-12 2016-03-28 图像处理装置和图像处理方法

Country Status (5)

Country Link
US (1) US10241721B2 (zh)
JP (1) JP6580380B2 (zh)
CN (1) CN107636631B (zh)
DE (1) DE112016002160T5 (zh)
WO (1) WO2016199477A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017169186A (ja) * 2016-03-14 2017-09-21 株式会社リコー 画像処理装置、情報処理装置、画像処理システム及び画像処理方法
JP6722278B2 (ja) * 2016-04-11 2020-07-15 オリンパス株式会社 画像処理装置
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11294941B1 (en) 2016-09-26 2022-04-05 Splunk Inc. Message-based data ingestion to a data intake and query system
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11269939B1 (en) 2016-09-26 2022-03-08 Splunk Inc. Iterative message-based data processing including streaming analytics
US11874691B1 (en) 2016-09-26 2024-01-16 Splunk Inc. Managing efficient query execution including mapping of buckets to search nodes
US11567993B1 (en) 2016-09-26 2023-01-31 Splunk Inc. Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US11550847B1 (en) 2016-09-26 2023-01-10 Splunk Inc. Hashing bucket identifiers to identify search nodes for efficient query execution
US12013895B2 (en) 2016-09-26 2024-06-18 Splunk Inc. Processing data using containerized nodes in a containerized scalable environment
WO2019021344A1 (ja) 2017-07-24 2019-01-31 オリンパス株式会社 画像処理装置および撮像装置
US10860618B2 (en) 2017-09-25 2020-12-08 Splunk Inc. Low-latency streaming analytics
US10997180B2 (en) 2018-01-31 2021-05-04 Splunk Inc. Dynamic query processor for streaming and batch queries
US11003456B2 (en) 2018-03-30 2021-05-11 Iunu, Inc. Pipelined processing of plant images for monitoring horticultural grow operations
US10523864B2 (en) * 2018-04-10 2019-12-31 Facebook, Inc. Automated cinematic decisions based on descriptive models
DE112018007526T5 (de) * 2018-04-27 2021-02-25 Mitsubishi Electric Corporation Datenverarbeitungsgerät, Überwachungsverfahren und Programm
CN112385206B (zh) * 2018-07-11 2022-06-28 奥林巴斯株式会社 图像处理装置
US10775976B1 (en) * 2018-10-01 2020-09-15 Splunk Inc. Visual previews for programming an iterative publish-subscribe message processing system
US10761813B1 (en) 2018-10-01 2020-09-01 Splunk Inc. Assisted visual programming for iterative publish-subscribe message processing system
US10936585B1 (en) 2018-10-31 2021-03-02 Splunk Inc. Unified data processing across streaming and indexed data sets
US11238048B1 (en) 2019-07-16 2022-02-01 Splunk Inc. Guided creation interface for streaming data processing pipelines
US11614923B2 (en) 2020-04-30 2023-03-28 Splunk Inc. Dual textual/graphical programming interfaces for streaming data processing pipelines
US11636116B2 (en) 2021-01-29 2023-04-25 Splunk Inc. User interface for customizing data streams
US11687487B1 (en) 2021-03-11 2023-06-27 Splunk Inc. Text files updates to an active processing pipeline
US11663219B1 (en) 2021-04-23 2023-05-30 Splunk Inc. Determining a set of parameter values for a processing pipeline
US11989592B1 (en) 2021-07-30 2024-05-21 Splunk Inc. Workload coordinator for providing state credentials to processing tasks of a data processing pipeline
CN115063283A (zh) * 2022-06-13 2022-09-16 脉冲视觉(北京)科技有限公司 一种用于图像重构的逻辑器件

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083582B2 (ja) * 1991-04-30 2000-09-04 株式会社日立製作所 並列処理装置
JPH07302201A (ja) * 1994-05-10 1995-11-14 Hitachi Ltd パイプライン演算データ診断装置
JPH10334225A (ja) * 1997-06-02 1998-12-18 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JPH10340243A (ja) * 1997-06-06 1998-12-22 Hitachi Ltd 入出力データ転送システム
US20030007703A1 (en) * 2001-07-03 2003-01-09 Roylance Eugene A. Configurable image processing logic for use in image processing devices
WO2004068489A1 (ja) * 2003-01-31 2004-08-12 Matsushita Electric Industrial Co., Ltd. 情報記録装置及び情報記録方法並びに記録媒体の領域管理方法
KR100546640B1 (ko) * 2003-03-11 2006-01-26 엘지전자 주식회사 디지털 비디오 기록 재생 시스템 및 트릭 재생 방법
US7787026B1 (en) * 2004-04-28 2010-08-31 Media Tek Singapore Pte Ltd. Continuous burst mode digital camera
US20050248584A1 (en) * 2004-05-10 2005-11-10 Koji Takeo Imaging system and image processing apparatus
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
US7743183B2 (en) * 2005-05-23 2010-06-22 Microsoft Corporation Flow control for media streaming
TWI322354B (en) * 2005-10-18 2010-03-21 Via Tech Inc Method and system for deferred command issuing in a computer system
CN100518249C (zh) * 2006-07-28 2009-07-22 奥林巴斯映像株式会社 具有连拍功能的数字照相机
CN101296158A (zh) * 2007-04-26 2008-10-29 深圳市同洲电子股份有限公司 一种流媒体数据传输方法及其数据传输装置
CN100591134C (zh) * 2007-08-01 2010-02-17 神州亿品科技有限公司 防止黑屏和花屏的播放方法
US9013750B2 (en) * 2009-06-25 2015-04-21 Canon Kabushiki Kaisha Image processing for processing image data in correspondence with each pixel of an image
CN101727651B (zh) * 2009-11-16 2012-04-18 东莞光阵显示器制品有限公司 一种一次性使用医疗产品的实现方法及控制系统
US20110296095A1 (en) * 2010-05-25 2011-12-01 Mediatek Inc. Data movement engine and memory control methods thereof
JP5784299B2 (ja) 2010-11-01 2015-09-24 オリンパス株式会社 データ処理装置および画像処理装置
US9462032B2 (en) * 2013-07-24 2016-10-04 Google Inc. Streaming media content

Also Published As

Publication number Publication date
CN107636631A (zh) 2018-01-26
DE112016002160T5 (de) 2018-02-01
JP6580380B2 (ja) 2019-09-25
JP2017004386A (ja) 2017-01-05
US20180074752A1 (en) 2018-03-15
US10241721B2 (en) 2019-03-26
WO2016199477A1 (ja) 2016-12-15

Similar Documents

Publication Publication Date Title
CN107636631B (zh) 图像处理装置和图像处理方法
US8904069B2 (en) Data processing apparatus and image processing apparatus
US8554962B2 (en) Data transfer control device and data transfer control method
US20110138092A1 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
US20190324646A1 (en) Memory access device, image-processing device, and imaging device
US20190079881A1 (en) Memory access control device, image processing device, and imaging device
US9026697B2 (en) Data processing apparatus
US10719458B2 (en) Data transfer device, image processing device, and imaging device
US9070201B2 (en) Image processing apparatus
US9723231B2 (en) Image data processing apparatus and method therefor for pixel data
US9547330B2 (en) Processor and control method for processor
WO2019043822A1 (ja) メモリアクセス装置、画像処理装置、および撮像装置
US20200192830A1 (en) Memory access device, image processing device and imaging device
JP2003122705A (ja) デジタルカメラ
JP2006039672A (ja) バス要求制御回路
JP4640434B2 (ja) デジタルカメラ
JP2006189919A (ja) 電子機器、制御方法及びコンピュータプログラム
US20120042111A1 (en) Bus bandwidth monitoring device and bus bandwidth monitoring method
JP2017157883A (ja) 画像処理装置
JP5125296B2 (ja) 転送量制御装置
JP2017162167A (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
GR01 Patent grant
GR01 Patent grant