(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】多重ライブ配信環境でのチャンネル間の高速切替モードを実現する方法、システム、およびコンピュータ読み取り可能な記録媒体
(51)【国際特許分類】
H04N 21/482 20110101AFI20240806BHJP
H04N 21/431 20110101ALI20240806BHJP
【FI】
H04N21/482
H04N21/431
(21)【出願番号】P 2023513587
(86)(22)【出願日】2021-09-06
(86)【国際出願番号】 KR2021012025
(87)【国際公開番号】W WO2022055198
(87)【国際公開日】2022-03-17
【審査請求日】2023-02-27
(31)【優先権主張番号】10-2020-0115872
(32)【優先日】2020-09-10
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チャン,ジュンギ
(72)【発明者】
【氏名】キム,ソンホ
(72)【発明者】
【氏名】ノ,ヘソン
(72)【発明者】
【氏名】ジョン,ユンホ
(72)【発明者】
【氏名】キム,ジンフン
(72)【発明者】
【氏名】ジョン,ヨンジン
(72)【発明者】
【氏名】キム,ジョンギ
(72)【発明者】
【氏名】カン,インチョル
(72)【発明者】
【氏名】イ,ジョンヒョク
(72)【発明者】
【氏名】アン,ジェチョル
(72)【発明者】
【氏名】チョウ,ソンテク
【審査官】醍醐 一貴
(56)【参考文献】
【文献】特開平08-279995(JP,A)
【文献】特開2007-329847(JP,A)
【文献】特表2005-522922(JP,A)
【文献】米国特許第06418473(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
コンピュータ装置で実行されるライブ動画再生方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記ライブ動画再生方法は、
前記少なくとも1つのプロセッサにより、ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビュー(multi-view)を構成する段階、および
前記少なくとも1つのプロセッサにより、前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビュー(full-view)に切り替える段階
を含
み、
前記マルチビューと前記フルビュー間の映像切替のために、映像ストリームのセグメントデュレーション(Segment Duration)を変更すること
を特徴とする、ライブ動画再生方法。
【請求項2】
前記マルチビューを構成する段階は、
前記合成映像からチャンネルごとに構成された映像(composition image)を分離することにより、各チャンネルのスプライト(sprite)を取得する段階、および
前記各チャンネルのスプライトをレイアウトに合わせてレンダリングして前記マルチビューを構成する段階
を含む、請求項1に記載のライブ動画再生方法。
【請求項3】
前記合成映像は、一チャンネルの映像が残りの他のチャンネルの映像よりも解像度が高いメイン映像として構成され、前記他のチャンネルの映像はサブ映像として構成されること
を特徴とする、請求項1または2に記載のライブ動画再生方法。
【請求項4】
前記フルビューに切り替える段階は、
前記マルチビューから前記特定のチャンネルの映像が選択されれば、前記合成映像から分離された各チャンネルのスプライトのうちで前記特定のチャンネルのスプライトを全体画面にレンダリングした後、前記原本映像を受信し、前記原本映像を全体画面にレンダリングする段階
を含む、請求項1~3のうちのいずれか1項に記載のライブ動画再生方法。
【請求項5】
前記特定のチャンネルのスプライトが全体画面にレンダリングされたフルビューにおいて、残りの他のチャンネルのスプライトは、レンダリング
されないこと
を特徴とする、請求項4に記載のライブ動画再生方法。
【請求項6】
前記ライブ動画再生方法は、
前記少なくとも1つのプロセッサにより、前記フルビューから前記マルチビューへの切替要請を受信する場合、前記合成映像を受信して前記フルビューから前記マルチビューに切り替える段階
をさらに含む、請求項1~5のうちのいずれか1項に記載のライブ動画再生方法。
【請求項7】
コンピュータ装置で実行されるライブ動画再生方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記ライブ動画再生方法は、
前記少なくとも1つのプロセッサにより、ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビュー(multi-view)を構成する段階、および
前記少なくとも1つのプロセッサにより、前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビュー(full-view)に切り替える段階
を含み、
前記ライブ動画再生方法は、
前記少なくとも1つのプロセッサにより、前記フルビューから前記マルチビューへの切替要請を受信する場合、前記合成映像を受信して前記フルビューから前記マルチビューに切り替える段階
をさらに含み、
前記マルチビューに切り替える段階は、
前記切替要請にしたがい、臨時画面を事前に定められたレイアウトでレンダリングした後、前記合成映像を受信し、前記合成映像から分離された各チャンネルのスプライトを前記マルチビューのレイアウトでレンダリングする段階
を含む
、ライブ動画再生方法。
【請求項8】
前記マルチビューに切り替える段階は、
映像ストリームに含まれたサムネイル、前記原本映像の複写、前記フルビューに切り替わる前にマルチビューで表示された最後の映像のうちのいずれか1つを利用して前記臨時画面を構成する段階
を含む、請求項7に記載のライブ動画再生方法。
【請求項9】
前記複
写を利用した前記臨時画面の場合、前記複
写がブロー(blur)処理されて表示されること
を特徴とする、請求項8に記載のライブ動画再生方法。
【請求項10】
コンピュータ装置で実行されるライブ動画再生方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記ライブ動画再生方法は、
前記少なくとも1つのプロセッサにより、ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビュー(multi-view)を構成する段階、および
前記少なくとも1つのプロセッサにより、前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビュー(full-view)に切り替える段階
を含み、
映像ストリームのコンテナに含まれた時間指定メタデータ(timed-metadata)を利用して、前記マルチビューと前記フルビュー間の映像切替時点を判断すること
を特徴とする
、ライブ動画再生方法。
【請求項11】
請求項1~
10のうちのいずれか1項に記載のライブ動画再生方法をコンピュータに実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項12】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビューを構成し、
前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビューに切り替え
、
前記マルチビューと前記フルビュー間の映像切替のために、映像ストリームのセグメントデュレーションを変更すること
を特徴とする、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサは、
前記合成映像からチャンネルごとに構成された映像を分離することによって各チャンネルのスプライトを取得し、
前記各チャンネルのスプライトをレイアウトに合わせてレンダリングして前記マルチビューを構成すること
を特徴とする、請求項
12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサは、
前記マルチビューから前記特定のチャンネルの映像が選択されれば、前記合成映像から分離された各チャンネルのスプライトのうちで前記特定のチャンネルのスプライトを全体画面にレンダリングした後、前記原本映像を受信し、前記原本映像を全体画面にレンダリングすること
を特徴とする、請求項
12または
13に記載のコンピュータ装置。
【請求項15】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビューを構成し、
前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビューに切り替え、
前記フルビューから前記マルチビューへの切替要請を受信する場合、前記合成映像を受信して前記フルビューから前記マルチビューに切り替え、
前記切替要請にしたがい、臨時画面を事前に定められたレイアウトでレンダリングした後、前記合成映像を受信し、前記合成映像から分離された各チャンネルのスプライトを前記マルチビューのレイアウトでレンダリングすること
を特徴とする
、コンピュータ装置。
【請求項16】
前記少なくとも1つのプロセッサは、
映像ストリームに含まれたサムネイル、前記原本映像の複写、前記フルビューに切り替わる前にマルチビューで表示された最後の映像のうちのいずれか1つを利用して前記臨時画面を構成すること
を特徴とする、請求項
15に記載のコンピュータ装置。
【請求項17】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビューを構成し、
前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビューに切り替え、
映像ストリームのコンテナに含まれた時間指定メタデータを利用して、前記マルチビューと前記フルビュー間の映像切替時点を判断すること
を特徴とする
、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、多重ライブ配信環境でチャンネルを切り替えるための技術に関する。
【背景技術】
【0002】
超高速通信網の利用者の急増は、通信網を利用した新規サービスの開発およびサービスアイテムの多様化を可能にした。このような通信網を利用したサービスのうちで最も一般的なものとして動画サービスを挙げることができる。
【0003】
例えば、韓国登録特許第10-0827198号(登録日2008年4月25日)「動画リンクサービスを提供する装置およびその方法」には、移動通信端末機を利用して、インターネット上にリンクされた動画を移動中に鑑賞することができる動画リンクサービスを提供する技術が開示されている。
【0004】
クライアント-サーバ方式の動画サービスシステムは、マルチビューサーバからのリアルタイム動画ストリーミングをクライアントに伝達する構造であり、ライブ配信環境ではカメラなどから入力された映像をエンコードし、オーディオデータとともにリアルタイムでクライアントに伝達する方式が使用されている。
【0005】
ライブ配信のための動画ストリーミングデータがマルチチャンネルで入ってくる場合、マルチチャンネルとして入ってくる多数の動画をリアルタイムでエンコードして送信する方式では、多数のクライアントを対象にしてライブ動画サービスを提供するのに多くの困難と限界がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
マルチチャンネルのライブ動画を提供する多重ライブ配信環境において、最小限のネットワークによってマルチチャンネルの動画を含むマルチビュー(multi-view)を構成することができる方法およびシステムを提供する。
【0007】
多重ライブ配信環境でのチャンネル切替時に、オーディオおよびビデオの同期を維持しながら高速切替(fast switching)モードを実現することができる方法およびシステムを提供する。
【課題を解決するための手段】
【0008】
コンピュータ装置で実行されるライブ動画再生方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記ライブ動画再生方法は、前記少なくとも1つのプロセッサにより、ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビュー(multi-view)を構成する段階、および前記少なくとも1つのプロセッサにより、前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定のチャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビュー(full-view)に切り替える段階を含む、ライブ動画再生方法を提供する。
【0009】
一側面によると、前記マルチビューを構成する段階は、前記合成映像からチャンネルごとに構成された映像(composition image)を分離することによって各チャンネルのスプライト(sprite)を取得する段階、および前記各チャンネルのスプライトをレイアウトに合わせてレンダリングして前記マルチビューを構成する段階を含んでよい。
【0010】
他の側面によると、前記合成映像は、一チャンネルの映像の解像度が残りの他のチャンネルよりも高いメイン映像として構成され、前記他のチャンネルの映像はサブ映像として構成されてよい。
【0011】
また他の側面によると、前記フルビューに切り替える段階は、前記マルチビューから前記特定のチャンネルの映像が選択されれば、前記合成映像から分離した各チャンネルのスプライトのうちで前記特定のチャンネルのスプライトを全体画面にレンダリングした後、前記原本映像を受信して、前記原本映像を全体画面にレンダリングする段階を含んでよい。
【0012】
また他の側面によると、前記特定のチャンネルのスプライトが全体画面にレンダリングされたフルビューでは、残りの他のチャンネルのスプライトはレンダリングされずに隠し(hidden)状態で含まれてよい。
【0013】
また他の側面によると、前記ライブ動画再生方法は、前記少なくとも1つのプロセッサにより、前記フルビューから前記マルチビューへの切替要請を受信する場合、前記合成映像を受信して前記フルビューから前記マルチビューに切り替える段階をさらに含んでよい。
【0014】
また他の側面によると、前記マルチビューに切り替える段階は、前記切替要請にしたがい、臨時画面を事前に定められたレイアウトでレンダリングした後、前記合成映像を受信して、前記合成映像から分離した各チャンネルのスプライトを前記マルチビューのレイアウトでレンダリングする段階を含んでよい。
【0015】
また他の側面によると、前記マルチビューに切り替える段階は、映像ストリームに含まれたサムネイル、前記原本映像の複写本、前記フルビューに切り替わる前にマルチビューで表示された最後の映像のうちのいずれか1つを利用して前記臨時画面を構成する段階を含んでよい。
【0016】
また他の側面によると、前記複写本を利用した前記臨時画面の場合、前記複写本がブロー(blur)処理されて表示されてよい。
【0017】
また他の側面によると、前記マルチビューと前記フルビューの映像切替のために、映像ストリームのセグメントデュレーション(Segment Duration)を変更してよい。
【0018】
また他の側面によると、前記マルチビューと前記フルビューの映像切替のために、プレーヤバッファで以前データに該当する映像ストリームをフラッシュ(flush)してよい。
【0019】
さらに他の側面によると、映像ストリームのコンテナに含まれた時間指定メタデータ(timed-metadata)を利用して、前記マルチビューと前記フルビューの映像切替時点を判断してよい。
【0020】
前記ライブ動画再生方法をコンピュータに実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0021】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ライブ配信環境でのマルチチャンネルの映像が1つに合成された合成映像を1つのストリームで受信して前記マルチチャンネルの映像からなるマルチビューを構成し、前記マルチビューから特定のチャンネルの映像が選択されることによって前記特定チャンネルの原本映像を受信して、前記マルチビューから前記特定のチャンネルの映像に対するフルビューに切り替えることを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0022】
本発明の実施形態によると、多重ライブ配信環境でマルチチャンネルのライブ動画を合成した1つのストリームを受信してマルチビューを構成することにより、最小限のネットワークでマルチチャンネルのライブ動画を再生することができる。
【0023】
本発明の実施形態によると、多重ライブ配信環境でのチャンネル間の切替時に、オーディオおよびビデオの同期を維持しながら高速切替モードを実現することができ、サービス品質(QoS)と体感品質(QoE)を高めることができる。
【図面の簡単な説明】
【0024】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【
図3】本発明の一実施形態における、ライブ動画サービスを提供する過程の例を示した図である。
【
図4】本発明の一実施形態における、多重ライブ配信環境の例を示した図である。
【
図5】本発明の一実施形態における、マルチチャンネルのビデオをエンコードする過程の例を示した図である。
【
図6】本発明の一実施形態における、ライブ動画再生方法の例を示したフローチャートである。
【
図7】本発明の一実施形態における、1つのストリームでマルチビューを構成する基本過程の例を示した図である。
【
図8】本発明の一実施形態における、ビューモードを切り替えるインタフェースの例を示した図である。
【
図9】本発明の一実施形態における、マルチビューからフルビューへのレイアウト切替過程の例を示した図である。
【
図10】本発明の一実施形態における、マルチビューからフルビューへのレイアウト切替過程の例を示した図である。
【
図11】本発明の一実施形態における、フルビューからマルチビューへのレイアウト切替過程の例を示した図である。
【
図12】本発明の一実施形態における、フルビューからマルチビューへのレイアウト切替過程の他の例を示した図である。
【
図13】本発明の一実施形態における、映像切替時点を判断する過程の例を示した図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0026】
本発明の実施形態に係るライブ動画再生システムは、少なくとも1つのコンピュータ装置によって実現されてよく、本発明の実施形態に係るライブ動画再生方法は、ライブ動画再生システムに含まれる少なくとも1つのコンピュータ装置によって実行されてよい。このとき、コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されるコンピュータプログラムの制御にしたがって本発明の実施形態に係るライブ動画再生方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してライブ動画再生方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【0027】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。また、
図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が
図1のネットワーク環境に限定されることはない。
【0028】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することができる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
【0029】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0030】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、ライブ動画サービス、コンテンツ提供サービス、グループ通話サービス(または、音声会議サービス)、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、決済サービス、検索サービスなど)を提供するシステムであってよい。
【0031】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、
図2に示したコンピュータ装置200によって実現されてよい。
【0032】
このようなコンピュータ装置200は、
図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0033】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0034】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0035】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
【0036】
また、他の実施形態において、コンピュータ装置200は、
図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0037】
図3は、本発明の一実施形態における、ライブ動画サービスを提供する過程の例を示した図である。
図3は、ストリーミングサーバ310、エンコーダサーバ320、およびプレーヤ330をそれぞれ示している。ここで、ストリーミングサーバ310およびエンコーダサーバ320は、ライブ動画サービスを提供するためにサーバ装置においてインストールされて実行されるソフトウェアモジュールであってよい。また、プレーヤ330は、動画再生のためにユーザの端末装置においてインストールされて実行されるソフトウェアモジュールであってよい。ここで、ソフトウェアモジュールは、コンピュータ装置200においてインストールされて実行されるコンピュータプログラムに対応してよい。
【0038】
図4を参照すると、ストリーミングサーバ310は、配信の役割を担うサーバ装置であってよく、例えば、録画およびリアルタイムストリーミングのためのOBS(open broadcaster software)モジュールを含んでよい。ストリーミングサーバ310は、複数台のカメラによって同時に撮影されたビデオの入力をそれぞれのチャンネルとして受け取り、マルチチャンネルの映像でエンコーダサーバ320にリアルタイムストリーミングしてよい。
【0039】
カメラとは関係なく、オーディオチャンネルは、同一の入力を使用してよい。エンコーダサーバ320は、複数のチャンネルのうちで基本チャンネルに該当するチャンネルのオーディオを基本ストリームとして使用してよい。
【0040】
ストリーミングサーバ310は、ビデオチャンネルの同期化処理のためにOBSモジュールを使用して、マルチチャンネルの映像をリアルタイム配信してよい。これにより、エンコーダサーバ320は、UTC(coordinated universal time)時間とビデオタイムスタンプ(PTS:predetermined time standard)によって各ビデオフレームの絶対時間を求めてビデオチャンネルの同期化を処理してよい。
【0041】
特に、多重ライブ配信環境において、プレーヤ330が最小限のネットワークでマルチビューを構成できるように、エンコーダサーバ320は、マルチチャンネルのビデオを1つのビデオに合成したイメージを提供してよい。
【0042】
図5に示すように、エンコーダサーバ320は、マルチチャンネルで入力される複数の原本映像501と、原本映像501を合成して生成した合成映像502を提供してよい。
【0043】
例えば、エンコーダサーバ320は、6台のカメラで撮影された原本映像(Cam#1~Cam#6)501を利用して合成映像502を生成してよい。合成映像502は、原本映像501を1つに結合したイメージであって、エンコーダサーバ320は、事前に定められたレイアウトに合わせて原本映像501を結合して合成映像502を生成してよい。
【0044】
一例として、エンコーダサーバ320は、マルチチャンネルのうちの一チャンネルのビデオをメイン映像として構成し、残りの他のチャンネルのビデオをサブ映像として構成してよい。言い換えれば、エンコーダサーバ320は、一チャンネルのビデオ(メイン映像)を、他のチャンネルのビデオ(サブ映像)よりも高い解像度で構成してよい。このとき、エンコーダサーバ320は、一チャンネルを除いた残りのチャンネルのビデオ(サブ映像)をすべて同じ解像度で構成してもよいし、各チャンネルの優先順位を考慮しながら優先順に高い解像度で構成してもよい。
【0045】
エンコーダサーバ320は、すべてのチャンネルのビデオを同じ解像度で結合して合成映像502を生成することも可能である。
【0046】
上述した合成映像502の生成方式や合成映像502の数、レイアウト構造などは例示的なものに過ぎず、いくらでも変更可能である。
【0047】
言い換えれば、クライアントであるプレーヤ330でチャンネル間の高速切替モードを実現できるようにするために、エンコーダサーバ320では、チャンネルごとに、原本映像501とともに、原本映像501を合成した1つの合成映像502を準備するのである。
【0048】
エンコーダサーバ320は、多重ライブ配信環境においてプレーヤ330を対象としたチャンネル間の高速切替モードのために、選択的に、マルチチャンネルに対する合成映像502を送信したり、特定のチャンネルに対する原本映像501を1つだけ送信したりしてよい。特に、多重ライブ配信環境では、マルチチャンネルとして入ってくる多数の動画をそれぞれのストリームで送信するのではなく、合成映像502を利用してマルチチャンネルの動画を1つのストリームで送信することができる。
【0049】
以下、実施形態では、原本映像501を、各チャンネルに対して「チャンネル#1原本映像」、「チャンネル#2原本映像」などと称する。
【0050】
原本映像501と合成映像502のそれぞれストリームには、当該映像を区分するための固有の情報が含まれてよい。プレーヤ330は、各ストリームの映像固有情報に基づき、合成映像の再生中に再生映像がチャンネル#2原本映像に変更されるときに、変更された映像がチャンネル#2原本映像であるということを認知することができる。
【0051】
図6は、本発明の一実施形態における、ライブ動画再生方法の例を示したフローチャートである。本実施形態に係るライブ動画再生方法は、上述したプレーヤ330を実現するコンピュータ装置200によって実行されてよい。プレーヤ330がユーザの端末装置で実現される場合、コンピュータ装置200はユーザの端末装置に対応してよい。この場合、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が
図6の方法に含まれる段階610~650を実行するようにコンピュータ装置200を制御してよい。
【0052】
段階610で、コンピュータ装置200は、多重ライブ配信環境において、エンコーダサーバ320から、マルチチャンネルで入力される多数の映像で構成された1つの合成映像を受信してよい。コンピュータ装置200は、エンコーダサーバ320から1つのストリームをダウンロードすることにより、マルチチャンネルのライブ映像が1つに合成された映像ストリームを受信してよい。エンコーダサーバ320で互いに異なるレイアウトの複数の合成映像を有している場合、コンピュータ装置200は、合成映像のレイアウト情報を参照しながらプレーヤ330が定めたレイアウト情報に対応する合成映像を選択的に受信してよい。例えば、プレーヤ330が、チャンネル1のビデオがメイン映像として構成されたレイアウトを要請する場合、エンコーダサーバ320から当該レイアウトに対応する合成映像を受信してよい。
【0053】
段階620で、コンピュータ装置200は、1つのストリームで受信した合成映像からチャンネルごとに構成された映像(composition image)を分離して各チャンネルのスプライト(sprite)を取得してよい。言い換えれば、コンピュータ装置200は、後処理(post processing)によって合成映像を分離して各チャンネルのスプライトを取得してよい。プラットフォームによって多様なグラフィックスエンジン(graphics engine)、例えば、オープンGL(open graphics library)などを使用して合成映像を分離してよい。
【0054】
段階630で、コンピュータ装置200は、各チャンネルのスプライトをプレーヤ330のレイアウトに合わせてレンダリングすることによってマルチビューを構成してよい。言い換えれば、コンピュータ装置200は、合成映像から分離された各カメラのスプライトを所望するレイアウトに合うようにレンダリングすることによって、1つのストリームで受信したマルチチャンネルのライブ映像をマルチビューで再生することができる。
【0055】
段階640で、コンピュータ装置200は、マルチビューから特定のチャンネルが選択され、ユーザから特定のチャンネルに対するフルビュー(full-view)切替要請が受信される場合、エンコーダサーバ320から当該チャンネルの原本映像を受信してよい。コンピュータ装置200は、プレーヤ330上でマルチビューとして現在再生中のマルチチャンネルのライブ映像に対して、ユーザが特定のチャンネルを選択して全体画面モード(full screen mode)、すなわち、フルビューへの切替を要請した場合、エンコーダサーバ320から受信した合成映像を選択された特定のチャンネルの原本映像に変更してよい。
【0056】
段階650で、コンピュータ装置200は、ユーザが選択した特定のチャンネルの原本映像をプレーヤ330の全体画面にレンダリングすることにより、プレーヤ330のビューモードをフルビューに切り替えてよい。
【0057】
コンピュータ装置200は、プレーヤ330の現在のビューモードがフルビュー状態でるときにユーザからマルチビューへの切替要請が受信される場合、上述した過程610~630を繰り返すことにより、プレーヤ330のビューモードをフルビューからマルチビューに切り替えることができる。
【0058】
図7は、本発明の一実施形態における、1つのストリームでマルチビューを構成する基本過程の例を示した図である。
【0059】
図7は、合成映像を利用してプレーヤ330でマルチビューを構成する過程を示している。例えば、合成映像は、チャンネル1のビデオ(Cam#1)が他のチャンネルのビデオ(Cam#2~Cam#6)よりも高い解像度のメイン映像で構成されたものであるとする。
【0060】
図7を参照すると、プレーヤ330は、エンコーダサーバ320から合成映像フレームを受信し、後処理によって合成映像フレームから各チャンネルのスプライトを取得した後、分離した各チャンネルのスプライトを定められたレイアウトに合うようにレンダリングすることによってマルチビューを構成してよい。
【0061】
したがって、プレーヤ330は、多重ライブ配信環境で1つのストリームをダウンロードするだけで、マルチチャンネルのライブ映像からなるマルチビューを構成することができる。
【0062】
図8は、本発明の一実施形態における、ビューモードを切り替えるインタフェースの例を示した図である。
【0063】
プレーヤ330では、マルチビューから特定のチャンネルの映像に対するフルビューへの切り替えを要請するためのインタフェースを提供する。
【0064】
プレーヤ330上でマルチビュー形態によってマルチチャンネルのライブ映像が再生中の状況において、ユーザは、マルチビュー内のビデオ(Cam#1~Cam#6)のうちの1つをフルビューに切り替えるためのレイアウト切替要請を入力することができる。
【0065】
例えば、
図8に示すように、合成映像を利用したマルチビュー画面において、ドラック80によってチャンネル2のビデオ(Cam#2)を現在再生中のチャンネル1のビデオ(Cam#1)であるメイン映像位置に移動させることによって、チャンネル2のビデオ(Cam#2)に対するフルビューへの切り替えを要請してよい。ドラック80の他にも、マルチビュー内のビデオ(Cam#1~Cam#6)からチャンネル2のビデオ(Cam#2)を選択し、所定のメニューや他のジェスチャによってフルビューへの切り替えを要請することも可能である。
【0066】
図9~10は、本発明の一実施形態における、マルチビューからフルビューへのレイアウト切替過程の例を示した図である。
【0067】
図9~10は、合成映像を利用したマルチビューからチャンネル2のビデオ(Cam#2)のフルビューに切り替える過程を示している。
【0068】
合成映像を利用したマルチビュー画面において、ユーザがチャンネル2のビデオ(Cam#2)に対してフルビューへの切り替えを要請した場合、先ず、プレーヤ330は、途切れのない画面切替のために、
図9に示すように、合成映像から分離された各チャンネルのスプライトのうちでチャンネル2のビデオ(Cam#2)に該当するスプライトだけを全体画面にレンダリングしてよい。合成映像から分離されたチャンネル2のビデオ(Cam#2)は低画質の映像であり、低画質の状態のまま拡大されてフルビューで表示されてよい。このとき、合成映像から分離された残りのチャンネルのビデオ(Cam#1、Cam#3~Cam#6)は、レンダリングされずに隠し(hidden)状態で維持される。
【0069】
次に、
図10を参照すると、プレーヤ330は、フルビューで表示されたチャンネル2のビデオ(Cam#2)に対して高画質映像を提供するために、エンコーダサーバ320からチャンネル#2原本映像を受信してよい。プレーヤ330は、チャンネル#2原本映像フレームを受信して当該映像を直ぐに全体画面にレンダリングすることにより、チャンネル2のビデオ(Cam#2)に対して高画質映像のフルビューを提供してよい。
【0070】
したがって、プレーヤ330は、合成映像を利用したマルチビュー画面においてユーザがチャンネル2のビデオ(Cam#2)のフルビュー切替を要請した場合、画面の途切れが発生しないように、先ず、合成映像から分離されたスプライトである低解像度のチャンネル2のビデオ(Cam#2)をフルビューで表示した後、チャンネル#2の原本映像を受信し、高解像度のチャンネル2のビデオ(Cam#2)をフルビューで表示することにより、マルチビューからフルビューにレイアウトを切り替えることができる。
【0071】
図11は、本発明の一実施形態における、フルビューからマルチビューへのレイアウト切替過程の例を示した図である。
【0072】
図11は、チャンネル2のビデオ(Cam#2)のフルビューから合成映像を利用したマルチビューに切り替える過程を示している。
【0073】
チャンネル#2原本映像を利用したチャンネル2のビデオ(Cam#2)のフルビュー画面から基本レイアウトのマルチビュー、すなわち、合成映像を利用したマルチビューへの切り替えが要請された場合、
図11に示すように、プレーヤ330は、エンコーダサーバ320から合成映像フレームを受信して後処理によって合成映像フレームから各チャンネルのスプライトを取得した後、分離された各チャンネルのスプライトを定められたレイアウトに合うようにレンダリングすることによってマルチビューを構成してよい。
【0074】
プレーヤ330は、エンコーダサーバ320から受信したチャンネル#2原本映像を最大限迅速に合成映像に変更するトラック高速切替技術を利用して、チャンネル2のビデオ(Cam#2)のフルビュー画面から基本レイアウトにトラックを切り替え、フルビューからマルチビューへの迅速なレイアウトの切り替えを実行する。
【0075】
チャンネル#2原本映像ストリームには、マルチビューレイアウトを構成するために必要な情報、すなわち、残りの他のチャンネルのビデオ(Cam#1、Cam#3~Cam#6)が含まれていないため、短時間で合成映像ストリームを受信するためのトラック切替技術が使用される。これは、オーディオとビデオがインターリービング(inter leaving)されたモードで使用される場合、プレーヤ330は、エンコーダサーバ320から受信した映像(原本映像と合成映像)を変更するトラック切替時にオーディオが途切れることなく再生され、映像だけを迅速に切り替えることができる。
【0076】
ライブ配信のための動画ストリーミング環境において、ライブ映像の再生中にストリームのセグメントデュレーション(Segment Duration)を変更してよい。オーディオとビデオがインターリービングされた環境では、映像を迅速に切り替えるためにストリーミングのためのメディアセグメントデュレーションを短く設定して適用してよく、他の例として、プレーヤ330のバッファ内の既存のデータをフラッシュ(flush)する技術を適用してもよい。例えば、プレーヤ330は、チャンネル#2原本映像を利用したフルビューから合成映像を利用したマルチビューに切り替えるときよりも迅速な切り替えのために、ビューモード切替要請が受信される時点に、バッファから以前データ(チャンネル#2原本映像ストリーム)を除去し、新たなデータ(合成映像ストリーム)で満たす方式などを適用してよい。
【0077】
オーディオとビデオがインターリービングされていない(non-inter leaving)環境におけるトラックの切替時には、オーディオトラックは切り替えずにビデオトラックだけを迅速に切り替える方法が適用可能であり、ビデオトラックの切替時の迅速切替のために、プレーヤ330のバッファ内の既存のデータをフラッシュする技術が適用されてよい。
【0078】
プレーヤ330をカスタマイズできない環境では、プレーヤ330の要請をマルチビューインターセプタ(interceptor)としてキャッチし、切り替えられたトラックのセグメント(TSファイル)に再要請して実現してよい。マルチビューインターセプタは、プロキシ(proxy)サーバの役割を担うものであり、プレーヤ330とともに動画再生のためにユーザの端末装置においてインストールされて実行ソフトウェアモジュールであってよい。合成映像を利用したマルチビューからフルビューに切り替えるとき、プレーヤ330は継続してマルチビューを要請しており、このとき、マルチビューインターセプタでプレーヤ330の要請をフルビューに変更して要請してよい。各トラックのTSファイルのオーディオは、切替時に途切れのないユーザ経験を提供するために同一のオーディオにエンコードしてよい。
【0079】
図12は、本発明の一実施形態における、フルビューからマルチビューへのレイアウト切替過程の他の例を示した図である。
【0080】
図12は、チャンネル2のビデオ(Cam#2)のフルビューから合成映像を利用したマルチビューに切り替える過程を示している。
【0081】
チャンネル#2原本映像ストリームには、マルチビューレイアウトを構成するために必要な情報、すなわち、残りの他のチャンネルのビデオ(Cam#1、Cam#3~Cam#6)が含まれていないため、フルビューからマルチビューへの切替時に途切れ現象が一時的に発生することがある。
【0082】
このような問題を改善するために、サムネイル(thumbnail)を利用した臨時画面切替技術を適用してよい。
【0083】
チャンネル#2の原本映像を利用したチャンネル2のビデオ(Cam#2)のフルビュー画面から基本レイアウトのマルチビュー、すなわち、合成映像を利用したマルチビューへの切り替えが要請された場合、先ず、プレーヤ330は、途切れのない画面切替のために、
図12に示すように、映像ストリーム内のメタデータとして提供される少なくとも1つのサムネイル(例えば、イメージやアニメーションなど)を事前に定められたレイアウトでレンダリングして臨時ビューモードに切り替えてよい。臨時ビューモードでは、一定の時間周期(例えば、1秒単位)でサムネイルを出力してよい。
【0084】
サムネイルを利用した臨時画面切替技術の他に、関連情報を臨時画面にレンダリングすることも可能である。例えば、チャンネル#2原本映像の複写本を利用して臨時画面を基本レイアウトのマルチビュー形式で構成することによって臨時ビューモードを提供してよい。言い換えれば、チャンネル#2以外の他のチャンネルの映像を、チャンネル#2の原本映像の複写本として臨時表示してよい。このとき、臨時表示される他のチャンネルの映像(すなわち、チャンネル#2原本映像の複写本)の場合は、ブロー(blur)処理して表示されてよい。他の例として、マルチビューからフルビューに切り替わる前にマルチビューで表示された最後の映像場面を臨時画面としてレンダリングして臨時ビューモードを提供してもよい。
【0085】
次に、プレーヤ330は、エンコーダサーバ320から合成映像フレームを受信して後処理によって合成映像フレームから各チャンネルのスプライトを取得した後、分離された各チャンネルのスプライトを定められたレイアウトに合うようにレンダリングすることにより、臨時ビューモードからマルチビューに切り替えてよい。
【0086】
したがって、プレーヤ330は、ユーザが、チャンネル#2原本映像を利用したチャンネル2のビデオ(Cam#2)のフルビュー画面から合成映像を利用したマルチビューへの切り替えを要請する場合、画面に途切れが発生しないように優先的に臨時イメージを提供し、合成映像の受信後には合成映像から分離された各チャンネルのスプライトを該当となるレイアウトに合うようにレンダリングすることで、フルビューから臨時ビューモードを経てマルチビューへのレイアウトに切り替えることができる。
【0087】
一般的には、同一の解像度のストリームが繰り返し出力されるとき、当該ストリームがどのような形態のストリームであるかを区分することができない。マルチビュー環境では、現在出力されているストリームがどのような形態で構成されているのかを認知する必要があり、その情報に基づいて該当となるレイアウトに合わせて各チャンネルのビデオを分離する。
【0088】
プレーヤ330は、映像ストリームに含まれる固有情報である映像区分のためのメタ情報に基づいて、ビューモード間の映像切替時点を判断してよい。映像区分のためのメタ情報はシステム環境によって多様であってよく、一例として、TSチャンク(Chunk)を使用する環境では、TSコンテナに含まれた時間指定メタデータ(timed-metadata)を活用して映像切替時点を判断してよい。時間指定メタデータはPTS(predetermined time standard)の時間情報を含んでおり、該当となる時間に達すればメタデータが出力される。
【0089】
例えば、
図13に示すように、プレーヤ330は、バッファ1302内の映像ストリームのTSチャンクに含まれたメタデータ13によって当該映像を区分してよく、これによって映像切替時点を判断してよい。言い換えれば、合成映像ストリームからチャンネル#2原本映像ストリームへの切替時に、該当となる時点に時間指定メタデータ値を入れれば、時間指定メタデータの後に入力されるストリームをチャンネル#2原本映像として認識して使用することができる。
【0090】
クライアントとサーバ間のセッション連結によってライブ動画サービスを提供する構造のシステムではサーバ端で映像切替時点を変更することができるが、セッションベースの場合にはサービスを提供することが可能なユーザ数に限界がある。これとは異なり、本実施形態は、時間指定メタデータを活用することによってクライアント側で映像切替時点を判断することができ、特に、セッションベースではないHTTP基盤のプロトコルを利用してライブストリーミング方式の動画サービスを提供することができるため、従来のシステム環境にも適用可能である上に、より多くのユーザを対象に安定的なサービスを提供することができる。
【0091】
このように、本発明の実施形態によると、多重ライブ配信環境でマルチチャンネルのライブ動画を合成した1つのストリームを受信してマルチビューを構成することにより、最小限のネットワークでマルチチャンネルのライブ動画を再生することができる。さらに、本発明の実施形態によると、多重ライブ配信環境でのチャンネル間の切替時に、オーディオおよびビデオの同期を維持しながら高速切替モードを実現することができ、サービス品質と体感品質を高めることができる。
【0092】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0093】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0094】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0095】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0096】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。