(57)【要約】【課題】使い勝手を向上させることができる映像配信装置を提供する。【解決手段】  機能実行部１００は、ページ管理部１０１、操作実行部１０２、描画レイヤ部１０３、操作情報履歴部１０４、及び端末管理部１０７などを有し、端末が接続されると、端末毎に描画レイヤを生成する。また、機能実行部１００は、接続中の端末に関する情報が含まれる接続情報、及び端末と描画レイヤとの対応関係が含まれる管理テーブルを有している。そして、機能実行部１００は、端末からのストロークの削除要求を受け取ると、管理テーブルを参照して該端末に対応する描画レイヤを求めるとともに、接続情報と管理テーブルとを参照して切断された端末に対応する描画レイヤを求め、それらの描画レイヤに対してストロークの削除を実行する。【選択図】図８
2017200091.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末を接続することができる映像配信装置であって、
前記複数の端末に対して、接続された端末毎に描画レイヤを生成するレイヤ生成手段と、
前記複数の端末の接続情報を保持する保持手段と、
前記複数の端末のうちの一の端末から操作の情報を受け取ると、前記接続情報を参照し、該一の端末に対応する描画レイヤと、切断された他の端末に対応する描画レイヤとに対して前記操作を実行する操作実行手段とを備える映像配信装置。
【請求項２】
前記レイヤ生成手段で生成された複数の描画レイヤについて、端末との対応関係が含まれる管理テーブルを作成する管理テーブル作成手段をさらに有し、
前記操作実行手段は、前記管理テーブルを参照して前記一の端末に対応する描画レイヤを求めることを特徴とする請求項１に記載の映像配信装置。
【請求項３】
前記接続情報は、接続中の端末に関する情報を含み、
前記操作実行手段は、前記管理テーブルと前記接続情報とから、前記切断された他の端末に対応する描画レイヤを求めることを特徴とする請求項２に記載の映像配信装置。
【請求項４】
前記操作は、以前になされた操作に対する削除要求であることを特徴とする請求項１〜３のいずれか一項に記載の映像配信装置。
【請求項５】
前記以前になされた操作は、ストロークの書き込みであることを特徴とする請求項４に記載の映像配信装置。
【請求項６】
前記操作実行手段で実行された操作の情報を、該操作の情報を発行した端末に対応する描画レイヤを特定するための識別子とともに操作情報履歴テーブルに記録する履歴記録手段をさらに有することを特徴とする請求項１〜５のいずれか一項に記載の映像配信装置。
【請求項７】
前記操作は、以前になされた操作の取り消し要求であり、
前記操作実行手段は、対象となる描画レイヤについて、前記操作情報履歴テーブルにおける最も新しい操作を取り消すことを特徴とする請求項１〜６のいずれか一項に記載の映像配信装置。
【請求項８】
請求項１〜７のいずれか一項に記載の映像配信装置と、
前記映像配信装置が接続される通信ネットワークと、
前記通信ネットワークを介して前記映像配信装置に接続される複数の端末とを備える映像配信システム。
【請求項９】
複数の端末を接続することができる映像配信装置における映像配信方法であって、
前記複数の端末の接続情報と、接続された端末にそれぞれ対応する複数の描画レイヤとを有し、
前記複数の端末のうちの一の端末から操作の情報を受け取ると、前記接続情報を参照し、該一の端末に対応する描画レイヤと、切断された他の端末に対応する描画レイヤとに対して前記操作を実行する工程を含む映像配信方法。
【請求項１０】
前記複数の描画レイヤについて、前記複数の端末との対応関係が含まれる管理テーブルを作成する工程を含み、
前記実行する工程では、前記管理テーブルを参照して前記一の端末に対応する描画レイヤを求めることを特徴とする請求項９に記載の映像配信方法。
【請求項１１】
前記接続情報は、接続中の端末に関する情報を含み、
前記実行する工程では、前記管理テーブルと前記接続情報とから、前記切断された他の端末に対応する描画レイヤを求めることを特徴とする請求項１０に記載の映像配信方法。
【請求項１２】
複数の端末を接続することができる映像配信装置に用いられるプログラムであって、
前記複数の端末に対して、接続された端末毎に描画レイヤを生成する手順と、
前記複数の端末の接続情報を保持する手順と、
前記複数の端末のうちの一の端末から操作の情報を受け取ると、前記接続情報を参照し、該一の端末に対応する描画レイヤと、切断された他の端末に対応する描画レイヤとに対して前記操作を実行する手順とを前記映像配信装置の処理装置に実行させるプログラム。
【請求項１３】
前記複数の描画レイヤについて、端末との対応関係が含まれる管理テーブルを作成する手順をさらに前記処理装置に実行させ、
前記操作を実行する手順では、前記管理テーブルを参照して前記一の端末に対応する描画レイヤを求めることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記接続情報は、接続中の端末に関する情報を含み、
前記操作を実行する手順では、前記管理テーブルと前記接続情報とから、前記切断された他の端末に対応する描画レイヤを求めることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
請求項１２〜１４のいずれか一項に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像配信装置、映像配信システム、映像配信方法、プログラム及び記録媒体に係り、更に詳しくは、複数の端末に映像を配信する映像配信装置、該映像配信装置を含む映像配信システム、複数の端末に映像を配信する映像配信方法、映像配信装置に用いられるプログラム及び該プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
通信ネットワークを介して複数の端末が接続された映像配信装置は、一の端末から操作情報を受信すると、該操作情報に基づいて画像を生成し、圧縮映像としてリアルタイムで他の端末に配信する。
【０００３】
例えば、特許文献１には、通信ネットワークに負荷をかけることなく、映像データのフレームデータを送信することを目的とする配信制御システムが開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の映像配信装置では、使い勝手の点に関して改善の余地があった。
【課題を解決するための手段】
【０００５】
本発明は、複数の端末を接続することができる映像配信装置であって、前記複数の端末に対して、接続された端末毎に描画レイヤを生成するレイヤ生成手段と、前記複数の端末の接続情報を保持する保持手段と、前記複数の端末のうちの一の端末から操作の情報を受け取ると、前記接続情報を参照し、該一の端末に対応する描画レイヤと、切断された他の端末に対応する描画レイヤとに対して前記操作を実行する操作実行手段とを備える映像配信装置である。
【発明の効果】
【０００６】
本発明の映像配信装置によれば、使い勝手を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係る映像配信システムの概略構成図である。
【図２】端末のハードウェア構成を説明するための図である。
【図３】端末の機能を説明するための図である。
【図４】ホワイトボードのハードウェア構成を説明するための図である。
【図５】ホワイトボードの機能を説明するための図である。
【図６】本体描画レイヤを説明するための図である。
【図７】端末用描画レイヤを説明するための図である。
【図８】アプリケーション部及び映像配信サービス部の構成を説明するための図である。
【図９】機能実行部の詳細を説明するための図である。
【図１０】管理テーブルの一例を説明するための図である。
【図１１】操作情報履歴テーブルの一例を説明するための図である。
【図１２】ページと描画レイヤと管理テーブルと操作情報履歴テーブルとの関係を説明するための図である。
【図１３】ホワイトボードが起動された際の機能実行部の動作を説明するための図である。
【図１４】端末が接続された際の機能実行部の動作を説明するための図である。
【図１５】ストロークを書き込む際の機能実行部の動作を説明するための図である。
【図１６】端末が切断された際の機能実行部の動作を説明するための図である。
【図１７】ストロークを削除する際の機能実行部の動作を説明するための図である。
【図１８】操作を取り消す際の機能実行部の動作を説明するための図（その１）である。
【図１９】操作を取り消す際の機能実行部の動作を説明するための図（その２）である。
【発明を実施するための形態】
【０００８】
以下、本発明の一実施形態を図１〜図１９に基づいて説明する。図１には、一実施形態に係る映像配信システム１の概略構成が示されている。
【０００９】
この映像配信システム１は、ホワイトボード１０、複数の端末（端末２０ａ、端末２０ｂ、端末２０ｃ）、通信ネットワーク３０などを有している。そして、ホワイトボード１０と複数の端末は、通信ネットワーク３０を介して接続されている。
【００１０】
なお、ここでは、一例として複数の端末が３つの端末である場合について説明するが、これに限定されるものではない。また、複数の端末はいずれも同様な機能を有しており、以下では、煩雑さを避けるため、個々の端末を区別する必要がないときは、各端末を総称して「端末２０」ともいう。
【００１１】
通信ネットワーク３０としては、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）やインターネット等、有線、無線を問わず各種の通信ネットワークを使用することができる。
【００１２】
端末２０としては、ノート型ＰＣ（パーソナルコンピュータ）や、タブレット型ＰＣを用いることができる。
【００１３】
＜端末のハードウェア構成＞
端末２０は、一例として図２に示されるように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３、メディアドライブ３０４、画像表示インターフェース３０５、通信インターフェース３０６、タッチパネル３０７、バス３０８、及びディスプレイ３７０を有している。
【００１４】
ＣＰＵ３０１は、端末全体の動作を制御する。ＲＯＭ３０２は、ＣＰＵ３０１で実行される複数のプログラム及び複数のデータが記憶されているメモリである。ＲＡＭ３０３は、ＣＰＵ３０１の作業用メモリである。
【００１５】
画像表示インターフェース３０５は、ディスプレイ３７０が接続されるインターフェースである。通信インターフェース３０６は、通信ネットワーク３０が接続される通信インターフェースである。
【００１６】
タッチパネル３０７は、ディスプレイ３７０と一体化されており、入力ペンや指のディスプレイ３７０における接触位置の座標を検出する。
【００１７】
ディスプレイ３７０は、液晶パネルを有し、ホワイトボード１０から配信される映像を表示する。
【００１８】
バス３０８は、アドレスバスやデータバスを含むバスである。このバス３０８には、ＣＰＵ３０１、メディアドライブ３０４、画像表示インターフェース３０５、通信インターフェース３０６、タッチパネル３０７などが接続されている。
【００１９】
＜端末の機能構成＞
次に、端末２０の機能について説明する。端末２０の機能は、上述したハードウェア、複数のプログラム、及び各種データによって実現される。
【００２０】
端末２０の機能は、一例として図３に示されるように、ＧＵＩ部３１０、通信情報管理部３２０、全体制御部３３０、通信制御部３４０、再生制御部３５０、及び映像デコーダ部３６０などを有している。
【００２１】
ＧＵＩ部３１０は、ディスプレイ３７０にユーザインターフェース（ＵＩ）画像を表示する。全体制御部３３０は通信の開始、通信の切断など、端末全体の制御を行う。
【００２２】
通信情報管理部３２０は、配信に関する情報、例えば映像のエンコード設定情報を保持する。通信制御部３４０は、ホワイトボード１０との通信を制御する。
【００２３】
再生制御部３５０は、ホワイトボード１０からの圧縮映像を映像デコーダ部３６０に送出する。映像デコーダ部３６０は、圧縮映像をデコードしてディスプレイ３７０に表示する。
【００２４】
＜ホワイトボードのハードウェア構成＞
ホワイトボード１０のハードウェア構成について説明する。ホワイトボード１０は、一例として図４に示されるように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）５０４、ＨＤＣ（Ｈａｒｄ  Ｄｉｓｋ  Ｃｏｎｔｒｏｌｌｅｒ）５０５、メディアドライブ５０７、画像表示インターフェース５０８、通信インターフェース５０９、キーボード５１１、マウス５１２、マイク５１３、スピーカ５１４、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５１６、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５１７、タッチパネル５１９、及びディスプレイ５２１を有している。
【００２５】
ＣＰＵ５０１は、ホワイトボード全体の動作を制御する。ＲＯＭ５０２は、ＣＰＵ５０１で実行される複数のプログラム及び複数のデータが記憶されているメモリである。ＲＡＭ５０３は、ＣＰＵ５０１の作業用メモリである。
【００２６】
ＨＤＤ５０４には、各種プログラムや各種データが格納されている。ＨＤＣ５０５は、ＨＤＤ５０４に対する読み出し及び書き込みを制御する。メディアドライブ５０７は、フラッシュメモリ等の記録メディアに対するデータの読み出し及び書き込みを制御する。
【００２７】
画像表示インターフェース５０８は、ディスプレイ５２１が接続されるインターフェースである。通信インターフェース５０９は、通信ネットワーク３０が接続される通信インターフェースである。
【００２８】
ＧＰＵ５１５は、グラフィックスに関する処理を行う。ＲＯＭ５１６は、ＧＰＵ５１５で実行される各種プログラムが記憶されているメモリである。ＲＡＭ５１７は、ＧＰＵ５１５の作業用メモリである。
【００２９】
バス５２０は、アドレスバスやデータバスを含むバスである。ＣＰＵ５０１、ＨＤＣ５０５、メディアドライブ５０７、画像表示インターフェース５０８、通信インターフェース５０９、キーボード５１１、マウス５１２、マイク５１３、スピーカ５１４、ＧＰＵ５１５、及びタッチパネル５１９は、バス５２０を介して電気的に接続されている。
【００３０】
ディスプレイ５２１は、液晶パネルを有し、各種映像を表示する。
【００３１】
タッチパネル５１９は、ディスプレイ５２１と一体化されており、入力ペンや指のディスプレイ５２１における接触位置の座標を検出する。
【００３２】
＜ホワイトボードの機能構成＞
次に、ホワイトボード１０の機能について説明する。ホワイトボード１０の機能は、上述したハードウェア、複数のプログラム、及び各種データによって実現される。
【００３３】
ホワイトボード１０の機能は、一例として図５に示されるように、アプリケーション部１１と映像配信サービス部１２とに大別することができる。
【００３４】
アプリケーション部１１は、端末２０に配信する画像を映像配信サービス部１２に渡す。映像配信サービス部１２は、アプリケーション部１１からの画像を圧縮映像に変換し、端末２０に配信する。端末２０は、映像配信サービス部１２からの圧縮映像を受信し再生する。
【００３５】
また、端末２０の使用者が、端末２０のディスプレイ３７０に表示されている映像に対してタッチ操作やマウス操作を行うと、端末２０から映像配信サービス部１２に操作情報が送信される。映像配信サービス部１２は、操作情報を受信すると、該操作情報をアプリケーション部１１に渡す。アプリケーション部１１は、操作情報を受け取ると、その操作情報に応じた処理を行う。この処理結果は映像として端末２０に配信されるので、端末２０の使用者はインタラクティブにホワイトボード１０を操作をすることが可能である。
【００３６】
例えば、アプリケーション部１１に入力される操作情報がストロークの書き込みの場合には、該操作情報に座標情報が付随しているので、アプリケーション部１１は、その座標情報からストロークを生成してディスプレイ５２１に描画することができる。すなわち、端末２０の使用者は、リモートでホワイトボード１０のディスプレイ５２１にストロークを描画することが可能である。
【００３７】
ホワイトボード１０では、ホワイトボード１０が起動されると、描画レイヤが生成される。この描画レイヤには、ホワイトボード１０において描画された内容が描画される（図６参照）。なお、以下では、便宜上、ホワイトボード１０が起動されたときに生成されるこの描画レイヤを「本体描画レイヤ」ともいう。
【００３８】
また、ホワイトボード１０では、端末２０が通信ネットワーク３０に接続されると、端末毎に各端末用の描画レイヤが生成される。ここでは、便宜上、端末２０ａが接続されたときに生成される描画レイヤを「端末２０ａ用描画レイヤ」ともいい、端末２０ｂが接続されたときに生成される描画レイヤを「端末２０ｂ用描画レイヤ」ともいい、端末２０ｃが接続されたときに生成される描画レイヤを「端末２０ｃ用描画レイヤ」ともいう。
【００３９】
端末２０ａ用描画レイヤには、端末２０ａで操作した内容が適用され、端末２０ｂ用描画レイヤには、端末２０ｂで操作した内容が適用され、端末２０ｃ用描画レイヤには、端末２０ｃで操作した内容が適用される（図７参照）。
【００４０】
＜アプリケーション部及び映像配信サービス部の詳細＞
次に、アプリケーション部１１及び映像配信サービス部１２の詳細について図８を用いて説明する。
【００４１】
アプリケーション部１１は、機能実行部１００、アプリ入出力部１０５、及びフレーム出力部１０６などを有している。
【００４２】
映像配信サービス部１２は、配信サービス入出力部１５１、キャプチャ部１５２、配信モジュール１５３、及びコーデックモジュール１５４などを有している。
【００４３】
機能実行部１００は、アプリケーションの機能を実行するモジュールである。なお、機能実行部１００の詳細については後述する。
【００４４】
アプリ入出力部１０５は、配信サービス入出力部１５１が出力したデータを受信する。ここで受信するデータの例として、操作情報がある。そして、アプリ入出力部１０５は、受信したデータを機能実行部１００が処理できる形式に変換して、機能実行部１００に渡す。例えば、操作情報を「ストロークの書き込み」に変換する。
【００４５】
また、アプリ入出力部１０５は、配信サービス入出力部１５１にデータを送信する。例えば、「サービスの開始」や「サービスの停止」を配信サービス入出力部１５１に送信する。
【００４６】
フレーム出力部１０６は、映像として配信する画像を出力する。
【００４７】
配信サービス入出力部１５１は、アプリ入出力部１０５が出力するデータを受信する。例えば、「サービスの開始」や「サービスの停止」を受信する。
【００４８】
また、配信サービス入出力部１５１は、アプリ入出力部１０５にデータを送信する。例えば、操作情報をアプリ入出力部１０５に送信する。
【００４９】
キャプチャ部１５２は、フレーム出力部１０６が出力するフレーム画像を取得する。
【００５０】
配信モジュール１５３は、配信制御部１５５、配信情報管理部１５６、及び通信制御部１５７を有している。
【００５１】
配信制御部１５５は、配信モジュール全体を制御する。また、配信制御部１５５は、コーデックの起動及び終了を指示する。
【００５２】
配信情報管理部１５６は、配信に関する情報を管理する。例えば、映像エンコード設定や接続中の端末に関する情報などを管理する。
【００５３】
通信制御部１５７は、端末２０とのデータの送受信、端末２０との接続制御などを行う。
【００５４】
コーデックモジュール１５４は、映像エンコーダ部１５８、及びエンコーダ制御部１５９を有している。
【００５５】
映像エンコーダ部１５８は、キャプチャ部１５２から画像を取得する。また、映像エンコーダ部１５８は、取得した画像から圧縮映像を生成する。
【００５６】
エンコーダ制御部１５９は、配信制御部１５５から指定されたフレームレートでフレーム画像を取得する。そして、取得したフレーム画像を映像エンコーダ部１５８に渡す。
【００５７】
機能実行部１００は、ページ管理部１０１、操作実行部１０２、描画レイヤ部１０３、操作情報履歴部１０４、及び端末管理部１０７などを有している。
【００５８】
＜機能実行部の詳細＞
ここで、機能実行部１００の詳細について図９を用いて説明する。
【００５９】
ページ管理部１０１は、描画レイヤを生成する処理、端末識別子に対応する描画レイヤを取得する処理、管理テーブルに記録する処理、ページを追加する処理、ページを削除する処理などを行う。なお、端末識別子とは、端末を特定するための識別子であり、ここでは、端末２０ａの端末識別子を「端末Ａ」、端末２０ｂの端末識別子を「端末Ｂ」、端末２０ｃの端末識別子を「端末Ｃ」とする。
【００６０】
ページ管理部１０１は、端末２０が接続されるたびに、該端末用の描画レイヤを生成し、描画レイヤと端末２０の関連を管理テーブルに記録する。すなわち、ページ管理部１０１は、端末２０と描画レイヤとを結びつける。
【００６１】
管理テーブルの一例が図１０に示されている。ここでは、端末２０ａ（端末識別子：端末Ａ）が描画レイヤ２に対応し、端末２０ｂ（端末識別子：端末Ｂ）が描画レイヤ３に対応し、端末２０ｃ（端末識別子：端末Ｃ）が描画レイヤ４に対応している。なお、描画レイヤ１は、本体描画レイヤである。
【００６２】
また、描画レイヤを特定するための識別子として、レイヤ識別子を用いる。ここでは、描画レイヤ１のレイヤ識別子を「レイヤ１」、描画レイヤ２のレイヤ識別子を「レイヤ２」、描画レイヤ３のレイヤ識別子を「レイヤ３」、描画レイヤ４のレイヤ識別子を「レイヤ４」とする。
【００６３】
操作実行部１０２は、接続を通知する処理、操作の実行を指示する処理、切断を通知する処理などを行う。例えば、操作実行部１０２は、操作情報に含まれる端末情報をページ管理部１０１に渡し、該端末に対応する描画レイヤを取得する。そして、取得した描画レイヤに対して、描画レイヤ部１０３に操作の実行を指示する。
【００６４】
描画レイヤ部１０３は、レイヤ識別子で指定された描画レイヤに対して、操作を実行する。例えば、描画レイヤ部１０３は、ストロークを書き込む処理、ストロークを削除する処理などを行なう。
【００６５】
操作情報履歴部１０４は、レイヤ識別子に関連させて操作情報を操作情報履歴テーブルに記憶する処理、レイヤ識別子に対応する操作を取り消す処理などを行う。操作情報履歴テーブルの一例が図１１に示されている。なお、操作を取り消す（Ｕｎｄｏ）、操作手順を進める（Ｒｅｄｏ）なども、操作情報履歴テーブルに記憶される。
【００６６】
ページと描画レイヤと管理テーブルと操作情報履歴テーブルとの関係が図１２に示されている。描画レイヤはページ毎に生成される。そして、ページが１つ追加されるとそのページの全ての描画レイヤが生成される。また、管理テーブル、及び操作情報履歴テーブルは全てのページに対して１つのみが生成される。
【００６７】
端末管理部１０７は、端末の接続状態を管理する。例えば、端末識別子に対応して、端末の接続情報を保持する処理、端末の接続情報を破棄する処理、端末の接続状態を通知する処理などを行う。
【００６８】
＜機能実行部の動作＞
機能実行部１００の動作について説明する。
【００６９】
１．ホワイトボードが起動された際の機能実行部の動作
ホワイトボード１０が起動された際の機能実行部１００の動作について、図１３を用いて説明する。
【００７０】
最初のステップＳ３０１では、アプリ入出力部１０５から「Ｃｒｅａｔｅメッセージ」が送出されると、操作実行部１０２及びページ管理部１０１を生成する。
【００７１】
次のステップＳ３０２では、操作実行部１０２が操作情報履歴部１０４に「Ｃｒｅａｔｅメッセージ」を送出する。これにより、操作情報履歴部１０４では、操作情報履歴テーブルが生成される。
【００７２】
次のステップＳ３０３では、操作実行部１０２がページ管理部１０１に「Ｃｒｅａｔｅメッセージ」を送出する。これにより、ページ管理部１０１では、最初のページが生成される。
【００７３】
次のステップＳ３１１では、アプリ入出力部１０５が操作実行部１０２に「本体の接続」を通知する。
【００７４】
次のステップＳ３１２では、操作実行部１０２がページ管理部１０１に「描画レイヤの生成」を要求する。
【００７５】
次のステップＳ３１３では、ページ管理部１０１が描画レイヤ部１０３に「Ｃｒｅａｔｅメッセージ」を送出する。これにより、描画レイヤ部１０３では、本体描画レイヤ（描画レイヤ１）が生成される。
【００７６】
次のステップＳ３１４では、ページ管理部１０１が管理テーブルに記録する。ここでは、本体と描画レイヤ１とを関係つける情報が管理テーブルに記録される。
【００７７】
すなわち、ホワイトボード１０が起動されると、操作実行部１０２及びページ管理部１０１（１ページ目）が生成される。その後、本体との接続が完了したとみなされ、本体描画レイヤが生成される。
【００７８】
２．端末が接続された際の機能実行部の動作
次に、端末２０が接続された際の機能実行部１００の動作について、図１４を用いて説明する。ここでは、一例として、端末２０ａが接続された場合について説明する。
【００７９】
最初のステップＳ４０１では、アプリ入出力部１０５が、端末識別子（ここでは、端末Ａ）を付加して「接続」を操作実行部１０２に通知する。
【００８０】
次のステップＳ４０２では、操作実行部１０２が、端末識別子（ここでは、端末Ａ）を付加して「接続」を端末管理部１０７に通知する。これにより、端末管理部１０７は、端末Ａが接続中であることを示す接続情報を保持する。
【００８１】
次のステップＳ４０３では、操作実行部１０２がページ管理部１０１（ここでは、１ページ目）に「描画レイヤの生成」を要求する。
【００８２】
次のステップＳ４０４では、ページ管理部１０１が描画レイヤ部１０３に「Ｃｒｅａｔｅメッセージ」を送出する。これにより、描画レイヤ部１０３では、描画レイヤ２が生成される。
【００８３】
次のステップＳ４０５では、ページ管理部１０１が管理テーブルに記録する。ここでは、端末Ａと描画レイヤ２とを関係づける情報が管理テーブルに記録される。
【００８４】
なお、続けて端末２０ｂが接続されると、同様にして、端末Ｂが接続中であることを示す接続情報が保持されるとともに、描画レイヤ３が生成され、端末Ｂと描画レイヤ３とを関係づける情報が管理テーブルに記録される。
【００８５】
また、さらに端末２０ｃが接続されると、同様にして、端末Ｃが接続中であることを示す接続情報が保持されるとともに、描画レイヤ４が生成され、端末Ｃと描画レイヤ４とを関係づける情報が管理テーブルに記録される。
【００８６】
３．ストロークを書き込む際の機能実行部の動作
次に、ストロークを書き込む際の機能実行部１００の動作について、図１５を用いて説明する。ここでは、一例として、端末２０ｂでストロークが書き込まれた場合について説明する。なお、端末２０ｂは、接続中であるものとする。
【００８７】
最初のステップＳ５０１では、アプリ入出力部１０５が、端末識別子（ここでは、端末Ｂ）を付加した「操作（ここでは、ストロークの書き込み）」を操作実行部１０２に通知する。
【００８８】
次のステップＳ５０２では、操作実行部１０２がページ管理部１０１に端末識別子（ここでは、端末Ｂ）を付加した「描画レイヤの取得」を送出する。これにより、ページ管理部１０１は、管理テーブルを参照して、付加されている端末識別子に対応するレイヤ識別子（ここでは、レイヤ３）を取得し、操作実行部１０２に通知する。
【００８９】
次のステップＳ５０３では、操作実行部１０２が描画レイヤ部１０３にレイヤ識別子（ここでは、レイヤ３）を付加した「ストロークの書き込み」の実行を指示する。これにより、描画レイヤ部１０３では、レイヤ識別子で指定された描画レイヤ（ここでは、描画レイヤ３）に対し、ストロークの書き込みを実行する。
【００９０】
次のステップＳ５０４では、描画レイヤ部１０３が操作情報履歴部１０４に「操作情報の記憶」を指示する。これにより、操作情報履歴テーブルに操作情報の履歴が追加される。
【００９１】
すなわち、端末で「ストロークの書き込み」が行われると、操作実行部１０２はページ管理部から該端末に対応するレイヤ識別子を取得し、該レイヤ識別子に対応する描画レイヤへの「ストロークの書き込み」の実行を描画レイヤ部１０３に指示する。そして、実行された操作情報は操作情報履歴テーブルに記録される。
【００９２】
ところで、操作情報履歴テーブルには、操作情報の履歴がテーブル形式で保持される。このテーブルには、操作が行われた描画レイヤの識別子及びその際の操作情報が記録される。また、操作情報履歴テーブルはスタック構造になっており、走査（検索）する際には新しいものから順に走査（検索）される。
【００９３】
４．端末が切断された際の機能実行部の動作
次に、端末２０が切断された際の機能実行部１００の動作について、図１６を用いて説明する。
【００９４】
最初のステップＳ６０１では、アプリ入出力部１０５が、端末識別子を付加して「切断」を操作実行部１０２に通知する。
【００９５】
次のステップＳ６０２では、操作実行部１０２が、端末識別子を付加して「切断」を端末管理部１０７に通知する。これにより、端末管理部１０７は、該端末識別子に対応する端末の接続情報を破棄する。
【００９６】
５．ストロークを削除する際の機能実行部の動作
次に、ストロークを削除する際の機能実行部１００の動作について、図１７を用いて説明する。
【００９７】
ここでは、一例として、端末２０ｂと端末２０ｃは接続中であり、端末２０ａは切断されているものとする。また、端末２０ａ用描画レイヤ及び端末２０ｃ用描画レイヤには、ストロークが書き込まれているものとする。そして、端末２０ｃから「ストロークの削除」が送出されたものとする。
【００９８】
最初のステップＳ７０１では、アプリ入出力部１０５が、端末識別子（ここでは、端末Ｃ）を付加した「操作（ここでは、ストロークの削除）」を操作実行部１０２に通知する。
【００９９】
次のステップＳ７０２では、操作実行部１０２がページ管理部１０１に端末識別子（ここでは、端末Ｃ）を付加した「描画レイヤの取得」を送出する。
【０１００】
次のステップＳ７０３では、ページ管理部１０１が端末管理部１０７に「接続情報の取得」を送出する。
【０１０１】
次のステップＳ７０４では、端末管理部１０７がページ管理部１０１に接続情報を通知する。ここでは、端末２０ｂと端末２０ｃとが接続中であることが通知される。そして、ページ管理部１０１は、端末管理部１０７からの接続情報と管理テーブルとから、端末２０ａが切断状態にあるのを知ることができる。
【０１０２】
次のステップＳ７０５では、ページ管理部１０１は、操作実行部１０２からの「描画レイヤの取得」に対する回答として、「描画レイヤの取得」に付加された端末識別子に対応するレイヤ識別子（ここでは、レイヤ４）と、切断された端末の端末識別子に対応するレイヤ識別子（ここでは、レイヤ２）とを操作実行部１０２に通知する。
【０１０３】
次のステップＳ７０６では、操作実行部１０２が描画レイヤ部１０３にレイヤ識別子（ここでは、レイヤ２）を付加した「ストロークの削除」の実行を指示する。これにより、描画レイヤ部１０３では、レイヤ識別子（ここでは、レイヤ２）で指定された描画レイヤに対し、ストロークの削除を実行する。
【０１０４】
次のステップＳ７０７では、描画レイヤ部１０３が操作情報履歴部１０４に操作情報の記憶を指示する。これにより、操作情報履歴テーブルに操作情報の履歴が追加される。
【０１０５】
次のステップＳ７０８では、操作実行部１０２が描画レイヤ部１０３にレイヤ識別子（ここでは、レイヤ４）を付加した「ストロークの削除」の実行を指示する。これにより、描画レイヤ部１０３では、レイヤ識別子（ここでは、レイヤ４）で指定された描画レイヤに対し、ストロークの削除を実行する。
【０１０６】
次のステップＳ７０９では、描画レイヤ部１０３が操作情報履歴部１０４に操作情報の記憶を指示する。これにより、操作情報履歴テーブルに操作情報の履歴が追加される。
【０１０７】
なお、仮に、端末２０ａ用描画レイヤにストロークが書き込まれていなければ、描画レイヤ部１０３は、「ストロークの削除」の指示を無視する。
【０１０８】
また、操作実行部１０２が、端末２０ａ用描画レイヤにストロークが書き込まれているか否かを判断し、端末２０ａ用描画レイヤにストロークが書き込まれている場合に、描画レイヤ部１０３にレイヤ識別子（レイヤ４）を付加した「ストロークの削除」の実行を指示しても良い。
【０１０９】
６．操作を取り消す際の機能実行部の動作
次に、操作を取り消す際の機能実行部１００の動作について、図１８を用いて説明する。ここでは、一例として、端末２０ｂと端末２０ｃは接続中であり、端末２０ａは切断されているものとする。そして、端末２０ｃから「操作の取り消し」が送出されたものとする。
【０１１０】
最初のステップＳ８０１では、アプリ入出力部１０５が、端末識別子（ここでは、端末Ｃ）を付加した「操作（ここでは、操作の取り消し）」を操作実行部１０２に通知する。
【０１１１】
次のステップＳ８０２では、操作実行部１０２がページ管理部１０１に端末識別子（ここでは、端末Ｃ）を付加した「描画レイヤの取得」を送出する。
【０１１２】
次のステップＳ８０３では、ページ管理部１０１が端末管理部１０７に「接続情報の取得」を送出する。
【０１１３】
次のステップＳ８０４では、端末管理部１０７がページ管理部１０１に接続情報を通知する。ここでは、端末２０ｂと端末２０ｃとが接続されていることが通知される。そして、ページ管理部１０１は、端末管理部１０７からの接続情報と管理テーブルとから、端末２０ａが切断状態にあるのを知ることができる。
【０１１４】
次のステップＳ８０５では、ページ管理部１０１は、操作実行部１０２からの「描画レイヤの取得」に対する回答として、「描画レイヤの取得」に付加された端末識別子に対応するレイヤ識別子（ここでは、レイヤ４）と、切断された端末の端末識別子に対応するレイヤ識別子（ここでは、レイヤ２）とを操作実行部１０２に通知する。
【０１１５】
次のステップＳ８０６では、操作実行部１０２が操作情報履歴部１０４にレイヤ識別子（ここでは、レイヤ２）を付加した「操作の取り消し」の実行を指示する。操作情報履歴部１０４は、操作情報履歴テーブルを参照して、付加されたレイヤ識別子に対する操作情報のなかで最も新しい操作情報を求め、その操作を取り消す。
【０１１６】
次のステップＳ８０７では、操作実行部１０２が操作情報履歴部１０４にレイヤ識別子（ここでは、レイヤ４）を付加した「操作の取り消し」の実行を指示する。操作情報履歴部１０４は、操作情報履歴テーブルを参照して、付加されたレイヤ識別子に対する操作情報のなかで最も新しい操作情報を求め、その操作を取り消す。
【０１１７】
この場合、図１９に示されるように、操作情報履歴テーブルにおける履歴３と履歴４の動作が取り消される。
【０１１８】
なお、仮に、操作情報履歴テーブルにレイヤ２に対する操作情報がなければ、操作情報履歴部１０４は、「操作の取り消し」の指示を無視する。
【０１１９】
また、操作実行部１０２が、操作情報履歴テーブルにレイヤ２に対する操作情報があるか否かを判断し、操作情報履歴テーブルにレイヤ２に対する操作情報がある場合に、操作実行部１０２が操作情報履歴部１０４にレイヤ識別子（レイヤ４）を付加した「操作の取り消し」の実行を指示しても良い。
【０１２０】
以上の説明から明らかなように、本実施形態に係る映像配信システム１では、ホワイトボード１０によって本発明の映像配信装置が構成されている。そして、本実施形態に係るホワイトボード１０では、上述した機能実行部１００の動作において、本発明の映像配信方法が実施され、本発明のプログラムが実行されている。
【０１２１】
以上説明したように、本実施形態に係るホワイトボード１０は、複数の端末２０を接続することができ、端末２０からの操作情報に応じた処理を行うアプリケーション部１１、及び該処理の結果を映像として複数の端末２０に配信する映像配信サービス部１２を有している。
【０１２２】
アプリケーション部１１は、機能実行部１００、アプリ入出力部１０５、及びフレーム出力部１０６などを有している。機能実行部１００は、ページ管理部１０１、操作実行部１０２、描画レイヤ部１０３、操作情報履歴部１０４、及び端末管理部１０７などを有している。
【０１２３】
機能実行部１００は、ホワイトボード１０が起動されると、本体描画レイヤを生成し、端末２０が接続されると、端末毎に描画レイヤを生成する。そして、機能実行部１００は、端末と描画レイヤとの対応関係が含まれる管理テーブルを有している。また、機能実行部１００は、端末からの操作情報が該端末に対応する描画レイヤのレイヤ識別子とともにテーブル形式で保持されている操作情報履歴テーブルを有している。さらに、機能実行部１００は、接続中の端末に関する情報が含まれる接続情報を保持している。
【０１２４】
そして、機能実行部１００は、端末２０からのストロークの書き込み要求を受け取ると、管理テーブルを参照して該端末に対応する描画レイヤを求め、その描画レイヤに対してストロークの書き込みを実行する。
【０１２５】
また、機能実行部１００は、端末からのストロークの削除要求を受け取ると、管理テーブルを参照して該端末に対応する描画レイヤを求めるとともに、接続情報と管理テーブルとを参照して切断された端末に対応する描画レイヤを求める。そして、機能実行部１００は、それらの描画レイヤに対してストロークの削除を実行する。この場合は、ストロークの書き込みを行った端末がその後切断されても、該ストロークを削除することができる。
【０１２６】
また、機能実行部１００は、端末２０から操作の取り消し要求を受け取ると、管理テーブルを参照して該端末に対応する描画レイヤを求めるとともに、接続情報と管理テーブルとを参照して切断された端末に対応する描画レイヤを求める。そして、機能実行部１００は、それらの描画レイヤについて、操作情報履歴テーブルにおける最も新しい操作を取り消す。この場合は、操作を行った端末がその後切断されても、該操作を取り消すことができる。
【０１２７】
このように、本実施形態に係るホワイトボード１０によると、従来よりも使い勝手を向上させることができる。
【０１２８】
そして、映像配信システム１は、ホワイトボード１０を備えているため、結果として、従来よりも使い勝手を向上させることができる。
【０１２９】
また、上記実施形態では、映像配信装置の一例として、ホワイトボードが用いられる場合について説明したが、これに限定されるものではなく、電子看板（デジタルサイネージ）、スポーツ、天気予報等で利用されるテレストレータ、遠隔画像（映像）診断装置等を用いることもできる。
【０１３０】
また、上記実施形態のホワイトボード１０では、各種プログラムが、ＲＯＭ５０２に格納されている場合について説明したが、これに限定されるものではない。例えば、各種プログラムが、ＣＤやＤＶＤ等の情報記録媒体に格納されていても良い。この場合、ホワイトボード１０は、情報記録媒体から各種プログラムを読み出すためのドライブ装置を有することとなる。
【０１３１】
また、上記実施形態のホワイトボード１０において、ＣＰＵ５０１によるプログラムに従う処理の一部をハードウェアによって構成することとしても良い。
【符号の説明】
【０１３２】
１…映像配信システム、１０…ホワイトボード（映像配信装置）、１１…アプリケーション部、１２…映像配信サービス部、２０…端末、２０ａ…端末Ａ、２０ｂ…端末Ｂ、２０ｃ…端末Ｃ、３０…通信ネットワーク、１００…機能実行部（レイヤ生成手段、保持手段、操作実行手段、管理テーブル作成手段、履歴記録手段）、１０１…ページ管理部、１０２…操作実行部、１０３…描画レイヤ部、１０４…操作情報履歴部、１０５…アプリ入出力部、１０６…フレーム出力部、１０７…端末管理部、１５１…配信サービス入出力部、１５２…キャプチャ部、１５３…配信モジュール、１５４…コーデックモジュール、１５５…配信制御部、１５６…配信情報管理部、１５７…通信管理部、１５８…映像エンコーダ部、３０１…ＣＰＵ、３０２…ＲＯＭ、３０３…ＲＡＭ、３０４…メディアドライブ、３０５…画像表示インターフェース、３０６…通信インターフェース、３０７…タッチパネル、３０８…バス、５０１…ＣＰＵ（処理装置）、５０２…ＲＯＭ（記録媒体）、５０３…ＲＡＭ、５０４…ＨＤＤ、５０５…ＨＤＣ、５０７…メディアドライブ、５０８…画像表示インターフェース、５０９…通信インターフェース、５１１…キーボード、５１２…マウス、５１３…マイク、５１４…スピーカ、５１５…ＧＰＵ、５１６…ＲＯＭ、５１７…ＲＡＭ、５１９…タッチパネル、５２０…バス、５２１…ディスプレイ。
【先行技術文献】
【特許文献】
【０１３３】
【特許文献１】特開２０１６−１５５９７号公報
【図１】
2017200091.tif 000003
【図２】
2017200091.tif 000004
【図３】
2017200091.tif 000005
【図４】
2017200091.tif 000006
【図５】
2017200091.tif 000007
【図６】
2017200091.tif 000008
【図７】
2017200091.tif 000009
【図８】
2017200091.tif 000010
【図９】
2017200091.tif 000011
【図１０】
2017200091.tif 000012
【図１１】
2017200091.tif 000013
【図１２】
2017200091.tif 000014
【図１３】
2017200091.tif 000015
【図１４】
2017200091.tif 000016
【図１５】
2017200091.tif 000017
【図１６】
2017200091.tif 000018
【図１７】
2017200091.tif 000019
【図１８】
2017200091.tif 000020
【図１９】
2017200091.tif 000021