(57)【要約】 【課題】  時間が経過しても各表示装置に表示される動画像の同期を維持することができる多画面表示システムおよびその表示方法を提供する。【解決手段】  主クライアントであるクライアントＡ２０Ａは、タイムスタンプを受信するマルチキャストＩＰ／ポート番号を、分割ファイルを再生する副クライアントに通知する。クライアントＡ２０Ａは、再生するコンテンツのＰＣＲ／ＳＣＲのタイムスタンプをマルチキャストＩＰ／ポートで送信する。分割ファイルを再生する主クライアントおよび副クライアントは、主クライアントから送信されるタイムスタンプをマルチキャストＩＰ／ポートから受信し、受信したタイムスタンプと、自クライアントの記録部２３に記憶されている再生すべきコンテンツの各フレームのタイムスタンプとを比較し、受信したタイムスタンプと同じタイムスタンプを持つフレームを再生する。【選択図】      図１
2008096756.tif 000002
【特許請求の範囲】
【請求項１】
予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報を記憶する記憶手段と、記憶手段から動画像情報を読み出して画像として表示再生する表示手段と、表示再生すべき動画像情報から時系列順にタイミング情報を抽出する抽出手段と、動画像情報の再生を指示する指示手段と、通信回線を介して、少なくともタイミング情報を送受信する送受信手段とをそれぞれ有する複数の表示装置を含み、
複数の表示装置の送受信手段は、通信回線を介して相互に接続され、
複数の表示装置のうちいずれかの表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する表示装置では、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信し、
各表示装置は、送受信手段によってタイミング情報を受信すると、それぞれの表示装置で、表示手段が記憶手段に記憶される動画像情報うち、受信したタイミング情報に応じたタイミング情報が付された部分を読み出して画像として表示再生することを特徴とする多画面表示システム。
【請求項２】
前記複数の表示装置は、主表示装置と副表示装置とを含み、
主表示装置が有する指示手段によって動画像情報の再生が指示されると、主表示装置では、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信し、
主表示装置および副表示装置は、送受信手段によってタイミング情報を受信すると、表示手段が記憶手段に記憶される動画像情報のうち、受信したタイミング情報に応じたタイミング情報が付された部分を読み出して画像として表示再生することを特徴とする請求項１に記載の多画面表示システム。
【請求項３】
前記副表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する副表示装置では、動画像情報の再生の指示を表す再生指示情報を送受信手段によって前記主表示装置に送信し、
主表示装置では、送受信手段によって再生指示情報を受信すると、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信することを特徴とする請求項２に記載の多画面表示システム。
【請求項４】
予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報を記憶する記憶部と、記憶部から動画像情報を読み出して画像として表示再生する表示部と、動画像情報の再生を指示する指示部とをそれぞれ有する複数の表示装置を含む多画面表示システムの表示方法であって、
複数の表示装置うちいずれかの表示装置が有する指示部から動画像情報の再生が指示されると、この指示部を有する表示装置で、表示再生すべき動画像情報から時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を順次通信回線を介して取得可能にするタイミング情報取得可能化工程と、
各表示装置で、通信回線を介して、タイミング情報取得可能化工程で順次取得可能化されたタイミング情報を順次取得し、記憶部に記憶される動画像情報のうち、取得したタイミング情報に応じたタイミング情報が付された部分を順次読み出して画像として表示部に表示再生する表示工程とを含むことを特徴とする多画面表示システムの表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の表示装置から構成される多画面表示システムおよびその表示方法に関する。
【背景技術】
【０００２】
近年、インフォメーションディスプレイあるいは業務用ディスプレイなどに、４５インチあるいは６０インチなどの大型の画面が用いられている。さらに講演会場用あるいは映画館用には、複数たとえば４台あるいは９台のディスプレイを隣接配置してより大きな画面とし、１つの映像を表示するように構成した多画面表示システムがある。
【０００３】
大画面を構成する複数のディスプレイは、たとえばＣＯＭ（Communication）ポートでシリアルに接続され、サーバからのＤＶＩ（Digital Visual Interface）信号によって、個々のディスプレイへの映像信号が供給される。あるいはＬＡＮ（Local Area Network）
によって接続され、サーバからストリーミングの形態で個々の映像が供給される。複数のディスプレイを用いるので、画像の同期を取る必要がある。
【０００４】
画像の同期を取るための第１の従来の技術として、複数の映像拡大装置の各画面を同期して表示させる多画面表示装置がある。この多画面表示装置は、１台のシステムコントローラと、そのシステムコントローラからの制御信号によって複数の映像ソースのうちの一つを選択してそれぞれ出力する複数の映像拡大装置を含む。複数の映像拡大装置は、１台のマスタ映像拡大装置と、複数のスレーブ映像拡大装置とから構成される。システムコントローラから自動運転プログラムが各映像拡大装置に送信されると、マスタ映像拡大装置は、スレーブ映像拡大装置に起動のタイミングを送信する。各スレーブ映像拡大装置は、その起動のタイミングによって自動運転プログラムに従って起動される。プログラム終了後、マスタ映像拡大装置からスレーブ映像拡大装置に停止のタイミングが送信され、全映像拡大装置が停止する（たとえば特許文献１参照）。
【０００５】
第２の従来の技術として、情報を表示する複数の表示装置を並べて構成する多画面表示装置がある。この多画面表示装置は、複数の表示装置と、それらを制御する外部制御装置とから構成される。外部制御装置は、外部制御装置から各表示装置に順次指示する表示の切換信号の時間差に相当するそれぞれの表示遅れ時間を、各表示装置に指示する。各表示装置は、指示された表示遅れ時間をタイマにセットし、タイマの割り込み信号によって表示切換を行う（たとえば特許文献２参照）。
【０００６】
【特許文献１】特開平２−３０４５９３号公報
【特許文献２】特開平８−２２１０４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、第１の従来の技術は、システムコントローラからの指示によって表示を開始するものであり、システムコントローラからの指示がないと表示が開始されない。さらに、再生を開始するタイミングで同期は取れるが、時間の経過とともにずれが生じるという問題がある。
【０００８】
第２の従来の技術は、各表示装置は、外部制御装置からそれぞれ指示された表示遅れ時間をタイマにセットしておいて、外部制御装置からの切換信号を契機とするタイマの割り込み信号によって表示切換を行うので、表示の切換を行う時間間隔は、その表示遅れ時間以上の時間を確保する必要があり、動画像には適用することができないという問題がある。
【０００９】
本発明の目的は、時間が経過しても各表示装置に表示される動画像の同期を維持することができる多画面表示システムおよびその表示方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報を記憶する記憶手段と、記憶手段から動画像情報を読み出して画像として表示再生する表示手段と、表示再生すべき動画像情報から時系列順にタイミング情報を抽出する抽出手段と、動画像情報の再生を指示する指示手段と、通信回線を介して、少なくともタイミング情報を送受信する送受信手段とをそれぞれ有する複数の表示装置を含み、
複数の表示装置の送受信手段は、通信回線を介して相互に接続され、
複数の表示装置のうちいずれかの表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する表示装置では、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信し、
各表示装置は、送受信手段によってタイミング情報を受信すると、それぞれの表示装置で、表示手段が記憶手段に記憶される動画像情報うち、受信したタイミング情報に応じたタイミング情報が付された部分を読み出して画像として表示再生することを特徴とする多画面表示システムである。
【００１１】
本発明に従えば、記憶手段によって、予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報が記憶され、表示手段によって、記憶手段から動画像情報が読み出されて画像として表示再生され、抽出手段によって、表示再生すべき動画像情報から時系列順にタイミング情報が抽出され、指示手段によって、動画像情報の再生が指示され、送受信手段によって、通信回線を介して、少なくともタイミング情報が送受信される複数の表示装置を含む多画面表示システムで動画像を表示再生するにあたって、各送受信手段によって、複数の表示装置が通信回線を介して相互に接続され、複数の表示装置のうちいずれかの表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する表示装置によって、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報が順次抽出され、抽出されたタイミング情報が送受信手段によって順次送信される。さらに、各表示装置によって、送受信手段によってタイミング情報が受信されると、それぞれの表示装置で、表示手段によって、記憶手段に記憶される動画像情報うち、受信されたタイミング情報に応じたタイミング情報が付された部分が読み出されて画像として表示再生されるので、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができる。
【００１２】
また本発明は、前記複数の表示装置は、主表示装置と副表示装置とを含み、
主表示装置が有する指示手段によって動画像情報の再生が指示されると、主表示装置では、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信し、
主表示装置および副表示装置は、送受信手段によってタイミング情報を受信すると、表示手段が記憶手段に記憶される動画像情報のうち、受信したタイミング情報に応じたタイミング情報が付された部分を読み出して画像として表示再生することを特徴とする。
【００１３】
本発明に従えば、前記複数の表示装置は、主表示装置と副表示装置とを含み、主表示装置が有する指示手段によって動画像情報の再生が指示されると、主表示装置によって、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報が順次抽出され、抽出されたタイミング情報が送受信手段によって順次送信され、主表示装置および副表示装置によって、送受信手段によってタイミング情報が受信されると、表示手段によって、記憶手段に記憶される動画像情報のうち、受信したタイミング情報に応じたタイミング情報が付された部分が読み出されて画像として表示再生されるので、再生を開始する前に、表示装置以外の装置たとえばサーバなどによって主表示装置を選択しておくことができる。
【００１４】
また本発明は、前記副表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する副表示装置では、動画像情報の再生の指示を表す再生指示情報を送受信手段によって前記主表示装置に送信し、
主表示装置では、送受信手段によって再生指示情報を受信すると、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を送受信手段によって順次送信することを特徴とする。
【００１５】
本発明に従えば、前記副表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する副表示装置によって、動画像情報の再生の指示を表す再生指示情報が送受信手段によって前記主表示装置に送信され、主表示装置によって、送受信手段によって再生指示情報が受信されると、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報が順次抽出され、抽出されたタイミング情報が送受信手段によって順次送信されるので、再生の開始が、主表示装置以外の表示装置で指示されても、主表示装置をマスタとすることができる。
【００１６】
また本発明は、予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報を記憶する記憶部と、記憶部から動画像情報を読み出して画像として表示再生する表示部と、動画像情報の再生を指示する指示部とをそれぞれ有する複数の表示装置を含む多画面表示システムの表示方法であって、
複数の表示装置うちいずれかの表示装置が有する指示部から動画像情報の再生が指示されると、この指示部を有する表示装置で、表示再生すべき動画像情報から時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を順次通信回線を介して取得可能にするタイミング情報取得可能化工程と、
各表示装置で、通信回線を介して、タイミング情報取得可能化工程で順次取得可能化されたタイミング情報を順次取得し、記憶部に記憶される動画像情報のうち、取得したタイミング情報に応じたタイミング情報が付された部分を順次読み出して画像として表示部に表示再生する表示工程とを含むことを特徴とする多画面表示システムの表示方法である。
【００１７】
本発明に従えば、予め定めるデータ単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報が付される動画像情報を記憶する記憶部と、記憶部から動画像情報を読み出して画像として表示再生する表示部と、動画像情報の再生を指示する指示部とをそれぞれ有する複数の表示装置を含む多画面表示システムで動画像を表示再生するにあたって、タイミング情報取得可能化工程では、複数の表示装置うちいずれかの表示装置が有する指示部から動画像情報の再生が指示されると、この指示部を有する表示装置で、表示再生すべき動画像情報から時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を順次通信回線を介して取得可能にする。さらに、表示工程では、各表示装置で、通信回線を介して、タイミング情報取得可能化工程で順次取得可能化されたタイミング情報を順次取得し、記憶部に記憶される動画像情報のうち、取得したタイミング情報に応じたタイミング情報が付された部分を順次読み出して画像として表示部に表示再生するので、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができる。
【発明の効果】
【００１８】
本発明によれば、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができるので、この多画面表示システムを用いれば、画像を再生する際に、表示装置全体を制御するサーバは必要がなく、表示装置だけで同期をとって画像を再生することができる。
【００１９】
また本発明によれば、再生を開始する前に、表示装置以外の装置たとえばサーバなどによって主表示装置を選択しておくことができるので、表示装置の処理能力に応じて、主表示装置を変更することができる。
【００２０】
また本発明によれば、再生の開始が、主表示装置以外の表示装置で指示されても、主表示装置をマスタとすることができるので、どの表示装置からでも再生の開始を指示することができ、利便性を向上することができる。
【００２１】
また本発明によれば、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができるので、この表示方法を多画面表示システムに適用することによって、画像を再生する際に、表示装置全体を制御するサーバは必要がなく、表示装置だけで同期をとって画像を再生することができる。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明の実施の一形態である多画面表示装置１の構成を示す。多画面表示システムである多画面表示装置１は、ネットワークによって接続される複数の表示装置であるクライアント２０、たとえばクライアントＡ２０Ａ〜クライアントＤ２０Ｄを含み、ネットワークを介してサーバ１０に接続される。ネットワークは、たとえば無線ＬＡＮ（
Local Area Network）もしくは有線ＬＡＮによるＬＡＮ３０、またはＩＥＥＥ（
Institute of Electrical and Electronic Engineers）１３９４などの規格を用いるネットワークである。多画面表示システムの表示方法は、多画面表示装置１によって処理される。
【００２３】
サーバ１０は、コンテンツなどのデータおよびプログラムを記憶する半導体メモリあるいはハードディスク装置などによって構成される記憶部１１と、記憶部１１に記憶されるコンテンツをストリーミングデータたとえばＭＰＥＧ２／ＴＳ（Moving Picture Experts Group phase 2/Transport Stream）のデータストリーミングに変換する映像出力部１２と、映像出力部１２によって変換されたストリーミングデータあるいは各クライアント２０の位置情報などの情報を、ネットワークを介してクライアント２０と送受信するサーバ通信部１３と、キーボードあるいはマウスなどによって構成される図示しない入力装置と、液晶ディスプレイなどによって構成される図示しない出力装置と、これらを制御するサーバ制御部１４とを含む。
【００２４】
サーバ制御部１４は、たとえばＣＰＵ（Central Processing Unit）などで構成され、記憶部１１に記憶されるプログラムを実行することによって制御する。サーバ制御部１４は、サーバ通信部１３によって、各クライアント２０から、各クライアント２０および隣接するクライアント２０に関する隣接情報を取得し、取得した隣接情報に基づいて、クライアント２０の構成と各クライアント２０の配置位置を設定する。クライアント２０および隣接するクライアント２０に関する隣接情報は、隣接情報を送信するクライアント２０のクライアントＩＤ（Identification）、上下左右に隣接するクライアント２０の有無、隣接するクライアント２０のクライアントＩＤなどの情報を含む。クライアントＩＤは、各クライアント２０を識別するための情報である。
【００２５】
クライアントＡ２０Ａは、サーバ１０および他のクライアント２０と通信を行うクライアント通信部２１と、ユーザがデータを入力するためのリモートコントローラ（以下「リモコン」という）などによって構成される入力部２２と、サーバ１０からクライアント通信部２１によって受信されたコンテンツのストリーミングデータなどの情報を記憶する記録部２３と、記録部２３に記憶されたコンテンツのストリーミングデータから映像データに変換して、表示、必要であれば拡大して表示するディスプレイなどによって構成される表示部２４と、上下左右に隣接するクライアント２０の有無の検出および隣接するクライアント２０がある場合はその隣接するクライアント２０の識別情報を取得する位置検出部２６と、プログラムおよび処理に必要なデータなどを記憶する半導体メモリあるいはハードディスク装置などによって構成される図示しない記憶装置と、これらを制御するクライアント制御部２７とを含む。クライアント制御部２７は、たとえばＣＰＵなどで構成され、図示しない記憶装置に記憶されるプログラムを実行することによって制御する。クライアントＢ２０Ｂ〜クライアントＤ２０Ｄは、クライアントＡ２０Ａと同じ構成であるので、説明は省略する。
【００２６】
図２は、図１に示したサーバ１０からクライアント２０へのコンテンツの送信例を示す。サーバ１０は、クライアント２０の構成に基づいてコンテンツを分割し、たとえば図２に示した例では、クライアントの台数が４台であるので、コンテンツを４分割し、分割したそれぞれの分割ファイルを各クライアント２０に送信する。クライアントＡ２０Ａ〜クライアントＤ２０Ｄは、受信したそれぞれの分割ファイルの画像を拡大して表示する。図２に示した例では、画像を４分割した分割ファイルのうち、クライアントＡ２０Ａは、画面に向かって左上の分割ファイルの画像を拡大して表示し、クライアントＢ２０Ｂは、画面に向かって右上の分割ファイルの画像を拡大して表示し、クライアントＣ２０Ｃは、画面に向かって左下の分割ファイルの画像を拡大して表示し、クライアントＤ２０Ｄは、画面に向かって右下の分割ファイルの画像を拡大して表示する。したがって、クライアントＡ２０Ａ〜クライアントＤ２０Ｄがそれぞれの配置位置に配置されている状態で、たとえば後述する図８（ａ）に示す構成で、全体として１つの画像で表示される。
【００２７】
図３は、図１に示したクライアント２０の外観の斜視図である。クライアント２０は、隣接するクライアント２０と通信する４つの位置検出部（以下「検出器」ともいう）２６を含む。４つの検出器２６は、クライアント２０の上面、左側面、下面、および右側面の４つの面に設けられる。
【００２８】
図４は、図３に示した検出器２６の端子の配置例を示す。検出器２６は、端子ＴＸ、端子ＧＮＤ、および端子ＲＸの３つの端子を有する。端子ＴＸは、情報を送信するための端子であり、端子ＧＮＤはグランド端子であり、端子ＲＸは、情報を受信するための端子である。
【００２９】
図５は、図３に示した検出器２６の端子と隣接するクライアント２０の検出器２６の端子との接続関係を示す。クライアント２０の上側の検出器２６Ｕ１は、上側に隣接するクライアント２０の下側の検出器２６Ｄ２と接続される。検出器２６Ｕ１の端子ＴＸと検出器２６Ｄ２の端子ＲＸとが接続され、検出器２６Ｕ１の端子ＧＮＤと検出器２６Ｄ２の端子ＧＮＤとが接続され、検出器２６Ｕ１の端子ＲＸと検出器２６Ｄ２の端子ＴＸとが接続される。同様に、クライアント２０の右側の検出器２６Ｒ１は、右側に隣接するクライアント２０の左側の検出器２６Ｌ２と接続され、クライアント２０の下側の検出器２６Ｄ１は、下側に隣接するクライアント２０の上側の検出器２６Ｕ２と接続され、クライアント２０の左側の検出器２６Ｌ１は、左側に隣接するクライアント２０の右側の検出器２６Ｒ２と接続される。
【００３０】
クライアント２０は、これら４つの検出器２６によって、それぞれ隣接するクライアント２０があるか否かを検出し、隣接するクライアント２０が検出された場合は、その隣接するクライアント２０のクライアントＩＤを取得する。クライアントＩＤは、予め各クライアント２０に割り当てられ、各クライアントの図示しない記憶装置に設定されている。
【００３１】
図６は、図３に示した検出器２６を接続する接続ケーブル３６の一例を示す。接続ケーブル３６は、隣接するクライアント２０同士を接続するケーブルであり、接続ケーブル３６の両端は、それぞれ各クライアント２０の検出器２６と接続される。この例では、接続ケーブル３６を用いているが、２つのクライアント２０を隣接したとき、それぞれの検出器２６の各端子が密着するように構成し、接続ケーブル３６を用いないで接続するようにしてもよい。
【００３２】
サーバ１０は、クライアント２０が配置された後、実際に配置されたクライアント２０の構成を、手動によって設定する手動設定、または自動的に設定する自動設定によって設定する。
【００３３】
図７は、図１に示したサーバ１０における構成設定画面４０の例を示す。図７に示した構成設定画面４０は、サーバ１０の図示しない出力装置に出力される画面であり、実際に配置されている各クライアント２０の位置を、手動でサーバ１０に設定するための画面である。設定すべきクライアント２０を表示する領域４１が構成設定画面４０の右側にあり、その左側の領域がクライアント２０を実際に配置されている位置に対応する位置に設定するためのマップ領域である。図８（ａ）に示す縦２段横２列の構成の場合を例にして、説明する。
【００３４】
図７（ａ）は、まだ配置位置の設定が行われていない構成設定画面であり、設定すべきクライアント２０が領域４１に表示されている。設定すべきクライアント２０は、サーバ１０が隣接情報を受信したクライアント２０であり、たとえば隣接情報を受信した順序で、領域４１の上側から表示される。１番目のクライアント２０のクライアントＩＤは「Ｃ」であり、２番目のクライアント２０のクライアントＩＤは「Ａ」であり、３番目のクライアント２０のクライアントＩＤは「Ｂ」であり、４番目のクライアント２０のクライアントＩＤは「Ｄ」である。
【００３５】
ユーザは、サーバ１０の図示しない入力装置によって、最初に設定するクライアント２０を選択する。このとき、サーバ１０は、選択されたクライアント２０に対して、選択されていることを示す表示を指示する。たとえば画面の色を他のクライアント２０と異なる色に変更した表示、そのクライアント２０のＭＡＣ（Media Access Control）アドレスの表示、あるいは画面をフラッシングする表示を指示する。
【００３６】
図７（ｂ）は、１番目のクライアント２０が、実際の位置に対応するマップ領域の位置に設定された状態を示している。ユーザは、図７（ａ）で選択した１番目のクライアント２０、つまりのクライアントＩＤ「Ｃ」のクライアント２０の実際の位置を確認し、確認した位置に対応するマップ領域の位置にそのクライアント２０を設定する。
【００３７】
図８は、図７に示した構成設定画面４０に表示されたクライアント２０の実際の位置との対応を示す。図８（ａ）は、図７に示した構成設定画面４０で設定を行う構成を示す。図８（ａ）に示した例は、縦２段横２列の構成の場合の例を示している。上段左側にクライアントＡ２０Ａが配置され、上段右側にクライアントＢ２０Ｂが配置され、下段左側にクライアントＣ２０Ｃが配置され、下段右側にクライアントＤ２０Ｄが配置されている。
【００３８】
図８（ｂ）は、クライアントＣ２０Ｃが選択されている状態を示す。図７（ａ）に示した領域４１の１番目のクライアント２０が選択されたとき、サーバ１０は、クライアントＩＤ「Ｃ」のクライアント２０に選択されていることを示す表示、たとえば画面をフラッシングする表示を指示する。クライアントＣ２０Ｃは、サーバ１０からの指示によって、画面をフラッシングする。
【００３９】
図８（ｃ）は、領域４１での２番目のクライアント２０、たとえばクライアントＡ２０Ａが選択されている状態を示す。図７（ａ）に示した領域４１の２番目のクライアント２０が選択されたとき、サーバ１０は、クライアントＩＤ「Ａ」のクライアント２０に選択されていることを示す表示、たとえば画面をフラッシングする表示を指示する。クライアントＡ２０Ａは、サーバ１０からの指示によって、画面をフラッシングする。
【００４０】
図９は、図７に示した構成設定画面４０での２台目のクライアント２０の手動設定の例を示す。ユーザは、図８（ｃ）に示したフラッシングされているクライアント２０の位置を確認し、その位置に対応するマップ領域の位置に２台目のクライアント２０、たとえばクライアントＡ２０Ａを設定する。同様に、３台目および４台目のクライアント２０についても設定する。
【００４１】
図１０は、図７に示した構成設定画面４０で手動設定されたクライアント２０の配置位置を示す。左上に２番目のクライアント２０であるクライアントＡ２０Ａが設定され、右上に３番目のクライアント２０であるクライアントＢ２０Ｂが設定され、左下に１番目のクライアント２０であるクライアントＣ２０Ｃが設定され、右下に４番目のクライアント２０であるクライアントＤ２０Ｄが設定されている。手動でマップ領域に設定されたマップは、記憶装置１１に記憶される。構成の自動設定については、図２７〜図４２で後述する。
【００４２】
図１１は、図１に示したサーバ１０とクライアント２０とで送受信される情報を示す。サーバ１０は、まず、ＬＡＮ３０を介して接続されている各クライアント２０から、ＩＰ（Internet Protocol）アドレスや、各クライアント２０のクライアント通信部２１を構成するＬＡＮカードに設定されているＭＡＣアドレスを取得する。各クライアントのＩＰアドレスは、たとえばクライアントＡ２０Ａは、「ｘｘ．ｘｘ．ｘｘ．１００」であり、クライアントＢ２０Ｂは、「ｘｘ．ｘｘ．ｘｘ．１１０」であり、クライアントＣ２０Ｃは、「ｘｘ．ｘｘ．ｘｘ．１２０」であり、クライアントＤ２０Ｄは、「ｘｘ．ｘｘ．ｘｘ．１３０」である。
【００４３】
サーバ１０は、次に、再生予定のコンテンツ、たとえばファイル名が「ｃａｒ．ｍｐｇ」のコンテンツを、画像が４等分されるように分割する。さらに、分割されたコンテンツの分割ファイルと、取得したＩＰアドレスから生成した連携情報とを、ＬＡＮ３０を介して各クライアント２０に送信する。図１１に示した連携情報は、ファイル名「ｃａｒ．ｍｐｇ」、分割数「４」、ＩＰ（主）「ｘｘ．ｘｘ．ｘｘ．１００」、ＩＰ（副）「ｘｘ．ｘｘ．ｘｘ．１１０」、ＩＰ（副）「ｘｘ．ｘｘ．ｘｘ．１２０」、およびＩＰ（副）「ｘｘ．ｘｘ．ｘｘ．１３０」などを含む情報である。そして、各クライアント２０は、分割ファイルおよび連携情報を受信し、受信した分割ファイルおよび連携情報をそれぞれの記録部２３に記録する。
【００４４】
図１２は、図１１に示したクライアント２０が受信した連携情報を連携情報ＤＢ（
database）６０に反映する例を示す。ＩＰアドレスが「ｘｘ．ｘｘ．ｘｘ．１１０」であるクライアントＢ２０Ｂは、ＬＡＮ３０を介して分割ファイルおよび連携情報を受信すると、受信した分割ファイルを記録部２３に記憶し、さらに受信した連携情報を、記録部２３に記憶される連携情報ＤＢ６０に反映つまり記憶する。連携情報ＤＢ６０は、図１３で詳述する。
【００４５】
図１３は、図１に示した記録部２３に記憶される連携情報ＤＢ６０の一例を示す。連携情報ＤＢ６０は、１つのコンテンツについて１つのレコードを形成し、サーバ１０から受信した１つの連携情報が１つのレコードに反映される。１つのレコードは、レコードを識別するためのレコード番号「Ｎｏ．」、コンテンツを識別するための名前「コンテンツ名」、分割ファイルの記憶場所を表す情報「保存場所」、コンテンツが分割されている数を表す「分割数」、主クライアントのＩＰアドレス「主」、および副クライアントのＩＰアドレス「副」の項目からなる。「副」の項目は、複数の項目を含み、分割数よりも「１」少ないＩＰアドレスが記憶される。
【００４６】
たとえば、Ｎｏ．「１」のレコードについては、コンテンツ名「ｃａｒ．ｍｐｇ」、保存場所「Ｃ：￥ｆｉｌｅ」、分割数「４」、主「ｘｘ．ｘｘ．ｘｘ．１００」、ならびに副「ｘｘ．ｘｘ．ｘｘ．１１０」、「ｘｘ．ｘｘ．ｘｘ．１２０」、および「ｘｘ．ｘｘ．ｘｘ．１３０」であり、副に示される「ＮＵＬＬ」は、クライアントが登録されていないことを示す。Ｎｏ．「２」のレコードについては、コンテンツ名「ｄｏｇ．ｍｐｇ」、保存場所「Ｃ：￥ｔｅｍｐ」、分割数「２」、主「ｘｘ．ｘｘ．ｘｘ．１００」、および副「ｘｘ．ｘｘ．ｘｘ．１１０」である。Ｎｏ．「３」のレコードについては、すべての項目が「ＮＵＬＬ」であり、削除されたことを示している。Ｎｏ．「４」のレコードについては、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」、保存場所「Ｄ：￥ｄｅｍｏ」、分割数「４」、主「ｘｘ．ｘｘ．ｘｘ．１００」、副「ｘｘ．ｘｘ．ｘｘ．１１０」、副「ｘｘ．ｘｘ．ｘｘ．１２０」、および副「ｘｘ．ｘｘ．ｘｘ．１３０」である。Ｎｏ．「５」のレコードについては、コンテンツ名「ｗａｔｅｒ．ｍｐｇ」、保存場所「Ｃ：￥ｆｉｌｅ」、分割数「２」、主「ｘｘ．ｘｘ．ｘｘ．１１０」、および副「ｘｘ．ｘｘ．ｘｘ．２００」である。Ｎｏ．「６」のレコードについては、コンテンツ名「ｄｅｍｏ２．ｍｐｇ」、保存場所「Ｄ：￥ｄｅｍｏ」、分割数「４」、主「ｘｘ．ｘｘ．ｘｘ．１１０」、副「ｘｘ．ｘｘ．ｘｘ．１３０」、副「ｘｘ．ｘｘ．ｘｘ．２００」、および副「ｘｘ．ｘｘ．ｘｘ．２２０」である。Ｎｏ．「７」のレコードについては、コンテンツ名「ｔｏｙ．ｍｐｇ」、保存場所「Ｃ：￥ｔｅｍｐ」、分割数「４」、主「ｘｘ．ｘｘ．ｘｘ．１００」、副「ｘｘ．ｘｘ．ｘｘ．１１０」、副「ｘｘ．ｘｘ．ｘｘ．１２０」、および副「ｘｘ．ｘｘ．ｘｘ．１３０」である。Ｎｏ．「８」のレコードについては、コンテンツ名「０００１．ｍｐｇ」、保存場所「Ｃ：￥ｆｉｌｅ」、分割数「３」、主「ｘｘ．ｘｘ．ｘｘ．２１０」、副「ｘｘ．ｘｘ．ｘｘ．２００」、および副「ｘｘ．ｘｘ．ｘｘ．１１０」である。
【００４７】
図１４は、図１に示したクライアント２０のＤＢ更新画面５０の一例を示す。ＤＢ更新画面５０には、連携情報ＤＢ６０に含まれるレコードごとに、「コンテンツ名」、「保存場所」、「分割数」、「主」、および「副」の項目が示され、各レコードにチェック欄５５が付加されている。さらに、削除ボタン５１、ＯＫボタン５２、およびキャンセルボタン５３の３つの操作ボタンと、表示されていないレコードをスクロールして表示するためのスクロールバー５６とが示されている。連携情報ＤＢ６０の項目のうち、「ＮＵＬＬ」でない情報がＤＢ更新画面５０に表示され、すべての項目が「ＮＵＬＬ」のレコードは表示されない。ＤＢ更新画面５０は、入力部２２、たとえばマウスやリモコンなどによって操作される。
【００４８】
削除ボタン５１は、コンテンツとそのコンテンツのレコードを削除するための操作ボタンである。削除したいコンテンツのレコードのチェック欄５５にチェックマークを付して、削除ボタン５１を押下すると、チェックマークが付されたレコードが示す記録部２３の保存場所に記憶されたコンテンツが削除されるとともに、そのレコードが連携情報ＤＢ６０から削除される。削除されたレコードは、図１３に示したように、連携情報ＤＢ６０では、すべての項目が「ＮＵＬＬ」とされる。
【００４９】
ＯＫボタン５２は、登録されているレコードの内容を変更するためのボタンである。変更対象のレコードの内容を変更して、ＯＫボタン５２を押下すると、変更された内容が、連携情報ＤＢ６０に反映される。キャンセルボタン５３は、操作中の削除あるいは変更をキャンセルするためのボタンであり、キャンセルボタン５３が押下されると、操作中に入力した情報がキャンセルされ、ＤＢ更新画面５０を終了する。
【００５０】
図１５は、図１３に示したＤＢ更新画面５０で更新された更新内容の各クライアントへのフィードバックの手順を示す。コンテンツを削除する場合、クライアントＡ２０Ａは、削除するコンテンツのレコードに示されたＩＰアドレスのうち、自クライアントのＩＰアドレス以外のＩＰアドレスのクライアントに対して、削除すべきコンテンツ名と削除要求とを送信する。削除すべきコンテンツ名と削除要求とを受信したクライアントは、受信したコンテンツ名のコンテンツを削除するとともに、連携情報ＤＢ６０からそのコンテンツのレコードを削除する。
【００５１】
連携情報ＤＢ６０の内容を変更する場合、クライアントＡ２０Ａは、変更された内容のコンテンツのレコードに示されたＩＰアドレスのうち、自クライアントのＩＰアドレス以外のＩＰアドレスのクライアントに対して、変更すべきレコードの内容と変更要求とを送信する。変更すべきレコードの内容と変更要求とを受信したクライアントは、変更すべきレコードの内容を連携情報ＤＢ６０に反映する。
【００５２】
図１５には、図の上段に示したレコード６１が示すコンテンツを削除する例を示す。レコード６１の各項目は、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」、保存場所「Ｄ：￥ｄｅｍｏ」、分割数「４」、主「ｘｘ．ｘｘ．ｘｘ．１００」、副「ｘｘ．ｘｘ．ｘｘ．１１０」、副「ｘｘ．ｘｘ．ｘｘ．１２０」、および副「ｘｘ．ｘｘ．ｘｘ．１３０」である。クライアントＡ２０Ａは、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」のコンテンツを記録部２３から削除し、そのコンテンツのレコードを連携情報ＤＢ６０から削除した後、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」のコンテンツの削除要求を、ＩＰアドレスが「ｘｘ．ｘｘ．ｘｘ．１１０」、「ｘｘ．ｘｘ．ｘｘ．１２０」、および「ｘｘ．ｘｘ．ｘｘ．１３０」であるクライアントに送信する。ＩＰアドレスが「ｘｘ．ｘｘ．ｘｘ．１１０」、「ｘｘ．ｘｘ．ｘｘ．１２０」、および「ｘｘ．ｘｘ．ｘｘ．１３０」であるクライアント、つまりクライアントＢ２０Ｂ〜クライアントＤ２０Ｄは、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」のコンテンツの削除要求を受信すると、コンテンツ名「ｄｅｍｏ１．ｍｐｇ」のコンテンツを記録部２３から削除するとともに、連携情報ＤＢ６０からコンテンツ名「ｄｅｍｏ１．ｍｐｇ」のレコードを削除する。
【００５３】
図１６は、図１に示したクライアント２０での同期再生に関連する部分のブロック図である。クライアントＡ２０Ａを主クライアント、クライアントＢ２０Ｂを副クライアントとした場合、それぞれが関係する部位を、模式的に示している。
【００５４】
クライアント２０は、送信部２１１、受信部２１２、タイムスタンプ抽出部２７１、遅延部２７２、ＦＩＦＯ（First-In First-Out）バッファ２７３、およびシンクロ部２７４を含む。送信部２１１および受信部２１２は、クライアント通信部２１に含まれる。タイムスタンプ抽出部２７１、遅延部２７２、ＦＩＦＯバッファ２７３、およびシンクロ部２７４は、クライアント制御部２７に含まれる。
【００５５】
タイムスタンプ抽出部２７１は、記録部２３に記憶されるコンテンツの画像ファイル２３１から、タイムスタンプたとえばＰＣＲ（Program Clock Reference）／ＳＣＲ（
System Clock Reference）を抽出する。遅延部２７２は、タイムスタンプ抽出部２７１によって抽出されたタイムスタンプを数ｍｓ〜数十ｍｓ遅延させて、送信部２１１に送る。送信部２１１は、遅延部２７２から受け取ったタイムスタンプを、ＬＡＮ３０によって送信する。タイムスタンプを送信する頻度は、たとえば１秒間に６０回の頻度である。マルチキャストＩＰ／ポート番号２３２は、タイムスタンプを送信するＩＰアドレスおよびポート番号であり、予め記録部２３などに設定しておく。送信部２１１は、タイムスタンプの送信を開始する前に、記録部２３に記憶される連携情報ＤＢ６０のうち、再生するコンテンツのレコードが示すＩＰアドレスのクライアントに、マルチキャストＩＰ／ポート番号２３２を送信する。
【００５６】
受信部２１２は、受信したマルチキャストＩＰ／ポート番号２３２が示すＩＰアドレスおよびポート番号で、送信部２１１によって送信されたタイムスタンプを受信し、受信したタイムスタンプをシンクロ部２７４に送る。ＦＩＦＯバッファ２７３は、記録部２３に記憶される画像ファイル２３１から読み出したコンテンツをフレーム単位で記憶するＦＩＦＯバッファである。シンクロ部２７４は、受信部２１２からタイムスタンプを受け取る度に、受信部２１２から受け取ったタイムスアンプと同じタイムスタンプを有するフレームを、ＦＩＦＯバッファ２７３から読み出して、表示部２４に送る。表示部２４は、シンクロ部２７４から受け取ったフレームを表示する。
【００５７】
クライアント２０が主クライアントの場合、上述した処理を行うが、クライアント２０が副クライアントの場合、送信部２１１、タイムスタンプ抽出部２７１、遅延部２７２、およびＦＩＦＯバッファ２７３は、動作しない。シンクロ部２７４は、受信部２１２からタイムスタンプを受け取る度に、受信部２１２から受け取ったタイムスアンプと同じタイムスタンプを有するフレームを、記録部２３に記憶されるコンテンツの画像ファイル２３１から読み出して、表示部２４に送る。
【００５８】
図１７は、図１に示したクライアント２０間での同期再生の開始手順を示す。図１７（ａ）は、再生を指示されたクライアントが主クライアントの場合の同期再生の開始手順である。リモコン２２ａによってコンテンツの再生が指示され、再生を指示されたコンテンツの連携情報ＤＢに示される主のＩＰアドレスが、自クライアントのＩＰアドレスに一致すると、自クライアントは、主クライアントである。図１７（ａ）に示した例では、主クライアントであるクライアントＡ２０Ａに対して、リモコン２２ａによってコンテンツの再生の指示が行われたので、クライアントＡ２０Ａは、再生を指示されたコンテンツのコンテンツ名を副クライアントに送信し、再生を指示する。副クライアントは、再生を指示されたコンテンツのレコードに示されるＩＰアドレスのクライアントである。
【００５９】
図１７（ｂ）は、再生を指示されたクライアントが副クライアントの場合の同期再生の開始手順である。リモコン２２ａによってコンテンツの再生が指示され、再生を指示されたコンテンツの連携情報ＤＢに示される主のＩＰアドレスが自クライアントのＩＰアドレスに一致しないと、自クライアントは、主クライアントではない。図１７（ｂ）に示した例では、副クライアントであるクライアントＢ２０Ｂに対して、リモコン２２ａによってコンテンツの再生の指示が行われたので、クライアントＢ２０Ｂは、再生を指示されたコンテンツの連携情報ＤＢに示される主のＩＰアドレスのクライアント、この例では、クライアントＡ２０Ａに、再生を指示されたコンテンツのコンテンツ名を送信し、再生指示を要求する。クライアントＡ２０Ａは、再生指示が要求されると、再生を指示されたコンテンツのコンテンツ名を、再生を指示されたコンテンツのレコードに示されるＩＰアドレスの副クライアントに送信し、再生を指示する。
【００６０】
図１８は、図１７に示した主クライアントおよび副クライアントでの同期再生を示す。同期再生は、主クライアントから副クライアントに定期的にタイムスタンプをマルチキャスト送信することによって再生するものである。マルチキャスト送信するためのマルチキャストＩＰアドレス／ポートを、タイムスタンプを送信する前に、ネットワークたとえばＬＡＮ３０に接続された副クライアントに指示しておく。副クライアントは、マルチキャスト送信されたタイムスタンプを、指示されたマルチキャストＩＰアドレス／ポートから受信し、受信したタイムスタンプと、再生するコンテンツ内部のタイムスタンプを比較し、同じタイムスタンプのフレームを再生する。
【００６１】
図１８（ａ）は、マルチキャストＩＰアドレス／ポートの通知を示す。主クライアントであるクライアントＡ２０Ａは、各クライアントがタイムスタンプを受信するマルチキャストＩＰ／ポートのＩＰアドレス／ポート番号、たとえば「ＩＰ＝２３９．２５５．１．１：Ｐｏｒｔ＝１０」を、分割ファイルを再生する副クライアントに通知する。図１８（ｂ）は、タイムスタンプの送信を示す。主クライアントであるクライアントＡ２０Ａは、再生するコンテンツのＰＣＲ／ＳＣＲのタイムスタンプをマルチキャストＩＰアドレス／ポートで送信する。図１８（ｃ）は、フレームの再生を示す。分割ファイルを再生する主クライアントおよび副クライアントは、マルチキャストＩＰ／ポートから、図１８（ｂ）に示した主クライアントから送信されるタイムスタンプを受信し、受信したタイムスタンプと、自クライアントの記録部２３に記憶されている再生すべきコンテンツの各フレームのタイムスタンプとを比較し、受信したタイムスタンプと同じタイムスタンプを持つフレームを再生する。
【００６２】
図１９は、図１に示したサーバ１０での連携情報生成処理のフローチャートである。連携情報生成処理は、サーバ１０によって実行される処理であり、同期再生を行う前に、事前に再生予定のコンテンツを各クライアントに登録する処理である。再生予定のコンテンツを各クライアントに登録するとき、ステップＸ１に移る。
【００６３】
ステップＸ１では、各クライアントのＩＰアドレスを取得する。すなわち、コンテンツを再生する際に用いるクライアントのＩＰアドレスが、たとえば図示しない入力装置によって入力されると、その入力されたＩＰアドレスを取得する。ステップＸ２では、ステップＸ１でＩＰアドレスを取得したクライアントの台数を、コンテンツを再生するクライアントの台数として決定する。ステップＸ３では、再生コンテンツ、たとえば図示しない入力装置によって入力されるコンテンツ名によって指定されるコンテンツを、ステップＸ２で決定した台数に応じて分割する。たとえばステップＸ２で決定された台数が４台であれば、コンテンツをフレームごとに４分割し、分割された各フレームに、元のフレームのＰＣＲ／ＳＣＲと同じタイムスタンプを入れる。
【００６４】
ステップＸ４では、再生コンテンツの連携情報を作成する。連携情報は、たとえば図１１に示した連携情報であり、再生コンテンツのファイル名、分割数、ならびに主クライアントおよび副クライアントのＩＰアドレスを含む。分割数は、ステップＸ２で決定した台数の数と同じ数である。副クライアントの数は、「分割数−１」である。ステップＸ５では、クライアント位置に応じた分割ファイルおよび連携情報を各クライアントに送信する。ステップＸ６では、自機が連携再生に含まれるか否かを判定する。すなわち、自機のＩＰアドレスがステップＸ４で作成した連携情報のＩＰアドレスに含まれると、つまり自機のＩＰアドレスがステップＸ１で取得したＩＰアドレスに含まれると、自機が連携再生に含まれると判定し、ステップＸ７に進み、自機のＩＰアドレスがステップＸ１で取得したＩＰアドレスに含まれないと、自機が連携再生に含まれないと判定し、終了する。ステップＸ７では、連携情報ＤＢに登録して終了する。すなわち、クライアント位置に応じた分割ファイルを記録部２３に記憶し、連携情報を連携情報ＤＢに記憶して終了する。
【００６５】
図２０は、図１に示したクライアント２０での連携情報保存処理のフローチャートである。連携情報保存処理は、クライアント２０によって実行される処理であり、サーバ１０から受信した分割ファイルおよび連携情報を記憶する。サーバ１０から送信される分割ファイルおよび連携情報を受信する際に、ステップＹ１に移る。
【００６６】
ステップＹ１では、分割コンテンツファイルを受信し保存する。つまりコンテンツの分割ファイルを受信し、受信した分割ファイルを記録部２３に記憶する。ステップＹ２では、連携情報を受信する。ステップＹ３では、連携情報ＤＢに連携情報を追加して終了する。すなわち、ステップＹ２で受信した連携情報を、連携情報ＤＢに追加して記憶し、終了する。
【００６７】
図２１は、図１に示したクライアント２０での連携情報保存詳細処理のフローチャートである。連携情報保存詳細処理は、図２０に示した連携情報保存処理を詳細に表したフローチャートである。サーバ１０から分割ファイルおよび連携情報を受信すると、ステップＺ１に移る。
【００６８】
ステップＺ１では、ＤＢがあるか否か、つまり連携情報ＤＢ６０が構築されているか否かを判定する。連携情報ＤＢ６０が構築されていると、ステップＺ２に進み、連携情報ＤＢ６０が構築されていないと、ステップＺ８に進む。ステップＺ２では、登録数を読み出す。つまり連携情報ＤＢ６０に登録されているレコードの数を読み出す。ステップＺ３では、登録数を「１」増やす。ステップＺ４では、ファイルを設定保存場所に保存する。すなわち、サーバ１０から受信した分割ファイルを、保存場所として設定されている記録部２３内の場所に記憶する。
【００６９】
ステップＺ５では、ＤＢの登録数のレコードの「コンテンツ名」、「保存場所」に記録する。すなわち、ステップＺ３で「１」増やした登録数に基づいて表されるレコード番号のレコードの「コンテンツ名」に、サーバ１０から受信した連携情報のファイル名を記録し、「保存場所」に、ステップＺ４で分割ファイルを記憶した記録部２３の保存場所を記録する。ステップＺ６では、分割数をＤＢの登録数のレコードの「分割数」に記録する。すなわち、サーバ１０から受信した連携情報の分割数を、登録数に基づいて表されるレコード番号のレコードの「分割数」に記録する。
【００７０】
ステップＺ７では、ファイルを再生するモニタのＩＰアドレスをＤＢの登録数のレコードの「ＩＰ部（主および副）」に記録して終了する。すなわち、サーバ１０から受信した連携情報の「ＩＰ（主）」および「ＩＰ（副）」のＩＰアドレスを、登録数に基づいて表されるレコード番号のレコードのＩＰアドレス「主」および「副」に記録して終了する。モニタは、クライアントのことである。ステップＺ８では、連携情報ＤＢ６０を構築し、登録数を「０」に初期化して、ステップＺ３に進む。
【００７１】
図２２は、図１に示したクライアント２０での連携情報更新処理のフローチャートである。連携情報更新処理は、連携情報ＤＢ６０の更新を行う処理である。図１４に示したＤＢ更新画面５０が選択されると、ステップＡ１に移る。
【００７２】
ステップＡ１では、連携情報ＤＢ６０のデータを取得する。すなわち連携情報ＤＢ６０のデータを記録部２３から読み出す。ステップＡ２では、連携情報ＤＢ６０のデータを表示する。すなわち、ステップＡ１で取得したデータを、図１４に示したＤＢ更新画面５０で表示部２４に表示する。ステップＡ３では、編集を入力する。すなわち、表示部２４に表示したＤＢ更新画面５０に応答して、入力部２２によって連携情報ＤＢ６０に対する編集たとえばコンテンツの削除あるいはレコードの内容の変更などの入力を行う。
【００７３】
ステップＡ４では、削除ボタン５１が押下されたか否かを判定する。削除ボタン５１が押下されると、ステップＡ７に進み、削除ボタン５１が押下されないと、ステップＡ５に進む。ステップＡ５では、ＯＫボタン５２が押下されたか否かを判定する。ＯＫボタン５２が押下されると、ステップＡ１０に進み、ＯＫボタン５２が押下されないと、ステップＡ６に進む。ステップＡ６では、キャンセルボタン５３が押下されたか否かを判定する。キャンセルボタン５３が押下されると、ステップＡ１３に進み、キャンセルボタン５３が押下されないと、ステップＡ３に戻る。
【００７４】
ステップＡ７では、項目が選択されているか否かを判定する。チェック欄５５にチェックマークが付されていると、項目が選択されていると判定し、ステップＡ８に進む。チェック欄５５にチェックマークが付されていないと、項目が選択されていないと判定し、ステップＡ９に進む。ステップＡ８では、ＤＢの選択項目を削除して、ステップＡ１４に進む。すなわち、チェックマークが付されたレコードを、連携情報ＤＢ６０から削除して、ステップＡ１４に進む。具体的には、連携情報ＤＢの該当レコードの各項目を「ＮＵＬＬ」とする。ステップＡ９では、“選択されていません”と表示して、ステップＡ３に戻る。つまり“選択されていません”いうメッセージを、たとえばＤＢ更新画面５０にポップアップで表示して、ステップＡ３に戻る。
【００７５】
ステップＡ１０では、項目変更があるか否かを判定する。いずれかのレコードの内容が変更されていると、項目変更があると判定し、ステップＡ１１に進み、いずれのレコードの内容も変更されていないと、項目変更がないと判定し、ステップＡ１２に進む。ステップＡ１１では、選択項目をＤＢ更新し、ステップＡ１４に進む。すなわち、変更されているレコードの内容を連携情報ＤＢ６０に反映して、ステップＡ１４に進む。ステップＡ１２では、“選択されていません”と表示して、ステップＡ３に戻る。
【００７６】
ステップＡ１３では、変更内容を破棄して、ＤＢは更新しないで、終了する。すなわち、削除あるいは変更内容を破棄して、連携情報ＤＢ６０を更新せずに、ＤＢ更新画面５０を終了する。ステップＡ１４では、他のクライアントにＤＢの更新要求を送信して、終了する。すなわち、ステップＡ８で行われた削除あるいはステップＡ１１で行われた変更を、他のクライアントにも行わせるための更新要求を、更新されたコンテンツのレコードのＩＰアドレスのクライアントに送信して、終了する。
【００７７】
図２３は、図１に示したクライアント２０での入力部２２による連携再生開始処理のフローチャートである。連携再生開始処理は、入力部２２の指示によって、コンテンツを選択して、コンテンツを連携して再生する処理である。入力部２２によって、コンテンツを選択して再生するときに、ステップＢ１に移る。
【００７８】
ステップＢ１では、連携情報ＤＢ６０に登録されているコンテンツと、自機にある再生可能コンテンツとを表示する。すなわち、連携情報ＤＢ６０に登録されているコンテンツのコンテンツ名と、自機の記録部２３に単独でつまり分割されないで記憶しているコンテンツのコンテンツ名とを、表示部２４に表示する。ステップＢ２では、再生コンテンツを選択する。すなわち、入力部２２によって、表示部２４に表示されたコンテンツ名の中から再生するコンテンツのコンテンツ名を選択する。
【００７９】
ステップＢ３では、選択されたコンテンツが、連携情報ＤＢ６０に登録されたコンテンツであるか否かを判定する。選択されたコンテンツが、連携情報ＤＢ６０に登録されたコンテンツであると、ステップＢ５に進み、選択されたコンテンツが、連携情報ＤＢ６０に登録されたコンテンツでないと、ステップＢ４に進む。ステップＢ４では、単独で再生して終了する。すなわち、他のクライアントと連携せずに、自機にある再生可能コンテンツの中から選択されたコンテンツを再生して終了する。
【００８０】
ステップＢ５では、選択コンテンツの連携情報を確認する。すなわち、連携情報ＤＢ６０のレコードのうち、選択されたコンテンツのレコードを確認する。ステップＢ６では、再生コンテンツの主が自機であるか否かを判定する。選択されたコンテンツのレコードの主クライアントのＩＰアドレスが、自クライアントのＩＰアドレスに一致すると、再生コンテンツの主が自機であると判定して、ステップＢ８に進み、選択されたコンテンツのレコードの主クライアントのＩＰアドレスが、自クライアントのＩＰアドレスに一致しないと、再生コンテンツの主が自機でないと判定して、ステップＢ７に進む。
【００８１】
ステップＢ７では、主のクライアントに再生を要求して、終了する。主のクライアントは、選択されたコンテンツのレコードの「主」欄のＩＰアドレスのクライアントである。ステップＢ８では、副のクライアントに再生を要求する。副のクライアントは、選択されたコンテンツのレコードの「副」欄のＩＰアドレスのクライアントである。ステップＢ９では、自機で対象分割ファイルを再生して、終了する。
【００８２】
図２４は、図１に示したクライアント２０での他機からの要求による連携再生ＤＢ更新処理のフローチャートである。連携再生ＤＢ更新処理は、他機からの要求によってコンテンツを連携して再生する処理および他機からの要求によって連携情報ＤＢ６０を更新する処理を行う。他機からの要求の有無を確認し、要求があればその要求を処理するときに、ステップＣ１に移る。
【００８３】
ステップＣ１では、再生要求を受信したか否かを判定する。再生要求を受信すると、ステップＣ３に進み、再生要求を受信しないと、ステップＣ２に進む。ステップＣ２では、ＤＢ変更要求であるか否かを判定する。分割ファイルおよび連携情報、または更新要求を受信すると、ＤＢ変更要求であると判定し、ステップＣ９に進み、分割ファイルおよび連携情報、ならびに更新要求を受信しないと、ＤＢ変更要求でないと判定し、終了する。
【００８４】
ステップＣ３では、再生要求が主のコンテンツ再生要求か否かを判定する。主クライアントに対する再生要求であると、再生要求が主のコンテンツ再生要求であると判定し、ステップＣ５に進み、主クライアントに対する再生要求でないと、再生要求が主のコンテンツ再生要求でないと判定し、ステップＣ４に進む。ステップＣ４では、再生要求が副のコンテンツ再生要求か否かを判定する。副クライアントに対する再生要求であると、再生要求が副のコンテンツ再生要求であると判定し、ステップＣ８に進み、副クライアントに対する再生要求でないと、再生要求が副のコンテンツ再生要求でないと判定し、終了する。
【００８５】
ステップＣ５では、連携情報ＤＢ６０から副クライアントのＩＰアドレスを読み出す。ステップＣ６では、読み出したＩＰアドレスのクライアントに再生要求を送信する。ステップＣ７では、自機での対象分割ファイルを再生して、終了する。ステップＣ８では、対象分割ファイルを再生して、終了する。
【００８６】
ステップＣ９では、登録要求であるか否かを判定する。分割ファイルおよび連携情報を受信すると、登録要求であると判定し、ステップＣ１１に進む。分割ファイルおよび連携情報を受信しないと、登録要求でないと判定し、ステップＣ１０に進む。ステップＣ１０では、更新要求を受信したか否かを判定する。更新要求は、レコードの内容の変更要求またはコンテンツの削除要求である。更新要求を受信すると、ステップＣ１２に進み、更新要求を受信しないと、終了する。
【００８７】
ステップＣ１１では、コンテンツをＤＢに登録して、終了する。すなわち、受信した分割ファイルを記録部２３に記憶するとともに、受信した連携情報を連携情報ＤＢ６０に記憶して、終了する。ステップＣ１２では、項目の修正要求であるか否かを判定する。レコードの内容の変更要求であると、項目の修正要求であると判定し、ステップＣ１４に進み、レコードの内容の変更要求でないと、項目の修正要求でないと判定し、ステップＣ１３に進む。ステップＣ１３では、コンテンツの削除要求であるか否かを判定する。コンテンツの削除要求であると、ステップＣ１５に進み、コンテンツの削除要求ででないと、終了する。ステップＣ１４では、連携情報ＤＢ６０の該当項目を変更して、すなわち連携情報ＤＢ６０の該当レコードの内容を変更して終了する。ステップＣ１５では、連携情報ＤＢ６０の該当項目を削除して、すなわち記録部２３から該当するコンテンツを削除するとともに、連携情報ＤＢ６０の該当レコードを削除して、終了する。
【００８８】
図２５は、図１８に示した主クライアントの同期再生処理のフローチャートである。主クライアントの同期再生処理は、図２３に示したステップＢ９あるいは図２４に示したステップＣ７から呼び出され、呼び出されると、ステップＤ１に移る。
【００８９】
ステップＤ１では、タイムスタンプ送出ＩＰアドレス／ポートを通知する。すなわち、タイムスタンプを受信するためのタイムスタンプ送出ＩＰアドレス／ポートつまりマルチキャストＩＰ／ポートのＩＰアドレス／ポート番号を、副クライアントに送信する。ステップＤ２では、副側からの応答を受信する。すなわち、ＩＰアドレス／ポート番号を受信し、受信したＩＰアドレス／ポート番号を記録部２３に設定したことを示す応答を副クライアントから受信する。ステップＤ３では、すべての副側に設定されたか否かを判定する。すべての副クライアントから応答を受信すると、すべての副側に設定されたと判定し、ステップＤ４に進む。すべての副クライアントから応答を受信しないと、すべての副側に設定されていないと判定し、ステップＤ２に戻る。
【００９０】
ステップＤ４では、再生コンテンツのタイムスタンプを送信する。ステップＤ５では、タイムスタンプ送出ＩＰアドレス／ポートからタイムスタンプを受信する。ステップＤ６では、受信したタイムスタンプと同じタイムスタンプのフレームを再生する。すなわち、受信したタイムスタンプと同じタイムスタンプのフレームを記録部２３に記録したコンテンツから読み出して再生する。ステップＤ７では、終了処理であるか否かを判定する。再生しているコンテンツが終了すると、終了処理であると判定し、終了する。再生しているコンテンツが終了しないと、終了処理でないと判定し、ステップＤ４に戻る。
【００９１】
図２６は、図１８に示した副クライアントの同期再生処理のフローチャートである。副クライアントの同期再生処理は、図２４に示したステップＣ８から呼び出され、呼び出されると、ステップＥ１に移る。
【００９２】
ステップＥ１では、タイムスタンプ送出ＩＰアドレス／ポートを受信する。すなわち、タイムスタンプを受信するためのＩＰアドレス／ポート番号を、主クライアントから受信する。ステップＥ２では、受信したＩＰアドレス／ポート番号を記録部２３に設定する。ステップＥ３では、主側に設定応答する。すなわち、ＩＰアドレス／ポート番号を設定したことを示す応答を主クライアントに送信する。
【００９３】
ステップＥ４では、タイムスタンプ送出ＩＰアドレス／ポートからタイムスタンプを受信する。ステップＥ５では、受信したタイムスタンプと同じタイムスタンプのフレームを再生する。すなわち、受信したタイムスタンプと同じタイムスタンプのフレームを記録部２３に記録したコンテンツから読み出して再生する。ステップＥ６では、終了処理であるか否かを判定する。再生しているコンテンツが終了すると、終了処理であると判定し、終了する。再生しているコンテンツが終了しないと、終了処理でないと判定し、ステップＥ３に戻る。
【００９４】
図２７は、図１に示したサーバ１０が処理する位置設定処理のフローチャートである。位置設定処理は、クライアント２０（以下「モニタ」ともいう）の構成つまり配置位置を設定する処理を行う。モニタの構成を設定するときに、ステップＦ１に移る。
【００９５】
ステップＦ１では、前回の設定を使用するか否かを判定する。すなわち、たとえば、図示しない入力装置によって、記憶部１１に記憶されている前回用いたモニタの構成の設定を使用することが指示されると、前回の設定を使用すると判定する。前回の設定を使用する場合は、ステップＦ５に進み、前回の設定を使用しない場合は、ステップＦ２に進む。ステップＦ２では、自動設定を行うか否かを判定する。すなわち、たとえば、図示しない入力装置によって、モニタの構成を自動で設定する指示があると、自動設定を行うと判定する。自動設定を行なう場合は、ステップＦ７に進み、自動設定を行わない場合は、ステップＦ３に進む。
【００９６】
ステップＦ３では、手動で構成を設定する。手動設定は、たとえば、図７に示した構成設定画面４０によってモニタの構成の設定を行う。ステップＦ４では、現在の設定を保存して、終了する。すなわち、ステップＦ３で新たに設定されたモニタの構成の設定を記憶部１１に記憶して、終了する。ステップＦ５では、設定値があるか否かを判定する。すなわち、記憶部１１にモニタの構成の設定が記憶されていると、設定値があると判定する。設定値があると、ステップＦ６に進み、設定値がないと、ステップＦ２に進む。ステップＦ６では、前回の保存された設定値を使用し、終了する。すなわち、モニタの構成の設定を、記憶部１１に記憶されている設定値そのままに設定し、終了する。
【００９７】
ステップＦ７では、モニタの構成を自動で設定する後述する自動設定処理を呼び出す。ステップＦ８では、コンテンツを表示させるモニタのかたまりを選択する後述する有効ブロック選択処理を呼び出す。有効ブロックは、隣接するモニタによって構成されるブロックのうちコンテンツを表示させるブロックである。ステップＦ９では、現在の設定を保存して、終了する。すなわち、ステップＦ７およびステップＦ８で新たに設定されたモニタの構成の設定を記憶部１１に記憶して、終了する。
【００９８】
図２８は、図１に示したサーバ１０が用いる受信配列およびｐｉｅｃｅ配列の例を示す。図では、「ｐｉｅｃｅ」を「Ｐｉｅｃｅ」とも記す。図２８（ａ）は、モニタ状態とそのモニタ状態に対応する受信配列を示す。モニタ状態は、モニタの実際の構成を示す。受信配列は、サーバ１０が各モニタから受信した隣接情報を、たとえばモニタから応答があった順序で配列したものであり、サーバ１０の記憶部１１に記憶される。受信配列は、各モニタのクライアントＩＤを示す「自」の項目、ならびに各モニタの上側、左側、下側、および右側に隣接するモニタのクライアントＩＤをそれぞれ示す「上」、「左」、「下」、および「右」の項目がある。以下、「上」、「左」、「下」、および「右」の項目欄に示されるクライアントＩＤを隣接モニタＩＤという。
【００９９】
図２８（ａ）に示したモニタは、縦３段横３列の９台のモニタによって構成される。上段には、左側からクライアントＩＤが「Ｂ」、「Ｄ」、および「Ｆ」の３台のモニタが配置され、中段には、左側からクライアントＩＤが「Ｃ」、「Ｅ」、および「Ｇ」の３台のモニタが配置され、下段には、左側からクライアントＩＤが「Ａ」、「Ｈ」、および「Ｉ」の３台のモニタが配置されている。
【０１００】
これに対応する受信配列には、たとえば自ＩＤが「Ｃ」のモニタについては、「上」の隣接モニタＩＤが「Ｂ」であり、「左」の隣接モニタＩＤが「ＮＵＬＬ」であり、「下」の隣接モニタＩＤが「Ａ」であり、「右」の隣接モニタＩＤが「Ｅ」である。「ＮＵＬＬ」は、隣接するモニタが存在しないことを示す。同様に、自ＩＤが「Ｅ」については、「Ｄ」、「Ｃ」、「Ｈ」、および「Ｇ」であり、自ＩＤが「Ｉ」については、「Ｇ」、「Ｈ」、「ＮＵＬＬ」、および「ＮＵＬＬ」であり、自ＩＤが「Ｄ」については、「ＮＵＬＬ」、「Ｂ」、「Ｅ」、および「Ｆ」であり、自ＩＤが「Ｇ」については、「Ｆ」、「Ｅ」、「Ｉ」、および「ＮＵＬＬ」であり、自ＩＤが「Ａ」については、「Ｃ」、「ＮＵＬＬ」、「ＮＵＬＬ」、および「Ｈ」であり、自ＩＤが「Ｆ」については、「ＮＵＬＬ」、「Ｄ」、「Ｇ」、および「ＮＵＬＬ」であり、自ＩＤが「Ｂ」については、「ＮＵＬＬ」、「ＮＵＬＬ」、「Ｃ」、および「Ｄ」であり、ならびに自ＩＤが「Ｈ」については、「Ｅ」、「Ａ」、「ＮＵＬＬ」、および「Ｉ」である。
【０１０１】
図２８（ｂ）は、ｐｉｅｃｅ配列を示す。ｐｉｅｃｅ配列は、応答を受信した順序を表すｐｉｅｃｅ番号順に、受信した隣接情報の項目と配置の確認の状態を表す「チェック」の項目を２次元に配列したものである。ｐｉｅｃｅ配列は、ｐｉｅｃｅ番号毎に、「自ＩＤ」、「上ＩＤ」、「左ＩＤ」、「下ＩＤ」、「右ＩＤ」、および「チェック」の６つの項目がある。これらの６つの項目のうち、「チェック」を除く項目は、図２８（ａ）に示した受信配列の５つの項目に対応する。「チェック」の項目は、配置の確認の状態を表し、「０」〜「２」の値が入る。「０」は、配置の確認が完了した状態であることを示し、「１」は、初期値つまり確認が行われていない状態であることを示し、「２」は、配置の確認が完了しているモニタに隣接しており、かつまだ確認が行われていない状態であることを示す。
【０１０２】
ｐｉｅｃｅ配列の各要素は、ｐｉｅｃｅ［ｍ］［ｎ］で表す。［ｍ］は、ｐｉｅｃｅ番号である。［ｎ］は、「自ＩＤ」、「上ＩＤ」、「左ＩＤ」、「下ＩＤ」、「右ＩＤ」、および「チェック」の６つの項目に対応する番号であり、この順序で「０」からの整数を上昇順に割り当てた番号である。つまり、「自ＩＤ」が［０］、「上ＩＤ」が［１］、「左ＩＤ」が［２］、「下ＩＤ」が［３］、「右ＩＤ」が［４］、および「チェック」が［５］である。ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［８］［４］には、図２８（ａ）に示した受信配列の内容がそのまま入り、接続がないところは「ＮＵＬＬ」がそのまま入る。
【０１０３】
図２９は、図１に示したサーバ１０が用いる確認済ＩＤ格納配列の例を示す。確認済ＩＤ格納配列ｓｕｍｉ［］は、配置の確認が完了したモニタのクライアントＩＤを登録する配列であり、記憶部１１に記憶される。図では、「ｓｕｍｉ」を「Ｓｕｍｉ」とも記す。確認済ＩＤ格納配列に登録されるモニタは、ｐｉｅｃｅ配列のチェック欄が「０」のモニタであり、そのモニタのクライアントＩＤつまり「自ＩＤ」が確認済ＩＤ格納配列に登録される。図２９に示した確認済ＩＤ格納配列は、初期化されて、すべて空欄つまり「ＮＵＬＬ」の状態を示している。
【０１０４】
図３０は、図１に示したサーバ１０が用いる端ＩＤ格納配列の例を示す。端ＩＤ格納配列ｈａｊｉ［］は、左側および上側に隣接するモニタのないモニタのクライアントＩＤを登録する配列であり、記憶部１１に記憶される。図では、「ｈａｊｉ」を「Ｈａｊｉ」とも記す。図３０（ａ）に示した端ＩＤ格納配列は、初期化されて、すべて空欄つまり「ＮＵＬＬ」の状態を示している。図３０（ｂ）に示した端ＩＤ格納配列は、後述する端ＩＤ検索処理が行われた後の状態を示しており、クライアントＩＤ「Ｂ」のモニタが登録されている。図３５に示す端ＩＤ検索処理で用いる「ｈａｊｉ＿ｃｏｕｎｔ」は、左側および上側に隣接するモニタのないモニタの数、すなわち端ＩＤ格納配列に登録されているモニタの数を示し、ｈａｊｉ［０］〜ｈａｊｉ［ｈａｊｉ＿ｃｏｕｎｔ−１］に、左側および上側に隣接するモニタのないモニタのクライアントＩＤが登録される。
【０１０５】
図３１は、図２７に示した位置設定処理から呼び出される自動設定処理のフローチャートである。自動設定処理は、モニタの構成を自動で設定する。図２７に示したステップＦ７で呼び出されると、ステップＧ１に移る。
【０１０６】
ステップＧ１では、各モニタから受信した隣接情報をｐｉｅｃｅ配列に格納する後述する構成取得・格納処理を呼び出す。ステップＧ２では、確認済ＩＤ格納配列を初期化する後述する確認済ＩＤ格納配列確保処理を呼び出す。ステップＧ３では、端ＩＤ格納配列を初期化する後述する端ＩＤ格納配列確保処理を呼び出す。ステップＧ４では、左側および上側に隣接するモニタのないモニタを検索する後述する端ＩＤ検索処理を呼び出す。
【０１０７】
ステップＧ５では、「ｂｌｏｃｋ＝０」、「ｃｈｋ＿ｔｏｔａｌ＝０」、および「ＢＢ＝０」とする。すなわち、隣接するモニタによって構成されるブロックの数をカウントするためのカウンタｂｌｏｃｋ、確認済みのモニタの数ｃｈｋ＿ｔｏｔａｌ、および端ＩＤの確認用カウンタＢＢを「０」にクリアする。図では、「ｂｌｏｃｋ」を「Ｂｌｏｃｋ］、および「ｃｈｋ＿ｔｏｔａｌ」を「Ｃｈｋ＿ｔｏｔａｌ」とも記す。ステップＧ６では、ｈａｊｉ［ＢＢ］のＩＤを持つｐｉｅｃｅ配列でｐｉｅｃｅ［］［５］≠０か否かを判定する。すなわち端ＩＤ格納配列ｈａｊｉ［］のＢＢ番目のモニタのクライアントＩＤのｐｉｅｃｅ配列のチェック項目ｐｉｅｃｅ［］［５］の値が「０」つまり確認済か否かを判定する。ｐｉｅｃｅ［］［５］≠０であると、つまり確認済でないと、ステップＧ７に進み、ｐｉｅｃｅ［］［５］≠０でないと、つまりｐｉｅｃｅ［］［５］＝０であると、既にそのモニタは設定済であるので、ステップＧ１１に進む。
【０１０８】
ステップＧ７では、隣接するモニタによって構成されるブロックの確定と、各ブロックを構成するモニタのマップの作成を行う後述するマップ格納処理を呼び出す。ステップＧ８では、「ｃｈｋ＿ｔｏｔａｌ＝ｃｈｋ＿ｔｏｔａｌ＋ｃｏｕｎｔ＋１」とする。すなわち、確認済みのモニタの数ｃｈｋ＿ｔｏｔａｌに、ステップＧ７のマップ格納処理でカウントされたｃｏｕｎｔの値と「１」とを加算する。ステップＧ９では、ｃｈｋ＿ｔｏｔａｌ＜ｔｏｔａｌか否かを判定する。確認済みのモニタの数ｃｈｋ＿ｔｏｔａｌが、モニタの数ｔｏｔａｌよりも小さいと、ステップＧ１０に進み、確認済みのモニタの数ｃｈｋ＿ｔｏｔａｌが、モニタの数ｔｏｔａｌよりも小さくないと、終了する。ステップＧ１０では、「ｂｌｏｃｋ＝ｂｌｏｃｋ＋１」とする。すなわち、ブロックの数ｂｌｏｃｋに「１」を加算する。ステップＧ１１では、「ＢＢ＝ＢＢ＋１」とし、ステップＧ６に戻る。すなわち、端ＩＤの確認用カウンタＢＢに「１」を加算し、ステップＧ６に戻る。
【０１０９】
図３２は、図３１に示した自動設定処理から呼び出される構成取得・格納処理のフローチャートである。構成取得・格納処理は、ｐｉｅｃｅ配列を作成し、モニタ台数ｔｏｔａｌを確定する。図では、「ｔｏｔａｌ」を「Ｔｏｔａｌ」とも記す。図３１に示したステップＧ１で呼び出されると、ステップＨ１に移る。
【０１１０】
ステップＨ１では、「ｔｏｔａｌ＝０」とし、ｐｉｅｃｅ［］の確保／クリアを行う。すなわち、モニタの数ｔｏｔａｌを「０」にクリアし、ｐｉｅｃｅ配列を記憶するための記憶エリアを記憶部１１に確保し、その記憶エリアをＮＵＬＬにクリアする。ステップＨ２では、制御ポートでクライアント２０つまりモニタに対してＩＤ要求を送信する。すなわち、制用ポートを介して、各モニタに対して、各モニタのクライアントＩＤおよび各モニタが検出した隣接クライアントのクライアントＩＤを含む隣接情報の送信要求を送信する。制御ポートは、サーバ１０とモニタとの間で制御情報、たとえば隣接情報およびその送信要求などの情報を送受信するためのチャネルであり、ネットワークのチャネルの中で特定のＩＰアドレスおよびポート番号が割り当てられたチャネルである。
【０１１１】
ステップＨ３では、モニタから応答つまり隣接情報の応答があるか否かを判定する。モニタから応答があると、ステップＨ４に進み、モニタから応答がないと、ステップＨ６に進む。ステップＨ４では、「ｐｉｅｃｅ［ｔｏｔａｌ］［０］＝受信ＩＤ」とし、「ｐｉｅｃｅ［ｔｏｔａｌ］［０］からｐｉｅｃｅ［ｔｏｔａｌ］［４］に受信隣接情報を格納」し、「ｐｉｅｃｅ［ｔｏｔａｌ］［５］＝１」とする。すなわち、ｔｏｔａｌ番目のｐｉｅｃｅ配列の「自ＩＤ」に、隣接情報に含まれる隣接情報を送信したモニタのクライアントＩＤを登録し、ｔｏｔａｌ番目のｐｉｅｃｅ配列の「上ＩＤ」、「左ＩＤ」、「下ＩＤ」、および「右ＩＤ」に、それぞれ隣接情報に含まれる上側に隣接するモニタのクライアントＩＤ、左側に隣接するモニタのクライアントＩＤ、下側に隣接するモニタのクライアントＩＤ、および右側に隣接するモニタのクライアントＩＤを登録する。隣接するモニタがない場合は、隣接するモニタがないことを示す「ＮＵＬＬ」が登録される。ｔｏｔａｌ番目のｐｉｅｃｅ配列の「チェック」の項目には、初期値「１」が登録される。
【０１１２】
ステップＨ５では、「ｔｏｔａｌ＝ｔｏｔａｌ＋１」とし、ｔｏｔａｌに応答のあったモニタ数を「１」増やす。ステップＨ６では、タイムアウト内か否かを判定する。すなわち、ステップＨ２で送信したＩＤ要求に対する応答を監視する監視時間、たとえば１０秒が経過していないか否かを判定する。タイムアウト内つまり監視時間内であると、ステップＨ３に戻り、タイムアウト内つまり監視時間内でないと、終了する。
【０１１３】
図３３は、図３１に示した自動設定処理から呼び出される確認済ＩＤ格納配列確保処理のフローチャートである。図３１に示したステップＧ２で呼び出されると、ステップＪ１に移る。ステップＪ１では、ｓｕｍｉ［］の確保／クリアを行い、終了する。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］を記憶するための記憶エリアを記憶部１１に確保し、その記憶エリアをＮＵＬＬにクリアし、終了する。
【０１１４】
図３４は、図３１に示した自動設定処理から呼び出される端ＩＤ格納配列確保処理のフローチャートである。図３１に示したステップＧ３で呼び出されると、ステップＫ１に移る。ステップＫ１では、ｈａｊｉ［］の確保／クリアを行い、終了する。すなわち、端ＩＤ格納配列ｈａｊｉ［］を記憶するための記憶エリアを記憶部１１に確保し、その記憶エリアをＮＵＬＬにクリアし、終了する。
【０１１５】
図３５は、図３１に示した自動設定処理から呼び出される端ＩＤ検索処理のフローチャートである。図３１に示したステップＧ４で呼び出されると、ステップＬ１に移る。ステップＬ１では、「ｈａｊｉ＿ｃｏｕｎｔ＝０」とする。すなわち、左側および上側に隣接するモニタのないモニタの数ｈａｊｉ＿ｃｏｕｎｔを「０」にクリアする。ステップＬ２では、「ｃ＝０」とする。すなわち、ｐｉｅｃｅ配列のうちでチェック対象の配列のｐｉｅｃｅ番号「ｃ」を「０」にクリアする。図では、「ｃ」を「Ｃ」とも記す。
【０１１６】
ステップＬ３では、ｐｉｅｃｅ［ｃ］［１］＝ＮＵＬＬ＆ｐｉｅｃｅ［ｃ］［２］＝ＮＵＬＬか否かを判定する。すなわち、チェック対象の配列のモニタが、左側および上側に隣接するモニタのないモニタであるか否かを判定する。ｐｉｅｃｅ［ｃ］［１］＝ＮＵＬＬ＆ｐｉｅｃｅ［ｃ］［２］＝ＮＵＬＬであると、つまりチェック対象の配列のモニタが左側および上側に隣接するモニタのないモニタであると、ステップＬ６に進み、ｐｉｅｃｅ［ｃ］［１］＝ＮＵＬＬ＆ｐｉｅｃｅ［ｃ］［２］＝ＮＵＬＬでないと、つまりチェック対象の配列のモニタが左側または上側に隣接するモニタのあるモニタであると、ステップＬ４に進む。ステップＬ４では、「ｃ＝ｃ＋１」とする。すなわち、ｐｉｅｃｅ配列のうちでチェック対象の配列のｐｉｅｃｅ番号「ｃ」に「１」を加算する。ステップＬ５では、ｃ＜ｔｏｔａｌか否かを判定する。すなわち、ｐｉｅｃｅ配列のうちでチェック対象の配列のｐｉｅｃｅ番号「ｃ」の値が、モニタの数ｔｏｔａｌよりも小さいか否かを判定する。ｃ＜ｔｏｔａｌであると、つまりｐｉｅｃｅ配列のうちでチェック対象の配列のｐｉｅｃｅ番号「ｃ」の値が、モニタの数ｔｏｔａｌよりも小さいと、ステップＬ３に戻り、ｃ＜ｔｏｔａｌでないと、つまりｐｉｅｃｅ配列のうちでチェック対象の配列のｐｉｅｃｅ番号「ｃ」の値が、モニタの数ｔｏｔａｌよりも小さくないと、終了する。
【０１１７】
ステップＬ６では、「ｈａｊｉ［ｈａｊｉ＿ｃｏｕｎｔ］＝ｐｉｅｃｅ［ｃ］［０］」とする。すなわち、端ＩＤ格納配列のｈａｊｉ＿ｃｏｕｎｔ番目に、左側および上側に隣接するモニタのないモニタのクライアントＩＤを登録する。ステップＬ７では、「ｈａｊｉ＿ｃｏｕｎｔ＝ｈａｊｉ＿ｃｏｕｎｔ＋１」として、ステップＬ４に進む。すなわち、左側および上側に隣接するモニタのないモニタの数ｈａｊｉ＿ｃｏｕｎｔに「１」を加算して、ステップＬ４に進む。
【０１１８】
図３６は、図３１に示した自動設定処理から呼び出されるマップ格納処理の前半部分のフローチャートである。マップ格納処理は、隣接するモニタによって構成されるブロックの確定と、各ブロックを構成するモニタのマップの作成を行う。図３１に示したステップＧ７で呼び出されると、ステップＭ１に移る。
【０１１９】
ステップＭ１では、「ｃｏｕｎｔ＝０、ＭＭ＝１００、ＮＮ＝１００、ｃｃ＝０」とする。まず、ブロック内のモニタの数をカウントするためのカウンタｃｏｕｎｔを「０」にクリアする。次に、１つのブロックについて、モニタを配置する縦方向の候補の位置を示す値ＭＭに、最初にモニタを配置する縦方向の位置を示す値「１００」、およびモニタを配置する横方向の候補の位置を示す値ＮＮに最初にモニタを配置する横方向の位置を示す値「１００」を設定する。この例では、最初にモニタを配置する縦方向および横方向の位置の値をいずれも「１００」としたが、この値に限定されるものではない。さらに、最初のモニタまで戻ったか否かを確認するためのカウンタｃｃを「０」にクリアする。
【０１２０】
ステップＭ２では、「ｍａｔ［ｂｌｏｃｋ］［０］［０］〜ｍａｔ［ｂｌｏｃｋ］［２５４］［２５４］＝ＮＵＬＬ、ｔｅｍｐ＝０」とする。すなわちブロック毎のマップを表す３次元配列ｍａｔの各要素を「ＮＵＬＬ」に初期化し、ｔｅｍｐを「０」にクリアする。ｂｌｏｃｋは、ブロックの数をカウントするためのカウンタで、初期値は「０」であり、ｍａｔ配列の１番目の要素である。ｍａｔ配列の２番目の要素は、モニタの縦方向の位置を示し、ｍａｔ配列の３番目の要素は、モニタの縦方向の位置を示す。ストリーミングでは、同じセグメント内で流せるＩＤは、「０」〜「２５４」であるので、この例では、ｍａｔ配列の２番目および３番目の要素の範囲を、「０」〜「２５４」としたが、これに限定されるものではない。ｍａｔ配列の２番目および３番目の要素の範囲が、「０」〜「２５４」であるので、モニタの位置として、縦横いずれも２５５の位置が用意され、２５５×２５５の升目の中に各モニタの位置が設定される。図では、ｍａｔのことを「Ｍａｔ」、「ｔｅｍｐ」のことを「Ｔｅｍｐ」とも記す。
【０１２１】
ステップＭ３では、「次の確認ＩＤ＝ｈａｊｉ［ＢＢ］」とする。すなわち、次に確認するモニタのクライアントＩＤを、端ＩＤ格納配列ｈａｊｉ［］のうち、「ＢＢ」の値が示す配列位置に登録されている確認済ＩＤとする。つまり左側および上側に隣接するモニタがないモニタとして端ＩＤ格納配列に登録されたモニタのうち、「ＢＢ」の値が示す配列位置に登録されているクライアントＩＤとする。
【０１２２】
ステップＭ４では、「現ＩＤ＝次の確認ＩＤ、次の確認ＩＤ＝ＮＵＬＬ」とする。すなわち、現ＩＤつまりこれから隣接するモニタがあるか否かを確認するモニタのクライアントＩＤを、「次の確認ＩＤ」が示すクライアントＩＤとした後、「次の確認ＩＤ」を「ＮＵＬＬ」に初期化する。ステップＭ５では、「ｓｕｍｉ［ｃｏｕｎｔ］＝現ＩＤ、現ＩＤのｐｉｅｃｅ［］［５］＝０」とする。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］に現ＩＤが示すクライアントＩＤを登録し、現ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目を「０」つまり確認済とする。
【０１２３】
ステップＭ６では、「Ｍ＝ＭＭ、Ｎ＝ＮＮ」とする。すなわち、マップの縦方向の位置を示すポインタＭの値をＭＭの値とし、マップの横方向の位置を示すポインタＮの値をＮＮの値とする。ステップＭ７では、ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］の中から、現ＩＤを含む配列を取り出す。ステップＭ８では、「ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ］＝現ＩＤのｐｉｅｃｅ［］［０］」とする。すなわち、マップの縦Ｍ番目および横Ｎ番目の位置を、現ＩＤが示すクライアントＩＤとする。
【０１２４】
ステップＭ９では、上側に隣接するモニタがあるか否かを確認する後述する上の隣接処理を呼び出す。ステップＭ１０では、左側に隣接するモニタがあるか否かを確認する後述する左の隣接処理を呼び出す。ステップＭ１１では、下側に隣接するモニタがあるか否かを確認する後述する下の隣接処理を呼び出す。ステップＭ１２では、右側に隣接するモニタがあるか否かを確認する後述する右の隣接処理を呼び出す。ステップＭ１３では、「次の確認ＩＤ」＝ＮＵＬＬであるか否かを判定する。「次の確認ＩＤ」がＮＵＬＬであると、つまり次に確認すべきモニタが隣接するモニタの中にないと、図３７に示すステップＭ２０に進み、「次の確認ＩＤ」がＮＵＬＬでないと、つまり次に確認すべきモニタが隣接するモニタの中にあると、ステップＭ１４に進む。ステップＭ１４では、「ｃｏｕｎｔ＝ｃｏｕｎｔ＋１」として、ステップＭ４に戻る。すなわち、ブロック内のモニタの数をカウントするためのカウンタｃｏｕｎｔに「１」を加算して、ステップＭ４に戻る。
【０１２５】
図３７は、図３１に示した自動設定処理から呼び出されるマップ格納処理の後半部分のフローチャートである。図３６に示したステップＭ１３で、「次の確認ＩＤ」がＮＵＬＬであると判定されたとき、ステップＭ２０に移る。
【０１２６】
ステップＭ２０では、「ｃｃ＝ｃｏｕｎｔ」とする。すなわち、最初のモニタまで戻ったか否かを確認するためのカウンタｃｃをブロック内のモニタの数をカウントするためのカウンタｃｏｕｎｔの値とする。ステップＭ２１では、ｃｃ＜０であるか否かを判定する。ｃｃ＜０であると、つまり最初のモニタまで戻ると、終了し、ｃｃ＜０でないと、つまり最初のモニタまで戻っていないと、ステップＭ２２に進む。
【０１２７】
ステップＭ２２では、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［１］＝ＮＵＬＬであるか否かを判定する。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］に登録されているクライアントＩＤのうち、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の上ＩＤがＮＵＬＬか否かを判定する。ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［１］＝ＮＵＬＬでないとき、つまり上側に隣接するモニタがある場合、ステップＭ２７に進み、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［１］＝ＮＵＬＬであるとき、つまり上側に隣接するモニタがない場合、ステップＭ２３に進む。
【０１２８】
ステップＭ２３では、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［２］＝ＮＵＬＬであるか否かを判定する。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］に登録されているクライアントＩＤのうち、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の左ＩＤがＮＵＬＬか否かを判定する。ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［２］＝ＮＵＬＬでないとき、つまり左側に隣接するモニタがある場合、ステップＭ２８に進み、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［２］＝ＮＵＬＬであるとき、つまり左側に隣接するモニタがない場合、ステップＭ２４に進む。
【０１２９】
ステップＭ２４では、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［３］＝ＮＵＬＬであるか否かを判定する。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］に登録されているクライアントＩＤのうち、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の下ＩＤがＮＵＬＬか否かを判定する。ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［３］＝ＮＵＬＬでないとき、つまり下側に隣接するモニタがある場合、ステップＭ２９に進み、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［３］＝ＮＵＬＬであるとき、つまり下側に隣接するモニタがない場合、ステップＭ２５に進む。
【０１３０】
ステップＭ２５では、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［４］＝ＮＵＬＬであるか否かを判定する。すなわち、確認済ＩＤ格納配列ｓｕｍｉ［］に登録されているクライアントＩＤのうち、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の右ＩＤがＮＵＬＬか否かを判定する。ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［４］＝ＮＵＬＬでないとき、つまり右側に隣接するモニタがある場合、ステップＭ３０に進み、ｓｕｍｉ［ｃｃ］のＩＤのｐｉｅｃｅ［］［４］＝ＮＵＬＬであるとき、つまり右側に隣接するモニタがない場合、ステップＭ２６に進む。ステップＭ２６は、「ｃｃ＝ｃｃ−１」とする。すなわち、最初のモニタまで戻ったか否かを確認するためのカウンタｃｃから「１」減算し、ステップＭ２１に戻る。
【０１３１】
ステップＭ２７では、「次の確認ＩＤ＝ｓｕｍｉ［ｃｃ］のＩＤを持つｐｉｅｃｅ［］［１］」として、ステップＭ３１に進む。すなわち、「次の確認ＩＤ」を、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の上ＩＤのクライアントＩＤとして、ステップＭ３１に進む。ステップＭ２８では、「次の確認ＩＤ＝ｓｕｍｉ［ｃｃ］のＩＤを持つｐｉｅｃｅ［］［２］」として、ステップＭ３１に進む。すなわち、「次の確認ＩＤ」を、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の左ＩＤのクライアントＩＤとして、ステップＭ３１に進む。ステップＭ２９では、「次の確認ＩＤ＝ｓｕｍｉ［ｃｃ］のＩＤを持つｐｉｅｃｅ［］［３］」として、ステップＭ３１に進む。すなわち、「次の確認ＩＤ」を、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の下ＩＤのクライアントＩＤとして、ステップＭ３１に進む。ステップＭ３０では、「次の確認ＩＤ＝ｓｕｍｉ［ｃｃ］のＩＤを持つｐｉｅｃｅ［］［４］」として、ステップＭ３１に進む。すなわち、「次の確認ＩＤ」を、ｓｕｍｉ［ｃｃ］に登録されているクライアントＩＤのｐｉｅｃｅ配列の右ＩＤのクライアントＩＤとして、ステップＭ３１に進む。
【０１３２】
ステップＭ３１では、「次の確認ＩＤ」があるｍａｔ［ｂｌｏｃｋ］のｍａｔ［ｂｌｏｃｋ］［Ｍ］［］とｍａｔ［ｂｌｏｃｋ］［］［Ｎ］とを探す。すなわち、「次の確認ＩＤ」が示すクライアントＩＤを含むブロックの中から、「次の確認ＩＤ」が位置する縦方向の位置Ｍと横方向の位置Ｎとを探す。具体的には、まず、ｓｕｍｉ［ｃｃ］のＩＤのモニタの位置を既に登録されているブロックのマップの中から探し、次に、探した位置を基準に、ｓｕｍｉ［ｃｃ］のＩＤのモニタの位置と「次の確認ＩＤ」が示すクライアントＩＤのモニタの位置との相対的な位置関係に基づいて、「次の確認ＩＤ」が示すクライアントＩＤのモニタの位置を確定し、その縦方向の位置をＭとし、横方向の位置をＮとする。
【０１３３】
ステップＭ３２では、「ＭＭ＝Ｍ、ＮＮ＝Ｎ」として、図３６に示したステップＭ１４に戻る。すなわち、ＭＭの値をＭの値とし、ＮＮの値をＮの値とする。ＭＭおよびＮＮを次に確認するモニタのマップ内の位置を表す値、つまりステップＭ３１で探したＭおよびＮの値にして、図３６に示したステップＭ１４に戻る。
【０１３４】
図３８は、図３６に示したマップ格納処理から呼び出される上の隣接処理のフローチャートである。上の隣接処理は、上側に隣接するモニタがあるか否かを確認する。図３６に示したステップＭ９で呼び出されると、ステップＮ１に移る。
【０１３５】
ステップＮ１では、現ＩＤのｐｉｅｃｅ［］［１］がＮＵＬＬでないか否かを判定する。現ＩＤのｐｉｅｃｅ［］［１］がＮＵＬＬでないと、つまり現ＩＤのｐｉｅｃｅ配列の上ＩＤにクライアントＩＤがあると、ステップＮ２に進み、現ＩＤのｐｉｅｃｅ［］［１］がＮＵＬＬであると、つまり現ＩＤのｐｉｅｃｅ配列の上ＩＤにクライアントＩＤがないと終了する。
【０１３６】
ステップＮ２では、現ＩＤのｐｉｅｃｅ［］［１］のクライアントＩＤが、ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあるか否かを判定する。すなわち、現ＩＤのｐｉｅｃｅ配列の上ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあるか否かを判定する。現ＩＤのｐｉｅｃｅ［］［１］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあると、つまり現ＩＤのｐｉｅｃｅ配列の上ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあると、ステップＮ３に進み、現ＩＤのｐｉｅｃｅ［］［１］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にないと、つまり現ＩＤのｐｉｅｃｅ配列の上ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にないと、終了する。
【０１３７】
ステップＮ３では、対象のｐｉｅｃｅ［］［５］が「０」でないか否かを判定する。すなわち、上ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が「０」でないか否かを判定する。対象のｐｉｅｃｅ［］［５］が「０」でないと、つまり上ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みでないと、ステップＮ４に進み、対象のｐｉｅｃｅ［］［５］が「０」であると、つまり上ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みであると、終了する。
【０１３８】
ステップＮ４では、ｍａｔ［ｂｌｏｃｋ］［Ｍ−１］［Ｎ］がＮＵＬＬでないか否かを判定する。すなわち、マップ上で１つ上の位置にクライアントＩＤが設定されているか否かを判定する。ｍａｔ［ｂｌｏｃｋ］［Ｍ−１］［Ｎ］がＮＵＬＬでないと、つまりマップ上で１つ上の位置にクライアントＩＤが設定されていると、ステップＮ７に進み、ｍａｔ［ｂｌｏｃｋ］［Ｍ−１］［Ｎ］がＮＵＬＬであると、つまりマップ上で１つ上の位置にクライアントＩＤが設定されていないと、ステップＮ５に進む。ステップＮ５では、「対象のｐｉｅｃｅ［］［５］＝２」とする。すなわち、上ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目を「２」にする。「２」は、配置の確認が完了しているモニタに隣接しており、かつまだ確認が行われていない状態であることを示す。ステップＮ６では、ｍａｔ［ｂｌｏｃｋ］［Ｍ−１］［Ｎ］に現ＩＤのｐｉｅｃｅ［］［１］を設定する。すなわち、マップ上で１つ上の位置に、現ＩＤのｐｉｅｃｅ配列の上ＩＤのクライアントＩＤを設定する。
【０１３９】
ステップＮ７では、現ＩＤを持つｐｉｅｃｅ［］［１］をＴＩＤに代入し、現ＩＤを持つｐｉｅｃｅ［］［１］をＮＵＬＬにする。すなわち現ＩＤのｐｉｅｃｅ配列の上ＩＤをＮＵＬＬにし、検索済とする。ＴＩＤは、次の確認ＩＤとすべきクライアントＩＤを一時的に記憶するためのワークである。ステップＮ８では、対象のＩＤを持つｐｉｅｃｅ［］［３］をＮＵＬＬにする。すなわち、「次の確認ＩＤ」のｐｉｅｃｅ配列の下ＩＤをＮＵＬＬにし、検索済とする。ステップＮ９では、「次の確認ＩＤ＝ＴＩＤ」とする。すなわち、「次の確認ＩＤ」を現ＩＤのｐｉｅｃｅ配列にあった上ＩＤのクライアントＩＤとする。ステップＮ１０では、「ＭＭ＝Ｍ−１、ＮＮ＝Ｎ」として、終了する。すなわち、ＭＭおよびＮＮを次に確認するモニタのマップ内の位置、つまり１つ上の位置を表す値にして、終了する。
【０１４０】
図３９は、図３６に示したマップ格納処理から呼び出される左の隣接処理のフローチャートである。左の隣接処理は、左側に隣接するモニタがあるか否かを確認する。図３６に示したステップＭ１０で呼び出されると、ステップＰ１に移る。
【０１４１】
ステップＰ１では、現ＩＤのｐｉｅｃｅ［］［２］がＮＵＬＬでないか否かを判定する。現ＩＤのｐｉｅｃｅ［］［２］がＮＵＬＬでないと、つまり現ＩＤのｐｉｅｃｅ配列の左ＩＤにクライアントＩＤがあると、ステップＰ２に進み、現ＩＤのｐｉｅｃｅ［］［２］がＮＵＬＬであると、つまり現ＩＤのｐｉｅｃｅ配列の左ＩＤにクライアントＩＤがないと終了する。
【０１４２】
ステップＰ２では、現ＩＤのｐｉｅｃｅ［］［２］のクライアントＩＤが、ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあるか否かを判定する。すなわち、現ＩＤのｐｉｅｃｅ配列の左ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあるか否かを判定する。現ＩＤのｐｉｅｃｅ［］［２］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあると、つまり現ＩＤのｐｉｅｃｅ配列の左ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあると、ステップＰ３に進み、現ＩＤのｐｉｅｃｅ［］［２］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にないと、つまり現ＩＤのｐｉｅｃｅ配列の左ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にないと、終了する。
【０１４３】
ステップＰ３では、対象のｐｉｅｃｅ［］［５］が「０」でないか否かを判定する。すなわち、左ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が「０」でないか否かを判定する。対象のｐｉｅｃｅ［］［５］が「０」でないと、つまり左ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みでないと、ステップＰ４に進み、対象のｐｉｅｃｅ［］［５］が「０」であると、つまり左ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みであると、終了する。
【０１４４】
ステップＰ４では、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ−１］がＮＵＬＬでないか否かを判定する。すなわち、マップ上で１つ左の位置にクライアントＩＤが設定されているか否かを判定する。ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ−１］がＮＵＬＬでないと、つまりマップ上で１つ左の位置にクライアントＩＤが設定されていると、ステップＰ７に進み、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ−１］がＮＵＬＬであると、つまりマップ上で１つ左の位置にクライアントＩＤが設定されていないと、ステップＰ５に進む。ステップＰ５では、「対象のｐｉｅｃｅ［］［５］＝２」とする。すなわち、左ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目を「２」にする。「２」は、配置の確認が完了しているモニタに隣接しており、かつまだ確認が行われていない状態であることを示す。ステップＰ６では、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ−１］に現ＩＤのｐｉｅｃｅ［］［２］を設定する。すなわち、マップ上で１つ左の位置に、現ＩＤのｐｉｅｃｅ配列の左ＩＤのクライアントＩＤを設定する。
【０１４５】
ステップＰ７では、現ＩＤを持つｐｉｅｃｅ［］［２］をＴＩＤに代入し、現ＩＤを持つｐｉｅｃｅ［］［２］をＮＵＬＬにする。すなわち現ＩＤのｐｉｅｃｅ配列の左ＩＤをＮＵＬＬにし、検索済とする。ステップＰ８では、対象のＩＤを持つｐｉｅｃｅ［］［４］をＮＵＬＬにする。すなわち、「次の確認ＩＤ」のｐｉｅｃｅ配列の右ＩＤをＮＵＬＬにし、検索済とする。ステップＰ９では、「次の確認ＩＤ」が設定されているか否かを判定する。「次の確認ＩＤ」が設定されていると、終了し、「次の確認ＩＤ」が設定されていないと、ステップＰ１０に進む。すなわち、図３８に示した上の隣接処理で、すでに「次の確認ＩＤ」が設定されている場合は、「次の確認ＩＤ」の更新をスキップする。
【０１４６】
ステップＰ１０では、「次の確認ＩＤ＝ＴＩＤ」とする。すなわち、「次の確認ＩＤ」を現ＩＤのｐｉｅｃｅ配列にあった左ＩＤのクライアントＩＤとする。ステップＰ１１では、「ＭＭ＝Ｍ、ＮＮ＝Ｎ−１」として、終了する。すなわち、ＭＭおよびＮＮを次に確認するモニタのマップ内の位置、つまり１つ左の位置を表す値にして、終了する。
【０１４７】
図４０は、図３６に示したマップ格納処理から呼び出される下の隣接処理のフローチャートである。下の隣接処理は、下側に隣接するモニタがあるか否かを確認する。図３６に示したステップＭ１１で呼び出されると、ステップＱ１に移る。
【０１４８】
ステップＱ１では、現ＩＤのｐｉｅｃｅ［］［３］がＮＵＬＬでないか否かを判定する。現ＩＤのｐｉｅｃｅ［］［３］がＮＵＬＬでないと、つまり現ＩＤのｐｉｅｃｅ配列の下ＩＤにクライアントＩＤがあると、ステップＱ２に進み、現ＩＤのｐｉｅｃｅ［］［３］がＮＵＬＬであると、つまり現ＩＤのｐｉｅｃｅ配列の下ＩＤにクライアントＩＤがないと終了する。
【０１４９】
ステップＱ２では、現ＩＤのｐｉｅｃｅ［］［３］のクライアントＩＤが、ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあるか否かを判定する。すなわち、現ＩＤのｐｉｅｃｅ配列の下ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあるか否かを判定する。現ＩＤのｐｉｅｃｅ［］［３］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあると、つまり現ＩＤのｐｉｅｃｅ配列の下ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあると、ステップＱ３に進み、現ＩＤのｐｉｅｃｅ［］［３］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にないと、つまり現ＩＤのｐｉｅｃｅ配列の下ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にないと、終了する。
【０１５０】
ステップＱ３では、対象のｐｉｅｃｅ［］［５］が「０」でないか否かを判定する。すなわち、下ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が「０」でないか否かを判定する。対象のｐｉｅｃｅ［］［５］が「０」でないと、つまり下ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みでないと、ステップＱ４に進み、対象のｐｉｅｃｅ［］［５］が「０」であると、つまり下ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みであると、終了する。
【０１５１】
ステップＱ４では、ｍａｔ［ｂｌｏｃｋ］［Ｍ＋１］［Ｎ］がＮＵＬＬでないか否かを判定する。すなわち、マップ上で１つ下の位置にクライアントＩＤが設定されているか否かを判定する。ｍａｔ［ｂｌｏｃｋ］［Ｍ＋１］［Ｎ］がＮＵＬＬでないと、つまりマップ上で１つ下の位置にクライアントＩＤが設定されていると、ステップＱ７に進み、ｍａｔ［ｂｌｏｃｋ］［Ｍ＋１］［Ｎ］がＮＵＬＬであると、つまりマップ上で１つ下の位置にクライアントＩＤが設定されていないと、ステップＱ５に進む。ステップＱ５では、「対象のｐｉｅｃｅ［］［５］＝２」とする。すなわち、下ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目を「２」にする。「２」は、配置の確認が完了しているモニタに隣接しており、かつまだ確認が行われていない状態であることを示す。ステップＱ６では、ｍａｔ［ｂｌｏｃｋ］［Ｍ＋１］［Ｎ］に現ＩＤのｐｉｅｃｅ［］［３］を設定する。すなわち、マップ上で１つ下の位置に、現ＩＤのｐｉｅｃｅ配列の下ＩＤのクライアントＩＤを設定する。
【０１５２】
ステップＱ７では、現ＩＤを持つｐｉｅｃｅ［］［３］をＴＩＤに代入し、現ＩＤを持つｐｉｅｃｅ［］［３］をＮＵＬＬにする。すなわち現ＩＤのｐｉｅｃｅ配列の下ＩＤをＮＵＬＬにし、検索済とする。ステップＱ８では、対象のＩＤを持つｐｉｅｃｅ［］［１］をＮＵＬＬにする。すなわち、「次の確認ＩＤ」のｐｉｅｃｅ配列の上ＩＤをＮＵＬＬにし、検索済とする。ステップＱ９では、「次の確認ＩＤ」が設定されているか否かを判定する。「次の確認ＩＤ」が設定されていると、終了し、「次の確認ＩＤ」が設定されていないと、ステップＱ１０に進む。すなわち、図３８に示した上の隣接処理または図３９に示した左の隣接処理で、すでに「次の確認ＩＤ」が設定されている場合は、「次の確認ＩＤ」の更新をスキップする。
【０１５３】
ステップＱ１０では、「次の確認ＩＤ＝ＴＩＤ」とする。すなわち、「次の確認ＩＤ」を現ＩＤのｐｉｅｃｅ配列にあった下ＩＤのクライアントＩＤとする。ステップＱ１１では、「ＭＭ＝Ｍ＋１、ＮＮ＝Ｎ」として、終了する。すなわち、ＭＭおよびＮＮを次に確認するモニタのマップ内の位置、つまり１つ下の位置を表す値にして、終了する。
【０１５４】
図４１は、図３６に示したマップ格納処理から呼び出される右の隣接処理のフローチャートである。右の隣接処理は、右側に隣接するモニタがあるか否かを確認する。図３６に示したステップＭ１２で呼び出されると、ステップＲ１に移る。
【０１５５】
ステップＲ１では、現ＩＤのｐｉｅｃｅ［］［４］がＮＵＬＬでないか否かを判定する。現ＩＤのｐｉｅｃｅ［］［４］がＮＵＬＬでないと、つまり現ＩＤのｐｉｅｃｅ配列の右ＩＤにクライアントＩＤがあると、ステップＲ２に進み、現ＩＤのｐｉｅｃｅ［］［４］がＮＵＬＬであると、つまり現ＩＤのｐｉｅｃｅ配列の右ＩＤにクライアントＩＤがないと終了する。
【０１５６】
ステップＲ２では、現ＩＤのｐｉｅｃｅ［］［４］のクライアントＩＤが、ｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあるか否かを判定する。すなわち、現ＩＤのｐｉｅｃｅ配列の右ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあるか否かを判定する。現ＩＤのｐｉｅｃｅ［］［４］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にあると、つまり現ＩＤのｐｉｅｃｅ配列の右ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にあると、ステップＲ３に進み、現ＩＤのｐｉｅｃｅ［］［４］のクライアントＩＤがｐｉｅｃｅ［０］［０］〜ｐｉｅｃｅ［ｔｏｔａｌ−１］［０］にないと、つまり現ＩＤのｐｉｅｃｅ配列の右ＩＤが示すクライアントＩＤが、ｐｉｅｃｅ配列の自ＩＤの中にないと、終了する。
【０１５７】
ステップＲ３では、対象のｐｉｅｃｅ［］［５］が「０」でないか否かを判定する。すなわち、右ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が「０」でないか否かを判定する。対象のｐｉｅｃｅ［］［５］が「０」でないと、つまり右ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みでないと、ステップＲ４に進み、対象のｐｉｅｃｅ［］［５］が「０」であると、つまり右ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目が確認済みであると、終了する。
【０１５８】
ステップＲ４では、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ＋１］がＮＵＬＬでないか否かを判定する。すなわち、マップ上で１つ右の位置にクライアントＩＤが設定されているか否かを判定する。ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ＋１］がＮＵＬＬでないと、つまりマップ上で１つ右の位置にクライアントＩＤが設定されていると、ステップＱ７に進み、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ＋１］がＮＵＬＬであると、つまりマップ上で１つ右の位置にクライアントＩＤが設定されていないと、ステップＱ５に進む。ステップＱ５では、「対象のｐｉｅｃｅ［］［５］＝２」とする。すなわち、右ＩＤが示すクライアントＩＤのｐｉｅｃｅ配列のチェック項目を「２」にする。「２」は、配置の確認が完了しているモニタに隣接しており、かつまだ確認が行われていない状態であることを示す。ステップＲ６では、ｍａｔ［ｂｌｏｃｋ］［Ｍ］［Ｎ＋１］に現ＩＤのｐｉｅｃｅ［］［４］を設定する。すなわち、マップ上で１つ右の位置に、現ＩＤのｐｉｅｃｅ配列の右ＩＤのクライアントＩＤを設定する。
【０１５９】
ステップＲ７では、現ＩＤを持つｐｉｅｃｅ［］［４］をＴＩＤに代入し、現ＩＤを持つｐｉｅｃｅ［］［４］をＮＵＬＬにする。すなわち現ＩＤのｐｉｅｃｅ配列の右ＩＤをＮＵＬＬにし、検索済とする。ステップＲ８では、対象のＩＤを持つｐｉｅｃｅ［］［２］をＮＵＬＬにする。すなわち、「次の確認ＩＤ」のｐｉｅｃｅ配列の左ＩＤをＮＵＬＬにし、検索済とする。ステップＲ９では、「次の確認ＩＤ」が設定されているか否かを判定する。「次の確認ＩＤ」が設定されていると、終了し、「次の確認ＩＤ」が設定されていないと、ステップＲ１０に進む。すなわち、図３８に示した上の隣接処理、図３９に示した左の隣接処理、または図４０に示した下の隣接処理で、すでに「次の確認ＩＤ」が設定されている場合は、「次の確認ＩＤ」の更新をスキップする。
【０１６０】
ステップＲ１０では、「次の確認ＩＤ＝ＴＩＤ」とする。すなわち、「次の確認ＩＤ」を現ＩＤのｐｉｅｃｅ配列にあった右ＩＤのクライアントＩＤとする。ステップＲ１１では、「ＭＭ＝Ｍ、ＮＮ＝Ｎ＋１」として、終了する。すなわち、ＭＭおよびＮＮを次に確認するモニタのマップ内の位置、つまり１つ右の位置を表す値にして、終了する。
【０１６１】
図４２は、図２７に示した位置設定処理から呼び出される有効ブロック選択処理のフローチャートである。有効ブロック選択処理は、コンテンツを表示させるブロックを選択する。図２７に示したステップＦ８で呼び出されると、ステップＳ１に移る。
【０１６２】
ステップＳ１では、ｂｌｏｃｋ＞０であるか否かを判定する。すなわち、ｂｌｏｃｋ＝０のとき、ブロック数が「１」であるので、ブロックの数が「１」よりも大きいか否かを判定する。ｂｌｏｃｋ＞０であると、つまりブロックの数が「１」よりも大きいと、２つ以上のブロックに分かれているので、ステップＳ４に進み、ｂｌｏｃｋ＞０でないと、つまりブロックの数が「１」よりも大きくないと、ステップＳ２に進む。ステップＳ２では、ｂｌｏｃｋ＝０を有効とする。すなわち、ｂｌｏｃｋ＝０として、ブロック数が「１」であることを示す。ステップＳ３では、選択ブロックが、四角として構成されるか否かを判定する。すなわち、選択されて有効とされたブロックの形状つまりブロックを構成するモニタの画面が形成する形状が、四角形であるか否かを判定する。選択ブロックが四角として構成されると、つまり選択ブロックの形状が四角形であると、終了し、選択ブロックが四角として構成されていないと、つまり選択ブロックの形状が四角形でないと、ステップＳ６に進む。選択されたブロックの形状が四角形である場合は、そのブロックに含まれるモニタのクライアントＩＤが記憶部１１に記憶される。
【０１６３】
ステップＳ４では、ブロックの選択を行う。すなわち、複数のブロックの中から、コンテンツを表示するブロックを１つ選択する。ブロックの選択は、たとえば図２７に示したステップＦ７の自動設定処理で、自動で設定されたモニタの構成の中の複数のブロックを、ブロック番号を付して、サーバ１０の図示しない出力装置に表示し、サーバ１０の図示しない入力装置によって、ブロック番号を指定することによって選択する。ステップＳ５では、選択したブロックを有効とし、ステップＳ３に進む。ステップＳ６では、有効域の選択を行って終了する。たとえば選択されたモニタの画面からなる形状が四角形を形成するようにモニタを選択して、終了する。モニタ選択は、たとえばサーバ１０の図示しない入力装置によって、クライアントＩＤを指定することによって選択してもよいし、構成設定画面４０で設定されているモニタを指示することによって選択してもよい。選択されたブロック番号および選択されたモニタのクライアントＩＤは、記憶部１１に記憶される。サーバ１０は、記憶部１１に記憶されたブロック番号が示すブロックを構成するモニタのうち、選択されたモニタに対して、コンテンツを送信する。
【０１６４】
このように、記憶手段であるたとえば記録部２３によって、予め定めるデータ単位毎であるたとえばフレーム単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報であるたとえばタイムスタンプが付される動画像情報であるたとえばコンテンツが記憶され、表示手段であるたとえば表示部２４によって、記憶手段から動画像情報が読み出されて画像として表示再生され、抽出手段であるたとえばタイムスタンプ抽出部２７１によって、表示再生すべき動画像情報から時系列順にタイミング情報が抽出され、指示手段であるたとえば入力部２２によって、動画像情報の再生が指示され、送受信手段であるたとえばクライアント通信部２１によって、通信回線であるたとえばＬＡＮ３０を介して、少なくともタイミング情報が送受信される複数の表示装置であるたとえばクライアント２０を含む多画面表示システムであるたとえば多画面表示装置１で動画像を表示再生するにあたって、各送受信手段によって、複数の表示装置が通信回線を介して相互に接続され、複数の表示装置のうちいずれかの表示装置が有する指示手段によって動画像情報の再生が指示されると、この指示手段を有する表示装置によって、表示再生すべき動画像情報から抽出手段によって時系列順にタイミング情報が順次抽出され、抽出されたタイミング情報が送受信手段によって順次送信される。さらに、各表示装置によって、送受信手段によってタイミング情報が受信されると、それぞれの表示装置で、表示手段によって、記憶手段に記憶される動画像情報うち、受信されたタイミング情報に応じたタイミング情報が付された部分が読み出されて画像として表示再生されるので、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができる。したがって、この多画面表示システムを用いれば、画像を再生する際に、表示装置全体を制御するサーバは必要がなく、表示装置だけで同期をとって画像を再生することができる。
【０１６５】
さらに前記複数の表示装置であるたとえばクライアント２０は、主表示装置であるたとえば主クライアントと副表示装置であるたとえば副クライアントとを含み、主表示装置が有する指示手段であるたとえば入力部２２によって動画像情報であるたとえばコンテンツの再生が指示されると、主表示装置によって、表示再生すべき動画像情報から抽出手段であるたとえばタイムスタンプ抽出部２７１によって時系列順にタイミング情報であるたとえばタイムスタンプが順次抽出され、抽出されたタイミング情報が送受信手段であるたとえばクライアント通信部２１によって順次送信され、主表示装置および副表示装置によって、送受信手段によってタイミング情報が受信されると、表示手段であるたとえば表示部２４によって、記憶手段であるたとえば記録部２３に記憶される動画像情報のうち、受信したタイミング情報に応じたタイミング情報が付された部分が読み出されて画像として表示再生されるので、再生を開始する前に、表示装置以外の装置たとえばサーバなどによって主表示装置を選択しておくことができる。したがって、表示装置の処理能力に応じて、主表示装置を変更することができる。
【０１６６】
さらにまた、前記副表示装置であるたとえば副クライアントが有する指示手段であるたとえば入力部２２によって動画像情報であるたとえばコンテンツの再生が指示されると、この指示手段を有する副表示装置によって、動画像情報の再生の指示を表す再生指示情報が送受信手段であるたとえばクライアント通信部２１によって前記主表示装置であるたとえば主クライアントに送信され、主表示装置によって、送受信手段によって再生指示情報が受信されると、表示再生すべき動画像情報から抽出手段であるたとえばタイムスタンプ抽出部２７１によって時系列順にタイミング情報であるたとえばタイムスタンプが順次抽出され、抽出されたタイミング情報が送受信手段によって順次送信されるので、再生の開始が、主表示装置以外の表示装置で指示されても、主表示装置をマスタとすることができる。したがって、どの表示装置からでも再生の開始を指示することができ、利便性を向上することができる。
【０１６７】
さらにまた、予め定めるデータ単位毎であるたとえばフレーム単位毎に、時系列順で再生されるべきタイミングを表すタイミング情報であるたとえばタイムスタンプが付される動画像情報であるたとえばコンテンツを記憶する記憶部であるたとえば記録部２３と、記憶部から動画像情報を読み出して画像として表示再生する表示部であるたとえば表示部２４と、動画像情報の再生を指示する指示部であるたとえば入力部２２とをそれぞれ有する複数の表示装置であるたとえばクライアント２０を含む多画面表示システムであるたとえば多画面表示装置１で動画像を表示再生するにあたって、タイミング情報取得可能化工程であるたとえば主クライアントの同期再生処理では、複数の表示装置うちいずれかの表示装置が有する指示部から動画像情報の再生が指示されると、この指示部を有する表示装置で、表示再生すべき動画像情報から時系列順にタイミング情報を順次抽出し、抽出したタイミング情報を順次通信回線であるたとえばＬＡＮ３０を介して取得可能にする。さらに、表示工程であるたとえば主クライアントの同期再生処理および副クライアントの同期再生処理では、各表示装置で、通信回線を介して、タイミング情報取得可能化工程で順次取得可能化されたタイミング情報を順次取得し、記憶部に記憶される動画像情報のうち、取得したタイミング情報に応じたタイミング情報が付された部分を順次読み出して画像として表示部に表示再生するので、動画像情報の再生が指示された表示装置からのタイミング情報によって、各表示装置は継続して同期を合わせることができ、時間が経過しても、各表示装置に表示される動画像の同期を維持することができる。したがって、この表示方法を多画面表示システムに適用することによって、画像を再生する際に、表示装置全体を制御するサーバは必要がなく、表示装置だけで同期をとって画像を再生することができる。
【図面の簡単な説明】
【０１６８】
【図１】本発明の実施の一形態である多画面表示装置１の構成を示す。
【図２】図１に示したサーバ１０からクライアント２０へのコンテンツの送信例を示す。
【図３】図１に示したクライアント２０の外観の斜視図である。
【図４】図３に示した検出器２６の端子の配置例を示す。
【図５】図３に示した検出器２６の端子と隣接するクライアント２０の検出器２６の端子との接続関係を示す。
【図６】図３に示した検出器２６を接続する接続ケーブル３６の一例を示す。
【図７】図１に示したサーバ１０における構成設定画面４０の例を示す。
【図８】図７に示した構成設定画面４０に表示されたクライアント２０の実際の位置との対応を示す。
【図９】図７に示した構成設定画面４０での２台目のクライアント２０の手動設定の例を示す。
【図１０】図７に示した構成設定画面４０で手動設定されたクライアント２０の配置位置を示す。
【図１１】図１に示したサーバ１０とクライアント２０とで送受信される情報を示す。
【図１２】図１１に示したクライアント２０が受信した連携情報を連携情報ＤＢ６０に反映する例を示す。
【図１３】図１に示した記録部２３に記憶される連携情報ＤＢ６０の一例を示す。
【図１４】図１に示したクライアント２０のＤＢ更新画面５０の一例を示す。
【図１５】図１３に示したＤＢ更新画面５０で更新された更新内容の各クライアントへのフィードバックの手順を示す。
【図１６】図１に示したクライアント２０での同期再生に関連する部分のブロック図である。
【図１７】図１に示したクライアント２０間での同期再生の開始手順を示す。
【図１８】図１７に示した主クライアントおよび副クライアントでの同期再生を示す。
【図１９】図１に示したサーバ１０での連携情報生成処理のフローチャートである。
【図２０】図１に示したクライアント２０での連携情報保存処理のフローチャートである。
【０１６９】
【図２１】図１に示したクライアント２０での連携情報保存詳細処理のフローチャートである。
【図２２】図１に示したクライアント２０での連携情報更新処理のフローチャートである。
【図２３】図１に示したクライアント２０での入力部２２による連携再生開始処理のフローチャートである。
【図２４】図１に示したクライアント２０での他機からの要求による連携再生ＤＢ更新処理のフローチャートである。
【図２５】図１８に示した主クライアントの同期再生処理のフローチャートである。
【図２６】図１８に示した副クライアントの同期再生処理のフローチャートである。
【図２７】図１に示したサーバ１０が処理する位置設定処理のフローチャートである。
【図２８】図１に示したサーバ１０が用いる受信配列およびｐｉｅｃｅ配列の例を示す。
【図２９】図１に示したサーバ１０が用いる確認済ＩＤ格納配列の例を示す。
【図３０】図１に示したサーバ１０が用いる端ＩＤ格納配列の例を示す。
【図３１】図２７に示した位置設定処理から呼び出される自動設定処理のフローチャートである。
【図３２】図３１に示した自動設定処理から呼び出される構成取得・格納処理のフローチャートである。
【図３３】図３１に示した自動設定処理から呼び出される確認済ＩＤ格納配列確保処理のフローチャートである。
【図３４】図３１に示した自動設定処理から呼び出される端ＩＤ格納配列確保処理のフローチャートである。
【図３５】図３１に示した自動設定処理から呼び出される端ＩＤ検索処理のフローチャートである。
【図３６】図３１に示した自動設定処理から呼び出されるマップ格納処理の前半部分のフローチャートである。
【図３７】図３１に示した自動設定処理から呼び出されるマップ格納処理の後半部分のフローチャートである。
【図３８】図３６に示したマップ格納処理から呼び出される上の隣接処理のフローチャートである。
【図３９】図３６に示したマップ格納処理から呼び出される左の隣接処理のフローチャートである。
【図４０】図３６に示したマップ格納処理から呼び出される下の隣接処理のフローチャートである。
【０１７０】
【図４１】図３６に示したマップ格納処理から呼び出される右の隣接処理のフローチャートである。
【図４２】図２７に示した位置設定処理から呼び出される有効ブロック選択処理のフローチャートである。
【符号の説明】
【０１７１】
１  多画面表示装置
１０  サーバ
１１  記憶部
１２  映像出力部
１３  サーバ通信部
１４  サーバ制御部
２０  クライアント
２１  クライアント通信部
２２  入力部
２３  記録部
２４  表示部
２６  位置検出部
２７  クライアント制御部
３０  ＬＡＮ
３６  接続ケーブル
４０  構成設定画面
５０  ＤＢ更新画面
６０  連携情報ＤＢ
２１１  送信部
２１２  受信部
２７１  タイムスタンプ抽出部
２７２  遅延部
２７３  ＦＩＦＯバッファ
２７４  シンクロ部
【図１】
2008096756.tif 000003
【図２】
2008096756.tif 000004
【図３】
2008096756.tif 000005
【図４】
2008096756.tif 000006
【図５】
2008096756.tif 000007
【図６】
2008096756.tif 000008
【図７】
2008096756.tif 000009
【図８】
2008096756.tif 000010
【図９】
2008096756.tif 000011
【図１０】
2008096756.tif 000012
【図１１】
2008096756.tif 000013
【図１２】
2008096756.tif 000014
【図１３】
2008096756.tif 000015
【図１４】
2008096756.tif 000016
【図１５】
2008096756.tif 000017
【図１６】
2008096756.tif 000018
【図１７】
2008096756.tif 000019
【図１８】
2008096756.tif 000020
【図１９】
2008096756.tif 000021
【図２０】
2008096756.tif 000022
【図２１】
2008096756.tif 000023
【図２２】
2008096756.tif 000024
【図２３】
2008096756.tif 000025
【図２４】
2008096756.tif 000026
【図２５】
2008096756.tif 000027
【図２６】
2008096756.tif 000028
【図２７】
2008096756.tif 000029
【図２８】
2008096756.tif 000030
【図２９】
2008096756.tif 000031
【図３０】
2008096756.tif 000032
【図３１】
2008096756.tif 000033
【図３２】
2008096756.tif 000034
【図３３】
2008096756.tif 000035
【図３４】
2008096756.tif 000036
【図３５】
2008096756.tif 000037
【図３６】
2008096756.tif 000038
【図３７】
2008096756.tif 000039
【図３８】
2008096756.tif 000040
【図３９】
2008096756.tif 000041
【図４０】
2008096756.tif 000042
【図４１】
2008096756.tif 000043
【図４２】
2008096756.tif 000044