JP6141062B2 - Data processing apparatus and clock supply method - Google Patents

Data processing apparatus and clock supply method Download PDF

Info

Publication number
JP6141062B2
JP6141062B2 JP2013055611A JP2013055611A JP6141062B2 JP 6141062 B2 JP6141062 B2 JP 6141062B2 JP 2013055611 A JP2013055611 A JP 2013055611A JP 2013055611 A JP2013055611 A JP 2013055611A JP 6141062 B2 JP6141062 B2 JP 6141062B2
Authority
JP
Japan
Prior art keywords
processing unit
pipeline
data
unit
processing
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.)
Expired - Fee Related
Application number
JP2013055611A
Other languages
Japanese (ja)
Other versions
JP2014182510A (en
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.)
PFU Ltd
Original Assignee
PFU Ltd
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 PFU Ltd filed Critical PFU Ltd
Priority to JP2013055611A priority Critical patent/JP6141062B2/en
Publication of JP2014182510A publication Critical patent/JP2014182510A/en
Application granted granted Critical
Publication of JP6141062B2 publication Critical patent/JP6141062B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Description

本発明は、データ処理装置及びクロック供給方法に関し、パイプライン処理によってデータを処理するデータ処理装置へのクロック供給に関する。   The present invention relates to a data processing apparatus and a clock supply method, and relates to a clock supply to a data processing apparatus that processes data by pipeline processing.

パイプライン処理により情報処理を行う情報処理装置が知られている。関連技術として、DECステージでnop命令と判別されると、以降の、EXステージ、MEMステージおよびWBステージへクロック停止状態が伝播し、当該ステージに属する構成要素へのクロック信号の供給を停止することが知られている。命令の種類に応じて、処理が行われないステージにおいて、そのステージに属する構成要素へのクロック信号の供給を停止することが知られている(例えば、特許文献1参照)。   An information processing apparatus that performs information processing by pipeline processing is known. As a related technique, when it is determined that the instruction is a nop instruction in the DEC stage, a clock stop state is propagated to the subsequent EX stage, MEM stage, and WB stage, and the supply of the clock signal to the components belonging to the stage is stopped It has been known. It is known that in a stage where processing is not performed according to the type of instruction, supply of a clock signal to components belonging to that stage is stopped (for example, see Patent Document 1).

特開2008−269365号公報JP 2008-269365 A

パイプライン処理で画像処理を行う場合に以下のような課題がある。   When performing image processing by pipeline processing, there are the following problems.

(1)パイプラインステージに有効なデータが入力されない場合がある。例えば、複数のパイプラインの処理を連結するために、前段のパイプラインが処理した画像データを記憶装置に書込み、前段のパイプラインが記憶装置に書き込んだ画像データを後段のパイプラインが読み込んで処理する場合を想定する。後段のパイプラインは、前段のパイプラインによるデータ書込を待って読み出しを一時的に中断すると、後段のパイプラインの各パイプラインステージには有効なデータが入力されない期間が発生し、この間に不要な消費電力を消費する。   (1) Valid data may not be input to the pipeline stage. For example, in order to connect the processing of multiple pipelines, the image data processed by the previous pipeline is written to the storage device, and the image data written by the previous pipeline to the storage device is read and processed by the subsequent pipeline. Assume that When the subsequent pipeline waits for data to be written by the previous pipeline and temporarily stops reading, there is a period during which valid data is not input to each pipeline stage of the subsequent pipeline. Consumes a lot of power.

(2)同様に、前段のパイプラインは、後段のパイプラインによるデータ読み出しが済んでいないアドレスへの上書きを避けるためにパイプラインを停止すると、停止期間に不要な消費電力を消費する。   (2) Similarly, if the pipeline is stopped in order to avoid overwriting an address for which data has not been read out by the subsequent pipeline, the preceding pipeline consumes unnecessary power consumption during the stop period.

(3)複数のパイプラインのうち使用しないパイプラインがある場合に、使用しないパイプラインで不要な消費電力を消費する。   (3) When there is an unused pipeline among a plurality of pipelines, unnecessary power consumption is consumed in the unused pipeline.

本明細書に開示される装置又は方法は、本発明は、上記課題の少なくとも一つを解決することを目的とする。   An object of the apparatus or method disclosed in the present specification is to solve at least one of the above problems.

本発明に係るデータ処理装置は、複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有するパイプライン処理部と、有効データが入力されるパイプラインステージの処理部にクロックを供給し、有効データが入力されないパイプラインステージの処理部へのクロック供給を停止するクロック制御部を備える。   A data processing apparatus according to the present invention includes a pipeline processing unit having a plurality of processing units for processing data input to each pipeline stage in a plurality of different pipeline stages, and a pipeline stage to which valid data is input And a clock control unit for stopping the clock supply to the processing unit of the pipeline stage in which valid data is not input.

本発明に係る他のデータ処理装置は、メモリと、第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、これら処理部により処理されたデータをメモリに書き込む第1パイプライン処理部と、第1の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、第1パイプライン処理部によりメモリに書き込まれたデータを読み出す第2パイプライン処理部と、第1パイプライン処理部によるメモリへの書き込みデータ量と、第2パイプライン処理部によるメモリからの読み出しデータ量とに応じて、第1パイプライン処理部の処理部へのクロック供給を制御するクロック制御部を備える。   Another data processing apparatus according to the present invention includes a memory and a plurality of processing units that respectively process data input to each pipeline stage in the first plurality of different pipeline stages. A plurality of first pipeline processing units for writing the processed data into the memory and a plurality of second pipeline stages different from the first plurality of different pipeline stages respectively processing data input to each pipeline stage A second pipeline processing unit that reads data written to the memory by the first pipeline processing unit, a write data amount to the memory by the first pipeline processing unit, and a second pipeline process Depending on the amount of data read from the memory by the unit, the processing to the processing unit of the first pipeline processing unit It includes a clock control unit for controlling the locking feeding.

本発明に係る他のデータ処理装置は、第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第1パイプライン処理部と、第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第2パイプライン処理部と、第1パイプライン処理部の処理部のクロック供給と、第2パイプライン処理部の処理部へのクロック供給を個別に停止するクロック制御部を備える。   Another data processing apparatus according to the present invention includes a first pipeline processing unit having a plurality of processing units respectively processing data input to each pipeline stage in a first plurality of different pipeline stages, A second pipeline processing unit having a plurality of processing units respectively processing data input to each pipeline stage in a plurality of second different pipeline stages different from the plurality of pipeline stages, and a first pipeline process A clock control unit for individually stopping the clock supply of the processing unit and the clock supply to the processing unit of the second pipeline processing unit.

本発明に係るクロック供給方法は、複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有するパイプライン処理部を備えるデータ装置におけるクロック供給方法である。クロック供給方法は、パイプラインステージへ有効データが入力されるか否かを判断し、有効データが入力されるパイプラインステージの処理部にクロックを供給し、有効データが入力されないパイプラインステージの処理部へのクロック供給を停止することを含む。   The clock supply method according to the present invention is a clock supply method in a data device including a pipeline processing unit having a plurality of processing units that respectively process data input to each pipeline stage in a plurality of different pipeline stages. The clock supply method determines whether valid data is input to the pipeline stage, supplies a clock to the processing unit of the pipeline stage where the valid data is input, and processes the pipeline stage where the valid data is not input Including stopping the clock supply to the unit.

本発明に係る他のクロック供給方法は、メモリと、第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、これら処理部により処理されたデータをメモリに書き込む第1パイプライン処理部と、第1の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、第1パイプライン処理部によりメモリに書き込まれたデータを読み出す第2パイプライン処理部を備えるデータ処理装置におけるクロック供給方法である。クロック供給方法は、第1パイプライン処理部によりメモリへ書き込まれるデータ量と、メモリから第2パイプライン処理部に読み出すデータ量とに応じて、第1パイプライン処理部のパイプラインステージの処理部へのクロック供給を制御することを含む。   Another clock supply method according to the present invention includes a memory and a plurality of processing units that respectively process data input to each pipeline stage in the first plurality of different pipeline stages. A plurality of first pipeline processing units for writing the processed data into the memory and a plurality of second pipeline stages different from the first plurality of different pipeline stages respectively processing data input to each pipeline stage And a clock supply method in a data processing apparatus including a second pipeline processing unit that reads data written in a memory by the first pipeline processing unit. According to the clock supply method, the processing unit of the pipeline stage of the first pipeline processing unit according to the amount of data written to the memory by the first pipeline processing unit and the amount of data read from the memory to the second pipeline processing unit Controlling the clock supply to the device.

本発明に係る他のクロック供給方法は、第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第1パイプライン処理部と、第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第2パイプライン処理部を備えるデータ処理装置におけるクロック供給方法である。クロック供給方法は、第1パイプライン処理部の処理部のクロック供給と、第2パイプライン処理部の処理部へのクロック供給を個別に停止する。   Another clock supply method according to the present invention includes a first pipeline processing unit having a plurality of processing units respectively processing data input to each pipeline stage in a first plurality of different pipeline stages, A clock in a data processing apparatus including a second pipeline processing unit having a plurality of processing units respectively processing data input to each pipeline stage in a second plurality of different pipeline stages different from the plurality of pipeline stages It is a supply method. In the clock supply method, the clock supply of the processing unit of the first pipeline processing unit and the clock supply to the processing unit of the second pipeline processing unit are individually stopped.

本明細書に開示される装置又は方法は、下記の効果の少なくとも一つを奏する。
(1)有効なデータが入力されないパイプラインステージにおける消費電力が低減される。
(2)前段のパイプラインが、後段のパイプラインの読み出しを待ってパイプラインを停止している期間における消費電力が低減される。
(3)複数のパイプラインのうち不使用のパイプラインにおける消費電力が低減される。
The apparatus or method disclosed in this specification has at least one of the following effects.
(1) Power consumption in the pipeline stage where valid data is not input is reduced.
(2) Power consumption is reduced during a period in which the preceding pipeline is waiting for the subsequent pipeline to be read out.
(3) Power consumption in an unused pipeline among a plurality of pipelines is reduced.

画像処理システムのハードウェア構成の第1例の説明図である。It is explanatory drawing of the 1st example of the hardware constitutions of an image processing system. 画像処理装置の第1例の機能ブロック図である。It is a functional block diagram of the 1st example of an image processing device. 処理部の第1例の機能ブロック図である。It is a functional block diagram of the 1st example of a processing part. 画像処理装置の第2例の機能ブロック図である。It is a functional block diagram of the 2nd example of an image processing device. 読出部の第1例の機能ブロック図である。It is a functional block diagram of the 1st example of a reading part. 処理部の第2例の機能ブロック図である。It is a functional block diagram of the 2nd example of a processing part. パイプライン処理部の構成の第1例の説明図(その1)である。It is explanatory drawing (the 1) of the 1st example of a structure of a pipeline process part. パイプライン処理部の構成の第1例の説明図(その2)である。It is explanatory drawing (the 2) of the 1st example of a structure of a pipeline process part. パイプライン処理部の構成の第1例の説明図(その3)である。It is explanatory drawing (the 3) of the 1st example of a structure of a pipeline process part. パイプライン処理部の構成の第1例の説明図(その4)である。It is explanatory drawing (the 4) of the 1st example of a structure of a pipeline process part. パイプライン処理部の構成の第2例の説明図(その1)である。It is explanatory drawing (the 1) of the 2nd example of a structure of a pipeline process part. パイプライン処理部の構成の第2例の説明図(その2)である。It is explanatory drawing (the 2) of the 2nd example of a structure of a pipeline process part. パイプライン処理部の構成の第3例の説明図である。It is explanatory drawing of the 3rd example of a structure of a pipeline process part. 画像処理装置の第3例の機能ブロック図である。It is a functional block diagram of the 3rd example of an image processing device. 読出部の第2例の機能ブロック図である。It is a functional block diagram of the 2nd example of a reading part. 処理部の第3例の機能ブロック図である。It is a functional block diagram of the 3rd example of a processing part. 画像処理装置の第4例の機能ブロック図である。It is a functional block diagram of the 4th example of an image processing device. 画像処理システムのハードウェア構成の第2例の説明図である。It is explanatory drawing of the 2nd example of the hardware constitutions of an image processing system. 画像処理装置の第5例の機能ブロック図である。It is a functional block diagram of the 5th example of an image processing device. 画像処理装置の第6例の機能ブロックの説明図である。It is explanatory drawing of the functional block of the 6th example of an image processing apparatus. パイプラインの第1例の機能ブロック図である。It is a functional block diagram of the 1st example of a pipeline. パイプラインの第2例の機能ブロック図である。It is a functional block diagram of the 2nd example of a pipeline. 読出制御部の第1例の機能ブロック図である。It is a functional block diagram of the 1st example of a reading control part. 画像読取装置の動作の一例の説明図である。It is explanatory drawing of an example of operation | movement of an image reading apparatus. 図24の画像データ処理の動作の一例の説明図である。FIG. 25 is an explanatory diagram of an example of the operation of the image data processing of FIG. 24. 読出制御部の動作の第1例の説明図である。It is explanatory drawing of the 1st example of operation | movement of a read-out control part. 有効データが読み出されている期間のクロック供給を説明するためのタイミングチャート(その1)である。It is a timing chart (the 1) for demonstrating clock supply in the period when valid data is read. 有効データが読み出されている期間のクロック供給を説明するためのタイミングチャート(その2)である。12 is a timing chart (part 2) for explaining clock supply during a period in which valid data is read. 有効データが読み出されていない期間のクロック供給を説明するためのタイミングチャート(その1)である。It is a timing chart (the 1) for demonstrating clock supply in the period when valid data is not read. 有効データが読み出されていない期間のクロック供給を説明するためのタイミングチャート(その2)である。12 is a timing chart (part 2) for explaining clock supply during a period in which valid data is not read. 画像処理装置の第7例の機能ブロックの説明図である。It is explanatory drawing of the functional block of the 7th example of an image processing apparatus. (A)は読出制御部の第2例の機能ブロック図であり、(B)は書込制御部の第2例の機能ブロック図である。(A) is a functional block diagram of a second example of the read control unit, and (B) is a functional block diagram of a second example of the write control unit. 書込量通知回線の接続例の説明図である。It is explanatory drawing of the example of a connection of a write amount notification line. 読出制御部の動作の第2例の説明図である。It is explanatory drawing of the 2nd example of operation | movement of a read-out control part. 読出制御部の第3例の機能ブロック図である。It is a functional block diagram of the 3rd example of a reading control part. パイプラインの第3例の機能ブロック図である。It is a functional block diagram of the 3rd example of a pipeline. (A)は読出制御部の第3例の機能ブロック図であり、(B)は書込制御部の第3例の機能ブロック図である。(A) is a functional block diagram of a third example of the read control unit, and (B) is a functional block diagram of a third example of the write control unit. 読出量通知回線の接続例の説明図である。It is explanatory drawing of the example of a connection of a read amount notification line. 書込制御部の動作の第1例の説明図である。It is explanatory drawing of the 1st example of operation | movement of a write-control part. パイプラインの第4例の機能ブロック図である。It is a functional block diagram of the 4th example of a pipeline. (A)は読出制御部の第4例の機能ブロック図であり、(B)は書込制御部の第4例の機能ブロック図である。(A) is a functional block diagram of a fourth example of the read control unit, and (B) is a functional block diagram of a fourth example of the write control unit. 読出制御部の動作の第3例の説明図である。It is explanatory drawing of the 3rd example of operation | movement of a read-out control part. 書込制御部の動作の第2例の説明図である。It is explanatory drawing of the 2nd example of operation | movement of a write-control part. 有効フラグによるパイプラインの停止を説明するためのタイミングチャート(その1)である。It is a timing chart (the 1) for explaining stop of a pipeline by an effective flag. 有効フラグによるパイプラインの停止を説明するためのタイミングチャート(その2)である。FIG. 6 is a timing chart (part 2) for explaining the stop of the pipeline by the valid flag.

以下、本発明に係るデータ処理装置とその構成方法について添付図面を参照して説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。   Hereinafter, a data processing apparatus and a configuration method thereof according to the present invention will be described with reference to the accompanying drawings. However, it should be noted that the technical scope of the present invention is not limited to these embodiments, but extends to the invention described in the claims and equivalents thereof.

<1.第1実施例>
図1は、画像処理システムのハードウェア構成の一例の説明図である。画像処理システム1は、画像読取装置100と、情報処理装置200とを有する。画像読取装置100は、例えばイメージスキャナ、デジタルカメラ等であり、情報処理装置200は、例えば画像読取装置100に接続して用いられるパーソナルコンピュータ等である。
<1. First Example>
FIG. 1 is an explanatory diagram illustrating an example of a hardware configuration of the image processing system. The image processing system 1 includes an image reading device 100 and an information processing device 200. The image reading apparatus 100 is, for example, an image scanner or a digital camera, and the information processing apparatus 200 is, for example, a personal computer that is connected to the image reading apparatus 100 and used.

画像読取装置100は、画像入力装置101と、画像処理装置102と、第1画像メモリ103と、第1インタフェース装置104と、第1記憶装置105と、第1CPU106を有する。画像読取装置100は、DMA(Direct Memory Access)コントローラ108とクロック生成回路109を有する。なお、添付する図面においてインタフェースを「IF」と表記する。また、DMAコントローラを「DMA」と表記する。   The image reading apparatus 100 includes an image input device 101, an image processing device 102, a first image memory 103, a first interface device 104, a first storage device 105, and a first CPU 106. The image reading apparatus 100 includes a DMA (Direct Memory Access) controller 108 and a clock generation circuit 109. In the accompanying drawings, the interface is denoted as “IF”. The DMA controller is denoted as “DMA”.

画像入力装置101は、撮像対象物である原稿、風景、人物等を撮像する撮像センサを有する。なお、以下では、撮像対象物が原稿であるものとして説明する。この撮像センサは、1次元又は2次元に配列されたCCD、CMOS等の撮像素子と、撮像素子に撮像対象物の像を結像する光学系を備え、各撮像素子は、RGB各色に対応するアナログ値を出力する。そして、画像入力装置101は、撮像センサが出力した各アナログ値をデジタル値に変換して画素データを生成し、生成した各画素データから構成される画像データ(以下、RGB画像と称する)を生成する。このRGB画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのRGB値からなるカラー画像データとなる。   The image input device 101 includes an image sensor that captures an image, such as a document, landscape, or person. In the following description, it is assumed that the imaging target is a document. This image sensor includes an image sensor such as a CCD or CMOS arranged one-dimensionally or two-dimensionally, and an optical system that forms an image of an object to be imaged on the image sensor, and each image sensor corresponds to each color of RGB. Output analog values. The image input device 101 converts each analog value output from the image sensor into a digital value to generate pixel data, and generates image data (hereinafter referred to as an RGB image) composed of the generated pixel data. To do. The RGB image is color image data in which each pixel data is composed of a total of 24 bits of RGB values represented by 8 bits for each RGB color, for example.

そして、画像入力装置101は、RGB画像の各画素のRGB値を画像処理装置102に出力する。   Then, the image input device 101 outputs the RGB value of each pixel of the RGB image to the image processing device 102.

画像入力装置101は、生成した画像データに所定の画像処理を施して第1画像メモリ103に保存する。また、画像処理装置102は、第1画像メモリ103から画像データを読み出して、さらに他の画像処理を施して第1画像メモリ103に保存する。これらの画像処理には、例えば、シェーディング補正、各画素のRGB値を輝度値及び色差値(YUV値)への変換処理や、ガンマ変換処理、色変更処理、強調処理、原稿の端部を検出する検出処理、入力画像データを補正する補正処理や、画像の回転処理であってよい。   The image input device 101 performs predetermined image processing on the generated image data and saves it in the first image memory 103. The image processing apparatus 102 reads out image data from the first image memory 103, performs other image processing, and stores the image data in the first image memory 103. These image processes include, for example, shading correction, conversion processing of RGB values of each pixel into luminance values and color difference values (YUV values), gamma conversion processing, color change processing, enhancement processing, and document edge detection. Detection processing, correction processing for correcting input image data, and image rotation processing.

なお、YUV値は、例えば以下の式により算出することができる。
Y値= 0.30×R値+0.59×G値+0.11×B値 (1)
U値=−0.17×R値−0.33×G値+0.50×B値 (2)
V値= 0.50×R値−0.42×G値−0.08×B値 (3)
The YUV value can be calculated by, for example, the following equation.
Y value = 0.30 × R value + 0.59 × G value + 0.11 × B value (1)
U value = −0.17 × R value−0.33 × G value + 0.50 × B value (2)
V value = 0.50 × R value−0.42 × G value−0.08 × B value (3)

第1画像メモリ103は、不揮発性半導体メモリ、揮発性半導体メモリ、磁気ディスク等の記憶装置を有する。第1画像メモリ103は、画像処理装置102に接続され、画像処理装置102によって画像処理が施された画像データを保存する。   The first image memory 103 includes a storage device such as a non-volatile semiconductor memory, a volatile semiconductor memory, and a magnetic disk. The first image memory 103 is connected to the image processing apparatus 102 and stores image data that has been subjected to image processing by the image processing apparatus 102.

画像処理装置102は、第1CPU106に接続され、第1CPU106による設定に従って動作する論理回路を含んでいてよい。論理回路は、例えば、LSI(large scale integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)であってよい。画像処理装置102は、第1CPU106からの制御により、予め第1記憶装置105に記憶されているプログラムに基づいて動作するCPUやDSP(digital signal processor)等のプロセッサを含んでいてもよい。   The image processing apparatus 102 may include a logic circuit that is connected to the first CPU 106 and operates according to the setting by the first CPU 106. The logic circuit may be, for example, a large scale integration (LSI), an application specific integrated circuit (ASIC), or a field-programming gate array (FPGA). The image processing apparatus 102 may include a processor such as a CPU or a DSP (digital signal processor) that operates based on a program stored in the first storage device 105 in advance under the control of the first CPU 106.

第1インタフェース装置104は、例えばUSB等のシリアルバスに準じるインターフェース回路を有し、情報処理装置200と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インタフェース装置104にフラッシュメモリ等を接続して第1画像メモリ103に保存されている画像データを保存するようにしてもよい。   The first interface device 104 has an interface circuit conforming to a serial bus such as USB, for example, and is electrically connected to the information processing device 200 to transmit and receive image data and various types of information. Further, a flash memory or the like may be connected to the first interface device 104 to store the image data stored in the first image memory 103.

第1記憶装置105は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶装置105には、画像読取装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。   The first storage device 105 includes a memory device such as a RAM (Random Access Memory) and a ROM (Read Only Memory), a fixed disk device such as a hard disk, or a portable storage device such as a flexible disk and an optical disk. Further, the first storage device 105 stores computer programs, databases, tables, and the like used for various processes of the image reading apparatus 100.

コンピュータプログラムは、例えばCD−ROM(compact disk read only memory)、DVD−ROM(digital versatile disk read only memory)等のコンピュータ読み取り可能な可搬型記録媒体に格納されてもよい。コンピュータプログラムは、可搬型記録媒体から公知のセットアッププログラム等を用いて第1記憶装置105にインストールされてもよい。   The computer program may be stored in a computer-readable portable recording medium such as a CD-ROM (compact disk read only memory) or a DVD-ROM (digital versatile disk read only memory). The computer program may be installed in the first storage device 105 from a portable recording medium using a known setup program or the like.

第1CPU106は、画像処理装置102、第1画像メモリ103、第1インタフェース装置104、及び第1記憶装置105と接続され、これらの各部を制御する。第1CPU106は、画像入力装置101の入力画像生成制御、第1画像メモリ103の制御、第1インタフェース装置104を介した情報処理装置200とのデータ送受信制御、第1記憶装置105の制御等を行う。また、第1CPU106は、画像処理装置102による画像処理の制御等を行う。   The first CPU 106 is connected to the image processing device 102, the first image memory 103, the first interface device 104, and the first storage device 105, and controls each of these units. The first CPU 106 performs input image generation control of the image input device 101, control of the first image memory 103, data transmission / reception control with the information processing device 200 via the first interface device 104, control of the first storage device 105, and the like. . Further, the first CPU 106 performs control of image processing by the image processing apparatus 102.

