(57)【要約】【課題】化合物の構造式の画像情報から当該構造式に含まれる原子の属性または原子間の結合の属性を特定すること。【解決手段】情報処理装置１００は、化合物の構造式１１１を描画した画像情報１１０のうちの原子記号を表す画素群のいずれかの画素の画素情報を特定する。次に、情報処理装置１００は、特定した画素情報のうちの原子記号の属性に応じた位置にあるビットの値を、原子記号の属性を示す値に変更することにより、特定した画素情報に原子記号の属性を示す値を埋め込む。また、情報処理装置１００は、化合物の構造式１１１を描画した画像情報１１０のうちの結合記号を表す画素群のいずれかの画素の画素情報を特定する。次に、情報処理装置１００は、特定した画素情報のうちの結合記号の属性に応じた位置にあるビットの値を、結合記号の属性を示す値に変更することにより、特定した画素情報に結合記号の属性を示す値を埋め込む。【選択図】図１
2014182663.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得し、
取得した前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定し、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定し、
特定した前記画素の画素情報を示すビット列のうち、特定した前記属性の種別に応じた位置にあるビットの値を、特定した前記属性を示す値に変更する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記画素情報を特定する処理は、
前記属性を示す値が複数のビットで表現される場合に、前記記号を表す画素群のうちの前記複数のビットの各々のビットに対応する画素の画素情報を特定し、
前記変更する処理は、
特定した前記各々のビットに対応する画素の画素情報を示すビット列のうち、前記属性の種別に応じた位置にあるビットの値を、前記各々のビットの値に変更することを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記コンピュータに、
特定した前記画素情報を示すビット列のうち、特定した前記属性に応じた位置とは異なる所定の位置にあるビットの値を、所定の値に変更する処理を実行させることを特徴とする請求項１または２に記載の情報処理プログラム。
【請求項４】
前記コンピュータに、
前記記号の属性に応じた位置にあるビットの値が前記記号の属性を示すビットの値に変更され、かつ、前記所定の位置にあるビットの値が前記所定の値に変更された画素情報を含む、前記構造式の画像情報の中から、前記所定の位置にあるビットの値が前記所定の値である画素情報を抽出し、
抽出した画素情報を示すビット列のうち、前記記号の属性の種別に応じた位置にあるビットの値に基づいて、前記属性を特定する、
処理を実行させることを特徴とする請求項３に記載の情報処理プログラム。
【請求項５】
コンピュータが、
描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得し、
取得した前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定し、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定し、
特定した前記画素の画素情報を示すビット列のうち、特定した前記属性の種別に応じた位置にあるビットの値を、特定した前記属性を示す値に変更する、
処理を実行することを特徴とする情報処理方法。
【請求項６】
描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得する取得部と、
前記取得部によって取得された前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定する第１の特定部と、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定する第２の特定部と、
前記第２の特定部によって特定された前記画素の画素情報を示すビット列のうち、前記第１の特定部によって特定された前記属性の種別に応じた位置にあるビットの値を、前記第１の特定部によって特定された前記属性を示す値に変更する変更部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、インターネット等のネットワークを介して、化合物の構造式の画像情報が提供される場合、当該構造式に含まれる原子記号や結合記号の属性を示す構造情報（例えば、ＭＯＬファイル）は、画像情報とは別のデータとして提供されることが多い。
【０００３】
関連する技術としては、例えば、化合物を第１の特性情報に基づいて分類した複数の階層的なクラスターに基づいた再帰的な入れ子構造となるように決定した化合物の２次元平面内における配置で、第２の特性情報に基づいた色によって化合物を描画する技術がある。また、画像から文字／接続線の属性認識を通じて、原子と結合状況からなる化学構造図式を解析する文字図形認識の技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１８０４８号公報
【特許文献２】特開昭６２−１６９２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、化合物の構造式の画像情報と構造情報とが別々のデータとして提供されると、利用者は、別々のデータとして提供される画像情報と構造情報とを対応付けて管理することになり、利用者の管理作業にかかる負担が増大する。また、画像情報に対応する構造情報がないと、利用者は、構造式の化学的性質を把握することが難しい場合がある。
【０００６】
１つの側面では、本発明は、化合物の構造式の画像情報から当該構造式に含まれる原子の属性または原子間の結合の属性を特定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得し、取得した構造情報を参照して、構造式の中から選択された原子記号または結合記号のいずれかの記号の属性を特定し、構造情報を参照して、描画領域上に描画される構造式の画像情報に含まれる記号を表す画素群のうちのいずれかの画素の画素情報を特定し、特定した画素の画素情報を示すビット列のうち、特定した属性の種別に応じた位置にあるビットの値を、特定した属性を示す値に変更する情報処理プログラム、情報処理方法および情報処理装置が提案される。
【０００８】
また、本発明の一側面によれば、描画領域上に描画される化合物の構造式の画像情報の中から、構造式に含まれる原子記号または結合記号のいずれかの記号を示す画素群のいずれかの画素の画素情報であって、画素情報を示すビット列のうちの記号の属性に応じた位置にあるビットの値が属性を示す値に変更された画素情報を抽出し、抽出した画素情報を示すビット列のうちの属性に応じた位置にあるビットの値に基づいて、記号の属性を特定する情報処理プログラム、情報処理方法および情報処理装置が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、化合物の構造式の画像情報から当該構造式に含まれる原子の属性または原子間の結合の属性を特定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる情報処理装置１００の一実施例を示す説明図である。
【図２】図２は、実施の形態にかかる情報処理装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、原子記号−属性対応情報テーブル３００の記憶内容の一例を示す説明図である。
【図４】図４は、結合記号−属性対応情報テーブル４００の記憶内容の一例を示す説明図である。
【図５】図５は、情報処理装置１００の機能的構成を示すブロック図である。
【図６】図６は、第１の動作の具体例を示す説明図（その１）である。
【図７】図７は、第１の動作の具体例を示す説明図（その２）である。
【図８】図８は、第１の動作の具体例を示す説明図（その３）である。
【図９】図９は、第１の動作の具体例を示す説明図（その４）である。
【図１０】図１０は、第１の動作の具体例を示す説明図（その５）である。
【図１１】図１１は、第１の動作の具体例を示す説明図（その６）である。
【図１２】図１２は、第１の動作の具体例を示す説明図（その７）である。
【図１３】図１３は、第１の動作の具体例を示す説明図（その８）である。
【図１４】図１４は、第１の動作の具体例を示す説明図（その９）である。
【図１５】図１５は、第１の動作の具体例を示す説明図（その１０）である。
【図１６】図１６は、第１の動作の具体例を示す説明図（その１１）である。
【図１７】図１７は、第１の動作の具体例を示す説明図（その１２）である。
【図１８】図１８は、第１の動作の具体例を示す説明図（その１３）である。
【図１９】図１９は、属性値格納処理手順の一例を示すフローチャートである。
【図２０】図２０は、構造画像作成処理手順の一例を示すフローチャートである。
【図２１】図２１は、画素抽出処理手順の一例を示すフローチャートである。
【図２２】図２２は、再帰処理手順の一例を示すフローチャートである。
【図２３】図２３は、構造情報埋込処理手順の一例を示すフローチャートである。
【図２４】図２４は、第２の動作の具体例を示す説明図（その１）である。
【図２５】図２５は、第２の動作の具体例を示す説明図（その２）である。
【図２６】図２６は、構造情報出力処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる情報処理プログラム、情報処理方法および情報処理装置の実施の形態を詳細に説明する。
【００１２】
（実施の形態にかかる情報処理装置１００の一実施例）
図１は、実施の形態にかかる情報処理装置１００の一実施例を示す説明図である。情報処理装置１００は、例えば、化合物の構造式１１１に含まれる原子記号の属性を示す値と結合記号の属性を示す値とを、構造式１１１を描画領域上に描画した画像１１０を示す画像情報内に埋め込むコンピュータである。以下の説明では、情報処理装置１００によって行われる原子記号の属性を示す値と結合記号の属性を示す値とを、構造式１１１を描画領域上に描画した画像１１０を示す画像情報内に埋め込む動作を「第１の動作」と表記する場合がある。
【００１３】
ここで、原子記号とは、例えば、化合物内の原子を示す記号である。原子記号の一例としては、炭素原子を示す記号「Ｃ」がある。原子記号の属性とは、例えば、原子記号の記号種別を示す種別情報、構造式１１１に含まれる各々の原子記号に割り当てられた原子ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、原子番号の値、構造式１１１に含まれる原子記号の位置を示す値、および電荷の値などである。また、結合記号とは、例えば、化合物内の原子間の結合を示す記号である。結合記号の属性とは、例えば、結合記号の記号種別を示す種別情報、結合される２つの原子の原子ＩＤ、結合記号の結合種別を示す値、および結合記号の立体種別を示す値などである。
【００１４】
また、情報処理装置１００は、例えば、構造式１１１を描画領域上に描画した画像１１０を示す画像情報内に埋め込まれた原子記号の属性を示す値と結合記号の属性を示す値とを、画像情報から抽出するコンピュータである。以下の説明では、情報処理装置１００によって行われる構造式１１１を描画領域上に描画した画像１１０を示す画像情報内に埋め込まれた原子記号の属性を示す値と結合記号の属性を示す値とを画像情報から抽出する動作を「第２の動作」と表記する場合がある。
【００１５】
＜第１の動作＞
ここで、情報処理装置１００によって行われる第１の動作の一例について説明する。ここで、図１の例では、画像１１０が上部に示され、画像１１０の中央部分を拡大したものが下部に示されている。
【００１６】
情報処理装置１００は、例えば、画像１１０内の原子記号「Ｃ」の一部分を表す画素を特定する。次に、情報処理装置１００は、特定した画素の画素情報を示すビット列のうち、所定の位置にあるビットの値を、原子記号「Ｃ」の属性を示す値に変更する。以下の説明では、属性を示す値を「属性値」と表記する場合がある。ここで、画素情報とは、例えば、ＲＧＢ値を示す２４ビットのビット列である。属性とは、例えば、記号種別の情報であって、原子記号または結合記号のいずれかであることを示す種別情報である。属性値とは、例えば、種別情報「原子記号」を示す値「１」である。
【００１７】
情報処理装置１００は、具体的には、画像１１０内の原子記号「Ｃ」の一部分を表す画素１１２を特定する。次に、情報処理装置１００は、特定した画素１１２の画素情報を示すビット列「００００００００００００００００００００００００」のうち、所定の位置「１ビット目」にあるビットの値を、原子記号「Ｃ」の属性「原子記号」を示す値「１」に変更する。結果として、特定した画素１１２は、文字色「黒」とも背景色「白」とも異なる色になる。また、情報処理装置１００は、他の原子記号や結合記号に対しても同様の処理を行う。
【００１８】
これにより、情報処理装置１００は、画像情報に原子記号の属性値と結合記号の属性値とを埋め込むことができる。このため、情報処理装置１００の利用者は、画像情報と、原子記号の属性と結合記号の属性とを示す構造情報と、を別個に管理しなくてもよく、管理にかかる作業量を削減することができる。情報処理装置１００によって行われる第１の動作の詳細については図６〜図１８を用いて後述する。
【００１９】
ここでは、情報処理装置１００は、一つの画素の画素情報を示すビット列のうちの所定の位置にあるビットの値を属性値に変更したが、これに限らない。例えば、情報処理装置１００は、属性値が複数のビットで表現される場合は、複数ビットの各々のビットに対応する画素の画素情報を示すビット列のうちの所定の位置にあるビットの値を、各々のビットの値に変更してもよい。
【００２０】
＜第２の動作＞
次に、情報処理装置１００によって行われる第２の動作の一例について説明する。情報処理装置１００は、例えば、画像情報から、文字色「黒」とも背景色「白」とも異なる色を示す画素を特定し、特定した画素の画素情報を抽出する。次に、情報処理装置１００は、抽出した画素の画素情報を示すビット列のうち、所定の位置にあるビットの値から属性値を抽出して、特定した画素を含む画素群が表す記号の属性を特定する。
【００２１】
情報処理装置１００は、具体的には、画像１１０内で文字色とも背景色とも異なる色を示す画素１１２を特定する。次に、情報処理装置１００は、特定した画素１１２の画素情報を示すビット列「００００００００００００００００００００００００」のうち、所定の位置「１ビット目」にある値「１」を抽出する。そして、情報処理装置１００は、特定した画素１１２を含む画素群が表す記号の属性として、抽出した値「１」が示す属性「原子記号」を特定する。また、情報処理装置１００は、文字色とも背景色とも異なる色を示す他の画素に対しても同様の処理を行う。
【００２２】
これにより、情報処理装置１００は、画像情報から原子記号の属性と結合記号の属性とを特定することができ、特定した原子記号の属性と結合記号の属性とを出力することができる。このため、情報処理装置１００の利用者は、原子記号の属性と結合記号の属性とを示す構造情報を把握することができる。情報処理装置１００によって行われる第２の動作の詳細については図２４および図２５を用いて後述する。
【００２３】
ここでは、情報処理装置１００は、第１の動作と第２の動作とを行うコンピュータであったが、これに限らない。例えば、情報処理装置１００は、第１の動作のみを行うコンピュータであってもよいし、第２の動作のみを行うコンピュータであってもよい。
【００２４】
（情報処理装置１００のハードウェア構成例）
図２は、実施の形態にかかる情報処理装置１００のハードウェア構成例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、インターフェース（Ｉ／Ｆ：Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２５】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する。また、ＲＯＭ２０２は、例えば、図３に後述する原子記号−属性対応情報テーブル３００と、図４に後述する結合記号−属性対応情報テーブル４００と、を記憶する。
【００２６】
ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２７】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２８】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２９】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３０】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３１】
スキャナ２１２は、画像を光学的に読み取り、情報処理装置１００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ２０６、光ディスク２０７、ディスプレイ２０８、キーボード２１０、マウス２１１、スキャナ２１２、およびプリンタ２１３の少なくともいずれか１つは、なくてもよい。
【００３２】
（原子記号−属性対応情報テーブル３００）
次に、図３を用いて、原子記号−属性対応情報テーブル３００の記憶内容の一例について説明する。原子記号−属性対応情報テーブル３００は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域により実現される。
【００３３】
図３は、原子記号−属性対応情報テーブル３００の記憶内容の一例を示す説明図である。図３に示すように、原子記号−属性対応情報テーブル３００は、種別項目と、属性項目と、属性値項目と、対応ビット項目と、を有し、原子記号の属性の種別ごとに各項目の値がレコードとして記憶される。
【００３４】
種別項目には、原子記号の属性の種別が記憶される。原子記号の属性の種別とは、例えば、記号種別、原子ＩＤ、原子番号、Ｘ座標値、Ｙ座標値、および電荷である。属性項目には、原子記号の属性が記憶される。属性とは、例えば、属性の種別が「記号種別」である場合は「原子記号」および「結合記号」である。また、属性とは、例えば、属性の種別が「原子番号」である場合は、原子番号を示す値「１〜１１８」である。また、属性とは、例えば、属性の種別が「電荷」である場合は、電荷を示す値「０〜８」である。
【００３５】
属性値項目には、属性を示す値が記憶される。属性値とは、例えば、種別情報「原子記号」を示すビット列「００００００１」である。また、属性値とは、例えば、原子番号「１」を示すビット列「０００００００００００００１」である。対応ビット項目には、画素情報を示すビット列のうちの属性値に変更するビットの位置が記憶される。ビットの位置は、例えば、属性の種別「記号種別」の属性値に変更する場合は、画素情報を示すビット列のうちの「１ビット目」である。また、ビットの位置は、例えば、属性の種別「原子ＩＤ」の属性値に変更する場合は、画素情報を示すビット列のうちの「２，３ビット目」である。
【００３６】
（結合記号−属性対応情報テーブル４００）
次に、図４を用いて、結合記号−属性対応情報テーブル４００の記憶内容の一例について説明する。結合記号−属性対応情報テーブル４００は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域により実現される。
【００３７】
図４は、結合記号−属性対応情報テーブル４００の記憶内容の一例を示す説明図である。図４に示すように、結合記号−属性対応情報テーブル４００は、種別項目と、属性項目と、属性値項目と、対応ビット項目と、を有し、結合記号の属性の種別ごとに各項目の値がレコードとして記憶される。
【００３８】
種別項目には、結合記号の属性の種別が記憶される。結合記号の属性の種別とは、例えば、記号種別、１番目の原子ＩＤ、２番目の原子ＩＤ、結合種別、および立体種別である。属性項目には、結合記号の属性が記憶される。属性とは、例えば、属性の種別が「記号種別」である場合は、「原子記号」および「結合記号」である。また、属性とは、例えば、属性の種別が「結合種別」である場合は、「単結合」、「二重結合」、「三重結合」、および「芳香環結合」である。また、属性とは、例えば、属性の種別が「立体種別」である場合は、「なし」、「上」、「上か下」、および「下」である。
【００３９】
属性値項目には、属性を示す値が記憶される。属性値とは、例えば、種別情報「結合記号」を示すビット列「０００００１０」である。また、属性値とは、例えば、結合種別「単結合」を示すビット列「０００００００００００００１」である。対応ビット項目には、画素情報を示すビット列のうちの属性値に変更するビットの位置が記憶される。ビットの位置は、例えば、属性の種別「記号種別」の属性値に変更する場合は、画素情報を示すビット列のうちの「１ビット目」である。また、ビットの位置は、例えば、属性の種別「結合種別」の属性値に変更する場合は、画素情報を示すビット列のうちの「１９ビット目」である。
【００４０】
（情報処理装置１００の機能的構成例）
次に、図５を用いて、情報処理装置１００の機能的構成例について説明する。
【００４１】
図５は、情報処理装置１００の機能的構成を示すブロック図である。情報処理装置１００は、取得部５０１と、第１の特定部５０２と、第２の特定部５０３と、第１の変更部５０４と、第２の変更部５０５と、抽出部５０６と、第３の特定部５０７と、を含む。
【００４２】
＜第１の動作＞
まず、第１の動作を実現する機能部について説明する。第１の動作は、取得部５０１と、第１の特定部５０２と、第２の特定部５０３と、第１の変更部５０４と、第２の変更部５０５と、によって実現される。
【００４３】
取得部５０１は、描画領域に描画される化合物の構造式１１１に含まれる原子を示す原子記号の属性と、構造式１１１に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得する。取得部５０１は、例えば、描画領域に描画される化合物「ＣＨ３−ＣＨＯ（アセトアルデヒド）」の構造式１１１に含まれる原子記号の属性と結合記号の属性とを示す構造情報を取得する。
【００４４】
これにより、第１の特定部５０２は、取得部５０１によって取得された構造情報を参照して、構造式１１１に含まれる原子記号の属性と結合記号の属性とを特定することができる。取得されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。取得部５０１は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００４５】
第１の特定部５０２は、取得した構造情報を参照して、構造式１１１の中から選択された原子記号または結合記号のいずれかの記号の属性を特定する。第１の特定部５０２は、例えば、構造式１１１の中から原子記号「Ｃ」を選択し、構造情報を参照して、原子記号「Ｃ」の属性として、種別情報「原子記号」やＸ座標値「３０」やＹ座標値「５７」や電荷の値「０」を特定する。また、第１の特定部５０２は、同様に、構造式１１１の中から、未選択の原子記号または結合記号のいずれかの記号を、順次選択して、選択した記号の属性を特定する。
【００４６】
これにより、第１の変更部５０４は、第１の特定部５０２によって特定された属性から、属性値を生成することができる。特定されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。第１の特定部５０２は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００４７】
第２の特定部５０３は、構造情報を参照して、描画領域上に描画される構造式１１１の画像情報に含まれる記号を表す画素群のうちのいずれかの画素の画素情報を特定する。第２の特定部５０３は、例えば、化合物構造情報ファイルに含まれる原子記号「Ｃ」のＸ座標値やＹ座標値を参照して、原子記号「Ｃ」を表す画素群を特定し、特定した画素群のうちのいずれかの画素の画素情報を特定する。
【００４８】
また、第２の特定部５０３は、属性値が複数のビットで表現される場合に、記号を表す画素群のうちの複数のビットの各々のビットに対応する画素の画素情報を特定してもよい。第２の特定部５０３は、例えば、構造情報に含まれる原子記号「Ｃ」のＸ座標値やＹ座標値を参照して、原子記号「Ｃ」を表す画素群を特定する。次に、第２の特定部５０３は、原子記号−属性対応情報テーブル３００を参照して、種別情報「原子記号」を示す属性値「００００００１」を特定する。
【００４９】
そして、第２の特定部５０３は、種別情報「原子記号」が複数のビットで表現されるため、特定した原子記号「Ｃ」を表す画素群のうち、各々のビットに対応する７つの画素の画素情報を特定する。以下の説明では、種別情報「原子記号」を示す属性値「００００００１」の各々のビットを「第１〜第７のビット」と表記する場合がある。また、以下の説明では、第１〜第７のビットの各々のビットに対応する画素の画素情報を「第１〜第７の画素情報」と表記する場合がある。
【００５０】
これにより、第１の変更部５０４は、第２の特定部５０３によって特定された画素情報を、変更対象の画素情報として取得することができる。特定されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。第２の特定部５０３は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００５１】
第１の変更部５０４は、特定した画素の画素情報を示すビット列のうち、特定した属性の種別に応じた位置にあるビットの値を、特定した属性値に変更する。第１の変更部５０４は、例えば、原子記号−属性対応情報テーブル３００を参照して、属性の種別「記号種別」に応じた位置「１ビット目」を特定する。次に、第１の変更部５０４は、種別情報「原子記号」を示す属性値「１」を特定する。そして、第１の変更部５０４は、第１の変更部５０４は、特定した画素の画素情報を示すビット列「００００００００００００００００００００００００」のうち、特定した位置「１ビット目」にあるビットの値を、種別情報「原子記号」を示す属性値「１」に変更する。
【００５２】
また、第１の変更部５０４は、第２の特定部５０３によって各々のビットに対応する画素の画素情報が特定された場合は、各々のビットに対応する画素情報を示すビット列のうち、属性の種別に応じた位置にあるビットの値を、各々のビットの値に変更してもよい。第１の変更部５０４は、例えば、第１の画素情報を示すビット列「００００００００００００００００００００００００」のうち、属性の種別「記号種別」に応じた位置「１ビット目」にあるビットの値を、第１のビットの値「０」に変更する。
【００５３】
また、第１の変更部５０４は、同様に、第２〜第６の画素情報の各々の画素情報を示すビット列のうち、属性の種別「記号種別」に応じた位置「１ビット目」にあるビットの値を、第２〜第６のビットの各々のビットの値「０」に変更する。また、第１の変更部５０４は、例えば、第７の画素情報を示すビット列「００００００００００００００００００００００００」のうち、属性の種別「記号種別」に応じた位置「１ビット目」にあるビットの値を、第７のビットの値「１」に変更する。
【００５４】
これにより、第１の変更部５０４は、画像情報の中に、原子記号の属性と結合記号の属性とを埋め込むことができる。変更されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。第１の変更部５０４は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００５５】
第２の変更部５０５は、特定した画素情報を示すビット列のうち、特定した属性に応じた位置とは異なる所定の位置にあるビットの値を、所定の値に変更する。ここで、所定の値とは、例えば、画素情報を示すビット列が第１の変更部５０４によって変更されたことを示す格納先の識別子であって、「１，０，１」である。所定の位置とは、例えば、画素情報を示すビット列のうちの格納先の識別子に変更する位置であって、８，１６，２４ビット目である。第２の変更部５０５は、例えば、特定した画素の画素情報を示すビット列「００００００００００００００００００００００００」のうち、所定の位置「８，１６，２４ビット目」にあるビットの値を、格納先の識別子を示す所定の値「１，０，１」に変更する。
【００５６】
これにより、抽出部５０６は、画像情報の中から、所定の位置「８，１６，２４ビット目」にあるビットの値が所定の値「１，０，１」に変更された画素情報を探索して、原子記号の属性値または結合記号の属性値が格納された画素情報を抽出することができる。変更されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。第２の変更部５０５は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００５７】
＜第２の動作＞
次に、第２の動作を実現する機能部について説明する。第２の動作は、抽出部５０６と、第３の特定部５０７と、によって実現される。
【００５８】
抽出部５０６は、構造式１１１の画像情報の中から、所定の位置にあるビットの値が所定の値である画素情報を抽出する。ここで、構造式１１１の画像情報は、例えば、記号の属性に応じた位置にあるビットの値が記号の属性を示すビットの値に変更され、かつ、所定の位置にあるビットの値が所定の値に変更された画素情報を含む。抽出部５０６は、例えば、第１および第２の変更部５０５によって変更された変更後の画像情報の中から、所定の位置「８，１６，２４ビット目」にあるビットの値が、格納先の識別子を示す所定の値「１，０，１」に変更された画素情報を抽出する。
【００５９】
これにより、第３の特定部５０７は、抽出部５０６によって抽出された画素情報から、原子記号の属性または結合記号の属性を特定することができる。抽出されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。抽出部５０６は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００６０】
ここでは、抽出部５０６は、所定の位置にあるビットの値が所定の値である画素情報を抽出したが、これに限らない。例えば、抽出部５０６は、画像情報の各々の画素情報を、ラスタスキャンする順番で特定し、所定の条件を満たす位置にある画素の画素情報を抽出してもよい。
【００６１】
第３の特定部５０７は、抽出した画素情報を示すビット列のうち、記号の属性の種別に応じた位置にあるビットの値に基づいて、属性を特定する。第３の特定部５０７は、例えば、属性の種別が「記号種別」である場合、原子記号−属性対応情報テーブル３００を参照して、属性の種別に対応するビットの位置「１ビット目」を特定する。次に、第３の特定部５０７は、抽出した画素情報を示すビット列「１００００００１０００００００００００００００１」のうち、特定した位置「１ビット目」にあるビットの値「１」から、種別情報「原子記号」を特定することができる。
【００６２】
これにより、第３の特定部５０７は、記号の種別を特定することができる。特定されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。第３の特定部５０７は、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、その機能を実現する。
【００６３】
（第１の動作の具体例）
次に、図６〜図１８を用いて、第１の動作の具体例について説明する。
【００６４】
図６〜図１８は、第１の動作の具体例を示す説明図である。図６〜図１８の例では、情報処理装置１００は、化合物「ＣＨ３−ＣＨＯ（アセトアルデヒド）」の構造式１１１を描画した画像情報に、構造式１１１に含まれる原子記号の属性値および結合記号の属性値を埋め込む。
【００６５】
図６において、情報処理装置１００は、化合物構造情報ファイル６００を取得する。化合物構造情報ファイル６００は、化合物「ＣＨ３−ＣＨＯ」の構造式１１１に含まれる原子記号の属性と結合記号の属性とを含む。図６の例では、化合物構造情報ファイル６００の原子ブロックの部分に、原子記号の属性が含まれる。化合物構造情報ファイル６００の結合ブロックの部分には、結合記号の属性が含まれる。
【００６６】
化合物構造情報ファイル６００に含まれる原子記号の属性とは、例えば、原子記号のＸ座標値、原子記号のＹ座標値、原子記号、原子記号の電荷などである。化合物構造情報ファイル６００の原子ブロックの部分において、１列目の数字が原子記号のＸ座標値を示し、２列目の数字が原子記号のＹ座標値を示し、３列目の文字列が原子記号を示し、４列目の数字が原子記号の電荷を示す。図６の例では、化合物構造情報ファイル６００の１行目に、原子記号の属性として、Ｘ座標値「３０」、Ｙ座標値「５７」、原子記号「Ｃ」、および電荷「０」が記憶されている。
【００６７】
また、化合物構造情報ファイル６００に含まれる結合記号の属性とは、例えば、結合記号によって結合される第１および第２の原子記号のうちの第１の原子記号の第１の原子ＩＤと第２の原子記号の第２の原子ＩＤ、結合種別、立体種別などである。化合物構造情報ファイル６００の結合ブロックの部分において、１列目の数字が第１の原子ＩＤを示し、２列目の数字が第２の原子ＩＤを示し、３列目の数字が結合種別を示し、４列目の数字が立体種別を示す。原子記号の原子ＩＤは、例えば、化合物構造情報ファイル６００における原子記号の出現順に割り当てられる。例えば、化合物構造情報ファイル６００の１行目に記載された原子記号「Ｃ」の原子ＩＤは「１」である。図６の例では、化合物構造情報ファイル６００の９行目に、結合記号の属性として、第１の原子記号の原子ＩＤ「１」、第２の原子記号の原子ＩＤ「３」、結合種別「１」、および立体種別「３」が記憶されている。
【００６８】
図７において、情報処理装置１００は、構造式１１１を描画するための第１の描画領域７００を作成する。第１の描画領域７００とは、例えば、画素の画素情報として背景色「白」が設定された画像情報である。図７の例では、第１の描画領域７００が上部に示され、第１の描画領域７００の左上部分を拡大したものが下部に示されている。
【００６９】
ここで、背景色「白」の画素の画素情報はビット列「１１１１１１１１１１１１１１１１１１１１１１１１」である。ビット列「１１１１１１１１１１１１１１１１１１１１１１１１」は、（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）を示す。
【００７０】
図８において、情報処理装置１００は、第１の描画領域７００上に化合物の構造式１１１を描画したベース画像８００を作成する。ベース画像８００とは、例えば、第１の描画領域７００上の構造式１１１の描画位置にある画素の画素情報として文字色「黒」を設定することによって、第１の描画領域７００上に構造式１１１を描画した画像である。描画位置は、例えば、化合物構造情報ファイル６００の原子記号のＸ座標値とＹ座標値とから特定される。図８の例では、ベース画像８００が上部に示され、ベース画像８００の左上部分を拡大したものが下部に示されている。
【００７１】
ここで、文字色「黒」の画素の画素情報は「００００００００００００００００００００００００」である。ビット列「００００００００００００００００００００００００」は、（Ｒ，Ｇ，Ｂ）＝（０，０，０）を示す。
【００７２】
図９において、情報処理装置１００は、第１の描画領域７００と同一サイズであって、構造式１１１に含まれる原子記号または結合記号のいずれかの記号を描画するための第２の描画領域９００を作成する。第２の描画領域９００とは、例えば、画素の画素情報として背景色「白」が設定された画像情報である。図９の例では、第２の描画領域９００が上部に示され、第２の描画領域９００の左上部分を拡大したものが下部に示されている。
【００７３】
図１０において、情報処理装置１００は、化合物の構造式１１１に含まれる原子記号または結合記号のいずれかの記号を選択し、第２の描画領域９００上に選択した記号を描画した構造画像１０００を作成する。ここで、例えば、構造式１１１に含まれる原子記号「Ｃ」が選択された場合を例に挙げる。この場合、構造画像１０００とは、第２の描画領域９００上の原子記号「Ｃ」の描画位置にある画素の画素情報として文字色「黒」を設定することによって、第２の描画領域９００上に原子記号「Ｃ」を描画した画像である。図１０の例では、構造画像１０００が上部に示され、構造画像１０００の左上部分を拡大したものが下部に示されている。
【００７４】
次に、情報処理装置１００は、構造画像１０００のうちの原子記号「Ｃ」を表す画素群を特定する。そして、情報処理装置１００は、特定した画素群のうち、原子記号「Ｃ」の属性値の格納先となる、符号１００１の位置にある７つの画素を特定する。ここでは、情報処理装置１００は、座標（１３６，８６）の画素、座標（１３７，８５）の画素、座標（１３７，８６）の画素、座標（１３７，８７）の画素、座標（１３８，８５）の画素、座標（１３８，８６）の画素、および座標（１３９，８５）の画素を特定する。
【００７５】
図１１において、情報処理装置１００は、特定した７つの画素の各々の画素の画素情報の変更内容を決定し、各々の画素の画素情報を変更する。情報処理装置１００は、例えば、原子記号「Ｃ」の種別情報である「原子記号」を示す属性値「００００００１」を特定する。次に、情報処理装置１００は、属性値のビットの値を、先頭から順に、特定した７つの画素１００１のうちのＸ座標値が相対的に小さい画素の画素情報に対応付ける。ここで、情報処理装置１００は、Ｘ座標値が同一の画素がある場合は、属性値のビットの値を、Ｘ座標が同一の画素のうちのＹ座標値が相対的に小さい画素の画素情報に対応付ける。
【００７６】
結果として、情報処理装置１００は、属性値の１ビット目を、座標（１３６，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の２ビット目を、座標（１３７，８５）の画素に対応付ける。また、情報処理装置１００は、属性値の３ビット目を、座標（１３７，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の４ビット目を、座標（１３７，８７）の画素に対応付ける。また、情報処理装置１００は、属性値の５ビット目を、座標（１３８，８５）の画素に対応付ける。また、情報処理装置１００は、属性値の６ビット目を、座標（１３８，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の７ビット目を、座標（１３９，８５）の画素に対応付ける。
【００７７】
そして、情報処理装置１００は、原子記号の属性の格納先の画素情報であることを示す格納先画素情報を生成する。格納先画素情報は、例えば、画素情報の「８，１６，２４ビット目」の各々のビットの値を、格納先の識別子「１，０，１」の各々の値に変更したビット列「０００００００１０００００００００００００００１」である。次に、情報処理装置１００は、座標（１３６，８６）の画素の画素情報「００００００００００００００００００００００００」と、格納先画素情報「０００００００１０００００００００００００００１」と、のＡＮＤをとる。
【００７８】
そして、情報処理装置１００は、原子記号−属性対応情報テーブル３００を参照して、原子記号の種別情報である「原子記号」に応じた位置「１ビット目」を特定する。次に、情報処理装置１００は、ＡＮＤをとった結果「０００００００１０００００００００００００００１」のうち、特定した位置「１ビット目」にあるビットの値を、属性値の１ビット目の値「０」に変更する。変更した結果は、ビット列「０００００００１０００００００００００００００１」になる。
【００７９】
そして、情報処理装置１００は、座標（１３６，８６）の画素の画素情報を、生成したビット列「０００００００１０００００００００００００００１」に変更する。また、情報処理装置１００は、同様にして、他の座標の画素の画素情報についても変更する。これにより、情報処理装置１００は、特定した７つの画素の画素情報に、原子記号の種別情報である「原子記号」を示す属性値を格納することができる。
【００８０】
次に、情報処理装置１００は、化合物構造情報ファイル６００を参照することにより、原子記号「Ｃ」の出現順番「１」を特定し、原子記号「Ｃ」の原子ＩＤ「１」を特定する。そして、情報処理装置１００は、特定した原子記号「Ｃ」の原子ＩＤである「１」を示す属性値「０００００００００００００１」を特定する。次に、情報処理装置１００は、属性値を７ビットごとに分割し、第１のビット列「０００００００」と第２のビット列「００００００１」とに分割する。
【００８１】
そして、情報処理装置１００は、第１のビット列の先頭のビットの値から順に、特定した７つの画素のうちのＸ座標値が相対的に小さい画素の画素情報に対応付ける。このとき、情報処理装置１００は、Ｘ座標値が同一の画素がある場合はＸ座標が同一の画素のうちのＹ座標値が相対的に小さい画素の画素情報に対応付ける。
【００８２】
また、情報処理装置１００は、第２のビット列の先頭のビットの値から順に、特定した７つの画素のうちのＸ座標値が相対的に小さい画素の画素情報に対応付ける。このとき、情報処理装置１００は、Ｘ座標値が同一の画素がある場合はＸ座標が同一の画素のうちのＹ座標値が相対的に小さい画素の画素情報に対応付ける。
【００８３】
結果として、情報処理装置１００は、属性値の１ビット目と８ビット目とを、座標（１３６，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の２ビット目と９ビット目とを、座標（１３７，８５）の画素に対応付ける。また、情報処理装置１００は、属性値の３ビット目と１０ビット目とを、座標（１３７，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の４ビット目と１１ビット目とを、座標（１３７，８７）の画素に対応付ける。また、情報処理装置１００は、属性値の５ビット目と１２ビット目とを、座標（１３８，８５）の画素に対応付ける。また、情報処理装置１００は、属性値の６ビット目と１３ビット目とを、座標（１３８，８６）の画素に対応付ける。また、情報処理装置１００は、属性値の７ビット目と１４ビット目とを、座標（１３９，８５）の画素に対応付ける。
【００８４】
次に、情報処理装置１００は、座標（１３６，８６）の画素の画素情報「００００００００００００００００００００００００」と、格納先画素情報「０００００００１０００００００００００００００１」と、のＡＮＤをとる。
【００８５】
そして、情報処理装置１００は、原子記号−属性対応情報テーブル３００を参照して、原子記号の原子ＩＤである「１」に応じた位置「２，３ビット目」を特定する。次に、情報処理装置１００は、ＡＮＤをとった結果「０００００００１０００００００００００００００１」のうち、特定した位置「２，３ビット目」にある各々のビットの値を、属性値の１，８ビット目の各々の値「０，０」に変更する。変更した結果は、ビット列「０００００００１０００００００００００００００１」になる。
【００８６】
そして、情報処理装置１００は、座標（１３６，８６）の画素の画素情報を、生成したビット列「０００００００１０００００００００００００００１」に変更する。また、情報処理装置１００は、同様にして、他の座標の画素の画素情報についても変更する。これにより、情報処理装置１００は、特定した７つの画素の画素情報に、原子記号の原子ＩＤである「１」を示す属性値を格納することができる。
【００８７】
また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、原子記号「Ｃ」の原子番号である「６」を示す属性値「０００００００００００１１０」を格納する。また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、原子記号「Ｃ」のＸ座標値である「３０」を示す属性値「００００００００００００００００１１１１０」を格納する。
【００８８】
また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、原子記号「Ｃ」のＹ座標値である「５７」を示す属性値「０００００００００００００００１１１００１」を格納する。また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、原子記号「Ｃ」の電荷の値である「０」を示す属性値「０００００００」を格納する。結果として、特定した７つの画素の画素情報は、図１１に示す画素情報に変更される。
【００８９】
これにより、図１２に示すように、構造画像１０００は、画像情報の中に原子記号「Ｃ」の属性値が格納された構造画像１２００になる。図１２の例では、構造画像１２００が上部に示され、構造画像１２００の左上部分を拡大したものが下部に示されている。次に、情報処理装置１００は、図８に示したベース画像８００の各々の画素情報と、図１２に示す構造画像１２００の各々の画素情報と、のＡＮＤをとる。
【００９０】
これにより、図１３に示すように、ベース画像８００は、化合物の構造式１１１を示し、原子記号「Ｃ」を表す画素群の一部の画素の画素情報に、原子記号「Ｃ」の属性値が格納されたベース画像１３００になる。図１３の例では、ベース画像１３００が上部に示され、ベース画像１３００の左上部分を拡大したものが下部に示されている。
【００９１】
図１４において、情報処理装置１００は、図９〜図１２と同様にして、図９〜図１２において属性値を格納した原子記号「Ｃ」とは異なる他の原子記号または他の結合記号について、属性値を格納した構造画像１４００を作成する。
【００９２】
図１４の例では、情報処理装置１００は、再び、第２の描画領域９００を作成する。次に、情報処理装置１００は、図９〜図１２において属性値を格納した原子記号「Ｃ」とは異なる結合記号「単結合」を選択し、第２の描画領域９００上に選択した記号を描画した構造画像１４００を作成する。図１４の例では、構造画像１４００が上部に示され、構造画像１４００の左上部分を拡大したものが下部に示されている。
【００９３】
そして、情報処理装置１００は、構造画像１４００のうちの結合記号「単結合」を表す画素群を特定する。次に、情報処理装置１００は、特定した画素群のうち、結合記号「単結合」の属性値の格納先となる、符号１４０１の位置にある７つの画素を特定する。ここでは、情報処理装置１００は、座標（４９，８７）の画素、座標（４９，８８）の画素、座標（４９，８９）の画素、座標（４９，９０）の画素、座標（４９，９１）の画素、座標（４９，９２）の画素、および座標（４９，９３）の画素を特定する。
【００９４】
図１５において、情報処理装置１００は、特定した７つの画素の各々の画素の画素情報の変更内容を決定し、各々の画素の画素情報を変更する。情報処理装置１００は、例えば、結合記号「単結合」の種別情報である「結合記号」を示す属性値「０００００１０」を特定する。
【００９５】
次に、情報処理装置１００は、第１のビット列の先頭のビットの値から順に、特定した７つの画素のうちのＸ座標値が相対的に小さい画素の画素情報に対応付ける。このとき、情報処理装置１００は、Ｘ座標値が同一の画素がある場合はＸ座標が同一の画素のうちのＹ座標値が相対的に小さい画素の画素情報に対応付ける。
【００９６】
結果として、情報処理装置１００は、属性値の１ビット目を、座標（４９，８７）の画素に対応付ける。また、情報処理装置１００は、属性値の２ビット目を、座標（４９，８８）の画素に対応付ける。また、情報処理装置１００は、属性値の３ビット目を、座標（４９，８９）の画素に対応付ける。また、情報処理装置１００は、属性値の４ビット目を、座標（４９，９０）の画素に対応付ける。また、情報処理装置１００は、属性値の５ビット目を、座標（４９，９１）の画素に対応付ける。また、情報処理装置１００は、属性値の６ビット目を、座標（４９，９２）の画素に対応付ける。また、情報処理装置１００は、属性値の７ビット目を、座標（４９，９３）の画素に対応付ける。
【００９７】
次に、情報処理装置１００は、座標（４９，８７）の画素の画素情報「００００００００００００００００００００００００」と、格納先画素情報「０００００００１０００００００００００００００１」と、のＡＮＤをとる。
【００９８】
そして、情報処理装置１００は、結合記号−属性対応情報テーブル４００を参照して、結合記号の種別情報である「結合記号」に応じた位置「１ビット目」を特定する。次に、情報処理装置１００は、ＡＮＤをとった結果「０００００００１０００００００００００００００１」のうち、特定した位置「１ビット目」にあるビットの値を、属性値の１ビット目の値「０」に変更する。変更した結果は、ビット列「０００００００１０００００００００００００００１」になる。
【００９９】
そして、情報処理装置１００は、座標（４９，８７）の画素の画素情報を、生成したビット列「０００００００１０００００００００００００００１」に変更する。また、情報処理装置１００は、同様にして、他の座標の画素の画素情報についても変更する。これにより、情報処理装置１００は、特定した７つの画素の画素情報に、結合記号の種別情報である「結合記号」を示す属性値を格納することができる。
【０１００】
次に、情報処理装置１００は、化合物構造情報ファイル６００を参照して、結合記号「単結合」の立体種別である「下」を示す属性値「００００００００００００１１」を特定する。そして、情報処理装置１００は、第１のビット列の先頭のビットの値から順に、特定した７つの画素のうちのＸ座標値が相対的に小さい画素の画素情報に対応付ける。このとき、情報処理装置１００は、Ｘ座標値が同一の画素がある場合はＸ座標が同一の画素のうちのＹ座標値が相対的に小さい画素の画素情報に対応付ける。
【０１０１】
結果として、情報処理装置１００は、属性値の１ビット目を、座標（４９，８７）の画素に対応付ける。また、情報処理装置１００は、属性値の２ビット目を、座標（４９，８８）の画素に対応付ける。また、情報処理装置１００は、属性値の３ビット目を、座標（４９，８９）の画素に対応付ける。また、情報処理装置１００は、属性値の４ビット目を、座標（４９，９０）の画素に対応付ける。また、情報処理装置１００は、属性値の５ビット目を、座標（４９，９１）の画素に対応付ける。また、情報処理装置１００は、属性値の６ビット目を、座標（４９，９２）の画素に対応付ける。また、情報処理装置１００は、属性値の７ビット目を、座標（４９，９３）の画素に対応付ける。
【０１０２】
次に、情報処理装置１００は、座標（４９，８７）の画素の画素情報「００００００００００００００００００００００００」と、格納先画素情報「０００００００１０００００００００００００００１」と、のＡＮＤをとる。
【０１０３】
そして、情報処理装置１００は、結合記号−属性対応情報テーブル４００を参照して、結合記号の立体種別である「下」に応じた位置「２０ビット目」を特定する。次に、情報処理装置１００は、ＡＮＤをとった結果「０００００００１０００００００００００００００１」のうち、特定した位置「２０ビット目」にあるビットの値を、属性値の１ビット目の値「０」に変更する。変更した結果は、ビット列「０００００００１０００００００００００００００１」になる。
【０１０４】
そして、情報処理装置１００は、座標（４９，８７）の画素の画素情報を、生成したビット列「０００００００１０００００００００００００００１」に変更する。また、情報処理装置１００は、同様にして、他の座標の画素の画素情報についても変更する。これにより、情報処理装置１００は、特定した７つの画素の画素情報に、結合記号の立体種別である「下」を示す属性値を格納することができる。
【０１０５】
また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、結合記号「単結合」の結合種別である「単結合」を示す属性値「０００００００００００００１」を格納する。また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、結合記号「単結合」によって結合される第１の原子記号を示す第１の原子ＩＤである「１」を示す属性値「０００００００００００００１」を格納する。
【０１０６】
また、情報処理装置１００は、同様にして、特定した７つの画素の画素情報に、結合記号「単結合」によって結合される第２の原子記号を示す第２の原子ＩＤである「３」を示す属性値「００００００００００００１１」を格納する。結果として、特定した７つの画素の画素情報は、図１５に示す画素情報に変更される。
【０１０７】
これにより、図１６に示すように、構造画像１４００は、画像情報の中に結合記号「単結合」の属性値が格納された構造画像１６００になる。図１６の例では、構造画像１６００が上部に示され、構造画像１６００の左上部分を拡大したものが下部に示されている。次に、情報処理装置１００は、図１３に示したベース画像１３００の各々の画素情報と、図１６に示す構造画像１６００の各々の画素情報と、のＡＮＤをとる。
【０１０８】
これにより、図１７に示すように、ベース画像１３００は、化合物の構造式１１１を示し、結合記号「単結合」を表す画素群の一部の画素の画素情報に、結合記号「単結合」の属性値が格納されたベース画像１７００になる。図１７の例では、ベース画像１７００が上部に示され、ベース画像１７００の左上部分を拡大したものが下部に示されている。
【０１０９】
また、情報処理装置１００は、図９〜図１７と同様にして、図９〜図１７において属性値を格納した原子記号「Ｃ」および結合記号「単結合」とは異なる他の原子記号または他の結合記号について、属性値を格納した構造画像を作成する。そして、情報処理装置１００は、作成する都度、ベース画像の各々の画素情報と、作成した構造画像の各々の画素情報と、のＡＮＤをとる。
【０１１０】
これにより、図１８に示すように、ベース画像１７００は、化合物の構造式１１１を示し、化合物の構造式１１１に含まれる各々の記号の属性値を格納したベース画像１８００になる。図１８の例では、ベース画像１８００が上部に示され、ベース画像１８００の左上部分を拡大したものが下部に示されている。
【０１１１】
これにより、情報処理装置１００は、画像情報に原子記号の属性値と結合記号の属性値とを埋め込むことができる。このため、情報処理装置１００の利用者は、画像情報と、原子記号の属性と結合記号の属性とを示す構造情報と、を別個に管理しなくてもよく、管理にかかる作業量を削減することができる。
【０１１２】
（属性値格納処理）
次に、図１９を用いて、情報処理装置１００の属性値格納処理手順の一例について説明する。属性値格納処理は、図６〜図１８に示した第１の動作を行うための処理である。
【０１１３】
図１９は、属性値格納処理手順の一例を示すフローチャートである。図１９において、情報処理装置１００は、化合物構造情報ファイル６００を取得する（ステップＳ１９０１）。次に、情報処理装置１００は、化合物構造情報ファイル６００から原子記号の属性と結合記号の属性とを取得する（ステップＳ１９０２）。
【０１１４】
そして、情報処理装置１００は、原子記号の属性と結合記号の属性とに基づいて、ベース画像を作成する（ステップＳ１９０３）。次に、情報処理装置１００は、化合物の構造式１１１に含まれる原子記号と結合記号とのうち、未選択の記号を選択する（ステップＳ１９０４）。
【０１１５】
そして、情報処理装置１００は、図２０に示す構造画像作成処理を実行する（ステップＳ１９０５）。次に、情報処理装置１００は、図２１に示す画素抽出処理を実行する（ステップＳ１９０６）。そして、情報処理装置１００は、図２３に示す構造情報埋込処理を実行する（ステップＳ１９０７）。
【０１１６】
次に、情報処理装置１００は、ベース画像内の各々の画素の画素情報と、構造画像内の各々の画素の画素情報と、のＡＮＤをとる（ステップＳ１９０８）。そして、情報処理装置１００は、ステップＳ１９０４において、化合物の構造式１１１に未選択の記号が含まれるか否かを判定する（ステップＳ１９０９）。
【０１１７】
ここで、未選択の記号がある場合（ステップＳ１９０９：Ｙｅｓ）、情報処理装置１００は、ステップＳ１９０４に戻る。一方で、未選択の記号がない場合（ステップＳ１９０９：Ｎｏ）、情報処理装置１００は、属性値格納処理を終了する。これにより、情報処理装置１００は、画像情報に原子記号の属性値と結合記号の属性値とを埋め込むことができる。このため、情報処理装置１００の利用者は、画像情報と、原子記号の属性と結合記号の属性とを示す構造情報と、を別個に管理しなくてもよく、管理にかかる作業量を削減することができる。
【０１１８】
（構造画像作成処理）
次に、図２０を用いて、ステップＳ１９０５に示した構造画像作成処理手順の一例について説明する。
【０１１９】
図２０は、構造画像作成処理手順の一例を示すフローチャートである。図２０において、情報処理装置１００は、ベース画像と同一のサイズの描画領域を作成する（ステップＳ２００１）。次に、情報処理装置１００は、ステップＳ１９０４において選択した記号が、原子記号か否かを判定する（ステップＳ２００２）。
【０１２０】
ここで、原子記号である場合（ステップＳ２００２：Ｙｅｓ）、情報処理装置１００は、ステップＳ２００１において作成した描画領域上に選択した原子記号を描画して構造画像を作成する（ステップＳ２００３）。そして、情報処理装置１００は、構造画像作成処理を終了する。
【０１２１】
一方で、原子記号ではない場合（ステップＳ２００２：Ｎｏ）、情報処理装置１００は、ステップＳ２００１において作成した描画領域上に選択した結合記号を描画して構造画像を作成する（ステップＳ２００４）。そして、情報処理装置１００は、構造画像作成処理を終了する。これにより、情報処理装置１００は、ベース画像と重ね合わせるための構造画像を作成することができる。
【０１２２】
（画素抽出処理）
次に、図２１を用いて、ステップＳ１９０６に示した画素抽出処理手順の一例について説明する。
【０１２３】
図２１は、画素抽出処理手順の一例を示すフローチャートである。図２１において、情報処理装置１００は、構造画像上のＸ座標値を示す変数ｘに０を設定する（ステップＳ２１０１）。次に、情報処理装置１００は、構造画像上のＹ座標値を示す変数ｙに０を設定する（ステップＳ２１０２）。
【０１２４】
そして、情報処理装置１００は、構造画像上の各々の画素に対応付けたチェックフラグと、抽出した画素の座標を格納する一時記憶領域と、を初期化する（ステップＳ２１０３）。次に、情報処理装置１００は、図２２に示す再帰処理を実行する（ステップＳ２１０４）。そして、情報処理装置１００は、一時記憶領域にＮ個以上の画素の座標が記憶されているか否かを判定する（ステップＳ２１０５）。
【０１２５】
ここで、記憶されている場合（ステップＳ２１０５：Ｙｅｓ）、情報処理装置１００は、一時記憶領域の記憶内容をグローバル記憶領域に格納する（ステップＳ２１０６）。そして、情報処理装置１００は、画素抽出処理を終了する。
【０１２６】
一方で、記憶されていない場合（ステップＳ２１０５：Ｎｏ）、情報処理装置１００は、変数ｙに１を加算する（ステップＳ２１０７）。そして、情報処理装置１００は、変数ｙが、構造画像の画像高さより大きい値であるか否かを判定する（ステップＳ２１０８）。ここで、大きい値ではない場合（ステップＳ２１０８：Ｎｏ）、情報処理装置１００は、ステップＳ２１０３に戻る。
【０１２７】
一方で、大きい値である場合（ステップＳ２１０８：Ｙｅｓ）、情報処理装置１００は、変数ｘに１を加算する（ステップＳ２１０９）。そして、情報処理装置１００は、変数ｘが、構造画像の画像幅より大きい値であるか否かを判定する（ステップＳ２１１０）。ここで、大きい値ではない場合（ステップＳ２１１０：Ｎｏ）、情報処理装置１００は、ステップＳ２１０２に戻る。
【０１２８】
一方で、大きい値である場合（ステップＳ２１１０：Ｙｅｓ）、情報処理装置１００は、画素抽出処理を終了する。これにより、情報処理装置１００は、原子記号または結合記号のいずれかの記号の属性値を格納する画素を抽出することができる。ここで、情報処理装置１００は、画素抽出処理によってＮ個の画素を抽出できなかった場合は、属性値格納処理を終了してもよい。
【０１２９】
（再帰処理）
次に、図２２を用いて、ステップＳ２１０４に示した再帰処理手順の一例について説明する。
【０１３０】
図２２は、再帰処理手順の一例を示すフローチャートである。図２２において、情報処理装置１００は、変数ｘと変数ｙとが示す座標にある画素の画素情報を取得する（ステップＳ２２０１）。次に、情報処理装置１００は、取得した画素情報と、当該画素に対応付けられたチェックフラグと、を参照して、当該画素の画素情報が文字色を示し、かつ、当該画素が未チェックであるか否かを判定する（ステップＳ２２０２）。
【０１３１】
ここで、当該画素の画素情報が文字色以外を示す場合、または、当該画素がチェック済である場合（ステップＳ２２０２：Ｎｏ）、情報処理装置１００は、再帰処理を終了する。一方で、当該画素の画素情報が文字色を示し、かつ、当該画素が未チェックである場合（ステップＳ２２０２：Ｙｅｓ）、情報処理装置１００は、ステップＳ２２０３の処理に移行する。
【０１３２】
ステップＳ２２０３において、情報処理装置１００は、当該画素が、グローバル記憶領域に格納された座標にある画素ではなく、かつ、グローバル記憶領域に格納された座標にある画素に隣接する画素ではないか否かを判定する（ステップＳ２２０３）。ここで、当該画素が、グローバル記憶領域に格納された座標にある画素である場合、または、グローバル記憶領域に格納された座標にある画素に隣接する画素である場合（ステップＳ２２０３：Ｎｏ）、情報処理装置１００は、再帰処理を終了する。
【０１３３】
一方で、当該画素が、グローバル記憶領域に格納された座標にある画素ではなく、かつ、グローバル記憶領域に格納された座標にある画素に隣接する画素ではない場合（ステップＳ２２０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ２２０４の処理に移行する。
【０１３４】
ステップＳ２２０４において、情報処理装置１００は、変数ｘと変数ｙとが示す座標を、一時記憶領域に格納する（ステップＳ２２０４）。次に、情報処理装置１００は、一時記憶領域にＮ個以上の画素の座標が格納されたか否かを判定する（ステップＳ２２０５）。ここで、画素の座標が格納されている場合（ステップＳ２２０５：Ｙｅｓ）、情報処理装置１００は、再帰処理を終了する。
【０１３５】
一方で、画素の座標が格納されていない場合（ステップＳ２２０５：Ｎｏ）、情報処理装置１００は、当該画素のチェックフラグをチェック済に設定する（ステップＳ２２０６）。次に、情報処理装置１００は、当該画素の周囲にある８画素のうち、未選択の画素を選択する（ステップＳ２２０７）。そして、情報処理装置１００は、再帰処理を実行する（ステップＳ２２０８）。
【０１３６】
次に、情報処理装置１００は、一時記憶領域にＮ個以上の画素の座標が格納されたか否かを判定する（ステップＳ２２０９）。ここで、格納されている場合（ステップＳ２２０９：Ｙｅｓ）、情報処理装置１００は、再帰処理を終了する。
【０１３７】
一方で、格納されていない場合（ステップＳ２２０９：Ｎｏ）、情報処理装置１００は、当該画素の周囲にある８画素のうち、未選択の画素があるか否かを判定する（ステップＳ２２１０）。ここで、未選択の画素がある場合（ステップＳ２２１０：Ｙｅｓ）、情報処理装置１００は、ステップＳ２２０７の処理に戻る。一方で、未選択の画素がない場合（ステップＳ２２１０：Ｎｏ）、情報処理装置１００は、再帰処理を終了する。これにより、情報処理装置１００は、原子記号または結合記号のいずれかの記号の属性値を格納する画素を抽出することができる。
【０１３８】
（構造情報埋込処理）
次に、図２３を用いて、ステップＳ１９０７に示した構造情報埋込処理手順の一例について説明する。
【０１３９】
図２３は、構造情報埋込処理手順の一例を示すフローチャートである。図２３において、情報処理装置１００は、ステップＳ１９０４において選択した記号の属性のうち、未選択の属性を選択する（ステップＳ２３０１）。次に、情報処理装置１００は、選択した属性を、Ｎビットの２進数で表現して、属性値を作成する（ステップＳ２３０２）。
【０１４０】
そして、情報処理装置１００は、グローバル記憶領域に格納されているＮ個の画素の画素情報の各々の画素情報と、Ｎビットの属性値の各々のビットの値と、を対応付ける（ステップＳ２３０３）。
【０１４１】
次に、情報処理装置１００は、グローバル記憶領域に格納されているＮ個の画素の画素情報のうち、未選択の画素情報を選択する（ステップＳ２３０４）。そして、情報処理装置１００は、選択した画素情報と、格納先画素情報と、のＡＮＤをとる（ステップＳ２３０５）。
【０１４２】
次に、情報処理装置１００は、原子記号−属性対応情報テーブル３００または結合記号−属性対応情報テーブル４００と、選択した画素情報に対応する属性値のビットの値を参照して、ＡＮＤをとった結果を示すビット列を変更するか否かを判定する（ステップＳ２３０６）。ここで、変更しない場合（ステップＳ２３０６：Ｎｏ）、情報処理装置１００は、ステップＳ２３０８の処理に移行する。
【０１４３】
一方で、変更する場合（ステップＳ２３０６：Ｙｅｓ）、情報処理装置１００は、ＡＮＤをとった結果を示すビット列のうち、選択した属性に応じた位置にあるビットの値を、選択した画素情報に対応する属性値のビットの値に変更する（ステップＳ２３０７）。そして、情報処理装置１００は、ステップＳ２３０８の処理に移行する。
【０１４４】
ステップＳ２３０８において、情報処理装置１００は、選択した画素情報を、ステップＳ２３０５においてＡＮＤをとった結果、またはステップＳ２３０７において変更されたＡＮＤをとった結果に変更する（ステップＳ２３０８）。
【０１４５】
次に、情報処理装置１００は、グローバル記憶領域に格納されているＮ個の画素の画素情報のうち、未選択の画素情報があるか否かを判定する（ステップＳ２３０９）。ここで、未選択の画素情報がある場合（ステップＳ２３０９：Ｙｅｓ）、情報処理装置１００は、ステップＳ２３０４の処理に戻る。
【０１４６】
一方で、未選択の画素情報がない場合（ステップＳ２３０９：Ｎｏ）、情報処理装置１００は、ステップＳ１９０４において選択した記号の属性のうち、未選択の属性があるか否かを判定する（ステップＳ２３１０）。ここで、未選択の属性がある場合（ステップＳ２３１０：Ｙｅｓ）、情報処理装置１００は、ステップＳ２３０１の処理に戻る。一方で、未選択の属性がない場合（ステップＳ２３１０：Ｎｏ）、情報処理装置１００は、構造情報埋込処理を終了する。これにより、情報処理装置１００は、画像情報に原子記号の属性値と結合記号の属性値とを埋め込むことができる。
【０１４７】
（第２の動作の具体例）
次に、図２４および図２５を用いて、第２の動作の具体例について説明する。
【０１４８】
図２４および図２５は、第２の動作の具体例を示す説明図である。図２４の例では、情報処理装置１００は、化合物「ＣＨ３−ＣＨＯ（アセトアルデヒド）」の構造式１１１を描画した画像２４００の画像情報の中から、構造式１１１に含まれる原子記号の属性と結合記号の属性とを特定する。図２４の例では、画像２４００が上部に示され、画像２４００の左上部分を拡大したものが下部に示されている。画像２４００は、図１８に示したベース画像１８００と同一の画像である。
【０１４９】
図２４において、情報処理装置１００は、例えば、符号２４０１に示す対象領域の選択を受け付ける。次に、情報処理装置１００は、対象領域にある各々の画素の画素情報と、抽出用画素情報「００００００１００００００１００００００１」と、をＡＮＤ演算し、ＡＮＤ演算結果が「００００００１０００００００００００００１」になる画素情報を抽出する。
【０１５０】
これにより、情報処理装置１００は、対象領域にある画素の画素情報の中から、「８，１６，２４ビット目」の各々のビットの値が、格納先の識別子「１，０，１」の各々の値に変更された画素情報を抽出することができる。換言すれば、情報処理装置１００は、原子記号または結合記号のいずれかの記号の属性を示す値が格納された画素情報を抽出することができる。
【０１５１】
そして、情報処理装置１００は、抽出した画素情報の中で、隣接する画素同士の画素情報をグループ化する。図２４の例では、座標（２４，８９）の画素、座標（２４，９０）の画素、座標（２４，９１）の画素、座標（２４，９２）の画素、座標（２５，８９）の画素、座標（２５，９０）の画素、および座標（２５，９１）の画素が、第１のグループになる。
【０１５２】
また、座標（４９，８７）の画素、座標（４９，８８）の画素、座標（４９，８９）の画素、座標（４９，９０）の画素、座標（４９，９１）の画素、座標（４９，９２）の画素、および座標（４９，９３）の画素が、第２のグループになる。
【０１５３】
また、座標（１３６，８６）の画素、座標（１３７，８５）の画素、座標（１３７，８６）の画素、座標（１３７，８７）の画素、座標（１３８，８５）の画素、座標（１３８，８６）の画素、および座標（１３９，８５）の画素が、第３のグループになる。
【０１５４】
次に、情報処理装置１００は、各々のグループの画素情報から、原子記号の属性または結合記号の属性のいずれかの属性を特定する。情報処理装置１００は、例えば、第２のグループの画素情報を、Ｘ座標値が小さい順に並べる。ここで、情報処理装置１００は、Ｘ座標値が同一の画素の画素情報がある場合は、第２のグループの画素情報を、Ｘ座標値が同一の画素の画素情報のうちのＹ座標値が小さい順に並べる。
【０１５５】
次に、情報処理装置１００は、原子記号−属性対応情報テーブル３００および結合記号−属性対応情報テーブル４００に共通して、種別情報の属性値が格納されている位置「１ビット目」を特定する。そして、情報処理装置１００は、種別情報の属性値が格納されている各々の画素情報の「１ビット目」の値を特定するために、各々の画素情報と、１ビット目のみ１を設定した抽出用画素情報「１００００００００００００００００００００」と、のＡＮＤ演算を行う。これにより、情報処理装置１００は、ＡＮＤ演算の結果から、各々の画素情報の１ビット目のビットの値が「０」、「０」、「０」、「０」、「０」、「１」、「０」であると特定する。
【０１５６】
次に、情報処理装置１００は、特定したビットの値を並べたビット列「０００００１０」を、「記号種別」の属性値として特定する。そして、情報処理装置１００は、属性値「０００００１０」が示す属性「結合記号」を特定する。
【０１５７】
また、情報処理装置１００は、属性「結合記号」が特定されたため、結合記号−属性対応情報テーブル４００を参照して、他の属性の属性値が格納されている位置を特定して、他の属性の属性値を特定する。情報処理装置１００は、例えば、「立体種別」の属性値が格納されている位置「２０ビット目」を特定する。
【０１５８】
次に、情報処理装置１００は、「立体種別」の属性値が格納されている各々の画素情報の「２０ビット目」の値を特定するために、各々の画素情報と、２０ビット目のみ１を設定した抽出用画素情報「０００００００００００００００００００１０」と、のＡＮＤ演算を行う。これにより、情報処理装置１００は、ＡＮＤ演算の結果から、各々の画素情報の２０ビット目のビットの値が「０」、「０」、「０」、「０」、「０」、「１」、「１」であると特定する。
【０１５９】
次に、情報処理装置１００は、特定したビットの値を並べたビット列「０００００１１」を、「立体種別」の属性値として特定する。そして、情報処理装置１００は、属性値「０００００１１」が示す「下」を特定する。これにより、情報処理装置１００は、画像情報から結合記号の属性を特定することができる。
【０１６０】
また、情報処理装置１００は、例えば、第３のグループの画素情報を、Ｘ座標値が小さい順に並べる。ここで、情報処理装置１００は、Ｘ座標値が同一の画素の画素情報がある場合は、第３のグループの画素情報を、Ｘ座標値が同一の画素の画素情報のうちのＹ座標値が小さい順に並べる。
【０１６１】
次に、情報処理装置１００は、原子記号−属性対応情報テーブル３００および結合記号−属性対応情報テーブル４００に共通して、種別情報の属性値が格納されている位置「１ビット目」を特定する。そして、情報処理装置１００は、種別情報の属性値が格納されている各々の画素情報の「１ビット目」の値を特定するために、各々の画素情報と、１ビット目のみ１を設定した抽出用画素情報「１００００００００００００００００００００」と、のＡＮＤ演算を行う。これにより、情報処理装置１００は、ＡＮＤ演算の結果から、各々の画素情報の１ビット目のビットの値が「０」、「０」、「０」、「０」、「０」、「０」、「１」であると特定する。
【０１６２】
次に、情報処理装置１００は、特定したビットの値を並べたビット列「００００００１」を、「記号種別」の属性値として特定する。そして、情報処理装置１００は、属性値「００００００１」が示す属性「原子記号」を特定する。
【０１６３】
また、情報処理装置１００は、属性「原子記号」が特定されたため、原子記号−属性対応情報テーブル３００を参照して、他の属性の属性値が格納されている位置を特定して、他の属性の属性値を特定する。情報処理装置１００は、例えば、「原子ＩＤ」の属性値が格納されている位置「２，３ビット目」を特定する。
【０１６４】
次に、情報処理装置１００は、「原子ＩＤ」の属性値が格納されている各々の画素情報の「２ビット目」の値を特定するために、各々の画素情報と、２ビット目のみ１を設定した抽出用画素情報「０１０００００００００００００００００００」と、のＡＮＤ演算を行う。これにより、情報処理装置１００は、ＡＮＤ演算の結果から、各々の画素情報の２ビット目のビットの値が「０」、「０」、「０」、「０」、「０」、「０」、「０」であると特定する。
【０１６５】
また、情報処理装置１００は、「原子ＩＤ」の属性値が格納されている各々の画素情報の「３ビット目」の値を特定するために、各々の画素情報と、３ビット目のみ１を設定した抽出用画素情報「００１００００００００００００００００００」と、のＡＮＤ演算を行う。これにより、情報処理装置１００は、ＡＮＤ演算の結果から、各々の画素情報の３ビット目のビットの値が「０」、「０」、「０」、「０」、「０」、「０」、「１」であると特定する。
【０１６６】
次に、情報処理装置１００は、特定したビットの値を並べたビット列「０００００００００００００１」を、「原子ＩＤ」の属性値として特定する。そして、情報処理装置１００は、属性値「０００００００００００００１」が示す原子ＩＤ「１」を特定する。これにより、情報処理装置１００は、画像情報から原子記号の属性を特定することができる。
【０１６７】
図２５において、情報処理装置１００は、図２４において特定した原子記号の属性と結合記号の属性とから構造情報を作成して、作成した構造情報をポップアップ表示する。これにより、情報処理装置１００の利用者は、自ら化合物の構造式を解析しなくても、構造情報を把握することができ、構造式の化学的性質を把握することができる。また、情報処理装置１００の利用者は、構造情報を元に、構造式のうちの対象領域の部分を含む別の構造式を作成することができる。
【０１６８】
（構造情報出力処理）
次に、図２６を用いて、情報処理装置１００の構造情報出力処理手順の一例について説明する。構造情報出力処理は、図２４および図２５に示した第２の動作を行うための処理である。
【０１６９】
図２６は、構造情報出力処理手順の一例を示すフローチャートである。図２６において、情報処理装置１００は、化合物の構造物が描画された画像の画像情報の中の対象領域の選択を受け付ける（ステップＳ２６０１）。次に、情報処理装置１００は、対象領域の中から、所定の位置にあるビットの値が所定の値である画素情報を抽出する（ステップＳ２６０２）。そして、情報処理装置１００は、抽出した画素情報のうち、隣接する画素同士の画素情報をグループ化する（ステップＳ２６０３）。
【０１７０】
次に、情報処理装置１００は、各々のグループ内の画素情報から、原子記号の属性または結合記号の属性のいずれかを特定する（ステップＳ２６０４）。そして、情報処理装置１００は、特定した原子記号の属性または結合記号の属性を、構造情報として出力する（ステップＳ２６０５）。次に、情報処理装置１００は、構造情報出力処理を終了する。
【０１７１】
これにより、情報処理装置１００は、画像情報から原子記号の属性値と結合記号の属性値とを抽出することができる。また、情報処理装置１００は、抽出した原子記号の属性値から特定した原子記号の属性と抽出した結合記号の属性値から特定した結合記号の属性とを構造情報として出力することができる。このため、情報処理装置１００の利用者は、構造情報を把握することができる。
【０１７２】
以上説明したように、情報処理プログラムによれば、化合物の構造式１１１を描画した画像情報に含まれる原子記号または結合記号を表す画素群の画素の画素情報の一部を、原子記号の属性値または結合記号の属性値に変更することができる。これにより、情報処理プログラムは、化合物の構造式１１１を描画した画像情報と、化合物の構造式１１１に含まれる原子記号の属性と結合記号の属性と、を一体として記憶しておくことができる。このため、情報処理プログラムの利用者は、画像情報と、原子記号の属性と結合記号の属性と、を対応付けて別個に管理しなくてもよい。
【０１７３】
情報処理プログラムは、例えば、化合物の構造式１１１を描画した画像情報と、原子記号または結合記号の描画位置と、を一体として記憶しておくことができる。また、情報処理プログラムは、例えば、化合物の構造式１１１を描画した画像情報と、原子記号または前記結合記号のいずれかであることを示す種別情報と、を一体として記憶しておくことができる。
【０１７４】
また、情報処理プログラムは、例えば、化合物の構造式１１１を描画した画像情報と、原子の原子番号と、構造式における原子の電荷と、を一体として記憶しておくことができる。また、情報処理プログラムは、例えば、化合物の構造式１１１を描画した画像情報と、結合記号の結合種別と、結合記号の立体種別と、を一体として記憶しておくことができる。
【０１７５】
また、情報処理プログラムによれば、属性値が複数ビットで表現される場合は、画像情報に含まれる複数の画素の画素情報に、属性値を分けて格納することができる。これにより、情報処理プログラムは、１つの画素を用いた場合に比べて、属性値として画像情報の中に格納可能なビット長を長くすることができる。
【０１７６】
また、情報処理プログラムによれば、画素情報の中に属性値を格納した場合、属性値を格納した画素情報を示すビット列の所定の位置にあるビットの値を、格納先の識別子を示す値に変更する。これにより、情報処理プログラムは、属性値が格納された画素情報の抽出のための識別子を、画素情報に格納することができる。
【０１７７】
また、情報処理プログラムによれば、画像情報の中から属性値が格納された画素情報を抽出し、原子記号の属性または結合記号の属性を特定することができる。これにより、情報処理プログラムの利用者は、画像情報に描画された化合物の構造式１１１の構造情報を把握することができる。
【０１７８】
また、画像情報から原子記号と結合記号とを含む構造式を認識する文字図形認識ソフトウェアによって、原子記号の属性と結合記号の属性とを特定する場合が考えられる。しかしながら、この場合、文字図形認識ソフトウェアの開発に化学知識やプログラミングスキルが必要となり、文字図形認識ソフトウェアのコストが増大してしまう。一方で、情報処理プログラムによれば、画像情報に対するビット演算によって原子記号の属性と結合記号の属性とを特定することができ、文字図形認識ソフトウェアを開発する場合に比べてコストを低減することができる。
【０１７９】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１８０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１８１】
（付記１）コンピュータに、
描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得し、
取得した前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定し、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定し、
特定した前記画素の画素情報を示すビット列のうち、特定した前記属性の種別に応じた位置にあるビットの値を、特定した前記属性を示す値に変更する、
処理を実行させることを特徴とする情報処理プログラム。
【０１８２】
（付記２）前記画素情報を特定する処理は、
前記属性を示す値が複数のビットで表現される場合に、前記記号を表す画素群のうちの前記複数のビットの各々のビットに対応する画素の画素情報を特定し、
前記変更する処理は、
特定した前記各々のビットに対応する画素の画素情報を示すビット列のうち、前記属性の種別に応じた位置にあるビットの値を、前記各々のビットの値に変更することを特徴とする付記１に記載の情報処理プログラム。
【０１８３】
（付記３）前記コンピュータに、
特定した前記画素情報を示すビット列のうち、特定した前記属性に応じた位置とは異なる所定の位置にあるビットの値を、所定の値に変更する処理を実行させることを特徴とする付記１または２に記載の情報処理プログラム。
【０１８４】
（付記４）前記コンピュータに、
前記記号の属性に応じた位置にあるビットの値が前記記号の属性を示すビットの値に変更され、かつ、前記所定の位置にあるビットの値が前記所定の値に変更された画素情報を含む、前記構造式の画像情報の中から、前記所定の位置にあるビットの値が前記所定の値である画素情報を抽出し、
抽出した画素情報を示すビット列のうち、前記記号の属性の種別に応じた位置にあるビットの値に基づいて、前記属性を特定する、
処理を実行させることを特徴とする付記３に記載の情報処理プログラム。
【０１８５】
（付記５）前記記号の属性は、前記描画領域上の前記記号の描画位置を含み、
前記画素情報を特定する処理は、
前記構造情報に含まれる前記記号の描画位置を参照して、前記記号を表す画素群のうちのいずれかの画素の画素情報を特定することを特徴とする付記１〜４のいずれか一つに記載の情報処理プログラム。
【０１８６】
（付記６）前記記号の属性は、前記記号が前記原子記号または前記結合記号のいずれかであることを示す種別情報を含むことを特徴とする付記１〜５のいずれか一つに記載の情報処理プログラム。
【０１８７】
（付記７）前記記号の属性は、前記記号が前記原子記号である場合には、前記原子の原子番号と、前記構造式における前記原子の電荷と、前記描画領域上の前記原子記号の描画位置と、を含むことを特徴とする付記１〜６のいずれか一つに記載の情報処理プログラム。
【０１８８】
（付記８）前記記号の属性は、前記記号が前記結合記号である場合には、前記結合の結合種別と、前記結合の立体種別と、前記描画領域上の前記結合記号の描画位置と、を含むことを特徴とする付記１〜７のいずれか一つに記載の情報処理プログラム。
【０１８９】
（付記９）コンピュータに、
描画領域上に描画される化合物の構造式の画像情報の中から、前記構造式に含まれる原子記号または結合記号のいずれかの記号を示す画素群のいずれかの画素の画素情報であって、前記画素情報を示すビット列のうちの前記記号の属性に応じた位置にあるビットの値が前記属性を示す値に変更された前記画素情報を抽出し、
抽出した前記画素情報を示すビット列のうちの前記属性に応じた位置にあるビットの値に基づいて、前記記号の属性を特定する、
処理を実行させることを特徴とする情報処理プログラム。
【０１９０】
（付記１０）コンピュータが、
描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得し、
取得した前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定し、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定し、
特定した前記画素の画素情報を示すビット列のうち、特定した前記属性の種別に応じた位置にあるビットの値を、特定した前記属性を示す値に変更する、
処理を実行することを特徴とする情報処理方法。
【０１９１】
（付記１１）コンピュータが、
描画領域上に描画される化合物の構造式の画像情報の中から、前記構造式に含まれる原子記号または結合記号のいずれかの記号を示す画素群のいずれかの画素の画素情報であって、前記画素情報を示すビット列のうちの前記記号の属性に応じた位置にあるビットの値が前記属性を示す値に変更された前記画素情報を抽出し、
抽出した前記画素情報を示すビット列のうちの前記属性に応じた位置にあるビットの値に基づいて、前記記号の属性を特定する、
処理を実行することを特徴とする情報処理方法。
【０１９２】
（付記１２）描画領域に描画される化合物の構造式に含まれる原子を示す原子記号の属性と、前記構造式に含まれる原子間の結合を示す結合記号の属性と、を含む構造情報を取得する取得部と、
前記取得部によって取得された前記構造情報を参照して、前記構造式の中から選択された前記原子記号または前記結合記号のいずれかの記号の属性を特定する第１の特定部と、
前記構造情報を参照して、前記描画領域上に描画される前記構造式の画像情報に含まれる前記記号を表す画素群のうちのいずれかの画素の画素情報を特定する第２の特定部と、
前記第２の特定部によって特定された前記画素の画素情報を示すビット列のうち、前記第１の特定部によって特定された前記属性の種別に応じた位置にあるビットの値を、前記第１の特定部によって特定された前記属性を示す値に変更する変更部と、
を有することを特徴とする情報処理装置。
【０１９３】
（付記１３）描画領域上に描画される化合物の構造式の画像情報の中から、前記構造式に含まれる原子記号または結合記号のいずれかの記号を示す画素群のいずれかの画素の画素情報であって、前記画素情報を示すビット列のうちの前記記号の属性に応じた位置にあるビットの値が前記属性を示す値に変更された前記画素情報を抽出する抽出部と、
前記抽出部によって抽出された前記画素情報を示すビット列のうちの前記属性に応じた位置にあるビットの値に基づいて、前記記号の属性を特定する特定部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【０１９４】
１００  情報処理装置
５０１  取得部
５０２  第１の特定部
５０３  第２の特定部
５０４  第１の変更部
５０５  第２の変更部
５０６  抽出部
５０７  第３の特定部
【図１】
2014182663.tif 000003
【図２】
2014182663.tif 000004
【図３】
2014182663.tif 000005
【図４】
2014182663.tif 000006
【図５】
2014182663.tif 000007
【図６】
2014182663.tif 000008
【図７】
2014182663.tif 000009
【図８】
2014182663.tif 000010
【図９】
2014182663.tif 000011
【図１０】
2014182663.tif 000012
【図１１】
2014182663.tif 000013
【図１２】
2014182663.tif 000014
【図１３】
2014182663.tif 000015
【図１４】
2014182663.tif 000016
【図１５】
2014182663.tif 000017
【図１６】
2014182663.tif 000018
【図１７】
2014182663.tif 000019
【図１８】
2014182663.tif 000020
【図１９】
2014182663.tif 000021
【図２０】
2014182663.tif 000022
【図２１】
2014182663.tif 000023
【図２２】
2014182663.tif 000024
【図２３】
2014182663.tif 000025
【図２４】
2014182663.tif 000026
【図２５】
2014182663.tif 000027
【図２６】
2014182663.tif 000028