以下に図面を用いて、本実施形態に係る配信システム1を詳細に説明する。なお、以下では、クラウドコンピューティングを利用して、クラウド上でウェブブラウザ(以下、「ブラウザ」と示す)とエンコーダとの両方を連携させて実行させ、通信端末に映像データや音データ等を送信する発明について詳細に説明する。
なお、以下に示される「画像」には、静止画及び動画が含まれる。また、以下に示される「映像」は、基本的に動画を意味し、動画が停止されて静止画状態になった場合も含まれる。更に、静止画及び音のうち少なくとも一方を示す場合には、「静止画(音)」と示す。また、画像及び音のうち少なくとも一方を示す場合には、「画像(音)」と示す。映像及び音のうち少なくとも一方を示す場合には、「映像(音)」と示す。
〔実施形態の概略〕
図1を用いて、本発明の一実施形態の概略を説明する。なお、図1は、本実施形態に係る配信システムの概略図である。
<システム構成の概略>
まず、配信システム1の構成の概略について説明する。
図1に示されているように、本実施形態の配信システム1は、配信制御システム2、複数の通信端末(5a〜5f)、端末管理システム7、及びウェブサーバ8によって構築されている。なお、以下では、複数の通信端末(5a〜5f)のうち、任意の通信端末を「通信端末5」として表す。また、配信制御システム2、端末管理システム7、及びウェブサーバ8は、いずれもサーバコンピュータによって構築されている。
通信端末5は、配信システム1のサービスを受けるユーザが使用する端末である。このうち、通信端末5aは、ノートPC(Personal Computer)である。通信端末5bは、スマートフォンやタブレット端末等のモバイル端末である。通信端末5cは、コピー、スキャン、プリント、及びファックスの各機能が複合されたMFP(Multifunction Peripheral/Printer/Product)である。通信端末5dは、プロジェクタである。通信端末5eは、カメラ、マイク及びスピーカを備えたテレビ(ビデオ)会議端末である。通信端末5fは、ユーザ等によって描かれた内容を電子的に変換することが可能な電子黒板(ホワイトボード)である。
なお、通信端末5は、図1に示されているような端末だけでなく、腕時計、自動販売機、ガスメータ、カーナビゲーション装置、ゲーム機、エアコン、照明器具、カメラ単体、マイク単体、スピーカ単体等であって、インターネット等の通信ネットワークを介して通信可能な装置であってもよい。
また、配信制御システム2、通信端末5、端末管理システム7、及びウェブサーバ8は、インターネットやLAN(Local Area Network)等の通信ネットワーク9によって通信することができる。この通信ネットワーク9には、3G(3rd Generation)、WiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)等の無線通信によるネットワークも含まれる。
なお、通信端末5によっては、通信端末5d等のように、通信ネットワーク9を介して他の端末やシステムと通信する機能を有していないものがある。しかし、図2に示されているように、ユーザが通信端末6dのUSB(Universal Serial Bus)やHDMI(High-Definition Multimedia Interface)のインターフェース部にドングル99を差し込むことで、通信端末5は通信ネットワーク9を介して他の端末やシステムと通信可能となる。なお、図2は、通信端末にドングルを取り付ける際のイメージ図である。
また、配信制御システム2は、クラウド上でブラウザ20を有し、ブラウザ20におけるレンダラ(Renderer)の機能が、所定の記述言語で示された単一又は複数のコンテンツデータを取得して、レンダリングすることにより、RGB(Red, Green, Blue)によるビットマップデータ等の静止画データやPCM(Pulse Code Modulation)データ等の音データ(即ち、静止画(音)データ)としてのフレームデータを生成することができる。なお、コンテンツデータは、ウェブサーバ8や任意の通信端末等から取得されたデータであって、HTML(Hypertext Markup Language)やCSS(Cascading Style Sheets)による画像(音)データ、MP4(MPEG-4)による画像(音)データ、AAC(Advanced Audio Coding)による音データ等が含まれる。
更に、配信制御システム2は、クラウド上でエンコード部19を有し、エンコード部19がエンコーダとしての役割を果たすことにより、静止画(音)データとしての各フレームデータを、H.264(MPEG-4 AVC)、H.265、Motion JPEG等の圧縮符号化方式の映像(音)データに変換する。
一方、端末管理システム7は、通信端末5のログイン認証を行ったり、通信端末5の契約情報等の管理を行ったりする。また、端末管理システム7は、電子メールを送信するためのSMTP(Simple Mail Transfer Protocol)サーバの機能を有している。端末管理システム7は、例えば、クラウドのサービス(IaaS:Infrastructure as a Service)上に展開される仮想マシンとして実現することができる。端末管理システム7は、不測の事態に対応して継続的なサービス提供を行うために、多重化して運用することが望ましい。
また、ブラウザ20は、リアルタイムコミュニケーション(RTC:Real-time communication/collaboration)を可能にしている。更に、配信制御システム2は後述の図16におけるエンコード部19を有しており、このエンコード部19は、ブラウザ20によって出力されたフレームデータに対して、リアルタイムのエンコードを行い、H.264の規格等に基づく変換により生成された映像(音)データを出力することができる。そのため、配信制御システム2の処理は、DVDプレーヤによって、DVDに記録されているリアルタイム性のない映像(音)データを読み出して配信する場合等とは異なる。
なお、配信制御システム2だけでなく、通信端末5もブラウザを有してもよい。この場合、配信制御システム2のブラウザ20を最新化することで、各通信端末5のブラウザを起動させる必要はなくなる。
<各種配信方法の概略>
続いて、各種配信方法の概略について説明する。
(基本配信)
図3は、基本的な配信方法を示した概念図である。配信システム1では、図3に示されているように、配信制御システム2のブラウザ20が、ウェブサーバ8から画像(音)データとしてのウェブコンテンツデータ〔A〕を取得してレンダリングすることにより、静止画(音)データとしての各フレームデータ〔A〕を生成する。そして、エンコード部19を含むエンコーダブリッジ部30が、各フレームデータ〔A〕をエンコード等することによりH.264等の圧縮符号化方式の映像(音)データ〔A〕に変換する。配信制御システム2は、変換された後の映像(音)データ〔A〕(送信データの一例)を通信端末5に配信する。
以上により、たとえリッチなウェブコンテンツデータであっても、配信制御システム2が、クラウド上で、HTML等によるウェブコンテンツデータからH.264等による圧縮した映像(音)データにした状態で、通信端末5に配信することができる。よって、通信端末5側では、自端末のブラウザを最新化したり、CPU(Central Processing Unit)、OS(Operating System)、及びRAM(Random Access Memory)等のスペックを上げる手間や費用を掛けなくても、スムーズにウェブコンテンツを再生することができる。
また、今後、ウェブコンテンツのリッチ化が進んでも、クラウド上の配信制御システム2におけるブラウザ20やCPU等のスペックを上げればよいため、通信端末5のスペックは上げる必要がない。
更に、配信システム1は、上述の配信方法を応用し、図4乃至図6に示されているように、ウェブコンテンツデータを複数の拠点に映像(音)データとして配信することも可能である。ここで、図4乃至図6に示されている配信方法について説明する。
(マルチキャスト)
図4は、マルチキャストの概念図である。図4に示されているように、配信制御システム2の単一のブラウザ20は、ウェブサーバ8から画像(音)データとしてのウェブコンテンツデータ〔A〕を取得してレンダリングすることにより、静止画(音)データとしての各フレームデータ〔A〕を生成する。そして、エンコーダブリッジ部30が、各フレームデータ〔A〕をエンコードして、映像(音)データに変換する。その後、配信制御システム2は、映像(音)データ〔A〕を複数の通信端末(5f1,5f2,5f3)に配信する。
以上により、複数の拠点では、同じ映像(音)が再生される。なお、この場合、通信端末(5f1,5f2,5f3)は同じ表示再生能力(解像度が同じ等)を有する必要はない。このような配信方法は、例えば「マルチキャスト」と呼ぶ。
(マルチディスプレイ)
図5は、マルチディスプレイの概念図である。図5に示されているように、配信制御システム2の単一のブラウザ20は、ウェブサーバ8から画像(音)データとしてのウェブコンテンツデータ〔XYZ〕を取得してレンダリングすることにより、静止画(音)データとしての各フレームデータ〔XYZ〕を生成する。そして、エンコーダブリッジ部30が、フレームデータ〔XYZ〕毎に、複数のフレームデータ(〔X〕,〔Y〕,〔Z〕)に分割した後にエンコードすることで、複数の映像(音)データ(〔X〕,〔Y〕,〔Z〕)に変換する。その後、配信制御システム2は、映像(音)データ〔X〕を通信端末5f1に配信する。また、同じように、配信制御システム2は、映像(音)データ〔Y〕を通信端末5f2に配信し、映像(音)データ〔Z〕を通信端末5f3に配信する。
以上により、例えば、横長のウェブコンテンツ〔XYZ〕であっても、複数の通信端末5で分割して映像(音)が再生されるため、通信端末(5f1,5f2,5f3)を一列に並べて設置すれば、1つの大きな映像を再生させることと同様の効果を得ることができる。なお、この場合、通信端末(5f1,5f2,5f3)は同じ表示再生能力(解像度が同じ等)を有する必要がある。このような配信方法は、例えば「マルチディスプレイ」と呼ぶ。
(複合配信)
図6は、配信制御システムを介して複数の通信端末を使った複合配信の概念図である。図6に示されているように、第1の拠点(図6の右側)では、電子黒板としての通信端末5f1及びテレビ会議端末としての通信端末5e1が利用され、第2の拠点(図6の左側)では、同じく電子黒板としての通信端末5f2、及びテレビ会議端末としての通信端末5e2が利用されている。また、第1の拠点では、通信端末5f1にストロークによる文字等を描画させるための電子ペンP1が利用され、第2の拠点では、通信端末5f2にストロークによる文字等を描画させるための電子ペンP2が利用されている。
そして、第1の拠点において、通信端末5e1によって取得された映像(音)データは、エンコード部60でエンコードされた後に、配信制御システム2に送信される。その後、配信制御システム2のデコード部40でデコードされて、ブラウザ20に入力される。また、電子ペンP1によって通信端末5f1に描かれたストロークを示す操作データ(この場合、通信端末5f1のディスプレイ上における座標データ等)は、配信制御システム2に送信され、ブラウザ20に入力される。一方、第2の拠点においても、通信端末5e2によって取得された映像(音)データは、エンコード部60でエンコードされた後に、配信制御システム2に送信される。その後、配信制御システム2のデコード部40でデコードされて、ブラウザ20に入力される。また、電子ペンP2によって通信端末5f2に描かれたストロークを示す操作データ(この場合、通信端末5f2のディスプレイ上における座標データ等)は、配信制御システム2に送信され、ブラウザ20に入力される。
一方、ブラウザ20は、例えば、ウェブサーバ8から通信端末(5f1,5f2)のぞれぞれのディスプレイに表示される背景画像であるウェブコンテンツデータ〔A〕を取得する。そして、ブラウザ20は、ウェブコンテンツデータ〔A〕、操作データ(〔p1〕,〔p2〕)及び映像(音)コンテンツデータ(〔E1〕,〔E2〕)を結合してレンダリングすることで、各コンテンツ(〔A〕,〔p1〕,〔p2〕,〔E1〕,〔E2〕)が所望のレイアウトに設置された静止画(音)データとしてのフレームデータを生成する。そして、エンコーダブリッジ部30は、各フレームデータをエンコードし、配信制御システム2が各拠点に同じコンテンツ(〔A〕,〔p1〕,〔p2〕,〔E1〕,〔E2〕)を示す映像(音)データを配信する。これにより、第1の拠点では、通信端末5f1のディスプレイ上に、映像(〔A〕、〔p1〕、〔p2〕、〔E1(映像部分)〕及び〔E2(映像部分)〕)が表示されると共に、通信端末5e1のスピーカから音〔E2(音部分)〕が出力される。一方、第2の拠点でも、通信端末5f2のディスプレイ上に、映像(〔A〕、〔p1〕、〔p2〕、〔E1(映像部分)〕及び〔E2(映像部分)〕)が表示されると共に、通信端末5e2のスピーカから音〔E1(音部分)〕が出力される。なお、第1の拠点では、通信端末5f1のエコーキャンセル機能により、自拠点の音〔E1(音部分)〕は出力されない。一方、第2の拠点では、通信端末5f2のエコーキャンセル機能により、自拠点の音〔E2(音部分)〕は出力されない。
以上により、第1の拠点と第2の拠点とでは、遠隔地間においてリアルタイムで同じ情報を共有する遠隔共有処理を行うことができるため、本実施形態の配信システム1は遠隔会議等に有効である。
〔実施形態の詳細な説明〕
続いて、図7乃至図24を用いて、実施形態の詳細な説明を行う。
<実施形態のハードウェア構成>
まずは、図7及び図8を用いて、本実施形態のハードウェア構成を説明する。なお、図7は、配信制御システム、通信端末、端末管理システム、及びウェブサーバのハードウェア構成図である。また、図8は、ドングルのハードウェア構成図である。なお、通信端末の通信に関与するハードウェア構成は、通信端末のハードウェア構成の一部と同じであるため、説明を省略する。
図7に示されているように配信制御システム2は、配信制御システム2全体の動作を制御する(ホスト)CPU201、IPL等のCPU201の駆動に用いられるプログラムを記憶したROM202、CPU201のワークエリアとして使用されるRAM203、プログラム等の各種データを記憶するHDD204、CPU201の制御にしたがってHDD204に対する各種データの読み出し又は書き込みを制御するHDC(Hard Disk Controller)205、フラッシュメモリ等の記録メディア206に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ207、各種情報を表示するディスプレイ208、通信ネットワーク9を利用してデータ送信したりドングル99を接続したりするためのI/F209、キーボード211、マウス212、マイク213、スピーカ214、GPU(Graphics Processing Unit)215、GPU215の駆動に用いられるプログラムを記憶したROM216、GPU215のワークエリアとして使用されるRAM217、上記各構成要素を図7に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン220を備えている。なお、プロジェクタとしての通信端末5dのように、GPUが備えられていない場合もある。また、端末管理システム7、及びウェブサーバ8のハードウェア構成は、配信制御システム2のハードウェア構成と同様であるため、それらの説明を省略する。
次に、図8を用いて、図2に示されているドングルのハードウェア構成について説明する。図8に示されているように、ドングル99は、ドングル99全体の動作を制御するCPU91、基本入出力プログラムを記憶したROM92、CPU91のワークエリアとして使用されるRAM93、CPU91の制御にしたがってデータの読み出し又は書き込みを行うEEPROM(Electrically Erasable and Programmable ROM)94、GPU95、GPU95の駆動に用いられるプログラムを記憶したROM96、GPU95のワークエリアとして使用されるRAM97、通信端末5のインターフェースI/F209に接続するためのインターフェースI/F96、アンテナ97a、このアンテナ97aを利用して短距離無線技術により通信を行う通信部97、及び、上記各部を電気的に接続するためのアドレスバスやデータバス等のバスライン90を備えている。なお、短距離無線技術として、例えば、NFC(Near Field Communication)規格、BlueTooth(登録商標)、WiFi(Wireless Fidelity)、ZigBee等が挙げられる。また、ドングル99にはGPU95が備えられているため、通信端末5dのようにGPUが備えられていない場合であっても、図2に示されているようにドングル99が取り付けられることで、通信端末5dはグラフィクス表示に必要な計算処理を実行することができる。
<実施形態の機能構成>
次に、図9乃至図16を用い、本実施形態の機能構成について説明する。
(配信制御システムの機能構成)
先ずは、図9を用いて、配信制御システム2の機能構成について説明する。図9は、主に配信制御システムの各機能を示す機能ブロック図である。図9では、配信制御システム2が通信端末5f1に対して映像(音)データを配信する場合の機能構成が示されているが、配信先が通信端末5f1以外の場合も、同じ機能構成を有する。なお、配信制御システム2は、複数の配信エンジンサーバを備えているが、説明を簡単にするために、以下では、単一の配信エンジンサーバを備えている場合について説明する。
図9に示されているように、配信制御システム2は、図7に示されているCPU201又はGPU215であるプロセッサ等のハードウェア構成及びプログラムによって、図9に示されている各機能構成を有する。
具体的に、配信制御システム2は、ブラウザ20、送受信部21、ブラウザ管理部22、送信用FIFOバッファ24、時刻管理部25、時刻取得部26、回線適応制御部27、エンコーダブリッジ部30、送受信部31、受信用FIFO34、認識部35、遅延情報取得部37a、回線適応制御部37b、及びデコード部40を有している。更に、配信制御システム2は、図7に示されているHDD204によって構築される記憶部2000を有している。この記憶部2000には、認識部35から出力されブラウザ管理部22を介して送られた後述の認識情報が記憶される。なお、ブラウザ20が取得したコンテンツデータは、キャッシュとして、記憶部2000に一時的に記憶しておくこともできる。
上述の各機能構成のうち、ブラウザ20は、配信制御システム2内で動作するウェブブラウザである。ブラウザ20は、ウェブコンテンツのリッチ化に対応させて常に最新化されている。ブラウザ20は、例えば、Media Player、Flash Player、JavaScript(登録商標)、CSS及びHTMLレンダラを有する。なお、JavaScriptには、標準規格のものと配信システム1独自のものが含まれる。
ここで、Media Playerは、映像(音)ファイルなどのマルチメディアファイルをブラウザ20内で再生するためのブラウザプラグインである。Flash Playerは、Flashコンテンツをブラウザ20内で再生するためのブラウザプラグインである。独自のJavaScriptは、配信システム1に固有のサービスのAPI(Application Programming Interface)を提供するJavaScript群である。CSSは、HTMLで記述されたウェブページの見栄えやスタイルを効率的に定義するための技術である。HTMLレンダラは、HTMLレンダリングエンジンである。
レンダラは、画像(音)データとしてのウェブコンテンツデータ等のコンテンツデータをレンダリングすることにより、静止画(音)データとしての各フレームデータを生成する。また、レンダラは、図6に示されているように、複数種類のコンテンツ(〔A〕,〔p1〕,〔p2〕,〔E1〕,〔E2〕)のレイアウトを行うレイアウトエンジン(Layout Engine)でもある。
また、本実施形態の配信システム1では、配信制御システム2内に複数のブラウザ20を用意しており、これら複数のブラウザ20の中からユーザセッションに使用するクラウドブラウザが選択される。なお、ここでは、説明を簡略化するため、単一のブラウザ20が用意されている場合について、以下続けて説明する。
送受信部21は、端末管理システム7やウェブサーバ8との間で、各種データ、各種要求、各種指示等の送受信を行う。例えば、送受信部21は、ウェブサーバ8のコンテンツサイトからウェブコンテンツデータを取得する。また、送受信部21は、端末管理システム7から取得した各種データを配信制御システム2内の各機能構成に出力したり、端末管理システム7から取得した各種データ、各種要求、又は各種指示に基づいて配信制御システム2内の各機能構成を制御する。例えば、ブラウザ20が複数ある場合、送受信部21は、端末管理システム7からの配信のパターンの切替え要求をブラウザ管理部22に出力し、ブラウザ管理部22が、複数のブラウザ20における一のブラウザから他のブラウザへの切替えを制御する。また、送受信部21は、端末管理システム7からの配信の切替え要求に基づいて、図15及び図16に示されているエンコーダブリッジ部30内の各構成の組み合わせの切替えを行う。
ブラウザ管理部22は、ブラウザ20の管理を行う。例えば、ブラウザ管理部22は、ブラウザ20に、起動又は終了を指示したり、起動又は終了時にエンコーダIDを採番したりする。ここで、エンコーダIDは、ブラウザ管理部22がエンコーダブリッジ30のプロセスを管理するために採番する識別情報である。また、ブラウザ管理部22は、ブラウザ20が起動されるたびに、ブラウザIDを採番して管理する。ここで、ブラウザIDは、ブラウザ管理部22がブラウザ20のプロセスを管理するために採番し、ブラウザ20を識別するための識別情報である。
また、ブラウザ管理部22は、送受信部31を介して通信端末5から、各種操作データを取得し、ブラウザ20に出力する。なお、操作データは、通信端末5での操作イベント(キーボード211やマウス212等による操作や電子ペンPによるストローク等)によって生じたデータである。通信端末5に、温度センサ、湿度センサ、及び加速度センサ等の各種センサが設けられている場合には、ブラウザ管理部22は、通信端末5から各センサの出力信号であるセンサ情報を取得し、ブラウザ20に出力する。更に、ブラウザ管理部22は、認識部35から画像(音)データを取得してブラウザ20に出力したり、認識部35から後述の認識情報を取得して記憶部2000に記憶したりする。また、ブラウザ管理部22は、受信用FIFO34から映像(音)データを取得してブラウザ20に出力する。
送信用FIFO24は、ブラウザ20で生成された静止画(音)データとしての各フレームデータを格納するバッファである。
時刻管理部25は、配信制御システム2独自の時刻Tを管理している。
時刻取得部26は、後述の通信端末5における時刻制御部56と連携して、時刻調整の処理を行う。具体的には、時刻取得部26は、時刻管理部25から配信制御システム2における時刻Tを示す時刻情報(T)を取得したり、送受信部31及び送受信部51を介して、後述の時刻制御部56から通信端末5における時刻tを示す時刻情報(t)を受信したり、時刻制御部56に時刻情報(t)及び時刻情報(T)を送信する。
回線適応制御部27は、送信遅延時間情報(D)に基づいて、再生遅延時間Uを計算したり、エンコーダブリッジ部30における変換部10のフレームレートやデータの解像度等の動作条件を計算したりする。この再生遅延時間Uは、再生までにデータがバッファリングされることで、再生を遅延させるための時間である。つまり、回線適応制御部27は、送信遅延時間情報(D)とデータのサイズ(ビット数やバイト数等)に基づき、エンコーダブリッジ部30の動作を変更する。この送信遅延時間情報(D)は、後述のように、通信端末5における遅延情報取得部57が再生制御部53から取得した複数の送信遅延時間D1によって構成された度数分布情報を示す。各送信遅延時間D1は、映像(音)データが配信制御システム2によって送信されてから通信端末5によって受信されるまでの時間を示す。
エンコーダブリッジ部30は、ブラウザ20が生成した静止画(音)データとしての各フレームデータを、エンコーダブリッジ部30における後述の変換部10に出力する。この際、変換部10は、回線適応制御部27で計算された動作条件を考慮して各処理を行なう。エンコーダブリッジ部30については、図15及び図16を用いて、更に詳細に説明する。図15は、エンコーダブリッジ部の詳細図である。また、図16は、変換部の各機能を示す機能ブロック図である。
図15に示されているように、エンコーダブリッジ部30は、作成・選択部310、及び選択部320と、これらの間に複数の変換部(10a,10b,10c)が構築されている。ここでは、3つの変換部を示したが、いくつであってもよい。なお、以下、任意の変換部を「変換部10」として表す。
更に、変換部10は、ブラウザ20によって生成された静止画(音)データとしての各フレームデータのデータ形式を、通信ネットワーク9を介して通信端末5に配信できるH.264等のデータ形式に変換する。そのため、変換部10は、図16に示されているように、トリミング部11、リサイズ部12、分割部13、及びエンコード部19を有する。トリミング部11、リサイズ部12、及び分割部13は、音データの場合は、処理を行わない。
このうち、トリミング部11は、静止画の一部だけを切り出す処理を行う。リサイズ部12は、静止画の縮尺を変更する。分割部13は、図5に示されているように、静止画を分割する。
また、エンコード部19は、ブラウザ20で生成された、静止画(音)データとしての各フレームデータをエンコードすることにより、通信ネットワーク9介して通信端末5に映像(音)データを配信できるように変換する。また、エンコード部19は、映像が動かなければ(フレーム間で更新(変化)がなければ)、以降、映像が動くまでスキップフレーム(「フレームスキップ」ともいう)データを挿入することで帯域をセーブする。
なお、レンダリングにより静止画データと共に音データが生成される場合には、これら両方のデータがエンコードされるが、音データだけが生成される場合には、トリミングやリサイズ、分割は行われることはなく、エンコードだけが行われてデータ圧縮される。
また、作成・選択部310は、新たに変換部10を作成したり、既に作成されている変換部10に対して入力させる静止画(音)データとしてのフレームデータを選択したりする。作成する場合としては、作成・選択部310は、通信端末5おける映像(音)データの再生能力に応じた変換が可能な変換部10を作成する。また、選択する場合としては、既に作成されている変換部10を選択する。例えば、通信端末5aへの配信に加えて通信端末5bへの配信を開始するにあたって、通信端末5aへ配信している映像(音)データと同じ映像(音)データを通信端末5bへ配信する場合がある。このような場合で、更に、通信端末5bが通信端末5aにおける映像(音)データの再生能力と同じ再生能力を有する場合には、作成・選択部310は通信端末5b用に新たな変換部10bを作成せずに、通信端末5a用に既に作成している変換部10aを利用する。
一方、選択部320は、既に作成されている変換部10から所望のものを選択する。これら作成・選択部310と選択部320による選択によって、図6に示したような様々なパターンの配信を行うことができる。
送受信部31は、通信端末5との間で、各種データや要求等の送受信を行う。この送受信部31が、クラウド上から通信ネットワーク9を介して通信端末5に各種データや要求等の送信を行うことで、配信制御システム2は通信端末5に対して、各種データや要求等を配信することができる。例えば、送受信部31は、通信端末5のログイン処理において、通信端末5の送受信部51に対し、ユーザにログイン要求を促すための認証画面データを送信する。その他に、送受信部31は、HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)サーバを介して配信システム1独自のプロトコルにより、通信端末5のユーザアプリや通信端末6のデバイスアプリへのデータ送信およびデータ受信を行う。この独自のプロトコルは、配信制御システム2と通信端末との間でリアルタイムに途切れることなくデータを送受信するためのHTTPSベースのアプリケーション層プロトコルである。また、送受信部31は、送信レスポンス制御、リアルタイムのデータ作成、コマンド送信、受信レスポンス制御、受信データ分析、及びジェスチャ変換を行う。
このうち、送信レスポンス制御は、配信制御システム2から通信端末5にデータを送信するために、通信端末5からリクエスト(要求)されたダウンロード用のHTTPSセッションを管理する処理である。このダウンロード用のHTTPSセッションのレスポンスはすぐに終了せず、一定時間(1〜数分)保持する。送受信部31は、通信端末5に送るデータを動的にレスポンスのBody部に書き込む。また、再接続のコストをなくすため、通信端末からは前のセッションが終了しないうちに別のリクエストが届くようにする。送受信部31を、前のリクエストが完了するまで待機させておくようにすることで、再接続を行っても、オーバヘッドを削除することができる。
リアルタイムのデータ作成は、図16におけるエンコード部19で生成された圧縮映像(および圧縮音)のデータに独自のヘッダを付与して、HTTPSのBody部に書き込む処理である。
コマンド送信は、通信端末5に送信するコマンドデータを生成し、通信端末5へのHTTPSのBody部に書き込む処理である。
受信レスポンス制御は、配信制御システム2が通信端末5からデータを受信するために、通信端末5からリクエストされたHTTPSセッションを管理する処理である。このHTTPSセッションのレスポンスはすぐに終了せず、一定時間(1〜数分)保持される。通信端末5は、配信制御システム2の送受信部31に送るデータを動的にリクエストのBody部に書き込む。
受信データ分析は、通信端末5から送られてきたデータを種別ごとに分析し、必要なプロセスにデータを渡す処理である。
ジェスチャ変換は、ユーザが電子黒板としての通信端末5fに電子ペンや手書きにより入力したジェスチャイベントを、ブラウザ20が受け取れる形式のデータに変換する処理である。
また、受信用FIFO34は、デコード部40でデコードされた後の映像(音)データを格納するバッファである。
認識部35は、通信端末5から受信する画像(音)データに対しての処理を行う。具体的には、認識部35は、例えば、サイネージ向けにカメラ62で撮影された画像から人や動物の顔、年齢、及び性別などを認識する。また、認識部35は、オフィス向けに、カメラ62で撮影された画像から顔認識による名前タグ付けや背景画像の差し替え処理などを行う。認識部35は、認識した内容を示す認識情報を記憶部2000に記憶させる。この認識部35は、認識拡張ボードで処理を行うことで高速化が実現される。
遅延情報取得部37aは、下り用の回線適応制御の処理に用いられる通信端末5側の遅延情報取得部57に対応して、上り用の回線適応制御の処理に用いられる。具体的には、遅延情報取得部37aは、デコード部40から送信遅延時間d1を示す送信遅延時間情報(d1)を取得して一定時間保持しておき、複数の送信遅延時間情報(d1)を取得したところで、回線適応制御部37bに、複数の送信遅延時間d1による度数分布情報を示す送信遅延時間情報(d)を出力する。送信遅延時間情報(d1)は、映像(音)データが通信端末5によって送信されてから配信制御システム2によって受信されるまでの時間を示す。
回線適応制御部37bは、下り用の回線適応制御の処理に用いられる回線適応制御部27に対応して、上り用の回線適応制御の処理に用いられる。具体的には、回線適応制御部37bは、送信遅延時間情報(d)に基づいて、通信端末5側のエンコード部60の動作条件を計算する。また、回線適応制御部37bは、送受信部31及び送受信部51を介して通信端末5のエンコード部60に、フレームレートやデータの解像度等の動作条件を示す回線適応制御信号を送信する。
デコード部40は、通信端末5から送信されて来た映像(音)データをデコードする。また、デコード部40は、送信遅延時間d1を示す送信遅延時間情報(d1)を遅延情報取得部37aに出力する。
(通信端末の機能構成)
続いて、図10を用いて、通信端末5の機能構成について説明する。図10は、主に通信端末の各機能を示す機能ブロック図である。通信端末5は、ユーザが配信システム1へのログインや映像(音)データの配信の開始又は停止などを行うためのインターフェースとなる端末である。
図10に示されているように、通信端末5は、図7に示されているCPU201等のハードウェア構成及びプログラムによって、図10に示されている各機能構成を有する。なお、通信端末5が、図2に示されているようにドングル99が差し込まれることで、通信ネットワーク9を介して他の端末やシステムと通信可能となる場合には、図7及び図8に示されているハードウェア構成及びプログラムによって、図10に示されている各機能構成を有する。
具体的に、通信端末5は、デコード部50、送受信部51、操作部52、再生制御部53、レンダリング部55、時刻制御部56、遅延情報取得部57、表示部58、及びエンコード部60を有している。更に、通信端末5は、図7に示されているRAM203によって構築される記憶部5000を有している。この記憶部5000には、後述の時刻差Δを示す時刻差情報(Δ)、及び通信端末5における時刻tを示す時刻情報(t)が記憶される。
このうち、デコード部50は、配信制御システム2から配信され、再生制御部53から出力された映像(音)データをデコードする。
送受信部51は、配信制御システム2の送受信部31、及び後述の端末管理システム7の送受信部71aとの間で、各種データや要求等の送受信を行う。例えば、送受信部51は、通信端末5のログイン処理において、操作部52による通信端末5の起動に基づき、端末管理システム7の送受信部71にログイン要求を行う。
操作部52は、ユーザの操作入力を受け付ける処理を行い、例えば、電源スイッチ、キーボード、マウス、電子ペンP等による入力や選択等を受け付け、操作データとして配信制御システム2のブラウザ管理部22に送信する。
再生制御部53は、送受信部51から受けた映像(音)データ(リアルタイムデータのパケット)をバッファリングし、再生遅延時間Uを考慮してデコード部50に出力する。また、再生制御部53は、送信遅延時間D1を示す送信遅延時間情報(D1)を算出し、遅延情報取得部57に出力する。
レンダリング部55は、デコード部50によってデコードされたデータをレンダリングする。
時刻制御部56は、配信制御システム2の時刻取得部26と連携して、時刻調整の処理を行う。具体的には、時刻制御部56は、記憶部5000から通信端末5における時刻tを示す時刻情報(t)を取得する。また、時刻制御部56は、送受信部51及び送受信部31を介して、配信制御システム2の時刻取得部26に、配信制御システム2における時刻Tを示す時刻情報(T)を要求する。この場合、時刻情報(T)の要求と共に、時刻情報(t)が送信される。
遅延情報取得部57は、再生制御部53から送信遅延時間D1を示す送信遅延時間情報(D1)を取得して一定時間保持しておき、複数の送信遅延時間情報(D1)を取得したところで、送受信部51及び送受信部31を介して回線適応制御部27に、複数の送信遅延時間D1による度数分布情報を示す送信遅延時間情報(D)を送信する。なお、送信遅延時間情報(D)は、例えば、100フレームに1回送信される。
表示部58は、レンダリング部55によってレンダリングされたデータを再生する。
エンコード部60は、内蔵されたマイク213や、外付けのカメラ62及びマイク63から取得してエンコードした映像(音)データ〔E〕と、記憶部5000から取得した現時点の通信端末5における時刻t0を示す時刻情報(t0)と、同じく記憶部5000から取得した時刻差Δを示す時刻差情報(Δ)を、送受信部51及び送受信部31を介して、配信制御システム2のデコード部40に送信する。なお、時刻差Δは、配信制御システム2独自で管理されている時刻と通信端末5独自で管理されている時刻との差である。
また、エンコード部60は、回線適応制御部37bから受信した回線適応制御信号で示される動作条件に基づいて、エンコード部60の動作条件を変更する。更に、エンコード部60は、新たな動作条件に従って、カメラ62及びマイク63から取得してエンコードした映像(音)データ〔E〕と、記憶部5000から取得した現時点の通信端末5における時刻t0を示す時刻情報(t0)と、記憶部5000から取得した時刻差Δを示す時刻差情報(Δ)とを、送受信部51及び送受信部31を介して、配信制御システム2のデコード部40に送信する。
なお、内蔵されたマイク213、外付けのカメラ62及びマイク63等は、入力手段の一例であり、エンコードやデコードが必要な各種デバイスである。入力手段は、映像(音)データの他に、触覚(touch)データや嗅覚(smell)データを出力することができてもよい。入力手段には、温度センサ、方位センサ、加速度センサ等の各種センサも含まれる。
(端末管理システムの機能構成)
続いて、図11を用いて、端末管理システム7の機能構成について説明する。図11は、端末管理システムの各機能を示す機能ブロック図である。
図11に示されているように、端末管理システム7は、図7に示されているCPU201等のハードウェア構成及びプログラムによって、図11に示されている各機能構成を有する。
具体的に、端末管理システム7は、送受信部71a、送受信部71b、及び認証部75を有している。更に、端末管理システム7は、図7に示されているHDD204によって構築される記憶部7000を有している。この記憶部7000には、配信先選択メニューデータ、端末管理テーブル7010、及び利用可能端末管理テーブル7020が記憶される。
このうち、配信先選択メニューは、図12に示されているような配信先選択メニュー画面を示すデータである。
端末管理テーブル7010では、図13に示されているように、通信端末5の端末ID、ユーザ証明書、ユーザが配信システム1のサービスを利用する際の契約情報、通信端末5の端末種別、各通信端末5のホームURL(Uniform Resource Locator)を示す設定情報、各通信端末5の実行環境情報、共有ID、設置位置情報、及び表示名情報が関連付けて管理されている。このうち、実行環境情報には、各通信端末5の「お気に入り」、「前回のCookie情報」、及び「キャッシュファイル」が含まれており、各通信端末5のログイン後に、設定情報と共に配信制御システム2に送信され、各通信端末5に対して個別のサービスを行うために利用される。
また、共有IDは、各ユーザが、自己の通信端末5に配信されている映像(音)データと同じ内容の映像(音)データを他の通信端末5にも配信させることで、遠隔共有処理を行う場合に利用されるIDであり、他の通信端末又は他の通信端末群を識別する識別情報である。例えば、端末ID「t006」の共有IDは「v006」であり、端末ID「t007」の共有IDは「v006」であり、また、端末ID「t008」の共有IDは「v006」である。更に、端末ID「t001」の通信端末5aから、共有ID「v006」の通信端末(5f1,5f2,5f3)との遠隔共有処理の要求があった場合には、配信制御システム2は、通信端末(5f1,5f2,5f3)に対して、通信端末5aに配信中の映像(音)データと同じ映像(音)データを配信する。但し、通信端末5aと通信端末(5f1,5f2,5f3)の表示部58の解像度が異なる場合には、これに応じて、配信制御システム2が映像(音)データを配信する。
更に、設置位置情報は、例えば、図5に示されているように、通信端末(5f1,5f2,5f3)が並んで設置される場合の設置位置を示している。表示名情報は、図12に示されている配信先選択メニュー画面の表示名の内容を表す情報である。
一方、利用可能端末管理テーブル7020では、端末ID毎に、この端末IDによって示される通信端末5が遠隔共有処理することが可能な通信端末又は通信端末群を示す共有IDが関連付けて管理されている。
次に、図11に戻り、各機能構成について説明する。
送受信部71aは、通信端末5との間で、各種データや要求等の送受信を行う。例えば、送受信部71aは、通信端末5の送受信部51からログイン要求を受信したり、送受信部51に対してログイン要求の認証結果を送信したりする。
送受信部71bは、配信制御システム2との間で、各種データや要求等の送受信を行う。例えば、送受信部71bは、配信制御システム2の送受信部21から配信先選択メニューのデータの要求を受信したり、送受信部21に対して、配信先選択メニューのデータを送信したりする。
認証部75は、通信端末5から受信した端末ID及びユーザ証明書に基づいて、端末管理テーブル7010を検索することにより、同じ組み合わせの端末ID及びユーザ証明書があるか否かを判断することで、通信端末5の認証を行う。
〔実施形態の動作または処理〕
続いて、図17乃至図24を用いて、本実施形態の動作または処理について説明する。なお、これらの処理は、配信制御システム2、通信端末5、端末管理システム7、ウェブサーバ8における各CPUが、それぞれに格納されているプログラムに従って実行される処理である。
<基本的な配信処理>
まず、図17を用いて、図3に示されている基本的な配信方法における具体的な配信処理を説明する。図17は、配信制御システムの基本的な配信処理を示したシーケンス図である。なお、ここでは、通信端末5aを用いてログイン要求する場合について説明するが、通信端末5a以外の通信端末5を用いてログインしてもよい。
図17に示されているように、通信端末5aにおいてユーザが電源オンにすると、通信端末5aの送受信部51は、端末管理システム7の送受信部71aに、ログイン要求する。(ステップS21)。これにより、送受信部71aは、ログイン要求を受信する。このログイン要求には、通信端末5aの端末ID及びユーザ証明書が含まれている。よって、認証部75は、通信端末5aの端末ID及びユーザ証明書を取得する。
次に、認証部75は、端末ID及びユーザ証明書に基づいて、図13に示されている端末管理テーブル7010を検索することにより、同じ組み合わせの端末ID及びユーザ証明書があるか否かを判断することで、通信端末5aの認証を行う(ステップS22)。ここでは、端末管理テーブル7010に同じ組み合わせの端末ID及びユーザ証明書がある場合、即ち、通信端末5aが配信システム1における正当な端末であると認証された場合について、以下に続けて説明する。
端末管理システム7の送受信部71aは、通信端末5aの送受信部51に、配信制御システム2のIPアドレスを送信する(ステップS23)。なお、配信制御システム2のIPアドレスは、予め、端末管理システム7によって配信制御システム2から取得されて、記憶部7000に記憶されている。
次に、端末管理システム7の送受信部71bは、配信制御システム2の送受信部21に、ブラウザ20の起動要求を行う(ステップS24)。これにより、送受信部21は、ブラウザ20の起動要求を受信する。そして、ブラウザ管理部22は、送受信部21によって受信された起動要求に基づいて、ブラウザ20を起動させる(ステップS25)。
次に、エンコーダブリッジ部30の作成・選択部310は、通信端末5aの再生能力(ディスプレイの解像度等)及びコンテンツの種類に従って変換部10を作成する(ステップS26)。次に、送受信部21は、ブラウザ20の命令に従い、ウェブサーバ8に対して、コンテンツデータ〔A〕を要求する(ステップS27)。これに対して、ウェブサーバ8は、要求されたコンテンツデータ〔A〕を自己の記憶部(不図示)から読み出す(ステップS28)。そして、ウェブサーバ8は、配信制御システム2の送受信部21にコンテンツデータ〔A〕を送信する(ステップS29)。
次に、ブラウザ20が、送受信部21によって受信されたコンテンツデータ〔A〕をレンダリングすることにより、静止画(音)データとしての各フレームデータを生成して、送信用FIFO24に出力する(ステップS30)。そして、変換部10が、送信用FIFO24に格納された各フレームデータをエンコードすることで、通信端末5aに配信すべき映像(音)データ〔A〕に変換する(ステップS31)。
次に、送受信部31は、通信端末5aの送受信部51に映像(音)データ〔A〕を送信する(ステップS32)。これにより、通信端末5aの送受信部51は、映像(音)データ〔A〕を受信して、再生制御部53に出力する。
次に、通信端末5aでは、デコード部50が再生制御部53から映像(音)データ〔A〕を取得してデコードする(ステップS33)。その後、スピーカ61は、デコードされた音データ〔A〕に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔A〕に基づいて映像を再生する(ステップS34)。
<複数の通信端末を使った複合配信の処理>
続いて、図18を用いて、配信制御システムを介して複数の通信端末を使った通信の処理を説明する。なお、図18は、配信制御システムを介して複数の通信端末を使った配信の処理を示すシーケンス図である。ここでは、複数の通信端末5として、図6に示されているパターンについて具体的な処理を説明する。なお、ここでも、上述のステップS21〜S29と同様のログイン処理及びブラウザ起動等の処理を行うため、上述のステップS29に対応する処理から説明する。
図18に示されているように、配信制御システム2の送受信部21は、ウェブサーバ8からコンテンツデータ〔A〕を受信する(ステップS41)。そして、ブラウザ20は、コンテンツデータ〔A〕をレンダリングすることにより、静止画(音)データとしての各フレームデータを生成して、送信用FIFO24に出力する(ステップS42)。
一方、通信端末5f1のエンコード部60が、カメラ62及びマイク63から映像(音)データ〔E〕としてのコンテンツデータの入力を受け付けると(ステップS43)、エンコード部60はコンテンツデータ〔E〕をエンコードする(ステップS44)。送受信部51は、エンコード部60によってエンコードされたコンテンツデータ〔E〕を、配信制御システム2の送受信部31に送信する(ステップS45)。これにより、配信制御システム2の送受信部31は、コンテンツデータ〔E〕を受信する。
次に、配信制御システム2のデコード部40は、送受信部31によって受信されたコンテンツデータ〔E〕をデコードして、受信用FIFO34に出力する(ステップS46)。そして、ブラウザ20が、受信用FIFO34に格納されたコンテンツデータ〔E〕をレンダリングすることにより、静止画(音)データとしてのフレームデータ〔E〕を生成して、送信用FIFO24に出力する(ステップS47)。この場合、ブラウザ20は、既に取得しているコンテンツデータ〔A〕に対して、コンテンツデータ〔E〕を結合したレイアウトにして出力する。
更に、通信端末5f1の操作部52が、電子ペンP1によるストローク操作の入力を受け付けると(ステップS48)、送受信部51は、操作部52によって受け付けられたストローク操作の内容を示す操作データ〔p〕を、配信制御システム2の送受信部31に送信する(ステップS49)。これにより、配信制御システム2の送受信部31は、操作データ〔p〕を受信する。そして、ブラウザ管理部22は、送受信部31によって受信された操作データ〔p〕をブラウザ20に出力する。
次に、ブラウザ20は、操作データ〔p〕をレンダリングすることにより、静止画(音)データとしてのフレームデータ〔p〕を生成して、送信用FIFO24に出力する(ステップS50)。この場合、ブラウザ20は、既に取得しているコンテンツデータ(〔A〕,〔E〕)に対して、操作データ〔p〕を結合したレイアウトにして出力する。
次に、変換部10が、送信用FIFO24に格納された静止画(音)データとしての各フレームデータ(〔A〕,〔E〕,〔p〕)をエンコードすることで、通信端末5aに配信すべき映像(音)データ(〔A〕,〔E〕,〔p〕)に変換する(ステップS51)。
次に、送受信部31は、変換部10を含むエンコーダブリッジ部30からエンコード後の映像(音)データ(〔A〕,〔E〕,〔p〕)を取得し、通信端末5f1の送受信部51に送信する(ステップS52−1)。これにより、通信端末5f1の送受信部51は、映像(音)データ(〔A〕,〔E〕,〔p〕)を受信し、通信端末5f1の再生制御部53が送受信部5f1から映像(音)データ(〔A〕,〔E〕,〔p〕)を取得する。そして、通信端末5f1では、デコード部50が再生制御部53から映像(音)データ(〔A〕,〔E〕,〔p〕)を取得してデコードする(ステップS53−1)。その後、スピーカ61は、デコードされた音データ(〔A〕,〔E〕)に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ(〔A〕,〔E〕,〔p〕に基づいて映像を再生する(ステップS54−1)。
また、通信端末5f2に対しても、ステップS52−1と同様に、送受信部31は、エンコーダブリッジ部30からエンコード後の映像(音)データ(〔A〕,〔E〕,〔p〕)を取得し、通信端末5f2の送受信部51に送信する(ステップS52−2)。これにより、通信端末5f2の再生制御部53が映像(音)データ(〔A〕,〔E〕,〔p〕)を取得する。そして、通信端末5f1では、デコード部50が再生制御部53から映像(音)データ(〔A〕,〔E〕,〔p〕)を取得してデコードする(ステップS53−2)。その後、スピーカ61は、デコードされた音データ(〔A〕,〔E〕)に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ(〔A〕,〔E〕,〔p〕に基づいて映像を再生する(ステップS54−2)。
以上より、通信端末5f1で出力される映像(音)と同じ映像(音)が、通信端末5f2でも出力されることになる。
<時刻調整の処理>
続いて、図19を用いて、時刻調整の処理について説明する。なお、図19は、時刻調整の処理を示したシーケンス図である。
まず、通信端末5の時刻制御部56は、送受信部51が配信制御システム2に時刻情報(T)を要求する時点を示す時刻を取得するために、記憶部5000から通信端末5における時刻情報(ts)を取得する(ステップS81)。そして、送受信部51は送受信部31に、配信制御システム2における時刻情報(T)を要求する(ステップS82)。この場合、時刻情報(T)の要求と共に、上記時刻情報(ts)が送信される。
次に、配信制御システム2の時刻取得部26は、送受信部31が上記ステップS82の要求を受信した時点を示す時刻を取得するために、時刻管理部25から配信制御システム2における時刻情報(Tr)を取得する(ステップS83)。更に、時刻取得部26は、送受信部31が上記ステップS82の要求に応答する時点を示す時刻を取得するために、時刻管理部25から配信制御システム2における時刻情報(Ts)を取得する(ステップS84)。そして、送受信部31は送受信部51に、時刻情報(ts, Tr,Ts)を送信する(ステップS85)。
次に、通信端末5の時刻制御部56は、送受信部51が上記ステップS85の応答を受信した時点を示す時刻を取得するために、記憶部5000から通信端末5における時刻情報(tr)を取得する(ステップS86)。
そして、通信端末5の時刻制御部56は、配信制御システム2と通信端末5との間の時刻差Δを計算する(ステップS87)。この時刻差Δは、以下の式1によって表される。
Δ=((Tr+Ts)/2)−((tr+ts)/2)・・・(式1)
そして、時刻制御部56は、記憶部5000に時刻差Δを示す時刻差情報(Δ)を記憶する(ステップS88)。この時刻調整の一連の処理は、例えば、毎分定期的に行われる。
<下り用の回線適応制御の処理>
続いて、図20を用いて、配信制御システム2から通信端末5に送信する(下り)データの回線適応制御の処理を説明する。なお、図20は、配信制御システムから通信端末に送信するデータの回線適応制御の処理を示したシーケンス図である。
まず、配信制御システム2の回線適応制御部27は、通信端末5の再生制御部53が映像(音)データを再生させるまでにバッファリングすることで、再生を遅延させるための再生遅延時間Uを示す再生遅延時間情報(U)を計算して、エンコーダブリッジ部30に出力する(ステップS101)。
次に、送受信部31は、エンコーダブリッジ部30から再生遅延時間情報(U)を取得し、通信端末5の送受信部51に再生遅延時間情報(U)を送信する(ステップS102)。これにより、通信端末5の送受信部51は、再生遅延時間情報(U)を受信する。また、エンコーダブリッジ部30は、送信用FIFO24から取得してエンコード等を行った映像(音)データ〔A〕に対して、時刻管理部25から取得した時点を示す時刻T0を示す時刻情報(T0)をタイムスタンプとして付加する(ステップS103)。そして、送受信部31は、通信端末5の送受信部51に、映像(音)データ及び配信制御システム2の時刻情報(T0)を送信する(ステップS104)。これにより、通信端末5の送受信部51は、映像(音)データ及び配信制御システム2の時刻情報(T0)を受信し、再生制御部53に映像(音)データ及び時刻情報(T0)を出力する。
次に、通信端末5では、再生制御部53が、上記ステップS102によって取得した再生遅延時間情報(U)、上記ステップS104によって取得した時刻情報(T0)、及び上記ステップS88によって記憶部5000に記憶した時刻差情報(Δ)に基づき、通信端末5における時刻(T0+U−Δ)になるまで待ってから、上記ステップS104によって取得した映像(音)データをデコード部50に出力することで、スピーカ61から音を再生させ、レンダリング部55を介して表示部58から映像を再生させる(ステップS105)。これにより、以下の式2に示される再生遅延時間Uの範囲内に通信端末5が受信した映像(音)データだけが再生されることになり、範囲外の映像(音)データは遅延しすぎるため、再生されずに消去される。
U≧(t0+Δ)−T0・・・(式2)
また、再生制御部53は、記憶部5000から、通信端末5における現時点の時刻t0を読み出す(ステップS106)。この時刻t0は、通信端末5が配信制御システム2から映像(音)データを受信した時点の通信端末5における時刻を示す。更に、再生制御部53は、記憶部5000から、上記ステップS88によって記憶されている時刻差Δを示す時刻差情報(Δ)を読み出す(ステップS107)。そして、再生制御部53は、映像(音)データが配信制御システム2から送信されて通信端末5で受信されるまでの時間を示す送信遅延時間D1を計算する(ステップS108)。この計算は、以下の式3によって行われ、通信ネットワーク9が混雑している場合には、送信遅延時間D1が長くなる。
D1=(t0+Δ)−T0・・・(式3)
次に、遅延情報取得部57は、再生制御部53から送信遅延時間D1を示す送信遅延時間情報(D1)を取得して一定時間保持しておき、複数の送信遅延時間情報(D1)を取得したところで、複数の送信遅延時間D1による度数分布情報を示す送信遅延時間情報(D)を、送受信部51に出力する(ステップS109)。そして、送受信部51は、配信制御システム2の送受信部31に、送信遅延時間情報(D)を送信する(ステップS110)。これにより、配信制御システム2の送受信部31は、送信遅延時間情報(D)を受信して、回線適応制御部27に送信遅延時間情報(D)を出力する。
次に、配信制御システム2の回線適応制御部27は、送信遅延時間情報(D)に基づいて、新たに再生遅延情報U’を計算したり、変換部10のフレームレートやデータの解像度等の動作条件を計算したりして、エンコーダブリッジ部30に出力する(ステップS111)。即ち、回線適応制御部27は、送信遅延時間情報(D)及びデータのサイズ(ビット数、バイト数等)に基づき、エンコーダブリジ部30の動作を変更させる。
次に、送受信部31は、エンコーダブリッジ部30から、上記ステップS111によって計算された新たな再生遅延時間U’を示す再生遅延時間情報(U’)を取得し、通信端末5の送受信部51に再生遅延時間情報(U’)を送信する(ステップS112)。これにより、通信端末5の送受信部51は、再生遅延時間情報(U’)を受信する。
更に、エンコードブリッジ部30における変換部10は、動作条件を示す回線適応制御信号に基づいて、変換部10の動作条件を変更する(ステップS113)。例えば、送信遅延時間D1が長すぎる場合、送信遅延時間D1に応じて再生遅延時間Uを長くすると、スピーカ61や表示部58での再生時間が遅くなり過ぎるため、再生遅延時間Uを長くすることには限界がある。そこで、回線適応制御部27は、エンコーダブリッジ部30に対して、再生遅延時間Uを変更させて再生遅延時間U’とするだけでなく、変換部10に対して、映像(音)データのフレームレートを下げさせたり、映像(音)データの解像度を下げさせたりすることで、通信ネットワーク9の混雑に対応する。これにより、エンコーダブリッジ部30は、変更後の動作条件に従って、上記ステップS103のように、映像(音)データ〔A〕に対して、現時点の時刻情報(T0)をタイムスタンプとして付加する(ステップS104)。そして、映像(音)データ付加する(ステップS114)。そして、送受信部31は、通信端末5の送受信部51に、映像(音)データ及び配信制御システム2の時刻情報(T0)を送信する(ステップS115)。これにより、通信端末5の送受信部51は、映像(音)データ及び配信制御システム2の時刻情報(T0)を受信し、再生制御部53に映像(音)データ及び時刻情報(T0)を出力する。
次に、通信端末5では、再生制御部53が、上記ステップS112によって取得した再生遅延時間情報(U’)、上記ステップS115によって取得した時刻情報(T0)、及び上記ステップS88によって記憶部5000に記憶した時刻差情報(Δ)に基づき、通信端末5における時刻(T0+U’−Δ)になるまで待ってから、映像(音)データをデコード部50に出力することで、上記ステップS105のように、スピーカ61から音を再生させ、レンダリング部55を介して表示部58から映像を再生させる(ステップS116)。その後、上記ステップS106以降の処理が続けて行われる。このようにして、下り用の回線適応制御の処理が継続して行われる。
<上り用の回線適応制御の処理>
続いて、図21を用いて、通信端末5から配信制御システム2に送信する(上り)データの回線適応制御の処理を説明する。なお、図20は、通信端末から配信制御システムに送信するデータの回線適応制御の処理を示したシーケンス図である。
まず、通信端末5のエンコード部60は、カメラ62及びマイク63から入力された映像(音)データ〔E〕としてのコンテンツデータをエンコードする(ステップS121)。この際、エンコード部60は、記憶部5000から、現時点の通信端末5における時刻t0を示す時刻情報(t0)及び時刻差Δを示す時刻差情報(Δ)を取得するが、これらに対しては、エンコードを行わない。そして、送受信部51は、配信制御システム2の送受信部31に、映像(音)データ〔E〕、時刻情報(t0)、及び時刻差情報(Δ)を送信する(ステップS122)。これにより、配信制御システム2の送受信部31は、映像(音)データ〔E〕、時刻情報(t0)、及び時刻差情報(Δ)を受信する。
次に、配信制御システム2では、デコード部40が上記ステップS122によって映像(音)データ〔E〕等を受信した時点を示す時刻T0を時刻管理部25から読み出す(ステップS123)。そして、デコード部40は、映像(音)データが通信端末5から送信されて配信制御システム2で受信されるまでの時間を示す送信遅延時間d1を計算する(ステップS124)。この計算は、以下の式4によって行われ、通信ネットワーク9が混雑している場合には、送信遅延時間d1が長くなる。
る。
d1=T0−(t0+Δ)・・・(式4)
次に、配信制御システム2の遅延情報取得部37aは、遅延情報取得部57と同様に、デコード部40から送信遅延時間d1を示す送信遅延時間情報(d1)を取得して一定時間保持しておき、複数の送信遅延時間情報(d1)を取得したところで、回線適応制御部37bに、複数の送信遅延時間d1による度数分布情報を示す送信遅延時間情報(d)を出力する(ステップS125)。
次に、回線適応制御部37bは、送信遅延時間情報(d)に基づいて、エンコード部60の動作条件を計算する(ステップS126)。そして、送受信部31は、通信端末5の送受信部51に、フレームレートやデータの解像度等の動作条件を示す回線適応制御信号を送信する(ステップS127)。これにより、通信端末5の送受信部51は、回線適応制御信号を受信する。即ち、図20に示されている回線適応制御の場合(下り)は、同じ配信制御システム2内でエンコーダブリッジ部30に回線適応制御信号が出力されるのに対して、図21に示されている回線適応制御の場合(上り)は、配信制御システム2から通信ネットワーク9を介して、通信端末5に回線適応制御信号が送信される。
次に、エンコード部60は、送受信部51によって受信された回線適応制御信号で示される動作条件に基づいて、エンコード部60の動作条件を変更する(ステップS128)。そして、エンコード部60は、新たな動作条件によって、上記ステップS121と同様の処理を行う(ステップS129)。そして、送受信部51は、配信制御システム2の送受信部31に対して、上記ステップS122のように、カメラ62及びマイク63から取得してエンコードした映像(音)データ〔E〕と、記憶部5000から取得した現時点の通信端末5における時刻t0を示す時刻情報(t0)と、同じく記憶部5000から取得した時刻差Δを示す時刻差情報(Δ)とを送信する(ステップS130)。これにより、配信制御システム2の送受信部31は、映像(音)データ〔E〕、時刻情報(t0)、及び時刻差情報(Δ)を受信する。その後、上記ステップS123以降の処理が続けて行われる。このようにして、上り用の回線適応制御の処理が継続して行われる。
<マルチディスプレイの処理>
続いて、図22乃至図24を用いて、マルチディスプレイの処理について説明する。なお、図22乃至図24は、図5に示されているマルチディスプレイの処理を示したシーケンス図である。
ここでは、通信端末5aで再生されている映像(音)〔XYZ〕を、各通信端末(5f1,5f2,5f3)にも分割して再生させる例である。
また、ここでは、ウェブコンテンツを表示させるためのブラウザ20を「ブラウザ20a」と示し、ユーザへの設定画面を表示させるためのブラウザ20を「ブラウザ20b」と示す。更に、ここでは、図17のステップS30に相当する処理から説明する。
まず、配信制御システム2のブラウザ20aは、ウェブサーバ8から取得したウェブコンテンツデータ〔XYZ〕をレンダリングすることにより、静止画(音)データとしての各フレームデータを生成し、送信用FIFO24に出力する(ステップS201)。そして、変換部10が、送信用FIFO24に格納された各フレームデータをエンコードすることで、通信端末5aに配信可能なデータ形式の映像(音)データ〔XYZ〕に変換する(ステップS202)。
次に、送受信部31は、通信端末5aの送受信部51に、上記変換部10によって変換された後の映像(音)データ〔XYZ〕を送信する(ステップS203)。これにより、通信端末5aの送受信部51は、映像(音)データ〔XYZ〕を受信して、再生制御部53に出力する。
次に、通信端末5aでは、デコード部50が再生制御部53から映像(音)データ〔XYZ〕を取得してデコードする(ステップS204)。その後、スピーカ61は、デコードされた音データ〔XYZ〕に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔XYZ〕に基づいて映像を再生する(ステップS205)。
次に、通信端末5aのユーザによって、表示部58上に表示されている画面が不図示のメニュー要求画面に切り替えられ、操作部52が、メニュー要求画面中の不図示の「配信先選択メニュー」ボタンの押下を受け付ける(ステップS206)。これにより、送受信部51が、端末管理システム7の送受信部71aに、配信先選択メニューへの切り替え要求を送信する(ステップS207)。これにより、端末管理システム7の送受信部71aは、配信先選択メニューへの切り替え要求を受信する。この要求には、通信端末5aの端末IDが含まれている。
次に、送受信部71bは、配信制御システム2の送受信部21に、ブラウザ20bの起動要求を送信する(ステップS208)。これにより、配信制御システム2の送受信部21は、ブラウザ20bの起動要求を受信し、ブラウザ管理部22に対して、ブラウザ20bの起動要求を行う。
次に、ブラウザ管理部22は、ブラウザ20bを起動させる(ステップS209)。そして、エンコーダブリッジ部30の作成・選択部310は、ブラウザ20aから変換部10(例えば、変換部10a)への出力を、ブラウザ20bから変換部10(例えば、変換部10b)への出力に切り替える(ステップS210)。但し、通信端末5aが他の通信端末5(例えば、通信端末5b)と変換部10(例えば、変換部10a)を共有して上記ステップS203による映像(音)データを受信していた場合には、他の通信端末5(例えば、通信端末5b)はブラウザ20a用に変換部10(例えば、変換部10a)を利用中であるため、エンコーダブリッジ部30の作成・選択部310は、新たに変換部10(例えば、変換部10b)を作成する。
そして、送受信部21は、ブラウザ20bの命令に従って、端末管理システム7の送受信部71bに、配信先選択メニュー要求を送信する(ステップS211)。この際に、通信端末5aの端末IDも送信される。これにより、端末管理システム7の送受信部71bは、配信先選択メニュー要求を受信し、記憶部7000に通信端末5aの端末IDを出力する。これに対して、端末管理システム7の記憶部7000は、この端末IDに基づいて利用可能端末管理テーブル7020を検索することにより、対応する共有IDを抽出する(ステップS212)。この共有IDは、通信端末5aが遠隔共通処理をするために利用可能な通信端末5を示している。ここでは、図14に示されているように、通信端末5aの端末IDが「t001」であるため、抽出される共有IDは「v003」、「v006」である。
更に、記憶部7000は、抽出した共有IDに基づいて端末管理テーブル7010を検索することにより、対応する表示名を示す表示名情報を抽出する(ステップS213)。ここでは、図13に示されているように、抽出された共有ID「v003」、「v006」に対応する表示名は、それぞれ「東京本社10F MFP」、「大阪展示場1F マルチディスプレイ」である。
そして、送受信部71bは、配信制御システム2の送受信部21に、コンテンツデータとしての配信先選択メニューデータ〔M〕を送信する(ステップS214)。これにより、配信制御システム2の送受信部21は、配信先選択メニューデータ〔M〕を受信し、ブラウザ20bに出力する。この配信先選択メニュー〔M〕は、図12に示されているように、チェックボックス、共有ID、及び表示名が含まれている。
次に、図23に示されているように、ブラウザ20bが、端末管理システム7から取得した配信先選択メニュー〔M〕を示すコンテンツデータをレンダリングすることによって、静止画(音)データとしての各フレームデータを生成し、送信用FIFO24に出力する(ステップS221)。そして、変換部10が、送信用FIFO24に格納された画像(音)データ〔M〕をエンコードすることで、通信端末5aに配信可能なデータ形式の映像(音)データ〔M〕に変換する(ステップS222)。
次に、送受信部31は、通信端末5aの送受信部51に、上記変換部10によって変換された後の映像(音)データ〔M〕を送信する(ステップS223)。これにより、通信端末5aの送受信部51は、映像(音)データ〔M〕を受信して、再生制御部53に出力する。
次に、通信端末5aでは、デコード部50が再生制御部53から映像(音)データ〔M〕を取得してデコードする(ステップS224)。その後、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔XYZ〕に基づいて、図12に示されているような映像を再生する(ステップS225)。
次に、図12に示されている配信先選択メニューにおいて、ユーザにより共有ID「v006」のチェックボックスにチェックが入れられ、「OK」ボタンが押下されると、操作部52が、ユーザの操作入力を受け付ける(ステップS226)。
次に、送受信部51は、配信制御システム2の送受信部31に、操作データとしてチェック結果を送信する(ステップS227)。これにより、配信制御システム2の送受信部31は、操作データとしてチェック結果を受信し、ブラウザ20bに出力する。
次に、ブラウザ20bは、チェック結果から共有IDを選択する(ステップS228)。そして、送受信部21は、ブラウザ20bの命令に従って、端末管理システム7の送受信部71bに、配信先追加要求を送信する(ステップS229)。この配信先追加要求には、上記ステップS227によって選択された共有IDが含まれている。これにより、端末管理システム7の送受信部71bは、配信先追加要求を受信し、記憶部7000に共有IDを出力する。そして、ブラウザ20bは、役目を終えて終了する(ステップS230)。これにより、エンコーダブリッジ部30の作成・選択部310は、ブラウザ20bから変換部10への出力を、ブラウザ20aから変換部10への出力に戻すよう切り替える(ステップS231)。
次に、図24に示されているように、端末管理システム7の記憶部7000では、上記ステップS229によって送られて来た共有IDに基づいて、端末管理テーブル7010を検索することにより、対応する端末ID及び設置位置情報を抽出する(ステップS241)。そして、送受信部71bは、配信制御システム2の送受信部21に、配信先の追加指示を送信する(ステップS242)。この配信先の追加指示には、上記ステップS241によって抽出された端末ID及び設置位置情報が含まれている。これにより、配信制御システム2の送受信部21は、配信先の追加指示を受信し、ブラウザ管理部22に配信先の追加指示を出力する。ここでは、端末ID及び設置位置情報が「t006」、「左」と、端末ID及び設置位置情報が「t007」、「中」と、端末ID及び設置位置情報が「t008」、「右」との3組の端末ID及び設置位置情報が含まれている。
次に、エンコーダブリッジ部30の作成・選択部310は、マルチディスプレイ用の変換部10を作成する(ステップS243)。なお、この場合、エンコーダブリッジ部30の作成・選択部310は、ブラウザ管理部22から、端末ID及び設置位置情報を取得する。
そして、上記ステップS243によって作成された変換部10の分割部13が、送信用FIFO24に格納されている静止画(音)データとしての各フレームデータ〔XYZ〕を分割し、エンコード部19が、分割された各フレームデータをエンコードする(ステップS244)。
そして、送受信部31は、エンコーダブリッジ部30によってエンコードされた映像(音)データ〔X〕を、端末ID(「t006」)及び設置位置情報(「左」)に基づいて、通信端末5f1の送受信部51に送信する(ステップS245−1)。これにより、通信端末5f1の送受信部51は、映像(音)データ〔X〕を受信して、再生制御部53に出力する。
次に、通信端末5f1では、デコード部50が再生制御部53から映像(音)データ〔X〕を取得してデコードする(ステップS246−1)。その後、スピーカ61は、デコードされた音データ〔X〕に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔X〕に基づいて映像を再生する(ステップS247−1)。
また、同様にして、送受信部31は、エンコーダブリッジ部30によってエンコードされた映像(音)データ〔Y〕を、端末ID(「t007」)及び設置位置情報(「中」)に基づいて、通信端末5f2の送受信部51に送信する(ステップS245−2)。これにより、通信端末5f2の送受信部51は、映像(音)データ〔Y〕を受信して、再生制御部53に出力する。
次に、通信端末5f2では、デコード部50が再生制御部53から映像(音)データ〔Y〕を取得してデコードする(ステップS246−2)。その後、スピーカ61は、デコードされた音データ〔Y〕に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔Y〕に基づいて映像を再生する(ステップS247−2)。
更に、同様にして、送受信部31は、エンコーダブリッジ部30によってエンコードされた映像(音)データ「Z」を、端末ID(「t008」)及び設置位置情報(「右」)に基づいて、通信端末5f3の送受信部51に送信する(ステップS235−3)。これにより、通信端末5f3の送受信部51は、映像(音)データ〔Z〕を受信して、再生制御部53に出力する。
次に、通信端末5f3では、デコード部50が再生制御部53から映像(音)データ〔Z〕を取得してデコードする(ステップS246−3)。その後、スピーカ61は、デコードされた音データ〔Z〕に基づいて音を再生すると共に、表示部58は、レンダリング部55によってデコード部50から取得されてレンダリングされた映像データ〔Z〕に基づいて映像を再生する(ステップS247−3)。
<パラメータセットの変更による回線適応制御>
続いて、上記下り用の回線適応制御の処理について、図25乃至図27を用いて、更に詳細に説明する。本実施形態では、回線適応制御部27が、通信ネットワークの通信回線の品質(例えば、送信遅延時間の長さ)に応じて、通信端末5が映像(音)データを再生するときの再生品質に作用する1以上のパラメータを変更する場合を示している。特に以下では、回線適応制御部27が、複数のパラメータが組み合わられたパラメータセットを変更する場合について説明する。なお、図25は、パラメータセットに含まれるパラメータの一例を示す図である。
図25のパラメータセットの例では、映像(音)データが映像データの場合は、再生遅延時間、目標ビットレート、フレームレート、解像度(又は色深度)、及びチャンネル数を変更するための5つのパラメータが含まれている。また、映像(音)データが音声データの場合は、再生遅延時間、目標ビットレート、サンプリングレート、量子化ビット数、およびチャンネル数を変更するための5つのパラメータが含まれている。なお、回線適応制御部27は、これらのパラメータを、受信側の通信端末5のデコード能力の範囲内で調整する。
そして、映像(音)データが映像データの場合には、以下のように、回線適応制御部27がパラメータを変更する。即ち、パラメータが映像データのビットレートを含む場合には、回線適応制御27は、送信遅延時間Dが長いほどビットレートを小さくする。また、パラメータが映像データのフレームレートを含む場合には、回線適応制御27は、送信遅延時間Dが長いほどフレームレートを小さくする。更に、パラメータが映像データの解像度を含む場合には、回線適応制御27は、送信遅延時間Dが長いほど解像度を下げる。また、パラメータが映像データの色深度を含む場合には、回線適応制御27は、送信遅延時間Dが長いほど色深度を浅くする。更に、パラメータが映像データのチャンネル数を含む場合には、回線適応制御27は、送信遅延時間Dが長いほどチェンネル数を少なくする。
また、映像(音)データが音データの場合には、以下のように、回線適応制御部27がパラメータを変更する。即ち、パラメータが音データのビットレートを含む場合には、回線適応制御部27は、送信遅延時間が長いほどビットレートを小さくする。また、パラメータが音データのサンプリングレートを含む場合には、回線適応制御部27は、送信遅延時間が長いほど前記サンプリングレートを小さくする。更に、パラメータが音データの量子化ビット数を含む場合には、回線適応制御部27は、送信遅延時間が長いほど量子化ビット数を下げる。パラメータが音データの色深度を含む場合には、回線適応制御部27は、送信遅延時間が長いほど色深度を浅くする。また、パラメータが音データのチャンネル数を含む場合には、回線適応制御部27は、送信遅延時間が長いほど前記チャンネル数を少なくする。
なお、回線適応制御部27は、パラメータを変更する際に、まず、どのパラメータをはじめに変更するかなどの優先度に応じてパラメータを変更してもよい。例えば、パラメータを変更することにより再生品質が低下しても、受信側の通信端末5のユーザが、一般的に、品質の低下を認識しづらいパラメータから変更するなどである。具体的なパラメータの変更の例としては、フレームレートを30fpsと15fpsとの間で変更しても、一般的に、ユーザの官能評価が変わらないのであれば、当該範囲のフレームレートを変更するなどである。また、映像(音)データに映像データと音声データの両方が含まれる場合、一般的に、映像の品質の低下の方が認識されやすいため、音に関するパラメータよりも先に、映像に関するパラメータを変更するなどである。また、映像(音)データに映像データと音声データの両方が含まれる場合、映像(音)データの品質を下げても、受信側の通信端末5に適切な品質で送信できない場合は、映像データの配信は停止させ、音声データの配信のみを行うなどの状態になるようにパラメータを変更するなどである。
また、回線適応制御部27は、ユーザの選択に応じてパラメータを変更してもよい。すなわち、回線適応制御部27が、映像(音)データの再生品質を低下させるためのパラメータを一律的に決定しなくてもよい。例えば、15fpsと1fpsとの間でフレームレートを変更すると、受信側の通信端末5のユーザが、映像(音)データの再生品質の低下を認識しやすい。このような場合には、フレームレートを下げるべきか他のパラメータを下げるべきかについて、優先的に調整するパラメータをユーザが選択できるようにする。映像(音)データが、動きの少ないコンテンツの場合、フレームレートを下げても問題ないと捉えるユーザがいる一方で、出力情報が動きの激しいコンテンツでは、目標ビットレートを落としてでもフレームレートを維持したいと考えるユーザがいるためである。
次に、回線適応制御部27が、パラメータセットを変更すると決定するときの判定方法の一例について説明する。通信回線の品質が、品質判定閾値の近似値である場合、通信回線の品質のごくわずかな揺らぎによって、利用するパラメータセットを頻繁に切り替えると、受信側の通信端末5でスムーズな再生ができない。したがって、パラメータセットの品質を上げる場合、下げる場合で異なる判定条件を持つことで、頻繁な切り替えを回避する。
図26は、パラメータセットの品質を変更するときの判定条件の一例を説明するための図である。図26の例では、映像(音)データの品質を最も高くする高品位のパラメータセットAから、映像(音)データの品質を最も低くする低品質のパラメータセットDまで、4つのパラメータセットがある場合である。図26の例では、パラメータセットの品質を下げるときの閾値が、パラメータセットの品質を上げるときの閾値よりも小さく設定されている。これにより、回線適応制御部27は、パラメータセットの切り替えが頻繁に発生することを防いでいる。
図27は、図26の判定条件を適用した場合のパラメータセットの変更について説明するための図である。現在、パラメータセットCを利用している状態で、通信回線の品質が、1.5Mbpsである場合が一定時間続いた場合、回線適応制御部27が、パラメータセットをパラメータセットBに変更する。その後、通信回線の品質が、1.5Mbps未満になっても、下げる場合の閾値が、1.0Mbps以上であるため、回線適応制御部27は、パラメータセットをパラメータセットBのままにする。通信回線の品質が、1.0Mbps未満である場合が一定時間続いた場合、回線適応制御部27は、パラメータセットをパラメータセットCに変更する。このように、パラメータセットの品質を、上げるための条件と下げるための条件が異なるため、パラメータセットが変更された直後の通信回線の品質の揺らぎによって、容易に変更前の状態に戻らないようにしている。なお、パラメータセットの品質を下限まで下げても適切な再生ができないほど通信回線の品質が低下した場合の処理は、適宜定めてよい。例えば、このような場合の処理は、セッションを切断する、又は、セッションを通信回線の品質が回復するまで維持するなどがある。
〔実施形態の主な効果〕
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の配信システム1では、クラウド上で配信制御システム2がレンダリングを行うブラウザ20及びエンコード等を行うエンコーダブリッジ部30を有する。これにより、ブラウザ20が所定の記述言語で示されたコンテンツデータに基づいて静止画(音)データとしての各フレームデータを生成し、エンコーダブリッジ部30が各フレームデータを通信ネットワーク9で配信可能な映像(音)データに変換する。その後に、配信制御システム2は、通信端末5に映像(音)データを配信する。よって、通信端末5側では、自端末のブラウザを最新化したり、CPU、OS、及びRAM等のスペックを上げる手間や費用を掛けなくても、スムーズにウェブコンテンツを再生することができる。そのため、コンテンツのリッチ化によって通信端末5の負荷が高くなるという問題を解消することができる。
特に、ブラウザ20は、リアルタイムコミュニケーションを可能にし、変換部10は、ブラウザ20によって生成されたフレームデータに対してリアルタイムのエンコードを行う。よって、例えば、映像(音)データのオンデマンド配信のように、DVDプレーヤがリアルタイム性のない(つまり、予めエンコードされている)映像(音)データを選択して配信する場合とは異なり、配信制御システム2は、配信する直前に取得したコンテンツをレンダリングすることによってフレームデータを生成してからエンコードするため、リアルタイム性に優れた映像(音)データの配信を行うことができる。
また、配信制御システム2が、通信端末5から受信した送信遅延時間情報に基づいて、通信端末5に配信させる映像(音)データの再生品質のパラメータを変更するため、コンテンツのリッチ化が進んだり、インターネット等の通信回線が混雑したりする場合であっても、通信端末5で、できるだけスムーズに映像(音)データを再生することができるという効果を奏する。
〔補足説明〕
本実施形態の配信システム1では、端末管理システム7と配信制御システム2とを互いに別個のシステムとして構成しているが、例えば、配信制御システム2に端末管理システム7の機能を持たせるなどにより、端末管理システム7と配信制御システム2とを一体の装置として構成するようにしてもよい。
また、上記実施形態における配信制御システム2、及び端末管理システム7は、単一のコンピュータによって構築されてもよいし、各部(機能、手段、又は記憶部)を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。
更に、上記実施形態の各プログラムが記録されたCD−ROMやHDD等の記録媒体は、いずれもプログラム製品(Program Product)として、国内又は国外へ提供されることができる。