以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、撮影画像受付部101、撮影装置102、識別子取得部103、識別子格納部104、識別子出力部105を備える。
撮影画像受付部101は、一または二以上の物体コードと、場所識別子と対応付けられた表示物と、が撮影された撮影画像を受け付ける。物体コードは、物体に配置されたコードであって、この物体コードが配置された物体の物体識別子と対応付けられたコードである。コードとは、バーコード等の一次元コードや、QRコード(登録商標)等の二次元コードや、カラーコード等である。カラーコードとは、例えば、複数の色の配列が任意の情報と対応づけられたコードである。カラーコードは、例えば、カラーバーコードやカメレオンコード等とも呼ばれる場合がある。コードからは、コードに対応付けられた情報が読み取り可能である。コードと対応づけられた情報は、例えば、コードの識別子である。コードは、例えば、情報を表現するパターン画像と考えてもよい。なお、コードが物体識別子と対応付けられているということは、例えば、コードから読み取られる情報が、物体識別子であってもよく、コードから読み取られるコードの識別子等が、物体識別子と対応付けられていることであっても良い。かかることは、後述するコードが場所識別子と対応付けられている場合においても同様である。なお、カラーコードについては、公知技術であるため、ここでは詳細な説明は省略する。カラーコードについては、例えば、以下の特許文献2を参照されたい。特許文献2:特開2010−033034号公報(第1頁、第1図等)。
物体は、物体コードが配置可能なものであれば、どのような物体であってもよい。例えば、物体は物品である。例えば、物体は、商品や製品である。物体識別子は、物体の識別子である。物体識別子は、例えば物体の名前や名称、物体に割り当てられた製造番号や、商品番号や製品番号等の文字列である。この文字列は、数字や記号等を含んでいてもよい。
物体コードが物体に配置されるということは、例えば、物体コードが物体に貼付されることや、物体コードが物体に印刷、あるいは描画されていることである。物体コードが物体に貼付されるということは、例えば、物体コードが印刷されたシールやシートが、物体に貼付されることであっても良い。
表示物は、例えば、場所識別子と対応付けられた一以上の文字で構成される文字列である。ここでの文字は、数字や記号等を含む概念である。表示物である文字列は場所識別子を示す文字列であってもよい。また、表示物は、画像認識処理により認識可能なマーク等の予め指定された画像であっても良い。また、表示物は、例えば、場所識別子と対応付けられたコードであってもよい。以下、場所識別子と対応付けられたコードを、場所コードと称す。
場所識別子とは、場所の識別子である。場所識別子は、例えば、場所を特定可能な情報である。場所識別子は、物体コードが配置された物体が存在する場所の名称や、場所に割り当てられた文字列である。場所識別子は、座標等であっても良い。
ここでの場所は、例えば、物体が存在する場所である。ここでの場所は、領域であっても一の地点であってもよい。例えば、場所は、物体が存在する棚等の一区画であっても良く、物体が存在する部屋等であっても良い。
表示物は、通常、物体が存在する場所に配置される。表示物が配置されている場所は、通常、表示物と対応付けられた場所識別子が示す場所である。ここでの場所は、例えば、棚やロッカー等の収納庫であっても良い。また、場所は、物体が存在する部屋や倉庫等の床や台であっても良い。また、物体が存在するということは、例えば、物体のつり下げ等も含む概念と考えて良く、物体が存在する場所は、物体がつり下げられるハンガーやフック等や、これらが取り付けられている壁や天井等であっても良い。一の撮影画像内の一以上の表示物に対応付けられた場所識別子が示す場所は、例えば、同じ撮影画像内の一以上の物体コードが配置された物体が存在する場所である。
例えば、表示物は、物体が収納されている棚の天板や仕切板や棚板の前面等に配置される。また、表示物は、物体が存在するエリアの床や壁面、天井、エリア内に設けられたプレートや、標識等に配置されても良い。表示物の配置は、例えば表示物を貼付することであっても良く、表示物を、描画することや筆記することであってもよい。また、表示物を表示した液晶パネル等の表示デバイス(図示せず)を設置することであっても良い。
撮影画像は、例えば、物体コードが配置された一以上の物体と、この一以上の物体が存在する場所の場所識別子と対応付けられた一以上の表示物と、が配置された領域を、物体コードが撮影されるよう撮影した画像である。
撮影画像受付部101が受け付ける一の撮影画像は、例えば、一または二以上の物体コードと、一の表示物が撮影された撮影画像でも良く、異なる場所に配置された二以上の物体コードと、この異なる場所の場所識別子と個別に対応付けられた二以上の表示物とが撮影された撮影画像でも良く、一または二以上の物体コードと、同じ場所識別子と対応付けられた二以上の表示物が撮影された撮影画像であってもよい。
撮影画像受付部101が受け付ける一の撮影画像は、例えば、一以上の物体コードと、一の表示物と、で構成される複数の組が撮影された画像であってもよい。つまり、一の撮影画像は、一以上の物体コードと、一の表示物と、で構成される組が、複数組撮影されている画像であってもよい。
撮影画像受付部101は、例えば、情報処理装置1が有している撮影装置102が撮影した撮影画像を受け付ける。なお、撮影画像受付部101は、情報処理装置1の外部に設けられた撮影装置102と同様の撮影装置(図示せず)や、撮影装置を備えた情報処理装置(図示せず)等が撮影して送信した撮影画像を受信してもよい。また、撮影画像受付部101は、図示しない撮影装置等で撮影されて記憶媒体等に蓄積された撮影画像の受け付け等であっても良い。撮影画像は、例えば、一以上の物体コードの画像と、一以上の表示物の画像とを有する撮影装置102等で撮影された画像と考えてもよい。なお、以下、本実施の形態においては、撮影画像受付部101が、撮影装置102が撮影した撮影画像を受け付ける場合を例に挙げて説明する。
撮影画像受付部101が受け付ける一の撮影画像は、静止画像であっても良く、動画像であっても良い。また、一の撮影画像は、動画像を構成する一または二以上のフレーム画像であっても良い。撮影画像受付部101が受け付ける一の撮影画像は、カラー画像であっても良く、グレースケール画像であっても良く、二値画像であっても良い。ただし、物体コード等がカラーコードである場合、撮影画像はカラー画像である。
ここでの受け付けとは、撮影装置102等から入力された情報の受け付けや、図示しない撮影装置等からの有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された撮影画像の受け付けなどを含む概念である。撮影画像受付部101は、入力手段や受信手段や読み出し手段等のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
撮影装置102は、撮影画像を撮影する。撮影装置102は、CCDやCMOS等の撮像素子を備えたスチルカメラやビデオカメラ等のカメラや、ラインセンサ等を備えたスキャナである。なお、撮影画像受付部101が、撮影装置102以外の装置等で撮影された撮影画像を受け付ける場合、撮影装置102は省略してもよい。
識別子取得部103は、撮影画像受付部101が受け付けた撮影画像内の一または二以上の物体コードにそれぞれ対応付けられた一または二以上の物体識別子と、撮影画像内の表示物に対応付けられた場所識別子とを取得する。
例えば、識別子取得部103は、撮影画像内において物体コードを検出し、検出した物体コードに対応付けられた物体識別子を取得する。画像において物体コードを検出し、この物体コードに対応付けられた物体識別子を取得する処理は、静止画像や動画像から一次元コードや二次元コードやカラーコード等を検出し、検出したコードに対応付けられた識別子等の情報を取得する処理等として公知であるため、ここでは詳細な説明は省略する。また、撮影画像内に、複数の物体コードの画像が含まれている場合においては、それぞれの物体コードを検出して、検出した各物体コードに対応する情報を取得するようにすればよい。例えば、一の画像から複数のカラーコードを検出して対応する情報を取得する処理は公知の技術である。かかることは、場所コードに関しても同様である。
また、識別子取得部103は、例えば、撮影画像内において表示物を検出し、検出した表示物に対応付けられた場所識別子を取得する。例えば、表示物が、場所コードである場合、上記の物体コードを検出する場合と同様に、識別子取得部103は、撮影画像内において場所コードを検出し、検出した場所コードに対応付けられた物体識別子を取得する。また、例えば、表示物が文字列である場合、識別子取得部103は、撮影画像内において表示物である文字列の画像を検出し、検出した文字列の画像から文字認識により文字列を取得することで、表示物である文字列に対応する場所識別子を取得しても良い。静止画像や動画像において、文字列の画像を検出し、この画像から文字列を取得する処理等は、OCR等の技術として公知であるため、ここでは詳細な説明は省略する。また、例えば、表示物がマーク等の予め指定された画像である場合、識別子取得部103は、撮影画像内において表示物であるマーク等の予め指定された画像を、予め指定された一以上の画像や、この一以上の画像から取得された特徴量の情報等を用いて、パターンマッチング等により検出し、検出した画像に対応付けられた場所識別子を取得しても良い。パターンマッチングについては、公知技術であるため、ここでは詳細な説明は省略する。
識別子取得部103は、例えば、撮影画像において物体コードと表示物とが区別して検出可能な場合、撮影画像から物体コードと表示物とをそれぞれ区別して検出し、検出した物体コードに対応付けられた物体識別子と、検出した表示物に対応付けられた場所識別子とを取得してもよい。また、識別子取得部103は、例えば、撮影画像から、物体コードと表示物とを区別せずに検出して、検出した物体コードと表示物とにそれぞれ対応する識別子を取得して、取得した識別子を、物体識別子と場所識別子とに区別することで、撮影画像内の一または二以上の物体コードとそれぞれ対応付けられた一以上の物体識別子と、撮影画像内の表示物と対応付けられた場所識別子とを取得するようにしても良い。
撮影画像において物体コードと表示物とが区別して検出可能な場合とは、例えば、表示物が、文字列や予め指定された画像である場合である。また、撮影画像において物体コードと表示物とが区別して検出可能な場合とは、例えば、表示物が場所コードである場合であって、物体コードと異なる種類のコードである場合や、表示物が場所コードである場合であって、撮影画像内におけるこの場所コードが配置される位置が物体コードと異なる場合や、場所コードの配置される向きが物体コードが配置される向きと異なるよう配置されている場合である。種類が異なるコードとは、体系が異なるコードや、形状や大きさが異なるコードである。体系が異なるコードとは、例えば、一次元コードと二次元コードとカラーコードのうちの二つの組合せである。形状が異なるコードは、例えば、コードの配置される領域の形状が異なるコードである。形状が異なるコードは、コードが配置されている領域の、認識可能な枠の形状が異なるコードと考えても良い。大きさが異なるコードとは、コード自体の大きさが異なるコードであっても良く、コードに設けられた枠等の大きさが異なるコードであっても良い。撮影画像内に配置される位置が異なるコードとは、例えば、撮影画像内における配置される領域が異なるコードである。異なる領域は、例えば、撮影画像内の予め指定された高さ位置に対して上側の領域と、下側の領域とである。配置される向きが異なるよう配置されたコードとは、例えば、両者が長方形であるコードであって、その長手方向の向きが異なる向きに配置されているコードである。
以下、識別子取得部103が、物体識別子と、場所識別子とを取得する処理について、6つの例を挙げて説明する。
(1)表示物が文字列または予め指定された画像である場合
識別子取得部103は、例えば、撮影画像受付部101が受け付けた撮影画像内において一または二以上の物体コードを検出し、検出した一または二以上の物体コードにそれぞれ対応する一または二以上の物体識別子を取得する。撮影画像内において物体コードを検出することは、撮影画像内において物体コードの画像を検出することと考えてもよい。かかることは、他のコードにおいても同様である。撮影画像内の一または二以上の物体コードとして、例えば、異なる種類のコード、例えば、一次元コードとカラーコードとの組合せ等、が混在していてもよい。この場合、識別子取得部103は、それぞれの種類のコードを順次検出して、対応する物体識別子を取得するようにすればよい。
また、表示物が文字列であるとすると、識別子取得部103は、撮影画像受付部101が受け付けた撮影画像内の文字列を認識して場所識別子を取得する。識別子取得部103は、例えば、撮影画像内において、OCR等の文字認識技術を用いて、文字列の画像を検出して、文字認識処理を行なって文字列を取得し、この文字列に対応する場所識別子を取得する。文字列に対応する場所識別子を取得することは、認識して取得した文字列が場所識別子の場合、文字列を場所識別子として取得することや、認識して取得した文字列に対応付けられた場所識別子を、図示しない格納部から取得することを含む概念である。なお、表示物が予め指定された画像である場合、パターンマッチングにより、予め指定された一以上の画像を撮影画像内において検出し、検出された予め指定された画像に対応付けられた場所識別子を取得するようにすればよい。
識別子取得部103が物体識別子と場所識別子とを取得する順番等は問わない。
(2)表示物が場所コードであり、コードについて取得した識別子から、物体識別子と場所識別子とを区別する場合
識別子取得部103は、例えば、撮影画像受付部101が受け付けた撮影画像内において二以上のコードを検出し、検出した各コードが、物体コードであることを示す識別子と対応付けられている場合に、コードから物体識別子を取得し、場所コードであることを示す識別子と対応付けられている場合に、コードから場所識別子を取得する。
識別子取得部103は、例えば、撮影画像受付部101が受け付けた撮影画像内において、二以上のコードを検出する。識別子取得部103は、例えば、撮影画像内において、物体コードと、場所コードとを、区別せずに検出する。例えば、識別子取得部103は、物体コードとして用いられている種類のコードと、場所コードとして用いられている種類のコードとを、撮影画像内において検出する。例えば、物体コードと、場所コードとが同じ種類のコードである場合、識別子取得部103は、この同じ種類のコードを、撮影画像内において検出する。また、物体コードと場所コードとが異なる種類のコードである場合、識別子取得部103は異なるそれぞれの種類のコードを検出する。ここでの同じ種類のコードは、二種類以上の同じ種類のコードであっても良い。
識別子取得部103は、例えば、検出したコードに対応する識別子をそれぞれ取得し、取得した識別子が、物体コードであることを示す識別子であるか否かを判断する。例えば、予め、識別子内の予め指定された位置、例えば、先頭や、末尾に、物体コードであることを示す文字列(例えば、「0」等の特定の数字等)を配置しておくようにし、取得した識別子内の予め指定された位置にこの文字列が検出された場合に、取得した識別子を物体コードであることを示す識別子であると判断する。なお、ここでの文字列は、一文字も含む概念である。また、物体コードを示す識別子の文字数と、場所コードを示す識別子の文字数が異なる場合、コードから取得した識別子の文字数が物体コードの文字数と一致するか否かを判断し、一致する場合に、この識別子を物体コードの識別子であると判断してもよい。また、取得した識別子が、予め指定された一以上の物体識別子のいずれか一つと一致する場合に、取得した識別子を物体コードであることを示す識別子として判断してもよい。
識別子取得部103は、検出したコードが、物体コードであることを示す識別子と対応付けられている場合、この識別子に対応する物体識別子を取得する。例えば、識別子取得部103は、この検出した識別子を、物体識別子として取得してもよく、この検出した識別子に対応付けられた物体識別子を、図示しない格納部等から検出により取得しても良い。
また、識別子取得部103は、例えば、検出したコードに対応する識別子をそれぞれ取得し、取得した識別子が、場所コードであることを示す識別子であるか否かを判断する。この処理は、例えば、上記の物体コードであることを示す識別子であるか否かを判断する処理において、検出したコードから取得した識別子が、場所コードであることを示す文字列を有するか判断(例えば、識別子の上一桁に「1」等の特定の数字があるか否かを判断)するようにしたり、場所コードを示す識別子の文字数と一致するかを判断するようにしたり、予め指定された一以上の場所識別子のいずれか一つと一致するかを判断するようにすることで、実現可能である。
識別子取得部103は、検出したコードが、場所コードであることを示す識別子と対応付けられている場合、この識別子に対応する場所識別子を取得する。例えば、識別子取得部103は、この検出した識別子を、場所識別子として取得してもよく、この検出した識別子に対応付けられた場所識別子を、図示しない格納部等から検出により取得しても良い。
なお、物体コードと場所コードしか配置されていない範囲を撮影した場合のように、撮影画像から検出したコードが、物体コードと場所コードとに限られる場合等においては、検出したコードが、物体コードであることを示す識別子と対応付けられていない場合、このコードは、場所コードであると判断できる。このため、このような場合においては、この(2)の処理は、検出した各コードが、物体コードであることを示す識別子と対応付けられている場合に、コードから物体識別子を取得し、物体コードであることを示す識別子と対応付けられていない場合に、コードから場所識別子を取得する処理も含む概念と考えてもよい。
同様に、撮影画像から検出したコードが、物体コードと場所コードとに限られる場合等においては、この(2)の処理は、検出した各コードが、場所コードであることを示す識別子と対応付けられている場合に、コードから場所識別子を取得し、場所コードであることを示す識別子と対応付けられていない場合に、コードから物体識別子を取得する処理も含む概念と考えてもよい。
なお、ここでの処理は、特に、場所コードと物体コードとが同じ種類のコードである場合、例えば、いずれもがカラーコードである場合等、において有効である。
なお、識別子取得部103は、一のコードを検出する毎に、このコードに対応する識別子を取得してもよく、全てのコードを検出した後に、各コードに対応する識別子を取得しても良い。
(3)表示物が場所コードであり、撮影画像内のコードが配置される位置により物体コードと場所コードとを識別する場合
識別子取得部103は、撮影画像内の二以上のコードが配置されている位置に応じて、この二以上のコードから物体識別子と場所識別子とを取得する。ここでのコードが配置されている位置は、撮影画像に対するコードの配置されている位置と考えても良く、コード間の相対的な位置と考えてもよい。
例えば、識別子取得部103は、上記の(2)の場合と同様に撮影画像内において、二以上のコードを検出する。識別子取得部103は、例えば、撮影画像内において、物体コードと、場所コードとを、区別せずに検出する。例えば、識別子取得部103は、物体コードとして用いられている種類のコードと、場所コードとして用いられている種類のコードとを、撮影画像内において検出する。そして、検出した各コードに対応する識別子を取得する。
識別子取得部103は、例えば、検出したコードの配置されている位置に応じて、検出したコードを物体コードと表示物である場所コードに区別する。例えば、識別子取得部103は、検出したコードの撮影画像内の位置により、検出したコードを、物体コードと場所コードに区別する。例えば、識別子取得部103は、検出したコードのうちの、撮影画像内の予め指定された高さ位置(例えば、撮影画像の底辺を高さの基準とした場合の、撮影画像の高さの3分の1となる高さ位置)以上の領域に位置するコードを物体コードと判断し、予め指定された高さ位置未満の領域に位置するコードを場所コードと判断する。また、撮影画像内において検出されたコードのうちの、撮影画像の最も下辺側に位置するコードや、最も上辺側に位置するコードを、場所コードと判断するようにしても良い。つまり、コードの撮影画像内の相対的な位置から、コードを物体コードと場所コードとに区別しても良い。なお、識別子取得部103が物体コードと場所コードとを判断する順番等は問わない。
そして、識別子取得部103は、物体コードであると判断されたコードから取得された識別子を物体識別子として取得し、場所コードであると判断されたコードから取得された識別子を場所識別子として取得する。
なお、撮影画像内においてコードを検出した後、検出された各コードが物体コードまたは場所コードのいずれであるかが判断された後に、物体コードから物体識別子を、また、場所コードから場所識別子をそれぞれ取得するようにしても良い。
この処理は、特に、場所コードと物体コードとが同じ種類のコードである場合、例えば、いずれもがカラーコードである場合等、に有効である。
コードの位置とは、例えば、コードの中心や、コードの輪郭の一点の位置である。例えば、コードが矩形である場合、コードの左上や右下等の特定の角の位置である。コードの位置は、例えば、座標で表される。コードの位置は、コードを囲む最小矩形の特定の角の位置であっても良い。かかることは、表示物の位置についても同様である。
(4)表示物が場所コードであり、物体コードと場所コードとが異なるコードである場合
識別子取得部103は、例えば、撮影画像受付部101が受け付けた撮影画像内において、物体コードと、表示物である場所コードとを、それぞれ検出する。例えば、物体コードと、場所コードとが異なる種類のコードである場合、識別子取得部103は、物体コードとして用いられている一または二以上の種類のコードを撮影画像内において検出することで、物体コードを検出し、場所コードとして用いられている一または二以上の種類のコードを撮影画像内において検出することで、場所コードを検出する。例えば、物体コードと場所コードとが異なる体系のコード、具体的には、物体コードがカラーコードであり、場所コードがバーコードである場合、撮影画像からカラーコードを検出することで物体コードを検出し、撮影画像からバーコードを検出することで場所コードを検出する。そして、識別子取得部103は、物体コードに対応する物体識別子を取得し、場所コードに対応する場所識別子を取得する。
物体コードと場所コードとが異なる形状のコード(例えば、円形形状のコードと、矩形形状のコード等)である場合、識別子取得部103は、例えば、撮影画像内において、物体コードの形状と、場所コードの形状とを、それぞれパターンマッチングで検出し、検出された物体コードの形状を有するコードから物体識別子を取得し、検出された場所コードの形状を有するコードから場所識別子を取得するようにすればよい。
また、物体コードと場所コードとの大きさが異なる場合、識別子取得部103は、例えば、撮影画像において検出したコード同士の大きさを比較することで、検出したコードを大きさが大きいものと小さいものとの二つに分け、予め決められた物体コードと場所コードとの大きさの違いから、二つに分けたコードの一方を物体コード、他方を場所コードに判断し、判断した物体コードから物体識別子を取得し、場所コードから場所識別子を取得するようにしてもよい。
識別子取得部103が物体コードと場所コードとを検出する順番等は問わない。また、識別子取得部103は、一の物体コードを検出する毎に、このコードに対応する物体識別子を取得し、一の場所コードを検出する毎に、このコードに対応する場所識別子を取得してもよく、全ての物体コードを検出した後に、各コードに対応する物体識別子を取得し、全ての場所コードを検出した後に、各コードに対応する場所識別子を取得しても良い。
(5)表示物が場所コードであり、物体コードと場所コードとの配置される向きが異なる場合
識別子取得部103は、撮影画像受付部101が受け付けた撮影画像内において、二以上のコードを検出する。検出するコードは、物体コード及び場所コードとして用いられる一の種類のコードであることが好ましい。そして、識別子取得部103は、例えば、撮影画像内において検出した各コードの向き(例えば、縦長となるよう配置されているか、横長となるよう配置されているか等)を示す情報を取得する。向きを示す情報は、例えば、検出されたコードを囲む最小矩形の辺の傾き(ただし、0から90度までの傾きを有する辺)やベクトル等である。向きを示す情報は、検出されたコードに対して設定される予め指定された線分の傾き等であっても良い。また、検出されるコードが長方形である場合、その長辺の傾きやベクトル等である。また、検出されるコードが円形である場合、そのコードの読み出し開始位置と、コードの円形の中心とを結ぶ直線の傾きやベクトル等である。そして、その傾きが、異なる第一の閾値と、第二の閾値とのいずれに近いかによって、コードを物体コードと、場所コードとに区別し、物体コードから物体識別子を取得し、場所コードから場所識別子を取得する。例えば、第一の閾値(例えば、0度等)に近いコードから物体識別子を取得し、第二の識別子(例えば、90度等)に近いコードから場所識別子を取得する。なお、予めコードを検出した時点で、コードに対応する識別子を取得しておくようにし、一のコードが物体コードと判断された場合、このコードから取得した識別子を物体識別子として取得し、一のコードが場所コードと判断された場合、このコードから取得した識別子を場所識別子として取得するようにしてもよい。
(6)一の撮影画像が、一以上の物体コードと一の表示物とを有する組が複数組撮影された画像である場合
上記の(1)から(5)の処理は、例えば、撮影画像受付部101が受け付ける一の撮影画像が、一以上の物体コードと、一の場所識別子と対応付けられた一以上の表示物が撮影された画像である場合において、特に好ましい処理であるが、撮影画像受付部101が受け付ける一の撮影画像が、一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像である場合、識別子取得部103は、例えば、撮影画像内の物体コードと表示物とから、複数の組の各組毎に、一以上の物体コードと対応付けられた一以上の物体識別子と、一の表示物と対応付けられた一の場所識別子とを取得するようにしてもよい。
例えば、識別子取得部103は、撮影画像受付部101が受け付けた一の撮影画像において、上記の(1)から(5)等の場合と同様に、物体コードと表示物とを検出する。更に、識別子取得部103は、この撮影画像内において、検出された物体コードと表示物との少なくとも一部が配置された複数の領域を検出する。そして、複数の領域のそれぞれに配置されている一以上の物体コードや表示物の組毎に、一以上の物体コードに対応する物体識別子と、表示物に対応する場所識別子とを取得する。これにより、識別子取得部103は、撮影画像内の物体コードと表示物とから、物体コードと表示物とで構成される複数の組の各組毎に、物体識別子と、場所識別子とを取得することができる。
例えば、識別子取得部103は、例えば、一以上の物体コードと表示物との組がそれぞれ配置されている複数の領域を検出する。複数の領域を構成する各領域は、例えば、撮影画像内を縦方向や横方向や斜め方向に分割する直線や曲線の輪郭を有する画像や、撮影画像内を縦方向や横方向や斜め方向に伸びるストライプ形状等の予め指定された形状や予め指定された色や図柄を有する画像等で囲まれた領域や、この輪郭と撮影画像の一以上の辺で囲まれた領域である。
例えば、識別子取得部103は、撮影画像においてパターンマッチングや、指定された色の領域の検出等を行なって、上記のような画像を検出し、検出された一以上の画像で区切られた、あるいは一以上の画像で囲まれた領域を検出する。また、例えば、ストライプ状に伸びる画像を検出した場合、この画像が配置されている領域をストライプの伸びる方向に延長した領域で、撮影画像を区切るようにしてもよい。撮影画像内の、これらの画像で区切られた、あるいは囲まれた領域は、画像の輪郭で区切られた、あるいは囲まれた領域と考えてもよい。輪郭は、例えば、画像について輪郭抽出を行なうことで取得可能である。また、識別子取得部103は、通常の画像処理において一般的な、隣接する画素間の値(例えば、輝度値や色相値等)に関する値の差等を利用した領域検出等により、一または二以上の領域を検出するようにしても良い。領域検出は、輪郭抽出により領域を検出する処理と考えてもよい。そして、検出した各領域に配置されている一以上の物体コードや表示物の組毎に、一以上の物体コードに対応する物体識別子と、表示物に対応する場所識別子とを取得する。
領域を検出するということは、例えば、領域の輪郭の情報や、領域内に位置する複数の画素の座標等の情報を取得することである。例えば、上記の撮影画像を縦方向に伸びるストライプ状の画像は、物品が収納される棚の仕切板の前面部分に相当する画像であり、このような仕切板の画像の輪郭によって縦方向に分割された複数の領域であって、物体コードや表示物をそれぞれ有する領域が、識別子取得部103が検出する複数の領域である。
識別子取得部103は、上記のような予め指定された画像を検出せずに、撮影画像内において輝度値の差等を用いて輪郭抽出等を行なうことで、抽出された輪郭で囲まれた一または二以上の領域を検出し、検出した輪郭のうちの、物体コードや表示物を含む領域を、上記の複数の領域として検出しても良い。
なお、識別子取得部103は、上記後同様の処理により、撮影画像において物体コードを含む一または二以上の領域を検出し、それぞれの領域に配置される物体コードと、それぞれの領域に対して予め指定された位置(例えば、下側や上側等)に配置されている表示物とを、上述した一以上の物体コードと一の表示物との組として検出するようにしても良い。
なお、輪郭抽出や画像の形状等の検出を行なう際には、適宜、二値化等の処理を撮影画像に対して行なっても良い。
なお、表示物が場所コードである場合等において、上記の(2)の場合等と同様に、撮影画像においてコードを検出した後に、予め撮影画像内において複数の領域を検出し、検出した各領域毎に、上記の(2)〜(5)と同様に、領域に含まれるコードから物体識別子と場所識別子を取得するようにしてもよい。また、予め撮影画像内において複数の領域を検出した後、検出した撮影画像内の各領域毎に、上記の(2)の場合等と同様に、領域内に配置されているコードを検出し、検出したコードから物体識別子と場所識別子を取得するようにしてもよい。
また、識別子取得部103は、以下のように、撮影画像内における物体コードと表示物との距離を用いて、一以上の物体コードと一の表示物とを有する組ごとに、物体識別子と場所識別子とを取得するようにしてもよい。
例えば、識別子取得部103は、撮影画像受付部101が受け付けた一の撮影画像において、上記の(1)から(5)等の場合と同様に、物体コードと、場所コード等の表示物とを検出し、撮影画像において、複数の表示物が検出された場合に、撮影画像内の各物体コードについて、各表示物までの撮影画像上の距離を算出し、距離が最も近い表示物を、各物体コードと同じ組に属する表示物と考えるようにして、撮影画像から検出された二以上の表示物のそれぞれについて、表示物に対応する一の場所識別子と、表示物と同じ組に属する一以上の物品コードにそれぞれ対応する一以上の物品識別子とを取得するようにしてもよい。
なお、必要に応じて、識別子取得部103は、物体識別子が取得されたコードを物体コード、場所コードが取得されたコードを場所コードと判断するようにしてもよい。また、識別子取得部103は、一の物品コードに対して配置される方向が、予め指定された方向、例えば、下方向や上方向である場所コード等の表示物のうちの、この物品コードに対する距離が最も近い表示物を、この一の物品コードと同じ組に属する表示物と判断するようにしてもよい。
ここでの、撮影画像内における物体コードと表示物との距離とは、例えば、物体コードの位置と表示物の位置との間の距離である。例えば、物体コードの表示物との距離とは、例えば、物体コードと表示物とのそれぞれ位置を示す座標間の距離である。
なお、上述した一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像とは、一以上の物体コードと一の表示物とを有する組が複数組撮影された画像と考えてもよい。また、ここでの異なる組に属する表示物は、異なる場所識別子と対応付けられた表示物であることが好ましいが、同じ場所識別子と対応付けられていても良い。
識別子格納部104には、一以上の物体識別子と場所識別子とが対応付けられて格納される。例えば、識別子格納部104には、対応付けられた物体識別子と場所識別子とを有する情報が格納される。場所識別子と、この場所識別子と対応付けられた物体識別子は、例えば、後述する識別子出力部105により、識別子格納部104に蓄積される。
識別子格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
識別子出力部105は、識別子取得部103が撮影画像から取得した一以上の物体識別子と、識別子取得部103が取得した場所識別子とを対応付けて出力する。識別子出力部105は、例えば、識別子取得部103が撮影画像から取得した一以上の物体識別子のそれぞれに対して、同じ撮影画像から取得した一の場所識別子を対応付けて出力する。
例えば、撮影画像受付部101が受け付ける一の撮影画像が、一以上の物体コードと一の表示物と、で構成される複数の組が撮影された画像である場合においては、識別子出力部105は、一の撮影画像内の、同じ組に含まれる一以上の物体コードと一の表示物とから識別子取得部103がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力するようにしてもよい。例えば、識別子出力部105は、識別子出力部105は、一の撮影画像内の、複数の組のうちの全ての組、あるいは一部の組にそれぞれ含まれる一以上の物体コードと一の表示物とから識別子取得部103がそれぞれ取得した一以上の物体識別子と、一の場所識別子と、を対応付けて出力するようにしてもよい。なお、例えば、二以上の物体識別子と、一の場所識別子と、を対応付けて出力するということは、二以上の物体識別子の組と、一の場所識別子とを有する一の情報を出力することであってもよく、二以上の物体識別子のそれぞれと、一の場所識別子とを有する二以上の情報を取得することであってもよい。
なお、識別子出力部105は、識別子格納部104に対応付けて格納された一以上の物体識別子と場所識別子とを出力してもよく、このような出力も、識別子取得部103が取得した物体識別子と場所識別子とを対応付けて出力することと考えてもよい。
ここでの出力は、通常、記録媒体等への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。また、識別子出力部105は二以上の異なる出力、例えば、蓄積と、送信や、表示等を適宜行なっても良い。
例えば、識別子出力部105は、撮影画像から取得した一以上の物体識別子と、識別子取得部103が取得した場所識別子とを対応付けて、識別子格納部104に蓄積してもよい。なお、同じ物体識別子と場所識別子との組合わせが既に蓄積されている場合には、重複を防ぐため、蓄積しなくてもよい。
次に、情報処理装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)撮影装置102は、物体コードと表示物との撮影を行なうか否かを判断する。例えば、撮影装置102は、図示しない受付部等が、入力デバイス等を介して撮影を行なう指示をユーザ等から受け付けた場合に、撮影を行なうと判断する。撮影を行なう場合、撮影装置102は、物体コードと表示物との撮影を行なって撮影画像を取得し、取得した撮影画像を撮影画像受付部101に出力して、ステップS102に進む。撮影を行なわない場合、ステップS101に戻る。
(ステップS102)撮影画像受付部101は、ステップS101で撮影された撮影画像を受け付ける。
(ステップS103)識別子取得部103は、ステップS102で受け付けた撮影画像において物体コードと表示物を検出する。表示物が文字列や予め指定された画像である場合、識別子取得部103は、例えば、物体コードの検出と、表示物の検出とをそれぞれ個別に行なう。表示物が場所コードであって、物体コードと同じ種類のコードである場合、識別子取得部103は、例えば、物体コードと場所コードである表示物とを区別せずに検出する。また、表示物が場所コードであって、物体コードと異なる種類のコードである場合、識別子取得部103は、例えば、物体コードの検出と、表示物の検出とをそれぞれ個別に行なう。
(ステップS104)識別子取得部103は、ステップS102で受け付けた撮影画像において、物体コードと表示物とが配置された一以上の領域を検出する。例えば、撮影画像において、予め指定された色や形状の画像を検出し、その画像で区切られた二以上の領域を検出する。更に、検出した各領域に、ステップS103で検出した物体コードと表示物とが含まれているか否かを判断し、含まれている領域を物体コードや表示物が配置された一以上の領域検出する。このような画像が検出されない場合、撮影画像全体を一の領域として検出しても良い。なお、物体コードと表示物を区別せずに検出した場合は、検出されたコードが含まれている領域を検出するようにしてもよい。また、この場合、識別子取得部103は、物体コードと、表示物である場所コードとの一方しか含まれていない領域も結果的に検出してもよい。
(ステップS105)識別子取得部103は、ステップS104で検出した一以上の領域毎に、物体識別子及び場所識別子とを取得する。例えば、ステップS103において、場所コードと表示物とを区別して検出した場合、各領域の物体コードから物体識別子を取得し、表示物から場所識別子を取得する。また、場所コードと表示物である場所コードとを区別して検出していない場合、検出されたコードが物体コードであることを示す識別子と対応付けられている場合、検出されたコードから物体識別子を取得し、検出されたコードが場所コードであることを示す識別子と対応付けられている場合、検出されたコードから場所識別子を取得する。また、場所コードと表示物である場所コードとを区別して検出していない場合、検出されたコードの位置に応じて、検出されたコードから物体識別子または場所識別子を取得するようにしてもよい。
(ステップS106)識別子出力部105は、ステップS105において、各領域について取得された物体識別子と場所識別子とを対応付けて、識別子格納部104に蓄積する。
なお、図2においては、識別子出力部105が、物体識別子と場所識別子とを対応付けて蓄積する場合について説明したが、識別子出力部105は、蓄積以外の出力を行なっても良い。また、識別子出力部105は、識別子格納部104に対応付けて蓄積された物体識別子と場所識別子との少なくとも一以上を出力するようにしてもよい。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置1の具体的な動作について例を挙げて説明する。
(具体例1)
ここでは、上記の(2)及び(6)で説明したような処理により、物体識別子と場所識別子とを取得する場合を例に挙げて説明する。
図3は、情報処理装置1の動作を説明するための、複数の物体である複数の書籍31が収納されている書棚30の一部を示す模式図(図3(a))、及びカラーコードの一例を示す図(図3(b))である。
各書籍31の背表紙には、物体コード301がそれぞれ貼付されているものとする。物体コード301としては、ここでは、図3(b)に示すようなカラーコードが用いられる。このカラーコードは、複数の色が、マトリクス上に配列されたコードである。例えば、このカラーコードは、カメレオンコードとも呼ばれる。物体コード301から読み出される識別子が、ここでは、物体識別子であるとする。各書籍31に貼付されている物体コード301は、ここでは、例えば、互いに異なる物体識別子と対応付けられているものとする。
書棚30の棚板33の前面には、表示物である場所コード302が貼付されているものとする。場所コード302は、物体コード301と同様のカラーコード、つまり、図3(b)に示すようなカラーコードであるとする。各場所コード302は、貼付されている棚板33上に収納されている書籍31の場所を示す場所識別子と対応付けられているものとする。仕切板32で区切られた範囲内の棚板33の前面に貼付されている場所コード302は、この仕切板32で区切られた範囲内の棚板33上に収納されている書籍の場所を示す場所識別子と対応付けられているものとする。仕切板32の前面には、ここでは、一例として、書棚30の他の部分の前面とは異なる色、例えば、オレンジ色で塗装されているものとする。この色は、ここでは、カラーコードに用いられていない色であるとする。また、棚板33の前面の色とも異なる色であるとする。なお、この色は、カラーコードに利用されていない色であればよい。
ユーザが、情報処理装置1の撮影装置102を用いて、図3(a)に示した書棚30の一部を、前面側から撮影したとする。撮影した画像は、カラーの静止画像であるとする。
図4は、撮影装置102が、撮影して取得した撮影画像を示す図(図4(a))、及び撮影画像において検出されたコードと、物体コードと表示物が配置された一以上の領域を示す図(図4(b))である。
撮影装置102が図4(a)に示すような撮影画像40を取得すると、撮影画像受付部101は、この撮影画像を撮影装置102から受け付ける。
識別子取得部103は、撮影画像受付部101が受け付けた撮影画像、即ち、図4(a)に示した撮影画像40において、カラーコードを検出する。ここでは、図4(b)に示すように、複数のカラーコード401a〜401iを検出したとする。ここでは、物体コード301と場所コード302とが、同じカラーコードであり、これらが区別されずに検出されるものとする。同じ画像から複数のカラーコードを検出する処理は、上述した特許文献2等に開示されているように公知の技術であるため、ここでは詳細な説明は省略する。
識別子取得部103は、更に、図4(a)に示した撮影画像40において、仕切板32を検出する。ここでは、撮影画像において、仕切板32の前面の色であるオレンジ色の画像が配置された領域を検出することで、仕切板32を検出する。そして、検出した領域を上下方向に、撮影画像40の上下端に達するまで拡大させた領域を撮影画像40を区切るための領域として検出し、撮影画像40内において、この領域で区切られた複数の領域を検出する。ここでは、図4(b)に示すように、仕切板32が配置されている領域を拡大した領域402が検出され、この領域で区切られた第一の領域403と、第二の領域404とが、撮影画像内で検出されたとする。
なお、識別子取得部103は、オレンジ色の領域を検出する代わりに縦方向に伸びるストライプ形状を有する画像が配置された領域を検出するようにしてもよい。この場合、仕切板32の色は、どのような色であっても良い。
識別子取得部103は、第一の領域403と、第二の領域404との領域内にそれぞれ上記で検出されたカラーコードのうちの二以上が配置されているか否かを判断する。ここでは、配置されていたとすると、識別子取得部103は、この第一の領域403と、第二の領域404との両方が、物体コード301と、表示物である場所コード302とが配置されている領域であると判断して、それぞれの領域を示す情報、例えば輪郭の情報を取得する。二以上のカラーコードが検出されなかった場合、その領域の情報は取得しない。
図5は、物体識別子と、この物体識別子に対応する書籍の識別子である書籍識別子とを対応付けて管理する書籍管理表である。書籍管理表は、「物体ID」と、「書籍ID」という属性を有している。「物体ID」は、物体識別子であり、ここでは、一例として物体コードから読み取られる識別子が、物体識別子であるとする。「書籍ID」は、書籍識別子であり、ここでは、書籍に割り当てられた国際標準図書番号であるとする。ただし、書籍識別子は、書籍のタイトル等の書籍を特定可能な情報であればよい。
図6は、場所識別子と、この場所識別子に対応する書籍が存在する場所を示す情報との対応関係を管理する場所管理表である。場所管理表は、「場所ID」と、「場所情報」という属性を有している。「場所ID」は、場所識別子であり、ここでは一例として、場所コードから読み取られる識別子が場所識別子であるとする。「場所情報」は、物体である書籍31が存在する場所を示す情報であり、ここでは、複数の書棚30にそれぞれ割り当てられた「A」から「P」までの記号のいずれかと、各書棚30内において設定された複数の領域に順番に割り当てられた数値とを組み合わせた情報であるとする。
識別子取得部103は、上記で検出したカラーコードのうちの、第一の領域403内において検出されたカラーコード401a〜401d,及び401hにそれぞれ対応する識別子を取得する。カラーコードから、カラーコードに対応付けられた識別子を取得する処理は公知であるため、ここでは説明を省略する。そして、各カラーコードから取得した識別子について、図5の書籍管理表の「物体ID」の属性値のいずれかと一致するものがあるか否かを順次判断し、一致する識別子を物体識別子として取得する。例えば、カラーコード401a、401b、401c、401dからそれぞれ取得した識別子「11202241」、「11202242」、「11202243」、「11202244」が、図5の書籍管理表の「物体ID」の属性値のいずれか一つと一致していたとすると、識別子取得部103は、これらの識別子を、物体識別子として取得し、図示しない記憶媒体等に一時記憶する。
また、識別子取得部103は、各カラーコードから取得した識別子について、図6の場所管理表の「場所ID」の属性値のいずれかと一致するものがあるか否かを順次判断し、一致する識別子を場所識別子として取得する。例えば、カラーコード401hから取得した識別子「10115013」が、図5の場所管理表の「場所ID」の属性値の一つと一致したとすると、識別子取得部103は、この識別子を、場所識別子として取得し、図示しない記憶媒体等に一時記憶する。
そして、識別子出力部105は、識別子取得部103が第一の領域403について取得した複数の物体識別子を、この第一の領域403について取得した一の物体識別子と対応付けて、識別子格納部104に蓄積する。
同様に、識別子取得部103は、第二の領域404内において検出されたカラーコード401e〜401g、及び401iについても、それぞれ識別子を取得し、図5の書籍管理表の「物体ID」の属性値のいずれかと一致する識別子を、物体識別子として取得し、図6の場所管理表の「物体ID」の属性値のいずれかと一致する識別子を、場所識別子として取得する。
そして、識別子出力部105は、識別子取得部103が第二の領域404について取得した複数の物体識別子を、この第二の領域404について取得した一の物体識別子と対応付けて、識別子格納部104に蓄積する。
図7は、識別子格納部104に対応付けて格納されている物体識別子と、場所識別子とを管理する物体場所管理表である。物体場所管理表の「物体ID」及び「場所ID」は、図5及び図6の「物体ID」と「場所ID」に対応している。
このようにして、一の撮影画像を用いて書籍31に貼付された物体コードの物体識別子と、書籍31の存在場所である棚30に貼付された場所識別子と、を対応付けることができ、物体である書籍31と、その存在場所とを対応付ける情報を容易に取得することが可能となる。
(具体例2)
なお、上記具体例1においては、各領域から検出されたコードから取得した識別子が、物体コードであることを示す識別子であるか、場所コードであることを示す識別子であるかによって(具体的には、物体識別子であるか場所識別子であるかによって)、各コードから物体識別子または場所識別子を取得するようにした場合について説明したが、この具体例においては、各領域から検出されたコードの位置によって、各コードから物体識別子または場所識別子を取得する例について説明する。
撮影画像から、カラーコードを検出し、第一の領域403及び第二の領域404を検出するまでは、具体例1と同様である。
識別子取得部103は、第一の領域403において検出されたカラーコードにおいて、撮影画像内において最も下方に位置するカラーコードを検出する。カラーコードの位置としては、例えば、検出されたカラーコードの最も下の位置(座標)を用いる。例えば、図4(b)においては、カラーコード401hが、最も下方に位置するカラーコードとして検出される。そして、この最も下方に位置するカラーコード401hから取得した識別子「10115013」を場所識別子として取得する。また、他のカラーコード401a〜カラーコード401dからそれぞれ取得した識別子を物体識別子として取得する。
そして、識別子出力部105は、識別子取得部103が第一の領域403について取得した複数の物体識別子を、この第一の領域403について取得した一の物体識別子と対応付けて、識別子格納部104に蓄積する。
そして、同様の処理を、第二の領域404において検出されたカラーコードについても行なう。
このようにして、カラーコードの識別子を、物体識別子や場所識別子と比較する処理を省略することができる。
(具体例3)
この具体例においては、表示物が、場所識別子を示す文字列である場合について説明する。なお、ここでは、図6の「場所情報」の属性値である文字列を、場所識別子として用いる例について説明する。
図8は、図3に示した書棚において、場所コードの代わりに場所識別子を示す文字列802を配置した書棚を、撮影装置102で撮影した撮影画像80を示す図(図8(a))、及び撮影画像において検出された物体コード801a〜801g、及び撮影画像80において検出された文字列の画像801h及び801iを示す図である。
例えば、図3に示した書棚において、場所コードの代わりに場所識別子を示す文字列802を配置した書棚を、撮影装置102を用いて撮影して、図8(a)に示すような撮影画像80を取得したとする。
撮影画像受付部101は、撮影装置102から図8(a)に示すような撮影画像80を受け付ける。
識別子取得部103は、撮影画像受付部101が受け付けた撮影画像80において、カラーコードを検出することで、カラーコードである物体コード801a〜801gを検出し、各物体コードに対応する物体識別子を取得する。また、識別子取得部103は、撮影画像80において、OCR等の文字認識処理を行なうことで、文字列の画像801h及び801iを検出し、それぞれに対応する文字列を取得する。例えば、画像801hから文字列「A4」を取得し、画像801iから文字列「A5」を取得する。
また、識別子取得部103は、上記の具体例1と同様に撮影画像80において、第一の領域403と、第二の領域404とを検出する。
識別子取得部103は、第一の領域403内に位置する物体コード801a〜801dから取得した物体識別子と、第一の領域403内に位置する文字列の画像801hから取得した文字列「A4」とを取得し、識別子出力部105は、これらを対応付けて識別子格納部104に蓄積する。
同様に、識別子取得部103は、第一の領域403内に位置する物体コード801e〜801gから取得した物体識別子と、第一の領域403内に位置する文字列の画像801iから取得した文字列「A5」とを取得し、識別子出力部105は、これらを対応付けて識別子格納部104に蓄積する。
図9は、識別子格納部104に対応付けて格納されている物体識別子と、場所識別子とを管理する物体場所管理表である。物体場所管理表の「物体ID」は、場所コードから読み出された場所識別子であり、「場所ID」は、文字列の画像から文字認識により取得された場所識別子である。
この処理の場合、撮影画像において検出したコードから、物体識別子と場所識別子とのいずれが取得できるかを判断する処理等が不要となる。
(具体例4)
この具体例4においては、上記具体例3において、第一の領域403と第二の領域404とを検出することで、それぞれの領域に含まれる物体コードと表示物の組毎に一以上の物体識別子と場所識別子との組を取得する代わりに、各物体コードと表示物との距離により、一以上の物体コードと表示物との組を検出して、この組について一以上の物体識別子と場所識別子との組を取得するようにしたものである。
識別子取得部103が、図8(a)に示す撮影画像80から、カラーコードである物体コード801a〜801gを検出して各物体コードに対応する物体識別子を取得し、OCR等の文字認識処理を行なうことで、表示物である文字列の画像801h及び801iを検出してそれぞれに対応する文字列を取得する処理は、上記具体例3と同様である。
識別子取得部103は、撮影画像80において検出した各物体コード801a〜801gのそれぞれについて、撮影画像80内において最も近くに位置する文字列の画像を、上記で検出した文字列の画像801h及び801iの中から検出する。例えば、物体コード801a〜801dに最も近い文字列の画像として、画像801hを検出したとする。また、物体コード801e〜801gに最も近い文字列の画像として、画像801iを検出したとする。
識別子出力部105は、各物体コードから取得した物体識別子と、各物体コードに近い文字列の画像から取得した場所識別子とを対応付けて、識別子格納部104に蓄積していく。例えば、物体コード801aについて取得した物体識別子「11202241」と、文字列の画像801hから取得した「A4」とを対応付けて蓄積する。また、物体コード801bについて取得した物体識別子「11202242」と、文字列の画像801hから取得した「A4」とを対応付けて蓄積する。また、物体コード801eについて取得した物体識別子「11202245」と、文字列の画像801hから取得した「A5」とを対応付けて蓄積する。このようにして、図9と同様の物体場所管理表を得ることができる。
このように、本具体例においても、結果的に、撮影画像内の一の表示物と、この表示物が最も近い表示物である同じ撮影画像内の一以上の物体コードと、の組毎に一以上の表示識別子と一の物体識別子とを取得し、出力(ここでは蓄積)することができる。また、一以上の物体コードと場所コードとの組が配置されている領域を検出することなく、、一以上の物体コードと場所コードとの複数の組のそれぞれから、物体識別子と場所識別子との組を取得することができる。
以上、本実施の形態によれば、物品の存在場所を管理するための情報を容易に作成することができる。例えば、物体コードが配置された物体(例えば、書籍)を、場所コードが配置された場所に存在する状態で撮影することで、物体の物体識別子と、この物体が存在する場所の場所識別子とを対応付けることが可能となる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、物体に配置されたコードであって、前記物体の識別子である物体識別子と対応付けられたコードである1以上の物体コードと、場所の識別子である場所識別子と対応付けられた表示物と、が撮影された画像である撮影画像を受け付ける撮影画像受付部と、撮影画像受付部が受け付けた撮影画像内の一以上の物体コードとそれぞれ対応付けられた一以上の物体識別子と、撮影画像内の表示物と対応付けられた場所識別子とを取得する識別子取得部と、識別子取得部が取得した一以上の物体識別子と、識別子取得部が取得した場所識別子とを対応付けて出力する識別子出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図10は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図10において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図11は、コンピュータシステム900の内部構成を示す図である。図11において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。