画像データを情報処理装置200へ出力する場合に、第1インタフェース装置104を経由して、第1画像メモリ103に格納された画像データを出力してもよい。この場合、DMAコントローラ108は、第1CPU106の指示に応じて第1画像メモリ103に格納された画像データを読み出し、第1インタフェース装置104へ転送してよい。   When outputting image data to the information processing apparatus 200, the image data stored in the first image memory 103 may be output via the first interface device 104. In this case, the DMA controller 108 may read the image data stored in the first image memory 103 in accordance with an instruction from the first CPU 106 and transfer it to the first interface device 104.

クロック生成回路109はクロック信号を生成し、画像処理装置102や、画像読取装置100内のその他の構成要素に動作クロックを供給する。クロック生成回路109は、例えばPLL(Phase Locked Loop)回路であってよい。   The clock generation circuit 109 generates a clock signal and supplies an operation clock to the image processing apparatus 102 and other components in the image reading apparatus 100. The clock generation circuit 109 may be a PLL (Phase Locked Loop) circuit, for example.

情報処理装置200は、第2インタフェース装置201と、第2画像メモリ202と、表示装置203と、第2記憶装置204と、第2CPU205とを有する。以下、情報処理装置200の各部について詳細に説明する。   The information processing apparatus 200 includes a second interface device 201, a second image memory 202, a display device 203, a second storage device 204, and a second CPU 205. Hereinafter, each part of the information processing apparatus 200 will be described in detail.

第2インタフェース装置201は、画像読取装置100の第1インタフェース装置104と同様のインターフェース回路を有し、情報処理装置200と画像読取装置100とを接続する。   The second interface device 201 has an interface circuit similar to that of the first interface device 104 of the image reading device 100, and connects the information processing device 200 and the image reading device 100.

第2画像メモリ202は、画像読取装置100の第1画像メモリ103と同様の記憶装置を有する。第2画像メモリ202には、第2インタフェース装置201を介して画像読取装置100から受信した画像データ及び各種の情報が保存される。   The second image memory 202 has a storage device similar to the first image memory 103 of the image reading apparatus 100. The second image memory 202 stores image data and various information received from the image reading apparatus 100 via the second interface device 201.

表示装置203は、液晶、有機EL等から構成されるディスプレイ及びディスプレイに画像データを出力するインターフェース回路を有し、第2画像メモリ202に保存されている画像データをディスプレイに表示する。   The display device 203 has a display composed of a liquid crystal, an organic EL, and the like and an interface circuit that outputs image data to the display, and displays the image data stored in the second image memory 202 on the display.

第2記憶装置204は、画像読取装置100の第1記憶装置105と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶装置204には、情報処理装置200の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて第2記憶装置204にインストールされてもよい。   The second storage device 204 includes a memory device, a fixed disk device, a portable storage device, and the like similar to the first storage device 105 of the image reading device 100. The second storage device 204 stores computer programs, databases, tables, and the like used for various processes of the information processing device 200. The computer program may be installed in the second storage device 204 using a known setup program or the like from a computer-readable portable recording medium such as a CD-ROM or DVD-ROM.

第2CPU205は、第2インタフェース装置201、第2画像メモリ202、表示装置203及び第2記憶装置204と接続され、これらの各部を制御する。第2CPU205は、第2インタフェース装置201を介した画像読取装置100とのデータ送受信制御、第2画像メモリ202の制御、表示装置203の表示制御、第2記憶装置204の制御等を行う。   The second CPU 205 is connected to the second interface device 201, the second image memory 202, the display device 203, and the second storage device 204, and controls these components. The second CPU 205 performs data transmission / reception control with the image reading device 100 via the second interface device 201, control of the second image memory 202, display control of the display device 203, control of the second storage device 204, and the like.

なお、図1に示すハードウエア構成は実施例の説明のための例示にすぎない。上述の動作を実行するものであれば、本明細書に記載される画像読取装置100及び情報処理装置200は他のどのようなハードウエア構成を採用してもよい。後述の図18に示すハードウエア構成についても同様である。   Note that the hardware configuration shown in FIG. 1 is merely an example for explaining the embodiment. Any other hardware configuration may be adopted for the image reading apparatus 100 and the information processing apparatus 200 described in the present specification as long as they perform the above-described operation. The same applies to the hardware configuration shown in FIG.

図2は、画像処理装置102の第1例の機能ブロック図である。画像処理装置102は、パイプライン処理により画像データを処理するためのパイプライン処理部110を備える。   FIG. 2 is a functional block diagram of a first example of the image processing apparatus 102. The image processing apparatus 102 includes a pipeline processing unit 110 for processing image data by pipeline processing.

パイプライン処理部110は、複数の異なるパイプラインステージ毎に設けられる処理部120a〜120dと共通バス130を備える。処理部120a〜120dは、各パイプラインステージに入力されるデータをそれぞれ処理する。以下の説明及び添付図面において処理部120a〜120dを総称して「処理部120」と表記することがある。   The pipeline processing unit 110 includes processing units 120a to 120d and a common bus 130 provided for each of a plurality of different pipeline stages. The processing units 120a to 120d process data input to each pipeline stage. In the following description and accompanying drawings, the processing units 120a to 120d may be collectively referred to as “processing unit 120”.

共通バス130は、マスタ型セレクトコネクタ131a〜131d及び133と、スレーブ型セレクトコネクタ132a〜132d及び134と、空間制御部135を備える。以下の説明において、マスタ型セレクトコネクタ131a〜131dを「セレクタ131a」〜「セレクタ131d」と表記することがある。マスタ型セレクトコネクタ131a〜131dを総称して「セレクタ131」と表記することがある。   The common bus 130 includes master type select connectors 131a to 131d and 133, slave type select connectors 132a to 132d and 134, and a space control unit 135. In the following description, the master type select connectors 131a to 131d may be referred to as “selector 131a” to “selector 131d”. The master type select connectors 131a to 131d may be collectively referred to as “selector 131”.

以下の説明において、スレーブ型セレクトコネクタ132a〜132dを「セレクタ132a」〜「セレクタ132d」と表記することがある。スレーブ型セレクトコネクタ132a〜132dを総称して「セレクタ132」と表記することがある。マスタ型セレクトコネクタ133及びスレーブ型セレクトコネクタ134を、それぞれ「セレクタ133」及び「セレクタ134」と表記することがある。また、添付図面においてマスタ型セレクトコネクタ及びスレーブ型セレクトコネクタを「セレクタ」と表記する。   In the following description, the slave type select connectors 132a to 132d may be referred to as “selector 132a” to “selector 132d”. The slave type select connectors 132a to 132d may be collectively referred to as “selector 132”. The master type select connector 133 and the slave type select connector 134 may be referred to as “selector 133” and “selector 134”, respectively. In the accompanying drawings, the master type select connector and the slave type select connector are referred to as “selector”.

セレクタ131aは、処理部120aが指定するアドレス情報に従って、処理部120aから出力される画像データの転送先を、処理部120b〜120d及びセレクタ134の間で切り替える。   The selector 131a switches the transfer destination of the image data output from the processing unit 120a between the processing units 120b to 120d and the selector 134 according to the address information specified by the processing unit 120a.

処理部120aが指定するアドレス情報は、画像データの転送先を示す共通バス130上のアドレス情報であってよい。共通バス130上のアドレス情報は、共通バス130を経由して転送される画像データの転送先を指定するための情報である。以下の説明において共通バス130上のアドレス情報を「アドレス情報」と表記することがある。   The address information specified by the processing unit 120a may be address information on the common bus 130 indicating the transfer destination of the image data. The address information on the common bus 130 is information for designating a transfer destination of image data transferred via the common bus 130. In the following description, the address information on the common bus 130 may be referred to as “address information”.

セレクタ131aには、処理部120aからの画像データの出力線と、セレクタ132b〜132d及び134へのデータ転送線が接続されている。セレクタ131aは、処理部120aが指定するアドレス情報に従って、これらデータ転送線のいずれかを選択して出力線に接続する。   The selector 131a is connected to an output line for image data from the processing unit 120a and data transfer lines to the selectors 132b to 132d and 134. The selector 131a selects one of these data transfer lines according to the address information specified by the processing unit 120a and connects it to the output line.

同様に、セレクタ131bは、処理部120bが指定するアドレス情報に従って、処理部120bから出力される画像データの転送先を、処理部120a、120c、120d及びセレクタ134の間で切り替える。セレクタ131cは、処理部120cが指定するアドレス情報に従って、処理部120cから出力される画像データの転送先を、処理部120a、120b、120d及びセレクタ134の間で切り替える。セレクタ131dは、処理部120dが指定するアドレス情報に従って、処理部120dから出力される画像データの転送先を、処理部120a〜120c及びセレクタ134の間で切り替える。   Similarly, the selector 131b switches the transfer destination of the image data output from the processing unit 120b between the processing units 120a, 120c, and 120d and the selector 134 according to the address information specified by the processing unit 120b. The selector 131c switches the transfer destination of the image data output from the processing unit 120c between the processing units 120a, 120b, 120d and the selector 134 according to the address information specified by the processing unit 120c. The selector 131d switches the transfer destination of the image data output from the processing unit 120d between the processing units 120a to 120c and the selector 134 according to the address information specified by the processing unit 120d.

セレクタ132aは、空間制御部135から受信するセレクト信号に従って、処理部120aへ入力する画像データの転送元を、処理部120b〜120d及びセレクタ133の間で切り替える。セレクタ132aには、処理部120aへの画像データの入力線と、セレクタ131b〜131d及び133からのデータ転送線が接続されている。セレクタ132aは、セレクト信号に従ってこれらデータ転送線のいずれかを選択して入力線に接続する。   The selector 132 a switches the transfer source of the image data input to the processing unit 120 a between the processing units 120 b to 120 d and the selector 133 in accordance with the select signal received from the space control unit 135. The selector 132a is connected to an input line for image data to the processing unit 120a and data transfer lines from the selectors 131b to 131d and 133. The selector 132a selects one of these data transfer lines according to the select signal and connects it to the input line.

同様に、セレクタ132bは、空間制御部135から受信するセレクト信号に従って、処理部120bへ入力する画像データの転送元を、処理部120a、120c、120d及びセレクタ133の間で切り替える。セレクタ132cは、空間制御部135から受信するセレクト信号に従って、処理部120cへ入力する画像データの転送元を、処理部120a、120b、120d及びセレクタ133の間で切り替える。セレクタ132dは、空間制御部135から受信するセレクト信号に従って、処理部120dへ入力する画像データの転送元を、処理部120a〜120c及びセレクタ133の間で切り替える。   Similarly, the selector 132b switches the transfer source of the image data input to the processing unit 120b between the processing units 120a, 120c, and 120d and the selector 133 in accordance with the select signal received from the space control unit 135. The selector 132c switches the transfer source of the image data input to the processing unit 120c between the processing units 120a, 120b, and 120d and the selector 133 in accordance with the select signal received from the space control unit 135. The selector 132d switches the transfer source of the image data input to the processing unit 120d between the processing units 120a to 120c and the selector 133 in accordance with a select signal received from the space control unit 135.

セレクタ133は、入力画像データ受信時に指定されたアドレス情報に基づいて、入力画像データが転送されるパイプラインの最前段の処理部120を切り替える。セレクタ133には、入力画像データの入力線と、セレクタ132a〜132dへのデータ転送線が接続されている。セレクタ134は、指定されたアドレス情報に基づいてこれらデータ転送線のいずれかを選択して入力線に接続する。   The selector 133 switches the processing unit 120 at the forefront of the pipeline to which the input image data is transferred, based on the address information specified when the input image data is received. The selector 133 is connected to an input line for input image data and a data transfer line to the selectors 132a to 132d. The selector 134 selects one of these data transfer lines based on the designated address information and connects it to the input line.

セレクタ134は、空間制御部135から受信するセレクト信号に従って、パイプライン処理部110から画像データを出力する最後段のパイプラインステージの処理部120を切り替える。セレクタ133には、出力画像データの出力線と、セレクタ131a〜131dからのデータ転送線が接続されている。セレクタ134は、セレクト信号に基づいてこれらデータ転送線のいずれかを選択して出力線に接続する。   The selector 134 switches the processing unit 120 of the last pipeline stage that outputs the image data from the pipeline processing unit 110 according to the select signal received from the space control unit 135. To the selector 133, an output line for output image data and a data transfer line from the selectors 131a to 131d are connected. The selector 134 selects one of these data transfer lines based on the select signal and connects it to the output line.

空間制御部135は、セレクタ132及びセレクタ134の設定のための情報を第1CPU106から受信する。空間制御部135は、第1CPU106から受信した情報に従って、セレクタ132及びセレクタ134の選択動作を指定するセレクト信号を生成する。空間制御部135は、セレクト信号をセレクタ132及びセレクタ134へ出力する。したがって、セレクタ132及びセレクタ134の選択状態は、第1CPU106からの情報に基づいて可変設定される。   The space control unit 135 receives information for setting the selector 132 and the selector 134 from the first CPU 106. The space control unit 135 generates a select signal that specifies the selection operation of the selector 132 and the selector 134 according to the information received from the first CPU 106. The space control unit 135 outputs a select signal to the selector 132 and the selector 134. Therefore, the selection states of the selector 132 and the selector 134 are variably set based on information from the first CPU 106.

空間制御部135が第1CPU106から受信した情報に従って、セレクタ131及びセレクタ133の選択動作を指定するセレクト信号を生成し、セレクタ131及びセレクタ133に与えるように共通バス130を構成してもよい。   The common bus 130 may be configured so that the space control unit 135 generates a select signal designating the selection operation of the selector 131 and the selector 133 according to the information received from the first CPU 106 and supplies the select signal to the selector 131 and the selector 133.

図3は、処理部120aの第1例の機能ブロック図である。処理部120aは、レジスタ121と、スレーブ部122と、画像処理部123と、マスタ部124を備える。他の処理部120b〜120dも同様の構成を有する。   FIG. 3 is a functional block diagram of a first example of the processing unit 120a. The processing unit 120a includes a register 121, a slave unit 122, an image processing unit 123, and a master unit 124. The other processing units 120b to 120d have the same configuration.

レジスタ121には、第1CPU106から受信した設定情報が格納される。本実施例では、設定情報は、処理部120aの出力画像データの転送先の他の処理部120のアドレス情報を含んでいてよい。   The register 121 stores setting information received from the first CPU 106. In this embodiment, the setting information may include address information of another processing unit 120 to which the output image data of the processing unit 120a is transferred.

スレーブ部122は、セレクタ132aから画像データを受信し、画像処理部123へ入力する。画像処理部123は、処理部120a固有の画像処理を施し、処理済みの画像データをマスタ部124に入力する。   The slave unit 122 receives the image data from the selector 132 a and inputs it to the image processing unit 123. The image processing unit 123 performs image processing unique to the processing unit 120 a and inputs processed image data to the master unit 124.

マスタ部124は、画像データの転送先を定める他の処理部120のアドレス情報をレジスタ121から取得する。マスタ部124は、レジスタ121から取得したアドレス情報をセレクタ131aに与えることにより、画像データの転送先の他の処理部120を指定する。マスタ部124は、処理済みの画像データをセレクタ131aに送信する。   The master unit 124 acquires the address information of the other processing unit 120 that determines the transfer destination of the image data from the register 121. The master unit 124 designates the other processing unit 120 to which the image data is transferred by giving the address information acquired from the register 121 to the selector 131a. The master unit 124 transmits the processed image data to the selector 131a.

このように、セレクタ131の選択状態は、第1CPU106からの情報に基づきマスタ部124により指定されるアドレス情報によって可変設定される。セレクタ131及び132は、第1セレクタ及び第2セレクタの一例である。処理部120のマスタ部124及び空間制御部135は、セレクタ131及び132による選択状態を可変設定する設定部の一例である。   As described above, the selection state of the selector 131 is variably set by the address information specified by the master unit 124 based on the information from the first CPU 106. The selectors 131 and 132 are an example of a first selector and a second selector. The master unit 124 and the space control unit 135 of the processing unit 120 are an example of a setting unit that variably sets the selection state by the selectors 131 and 132.

第1CPU106は、セレクタ132及びセレクタ134の設定のための情報を空間制御部135に与え、レジスタ121にアドレス情報を与えることで、処理部120による処理順序を設定することができる。   The first CPU 106 can set the processing order by the processing unit 120 by giving information for setting the selector 132 and the selector 134 to the space control unit 135 and giving the address information to the register 121.

例えば、処理部120a、120b、120c及び120dの順に、各処理部120が画像データを処理するようにパイプライン処理部110を構成する場合を想定する。処理部120a、120b、120c及び120dの共通バス130上のアドレスをそれぞれ以下のように定める。また、セレクタ134のデータ出力先の共通バス130上のアドレスを以下のように定める。   For example, it is assumed that the pipeline processing unit 110 is configured such that each processing unit 120 processes image data in the order of the processing units 120a, 120b, 120c, and 120d. The addresses on the common bus 130 of the processing units 120a, 120b, 120c and 120d are respectively determined as follows. Further, the address on the common bus 130 of the data output destination of the selector 134 is determined as follows.

処理部120a:「0x10000000」
処理部120b:「0x10001000」
処理部120c:「0x10002000」
処理部120d:「0x10003000」
データ出力先:「0x30000000」
Processing unit 120a: “0x10000000”
Processing unit 120b: “0x10001000”
Processing unit 120c: “0x10002000”
Processing unit 120d: “0x10003000”
Data output destination: “0x30000000”

第1CPU106は、処理部120aの転送先のアドレスとして、処理部120bのアドレス「0x10001000」を処理部120aのレジスタ121に与える。第1CPU106は、処理部120bの転送先のアドレスとして、処理部120cのアドレス「0x10002000」を処理部120bのレジスタ121に与える。   The first CPU 106 gives the address “0x10001000” of the processing unit 120b to the register 121 of the processing unit 120a as the transfer destination address of the processing unit 120a. The first CPU 106 gives the address “0x10002000” of the processing unit 120c to the register 121 of the processing unit 120b as the transfer destination address of the processing unit 120b.

第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。第1CPU106は、処理部120dの転送先のアドレスとして、データ出力先のアドレス「0x30000000」を処理部120dのレジスタ121に与える。   The first CPU 106 gives the address “0x1000000000” of the processing unit 120d to the register 121 of the processing unit 120c as the transfer destination address of the processing unit 120c. The first CPU 106 provides the data output destination address “0x30000000” to the register 121 of the processing unit 120d as the transfer destination address of the processing unit 120d.

また、空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132及びセレクタ134に出力する。   Further, the space control unit 135 generates a select signal for executing the following selection operation based on the information from the first CPU 106 and outputs the select signal to the selector 132 and the selector 134.

セレクタ132aは、セレクタ133からのデータ転送線を処理部120aのデータ入力線に接続する。セレクタ132bは、セレクタ131aからのデータ転送線を処理部120bのデータ入力線に接続する。セレクタ132cは、セレクタ131bからのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ134は、セレクタ131dからのデータ転送線を出力画像データの出力線に接続する。   The selector 132a connects the data transfer line from the selector 133 to the data input line of the processing unit 120a. The selector 132b connects the data transfer line from the selector 131a to the data input line of the processing unit 120b. The selector 132c connects the data transfer line from the selector 131b to the data input line of the processing unit 120c. The selector 132d connects the data transfer line from the selector 131c to the data input line of the processing unit 120d. The selector 134 connects the data transfer line from the selector 131d to the output line of the output image data.

セレクタ133への入力画像データの転送先のアドレスを、処理部120aのアドレス「0x10000000」に指定すると、セレクタ133は、入力画像データの入力線とセレクタ132aへのデータ転送線を接続する。入力画像データは、セレクタ132aへ転送され、セレクタ132aを経由して処理部120aへ入力される。   When the transfer destination address of the input image data to the selector 133 is designated as the address “0x10000000” of the processing unit 120a, the selector 133 connects the input line of the input image data and the data transfer line to the selector 132a. The input image data is transferred to the selector 132a and input to the processing unit 120a via the selector 132a.

処理部120aの画像処理部123は入力された画像に画像処理を施す。処理部120aのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10001000」をセレクタ131aに指定する。セレクタ131aは、処理部120aの画像データの出力線と、セレクタ132bへのデータ転送線を接続する。画像データはセレクタ132bへ転送され、セレクタ132bを経由して処理部120bへ入力される。   The image processing unit 123 of the processing unit 120a performs image processing on the input image. The master unit 124 of the processing unit 120a designates the address “0x10001000” to the selector 131a as the transfer destination of the processed image data. The selector 131a connects the image data output line of the processing unit 120a and the data transfer line to the selector 132b. The image data is transferred to the selector 132b and input to the processing unit 120b via the selector 132b.

処理部120bの画像処理部123は入力された画像に画像処理を施す。処理部120bのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10002000」をセレクタ131bに指定する。セレクタ131bは、処理部120bの画像データの出力線と、セレクタ132cへのデータ転送線を接続する。画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される。   The image processing unit 123 of the processing unit 120b performs image processing on the input image. The master unit 124 of the processing unit 120b designates the address “0x10002000” to the selector 131b as the transfer destination of the processed image data. The selector 131b connects the image data output line of the processing unit 120b and the data transfer line to the selector 132c. The image data is transferred to the selector 132c and input to the processing unit 120c via the selector 132c.

処理部120cの画像処理部123は入力された画像に画像処理を施す。処理部120cのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10003000」をセレクタ131cに指定する。セレクタ131cは、処理部120cの画像データの出力線と、セレクタ132dへのデータ転送線を接続する。画像データはセレクタ132dへ転送され、セレクタ132dを経由して処理部120dへ入力される。   The image processing unit 123 of the processing unit 120c performs image processing on the input image. The master unit 124 of the processing unit 120c designates the address “0x10003000” as the transfer destination of the processed image data to the selector 131c. The selector 131c connects the image data output line of the processing unit 120c and the data transfer line to the selector 132d. The image data is transferred to the selector 132d and input to the processing unit 120d via the selector 132d.

処理部120dの画像処理部123は入力された画像に画像処理を施す。処理部120dのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x30000000」をセレクタ131dに指定する。セレクタ131dは、処理部120dの画像データの出力線と、セレクタ134へのデータ転送線を接続する。画像データはセレクタ134へ転送され、セレクタ134を経由してパイプライン処理部110から出力される。   The image processing unit 123 of the processing unit 120d performs image processing on the input image. The master unit 124 of the processing unit 120d designates the address “0x30000000” to the selector 131d as the transfer destination of the processed image data. The selector 131d connects the image data output line of the processing unit 120d and the data transfer line to the selector 134. The image data is transferred to the selector 134 and output from the pipeline processing unit 110 via the selector 134.

このように、第1CPU106は、空間制御部135及びレジスタ121を設定することによって、処理部120による処理順序を設定することができる。したがって、第1CPU106は、空間制御部135及びレジスタ121の設定を変更することで、処理部120による処理順序を変更することができる。   Thus, the first CPU 106 can set the processing order by the processing unit 120 by setting the space control unit 135 and the register 121. Therefore, the first CPU 106 can change the processing order of the processing unit 120 by changing the settings of the space control unit 135 and the register 121.

また、第1CPU106は、セレクタ132及びセレクタ134の設定のための情報を空間制御部135に与え、レジスタ121にアドレス情報を与えることで、処理部120の各々の使用及び不使用を設定することができる。   Further, the first CPU 106 can set the use and non-use of each processing unit 120 by giving information for setting the selector 132 and the selector 134 to the space control unit 135 and giving the address information to the register 121. it can.

