(58)【調査した分野】(Int.Cl.,DB名)
前記セグメントファイルには、所定の時間幅のパノラマ映像を低解像度に圧縮したデータを示す低解像度データと、前記時間幅の前記パノラマ映像に含まれる所定の画像領域を示す高解像度データとが含まれる、ことを特徴とする請求項4に記載の配信サーバ。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態(以降、「本実施形態」とも表す。)について説明する。本実施形態では、複数のカメラでそれぞれ撮影されたパノラマ映像の切り替えに伴う再生遅延の発生を防止することができる映像配信システム1について説明する。
【0013】
<従来技術の説明>
まず、本実施形態に係る映像配信システム1の説明に必要な従来技術等について説明する。
【0014】
(パノラマ映像)
上述したように、パノラマ映像は、「パノラマ動画」や「360度パノラマ映像」、「VR映像」、「VR動画」等とも称される。パノラマ映像は、例えば、
図1に示すように、全天周投影球で表現される。全天周投影球で表現されるパノラマ映像では、全天周投影球の中心を観測位置として、この観測位置にある疑似的なカメラが所定の画角で撮影した範囲が視野範囲(つまり、端末に表示される範囲)となる。また、全天周投影球で表現されるパノラマ映像は、垂直角度θが0〜π、水平角度φが0〜2πの正距円筒図法で表現することができる。このとき、例えば、上記の特許文献1に記載されている技術では、正距円筒図法で表現されたパノラマ映像の視野範囲を含む部分領域データを「高解像度タイル」、パノラマ映像全体を圧縮したデータを「低解像度タイル」として端末に配信する。言い換えれば、視野範囲を含む部分領域は高ビットレートの高解像度タイルとして、パノラマ映像全体はビットレートを下げた低ビットレートの低解像度タイルとして端末に配信する。
【0015】
これにより、パノラマ映像の配信に要するデータ量を削減させることができると共に、視野範囲では高画質な映像が視聴可能であり、かつ、視野範囲を移動させた場合であっても映像が途切れることなく視聴可能とさせることができる。なお、圧縮とは、画像サイズの縮小を意味するものとする。
【0016】
本実施形態に係る映像配信システム1でも、上記の特許文献1に記載されている技術を利用し、高解像度タイルと低解像度タイルとを端末(クライアント)に配信することで、このクライアント上でパノラマ映像を再生するものとする。
【0017】
(HLS)
上述したように、HLSとは、配信サーバが映像をクライアントにストリーミング配信等するためのプロトコルである。例えば、
図2に示すように、カメラから出力された映像信号がエンコードされてエンコード映像が作成され、配信サーバは、このエンコード映像を複数のセグメントファイルに分割すると共に、プレイリストファイルを生成して所定の場所に設置(格納)する。なお、セグメントファイルは「.ts」形式(つまり、MPEG−2 トランスポートストリーム形式)のファイルであり、プレイリストファイルは「.m3u8」形式のファイルである。
図2では、一例として、エンコード映像が「TS−00.ts」〜「TS−NN.ts」に分割された場合を示している。
【0018】
このとき、HLSでは、クライアントはプレイリストファイルを配信サーバから取得することで、所望のセグメントファイルの取得及び再生を行うことができるようになる。
【0019】
(HLSによるパノラマ映像配信)
HLSによりパノラマ映像を配信する場合、配信サーバでは、所定の時間単位t
c毎に、低解像度タイルと、所定の複数の視野範囲毎の高解像度タイルとをセグメントファイルとして格納している。例えば、
図3に示すように、t
c毎の低解像度タイルLT、第1の視野範囲におけるt
c毎の高解像度タイルHT1、第2の視野範囲におけるt
c毎の高解像度タイルHT2、第3の視野範囲におけるt
c毎の高解像度タイルHT3等が格納されている。ここで、
図3に示す例では、第1の視野範囲は視野範囲の左上の座標が(0,0)となる範囲、第2の視野範囲は視野範囲の左上の座標が(S
x,0)となる範囲、第3の視野範囲は視野範囲の左上の座標が(2S
x,0)となる範囲である。S
xは予め決められた水平角度(x軸方向)のシフト量である。
【0020】
なお、垂直角度(y軸方向)のシフト量S
yも予め決められ、高解像度タイルは、p=0,・・・,P、q=0,・・・,Qとして、一般に、視野範囲の左上の座標が(p×S
x,q×S
y)である範囲毎に格納されている。以降では、M=P×Qとして、t
c毎に、M個の視野範囲それぞれの高解像度タイルが格納されるものとする。
【0021】
このように、パノラマ映像では、t
c毎の低解像度タイルと、予め決められた複数の視野範囲におけるt
c毎の高解像度タイルとがセグメントファイルとして配信サーバに格納されている。
【0022】
そして、パノラマ映像を再生する際には、クライアントは、プレイリストを配信サーバから取得することで、低解像度タイルと所望の視野範囲の高解像度タイルとを取得することができる。これにより、クライアントは、当該低解像度タイルと当該高解像度タイルとを用いて、パノラマ映像を再生することができる。
【0023】
例えば、クライアントの視野範囲が3t
c毎に水平角度にS
x分だけ移動した場合、
図3に示すように、当該クライアントには、最初の3t
c間ではLT1〜LT3とHT1−1〜HT1−3とがそれぞれ順に配信され、次の3t
c間ではLT4〜LT6とHT2−4〜HT2−6とがそれぞれ順に配信され、更に次の3t
c間ではLT7〜LT9とHT3−7〜HT3−9とがそれぞれ順に配信される。
【0024】
なお、t
cは任意に設定されるが、例えば、0.5[秒]程度とすることが考えられる。また、S
x及びS
yはパノラマ映像の画素数等に応じて任意に設定されるが、例えば、正距円筒図法で表現されたパノラマ映像が4000×2000画素である場合にはS
x=100、S
y=50等とすることが考えられる。S
x及びS
yが大きいほど配信サーバで保持する高解像度タイル数を削減することができるが、視野範囲を切り替えた場合の滑らかさが低下する(つまり、ユーザの視聴品質が低下する。)。一方で、S
x及びS
yが小さいほど配信サーバで保持する高解像度タイル数は増加するが、視野範囲を切り替えた場合の滑らかさが向上する(つまり、ユーザの視聴品質が向上する。)。
【0025】
(複数のカメラが存在する場合におけるHLSによるパノラマ映像配信)
例えば、コンサートやスポーツ競技等では、複数のカメラをそれぞれ複数の地点に設置等した上で、これらの複数のカメラのそれぞれでパノラマ映像を撮影することが行われている。このとき、クライアントでは、これら複数のカメラのそれぞれで撮影されたパノラマ映像を切り替え可能に表示することができるのが一般的である。
【0026】
このとき、HLSによりパノラマ映像を配信する場合、配信サーバには、カメラ毎に、プレイリストとセグメントファイルとが格納される。例えば、
図4に示すように、カメラ1〜カメラNのN台のカメラが存在する場合、配信サーバには、カメラ1で撮影されたパノラマ映像(つまり、カメラ1の映像信号がエンコードされたエンコード映像)を示すカメラ1コンテンツ、カメラ2で撮影されたパノラマ映像を示すカメラ2コンテンツ、・・・、カメラNで撮影されたパノラマ映像を示すカメラNコンテンツが格納される。すなわち、配信サーバには、カメラ毎に、このカメラで撮影されたパノラマ映像を再生するためのプレイリスト及びセグメントファイルが格納されている。
【0027】
したがって、
図4に示すように、クライアントは、カメラ1で撮影されたパノラマ映像を再生する際には、カメラ1コンテンツ用のプレイリストを取得して、カメラ1コンテンツの低解像度タイル(LT:Low-resolution Tile)とカメラ1コンテンツの高解像度タイル(HT:High-resolution Tile)とを取得する。同様に、クライアントは、カメラNで撮影されたパノラマ映像を再生する際には、カメラNコンテンツ用のプレイリストを取得して、カメラNコンテンツの低解像度タイルとカメラNコンテンツの高解像度タイルとを取得する。
【0028】
すなわち、クライアントは、再生するパノラマ映像のカメラを切り替える都度、このカメラに対応するプレイリストファイルを取得する必要がある。このため、クライアントは、再生するパノラマ映像のカメラを切り替える都度、配信サーバと通信を行う必要があり、パノラマ映像の再生に遅延が発生する場合がある。
【0029】
そこで、以降で説明する本実施形態に係る映像配信システム1では、クライアントで再生するパノラマ映像のカメラを切り替えた場合における通信(プレイリスト取得のための通信)を無くすことで、パノラマ映像の再生に遅延が発生することを防止する。
【0030】
<映像配信システム1の全体構成>
本実施形態に係る映像配信システム1の全体構成について、
図5を参照しながら説明する。
図5は、本実施形態に係る映像配信システム1の全体構成の一例を示す図である。
【0031】
図5に示すように、本実施形態に係る映像配信システム1には、配信サーバ10と、クライアント20と、複数のカメラ30と、エンコード装置40とが含まれる。カメラ30とエンコード装置40との間、エンコード装置40と配信サーバ10との間、及び配信サーバ10とクライアント20との間は任意の通信ネットワークを介して通信可能に接続されている。
【0032】
配信サーバ10は、HLSによりパノラマ映像をクライアント20に配信するコンピュータ又はコンピュータシステムである。このとき、配信サーバ10は、複数のカメラ30でそれぞれ撮影されたパノラマ映像のうち、クライアント20が所望するカメラ30で撮影されたパノラマ映像を当該クライアント20に配信する。
【0033】
クライアント20は、HLSによりパノラマ映像を配信サーバ10から受信(取得)して、このパノラマ映像を再生するコンピュータである。クライアント20は、複数のカメラ30の中から1つ以上のカメラ30を選択して、選択したカメラ30のパノラマ映像を再生することができる(つまり、クライアント20では再生するパノラマ映像のカメラ30を切り替えることができる。)。
【0034】
なお、クライアント20としては、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、ヘッドマウントディスプレイ(HMD:Head Mounted Display)、ウェアラブルデバイス、ゲーム機器等を用いることが可能である。
【0035】
カメラ30は、所定の地点又は位置に設置等されている撮像装置である。したがって、複数のカメラ30は、複数の地点又は位置にそれぞれ設置等されている。なお、以降では、カメラ30の総数をN(ただし、Nは2以上の整数)として、複数のカメラ30の各々を区別する場合には、「カメラ30
1」、「カメラ30
2」、・・・、「カメラ30
N」等と表す。
【0036】
エンコード装置40は、カメラ30の映像信号をエンコードしてエンコード映像を作成するコンピュータである。エンコード装置40で作成されたエンコード映像は、配信サーバ10に送信される。
【0037】
ここで、本実施形態に係る配信サーバ10は、配信処理部110と、記憶部120とを有する。配信処理部110は、配信サーバ10にインストールされた1以上のプログラムが、CPU(Central Processing Unit)等のプロセッサに実行させる処理により実現される。また、記憶部120は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置を用いて実現可能である。なお、記憶部120は、配信サーバ10と通信ネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
【0038】
配信処理部110は、クライアント20からの要求に応じて、該当のカメラ30のコンテンツ(つまり、低解像度タイル及び高解像度タイル)を当該クライアント20に配信する。
【0039】
記憶部120には、複数のカメラ30で撮影されたパノラマ映像を示す映像コンテンツが記憶されている。ここで、映像コンテンツには、全てのカメラ30のコンテンツで共通のプレイリストと、各カメラ30のコンテンツ(つまり、「カメラ1コンテンツ」、「カメラ2コンテンツ」、・・・、「カメラNコンテンツ」)とが含まれる。また、各カメラ30のコンテンツには、セグメントファイルとして、t
c毎の低解像度タイルと、予め決められた複数の視野範囲におけるt
c毎の高解像度タイルとが含まれる。なお、n=1,・・・,Nとして、カメラnコンテンツは、カメラ30
nで撮影されたパノラマ映像を示すコンテンツである。
【0040】
このように、本実施形態に係る配信サーバ10の記憶部120には、カメラ30
n(n=1,・・・,N)のカメラnコンテンツで共通のプレイリストと、カメラ30
n(n=1,・・・,N)のカメラnコンテンツ(低解像度タイル及び高解像度タイル)とが記憶されている。このため、クライアント20はプレイリストを1度取得した後は、カメラ30を切り替えたとしも、再度プレイリストを取得する必要がなくなり、プレイリスト取得のための通信を削減することができる。なお、映像コンテンツのデータ構成の詳細については後述する。
【0041】
また、本実施形態に係るクライアント20は、視聴処理部210を有する。視聴処理部210は、クライアント20にインストールされた1以上のプログラムが、CPU等のプロセッサに実行させる処理により実現される。
【0042】
視聴処理部210は、配信サーバ10に対して各種要求(例えば、映像の配信要求等)を送信すると共に、該当のカメラ30のコンテンツ(低解像度タイル及び高解像度タイル)を配信サーバ10から受信して、当該コンテンツによってパノラマ映像を再生する。
【0043】
なお、
図1に示す映像配信システム1の全体構成は一例であって、他の構成であってもよい。例えば、エンコード装置40は配信サーバ10と一体となっていてもよい。この場合、映像信号は、配信サーバ10でエンコードされる。
【0044】
<映像コンテンツのデータ構成>
次に、本実施形態に係る配信サーバ10の記憶部120に記憶されている映像コンテンツのデータ構成について説明する。
【0045】
(実施例1)
実施例1における映像コンテンツのデータ構成について、
図6を参照しながら説明する。
図6は、映像コンテンツのデータ構成の一例を説明するための図(その1)である。
【0046】
図6に示すように、実施例1では、コンテンツフォルダの直下にプレイリスト(これを「Content.m3u8」とも表す。)と、Confフォルダと、Mediaフォルダとが配置される。また、Confフォルダ内には、メタデータリスト(これを「Play.ini」とも表す。)と、配置情報(これを「Rendering.ini」とも表す。)とが配置されている。
【0047】
一方で、Mediaフォルダ内には、カメラ1コンテンツが格納される各フォルダ(0フォルダ、1フォルダ、2フォルダ、・・・、Mフォルダ)、カメラ2コンテンツが格納される各フォルダ(M+1フォルダ、M+2フォルダ、・・・、2M+1フォルダ)、・・・、カメラNコンテンツが格納される各フォルダとが配置される。
【0048】
ここで、i=1,・・・,M−1として、n(i+1)−1フォルダには、カメラ30
nの第iの視野範囲の高解像度タイルが配置されている。具体的には、例えば、0フォルダには、カメラ30
1の第1の視野範囲におけるt
c毎の高解像度タイルが配置されている。
図6に示す例では、最初のt
c間における当該高解像度タイル「0.ts」、次のt
c間における当該高解像度タイル「1.ts」、更に次のt
c間における当該高解像度タイル「2.ts」等が配置されている。同様に、1フォルダには、カメラ30
2の第2の視野範囲におけるt
c毎の高解像度タイルが配置されている。
【0049】
一方で、i=Mとして、n(M+1)−1フォルダには、カメラ30
nのt
c毎の低解像度タイルが配置されている。具体的には、例えば、Mフォルダには、カメラ30
1のt
c毎の低解像度タイルが配置されている。
図6に示す例では、最初のt
c間における低解像度タイル「0.ts」、次のt
c間における低解像度タイル「1.ts」、更に次のt
c間における低解像度タイル「2.ts」等が配置されている。また、n(M+1)−1フォルダには、メディア用のプレイリスト(これを「LT.m3u8」とも表す。)も配置されている。
【0050】
このように、実施例1における映像コンテンツでは、Mediaフォルダ内に、カメラ30毎のコンテンツが格納されている。
【0051】
なお、Content.m3u8で表されるプレイリストをメディア用のプレイリストと区別するため、以降では、「コンテンツ用プレイリスト」とも表す、コンテンツ用プレイリストには、例えば、通信セッション情報、セグメントファイルを送信するための必須情報等が記述されている。
【0052】
一方で、メディア用のプレイリスト(LT.m3u8)は「メディア用プレイリスト」とも表す。メディア用プレイリストには、例えば、各セグメントファイルの長さ(再生時間)等が記述されている。
【0053】
また、メタデータリストには、コーデックに関する情報、各タイルのサイズの情報、カメラ30の台数情報等が記述されている。より具体的には、メタデータリストには、カメラ30の台数情報と、カメラ30毎のコーデックに関する情報やカメラ30毎のタイルのサイズの情報等が記述されている。
【0054】
更に、配置情報には、高解像度タイルの配置に関する情報(つまり、高解像度タイル毎の視野範囲の座標に関する情報)等が記述されている。より具体的には、配置情報には、カメラ30毎の高解像度タイルの配置に関する情報等が記述されている。
【0055】
(実施例2)
実施例2における映像コンテンツのデータ構成について、
図7を参照しながら説明する。
図7は、映像コンテンツのデータ構成の一例を説明するための図(その2)である。
【0056】
図7に示すように、実施例2では、コンテンツフォルダの直下にコンテンツ用プレイリストと、Confフォルダと、カメラ30毎のMediaフォルダ(つまり、Media_1フォルダ、Media_2フォルダ、・・・、Media_Nフォルダ)とが配置されている。Confフォルダ内には、実施例1と同様に、メタデータリストと、配置情報とが配置されている。
【0057】
n=1,・・・,Nとして、Media_nフォルダ内には、カメラnコンテンツが格納される。すなわち、Media_nフォルダには0フォルダ、1フォルダ、・・・、Mフォルダがそれぞれ配置されており、i=0,・・・,M−1として、iフォルダには、カメラ30
nの第i+1の視野範囲の高解像度タイルが配置されている。具体的には、例えば、Media_1フォルダの0フォルダには、カメラ30
1の第1の視野範囲におけるt
c毎の高解像度タイルが配置されている。
図7に示す例では、最初のt
c間における当該高解像度タイル「0.ts」、次のt
c間における当該高解像度タイル「1.ts」、更に次のt
c間における当該高解像度タイル「2.ts」等が配置されている。同様に、Media_1フォルダの1フォルダには、カメラ30
1の第2の視野範囲におけるt
c毎の高解像度タイルが配置されている。
【0058】
一方で、Media_nフォルダのMフォルダには、カメラ30
nのt
c毎の低解像度タイルが配置されている。具体的には、例えば、Media_1フォルダのMフォルダには、カメラ30
1のt
c毎の低解像度タイルが配置されている。
図7に示す例では、最初のt
c間における低解像度タイル「0.ts」、次のt
c間における低解像度タイル「1.ts」、更に次のt
c間における低解像度タイル「2.ts」等が配置されている。また、Mフォルダには、メディア用のプレイリストも配置されている。
【0059】
このように、実施例2における映像コンテンツでは、コンテンツフォルダ直下に、カメラ30毎のMediaフォルダが配置されており、それぞれのMediaフォルダ内に該当のカメラ30のコンテンツが格納されている。
【0060】
<パノラマ映像配信処理>
次に、本実施形態に係るパノラマ映像配信処理について、
図8を参照しながら説明する。
図8は、本実施形態に係るパノラマ映像配信処理の一例を示すシーケンス図である。なお、以降では、カメラ30を特定する情報をカメラ番号として、カメラ番号n=1のカメラ30
1をデフォルトのカメラ30とする。そして、クライアント20でパノラマ映像を再生する際には、デフォルトのカメラ30
1のパノラマ映像が最初に再生されるものとする。
【0061】
まず、クライアント20の視聴処理部210は、パノラマ映像の再生を開始すると、映像の配信要求を配信サーバ10に送信する(ステップS101)。ここで、当該映像の配信要求には、デフォルトのカメラ30
1のカメラ番号n=1が含まれる。また、当該映像の配信要求には、現在時刻又はユーザによって指定された時刻も含まれる。以降では、現在時刻又はユーザによって指定された時刻を「再生時刻」とも表す。なお、例えば、ライブ配信等の場合には再生時刻として現在時刻が含まれる場合が多く、オンデマンド配信等の場合には再生時刻としてユーザによって指定された時刻が含まれる場合が多い。
【0062】
本実施形態では、上記のステップS101で送信される要求を「映像の配信要求」としたが、この要求は、例えば、「映像の配信開始要求」等と称されてもよい。
【0063】
次に、配信サーバ10及びクライアント20は、プレイリスト取得に関する通信処理(すなわち、コンテンツ用プレイリストやメディア用プレイリスト等を配信サーバ10からクライアント20に送信する処理)を行う(ステップS102)。これにより、クライアント20は、コンテンツ用プレイリストやメディア用プレイリスト等を取得することができる。このプレイリスト取得に関する通信処理の詳細については後述する。
【0064】
次に、配信サーバ10の配信処理部110は、カメラ1コンテンツの低解像度タイル及び高解像度タイルのうち、再生時刻に対応する低解像度タイルと、デフォルトの視野範囲における再生時刻に対応する高解像度タイルとを記憶部120から読み出す(ステップS103)。なお、再生時刻に対応する低解像度タイル及び高解像度タイルとは、例えば、当該低解像度タイル及び当該高解像度タイルの再生時間に再生時刻が含まれるタイルのことである。
【0065】
そして、配信サーバ10の配信処理部110は、上記のステップS103で読み出した低解像度タイル及び高解像度タイルをクライアント20に配信(送信)する(ステップS104)。
【0066】
クライアント20の視聴処理部210は、低解像度タイル及び高解像度タイルを受信すると、これらの低解像度タイル及び高解像度タイルを合成する(ステップS105)。すなわち、視聴処理部210は、例えば、上記のステップS102で取得した配置情報に基づいて、当該低解像度タイルの該当の領域に当該高解像度タイルを重畳させることで、これらの低解像度タイル及び高解像度タイルを合成する。これにより、視野範囲が高解像度で、かつ、視野範囲以外の領域は低解像度のパノラマ映像が作成される。
【0067】
そして、クライアント20の視聴処理部210は、上記のステップS105で低解像度タイル及び高解像度タイルを合成することで作成されたパノラマ映像を再生する(ステップS106)。視聴処理部210は、例えば、メタデータリストに記述されているコーデックに関する情報に従ってパノラマ映像を再生する。
【0068】
以降のステップS107〜ステップS111では、カメラ30
nのパノラマ映像を再生している場合に、クライアント20の視野範囲が変更されたときの処理について説明する。クライアント20では、例えば、ジャイロセンサ等により視線方向の変更が検出されることで、この視線方向の変更に応じて視野範囲も変更される。ただし、視線方向の変更は、ジャイロセンサ等によって検出される場合に限られず、例えば、クライアント20のタッチパネルをユーザの指で操作すること等によって視線方向が変更されてもよい。
【0069】
クライアント20の視聴処理部210は、変更後の視線方向を示す視線方向情報を配信サーバ10に送信する(ステップS107)。なお、このとき、視聴処理部210は、再生時刻もあわせて配信サーバ10に送信してもよい。
【0070】
配信サーバ10の配信処理部110は、視線方向情報を受信すると、カメラnコンテンツの低解像度タイル及び高解像度タイルのうち、再生時刻(つまり、現在時刻又はユーザによって指定された時刻)に対応する低解像度タイルと、当該視線方向情報が示す視線方向の視野範囲における再生時刻に対応する高解像度タイルとを記憶部120から読み出す(ステップS108)。なお、視野範囲は、例えば、パノラマ映像を全天周投影球で表現した場合に、観測位置にある疑似的なカメラを視線方向に向けて撮影した範囲として特定される。
【0071】
そして、配信サーバ10の配信処理部110は、上記のステップS108で読み出した低解像度タイル及び高解像度タイルをクライアント20に配信(送信)する(ステップS109)。
【0072】
クライアント20の視聴処理部210は、低解像度タイル及び高解像度タイルを受信すると、上記のステップS105と同様に、これらの低解像度タイル及び高解像度タイルを合成する(ステップS110)。
【0073】
そして、クライアント20の視聴処理部210は、上記のステップS110で低解像度タイル及び高解像度タイルを合成することで作成されたパノラマ映像を再生する(ステップS111)。
【0074】
以降のステップS112〜ステップS116では、クライアント20で再生するパノラマ映像を切り替えた場合(つまり、カメラ30を切り替えた場合)の処理について説明する。クライアント20のユーザは、所定の操作(例えば、カメラ切り替えボタンを押下する等)を行うことで、当該クライアント20で再生するパノラマ映像を切り替えることができる。一例として、カメラ番号n=kのカメラ30
kで撮影されたパノラマ映像に切り替える場合について説明する。
【0075】
クライアント20の視聴処理部210は、カメラ番号n=kのカメラ30
kで撮影されたパノラマ映像に切り替える操作が行われると、映像の配信要求を配信サーバ10に送信する(ステップS112)。ここで、当該映像の配信要求には、カメラ番号n=kが含まれる。なお、このとき、視聴処理部210は、再生時刻もあわせて配信サーバ10に送信してもよい。本実施形態では、このステップS112で送信される要求を「映像の配信要求」としたが、この要求は、例えば、「カメラの切替要求」や「パノラマ映像の切替要求」等と称されてもよい。
【0076】
配信サーバ10の配信処理部110は、カメラkコンテンツの低解像度タイル及び高解像度タイルのうち、再生時刻に対応する低解像度タイルと、デフォルトの視野範囲における再生時刻に対応する高解像度タイルとを記憶部120から読み出す(ステップS113)。
【0077】
そして、配信サーバ10の配信処理部110は、上記のステップS113で読み出した低解像度タイル及び高解像度タイルをクライアント20に配信(送信)する(ステップS114)。
【0078】
クライアント20の視聴処理部210は、低解像度タイル及び高解像度タイルを受信すると、上記のステップS105と同様に、これらの低解像度タイル及び高解像度タイルを合成する(ステップS115)。
【0079】
そして、クライアント20の視聴処理部210は、上記のステップS115で低解像度タイル及び高解像度タイルを合成することで作成されたパノラマ映像を再生する(ステップS116)。
【0080】
このように、本実施形態に係る映像配信システム1では、クライアント20で再生するパノラマ映像を撮影するカメラ30が切り替わった場合であっても、上記のステップS102でプレイリストを一度取得していれば、再度プレイリストを取得する必要がない。このため、再度プレイリスト取得に関する通信処理を行う必要がないため、パノラマ映像の再生遅延を防止することが可能となる。
【0081】
なお、本実施形態では、カメラ30
kに切り替えた後のパノラマ映像の視野範囲は、当該カメラ30
kのデフォルトの視野範囲であるものとした(上記のステップS113)が、これに限られない。例えば、切り替え後の視野範囲を特定するための座標を、切り替え前の視野範囲を特定するための座標と同一としてもよい。
【0082】
また、例えば、切り替え前の視野範囲内に或る対象(例えば、コンサートであれば或る特定の歌手、スポーツであれば或る特定の選手等)が含まれている場合に、同一の対象が含まれる範囲を切り替え後の視野範囲としてもよい。これにより、ユーザは、複数のカメラ30を切り替えることで、例えば、異なる角度や異なる位置等から撮影された同一の対象を視聴することが可能となる。
【0083】
また、例えば、パノラマ映像の再生時刻や内容に応じて、カメラ30毎に着目する視野範囲を予め指定されていてもよい。具体的には、例えば、再生時刻が「0:00」〜「5:00」の間は、カメラ30
1に切り替わったときは視野範囲1、カメラ30
2に切り替わったときは視野範囲3、カメラ30
3に切り替わったときは視野範囲2等と予め設定することが考えられる。同様に、例えば、パノラマ映像の内容(コンテンツ)が「コンサート」の場合に、カメラ30
1に切り替わったときは視野範囲2、カメラ30
2に切り替わったときは視野範囲2、カメラ30
3に切り替わったときは視野範囲1等とする一方で、パノラマ映像の内容が「スポーツ」である場合に、カメラ30
1に切り替わったときは視野範囲1、カメラ30
2に切り替わったときは視野範囲1、カメラ30
3に切り替わったときは視野範囲3等と予め設定することが考えられる。これにより、パノラマ映像の再生時刻や内容に応じて、切り替え後のカメラ30で指定された視野範囲を視聴することが可能となる。
【0084】
ここで、上記のステップS102におけるプレイリスト取得に関する通信処理の詳細について、
図9を参照しながら説明する。
図9は、本実施形態に係るプレイリスト取得に関する通信処理の一例を示すシーケンス図である。
【0085】
まず、クライアント20の視聴処理部210は、Master Playlist要求を配信サーバ10に送信する(ステップS201)。なお、Master Playlist要求とは、コンテンツ用プレイリストを取得するための要求である。
【0086】
配信サーバ10の配信処理部110は、Master Playlist要求を受信すると、コンテンツ用プレイリストを記憶部120から読み出す(ステップS202)。
【0087】
そして、配信サーバ10の配信処理部110は、上記のステップS202で読み出したコンテンツ用プレイリスト(つまり、Content.m3u8)をクライアント20に送信する(ステップS203)。これにより、クライアント20は、コンテンツ用プレイリストを取得することができる。
【0088】
クライアント20の配信処理部110は、コンテンツ用プレイリストを受信すると、Media Playlist要求を配信サーバ10に送信する(ステップS204)。なお、Media Playlist要求とは、メディア用プレイリスト等を取得するための要求である。
【0089】
配信サーバ10の配信処理部110は、Media Playlist要求を受信すると、メディア用プレイリスト(つまり、LT.m3u8)と、メタデータリスト(つまり、Play.ini)と、配置情報(つまり、Rendering.ini)とを記憶部120から読み出す(ステップS205)。
【0090】
そして、配信サーバ10の配信処理部110は、上記のステップS205で読み出したメディア用プレイリストとメタデータリストと配置情報とをクライアント20に送信する(ステップS206)。これにより、クライアント20は、メディア用プレイリストとメタデータリストと配置情報とを取得することができる。
【0091】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更、組み合わせ等が可能である。