以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置1は、形状情報格納部101、配置用情報格納部102、取得条件情報格納部103、面情報取得部104、画像情報構成部105、出力部106、オブジェクト配置情報格納部107、変更指示受付部108、オブジェクト配置情報更新部109、取得条件情報受付部110、取得条件情報更新部111、配置用情報受付部114、配置用情報蓄積部115を具備する。
本実施の形態にかかる情報処理装置1は、例えば、コンピュータや、携帯電話や、PDA(携帯情報端末)、携帯電話と情報端末とを組み合わせた高機能携帯電話、携帯型デジタル音楽プレーヤ、テレビ等の表示デバイスを有するオーディオビジュアル機器等の情報機器である。かかることは他の実施の形態においても同様である。
形状情報格納部101は、立体のオブジェクトである立体オブジェクトの形状を指定する情報である形状情報が格納され得る。形状情報とは、仮想3D空間内で使えるオブジェクトの形状等を定義する情報である。形状情報は、例えば、立体オブジェクトのいわゆるモデリング情報である。ここで述べる立体オブジェクトは、例えば3Dオブジェクトや3Dモデルや立体モデルと呼ばれるものも含む。形状情報は、立体オブジェクトの頂点の座標の情報や、境界線や面等を表現する方程式のパラメータの情報等である。立体オブジェクトは、通常、面を定義する情報、あるいは面を定義可能な情報を有しており、1以上の面により構成されている。立体オブジェクトは、例えば、面の構成方法によって、ポリゴンモデリングや、自由曲面を利用したモデリング等に分類できる。形状情報には、立体オブジェクトを出力する際の、立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を含んでも良い。形状情報格納部101には、1以上の立体オブジェクトの形状情報が格納され得る。立体オブジェクトの形状は、球、円柱、六面体や八面対等の多面体や、立方体、円錐、角錐等、どのような形状であっても良い。形状情報のサイズ等の単位等は、絶対的な単位であっても、相対的な単位であっても良い。また、複数の立体オブジェクトにおいて、共用可能な形状情報等は、リンク情報等を用いて参照することで、相互利用できるようにしても良い。形状情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
配置用情報格納部102は、立体オブジェクトを構成する面に配置可能な1以上の情報である配置用情報が格納され得る。配置用情報は、立体オブジェクトを構成する面に配置して出力、例えば表示可能な情報であれば、静止画や動画等の画像情報や、テキスト情報等、どのような情報であっても良い。また、ここで述べる配置とは、いわゆる立体オブジェクトの面に対する画像情報等のマッピングと考えても良い。また、配置用情報は、マッピング対象となる情報、例えばテクスチャ情報と考えても良い。配置用情報のデータ構造は問わない。例えば配置用情報は、タグ付けされた情報であっても良い。また、配置用情報は、テーブルや、データベースにより、例えば属性等と対応付けて管理された情報でも良い。また、配置用情報は、予めグループ化されていても良い。配置用情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
取得条件情報格納部103には、立体オブジェクトを構成する1以上の面のそれぞれに配置する情報を、配置用情報から取得するための条件を示す情報である取得条件情報が格納され得る。取得条件情報格納部103には、立体オブジェクトを構成する全ての面にそれぞれ配置する情報を取得するための取得条件情報が格納されていてもよいし、一部の面に配置する情報を取得するための取得条件情報が格納されていても良い。情報取得条件情報は、1以上の立体オブジェクトの面に配置される1以上の配置用情報を結果的に指定可能な情報であれば、どのような情報であっても良い。例えば、取得条件情報は、配置用情報が項目分けされている場合、その項目を指定する情報であってもよい。また、配置用情報が属性を有している場合、その属性を指定する情報であっても良い。また、配置用情報がタグ付けされている場合、タグ名を指定する情報であっても良い。また、配置用情報にインデックス情報が付与されている場合、このインデックスを指定する情報であっても良い。また、配置用情報の場所やファイル名やディレクトリ等を指定する情報であっても良い。また、配置用情報を検索するための検索式や演算式であっても良い。なお、検索式は、必ずしも式の形で示されている必要はなく、検索に利用可能なキーワード等であっても良い。例えば、この検索式で示される取得条件情報は、「select」、「from」、「where」等の組み合わせ等である。なお、「select」は取得する配置用情報の項目、「from」は検索対象となる複数の配置用情報を指定する情報、「where」は検索のための条件を示す情報である(SQLの仕様を参照)。また、演算式で示される取得条件情報とは、例えば、1以上の配置用情報に対して行われる演算式であり、例えば、数値で表される2つの配置用情報を指定する情報と、これらの平均を算出する演算式等で表されたものや、現在の時間等に所定時間を加減算する演算式等で表されたもの等である。取得条件情報とは、出力対象となりうる全ての立体オブジェクトにそれぞれ個別に指定されていてもよいし、全ての立体オブジェクト共通に指定されていても良い。また、一部の立体オブジェクトに共通に指定されていても良い。また、立体オブジェクトに属性等が設定されている場合、この属性が一致する立体オブジェクトに共通の取得条件を指定しても良い。また、取得条件情報は、立体オブジェクトの各面に対して予め指定されていてもよいし、各面にランダムに指定されても良い。取得条件情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
面情報取得部104は、取得条件情報格納部103に格納されている取得条件情報を用いて、形状情報格納部101に格納されている形状情報が示す各立体オブジェクトの1以上の面に対して配置する情報である面情報を、配置用情報から取得する。具体的には、面情報取得部104は、各立体オブジェクトの各面に設定されている取得条件情報により指定された配置用情報を、面情報として取得する。例えば、立体オブジェクトの一の面に対して設定されている取得条件情報が検索式である場合、面情報取得部104は、取得条件情報の検索式に合致する配置用情報を、面情報として取得する。また、取得条件情報が演算式である場合、演算を行って面情報を取得する。また、配置用情報がグループ化されており、当該グループと各立体オブジェクトの形状情報とが対応付けられている場合、例えば、各形状情報にグループを指定する情報が含まれる場合、面情報取得部104は、当該立体オブジェクトに対応付けられた配置用情報のグループのなかから取得条件情報に合致する配置用情報を面情報として取得する。面情報取得部104は、通常、MPUやメモリ等から実現され得る。面情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画像情報構成部105は、立体オブジェクトの形状情報を読み出し、当該読み出した立体オブジェクトの一以上の面に対して、各面に対応した取得条件情報に応じて面情報取得部104が取得した面情報を配置した画像情報を構成する。ここで構成する画像情報は、例えば最終的に表示等の出力を行う際に利用される画像情報である。この画像情報は、例えばビットマップデータ等である。また、テキストの情報等から表示用の画像情報、例えば、ビットマップデータ等を構成することも、この画像情報を構成する処理に含まれる。立体オブジェクトの面に対して、画像情報やテキスト情報等の情報を配置して二次元の画像を構成する処理は、いわゆるレンダリング処理と呼ばれる処理であり、公知技術であるのでここでは、説明を省略する。また、この画像情報を構成する処理において、形状情報等が有する立体オブジェクトの色や、透明度、反射、屈折率、バンプなどの設定項目の情報を用いて、レンダリングを行うようにしても良い。画像情報構成部105は、通常、MPUやGPU(Graphics Processing Unit)やメモリ等から実現され得る。画像情報構成部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部106は、画像情報構成部105が構成した画像情報を出力する。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部106は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部106は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
オブジェクト配置情報格納部107には、立体オブジェクトの配置を指定する情報であるオブジェクト配置情報が格納され得る。ここで述べる配置とは、仮想三次元空間内における配置である。この配置は、例えば、立体オブジェクトの位置と方向との組み合わせを有する概念である。オブジェクト配置情報は、立体オブジェクトの配置を結果的に指定可能な情報であればよく、例えば、立体オブジェクトが配置される位置の座標や、立体オブジェクトの方向を指定する情報である。また、立体オブジェクトの大きさ等を指定する情報であっても良い。立体オブジェクトの位置を指定する座標は、仮想三次元空間内に設定された絶対的な座標であっても良いし、他の立体オブジェクト等に対して設定された相対的な座標であっても良い。また、立体オブジェクトの位置を指定する座標は、立体オブジェクトを構成する辺等が集まる頂点の座標であっても良いし、立体オブジェクトの中心等の位置の座標であっても良い。なお、ここでは、上述した画像情報構成部105は、このオブジェクト配置情報を読み出して、このオブジェクト配置情報が示す仮想三次元空間内の位置に立体オブジェクトを配置した画像情報を構成するようにする。なお、ここではオブジェクト配置情報と立体オブジェクトの形状情報とをそれぞれ設けた場合について説明するが、オブジェクト配置情報を形状情報内に含めるようにしても良い。例えば、形状情報の頂点の情報を、例えば、絶対座標とすることで、形状情報をオブジェクト配置情報として用いて、立体オブジェクトの配置も指定可能となる。オブジェクト配置情報格納部107は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
変更指示受付部108は、立体オブジェクトの配置に対する変更指示を受け付ける。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。変更指示は、例えば、立体オブジェクトの配置を変更させるためのコマンド、例えば「x軸に沿って90°回転」というコマンド等であっても良いし、変更後の、立体オブジェクトの配置を指定する座標の情報等でもよい。変更指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。例えば、図示しないディスプレイ等に表示されている立体オブジェクトの面の一部をクリックしたり、面や辺をドラッグすることにより、立体オブジェクトの位置を仮想三次元空間内で移動させる指示を受け付けたり、立体オブジェクトの向きを仮想三次元空間内で変更、例えば回転させる指示を受け付けるようにしても良い。例えば、立体オブジェクトの側面の一つをクリックすることで、その面が正面を向くような配置の変更指示を受け付けても良い。このように、表示されている立体オブジェクトに対するマウス等を用いた操作により、配置を変更する指示を受け付けることが、ユーザによる直感的な操作を受け付ける受けで好ましい。変更指示受付部108は、テンキーやキーボードやマウス等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
オブジェクト配置情報更新部109は、変更指示受付部108が受け付けた変更指示に応じて、オブジェクト配置情報格納部107に格納されている当該変更指示の対象となる立体オブジェクトのオブジェクト配置情報を更新する。例えば、変更指示が、変更後の座標の情報や向きの情報等を含む場合、この変更後の座標の情報や向きの情報等でオブジェクト配置情報を更新するようにすればよい。また、変更指示が配置の変更を指示するコマンド等である場合、このコマンドと現在のオブジェクト配置情報とから、変更後の座標の情報や向きの情報等を算出し、この算出した情報で、オブジェクト配置情報を更新するようにすればよい。オブジェクト配置情報更新部109は、通常、MPUやメモリ等から実現され得る。オブジェクト配置情報更新部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、オブジェクト配置情報が、上述したように形状情報に含まれるものとなっている場合、変更指示に応じて、形状情報を変更することが、実質的にオブジェクト配置情報を更新することとなる。
取得条件情報受付部110は、立体オブジェクトを構成する1以上の面について、上述した取得条件情報を受け付ける。取得条件情報受付部110は、全ての取得条件情報を受け付けてもよいし、更新や追加が必要な取得条件情報だけを受け付けるようにしても良い。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。取得条件情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。取得条件情報受付部110は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
取得条件情報更新部111は、取得条件情報受付部110が受け付けた取得条件情報により、取得条件情報格納部103に格納されている取得条件情報を更新する。例えば、取得条件情報の追加や上書きする。取得条件情報更新部111は、通常、MPUやメモリ等から実現され得る。取得条件情報更新部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
配置用情報受付部114は、配置用情報を受け付ける。配置用情報受付部114は、全ての配置用情報を受け付けてもよいし、更新や追加が必要な配置用情報だけを受け付けるようにしても良い。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。配置用情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。配置用情報受付部114は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
配置用情報蓄積部115は、配置用情報受付部114が受け付けた配置用情報により、配置用情報格納部102に格納されている取得条件情報を更新する。例えば、配置用情報の追加や上書きを行う。配置用情報蓄積部115は、通常、MPUやメモリ等から実現され得る。配置用情報蓄積部115の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報処理装置の動作について図2のフローチャートを用いて説明する。なお、ここでは、予め配置用情報や取得条件情報等が、ユーザ等の指示により、配置用情報格納部102や取得条件情報格納部103等に蓄積されている場合を例に挙げて説明する。
(ステップS201)情報処理装置2、例えば画像情報構成部105等は、カウンタnに1を代入する。
(ステップS202)画像情報構成部105は、n番目の立体オブジェクトの形状情報を、形状情報格納部101から読み出す。読み出した形状情報は、図示しないメモリ等の記憶媒体に一時記憶する。
(ステップS203)面情報取得部104は、カウンタmに1を代入する。
(ステップS204)画像情報構成部105は、n番目の立体オブジェクトのm番目の面に対応した取得条件情報を、取得条件情報格納部103から読み出す。取得条件情報がない場合、ステップS205の処理を行わずに、ステップS206に進んでも良い。
(ステップS205)面情報取得部104は、ステップS204において読み出した取得条件情報に合致する配置用情報である面情報を、配置用情報格納部102から読み出す。読み出した面情報は、図示しないメモリ等の記憶媒体に一時記憶する。合致する面情報がない場合、読み出しは行わない。
(ステップS206)面情報取得部104は、カウンタmを1インクリメントする。
(ステップS207)面情報取得部104は、ステップS202で読み出したn番目の立体オブジェクトにm番目の面があるか否かを判断する。ある場合、ステップS204に戻り、ない場合、ステップS208に進む。
(ステップS208)画像情報構成部105は、n番目の立体オブジェクトのオブジェクト配置情報を、オブジェクト配置情報格納部107から読み出す。
(ステップS209)画像情報構成部105は、n番目の立体オブジェクトの画像情報を構成する。具体的には、画像情報構成部105は、ステップS205において一時記憶した面情報を用いてレンダリングを行う。例えば、ステップS205において一時記憶した面情報を順次、ステップS202で一時記憶した立体オブジェクトの面に配置した画像情報を構成する。このとき、ステップS205において一時記憶した面情報は、当該面情報を取得する際に用いた取得条件情報が対応している面に配置する。
(ステップS210)情報処理装置2は、カウンタnを1インクリメントする。
(ステップS211)情報処理装置2、例えば、画像情報構成部105等は、n番目の立体オブジェクトがあるか否かを判断する。ある場合、ステップS202に戻り、ない場合、ステップS212に進む。
(ステップS212)出力部106は、ステップS209において取得した画像情報を出力する。なお、必要に応じて、複数回のステップS209において取得した複数の画像情報の合成を行ったのち、出力しても良い。また、この合成は、画像情報構成部105が行うようにしても良い。
(ステップS213)変更指示受付部108は、変更指示を受け付けたか否かを判断する。受け付けた場合、ステップS214に進み、受け付けていない場合、ステップS215に進む。
(ステップS214)オブジェクト配置情報更新部109は、ステップS213において受け付けた変更指示に応じてオブジェクト配置情報格納部107に格納されているオブジェクト配置情報を更新する。そして、ステップS201に戻る。
(ステップS215)取得条件情報受付部110は、取得条件情報を受け付けたか否かを判断する。受け付けた場合、ステップS216に進み、受け付けていない場合、ステップS217に進む。
(ステップS216)取得条件情報更新部111は、取得条件情報格納部103に格納されている取得条件情報をステップS215において受け付けた取得条件情報で更新する。そして、ステップS201に戻る。
(ステップS217)配置用情報受付部114は、配置用情報を受け付けたか否かを判断する。受け付けた場合、ステップS218に進み、受け付けていない場合、ステップS213に戻る。
(ステップS218)配置用情報蓄積部115は、配置用情報格納部102に格納されている配置用情報をステップS217において受け付けた配置用情報で更新する。そして、ステップS201に戻る。
なお、図2のフローチャートにおいて、ステップS201の前の処理等において、予めオブジェクト配置情報格納部107に格納されているオブジェクト配置情報と形状情報とから、演算により、出力可能な範囲に配置される立体オブジェクトを判断して、出力可能な立体オブジェクトだけについて面情報等を取得し、立体オブジェクトの画像情報を構成するようにしても良い。
また、立体オブジェクトの形状情報から、演算等により裏面となる面を予め判断するようにして、裏面となる面の面情報を、ステップS204やステップS205により取得しないようにしても良い。
また、図2のフローチャートにおいては、各立体オブジェクトについての面情報を取得後に、各立体オブジェクトの画像情報を順次構成するようにしたが、全ての立体オブジェクトについての面情報を取得後に、全ての立体オブジェクトの画像情報を構成するようにしても良い。このようにすることで、立体オブジェクト同士が重なった部分等をレンダリングする必要がなくなる。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。ここでは、情報処理装置1により、商品についてのカタログを表示する場合を例に挙げて説明する。なお、ここでは、仮想三次元空間内の横方向(幅方向)をx軸、縦方向(高さ方向)をy軸、奥行き方向をz軸とした場合について説明している。また、ここでは、立体オブジェクトが直方体である場合を例に挙げて説明する。
図3は、形状情報格納部101に格納されている形状情報を管理するための形状情報管理表である。形状情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。形状情報管理表は、「オブジェクトID」、「サイズx」、「サイズy」、「サイズz」、「対応グループ」という属性を有している。「オブジェクトID」は立体オブジェクトを識別するための識別情報である。「サイズx」は、立体オブジェクトの仮想三次元空間内におけるx軸方向の長さ、すなわち幅である。「サイズy」は、立体オブジェクトの仮想三次元空間内におけるy軸方向の長さ、すなわち高さである。「サイズz」は、立体オブジェクトの仮想三次元空間内におけるz軸方向の長さ、すなわち奥行きである。なお、各サイズの単位等は、ピクセル等どのような単位であっても良い。「対応グループ」は、各レコードの形状情報が対応している配置用情報のグループを指定するための情報である。例えば、「商品名"洗濯機"」は、要素が「洗濯機」である商品名タグを有する配置用情報のグループを指定する情報である。配置用情報がグループ化されていない場合や、形状情報に対応する配置用情報のグループを指定する必要がない場合、この属性は省略しても良い。
図4は、オブジェクト配置情報格納部107に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。オブジェクト配置情報は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。オブジェクト配置情報は、「オブジェクトID」、「座標(x,y,z)」、および「回転角度(x,y,z)」という属性を有している。「オブジェクトID」は、立体オブジェクトを識別するための識別情報であり、上述した形状情報の「オブジェクトID」と対応している。「座標(x,y,z)」は、同じレコードの「オブジェクトID」が示す立体オブジェクトが配置される座標を示す情報であり、ここでは、立体オブジェクトの中心の座標である場合について説明する。ここでは、この座標の値は、仮想三次元空間内の絶対座標であるとする。「回転角度(x、y、z)」は、立体オブジェクトのx軸、y軸、z軸をそれぞれ回転軸とした場合の回転角度を示す。なお、それぞれの値が(0,0,0)である場合、立体オブジェクトの幅方向、高さ方向、および奥行き方向が、それぞれ仮想三次元空間内のx軸方向、y軸方向、およびz軸方向に平行に配置されるものとする。
図5は、取得条件情報格納部103に格納されている取得条件情報を管理する取得条件情報管理表を示す図である。取得条件情報管理表は、ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。取得条件情報管理表は、「前面」、「後面」、「上面」、「下面」、「左面」、「右面」という属性を有している。「前面」、「後面」、「上面」、「下面」、「左面」、「右面」は、立体オブジェクトの前面、後面、上面、下面、左面、右面にそれぞれ配置される配置用情報を指定するための取得条件情報である。例えば、「仕様」は、通常「<仕様>」と表示される仕様タグが付加された配置用情報を指定する取得条件情報である。また、「商品名,色」は、商品名タグと、色タグとが付加された配置用情報の両方を指定する取得条件情報である。なお、「−」は、取得条件情報がないことを示す。ここでは、例として、各面に配置される配置用情報のタグを指定する情報であるとする。立体オブジェクトの前面、後面、上面、下面、左面、右面は、それぞれ、形状情報が示す直方体の立体オブジェクトを、デフォルトの状態、すなわち、立体オブジェクトの幅方向、高さ方向、および奥行き方向を、それぞれ仮想三次元空間内のx軸方向、y軸方向、およびz軸方向に平行に配置した状態での、立体オブジェクトに向かって前面、後面、上面、下面、左面、右面を示している。立体オブジェクトを構成する各面は、例えば、各面の頂点の相対座標等で定義されていても良い。なお、ここでは、形状情報が示す全ての立体オブジェクトが立方体であるため、全ての立体オブジェクトを構成する面についての取得条件情報を、一レコードの取得条件情報で定義している。ただし、各立体オブジェクト別や立体オブジェクトのグループ別等に取得条件情報を設定するようにしても良く、この場合、取得条件情報のレコードに対して、当該取得条件情報を適用する立体オブジェクト、あるいは立体オブジェクトのグループを指定するための属性、例えば上述した「オブジェクトID」等の属性を付加するようにすればよい。
図6は、配置用情報格納部102に格納されている配置用情報を示す図である。ここでは、例として配置用情報がXML形式のデータを構成している場合について説明する。ただし、配置用情報は、XML形式のデータでなくても良く、例えば、データを項目や属性別等に参照可能な形式のデータであれば良い。図6に示したXML形式のデータにおいて、各配置用情報は、タグ付けられたデータ、すなわち開始タグと終了タグとで囲まれたデータであるとする。配置用情報ここでは例として、ユーザ等により予め作成され、蓄積されているものとする。また、ここでは、配置用情報が商品別にグループ化されているものとする。すなわち、一対の商品タグ、すなわち「<商品>」と「</商品>」とで区切られた範囲のタグ付けられたデータが一の商品の配置用情報であるとする。なお、配置用情報として、ファイル等を指定する情報、例えばリンク情報が含まれる場合、これにより指定されたファイルの情報が配置用情報として面情報取得部104により取得される。
まず、例えば、ユーザが、情報処理装置1に対して、商品についてのカタログを表示する指示を与えたとすると、情報処理装置1の画像情報構成部105は、まず、図3に示した「オブジェクトID」が「OBJ1」である形状情報を読み出し、メモリ等に一時記憶する。
次に、面情報取得部104が、画像情報構成部105が形状情報を読み出した立体オブジェクト、すなわち「オブジェクトID」が「OBJ1」である立体オブジェクト(以下、立体オブジェクト「OBJ1」と称す)を構成する面に配置する配置領域情報を、以下のように、取得条件情報を用いて取得する。
まず、立体オブジェクト「OBJ1」を構成する各面の取得条件情報を、図5に示した取得条件情報管理表から読み出す。そして、図6に示した配置用情報のうちの、図3に示した形状情報管理表の、立体オブジェクト「OBJ1」の「対応グループ」属性の値により指定される配置用情報のグループの中から、各面の取得条件情報に合致する配置用情報を順次読み出す。
図7は、立体オブジェクト「OBJ1」と、各面の取得条件情報との関係を示す模式図である。
具体的には、図3の形状情報管理表から、立体オブジェクト「OBJ1」の「対応グループ」属性の値である「商品名"洗濯機"」を読み出す。この値は、立体オブジェクト「OBJ1」に対応した配置用情報のグループは、商品名タグの要素が「洗濯機」である配置用情報を含むグループであることを意味する。つぎに、図5に示した取得条件情報は、全ての立体オブジェクトに共通の取得条件情報であるため、まず、図5の「前面」の取得条件情報である「商品名,色」を読み出す。そして、図6に示した配置用情報のうちの、要素が「洗濯機」である商品名タグを含む配置用情報のグループの中から、「商品名タグ」が付けられた情報(要素)と、「色」タグが付けられた情報(要素)とを読み出す。ここでは、要素が「洗濯機」である商品名タグを含む配置用情報のグループは、図6における一つめの商品タグにより囲まれた範囲内のタグ付けされた情報であるため、この商品タグに囲まれた範囲から、商品名タグが付けられた「洗濯機」というテキスト情報である配置用情報と、「色」タグが付けられた「洗濯機赤.gif」、「洗濯機白.gif」、「洗濯機黒.gif」という画像情報を指定する情報を読み出す。この「洗濯機赤.gif」、「洗濯機白.gif」、「洗濯機黒.gif」は、それぞれ、赤色の洗濯機の画像情報、白色の洗濯機の画像情報、黒色の洗濯機の画像情報であるとする。そして、画像情報を指定する情報については、これらの指定された画像情報を、配置用情報格納部102や図示しない記憶媒体等から読み出す。そして、読み出した情報を、立体オブジェクト「OBJ1」の「前面」に対応付けて、図示しない記憶媒体等に一時記憶する。
同様にして、立体オブジェクト「OBJ1」を構成する他の面についても配置用情報を取得する。例えば、上面については、「ドライ機能」、「イオン機能」というテキスト情報が取得される。また、右面については、「15万円」というテキスト情報が取得される。なお、これらの取得した配置用情報とともに、配置用情報のタグの名称のテキスト情報、例えば、「商品名」、「仕様」、「色」、「価格」等を取得して、取得した配置用情報とともに蓄積するように設定しても良い。また、取得条件情報がない面については、取得条件情報を取得する処理は行わない。
そして、全ての面についての取得条件情報を取得する処理が終わると、画像情報構成部105は、図4に示したオブジェクト配置情報管理表から、立体オブジェクト「OBJ1」に対応したオブジェクト配置情報を読み出す。具体的には、「オブジェクトID」が「OBJ1」であるレコードの「座標(x,y,z)」の値である「(100,300,100)」、および「回転角度(x,y,z)」の値である「(0,0,0)」を読み出す。そして、画像情報構成部105は、立体オブジェクト「OBJ1」の形状情報が示す立体オブジェクト「OBJ1」の画像情報を構成する。このとき、立体オブジェクト「OBJ1」の配置、具体的には位置と向きは、オブジェクト配置情報管理表から読み出したオブジェクト配置情報が示す配置となるように設定する。また、立体オブジェクト「OBJ1」の各面には、当該各面に指定された取得条件情報を用いて面情報取得部104が取得した配置用情報である面情報が配置される。なお、ここでは、立体オブジェクトの投影図が構成されるように、座標軸が設定されているものとする。
また、同様に、他の立体オブジェクトについても、同様に、面情報を取得し、立体オブジェクトの画像情報を構成する。
そして、画像情報構成部105は、構成した複数の立体オブジェクトの画像情報を合成し、出力部106が、画像情報構成部105が合成した画像情報を出力する。ここでは、出力部106は、モニタ504に接続されており、当該モニタに合成した立体オブジェクトの画像情報を表示する。図8に表示例を示す。図8において、立体オブジェクト801は立体オブジェクト「OBJ1」、立体オブジェクト802は、立体オブジェクト「OBJ2」、立体オブジェクト803は、立体オブジェクト「OBJ3」であるとする。なお、本実施の形態において座標の値や図に示される立体オブジェクトの位置等については、説明のためのものであり、実際のサイズ等に合わせて正確に描かれたものではない。かかることについては、他の実施の形態においても同様である。図8に示すように、各立体オブジェクトは、それぞれが商品に対応しており、各商品の色別の画像や、仕様や価格等が、それぞれの立体オブジェクトの面に表示されており、各商品とその商品に関連する仕様等の情報との対応関係が容易に把握できるようになっている。
次に、ユーザが、モニタ504に表示されている立体オブジェクト「OBJ1」である立体オブジェクト801に対して、マウスを操作して、位置を移動させるとともに、Z軸方向に回転させる指示を与えたとする。この操作によって、変更指示受付部108は、立体オブジェクト「OBJ1」について、移動後の座標情報として、(100,400,100)を、また、回転後の回転角度の情報として(0,90°,0)を受け付けたとする。例えば、この指示は、立体オブジェクト「OBJ1」を下方向に「100」移動させ、右回りに90°回転させる指示である。オブジェクト配置情報更新部109は、この受け付けた座標と回転角度の情報を用いて、オブジェクト配置情報格納部107に格納されている立体オブジェクト「OBJ1」のオブジェクト配置情報を更新、ここでは上書きする。更新後のオブジェクト配置情報管理情報を、図9に示す。
なお、図10に示すように、表示されている立体オブジェクトの面上に、立体オブジェクトを回転させるためのイベントを発生させる領域を設定して、この領域にボタン1000等を表示させ、この領域がポインタ等で押された場合に、立体オブジェクトを回転させるコマンド等が発生して、変更指示受付部108に渡されるようにしておいても良い。例えば、ここでは、ボタン1000がクリックされると、立体オブジェクト801を右側に90°回転させるコマンドが発生するようにしても良い。また、辺の近傍をクリックした場合に、このクリックされた辺に平行な軸を回転軸として立体オブジェクトを回転させるためのコマンドを発生させても良い。
変更指示受付部108が変更指示を受け付け、変更指示に応じてオブジェクト配置情報が更新されると、画像情報構成部105は、上記と同様に、変更後のオブジェクト配置情報を用いて画像情報を構成する。なお、このとき、面情報取得部104が取得した面情報を再度取得するようにしても良いし、直前に取得した面情報をそのまま用いるようにしても良い。また、配置が変更されていない立体オブジェクトの画像情報を再度構成するようにしても良いし、構成しなくても良い。そして出力部106が、構成した画像情報を図11に示すようにモニタ504に表示する。
また、図8に示した状態で、ユーザがキーボード等を操作して、立体オブジェクトの取得条件情報のうちの、「右面」の取得条件情報を、「メーカー」に変更する入力を行ったとする。取得条件情報更新部111は、この入力された取得条件情報により、取得条件情報格納部103に格納されている取得条件情報を更新、ここでは上書きする。更新された取得条件情報を図12に示す。
取得条件情報受付部110が取得条件情報を受け付け、取得条件情報更新部111が取得条件情報を更新すると、面情報取得部104は、更新された取得条件情報を用いて、各立体オブジェクトの面情報の再取得を行う。面情報取得部104は、ここでは、「メーカー」というタグの要素を面情報として取得する。そして、画像情報構成部105は、面情報取得部104が取得した面情報と、形状情報およびオブジェクト配置情報とを用いて、立体オブジェクトの画像情報を構成する。そして出力部106が、構成した画像情報を図13に示すようにモニタ504に表示する。
また、図8に示した状態で、ユーザがキーボード等を操作して、図6に示した配置領域情報の一部を変更する指示を与えたとする。例えば、商品名が「冷蔵庫」である商品の価格タグの属性値を、「14万円」に変更する指示を与えたとすると、配置用情報受付部114は、この「冷蔵庫」である商品の価格タグの属性値を、「14万円」に変更する指示を受け付け、配置用情報蓄積部115は、この入力された変更指示に従って、配置用情報格納部102に格納されている配置用情報を更新する。
配置用情報受付部114が配置用情報の変更指示を受け付け、配置用情報蓄積部115が配置用情報を更新すると、面情報取得部104は、更新された配置用情報を用いて、各立体オブジェクトの面情報の再取得を行う。そして、画像情報構成部105は、面情報取得部104が取得した面情報と、形状情報およびオブジェクト配置情報とを用いて、立体オブジェクトの画像情報を構成する。そして出力部106が、構成した画像情報を図14に示すようにモニタ504に表示する。
ここで、例えば、配置用情報格納部102に、図6に示したような配置用情報を有するファイルが複数格納されていたとし、図6に示した配置用情報のファイルのファイル名が、「カタログ.xml」であったとする。そして、ある立体オブジェクト「OBJ5」の取得条件情報として、前面及び右面だけに図15に示すような取得条件情報が指定されていたとする。なお、図15は、図12に示した取得条件情報管理表と同様の管理表において、立体オブジェクトを指定する「オブジェクトID」という属性を設けたものである。尚、ここでの取得条件情報において、「select""」は配置用情報の取得対象となる項目、ここではタグを指定する情報、「from""」は取得対象となる配置用情報が含まれる配置用情報の群、ここでは、ファイルを指定する情報、「where""」は、配置用情報を取得するための条件を指定する情報である。例えば、この前面の取得条件情報である「select "商品名" from "カタログ.xml" where "価格≦5万円"」は、「カタログ.xml」というファイルに含まれる、価格タグの属性値が5万円以下である商品の商品名タグの要素を取得することを指示する情報である。また、同様に、右面の取得条件情報は、同じ商品の価格タグの属性値を取得することを指示する情報である。
このような取得条件情報が立体オブジェクトの面に対して設定されている場合、面情報取得部104は、立体オブジェクト「OBJ5」の前面の面情報として、「カタログ.xml」というファイルに含まれる、価格タグの属性値が5万円以下である商品の商品名タグの要素を取得する。ここでは、商品名タグの値が「アイロン」の商品の価格タグの値が1万円であるため、この商品の商品名タグの値である「アイロン」を、立体オブジェクト「OBJ1」の前面の面情報として「カタログ.xml」というファイルから読み出す。また同様に右面の面情報については、同じ商品の価格タグの値である「1万円」を読み出す。この面情報を用いて構成された立体オブジェクト「OBJ5」の表示例を図16に示す。
また、図8に示したような立体オブジェクト「OBJ1」の表示を行う場合において、例えば、図6に示した配置用情報における「洗濯機」の価格タグが付けられた配置用情報として、「<価格>13万円</価格>」、「<価格>14万円</価格>」、および「<価格>15万円</価格>」の複数の配置用情報が用意されていたとする。さらに、図5に示した取得条件情報において、右面の属性値が、図17に示すように、「AVE"価格"」であったとする。この「AVE"価格"」は、価格タグが付けられた配置用情報が複数存在する場合に、それらの属性値の平均を取得することを意味する演算式であるとする。このような場合において、上述したように面情報取得部104が立体オブジェクト「OBJ1」が右面の面情報を取得する際には、立体オブジェクト「OBJ1」に対応する商品名タグが「洗濯機」である商品の全ての価格タグの値の平均である「14万円」を取得する。このようにすることで、配置用情報を用いて演算した結果を、立体オブジェクト上に表示させることが可能となる。
以上、本実施の形態によれば、立体オブジェクトの面上に関連する情報を配置して出力するようにしたことにより、情報同士の関連性をわかりやすく表示することができる。また、立体オブジェクトの配置を変更できるようにしたことにより、情報の出力をインタラクティブに操作することが可能となり、利便性が向上するとともに、ユーザ参加型の情報提示を行うことができる。
また、本実施の形態の情報処理装置は、多面的に定義され得る情報を出力可能な、新しいユーザインターフェースのモデルや、新しいファイルシステム、新しいウィンドウシステムとして利用可能である。
また、取得条件情報を用いて、配置用情報から、立体オブジェクトの面に配置する面情報を取得するようにしたことにより、取得条件情報や配置用情報等を変更することで、情報の削除や追加、変更等の更新が容易になる。また、取得条件に応じて、立体オブジェクト上に関連づけて表示した情報を動的に変更することが可能となる。
また、取得条件情報として、検索式や演算式を用いるようにしたことにより、配置用情報を適宜加工して出力することができ、面情報を取得する際の自由度を高くすることができる。
なお、上記実施の形態においては、形状情報格納部101に配置用情報に対応した形状情報が予め格納されている場合について説明したが、本発明においては、画像情報構成部105や図示しない処理部等が、配置用情報受付部114が受け付けた配置用情報に応じた形状情報を構成し、この構成した形状情報を用いて、出力用の画像情報を構成するようにしても良い。例えば、画像情報構成部や図示しない処理部が、配置用情報受付部114が受け付けた配置用情報から立体オブジェクトに配置される面情報の数の情報を取得し、この取得した数の情報がn(nは2以上の整数)であるとすると、このnの値を用いて、n面体、例えば正n面体の形状情報を自動生成するようにしても良い。このような正n面体を構成するアルゴリズム等は、予め図示しない記憶媒体等に蓄積しておき、必要な場合に読み出すようにすればよい。なお、かかることは、他の実施の形態においても同様である。
(実施の形態2)
本実施の形態にかかる情報処理装置は、上述した実施の形態において、立体オブジェクト同士が階層関係を有するとともに、上位の階層の立体オブジェクトの配置を変更した場合にも、当該配置を変更した立体オブジェクトに対する相対的な配置関係が保たれるよう、当該配置を変更した立体オブジェクトに直属の下位の立体オブジェクトの配置が変更されるようにしたものである。
図18は、本実施の形態にかかる情報処理装置の構成を示すブロック図である。この情報処理装置2は、上記実施の形態1の情報処理装置において、さらに第一階層情報格納部112を備えるようにし、オブジェクト配置情報更新部109の代わりに、オブジェクト配置情報更新部109aを備えるようにしたものである。なお、オブジェクト配置情報更新部109a、および第一階層情報格納部112以外の構成については、上記実施の形態1と同様であるので、詳細な説明は省略する。
第一階層情報格納部112には、立体オブジェクト間の階層関係を指定する階層情報である第一階層情報が格納され得る。第一階層情報は、例えば、各立体オブジェクトが直属している1以上の所定階層だけ上位、あるいは下位の立体オブジェクトを指定する情報等である。また、立体オブジェクトが木構造化されている場合、各立体オブジェクトのパスやノードを示す情報を第一階層情報としても良い。第一階層情報格納部112は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、第一階層情報が、どのように構成され蓄積されたかは問わない。この実施の形態では、第一階層情報格納部112に格納されている第一階層情報は、予めユーザによって作成されたものである場合について説明する。ただし、例えば、オブジェクト配置情報格納部107に格納されているオブジェクト配置情報を用いて、一の立体オブジェクトの内部に位置すると判断される立体オブジェクトを、当該立体オブジェクトを内包する立体オブジェクトの下位の階層の立体オブジェクトとする第一階層情報を、図示しない処理部や、オブジェクト配置情報更新部109等により構成して、第一階層情報格納部112に蓄積するようにしても良い。
オブジェクト配置情報更新部109aは、第一階層情報を用いて、変更指示受付部108が受け付けた立体オブジェクトの配置に対する変更指示に応じて、当該変更指示の対象となる立体オブジェクトの下位の階層にある立体オブジェクトのオブジェクト配置情報を、変更指示の対象となる立体オブジェクトに対する相対的な配置関係が変更されないように変更する。例えば、オブジェクト配置情報格納部107に格納されている立体オブジェクトの位置や向き等を指定するオブジェクト配置情報が、仮想三次元空間内の絶対座標を用いて指定されている場合等において、変更指示受付部108が、一の立体オブジェクトに対する配置を変更する指示を受け付けた場合、オブジェクト配置情報更新部109aは、当該変更指示を受け付けた立体オブジェクトのオブジェクト配置情報を、上記実施の形態と同様に変更指示に応じて変更するとともに、第一階層情報から、当該変更指示を受け付けた立体オブジェクトの下位の階層の立体オブジェクトを検出し、当該検出した立体オブジェクトについても、変更指示を受け付けた立体オブジェクトとの相対的な位置関係、例えば相対的な座標や、方向等が変化しないようなオブジェクト配置情報を演算し、演算により得られたオブジェクト配置情報で、下位の階層の立体オブジェクトのオブジェクト配置情報を更新する。なお、他の構成については、上述したオブジェクト配置情報更新部109と同様であるので説明は省略する。オブジェクト配置情報更新部109aは、通常、MPUやメモリ等から実現され得る。オブジェクト配置情報更新部109aの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、本実施の形態においては、立体オブジェクトとして、複数の立体オブジェクト間の階層関係を示す立体オブジェクトであるフォルダオブジェクトを備えていても良い。このフォルダオブジェクトについては、上述したような面情報を取得せずに、予め指定された立体オブジェクトの画像情報を構成するようにしても良い。このフォルダオブジェクトの形状情報は、例えば、形状情報格納部101に格納される。
また、本実施の形態においては、下位の階層の立体オブジェクトについては、直属の上位の階層の立体オブジェクトの内部に配置されるようにすることが好ましい。具体的には、下位の階層の立体オブジェクトについては、直属の上位の階層の立体オブジェクトの内部に配置されるようなオブジェクト配置情報をオブジェクト配置情報格納部107に蓄積することが好ましい。このようにすることで、視覚的に、立体オブジェクト間の階層関係が把握可能となる。
また、本実施の形態においては、出力部106から出力される画像等において、立体オブジェクトの内部に配置された他の立体オブジェクトが視覚的に認識できるようにするために、少なくとも内部に立体オブジェクトが配置されている立体オブジェクトについては、例えば当該立体オブジェクトから構成する画像情報に透過情報を持たせたり、ワイヤフレームのように枠だけの画像情報を構成したり、内部が透過するよう立体オブジェクトを重ね合わせた画像情報をレンダリングすること等により、内部が透過して見えるようにすることが好ましい。このような透過情報等は、予め、形状情報等に指定しておくようにしても良いし、画像情報構成部105が、画像情報を構成する際に、第一階層情報格納部112に格納されている第一階層情報を参照できるようにして、当該第一階層情報から各立体オブジェクト同士の階層関係を判断し、この判断結果から下位の階層の立体オブジェクトを包含する立体オブジェクトの透過度を決定して画像を構成するようにしてもよい。
次に、本実施の形態の情報処理装置2の動作について、図19のフローチャートを用いて説明する。なお、図19において、図2と同一符号は同一又は相当する処理を示している。
(ステップS1901)オブジェクト配置情報更新部109は、第一階層情報格納部112に格納されている第一階層情報を用いて、ステップS213で受け付けた変更指示に対応する立体オブジェクトの、下位の階層の立体オブジェクトを検出する。
(ステップS1902)オブジェクト配置情報更新部109は、ステップS1901において検出した立体オブジェクトのオブジェクト配置情報を、ステップS213で受け付けた変更指示に応じて当該変更指示が指定する立体オブジェクトとの相対的な配置が変更されないように、すなわち相対的な配置関係が保たれるように変更する。そして、変更したオブジェクト配置情報によりオブジェクト配置情報格納部107に蓄積する。そして、ステップS201に戻る。
なお、図19のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態の情報処理装置2の具体的な動作について説明する。
図20は、図3と同様の、形状情報格納部101に格納されている形状情報を管理するための形状情報管理表である。なお、ここでは、さらに、「対応取得条件」という属性を有しており、この「対応取得条件」の属性値が一致する形状情報に対応付けられている立体オブジェクトは、同じ取得条件情報に対応付けられているものとする。
また、図21は、図4と同様の、オブジェクト配置情報格納部107に格納されているオブジェクト配置情報を管理するためのオブジェクト配置情報管理表である。
図22は、図5と同様の、取得条件情報格納部103に格納されている取得条件情報を管理する取得条件情報管理表を示す図である。なお、ここでは、上述した形状情報管理表の「対応取得条件」と対応した「対応取得条件」という属性を有しており、各形状情報には、この値が合致する取得条件情報が適用されるよう指定されているとする。
図23は、図6と同様の配置用情報格納部102に格納されている配置用情報を示す図である。なお、ここでは、カタログタグで区切られた範囲のタグ付けられたデータも、一の配置用情報のグループであるとする。すなわち、配置用情報のグループがネスト化されているものとする。
図24は、第一階層情報格納部112に格納されている第一階層情報を管理するための第一階層情報管理表である。第一階層情報管理表は、「オブジェクトID」と、「上位階層」という属性を有している。「オブジェクトID」は、図20に示した形状情報管理表の「オブジェクトID」に相当する属性である。「上位階層」は、同じレコードの「オブジェクトID」属性に対応する立体オブジェクトの上位の階層にある立体オブジェクトの「オブジェクトID」を示す属性である。なお、上位の階層がない場合、値は「−」であるとする。
まず、ユーザが、情報処理装置2に対して、商品についてのカタログを表示する指示を与えると、上記実施の形態1の具体例と同様に、立体オブジェクトに対して指定されている取得条件情報に応じた面情報を取得し、各立体オブジェクトの画像情報を構成して、出力する。なお、ここでは、例として、各立体オブジェクトについて面情報を取得する際に、面情報取得部104は、各立体オブジェクトの形状情報に含まれる「対応取得条件」の値を検索キーとして、「対応取得条件」の値が同じ値である取得条件情報を検索し、検索により得られた取得条件情報が示す取得条件を用いて、配置用情報格納部102から各立体オブジェクトの面情報を取得するものとする。例えば、「対応取得条件」が「商品」である形状情報に対応する立体オブジェクトについては、図22に示した取得条件情報管理表の、「対応取得条件」が「商品」であるレコードの取得条件情報を用いて、各面の面情報を取得する。また、ここでは、画像情報構成部105が、「対応取得条件」が「カタログ」である形状情報に対応した立体オブジェクトの画像情報を構成する際には、立体オブジェクトの内部が透過するよう画像を構成するものとする。また、図20に示した形状情報管理表の「対応グループ」属性が「カタログ名"電化製品"」である形状情報に対応する立体オブジェクトについては、図23に示した配置用情報のうちの、「電化製品」という要素を有するカタログ名タグを含む配置用情報のグループから取得条件に合致する面情報を取得する。
このようにして情報処理装置2により構成された画像のモニタ504による表示例を図25に示す。図25において、立体オブジェクト「OBJ11」が立体オブジェクト251、立体オブジェクト「OBJ12」が、立体オブジェクト252、立体オブジェクト「OBJ13」が、立体オブジェクト253である。
次に、ユーザが、モニタ504に表示されている立体オブジェクト「OBJ11」である立体オブジェクト251に対して、マウスを操作して、位置を移動させるとともに、Z軸方向に回転させる指示を与えたとする。この操作によって、変更指示受付部108は、立体オブジェクト「OBJ11」について、移動後の座標情報として、(350,300,300)を、また、回転後の回転角度の情報として(0,−90°,0)を受け付けたとする。例えば、この指示は、立体オブジェクト「OBJ11」を右方向に「50」移動させ、右回りに90°回転させる指示である。オブジェクト配置情報更新部109aは、この受け付けた座標と回転角度の情報を用いて、オブジェクト配置情報格納部107に格納されている立体オブジェクト「OBJ11」のオブジェクト配置情報を更新、ここでは上書きする。
さらにオブジェクト配置情報更新部109は、変更指示受付部108が変更指示を受け付けた立体オブジェクト「OBJ11」の下位の階層の立体オブジェクトを、第一階層情報格納部112に格納されている、図24に示した第一階層情報管理表から検索する。具体的には、第一階層情報管理表の「上位階層」の属性値が変更指示を受け付けた立体オブジェクトの「オブジェクトID」である「OBJ11」に一致するレコードを検索し、検索により得られたレコードの「オブジェクトID」の属性と一致する「オブジェクトID」の値を有する形状情報に対応する立体オブジェクトを、下位の階層にある立体オブジェクトとして検出する。ここでは、「オブジェクトID」の値が「OBJ12」および「OBJ13」である立体オブジェクトが下位の階層の立体オブジェクトと判断される。オブジェクト配置情報更新部109は、「オブジェクトID」の値が「OBJ12」および「OBJ13」である立体オブジェクトのオブジェクト配置情報を、オブジェクト配置情報格納部107から読み出し、立体オブジェクト「OBJ11」に対して受け付けた変更指示を用いて、配置変更後の立体オブジェクト「OBJ11」との相対的な配置が、配置変更前の相対的な配置関係と変わらないように、「OBJ12」および「OBJ13」である立体オブジェクトのオブジェクト配置情報を変更する。ここでは、各立体オブジェクトの位置を指定する絶対座標については、立体オブジェクト「OBJ11」の位置を示す絶対座標が変更指示により変化した差分と同じだけ、各立体オブジェクトを変更させた上で、さらに、各立体オブジェクトを、立体オブジェクト「OBJ11」の回転角度が変更指示により変化した分だけ、立体オブジェクト「OBJ11」の回転の軸を中心として回転させた絶対座標を算出する。また、各立体オブジェクトの回転角度については、立体オブジェクト「OBJ11」の回転角度が変更指示により変化した分と同じ回転角度を、各立体オブジェクトの回転角度として取得する。そして、取得した絶対座標と回転角度とにより、オブジェクト配置情報格納部107に格納されている立体オブジェクト「OBJ12」および立体オブジェクト「OBJ13」のオブジェクト配置情報を更新する。更新したオブジェクト配置情報を、図26に示す。
そして、更新されたオブジェクト配置情報を用いて、立体オブジェクトの画像情報を構成して出力部106から出力する。出力例を図27に示す。
以上のように、本実施の形態においては、立体オブジェクトが階層構造を有するようにし、上位の立体オブジェクトの配置を変更した場合、下位のオブジェクトが上位のオブジェクトとの相対的な配置関係を保つよう配置を変更するようにしたことにより、上位の階層の立体オブジェクトを動かすと、下位の階層の立体オブジェクトもこれに追従して動くこととなる。例えば、上位の立体オブジェクトを回転させることで、下位の階層の複数の立体オブジェクトの側面や後面等を、一度に前面に向けて、これらの面に出力されていた情報を見やすくすることができる。
例えば、上記の具体例のように、上位の立体オブジェクトをカタログ全体を示す立体オブジェクトとし、その下位の階層の立体オブジェクトをカタログ内の商品を示す立体オブジェクトとし、これらの商品を示す立体オブジェクトの面に商品に関連する情報を配置しておいた場合において、上位の立体オブジェクトの向きを変更すると、カタログ内の複数の商品の立体オブジェクトも全て向きが変わって、複数の商品の立体オブジェクトの側面や後面等に配置されていた情報を、一度に見やすい位置に向けることができる。この結果、一つ一つの商品の立体オブジェクトの向きを変更する必要が無くなり、商品情報をより少ない手間で、かつ迅速に確認すること等が可能となる。また、上位の立体オブジェクトの位置を移動させることで、個々の商品の立体オブジェクトの位置を変更することなく、カタログ全体を見やすい位置に変更することが可能となる。
なお、上記実施の形態においては、第一階層情報格納部112に格納されている第一階層情報が示す階層関係を利用して、上位の階層の立体オブジェクトの配置が変更された場合に、下位の階層の立体オブジェクトの配置を、上位の階層の立体オブジェクトに対する相対的な配置が変更されないようにしたが、本発明においては、第一階層情報格納部112を設ける代わりに、予め、下位の階層の位置する立体オブジェクトのオブジェクト配置情報を、直属の上位の階層の立体オブジェクトに対する相対的な座標情報等の相対的な配置情報として、オブジェクト配置情報格納部107に蓄積するようにしてもよい。このようにすることで、上位の階層の立体オブジェクトのオブジェクト配置情報が変更された場合においても、画像情報構成部105等が、画像情報を構成する際等に、下位の階層の立体オブジェクトの配置を示す情報を、配置が変更された上位の階層の立体オブジェクトの配置にあわせて相対的に変更して算出し、この算出した情報に従って配置した下位の階層の立体オブジェクトの画像情報を構成することとなるため、上記と同様に、上位の階層の立体オブジェクトの配置が変更された場合に、下位の階層の立体オブジェクトの配置を、上位の階層の立体オブジェクトに対する相対的な配置が変更されないようにすることができる。
(実施の形態3)
本実施の形態にかかる情報処理装置は、上述した実施の形態2において、情報処理装置が階層関係を有する配置用情報を受け付けるようにし、当該配置用情報の階層関係に応じて、当該階層関係に応じた階層関係を有する立体オブジェクトを出力するようにしたものである。
図28は、本実施の形態にかかる情報処理装置3の構成を示すブロック図である。この情報処理装置3は、上記実施の形態2の情報処理装置において、さらに配置処理部113を備えるようにしたものである。なお、配置処理部113以外の構成については、上記実施の形態2と同様であるので、詳細な説明は省略する。
この実施の形態においては、配置用情報受付部114が階層関係を有する配置用情報を受け付ける。階層関係を有する配置用情報とは、具体的には、各配置用情報や、配置用情報のグループ等の間における階層関係が定義されている情報である。この階層関係は、どのように指定されていても良い。例えば、上位の階層や下位の階層にある配置用情報を定義する情報が、各配置用情報に含まれていても良い。また、例えば、配置用情報がタグ付けされた情報である場合において、タグ付けされた情報の包含関係から、階層が判断できるものであっても階層関係を有すると考える。また、同様にタグ等に階層を指定する情報を予め定義しておき、この階層が定義されたタグ内に含まれる要素を所定の階層の配置用情報と判断するようにしてもよい。配置用情報受付部114の構成については、上記実施の形態1および2と同様であるので、ここでの説明は省略する。また、配置用情報受付部114が受け付けた配置用情報は、上記実施の形態1および2と同様に配置用情報蓄積部115により配置用情報格納部102に蓄積される。
配置処理部113は、配置用情報受付部114が受け付けた階層関係を有する配置用情報の各階層に対応した階層関係を有する立体オブジェクトの形状情報を取得して、オブジェクト配置情報格納部107に蓄積する。配置処理部113がどのように配置用情報の階層関係を判断してもよく、例えば、配置用情報に、各配置用情報や配置用情報のグループ等について、それぞれの上位の階層や下位の階層にある配置用情報や配置用情報のグループ等を指定する情報が含まれている場合、この情報から配置用情報の階層関係を判断しても良い。また、配置用情報がタグ付けされた情報である場合に、特定のタグ等の包含関係から、階層を判断しても良い。あるいは、タグ自身に定義されている階層関係を示す情報を用いて階層関係を判断しても良い。例えば、予め階層を定義するためのタグである階層定義用タグを指定しておき、第一の階層定義用タグ内に包含されている第二の階層定義用タグの要素である配置用情報を、第一の階層定義用タグの要素である配置用情報の下位の階層の配置用情報と判断するようにしても良い。また、配置処理部113は、配置用情報の階層関係の判断結果を用いて、配置用情報の階層に対応した立体オブジェクトの形状情報を取得する。例えば、判断した配置用情報の各階層について、それぞれ立体オブジェクトの形状情報を取得する。例えば、配置用情報同士、あるいは、配置用情報と配置用情報のグループとが階層化されている場合、上位の階層にある配置用情報と、その下位の階層にある配置用情報、あるいは、そのグループとについて、それぞれ立体オブジェクトの形状情報を取得する。そして、取得した配置用情報を、形状情報格納部101に蓄積する。また、配置用情報がタグ付けされた情報であって、特定のタグが階層化されている場合、これらの各特定のタグについて、立体オブジェクトの形状情報を取得しても良い。配置処理部113が、どのように形状情報を取得しても良い。例えば、図示しない記憶媒体等に予め用意されている形状情報を読み出してもよい。特に、立体オブジェクトの階層別に形状情報を用意しておき、立体オブジェクトの位置する階層に対応した形状情報を読み出すようにしても良い。また、予め指定されたルールに応じて形状情報を構成しても良い。例えば、上位の階層の立体オブジェクトの形状情報については、下位の階層の立体オブジェクトを全て包含可能なサイズの形状情報を構成するルールに従って、形状情報を構成しても良い。これらのルール等は、図示しない記憶媒体等に予め蓄積しておく。かかることは他においても同様である。なお、配置処理部113は、立体オブジェクトの各面についての取得条件情報が取得条件情報格納部に格納されている形状情報を取得することが好ましい。すなわち、取得した形状情報が示す立体オブジェクトの面に対して、面情報を取得するための取得条件情報が定義されているようにすることが好ましい。例えば、取得条件情報格納部に格納されている取得条件情報が、配置処理部113が取得可能な全ての形状情報に対応していてもよい。また、配置処理部113が予め用意された形状情報を取得する場合において、予め用意された形状情報に対して、取得条件情報が対応付けられていても良い。また、配置処理部113が形状情報を構成するルールに取得条件情報を構成するルールが含まれているようにし、このルールに従って構成したルールを、取得した形状情報に対応付けて取得条件情報格納部に蓄積するようにしても良い。また、配置処理部113は、取得した形状情報に対応した立体オブジェクトのオブジェクト配置情報を取得し、オブジェクト配置情報に蓄積する。このオブジェクト配置情報をどのように取得するかは問わない。予め指定されているルール、例えば、隣接する立体オブジェクト間の間隔等を指定するルールや、立体オブジェクトの配置を指定するルール等に従って各立体オブジェクトのオブジェクト配置情報を構成しても良い。あるいは、ランダムに配置を設定するオブジェクト配置情報を構成しても良い。このとき、下位の階層にある立体オブジェクトは、上位の階層にある立体オブジェクトの内部に配置されるようにルール等を設定しておくことが好ましい。また、配置処理部113は、これらの取得した形状情報に対応する立体オブジェクトが、配置用情報の有する階層関係と同じ階層関係を有するようにする。具体的には、配置処理部113が取得した形状情報に対応する立体オブジェクト間の階層情報を定義する第一階層情報を構成して、第一階層情報格納部112に蓄積するようにしても良い。あるいは、第一階層情報を構成せずに、少なくとも下位の階層となる立体オブジェクトのオブジェクト配置情報として、上位の階層の立体オブジェクトのオブジェクト配置情報に対する相対的な配置情報、例えば相対座標等、を構成するようにし、構成したオブジェクト配置情報を、オブジェクト配置情報格納部107に蓄積するようにしてもよい。配置処理部113は、通常、MPUやメモリ等から実現され得る。配置処理部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本実施の形態の情報処理装置の動作について図29を用いて説明する。なお、図29において、図2と同一符号は同一又は相当する処理を示しており、ここでは説明を省略する。
(ステップS2901)配置処理部113は、形状情報格納部101に形状情報が格納されているか否かを判断する。格納されている場合、ステップS201に進み、格納されていない場合、ステップS2902に進む。
(ステップS2902)配置用情報受付部114は、配置用情報を受け付けたか否かを判断する。受け付けた場合、ステップS2903に進み、受け付けていない場合、ステップS2901に戻る。
(ステップS2903)配置用情報蓄積部115は、ステップS2902で受け付けた配置用情報を配置用情報格納部102に蓄積する。
(ステップS2904)配置処理部113は、カウンタkに1を代入する。
(ステップS2905)配置処理部113は、ステップS2902において受け付けた配置用情報から、k番目の配置用情報を取得する。配置処理部113は、どのように配置用情報受付部114が受け付けた配置用情報を取得しても良く、例えば、配置用情報格納部102に蓄積された配置用情報を読み出しても良いし、配置用情報受付部114が一時記憶した図示しない記憶媒体等から配置用情報を読み出しても良い。なお、ここで取得するk番目の配置用情報は、予め立体オブジェクトを構成する対象となる配置用情報、例えば階層等を定義する配置用情報等、だけに限定するようにしても良い。
(ステップS2906)配置処理部113は、k番目の配置用情報の階層を判断する。例えば、配置用情報に含まれる階層を指定する情報から階層を判断してもよいし、配置用情報が階層的にグループ化、いわゆるネスト化されている場合に、他の配置用情報等との階層関係から階層を判断しても良い。
(ステップS2907)配置処理部113は、k番目の配置用情報についての形状情報を取得する。配置処理部113は、どのようにk番目の配置用情報についての形状情報を取得しても良く、例えば、予め階層等に合わせて用意してある1以上の形状情報、例えば形状情報のテンプレート情報から、ステップS2906で判断されたK番目の配置用情報の階層に対応した形状情報を取得しても良い。あるいは、予め指定されている形状情報を取得し、当該形状情報を、他の形状情報との階層関係に応じて予め指定された拡大縮小等の変形を行うことで、例えば、階層数により指定される倍率で拡大縮小等を行うことで、形状情報を構成しても良い。あるいは、ランダムに形状情報を構成するようにしてもよい。配置処理部113は、取得した形状情報を、形状情報格納部101に蓄積する。
(ステップS2908)配置処理部113は、ステップS2907で取得した形状情報の配置を示すオブジェクト配置情報を構成する。配置処理部113がどのようにオブジェクト配置情報を構成しても良い。例えば、予め指定されているルールに従って、形状情報が配置されるようにオブジェクト配置情報を構成しても良い。このルールとは、例えば、仮想三次元空間の左から、右に、順番に形状情報を配置させ、形状情報が一定数並んだ場合には、一段下の位置に同様に左から右に配置させる、というようなルールである。また、ランダムに形状情報のオブジェクト配置情報を構成しても良い。あるいはデフォルトで決まっている配置位置に、k番目の形状情報が、順番の昇順等に従って順番に配置されるように、オブジェクト配置情報を構成しても良い。なお、形状情報毎に、オブジェクト配置情報を決定する代わりに、全ての形状情報が取得された時点で、一度にオブジェクト配置情報を決定しても良い。配置処理部113は、構成したオブジェクト配置情報をオブジェクト配置情報格納部107に蓄積する。
(ステップS2909)配置処理部113は、ステップS2907で取得した形状情報についての第一階層情報を、ステップS2906による階層の判断結果等から取得する。配置処理部113は、取得した第一階層情報を第一階層情報格納部に蓄積する。なお、配置用情報に含まれる階層を示す情報から、形状情報間の階層関係を判断する場合等のように、第一階層情報が不要な場合には、この処理は省略してもよい。
(ステップS2910)配置処理部113は、ステップS2907で取得した形状情報についての取得条件情報を取得する。配置処理部113は、取得した取得条件情報を取得条件情報格納部103に蓄積する。配置処理部113は、例えば、予め用意されている階層別等の形状情報に対して対応付けられている取得条件情報を、図示しない記憶媒体等から読み出す。また、k番目の配置用情報が示す立体オブジェクトに配置する配置用情報を取得して、この取得した配置用情報が立体オブジェクトに配置されるように、取得条件情報を構成しても良い。なお、全ての立体オブジェクトに利用される取得条件情報が同じである場合や、ある階層の立体オブジェクトに利用される取得条件情報が同じである場合であって、これらに対応する取得条件情報が既に取得条件情報格納部103に格納されている場合等のように、取得条件情報の取得が不要な場合には、この処理は省略してもよい。
(ステップS2911)配置処理部113は、カウンタkの値を1インクリメントする。
(ステップS2912)配置処理部113は、ステップS2902で受け付けた配置用情報に、k番目の配置用情報があるか否かを判断する。ある場合、ステップS2905に戻り、ない場合、ステップS201に戻る。
なお、このフローチャートにおいては、ステップS218の処理の次のステップとして、ステップS2904に進むものとする。
なお、図29のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態の情報処理装置3の具体的な動作について説明する。
ここでは、配置用情報受付部114の受け付け対象となる配置用情報が、図23と同じのXML形式のデータである場合を例に挙げて説明する。
図30は、配置用情報のうちの立体オブジェクトの表示対象となる情報についての、形状情報を設定するための情報である設定用形状情報を管理する設定用形状情報管理表の一例を示す図である。設定用形状情報管理表は、例えば図示しないメモリ等に格納されている。設定用形状情報管理表は、「対象指定情報」、「サイズx」、「サイズy」、「サイズz」、「対応取得条件」、「階層」という属性を有している。「サイズx」、「サイズy」、「サイズz」については、図3と同様である。「対象指定情報」は、当該設定用形状情報を適用する対象となる配置用情報を指定するための情報であり、ここでは、配置用情報のタグを指定する情報である。「対応取得条件」とは、当該設定用形状情報の形状情報が示す立体オブジェクトに対応した取得条件情報を指定する情報であり、ここでは、取得条件情報格納部103に格納されている取得条件情報の「対応取得条件」の属性値を指定する情報である。なお、ここでは、取得条件情報格納部103には、図22において示した、上記実施の形態2の具体例における取得条件情報と同様の情報が予め格納されているものとする。
例えば、情報処理装置3に配置用情報および形状情報が格納されていない状態において、ユーザが情報処理装置3に、図23に示すような配置用情報を読み込ませたとすると、配置用情報受付部114はこの配置用情報を受け付ける。配置用情報蓄積部115は、配置用情報受付部114が受け付けた配置用情報を配置用情報格納部102に蓄積する。
また、配置用情報受付部114が配置用情報を受け付け、受け付けた配置用情報が蓄積されると、配置処理部113は、蓄積された配置用情報を読み出し、読み出した配置用情報に応じた立体オブジェクトを出力できるようにするための処理を行う。
具体的には、まず、配置処理部113は、配置用情報のタグを順次読み出し、読み出したタグに対応した設定用形状情報タグがあるか否かを判断する。例えば、図23に示した配置用情報においては、読み出した配置用情報のタグと、図30に示した設定用形状情報の「対象指定情報」とを比較し、一致する「対象指定情報」があるか否かを判断する。一致する場合、設定用形状情報のレコードのうちの、「対象指定情報」が一致するレコードの「サイズx」、「サイズy」、「サイズz」、および「対応取得条件」の属性値を取得する。そして、当該取得した属性値を、当該タグが付けられた配置用情報の形状情報として、形状情報格納部101に格納する。さらに、この一致する「対象指定情報」があると判断された配置用タグの開始タグと終了タグの間に存在する配置用情報を特定するための情報を取得する。具体的には、ここでは、例として、「対象指定情報」の属性値に「名」という文字を付加した値のタグを構成し、この構成したタグを、上述した一致する「対象指定情報」があると判断された配置用タグの開始タグと終了タグの間から検索し、検索されたタグの要素を取得する。そして、取得した要素を形状情報格納部101に蓄積した形状情報の「対応グループ」という属性値として蓄積する。なお、配置用情報を特定するための情報を取得する際に用いるタグは、予め指定しておくようにしても良い。
例えば、配置処理部113は、図23に示した配置用情報の「カタログ」という開始タグを読み出す。そして、読み出した「カタログ」というタグと一致する「対象指定情報」を有するレコードを設定用形状情報から検索する。ここでは、図30に示した設定用形状情報の1行目のレコードの「対象指定情報」の属性値が「カタログ」であるため、当該1行目のレコードの「サイズx」、「サイズy」、「サイズz」、および「対応取得条件」の属性値を形状情報として取得し、「オブジェクトID」を付加して、形状情報格納部101に蓄積する。さらに、「カタログ」に「名」を付加した「カタログ名」という文字列を作成し、当該文字列に一致するタグを、「カタログ」の開始タグと終了タグの間において検出し、検出した「カタログ名」タグの要素である「電化製品」という属性値を取得する。そして、取得した「電化製品」という属性値を含む「カタログ名"電化製品"」という値を構成し、上記で取得した形状情報の「対応グループ」属性値として、形状情報格納部101に蓄積する。これにより、例えば、図20の「オブジェクトID」が「OBJ11」である形状情報と同様の形状情報が蓄積される。ここでは、図22に示した取得条件情報と同様の取得条件情報が、予め取得条件情報格納部103に格納されているものとすると、この形状情報に対応する取得条件情報は、図22に示した取得条件情報のうちの、「対応取得条件情報」が「カタログ」であるレコードの情報となる。なお、「対応取得条件」に対応した取得条件情報を、図示しない記憶媒体等に予め蓄積しておき、配置処理部113が形状情報を取得した際に、当該形状情報に対応した取得条件情報を、図示しない記憶媒体等から読み出して、取得条件情報格納部103に蓄積していくようにしてもよい。
さらに、配置処理部113は、上記で蓄積した形状情報が示す立体オブジェクトのオブジェクト配置情報を、予め指定されたルールに応じて決定し、決定したオブジェクト配置情報を、形状情報と対応付けてオブジェクト配置情報格納部107に蓄積する。例えば、ここでは、ルールとして、第一階層の立体オブジェクトは、予め指定された配置開始座標、例えば(300,300,300)から順番に、予め指定された向き、例えば回転角度(0,0,0)で、隣り合うオブジェクト間の間隔が「50」となるよう、左から右に配置される、というルールが指定されていたとすると、このルールに従ってオブジェクト配置情報を決定する。ここでは、この立体オブジェクトが最初の立体オブジェクトであるため、図21の「オブジェクトID」が「OBJ11」であるオブジェクト配置情報と同様に、予め指定された配置開始座標を示すオブジェクト配置情報が、この形状情報に対応した立体オブジェクトの配置を示す情報に決定される。
さらに、配置処理部113は、形状情報を取得した配置用情報の階層関係から、第一階層情報を構成し、第一階層情報格納部112に蓄積する。ここでは、「カタログ」というタグが、第一階層、すなわち最上位の階層のタグであるため、この「カタログ」タグについて取得した形状情報に対応する第一階層情報は、図24に示した第一階層情報管理表の「オブジェクトID」が「OBJ11」である第一階層情報と同様の、「上位階層」の値を「−」とした第一階層情報が構成される。
つぎに、配置処理部113は、「カタログ名」というタグを読み出すが、このタグは、図30に示した設定用形状情報の「対象指定情報」のいずれにも一致しないため、このタグについては、形状情報を設定する必要がないと判断する。
つぎに、配置処理部113は、「商品」というタグを読み出す。このタグは、図30に示した設定用形状情報の「対象指定情報」の2行目のレコードと一致するため、当該2行目のレコードの「サイズx」、「サイズy」、「サイズz」、および「対応取得条件」の属性値を形状情報として取得し、「オブジェクトID」を付加して、形状情報格納部101に蓄積する。さらに、「商品」に「名」を付加した「商品名」という文字列を作成し、当該文字列に一致するタグを、「商品」の開始タグと終了タグの間において検出し、検出した「商品名」タグの要素である「洗濯機」という属性値を取得する。そして、取得した「洗濯機」という属性値を含む「商品名"洗濯機"」という値を構成し、上記で取得した形状情報の「対応グループ」属性値として、形状情報格納部101に蓄積する。また、この形状情報に対応する取得条件情報は、図22に示した取得条件情報のうちの、「対応取得条件情報」が「商品」であるレコードの情報と同様のものとする。
さらに、配置処理部113は、上記で蓄積した形状情報が示す立体オブジェクトのオブジェクト配置情報を、予め指定されたルールに応じて決定し、決定したオブジェクト配置情報を、形状情報と対応付けてオブジェクト配置情報格納部107に蓄積する。例えば、ここでは、ルールとして、第二階層の立体オブジェクトは、直属の第一階層の立体オブジェクトが配置されている領域内において、予め指定された配置開始座標から、順番に、隣り合うオブジェクト間の間隔が「50」となるよう、予め指定された向きで、左から右に配置される、というルールが指定されていたとすると、このルールに従ってオブジェクト配置情報を決定する。ここでは、この立体オブジェクトが、「カタログ」というタグに対応する立体オブジェクトを直属の上位の立体オブジェクトとした、最初の立体オブジェクトであるため、直属の立体オブジェクト内の予め指定された配置開始座標を示すオブジェクト配置情報が、この形状情報に対応したオブジェクト配置情報に指定される。
さらに、配置処理部113は、形状情報を取得した配置用情報の階層関係から、第一階層情報を構成し、第一階層情報格納部112に蓄積する。ここでは、「商品」というタグが、「カタログ」という開始タグと終了タグとにより挟まれた第二階層のタグであるため、この「商品」タグについて取得した形状情報に対応する第一階層情報は、図24に示した第一階層情報管理表における、「オブジェクトID」が「OBJ12」であるレコードと同様に、「上位階層」の値を、直属の上位のオブジェクト、すなわちカタログ名が「電化製品」である立体オブジェクトの「オブジェクトID」とした情報となる。
上記のような処理を、図23に示した配置用情報に繰り返すことで、立体オブジェクトを出力するための形状情報等の情報が得られる。
上記のようにして構成した形状情報は、図20と同様のものとなる。また、オブジェクト配置情報は、図21に示したものと同様のものとなる。また、第一階層情報は、図24と同様のものとなる。
このようにして構成した情報を用いて、立体オブジェクトを出力する処理等については、上記実施の形態と同様であるので、説明は省略する。
このようにして配置用情報に対応して構成した情報を用いて立体オブジェクトを表示した場合の表示例は、図25と同様のものとなる。
以上のように、本実施の形態によれば、配置用情報を配置した立体オブジェクトを出力するための、形状情報やオブジェクト配置情報や取得条件情報等の情報を、容易にかつ迅速に構成させることができる。また、配置用情報に応じた立体オブジェクトを容易にかつ迅速に出力させることが可能となる。
さらに、本実施の形態によれば、配置用情報の階層関係に応じた立体オブジェクトを出力することができ、出力された立体オブジェクトが対応する配置用情報間の階層関係等を容易に理解することが可能となる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、配置用情報格納部に格納されている立体のオブジェクトである立体オブジェクトを構成する面に配置可能な1以上の情報である配置用情報から、取得条件情報格納部に格納されている前記立体オブジェクトを構成する1以上の面のそれぞれに配置する情報を取得するための条件を示す情報である取得条件情報を用いて、前記立体オブジェクトの1以上の面に対して配置する情報である面情報を取得する面情報取得部と、形状情報格納部に格納されている前記立体オブジェクトの形状を指定する情報である形状情報を読み出し、当該読み出した立体オブジェクトの一以上の面に対して、前記面情報取得部が取得した面情報を配置した画像情報を構成する画像情報構成部と、前記画像情報構成部が構成した画像情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図31は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現される。
図31において、コンピュータシステム500は、CD−ROM(Compact Disk Read Only Memory)ドライブ505、FD(Flexible Disk)ドライブ506を含むコンピュータ501と、キーボード502と、マウス503と、モニタ504とを備える。
図32は、コンピュータシステムを示す図である。図32において、コンピュータ501は、CD−ROMドライブ505、FDドライブ506に加えて、MPU(Micro Processing Unit)511と、ブートアッププログラム等のプログラムを記憶するためのROM(Read Only Memory)512と、MPU511に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)513と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク514と、MPU511、ROM512等を相互に接続するバス515とを備える。なお、コンピュータ501は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム500に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM521、またはFD522に記憶されて、CD−ROMドライブ505、またはFDドライブ506に挿入され、ハードディスク514に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ501に送信され、ハードディスク514に記憶されてもよい。プログラムは実行の際にRAM513にロードされる。なお、プログラムは、CD−ROM521やFD522、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ501に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム500がどのように動作するのかについては周知であり、詳細な説明は省略する。
なお、ここでは、上記プログラムを実行して、上記各実施の形態にかかる情報処理装置を実現する装置がコンピュータである場合を例に挙げて説明したが、本発明においては、上記プログラムを実行して上記各実施の形態にかかる情報処理装置を実現する装置は、携帯電話や、PDA(携帯情報端末)、携帯電話と情報端末とを組み合わせた高機能携帯電話、携帯型デジタル音楽プレーヤ、テレビ等の表示デバイスを有するオーディオビジュアル機器等、コンピュータと同様にMPUやメモリ等を備えた装置であればどのような装置であっても良い。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。