例えば、処理部120bを使用せず、処理部120a、120c及び120dの順に、各処理部120が画像データを処理するようにパイプライン処理部110を構成する場合を想定する。   For example, it is assumed that the processing unit 120b is not used and the pipeline processing unit 110 is configured such that each processing unit 120 processes image data in the order of the processing units 120a, 120c, and 120d.

この場合、第1CPU106は、処理部120aの転送先のアドレスとして、処理部120cのアドレス「0x10002000」を処理部120aのレジスタ121に与える。第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。第1CPU106は、処理部120dの転送先のアドレスとして、データ出力先のアドレス「0x30000000」を処理部120dのレジスタ121に与える。   In this case, the first CPU 106 gives the address “0x10002000” of the processing unit 120c to the register 121 of the processing unit 120a as the transfer destination address of the processing unit 120a. The first CPU 106 gives the address “0x1000000000” of the processing unit 120d to the register 121 of the processing unit 120c as the transfer destination address of the processing unit 120c. The first CPU 106 provides the data output destination address “0x30000000” to the register 121 of the processing unit 120d as the transfer destination address of the processing unit 120d.

また、空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132及びセレクタ134に出力する。   Further, the space control unit 135 generates a select signal for executing the following selection operation based on the information from the first CPU 106 and outputs the select signal to the selector 132 and the selector 134.

セレクタ132aは、セレクタ133からのデータ転送線を処理部120aのデータ入力線に接続する。セレクタ132cは、セレクタ131aからのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ134は、セレクタ131dからのデータ転送線を出力画像データの出力線に接続する。   The selector 132a connects the data transfer line from the selector 133 to the data input line of the processing unit 120a. The selector 132c connects the data transfer line from the selector 131a to the data input line of the processing unit 120c. The selector 132d connects the data transfer line from the selector 131c to the data input line of the processing unit 120d. The selector 134 connects the data transfer line from the selector 131d to the output line of the output image data.

第1CPU106は、空間制御部135及びレジスタ121を設定することによって、処理部120の使用及び不使用を変更することができる。したがって、第1CPU106は、空間制御部135及びレジスタ121の設定を変更することで、パイプラインステージの段数を変更することができる。   The first CPU 106 can change the use and non-use of the processing unit 120 by setting the space control unit 135 and the register 121. Therefore, the first CPU 106 can change the number of pipeline stages by changing the settings of the space control unit 135 and the register 121.

本実施例によれば、パイプライン処理部110の各パイプラインステージで行う処理の順序やパイプラインステージの段数を容易に変更することができる。したがって、パイプラインステージで行う処理の実行順序の自由度が向上する。   According to the present embodiment, the order of processing performed in each pipeline stage of the pipeline processing unit 110 and the number of stages of pipeline stages can be easily changed. Therefore, the degree of freedom in the execution order of processing performed in the pipeline stage is improved.

例えば、画像処理装置102が、画像入力装置101で読み取ったカラー画像の色を画像読取装置100内の処理で使用するための色に合わせる色合わせ処理を行う場合がある。この場合に画像処理装置102は、色変更処理、ガンマ変換処理及び強調処理の順序でこれらの処理を実行する。   For example, the image processing apparatus 102 may perform a color matching process that matches the color of the color image read by the image input apparatus 101 with a color that is used for processing in the image reading apparatus 100. In this case, the image processing apparatus 102 executes these processes in the order of the color change process, the gamma conversion process, and the enhancement process.

また、画像処理装置102が、最終的に出力する画像データの色空間を所定の空間に変換する色空間変換処理を行う場合がある。この場合に行う処理順序は、ガンマ変換処理、色変更処理、及び強調処理の順であり、上記色合わせ処理と処理順序が異なる。   In some cases, the image processing apparatus 102 performs color space conversion processing for converting the color space of the image data to be finally output into a predetermined space. The processing order performed in this case is the order of gamma conversion processing, color change processing, and enhancement processing, and the processing order is different from the color matching processing.

本実施例によれば、第1CPU106が処理部120による処理順序を変更することによって、あるパイプライン処理部110で行う処理を、例えば、上記色合わせ処理から上記色空間変換処理に容易に変更できるようになる。   According to the present embodiment, the first CPU 106 can easily change the processing performed by a certain pipeline processing unit 110 from the color matching processing to the color space conversion processing by changing the processing order of the processing unit 120. It becomes like this.

<2.第2実施例>
図4は、画像処理装置102の第2例の機能ブロック図である。図2に示す構成要素と同様の構成要素には図2で使用した参照符号と同じ参照符号を付す。画像処理装置102は、画像入力装置101又は第1画像メモリ103から入力される画像データを最前段のパイプラインステージの処理部120に入力するための構成を備える。また、画像処理装置102は、第1画像メモリ103から画像データを読み出し、最前段のパイプラインステージの処理部120に入力するための構成を備える。
<2. Second Embodiment>
FIG. 4 is a functional block diagram of a second example of the image processing apparatus 102. Constituent elements similar to those shown in FIG. 2 are assigned the same reference numerals as those used in FIG. The image processing apparatus 102 has a configuration for inputting image data input from the image input apparatus 101 or the first image memory 103 to the processing unit 120 of the first pipeline stage. In addition, the image processing apparatus 102 has a configuration for reading image data from the first image memory 103 and inputting it to the processing unit 120 of the first pipeline stage.

画像処理装置102は、最後段のパイプラインステージの処理部120から第1画像メモリ103に画像データを書き込むための構成を備える。画像処理装置102は、パイプライン処理部110により処理された後に第1画像メモリ103に書き込まれた画像データを、画像処理装置102から出力するための構成を備える。   The image processing apparatus 102 has a configuration for writing image data from the processing unit 120 of the last pipeline stage to the first image memory 103. The image processing apparatus 102 has a configuration for outputting, from the image processing apparatus 102, image data that has been processed by the pipeline processing unit 110 and written to the first image memory 103.

なお、以下の説明において最前段のパイプラインステージの処理部を「最前段の処理部」と表記することがある。また、最後段のパイプラインステージの処理部を「最後段の処理部」と表記することがある。   In the following description, the processing unit of the foremost pipeline stage may be referred to as “the foremost processing unit”. Further, the processing unit of the last pipeline stage may be referred to as “the last processing unit”.

このため、画像処理装置102は、ブリッジ部150とメモリコントローラ151を備える。パイプライン処理部110は、読出部140を備える。共通バス130は、マスタ型セレクトコネクタ136と、スレーブ型セレクトコネクタ161及び162を備える。以下の説明において、マスタ型セレクトコネクタ136並びにスレーブ型セレクトコネクタ161及び162を、それぞれ「セレクタ136」、「セレクタ161」及び「セレクタ162」と表記することがある。   Therefore, the image processing apparatus 102 includes a bridge unit 150 and a memory controller 151. The pipeline processing unit 110 includes a reading unit 140. The common bus 130 includes a master type select connector 136 and slave type select connectors 161 and 162. In the following description, the master type select connector 136 and the slave type select connectors 161 and 162 may be referred to as “selector 136”, “selector 161”, and “selector 162”, respectively.

読出部140は、メモリコントローラ151を介して第1画像メモリ103から画像データを読み出しセレクタ136へ出力する。セレクタ136は、読出部140が指定するアドレス情報に従って、読出部140が出力される画像データの転送先を、処理部120b〜120dの間で切り替える。   The reading unit 140 reads image data from the first image memory 103 via the memory controller 151 and outputs the image data to the selector 136. The selector 136 switches the transfer destination of the image data output by the reading unit 140 between the processing units 120b to 120d according to the address information specified by the reading unit 140.

セレクタ136には、読出部140からの画像データの出力線と、セレクタ132b〜132dへのデータ転送線が接続されている。セレクタ136は、読出部140が指定するアドレス情報に従ってこれらデータ転送線のいずれかを選択して出力線に接続する。   The selector 136 is connected to an output line for image data from the reading unit 140 and a data transfer line to the selectors 132b to 132d. The selector 136 selects one of these data transfer lines according to the address information specified by the reading unit 140 and connects it to the output line.

ブリッジ部150は、画像入力装置101又は第1画像メモリ103から入力される画像データをセレクタ133へ出力する。セレクタ133は、ブリッジ部150が指定するアドレス情報に従って、ブリッジ部150によるデータ入力時期において入力画像データの転送先を処理部120b〜120dの間で切り替える。   The bridge unit 150 outputs the image data input from the image input device 101 or the first image memory 103 to the selector 133. The selector 133 switches the transfer destination of the input image data among the processing units 120b to 120d at the data input time by the bridge unit 150 according to the address information specified by the bridge unit 150.

セレクタ133には、ブリッジ部150との間で画像データを送受信するための第1データ転送線と、セレクタ132b〜132dへ画像データを送信するための第2データ転送線が接続される。ブリッジ部150によるデータ入力時期において、セレクタ133は、アドレス情報に従ってこれら第2データ転送線のいずれかを選択して第1データ転送線に接続する。   The selector 133 is connected to a first data transfer line for transmitting / receiving image data to / from the bridge unit 150 and a second data transfer line for transmitting image data to the selectors 132b to 132d. At the time of data input by the bridge unit 150, the selector 133 selects one of these second data transfer lines according to the address information and connects it to the first data transfer line.

また、セレクタ133には、メモリコントローラ151を介して第1画像メモリ103から読み出されるデータをセレクタ162からセレクタ133へ転送する第3データ転送線が接続される。ブリッジ部150からのデータ出力時期において、セレクタ133は、アドレス情報に従って第3データ転送線と第1データ転送線とを接続する。   The selector 133 is connected to a third data transfer line for transferring data read from the first image memory 103 via the memory controller 151 from the selector 162 to the selector 133. At the time of data output from the bridge unit 150, the selector 133 connects the third data transfer line and the first data transfer line according to the address information.

セレクタ132bは、空間制御部135から受信するセレクト信号に従って、処理部120bへ入力する画像データの転送元を、読出部140、処理部120c及び120d並びにブリッジ部150の間で切り替える。セレクタ132bには、処理部120bへの画像データの入力線と、読出部140、セレクタ131c及び131d並びにセレクタ133からのデータ転送線が接続されている。セレクタ132bは、空間制御部135から受信するセレクト信号に従ってこれらデータ転送線のいずれかを選択して入力線に接続する。   The selector 132b switches the transfer source of the image data input to the processing unit 120b among the reading unit 140, the processing units 120c and 120d, and the bridge unit 150 according to a select signal received from the space control unit 135. The selector 132b is connected to an input line for image data to the processing unit 120b and data transfer lines from the reading unit 140, the selectors 131c and 131d, and the selector 133. The selector 132b selects one of these data transfer lines according to the select signal received from the space control unit 135 and connects it to the input line.

同様に、セレクタ132cは、空間制御部135から受信するセレクト信号に従って、処理部120cへ入力する画像データの転送元を、読出部140、処理部120b及び120d並びにブリッジ部150の間で切り替える。セレクタ132dは、空間制御部135から受信するセレクト信号に従って、処理部120dへ入力する画像データの転送元を、読出部140、処理部120b及び120c並びにブリッジ部150の間で切り替える。   Similarly, the selector 132c switches the transfer source of the image data input to the processing unit 120c among the reading unit 140, the processing units 120b and 120d, and the bridge unit 150 in accordance with the select signal received from the space control unit 135. The selector 132d switches the transfer source of the image data input to the processing unit 120d among the reading unit 140, the processing units 120b and 120c, and the bridge unit 150 in accordance with a select signal received from the space control unit 135.

メモリコントローラ151は、第1画像メモリ103への画像データの書込動作及び第1画像メモリ103からの画像データの読出動作を制御する。メモリコントローラ151は、第1画像メモリ103からデータを読み出す読出アドレス及びデータを書き込む書込アドレスを指定するためのアドレス線152に接続される。   The memory controller 151 controls the writing operation of image data to the first image memory 103 and the reading operation of image data from the first image memory 103. The memory controller 151 is connected to an address line 152 for designating a read address for reading data from the first image memory 103 and a write address for writing data.

セレクタ161は、空間制御部135からのセレクト信号に従って、読出部140、処理部120b〜120d及びブリッジ部150のいずれで第1画像メモリ103のアドレスを指定するかを切り替える。   The selector 161 switches between the reading unit 140, the processing units 120 b to 120 d, and the bridge unit 150 specifying the address of the first image memory 103 according to the select signal from the space control unit 135.

セレクタ161には、読出部140及びブリッジ部150がそれぞれ第1画像メモリ103の読出アドレスを指定するアドレス線160a及び160eが接続される。セレクタ161には、処理部120b〜120dがそれぞれ第1画像メモリ103の書込アドレスを指定するアドレス線160b〜160dが接続される。   Connected to the selector 161 are address lines 160a and 160e through which the reading unit 140 and the bridge unit 150 specify the reading address of the first image memory 103, respectively. Connected to the selector 161 are address lines 160b to 160d for the processing units 120b to 120d to specify the write address of the first image memory 103, respectively.

セレクタ161は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期におけるアドレス線152の接続先を、アドレス線160aと160eの間で切り替える。セレクタ161は、セレクト信号に従ってこれらアドレス線160a及び160eのいずれかを選択して、アドレス線152に接続する。   The selector 161 switches the connection destination of the address line 152 between the address lines 160 a and 160 e at the time of reading data from the first image memory 103 according to the select signal from the space control unit 135. The selector 161 selects one of these address lines 160 a and 160 e according to the select signal and connects it to the address line 152.

セレクタ161は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期におけるアドレス線152の接続先を、アドレス線160b〜160dの間で切り替える。セレクタ161は、セレクト信号に従ってこれらアドレス線160b〜160dのいずれかを選択して、アドレス線152に接続する。   The selector 161 switches the connection destination of the address line 152 at the time of writing data to the first image memory 103 between the address lines 160 b to 160 d in accordance with a select signal from the space control unit 135. The selector 161 selects any one of these address lines 160b to 160d according to the select signal and connects it to the address line 152.

セレクタ131bは、処理部120bが指定するアドレス情報に従って、処理部120bから出力される画像データの転送先を、処理部120c及び120d並びに第1画像メモリ103の間で切り替える。セレクタ131bには、処理部120bからの画像データの出力線と、セレクタ132c、132d及び162へのデータ転送線が接続されている。セレクタ131bは、処理部120bが指定するアドレス情報に従って、これらデータ転送線のいずれかを選択して出力線に接続する。   The selector 131 b switches the transfer destination of the image data output from the processing unit 120 b between the processing units 120 c and 120 d and the first image memory 103 according to the address information specified by the processing unit 120 b. The selector 131b is connected to an output line for image data from the processing unit 120b and data transfer lines to the selectors 132c, 132d, and 162. The selector 131b selects one of these data transfer lines according to the address information specified by the processing unit 120b and connects it to the output line.

同様に、セレクタ131cは、処理部120cが指定するアドレス情報に従って、処理部120cから出力される画像データの転送先を、処理部120b及び120d並びに第1画像メモリ103の間で切り替える。セレクタ131dは、処理部120dが指定するアドレス情報に従って、処理部120dから出力される画像データの転送先を、処理部120b及び120c並びに第1画像メモリ103の間で切り替える。   Similarly, the selector 131c switches the transfer destination of the image data output from the processing unit 120c between the processing units 120b and 120d and the first image memory 103 according to the address information specified by the processing unit 120c. The selector 131d switches the transfer destination of the image data output from the processing unit 120d between the processing units 120b and 120c and the first image memory 103 according to the address information specified by the processing unit 120d.

メモリコントローラ151は、第1画像メモリ103からの読出データ及び第1画像メモリ103からの書込データを転送するためのデータ線153に接続される。   The memory controller 151 is connected to a data line 153 for transferring read data from the first image memory 103 and write data from the first image memory 103.

セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期における読出データの転送先を、読出部140及びブリッジ部150との間で切り替える。また、セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期における書込データの転送元を、処理部120b〜120dの間で切り替える。   The selector 162 switches the read data transfer destination between the read unit 140 and the bridge unit 150 in accordance with the select signal from the space control unit 135 at the time of reading data from the first image memory 103. Further, the selector 162 switches the write data transfer source at the time of writing data to the first image memory 103 between the processing units 120b to 120d in accordance with a select signal from the space control unit 135.

セレクタ162には、読出部140へのデータ転送線と、セレクタ133への第3データ転送線と、セレクタ131b〜131dからのデータ転送線が接続される。   The selector 162 is connected to a data transfer line to the reading unit 140, a third data transfer line to the selector 133, and data transfer lines from the selectors 131b to 131d.

セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期におけるデータ線153の接続先を、読出部140へのデータ転送線及びセレクタ133への第3データ転送線の間で切り替える。セレクタ162は、セレクト信号に従って読出部140へのデータ転送線及びセレクタ133への第3データ転送線のいずれかを選択して、データ線153に接続する。   The selector 162 determines the connection destination of the data line 153 at the time of data reading from the first image memory 103 according to the select signal from the space control unit 135, the data transfer line to the reading unit 140, and the third data transfer to the selector 133. Switch between lines. The selector 162 selects either the data transfer line to the reading unit 140 or the third data transfer line to the selector 133 according to the select signal, and connects to the data line 153.

セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期におけるデータ線153の接続先を、セレクタ131b〜131dからのデータ転送線の間で切り替える。セレクタ162は、セレクト信号に従ってこれらのデータ転送線のいずれかを選択して、データ線153に接続する。   The selector 162 switches the connection destination of the data line 153 between the data transfer lines from the selectors 131b to 131d in accordance with the select signal from the space control unit 135 at the time of writing data to the first image memory 103. The selector 162 selects one of these data transfer lines according to the select signal and connects to the data line 153.

図5は、読出部140の第1例の機能ブロック図である。読出部140は、レジスタ141と、第1マスタ部142と、バッファ143と、第2マスタ部144を備える。   FIG. 5 is a functional block diagram of a first example of the reading unit 140. The reading unit 140 includes a register 141, a first master unit 142, a buffer 143, and a second master unit 144.

読出部140による第1画像メモリ103からの画像データの読み出しを行う場合には、第1CPU106から受信した設定情報がレジスタ141に格納される。本実施例では、設定情報は、例えば、読出部140が第1画像メモリ103から画像データを読み出すアドレス範囲の先頭アドレス及び長さと、読み出した画像データの転送先の処理部120のアドレス情報を含んでいてよい。   When the reading unit 140 reads image data from the first image memory 103, the setting information received from the first CPU 106 is stored in the register 141. In this embodiment, the setting information includes, for example, the start address and length of the address range from which the reading unit 140 reads image data from the first image memory 103, and the address information of the processing unit 120 that is the transfer destination of the read image data. You can leave.

第1マスタ部142は、第1画像メモリ103から画像データを読み出すアドレス範囲の先頭アドレスと長さをレジスタ141から取得する。第1マスタ部142は、アドレス範囲の先頭アドレス及び長さとこれまで読み出したデータ量に基づいて読出アドレスを決定し、セレクタ161へ出力する。   The first master unit 142 acquires from the register 141 the start address and length of the address range for reading image data from the first image memory 103. The first master unit 142 determines a read address based on the start address and length of the address range and the amount of data read so far, and outputs the read address to the selector 161.

セレクタ161は、空間制御部135からのセレクト信号に従って読出アドレスをメモリコントローラ151へ転送する。メモリコントローラ151は、第1画像メモリ103のこの読出アドレスから画像データを読み出すとセレクタ162へ転送する。セレクタ162は、空間制御部135からのセレクト信号に従って画像データを読出部140へ転送する。   The selector 161 transfers the read address to the memory controller 151 in accordance with the select signal from the space control unit 135. When the memory controller 151 reads the image data from the read address of the first image memory 103, the memory controller 151 transfers the image data to the selector 162. The selector 162 transfers the image data to the reading unit 140 in accordance with a select signal from the space control unit 135.

第1マスタ部142は、セレクタ162から画像データを受信するとバッファ143に入力する。バッファ143は、画像データを第2マスタ部144に入力する。   The first master unit 142 receives the image data from the selector 162 and inputs it to the buffer 143. The buffer 143 inputs the image data to the second master unit 144.

第2マスタ部144は、画像データの転送先の処理部120のアドレス情報をレジスタ141から取得する。第2マスタ部144は、レジスタ141から取得したアドレス情報をセレクタ136に与えることにより、画像データの転送先の処理部120を指定する。そして、第2マスタ部144は画像データをセレクタ136に送信する。   The second master unit 144 acquires the address information of the processing unit 120 that is the transfer destination of the image data from the register 141. The second master unit 144 gives the address information acquired from the register 141 to the selector 136 to designate the processing unit 120 that is the transfer destination of the image data. Then, the second master unit 144 transmits the image data to the selector 136.

図6は、処理部120bの第2例の機能ブロック図である。他の処理部120c及び120dも同様の構成を有する。図3に示す構成要素と同様の構成要素には図3で使用した参照符号と同じ参照符号を付す。   FIG. 6 is a functional block diagram of a second example of the processing unit 120b. The other processing units 120c and 120d have the same configuration. Constituent elements similar to those shown in FIG. 3 are denoted by the same reference numerals as those used in FIG.

処理部120bによる第1画像メモリ103への画像データの書き込みを行う場合には、第1CPU106からの設定情報は、画像データを書き込むアドレス範囲の先頭アドレス及び長さを含んでいてよい。また、設定情報は、メモリコントローラ151に与えられる共通バス130上のアドレス情報を含んでいてよい。   When the image data is written to the first image memory 103 by the processing unit 120b, the setting information from the first CPU 106 may include a head address and a length of an address range in which the image data is written. Further, the setting information may include address information on the common bus 130 given to the memory controller 151.

マスタ部124は、第1画像メモリ103への画像データの書き込むアドレス範囲の先頭アドレスと長さをレジスタ121から取得する。マスタ部124は、アドレス範囲の先頭アドレス及び長さとこれまで書き込んだデータ量に基づいて書込アドレスを決定し、セレクタ161へ出力する。   The master unit 124 obtains, from the register 121, the start address and length of the address range in which image data is written to the first image memory 103. The master unit 124 determines a write address based on the start address and length of the address range and the amount of data written so far, and outputs it to the selector 161.

また、マスタ部124は、メモリコントローラ151のアドレス情報をレジスタ121から取得する。マスタ部124は、レジスタ121から取得したメモリコントローラ151のアドレス情報をセレクタ131bに与えることにより第1画像メモリ103を転送先に指定する。そして、マスタ部124は、処理済みの画像データをセレクタ131bに送信する。   In addition, the master unit 124 acquires address information of the memory controller 151 from the register 121. The master unit 124 designates the first image memory 103 as a transfer destination by giving the address information of the memory controller 151 acquired from the register 121 to the selector 131b. Then, the master unit 124 transmits the processed image data to the selector 131b.

セレクタ131bは、アドレス情報に従って画像データをセレクタ162に転送し、セレクタ162は、空間制御部135からのセレクト信号に従って画像データをメモリコントローラ151へ転送する。セレクタ161は、空間制御部135からのセレクト信号に従って書込アドレスをメモリコントローラ151へ転送する。メモリコントローラ151は、指定された書込アドレスに画像データを書き込む。   The selector 131b transfers the image data to the selector 162 according to the address information, and the selector 162 transfers the image data to the memory controller 151 according to the select signal from the space control unit 135. The selector 161 transfers the write address to the memory controller 151 in accordance with the select signal from the space control unit 135. The memory controller 151 writes the image data to the designated write address.

次に、パイプライン処理部110を構成する第1CPU106の設定例を説明する。図7〜図10は、パイプライン処理部110の構成例の第1例の説明図である。第1例のパイプライン処理部110では、ブリッジ部150は、画像入力装置101又は第1画像メモリ103から入力される画像データを受信する。   Next, a setting example of the first CPU 106 configuring the pipeline processing unit 110 will be described. 7 to 10 are explanatory diagrams of a first example of the configuration example of the pipeline processing unit 110. In the pipeline processing unit 110 of the first example, the bridge unit 150 receives image data input from the image input device 101 or the first image memory 103.

