JP2009025955A - データ処理装置、及びデータ処理プログラム - Google Patents
データ処理装置、及びデータ処理プログラム Download PDFInfo
- Publication number
- JP2009025955A JP2009025955A JP2007186851A JP2007186851A JP2009025955A JP 2009025955 A JP2009025955 A JP 2009025955A JP 2007186851 A JP2007186851 A JP 2007186851A JP 2007186851 A JP2007186851 A JP 2007186851A JP 2009025955 A JP2009025955 A JP 2009025955A
- Authority
- JP
- Japan
- Prior art keywords
- data
- logic
- detection
- code
- processing apparatus
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】再構成可能回路を用いて検出対象に対する検出処理を行う場合に、再構成の柔軟性を高め、検出処理の効率を向上させる。
【解決手段】コンフィグメモリ32にコードA検出用のコンフィグデータA−1がロードされると、リコンフィギュラブルプロセッサ34には、画像データに含まれるコードを検出するコード検出部40が設定される。このコード検出部は、制検出対象となるコードAが含まれないと判定した場合には、コード無フラグ92を制御部36に出力する。この場合、制御部は、コードB検出用のコンフィグデータB−1のロードを開始する。他方、コード検出部は、一連の処理を終了した場合には、処理終了フラグ90を制御部に出力する。そして、制御部は、コードAの検出を継続するコンフィグデータA−2のロードを開始する。
【選択図】図2
【解決手段】コンフィグメモリ32にコードA検出用のコンフィグデータA−1がロードされると、リコンフィギュラブルプロセッサ34には、画像データに含まれるコードを検出するコード検出部40が設定される。このコード検出部は、制検出対象となるコードAが含まれないと判定した場合には、コード無フラグ92を制御部36に出力する。この場合、制御部は、コードB検出用のコンフィグデータB−1のロードを開始する。他方、コード検出部は、一連の処理を終了した場合には、処理終了フラグ90を制御部に出力する。そして、制御部は、コードAの検出を継続するコンフィグデータA−2のロードを開始する。
【選択図】図2
Description
本発明は、データ処理装置、またはデータ処理プログラムに関する。
下記特許文献1には、複数種類のコードを読み取る装置についての記載がある。この技術では、読み取り可能な各種類のコードについて、予め設定された順に従い、所定の読み取り処理を行っている。
下記特許文献2には、画像データの種別の判定結果に基づいて、画像データに含まれるデコード対象の候補位置を決定し、デコード処理を実行する技術が開示されている。そして、デコードが出来なかった場合には、次の候補位置に対して同様の処理を行う。
下記特許文献3に記載された技術では、画像データに対し、あるプロセッサ(システムコントローラ)がテキスト領域や写真領域などの領域判別を行い、判別された領域ごとに特徴量を抽出する。続いて、この処理は、別のプロセッサ(SIMD型の画像処理プロセッサ)に渡され、同じ種類領域に対し、特徴量に基づくデータ処理方式で画像処理が行われる。
本発明の目的は、再構成可能回路を用いて検出対象に対する検出処理を行う場合に、再構成の柔軟性を高め、検出処理の効率を向上させることにある。
本発明のデータ処理装置の一態様においては、論理の再構成が可能な再構成可能回路と、検出対象に関する検出処理を行う論理が複数に分割して規定された複数の論理設定データを記憶する記憶装置と、前記再構成可能回路に対し、論理の再構成を行って、前記論理設定データに基づく論理を設定する設定手段と、前記再構成可能回路に設定された論理に基づいて、処理対象データに対し前記検出処理の少なくとも一部を実行する実行手段と、前記検出処理の途中結果に基づいて、前記設定手段により再構成が行われる時期の制御、または、前記設定手段による設定に用いられる前記論理設定データの選択の制御を行う制御手段と、を備える。
本発明のデータ処理装置の一態様においては、前記制御手段は、前記検出処理の途中結果に基づいて、前記検出処理を中止または一部省略するように前記制御を行う。
本発明のデータ処理装置の一態様においては、前記検出対象は複数種類あり、前記論理設定データは、少なくとも前記検出対象の種類毎に分割して規定され、前記制御手段は、ある種類の前記検出対象に関する前記検出処理の途中結果に基づいて、この種類の検出対象に関する前記検出処理を中止または一部省略するように前記制御を行う。
本発明のデータ処理装置の一態様においては、前記制御手段は、設定中の論理に基づく処理が完了する前に、論理の再構成が行われるように制御を行う。
本発明のデータ処理装置の一態様においては、前記制御手段は、次以降の再構成で、他の種類の検出対象についての前記論理設定データが選択されるように制御を行う。
本発明のデータ処理装置の一態様においては、前記論理設定データに規定された論理には、前記検出処理の途中結果を評価する論理が含まれ、前記実行手段は、前記検出処理の途中結果を評価する論理に基づいて前記途中結果を評価し、前記制御手段は、前記実行手段による評価結果に基づいて、前記制御を行う。
本発明のデータ処理装置の一態様においては、前記再構成可能回路には、二以上の前記論理設定データが選択可能に記憶される選択可能記憶装置が設けられ、前記制御手段は、さらに、前記検出処理の途中結果に基づいて、次に設定される可能性がある論理設定データを前記選択可能記憶装置に記憶させる制御を行い、前記設定手段は、前記選択可能記憶装置に記憶された二以上の前記論理設定データの中から、設定対象を選択的に切り換えて、切り換えた先の前記論理設定データに基づく論理を設定する。
本発明のデータ処理装置の一態様においては、前記制御手段は、前記検出処理の途中結果に基づいて、前記検出処理を継続するように前記制御を行う。
本発明のデータ処理装置の一態様においては、前記処理対象データは、画像データである。
本発明のデータ処理装置の一態様においては、前記検出対象は、情報が記号化された画像である。
本発明のデータ処理装置の一態様においては、前記検出対象は、共通の特性を持った画像領域である。
本発明のデータ処理プログラムの一態様においては、論理の再構成が可能な再構成可能回路と、検出対象に関する検出処理を行う論理が複数に分割して規定された複数の論理設定データを記憶する記憶装置と、を備えたコンピュータを、前記再構成可能回路に対し、論理の再構成を行って、前記論理設定データに基づく論理を設定する設定手段と、前記再構成可能回路に設定された論理に基づいて、処理対象データに対し前記検出処理の少なくとも一部を実行する実行手段と、前記検出処理の途中結果に基づいて、前記設定手段により再構成が行われる時期、または、前記設定手段による設定に用いられる前記論理設定データの選択の制御を行う制御手段、として機能させる。
請求項1に記載の発明によれば、再構成可能回路を用いて検出対象に対する検出処理を行う場合に、検出処理の途中結果に基づいて再構成が制御されるため、再構成の柔軟性を高め、検出処理の効率を向上させることが可能となる。
請求項2に記載の発明によれば、検出処理の途中結果次第でその検出処理の中止または一部省略を行うことで、処理時間の無駄が防止もしくは低減される。
請求項3に記載の発明によれば、検出の種類毎に、検出処理の中止または一部省略が判断されるため、処理時間の無駄が防止もしくは低減される。
請求項4に記載の発明によれば、実行を継続する必要のない論理を再構成し、実行する必要がある論理を設定することが可能となる。
請求項5に記載の発明によれば、実行する必要のない論理の設定を防止して、処理時間の無駄を防止もしくは低減することが可能となる。
請求項6に記載の発明によれば、処理状況の評価の高速化と、制御態様の簡略化の一方または両方の効果が期待できる。
請求項7に記載の発明によれば、再構成に要する時間を短縮化することが可能となる。
請求項8に記載の発明によれば、検出処理の途中結果に応じて検出処理の継続を決定するため、処理時間の無駄が防止もしくは低減される。
請求項9に記載の発明によれば、画像処理の高速化が可能となる。
請求項10に記載の発明によれば、画像データ中の埋込情報の検出にかかる処理を高速化することができる。
請求項11に記載の発明によれば、画像データ中で共通の特性をもつ画像領域の検出にかかる処理を高速化することが可能となる。
請求項12に記載の発明によれば、再構成可能回路を用いて検出対象に対する検出処理を行う場合に、検出処理の途中結果に基づいて再構成が制御されるため、再構成の柔軟性を高め、検出処理の効率を向上させることが可能なプログラムが提供される。
[用語の説明]
ここでは、特許請求の範囲、明細書、または図面において用いられる用語や概念等について説明する。
ここでは、特許請求の範囲、明細書、または図面において用いられる用語や概念等について説明する。
データ処理装置は、再構成可能回路や記憶装置を備えたコンピュータハードウエアと、その動作を規定するプログラム(ソフトウエア)を用いて構築される装置である。コンピュータハードウエアは、プログラムの制御によって、設定手段、実行手段、制御手段などの各手段として機能することになる。データ処理装置は、単体のコンピュータハードウエアを利用した集中処理システムとして構築されてもよいし、通信可能な複数のコンピュータハードウエアを利用した分散処理システムとして構築されてもよい。
再構成可能回路とは、論理仕様を変更可能な回路をいう。再構成可能回路では、複数の小回路(プロセッサエレメント)が通信可能に分散配置されていることも多い。プロセッサエレメントには、主として演算を行う演算エレメントや、主としてデータを記憶するメモリエレメントなどが含まれる。再構成可能回路では、演算論理仕様、プロセッサエレメント間の結線論理仕様、あるいは、外部との入出力仕様などの論理仕様を変更し、適当な論理を設定することができる。再構成にあたっては、再構成可能回路に含まれる記憶回路(メモリエレメントやレジスタなど)に記憶されたデータが保全(破壊しない)されてもよい。
設定手段は、再構成可能回路に設定する論理を再構成する手段である。再構成は、典型的には、再構成可能回路に設けられた記憶装置(コンフィグメモリと呼ばれることがある)に対し、論理設定データ(コンフィグデータと呼ばれることがある)を入力することにより行われる。この記憶装置は、複数の論理設定データを入力可能とし、設定する論理設定データをスイッチにより選択できるように設計されることもある(これを選択可能記憶装置と呼ぶ)。なお、再構成を短時間(例えば数クロック)で実施できる場合には、演算を実行途中に再構成を行う「動的再構成」が可能となる。
記憶装置は、ROMやRAMなどの記憶装置を利用して構築され、複数の論性設定データを記憶する。記憶装置には、処理対象データに対し検出対象に関する検出処理の論理が、複数に分割して規定された複数の論理設定データが記憶される。各論理設定データは、検出処理の一部の処理論理を規定するデータであり、分割された各論理設定データを合わせることで、検出処理の全体の論理が導かれる。処理対象データの例としては、画像データ、音声データ、文書データ(文字コードを含むデータ)、実験・観測データなどが挙げられ、検出対象の例としては、処理対象データ自体のデータ特性、処理対象データに含まれる部分データ、部分データのデータ特性などが挙げられる。また、検出対象に関する検出処理とは、検出対象自体の検出、または、検出対象に関連した情報の検出などを指す。検出対象自体の検出は、例えば、検出対象の有無、位置、大きさ、方向、または、色の検出をするものであり、対応する特徴量の抽出などにより行うことができる。検出対象に関連した情報の検出は、例えば、検出対象が保持する記号情報の解析(デコード)、あるいは、検出対象が保持する記号情報が指し示すデータの読み出しなどをするものである。なお、論理設定データが設定する論理には、検出処理以外の処理を規定する論理が含まれていてもよいし、さらに、記憶装置は、検出処理以外の処理を規定する論理設定データを記憶していてもよい。
実行手段は、設定された論理に基づいて、処理対象データに対して前記検出処理の少なくとも一部を実行する。そして、制御手段は、前記検出処理の途中結果に基づいて、再構成の時期と、前記論理設定データの選択の一方または両方を制御する。ここで、前記検出処理の途中結果に基づくとは、検出対象に関する検出処理が完了(終了)する前の段階における検出処理状況に基づくことをいう。途中結果は、例えば、所定の条件を満たす処理結果が得られているか否かなどにより評価可能である。
[実施の形態]
以下に本発明の実施の形態を例示する。
以下に本発明の実施の形態を例示する。
図1は、本実施の形態にかかる画像処理装置10の構成例を示す概略図である。画像処理装置10は、データ処理装置の一種であり、図示した例においては単体の筐体をもつ装置として構成されている。画像処理装置10の内部には、内部通信路としての内部バス11が設けられている。そして、内部バス11には、CPU(中央処理装置)12、ROM(ReadOnlyMemory)14、RAM(RandomAccessMemory)16、HDD(HardDiscDrive)18、再構成可能システム20、UI(UserInterface)21、スキャナ22、プリンタ24、CDD(CompactDiscDrive)26、及びネットワークインタフェース28の各構成装置が接続されている。
CPU12は、ROM14などに格納されたプログラムに従って、画像処理装置10の各構成装置の制御や、画像処理等を行う装置である。ROM14は長期的な記憶が可能な半導体メモリ(記憶装置)であり、各種のプログラムや設定情報などを記憶する。RAM16は主として短期的な記憶に用いられる半導体メモリである。DRAM(ダイナミックRAM)を用いた場合には、比較的大容量だがアクセスがやや遅い記憶装置となり、SRAM(スタティックRAM)を用いた場合には、比較的小容量だがアクセスがやや早い記憶装置となる。RAM16には、処理対象となる画像データなどが記憶される。RAM16と再構成可能システム20との入出力を高速化するために、内部バス11を介さずに両者を直結したり、DDR(ダブルデータレート)方式を用いたりする場合もある。HDD18は磁気ディスクなどを用いて構成された大容量の記憶装置であり、画像データの長期的な記憶などに用いられる。
再構成可能システム20は、コンフィグメモリ32、リコンフィギュラブルプロセッサ34、及び制御部36を含む装置であり、典型的には、同一のチップ上にこうした装置を設置されている。コンフィグメモリ32は、再構成可能回路が備える記憶装置の例であり、リコンフィギュラブルプロセッサ34の論理仕様を規定する論理仕様データが入力される。
リコンフィギュラブルプロセッサ34は、再構成可能回路の中核をなす装置であり、アレイ状に配置された複数のプロセッサエレメント(PE)を備えている。プロセッサエレメントは、リコンフィギュラブルプロセッサ34を構成する小回路であり、例えば、演算要素としてのALUエレメント、あるいは、記憶要素としてのRAMエレメントなどからなる。このうち、ALUエレメントは、再構成された論理仕様に基づいて、データに対する演算処理を行う小回路であり、RAMエレメントは、データの入出力及び記憶が行われる小回路であり、例えば、高速な入出力が可能なSRAMを用いて構築される。RAMエレメントは、外部設置されるROM14やRAM16などに比べて容量が小さいことが多い。ALUエレメントの内部的な論理仕様である演算論理仕様や、他のALUエレメントやRAMエレメントとの接続を規定する結線論理仕様、外部装置との接続を規定する入出力論理仕様などは、コンフィグメモリ32に設定された論理仕様データに基づいて再構成される。なお、リコンフィギュラブルプロセッサ34には、外部装置との入出力を高速に行う専用入出力I/F(インタフェース)や、論理仕様が固定された(再構成不可能な)小演算回路などが設けられることも多い。
制御部36は、再構成可能システム20において、論理仕様データの選択や再構成時期などを制御する装置である。制御部36は、演算機能を備えたハードウエアと、その動作を規定するプログラムなどによって構築される。このプログラムを適宜書き換えることにより、制御部36自体に対する制御態様を変更することが可能となる。
UI21は、液晶ディスプレイや発光ダイオードなどの表示装置、及び、タッチパネルやキーボードなどの入力装置を備え、画像処理装置10のユーザにデータを表示したり、ユーザから操作命令を受け付けたりする。スキャナ22は、用紙表面の画像を読み取って画像データを生成する読取装置である。プリンタ24は、画像データに基づいて用紙に印刷を行う印刷装置である。CDD26は、記録媒体としてのCD(コンパクトディスク)に記録されたデータを読み取る装置であり、例えば、CPU12や制御部36を制御するためのプログラムがCDD26により提供された場合にこのプログラムを読み取るために用いられる。ネットワークインタフェース28は、インターネットなどのネットワーク30に接続してデータを入出力するためのインタフェースであり、例えば、CPU12や制御部36を制御するためのプログラムがネットワーク30を通じて提供される場合、このプログラムのデータ信号を受信するために用いられる。
図2は、再構成可能システム20の構成を詳細に説明する図である。なお、以下では、画像処理としてのコード検出処理を行うことを念頭に説明を行う。ここで、コードとは、情報が記号化されて埋め込まれた画像であり、具体例としては、バーコード、QRコード、電子すかしなどが挙げられる。
図2の例では、リコンフィギュラブルプロセッサ34に対し、コード検出部40が形成されている。コード検出部40には、符号42〜50で示した各処理、すなわち、処理A1、処理A2、処理A3、判定、及び処理A4を行う小処理部が設けられている。そして、画像データである入力データ52を入力して、順次パイプライン処理を行い、その結果得られた出力データ54を出力する。
コード検出部40は、コンフィグメモリ32に入力されたコンフィグデータによって、ハードウエア的にその論理が設定されたものである。コンフィグメモリ32に対し設定されるコンフィグデータは、例えば、RAM16に設けられた格納エリアに格納(記憶)されている。図示した例では、コードA検出コンフィグデータ(コードAを検出するためのコンフィグデータ)60を構成する4個のコンフィグデータA−1,A−2,A−3,A−4と、コードB検出コンフィグデータ62を構成する3個のコンフィグデータB−1,B−2,B−3と、コードC検出コンフィグデータ64を構成する3個のコンフィグデータC−1,C−2,C−3が格納されている。
制御部36には、プログラムによって、フラグ検知部70、コンフィグデータ選択部72、コンフィグデータ管理テーブル80が構築されている。フラグ検知部70は、コード検出部からの割込信号を検知するものである。具体的には、符号50の処理A4の終了時に出力される処理終了フラグ90と、符号48の判定においてコード検出の見込みが無いとみなされた場合に出力されるコード無フラグ92を取得して、その種別を判断し、コンフィグデータ選択部72に送信する。コンフィグデータ選択部72には、処理終了フラグ制御部74、コード無フラグ制御部76、予測制御部78が構築されている。処理終了フラグ制御部74は、処理終了フラグ90を受信して、次に設定するコンフィグデータを決定する。また、コード無フラグ制御部76は、コード無フラグ92を受信して、次に設定するコンフィグデータを決定する。そして、予測制御部78は、次に設定されるであろうコンフィグデータを、現在設定中のコンフィグデータ、処理終了フラグ90、コード無フラグ92などに基づいて予測する。符号48の判定によりコード検出の可能性があるとみなされた場合にコード有フラグを出力させるようにし、予測制御部78に対し、このコード有フラグに基づく予測を行わせてもよい。予測制御部78に予測されたコンフィグデータは、コンフィグメモリ32における切り換え可能な領域に予め入力される。
コンフィグデータ管理テーブル80は、コンフィグデータ選択部72で参照されるテーブルである。これについては、あとで、図4と図5を用いて具体例を説明する。
図3は、図2に示したコードA検出コンフィグデータ60、コードB検出コンフィグデータ62、コードC検出コンフィグデータ64の具体例を示す図である。コードA検出コンフィグデータ60は、一連の4個のコンフィグデータA−1,A−2,A−3,A−4からなる。コンフィグデータA−1は、図2で説明したように、処理A1、処理A2、処理A3、判定、処理A4からなるパイプライン処理の論理を設定するものである。また、コンフィグデータA−2は、処理A5、処理A6、処理A7、判定、処理A8からなるパイプライン処理の論理を設定し、コンフィグデータA−3は、処理A9、処理A10、判定、処理A11、処理A12からなるパイプライン処理の論理を設定し、コンフィグデータA−4は、処理A13、処理A14、処理A15、処理A16からなるパイプライン処理の論理を設定する。これらのコンフィグデータは、順次コンフィグメモリ32に設定され、対応する一連の処理によって画像データからコードAに対する検出を含む処理が行われる。典型的には、各コンフィグデータに対応した処理の結果は、中間データとして出力され、次のコンフィグデータに対応した処理で用いられる。なお、この一連の処理を何個のコンフィグデータにわけて設定するかは、リコンフィギュラブルプロセッサ34の大きさに基づいて決定される。
同様にして、コードB検出コンフィグデータ62は、一連の3個のコンフィグデータB−1,B−2,B−3からなる。そして、コンフィグデータB−1は、処理B1、処理B2、処理B3、判定、処理B4からなるパイプライン処理の論理を設定し、コンフィグデータB−2は、処理B5、処理B6、処理B7、判定、処理B8からなるパイプライン処理の論理を設定し、コンフィグデータB−3は、処理B9、処理B10、判定、処理B11、処理B12からなるパイプライン処理の論理を設定する。また、コードC検出コンフィグデータ64は、一連の3個のコンフィグデータC−1,C−2,C−3からなる。そして、コンフィグデータC−1は、処理C1、処理C2、処理C3、判定、処理C4からなるパイプライン処理の論理を設定し、コンフィグデータC−2は、処理C5、処理C6、処理C7、判定、処理C8からなるパイプライン処理の論理を設定し、コンフィグデータC−3は、処理C9、処理C10、処理C11、判定、処理C12からなるパイプライン処理の論理を設定する。
図4は、コンフィグデータ管理テーブルとして管理されるテーブルの例を示している。図示したテーブル100には、コンフィグデータ名、メモリ先頭アドレス、コンフィグデータサイズ、及びコードの各項目が設けられている。コンフィグデータ名の項目には、A−1〜A4、B−1〜B−3、C−1〜C3の各コンフィグデータが実行順に登録されている。そして、メモリ先頭アドレスの項目には、各コンフィグデータの格納先における先頭アドレスが登録され、コンフィグデータサイズの項目には、各コンフィグデータのサイズ(バイト)が登録され、コードの項目には、各コンフィグデータがどのコード用であるかが登録されている。処理終了フラグ制御部74は、処理終了フラグを受け付けた場合に、このテーブル100を参照することで、次に設定すべきコンフィグデータを決定し、格納先からコンフィグメモリ32に入力する。また、予測制御部78は、このテーブル100も参照して、次に設定すべきコンフィグデータを予測する。
図5は、コンフィグデータ管理テーブルとして管理される別のテーブルの例を示している。図示したテーブル102には、処理中のコード、フラグ、ジャンプ先のコンフィグデータの各項目が設けられている。処理中のコードAの項目には、コードA、コードB、コードCの各コードが登録されており、フラグの項目には、各コードともにコード無フラグが登録されている。そして、ジャンプ先のコンフィグデータの項目には、B−1、C−1、及びENDが登録されている。コード無フラグ制御部76は、このテーブル102に基づいて、コンフィグメモリ32にコンフィグデータの設定を行う。具体的には、コードAを処理中にコード無フラグを受け付けた場合には、コンフィグデータB−1を設定し、コードBを処理中にコード無フラグを受け付けた場合には、コンフィグデータC−1を設定し、コードCを処理中にコード無フラグを受け付けた場合には処理を終了させる。
なお、このような管理テーブルを設定する代わりに、判定時に次のコード用のコンフィグデータにジャンプすることを標準仕様とする管理テーブルを設定してもよい。この場合には、コード有フラグが得られたならば、処理中のコードについての処理を継続するような例外処理を行うことになる。
続いて、図6と図7を用いて、画像処理装置10の動作について説明する。図6は、コードA、コードB、コードCに対する検出処理の流れを説明するフローチャートであり、図7は、コンフィグデータA−1を用いた処理の詳細な流れを説明するフローチャートである。
画像処理装置10においては、UI21やネットワークインタフェース28を介したユーザ指示などに基づいて、CPU12による制御の下、スキャナ22による画像データの生成や、プリンタ24による画像データに基づく印刷などが行われる。こうした画像データに対しては、複数のコードが含まれている場合があり、画像処理装置10では、標準設定に従って、あるいは、ユーザ指示に従って、画像データに対するコードの検出処理を行うことがある。
コード検出処理は、主として、再構成可能システム20によって行われる。すなわち、コンフィグメモリ32にコンフィグデータが入力されて、リコンフィギュラブルプロセッサ34に、このコンフィグデータに対応したコード検出部40が設定される。具体的には、図7に示すように、コンフィグデータA1がロード(入力)され(S60)、リコンフィギュラブルプロセッサ34は、コンフィグデータA−1に対応する処理を実行する(S62)。この処理では、処理途中にコード無フラグが出力されるか、あるいは、処理終了後に処理終了フラグが出力される(S64)。フラグ検知部70はこのフラグを受信して、いずれのフラグであるかを判定する(S66)。その結果、処理終了フラグであった場合には、処理終了フラグ制御部74が、図4に示したテーブル100を参照して、次にコンフィグデータA−2を選択すべき旨を判断する(S68)。そして、処理終了フラグ制御部74は、さらに、テーブル100に記載されたアドレス情報を参照して、RAM16からコンフィグデータA−2を読み出し(S70)、コンフィグメモリ32にロードする(S72)。
他方、コード無フラグが検出された場合には、コード無フラグ制御部76は、図5に示したテーブル102を参照して、コンフィグデータB−1を選択する(S74)。さらに、コード無フラグ制御部76は、テーブル100に記載されたアドレス情報を参照して、RAM16からコンフィグデータB−1を読み出し(S76)、コンフィグメモリ32にロードする(S78)。
図6は、この過程を、コード検出の観点から説明したものである。すなわち、コンフィグデータA−1に基づく処理により、コードAの第1の特徴量に対する抽出が行われる(S10)。その結果、処理終了フラグが出力された場合は、画像データ中にコードAが存在する可能性があることを意味し、コード無フラグが出力された場合は、画像データ中にコードAが存在する可能性がないことを意味する(S12)。そして、コードAが存在する可能性がある場合には、コンフィグデータA−2に基づくコードAの第2の特徴量に対する抽出が行われ(S14)、コードAの存在可能性の確認がなされる(S16)。この段階においてもコードAが存在する可能性がある場合には、同様にして、コンフィグデータA−3に基づくコードAの第3の特徴量に対する抽出が行われ(S18)、コードAの存在可能性が確認される(S20)。この結果、コードAの存在可能性があると判断されると、コンフィグデータA−4に基づくコードAのデコード処理が行われ(S22)、続いて、コードBに対する同様の処理(S24〜S36)、及び、コードCに対する同様の処理(S38〜S50)が行われる。
他方、ステップS12,S16,S20のいずれかの段階においてコードAの存在可能性がないと判断された場合には、コードAに対するそれ以降の処理は中止され、コードBについての処理に移行する。同様にして、コードBに対する処理でも、コードBの存在可能性の有無が段階的に確認され(S26,S30,S34)、コードBの存在可能性が無いと判断された場合には、コードBに対するそれ以降の処理は中止されて、コードCについての処理に移行する。また、コードCに対する処理でも、コードCの存在可能性の有無が段階的に確認され(S40,S44,S48)、コードCの存在可能性が無いと判断された場合には、コードCに対するそれ以降の処理は中止されて、全体の処理が終了する。
なお、この処理の流れは、図3に示した矢印によっても確認できる。図3において、各コンフィグデータを結ぶ細実線の矢印は、コードの存在可能性がある場合の処理の流れを表しており、判定のボックスから伸びる白抜きの矢印は、その段階でコードの存在可能性が無いと判断された場合の流れを示している。
図8は、以上に説明した処理の所要時間について説明する模式図である。図には、横軸たる時間軸上の各時刻において実行される処理が示されている。上段(a)は、コード無フラグに基づく処理を行わない場合の例であり、下段(b)は、コード無フラグに基づく処理を行う場合の例である。
図示した例では、画像データに、コードA,Bは含まれておらず、コードCのみが含まれていると仮定している。このため、上段(a)では、時刻t0に開始されたコンフィグデータA−1に基づく処理は、終了処理フラグ120が出力される時刻t1まで継続して行われる。続いて時刻t1にコンフィグデータA−2に基づく処理が開始され、終了処理フラグ122が出力される時点まで継続される。同様にして、コンフィグデータA−3,A−4,B−1,B−2,B−3,C−1,C−2,C−3に基づく各処理と、対応する処理終了フラグ124,126,128,130,132,134,136の出力が交互に繰り返される。この結果、最後のコンフィグデータC−3に基づく処理は、時刻t2に終了している。
他方、下段(b)では、時刻t0に開始されたコンフィグデータA−1に基づく処理は、コード無フラグ140が出力された時刻t1’で終了している。続いて、コンフィグデータB−1に基づく処理が開始され、コード無フラグ142が出力され時点まで継続されている。そして、その後には、コンフィグデータC−1,C−2,C−3に基づく各処理と、対応する処理終了フラグ144,146の出力が交互に繰り返されている。この結果、最後のコンフィグデータC−3に基づく処理は、時刻t2’に終了している。
下段(b)の例の所要時間t2’−t0は、上段(a)の例における所要時間t2−t0に比べて短い。これは、下段(b)の例では、コンフィグデータA−1に基づく処理の所要時間t1’−t0が上段(a)の場合の所要時間t1−t0に比べて短いこと、コンフィグデータB−1に基づく処理の所要時間が上段(a)の場合の所要時間に比べて短いこと、コンフィグデータA−2,A−3,B−2,B−3に基づく処理が実行されていないことに起因する。
ここで、図9を用いて、コンフィグデータをコンフィグメモリに入力する過程についての変形例について説明する。この変形例では、図2に示したコンフィグメモリ32を選択可能記憶装置として構成することを仮定している。すなわち、コンフィグメモリ32は、複数のコンフィグデータを記憶させることができ、これらをスイッチで切り換えることにより、採用するコンフィグデータを数サイクル(例えば1サイクル)で選択できるように設計されているものとする。さらに、コンフィグメモリ32に対するコンフィグデータのロードにあたっては、予測制御部78による予測制御が行われることを仮定している。
図9では、横軸たる時間軸上の各時刻において、リコンフィギュラブルプロセッサ34とコンフィグメモリ32でどのような処理が行われているかが示されている。この例では、時刻t3において、コンフィグデータA−1に基づく処理の実行が開始されている。また、これと同時に、予測制御部78は、次に実行される可能性があるものはコンフィグデータA−2,B−1であることを突きとめ、順次コンフィグメモリ32にロードしている。
時刻t4付近において、次にコンフィグデータA−2に基づく処理を行うことが確定すると、コンフィグメモリ32では、コンフィグデータA−1からコンフィグデータA−2への切り換えが行われ、リコンフィギュラブルプロセッサ34では、コンフィグデータA−2に基づく処理が開始される。この段階では、コンフィグメモリには、コンフィグデータA−1,A−2,B−1がロードされている。しかし、コンフィグデータA−1を使用する可能性は既に無く、代わりに、次に、コンフィグデータA−3を使用する可能性が生じている。そこで、予測制御部78は、コンフィグメモリ32に記憶されたコンフィグデータA−1に上書きして、コンフィグデータA−3をロードしている。
次に、図10と図11を用いて、具体的なコード検出の例について説明する。図10は、用紙をスキャンして生成した画像データに対し、コード検出を行う過程を示した図である。図示した1枚の用紙150には、コードA、コードB、コードが含まれている。また、3枚重ねされた各用紙158,160,162には、それぞれ、コードA、コードB、コードCのみが含まれている。画像処理装置としての複写機164では、このような多様な用紙を処理することが可能である。そして、スキャナによる読み込み処理(S80)、各コード情報を検出して切り出す処理(S82)、切り出したコードが示す情報をデコードする処理(S84)、及びデコードの結果たるデジタル情報を取得する処理(S86)が行われる。これにより、複写機164では、コードAが示すデジタル情報170、コードBが示すデジタル情報172、コードCが示すデジタル情報174が得られている。
図11は、コードAに対する検出処理の具体例を示す図である。図には、コンフィグデータA−1,A−2,A−3,A−4において設定される論理が示されている。ここでは、コードAとして、2次元白黒パターンからなるQRコードを仮定している。まず、コンフィグデータA−1に基づく処理では、画像データを横方向(X方向)に切り取ったデータ(X方向データ)を順次入力し、白黒比率検出処理180を行う。続いて、隣り合うX方向データ間でのパターンの連続性検出処理182が行われ、その結果がQRコードの特徴量と一致しているか判定184される。そして、一致している場合には、QRコードが含まれると予想される付近を対象として、候補座標抽出処理186が行われる。
コンフィグデータA−2に基づく処理では、Y方向データに対して同様の処理が行われる。すなわち、Y方向の白黒比率検出処理190、隣り合うY方向データ間でのパターンの連続性検出処理192、及び、QRコードの特徴量との一致判定194が行われ、一致している場合には、QRコードが含まれると予想される付近を対象として、候補座標抽出処理196が行われる。
コンフィグデータA−3に基づく処理では、X方向データに対する結果と、Y方向データに対する結果をもとに、二次元的な検出処理が行われる。具体的には、候補座標に対応した二次元の矩形データが入力され、X方向とY方向との関係を調べるXY関係処理200とその特徴量の判定202が行われる。次に、判定202によりQRコードの特徴量を示した領域に対し領域検出処理204と、その結果に基づく特徴量の判定206が行われる。そして、判定206によりQRコードの特徴量を示した領域に対しQRコードらしさを調べるQRコードらしさ処理208が行われ、その結果の判定210がなされる。最後に、QRコードらしいとされた領域を絞り込み抽出する絞り込み処理212が行われる。
コンフィグデータA−4に基づく処理では、絞り込み処理212による絞り込みが行われた矩形データに対し、QRコードのデコード規則に従ってデコード220が行われる。
続いて、図12と図13を用いて、別の具体例について説明する。この例は、コード検出の代わりに、共通の特性を持った画像領域としての文字部や写真部を抽出するものである。
図12は、処理対象となる用紙の例を示している。図示された用紙230には、文字が印刷された文字部232と、写真が印刷された写真部234,236が含まれている。
図13は、この用紙230のスキャンにより生成された画像データに対する画像処理の流れを示すフローチャートである。ここでは、文字部232をその特徴量に従って抽出する文字部抽出(S90)が行われ、続いて、文字部232の領域を切り出す文字部切り出し(S92)が行われる。そして、OCR(光学的文字読取)処理などの文字部用画像処理(S94)が文字部232に対して行われる。なお、この一連の処理途中に、文字部が検出されないなど、文字部に対する処理が不要であると判断された場合には、文字部に対する処理を打ち切って、写真部についての次の処理が行われる。
写真部234,236に対しては、まず、その特徴量に従って抽出する写真部抽出(S96)が行われ、次に、抽出された領域を切り出す写真部切り出し(S98)が行われる。そして、色変換処理などの写真部用画像処理(S100)が写真部234,236に対して行われる。なお、この一連の処理途中に、写真部が検出されないなど、写真部に対する処理が不要であると判断された場合には、写真部に対する処理を打ち切って、全体の処理を終了する。
10 画像処理装置、11 内部バス、12 CPU、14 ROM、16 RAM、18 HDD、20 再構成可能システム、22 スキャナ、24 プリンタ、26 CDD、28 ネットワークインタフェース、30 ネットワーク、32 コンフィグメモリ、34 リコンフィギュラブルプロセッサ、36 制御部、40 コード検出部、52 入力データ、54 出力データ、60 コードA検出コンフィグデータ、62 コードB検出コンフィグデータ、64 コードC検出コンフィグデータ、70 フラグ検知部、72 コンフィグデータ選択部、74 処理終了フラグ制御部、76 コード無フラグ制御部、78 予測制御部、80 コンフィグデータ管理テーブル、90 処理終了フラグ、92 コード無フラグ。
Claims (12)
- 論理の再構成が可能な再構成可能回路と、
検出対象に関する検出処理を行う論理が複数に分割して規定された複数の論理設定データを記憶する記憶装置と、
前記再構成可能回路に対し、論理の再構成を行って、前記論理設定データに基づく論理を設定する設定手段と、
前記再構成可能回路に設定された論理に基づいて、処理対象データに対し前記検出処理の少なくとも一部を実行する実行手段と、
前記検出処理の途中結果に基づいて、前記設定手段により再構成が行われる時期の制御、または、前記設定手段による設定に用いられる前記論理設定データの選択の制御を行う制御手段と、
を備えることを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記制御手段は、前記検出処理の途中結果に基づいて、前記検出処理を中止または一部省略するように前記制御を行う、ことを特徴とするデータ処理装置。 - 請求項2に記載のデータ処理装置において、
前記検出対象は複数種類あり、
前記論理設定データは、少なくとも前記検出対象の種類毎に分割して規定され、
前記制御手段は、ある種類の前記検出対象に関する前記検出処理の途中結果に基づいて、この種類の検出対象に関する前記検出処理を中止または一部省略するように前記制御を行う、ことを特徴とするデータ処理装置。 - 請求項3に記載のデータ処理装置において、
前記制御手段は、設定中の論理に基づく処理が完了する前に、論理の再構成が行われるように制御を行う、ことを特徴とするデータ処理装置。 - 請求項3または4に記載のデータ処理装置において、
前記制御手段は、次以降の再構成で、他の種類の検出対象についての前記論理設定データが選択されるように制御を行う、ことを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記論理設定データに規定された論理には、前記検出処理の途中結果を評価する論理が含まれ、
前記実行手段は、前記検出処理の途中結果を評価する論理に基づいて前記途中結果を評価し、
前記制御手段は、前記実行手段による評価結果に基づいて、前記制御を行う、ことを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記再構成可能回路には、二以上の前記論理設定データが選択可能に記憶される選択可能記憶装置が設けられ、
前記制御手段は、さらに、前記検出処理の途中結果に基づいて、次に設定される可能性がある論理設定データを前記選択可能記憶装置に記憶させる制御を行い、
前記設定手段は、前記選択可能記憶装置に記憶された二以上の前記論理設定データの中から、設定対象を選択的に切り換えて、切り換えた先の前記論理設定データに基づく論理を設定する、ことを特徴とするデータ処理装置。 - 請求項1に記載のデータ処理装置において、
前記制御手段は、前記検出処理の途中結果に基づいて、前記検出処理を継続するように前記制御を行う、ことを特徴とするデータ処理装置。 - 請求項1乃至8のいずれか1項に記載のデータ処理装置において、
前記処理対象データは、画像データである、ことを特徴とするデータ処理装置。 - 請求項9に記載のデータ処理装置において、
前記検出対象は、情報が記号化された画像である、ことを特徴とするデータ処理装置。 - 請求項9に記載のデータ処理装置において、
前記検出対象は、共通の特性を持った画像領域である、ことを特徴とするデータ処理装置。 - 論理の再構成が可能な再構成可能回路と、
検出対象に関する検出処理を行う論理が複数に分割して規定された複数の論理設定データを記憶する記憶装置と、
を備えたコンピュータを、
前記再構成可能回路に対し、論理の再構成を行って、前記論理設定データに基づく論理を設定する設定手段と、
前記再構成可能回路に設定された論理に基づいて、処理対象データに対し前記検出処理の少なくとも一部を実行する実行手段と、
前記検出処理の途中結果に基づいて、前記設定手段により再構成が行われる時期、または、前記設定手段による設定に用いられる前記論理設定データの選択の制御を行う制御手段、
として機能させることを特徴とするデータ処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007186851A JP2009025955A (ja) | 2007-07-18 | 2007-07-18 | データ処理装置、及びデータ処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007186851A JP2009025955A (ja) | 2007-07-18 | 2007-07-18 | データ処理装置、及びデータ処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009025955A true JP2009025955A (ja) | 2009-02-05 |
Family
ID=40397722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007186851A Withdrawn JP2009025955A (ja) | 2007-07-18 | 2007-07-18 | データ処理装置、及びデータ処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009025955A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012234337A (ja) * | 2011-04-28 | 2012-11-29 | Fuji Xerox Co Ltd | 画像データ処理装置及びプログラム |
JP2015177253A (ja) * | 2014-03-13 | 2015-10-05 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
JP2016046733A (ja) * | 2014-08-25 | 2016-04-04 | キヤノン株式会社 | 画像処理装置と、その制御方法、及びプログラム |
-
2007
- 2007-07-18 JP JP2007186851A patent/JP2009025955A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012234337A (ja) * | 2011-04-28 | 2012-11-29 | Fuji Xerox Co Ltd | 画像データ処理装置及びプログラム |
JP2015177253A (ja) * | 2014-03-13 | 2015-10-05 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
JP2016046733A (ja) * | 2014-08-25 | 2016-04-04 | キヤノン株式会社 | 画像処理装置と、その制御方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8788991B2 (en) | State grouping for element utilization | |
US11675942B2 (en) | Optimization of parameters for synthesis of a topology using a discriminant function module | |
CN107729083A (zh) | 一种加载驱动程序的方法及嵌入式设备 | |
US20100077379A1 (en) | Image processing apparatus, image processing method, and recording medium | |
US9560232B2 (en) | Image processing apparatus, method of controlling the same, and storage medium for configuring a reconfigurable device | |
JP2006195898A (ja) | 信号伝播経路描画装置、その描画方法及びプログラム | |
JP4699927B2 (ja) | 入出力共用端子制御回路 | |
JP2009025955A (ja) | データ処理装置、及びデータ処理プログラム | |
JP2005339021A (ja) | コンパイラ、最適化方法、コンパイラプログラム、及び記録媒体 | |
JP2009025953A (ja) | 演算処理装置及び演算処理プログラム | |
JP5277615B2 (ja) | データ処理装置及びデータ処理プログラム | |
JP2007287025A (ja) | 画面遷移プログラム生成方法及び装置 | |
JP2006268165A (ja) | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 | |
JP5205843B2 (ja) | 演算処理装置及び演算処理プログラム | |
JP2004326773A (ja) | プロセッサタイプの決定 | |
US20090237698A1 (en) | Image processing device and initiating method therefor | |
JP2006127407A (ja) | 半導体集積回路 | |
US20100031002A1 (en) | Simd microprocessor and operation method | |
JP2006171913A (ja) | 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体 | |
TWI726356B (zh) | 電子裝置與文件內容管理方法 | |
JP5835498B2 (ja) | Lsi及びlsi製造方法 | |
US20230059207A1 (en) | Computing apparatus, image capturing apparatus, control method, and storage medium | |
JP4960401B2 (ja) | 画像表示プログラム及び画像表示装置 | |
JP2008117148A (ja) | 情報処理装置および情報処理方法 | |
JP2008181383A (ja) | 文字認識装置、文字認識装置の制御方法、および文字認識装置の制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100622 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110930 |