[第1実施形態]
(ライブ放送システムの概要)
以下に添付図面を参照して、本発明に係るライブ放送システムの第1実施形態を詳細に説明する。図1は、本実施形態に係るライブ放送システムの全体構成を示す概念図である。
図1に示すように、本発明に係るライブ放送システムは、通信ネットワーク5上に配置された管理サーバー2に対して複数のライブ参加者用端末1a〜1cが接続され、当該複数のライブ参加者用端末1a〜1c同士での通信を介して仮想的なグループ(チャンネル)を形成させるとともに、当該仮想的なグループ内でライブチャットが行われる。そして、通信ネットワーク5に接続された他の視聴者用端末3a〜3cに対して、グループ内での対話に基づいて生成された音声データ及び映像データを含む放送画面を配信するものである。
本実施形態において、上記仮想的な各グループには、覚えやすいURLを割り当て、ライブが提供される場へのリンクとして利用できるようになっている。具体的には、ユーザー毎に割り当てられるhttp://<ユーザー名>.<ドメイン名>といったURLや、http://<ユーザー名>.<ドメイン名>/<トピック名>といったトピックに基づいたURLを形成し、既存の検索エンジンやSNSなどでのリンク化を促進し、アクセスの増大を図っている。
なお、本実施形態では、ライブ参加者用端末1a〜1cのうち、端末1aを所持するユーザーxが管理者となってグループ(チャンネル)を開設し、ユーザーxが開設したグループ(チャンネル)に特定のライブ参加者であるユーザーy,zが参加する場合を例に説明する。そして、以下、ユーザーxが所持する端末を示す場合には、管理者用端末1aと称し、それぞれのライブ参加者用端末1a〜1cを区別せずに示す場合には、総称してライブ参加者用端末1というものとする。なお、ここでは、ユーザーxを管理者、他のユーザーy、zを参加者とするが、他のユーザーy,zのいずれかが管理者となり、ユーザーxが参加者となることもできる。
また、本実施形態において、ユーザーa,b,cは、当該チャンネルにおける放送には参加することはなく、コンテンツを視聴する視聴者であるものとし、当該ユーザーa,b,cが使用する端末を視聴者用端末3a〜3cといい、複数の視聴者用端末3a〜3cを総称する場合には、単に視聴者用端末3というものとするが、本実施形態では、視聴者用端末3を所持するユーザーa,b,cがコンテンツを視聴した後、当該グループに参加することもでき、その場合、ユーザーa,b,cは、ライブ参加者となり、ユーザーa,b,cが所持する端末は、ライブ参加者用端末1と称するものとする。
通信ネットワーク5は、通信プロトコルTCP/IPを用いて種々の通信回線(FTTHなどの光回線、ADSL回線などの公衆回線、専用回線、無線通信網)を相互に接続して構築される分散型のIP網であり、このIP網には、10BASE-Tや100BASE-TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。そして、本実施形態においては、通信ネットワーク5は、いわゆるインターネットであり、このインターネット5には、本発明の「第2の通信ネットワーク」に相当する通常のインターネット5bと、本発明の「第1の通信ネットワーク」に相当する、いわゆるP2P(ピア・ツー・ピア)ネットワーク5aとが構築され、管理者用端末1a及びライブ参加者用端末1b,1cは、P2Pネットワーク5a上に配置される。一方、視聴者用端末3a〜3cは、第2の通信ネットワークとしての通信ネットワーク5b上に配置されている。なお、この第1の通信ネットワークの種別としては、双方向通話を行うFull mesh型のP2Pがあり、端末装置がP2P通信が可能な環境下にある場合には、OLMネットワークなどを採用し、グループ毎に視聴者間同士でP2Pを形成させることができる。また、端末装置がP2P通信に非対応の環境下にある場合には、前記第2の通信ネットワークとして、ユニキャスト・通常のインターネットを採用することができる。
ライブ参加者用端末1及び視聴者用端末3は、CPUによる演算処理機能、及び通信インターフェースによる通信処理機能を備えた情報処理端末であり、例えば、スマートフォン等の携帯電話端末の他、パーソナルコンピュータ等の汎用コンピューターや、機能を特化させた専用装置、モバイルコンピューターやPDA(Personal Digital Assistance)で実現することができる。なお、図1に示す例では、1c,3cはパーソナルコンピュータ等の汎用コンピューターであり、1b,3bはスマートフォンや、移動電話、その他の携帯情報端末の機能を備える装置であり、1a,3aは携帯情報端末の通信機能を備え、表示部のサイズが大きいタブレット端末である。
これらのライブ参加者用端末1及び視聴者用端末3は、インターネットにアクセスして、データの送受信を行うブラウザ機能も備えている。このブラウザ機能は、Webページを視聴するためのアプリケーションソフトであり、インターネットからHTML(HyperText Markup Language)ファイルや画像ファイル、音楽ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。フォームを使用してユーザーがデータをWebサーバーに送信したり、JavaScript(登録商標)やFlash、及びJava(登録商標)などで記述されたアプリケーションソフトを動作させたりすることも可能である。
また、本実施形態において、ライブ参加者用端末1及び視聴者用端末3は、インターネット等を通じて、コンテンツデータを含む放送画面の配信を受ける機能を備えているとともに、このコンテンツデータを視聴するアプリケーションを実行する機能も備えている。この「コンテンツデータ」とは、複数のライブ参加者用端末1でやり取りされる対話の音声データやテキストデータ、各ライブ参加者用端末1のカメラで撮影された静止画や動画等の映像データが含まれる。
特に、ライブ参加者用端末1では、P2Pネットワーク5aにより、いずれかのライブ参加者用端末1a〜1cがダウンロードしたコンテンツデータを他のライブ参加者用端末1a〜1cと共有し、分散された端末間でコンテンツデータの配信を相互に行う機能を備えている。そして、各ライブ参加者用端末1は、それぞれがノードサーバーとしての機能を備えており、見つかった相手と直接接続を確立するか、若しくはリレー・ノードで中継して管理サーバー2を介さずに各データを直接送受するようになっている。
なお、このライブ参加者用端末1のうち、管理者であるユーザーxが使用する管理者用端末1aは、P2Pネットワーク5a及び通信ネットワーク5の双方向通話及び配信を制御する機能を有しており、放送開始及び放送終了など、コンテンツデータの出力を制御することができるようになっている。また、管理者用端末1aが、他のライブ参加者用端末1のユーザー名やIPアドレス、ポート番号などの情報を記録したり、探索したりするスーパーノードとして機能してもよい。
管理サーバー2は、通信ネットワーク5上に分散配置された一般的な通信サーバーであり、当該複数の端末同士での通信を通じて仮想的なチャンネルを形成するとともに、当該仮想的なチャンネルのコンテンツを他の視聴者用端末3a〜3cに対して配信している。この管理サーバー2には、Webサーバーが含まれ、WWW(World Wide Web)等のドキュメントシステムにおいて、HTML(HyperText Markup Language)ファイルや画像ファイル、音楽ファイルなどの情報送信を行うサーバーコンピューター或いはその機能を持ったソフトウェアであり、HTML文書や画像などの情報を蓄積しておき、ライブ参加者用端末1及び視聴者用端末3上で実行されるWebブラウザなどのアプリケーションの要求に応じて、コンテンツ(Webページ)の配信を行う。
また、管理サーバー2は、制作されたコンテンツを、例えば動画形式で視聴者用端末3に対して配信するコンテンツ配信サーバーとしての機能を備えている。このような管理サーバー2では、データベースが接続されており、ユーザーの管理を行う機能も有している。なお、本実施形態では、この管理サーバー2を単一のサーバー装置により構成しているが、例えば、ノード管理(グループ通話制御部)、トランスコードを行う変換サーバー、Webサーバー等に対してそれぞれのロードバランシングを行うなど、複数のサーバー群で構成してもよい。
また、図示していないが、通信ネットワーク5上には、無線基地局や、中継装置が配置される。無線基地局は、中継装置を通じて通信ネットワークに接続され、ライブ参加者用端末1との間で無線通信接続を確立し、通話やデータ通信を提供する装置である。中継装置は、通信ネットワークに接続するためのモデムやターミナルアダプタ、ゲートウェイ装置等のノード装置であり、通信経路の選択や、データ(信号)の相互変換を行い、無線基地局と、通信ネットワーク5との間における中継処理を行う。なお、これら無線基地局や中継装置としては、無線ルーターやアクセスポイント装置なども含まれる。
(各装置の内部構成)
次いで、上述した本ライブ放送システムを構成する各装置の内部構造について説明する。図2は、本実施形態に係る管理サーバー2の内部構成を示すブロック図であり、図3は、本実施形態に係る各種データベースのデータ構成を示す説明図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
(1)管理サーバー2
先ず、管理サーバー2の機能構成について説明する。管理サーバー2は、単一のサーバー装置の他、Webサーバーやデータベースサーバーなど複数種のサーバー群から構成することができ、本実施形態では、図2に示すように、通信インターフェース21と、制御部22と、本ライブ放送システムに関する各種の情報を蓄積するデータベース群である各記憶部23とを備えている。通信インターフェース21は、通信ネットワーク5を通じて、ライブ参加者用端末1や視聴者用端末3との間でデータの送受信を行う通信インターフェースである。
記憶部23は、各データを蓄積する記憶装置であり、本実施形態では、ユーザーデータベース231と、グループデータベース232と、表示情報蓄積部233と、コンテンツ情報蓄積部234とを備えている。ユーザーデータベース231は、本ライブ放送システムを利用する各ユーザーに関する情報を記憶するデータベースであり、本実施形態では、図3に示すように、ユーザーを識別するユーザーIDに、ライブ参加者用端末1及び視聴者用端末3のIPアドレス、及び個人情報(ハンドルネーム、性別、年齢等)が関連付けて蓄積されている。
グループデータベース232は、複数のライブ参加者用端末1がマルチ通話可能な通話グループを蓄積するデータベースであり、当該グループを識別するグループIDに、当該グループのIPアドレス、当該グループを開設した管理者を特定するユーザーID、参加制限数、当該グループへ参加した参加者を特定するユーザーIDが関連付けて蓄積される。本実施形態において、このグループは、ライブ参加者用端末1からのグループ生成要求に応じて生成されてもよく、管理サーバー2を運用・管理する運用者に応じて生成されてもよい。
さらに、グループデータベースには、これに加えて、管理者が設定した位置情報(=任意)、及び、そのグループ内の画面で中央・画面全域で再生しているコンテンツのID/URL等を保持している。上記位置情報は、現在地に紐付けたライブ放送を行う場合に、ライブ放送を行っている現地への集客手段としてのサービス利用及び将来の効率的なデータ転送のために利用することができる。また、上記ID/URLは、画面にプレゼンテーションや動画などを映し出し、遠隔地にいる人との間で同じコンテンツを共視聴するために利用することができる。
コンテンツ情報蓄積部234は、グループ内において、複数のライブ参加者用端末1の対話によって生成されたコンテンツを蓄積する記憶装置であり、本実施形態では、グループIDのフォルダに各配信者のユーザーIDが関連付けられ、各ユーザーIDには、各配信者の音声データ及び映像データが紐付けて蓄積されている。
表示情報蓄積部233は、表示情報であるWebデータを蓄積する記憶装置であり、この表示情報蓄積部233には、配信者が操作・実行する接続要求に関するWebページや、視聴者が視聴するグループのWebページ等の表示データが蓄積されている。なお、この表示情報蓄積部233では、グループIDに表示情報が関連付けて蓄積されており、各グループ固有の背景画面やチャンネル画面を生成することができるようになっている。
制御部22は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、各部の動作制御、ユーザー操作に対する種々の処理を行っている。
そして、この制御部22には、認証部221と、グループ通話制御部222と、データ送信部223と、メタデータ生成部224と、コンテンツ取得部225とを備えている。
認証部221は、通信ネットワーク5を介して取得されたユーザーIDに基づいて、認証処理を実行するモジュールであり、ライブ参加者用端末1及び視聴者用端末3からのアクセスに応じてユーザーデータベース231を照合することによって、アクセス者にその権利があるか否かや、そのアクセス者が本人であるか否かなどを確認する。なお、本実施形態において、認証部221は、利用時毎にID及びパスワードの入力を求めてもよいし、使用者の承諾がある場合には、端末情報のみで認証を許可するようにしてもよい。
グループ通話制御部222は、グループ対話の制御全体を管理するモジュールであり、グループ(チャンネル)の作成から、各ライブ参加者用端末1への接続処理を行う。具体的に、グループ通話制御部222には、グループ生成部222aと、接続管理部222bと、端末リスト作成部222cとを備えている。
グループ生成部222aは、ライブ参加者用端末1からのグループ作成要求信号に応じて、複数のユーザーが参加可能なグループを生成するモジュールであり、生成したグループにグループIDを付加するとともに、グループ作成要求したライブ参加者用端末1から取得したユーザーIDをグループ管理者欄に登録する。また、ライブ参加者用端末1からの入力情報に基づいて、参加制限人数をグループデータベース232に設定する。
接続管理部222bは、グループ参加の要求を受け付けて、当該ライブ参加者用端末1をグループ内に登録するモジュールである。具体的に、参加者が所持するライブ参加者用端末1b,1cからグループ参加の要求信号を取得すると、参加希望のグループIDに基づいて、グループデータベース232を参照し、当該データベース内の参加者欄にユーザーIDを登録する。
また、接続管理部222bは、視聴者用端末3からグループ参加の要求を受け付けて、当該視聴者用端末3を参加者用端末としてグループ内に登録する機能を備えている。具体的に、接続管理部222bは、視聴者用端末3から参加要求の信号を受信すると、当該参加要求信号をライブ参加者用端末1b,1c又は管理者用端末1aに対して送信する。そして、ライブ参加者用端末1b,1c又は管理者用端末1aからの許可信号を取得すると、取得した許可信号に基づいて、グループデータベース232を参照し、当該データベース内の参加者欄に、視聴者用端末3のユーザーIDを登録して、視聴者用端末3による第1の通信ネットワークへの接続を許可する。
端末リスト作成部222cは、グループ内でコンテンツデータの送受を行うライブ参加者用端末1を記述したリストである端末リストを作成するモジュールであり、具体的には、グループに参加したライブ参加者用端末1のユーザーID、その端末へのソケット参照が記載された端末リストを生成する。この端末リスト作成部222cでは、ライブ参加者用端末1から放送開始信号を取得すると、グループデータベース232内の参加者欄に記録されたユーザーIDを抽出するとともに、そのユーザーIDに基づいてユーザーデータベース231を参照して、対応するソケット参照を抽出して端末リストを生成して、ライブ参加者用端末1に対して送信する。なお、接続管理部222bによって、視聴者用端末3に対してグループの参加が許可された場合には、当該視聴者用端末3をライブ参加者用端末1b,1cとし、そのライブ参加者用端末1b,1cのユーザーIDについても、端末リストに記録し、送信する。
コンテンツ取得部225は、各ライブ参加者用端末1から音声データ及び映像データを取得して、コンテンツデータに加工した後、コンテンツ情報蓄積部234に蓄積するモジュールである。本実施形態において、コンテンツ取得部225は、送信元のライブ参加者用端末1の要求内容に基づいて、参加しているグループのグループIDを抽出する。そして、コンテンツ取得部225は、そのグループIDにコンテンツデータを関連付けて蓄積する。
なお、このコンテンツデータは、各ライブ参加者用端末1から単一の映像データ(Rawデータ)の形式で取得(キャプチャ)され、その後、コンテンツ取得部225で配信用データに変換すべく、変調、復号、圧縮等の符号化が行われて、コンテンツ情報蓄積部234に保存される。なお、生データ(Rawデータ)には、ライブ参加者用端末1で生成された時刻情報を蓄積されており、この時刻情報に基づいて、コンテンツデータは、再生時間順に配列される。
また、音声データの符号化方式としては、AAC形式やOpus形式が用いられ、映像データの符号化方式としては、H.264形式やVP8形式、VP9形式などが用いられる。なお、この各データの符号化方式は、ライブ参加者用端末1及び視聴者用端末3の環境に応じて変更可能であり、例えば、音声なら、MPEGオーディオ、LPCM、ATRAC、WMA等、映像なら、MPEG-1、MPEG-2、MPEG-4、DivX、WMV、HEVC等を用いることが可能である。
メタデータ生成部224は、コンテンツ情報蓄積部234に蓄積するコンテンツデータに関するメタデータを生成するモジュールである。このメタデータには、当該グループに関する情報(当該チャンネルの属性、説明テキストなど)、再生時刻、及びコンテンツ情報蓄積部234へのパス(アドレス情報)を含んでいる。なお、本実施形態において、各グループの名前又はIDとしては、アイデンティティやトピックに基づいた覚えやすいURLを用い、ライブが提供される場へのリンクとして利用できるようになっている。これにより、既存の検索エンジンやSNSなどでの共有を促進し、アクセスの増大を図っている。
データ送信部223は、各種のデータを配信するモジュールであり、例えば、表示情報蓄積部233に蓄積された表示情報(Webデータ)をライブ参加者用端末1及び視聴者用端末3に送信するとともに、視聴要求の信号を送信してきた視聴者用端末3に対して、放送画面の一部や、メタデータ生成部224で生成されたメタデータを、通信ネットワーク5を通じて配信する放送画面配信部としての機能を有している。なお、データ送信部223では、生成されたメタデータを再生時刻順に順次視聴者用端末3に配信するようになっている。
また、データ送信部223には、コンテンツ配信部223aを有している。本実施形態において、コンテンツ配信部223aは、視聴者用端末3に蓄積されたメタデータのパスに基づいたアクセスを受け付けると、コンテンツ情報蓄積部234内におけるコンテンツデータを抽出して、視聴者用端末3に配信するモジュールである。本実施形態において、視聴者用端末3と管理サーバー2とは、恒常的にコネクションを維持しており、データ送信部223では、生成されたメタデータをリアルタイムに送信している。そして、視聴者用端末3では、このメタデータを入手し次第、メタデータで指定されたコンテンツデータをhttpプロトコル経由でダウンロードして、連続再生するようになっている。
(2)ライブ参加者用端末1
次いで、ライブ参加者用端末1について説明する。図4は、本実施形態に係るライブ参加者用端末1の内部構成を示すブロック図である。ライブ参加者用端末1には、通信インターフェース系のモジュールとして通信インターフェース101と、ライブ参加者通信部102とを備えている。通信インターフェース101は、通信ネットワーク5を通じて、データをパケットとして送受信するモジュールであり、また、本実施形態においては、この通信インターフェース101を介して、管理サーバー2と通信して端末リストや参加続要求信号等が送受され、他のライブ参加者用端末1と通信して、配信要求やコンテンツデータが送受される。
ライブ参加者通信部102は、ライブ参加者用端末1により形成されたP2Pネットワーク5aを通じて、入力デバイスであるカメラ115やマイク114が取得した映像及び音声をリアルタイムに送受信して双方向通話を行うモジュールであり、具体的には、コンテンツ受信部102bと、コンテンツ配信部102dと、接続要求部102aとを備えている。
接続要求部102aは、端末リストを参照して、当該グループ内における他のライブ参加者用端末1を選択し、選択した通信相手に対して、接続要求及びコンテンツデータの配信要求を送信するモジュールである。なお、接続要求部102aでは、配信要求の際、例えば、端末リスト中に記載された各端末の実行可能通信モードに基づいて、通信モードを指定してもよい。
コンテンツ受信部102bは、通信インターフェース101が受信したコンテンツデータを受信するモジュールであり、管理サーバー2からWebデータを受信したり、他のライブ参加者用端末1から全部又は一部のコンテンツデータを受信し、これらのデータをメモリ107に入力する。
ここで、コンテンツ受信部102bには、コンテンツ再構築部102cを備えている。コンテンツ再構築部102cは、いわゆるOLM方式(ピア・ツー・ピア)のネットワークシステム形態により、他のライブ参加者用端末1から送信された全部又は一部のコンテンツデータを再構築するモジュールであり、その再構築されたコンテンツデータをキャッシュ部107aに送信する。
コンテンツ配信部102dは、カメラ115で撮影された映像データ、及びマイク114で入力された音声データを他のライブ参加者用端末1や管理サーバー2に対して配信するモジュールである。本実施形態では、端末リストを元に対話を行っている複数のライブ参加者用端末1に対して、一部又は全部のコンテンツデータを配信するとともに、当該コンテンツデータを管理サーバー2に対しても送信している。なお、本実施形態において、コンテンツ配信部102dは、他のライブ参加者用端末1から取得したコンテンツデータについても、配信要求された他の端末1に対して配信するようになっている。
また、コンテンツ配信部102dでは、配信するコンテンツデータに対し、電子透かし技術等を用いて、当該クライアントの識別情報を付加する機能を埋め込んで送信してもよい。このクライアントの識別情報としては、例えば、ライブ参加者用端末1やアプリケーションに固有のプロダクトIDや、IPアドレス、ユーザーのIDなどの情報が含まれる。なお、本実施形態において、ライブ参加者通信部102は、管理サーバー2の接続管理部222bによって許可された視聴者用端末3を、ライブ参加者用端末1として双方向通話に参加させる機能を有しており、コンテンツ受信部102b、コンテンツ配信部102d、及び接続要求部102aとを制御して、コンテンツデータを含む放送画面を送受する。
メモリ107は、OS(Operating System)や各種のアプリケーション用のプログラム、その他のデータ等などを記憶するROM装置であり、管理サーバー2から送信された端末リストなどが含まれている。また、このメモリ107には、キャッシュ部107aを備えている。キャッシュ部107aは、いわゆるOLM方式(ピア・ツー・ピア)のネットワークシステム形態により、他のライブ参加者用端末1から送信された全部又は一部のコンテンツデータを一時的に蓄積するバッファ装置であり、本実施形態では、配信要求に応じて取得されたコンテンツデータを、放送画面生成部103aによるコンテンツ再生に先行して、コンテンツを予めキャッシュ部107aにダウンロードして記憶する。
このキャッシュ部107aに記憶されたデータは、OLM(Over Lay Multicast)方式のピア・ツー・ピアのネットワークシステムにより、他のライブ参加者用端末1と共有することができ、他のライブ参加者用端末1から配信要求があった場合には、当該他のライブ参加者用端末1に対して送信される。
さらに、ライブ参加者用端末1は、コンテンツの再生・操作に関するモジュールとして、アプリケーション実行部111と、操作デバイスインターフェース104と、ブラウザ部103と、出力インターフェース106とを備えている。
アプリケーション実行部111は、一般のOSやブラウザソフト、メディア視聴アプリケーションなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。なお、本実施形態では、このアプリケーション実行部111で、例えば、ブラウザソフトが実行されることによって、ブラウザ部103がCPU上に仮想的に構築され、また、メディア視聴アプリケーションを実行することによって、放送画面生成部103aがCPU上に仮想的に構築される。ブラウザソフトは、管理サーバー内に蓄積されたWebページを視聴可能に表示するためのソフトウェアであり、インターネットからHTML(HyperText Markup Language)ファイルや画像ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。
また、メディア視聴アプリケーションは、コンテンツデータのダウンロード機能や、再生機能をライブ参加者用端末1に実装させるプログラムであり、例えば、WebRTC(Web Real-Time Communication)などのリアルタイムコミュニケーション用のアプリケーションが用いられる。ダウンロードしたコンテンツデータを再生することによって、表示部105に表示された表示画面を通じて、その映像を出力する。
操作デバイスインターフェース104は、マウスやタッチパネル等の操作デバイスが接続され、操作信号の入力を受け付けるモジュールである。これらのアプリケーション実行部111と、操作デバイスとによって、管理者であるユーザーxは、グループ対話を開始するための操作を行うとともに、ライブ参加者及び閲覧者は、視聴したいチャンネルを検索したりなど、関連するサービスを受けることができる。
ブラウザ部103は、ブラウザソフトを実行することによって構築され、Webページを視聴するためのモジュールであり、インターネットからHTML(HyperText Markup Language)ファイルや画像ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。なお、フォームを使用してユーザーがデータを管理サーバー2に送信したり、Java Script(登録商標)やFlash、及びJava(登録商標)などで記述されたアプリケーションソフトを動作させたりすることも可能である。
そして、このブラウザ部103には、GUI制御部103bと、放送画面生成部103aとを備えている。GUI制御部103bは、表示部105のウィンドウ500内に配置され、グループ対話に関する表示及びユーザー操作を受け付けるグラフィックユーザーインターフェース(GUI)を制御するモジュールである。特に、本実施形態では、通信インターフェース101における双方向通話で送受信されている映像データ及び音声データを指し示すアイコンなどをウィンドウ500の放送画面内に生成し、放送画面内に表示させたアイコンに対する操作を、GUIを通じて操作デバイスインターフェース104により受け付けて各モジュールに操作信号を送信する。このGUIに対する操作により、チャンネルの作成や、既存チャンネルに対する参加及び退出の要求や、チャンネルの切替えが行われる。なお、表示部105の放送画面内に表示される各種のアイコンについては後述するものとする。
放送画面生成部103aは、表示部105の放送画面内に表示情報を表示させるモジュールであり、双方向通話で送受信されている映像及び音声を指し示すアイコンを、ライブ参加者による操作信号により選択可能に放送画面上に表示するとともに、操作信号による選択操作に応じて、各アイコンに関する映像及び音声を出力させる放送画面を生成する。この放送画面生成部103aによって生成される画面としては、例えば、ライブ放送前であれば、管理者用端末1a専用のチャンネル画面や、ライブ参加者用端末1b,1cに対して、管理者用端末1aが生成したチャンネル画面が含まれる。また、放送画面生成部103aは、ライブ放送が開始されている場合には、図6に示すように、各ライブ参加者用端末1が参加している放送画面530を表示させる。この放送画面530には、参加しているライブ参加者を示すアイコン531が複数表示されており、アイコン531内には、各端末のカメラで撮影された参加者の顔や、会員登録時に設定されたグラフィック等が表示される。
また放送画面生成部103aは、アプリケーション実行部111及び操作デバイスインターフェース104からの制御信号によって、選択されたアイコン531に関連付けられたコンテンツデータをキャッシュ部107aから出力し、映像データをWebデータの再生画面を埋め込むように表示部105上の放送画面に映像を表示させるとともに、音声データをスピーカー113等から音声を出力させる。
また、放送画面生成部103aには、管理者用端末1aに特有のモジュールとして、管理者操作部103cを備えている。この管理者操作部103cは、管理者用端末1aの操作デバイスインターフェース104からの操作信号に応じて、各アイコンに関する映像及び音声の出力を制御するようになっており、この操作によって、映像及び音声の出力が制限されると、ライブ参加者用端末1b,1cでは、ライブ参加者による操作信号が入力された場合であっても、各アイコンに関する映像及び音声が出力されないようになっている。
出力インターフェース106は、映像及び音声の出力信号を、表示部105及びスピーカー113からそれぞれ出力させるモジュールである。表示部105は、例えば、液晶ディスプレイ等の表示装置であり、ブラウザソフトなどのアプリケーションによって生成されるウィンドウを通じて、映像や文字などを表示することができる。スピーカー113は、音声信号や音声ファイルを外部に音響として出力する出力装置であり、本実施形態では、他のライブ参加者用端末1から取得した音声データを受信して、各ユーザーの音声を出力する。
さらに、ライブ参加者用端末1には、コンテンツデータの生成・配信に関するモジュールとして、音声通話部112と、VoIP部110と、画像処理部116とを備えている。音声通話部112は、音声信号を送受信することによって通常の通話を実行するモジュールであり、管理者又はライブ参加者の音声を取得する入力デバイスであるマイク114より入力される音声を音声信号として通信ネットワーク5に送信する一方、通信ネットワーク5を通じて受信される音声信号を音声として受話器のスピーカー113から出力する。
VoIP部110は、VoIP機能によるインターネット電話を実現するモジュールである。このVoIP機能としては、音声通話部112から入力される音声信号をIPパケットデータに変換し、通話相手のライブ参加者用端末1に送信し、通話相手のライブ参加者用端末1から受信されたIPパケットデータを音声信号に変換し、音声通話部112に入力する。
画像処理部116は、画像表示に必要な画像データの変換等を行い、画像処理に特化したデジタル信号処理を行うモジュールであり、本実施形態では、管理者又はライブ参加者の映像を取得する入力デバイスであるカメラ115により撮影された配信者の静止画像や動画像のデータに対して圧縮符号化等を行い、その圧縮符号化された映像(画像)データを、アプリケーション実行部111による制御に基づいてメモリ107に記憶させるとともに、メモリ107に記憶され圧縮符号化されている映像データ等を伸張復号化等し、その伸張復号後のデータラインを介して映像データを表示部105へ送って表示させる。ここで、メモリ107内に記憶されている映像データとは、カメラ115によって撮影された映像データの他、インターネットを介して他のライブ参加者用端末1から取得され映像データも含まれる。
そして、表示部105には、カメラ115で撮影された当該端末の所有者の他、グループ対話に参加している他の配信者が放送画面の各位置にそれぞれ表示される。なお、画像処理部116には、画像データを表示画像にRGB画像に変換する色変換、画像データの切替等を制御し、表示部105における画像形成処理全体を制御する画像形成制御機能が含まれる。
カメラ115は、静止画、又は動画を撮影する撮像装置であって、レンズと、CCDである固定撮像素子から構成され、入射された被写体像を表す光がCCDの受光面に結像され、カメラ信号処理回路及びA/D変換器等を介して画像処理部116に送信される。この画像データには、動画及び静止画が含まれ、動画データは、多数の連続画像がフレームとなったストリーミング形式で転送される。
(3)視聴者用端末3
次いで、視聴者用端末3について説明する。図5は、本実施形態に係る視聴者用端末3の内部構成を示すブロック図である。視聴者用端末3には、図5に示すように、通信インターフェース31、メモリ35と、アプリケーション実行部37と、出力インターフェース33と、ブラウザ部32と、操作デバイスインターフェース36とを備えている。
通信インターフェース31は、通信ネットワーク5を通じて、データをパケットとして送受信するモジュールであり、この通信インターフェース31を介して、通信ネットワーク5を通じて、メタデータや、コンテンツデータを含む放送画面を管理サーバー2から受信し、Webページ要求や視聴要求等を管理サーバー2に対して送信する。
メモリ35は、OS(Operating System)や各種のアプリケーション用のプログラム、その他のデータ等などを記憶する記憶装置であり、このメモリ35内には、管理サーバー2からメタデータや放送画面であるコンテンツデータが一次的に蓄積する。このメモリ35には、キャッシュ部35aを備えている。キャッシュ部35aは、管理サーバー2から送信された全部又は一部のコンテンツデータを一時的に蓄積するバッファ装置であり、本実施形態では、管理サーバー2から取得したメタデータに応じてアクセスして取得されたコンテンツデータを、コンテンツ再生部32aによるコンテンツ再生に先行して、コンテンツを予めキャッシュ部35aにダウンロードして記憶する。
出力インターフェース33は、映像及び音声の出力信号を、表示部34及びスピーカー38からそれぞれ出力させるモジュールである。表示部34は、例えば、液晶ディスプレイ等の表示装置であり、ブラウザソフトなどのアプリケーションによって生成される放送画面を通じて、映像や文字などを表示することができる。スピーカー38は、音声信号や音声ファイルを外部に音響として出力する出力装置であり、本実施形態では、他のライブ参加者用端末1から取得した音声データを受信して、各ユーザーの音声を出力する。
操作デバイスインターフェース36は、マウスやキーボード等の操作デバイスが接続され、操作ボタンやタッチパネルなどユーザー操作が入力されるモジュールである。この操作デバイスインターフェース36とによって、ユーザーは、Webページやコンテンツを表示させるため各種操作をすることができる。
アプリケーション実行部37は、一般のOSやブラウザソフト、メディア視聴アプリケーションなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。なお、本実施形態では、このアプリケーション実行部37で、上記同様、ブラウザソフトや、メディア視聴アプリケーションを実行することによって、コンテンツ再生部32aがCPU上に仮想的に構築される。
ブラウザ部32は、ブラウザソフトを実行することによって構築され、Webページを視聴するためのモジュールであり、インターネットからHTML(HyperText Markup Language)ファイルや画像ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。本実施形態において、ブラウザ部32は、管理サーバー2にアクセスして、視聴可能なグループを示したチャンネルに関するWebデータ(チャンネル一覧画面や各グループのチャンネル画面)等を受信して再生する。なお、フォームを使用してユーザーがデータを管理サーバー2に送信したり、JavaScript(登録商標)やFlash、及びJava(登録商標)などで記述されたアプリケーションソフトを動作させたりすることも可能である。
そして、このブラウザ部32には、メタデータ解析部32bと、コンテンツ再生部32aと、GUI制御部32cとを備えている。メタデータ解析部32bは、管理サーバー2から受信したメタデータを解析して、当該タグデータ内に含まれた、コンテンツデータのアクセス先を抽出し、当該アクセス先からコンテンツデータをダウンロードするモジュールである。
GUI制御部32cは、表示部34の放送画面内に配置され、グループ対話に関する表示及びユーザー操作を受け付けるグラフィックユーザーインターフェース(GUI)を制御するモジュールである。本実施形態では、表示部34の放送画面内に表示されるオブジェクトに対する操作を、GUIを通じて操作デバイスインターフェース36により受け付けて各モジュールに操作信号を送信する。このGUIに対する操作により、チャンネルの視聴開始・視聴終了や、チャンネルの切替えが行われ、これらの操作は操作デバイスインターフェース36により取得される。
コンテンツ再生部32aは、メタデータ解析部32bによってダウンロードしたコンテンツデータを再生するソフトウェアであり、具体的には、アプリケーション実行部37及び操作デバイスインターフェース36からの制御信号によって、ブラウザ部32で再生したWebページ内に放送画面を埋め込むようにして表示部34上の放送画面に映像データを表示させるとともに、音声データをスピーカー38等から音声を出力させる。
なお、本実施形態において、視聴者用端末3と管理サーバー2とは、恒常的にコネクションを維持し、メタデータ解析部32bでは、生成されたメタデータをリアルタイムに受信し、メタデータ解析部32bでは、このメタデータを入手し次第、メタデータで指定されたコンテンツデータをhttpプロトコル経由でダウンロードして、連続再生するようになっている。
(4)表示部105、34の放送画面に関する表示、及び操作の概要
次いで、ライブ参加者用端末1又は視聴者用端末3の表示部105、34に表示される放送画面の表示形態、及び操作の概要について説明する。図7は、画面サイズの大きな端末に関する表示形態を説明する説明図であり、図(a)〜(d)は、ライブ参加者用端末1に表示されるチャンネル画面を示し、同図(e)及び(f)は、視聴者用端末3に表示されるチャンネル画面を示す説明図である。また、図8は、画面サイズの小さな端末に関する表示形態を説明する説明図であり、同図(a)〜(d)は、ライブ参加者用端末1に表示されるチャンネル画面を示し、同図(e)は、視聴者用端末3に表示されるチャンネル画面を示す説明図である。また、図9(a)〜(d)は、本実施形態に係る画面上の操作概要を示す説明図である。なお、本実施形態には、タッチパネル式の画面を有する端末を用いた場合を例に説明する。
先ず、パーソナルコンピュータ等の汎用コンピューターであるライブ参加者用端末1c及び視聴者用端末3cと、タブレット端末であるライブ参加者用端末1a及び視聴者用端末3aの表示形態について説明する。図7(a)に示すように、ライブ参加者用端末1a,1cでは、管理サーバー2に対してグループ作成の処理を実行すると、ライブ参加者用のホーム画面501が表示される。このホーム画面501には、画面左上には、「ハンドルネーム+チャンネル」が表示されるとともに、右側には、チャット画面502が表示される。このチャット画面502には、テキスト入力欄と、他のユーザーが入力したテキストデータを表示する画面から構成される。また、中央下方には、配信開始アイコン503が表示され、画面右下には、チャンネル一覧アイコン504と、他の配信チャンネルアイコン505とが表示される。
ここで、図9(a)に示すように、配信開始アイコン503がユーザー操作によってタップ(又はクリック)されると、当該ライブ参加者用端末1のカメラ115が起動されて、ライブ参加者用端末1の所有者を撮影開始する。そして、撮影された映像506は、図7(b)及び図9(a)に示すように、画面全体に表示されるとともに、チャット画面502などのインターフェースは、その撮影画面の上に重ねられるように配置される。
また、チャンネル一覧アイコン504がタップされると、図7(d)に示すように、チャンネル一覧画面508が表示され、この一覧のいずれかをタップ操作すると、図7(c)に示すように、他のライブ参加者が開催しているチャンネル画面507に遷移される。したがって、ユーザーx、y、zは、グループに応じて管理者にもなり、参加者にもなれる。なお、図7(c)に示す他のチャンネル画面507は、図7(a)と同様な表示形態である。
一方、視聴者用端末3a,3cでは、管理サーバー2にアクセスして、所定のチャンネルを選択すると、図7(e)に示すように、管理者のチャンネル画面510が表示される。ここで、視聴者用端末3a,3cでは、チャンネル名と、チャット画面502とは、上記同様に表示される。また、チャンネル画面510には、左右に他のチャンネルに遷移するための遷移アイコン511,511が表示され、この部分をタップすることで他の管理者のチャンネル画面510に遷移できるようになっている。さらに、チャンネル画面510の中央下方には、参加者アイコン512が表示される。参加者アイコン512では、図7(e)に示すように、参加人数分の円形アイコンが複数表示される。ここで、参加者が決定されている参加には、所定の色で塗り潰され、一方、参加が決定されていない参加者アイコン512bは、例えば、内部が白塗りのアイコンで表示される。なお、参加者が決定されている参加者アイコン512aには、各端末のカメラで撮影された参加者の顔や、会員登録時に設定されたグラフィック等を表示させてもよい。
そして、表示されているチャンネルが視聴者参加可能なチャンネルである場合、図7(f)に示すように、このチャンネルに参加するか否かを確認する画面513が表示され、この画面上には、参加を決定する「Join」アイコン514と、不参加を決定する「Not now」アイコン515とが表示される。ここで、「Join」アイコン514が選択されると、この視聴者用端末3a,3cがグループに参加することとなり、図9(b)に示すように、参加者アイコン512aには、塗り潰されたり、参加したユーザーのグラフィックが表示されたりする。その後、図9(c)に示すように、管理者又は参加者の端末1上で自己の参加者アイコンをダブルクリック若しくは、参加者アイコン512aを画面中央の配信開始アイコン517へドラッグ・アンド・ドロップすると、各参加者の画像506が画面上に表示されて対話が開始可能となる。一方、図7(f)に示す「Not now」アイコン515が選択された場合には、図7(e)に示すチャンネル画面に遷移する。
なお、配信開始アイコン517は、現在何も再生/配信していない場合には、図9(c)に示すように、配信開始アイコン517aのみが表示され、参加者アイコンをドラッグ・アンド・ドロップすることにより、図9(c)の右図のような参加者の画像506を含むコンテンツを全画面で再生が開始される。一方、既にドロップ済みか、若しくは画面内で再生中である場合には、図9(c)に示すように、配信開始アイコン517a及び配信開始アイコン517bが表示さる。そして、参加者アイコンを配信開始アイコン517bにドラッグ・アンド・ドロップすると、スプリット表示により追加の小窓で、図9(c)の右図のようなコンテンツを表示させる。一方、参加者アイコンを配信開始アイコン517aにドラッグ・アンド・ドロップすると、現在再生中のコンテンツを入れ替える形で図9(c)の右図のようなコンテンツを全画面で表示させる。
既に参加者がグループに参加している場合であって、このグループから退出したい場合には、図9(d)に示すように、チャンネル画面510から参加者アイコン512aをドラッグして画面外にドラッグ・アンド・ドロップ操作する。この操作が行われると、当該参加者のライブ参加者用端末1は、グループ対話のグループからログアウトし、その後、チャンネル画面510には、参加者アイコン512aが削除される。
次いで、スマートフォンなどの画面サイズの小さいライブ参加者用端末1b及び視聴者用端末3bの表示形態について説明する。ライブ参加者用端末1bを用いてグループ作成すると、図8(a)に示すように、当該ユーザーが管理者となったホーム画面520が表示される。このホーム画面520には、上記同様、画面左上に「ハンドルネーム+チャンネル」が表示される。また、右上にはチャットアイコン521が表示され、中央下部には配信開始アイコン524が表示され、右下にはビデオモードアイコン525が表示される。
チャットアイコン521がタップされると、図8(b)に示すように、チャット画面522が表示されるようになっている。このチャット画面には、テキスト入力欄522aと、他のユーザーが入力したテキストデータを表示する画面522bから構成される。また、配信開始アイコン524がタップされると、配信が開始される。ここで、本実施形態において、ライブ参加者用端末1bは、音声のみが入力される音声モードがデフォルトに設定されており、配信開始アイコン524がタップされた場合には、ユーザーの音声のみを取得して通信ネットワーク5上に送信されるようになっている。一方、ビデオモードアイコン525がタップされると、ライブ参加者用端末1bのカメラ115が起動されて、ライブ参加者用端末1の所有者を撮影開始する。カメラ位置は、各端末で異なるため、限定されるものではないが、画面側にカメラが設置されている場合は、画面側のカメラを起動するようになっている。そして、撮影された映像データは、画面全体に表示されるとともに、チャット画面などのインターフェースは、その撮影画面の上に重ねられるように配置される。
また、図8(a)に示すように、ホーム画面左下523に触れた状態で指を滑らせて左外側にスワイプ操作すると、図8(c)に示すように、チャンネル一覧画面526が表示され、この一覧のいずれかをタップ操作すると、他のユーザーが開催しているチャンネル画面に遷移される。したがって、ここでも、ユーザーx、y、zは、グループに応じて管理者にもなり、参加者にもなれる。なお、他のチャンネル画面は、図8(a)と同様な表示形態である。
一方、視聴者用端末3bでは、管理サーバー2にアクセスして、所定のチャンネルを選択すると、図8(e)に示すように、管理者のチャンネル画面が表示される。ここで、視聴者用端末3bにおいても、チャンネル名と、チャット画面とは、上記同様に表示される。ここで、このチャンネルが視聴者参加可能なチャンネルである場合、図8(e)に示すように、このチャンネルに参加するか否かを確認する画面528が表示され、この画面上には、参加を決定する「Join」アイコン528aと、不参加を決定する「Not now」アイコン528bとが表示される。
「Join」アイコン528aが選択されると、この視聴者用端末3bがグループに参加することとなり、一方、「Not now」アイコン528bが選択された場合には、参加することなく、当該チャンネル画面のトップページに遷移する。なお、図示していないが、この視聴者用端末3bについても、図7(e)に示すように、チャンネル画面の中央下方には、参加者アイコン512を表示させ、参加者が決定されている場合には、当該アイコン512aに、各端末のカメラで撮影された参加者の顔や、会員登録時に設定されたグラフィック等を表示さてもよい。
(ライブ放送方法)
以上の構成を有するライブ放送システムを動作させることで、本発明のライブ放送方法を実施することができる。図10A及び10Bは、本実施形態に係る対話グループ生成から通話開始までの動作を示すシーケンス図であり、図11は、第1実施形態に係る対話グループの通話を視聴者が視聴する動作を示すシーケンス図である。なお、ここでは、ユーザーxが管理者用端末1aを操作して、グループ(チャンネル)を作成し、他のユーザーyが当該グループに参加する場合を例に説明する。なお、以下の説明において、ユーザーyは、グループに参加する前は視聴者であって、使用する端末を視聴者用端末3と称し、グループに参加後は、ライブ参加者となり、使用する端末をライブ参加者用端末1cと称するものとする。また、ここでは、管理サーバー2には、予め、ライブ参加者用端末1及び視聴者用端末3からの会員登録は完了されているものとする。
先ず、管理者用端末1aは、管理サーバー2にアクセスすると、Webページ上に認証画面が表示される。そして、管理者用端末1a側で、ユーザーID及びパスワード等を入力すると、管理サーバー2の認証部221では、入力されたユーザーID及びパスワード等に基づいて、認証処理を実行している。認証されない場合には、管理者用端末1aの画面上にはエラー表示を行い、再度、ユーザーID及びパスワード等などの認証情報入力を促す。
一方、認証が許可されると、管理者用端末1aに対して、現在視聴可能、若しくは参加可能なチャンネルのWebページが送信される。ここで、ユーザーxは、新たなチャンネルを作成するグループ作成操作を行うとする(S101)。グループ作成操作を行うと、そのグループ作成信号は、管理サーバー2のグループ生成部222aに送信される。
グループ生成部222aでは、グループ作成信号を受信すると(S102)、生成したグループにグループIDを付加して、グループデータベース232に新規登録するとともに、グループ作成要求した管理者用端末1aから取得したユーザーIDをグループ管理者欄に登録する(S103)。また、ライブ参加者用端末1からの入力情報に基づいて、参加制限人数をグループデータベース232に設定する。
そして、データ送信部223では、このグループデータベース232に新規登録されたグループを、新規チャンネルとしてWebサイト上に公開する(S104)。管理者用端末1aでは、この開設したチャンネルのWebページを受信すると、GUI制御部103bでは、双方向通話で送受信されている映像データ及び音声データを指し示すアイコンなどを生成し、放送画面生成部103aでは、生成されたアイコンを、ライブ参加者による操作信号により選択可能に放送画面上に表示するとともに、操作信号による選択操作に応じて、各アイコンに関する映像及び音声を出力させる放送画面を生成して、表示部105のウィンドウ500上に表示させる。この場合、管理者用端末1aの表示部105には、図7(a)に示すようなホーム画面501やチャンネル一覧画面508が表示される(S105)。
その後、ユーザーyが視聴者用端末3を用いて、管理サーバー2にアクセスすると(S106)、上記同様に認証処理が行われる。なお、視聴者端末の認証処理については、自動的に割り当てられた文字列などをユーザーIDとして、ユーザーに認証操作を強制せずに視聴を可能とすることが望ましい。ここで、認証されない場合には、ライブ参加者用端末1cの画面上にはエラー表示を行い、再度、ユーザーID及びパスワード等などの認証情報入力を促す。一方、認証が許可されると、チャンネル一覧画面や、各チャンネルのホーム画面等がデータ送信部223からライブ参加者用端末1bに送信される(S107)。視聴者用端末3では、ブラウザ部32によって、表示部34には、図7(d)に示すようなチャンネル一覧画面や図7(e)に示すような各チャンネルのホーム画面が表示される(S108)。
その後、ユーザーyが、各チャンネルを視聴して、参加するチャンネルを決定し、図7(f)に示すように、Webページの「Join」アイコン514をタップするなどの視聴参加操作を行う(S109)。この「Join」アイコン514がタップされると、視聴参加要求信号が生成され、この信号は管理サーバー2の接続管理部222bで受信される(S110)。
接続管理部222bでは、参加要求信号を管理者用端末1aに対して送信する。そして、管理者用端末1aでは、この参加要求信号を取得すると、アプリケーション側は自動的に許可応答を行い、参加者の映像及び音声の入力を受け入れる。このとき、アプリケーション側が自動的に許可応答を行うことから、「Join」アイコン514のタップ後、すなわち参加要求後は、管理者側の操作なしに参加が可能となっているが、この自動応答に際し、カメラの許可ダイアログ及び出現位置の指定を要求するようにしてもよい。なお、上述したような自動的な許可応答を採用するにあたっては、ホワイトリストによるフィルタリングや参加者人数制限等のサクセス制限機能を実装することが望ましい。
また、接続管理部222bでは、管理者用端末1aから或いは自動応答により、視聴参加可否情報を取得すると(S113)、視聴者用端末3によるP2Pネットワーク5aへの接続を許可して、当該可否の結果情報を、管理者用端末1aに結果情報として送信するとともに、視聴者用結果情報として視聴者用端末3に送信する(S113)。そして、管理者用端末1aでは、この結果情報を取得し、取得された情報を被視聴情報や状態表示として表示させる(S112)一方、視聴者用端末3では、この結果情報を取得し、取得された情報を表示部34上に表示させる(S111)。また、接続管理部222bでは、取得した許可信号に基づいて、グループデータベース232を参照し、当該データベース内の参加者欄に、視聴者用端末3のユーザーIDを登録し、視聴者用端末3を、ライブ参加者用端末1として双方向通話に参加させる。なお、これによりユーザーyが所持する端末が視聴者用端末3からライブ参加者用端末1cに変更される。
その後、図10B(a)に示すように、接続管理部222bでは、更新登録後のグループデータベース232内のデータを各端末に配信する(S116)。この更新後のWebデータは、管理者であるユーザーxの管理者用端末1a及び参加者であるユーザーyのライブ参加者用端末1cにそれぞれ表示される(S117及びS118)。具体的には、図9(b)に示すように、参加者アイコン512が表示される。そして、管理サーバー2では、管理者用端末1aからの配信開始信号が受信されない間は(S119における”N”)、ステップAに戻り、他のライブ参加者用端末1からの参加要求があった場合には、ステップS106〜ステップS118までの処理が繰り返し行われる。
ユーザーxの操作によって、図7(a)に示すように、画面上に表示された配信開始アイコン503がタップされると(S120)、配信開始信号が管理サーバー2に送信される。管理サーバー2の端末リスト作成部222cでは、この配信開始信号を受信すると(S119における”Y”)、当該グループIDに基づいてグループデータベース232を参照して、管理者欄及び参加者欄に登録されたユーザーIDを抽出するとともに、ユーザーIDに関連付けられたIPアドレスをユーザーデータベース231から抽出して端末リストを生成する(S121)。そして、生成された端末リストを管理者用端末1a及びライブ参加者用端末1cに送信され、各端末1a,1cは端末リストを受信する(S122及びS123)。
管理者用端末1aでは、端末リストを受信すると、接続要求部102aにおいて、端末リスト内のIPアドレスに基づいて当該グループ内における他のライブ参加者用端末1cを選択し、接続要求を行う(S124)。ライブ参加者用端末1cでは、接続要求を受信するとともに、アプリケーション内で自動的に応答信号を返答することで(S125)、管理者用端末1aとライブ参加者用端末1cとが接続され、通話が開始される(S126)。なお、このように接続要求への応答を自動的に行うことで、操作の簡略化を図ることができ、通話や、グループ内のライブ視聴を容易にすることができるが、この自動応答を採用した場合には、許可ユーザー(ホワイトリスト)による排除や、グループ全体のプライベートモードに対応する機能を設けることが望ましい。
通話が開始されると、各端末1a及び1cでは、P2Pネットワーク5aを通じて、入力デバイスであるカメラ115やマイク114が取得した映像及び音声をリアルタイムに送受信して双方向通話を行う。具体的には、カメラ115が起動されて、所有者を撮影して、撮影された映像データを通信相手に対して送信するとともに、マイク114が入力した音声信号を音声通話部112及びVoIP部110を介してIPパケット化された音声データに変換して、コンテンツ配信部102dによって映像データ及び音声データを通信相手にそれぞれ送信する(S127)。
各端末1a及び1cは、通信相手から取得したコンテンツデータをコンテンツ受信部102bで受信するとともに、コンテンツ再構築部102cにおいて、他のライブ参加者用端末1から送信された全部又は一部のコンテンツデータを再構築して、その再構築されたコンテンツデータをキャッシュ部107aに送信する。
キャッシュ部107aでは、取得されたコンテンツデータを、放送画面生成部103aによるコンテンツ再生に先行して予めキャッシュ部107aにダウンロードして記憶しておき、放送画面生成部103aによって、当該コンテンツデータをブラウザ部103で実行されたWebページの再生画面を埋め込むようにして、表示部105上の放送画面に映像を表示させるとともに、音声データをスピーカー113等から音声を出力させる(S128)。
なお、本実施形態では、ユーザーx及びユーザーyによるグループで配信開始されたが、配信開始される前や、配信開始された後であっても、参加人数に空きがある場合には、他のライブ参加者用端末1の参加を受け付けており、他のライブ参加者用端末1からの参加がある場合には、ステップS106〜ステップS118までの処理が行われる。また、管理者用端末1aは、上述したP2Pネットワーク5a及び通信ネットワーク5の双方向通話及び配信を制御して、管理者用端末1aからの操作信号に応じて、各アイコンに関する映像及び音声を出力させることもできる。
ここで、ライブ参加時における動作について詳述すると、図10B(b)に示すように、参加を希望するユーザーは、参加を希望するチャンネルを決定し、ライブ参加要求操作を行う(S130)。例えば、上述したように、「Join」アイコン514をタップするなどによって、ライブ参加要求信号が生成され、この信号は管理サーバー2の接続管理部222bに受信される(S131)。
このステップS131において、接続管理部222bは、ライブ参加要求信号を管理者用端末1aに対して送信する。そして、管理者用端末1aでは、このライブ参加要求信号を取得すると、アプリケーション側は自動的に許可応答を行い、参加者の映像及び音声の入力を受け入れる。このとき、アプリケーション側が自動的に許可応答を行うことから、「Join」アイコン514のタップ後、すなわち参加要求後は、管理者側の操作なしに参加が可能となっているが、この自動応答に際し、カメラの許可ダイアログ及び出現位置の指定を要求するようにしてもよい。なお、上述したような自動的な許可応答を採用するにあたっては、ホワイトリストによるフィルタリングや参加者人数制限等のサクセス制限機能を実装することが望ましい。
次いで、接続管理部222bでは、管理者用端末1aから、或いはアプリケーションによる自動応答によって、視聴参加可否情報を取得するとその情報に応じてライブ参加が可能かどうかを判断する(S132)。そして、ライブ参加が不可能である場合は(ステップS132における「N」)、その旨を視聴者用結果情報としてライブ参加者用端末1c側に表示させる(S133)。一方、ライブ参加が可能である場合は(ステップS132における「Y」)、視聴者用端末3からのP2Pネットワーク5aへの接続を許可し、当該可否の結果情報を管理者用端末1aに送信するとともに、同結果情報を視聴者用端末3には、視聴者用結果情報として送信する。そして、管理者用端末1aでは、この結果情報を取得し、取得された情報を被視聴情報や状態表示として表示させる一方、視聴者用端末3では、この結果情報を取得し、取得された情報を表示部34上に表示させる。
その後、接続管理部222bでは、取得した許可信号に基づいて、グループデータベース232を参照し、当該データベース内の参加者欄に、視聴者用端末3のユーザーIDを登録するなどして、端末リストを更新するとともに、管理者用端末1a及びライブ参加者用端末1cの双方に送信する(S134)。この端末リストを受信することにより、管理者用端末1a及びライブ参加者用端末1cは、更新された端末リストを蓄積する(S135,S136)。
次いで、対話グループの通話を視聴者が視聴する動作を説明する。先ず、図11に示すように、管理者用端末1aとライブ参加者用端末1cとが通話を行っていると(S201)、管理者用端末1aとライブ参加者用端末1cのコンテンツ配信部102dでは、それぞれの音声データ及び映像データを、グループID及びユーザーIDを付加して管理サーバー2に送信する(S202)。管理サーバー2では、各端末からのコンテンツデータを取得して、グループIDに基づいて、コンテンツ情報蓄積部234内に、各ユーザーIDに関連付けてそれぞれを蓄積する(S203)。コンテンツ情報蓄積部234内にコンテンツデータが受信されると、メタデータ生成部224は、取得したコンテンツデータに関するメタデータを生成して、コンテンツ情報蓄積部234内に蓄積する(S204)。なお、このメタデータには、当該グループに関する情報(当該チャンネルの属性、説明テキストなど)、再生時刻、及びコンテンツ情報蓄積部234へのパス(IPアドレス情報)を含んでいる。
管理者用端末1aによって配信終了の操作が行われず(S205における”N”)、また、ライブ参加者用端末1cによる退出操作が行われない間は(S206における”N”)、このステップ201〜ステップS204までの処理は繰り返され、管理者用端末1a及びライブ参加者用端末1cの音声データ及び映像データは、管理サーバー2に蓄積される。
その後、視聴者用端末3から管理サーバー2にアクセスがあり(S207)、チャンネルの視聴操作があると、管理サーバー2では、チャンネル一覧情報のWebデータを送信する(S208)。なお、ここでは、ユーザー認証を行ってもよいし、行わなくてもよい。視聴者用端末3の画面上には、図7(d)に示すようなチャンネル一覧が表示され(S209)、ユーザー操作によって所定のチャンネルが選択されると、視聴要求信号が管理サーバー2に送信される(S210)。管理サーバー2では、この視聴操信号を受信すると(S211)、当該選択されたグループのグループIDに基づいて、コンテンツ情報蓄積部234を参照し、グループIDのメタデータを視聴者用端末3に配信する(S212)。
視聴者用端末3では、このメタデータを受信すると(S213)、メタデータ解析部32bによって、メタデータが解析され、取得したアドレス情報に基づいて、管理サーバー2にアクセスする(S214)。管理サーバー2のコンテンツ配信部223aでは、視聴者用端末3からのアクセスに応じて、該当するコンテンツデータを視聴者用端末3に送信する(S215)。視聴者用端末3では、コンテンツデータを取得すると、コンテンツ再生部32aによって、ブラウザ部32で再生したWebページ内に再生画面を埋め込むようにして表示部34上の放送画面に映像データを表示させるとともに、音声データをスピーカー38から音声を出力させる(S216)。
管理サーバー2では、常時、新しいメタデータが生成されたか否かを判断して(S217)、新しいメタデータが蓄積されたと判断されると(S217における”Y”)、当該メタデータをそのグループを視聴している視聴者用端末3に配信する(S212)。一方、視聴者用端末3でも視聴者から視聴終了の操作がされない場合には(S218における”N”)、メタデータを取得しつつ、管理サーバー2にアクセスしてコンテンツデータを取得し続けることとなり、これにより、ステップS212〜ステップS218までの処理が繰り返される。視聴者用端末3において、視聴終了の操作がされると(S218における”Y”)、視聴者用端末3と管理サーバー2との接続が解除されて終了する。
参加者であるユーザーyが退出操作を行うと、ライブ参加者用端末1bと管理者用端末1aとの接続が解除されてグループから退出する(S223)。また、管理者であるユーザーxが配信終了の操作を行うと(S206における”Y”)、ライブ参加者用端末1bとの接続が解除されるとともに、接続終了信号が管理サーバー2に送信されて(S219)、管理サーバー2では、グループIDに基づいて、当該グループを閉鎖する処理を行う(S220)。その後、管理サーバー2では、視聴者用端末3に対して、放送終了信号を送信して(S221)、視聴者用端末3では、放送終了信号を受信すると、当該チャンネル画面からチャンネル一覧画面に遷移させるなどして終了する(S222)。
(プログラム)
上述した本実施形態係るライブ参加者用端末1、視聴者用端末3及びライブ放送方法は、所定の言語で記述されたプログラムをコンピューター71〜74上で実行することにより実現することができる。すなわち、図12に示すように、このプログラムを携帯情報端末(PDA)に携帯電話・通信機能を統合した携帯端末機71、クライアント側が使用するパーソナルコンピュータ72、ネットワーク上に配置されてクライアント側にデータや機能を提供するサーバー装置73、又はゲーム装置などの専用装置74、又はICチップ86にインストールし、CPU上で実行することにより、上述した各機能を有するライブ放送システムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。
そして、このようなプログラムは、パーソナルコンピュータで読み取り可能な記録媒体81〜85に記録することができる。具体的には、図12に示すような、フレキシブルディスク83やカセットテープ82等の磁気記録媒体、若しくはCD-ROMやDVD-ROM等の光ディスク81の他、USBメモリ85やメモリカード84など、種々の記録媒体に記録することができる。
(作用・効果)
このような本実施形態によれば、ライブ参加者通信部102によって、ライブ参加者用端末1により形成されたP2Pネットワーク5aを通じて、カメラ115及びマイク114が取得した映像及び音声をリアルタイムに送受信して双方向通話するとともに、双方向通話で送受信されている映像及び音声を出力させる放送画面530を生成して、この放送画面を、所定の視聴者がそれぞれ使用する視聴者用端末3に対して、通常の通信ネットワーク5を通じて、放送画面を送信して出力させているので、ライブ参加者用端末1間で対談した映像及び音声を含む放送画面を視聴者に視聴可能とすることができる。
特に、本発明では、放送画面生成部において、ライブ参加者通信部における双方向通話で送受信されている映像及び音声を指し示すアイコンをライブ参加者による操作信号により選択可能に表示するとともに、操作信号による選択操作に応じて、各アイコンに関する映像及び音声を出力させているので、プレゼンテーションや注目されている映像及び音声を画面全域に投影した上で、放送画面と相手の顔を同時に見ながら快適な対話を可能とすると共に、アイコンへのジェスチャー操作による放送の切替えが可能なため、ユーザー自身による放送画面作業の負担をより軽減することができる。具体的に、本実施形態では、個々のアイコンがドラッガブルとなっており、図9に示したいわゆる「ジェスチャー操作」による管理操作を可能とすることで、これにより画面上に同時に表示するボタン数を最小限にとどめることができ、その上で、移動位置などをリアルタイムに反映することにより相手の実在感、直感性を楽しむことができる。
また、本実施形態では、P2Pネットワーク5a及び通常の通信ネットワーク5の双方向通話及び配信を制御する管理者用端末1aをさらに備え、放送画面生成部103aは、管理者用端末1aからの操作信号に応じて、各アイコン531に関する映像及び音声の出力を制御する管理者操作部103cを有しているので、例えば、所定のライブ参加者に対して発言権を与え、他のライブ参加者はその間発言不可とすることで、複数のライブ参加者が一斉に発言してしまうことを防止し、グループ内の対談を円滑に進行させることができる。
また、本実施形態では、ライブ参加者用端末1からの許可信号を取得し、取得した許可信号に基づいて、視聴者用端末によるP2Pネットワーク5aへの接続を許可する接続管理部222bをさらに備え、ライブ参加者通信部102は、接続管理部に許可された視聴者用端末3を、ライブ参加者用端末1として双方向通話に参加させているので、ライブ放送を視聴する視聴者に対しても、ライブ放送に積極的に参加させることができ、その結果、ライブ放送に興味を抱かせて、本システムによるサービス参加を増大させることができる。
[第2実施形態]
次いで、本発明の第2実施形態について説明する。本実施形態では、コンテンツデータを持っている上流ノードの視聴者用端末3がグループ内の下流ノードの端末に対して、いわゆるオーバーレイマルチキャスト方式を用いてコンテンツデータを配信する場合を例に説明する。
図13は、第2実施形態に係るライブ放送システムの概略構成を示すブロック図であり、図14は、第2実施形態に係る管理サーバーの内部構成を示すブロック図であり、図15は、第2実施形態に係る視聴者用端末の内部構成を示すブロック図である。なお、本実施形態において、上述した第1実施形態と同一の構成要素には同一の符号を付し、その機能等は特に言及しない限り同一であり、その説明は省略する。
本実施形態では、図13に示すように、複数のライブ参加者用端末1で形成されたグループ内の対話を視聴するユーザーa〜fが所持する視聴者用端末3及び4が通信ネットワーク5に接続されている。この例では、ユーザーa及びbが所持する視聴者用端末3a及び3bは、第1実施形態と同様、管理サーバー2と通信ネットワーク5を通じて接続され、管理サーバー2との間でメタデータ及びコンテンツデータ等を通信する。
一方、ユーザーc〜fが所持する視聴者用端末4a〜4dでは、いわゆるOLM方式のツリー型ネットワーク5c上に配置されており、視聴者用端末4aが上流ノードとして管理サーバー2及びライブ参加者用端末1と接続され、その視聴者用端末4aの下流には、視聴者用端末4bが接続され、さらに視聴者用端末4bの下流には視聴者用端末4c及び4dが接続されているものとする。なお、以下、視聴者用端末4a〜4dを総称して視聴者用端末4と称する。
そして、本実施形態において、管理サーバー2には、図14に示すように、グループ通話制御部222内にノード制御部222dを備えている。ノード制御部222dは、ツリー型ネットワーク5cで下流に位置する視聴者用端末4に対して、コンテンツデータを配信する上流ノードを決定するモジュールである。ここで、ノード制御部222dは、視聴者用端末4から所定のグループに対する視聴要求を受信すると、選択されたグループIDに基づいて、グループデータベース232を参照して、グループに参加しているライブ参加者用端末1から下流接続先が少ない端末を選択して、そのライブ参加者用端末1に参加リクエスト及び認証キーを送信する。
その後、ノード制御部222dは、ライブ参加者用端末1若しくはその下流の視聴者用端末4から、接続可能である旨を示す接続可能信号と認証キーを受信すると、視聴要求を行った視聴者用端末4に対して、配信元であるライブ参加者用端末1若しくは視聴者用端末4のIPアドレスが含まれた配信元情報を配信するとともに、配信元となるライブ参加者用端末1若しくは視聴者用端末4に対しても、視聴要求を行った視聴者用端末4のIPアドレスが含まれた配信先情報を配信する。
なお、視聴要求を行った端末がツリー型ネットワーク5c内の視聴者用端末4か、それ以外の視聴者用端末3かは、ユーザー登録時にユーザーから入力を受け付けてもよいし、アクセス時のネットワーク環境を検出して自動で判断してもよい。
次いで、視聴者用端末4の内部構成について説明する。なお、本実施形態において、以下に説明する視聴者用端末4の機能は、ライブ参加者用端末1にも同様な機能モジュールを備えているものとする。具体的に、図15に示すように、視聴者用端末4には、通信インターフェース形のモジュールとして通信インターフェース401とを備えている。通信インターフェース401は、通信ネットワーク5を通じて、データをパケットとして送受信するモジュールであり、この通信インターフェース401を介して、管理サーバー2と通信して端末リストや接続要求信号等が送受され、ライブ参加者用端末1や他の視聴者用端末4と通信して、配信要求やコンテンツデータが送受される。
また、視聴者用端末4には、メモリ407を備えている、メモリ407は、OS(Operating System)や各種のアプリケーション用のプログラム、その他のデータ等などを記憶するROM装置であり、管理サーバー2から送信されたノードリストなどが含まれている。ここで、ノードリストとは、自己の上流に位置し、コンテンツデータが配信される視聴者用端末4と、自己の下流に位置し、コンテンツデータを配信する視聴者用端末4とを示す一覧リストであり、視聴者用端末4を識別する端末ID及びIPアドレスが含まれている。このノードリストは、ノード制御部222dから送信された接続先情報、若しくは接続元情報を取得すると、このデータ内に含まれた端末のIPアドレスを順次ノードリストに記録していく。なお、ノードリストは、通常、上流ノード数は一つであり、下流ノード数は、所定数に制限されており、所定数以上の下流ノードとは接続されないように設定されている。
また、このメモリ407には、キャッシュ部407aを備えている。キャッシュ部407aは、いわゆるOLM方式(ピア・ツー・ピア)のツリー型ネットワーク5cにより、他の視聴者用端末4から送信された全部又は一部のコンテンツデータを一時的に蓄積するバッファ装置であり、本実施形態では、配信要求に応じて取得されたコンテンツデータを、コンテンツ再生部403aによるコンテンツ再生に先行して、コンテンツを予めキャッシュ部407aにダウンロードして記憶する。このキャッシュ部407aに記憶されたデータはツリー型ネットワークシステムにより、他の視聴者用端末4と共有することができ、下流ノードの視聴者用端末4から配信要求があった場合には、下流ノードの視聴者用端末4に対して送信される。
さらに、視聴者用端末4は、コンテンツの再生に関するモジュールとして、アプリケーション実行部411と、操作デバイスインターフェース404と、ブラウザ部403と、出力インターフェース406とを備えている。
アプリケーション実行部411は、一般のOSやブラウザソフト、メディア視聴アプリケーションなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。なお、本実施形態では、このアプリケーション実行部411で、例えば、ブラウザソフトが実行されることによって、ブラウザ部403がCPU上に仮想的に構築され、また、メディア視聴アプリケーションを実行することによって、コンテンツ再生部403aがCPU上に仮想的に構築される。
操作デバイスインターフェース404は、マウスやタッチパネル等の操作デバイスが接続され、その操作信号が入出力されるモジュールである。これらのアプリケーション実行部411と、操作デバイスとによって、ユーザーは、グループ対話を開始するための操作の他、視聴したいチャンネルを検索したりなど、関連するサービスを受けることができる。
ブラウザ部403は、ブラウザソフトを実行することによって構築され、Webページを視聴するためのモジュールであり、インターネットからHTML(HyperText Markup Language)ファイルや画像ファイルなどをダウンロードし、レイアウトを解析して表示・再生する。なお、フォームを使用してユーザーがデータを管理サーバー2に送信したり、Java Script(登録商標)やFlash、及びJava(登録商標)などで記述されたアプリケーションソフトを動作させたりすることも可能である。
そして、このブラウザ部403には、GUI制御部403bと、コンテンツ再生部403aとを備えている。GUI制御部403bは、表示部405の画面500内に配置され、グループ対話に関する表示及びユーザー操作を受け付けるグラフィックユーザーインターフェース(GUI)を制御するモジュールである。本実施形態では、表示部405の画面500内に表示されるオブジェクトに対する操作を、GUIを通じて操作デバイスインターフェース404により受け付けて各モジュールに操作信号を送信する。このGUIに対する操作により、各チャンネルに対する視聴要求や視聴終了や、チャンネルの切替えを行い、これらの操作が操作デバイスインターフェース404により取得される。
コンテンツ再生部403aは、キャッシュ部407aに蓄積されたコンテンツデータを出力するソフトウェアであり、具体的には、アプリケーション実行部411及び操作デバイスインターフェース404からの制御信号によって映像データをブラウザ部403内に再生画面を埋め込むようにして表示し、表示部405上のウィンドウに放送画面を表示させるとともに、音声データをスピーカー413等から音声を出力させる。
出力インターフェース406は、映像及び音声の出力信号を、表示部405及びスピーカー413からそれぞれ出力させるモジュールである。表示部405は、例えば、液晶ディスプレイ等の表示装置であり、ブラウザソフトなどのアプリケーションによって生成されるウィンドウ500を通じて、映像や文字などを表示することができる。スピーカー413は、音声信号や音声ファイルを外部に音響として出力する出力装置であり、本実施形態では、他の視聴者用端末4から取得した音声データを受信して、各ユーザーの音声を出力する。
また、視聴者用端末4には、コンテンツデータを含む放送画像の送受に関するモジュール群として、視聴者通信部402を備えている。視聴者通信部402は、ライブ参加者用端末1により形成されたP2Pネットワーク5a及びツリー型ネットワーク5cを通じて、取得した映像及び音声をリアルタイムに受信するモジュールであり、具体的には、接続要求部402aと、接続応答部402eと、コンテンツ受信部402bと、コンテンツ配信部402dとを備えている。
接続要求部402aは、管理サーバー2に対して、当該グループ内のコンテンツの視聴を要求するモジュールである。本実施形態では、画面上に表示された参加アイコン512をタップ操作することで、視聴要求信号と、視聴を要求するグループIDが管理サーバー2に送信される。本実施形態において、この視聴要求信号は、ノード制御部222dに送信される。
接続応答部402eは、上流ノードであるライブ参加者用端末1若しくは視聴者用端末4から参加リクエスト及び認証キーを受信すると、メモリ407内のノードリストを参照して、下流ノード数に空きがあるか否かを判断し、接続数に空きがある場合には、接続可能信号及び認証キーを管理サーバー2に返信する。一方、接続数に空きがない場合には、ノードリストに既に記録された下流ノードのいずれかの視聴者用端末4に対して参加リクエスト及び認証キーを転送する。参加リクエスト及び認証キーを取得した視聴者用端末4の接続応答部402eは、上記同様に、自己のノードリストを参照して接続可否を判断し、視聴要求を行った視聴者用端末4の接続先が決定されるまで繰り返される。
コンテンツ配信部402dは、上流ノードから受信したコンテンツデータを下流ノードである視聴者用端末4に配信するモジュールである。本実施形態では、ノードリストを元に下流ノードである視聴者用端末4に対して、一部又は全部のコンテンツデータを配信する。
コンテンツ受信部402bは、通信インターフェース401が受信したコンテンツデータを受信するモジュールであり、上流ノードであるライブ参加者用端末1又は視聴者用端末4から全部又は一部のコンテンツデータを受信し、これらのデータをメモリ407に入力する。ここで、コンテンツ受信部402bには、コンテンツ再構築部402cを備えている。コンテンツ再構築部402cは、P2Pネットワーク5a及びツリー型ネットワーク5cを通じて、ライブ参加者用端末1又は他の視聴者用端末4から送信された全部又は一部のコンテンツデータを再構築するモジュールであり、その再構築されたコンテンツデータをキャッシュ部407aに送信する。
(ライブ放送方法)
以上の構成を有するライブ放送システムを動作させることで、本発明のライブ放送方法を実施することができる。図16は、第2実施形態に係る視聴者用端末へのコンテンツ配信処理を示すシーケンス図である。なお、ここでは、ユーザーeが視聴者用端末4bを操作して、ライブ参加者用端末1のチャンネルを視聴する場合を例に説明する。また、ここでは、既に、複数のライブ参加者用端末1において、所定のグループが形成され、視聴者用端末4bの上流には、視聴者用端末4aがライブ参加者用端末1及び管理サーバー2と接続されているものとする。
先ず、視聴者用端末4bにおいて、第1実施形態と同様に、視聴者用端末4bから管理サーバー2にアクセスがあり、チャンネルの視聴要求操作があると、管理サーバー2では、チャンネル一覧情報のWebデータを送信する。チャンネル一覧が表示される。そして、ユーザー操作によって所定のチャンネルが選択されると、視聴要求信号及びグループIDが管理サーバー2に送信される(S301)。
管理サーバー2の通信インターフェース401では、視聴者用端末4bから所定のグループに対する配信要求を受信すると、ネットワーク環境を判断する。ここでは、視聴者用端末4bでは、OLM方式のネットワークに位置するので、配信要求をノード制御部222dに送信する。
ノード制御部222dは、視聴者用端末4bから所定のグループに対する配信要求を受信すると、ネットワーク環境を判断し、選択されたグループIDに基づいて、グループデータベース232を参照して、グループに参加しているライブ参加者用端末1から下流接続先が少ない端末を選択して、そのライブ参加者用端末1に参加リクエスト及び認証キーを送信する(S302)。
ライブ参加者用端末1において、接続応答部402eは、参加リクエスト及び認証キーを受信すると、メモリ407内のノードリストを参照して、下流ノード数に空きがあるか否かを判断する。なお、ここでは、ライブ参加者用端末1には、接続数の空きがないものとする。この場合、ライブ参加者用端末1の接続応答部402eでは、接続数に空きがないため、ノードリストに記載された下流ノードである視聴者用端末4aに対して参加リクエスト及び認証キーを転送する(S303)。
視聴者用端末4aの接続応答部402eは、参加リクエスト及び認証キーを受信すると、メモリ407内のノードリストを参照して、下流ノード数に空きがあるか否かを判断する。なお、ここでは、視聴者用端末4aには、接続数の空きがあるものとする。この場合、視聴者用端末4aの接続応答部402eは、接続数に空きがあるので、接続可能信号及び認証キーを管理サーバー2に返信する(S304)。
管理サーバー2のノード制御部222dは、接続可能信号及び認証キーを取得すると、当該認証キーで認証を行った後、視聴者用端末4bの接続先を視聴者用端末4aに決定する。
その後、ノード制御部222dは、参加要求を行った視聴者用端末4に対して、接続結果を配信するとともに(S305)、配信元であるライブ参加者用端末1若しくは視聴者用端末4のIPアドレスが含まれた配信元情報を配信する(S306)。一方、配信元となるライブ参加者用端末1若しくは視聴者用端末4に対しても、配信先である視聴者用端末4のIPアドレスが含まれた配信先情報を配信する(S307)。
その後、例えば、視聴者用端末4bからの接続要求に応じて、視聴者用端末4aと視聴者用端末4bとは接続され、視聴者用端末4bから視聴者用端末4aに対して全部又は一部のコンテンツデータを含む放送画面が配信され(S308)、視聴者用端末4bでは、このコンテンツデータを受信すると、コンテンツ再生部403aによって、ブラウザ部403で再生したWebページ内に放送画面を埋め込むようにして表示部405上のウィンドウに映像データを表示させるとともに、音声データをスピーカー413から音声を出力させる。
(作用・効果)
このような第2実施形態によれば、上述した第1実施形態と同様な作用効果を奏する。さらに、第2実施形態によれば、コンテンツデータを持っている上流ノードの視聴者用端末3がノードリストに基づいて、グループ内の下流ノードの端末に対してコンテンツデータを、いわゆるOLM方式のツリー型ネットワーク5cを通じて送信し、放送画面の配信を分散させているので、ライブ放送システムを視聴する視聴者が増大した場合であっても、管理サーバー2へのアクセス集中を防止でき、通信負荷を軽減することができる。
[第3実施形態]
次いで、本発明の第3実施形態について説明する。本実施形態では、上述した第1実施形態及び第2実施形態における放送中に、コンテンツを再生して画面上に表示させる機能を追加することを要旨とする。ここでコンテンツとは、静止画、動画、音声等様々な表現形式のものであり、外部のサーバー装置に蓄積された外部コンテンツ、ライブ参加者用端末1内に蓄積された内部コンテンツなどが含まれる。
図17は、第3実施形態に係るシステムの全体構成を示す概念図であり、図18は、第3実施形態に係る管理サーバーの内部構成を示すブロック図である。また、図19は、第3実施形態に係る放送画面上の表示携帯を示す説明図であり、図20は、第3実施形態に係るプレイリスト及びプレイリストに埋め込まれた再生キューを示す説明図である。
図17に示すように、本実施形態に係るライブ放送システムは、通信ネットワーク5上に、複数のコンテンツを蓄積して配信する外部の外部コンテンツ配信サーバー6と、ローカルストレージ7とが接続されている。
この外部コンテンツ配信サーバー6は、本システムを管理する以外の者が管理・運営するサーバー装置であり、WWW(World Wide Web)等のドキュメントシステムにおいて、HTML(Hyper Text Markup Language)ファイルや画像ファイル、動画ファイル、音楽ファイルなどの情報送信を行うサーバーコンピューター或いはその機能を持ったソフトウェアであり、HTML文書や画像などの情報を蓄積しておき、Webブラウザなどのクライアントソフトウェアの要求に応じて、インターネットなどのIP網を通じて、これらの情報を送信する。本実施形態において、管理サーバー2は、この外部コンテンツ配信サーバー6からコンテンツを取得してライブ参加者用端末1の画面上に再生させるようになっている。ローカルストレージ7は、ライブ参加者用端末1のメモリ107など、各ユーザーが所持する内部コンテンツを蓄積する記憶装置である。
管理サーバー2には、図18に示すように、接続インターフェース24が設けられており、通信ネットワーク5を通じて外部コンテンツ配信サーバー6と、ローカルストレージ7とに接続されている。接続インターフェース24は、通信ネットワーク5を通じて、外部コンテンツ配信サーバー6との間でデータの送受信を行う通信インターフェースである。
また、本実施形態において、コンテンツ取得部225は、外部コンテンツ配信サーバー6から外部コンテンツを取得するとともに、ローカルストレージ7から内部コンテンツを取得するモジュールである。本実施形態において、コンテンツ取得部225は、ライブ参加者用端末1からの投稿操作に応じて、外部コンテンツ配信サーバー6内に蓄積されている外部コンテンツの所在を示すURL情報を取得し、当該URL情報をコンテンツ情報蓄積部234に記録している。
また、コンテンツ取得部225は、ライブ参加者用端末からのアップロード(投稿)操作に応じて、ローカルストレージ7内に蓄積されている内部コンテンツを取得し、当該内部コンテンツをコンテンツ情報蓄積部234に記録している。ここで、投稿された外部コンテンツのURL情報、及び内部コンテンツとは、ユーザーIDに関連付けられ、ユーザーID毎にコンテンツ情報蓄積部234内に記録される。なお、コンテンツ取得部225は、外部コンテンツ配信サーバー6からコンテンツデータを取得してコンテンツ情報蓄積部234内に蓄積してもよい。
また、コンテンツ情報蓄積部234には、ユーザーIDに関連付けられたプレイリストと再生キューが蓄積されている。ここで、プレイリストとは、投稿された全ての外部コンテンツ及び内部コンテンツを再生順序と共に記録したリストで、再生キューとは、プレイリストの中で、放送中に使用・再生されるものとして設定されたコンテンツのリストである。そして、ユーザー操作によって外部コンテンツ、内部コンテンツ、及びこれらの再生順を記述した再生キューが設定されている場合、ライブ参加者用端末1では、図19(a)に示すように、画面上に参加者のアイコン512と並んで、コンテンツ再生アイコン518が表示される。このコンテンツ再生アイコンとしては、外部コンテンツ再生アイコン518a、内部コンテンツ再生アイコン518b、及びプレイリストアイコン518cがあり、ユーザーによって選択されたコンテンツのリンク先を示したアイコンが表示される。
本実施形態において、外部コンテンツ再生アイコン518a及び内部コンテンツ再生アイコン518bは、最近、コンテンツ情報蓄積部234内に投稿された場合、及び、プレイリストから所定のコンテンツが選択操作された場合に表示される。具体的に、初期の画面上には、プレイリストアイコン518cが表示され、画面上に表示されていないコンテンツの一覧が見られるようになっている。そして、ユーザーがプレイリストアイコン518cを選択することで、図20(a)に示すような各コンテンツが一覧表示されたウインドウがポップアップ表示され、いずれかのコンテンツ列の追加ボタン(”再生キューへ追加”ボタン)518eを選択することで、該当コンテンツのアイコンが外部コンテンツ再生アイコン518a及び内部コンテンツ再生アイコン518bとして画面上に表示される。なお、図20(a)に示すように、一覧表示では、追加可能なコンテンツに対しては、追加ボタン518eを「+」で表示し、既に選択され追加されているコンテンツに対しては追加ボタン518eを「−」で表示する。さらに、この一覧表示のウインドウには、コンテンツの再生時間も表示されている。
一方、ユーザー操作を伴わずに、コンテンツ情報蓄積部234内に直近に追加された新着のコンテンツを自動でアイコン518a,518bとして画面上に表示させることもできる。ここで、新着のコンテンツを画面上に表示させる例としては、例えば、直近の1時間前に追加されたコンテンツが4個以上ある場合は全て表示させたり、1日前に追加されたコンテンツが1個以上ある場合には、最大4個表示させたり、或いは、2日までに追加されたコンテンツが1個以上ある場合、最大2個表示させたりすることができる。なお、この投稿されたタイミングと画面上に表示させるアイコン数との関係は、上述したものに限定するものではなく、種々変更可能である。
さらに、本実施形態では、例えば、ライブ参加者以外の他のユーザーが最近投稿したコンテンツについても、アイコンとして表示させることもできる。この他のユーザーが投稿したコンテンツとは、本ライブ放送システムに対して投稿したコンテンツであってもよく、また、外部コンテンツ配信サーバー6に対して投稿されたコンテンツであってもよい。この場合、コンテンツ取得部225は、各ユーザーが投稿操作した外部コンテンツ及び内部コンテンツを共通コンテンツとしてコンテンツ情報蓄積部234に保存し、前述の投稿時刻と個数制限に応じた表示を行う。なお、自動でアイコン518a,518bを表示させる場合には、図19(a)にしめすように、アイコン付近に新着を表すアイコン519を表示させて、ユーザーに対して新着コンテンツとユーザー操作による手動追加コンテンツを識別できるようになっている。
そして、放送中においてユーザーがこれらのアイコン518を選択操作すると、コンテンツ配信部223aは、該当するコンテンツをライブ参加者用端末1に対して配信する。具体的に、外部コンテンツアイコン518aが選択された場合には、そのユーザーIDに基づいてコンテンツ情報蓄積部234から外部コンテンツのURL情報を取得し、当該URL情報に基づいて、外部コンテンツ配信サーバー6から外部コンテンツを取得し、グループ内の各ライブ参加者用端末1に対して外部コンテンツを配信する。また、内部コンテンツアイコン518bが選択された場合には、そのユーザーIDに基づいて、コンテンツ情報蓄積部から内部コンテンツを取得し、グループ内の各ライブ参加者用端末1に対して外部コンテンツを配信する。
一方、プレイリストアイコン518cが選択された場合、プレイリスト内の各コンテンツを記述順序順に自動選択する。そして、選択されたコンテンツの種類に応じて、内部コンテンツ又は外部コンテンツが管理サーバー2から各ライブ参加者用端末1に対して配信され、各ライブ参加者用端末1のコンテンツ受信部102bは、該当するコンテンツを管理サーバー2から受信する。
その後、各ライブ参加者用端末1の放送画面生成部103aでは、図19(b)に示すように、ユーザーを撮影した映像506の領域を小さくして、コンテンツ再生画面509を生成し、当該コンテンツ再生画面上にコンテンツを埋め込んでコンテンツを再生させることができる。
また、画面上に表示されたコンテンツは、コンテンツ取得部225によって、グループIDが付されてコンテンツ情報蓄積部234に放送されたコンテンツとして蓄積され、視聴者用端末3に順次配信される。
なお、本実施形態において、プレイリストは、複数のコンテンツを纏めたリストであり、そのプレイリストは、ユーザーの選択操作に応じてコンテンツを配信させたが、図20(b)に示すように、ライブ参加者の間で共通の再生開始時間を自動的に設定し、ユーザー操作することなくコンテンツを再生させる自動再生機能を備えさせてもよい。
具体的には、自動再生機能は、ライブ参加者用端末1上において仮想的に定義される時間軸データを用い、放送処理に同期させて進行される仮想的な絶対時間情報をライブ参加者の間で共有する。本実施形態において、ライブ参加者用端末1の放送画面生成部103aでは、再生中のコンテンツの再生時刻を監視する機能を有しており、放送の進行時間のうち、その再生キューに記述された特定の時間をトリガーとして、該当するコンテンツを画面上に表示させるようになっている。これにより、放送開始から所定時間が過ぎると自動で、図19(b)に示すように、画面上にコンテンツが再生できるようになっている。
なお、プレイリストは、全てのコンテンツを順番に再生する必要はなく、例えば、あるコンテンツを再生中に次のコンテンツの再生を開始させる割り込み機能や、再生されているコンテンツの一部を途中で次のコンテンツを表示させるスキップ機能を有してもよい。さらに、本実施形態において、放送画面生成部103aは、コンテンツが画面上に表示させていない場合も、仮想的に時間を進行させる機能を有しており、例えば、ユーザーからの表示操作があった場合、放送開始からの経過時間に応じた位置からコンテンツを再生させることもできる。これにより、例えば、上述したようにコンテンツを割り込ませて再生させている間、前のコンテンツについても仮想的に時間を進行させ、割り込んだコンテンツの再生が終了した後、経過時間後の位置から前のコンテンツを再生させることもできる。
このように本実施形態では、ライブ放送中にコンテンツを共有して画面上に表示させる機能を有しているので、ライブ放送のテーマに応じたコンテンツを資料として閲覧しながら対談することができる。特に、本実施形態においては、複数のコンテンツを纏めたプレイリストが生成し、そのプレイリストに対して、再生開始時間が予め設定された再生キューが埋め込んで、放送の進行に応じてコンテンツを自動で表示させているので、ユーザーにとっては、コンテンツの自動再生に併せて対談を進めることができ、放送を円滑に進行することができる。
[変更実施例]
なお、本発明は上述した実施形態に限定されるものではなく、種々の追加変更を行うことができる。例えば、上述した実施形態ではリアルタイムで行われているライブを放送する形態としたが、例えば、録画されたライブも配信コンテンツとしてもよい。この場合、最近アップロードされた映像や音声を自動的にリスト化し、再生キューに応じた自動配信を行うようにしてもよい。
例えば、録画されたライブ映像をカテゴリーやランキング等に応じてリスト化し,仮想チャンネルに紐付けし、チャンネルを選択することによりその紐付けられたリストの映像を視聴することができる。各チャンネルでは、リスト内のコンテンツがループ再生されており、ユーザー側でそのチャンネルを選択することにより、そのユーザーは再生キューを取得することができ、その取得された再生キューに応じた、その時点における再生すべきメディアとポジションを受け取り、再生を行い、視聴することができる。
このとき、各視聴者は、事前に或いは再生処理と並行して、チャンネル毎にメディア自体をプレイリストやキューに基づき事前にキャッシュ・プレロードすることが可能であり、そのため、重複データのダウンロードを防止でき、回線帯域が限られるモバイル環境などでの快適な視聴を実現することができる。また、録画チャンネルであっても、視聴クライアント側ではリアルタイム放送と同様に、ラジオ番組やTV番組と同様のチャンネルザッピングが可能であり、メディアの選択操作を行わないいわゆる「ながら見」による長時間視聴を促すことができる。
なお、上述した録画されたコンテンツ(記録済みメディアデータ)としては、例えば、既存の動画共有サービスやスマートフォンなどの携帯端末から容易にアップロードすることができ、リアルタイム配信特有の配信者側における作業・操作負担を低減・簡略化できる一方で、視聴者のニーズに合致したコンテンツを自由に視聴させることができ、ユーザー確保でき、例えば、最終的により重要なリアルタイムのライブ配信を実施するような場合に、その配信前に視聴者をより多く獲得することができ、集客力の向上を図ることができる。