以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の実施形態は好ましい例示であり、本発明はこの例示に限定されるものではない。
図1は、一実施形態における動画配信システム100が動作する環境の構成図である。動画配信システム100は、例えばインターネット等のネットワークに接続されたコンピュータ環境に適用することができる。
この図に示されるように、動画配信システム100において配信される動画の素材となる映像はn台のカメラVC1〜VCnで撮影され、動画の素材となる音声はm台のマイクMC1〜MCmで集音される。カメラVC1〜VCnで撮影されたn本の映像及びマイクMC1〜MCmで集音されたm本の音声は、合成多重化装置10に入力される。合成多重化装置10は、n本の映像をマルチ画面映像に合成して1つの映像信号を生成するとともに、m本の音声を素としてm個のチャンネルを有する1つの音声信号を生成する。
符号化装置20は、合成多重化装置10で生成された映像信号と音声信号をそれぞれネットワークに配信可能な帯域および形式に変換し1つのビットストリームにまとめる。符号化装置20で生成されたビットストリームは、データベースサーバ30内の動画データベース32に格納される。
なお、動画を構成する各素材が1つのビットストリームにまとめられる過程については、別の図を用いて後述する。また、合成多重化装置10、符号化装置20及びデータベースサーバ30は、相互にネットワーク接続されている必要はなく、各装置で生成される信号やデータが相互に受け渡し可能な形態を選択することができる。例えば、合成多重化装置10から符号化装置20に対してはケーブルを介して映像/音声信号を伝送し、符号化装置20からデータベースサーバ30に対しては記録媒体等を用いてデータを入力してもよい。
データベースサーバ30は、動画配信システム100で用いられる各種のデータベースを配設/管理しており、前述した動画データベース32の他に、履歴データベース34及びユーザマスタ36を有している。動画データベース32は、動画のビットストリームに加え、その動画の構成情報(例えば、映像数、音声数、圧縮形式、解像度、各映像の座標情報等)を格納する。履歴データベース34は、配信された動画の再生中にユーザの操作によりなされた映像や音声の出力調整の変遷を記録した履歴データを格納する。ユーザマスタ36は、動画配信システム100を利用するユーザの登録情報(例えば、ユーザID、ユーザ名、認証パスワード等)を格納する。なお、各データベース32,34,36は、必ずしもデータベースシステムとして構成される必要はなく、例えば、データベースサーバ30により認識される記憶領域をファイルストレージとして用いる構成としてもよい。
配信サーバ40は、ユーザ(より正確には、ユーザ端末50)からの要求に応じて動画を配信する。配信サーバ40は、データベースサーバ30にネットワーク等を介して相互に接続可能であると同時に、インターネット70に接続されている。ユーザが動画配信システム100を利用する際に用いるユーザ端末50もまた、インターネット70に接続されている。すなわち、配信サーバ40とユーザ端末50とは、インターネット70を介して相互に接続可能である。
ユーザ端末50は、配信サーバ40に対する動画の配信要求や、配信サーバ40により提供される操作メニューを介した動画の再生等を行う。ユーザ端末50の形態としては、例えば、コンピュータ、スマートフォンやタブレットPC等のモバイルデバイスの他、インターネット対応テレビやインターネット対応ゲーム機等が挙げられる。このように、インターネットへの接続が可能で、かつ標準的なウェブブラウジング機能と映像/音声出力機能を有したクライアントであれば、動画配信システム100を利用することができる。
なお、配信サーバ40及びユーザ端末50が有する機能や、配信サーバ40及びユーザ端末50において実行される処理については、詳しく後述する。
図2は、一実施形態の動画配信システム100により提供される操作メニュー140(ユーザインタフェース)の例を示す図である。なお、発明の理解を容易とするために、これ以降の説明においては、配信される動画が各4本の映像及び音声で構成されている場合を例示する。また、操作メニュー140に設けられた操作部品に対する操作入力は、ユーザ端末50の形態によって異なるが(例えば、クリック、タッチ、タップ、押下等)、ここではこれらを総括して「選択」と表現することとする。
操作メニュー140は、動画の配信時に配信サーバ40から提供されるユーザインタフェースの一部である。操作メニュー140は、映像の出力態様(映像選択、拡大/縮小、位置変更、エフェクト等)を調整するためのメニューと、音声の出力態様(音量、定位、ミュート等)を調整するためのメニューとを含み、例えばウェブブラウザや専用アプリケーション等に展開される。
また、配信サーバ40から提供されるユーザインタフェースには、操作メニュー140の他に制御プログラムが内包されている。制御プログラムは、動画に付随して配信される構成情報に基づき操作メニュー140をこの動画に合わせてレンダリングする他、操作メニュー140を介してなされる各操作に対応付けられた処理を実行する。
例えば、図2に示されるように、操作メニュー140には主映像切替ボタン160(160a〜160d)と音声調整メニュー161(161a〜161d)が4個ずつ設けられる。このような操作メニュー140の配置は、今回配信される動画が4本の映像と4本の音声とを素材としていることが記された構成データに基づいて制御プログラムが決定し、ユーザ端末50上にレンダリングしたものである。
また、主映像切替ボタン160a〜160dの各々には、表示サイズが縮小された4本の動画がサブ映像としてサムネイル表示される。例えば、図2に示されるように、映像1への主映像切替ボタン160aには首を傾げた子犬を正面から捉えた映像が縮小表示され、映像2への主映像切替ボタン160bには同じ子犬を上方から捉えた映像が縮小表示され、映像3への主映像切替ボタン160cには同じ子犬を背後から捉えた映像が縮小表示され、映像4への主映像切替ボタン160dには同じ子犬を左側から捉えた映像が縮小表示される。これらのサブ映像は、構成データに記された合成映像における映像1〜4の各領域を示す座標(位置)情報に基づいて、各映像1〜4への切替を割り当てた各ボタン160a〜160d上に、制御プログラムが各映像1〜4の縮小映像を表示させたものである。
このとき、映像1への主映像切替ボタン160aを選択すると、主映像表示エリア150には主映像切替ボタン160aに縮小表示されている映像が表示される。この表示もまた、制御プログラムによりなされる。制御プログラムは、主映像切替ボタン160aの選択を契機として、構成データに記された映像1の領域を示す座標情報に基づきその領域のみを合成映像から抜き出し、主映像表示エリア150に表示する。
このように、映像数だけ設けられた各主映像切替ボタン160(160a〜160d)は、選択された映像を合成映像から抜き出して主映像表示エリア150に表示する。
音声数だけ設けられた各音声調整メニュー161(161a〜161d)には、音量スライダ162(162a〜162d)、定位ツマミ164(164a〜164d)及びミュートボタン166(166a〜166d)が設けられている。音量スライダ162は、指定された音声の音量を調整する。定位ツマミ164は、指定された音声の定位を調整する。ミュートボタン166は、指定された音声を消音するか否かを切り替える。
これらのメニューを利用することにより、ユーザは個々の音声の音量やバランスを自在に調整することができ、多重化された複数の音声を嗜好に合わせてミックスし出力させることが可能となる。例えば、図2に示されるように、音声1に対する音量スライダ162aを上端までスライドすると、音声1は最大音量で出力される。音声2に対する定位調整ツマミ164bを選択し「R」に寄せると、音声2は右側のみから出力される。音声3に対するミュートボタン166cを選択すると、ミュートボタン166cの表示は×印に変わり、音声3は消音され一切出力されなくなる。
また、文字入力表示エリア158は、動画の再生中にユーザにより入力される文字を受け付け、表示する。拡大ボタン152は、主映像表示エリア150に表示された映像を拡大する。縮小ボタン154は、主映像表示エリア150に表示された映像を縮小する。移動ボタン156は、主映像表示エリア150に表示された映像内で表示対象とする領域を移動する。映像の拡大・縮小及び映像内における表示位置の変更(移動)については、詳しく後述する。
エフェクト選択ボタン168〜178は、各ボタンに対応付けられたエフェクトを映像の再生中に挿入する。例えば、クロスフェードボタン168を選択すると、映像にクロスフェードを挿入、すなわちボタン選択前の映像をフェードアウトさせながらボタン選択後の映像をフェードインさせ、前後の映像が滑らかに切り替えられる。また、オートエフェクトボタン176を選択すると、予め用意されている複数種類のエフェクトの何れかを自動的に挿入する。
調整記録ボタン180は、操作メニュー140を介して調整された映像及び音声の出力態様の変遷(調整履歴)を記録させる。調整記録ボタン180を一度選択すると、ローカルの一時データベースへの記録が開始される。それ以降にユーザが操作メニュー140で映像又は音声の出力調整に関する操作を行うと、これを契機として各操作部品に対応付けられた処理が実行され映像及び音声の出力態様が変更されるが、このとき、実行された出力調整は一時データベースに逐一追記される。動画再生が終了すると、ユーザにデータの保存を促すメッセージが操作メニュー140上に表示される。ここで再び調整記録ボタン180を選択すると、動画の再生中に一時データベースに記録されたデータ、すなわち映像及び音声の出力態様の調整履歴が、配信サーバ40に送信され、履歴データベース34に記録される。
調整再現ボタン182は、一時データベースに展開された調整履歴に基づいて、映像及び音声の出力態様の調整を再現させる。動画の配信要求時に他のユーザがその動画を視聴した際の調整履歴を併せて要求したか、或いはユーザ自らが過去に同じ動画を視聴した際にサーバ側に記録した調整履歴が存在する場合には、動画の配信時に調整履歴が併せて配信され、ローカルの一時データベースに展開される。調整再現ボタン182を選択すると、一時データベースから調整履歴が読み出され、記録されている個々の出力調整が再生の時間軸に沿って逐一実行されることにより、記録時と全く同一の出力態様が再現される。つまりユーザは、操作メニュー140を操作することなく、調整履歴に沿って出力調整を自動的に再現させ過去の視聴時(調整履歴の記録時)と同じ状態で動画を視聴することができる。
なお、一時データベースに調整履歴が存在しない場合は、出力調整を再現させることができないため、調整再現ボタン182は無効化された状態で表示される。
報知ツール起動ボタン190〜196は、電子メールやSNS等の報知ツールを起動し、ユーザがこの動画に対し行った出力調整を他のユーザがこの動画を視聴する際に再現可能とするためのURLを本文としてセットする。例えば、電子メール起動ボタン190を選択すると、ユーザ端末50にインストールされているメールクライアントが起動してメッセージ作成画面が表示される。このとき、メッセージの本文として、この動画と出力調整を行ったユーザとを識別可能な情報(例えば、動画IDとユーザID)がクエリとして指定されたURLがセットされる。このメッセージを受信した他のユーザは、本文中に記載されたURLにアクセスするだけで、送信ユーザが視聴した時と全く同じ状態、すなわち送信ユーザが行った操作を再現させた状態で、動画を視聴することができる。
なお、ユーザの調整履歴がサーバ側に記録されていない場合は、この調整履歴を他のユーザに参照させることができないため、報知ツール起動ボタン190〜196は無効化された状態で表示される。
図3は、複数の映像及び音声が多重化される態様を示す模式図である。
まず、カメラVC1〜VC4で撮影された4本の映像V1〜V4は、各々が映像信号として合成多重化装置10に入力される。4本の映像V1〜V4は、1つのマルチ画面映像MVに合成される。例えば、各映像V1〜V4が960×540の解像度を有する映像であるとした場合、マルチ画面映像MVは映像V1〜V4が縦横2本ずつ配列状に配置された1920×1080(HDTV)の解像度を有するマルチ画面状に構成された映像に合成される。こうした合成処理を経て、4つの映像信号は1つにまとめられる。
なお、マルチ画面映像MVの配置はこの態様に限定されない。例えば、映像V1〜V4を縦横の何れか一方に一列に配置してもよい。縦一列に配置した場合、マルチ画面映像MVは960×2160の解像度を有する映像に合成されることとなる。
また、マイクMC1〜MC4で集音された4本の音声A1〜A4は、各々が音声信号として合成多重化装置10に入力される。4本の音声A1〜A4は、個々が分離独立したチャンネルとして構成された複数チャネルを有するマルチトラック音声MAに多重化される。こうした処理を経て、4つの音声信号は1つにまとめられる。
さらに、映像信号と音声信号とが時間軸で同期される。このようにして、合成多重化装置10では、複数の映像素材が合成されてなる1つのマルチ画面映像MVと複数の音声素材により多重化されたマルチトラック音声MAとから、多重化された1つの映像信号と1つの音声信号が生成される。
合成多重化装置10で多重化されたマルチ画面映像MVの映像信号とマルチトラック音声MAの音声信号は、エンコーダ20に入力される。エンコーダ20は、入力された映像信号と音声信号をそれぞれデータとしてインターネット70に配信可能な帯域および形式に符号化し、1つのビットストリームを生成する。符号化(圧縮)形式としては、一般に普及した形式のいずれかが採用される。例えば、映像信号はH.264形式の映像データに符号化され、音声信号はAAC形式の音声データに符号化される。符号化された映像データと音声データはまとめられて、1つのビットストリームBSが生成される。ビットストリームBSは、そのままネットワークに配信可能な形態である。
エンコーダ20で生成されたビットストリームBSは、動画データベース32に格納される。動画データベース32には、動画配信システム100で配信される各動画に対応したビットストリームBSが格納されている。配信サーバ40は、ユーザ端末50から動画の配信要求を受信すると、動画データベース32を参照して対応するビットストリームBSを取得し、ユーザ端末50に配信することとなる。
図4及び図5は、動画配信システム100の機能ブロック図である。動画配信システム100は、サーバ側(データベースサーバ30及び配信サーバ40)とクライアント側(ユーザ端末50)とに跨って構成されており、サーバ側には主に動画の配信に関わる機能が実装され、クライアント側には主に配信された動画の再生に関わる機能が実装される。
図4は、動画配信システム100がサーバ側に有する機能を示す機能ブロック図である。この図に示されるように、動画配信システム100は、動画格納部110、調整履歴格納部112、ユーザ情報格納部114、要求応答部120、動画配信部122、UI提供部124、調整履歴入出力部126及びユーザ認証部128をサーバ側に有する。
データベースサーバ30には、動画配信システム100で用いられるデータを格納するための機能が実装される。
動画格納部110は、動画データベース32に相当し、動画配信システム100上で配信される動画のビットストリームや構成情報を格納する。調整履歴格納部112は、履歴データベース34に相当し、配信された動画の再生中にユーザの操作に基づきなされた映像や音声の出力調整の変遷を記録した履歴データを格納する。ユーザ情報格納部114は、ユーザマスタ36に相当し、動画配信システムを利用するユーザの登録情報や認証情報を格納する。
配信サーバ40には、ユーザ端末50からの要求に応じた処理を行う機能、具体的には要求応答部120からユーザ認証部128までの機能が実装される。
要求応答部120は、配信サーバ40の窓口としての動作を行う。要求応答部120は、ユーザ端末50から送信された要求を受信してその内容を確認し、要求を適当な機能部に振り分ける。要求応答部120はまた、各機能部で要求が処理されたことにより取得されたデータや通知等を中継し、要求の送信元であるユーザ端末50に対してこれらを送信する。
動画配信部122は、要求応答部120による振り分けに応じ、ユーザ端末50から配信を要求された動画のビットストリームを動画格納部110から取得し、これをユーザ端末50に要求応答部120を介して配信する。
UI提供部124は、要求応答部120により振り分けに応じ、ユーザ端末50から配信を要求された動画の構成情報とともに、その動画の再生に必要となる操作メニューや制御プログラム等のユーザインタフェースをユーザ端末50に要求応答部120を介して提供する。なお、UI提供部124により提供される動画の構成情報は、ユーザ端末50から配信要求とともに送信された端末情報に基づきその画面解像度に合わせて生成される。
調整履歴入出力部126は、要求応答部120による振り分けに応じ、ユーザ端末50から送信された調整履歴の記録/参照の要求に応じた処理を実行する。具体的には、調整履歴入出力部126は、まず、ユーザ端末50から送信された調整履歴の記録要求への対応として、送信された調整履歴(出力態様の調整内容が記録された履歴データ)を、ユーザと動画を識別可能な状態で調整履歴格納部112に記録させる。また、調整履歴入出力部126は、ユーザ端末50から送信された調整履歴の参照要求への対応として、送信された識別情報に基づいて特定のユーザによる特定の動画に対する調整履歴を調整履歴格納部112から取得し、これをユーザ端末50に要求応答部120を介して配信する。
ユーザ認証部128は、要求応答部120による振り分けに応じ、動画配信システム100を利用するユーザの認証処理を実行する。ユーザ端末50から送信された認証情報が要求応答部120を介して受け渡されると、ユーザ認証部128はこの認証情報の正当性をユーザ情報格納部114に照会してユーザ認証処理を行い、その結果をユーザ端末50に要求応答部120を介して通知する。
図5は、動画配信システム100がクライアント側に有する機能を示す機能ブロック図である。この図に示されるように、動画配信システム100は、配信要求部130、受信部132、再生部136、操作受付部140、調整再現部142、出力調整部144、一時記録部145、記録要求部146、認証要求部147及び報知部148をクライアント側(ユーザ端末50)に有する。これらの機能は、UI提供部124により提供される制御プログラムにより実装される。
配信要求部130は、配信サーバ40に対し、特定の動画の配信やこれに対応する調整履歴の参照を要求する。配信要求部130は、要求を送信する際に、ユーザ端末50の端末情報(例えば、画面解像度等)を併せて送信する。
受信部132は、配信要求部130が送信した動画配信要求への応答として配信サーバ40から配信される動画のビットストリームやその構成情報、ユーザインタフェース、調整履歴を受信する。
復号部134は、ユーザ端末に標準装備されている復号手段に相当し、受信部132により受信された動画のビットストリームを復号し、映像及び音声を再生可能な状態にする。復号された映像と音声は、再生部136を介した後それぞれ映像出力部138と音声出力部139に出力される。
再生部136は、復号部134によりデコードされた映像と音声を所定の出力態様で出力させることにより動画を再生する。より具体的には、再生部136は、後述する出力調整部144により指定された出力態様に沿って映像及び音声をそれぞれ映像出力部138及び音声出力部139にそれぞれ出力させることにより、動画の再生を実現させる。
映像出力部138は、ユーザ端末50に標準装備されている映像出力手段(例えば、ディスプレイ)に相当し、動画を構成する映像(マルチ画面映像)のうち再生部136により指定された所定の領域を出力する。
音声出力部139は、ユーザ端末50に標準装備されている音声出力手段(例えば、スピーカ)に相当し、再生部136により複数チャンネルからダウンミックスされた音声を出力する。
操作受付部140は、動画の再生中になされるユーザの操作を受け付ける。操作受付部140は、動画配信に伴い受信部132により受信されたユーザインタフェースの一部をなす。言い換えると、操作受付部140は、UI提供部124から提供されユーザ端末50上で生成された操作メニュー140そのものである。
ユーザが操作メニュー140で映像の出力調整(出力映像の切替、拡大/縮小、表示領域の移動、エフェクト挿入等)又は音声の出力調整(ミックスされる各音声の音量、定位、消音等)に関する操作を行うと、操作受付部140はその操作に割り当てられている出力調整を出力調整部144に指示する。
調整再現部142は、配信要求部130が送信した動画配信要求への応答として配信サーバ40から送信された調整履歴をローカルの一時データベースに展開し、調整履歴に記録されている出力調整を時間軸に沿って出力調整部144に指示する。調整再現部142がこのように動作することにより、動画配信システム100は、ユーザが過去の視聴時に操作メニュー140を介して行った出力調整を再現させることができる。
出力調整部144は、操作受付部140や調整再現部142により指示された出力調整を現在の出力態様に反映させて全体としての新たな出力態様を決定し、これに沿った映像及び音声の出力を再生部136に指示する。より具体的には、出力調整部144は、映像の新たな出力態様(今回の出力調整を反映させた上で決定される主映像表示エリア150への表示領域)及び音声の新たな出力態様(今回の出力調整を反映させた上で決定されるミックス後のLRの各音量)を再生部136に指定する。
なお、再生開始時の出力態様は、動画配信に伴い受信部132により受信された動画の構成情報に基づいて決定される。出力調整部144は、構成情報において再生開始時の主映像として指定されている映像を主映像表示エリア150に出力するよう再生部136に指定する。
一時記録部145は、出力調整部144により反映されたユーザの操作に基づく出力調整をローカルの一時データベースに追記する。動画を再生可能な状態が整った後にユーザが操作メニュー140で調整記録ボタン180を一度選択すると、一時記録部145は、一時データベースを作成して出力調整の記録を開始し、これ以降になされる出力調整を一時データベースに逐一追記する。これにより、動画再生中になされた出力調整の履歴が一時データベース上に蓄積される。
なお、一時データベースは、ユーザ端末50のローカルディスク53又はRAM52等に作業領域として作成され、所定のタイミングでクリアされる。
記録要求部146は、一時データベース上に蓄積された出力調整の履歴を配信サーバ40に対して送信し、調整履歴の記録を要求する。上述したように、動画が再生可能な状態が整った後に調整記録ボタン180を一度選択すると、一時記録部145がローカルでの調整履歴の記録を開始する。その後、動画の再生が終了した後にユーザが調整記録ボタン180を再び選択すると、記録要求部146は、一時データベースに蓄積された調整履歴を配信サーバ40に対して送信する。
認証要求部147は、ユーザにより入力された認証情報を配信サーバ40に対して送信し、認証処理の実行を要求する。
報知部148は、動画とこれに対する調整履歴とを一意に識別可能な情報を電子メールやSNS等の報知ツールに受け渡す。より具体的には、操作メニュー140に設けられた報知ツール起動ボタン190〜196に割り当てられた処理を実行する。
図6は、動画の構成情報を説明する図である。図6中(A)は、動画の構成情報の具体例を示しており、図6中(B)は、構成情報から解釈されるマルチ画面映像MVのサイズと座標情報の具体例を示している。
構成情報は、配信サーバ40からユーザ端末50に対し動画に付随して配信され、ユーザインタフェースに含まれる制御プログラムにより用いられる。
構成情報には、動画の構成に関わる情報(例えば、映像数、音声数、各映像の解像度と座標情報、初期主映像、圧縮形式、フレームレート、総再生時間、言語、動画タイトル等)が構成情報に関する属性情報(例えば、構成情報ID、作成日等)とともに記されている。このうち、構成情報の一部(例えば、各映像の解像度と座標情報)は、ユーザ端末50の画面解像度に合わせて生成されている。
例えば、図6中(A)に示される構成情報には、ID「5618」で識別される動画についての、構成映像本数(4本)、各映像の幅(960ピクセル)と高さ(540ピクセル)及びマルチ画面映像における各映像領域の左上の座標、再生開始時の主映像(映像01)、映像の圧縮形式(H.264)、映像のフレームレート(24fps)、音声チャンネル数(4チャンネル)、音声の圧縮形式(AAC)、総再生時間(1時間3分22秒)、言語(日本語)、動画タイトル(インド人もびっくり!うきうきマジックショー)、構成情報の作成日時(2016/5/21)等が記されている。
この構成情報から、幅wが960ピクセルで高さhが540ピクセルの、すなわち960×540の解像度を有する4本の映像V1〜V4が縦横に2つずつ配置されて1920×1080の解像度を有するマルチ画面映像MVが合成されていることが分かる。したがって、図6中(B)に示されるように、マルチ画面映像MVにおける横方向の位置をx、縦方向の位置をyとして座標(x,y)と表す場合に、座標(0,0)を左上の起点とする幅wかつ高さhの領域が映像V1に対応し、座標(960,0)を左上の起点とする幅wかつ高さhの領域が映像V2に対応し、座標(0,540)を左上の起点とする幅wかつ高さhの領域が映像V3に対応し、座標(960,540)を左上の起点とする幅wかつ高さhの領域が映像V4に対応していることが分かる。
また、各映像の解像度と座標情報との関係から、この構成情報は横長の画面用に生成されていることが分かる。上述したように、ユーザ端末50は配信サーバ40に対して動画の配信要求とともに自身の端末情報を送信しており、これを受信した配信サーバ40は要求元の画面解像度に合わせた構成情報を配信する。例えば、ユーザ端末50がコンピュータやインターネット対応テレビ等のように横長の画面を有する場合は、配信サーバ40から配信される動画の構成情報には、横長の画面への表示に適した座標情報が指定される。仮に、ユーザ端末50がスマートフォンやタブレットPC等のように縦長の画面を有する場合には、配信サーバ40からは縦長の画面への表示に適した座標情報が指定された構成情報が配信される。したがって、その場合には、図6中(B)に示される図のうちマルチ画面映像MVを左に90度回転させ左下の頂点を(0,0)とした場合の座標情報が指定される。
制御プログラムは、構成情報をこのように解釈し、配信された動画の再生制御を行う。例えば、この動画は再生開始時には映像01、すなわち映像V1を主映像とすると指定されているため、制御プログラムは、再生開始時にマルチ画面映像MVから映像V1の領域のみを抜き出して主映像表示エリア150に表示する。動画の再生開始後にユーザが操作メニュー140で映像又は音声の出力に関する操作を行うと、制御プログラム(より具体的には、ユーザ端末50に実装された各機能部)がこれを検知して、ユーザの操作に割り当てられた出力の調整を行うことにより、ユーザが指定した出力態様で動画を再生する。
なお、説明の便宜のため、これ以降に例示する動画は全て、図6に示した構成情報を有する動画とする。但し、この構成はあくまで一例であり、動画配信システム100で配信される動画はこの構成に限定されない。例えば、マルチ画面映像MVを構成する映像本数を増減したり、ユーザ端末50の画面解像度に応じてより小さな(又はより大きな)解像度を有する構成映像を採用したりすることも可能である。
〔映像の出力調整の具体例〕
図7から図9は、動画配信システム100で提供される操作メニュー140を介した映像の出力調整例を示す図である。このうち、図7は主映像表示エリア150に表示する映像を切り替える場合の例を、図8は主映像表示エリア150に表示された映像を拡大しさらにその表示領域を移動する場合の例を、図9は主映像表示エリア150に表示される映像の表示領域を移動しさらにその映像を縮小する場合の例を、それぞれ示している。なお、これらの図においては、操作メニュー140の一部を簡略化して示すこととする。
図7は、主映像表示エリア150に表示する映像を切り替える場合の例を示している。図7に示される動画は、ホールで開催されたマジックショーを異なる位置に設置した複数のカメラで撮影した4本の映像V1〜V4と、各カメラの近傍に配置したマイクで集音した4本の音声とで構成された多視点動画である。マルチ画面映像MVは、客席の一部を捉えた映像V1と、会場内を客席後方から捉えた映像V2と、マジックの鍵を握る人物を捉えた映像V3と、マジックが実演されているステージを捉えた映像V4とが縦横に2本ずつ配置された状態で合成されている。
この動画の再生を開始する時点では、構成情報に基づいた映像出力がなされる。例示した構成情報においては、映像1(映像V1)が再生開始時の主映像として指定されている。したがって、再生を開始する時点では、図7に示されるように、主映像表示エリア150には客席の一部を捉えた映像V1の領域のみがマルチ画面映像MVから抜き出されて表示される。この後でユーザが操作メニュー140で映像又は音声の出力調整に関する何らかの操作を行うまでの間は、この態様による映像出力が継続される。
ここでユーザが映像4への主映像切替ボタン160dを選択すると、主映像として表示さえる映像が映像4(V4)に切り替わり、主映像表示エリア150にはステージを捉えた映像V4の領域のみがマルチ画面映像MVから抜き出されて表示される。
図8は、主映像表示エリア150に表示された映像を拡大しその表示領域を移動する場合の例を示している。
図8中(A):映像V4が主映像として表示されている状態で、ユーザが拡大ボタン152を数回選択すると、主映像表示エリア150に表示される映像V4内の対象領域が狭められる。その結果、主映像表示エリア150には、映像V4のうち同じアスペクト比で狭められた中央の領域のみが抜き出されて表示される。したがって、この領域より外側に収められているマジシャンの身体の一部やバニーガール、帽子から現れた鳩の頭部等は対象領域から外れ、主映像表示エリア150には表示されない。
図8中(B):図8中(A)に示される態様により映像出力がなされている状態で、ユーザが移動ボタン156のうち右/下の部品(図中に黒塗り三角で示した部位)を選択すると、主映像表示エリア150に表示される映像V4内の対象領域の位置が右下方向に移動する。その結果、図8中(A)で示した表示対象領域がサイズを維持したまま位置が右下に変わり、主映像表示エリア150には映像V4の右下の領域のみが抜き出されて表示される。したがって、主映像表示エリア150には、表示対象領域内に収まっているマジシャンが持つ帽子とバニーガールの両脚のみが表示される。
図9は、主映像表示エリア150に表示された映像の表示領域を移動して縮小する場合の例を示している。
図9中(A):図8中(B)に示される態様により映像出力がなされている状態で、ユーザが拡大ボタン152を再び選択し、さらに移動ボタン156のうち左/上の部品(図中に黒塗り三角で示した部位)を選択すると、主映像表示エリア150に表示される映像V4の対象領域が一層狭められた後で、表示される対象領域の位置が左上方向に移動する。その結果、表示対象領域は図8中(B)で示した表示対象領域よりやや狭められた状態で位置が左上に変わり、主映像表示エリア150には映像V4の左上の領域のみが抜き出されて表示される。したがって、主映像表示エリア150には、表示対象領域内に収まっているマジシャンの顔がアップで表示される。
図9中(B):図9中(A)に示される態様により映像出力がなされている状態で、ユーザが縮小ボタン154を数回選択すると、主映像表示エリア150に表示される映像V4の対象領域が広げられる。その結果、主映像表示エリア150には、映像V4のうち同じアスペクト比で図9中(A)の対象領域より範囲が広げられた左上の領域のみが抜き出されて表示される。したがって、主映像表示エリア150には、表示対象領域内に収まっているマジシャンの上半身とマジック道具が表示され、ユーザはマジックの実演風景を程よく視聴することができる。
このように、ユーザは、操作メニュー140を介して主映像表示エリア150に表示させる映像を切り替えたり、映像を拡大又は縮小しその表示領域を移動したりすることにより、主映像表示エリア140に表示される映像の出力態様を調整する。
なお、主映像表示エリア150及び各主映像切替ボタン160a〜160dには、いずれもマルチ画面映像MVの一部が抜き出されて表示されるが、本実施形態においては、これらの操作部品150,160a〜160dをそれぞれ一定の大きさで形成し固定された位置に配置した。操作性や映像の視認性を高めるために、主映像表示エリア150及び各主映像切替ボタン160a〜160dの大きさや位置をユーザが自由に変更できるように実装してもよい。
〔サーバ側での処理〕
図10は、サーバ側で実行される要求応答処理の手順例を示すフローチャートである。このフローチャートに示される各ステップは、動画配信システム100がサーバ側に有する各機能部110〜128により実行されるが、各機能部を動作させる主体はこれらが実装される各サーバのCPU、すなわち配信サーバ40のCPU41及びデータベースサーバ30のCPU31である。つまり、CPU31,41が各ステップを各機能部に実行させることにより、動画配信システム100がサーバ側で機能する。
ステップS100:CPU31は、要求応答部120にユーザ端末50から送信された要求を受信させる。
ステップS102:CPU31は、要求応答部120に前ステップS100で受信した要求が動画配信の要求であるか否かを確認させる。動画配信の要求である場合(Yes)、CPU31は次にステップS104を実行する。動画配信の要求でない場合(No)、CPU31は次にステップS114を実行する。
ステップS104:CPU31は、要求応答部120に要求の具体的な指定内容(配信すべき動画、調整履歴の配信指定、端末情報等)を確認させる。
ステップS106:CPU31は、動画配信部122に要求で指定された動画のビットストリームに加え、その構成情報を動画格納部110から取得させる。
ステップS108:CPU31は、要求応答部120に動画配信の要求とともに調整履歴の配信が指定されているか否かを確認させる。調整履歴の指定がある場合(No)、CPU31は次にステップS110を実行する。調整履歴の指定がない場合(Yes)、CPU31は次にステップS112を実行する。
ステップS110:CPU31は、調整履歴入出力部126に動画配信の要求とともに配信指定された調整履歴を調整履歴格納部112から取得させる。
ステップS112:CPU31は、要求応答部120にこれまでのステップで取得されたデータ、すなわち動画のビットストリーム及びその構成情報、調整履歴(指定された場合のみ)と、UI提供部124により提供される再生制御用のユーザインタフェースを、要求送信元のユーザ端末50に送信させる。
ステップS114:CPU31は、要求応答部120にステップS100で受信した要求が調整履歴の記録の要求であるか否かを確認させる。調整履歴の記録の要求である場合(Yes)、CPU31は次にステップS116を実行する。調整履歴の記録の要求でない場合(No)、CPU31は次にステップS120を実行する。
ステップS116:CPU31は、ユーザ認証部128に要求送信元のユーザ端末50を利用しているユーザが現在のセッションにおいて既に認証済みであるか否かを確認させる。ユーザ認証済みである場合(Yes)、CPU31は次にステップS118を実行する。ユーザ認証済みでない場合(No)、CPU31は次にステップS120を実行する。
ステップS118:CPU31は、調整履歴入出力部126に調整履歴記録処理を実行させる。調整履歴記録処理では、ユーザ端末50から送信された調整履歴が調整履歴格納部112に格納される。
ステップS120:CPU31は、ユーザ認証部128にユーザ認証処理を実行させる。ユーザ認証処理では、ユーザ端末50から送信された認証情報がユーザ情報格納部114に照会され、その正当性がチェックされる。
以上の処理を終えると、クライアント側(ユーザ端末50)から送信された1つの要求に対しサーバ側(配信サーバ40及びデータベースサーバ30)で実行される要求応答処理が終了する。要求応答処理は、動画配信システム100のサービス起動に伴って実行が開始され、サービスが停止されるまで継続される。
〔クライアント側での処理〕
図11及び図12は、クライアント側で実行される処理の手順例を示すフローチャートである。これらのフローチャートに示される各ステップは、動画配信システム100がクライアント側に有する各機能部130〜148により実行されるが、各機能部を動作させる主体はこれらが実装されるユーザ端末50のCPU51である。つまり、CPU51が各ステップを各機能部に実行させることにより、動画配信システム100がクライアント側で機能する。
図11中(A)は、動画受信再生処理の手順例を示すフローチャートである。動画受信再生処理は、ユーザ端末50によりなされた動画配信要求への応答として配信サーバ40から配信されるデータに対しCPU51が実行する処理である。
ステップS200:CPU51は、受信部132に配信サーバ40から配信されたデータを受信させる。
ステップS202:CPU51は、受信部132にステップS200で受信したデータに調整履歴が含まれるか否かを確認させる。調整履歴が含まれない場合(Yes)、CPU51は次にステップS206を実行する。調整履歴が含まれる場合(No)、CPU51は次にステップS204を実行する。
ステップS206:CPU51は、復号部134に前ステップS200で受信したデータのうち動画のビットストリームを復号させる。
ステップS208:CPU51は、再生部136にステップS202で復号された動画を再生させ、復号された映像及び音声を映像出力部138及び音声出力部139にそれぞれ出力させる。
ステップS204:CPU51は、調整再現部142に調整履歴を利用するための事前準備として一時データベースを作成させ、ステップS200で受信した調整履歴を一時データベース上に展開する。
図11中(B)は、動画再生処理の手順例を示すフローチャートである。動画再生処理は、動画の再生を開始してから終了するまでの間、CPU51が継続して実行する処理である。
ステップS220:CPU51は、出力調整部144に出力調整処理を実行させる。この処理において、映像又は音声の出力調整がなされた場合は、この出力調整が反映された新たな出力態様が決定される。
ステップS222:CPU51は、再生部136に映像及び音声を映像出力部138及び音声出力部139にそれぞれ出力させて動画を再生する。このとき、前ステップS220により新たなに決定された出力態様が返された場合は、CPU51は再生部136にこの出力態様に沿って映像及び音声を出力させる。一方、前ステップS220により新たな出力態様が返されなかった場合は、出力調整がなされていない(出力態様が変更されていない)ため、CPU51は再生部136に直前と同じ出力態様のままで映像及び音声を出力させる。
ステップS224:CPU51は、再生部136に動画の再生が終了したか否かを確認する。再生が終了した場合(Yes)、CPU51は動画再生処理を終了する。再生が終了していない場合(No)、CPU51は最初のステップS220に戻ってこれ以降の処理を繰り返し実行する。
図12は、出力調整処理の手順例を示すフローチャートである。出力調整処理は、動画の再生に伴い映像及び音声の出力を調整するためにCPU51が実行する処理である。
ステップS240:CPU51は、操作受付部140に映像又は音声の出力調整に関する操作を検知したか(受け付けたか)を確認させる。操作を検知した場合(Yes)、CPU51は次にステップS242を実行する。操作を検知していない場合(No)、CPU51は次にステップS248を実行する。
ステップS242:CPU51は、操作受付部140に前ステップS210で受け付けた操作に応じた出力調整を出力調整部144に対し指示させる。
ステップS244:CPU51は、一時記録部145に一時データベースが作成されているかを確認させる。一時データベースが作成されている場合(Yes)、CPU51は次にステップS246を実行する。一時データベースが作成されていない場合(No)、CPU51は次にステップS252を実行する。
ステップS246:CPU51は、一時記録部145にステップS242で反映させた出力調整の内容を一時データベースに追記させる。
ステップS248:CPU51は、調整再現部142に現在の再生時間に対応する調整履歴が存在するかを確認させる。調整履歴が存在する場合(Yes)、CPU51は次にステップS250を実行する。調整履歴が存在しない場合(No)、何も実行せずに動画再生処理(図11中(B))に復帰する。
ステップS250:CPU51は、調整再現部142に前ステップS248で確認した調整履歴に記録されている出力調整を出力調整部144に対し指示させる。
ステップS252:CPU51は、出力調整部144にステップS242又はステップS250で指示された出力調整を現在の出力態様に反映させ、新たな出力態様を決定させる。以上の処理を終えると、CPU51は、ステップS252で決定された新たな出力態様を出力調整処理の呼び出し元である図11中(B)のステップS220に返し、動画再生処理に復帰する。
一方、出力調整に関する操作がなされず(ステップS240:No)、再現すべき調整履歴も存在しない場合(ステップS244:No)、CPU51は呼び出し元に何も返さずに動画再生処理に復帰する。
なお、本実施形態においては、調整履歴に記録された出力調整を再現しながら動画を再生している間に操作受付部140が出力調整に関わるユーザの操作を受け付けた場合には、出力調整部144は、ユーザの操作に基づく出力調整を優先して処理する。
例えば、動画の再生を開始してから10分後に初めて、ユーザが操作メニュー140に設けられた出力調整用の操作部品のうち何れか(例えば、拡大ボタン152)を操作した場合を想定する。このとき、出力調整部144は、調整再現部142によりなされる調整履歴に基づく指示を無視して操作受付部140が受け付けたユーザの操作に基づく指示を優先し、ユーザの操作に対応付けられた出力調整を反映させる(例えば、主映像表示エリアに表示された映像を拡大表示させる。)。したがって、この場合は、動画が再生開始から10分までは調整履歴に記録された通りに出力態様が再現された状態で再生され、再生開始から10分後以降はユーザの操作により操作メニュー140を介してなされる出力調整が反映された状態で再生されることとなる。
なお、このようにしてユーザの操作による割込みが発生した場合に、割込みにより生じる作用の有効期間、すなわち調整履歴に基づく出力調整を行わない期間を一時的なものとするか、再生終了までとするかは、システムの要件等に応じて適宜選択可能である。例えば、ユーザの操作が割り込んでから一定の期間(例えば、3分間)継続してユーザの操作が一切なされなかった場合に、再び調整履歴に基づく出力調整を行って動画を再生するように実装してもよい。
図13は、調整履歴データの具体例を示す図である。図13中(A)はヘッダ情報テーブルの一例を示しており、図13中(B)は調整履歴テーブルの一例を示している。
これらのテーブルはいずれも、ユーザによる調整記録ボタン180の選択を契機として作成される。このうち、ヘッダ情報テーブルは、調整履歴の記録に関する管理情報を記録するテーブルであり、動画配信システム100におけるセッションID、現在のユーザを識別するユーザID、調整履歴が記録される動画(再生中の動画)を識別する動画IDとともに、調整履歴の記録日とその開始日時が記録される。
また、調整履歴テーブルは、動画の再生中に映像又は音声の出力に関してなされた調整内容の詳細を記録するテーブルであり、操作メニュー140に設けられた出力調整用の各操作部品に内部的な割り当てられた部品ID、その操作部品のパラメータとともに、出力調整がなされた再生タイムライン上での時刻がミリ秒単位で記録される。ここでいうパラメータとは、各操作部品に対し予め定められた数値に対応する操作量である。
例えば、図13中(B)の1レコード目には、調整時刻「00:10:04.236」に対し、部品ID「005」、パラメータ「3」と記録されている。部品ID「005」は拡大ボタン152に割り当てられており、パラメータ「3」は拡大ボタン152が連続して3回(或はこれに相当する時間継続して)選択されたことを示す数値である。したがって、1レコード目に記録された調整履歴に基づいて出力調整が再現された場合、動画ID「5618」で識別される動画の再生が開始されてから00:10:04.236のタイミングで、主映像表示エリア150に表示されている映像が3段階拡大した状態で表示されることとなる。
また2レコード目には、調整時刻「00:11:35.001」に対し、部品ID「011」、パラメータ「15」と記録されている。部品ID「011」は音量スライダ162aに割り当てられており、パラメータ「16」は音量スライダ162aが15メモリ目にスライドされたことを示す数値である。したがって、2レコード目に記録された調整履歴に基づいて出力調整が再現された場合、動画ID「5618」で識別される動画の再生が開始されてから00:11:35.001のタイミングで、音声1が15メモリ目に相当する音量で他の音声2〜4とミックスされ出力されることとなる。
図14は、動画配信システム100を利用して動画を視聴し調整履歴を記録する際の動作例を示すシーケンス図である。コンピュータ間でパケットを送受信する際に事前に行われるプロトコルのネゴシエーションやセッション確立に相当するステップについては一般的事項であるため記載を省略する。また、説明の便宜のため、ここではユーザ端末50が無料動画の配信を要求することとする。以下、動作例に沿って説明する。
ユーザAがユーザ端末50でウェブブラウザを起動して動画配信システム100の配信メニューURLにアクセスし(S11)、表示された配信動画リストの中から視聴したい動画を選択すると、ユーザ端末50はこれを契機として配信サーバ40に対し選択した動画の配信要求を送信する(S12)。これを配信サーバ40が受信し、要求の内容を確認する(S13)。そして、動画データベース32を参照して(S14)要求された動画のビットストリームやその構成情報を取得し(S15)、再生制御用のユーザインタフェースとともに要求元のユーザ端末50に配信する(S16)。
ユーザ端末50は、配信された動画のビットストリームを復号し、復号された映像及び音声を再生制御用のユーザインタフェースを介して出力させて動画を再生する(S17)。ここで、ユーザAが操作メニュー140に設けられた調整記録ボタン180を選択すると、ユーザ端末50はこの操作を検知し(S18)、ローカルディスク上に一時データベースを作成して出力調整の記録を開始する(S18a)。動画の再生中にユーザAが操作メニュー140で映像又は音声の出力調整に関する操作を行うと、ユーザ端末50はこの操作を検知し(S19)、操作に対応付けられた出力調整を行うと同時に(S20)、その出力調整の内容を一時データベースに調整履歴として追記する(S21)。その後もユーザAが何らかの操作を行う毎に、ユーザ端末50は上述したS19〜S21の処理を繰り返す。
動画の再生終了後に、ユーザAが再び調整記録ボタン180を選択すると、ユーザ端末50はこれを契機として配信サーバ40に対し調整履歴の記録要求を送信する(S22)。これを配信サーバ40が受信し、要求の内容を確認する(S23)。調整履歴を記録するにはユーザの識別が必要となるため、配信サーバ40は現在のセッション状態からこの要求を送信したユーザが認証済みであるか否かを確認する(S24)。その結果、ユーザが未認証(匿名アクセス)状態であることが判ると、ユーザ端末50に対し認証情報を要求する(S25)。この要求に応じユーザAが認証情報を入力して送信すると(S26)、配信サーバ40がこれを受信し(S27)、ユーザマスタ36に照会して認証情報の正当性を確認する(S28)。認証情報が正当なものであれば認証処理が正常に完了し(S29)、配信サーバ40はユーザ端末50に対しその旨を通知する(S30)。これを受け、ユーザ端末50は配信サーバ40に対し一時データに記録された調整履歴を送信すると(S31)、配信サーバ40がこれを受信し(S32)、履歴データベース34に格納する(S33)。調整履歴が正常に格納されると(S34)、配信サーバ40はユーザ端末50に対しその旨を通知する(S35)。
図15は、動画配信システム100を利用してユーザBが他のユーザ、例えば友人のユーザAによりなされた出力調整を再現しながら動画の視聴を行う際の動作例を示すシーケンス図である。説明の便宜のため、ここでは他のユーザから案内された動画が無料動画である場合を想定することとする。以下、動作例に沿って説明する。
ユーザBがユーザ端末50でユーザAから電子メールを受信する。この電子メールの本文にはユーザAの嗜好に合わせて出力調整を行った動画を視聴できるURLが案内されている。ユーザBがこのURLを選択すると、ユーザ端末50はウェブブラウザが起動させてこのURLにアクセスすると同時に、配信サーバ40に対しURLで指定された動画の配信要求を送信する(S51)。これを配信サーバ40が受信し、動画とともにユーザAにより記録された調整履歴の配信が要求されていることを確認する(S52)。そこで、まず動画データベース32を参照して(S53)要求された動画のビットストリームやその構成情報を取得し(S54)、さらに履歴データベース34を参照して(S55)要求された動画に対応するユーザAの調整履歴データを取得する(S56)。配信サーバ40は、取得したこれらのデータを再生制御用のユーザインタフェースとともにユーザ端末50に配信する(S57)。
ユーザ端末50は、まず配信された調整履歴をローカルの一時データベースに展開する(S58)。その上で、ユーザ端末50は、配信された動画のビットストリームを復号し、一時データベースを参照しながら調整履歴に記録された出力態様で映像と音声を再生制御用のユーザインタフェースを介して出力させて動画を再生する(S59)。これにより、ユーザAがこの動画を視聴した際に行ったのと同じ出力調整が再現される。つまり、ユーザBは、操作メニュー140を一切操作することなく、ユーザAと全く同じ状態でこの動画を視聴することができる。
動画の再生中に、ユーザBが操作メニュー140で映像又は音声の出力調整に関する操作を行うと、ユーザ端末50はこの操作を検知し(S60)、操作に対応付けられた出力調整を行うと同時に(S61)、その出力調整の内容を一時データベースに調整履歴として追記する(S62)。これ以降は、ユーザAの調整履歴に記録された出力調整は再現されず、ユーザBが操作メニュー140で行う操作に基づいて出力調整がなされる。
動画の再生終了後に、ユーザBが調整記録ボタン180を選択すると、ユーザ端末はこれを契機として配信サーバに対し調整履歴の記録要求を送信する(S63)。これを配信サーバ40が受信して要求の内容を確認し(S64)、現在のセッション状態からこの要求を送信したユーザが認証済みであるか否かを確認する(S65)。これ以降は、図12に示したシーケンス図の流れと同様に、配信サーバ40がユーザ認証を行い調整履歴の記録を行うユーザを識別した上で、調整履歴データを受け付けて履歴データベース34に格納することとなる。
〔第2実施形態:ライブ配信〕
図16は、異なる実施形態の動画配信システム200が動作する環境の構成図である。第2実施形態としての動画配信システム200は、動画のライブ配信を想定した環境であり、上述した第1実施形態とはデータベースサーバ30が介在しない点で異なっている。
動画配信システム200において配信対象となる動画を構成する映像及び音声は、撮影及び集音と同時に合成多重化装置10に入力される。合成多重化装置10で映像の合成と音声の多重化がなされると、生成された各1本の映像・音声信号が符号化装置20に入力され、これらがリアルタイムで符号化される。符号化装置20で符号化されたビットストリームは、配信サーバ40に直接送信される。配信サーバ40に送信されたビットストリームは、逐次、ユーザ端末50に対し配信される。
このように、動画配信システム200においては、符号化装置20で符号化された動画のビットストリームがデータベースサーバ30に蓄積されない。また、配信サーバ40は、リアルタイムで合成多重化され符号化された動画のビットストリームを、ユーザ端末50に配信する。
〔第3実施形態:ハイブリッドキャスト〕
図17、異なる実施形態の動画配信システム300が動作する環境の構成図である。第3実施形態としての動画配信システム300は、ハイブリッドキャストを想定した環境である。動画配信システム300は、第1実施形態とは異なり、動画やこれに付随するデータ等をユーザ端末に配信するための手段(放送装置42、データ配信サーバ44)が複数に分かれている。
動画配信システム300において配信される動画は、放送局に設置された放送装置42から出力され、放送波として、電波塔80を経由しインターネット対応テレビ55(テレビ電波受信機としてのユーザ端末)に送信される。また、放送装置42から送信される動画に付随するデータ等(例えば、動画の構成情報、ユーザインタフェース等)は、放送局又はサービス事業者等に設置されたデータ配信サーバ44から、インターネット70を経由しインターネット対応テレビ55(通信機器としてのユーザ端末)に送信される。
このように、動画配信システム300においては、放送と通信を利用して配信を行う。また、インターネット対応テレビ55(以下、「テレビ55」と略称する。)は、これら2つの経路から動画及びこれに付随するデータ等を受信し、テレビ55の画面上に展開されたユーザインタフェースを介して動画の再生を実現させる。
さらに、家庭内ネットワーク等を介しテレビ55に接続されたデバイス55aが、テレビ55とのペアリング設定がなされており、テレビ55に送信される動画に連動したアプリが予めインストールされている場合、動画配信システム300はデバイス55aを補助的に機能させることができる。このとき、デバイス55aは、データ配信サーバ44から配信されたデータをテレビ55から必要に応じて受信し、例えば自身のディスプレイ上にユーザインタフェースを展開させてテレビ55を操作することが可能となる。
なお、図17に示されるように、本実施形態においては放送装置42とデータ配信サーバ44がいずれもデータベースサーバ30に接続されており、テレビ55に配信する動画及び付随するデータを同じサーバから取得する構成としたが、動画データベース32とその他のデータベース34,36は異なるサーバ上に配置してもよい。つまり、放送装置42とデータ配信サーバ44とは、同一のサーバに接続されている必要はなく、利用環境に応じて適宜変更可能である。また、ハイブリッドキャストでの配信においても、第2実施形態の環境と同様に、データベースサーバ30を介することなく動画をリアルタイムでライブ配信することも可能である。
本発明は、上述した実施形態に制約されることなく、種々に変形して実施することが可能である。
例えば、上述した実施形態においては、動画配信システム100で用いられる各データベース32,34,26をデータベースサーバ30に設け、配信サーバ40とは異なるサーバ上で管理しているが、この形態に限定されず、運用環境に応じ最適な形態を採ることが可能である。例えば、各データベース32,34,26を全て配信サーバ40内に同居させてもよいし、一部のデータベースを適宜用途の異なるサーバ上に配置してもよい。こうすることにより、サーバの運用コストを抑制することが可能となる。
また、操作メニュー140において、6種類のエフェクト選択ボタン168〜178、4種類の報知ツール起動ボタン190〜196を設けているが、これらはあくまで例示であり、更に異なる種類のボタンを追加してもよい。
調整履歴の記録に関しては、通信の遅延等による動画再生への影響を避けるため、一旦ローカルの一時データベースに蓄積した上で、動画の再生終了後に調整記録ボタン180が選択されるのを契機としてサーバ側に記録させる形態としている。ネットワークの帯域等を考慮し、動画再生への深刻な影響が生じない場合には、ローカルの記録を経由せずその都度サーバ側に直接記録させるよう実装することも可能である。
また、調整履歴は各ユーザが1つの動画に対して1パターンのみ記録可能とし、この動画に対する調整履歴のサーバ側への記録を複数回実行した場合には直近の調整履歴を残す形態としているが、各回の調整履歴を残ることができる形態としてもよい。このような形態とする場合には、操作メニュー140をこれに応じて適宜変更しつつ、サーバ側に記録された各回の調整履歴には各々を識別可能な情報を割り当てる。ユーザによる出力調整を反映させた動画を視聴できるURLを報知部148が生成する際には、動画と出力調整を行ったユーザに加え、どの回の出力調整を利用させるのかを識別可能な情報(例えば、動画IDとユーザIDと回数ID)をクエリとして指定したURLを報知ツールの本文にセットするよう実装すればよい。