ブリッジ部150は、画像データを最前段の処理部120cに入力する。処理部120c、120d及び120bの順に、各処理部120が画像データを処理する。最後段の処理部120bが処理済みの画像データを第1画像メモリ103に書き込む。処理部120b、120c及び120d並びにメモリコントローラ151の転送先の共通バス130上のアドレスをそれぞれ以下のように定める。   The bridge unit 150 inputs the image data to the processing unit 120c at the front stage. Each processing unit 120 processes image data in the order of the processing units 120c, 120d, and 120b. The image data processed by the last processing unit 120 b is written in the first image memory 103. The addresses on the common bus 130 of the transfer destinations of the processing units 120b, 120c and 120d and the memory controller 151 are respectively determined as follows.

処理部120b:「0x10001000」
処理部120c:「0x10002000」
処理部120d:「0x10003000」
メモリコントローラ151:「0x40000000」
Processing unit 120b: “0x10001000”
Processing unit 120c: “0x10002000”
Processing unit 120d: “0x10003000”
Memory controller 151: “0x40000000”

第1CPU106は、ブリッジ部150に対して、処理部120cのアドレス「0x10002000」をブリッジ部150の転送先のアドレスとして指定する。第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。   The first CPU 106 designates the address “0x10002000” of the processing unit 120 c as the transfer destination address of the bridge unit 150 to the bridge unit 150. The first CPU 106 gives the address “0x1000000000” of the processing unit 120d to the register 121 of the processing unit 120c as the transfer destination address of the processing unit 120c.

第1CPU106は、処理部120dの転送先のアドレスとして、処理部120bのアドレス「0x10001000」を処理部120dのレジスタ121に与える。第1CPU106は、処理部120bの転送先のアドレスとして、メモリコントローラ151のアドレス「0x40000000」を処理部120bのレジスタ121に与える。また、第1CPU106は、処理済みの画像データを第1画像メモリ103に書き込む書込アドレスを処理部120bのレジスタ121に与える。   The first CPU 106 gives the address “0x10001000” of the processing unit 120b to the register 121 of the processing unit 120d as the transfer destination address of the processing unit 120d. The first CPU 106 gives the address “0x40000000” of the memory controller 151 to the register 121 of the processing unit 120b as the transfer destination address of the processing unit 120b. Further, the first CPU 106 gives a write address for writing the processed image data to the first image memory 103 to the register 121 of the processing unit 120b.

空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132、セレクタ161及びセレクタ162に出力する。   Based on the information from the first CPU 106, the space control unit 135 generates a select signal for executing the following selection operation and outputs the select signal to the selector 132, the selector 161, and the selector 162.

セレクタ132cは、セレクタ133からのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ132bは、セレクタ131dからのデータ転送線を処理部120bのデータ入力線に接続する。   The selector 132c connects the data transfer line from the selector 133 to the data input line of the processing unit 120c. The selector 132d connects the data transfer line from the selector 131c to the data input line of the processing unit 120d. The selector 132b connects the data transfer line from the selector 131d to the data input line of the processing unit 120b.

セレクタ161は、第1画像メモリ103へのデータ書込時期において処理部120bのアドレス線160bをアドレス線152に接続する。セレクタ162は、第1画像メモリ103へのデータ書込時期においてセレクタ131bからのデータ転送線をデータ線153に接続する。   The selector 161 connects the address line 160 b of the processing unit 120 b to the address line 152 at the time of writing data to the first image memory 103. The selector 162 connects the data transfer line from the selector 131 b to the data line 153 at the time of data writing to the first image memory 103.

上記設定によって共通バス130に下記(1)〜(5)の経路が設定される。   With the above settings, the following routes (1) to (5) are set on the common bus 130.

(1)ブリッジ部150は、入力された画像データの転送先として、アドレス「0x10002000」をセレクタ133に指定する。セレクタ133は、ブリッジ部150の第1データ転送線とセレクタ132cへのデータ転送線を接続する。入力画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される(図7)。   (1) The bridge unit 150 specifies the address “0x10002000” to the selector 133 as the transfer destination of the input image data. The selector 133 connects the first data transfer line of the bridge unit 150 and the data transfer line to the selector 132c. The input image data is transferred to the selector 132c and input to the processing unit 120c via the selector 132c (FIG. 7).

(2)処理部120cの画像処理部123は入力された画像に画像処理を施す。処理部120cのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x10003000」をセレクタ131cに指定する。セレクタ131cは、処理部120cの画像データの出力線と、セレクタ132dへのデータ転送線を接続する。画像データはセレクタ132dへ転送され、セレクタ132dを経由して処理部120dへ入力される(図8)。   (2) The image processing unit 123 of the processing unit 120c performs image processing on the input image. The master unit 124 of the processing unit 120c designates the address “0x10003000” to the selector 131c as the transfer destination of the processed image data. The selector 131c connects the image data output line of the processing unit 120c and the data transfer line to the selector 132d. The image data is transferred to the selector 132d and input to the processing unit 120d via the selector 132d (FIG. 8).

(3)処理部120dの画像処理部123は入力された画像に画像処理を施す。処理部120dのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x10001000」をセレクタ131dに指定する。セレクタ131dは、処理部120dの画像データの出力線と、セレクタ132bへのデータ転送線を接続する。画像データはセレクタ132bへ転送され、セレクタ132bを経由して処理部120bへ入力される(図9)。   (3) The image processing unit 123 of the processing unit 120d performs image processing on the input image. The master unit 124 of the processing unit 120d designates the address “0x10001000” to the selector 131d as the transfer destination of the processed image data. The selector 131d connects the image data output line of the processing unit 120d and the data transfer line to the selector 132b. The image data is transferred to the selector 132b and input to the processing unit 120b via the selector 132b (FIG. 9).

(4)処理部120bの画像処理部123は、入力された画像に画像処理を施す。処理部120bのマスタ部124は、処理済みの画像データを第1画像メモリ103に書き込む書込アドレスをアドレス線160bにセットする。セレクタ161は、処理部120bにより指定された書込アドレスをメモリコントローラ151へ転送する(図10)。   (4) The image processing unit 123 of the processing unit 120b performs image processing on the input image. The master unit 124 of the processing unit 120b sets a write address for writing the processed image data in the first image memory 103 to the address line 160b. The selector 161 transfers the write address designated by the processing unit 120b to the memory controller 151 (FIG. 10).

(5)処理部120bのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x40000000」をセレクタ131bに指定する。セレクタ131bは、処理部120bの画像データの出力線と、セレクタ162へのデータ転送線を接続する。画像データはセレクタ162へ転送され、セレクタ162を経由してメモリコントローラ151に転送される。メモリコントローラ151は、指定された書込アドレスに画像データを書き込む(図10)。   (5) The master unit 124 of the processing unit 120b designates the address “0x40000000” to the selector 131b as the transfer destination of the processed image data. The selector 131 b connects the image data output line of the processing unit 120 b and the data transfer line to the selector 162. The image data is transferred to the selector 162 and transferred to the memory controller 151 via the selector 162. The memory controller 151 writes the image data at the designated write address (FIG. 10).

図11及び図12は、パイプライン処理部110の構成例の第2例の説明図である。第2例のパイプライン処理部110では、読出部140は、第1画像メモリ103から画像データを読み出して、画像データを最前段の処理部120cに入力する。処理部120c、120d及び120bの順に、各処理部120が画像データを処理する。最後段の処理部120bが処理済みの画像データを第1画像メモリ103に書き込む。   11 and 12 are explanatory diagrams of a second example of the configuration example of the pipeline processing unit 110. FIG. In the pipeline processing unit 110 of the second example, the reading unit 140 reads the image data from the first image memory 103 and inputs the image data to the processing unit 120c at the front stage. Each processing unit 120 processes image data in the order of the processing units 120c, 120d, and 120b. The image data processed by the last processing unit 120 b is written in the first image memory 103.

第1CPU106は、読出部140の転送先のアドレスとして、処理部120cのアドレス「0x10002000」を読出部140のレジスタ141に与える。第1CPU106は、第1画像メモリ103から画像データを読み出す読出アドレスを読出部140のレジスタ141に与える。処理部120b〜120dのレジスタ121に与えられる設定は、第1例の構成例と同様である。   The first CPU 106 gives the address “0x10002000” of the processing unit 120 c to the register 141 of the reading unit 140 as the transfer destination address of the reading unit 140. The first CPU 106 gives a read address for reading image data from the first image memory 103 to the register 141 of the reading unit 140. The settings given to the registers 121 of the processing units 120b to 120d are the same as in the configuration example of the first example.

空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132c、セレクタ161及びセレクタ162に出力する。   Based on information from the first CPU 106, the space control unit 135 generates a select signal for executing the following selection operation and outputs the select signal to the selector 132c, the selector 161, and the selector 162.

セレクタ132cは、セレクタ136からのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132b及び132dの接続状態は、第1例の構成例と同様である。   The selector 132c connects the data transfer line from the selector 136 to the data input line of the processing unit 120c. The connection state of the selectors 132b and 132d is the same as that of the configuration example of the first example.

セレクタ161は、第1画像メモリ103からのデータ読出時期において読出部140のアドレス線160aをアドレス線152に接続する。セレクタ161は、第1画像メモリ103へのデータ書込時期において処理部120bのアドレス線160bをアドレス線152に接続する。   The selector 161 connects the address line 160 a of the reading unit 140 to the address line 152 at the time of reading data from the first image memory 103. The selector 161 connects the address line 160 b of the processing unit 120 b to the address line 152 at the time of writing data to the first image memory 103.

セレクタ162は、第1画像メモリ103からのデータ読出時期において読出部140へのデータ転送線をデータ線153に接続する。セレクタ162は、第1画像メモリ103へのデータ書込時期においてセレクタ131bからのデータ転送線をデータ線153に接続する。   The selector 162 connects the data transfer line to the reading unit 140 to the data line 153 at the time of reading data from the first image memory 103. The selector 162 connects the data transfer line from the selector 131 b to the data line 153 at the time of data writing to the first image memory 103.

上記設定によって共通バス130に下記(6)〜(8)の経路が設定される。   With the above settings, the following routes (6) to (8) are set in the common bus 130.

(6)読出部140の第1マスタ部142は、入力する画像データを第1画像メモリ103から読み出す読出アドレスをアドレス線160aにセットする。セレクタ161は、読出部140により指定された読出アドレスをメモリコントローラ151へ転送する(図11)。   (6) The first master unit 142 of the reading unit 140 sets a read address for reading input image data from the first image memory 103 to the address line 160a. The selector 161 transfers the read address designated by the read unit 140 to the memory controller 151 (FIG. 11).

(7)メモリコントローラ151は、第1画像メモリ103のこの読出アドレスから画像データを読み出すとセレクタ162へ転送する。画像データは、セレクタ162を経由して読出部140へ入力される(図11)。   (7) When the memory controller 151 reads the image data from the read address of the first image memory 103, the memory controller 151 transfers it to the selector 162. The image data is input to the reading unit 140 via the selector 162 (FIG. 11).

(8)読出部140の第2マスタ部144は、読み出した画像データの転送先として、アドレス「0x10002000」をセレクタ136に指定する。セレクタ136は、読出部140の画像データの出力線と、セレクタ132cへのデータ転送線を接続する。画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される(図12)。その後のパイプライン処理部110の動作は、図8〜図10を参照して説明した上記動作と同様である。   (8) The second master unit 144 of the reading unit 140 designates the address “0x10002000” to the selector 136 as the transfer destination of the read image data. The selector 136 connects the image data output line of the reading unit 140 and the data transfer line to the selector 132c. The image data is transferred to the selector 132c and input to the processing unit 120c via the selector 132c (FIG. 12). The subsequent operation of the pipeline processing unit 110 is the same as the above-described operation described with reference to FIGS.

図13は、パイプライン処理部110の構成例の第3例の説明図である。第3例のパイプライン処理部110では、パイプライン処理部110により処理された後に第1画像メモリ103に書き込まれた画像データを、ブリッジ部150が読み出して、画像処理装置102から出力する。   FIG. 13 is an explanatory diagram of a third example of the configuration example of the pipeline processing unit 110. In the pipeline processing unit 110 of the third example, the bridge unit 150 reads out the image data that has been processed by the pipeline processing unit 110 and then written in the first image memory 103 and outputs it from the image processing apparatus 102.

なお、上記の第1例の構成に下記の第3例の構成を加えてもよい。この場合に、画像入力装置101又は第1画像メモリ103から入力画像データを受信するブリッジ部150が、処理済みの画像データを第1画像メモリ103から読み出して、パイプライン処理部110から出力する。   The configuration of the following third example may be added to the configuration of the first example. In this case, the bridge unit 150 that receives the input image data from the image input device 101 or the first image memory 103 reads the processed image data from the first image memory 103 and outputs it from the pipeline processing unit 110.

第1CPU106は、第1画像メモリ103から読み出された画像データを送信する転送元のアドレスとして、メモリコントローラ151のアドレス「0x40000000」を、ブリッジ部150に対して指定する。また、第1CPU106は、第1画像メモリ103から画像データを読み出す読出アドレスを、ブリッジ部150に対して指定する。   The first CPU 106 specifies the address “0x40000000” of the memory controller 151 to the bridge unit 150 as an address of a transfer source that transmits the image data read from the first image memory 103. Further, the first CPU 106 designates a read address for reading image data from the first image memory 103 to the bridge unit 150.

空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ161及び162に出力する。セレクタ161は、第1画像メモリ103からのデータ読出時期においてブリッジ部150のアドレス線160eをアドレス線152に接続する。セレクタ162は、第1画像メモリ103からのデータ読出時期においてデータ線153を、セレクタ133への第3データ転送線に接続する。   Based on the information from the first CPU 106, the space control unit 135 generates a select signal for executing the following selection operation and outputs the select signal to the selectors 161 and 162. The selector 161 connects the address line 160 e of the bridge unit 150 to the address line 152 at the time of reading data from the first image memory 103. The selector 162 connects the data line 153 to the third data transfer line to the selector 133 at the time of reading data from the first image memory 103.

上記設定によって共通バス130に下記(9)及び(10)の経路が設定される。   With the above settings, the following routes (9) and (10) are set in the common bus 130.

(9)ブリッジ部150は、出力する画像データを第1画像メモリ103から読み出す読出アドレスをアドレス線160eにセットする。セレクタ161は、ブリッジ部150により指定された読出アドレスをメモリコントローラ151へ転送する(図13)。   (9) The bridge unit 150 sets a read address for reading the output image data from the first image memory 103 to the address line 160e. The selector 161 transfers the read address designated by the bridge unit 150 to the memory controller 151 (FIG. 13).

(10)ブリッジ部150は、第1画像メモリ103から読み出された画像データを送信するメモリコントローラ151のアドレス「0x30000000」をセレクタ133に指定する。メモリコントローラ151は、第1画像メモリ103の読出アドレスから画像データを読み出すとセレクタ162へ転送する。画像データは、セレクタ162を経由してセレクタ133へ転送される。画像データは、セレクタ133を経由してブリッジ部150に入力される(図13)。   (10) The bridge unit 150 specifies the address “0x30000000” of the memory controller 151 to which the image data read from the first image memory 103 is transmitted to the selector 133. When the memory controller 151 reads image data from the read address of the first image memory 103, the memory controller 151 transfers the image data to the selector 162. The image data is transferred to the selector 133 via the selector 162. The image data is input to the bridge unit 150 via the selector 133 (FIG. 13).

本実施例によれば、ブリッジ部150を介して入力した画像データを、最前段の処理部に設定された任意の処理部120に入力することができる。また、最後段の処理部に設定された任意の処理部120により第1画像メモリ103に書き込まれた画像データをブリッジ部150から出力することができる。   According to the present embodiment, the image data input via the bridge unit 150 can be input to the arbitrary processing unit 120 set as the processing unit at the front stage. Further, the image data written in the first image memory 103 by the arbitrary processing unit 120 set as the last processing unit can be output from the bridge unit 150.

また、本実施例によれば、読出部140が第1画像メモリ103から画像データを読み出して、最前段の処理部に設定された任意の処理部120に入力することができる。第1画像メモリ103から画像データを読み出すための第1マスタ部142を読出部140のみに設けることで、第1画像メモリ103から画像データを読み出す機能を処理部120毎に設ける冗長な構成が省かれる。なお、各処理部120が読出部140と同様に第1マスタ部142を備え、処理部120が第1画像メモリから画像データを読み出すように第2実施例を変形してもよい。   Further, according to the present embodiment, the reading unit 140 can read image data from the first image memory 103 and input the image data to an arbitrary processing unit 120 set as the processing unit at the foremost stage. By providing the first master unit 142 for reading image data from the first image memory 103 only in the reading unit 140, a redundant configuration in which the function of reading image data from the first image memory 103 is provided for each processing unit 120 is omitted. It is burned. Note that the second embodiment may be modified such that each processing unit 120 includes the first master unit 142 similarly to the reading unit 140 and the processing unit 120 reads image data from the first image memory.

<3.第3実施例>
図14は、画像処理装置102の第3例の機能ブロック図である。画像処理装置102は、複数のパイプライン処理部110a〜110cを備える。図4に示す構成要素と同様の構成要素には、図4で使用した参照符号と同じ参照符号を付す。
<3. Third Example>
FIG. 14 is a functional block diagram of a third example of the image processing apparatus 102. The image processing apparatus 102 includes a plurality of pipeline processing units 110a to 110c. Components similar to those shown in FIG. 4 are denoted by the same reference numerals as those used in FIG.

パイプライン処理部110aは、読出部140aと処理部120a〜120cと共通バス130aを備える。パイプライン処理部110bは、読出部140bと処理部120d〜120fと共通バス130bを備える。パイプライン処理部110cは、読出部140cと処理部120g〜120iと共通バス130cを備える。   The pipeline processing unit 110a includes a reading unit 140a, processing units 120a to 120c, and a common bus 130a. The pipeline processing unit 110b includes a reading unit 140b, processing units 120d to 120f, and a common bus 130b. The pipeline processing unit 110c includes a reading unit 140c, processing units 120g to 120i, and a common bus 130c.

パイプライン処理部110a、読出部140a、処理部120a〜120c及び共通バス130aの構成は、図4のパイプライン処理部110、読出部140、処理部120b〜120d及び共通バス130の構成とそれぞれ同じである。パイプライン処理部110b及び110cの構成は、パイプライン処理部110aと同様である。   The configurations of the pipeline processing unit 110a, the reading unit 140a, the processing units 120a to 120c, and the common bus 130a are the same as the configurations of the pipeline processing unit 110, the reading unit 140, the processing units 120b to 120d, and the common bus 130 of FIG. It is. The configuration of the pipeline processing units 110b and 110c is the same as that of the pipeline processing unit 110a.

なお、以下の説明で、パイプライン処理部110a〜110cを総称して「パイプライン処理部110」と表記することがある。処理部120a〜120iを総称して「処理部120」と表記することがある。読出部140a〜140cを総称して「読出部140」と表記することがある。共通バス130a〜130cを総称して「共通バス130」と表記することがある。   In the following description, the pipeline processing units 110a to 110c may be collectively referred to as “pipeline processing unit 110”. The processing units 120a to 120i may be collectively referred to as “processing unit 120”. The reading units 140a to 140c may be collectively referred to as “reading unit 140”. The common buses 130a to 130c may be collectively referred to as “common bus 130”.

パイプライン処理部110の各々は、パイプライン処理部110a、110b及び110cの順で、ブリッジ部150から入力された画像データを処理する。なお、パイプライン処理部の順番を変えるように設定することも可能である。   Each of the pipeline processing units 110 processes the image data input from the bridge unit 150 in the order of the pipeline processing units 110a, 110b, and 110c. It is also possible to set so that the order of the pipeline processing units is changed.

画像処理装置102は、ブリッジ部150と接続する共通バス130を、共通バス130a〜130cの間で切り替えるセレクタ154を備える。セレクタ154は、第1CPU106による設定に従って空間制御部135が生成するセレクト信号に従って、ブリッジ部150と共通バス130aを接続する。   The image processing apparatus 102 includes a selector 154 that switches the common bus 130 connected to the bridge unit 150 between the common buses 130a to 130c. The selector 154 connects the bridge unit 150 and the common bus 130 a according to a select signal generated by the space control unit 135 according to the setting by the first CPU 106.

第1CPU106は、各パイプライン処理部110の処理後の画像データを第1画像メモリ103に書き込む書込アドレスの範囲を、各パイプライン処理部110の最後段の処理部120に対してそれぞれ指定する。   The first CPU 106 specifies a range of write addresses for writing image data processed by each pipeline processing unit 110 in the first image memory 103 to the processing unit 120 at the last stage of each pipeline processing unit 110. .

第1CPU106は、第1画像メモリ103から画像データを読み出す読み出しアドレスの範囲として、パイプライン処理部110aが画像データを書き込むアドレス範囲を、その後段のパイプライン処理部110bの読出部140bに対して指定する。第1CPU106は、パイプライン処理部110bが画像データを書き込むアドレス範囲を、読み出しアドレスの範囲として読出部140cに対して指定する。   The first CPU 106 designates, as a read address range for reading image data from the first image memory 103, an address range in which the pipeline processing unit 110a writes image data to the reading unit 140b of the subsequent pipeline processing unit 110b. To do. The first CPU 106 designates the address range in which the pipeline processing unit 110b writes the image data to the reading unit 140c as a reading address range.

第1CPU106は、パイプライン処理部110cが画像データを書き込むアドレス範囲を、読み出しアドレスの範囲としてブリッジ部150に対して指定する。   The first CPU 106 specifies an address range in which the pipeline processing unit 110c writes image data to the bridge unit 150 as a read address range.

以上のように、セレクタ154の接続状態及び各パイプライン処理部110の書込アドレスと読出アドレスが設定されることで、ブリッジ部150から入力された画像データはパイプライン処理部110aに入力される。パイプライン処理部110aで処理された画像データは、第1画像メモリ103を経由してパイプライン処理部110bに入力され、パイプライン処理部110bで処理される。   As described above, the connection state of the selector 154 and the write address and read address of each pipeline processing unit 110 are set, so that the image data input from the bridge unit 150 is input to the pipeline processing unit 110a. . The image data processed by the pipeline processing unit 110a is input to the pipeline processing unit 110b via the first image memory 103, and is processed by the pipeline processing unit 110b.

パイプライン処理部110bで処理された画像データは、第1画像メモリ103を経由してパイプライン処理部110cに入力され、パイプライン処理部110cで処理される。パイプライン処理部110cで処理された画像データは、第1画像メモリ103及び共通バス130aを経由してブリッジ部150から出力される。   The image data processed by the pipeline processing unit 110b is input to the pipeline processing unit 110c via the first image memory 103, and is processed by the pipeline processing unit 110c. The image data processed by the pipeline processing unit 110c is output from the bridge unit 150 via the first image memory 103 and the common bus 130a.

本実施例によれば、最前段の処理部及び最後段の処理部が任意に設定されるパイプライン処理部110を複数連結することができる。また、第1CPU106は、空間制御部135並びにレジスタ121及び141の設定を変更することで、パイプライン処理部110間の処理順序及びパイプライン処理部110の接続数を変更することができる。   According to the present embodiment, it is possible to connect a plurality of pipeline processing units 110 in which the first processing unit and the last processing unit are arbitrarily set. Further, the first CPU 106 can change the processing order between the pipeline processing units 110 and the number of connections of the pipeline processing units 110 by changing the settings of the space control unit 135 and the registers 121 and 141.

