(57)【特許請求の範囲】
【請求項１】
物体に配置されたコードであって、前記物体の識別子である物体識別子と対応付けられたコードである１以上の物体コードと、場所の識別子である場所識別子と対応付けられたコードである場所コードと、が撮影された画像である撮影画像を受け付ける撮影画像受付部と、
前記撮影画像受付部が受け付けた撮影画像内の一以上の物体コードにそれぞれ対応付けられた一以上の物体識別子と、当該撮影画像内の場所コードに対応付けられた場所識別子とを取得する識別子取得部と、
前記識別子取得部が取得した一以上の物体識別子と、当該識別子取得部が取得した場所識別子とを対応付けて出力する識別子出力部とを備え、
前記識別子取得部は、前記撮影画像受付部が受け付けた撮影画像内において、物体コードと、場所コードとを、区別せずにコードを検出し、撮影画像内の検出したコードが配置されている位置に応じて、検出したコードを場所コードと物体コードとに区別し、場所コードと判断されたコードから場所識別子を取得し、物体コードと判断されたコードから物体識別子を取得する情報処理装置。
【請求項２】
前記撮影画像受付部が受け付ける一の撮影画像は、一以上の物体コードと、一の場所コードと、で構成される複数の組が撮影された画像であり、
前記識別子取得部は、前記撮影画像内の物体コードと場所コードとから、前記複数の組の各組毎に、一以上の物体コードと対応付けられた一以上の物体識別子と、一の場所コードと対応付けられた一の場所識別子とを取得し、
前記識別子出力部は、一の撮影画像内の、同じ組に含まれる一以上の物体コードと一の場所コードとから前記識別子取得部がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力する請求項１記載の情報処理装置。
【請求項３】
前記識別子取得部は、前記撮影画像内の複数のコードの相対的な位置から、コードを物体コードと場所コードとに区別する請求項１または請求項２記載の情報処理装置。
【請求項４】
画像受付部と、識別子取得部と、識別子出力部とを備えた情報処理装置を用いて行なわれる情報処理方法であって、
前記撮影画像受付部が、物体に配置されたコードであって、前記物体の識別子である物体識別子と対応付けられたコードである１以上の物体コードと、場所の識別子である場所識別子と対応付けられたコードである場所コードと、が撮影された画像である撮影画像を受け付ける撮影画像受付ステップと、
前記識別子取得部が、前記撮影画像受付ステップで受け付けた撮影画像内の一以上の物体コードにそれぞれ対応付けられた一以上の物体識別子と、当該撮影画像内の場所コードに対応付けられた場所識別子とを取得する識別子取得ステップと、
前記識別子出力部が、前記識別子取得ステップで取得した一以上の物体識別子と、当該識別子取得ステップで取得した場所識別子とを対応付けて出力する識別子出力ステップとを備え、
前記識別子取得ステップは、前記撮影画像受付ステップで受け付けた撮影画像内において、物体コードと、場所コードとを、区別せずにコードを検出し、撮影画像内の検出したコードが配置されている位置に応じて、検出したコードを場所コードと物体コードとに区別し、場所コードと判断されたコードから場所識別子を取得し、物体コードと判断されたコードから物体識別子を取得する情報処理方法。
【請求項５】
コンピュータを、
物体に配置されたコードであって、前記物体の識別子である物体識別子と対応付けられたコードである１以上の物体コードと、場所の識別子である場所識別子と対応付けられたコードである場所コードと、が撮影された画像である撮影画像を受け付ける撮影画像受付部と、
前記撮影画像受付部が受け付けた撮影画像内の一以上の物体コードにそれぞれ対応付けられた一以上の物体識別子と、当該撮影画像内の場所コードに対応付けられた場所識別子とを取得する識別子取得部と、
前記識別子取得部が取得した一以上の物体識別子と、当該識別子取得部が取得した場所識別子とを対応付けて出力する識別子出力部として機能させ、
前記識別子取得部は、前記撮影画像受付部が受け付けた撮影画像内において、物体コードと、場所コードとを、区別せずにコードを検出し、撮影画像内の検出したコードが配置されている位置に応じて、検出したコードを場所コードと物体コードとに区別し、場所コードと判断されたコードから場所識別子を取得し、物体コードと判断されたコードから物体識別子を取得するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物品を管理するための情報を作成する情報処理装置等に関するものである。
【背景技術】
【０００２】
従来の技術として、入庫時にバーコード・リーダーで読み取られた各製品の置場に貼り付けられているバーコードラベルの読み取りデータに基づいて置場情報データベースを構築するとともに、各製品に貼り付けられているバーコードラベルの読み取りデータに基づいて製品情報データベースを構築するものが知られていた。（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−９０１８０号公報（第１頁、第１図等）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術においては、製品や置き場に貼り付けられたバーコードラベルを個別に読み取っていくことで、製品情報データベースや置場情報データベース等を作成していたため、製品等の物品の存在場所を管理するための情報を容易に作成することができない、という課題があった。
【０００５】
本発明は上記のような課題を解消するためになされたものであり、物品の存在場所を管理するための情報を容易に作成することができる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、物体に配置されたコードであって、この物体の識別子である物体識別子と対応付けられたコードである１以上の物体コードと、場所の識別子である場所識別子と対応付けられた表示物と、が撮影された画像である撮影画像を受け付ける撮影画像受付部と、撮影画像受付部が受け付けた撮影画像内の一以上の物体コードとそれぞれ対応付けられた一以上の物体識別子と、撮影画像内の表示物と対応付けられた場所識別子とを取得する識別子取得部と、識別子取得部が取得した一以上の物体識別子と、識別子取得部が取得した場所識別子とを対応付けて出力する識別子出力部とを備えた情報処理装置である。
【０００７】
かかる構成により、物品の存在場所を管理するための情報を容易に作成することができる。
【０００８】
また、本発明の情報処理装置は、前記情報処理装置において、表示物は、場所識別子と対応付けられたコードである場所コードであり、識別子取得部は、撮影画像受付部が受け付けた撮影画像内の場所コードと対応付けた場所識別子を取得する情報処理装置である。
【０００９】
かかる構成により、物品が存在する場所に場所コードを配置することで、物品の存在場所を管理するための情報を容易に作成することができる。また、場所コードを用いることで、場所の読取精度を向上させることができる。
【００１０】
また、本発明の情報処理装置は、前記情報処理装置において、識別子取得部は、撮影画像受付部が受け付けた撮影画像内のコードが、物体コードであることを示す識別子と対応付けられている場合に、コードから物体識別子を取得し、場所コードであることを示す識別子と対応付けられている場合に、コードから場所識別子を取得する情報処理装置である。
【００１１】
かかる構成により、コードを読み取って得られる情報を用いて、物体識別子と場所識別子とをそれぞれ区別して取得することができる。
【００１２】
また、本発明の情報処理装置は、前記情報処理装置において、識別子取得部は、撮影画像受付部が受け付けた撮影画像内のコードが配置されている位置に応じて、コードから場所識別子または物体識別子を取得する情報処理装置である。
【００１３】
かかる構成により、コードの配置されている場所に応じて、物体識別子と場所識別子とをそれぞれ区別して取得することができる。
【００１４】
また、本発明の情報処理装置は、前記情報処理装置において、表示物は、場所識別子を示す文字列を有し、識別子取得部は、撮影画像受付部が受け付けた撮影画像内の文字列を認識して場所識別子を取得する情報処理装置である。
【００１５】
かかる構成により、コードから物体識別子を取得し、文字列から場所識別子とを取得することができ、物体識別子と場所識別子とをそれぞれ区別して取得することができる。
【００１６】
また、本発明の情報処理装置は、前記情報処理装置において、撮影画像受付部が受け付ける一の撮影画像は、一以上の物体コードと、一の表示物と、で構成される複数の組が撮影された画像であり、識別子取得部は、撮影画像内の物体コードと表示物とから、複数の組の各組毎に、一以上の物体コードと対応付けられた一以上の物体識別子と、一の表示物と対応付けられた一の場所識別子とを取得し、識別子出力部は、一の撮影画像内の、同じ組に含まれる一以上の物体コードと一の表示物とから識別子取得部がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力する情報処理装置である。
【００１７】
かかる構成により、組毎に、物体識別子と場所識別子とを対応付けて出力することができる。
【発明の効果】
【００１８】
本発明による情報処理装置等によれば、物品の存在場所を管理するための情報を容易に作成することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態における情報処理装置のブロック図
【図２】同情報処理装置の動作について説明するフローチャート
【図３】同情報処理装置の動作を説明するための書棚の一部を示す模式図（図３（ａ））、及びカラーコードを示す図（図３（ｂ））
【図４】同情報処理装置を説明するための、撮影画像を示す図（図４（ａ））、及びコードと、物体コードと表示物が配置された一以上の領域を示す図（図４（ｂ））
【図５】同情報処理装置の書籍管理表を示す図
【図６】同情報処理装置の場所管理表を示す図
【図７】同情報処理装置の物体場所管理表を示す図
【図８】同情報処理装置を説明するための撮影画像を示す図（図８（ａ））、及び物体コードと文字列の画像とを示す図
【図９】同情報処理装置の物体場所管理表を示す図
【図１０】本発明の実施の形態におけるコンピュータシステムの外観の一例を示す図
【図１１】同コンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００２０】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２１】
（実施の形態）
図１は、本実施の形態における情報処理装置１のブロック図である。
【００２２】
情報処理装置１は、撮影画像受付部１０１、撮影装置１０２、識別子取得部１０３、識別子格納部１０４、識別子出力部１０５を備える。
【００２３】
撮影画像受付部１０１は、一または二以上の物体コードと、場所識別子と対応付けられた表示物と、が撮影された撮影画像を受け付ける。物体コードは、物体に配置されたコードであって、この物体コードが配置された物体の物体識別子と対応付けられたコードである。コードとは、バーコード等の一次元コードや、ＱＲコード（登録商標）等の二次元コードや、カラーコード等である。カラーコードとは、例えば、複数の色の配列が任意の情報と対応づけられたコードである。カラーコードは、例えば、カラーバーコードやカメレオンコード等とも呼ばれる場合がある。コードからは、コードに対応付けられた情報が読み取り可能である。コードと対応づけられた情報は、例えば、コードの識別子である。コードは、例えば、情報を表現するパターン画像と考えてもよい。なお、コードが物体識別子と対応付けられているということは、例えば、コードから読み取られる情報が、物体識別子であってもよく、コードから読み取られるコードの識別子等が、物体識別子と対応付けられていることであっても良い。かかることは、後述するコードが場所識別子と対応付けられている場合においても同様である。なお、カラーコードについては、公知技術であるため、ここでは詳細な説明は省略する。カラーコードについては、例えば、以下の特許文献２を参照されたい。特許文献２：特開２０１０−０３３０３４号公報（第１頁、第１図等）。
【００２４】
物体は、物体コードが配置可能なものであれば、どのような物体であってもよい。例えば、物体は物品である。例えば、物体は、商品や製品である。物体識別子は、物体の識別子である。物体識別子は、例えば物体の名前や名称、物体に割り当てられた製造番号や、商品番号や製品番号等の文字列である。この文字列は、数字や記号等を含んでいてもよい。
【００２５】
物体コードが物体に配置されるということは、例えば、物体コードが物体に貼付されることや、物体コードが物体に印刷、あるいは描画されていることである。物体コードが物体に貼付されるということは、例えば、物体コードが印刷されたシールやシートが、物体に貼付されることであっても良い。
【００２６】
表示物は、例えば、場所識別子と対応付けられた一以上の文字で構成される文字列である。ここでの文字は、数字や記号等を含む概念である。表示物である文字列は場所識別子を示す文字列であってもよい。また、表示物は、画像認識処理により認識可能なマーク等の予め指定された画像であっても良い。また、表示物は、例えば、場所識別子と対応付けられたコードであってもよい。以下、場所識別子と対応付けられたコードを、場所コードと称す。
【００２７】
場所識別子とは、場所の識別子である。場所識別子は、例えば、場所を特定可能な情報である。場所識別子は、物体コードが配置された物体が存在する場所の名称や、場所に割り当てられた文字列である。場所識別子は、座標等であっても良い。
【００２８】
ここでの場所は、例えば、物体が存在する場所である。ここでの場所は、領域であっても一の地点であってもよい。例えば、場所は、物体が存在する棚等の一区画であっても良く、物体が存在する部屋等であっても良い。
【００２９】
表示物は、通常、物体が存在する場所に配置される。表示物が配置されている場所は、通常、表示物と対応付けられた場所識別子が示す場所である。ここでの場所は、例えば、棚やロッカー等の収納庫であっても良い。また、場所は、物体が存在する部屋や倉庫等の床や台であっても良い。また、物体が存在するということは、例えば、物体のつり下げ等も含む概念と考えて良く、物体が存在する場所は、物体がつり下げられるハンガーやフック等や、これらが取り付けられている壁や天井等であっても良い。一の撮影画像内の一以上の表示物に対応付けられた場所識別子が示す場所は、例えば、同じ撮影画像内の一以上の物体コードが配置された物体が存在する場所である。
【００３０】
例えば、表示物は、物体が収納されている棚の天板や仕切板や棚板の前面等に配置される。また、表示物は、物体が存在するエリアの床や壁面、天井、エリア内に設けられたプレートや、標識等に配置されても良い。表示物の配置は、例えば表示物を貼付することであっても良く、表示物を、描画することや筆記することであってもよい。また、表示物を表示した液晶パネル等の表示デバイス（図示せず）を設置することであっても良い。
【００３１】
撮影画像は、例えば、物体コードが配置された一以上の物体と、この一以上の物体が存在する場所の場所識別子と対応付けられた一以上の表示物と、が配置された領域を、物体コードが撮影されるよう撮影した画像である。
【００３２】
撮影画像受付部１０１が受け付ける一の撮影画像は、例えば、一または二以上の物体コードと、一の表示物が撮影された撮影画像でも良く、異なる場所に配置された二以上の物体コードと、この異なる場所の場所識別子と個別に対応付けられた二以上の表示物とが撮影された撮影画像でも良く、一または二以上の物体コードと、同じ場所識別子と対応付けられた二以上の表示物が撮影された撮影画像であってもよい。
【００３３】
撮影画像受付部１０１が受け付ける一の撮影画像は、例えば、一以上の物体コードと、一の表示物と、で構成される複数の組が撮影された画像であってもよい。つまり、一の撮影画像は、一以上の物体コードと、一の表示物と、で構成される組が、複数組撮影されている画像であってもよい。
【００３４】
撮影画像受付部１０１は、例えば、情報処理装置１が有している撮影装置１０２が撮影した撮影画像を受け付ける。なお、撮影画像受付部１０１は、情報処理装置１の外部に設けられた撮影装置１０２と同様の撮影装置（図示せず）や、撮影装置を備えた情報処理装置（図示せず）等が撮影して送信した撮影画像を受信してもよい。また、撮影画像受付部１０１は、図示しない撮影装置等で撮影されて記憶媒体等に蓄積された撮影画像の受け付け等であっても良い。撮影画像は、例えば、一以上の物体コードの画像と、一以上の表示物の画像とを有する撮影装置１０２等で撮影された画像と考えてもよい。なお、以下、本実施の形態においては、撮影画像受付部１０１が、撮影装置１０２が撮影した撮影画像を受け付ける場合を例に挙げて説明する。
【００３５】
撮影画像受付部１０１が受け付ける一の撮影画像は、静止画像であっても良く、動画像であっても良い。また、一の撮影画像は、動画像を構成する一または二以上のフレーム画像であっても良い。撮影画像受付部１０１が受け付ける一の撮影画像は、カラー画像であっても良く、グレースケール画像であっても良く、二値画像であっても良い。ただし、物体コード等がカラーコードである場合、撮影画像はカラー画像である。
【００３６】
ここでの受け付けとは、撮影装置１０２等から入力された情報の受け付けや、図示しない撮影装置等からの有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された撮影画像の受け付けなどを含む概念である。撮影画像受付部１０１は、入力手段や受信手段や読み出し手段等のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３７】
撮影装置１０２は、撮影画像を撮影する。撮影装置１０２は、ＣＣＤやＣＭＯＳ等の撮像素子を備えたスチルカメラやビデオカメラ等のカメラや、ラインセンサ等を備えたスキャナである。なお、撮影画像受付部１０１が、撮影装置１０２以外の装置等で撮影された撮影画像を受け付ける場合、撮影装置１０２は省略してもよい。
【００３８】
識別子取得部１０３は、撮影画像受付部１０１が受け付けた撮影画像内の一または二以上の物体コードにそれぞれ対応付けられた一または二以上の物体識別子と、撮影画像内の表示物に対応付けられた場所識別子とを取得する。
【００３９】
例えば、識別子取得部１０３は、撮影画像内において物体コードを検出し、検出した物体コードに対応付けられた物体識別子を取得する。画像において物体コードを検出し、この物体コードに対応付けられた物体識別子を取得する処理は、静止画像や動画像から一次元コードや二次元コードやカラーコード等を検出し、検出したコードに対応付けられた識別子等の情報を取得する処理等として公知であるため、ここでは詳細な説明は省略する。また、撮影画像内に、複数の物体コードの画像が含まれている場合においては、それぞれの物体コードを検出して、検出した各物体コードに対応する情報を取得するようにすればよい。例えば、一の画像から複数のカラーコードを検出して対応する情報を取得する処理は公知の技術である。かかることは、場所コードに関しても同様である。
【００４０】
また、識別子取得部１０３は、例えば、撮影画像内において表示物を検出し、検出した表示物に対応付けられた場所識別子を取得する。例えば、表示物が、場所コードである場合、上記の物体コードを検出する場合と同様に、識別子取得部１０３は、撮影画像内において場所コードを検出し、検出した場所コードに対応付けられた物体識別子を取得する。また、例えば、表示物が文字列である場合、識別子取得部１０３は、撮影画像内において表示物である文字列の画像を検出し、検出した文字列の画像から文字認識により文字列を取得することで、表示物である文字列に対応する場所識別子を取得しても良い。静止画像や動画像において、文字列の画像を検出し、この画像から文字列を取得する処理等は、ＯＣＲ等の技術として公知であるため、ここでは詳細な説明は省略する。また、例えば、表示物がマーク等の予め指定された画像である場合、識別子取得部１０３は、撮影画像内において表示物であるマーク等の予め指定された画像を、予め指定された一以上の画像や、この一以上の画像から取得された特徴量の情報等を用いて、パターンマッチング等により検出し、検出した画像に対応付けられた場所識別子を取得しても良い。パターンマッチングについては、公知技術であるため、ここでは詳細な説明は省略する。
【００４１】
識別子取得部１０３は、例えば、撮影画像において物体コードと表示物とが区別して検出可能な場合、撮影画像から物体コードと表示物とをそれぞれ区別して検出し、検出した物体コードに対応付けられた物体識別子と、検出した表示物に対応付けられた場所識別子とを取得してもよい。また、識別子取得部１０３は、例えば、撮影画像から、物体コードと表示物とを区別せずに検出して、検出した物体コードと表示物とにそれぞれ対応する識別子を取得して、取得した識別子を、物体識別子と場所識別子とに区別することで、撮影画像内の一または二以上の物体コードとそれぞれ対応付けられた一以上の物体識別子と、撮影画像内の表示物と対応付けられた場所識別子とを取得するようにしても良い。
【００４２】
撮影画像において物体コードと表示物とが区別して検出可能な場合とは、例えば、表示物が、文字列や予め指定された画像である場合である。また、撮影画像において物体コードと表示物とが区別して検出可能な場合とは、例えば、表示物が場所コードである場合であって、物体コードと異なる種類のコードである場合や、表示物が場所コードである場合であって、撮影画像内におけるこの場所コードが配置される位置が物体コードと異なる場合や、場所コードの配置される向きが物体コードが配置される向きと異なるよう配置されている場合である。種類が異なるコードとは、体系が異なるコードや、形状や大きさが異なるコードである。体系が異なるコードとは、例えば、一次元コードと二次元コードとカラーコードのうちの二つの組合せである。形状が異なるコードは、例えば、コードの配置される領域の形状が異なるコードである。形状が異なるコードは、コードが配置されている領域の、認識可能な枠の形状が異なるコードと考えても良い。大きさが異なるコードとは、コード自体の大きさが異なるコードであっても良く、コードに設けられた枠等の大きさが異なるコードであっても良い。撮影画像内に配置される位置が異なるコードとは、例えば、撮影画像内における配置される領域が異なるコードである。異なる領域は、例えば、撮影画像内の予め指定された高さ位置に対して上側の領域と、下側の領域とである。配置される向きが異なるよう配置されたコードとは、例えば、両者が長方形であるコードであって、その長手方向の向きが異なる向きに配置されているコードである。
【００４３】
以下、識別子取得部１０３が、物体識別子と、場所識別子とを取得する処理について、６つの例を挙げて説明する。
【００４４】
（１）表示物が文字列または予め指定された画像である場合
識別子取得部１０３は、例えば、撮影画像受付部１０１が受け付けた撮影画像内において一または二以上の物体コードを検出し、検出した一または二以上の物体コードにそれぞれ対応する一または二以上の物体識別子を取得する。撮影画像内において物体コードを検出することは、撮影画像内において物体コードの画像を検出することと考えてもよい。かかることは、他のコードにおいても同様である。撮影画像内の一または二以上の物体コードとして、例えば、異なる種類のコード、例えば、一次元コードとカラーコードとの組合せ等、が混在していてもよい。この場合、識別子取得部１０３は、それぞれの種類のコードを順次検出して、対応する物体識別子を取得するようにすればよい。
【００４５】
また、表示物が文字列であるとすると、識別子取得部１０３は、撮影画像受付部１０１が受け付けた撮影画像内の文字列を認識して場所識別子を取得する。識別子取得部１０３は、例えば、撮影画像内において、ＯＣＲ等の文字認識技術を用いて、文字列の画像を検出して、文字認識処理を行なって文字列を取得し、この文字列に対応する場所識別子を取得する。文字列に対応する場所識別子を取得することは、認識して取得した文字列が場所識別子の場合、文字列を場所識別子として取得することや、認識して取得した文字列に対応付けられた場所識別子を、図示しない格納部から取得することを含む概念である。なお、表示物が予め指定された画像である場合、パターンマッチングにより、予め指定された一以上の画像を撮影画像内において検出し、検出された予め指定された画像に対応付けられた場所識別子を取得するようにすればよい。
【００４６】
識別子取得部１０３が物体識別子と場所識別子とを取得する順番等は問わない。
【００４７】
（２）表示物が場所コードであり、コードについて取得した識別子から、物体識別子と場所識別子とを区別する場合
識別子取得部１０３は、例えば、撮影画像受付部１０１が受け付けた撮影画像内において二以上のコードを検出し、検出した各コードが、物体コードであることを示す識別子と対応付けられている場合に、コードから物体識別子を取得し、場所コードであることを示す識別子と対応付けられている場合に、コードから場所識別子を取得する。
【００４８】
識別子取得部１０３は、例えば、撮影画像受付部１０１が受け付けた撮影画像内において、二以上のコードを検出する。識別子取得部１０３は、例えば、撮影画像内において、物体コードと、場所コードとを、区別せずに検出する。例えば、識別子取得部１０３は、物体コードとして用いられている種類のコードと、場所コードとして用いられている種類のコードとを、撮影画像内において検出する。例えば、物体コードと、場所コードとが同じ種類のコードである場合、識別子取得部１０３は、この同じ種類のコードを、撮影画像内において検出する。また、物体コードと場所コードとが異なる種類のコードである場合、識別子取得部１０３は異なるそれぞれの種類のコードを検出する。ここでの同じ種類のコードは、二種類以上の同じ種類のコードであっても良い。
【００４９】
識別子取得部１０３は、例えば、検出したコードに対応する識別子をそれぞれ取得し、取得した識別子が、物体コードであることを示す識別子であるか否かを判断する。例えば、予め、識別子内の予め指定された位置、例えば、先頭や、末尾に、物体コードであることを示す文字列（例えば、「０」等の特定の数字等）を配置しておくようにし、取得した識別子内の予め指定された位置にこの文字列が検出された場合に、取得した識別子を物体コードであることを示す識別子であると判断する。なお、ここでの文字列は、一文字も含む概念である。また、物体コードを示す識別子の文字数と、場所コードを示す識別子の文字数が異なる場合、コードから取得した識別子の文字数が物体コードの文字数と一致するか否かを判断し、一致する場合に、この識別子を物体コードの識別子であると判断してもよい。また、取得した識別子が、予め指定された一以上の物体識別子のいずれか一つと一致する場合に、取得した識別子を物体コードであることを示す識別子として判断してもよい。
【００５０】
識別子取得部１０３は、検出したコードが、物体コードであることを示す識別子と対応付けられている場合、この識別子に対応する物体識別子を取得する。例えば、識別子取得部１０３は、この検出した識別子を、物体識別子として取得してもよく、この検出した識別子に対応付けられた物体識別子を、図示しない格納部等から検出により取得しても良い。
【００５１】
また、識別子取得部１０３は、例えば、検出したコードに対応する識別子をそれぞれ取得し、取得した識別子が、場所コードであることを示す識別子であるか否かを判断する。この処理は、例えば、上記の物体コードであることを示す識別子であるか否かを判断する処理において、検出したコードから取得した識別子が、場所コードであることを示す文字列を有するか判断（例えば、識別子の上一桁に「１」等の特定の数字があるか否かを判断）するようにしたり、場所コードを示す識別子の文字数と一致するかを判断するようにしたり、予め指定された一以上の場所識別子のいずれか一つと一致するかを判断するようにすることで、実現可能である。
【００５２】
識別子取得部１０３は、検出したコードが、場所コードであることを示す識別子と対応付けられている場合、この識別子に対応する場所識別子を取得する。例えば、識別子取得部１０３は、この検出した識別子を、場所識別子として取得してもよく、この検出した識別子に対応付けられた場所識別子を、図示しない格納部等から検出により取得しても良い。
【００５３】
なお、物体コードと場所コードしか配置されていない範囲を撮影した場合のように、撮影画像から検出したコードが、物体コードと場所コードとに限られる場合等においては、検出したコードが、物体コードであることを示す識別子と対応付けられていない場合、このコードは、場所コードであると判断できる。このため、このような場合においては、この（２）の処理は、検出した各コードが、物体コードであることを示す識別子と対応付けられている場合に、コードから物体識別子を取得し、物体コードであることを示す識別子と対応付けられていない場合に、コードから場所識別子を取得する処理も含む概念と考えてもよい。
【００５４】
同様に、撮影画像から検出したコードが、物体コードと場所コードとに限られる場合等においては、この（２）の処理は、検出した各コードが、場所コードであることを示す識別子と対応付けられている場合に、コードから場所識別子を取得し、場所コードであることを示す識別子と対応付けられていない場合に、コードから物体識別子を取得する処理も含む概念と考えてもよい。
【００５５】
なお、ここでの処理は、特に、場所コードと物体コードとが同じ種類のコードである場合、例えば、いずれもがカラーコードである場合等、において有効である。
【００５６】
なお、識別子取得部１０３は、一のコードを検出する毎に、このコードに対応する識別子を取得してもよく、全てのコードを検出した後に、各コードに対応する識別子を取得しても良い。
【００５７】
（３）表示物が場所コードであり、撮影画像内のコードが配置される位置により物体コードと場所コードとを識別する場合
識別子取得部１０３は、撮影画像内の二以上のコードが配置されている位置に応じて、この二以上のコードから物体識別子と場所識別子とを取得する。ここでのコードが配置されている位置は、撮影画像に対するコードの配置されている位置と考えても良く、コード間の相対的な位置と考えてもよい。
【００５８】
例えば、識別子取得部１０３は、上記の（２）の場合と同様に撮影画像内において、二以上のコードを検出する。識別子取得部１０３は、例えば、撮影画像内において、物体コードと、場所コードとを、区別せずに検出する。例えば、識別子取得部１０３は、物体コードとして用いられている種類のコードと、場所コードとして用いられている種類のコードとを、撮影画像内において検出する。そして、検出した各コードに対応する識別子を取得する。
【００５９】
識別子取得部１０３は、例えば、検出したコードの配置されている位置に応じて、検出したコードを物体コードと表示物である場所コードに区別する。例えば、識別子取得部１０３は、検出したコードの撮影画像内の位置により、検出したコードを、物体コードと場所コードに区別する。例えば、識別子取得部１０３は、検出したコードのうちの、撮影画像内の予め指定された高さ位置（例えば、撮影画像の底辺を高さの基準とした場合の、撮影画像の高さの３分の１となる高さ位置）以上の領域に位置するコードを物体コードと判断し、予め指定された高さ位置未満の領域に位置するコードを場所コードと判断する。また、撮影画像内において検出されたコードのうちの、撮影画像の最も下辺側に位置するコードや、最も上辺側に位置するコードを、場所コードと判断するようにしても良い。つまり、コードの撮影画像内の相対的な位置から、コードを物体コードと場所コードとに区別しても良い。なお、識別子取得部１０３が物体コードと場所コードとを判断する順番等は問わない。
【００６０】
そして、識別子取得部１０３は、物体コードであると判断されたコードから取得された識別子を物体識別子として取得し、場所コードであると判断されたコードから取得された識別子を場所識別子として取得する。
【００６１】
なお、撮影画像内においてコードを検出した後、検出された各コードが物体コードまたは場所コードのいずれであるかが判断された後に、物体コードから物体識別子を、また、場所コードから場所識別子をそれぞれ取得するようにしても良い。
【００６２】
この処理は、特に、場所コードと物体コードとが同じ種類のコードである場合、例えば、いずれもがカラーコードである場合等、に有効である。
【００６３】
コードの位置とは、例えば、コードの中心や、コードの輪郭の一点の位置である。例えば、コードが矩形である場合、コードの左上や右下等の特定の角の位置である。コードの位置は、例えば、座標で表される。コードの位置は、コードを囲む最小矩形の特定の角の位置であっても良い。かかることは、表示物の位置についても同様である。
【００６４】
（４）表示物が場所コードであり、物体コードと場所コードとが異なるコードである場合
識別子取得部１０３は、例えば、撮影画像受付部１０１が受け付けた撮影画像内において、物体コードと、表示物である場所コードとを、それぞれ検出する。例えば、物体コードと、場所コードとが異なる種類のコードである場合、識別子取得部１０３は、物体コードとして用いられている一または二以上の種類のコードを撮影画像内において検出することで、物体コードを検出し、場所コードとして用いられている一または二以上の種類のコードを撮影画像内において検出することで、場所コードを検出する。例えば、物体コードと場所コードとが異なる体系のコード、具体的には、物体コードがカラーコードであり、場所コードがバーコードである場合、撮影画像からカラーコードを検出することで物体コードを検出し、撮影画像からバーコードを検出することで場所コードを検出する。そして、識別子取得部１０３は、物体コードに対応する物体識別子を取得し、場所コードに対応する場所識別子を取得する。
【００６５】
物体コードと場所コードとが異なる形状のコード（例えば、円形形状のコードと、矩形形状のコード等）である場合、識別子取得部１０３は、例えば、撮影画像内において、物体コードの形状と、場所コードの形状とを、それぞれパターンマッチングで検出し、検出された物体コードの形状を有するコードから物体識別子を取得し、検出された場所コードの形状を有するコードから場所識別子を取得するようにすればよい。
【００６６】
また、物体コードと場所コードとの大きさが異なる場合、識別子取得部１０３は、例えば、撮影画像において検出したコード同士の大きさを比較することで、検出したコードを大きさが大きいものと小さいものとの二つに分け、予め決められた物体コードと場所コードとの大きさの違いから、二つに分けたコードの一方を物体コード、他方を場所コードに判断し、判断した物体コードから物体識別子を取得し、場所コードから場所識別子を取得するようにしてもよい。
【００６７】
識別子取得部１０３が物体コードと場所コードとを検出する順番等は問わない。また、識別子取得部１０３は、一の物体コードを検出する毎に、このコードに対応する物体識別子を取得し、一の場所コードを検出する毎に、このコードに対応する場所識別子を取得してもよく、全ての物体コードを検出した後に、各コードに対応する物体識別子を取得し、全ての場所コードを検出した後に、各コードに対応する場所識別子を取得しても良い。
【００６８】
（５）表示物が場所コードであり、物体コードと場所コードとの配置される向きが異なる場合
識別子取得部１０３は、撮影画像受付部１０１が受け付けた撮影画像内において、二以上のコードを検出する。検出するコードは、物体コード及び場所コードとして用いられる一の種類のコードであることが好ましい。そして、識別子取得部１０３は、例えば、撮影画像内において検出した各コードの向き（例えば、縦長となるよう配置されているか、横長となるよう配置されているか等）を示す情報を取得する。向きを示す情報は、例えば、検出されたコードを囲む最小矩形の辺の傾き（ただし、０から９０度までの傾きを有する辺）やベクトル等である。向きを示す情報は、検出されたコードに対して設定される予め指定された線分の傾き等であっても良い。また、検出されるコードが長方形である場合、その長辺の傾きやベクトル等である。また、検出されるコードが円形である場合、そのコードの読み出し開始位置と、コードの円形の中心とを結ぶ直線の傾きやベクトル等である。そして、その傾きが、異なる第一の閾値と、第二の閾値とのいずれに近いかによって、コードを物体コードと、場所コードとに区別し、物体コードから物体識別子を取得し、場所コードから場所識別子を取得する。例えば、第一の閾値（例えば、０度等）に近いコードから物体識別子を取得し、第二の識別子（例えば、９０度等）に近いコードから場所識別子を取得する。なお、予めコードを検出した時点で、コードに対応する識別子を取得しておくようにし、一のコードが物体コードと判断された場合、このコードから取得した識別子を物体識別子として取得し、一のコードが場所コードと判断された場合、このコードから取得した識別子を場所識別子として取得するようにしてもよい。
【００６９】
（６）一の撮影画像が、一以上の物体コードと一の表示物とを有する組が複数組撮影された画像である場合
上記の（１）から（５）の処理は、例えば、撮影画像受付部１０１が受け付ける一の撮影画像が、一以上の物体コードと、一の場所識別子と対応付けられた一以上の表示物が撮影された画像である場合において、特に好ましい処理であるが、撮影画像受付部１０１が受け付ける一の撮影画像が、一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像である場合、識別子取得部１０３は、例えば、撮影画像内の物体コードと表示物とから、複数の組の各組毎に、一以上の物体コードと対応付けられた一以上の物体識別子と、一の表示物と対応付けられた一の場所識別子とを取得するようにしてもよい。
【００７０】
例えば、識別子取得部１０３は、撮影画像受付部１０１が受け付けた一の撮影画像において、上記の（１）から（５）等の場合と同様に、物体コードと表示物とを検出する。更に、識別子取得部１０３は、この撮影画像内において、検出された物体コードと表示物との少なくとも一部が配置された複数の領域を検出する。そして、複数の領域のそれぞれに配置されている一以上の物体コードや表示物の組毎に、一以上の物体コードに対応する物体識別子と、表示物に対応する場所識別子とを取得する。これにより、識別子取得部１０３は、撮影画像内の物体コードと表示物とから、物体コードと表示物とで構成される複数の組の各組毎に、物体識別子と、場所識別子とを取得することができる。
【００７１】
例えば、識別子取得部１０３は、例えば、一以上の物体コードと表示物との組がそれぞれ配置されている複数の領域を検出する。複数の領域を構成する各領域は、例えば、撮影画像内を縦方向や横方向や斜め方向に分割する直線や曲線の輪郭を有する画像や、撮影画像内を縦方向や横方向や斜め方向に伸びるストライプ形状等の予め指定された形状や予め指定された色や図柄を有する画像等で囲まれた領域や、この輪郭と撮影画像の一以上の辺で囲まれた領域である。
【００７２】
例えば、識別子取得部１０３は、撮影画像においてパターンマッチングや、指定された色の領域の検出等を行なって、上記のような画像を検出し、検出された一以上の画像で区切られた、あるいは一以上の画像で囲まれた領域を検出する。また、例えば、ストライプ状に伸びる画像を検出した場合、この画像が配置されている領域をストライプの伸びる方向に延長した領域で、撮影画像を区切るようにしてもよい。撮影画像内の、これらの画像で区切られた、あるいは囲まれた領域は、画像の輪郭で区切られた、あるいは囲まれた領域と考えてもよい。輪郭は、例えば、画像について輪郭抽出を行なうことで取得可能である。また、識別子取得部１０３は、通常の画像処理において一般的な、隣接する画素間の値（例えば、輝度値や色相値等）に関する値の差等を利用した領域検出等により、一または二以上の領域を検出するようにしても良い。領域検出は、輪郭抽出により領域を検出する処理と考えてもよい。そして、検出した各領域に配置されている一以上の物体コードや表示物の組毎に、一以上の物体コードに対応する物体識別子と、表示物に対応する場所識別子とを取得する。
【００７３】
領域を検出するということは、例えば、領域の輪郭の情報や、領域内に位置する複数の画素の座標等の情報を取得することである。例えば、上記の撮影画像を縦方向に伸びるストライプ状の画像は、物品が収納される棚の仕切板の前面部分に相当する画像であり、このような仕切板の画像の輪郭によって縦方向に分割された複数の領域であって、物体コードや表示物をそれぞれ有する領域が、識別子取得部１０３が検出する複数の領域である。
【００７４】
識別子取得部１０３は、上記のような予め指定された画像を検出せずに、撮影画像内において輝度値の差等を用いて輪郭抽出等を行なうことで、抽出された輪郭で囲まれた一または二以上の領域を検出し、検出した輪郭のうちの、物体コードや表示物を含む領域を、上記の複数の領域として検出しても良い。
【００７５】
なお、識別子取得部１０３は、上記後同様の処理により、撮影画像において物体コードを含む一または二以上の領域を検出し、それぞれの領域に配置される物体コードと、それぞれの領域に対して予め指定された位置（例えば、下側や上側等）に配置されている表示物とを、上述した一以上の物体コードと一の表示物との組として検出するようにしても良い。
【００７６】
なお、輪郭抽出や画像の形状等の検出を行なう際には、適宜、二値化等の処理を撮影画像に対して行なっても良い。
【００７７】
なお、表示物が場所コードである場合等において、上記の（２）の場合等と同様に、撮影画像においてコードを検出した後に、予め撮影画像内において複数の領域を検出し、検出した各領域毎に、上記の（２）〜（５）と同様に、領域に含まれるコードから物体識別子と場所識別子を取得するようにしてもよい。また、予め撮影画像内において複数の領域を検出した後、検出した撮影画像内の各領域毎に、上記の（２）の場合等と同様に、領域内に配置されているコードを検出し、検出したコードから物体識別子と場所識別子を取得するようにしてもよい。
【００７８】
また、識別子取得部１０３は、以下のように、撮影画像内における物体コードと表示物との距離を用いて、一以上の物体コードと一の表示物とを有する組ごとに、物体識別子と場所識別子とを取得するようにしてもよい。
【００７９】
例えば、識別子取得部１０３は、撮影画像受付部１０１が受け付けた一の撮影画像において、上記の（１）から（５）等の場合と同様に、物体コードと、場所コード等の表示物とを検出し、撮影画像において、複数の表示物が検出された場合に、撮影画像内の各物体コードについて、各表示物までの撮影画像上の距離を算出し、距離が最も近い表示物を、各物体コードと同じ組に属する表示物と考えるようにして、撮影画像から検出された二以上の表示物のそれぞれについて、表示物に対応する一の場所識別子と、表示物と同じ組に属する一以上の物品コードにそれぞれ対応する一以上の物品識別子とを取得するようにしてもよい。
【００８０】
なお、必要に応じて、識別子取得部１０３は、物体識別子が取得されたコードを物体コード、場所コードが取得されたコードを場所コードと判断するようにしてもよい。また、識別子取得部１０３は、一の物品コードに対して配置される方向が、予め指定された方向、例えば、下方向や上方向である場所コード等の表示物のうちの、この物品コードに対する距離が最も近い表示物を、この一の物品コードと同じ組に属する表示物と判断するようにしてもよい。
【００８１】
ここでの、撮影画像内における物体コードと表示物との距離とは、例えば、物体コードの位置と表示物の位置との間の距離である。例えば、物体コードの表示物との距離とは、例えば、物体コードと表示物とのそれぞれ位置を示す座標間の距離である。
【００８２】
なお、上述した一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像とは、一以上の物体コードと一の表示物とを有する組が複数組撮影された画像と考えてもよい。また、ここでの異なる組に属する表示物は、異なる場所識別子と対応付けられた表示物であることが好ましいが、同じ場所識別子と対応付けられていても良い。
【００８３】
識別子格納部１０４には、一以上の物体識別子と場所識別子とが対応付けられて格納される。例えば、識別子格納部１０４には、対応付けられた物体識別子と場所識別子とを有する情報が格納される。場所識別子と、この場所識別子と対応付けられた物体識別子は、例えば、後述する識別子出力部１０５により、識別子格納部１０４に蓄積される。
【００８４】
識別子格納部１０４は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
【００８５】
識別子出力部１０５は、識別子取得部１０３が撮影画像から取得した一以上の物体識別子と、識別子取得部１０３が取得した場所識別子とを対応付けて出力する。識別子出力部１０５は、例えば、識別子取得部１０３が撮影画像から取得した一以上の物体識別子のそれぞれに対して、同じ撮影画像から取得した一の場所識別子を対応付けて出力する。
【００８６】
例えば、撮影画像受付部１０１が受け付ける一の撮影画像が、一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像である場合においては、識別子出力部１０５は、一の撮影画像内の、同じ組に含まれる一以上の物体コードと一の表示物とから識別子取得部１０３がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力するようにしてもよい。例えば、識別子出力部１０５は、識別子出力部１０５は、一の撮影画像内の、複数の組のうちの全ての組、あるいは一部の組にそれぞれ含まれる一以上の物体コードと一の表示物とから識別子取得部１０３がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力するようにしてもよい。なお、例えば、二以上の物体識別子と、一の場所識別子と、を対応付けて出力するということは、二以上の物体識別子の組と、一の場所識別子とを有する一の情報を出力することであってもよく、二以上の物体識別子のそれぞれと、一の場所識別子とを有する二以上の情報を取得することであってもよい。
【００８７】
なお、識別子出力部１０５は、識別子格納部１０４に対応付けて格納された一以上の物体識別子と場所識別子とを出力してもよく、このような出力も、識別子取得部１０３が取得した物体識別子と場所識別子とを対応付けて出力することと考えてもよい。
【００８８】
ここでの出力は、通常、記録媒体等への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。また、識別子出力部１０５は二以上の異なる出力、例えば、蓄積と、送信や、表示等を適宜行なっても良い。
【００８９】
例えば、識別子出力部１０５は、撮影画像から取得した一以上の物体識別子と、識別子取得部１０３が取得した場所識別子とを対応付けて、識別子格納部１０４に蓄積してもよい。なお、同じ物体識別子と場所識別子との組合わせが既に蓄積されている場合には、重複を防ぐため、蓄積しなくてもよい。
【００９０】
次に、情報処理装置１の動作の一例について図２のフローチャートを用いて説明する。
【００９１】
（ステップＳ１０１）撮影装置１０２は、物体コードと表示物との撮影を行なうか否かを判断する。例えば、撮影装置１０２は、図示しない受付部等が、入力デバイス等を介して撮影を行なう指示をユーザ等から受け付けた場合に、撮影を行なうと判断する。撮影を行なう場合、撮影装置１０２は、物体コードと表示物との撮影を行なって撮影画像を取得し、取得した撮影画像を撮影画像受付部１０１に出力して、ステップＳ１０２に進む。撮影を行なわない場合、ステップＳ１０１に戻る。
【００９２】
（ステップＳ１０２）撮影画像受付部１０１は、ステップＳ１０１で撮影された撮影画像を受け付ける。
【００９３】
（ステップＳ１０３）識別子取得部１０３は、ステップＳ１０２で受け付けた撮影画像において物体コードと表示物を検出する。表示物が文字列や予め指定された画像である場合、識別子取得部１０３は、例えば、物体コードの検出と、表示物の検出とをそれぞれ個別に行なう。表示物が場所コードであって、物体コードと同じ種類のコードである場合、識別子取得部１０３は、例えば、物体コードと場所コードである表示物とを区別せずに検出する。また、表示物が場所コードであって、物体コードと異なる種類のコードである場合、識別子取得部１０３は、例えば、物体コードの検出と、表示物の検出とをそれぞれ個別に行なう。
【００９４】
（ステップＳ１０４）識別子取得部１０３は、ステップＳ１０２で受け付けた撮影画像において、物体コードと表示物とが配置された一以上の領域を検出する。例えば、撮影画像において、予め指定された色や形状の画像を検出し、その画像で区切られた二以上の領域を検出する。更に、検出した各領域に、ステップＳ１０３で検出した物体コードと表示物とが含まれているか否かを判断し、含まれている領域を物体コードや表示物が配置された一以上の領域検出する。このような画像が検出されない場合、撮影画像全体を一の領域として検出しても良い。なお、物体コードと表示物を区別せずに検出した場合は、検出されたコードが含まれている領域を検出するようにしてもよい。また、この場合、識別子取得部１０３は、物体コードと、表示物である場所コードとの一方しか含まれていない領域も結果的に検出してもよい。
【００９５】
（ステップＳ１０５）識別子取得部１０３は、ステップＳ１０４で検出した一以上の領域毎に、物体識別子及び場所識別子とを取得する。例えば、ステップＳ１０３において、場所コードと表示物とを区別して検出した場合、各領域の物体コードから物体識別子を取得し、表示物から場所識別子を取得する。また、場所コードと表示物である場所コードとを区別して検出していない場合、検出されたコードが物体コードであることを示す識別子と対応付けられている場合、検出されたコードから物体識別子を取得し、検出されたコードが場所コードであることを示す識別子と対応付けられている場合、検出されたコードから場所識別子を取得する。また、場所コードと表示物である場所コードとを区別して検出していない場合、検出されたコードの位置に応じて、検出されたコードから物体識別子または場所識別子を取得するようにしてもよい。
【００９６】
（ステップＳ１０６）識別子出力部１０５は、ステップＳ１０５において、各領域について取得された物体識別子と場所識別子とを対応付けて、識別子格納部１０４に蓄積する。
【００９７】
なお、図２においては、識別子出力部１０５が、物体識別子と場所識別子とを対応付けて蓄積する場合について説明したが、識別子出力部１０５は、蓄積以外の出力を行なっても良い。また、識別子出力部１０５は、識別子格納部１０４に対応付けて蓄積された物体識別子と場所識別子との少なくとも一以上を出力するようにしてもよい。
【００９８】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００９９】
以下、本実施の形態における情報処理装置１の具体的な動作について例を挙げて説明する。
【０１００】
（具体例１）
ここでは、上記の（２）及び（６）で説明したような処理により、物体識別子と場所識別子とを取得する場合を例に挙げて説明する。
【０１０１】
図３は、情報処理装置１の動作を説明するための、複数の物体である複数の書籍３１が収納されている書棚３０の一部を示す模式図（図３（ａ））、及びカラーコードの一例を示す図（図３（ｂ））である。
【０１０２】
各書籍３１の背表紙には、物体コード３０１がそれぞれ貼付されているものとする。物体コード３０１としては、ここでは、図３（ｂ）に示すようなカラーコードが用いられる。このカラーコードは、複数の色が、マトリクス上に配列されたコードである。例えば、このカラーコードは、カメレオンコードとも呼ばれる。物体コード３０１から読み出される識別子が、ここでは、物体識別子であるとする。各書籍３１に貼付されている物体コード３０１は、ここでは、例えば、互いに異なる物体識別子と対応付けられているものとする。
【０１０３】
書棚３０の棚板３３の前面には、表示物である場所コード３０２が貼付されているものとする。場所コード３０２は、物体コード３０１と同様のカラーコード、つまり、図３（ｂ）に示すようなカラーコードであるとする。各場所コード３０２は、貼付されている棚板３３上に収納されている書籍３１の場所を示す場所識別子と対応付けられているものとする。仕切板３２で区切られた範囲内の棚板３３の前面に貼付されている場所コード３０２は、この仕切板３２で区切られた範囲内の棚板３３上に収納されている書籍の場所を示す場所識別子と対応付けられているものとする。仕切板３２の前面には、ここでは、一例として、書棚３０の他の部分の前面とは異なる色、例えば、オレンジ色で塗装されているものとする。この色は、ここでは、カラーコードに用いられていない色であるとする。また、棚板３３の前面の色とも異なる色であるとする。なお、この色は、カラーコードに利用されていない色であればよい。
【０１０４】
ユーザが、情報処理装置１の撮影装置１０２を用いて、図３（ａ）に示した書棚３０の一部を、前面側から撮影したとする。撮影した画像は、カラーの静止画像であるとする。
【０１０５】
図４は、撮影装置１０２が、撮影して取得した撮影画像を示す図（図４（ａ））、及び撮影画像において検出されたコードと、物体コードと表示物が配置された一以上の領域を示す図（図４（ｂ））である。
【０１０６】
撮影装置１０２が図４（ａ）に示すような撮影画像４０を取得すると、撮影画像受付部１０１は、この撮影画像を撮影装置１０２から受け付ける。
【０１０７】
識別子取得部１０３は、撮影画像受付部１０１が受け付けた撮影画像、即ち、図４（ａ）に示した撮影画像４０において、カラーコードを検出する。ここでは、図４（ｂ）に示すように、複数のカラーコード４０１ａ〜４０１ｉを検出したとする。ここでは、物体コード３０１と場所コード３０２とが、同じカラーコードであり、これらが区別されずに検出されるものとする。同じ画像から複数のカラーコードを検出する処理は、上述した特許文献２等に開示されているように公知の技術であるため、ここでは詳細な説明は省略する。
【０１０８】
識別子取得部１０３は、更に、図４（ａ）に示した撮影画像４０において、仕切板３２を検出する。ここでは、撮影画像において、仕切板３２の前面の色であるオレンジ色の画像が配置された領域を検出することで、仕切板３２を検出する。そして、検出した領域を上下方向に、撮影画像４０の上下端に達するまで拡大させた領域を撮影画像４０を区切るための領域として検出し、撮影画像４０内において、この領域で区切られた複数の領域を検出する。ここでは、図４（ｂ）に示すように、仕切板３２が配置されている領域を拡大した領域４０２が検出され、この領域で区切られた第一の領域４０３と、第二の領域４０４とが、撮影画像内で検出されたとする。
【０１０９】
なお、識別子取得部１０３は、オレンジ色の領域を検出する代わりに縦方向に伸びるストライプ形状を有する画像が配置された領域を検出するようにしてもよい。この場合、仕切板３２の色は、どのような色であっても良い。
【０１１０】
識別子取得部１０３は、第一の領域４０３と、第二の領域４０４との領域内にそれぞれ上記で検出されたカラーコードのうちの二以上が配置されているか否かを判断する。ここでは、配置されていたとすると、識別子取得部１０３は、この第一の領域４０３と、第二の領域４０４との両方が、物体コード３０１と、表示物である場所コード３０２とが配置されている領域であると判断して、それぞれの領域を示す情報、例えば輪郭の情報を取得する。二以上のカラーコードが検出されなかった場合、その領域の情報は取得しない。
【０１１１】
図５は、物体識別子と、この物体識別子に対応する書籍の識別子である書籍識別子とを対応付けて管理する書籍管理表である。書籍管理表は、「物体ＩＤ」と、「書籍ＩＤ」という属性を有している。「物体ＩＤ」は、物体識別子であり、ここでは、一例として物体コードから読み取られる識別子が、物体識別子であるとする。「書籍ＩＤ」は、書籍識別子であり、ここでは、書籍に割り当てられた国際標準図書番号であるとする。ただし、書籍識別子は、書籍のタイトル等の書籍を特定可能な情報であればよい。
【０１１２】
図６は、場所識別子と、この場所識別子に対応する書籍が存在する場所を示す情報との対応関係を管理する場所管理表である。場所管理表は、「場所ＩＤ」と、「場所情報」という属性を有している。「場所ＩＤ」は、場所識別子であり、ここでは一例として、場所コードから読み取られる識別子が場所識別子であるとする。「場所情報」は、物体である書籍３１が存在する場所を示す情報であり、ここでは、複数の書棚３０にそれぞれ割り当てられた「Ａ」から「Ｐ」までの記号のいずれかと、各書棚３０内において設定された複数の領域に順番に割り当てられた数値とを組み合わせた情報であるとする。
【０１１３】
識別子取得部１０３は、上記で検出したカラーコードのうちの、第一の領域４０３内において検出されたカラーコード４０１ａ〜４０１ｄ，及び４０１ｈにそれぞれ対応する識別子を取得する。カラーコードから、カラーコードに対応付けられた識別子を取得する処理は公知であるため、ここでは説明を省略する。そして、各カラーコードから取得した識別子について、図５の書籍管理表の「物体ＩＤ」の属性値のいずれかと一致するものがあるか否かを順次判断し、一致する識別子を物体識別子として取得する。例えば、カラーコード４０１ａ、４０１ｂ、４０１ｃ、４０１ｄからそれぞれ取得した識別子「１１２０２２４１」、「１１２０２２４２」、「１１２０２２４３」、「１１２０２２４４」が、図５の書籍管理表の「物体ＩＤ」の属性値のいずれか一つと一致していたとすると、識別子取得部１０３は、これらの識別子を、物体識別子として取得し、図示しない記憶媒体等に一時記憶する。
【０１１４】
また、識別子取得部１０３は、各カラーコードから取得した識別子について、図６の場所管理表の「場所ＩＤ」の属性値のいずれかと一致するものがあるか否かを順次判断し、一致する識別子を場所識別子として取得する。例えば、カラーコード４０１ｈから取得した識別子「１０１１５０１３」が、図５の場所管理表の「場所ＩＤ」の属性値の一つと一致したとすると、識別子取得部１０３は、この識別子を、場所識別子として取得し、図示しない記憶媒体等に一時記憶する。
【０１１５】
そして、識別子出力部１０５は、識別子取得部１０３が第一の領域４０３について取得した複数の物体識別子を、この第一の領域４０３について取得した一の物体識別子と対応付けて、識別子格納部１０４に蓄積する。
【０１１６】
同様に、識別子取得部１０３は、第二の領域４０４内において検出されたカラーコード４０１ｅ〜４０１ｇ、及び４０１ｉについても、それぞれ識別子を取得し、図５の書籍管理表の「物体ＩＤ」の属性値のいずれかと一致する識別子を、物体識別子として取得し、図６の場所管理表の「物体ＩＤ」の属性値のいずれかと一致する識別子を、場所識別子として取得する。
【０１１７】
そして、識別子出力部１０５は、識別子取得部１０３が第二の領域４０４について取得した複数の物体識別子を、この第二の領域４０４について取得した一の物体識別子と対応付けて、識別子格納部１０４に蓄積する。
【０１１８】
図７は、識別子格納部１０４に対応付けて格納されている物体識別子と、場所識別子とを管理する物体場所管理表である。物体場所管理表の「物体ＩＤ」及び「場所ＩＤ」は、図５及び図６の「物体ＩＤ」と「場所ＩＤ」に対応している。
【０１１９】
このようにして、一の撮影画像を用いて書籍３１に貼付された物体コードの物体識別子と、書籍３１の存在場所である棚３０に貼付された場所識別子と、を対応付けることができ、物体である書籍３１と、その存在場所とを対応付ける情報を容易に取得することが可能となる。
【０１２０】
（具体例２）
なお、上記具体例１においては、各領域から検出されたコードから取得した識別子が、物体コードであることを示す識別子であるか、場所コードであることを示す識別子であるかによって（具体的には、物体識別子であるか場所識別子であるかによって）、各コードから物体識別子または場所識別子を取得するようにした場合について説明したが、この具体例においては、各領域から検出されたコードの位置によって、各コードから物体識別子または場所識別子を取得する例について説明する。
【０１２１】
撮影画像から、カラーコードを検出し、第一の領域４０３及び第二の領域４０４を検出するまでは、具体例１と同様である。
【０１２２】
識別子取得部１０３は、第一の領域４０３において検出されたカラーコードにおいて、撮影画像内において最も下方に位置するカラーコードを検出する。カラーコードの位置としては、例えば、検出されたカラーコードの最も下の位置（座標）を用いる。例えば、図４（ｂ）においては、カラーコード４０１ｈが、最も下方に位置するカラーコードとして検出される。そして、この最も下方に位置するカラーコード４０１ｈから取得した識別子「１０１１５０１３」を場所識別子として取得する。また、他のカラーコード４０１ａ〜カラーコード４０１ｄからそれぞれ取得した識別子を物体識別子として取得する。
【０１２３】
そして、識別子出力部１０５は、識別子取得部１０３が第一の領域４０３について取得した複数の物体識別子を、この第一の領域４０３について取得した一の物体識別子と対応付けて、識別子格納部１０４に蓄積する。
【０１２４】
そして、同様の処理を、第二の領域４０４において検出されたカラーコードについても行なう。
【０１２５】
このようにして、カラーコードの識別子を、物体識別子や場所識別子と比較する処理を省略することができる。
【０１２６】
（具体例３）
この具体例においては、表示物が、場所識別子を示す文字列である場合について説明する。なお、ここでは、図６の「場所情報」の属性値である文字列を、場所識別子として用いる例について説明する。
【０１２７】
図８は、図３に示した書棚において、場所コードの代わりに場所識別子を示す文字列８０２を配置した書棚を、撮影装置１０２で撮影した撮影画像８０を示す図（図８（ａ））、及び撮影画像において検出された物体コード８０１ａ〜８０１ｇ、及び撮影画像８０において検出された文字列の画像８０１ｈ及び８０１ｉを示す図である。
【０１２８】
例えば、図３に示した書棚において、場所コードの代わりに場所識別子を示す文字列８０２を配置した書棚を、撮影装置１０２を用いて撮影して、図８（ａ）に示すような撮影画像８０を取得したとする。
【０１２９】
撮影画像受付部１０１は、撮影装置１０２から図８（ａ）に示すような撮影画像８０を受け付ける。
【０１３０】
識別子取得部１０３は、撮影画像受付部１０１が受け付けた撮影画像８０において、カラーコードを検出することで、カラーコードである物体コード８０１ａ〜８０１ｇを検出し、各物体コードに対応する物体識別子を取得する。また、識別子取得部１０３は、撮影画像８０において、ＯＣＲ等の文字認識処理を行なうことで、文字列の画像８０１ｈ及び８０１ｉを検出し、それぞれに対応する文字列を取得する。例えば、画像８０１ｈから文字列「Ａ４」を取得し、画像８０１ｉから文字列「Ａ５」を取得する。
【０１３１】
また、識別子取得部１０３は、上記の具体例１と同様に撮影画像８０において、第一の領域４０３と、第二の領域４０４とを検出する。
【０１３２】
識別子取得部１０３は、第一の領域４０３内に位置する物体コード８０１ａ〜８０１ｄから取得した物体識別子と、第一の領域４０３内に位置する文字列の画像８０１ｈから取得した文字列「Ａ４」とを取得し、識別子出力部１０５は、これらを対応付けて識別子格納部１０４に蓄積する。
【０１３３】
同様に、識別子取得部１０３は、第一の領域４０３内に位置する物体コード８０１ｅ〜８０１ｇから取得した物体識別子と、第一の領域４０３内に位置する文字列の画像８０１ｉから取得した文字列「Ａ５」とを取得し、識別子出力部１０５は、これらを対応付けて識別子格納部１０４に蓄積する。
【０１３４】
図９は、識別子格納部１０４に対応付けて格納されている物体識別子と、場所識別子とを管理する物体場所管理表である。物体場所管理表の「物体ＩＤ」は、場所コードから読み出された場所識別子であり、「場所ＩＤ」は、文字列の画像から文字認識により取得された場所識別子である。
【０１３５】
この処理の場合、撮影画像において検出したコードから、物体識別子と場所識別子とのいずれが取得できるかを判断する処理等が不要となる。
【０１３６】
（具体例４）
この具体例４においては、上記具体例３において、第一の領域４０３と第二の領域４０４とを検出することで、それぞれの領域に含まれる物体コードと表示物の組毎に一以上の物体識別子と場所識別子との組を取得する代わりに、各物体コードと表示物との距離により、一以上の物体コードと表示物との組を検出して、この組について一以上の物体識別子と場所識別子との組を取得するようにしたものである。
【０１３７】
識別子取得部１０３が、図８（ａ）に示す撮影画像８０から、カラーコードである物体コード８０１ａ〜８０１ｇを検出して各物体コードに対応する物体識別子を取得し、ＯＣＲ等の文字認識処理を行なうことで、表示物である文字列の画像８０１ｈ及び８０１ｉを検出してそれぞれに対応する文字列を取得する処理は、上記具体例３と同様である。
【０１３８】
識別子取得部１０３は、撮影画像８０において検出した各物体コード８０１ａ〜８０１ｇのそれぞれについて、撮影画像８０内において最も近くに位置する文字列の画像を、上記で検出した文字列の画像８０１ｈ及び８０１ｉの中から検出する。例えば、物体コード８０１ａ〜８０１ｄに最も近い文字列の画像として、画像８０１ｈを検出したとする。また、物体コード８０１ｅ〜８０１ｇに最も近い文字列の画像として、画像８０１ｉを検出したとする。
【０１３９】
識別子出力部１０５は、各物体コードから取得した物体識別子と、各物体コードに近い文字列の画像から取得した場所識別子とを対応付けて、識別子格納部１０４に蓄積していく。例えば、物体コード８０１ａについて取得した物体識別子「１１２０２２４１」と、文字列の画像８０１ｈから取得した「Ａ４」とを対応付けて蓄積する。また、物体コード８０１ｂについて取得した物体識別子「１１２０２２４２」と、文字列の画像８０１ｈから取得した「Ａ４」とを対応付けて蓄積する。また、物体コード８０１ｅについて取得した物体識別子「１１２０２２４５」と、文字列の画像８０１ｈから取得した「Ａ５」とを対応付けて蓄積する。このようにして、図９と同様の物体場所管理表を得ることができる。
【０１４０】
このように、本具体例においても、結果的に、撮影画像内の一の表示物と、この表示物が最も近い表示物である同じ撮影画像内の一以上の物体コードと、の組毎に一以上の表示識別子と一の物体識別子とを取得し、出力（ここでは蓄積）することができる。また、一以上の物体コードと場所コードとの組が配置されている領域を検出することなく、、一以上の物体コードと場所コードとの複数の組のそれぞれから、物体識別子と場所識別子との組を取得することができる。
【０１４１】
以上、本実施の形態によれば、物品の存在場所を管理するための情報を容易に作成することができる。例えば、物体コードが配置された物体（例えば、書籍）を、場所コードが配置された場所に存在する状態で撮影することで、物体の物体識別子と、この物体が存在する場所の場所識別子とを対応付けることが可能となる。
【０１４２】
なお、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１４３】
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
【０１４４】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部（例えば、ハードディスクやメモリ等の記録媒体）にアクセスしながらプログラムを実行してもよい。
【０１４５】
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、物体に配置されたコードであって、前記物体の識別子である物体識別子と対応付けられたコードである１以上の物体コードと、場所の識別子である場所識別子と対応付けられた表示物と、が撮影された画像である撮影画像を受け付ける撮影画像受付部と、撮影画像受付部が受け付けた撮影画像内の一以上の物体コードとそれぞれ対応付けられた一以上の物体識別子と、撮影画像内の表示物と対応付けられた場所識別子とを取得する識別子取得部と、識別子取得部が取得した一以上の物体識別子と、識別子取得部が取得した場所識別子とを対応付けて出力する識別子出力部として機能させるためのプログラムである。
【０１４６】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０１４７】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【０１４８】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１４９】
図１０は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
【０１５０】
図１０において、コンピュータシステム９００は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ９０５を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０１５１】
図１１は、コンピュータシステム９００の内部構成を示す図である。図１１において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０５に加えて、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９１２と、ＭＰＵ９１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク９１４と、ＭＰＵ９１１、ＲＯＭ９１２等を相互に接続するバス９１５とを備える。なお、コンピュータ９０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいてもよい。
【０１５２】
コンピュータシステム９００に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９２１に記憶されて、ＣＤ−ＲＯＭドライブ９０５に挿入され、ハードディスク９１４に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９１４に記憶されてもよい。プログラムは実行の際にＲＡＭ９１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ９２１、またはネットワークから直接、ロードされてもよい。
【０１５３】
プログラムは、コンピュータ９０１に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム９００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【０１５４】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１５５】
以上のように、本発明にかかる情報処理装置等は、物品を管理する情報を作成するための装置等として適しており、特に、コードを利用して物品を管理する情報を作成する装置等として有用である。
【符号の説明】
【０１５６】
１  情報処理装置
１０１  撮影画像受付部
１０２  撮影装置
１０３  識別子取得部
１０４  識別子格納部
１０５  識別子出力部
【図１】
0006722438.tif 000002
【図２】
0006722438.tif 000003
【図３】
0006722438.tif 000004
【図４】
0006722438.tif 000005
【図５】
0006722438.tif 000006
【図６】
0006722438.tif 000007
【図７】
0006722438.tif 000008
【図８】
0006722438.tif 000009
【図９】
0006722438.tif 000010
【図１０】
0006722438.tif 000011
【図１１】
0006722438.tif 000012