(57)【要約】【課題】検索対象のデータと、検索対象のデータの検索に必要なデータとを非同期で遠隔地に配置する際に、早期に適切な検索可能状態となるように制御する。【解決手段】受信部１２が、第１のデータを所定単位で分割した分割データを順次受信すると共に、第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、第１のデータとは非同期に受信し、制御部１４が、受信した第２のデータが示す部分に対応する分割データを、第２のデータに基づいて特定し、特定した分割データを受信済みか否かに応じて、部分毎に、検索対象に含めるか否かを制御する。【選択図】図８
2019114020.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信し、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する
ことを含む処理をコンピュータに実行させるための検索制御プログラム。
【請求項２】
前記第１のデータ内での各分割データの順序の情報を含む第３のデータをさらに受信し、
前記第３のデータに基づいて、前記第２のデータが示す部分に対応する前記分割データを特定する
請求項１に記載の検索制御プログラム。
【請求項３】
前記第２のデータは、前記第１のデータにおける前記部分の開始箇所、及び検索条件として指定可能な情報を含む請求項１又は請求項２に記載の検索制御プログラム。
【請求項４】
複製用のデータとして受信した前記第２のデータを、前記検索対象に含めない設定で記憶部に記憶し、前記第２のデータが示す部分に対応する前記分割データを受信した場合に、前記第２のデータを、前記検索対象に含める設定に変更するように制御する請求項１〜請求項３のいずれか１項に記載の検索制御プログラム。
【請求項５】
前記第１のデータは、映像データであり、
前記第１のデータにおいて検索可能な部分は、前記映像データにおける各シーンである
請求項１〜請求項４のいずれか１項に記載の検索制御プログラム。
【請求項６】
前記第１のデータは、映像データであり、
前記第３のデータは、前記映像データの各分割データの再生順を示すプレイリストである
請求項２に記載の検索制御プログラム。
【請求項７】
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信する受信部と、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する制御部と、
を含む検索制御装置。
【請求項８】
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信し、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する
ことを含む処理をコンピュータが実行する検索制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索制御プログラム、検索制御装置、及び検索制御方法に関する。
【背景技術】
【０００２】
近年、映像視聴に関して、インターネット上の動画や録画映像を見る時間が増加傾向にあり、都合の良いときに見たい動画を視聴する人が増えている。また、それに伴い、ＶＯＤ（Video On Demand）サービスの利用者は今後も増加していくと予想される。ＶＯＤサービスではこれまで、再生までの待ち時間の短縮や、再生が途中で途切れないようにするための再生技術が重視されてきた。
【０００３】
また、配信されるコンテンツの数が膨大になってきたことにより、今後は限られた時間の中で見たいシーンだけを効率良く視聴するという、利用者の嗜好に合わせた「シーン視聴」の実現が重要になる。このようなシーン視聴では、検索結果により得られた複数のシーンを切り替えながら視聴することが想定されるが、このシーンの切り替え時に、映像を読み込むための待ち時間が発生すると視聴の快適さを損なう場合がある。そこで、検索したシーン映像を先読みし、シーン切り替え時の再生待ち時間を短縮する技術が提案されている。
【０００４】
例えば、動画像再生装置における再生開始までの待ち時間を短縮可能な装置が提案されている。この装置は、複数のファイルに分割された動画像データを外部装置から取得して再生する。この装置は、外部装置から所定の検索条件を満たす動画像データについての情報（シーン情報）を取得したときに、取得した情報に基づいて動画像データにおいて最初に再生させるファイル（先頭ファイル）を特定し、特定したファイルを外部装置から取得する。そして、外部装置から取得した動画像データについての情報及び最初に再生させるファイルを記憶部に記憶する。
【０００５】
また、ネットワークを介してコンテンツ配信装置からコンテンツ再生端末に映像コンテンツをオンデマンド配信するシステムが提案されている。このシステムでは、ユーザが配信メニューから映像コンテンツを再生する前に、キャッシュ制御情報が付加された映像コンテンツを、コンテンツ再生端末が予めコンテンツ配信装置から配信を受け、内部の一時記憶装置に書き込む。そして、ユーザが選択した映像コンテンツが一時記憶装置にある場合、この映像コンテンツを再生し、一方、選択された映像コンテンツが一時記憶装置にない場合、映像コンテンツをコンテンツ配信装置に、選択された映像コンテンツの配信要求を行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−６９７０８号公報
【特許文献２】特開２０１１−１３００１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
グローバルな動画配信では、一般的にＣＤＮ（Content Delivery Network）が利用され、利用者に近いエッジサーバ（映像コンテンツのキャッシュサーバ）にキャッシュしたコンテンツを活用する。これにより、配信のレイテンシー（データ転送時に生じる通信の遅延時間）を削減する。通常のＶＯＤサービスは、映像自体（例えば、映画１本全体）を検索して視聴するため、映像へのアクセス数に応じて効率的にキャッシュされた映像を活用することができる。
【０００８】
一方で、シーン視聴では、シーン毎に映像ファイルが異なり、検索対象の映像ファイルが多くなることから、ＣＤＮのキャッシュヒット率が通常のＶＯＤと比較して低くなり、ＣＤＮによるレイテンシー削減の効果が低くなる。例えば、映像を配信するオリジンサーバ（オリジナルの映像コンテンツを保管しているサーバ）から地理的に遠い場所の利用者が映像を視聴する場合に、ＣＤＮのキャッシュを活用できない場合には、オリジンサーバから映像を取得することになる。この場合、遠隔地の利用者は、映像を再生するまでに時間がかかってしまう。
【０００９】
そこで、遠隔地でのコンテンツ視聴時のレイテンシーを削減するために、映像ファイルから所望のシーンを検索するためのメタデータを、遠隔地の拠点のサーバに配置して、オリジンサーバと同等の性能を維持させることが考えられる。しかし、メタデータの転送に比べて映像の転送にかかる時間が長いため、映像とメタデータとを、それぞれがオリジンサーバに登録されたタイミングで、遠隔地のサーバに非同期で転送した場合には、メタデータの配置が先に完了してしまう。この場合、利用者から見て、検索はできるが、検索結果として挙げられた映像を視聴できないという状況が発生する。
【００１０】
一方、シーン毎に、メタデータと映像とを同期させて転送することが考えられるが、この場合、転送処理のオーバヘッドが大きくなり、結果的にメタデータ及び映像の転送に時間がかかってしまう。また、転送処理のオーバヘッドを軽減するために、シーン毎ではなく、複数のシーンをまとめた単位で、メタデータと映像とを同期させて転送することが考えられる。しかし、この場合、オリジンサーバが置かれた地域でシーン視聴の提供が開始されてから、遠隔地でシーン視聴の提供が開始されるまでに、タイムラグが発生してしまう。特に、対象の映像コンテンツがスポーツの試合映像などの場合、シーン視聴は、リアルタイムに近ければ近いほど、ライブ中継の直後に見たいシーンを振り返るなどの利用用途が広がる。このため、上記のようなタイムラグの発生は軽減されることが望ましい。
【００１１】
一つの側面として、検索対象のデータと、検索対象のデータの検索に必要なデータとを非同期で遠隔地に配置する際に、早期に適切な検索可能状態となるように制御することを目的とする。
【課題を解決するための手段】
【００１２】
一つの態様として、第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信する。そして、受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する。
【発明の効果】
【００１３】
一つの側面として、検索対象のデータと、検索対象のデータの検索に必要なデータとを非同期で遠隔地に配置する際に、早期に適切な検索可能状態となるように制御することができる、という効果を有する。
【図面の簡単な説明】
【００１４】
【図１】映像配信システムの概略構成を示すブロック図である。
【図２】配置装置の機能ブロック図である。
【図３】野球データベースの一例を示す図である。
【図４】分割ファイル及びプレイリストを説明するための図である。
【図５】国内拠点システムにおける検索用データベースの一例を示す図である。
【図６】シーン視聴の流れを説明するための図である。
【図７】海外拠点システムへの各データの配置を説明するための図である。
【図８】検索制御装置の機能ブロック図である。
【図９】シーン検索データに基づく分割ファイルの特定を説明するための図である。
【図１０】海外拠点システムにおける検索用データベースの一例を示す図である。
【図１１】配置装置として機能するコンピュータの概略構成を示すブロック図である。
【図１２】検索制御装置として機能するコンピュータの概略構成を示すブロック図である。
【図１３】配置処理の一例を示すフローチャートである。
【図１４】受信時処理の一例を示すフローチャートである。
【図１５】更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態の一例を詳細に説明する。
【００１６】
本実施形態では、野球の試合映像における、投手による投球１球毎のシーンを、検索対象のシーンとしてシーン視聴可能な映像配信システムに、本発明の検索制御装置を適用する場合について説明する。
【００１７】
図１に示すように、本実施形態に係る映像配信システム１００は、国内拠点システム１１０Ａと、海外拠点システム１１０Ｂとを含む。
【００１８】
国内拠点システム１１０Ａは、映像配信システム１００において、最初に映像が登録されるシステムである。国内拠点システム１１０Ａは、ウェブサーバ２０Ａと、データベース（ＤＢ）サーバ３０Ａと、配信サーバ４０Ａと、配置装置５０とを含む。
【００１９】
ウェブサーバ２０Ａは、映像配信のアプリケーションを、国内利用者が使用する利用者端末６０に提供する。なお、利用者端末６０は、パーソナルコンピュータ、スマートフォン、タブレット端末等の情報処理装置である。
【００２０】
ＤＢサーバ３０Ａには、ウェブサーバ２０Ａから提供されるアプリケーションで必要となる各種情報が記憶される。本実施形態では、ＤＢサーバ３０Ａには、後述する野球ＤＢ３２Ａと、検索用ＤＢ３４Ａとが記憶される。また、配信サーバ４０Ａは、後述する映像ストレージ４２Ａを有する。
【００２１】
配置装置５０は、ＤＢサーバ３０Ａに記憶された野球ＤＢ３２Ａ、検索用ＤＢ３４Ａ、及び映像ストレージ４２Ａに記憶された映像ファイルを、海外拠点システム１１０Ｂに配置する。配置装置５０の詳細については後述する。
【００２２】
海外拠点システム１１０Ｂは、映像配信システム１００において、他の拠点システム（ここでは、国内拠点システム１１０Ａ）から転送された野球ＤＢ３２Ａ、検索用ＤＢ３４Ａ、及び映像ファイルが配置されるシステムである。海外拠点システム１１０Ｂは、ウェブサーバ２０Ｂと、ＤＢサーバ３０Ｂと、配信サーバ４０Ｂと、検索制御装置１０とを含む。
【００２３】
ウェブサーバ２０Ｂは、映像配信のアプリケーションを、海外利用者が使用する利用者端末６０に提供する。
【００２４】
ＤＢサーバ３０Ｂには、国内拠点システム１１０Ａから転送された野球ＤＢ３２Ａ及び検索用ＤＢ３４Ａが、野球ＤＢ３２Ｂ及び検索用ＤＢ３４Ｂとして記憶される。また、配信サーバ４０Ｂは、国内拠点システム１１０Ａから転送された映像ファイルを記憶する映像ストレージ４２Ｂを有する。
【００２５】
なお、本実施形態では、海外拠点システム１１０Ｂは、国内拠点システム１１０Ａが置かれる国内に対して、海外に置かれるシステムとして説明するが、これに限定されない。一方の拠点システムは、最初に映像が登録されるシステムであり、そのシステムが配置される場所から地理的に遠い遠隔地に置かれるシステムが、他方の拠点システムであればよい。
【００２６】
図２に、国内拠点システム１１０Ａに含まれる配置装置５０の機能ブロック図を示す。配置装置５０は、図２に示すように、受付部５２と、変換部５４と、生成部５６と、送信部５８とを含む。
【００２７】
受付部５２は、国内拠点システム１１０Ａに入力されるオリジナルの映像ファイル（以下、「元映像ファイル」ともいう）、及びその映像ファイルに関連する情報としてオペレータにより入力される入力データを受け付ける。
【００２８】
本実施形態では、元映像ファイルは、野球の試合を撮影した映像を１イニング毎に１ファイルとしたデータであり、例えば、ＭＰ４形式の映像データである。元映像ファイルは、野球の試合中に、１イニング終了毎にリアルタイムで入力される。
【００２９】
入力データには、試合日時や試合結果などを示す試合情報や、投球やイニングの切り替わりに関するイベント情報が含まれる。投球のイベント情報は、投球開始及び終了を示すイベント発生時間、及びその投球に関連する情報（以下、「投球情報」という）を含む。投球情報は、投手や打者の情報、球種（ストレート、スライダー、カーブなど）や投球結果（ストライク、ボール、ヒットなど）等がコード化された情報である。イニング切り替わりのイベント情報は、イニングの切り替わりが発生したイベント発生時間と、切り替わった後のイニングを示す情報を含む。入力データのうち、試合情報は、オペレータにより、試合前、試合中、試合後などの適宜のタイミングで入力される。イベント情報は、例えば、オペレータにより、試合中にリアルタイムで入力される。なお、イベント発生時間は、オペレータによりタグ付けされた時間とすることができる。
【００３０】
受付部５２は、受け付けた入力データを野球ＤＢ３２Ａに記憶する。図３に、野球ＤＢ３２Ａの一例を示す。図３の例では、野球ＤＢ３２Ａは、試合情報が格納される試合情報テーブル３２１Ａと、イベント情報が格納されるイベント情報テーブル３２２Ａとを含む。また、野球ＤＢ３２Ａは、選手やチーム、投球情報で用いられる各種コードなどのマスタ情報が格納される各種のマスタテーブル３２３Ａを含む。
【００３１】
具体的には、受付部５２は、受け付けた入力データに含まれる試合情報に、各試合を識別するための試合ＩＤを付与して、試合情報テーブル３２１Ａに記憶する。また、受付部５２は、受け付けた入力データに含まれるイベント情報を、試合ＩＤと対応付けて、イベント区分（「投球」又は「イニング（の切り替わり）」）と共に、イベント情報テーブル３２２Ａに記憶する。また、受付部５２は、イニングの切り替わりのイベント情報が示すイニングの情報を、そのイニングに含まれる投球のイベント情報にも付与する。さらに、例えば、選手の移籍などに関する情報が入力データに含まれている場合には、受付部５２は、その情報に基づいて、該当のマスタテーブル３２３Ａを更新する。
【００３２】
また、受付部５２は、受け付けた元映像ファイルを変換部５４へ受け渡す。
【００３３】
変換部５４は、受付部５２から受け渡された元映像ファイルを、図４に示すように、所定時間間隔（例えば、１０秒間隔）で分割し、複数の分割ファイル群に変換すると共に、各分割ファイルのファイルパスを再生順に記載したプレイリストを作成する。分割ファイル群への変換、及びプレイリストの作成は、例えば、ＨＬＳ（HTTP Live Streaming）を採用することができる。変換部５４は、分割ファイル群及びプレイリストを、映像ストレージ４２Ａに記憶する。また、変換部５４は、プレイリストの格納先の情報を生成部５６へ受け渡す。
【００３４】
生成部５６は、野球ＤＢ３２Ａに記憶されたイベント情報テーブル３２２Ａと、変換部５４から受け渡されたプレイリストとに基づいて、利用者から指定された検索条件に合致するシーンを検索する際に利用されるシーン検索データを生成する。
【００３５】
具体的には、生成部５６は、イニングの切り替わりのイベント発生時間と、投球のイベント情報のイベント発生時間との差分から、元映像ファイルにおける、その投球のイベント情報が示すシーンの開始位置及び終了位置を特定する。生成部５６は、各イニングの投球のイベント情報毎に、特定したシーンの開始位置及び終了位置と、投球情報とを対応付けたデータに識別子を付与する。さらに、生成部５６は、該当のイニングの分割ファイル群のプレイリストの映像ストレージ４２Ａにおける格納先のパスを、上記のデータに対応付けて、シーン検索データを生成する。
【００３６】
生成部５６は、生成したシーン検索データを、例えば、図５に示すように、検索用ＤＢ３４Ａに記憶する。図５の例では、シーン検索データの識別子として、シーン検索データの各々に含まれる「イベント発生時間」順に、該当のイニングにおける投球数（１球目、２球目、・・・）を付与している。また、シーンの開始位置及び終了位置は、元映像ファイルの先頭を基準とした、各シーンの再生開始時間及び終了時間（開始−終了時間）としている。
【００３７】
国内拠点システム１１０Ａに、分割ファイル群及びプレイリストと、野球ＤＢ３２Ａと、検索用ＤＢ３４Ａとが配置されたイニングについては、アプリケーションを介して、利用者によるシーン視聴が可能となる。
【００３８】
ここで、図６を参照して、シーン視聴の流れを説明する。まず、利用者が、利用者端末６０上で映像配信システム１００により提供されるアプリケーション６２を起動し、検索条件を入力する。例えば、利用者は、選手名、投球結果、球種等をプルダウンメニュー等から選択することにより検索条件を入力することができる。入力された検索条件は、アプリケーション６２によりコード化され、ウェブサーバ２０Ａへ送信される。ウェブサーバ２０Ａは、検索用ＤＢ３４Ａから、「投球情報」が受信した検索条件に合致するシーン検索データを検索する。ウェブサーバ２０Ａは、野球ＤＢ３２Ａを参照して、検索されたシーン検索データに対応する試合情報を付加したり、シーン検索データ内のコード化された情報を文字列に変換したりした検索結果を、アプリケーション６２に返す。
【００３９】
アプリケーション６２では、検索結果を表示し、利用者から、シーン視聴するシーンに対応する検索結果の選択を受け付ける。アプリケーション６２は、受け付けたシーンに対応するシーン検索データに含まれる「プレイリスト格納先」に基づいて、映像ストレージ４２Ａに記憶されたプレイリストを参照する。そして、アプリケーション６２は、映像ストレージ４２Ａから、シーン検索データの「開始−終了時間」に対応する分割ファイルを取得し、該当のシーンを再生する。
【００４０】
送信部５８は、野球ＤＢ３２Ａ、映像ストレージ４２Ａ、及び検索用ＤＢ３４Ａと同様の野球ＤＢ３２Ｂ、映像ストレージ４２Ｂ、及び検索用ＤＢ３４Ｂが、海外拠点システム１１０Ｂに配置されるように各データを送信する。
【００４１】
ここで、本実施形態では、国内拠点システム１１０Ａと、海外拠点システム１１０Ｂとの間のレイテンシーを削減すると共に、海外拠点システム１１０Ｂにおいて、可能な限り早く、国内拠点システム１１０Ａと同等の検索環境を提供することを目的とする。そのため、送信部５８は、図７に示すように、各データが海外拠点システム１１０Ｂに配置されるように設定する。
【００４２】
具体的には、野球ＤＢ３２Ｂは、アプリケーションにより提供される検索画面などで利用するため、映像ファイルの配置を待たず、海外拠点システム１１０Ｂでも参照できることが望ましい。そのため、送信部５８は、野球ＤＢ３２Ａ−野球ＤＢ３２Ｂ間にＤＢレプリケーションの設定を行う。これにより、国内拠点システム１１０Ａの野球ＤＢ３２Ａにデータが記憶されるとすぐに、海外拠点システム１１０Ｂの野球ＤＢ３２Ｂへのデータの複製配置が開始される。
【００４３】
また、複製配置するデータ量が多い映像ストレージ４２Ｂは、地理的に距離のあるサーバ間で迅速なデータ転送を行うことが望ましい。そのため、送信部５８は、映像ストレージ４２Ａ−映像ストレージ４２Ｂ間に、クラウドサービスのリージョン間レプリケーションの設定を行う。これにより、国内拠点システム１１０Ａの映像ストレージ４２Ａへの分割ファイル及びプレイリストの記憶後すぐに、海外拠点システム１１０Ｂの映像ストレージ４２Ｂへの分割ファイル及びプレイリストの複製配置が開始される。
【００４４】
また、検索用ＤＢ３４Ｂについては、詳細は後述するが、検索制御装置１０により、検索用ＤＢ３４Ａにはない「検索対象フラグ」が付与されるため、野球ＤＢ３２Ａ（３２Ｂ）のように、ＤＢレプリケーション機能を直接適用することはできない。そこで、送信部５８は、検索用ＤＢ３４Ａに記憶されたシーン検索データをファイルに書き出し、一旦検索用データストレージ４４Ａに記憶する。また、送信部５８は、国内拠点システム１１０Ａの検索用データストレージ４４Ａと、海外拠点システム１１０Ｂの検索用データストレージ４４Ｂ間に、リージョン間レプリケーションの設定を行う。これにより、特別な転送方法を新たに用意することなく、高速なシーン検索データの複製配置が可能になる。
【００４５】
図８に、海外拠点システム１１０Ｂに含まれる検索制御装置１０の機能ブロック図を示す。検索制御装置１０は、受信部１２と、制御部１４とを含む。
【００４６】
受信部１２は、野球ＤＢ３２Ｂ−野球ＤＢ３２Ａ間にＤＢレプリケーションの設定を行う。また、受信部１２は、映像ストレージ４２Ｂ−映像ストレージ４２Ａ間、及び検索用データストレージ４４Ｂ−検索用データストレージ４４Ａ間に、クラウドサービスのリージョン間レプリケーションの設定を行う。これにより、受信部１２は、国内拠点システム１１０Ａから海外拠点システム１１０Ｂへ転送される各データを受信する。
【００４７】
また、受信部１２は、検索用データストレージ４４Ｂに新たにファイルが記憶されたことを示す更新イベントを検知すると、新たに記憶されたファイルを読み出し、制御部１４へ受け渡す。
【００４８】
制御部１４は、受信部１２から受け渡されたファイルに含まれるシーン検索データの各々について、各シーン検索データに対応する分割ファイルを特定する。そして、制御部１４は、該当の分割ファイルが到着しているか、すなわち、映像ストレージ４２Ｂに記憶されているか否かに応じて、各シーン検索データに対応するシーンを検索対象とするか否かを制御する。
【００４９】
具体的には、図９に示すように、制御部１４は、検索用データストレージ４４Ｂに新たに記憶されたシーン検索データの各々について、「プレイリスト格納先」に基づいて、映像ストレージ４２Ｂに記憶された該当のプレイリストを参照する。そして、制御部１４は、プレイリストにおいて、シーン検索データの「開始−終了時間」と、分割ファイル群が何秒間隔で分割されているかの情報とに基づいて、シーン検索データが示すシーンが、どの分割ファイルに含まれるかを特定する。
【００５０】
例えば、図９の例では、「１球目」のシーン検索データの「開始−終了時間」は１５−３０秒であり、また、分割ファイルは、１０秒毎に分割されている。したがって、制御部１４は、「１球目」のシーン検索データが示すシーンは、分割ファイル「ＸＸＸＸ＿２．ｔｓ」及び「ＸＸＸＸ＿３．ｔｓ」に含まれていると特定する。
【００５１】
また、制御部１４は、特定した分割ファイルが到着しているか、すなわち、映像ストレージ４２Ｂに記憶されているか否かを判定し、到着している場合には、該当のシーン検索データに、検索対象であることを示す検索対象フラグを設定する。一方、特定した分割ファイルが到着していない場合には、制御部１４は、該当のシーン検索データに、検索対象としないことを示す検索対象フラグを設定する。
【００５２】
例えば、図９の例で、「８球目」のシーン検索データに対応する分割ファイルが、「ＸＸＸＸ＿８．ｔｓ」、「ＸＸＸＸ＿９．ｔｓ」、及び「ＸＸＸＸ＿１０．ｔｓ」と特定され、分割ファイル「ＸＸＸＸ＿１０．ｔｓ」は到着していないとする。この場合、制御部１４は、「８球目」のシーン検索データに、検索対象としないことを示す検索対象フラグを設定する。
【００５３】
制御部１４は、図１０に示すように、検索対象フラグを設定したシーン検索データを、検索用ＤＢ３４Ｂに記憶する。図１０の例では、検索対象であることを示す検索対象フラグを「対象」、検索対象としないことを示す検索対象フラグを「非対象」としている。
【００５４】
検索対象フラグが「非対象」であるシーン検索データは、利用者から受け付けた検索条件に合致するシーン検索データを検索する際に、検索対象から除外する。すなわち、検索ＤＢ３４Ｂに記憶されたシーン検索データのうち、検索対象フラグが「対象」であるシーン検索データから、検索条件に合致するシーン検索データを検索する。
【００５５】
映像ファイルに比べて容量が少ないシーン検索データの複製配置が先に完了し、海外拠点システム１１０Ｂに、シーン検索データは存在するが、対応する分割ファイルが存在しないという場合があり得る。この場合、検索条件に合致する検索結果としては挙がってくるが、その検索結果を選択しても、その検索結果が示すシーンの映像を視聴することができないという不都合が生じる。上記のように、対応する分割ファイルが存在しないシーン検索データを検索対象から除外することで、このような不都合を解消することができる。
【００５６】
配置装置５０は、例えば図１１に示すコンピュータ７０で実現することができる。コンピュータ７０は、ＣＰＵ（Central Processing Unit）７１と、一時記憶領域としてのメモリ７２と、不揮発性の記憶部７３とを備える。また、コンピュータ７０は、入力装置、表示装置等の入出力装置７４と、記憶媒体７９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ（Read/Write）部７５と、インターネット等のネットワークに接続される通信Ｉ／Ｆ（Interface）７６とを備える。ＣＰＵ７１、メモリ７２、記憶部７３、入出力装置７４、Ｒ／Ｗ部７５、及び通信Ｉ／Ｆ７６は、バス７７を介して互いに接続される。
【００５７】
記憶部７３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部７３には、コンピュータ７０を、配置装置５０として機能させるための配置プログラム８０が記憶される。配置プログラム８０は、受付プロセス８２と、変換プロセス８４と、生成プロセス８６と、送信プロセス８８とを有する。
【００５８】
ＣＰＵ７１は、配置プログラム８０を記憶部７３から読み出してメモリ７２に展開し、配置プログラム８０が有するプロセスを順次実行する。ＣＰＵ７１は、受付プロセス８２を実行することで、図２に示す受付部５２として動作する。また、ＣＰＵ７１は、変換プロセス８４を実行することで、図２に示す変換部５４として動作する。また、ＣＰＵ７１は、生成プロセス８６を実行することで、図２に示す生成部５６として動作する。また、ＣＰＵ７１は、送信プロセス８８を実行することで、図２に示す送信部５８として動作する。これにより、配置プログラム８０を実行したコンピュータ７０が、配置装置５０として機能することになる。なお、プログラムを実行するＣＰＵ７１はハードウェアである。
【００５９】
また、検索制御装置１０は、例えば図１２に示すコンピュータ９０で実現することができる。コンピュータ９０は、ＣＰＵ９１と、一時記憶領域としてのメモリ９２と、不揮発性の記憶部９３とを備える。また、コンピュータ９０は、入力装置、表示装置等の入出力装置９４と、記憶媒体９９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部９５と、通信Ｉ／Ｆ９６とを備える。ＣＰＵ９１、メモリ９２、記憶部９３、入出力装置９４、Ｒ／Ｗ部９５、及び通信Ｉ／Ｆ９６は、バス９７を介して互いに接続される。
【００６０】
記憶部９３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部９３には、コンピュータ９０を、検索制御装置１０として機能させるための検索制御プログラム１０１が記憶される。検索制御プログラム１０１は、受信プロセス１０２と、制御プロセス１０４とを有する。
【００６１】
ＣＰＵ９１は、検索制御プログラム１０１を記憶部９３から読み出してメモリ９２に展開し、検索制御プログラム１０１が有するプロセスを順次実行する。ＣＰＵ９１は、受信プロセス１０２を実行することで、図８に示す受信部１２として動作する。また、ＣＰＵ９１は、制御プロセス１０４を実行することで、図８に示す制御部１４として動作する。これにより、検索制御プログラム１０１を実行したコンピュータ９０が、検索制御装置１０として機能することになる。なお、プログラムを実行するＣＰＵ９１はハードウェアである。
【００６２】
なお、配置プログラム８０、及び検索制御プログラム１０１の各々により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ（Application Specific Integrated Circuit）等で実現することも可能である。
【００６３】
次に、本実施形態に係る映像配信システム１００の作用について説明する。
【００６４】
国内拠点システム１１０Ａに元映像ファイル及び入力データが入力されると、配置装置５０により、図１３に示す配置処理が実行される。また、配置装置５０の送信部５８により、野球ＤＢ３２Ａ、３２Ｂ、映像ストレージ４２Ａ、４２Ｂ、及び検索用データストレージ４４Ａ、４４Ｂのレプリケーションが設定される。そして、海外拠点システム１１０Ｂの検索制御装置１０により、図１４に示す受信時処理、及び図１５に示す更新処理が実行される。以下、配置処理、受信時処理、及び更新処理の各々について詳述する。なお、受信時処理及び更新処理は、本発明の検索制御方法の一例である。
【００６５】
まず、図１３に示す配置処理について説明する。
【００６６】
ステップＳ１２で、受付部５２が、国内拠点システム１１０Ａに入力された元映像ファイル及び入力データを受け付ける。
【００６７】
次に、ステップＳ１４で、受付部５２が、受け付けた入力データに含まれる試合情報に、各試合を識別するための試合ＩＤを付与して、野球ＤＢ３２Ａの試合情報テーブル３２１Ａに記憶する。また、受付部５２が、受け付けた入力データに含まれるイベント情報を、試合ＩＤと対応付けて、イベント区分（「投球」又は「イニング（の切り替わり）」）と共に、野球ＤＢ３２Ａのイベント情報テーブル３２２Ａに記憶する。また、受付部５２は、イニングの切り替わりのイベント情報が示すイニングの情報を、そのイニングに含まれる投球のイベント情報にも付与する。さらに、例えば、選手の移籍などに関する情報が入力データに含まれている場合には、受付部５２は、その情報に基づいて、該当のマスタテーブル３２３Ａを更新する。
【００６８】
次に、ステップＳ１６で、受付部５２が、受け付けた元映像ファイルを変換部５４へ受け渡す。そして、変換部５４が、受付部５２から受け渡された元映像ファイルを、図４に示すように、所定時間間隔（例えば、１０秒間隔）で分割し、複数の分割ファイル群に変換すると共に、各分割ファイルのファイルパスを再生順に記載したプレイリストを作成する。
【００６９】
次に、ステップＳ１８で、変換部５４が、分割ファイル群及びプレイリストを、映像ストレージ４２Ａに記憶する。また、変換部５４は、プレイリストの格納先の情報を生成部５６へ受け渡す。
【００７０】
次に、ステップＳ２０で、生成部５６が、野球ＤＢ３２Ａに記憶されたイベント情報テーブル３２２Ａに基づいて、各投球のイベント情報が示すシーンの開始位置及び終了位置を特定する。そして、生成部５６が、各イニングの投球のイベント情報毎に、特定したシーンの開始位置及び終了位置と、投球情報とを対応付けたデータに識別子を付与する。さらに、生成部５６が、該当のイニングの分割ファイル群のプレイリストの映像ストレージ４２Ａにおける格納先のパスを、上記のデータに対応付けて、シーン検索データを生成する。
【００７１】
次に、ステップＳ２２で、生成部５６が、生成したシーン検索データを、例えば、図５に示すように、検索用ＤＢ３４Ａに記憶する。
【００７２】
次に、ステップＳ２４で、送信部５８が、検索用ＤＢ３４Ａに記憶されたシーン検索データをファイルに書き出し、一旦検索用データストレージ４４Ａに記憶し、配置処理は終了する。配置処理は、元映像ファイル及び入力データが入力される都度、繰り返し実行される。
【００７３】
送信部５８により、野球ＤＢ３２Ａ、３２Ｂ、映像ストレージ４２Ａ、４２Ｂ、及び検索用データストレージ４４Ａ、４４Ｂのレプリケーションが設定されている。これにより、国内拠点システム１１０Ａに記憶された各データの、海外拠点システム１１０Ｂへの複製配置が開始される。
【００７４】
次に、図１４に示す受信時処理について説明する。
【００７５】
ステップＳ３２で、受信部１２が、検索用データストレージ４４Ｂに新たにファイルが記憶されたことを示す更新イベントを検知したか否かを判定する。更新イベントを検知した場合には、処理はステップＳ３４へ移行し、更新イベントを検知していない場合には、本ステップの判定を繰り返す。
【００７６】
ステップＳ３４では、受信部１２が、新たに記憶されたシーン検索データのファイルを検索用データストレージ４４Ｂから読み出し、制御部１４へ受け渡す。
【００７７】
次に、ステップＳ３６で、制御部１４が、受信部１２から受け渡されたシーン検索データのファイルに、以降の処理が未処理のシーン検索データが含まれるか否かを判定する。未処理のシーン検索データが存在する場合には、処理はステップＳ３８へ移行し、ファイルに含まれる全てのシーン検索データの処理が終了している場合には、処理はステップＳ３２に戻る。
【００７８】
ステップＳ３８では、制御部１４が、ファイルから未処理のシーン検索データを１つ選択する。
【００７９】
次に、ステップＳ４０で、制御部１４が、選択したシーン検索データの「プレイリスト格納先」に基づいて、映像ストレージ４２Ｂに該当のプレイリストが記憶されているか否かを判定することにより、プレイリストが到着済みか否かを判定する。プレイリストが到着済みの場合には、処理はステップＳ４２へ移行し、未着の場合には、処理はステップＳ４８へ移行する。
【００８０】
ステップＳ４２では、制御部１４が、上記ステップＳ３８で選択したシーン検索データの「開始−終了時間」と、分割ファイル群が何秒間隔で分割されているかの情報とを取得する。制御部１４は、取得した情報に基づいて、シーン検索データが示すシーンが、どの分割ファイルに含まれるかを、該当のプレイリストから特定する。
【００８１】
次に、ステップＳ４４で、制御部１４が、上記ステップＳ４２で特定した分割ファイルが映像ストレージ４２Ｂに記憶されているか否かを判定することにより、シーン検索データに対応する分割ファイルが到着しているか否かを判定する。分割ファイルが到着している場合には、処理はステップＳ４６へ移行し、未着の場合には、処理はステップＳ４８へ移行する。
【００８２】
ステップＳ４６では、制御部１４が、上記ステップＳ３８で選択したシーン検索データに、検索対象フラグ「対象」を設定する。一方、ステップＳ４８では、制御部１４が、上記ステップＳ３８で選択したシーン検索データに、検索対象フラグ「非対象」を設定する。
【００８３】
次に、ステップＳ５０で、制御部１４が、検索対象フラグを設定したシーン検索データを、検索用ＤＢ３４Ｂに記憶し、処理はステップＳ３６に戻る。
【００８４】
次に、図１５に示す更新処理について説明する。更新処理は、定期的なタイミングで繰り返し実行される。
【００８５】
ステップＳ５２で、制御部１４が、検索用ＤＢ３４Ｂから、検索対象フラグが「非対象」のシーン検出データを抽出する。
【００８６】
次に、ステップＳ３６で、制御部１４が、上記ステップＳ５２で抽出したシーン検索データに、以降の処理が未処理のシーン検索データが含まれるか否かを判定する。未処理のシーン検索データが存在する場合には、処理はステップＳ３８へ移行し、図１４に示す受信時処理と同様に、ステップＳ３８〜Ｓ４４で、シーン検索データに対応する分割ファイルが到着しているか否かが判定される。
【００８７】
該当の分割ファイルが到着している場合には、処理はステップＳ５４へ移行し、制御部１４が、上記ステップＳ３８で選択したシーン検索データの検索対象フラグを「対象」に更新し、処理はステップＳ３６に戻る。
【００８８】
ステップＳ３６で、上記ステップＳ５２で抽出された全てのシーン検索データの処理が終了していると判定された場合には、更新処理は終了する。
【００８９】
以上説明したように、本実施形態に係る映像配信システムによれば、海外拠点システムに、遠隔地である国内拠点システムから映像の分割ファイルと、映像に含まれる各シーンを検索するためのシーン毎のシーン検索データとが非同期で複製配置される。この場合において、海外拠点システムの検索制御装置は、シーン検索データが示すシーンを含む分割ファイルが海外拠点システムに未着の場合には、そのシーン検索データが検索対象に含まれないように制御する。これにより、検索結果は挙がってくるにもかかわらず、シーン映像を再生できないという不都合が解消され、国内と海外とで同等の検索環境を提供することができる。
【００９０】
また、各ＤＢ及びストレージは、国内拠点システムと海外拠点システムとの間で、複製用のデータとして、例えば、レプリケーション機能により転送される。これにより、国内拠点システムと海外拠点システムとのレイテンシーが削減される。この際、シーン検索データが記憶される検索用ＤＢについては、一旦、ファイルに書き出して検索用データストレージに記憶し、検索用データストレージ間でレプリケーションすることで、特別な転送方法を新たに用意することなく、本発明を適用可能となる。
【００９１】
なお、上記実施形態では、シーン検索データとして、投球情報がコード化されたものを用いる場合について説明したが、これに限定されず、選手の情報、球種、投球の結果などが文字列で含まれていてもよい。ただし、上記実施形態のように、シーン検索データの各種情報をコード化することで、アプリケーションのインターフェースである表示画面で利用される野球ＤＢの情報とは異なり、シーン検索データを、検索に適したデータ構造のデータとすることができる。
【００９２】
また、上記実施形態では、受信時処理で、検索対象フラグを「対象」又は「非対象」に設定した上で、シーン検索データを検索用ＤＢに記憶する場合について説明したが、これに限定されない。例えば、海外拠点システムに新たに到着したシーン検索データの検索対象フラグを、一旦全て「非対象」に設定した上で、検索用ＤＢに記憶するようにしてもよい。この場合、更新処理により、対応する分割ファイルが到着したシーン検索データから順次、検索対象フラグを「対象」に更新すればよい。
【００９３】
また、上記実施形態では、野球の試合映像を、イニング単位で１つの映像ファイルとし、投球毎のシーンをシーン視聴の対象として検索可能な部分とする場合について説明したが、これに限定されない。試合毎に１つの映像ファイルにしたり、１打席単位でシーン視聴可能としたり、適宜設定可能である。また、対象の映像も野球の試合映像に限定されず、他のスポーツの映像など、様々な映像に適用可能である。
【００９４】
また、上記実施形態では、本発明の第１のデータを映像ファイル、第２のデータをシーン検索データとする場合について説明したが、これに限定されない。例えば、第１のデータは音楽データなどでもよい。本発明は、第１のデータに比べ第２のデータのサイズが小さく、第１のデータと第２のデータとが非同期で遠隔地に配置される場合に適している。
【００９５】
また、上記実施形態では、配置プログラム８０及び検索制御プログラム１０１が記憶部７３、９３に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【００９６】
以上の実施形態に関し、更に以下の付記を開示する。
【００９７】
（付記１）
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信し、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する
ことを含む処理をコンピュータに実行させるための検索制御プログラム。
【００９８】
（付記２）
前記第１のデータ内での各分割データの順序の情報を含む第３のデータをさらに受信し、
前記第３のデータに基づいて、前記第２のデータが示す部分に対応する前記分割データを特定する
付記１に記載の検索制御プログラム。
【００９９】
（付記３）
前記第２のデータは、前記第１のデータにおける前記部分の開始箇所、及び検索条件として指定可能な情報を含む付記１又は付記２に記載の検索制御プログラム。
【０１００】
（付記４）
複製用のデータとして受信した前記第２のデータを、前記検索対象に含めない設定で記憶部に記憶し、前記第２のデータが示す部分に対応する前記分割データを受信した場合に、前記第２のデータを、前記検索対象に含める設定に変更するように制御する付記１〜付記３のいずれか１項に記載の検索制御プログラム。
【０１０１】
（付記５）
前記第１のデータは、映像データであり、
前記第１のデータにおいて検索可能な部分は、前記映像データにおける各シーンである
付記１〜付記４のいずれか１項に記載の検索制御プログラム。
【０１０２】
（付記６）
前記第１のデータは、映像データであり、
前記第３のデータは、前記映像データの各分割データの再生順を示すプレイリストである
付記２に記載の検索制御プログラム。
【０１０３】
（付記７）
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信する受信部と、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する制御部と、
を含む検索制御装置。
【０１０４】
（付記８）
前記受信部は、前記第１のデータ内での各分割データの順序の情報を含む第３のデータをさらに受信し、
前記制御部は、前記第３のデータに基づいて、前記第２のデータが示す部分に対応する前記分割データを特定する
付記７に記載の検索制御装置。
【０１０５】
（付記９）
前記第２のデータは、前記第１のデータにおける前記部分の開始箇所、及び検索条件として指定可能な情報を含む付記７又は付記８に記載の検索制御装置。
【０１０６】
（付記１０）
前記受信部は、複製用のデータとして前記第２のデータを受信し、
前記制御部は、受信した前記第２のデータを、前記検索対象に含めない設定で記憶部に記憶し、前記第２のデータが示す部分に対応する前記分割データを受信した場合に、前記第２のデータを、前記検索対象に含める設定に変更するように制御する付記７〜付記９のいずれか１項に記載の検索制御装置。
【０１０７】
（付記１１）
前記第１のデータは、映像データであり、
前記第１のデータにおいて検索可能な部分は、前記映像データにおける各シーンである
付記７〜付記１０のいずれか１項に記載の検索制御装置。
【０１０８】
（付記１２）
前記第１のデータは、映像データであり、
前記第３のデータは、前記映像データの各分割データの再生順を示すプレイリストである
付記８に記載の検索制御装置。
【０１０９】
（付記１３）
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信し、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する
ことを含む処理をコンピュータが実行する検索制御方法。
【０１１０】
（付記１４）
前記第１のデータ内での各分割データの順序の情報を含む第３のデータをさらに受信し、
前記第３のデータに基づいて、前記第２のデータが示す部分に対応する前記分割データを特定する
付記１３に記載の検索制御方法。
【０１１１】
（付記１５）
前記第２のデータは、前記第１のデータにおける前記部分の開始箇所、及び検索条件として指定可能な情報を含む付記１３又は付記１４に記載の検索制御方法。
【０１１２】
（付記１６）
複製用のデータとして受信した前記第２のデータを、前記検索対象に含めない設定で記憶部に記憶し、前記第２のデータが示す部分に対応する前記分割データを受信した場合に、前記第２のデータを、前記検索対象に含める設定に変更するように制御する付記１３〜付記１５のいずれか１項に記載の検索制御方法。
【０１１３】
（付記１７）
前記第１のデータは、映像データであり、
前記第１のデータにおいて検索可能な部分は、前記映像データにおける各シーンである
付記１３〜付記１６のいずれか１項に記載の検索制御方法。
【０１１４】
（付記１８）
前記第１のデータは、映像データであり、
前記第３のデータは、前記映像データの各分割データの再生順を示すプレイリストである
付記１４に記載の検索制御方法。
【０１１５】
（付記１９）
第１のデータを所定単位で分割した分割データを順次受信すると共に、前記第１のデータにおいて検索可能な部分の各々に関連する第２のデータを、前記第１のデータとは非同期に受信し、
受信した前記第２のデータが示す部分に対応する前記分割データを、前記第２のデータに基づいて特定し、特定した前記分割データを受信済みか否かに応じて、前記部分毎に、検索対象に含めるか否かを制御する
ことを含む処理をコンピュータに実行させるための検索制御プログラムを記憶した記憶媒体。
【符号の説明】
【０１１６】
１０   検索制御装置
１２   受信部
１４   制御部
２０Ａ、２０Ｂ       ウェブサーバ
３０Ａ、３０Ｂ       データベースサーバ
３２Ａ、３２Ｂ       野球データベース
３４Ａ、３４Ｂ       検索用データベース
４０Ａ、４０Ｂ       配信サーバ
４２Ａ、４２Ｂ       映像ストレージ
４４Ａ、４４Ｂ       検索用データストレージ
５０   配置装置
５２   受付部
５４   変換部
５６   生成部
５８   送信部
６０   利用者端末
６２   アプリケーション
７０、９０    コンピュータ
７１、９１    ＣＰＵ
７２、９２    メモリ
７３、９３    記憶部
７９、９９    記憶媒体
８０   配置プログラム
１０１ 検索制御プログラム
１００ 映像配信システム
１１０Ａ      国内拠点システム
１１０Ｂ      海外拠点システム
【図１】
2019114020.tif 000003
【図２】
2019114020.tif 000004
【図３】
2019114020.tif 000005
【図４】
2019114020.tif 000006
【図５】
2019114020.tif 000007
【図６】
2019114020.tif 000008
【図７】
2019114020.tif 000009
【図８】
2019114020.tif 000010
【図９】
2019114020.tif 000011
【図１０】
2019114020.tif 000012
【図１１】
2019114020.tif 000013
【図１２】
2019114020.tif 000014
【図１３】
2019114020.tif 000015
【図１４】
2019114020.tif 000016
【図１５】
2019114020.tif 000017