(57)【特許請求の範囲】
【請求項１】
データ及び画像を入力する入力工程と、
セルの配置パターンの生成に関連する、誤り訂正レベル、マスクパターン、型番及び埋め草コード語を含む複数の構成要素を変数として、解候補として前記データを符号化した２次元コードを生成する解候補生成工程と、
前記解候補生成工程において生成された解候補が前記画像と類似しているか否かを評価する解候補評価工程とを有し、
前記解候補生成工程においては、前記解候補評価工程において前記画像と類似していないと評価された場合に、少なくとも前記誤り訂正レベル、マスクパターン、型番及び埋め草コード語を変数とした最適化アルゴリズムを用いて新たな解候補を生成し、
前記解候補評価工程においては、前記解候補生成工程において生成された新たな解候補について評価することを特徴とする２次元コード生成方法。
【請求項２】
前記解候補評価工程においては、前記画像との類似度を算出して類似しているか否かを評価することを特徴とする請求項１に記載の２次元コード生成方法。
【請求項３】
前記解候補生成工程においては、前記解候補評価工程において前記画像と類似していないと評価された場合に、前記複数の構成要素と、前記算出した類似度とに基づいて新たな解候補を生成することを特徴とする請求項２に記載の２次元コード生成方法。
【請求項４】
データ及び画像を入力する入力手段と、
セルの配置パターンの生成に関連する、誤り訂正レベル、マスクパターン、型番及び埋め草コード語を含む複数の構成要素を変数として、解候補として前記データを符号化した２次元コードを生成する解候補生成手段と、
前記解候補生成手段によって生成された解候補が前記画像と類似しているか否かを評価する解候補評価手段とを有し、
前記解候補生成手段は、前記解候補評価手段により前記画像と類似していないと評価された場合に、少なくとも前記誤り訂正レベル、マスクパターン、型番及び埋め草コード語を変数とした最適化アルゴリズムを用いて前記複数の構成要素に基づいて新たな解候補を生成し、
前記解候補評価手段は、前記解候補生成手段によって生成された新たな解候補について評価することを特徴とする２次元コード生成装置。
【請求項５】
請求項１〜３の何れか１項に記載の２次元コード生成方法の各工程をコンピュータに実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元コード生成方法、２次元コード生成装置、プログラム及び記憶媒体に関し、特に、写真やイラストを反映させた２次元コードを生成するために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、２次元コードの１種であるＱＲコード（登録商標）が広範囲に普及されてきたため、広告媒体として視覚的誘因性が低下している傾向にある。そこで、近年では視覚的誘因性を向上させるために、ＱＲコードの内部に写真やイラストを組み込んだ、装飾性の高い２次元コードが提案されている。このように２次元コードの装飾性を高めることにより、読み取る前から２次元コードに格納された情報を識別しやすくしたり、視認性を向上させてオリジナリティを演出したりすることができる。
【０００３】
一方、写真やイラストを組み込むと、組み込んだ箇所がマスクされるため、２次元コードを読み取る際に誤り訂正機能を用いてデコードする必要がある。このように、写真やイラストの大きさや配置する位置に制限があるため、２次元コード上での写真やイラストを配置する位置を最適化して、装飾性と可読性とを両立させた技術が提案されている。
【０００４】
しかしながら、従来の方式では、写真やイラストを配置する位置を最適化した場合であっても誤り訂正機能を利用する必要がある。近年では、ＱＲコードなどの２次元コードがホームページのみならず雑誌や名刺などの印刷媒体にも用いられており、このような場合には、印刷媒体が汚れていたり歪んでいたりすることもある。写真やイラストが組み込まれた２次元コードの一部が損傷していたり歪んでいたりした場合には、デコード率が低下してしまうという問題点がある。したがって、このような事態を想定し、誤り訂正機能をなるべく用いずにデコードできるようにしておくことが望ましい。
【０００５】
そこで、写真やイラストを配置するのではなく、埋め草コード語の領域のみを用いて写真やイラストに類似するセルパターンを２次元コードに形成することにより、装飾性及び可読性を確保する技術も開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１６３７２０号公報
【特許文献２】特開２００９−２３０７２９号公報
【特許文献３】特開２００７−２４１３２９号公報
【特許文献４】特許第３９５７７３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、埋め草コード語の領域は、２次元コードに埋め込まれるデータ及び誤り訂正コード語の総数によって大きく異なる。したがって、データ量によっては、埋め草コード語の領域が相対的に小さくなる場合がある。また、前述したように、雑誌や名刺などの印刷媒体に用いる場合には、２次元コードの一部が損傷したり歪んだりすることを想定して誤り訂正レベルを大きくするため、相対的に埋め草コード語の領域が小さくなる。このような場合には型番を大きくするか、もしくは誤り訂正レベルを下げない限り写真やイラストに類似するセルパターンを形成することができないなど、制限が多いという問題点がある。さらに、誤り訂正コード語の領域は変形の対象としていない。
【０００８】
本発明は前述の問題点に鑑み、目的とする画像やパターンに類似する２次元コードをより自由に生成できるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明の２次元コード生成方法は、データ及び画像を入力する入力工程と、セルの配置パターンの生成に関連する、誤り訂正レベル、マスクパターン、型番及び埋め草コード語を含む複数の構成要素を変数として、解候補として前記データを符号化した２次元コードを生成する解候補生成工程と、前記解候補生成工程において生成された解候補が前記画像と類似しているか否かを評価する解候補評価工程とを有し、前記解候補生成工程においては、前記解候補評価工程において前記画像と類似していないと評価された場合に、少なくとも前記誤り訂正レベル、マスクパターン、型番及び埋め草コード語を変数とした最適化アルゴリズムを用いて新たな解候補を生成し、前記解候補評価工程においては、前記解候補生成工程において生成された新たな解候補について評価することを特徴とする。
【００１０】
本発明の２次元コード生成装置は、データ及び画像を入力する入力手段と、セルの配置パターンの生成に関連する、誤り訂正レベル、マスクパターン、型番及び埋め草コード語を含む複数の構成要素を変数として、解候補として前記データを符号化した２次元コードを生成する解候補生成手段と、前記解候補生成手段によって生成された解候補が前記画像と類似しているか否かを評価する解候補評価手段とを有し、前記解候補生成手段は、前記解候補評価手段により前記画像と類似していないと評価された場合に、少なくとも前記誤り訂正レベル、マスクパターン、型番及び埋め草コード語を変数とした最適化アルゴリズムを用いて前記複数の構成要素に基づいて新たな解候補を生成し、前記解候補評価手段は、前記解候補生成手段によって生成された新たな解候補について評価することを特徴とする。
【００１１】
本発明のプログラムは、前記２次元コード生成方法の各工程をコンピュータに実行させることを特徴とする。
【００１２】
本発明の記憶媒体は、前記プログラムを記憶したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、入力された画像に類似した２次元コードや指定されたパターンを含む２次元コードを生成することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る２次元コード生成装置のハードウェア構成例を示すブロック図である。
【図２】本発明の実施形態に係る２次元コード生成装置の機能構成例を示すブロック図である。
【図３】本発明の実施形態において、初期集団として複数パターンの２次元コードを生成する処理手順の一例を示すフローチャートである。
【図４】誤り訂正レベルの一覧を示す図である。
【図５】本発明の実施形態において、遺伝的アルゴリズムにより出力する２次元コードを生成する処理手順の一例を示すフローチャートである。
【図６】入力される画像の目標領域、境界領域及び背景領域を説明する図である。
【図７】Genotype及びPhenotypeを説明する図である。
【図８】イラストを貼り付けた２次元コード及びイラストに類似したパターンの２次元コードの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら説明する。本実施形態では、２次元コードの１種であるＱＲコードを参照しながら説明する。
図１は、本実施形態に係る２次元コード生成装置１００のハードウェア構成例を示すブロック図である。
図１において、ＣＰＵ１０１は、２次元コード生成装置１００全体を制御するものであり、必要な時にＲＯＭ１０３に記憶されたプログラムを読み出してＲＡＭ１０２に展開し、本実施形態に係る処理を実行する。入力装置１０４は、着脱可能なメモリカードなどの記録媒体を装着することができ、２次元コードに埋め込むデータを入力したり、セルパターンとして形成させたい写真やイラストを入力したりする。
【００１６】
操作部１０５は、ユーザの操作に応じてコマンドを入力する操作部材である。記憶装置１０６は例えばハードディスクであり、データを記憶するためのものである。画像表示装置１０７は例えば液晶ディスプレイであり、２次元コードを生成できない旨のエラーなどを警告表示したり、２次元コードの条件等を設定するためのメニュー画面を表示したりする。ネットワークインタフェースカード（ＮＩＣ）１０８は、ＬＡＮ１１０を介して他の情報機器とデータをやり取りするためのインターフェースである。メインバス１０９は前述した各構成を接続するためのバスである。
【００１７】
図２は、本実施形態に係る２次元コード生成装置１００の機能構成例を示すブロック図である。
図２において、データ入力部２０１は、入力装置１０４、または外部装置からＬＡＮ１１０を介して２次元コードに埋め込むデータ（文字列）を入力する。
【００１８】
解候補生成部２０２は、入力された文字列からコード語を生成し、型番、誤り訂正レベル、マスクパターン及び埋め草コード語を変数として、２次元コードを複数パターン生成し、解候補記憶部２０６に記憶する。本実施形態では、詳細な説明は後述するが、このような複数の２次元コードから遺伝的アルゴリズムにより、所望の写真やイラストを最も反映させた２次元コードを生成する。
【００１９】
画像入力部２０３は、入力装置１０４、または外部装置からＬＡＮ１１０を介して写真やイラストなどの画像データを入力する。解候補評価部２０４は、解候補記憶部２０６に記憶された２次元コードと、画像入力部２０３により入力された画像データとを比較することにより、遺伝的アルゴリズムを用いて２次元コードを評価する。出力部２０５は、生成された２次元コードを出力する。
【００２０】
図３は、解候補生成部２０２により、初期集団として複数パターンの２次元コードを生成する処理手順の一例を示すフローチャートである。
まず、ステップＳ３０１において、２次元コードを生成する指示とともに、データ入力部２０１から文字列のデータを入力するまで待機する。そして、文字列のデータを入力すると、ステップＳ３０２において、入力された文字列をもとに、コード語を生成する。
【００２１】
次に、ステップＳ３０３において、生成したコード語の先頭にモード指示子及び文字数指示子を付与する。そして、ステップＳ３０４において、生成したコード語の終端に終端ビットを付与する。
【００２２】
次に、ステップＳ３０５において、可読性に影響がない誤り訂正レベル、マスクパターン、型番及び埋め草コード語の組合せをランダムに設定する。なお、一度適用した組合せについては再度選択しないようにする。誤り訂正レベルについては、図４に示すように、Ｌ、Ｍ、Ｑ、Ｈの４段階に設定することが可能である。また、２次元コードの用途として、印刷物や物品などに用いられるような場合には、誤り訂正機能を大きくするために、初期設定として例えば、Ｑ、Ｈの２段階のみに設定するようにしてもよい。
【００２３】
次に、ステップＳ３０６において、ステップＳ３０５において設定された埋め草コード語を生成し、ステップＳ３０４で付与した終端ビットの後方に追加する。なお、埋め草コード語の長さは、２次元コードの型番及び誤り訂正レベルに基づいて決定される。また、型番によって残余コード語や残余ビットが必要な場合は、残余コード語や残余ビットを付加する。そして、設定された誤り訂正レベルの誤り訂正コード語を追加する。ここで、誤り訂正コード語は、誤り訂正レベル、型番、入力された文字列のコード語、及び埋め草コード語により決定されるものである。したがって、誤り訂正コード語を変更することによって、これらの４つの要素の情報を変更することができる。本実施形態では、このように誤り訂正レベル、型番などを設計変数として取り扱うため、誤り訂正コード語の領域におけるセルの配置パターンも変更することができる。次に、ステップＳ３０７において、ステップＳ３０６までに生成されたビット列をブロック分割し、各ブロックにおいてＲＳ符号を生成する。
【００２４】
次に、ステップＳ３０８において、生成されたコード語を、ステップＳ３０５で設定された型番のシンボル上に配置する。本実施形態では、２値化を容易にして可読性を確保するためセルの色は白及び黒の２色を用いるものとする。そして、ステップＳ３０９において、ステップＳ３０５で設定されたマスクパターンに従ってマスク処理を行う。そして、ステップＳ３１０において、形式情報及び型番情報を２次元コードのシンボル上の所定の位置に配置し、初期集団としての２次元コードを生成する。
【００２５】
次に、ステップＳ３１１において、所定数の２次元コードが得られたか否かを判定する。この判定の結果、所定数の２次元コードが得られていない場合は、ステップＳ３０５に戻り、異なる組合せにより誤り訂正レベル、マスクパターン、型番及び埋め草コード語を設定する。一方、所定数の２次元コードが得られた場合は、初期集団生成部２０２による処理を終了する。なお、初期集団として必要な２次元コードの数は、後述する遺伝的アルゴリズムで用いるパラメータによって決定される。
【００２６】
次に、解候補評価部２０４の評価により、遺伝的アルゴリズムを用いて写真またはイラストの形状が反映された２次元コードを生成する方法について説明する。写真やイラストの形状を反映させるようにセルの配置パターンを変更すると、２次元コードの内部のデータが変更されるため、可読性が低下する。そこで、可読性を維持しつつ、セルの配置パターンを変更させるためには、２次元コードの内部の構成データを変更することが必要である。
【００２７】
そこで本実施形態では、構成要素として、セルの配置パターンに影響し、可読性に影響がない誤り訂正レベル、マスクパターン、型番及び埋め草コード語を遺伝的アルゴリズムの設計変数とし、遺伝的アルゴリズムにより、入力された写真やイラストが反映された２次元コードを生成する。
【００２８】
図５は、解候補評価部２０４において遺伝的アルゴリズムにより２次元コードの解候補を評価する処理手順の一例を示すフローチャートである。
まず、ステップＳ５０１において、画像入力部２０３から写真やイラストなどの画像データを入力する。
【００２９】
次に、ステップＳ５０２において、解候補評価部２０４は、解候補記憶部２０６に記憶されている２次元コードと、ステップＳ５０１で入力された画像データとを比較し、以下の式（１）及び式（２）により類似度を示す適応度Ｑ（Ｃ）を算出する。
【００３０】
【数１】
0005686346.tif 000002
【００３１】
【数２】
0005686346.tif 000003
【００３２】
ここで、Ｏ（ｘ，ｙ）は、２次元コードにおける実際の階調値であり、Ｔ（ｘ，ｙ）は、出力する２次元コードとして理想的な階調値である。また、Ｈ，Ｗはそれぞれ、縦及び横のピクセル数を示す。本実施形態では、閾値εは、入力された画像と類似するまで解候補の生成と評価とを繰り返し、類似しているとみなせる程度に小さい値に設定する。
【００３３】
また、ωは重み画像における階調値を示し、入力された画像から算出される値である。図６に示すように、入力された画像においては、目標領域６０１、境界領域６０２及び背景領域６０３に分かれる。階調値ωの算出方法は、これらの領域によって異なり、目標領域６０１での階調値ωtarget、境界領域６０２での階調値ωborder、及び背景領域６０３での階調値ωbackは、以下の式（３）により算出される。
【００３４】
【数３】
0005686346.tif 000004
【００３５】
ここで、Ｓallは、２次元コードの面積であり、Ｓtargetは、画像内の主に表現したい目標領域６０１の面積である。また、Ｓbackは、その他の背景領域６０３の面積である。
【００３６】
次に、ステップＳ５０３において、解候補評価部２０４は、解候補記憶部２０６に記憶されている２次元コードの中から、ランダムに２つの２次元コードを読み出す。そして、後述するステップＳ５０４での交叉及び突然変異により直前に生成された子の２次元コードを解候補記憶部２０６から読み出す。そして、子の２次元コード、及び読み出した２つの２次元コードを合わせた４つの中から最も適応度の高い２次元コードを選択し、さらに、ルーレットにより１つの２次元コードを選択する。ここで、ルーレットにより１つの２次元コードを選択する際に、適応度の高い順に比重を高く設定し、適応度の高い２次元コードほど高い確率で選択されるようにする。
【００３７】
次に、ステップＳ５０４において、解候補生成部２０２は、ステップＳ５０３で選択された２つの２次元コードを親とし、交叉により子個体を生成する。そして、生成した子個体の全ての遺伝子（誤り訂正レベル、マスクパターン、型番及び埋め草コード語）に３％の突然変異を起こす。
【００３８】
図７は、Genotype及びPhenotypeを説明する図である。
ステップＳ５０４における交叉及び突然変異では、図７に示すように、Genotypeで表現して誤り訂正レベル、マスクパターン、型番及び埋め草コード語を操作する。この場合、誤り訂正レベル、マスクパターン及び型番は固定長であり、それぞれ２ビット、３ビット、６ビットである。一方、埋め草コード語は、型番、誤り訂正レベル及び埋め込まれたデータの文字数に依存するため、可変長である。交叉の方法としては、一様交叉を用いて子個体を生成する。また、突然変異では、設計変数となる各ビットにおいて３％の確率でビットの反転を行う。そして、ステップＳ５０５において、解候補生成部２０２は、生成した子個体をPhenotypeである２次元コードにエンコードし、解候補記憶部２０６に記憶する。
【００３９】
次に、ステップＳ５０６において、解候補評価部２０４は、遺伝子操作を繰り返した結果、適応度が所定値を上回る２次元コードが得られているか否かを判定する。この判定の結果、適応度が所定値を上回る２次元コードが得られている場合は入力画像と類似しているとみなし、ステップＳ５０７において、その２次元コードを出力部２０５から出力し、処理を終了する。出力方法としては、画像表示装置１０７に解候補である２次元コードを表示してもよく、ＬＡＮ１１０を介して外部装置に送信してもよい。
【００４０】
一方、ステップＳ５０６の判定の結果、適応度が所定値を上回る２次元コードが得られていない場合は類似していないとみなし、ステップＳ５０２に戻り、所望の２次元コードが得られるまで処理を繰り返す。以降、ステップＳ５０２では、子の２次元コードなど、適応度が算出されていない２次元コードのみ適応値を算出すればよい。
【００４１】
図８（ａ）は、文字を貼り付けた２次元コードの一例を示す図であり、図８（ｂ）は、本実施形態に係る方法により生成した２次元コードの一例を示す図である。図８に示すように、本実施形態に係る方法により、「２」に類似するパターンにより２次元コードを生成することができる。
【００４２】
以上のように本実施形態によれば、誤り訂正レベル、マスクパターン、型番及び埋め草コード語を変数として、遺伝的アルゴリズムにより写真やイラストを最も反映させた２次元コードを生成するようにした。これにより、埋め草コード語の領域のみならず、誤り訂正コード語の領域なども組み替えることができ、より制約が少ない範囲で写真やイラストを反映させた２次元コードを生成することができる。
【００４３】
なお、本実施形態では、遺伝的アルゴリズムにより写真やイラストを反映させた２次元コードを生成したが、解候補の生成と評価とを繰り返すアルゴリズムであれば、他のアルゴリズムを用いてもよい。このように試行錯誤的に解候補の生成及び評価を行うことにより最適化するアルゴリズムとしては、他に、ランダム法、シンプレックス法、山登り法、焼き鈍し法、タブー探索などの単点探索アルゴリズム、または、遺伝的アルゴリズム、粒子群最適化、蟻コロニー最適化などの多点探索アルゴリズムなどが挙げられる。
【００４４】
また、本実施形態では、初期集団の２次元コードを複数生成したが、アルゴリズムの種類によっては、初期集団の２次元コードの生成が不要である場合もある。このようなアルゴリズムを用いて解候補の生成と評価とを繰り返す場合には、図３に示す処理により初期集団として複数の２次元コードを生成しなくてもよい。
【００４５】
さらに、本実施形態では、ＱＲコードを例に説明したが、他の２次元コードについても同様に、シンボルを形成するパターンの生成に関連する構成要素を可変し、解候補の生成と評価とを繰り返すことにより同様の効果が得られる。
【００４６】
また、本実施形態では、可読性に影響のない誤り訂正レベル、マスクパターン、型番及び埋め草コード語を設計変数として設定したが、設計変数としてはこれらの４つ以外に、残余コード語、残余ビットなどを含めて設計変数としてもよい。一方、用途によって２次元コードが損傷したり歪んだりしない場合もあり、誤り訂正機能をあまり用いないような状況もある。さらに、写真やイラストによっては、アルゴリズムにより所望の２次元コードがなかなか得られないような場合もある。また、２次元コードの装飾以外の用途として、歪みに強い２次元コードを生成するなどの目的のために、２次元コードの全ての領域に特定パターンを埋め込みたい場合がある。このような条件を満たすような場合には、データの可読性に多少影響が出ても目標とする画像に近い２次元コードを生成することが望ましい。そこで、このような場合には、２次元コードを構成する全ての構成要素を設計変数としてもよい。
【００４７】
（その他の実施形態）
前述した本発明の実施形態における２次元コード生成装置を構成する各手段、並びに２次元コード生成方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００４８】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図３及び図５に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５２】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００５３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【００５４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００５５】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００５６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００５７】
さらに、その他の方法として、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれ、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【００５８】
２０１  データ入力部
２０２  解候補生成部
２０３  画像入力部
２０４  解候補評価部
２０５  出力部
２０６  解候補記憶部
【図１】
0005686346.tif 000005
【図２】
0005686346.tif 000006
【図３】
0005686346.tif 000007
【図４】
0005686346.tif 000008
【図５】
0005686346.tif 000009
【図６】
0005686346.tif 000010
【図７】
0005686346.tif 000011
【図８】
0005686346.tif 000012