(57)【要約】      （修正有）【課題】リアルタイムライブ映像の定められたタイミングにイベントデータを提供することのできる正確な同期化方法を提供する。【解決手段】データ同期化方法は、サーバからリアルタイムストリーミングによって第１データと該第１データと関連する第２データとを受信する段階、および第１データに含まれるタイムスタンプを利用して第１データと第２データを同期化して出力する段階を含む。【選択図】図８
2020017954.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムが実行するデータ同期化方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、
当該データ同期化方法は、
前記少なくとも１つのプロセッサにより、サーバからリアルタイムストリーミングによって第１データと前記第１データに関連する第２データとを受信する段階、および
前記少なくとも１つのプロセッサにより、前記第１データに含まれるタイムスタンプを利用して前記第１データと前記第２データを同期化して出力する段階
を含む、データ同期化方法。
【請求項２】
前記タイムスタンプは、前記第１データ内に定義された時間メタデータ（ｔｉｍｅｄ  ｍｅｔａｄａｔａ）に絶対時間として挿入され、
前記第２データには、前記第２データを出力するための出力時間（ｐｏｐ  ｔｉｍｅ）として前記タイムスタンプが設定される、
請求項１に記載のデータ同期化方法。
【請求項３】
前記出力時間は、前記第１データの遅延時間による補償時間値が反映されて設定される、
請求項２に記載のデータ同期化方法。
【請求項４】
当該データ同期化方法は、
前記少なくとも１つのプロセッサにより、前記サーバから前記第１データと前記第２データの同期化のために基準時間となる絶対時間とを受信して、前記サーバとの時間同期化を実行する段階
をさらに含む、請求項１に記載のデータ同期化方法。
【請求項５】
前記第１データと前記第２データを同期化して出力する段階は、
前記第１データが受信された時点と前記第２データが受信された時点の時間差が閾値時間に到達すると、前記第１データとは関係なく前記第２データを出力する段階
を含む、請求項１に記載のデータ同期化方法。
【請求項６】
前記閾値時間は、前記第２データに、前記第２データを出力するための最終期限（ｄｕｅ  ｔｉｍｅ）として設定される、
請求項５に記載のデータ同期化方法。
【請求項７】
前記第１データと前記第２データを同期化して出力する段階は、
前記サーバに前記第１データに対する同期化を周期的に要請し、該要請に対する応答としてリフレッシュの可否を受信する段階
を含む、請求項１に記載のデータ同期化方法。
【請求項８】
前記サーバでは、前記サーバから送出した第１データと前記受信された第１データの時間差が閾値時間を超過する場合、リフレッシュを要請する、
請求項７に記載のデータ同期化方法。
【請求項９】
コンピュータシステムが実行するデータ同期化方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、
当該データ同期化方法は、
前記少なくとも１つのプロセッサにより、サーバからリアルタイムストリーミングによって映像ストリームと前記映像ストリームと関連するイベントデータとを受信する段階、および
前記少なくとも１つのプロセッサにより、前記映像ストリームに含まれるタイムスタンプを利用して前記映像ストリームと前記イベントデータを同期化して出力する段階
を含む、データ同期化方法。
【請求項１０】
前記サーバから前記映像ストリームと前記イベントデータをダウンロードするプリング（ｐｕｌｌｉｎｇ）構造のネットワーク環境において、
前記映像ストリームと前記イベントデータを同期化して出力する段階は、
前記映像ストリームの再生が前記タイムスタンプに到達するときに、前記イベントデータを含むイベントレイヤを出力する、
請求項９に記載のデータ同期化方法。
【請求項１１】
前記タイムスタンプは、前記映像ストリーム内に定義された時間メタデータに、絶対時間として挿入され、
前記イベントデータには、前記イベントデータを出力するための出力時間として前記タイムスタンプが設定される、
請求項９に記載のデータ同期化方法。
【請求項１２】
前記映像ストリームと前記イベントデータを同期化して出力する段階は、
前記映像ストリームが受信された時点と前記イベントデータが受信された時点の時間差が前記イベントデータに設定された閾値時間に到達すると、前記映像ストリームとは関係なく前記イベントデータを出力する段階
を含む、請求項９に記載のデータ同期化方法。
【請求項１３】
請求項１〜１２のうちのいずれか一項に記載のデータ同期化方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
【請求項１４】
コンピュータシステムであって、
メモリ、および
前記メモリに通信可能に接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
サーバから、リアルタイムストリーミングによって第１データと前記第１データと関連する第２データとを受信する過程、および
前記第１データに含まれるタイムスタンプを利用して前記第１データと前記第２データを同期化して出力する過程
を処理する、コンピュータシステム。
【請求項１５】
前記タイムスタンプは、前記第１データ内に定義された時間メタデータに絶対時間として挿入され、
前記第２データには、前記第２データを出力するための出力時間として前記タイムスタンプが設定される、
請求項１４に記載のコンピュータシステム。
【請求項１６】
前記出力時間は、前記第１データの遅延時間による補償時間値が反映されて設定される、
請求項１５に記載のコンピュータシステム。
【請求項１７】
前記少なくとも１つのプロセッサは、
前記サーバから前記第１データと前記第２データの同期化のために基準時間となる絶対時間とを受信して、前記サーバとの時間同期化を実行する過程
を処理する、請求項１４に記載のコンピュータシステム。
【請求項１８】
前記少なくとも１つのプロセッサは、
前記第１データが受信された時点と前記第２データが受信された時点の時間差が閾値時間に到達すると、前記第１データとは関係なく前記第２データを出力する、
請求項１４に記載のコンピュータシステム。
【請求項１９】
前記閾値時間は、前記第２データに、前記第２データを出力するための最終期限として設定される、
請求項１８に記載のコンピュータシステム。
【請求項２０】
前記少なくとも１つのプロセッサは、
前記サーバに前記第１データに対する同期化を周期的に要請し、該要請に対する応答としてリフレッシュの可否を受信する過程
を処理し、
前記サーバでは、前記サーバから送出した第１データと前記受信した第１データの時間差が閾値時間を超過する場合、リフレッシュを要請する、
請求項１４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、リアルタイムライブ映像とイベントの正確な同期化のための技術に関する。
【背景技術】
【０００２】
スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）のような移動端末の性能向上と移動通信技術の発達により、いつどこででも端末を利用してコンテンツ提供者（ＣＰ：Ｃｏｎｔｅｎｔｓ  Ｐｒｏｖｉｄｅｒ）が提供するウェブサーバにアクセスすることができ、写真、ビデオ、オーディオ、アプリケーションなどのような多様なコンテンツを利用することができるようになった。
【０００３】
近年のインターネット環境では、多様な映像サービスの登場に伴ってライブ放送の高画質に対する需要が増加し続けており、中でも移動端末を利用したリアルタイムライブストリーミング（Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）サービスに対する要求が爆発的に増加している。
【０００４】
例えば、特許文献１（登録日２０１８年０１月２３日）には、ライブストリーミング方式によってリアルタイム撮影された複数の撮影映像を併合した出力映像を提供する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国登録特許第１０−１８２１１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
リアルタイムライブ映像の定められたタイミングにイベントデータを提供することのできる正確な同期化を支援することを目的とする。
【課題を解決するための手段】
【０００７】
コンピュータシステムが実行するデータ同期化方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、前記データ同期化方法は、前記少なくとも１つのプロセッサにより、サーバからリアルタイムストリーミングによって第１データと前記第１データと関連する第２データとを受信する段階、および前記少なくとも１つのプロセッサにより、前記第１データに含まれるタイムスタンプを利用して前記第１データと前記第２データを同期化して出力する段階を含む、データ同期化方法を提供する。
【０００８】
一側面によると、前記タイムスタンプは、前記第１データ内に定義された時間メタデータ（ｔｉｍｅｄ  ｍｅｔａｄａｔａ）に絶対時間として挿入され、前記第２データには、前記第２データを出力するための出力時間（ｐｏｐ  ｔｉｍｅ）として前記タイムスタンプが設定されてよい。
【０００９】
他の側面によると、前記出力時間は、前記第１データの遅延時間による補償時間値が反映されて設定されてよい。
【００１０】
また他の側面によると、前記データ同期化方法は、前記少なくとも１つのプロセッサにより、前記サーバから前記第１データと前記第２データの同期化のために基準時間となる絶対時間を受信して、前記サーバとの時間同期化を実行する段階をさらに含んでよい。
【００１１】
また他の側面によると、前記第１データと前記第２データを同期化して出力する段階は、前記第１データが受信された時点と前記第２データが受信された時点の時間差が閾値時間に到達すると、前記第１データとは関係なく前記第２データを出力する段階を含んでよい。
【００１２】
また他の側面によると、前記閾値時間は、前記第２データに、前記第２データを出力するための最終期限（ｄｕｅ  ｔｉｍｅ）として設定されてよい。
【００１３】
また他の側面によると、前記第１データと前記第２データを同期化して出力する段階は、前記サーバに前記第１データに対する同期化を周期的に要請し、要請に対する応答としてリフレッシュの可否を受信する段階を含んでよい。
【００１４】
さらに他の側面によると、前記サーバでは、前記サーバから送出した第１データと前記受信された第１データの時間差が閾値時間を超過する場合、リフレッシュを要請してよい。
【００１５】
コンピュータシステムが実行するデータ同期化方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、前記データ同期化方法は、前記少なくとも１つのプロセッサにより、サーバからリアルタイムストリーミングによって映像ストリームと前記映像ストリームと関連するイベントデータとを受信する段階、および前記少なくとも１つのプロセッサにより、前記映像ストリームに含まれるタイムスタンプを利用して前記映像ストリームと前記イベントデータを同期化して出力する段階を含む、データ同期化方法を提供する。
【００１６】
一側面によると、前記サーバから前記映像ストリームと前記イベントデータをダウンロードするプリング（ｐｕｌｌｉｎｇ）構造のネットワーク環境において、前記映像ストリームと前記イベントデータを同期化して出力する段階は、前記映像ストリームの再生が前記タイムスタンプに到達するときに前記イベントデータを含むイベントレイヤを出力してよい。
【００１７】
他の側面によると、前記タイムスタンプは、前記映像ストリーム内に定義された時間メタデータに絶対時間として挿入され、前記イベントデータには、前記イベントデータを出力するための出力時間として前記タイムスタンプが設定されてよい。
【００１８】
また他の側面によると、前記映像ストリームと前記イベントデータを同期化して出力する段階は、前記映像ストリームが受信された時点と前記イベントデータが受信された時点の時間差が前記イベントデータに設定された閾値時間に到達すると、前記映像ストリームとは関係なく前記イベントデータを出力する段階を含んでよい。
【００１９】
前記データ同期化方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
【００２０】
コンピュータシステムであって、メモリ、および前記メモリに通信可能に接続され、前記メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、サーバからリアルタイムストリーミングによって第１データと前記第１データと関連する第２データとを受信する過程、および前記第２データに含まれるタイムスタンプを利用して前記第１データと前記第２データを同期化して出力する過程を処理する、コンピュータシステムを提供する。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、ライブ放送サービスのためのシステム環境の全体例を示した図である。
【図４】本発明の一実施形態における、ライブ放送サービス過程を示したフローチャートである。
【図５】本発明の一実施形態における、放送映像にイベントレイヤを出力する画面の例を示した図である。
【図６】本発明の一実施形態における、イベントデータ構造の例を示した図である。
【図７】本発明の一実施形態における、映像ストリームデータ構造の例を示した図である。
【図８】本発明の一実施形態における、映像ストリームとイベントの同期化過程を示した図である。
【図９】本発明の一実施形態における、映像ストリームとイベントの同期化過程を示した図である。
【図１０】本発明の一実施形態における、映像ストリームとイベントの同期化過程を示した図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【００２３】
本発明の実施形態は、リアルタイムライブ映像とイベントの正確な同期化のための技術に関する。
【００２４】
本明細書において具体的に開示される事項などを含む実施形態は、リアルタイムライブ映像とイベント提供のタイミングの正確な同期化を実行することができ、これによってサービスの品質、正確性、効率性、利便性などの側面において相当な長所を達成することができる。
【００２５】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００２６】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータシステムによって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型ＰＣ、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレット、ゲームコンソール、ウェアラブルデバイス、ＩｏＴ（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）デバイス、ＶＲ（ｖｉｒｔｕａｌ  ｒｅａｌｉｔｙ）デバイス、ＡＲ（ａｕｇｍｅｎｔｅｄ  ｒｅａｌｉｔｙ）デバイスなどがある。一例として、図１では、電子機器１１０の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器１１０は、実質的に無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な物理的なコンピュータシステムのうちの１つを意味してよい。
【００２７】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など）を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００２８】
サーバ１５０、１６０のそれぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する１つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第１サービスを提供するシステムであってよく、サーバ１６０も、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０に第２サービスを提供するシステムであってよい。より具体的な例として、サーバ１５０は、複数の電子機器１１０、１２０、１３０、１４０においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じ、該当のアプリケーションが目的とするサービス（一例として、ライブ放送サービスなど）を第１サービスとして複数の電子機器１１０、１２０、１３０、１４０に提供してよい。他の例として、サーバ１６０は、上述したアプリケーションのインストールおよび実行のためのファイルを複数の電子機器１１０、１２０、１３０、１４０に配布するサービスを第２サービスとして提供してよい。
【００２９】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、電子機器に対する例として電子機器１１０の内部構成およびサーバ１５０の内部構成について説明する。また、他の電子機器１２０、１３０、１４０やサーバ１６０も、上述した電子機器１１０またはサーバ１５０と同一または類似の内部構成を有してよい。
【００３０】
電子機器１１０およびサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、非一時的なコンピュータ読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ディスクドライブ、ＳＳＤ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などのような永続的大容量記録装置を含んでよい。ここで、ＲＯＭ、ＳＳＤ、フラッシュメモリ、ディスクドライブのような永続的大容量記録装置は、メモリ２１１、２２１とは区分される別の永続的記録装置として電子機器１１０やサーバ１５０に含まれてもよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電子機器１１０においてインストールされて実行されるブラウザや特定のサービスの提供のために電子機器１１０にインストールされるアプリケーションなどのためのコード）が記録されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータ読み取り可能な記録媒体からロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるコンピュータプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００３１】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に記録されたプログラムコードに従って受信される命令を実行するように構成されてよい。
【００３２】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１１０とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器１１０および／またはサーバ１５０が他の電子機器（一例として、電子機器１２０）または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１１０のプロセッサ２１２がメモリ２１１のような記録装置に記録されたプログラムコードに従って生成した要求が、通信モジュール２１３の制御に従ってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１１０の通信モジュール２１３を通じて電子機器１１０に受信されてよい。例えば、通信モジュール２１３を通じて受信されたサーバ１５０の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、電子機器１１０がさらに含むことのできる記録媒体（上述した永続的記録装置）に記録されてよい。
【００３３】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を含んでよく、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイスなどのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２１５は、電子機器１１０と１つの装置で構成されてもよい。また、サーバ１５０の入力／出力インタフェース２２４は、サーバ１５０に接続するかサーバ１５０が含むことのできる入力または出力のための装置（図示せず）とのインタフェースのための手段であってよい。より具体的な例として、電子機器１１０のプロセッサ２１２がメモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器１２０が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。
【００３４】
また、他の実施形態において、電子機器１１０およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器１１０は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器１１０がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が、電子機器１１０にさらに含まれるように実現されてよい。
【００３５】
図３は、本発明の一実施形態における、ライブ放送サービスのためのシステム環境の全体例を示した図である。
【００３６】
図３は、ライブ放送サーバ３１０と、映像送出サーバ３２０と、イベント送出サーバ３３０とを含む放送サービスシステム３０、および電子機器３００を示している。ライブ放送サーバ３１０、映像送出サーバ３２０、イベント送出サーバ３３０のそれぞれは、図１および図２を参照しながら説明したサーバ１５０と同一または類似の内部構成要素を有する装置であってよい。さらに、電子機器３００は、図１および図２を参照しながら説明した電子機器１１０と同一または類似の内部構成要素を有する装置であってよい。図３では、ライブ放送サーバ３１０、映像送出サーバ３２０、イベント送出サーバ３３０をそれぞれ１つずつ示しているが、必要によっては、複数のサーバグループで実現されてもよい。例えば、映像送出サーバ３２０とイベント送出サーバ３３０は、同時接続者数のような性能イシューに応じて、要求されるサーバの数が決定されてよい。
【００３７】
電子機器３００に搭載されたクライアントアプリケーション３０１は、ネットワーク１７０を介して放送サービスシステム３０のライブ放送サーバ３１０、映像送出サーバ３２０、およびイベント送出サーバ３３０と連結する。ライブ放送サーバ３１０は、内部網（図示せず）または専用回線（図示せず）を介して映像送出サーバ３２０およびイベント送出サーバ３３０と連結し、互いに連動して動作する。映像送出サーバ３２０およびイベント送出サーバ３３０は、ライブ放送サーバ３１０から提供されるデータを受信して電子機器３００に伝達する役割をする。
【００３８】
クライアントアプリケーション３０１は、オープンＡＰＩ（Ｏｐｅｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用して製作されたアプリケーションであり、ソフトウェアであってもよく、ハードウェアと結合した形態であってもよい。クライアントアプリケーション３０１は、ライブ放送サーバ３１０または応用プログラム開発者（図示せず）によって製作および配布されて、ライブ放送サーバ３１０が提供するデジタルコンテンツを活用するアプリケーションを意味する。このとき、デジタルコンテンツは、ライブ放送サービスのためにデジタルフォーマットで製作または加工された映像コンテンツであって、ライブ（Ｌｉｖｅ）動画やビデオ・オン・デマンド（ＶＯＤ）コンテンツなどを含んでよい。
【００３９】
ライブ放送サーバ３１０は、映像コンテンツを製作および供給するものであるが、例えば、ライブ放送サービスを提供するスタジオや外注製作会社などであってよい。このようなライブ放送サーバ３１０は、製作した映像コンテンツを映像送出サーバ３２０に提供し、また、映像コンテンツと関連するイベントデータをイベント送出サーバ３３０に提供する。このとき、このような提供経路は、オンライン上で行われてもよいし、オフライン上で行われてもよい。ライブ放送サーバ３１０、映像送出サーバ３２０、およびイベント送出サーバ３３０は、１つの事業者によって運用されてもよいし、互いに異なる個別の事業者によって運用されてもよい。
【００４０】
以下、ライブクイズショーをライブ放送サービスの代表的な例として具体的な実施形態を説明する。
【００４１】
ライブ放送サーバ３１０は、ライブクイズショーのための放送映像を送出するものであり、放送映像を映像送出サーバ３２０に提供し、放送映像と連係するイベントデータをイベント送出サーバ３３０に提供する。ここで、イベントデータとは、放送映像に関連する情報コンテンツを包括したものを意味してよく、例えば、クイズ（質問と選択項目）、正解、ヒント、中間広告などを含んでよいが、この他にも映像に同期化されるイベントであればすべて適用可能である。
【００４２】
クライアントアプリケーション３０１は、電子機器３００のメモリ（例えば、メモリ２１１など）に記録され、放送サービスシステム３０と連動して固有のサービスであるライブ放送サービスを提供する機能を実現してよい。
【００４３】
映像送出サーバ３２０は、ライブストリームデータを提供するエンコーダ（図示せず）を含むメディアソース装置であってよい。映像送出サーバ３２０は、ライブ放送サーバ３１０から提供された放送映像をライブストリームデータにし、すなわち、リアルタイムライブ映像を電子機器３００に提供してよい。映像送出サーバ３２０から提供されるリアルタイムライブ映像が、クライアントアプリケーション３０１を介して電子機器３００で再生され、電子機器３００のユーザに提供されてよい。
【００４４】
図４は、本発明の一実施形態における、ライブクイズショーのサービス過程を示したフローチャートである。クライアント４００とは、クライアントアプリケーション３０１が搭載された電子機器３００を意味してよい。
【００４５】
クライアント４００は、イベント送出サーバ３３０に対して、ＩＤとパスワードを利用したログイン方式などによってユーザ認証を行う（Ｓ４０１）。言い換えれば、イベント送出サーバ３３０からクライアント４００にサービスの利用権限が付与されることにより、クライアント４００と放送サービスシステム３０との連結が成立するようになる。イベント送出サーバ３３０からクライアント４００にサービスの利用権限が付与されると説明したが、これに限定されることはなく、ライブ放送サーバ３１０または映像送出サーバ３２０に対する認証方式も実現可能である。
【００４６】
クライアント４００のユーザ認証が成功した場合、映像送出サーバ３２０は、ライブ放送サーバ３１０から提供された放送映像を、リアルタイムライブストリーミングによってクライアント４００に送信する（Ｓ４０２）。放送映像のリアルタイムライブストリーミングのための転送プロトコルとして、ＨＴＴＰライブストリーミング（ＨＬＳ：ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）、リアルタイムメッセージングプロトコル（ＲＴＭＰ：Ｒｅａｌ  Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ：Ｒｅａｌ−ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）、リアルタイム転送プロトコル（ＲＴＰ：Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、リアルタイム転送制御プロトコル（ＲＴＣＰ：Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）などが用いられてよい。
【００４７】
イベント送出サーバ３３０は、ライブ放送サーバ３１０から提供された、放送映像と連係するイベントデータをクライアント４００に送信するが（Ｓ４０３）、このとき、クライアント４００では、再生される放送映像との同期化によって、放送映像に合わせてイベントデータが出力される。
【００４８】
クライアント４００では、映像送出サーバ３２０からリアルタイムライブストリーミングによって提供された放送映像が再生されてよく、放送映像が再生される過程において、同期化によって、所定のタイミングに、イベント送出サーバ３３０から提供されたイベントデータを含むイベントレイヤが、放送映像が再生されている画面上に出力されてよい。例えば、図５を参照すると、クライアント４００は、ライブクイズショーの放送映像が再生されている映像画面５００上に、クイズの質問と選択肢を含むイベントレイヤ５０１をポップアップ形態で表示してよい。
【００４９】
ライブクイズショーをサービスするためにリアルタイムライブ映像を再生している最中に、クイズ、正解、ヒントなどのイベントデータを表示するとき、定められたタイミングにイベントレイヤを正確に同期化することが必要となる。
【００５０】
以下では、リアルタイムライブ映像とイベントの同期化のための方法およびシステムの具体的な実施形態について説明する。
【００５１】
図６は、イベントデータ６００の例を示した図である。
【００５２】
図６に示すように、イベントがクイズであると仮定するとき、イベントデータ６００には、イベントオブジェクトとしてクイズ６１０とイベント時間６２０が含まれてよい。クイズ６１０は質問（ｑｕｅｓｔｉｏｎ）と選択肢（ｉｔｅｍ）で構成され、イベント時間６２０は、イベントレイヤの出力に関する時間情報を含むことができる。一例として、イベント時間６２０は、映像にクイズを出力する出力時間（ｐｏｐ  ｔｉｍｅ）、クイズの出力が可能な最終期限（ｄｕｅ  ｔｉｍｅ）、およびクイズの出力が維持される出力維持時間（ｐｏｐ  ｄｕｒａｔｉｏｎ）を含んでよい。
【００５３】
図７は、映像ストリームデータ構造の例を示した図である。
【００５４】
図７を参照すると、映像ストリーム内部には、時間メタデータ（ｔｉｍｅｄ  ｍｅｔａｄａｔａ）が定義されている。映像ストリームデータは、転送プロトコルによって一定の区間（ｓｅｇｍｅｎｔ）に分割され、各区間に対してメタデータファイルが指定されることによって時間メタデータが定義されてよい。時間メタデータには、各区間別に映像内の時間情報を示す相対シーケンス（ｒｅｌａｔｉｖｅ  ｓｅｑｕｅｎｃｅ）７１０が含まれてよい。
【００５５】
リアルタイムライブ映像とイベントの同期化のためには、イベント時間６２０を参照することができる時間値が必要となり、このとき、イベント時間６２０を、映像に定義されている時間と比較するようになる。参照時間値として活用するためには映像内の時間メタデータに絶対時間の定義が必要とされるが、本発明では、時間メタデータに含まれる相対シーケンス７１０を参照することによって、絶対時間であるタイムスタンプ（ｔｉｍｅｓｔａｍｐ）７２０に変えてよい。
【００５６】
映像ストリーム内において、定義された時間メタデータに、クイズイベントレイヤを表示させる時間を示すタイムスタンプ７２０を含めることができる。時間メタデータに含まれるタイムスタンプ７２０を利用すると、映像内の特定の区間が絶対時間のどの時点に生成されたかを識別することができ、正確な同期化によってクイズイベントレイヤを表示させることが可能となる。
【００５７】
ＨＬＳ（ＨＴＴＰライブストリーミング）などのようにサーバからデータをダウンロードするプリング（ｐｕｌｌｉｎｇ）構造のネットワーク環境では、互いに異なるデータの絶対時間を比較することで、データ間の同期化を効率よく実行できるようになる。
【００５８】
図８は、リアルタイムライブ映像とイベントの同期化過程の一例を示した図である。
【００５９】
イベント送出サーバ３３０は、クライアント４００との連結が成立すると、クライアント４００の基準時間となる絶対時間を提供することができる（Ｓ８０１）。クライアント４００に絶対時間を提供する主体は、イベント送出サーバ３３０はもちろん、ライブ放送サーバ３１０または映像送出サーバ３２０から提供することも可能である。ライブ放送サーバ３１０、映像送出サーバ３２０、イベント送出サーバ３３０の他にも、個別のタイムサーバ（図示せず）からユニックス標準を基盤とした絶対時間をクライアント４００に提供することも可能である。
【００６０】
クライアント４００のユーザ認証が成功すると、ライブ放送サーバ３１０、映像送出サーバ３２０、イベント送出サーバ３３０は、クライアント４００に対して基準時間を同期化することができる。クライアント４００は、イベント送出サーバ３３０から提供される絶対時間にタイマーを実行することにより、イベント送出サーバ３３０との時間同期化が成立するようになる。したがって、クライアント４００の環境に依存することなく、クライアント４００に設定された時間値とは関係なく、イベント送出サーバ３３０との統一された時間を基準に、リアルタイムライブ映像とイベントの同期化を処理することが可能となる。
【００６１】
時間同期化が完了すると、映像送出サーバ３２０は、放送映像の映像ストリームをクライアント４００に送信し（Ｓ８０２）、イベント送出サーバ３３０は、放送映像に関連するイベントデータをクライアント４００に送信する（Ｓ８０３）。
【００６２】
図８は、放送映像のうち、絶対時間ｔ１の区間再生が始まる時点にイベントレイヤを出力する場合を仮定する。
【００６３】
データ特性により、互いに異なる２つのデータの受信時点の時間差（ｔｉｍｅ  ｇａｐ）が発生することがある。言い換えれば、クライアント４００で映像ストリームを受信する時点とイベントデータを受信する時点との間に時間差（ｇ０）が発生する。
【００６４】
これを解決するためには、イベント出力を遅延させ、クライアント４００でｔ１時点の映像が実際に再生されるときに合わせてイベントレイヤを出力させる。
【００６５】
一例として、映像のｔ１時点に出力しようとするイベントデータの出力時間をｔ１に設定し（ｐｏｐ  ｔｉｍｅ＝ｔ１）、映像再生がｔ１に到達したときに、出力時間がｔ１に設定されたイベントデータを含むイベントレイヤが出力される。イベントレイヤの出力は、該当のイベントデータに設定された出力維持時間（ｐｏｐ  ｄｕｒａｔｉｏｎ）の間、維持される。
【００６６】
また、ライブ放送サーバ３１０から映像送出サーバ３２０に放送映像を送出する時間、映像送出サーバ３２０で放送映像をトランスコーディング（ｔｒａｎｓｃｏｄｉｎｇ）する時間など、必然的に必要となる遅延時間を勘案してイベントデータの出力時間を設定してよい。したがって、遅延時間による補償時間値（Ｃｏｍｐｅｎｓａｔｉｏｎ  ｔｉｍｅ）（ｔｃ）を反映させてイベントデータの出力時間を設定することが可能となる（ｐｏｐ  ｔｉｍｅ＝ｔ１’、ｔ１’＝ｔ１＋ｔｃ）。
【００６７】
したがって、クライアント４００は、映像ストリームとイベントデータに設定された絶対時間を利用することにより、放送映像の定められた時間にイベントレイヤを正確に同期化して出力することが可能になる。
【００６８】
図９は、リアルタイムライブ映像とイベントの同期化過程の他の例を示した図である。図９も図８と同様に、放送映像のうち、絶対時間ｔ１の区間再生が始まる時点にイベントレイヤを出力する場合を仮定したものである。
【００６９】
クライアント４００は、映像ストリームを受信するのにかかる時間がネットワーク環境によって異なり、ライブクイズショーを利用するクライアントごとにネットワーク環境が異なるため、映像ストリームを受信する時間が異なるようになる。
【００７０】
図９を参照すると、クライアント４００は、映像ストリームを受信する時点とイベントデータを受信する時点の時間差（ｇ０）を閾値時間（ｃｒｉｔｉｃａｌ  ｔｉｍｅ）に該当する最終期限（ｄｕｅ  ｔｉｍｅ）と比較し、時間差（ｇ０）が最終期限（ｄｕｅ  ｔｉｍｅ）を超過する場合、放送映像の再生とは関係なく、出力時間がｔ１に設定されたイベントデータを含むイベントレイヤを出力する。言い換えれば、クライアント４００は、映像ストリームを受信する時点とイベントデータを受信する時点の時間差（ｇ０）が閾値時間（ｃｒｉｔｉｃａｌ  ｔｉｍｅ）に到達する時点で、イベントレイヤを絶対的に出力してよい。イベントレイヤの出力は、該当のイベントデータに設定された出力維持時間（ｐｏｐ  ｄｕｒａｔｉｏｎ）の間、維持される。
【００７１】
したがって、クライアント４００は、ネットワーク環境によって映像ストリームが正常に受信されない場合でも、イベントデータに設定された最終期限（ｄｕｅ  ｔｉｍｅ）になれば、イベントレイヤを出力することが可能となる。
【００７２】
図１０は、リアルタイムライブ映像とイベントの同期化過程のさらに他の例を示した図である。
【００７３】
ライブ放送サーバ３１０は、映像送出サーバ３２０に伝達される映像ストリームが該当の映像内のどの区間に該当するかを持続的にモニタリングすることができ、クライアント４００は、ライブ放送サーバ３１０に、最近の受信区間に関する情報を要請するライブ同期化コマンドを周期的に伝達することができる（Ｓ１００４）。例えば、クライアント４００は、映像送出サーバ３２０から映像ストリームを受信することができない状況などに備え、一定の周期ごとにライブ放送サーバ３１０にライブ同期化を要請してよい。
【００７４】
ライブ放送サーバ３１０は、クライアント４００から伝達されたライブ同期化コマンドに対する応答としてリフレッシュ（ｒｅｆｒｅｓｈ）の可否を決定し、クライアント４００に伝達することができる（Ｓ１００５）。ライブ放送サーバ３１０は、送出中の放送映像について、映像送出サーバ３２０に伝達される区間とクライアント４００で最近受信した区間の時間差が、事前に設定された閾値時間（例えば、１３秒）を超過する場合、クライアント４００にリフレッシュを要請してよい。リフレッシュを決定する基準となる閾値時間は、サービス特性（例えば、次のクイズ表示時間など）を考慮した上で決定されてよい。
【００７５】
クライアント４００は、ライブ放送サーバ３１０のリフレッシュ要請に応じて、以前に受信したデータは廃棄し、図８を参照しながら説明した、上述した過程８０１〜過程８０３を再び実行してよい。
【００７６】
このように、本発明の実施形態によると、クライアント４００は、ライブクイズショーの放送映像を再生している最中にイベントレイヤを表示するとき、映像内のタイムスタンプが挿入された区間が再生されている時点にイベントレイヤを正確に同期化して表示することが可能になる。
【００７７】
上述では、リアルタイムライブ映像とイベントデータの同期化について説明したが、これだけに限定されることはなく、互いに異なる複数の映像の同期化はもちろん、トランスコーディングなどによってデータ到達時間が互いに異なるデータ（例えば、第１データおよび該第１データに関連する第２データ）を同じ時間に合わせて出力しなければならない場合であれば、すべて適用対象となる。
【００７８】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）およびＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるものとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００７９】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【００８０】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【００８１】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合または組み合わされたり、他の構成要素または均等物によって代替または置換されたとしても、適切な結果を達成することができる。
【００８２】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００８３】
３０：放送サービスシステム
３００：電子機器
３０１：クライアントアプリケーション
３１０：ライブ放送サーバ
３２０：映像送出サーバ
３３０：イベント送出サーバ
【図１】
2020017954.tif 000003
【図２】
2020017954.tif 000004
【図３】
2020017954.tif 000005
【図４】
2020017954.tif 000006
【図５】
2020017954.tif 000007
【図６】
2020017954.tif 000008
【図７】
2020017954.tif 000009
【図８】
2020017954.tif 000010
【図９】
2020017954.tif 000011
【図１０】
2020017954.tif 000012