<4.第4実施例>
図15は、図14に示す画像処理装置102の読出部140bの一例の機能ブロック図である。他の読出部140a及び140cも同様の構成を有する。図16は、図14に示す画像処理装置102の処理部120cの一例の機能ブロック図である。他の処理部120a、120b及び120d〜120iも同様の構成を有する。処理部120cが、パイプライン処理部110aの最後段の処理部である場合を想定する。図5及び図6に示す構成要素と同様の構成要素には、図5及び図6で使用した参照符号と同じ参照符号を付す。
<4. Fourth Embodiment>
FIG. 15 is a functional block diagram illustrating an example of the reading unit 140b of the image processing apparatus 102 illustrated in FIG. The other reading units 140a and 140c have the same configuration. FIG. 16 is a functional block diagram illustrating an example of the processing unit 120c of the image processing apparatus 102 illustrated in FIG. The other processing units 120a, 120b, and 120d to 120i have the same configuration. Assume that the processing unit 120c is the last processing unit of the pipeline processing unit 110a. Components similar to those shown in FIGS. 5 and 6 are denoted by the same reference symbols as those used in FIGS. 5 and 6.

第1画像メモリ103を経由して前段のパイプライン処理部110aと後段のパイプライン処理部110bの間で画像データを転送する場合、読出部140bは書込が行われたアドレスからデータを読み出す。このため、読出部140bは読出アドレスが書込アドレスを追い越さないようにデータの読み出しを制御する。   When transferring image data between the preceding pipeline processing unit 110a and the subsequent pipeline processing unit 110b via the first image memory 103, the reading unit 140b reads the data from the address where writing has been performed. Therefore, the reading unit 140b controls reading of data so that the read address does not overtake the write address.

処理部120cは、書込アドレスが後段のパイプライン処理部110bの読出アドレスを追い越して、まだ読み出されていないデータが上書きされないようにデータの書き込みを制御する。   The processing unit 120c controls data writing so that data that has not yet been read is overwritten by overwriting the read address of the pipeline processing unit 110b in the subsequent stage.

このため、読出部140bは、読出量通知部145と、書込手段選択部146と、読出停止部147を備える。処理部120cは、書込量通知部125と、読出手段選択部126と、書込停止部127を備える。   Therefore, the reading unit 140b includes a read amount notification unit 145, a writing means selection unit 146, and a read stop unit 147. The processing unit 120 c includes a writing amount notification unit 125, a reading unit selection unit 126, and a writing stop unit 127.

読出部140bのレジスタ141には、前段のパイプライン処理部110aの最後段の処理部120cの指定情報と、所定数の画素からなる1ラインの画素数の指定情報が格納される。ラインの画素数は、例えば画像データの主方向の画素数であってよい。これら指定情報は第1CPU106によって指定される。   The register 141 of the reading unit 140b stores designation information for the last processing unit 120c of the preceding pipeline processing unit 110a and designation information for the number of pixels in one line including a predetermined number of pixels. The number of pixels in the line may be, for example, the number of pixels in the main direction of the image data. Such designation information is designated by the first CPU 106.

読出部140のバッファ143は、読出部140が第1画像メモリ103から読み出した画像データのデータ量を、読出量通知部145及びに読出停止部147に通知する。読出量通知部145及び読出停止部147は、読み出した画像データのデータ量とラインの画素数に基づき第1画像メモリ103から読み出されたライン数を算出する。読出量通知部145は、読み出されたライン数を示す読出量を、他のパイプライン処理部110a及び110cの処理部120へ通知する。各読出部140と、他のパイプライン処理部110の処理部120との間は、読出量を通知するための読出量通知回線171で接続される。   The buffer 143 of the reading unit 140 notifies the reading amount notifying unit 145 and the reading stopping unit 147 of the data amount of the image data read from the first image memory 103 by the reading unit 140. The read amount notification unit 145 and the read stop unit 147 calculate the number of lines read from the first image memory 103 based on the data amount of the read image data and the number of pixels of the line. The read amount notification unit 145 notifies the read amount indicating the number of lines read to the processing units 120 of the other pipeline processing units 110a and 110c. Each readout unit 140 and the processing unit 120 of another pipeline processing unit 110 are connected by a readout amount notification line 171 for notifying the readout amount.

また、ブリッジ部150と各パイプライン処理部110の処理部120との間も、ブリッジ部150が第1画像メモリ103から読み出した読出量を通知するための読出量通知回線171で接続される。   Further, the bridge unit 150 and the processing unit 120 of each pipeline processing unit 110 are also connected by a read amount notification line 171 for notifying the read amount read from the first image memory 103 by the bridge unit 150.

処理部120cのレジスタ121には、処理部120cが第1画像メモリ103に書き込んだ画像データを読み出す後段装置の指定情報と、1ラインの画素数の指定情報が格納される。これら指定情報は第1CPU106によって指定される。   The register 121 of the processing unit 120c stores designation information for a subsequent apparatus that reads image data written by the processing unit 120c into the first image memory 103, and designation information for the number of pixels in one line. Such designation information is designated by the first CPU 106.

例えば、パイプライン処理部110aの処理の直後に後段のパイプライン処理部110bが処理を行う場合には、後段装置は、パイプライン処理部110bの読出部140bである。例えば、パイプライン処理部110aの処理の直後にブリッジ部150が第1画像メモリ103から画像データを読み出して出力する場合には、後段装置はブリッジ部150である。   For example, when the downstream pipeline processing unit 110b performs processing immediately after the processing of the pipeline processing unit 110a, the subsequent stage device is the reading unit 140b of the pipeline processing unit 110b. For example, when the bridge unit 150 reads out and outputs image data from the first image memory 103 immediately after the processing of the pipeline processing unit 110 a, the subsequent apparatus is the bridge unit 150.

処理部120cの画像処理部123は、処理部120cが第1画像メモリ103に書き込んだ画像データのデータ量を、書込量通知部125及び書込停止部127に通知する。書込量通知部125及び書込停止部127は、書き込んだ画像データのデータ量とラインの画素数に基づき第1画像メモリ103に書き込まれたライン数を算出する。書込量通知部125は、書き込まれたライン数を示す書込量を、他のパイプライン処理部110b及び110cの読出部140へ通知する。各処理部120と、他のパイプライン処理部110の読出部140との間は、書込量を通知するための書込量通知回線172で接続される。   The image processing unit 123 of the processing unit 120 c notifies the writing amount notification unit 125 and the writing stop unit 127 of the data amount of the image data written in the first image memory 103 by the processing unit 120 c. The writing amount notifying unit 125 and the writing stopping unit 127 calculate the number of lines written in the first image memory 103 based on the data amount of the written image data and the number of pixels of the line. The writing amount notifying unit 125 notifies the writing amount indicating the number of lines written to the reading units 140 of the other pipeline processing units 110b and 110c. Each processing unit 120 and the reading unit 140 of another pipeline processing unit 110 are connected by a writing amount notification line 172 for notifying the writing amount.

また、ブリッジ部150と各パイプライン処理部110の処理部120との間も、処理部120が第1画像メモリ103に書き込んだ書込量を通知するための書込量通知回線172で接続される。   The bridge unit 150 and the processing unit 120 of each pipeline processing unit 110 are also connected by a writing amount notification line 172 for notifying the writing amount written by the processing unit 120 in the first image memory 103. The

読出部140の書込手段選択部146は、前段のパイプライン処理部110aの最後段の処理部120cの書込量が通知される書込量通知回線172を選択し、選択された回線で通知された書込量を読出停止部147に通知する。処理部120cの読出手段選択部126は、後段装置の読出量が通知される読出量通知回線171を選択し、選択された回線で通知された読出量を書込停止部127に通知する。   The writing means selection unit 146 of the reading unit 140 selects the writing amount notification line 172 to which the writing amount of the last processing unit 120c of the preceding pipeline processing unit 110a is notified, and notifies the selected line via the selected line. The read stop unit 147 is notified of the written amount. The reading means selection unit 126 of the processing unit 120c selects the read amount notification line 171 to which the read amount of the subsequent apparatus is notified, and notifies the write stop unit 127 of the read amount notified through the selected line.

図17は、画像処理装置102の第4例の機能ブロック図である。図17は、全ての読出量通知回線171のうち読出手段選択部126によって選択されたものの接続関係を示している。また、図17は全ての書込量通知回線172のうち書込手段選択部146によって選択されたものの接続関係を示している。図17の接続関係は、パイプライン処理部110a〜110cの最後段の処理部が、それぞれ処理部120c、120f及び120iである場合の例示である。   FIG. 17 is a functional block diagram of a fourth example of the image processing apparatus 102. FIG. 17 shows the connection relationship of all of the readout amount notification lines 171 selected by the readout means selection unit 126. FIG. 17 shows the connection relationship of all the write amount notification lines 172 selected by the writing means selection unit 146. The connection relationship in FIG. 17 is an example when the last processing units of the pipeline processing units 110a to 110c are the processing units 120c, 120f, and 120i, respectively.

読出部140bと処理部120cとが読出量通知回線171及び書込量通知回線172で接続される。読出部140cと処理部120fとが読出量通知回線171及び書込量通知回線172で接続される。ブリッジ部150と処理部120iとが読出量通知回線171及び書込量通知回線172で接続される。   The reading unit 140b and the processing unit 120c are connected by a read amount notification line 171 and a write amount notification line 172. The reading unit 140c and the processing unit 120f are connected by a read amount notification line 171 and a write amount notification line 172. The bridge unit 150 and the processing unit 120 i are connected by a read amount notification line 171 and a write amount notification line 172.

図15及び図16を参照する。読出停止部147は、読出部140bが第1画像メモリ103から読み出した読出量と、書込手段選択部146から通知される書込量を比較する。読出停止部147は、読出量が書込量以上になる場合には第1画像メモリ103からの画像データの読み出しを停止する。読出停止部147は、読出量が書込量未満の場合には第1画像メモリ103からの画像データの読み出しを許可する。   Please refer to FIG. 15 and FIG. The read stop unit 147 compares the read amount read from the first image memory 103 by the read unit 140b with the write amount notified from the writing means selection unit 146. The read stop unit 147 stops reading image data from the first image memory 103 when the read amount is equal to or greater than the write amount. The read stop unit 147 permits reading of image data from the first image memory 103 when the read amount is less than the write amount.

書込停止部127は、処理部120cが第1画像メモリ103へ書き込んだ書込量と、読出手段選択部126から通知される読出量を比較する。書込停止部127は、書込量が読出量以上になる場合には第1画像メモリ103への画像データの書き込みを停止する。書込停止部127は、書込量が読出量未満の場合には第1画像メモリ103への画像データの書き込みを許可する。   The write stop unit 127 compares the write amount written to the first image memory 103 by the processing unit 120c with the read amount notified from the reading means selection unit 126. The writing stop unit 127 stops writing image data to the first image memory 103 when the writing amount is equal to or larger than the reading amount. The writing stop unit 127 permits writing of image data to the first image memory 103 when the writing amount is less than the reading amount.

本実施例によれば、第1画像メモリ103を経由して複数のパイプライン処理部110間で画像データを転送する場合、有効データの書き込みがまだ行われていないアドレスからの無効データの読出が防止できる。また、有効データの読み出しがまだ行われていないアドレスへのデータの上書きが防止される。   According to the present embodiment, when image data is transferred between a plurality of pipeline processing units 110 via the first image memory 103, invalid data is read from an address where valid data has not yet been written. Can be prevented. Further, overwriting of data to an address where valid data has not yet been read is prevented.

<5.第5実施例>
図18は、画像処理システム1のハードウェア構成の第2例の説明図である。図1に示す構成要素と同様の構成要素には図1で使用した参照符号と同じ参照符号を付す。
<5. Fifth embodiment>
FIG. 18 is an explanatory diagram of a second example of the hardware configuration of the image processing system 1. Constituent elements similar to those shown in FIG. 1 are assigned the same reference numerals as those used in FIG.

画像読取装置100は、基本画像処理装置180と、拡張画像処理装置181と、第3画像メモリ182を備える。拡張画像処理装置181は、上記の画像処理装置102と同様の構成を備える。拡張画像処理装置181は、基本画像処理装置180が実行しない複数の所定の画像処理をそれぞれ行う処理部120を含み、そのいずれかを組み合わせたパイプライン処理を行う。   The image reading apparatus 100 includes a basic image processing apparatus 180, an extended image processing apparatus 181, and a third image memory 182. The extended image processing apparatus 181 has the same configuration as the image processing apparatus 102 described above. The extended image processing apparatus 181 includes a processing unit 120 that performs a plurality of predetermined image processes that are not executed by the basic image processing apparatus 180, and performs pipeline processing combining any of them.

例えば、画像読取装置100は、ある画像データに対しては、基本画像処理装置180のみで画像処理を施したデータを出力する。画像読取装置100は、他の画像データに対しては、基本画像処理装置180の画像処理を施した画像データを拡張画像処理装置181に入力し、拡張画像処理装置181で更に処理された画像データを第3画像メモリ182へ格納する。基本画像処理装置180は、拡張画像処理装置181経由で、第3画像メモリ182から画像データを読み出して画像読取装置100から出力する。   For example, the image reading apparatus 100 outputs data obtained by performing image processing only on the basic image processing apparatus 180 for certain image data. For other image data, the image reading apparatus 100 inputs the image data subjected to the image processing of the basic image processing apparatus 180 to the extended image processing apparatus 181, and the image data further processed by the extended image processing apparatus 181. Is stored in the third image memory 182. The basic image processing apparatus 180 reads out image data from the third image memory 182 via the extended image processing apparatus 181 and outputs it from the image reading apparatus 100.

<6.第6実施例>
図19は、画像処理装置102の第5例の機能ブロック図である。図2に示す構成要素と同様の構成要素には図2で使用した参照符号と同じ参照符号を付す。画像処理装置102は、クロック制御部173を備える。クロック制御部173は、第1CPU106による処理部120の使用及び不使用の設定に応じて、各処理部120へクロック供給を制御する。クロック制御部173は、使用されている処理部120にクロック信号を供給し、使用されていない処理部120へのクロック信号を供給しない。
<6. Sixth Example>
FIG. 19 is a functional block diagram of a fifth example of the image processing apparatus 102. Constituent elements similar to those shown in FIG. 2 are assigned the same reference numerals as those used in FIG. The image processing apparatus 102 includes a clock control unit 173. The clock control unit 173 controls the clock supply to each processing unit 120 according to whether the first CPU 106 is used or not used. The clock control unit 173 supplies a clock signal to the processing unit 120 that is being used, and does not supply a clock signal to the processing unit 120 that is not being used.

本実施例によれば、使用されていない処理部120の動作が止まるので消費電力を低減できる。なお、上記の第1実施例〜第5実施例にも同様にクロック制御部173を設けてもよい。   According to the present embodiment, since the operation of the processing unit 120 that is not used stops, the power consumption can be reduced. The clock control unit 173 may be similarly provided in the first to fifth embodiments.

<7.第7実施例>
図20は、画像処理装置102の第6例の機能ブロックの説明図である。画像処理装置102は、パイプライン300aと、メモリコントローラ400と、読出アクセスバス401と、書込アクセスバス402の制御用CPUバス403を備える。
<7. Seventh Example>
FIG. 20 is an explanatory diagram of a functional block of the sixth example of the image processing apparatus 102. The image processing apparatus 102 includes a pipeline 300 a, a memory controller 400, a read access bus 401, and a control CPU bus 403 for the write access bus 402.

パイプライン300aは、パイプライン処理により、画像処理装置102に入力された画像データに所定の画像処理を施す。メモリコントローラ400は、パイプライン300aから要求される第1画像メモリ103へのメモリアクセスを制御する。メモリコントローラ400は、第2実施例〜第5実施例におけるメモリコントローラ151と等しくてもよい。   The pipeline 300a performs predetermined image processing on the image data input to the image processing apparatus 102 by pipeline processing. The memory controller 400 controls memory access to the first image memory 103 requested from the pipeline 300a. The memory controller 400 may be equal to the memory controller 151 in the second to fifth embodiments.

読出アクセスバス401及び書込アクセスバス402は、それぞれ第1画像メモリ103からメモリコントローラ400への読出データの入力バス、及びメモリコントローラ400から第1画像メモリ103への書込データの出力バスである。   The read access bus 401 and the write access bus 402 are an input bus for read data from the first image memory 103 to the memory controller 400 and an output bus for write data from the memory controller 400 to the first image memory 103, respectively. .

制御用CPUバス403は、第1CPU106から出力される各種の制御信号が流れるバスである。第1CPU106は、パイプライン300aの設定情報は、制御用CPUバス403を経由して第1CPU106からパイプライン300aへ送信され、パイプライン300a内のレジスタに保持される。パイプライン300aにはクロック生成回路109からクロック信号が供給される。   The control CPU bus 403 is a bus through which various control signals output from the first CPU 106 flow. In the first CPU 106, the setting information of the pipeline 300a is transmitted from the first CPU 106 to the pipeline 300a via the control CPU bus 403 and is held in a register in the pipeline 300a. A clock signal is supplied from the clock generation circuit 109 to the pipeline 300a.

図21は、パイプライン300aの第1例の機能ブロック図である。パイプライン300aは、パイプライン処理部301を備える。パイプライン処理部301は、処理部310a〜310cと、読出部320と、書込部330と、クロック制御部340を備える。また、パイプライン300aは、読出バス302と、処理データバス303と、書込バス304を備える。   FIG. 21 is a functional block diagram of a first example of the pipeline 300a. The pipeline 300a includes a pipeline processing unit 301. The pipeline processing unit 301 includes processing units 310a to 310c, a reading unit 320, a writing unit 330, and a clock control unit 340. The pipeline 300 a includes a read bus 302, a processing data bus 303, and a write bus 304.

処理部310a〜310cは、それぞれ第1パイプラインステージ〜第3パイプラインステージにおいて画像データに所定の画像処理を施す。読出部320は、第1画像メモリ103から処理対象の画像データを読み出して、最前段の処理部310aに入力する。書込部330は、最終段の処理部310cで処理された画像データを第1画像メモリ103に書き込む。以下の説明において処理部310a〜310cを総称して処理部「310」と表記することがある。また第1パイプラインステージ〜第3パイプラインステージをそれぞれ「第1ステージ」〜「第3ステージ」と表記することがある。   The processing units 310a to 310c perform predetermined image processing on the image data in the first pipeline stage to the third pipeline stage, respectively. The reading unit 320 reads out image data to be processed from the first image memory 103 and inputs it to the processing unit 310a in the forefront stage. The writing unit 330 writes the image data processed by the final stage processing unit 310 c to the first image memory 103. In the following description, the processing units 310a to 310c may be collectively referred to as a processing unit “310”. The first pipeline stage to the third pipeline stage may be referred to as “first stage” to “third stage”, respectively.

読出バス302は、第1画像メモリ103から読み出される画像データをメモリコントローラ400から読出部320へ転送するためのバスである。書込バス304は、第1画像メモリ103へ書き込まれる画像データを書込部330からメモリコントローラ400へ転送するためのバスである。処理データバス303は、パイプライン処理部301内で処理対象の画像データを転送するバスである。   The read bus 302 is a bus for transferring image data read from the first image memory 103 from the memory controller 400 to the reading unit 320. The write bus 304 is a bus for transferring image data to be written to the first image memory 103 from the writing unit 330 to the memory controller 400. A processing data bus 303 is a bus for transferring image data to be processed in the pipeline processing unit 301.

読出バス302、処理データバス303及び書込バス304は、第2実施例〜第5実施例による共通バス130によって形成されるバスであってよい。処理部310は、第2実施例〜第5実施例における処理部120であってもよい。   The read bus 302, the processing data bus 303, and the write bus 304 may be buses formed by the common bus 130 according to the second to fifth embodiments. The processing unit 310 may be the processing unit 120 in the second to fifth embodiments.

第2実施例〜第5実施例における最終段の処理部120が、書込部330として動作してもよい。第2実施例〜第5実施例における読出部140が、読出部320として動作してもよい。以下の実施例でも同様である。   The processing unit 120 at the final stage in the second to fifth embodiments may operate as the writing unit 330. The reading unit 140 in the second to fifth embodiments may operate as the reading unit 320. The same applies to the following embodiments.

クロック制御部340は、処理部310毎に、処理部310に有効な画像データが入力されるか否かを判断する。クロック制御部340は、有効な画像データが入力される処理部310にクロックを供給する。クロック制御部340は、有効な画像データが入力されていない処理部310にクロックを供給しない。   The clock control unit 340 determines whether valid image data is input to the processing unit 310 for each processing unit 310. The clock control unit 340 supplies a clock to the processing unit 310 to which valid image data is input. The clock control unit 340 does not supply a clock to the processing unit 310 to which valid image data is not input.

例えば、ある時点で処理部310のいずれかに有効な画像データが入力され、同時に他の処理部310に有効な画像データが入力されない場合、クロック制御部340は、前者の処理部310にクロックを供給し後者の処理部310へのクロック供給を停止する。   For example, when valid image data is input to one of the processing units 310 at a certain time and no valid image data is input to another processing unit 310 at the same time, the clock control unit 340 sends a clock to the former processing unit 310. The clock supply to the latter processing unit 310 is stopped.

本実施例によれば、有効な画像データが入力されていない処理部310の動作を止めることができるので、消費電力を低減できる。なお、以下の実施例及び添付図面において有効な画像データを「有効データ」と表記することがある。   According to the present embodiment, the operation of the processing unit 310 to which valid image data is not input can be stopped, so that power consumption can be reduced. Note that valid image data may be referred to as “valid data” in the following embodiments and accompanying drawings.

<8.第8実施例>
図22は、パイプライン300aの第2例の機能ブロック図である。図21に示す構成要素と同様の構成要素には図21で使用した参照符号と同じ参照符号を付す。パイプライン300aは、読出制御部321及び書込制御部331を備える。読出制御部321は、第2実施例〜第5実施例における読出部140であってもよい。第2実施例〜第5実施例における処理部120が書込制御部331として動作してもよい。以下の実施例でも同様である。
<8. Eighth Example>
FIG. 22 is a functional block diagram of a second example of the pipeline 300a. Components similar to those shown in FIG. 21 are denoted by the same reference symbols as those used in FIG. The pipeline 300a includes a read control unit 321 and a write control unit 331. The read control unit 321 may be the read unit 140 in the second to fifth embodiments. The processing unit 120 in the second to fifth embodiments may operate as the write control unit 331. The same applies to the following embodiments.

図23は、読出制御部321の第1例の機能ブロック図である。読出制御部321は、上述の読出部320と、出力部322と、レジスタ323を備える。レジスタ323は、第1CPU106から受信した読出制御部321の設定情報を格納する。設定情報は、例えば読出制御部321の初期設定において与えられ、例えば、読出部320が第1画像メモリ103から画像データを読み出すアドレス範囲の先頭アドレス及び長さと、処理対象のデータのサイズを含んでいてよい。   FIG. 23 is a functional block diagram of a first example of the read control unit 321. The read control unit 321 includes the above-described read unit 320, output unit 322, and register 323. The register 323 stores setting information of the read control unit 321 received from the first CPU 106. The setting information is given, for example, in the initial setting of the reading control unit 321, and includes, for example, the start address and length of the address range from which the reading unit 320 reads image data from the first image memory 103, and the size of the data to be processed. May be.

読出部320は、アドレス範囲の先頭アドレス及び長さと、すでに読出済みのデータ量に基づいて読出アドレスを決定し、第1画像メモリ103からデータを読み出す。出力部322は、読み出されたデータを第1ステージの処理部310aへ出力する。   The reading unit 320 determines a read address based on the start address and length of the address range and the amount of data that has already been read, and reads data from the first image memory 103. The output unit 322 outputs the read data to the first stage processing unit 310a.

