(57)【特許請求の範囲】
【請求項１】
走査電子顕微鏡の検出器の出力に基づいて、画像を生成し、前記画像を処理する画像処理装置において、
前記出力から走査線のライン単位の信号を生成する画像入力部と、
前記画像入力部の出力を演算するライン単位処理部と、
前記ライン単位処理部の出力信号を出力する出力部と、
前記画像入力部と前記ライン単位処理部と前記出力部とを接続するスイッチドファブリックとを備え、
前記画像入力部と前記ライン単位処理部と前記出力部との間で、スイッチドファブリックを介してデータを転送し、前記データに処理内容とデータ内容とラインデータが含まれ、前記ライン単位処理部は、前記走査電子顕微鏡の走査線単位で積算処理を含む複数の画像処理を施し、前記出力部は当該複数の画像処理が施されたラインデータを合成して画像を形成、或いはラインデータを合成して画像を形成する画像処理部に前記複数の画像処理が施されたラインデータを出力することを特徴とする画像処理装置。
【請求項２】
請求項１において、
前記スイッチドファブリックに、前記画像入力部と前記ライン単位処理部と前記出力部からアクセスされる共有メモリを持つことを特徴とする画像処理装置。
【請求項３】
請求項１又は請求項２のいずれかにおいて、
前記スイッチドファブリックに、複数ラインでの演算を行う複数ライン処理部が接続されることを特徴とする画像処理装置。
【請求項４】
走査電子顕微鏡の検出器から出力されたデータに、所定の処理を施して画像を形成する画像処理装置において、走査電子顕微鏡の走査線単位で積算処理を含む複数の画像処理を施して、その後、前記走査線単位のデータを合成して画像を形成することを特徴とする画像処理装置。
【請求項５】
請求項４において、
前記画像処理には、画質改善処理、或いは画像縮小処理の少なくとも１つが含まれることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理する画像処理装置及び、電子ビーム装置に関する。
【背景技術】
【０００２】
電子ビーム装置で使用される画像前処理装置は、検出器の検出値から１画像を生成し、画像処理装置に転送する。１画像を生成するために複数の画像処理を実施するが、その画像処理アルゴリズムは取得画像に大きく依存するためソフトウェア処理が中心となっている。このソフトウェア処理とその後の画像転送は、検出器からの入力速度であるスキャン速度に依存する。１画像取得後、次の画像の入力が終了する前に、ソフトウェア処理と画像転送を実施する。
【０００３】
例えば、スキャン速度が３０画像／secの場合には、１画像当たりのスキャン時間は約３３.３ｍｓであり、１画像を取得後、次の画像がくる３３.３ｍｓ間に、画像処理を実施し１画像を生成後、画像処理装置に転送を実施する。
【０００４】
画像前処理装置で生成される画像サイズは、目的毎にサイズが異なるため様々である。垂直サイズだけでも１０種類以上あり、同様の数の水平サイズがあると、画像サイズの種類は１００種類以上となる。各スキャン毎に画像サイズを変更することもあるため、その設定時間は、電子ビーム装置の処理時間に影響を与える。
【０００５】
電子ビーム装置の高速化は、装置の高スループット化にもつながるため、スキャン速度や設定時間も含めて高速化が必須となっている。
【０００６】
【特許文献１】特開２００１−３１２４８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
スキャン速度を向上すれば、電子ビーム装置自体の高速化が可能となる。但し、スキャン速度の増加は、例えばＴＶレートのｎ倍のスキャン速度では画像生成及び転送には、ＴＶレートの１／ｎの時間で実施する必要がある。
【０００８】
ソフトウェア処理を高速にする場合、並列処理が一般的であるが、並列処理分割と分割によるオーバーヘッドによる影響が大きい。
【０００９】
逆に、確実な高速化が望める専用ハードウェア化の場合、画像処理アルゴリズム変更への対応が困難となる。
【００１０】
他に、特許文献１に記載されているアレイプロセッサがあるが、基本的には処理内容の並列化であり、並列処理によるオーバーヘッドの影響が大きい。
【００１１】
本発明の目的は、上記した従来技術の課題を解決して、ソフトウェア処理による画像アルゴリズム変更への柔軟な対応と高速性を可能とする方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、走査電子顕微鏡の画像処理に際し、ライン単位（走査線単位）で所定の処理を実施する装置を提案する。その一態様として、ライン単位処理部を設け、当該ライン単位処理部で、画像形成に必要な積算，画像改善，画像縮小等の処理を行い、当該処理が施されたライン単位のデータに基づいて、二次元画像を形成する画像処理装置を提案する。
【発明の効果】
【００１３】
上記構成によれば、１画面ごとではなく、１画面を構成するライン単位での処理を行うことが可能となるため、１画面分のスキャンを待つことなく、所定のライン走査が終了すると、必要な処理を行うことができるようになるため、結果として画像形成の高速化を実現することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下に、ライン単位で所定の処理を行う画像処理装置について詳述する。そのための具体的な構成の一例として、以下に、電子顕微鏡の検出器の検出値から複数ラインで構成される画像を生成し、前記画像を処理する画像処理部に画像を送信する画像処理装置において、前記検出値から各ラインを生成する画像入力部と、前記画像入力部の出力を演算するライン単位処理部と、前記ライン単位処理部の出力を前記画像処理部に転送する出力部と、前記画像入力部と前記ライン単位処理部と前記出力部とを接続するスイッチドファブリックで構成され、前記画像入力部と前記ライン単位処理部と前記出力部との間を、スイッチドファブリックを介してパケットで通信し、前記パケット構造にライン処理内容とライン構造とラインデータが含まれる画像処理装置について説明する。
【００１５】
また、更なる一例として、前記スイッチドファブリックに、前記画像入力部と前記ライン単位処理部と前記画像出力部からアクセスされる共有メモリを持たせた。
【００１６】
更なる他の一例として、前記スイッチドファブリックに、複数ラインでの演算を行う複数ライン処理部を接続した。
【００１７】
上記画像処理装置は、画像前処理内の要素毎に、入力部，出力部，ライン単位処理部に分ける。この時、ライン単位処理部は複数となることもある。このライン単位処理部間はパイプライン処理にして時間軸方向に並列化を図る。この時、各処理は１画面毎ではなく、１画面を構成しているライン単位の処理とする。これにより、１画像分のスキャンを待つこと無く、１ラインが終了すると処理に移れるために処理時間に裕度を持つことが可能となる。
【００１８】
この入力部，出力部，ライン単位処理部をスイッチドファブリックに接続することにより、画像アルゴリズム変更に対するライン単位処理部の増減を必要最低限の工数で実現可能である。例えば、新たに画像間引きを、今までの処理の間に本処理を入れる場合、この画像処理間引きを行うライン単位処理部をスイッチドファブリックに接続し、その前段のライン単位処理部の宛先を、新たに加えたライン単位処理部にすることにより、その処理を加えることが可能となる。すなわち、システムの変更点は、新たに加わったライン単位処理部にデータを転送するライン単位処理部の宛先を変えるのみである。
【００１９】
更に、複数処理に分かれた処理単位間（入力部，ライン単位処理部，出力部）のデータ転送のデータ構造に、ラインデータだけではなくデータ内容と処理内容を加えることにより、最初にデータを渡す入力部にだけ画像サイズ設定を行えよい。これによりライン単位処理部と出力部には設定を行う必要が無く、処理の細分化や複雑化によりライン単位処理部が増加する場合や、画像サイズの更なる増加においても、この設定による電子ビーム装置の速度に全く影響を与えない。且つ実際の画像変更においても、時系列的にパイプライン化されていた場合でも画像の切れ目を入力部位外では意識する必要なく、設定が可能となる。
【００２０】
入出力が複数に渡る場合においても、同じデータ構造を用いれば良い。この場合、ライン処理単位部と出力部で、他の入力部からのデータを全く使用しないのであれば、前述の画像前処理装置が並列に並んでいるだけである。また、複数の入力部からのデータを処理するライン単位処理部又は出力部がある場合には、ライン単位処理部では画像合成があり、出力部では同一出力先に対するデータ送信となる。画像合成では、処理内容の画像合成にフラグを立てておけば、該当するラインが来た時に合成する処理となるため、単入力の場合とデータ構造は同一となる。出力に関しては同じように処理内容に該当するフラグがあるため、両方出力すれば良いだけであり、データ構造は同一となる。
【００２１】
更に、上記画像前処理システムは、スイッチドファブリック上に共有メモリを持ち、入力部，出力部，ライン単位処理部でラインデータを含む画像データを共有する構造である。この場合、それぞれの処理単位間はデータ構造の中の処理内容とデータ内容だけがやり取りされ、データ内容中に記載された共有メモリ内のアドレスポインタからデータを読出し処理を行い書き戻す処理となる。ｎ枚の積算処理であれば、連続して流れてくる画像の例えば、ｍ枚目の処理を実施する場合、ｍ−ｎ＋１枚目からｍ枚目までのｎ枚の画像の蓄積が必要となる。各ライン単位処理部毎にメモリを持つのではなく、共有メモリに持つことにより、ライン単位処理部の構造をデータ処理内容に依存せず共有化することができ、且つ、画像サイズの増大は共有メモリのみを変更すれば対応可能となる。
【００２２】
更に、上記画像前処理システムは、ライン単位処理ではなく、複数ラインを処理する複数ライン単位処理部を持つ。例えばＮ×Ｎフィルタ処理では対象とするラインの前後のＮ／２のラインが必要となるため、Ｎラインが揃うまでは次の処理へデータ構造を渡すことはしない。そのため、複数ラインを貯めておくためのバッファが必要となる。しかし請求項２の共有メモリ構造であればＮライン分の処理内容と処理データを蓄積するバッファがあれば良い。これにより、全ての画像処理への対応が可能となる。
【００２３】
画像前処理装置において、スイッチドファブリックを用いて入力部，出力部，ライン単位画像処理部の処理単位に分け、その間のデータ構造を、処理内容とデータ内容とラインデータとすることで、スキャン速度の高速化と、短時間での多様な画像サイズ設定と、画像アルゴリズム変更を、最低限の変更で実現可能となる。
【実施例１】
【００２４】
以下、図面を用いて電子ビーム装置を例にとり、本発明の第１の実施例について説明する。図１は、積算処理，画質改善処理，画像縮小処理を行う画像前処理部１０２と、これを含む電子ビーム装置である。この画像前処理部１０２は、スイッチドファブリック１０４と、これに接続する入力部１０５，積算処理を行うライン単位処理部１０６，画質改善処理を行うライン単位処理部１０７，画像縮小処理を行うライン単位処理部１０８，出力部１０９から構成される。
【００２５】
図２に入力部１０５，ライン単位処理部１０６，ライン単位処理部１０７，ライン単位処理部１０８，出力部１０９間でスイッチドファブリック１０４を介して送受信されるデータ構造を示す。データ構造はフロー２０１，データ内容２０２，ラインデータ２０３から構成され、フロー２０１は、処理数２０４，処理順２０５，積算有無２０６，画質改善有無２０７，縮小処理有無２０８から構成され、データ内容２０２は、画像サイズ２０９，ライン番号２１０，データ長２１１から構成される。このフロー２０１とデータ内容２０２の構成内容は、全体制御部１００から図４に示すデータ先頭からのポインタとそれが示す意味記載された初期設定ファイルが渡される。データ構造自体が固定されているわけではない。
【００２６】
一連の処理の流れを説明する。
【００２７】
図１に示す通り、検出器１０１から出力されたデータは、入力部１０５に入力され、ラインデータ毎にフロー２０１及びデータ内容２０２を付加して、ライン単位処理部１０６に送信される。フロー２０１の内容は、全体制御部１００から与えられた処理内容であり、データ内容２０２は全体制御部１００のビームスキャン制御部分から与えられる内容である。
【００２８】
ライン単位処理部１０６，１０７，１０８の流れを、積算処理を行うライン単位処理部１０６で説明する。
【００２９】
図３に示す通り、ライン単位制御部１０６は、入力部１０５からライン単位のデータである受信データ３０１を受け取る。受け取った受信データ３０１は、フロー２０１に従って処理される。まず、フロー２０１を取り出し、ライン単位処理部１０６の処理である積算有無２０６を確認する。この積算有無２０６に積算フラグが立っていればラインデータ３０４に積算処理を施しラインデータ３０５を生成する。この時、ラインデータ３０５の１画素あたりのビット数とラインデータ長は、画像サイズ２０９とデータ長２１１から算出する。積算フラグが立っていない場合は、ラインデータ３０４をそのままラインデータ３０５とする。フロー２０１とデータ内容２０２とラインデータ３０５から送信データ３０３を生成し、フロー２０１内にある処理順２０５から、積算の次の処理、すなわち画質改善であるライン単位処理単位部１０７に対して、送信データ３０３を送信する。ここで示す通り処理実施の有無を示す積算有無２０６と、画像の大きさである画像サイズ２０９及び１画素あたりのビット構成の情報源となるデータ長２１１は受信データ３０１から生成される。これらを変更する場合には入力部１０５に対して変更を設定するだけで、それ以外の処理部には設定する必要は無い。
【００３０】
尚、ライン単位処理部１０６での処理の流れは、ライン単位処理部１０７，１０８でも同一であり、異なるのはラインデータ２０３に対して行う処理のみである。
【００３１】
画像前処理部１０２の最終段である出力部１０９は、ライン単位処理部１０９から送信されるライン単位のデータを受信し、データ内容２０２の画像サイズ２０９とライン番号２１０を見て、１画像生成してから画像処理部１０３に１画像を送信する。尚、画像処理部１０３がライン単位転送に対応している場合には、少なくともデータ内容２０２とラインデータ２０３で構成されるデータを各ライン毎に送信可能である。画像処理部１０３がライン単位転送に対応している場合には、図５に示す通りスキャン時間＋５ライン分の遅延で送信が可能となる。
【００３２】
画像アルゴリズムの変更があった場合、例えば図５に示す画質改善処理２を行う画像アルゴリズムの追加が合った場合には、スイッチドファブリック１０４にライン単位処理部６０１を追加し、初期設定ファイルのフロー２０１に画質改善２有無６０６を加え、この変更に伴い、データ内容ポインタ６０２，ラインデータポインタ６０３，処理数６０４，処理順６０５を変更して、各ライン単位処理部に渡すのみである。ライン単位処理部を減らす場合、ライン単位処理部を減らす場合は増やす場合と基本的に同じことを行い、ライン処理部を残す場合には、処理数２０４と処理順２０５を変更して、該当するライン処理部をスキップするように設定するだけである。
【００３３】
以上のように本発明によれば、スキャン終了後、ライン処理部と入力部と出力部の数分のライン遅延で前処理部の処理が終了し画像処理部に画像を転送可能であること、複数の画像サイズや処理順に対しても入力部が生成する処理内容及びデータ内容を変更するだけで対応可能であること、またライン処理部の増減を伴う大幅な画像アルゴリズム変更に対しても、設定ファイルの変更のみで対応可能となる。
【実施例２】
【００３４】
次に、図面を用いて本発明の第２の実施例について説明する。
【００３５】
図７は、積算処理，画像合成処理，画質改善処理，画像縮小処理を行う画像前処理部７０３と、これを含む電子ビーム装置である。この画像前処理部７０３は、スイッチドファブリック７１５と、これに接続する入力部７０６と入力部７０７，積算処理を行うライン単位処理部７０８とライン単位処理部７０９，画像合成を行うライン単位処理部７１０，画質改善処理を行うライン単位処理部７１１，画像縮小処理を行うライン単位処理部７１２，出力部７１３と出力部７１４から構成される。
【００３６】
図８に入力部７０６，入力部７０７，ライン単位処理部７０８，ライン単位処理部７０９，ライン単位処理部７１０，ライン単位処理部７１１，ライン単位処理部７１２，出力部７１３，出力部７１４間でスイッチドファブリック７１５を介して送受信されるデータ構造を示す。データ構造は、処理内容８０１，データ内容８０２，ラインデータ８０３から構成され、処理内容８０１はデータヘッダ８０４，実行オフセット８０５，積算処理内容８０６，画像合成処理内容８０７，画質改善処理内容８０８，縮小処理内容８０９から構成され、データ内容は画像種８１０，画像サイズ８１１，画像番号８１２，ライン番号８１３，データ長８１４から構成される。スイッチドファブリックに接続される処理部は、オフセット８１５とバイト数８１６の大きさとデータ内容８０２の構成内容を持っており、データ構造の先頭にあるオフセット８１５とバイト数８１６を読出す。ここに入っているのは実行オフセット８０５のオフセットとバイト数であるため、各処理部はデータヘッダの大きさとオフセットと倍と数のペアが、何ペア入っているかを知ることが出来る。そのためオフセットとバイト数の最後のペアはラインデータを示していることが解るため、図９に示す構造がわかることとなる。また実行オフセット８１５には実行すべき処理のオフセット値が格納されており、例えば積算処理の場合には実行オフセットには積算処理内容８０６のオフセット値が格納されている。
【００３７】
一連の流れを説明する。
【００３８】
図７に示す通り、検出器Ａ７０１から出力されたデータは、入力部７０６に入力され、ラインデータごとに処理内容８０１及びデータ内容８０２を付加して、ライン単位処理部７０８に送信される。処理内容８０１の内容の付加方法は、実施例１と同じである。
【００３９】
図３を用いて、ライン単位処理部７０８の動作を説明する。ライン単位のデータである受信データ３０１を受け取った後、データ構造の先頭のオフセット８１５とバイト数８１６を読出す。先ほど示した通り、これにより図９で示したデータ構造を理解する。次に実行オフセット値を呼び出し、示されたオフセット値の先頭を呼び出す。ここには積算処理のオフセット値が入っているため、積算処理内容８０６の積算属性値を読出す。この中には２が入っているため、次に続く積算有無と積算後処理が入っていることとなる。尚、各処理が必要とする属性値は、オフセットとバイト数の大きさと共に、全体制御部１００から設定値として事前に配布された情報に含まれる。
【００４０】
この一連の情報である積算処理内容８０６を元に、フロー２０１に従って処理される。処理の方法は、実施例１と同一である。処理が終わった最後に、送信データ３０３を生成するが、この時、実行オフセット８０５の内容を積算処理内容８０６の積算後処理に書き換える。ここには次に送るべき処理の中身が入っているため、この情報を元に送信データ３０３は、画像合成処理を行うライン単位処理部７１０にデータを送信する。
【００４１】
以上の動作と同じように、検出器Ｂ７０２，入力部７０７，ライン単位処理部７０９が動作する。
【００４２】
次に、２つの入力を受け取る画像合成処理のライン単位処理部７１０の動作を説明する。図１０に示す受信データ１００１を受け取った場合、ライン単位処理部７０８と同じ手順で、図９のデータ構造を認識し、画像合成処理内容８０７を読出す。この中にある画像合成数を読出し、２ライン合成である事を認識し、ライン番号８１３と同じ番号の異なる画像種８１０を持つ受信データ１００２が来るまで処理を待つ。受信データ１００２が到着した後は、図３の場合と同じである。２入力を超える入力数に対しても、基本的には２入力の場合と変わりは無く、必要なライン数が来るまで処理を待つだけである。また、時系列的に、すなわち同一画像種８１０の異なるライン番号８１３が必要な場合でも、入力で待つことには変わりなく、基本的には同一のフローとなる。
【００４３】
２つの送信データを出力するライン単位処理部７１１の動作を説明する。図１１に示す受信データ１１０１を受け取ってからの処理は、データ送信までは図３の場合と同じである。データ送信の時、送信データ１１０３の処理内容１１０５にある画質改善処理内容８０８のないように画質改善後処理１と画質改善後処理２の２つが定義されている。ここを見て、フロー１１０４内のデータ送信は、２つ場所に送信することを認識し、それぞれに対して、送信データ１１０２と送信データ１１０３を送信する。２つを超える出力があった場合でも、画質改善処理内容８０８の項目が増えるだけである。
【００４４】
画像縮小処理であるライン単位処理部７１２は、積算処理であるライン単位処理部７０６と同一の動作であり、出力部７１３と出力部７１４は、処理内容８０１の認識はライン単位処理部７０６と同一であり、フローは実施例１の出力部１０９と同一である。
【００４５】
入力部７０６と入力部７０７に対する設定の変更は、同時に行う必要があるのであれば、スイッチドファブリック７１５のマルチキャスト通信を用いて、同時に行うことが可能である。これによりそれぞれの入力部への設定のタイミング差による画像サイズや処理の切り替えのタイミングを意識すること無く、実施例１と同一の考え方で複数入出力に対応することが可能である。
【００４６】
また、拡張性に関しても基本的には実施例１と同一であるが、処理内容８０１では新たな機能の追加に対しても対応してあり、個々のライン単位処理部に対する各画像サイズに対するダイナミックな処理の変更に対しても対応可能である。
【００４７】
以上のように本発明によれば、複数の入出力を持つ画像前処理装置に対して、スキャン終了後、ライン処理部と入力部と出力部の数分のライン遅延で前処理部の処理が終了し画像処理部に画像を転送可能であること、複数の画像サイズや処理順に対しても入力部が生成する処理内容及びデータ内容を変更するだけで対応可能であること、またライン処理部の増減を伴う大幅な画像アルゴリズム変更に対しても、処理内容８０１の変更のみで対応可能となる。
【産業上の利用可能性】
【００４８】
本画像前処理装置は、検出器からの１次元の画像装置から１画像を作成すること、及び画像生成のための複雑な画像前処理をリアルタイムに実施することが可能な装置である。そのため、電子ビームではなく光学系のシステム等への利用が可能である。
【図面の簡単な説明】
【００４９】
【図１】本発明の第１の実施形態を含む装置構成を説明する図。
【図２】本発明の第１の実施形態でのデータ構造を説明する図。
【図３】本発明の第１の実施例のライン単位データ処理部説明図。
【図４】本発明の第１の実施例での設定項目詳細図。
【図５】本発明のライン単位処理動作の説明図。
【図６】本発明の第１の実施例でのライン単位データ処理部増設の説明図。
【図７】本発明の第２の実施形態を含む装置構成例を説明する図。
【図８】本発明の第２の実施形態でのデータ構造を説明する図。
【図９】本発明の第２の実施形態でのデータヘッダ部の説明図。
【図１０】本発明の第２の実施例の２入力ライン単位データ処理部説明図。
【図１１】本発明の第２の実施例の２出力ライン単位データ処理部説明図。
【符号の説明】
【００５０】
１００  全体制御部
１０１  検出器
１０２，７０３  画像前処理部
１０３  画像処理部
１０４  スイッチドファブリック
１０５，７０６，７０７  入力部
１０６，１０７，１０８，６０１，７０８，７０９，７１０，７１１，７１２  ライン単位処理部
１０９，７１３，７１４  出力部
２０１  フロー
２０２，８０２  データ内容
２０３，８０３  ラインデータ
２０４，６０４  処理数
２０５，６０５  処理順
２０６  積算有無
２０７  画質改善有無
２０８  縮小処理有無
２０９，８１１  画像サイズ
２１０，８１３  ライン番号
２１１，８１４  データ長
３０１，１００１，１００２，１１０１  受信データ
３０２  ライン単位処理部画像処理フロー
３０３，１００３，１１０２，１１０３  送信データ
４０１  処理内容のポインタ
４０２，６０２  データ内容のポインタ
４０３，６０３  ラインデータのポインタ
４０４  処理内容内の処理順ポインタ
４０５  処理内容内の自処理ポインタ（積算処理のライン単位処理部の場合）
４０６  画像サイズのポインタ
４０７  ライン番号のポインタ
４０８  データ長のポインタ
６０６  画質改善２有無
７００  全体制御部
７０１  検出器Ａ
７０２  検出器Ｂ
７０４  画像処理部Ａ
７０５  画像処理部Ｂ
８０１  処理内容
８０４  データヘッダ
８０５  実行オフセット
８０６  積算処理内容
８０７  画像合成処理内容
８０８  画質改善処理内容
８０９  縮小処理内容
８１０  画像種
８１２  画像番号
８１５  オフセット
８１６  バイト数
１００４  ２入力ライン単位処理部画像処理フロー
１１０４  ２出力ライン単位処理部画像処理フロー
【図１】
0005271567.tif 000002
【図２】
0005271567.tif 000003
【図３】
0005271567.tif 000004
【図４】
0005271567.tif 000005
【図５】
0005271567.tif 000006
【図６】
0005271567.tif 000007
【図７】
0005271567.tif 000008
【図８】
0005271567.tif 000009
【図９】
0005271567.tif 000010
【図１０】
0005271567.tif 000011
【図１１】
0005271567.tif 000012