(57)【要約】【課題】低遅延での映像伝送及び切換えを帯域に負荷をかけず行うことのできるプログラム等を提供する。【解決手段】第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信する処理と、第１ストリーミングデータを受信する処理と、第１ストリーミングデータから第１映像を復号する処理と、第１映像を表示装置に表示させる処理と、表示映像を第１映像から第２映像へ切り換えるための切換指示の入力に応じて、第２映像に関する第２ストリーミングデータの送信要求をサーバへ送信する処理と、第２ストリーミングデータを受信する処理と、第２ストリーミングデータから第２映像を復号する処理と、第２映像におけるキーフレームが検出されると、表示映像を第２映像へ切り換える処理とを実行させる。【選択図】図４
2018207153.tif 000002
【特許請求の範囲】
【請求項１】
第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信する第１要求処理と、
前記第１ストリーミングデータを受信する第１受信処理と、
前記第１ストリーミングデータから前記第１映像を復号する第１復号処理と、
前記第１映像を表示装置に表示させる表示制御処理と、
前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信する第２要求処理と、
前記第２ストリーミングデータを受信する第２受信処理と、
前記第２ストリーミングデータから前記第２映像を復号する第２復号処理と、
前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換える切換処理と
をコンピュータに実行させるためのプログラム。
【請求項２】
前記第２映像におけるキーフレームの検出に伴い、前記第１ストリーミングデータの送信停止要求を前記サーバへ送信する第３要求処理
を更にコンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
前記第１要求処理は、前記第１ストリーミングデータの送信停止要求の送信まで、所定の間隔で前記第１ストリーミングデータの送信を前記サーバへ要求する、
請求項１又は請求項２記載のプログラム。
【請求項４】
前記第１要求処理は、前記切換指示の入力まで、所定の間隔で前記第１ストリーミングデータの送信要求を前記サーバへ送信する、
請求項１又は請求項２記載のプログラム。
【請求項５】
前記第１ストリーミングデータ及び前記第２ストリーミングデータは、同一の暗号鍵で復号可能である、
請求項１乃至請求項４のいずれか１項記載のプログラム。
【請求項６】
第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信する第１要求手段と、
前記第１ストリーミングデータを受信する第１受信手段と、
前記第１ストリーミングデータから前記第１映像を復号する第１復号手段と、
前記第１映像を表示装置に表示させる表示制御手段と、
前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信する第２要求手段と、
前記第２ストリーミングデータを受信する第２受信手段と、
前記第２ストリーミングデータから前記第２映像を復号する第２復号手段と、
前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換える切換手段と
を備える情報処理装置。
【請求項７】
第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信するステップと、
前記第１ストリーミングデータを受信するステップと、
前記第１ストリーミングデータから前記第１映像を復号するステップと、
前記第１映像を表示装置に表示させるステップと、
前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信するステップと、
前記第２ストリーミングデータを受信するステップと、
前記第２ストリーミングデータから前記第２映像を復号するステップと、
前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換えるステップと
を情報処理装置が行う情報処理方法。
【請求項８】
第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信する第１受信手段と、
前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信する第１送信手段と、
前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信する第２受信手段と、
前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信する第２送信手段と
を備える情報処理装置。
【請求項９】
前記ユーザ端末からの前記第１ストリーミングデータの送信停止要求に応じて、前記第１ストリーミングデータの前記ユーザ端末への送信を停止する手段
を更に備える請求項８記載の情報処理装置。
【請求項１０】
前記第１ストリーミングデータの送信開始後、一定時間、前記第１ストリーミングデータの送信要求を前記ユーザ端末から受信しなかった場合に、前記第１ストリーミングデータの前記ユーザ端末への送信を停止する、
請求項８記載の情報処理装置。
【請求項１１】
前記第１送信手段及び前記第２送信手段は、同一の暗号鍵で前記第１ストリーミングデータ及び前記第２ストリーミングデータを暗号化する、
請求項８乃至請求項１０のいずれか１項記載の情報処理装置。
【請求項１２】
第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信するステップと、
前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信するステップと、
前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信するステップと、
前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信するステップと
を情報処理装置が行う情報処理方法。
【請求項１３】
第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信する処理と、
前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信する処理と、
前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信する処理と、
前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信する処理と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、映像や音声を含むストリーミングデータを複数チャネル間でユーザが切り換えて視聴することができるシステムが考えられている（例えば特許文献１）。例えば特許文献１には、メディアコンテンツのなめらかなデータストリーム切り換えを実行する方法等が開示されている。
【０００３】
ここで、例えばスポーツの競技場やライブ会場等のユーザが参加する何らかのイベントの会場（以下、総称してイベント会場という。）において、自身の座席や立ち位置からの視点とは異なる位置からの映像等を確認するために、ユーザの所有する携帯電話（いわゆるスマートフォンであるかフィーチャーフォンであるかを問わない）等を用いて、会場内に設置された複数のカメラからの映像を適宜切り換えながらリアルタイムで視聴したいという要求がある。このようなイベント会場でのリアルタイムでの視聴を考える場合には、ユーザが自身の目等で直接体験するイベントの進行状態と、ユーザ端末上で表示される映像との間の遅延や、映像切換え時の遅延等を、極力小さく抑えることが望ましい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−００５７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１には、ストリームのなめらかな切り換えについては考慮されているものの、リアルタイム性を確保する点については何ら考慮されていない。
【０００６】
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、低遅延での映像伝送及び切換えを帯域に負荷をかけず行うことのできる情報処理装置、情報処理方法、及びプログラムを提供することを提供することを目的の１つとする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るプログラムは、第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信する第１要求処理と、前記第１ストリーミングデータを受信する第１受信処理と、前記第１ストリーミングデータから前記第１映像を復号する第１復号処理と、前記第１映像を表示装置に表示させる表示制御処理と、前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信する第２要求処理と、前記第２ストリーミングデータを受信する第２受信処理と、前記第２ストリーミングデータから前記第２映像を復号する第２復号処理と、前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換える切換処理とをコンピュータに実行させる。
【０００８】
本発明の一態様に係る情報処理装置は、第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信する第１要求手段と、前記第１ストリーミングデータを受信する第１受信手段と、前記第１ストリーミングデータから前記第１映像を復号する第１復号手段と、前記第１映像を表示装置に表示させる表示制御手段と、前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信する第２要求手段と、
前記第２ストリーミングデータを受信する第２受信手段と、前記第２ストリーミングデータから前記第２映像を復号する第２復号手段と、前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換える切換手段とを備える。
【０００９】
本発明の一態様に係る情報処理方法は、第１映像に関する第１ストリーミングデータの送信要求をサーバへ送信するステップと、前記第１ストリーミングデータを受信するステップと、前記第１ストリーミングデータから前記第１映像を復号するステップと、前記第１映像を表示装置に表示させるステップと、前記表示装置の表示映像を前記第１映像から第２映像へ切り換えるための切換指示の入力に応じて、前記第２映像に関する第２ストリーミングデータの送信要求を前記サーバへ送信するステップと、前記第２ストリーミングデータを受信するステップと、前記第２ストリーミングデータから前記第２映像を復号するステップと、前記第２映像におけるキーフレームが検出されると、前記表示装置に表示させる表示映像を前記第２映像へ切り換えるステップとを情報処理装置が行う。
【００１０】
本発明の一態様に係る情報処理装置は、第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信する第１受信手段と、前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信する第１送信手段と、前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信する第２受信手段と、前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信する第２送信手段とを備える。
【００１１】
本発明の一態様に係る情報処理方法は、第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信するステップと、前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信するステップと、前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信するステップと、前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信するステップとを情報処理装置が行う。
【００１２】
本発明の一態様に係るプログラムは、第１映像に関する第１ストリーミングデータの送信要求をユーザ端末から受信する処理と、前記第１ストリーミングデータの送信要求に応じて、前記第１ストリーミングデータを前記ユーザ端末へ送信する処理と、前記第１ストリーミングデータの前記ユーザ端末への送信開始後、第２映像に関する第２ストリーミングデータの送信要求を前記ユーザ端末から受信する処理と、前記第２ストリーミングデータの送信要求に応じて、前記第２ストリーミングデータを、前記第１ストリーミングデータとともに前記ユーザ端末へ送信する処理とをコンピュータに実行させる。
【００１３】
なお、本発明において、「部」や「手段」、「装置」、「システム」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」、「システム」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や「手段」、「装置」、「システム」が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や「手段」、「装置」、「システム」の機能が１つの物理的手段や装置により実現されても良い。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】映像配信方法の第１例を説明するための図である。
【図３】映像配信方法の第２例を説明するための図である。
【図４】映像配信方法の第３例を説明するための図である。
【図５】図１に示した映像配信サーバの機能構成を示す図である。
【図６】図１に示したユーザ端末の機能構成を示す図である。
【図７】図５に示した映像配信サーバの処理の流れを示すフローチャートである。
【図８】図６に示したユーザ端末の処理の流れを示すフローチャートである。
【図９】図５に示した映像配信サーバ、及び図６に示したユーザ端末のハードウェア構成の具体例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１６】
［実施形態］
［１  概要］
［１．１  システム構成］
本実施形態に係る情報処理システム１は、例えばスポーツの競技場やライブ会場等の、ユーザが参加する何らかのイベントの会場（以下、総称してイベント会場という。）において、自身の座席や立ち位置からの視点とは異なる位置からの映像等を確認するために、ユーザの所有する携帯電話（いわゆるスマートフォンであるかフィーチャーフォンであるかを問わない）等を用いて、会場内に設置された複数のカメラで撮影されたライブ映像を適宜切り換えながらリアルタイムで視聴可能とするためのものである。
【００１７】
図１を参照しながら、本実施形態に係る情報処理システム１の構成について説明する。情報処理システム１は、映像配信サーバ１００と、例えばスマートフォン等の携帯電話や可搬性のタブレット型端末等の端末である１以上のユーザ端末２００とから構成される。映像配信サーバ１００は、イベント会場等やその近辺等に設置された撮像装置であるカメラＣ１乃至Ｃｎ（以下、総称して「カメラＣ」という。）で撮影された映像を、ネットワークＮを介してユーザ端末２００ａ乃至２００ｍ（以下、総称して「ユーザ端末２００」という。）へ配信する。ユーザ端末２００は、例えば、イベント会場にいるユーザＵａ乃至Ｕｍ（以下、総称して「ユーザＵ」という。）がそれぞれ所持する携帯電話やタブレット型端末等の情報処理端末である。ユーザＵは、ユーザ端末２００の表示部に表示されるライブ映像を、映像ソース（例えばカメラＣ）を適宜操作に応じて切り換えながら視聴することが可能である。
【００１８】
ネットワークＮは、映像配信サーバ１００と、１以上のユーザ端末２００とを相互に通信可能とするための、例えばＩＰ通信網等である。ネットワークＮは、相互に通信可能な複数の通信方式のネットワークの組み合わせにより構成されても良い。
【００１９】
ここで、イベント会場においてユーザＵが、他の視点からのリアルタイムの映像をユーザ端末２００上で視聴することを考えると、ユーザＵが自身の目等で直接体験するイベントの進行状態と、ユーザ端末上で再生される映像（音声を含み得る）との間の遅延（ディレイ）ができる限り小さいことが求められる。そこで本実施形態における情報処理システム１では、映像配信サーバ１００からユーザ端末２００への映像の配信は、データの完全性や信頼性を保証しないが遅延の小さいＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）により行われる。ＵＤＰによる映像配信において、映像配信サーバ１００からユーザ端末２００へのデータパケットが送信された際、ユーザ端末２００は映像配信サーバ１００に対する確認応答を行わない。
【００２０】
［１．２  映像配信方法］
以下、図２乃至図４を参照しながら、映像配信サーバ１００からユーザ端末２００への映像配信方法の例について説明する。なお、図２乃至図４の例において、ユーザＵはまずカメラＡの映像の視聴を開始し、その後、カメラＢの映像への切り換え操作を行うものとする。また以下の説明において、映像配信サーバ１００とユーザ端末２００との間の伝送にかかる時間は考慮していない。よって、時刻Ｔにおいて映像配信サーバ１００から送信された映像データは、同じく時刻Ｔにおいてユーザ端末２００が受信するものとして説明する。
【００２１】
［１．２．１  第１例］
まず、図２を参照しながら映像配信サーバ１００からユーザ端末２００への映像配信方法の第１例について説明する。第１例は、映像配信サーバ１００からユーザ端末２００への映像ストリーミングデータの配信が１チャネルでなされる。
【００２２】
ユーザＵが、例えばユーザ端末２００上の所定のアプリケーションプログラム（以下、「アプリ」ともいう。）を起動させ、カメラＡからの映像の視聴を行うための操作を行うと、ユーザ端末２００の当該アプリは、時刻Ｔ０１において、映像配信サーバ１００に対しカメラＡの映像データの送信を要求する（Ｓ２０１）。映像配信サーバ１００は当該映像データの配信要求を受信すると、カメラＡの映像ストリーミングデータの配信を時刻Ｔ０２から開始する（Ｓ２０３）。
【００２３】
ここで、カメラＣにより撮影された映像（フレームの集合）は、逐次符号化されて映像ストリームデータ（以下、単に「映像データ」ともいう。）として映像配信サーバ１００からユーザ端末２００へと配信される。符号化された映像データには、他のフレームを参照することなく単独で復号可能なフレーム（フレーム内予測により符号化されたフレーム）と、他のフレームを参照して復号されるフレーム（フレーム間予測により符号化されたフレーム）とが含まれる。フレーム間予測により符号化されたフレームは、参照先のフレームが復号されない限り復号することはできない。単独で復号可能なフレームを、ここでは「キーフレーム」といい、図２乃至図４において「Ａｋ」「Ｂｋ」として示す（「Ａｋ」はカメラＡからの映像のキーフレーム、「Ｂｋ」はカメラＢからの映像のキーフレーム）。復号に際し他のフレームへの参照が必要なその他のフレームは、図２乃至図４において「Ａ」「Ｂ」として示す（同じく「Ａ」はカメラＡからの映像のフレーム、「Ｂ」はカメラＢからの映像のフレーム）。キーフレームは、設計に応じてその間隔が設定されるが、通常は数秒程度に１枚程度の割合で含まれる。
【００２４】
ユーザ端末２００は、時刻Ｔ０２からカメラＡの映像データの受信を開始するが、通常、最初に受信するフレームはキーフレームＡｋではないため、キーフレームＡｋを受信する時刻Ｔ０３までは映像を復号することができない。つまりユーザ端末２００は、キーフレームＡｋの受信後、カメラＡにかかる映像の再生／表示を開始することができる。
【００２５】
その後、映像配信サーバ１００は、カメラＡで撮影された映像にかかる映像ストリーミングデータを、ＵＤＰにてユーザ端末２００へ送信し続ける。しかしながらＵＤＰではユーザ端末２００から受信確認応答を行わないため、ユーザ端末２００が映像データを適切に受信しているか否かを確認することができない。そこで本実施形態では、ユーザ端末２００は、映像データが不要になるまでの間、一定時間ごと（例えば５秒間隔）に映像配信サーバ１００に対して映像データの配信要求を出し続ける（Ｓ２０５、Ｓ２０７）。これに対し映像配信サーバ１００では、同じユーザ端末２００から、例えば１２秒以上など一定時間映像データの配信要求を受信しない場合には、映像データの配信を停止する。これにより、不要な映像データの配信を避けることができるため、ネットワークＮ上の帯域圧迫の抑制や映像配信サーバ１００の処理負荷の低減を図ることができる。
【００２６】
その後時刻Ｔ０４において、ユーザＵが、カメラＡの映像からカメラＢの映像に表示対象の映像を切り換えるための操作を入力することを考える。この場合、ユーザ端末２００のアプリは、映像配信サーバ１００に対し、カメラＡの映像データの配信停止と、カメラＢの映像データの配信を要求する（Ｓ２０９）。
【００２７】
当該要求を時刻Ｔ０４において受信した映像配信サーバ１００は、カメラＡの映像データの配信を停止する（Ｓ２１１）。その後、映像配信サーバ１００は時刻Ｔ０５から、カメラＢデータの配信を開始する（Ｓ２１３）。
【００２８】
ユーザ端末２００は、時刻Ｔ０５からカメラＢの映像データの受信を開始するが、通常、最初に受信するのはキーフレームＢｋではないため、カメラＢからの映像を再生することはできない。ユーザ端末２００は、キーフレームＢｋを受信する時刻Ｔ０６からカメラＢの映像の再生及び表示が可能となる。つまり、ユーザＵが映像の切り換え操作を行った際には、時刻Ｔ０４から時刻Ｔ０６までの間、映像が表示されない。
【００２９】
一方、先述の通り、映像配信サーバ１００からユーザ端末２００への映像ストリーミングデータの配信は１チャネルしか使用しないため、ネットワーク帯域の圧迫は後述の第２例よりも小さい。
【００３０】
［１．２．２  第２例］
続いて、図３を参照しながら、映像配信サーバ１００からユーザ端末２００への映像配信方法の第２例について説明する。第２例は、映像配信サーバ１００からユーザ端末２００への映像ストリーミングデータの配信が複数チャネルでなされる。
【００３１】
ユーザＵが、例えばユーザ端末２００上の所定のアプリを起動させ、カメラＡからの映像の視聴を行うための操作を行うと、ユーザ端末２００の当該アプリは、時刻Ｔ１において、表示対象であるカメラＡの映像データに加え、表示対象ではないカメラＢを含むすべての映像データの伝送を映像配信サーバ１００に対して要求する（Ｓ３０１）。映像配信サーバ１００は当該映像データの配信要求を受けて、カメラＡの映像ストリーミングデータとカメラＢの映像ストリーミングデータを含む全ての映像ストリーミングデータの配信を時刻Ｔ０２から開始する（Ｓ３０３）。
【００３２】
ユーザ端末２００は、カメラＡの映像ストリーミングデータの受信開始後、キーフレームＡｋを受信した時刻Ｔ０３以降、カメラＡの映像表示を開始する。その後、ユーザ端末２００は、映像配信サーバ１００による映像配信停止を防ぐため、一定時間毎に映像データの配信要求を送信する（Ｓ３０５、Ｓ３０９、Ｓ３１１）。
【００３３】
その後時刻Ｔ０４において、ユーザＵが、カメラＡの映像からカメラＢの映像に表示対象の映像を切り換えるための操作を入力することを考える。第２例においてユーザ端末２００は、カメラＢの映像データを常に受信しているため、映像配信サーバ１００に改めて要求せずとも、カメラＢの映像データにおけるキーフレームＢｋの検出（時刻Ｔ０５）に応じて、表示対象をカメラＢの映像に切り換えることができる。
【００３４】
第２例では、第１例とは異なり、映像が表示されない時間帯の存在を避けることができる。しかしながら、伝送可能な映像ストリームを常にすべて伝送することになるため、ネットワークＮへの負荷が高い。この問題は、映像配信サーバ１００から映像が伝送されるユーザ端末２００の数が多くなると顕著となる。ネットワーク負荷が高まると、映像データが正常に伝送されない等の事態が生じやすくなる。
【００３５】
［１．２．３  第３例（本実施形態）］
以下、図４を参照しながら、映像配信サーバ１００からユーザ端末２００への映像配信方法の第３例について説明する。なお、本例が実施形態にかかる情報処理システム１による映像配信方法である。
【００３６】
ユーザＵが、例えばユーザ端末２００上の所定のアプリを起動させ、カメラＡからの映像の視聴を行うための操作を行うと、ユーザ端末２００の当該アプリは、時刻Ｔ１において、表示対象であるカメラＡの映像データの送信を要求する（Ｓ４０１）。映像配信サーバ１００は当該映像データの配信要求を受信すると、カメラＡの映像ストリーミングデータの配信を時刻Ｔ０２から開始する（Ｓ４０３）。
【００３７】
ユーザ端末２００は、カメラＡの映像ストリーミングデータの受信開始後、キーフレームＡｋを受信した時刻Ｔ３以降、カメラＡにかかる映像表示を開始する。その後、ユーザ端末２００は、映像配信サーバ１００による映像配信停止を防ぐため、一定時間毎にカメラＡの映像データの配信を要求する（Ｓ４０５、Ｓ４０７）。
【００３８】
その後時刻Ｔ０４において、ユーザＵが、カメラＡの映像からカメラＢの映像に表示対象の映像を切り換えるための操作を入力することを考える。この場合、ユーザ端末２００のアプリは、映像配信サーバ１００に対し、カメラＢの映像データの配信開始を要求する（Ｓ４０７）。更にこの後は、カメラＢの映像データの配信要求を、ユーザ端末２００は一定時間毎に映像配信サーバ１００へ送信する（Ｓ４１７）。
【００３９】
なおＳ４０７においてユーザ端末２００は、カメラＡの映像データの送信停止は要求しない。但し、Ｓ４０１、Ｓ４０５及びＳ４０７で送信していた、一定時間毎にカメラＡの映像データの配信要求の送信は停止することも考えられる。この場合には、後述のＳ４１３でカメラＡの映像データの配信停止要求を必ずしも送信しなくとも、カメラＡの映像データの配信は映像配信サーバ１００により停止される。
【００４０】
カメラＢの送信要求を受信した映像配信サーバ１００は、カメラＢの映像データの送信要求の受信に応じて、時刻Ｔ０５からカメラＢの映像ストリーミングデータの送信を開始する（Ｓ４１１）。この時点で、カメラＡの映像ストリーミングデータの伝送は継続される。
【００４１】
ユーザ端末２００は、カメラＢの映像データの受信開始後、キーフレームＢｋの受信後は、カメラＢの映像データの再生が可能となる。よってユーザ端末２００のアプリは、時刻Ｔ０６におけるキーフレームＢｋの検出に応じて、表示対象の映像を、カメラＡの映像からカメラＢの映像に切り換える。またこれとともに、カメラＡの映像が表示対象ではなくなるため、ユーザ端末２００のアプリは、映像配信サーバ１００に対してカメラＡの映像データの配信停止を要求する（Ｓ４１３）。映像配信サーバ１００は当該要求を受信すると、カメラＡの映像データの送信を時刻Ｔ０７において停止する（Ｓ４１５）。
【００４２】
第３例によれば、映像切換え時に、第１例で発生していた映像が表示されない時間帯が生じることはない。加えて、時刻Ｔ０５からＴ０７の間を除き、同時に伝送される映像ストリーム（使用される伝送チャネル数）は１つのみであるため、ネットワークＮへの負荷を低く抑えることができる。これにより、ユーザ端末２００での映像のスムーズな再生等が可能となる。
【００４３】
［２  機能構成］
［２．１  映像配信サーバ１００］
図５に、本実施形態に係る映像配信サーバ１００の機能構成例を示す。図５に示すとおり、映像配信サーバ１００は、機能管理部１０１と、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）処理部１０３と、取得要求分散化部１０５、映像取得部１０７ａ乃至１０７ｎ（以下、総称して「映像取得部１０７」という。）と、データ引渡部１０９と、映像配信部１１１ａ乃至１１１ｐ（以下、総称して「映像配信部１１１」という。）とを含む。
【００４４】
機能管理部１０１は、映像配信サーバ１００を構成する各機能構成を統括管理する。具体的には、各機能構成を実現するプログラムモジュールの起動／呼び出しや各種設定の登録及び変更、使用情報の収集等を機能管理部１０１は行う。
【００４５】
ＨＴＴＰ処理部１０３は、映像配信を要求するためのユーザ端末２００からのＨＴＴＰリクエストに応じた処理を行う。具体的には、例えばＨＴＴＰ処理部１０３は、ユーザ端末２００からの要求に応じて、ユーザ端末２００に表示させる表示画面のレイアウト情報を送信したり、或いは、ユーザ端末２００が映像取得を行うための取得要求分散化部１０５へのアクセス情報等を取得要求分散化部１０５へ送信したりする。
【００４６】
取得要求分散化部１０５は、映像配信部１１１の処理を分散化させるため、映像取得要求を送信してきた各々のユーザ端末２００に対して、どの映像配信部１１１から映像配信を行うかを決めた上で、映像配信部１１１のアドレス情報（例えばＩＰアドレスの情報）をユーザ端末２００に送信する。
映像取得部１０７は、撮像装置であるカメラＣ等の映像ソースから逐次映像を取得する。この際、各々の映像に対して素材ＩＤの設定を行う。
【００４７】
データ引渡部１０９は、映像取得部１０７が取得した各映像素材の集約・複製等を行うことで、各映像配信部１１１が適宜適当な映像データを配信できるようにする。
【００４８】
映像配信部１１１は、取得要求分散化部１０５が通知したＩＰアドレスへのユーザ端末２００からの要求に応じて、ユーザ端末２００から要求された映像データの配信を行う。なお本実施形態において、映像配信部１１１はＵＤＰにより映像データを送信する。また、映像データをユーザ端末２００へ送信している場合であって、当該ユーザ端末２００から映像データの取得要求を一定時間以上受信しない場合には、映像配信部１１１は当該ユーザ端末２００への映像データの送信を停止する。
【００４９】
なお、映像配信部１１１は、映像データを暗号化した上で配信することも考えられる。この場合、ユーザ端末２００へ配信する全ての映像データを、例えば同じ暗号鍵で暗号化することにより、暗号化及びユーザ端末２００上での復号化に係る処理を軽減することができる。
【００５０】
［２．２  ユーザ端末２００］
続いて図６を参照しながら、本実施形態に係るユーザ端末２００の機能構成例について説明する。図６に示すとおり、ユーザ端末２００は、機能管理部２０１と、映像要求処理部２０３と、映像受信部２０５と、デコーダ２０７ａ乃至２０７ｐ（以下、総称して「デコーダ２０７」という。）と、描画バッファ２０９ａ乃至２０９ｐ（以下、総称して「描画バッファ２０９」という。）と、切換部２１１と、表示切換部２１３と、表示処理部２１５とを含む。
【００５１】
機能管理部２０１は、ユーザ端末２００を構成する各機能構成を統括管理する。具体的には、各機能構成を実現するプログラムモジュールの起動／呼び出しや、各種設定の登録及び変更、使用情報の収集等を機能管理部２０１は行う。
【００５２】
映像要求処理部２０３は、映像取得等にかかる映像配信サーバ１００との通信処理を行う。具体的には、映像要求処理部２０３は、映像配信サーバ１００へのＨＴＴＰリクエストを送信してレイアウト情報等を取得するとともに、取得要求分散化部１０５へのアクセス情報等を取得する。更に、実際に映像を受信する映像配信部１１１のアドレス情報（ＩＰアドレス等）を映像配信サーバ１００の取得要求分散化部１０５から取得すると、映像要求処理部２０３は当該アドレス情報を映像受信部２０５に渡し、映像受信部２０５に映像を受信させる。
【００５３】
映像受信部２０５は、映像配信サーバ１００から所望の映像を受信する。この時、例えば２つの映像データ（映像ストリームデータ）を受信している場合には、映像受信部２０５は映像データ毎に異なるデコーダ２０７へデータを渡す。なお、先述の通り、映像配信サーバ１００から配信される映像データは暗号化されていても良い。この場合、映像受信部２０５で受信可能な全ての映像データが同じ暗号鍵で暗号化されていれば、映像受信部２０５での映像データの復号処理の負荷を軽減することができ、この結果、大きな遅延の発生を抑制することができる。
【００５４】
デコーダ２０７は映像受信部２０５から出力された、符号化された映像データを復号（デコード）する。この際、キーフレームが検出された場合には、デコーダ２０７はその旨を切換部２１１へ伝達する。
【００５５】
描画バッファ２０９は、デコーダ２０７が復号した映像の画像フレームを一時的に格納するための記憶領域である。表示切換部２１３により描画バッファ２０９が出力対象となっている場合には、描画バッファ２０９に格納された画像フレームが、順次表示処理部２１５へと出力される。
【００５６】
切換部２１１は、ユーザＵからの操作等に応じ、映像要求処理部２０３に適当な映像データの取得要求を映像要求処理部２０３に送信させる。また切換部２１１は、表示対象とされた映像を復号するデコーダ２０７でのキーフレームの検出に応じ、表示切換部２１３に対して表示対象の映像の切換えを指示する。表示切換部２１３は、切換部２１１からの指示に応じて、どの映像を表示装置への表示対象とするかを切り換える。表示処理部２１５は、表示切換部２１３を介して出力された映像を表示装置に表示させる。
【００５７】
［３  処理の流れ］
以下、図７及び図８を参照しながら、本実施形態に係る情報処理システム１の処理の流れを説明する。なお、図７及び図８の例では、ユーザ端末２００において、ユーザＵが表示対象をカメラＡの映像からカメラＢの映像に切り換える操作を行った場合の処理の流れを説明するが、切換対象の映像は３以上あっても構わない。
【００５８】
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上１つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを１ステップとして実行することもできる。
【００５９】
［３．１  映像配信サーバ１００の処理の流れ］
まず、図７を参照しながら、映像配信の切換えに係る映像配信サーバ１００の処理の流れの具体例を説明する。
【００６０】
カメラＡの映像データの配信要求をユーザ端末２００から受信すると（Ｓ７０１のＹｅｓ）、映像配信サーバ１００の映像配信部１１１は、カメラＡの映像データをユーザ端末２００へ配信する（Ｓ７０３）。
【００６１】
一方、カメラＡの映像データの配信中に、カメラＡの映像データの配信停止要求をユーザ端末２００から受信すると（Ｓ７０５のＹｅｓ）、映像配信部１１１は、カメラＡの映像データのユーザ端末２００への配信を停止する（Ｓ７０７）。また、カメラＡの映像データのユーザ端末２００への配信中に、当該ユーザ端末２００から、カメラＡの映像データの配信要求を一定時間以上（例えば１２秒以上等）受信しなかった場合には（Ｓ７０９のＹｅｓ）、映像配信部１１１は、カメラＡの映像データのユーザ端末２００への配信を停止する（Ｓ７０７）。
【００６２】
また、カメラＢの映像データの配信要求をユーザ端末２００から受信すると（Ｓ７１１のＹｅｓ）、映像配信サーバ１００の映像配信部１１１は、カメラＢの映像データをユーザ端末２００へ配信する（Ｓ７１３）。この時、カメラＡの映像データをユーザ端末２００に配信中だとしても、当該配信は停止しない。
【００６３】
一方、カメラＢの映像データの配信中に、カメラＢの映像データの配信停止要求をユーザ端末２００から受信すると（Ｓ７１３のＹｅｓ）、映像配信部１１１は、カメラＢの映像データのユーザ端末２００への配信を停止する（Ｓ７１５）。また、カメラＢの映像データのユーザ端末２００への配信中に、当該ユーザ端末２００から、カメラＢの映像データの配信要求を一定時間以上（例えば１２秒以上等）受信しなかった場合には（Ｓ７１７のＹｅｓ）、映像配信部１１１は、カメラＢの映像データのユーザ端末２００への配信を停止する（Ｓ７１５）。
映像配信サーバ１００は、ユーザ端末２００への配信中の映像データがあるかぎり（Ｓ７１７のＹｅｓ）、Ｓ７０１乃至Ｓ７１５の処理を繰り返す。
【００６４】
［３．２  ユーザ端末２００の処理の流れ］
次に、図８を参照しながら、映像配信の切換えに係るユーザ端末２００の処理の流れの具体例を説明する。
【００６５】
例えばユーザ端末２００のアプリを起動し、カメラＡの映像を視聴するための操作をユーザＵから受けた場合には、ユーザ端末２００は、映像配信サーバ１００に対してカメラＡ映像データの送信（配信）を要求する（Ｓ８０１）。ユーザ端末２００は、カメラＡの映像データの表示を停止するまで、又は、カメラＢの映像への表示切換えの操作入力を受けるまで（Ｓ８０５のＮｏ）、一定時間経過毎に（Ｓ８０３のＹｅｓ）、カメラＡの映像データの送信を繰り返し要求する（Ｓ８０１）。ユーザ端末２００は、受信した映像データを順次デコーダ２０７でフレームに復号し、描画バッファ２０９に当該フレームが一時記憶された上で、表示処理部２１５は当該フレームを表示順に表示装置に表示させる。
【００６６】
カメラＡの映像の表示中に、カメラＢの映像への切換え操作をユーザＵから受けた場合には（Ｓ８０５のＹｅｓ）、ユーザ端末２００はカメラＢの映像データの送信を映像配信サーバ１００に対して要求する（Ｓ８０７）。なおこの段階では、ユーザ端末２００はカメラＡの映像データの送信停止は要求しない。
【００６７】
その後、映像配信サーバ１００からのカメラＢの映像データの受信が開始すると（Ｓ８０９）、デコーダ２０７は受信した当該カメラＢの映像データを順次復号するとともに、キーフレームに関するものであるかを判別する。カメラＢ映像データの映像におけるキーフレームが検出された場合には（Ｓ８１１のＹｅｓ）、切換部２１１は、表示切換部２１３を切換え、表示対象の映像、すなわち表示処理部２１５へと出力される映像を、カメラＢからの映像に切り換える（Ｓ８１３）。カメラＡの映像が出力対象でなくなると、ユーザ端末２００は映像配信サーバ１００に対し、カメラＡの映像データの配信停止を要求する（Ｓ８１５）。
【００６８】
カメラＢの映像データの受信開始後は、ユーザ端末２００は、カメラＢの映像データの表示を停止するまで、又は、カメラＡ等の他の映像への表示切換えの操作入力を受けるまで、一定時間毎に（Ｓ８１７のＹｅｓ）、カメラＢの映像データの送信を繰り返し要求する（Ｓ８１９）。
ユーザ端末２００は、映像の表示停止作業等を行うと、処理を終了する（Ｓ８２１のＹｅｓ）。
【００６９】
［４  ハードウェア構成］
以下、図９を参照しながら、映像配信サーバ１００及びユーザ端末２００を実装可能なコンピュータ９００のハードウェア構成の具体例を説明する。図９に示すように、コンピュータ９００は、制御部９０１と、通信インタフェース（Ｉ／Ｆ）部９０５と、記憶部９０７と、表示部９１１と、入力部９１３とを含み、各部はバスライン９１５を介して接続される。
【００７０】
制御部９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ。図示せず）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ。図示せず）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３等を含む。制御部９０１は、記憶部９０７に記憶される制御プログラム９０９を実行することにより、一般的なコンピュータとしての機能に加え、上述した映像配信に係る処理を実行可能に構成される。例えば、映像配信サーバ１００を実装する場合には、図５を参照しながら説明した機能管理部１０１、ＨＴＴＰ処理部１０３、取得要求分散化部１０５、映像取得部１０７、データ引渡部１０９、映像配信部１１１は、ＲＡＭ９０３に一時記憶された上で、ＣＰＵ上で動作する制御プログラム９０９として実現可能である。また同様に、ユーザ端末２００を実装する場合には、図６を参照しながら説明した、機能管理部２０１、映像要求処理部２０３、映像受信部２０５、デコーダ２０７、描画バッファ２０９、切換部２１１、表示切換部２１３、及び表示処理部２１５は、ＲＡＭ９０３に一時記憶された上で、ＣＰＵ上で動作する例えばアプリケーションプログラム等である制御プログラム９０９として実現可能である。
【００７１】
また、ＲＡＭ９０３は、制御プログラム９０９に含まれるコードの他、処理に必要な各種パラメータや、送受信に係る映像データや映像の一部又は全部を一時的に保持する。更にＲＡＭ９０３は、ＣＰＵが各種処理を実行する際のワークエリアとしても使用される。
【００７２】
通信Ｉ／Ｆ部９０５は、映像配信サーバ１００とユーザ端末２００との間で、有線又は無線によるネットワークＮを介したデータ通信を行うためのデバイスである。映像配信に係るコマンドのやり取りや映像の各種伝送は、全て通信Ｉ／Ｆ部９０５が行う。
【００７３】
記憶部９０７は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリ等の不揮発性の記憶媒体である。記憶部９０７は、一般的なコンピュータとしての機能を実現するためのオペレーティングシステム（ＯＳ）やアプリケーション及びデータ（図示せず）を記憶する。また記憶部９０７は、制御プログラム９０９を記憶する。前述のとおり、映像配信サーバ１００を実装する場合には、図５を参照しながら説明した機能管理部１０１、ＨＴＴＰ処理部１０３、取得要求分散化部１０５、映像取得部１０７、データ引渡部１０９、映像配信部１１１は、ＲＡＭ９０３に一時記憶された上で、ＣＰＵ上で動作する制御プログラム９０９として実現可能である。また同様に、ユーザ端末２００を実装する場合には、図６を参照しながら説明した、機能管理部２０１、映像要求処理部２０３、映像受信部２０５、デコーダ２０７、描画バッファ２０９、切換部２１１、表示切換部２１３、及び表示処理部２１５は、ＲＡＭ９０３に一時記憶された上で、ＣＰＵ上で動作する例えばアプリケーションプログラム等である制御プログラム９０９として実現可能である。
【００７４】
表示部９１１は、映像等を提示するためのディスプレイ装置である。表示部９１１の具体例としては、例えば液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等が挙げられる。特に、コンピュータ９００がユーザ端末２００を実現する場合には、表示処理部２１５は、表示部９１１上に映像を表示する。
【００７５】
入力部９１３は、ユーザＵから各種入力を受け付けるためのデバイスである。入力部９１３の具体例としては、キーボードやマウス、タッチパネル等を挙げることができる。コンピュータ９００がユーザ端末２００を実現する場合には、ユーザＵは、入力部９１３に対して表示映像の切り替え操作等を入力することができる。
【００７６】
なお、コンピュータ９００は、表示部９１１及び入力部９１３を必ずしも備える必要はない。表示部９１１及び入力部９１３は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やディスプレイポート等の各種インタフェースを介して外部からコンピュータ９００へ接続されても良い。
【００７７】
［４  本実施形態の効果］
以上説明したように、本実施形態に係る情報処理システム１は、映像配信サーバ１００からユーザ端末２００への映像配信を行う。映像配信サーバ１００からユーザ端末２００上でのカメラＡの映像からカメラＢの映像への表示映像の切換えを行う際には、カメラＢの映像が適切に表示可能となるまで（キーフレームが検出されるまで）はカメラＡの映像を表示し続けることが可能であるため、映像の切換え時に表示が止まる等の事態を防ぐことが可能である。
【００７８】
更に、映像配信サーバ１００からユーザ端末２００へと伝送される映像データは、切換え時の短時間を除き１チャネルのみであるため、ネットワークＮへの負荷を抑えることができる。この結果、映像データの伝達が適正に行われる可能性が高まるため、リアルタイム映像の乱れ等を抑制することが可能である。
この結果、ユーザＵは、イベント会場等でのリアルタイム視聴を適正に行うことが可能である。
【００７９】
［５  付記］
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００８０】
１…情報処理システム、１００…映像配信サーバ、１０１…機能管理部、１０３…ＨＴＴＰ処理部、１０５…取得要求分散化部、１０７…映像取得部、１０９…データ引渡部、１１１…映像配信部、２００…ユーザ端末、２０１…機能管理部、２０３…映像要求処理部、２０５…映像受信部、２０７…デコーダ、２０９…描画バッファ、２１１…切換部、２１３…表示切換部、２１５…表示処理部、９００…コンピュータ、９０１…制御部、９０３…ＲＡＭ、９０５…通信Ｉ／Ｆ（インタフェース）部、９０７…記憶部、９０９…制御プログラム、９１１…表示部、９１３…入力部、９１５…バスライン
【図１】
2018207153.tif 000003
【図２】
2018207153.tif 000004
【図３】
2018207153.tif 000005
【図４】
2018207153.tif 000006
【図５】
2018207153.tif 000007
【図６】
2018207153.tif 000008
【図７】
2018207153.tif 000009
【図８】
2018207153.tif 000010
【図９】
2018207153.tif 000011