【実施例1】
【0023】
図1は、本発明によるシンクロコンテンツ放送配信システムの実施例1の概略構成を示す概略ブロック図である。
【0024】
以下の説明において、コマーシャル、アドバタイズメント、アド、或いはCMと記載されているものは、番組本編であってもよいし、コマーシャルと番組本編との組合せであってもよいが、説明を簡略化するために、単にコマーシャルと記述する。
【0025】
なお、以下の説明では、コマーシャルは、アドバタイズメント、アド、或いはCMと記載される場合がある。
【0026】
図1に示すように、本実施例のシンクロコンテンツ放送配信システム10は、
絶対時間に合わせてタイムコードを生成し、放送局マスタ20から出力された放送データに対して該タイムコードを埋め込むタイムコードジェネレータ40と、タイムコードが埋め込まれた放送データをエンコードしてIPストリームに変換するエンコーダ50と、IPストリームを配信するストリーミングサーバ60と、ストリーミングサーバ60から配信されたIPストリームをデコードし、当該IPストリームに埋め込まれたタイムコードを読み込むデコーダ80と、少なくとも一つまたは二つ以上のシンクロコンテンツを記憶する記憶装置90からシンクロコンテンツを読み取り、当該読み取ったシンクロコンテンツを配信するウェブサーバ100と、ストリーミングサーバ60から配信されたIPストリームとウェブサーバ100から配信されたシンクロコンテンツを受信する再生デバイス70と、を備え、ウェブサーバ100は、IPストリームに埋め込まれたタイムコードとシンクロコンテンツのトリガ発生時間とが一致した時点で、再生デバイス70にシンクロコンテンツに対する処理を実行させるように構成される。
【0027】
ここで、シンクロコンテンツに対する処理とは、以下に説明するフィードの表示エリアに書き込まれているフィードアイテムを実行することであり、その一例としては、再生デバイス70にシンクロコンテンツを表示させる処理である。
【0028】
更に、デコーダ80がIPストリームから読み込んだタイムコードの時間と絶対時間との時間差TD
MINを算出し、かつ当該算出した時間差TD
MINをシンクロコンテンツのトリガ発生時間Tに加算して該時間差に対応したトリガ時間TD
MIN+Tを算出するトリガ時間演算装置110を備えている。ここで、時間差TD
MINとは、換言すると、再生デバイス70で設定されたか或いは再生デバイス70に固有な遅延時間(処理に対する遅延時間)を考慮に入れない場合における、シンクロコンテンツの配信と当該シンクロコンテンツの表示との時間差を表すものである。
【0029】
ウェブサーバ100は、トリガ時間演算装置110によって算出したトリガ時間TD
MIN+Tに基づいて(即ち、トリガ時間TD
MIN+Tを考慮に入れて)、IPストリームに埋め込まれたタイムコードとシンクロコンテンツのトリガ発生時間とが一致した時点で、記憶装置90から読み取ったシンクロコンテンツに対して再生デバイス70に処理を実行させるように構成されている。本実施例において、ウェブサーバ100が実行する処理の一例は、記憶装置90から読み取ったシンクロコンテンツを再生デバイス70に配信し、再生デバイス70に、シンクロコンテンツを再生デバイス70の再生ソフトRS上に表示させることである。
【0030】
以下、
図2のフロー図を参照して、
図1に示すシンクロコンテンツ放送配信システム10の動作を上記構成部分の機能及び動作に基づいて詳述する。
【0031】
本実施例では、コマーシャルは、表1に示すように、当該コマーシャルの素材を特定する10桁のCM共通コードと、当該CMに対応付けられたシンクロコンテンツを特定する4桁のシンクロコンテンツコードと、から構成されている。例えば、楽園保険というラジオコマーシャルと、そのラジオコマーシャルにリンクするシンクロコンテンツ(ラジオコマーシャルの詳細な内容を示すもの)を、それぞれ以下のコードで表す:
【0032】
[表1]
CM共通コード 楽園保険 ABCD000001
シンクロコンテンツコード 楽園保険 ABCD000001-S001
ここで、シンクロコンテンツコードに記載されているS001は、CM共通コードABCD000001で示される楽園保険のコマーシャルにリンクする1番目のシンクロコンテンツであることを示す。
【0033】
本実施例では、上記CM共通コード及び上記シンクロコンテンツコードは、コード管理センター(図示省略)によって付番されるものとするが、本発明は、それに限定されるものではなく、様々な方法により付番を実行してもよい。
【0034】
まず、放送局マスタ20は、本編番組と映像及び/又は音声で構成されかつ上記CM共通コード及び上記シンクロコンテンツコードが付番されたコマーシャルとによって構成されている放送データを出力する(ステップS1)。
【0035】
次いで、ベースバンド(基底帯域)伝送装置30は、放送局マスタ20から出力された放送データを入力してベースバンドストリームに変換し、変換したベースバンドストリームを配信する(ステップS2)。
【0036】
タイムコードジェネレータ40は、ベースバンド伝送装置30から配信されたベースバンドストリームに対してタイムコード(例えば、SMPTE Time Code)を生成し、当該生成したタイムコードをベースバンドストリームに埋め込む(ステップS3)。
【0037】
表2に、タイムコードの一例として上記楽園保険のシンクロコンテンツコードに対するものを示す:
【0038】
[表2]
ABCD000001-S001 19:30:00 00:01:00
表2に示された数字列の中において、タイムコードは、S001の右側の部分に、
19:30:00 00:01:00
として表される数字列である。
【0039】
上記タイムコードが表している内容は、楽園保険(ABCD000001)の1番目のシンクロコンテンツ(S001)を19時30分にトリガして、19時30分から1分間、再生ソフトSRの表示領域(即ち、再生再生デバイス70の表示画面)上に表示する、というものである。
【0040】
エンコーダ50は、タイムコードジェネレータ40でタイムコードが埋め込まれたベースバンドストリームをエンコードして、エンコードしたベースバンドストリームを配信する(ステップS4)。
【0041】
ストリーミングサーバ60は、エンコーダ50から配信されたベースバンドストリームを読み込む(ステップS5)。
【0042】
デコーダ80は、ストリーミングサーバ60が読み込んだベースバンドストリームをIPストリームにデコードする(ステップS6)。
【0043】
また、デコーダ80は、タイムコード読取機能を用いて、デコードしたIPストリームに埋め込まれたタイムコードを読み込む(ステップS7)。
【0044】
そして、ストリーミングサーバ60は、デコーダ80によりデコードしたIPストリームを再生デバイス70に配信する(ステップS8)。
【0045】
(A)配信側における遅延の調整
図3を参照して、配信側における遅延の調整について説明する。
【0046】
(i)トリガ時間演算装置110は、デコーダ80でIPストリームから読み込んだタイムコードの時間T
REと絶対時間T
ABとの時間差TD
MIN(即ち、シンクロコンテンツの配信と当該シンクロコンテンツの表示との時間差)を算出し(ステップS9)、当該算出した時間差TD
MINをシンクロコンテンツのトリガ発生時間Tに加算してトリガ時間TD
MIN+Tを取得する(ステップS10)。
【0047】
(ii)ウェブサーバ100は、トリガ時間演算装置110によって算出したトリガ時間TD
MIN+Tに基づいて(即ち、トリガ時間TD
MIN+Tを考慮に入れて)、IPストリームに埋め込まれたタイムコードとシンクロコンテンツのトリガ発生時間とが一致した時点で、記憶装置90から読み取ったシンクロコンテンツに対して再生デバイス70に処理を実行させる(ステップS11)。
【0048】
本実施例では、ウェブサーバ100が再生デバイス70に実行させる処理の一例として、記憶装置90から読み取ったシンクロコンテンツを再生デバイス70に配信し、再生デバイス70に、シンクロコンテンツを再生デバイス70の再生ソフトRS上に表示させることである。その他の処理の例については、後述する。
【0049】
本発明では、上述した方法、即ちトリガ時間演算装置110によって算出したトリガ時間TD
MIN+Tに基づいて、配信側におけるシンクロコンテンツの遅延を調整する。
【0050】
(B)再生デバイス70の再生ソフトRS側における遅延の調整
図4を参照して、再生デバイス70の再生ソフトRS側における遅延の調整について説明する。
【0051】
(i)表示させたいシンクロコンテンツのトリガ発生時間Tを予めIPストリームに埋め込んで放送局マスタ20から配信する(以下、トリガ発生時間が予め埋め込まれたIPストリームを便宜上トリガ信号と呼ぶ)(ステップS13)。
【0052】
[表3]
トリガ信号の一例:
ABCD000001-S001 19:30:00 00:01:00
上記トリガ信号の意味は、楽園保険(ABCD000001)の1番目のシンクロコンテンツ(S001)を19時30分(19:30:00=トリガ発生時間T)から1分間(00:01:00)表示するというものである。
【0053】
(ii)スイッチオンされた再生デバイス70(例えば、IPサイマルラジオ)上の再生ソフトRS(例えば、表示クライアントソフト)で上記配信されてきたトリガ信号を受信してトリガ発生時間Tを読み込む(ステップS14)。
【0054】
(iii)他方で、上記ステップS7でストリーミングサーバ60から配信されたIPストリームを受信してIPストリームに埋め込まれたタイムコードを読み込む(ステップS15)。
【0055】
(iv)上記ステップS12で読み込んだトリガ発生時間Tと、上記ステップS13で読み込んだタイムコードに示されている時間とが一致した時点(これについては後述する)で、シンクロコンテンツ(上記の例では、楽園保険のシンクロコンテンツ)を再生デバイス70の再生ソフトRS上(再生デバイス70の表示画面上)に表示する(ステップS16)。
【0056】
ここで、上記「トリガ発生時間Tと、タイムコードに示されている時間とが一致した時点」について説明する。
【0057】
説明を簡略化するために、トリガ発生時間Tを示すトリガ信号は、遅延なしで再生デバイス70に配信されてきたものとする。
【0058】
上記のトリガ信号の一例:
ABCD000001-S001 19:30:00 00:01:00
では、19:30:00がトリガ発生時間Tを示すものである。
【0059】
他方、ウェブサーバ100には、遅延したIPストリームが配信されてきている。その遅延の程度は、デコーダ80でIPストリームから読み込んだタイムコードの時間T
REと絶対時間T
ABとの時間差TD
MIN(即ち、シンクロコンテンツの配信と当該シンクロコンテンツの表示との時間差)として表される。
【0060】
換言すると、ウェブサーバ100では、受信したIPストリームのタイムコードが、実質的にこの時間差TD
MINの時間分だけ、その表示値よりも遅れている(ずれている)ということである。
【0061】
例えば、時間差TD
MINを5秒とすると、受信したIPストリームのタイムコードの表示値19:30:00(トリガ発生時間T)が、絶対時間に対して5秒ずれている(遅れている)ことになり、(絶対時間に対して)19:30:05が実際のトリガ発生時間T’となる。これは、絶対時間19:30:00の時点では、再生デバイス70が19:29:55(対絶対時間)の放送内容を放送しており、この時点でCM等のシンクロコンテンツを放送に挿入した場合(即ち、CMのトリガを発生した場合)には、ユーズが再生デバイス70を利用してIPサイマルラジオを聴いているときに、音楽が流れている最中にその音楽が突然遮られてCMの放送が流れてくる(即ち、CM放送が混入する)状態になる。
【0062】
即ち、「トリガ発生時間Tとタイムコードで示されている時間T
TCとが一致する時点」とは、絶対時間に対して実際のトリガ発生時間T'とシフトしたタイムコード時間T'
TC(見掛け上のタイムコード時間)とが「一致する時」のことを意味しており、上記の例では、19:30:05が「一致する時」を表すものである。即ち、絶対時間で19:30:05になったときに、ウェブサーバ100でシンクロコンテンツの処理(タイムコードT
TC=19:30:00に対応する処理)がトリガされることになる。これは、後続する処理にも同様に反映されるので、再生デバイス70では、5秒の遅れで全ての処理が実行されることになる。
【0063】
次に、
図5を参照して、上記時間差TD
MIN(即ち、上記トリガ時間TD
MIN+T)に基づいて、シンクロコンテンツを再生デバイス70の再生ソフトRS上に表示する段階(上記ステップS16)を説明する。
【0064】
再生デバイス70の再生ソフトRSは、ストリーミングのバッファ時間を設定できる機能を有している。本実施例では、再生デバイス70の再生ソフトRSは、0秒、15秒、30秒、1分、3分のいずれかのバッファ時間を選択することができるように構成されているものとするが、バッファ時間は、これらに限定されるものではなく、任意の時間間隔で設定できるように構成してもよい。
【0065】
シンクロコンテンツの表示に必要なデータ群をフィードアイテムと呼ぶ。このフィードアイテム(即ちデータ郡)は、URL、表示用テキスト(text)、コマンド(command)、集計ログ(log)用のビーコン(beacon)等から構成されている。
【0066】
また、フィードアイテムを複数格納する機能をフィード、特にバッファ時間用のフィードと呼ぶ。
【0067】
ウェブサーバ100は、再生デバイス70に設定されているバッファ時間に応じて、各々がトリガ時間演算装置110によって算出したトリガ時間TD
MIN+Tに、異なるバッファ時間長(例えば、0秒、15秒、30秒)をそれぞれ加算して形成される異なる実効バッファ時間長(例えば、TD
MIN+T+0秒、TD
MIN+T+15秒、TD
MIN+T+30秒)に対応する複数のフィードを備えている。そして、複数のフィードのそれぞれは、各々がシンクロコンテンツの表示に必要なデータ群の中の一つのデータに対応付けられたフィードアイテムを書き込むように構成された階層状の複数の表示エリアを有している。
【0068】
他方、再生デバイス70は、ウェブサーバ100に備えられた異なるバッファ時間長に対応する複数のフィードを備え、特定のバッファ時間長(例えば、30秒)がリクエストされた場合に、当該リクエストされた特定のバッファ時間長に対応するフィードの表示エリアに書き込まれているフィードアイテムに基づいて動作するように構成にされているので、実質的に遅延が存在しない状態でシンクロコンテンツを再生デバイスに表示することができる。
【0069】
また、再生デバイス70は、ウェブサーバ100に備えられている複数のフィードを一定時間ごとに読みに行くように構成されていて、ウェブサーバ100でフィードの更新が実行された場合に、遅延なく該再生デバイス70の対応するフィードを更新し、当該更新されたフィードに書き込まれているフィードアイテムに基づいて動作するように構成にされている。
【0070】
以下に、上記バッファリングの方法を具体的に説明する。
【0071】
例えば、一つの再生デバイス70Aが0秒のバッファ時間長を有し、別の一つの再生デバイス70Bが30秒のバッファ時間長を有する場合について説明する。
【0072】
上記の例と同様に、トリガ信号の一例:
ABCD000001-S001 19:30:00 00:01:00
では、19:30:00がトリガ発生時間Tを示すものである。
【0073】
他方、ウェブサーバ100には、遅延したIPストリームが配信されてきている。その遅延の程度は、デコーダ80でIPストリームから読み込んだタイムコードの時間T
REと絶対時間T
ABとの時間差TD
MIN(即ち、シンクロコンテンツの配信と当該シンクロコンテンツの表示との時間差)として表される。
【0074】
換言すると、ウェブサーバ100では、受信したIPストリームのタイムコードが、実質的にこの時間差TD
MINの時間分だけ、その表示値よりも遅れている(ずれている)ということである。
【0075】
例えば、時間差TD
MINを5秒とすると、受信したIPストリームのタイムコードの表示値19:30:00(トリガ発生時間T)が、絶対時間に対して5秒ずれている(遅れている)ことになり、(絶対時間に対して)19:30:05が実際のトリガ発生時間T’となる。
【0076】
(1)0秒のバッファ時間長を有する再生デバイス70Aの場合には、
絶対時間:
19:30:00
において、実質的には、絶対時間
19:29:55
の時点で受信すべき信号(IPストリーム)を現在受信している。
【0077】
この時点で、再生デバイス70Aは、0秒のバッファリング時間が必要になる。そこで、0秒後に受信するIPストリームを待つことになる。
【0078】
即ち、絶対時間で
19:30:00
にならないと、トリガが発生しないことになる。即ち、トリガ時間TD
MIN+T=19:30:05が考慮されて、絶対時間で、
19:30:05
にならないと再生デバイス70Aでは、トリガが実際に発生しないことになる。
即ち、絶対時間において
19:30:05
の時刻に、実効バッファ時間長(TD
MIN(=5秒)+T+0秒)に対応する複数のフィードを読み行き、最上位のフィード(表示エリア)に書き込まれているフィードアイテムに従って処理を実行する。ここでは、フィードアイテムが特定のURLとして書き込まれているので、その書き込まれているURLにアクセスして楽園保険のCMを1分間放送する。
【0079】
00:01:00
上記の時間は、CMを1分間放送することを示している。
【0080】
(2)30秒のバッファ時間長を有する再生デバイス70Bの場合には、
絶対時間:
19:30:00
において、実質的には、絶対時間に対して5+30秒=35秒だけ遅れている
19:29:25
の時点で受信すべき信号(IPストリーム)を現在受信している。
【0081】
この時点で、再生デバイス70Bは、35秒のバッファリング時間が必要になる。そこで、35秒後に受信するIPストリームを待つことになる。
【0082】
即ち、絶対時間で
35秒後に受信するIPストリームを待つことになる。
【0083】
即ち、絶対時間で
19:30:35
にならないと、トリガが発生しないことになる。即ち、トリガ時間TD
MIN+T=19:30:05とデバイス70Bのバッファ時間30秒が考慮されて、絶対時間で、
19:30:35
にならないと再生デバイス70Bでは、トリガが実際に発生しないことになる。
即ち、絶対時間において
19:30:35
の時刻に、実効バッファ時間長(TD
MIN(=5秒)+19:30:00+30秒)に対応する複数のフィードを読み行き、最上位のフィード(表示エリア)に書き込まれているフィードアイテムに従って処理を実行する。ここでは、フィードアイテムが特定のURLとして書き込まれているので、その書き込まれているURLにアクセスして楽園保険のCMを1分間放送する。
【0084】
00:01:00
上記の時間は、CMを1分間放送することを示している。
【0085】
このように構成することにより、再生デバイス70A、70Bでは、それぞれ異なる絶対時間となっても、シンクロコンテンツへのアクセス、即ち、シンクロコンテンツがそれぞれの再生デバイス70A、70Bの表示ソフト上に表示されるときに、それぞれの再生デバイス70A、70Bでは、本編の表示とシンクロコンンテンツとの表示の間に「ずれ」が発生しない。
【0086】
(C)シンクロ表示に対する制限を取り除く方法
(i)エクスパンド(拡張)
図6は、
図1のシンクロコンテンツ放送配信システムによるエクスパンド機能を説明するための図である。
【0087】
通常、再生デバイスにおいて、再生ソフトのタイムラインの表示領域が小さいために、簡単なアイコンとテキスト程度のものだけしか表示領域に表示することができないというシンクロ表示の制限がある。そこで、このようなシンクロ表示の制限を取り除くために、本発明では、シンクロコンテンツ表示のトリガにより、再生デバイス70の再生ソフトRSの表示領域(再生デバイス70の表示画面の一部或いは全部)を拡大させるエクスパンド(拡張)機能を再生デバイス70の再生ソフトRSに設けた。その結果、再生デバイス70の再生ソフトRSの表示領域における表現力が格段に強化され、当該表示領域をエクスパンド(拡張)すると通常のウェブサイトとほぼ同様の表現を実現することができる。
【0088】
ストリーミングサーバ60には、再生ソフトとエクスパンドシンクロコンテンツ型再生ソフトのXML等で記述されたファイルとが用意されている。フィード(例えばフィードの最上位)にエクスパンドシンクロコンテンツ表示用のフィードアイテムが書き込まれ、そのフィードアイテムに対応付けられたファイルを再生ソフトRS側で読み込むと、再生プレイヤーRPがエクスパンド(拡張)するように構成されている。
【0089】
図6に示すように、通常、左側の再生プレイヤーのみが表示されて、右側のエクスパンドした部分、即ちアドの部分は、表示されない。ここで、上述したエクスパンド機能を用いることにより、右側のエクスパンドした部分、即ちアドの部分を表示することができるようになる。
【0090】
このように表現領域が拡大されることにより、テキスト、静止画、動画、ツイッター(twitter)等との連携が可能になる。即ち、シンクロコンテンツ領域上にソーシャルメディアが公開しているAPI(アプリケーション・プログラミング・インターフェース)を利用してマッシュアップすることにより、例えば当該番組のハッシュタグのツイッターのタイムラインをエンコードすることができる。
【0091】
そして、シンクロコンテンツ表示のトリガから一定の表示時間を設定し、設定した表示時間が満了或いは経過すると、元の再生ソフトに戻るように構成されている(これは、エクスパンドコンテンツが単に一定時間だけエクスパンド(拡張)する構成とは原理的に異なる)。これは、フィードに書き込まれたフィードアイテムに、通常の再生ソフトを指定時間に読み込むコマンドを書き込むことによって実現される。
【0092】
[表4]
一例: ABCD000001-S001 19:30:00 ex 00:01:00
上記の符号の意味は、「楽園保険」の「シンクロコンテンツ」を19時30分から1分間表示させる、ということである。
【0093】
(ii)テイクオーバー
図7は、
図1のシンクロコンテンツ放送配信システムによるテイクオーバー機能を説明するための図であり、主にスマートフォン等の携帯型再生デバイスにおいて実施されるものである。
【0094】
再生ソフトの表示領域を拡大できないスマートフォン等の再生デバイスに対しては、ナウオンエア等の番組関連情報を表示する部分が一定時間だけシンクロコンテンツに変わる機能(テイクオーバー機能)を再生デバイス70の再生ソフトSRに設ける。このテイクオーバー機能は、上述したエクスパンドの原理的に全く同じ方法で実現される。指定した一定時間が経過すると、エクスパンドの時と同様に、元の再生ソフトSRに戻る。
【0095】
(iii)サブシークエンス
図1のシンクロコンテンツ放送配信システムによるサブシークエンス機能を説明する。
【0096】
上記エクスパンドや、上記テイクオーバーされる部分(番組関連情報を表示する部分)に関して、トリガ以降サブシークエンスがスタートし、さらに番組本編の内容にシンクロしてページがスライドショー的に変わる機能(サブシークエンス機能)を再生デバイス70の再生ソフトSRに設ける。
【0097】
サブシークエンスに対応しているシンクロコンテンツ(サブシークエンス対応シンクロコンテンツ)は、複数のページからなるブック(Book)形式で構成されていて、トリガ時に再生ソフトSR側にバッファリングされる。このバッファリングについては上述したので、ここではその説明を省略する。
【0098】
トリガ以降のページの変更は、音声或いは映像コマーシャルの内容にシンクロしたスケジュールに基づき実施される。
【0099】
例えば、1分間の楽園保険のコマーシャルに対応した4ページからなるシンクロコンテンツがあった場合には、最初のページは19:30(再生ソフトの開始時間)にスタートし、2ページ目が15秒後、3ページ目が40秒後、最後の4ページ目は50秒後から1分間に亘って表示(満了時間00:01:50)させる場合には、スケジュールを下記に示すように設定することによって、シンクロコンテンツを再生デバイス70の再生ソフトSRの表示領域に表示させることができる:
一例: ABCD000001-S001-SQ001 19:30:00(トリガ)
サブシーケンス開始:
ABCD000001-S001-SQ001 00:00:00 (ページ1を表示)
ABCD000001-S001-SQ002 00:00:15 (ページ2を表示)
ABCD000001-S001-SQ003 00:00:40 (ページ3を表示)
ABCD000001-S001-SQ004 00:00:50 (ページ4を表示)ex 00:01:50
上述した実施例では、トリガ発生をIPストリームに埋め込まれたトリガ発生時間のタイムコードに基づいて実行するように構成したが、本発明によるトリガ発生方法は、これに限定されるものではない。例えば、ウォータマーク、フィンガープリント、タイムスタンプ、等の方法を用いてもよい。
【0100】
本発明は、上述したように構成することにより、オンエアーされているコマーシャル或いは番組本編とウェブページ、アプリケーション等との間で遅延が生じた場合であっても、簡便かつ迅速な方法で「ずれ」を発生させずに、シンクロコンテンツをオンエアーされている番組本編及び/又はコマーシャルにシンクロさせてウェブページ、アプリケーション等を再生デバイス70のディスプレイ上に表示すると共に、再生デバイス70の表示画面上でウェブページ、アプリケーション等の表示領域をエクスパンド、テイクオーバー、或いはサブシークエンスさせて表示することができるようになる。