〔第一の実施形態〕
図1は、ドキュメント閲覧システム100の全体的な構成の例を示す図である。図2は、ドキュメントサーバ1のハードウェア構成の例を示す図である。図3は、端末装置2のハードウェア構成の例を示す図である。図4は、印刷物6の例を示す図である。図5は、コンテンツ501〜503の例を示す図である。
図1に示すように、ドキュメント閲覧システム100は、ドキュメントサーバ1、複数台の端末装置2、および通信回線3などによって構成される。
ドキュメントサーバ1および各端末装置2は、通信回線3を介して通信することができる。通信回線3として、インターネット、LAN(Local Area Network)回線、公衆回線、または専用線などが用いられる。
ドキュメントサーバ1は、ドキュメントを表示するためのデータを記憶し、端末装置2からの要求に応じてデータを提供する。ドキュメントサーバ1として、ウェブサーバ用のサーバ機が用いられる。または、いわゆるクラウドサーバを用いてもよい。
ドキュメントサーバ1は、図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、大容量記憶装置10d、およびNIC(Network Interface Card)10eなどによって構成される。
NIC10eは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルによって端末装置2と通信する。
ROM10cまたは大容量記憶装置10dには、ドキュメント提供用プログラム10Pが記憶されている。ドキュメント提供用プログラム10Pは、RAM10bにロードされ、CPU10aによって実行される。大容量記憶装置10dとして、ハードディスクまたはSSD(Solid State Drive)などが用いられる。ドキュメント提供用プログラム10Pについては、後述する。
端末装置2は、ドキュメントサーバ1からドキュメントをダウンロードし、表示する。端末装置2として、タブレットコンピュータ、スマートフォン、またはパーソナルコンピュータなどが用いられる。以下、端末装置2としてタブレットコンピュータが用いられる場合を例に説明する。
端末装置2は、図3に示すように、CPU20a、RAM20b、ROM20c、フラッシュメモリ20d、タッチパネルディスプレイ20e、操作ボタン群20f、デジタルカメラ20g、無線LAN通信装置20h、近距離無線通信装置20i、および加速度センサ20jなどによって構成される。
タッチパネルディスプレイ20eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびドキュメントサーバ1からダウンロードしたドキュメントなどを表示する。
操作ボタン群20fは、ホーム画面に戻るためのボタン、音量を調整するためのボタン、および電源のオン/オフを切り換えるためのボタンなどによって構成される。
デジタルカメラ20gは、種々の画像を撮影する。本実施形態では、特に、ARマーカを撮影するために用いられる。
無線LAN通信装置20hは、通信回線3を構成する基地局を介してTCP/IPなどのプロトコルによってドキュメントサーバ1と通信を行う。
近距離無線通信装置20iは、Bluetooth(登録商標)、IrDA(Infrared Data Association)、またはワイヤレスUSB(Universal Serial Bus)などの規格に基づいて近距離無線通信を行う。
加速度センサ20jは、端末装置2の姿勢を検知する。特に、ユーザが端末装置2をシェイクしたり傾けたりしたことを検知するために用いられる。
ROM20cまたはフラッシュメモリ20dには、ドキュメント閲覧用プログラム20Pが記憶されている。
ドキュメント閲覧用プログラム20Pは、必要に応じてRAM20bにロードされ、CPU20aによって実行される。ドキュメント閲覧用プログラム20Pについては、後述する。
以下、各端末装置2をそれぞれ「端末装置2A」、「端末装置2B」、「端末装置2C」、…と区別して記載することがある。
ドキュメント閲覧システム100によると、PDF(Portable Document Format)などのファイルを単に提供するだけでなく、AR(Augmented Reality)の技術によってドキュメントを再現することができる。この際に、印刷物6が用いられる。
印刷物6には、図4(A)のように、呼出用マーカ61およびドキュメントの一部のコンテンツが印刷されている。
少なくとも呼出用マーカ61が含まれるように印刷物6の全部分または一部分をユーザが端末装置2のデジタルカメラ20gで撮影すると、端末装置2は、呼出用マーカ61に対応付けられているコンテンツ5の画像データをドキュメントサーバ1からダウンロードする。そして、端末装置2は、図4(B)のように、印刷物6の撮影した画像の上に、コンテンツ5を重ねて表示する。
このように、呼出用マーカ61は、ドキュメントサーバ1からドキュメントの残りの一部分のコンテンツを呼び出すために用いられる。呼出用マーカ61として、ARマーカが用いられる。
さらに、ドキュメント閲覧システム100によると、1つのドキュメントを複数台の端末装置2を使用して同時期に閲覧することができる。この際に、同じ呼出用マーカ61を撮影した場合であっても、端末装置2ごとに異なるコンテンツ5を表示させることができる。例えば、図5(A)〜(C)に示すような、ある自動車に関するドキュメントのコンテンツ5として、コンテンツ501、502、および503のそれぞれを、端末装置2A、端末装置2B、および端末装置2Cに同時期に表示させることができる。これらのコンテンツ5は、一般に、「ARコンテンツ」と呼ばれることがある。
以下、ドキュメントサーバ1から複数台の端末装置2へ複数のARコンテンツを提供する仕組みについて説明する。
図6は、ドキュメントサーバ1および端末装置2それぞれの機能的構成の例を示す図である。
ドキュメント提供用プログラム10Pによると、図6に示す画像データ記憶部101、呼出用マーカ記憶部102、コンテンツ情報記憶部103、マーカ情報選出部104、複数コンテンツ有無判別部105、送信コンテンツ決定部106、コンテンツデータ送信部107、および属性データ更新部108などがドキュメントサーバ1に実現される。
ドキュメント閲覧用プログラム20Pによると、アクセス要求部201、コンテンツ表示処理部202、および表示終了通知部203などが端末装置2に実現される。
〔データ〕
図7は、呼出用マーカ記憶部102の例を示す図である。図8は、属性データ4Bの例を示す図である。図9は、コンテンツテーブル4Cの例を示す図である。
ドキュメントサーバ1の画像データ記憶部101には、呼出用マーカ61ごとにディレクトリが設けられている。そして、呼出用マーカ61ごとのコンテンツ5の一部分または全部分を表わす画像データ4Aが、その呼出用マーカ61のディレクトリに記憶されている。
図5に例示した通り、複数のコンテンツ5が対応付けられている呼出用マーカ61がある。このような呼出用マーカ61には、コンテンツ5ごとの画像データ4Aが画像データ記憶部101に記憶されている。また、画像データ4Aには、「Content1_Body−Color1」のようなコンテンツデータ名が識別子として付されている。
呼出用マーカ記憶部102には、図7に示すように、呼出用マーカ61ごとに、その呼出用マーカ61に対応するパスが記憶されている。「パス」は、後述する属性データ4Bのパス、つまり、属性データ4Bが記憶されているディレクトリ名およびデータ名である。
コンテンツ情報記憶部103には、属性データ4Bおよびコンテンツテーブル4Cが次のように記憶されている。
図8のように、ドキュメントごとに属性データ4Bが記憶されている。属性データ4Bは、マーカ情報およびコンテンツ情報を示す。
マーカ情報には、マーカ名およびアクセス先が含まれる。「マーカ名」は、呼出用マーカ61を識別するための識別子であって、その属性データ4Bのデータ名としても用いられる。「アクセス先」は、その属性データ4Bが記憶されているディレクトリのディレクトリ名である。すなわち、マーカ情報は、その属性データ4Bのパスを表わしていると、言える。
コンテンツ情報には、コンテンツテーブル名、テーブル保存先、コンテンツデータ保存先、およびコンテンツ数の各情報が含まれる。
「コンテンツテーブル名」は、その属性データ4Bに係る呼出用マーカ61のコンテンツテーブル4Cのデータ名である。「テーブル保存先」は、そのコンテンツテーブル4Cが記憶(保存)されているディレクトリのディレクトリ名である。なお、コンテンツテーブル4Cについては、後述する。
「コンテンツデータ保存先」は、その呼出用マーカ61に対応するコンテンツ5の画像データ4Aが記憶(保存)されているディレクトリのディレクトリ名である。「コンテンツ数」は、その呼出用マーカ61に対応するコンテンツ5の個数である。厳密には、後述するメインコンテンツ591の個数である。
さらに、呼出用マーカ61ごとにコンテンツテーブル4Cがコンテンツ情報記憶部103に記憶されている。コンテンツテーブル4Cには、図9のように、その呼出用マーカ61に対応するコンテンツ5(厳密には、後述するメインコンテンツ591)ごとにレコード4Caが格納されている。各レコード4Caは、各コンテンツ5のコンテンツ番号、コンテンツ名称、コンテンツデータ名、出力先、送信状況、およびメッセージの情報を示している。
「コンテンツ番号」は、そのコンテンツ5のシーケンス番号である。「コンテンツ名称」は、コンテンツ5の名称である。
「コンテンツデータ名」は、そのコンテンツ5の画像データ4Aのコンテンツデータ名である。
コンテンツ番号、コンテンツ名称、およびコンテンツデータ名の各値は、基本的に固定されている。
「出力先」は、端末装置2A、2B、…のうちのそのコンテンツ5を現在表示している端末装置2の識別子である。識別子として、IPアドレス、MAC(Media Access Control)アドレス、またはホスト名などが用いられる。
「送信状況」は、そのコンテンツ5を端末装置2へ既に送信したか未だ送信していないかを示す。「送信済み」は、既に送信したことを意味する。「未送信」は、未だ送信していないことを意味する。
「メッセージ」は、そのコンテンツ5を構成するテキスト(文字列)のオブジェクトの1つである。
出力先、送信状況、およびメッセージは、適宜、更新される。出力先およびメッセージそれぞれの初期値は、NULL(空白)である。送信状況の初期値は、「未送信」である。
〔コンテンツ5の提供の処理〕
図10は、第一のコンテンツ決定処理の流れの例を説明するフローチャートである。図11は、コンテンツ5の画像データを生成する方法の例を説明するための図である。
ユーザは、自分の端末装置2にドキュメント閲覧用プログラム20Pを起動させる。すると、この端末装置2のアクセス要求部201が、コンテンツ5へのアクセスを要求する処理を例えば次のように実行する。
アクセス要求部201は、端末装置2のデジタルカメラ20gの動作を開始させる。これにより、所定の時間(例えば、0.1秒)ごとにデジタルカメラ20gによって撮影が行われる。
さらに、アクセス要求部201は、デジタルカメラ20gによって撮影された画像をタッチパネルディスプレイ20eに表示させるとともに、ARマーカを撮影の範囲に入れるように促すメッセージをタッチパネルディスプレイ20eに表示させる。
ここで、ユーザは、デジタルカメラ20gのピントを印刷物6の呼出用マーカ61に合わせる。
すると、端末装置2のアクセス要求部201は、撮影された画像の中から呼出用マーカ61を検出し、抽出する。そして、アクセス要求データ4Dおよび呼出用マーカ61の画像データをドキュメントサーバ1へ送信することによって、コンテンツ5へのアクセスをドキュメントサーバ1に対して要求する。
ドキュメントサーバ1において、マーカ情報選出部104は、アクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると、呼出用マーカ61に関する情報を次のように選出する。
マーカ情報選出部104は、呼出用マーカ記憶部102(図7参照)から、受信した呼出用マーカ61に対応するパスを抽出する。そして、抽出したパスの、「/」(スラッシュ)で区切られた要素のうち、最も右にある文字列を、その呼出用マーカ61のマーカ名として選出する。そして、そのパスの、マーカ名を除いた部分を、その呼出用マーカ61に対応する属性データ4B(図8参照)が記憶されているディレクトリのディレクトリ名として選出する。
複数コンテンツ有無判別部105は、端末装置2から受信された呼出用マーカ61に対応するコンテンツ5が複数であるか否かを次のように判別する。
マーカ情報選出部104によって選出されたディレクトリ名のディレクトリから、マーカ情報選出部104によって選出されたマーカ名をデータ名として有する属性データ4Bをコンテンツ情報記憶部103から読み出す。
そして、複数コンテンツ有無判別部105は、読み出した属性データ4Bにコンテンツ数として「2」以上の数が示されていれば、コンテンツ5が複数であると判別する。一方、「1」が示されていれば複数でないと判別する。
送信コンテンツ決定部106は、端末装置2へ送信すべきコンテンツ5(以下、「送信対象コンテンツ」と記載する。)を、図10に示す手順で決定する。
呼出用マーカ61に対応するコンテンツ5が複数あると複数コンテンツ有無判別部105によって判別された場合は(#701でYes)、送信コンテンツ決定部106は、この呼出用マーカ61のコンテンツテーブル4C(図9参照)をコンテンツ情報記憶部103から読み出す(#702)。なお、このコンテンツテーブル4Cを特定するには、マーカ情報選出部104によって得られた情報に対応する属性データ4Bを読み出し、この属性データ4Bに示されるテーブル保存先およびコンテンツテーブル名を参照すればよい。
送信状況が「未送信」であるレコード4Caがコンテンツテーブル4Cに1つまたは複数ある場合は(#703でYes)、送信コンテンツ決定部106は、送信対象コンテンツを、これらのレコード4Caのうち最も上位である(つまり、コンテンツ番号が最も小さい)レコード4Caに示されるコンテンツ5に決定する(#704)。
または、送信状況が「未送信」であるレコード4Caが1つもない場合は(#703でNo)、送信コンテンツ決定部106は、送信対象コンテンツを、コンテンツテーブル4Cに格納されているコンテンツテーブル4Cのうち任意のレコード4Caに示されるコンテンツ5に決定する(#705)。例えば、出力先がNULL(空白)であるレコード4Caに示されるコンテンツ5に決定する。または、コンテンツ番号が「1」であるレコード4Caに示されるコンテンツ5に決定する。
さらに、ステップ#704または#705で決定したコンテンツ5のレコード4Caのメッセージを次のように更新する(#706)。
送信コンテンツ決定部106は、そのコンテンツテーブル4Cに格納されているレコード4Caのうちの送信状況の値が「未送信」であるものの個数を計数する。ただし、ステップ#704または#705で決定したコンテンツ5のレコード4Caは、除外する。そして、所定の文字列(例えば、「残りのARコンテンツ:」)の末尾にその個数を付加した文字列を、そのレコード4Caのメッセージに書き込む。
一方、呼出用マーカ61に対応するコンテンツ5が複数でない、つまり、1つであると、複数コンテンツ有無判別部105によって判別された場合は(#701でNo)、送信コンテンツ決定部106は、送信対象コンテンツを、その1つのコンテンツ5に決定する(#707)。この場合は、端末装置2から受信した呼出用マーカ61のコンテンツテーブル4Cには、このコンテンツ5のレコード4Caのみが格納されている。よって、このレコード4Caによってこのコンテンツ5を特定することができる。
図6に戻って、コンテンツデータ送信部107は、送信コンテンツ決定部106によって送信対象コンテンツに決定したコンテンツ5を表示するためのデータを、アクセス要求データ4Dの送信元である端末装置2へ次のように送信する。
コンテンツデータ送信部107は、図11(A)のように、所定のサイズの矩形の真っ白の画像59を生成する。そのコンテンツ5の画像データ4Aを呼出用マーカ記憶部102から読み出し、図11(B)のように、その画像データ4Aに示される画像をメインコンテンツ591として画像59の上に配置する。なお、その画像データ4Aは、そのコンテンツ5のレコード4Caに示されるコンテンツデータ名および端末装置2から受信した呼出用マーカ61の属性データ4Bに示されるコンテンツデータ保存先によって特定することができる。
呼出用マーカ61に対応するコンテンツ5が複数あると複数コンテンツ有無判別部105によって判別された場合は、コンテンツデータ送信部107は、さらに、画像59の上に次のオブジェクト(テキストオブジェクト)をサブコンテンツ592〜594として配置する。
コンテンツデータ送信部107は、そのコンテンツ5のレコード4Caに示されるコンテンツ番号を示すテキストオブジェクト(文字列)、コンテンツ名称を示すテキストオブジェクト、およびメッセージを示すテキストオブジェクトを、それぞれ、サブコンテンツ592、サブコンテンツ593、およびサブコンテンツ594として画像59の上に配置する。
なお、メインコンテンツ591およびサブコンテンツ592〜594は、画像59におけるそれぞれの所定の位置に配置される。
以上のように1つまたは複数のオブジェクトを画像59に配置することによって、コンテンツ5全体の画像データ4Eが生成される。そして、コンテンツデータ送信部107は、この画像データ4Eを、アクセス要求データ4Dの送信元である端末装置2へ送信する。
端末装置2において、コンテンツ表示処理部202は、ドキュメントサーバ1から画像データ4Eを受信すると、コンテンツ5をタッチパネルディスプレイ20eに次のように表示させる。
コンテンツ表示処理部202は、デジタルカメラ20gによって撮影されタッチパネルディスプレイ20eによって表示された画像(印刷物6の画像)の中の、呼出用マーカ61の位置を検知する。そして、この位置を基準とする、撮影された画像の所定の位置に、コンテンツ5を重ねて表示させる。
ドキュメントサーバ1において、コンテンツデータ送信部107がコンテンツ5の画像データ4Eを端末装置2へ送信したことに伴って、属性データ更新部108は、そのコンテンツ5のレコード4Caを次のように更新する。
属性データ更新部108は、そのレコード4Caの出力先の値をその端末装置2の識別子に更新する。送信状況が「未送信」であれば、「送信済み」に更新する。
端末装置2において、コンテンツ5の表示の終了のコマンドをユーザが入力すると、コンテンツ表示処理部202は、コンテンツ5の表示を終了する。
さらに、表示終了通知部203は、このコマンドの入力に応じて終了通知データ4Fをドキュメントサーバ1へ送信する。
すると、ドキュメントサーバ1の属性データ更新部108は、次のようにレコード4Caを更新する。
属性データ更新部108は、終了通知データ4Fの送信元である端末装置2の識別子を示すレコード4Caを検索する。そして、そのレコード4Caの出力先およびメッセージそれぞれの値をリセットする。つまり、NULLに更新する。
なお、あるコンテンツテーブル4Cに格納されているすべてのレコード4Caの出力先がリセットされたら、属性データ更新部108は、直ちにまたは所定の時間が経過した後、これらのレコード4Caの送信状況をすべて「未送信」にリセットしてもよい。
図12は、ドキュメントサーバ1における全体的な処理の流れの例を説明するフローチャートである。
次に、ドキュメントサーバ1がコンテンツ5を提供する際の全体的な処理の流れを、フローチャートを参照しながら説明する。
ドキュメントサーバ1は、ドキュメント提供用プログラム10Pに基づいて、図12に示す処理を実行する。
ドキュメントサーバ1は、端末装置2からアクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると(図12の#11でYes)、その呼出用マーカ61に関する情報を選出する(#12)。その端末装置2へ送信すべきコンテンツ5(送信対象コンテンツ)を決定する(#13)。決定の方法は、前に図10で説明した通りである。
そして、ドキュメントサーバ1は、送信対象コンテンツの画像データ4Eを生成し(図11参照)、その端末装置2へ送信する(#14)。
送信が完了したら(#15でYes)、ドキュメントサーバ1は、送信対象コンテンツのレコード4Caの出力先を、その端末装置2の識別子を示すように更新し、さらに、送信状況が「未送信」であれば「送信済み」に更新する(#16)。
または、端末装置2から終了通知データ4Fを受信したら(#17でYes)、ドキュメントサーバ1は、その端末装置2に表示させていたコンテンツ5のレコード4Caの出力先およびメッセージをリセットする(#18)
ドキュメントサーバ1は、ドキュメントの配信のサービスを提供している間、ステップ#11〜16の処理およびステップ#17〜#18の処理を適宜、実行する。
〔複数台の端末装置2へのコンテンツ5の提供の具体例_1〕
図13は、コンテンツテーブル4Cの遷移の例を示す図である。
以上の仕組みによると、ユーザは、複数台の端末装置2のそれぞれを使用して印刷物6を撮影することによって、これらの端末装置2に異なるコンテンツ5を表示させることができる。以下、3台の端末装置2A、2B、2Cに、図5に例示した3つのコンテンツ501、502、503を、図4の印刷物6を使用することによって表示させる場合を例に説明する。
1人のユーザが端末装置2A、2B、2Cを所有し、下記の操作を行ってもよい。または、3人のユーザのそれぞれが端末装置2A、2B、2Cを1台ずつ所有しており、3人のユーザが同じ場所に集まって下記の操作を行ってもよい。以下、後者の場合を例に説明する。
これらのコンテンツ5のレコード4Caの各フィールドの各値は、図9に示す通り、初期値である。
1人目のユーザは、最初に、端末装置2Aで印刷物6を撮影する。すると、端末装置2Aは、印刷物6の画像から呼出用マーカ61を検知して抽出し、アクセス要求データ4Dおよびその呼出用マーカ61の画像データをドキュメントサーバ1へ送信する。
ドキュメントサーバ1は、これらのデータを受信すると、呼出用マーカ61に関する情報を選出し、図10に示した方法によって端末装置2Aへの送信対象コンテンツを決定する。図9に示す通り、3つのコンテンツのいずれも、未だ送信されていない。よって、ドキュメントサーバ1は、送信対象コンテンツを、コンテンツ番号が「No.1」であるコンテンツ5に決定する。
ドキュメントサーバ1は、図11に示した方法で、このコンテンツ5を表示するための画像データ4Eを生成し、端末装置2Aへ送信する。
そして、端末装置2Aは、画像データ4Eを受信し、このコンテンツ5を表示する。これにより、図5(A)のようなコンテンツ501が表示される。
ドキュメントサーバ1は、このコンテンツ5のレコード4Caを図13(A)のように更新する。
次に、2人目のユーザは、端末装置2Bで印刷物6を撮影する。すると、端末装置2Bは、印刷物6の画像から呼出用マーカ61を検知して抽出し、アクセス要求データ4Dおよびその呼出用マーカ61の画像データをドキュメントサーバ1へ送信する。
ドキュメントサーバ1は、これらのデータを受信すると、端末装置2Aからデータを受信した場合と同様の方法で、端末装置2Bへの送信対象コンテンツを決定する。ただし、ここでは、図13(A)の通り、1つ目のコンテンツ5は送信済みであり、2つ目以降のコンテンツ5が未送信である。よって、ドキュメントサーバ1は、送信対象コンテンツを、コンテンツ番号が「No.2」であるコンテンツ5に決定する。
ドキュメントサーバ1は、図11に示した方法で、このコンテンツ5を表示するための画像データ4Eを生成し、端末装置2Bへ送信する。
そして、端末装置2Bは、画像データ4Eを受信し、このコンテンツ5を表示する。これにより、図5(B)のようなコンテンツ502が表示される。
ドキュメントサーバ1は、このコンテンツ5のレコード4Caを図13(B)のように更新する。
最後に、3人目のユーザは、端末装置2Cで印刷物6を撮影する。すると、端末装置2Cは、印刷物6の画像から呼出用マーカ61を検知して抽出し、アクセス要求データ4Dおよびその呼出用マーカ61の画像データをドキュメントサーバ1へ送信する。
ドキュメントサーバ1は、これらのデータを受信すると、端末装置2Aからデータを受信した場合と同様の方法で、端末装置2Cへの送信対象コンテンツを決定する。ただし、ここでは、図13(B)の通り、1つ目のコンテンツ5および2つ目のコンテンツ5は送信済みであり、3つ目のコンテンツ5が未送信である。よって、ドキュメントサーバ1は、送信対象コンテンツを、コンテンツ番号が「No.3」であるコンテンツ5に決定する。
ドキュメントサーバ1は、図11に示した方法で、このコンテンツ5を表示するための画像データ4Eを生成し、端末装置2Cへ送信する。
そして、端末装置2Cは、画像データ4Eを受信し、このコンテンツ5を表示する。これにより、図5(C)のようなコンテンツ503が表示される。
ドキュメントサーバ1は、このコンテンツ5のレコード4Caを図13(C)のように更新する。
そして、3人のユーザは、端末装置2A〜2Cを並べ、端末装置2Aに表示されたコンテンツ501、端末装置2Bに表示されたコンテンツ502、および端末装置2Cに表示されたコンテンツ503を比較しながら、意見を交換することができる。
第一の実施形態によると、ある呼出用マーカ61に対応付けられている複数のコンテンツ5が複数の端末装置2のそれぞれへ未提供のものから優先的に送信される。よって、複数のコンテンツ5をユーザにとって従来よりも比較しやすいように提供することができる。
〔第二の実施形態〕
図14は、コンテンツ511〜514の例を示す図である。図15は、ドキュメントサーバ1および端末装置2それぞれの機能的構成の例を示す図である。
第一の実施形態では、ドキュメントサーバ1は、1つの呼出用マーカ61に対応するコンテンツ5として、1つの項目(例えば、ボディーカラーという項目)に関するコンテンツ5のみを提供した。
第二の実施形態では、ドキュメントサーバ1は、1つの呼出用マーカ61に対応するコンテンツ5として、複数の項目それぞれに関するコンテンツ5を提供する。例えば、ボディーカラーに関する、図5に示した3つのコンテンツ501、502、503、および、インテリアカラーに関する、図14に示す4つのコンテンツ511、512、513、514を、1つの呼出用マーカ61に対応するコンテンツ5として提供する。
さらに、第二の実施形態では、ある端末装置2においてコンテンツ5の切換えの操作が行われると、他の端末装置2においても、コンテンツ5の切換えが行われる。つまり、ある端末装置2におけるコンテンツ5の切換えが、他の端末装置2においても連動する。
第二の実施形態において、ドキュメント閲覧システム100の全体的な構成は、第一の実施形態と同様であり、図1に示した通りである。ドキュメントサーバ1および端末装置2それぞれのハードウェアの構成も第一の実施形態と同様であり、それぞれ、図2および図3に示した通りである。
ただし、ドキュメントサーバ1のROM10cまたは大容量記憶装置10dには、ドキュメント提供用プログラム10Pの代わりにドキュメント提供用プログラム10Qが記憶されている。
また、端末装置2のROM20cまたはフラッシュメモリ20dには、ドキュメント閲覧用プログラム20Pの代わりにドキュメント閲覧用プログラム20Qが記憶されている。
ドキュメント提供用プログラム10Qによると、図15に示す画像データ記憶部121、呼出用マーカ記憶部122、コンテンツ情報記憶部123、マーカ情報選出部124、複数コンテンツ有無判別部125、送信コンテンツ決定部126、コンテンツデータ送信部127、および属性データ更新部128などがドキュメントサーバ1に実現される。
ドキュメント閲覧用プログラム20Qによると、アクセス要求部221、コンテンツ表示処理部222、表示終了通知部223、および切換要求部224などが端末装置2に実現される。
以下、図15に示す、ドキュメントサーバ1および端末装置2の各部について説明する。第一の実施形態と重複する点については、説明を省略する。
〔データ〕
図16は、属性データ4Gの例を示す図である。図17は、コンテンツテーブル4Hの例を示す図である。
画像データ記憶部121には、画像データ記憶部101(図6参照)と同様に、呼出用マーカ61ごとのコンテンツ5のメインコンテンツ591を表わす画像データ4Aが記憶されている。
呼出用マーカ記憶部122には、第一の実施形態の呼出用マーカ記憶部102と同様に、呼出用マーカ61ごとに、その呼出用マーカ61に対応するパスが記憶されている(図7参照)。
コンテンツ情報記憶部123には、第一の実施形態のコンテンツ情報記憶部103と同様に、属性データ4B(図8参照)およびコンテンツテーブル4C(図9参照)が記憶されている。
ただし、呼出用マーカ61が複数の項目それぞれのコンテンツ5に対応する場合は、その呼出用マーカ61の属性データとして、属性データ4Bの代わりに属性データ4Gが記憶されている。属性データ4Gは、図16に示すように構成される。
属性データ4Gは、属性データ4Bと同様に、マーカ情報およびコンテンツ情報を示す。
しかし、属性データ4Gのコンテンツ情報には、コンテンツ数の代わりにコンテンツ総数が含まれる。コンテンツ総数は、その呼出用マーカ61に対応するすべての項目それぞれのコンテンツ5の総数である。例えば、ボディーカラーの3つのコンテンツ5およびインテリアカラーの4つのコンテンツ5が対応する場合は、コンテンツ総数は、「7」である。
さらに、コンテンツ情報には、項目数およびコンテンツ数_1ないしコンテンツ数_Nが含まれる。「項目数」は、その呼出用マーカ61に対応する項目の個数である。「N」は、項目数であって、「コンテンツ数_k」は項目番号が「k」であるコンテンツ5の個数である。図16の属性データ4Gは、項目数が「2」である場合の例である。
また、呼出用マーカ61が複数の項目それぞれのコンテンツ5に対応する場合は、その呼出用マーカ61のコンテンツテーブルとして、コンテンツテーブル4Cの代わりにコンテンツテーブル4Hが記憶されている。コンテンツテーブル4Hは、図17に示すように構成される。
コンテンツテーブル4Hには、コンテンツ5ごとのレコード4Haが格納されている。第一の実施形態において、レコード4Caは、コンテンツ番号のみによって、各コンテンツ5を区別していた。しかし、レコード4Haは、項目番号およびコンテンツ番号を示し、これらの番号によって区別する。
「項目番号」は、そのコンテンツテーブル4Hにおける、そのレコード4Haに係るコンテンツ5の属する項目のシーケンス番号である。「コンテンツ番号」は、その項目における、そのコンテンツ5のシーケンス番号である。
レコード4Haに示されるその他の情報は、レコード4Caに示されるものと同様であり、第一の実施形態で説明した通りである。
さらに、コンテンツ情報記憶部123には、呼出用マーカ61ごとの連動モードフラグ4Jがコンテンツ情報記憶部103に記憶されている。
連動モードフラグ4Jは、その呼出用マーカ61のコンテンツ5をユーザのジェスチャに伴って切り換える際の動作のモードを示すフラグである。
動作のモードが「連動モード」である場合は、連動モードフラグ4Jに「ON」が設定される。「連動モード」は、ある端末装置2におけるコンテンツ5の切換えに連動して他の端末装置2においてもコンテンツ5の切換えが行われる、というモードである。
一方、動作のモードが「単独モード」である場合は、連動モードフラグ4Jに「OFF」が設定される。「単独モード」は、ある端末装置2におけるコンテンツ5の切換えが、他の端末装置2へ影響を及ぼさないモードである。
なお、連動モードフラグ4Jの初期値は「ON」である。ユーザは、適宜、連動モードフラグ4Jの値を変更することができる。
〔呼出用マーカ61の撮影に伴うコンテンツ5の提供の処理〕
図18は、コンテンツ5の例を示す図である。
ユーザは、自分の端末装置2にドキュメント閲覧用プログラム20Qを起動させる。すると、アクセス要求部221は、第一の実施形態のアクセス要求部201と同様に、デジタルカメラ20gによって呼出用マーカ61を撮影し、この呼出用マーカ61の画像データとともにアクセス要求データ4Dをドキュメントサーバ1へ送信する。これにより、コンテンツ5へのアクセスの要求がなされる。
ドキュメントサーバ1において、マーカ情報選出部124は、アクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると、その呼出用マーカ61のマーカ名とコンテンツテーブル4Hが記憶されているディレクトリのディレクトリ名とを選出する。選出の方法は、第一の実施形態のマーカ情報選出部104によるマーカ名およびディレクトリ名の選出の方法と同様である。
複数コンテンツ有無判別部125は、端末装置2から受信された呼出用マーカ61に対応するコンテンツ5が複数であるか否かを判別する。判別の方法は、第一の実施形態の複数コンテンツ有無判別部105による判別の方法と同様である。ただし、呼出用マーカ61に複数の項目が対応付けられている場合は、コンテンツテーブル4Cの代わりにコンテンツテーブル4H(図17参照)が用いられる。
送信コンテンツ決定部126は、第一の実施形態の送信コンテンツ決定部106と同様に、送信対象コンテンツ(端末装置2へ送信すべきコンテンツ5)を決定する。
端末装置2から呼出用マーカ61およびアクセス要求データ4Dが送信されてきた場合は、送信コンテンツ決定部126は、基本的に、第一の実施形態と同様の方法で送信対象コンテンツを決定する。
すなわち、呼出用マーカ61の画像データおよびアクセス要求データ4Dが送信されてくるごとに、送信コンテンツ決定部126は、送信対象コンテンツを、その呼出用マーカ61に対応する未送信のコンテンツ5のうちの最上位のコンテンツ5に決定する。なお、項目番号が小さいコンテンツ5ほど、上位である。同一の項目に複数の未送信のコンテンツ5がある場合は、コンテンツ番号が小さいほうが上位である。
ただし、送信コンテンツ決定部126は、サブコンテンツ592(図11(C)参照)として、図18のような、その送信対象コンテンツのレコード4Haに示される項目番号およびコンテンツ番号を示すテキストオブジェクトを生成する。「No.1−2」は、項目番号が「1」であってコンテンツ番号が「2」であることを意味する。
さらに、送信コンテンツ決定部126は、サブコンテンツ594として、その呼出用マーカ61の属性データ4Gに示されるコンテンツ総数、項目を問わない未送信のコンテンツ5の個数、およびその送信対象コンテンツの属する項目における未送信のコンテンツ5の個数を示すテキストオブジェクト(文字列)を生成する。「5/7」は、項目を問わない未送信のコンテンツ5の個数が「5」であって属性データ4Gに示されるコンテンツ総数が「7」であることを意味する。
サブコンテンツ594は、その送信対象コンテンツのレコード4Haのメッセージのフィールドに格納される。
第二の実施形態においては、さらに、後述する項目切換要求データ4Kまたはコンテンツ切換要求データ4Lが端末装置2から送信されてきた場合にも、送信コンテンツ決定部126は、送信対象コンテンツを決定する。これについては、後述する。
コンテンツデータ送信部127は、送信コンテンツ決定部126によって送信対象コンテンツに決定したコンテンツ5を表示するための画像データ4Eを生成し、アクセス要求データ4Dの送信元である端末装置2へ送信する。画像データ4Eの生成の方法は、第一の実施形態と同様であり、図11で説明した通りである。
ただし、項目切換要求データ4Kまたはコンテンツ切換要求データ4Lに伴って画像データ4Eが生成された場合は、コンテンツデータ送信部127は、項目切換要求データ4Kまたはコンテンツ切換要求データ4Lの送信元である端末装置2へ画像データ4Eを送信する。他の端末装置2のために画像データ4Eを生成し送信することもある。これについては、後述する。
属性データ更新部128は、コンテンツ5の画像データ4Eが端末装置2へ送信されたことに伴って、そのコンテンツ5のレコード4Haを更新する。更新の仕方は、第一の実施形態におけるレコード4Caの更新の仕方と同様である。
端末装置2において、コンテンツ表示処理部222は、第一の実施形態のコンテンツ表示処理部202と同様に、ドキュメントサーバ1から画像データ4Eを受信すると、コンテンツ5をタッチパネルディスプレイ20eに表示させる。
コンテンツ5の表示の終了のコマンドをユーザが入力すると、コンテンツ表示処理部222は、第一の実施形態のコンテンツ表示処理部202と同様に、コンテンツ5の表示を終了する。
さらに、表示終了通知部223は、第一の実施形態の表示終了通知部203と同様に、終了通知データ4Fをドキュメントサーバ1へ送信する。
すると、ドキュメントサーバ1の属性データ更新部128は、レコード4Haを更新(リセット)する。更新の仕方は、第一の実施形態におけるレコード4Caの更新の仕方と同様である。
〔ユーザのジェスチャに伴うコンテンツ5の提供の処理〕
図19は、第二のコンテンツ決定処理の流れの例を説明するフローチャートである。
ユーザは、コンテンツ5が端末装置2のタッチパネルディスプレイ20eに表示されているときに、タッチパネルディスプレイ20eに対してスワイプを行うことによって、他のコンテンツ5を表示させることができる。以下、この仕組みについて説明する。また、タッチパネルディスプレイ20eに現在表示されているコンテンツ5を「カレントコンテンツ」と記載する。
他のコンテンツ5を表示させたい場合は、ユーザは、タッチパネルディスプレイ20eに対して次のようにジェスチャを行う。
カレントコンテンツの項目以外の項目に属するコンテンツ5を表示させたい場合は、ユーザは、タッチパネルディスプレイ20eを横方向(左右のいずれかの方向)へスワイプする。または、カレントコンテンツの項目に属する次のコンテンツ5を表示させたい場合は、タッチパネルディスプレイ20eを縦方向(上下のいずれかの方向)へスワイプする。
切換要求部224は、ユーザが横方向へスワイプした場合は、項目切換要求データ4Kをドキュメントサーバ1へ送信する。一方、縦方向へスワイプした場合は、コンテンツ切換要求データ4Lをドキュメントサーバ1へ送信する。なお、いずれの場合も、デジタルカメラ20gによって撮影された呼出用マーカ61を送信する。
ドキュメントサーバ1において、送信コンテンツ決定部126は、項目切換要求データ4Kまたはコンテンツ切換要求データ4Lを端末装置2から受信した場合に、この端末装置2への送信対象コンテンツを、図19に示す手順で決定する。
送信コンテンツ決定部126は、項目切換要求データ4Kまたはコンテンツ切換要求データ4Lとともに受信した呼出用マーカ61に対応する連動モードフラグ4Jの値をチェックする(#711)。
項目切換要求データ4Kを受信し(#712でYes)、かつ、連動モードフラグ4Jの値が「ON」である(つまり、動作のモードが連動モードである)場合は(#713でYes)、送信コンテンツ決定部126は、項目切換要求データ4Kとともに受信した呼出用マーカ61のコンテンツテーブル4H(図17参照)に基づいて、その呼出用マーカ61に対応するコンテンツ5を現在表示している端末装置2を特定する(#714)。このコンテンツテーブル4Hのいずれかのレコード4Haの出力先に識別子が示されている端末装置2が、コンテンツ5を現在表示している端末装置2である。
さらに、送信コンテンツ決定部126は、このコンテンツテーブル4Hに基づいて、項目切換要求データ4Kの送信元である端末装置2のカレントコンテンツが所属する項目の次の項目(以下、単に「次項目」と記載する。)を特定する(#715)。なお、カレントコンテンツが所属する項目が最後の項目である場合(項目番号が最も大きい場合)は、項目番号が「1」である項目を次項目とすればよい。
そして、送信コンテンツ決定部126は、ステップ#714で特定した端末装置2それぞれの送信対象コンテンツを、次項目のいずれか1つのコンテンツ5に決定する(#716)。すなわち、端末装置2ごとに、次項目のいずれか1つのコンテンツ5を送信対象コンテンツとして割り当てる。
ただし、同一のコンテンツ5を重複して複数台の端末装置2へ割り当てない。コンテンツ番号が連続するコンテンツ5を割り当てるのが、好ましい。例えば、端末装置2ごとに、ドキュメントサーバ1へアクセス要求データ4Dを送信した時刻を記録しておき、先にアクセス要求データ4Dを送信した端末装置2から順に、コンテンツ番号が「1」、「2」、「3」、…のコンテンツ5を割り当てるのが、好ましい。または、未送信のコンテンツ5のうちのコンテンツ番号がより小さいものから優先的に割り当ててもよい。
または、連動モードフラグ4Jの値が「OFF」である場合、つまり、動作のモードが単独モードである場合は(#713でNo)、送信コンテンツ決定部126は、項目切換要求データ4Kの送信元である端末装置2の送信対象コンテンツを次項目の任意のコンテンツ5に決定する(#717)。例えば、次項目の未送信のコンテンツ5のうちのコンテンツ番号が最も小さいものに決定してもよい。または、コンテンツ番号が「1」であるコンテンツ5に決定してもよい。他の端末装置2の送信対象コンテンツは、決定されない。
一方、コンテンツ切換要求データ4Lを受信し(#712でNo)、かつ、連動モードフラグ4Jの値が「ON」である場合は(#718でYes)、送信コンテンツ決定部126は、コンテンツ切換要求データ4Lとともに受信した呼出用マーカ61のコンテンツテーブル4Hに基づいて、その呼出用マーカ61に対応するコンテンツ5を現在表示している端末装置2を特定する(#719)。
さらに、送信コンテンツ決定部126は、このコンテンツテーブル4Hに基づいて、コンテンツ切換要求データ4Lの送信元である端末装置2のカレントコンテンツが所属する項目を特定する(#720)。そして、このコンテンツテーブル4Hに基づいて、特定した端末装置2それぞれの送信対象コンテンツを、特定した項目の、それぞれのカレントコンテンツの次のコンテンツ5に決定する(#721)。なお、カレントコンテンツが最後のコンテンツ5である場合(コンテンツ番号が最も大きい場合)は、コンテンツ番号が「1」であるコンテンツ5に決定すればよい。
例えば、特定した項目の項目番号が「2」であり、特定した端末装置2が端末装置2A、2B、および2Cであり、かつ、端末装置2A、2B、および2Cそれぞれのカレントコンテンツが、項目番号が「2」でありコンテンツ番号がそれぞれ「1」、「2」、および「3」のコンテンツ5である場合は、項目番号が「2」でありコンテンツ番号がそれぞれ「2」、「3」、および「4」であるコンテンツ5に決定する。
または、連動モードフラグ4Jの値が「OFF」である場合、つまり、動作のモードが単独モードである場合は(#718でNo)、コンテンツ切換要求データ4Lの送信元である端末装置2のカレントコンテンツが所属する項目を特定する(#722)。そして、この端末装置2の送信対象コンテンツを、特定した項目における、この端末装置2のカレントコンテンツの次のコンテンツ5に決定する(#723)。他の端末装置2の送信対象コンテンツは、決定されない。
図15に戻って、コンテンツデータ送信部127は、送信コンテンツ決定部126によって送信対象コンテンツとして決定したコンテンツ5の画像データ4Eを生成し、対応する端末装置2へ送信する。画像データ4Eの生成の方法は、図11で説明した通りである。
属性データ更新部128は、コンテンツ5の画像データ4Eの送信に応じて、そのコンテンツ5のレコード4Haを更新する。更新の方法は、第一の実施形態におけるレコード4Caの更新の方法と同様である。
端末装置2において、コンテンツ表示処理部222は、ドキュメントサーバ1から画像データ4Eを受信すると、現在表示しているコンテンツ5の表示を止め、その画像データ4Eに基づいて新たなコンテンツ5をタッチパネルディスプレイ20eに表示させる。連携モードである場合は、項目切換要求データ4Kまたはコンテンツ切換要求データ4Lの送信元以外の端末装置2においても、これらの処理が行われる。
図20は、ドキュメントサーバ1における全体的な処理の流れの例を説明するフローチャートである。
次に、第二の実施形態における、ドキュメントサーバ1がコンテンツ5を提供する際の全体的な処理の流れを、フローチャートを参照しながら説明する。
ドキュメントサーバ1は、ドキュメント提供用プログラム10Qに基づいて、図20に示す処理を実行する。
ドキュメントサーバ1は、端末装置2からアクセス要求データ4Dを受信した場合は(図20の#21でYes)、第一の実施形態と同様に、未送信でありかつレコード4Haがコンテンツテーブル4Hの上位に格納されているコンテンツ5の画像データ4Eを優先的にその端末装置2へ送信する(#22〜26)。具体的な処理は、図12のステップ#12〜#16で説明した通りである。
または、ドキュメントサーバ1は、端末装置2から項目切換要求データ4Kまたはコンテンツ切換要求データ4Lを受信した場合は(#27でYes)、送信対象コンテンツを決定し(#28)、その送信対象コンテンツの画像データ4Eを生成してその端末装置2へ送信する(#29)。
決定の方法は、前に図19で説明した通りである。この方法によると、連動モードである場合は、その端末装置2が撮影した呼出用マーカ61と同じ呼出用マーカ61とともにアクセス要求データ4Dを送信したことがある他の端末装置2への送信対象コンテンツも、決定される。そして、ステップ#29において、それぞれの送信対象コンテンツの画像データ4Eが生成され、それぞれの端末装置2へ送信される。
ドキュメントサーバ1は、送信後(#30でYes)、送信したコンテンツ5それぞれのレコード4Haを更新する(#31)。
または、ドキュメントサーバ1は、端末装置2から終了通知データ4Fを受信した場合は(#32でYes)、第一の実施形態のステップ#18と同様に、その端末装置2に表示させていたコンテンツ5のレコード4Haの出力先およびメッセージをリセットする(#33)。
ドキュメントサーバ1は、ドキュメントの配信のサービスを提供している間、ステップ#21〜26の処理、ステップ#27〜#31の処理、およびステップ#32〜#33の処理を適宜、実行する。
〔複数台の端末装置2へのコンテンツ5の提供の具体例_2〕
図21、図22、および図23は、コンテンツテーブル4Hの例を示す図である。
以上の仕組みによると、ユーザは、複数台の端末装置2を使用して、ある項目の複数のコンテンツ5を閲覧することができる。さらに、1回の操作によって複数台の端末装置2のコンテンツ5を纏めて他のコンテンツ5に切り換えることができる。
以下、3台の端末装置2A、2B、2Cのそれぞれに、ボディーカラーの3つのコンテンツ5としてコンテンツ501、502、503(図5参照)が表示されているときに、インテリアカラーのコンテンツ5としてコンテンツ511、512、513(図14参照)に切り換える場合を例に、説明する。なお、本例では、1つの呼出用マーカ61に複数の項目のコンテンツ5が対応付けられているので、コンテンツ501〜503それぞれにおけるサブコンテンツ592の文字列およびサブコンテンツ594の文字列が、第一の実施形態とは異なる。
これらのコンテンツ5のレコード4Haの各フィールドの各値は、コンテンツ501、502、および503が表示される前は、図17に示す通り、初期値である。その後、コンテンツ501、502、および503がそれぞれ端末装置2A、2B、および2Cで表示されると、これらのコンテンツ5のレコード4Haが図21のように更新される。
連動モードフラグ4Jの値は、「ON」である。つまり、連動モードがドキュメントサーバ1に設定されている。
ユーザは、いずれかの端末装置2のタッチパネルディスプレイ20eを横方向へスワイプする。以下、端末装置2Aのタッチパネルディスプレイ20eをスワイプした場合を例に説明する。
端末装置2Aは、横方向へスワイプされると、項目切換要求データ4Kをドキュメントサーバ1へ送信する。このときに、コンテンツ501を取得する際に撮影した呼出用マーカ61の画像データも、ドキュメントサーバ1へ送信する。
すると、ドキュメントサーバ1は、呼出用マーカ61に関する情報を選出する。図19に示した方法によって、その呼出用マーカ61に対応するコンテンツ5を現在表示している端末装置2を特定し、端末装置2それぞれの送信対象コンテンツを決定する。
これらの処理によると、本例では、端末装置2A、2B、および2Cが特定され、端末装置2A、2B、および2Cそれぞれの送信対象コンテンツが決定される。また、次項目(インテリアカラー)のいずれのコンテンツ5も未送信なので、コンテンツ番号が小さいコンテンツ5(「1」、「2」、「3」のコンテンツ5)の順に、送信対象コンテンツとして決定される。
ドキュメントサーバ1は、これら3つのコンテンツ5それぞれを表示するための画像データ4Eを生成する。そして、1つ目の画像データ4Eを端末装置2Aへ送信し、2つ目の画像データ4Eを端末装置2Bへ送信し、3つ目の画像データ4Eを端末装置2Cへ送信する。
端末装置2A、2B、2Cのそれぞれは、ドキュメントサーバ1から画像データ4Eを受信し、コンテンツ5を表示する。これにより、端末装置2Aには、図14(A)のようなコンテンツ511が表示される。端末装置2Bには、図14(B)のようなコンテンツ512が表示される。端末装置2Cには、図14(C)のようなコンテンツ513が表示される。
ドキュメントサーバ1は、今回の切り換えに応じて、各レコード4Caを図22のように更新する。
ユーザは、次に、いずれかの端末装置2のタッチパネルディスプレイ20eを縦方向へスワイプする。以下、端末装置2Aのタッチパネルディスプレイ20eをスワイプした場合を例に説明する。
端末装置2Aは、縦方向へスワイプされると、コンテンツ切換要求データ4Lをドキュメントサーバ1へ送信する。このときに、コンテンツ501を取得する際に撮影した呼出用マーカ61の画像データも、ドキュメントサーバ1へ送信する。
すると、ドキュメントサーバ1は、呼出用マーカ61に関する情報を選出する。図19に示した方法によって、その呼出用マーカ61に対応するコンテンツ5を現在表示している端末装置2を特定し、それぞれの送信対象コンテンツを決定する。
これらの処理によると、本例では、端末装置2A、2B、および2Cが特定され、端末装置2A、2B、および2Cそれぞれの送信対象コンテンツが決定される。今回は、コンテンツ切換要求データ4Lが受信されたので、現在の項目(インテリアカラー)における、端末装置2A、2B、および2Cそれぞれに表示されているコンテンツ5の次のコンテンツ5が送信対象コンテンツとして決定される。
ドキュメントサーバ1は、これら3つのコンテンツ5それぞれを表示するための画像データ4Eを生成する。そして、1つ目の画像データ4Eを端末装置2Aへ送信し、2つ目の画像データ4Eを端末装置2Bへ送信し、3つ目の画像データ4Eを端末装置2Cへ送信する。
端末装置2A、2B、2Cのそれぞれは、ドキュメントサーバ1から画像データ4Eを受信し、コンテンツ5を表示する。これにより、端末装置2Aには、図14(B)のようなコンテンツ512が表示される。端末装置2Bには、図14(C)のようなコンテンツ513が表示される。端末装置2Cには、図14(D)のようなコンテンツ514が表示される。ただし、いずれのコンテンツ5にも、サブコンテンツ594として「残りのARコンテンツ:0/7 項目2の残り:0」のテキストオブジェクトが配置される。
ドキュメントサーバ1は、今回の切り換えに応じて、各レコード4Caを図23のように更新する。
第二の実施形態によると、ある呼出用マーカ61に対応付けられている複数のコンテンツ5が複数の項目に分類されている場合であっても、ユーザにとって従来よりも比較しやすいように提供することができる。
〔第三の実施形態〕
図24は、ドキュメントサーバ1および端末装置2それぞれの機能的構成の例を示す図である。
第一の実施形態および第二の実施形態では、3台の端末装置2が1つのグループを形成し、共通の呼出用マーカ61に対応する複数のコンテンツ5を表示した。
しかし、複数のグループをそれぞれ独立して取り扱って、複数のコンテンツ5を表示させたい場合がある。
第三の実施形態によると、ドキュメントサーバ1は、複数のグループのそれぞれへコンテンツ5を提供する。
第三の実施形態において、ドキュメント閲覧システム100の全体的な構成は、第一の実施形態または第二の実施形態と同様であり、図1に示した通りである。ドキュメントサーバ1および端末装置2それぞれのハードウェアの構成も第一の実施形態または第二の実施形態と同様であり、それぞれ、図2および図3に示した通りである。
ただし、ドキュメントサーバ1のROM10cまたは大容量記憶装置10dには、ドキュメント提供用プログラム10Rが記憶されている。
ドキュメント提供用プログラム10Rは、第一の実施形態の方法によって端末装置2へコンテンツ5を提供するためのプログラムである。さらに、ドキュメント提供用プログラム10Rによると、複数のグループへそれぞれ独立してコンテンツ5を提供することができる。
ドキュメント提供用プログラム10Rによると、図24に示す画像データ記憶部131、呼出用マーカ記憶部132、コンテンツ情報記憶部133、マーカ情報選出部134、複数コンテンツ有無判別部135、送信コンテンツ決定部136、コンテンツデータ送信部137、属性データ更新部138、テーブル選択部139、および設定処理部130などがドキュメントサーバ1に実現される。
端末装置2のROM20cまたはフラッシュメモリ20dには、ドキュメント閲覧用プログラム20Rが記憶されている。
ドキュメント閲覧用プログラム20Rによると、アクセス要求部231、コンテンツ表示処理部232、表示終了通知部233、および回答処理部234などが端末装置2に実現される。
以下、図24に示す、ドキュメントサーバ1および端末装置2の各部について説明する。第一の実施形態と重複する点については、説明を省略する。
〔データ〕
図25は、コンテンツテーブル4Mの例を示す図である。図26は、グループ参加制限データ4Nの例を示す図である。図27は、設定用ページ7Aの例を示す図である。
画像データ記憶部131、呼出用マーカ記憶部132、およびコンテンツ情報記憶部133の機能は、それぞれ、第一の実施形態の画像データ記憶部101、呼出用マーカ記憶部102、およびコンテンツ情報記憶部103(図6参照)の機能と基本的に同様である。
ただし、コンテンツ情報記憶部133は、呼出用マーカ61ごとに、コンテンツテーブル4C(図9参照)の代わりに図25に示すコンテンツテーブル4Mを記憶する。しかも、コンテンツテーブル4Mをグループごとに記憶する。なお、初期においては、コンテンツ情報記憶部133には、コンテンツテーブル4Mが記憶されていない。後述するテーブル選択部139によって必要に応じてコンテンツテーブル4Mが生成される。
コンテンツテーブル4Mには、コンテンツ5ごとのレコード4Maが格納されている。レコード4Maには、レコード4Caと同様の情報が示されている。さらに、レコード4Maには、接続開始日時および接続終了日時が示されている。初期値は、ともに「NULL」である。接続開始日時および接続終了日時については、後述する。
また、各コンテンツテーブル4Mには、それが割り当てられているグループのグループ名が対応付けられている。
さらに、コンテンツ情報記憶部133には、呼出用マーカ61ごとに、図26のようなグループ参加制限データ4Nが記憶されている。
グループ参加制限データ4Nは、その呼出用マーカ61のグループへの端末装置2の参加の制限を示す。
ところで、後述するように、ある呼出用マーカ61のグループへの端末装置2の参加は、その端末装置2からアクセス要求データ4Dおよびその呼出用マーカ61の画像データが送信されてきた場合に行われる。その呼出用マーカ61のグループへのその端末装置2の参加に関して、ドキュメントサーバ1には、次のように規定されている。
(1) その呼出用マーカ61のグループが未だ1つもない場合は、その呼出用マーカ61の新たなグループを生成し、その端末装置2をそのグループへ参加させる。
(2) アクセス要求データ4Dなどを受信した時点で、他の端末装置2からアクセス要求データ4Dおよびその呼出用マーカ61の画像データが最後に送信されてきてから所定の時間(以下、「リミット時間T1」と記載する。)が未だ経過していない場合は、その端末装置2を当該他の端末装置2が参加しているグループへ参加させる。
(3) ただし、例外として、上記(2)においてリミット時間T1を経過した場合であっても、予め決められた、そのグループに既に参加している他の端末装置2(以下、「許可用端末装置」と記載する。)によって許可された場合は、その端末装置2をそのグループへ参加させる。
(4) 上記(1)〜(3)のいずれにも該当しない場合は、その呼出用マーカ61の新たなグループを生成し、その端末装置2をそのグループへ参加させる。
グループ参加制限データ4Nは、その呼出用マーカ61のコンテンツの提供者またはドキュメントサーバ1の管理者によって設定される。ここで、ある呼出用マーカ61の設定のための処理および操作の一例を説明する。
提供者または管理者は、タブレットコンピュータなどのコンピュータ(以下、「管理用コンピュータ」と記載する。)のウェブブラウザへドキュメントサーバ1の所定のウェブページのURLを入力する。すると、その管理用コンピュータは、そのウェブページをドキュメントサーバ1へ要求する。
ドキュメントサーバ1において、設定処理部130は、その管理用コンピュータからの要求を受け付けると、図27のような設定用ページ7Aを表示するためのデータをその管理用コンピュータへ送信する。
すると、その管理用コンピュータは、設定用ページ7Aを表示する。ここで、ユーザは、次のように入力および選択を行う。
ユーザは、テキストボックス7A1にリミット時間T1を入力する。グループに最初に参加した端末装置2のみを許可用端末装置とする場合は、ラジオボタン7A2を選択する。グループに参加しているすべての端末装置2を許可用端末装置とする場合は、ラジオボタン7A3を選択する。いずれの端末装置2も許可用端末装置にしない場合(つまり、上記(4)の例外を一切適用しない場合)は、ラジオボタン7A4を選択する。そして、設定ボタン7A5を押す。
すると、その管理用コンピュータは、ドキュメントサーバ1へグループ参加制限データ4Nおよび呼出用マーカ61の画像データをドキュメントサーバ1へ送信する。グループ参加制限データ4Nには、例外属性およびテキストボックス7A1に入力されたリミット時間T1が示される。ラジオボタン7A2が選択された場合は、例外属性として「1」が示され、ラジオボタン7A3が選択された場合は、例外属性として「2」が示され、ラジオボタン7A4が選択された場合は、例外属性として「3」が示される。
設定処理部130は、グループ参加制限データ4Nおよび呼出用マーカ61の画像データを受信すると、このグループ参加制限データ4Nをこの呼出用マーカ61のコンテンツテーブル4Mのコンテンツテーブル名に対応付けてコンテンツ情報記憶部133に記憶させる。
〔コンテンツ5の提供の処理〕
図28は、テーブル選択処理の流れの例を説明するフローチャートである。
ユーザは、自分の端末装置2にドキュメント閲覧用プログラム20Rを起動させる。すると、この端末装置2のアクセス要求部231が、第一の実施形態のアクセス要求部201と同様に、アクセス要求データ4Dを、デジタルカメラ20gによって撮影した呼出用マーカ61の画像データとともにドキュメントサーバ1へ送信する。これにより、コンテンツ5へのアクセスの要求がなされる。
ドキュメントサーバ1において、マーカ情報選出部134は、アクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると、第一の実施形態のマーカ情報選出部104と同様に、その呼出用マーカ61のマーカ名とコンテンツテーブル4Cが記憶されているディレクトリのディレクトリ名とを選出する。
複数コンテンツ有無判別部135は、端末装置2から受信された呼出用マーカ61に対応するコンテンツ5が複数であるか否かを判別する。判別の方法は、第一の実施形態の複数コンテンツ有無判別部105による判別の方法と同様である。
テーブル選択部139は、呼出用マーカ61の送信元である端末装置2の送信対象コンテンツを決定するために使用するコンテンツテーブル4Mを選択する。以下、端末装置2Aが送信元である場合を例に、テーブル選択部139による処理を、図28を参照しながら説明する。
テーブル選択部139は、その呼出用マーカ61のいずれかのコンテンツテーブル4Mのいずれかのレコード4Maに出力先として端末装置2Aの識別子が示される場合は(図28の#731でYes)、そのレコード4Maが格納されているコンテンツテーブル4Mを選択する(#732)。
いずれのコンテンツテーブル4Mのいずれのレコード4Maにも出力先として端末装置2Aの識別子が示されない場合は(#731でNo)、テーブル選択部139は、その呼出用マーカ61のすべてのコンテンツテーブル4Mからの、接続開始日時が最近の(最も新しい)レコード4Maの抽出を試みる(#733)。
レコード4Maを抽出することができた場合は(#734でYes)、テーブル選択部139は、現在の日時が、抽出したレコード4Maに示される接続開始日時からリミット時間T1を未だ経過していなければ(#735でNo)、そのレコード4Maが格納されているコンテンツテーブル4Mを選択する(#739)。なお、リミット時間T1は、その呼出用マーカ61のグループ参加制限データ4N(図26参照)に設定されている。
一方、リミット時間T1を既に経過している場合は(#735でYes)、テーブル選択部139は、そのグループ参加制限データ4Nに示される例外属性に応じて次のように処理を行う。
例外属性に「3」が示されていれば(#736でNo)、テーブル選択部139は、新たなグループを生成する(#740)。この際に、新たなグループ名を発行する。さらに、新たなコンテンツテーブル4Mを生成し、発行したグループ名とともに、その呼出用マーカ61の属性データ4Bに示されるコンテンツテーブル名を対応付けて、コンテンツ情報記憶部133に登録(保存)する(#741)。そして、このコンテンツテーブル4Mを選択する(#742)。
例外属性に「1」または「2」が示されていれば(#736でYes)、ステップ#733で抽出したレコード4Maが格納されているコンテンツテーブル4Mのグループに既に参加している他の端末装置2に対して、端末装置2Aをこのグループへ参加させてもよいか否かを問い合わせる(#737)。
ただし、テーブル選択部139は、例外属性に「1」が示されている場合は、そのコンテンツテーブル4Mに格納されているレコード4Maのうち接続開始日時が最も古いレコード4Maの出力先に示される端末装置2のみに対して問い合わせる。例外属性に「2」が示されている場合は、コンテンツテーブル4Mに格納されているレコード4Maそれぞれの出力先に示される端末装置2に対して問い合わせる。いずれの場合も、問合せ先である端末装置2が、上述の許可用端末装置となる。テーブル選択部139は、問合せの際に、問合データ4Pを各許可用端末装置へ送信する。
許可用端末装置(端末装置2)は、ドキュメントサーバ1から問合データ4Pを受信すると、端末装置2Aをグループへ参加させてもよいか否かを選択するためのダイアログボックスを表示する。ユーザは、参加を許可するか否かを選択する。すると、許可用端末装置は、選択の結果を示す選択結果データ4Qをドキュメントサーバ1へ送信する。
そして、テーブル選択部139は、いずれか1台の端末装置2から、許可する旨を示す選択結果データ4Qを受信すると(#738でYes)、ステップ#732で抽出したレコード4Maが格納されているコンテンツテーブル4Mを選択する(#739)。
いずれの端末装置2からも、許可する旨を示す選択結果データ4Qを受信しなかった場合は(#738でNo)、テーブル選択部139は、新たなコンテンツテーブル4Mを生成しグループ名を発行し(#740)、発行したグループ名とともに、その呼出用マーカ61の属性データ4Bに示されるコンテンツテーブル名を対応付けて、コンテンツ情報記憶部133に登録(保存)する(#741)。そして、テーブル選択部139は、このコンテンツテーブル4Mを選択する(#742)。
テーブル選択部139は、その呼出用マーカ61のコンテンツテーブル4Mが1つもない場合など、ステップ#733においてレコード4Maを抽出することができなかった場合(#734でNo)も同様に、ステップ#740〜#742の処理を実行する。
図24に戻って、送信コンテンツ決定部136は、第一の実施形態の送信コンテンツ決定部106と同様に、呼出用マーカ61の送信元である端末装置2の送信対象コンテンツを、図10に示す手順によって判別する。ただし、送信コンテンツ決定部136は、コンテンツテーブル4Cの代わりに、その端末装置2のためにテーブル選択部139によって選択されたコンテンツテーブル4Mが用いられる。
コンテンツデータ送信部137は、送信コンテンツ決定部136によって送信対象コンテンツに決定したコンテンツ5の画像データ4Eを生成し、アクセス要求データ4Dの送信元である端末装置2へ次のように送信する。画像データ4Eの生成の方法は、第一の実施形態のコンテンツデータ送信部107における生成の方法と同様であり、図11で説明した通りである。ただし、コンテンツテーブル4Cの代わりにテーブル選択部139によって選択されたコンテンツテーブル4Mが使用される。
属性データ更新部138は、コンテンツデータ送信部137がコンテンツ5の画像データ4Eを端末装置2へ送信したことに伴って、そのコンテンツ5のレコード4Haを更新する。更新の仕方は、第一の実施形態の属性データ更新部108によるレコード4Caの更新の仕方と基本的に同様である。
属性データ更新部138は、さらに、接続開始日時を、その端末装置2がドキュメントサーバ1へ接続した日時に更新する。または、その端末装置2からアクセス要求データ4Dを受信した日時に更新してもよい。
端末装置2において、画像データ4Eがドキュメントサーバ1から送信されてくると、コンテンツ表示処理部232は、第一の実施形態のコンテンツ表示処理部202と同様に、コンテンツ5をタッチパネルディスプレイ20eに表示させる。
コンテンツ5の表示の終了のコマンドが入力されると、コンテンツ表示処理部232は、第一の実施形態のコンテンツ表示処理部202と同様に、コンテンツ5の表示を終了する。
さらに、表示終了通知部233は、第一の実施形態の表示終了通知部203と同様に、終了通知データ4Fをドキュメントサーバ1へ送信する。
すると、ドキュメントサーバ1の属性データ更新部138は、そのコンテンツ5のレコード4Maの出力先およびメッセージそれぞれの値をリセットする。リセットの方法は、第一の実施形態の属性データ更新部108によるレコード4Caの出力先およびメッセージそれぞれの値のリセットの仕方と同様である。
属性データ更新部138は、さらに、このレコード4Maの接続終了時刻を、終了通知データ4Fを受信した日時に更新する。
図29は、ドキュメントサーバ1における全体的な処理の流れの例を説明するフローチャートである。
次に、第三の実施形態における、ドキュメントサーバ1がコンテンツ5を提供する際の全体的な処理の流れを、フローチャートを参照しながら説明する。
ドキュメントサーバ1は、ドキュメント提供用プログラム10Rに基づいて、図29に示す処理を実行する。
ドキュメントサーバ1は、端末装置2からアクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると(図29の#41でYes)、その呼出用マーカ61に関する情報を選出する(#42)。その端末装置2のグループを決定しそのグループのコンテンツテーブル4Mを選択する(#43)。決定および選択の処理の手順は、前に図28で説明した通りである。
さらに、ドキュメントサーバ1は、選択したコンテンツテーブル4Mを使用して、その端末装置2へ送信すべきコンテンツ5(送信対象コンテンツ)を決定する(#44)。決定の方法は、前に図10で説明した通りである。
そして、ドキュメントサーバ1は、送信対象コンテンツの画像データ4Eを生成し、その端末装置2へ送信する(#45)。
送信が完了したら(#46でYes)、ドキュメントサーバ1は、送信対象コンテンツのレコード4Maの出力先を、その端末装置2の識別子を示すように更新し、接続開始時刻を現在の時刻に更新し接続終了時刻を「接続中」に更新する。さらに、送信状況が「未送信」であれば「送信済み」に更新する(#47)。
または、端末装置2から終了通知データ4Fを受信したら(#48でYes)、ドキュメントサーバ1は、その端末装置2に表示させていたコンテンツ5のレコード4Maの出力先およびメッセージをリセットするとともに、接続終了時刻を現在の時刻に更新する(#49)。
ドキュメントサーバ1は、ドキュメントの配信のサービスを提供している間、ステップ#41〜47の処理およびステップ#48〜#50の処理を適宜、実行する。
〔複数台の端末装置2へのコンテンツ5の提供の具体例_3〕
図30は、コンテンツテーブル4M1の例を示す図である。図31は、コンテンツテーブル4M2の例を示す図である。
以上の仕組みによると、ドキュメントサーバ1は、複数のグループそれぞれにコンテンツ5を提供することができる。ここで、グループの遷移の一例を、ある呼出用マーカ61に対応するコンテンツ5としてコンテンツ501〜503(図5参照)を提供する場合を例に、図30および図31を参照しながら説明する。また、この呼出用マーカ61のグループ参加制限データ4N(図26参照)には、リミット時間T1として「20分」が設定されているものとする。
ドキュメントサーバ1は、アクセス要求データ4Dおよびその呼出用マーカ61の画像データを端末装置2Aから受信する。この時点では、いずれの端末装置2へも未だいずれのコンテンツ501〜503も提供されていない。よって、グループが未だ1つも生成されていない。
そこで、ドキュメントサーバ1は、新たなグループを生成し、「グループ01」というグループ名を発行し、新たなコンテンツテーブル4Mとして、コンテンツテーブル4M1を生成する。そして、端末装置2Aをこのグループに参加させ、端末装置2Aへコンテンツ501の画像データ4Eを送信する。
ドキュメントサーバ1は、送信に伴って、コンテンツテーブル4M1のコンテンツ501のレコード4Maを図30(A)のように更新する。
ドキュメントサーバ1は、端末装置2Aからアクセス要求データ4Dなどを受信した後、リミット時間T1が経過するまでに端末装置2Bからアクセス要求データ4Dおよびその呼出用マーカ61の画像データを受信する。
すると、ドキュメントサーバ1は、端末装置2Bを、端末装置2Aと同じグループに参加させる。そして、端末装置2Bへ次のコンテンツ5すなわちコンテンツ502の画像データ4Eを送信する。
ドキュメントサーバ1は、送信に伴って、コンテンツテーブル4M1のコンテンツ502のレコード4Maを図30(B)のように更新する。
ドキュメントサーバ1は、端末装置2Bからアクセス要求データ4Dなどを受信した後、リミット時間T1が経過してから端末装置2Dからアクセス要求データ4Dおよびその呼出用マーカ61の画像データを受信する。
すると、その呼出用マーカ61のグループ参加制限データ4Nに例外属性として「1」または「2」が設定されている場合は、ドキュメントサーバ1は、「グループ01」のグループへ端末装置2Dを参加させてもよいか否かを、問合データ4Pを送信することによって許可用端末装置へ問い合わせる。
許可用端末装置から受信した選択結果データ4Qに許可する旨が示されている場合は、ドキュメントサーバ1は、端末装置2Dをこのグループへ参加させるとともに、次のコンテンツ5すなわちコンテンツ503の画像データ4Eを端末装置2Dへ送信する。しかし、ここでは、許可しない旨の回答を受信したものとする。
そこで、ドキュメントサーバ1は、新たなグループを生成し、「グループ02」というグループ名を発行し、新たなコンテンツテーブル4Mとして、コンテンツテーブル4M2を生成する。そして、端末装置2Dをこのグループに参加させ、端末装置2Dへコンテンツ501の画像データ4Eを送信する。例外属性として「3」が設定されている場合も、同様である。
ドキュメントサーバ1は、送信に伴って、コンテンツテーブル4M2のコンテンツ501のレコード4Maを図31(A)のように更新する。
ドキュメントサーバ1は、さらに、端末装置2Dからアクセス要求データ4Dなどを受信した後、リミット時間T1が経過するまでに端末装置2Eからアクセス要求データ4Dおよびその呼出用マーカ61の画像データを受信する。
すると、ドキュメントサーバ1は、端末装置2Eを、端末装置2Dと同じグループに参加させる。そして、端末装置2Eへ次のコンテンツ5すなわちコンテンツ502の画像データ4Eを送信する。
ドキュメントサーバ1は、送信に伴って、コンテンツテーブル4M2のコンテンツ502のレコード4Maを図31(B)のように更新する。
第三の実施形態によると、複数のグループのそれぞれに対して独立してコンテンツ5を提供することができる。
〔変形例_1〕
図32は、操作割当データ4Rの例を示す図である。
第二の実施形態では、ドキュメントサーバ1は、端末装置2においてタッチパネルディスプレイ20eが縦方向へスワイプされると、カレントコンテンツの項目に属する次のコンテンツ5を提供した。横方向へスワイプされると、カレントコンテンツの項目の次の項目に属するコンテンツ5を提供した。
ドキュメントサーバ1は、さらに、端末装置2に対する種々の操作に応じてコンテンツ5を様々に提供してもよい。
例えば、ドキュメントサーバ1は、タッチパネルディスプレイ20eが上方向へスワイプされると、カレントコンテンツの項目に属する次のコンテンツ5を提供し、下方向へスワイプされると、カレントコンテンツの項目に属する1つ前のコンテンツ5を提供してもよい。または、右方向へスワイプされると、カレントコンテンツの項目の次の項目に属するコンテンツ5を提供し、左方向へスワイプされると、カレントコンテンツの項目の1つ前の項目に属するコンテンツ5を提供してもよい。
または、ドキュメントサーバ1は、端末装置2が上下方向にシェイクされると、カレントコンテンツの項目に属する次のコンテンツ5をその端末装置2へ提供してもよい。また、端末装置2が左右方向にシェイクされると、カレントコンテンツの項目に属する次のコンテンツ5をその端末装置2へ提供してもよい。または、上下方向へのシェイクは、問合データ4Pを受信した際の、グループへの他の端末装置2の参加を許可の入力の操作に設定し、左右方向へのシェイクは、不許可の入力の操作に設定してもよい。なお、シェイクしたり傾けたりする操作は、加速度センサ20jによって検知される。
端末装置2を、上、下、左、および右のそれぞれに傾ける操作についても、どのような処理を行うのかを適宜、割り当ててもよい。
割当ては、ドキュメントサーバ1において、図32に示す操作割当データ4Rによって管理すればよい。そして、ドキュメントサーバ1は、操作割当データ4Rに基づいて処理を行えばよい。操作割当データ4Rの各値は、ユーザが適宜、変更することができる。
〔変形例_2〕
第三の実施形態では、ドキュメントサーバ1は、グループへの端末装置2の参加を主に時間に基づいて決定したが、端末装置2の現在地に基づいて決定してもよい。
例えば、複数の店舗を有する自動車のディーラが、ある呼出用マーカ61のコンテンツ5を提供する場合において、ドキュメントサーバ1は、次のように処理を行えばよい。
予め、店舗ごとにコンテンツテーブル4M(図25参照)をドキュメントサーバ1に用意しておき、店舗の名称をグループ名として対応付けておく。
ドキュメントサーバ1は、端末装置2からアクセス要求データ4Dだけでなく、その端末装置2の現在地を示す現在地データを受信する。その端末装置2が現在、どの店舗に所在しているのかを、受信した現在地データに基づいて判別する。
なお、端末装置2は、現在地データを、予め端末装置2にインストールされているGPS(Global Positioning System)アプリケーションまたは市販のアプリケーションによって生成すればよい。このようなアプリケーションがインストールされていない場合は、ドキュメントサーバ1が端末装置2へ提供すればよい。
ドキュメントサーバ1は、判別した店舗のグループに、その端末装置2を参加させる。そして、そのグループのコンテンツテーブル4Mを使用して、その端末装置2の送信対象コンテンツを決定し、画像データ4Eを生成し、その端末装置2へ送信する。
なお、現在地に基づいて端末装置2のグループを決定する方法を第三の実施形態の時間に基づいて決定する方法と組み合わせ、1つの店舗に複数のグループを設け、グループごとに独立してコンテンツ5を提供できるようにドキュメントサーバ1を構成してもよい。
〔変形例_3〕
または、ドキュメントサーバ1は、互いに近隣に位置する複数台の端末装置2を1つのグループにグループ化し、グループごとにコンテンツテーブル4Mを生成してもよい。
ドキュメントサーバ1は、端末装置2からアクセス要求データ4Dだけでなく周辺デバイスデータを受信する。周辺デバイスデータには、その端末装置2の近距離無線通信装置20iが検知する他の端末装置2の識別子が示されている。近距離無線通信装置20iがBluetoothに対応するものである場合は、識別子として「AA:BB:CC:DD:EE:FF」のような12桁のアドレスが用いられる。
ドキュメントサーバ1は、周辺デバイスデータを端末装置2から受信するごとに、その周辺デバイスデータに、既にアクセス要求データ4Dを送信してきた他の端末装置2の識別子が示されているか否かをチェックする。
そして、ドキュメントサーバ1は、他のいずれの端末装置2の識別子も示されていなければ、新たなグループおよびそのコンテンツテーブル4Mを生成し、そのグループへその端末装置2を参加させる。一方、他のいずれかの端末装置2の識別子が示されていれば、当該他の端末装置2のグループへその端末装置2を参加させる。
〔変形例_4〕
図33は、グループ変更ボタン71とともに表示するコンテンツ5の例を示す図である。図34は、グループ変更画面72の例を示す図である。
第三の実施形態において、端末装置2を参加させるグループを、例えば次のようにユーザに選択させてもよい。以下、端末装置2Cを、現在のグループから他のグループに変更する場合を例に説明する。
ドキュメントサーバ1は、端末装置2Cからアクセス要求データ4Dおよび呼出用マーカ61の画像データを受信すると、画像データ4Eとして、コンテンツ5に加えてグループ変更ボタン71を表示するための画像データを、端末装置2Cへ送信する。
端末装置2Cは、画像データ4Eを受信すると、図33のように、コンテンツ5およびグループ変更ボタン71が配置された画面を表示する。
ここで、ユーザがグループ変更ボタン71を押すと、端末装置2Cは、グループの一覧をドキュメントサーバ1へ要求する。
すると、ドキュメントサーバ1は、図34に示すグループ変更画面72の画像データを端末装置2Cへ送信する。グループ変更画面72には、端末装置2Cが現在参加しているグループのグループ名とともに、その呼出用マーカ61の他のグループのグループ名およびラジオボタン721などが配置されている。
端末装置2Cは、この画像データを受信すると、グループ変更画面72を表示する。ここで、ユーザは、端末装置2Cを参加させたいグループのラジオボタン721を選択する。そして、参加ボタン722を押す。
すると、端末装置2Cは、選択されたラジオボタン721に対応するグループをドキュメントサーバ1へ通知する。
そして、ドキュメントサーバ1は、通知されたグループへ端末装置2Cを参加させ、そのグループのコンテンツテーブル4Mに基づいて端末装置2Cの送信対象コンテンツを決定し、その送信対象コンテンツの画像データ4Eを端末装置2Cへ送信する。
〔その他の変形例〕
本実施形態では、呼出用マーカ61としてARマーカを使用したが、QR(Quick Response)コード(登録商標)など他の規格の画像を使用してもよい。
呼出用マーカ61としてQRコードを使用する場合は、呼出用マーカ61に対応するパス(図7参照)を呼出用マーカ記憶部102に記憶させず、このパスを呼出用マーカ61に埋め込んでもよい。そして、ドキュメントサーバ1は、呼出用マーカ61を端末装置2から受信すると、呼出用マーカ61を解析することによって、パスを取得すればよい。
ドキュメントサーバ1は、コンテンツ5として、動画像または音声などのコンテンツを端末装置2へ提供してもよい。
本実施形態では、第二の実施形態において、コンテンツ5が2つの項目のうちのいずれかに分類される場合を例に説明したが、3つ以上の項目のうちのいずれかに分類される場合においても、本発明を適用することができる。
その他、ドキュメント閲覧システム100、ドキュメントサーバ1、端末装置2の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。