(57)【要約】  ファイル生成装置（１００）は、撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出し、抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成する。情報処理装置（２００）は、複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、複数の物体のうち、生成したテキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する。
2019239535.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する取得方法であって、
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する、
処理を実行することを特徴とする取得方法。
【請求項２】
前記複数の物体それぞれについて、該物体に含まれる要素形状それぞれの描画指示の前記テキスト情報における出現位置を該要素形状に対応付けて記憶する記憶部を参照して、前記複数の物体それぞれについて、生成した前記テキスト情報に含まれる描画指示に対応付けられた出現位置を特定し、
特定した前記出現位置と、生成した前記テキスト情報に含まれる描画指示の該テキスト情報における出現位置との対応関係に基づき、前記類似度が基準を満たす前記テキスト情報を特定する、
ことを特徴とする請求項１に記載の取得方法。
【請求項３】
前記形状の描画指示を含むテキスト情報を基にして、前記描画指示と該描画指示の出現位置とを対応付けた転置インデックスを生成する処理を更に実行し、前記記憶部は、物体毎に、物体に含まれる要素形状それぞれの描画指示と該描画指示の出現位置とを対応付けた転置インデックスを有することを特徴とする請求項２に記載の取得方法。
【請求項４】
前記テキスト情報に含まれる前記描画指示は複数の制御文と複数の座標とを含み、前記テキスト情報に含まれる制御文単位又は座標単位で符号化を行うことで、符号化テキスト情報を生成し、前記符号化テキスト情報に含まれる制御文単位又は座標単位で符号化された符号を順次読み出して解析し、物体の形状を生成する処理を更に実行することを特徴とする請求項１に記載の取得方法。
【請求項５】
コンピュータが実行する生成方法であって、
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、
取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する、
処理を実行することを特徴とする生成方法。
【請求項６】
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する、
処理をコンピュータに実行させることを特徴とする取得プログラム。
【請求項７】
前記複数の物体それぞれについて、該物体に含まれる要素形状それぞれの描画指示の前記テキスト情報における出現位置を該要素形状に対応付けて記憶する記憶部を参照して、前記複数の物体それぞれについて、生成した前記テキスト情報に含まれる描画指示に対応付けられた出現位置を特定し、
特定した前記出現位置と、生成した前記テキスト情報に含まれる描画指示の該テキスト情報における出現位置との対応関係に基づき、前記類似度が基準を満たす前記テキスト情報を特定する、
ことを特徴とする請求項６に記載の取得プログラム。
【請求項８】
前記形状の描画指示を含むテキスト情報を基にして、前記描画指示と該描画指示の出現位置とを対応付けた転置インデックスを生成する処理を更に実行し、前記記憶部は、物体毎に、物体に含まれる要素形状それぞれの描画指示と該描画指示の出現位置とを対応付けた転置インデックスを有することを特徴とする請求項６に記載の取得プログラム。
【請求項９】
前記テキスト情報に含まれる前記描画指示は複数の制御文と複数の座標とを含み、前記テキスト情報に含まれる制御文単位又は座標単位で符号化を行うことで、符号化テキスト情報を生成し、前記符号化テキスト情報に含まれる制御文単位又は座標単位で符号化された符号を順次読み出して解析し、物体の形状を生成する処理を更に実行することを特徴とする請求項６に記載の取得プログラム。
【請求項１０】
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、
取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【請求項１１】
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出する抽出部と、
前記形状に基づき、該形状の描画指示を含むテキスト情報を生成する生成部と、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する特定部と
を有することを特徴とする情報処理装置。
【請求項１２】
前記特定部は、前記複数の物体それぞれについて、該物体に含まれる要素形状それぞれの描画指示の前記テキスト情報における出現位置を該要素形状に対応付けて記憶する記憶部を参照して、前記複数の物体それぞれについて、生成した前記テキスト情報に含まれる描画指示に対応付けられた出現位置を特定し、特定した前記出現位置と、生成した前記テキスト情報に含まれる描画指示の該テキスト情報における出現位置との対応関係に基づき、前記類似度が基準を満たす前記テキスト情報を特定する、
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記生成部は、前記形状の描画指示を含むテキスト情報を基にして、前記描画指示と該描画指示の出現位置とを対応付けた転置インデックスを生成する処理を更に実行し、前記記憶部は、物体毎に、物体に含まれる要素形状それぞれの描画指示と該描画指示の出現位置とを対応付けた転置インデックスを有することを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
前記テキスト情報に含まれる前記描画指示は複数の制御文と複数の座標とを含み、前記生成部は、前記テキスト情報に含まれる制御文単位又は座標単位で符号化を行うことで、符号化テキスト情報を生成し、前記符号化テキスト情報に含まれる制御文単位又は座標単位で符号化された符号を順次読み出して解析し、物体の形状を生成する解析処理部を更に有することを特徴とする請求項１に記載の取得方法。
【請求項１５】
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出する抽出部と、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する生成部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取得方法等に関する。
【背景技術】
【０００２】
従来、画像による物体認識では、撮影画像に含まれる物体に対し、複数の教師物体を描画し、候補を絞り込み特定することで認識が行われている。教師物体は、描画命令を実行することができるPostScript（Adobe  Systems社商標）と呼ばれる言語で記述される。この記述言語で作成されるデータは、ページ内の物体の形状等を表現する描画命令が任意の順で記述されている。以下の説明では、PostScriptで作成されたデータを「PostScriptデータ」と表記する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０１５３２９号公報
【特許文献２】特表２００１−５１９９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、撮影画像に含まれる物体を特定する処理負荷を軽減することができないという問題がある。【０００５】
複数の教師物体のPostScriptデータが大量である場合には、このPostScriptデータを用いて物体の形状を描画するには多くの時間を要する。たとえば、PostScriptデータを用いて物体の形状を描画し、ある撮影画像に含まれる物体が、PostScriptデータの物体に対応しているか否かを判定する場合には、処理負荷が大きくなる。【０００６】
１つの側面では、撮影画像に含まれる物体を特定する処理負荷を軽減することができる取得方法、生成方法、取得プログラム、生成プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、コンピュータは、次の処理を実行する。コンピュータは、撮影装置により撮影された撮影画像を取得すると、取得した撮影画像に基づき、該撮影画像に含まれる物体の形状を特定する。コンピュータは、特定した形状に基づき、該形状の描画指示を含むテキスト情報を生成する。コンピュータは、複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する。
【発明の効果】
【０００８】
撮影画像に含まれる物体を特定する処理負荷を軽減できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、PostScriptデータの転置インデックスを生成する処理の一例を説明するための図である。
【図２】図２は、本実施例１の処理の一例を説明するための図である。
【図３】図３は、本実施例１に係るシステムの構成を示す機能ブロック図である。
【図４】図４は、本実施例１に係るファイル生成装置の構成を示す機能ブロック図である。
【図５】図５は、バッファのデータ構造の一例を示す図である。
【図６】図６は、圧縮ファイルのデータ構造の一例を示す図である。
【図７】図７は、符号化部の処理を説明するための図である。
【図８】図８は、符号化部の符号化の順番の一例を示す図である。
【図９】図９は、アウトラインを抽出する処理を説明するための図である。
【図１０】図１０は、転置インデックスをハッシュ化する処理の一例を説明するための図である。
【図１１】図１１は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。
【図１２】図１２は、本実施例１に係る転置インデックステーブルのデータ構造の一例を示す図である。
【図１３】図１３は、転置インデックスを復元する処理の一例を示す図である。
【図１４】図１４は、本実施例１に係るファイル生成装置の処理手順を示すフローチャートである。
【図１５】図１５は、転置インデックス生成処理の処理手順を示すフローチャートである。
【図１６】図１６は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。
【図１７】図１７は、本実施例２に係る情報処理装置の処理の一例を説明するための図である。
【図１８】図１８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図１９】図１９は、本実施例２に係る転置インデックステーブルのデータ構造の一例を示す図である。
【図２０】図２０は、本実施例２に係るケヤキ木情報のデータ構造の一例を示す図である。
【図２１】図２１は、本実施例２に係るPostScriptテーブルのデータ構造の一例を示す図である。
【図２２】図２２は、本実施例２に係る演算装置の処理手順を示すフローチャートである。
【図２３】図２３は、ファイル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２４】図２４は、本実施例１に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２５】図２５は、本実施例２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる取得方法、生成方法、取得プログラム、生成プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１１】
たとえば、本実施例１に係るシステムは、ファイル生成装置と、情報処理装置とを有する。ファイル生成装置は、PostScriptデータを基にして転置インデックスを生成する。情報処理装置は、転置インデックスを用いた処理を実行する。【００１２】
図１は、PostScriptデータの転置インデックスを生成する処理の一例を説明するための図である。図１に示す例では、アウトライン１０のPostScriptデータを生成する場合について説明する。アウトライン１０は、直線１０ＡＢ、曲線１０ＢＣ、直線１０ＣＤ、直線１０ＤＡからなる。直線１０ＡＢは、制御点Ａと制御点Ｂとを結ぶ直線である。直線１０ＣＤは、制御点Ｃと制御点Ｄとを結ぶ直線である。直線１０ＤＡは、制御点Ｄと制御点Ａとを結ぶ直線である。曲線１０ＢＣは、制御点Ｂと制御点Ｃとを結ぶ曲線であり、制御点α，βおよび制御点（端点）Ｂ，Ｃにより、曲線の形状が決定される。【００１３】
ファイル生成装置は、制御点Ａ，Ｂ，Ｃ，Ｄ、制御点α，βを基にして、アウトライン１０のPostScriptデータ２０を生成する。PostScriptデータ２０に含まれる「Ｘａ，Ｙａ」は、制御点Ａの座標を示すものである。「Ｘｂ，Ｙｂ」は、制御点Ｂの座標を示すものである。「Ｘｃ，Ｙｃ」は、制御点Ｃの座標を示すものである。「Ｘｄ，Ｙｄ」は、制御点Ｄの座標を示すものである。「Ｘα，Ｙα」は、制御点αの座標を示すものである。「Ｘβ，Ｙβ」は、制御点βの座標を示すものである。PostScriptデータ２０には、各種のコマンド「newpath  moveto  lineto  curveto  stroke  showpage」が含まれる。コマンドは、制御文の一例である。【００１４】
ファイル生成装置は、PostScriptデータ２０に含まれる文字列を、上段から順に読み込み、読み込んだ文字列を順に並べることで、PostScript変換データ２０ａを生成する。【００１５】
ファイル生成装置は、PostScript変換データ２０ａのコマンド又は座標と、出現位置との関係を基にして転置インデックス２５を生成する。転置インデックス２５の横軸は、オフセットに対応する軸である。転置インデックス２５の縦軸は、コマンド又は座標に対応する軸である。【００１６】
オフセットは、PostScript変換データ２０ａの先頭からの位置を示す。PostScript変換データ２０ａの先頭のオフセットを「０」とし、その後は、コマンドまたは座標の単位で、オフセットに１が加算される。たとえば、PostScriptデータ２０ａにおいて、「newpath」、「Ｘａ，Ｙａ」、「moveto」、・・・のオフセットは、それぞれ、「０」、「１」、「２」、・・・となる。【００１７】
ファイル生成装置は、PostScript変換データ２０ａを走査し、「オフセット」と、「コマンド又は座標」との対応関係を特定する。ファイル生成装置は、特定した「オフセット」と、「コマンド又は座標」との対応関係を基にして、転置インデックス２５にフラグ「１」を設定する。【００１８】
たとえば、PostScript変換データ２０ａのオフセット「０」に、コマンド「newpath」が出現するため、ファイル生成装置は、転置インデックスのオフセット「０」と、コマンド「newpath」とが交差する位置に、フラグ「１」を設定する。ファイル生成装置は、上記処理を繰り返し実行することで、転置インデックス２５を生成する。【００１９】
図２は、本実施例１の処理の一例を説明するための図である。ファイル生成装置は、カメラ（ステレオカメラ）を用いて、撮影画像データ３０を撮影する。たとえば、撮影画像データ３０には、物体３０ａ，３０ｂが含まれている。ファイル生成装置は、カメラの視差により、物体３１，３２のアウトラインを特定する。たとえば、ファイル生成装置は、図１で説明した処理を行うことで、物体３１のアウトライン３２から、PostScriptデータ３２を生成する。また、ファイル生成装置は、PostScriptデータ３２を走査して、「オフセット」と「コメント又は座標」との関係を基にして、転置インデックス３３を生成する。ファイル生成装置は、転置インデックス３３の情報を、情報処理装置に送信する。【００２０】
情報処理装置は、複数の教師物体から生成した転置インデクスの情報を格納した転置インデックステーブル２４１を有する。情報処理装置は、ファイル生成装置から受信した転置インデックス３３との類似性が基準を満たす転置インデックスを、転置インデックステーブル２４１から特定する。情報処理装置は、特定した転置インデクスに含まれる物体の識別情報を取得して、表示する。【００２１】
たとえば、情報処理装置は、転置インデックス３３と、転置インデックステーブル２４１に格納された転置インデックス３５，３５，３７とを比較する。転置インデックス３５は、物体３５ａのアウトラインを基にして生成される転置インデックスである。転置インデックス３６は、物体３６ａのアウトラインを基にして生成される転置インデックスである。転置インデックス３７は、物体３７ａのアウトラインを基にして生成される転置インデックスである。【００２２】
情報処理装置は、転置インデックス３３と、転置インデックス３６との類似性が基準を満たす場合に、転置インデックス３６に対応付けられた物体３６ａの識別情報を出力する。たとえば、情報処理装置は、転置インデックス３３と、転置インデックス３６との一致率が、所定の閾値以上である場合に、転置インデックス３３と、転置インデックス３６との類似性が基準を満たすと判定する。【００２３】
上記のように、本実施例１のファイル生成装置は、物体のアウトラインからPostScriptデータを生成し、PostScriptデータの転置インデックスを生成する。本実施例１の情報処理装置は、ファイル生成装置に生成された転置インデックスと、転置インデックステーブルに格納された転置インデックスとを比較することで、検索対象の絞り込みなどを行う。これにより、PostScriptデータを用いて物体の描画を行うことなく、候補の絞り込みや、検索処理を高速に実行することができる。なお、撮影物体と教師物体の各転置インデックスの比較ではなく、撮影物体のPostScriptデータのコマンドや座標をもとに、教師物体の転置インデックスで候補を絞り込むことで、高速化することも可能である。【００２４】
次に、本実施例１に係るシステムの構成の一例について説明する。図３は、本実施例１に係るシステムの構成を示す機能ブロック図である。図３に示すように、このシステムは、ファイル生成装置１００と、情報処理装置２００とを有する。ファイル生成装置１００は、カメラ１００ａと、通信部１００ｂに接続される。ファイル生成装置１００、カメラ１００ａ、通信部１００ｂは、移動体１に搭載されている。【００２５】
ファイル生成装置１００は、通信部１００ｂを介して、ネットワーク２に接続し、情報処理装置２００とデータ通信を行う。情報処理装置２００は、ネットワーク２に接続し、ファイル生成装置１００とデータ通信を行う。なお、ファイル生成装置１００と、情報処理装置２００とは、有線などにより、直接接続され、データ通信を行ってもよい。【００２６】
カメラ１００ａは、物体を２つの異なる方向から同時に撮影するステレオカメラ（双眼カメラ）または、左右に可動可能な単眼カメラであり、視差により物体のアウトラインを識別することができる。カメラ１００ａは、第１の方向から撮像した第１撮影画像データと、第１の方向とは異なる第２の方向から撮像した第２撮影画像データとを、ファイル生成装置１００に出力する。以下の説明では、適宜、第１撮影画像データと、第２撮影画像データとをまとめて、撮影画像データと表記する。【００２７】
通信部１００ｂは、ネットワーク２に無線で接続する通信装置である。ファイル生成装置１００は、通信部１００ｂを介して、ネットワーク２に接続する。【００２８】
ファイル生成装置１００は、撮影画像データに含まれる物体のアウトラインを基にして、PostScriptデータを生成し、PostScriptデータから転置インデックスを生成する装置である。ファイル生成装置１００は、転置インデックス等を含む圧縮ファイルの情報を、情報処理装置２００に送信する。【００２９】
情報処理装置２００は、ファイル生成装置１００から、圧縮ファイルの情報を受信すると、圧縮ファイルに含まれる転置インデックスと、転置インデックステーブルとを比較する。情報処理装置２００は、転置インデックステーブルに含まれる転置インデックスのうち、圧縮ファイルに含まれる転置インデックスとの類似度が基準を満たす転置インデックスを特定する。【００３０】
次に、本実施例１に係るファイル生成装置の構成の一例について説明する。図４は、本実施例１に係るファイル生成装置の構成を示す機能ブロック図である。図４に示すように、このファイル生成装置は、カメラ１００ａ、通信部１００ｂ、記憶部１４０、制御部１５０を有する。カメラ１００ａ、通信部１００ｂに関する説明は、図３で説明したものと同様である。【００３１】
記憶部１４０は、バッファ１４１と、圧縮ファイル１４２と、ケヤキ木情報１４３とを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００３２】
バッファ１４１は、第１撮影画像データと、第２撮影画像データとを保持するバッファである。図５は、バッファのデータ構造の一例を示す図である。図５に示すように、バッファ１４１は、テーブル１４１ａ，１４１ｂを有する。【００３３】
テーブル１４１ａは、第１撮影画像データを撮像した時刻と、第１撮影画像データとを対応付けて保持するテーブルである。テーブル１４１ｂは、第２撮影画像データを撮像した時刻と、第２撮影画像データとを対応付けて保持するテーブルである。【００３４】
図６は、圧縮ファイルのデータ構造の一例を示す図である。図６に示すように、圧縮ファイル１４２は、ヘッダ１４２ａ、符号領域１４２ｂ、トレーラ１４２ｃを有する。ヘッダ１４２ａには、各種の制御情報が格納される。符号領域１４２ｂには、撮影画像データを符号化した情報が格納される。【００３５】
トレーラ１４２ｃには、PostScript圧縮データ、ハッシュ化転置インデックス、符号化情報等が格納される。PostScript圧縮データは、圧縮されたPostScriptデータである。ハッシュ化転置インデックスは、ハッシュ化された転置インデックスである。符号化情報は、後述する図７の処理で生成される、符号化の順番と、背面ディザ画像データの符号と、アウトライン情報とを対応付けた情報である。【００３６】
ケヤキ木情報１４３は、撮影画像データを分割した各ブロックの画像と符号とを対応付ける情報である。ケヤキ木は、ニューラル木とも呼ばれる。【００３７】
図４の説明に戻る。制御部１５０は、取得部１５０ａ、抽出部１５０ｂ、符号化部１５０ｃ、転置インデックス生成部１５０ｄ、送信部１５０ｅを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００３８】
取得部１５０ａは、カメラ１００ａから第１撮影画像データを取得し、時刻と第１撮影画像データとを対応付けて、バッファ１４１に登録する。取得部１５０ａは、カメラ１００ａから第２撮影画像データを取得し、時刻と、第２撮影画像データとを対応付けて、バッファ１４１に登録する。【００３９】
抽出部１５０ｂは、第１撮影画像データおよび第２撮影画像データを基にして、ステレオカメラの原理により、撮影画像データ上の物体形状を抽出する処理部である。抽出部１５０ｂは、撮影画像データと、物体形状の情報とを、符号化部１５０ｃに出力する。【００４０】
符号化部１５０ｃは、撮影画像データを符号化する処理部である。図７は、符号化部の処理を説明するための図である。図７の説明では、撮影画像データ５０に物体５１が含まれているものとする。【００４１】
符号化部１５０ｃは、撮影画像データ５０を、複数のブロック５０−１１〜５０−４５に分割する。符号化部１５０ｃは、物体５１の位置を基にして、複数のブロック５０−１１〜５０−４５のうち、物体５１を含むブロックを特定する。【００４２】
以下の説明では、特に区別する場合、物体５１を含むブロックを「第１種ブロック」と表記する。物体５１を含まないブロックを「第２種ブロック」と表記する。【００４３】
図７に示す例では、第１種ブロックは、ブロック５０−３３，５０−３４，５０−３５，５０−４３，５０−４４，５０−４５となる。第１種ブロックに対応しない他のブロックが、第２種ブロックとなる。【００４４】
符号化部１５０ｃが、第１種ブロックを符号化（圧縮）する処理の一例について説明する。ここでは、符号化部１５０ｃが、ブロック５０−３５を符号化する処理について説明する。【００４５】
符号化部１５０ｃは、ブロック５０−３５を基にして、前面ディザ画像データ５１−３５ａ、および、背面ディザ画像データ５１−３５ｂを生成する。【００４６】
前面ディザ画像データ５１−３５ａは、物体５１のみを含む画像データである。たとえば、符号化部１５０ｃは、ブロック５０−２２の領域において、物体５１の領域を残し、他の領域を透過させる処理を行い、この処理を行ったブロック５０−３５に対してディザリングを実行することで、前面ディザ画像データ５１−３５ａを生成する。【００４７】
背面ディザ画像データ５１−３５ｂは、被写体３１を含まない画像データである。たとえば、符号化部１５０ｃは、ブロック５０−３５の領域において、物体５１の領域を除き、除いた領域の画素値を、他の領域（たとえば、物体５１の領域あるいは背景）の画素値で補う処理を行う。符号化部１５０ｃは、この処理を行ったブロック５０−３５に対してディザリングを実行することで、背面ディザ画像データ５１−３５ｂを生成する。【００４８】
符号化部１５０ｃは、前面ディザ画像データ５１−２２ａに符号α５１−２２を割り当て、アウトライン情報５１−２２を生成する。たとえば、符号化部１５０ｃは、未割当の複数の符号α５１−ｎの中から、一つの符号を選択し、選択した符号を前面ディザ画像データ５１−３５ａに割り当てる。アウトライン情報５１−３５は、前面ディザ画像データ５１−３５ａに含まれる物体５１のアウトラインの形状を示す情報である。【００４９】
また、符号化部１５０ｃは、背面ディザ画像データ５１−３５ｂに符号β５１−３５を割り当てる。たとえば、符号化部１５０ｃは、未割当の複数の符号β５１−ｎの中から、一つの符号を選択し、選択した符号を背面ディザ画像データ５１−３５ｂに割り当てる。【００５０】
符号化部１５０ｃは、前面ディザ画像データ５１−３５ａと、符号α５１−３５とを対応付けた情報を、ケヤキ木情報１４３に登録する。符号化部１５０ｃは、背面ディザ画像データ５１−３５ｂと、符号β５１−３５とを対応付けた情報を、ケヤキ木情報１４３に登録する。【００５１】
符号化部１５０ｃは、符号化の順番に従って、前面ディザ画像データ５１−３５ａの符号α５１−３５を、圧縮ファイル１４２の符号領域１４２ｂに格納する。後述の図８で説明するように、たとえば、ブロック５０−３５は、１９番目に符号化されるため、符号領域の１９番目に、符号α５１−３５を格納する。また、符号化部１５０ｃは、符号化の順番と、背面ディザ画像データ５１−３５ｂの符号β５１−３５と、アウトライン情報とを対応付けて、トレーラ１４２ｃに格納する。【００５２】
符号化部１５０ｃが、他の第１種ブロックを符号化する処理は、上述したブロック５０−３５を符号化する処理と同様である。符号化部１５０ｃは、各第１種ブロックについて、前面ディザ画像データ、背面ディザ画像データを生成し、符号を割り当て、アウトライン情報を生成する。また、ケヤキ木情報１４３、圧縮ファイル１４２の情報を更新する。【００５３】
続いて、符号化部１５０ｃが、第２種ブロックを符号化（圧縮）する処理の一例について説明する。ここでは、符号化部１５０ｃが、ブロック５０−１１を符号化する処理について説明する。【００５４】
符号化部１５０ｃは、ブロック５０−１１に対してそのままディザリングを実行することで、ディザ画像データ５１−１１を生成する。符号化部１５０ｃは、ディザ画像データ５１−１１に、符号γ５１−１１を割り当てる。符号化部１５０ｃは、ディザ画像データ５１−１１と、符号γ５１−１１とを対応付けた情報を、ケヤキ木情報１４３に登録する。【００５５】
符号化部１５０ｃが、他の第２種ブロックを符号化する処理は、上述したブロック５０−１１を符号化する処理と同様である。【００５６】
ここで、符号化部１５０ｃが、第１種ブロックの前面ディザ画像データに割り当てる符号と、第２種ブロックのディザ画像データに割り当てる符号とを識別できるように、各符号に特徴を持たせる。たとえば、符号化部１５０ｃは、前面ディザ画像データに割り当てる符号の先頭のｎビットを、所定のビット列で統一してもよい。または、符号化部１５０ｃは、第２種ブロックのディザ画像データの符号の先頭のｎビットを、所定のビット列で統一してもよい。【００５７】
符号化部１５０ｃは、図８で説明する、予め定義された所定の順番に従って、各ブロック５０−１１〜５０−４５に対して、上記の符号化を行い、圧縮ファイル１４２に、符号、アウトライン情報を順番に格納する。【００５８】
図８は、符号化部の符号化の順番の一例を示す図である。符号化部１５０ｃは、図８に示すような順番で、各ブロックの符号化を行い、かかる順番に従って、各ブロックに割り当てた符号を、符号領域１４２ｂに格納する。図８に示す例では、符号化部１５０ｃは、ブロック５０−１１，５０−１２，５０−２１，５０−３１，５０−２２，５０−１３，５０−１４，５０−２３，５０−３２，５０−４１，５０−４２，５０−３３，５０−２４，５０−１５，５０−２５，５０−３４，５０−４３，５０−４４，５０−３５，５０−４５の順番となる。【００５９】
たとえば、符号化部１５０ｃは、ブロック（第１種ブロック）５０−３５を、１９番目に符号化する。このため、符号化部１５０ｃは、ブロック５０−３５に対応する前面ディザ画像データに割り当てた符号α５１−３５を、符号領域１４２ｂの１９番目の領域に格納する。【００６０】
符号化部１５０ｃは、第１種ブロックの背面ディザ画像データの符号およびアウトライン情報を、トレーラ１４２ｃに格納する場合には、該当する第１種ブロックが符号化された順番と対応付けるものとする。たとえば、ブロック（第１種ブロック）５０−３５は、１９番目に符号化される。このため、符号化部１５０ｃは、順番「１９」と、背面ディザ画像データに割り当てた符号β５１−３５と、アウトライン情報５１−３５とを対応付けて、トレーラ１４２ｃに格納する。【００６１】
上記のように、符号化部１５０ｃは、撮影画像データ５０を複数のブロックに分割し、所定の順番でスキャンして、各ブロックの符号化を行い、符号化を行った順番に、符号を圧縮ファイル１４２の符号領域１４２ｂに順番に格納する。ここで、符号化部１５０ｃは、符号化対象となるブロックが第１種ブロックである場合に、第２種ブロックの符号と区別可能な符号を割り当て、第１種ブロックに含まれる被写体のアウトライン情報を、符号化の順番と対応付けて、トレーラ１４２ｃに格納する処理を行う。これにより、符号領域１４２ｂに格納された符号を復号して、撮影画像データ５０を生成しなくても、符号領域１４２ｂをスキャンすることで、被写体のアウトラインを含むブロックを特定でき、特定したブロックに対応するアウトライン情報を、トレーラ１４２ｃから取得することで、被写体のアウトラインを容易に再生可能となる。【００６２】
図４の説明に戻る。転置インデックス生成部１５０ｄは、物体のアウトラインからPostScriptデータを生成し、生成したPostScriptデータの転置インデックスを生成する処理部である。転置インデックス生成部１５０ｄは、生成部の一例である。【００６３】
転置インデックス生成部１５０ｄは、抽出部１５０ｂにより抽出された物体形状を基にして、アウトラインを特定してもよいし、圧縮ファイル１４２を基にして、アウトラインを特定してもよい。ここでは一例として、転置インデックス生成部１５０ｄは、圧縮ファイル１４２を基にして、物体のアウトラインを抽出する処理について説明する。【００６４】
図９は、アウトラインを抽出する処理を説明するための図である。転置インデックス生成部１５０ｄは、抽出画像データ６０を生成し、複数のブロック６０−１１〜６０−４５を生成する。ブロック６０−１１〜６０−４５の数は、図７で説明した撮影画像データ５０の各ブロック５０−１１〜５０−４５の数と同一とする。なお、初めの抽出画像データ６０において、アウトライン３２は抽出されてないものとする。【００６５】
転置インデックス生成部１５０ｄは、圧縮ファイル１４２の符号領域１４２ｂを順番にスキャンし、第１種ブロックの前面ディザ画像データに割り当てられた符号を特定する。転置インデックス生成部１５０ｄは、第１種ブロックの前面ディザ画像データに割り当てられた符号が格納された順番をキーにして、物体のアウトラインを含むブロックを、ブロック６０−１１〜６０−４５から特定する。【００６６】
たとえば、第１種ブロックの前面ディザ画像データに割り当てられた符号が符号領域に格納された順番を、１２，１６，１７，１８，１９，２０とし、図８で説明した順番で、各ブロックが符号化されていることを前提とする。この場合には、転置インデックス生成部１５０ｄは、物体のアウトラインを含むブロックは、ブロック６０−３３，６０−３４，６０−４３，６０−４４，６０−３５，６０−４５として特定する。【００６７】
転置インデックス生成部１５０ｄは、順番１２，１６，１７，１８，１９，２０に対応付けられたアウトライン情報を、圧縮ファイル１４２のトレーラ１４２ｃから取得して、各ブロックに含まれるアウトラインを設定する。たとえば、順番１２，１６，１７，１８，１９，２０に対応付けられたアウトライン情報をそれぞれ、アウトライン情報５１−３３，５１−３４，５１−４３，５１−４４，５１−３５，５１−４５とする。アウトライン情報５１−３５は、図７で説明を行ったが、他のアウトライン情報に関する説明は省略する。【００６８】
転置インデックス生成部１５０ｄは、設定したアウトライン情報５１−３３，５１−３４，５１−４３，５１−４４，５１−３５，５１−４５を組み合わせることで、アウトライン３２を抽出する。【００６９】
続いて、転置インデックス生成部１５０ｄが、アウトラインの情報を基にして、PostScriptデータを生成する処理について説明する。転置インデックス生成部１５０ｄは、アウトライン３２を、複数の直線と曲線（ベジェ曲線）との組合せとして捉え、各直線の端点を示す制御点、曲線の端点を示す制御点、曲線の形状を決定する制御点を特定し、PostScriptデータを生成する。転置インデックス生成部１５０ｄが、アウトライン３２から、PostScriptデータを生成する処理は、如何なる従来技術を用いても構わない。【００７０】
転置インデックス生成部１５０ｄは、PostScriptデータを生成すると、図１で説明した処理の要領で、転置インデックスを生成する。たとえば、転置インデックス生成部１５０ｄは、PostScriptデータに含まれる文字列を、上段から順に読み込み、読み込んだ文字列を順に並べることで、PostScript変換データを生成する。転置インデックス生成部１５０ｄは、PostScript変換データのコマンド又は座標と、出現位置との関係を基にして転置インデックスを生成する。【００７１】
転置インデックス生成部１５０ｄは、転置インデックスを生成すると、ビットマップの折り返し技術を用いて、転置インデックスを素数（底）でハッシュ化し、サイズを縮小してもよい。図１０は、転置インデックスをハッシュ化する処理の一例を説明するための図である。【００７２】
図１０で説明する例では、３２ビットレジスタを想定し、「２９」と「３１」の素数（底）を基に、転置インデックスの各行のビットマップをハッシュ化する。ここでは、ビットマップｂ１から、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を生成する場合について説明する。【００７３】
ビットマップｂ１は、転置インデックス（たとえば、図１に示した転置インデックス２５）のある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップｈ１１は、底「２９」によりハッシュ化されたビットマップである。ハッシュ化ビットマップｈ１２は、底「３１」によりハッシュ化されたビットマップである。【００７４】
転置インデックス生成部１５０ｄは、ビットマップｂ１の各ビットの位置を、１つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。転置インデックス生成部１５０ｄは、該当するビットマップｂ１のビットの位置に「１」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「１」を設定する処理を行う。【００７５】
ビットマップｂ１から、底「２９」のハッシュ化ビットマップｈ１１を生成する処理の一例について説明する。はじめに、転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「０〜２８」の情報を、ハッシュ化ビットマップｈ１１にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「２９」で割った余りは「６」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１１の位置「６」と対応付けられる。転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「６」に「１」を設定する。【００７６】
ビットマップｂ１のビットの位置「４２」を、低「２９」で割った余りは「１３」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１１の位置「１３」と対応付けられる。転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「１３」に「１」を設定する。【００７７】
転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「２９」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１１を生成する。【００７８】
ビットマップｂ１から、底「３１」のハッシュ化ビットマップｈ１２を生成する処理の一例について説明する。はじめに、転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「０〜３０」の情報を、ハッシュ化ビットマップｈ１２にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「３１」で割った余りは「４」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１２の位置「４」と対応付けられる。転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「４」に「１」を設定する。【００７９】
ビットマップｂ１のビットの位置「４２」を、低「３１」で割った余りは「１１」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１２の位置「１１」と対応付けられる。転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「１１」に「１」を設定する。【００８０】
転置インデックス生成部１５０ｄは、ビットマップｂ１の位置「３１」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１２を生成する。【００８１】
転置インデックス生成部１５０ｄは、転置インデックスの各行について上記の折り返し技術による圧縮を行うことで、ハッシュ化転置インデックスを生成する。なお、底「２９」、「３１」のハッシュ化ビットマップは、生成元のビットマップの行（コマンド又は座標）の情報が付与される。転置インデックス生成部１５０ｄは、ハッシュ化転置インデックスの情報を圧縮ファイル１４２のトレーラ１４２ｃに格納する。【００８２】
転置インデックス生成部１５０ｄは、PostScriptデータを符号化し、PostScript圧縮データを生成する。たとえば、転置インデックス生成部１５０ｄは、図示しない辞書情報を用いて、PostScriptデータをコマンド単位、座標単位で、符号化する。転置インデックス生成部１５０ｄは、PostScript圧縮データを、圧縮ファイル１４２のトレーラ１４２ｃに格納する。【００８３】
ここで、辞書情報は、静的辞書および動的辞書の情報を保持するデータである。静的辞書は、単語と、静的コードとを対応付けるデータである。動的辞書は、静的辞書に存在しない単語に、ユニークな動的コードを割り当てる場合に、かかる単語と動的コードとを対応付けたデータを保持する。たとえば、静的辞書に、PostScriptデータで用いられるコマンドまたは座標と静的コードとを対応付けておいても良いし、動的辞書を用いて、PostScriptデータで用いられるコマンドまたは座標に、ユニークな動的コードを割り当ててもよい。本実施例の説明では、静的コード、動的コードをまとめて、単に「コード」と表記する。【００８４】
たとえば、転置インデックス生成部１５０ｄは、PostScriptデータのコマンドまたは座標を先頭から順に読み出し、辞書情報との比較を行い、各コマンド、各座標にコードを割り当てる処理を行うことで、PostScript圧縮データを生成する。【００８５】
送信部１５０ｅは、記憶部１４０に格納された圧縮ファイル１４２を、情報処理装置２００に送信する処理部である。【００８６】
次に、本実施例１に係る情報処理装置２００の構成について説明する。図１１は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。図１１に示すように、情報処理装置２００は、通信部２１０と、入力部２２０と、表示部２３０と、記憶部２４０と、制御部２５０とを有する。【００８７】
通信部２１０は、ネットワーク２を介して、ファイル生成装置１００とデータ通信を実行する処理部である。通信部２１０は、通信装置の一例である。たとえば、通信部２１０は、ファイル生成装置１００から、圧縮ファイル１４２を受信し、受信した圧縮ファイル１４２を、制御部２５０に出力する。【００８８】
入力部２２０は、情報処理装置２００に各種の情報を入力するための入力装置である。たとえば、入力部２２０は、キーボードやマウス、タッチパネル等に対応する。【００８９】
表示部２３０は、制御部２５０から出力される各種の情報を表示するための表示装置である。たとえば、表示部２３０は、液晶ディスプレイやタッチパネル等に対応する。【００９０】
記憶部２４０は、圧縮ファイル１４２と、転置インデックステーブル２４１とを有する。記憶部２４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【００９１】
圧縮ファイル１４２は、ファイル生成装置１００に生成される圧縮ファイルである。圧縮ファイル１４２のデータ構造は、図６で説明した圧縮ファイル１４２のデータ構造と同様である。【００９２】
転置インデックステーブル２４１は、各種の物体形状のアウトラインそれぞれから生成される転置インデックスの情報を保持するテーブルである。図１２は、転置インデックステーブルのデータ構造の一例を示す図である。図１２に示すように、この転置インデックステーブル２４１は、識別情報と、転置インデックスと、付属情報とを対応付ける。【００９３】
識別情報は、物体を一意に識別する情報である。転置インデックスは、識別情報により識別される物体のアウトラインを基にして生成される転置インデックスである。付属情報は、識別情報により識別される物体に関する付属情報を示す。たとえば、識別情報により識別される物体が車両である場合には、車両の製造メーカ、車両のスペック等が、付属情報として登録される。【００９４】
図１１の説明に戻る。制御部２５０は、取得部２５１と、復元部２５２と、特定部２５３とを有する。制御部２５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【００９５】
取得部２５１は、ファイル生成部１００から、圧縮ファイル１４２を取得する処理部である。取得部２５１は、取得した圧縮ファイル１４２を、記憶部２４０に格納する。【００９６】
復元部２５２は、圧縮ファイル１４２に格納されたハッシュ化転置インデックスを、転置インデックスに復元する処理部である。復元部２５２は、復元した転置インデックスを、特定部２５３に出力する。【００９７】
図１３は、転置インデックスを復元する処理の一例を示す図である。ここでは一例として、復元部２５２が、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を基にして、ビットマップｂ１を復元する場合について説明する。【００９８】
復元部２５２は、底「２９」のハッシュ化ビットマップｈ１１から、中間ビットマップｈ１１’を生成する。復元部２５２は、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、中間ビットマップｈ１１’の位置０〜２８にそれぞれ、コピーする。【００９９】
復元部２５２は、中間ビットマップｈ１１’の位置２９以降の値については、「２９」毎に、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、それぞれコピーする処理を繰り返し実行する。図１１に示す例では、中間ビットマップｈ１１’の位置２９〜４３の位置に、ハッシュ化ビットマップｈ１１の位置０〜１４の値を、コピーした例を示す。【０１００】
復元部２５２は、底「３１」のハッシュ化ビットマップｈ１２から、中間ビットマップｈ１２’を生成する。復元部２５２は、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、中間ビットマップｈ１２’の位置０〜３０にそれぞれ、コピーする。【０１０１】
復元部２５２は、中間ビットマップｈ１２’の位置３１以降の値については、「３１」毎に、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、それぞれコピーする処理を繰り返し実行する。図１１に示す例では、中間ビットマップｈ１２’の位置３１〜４３の位置に、ハッシュ化ビットマップｈ１２の位置０〜１２の値を、コピーした例を示す。【０１０２】
復元部２５２は、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とを生成すると、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とをＡＮＤ演算することで、ハッシュ化前のビットマップｂ１を復元する。復元部２５２は、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、コマンド又は座標に対応する転置インデックスを復元することができる。【０１０３】
復元部２５２は、復元した転置インデックスの情報を、特定部２５３に出力する。以下の説明では、適宜、復元部２５２が復元した転置インデックスを、「対象インデックス」と表記する。【０１０４】
特定部２５３は、復元部２５２が復元した対象インデックスと、転置インデックステーブル２４１の各転置インデックスとを比較し、類似性が基準を満たす転置インデックスを、転置インデックステーブル２４１から特定する。特定部２５３は、特定した転置インデックスに対応付けられる識別情報および付属情報を、表示部２３０に出力する。【０１０５】
たとえば、特定部２５３は、転置インデックスの各コマンド及び座標のうち、一致していることが要求されるコマンド又は座標を設定しておく。この一致していることが要求されるコマンド又は座標を、「指定項目」と表記する。【０１０６】
特定部２５３は、対象インデックスおよび転置インデックスの指定項目の行を比較し、「１」が設定されたオフセットが一致する場合に、該当する転置インデックスの類似製が基準を満たす転置インデックスであると判定する。【０１０７】
なお、特定部２５３が、類似性が基準を満たす転置インデックスを特定する処理は、上記の処理に限定されるものではない。たとえば、特定部２５３は、対象インデックスおよび転置インデックスの全行について、「１」が設定されたオフセットを比較し、一致率が所定の一致率以上となる場合に、類似性が基準を満たす転置インデックスとして特定してもよい。【０１０８】
次に、本実施例１に係るファイル生成装置１００の処理手順の一例について説明する。図１４は、本実施例１に係るファイル生成装置の処理手順を示すフローチャートである。図１４に示すように、ファイル生成装置１００の取得部１５０ａは、撮影画像データを取得し、バッファ１４１に格納する（ステップＳ１０１）。【０１０９】
ファイル生成装置１００の抽出部１５０ｂは、バッファに格納された撮影画像データを基にして、物体形状を抽出する（ステップＳ１０２）。ファイル生成装置１００の符号化部１５０ｃは、撮影画像データを複数のブロックに分割する（ステップＳ１０３）。【０１１０】
符号化部１５０ｃは、所定の順番で未選択のブロックを選択する（ステップＳ１０４）。符号化部１５０ｃは、選択したブロックに物体が含まれるか否かを判定する（ステップＳ１０５）。【０１１１】
符号化部１５０ｃは、選択したブロックに物体が含まれない場合には（ステップＳ１０５，Ｎｏ）、ブロックに対するディザ画像データを生成する（ステップＳ１０６）。符号化部１５０ｃは、ディザ画像データに符号を割り当てる（ステップＳ１０７）。符号化部１５０ｃは、符号を圧縮ファイル１４２に格納し（ステップＳ１０８）、ステップＳ１１６に移行する。【０１１２】
ステップＳ１０５の説明に戻る。符号化部１５０ｃは、選択したブロックに物体が含まれる場合には（ステップＳ１０５，Ｙｅｓ）、ブロックに対する前面ディザ画像データを生成する（ステップＳ１０９）。【０１１３】
符号化部１５０ｃは、アウトラインの形状を抽出し、アウトライン情報を生成する（ステップＳ１１０）。符号化部１５０ｃは、ブロックに対する背面ディザ画像データを生成する（ステップＳ１１１）。【０１１４】
符号化部１５０ｃは、前面ディザ画像に符号を割り当てる（ステップＳ１１２）。符号化部１５０ｃは、符号を圧縮ファイルに格納する（ステップＳ１１３）。符号化部１５０ｃは、背面ディザ画像データに符号を割り当てる（ステップＳ１１４）。【０１１５】
符号化部１５０ｃは、順番と、背面ディザ画像データの符号と、アウトライン情報をと圧縮ファイルに格納し（ステップＳ１１５）、ステップＳ１１６に移行する。【０１１６】
符号化部１５０ｃは、全てのブロックを選択したか否かを判定する（ステップＳ１１６）。符号化部１５０ｃは、全てのブロックを選択していない場合には（ステップＳ１１６，Ｎｏ）、ステップＳ１０４に移行する。【０１１７】
一方、符号化部１５０ｃは、全てのブロックを選択した場合には（ステップＳ１１６，Ｙｅｓ）、ステップＳ１１７に移行する。ファイル生成装置１００の転置インデックス生成部１５０ｄは、転置インデックス生成処理を実行する（ステップＳ１１７）。ファイル生成装置１００の送信部１５０ｅは、圧縮ファイル１４２を情報処理装置２００に送信する（ステップＳ１１８）。【０１１８】
次に、図１４のステップＳ１１７で説明した転置インデックス生成処理の一例について説明する。図１５は、転置インデックス生成処理の処理手順を示すフローチャートである。図１５に示すように、ファイル生成装置１００の転置インデックス生成部１５０ｄは、圧縮ファイル１４２を基にして、アウトラインを抽出する（ステップＳ２０１）。【０１１９】
転置インデックス生成部１５０ｄは、アウトラインを基にして、PostScriptデータを生成する（ステップＳ２０２）。転置インデックス生成部１５０ｄは、PostScriptデータを、PostScript変換データに変換する（ステップＳ２０３）。【０１２０】
転置インデックス生成部１５０ｄは、PostScript変換データを基にして、転置インデクスを生成する（ステップＳ２０４）。転置インデックス生成部１５０ｄは、転置インデックスをハッシュ化する（ステップＳ２０５）。転置インデックス生成部１５０ｄは、ハッシュ化転置インデックスを、圧縮ファイル１４２に格納する（ステップＳ２０６）。【０１２１】
次に、本実施例１に係る情報処理装置２００の処理手順の一例について説明する。図１６は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。図１６に示すように、情報処理装置２００の取得部２５１が、圧縮ファイル１４２を取得して、記憶部２４０に格納する（ステップＳ３０１）。【０１２２】
情報処理装置２００に復元部２５２は、圧縮ファイル１４２から、ハッシュ化転置インデックスを取得する（ステップＳ３０２）。復元部２５２は、転置インデックスを復元する（ステップＳ３０３）。【０１２３】
情報処理装置２００の特定部２５３は、転置インデックスと、転置インデックステーブル２４１の各転置インデックスとを比較する（ステップＳ３０４）。特定部２５３は、類似度が基準を満たす転置インデックスが存在する場合には（ステップＳ３０５，Ｙｅｓ）、ステップＳ３０６に移行する。一方、特定部２５３は、類似度が基準を満たす転置インデックスが存在しない場合には（ステップＳ３０５，Ｎｏ）、処理を終了する。【０１２４】
特定部２５３は、類似度が基準を満たす転置インデックスを特定する（ステップＳ３０６）。特定部２５３は、特定した転置インデックスに対応する識別情報および付属情報を表示部２３０に出力する（ステップＳ３０７）。【０１２５】
次に、本実施例１に係るファイル生成装置１００および情報処理装置２００の効果について説明する。ファイル生成装置１００は、撮影画像データを取得すると、物体の形状を特定し、特定した形状に基づき、転置インデックスを生成する。情報処理装置２００は、ファイル生成部１００から転置インデックスを取得すると、取得した転置インデックス（対象インデックス）と、転置インデックステーブル２４１とを比較して、対象インデックスに対する類似度が基準を満たす転置インデックスに対応付けられた情報を取得する。これにより、PostScriptデータを用いて物体の描画を行うとなく、候補の絞り込みや、検索処理を高速に実行することができる。【０１２６】
また、情報処理装置２００は、対象インデックスに含まれるコマンド又は座標の各オフセットのフラグと、転置インデックステーブル２４１の各転置インデックスに含まれるコマンド又は座標の各オフセットのフラグとを比較する。これにより、対象インデックスに対する類似度が基準を満たす転置インデックスを高速に特定することができる。【０１２７】
なお、本実施例１では一例として、ファイル生成装置１００と、情報処理装置２００とを別々の装置として説明を行ったがこれに限定されるものではない。たとえば、ファイル生成装置１００の機能と、情報処理装置２００の機能とを統合した、情報処理装置が、上記実施例１の処理を行ってもよい。【０１２８】
たとえば、情報処理装置は、図１１に示した情報処理装置２００の構成に加えて、図４に示した、取得部１５０ａ、抽出部１５０ｂ、符号化部１５０ｃ、転置インデックス生成部１５０ｄを有する。この情報処理装置は、カメラ１００ａに撮影された撮影画像データから、物体の形状を抽出し、PostScriptデータを生成する。情報処理装置は、PostScriptデータをPostScript変換データに変換して、転置インデックスを生成する。情報処理装置は、生成した転置インデックスと、転置インデックステーブル２４１とを比較して、生成した転置インデックスに対応する類似度が基準を満たす転置インデックスを特定する。
【実施例２】
【０１２９】
次に、本実施例２に係る情報処理装置の処理について説明する。情報処理装置は、PostScript圧縮データに含まれる圧縮されたコマンドおよび座標を、圧縮形式のままで構文解析し、アウトラインを描画する処理を実行する。【０１３０】
図１７は、本実施例２に係る情報処理装置の処理の一例を説明するための図である。図１７に示す例では、情報処理装置は、PostScript圧縮データ４０を取得する。PostScript圧縮データ４０は、コマンド単位または座標単位でコード化されている。図１７の括弧で示されるコマンド、座標は、コード化されたコマンド、座標のコードであることを示す。【０１３１】
情報処理装置の解析部４５１は、PostScript圧縮データ４０のコードを先頭から読み出し、コードとケヤキ木情報４４１との比較を行い、コードに割り当てられたコマンド又は座標を特定する。【０１３２】
ケヤキ木情報４４１は、根５に複数の葉５−１〜５−ｎが対応付けられている。葉５−１〜５−ｎは、コードと、コードに対応するコマンド又は座標の情報とが対応付けられている。解析部４５１は、ケヤキ木情報４５１の各葉５−１〜５−ｎのコードと、PostScript圧縮データ４０のコードとを比較し、ヒットする葉に示されるコマンド又は座標を特定する。【０１３３】
解析部４５１は、PostScript圧縮データ４０の１行毎に、上記処理を実行し、特定したコマンド又は座標の情報を、メモリ４５に格納する処理を繰り返し実行する。情報処理装置は、メモリ４５に格納されたコマンド及び座標に基づいて、アウトライン１０の描画を順次行っていく。【０１３４】
PostScript圧縮データ４０の１行目において、解析部４５１は、「コード（newpath）」と、ケヤキ木情報４４１とを比較して、コマンド「newpath」を特定し、メモリ４５に格納する。【０１３５】
PostScript圧縮データ４０の２行目において、解析部４５１は、「コード（Ｘａ，Ｙａ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘａ，Ｙａ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（moveto）」と、ケヤキ木情報４４１とを比較して、コマンド「moveto」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の２行目まで解析した時点において、座標「Ｘａ，Ｙａ」に制御点Ａを設定する。【０１３６】
PostScript圧縮データ４０の３行目において、解析部４５１は、「コード（Ｘｂ，Ｙｂ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘｂ，Ｙｂ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（lineto）」と、ケヤキ木情報４４１とを比較して、コマンド「lineto」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の３行目まで解析した時点において、座標「Ｘｂ，Ｙｂ」に制御点Ｂを設定し、制御点Ａ，Ｂを線分ＡＢで結ぶ。【０１３７】
PostScript圧縮データ４０の４行目において、解析部４５１は、「コード（Ｘα，Ｙα）」と、ケヤキ木情報４４１とを比較して、座標「Ｘα，Ｙα」を特定し、メモリ４５に格納する。解析部４５１は、「コード（Ｘβ，Ｙβ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘβ，Ｙβ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（Ｘｃ，Ｙｃ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘｃ，Ｙｃ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（curveto）」と、ケヤキ木情報４４１とを比較して、コマンド「curveto」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の３行目まで解析した時点において、座標「Ｘα，Ｙα」に制御点αを設定する。また、情報処理装置は、座標「Ｘβ，Ｙβ」に制御点βを設定し、座標「Ｘｃ，Ｙｃ」に制御点Ｃを設定し、曲線１０ＢＣを設定する。【０１３８】
PostScript圧縮データ４０の５行目において、解析部４５１は、「コード（Ｘｄ，Ｙｄ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘｄ，Ｙｄ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（lineto）」と、ケヤキ木情報４４１とを比較して、コマンド「lineto」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の５行目まで解析した時点において、座標「Ｘｄ，Ｙｄ」に制御点Ｄを設定し、制御点Ｃ，Ｄを線分１０ＣＤで結ぶ。【０１３９】
PostScript圧縮データ４０の６行目において、解析部４５１は、「コード（Ｘａ，Ｙａ）」と、ケヤキ木情報４４１とを比較して、座標「Ｘａ，Ｙａ」を特定し、メモリ４５に格納する。解析部４５１は、「コード（lineto）」と、ケヤキ木情報４４１とを比較して、コマンド「lineto」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の６行目まで解析した時点において、制御点Ａ，Ｄを線分１０ＤＡで結ぶ。【０１４０】
PostScript圧縮データ４０の７行目において、解析部４５１は、「コード（stroke）」と、ケヤキ木情報４４１とを比較して、コマンド「stroke」を特定し、メモリ４５に格納する。PostScript圧縮データ４０の８行目において、解析部４５１は、「コード（showpage）」と、ケヤキ木情報４４１とを比較して、コマンド「showpage」を特定し、メモリ４５に格納する。情報処理装置は、PostScript圧縮データ４０の８行目まで解析した時点において、アウトライン１０の描画が完了する。【０１４１】
図１７に示した例では、メモリ４５の異なる領域に、解析部４５１が、順次、コマンド及び座標を格納する場合について説明したが、メモリ４５の領域が限られている場合には、過去に格納したコマンド、座標の情報を、新たなコマンド、座標によって更新してもよい。【０１４２】
上記のように、本実施例２に係る情報処理装置は、PostScript圧縮データに含まれる圧縮されたコマンドおよび座標を、圧縮形式のままで構文解析し、アウトラインを描画する処理を実行する。このため、より多くのPostScript圧縮データを記憶装置上に常駐させ、アウトラインを圧縮形式のまま高速に描画することが可能となる。【０１４３】
次に、本実施例２に係る情報処理装置の構成の一例について説明する。図１８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。図１８に示すように、情報処理装置３００は、通信部３１０と、入力部３２０と、表示部３３０と、記憶部３４０と、制御部３５０とを有する。また、情報処理装置３００は、転送部３６０と、演算装置４００とを有する。たとえば、情報処理装置３００は、ＰＣPersonal  Computer）等に対応し、演算装置４００は、ＰＣに接続されるグラフィックカード等に対応する。【０１４４】
通信部３１０は、図３等で説明した、ネットワーク２を介して、ファイル生成装置１００とデータ通信を実行する処理部である。通信部３１０は、通信装置の一例である。【０１４５】
入力部３２０は、情報処理装置３００に各種の情報を入力するための入力装置である。たとえば、入力部３２０は、キーボードやマウス、タッチパネル等に対応する。【０１４６】
表示部３３０は、制御部３５０、演算装置４００から出力される各種の情報を表示するための表示装置である。たとえば、表示部２３０は、液晶ディスプレイやタッチパネル等に対応する。【０１４７】
圧縮ファイル１４２は、ファイル生成装置１００に生成される圧縮ファイルである。圧縮ファイル１４２のデータ構造は、図６で説明した圧縮ファイル１４２のデータ構造と同様である。【０１４８】
転置インデックステーブル３４１は、各種の物体形状のアウトラインそれぞれから生成される転置インデックスの情報を保持するテーブルである。図１９は、本実施例２に係る転置インデックステーブルのデータ構造の一例を示す図である。図１９に示すように、この転置インデックステーブル２４１は、グループ識別情報と、転置インデックスとを対応付ける。【０１４９】
グループ識別情報は、PostScriptデータの属するグループを一意に識別する情報である。たとえば、類似するPostScriptデータ同士は、同一のグループに分類されているものとする。転置インデックスは、グループ識別情報により識別されるグループに属するPostScriptデータのうち、いずれか一つのPostScriptデータのアウトラインを基にして生成される転置インデックスである。【０１５０】
図１８の説明に戻る。制御部３５０は、取得部３５１と、復元部３５２と、特定部３５３とを有する。制御部３５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【０１５１】
取得部３５１は、ファイル生成部１００から、圧縮ファイル１４２を取得する処理部である。取得部３５１は、取得した圧縮ファイル１４２を、記憶部３４０に格納する。【０１５２】
復元部３５２は、圧縮ファイル１４２に格納されたハッシュ化転置インデックスを、転置インデックスに復元する処理部である。復元部３５２は、復元した転置インデックスを、特定部３５３に出力する。復元部３５２が、ハッシュ化転置インデックスを復元する処理は、実施例１で説明した復元部２５２が、ハッシュ化転置インデックスを復元する処理と同様である。以下の説明では、適宜、復元部３５２が復元した転置インデックスを、「対象インデックス」と表記する。【０１５３】
特定部３５３は、復元部３５２が復元した対象インデックスと、転置インデックステーブル３４１の各転置インデックスとを比較し、類似性が基準を満たす転置インデックスを、転置インデックステーブル３４１から特定する。特定部３５３は、特定した転置インデックスに対応付けられたグループ識別情報と、圧縮ファイル１４２に格納されたPostScript圧縮データとを、転送部３６０を介して、演算装置に転送する。【０１５４】
特定部３５３が、類似性が基準を満たす転置インデックスを、転置インデックステーブル３４１から特定する処理は、特定部２５３が、類似性の基準を満たす転置インデックスを、転置インデックステーブル２４１から特定する処理と同様である。【０１５５】
転送部３６０は、制御部３５０から演算装置４００へのデータ転送、および、演算装置４００から制御部３５０へのデータ転送を実行する処理部である。たとえば、転送部３６０は、制御部３５０から取得するグループ識別情報と、PostScript圧縮データとを、演算装置４００に出力する。【０１５６】
演算装置４００は、記憶部４４０および制御部４５０を有する。演算装置４００は、グラフィックカード等に対応する。【０１５７】
記憶部４４０は、ケヤキ木情報４４１およびPostScriptテーブル４４２を有する。記憶部４４０は、グラフィックカードのビデオメモリ等に対応する。【０１５８】
ケヤキ木情報４４１は、コードと、このコードに対応するPostScriptデータのコマンド又は座標とを対応付けた複数の葉を有する。図２０は、本実施例２に係るケヤキ木情報のデータ構造の一例を示す図である。図２０に示すように、ケヤキ木情報４４１は、根５に対して、複数の葉５−１〜５−ｎが対応付けられている。【０１５９】
図２０では一例として、葉５−ｍのデータ構造について説明する。ｍは、１以上、ｎ以下の自然数である。葉５−ｍは、葉の標識、圧縮符号長、コード種別、圧縮符号、ポインタを有する。葉の標識は、葉を一意に識別する情報である。圧縮符号長は、符号化されたコマンド又は座標のコードの長さを示す情報である。圧縮符号長は、１〜１６ビットとなる。コード種別は、コードの種別を一意に識別するものである。たとえば、コード種別には、コードが、コマンドであるか、座標であるのかを示す情報が設定される。なお、コード種別には、その他にも、コードが、演算子、数値変数、定数、アドレス変数であることを示す情報が設定されてもよい。【０１６０】
圧縮符号は、コマンド又は座標に割り当てられたコードを格納する。たとえば、上記のコード種別が「コマンド」である場合には、圧縮符号は、コマンドに割り当てられたコードとなる。コード種別が「座標」である場合には、圧縮符号は、座標に割り当てられたコードとなる。【０１６１】
ポインタは、コードに対応するコマンド又は座標の情報の格納位置を示すポインタである。コードに対応するコマンド又は座標の情報は、制御領域６に格納される。たとえば、制御領域６は、記憶部４４０上に配置される領域であり、コードに対応する各コマンド「newpath、moveto、lineto、curveto、stroke、showpage、・・・」が含まれる。また、制御領域６には、コードに対する各座標「Ｘａ，Ｙａ、Ｘｂ，Ｙｂ、Ｘｃ，Ｙｃ、Ｘｄ，Ｙｄ・・・」が含まれる。【０１６２】
PostScriptテーブル４４２は、複数のPostScript圧縮データを格納するテーブルである。図２１は、本実施例２に係るPostScriptテーブルのデータ構造の一例を示す図である。図２１に示すように、PostScriptデータ４４２は、グループ識別情報と、識別情報と、PostScript圧縮データとを対応付ける。【０１６３】
グループ識別情報は、PostScriptデータの属するグループを一意に識別する情報である。識別情報は、物体を一意に識別する情報である。PostScript圧縮データは、該当する物体のアウトラインから生成されるPostScriptデータを圧縮したデータである。PostScript圧縮データは、PostScriptデータのコマンド単位または座標単位で、符号化されているものとする。【０１６４】
制御部４５０は、解析部４５１と、描画部４５２と、判定部４５３とを有する。制御部４５０は、ＧＰＵ（Graphics  Processing  Unit）に対応する制御装置である。解析部４５１および描画部４５２は、解析処理部の一例である。【０１６５】
解析部４５１は、PostScript圧縮データと、ケヤキ木情報４４１とを比較して、PostScript圧縮データに含まれる各コードに対応付けられたコマンド又は座標を、描画部４５２に出力する処理部である。【０１６６】
解析部４５１は、制御部３５０から取得するPostScript圧縮データに対して、図１７で説明した処理を実行することで、各コードのコマンド又は座標の情報を順に、描画部４５２に出力する。解析部４５１は、PostScript圧縮データの１行毎に、コードに対応するコマンド又は座標の情報を、描画部４５２のメモリ４５に出力する。【０１６７】
たとえば、解析部４５１は、PostScript圧縮データの先頭に位置ポインタを設定し、位置ポインタから開始されるコードと、ケヤキ木情報４４１の葉の圧縮符号とを比較して、ヒットする葉を特定し、ヒットした葉のポインタに示されるコマンド又は座標を制御領域６から抽出する。続いて、解析部４５１は、ヒットした葉の圧縮符号長だけ、PostScript圧縮データの位置ポインタを進め、上記処理を繰り返し実行する。【０１６８】
また、解析部４５１は、制御部３５０から取得するグループ識別情報に対応付けられたPostScript圧縮データを、PostScriptテーブル４４２から取得し、取得した各PostScript圧縮データに対して、図１７で説明した処理を実行することで、各コードのコマンド又は座標の情報を順に、描画部４５２のメモリ４５に出力する。解析部４５１は、PostScript圧縮データの１行毎に、コードに対応するコマンド又は座標の情報を、描画部４５２のメモリ４５に出力する。解析部４５１は、コードに対応するコマンド又は座標の情報を、描画部４５２に出力する際に、PostScript圧縮データに対応付けられた、識別情報を関連付けて出力するものとする。【０１６９】
描画部４５２は、解析部４５１により更新されるメモリ４５を参照して、PostScriptデータの構文を解析し、アウトラインを生成する処理部である。描画部４５２は、描画したアウトラインの情報を判定部４５３に出力する。圧縮ファイル１４２に格納されたPostScript圧縮データに対応するアウトラインを、「対象アウトライン」と表記する。また、PostScriptテーブル４４２のPostScript圧縮データに対応するアウトラインには、識別情報が対応付けられているものとする。【０１７０】
判定部４５３は、対象アウトラインと他のアウトラインとを比較し、対象アウトラインとの類似性が基準を満たすアウトラインを判定する処理部である。判定部４５３は、判定したアウトラインに対応する識別情報を、転送部３６０を介して、制御部３５０に出力して通知する。たとえば、判定部４５３は、対象アウトラインと他のアウトラインとの一致率を算出し、一致率が閾値以上となるアウトラインを、類似性が基準を満たすアウトラインであると判定する。【０１７１】
次に、本実施例２に係る演算装置４００の処理手順の一例について説明する。図２２は、本実施例２に係る演算装置の処理手順を示すフローチャートである。演算装置４００の解析部４５１は、PostScript圧縮データを取得する度に、図２２に示す処理を繰り返し実行し、演算装置４００の描画部４５２は、PostScript圧縮データに対応するアウトラインを生成する。【０１７２】
図２２に示すように演算装置４００の解析部４５１は、PostScript圧縮データを取得する（ステップＳ４０１）。解析部４５１は、PostScript圧縮データの１行目のコードを選択する（ステップＳ４０２）。解析部４５１は、ケヤキ木情報４４１を基にして、選択したコードに対応するコマンド又は座標を特定し、メモリ４５に格納する（ステップＳ４０３）。【０１７３】
演算装置４００の描画部４５２は、メモリ４５に格納されたコマンド及び座標を基にして、アウトラインを更新する（ステップＳ４０４）。解析部４５１は、PostScript圧縮データの現在の行が最終行である場合には（ステップＳ４０５）、処理を終了する。一方、解析部４５１は、現在の行が最終行でない場合には（ステップＳ４０５，Ｎｏ）、PostScript圧縮データの次の行を選択し（ステップＳ４０６）、ステップＳ４０３に移行する。【０１７４】
次に、本実施例２に係る情報処理装置３００の効果について説明する。情報処理装置３００は、PostScript圧縮データに含まれる圧縮されたコマンドおよび座標を、圧縮形式のままで構文解析し、アウトラインを描画する処理を実行する。このため、より多くのPostScript圧縮データを記憶装置上に常駐させ、アウトラインを圧縮形式のまま高速に描画することが可能となる。【０１７５】
次に、上記実施例に示したファイル生成装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２３は、ファイル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１７６】
図２３に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータの入力を受け付ける入力装置５０２と、ディスプレイ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る読み取り装置５０４と、有線または無線ネットワークを介して、外部装置、カメラ等との間でデータの授受を行うインタフェース装置５０５とを有する。コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０６と、ハードディスク装置５０７とを有する。そして、各装置５０１〜５０７は、バス５０８に接続される。【０１７７】
ハードディスク装置５０７は、取得プログラム５０７ａ、抽出プログラム５０７ｂ、符号化プログラム５０７ｃ、転置インデックス生成プログラム５０７ｄ、送信プログラム５０７ｅを有する。ＣＰＵ５０１は、取得プログラム５０７ａ、抽出プログラム５０７ｂ、符号化プログラム５０７ｃ、転置インデックス生成プログラム５０７ｄ、送信プログラム５０７ｅを読み出してＲＡＭ５０６に展開する。【０１７８】
取得プログラム５０７ａは、取得プロセス５０６ａとして機能する。抽出プログラム５０７ｂは、抽出プロセス５０６ｂとして機能する。符号化プログラム５０７ｃは、符号化プロセス５０６ｃとして機能する。転置インデックス生成プログラム５０７ｄは、転置インデックス生成プロセス５０６ｄとして機能する。送信プログラム５０７ｅは、送信プロセス５０６ｅとして機能する。【０１７９】
取得プロセス５０６ａの処理は、取得部１５０ａの処理に対応する。抽出プロセス５０６ｂの処理は、抽出部１５０ｂの処理に対応する。符号化プロセス５０６ｃの処理は、符号化部１５０ｃの処理に対応する。転置インデックス生成プロセス５０６ｄの処理は、転置インデックス生成部１５０ｄの処理に対応する。送信プロセス５０６ｅの処理は、送信部１５０ｅの処理に対応する。【０１８０】
なお、各プログラム５０７ａ〜５０７ｅについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくてもよい。例えば、コンピュータ５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ５００が各プログラム５０７ａ〜５０７ｅを読み出して実行するようにしてもよい。【０１８１】
次に、上記実施例に示した情報処理装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２４は、本実施例１に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１８２】
図２４に示すように、コンピュータ６００は、各種演算処理を実行するＣＰＵ６０１と、ユーザからのデータの入力を受け付ける入力装置６０２と、ディスプレイ６０３とを有する。また、コンピュータ６００は、記憶媒体からプログラム等を読み取る読み取り装置６０４と、有線または無線ネットワークを介して、外部装置との間でデータの授受を行うインタフェース装置６０５とを有する。コンピュータ６００は、各種情報を一時記憶するＲＡＭ６０６と、ハードディスク装置６０７とを有する。そして、各装置６０１〜６０７は、バス６０８に接続される。【０１８３】
ハードディスク装置６０７は、取得プログラム６０７ａ、復元プログラム６０７ｂ、特定プログラム６０７ｃを有する。ＣＰＵ６０１は、取得プログラム６０７ａ、復元プログラム６０７ｂ、特定プログラム６０７ｃを読み出してＲＡＭ６０６に展開する。【０１８４】
取得プログラム６０７ａは、取得プロセス６０６ａとして機能する。復元プログラム６０７ｂは、復元プロセス６０６ｂとして機能する。特定プログラム６０７ｃは、特定プロセス６０６ｃとして機能する。【０１８５】
取得プロセス６０６ａの処理は、取得部２５１の処理に対応する。復元プロセス６０６ｂの処理は、復元部２５２の処理に対応する。特定プロセス６０６ｃの処理は、特定部２５３の処理に対応する。【０１８６】
なお、各プログラム６０７ａ〜６０７ｃについては、必ずしも最初からハードディスク装置６０７に記憶させておかなくてもよい。例えば、コンピュータ６００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ６００が各プログラム６０７ａ〜６０７ｃを読み出して実行するようにしてもよい。【０１８７】
上記実施例に示した情報処理装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２５は、本実施例２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１８８】
図２５に示すように、コンピュータ７００は、各種演算処理を実行するＣＰＵ７０１と、ユーザからのデータの入力を受け付ける入力装置７０２と、ディスプレイ７０３とを有する。また、コンピュータ７００は、記憶媒体からプログラム等を読み取る読み取り装置７０４と、有線または無線ネットワークを介して、外部装置との間でデータの授受を行うインタフェース装置７０５とを有する。コンピュータ７００は、各種情報を一時記憶するＲＡＭ７０６と、ハードディスク装置７０７とを有する。また、コンピュータ７００は、グラフィックカード７１０を有する。グラフィックカード７１０は、演算装置４００に対応する装置である。そして、各装置７０１〜７０７は、バス７０８に接続される。【０１８９】
ハードディスク装置７０７は、取得プログラム７０７ａ、復元プログラム７０７ｂ、特定プログラム７０７ｃを有する。ＣＰＵ７０１は、取得プログラム７０７ａ、復元プログラム７０７ｂ、特定プログラム７０７ｃを読み出してＲＡＭ７０６に展開する。【０１９０】
取得プログラム７０７ａは、取得プロセス７０６ａとして機能する。復元プログラム７０７ｂは、復元プロセス７０６ｂとして機能する。特定プログラム７０７ｃは、特定プロセス７０６ｃとして機能する。【０１９１】
取得プロセス７０６ａの処理は、取得部３５１の処理に対応する。復元プロセス７０６ｂの処理は、復元部３５２の処理に対応する。特定プロセス７０６ｃの処理は、特定部３５３の処理に対応する。【０１９２】
なお、各プログラム７０７ａ〜７０７ｃについては、必ずしも最初からハードディスク装置７０７に記憶させておかなくてもよい。例えば、コンピュータ７００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ７００が各プログラム７０７ａ〜７０７ｃを読み出して実行するようにしてもよい。
【符号の説明】
【０１９３】
１００    ファイル生成装置
１００ａ  カメラ
１００ｂ，２１０，３１０    通信部
１４０，２４０，３４０，４４０    記憶部
１４１    バッファ
１４２    圧縮ファイル
１４３，４４１    ケヤキ木情報
１５０，２５０，３５０，４５０    制御部
１５０ａ，２５１  取得部
１５０ｂ  抽出部
１５０ｃ  符号化部
１５０ｄ  転置インデックス生成部
１５０ｅ  送信部
２００，３００    情報処理装置
２２０，３２０    入力部
２３０，３３０    表示部
２４１，３４１    転置インデックステーブル
２５２，３５２    復元部
２５３，３５３    特定部
４００    演算装置
４５１    解析部
４５２    描画部
４５３    判定部
４４２    PostScriptデータ
【図１】
2019239535.tif 000003
【図２】
2019239535.tif 000004
【図３】
2019239535.tif 000005
【図４】
2019239535.tif 000006
【図５】
2019239535.tif 000007
【図６】
2019239535.tif 000008
【図７】
2019239535.tif 000009
【図８】
2019239535.tif 000010
【図９】
2019239535.tif 000011
【図１０】
2019239535.tif 000012
【図１１】
2019239535.tif 000013
【図１２】
2019239535.tif 000014
【図１３】
2019239535.tif 000015
【図１４】
2019239535.tif 000016
【図１５】
2019239535.tif 000017
【図１６】
2019239535.tif 000018
【図１７】
2019239535.tif 000019
【図１８】
2019239535.tif 000020
【図１９】
2019239535.tif 000021
【図２０】
2019239535.tif 000022
【図２１】
2019239535.tif 000023
【図２２】
2019239535.tif 000024
【図２３】
2019239535.tif 000025
【図２４】
2019239535.tif 000026
【図２５】
2019239535.tif 000027
【手続補正書】
【提出日】令和3年1月6日(2021.1.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが実行する取得方法であって、
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する、
処理を実行することを特徴とする取得方法。
【請求項２】
前記複数の物体それぞれについて、該物体に含まれる要素形状それぞれの描画指示の前記テキスト情報における出現位置を該要素形状に対応付けて記憶する記憶部を参照して、前記複数の物体それぞれについて、生成した前記テキスト情報に含まれる描画指示に対応付けられた出現位置を特定し、
特定した前記出現位置と、生成した前記テキスト情報に含まれる描画指示の該テキスト情報における出現位置との対応関係に基づき、前記類似度が基準を満たす前記テキスト情報を特定する、
ことを特徴とする請求項１に記載の取得方法。
【請求項３】
前記形状の描画指示を含むテキスト情報を基にして、前記描画指示と該描画指示の出現位置とを対応付けた転置インデックスを生成する処理を更に実行し、前記記憶部は、物体毎に、物体に含まれる要素形状それぞれの描画指示と該描画指示の出現位置とを対応付けた転置インデックスを有することを特徴とする請求項２に記載の取得方法。
【請求項４】
前記テキスト情報に含まれる前記描画指示は複数の制御文と複数の座標とを含み、前記テキスト情報に含まれる制御文単位又は座標単位で符号化を行うことで、符号化テキスト情報を生成し、前記符号化テキスト情報に含まれる制御文単位又は座標単位で符号化された符号を順次読み出して解析し、物体の形状を生成する処理を更に実行することを特徴とする請求項１に記載の取得方法。
【請求項５】
コンピュータが実行する生成方法であって、
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、
取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する、
処理を実行することを特徴とする生成方法。
【請求項６】
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する、
処理をコンピュータに実行させることを特徴とする取得プログラム。
【請求項７】
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、
取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出し、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、
生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【請求項８】
撮影装置により撮影された撮影画像を取得すると、取得した前記撮影画像に基づき、該撮影画像に含まれる物体の形状を抽出する抽出部と、
前記形状に基づき、該形状の描画指示を含むテキスト情報を生成する生成部と、
複数の物体それぞれについて、該物体の識別情報を、該物体の描画指示を含むテキスト情報に対応付けて記憶する記憶部を参照して、前記複数の物体のうち、生成した前記テキスト情報に対する類似度が基準を満たすテキスト情報に対応付けられた物体の識別情報を取得する特定部と
を有することを特徴とする情報処理装置。
【請求項９】
撮影画像により撮影された物体の画像データ又は該物体の形状データを取得し、取得した前記画像データ又は前記形状データに基づき、該物体の形状を抽出する抽出部と、
抽出した前記形状に基づき、該形状の描画指示を含むテキスト情報を生成し、生成した前記テキスト情報に基づき、該テキスト情報に含まれる前記描画指示の前記テキスト情報における出現位置を該描画指示に対応付ける情報を生成する生成部と
を有することを特徴とする情報処理装置。
【国際調査報告】
2019239535.tif 000028
2019239535.tif 000029
2019239535.tif 000030