また、出力部322は有効フラグを第1ステージに出力する。読出部320が第1画像メモリ103から有効データを読み出す場合に、出力部322は、有効データの出力期間と有効フラグの値を「オン」にする期間を同期させる。読出部320が第1画像メモリ103から有効データを読み出さない場合に、出力部322は、有効データを出力しない期間と有効フラグの値を「オフ」にする期間を同期させる。   Further, the output unit 322 outputs a valid flag to the first stage. When the reading unit 320 reads valid data from the first image memory 103, the output unit 322 synchronizes the valid data output period and the period during which the value of the valid flag is set to “ON”. When the reading unit 320 does not read valid data from the first image memory 103, the output unit 322 synchronizes the period during which valid data is not output and the period during which the value of the valid flag is “off”.

図22を参照する。書込制御部331は、上述の書込部330と、レジスタ332を備える。レジスタ332は、第1CPU106から受信した書込制御部331の設定情報を格納する。設定情報は、例えば書込制御部331の初期設定において与えられ、例えば、書込部330が第1画像メモリ103へ画像データを書き出すアドレス範囲の先頭アドレス及び長さと、処理対象のデータのサイズを含んでいてよい。   Refer to FIG. The write control unit 331 includes the above-described writing unit 330 and a register 332. The register 332 stores the setting information of the writing control unit 331 received from the first CPU 106. The setting information is given, for example, in the initial setting of the writing control unit 331. For example, the start address and length of the address range in which the writing unit 330 writes image data to the first image memory 103, and the size of the data to be processed are set. May contain.

パイプライン300aは、転送路341a〜341cと、保持部342a〜342cと、ゲート部343a〜343cを備える。以下の説明において転送路341a〜341cを総称して「転送路341」と表記することがある。保持部342a〜342cを総称して「保持部342」と表記することがある。ゲート部343a〜343cを総称して「ゲート部343」と表記することがある。転送路341、保持部342、ゲート部343及び読出制御部321の出力部322は、クロック制御部340を形成する。   The pipeline 300a includes transfer paths 341a to 341c, holding units 342a to 342c, and gate units 343a to 343c. In the following description, the transfer paths 341a to 341c may be collectively referred to as “transfer path 341”. The holding units 342a to 342c may be collectively referred to as “holding unit 342”. The gate portions 343a to 343c may be collectively referred to as “gate portion 343”. The transfer path 341, the holding unit 342, the gate unit 343, and the output unit 322 of the read control unit 321 form a clock control unit 340.

第1ステージに入力された有効フラグは、第1ステージに設けられた保持部342aに保持される。保持部342aは、受信した有効フラグを処理部310aの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて第2ステージに出力する。転送路341aは、保持部342aから出力された有効フラグを、第2ステージに設けられた保持部342bへ転送する。   The valid flag input to the first stage is held in the holding unit 342a provided in the first stage. The holding unit 342a holds the received valid flag for the processing period of the image data of the processing unit 310a, delays the received valid flag by this processing period, and outputs it to the second stage. The transfer path 341a transfers the valid flag output from the holding unit 342a to the holding unit 342b provided in the second stage.

保持部342bは、受信した有効フラグを処理部310bの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて第3ステージに出力する。転送路341bは、保持部342bから出力された有効フラグを、第3ステージに設けられた保持部342cへ転送する。   The holding unit 342b holds the received valid flag for the processing period of the image data of the processing unit 310b, delays the received valid flag by this processing period, and outputs it to the third stage. The transfer path 341b transfers the valid flag output from the holding unit 342b to the holding unit 342c provided in the third stage.

保持部342cは、受信した有効フラグを処理部310cの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて書込制御部331へ出力する。転送路341cは、保持部342cから出力された有効フラグを、書込制御部331へ転送する。   The holding unit 342c holds the received valid flag for the processing period of the image data of the processing unit 310c, delays the received valid flag by this processing period, and outputs it to the writing control unit 331. The transfer path 341c transfers the valid flag output from the holding unit 342c to the write control unit 331.

上記構成により、あるパイプラインステージに有効データが入力される期間と、入力される有効フラグの値が「オン」である期間が同期する。ゲート部343aは、第1ステージに入力される有効フラグとクロック信号を受信する。有効フラグが「オン」の期間に処理部310aへクロック信号を供給し、有効フラグが「オフ」の期間に処理部310aへのクロック信号の供給を停止する。ゲート部343は、例えば、有効フラグとクロック信号との論理積を処理部310へ出力する論理回路であってよい。   With the above configuration, the period during which valid data is input to a certain pipeline stage is synchronized with the period during which the value of the input valid flag is “ON”. The gate unit 343a receives a valid flag and a clock signal input to the first stage. The clock signal is supplied to the processing unit 310a while the valid flag is “on”, and the supply of the clock signal to the processing unit 310a is stopped while the valid flag is “off”. The gate unit 343 may be a logic circuit that outputs a logical product of the valid flag and the clock signal to the processing unit 310, for example.

ゲート部343bは、第2ステージに入力される有効フラグとクロック信号を受信する。ゲート部343bは、有効フラグが「オン」の期間に処理部310bへクロック信号を供給し、第2ステージに入力される有効フラグが「オフ」の期間に処理部310bへのクロック信号の供給を停止する。ゲート部343cは、第3ステージに入力される有効フラグとクロック信号を受信する。ゲート部343cは、有効フラグが「オン」の期間に処理部310cへクロック信号を供給し、第3ステージに入力される有効フラグが「オフ」の期間に処理部310cへのクロック信号の供給を停止する。クロック信号の供給が停止すると、処理部310は現在処理中の有効データを保持した状態で動作を停止する。   The gate unit 343b receives the valid flag and the clock signal input to the second stage. The gate unit 343b supplies a clock signal to the processing unit 310b when the valid flag is “ON”, and supplies a clock signal to the processing unit 310b when the valid flag input to the second stage is “OFF”. Stop. The gate unit 343c receives a valid flag and a clock signal input to the third stage. The gate unit 343c supplies a clock signal to the processing unit 310c while the valid flag is “ON”, and supplies a clock signal to the processing unit 310c when the valid flag input to the third stage is “OFF”. Stop. When the supply of the clock signal is stopped, the processing unit 310 stops the operation while holding the valid data currently being processed.

図24は、画像読取装置100の動作の一例の説明図である。ステップS10において、第1CPU106は、読出制御部321及び書込制御部331のレジスタ323及び332の値を初期設定する。   FIG. 24 is an explanatory diagram illustrating an example of the operation of the image reading apparatus 100. In step S10, the first CPU 106 initializes the values of the registers 323 and 332 of the read control unit 321 and the write control unit 331.

ステップS11において、第1CPU106は、読出制御部321の動作を許可するための読出制御部321の設定を行う。読出制御部321のレジスタ323は、読出制御部321の動作を許可されているか、読出制御部321が動作を停止するように設定されているかを記憶していてよい。   In step S <b> 11, the first CPU 106 sets the read control unit 321 to permit the operation of the read control unit 321. The register 323 of the read control unit 321 may store whether the operation of the read control unit 321 is permitted or whether the read control unit 321 is set to stop the operation.

ステップS12において、パイプライン300aは画像データの処理を行う。ステップS12の動作は図25を参照して後述する。ステップS13において、第1CPU106は、書込制御部331による完了割込が発生したか否かを判断する。完了割込が発生した場合(ステップS13:Y)に動作はステップS14に進む。完了割込が発生しない場合(ステップS13:N)に動作はステップS12に戻る。   In step S12, the pipeline 300a processes image data. The operation in step S12 will be described later with reference to FIG. In step S <b> 13, the first CPU 106 determines whether or not a completion interrupt has occurred by the write control unit 331. If a completion interrupt has occurred (step S13: Y), the operation proceeds to step S14. If a completion interrupt does not occur (step S13: N), the operation returns to step S12.

ステップS14において、第1CPU106は、読出制御部321の動作を停止するための読出制御部321の設定を行う。読出制御部321の動作停止によりパイプライン300aへの有効データの入力が停止する。この結果、ステップS15において、パイプライン300aの処理部310及び書込制御部331が動作を停止する。   In step S <b> 14, the first CPU 106 sets the read control unit 321 to stop the operation of the read control unit 321. When the operation of the read control unit 321 is stopped, the input of valid data to the pipeline 300a is stopped. As a result, in step S15, the processing unit 310 and the write control unit 331 of the pipeline 300a stop operating.

図25は、図24の画像データ処理の動作の一例の説明図である。ステップS20において、読出制御部321は第1画像メモリ103から有効データを読み出して、第1ステージに有効データを出力する。ステップS21において、処理部310a〜310cの順に各処理部310が有効データを処理する。   FIG. 25 is an explanatory diagram of an example of the operation of the image data processing of FIG. In step S20, the read control unit 321 reads valid data from the first image memory 103 and outputs the valid data to the first stage. In step S21, each processing unit 310 processes valid data in the order of the processing units 310a to 310c.

ステップS22において、書込制御部331は、処理部310a〜310cによって処理された後の有効データを第1画像メモリ103へ書き込む。ステップS23において、書込制御部331は、レジスタ332に記憶された処理対象のデータのサイズに基づいて、全ての有効データの処理が完了したか否かを判断する。全ての有効データの処理が完了していない場合(ステップS23:N)に動作はステップS20に戻る。   In step S <b> 22, the writing control unit 331 writes valid data after being processed by the processing units 310 a to 310 c to the first image memory 103. In step S <b> 23, the write control unit 331 determines whether or not processing of all valid data has been completed based on the size of the processing target data stored in the register 332. If processing of all valid data has not been completed (step S23: N), the operation returns to step S20.

全ての有効データの処理が完了した場合(ステップS23:Y)に動作はステップS24へ進む。ステップS24において、書込制御部331は完了割込を発生させ、第1CPU106へ通知する。   If processing of all valid data has been completed (step S23: Y), the operation proceeds to step S24. In step S <b> 24, the write control unit 331 generates a completion interrupt and notifies the first CPU 106.

図26は、読出制御部321の動作の第1例の説明図である。ステップS31において、読出制御部321は、第1画像メモリ103から有効データを読み出せるか否かを判断する。読出制御部321が有効データが読み出せる場合(ステップS31:Y)に動作はステップS32に進む。読出制御部321が有効データが読み出せない場合(ステップS31:N)に動作はステップS35に進む。   FIG. 26 is an explanatory diagram of a first example of the operation of the read control unit 321. In step S <b> 31, the read control unit 321 determines whether valid data can be read from the first image memory 103. When the reading control unit 321 can read valid data (step S31: Y), the operation proceeds to step S32. When the reading control unit 321 cannot read the valid data (step S31: N), the operation proceeds to step S35.

ステップS32において読出部320は、第1画像メモリ103から有効データを読み出す。ステップS33において出力部322は、有効データを第1ステージに出力する。ステップS34において出力部322は、有効フラグの値を「オン」にする。その後に動作はステップS36へ進む。   In step S <b> 32, the reading unit 320 reads valid data from the first image memory 103. In step S33, the output unit 322 outputs valid data to the first stage. In step S34, the output unit 322 sets the value of the valid flag to “ON”. Thereafter, the operation proceeds to step S36.

ステップS35において出力部322は、有効フラグの値を「オフ」にする。その後に動作はステップS36へ進む。ステップS36において読出制御部321は、第1CPU106が、読出制御部321の動作を停止する設定を行ったか否かを判断する。動作を停止する設定が行われない場合(ステップS36:N)に動作はステップS31へ戻る。   In step S35, the output unit 322 sets the value of the valid flag to “off”. Thereafter, the operation proceeds to step S36. In step S <b> 36, the read control unit 321 determines whether or not the first CPU 106 has set to stop the operation of the read control unit 321. If the setting for stopping the operation is not made (step S36: N), the operation returns to step S31.

動作を停止する設定が行われた場合(ステップS36:Y)に動作はステップS37へ進む。ステップS37において、出力部322は、有効フラグの値を「オフ」にする。   When the setting for stopping the operation is made (step S36: Y), the operation proceeds to step S37. In step S37, the output unit 322 sets the value of the valid flag to “off”.

図27及び図28は、有効データが読み出されている期間のクロック供給を説明するためのタイミングチャートである。図示のタイミングチャートは、処理部310a〜310cの処理期間が1クロックサイクルである場合の例示である。但し、処理部310a〜310cの処理期間は1クロックより長くてもよく、また処理部310a〜310c間で処理期間が異なっていてもよい。   27 and 28 are timing charts for explaining clock supply during a period in which valid data is read. The timing chart shown is an example when the processing period of the processing units 310a to 310c is one clock cycle. However, the processing period of the processing units 310a to 310c may be longer than one clock, and the processing period may be different among the processing units 310a to 310c.

読出制御部321の出力、処理部310の入力及び出力、並びに書込制御部331のデータ書込のチャートのそれぞれの矩形の中の数字は、各クロックサイクルで読み出された有効データの順序を示す。図29及び30のタイミングチャート、図44及び45のタイミングチャートでも同様である。   The numbers in the respective rectangles in the charts of the output of the read control unit 321, the input and output of the processing unit 310, and the data write of the write control unit 331 indicate the order of valid data read in each clock cycle. Show. The same applies to the timing charts of FIGS. 29 and 30 and the timing charts of FIGS. 44 and 45.

読出制御部321が、期間T1において有効データを出力するとこれに同期して有効フラグの値が「オン」になる。第1ステージに入力される有効データの値は期間T1の間に「オン」になるので、処理部310aに期間T1の間にクロック信号が供給される。処理部310aは、読出制御部321から有効データが出力される期間T1にこれらのデータを処理する。   When the read control unit 321 outputs valid data in the period T1, the value of the valid flag is turned “on” in synchronization therewith. Since the value of the valid data input to the first stage is “ON” during the period T1, a clock signal is supplied to the processing unit 310a during the period T1. The processing unit 310a processes these data during a period T1 during which valid data is output from the read control unit 321.

処理部310aは、期間T1より1クロックサイクル遅延した期間T2で有効データを処理部310bへ出力する。第2ステージに入力される有効フラグも、第1ステージに入力される有効フラグよりも1クロックサイクル遅延している。第2ステージに入力される有効フラグの値は、期間T1よりも1クロックサイクル遅い期間T2において「オン」になり、処理部310bに期間T2の間にクロック信号が供給される。処理部310bは、処理部310aから有効データが出力される期間T2にこれらのデータを処理する。   The processing unit 310a outputs valid data to the processing unit 310b in a period T2 delayed by one clock cycle from the period T1. The valid flag input to the second stage is also delayed by one clock cycle from the valid flag input to the first stage. The value of the valid flag input to the second stage is “ON” in the period T2 that is one clock cycle later than the period T1, and the clock signal is supplied to the processing unit 310b during the period T2. The processing unit 310b processes these data during a period T2 during which valid data is output from the processing unit 310a.

同様に、処理部310cは、期間T2よりも1クロックサイクル遅い期間T3において、処理部310bから出力される有効データを処理する。   Similarly, the processing unit 310c processes valid data output from the processing unit 310b in a period T3 that is one clock cycle later than the period T2.

処理部310cは、期間T3より1クロックサイクル遅延した期間T4で有効データを書込制御部331へ出力する。書込制御部331へ入力される有効フラグの値は期間T4で「オン」になる。書込制御部331は、有効フラグの値が「オン」になる期間T4で受信した有効データを第1画像メモリ103へ書き込む。   The processing unit 310c outputs valid data to the write control unit 331 in a period T4 delayed by one clock cycle from the period T3. The value of the valid flag input to the write control unit 331 is “ON” in the period T4. The writing control unit 331 writes the valid data received in the period T 4 when the value of the valid flag is “ON” to the first image memory 103.

図29及び図30は、有効データが読み出されていない期間のクロック供給を説明するためのタイミングチャートである。読出制御部321が期間T5及びT7において有効データを出力すると、これに同期して期間T5及びT7において有効フラグの値が「オン」になる。読出制御部321が、期間T6において有効データを出力しないと、これに同期して期間T6において有効フラグの値が「オフ」になる。   29 and 30 are timing charts for explaining clock supply during a period in which valid data is not read. When the read control unit 321 outputs valid data in the periods T5 and T7, the value of the valid flag is turned “ON” in the periods T5 and T7 in synchronization with this. If the read control unit 321 does not output valid data in the period T6, the value of the valid flag is “off” in the period T6 in synchronization with this.

第1ステージに入力される有効フラグの値は期間T5の間に「オン」になるので、処理部310aに期間T5にクロック信号が供給される。処理部310aは、読出制御部321から有効データが出力される期間T5にこれらのデータを処理する。期間T5にて処理された有効データは、期間T5より1クロックサイクル遅延した期間T8で処理部310bに出力される。   Since the value of the valid flag input to the first stage is “ON” during the period T5, the clock signal is supplied to the processing unit 310a during the period T5. The processing unit 310a processes these data during a period T5 during which valid data is output from the read control unit 321. The valid data processed in the period T5 is output to the processing unit 310b in the period T8 delayed by one clock cycle from the period T5.

有効フラグの値が「オフ」である期間T6の間には処理部310aにクロック信号が供給されない。読出制御部321から無効データが出力される期間T6の間、処理部310aは動作を停止し、期間T5に入力した有効データを保持する。また、期間T6より1クロックサイクル遅延した期間T9の間の処理部310aの出力は、期間T5の最後に入力した有効データのまま保持される。   During the period T6 when the value of the valid flag is “off”, the clock signal is not supplied to the processing unit 310a. During a period T6 in which invalid data is output from the read control unit 321, the processing unit 310a stops operating and holds valid data input in the period T5. Further, the output of the processing unit 310a during the period T9 delayed by one clock cycle from the period T6 is held as valid data input at the end of the period T5.

その後、期間T7の間に有効フラグの値が「オン」になると処理部310aにクロック信号が供給される。処理部310aは、期間T6の間に保持した有効データを処理した後、読出制御部321から受信する有効データを順次処理する。期間T7にて処理された有効データは、期間T7より1クロックサイクル遅延した期間T10で処理部310bに出力される。   Thereafter, when the value of the valid flag is “ON” during the period T7, a clock signal is supplied to the processing unit 310a. The processing unit 310a sequentially processes the valid data received from the read control unit 321 after processing the valid data held during the period T6. The valid data processed in the period T7 is output to the processing unit 310b in the period T10 delayed by one clock cycle from the period T7.

第2ステージに入力される有効フラグは、期間T8及びT10で「オン」になり、期間T9で「オフ」になる。処理部310bには、期間T8及びT10の期間にクロック信号が供給され、期間T9にクロック信号が供給されない。したがって、処理部310bは、処理部310aの出力の変化が停止している期間T9で動作を停止し、処理部310aから有効データが出力される期間T8及びT10の期間で動作して有効データを処理する。   The valid flag input to the second stage is “ON” in the periods T8 and T10, and is “OFF” in the period T9. A clock signal is supplied to the processing unit 310b during the periods T8 and T10, and no clock signal is supplied during the period T9. Accordingly, the processing unit 310b stops operating in the period T9 in which the change in the output of the processing unit 310a is stopped, and operates in the periods T8 and T10 in which valid data is output from the processing unit 310a. To process.

同様に、処理部310cは、期間T8及びT10より1クロックサイクル遅延した期間T11及びT13に有効データを処理し、期間T9より1クロックサイクル遅延した期間T12に動作を停止する。処理部310cは、期間T11及びT13より1クロックサイクル遅延した期間T14及びT16に有効データを出力する。書込制御部331は、有効フラグの値が「オン」になる期間T14及びT16で受信した有効データを第1画像メモリ103へ書き込む。   Similarly, the processing unit 310c processes valid data in periods T11 and T13 delayed by one clock cycle from the periods T8 and T10, and stops operation in a period T12 delayed by one clock cycle from the period T9. The processing unit 310c outputs valid data in the periods T14 and T16 that are delayed by one clock cycle from the periods T11 and T13. The writing control unit 331 writes the valid data received in the periods T14 and T16 when the value of the valid flag is “ON” to the first image memory 103.

本実施例によれば、読出制御部321が有効データを読み出した期間に応じて、各処理部310に有効データが入力される期間を特定することができる。このため、有効な画像データが入力される処理部310にクロックを供給する一方で、クロック制御部340は、有効な画像データが入力されていない処理部310のクロック供給を停止することができる。   According to this embodiment, it is possible to specify a period during which valid data is input to each processing unit 310 according to a period during which the read control unit 321 reads valid data. Therefore, the clock control unit 340 can stop the clock supply of the processing unit 310 to which valid image data is not input while supplying the clock to the processing unit 310 to which valid image data is input.

なお、読出制御部321及び書込制御部331は、それぞれ第2実施例〜第5実施例における読出部140及び最終段の処理部120と等しくてもよい。以下の実施例でも同様である。   Note that the read control unit 321 and the write control unit 331 may be equal to the read unit 140 and the final stage processing unit 120 in the second to fifth embodiments, respectively. The same applies to the following embodiments.

<9.第9実施例>
図31は、画像処理装置102の第7例の機能ブロックの説明図である。画像処理装置102は、複数のパイプライン300a〜300cを備える。図20に示す構成要素と同様の構成要素には、図20で使用した参照符号と同じ参照符号を付す。パイプライン300b及び300cの構成は、パイプライン300aの構成と同様である。以下の説明で、パイプライン300a〜300cを総称して「パイプライン300」と表記することがある。
<9. Ninth embodiment>
FIG. 31 is an explanatory diagram of a functional block of the seventh example of the image processing apparatus 102. The image processing apparatus 102 includes a plurality of pipelines 300a to 300c. Components similar to those shown in FIG. 20 are denoted by the same reference numerals as those used in FIG. The configurations of the pipelines 300b and 300c are the same as the configuration of the pipeline 300a. In the following description, the pipelines 300a to 300c may be collectively referred to as “pipeline 300”.

パイプライン300は、パイプライン300a〜300cの順で、画像処理装置102に入力された画像データに所定の画像処理を施す。パイプライン300a〜300c間の画像データの転送は、第1画像メモリ103を経由して行われる。すなわち、パイプライン300bは、パイプライン300aが処理して第1画像メモリ103に書き込まれた画像データを読み出して処理する。パイプライン300cは、パイプライン300bが処理して第1画像メモリ103に書き込まれた画像データを読み出して処理する。   The pipeline 300 performs predetermined image processing on the image data input to the image processing apparatus 102 in the order of the pipelines 300a to 300c. Transfer of image data between the pipelines 300 a to 300 c is performed via the first image memory 103. That is, the pipeline 300b reads and processes the image data processed by the pipeline 300a and written in the first image memory 103. The pipeline 300c reads and processes the image data processed by the pipeline 300b and written in the first image memory 103.

このため、第1CPU106は、パイプライン300bの読出制御部321に対して、画像データを読み出すアドレス範囲として、パイプライン300aの書込制御部331が画像データを書き込むアドレス範囲を指定する。第1CPU106は、パイプライン300cの読出制御部321に対して、画像データを読み出すアドレス範囲として、パイプライン300bの書込制御部331が画像データを書き込むアドレス範囲を指定する。   For this reason, the first CPU 106 specifies an address range in which the write control unit 331 of the pipeline 300a writes image data as an address range for reading the image data, to the read control unit 321 of the pipeline 300b. The first CPU 106 designates an address range in which the write control unit 331 in the pipeline 300b writes image data as an address range from which image data is read out to the read control unit 321 in the pipeline 300c.

図32の(A)及び図32の(B)は、読出制御部321の第2例の機能ブロック図及び書込制御部331の第2例の機能ブロック図である。図22及び図23に示す構成要素と同様の構成要素には、図22及び図23で使用した参照符号と同じ参照符号を付す。   32A and 32B are a functional block diagram of a second example of the read control unit 321 and a functional block diagram of a second example of the write control unit 331, respectively. Components similar to those shown in FIGS. 22 and 23 are denoted by the same reference numerals as those used in FIGS. 22 and 23.

