JP4640989B2 - 画像処理装置及び画像処理制御方法 - Google Patents

画像処理装置及び画像処理制御方法 Download PDF

Info

Publication number
JP4640989B2
JP4640989B2 JP2006004366A JP2006004366A JP4640989B2 JP 4640989 B2 JP4640989 B2 JP 4640989B2 JP 2006004366 A JP2006004366 A JP 2006004366A JP 2006004366 A JP2006004366 A JP 2006004366A JP 4640989 B2 JP4640989 B2 JP 4640989B2
Authority
JP
Japan
Prior art keywords
processing
data
image data
program
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006004366A
Other languages
English (en)
Other versions
JP2007188196A (ja
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2006004366A priority Critical patent/JP4640989B2/ja
Priority to US11/621,771 priority patent/US7916975B2/en
Publication of JP2007188196A publication Critical patent/JP2007188196A/ja
Application granted granted Critical
Publication of JP4640989B2 publication Critical patent/JP4640989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0081Image reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0091Digital copier; digital 'photocopier'
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0093Facsimile machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Facsimiles In General (AREA)
  • Storing Facsimile Image Data (AREA)

Description

本発明は、デジタル複写機、ファクシミリ装置、プリンタ等の単体機器、あるいは、これらやスキャナ等の一部あるいは全部の処理機能を複合した複合機(MFP)、さらには、その他の画像データ処理機器に適用される画像処理装置及び画像処理制御方法に関する。
デジタル複写機などの画像処理装置では、例えば、ライン間補正やシェーディング補正、MTF(空間周波数特性)フィルタリング、ガンマ変換、階調処理などの処理機能が必要である。また、複合機(MFP)では、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等が1台の画像処理装置に要求される。
従来の画像処理装置では、一般に複数の独立の専用処理部を有するデータ処理ハードウエア(ASIC)を用いることで、複数の処理機能を実現していた(例えば、特許文献1、特許文献2参照)。
図14に、従来の複数の専用処理部を有するデータ処理ハードウエアを使用した画像処理装置のシステム構成例を示す。図14では簡単化のために、データ処理ハードウエア(ASIC)1100は3つの独立の専用ハード処理部1110、1120、1130からなるとしているが、一般には、それ以上の処理部を有している。ここで、処理部1110は、画像の処理Aを実行する処理ブロック(処理Aブロック)1111及び該処理ブロック専用のデータメモリ(A専用データメモリ)1112で構成される。同様に、処理部1120は処理Bブロック1121及びB専用データメモリ1122で構成され、処理部1130は処理Cブロック1131及びC専用データメモリ1132で構成される。又、処理部1110、1120、1130の間は内部バスで接続されている。
図14の画像処理装置は、このような専用ハード処理部1110、1120、1130を有するデータ処理ハードウエア(ASIC)1100、スキャナなどで原稿等を読み取る画像読み取り部1200、プリンタなどで画像データを紙などのメディアに出力する画像出力部1300、外部メディア(CD、DVD、SDカード等)や外部装置(パソコン等)と画像データを送受信する外部インターフェース部(外部I/F部)1400、データ処理ハードウエア(ASIC)1100の作業用メモリであるデータメモリ1500、ハードディスクなどでバックアップや再利用等のために画像データを保存しておく大容量記憶部1600、及び、装置全体の動作を制御する制御部1700等が、システムバス1800を介して接続されている。なお、データメモリ1500は、データ処理ハードウェア1100だけでなく、画像読み取り部1200、画像出力部1300、外部インターフェース部(外部I/F部)1400、データメモリ1500、大容量記憶部1600、及び、制御部1700の作業用メモリとしても使用される。
図15は、一例として、画像読み取り部1200などから入力された画像データを、専用データ処理ハードウエア(ASIC)1100内でA処理→B処理→C処理の順番に3種の画像処理を実行して画像出力部1300などに出力する場合の処理フローを示した図である。まず、ハードロジックの処理Aブロック1111が、A専用データメモリ1112を使用して、入力画像データに対して処理Aを実行し、処理結果の画像データを処理ブロック1121に転送する。処理Bブロック1121は、B専用データメモリ1122を使用して、処理Aブロック1111から転送された画像データに対して処理Bを実行し、処理結果の画像データを処理Cブロック1131に転送する。処理Cブロック1121は、C専用データメモリ1132を使用して、処理Bブロック1121から転送された画像データに対して処理Cを実行して出力する。ここで、どの処理ブロックを動作させるかは、例えば、制御部1700が司る。
図14に示した画像処理装置のように、複数の専用処理部を有するデータ処理ハードウエア(ASIC)を使用する利点は、速度性能が優れていることであるが、その反面、ハードロシックのため、機能変更や追加の柔軟性に欠けるという欠点がある。これの解決策として、DSP(デジタル信号プロセッサ)のようなプログラマブルデバイスを用いる場合がある。
図16に、プログラマブルデバイス(DSP)を用いて、複数の処理機能を実現する従来の画像処理装置のシステム構成例を示す。図16の画像処理装置は、ASICのデータ処理ハードウエアをDSPのプログラマブルデバイス2100に置き替えた以外、図14のシステム構成と基本的に同様である。プログラマブルデバイス2100には、あらかじめ複数の処理機能に対応した複数のプログラム(ここでは、処理A用プログラム、処理B用プログラム、処理C用プログラムとする)がそれぞれプログラムメモリ領域2111、2112、2113にロードされている。また、各処理プログラム用にそれぞれデータメモリ領域があらかじめ確保されている。ここでは、A用データメモリ領域2121、B用データメモリ領域2122、C用データメモリ領域2123とする。
図17は、一例として、画像読み取り部2200などから入力された画像データを、プログラマブルデバイス(DSP)2100でA処理→B処理→C処理の順番に3種の画像処理を実行して画像出力部2300などに出力する場合の処理フローを示した図である。まず、プログラムメモリ領域2111の処理A用プログラムにより、A用データメモリ領域2121を使用して、入力画像データに対して処理Aを実行する。次に、プログラムメモリ領域2112の処理B用プログラムにより、B用データメモリ領域2122を使用して、処理A用プログラムで処理された画像データに対して処理Bを実行する。最後に、プログラムメモリ領域2113の処理C用プログラムにより、C用データメモリ領域2123を使用して、処理B用プログラムで処理された画像データに対し処理Cを実行して出力する。どの処理プログラムを動作させるかは、例えば、制御部2700が司る。
DSPのようなプログラマブルデバイスを使用する利点は、DSP内の処理プログラムをダウンロードし直すことで、処理機能の変更・追加に柔軟に対処できることであるが、その反面、ソフト処理のため、専用のハードロジックに比べて速度性能が劣るという欠点がある。さらに、従来のプログラマブルデバイスでは処理用のプログラムメモリ及びデータメモリが各処理分必要であるため、コスト高になるという欠点がある。
このように、ASIC使用の画像処理装置とDSP使用の画像処理装置には一長一短があり、それぞれ使い分けているのが現状である。
特開平8−274986号公報 米国特許第5715070号明細書
近年の複合機(MFP)では、コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能等の強化により、処理フローが多様化・複雑化している。これはユーザの多様な要求に対応するために、種々の処理機能を搭載する必要があることによる。さらに、ユーザの画質性能への要求も強く、高画質化に対応するために、画像処理も増大する傾向にある。なお、処理フローの多様化・複雑化は、複合機に限らず、デジタル複写機、ファクシミリ装置、プリンタ等の単体機器、その他の画像データ処理機器でも同様である。
このため、ASICなどに代表される実際に画像処理を行うハードウエア部は肥大化し、製造コストが高くなるという問題が発生している。特にASICなどのデータ処理ハードウエアにおいては、上述のように内部に処理専用ブロックと処理専用メモリが必要な処理機能分だけ複数配置される構成であり、要求される処理機能を維持しながらのコスト削減は困難である。さらに、あらかじめ内部に専用ハードウエアロジックを構成し処理機能を実現するため、その後の処理変更や追加などの柔軟性に欠ける根本的問題がある。
一方、DSPのようなプログラマブルデバイスは、速度性能やコスト面ではASICなどに比べて劣るものの、ユーザの要求などに対し、その都度、機能を自由にプログラミングできる自由度の高さが最大の長所である。すなわち、行いたい処理機能をプログラミングし、プログラムコードをDSPなどにダウンロードすることで、処理変更や追加が容易に実現できる。しかしながら、従来のDSPなどのプログラマブルデバイスを用いた画像処理装置においては、上述のように、複数の処理機能を実行する場合、各処理分のプログラムメモリとデータメモリを必要とするため、DSPなどの規模が増大し、ASICなどに比べて高コストが、さらに増加する問題があった。
本発明は、上記の課題に鑑み、プログラミングの自由度を担保しながらも、メモリ増大を抑制して低コスト化を実現し、かつ、処理性能が向上する画像処理装置及び画像処理制御方法を提供することにある。
本発明は、プログラマブルなデータ処理部、画像データの記憶部、及び複数の処理プログラムの記憶部を有する画像処理装置において、データ処理部は、同時に処理が可能な複数の処理部を具備し、複数の処理部はそれぞれ、画像データの記憶部から画像データを読み込み、処理プログラムの記憶部から処理プログラムを読み込み、読み込んだ画像データに対して、読み込んだ処理プログラムを並列に実行し、処理後の画像データを画像データの記憶部に戻す処理を繰り返すことを基本とする。
そして、少なくとも一部の処理部(以下、第1の処理部)は、処理後の画像データを別の処理部(以下、第2の処理部)に転送することを特徴とする。さらに、第2の処理部は、第1の処理部から転送された画像データに対して、所定の処理を実行して、処理後の画像データを画像データの記憶部に戻し、第1の処理部は、処理後の画像データを第2の処理部に転送すると、第2の処理部での処理と並行して、処理プログラムの記憶部から次の処理プログラムを読み込み、画像データの記憶部から第2の処理部による処理後の画像データを読み込み、該画像データに対して次の処理を実行することを特徴とする。これにより、複数の処理の同時実行とともに、処理と並行してプログラムのロードも可能になる。
また、一実施形態では、複数の処理部はそれぞれ、処理プログラムの記憶部から異なる処理プログラムを読み込み、画像データの記憶部から読み込んだ画像データに対して異なる処理を並列に実行することを特徴とする。
また、複数の処理部はそれぞれ、前記処理プログラムの記憶部から処理対象の異なる画像データを読み込み、処理プログラムの記憶部から複数の処理プグラムを順番に読み込み、各画像データに対して複数の処理を順番に並列に実行することを特徴とする。これにより、複数の画像データそれぞれについて、所望の処理を並列に実行することが可能になる。
また、複数の処理部はそれぞれ、画像データの記憶部から画像データを分割して読み込み、処理プログラムの記憶部から互いに異なる処理プログラムを順番に読み込み、分割された画像データごとに、複数の処理を順番に実行することを特徴とする。あるいは、複数の処理部はそれぞれ、画像データの記憶部から画像データを分割して読み込み、処理プログラムの記憶部から互いに同じ処理プログラムを順番に読み込み、分割された画像データごとに、複数の処理を順番に実行することを特徴とする。これにより、処理対象の画像データを分割された各部分ごとに、一連の処理を並列に実行することが可能になり、全体の処理時間を短縮できる。
本発明によれば、プログラマブルなデータ処理部は複数の処理部を有し、各処理部ではそれぞれ複数の処理が並列に実行されるため、プログラミングの自由度を担保しなからも、メモリ増大を抑制し、且つ、処理性能の向上が可能になる。
以下、図面を参照して本発明の実施の形態について説明する。
[システム構成]
図1は、本発明による画像処理装置のシステム構成例を示すブロツク図である。本画像処理装置は、DSPのようなプログラマブルなデータ処理部110、原稿やその他の画像データを入力するスキャナなどや、その他のデータ入力部120、画像データを紙などのメディアに出力するプリンタなどのデータ出力部130、外部メディア(CD,DVD,SDカード等)や外部装置(パソコン等)と画像データを送受信する外部インターフェース部(外部I/F部)140、データ入力部120や該外部I/F部140から入力された画像データや処理結果の画像データ、プログラムコード(以下、プログラム)などを一時的に蓄積するDDRなどのデータメモリ150、バックアップや再利用等のために画像データを保存しておくハードディスクなどの大容量記憶部160、データメモリ150上のプログラム、画像データをデータ処理部110に転送制御したり、データメモリ上の処理結果の画像データをデータ出力部130等に出力制御するDMAコントローラなどのコントローラ部170、複数のプログラムが格納された不揮発性の記憶媒体180、装置全体の動作制御を司ると共に、記憶媒体180上のプログラムのデータメモリ150あるいはデータ処理部110へのロードを制御する制御CPU190、および、これら各部を接続するシステムバス200で構成される。なお、制御CPU190がコントローラ部170の機能を兼ねてもよく、この場合にはコントローラ部170は不要となる。
データ処理部110は、同時に別々の処理が可能な処理部を複数備える。本実施の形態では、処理部(1)110−1と処理部(2)110−2の2組備えるとする。処理部(1)110−1は処理用プログラムメモリ領域(プログラムメモリ)111−1、データメモリ領域112−1、及び、処理用プログラム領域111−1のプログラムを実行するCPU113で構成される。処理部(2)110−2は処理用プログラムメモリ領域111−2、データメモリ領域112−2、及び、処理用プログラム領域111−2のプログラムを実行する同じくCPU113で構成される。CPU113は、例えばデュアル・プロセッサであり、処理部(1)110−1と処理部(2)110−2で兼用される。なお、処理部(1)110−1、処理部(2)110−2がそれぞれ独立のCPUを持つことでもよい
[基本動作]
データ処理部110の処理部(1)110−1、処理部(2)110−2では、コントローラ部170あるいは制御CPU190の制御下で、それぞれ並行に、一つの処理は勿論のこと、複数の処理を順番にぐるぐる回しで実行する(ぐるぐる回し処理:Multi Round Image Processing)ことが可能である。
図2は、一例として、処理部(1)110−1では、処理用プログラムメモリ領域111−1に処理A用プログラム、処理B用プログラムが順番にロードされて、処理A、処理Bがぐるぐる回しで順番に実行され、処理部(2)110−2では、処理用プログラムメモリ領域111−2に処理C用プログラム、処理D用プログラムが順番にロードされて、処理C、処理Dがぐるぐる回しで順番に実行されることを示している。処理用プログラムは、データメモリ150あるいは記録媒体180から処理用プログラムメモリ利用領域111−1、111−2にロードされ、それぞれ上書き形式で書き換えられる。処理対象の画像データは、データメモリ150からデータメモリ領域112−1、112−2に取り込まれ、処理後の画像データは再びデータメモリ150に書き戻される。また、一方の処理部で処理された画像データに対して、他方の処理部で次の処理を実行する場合には、データ処理部110の内部バスを通して、処理部同士で画像データの転送が行われる。
このように、データ処理部110の処理部(1)110−1及び処理部(2)110−2では、それぞれ、高々一つの処理プログラム分の小規模の処理用プログラムメモリ領域111−1、111−2やデータメモリ領域112−1、112−2でもって、複数の処理が可能であり、低コスト化を満たすことができる。また、データ処理部110はDSPなどのプログラマブルデバイスであり、記録媒体180等のプログラムを変更あるいは追加することにより、自由に処理機能の変更や追加が可能である。さらに、処理部(1)110−1および処理部(2)110−2では、同時に別々の処理が実行可能であるため、処理性能が向上する。
以下に、二、三の実施例について動作を詳述する。なお、以下の説明では、データ処理部110の処理対象のプログラムは、あらかじめ記憶媒体180からデータメモリ150にロードされており、コントロール部170の制御下で該データメモリ150からデータ処理部110の処理部(1)110−1、処理部(2)110−1にロードされるとするが、制御CPU190の制御下で、記憶媒体180からシステムバス200経由で直接に処理部(1)110−1、処理部(2)110−2にロードすることでもよい。
[実施例1]
図3に本実施例におけるプログラムとデータの流れを示す。本実施例は、データ入力部120から入力された画像データに対して、処理A→処理B→処理Cの3種類の画像処理を順番に実行し、処理後の画像データをデータ出力部130に出力する場合に、データ処理部110の処理部(1)110−1に処理Aと処理Cを受け持たせ、処理部(2)110−2に処理Bを受け持たせるとしたものである。
図3では省略したが、制御CPU190は、システム立上げ時などに、記憶媒体180内の処理A用プログラム、処理B用プログラム及び処理C用プログラムを読み出し、システムバス200を通してデータメモリ150の所定領域にロードしておく。処理用プログラムには、一般に処理用パラメータが含まれているが、ここでは省略する。また、制御CPU190は、コントローラ部170に対して、各処理用プログラムのデータメモリ150内のアドレス、選択順序、送付先(ロード先)、その他、制御に必要な情報を送付し、該コントローラ部170内に設定する。
以後、制御の主導権がコントローラ部170に移り、該コントローラ部170の制御下で、図3のように、データ処理部110の処理部(1)110−1、処理部(2)110−2とデータメモリ150の間でプログラムのロード、画像データの転送及び書き戻しが繰り返されて、処理A→処理B→処理Cがぐるぐる回しで順番に実行され、処理後の画像データがデータ出力部130に出力される。以下、図3のプログラムとデータの流れを順を追って詳述する。
スタートボタンの押下等を契機に、データ入力部120で読み取られた画像データは、システムバス200を通してデータメモリ150に格納される。図3の処理前画像データは、これを示している。
コントローラ部170は、データメモリ150から処理A用プログラム及び処理B用プログラムを読み出し、システムバス200を通してDMA形式で、処理A用プログラムはデータ処理部110の処理部(1)110−1に、処理B用プログラムは処理部(2)110−1に送付する。処理部(1)110−1は、送付された処理A用プログラムを処理用プログラムメモリ領域111−1に格納(ロード)し、処理部(2)110−2は、送付された処理B用プログラムを処理用プログラムメモリ領域111−2に格納(ロード)する。
次に、コントローラ部170は、データメモリ150から処理対象の画像データ(処理前画像データ)を読み出し、同じくDMA形式でシステムバス200を通してデータ処理部110の処理部(1)110−1に転送する。処理部(1)110−1は、データメモリ150から転送された画像データをデータメモリ領域112−1に格納する。
データ処理部110の処理部(1)110−1では、処理用プログラムメモリ領域111−1の処理A用プログラムに基づいて、データメモリ領域112−1の画像データに対して処理A(例えば、シェーディング補正など)を実行し、処理A後の画像データを、データ処理部110の内部バスを通して処理部110−2のデータメモリ領域112−2に格納する。これにより、処理部(2)110−2では、処理用プログラムメモリ領域111−2の処理B用プログラムに基づいて、データメモリ領域112−2の処理A後の画像データに対して処理B(例えば、MTFフィルタリングとガンマ変換など)を実行し、処理B後の画像データを、システムバス200を通してデータメモリ150に書き戻す。図3の処理後画像データは、これを示している。
なお、処理後の画像データを、データ処理部110の内部バスを通して一方の処理部のデータメモリ領域から他方の処理部のデータメモリ領域に転送するか、あるいは、システムバス200を通してデータメモリ150に書き戻すかは、例えば、各処理用プログラムに定義しておけばよい。あるいは、処理に先立って、制御CPU190がデータ処理部110のCPU113に通知しておくことでもよい。
一方、コントローラ部170は、データ処理部110の処理部110−1からの終了通知等により、処理部110−1での処理A用プログラムの処理終了を確認すると、データメモリ150から処理C用プログラムを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部(1)110−1に送付する。処理部(1)110−1は、送付された処理C用プログラムを処理用プログラムメモリ領域111−1に、先の処理A用プログラムを上書きして格納(ロード)する。この処理部(1)110−1における処理C用プログラムのロード動作は、処理部(2)110−2における処理B用プログラムの処理実行と並行して実行される。
次に、コントローラ部170は、データ処理部110の処理部(2)110−2からの終了通知や、あるいは自身によるデータメモリ150へのデータ書き戻し監視等により、処理部(2)110−2での処理B用プログラムの処理終了を確認すると、データメモリ150から処理B後の画像データを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部(1)110−1に転送する。
データ処理部110の処理部(1)110−1は、データメモリ150から転送された処理B後の画像データをデータメモリ領域112−1に格納し、該処理B後の画像データに対して、処理用プログラムメモリ領域111−1の処理C用プログラムに基づいて処理C(例えば、階調処理など)を実行し、処理C後の画像データを、システムバス200を通してデータメモリ150に書き戻す。
コントローラ部170は、データ処理部110の処理部(1)110−1からの終了通知、あるいは、自身によるデータメモリ150のデータ書き戻し監視等により、処理部(1)110−1での処理C用プログラムの処理終了を確認すると、必要な処理がすべて終了したと判断して、データメモリ150から処理後画像データを読み出し、データ出力部130に出力する。なお、この出力処理は、制御CPU190が受け持つことでもよい。
図4に本実施例のタイムチャートを示す。時刻t0で画像データの入力を開始し、時刻t1で入力が終了すると、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理A用プログラム、処理用Bプログラムをロードする(t1〜t2)。続いて、コントローラ部170は、データメモリ150の画像データを処理部(1)110−1に転送し、処理部(1)110−1は、該画像データに対して処理Aを実行し、処理A後の画像データを処理部(2)110−2に転送する(t2〜t3)。処理部(2)110−2は、処理A後の画像データに対して処理Bを実行し、処理B後の画像データをデータメモリ150に書き戻す(t3〜t4)。
一方、コントローラ部170は、処理部(2)110−2での処理Bの実行と並行して、処理部(1)110−1に対して処理C用プログラムを送付する(t3〜t4)。続いて、コントローラ部170はデータメモリ150に書き戻されている処理B後の画像データを処理部(1)110−1に転送し、処理部(1)110−1は、該処理B後の画像データに対して処理Cを実行し、処理C後の画像データをデータメモリ150に書き戻す(t4〜t5)。コントローラ部170は、時刻t5以降、データメモリ150から処理C後の画像データをデータ出力部130に出力する。
本実施例では、処理A用プログラムと処理B用プログラムの同時ロード、さらには、処理Bの実行と処理C用プログラムのロードの並行動作の分、処理機能が向上する。また、データ処理部110の処理部(1)110−1では、高々一つの処理プログラム分のプログラムメモリ領域でデータメモリ領域で持って、処理Aと処理Cの処理が可能である。勿論、処理部(2)110−2が処理Aと処理Cを実行し、処理部(1)110−1が処理Bを実行することでもよい。
[実施例2]
図5及び図6に本実施例におけるプログラムとデータの流れを示す。本実施例は、複数の処理同士に、特に処理順序性に制約がないような場合、処理対象の画像データを分割して、各分割データについて、処理部(1)110−1と処理部(2)110−2でそれぞれ複数の処理を交互に並列に実行するようにしたものである。
図5及び図6は、一例としてデータ入力部120から入力された画像データに対して、処理A、処理B、処理C、処理Dを実行し(処理の順序は任意)、処理後の画像データをデータ出力部130に出力するとした場合、入力された画像データを2つに分け、前半部分の分割データ1の処理を処理部(1)110−1に、後半部分の分割データ2の処理を処理部(2)110−2に受け持たせて、最初は、処理部(1)110−1が分割データ1に対して処理Aと処理Cを、処理部(2)110−2が分割データ2に対して処理Bと処理Dを並列に実行し(図5)、次に、処理部(1)110−1が処理A,C後の分割データ1に対して処理Bと処理Dを、処理部(2)110−2が処理B,D後の分割データ2に対して処理Aと処理Cを同じく並列に実行して(図6)、処理A〜Dの実行された画像データを出力する場合を示したものである。
以下に、図5及び図6のプログラムとデータの流れを順を追って詳述する。なお、図7に本実施例におけるデータメモリ150内の処理後画像データの遷移を示す。
制御CPU190は、システム立上げ時などに、記憶媒体180内の処理A用プログラム、処理B用プログラム、処理C用プログラム及び処理D用プログラムを読み出し、システムバス200を通してデータメモリ150の所定領域にロードしておく。処理用プログラムには、一般に処理用パラメータが含まれるが、ここでは省略する。また、制御CPU190は、コントローラ部170に対して、各処理用プログラムのデータメモリ150内のアドレス、選択順序、送付先(ロード先)、その他、制御に必要な情報を送付し、該コントローラ部170内に設定する。以後、コントローラ部170の制御下で、図5、図6に示すように、データ処理部110の処理部(1)110−1、処理部(2)110−2とデータメモリ150の間でプログラムのロード、画像データの転送及び書き戻しが繰り返されて、入力された画像データに対して前半と後半ずつそれぞれ処理A,C,B,Dが並行に実行され、処理A〜D後の画像データがデータ出力部130に出力される。
まず、図5のプログラムとデータの流れを説明する。図5は、データ入力部120から画像データを入力し、該画像データの前半部分に処理A、処理Cを実施し、後半部分に処理B、処理Dを実施するまでを示したものである。
スタートボタンの押下等を契機に、データ入力部120で読み取られた画像データは、システムバス200を通してデータメモリ150に格納される。図5の処理前画像データは、これを示している。
コントローラ部170は、データメモリ150から処理A用プログラムと処理B用プログラムを読み出し、システムバス200を通してDMA形式で、処理A用プログラムはデータ処理部110の処理部(1)110−1に、処理B用プログラムは処理部(2)110−2に送付する。処理部(1)110−1は、送付された処理A用プログラムを処理用プログラムメモリ領域111−1に格納(ロード)し、処理部(2)110−2は、送付された処理B用プログラムを処理用プログラムメモリ領域111−2に格納(ロード)する。
次に、コントローラ部170は、データメモリ150から処理対象の画像データ(処理前画像データ)を読み出し、システムバス200を通してDMA形式で、該画像データの前半部分(以下、分割データ1)はデータ処理部110の処理部(1)110−1に、後半部分(以下、分割データ2)は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された分割データ1をデータメモリ領域112−1に格納して、該分割データ1に対して、処理用プログラムメモリ領域111−1の処理A用プログラムに基づいて所定の処理Aを実行し、処理A後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。処理部(2)110−2は、データメモリ150から転送された分割データ2をデータメモリ領域112−2に格納して、該分割データ2に対して、処理用プログラムメモリ領域111−2の処理用Bプログラムに基づいて所定の処理Bを実行し、処理B後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1と処理部(2)110−2の処理は並列に実行される。図7(a)は、この時点のデータメモリ150内の処理後画像データの状態を示したものである。
コントローラ部170は、データ処理部110の処理部(1)110−1、処理部(2)110−2からの終了通知、あるいは、自身によるデータメモリ150へのデータ書き戻し監視等により、処理部(1)110−1、処理部(2)110−2での処理A、処理Bの終了を確認すると、次に、データメモリ150から処理C用プログラムと処理D用プログラムを読み出し、システムバス200を通してDMA形式で、処理C用プログラムはデータ処理部110の処理部(1)110−1に、処理D用プログラムは処理部(2)110−2に送付する。処理部(1)110−1、処理部(2)110−2では、送付された処理C用プログラムあるいは処理D用プログラムを、それまでの処理A用プログラムあるいは処理B用プログラムを上書きする形式でそれぞれ処理プログラムメモリ領域111−1、処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理後画像データ(図7(a))を読み出し、システムバス200を通してDMA形式で、該処理後画像データの前半部分の処理A後の分割データ1はデータ処理部110の処理部(1)110−1に、後半部分の処理B後の分割データ2は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理A後の分割データ1をデータメモリ領域112−1に格納して、該分割データ1に対して、処理用プログラムメモリ領域111−1の処理C用プログラムに基づいて所定の処理Cを実行し、処理C後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された処理B後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2に対して、処理用プログラムメモリ領域111−2の処理D用プログラムに基づいて所定の処理Dを実行し、処理D後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。図7(b)は、この時点のデータメモリ150内の処理後画像データの状態を示したものである。
ここまでが図5のプログラムとデータの流れである。次に、図6のプログラムとデータの流れを説明する。図6は、画像データの前半部分の処理A、処理Cの処理済みの分割データ1に対して処理B、処理Dを実施し、後半部分の処理B、処理Dの処理済みの分割データ2に対して処理A、処理Cを実施して、処理A〜Dがすべて処理された画像データをデータ出力部130に出力するまでを示したものである。
コントローラ部170は、処理部(1)110−1、処理部(2)110−2での処理C、処理Dの終了を確認すると、データメモリ150から再び処理Aプログラムと処理B用プログラムを読み出し、システムバス200を通してDMA形式で、先とは逆に処理B用プログラムはデータ処理部110の処理部(1)110−1に、処理A用プログラムは処理部(2)110−2に送付する。処理部(1)110−1は、先の処理C用プログラムを上書きする形式で送付された処理B用プログラムを処理用プログラムメモリ領域111−1に格納する。同様に、処理部(2)110−2は、先の処理D用プログラムを上書きする形式で送付された処理A用プログラムを処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理後画像データ(図7(b))を読み出し、システムバス200を通してDMA形式で、該処理後画像データの前半部分の処理C後の分割データ1はデータ処理部110の処理部(1)110−1に、後半部分の処理D後の分割データ2は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理C後の分割データ1をデータメモリ領域1112−1に格納して、該分割データ1(処理A,Cが処理済み)に対して、処理用プログラムメモリ領域111−1の処理B用プログラムに基づいて所定の処理Bを実行し、処理B後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された処理D後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2(処理B、Dが処理済み)にして、処理用プログラムメモリ領域111−2の処理A用プログラムに基づいて所定の処理Aを実行し、処理A後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。図7(c)は、この時点のデータメモリ150内の処理後の画像データの状態を示したものである。
コントローラ部170は、処理部(1)110−1、処理部(1)110−2での処理B、処理Aの終了を確認すると、データメモリ150から再び処理C用プログラムと処理D用プログラムを読み出し、システムバス200を通してDMA形式で、先とは逆に処理D用プログラムはデータ処理部110の処理部110−1に、処理C用プログラムは処理部110−2に送付する。処理部(1)110−1、処理部(2)110−2では、送付された処理D用プログラムあるいは処理C用プログラムを、それまでの処理B用プログラムあるいは処理A用プログラムを上書きする形式でそれぞれ処理用プログラムメモリ領域111−1、処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理後の画像データ(図7(c))を読み出し、システムバス200を通してDMA形式で、該処理後画像データの前半部分の処理B後の分割データ1はデータ処理部110の処理部(1)110−1に、後半部分の処理A後の分割データ2は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理B後の分割データ1をデータメモリ領域112−1に格納して、該分割データ1(処理A,C,Bが処理済み)に対して、処理用プログラムメモリ領域111−1の処理D用プログラムに基づいて所定の処理Dを実行し、処理D後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された処理A後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2(処理B,D,Aが処理済み)に対して、処理用プログラムメモリ領域112−2の処理C用プログラムに基づいて所定の処理Cを実行し、処理C後の分割データ2を、システムバス200を通してデータメモ150に書き戻す。図7(d)は、この時点のデータメモリ150内の処理後画像データの状態を示したものである。すなわち、これで入力された画像データに対して所定の処理A〜Dがすべて処理されたことになる。
コントローラ部170は、処理部(1)110−1、処理部(2)110−2での処理D、処理Cの終了を確認すると、すなわち、入力された画像データに対する処理A〜Dの実行がすべて終了した場合、データメモリ150から処理後画像データ(図7(d))を読み出し、データ出力部130に出力する。本実施例でも、出力処理は制御CPU190が受け持つことでもよい。
図8に本実施例の全体のタイムチャートを示す。時刻t0で画像データの入力を開始し、時刻t1で入力が終了すると、コントローラ部170は、まず、処理部(1)110−1、処理部(2)110−2にそれぞれ処理A用プログラム、処理B用プログラムをロードする(t1〜t2)。引き続いてコントローラ部170は、データメモリ150の処理前画像データの前半部分(分割データ1)を処理部(1)110−1に、後半部分(分割データ2)を処理部(2)110−2に転送する。処理部(1)110−1は、分割データ1に対して処理Aを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は分割データ2に対して処理Bを実行して、データメモリ150に書き戻す(t2〜t3)。
次に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理C用プログラム、処理D用プログラムをロードする(t3〜t4)。引き続いてコントローラ部170は、データメモリ150の処理後画像データにおける処理A後の分割データ1を処理部(1)110−1に、処理B後の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理A後の分割データ1に対して処理Cを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、処理D後の分割データ2に対して処理Dを実行して、データメモリ150に書き戻す(t4〜t5)。
ここまでで、入力画像データの前半部分は処理A,Cが処理済みとなり、後半部分は処理B,Dが処理済みとなる。
次に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理B用プログラム、処理A用プログラムをロードする(t5〜t6)。引き続いてコントローラ部170は、データメモリ150の処理後画像データにおける処理A,C後の分割データ1を処理部(1)110−1に、処理B,D後の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理A,C後の分割データ1に対して処理Bを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、処理B,D後の分割データ2に対して処理Aを実行して、データメモリ150に書き戻す(t6〜t7)。
最後に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理D用プログラム、処理C用プログラムをロードする(t7〜t8)。引き続いてコントローラ部170は、データメモリ150の処理後画像データにおける処理A,C,B後の分割データ1を処理部(1)110−1に、処理B,D,A後の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理A,C,B後の分割データ1に対して処理Dを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、処理B,D,A後の分割データ2に対して処理Cを実行して、データメモリ150に書き戻す(t8〜t9)。
これにより、入力画像データに対して処理A〜Dがすべて実行されたことになる。時刻t9以降、コントローラ部170は、データメモリ150の処理A〜Dがすべて実行された処理後画像データをデータ出力部130に出力する。
本実施例では、処理対象の画像データに対して複数の異なる処理を実行する場合、該画像データを分割し、各分割データについて、処理部(1)110−1、処理部(2)110−2で順次それぞれ異なる処理を交互に並行に行うことで、所望の複数種類の処理された画像データを出力することが可能であり、それぞれが並行に行われるため、処理性能が向上する。また、データ処理部110の処理部(1)110−1、処理部(2)110−2では、高々一つの処理プログラムのプログラムメモリ領域と分割データ分のデータメモリ領域でもって、それぞれ複数の処理が可能である。
[実施例3]
図9及び図10に本実施例におけるプログラムとデータの流れを示す。前記実施例2は、同じ処理用プログラムを二度ロードする必要がある。また、処理の順序性に制約があるような場合には不向きである。本実施例は、処理対象の画像データを分割して、各分割データについて、処理部(1)110−1と処理部(2)110−2でそれぞれ同じ処理プログラムを並列に実行するようにして、同じ処理用プログラムを二度ロードする必要がなく、また、処理の順序性に制約があるような場合にも適用可能としたものである。
図9及び図10は、一例として、データ入力部120から入力された処理対象の画像データを2つに分けて、前半部分の分割データ1の処理は処理部(1)110−1に、後半部分の分割データ2の処理は処理部(2)110−2に受け持たせ、処理部(1)110−1及び処理部(2)110−2が、それぞれ分割データ1、分割データ2に対して、処理A→処理B→処理C→処理Dを順番に並列に実行し、処理後の画像データをデータ出力部130に出力する場合を示したものである。
以下に、図9及び図10のプログラムとデータの流れを順を追って詳述する。なお、本実施例におけるデータメモリ150内の処理後画像データの遷移図は省略する。
先の実施例2と同様に、制御CPU190は、システム立上げ時などに、記憶媒体180内の処理A用プログラム、処理B用プログラム、処理C用プログラム及び処理D用プログラムを読み出し、システムバス200を通してデータメモリ150の所定領域にロードしておく。処理用プログラムには、一般に処理用パラメータが含まれるが、ここでは、省略する。また、制御CPU190は、コントローラ部170に対して、各処理用プログラムのデータメモリ150内のアドレス、選択順序、送付先(ロード先)、その他、制御に必要な情報を送付し、該コントローラ部170内に設定する。以後、コントローラ部170の制御下で、図9、図10に示すように、データ処理部110の処理部(1)110−1、処理部(2)110−2とデータメモリ150の間でプログラムのロード、画像データの転送及び書き戻しが繰り返されて、入力された画像データに対して前半と後半ずつ処理A〜処理Dが並行に実行され、処理後の画像データがデータ出力部130に出力される。
まず、図9のプログラムとデータの流れを説明する。図9は、データ入力部120から画像データを入力し、該画像データの前半部分と後半部分に対してそれぞれ並列に処理A、処理Bを実行するまでを示したものである。
スタートボタンの押下等を契機に、データ入力部120で読み取られた画像データは、システムバス200を通してデータメモリ150に格納される。図9の処理前画像データは、これを示している。
コントローラ部170は、まず、データメモリ150から処理A用プログラムを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部(1)110−1と処理部(2)110−2に送付する。処理部(1)110−1は、送付された処理Aプログラムを処理用プログラムメモリ領域111−1に格納(ロード)し、処理部(2)110−2は、同じく送付された処理A用プログラムを処理用プログラムメモリ領域111−2に格納(ロード)する。
次に、コントローラ部170は、データメモリ150から処理対象の画像データ(処理前画像データ)を読み出し、システムバス200を通してDMA形式で、該画像データの前半部分(以下、分割データ1)はデータ処理部110の処理部(1)110−1に、後半部分(以下、分割データ2)は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された分割データ1をデータメモリ領域112−1に格納して、該分割データ1に対して、処理用プログラムメモリ領域111−1の処理A用プログラムに基づいて所定の処理Aを実行し、処理A後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された分割データ2をデータメモリ領域112−2に格納して、該分割データ2に対して、同じく処理用プログラムメモリ領域111−2の処理A用プログラムに基づいて処理Aを実行し、処理A後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。
コントローラ部170は、データ処理部110の処理部(1)110−1、処理部(2)110−2からの終了通知、あるいは、自身によるデータメモリ150へのデータ書き戻し監視等により、処理部(1)110−1、処理部(2)110−2での処理Aの終了を確認すると、次に、データメモリ150から処理B用プログラムを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部(1)110−1と処理部(2)110−2に送付する。処理部(1)110−1、処理部(2)110−2では、送付された処理B用プログラムを、それまでの処理A用プログラムを上書きする形式でそれぞれ処理プログラムメモリ領域111−1、処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理A後画像データを読み出し、システムバス200を通してDMA形式で、該処理A後画像データの前半部分の分割データ1はデータ処理部110の処理(1)110−1に、後半部分の分割データ2は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理A後の分割データ1をデータメモリ領域112−1に格納して、該分割データ1に対して、処理用プログラムメモリ領域111−1の処理B用プログラムに基づいて所定の処理Bを実行し、処理B後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、同じくデータメモリ150から転送された処理A後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2に対して、処理用プログラムメモリ領域111−2の処理B用プログラムに基づいて所定の処理Bを実行し、処理B後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。
ここまでが図9のプログラムとデータの流れである。次に、図10のプログラムとデータの流れを説明する。図10は、処理A,Bの処理済みの画像データに対して引き続き前半部分と後半部分ごとにそれぞれ並列に処理C、処理Dを実行し、処理後画像データをデータ出力部130に出力するまでを示したものである。
コントローラ部170は、処理部(1)110−1、処理部(2)110−2での処理Bの終了を確認すると、データメモリ150から処理C用プログラムを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部(1)110−1と処理部(2)110−2に送付する。処理部(1)110−1は、先の処理B用プログラムを上書きする形式で送付された処理C用プログラムを処理用プログラムメモリ領域111−1に格納する。同様に、処理部(2)110−2は、先の処理B用プログラムを上書きする形式で送付された処理C用プログラムを処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理B後画像データを読み出し、システムバス200を通してDMA形式で、該処理B後画像データの前半部分の分割データ1はデータ処理部110の処理部(1)110−1に、後半部分の分割データ2は処理部(1)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理B後の分割データ1をデータメモリ領域1112−1に格納して、該分割データ1(処理A,Bが処理済み)に対して、処理用プログラムメモリ領域111−1の処理Cプログラムに基づいて所定の処理Cを実行し、処理C後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、同様に、データメモリ150から転送された処理B後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2(処理A,Bが処理済み)にして、処理用プログラムメモリ領域111−2の処理Cプログラムに基づいて所定の処理Cを実行し、処理C後の分割データ2を、システムバス200を通してデータメモリ150に書き戻す。
コントローラ部170は、処理部(1)110−1、処理部(1)110−2での処理Cの終了を確認すると、データメモリ150から処理D用プログラムを読み出し、システムバス200を通してDMA形式で、データ処理部110の処理部110−1と、処理部110−2に送付する。処理部(1)110−1、処理部(2)110−2では、送付された処理D用プログラムを、それまでの処理C用プログラムを上書きする形式でそれぞれ処理用プログラムメモリ領域111−1、処理用プログラムメモリ領域111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理C後画像データを読み出し、システムバス200を通してDMA形式で、該処理C後画像データの前半部分の分割データ1はデータ処理部110の処理部(1)110−1に、後半部分の分割データ2は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理C後の分割データ1をデータメモリ領域112−1に格納して、該分割データ1(処理A,B,Cが処理済み)に対して、処理用プログラムメモリ領域111−1の処理D用プログラムに基づいて所定の処理Dを実行し、処理D後の分割データ1を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、同様に、データメモリ150から転送された処理C後の分割データ2をデータメモリ領域112−2に格納して、該分割データ2(処理A,B,Cが処理済み)に対して、処理用プログラムメモリ領域112−2の処理D用プログラムに基づいて所定の処理Dを実行し、処理D後の分割データ2を、システムバス200を通してデータメモ150に書き戻す。これで入力された画像データに対して所定の処理A〜Dがすべて順番に処理されたことになる。
コントローラ部170は、処理部(1)110−1、処理部(2)110−2での処理Dの終了を確認すると、すなわち、入力された画像データに対する処理A〜Dの実行がすべて終了した場合、データメモリ150から処理後画像データを読み出し、データ出力部130に出力する。本実施例でも、出力処理は制御CPU190が受け持つことでもよい。
図11に本実施例の全体のタイムチャートを示す。時刻t0で画像データの入力を開始し、時刻t1で入力が終了すると、コントローラ部170は、まず、処理部(1)110−1、処理部(2)110−2にそれぞれ処理A用プログラムをロードする(t1〜t2)。引き続いてコントローラ部170は、データメモリ150の処理前画像データの前半部分(分割データ1)を処理部(1)110−1に、後半部分(分割データ2)を処理部(2)110−2に転送する。処理部(1)110−1は、分割データ1に対して処理Aを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は同じく分割データ2に対して処理Aを実行して、データメモリ150に書き戻す(t2〜t3)。
次に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2に処理B用プログラムをロードする(t3〜t4)。引き続いてコントローラ部170は、データメモリ150の処理A後画像データにおける前半部分の分割データ1を処理部(1)110−1に、後半部分の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理A後の分割データ1に対して処理Bを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、同じく処理A後の分割データ2に対して処理Bを実行して、データメモリ150に書き戻す(t4〜t5)。
次に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理C用プログラムをロードする(t5〜t6)。引き続いてコントローラ部170は、データメモリ150の処理B後画像データにおける前半部分の分割データ1を処理部(1)110−1に、後半部分の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理B後の分割データ1に対して処理Cを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、同じく処理B後の分割データ2に対して処理Cを実行して、データメモリ150に書き戻す(t6〜t7)。
最後に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2に処理D用プログラムをロードする(t7〜t8)。引き続いてコントローラ部170は、データメモリ150の処理C後画像データにおける前半部分の分割データ1を処理部(1)110−1に、後半部分の分割データ2を処理部(2)110−2に転送する。処理部(1)110−1は、処理C後の分割データ1に対して処理Dを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、同じく処理C後の分割データ2に対して処理Dを実行して、データメモリ150に書き戻す(t8〜t9)。
これにより、入力画像データに対して処理A〜Dがすべて実行されたことになる。時刻t9以降、コントローラ部170は、データメモリ150の処理A〜Dがすべて実行された処理後画像データをデータ出力部130に出力する。
本実施例では、処理対象の画像データに対して複数の異なる処理を順番に実行して、出力する場合、該画像データを分割し、各分割データごとに、処理部(1)110−1、処理部(2)110−2でそれぞれ各処理を順番に並行に行うことが可能であり、各処理用のプログラムのロードはそれぞれ一回でよく、さらに処理性能が向上する。
[実施例4]
図12に本実施例におけるプログラムとデータの流れを示す。本実施例は、各々独立に入力される複数の画像データに対して、処理部(1)110−1と処理部(2)110−2でそれぞれ複数の処理を並列に実行するようにしたものである。
図12は、一例として、外部I/F部140から各々独立に入力される画像データ(1)、画像データ(2)について、画像データ(1)は処理部(1)110−1に、画像データ(2)は処理部(2)110−2にそれぞれ受け持たせ、処理部(1)110−1が画像データ(1)に対して処理Aと処理Cを、処理部(2)110−2が画像データ(2)に対して処理Bと処理Dを、それぞれ並列に実行し、処理後の画像データ(1)、画像データ(2)を大容量記憶部160に蓄積する例を示したものである。
以下に、図12のプログラムとデータの流れを順を追って詳述する。
外部I/F部140入力された画像データ(1)、画像データ(2)は、それぞれシステムバス200を通してデータメモリ150に格納される。図12の処理前画像データ(1)、処理前画像データ(2)は、これを示している。ここで、画像データ(1)は処理A、処理Cを実行し、画像データ(2)は処理B、処理Dを実行すべきことは、あらかじめ要求元から通知され、コントローラ部170が既知であるとする。
コントローラ部170は、まず、データメモリ150から処理A用プログラムと処理B用プログラムを読み出し、システムバス200を通してDMA形式で、処理A用プログラムはデータ処理部110の処理部(1)110−1に、処理B用プログラムは処理部(2)110−2に送付する。処理部(1)110−1は、送付された処理A用プログラムを処理用プログラムメモリ領域111−1に格納(ロード)し、処理部(2)110−2は、送付された処理B用プログラムを処理用プログラムメモリ領域111−2に格納(ロード)する。
次に、コントローラ部170は、データメモリ150から処理対象の画像データ(1)(処理前画像データ(1))及び画像データ(2)(処理前画像データ(2))を読み出し、システムバス200を通してDMA形式で、画像データ(1)はデータ処理部110の処理部(1)110−1に、画像データ(2)は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された画像データ(1)をデータメモリ領域112−1に格納して、該画像データ(1)に対して、処理用プログラムメモリ領域111−1の処理A用プログラムに基づいて所定の処理Aを実行し、処理A後の画像データ(1)を、システムバス200を通してデータメモリ150に書き戻す。図12の処理後画像データ(1)はこれを示している。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された画像データ(2)をデータメモリ領域112−2に格納して、該画像データ(2)に対して、処理用プログラムメモリ領域111−2の処理B用プログラムに基づいて所定の処理Bを実行し、処理B後の画像データ(2)を、システムバス200を通してデータメモリ150に書き戻す。図12の処理後画像データ(2)はこれを示している。
コントローラ部170は、データ処理部110の処理部(1)110−1、処理部(2)110−2からの終了通知、あるいは、自身によるデータメモリ150へのデータ書き戻し監視等により、処理部(1)110−1、処理部(2)110−2での処理A、処理Bの終了を確認すると、次に、データメモリ150から処理C用プログラムと処理D用プログラムを読み出し、システムバス200を通してMDA形式で、処理C用プログラムはデータ処理部110の処理部(1)110−1に、処理D用プログラムは処理部(2)110−2に送付する。処理部(1)110−1、処理部(2)110−2では、送付された処理C用プログラムあるいは処理D用プログムを、それまでの処理A用プログラムあるいは処理B用プログラムを上書きする形式でそれぞれ処理用プログラムメモリ領域111−1、処理用プログラムメモリ111−2に格納する。
次に、コントローラ部170は、データメモリ150から処理A後の画像データ(1)及び処理B後の画像データ(2)を読み出し、システムバス200を通してDMA形式で、該処理A後の画像データ(1)はデータ処理部110の処理(1)110−1に、処理B後の画像データ(2)は処理部(2)110−2に転送する。処理部(1)110−1は、データメモリ150から転送された処理A後の画像データ(1)をデータメモリ領域112−1に格納して、該画像データ(1)に対して、処理用プログラムメモリ領域111−1の処理C用プログラムに基づいて所定の処理Cを実行し、処理C後の画像データ(1)を、システムバス200を通してデータメモリ150に書き戻す。この処理部(1)110−1の処理と並行して、処理部(2)110−2は、データメモリ150から転送された処理B後の画像データ(2)をデータメモリ領域112−2に格納して、該画像データ(2)に対して、処理用プログラムメモリ領域111−2の処理D用プログラムに基づいて所定の処理Dを実行し、処理D後の画像データ(2)を、システムバス200を通してデータメモリ150に書き戻す。
以上により、画像データ(1)に対する処理Aと処理Cの処理、画像データ(2)に対する処理Bと処理Dの処理が終了する。最後に、コントローラ部170は、データメモリ150から処理A,処理Cの処理後画像データ(1)と、処理B,処理Dの処理後画像データ(2)を読み出し、システムバス200を通して大容量記憶部160に格納する。この大容量記憶部160に格納された処理後画像データは、例えば、要求元からの要求等に応じて、制御CPU190等の制御下で要求元に返送されることになる。なお、処理後画像データを一旦、大容量記憶部160に蓄積することなく、外部I/F部140から直ちに要求元に返送することも可能である。
図13に本実施例のタイムチャートを示す。時刻t0〜t1で、外部I/F部140からそれぞれ画像データ(1)、画像データ(2)が入力される。コントローラ部170は、まず、処理部(1)110−1、処理部(2)110−2にそれぞれ処理A用プログラム、処理B用プログラムをロードする(t1〜t2)。引き続いてコントローラ部170は、データメモリ150の画像データ(1)を処理部(1)110−1に、画像データ(2)を処理部(2)110−2に転送する。処理部(1)110−1は、画像データ(1)に対して処理Aを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は画像データ(2)に対して処理Bを実行して、データメモリ150に書き戻す(t2〜t3)。
次に、コントローラ部170は、処理部(1)110−1、処理部(2)110−2にそれぞれ処理C用プログラム、処理D用プログラムをロードする(t3〜t4)。引き続いてコントローラ部170は、データメモリ150の処理後画像データにおける処理A後の画像データ(1)を処理部(1)110−1に、処理B後の画像データ(2)を処理部(2)110−2に転送する。処理部(1)110−1は、処理A後の画像データ(1)に対して処理Cを実行して、データメモリ150に書き戻し、これと並行に、処理部(2)110−2は、処理B後の画像データ(2)に対して処理Dを実行して、データメモリ150に書き戻す(t4〜t5)。最後に、時刻t6以降、コントローラ部170は、データメモリ150から処理A,C後の画像データ(1)、処理B,D後の画像データ(2)を読み出して大容量記憶部160に格納する。
本実施例によれば、各々独立に入力される複数の画像データに対して、処理部(1)110−1と処理部(2)110−2を用いてそれぞれ所望の処理を並列に実行することが可能であり、同様に処理性能が向上する。
以上、本発明の実施形態をいくつか説明したが、本発明はこれらの実施形態に限定されるものでないことは云うまでもない。また、データ処理部内の処理部は2組としたが、勿論、それ以上でもよく、それらの処理部を並行に動作させることにより、さらなる性能の向上が可能になる。
本発明の画像処理装置のシステム構成例を示す図。 本発明のデータ処理部でのぐるぐる回し処理概念図。 本発明の実施例1のプログラムとデータの流れを示す図。 実施例1のタイムチャートを示す図。 本発明の実施例2のプログラムとデータの流れを示す図。 本発明の実施例2のプログラムとデータの流れの続きを示す図。 実施例2のデータメモリ内の処理後画像データの遷移図。 実施例2のタイムチャートを示す図。 本発明の実施例3のプログラムとデータの流れを示す図。 実施例3のプログラムとデータの流れの続きを示す図。 実施例3のタイムチャートを示す図。 本発明の実施例4のプログラムとデータの流れを示す図。 実施例4のタイムチャートを示す図。 従来のASICを使用した画像処理装置のシステム構成図。 図14のASIC内の処理フローを示す図。 従来のDSPを使用した画像処理装置のシステム構成図。 図16のDSP内の処理フローを示す図。
符号の説明
110 データ処理部
110−1 処理部(1)
111−1 処理用プログラムメモリ領域
112−1 データメモリ領域
110−2 処理部(2)
111−2 処理用プログラムメモリ領域
112−2 データメモリ領域
120 データ入力部
130 データ出力部
140 外部I/F部
150 データメモリ
160 大容量記憶部
170 コントローラ部
180 記録媒体
190 制御CPU
200 システムバス

Claims (3)

  1. プログラマブルなデータ処理部、画像データの記憶部、及び複数の処理プログラムの記憶部を有し、且つ、前記データ処理部は、同時に処理が可能な複数の処理部を具備し、
    前記複数の処理部はそれぞれ、前記画像データの記憶部から画像データを読み込み、前記処理プログラムの記憶部から処理プログラムを読み込み、前記読み込んだ画像データに対して、前記読み込んだ処理プログラムを並列に実行し、処理後の画像データを前記画像データの記憶部に戻す処理を繰り返す画像処理装置において、
    少なくとも一部の処理部(以下、第1の処理部)は、処理後の画像データを別の処理部(以下、第2の処理部)に転送し、
    前記第2の処理部は、前記第1の処理部から転送された画像データに対して、所定の処理を実行して、処理後の画像データを前記画像データの記憶部に戻し、
    前記第1の処理部は、前記処理後の画像データを前記第2の処理部に転送すると、前記第2の処理部での処理と並行して、前記処理プログラムの記憶部から次の処理プログラムを読み込み、前記画像データの記憶部から前記第2の処理部による処理後の画像データを読み込み、該画像データに対して次の処理を実行することを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置において、
    前記データ処理部の複数の処理部における、前記画像データの記憶部からの画像データの読み込み動作及び前記処理プログラムの記憶部からの処理プログラムの読み込み動作を制御する制御手段をさらに有することを特徴とする画像処理装置。
  3. 同時に処理可能な複数の処理部を備えたプログラマブルなデータ処理部、画像データの記憶部、及び複数の処理プログラムの記憶部を有し、前記複数の処理部はそれぞれ、前記画像データの記憶部から画像データを読み込み、前記処理プログラムの記憶部から処理プログラムを読み込み、前記読み込んだ画像データに対して、前記読み込んだ処理プログラムを並列に実行し、処理後の画像データを前記画像データの記憶部に戻す処理を繰り返す画像処理装置における画像処理制御方法であって、
    少なくとも一部の処理部(以下、第1の処理部)は、処理後の画像データを別の処理部(以下、第2の処理部)に転送し、
    前記第2の処理部は、前記第1の処理部から転送された画像データに対して、所定の処理を実行して、処理後の画像データを前記画像データの記憶部に戻し、
    前記第1の処理部は、前記処理後の画像データを前記第2の処理部に転送すると、前記第2の処理部での処理と並行して、前記処理プログラムの記憶部から次の処理プログラムを読み込み、前記画像データの記憶部から前記第2の処理部による処理後の画像データを読み込み、該画像データに対して次の処理を実行することを特徴とする画像処理制御方法。
JP2006004366A 2006-01-12 2006-01-12 画像処理装置及び画像処理制御方法 Active JP4640989B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006004366A JP4640989B2 (ja) 2006-01-12 2006-01-12 画像処理装置及び画像処理制御方法
US11/621,771 US7916975B2 (en) 2006-01-12 2007-01-10 Image processing apparatus and image processing control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006004366A JP4640989B2 (ja) 2006-01-12 2006-01-12 画像処理装置及び画像処理制御方法

Publications (2)

Publication Number Publication Date
JP2007188196A JP2007188196A (ja) 2007-07-26
JP4640989B2 true JP4640989B2 (ja) 2011-03-02

Family

ID=38232474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006004366A Active JP4640989B2 (ja) 2006-01-12 2006-01-12 画像処理装置及び画像処理制御方法

Country Status (2)

Country Link
US (1) US7916975B2 (ja)
JP (1) JP4640989B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057899B2 (ja) * 2007-09-03 2012-10-24 株式会社リコー 画像形成装置、アプリケーション制御方法、及びアプリケーション制御プログラム
JP2009225270A (ja) * 2008-03-18 2009-10-01 Ricoh Co Ltd 画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラム
JP2009282689A (ja) * 2008-05-21 2009-12-03 Toshiba Corp データ処理装置、及びデータ処理方法
JP5121671B2 (ja) * 2008-10-30 2013-01-16 株式会社東芝 画像処理プロセッサ
JP6099418B2 (ja) 2013-02-01 2017-03-22 ルネサスエレクトロニクス株式会社 半導体装置及びそのデータ処理方法
JP6403430B2 (ja) * 2014-05-23 2018-10-10 キヤノン株式会社 画像処理装置および画像処理方法
US10313547B2 (en) * 2015-05-29 2019-06-04 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099712A (ja) * 1998-09-25 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> 多チャンネルデータの並列処理方法及び装置及びこの方法を記録した記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4088964A (en) * 1975-01-22 1978-05-09 Clow Richard G Multi-mode threshold laser
JPH0833799B2 (ja) * 1988-10-31 1996-03-29 富士通株式会社 データ入出力制御方式
JP2836902B2 (ja) * 1989-05-10 1998-12-14 三菱電機株式会社 マルチプロセッサ型動画像符号化装置及びバス制御方法
JPH0383105A (ja) * 1989-08-25 1991-04-09 Fanuc Ltd Pcのプログラム制御方式
US5171393A (en) * 1991-07-29 1992-12-15 Moffat William A Wafer processing apparatus
JPH08274986A (ja) 1994-04-28 1996-10-18 Ricoh Co Ltd 画像処理装置
US5715070A (en) 1994-04-28 1998-02-03 Ricoh Company, Ltd. Freely configurable image processing apparatus
JPH1153526A (ja) * 1997-08-08 1999-02-26 Fujitsu Ltd 画像処理装置
JP3205985B2 (ja) 1998-09-18 2001-09-04 日本電気株式会社 拡散層の形成方法
US6961084B1 (en) * 1999-10-07 2005-11-01 Ess Technology, Inc. Programmable image transform processor
JP4451010B2 (ja) * 2001-04-09 2010-04-14 三菱電機株式会社 プログラマブルコントローラ
US6947047B1 (en) * 2001-09-20 2005-09-20 Nvidia Corporation Method and system for programmable pipelined graphics processing with branching instructions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099712A (ja) * 1998-09-25 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> 多チャンネルデータの並列処理方法及び装置及びこの方法を記録した記録媒体

Also Published As

Publication number Publication date
US7916975B2 (en) 2011-03-29
US20070159664A1 (en) 2007-07-12
JP2007188196A (ja) 2007-07-26

Similar Documents

Publication Publication Date Title
JP4640989B2 (ja) 画像処理装置及び画像処理制御方法
US7602394B2 (en) Image processing device, method, and storage medium which stores a program
US7602392B2 (en) Image processing device, method, and storage medium which stores a program
US7605818B2 (en) Image processing device, method, and storage medium which stores a program
US7605819B2 (en) Image processing device, method, and storage medium which stores a program
US7602391B2 (en) Image processing device, method, and storage medium which stores a program
JP5574858B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム
JP5438371B2 (ja) 画像処理装置および画像処理方法
JP2009064263A (ja) メモリ装置
US7598957B2 (en) Image processing device, method, and storage medium which stores a program
US7602393B2 (en) Image processing device, method, and storage medium which stores a program
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP2007287084A (ja) 画像処理装置及びプログラム
JP5277615B2 (ja) データ処理装置及びデータ処理プログラム
JP2007223163A (ja) 画像形成装置、画像表示方法
JP2007088522A (ja) 画像処理装置
JP4690115B2 (ja) 制御装置及び画像処理装置
JP2005182538A (ja) データ転送装置
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP6357804B2 (ja) 画像処理装置、集積回路、及び画像形成装置
US7945125B2 (en) Image processing device and image processing control method
JP2008054005A (ja) 画像処理装置
JP2008171200A (ja) 画像処理装置、画像処理方法、プログラム及びコンピュータ読み取り可能な記憶媒体
JP2005258967A (ja) データ処理装置
JP5205843B2 (ja) 演算処理装置及び演算処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

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: 20101124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101125

R151 Written notification of patent or utility model registration

Ref document number: 4640989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3