以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、ページ情報格納部101、属性指定情報格納部102、グループ管理情報蓄積部103、グループ管理情報格納部104、サイズ制限情報格納部105、画面サイズ指定情報受付部106、生成管理情報格納部107、グループ生成管理情報格納部108、指定受付部109、ページ生成部120、リンク領域管理情報取得部121、メニュー管理情報取得部122、メニュー生成管理情報格納部123、リンクメニュー生成管理情報格納部124、出力部125を備える。
ページ情報格納部101には、第一のページ情報が格納される。第一のページ情報は、少なくとも文字列または画像を含む一以上のオブジェクトが配置されたページの情報である。第一のページ情報は、オブジェクトを含む情報である。また、第一のページ情報は、例えば、オブジェクトが配置されるページを識別する情報であるページ識別情報や、オブジェクトが配置された領域を示す情報である配置情報を含んでいてもよい。また、第一のページ情報は、ページのサイズ等を定義するページ定義情報を有していていても良い。第一のページ情報は、例えば、一のページを識別するページ識別情報と、一のページ識別情報が示すページに配置される一以上のオブジェクトと、これらのオブジェクトが配置された領域を示す配置情報とを有する。
なお、第一のページ情報に含まれるオブジェクトや、ページ識別情報や、配置情報や、ページ定義情報等は、それらの情報そのものであってもよく、あるいは、その情報を特定可能な情報であってもよい。後者の場合には、第一のページ情報に含まれるオブジェクト等は、例えば、オブジェクト等が格納されている領域を示すポインタやアドレスであってもよいし、オブジェクトの識別情報であっても良い。このことは、他の2以上の情報を有する情報についても同様である。
オブジェクトとは、例えば、1以上の文字で構成される文字列または画像の少なくとも一方を含むデータである。オブジェクトとは、例えば、情報処理装置1が編集する情報の構成要素と考えても良い。オブジェクトに含まれる文字列は、フォントや、フォントサイズ、フォント色等のフォントの属性値を有していても良い。文字列を含むオブジェクトをここでは文字列オブジェクトと呼ぶ。オブジェクトに含まれる画像は、動画像であっても良いし静止画像であっても良い。また、画像は、ビットマップデータでもベクトルデータであっても良く、ファイル形式等は、TIFF、JPEG、SVG等問わない。画像を含む文字列をここでは画像オブジェクトと呼ぶ。オブジェクトは、ページに配置されるコンテンツと考えても良い。
ページとは、例えば、1以上のオブジェクトが配置される領域を示す情報である。ページは、ここでは、仮想の紙面や台紙やアートボード等を示す情報と考えて良い。ページは、オブジェクト等が配置されて出力される出力可能領域や、印刷可能領域と考えても良い。
ページ識別情報は、ページを識別可能な情報であればよく、例えば、ページに割り当てられた固有の識別情報や、ページ番号等である。また、1ページを示す第一のページ情報が一のファイル等を構成している場合、ページ識別情報は、ページのファイル名等でも良い。
オブジェクトの配置情報は、例えば、ページ情報が示すページ内のオブジェクトが配置されている領域を示す情報である。オブジェクトは、例えば、配置情報によってページ上にレイアウトされる。オブジェクトの配置情報は、例えば、オブジェクトの位置やサイズ等を示す情報である。オブジェクトの配置情報は、例えば、オブジェクト上の一以上の点(例えば、中心点や、対角の交点や、四隅のうちの一以上の点)の位置を示す情報と、オブジェクトの縦横のサイズを示す情報との組み合わせや、オブジェクトの一対の対角の位置を示す情報であってもよい。点の位置を示す情報は、例えば、ページに対して設定される座標等で示される。サイズを示す情報の単位等は問わない。サイズとは、ここではオブジェクトのデータサイズではなく寸法を意味する。ただし、配置情報は、オブジェクトの配置された領域が特定できる情報であればどのような情報でもよい。例えば、配置情報は、オブジェクトが配置される位置(例えば座標等)を示す情報であっても良い。この場合、オブジェクトが配置される領域のサイズは、例えば、オブジェクトのサイズとしてもよい。上記のような場合、この配置情報が示す位置にオブジェクトが配置された場合のオブジェクトが占める領域(あるいはオブジェクト上の領域)を、オブジェクトの配置される領域と考えて良い。また、オブジェクトが、オブジェクトを配置するための枠やフレームやボックス等と呼ばれる配置領域に配置されている場合、この配置領域を示す情報をオブジェクトの配置情報と考えてもよい。配置領域を示す情報は、オブジェクトの配置情報と同様の位置やサイズ等を示す情報で構成される。このフレーム等の領域と、この領域に配置される一以上のオブジェクトは、例えば、図示しないフレーム等の領域を示す情報と、配置されるオブジェクトとを対応付けて管理する管理情報等で管理される。なお、後述する第二のページ情報以降のページ情報が示すページに配置されるオブジェクトは、第一のページ情報が示すページに配置されるオブジェクトにリンクして配置することで、第一のページ情報が示すページに配置されるオブジェクトを共用するようにしても良い。なお、オブジェクトが配置される領域が指定されていない場合、第一のページ情報はオブジェクトの配置情報を有していなくてもよい。また、オブジェクトの配置される領域が、出力デバイス側等で指定されていたり、出力デバイス側で配置される領域を解釈する場合等には、第一のページ情報は、配置情報を有していなくてもよい。
ページ定義情報は、ページのサイズやマージンや余白等の属性を定義する情報である。また、ページの背景色等の属性を定義する情報を有していてもよい。また、ページ定義情報は、第一のページ情報の出力時のサイズの情報等を有していても良い。また、第一のページ情報が出力される出力デバイス等の表示画面のサイズを示す情報を有していても良い。また、ページ定義情報は、第一のページ情報の出力サイズの情報等を有していても良い。なお、第一のページ情報が示すページの出力サイズは、出力デバイスの表示画面のサイズ等やユーザの操作等に合わせて可変であっても良い。
なお、一以上のオブジェクトが配置されている領域をページと考える場合のように、ページのサイズ等を指定する必要がない場合には、第一のページ情報は、ページ定義情報を有していなくてもよい。例えば、一のオブジェクトが表示されることも一のページが表示されたと考える場合には、ページ定義情報は省略しても良い。
第一のページ情報は、一のファイルで構成されていても良いし、複数のファイルで構成されていても良い。また、第一のページ情報は、1以上のデータベースでも良い。
第一のページ情報は、具体的には、オブジェクトが配置されたドキュメントを示すドキュメント情報と考えても良い。第一のページ情報は、HTML等のWEBページの情報であっても良いし、DTP装置や、クロスメディアパブリッシング装置やワードプロセッサ等の電子出版物等を出力可能な装置で用いられるオブジェクトが配置されたページの情報であっても良い。また、これらのページ情報は、ページの原稿の情報等と考えても良い。
また、第一のページ情報は、例えば、電子出版物を出力するために利用されるページ情報でもよい。電子出版物は、情報の出力媒体を電子媒体とした出版物である。例えば、電子出版物は、電子ブックや、電子ペーパー、電子配布用書類等である。また、WEBページ等も電子出版物と考えても良い。電子出版物は電子書籍と考えても良い。電子出版物の内容等は問わない。ただし、第一のページ情報は、紙等の物理的な媒体に印刷して出力する出版にも利用可能なページ情報であっても良い。
なお、第一のページ情報とは、リンク情報等を用いて階層化されるページ情報の、第一階層のページ情報と考えても良い。
ページ情報格納部101に格納されている第一のページ情報は、例えば、ユーザ等により指定された情報処理装置1の処理対象となるページ情報である。ページ情報格納部101に第一のページ情報が蓄積される過程は問わない。例えば、記録媒体を介して第一のページ情報がページ情報格納部101で蓄積されるようになってもよく、通信回線等を介して送信された第一のページ情報がページ情報格納部101で蓄積されるようになってもよく、あるいは、入力デバイスを介して入力された第一のページ情報がページ情報格納部101で蓄積されるようになってもよい。なお、かかることは、以下の格納部等に関しても同様であるものとする。ページ情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
属性指定情報格納部102には、属性指定情報が格納される。属性指定情報は、一のグループに分類される一以上のオブジェクトのそれぞれについての属性を指定する情報である。例えば、この属性指定情報が指定する属性を有するオブジェクトが、一のグループにグループ化される。また、属性指定情報は、さらに、一のグループを構成する複数のオブジェクトの属性の順序を示す順序情報を含むことが好ましい。即ち、一のグループに分類されるオブジェクトの属性には、順序が指定されていることが好ましい。例えば、この順序情報が示す属性の順番に沿って、オブジェクトがグループ化される。順序情報は、順序を数値や記号等で指定する情報であってもよいし、オブジェクトの属性が配列されている順番自身を順序情報としても良い。オブジェクトの属性とは、本実施の形態においては、適宜、オブジェクトの属性の値、即ち属性値のことを意味すると考える。オブジェクトの属性とは、例えば、オブジェクト自身の属性である。また、オブジェクトが配置される配置領域の属性もオブジェクトの属性と考えてもよい。オブジェクトの属性は、各オブジェクトに対応付けて管理されていてもよいし、各オブジェクトが配置される配置領域に対応付けて管理されていても良い。オブジェクト自身の属性は、例えば、文字列のオブジェクトの書式についての情報である。オブジェクトの書式とは、フォント名や、フォントのファミリーや、セリフ等のフォントの種類を示す情報や、フォントサイズや、フォント色や、太字や下線等のフォントの装飾や、行間や、行揃えや、これらの組み合わせ等である。これらの組み合わせをスタイルと呼んでも良い。また、オブジェクト自身の属性は、画像オブジェクトのサイズやファイル形式(例えばEPSやTIFF等)やファイル名、データ量等についての情報である。例えば、ファイル名に含まれる画像のサイズを示す文字列の情報、例えば「SMALL」や「LARGE」等の文字列や、拡張子の前の「S」や「L」等の文字を、画像オブジェクトについてのオブジェクトの属性として扱っても良い。また、オブジェクト自身の属性は、オブジェクトの内容、例えば、どのような文字列が含まれるか、どのような内容の画像か、等を示す情報であっても良い。オブジェクトが配置される配置領域の属性とは、配置領域のサイズや、形、背景色、枠色、配置領域に付与されたラベルや識別情報等である。また、オブジェクトの属性は、一の配置領域に配置されるオブジェクトの文字数や、行数や、列数の情報であっても良い。ここで述べる属性指定情報が指定するオブジェクトの属性とは、上記で説明した属性のうちの二以上の組み合わせであっても良い。
なお、属性指定情報や、順序情報は、どのように蓄積されても良く、例えば、ユーザが手入力等により指定しても良いし、デフォルトで格納されていても良い。属性指定情報格納部102は、不揮発性の記録媒体や、揮発性の記録媒体で実現可能である。
グループ管理情報蓄積部103は、第一のページ情報に配置されるオブジェクトを一以上のオブジェクトグループに分け、グループ分けされたオブジェクトグループのそれぞれに属するオブジェクトを示すグループ管理情報を取得して、後述するグループ管理情報格納部104に蓄積する。ページ情報に配置されるオブジェクトとは、ここでは、ページ情報が示すページに配置されるオブジェクトを意味する。かかることは以下においても同様である。ここで述べるグループ分け(グループ化)とは、結果的にオブジェクトがグループに分けられていればよく、例えば、グループ分けしたオブジェクトを取得したり、グループ分けしたオブジェクトを対応付けて管理することである。例えば、グループ管理情報蓄積部103が、各オブジェクトに、それぞれが属するグループの識別情報等を付与することをグループ分けとしてもよい。
グループ管理情報とは、例えば、グループ分けされた各オブジェクトのグループ(以下、オブジェクトグループと称す)と、それぞれに属するオブジェクトとの対応関係を示す情報である。例えば、グループ管理情報は、オブジェクトグループの識別情報であるオブジェクトグループ識別情報と、当該オブジェクトグループ識別情報が示すオブジェクトグループに属するオブジェクトとを有する情報である。グループ管理情報に含まれるオブジェクトはオブジェクトの識別情報であっても良く、この場合も実質的にオブジェクトが含まれていると考える。また、グループ管理情報は、階層化されたオブジェクトグループを管理する情報であっても良い。例えば、上位階層のグループの構成要素として、一以上の下位の階層のオブジェクトグループが含まれていても良い。なお、グループ管理情報により、オブジェクトで構成されるグループ同士が分かれていることが分かれば、グループ識別情報は省略しても良い。例えば、各グループのオブジェクトが、それぞれグループ別のバッファ等に格納されている場合、グループ識別情報は省略可能である。
以下、グループ管理情報蓄積部103が行うグループ化の例について以下に説明する。
(A)ユーザ指定によるグループ化
グループ管理情報蓄積部103は、例えば、図示しない受付部等を介してユーザによりグループ分けが指定されたオブジェクトを、オブジェクトグループ別に蓄積する。例えば、ユーザが、一のオブジェクトグループにグループ化したい一以上のオブジェクトを指定する情報を図示しない受付部等に入力すると、グループ管理情報蓄積部103が、指定された一以上のオブジェクトを一のオブジェクトグループを構成するオブジェクトとして管理するための管理情報を生成し、グループ管理情報格納部104に蓄積する。オブジェクトグループ識別情報は、ユーザが指定しても良いし、自動付与されるようにしても良い。
(B)オブジェクトの属性等によるグループ化
グループ管理情報蓄積部103は、第一のページ情報に配置されるオブジェクトを、このオブジェクトの配置情報を用いて、属性指定情報格納部102に格納されている属性指定情報が指定する属性を有するオブジェクトごとに、一以上のオブジェクトグループに分け、一以上のオブジェクトグループのそれぞれに属するオブジェクトを示すグループ管理情報を取得して、グループ管理情報格納部104に蓄積するようにしてもよい。ただし、この場合、第一のページ情報には、オブジェクトの配置情報が含まれている必要がある。
例えば、グループ管理情報蓄積部103は、第一のページ情報に配置された複数のオブジェクトの配置情報を用いて、複数のオブジェクト間の距離を算出し、当該距離を用いて、属性指定情報が指定する属性を有するオブジェクト毎にグループ分けする。
グループ管理情報蓄積部103は、例えば、属性指定情報が順序情報を有する場合、複数の配置領域に配置された複数のオブジェクトのうちの、属性指定情報により指定された属性を有するオブジェクトであって、順序情報が示す順序に従って順次隣接して配置されるオブジェクトを取得して、グループ分けを行う。ここで述べる隣接とは、オブジェクト同士が直接となり合わせに存在している状態のみに限るものでなく、オブジェクト間に順序情報が示す順序ではない一以上の他のオブジェクト等を介在させている状態等も含む概念である。具体例として、二以上のオブジェクトのうちの、オブジェクト間の距離が最も近いものを隣接したオブジェクトと考える。グループ管理情報蓄積部103は、具体的には、まず、順序情報が示す順序が1番である属性指定情報を属性指定情報格納部102から読み出す。そして、この1番の属性指定情報が指定する属性に合致するオブジェクトを検出する。具体的には、ページに配置されたオブジェクトに対して順番に、順序が1番の属性指定情報が指定する属性に合致するか否かの判断を行う。そして、順序が1番である属性指定情報が指定する属性に一致するオブジェクトを検出した場合、このオブジェクトを、一のグループの1番目のオブジェクトとする。このオブジェクトを起点として、順序情報が示す順番が2番である属性指定情報が指定する属性を有するオブジェクトであって、起点となるオブジェクトに隣接するオブジェクトを検出する。そして、このオブジェクトを、1番目のオブジェクトと同じグループの2番目のオブジェクトとする。ここで述べる隣接する配置領域とは、具体的には、配置領域間の距離が最も近い配置領域である。配置領域間、あるいはオブジェクト間の距離は、配置領域、あるいはオブジェクトのどの部分同士の距離としてもよい。例えば、配置領域間の距離を、配置領域の重心間の距離としても良い。あるいは、配置領域間の距離を、配置領域間の最も距離が短くなる部分の距離としても良い。グループ管理情報蓄積部103は、具体的には、配置情報を用いて配置領域間の距離を算出し、距離が最も短い配置領域に配置されているオブジェクトを、隣接して配置されるオブジェクトであると判断する。次に、2番目のオブジェクトの配置領域を起点として、順序情報が示す順番が3番である属性指定情報が指定する属性を有するオブジェクトが配置されている配置領域であって、2番目のオブジェクトの配置領域に隣接する配置領域を検出する。そして、この配置領域に配置されたオブジェクトを、1番目のオブジェクトと同じグループの3番目のオブジェクトとする。このようにして、新たに検出されたオブジェクトを起点として、次の順序の属性指定情報が指定する属性を有するオブジェクトであって、起点となるオブジェクトに隣接するオブジェクトを順次、グループに加えていく。そして、一のグループについての全ての属性指定情報について、上記のようにグループに加える処理が終了した時点で、一のグループに属するオブジェクトを選択する処理を終了する。そして、残りのオブジェクトについても、上記のようなグループ分けの処理を繰り返す。このような処理により、グループ管理情報蓄積部103は、一のページに配置されたオブジェクトを、属性指定情報を満たす一以上のオブジェクトにより構成されるグループに分ける。なお、オブジェクトが配置されている領域は、上述したようなフレームやボックス等のオブジェクトが配置される配置領域と考えても良い。また、この場合、オブジェクトのサイズ等の属性は、この配置領域のサイズ等の属性と考えてもよい。
グループ管理情報蓄積部103は、通常、MPUやメモリ等から実現され得る。グループ管理情報蓄積部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、グループ管理情報蓄積部103は、領域区切画像で区切られた領域に配置される複数のオブジェクトを、優先的に、属性指定情報が指定する属性を有するオブジェクト毎に、グループ分けするようにしてもよい。領域区切画像とは、オブジェクトが配置されている領域を区切るために配置される画像である。領域区切画像は、具体的には、罫線や枠線、区切り線等の画像である。この画像は、ビットマップ画像であってもベクトル画像であってもよい。また、領域区切画像を出力するための制御記号や、プログラム等であっても良い。領域区切画像は、領域区切画像の画像情報と考えても良い。具体的には、グループ管理情報蓄積部103は、図示しない記憶媒体等に予め格納されている領域区切画像で区切られた同じ領域に配置される複数のオブジェクトを、属性指定情報が指定する属性を有するオブジェクト毎に、優先的に同じグループにグループ分けするようにしてもよい。また、グループ管理情報蓄積部103は、領域区切画像が現れるまでの範囲内の領域に配置される複数のオブジェクト内でのみ、属性指定情報が指定する属性を有するオブジェクトを検出するようにしても良い。あるいは、直前にグループに加えられたオブジェクトに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のオブジェクトが配置されている場合、領域区切画像によって直前にグループに加えられたオブジェクトと同じ領域に区切られているオブジェクトを、優先的に同じグループのオブジェクトとして選択してグループに加えても良い。なお、本実施の形態における同じ距離とは、同じとみなすことのできる距離も含む概念であり、例えば、完全に一致する距離に対して、予め指定した値や割合の幅を持たせた距離を同じ距離としてもよい。なお、領域区切画像は、領域区切画像が配置されるページの位置の情報と対応付けられていてもよい。例えば、領域区切画像は、当該領域区切画像が配置される位置の情報と対応付けられていても良い。グループ管理情報蓄積部103は、領域区切画像の位置の情報と、オブジェクトとの位置関係を用いて、オブジェクトをグループに加えるか否かを判断してもよい。位置の情報等は、配置情報等と同様のものが利用可能である。
また、グループ管理情報蓄積部103は、直前にグループに加えられたオブジェクトに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のオブジェクトが配置されている場合、これらの複数のオブジェクトを、全て同じグループに加えるようにしても良い。
また、グループ管理情報蓄積部103は、直前にグループに加えられたオブジェクトに対して、同じ距離に次の属性指定情報が指定する属性を有する複数のオブジェクトが配置されている場合、これらの複数のオブジェクトと、既に同じグループにグループ分けされているオブジェクトのうちの、直前の順序のオブジェクト以外の一のオブジェクト、例えば順序が1番のオブジェクトとの距離を算出し、この距離が最も短い方のオブジェクトを、同じグループに加えるようにしても良い。
また、グループ管理情報蓄積部103は、ページ内に配置されている複数のオブジェクトの中に、順序情報が示す順序に対応したオブジェクトが欠落していると判断された場合、次の順序のオブジェクトを取得するようにしてもよい。なお、複数の配置領域に配置された複数のオブジェクト内の予め指定された範囲内に、順序情報が示す順序に対応したオブジェクトが存在しない場合を、オブジェクトが欠落していると判断するようにしても良い。この場合の予め指定された範囲は、例えば同じページ内や、直前の順序のオブジェクトからの距離が、予め指定した所定の距離未満の距離である。なお、予め指定された範囲を定義する情報、例えば直前の順序のオブジェクトからの距離の情報等は、例えば、図示しない記憶媒体等に予め格納されているようにすればよい。
また、グループ管理情報蓄積部103は、順序情報が示す所定の順序に対応する属性を有する複数のオブジェクトが、直前の順序のオブジェクトに対して同じ距離に存在していた場合に、当該複数のオブジェクトのうちの、直前の順序のオブジェクトに対して予め指定された所定の方向に位置するオブジェクトを、優先的に、直前の順序のオブジェクトと同じグループにグループ分けしてもよい。ここで述べる所定の方向とは、上下左右、斜め上、斜め下等であってもよいし、基準とする方向に対する角度で指定される方向であっても良い。例えば、配置領域の下方向を基準とした場合、2つの配置領域間、例えば配置領域の重心や、角部同士を結ぶ直線がこの基準となる下方向に対してなす角度が最も小さくなる配置領域に配置されるオブジェクトを、同じグループに配置されるオブジェクトとして選択しても良い。なお、所定の方向を指定する情報は、例えば、図示しない記憶媒体等に予め格納されているようにすればよい。
また、グループ管理情報蓄積部103は、いずれのグループにもグループ分けされずに残ったオブジェクトを、距離が最も近いグループに付加するようにしてもよい。例えば、グループ管理情報蓄積部103は、予め指定された範囲、例えば一のページ、に配置されているオブジェクトを、上述したようにグループ分けした結果、いずれのグループにもグループ分けされずに残ったオブジェクトが存在した場合、このオブジェクトを、距離が最も近いグループに加える。ここでの距離とは、各グループにおける直前の順序のオブジェクトを除いたいずれか一つのオブジェクト、例えば、順序が一番である属性指定情報に対応したオブジェクトとの距離であっても良いし、各グループを構成するオブジェクト全体の重心との距離であっても良い。なお、本実施の形態において、オブジェクトをグループに加えるあるいは付加するとは、例えば、オブジェクトを、既にグループ分けされているオブジェクトグループに加えたり、既にグループ分けされているオブジェクトグループとともに取得したりすることであっても良いし、オブジェクトに、それぞれが属する既存のグループの識別情報等を付与すること等である。なお、グループ管理情報蓄積部103は、いずれのグループにもグループ分けされずに残ったオブジェクトについては、グループ分けを行わないようにしても良い。
さらに、グループ管理情報蓄積部103は、オブジェクトが画像オブジェクトである場合に、当該画像オブジェクトと同じグループに含まれるオブジェクトとの距離を配置情報を用いて算出し、当該画像オブジェクトを、距離が最も近いオブジェクトと対応付けてグループ化してもよい。通常画像オブジェクトには、当該画像オブジェクトが示す画像を説明する文章の文字列オブジェクト等が、画像オブジェクトに近接して配置されるため、このような文字列のオブジェクトを画像オブジェクトと対応付けることで、どのオブジェクトが、画像オブジェクトの画像を説明する文章等のオブジェクトであるかを判断することが可能となる。この対応付けは、例えば、対応関係を管理するための管理表を用いて管理される。
また、グループ管理情報蓄積部103は、グループ化の対象となる一のオブジェクト内に、当該オブジェクトに関連している他のオブジェクトの位置を示すための情報である関連指定情報が含まれている場合、この関連指定情報が示す位置に配置されているオブジェクトを、グループ化の対象となる一のオブジェクトと同じグループにグループ分けするようにしても良い。このとき、関連指定情報が含まれる一のオブジェクトと、この関連指定情報が示す位置に配置されているオブジェクトとを更に対応付けてグループ化しても良い。例えば、関連指定情報が含まれる一のオブジェクトとこの関連指定情報が示す位置に配置されているオブジェクトとをさらにネスト化された(言い換えれば階層化された)グループとしてもよい。この対応付けは、どのように管理しても良い。グループ化は、具体的には、関連するオブジェクトの位置を指定するための情報が、一以上の関連指定情報と対応付けて図示しない記憶媒体等に予め格納されており、グループ管理情報蓄積部103は、グループ化の対象となる一のオブジェクトから一の関連指定情報を検出した場合、検出された一の関連指定情報に対応付けられた、関連するオブジェクトの位置を指定する情報を読み出し、当該位置を指定する情報が示す位置に配置されているオブジェクトを、グループ化の対象となる一のオブジェクトと同じグループにグループ化する。関連するオブジェクトの位置を指定する情報は、例えば、関連指定情報が含まれるオブジェクトに対する相対的な位置の情報であっても、絶対的な位置の情報であっても良い。関連指定情報は、テキストであっても良いし、画像であっても良い。具体的には、関連指定情報は、矢印や、方向を表す三角形、人差し指のマーク等の、方向を指し示すオブジェクトであることが好ましい。関連指定情報が方向を指し示すオブジェクトである場合、上述した関連指定情報に対応付けられた、関連するオブジェクトの位置を指定する情報は、この方向を指し示すオブジェクトが指し示す方向の位置を指定する情報である。また、関連指定情報は必ずしも隣接して配置されているオブジェクトの位置を指定する情報でなくてもよく、他のオブジェクトを介して配置されているオブジェクト等を指定する情報であっても良い。オブジェクトにおける関連指定情報の検出は、関連指定情報が、例えば、テキストであれば、通常の文字の検索により行うことが可能である。また関連指定情報が画像オブジェクトであれば、画像オブジェクトのファイル名等で検索したり、オブジェクト内に配置されている画像と、関連指定情報として定義されている一以上の画像とのパターンマッチングや、相関を求めることで、検出が可能である。なお、関連指定情報を用いたオブジェクト間の関連付けを、グループ化の前に行うようにし、関連づけられた一方のオブジェクトがグループ化の対象となった場合に、当該オブジェクトに対応付けられた他方のオブジェクトも同じグループにグループ分けするようにしてもよい。
グループ管理情報蓄積部103による関連指定情報を用いる処理の具体例を以下に説明する。画像オブジェクトAの下方に、当該画像オブジェクトAのキャプションであるテキストオブジェクトBが配置されており、テキストオブジェクトBの先頭に、上方を指す一つの矢印の文字が配置されていたとする。この矢印の文字が、関連指定情報の一つであったとする。そして、グループ管理情報蓄積部103によるグループ化の処理中に、例えば、テキストオブジェクトBが、一のグループのK番目の属性指定情報の指定するオブジェクトであると判断された場合、グループ管理情報蓄積部103が、テキストオブジェクトB内において、関連指定情報の検索を行う。ここでは、上方を示す矢印である関連指定情報が検索されるため、グループ管理情報蓄積部103は、テキストオブジェクトBの上方を走査して、直上に位置するオブジェクトである画像オブジェクトAを検出し、この画像オブジェクトAとテキストオブジェクトBとを対応付けて、一のグループのオブジェクトとしてグループ分けする。ここで、例えば、テキストオブジェクトBの先頭に上方を示す二つの矢印を含む文字が配置されていたとすると、グループ管理情報蓄積部103は、テキストオブジェクトBの二つ上に配置されている画像オブジェクトを、テキストオブジェクトBと対応付けてグループ化する。なお、関連指定情報により示される関連とは、この具体例のように、一のオブジェクトと、そのオブジェクトを説明する他のオブジェクトとの関連等、どのような関連であっても良い。
なお、グループ管理情報蓄積部103がグループ化の対象とするオブジェクトは、既にグループ化されているオブジェクトグループを含んでいても良い。つまり、オブジェクトを複数の階層でグループ化しても良い。この場合、上位のグループ管理情報には、オブジェクトの代わりに、グループオブジェクト、あるいはグループオブジェクトの識別情報等が格納されているようにすればよい。
また、グループ管理情報蓄積部103は、後述するページ生成部120が第n(nは2以上の整数)のページ情報を用いて、第(n+1)のページ情報を生成する処理を繰り返す場合に、第nのページ情報に含まれるオブジェクトについてもグループ分けを行うようにしてもよい。この場合、第一のページ情報に対するグループ分けとは異なるルール等でグループ分けを行っても良い。また、第nのページ情報を生成する処理の繰り返し回数が、予め指定された回数となるまで、あるいはnの値が予め指定された値となるまで、第nのページ情報に含まれるオブジェクトについてグループ化を行うようにしても良い。あるいは、ページ情報に配置されているオブジェクト数と、グループ化のルール等を対応付けたルール管理情報等を予め図示しない記憶媒体等に用意しておくようにして、第nのページ情報に配置されているオブジェクト数に対応するグループ化のルールをこのルール管理情報から取得し、このルールに従って、グループ化を行っても良い。このグループ化のルールとは、例えば、ルールに対応して指定された属性指定情報等を用いたり、ルールに応じて、関連指定情報の利用の可否を判断すること等である。グループ化のルールが異なるということは、例えば、グループ化に利用される属性指定情報等が異なることや、関連指定情報を利用するか否か等の組み合わせが異なること等と考えても良い。また、ページ情報に配置されているオブジェクト数が予め指定された閾値より小さくなった場合に、グループ化をやめるようにしても良い。
なお、グループ管理情報蓄積部103は、オブジェクトのグループ分けを行うか否かを判断してもよい。例えば、グループ管理情報蓄積部103は、一の第nのページ情報に配置されているオブジェクト数が予め指定された閾値よりも少ない場合に、グループ分けを行わないようにしても良い。また、第nのページ情報を生成する処理の繰り返し回数が、予め指定された回数を超えた場合、あるいはnの値が予め指定された値を超えた場合に、グループ分けを行わないようにしてもよい。
また、グループ管理情報蓄積部103は、階層化されたグループ分けを行っても良い。例えば、一のオブジェクトグループ内の構成要素として、1以上のオブジェクトグループを含んでも良い。
グループ管理情報蓄積部103は、通常、MPUやメモリ等から実現され得る。グループ管理情報蓄積部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
グループ管理情報格納部104には、一のオブジェクトグループに属する一以上のオブジェクトを示す情報である上述したようなグループ管理情報が一以上格納される。グループ管理情報格納部104には、例えば、グループ管理情報蓄積部103が取得したグループ管理情報が、グループ管理情報蓄積部103により蓄積される。ただし、グループ管理情報蓄積部103には、予めユーザ等により蓄積されたグループ管理情報が格納されていても良い。また、グループ管理情報は、上述したような階層的にグループ化されたグループオブジェクトを示すグループ管理情報であってもよい。
グループ管理情報格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
サイズ制限情報格納部105は、第一及び第二のページ情報が出力される画面サイズの情報である画面サイズ情報と、オブジェクトのサイズの閾値を示す情報であるサイズ閾値情報とを有するサイズ制限情報が格納される。第二のページ情報については、後述する。ここで述べる第一及び第二のページ情報の出力とは、第一及び第二のページ情報そのものの出力と考えても良いし、ページ情報を用いて作成した出力用のデータの出力であっても良い。また、ページ情報の一部を、レンダリングして構成した画像情報等を含むデータの出力であっても良い。画面サイズ情報は、第一および第二のページ情報を用いて出力される出力データを表示する出力端末の表示画面のサイズを示す情報である。つまり、ページ情報を用いて出力される出力データの出力ターゲットとなる表示画面のサイズである。ここでの表示画面のサイズの単位等は問わない。例えば、単位はピクセル等でも良いし、インチ等でもよい。また、画面のサイズは、縦横比と、対角の長さとの組み合わせ等で示されても良い。画面サイズ情報は、画面サイズの範囲を指定する情報でも良い。また、画面サイズ情報は、ページ情報が出力される画面サイズの短辺の長さの範囲を示す情報でもよい。なお、ページ情報が出力される画面サイズとは、ページ情報を用いて出力される情報が表示される画面サイズと考えても良い。なお、画面サイズ情報の代わりに、ページ定義情報に含まれるページのサイズの情報等を用いるようにしてもよい。
オブジェクトのサイズの閾値とは、後述するページ生成部120がページ生成の対象とするオブジェクトのサイズの閾値である。この場合、閾値は下限値と考えても良い。ただし、ページ生成の対象としないオブジェクトのサイズの閾値としてもよい。この場合、閾値は上限値と考えてもよい。サイズ制限情報格納部105には、例えば、予めユーザ等により入力されたサイズ制限情報が蓄積される。
サイズ制限情報格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
画面サイズ指定情報受付部106は、第一及び第二のページ情報が出力される画面サイズを指定する情報である画面サイズ指定情報を受け付ける。画面サイズ指定情報は、例えば、第一及び第二のページ情報を用いて出力される出力データが表示される出力端末の表示画面のサイズを指定する情報である。画面サイズ指定情報が指定する画面サイズは、出力ターゲットの表示画面のサイズと考えても良い。ただし、出力部125が、この画面サイズ指定情報が指定する表示画面のサイズの出力データを出力する必要は必ずしもない。
ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。例えば、図示しない記憶媒体等に予め格納されている画面サイズ指定情報を読み出すことも、ここでは受付と考える。この場合の読み出す画面サイズ指定情報は、予め格納されている第一のページ情報や第二のページ情報の出力部125から出力される出力サイズを示す情報でも良いし、第一のページ情報や第二のページ情報のページのサイズを指定する情報であっても良い。
入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。画面サイズ指定情報受付部106は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
生成管理情報格納部107には、属性値条件と、配置ルール条件とを有する生成管理情報が格納される。属性値条件は、オブジェクトの1以上の属性値についての条件を示す情報である。属性値条件は、例えば、属性と、その属性の値またはその値の範囲とを有する情報である。配置ルール情報は、第二のページ情報を生成する際のオブジェクトの配置のルールを示す情報である。配置ルール情報は、第二のページ情報を生成する際の生成ルール情報と考えても良い。第二のページ情報は、第一のページ情報に配置されている一以上のオブジェクトを用いて後述するページ生成部120で作成されるページ情報である。配置ルール情報は、どのようにオブジェクトを配置した第二のページ情報を作成するかを示すルールを示す情報である。例えば、配置ルール情報は、配置対象となるオブジェクトの配置位置等を指定する情報(例えば座標やサイズ等の情報)であってもよいし、配置対象となるオブジェクトの配置位置等を示す情報を含むテンプレートの情報であっても良い。また、オブジェクトが予め指定した位置やサイズ等になるように配置したページを作成するためのプログラムや、プログラムを呼び出すための情報等であっても良い。
例えば、生成管理情報格納部107には、文字列を含むオブジェクトの属性値であるフォントサイズについての閾値を示す属性値条件と、オブジェクトを拡大して配置する配置ルール情報とを有する生成管理情報が格納されていてもよい。フォントサイズについての閾値とは、例えば、フォントサイズの下限値を示す値である。なお、オブジェクトに複数のサイズのフォントが含まれる場合、最小サイズのフォントのサイズが下限値より小さい場合に配置ルールを適用することが好ましい。また、閾値よりフォントサイズが大きい場合は、例えば、予め指定されたデフォルトのルール等に従って、オブジェクトを配置した第二のページ情報を作成するものとすればよい。なお、ここでの閾値と実際の値との比較において、閾値と実際の値とが一致した場合は、閾値よりも値が大きい場合と同じ扱いとするようにしても良いし、閾値よりも値が小さい場合と同じ扱いとするようにしても良い。かかることは、他の閾値についても同様である。
また、属性値条件は、例えば、文字列を含むオブジェクトが予め指定された一以上の文字列を含むことであっても良いし、画像を含むオブジェクトの画素数や解像度の閾値であっても良い。また、配置ルール情報は、オブジェクトを拡大表示する、もしくはしないことを示すルールの情報や、オブジェクトの画素数を削減して配置するというルールや、オブジェクトの画像の圧縮率を変更する等のルールである。また、オブジェクトに含まれる文字列のフォントを変更するルール等であっても良い。生成管理情報に含まれる属性値情報と配置ルール情報との組み合わせは、例えば、配置の対象となるオブジェクトの属性値が、属性値条件が示す閾値より大きい場合(あるいは小さい場合に)に、よりユーザによって見やすい出力データが出力される第二のページ情報が作成されるようなオブジェクトの配置ルール情報の組み合わせである。
生成管理情報格納部107は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
グループ生成管理情報格納部108には、グループ属性値条件と、グループ配置ルール情報とを有するグループ生成管理情報が格納される。グループ属性値条件は、オブジェクトグループの一以上の属性についての属性値の条件を示す情報である。グループ属性値条件は、例えば、オブジェクトグループについての属性と、その属性の値またはその値の範囲とを有する情報である。グループ配置ルール情報は、第二のページ情報を生成する際のオブジェクトグループの配置のルールを示す情報である。グループ配置ルール情報は、第二のページ情報を生成する際のグループ生成ルール条件と考えても良い。グループ配置ルール情報は、どのようにオブジェクトグループを配置した第二のページ情報を作成するかを示すルールを示す情報である。グループ配置ルール情報は、配置対象となるグループオブジェクト、あるいはグループオブジェクトを構成するオブジェクトの配置位置等を指定する情報(例えば座標やサイズ等の情報)であってもよいし、例えば、配置対象となるグループオブジェクト、あるいはグループオブジェクトを構成するオブジェクトの配置位置等を示す情報を含むテンプレートの情報であっても良い。また、グループオブジェクトが予め指定した位置やサイズ等となるように配置したページを作成するためのプログラムや、プログラムを呼び出すための情報等であっても良い。
例えば、グループ生成管理情報格納部108には、オブジェクトグループを構成するオブジェクト数についての閾値を示すグループ属性値条件と、オブジェクトグループを構成するオブジェクトを拡大して配置するグループ配置ルール情報とを有するグループ生成管理情報が格納されていてもよい。このオブジェクト数についての閾値とは、例えば、オブジェクトグループを構成するオブジェクト数の上限値である。なお、閾値よりオブジェクト数が少ない場合は、例えば、予め指定されたデフォルトのルール等に従って、オブジェクトグループを配置した第二のページ情報を作成するものとしても良いし、第二のページ情報を作成しないようにしても良い。
また、グループオブジェクト属性値条件は、例えば、グループオブジェクト内の文字列オブジェクトの数の閾値や、画像オブジェクトの数の閾値等であっても良い。また、グループ配置ルール情報は、オブジェクトグループ内の文字列オブジェクトだけを拡大して配置する、もしくはしないことを示すルールの情報や、グループオブジェクト内の画像オブジェクトを削減して配置するというルールや、グループオブジェクト内の画像の圧縮率を変更する等のルールである。また、グループオブジェクト内に含まれる文字列のフォントを変更するルール等であっても良い。
グループ生成管理情報格納部108は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
指定受付部109は、第一のページ情報に配置されたオブジェクトのうちの、一の第二のページ情報に配置される一以上のオブジェクトを指定する情報である指定情報を、一以上受け付ける。指定は、オブジェクト単位で受け付けても良いし、オブジェクトグループ単位で受け付けても良い。なお、図示しない記憶媒体等に予め格納されている指定情報を読み出すことも、ここでは受付と考える。指定情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。指定受付部109は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
ページ生成部120は、第二のページ情報を生成する。第二のページ情報は、第一のページ情報に配置された一以上のオブジェクトを配置したページの情報である。第二のページ情報の構成は、例えば、第一のページ情報の構成と同様である。第二のページ情報は、例えば、オブジェクトやページ識別情報や配置情報等の第一のページ情報と同様の構成を有している。生成部120は、第二のページ情報をどのように生成してもよい。ページ生成部120は、第二のページ情報に、第一のページ情報に配置されたオブジェクトの複製を生成して配置しても良いし、第一のページ情報に配置されているオブジェクトのリンク情報を配置しても良い。リンク情報は、ポインタと考えても良い。ページ生成部120は、例えば、空白のページを示すページ定義情報やページ識別情報を生成し、このページに一以上のオブジェクトを配置して第二のページ情報を生成しても良い。リンク情報を配置する場合、例えば、第二のページ情報のオブジェクトが配置された領域には、リンクされるオブジェクトが格納されている場所を示す情報等がリンク情報として配置される。また、例えば、予め指定されたページ定義情報のテンプレート等に一以上のオブジェクトを配置して第二のページ情報を生成しても良い。また、ページ定義情報を生成せずに、単に、オブジェクトの配置される位置を示す配置情報を生成することで、第二のページ情報を生成しても良い。また、配置情報を生成する際に、オブジェクトのサイズ等の属性値等を利用したり、参照したりしても良いし、オブジェクトの第一のページ情報における配置情報等を利用したり参照したりしても良い。例えば、オブジェクトを実寸で配置する場合、オブジェクトが配置されている領域のサイズを指定するために、オブジェクトのサイズ情報を取得しても良い。
また、ページ生成部120は、このページ生成部120が生成した第n(nは2以上の整数)のページ情報に配置された一以上のオブジェクトを配置したページの情報である第(n+1)のページ情報を生成する処理を繰り返すようにしてもよい。第nのページ情報は、例えば、オブジェクトやページ識別情報や配置情報等の第一のページ情報と同様の構成を有するものである。また、ページ生成部120が第nのページ情報から第(n+1)のページ情報を生成する処理は、上述した第一のページ情報から第二のページ情報を生成する処理と同様の処理である。具体的には、ページ生成部120が生成した第(n+1)のページ情報を、再度、第nのページ情報として用いて、第(n+1)のページ情報を取得する処理を繰り返すようにすればよい。例えば、第一のページ情報からページ生成部120が取得した第二のページ情報を用いて、第三のページ情報を生成し、この第三のページ情報を用いてページ生成部120が第四のページ情報を生成する、というような処理を繰り返せばよい。この処理の繰り返しは、第(n+1)のページ情報に配置されるオブジェクト数が、所定数以下(例えば1以下)となるまで繰り返すようにしても良いし、所定回数だけ繰り返すようにしても良い。あるいは、第(n+1)のページ情報の生成が、グループオブジェクトに対するページ情報の生成でなくなるまで繰り返しても良い。なお、ページ生成部120が取得した第二のページ情報や、ページ情報の生成を繰り返すごとに取得される第(n+1)のページ情報は、例えば、図示しない記憶媒体等に蓄積しておく。なお、ページ生成部120が行う処理においては、第nのページ情報と、第(n+1)のページ情報とは、それぞれ、第一のページ情報と、第二のページ情報とほぼ同様に取り扱われるものとする。
なお、第nのページ情報におけるnの値は、リンク関係で階層化されたページ情報における階層の深さと考えても良い。
ページ生成部120は、第一のページ情報に配置されたオブジェクトのうちのいずれのオブジェクトを配置した第二のページ情報を生成しても良い。例えば、第一のページ情報に複数のオブジェクトが配置されている場合、配置されている全てのオブジェクトを個別に配置した複数の第二のページ情報を生成しても良い。また、第一のページ情報に配置されている複数のオブジェクトのうちの、予め指定されたオブジェクトを除いたオブジェクトについて第二のページ情報を生成しても良い。予め指定されたオブジェクトとは、例えば、ユーザにより指定を受け付けたオブジェクトや、予め指定された属性を有するオブジェクトや、予め指定された条件に合致する、あるいは合致しないオブジェクトである。これらの指定に用いられる情報は、例えば、図示しない記憶媒体等に予め格納されている。また、ページ生成部120は、第一のページ情報に配置された複数のオブジェクトが配置された一の第二のページ情報を、一以上生成しても良い。また、第一のページ情報に配置された複数のオブジェクトが配置された一の第二のページ情報を複数生成する場合、それぞれの第二のページ情報に配置されるオブジェクトの一部が重複していても良い。
ページ生成部120は、例えば、指定受付部109が指定を受け付けた一以上の指定情報によりそれぞれ指定されるオブジェクトを配置した一以上の第二のページ情報を生成する。ページ生成部120は、例えば、指定受付部109が複数のオブジェクトを指定した場合に、当該複数のオブジェクトのそれぞれを個別に配置した複数の第二のページ情報を生成しても良いし、複数のオブジェクトを一のページ情報に配置したページ情報を生成しても良い。あるいは、複数のオブジェクトの二以上の群に予め指定したルール等で分割して、それぞれを配置した二以上のページ情報を生成しても良い。また、ページ生成部120は、例えば、指定受付部109が、複数の指定情報を受け付けた場合に、各指定情報で指定されるオブジェクトをそれぞれ配置した複数のページ情報を、各指定情報別に作成する。
ページ生成部120は、例えば、第一のページ情報に配置された一以上のオブジェクトを、予めデフォルト等で指定された外観となるように配置した第二のオブジェクトを生成する。ここでの外観とは、オブジェクトの位置や、サイズ、属性等を含む概念である。外観は、いわゆるアピアランスと呼ばれる画面表示スタイル等と考えても良い。また、ページ生成部120は、例えば、第一のページ情報に配置された一以上のオブジェクトを、第一のページ上とは異なる外観となるよう配置した第二のオブジェクトを生成することが好ましい。ページ生成部120は、例えば、予め指定されたテンプレート等に第一のページ情報に配置されたオブジェクトを配置することで、予め指定された外観を有する第二のページ情報を生成しても良い。また、第一のページ上におけるオブジェクトの外観に関する情報を取得し、この情報を用いて、このオブジェクトの外観が、第一のページ上の外観とは異なる外観を有するように配置した第二のページ情報を生成しても良い。なお、第二のページ情報、あるいはそれ以降のページ情報においては、第一のページ情報に配置されるオブジェクトを参照して(あるいはリンクして)配置するようにすることで、第一のページ情報に配置されるオブジェクトを共用するようにしても良い。これによりデータ量の削減を図ることができる。
ページ生成部120は、例えば、第一のページ情報に配置された一以上のオブジェクトを、拡大して配置した第二のページ情報を生成する。ここでの拡大は、例えば、オブジェクトのページにおける配置サイズの拡大である。拡大されるサイズ等は、拡大率は、配置サイズの縦または横の最大値等で予め指定しておくようにしても良いし、任意に設定しても良いし、第一のページ情報や、第二のページ情報のページのサイズの情報等から適宜算出してもよい。また、ページ生成部120は、第一のページ情報に配置された一以上のオブジェクトに含まれる文字のフォントサイズ等を大きくした第二のページ情報を生成しても良い。また、文字のフォントを予め指定されたフォントに変更しても良い。また、画像のオブジェクトの最終的な出力解像度を予め指定された低解像度に指定する情報を含む第二のページ情報を生成しても良い。
また、第二のページ情報は、第一のページ情報上のオブジェクト以外のオブジェクトを含んでいても良い。
なお、第二のページ情報を生成する際に利用する情報(例えば、どのようにオブジェクトの外観を変更するかを示す情報、例えば変更のルールや、変更の処理を行うための命令やプログラムや、テンプレート)等は、図示しない記憶媒体等に予め格納しておくようにすればよい。
ページ生成部120は、第一のページ情報に配置されたオブジェクトのうちの、グループ管理情報が示す一以上のオブジェクトを配置した第二のページ情報を生成してもよい。例えば、複数のグループ管理情報がそれぞれ示すオブジェクトグループに属するオブジェクトを、オブジェクトグループ別に配置した複数の第二のページ情報を生成する。一のオブジェクトグループに、複数のオブジェクトが属する場合、第一のページ情報におけるそれらの相対的な位置関係は、これらが配置される第二のページ情報におけるこれらの相対的な位置関係と変わらないものとすることが好ましい。相対的な位置関係が変わらないということは、オブジェクト同士の上下左右の位置関係や、オブジェクト間の距離と、オブジェクトのサイズとの比率等がほぼ変わらないことを意味する。ただし、位置関係を変更するようにしても良い。
ページ生成部120は、例えば、第一のページ情報に配置されたオブジェクトに応じたルールに従って、第二のページ情報を生成するようにしても良い。以下、オブジェクトに応じた第二のページ情報の生成の例について説明する。
(a)画面サイズ指定情報とオブジェクトサイズとに応じた生成
ページ生成部120は、例えば、第一のページ情報に配置されたオブジェクトのうちの、画面サイズ指定情報に対応する画面サイズ情報に対応したサイズ閾値情報より大きいサイズのオブジェクトについてのみ、第二のページ情報を生成するようにしても良い。なお、ここで述べるサイズは、ページにおける配置される大きさを意味する。具体的には、ページ生成部120は、画面サイズ指定情報受付部106が受け付けた画面サイズ指定情報に対応する画面サイズ情報を、サイズ制限情報格納部105に格納されているサイズ制限情報から検出し、検出した画面サイズ情報に対応したサイズ閾値情報をサイズ制限情報から取得する。画面サイズ指定情報に対応する画面サイズ情報は、画面サイズ指定情報と一致する画面サイズ情報であっても良いし、画面サイズ指定情報とサイズが最も近い画面サイズ情報でもよい。また、画面サイズ指定情報を含む画面サイズを指定する画面サイズ情報でも良い。そして、第一のページ情報に配置されたオブジェクトについてサイズの情報を取得し、上記で取得したサイズ制限情報よりもサイズが小さいか否かを判断し、小さいサイズのオブジェクトについては、当該オブジェクトを、第一のページ情報に配置されている他の一以上のオブジェクトとともに配置した第二のページ情報を生成する。またページ生成部120は、このオブジェクトを単独で配置した第二のページ情報、あるいはこのオブジェクトと後述する見出しオブジェクトを配置した第二のページ情報も生成しないようにする。ページ生成部120は、他の一以上のオブジェクトはどのように選択しても良い。例えば、オブジェクト間の距離が最も近いオブジェクトを選択しても良い。また、サイズ制限情報よりもサイズが小さいオブジェクトから、予め指定された距離の範囲に位置するオブジェクトを選択しても良い。あるいは、予め指定された属性を有するオブジェクトを優先的に選択しても良い。また、上述したグループ化を行うルールにおいて、次のオブジェクトを選択する際の処理と同様の処理によって他のオブジェクトを選択しても良い。このようにすることで、第一のページ情報が表示されるサイズによっては、表示画面に表示されるサイズが小さすぎて、ユーザの操作が困難と思われるオブジェクトについては、第二のページ情報を単独で生成せずに、他のサイズの大きいオブジェクトと組み合わせて第二のページ情報を生成することで、無駄な第二のページ情報の作成を抑えることができる。即ち、サイズ制限情報は、オブジェクト単体の第二のページ情報の生成の可否の決定に用いられる。なお、画面サイズ指定情報を用いる代わりに、ページ定義情報が有するページの出力サイズを示す情報等を用いるようにしても良い。
(b)オブジェクトの属性値に応じた生成
ページ生成部120は、第一のページ情報に配置された一以上のオブジェクトの属性値を取得し、属性値が満たす属性値条件に対応する配置ルール情報を生成管理情報格納部107から取得し、配置ルール情報に従って第一のページ情報に配置された一以上のオブジェクトを配置した第二のページ情報を生成するようにしてもよい。第一のページ情報に配置された一以上のオブジェクトは、ユーザ等により指定されたオブジェクトであっても良いし、第一のページ情報に配置された全て、あるいは予め指定されたオブジェクトを除いたオブジェクトであっても良い。ページ生成部120は、例えば、第一のページ情報に配置された一以上のオブジェクトから、予め指定された一以上の属性についての属性値を取得する。この予め指定された属性値は、生成管理情報が有する属性値条件に対応した属性の属性値としてもよいし、ユーザにより予め指定された一以上の属性値としてもよい。そして、ページ生成部120は、オブジェクトから取得した属性値が、生成管理情報格納部107に格納されている一以上の生成管理情報の一以上の属性値条件を満たすか否かを判断する。そして、満たす場合、満たすと判断された属性値条件に対応した配置ルール情報を取得し、この配置ルール情報に従って、オブジェクトを配置した第二のページ情報を生成する。
例えば、ページ生成部120は、第一のページ情報に配置された一以上のオブジェクトのフォントサイズの属性値を取得する。そして、取得したフォントサイズが、一の生成管理情報が有する属性値条件が示すフォントサイズの閾値より小さいか否かを判断し、小さい場合に、この属性値条件に対応する配置ルール情報であるオブジェクトを拡大して配置する配置ルール情報を取得し、配置ルール情報に従って第一のページ情報に配置された一以上のオブジェクトを拡大して配置した第二のページ情報を生成する。なお、拡大を行う配置ルール情報には、拡大率や、拡大後のオブジェクトの縦、または横の値を指定する情報を含むようにしても良い。なお、文字列のオブジェクトの拡大は、フォントサイズを大きくなるよう変更することと考えても良い。
なお、属性値条件を満たさないと判断された場合、そのオブジェクトについての第二のページ情報を生成しないようにしても良い。あるいは、デフォルトで指定された配置ルール情報に従って第二のページ情報を生成しても良い。例えば、属性値条件を満たす場合と満たさない場合との両方の場合において、オブジェクトを拡大して配置した第二のページ情報を生成するようにするとともに、属性値を満たす方の拡大率の方が、属性値を満たさない場合よりも拡大率が大きくなるようにしても良い。
(c)オブジェクトグループの属性値に応じた生成
ページ生成部120は、第一のページ情報に配置されたオブジェクトのうちの、グループ管理情報が示すオブジェクトから、グループ管理情報が示すオブジェクトグループについての属性値を取得し、属性値が満たすグループ属性値条件に対応するグループ配置ルール情報をグループ生成管理情報格納部108から取得し、グループ配置ルール情報に従って、グループ管理情報が示すオブジェクトを配置した第二のページ情報を生成するようにしてもよい。グループ管理情報が示すオブジェクトは、ユーザ等により指定された一以上のグループ管理情報を構成するオブジェクトであっても良いし、グループ管理情報格納部104に格納されている全て、あるいは予め指定された一部を除いたグループ管理情報がそれぞれ示すオブジェクトであっても良い。ページ生成部120は、例えば、一以上のグループ管理情報が示すオブジェクトグループから、予め指定された一以上のオブジェクトグループの属性についての属性値をそれぞれ取得する。この予め指定された属性値は、グループ生成管理情報が有するグループ属性値条件に対応した属性の属性値としてもよいし、ユーザにより予め指定された一以上のオブジェクトグループについての属性値としてもよい。そして、ページ生成部120は、各オブジェクトグループから取得した属性値が、グループ生成管理情報格納部108に格納されている一以上のグループ生成管理情報の一以上のグループ属性値条件を満たすか否かを判断する。そして、満たす場合、満たすと判断されたグループ属性値条件に対応したグループ配置ルール情報を取得し、この配置ルール情報に従って、グループ属性値条件を満たす属性値を有するオブジェクトグループを構成するオブジェクトを配置した第二のページ情報を生成する。
例えば、ページ生成部120は、グループ管理情報が示す第一のページ情報に配置されたオブジェクトで構成されるオブジェクトグループについてのオブジェクト数の属性値を取得し、取得したオブジェクト数が、一のグループ生成管理情報が有するグループ属性値条件が示すオブジェクトグループを構成するオブジェクト数の閾値より大きい場合、このグループ属性値条件に対応するグループ配置ルール情報であるオブジェクトグループを構成するオブジェクトを拡大して配置するグループ配置ルール情報を取得する。そして、このグループ配置ルール情報に従って、グループ管理情報が示す一のグループオブジェクトを構成するオブジェクトを拡大して配置した第二のページ情報を生成する。オブジェクトグループの拡大率等の情報は、グループ配置ルール情報等に予め蓄積しておくようにしても良いし、デフォルト等で指定されているようにしても良い。
なお、グループ属性値条件を満たさないと判断された場合、そのオブジェクトグループについての第二のページ情報を生成しないようにしても良い。あるいは、そのオブジェクトグループについては、デフォルトで指定されたグループ配置ルール情報に従って第二のページ情報を生成しても良い。
(d)見出しオブジェクトについての生成
ページ生成部120は、第一のページ情報に配置されたオブジェクトから、見出しが含まれるオブジェクトである見出しオブジェクトを検出し、検出した見出しオブジェクトと、第一のページ情報に配置された見出しオブジェクト以外の一以上のオブジェクトとを配置した第二のページ情報を生成してもよい。ページ生成部120は、見出しが含まれるオブジェクトをどのように検出しても良い。例えば、第一のページ情報に配置されたオブジェクトのうちの最もフォントサイズが最も大きなオブジェクトを見出しオブジェクトと判断してもよい。また、予め指定されたフォントサイズよりも大きいフォントサイズの文字列を有するオブジェクトを見出しが含まれるオブジェクトとして判断しても良い。また、予め指定されたフォントの文字列を有するオブジェクトを見出しのオブジェクトと判断しても良い。あるいは、オブジェクト名から見出しを判断しても良い。ページ生成部120は、例えば、第一のページ情報に配置されている見出しオブジェクトを検出し、第一のページ情報に配置されている見出しオブジェクト以外のオブジェクトを配置した第二のページ情報を生成する際に、見出しオブジェクトも配置した第二のページ情報を生成する。見出しオブジェクトが配置される位置は問わない。例えば、見出しオブジェクト以外のオブジェクトが配置される位置に対する相対的な位置関係で、見出しオブジェクトの配置を指定しておくようにしても良い。また見出しオブジェクトが配置されるサイズ等も問わない。見出しオブジェクト以外の同じ第二のページ情報に配置されるオブジェクトと同様の処理を行って配置するようにしても良い。
(e)地図オブジェクトについての生成
ページ生成部120は、第一のページ情報に配置された一以上のオブジェクトが、地図のオブジェクトであるか否かを判断し、地図のオブジェクトである場合に、地図のオブジェクトから、地図が示す場所を示す情報を取得し、場所を示す情報を用いた検索結果を配置するページの情報である地図検索ページ情報を生成するようにしても良い。ページ生成部120は、第一のページ情報に配置された一以上のオブジェクトが、地図のオブジェクトであるか否かを、例えば、オブジェクト名や、オブジェクトに含まれる文字列等から判断する。例えば、オブジェクト名や、オブジェクトの文字列に「地図」や、「map」等の予め指定された地図を検出するための文字列が含まれるか検索等により否かを判断し、含まれる場合、地図のオブジェクトであると判断する。
地図のオブジェクトである場合、地図オブジェクトの示す地域や、地点の情報を取得する。例えば、予め地名のデータベースを、図示しない記憶媒体等に用意しておく。そして、地図のオブジェクトから、いわゆるOCR等の文字認識技術を用いて文字列を取得し、この文字列と一致する地名が、地名のデータベース内にあるか否かを判断し、ある場合、この文字列を地図が示す地域や地点を示す地名として取得する。または、地図のオブジェクト名や、オブジェクトに含まれる文字列等から、地名のデータベースと一致する地名を取得しても良い。また、地名の代わりに、地図のオブジェクト名や、オブジェクトに含まれる文字列等から、経度や緯度の情報を取得しても良い。例えば、東経xxx度(xは数字の正規表現であるとする)という文字列等を取得する。
そして、この地図が示す場所を示す地名や緯度や経度等の情報を検索キーとして用いた検索の結果を配置するためのページ情報である地図検索ページ情報を生成する。この地図検索ページ情報は、検索結果の情報が配置されるページ情報であり、検索を行うタイミングは問わない。例えば、地図検索ページ情報をページ生成部120が生成する際に、上記の地図の場所を示す情報を用いた検索を行い、検索結果として得られた情報を、地図検索ページ情報に配置しても良い。また、地図の場所を示す情報を検索キーとした検索が実行されるようなプログラム等を有する出力情報を出力する地図検索ページ情報を生成し、この地図検索ページ情報に対応した出力情報を開く際に、検索キーを用いた検索がおこなわれ、その検索結果が、この地図検索ページ情報に対応した出力情報内に配置されるようにしても良い。あるいは、このようなプログラムは、この地図検索ページ情報をリンク先にしているリンク領域に対応付けておくようにしても良い。リンク領域については後述する。なお、情報処理装置1は、地図の場所を示した情報を用いた検索は、ネットワーク経由で検索用のサーバ等を用いて行われても良いし、情報処理装置1が図示しない記憶媒体等に検索用のデータベース等を有していても良い。また、情報処理装置1は、検索を行うための図示しない送信部や受信部等を備えていても良い。
なお、第一のページ上の地図オブジェクトが配置されたリンク領域上に、当該領域に対して所定の操作が行われた場合に、この地図オブジェクトの地図が示す場所を示す情報を用いた検索を行い、その検索結果を配置した地図検索ページ情報を動的に生成して表示させるプログラム等を対応付けて格納させることも、ここでは、実質的に、検索結果を配置する地図検索ページ情報を生成することと考えても良い。この場合、ページ生成部120は、例えば、リンク領域と地図検索ページ情報を生成して表示するプログラム等とを対応付けて管理する管理情報等を、図示しないメモリ等の記憶媒体に蓄積して、最終的に出力部125から出力すればよい。
(f)文字列の属性に応じた生成
ページ生成部120は、第一のページ情報に配置された文字列を含むオブジェクトから、予め指定された属性を有する文字列を取得し、文字列を用いた検索結果を配置するページの情報である文字列検索ページ情報を生成してもよい。予め指定された属性を有する文字とは、例えば、フォント名が予め指定されたフォント名と一致するフォントである。また、フォントサイズが、予め指定されたフォントサイズと一致するフォントであっても良い。あるいは、フォントカラーが予め指定されたフォントカラーと一致するフォントであっても良い。この文字列の属性はどのような属性であっても良い。例えば、予め指定された1以上の文字列を含むことを文字列属性の一つと考えても良い。なお、この属性を指定する情報は、図示しない記憶媒体等に予め格納しておくようにすればよい。ページ生成部120は、予め指定された属性の文字列を検出した場合、この文字列を用いた検索結果を配置するためのページ情報である文字列検索ページ情報を生成する。この文字列検索ページ情報は、検索結果の情報が配置されるページ情報であり、検索を行うタイミングは問わない。例えば、文字列検索ページ情報をページ生成部120が生成する際に、上記の予め指定された属性を有する文字列を用いた検索を行い、検索結果として得られた情報を、文字列検索ページ情報に配置しても良い。また、予め指定された属性を有する文字列を検索キーとした検索が実行されるようなプログラム等を有する文字列検索ページ情報を生成し、この文字列検索ページ情報に対応した出力情報を開く際に、検索キーを用いた検索がおこなわれ、その検索結果が、この文字列検索ページ情報に対応した出力情報内に配置されるようにしても良い。あるいは、このようなプログラムは、この文字列検索ページ情報をリンク先にしているリンク領域に対応付けておくようにしても良い。
なお、第一のページ上の上記のような予め指定された属性を有する文字列を有するオブジェクトが配置されたリンク領域上に、当該領域に対して所定の操作が行われた場合に、この予め指定された属性を有する文字列を用いた検索を行い、その検索結果を配置した文字列検索ページ情報を動的に生成して表示させるプログラム等を対応付けて格納させることも、ここでは、実質的に、ページ生成部120が検索結果を配置する文字列検索ページ情報を生成することと考えても良い。この場合、ページ生成部120は、例えば、リンク領域と文字列検索ページ情報を生成して表示するプログラム等とを対応付けて管理する管理情報等を、図示しないメモリ等の記憶媒体に蓄積して、最終的に出力部125から出力すればよい。
また、ページ生成部120は、例えば、このページ生成部120が生成する第n(nは二以上の整数)のページ情報に、第一のページ情報に対するリンク情報と対応付けられたボタンを配置してもよい。例えば、第二のページ情報に、第一のページ情報に対応付けられたボタンを配置する。このボタンは、例えば、第一のページ情報に対するリンク情報と対応付けられたボタンであっても良いし、第一のページ情報に対するリンク情報と、当該第一のページ情報を出力させる処理等を実行するためのプログラム等と対応付けられていても良い。また、このボタンは、例えばボタン画像や、ボタンを示す文字列等と対応付けられていても良い。
また、ページ生成部120は、更にメニュー項目を含むメニューオブジェクトを生成しても良い。ページ生成部120が生成するメニューオブジェクトは、例えば、このページ生成部120が生成するページ情報である第nのページ情報に移動するメニュー項目を含むメニューオブジェクトである。メニューオブジェクトは、例えば、一以上のメニュー項目を有する文字列や画像のオブジェクトである。また、メニューオブジェクトは、メニューオブジェクトを出力するために用いられる出力用の画像を生成するために用いられるメニュー項目等を示す文字列等を有する情報や、メニューオブジェクトの枠や背景画像等を指定する情報でもよい。メニューオブジェクトは、例えば、いわゆるコンテクストメニューのようなメニュー項目を有するメニューリストが表示されるものであっても良いし、リンク情報と対応付けられたオブジェクト上の領域を含む領域であるリンク領域を強調表示させるための画像と、この強調表示された画像に配置されるメニュー項目の文字列の情報との組合せた情報であってもよい。なお、強調表示させるための画像は、例えば、いわゆるロールオーバーに用いられる画像等と考えても良い。また、例えば、リンク領域のオブジェクトの表示形態を変更することであっても良い。強調表示の画像は、ポインタ等で指定されたリンク領域が、他の指定されていない領域に対して識別可能に表示される画像であれば良い。強調表示の画像は、例えば、強調前の画像を反転表示した画像であっても良いし、例えば、特定の色等を有する画像をオーバーレイ表示や100%未満の透過率で透過表示する画像である。強調表示させるための画像は、強調表示させた画像を作成するための指示等の情報と考えても良い。メニュー項目は、例えば、メニューの内容を示す文字列と、メニューの内容に応じた処理を実行させるプログラムとを対応付けたものである。メニューオブジェクトは、リンク領域上に常時表示されていても良いし、予め指定されたトリガーやイベント等を受け付けた場合にだけ表示されるようにしても良い。予め指定されたトリガーやイベント等を受け付けた場合にのみ表示できるようにするためには、メニュー項目は、例えば、メニューオブジェクトを出力させるためのトリガーやイベント等を示す情報や、トリガーやイベント等を検出するためのプログラム等と対応付けられていても良い。第nのページ情報に移動するメニュー項目とは、このメニュー項目を選択することで、第nのページ情報を出力させる処理を実行させるメニュー項目である。なお、第nのページ情報を出力させる処理は、第(n−1)のページ情報の出力を終了することで、第nのページ情報に移動する処理と考えても良い。このメニューオブジェクトは、例えば、後述するメニュー管理情報で管理される。このメニューオブジェクトは、第(n−1)のページ情報で出力されるメニューオブジェクトである。なお、第nのページ情報に移動する、ということは、ここでは、第nのページ情報を用いて出力される出力情報、あるいは出力されるページ等に移動することを意味すると考えてもよい。なお、ページ生成部120がメニューオブジェクトを生成するタイミング等は問わない。また、ここで述べる第(n−1)のページ情報のうちの、第一のページ情報は、上述したようにページ情報格納部101に格納されているページ情報である。
メニューオブジェクトを生成する一例を説明すると、まず、ページ生成部120は、このページ生成部120が第nのページ情報を生成するために用いるページ情報である第(n−1)のページ情報に配置された一以上のオブジェクトの属性値を取得する。そして、取得した属性値が満たすメニュー属性値条件に対応するメニュー項目指定情報を後述するメニュー生成管理情報格納部123から取得する。そして、取得したメニュー項目指定情報に従ってメニューオブジェクトを生成する。具体的には、メニュー項目指定情報が指定するメニュー項目を有するメニューオブジェクトを生成する。メニュー生成管理情報は、オブジェクトの属性値についての条件であるメニュー属性値条件と、メニューオブジェクトに含まれるメニュー項目を指定するメニュー項目指定情報とを有する。メニュー項目指定情報は、メニュー項目の情報であっても良いし、メニュー項目を作成するためのルール等の情報であっても良い。メニュー属性値条件は、上述した生成管理情報の属性値条件と同様の情報である。また、オブジェクトの属性値が、メニュー属性値条件を満たすか否かの判断等も、上記の生成管理情報の属性値条件の場合と同様である。
また、メニューオブジェクトを生成する他の例を説明すると、ページ生成部120は、生成した第nのページ情報のリンクの深さの値を取得する。そして、取得したリンクの深さの値に対応するリンクメニュー項目指定情報を後述するリンクメニュー生成管理情報格納部124から取得する。そして、取得したリンクメニュー項目指定情報に従ってメニューオブジェクトを生成する。具体的には、リンクメニュー項目指定情報が指定するリンクメニュー項目を有するメニューオブジェクトを生成する。リンクメニュー生成管理情報は、第nのページ情報のリンクの深さの値と、メニューオブジェクトに含まれるメニュー項目を指定するリンクメニュー項目指定情報とを有する。リンクメニュー生成管理情報のリンクの深さの値は、リンクの深さの値の範囲を示す情報でもよい。ここでは、このリンクの深さの値をリンク深度値と呼ぶ。リンクメニュー項目指定情報は、メニュー項目の情報であっても良いし、メニュー項目を作成するためのルール等の情報であっても良い。例えば、リンクメニュー項目指定情報は、リンク関係において直系の全ての上位のページ情報をそれぞれリンク先に指定するメニュー項目の作成を指示する情報であってもよい。また、例えば、リンクの深さの値が、予め指定された値となるまでは、第一のページ情報に戻るメニュー項目が作成され、予め指定された値より大きくなった場合は、リンク元のページ情報に戻るメニュー項目が追加されることを示す情報であってもよい。
ページ生成部120は、リンクの深さの情報をどのように取得しても良い。例えば、ページ生成部120が第一のページ情報を起点として、第(n−1)のページ情報から第nのページ情報を取得するごとに、処理を繰り返した回数のカウントを行い、第nのページ情報のリンクの深さの値を取得する際には、その回数のカウント値をリンクの深さの値として取得しても良い。第nのページ情報のリンクの深さの値は、例えば、nの値である。また、後述するリンク領域管理情報に含まれるリンク情報を第nのページ情報から辿って、リンクの深さの値を取得しても良い。リンクを辿る処理はリンク情報からツリー構造を取得する処理等として公知の技術である。
なお、ページ生成部120が、第nのページ情報を生成する処理を繰り返し行う際においては、繰り返しの回数やnの値に応じて、上述した第nのページ情報を生成するルール等として、異なるルールを用いるようにしても良い。
また、ページ生成部120は、第nのページ情報の生成に用いられる第(n−1)のページ情報に配置されているオブジェクトに応じて、第nのページ情報を生成するか否かを判断するようにし、生成すると判断された場合にだけ、第nのページ情報を生成するようにしても良い。例えば、ページされたオブジェクト数が予め指定されたオブジェクト数よりも多いと判断される場合にだけ、配置されているそれぞれのオブジェクト(あるいはオブジェクトグループ)について第nのページ情報を生成してもよい。また、第(n−1)のページ情報に配置されている各オブジェクト(あるいはオブジェクトグループ)の属性値が予め指定された属性値である場合にだけ、そのオブジェクトについて第nのページ情報を生成しても良い。予め指定された属性値は、例えば、オブジェクトのサイズや、データの種類等であってもよいし、文字列オブジェクトに含まれる文字のフォント名やフォントサイズ等であってもよい。
ページ生成部120は、通常、MPUやメモリ等から実現され得る。ページ生成部120の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
リンク領域管理情報取得部121は、第一のページ情報に配置された一以上のオブジェクト上の領域を示す情報と、この一以上のオブジェクトが配置された第二のページ情報に対するリンク情報とを対応付けて有するリンク領域管理情報を取得する。ここでは、第一のページ情報に配置された一以上のオブジェクト上の領域をリンク領域、このリンク領域を示す情報をリンク領域指定情報と呼ぶ。ここでの一以上のオブジェクトとは、一の第二のページ情報に配置される第一のページ情報の一以上のオブジェクトを意味する。この一以上のオブジェクトは、例えば、上述した指定受付部109が受け付ける指定情報により指定される一以上のオブジェクトや、上述したグループ管理情報で管理されるオブジェクトグループを構成するオブジェクトである。
リンク領域指定情報は、例えば、第一のページ情報が示すページ上の、一の第二のページ情報に配置される一以上のオブジェクト上の領域を示す情報である。リンク領域指定情報は、少なくとも一の第二のページ情報に配置される第一のページ情報が示すページに配置された一以上のオブジェクト上の領域を指定可能な情報であればよい。リンク領域指定情報は、例えば、第一のページ情報を指定する情報と、この第一のページ情報の一以上のオブジェクトの配置領域を含む領域を指定する情報である。第一のページ情報を指定する情報は、例えば第一のページ情報の識別情報等である。ただし、第一のページ情報自身であっても良い。リンク領域指定情報は、例えば、オブジェクトの配置情報と同様の、リンク領域内の中心や辺上等の一以上の点を示す情報(座標情報)と、リンク領域のサイズや輪郭等を指定する情報との組合せや、リンク領域の対角の位置を示す情報(座標情報)等により構成される。また、リンク領域指定情報は、第二のページ情報に配置される一以上のオブジェクトを指定する情報でもよい。この場合、指定されたオブジェクト上の領域がリンク領域となる。この場合、第二のページ情報に配置される一以上のオブジェクトがいわゆるリンクボタンに設定されたと考えても良い。オブジェクトを指定する情報は、通常はオブジェクト名等のオブジェクトの識別情報であるが、オブジェクト自身であっても良い。また、リンク領域指定情報は、第二のページ情報に配置される一以上のオブジェクトの配置領域を示す配置情報を指定する情報でも良い。なお、リンク領域指定情報は、非連続のリンク領域を指定する情報であってもよい。
一の第二のページ情報に配置されるオブジェクトが複数である場合、リンク領域指定情報は、複数のオブジェクト間のオブジェクトが配置されていない領域上もリンク領域に指定する情報でも良い。例えば、リンク領域は、複数のオブジェクトをカバーする一の領域であっても良い。また、一以上のオブジェクトの予め指定されたマージン等を有する周辺の領域もリンク領域に指定する情報でもよい。ただし、異なる第二のページ情報に配置されるオブジェクトについて設定されるリンク領域同士は重ならないようにすることが好ましい。もしくは、重なった場合、重なった上下関係により、一方のリンク領域が無効となるようにすることが好ましい。なお、上述したように、リンク領域のオブジェクトの表示態様を変更してオブジェクトを強調表示する場合等においては、リンク領域が重なった部分については、無効とするかしないかに関わらず、リンク領域が重なっている部分であることを示すような表示態様とすることが好ましい。例えば、各リンク領域に配置されているオブジェクト上に色のついた画像をオーバーレイ表示して、オブジェクトの表示態様を変更する場合、このリンク領域が重なっている部分については、各リンク領域上に配置される色のついた画像同士を重ねて合成した色で表示したり、異なる色で表示することで、リンク領域の重なっていない部分と異なる表示とすることが好ましい。
リンク情報は、第一のページ情報に配置された一以上のオブジェクトが配置された第二のページ情報を示す情報である。リンク情報はポインタと考えても良い。例えば、第二のページ情報に、識別情報が対応付けられている場合、リンク情報は、当該第二のページ情報の識別情報であっても良い。また、リンク情報は、第二のページ情報が格納されている場所を示すアドレス情報であっても良い。アドレス情報は、第一のページ情報が格納されている位置に対する相対的なアドレス情報であっても、絶対的なアドレス情報であっても良い。例えば、第二のページ情報が、第一のページ情報とは別のファイルとして図示しない格納部等に蓄積される場合、リンク情報は、この第二のページ情報に対するファイルパスやURL等であっても良い。なお、ここで述べるリンク情報は、第二のページ情報を用いて出力される出力情報に対するリンク情報と考えても良い。また、リンク情報は、後述する出力部125等が、出力の際に、ページ情報を用いて出力される出力データの出力先(例えば格納先)等に応じて、リンク関係が保たれるよう適宜書き換えるようにしても良い。また、リンク情報は、対応する一以上のオブジェクトが配置されている領域(即ち対応するリンク領域指定情報が示す領域)に対して予め指定された操作が行われた場合に、この領域に配置されている一以上のオブジェクトが配置された第二のページ情報を出力させるための情報であると考えても良い。リンク情報は、リンク先の第二のページ情報を出力させるための処理を実行させるためのスクリプト等のプログラムや命令等を有していても良いし、同様のプログラム等と対応付けられていても良い。
リンク領域管理情報取得部121は、例えば、グループ管理情報が示す一以上のオブジェクトで構成されるオブジェクトグループ上の領域を含む領域と、グループ管理情報が示す一以上のオブジェクトが配置された第二のページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得してもよい。
また、リンク領域管理情報取得部121は、一以上の指定情報によってそれぞれ指定される一以上のオブジェクト上の領域を含む領域と、一以上のオブジェクトが配置される第二のページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得してもよい。
また、リンク領域管理情報取得部121は、第一のページ情報に配置された地図のオブジェクト上の領域と、この地図のオブジェクトについてページ生成部120が生成した地図検索ページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得するようにしてもよい。この場合、リンク情報として、さらに、ページ生成部120が地図のオブジェクトから取得した地図検索を行うための検索キーを、検索用のサーバや、検索用のデータベース等に送信して検索を行う命令や、プログラム等を含んでいても良い。
また、ページ生成部120が、第一のページ情報から上述したように予め指定された属性を有する文字列を含むオブジェクトを検出し、文字列検索ページ情報を生成する場合、リンク領域管理情報取得部121は、第一のページ情報に配置された予め指定された属性を有する文字列を含むオブジェクト上の領域と、文字列検索ページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得するようにしてもよい。この場合、リンク情報として、さらに、ページ生成部120がオブジェクトから取得した予め指定された属性を有する文字列を検索キーとして、検索用のサーバや、検索用のデータベース等に送信して検索を行う命令や、プログラム等を含んでいても良い。
なお、リンク領域管理情報取得部121は、ページ生成部120が、上述したような第一のページ情報に配置された見出しオブジェクトを検出する処理等を行う場合、第一のページ情報に配置された見出しオブジェクト上の領域については、リンク領域管理情報を取得しないようにすることが好ましい。例えば、第一のページ情報に配置された見出しオブジェクト以外の一以上のオブジェクト上の領域と、一以上のオブジェクトが配置された第二のページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得するようにすることが好ましい。見出しオブジェクトが、複数の第二のページ情報に配置される場合があるからである。
リンク領域管理情報取得部121は、通常、MPUやメモリ等から実現され得る。リンク領域管理情報取得部121の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
メニュー管理情報取得部122は、第(n−1)のページ情報(但し、nは2以上の整数)に配置された一以上のオブジェクト上の領域を示す情報と、この領域に対して予め指定された操作が行われた場合に、上述したページ生成部120が第nのページ情報を生成する際に生成したメニューオブジェクトを、この領域上に出力させるための情報とを対応付けて有するメニュー管理情報を取得する。メニュー管理情報は、例えば、第一のページ情報に配置されたオブジェクト上の領域を示す情報と、第二のページ情報を生成する際に生成されたメニューオブジェクトを第一のページ情報上に出力させるための情報とを対応付けた情報である。また、メニュー管理情報は、例えば、第二のページ情報に配置されたオブジェクト上の領域を示す情報と、第三のページ情報を生成する際に生成されたメニューオブジェクトを第二のページ情報上に出力させるための情報とを対応付けた情報である。メニュー管理情報取得部122が取得するメニュー管理情報に含まれるオブジェクト上の領域を示す情報は、上述したリンク領域指定情報と同様の情報であるので、ここでは説明を省略する。ページ生成部120が第nのページ情報を生成する際に生成したメニューオブジェクトとは、例えば、上述したような第nのページ情報を出力するメニュー項目を含むメニューオブジェクトである。メニュー管理情報に含まれるメニューオブジェクトを出力させるための情報は、ページ生成部120が第nのページ情報を生成する際に生成したメニューオブジェクトを第(n−1)のページ情報上に出力させるための情報であり、例えば、ページ生成部120が生成したメニューオブジェクトを示す情報と、メニューオブジェクトを第(n−1)のページ情報上に出力させるためのスクリプト等のプログラムや、命令等を含む情報である。この情報はイベントを示す情報と考えても良い。メニューオブジェクトを示す情報は、例えばメニューオブジェクトの識別情報であっても良いし、メニューオブジェクト自身であっても良い。一以上のオブジェクト上の領域に対する予め指定された操作とは、例えば、この領域上の位置にカーソル等のポインタを配置することや、この領域上に、一定時間以上ポインタを配置することや、この領域上にポインタを配置して、キーボードの予め指定されたキーや、マウスの右ボタン等のクリックを行うことである。メニューオブジェクトは、少なくとも、第(n−1)のページ情報(但し、nは2以上の整数)に配置された一以上のオブジェクト上の領域に一部が重なるように配置されればよい。例えば、カーソル等のポインタが配置されたオブジェクト上の領域にメニューオブジェクトが表示される。
メニュー管理情報取得部122は、通常、MPUやメモリ等から実現され得る。メニュー管理情報取得部122の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
メニュー生成管理情報格納部123には、上述したようなオブジェクトの属性値についての条件であるメニュー属性値条件と、メニューオブジェクトに含まれるメニュー項目を指定するメニュー項目指定情報とを有するメニュー生成管理情報が格納される。メニュー生成管理情報格納部123は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
リンクメニュー生成管理情報格納部124は、上述したような第nのページ情報のリンクの深さの値(リンク深度値)と、メニューオブジェクトに含まれるメニュー項目を指定するリンクメニュー項目指定情報とを有するリンクメニュー生成管理情報が格納される。リンクメニュー生成管理情報格納部124は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
出力部125は、第一のページ情報と、ページ生成部120が生成したページ情報と、リンク領域管理情報とを出力する。また、出力部125は、第一のページ情報と、ページ生成部120が生成したページ情報と、リンク領域管理情報と、メニューオブジェクトと、メニュー管理情報とを出力してもよい。ページ生成部120が生成したページ情報とは、例えば、ページ生成部120が生成した第二のページ情報や第(n+1)のページ情報や、地図検索ページ情報や、文字列検索ページ情報等である。
なお、出力部125が第一のページ情報とページ生成部120が生成したページ情報とを出力するということは、本実施の形態においては、この第一のページ情報とページ生成部120が生成したページ情報とを用いて作成した出力用のデータを出力することも含む概念である。また、この出力用のデータ(以下、出力データと称す)は、例えば、ページ情報の一部や全てをレンダリングして画像データ化して得られる情報や、ページ情報に配置されたオブジェクトを配置情報が示す位置に埋め込んで作成したデータ等であってもよい。あるいは、出力データは、配置されている画像オブジェクト等のデータ形式や解像度等が変更されたものであっても良い。また、出力部125は、リンク領域管理情報や、メニューオブジェクトや、メニュー管理情報等を含む出力データを生成しても良い。また、出力データは、第一のページ情報と、ページ生成部120が生成したページ情報等の複製であってもよい。
出力部125が出力するデータは、例えば、モニタ等で表示可能な電子出版物のデータである。
また、出力部125は、第一のページ情報と、ページ生成部120が生成したページ情報との出力先(あるいはこれらを用いて作成した出力データの出力先)に応じて、リンク領域管理情報に含まれるリンク情報等を、出力後のリンク関係が保たれるよう書き換えるようにすることが好ましい。
ここで述べる出力とは、図示しない記録媒体への蓄積、外部の装置への送信、ディスプレイへの表示や、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。
出力部125は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部125は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
図2は、本実施の形態の情報処理装置1の動作を説明するためのフローチャートである。以下、情報処理装置1の動作について図2のフローチャートを用いて説明する。
(ステップS201)画面サイズ指定情報受付部106は、画面指定情報を受け付けたか否かを判断する。受け付けた場合、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)ページ生成部120は、ステップS201で受け付けた画面サイズ指定情報に対応する画面サイズ情報を予めサイズ制限情報格納部105に格納されているサイズ制限情報が有する画面サイズ情報の中から検出し、検出した画面サイズ情報に対応したサイズ閾値情報をサイズ制限情報から取得する。取得したサイズ制限情報は、図示しない記憶媒体等に一時記憶する。
(ステップS203)ページ生成部120は、カウンターnの値に2を代入する。このnの値は、ページ生成部120がページ情報を生成する処理の回数に1を加えた値と考えてもよい。
(ステップS204)ページ生成部120は、第nのページ情報を生成するか否かを判断する。例えば、ページ生成部120は、ページ情報格納部101や、図示しない記憶媒体等に格納されている第(n−1)のページ情報を用いて、第nのページ情報を生成するか否かを判断する。図示しない記憶媒体等に格納されている第(n−1)のページ情報は、ページ生成部120が生成したページ情報である。ページ生成部120は、どのように、第nのページ情報を生成するか否かを判断してもよい。例えば、一以上の第(n−1)のページ情報のなかに、見出しオブジェクト等のページ情報の生成の対象とならないオブジェクト以外のオブジェクトを二以上含むものがあるか否かを判断し、含む場合に、第nのページ情報の生成を行うことを決定してもよい。また、例えば、nの値が予め指定された値になったか否かを判断し、なった場合に、生成を終了することを決定してもよい。生成を行う場合、ステップS205に進み、生成を行わない場合、ステップS212に進む。
(ステップS205)ページ生成部120は、カウンターpに1を代入する。
(ステップS206)ページ生成部120は、ページ情報格納部101や、図示しない記憶媒体等に格納されている第(n−1)のページ情報の中に、p番目の第(n−1)のページ情報が格納されているか否かを判断する。格納されている場合、ステップS207に進み、格納されていない場合、ステップS213に進む。
(ステップS207)ページ生成部120は、p番目の第(n−1)のページ情報をページ情報格納部101または図示しない記憶媒体等から取得する。
(ステップS208)ページ生成部120は、p番目の第(n−1)のページ情報に配置されているオブジェクトをグループ化するか否かを判断する。グループ化するとは、グループ管理情報を取得することと考えてよい。ページ生成部120は、どのようにグループ化するか否かを判断しても良い。例えば、p番目の第(n−1)のページ情報に配置されているオブジェクト数が予め指定された値よりも大きければ、グループ化することを判断しても良い。また、nの値が、所定の値より大きければ、グループ化することを判断しても良い。グループ化する場合、ステップS209に進み、グループ化しない場合、ステップS210に進む。
(ステップS209)情報処理装置1は、p番目の第(n−1)のページ情報に配置されているオブジェクトを用いて、グループ化を利用して第nのページ情報等を生成する。この処理の詳細については後述する。そして、ステップS211に進む。
(ステップS210)情報処理装置1は、p番目の第(n−1)のページ情報に配置されているオブジェクトを用いて、グループ化を利用せずに第nのページ情報等を生成する。この処理の詳細については後述する。そして、ステップS211に進む。
(ステップS211)ページ生成部120は、カウンターpの値を1インクリメントする。そして、ステップS206に戻る。
(ステップS212)出力部125は、第一のページ情報と、ページ生成部120が生成した第二以降のページ情報と、リンク領域管理情報格納部に格納されているリンク領域管理情報とを出力する。なお、ページ生成部120が、第二以降のページ情報を取得しない場合、出力部125は、出力を行わなくても良い。または、第一のページ情報だけを出力しても良い。なお、出力部125は、第一のページ情報と、ページ生成部120が生成した第二以降のページ情報との少なくとも一部をレンダリングしたページ情報を出力しても良い。また、第一のページ情報と、第二以降のページ情報と、リンク領域管理情報とを、一つのファイル等にまとめた情報を出力しても良い。また、出力部125は、第一のページ情報と、第二以降のページ情報と、リンク領域管理情報とを、専用のブラウザ等のソフトウェアに対応したファイル形式で出力してもよいし、汎用のファイル形式で出力してもよい。また、第一のページ情報と、第二以降のページ情報と、リンク領域管理情報とを、スタンドアロンで実行可能な実行ファイル化して出力してもよい。そして処理を終了する。
(ステップS213)ページ生成部120は、カウンターnの値を1インクリメントする。そして、ステップS204に戻る。
なお、ステップS209の処理によって、グループ化されないオブジェクトが残る可能性のあるグループ化を行う場合、ステップS209の処理の後に、グループ化されていないオブジェクトがあるか否かの処理を行って、グループ化されていないオブジェクトがある場合には、ステップS210に進んで、当該グループ化されていないオブジェクトに対して、ステップS210の処理を実行するようにしてもよい。なお、この場合、見出しオブジェクトを検出する処理ステップ等の一部の処理ステップは省略しても良い。
また、ここでは、第(n−1)のページ情報が示すページに配置されている全てのオブジェクトを第nのページ情報を作成する対象とした場合について説明しているが、指定受付部109が指定を受け付けた1以上のオブジェクトだけを、第二のページ情報の作成対象としても良い。
図3は、情報処理装置1によるp番目の第(n−1)のページ情報に配置されているオブジェクトを用いて、グループ化を利用して第nのページ情報等を生成する処理の詳細を説明するためのフローチャートである。この処理は、図2のステップS209に対応する処理である。以下、図3のフローチャートを用いてこの処理を説明する。
(ステップS301)グループ管理情報蓄積部103は、p番目の第(n−1)のページ情報に配置されているオブジェクトについてグループ管理情報を取得し、p番目の第(n−1)のページ情報と対応付けてグループ管理情報格納部104に蓄積する。なお、この処理の詳細については後述する。
(ステップS302)ページ生成部120は、カウンターkに1を代入する。
(ステップS303)ページ生成部120は、グループ管理情報格納部104に格納されているp番目の第(n−1)のページ情報と対応付けられたグループ管理情報の中に、k番目のグループ管理情報があるか否かを判断する。k番目のグループ管理情報は、例えば、k番目のオブジェクトグループを示すグループ管理情報である。ある場合、ステップS304に進み、ない場合、上位の処理にリターンする。
(ステップS304)ページ生成部120は、p番目の第(n−1)のページ情報と対応付けられたk番目のグループ管理情報をグループ管理情報格納部104から取得する。
(ステップS305)ページ生成部120は、グループ生成管理情報格納部108に格納されているグループ生成管理情報から、グループ属性値条件を取得する。このグループ属性値条件は、例えばオブジェクト数の閾値である。
(ステップS306)ページ生成部120は、k番目のグループ管理情報が示すk番目のオブジェクトグループが、ステップS305で取得したグループ属性値条件を満たすか否かを判断する。例えば、k番目のグループ管理情報を用いて、k番目のオブジェクトグループに属するオブジェクト数をカウントし、このカウント数が、グループ属性値条件が示すカウント値の範囲の値であるか否かを判断し、範囲の値であれば、グループ属性値条件を満たすと判断する。満たすと判断した場合、ステップS307に進み、満たさないと判断した場合、ステップS313に進む。
(ステップS307)ページ生成部120は、グループ生成管理情報格納部108に格納されているグループ生成管理情報から、ステップS305で取得したグループ属性値条件に対応するグループ配置ルール情報を取得する。
(ステップS308)ページ生成部120は、ステップS307で取得したグループ配置ルール情報に従って、p番目の第(n−1)のページ情報に配置されたオブジェクトのうちの、k番目のオブジェクトグループを構成するオブジェクトを配置して第nのページ情報を生成する。この第nのページ情報は、p番目の第(n−1)のページ情報に配置されたk番目のオブジェクトグループに対応した第nのページ情報である。ページ生成部120は、生成した第nのページ情報を図示しない記憶媒体等に一時記憶する。なお、ページ生成部120は、第一のページ情報に戻るボタンを第nのページ情報に配置しても良い。また、第二のページ情報には、第一のページ情報に対するリンク情報と対応付けられたボタン等を配置するようにしても良い。
(ステップS309)リンク領域管理情報取得部121は、図2のステップS207で読み出したp番目の第(n−1)のページ情報の、k番目のオブジェクトグループが配置されている領域上にリンク領域を指定するリンク領域指定情報を生成する。また、ステップS308で生成した第nのページ情報を示すリンク情報を取得する。そして、取得したリンク領域指定情報と、リンク情報とを対応付けて有するリンク領域管理情報を取得して、例えば、p番目の第(n−1)のページ情報と対応付けて図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS310)ページ生成部120は、メニューオブジェクトを生成する。例えば、ステップS308で生成した第nのページ情報を出力させるためのメニュー項目を有するメニューオブジェクトを生成する。また、例えば、ページ生成部120は、メニュー生成管理情報格納部123に格納されているメニュー生成管理情報のメニュー属性値条件の中から、ステップS308で生成したk番目のオブジェクトグループを構成するオブジェクトの属性値により条件が満たされるメニュー属性値条件を検出する。そして、このメニュー属性値条件に対応するメニュー項目指定情報をメニュー生成管理情報から取得する。そして、取得したメニュー項目指定情報に従ってメニューオブジェクトを生成しても良い。また、ページ生成部120は、第nのページ情報のリンクの深さの値(ここではnの値)を取得し、取得したリンクの深さの値に対応するリンク深度値と対応付けられたリンクメニュー項目指定情報をリンクメニュー生成管理情報から取得する。そして、このリンクメニュー項目指定情報に従ってメニューオブジェクトを生成しても良い。ページ生成部120は、取得したメニューオブジェクトを、図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS311)メニュー管理情報取得部122は、ステップS310で取得したメニューオブジェクトと、p番目の第(n−1)のページ情報のk番目のオブジェクトグループが配置された領域を示す情報とを対応付けて有するメニュー管理情報を取得する。k番目のオブジェクトグループが配置された領域を示す情報は、ステップS309で生成したリンク領域指定情報が指定する領域と同様の情報を用いても良い。メニュー管理情報取得部122は、取得したメニュー管理情報を、図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS312)ページ生成部120は、カウンターkの値を1インクリメントする。そして、ステップS303に戻る。
(ステップS313)ページ生成部120は、デフォルトの設定等に従って、p番目の第(n−1)のページ情報に配置されたオブジェクトのうちの、k番目のオブジェクトグループを構成するオブジェクトを配置して第nのページ情報を生成する。この処理は、オブジェクトを配置する際の設定が異なる点を除けば、ステップS308の処理と同様である。そして、ステップS309に戻る。
なお、図3においては、第(n−1)のページ情報のオブジェクトからグループ管理情報を自動取得する場合について説明したが、予めユーザ等により蓄積されたグループ管理情報を用いるようにしても良い。また、この場合、オブジェクトグループは階層化されていても良く、この場合、ページ生成部120は、上位の階層のオブジェクトグループから順に第nのページ情報を生成する際の対象となるオブジェクトグループに指定するようにすることが好ましい。例えば、第二のページ情報を生成する際には、最上位階層のオブジェクトグループを第二のページ情報に配置されるオブジェクトグループの対象とし、第三のページ情報を生成する際には、最上位の階層の次の階層のオブジェクトグループを第三のページ情報に配置されるオブジェクトグループの対象とすることが好ましい。
また、図3においては、全てのオブジェクトがグループ化されてグループ管理情報で管理されている場合を例に挙げて説明したが、グループ化されないオブジェクトが存在してもよい。この場合、グループ化されていないオブジェクトに関しては、ステップS210に示す処理で第(n−1)のページ情報を生成するようにしても良い。
図4は、情報処理装置1によるp番目の第(n−1)のページ情報に配置されているオブジェクトを用いて、グループ化を利用せずに第nのページ情報等を生成する処理の詳細を説明するためのフローチャートである。この処理は、図2のステップS210に対応する処理である。以下、図4のフローチャートを用いてこの処理を説明する。
(ステップS401)ページ生成部120は、p番目の第(n−1)のページ情報に配置されているオブジェクトについて、見出しオブジェクトの検出を行う。検出した場合、検出した見出しオブジェクトを取得して、図示しない記憶媒体等に一時記憶する。
(ステップS402)ページ生成部120は、p番目の第(n−1)のページ情報に配置されているオブジェクトのうちの、見出しオブジェクトを除いたオブジェクトについて、図2のステップS202において取得したサイズ閾値情報よりも小さいオブジェクトの検出を行う。
(ステップS403)ページ生成部120は、ステップS221でサイズ閾値情報よりも小さいオブジェクトを検出した場合、検出したオブジェクトを、p番目の第(n−1)のページ情報に配置されているオブジェクトから見出しオブジェクトを除いたもののうちの、サイズ閾値情報よりも小さくないオブジェクトの一以上と対応付ける。例えば、サイズ閾値情報よりも小さくないオブジェクトのうちの、最も距離が近いオブジェクトと対応付ける。対応付けは、例えば、対応付けられたオブジェクトの識別情報等を有する管理情報を図示しない記憶媒体に蓄積することで管理される。なお、p番目の第(n−1)のページ情報に配置されているオブジェクトから見出しオブジェクトとサイズ閾値情報よりも小さくないオブジェクトとを除いた場合にオブジェクトが残らない場合、対応付けは行わないようにしてもよい。また、サイズ閾値よりも小さいオブジェクトが検出されなかった場合、この処理は行わないようにしてもよい。
(ステップS404)ページ生成部120は、カウンターmに1を代入する。
(ステップS405)ページ生成部120は、p番目の第(n−1)のページ情報に配置されているオブジェクトのうちの、見出しオブジェクトと、サイズ閾値情報よりも小さいオブジェクトを除いたオブジェクトの中に、m番目のオブジェクトがあるか否かを判断する。ある場合、ステップS406に進み、ない場合、上位の処理にリターンする。
(ステップS406)ページ生成部120は、m番目のオブジェクトが地図オブジェクトであるか否かを判断する。地図オブジェクトである場合、ステップS415に進み、地図オブジェクトでない場合、ステップS407に進む。
(ステップS407)ページ生成部120は、m番目のオブジェクトが、予め指定された属性の文字列を有するオブジェクトか否かを判断する。文字列を有するオブジェクトである場合、ステップS416に進み、文字列を有するオブジェクトでない場合、ステップS408に進む。
(ステップS408)ページ生成部120は、m番目のオブジェクトが、生成管理情報格納部107に格納されている属性値条件が示す条件を満たす属性を有するオブジェクトであるか否かを判断する。ここでは、例として、m番目のオブジェクトが、属性値条件が示すフォントサイズの閾値よりも小さいフォントサイズの文字を有するオブジェクトであるか否かを判断する。小さいフォントサイズの文字を有する場合、ステップS409に進み、有さない場合、ステップS417に進む。
(ステップS409)ページ生成部120は、ステップS408で条件を満たすと判断された属性値条件に対応する配置ルール情報を生成管理情報格納部107に格納されている生成管理情報から取得する。
(ステップS410)ページ生成部120は、ステップS409で取得した配置ルール情報に従って、p番目の第(n−1)のページ情報のm番目のオブジェクトを配置した第(n−1)のページ情報を生成する。なお、ステップS403で、m番目のオブジェクトにサイズ閾値情報よりも小さいオブジェクトが対応付けられている場合、このオブジェクトも同じ第nのページ情報に配置してもよい。また、ステップS401で見出しオブジェクトが検出された場合、検出されたオブジェクトを同じ第nのページ情報に配置してもよい。
(ステップS411)リンク領域管理情報取得部121は、図2のステップS207で読み出したp番目の第(n−1)のページ情報の、m番目のオブジェクトが配置された領域上にリンク領域を指定するリンク領域指定情報を生成する。また、ステップS410で生成した第nのページ情報を示すリンク情報を取得する。そして、取得したリンク領域指定情報と、リンク情報とを対応付けて有するリンク領域管理情報を取得して、例えば、p番目の第(n−1)のページ情報と対応付けて図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS412)ページ生成部120は、メニューオブジェクトを生成する。この処理は、上述したステップS310の処理と同様である。
(ステップS413)メニュー管理情報取得部122は、ステップS412で取得したメニューオブジェクトと、p番目の第(n−1)のページ情報のm番目のオブジェクトグループが配置された領域を示す情報とを対応付けて有するメニュー管理情報を取得する。m番目のオブジェクトグループが配置された領域を示す情報は、ステップS411で生成したリンク領域指定情報が指定する領域と同様の情報を用いても良い。メニュー管理情報取得部122は、取得したメニュー管理情報を、図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS414)ページ生成部120は、カウンターmの値を1インクリメントする。そして、ステップS405に戻る。
(ステップS415)ページ生成部120は、m番目のオブジェクトから地名の情報等を取得した地図検索ページ情報を生成する。生成した地図検索ページ情報を、図示しない記憶媒体等に蓄積する。そして、ステップS411に進む。なお、この場合のステップS411においては、この地図検索ページ情報に対するリンク情報を有するリンク領域管理情報を取得する。
(ステップS416)ページ生成部120は、m番目のオブジェクトから予め指定された所定の属性の文字列を取得して、文字列検索ページ情報を生成する。生成した文字列検索ページ情報を、図示しない記憶媒体等に蓄積する。そして、ステップS411に進む。なお、この場合のステップS411においては、この文字列検索ページ情報に対するリンク情報を有するリンク領域管理情報を取得する。
(ステップS417)ページ生成部120は、デフォルトの設定等に従って、p番目の第(n−1)のページ情報に配置されたオブジェクトのうちの、k番目のオブジェクトグループを構成するオブジェクトを配置して第nのページ情報を生成する。この処理は、オブジェクトを配置する際の設定が異なる点を除けば、ステップS410の処理と同様である。そして、ステップS411に戻る。
図5は、グループ管理情報蓄積部103によるp番目の第(n−1)のページ情報に配置されているオブジェクトをグループ化して、グループ管理情報を取得する処理の一例の詳細を説明するためのフローチャートである。以下、図5のフローチャートを用いてこの処理を説明する。
(ステップS501)グループ管理情報蓄積部103は、属性指定情報格納部102に予め蓄積された属性指定情報を読み出す。
(ステップS502)グループ管理情報蓄積部103は、カウンターkに1を代入する。
(ステップS503)グループ管理情報蓄積部103は、k番目、ここでは一番目の順序を示す属性指定情報が示す属性を有するオブジェクトを検索する。例えば、オブジェクトが複数のページ等に渡って配置されている場合、各ページを順番に検索していく。この検索は、一番目の順序を示す属性を有するオブジェクトが検出された時点で終了する。
(ステップS504)グループ管理情報蓄積部103は、k番目、ここでは一番目の順序の属性指定情報が示す属性を有するオブジェクトが存在しているか否か、即ち検出されたか否かを判断する。存在していた場合、ステップS505に進み、存在していない場合、ステップS516に進む。
(ステップS505)グループ管理情報蓄積部103は、ステップS503において検出したオブジェクトを新規のグループに加える。具体的には、検出したオブジェクトを含む新規のグループ管理情報を取得する。
(ステップS506)グループ管理情報蓄積部103は、カウンターkを1インクリメントする。
(ステップS507)グループ管理情報蓄積部103は、ステップS501において読み出した属性指定情報に、k番目の順序を示す属性指定情報があるか否かを判断する。ある場合、ステップS508に進み、ない場合、ステップS502に戻る。
(ステップS508)グループ管理情報蓄積部103は、k番目の順序の属性指定情報が示す属性を有するオブジェクトを検索する。なお、ここでの検索は、グループ分けの対象となる全ての配置されているオブジェクトについて、検索を行っても良いが、通常は、一群のオブジェクト、即ち一のグループオブジェクトを構成するオブジェクトは、一つのページ内に収まっていることが多いことから、オブジェクトが複数ページに渡って配置されている場合、一番目のオブジェクトが検出されたページ内においてのみ、検索を行うようにすることが処理を速くするうえで好ましい。なお、ここでの検索は、属性が一致する全てのオブジェクトの検索であるとする。また、既に、グループ分けされているオブジェクトについては、グループ分け済みであることを示すフラグ等の管理情報を付与することで、再度検索が行われないようにすることが好ましい。
(ステップS509)グループ管理情報蓄積部103は、ステップS508の検索においてオブジェクトが検索されたか否かを判断する。検索された場合、ステップS510に進み、検索されなかった場合、ステップS506に戻る。なお、戻る際に、オブジェクトに欠落があることを示す情報を蓄積するようにしても良い。
(ステップS510)グループ管理情報蓄積部103は、ステップS508で検出した全てのオブジェクトと、(k−1)番目の順序でグループ化されたオブジェクトとのそれぞれの距離、例えば、それぞれの重心間の距離を算出する。
(ステップS511)グループ管理情報蓄積部103は、ステップS510で算出した距離が最も短いオブジェクトを決定する。ただし、距離の差が所定の範囲内のものが複数ある場合、全てを最も距離の短いオブジェクトに決定してもよい。
(ステップS512)グループ管理情報蓄積部103は、ステップS511で決定したオブジェクトが複数か否かを判断する。複数である場合、ステップS513に進み、複数でない場合、ステップS515に進む。
(ステップS513)グループ管理情報蓄積部103は、ステップS512で決定した各オブジェクトの位置と、(k−1)番目の順序でグループ化されたオブジェクトの位置との方向を検出する。例えば、(k−1)番目の順序でグループ化されたオブジェクトに対して予め指定した方向である下向きの方向を0度として、ステップS512で決定した各オブジェクトが配置される方向の角度を検出する。
(ステップS514)グループ管理情報蓄積部103は、ステップS511で決定したオブジェクトのうちの、ステップS513で検出した方向が、より優先度の高い方向にある一のオブジェクトをグループに加える。具体的には、ステップS513で算出した角度が小さいオブジェクトを、ステップS505において新規に用意したグループ管理情報に加える。そして、ステップS506に戻る。
(ステップS515)グループ管理情報蓄積部103は、ステップS511で決定したオブジェクトをグループに加える。具体的には、ステップS505において新規に用意したグループ管理情報に加える。
(ステップS516)グループ管理情報蓄積部103は、グループ化されていないオブジェクトを検索して、グループ化されていないオブジェクトがあるか否かを判断する。ある場合、ステップS517に進み、ない場合、ステップS518に進む。
(ステップS517)グループ化されていないオブジェクトを最も近いグループに加える。例えば、グループ化されていないオブジェクトが配置されているページ内のオブジェクトが含まれる全てのグループの、グループに登録された順序が一番目のオブジェクトと、グループ化されていないオブジェクトとの距離を算出し、距離が最も短い一番目のオブジェクトを含むグループのグループ管理情報に、グループ化されていないオブジェクトを加える。そして、ステップS523に進む。
(ステップS518)グループ管理情報蓄積部103は、グループ管理情報を、グループ管理情報格納部104に蓄積する。
なお、図5のフローチャートのステップS518の検索処理においては、順序が一番目であるオブジェクトが配置されている位置から、一以上の領域区切情報が検出されるまでの範囲でのみ検索を行うようにしても良い。即ち領域区切情報で区切られた範囲でのみ検索を行うようにしても良い。
また、例えば、ステップS501の前の処理として、グループ管理情報蓄積部103が以下に示すような属性指定情報を取得する処理を行うようにしてもよい。まず、グループ管理情報蓄積部103がp番目の第(n−1)のページ情報に配置されているグループ化の対象となるオブジェクトについて、予め指定されている属性の値を順次取得する。予め指定されている属性の値は一の属性の値であっても、二以上の属性の値であっても良い。二以上の属性の値を取得した場合、二以上の属性の値の群が取得される。ここでは、全てのオブジェクトの属性の値を取得するようにしてもよいが、グループ化の対象としないデータ等については、予め、当該データの属性を取得しないようにオブジェクトを指定しておいても良い。取得した属性の値は、記憶媒体等に一時記憶する。次に、グループ管理情報蓄積部103は、上記で取得した属性の値のうちの重複するものを、一つを残して削除する。これにより、グループ化の対象となる領域に配置されているオブジェクトの属性の分類を取得することができる。そして、出力部125等や図示しない出力部等から、上記で取得したデータの属性の分類を、図示しないモニタ等に出力する。また、このとき、出力したデータの属性に対して、順序の指定を要求する出力を行うことが好ましい。そして、図示しない受付部により、データの属性の分類に対して、ユーザから、順序の指定を受け付ける。そして、グループ管理情報蓄積部103は、受け付けた順序を指定する順序情報と、オブジェクトの属性の分類を示す情報とを対応付けて属性指定情報を構成し、属性指定情報格納部102に蓄積する。
なお、上記のフローチャートにおいては、オブジェクトを適宜グループ化して第nのページ情報を生成する場合を例に挙げて説明したが、本発明においては、オブジェクトのグループ化は行わず、予めグループ管理情報等でグループ化されているオブジェクトだけをグループとして扱って第nのページ情報を生成するようにしても良い。この場合、例えば、ステップS208の処理は、グループ化されたオブジェクトがp番目の第(n−1)のページ情報にあるか否かの判断と置き換えるようにする。具体的には、ステップS208の処理をページ情報に配置されているオブジェクトに対するグループ管理情報があるか否かの判断処理と置き換えるようにする。また、ステップS209の処理は、グループ管理情報でグループ化されたオブジェクトに対する第nのページ情報を生成する処理とする。このとき、図3のステップS301で示した処理は省略する。また、グループ管理情報でグループ化されていないオブジェクトが一以上ステップS209の処理の後に、グループ化されていないオブジェクトがp番目の第(n−1)のページ情報
に配置されている場合、ステップS209の処理の後に、グループ化されていないオブジェクトがあるか否かの処理を行って、グループ化されていないオブジェクトがある場合には、ステップS210に進んで、当該グループ化されていないオブジェクトに対して、ステップS210の処理を実行するようにしてもよい。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。
図6は、ページ情報格納部101に格納されている第一のページ情報の表示例を示す図である。図6において、オブジェクトの周囲に配置される枠線は、説明のための便宜上のものであり、ページに配置されたオブジェクトが占める領域を示したものであり、実際には表示は不要である。各オブジェクトの右上に記載されている番号は、オブジェクトIDである。なお、オブジェクトIDは、説明のための便宜上の表示であり、実際には表示する必要はない。なお、図6は、説明のための便宜上の図であり、必ずしも寸法や縦横比等は正確ではない。
図7は、第一のページ情報を管理するページ管理表を示す図である。ページ管理表は、ページ情報格納部101に格納されている。ページ管理表は、「ページID」、「オブジェクトID」、「オブジェクト」、「フォント」、「フォントサイズ」、「中心座標x」、「中心座標y」、「幅」、「高さ」、「オブジェクト種類」等の項目を有している。「ページID」は、ページ識別情報である。各オブジェクトは、対応する「ページID」が示すページ上に配置されている。図6に示したページは、図7に示したページ管理表の、「ページID」の値が「L1」であるオブジェクトを配置した第一のページ情報の表示例である。「オブジェクトID」は、オブジェクトを管理するための識別情報、「オブジェクト」は、ページに配置されるオブジェクトである。「フォント」は、配置された文字列オブジェクトのフォント名、「フォントサイズ」は、配置された文字列オブジェクトのフォントサイズである。フォントサイズの単位は、ここでは一例としてポイントであるとする。「中心座標x」、「中心座標y」、「幅」、「高さ」は、オブジェクトの配置情報である。「中心座標x」は、オブジェクトが配置されている領域の中心のx座標、「中心座標y」は、オブジェクトが配置されている領域の中心のy座標、「幅」は、オブジェクトが配置されている領域の幅、「高さ」は配置されている領域の高さである。なお、座標や幅や高さの単位としては、ここでは一例としてピクセルを用いている。「オブジェクト種類」はオブジェクトの種類を示し、「文字列」は文字列オブジェクト、言い換えればテキストで構成されたオブジェクトである。また、「画像」は画像オブジェクトである。
図8は、第一のページ情報のページ定義情報を管理するページ定義管理表を示す図である。ページ定義管理表は、「ページID」と「幅」と「高さ」の情報を有している。「ページID」は、ページ識別情報であり、図7に示したページ管理表の「ページID」の値と対応する。「幅」および「高さ」は、ページ定義情報であり、ここでは、オブジェクトが配置されたページの幅および高さであり、値はピクセルであるとする。ここでは、ページ情報格納部101には、「ページID」が「1」である第一のページ情報が一つだけ格納されている場合を例に挙げて説明する
まず、ユーザが、ページ情報格納部101に格納されている「ページID」が「L1」である第一のページ情報を処理する指示を、情報処理装置1に与えたとする。
画面サイズ指定情報受付部106が、出力部125に指示を出して、画面サイズ指定情報を受け付ける受付メニューを表示させる。
図9は、画面サイズ指定情報を受け付ける受付メニューの一例を示す図である。
例えば、ユーザがキーボードやマウス等を操作して、図9に示した受付メニューを操作して、320×356(幅×高さ)等の表示サイズを出力サイズに指定する情報を入力したとする。
画面サイズ指定情報受付部106は、出力サイズ320×356を指定する画面サイズ指定情報を受け付ける。そして、この画面サイズ指定情報に対応したサイズ閾値情報を取得する。
図10は、サイズ制限情報格納部105に格納されているサイズ制限情報を示す図である。サイズ制限情報は、「画面サイズ」と、「サイズ閾値」とを有する。「画面サイズ」は画面サイズ情報であり、ページ情報を用いて出力される情報が表示される画面のサイズの短辺の長さの範囲を示す情報である。「サイズ閾値」はサイズ閾値情報である。ここでは、ページ生成の対象とするオブジェクトが配置されるサイズの閾値であり、後述するページ生成部120においては、このサイズよりも小さいものは、ページ生成の対象としない。なお、「サイズ閾値」は、オブジェクトが配置される幅または高さのうちの短い方の長さの閾値であるとする。
ページ生成部120は、画面サイズ指定情報受付部106が受け付けた画面サイズ指定情報の出力サイズの値のうちの短辺の値「320」が、図10に示したサイズ制限情報の上から2番目のレコードの「画面サイズ」の値である「200以上400未満」の範囲に含まれるため、この2番目のレコ−ドの「サイズ閾値」の値である「30」を取得する。
次に、ページ生成部120は、第二のページ情報を生成するか否かを判断する。ここでは、例えば、予め第三のページ情報までを生成することが予め指定されていたとすると、ページ生成部120は、第二のページ情報を生成することを決定する。
次に、ページ生成部120は、1番目の第一のページ情報を、ページ情報格納部101から読み出す。ここでは、1番目の第一のページ情報として、ページ管理表およびページ定義管理表の「ページID」の値が「L1」であるレコードの情報をそれぞれ読み出す。なお、第二のページ情報の生成に、第一のページ情報のページ定義情報が不要であれば、ページ定義管理表からページ定義情報を読み出さなくても良い。このように、第一のページ情報の一部のみを読み出すことも、ここでは第一のページ情報を読み出すことと考える。
次に、ページ生成部120は、第一のページ情報に配置されたオブジェクトをグループ化して、第二のページ情報を生成するか否かを判断する。ここでは例として、一のページ情報が示す一のページに配置されているオブジェクト数が、8つ以上であれば、オブジェクトをグループ化することが、予め図示しない設定情報等を用いて設定されていたとする。ページ生成部120は、ページ情報格納部101から読み出した第一のページ情報に配置されているオブジェクト数、即ち「ページID」の値が「L1」であるページ管理表に含まれるオブジェクト数をカウントして値「25」を取得し、その値が8以上であるため、グループ化を行って第二のページ情報を生成することを決定する。
このため、グループ管理情報蓄積部103は、グループ化を行って、グループ管理情報を取得する。そして取得したグループ管理情報を、グループ管理情報格納部104に蓄積する。なお、この処理については後述する。
図11は、グループ管理情報格納部104に格納されたグループ管理情報を示す図である。この格納は一時記憶と考えても良い。このグループ管理情報は、グループ管理情報蓄積部103により作成され、蓄積されたものである。グループ管理情報は、「グループID」、「オブジェクトID」、「ページID」という項目を有している。「グループID」は、グループ識別情報であり、同じ値は、同じグループであることを示す。「オブジェクトID」および「ページID」は、図7に示したページ管理表の「オブジェクトID」および「ページID」に対応する。
ページ生成部120は、図11に示したグループ管理情報から、「ページID」が「L1」である第一のページ情報に配置されているオブジェクトで構成されたグループの中の1番目のグループに対応したグループ管理情報を読み出す。即ち「グループID」が「G001」であるグループ管理情報を読み出す。
図12は、グループ生成管理情報格納部108に予め格納されているグループ生成管理情報を示す図である。グループ生成管理情報は、「グループ属性値条件」という項目と、「グループ配置ルール情報」という項目を有している。
ページ生成部120は、グループ生成管理情報格納部108に格納されている図12に示したようなグループ生成管理情報から、グループ属性値条件を読み出す。読み出したグループ属性値条件は、「オブジェクト数が6以上」である。このグループ属性値条件は、一のグループに属するオブジェクト数が6以上であることを示す条件である。
ページ生成部120は、「グループID」が「G1」であるグループを構成するオブジェクト数をカウントする。即ち上記で読み出した「グループID」が「G1」であるグループ管理情報に含まれる「オブジェクトID」数をカウントしてグループの属性であるオブジェクト数を取得する。ここでは、カウント数として「7」を取得する。そして、このカウント数が、読み出した「オブジェクト数が6以上」というグループ属性値条件を満たすか否かを判断する。ここでは、このグループ属性値条件を満たすため、ページ生成部120は、図12に示したグループ生成管理情報から、このグループ属性値条件に対応した「グループ配置ルール情報」の値である「200%拡大」を取得する。なお、グループ属性値条件が複数読み出されていた場合、属性値が合致するグループ配置ルール情報を取得する。また、読み出したグループ属性値条件にグループの属性値が合致しない場合、グループ化されたオブジェクトについて予め用意されたデフォルトのルールで、グループ化されたオブジェクトを配置することを決定する。デフォルトのルールは、ここでは、例えば拡大を行わないルールであるとする。ただし、「グループ配置ルール情報」が示す値未満の拡大率で拡大を行うルール等としても良い。また、デフォルトのルールを、第二のページ情報を生成しないというルールとしても良い。
ページ生成部120は、取得したグループ配置ルール情報に従って、第二のページ情報を生成する。具体的には、ページ生成部120が読み出した「グループID」が「G001」であるグループ管理情報に含まれる1以上の「オブジェクトID」が示すオブジェクトを、「ページID」が「L1」である第一のページ情報に含まれるオブジェクトの中から取得する。ここでは、「オブジェクトID」が「DA001」から「DA007」までの7つのオブジェクトを、図7に示したページ管理表から検出する。そして、新たに一のページを示すページ識別情報を生成し、検出した7つのオブジェクトを、生成したページ識別情報が示すページに配置するオブジェクトの配置情報を生成する。ただし、ここでは、第一のページ情報に配置されていたオブジェクトをリンクしてページに配置しているものとする。なお、オブジェクトをリンクして配置しているということは、オブジェクトに対するリンク情報を配置していることと考えても良い。この場合も、ここでは、第二のページ情報には、実質的に配置されたオブジェクトが含まれていると考えて良い。なお、この時、配置情報の各オブジェクトの配置されている領域のサイズを示す値、ここでは、幅および高さの値は、グループ配置ルール情報に従って、幅および高さをそれぞれ200%拡大したサイズとする。また、ここでは、オブジェクトが配置される相対的な位置関係も第一のページ情報における位置関係が保たれるようにする。例えばオブジェクト間の配置される方向が、同じ方向となり、オブジェクト間の距離等は、オブジェクトと同じ倍率で拡大される。新たに生成されるページ識別情報は、デフォルトで指定されているテンプレート等を読み出して生成しても良いし、グループ配置ルール情報に含まれているテンプレート等を読み出して生成するようにしても良い。なお、ここでは、オブジェクトのグループは、新たに生成されたページ情報の左上隅に配置されるようにするが、新たに生成されたページ情報内のどの位置に拡大されたオブジェクトが配置されるようにしてもよい。例えば、ページ情報の中央にグループを構成するオブジェクトが配置されてもよいし、上部にセンタリングされて配置されていても良い。グループを構成するオブジェクトの配置は、元の第一のページ情報が示す相対的な位置関係を保たないようにしてもよい。これらの配置のルールを設定する情報は、予め図示しない格納部等に格納されていても良いし、グループ配置ルール情報に含まれているようにしても良い。
さらに、ページ生成部120は、第二のページ情報のページ情報に第一のページ情報に対するリンク情報と対応付けられたボタンを配置する。ボタンの配置される位置は問わない。例えば第二のページ情報のテンプレート等に位置等が指定されているようにしてもよい。ボタンの画像や文字列等は、例えば、ページ生成部120が予め有しているものや、図示しない格納部等に予め格納されているものを読み出すようにする。リンク情報は、例えば、第一のページ情報に対する相対的なリンク情報や絶対的なリンク情報を取得して、ボタンに設定しても良いし、第一のページ情報を用いて出力される情報に対するリンク情報を取得して、ボタンに設定しても良い。例えば、ページ生成部120が取得する第一のページ情報のリンク情報として、例えば、第一のページ情報の相対的なファイルパスの情報を取得しても良い。また、ページ生成部120が取得する第一のページ情報を用いて出力する情報に対するリンク情報として、予め指定されている第一及び第二のページ情報を用いて出力される情報同士のデータ構造上やファイル関係上の位置関係に応じて用意されている第一のページ情報を用いて出力される情報に対するリンクが設定できるようなリンク情報を取得しても良い。ここでは、リンク情報として、リンク先となるページ情報の「ページID」の値を用い、ページ情報を用いて出力を行う際に、このページIDを、適宜、ページ情報を用いて出力される情報のファイルパス等のリンク情報に置き換えるようにしても良い。
このようにして取得されたページ識別情報と、オブジェクトと、オブジェクト配置情報とを有する情報が、「グループID」が「G001」であるオブジェクトグループを構成するオブジェクトが配置される第二のページ情報である。
ページ生成部120は、取得した第二のページ情報を図示しない記憶媒体等に一時記憶する。ここでは、上述した第一のページ情報と同様の、ページ管理表と、ページ定義管理表とを用いて、ページ生成部120が生成した第二のページ情報に含まれるページ識別情報と、オブジェクトと、オブジェクト配置情報とを管理するものとする。
図13は、ページ生成部120が生成した第二のページ情報を管理するページ管理表である。ここでは、第一のページ情報の1番目のオブジェクトのグループが配置された第二のページ情報の「ページID」は「L201」とする。つまり、「ページID」が「L201」であるページ管理表は、第一のページ情報の1番目のオブジェクトのグループが配置された第二のページ情報についてのページ管理表である。なお、「オブジェクト」の値は、実際には第一のページ情報に配置されているオブジェクトを参照した値であるとする。
図14は、ページ生成部120が生成した第三のページ情報を管理するページ定義管理表を示す図である。なお、ページ生成部120は、ページに配置される1以上のオブジェクトが占めるサイズに応じたページを定義するページ定義情報を生成しても良い。例えば、一のページに配置される1以上のオブジェクトを含む最小サイズの矩形領域に対して、予め指定された余白やマージン等を付与したページを定義するページ定義情報を生成しても良い。
次に、リンク領域管理情報取得部121は、第一のページ情報の1番目のグループを構成するオブジェクト上の領域であるリンク領域を示すリンク領域指定情報を取得する。ここでは図7に示したページ管理表の、1番目のグループに属する「オブジェクトID」が「DA001」から「DA007」までの7つのオブジェクトに対応した配置情報、具体的には「中心座標x」、「中心座標y」、「幅」、「高さ」等を利用して、これらのオブジェクトの全ての含む最大矩形の領域を指定する情報をリンク領域指定情報として取得する。ここでは、例えば、最大矩形領域の「中心座標x」、「中心座標y」、「幅」、「高さ」を取得する。また、ページ生成部120が生成した1番目のグループに対応する第二のページ情報へのリンク情報として、第二のページ情報の「ページID」を取得する。このリンク情報は第一および第二のページ情報を用いた情報の出力を行う際に、適宜、出力される情報に対するリンク情報に書き換えられるものとする。そして、取得したリンク領域指定情報と、リンク情報とを対応付けたリンク領域管理情報を図示しない記憶媒体等に一時記憶する。
図15は、リンク領域管理情報取得部121が取得したリンク領域管理情報を示す図である。リンク領域管理情報は、「リンク領域ID」「リンク領域指定情報」と「リンク先ページID」とを有する。「リンク領域指定情報」は、「ページID」、「中心座標x」、「中心座標y」、「幅」、「高さ」、「オブジェクトID」を有する。「リンク領域ID」はリンク領域の識別情報である。「リンク領域指定情報」の「ページID」は、リンク領域が設定されるページ情報を示すもので、図8で示したページ定義管理表の「ページID」に対応する。「中心座標x」、「中心座標y」、「幅」、および「高さ」は、リンク領域の位置およびサイズを指定する情報である。「オブジェクトID」は、リンク領域をこのオブジェクトIDが示すオブジェクトが占める領域に指定するための情報であり、図7に示したページ管理表の「オブジェクトID」の値に対応する。ただし、「中心座標x」、「中心座標y」、「幅」、および「高さ」の組みと、「オブジェクトID」とのいずれかだけの値が格納されてもよい。図15においては、リンク領域がオブジェクトのグループを含む領域に指定されるため、「中心座標x」、「中心座標y」、「幅」、および「高さ」の組みだけに値が格納され、「オブジェクトID」の値は、値なしとなっている。「リンク先ページID」は、リンク先を示すリンク情報として用いられる「ページID」であり、図13等に示した「ページID」に対応する。ここでは、リンク領域には、「ページID」が「L201」であるページ情報に対するリンク情報が対応付けられていることを示している。
図16は、メニュー生成管理情報格納部123に格納されているメニュー生成管理情報を示す図である。メニュー生成管理情報は、「メニュー属性値条件」と「メニュー項目指定情報」とを有する。「メニュー項目指定情報」の値「なし」は、オブジェクトの属性値に応じたメニュー項目を作成しないことを示す。また「メニュー項目指定情報」の「なし」以外の値には、それぞれのメニュー項目を作成するための命令や、プログラム等が対応付けられているものとする。
図17は、リンクメニュー生成管理情報格納部124に格納されているリンクメニュー生成管理情報を示す図である。リンクメニュー生成管理情報は、「リンク深度値」および「リンクメニュー項目指定情報」という項目を有している。「リンクメニュー項目指定情報」の「なし」以外の値には、図示していないがそれぞれのメニュー項目を作成するための命令や、プログラム等が対応付けられているものとする。
ページ生成部120は、1番目のグループのオブジェクトが配置された第二のページ情報を出力するメニュー項目を含むメニューオブジェクトを生成する。例えば第二のページ情報を出力するためのプログラム等と対応付けられたメニュー項目を含むメニューオブジェクトを生成する。ここでは、1番目のグループオブジェクトが配置された第二のページ情報の「ページID」を取得して「L201を出力」というメニュー項目を取得する。このメニュー項目は、「ページID」が「L201」であるページ情報を出力することを指示するメニュー項目である。メニューオブジェクトは、ここでは、メニューに表示されるメニュー項目名と、メニューが選択された場合に出力される命令や実行されるプログラムとを有する情報であるとする。なお、ここでは例として、メニューの画像自体は、ページ情報を用いて出力した情報を表示するデバイス等が、予め用意されているAPI(アプリケーション・プログラミング・インタフェース)等を用いて作成するものとする。
さらに、ページ生成部120は、1番目のグループのオブジェクトから取得した属性値が条件を満たす「メニュー属性値条件」を、図16に示したメニュー生成管理情報の「メニュー属性値条件」の中から検出する。ここでは、例えば、グループ化されたオブジェクトからは、グループ化されたオブジェクトであることを示す属性値しか取得されないものとすると、1番目のグループのオブジェクトから取得した属性値が条件を満たす「メニュー属性値条件」は、「グループ」となる。そして、検出した「メニュー属性値条件」に対応した「メニュー項目指定情報」である「なし」を取得する。取得した「メニュー項目指定情報」が「なし」なので、ページ生成部120は、オブジェクトの属性値についてのメニュー項目を含むメニューオブジェクトの生成は行わない。
さらに、ページ生成部120は、1番目のグループのオブジェクトのリンクの深さの値を取得し、取得したリンクの深さを含む「リンク深度値」を、図17に示したリンクメニュー生成管理情報の「リンク深度値」の中から検出する。ここでは、1番目のオブジェクトグループは、第一のページ情報のオブジェクトで構成されるオブジェクトグループであるため、リンクの深さの値として「1」を取得する。そして、この「1」を含む「リンク深度値」として「1」を検出する。そして、検出した「リンク深度値」に対応する「リンクメニュー項目指定情報」である「なし」を取得する。取得した「リンクメニュー項目指定情報」が「なし」なので、ページ生成部120は、オブジェクトのリンクの深さについてのメニュー項目を含むメニューオブジェクトの生成は行わない。
ページ生成部120は、生成したメニューオブジェクトと、1番目のグループのオブジェクトについて取得したリンク領域指定情報とを対応付けて有するメニュー管理情報を図示しない記憶媒体等に一時記憶する。
図18は、ページ生成部120が生成したメニュー管理情報を示す図である。メニュー管理情報は、「リンク領域ID」と「メニュー項目」とを有する。「リンク領域ID」は、図15の「リンク領域ID」と対応した情報であり、図15のリンク領域指定情報と
メニュー項目とを対応付けるための情報である。なお、図示していないが、「メニュー項目」の各値には、メニュー項目が示す動作を実現するための命令やプログラム等が対応付けられているものとする。
以上の処理により、第一のページ情報の1番目のオブジェクトグループについて、第二のページ情報を生成して、第一のページ情報に第二のページ情報に対するリンク領域を生成する処理が終了する。
図19は、「ページID」が「L201」である第二のページ情報の表示例を示す図である。なお、図において、「戻る」ボタン191は、第一のページ情報に戻るボタンである。
さらに、第一のページ情報の2番目以降のオブジェクトのグループについても同様の処理を繰り返す。そして、第一のページ情報に配置されたオブジェクトのグループについての処理が終了した時点で、2番目以降の第一のページ情報があるか否か判断し、ある場合は、それぞれについても上記と同様の処理を繰り返す。ここでは、第一のページ情報が一つしかないため、ページ生成部120は、上記の処理で作成した第二のページ情報について、第三のページ情報等を生成する処理を行うか否かを判断する。ここでは、上述したように、予め第三のページ情報までを生成することが予め指定されていたとすると、第二のページ情報についても、上記と同様の処理を開始する。
まず、ページ生成部120は、1番目の第二のページ情報を、上記でページ生成部120が生成して図示しない記憶媒体等に蓄積したページ情報のなかから読み出す。ここでは、まず、ページ生成部120が生成した「ページID」が「L201」である第二のページ情報を1番目の第二のページ情報として読み出したとする。具体的には、図13に示したようなページ管理表や図14に示すようなページ定義管理表を取得する。
ページ生成部120は、1番目の第二のページ情報に配置されたオブジェクトをグループ化して、第二のページ情報を生成するか否かを判断する。ここでは、読み出した1番目の第二のページ情報に配置されているオブジェクト数が「7」であり、上述したように、オブジェクト数が8つ以上であればオブジェクトをグループ化することが予め指定されていることから、グループ化しないことを決定する。なおグループ化する場合、グループ化のルールは、オブジェクト数や、処理対象となる第nのページ情報のnの値によって異なるものとすることが好ましい。
ページ生成部120は、1番目の第二のページ情報に配置されたオブジェクトの中から見出しオブジェクトを第二のページ情報を用いて検出する。ここでは、例として、一番大きなフォントサイズを有するオブジェクトを検出する。図13に示すように、第二のページ情報に配置されているオブジェクトの最もフォントサイズが大きいオブジェクトは、オブジェクトIDが「DA001」であるオブジェクトであるため、このオブジェクトを見出しオブジェクトとして検出する。ページ生成部120は、検出した見出しオブジェクトのオブジェクトIDをメモリ等の記憶媒体に一時記憶する。
次に、ページ生成部120は、上記で取得したサイズ閾値を読み出して、このサイズ閾値よりも小さいサイズのオブジェクトを見出しオブジェクトを除いたオブジェクトの中から検出する。例えば、ここでは、サイズ閾値が30ピクセルであるとすると、ページ生成部120は、高さまたは幅のいずれかが30ピクセル以下のオブジェクトを検出する。ここでは、サイズ閾値よりも小さいオブジェクトは,検出されない。
次に、ページ生成部120は、1番目の第二のページ情報に配置されたオブジェクトのうちの見出しオブジェクトを除いたオブジェクトのうちの1番目のオブジェクトについて、地図オブジェクトであるか否かを判断する。1番目のオブジェクトは、「オブジェクトID」が「DA002」であったとする。例えば、1番目のオブジェクトが画像情報であるか否かを判断し、画像情報であれば、いわゆるOCR等の文字認識の技術等を用いて画像から文字列を取得し、この文字列が、予め図示しない記憶媒体等に蓄積されている地名等の地図において利用され得る1以上の文字列のいずれかと一致するか否かを判断する。そして、一致するものがある場合、地図オブジェクトであると判断する。ここでは、1番目のオブジェクトは文字列オブジェクトであるため、地図オブジェクトでないと判断される。
次に、ページ生成部120は、1番目のオブジェクト内に予め指定された属性の文字列を有するオブジェクトであるか否かを判断する。ここでの予め指定された属性とは、フォント名が、「POP体」という属性であるとする。1番目のオブジェクトのフォント名を示す「フォント」の値は、「太ゴシック」であり、「POP体」ではないことから、指定された属性の文字列を有するオブジェクトではないと判断される。
図20は、生成管理情報格納部107に格納されている生成管理情報を示す図である。生成管理情報は、「属性値条件」と「配置ルール条件」という項目を有している。「属性値条件」はフォントサイズの閾値を示す属性値条件である。「配置ルール情報」は配置ルール情報である。
ページ生成部120は、1番目のオブジェクトに「属性値条件」が示す「40」ポイント未満のフォントサイズの文字列が含まれるか否かを判断する。ここでは、含まれるため、配置ルール情報である「150%拡大」を取得する。なお、含まれない場合は、グループ化されていない文字列オブジェクトに対するデフォルトの配置ルールで、オブジェクトを配置した第三のページ情報を生成する。文字列オブジェクトに対するデフォルトの配置ルールは、例えば、オブジェクトのサイズを変更せずに配置することであるとする。また、オブジェクトが画像オブジェクトである場合、グループ化されていない画像オブジェクトに対するデフォルトの配置ルールで、オブジェクトを配置した第三のページ情報を生成する。画像オブジェクトに対するデフォルトの配置ルールは、例えば、オブジェクトを150%拡大して配置することであるとする。なお、属性値条件が示すフォントサイズより小さいフォントサイズが含まれない場合、そのオブジェクトを配置した第三のページ情報を生成しないようにしても良い。
ページ生成部120は、取得した配置ルール情報を用いて、1番目のオブジェクトを配置した第三のページ情報を生成する。具体的には、1番目のオブジェクトである「オブジェクトID」が「DA002」であるオブジェクトを、上記で取得した図13に示すようなページ管理表において検出する。また、ここでは、「オブジェクトID」が「DA001」であるオブジェクトが見出しオブジェクトとして検出されているため、このオブジェクトもページ管理表において取得する。そして、新たに一のページを示すページ識別情報を生成し、検出した1番目のオブジェクトと、上記で検出した「オブジェクトID」が「DA001」である見出しオブジェクトとの2つのオブジェクトを、生成したページ識別情報が示すページに配置するオブジェクトの配置情報を生成する。ただし、ここでは、第二のページ情報には、オブジェクトを配置する代わりに、オブジェクトを参照するための情報が配置されていることから、この第三のページ情報にも、第二のページ情報に配置されているオブジェクトを参照する情報、即ち、結果的には第一のページ情報に配置されているオブジェクトを参照する情報が配置されるものとする。また、1番目のオブジェクトを配置する際には、上記で取得した配置ルール情報が示すルールが適用され、サイズが150%拡大されるよう、オブジェクトの配置情報が変更される。なお、見出しオブジェクトについては、ここでは、デフォルトのルール、即ちサイズ変更なしが適用されるものとする。第三のページ情報においては、オブジェクトが配置されるページ上の位置等は、第二のページ情報と同様に問わない。特に、見出しオブジェクトと、1番目のオブジェクトの位置関係等は、ここでは、予めデフォルト等で指定されている配置のルールが適用される。例えば、見出しオブジェクトが、1番目のオブジェクトの上方に、予め指定された間隔を隔てて配置される。また、ページ生成部120は、第二のページ情報を生成する場合と同様に、第三のページ情報のページに、第一のページ情報に対するリンク情報と対応付けられたボタンを配置する。これにより、第二のページ情報が示すページに配置された1番目のオブジェクトが配置された第三のページ情報が生成されたこととなる。
ページ生成部120は、取得した第三のページ情報を図示しない記憶媒体等に一時記憶する。ここでは、上述した第一のページ情報と同様の、ページ管理表等を用いて、ページ生成部120が生成した第三のページ情報に含まれるページ識別情報と、オブジェクトと、配置情報とを管理するものとする。
図21は、ページ生成部120が生成した第三のページ情報に含まれるオブジェクトと、配置情報と、ページ識別情報と対応付けて管理するページ管理表を示す図である。ここでは、生成された第三のページ情報の「ページID」は「L301」とする。つまり、「ページID」が「L301」であるページ管理表は、ページ生成部120が生成した1番目の第二のページ情報の1番目のオブジェクトが配置された第三のページ情報についてのページ管理表である。なお、このページ管理表は、上述した第二のページ情報のページ管理表と同様の項目を有するものであることから、これらのページ管理表で管理されているレコードを一のページ管理表で管理するようにしても良い。
図22は、ページ生成部120が生成した第三のページ情報のページ定義情報を管理するページ定義管理表を示す図であり、図14に示した第二のページ情報のページ定義情報が管理されているページ定義管理表と同様のものである。なお、図14に示した第二のページ定義管理表と、図21に示した第三のページ定義管理表とを、一のページ定義管理表で管理するようにしても良い。
次に、リンク領域管理情報取得部121は、1番目の第二のページ情報の1番目のオブジェクト上の領域であるリンク領域を示すリンク領域指定情報を取得する。ここでは、リンク領域を1番目のオブジェクト上の領域とするため、リンク領域指定情報として、1番目のオブジェクトに指定する。具体的には、1番目のオブジェクトの「オブジェクトID」である「DA002」をリンク領域指定情報として取得する。これにより、この「オブジェクトID」に対応するオブジェクトの配置情報が示すオブジェクト上の領域がリンク領域に指定されたこととなる。また、1番目のオブジェクトに対応して生成された第三のページ情報へのリンク情報として、1番目の第三のページ情報の「ページID」である「L301」を取得する。そして、取得したリンク領域指定情報と、リンク情報とを対応付けたリンク領域管理情報を、図15に示したリンク領域管理情報に追記する。
図23は、1番目の第二のページ情報の1番目のオブジェクトについてのリンク領域管理情報を追加したリンク領域管理情報を示す図である。ここでは、オブジェクトID「DA002」をリンク領域指定情報としたリンク領域管理情報を追加しているため、リンク領域指定情報の「オブジェクトID」の値は、「DA002」であり、「中心座標x」、「中心座標y」、「幅」、および「高さ」の値は「なし」となっている。
次に、ページ生成部120は、1番目の第二のページ情報の1番目のオブジェクトが配置された領域に出力されるメニューオブジェクトを生成する。ここでは、この1番目のオブジェクトを配置した第三のページ情報を出力するメニュー項目を含むメニューオブジェクトを生成する。
また、ページ生成部120は、1番目の第二のページ情報の1番目のオブジェクトから取得した属性値が条件を満たす「メニュー属性値条件」を、図16に示したメニュー生成管理情報の「メニュー属性値条件」の中から検出する。ここでは、1番目のオブジェクトが文字列のオブジェクトであるため、「メニュー属性値条件」の「文字列オブジェクト」が条件を満たす「メニュー属性値条件」として検出される。そして、検出した「メニュー属性値条件」に対応した「メニュー項目指定情報」である「文字列を保存」を取得する。そして、ページ生成部120は、オブジェクトの属性値についてのメニュー項目である「文字列を保存」を含むメニューオブジェクトを生成する。
さらに、ここでは、第二のページ情報のリンクの深さは、「2」であるため、図17に示したリンクメニュー生成管理情報の「リンク深度値」の「2以上」という条件を満たすため、「リンク深度値」の値が「2以上」であるレコードの「リンクメニュー項目指定情報」の値である「親となるページ情報を出力」を取得する。そして、この値に応じたメニュー項目を含むメニューオブジェクトを生成する。「親となるページ情報を出力」とは、この1番目の第二のページ情報をリンク先に指定するページ情報である。ここでは、図23に示したリンク領域管理情報において、「リンク先オブジェクトID」が、1番目の第二のページ情報の「ページID」である「L201」と一致するレコードの「ページID」の値をユニーク処理して得られた値「L1」が示すページ情報が、親となるページ情報である。つまり、ここでは、ページ生成部120は、さらに、「オブジェクトID」が「L1」である第一のページ情報を出力するメニュー項目を含むオブジェクトを生成する。
ページ生成部120は、生成したメニューオブジェクトと、1番目の第二のページ情報の1番目のオブジェクトについて取得したリンク領域指定情報とを対応付けて有するメニュー管理情報を図示しない記憶媒体等に一時記憶する。ここでは、取得したメニュー管理情報のレコードを、図18に示したようなメニュー管理情報に追記する。
図24は、1番目の第二のページ情報の1番目のオブジェクトについてのメニュー管理情報を追記したメニュー管理情報を示す図である。「リンク領域ID」の「LK0005」は、1番目の第二のページ情報の1番目のオブジェクト上のリンク領域である。
以上の処理により、ページ生成部120が生成した1番目の第二のページ情報の1番目のオブジェクトについて、第三のページ情報を生成して、1番目の第二のページ情報に第三のページ情報に対するリンク領域を生成する処理が終了する。
図25は、「ページID」が「L301」であるページ情報の表示例を示す図である。図において、「戻る」ボタン251は、直系の第一のページ情報に戻るボタンである。
ここで、仮に、1番目の第二のページ情報に配置されたオブジェクトの中に見出しオブジェクトが検出されなかったとすると、見出しオブジェクトが配置されない第三のページ情報が生成される。
また、仮に、1番目の第二のページ情報に配置されたオブジェクトの中に、サイズ閾値よりも小さいサイズのオブジェクトが検出されたとする。この場合、このオブジェクトについては、単独では第三のページ情報は生成せず、第二のページ情報のこのオブジェクト上にはリンク領域を設定しない。その代わりに、このオブジェクトとの第二のページ情報内における距離が最も近いオブジェクトが配置される第三のページ情報に、このサイズの小さいオブジェクトも配置するようにする。これにより第二のページ情報を用いた情報では、出力される画面のサイズから考えて操作が困難となるような小さなリンク領域を作成しないようにすることができる。これにより、操作が困難なリンク領域によって発生する誤操作を防ぐことができる。
また、仮に、1番目の第二のページ情報に配置された1番目のオブジェクトが、地図オブジェクトであったとする。この場合、まず、上記の処理中において、1番目の第二のページ情報に配置された1番目のオブジェクトが、地図オブジェクトであると判断される。ページ生成部120は、この1番目のオブジェクトにリンク情報で対応付けられる地図検索ページ情報として、地図オブジェクトの地図が示す場所を示す情報を検索キーとして検索を行って得られた検索結果が配置されるページ情報を生成する。具体的には、ページ生成部120は、地図オブジェクトの判断を行う際に地図情報から取得した文字列のうちの、予め図示しない記憶媒体等に蓄積されている地名と一致する文字列を地図が示す場所の情報として取得する。例えば、取得した文字列が「富士山」であったとする。この場所の情報は、検索キーとして用いられる。そして、地図検索ページ情報を識別するページ識別情報を生成する。このページ識別情報は、仮に、上記と同じ「ページID」が「L301」であるページ識別情報であったとする。この地図検索ページ情報が示すページ内の、上記で取得した文字列を検索キーとして用いて得られる検索結果を配置する領域を示す情報を生成する。例えば、検索結果を配置する領域を示す情報は、オブジェクトの配置情報と同様の情報として生成され、この検索結果が配置される領域を示す情報は、ページ管理表に格納される。
図26は、1番目のオブジェクトが地図オブジェクトであった場合の地図検索ページ情報のページ管理表を示す図である。この場合の「オブジェクト」である「search result」は、このページ管理表に対応する検索処理を行った場合に得られる検索結果の情報で構成されるオブジェクトを示す。
また、ページ生成部120は、生成された「ページID」が地図検索ページ情報を用いて生成された情報が出力されることをトリガーとして、上記で取得した検索キーを用いた検索を予め指定されたデータベースやインターネットのサーチエンジン等を用いて行うプログラムを生成し、「ページID」が「L301」である地図検索ページ情報と対応付けたアクション管理情報を図示しない記憶媒体等に蓄積する。このプログラムは、例えば、予め図示しない記憶媒体等に格納されているプログラムのテンプレートに、上記で取得した検索キーを配置することで作成可能である。
図27は、アクション管理情報を示す図である。アクション管理情報は、「ページID」と、「プログラム」という項目を有する。「ページID」は、図22の「ページID」に対応する。「プログラム」は、出力時に「富士山」を検索キーとして検索を行って、検索結果を取得するためのプログラムのファイルである。なお、アクション管理情報は、ここでは、第三のページ情報の一部を構成しているものとする。
そして、上記と同様に、1番目の第二のページ情報の1番目のオブジェクトである地図オブジェクト上の領域と、検索結果が配置される第三のページ情報とを対応付けたリンク領域管理情報がリンク領域管理情報取得部121により生成されて蓄積される。
また、仮に、1番目の第二のページ情報の1番目のオブジェクトが、予め指定された属性の文字列を有するオブジェクトであるか否かを判断する。例えば、フォント名が、「POP体」という属性の文字列を有していたとする。この場合、ページ生成部120は、指定された属性の文字列を有するオブジェクトであると判断し、この指定された属性の文字列を検索キーとして用いて行った検索結果を出力するための文字列検索ページ情報を生成する。ここで生成する文字列検索ページ情報は、検索キーが、地図が示す場所を示す情報でなく、文字列オブジェクトから取得した予め指定された属性を有する文字列である点を除けば、上述した地図検索ページ情報を取得する処理と同様であるので、ここでは説明を省略する。
情報処理装置1は、1番目の第二のページ情報の2番目以降のオブジェクトについても同様の処理を行う。さらにその後、2番目の第二のページ情報についても同様の処理を行う。
そして、ここでは、第四のページ情報以降のページ情報は生成しないことが予め指定されているため、ページ情報を生成したりリンク領域を設定したりする処理を終了する。
出力部125は、ページ情報格納部101に格納されている第一のページ情報と、図示しない記憶媒体等に蓄積されているリンク領域管理情報と第二及び第三のページ情報とメニュー管理情報等を出力する。ここでは、出力部125は、これらの情報を用いて出力用の情報を作成して出力する。具体的には、これらの情報を、ユーザ等により予め指定されたデータ形式のデータを作成して出力する。このデータ形式は、例えば、予め指定したブラウザや再生プレーヤ等で閲覧可能なデータ形式であるとする。ただし、スタンドアロンで出力可能なデータ形式としてもよい。また生成されるデータは、ここでは、一つのファイルにまとめられたデータであるとする。出力用のデータを生成する際には、例えば、必要に応じて、文字列の情報を画像情報等にレンダリングしてもよい。また、ここでは、画像オブジェクトのファイル形式や圧縮率等を変更しても良い。また、ここでの作成は、情報を一つのファイル等にまとめるいわゆるパッケージング等であっても良い。また、出力部125は、これらの情報を画面サイズ指定情報受付部106が受け付けた画面サイズ指定情報に対応したサイズの情報に変換して出力する。なお、ページ情報等から出力用の情報を作成して出力する処理は、例えば、DTP装置において電子文書を出力する処理や、マルチメディアオーサリングソフトウェアや、電子ブック等のオーサリングソフトウェア等において公知技術であるのでここでは説明を省略する。なお、出力部125は、ページ情報格納部101に格納されている第一のページ情報と、図示しない記憶媒体等に蓄積されているリンク領域管理情報と第二及び第三のページ情報とメニュー管理情報等を、そのまま外部の装置に送信したり、記憶媒体等に蓄積しても良い。また、出力部125はこれらの情報を図示しないモニタ等に表示しても良い。
ここで、出力部125から出力された情報を、この情報を出力可能なアプリケーション等で開いて、モニタ等に表示させて操作を行う場合について説明する。なお、ここでは、指等でタッチ操作可能な携帯端末等にインストールされているアプリケーションで情報を出力する場合を例に挙げて説明する。
まず、情報を表示させると、第一のページ情報に対応した画面が表示される。
図28は、第一のページ情報に対応した出力データの表示画面を示す図である。図において、点線で囲んだ領域LK0001〜LK0004はリンク領域である。ただし、実際には点線は表示されない。なお、リンク領域に指先を配置すると、その領域がリンク領域であることを強調表示されるようにしても良い。例えば、予め指定された色がオーバーレイ表示されるようにしても良い。このようにリンク領域に対する操作に応じてリンク領域の表示を変更する動作を行わせる指示は、リンク領域管理情報取得部121がリンク領域を設定する際に、リンク領域管理情報に格納するようにすればよい。
ここで、ユーザが領域LK0001上に指先を予め指定された時間以上配置していたとすると、図18に示したメニュー管理情報を用いて生成されたメニューが表示される。
図29は、メニューの表示例を示す図である。なお、各ページ情報に対応したページIDをページ番号に変換して、メニュー項目内に含まれるページIDの値を、ページ番号に置き換えるようにしても良い。
ユーザが、領域LK0001上を指先で軽く叩く操作、いわゆるタップ操作を行うと、この領域に指定されたリンク情報に応じて、ページIDが「L201」である第二のページ情報に対応した画面が表示される。
図30は、ページIDが「L201」である第二のページ情報に対応した画面を示す図である。図において、点線で囲んだ領域LK0005〜LK0010はリンク領域である。
ここで、ユーザが領域LK0005上に指先を予め指定された時間以上配置していたとすると、図24に示したメニュー管理情報を用いて生成されたメニューが表示される。
図31は、メニューの表示例を示す図である。
ユーザが、領域LK0005上でタップ操作を行うと、この領域に指定されたリンク情報に応じて、ページIDが「L301」である第二のページ情報に対応した画面が表示される。
図32は、ページIDが「L301」である第三のページ情報に対応した画面を示す図である。
ここで、領域LK0005が、地図オブジェクト上の領域であり、領域LK0005は、地図検索ページ情報に対応付けられていたとする。そして、ユーザが、この領域LK0005をタップしたとすると、このリンク領域とリンク情報で対応付けられた地図検索ページ情報に対応する画面が表示される。このとき、地図検索ページ情報を出力することをトリガーとして、図27に示すようなアクション管理情報で管理されているプログラムが実行され、地図オブジェクトから取得された地図が示す場所を示す情報が、検索キーとして予め指定された検索エンジン等に図示しない通信手段等を介して送信される。そして、検索結果を配置した地図検索ページ情報が表示される。
また、領域LK0005が、予め指定された属性の文字列を有するオブジェクト上の領域であり、この領域LK0005が、文字列検索ページ情報に対応付けられていたとする。ユーザがこの領域LK0005をタップしたとすると、このリンク領域とリンク情報で対応付けられた文字列検索ページ情報が画面に表示される。このとき、文字列検索ページ情報を出力することをトリガーとして、この文字列検索ページ情報と対応付けられたプログラムが実行され、文字列オブジェクトから取得された予め指定された属性の文字列が、検索キーとして予め指定された検索エンジン等に図示しない通信手段等を介して送信される。そして、検索結果を配置した文字列検索ページ情報が表示される。
ここで、上述した第一のページ情報に配置されたオブジェクトをグループ化して、グループ管理情報を取得する処理の具体例について説明する。
図33は、属性指定情報格納部102に格納されている属性指定情報を示す図である。属性指定情報は、「属性ID」、「オブジェクト属性」、「順序」という項目を有している。「属性ID」はオブジェクト属性を管理するための情報であり、ここでは、属性A〜属性Gを用いている。「オブジェクト属性」はオブジェクトの属性である。「属性名」と、「順序」とは、図7に示した「属性名」と「順序」にそれぞれ対応している。
グループ管理情報蓄積部103は、図33に示した属性指定情報のうちの「順序」が「1」であるレコードの「オブジェクト属性」の値、具体的には、属性Aである「文字列、フォント=太ゴシック、サイズ=24」というオブジェクト属性を取得する。そして、図6に示すように配置されているオブジェクトについて、例えば左上から順番に、「オブジェクト属性」の値を満たす属性を有している情報であるか否かを判断する。例えば、グループ管理情報蓄積部103は、左上に配置されたオブジェクトの「オブジェクトID」が「DA001」であることを、図7に示したページ管理表を用いて検出し、「オブジェクトID」が「DA001」であるオブジェクトの「オブジェクト種類」の値が文字列であり、「フォント」項目の値が「太ゴシック」であり、かつ「フォントサイズ」項目の値が「24」であるか否かを判断する。このオブジェクトの「オブジェクト種類」の値が「文字列」でない、または「フォント」項目の値が「太ゴシック」でない、もしくは「フォントサイズ」項目の値が「24」でない場合、次以降の配置されているオブジェクトについて、属性Aの「オブジェクト属性」を満たすものが検出できるまで、上記と同様の処理を行う。ここでは、「オブジェクトID」が「DA001」である「オブジェクトID」が「DA001」のオブジェクトが「オブジェクト属性」を満たすものであるため、このオブジェクトを、順序が一番目のオブジェクトとして新たなグループに加える。例えば、グループ別に用意された図示しないバッファ等にこの「オブジェクトID」もしくは「オブジェクト」を蓄積する。このとき、新たなグループに対して、グループ識別情報等を受け付けるようにしても良いし、予め指定されたルールでグループ識別情報を付与するようにしても良い。ここでは、「オブジェクトID」を、グループID「G001」と対応付けてバッファ等に蓄積する。
次に、グループ管理情報蓄積部103は、図33に示した属性指定情報のうちの「順序」が「2」であるレコードの「オブジェクト属性」の値、具体的には、属性Bのオブジェクト属性を取得する。そして、この属性Bが示すオブジェクト属性である「文字列、フォント=ゴシック、サイズ=12」を有する全てのオブジェクトを、ページに配置されているグループ化の対象となる全てのオブジェクトの中から検索する。ただし、既にグループ化されたオブジェクトは検索対象に含めないようにしてもよい。ここでは、「オブジェクトID」が「DA002」,「DA009」,「DA016」,「DA021」であるレコードが検索条件を満たすオブジェクトであるとして検出される。そして、これらのオブジェクトと、「順序」が「1」の属性指定情報に対応するオブジェクトとしてグループ化されたオブジェクトである「DA001」との距離を算出する。具体的には、図7に示したページ管理表から、「DA001」の「中心座標x」と「中心座標y」との値を取得する。また、同様に、「オブジェクトID」が「DA002」,「DA009」,「DA016」,および「DA021」であるオブジェクトの「中心座標x」と「中心座標y」との値をそれぞれ取得する。そして、「DA001」のオブジェクトの中心座標と、「オブジェクトID」が「DA002」,「DA009」,「DA016」,および「DA021」である各オブジェクトの中心座標との間の距離を、それぞれ算出する。そして、最も距離が短くなる位置に配置されたオブジェクトを選択する。ここでは、「オブジェクトID」が「DA002」,「DA009」,「DA016」,および「DA021」である各オブジェクトのうちの、「オブジェクトID」が「DA002」であるオブジェクトまでの距離が一番短いため、この「オブジェクトID」が「DA002」であるオブジェクトを、「順序」が「1」である属性指定情報に対応するオブジェクトである「DA001」と同じグループに加える。例えば、「DA001」のオブジェクトと同じグループのバッファ等に、この「オブジェクトID」が「DA002」であるオブジェクトの「オブジェクトID」もしくは「オブジェクト」を蓄積する。
次に、グループ管理情報蓄積部103は、図8に示した属性指定情報のうちの「順序」が「3」であるレコードの「オブジェクト属性」の値、具体的には、属性Cのオブジェクト属性を取得する。そして、この属性Bが示すオブジェクト属性である「画像、幅=150、高さ=110」を有する全てのオブジェクトを、ページに配置されているグループ化の対象となる全てのオブジェクトの中から検索する。即ち、画像オブジェクトであって、幅が150ピクセルであり、高さが110ピクセルであるオブジェクトを検索する。ここでは、「オブジェクトID」が「DA003」,「DA010」,「DA017」,「DA022」であるレコードが検索条件を満たすオブジェクトであるとして検出される。そして、これらのオブジェクトと、「順序」が「2」の属性指定情報に対応するオブジェクトとしてグループ化されたオブジェクトである「DA001」との中心座標間の距離を上記と同様に算出する。そして、最も距離が短くなる位置に配置されたオブジェクトを選択する。ここでは、「オブジェクトID」が「DA003」であるオブジェクトまでの距離が一番短いため、この「オブジェクトID」が「DA003」であるオブジェクトを、「オブジェクトID」が「DA001」であるオブジェクトと同じグループに加える。例えば、「DA001」のオブジェクトと同じグループのバッファ等に、この「オブジェクトID」が「DA003」であるオブジェクトの「オブジェクトID」もしくは「オブジェクト」を蓄積する。
同様に、グループ管理情報蓄積部103は、「順序」が「4」から「7」までの属性指定情報についても、上記と同様に、「順序」の値が示す順番に従って、配置されているオブジェクトを選択して、グループに加えていく。
「順序」が「7」である属性指定情報についてのグループ分けが終了した時点で、次の属性指定情報が存在しないため、一つのグループ分けを終了する。ここでのグループ分けによって、「オブジェクトID」が「DA001」、「DA002」、「DA003」、「DA004」、「DA005」、「DA006」、及び「DA007」であるオブジェクトが一つのグループを構成するオブジェクトとしてグループ分けされる。
そして、残りの配置されているオブジェクトについても、上記と同様に、「順序」が「1」である属性指定情報が示すオブジェクト属性を満たすオブジェクトの検索を行い、検出したオブジェクトについて、上記と同様のグループ分けを繰り返す。次以降のグループに属するオブジェクトについては、「オブジェクトID」を、それぞれが属するグループのグループID「G002」〜「G004」と対応付けてバッファ等に蓄積する。
ここで、図6に示した「オブジェクトID」が「DA016」であるオブジェクトを、「順序」が「2」である属性指定情報が示すオブジェクト属性を満たすオブジェクトとしてグループ化した直後の処理について考える。この場合において、つぎに、「順序」が「3」である属性Cのオブジェクト属性を取得し、この属性Cが示すオブジェクト属性を有する全てのオブジェクトを、グループ化の対象となる全ての文字列のオブジェクトの中から検索したとする。このとき、まだグループ化されていないオブジェクトの中から、仮に、「オブジェクトID」が「DA023」であるオブジェクトが検索条件を満たすオブジェクトであるとして検出されたとする。しかしながら、この場合において、このオブジェクトと、「順序」が「3」の属性指定情報に対応するオブジェクトとしてグループ化されたオブジェクトである「DA016」との距離を算出した結果、得られた値が、予め指定した閾値よりも大きい値、例えば、300ピクセル以上であったとする。この場合、この「オブジェクトID」が「DA023」であるオブジェクトは、「オブジェクトID」が「DA016」であるオブジェクトと同じグループのオブジェクトではないと判断される。この結果、「順序」が「3」の属性指定情報に対応するオブジェクトが欠けていると判断される。
このように判断された場合、次の順序である「順序」が「4」である属性指定情報の「オブジェクト属性」の値を取得して、この「オブジェクト属性」の値を用いて、上記と同様に「順序」が「4」である属性指定情報に対応したオブジェクトのグループ分けを行う。ただし、ここでは、直前の「順序」が「3」である属性指定情報に対応したオブジェクトをグループに追加できていないため、「順序」が「3」の直前の「2」である属性指定情報についてグループに加えたオブジェクトと、「順序」が「4」である属性指定情報の「オブジェクト属性」を満たす各オブジェクトとの距離を、隣接したオブジェクトを選ぶ際の、オブジェクト間の距離として利用すればよい。
また、図6に示した「オブジェクトID」が「DA024」であるオブジェクトを、仮に、「順序」が「5」である属性指定情報が示すオブジェクト属性を満たすオブジェクトとしてグループ化した場合について考える。この場合において、つぎに、「順序」が「6」である属性指定情報の属性Fのオブジェクト属性を取得し、この属性Fが示すオブジェクト属性を有する全てのオブジェクトを、ページに配置されているグループ化の対象となる全ての文字列のオブジェクトの中から検索したとする。このとき、まだグループ化されていないオブジェクトの中から、仮に、「オブジェクトID」が「DA023」および「DA025」であるオブジェクトが検索条件を満たすオブジェクトであるとして検出されたとする。しかしながら、この場合において、「順序」が「6」である属性指定情報が示すオブジェクト属性を満たすオブジェクトとしてグループ化されたオブジェクト「DA024」と、「オブジェクトID」が「DA023」および「DA025」であるオブジェクトのそれぞれとの距離が同じであったとする。この場合、「オブジェクトID」が「DA024」であるオブジェクトに対する「オブジェクトID」が「DA023」および「DA025」であるオブジェクトの方向を検出する。ここでは、「オブジェクトID」が「DA023」であるオブジェクトが上方向に配置され、「オブジェクトID」が「DA025」であるオブジェクトが下方向に配置されていることが検出されたとする。この場合、予め指定されている設定に応じて、下方向の「オブジェクトID」が「DA025」であるオブジェクトを、グループに加える。
上記のようにしてグループ分けする処理を繰り返し行い、「順序」が「1」である属性指定情報が示すオブジェクト属性を満たすオブジェクトが検出されなかった時点で、グループ管理情報蓄積部103は、グループ分けの処理を終了する。
なお、ここでは、終了前に、グループ分けされていないオブジェクトを検索する。ここでは、「オブジェクトID」が「DA023」であるオブジェクトが、グループ分けされていないオブジェクトとして検出される。このため、このオブジェクトを、最も近くに位置するグループに加えるようにする。ここでは、各グループの一番目に登録されたオブジェクトと、「オブジェクトID」が「DA023」であるオブジェクトとの距離を算出して比較し、最も距離が短くなるグループに「オブジェクトID」が「DA023」を加えるようにする。
そして、グループ管理情報蓄積部103は、バッファ等に蓄積したグループIDと対応付けられたオブジェクトIDを、第一のページ情報の「ページID」である「L1」と対応付けて、グループ管理情報格納部104に蓄積する。これにより、図11に示すようなグループ管理情報が得られる。
なお、上記具体例においては、第一のページ情報に配置されたオブジェクトの全てを第二のページ情報を生成する対象となるオブジェクトとした場合について説明したが、指定受付部109が第一のページ情報に配置された1以上のオブジェクトに対する指定を受け付けるようにし、この指定を受け付けたオブジェクトだけを第二のページ情報を生成する対象として、第二のページ情報を生成するようにしても良い。かかることは、第二のページ情報から、第三のページ情報を生成する際についても同様である。
以上、本実施の形態によれば、第一のページ情報に配置されたオブジェクトの1以上を配置した第二のページ情報と、この第二のページ情報を示すリンク情報を第一のページ情報に配置された同じオブジェクト上の領域に対応づけるリンク領域管理情報とを生成するようにしたことにより、リンク情報を利用して、第一のページ情報に配置されたオブジェクト上の領域に対するユーザの操作によって、このオブジェクトが配置された第二のページ情報を出力させることが可能となる。これにより、例えば、モニタ等に出力させるオブジェクトをユーザの操作によって絞り込んで表示することが可能となり、オブジェクトの閲覧性が向上する。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、受付部や出力部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ページ情報格納部に格納された少なくとも文字列または画像を含む一以上のオブジェクトが配置されたページの情報である第一のページ情報に配置された一以上のオブジェクトを配置したページの情報である第二のページ情報を生成するページ生成部と、前記第一のページ情報に配置された一以上のオブジェクト上の領域を示す情報と、当該一以上のオブジェクトが配置された前記第二のページ情報に対するリンク情報とを対応付けて有するリンク領域管理情報を取得するリンク領域管理情報取得部と、前記第一のページ情報と、前記ページ生成部が生成したページ情報と、前記リンク領域管理情報とを対応付けて出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図34は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図34において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図35は、コンピュータシステム900の内部構成を示す図である。図35において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。