以下、パイプライン300bの読出制御部321及びパイプライン300aの書込制御部331の機能について説明するが、他のパイプライン300の読出制御部321及び書込制御部331の機能も同様である。   Hereinafter, functions of the read control unit 321 of the pipeline 300b and the write control unit 331 of the pipeline 300a will be described, but the functions of the read control unit 321 and the write control unit 331 of the other pipelines 300 are also the same.

第1画像メモリ103を経由して前段のパイプライン300aと後段のパイプライン300bの間で画像データを転送する場合、読出制御部321は書込が行われたアドレスからデータを読み出す。このため、読出制御部321は読出アドレスが書込アドレスを追い越さないようにデータの読み出しを制御する構成を有する。   When transferring image data between the preceding pipeline 300a and the succeeding pipeline 300b via the first image memory 103, the read control unit 321 reads the data from the address where writing has been performed. For this reason, the read control unit 321 has a configuration for controlling the reading of data so that the read address does not overtake the write address.

読出制御部321は、選択部324と、読出停止部325を備える。また、書込制御部331は、書込量通知部333を備える。書込部330は、第1画像メモリ103に書き込んだ画像データのデータ量を書込量通知部333に通知する。書込量通知部333は、第1画像メモリ103に書き込んだ画像データのデータ量を、書込量として他のパイプライン300の読出制御部321へ通知する。   The read control unit 321 includes a selection unit 324 and a read stop unit 325. The write control unit 331 includes a write amount notification unit 333. The writing unit 330 notifies the writing amount notification unit 333 of the data amount of the image data written in the first image memory 103. The write amount notification unit 333 notifies the read control unit 321 of the other pipeline 300 of the data amount of the image data written in the first image memory 103 as the write amount.

各書込制御部331は、他のパイプライン300の読出制御部321と書込量通知回線305で接続されている。図33は、書込量通知回線305の接続例の説明図である。パイプライン300aの書込制御部331は、書込量通知回線305を経由してパイプライン300b及び300cの読出制御部321に書込量を通知する。パイプライン300bの書込制御部331は、書込量通知回線305を経由してパイプライン300a及び300cの読出制御部321に書込量を通知する。パイプライン300cの書込制御部331は、書込量通知回線305を経由してパイプライン300a及び300bの読出制御部321に書込量を通知する。   Each write control unit 331 is connected to a read control unit 321 of another pipeline 300 through a write amount notification line 305. FIG. 33 is an explanatory diagram of a connection example of the write amount notification line 305. The write control unit 331 of the pipeline 300a notifies the write amount to the read control unit 321 of the pipelines 300b and 300c via the write amount notification line 305. The write control unit 331 of the pipeline 300b notifies the write amount to the read control unit 321 of the pipelines 300a and 300c via the write amount notification line 305. The write control unit 331 of the pipeline 300c notifies the write amount to the read control unit 321 of the pipelines 300a and 300b via the write amount notification line 305.

図32の(A)を参照する。読出制御部321のレジスタ323には、前段のパイプライン300aの書込制御部331から書込量が通知される書込量通知回線305を識別するための情報が格納される。この情報は、例えば、前段のパイプライン300aの書込制御部331と接続する書込量通知回線305そのものの識別情報でもよく、書込量通知回線305を間接的に特定するための前段のパイプライン300a又はその書込制御部331の識別情報でもよい。   Reference is made to FIG. The register 323 of the read control unit 321 stores information for identifying the write amount notification line 305 to which the write amount is notified from the write control unit 331 of the preceding pipeline 300a. This information may be, for example, identification information of the write amount notification line 305 itself connected to the write control unit 331 of the previous pipeline 300a, or a preceding pipe for indirectly specifying the write amount notification line 305. The identification information of the line 300a or its write controller 331 may be used.

選択部324は、レジスタ323に格納される情報に基づき、パイプライン300aの書込制御部331から書込量が通知される書込量通知回線305を選択する。選択部324は、選択した書込量通知回線305で通知された書込量を読出停止部325に入力する。   Based on the information stored in the register 323, the selection unit 324 selects the write amount notification line 305 to which the write amount is notified from the write control unit 331 of the pipeline 300a. The selection unit 324 inputs the write amount notified through the selected write amount notification line 305 to the read stop unit 325.

読出部320は、第1画像メモリ103から読み出した画像データのデータ量を、読出停止部325へ通知する。読出停止部325は、第1画像メモリ103から読み出した画像データのデータ量である読出量と、書込量通知回線305で通知された書込量とを比較する。読出停止部325は、読出量が書込量以上になる場合には、読出部320による第1画像メモリ103からの有効データの読み出しを停止する。読出停止部325は、読出量が書込量未満の場合には、読出部320による第1画像メモリ103からの有効データの読み出しを許可する。   The reading unit 320 notifies the reading stop unit 325 of the amount of image data read from the first image memory 103. The read stop unit 325 compares the read amount, which is the data amount of the image data read from the first image memory 103, with the write amount notified through the write amount notification line 305. The read stop unit 325 stops reading of valid data from the first image memory 103 by the read unit 320 when the read amount is equal to or greater than the write amount. When the read amount is less than the write amount, the read stop unit 325 permits the read unit 320 to read valid data from the first image memory 103.

読出停止部325が有効データの読み出しを許可する場合、出力部322は、読出部320が読み出した有効データを第1ステージの処理部310aへ出力する。また、出力部322は、有効データの出力期間と有効フラグの値を「オン」にする期間を同期させる。読出停止部325が読出部320による有効データの読み出しを停止する場合、出力部322は、有効データを出力しない期間と有効フラグの値を「オフ」にする期間を同期させる。選択部324と、読出停止部325と、書込量通知部333は、クロック制御部340の構成要素の一部である。   When the reading stop unit 325 permits reading of valid data, the output unit 322 outputs the valid data read by the reading unit 320 to the first stage processing unit 310a. In addition, the output unit 322 synchronizes the output period of valid data and the period during which the value of the valid flag is set to “ON”. When the reading stop unit 325 stops reading the valid data by the reading unit 320, the output unit 322 synchronizes the period during which the valid data is not output and the period during which the value of the valid flag is “off”. The selection unit 324, the read stop unit 325, and the write amount notification unit 333 are some of the components of the clock control unit 340.

図34は、読出制御部321の動作の第2例の説明図である。ステップS41において、読出停止部325は、読出量が書込量未満であるか否かを判断する。読出量が書込量未満である場合(ステップS41:Y)に動作はステップS42へ進む。読出量が書込量未満でない場合(ステップS41:N)に動作はステップS45へ進む。ステップS42〜ステップS47の動作は、図26を参照して説明したステップS36〜S37の動作と同様である。   FIG. 34 is an explanatory diagram of a second example of the operation of the read control unit 321. In step S41, the read stop unit 325 determines whether or not the read amount is less than the write amount. If the read amount is less than the write amount (step S41: Y), the operation proceeds to step S42. If the read amount is not less than the write amount (step S41: N), the operation proceeds to step S45. The operations in steps S42 to S47 are the same as the operations in steps S36 to S37 described with reference to FIG.

本実施例によれば、有効データの書き込みがまだ行われていないアドレスからの無効データの読出が防止できる。また、前段の有効データの書き込み待ちにより読出制御部321が読み込みを停止した場合に、有効データが入力されない処理部310を停止させ、消費電力を低減することができる。   According to this embodiment, it is possible to prevent invalid data from being read from an address where valid data has not yet been written. Further, when the reading control unit 321 stops reading due to waiting for writing of valid data in the previous stage, the processing unit 310 to which valid data is not input can be stopped to reduce power consumption.

なお、各パイプライン300毎に、あるパイプライン300を動作させ、他のパイプライン300を停止できるように本実施例を変形してもよい。図35は、読出制御部321の第3例の機能ブロック図である。図32の(A)に示す構成要素と同様の構成要素には、図32の(A)で使用した参照符号と同じ参照符号を付す。   It should be noted that this embodiment may be modified so that a certain pipeline 300 can be operated and the other pipelines 300 can be stopped for each pipeline 300. FIG. 35 is a functional block diagram of a third example of the read control unit 321. Components similar to those shown in FIG. 32A are assigned the same reference numerals as those used in FIG.

第1CPU106が、パイプライン300を動作させる場合には、読出制御部321の動作を許可させる。第1CPU106が、パイプライン300を動作させない場合には、読出制御部321の動作を停止する。レジスタ323には、読出制御部321のレジスタ323は、読出制御部321の動作を許可されているか、読出制御部321が動作を停止するように設定されているかを指定する設定情報が格納される。出力部322は、この設定情報を参照する。   When the first CPU 106 operates the pipeline 300, the operation of the read control unit 321 is permitted. When the first CPU 106 does not operate the pipeline 300, the operation of the read control unit 321 is stopped. The register 323 stores setting information that specifies whether the operation of the read control unit 321 is permitted or the read control unit 321 is set to stop the operation of the register 323 of the read control unit 321. . The output unit 322 refers to this setting information.

読出制御部321の動作が許可されている場合に、出力部322は有効データの出力期間に応じて有効フラグの値を「オン」及び「オフ」に設定する。読出制御部321の動作が停止するように設定されている場合に、出力部322は有効フラグの値を「オフ」に設定する。このため、パイプライン300の処理部310へのクロック供給が停止され、パイプライン300が停止する。   When the operation of the read control unit 321 is permitted, the output unit 322 sets the value of the valid flag to “on” and “off” in accordance with the valid data output period. When the operation of the read control unit 321 is set to stop, the output unit 322 sets the value of the valid flag to “off”. For this reason, the clock supply to the processing unit 310 of the pipeline 300 is stopped, and the pipeline 300 is stopped.

本変形例によれば、第1CPU106は、動作を停止させるパイプライン300を個別に設定し、動作を停止させるパイプライン300の処理部310へのクロック供給を停止して処理部310の動作を停止させる。このため消費電力を低減することができる。   According to this modification, the first CPU 106 individually sets the pipelines 300 that stop the operation, stops the clock supply to the processing unit 310 of the pipeline 300 that stops the operation, and stops the operation of the processing unit 310. Let For this reason, power consumption can be reduced.

<10.第10実施例>
図36は、図31を参照して画像処理装置102におけるパイプライン300aの第3例の機能ブロック図である。図22に示す構成要素と同様の構成要素には、図22で使用した参照符号と同じ参照符号を付す。パイプライン300b及び300cの構成は、パイプライン300aの構成と同様である。以下、パイプライン300a及び300bの機能について説明するが、他のパイプライン300cの機能も同様である。
<10. 10th Embodiment>
FIG. 36 is a functional block diagram of a third example of the pipeline 300a in the image processing apparatus 102 with reference to FIG. Constituent elements similar to those shown in FIG. 22 are denoted by the same reference numerals as those used in FIG. The configurations of the pipelines 300b and 300c are the same as the configuration of the pipeline 300a. The functions of the pipelines 300a and 300b will be described below, but the functions of the other pipelines 300c are the same.

第1画像メモリ103経由で前段のパイプライン300aと後段のパイプライン300bが画像データを転送する場合、パイプライン300aの書込制御部331は、パイプライン300bがデータを読み出す前に上書きしないようデータの書き込みを制御する。   When the upstream pipeline 300a and the downstream pipeline 300b transfer image data via the first image memory 103, the writing control unit 331 of the pipeline 300a does not overwrite the data before the pipeline 300b reads the data. Control writing.

このため、パイプライン300aの書込制御部331は、書込制御部331の書込量とパイプライン300bの読出制御部321の読出量に応じてパイプライン300の動作を制御する停止フラグを出力する。書込制御部331は、書込量が読出量以上の場合に停止フラグの値を「オン」にする。書込制御部331は、書込量が読出量未満の場合に停止フラグの値を「オフ」にする。停止フラグは、ゲート部343及び読出制御部321に入力される。   For this reason, the write control unit 331 of the pipeline 300a outputs a stop flag for controlling the operation of the pipeline 300 according to the write amount of the write control unit 331 and the read amount of the read control unit 321 of the pipeline 300b. To do. The writing control unit 331 sets the value of the stop flag to “ON” when the writing amount is equal to or larger than the reading amount. The writing control unit 331 sets the value of the stop flag to “OFF” when the writing amount is less than the reading amount. The stop flag is input to the gate unit 343 and the read control unit 321.

ゲート部343は、停止フラグが「オフ」の期間に処理部310へクロック信号を供給し、停止フラグが「オン」の期間に処理部310へのクロック信号の供給を停止する。ゲート部343は、例えば、停止フラグの否定論理とクロック信号との論理積を処理部310へ出力する論理回路であってよい。このため、停止フラグが「オン」である期間では処理部310は動作を停止し、処理中の有効データを保持する。   The gate unit 343 supplies a clock signal to the processing unit 310 while the stop flag is “off”, and stops supplying the clock signal to the processing unit 310 while the stop flag is “on”. The gate unit 343 may be, for example, a logic circuit that outputs a logical product of the negative logic of the stop flag and the clock signal to the processing unit 310. For this reason, during the period in which the stop flag is “ON”, the processing unit 310 stops operating and holds valid data being processed.

読出制御部321は、停止フラグが「オフ」の期間に第1画像メモリ103から有効データを読み出して第1ステージに出力する。読出制御部321は、停止フラグが「オン」の期間に第1画像メモリ103からの有効データの読み出しを停止する。   The read control unit 321 reads valid data from the first image memory 103 and outputs it to the first stage while the stop flag is “off”. The read control unit 321 stops reading valid data from the first image memory 103 during a period when the stop flag is “ON”.

図37の(A)は読出制御部321の第3例の機能ブロック図であり、図37の(B)は書込制御部331の第3例の機能ブロック図である。図32の(A)及び図32の(B)に示す構成要素と同様の構成要素には、図32の(A)及び図32の(B)で使用した参照符号と同じ参照符号を付す。   37A is a functional block diagram of a third example of the read control unit 321, and FIG. 37B is a functional block diagram of a third example of the write control unit 331. Components similar to those shown in FIGS. 32A and 32B are denoted by the same reference numerals as those used in FIGS. 32A and 32B.

読出制御部321は、読出量通知部326を備える。書込制御部331は、選択部334と停止部335を備える。読出部320は、第1画像メモリ103から読み出した画像データのデータ量を読出量通知部326に通知する。読出量通知部326は、第1画像メモリ103から読み出した画像データのデータ量を、読出量として他のパイプライン300の書込制御部331へ通知する。   The read control unit 321 includes a read amount notification unit 326. The write control unit 331 includes a selection unit 334 and a stop unit 335. The reading unit 320 notifies the read amount notification unit 326 of the data amount of the image data read from the first image memory 103. The read amount notification unit 326 notifies the data amount of the image data read from the first image memory 103 to the write control unit 331 of the other pipeline 300 as the read amount.

各読出制御部321は、他のパイプライン300の書込制御部331と読出量通知回線306で接続されている。図38は、読出量通知回線306の接続例の説明図である。パイプライン300aの読出制御部321は、読出量通知回線306を経由してパイプライン300b及び300cの書込制御部331に読出量を通知する。パイプライン300bの読出制御部321は、読出量通知回線306を経由してパイプライン300a及び300cの書込制御部331に読出量を通知する。パイプライン300cの読出制御部321は、読出量通知回線306を経由してパイプライン300a及び300bの書込制御部331に読出量を通知する。   Each read control unit 321 is connected to a write control unit 331 of another pipeline 300 through a read amount notification line 306. FIG. 38 is an explanatory diagram of a connection example of the read amount notification line 306. The read control unit 321 of the pipeline 300a notifies the read amount to the write control unit 331 of the pipelines 300b and 300c via the read amount notification line 306. The read control unit 321 of the pipeline 300b notifies the read amount to the write control unit 331 of the pipelines 300a and 300c via the read amount notification line 306. The read control unit 321 of the pipeline 300c notifies the read amount to the write control unit 331 of the pipelines 300a and 300b via the read amount notification line 306.

図37の(B)を参照する。書込制御部331のレジスタ332には、パイプライン300bの読出制御部321から読出量が通知される読出量通知回線306を識別するための情報が格納される。選択部334は、レジスタ332に格納される情報に基づき、パイプライン300bの読出制御部321から読出量が通知される読出量通知回線306を選択する。選択部334は、選択した読出量通知回線306で通知された読出量を停止部335に入力する。   Reference is made to FIG. The register 332 of the write control unit 331 stores information for identifying the read amount notification line 306 to which the read amount is notified from the read control unit 321 of the pipeline 300b. Based on the information stored in the register 332, the selection unit 334 selects the read amount notification line 306 from which the read amount is notified from the read control unit 321 of the pipeline 300b. The selection unit 334 inputs the read amount notified through the selected read amount notification line 306 to the stop unit 335.

書込部330は、第1画像メモリ103へ書き込んだ画像データのデータ量である書込量を停止部335へ通知する。停止部335は、読出量通知回線306で通知された読出量と書込量を比較する。書込量が読出量以上になる場合には、停止部335は書込部330による第1画像メモリ103への有効データの書き込みを停止する。また、停止フラグの値を「オン」に設定する。   The writing unit 330 notifies the stopping unit 335 of the writing amount that is the data amount of the image data written to the first image memory 103. The stopping unit 335 compares the read amount notified by the read amount notification line 306 with the write amount. When the writing amount is greater than or equal to the reading amount, the stopping unit 335 stops the writing of valid data to the first image memory 103 by the writing unit 330. Also, the value of the stop flag is set to “on”.

停止部335は、書込量が読出量未満の場合には、書込部330による第1画像メモリ103への有効データの書き込みを許可する。また、停止フラグの値を「オフ」に設定する。   When the writing amount is less than the reading amount, the stopping unit 335 allows the writing unit 330 to write valid data to the first image memory 103. Further, the value of the stop flag is set to “off”.

読出部320及び出力部322は、同じパイプライン300に設けられた書込制御部331が出力する停止フラグを入力する。停止フラグの値が「オン」である場合に、読出部320は、第1画像メモリ103からの有効データの読み出しを停止する。停止フラグの値が「オン」である場合に、出力部322は、出力データを現在出力中の有効データのまま維持する。読出量通知部326、選択部334及び停止部335は、クロック制御部340の構成要素の一部である。   The reading unit 320 and the output unit 322 receive a stop flag output from the write control unit 331 provided in the same pipeline 300. When the value of the stop flag is “ON”, the reading unit 320 stops reading valid data from the first image memory 103. When the value of the stop flag is “ON”, the output unit 322 maintains the output data as valid data currently being output. The read amount notification unit 326, the selection unit 334, and the stop unit 335 are some of the components of the clock control unit 340.

図39は、書込制御部331の動作の第1例の説明図である。ステップS50において、停止部335は停止フラグの値を「オン」にする。ステップS51において停止部335は、書込量が読出量未満であるか否かを判断する。書込量が読出量未満である場合(ステップS51:Y)に動作はステップS52へ進む。書込量が読出量未満でない場合(ステップS51:N)に動作はステップS50へ戻る。   FIG. 39 is an explanatory diagram of a first example of the operation of the write control unit 331. In step S50, the stop unit 335 sets the value of the stop flag to “on”. In step S51, the stopping unit 335 determines whether or not the writing amount is less than the reading amount. When the writing amount is less than the reading amount (step S51: Y), the operation proceeds to step S52. If the write amount is not less than the read amount (step S51: N), the operation returns to step S50.

ステップS52において停止部335は、現在の停止フラグの値が「オン」であるか否かを判断する。停止フラグの値が「オン」である場合(ステップS52:Y)に動作はステップS53へ進む。停止フラグの値が「オン」でない場合(ステップS52:N)に動作はステップS54へ進む。   In step S52, the stop unit 335 determines whether or not the value of the current stop flag is “ON”. When the value of the stop flag is “ON” (step S52: Y), the operation proceeds to step S53. If the value of the stop flag is not “ON” (step S52: N), the operation proceeds to step S54.

ステップS53において停止部335は、停止フラグの値を「オフ」に設定する。その後に動作はステップS54へ進む。ステップS54において、書込部330は有効データを第1画像メモリ103へ書き込む。   In step S53, the stop unit 335 sets the value of the stop flag to “off”. Thereafter, the operation proceeds to step S54. In step S <b> 54, the writing unit 330 writes valid data to the first image memory 103.

ステップS55において書込制御部331は、全ての有効データの処理が完了したか否かを判断する。全ての有効データの処理が完了していない場合(ステップS55:N)に動作はステップS51に戻る。全ての有効データの処理が完了した場合(ステップS55:Y)に、ステップS56において書込制御部331は、完了割込を発生させ、第1CPU106へ通知する。   In step S55, the write control unit 331 determines whether or not processing of all valid data has been completed. If processing of all valid data has not been completed (step S55: N), the operation returns to step S51. When processing of all valid data is completed (step S55: Y), the write control unit 331 generates a completion interrupt in step S56 and notifies the first CPU 106 of it.

本実施例によれば、後段のパイプラインによる有効データの読み出しがまだ行われていないアドレスへの、前段のパイプラインのデータ上書きを防止できる。前段のパイプラインによるデータ書き込みを停止する間、各パイプライン300の処理部310へのクロック供給を停止することにより、処理部310に有効データを保持させることが可能になる。また、データ書き込みの停止中に処理部310へのクロック供給を停止することにより消費電力が低減される。   According to the present embodiment, it is possible to prevent data from being overwritten in the previous pipeline to an address for which valid data has not yet been read out by the subsequent pipeline. By stopping the clock supply to the processing unit 310 of each pipeline 300 while the data writing by the previous pipeline is stopped, the processing unit 310 can hold the valid data. In addition, power consumption is reduced by stopping clock supply to the processing unit 310 while data writing is stopped.

<11.第11実施例>
第9実施例のパイプライン300の構成は、第10実施例のパイプライン300の構成と組み合わせることができる。図40は、第9実施例及び第10実施例の構成を組み合わせたパイプラインの機能ブロックの説明図である。図22及び図36に示す構成要素と同様の構成要素には、図22及び図36で使用した参照符号と同じ参照符号を付す。
<11. Eleventh embodiment>
The configuration of the pipeline 300 of the ninth embodiment can be combined with the configuration of the pipeline 300 of the tenth embodiment. FIG. 40 is an explanatory diagram of the functional blocks of the pipeline in which the configurations of the ninth and tenth embodiments are combined. Components similar to those shown in FIGS. 22 and 36 are denoted by the same reference symbols as those used in FIGS. 22 and 36.

第1パイプライン〜第3パイプラインにそれぞれ設けられたゲート部343a〜343cは、個々が設けられたパイプラインステージに入力される有効フラグと、停止フラグと、クロック信号を受信する。ゲート部343は、有効フラグが「オン」かつ停止フラグが「オフ」の期間に処理部310へクロック信号を供給する。ゲート部343は、有効フラグが「オフ」の期間又は停止フラグが「オン」に、処理部310へのクロック信号の供給を停止する。ゲート部343は、例えば、有効フラグと、停止フラグの否定論理と、クロック信号との論理積を処理部310へ出力する論理回路であってよい。   The gate units 343a to 343c provided in the first pipeline to the third pipeline respectively receive the valid flag, the stop flag, and the clock signal that are input to the pipeline stages provided individually. The gate unit 343 supplies a clock signal to the processing unit 310 during a period in which the valid flag is “on” and the stop flag is “off”. The gate unit 343 stops the supply of the clock signal to the processing unit 310 while the valid flag is “off” or the stop flag is “on”. The gate unit 343 may be, for example, a logic circuit that outputs a logical product of a valid flag, a negative logic of a stop flag, and a clock signal to the processing unit 310.

図41の(A)は、読出制御部321の第4例の機能ブロック図であり、図41の(B)は、書込制御部331の第4例の機能ブロック図である。図32の(B)、図35、図37の(A)、及び図37の(B)に示す構成要素と同様の構成要素には、図32の(B)、図35、図37の(A)及び図37の(B)で使用した参照符号と同じ参照符号を付す。   41A is a functional block diagram of a fourth example of the read control unit 321, and FIG. 41B is a functional block diagram of a fourth example of the write control unit 331. Components similar to those shown in FIGS. 32B, 35, 37A, and 37B include the components shown in FIGS. 32B, 35, and 37B. The same reference numerals as those used in A) and FIG.

