JP2014182510A - Data processing device and clock supplying method - Google Patents
Data processing device and clock supplying method Download PDFInfo
- Publication number
- JP2014182510A JP2014182510A JP2013055611A JP2013055611A JP2014182510A JP 2014182510 A JP2014182510 A JP 2014182510A JP 2013055611 A JP2013055611 A JP 2013055611A JP 2013055611 A JP2013055611 A JP 2013055611A JP 2014182510 A JP2014182510 A JP 2014182510A
- Authority
- JP
- Japan
- Prior art keywords
- pipeline
- processing unit
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Image Processing (AREA)
Abstract
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).
パイプライン処理で画像処理を行う場合に以下のような課題がある。 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.
以下、本発明に係るデータ処理装置とその構成方法について添付図面を参照して説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。 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
画像読取装置100は、画像入力装置101と、画像処理装置102と、第1画像メモリ103と、第1インタフェース装置104と、第1記憶装置105と、第1CPU106を有する。画像読取装置100は、DMA(Direct Memory Access)コントローラ108とクロック生成回路109を有する。なお、添付する図面においてインタフェースを「IF」と表記する。また、DMAコントローラを「DMA」と表記する。
The
画像入力装置101は、撮像対象物である原稿、風景、人物等を撮像する撮像センサを有する。なお、以下では、撮像対象物が原稿であるものとして説明する。この撮像センサは、1次元又は2次元に配列されたCCD、CMOS等の撮像素子と、撮像素子に撮像対象物の像を結像する光学系を備え、各撮像素子は、RGB各色に対応するアナログ値を出力する。そして、画像入力装置101は、撮像センサが出力した各アナログ値をデジタル値に変換して画素データを生成し、生成した各画素データから構成される画像データ(以下、RGB画像と称する)を生成する。このRGB画像は、各画素データが、例えばRGB各色毎に8bitで表される計24bitのRGB値からなるカラー画像データとなる。
The
そして、画像入力装置101は、RGB画像の各画素のRGB値を画像処理装置102に出力する。
Then, the
画像入力装置101は、生成した画像データに所定の画像処理を施して第1画像メモリ103に保存する。また、画像処理装置102は、第1画像メモリ103から画像データを読み出して、さらに他の画像処理を施して第1画像メモリ103に保存する。これらの画像処理には、例えば、シェーディング補正、各画素のRGB値を輝度値及び色差値(YUV値)への変換処理や、ガンマ変換処理、色変更処理、強調処理、原稿の端部を検出する検出処理、入力画像データを補正する補正処理や、画像の回転処理であってよい。
The
なお、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
画像処理装置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
第1インタフェース装置104は、例えばUSB等のシリアルバスに準じるインターフェース回路を有し、情報処理装置200と電気的に接続して画像データ及び各種の情報を送受信する。また、第1インタフェース装置104にフラッシュメモリ等を接続して第1画像メモリ103に保存されている画像データを保存するようにしてもよい。
The
第1記憶装置105は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、第1記憶装置105には、画像読取装置100の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。
The
コンピュータプログラムは、例えば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
第1CPU106は、画像処理装置102、第1画像メモリ103、第1インタフェース装置104、及び第1記憶装置105と接続され、これらの各部を制御する。第1CPU106は、画像入力装置101の入力画像生成制御、第1画像メモリ103の制御、第1インタフェース装置104を介した情報処理装置200とのデータ送受信制御、第1記憶装置105の制御等を行う。また、第1CPU106は、画像処理装置102による画像処理の制御等を行う。
The
画像データを情報処理装置200へ出力する場合に、第1インタフェース装置104を経由して、第1画像メモリ103に格納された画像データを出力してもよい。この場合、DMAコントローラ108は、第1CPU106の指示に応じて第1画像メモリ103に格納された画像データを読み出し、第1インタフェース装置104へ転送してよい。
When outputting image data to the
クロック生成回路109はクロック信号を生成し、画像処理装置102や、画像読取装置100内のその他の構成要素に動作クロックを供給する。クロック生成回路109は、例えばPLL(Phase Locked Loop)回路であってよい。
The
情報処理装置200は、第2インタフェース装置201と、第2画像メモリ202と、表示装置203と、第2記憶装置204と、第2CPU205とを有する。以下、情報処理装置200の各部について詳細に説明する。
The
第2インタフェース装置201は、画像読取装置100の第1インタフェース装置104と同様のインターフェース回路を有し、情報処理装置200と画像読取装置100とを接続する。
The
第2画像メモリ202は、画像読取装置100の第1画像メモリ103と同様の記憶装置を有する。第2画像メモリ202には、第2インタフェース装置201を介して画像読取装置100から受信した画像データ及び各種の情報が保存される。
The
表示装置203は、液晶、有機EL等から構成されるディスプレイ及びディスプレイに画像データを出力するインターフェース回路を有し、第2画像メモリ202に保存されている画像データをディスプレイに表示する。
The
第2記憶装置204は、画像読取装置100の第1記憶装置105と同様のメモリ装置、固定ディスク装置、可搬用の記憶装置等を有する。第2記憶装置204には、情報処理装置200の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて第2記憶装置204にインストールされてもよい。
The
第2CPU205は、第2インタフェース装置201、第2画像メモリ202、表示装置203及び第2記憶装置204と接続され、これらの各部を制御する。第2CPU205は、第2インタフェース装置201を介した画像読取装置100とのデータ送受信制御、第2画像メモリ202の制御、表示装置203の表示制御、第2記憶装置204の制御等を行う。
The
なお、図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
図2は、画像処理装置102の第1例の機能ブロック図である。画像処理装置102は、パイプライン処理により画像データを処理するためのパイプライン処理部110を備える。
FIG. 2 is a functional block diagram of a first example of the
パイプライン処理部110は、複数の異なるパイプラインステージ毎に設けられる処理部120a〜120dと共通バス130を備える。処理部120a〜120dは、各パイプラインステージに入力されるデータをそれぞれ処理する。以下の説明及び添付図面において処理部120a〜120dを総称して「処理部120」と表記することがある。
The
共通バス130は、マスタ型セレクトコネクタ131a〜131d及び133と、スレーブ型セレクトコネクタ132a〜132d及び134と、空間制御部135を備える。以下の説明において、マスタ型セレクトコネクタ131a〜131dを「セレクタ131a」〜「セレクタ131d」と表記することがある。マスタ型セレクトコネクタ131a〜131dを総称して「セレクタ131」と表記することがある。
The
以下の説明において、スレーブ型セレクトコネクタ132a〜132dを「セレクタ132a」〜「セレクタ132d」と表記することがある。スレーブ型セレクトコネクタ132a〜132dを総称して「セレクタ132」と表記することがある。マスタ型セレクトコネクタ133及びスレーブ型セレクトコネクタ134を、それぞれ「セレクタ133」及び「セレクタ134」と表記することがある。また、添付図面においてマスタ型セレクトコネクタ及びスレーブ型セレクトコネクタを「セレクタ」と表記する。
In the following description, the slave type
セレクタ131aは、処理部120aが指定するアドレス情報に従って、処理部120aから出力される画像データの転送先を、処理部120b〜120d及びセレクタ134の間で切り替える。
The
処理部120aが指定するアドレス情報は、画像データの転送先を示す共通バス130上のアドレス情報であってよい。共通バス130上のアドレス情報は、共通バス130を経由して転送される画像データの転送先を指定するための情報である。以下の説明において共通バス130上のアドレス情報を「アドレス情報」と表記することがある。
The address information specified by the
セレクタ131aには、処理部120aからの画像データの出力線と、セレクタ132b〜132d及び134へのデータ転送線が接続されている。セレクタ131aは、処理部120aが指定するアドレス情報に従って、これらデータ転送線のいずれかを選択して出力線に接続する。
The
同様に、セレクタ131bは、処理部120bが指定するアドレス情報に従って、処理部120bから出力される画像データの転送先を、処理部120a、120c、120d及びセレクタ134の間で切り替える。セレクタ131cは、処理部120cが指定するアドレス情報に従って、処理部120cから出力される画像データの転送先を、処理部120a、120b、120d及びセレクタ134の間で切り替える。セレクタ131dは、処理部120dが指定するアドレス情報に従って、処理部120dから出力される画像データの転送先を、処理部120a〜120c及びセレクタ134の間で切り替える。
Similarly, the
セレクタ132aは、空間制御部135から受信するセレクト信号に従って、処理部120aへ入力する画像データの転送元を、処理部120b〜120d及びセレクタ133の間で切り替える。セレクタ132aには、処理部120aへの画像データの入力線と、セレクタ131b〜131d及び133からのデータ転送線が接続されている。セレクタ132aは、セレクト信号に従ってこれらデータ転送線のいずれかを選択して入力線に接続する。
The
同様に、セレクタ132bは、空間制御部135から受信するセレクト信号に従って、処理部120bへ入力する画像データの転送元を、処理部120a、120c、120d及びセレクタ133の間で切り替える。セレクタ132cは、空間制御部135から受信するセレクト信号に従って、処理部120cへ入力する画像データの転送元を、処理部120a、120b、120d及びセレクタ133の間で切り替える。セレクタ132dは、空間制御部135から受信するセレクト信号に従って、処理部120dへ入力する画像データの転送元を、処理部120a〜120c及びセレクタ133の間で切り替える。
Similarly, the
セレクタ133は、入力画像データ受信時に指定されたアドレス情報に基づいて、入力画像データが転送されるパイプラインの最前段の処理部120を切り替える。セレクタ133には、入力画像データの入力線と、セレクタ132a〜132dへのデータ転送線が接続されている。セレクタ134は、指定されたアドレス情報に基づいてこれらデータ転送線のいずれかを選択して入力線に接続する。
The
セレクタ134は、空間制御部135から受信するセレクト信号に従って、パイプライン処理部110から画像データを出力する最後段のパイプラインステージの処理部120を切り替える。セレクタ133には、出力画像データの出力線と、セレクタ131a〜131dからのデータ転送線が接続されている。セレクタ134は、セレクト信号に基づいてこれらデータ転送線のいずれかを選択して出力線に接続する。
The
空間制御部135は、セレクタ132及びセレクタ134の設定のための情報を第1CPU106から受信する。空間制御部135は、第1CPU106から受信した情報に従って、セレクタ132及びセレクタ134の選択動作を指定するセレクト信号を生成する。空間制御部135は、セレクト信号をセレクタ132及びセレクタ134へ出力する。したがって、セレクタ132及びセレクタ134の選択状態は、第1CPU106からの情報に基づいて可変設定される。
The
空間制御部135が第1CPU106から受信した情報に従って、セレクタ131及びセレクタ133の選択動作を指定するセレクト信号を生成し、セレクタ131及びセレクタ133に与えるように共通バス130を構成してもよい。
The
図3は、処理部120aの第1例の機能ブロック図である。処理部120aは、レジスタ121と、スレーブ部122と、画像処理部123と、マスタ部124を備える。他の処理部120b〜120dも同様の構成を有する。
FIG. 3 is a functional block diagram of a first example of the
レジスタ121には、第1CPU106から受信した設定情報が格納される。本実施例では、設定情報は、処理部120aの出力画像データの転送先の他の処理部120のアドレス情報を含んでいてよい。
The
スレーブ部122は、セレクタ132aから画像データを受信し、画像処理部123へ入力する。画像処理部123は、処理部120a固有の画像処理を施し、処理済みの画像データをマスタ部124に入力する。
The
マスタ部124は、画像データの転送先を定める他の処理部120のアドレス情報をレジスタ121から取得する。マスタ部124は、レジスタ121から取得したアドレス情報をセレクタ131aに与えることにより、画像データの転送先の他の処理部120を指定する。マスタ部124は、処理済みの画像データをセレクタ131aに送信する。
The
このように、セレクタ131の選択状態は、第1CPU106からの情報に基づきマスタ部124により指定されるアドレス情報によって可変設定される。セレクタ131及び132は、第1セレクタ及び第2セレクタの一例である。処理部120のマスタ部124及び空間制御部135は、セレクタ131及び132による選択状態を可変設定する設定部の一例である。
As described above, the selection state of the
第1CPU106は、セレクタ132及びセレクタ134の設定のための情報を空間制御部135に与え、レジスタ121にアドレス情報を与えることで、処理部120による処理順序を設定することができる。
The
例えば、処理部120a、120b、120c及び120dの順に、各処理部120が画像データを処理するようにパイプライン処理部110を構成する場合を想定する。処理部120a、120b、120c及び120dの共通バス130上のアドレスをそれぞれ以下のように定める。また、セレクタ134のデータ出力先の共通バス130上のアドレスを以下のように定める。
For example, it is assumed that the
処理部120a:「0x10000000」
処理部120b:「0x10001000」
処理部120c:「0x10002000」
処理部120d:「0x10003000」
データ出力先:「0x30000000」
Data output destination: “0x30000000”
第1CPU106は、処理部120aの転送先のアドレスとして、処理部120bのアドレス「0x10001000」を処理部120aのレジスタ121に与える。第1CPU106は、処理部120bの転送先のアドレスとして、処理部120cのアドレス「0x10002000」を処理部120bのレジスタ121に与える。
The
第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。第1CPU106は、処理部120dの転送先のアドレスとして、データ出力先のアドレス「0x30000000」を処理部120dのレジスタ121に与える。
The
また、空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132及びセレクタ134に出力する。
Further, the
セレクタ132aは、セレクタ133からのデータ転送線を処理部120aのデータ入力線に接続する。セレクタ132bは、セレクタ131aからのデータ転送線を処理部120bのデータ入力線に接続する。セレクタ132cは、セレクタ131bからのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ134は、セレクタ131dからのデータ転送線を出力画像データの出力線に接続する。
The
セレクタ133への入力画像データの転送先のアドレスを、処理部120aのアドレス「0x10000000」に指定すると、セレクタ133は、入力画像データの入力線とセレクタ132aへのデータ転送線を接続する。入力画像データは、セレクタ132aへ転送され、セレクタ132aを経由して処理部120aへ入力される。
When the transfer destination address of the input image data to the
処理部120aの画像処理部123は入力された画像に画像処理を施す。処理部120aのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10001000」をセレクタ131aに指定する。セレクタ131aは、処理部120aの画像データの出力線と、セレクタ132bへのデータ転送線を接続する。画像データはセレクタ132bへ転送され、セレクタ132bを経由して処理部120bへ入力される。
The
処理部120bの画像処理部123は入力された画像に画像処理を施す。処理部120bのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10002000」をセレクタ131bに指定する。セレクタ131bは、処理部120bの画像データの出力線と、セレクタ132cへのデータ転送線を接続する。画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される。
The
処理部120cの画像処理部123は入力された画像に画像処理を施す。処理部120cのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x10003000」をセレクタ131cに指定する。セレクタ131cは、処理部120cの画像データの出力線と、セレクタ132dへのデータ転送線を接続する。画像データはセレクタ132dへ転送され、セレクタ132dを経由して処理部120dへ入力される。
The
処理部120dの画像処理部123は入力された画像に画像処理を施す。処理部120dのマスタ部124は、処理済みの画像データの転送先としてアドレス「0x30000000」をセレクタ131dに指定する。セレクタ131dは、処理部120dの画像データの出力線と、セレクタ134へのデータ転送線を接続する。画像データはセレクタ134へ転送され、セレクタ134を経由してパイプライン処理部110から出力される。
The
このように、第1CPU106は、空間制御部135及びレジスタ121を設定することによって、処理部120による処理順序を設定することができる。したがって、第1CPU106は、空間制御部135及びレジスタ121の設定を変更することで、処理部120による処理順序を変更することができる。
Thus, the
また、第1CPU106は、セレクタ132及びセレクタ134の設定のための情報を空間制御部135に与え、レジスタ121にアドレス情報を与えることで、処理部120の各々の使用及び不使用を設定することができる。
Further, the
例えば、処理部120bを使用せず、処理部120a、120c及び120dの順に、各処理部120が画像データを処理するようにパイプライン処理部110を構成する場合を想定する。
For example, it is assumed that the
この場合、第1CPU106は、処理部120aの転送先のアドレスとして、処理部120cのアドレス「0x10002000」を処理部120aのレジスタ121に与える。第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。第1CPU106は、処理部120dの転送先のアドレスとして、データ出力先のアドレス「0x30000000」を処理部120dのレジスタ121に与える。
In this case, the
また、空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132及びセレクタ134に出力する。
Further, the
セレクタ132aは、セレクタ133からのデータ転送線を処理部120aのデータ入力線に接続する。セレクタ132cは、セレクタ131aからのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ134は、セレクタ131dからのデータ転送線を出力画像データの出力線に接続する。
The
第1CPU106は、空間制御部135及びレジスタ121を設定することによって、処理部120の使用及び不使用を変更することができる。したがって、第1CPU106は、空間制御部135及びレジスタ121の設定を変更することで、パイプラインステージの段数を変更することができる。
The
本実施例によれば、パイプライン処理部110の各パイプラインステージで行う処理の順序やパイプラインステージの段数を容易に変更することができる。したがって、パイプラインステージで行う処理の実行順序の自由度が向上する。
According to the present embodiment, the order of processing performed in each pipeline stage of the
例えば、画像処理装置102が、画像入力装置101で読み取ったカラー画像の色を画像読取装置100内の処理で使用するための色に合わせる色合わせ処理を行う場合がある。この場合に画像処理装置102は、色変更処理、ガンマ変換処理及び強調処理の順序でこれらの処理を実行する。
For example, the
また、画像処理装置102が、最終的に出力する画像データの色空間を所定の空間に変換する色空間変換処理を行う場合がある。この場合に行う処理順序は、ガンマ変換処理、色変更処理、及び強調処理の順であり、上記色合わせ処理と処理順序が異なる。
In some cases, the
本実施例によれば、第1CPU106が処理部120による処理順序を変更することによって、あるパイプライン処理部110で行う処理を、例えば、上記色合わせ処理から上記色空間変換処理に容易に変更できるようになる。
According to the present embodiment, the
<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
画像処理装置102は、最後段のパイプラインステージの処理部120から第1画像メモリ103に画像データを書き込むための構成を備える。画像処理装置102は、パイプライン処理部110により処理された後に第1画像メモリ103に書き込まれた画像データを、画像処理装置102から出力するための構成を備える。
The
なお、以下の説明において最前段のパイプラインステージの処理部を「最前段の処理部」と表記することがある。また、最後段のパイプラインステージの処理部を「最後段の処理部」と表記することがある。 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
読出部140は、メモリコントローラ151を介して第1画像メモリ103から画像データを読み出しセレクタ136へ出力する。セレクタ136は、読出部140が指定するアドレス情報に従って、読出部140が出力される画像データの転送先を、処理部120b〜120dの間で切り替える。
The
セレクタ136には、読出部140からの画像データの出力線と、セレクタ132b〜132dへのデータ転送線が接続されている。セレクタ136は、読出部140が指定するアドレス情報に従ってこれらデータ転送線のいずれかを選択して出力線に接続する。
The
ブリッジ部150は、画像入力装置101又は第1画像メモリ103から入力される画像データをセレクタ133へ出力する。セレクタ133は、ブリッジ部150が指定するアドレス情報に従って、ブリッジ部150によるデータ入力時期において入力画像データの転送先を処理部120b〜120dの間で切り替える。
The
セレクタ133には、ブリッジ部150との間で画像データを送受信するための第1データ転送線と、セレクタ132b〜132dへ画像データを送信するための第2データ転送線が接続される。ブリッジ部150によるデータ入力時期において、セレクタ133は、アドレス情報に従ってこれら第2データ転送線のいずれかを選択して第1データ転送線に接続する。
The
また、セレクタ133には、メモリコントローラ151を介して第1画像メモリ103から読み出されるデータをセレクタ162からセレクタ133へ転送する第3データ転送線が接続される。ブリッジ部150からのデータ出力時期において、セレクタ133は、アドレス情報に従って第3データ転送線と第1データ転送線とを接続する。
The
セレクタ132bは、空間制御部135から受信するセレクト信号に従って、処理部120bへ入力する画像データの転送元を、読出部140、処理部120c及び120d並びにブリッジ部150の間で切り替える。セレクタ132bには、処理部120bへの画像データの入力線と、読出部140、セレクタ131c及び131d並びにセレクタ133からのデータ転送線が接続されている。セレクタ132bは、空間制御部135から受信するセレクト信号に従ってこれらデータ転送線のいずれかを選択して入力線に接続する。
The
同様に、セレクタ132cは、空間制御部135から受信するセレクト信号に従って、処理部120cへ入力する画像データの転送元を、読出部140、処理部120b及び120d並びにブリッジ部150の間で切り替える。セレクタ132dは、空間制御部135から受信するセレクト信号に従って、処理部120dへ入力する画像データの転送元を、読出部140、処理部120b及び120c並びにブリッジ部150の間で切り替える。
Similarly, the
メモリコントローラ151は、第1画像メモリ103への画像データの書込動作及び第1画像メモリ103からの画像データの読出動作を制御する。メモリコントローラ151は、第1画像メモリ103からデータを読み出す読出アドレス及びデータを書き込む書込アドレスを指定するためのアドレス線152に接続される。
The
セレクタ161は、空間制御部135からのセレクト信号に従って、読出部140、処理部120b〜120d及びブリッジ部150のいずれで第1画像メモリ103のアドレスを指定するかを切り替える。
The
セレクタ161には、読出部140及びブリッジ部150がそれぞれ第1画像メモリ103の読出アドレスを指定するアドレス線160a及び160eが接続される。セレクタ161には、処理部120b〜120dがそれぞれ第1画像メモリ103の書込アドレスを指定するアドレス線160b〜160dが接続される。
Connected to the
セレクタ161は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期におけるアドレス線152の接続先を、アドレス線160aと160eの間で切り替える。セレクタ161は、セレクト信号に従ってこれらアドレス線160a及び160eのいずれかを選択して、アドレス線152に接続する。
The
セレクタ161は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期におけるアドレス線152の接続先を、アドレス線160b〜160dの間で切り替える。セレクタ161は、セレクト信号に従ってこれらアドレス線160b〜160dのいずれかを選択して、アドレス線152に接続する。
The
セレクタ131bは、処理部120bが指定するアドレス情報に従って、処理部120bから出力される画像データの転送先を、処理部120c及び120d並びに第1画像メモリ103の間で切り替える。セレクタ131bには、処理部120bからの画像データの出力線と、セレクタ132c、132d及び162へのデータ転送線が接続されている。セレクタ131bは、処理部120bが指定するアドレス情報に従って、これらデータ転送線のいずれかを選択して出力線に接続する。
The
同様に、セレクタ131cは、処理部120cが指定するアドレス情報に従って、処理部120cから出力される画像データの転送先を、処理部120b及び120d並びに第1画像メモリ103の間で切り替える。セレクタ131dは、処理部120dが指定するアドレス情報に従って、処理部120dから出力される画像データの転送先を、処理部120b及び120c並びに第1画像メモリ103の間で切り替える。
Similarly, the
メモリコントローラ151は、第1画像メモリ103からの読出データ及び第1画像メモリ103からの書込データを転送するためのデータ線153に接続される。
The
セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期における読出データの転送先を、読出部140及びブリッジ部150との間で切り替える。また、セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期における書込データの転送元を、処理部120b〜120dの間で切り替える。
The
セレクタ162には、読出部140へのデータ転送線と、セレクタ133への第3データ転送線と、セレクタ131b〜131dからのデータ転送線が接続される。
The
セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103からのデータ読出時期におけるデータ線153の接続先を、読出部140へのデータ転送線及びセレクタ133への第3データ転送線の間で切り替える。セレクタ162は、セレクト信号に従って読出部140へのデータ転送線及びセレクタ133への第3データ転送線のいずれかを選択して、データ線153に接続する。
The
セレクタ162は、空間制御部135からのセレクト信号に従って、第1画像メモリ103へのデータ書込時期におけるデータ線153の接続先を、セレクタ131b〜131dからのデータ転送線の間で切り替える。セレクタ162は、セレクト信号に従ってこれらのデータ転送線のいずれかを選択して、データ線153に接続する。
The
図5は、読出部140の第1例の機能ブロック図である。読出部140は、レジスタ141と、第1マスタ部142と、バッファ143と、第2マスタ部144を備える。
FIG. 5 is a functional block diagram of a first example of the
読出部140による第1画像メモリ103からの画像データの読み出しを行う場合には、第1CPU106から受信した設定情報がレジスタ141に格納される。本実施例では、設定情報は、例えば、読出部140が第1画像メモリ103から画像データを読み出すアドレス範囲の先頭アドレス及び長さと、読み出した画像データの転送先の処理部120のアドレス情報を含んでいてよい。
When the
第1マスタ部142は、第1画像メモリ103から画像データを読み出すアドレス範囲の先頭アドレスと長さをレジスタ141から取得する。第1マスタ部142は、アドレス範囲の先頭アドレス及び長さとこれまで読み出したデータ量に基づいて読出アドレスを決定し、セレクタ161へ出力する。
The
セレクタ161は、空間制御部135からのセレクト信号に従って読出アドレスをメモリコントローラ151へ転送する。メモリコントローラ151は、第1画像メモリ103のこの読出アドレスから画像データを読み出すとセレクタ162へ転送する。セレクタ162は、空間制御部135からのセレクト信号に従って画像データを読出部140へ転送する。
The
第1マスタ部142は、セレクタ162から画像データを受信するとバッファ143に入力する。バッファ143は、画像データを第2マスタ部144に入力する。
The
第2マスタ部144は、画像データの転送先の処理部120のアドレス情報をレジスタ141から取得する。第2マスタ部144は、レジスタ141から取得したアドレス情報をセレクタ136に与えることにより、画像データの転送先の処理部120を指定する。そして、第2マスタ部144は画像データをセレクタ136に送信する。
The
図6は、処理部120bの第2例の機能ブロック図である。他の処理部120c及び120dも同様の構成を有する。図3に示す構成要素と同様の構成要素には図3で使用した参照符号と同じ参照符号を付す。
FIG. 6 is a functional block diagram of a second example of the
処理部120bによる第1画像メモリ103への画像データの書き込みを行う場合には、第1CPU106からの設定情報は、画像データを書き込むアドレス範囲の先頭アドレス及び長さを含んでいてよい。また、設定情報は、メモリコントローラ151に与えられる共通バス130上のアドレス情報を含んでいてよい。
When the image data is written to the
マスタ部124は、第1画像メモリ103への画像データの書き込むアドレス範囲の先頭アドレスと長さをレジスタ121から取得する。マスタ部124は、アドレス範囲の先頭アドレス及び長さとこれまで書き込んだデータ量に基づいて書込アドレスを決定し、セレクタ161へ出力する。
The
また、マスタ部124は、メモリコントローラ151のアドレス情報をレジスタ121から取得する。マスタ部124は、レジスタ121から取得したメモリコントローラ151のアドレス情報をセレクタ131bに与えることにより第1画像メモリ103を転送先に指定する。そして、マスタ部124は、処理済みの画像データをセレクタ131bに送信する。
In addition, the
セレクタ131bは、アドレス情報に従って画像データをセレクタ162に転送し、セレクタ162は、空間制御部135からのセレクト信号に従って画像データをメモリコントローラ151へ転送する。セレクタ161は、空間制御部135からのセレクト信号に従って書込アドレスをメモリコントローラ151へ転送する。メモリコントローラ151は、指定された書込アドレスに画像データを書き込む。
The
次に、パイプライン処理部110を構成する第1CPU106の設定例を説明する。図7〜図10は、パイプライン処理部110の構成例の第1例の説明図である。第1例のパイプライン処理部110では、ブリッジ部150は、画像入力装置101又は第1画像メモリ103から入力される画像データを受信する。
Next, a setting example of the
ブリッジ部150は、画像データを最前段の処理部120cに入力する。処理部120c、120d及び120bの順に、各処理部120が画像データを処理する。最後段の処理部120bが処理済みの画像データを第1画像メモリ103に書き込む。処理部120b、120c及び120d並びにメモリコントローラ151の転送先の共通バス130上のアドレスをそれぞれ以下のように定める。
The
処理部120b:「0x10001000」
処理部120c:「0x10002000」
処理部120d:「0x10003000」
メモリコントローラ151:「0x40000000」
Memory controller 151: “0x40000000”
第1CPU106は、ブリッジ部150に対して、処理部120cのアドレス「0x10002000」をブリッジ部150の転送先のアドレスとして指定する。第1CPU106は、処理部120cの転送先のアドレスとして、処理部120dのアドレス「0x10003000」を処理部120cのレジスタ121に与える。
The
第1CPU106は、処理部120dの転送先のアドレスとして、処理部120bのアドレス「0x10001000」を処理部120dのレジスタ121に与える。第1CPU106は、処理部120bの転送先のアドレスとして、メモリコントローラ151のアドレス「0x40000000」を処理部120bのレジスタ121に与える。また、第1CPU106は、処理済みの画像データを第1画像メモリ103に書き込む書込アドレスを処理部120bのレジスタ121に与える。
The
空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132、セレクタ161及びセレクタ162に出力する。
Based on the information from the
セレクタ132cは、セレクタ133からのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132dは、セレクタ131cからのデータ転送線を処理部120dのデータ入力線に接続する。セレクタ132bは、セレクタ131dからのデータ転送線を処理部120bのデータ入力線に接続する。
The
セレクタ161は、第1画像メモリ103へのデータ書込時期において処理部120bのアドレス線160bをアドレス線152に接続する。セレクタ162は、第1画像メモリ103へのデータ書込時期においてセレクタ131bからのデータ転送線をデータ線153に接続する。
The
上記設定によって共通バス130に下記(1)〜(5)の経路が設定される。
With the above settings, the following routes (1) to (5) are set on the
(1)ブリッジ部150は、入力された画像データの転送先として、アドレス「0x10002000」をセレクタ133に指定する。セレクタ133は、ブリッジ部150の第1データ転送線とセレクタ132cへのデータ転送線を接続する。入力画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される(図7)。
(1) The
(2)処理部120cの画像処理部123は入力された画像に画像処理を施す。処理部120cのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x10003000」をセレクタ131cに指定する。セレクタ131cは、処理部120cの画像データの出力線と、セレクタ132dへのデータ転送線を接続する。画像データはセレクタ132dへ転送され、セレクタ132dを経由して処理部120dへ入力される(図8)。
(2) The
(3)処理部120dの画像処理部123は入力された画像に画像処理を施す。処理部120dのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x10001000」をセレクタ131dに指定する。セレクタ131dは、処理部120dの画像データの出力線と、セレクタ132bへのデータ転送線を接続する。画像データはセレクタ132bへ転送され、セレクタ132bを経由して処理部120bへ入力される(図9)。
(3) The
(4)処理部120bの画像処理部123は、入力された画像に画像処理を施す。処理部120bのマスタ部124は、処理済みの画像データを第1画像メモリ103に書き込む書込アドレスをアドレス線160bにセットする。セレクタ161は、処理部120bにより指定された書込アドレスをメモリコントローラ151へ転送する(図10)。
(4) The
(5)処理部120bのマスタ部124は、処理済みの画像データの転送先として、アドレス「0x40000000」をセレクタ131bに指定する。セレクタ131bは、処理部120bの画像データの出力線と、セレクタ162へのデータ転送線を接続する。画像データはセレクタ162へ転送され、セレクタ162を経由してメモリコントローラ151に転送される。メモリコントローラ151は、指定された書込アドレスに画像データを書き込む(図10)。
(5) The
図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
第1CPU106は、読出部140の転送先のアドレスとして、処理部120cのアドレス「0x10002000」を読出部140のレジスタ141に与える。第1CPU106は、第1画像メモリ103から画像データを読み出す読出アドレスを読出部140のレジスタ141に与える。処理部120b〜120dのレジスタ121に与えられる設定は、第1例の構成例と同様である。
The
空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ132c、セレクタ161及びセレクタ162に出力する。
Based on information from the
セレクタ132cは、セレクタ136からのデータ転送線を処理部120cのデータ入力線に接続する。セレクタ132b及び132dの接続状態は、第1例の構成例と同様である。
The
セレクタ161は、第1画像メモリ103からのデータ読出時期において読出部140のアドレス線160aをアドレス線152に接続する。セレクタ161は、第1画像メモリ103へのデータ書込時期において処理部120bのアドレス線160bをアドレス線152に接続する。
The
セレクタ162は、第1画像メモリ103からのデータ読出時期において読出部140へのデータ転送線をデータ線153に接続する。セレクタ162は、第1画像メモリ103へのデータ書込時期においてセレクタ131bからのデータ転送線をデータ線153に接続する。
The
上記設定によって共通バス130に下記(6)〜(8)の経路が設定される。
With the above settings, the following routes (6) to (8) are set in the
(6)読出部140の第1マスタ部142は、入力する画像データを第1画像メモリ103から読み出す読出アドレスをアドレス線160aにセットする。セレクタ161は、読出部140により指定された読出アドレスをメモリコントローラ151へ転送する(図11)。
(6) The
(7)メモリコントローラ151は、第1画像メモリ103のこの読出アドレスから画像データを読み出すとセレクタ162へ転送する。画像データは、セレクタ162を経由して読出部140へ入力される(図11)。
(7) When the
(8)読出部140の第2マスタ部144は、読み出した画像データの転送先として、アドレス「0x10002000」をセレクタ136に指定する。セレクタ136は、読出部140の画像データの出力線と、セレクタ132cへのデータ転送線を接続する。画像データはセレクタ132cへ転送され、セレクタ132cを経由して処理部120cへ入力される(図12)。その後のパイプライン処理部110の動作は、図8〜図10を参照して説明した上記動作と同様である。
(8) The
図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
なお、上記の第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
第1CPU106は、第1画像メモリ103から読み出された画像データを送信する転送元のアドレスとして、メモリコントローラ151のアドレス「0x40000000」を、ブリッジ部150に対して指定する。また、第1CPU106は、第1画像メモリ103から画像データを読み出す読出アドレスを、ブリッジ部150に対して指定する。
The
空間制御部135は、第1CPU106からの情報に基づいて、以下の選択動作を実行させるセレクト信号を生成してセレクタ161及び162に出力する。セレクタ161は、第1画像メモリ103からのデータ読出時期においてブリッジ部150のアドレス線160eをアドレス線152に接続する。セレクタ162は、第1画像メモリ103からのデータ読出時期においてデータ線153を、セレクタ133への第3データ転送線に接続する。
Based on the information from the
上記設定によって共通バス130に下記(9)及び(10)の経路が設定される。
With the above settings, the following routes (9) and (10) are set in the
(9)ブリッジ部150は、出力する画像データを第1画像メモリ103から読み出す読出アドレスをアドレス線160eにセットする。セレクタ161は、ブリッジ部150により指定された読出アドレスをメモリコントローラ151へ転送する(図13)。
(9) The
(10)ブリッジ部150は、第1画像メモリ103から読み出された画像データを送信するメモリコントローラ151のアドレス「0x30000000」をセレクタ133に指定する。メモリコントローラ151は、第1画像メモリ103の読出アドレスから画像データを読み出すとセレクタ162へ転送する。画像データは、セレクタ162を経由してセレクタ133へ転送される。画像データは、セレクタ133を経由してブリッジ部150に入力される(図13)。
(10) The
本実施例によれば、ブリッジ部150を介して入力した画像データを、最前段の処理部に設定された任意の処理部120に入力することができる。また、最後段の処理部に設定された任意の処理部120により第1画像メモリ103に書き込まれた画像データをブリッジ部150から出力することができる。
According to the present embodiment, the image data input via the
また、本実施例によれば、読出部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
<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
パイプライン処理部110aは、読出部140aと処理部120a〜120cと共通バス130aを備える。パイプライン処理部110bは、読出部140bと処理部120d〜120fと共通バス130bを備える。パイプライン処理部110cは、読出部140cと処理部120g〜120iと共通バス130cを備える。
The
パイプライン処理部110a、読出部140a、処理部120a〜120c及び共通バス130aの構成は、図4のパイプライン処理部110、読出部140、処理部120b〜120d及び共通バス130の構成とそれぞれ同じである。パイプライン処理部110b及び110cの構成は、パイプライン処理部110aと同様である。
The configurations of the
なお、以下の説明で、パイプライン処理部110a〜110cを総称して「パイプライン処理部110」と表記することがある。処理部120a〜120iを総称して「処理部120」と表記することがある。読出部140a〜140cを総称して「読出部140」と表記することがある。共通バス130a〜130cを総称して「共通バス130」と表記することがある。
In the following description, the
パイプライン処理部110の各々は、パイプライン処理部110a、110b及び110cの順で、ブリッジ部150から入力された画像データを処理する。なお、パイプライン処理部の順番を変えるように設定することも可能である。
Each of the
画像処理装置102は、ブリッジ部150と接続する共通バス130を、共通バス130a〜130cの間で切り替えるセレクタ154を備える。セレクタ154は、第1CPU106による設定に従って空間制御部135が生成するセレクト信号に従って、ブリッジ部150と共通バス130aを接続する。
The
第1CPU106は、各パイプライン処理部110の処理後の画像データを第1画像メモリ103に書き込む書込アドレスの範囲を、各パイプライン処理部110の最後段の処理部120に対してそれぞれ指定する。
The
第1CPU106は、第1画像メモリ103から画像データを読み出す読み出しアドレスの範囲として、パイプライン処理部110aが画像データを書き込むアドレス範囲を、その後段のパイプライン処理部110bの読出部140bに対して指定する。第1CPU106は、パイプライン処理部110bが画像データを書き込むアドレス範囲を、読み出しアドレスの範囲として読出部140cに対して指定する。
The
第1CPU106は、パイプライン処理部110cが画像データを書き込むアドレス範囲を、読み出しアドレスの範囲としてブリッジ部150に対して指定する。
The
以上のように、セレクタ154の接続状態及び各パイプライン処理部110の書込アドレスと読出アドレスが設定されることで、ブリッジ部150から入力された画像データはパイプライン処理部110aに入力される。パイプライン処理部110aで処理された画像データは、第1画像メモリ103を経由してパイプライン処理部110bに入力され、パイプライン処理部110bで処理される。
As described above, the connection state of the
パイプライン処理部110bで処理された画像データは、第1画像メモリ103を経由してパイプライン処理部110cに入力され、パイプライン処理部110cで処理される。パイプライン処理部110cで処理された画像データは、第1画像メモリ103及び共通バス130aを経由してブリッジ部150から出力される。
The image data processed by the
本実施例によれば、最前段の処理部及び最後段の処理部が任意に設定されるパイプライン処理部110を複数連結することができる。また、第1CPU106は、空間制御部135並びにレジスタ121及び141の設定を変更することで、パイプライン処理部110間の処理順序及びパイプライン処理部110の接続数を変更することができる。
According to the present embodiment, it is possible to connect a plurality of
<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
第1画像メモリ103を経由して前段のパイプライン処理部110aと後段のパイプライン処理部110bの間で画像データを転送する場合、読出部140bは書込が行われたアドレスからデータを読み出す。このため、読出部140bは読出アドレスが書込アドレスを追い越さないようにデータの読み出しを制御する。
When transferring image data between the preceding
処理部120cは、書込アドレスが後段のパイプライン処理部110bの読出アドレスを追い越して、まだ読み出されていないデータが上書きされないようにデータの書き込みを制御する。
The
このため、読出部140bは、読出量通知部145と、書込手段選択部146と、読出停止部147を備える。処理部120cは、書込量通知部125と、読出手段選択部126と、書込停止部127を備える。
Therefore, the
読出部140bのレジスタ141には、前段のパイプライン処理部110aの最後段の処理部120cの指定情報と、所定数の画素からなる1ラインの画素数の指定情報が格納される。ラインの画素数は、例えば画像データの主方向の画素数であってよい。これら指定情報は第1CPU106によって指定される。
The
読出部140のバッファ143は、読出部140が第1画像メモリ103から読み出した画像データのデータ量を、読出量通知部145及びに読出停止部147に通知する。読出量通知部145及び読出停止部147は、読み出した画像データのデータ量とラインの画素数に基づき第1画像メモリ103から読み出されたライン数を算出する。読出量通知部145は、読み出されたライン数を示す読出量を、他のパイプライン処理部110a及び110cの処理部120へ通知する。各読出部140と、他のパイプライン処理部110の処理部120との間は、読出量を通知するための読出量通知回線171で接続される。
The
また、ブリッジ部150と各パイプライン処理部110の処理部120との間も、ブリッジ部150が第1画像メモリ103から読み出した読出量を通知するための読出量通知回線171で接続される。
Further, the
処理部120cのレジスタ121には、処理部120cが第1画像メモリ103に書き込んだ画像データを読み出す後段装置の指定情報と、1ラインの画素数の指定情報が格納される。これら指定情報は第1CPU106によって指定される。
The
例えば、パイプライン処理部110aの処理の直後に後段のパイプライン処理部110bが処理を行う場合には、後段装置は、パイプライン処理部110bの読出部140bである。例えば、パイプライン処理部110aの処理の直後にブリッジ部150が第1画像メモリ103から画像データを読み出して出力する場合には、後段装置はブリッジ部150である。
For example, when the downstream
処理部120cの画像処理部123は、処理部120cが第1画像メモリ103に書き込んだ画像データのデータ量を、書込量通知部125及び書込停止部127に通知する。書込量通知部125及び書込停止部127は、書き込んだ画像データのデータ量とラインの画素数に基づき第1画像メモリ103に書き込まれたライン数を算出する。書込量通知部125は、書き込まれたライン数を示す書込量を、他のパイプライン処理部110b及び110cの読出部140へ通知する。各処理部120と、他のパイプライン処理部110の読出部140との間は、書込量を通知するための書込量通知回線172で接続される。
The
また、ブリッジ部150と各パイプライン処理部110の処理部120との間も、処理部120が第1画像メモリ103に書き込んだ書込量を通知するための書込量通知回線172で接続される。
The
読出部140の書込手段選択部146は、前段のパイプライン処理部110aの最後段の処理部120cの書込量が通知される書込量通知回線172を選択し、選択された回線で通知された書込量を読出停止部147に通知する。処理部120cの読出手段選択部126は、後段装置の読出量が通知される読出量通知回線171を選択し、選択された回線で通知された読出量を書込停止部127に通知する。
The writing means
図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
読出部140bと処理部120cとが読出量通知回線171及び書込量通知回線172で接続される。読出部140cと処理部120fとが読出量通知回線171及び書込量通知回線172で接続される。ブリッジ部150と処理部120iとが読出量通知回線171及び書込量通知回線172で接続される。
The
図15及び図16を参照する。読出停止部147は、読出部140bが第1画像メモリ103から読み出した読出量と、書込手段選択部146から通知される書込量を比較する。読出停止部147は、読出量が書込量以上になる場合には第1画像メモリ103からの画像データの読み出しを停止する。読出停止部147は、読出量が書込量未満の場合には第1画像メモリ103からの画像データの読み出しを許可する。
Please refer to FIG. 15 and FIG. The
書込停止部127は、処理部120cが第1画像メモリ103へ書き込んだ書込量と、読出手段選択部126から通知される読出量を比較する。書込停止部127は、書込量が読出量以上になる場合には第1画像メモリ103への画像データの書き込みを停止する。書込停止部127は、書込量が読出量未満の場合には第1画像メモリ103への画像データの書き込みを許可する。
The
本実施例によれば、第1画像メモリ103を経由して複数のパイプライン処理部110間で画像データを転送する場合、有効データの書き込みがまだ行われていないアドレスからの無効データの読出が防止できる。また、有効データの読み出しがまだ行われていないアドレスへのデータの上書きが防止される。
According to the present embodiment, when image data is transferred between a plurality of
<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
画像読取装置100は、基本画像処理装置180と、拡張画像処理装置181と、第3画像メモリ182を備える。拡張画像処理装置181は、上記の画像処理装置102と同様の構成を備える。拡張画像処理装置181は、基本画像処理装置180が実行しない複数の所定の画像処理をそれぞれ行う処理部120を含み、そのいずれかを組み合わせたパイプライン処理を行う。
The
例えば、画像読取装置100は、ある画像データに対しては、基本画像処理装置180のみで画像処理を施したデータを出力する。画像読取装置100は、他の画像データに対しては、基本画像処理装置180の画像処理を施した画像データを拡張画像処理装置181に入力し、拡張画像処理装置181で更に処理された画像データを第3画像メモリ182へ格納する。基本画像処理装置180は、拡張画像処理装置181経由で、第3画像メモリ182から画像データを読み出して画像読取装置100から出力する。
For example, the
<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
本実施例によれば、使用されていない処理部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
<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
パイプライン300aは、パイプライン処理により、画像処理装置102に入力された画像データに所定の画像処理を施す。メモリコントローラ400は、パイプライン300aから要求される第1画像メモリ103へのメモリアクセスを制御する。メモリコントローラ400は、第2実施例〜第5実施例におけるメモリコントローラ151と等しくてもよい。
The
読出アクセスバス401及び書込アクセスバス402は、それぞれ第1画像メモリ103からメモリコントローラ400への読出データの入力バス、及びメモリコントローラ400から第1画像メモリ103への書込データの出力バスである。
The read
制御用CPUバス403は、第1CPU106から出力される各種の制御信号が流れるバスである。第1CPU106は、パイプライン300aの設定情報は、制御用CPUバス403を経由して第1CPU106からパイプライン300aへ送信され、パイプライン300a内のレジスタに保持される。パイプライン300aにはクロック生成回路109からクロック信号が供給される。
The
図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
処理部310a〜310cは、それぞれ第1パイプラインステージ〜第3パイプラインステージにおいて画像データに所定の画像処理を施す。読出部320は、第1画像メモリ103から処理対象の画像データを読み出して、最前段の処理部310aに入力する。書込部330は、最終段の処理部310cで処理された画像データを第1画像メモリ103に書き込む。以下の説明において処理部310a〜310cを総称して処理部「310」と表記することがある。また第1パイプラインステージ〜第3パイプラインステージをそれぞれ「第1ステージ」〜「第3ステージ」と表記することがある。
The
読出バス302は、第1画像メモリ103から読み出される画像データをメモリコントローラ400から読出部320へ転送するためのバスである。書込バス304は、第1画像メモリ103へ書き込まれる画像データを書込部330からメモリコントローラ400へ転送するためのバスである。処理データバス303は、パイプライン処理部301内で処理対象の画像データを転送するバスである。
The
読出バス302、処理データバス303及び書込バス304は、第2実施例〜第5実施例による共通バス130によって形成されるバスであってよい。処理部310は、第2実施例〜第5実施例における処理部120であってもよい。
The
第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
クロック制御部340は、処理部310毎に、処理部310に有効な画像データが入力されるか否かを判断する。クロック制御部340は、有効な画像データが入力される処理部310にクロックを供給する。クロック制御部340は、有効な画像データが入力されていない処理部310にクロックを供給しない。
The
例えば、ある時点で処理部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
本実施例によれば、有効な画像データが入力されていない処理部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
図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
読出部320は、アドレス範囲の先頭アドレス及び長さと、すでに読出済みのデータ量に基づいて読出アドレスを決定し、第1画像メモリ103からデータを読み出す。出力部322は、読み出されたデータを第1ステージの処理部310aへ出力する。
The
また、出力部322は有効フラグを第1ステージに出力する。読出部320が第1画像メモリ103から有効データを読み出す場合に、出力部322は、有効データの出力期間と有効フラグの値を「オン」にする期間を同期させる。読出部320が第1画像メモリ103から有効データを読み出さない場合に、出力部322は、有効データを出力しない期間と有効フラグの値を「オフ」にする期間を同期させる。
Further, the
図22を参照する。書込制御部331は、上述の書込部330と、レジスタ332を備える。レジスタ332は、第1CPU106から受信した書込制御部331の設定情報を格納する。設定情報は、例えば書込制御部331の初期設定において与えられ、例えば、書込部330が第1画像メモリ103へ画像データを書き出すアドレス範囲の先頭アドレス及び長さと、処理対象のデータのサイズを含んでいてよい。
Refer to FIG. The
パイプライン300aは、転送路341a〜341cと、保持部342a〜342cと、ゲート部343a〜343cを備える。以下の説明において転送路341a〜341cを総称して「転送路341」と表記することがある。保持部342a〜342cを総称して「保持部342」と表記することがある。ゲート部343a〜343cを総称して「ゲート部343」と表記することがある。転送路341、保持部342、ゲート部343及び読出制御部321の出力部322は、クロック制御部340を形成する。
The
第1ステージに入力された有効フラグは、第1ステージに設けられた保持部342aに保持される。保持部342aは、受信した有効フラグを処理部310aの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて第2ステージに出力する。転送路341aは、保持部342aから出力された有効フラグを、第2ステージに設けられた保持部342bへ転送する。
The valid flag input to the first stage is held in the
保持部342bは、受信した有効フラグを処理部310bの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて第3ステージに出力する。転送路341bは、保持部342bから出力された有効フラグを、第3ステージに設けられた保持部342cへ転送する。
The holding
保持部342cは、受信した有効フラグを処理部310cの画像データの処理期間の間保持し、受信した有効フラグをこの処理期間分だけ遅延させて書込制御部331へ出力する。転送路341cは、保持部342cから出力された有効フラグを、書込制御部331へ転送する。
The holding
上記構成により、あるパイプラインステージに有効データが入力される期間と、入力される有効フラグの値が「オン」である期間が同期する。ゲート部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
ゲート部343bは、第2ステージに入力される有効フラグとクロック信号を受信する。ゲート部343bは、有効フラグが「オン」の期間に処理部310bへクロック信号を供給し、第2ステージに入力される有効フラグが「オフ」の期間に処理部310bへのクロック信号の供給を停止する。ゲート部343cは、第3ステージに入力される有効フラグとクロック信号を受信する。ゲート部343cは、有効フラグが「オン」の期間に処理部310cへクロック信号を供給し、第3ステージに入力される有効フラグが「オフ」の期間に処理部310cへのクロック信号の供給を停止する。クロック信号の供給が停止すると、処理部310は現在処理中の有効データを保持した状態で動作を停止する。
The
図24は、画像読取装置100の動作の一例の説明図である。ステップS10において、第1CPU106は、読出制御部321及び書込制御部331のレジスタ323及び332の値を初期設定する。
FIG. 24 is an explanatory diagram illustrating an example of the operation of the
ステップS11において、第1CPU106は、読出制御部321の動作を許可するための読出制御部321の設定を行う。読出制御部321のレジスタ323は、読出制御部321の動作を許可されているか、読出制御部321が動作を停止するように設定されているかを記憶していてよい。
In step S <b> 11, the
ステップS12において、パイプライン300aは画像データの処理を行う。ステップS12の動作は図25を参照して後述する。ステップS13において、第1CPU106は、書込制御部331による完了割込が発生したか否かを判断する。完了割込が発生した場合(ステップS13:Y)に動作はステップS14に進む。完了割込が発生しない場合(ステップS13:N)に動作はステップS12に戻る。
In step S12, the
ステップS14において、第1CPU106は、読出制御部321の動作を停止するための読出制御部321の設定を行う。読出制御部321の動作停止によりパイプライン300aへの有効データの入力が停止する。この結果、ステップS15において、パイプライン300aの処理部310及び書込制御部331が動作を停止する。
In step S <b> 14, the
図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
ステップS22において、書込制御部331は、処理部310a〜310cによって処理された後の有効データを第1画像メモリ103へ書き込む。ステップS23において、書込制御部331は、レジスタ332に記憶された処理対象のデータのサイズに基づいて、全ての有効データの処理が完了したか否かを判断する。全ての有効データの処理が完了していない場合(ステップS23:N)に動作はステップS20に戻る。
In step S <b> 22, the
全ての有効データの処理が完了した場合(ステップ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
図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
ステップS32において読出部320は、第1画像メモリ103から有効データを読み出す。ステップS33において出力部322は、有効データを第1ステージに出力する。ステップS34において出力部322は、有効フラグの値を「オン」にする。その後に動作はステップS36へ進む。
In step S <b> 32, the
ステップS35において出力部322は、有効フラグの値を「オフ」にする。その後に動作はステップS36へ進む。ステップS36において読出制御部321は、第1CPU106が、読出制御部321の動作を停止する設定を行ったか否かを判断する。動作を停止する設定が行われない場合(ステップS36:N)に動作はステップS31へ戻る。
In step S35, the
動作を停止する設定が行われた場合(ステップ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
図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
読出制御部321の出力、処理部310の入力及び出力、並びに書込制御部331のデータ書込のチャートのそれぞれの矩形の中の数字は、各クロックサイクルで読み出された有効データの順序を示す。図29及び30のタイミングチャート、図44及び45のタイミングチャートでも同様である。
The numbers in the respective rectangles in the charts of the output of the read
読出制御部321が、期間T1において有効データを出力するとこれに同期して有効フラグの値が「オン」になる。第1ステージに入力される有効データの値は期間T1の間に「オン」になるので、処理部310aに期間T1の間にクロック信号が供給される。処理部310aは、読出制御部321から有効データが出力される期間T1にこれらのデータを処理する。
When the read
処理部310aは、期間T1より1クロックサイクル遅延した期間T2で有効データを処理部310bへ出力する。第2ステージに入力される有効フラグも、第1ステージに入力される有効フラグよりも1クロックサイクル遅延している。第2ステージに入力される有効フラグの値は、期間T1よりも1クロックサイクル遅い期間T2において「オン」になり、処理部310bに期間T2の間にクロック信号が供給される。処理部310bは、処理部310aから有効データが出力される期間T2にこれらのデータを処理する。
The
同様に、処理部310cは、期間T2よりも1クロックサイクル遅い期間T3において、処理部310bから出力される有効データを処理する。
Similarly, the
処理部310cは、期間T3より1クロックサイクル遅延した期間T4で有効データを書込制御部331へ出力する。書込制御部331へ入力される有効フラグの値は期間T4で「オン」になる。書込制御部331は、有効フラグの値が「オン」になる期間T4で受信した有効データを第1画像メモリ103へ書き込む。
The
図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
第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
有効フラグの値が「オフ」である期間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
その後、期間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
第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
同様に、処理部310cは、期間T8及びT10より1クロックサイクル遅延した期間T11及びT13に有効データを処理し、期間T9より1クロックサイクル遅延した期間T12に動作を停止する。処理部310cは、期間T11及びT13より1クロックサイクル遅延した期間T14及びT16に有効データを出力する。書込制御部331は、有効フラグの値が「オン」になる期間T14及びT16で受信した有効データを第1画像メモリ103へ書き込む。
Similarly, the
本実施例によれば、読出制御部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
なお、読出制御部321及び書込制御部331は、それぞれ第2実施例〜第5実施例における読出部140及び最終段の処理部120と等しくてもよい。以下の実施例でも同様である。
Note that the
<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
パイプライン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
このため、第1CPU106は、パイプライン300bの読出制御部321に対して、画像データを読み出すアドレス範囲として、パイプライン300aの書込制御部331が画像データを書き込むアドレス範囲を指定する。第1CPU106は、パイプライン300cの読出制御部321に対して、画像データを読み出すアドレス範囲として、パイプライン300bの書込制御部331が画像データを書き込むアドレス範囲を指定する。
For this reason, the
図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
以下、パイプライン300bの読出制御部321及びパイプライン300aの書込制御部331の機能について説明するが、他のパイプライン300の読出制御部321及び書込制御部331の機能も同様である。
Hereinafter, functions of the read
第1画像メモリ103を経由して前段のパイプライン300aと後段のパイプライン300bの間で画像データを転送する場合、読出制御部321は書込が行われたアドレスからデータを読み出す。このため、読出制御部321は読出アドレスが書込アドレスを追い越さないようにデータの読み出しを制御する構成を有する。
When transferring image data between the preceding
読出制御部321は、選択部324と、読出停止部325を備える。また、書込制御部331は、書込量通知部333を備える。書込部330は、第1画像メモリ103に書き込んだ画像データのデータ量を書込量通知部333に通知する。書込量通知部333は、第1画像メモリ103に書き込んだ画像データのデータ量を、書込量として他のパイプライン300の読出制御部321へ通知する。
The
各書込制御部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
図32の(A)を参照する。読出制御部321のレジスタ323には、前段のパイプライン300aの書込制御部331から書込量が通知される書込量通知回線305を識別するための情報が格納される。この情報は、例えば、前段のパイプライン300aの書込制御部331と接続する書込量通知回線305そのものの識別情報でもよく、書込量通知回線305を間接的に特定するための前段のパイプライン300a又はその書込制御部331の識別情報でもよい。
Reference is made to FIG. The
選択部324は、レジスタ323に格納される情報に基づき、パイプライン300aの書込制御部331から書込量が通知される書込量通知回線305を選択する。選択部324は、選択した書込量通知回線305で通知された書込量を読出停止部325に入力する。
Based on the information stored in the
読出部320は、第1画像メモリ103から読み出した画像データのデータ量を、読出停止部325へ通知する。読出停止部325は、第1画像メモリ103から読み出した画像データのデータ量である読出量と、書込量通知回線305で通知された書込量とを比較する。読出停止部325は、読出量が書込量以上になる場合には、読出部320による第1画像メモリ103からの有効データの読み出しを停止する。読出停止部325は、読出量が書込量未満の場合には、読出部320による第1画像メモリ103からの有効データの読み出しを許可する。
The
読出停止部325が有効データの読み出しを許可する場合、出力部322は、読出部320が読み出した有効データを第1ステージの処理部310aへ出力する。また、出力部322は、有効データの出力期間と有効フラグの値を「オン」にする期間を同期させる。読出停止部325が読出部320による有効データの読み出しを停止する場合、出力部322は、有効データを出力しない期間と有効フラグの値を「オフ」にする期間を同期させる。選択部324と、読出停止部325と、書込量通知部333は、クロック制御部340の構成要素の一部である。
When the reading
図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
本実施例によれば、有効データの書き込みがまだ行われていないアドレスからの無効データの読出が防止できる。また、前段の有効データの書き込み待ちにより読出制御部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
なお、各パイプライン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
第1CPU106が、パイプライン300を動作させる場合には、読出制御部321の動作を許可させる。第1CPU106が、パイプライン300を動作させない場合には、読出制御部321の動作を停止する。レジスタ323には、読出制御部321のレジスタ323は、読出制御部321の動作を許可されているか、読出制御部321が動作を停止するように設定されているかを指定する設定情報が格納される。出力部322は、この設定情報を参照する。
When the
読出制御部321の動作が許可されている場合に、出力部322は有効データの出力期間に応じて有効フラグの値を「オン」及び「オフ」に設定する。読出制御部321の動作が停止するように設定されている場合に、出力部322は有効フラグの値を「オフ」に設定する。このため、パイプライン300の処理部310へのクロック供給が停止され、パイプライン300が停止する。
When the operation of the read
本変形例によれば、第1CPU106は、動作を停止させるパイプライン300を個別に設定し、動作を停止させるパイプライン300の処理部310へのクロック供給を停止して処理部310の動作を停止させる。このため消費電力を低減することができる。
According to this modification, the
<10.第10実施例>
図36は、図31を参照して画像処理装置102におけるパイプライン300aの第3例の機能ブロック図である。図22に示す構成要素と同様の構成要素には、図22で使用した参照符号と同じ参照符号を付す。パイプライン300b及び300cの構成は、パイプライン300aの構成と同様である。以下、パイプライン300a及び300bの機能について説明するが、他のパイプライン300cの機能も同様である。
<10. 10th Example>
FIG. 36 is a functional block diagram of a third example of the
第1画像メモリ103経由で前段のパイプライン300aと後段のパイプライン300bが画像データを転送する場合、パイプライン300aの書込制御部331は、パイプライン300bがデータを読み出す前に上書きしないようデータの書き込みを制御する。
When the
このため、パイプライン300aの書込制御部331は、書込制御部331の書込量とパイプライン300bの読出制御部321の読出量に応じてパイプライン300の動作を制御する停止フラグを出力する。書込制御部331は、書込量が読出量以上の場合に停止フラグの値を「オン」にする。書込制御部331は、書込量が読出量未満の場合に停止フラグの値を「オフ」にする。停止フラグは、ゲート部343及び読出制御部321に入力される。
For this reason, the
ゲート部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
図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
読出制御部321は、読出量通知部326を備える。書込制御部331は、選択部334と停止部335を備える。読出部320は、第1画像メモリ103から読み出した画像データのデータ量を読出量通知部326に通知する。読出量通知部326は、第1画像メモリ103から読み出した画像データのデータ量を、読出量として他のパイプライン300の書込制御部331へ通知する。
The
各読出制御部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
図37の(B)を参照する。書込制御部331のレジスタ332には、パイプライン300bの読出制御部321から読出量が通知される読出量通知回線306を識別するための情報が格納される。選択部334は、レジスタ332に格納される情報に基づき、パイプライン300bの読出制御部321から読出量が通知される読出量通知回線306を選択する。選択部334は、選択した読出量通知回線306で通知された読出量を停止部335に入力する。
Reference is made to FIG. The
書込部330は、第1画像メモリ103へ書き込んだ画像データのデータ量である書込量を停止部335へ通知する。停止部335は、読出量通知回線306で通知された読出量と書込量を比較する。書込量が読出量以上になる場合には、停止部335は書込部330による第1画像メモリ103への有効データの書き込みを停止する。また、停止フラグの値を「オン」に設定する。
The
停止部335は、書込量が読出量未満の場合には、書込部330による第1画像メモリ103への有効データの書き込みを許可する。また、停止フラグの値を「オフ」に設定する。
When the writing amount is less than the reading amount, the stopping
読出部320及び出力部322は、同じパイプライン300に設けられた書込制御部331が出力する停止フラグを入力する。停止フラグの値が「オン」である場合に、読出部320は、第1画像メモリ103からの有効データの読み出しを停止する。停止フラグの値が「オン」である場合に、出力部322は、出力データを現在出力中の有効データのまま維持する。読出量通知部326、選択部334及び停止部335は、クロック制御部340の構成要素の一部である。
The
図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
ステップS52において停止部335は、現在の停止フラグの値が「オン」であるか否かを判断する。停止フラグの値が「オン」である場合(ステップS52:Y)に動作はステップS53へ進む。停止フラグの値が「オン」でない場合(ステップS52:N)に動作はステップS54へ進む。
In step S52, the
ステップS53において停止部335は、停止フラグの値を「オフ」に設定する。その後に動作はステップS54へ進む。ステップS54において、書込部330は有効データを第1画像メモリ103へ書き込む。
In step S53, the
ステップS55において書込制御部331は、全ての有効データの処理が完了したか否かを判断する。全ての有効データの処理が完了していない場合(ステップS55:N)に動作はステップS51に戻る。全ての有効データの処理が完了した場合(ステップS55:Y)に、ステップS56において書込制御部331は、完了割込を発生させ、第1CPU106へ通知する。
In step S55, the
本実施例によれば、後段のパイプラインによる有効データの読み出しがまだ行われていないアドレスへの、前段のパイプラインのデータ上書きを防止できる。前段のパイプラインによるデータ書き込みを停止する間、各パイプライン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
図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
図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
ステップS67において読出制御部321は、第1CPU106が、読出制御部321の動作を停止する設定を行ったか否かを判断する。動作を停止する設定が行われない場合(ステップS67:N)に動作はステップS61へ戻る。動作を停止する設定が行われた場合(ステップS67:Y)に、ステップS68において出力部322は、有効フラグの値を「オフ」にする。
In step S <b> 67, the
図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
有効フラグが「オン」でない場合(ステップ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
図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
期間T17の後に停止フラグの値が「オフ」になると、読出制御部321は、有効データの読出を再開する。また、各処理部310はそれぞれ有効データの処理を再開し、再開後の最初のラッチタイミングで、期間T17で保持していた有効データを処理したデータを後段の処理部310へ出力し、次の有効データを前段の処理部310からラッチする。
When the value of the stop flag becomes “OFF” after the period T17, the
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
Claims (11)
有効データが入力される前記パイプラインステージの前記処理部にクロックを供給し、有効データが入力されない前記パイプラインステージの前記処理部へのクロック供給を停止するクロック制御部と、
を備えることを特徴とするデータ処理装置。 A pipeline processing unit having a plurality of processing units respectively processing data input to each of the pipeline stages in a plurality of different pipeline stages;
A clock control unit that supplies a clock to the processing unit of the pipeline stage to which valid data is input, and stops clock supply to the processing unit of the pipeline stage to which valid data is not input;
A data processing apparatus comprising:
前記パイプライン処理部としての第1パイプライン処理部と、
第1パイプライン処理部により処理されて前記メモリに書き込まれたデータを読み出す、前記パイプライン処理部としての第2パイプライン処理部と、を備え、
前記クロック制御部は、第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第2パイプライン処理部の前記パイプラインステージへの有効データが入力されるか否かを判断することを特徴とする請求項1に記載のデータ処理装置。 Memory,
A first pipeline processing unit as the pipeline processing unit;
A second pipeline processing unit serving as the pipeline processing unit for reading data processed by the first 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 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パイプライン処理部と、
第1パイプライン処理部により処理されて前記メモリに書き込まれたデータを読み出す、前記パイプライン処理部としての第2パイプライン処理部と、を備え、
前記フラグ生成部は、第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第2パイプライン処理部の前記パイプラインステージへの有効データの入力を示すフラグを生成することを特徴とする請求項3に記載のデータ処理装置。 Memory,
A first pipeline processing unit as the pipeline processing unit;
A second pipeline processing unit serving as the pipeline processing unit for reading data processed by the first pipeline processing unit and written to the memory;
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パイプライン処理部の前記パイプラインステージの前記処理部へのクロック供給を制御する、
ことを特徴とする請求項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の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、第1パイプライン処理部により前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、
第1パイプライン処理部による前記メモリへの書き込みデータ量と、第2パイプライン処理部による前記メモリからの読み出しデータ量とに応じて、第1パイプライン処理部の前記処理部へのクロック供給を制御するクロック制御部と、
を備えることを特徴とするデータ処理装置。 Memory,
A first pipeline processing unit having a plurality of processing units for processing data input to each pipeline stage in a first plurality of different pipeline stages, and writing the data processed by these processing units to the memory When,
A plurality of processing units respectively 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;
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 controller to control;
A data processing apparatus comprising:
第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第2パイプライン処理部と、
第1パイプライン処理部の前記処理部のクロック供給と、第2パイプライン処理部の前記処理部へのクロック供給を個別に停止するクロック制御部と、
を備えることを特徴とするデータ処理装置。 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 second plurality of different pipeline stages different from the first plurality of pipeline stages;
A clock control unit for individually stopping clock supply of the processing unit of the first pipeline processing unit and clock supply to the processing unit of the second pipeline processing unit;
A data processing apparatus comprising:
前記データ処理装置は、複数の異なるパイプラインステージにおいて各前記パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有するパイプライン処理部を備え、
前記クロック供給方法は、
前記パイプラインステージへ有効データが入力されるか否かを判断し、
有効データが入力される前記パイプラインステージの前記処理部にクロックを供給し、
有効データが入力されない前記パイプラインステージの前記処理部へのクロック供給を停止する、
ことを特徴とするクロック供給方法。 A clock supply method in a data processing apparatus,
The data processing apparatus includes a pipeline processing unit having a plurality of processing units that respectively process data input to the pipeline stages in a plurality of different pipeline stages,
The clock supply method includes:
Determining whether valid data is input to the pipeline stage;
Supply a clock to the processing unit of the pipeline stage to which valid data is input,
Stop the clock supply to the processing unit of the pipeline stage in which valid data is not input,
And a clock supply method.
前記データ処理装置は、
メモリと、
第1の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、これら処理部により処理されたデータを前記メモリに書き込む第1パイプライン処理部と、
第1の複数の異なるパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有し、第1パイプライン処理部により前記メモリに書き込まれたデータを読み出す第2パイプライン処理部と、を備え、
前記クロック供給方法は、第1パイプライン処理部により前記メモリへ書き込まれるデータ量と、前記メモリから第2パイプライン処理部に読み出すデータ量とに応じて、第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 processing units for processing data input to each pipeline stage in a first plurality of different pipeline stages, and writing the data processed by these processing units to the memory When,
A plurality of processing units respectively 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,
According to the clock supply method, the pipeline of the first pipeline processing unit depends on 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. A clock supply method comprising: controlling a clock supply to the processing unit of a stage.
前記データ処理装置は、
第1の複数の異なるパイプラインステージにおいて各前記パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第1パイプライン処理部と、
第1の複数のパイプラインステージと異なる第2の複数の異なるパイプラインステージにおいて各前記パイプラインステージに入力されたデータをそれぞれ処理する複数の処理部を有する第2パイプライン処理部と、を備え、
前記クロック供給方法は、第1パイプライン処理部の前記処理部のクロック供給と、第2パイプライン処理部の前記処理部へのクロック供給を個別に停止することを特徴とするクロック供給方法。 A clock supply method in a data processing apparatus,
The data processing device includes:
A first pipeline processing unit having a plurality of processing units respectively processing data input to each of the pipeline stages in a first plurality of different pipeline stages;
A second pipeline processing unit having a plurality of processing units respectively processing data input to the pipeline stages in a second plurality of different pipeline stages different from the first plurality of pipeline stages. ,
In the clock supply method, the clock supply to 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.
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 true JP2014182510A (en) | 2014-09-29 |
JP6141062B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019021793A1 (en) * | 2017-07-24 | 2019-01-31 | オリンパス株式会社 | Image processing device and imaging device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63137375A (en) * | 1986-11-29 | 1988-06-09 | Toshiba Corp | Lsi for image processing |
JP2008090853A (en) * | 1998-04-03 | 2008-04-17 | Sony Corp | Video signal processor and video signal processing method |
JP2009157629A (en) * | 2007-12-26 | 2009-07-16 | Toshiba Corp | Semiconductor integrated circuit device, and clock control method therefor |
JP2011113412A (en) * | 2009-11-27 | 2011-06-09 | Fuji Xerox Co Ltd | Image processing device, image forming apparatus, and image processing program |
-
2013
- 2013-03-18 JP JP2013055611A patent/JP6141062B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63137375A (en) * | 1986-11-29 | 1988-06-09 | Toshiba Corp | Lsi for image processing |
JP2008090853A (en) * | 1998-04-03 | 2008-04-17 | Sony Corp | Video signal processor and video signal processing method |
JP2009157629A (en) * | 2007-12-26 | 2009-07-16 | Toshiba Corp | Semiconductor integrated circuit device, and clock control method therefor |
JP2011113412A (en) * | 2009-11-27 | 2011-06-09 | Fuji Xerox Co Ltd | Image processing device, image forming apparatus, and image processing program |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019021793A1 (en) * | 2017-07-24 | 2019-01-31 | オリンパス株式会社 | Image processing device and imaging device |
WO2019021344A1 (en) * | 2017-07-24 | 2019-01-31 | オリンパス株式会社 | Image processing device and imaging device |
CN110366740A (en) * | 2017-07-24 | 2019-10-22 | 奥林巴斯株式会社 | Image processing apparatus and photographic device |
CN110678897A (en) * | 2017-07-24 | 2020-01-10 | 奥林巴斯株式会社 | Image processing apparatus and imaging apparatus |
CN110678897B (en) * | 2017-07-24 | 2022-09-27 | 奥林巴斯株式会社 | Image processing apparatus and imaging apparatus |
US11468539B2 (en) | 2017-07-24 | 2022-10-11 | Olympus Corporation | Image processing device and imaging device |
Also Published As
Publication number | Publication date |
---|---|
JP6141062B2 (en) | 2017-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8781260B2 (en) | Compositing in multiple video processing unit (VPU) systems | |
KR102023501B1 (en) | System on chip including configurable image processing pipeline, and system including the same | |
US20060267988A1 (en) | Synchronizing multiple cards in multiple video processing unit (VPU) systems | |
JP5679763B2 (en) | Semiconductor integrated circuit and all-around video system | |
US20240264963A1 (en) | Scatter and Gather Streaming Data through a Circular FIFO | |
US9070201B2 (en) | Image processing apparatus | |
TW202107884A (en) | Image processing circuitry | |
KR102400104B1 (en) | Image processing apparatus and Image processing method | |
US20210234543A1 (en) | Information processing apparatus, control method thereof, and non-transitory computer-readable storage medium | |
JP6141062B2 (en) | Data processing apparatus and clock supply method | |
US10649938B2 (en) | Information processing apparatus and method of transferring data | |
US10110927B2 (en) | Video processing mode switching | |
US9003132B2 (en) | Data processing apparatus and image processing apparatus | |
JP2014182502A (en) | Data processing apparatus and configuration method thereof | |
JP2018191154A (en) | Image processing apparatus, image processing method, and program | |
JP5583563B2 (en) | Data processing device | |
US20140092123A1 (en) | Drawing control device | |
JP2018005389A (en) | Image deformation circuit, image processing apparatus, and image deformation method | |
US20230409323A1 (en) | Signal processing apparatus and non-transitory computer-readable storage medium | |
US11514552B2 (en) | Line interleaving controller, image signal processor and application processor including the same | |
JP5890044B2 (en) | vehicle | |
US20190149734A1 (en) | Arithmetic processing device, image processing device, and imaging device | |
JP2010118023A (en) | Memory access control circuit and image processing device | |
KR102114342B1 (en) | Multimedia system and operating method of the same | |
JPH10326258A (en) | Data arithmetic system and method therefor |
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 |