図42は、読出制御部321の動作の第3例の説明図である。ステップS60において出力部322は、出力するデータ及び有効フラグの値を現在の出力値のまま維持する。ステップS61において読出部320及び出力部322は、停止フラグの値が「オン」であるか否かを判断する。停止フラグの値が「オン」である場合(ステップS61:Y)に読出部320は、第1画像メモリ103からの有効データを読み出さない。その後、動作はステップS60に戻る。停止フラグの値が「オン」でない場合(ステップS61:N)に動作はステップS62に進む。ステップS62〜S66の動作は、図34を参照して説明したステップS41〜ステップS45の動作と同様である。   FIG. 42 is an explanatory diagram of a third example of the operation of the read control unit 321. In step S60, the output unit 322 maintains the data to be output and the value of the valid flag as the current output value. In step S61, the reading unit 320 and the output unit 322 determine whether or not the value of the stop flag is “ON”. When the value of the stop flag is “ON” (step S61: Y), the reading unit 320 does not read valid data from the first image memory 103. Thereafter, the operation returns to step S60. When the value of the stop flag is not “ON” (step S61: N), the operation proceeds to step S62. The operations in steps S62 to S66 are the same as the operations in steps S41 to S45 described with reference to FIG.

ステップS67において読出制御部321は、第1CPU106が、読出制御部321の動作を停止する設定を行ったか否かを判断する。動作を停止する設定が行われない場合(ステップS67:N)に動作はステップS61へ戻る。動作を停止する設定が行われた場合(ステップS67:Y)に、ステップS68において出力部322は、有効フラグの値を「オフ」にする。   In step S <b> 67, the read control unit 321 determines whether or not the first CPU 106 has set to stop the operation of the read control unit 321. If the setting for stopping the operation is not made (step S67: N), the operation returns to step S61. When the setting for stopping the operation is made (step S67: Y), in step S68, the output unit 322 sets the value of the valid flag to “off”.

図43は、書込制御部331の動作の第2例の説明図である。ステップS70〜ステップS73の動作は図39を参照して説明したステップS50〜ステップS53の動作と同様である。ステップS74において書込部330は、有効フラグが「オン」であるか否かを判断する。有効フラグが「オン」である場合(ステップS74:Y)に、書込部330はステップS75において有効データを第1画像メモリ103に書き込む。その後に動作はステップS76に進む。   FIG. 43 is an explanatory diagram of a second example of the operation of the write control unit 331. The operations in steps S70 to S73 are the same as the operations in steps S50 to S53 described with reference to FIG. In step S74, the writing unit 330 determines whether or not the validity flag is “ON”. If the valid flag is “ON” (step S74: Y), the writing unit 330 writes valid data to the first image memory 103 in step S75. Thereafter, the operation proceeds to step S76.

有効フラグが「オン」でない場合(ステップS74:N)に動作はステップS76に進む。この場合に書込部330は第1画像メモリ103に画像データを書き込まない。ステップS76及びS77の動作は、図39を参照して説明したステップS55及びS56の動作と同様である。   If the valid flag is not “ON” (step S74: N), the operation proceeds to step S76. In this case, the writing unit 330 does not write image data in the first image memory 103. The operations in steps S76 and S77 are the same as the operations in steps S55 and S56 described with reference to FIG.

図44及び図45は、有効フラグによるパイプラインの停止を説明するためのタイミングチャートである。期間T17にて停止フラグの値が「オン」になると、読出制御部321は、有効データの読出動作を停止し、出力データを現在出力中の有効データのまま維持する。また、各処理部310へのクロック供給が停止することにより、各処理部310は、停止フラグの値が「オン」に変わった時点でそれぞれが処理していた有効データをそれぞれ保持したまま動作を停止する。   44 and 45 are timing charts for explaining the stoppage of the pipeline due to the valid flag. When the value of the stop flag becomes “ON” in the period T17, the read control unit 321 stops the valid data read operation, and maintains the output data as the valid data currently being output. In addition, when the clock supply to each processing unit 310 is stopped, each processing unit 310 operates while holding the valid data that has been processed by each when the value of the stop flag is changed to “ON”. Stop.

期間T17の後に停止フラグの値が「オフ」になると、読出制御部321は、有効データの読出を再開する。また、各処理部310はそれぞれ有効データの処理を再開し、再開後の最初のラッチタイミングで、期間T17で保持していた有効データを処理したデータを後段の処理部310へ出力し、次の有効データを前段の処理部310からラッチする。   When the value of the stop flag becomes “OFF” after the period T17, the read control unit 321 resumes reading of valid data. In addition, each processing unit 310 restarts the processing of valid data, and outputs the processed data of the valid data held in the period T17 to the subsequent processing unit 310 at the first latch timing after the restart. The valid data is latched from the processing unit 310 at the previous stage.

1 画像処理システム
100 画像読取装置
102 画像処理装置
110、110a〜110c、301 パイプライン処理部
120、120a〜120i、310、310a〜310c 処理部
130、130a〜130c 共通バス
131、131a〜131d、133、136 マスタ型セレクトコネクタ
132a〜132d、161、162 スレーブ型セレクトコネクタ
140 読出部
300、300a〜300c パイプライン
321 読出制御部
331 書込制御部
173、340 クロック制御部
341、341a〜341c 転送路
342、342a〜342c 保持部
343、343a〜343c ゲート部
DESCRIPTION OF SYMBOLS 1 Image processing system 100 Image reading apparatus 102 Image processing apparatus 110, 110a-110c, 301 Pipeline processing part 120, 120a-120i, 310, 310a-310c Processing part 130, 130a-130c Common bus 131, 131a-131d, 133 136 Master type select connector 132a to 132d, 161, 162 Slave type select connector 140 Read unit 300, 300a to 300c Pipeline 321 Read control unit 331 Write control unit 173, 340 Clock control unit 341, 341a to 341c Transfer path 342 342a to 342c holding part 343, 343a to 343c gate part

Claims (11)

メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有し、前記複数の第1処理部により処理されたデータを前記メモリに書き込む第1パイプライン処理部と、
第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有し、前記第1パイプライン処理部により処理されて前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御する制御部と、
有効データが入力される前記第1パイプライン処理部及び前記第2パイプライン処理部の前記各処理部にクロックを供給し、有効データが入力されない前記第1パイプライン処理部及び前記第2パイプライン処理部の前記各処理部へのクロック供給を停止するクロック制御部と、を備え、
前記クロック制御部は、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止する、
ことを特徴とするデータ処理装置。
Memory,
A plurality of first processing units that respectively process data input to each pipeline stage in the first plurality of different pipeline stages; and writing data processed by the plurality of first processing units to the memory A first pipeline processing unit;
The second plurality of different pipeline stages have a plurality of second processing units that respectively process data input to each pipeline stage, and are processed by the first pipeline processing unit and written to the memory A second pipeline processing unit for reading data;
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
A control unit that controls the processing order of each processing unit of the first pipeline processing unit and the second pipeline processing unit by changing a selection state by the selection unit;
A clock is supplied to each of the first pipeline processing unit and the second pipeline processing unit to which valid data is input, and the first pipeline processing unit and the second pipeline to which valid data is not input. A clock control unit that stops clock supply to each processing unit of the processing unit,
When the second pipeline processing unit reads data from the read address in the memory, the clock control unit receives data to be read by the second pipeline processing unit by the first pipeline processing unit. Is not written in the memory, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which data is processed, and the writing in the memory by the first pipeline processing unit is stopped. When writing data to a write address, if the data previously written to the write address by the first pipeline processor is not read by the second pipeline processor, the first pipeline Stop supplying clocks to the plurality of first processing units of the processing unit simultaneously;
A data processing apparatus.
前記クロック制御部は、第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第2パイプライン処理部の前記パイプラインステージへの有効データが入力されるか否かを判断することを特徴とする請求項1に記載のデータ処理装置。   The clock control unit includes the pipe of the second pipeline processing unit according to the amount of data written to the memory by the first pipeline processing unit and the amount of data read from the memory by the second pipeline processing unit. The data processing apparatus according to claim 1, wherein it is determined whether or not valid data is input to the line stage. 前記パイプラインステージへの有効データの入力を示すフラグを生成するフラグ生成部と、
前記パイプラインステージ毎に、各前記パイプラインステージがデータを処理する期間に前記フラグを各々保持する複数のフラグ保持部と、
前段の前記パイプラインステージの前記フラグを保持する前記フラグ保持部から、後段の前記パイプラインステージの前記フラグを保持する前記フラグ保持部へ、前記フラグを転送する転送路と、
を備え、
前記クロック制御部は、前記フラグに基づき前記パイプラインステージの前記処理部へのクロック供給を制御する、
ことを特徴とする請求項1に記載のデータ処理装置。
A flag generation unit that generates a flag indicating input of valid data to the pipeline stage;
For each pipeline stage, a plurality of flag holding units each holding the flag during a period in which each pipeline stage processes data,
A transfer path for transferring the flag from the flag holding unit holding the flag of the preceding pipeline stage to the flag holding unit holding the flag of the subsequent pipeline stage;
With
The clock control unit controls clock supply to the processing unit of the pipeline stage based on the flag.
The data processing apparatus according to claim 1.
前記フラグ生成部は、第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第2パイプライン処理部の前記パイプラインステージへの有効データの入力を示すフラグを生成することを特徴とする請求項3に記載のデータ処理装置。   The flag generation unit is configured to output the pipe of the second pipeline processing unit according to the amount of data written to the memory by the first pipeline processing unit and the amount of data read from the memory by the second pipeline processing unit. The data processing apparatus according to claim 3, wherein a flag indicating valid data input to the line stage is generated. 前記データ処理装置は、第2パイプライン処理部により処理されて前記メモリに書き込まれるデータを読み出す第3パイプライン処理部を備え、
前記クロック制御部は、第2パイプライン処理部による前記メモリへの書き込みデータ量と、第3パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第2パイプライン処理部の前記パイプラインステージの前記処理部へのクロック供給を制御する、
ことを特徴とする請求項2又は4に記載のデータ処理装置。
The data processing apparatus includes a third pipeline processing unit that reads data that is processed by a second pipeline processing unit and written to the memory,
The clock control unit includes the pipe of the second pipeline processing unit according to the amount of data written to the memory by the second pipeline processing unit and the amount of data read from the memory by the third pipeline processing unit. Controlling the clock supply to the processing unit of the line stage;
The data processing apparatus according to claim 2, wherein the data processing apparatus is a data processing apparatus.
メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有し、これら第1処理部により処理されたデータを前記メモリに書き込む第1パイプライン処理部と、
第1の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有し、第1パイプライン処理部により前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御する制御部と、
第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第1パイプライン処理部の前記処理部へのクロック供給を制御するクロック制御部と、を備え、
前記クロック制御部は、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止する、
を備えることを特徴とするデータ処理装置。
Memory,
The first plurality of different pipeline stages have a plurality of first processing units that respectively process the data input to each pipeline stage, and the data processed by the first processing units is written to the memory. A pipeline processing unit;
A plurality of second processing units for processing data input to each pipeline stage in a second plurality of different pipeline stages different from the first plurality of different pipeline stages; A second pipeline processing unit for reading data written in the memory by
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
A control unit that controls the processing order of each processing unit of the first pipeline processing unit and the second pipeline processing unit by changing a selection state by the selection unit;
Clock supply to the processing unit of the first pipeline processing unit is performed according to the amount of data written to the memory by the first pipeline processing unit and the amount of data read from the memory by the second pipeline processing unit. A clock control unit for controlling,
When the second pipeline processing unit reads data from the read address in the memory, the clock control unit receives data to be read by the second pipeline processing unit by the first pipeline processing unit. Is not written in the memory, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which data is processed, and the writing in the memory by the first pipeline processing unit is stopped. When writing data to a write address, if the data previously written to the write address by the first pipeline processor is not read by the second pipeline processor, the first pipeline Stop supplying clocks to the plurality of first processing units of the processing unit simultaneously;
A data processing apparatus comprising:
前記パイプライン処理部毎に、各パイプライン処理部の前記処理部へのクロック供給を制御する第2クロック制御部を備えることを特徴とする請求項1〜6のいずれか一項に記載のデータ処理装置。   The data according to any one of claims 1 to 6, further comprising a second clock control unit that controls clock supply to the processing unit of each pipeline processing unit for each pipeline processing unit. Processing equipment. メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有する第1パイプライン処理部と、
第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有する第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御する制御部と、
第1パイプライン処理部の前記第1処理部のクロック供給と、第2パイプライン処理部の前記第2処理部へのクロック供給を個別に停止するクロック制御部と、を備え、
前記クロック制御部は、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止する、
を備えることを特徴とするデータ処理装置。
Memory,
A first pipeline processing unit having a plurality of first processing units for respectively processing data input to each pipeline stage in a first plurality of different pipeline stages;
A second pipeline processing unit having a plurality of second processing units respectively processing data input to each pipeline stage in a second plurality of different pipeline stages different from the first plurality of pipeline stages;
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
A control unit that controls the processing order of each processing unit of the first pipeline processing unit and the second pipeline processing unit by changing a selection state by the selection unit;
A clock control unit for individually stopping clock supply of the first processing unit of the first pipeline processing unit and clock supply to the second processing unit of the second pipeline processing unit;
When the second pipeline processing unit reads data from the read address in the memory, the clock control unit receives data to be read by the second pipeline processing unit by the first pipeline processing unit. Is not written in the memory, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which data is processed, and the writing in the memory by the first pipeline processing unit is stopped. When writing data to a write address, if the data previously written to the write address by the first pipeline processor is not read by the second pipeline processor, the first pipeline Stop supplying clocks to the plurality of first processing units of the processing unit simultaneously;
A data processing apparatus comprising:
データ処理装置におけるクロック供給方法であって、
前記データ処理装置は、
メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有し、前記複数の第1処理部により処理されたデータを前記メモリに書き込む第1パイプライン処理部と、
第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有し、前記第1パイプライン処理部により処理されて前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、を備え、
前記クロック供給方法は、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御し、
前記パイプラインステージへ有効データが入力されるか否かを判断し、
有効データが入力される前記第1パイプライン処理部及び前記第2パイプライン処理部の前記各処理部にクロックを供給し、
有効データが入力されない前記第1パイプライン処理部及び前記第2パイプライン処理部の前記各処理部へのクロック供給を停止し、
前記停止において、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止する、
ことを特徴とするクロック供給方法。
A clock supply method in a data processing apparatus,
The data processing device includes:
Memory,
A plurality of first processing units that respectively process data input to each pipeline stage in the first plurality of different pipeline stages; and writing data processed by the plurality of first processing units to the memory A first pipeline processing unit;
The second plurality of different pipeline stages have a plurality of second processing units that respectively process data input to each pipeline stage, and are processed by the first pipeline processing unit and written to the memory A second pipeline processing unit for reading data;
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
The clock supply method includes:
By changing the selection state by the selection unit, the processing order by the processing units of the first pipeline processing unit and the second pipeline processing unit is controlled,
Determining whether valid data is input to the pipeline stage;
Supplying clocks to the respective processing units of the first pipeline processing unit and the second pipeline processing unit to which valid data is input;
Stop supplying clocks to the processing units of the first pipeline processing unit and the second pipeline processing unit to which valid data is not input;
In the stop, when the second pipeline processing unit reads data from the read address in the memory, the data to be read by the second pipeline processing unit is written to the read address by the first pipeline processing unit. If not, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which data is processed, and the write address in the memory by the first pipeline processing unit When data has been written to the write address in the past by the first pipeline processing unit when the data is written to the first pipeline processing unit, the first pipeline processing unit The clock supply to the plurality of first processing units is stopped all at once.
And a clock supply method.
データ処理装置におけるクロック供給方法であって、
前記データ処理装置は、
メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有し、これら第1処理部により処理されたデータを前記メモリに書き込む第1パイプライン処理部と、
第1の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有し、第1パイプライン処理部により前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、を備え、
前記クロック供給方法は、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御し、
第1パイプライン処理部により前記メモリへ書き込まれるデータ量と、前記メモリから第2パイプライン処理部に読み出すデータ量とに応じて、第1パイプライン処理部の前記パイプラインステージの前記処理部へのクロック供給を制御し、
前記クロック供給の制御において、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止することを特徴とするクロック供給方法。
A clock supply method in a data processing apparatus,
The data processing device includes:
Memory,
The first plurality of different pipeline stages have a plurality of first processing units that respectively process the data input to each pipeline stage, and the data processed by the first processing units is written to the memory. A pipeline processing unit;
A plurality of second processing units for processing data input to each pipeline stage in a second plurality of different pipeline stages different from the first plurality of different pipeline stages; A second pipeline processing unit for reading data written in the memory by
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
The clock supply method includes:
By changing the selection state by the selection unit, the processing order by the processing units of the first pipeline processing unit and the second pipeline processing unit is controlled,
According to the amount of data written to the memory by the first pipeline processing unit and the amount of data read from the memory to the second pipeline processing unit, to the processing unit of the pipeline stage of the first pipeline processing unit Control the clock supply of
In the clock supply control, when the second pipeline processing unit reads data from the read address in the memory, the data to be read by the second pipeline processing unit is read by the first pipeline processing unit. If not written in the address, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which the data is processed, and the first pipeline processing unit in the memory When writing data to a write address, if data previously written to the write address by the first pipeline processor is not read by the second pipeline processor, the first pipe The clock supply to the plurality of first processing units of the line processing unit is stopped all at once. Supply method.
データ処理装置におけるクロック供給方法であって、
前記データ処理装置は、
メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第1処理部を有する第1パイプライン処理部と、
第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の第2処理部を有する第2パイプライン処理部と、
前記第1パイプライン処理部及び前記第2パイプライン処理部の処理部毎に、各処理部に入力されるデータを選択するための入力セレクタ、及び、各処理部から出力されるデータの出力先を選択するための出力セレクタを含む選択部と、を備え、
前記クロック供給方法は、
前記選択部による選択状態を変更することにより、前記第1パイプライン処理部及び前記第2パイプライン処理部の各処理部による処理順序を制御し、
第1パイプライン処理部の前記第1処理部のクロック供給と、第2パイプライン処理部の前記第2処理部へのクロック供給を個別に停止し、
前記停止において、前記第2パイプライン処理部による前記メモリ内の読出アドレスからのデータの読み出し時に、前記第2パイプライン処理部が読み出すべきデータが前記第1パイプライン処理部により前記読出アドレスに書き込まれていない場合、前記第2パイプライン処理部の前記複数の第2処理部へのクロック供給をデータが処理される順番に従って停止し、前記第1パイプライン処理部による前記メモリ内の書込アドレスへのデータの書き込み時に、前記第1パイプライン処理部により前記書込アドレスへ過去に書き込まれていたデータが前記第2パイプライン処理部により読み出されていない場合、前記第1パイプライン処理部の前記複数の第1処理部へのクロック供給を一斉に停止することを特徴とするクロック供給方法。
A clock supply method in a data processing apparatus,
The data processing device includes:
Memory,
A first pipeline processing unit having a plurality of first processing units for respectively processing data input to each pipeline stage in a first plurality of different pipeline stages;
A second pipeline processing unit having a plurality of second processing units respectively processing data input to each pipeline stage in a second plurality of different pipeline stages different from the first plurality of pipeline stages;
An input selector for selecting data input to each processing unit and an output destination of data output from each processing unit for each processing unit of the first pipeline processing unit and the second pipeline processing unit A selection unit including an output selector for selecting
The clock supply method includes:
By changing the selection state by the selection unit, the processing order by the processing units of the first pipeline processing unit and the second pipeline processing unit is controlled,
The clock supply of the first processing unit of the first pipeline processing unit and the clock supply to the second processing unit of the second pipeline processing unit are individually stopped,
In the stop, when the second pipeline processing unit reads data from the read address in the memory, the data to be read by the second pipeline processing unit is written to the read address by the first pipeline processing unit. If not, the clock supply to the plurality of second processing units of the second pipeline processing unit is stopped according to the order in which data is processed, and the write address in the memory by the first pipeline processing unit When data has been written to the write address in the past by the first pipeline processing unit when the data is written to the first pipeline processing unit, the first pipeline processing unit A clock supply method comprising: stopping clock supply to the plurality of first processing units simultaneously.
JP2013055611A 2013-03-18 2013-03-18 Data processing apparatus and clock supply method Expired - Fee Related JP6141062B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013055611A JP6141062B2 (en) 2013-03-18 2013-03-18 Data processing apparatus and clock supply method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013055611A JP6141062B2 (en) 2013-03-18 2013-03-18 Data processing apparatus and clock supply method

Publications (2)

Publication Number Publication Date
JP2014182510A JP2014182510A (en) 2014-09-29
JP6141062B2 true JP6141062B2 (en) 2017-06-07

Family

ID=51701177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013055611A Expired - Fee Related JP6141062B2 (en) 2013-03-18 2013-03-18 Data processing apparatus and clock supply method

Country Status (1)

Country Link
JP (1) JP6141062B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110366740B (en) * 2017-07-24 2023-07-07 奥林巴斯株式会社 Image processing apparatus and image pickup apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63137375A (en) * 1986-11-29 1988-06-09 Toshiba Corp Lsi for image processing
JP4386124B2 (en) * 1998-04-03 2009-12-16 ソニー株式会社 Video signal processing apparatus and video signal processing method
JP5231800B2 (en) * 2007-12-26 2013-07-10 株式会社東芝 Semiconductor integrated circuit device and clock control method for semiconductor integrated circuit device
JP5440129B2 (en) * 2009-11-27 2014-03-12 富士ゼロックス株式会社 Image processing apparatus, image forming apparatus, and image processing program

Also Published As

Publication number Publication date
JP2014182510A (en) 2014-09-29

Similar Documents

Publication Publication Date Title
US8781260B2 (en) Compositing in multiple video processing unit (VPU) systems
US10282805B2 (en) Image signal processor and devices including the same
US20060271717A1 (en) Frame synchronization in multiple video processing unit (VPU) systems
US20060267988A1 (en) Synchronizing multiple cards in multiple video processing unit (VPU) systems
JP5679763B2 (en) Semiconductor integrated circuit and all-around video system
US10445851B2 (en) Image processing apparatus and method
US9070201B2 (en) Image processing apparatus
JP6141062B2 (en) Data processing apparatus and clock supply method
US10649938B2 (en) Information processing apparatus and method of transferring data
US11409655B2 (en) Interface apparatus, data processing apparatus, cache control method, and medium
US9003132B2 (en) Data processing apparatus and image processing apparatus
JP2014182502A (en) Data processing apparatus and configuration method thereof
US20210234543A1 (en) Information processing apparatus, control method thereof, and non-transitory computer-readable storage medium
US20220012201A1 (en) Scatter and Gather Streaming Data through a Circular FIFO
JP5583563B2 (en) Data processing device
JP2018191154A (en) Image processing apparatus, image processing method, and program
JP2018005389A (en) Image deformation circuit, image processing apparatus, and image deformation method
JP2006155637A (en) Apparatus for processing signal
JP5126010B2 (en) Memory access control circuit and image processing apparatus
US20230409323A1 (en) Signal processing apparatus and non-transitory computer-readable storage medium
JP5890044B2 (en) vehicle
JP4292218B2 (en) Image processing apparatus and image processing system
JP3959407B2 (en) Image processing apparatus and image processing system
US20190149734A1 (en) Arithmetic processing device, image processing device, and imaging device
KR102114342B1 (en) Multimedia system and operating method of the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170502

R150 Certificate of patent or registration of utility model

Ref document number: 6141062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees