IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ケーケーストリーム リミテッドの特許一覧

特開2024-16783フリービュービデオストリーミングのためのシステムおよび方法
<>
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図1
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図2
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図3
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図4
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図5
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図6
  • 特開-フリービュービデオストリーミングのためのシステムおよび方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024016783
(43)【公開日】2024-02-07
(54)【発明の名称】フリービュービデオストリーミングのためのシステムおよび方法
(51)【国際特許分類】
   H04N 21/235 20110101AFI20240131BHJP
   H04N 21/234 20110101ALI20240131BHJP
   H04N 7/18 20060101ALI20240131BHJP
   H04N 5/262 20060101ALI20240131BHJP
   H04N 5/268 20060101ALI20240131BHJP
【FI】
H04N21/235
H04N21/234
H04N7/18 U
H04N5/262 040
H04N5/268
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022162817
(22)【出願日】2022-10-07
(31)【優先権主張番号】17/873,813
(32)【優先日】2022-07-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】522396849
【氏名又は名称】ケーケーストリーム リミテッド
【氏名又は名称原語表記】KKStream Limited
【住所又は居所原語表記】8F, No.19-11, Sanchong Rd. Nangang Dist. Taipei City, TW
(74)【代理人】
【識別番号】100126572
【弁理士】
【氏名又は名称】村越 智史
(72)【発明者】
【氏名】ツァイ, フェン シュー
(72)【発明者】
【氏名】リー, チョウ スアン
【テーマコード(参考)】
5C023
5C054
5C164
【Fターム(参考)】
5C023AA14
5C023AA21
5C023AA23
5C023CA01
5C054CA04
5C054CC02
5C054FE02
5C054FE23
5C054GB02
5C054GB04
5C164FA06
5C164MB13S
5C164SA26S
5C164SA32S
5C164SB01P
5C164SB08P
5C164UB10S
5C164UB81S
5C164UC27S
5C164UD44S
(57)【要約】      (修正有)
【課題】複数のカメラからのデータを効率的にパッケージングできるビデオストリーミングシステム及び方法を提供する。
【解決手段】ビデオストリーミング方法は、複数のカメラからの画像データにアクセスし、単一の時刻に複数のカメラで撮影された画像データをスティッチして、単一の画像データの配列を作り、イメージウォールを形成し、イメージウォールをその個々の圧縮画像の合計よりも大幅に小さいサイズとなるように圧縮してイメージウォールのストリームを生成し、クライアント装置に送信され得る。マッピング情報を含むメタデータにより、クライアントが選択したカメラアングルの位置を特定する。クライアントの選択により、同じビデオストリームの任意のカメラアングルの視聴に切り替えることができる。
【選択図】図6
【特許請求の範囲】
【請求項1】
ビデオストリーミングサービスを提供するためのシステムであって、
複数のカメラからの画像データを格納するように構成されたメモリであって、前記画像データは、同じ時刻に記録された前記複数のカメラの各々からの画像を含む、メモリと、
前記メモリに結合されたプロセッサと、
前記プロセッサに結合された出力インターフェースと、
を備え、
前記プロセッサは、
前記メモリ上の前記画像データにアクセスする処理と、
前記同じ時刻に記録された前記複数のカメラからの各画像を結合して画像データの配列を生成することによってイメージウォールを生成する処理であって、前記各画像は、前記イメージウォール内の少なくとも1つの他の画像と並べて配置される、処理と、
前記イメージウォールを圧縮する処理と、
前記イメージウォールに関連付けられたメタデータを生成する処理であって、当該メタデータは、前記イメージウォール内の各画像について、前記イメージウォール内の当該画像の位置を、前記複数のカメラのうちの当該画像を記録したカメラに結びつけるマッピングを含む、処理と
を実行するように構成され、
前記出力インターフェースは、圧縮された前記イメージウォールと、関連付けられた前記メタデータとを、クライアント装置に送信するように構成される、システム。
【請求項2】
前記複数のカメラの各々は、共通のイベントまたはシーンを記録する間、異なるカメラアングルで配置され、前記画像データの各画像は、前記共通のイベントまたはシーンのビューを含むが、前記異なるカメラアングルで記録される、請求項1記載のシステム。
【請求項3】
前記イメージウォールが画像ピクセルの矩形配列を含む、請求項1に記載のシステム。
【請求項4】
前記複数のカメラは、少なくとも16台のカメラを含み、前記画像データは、前記同一時刻に記録された少なくとも16枚の画像を含む、請求項1に記載のシステム。
【請求項5】
前記プロセッサはさらに、前記イメージウォールを複数のマクロブロックウィンドウに分割するように構成され、各マクロブロックウィンドウは、前記イメージウォール内の2枚以上の画像の画像データを含み、
前記イメージウォールを圧縮する処理は、前記イメージウォールの各ピクセルに対して、当該ピクセルを含む前記マクロブロックウィンドウと等しい圧縮探索ウィンドウを利用することを含む、請求項1に記載のシステム。
【請求項6】
前記プロセッサはさらに、前記イメージウォールを符号化するために動き推定ベクトルを利用するように構成される、請求項1に記載のシステム。
【請求項7】
前記プロセッサはさらに、前記イメージウォールを符号化するためにピクセルベースの残差を利用するように構成される、請求項1に記載のシステム。
【請求項8】
前記プロセッサはさらに、前記複数のカメラによって記録された画像データのストリームを使用して、イメージウォールのストリームを生成するように構成され、前記出力インターフェースは、前記イメージウォールのストリームを前記クライアント装置に送信するように構成される、請求項1に記載のシステム。
【請求項9】
ビデオストリーミングサービスを提供するための方法であって、
複数のカメラからの画像データにアクセスする工程であって、前記画像データは、同じ時刻に記録された前記複数のカメラの各々からの画像を含む、工程と、
前記同じ時刻に記録された前記複数のカメラからの各画像を結合して画像データの配列を生成することによってイメージウォールを生成する工程であって、前記各画像は、前記イメージウォール内の少なくとも1つの他の画像と並べて配置される、工程と、
前記イメージウォールを圧縮する工程と、
前記イメージウォールに関連付けられたメタデータを生成する工程であって、当該メタデータは、前記イメージウォール内の各画像について、前記イメージウォール内の当該画像の位置を、前記複数のカメラのうちの当該画像を記録したカメラに結びつけるマッピングを含む、工程と、
圧縮された前記イメージウォールと、関連付けられた前記メタデータとを、クライアント装置に送信する工程と、
を備える方法。
【請求項10】
前記複数のカメラの各々は、共通のイベントまたはシーンを記録する間、異なるカメラアングルで配置され、前記画像データの各画像は、前記共通のイベントまたはシーンのビューを含むが、前記異なるカメラアングルで記録される、請求項9に記載の方法。
【請求項11】
前記イメージウォールが画像ピクセルの矩形配列を含む、請求項9に記載の方法。
【請求項12】
前記複数のカメラは、少なくとも16台のカメラを含み、前記画像データは、前記同一時刻に記録された少なくとも16枚の画像を含む、請求項9に記載の方法。
【請求項13】
前記イメージウォールを複数のマクロブロックウィンドウに分割する工程であって、各マクロブロックウィンドウは、前記イメージウォール内の2枚以上の画像の画像データを含む、工程をさらに含み、
前記イメージウォールを圧縮する工程は、前記イメージウォールの各ピクセルに対して、当該ピクセルを含む前記マクロブロックウィンドウと等しい圧縮探索ウィンドウを利用することを含む、請求項9に記載の方法。
【請求項14】
前記イメージウォールを符号化するために動き推定ベクトルを利用する工程をさらに含む、請求項9に記載の方法。
【請求項15】
前記イメージウォールを符号化するためにピクセルベースの残差を利用する工程をさらに含む、請求項9に記載の方法。
【請求項16】
前記複数のカメラによって記録された画像データのストリームを使用して、イメージウォールのストリームを生成する工程と、
前記イメージウォールのストリームを前記クライアント装置に送信する工程と
をさらに備える、請求項9に記載の方法。
【請求項17】
複数のカメラアングルに関連付けられたビデオストリームを視聴するためのシステムであって、
メモリと、
前記メモリに結合されたプロセッサと、
を備え、
前記メモリは、
イメージウォールのストリームを格納する処理であって、各イメージウォールは、前記複数のカメラアングルから同じ時刻に記録された画像データを含む、処理と、
前記イメージウォールのストリームに関連付けられたメタデータを格納する処理であって、当該メタデータは、前記イメージウォールのストリームのイメージウォール内の各画像について、当該イメージウォール内の当該画像の位置を、前記複数のカメラアングルのうちの当該画像を記録したカメラアングルに結びつけるマッピングを含む、処理と
を実行するように構成され、
前記プロセッサは、
前記イメージウォールのストリームにアクセスする処理と、
前記イメージウォールのストリームのうちの各イメージウォールを解凍する処理と、
ユーザ選択カメラアングルにアクセスする処理と、
格納された前記メタデータ内の前記マッピングを利用することによって、前記イメージウォールのストリーム内で、前記ユーザ選択カメラアングルに関連付けられた画像のストリームの位置を特定する処理と、
前記ユーザ選択カメラアングルに関連付けられた前記画像のストリームを表示させる処理と、
を実行するように構成される、システム。
【請求項18】
前記ユーザ選択カメラアングルは、第1のユーザ選択カメラアングルであり、前記カメラアングルに関連付けられた前記画像のストリームは、第1のカメラアングルに関連付けられた第1の画像のストリームであり、
前記プロセッサはさらに、
第2のユーザ選択カメラアングルにアクセスする処理と、
格納された前記メタデータ内の前記マッピングを利用することによって、前記イメージウォールのストリーム内で、前記第2のユーザ選択カメラアングルに関連付けられた第2の画像のストリームの位置を特定する処理と、
前記第1のユーザ選択カメラアングルに関連付けられた前記第1の画像のストリームから、前記第2のユーザ選択カメラアングルに関連付けられた前記第2の画像のストリームに表示を切り替える処理と、
を実行するように構成される、請求項17に記載のシステム。
【請求項19】
前記プロセッサはさらに、前記イメージウォールのストリーム内の画像の少なくとも一部を再生させるように構成される、請求項17に記載のシステム。
【請求項20】
前記プロセッサはさらに、
時間に応じてカメラアングルを変化させるユーザ指定プログラムにアクセスする処理と、
時間に応じて変化する前記カメラアングルに対応する前記イメージウォールのストリームから、前記画像のストリームを表示させる処理と、
を実行するように構成される、請求項17に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
これまでビデオストリーミングは、視聴者が制御できない1つのカメラアングルだけを見るというありふれた視聴体験を提供することが多かった。同じイベントをさまざまな角度から見るなど、視聴者がより自由に制御できるようにするには、より多くのカメラとより多くのストリーミング帯域を使用する必要がある。無線通信のダウンロード速度は年々向上しているが、ビデオストリーミング体験をより向上させるためには、複数のカメラからのデータを効率的にパッケージングできるビデオストリーミング機能の実現が望まれる。
【図面の簡単な説明】
【0002】
本開示の特徴は、以下の図(同様の数字は同様の要素を示す)に例示されるが、これらに限定されるものではない。
【0003】
図1】複数の異なるカメラアングルからイベントの画像データを取り込むためのセッティングを提供する会場例を示す。
【0004】
図2】いくつかの実施例による、複数のカメラの効率的なビデオストリーミングを複数のクライアントに配信するためのデータストリーミング環境の例を示す。
【0005】
図3】イメージウォール処理により、複数のカメラからビデオストリームを生成する、より詳細な例を示す。
【0006】
図4】イメージウォール内の画像のサブセットにマクロブロック符号化を採用することで、複数のカメラアングルを特徴とするストリーミングサービスの効率をさらに向上させることができる例を示す。
【0007】
図5】本明細書に記載のビデオストリーミング機能を用いて、クライアントが最初に試合を見るために使用したカメラアングルとは異なる、クライアントが選択したカメラアングルを使用して、クライアントユーザーがイベントを再生することができる態様の一例を示す。
【0008】
図6】イメージウォールを利用したビデオストリーミングを提供する方法の一例を示す。
【0009】
図7】イメージウォールのストリームから生じるビデオストリームをクライアント装置が表示させる方法の一例を示す。
【発明を実施するための形態】
【0010】
本開示は、複数のカメラアングルを含むライブストリームサービスを提供する方法、装置、およびシステムに関するものである。例えば、複数のカメラからのライブビデオストリーミングデータを集中管理するシステムは、クライアントの選択により、複数のカメラのいずれかからのビデオストリーミングを見ることができるデータストリームをクライアントユーザーに提供することができる。ビデオストリーミングシステムは、まず、複数のカメラからの画像データにアクセスしてもよい。ある時刻に撮影された複数のカメラからの画像データは、同じ時刻に撮影されたすべてのカメラアングルからの画像データのピクセルマップを含むように、結合または「スティッチ」されて画像データの単一の配列となり得る。このように配列された画像データの配列を、本明細書では「イメージウォール」と呼ぶことがある。各イメージウォールは、その個々の圧縮画像の合計よりも大幅に小さいデータファイルとなるように効率的に圧縮することができる。これは、それぞれのカメラが見ているものが類似している、および/または重複しているためである。通常、各カメラは会場の周囲に配置され、バスケットボールの試合やバレーボールの試合など、同じシーンの画像データを記録するが、各カメラは同じシーンを少しずつ異なる角度で見ている。そのため、特に16または32の異なるカメラアングルといった、多くの異なるカメラからの画像データを含む場合、イメージウォールの圧縮率は非常に高くなり得る。したがって、ビデオストリーミングシステムは、各タイムフレームごとに1つのイメージウォールのストリームを送信することによって、すべてのカメラのビデオストリームを同時に効率的に送信することができる。この場合、各イメージウォールは、特定の時刻におけるすべての異なるカメラアングルの圧縮画像データを含む。このイメージウォールのストリームは、その後、適切に符号化および暗号化され、1つまたは複数のクライアント装置に効率的に送信され得る。少なくとも圧縮率が高いため、イメージウォールのストリームをクライアントに送信すると、各カメラアングルの個別のストリームをクライアントに送信するよりも大幅に効率的となる。
【0011】
いくつかの例では、ビデオストリーミングシステムは、マクロブロック符号化アルゴリズムを用いて、より時間効率の良い方法で各イメージウォールを圧縮し得る。従来の圧縮技術では、画素間の類似性を見つけるために、イメージウォール全体を探索することがある。これに対し、各イメージウォールにマクロブロック符号化を行うことで、類似した画素を探索する領域を限定しつつ、高い圧縮率を実現することができる。これにより、画像を圧縮する際の探索時間が短縮され、時間効率の良い圧縮方式が実現できる。マクロブロック符号化は、カメラの物理的な位置が分かっているため、イメージウォールの中でどのカメラアングルが互いに似ているかが分かることにより、こうしたイメージウォールに高い確実性で使用することができる。イメージウォール内の類似したカメラアングルのビューの画像位置を、同じマクロブロック内に指定することにより、圧縮処理でマクロブロックの範囲内だけを探索したときに高い類似性があることが保証される。そのため、イメージウォール全体を探索して各画素の圧縮を行うのではなく、同じマクロブロック内の画素のみを探索することになり、探索に要する時間を短縮しながらも高い圧縮率を得ることができる。
【0012】
いくつかの例では、ビデオストリーミングシステムは、各イメージウォールに関する索引情報を含むメタデータをクライアントに提供することもできる。例えば、索引情報は各イメージウォールのマッピングを提供し、これによって、クライアントがイメージウォールの1フレーム内の各々のカメラアングルの開始位置または範囲を見つけることができるようにしてもよい。例えば、イメージウォールが16の異なるカメラアングルからの画像データを含む場合、それに関連するメタデータは、クライアントが受信したイメージウォールデータから16のカメラアングルのいずれかを取得し表示することを可能にするマッピングを含むことができる。これによって、クライアントが自由に動き回るように視聴することが可能になる。つまり、クライアントの選択により、記録されたどの時刻においても、あるカメラアングルから別のカメラアングルに視聴を切り替えることができる。したがって、ストリーミングのコンテキストでは、含まれるメタデータは、クライアントの選択により、同じビデオストリームの任意のカメラアングルの視聴に切り替えることを可能にし得る。一方、従来のビデオ放送やストリーミングサービスでは、ビデオストリーミング中にクライアントがカメラアングルを切り替えられないか、せいぜいクライアントが制御できない異なるカメラアングルを事前にプログラムできる程度である。
【0013】
いくつかの例では、本明細書で提供されるイメージウォールの効率的なストリーミングは、クライアントがビデオストリームを複数回再生し、そのたびにクライアントの選択で1つ以上の異なるカメラアングルから再生することも可能にすることができる。例えば、イメージウォールのストリームは、クライアント装置に格納され、クライアントが記録されたビデオストリームを再生することができるようにしてもよい。再生の都度、クライアントはメタデータから各イメージウォールのマッピング情報を活用し、途中で別のカメラアングルに切り替えるなど、異なるカメラアングルを選択することができる。これにより、クライアントの選択により、一連のイベントを複数の角度から見て検討することができる。
【0014】
いくつかの例では、本明細書で提供されるイメージウォールの効率的なストリーミングは、クライアントが3次元のシーンを見ているかのように見せることができる連続的に回転するカメラアングルから記録されたシーンを見ることを可能にすることもできる。例えば、イメージウォールのストリームおよび関連するメタデータを使用して、クライアントは、数フレームごとに、シーンの周りを徐々に回転するカメラアングルを連続的に切り替えるプログラムを作成することができる。これにより、クライアントにはカメラビューがシーンの周りを徐々に回転しているように見え、シーンの奥行き感が追加されたような錯覚を与えることができる。
【0015】
いくつかの例では、イメージウォールの同じストリームが複数のクライアントに提供され、複数のクライアントが自分の選択で同じシーンを異なる角度から見ることができるようにしてもよい。つまり、中央システムが、異なるクライアントのニーズに合わせて、あらかじめプログラムされた異なるストリーミングビューを生成するのではなく、1つのイメージウォールのストリームを複数のクライアントに送信することができる。各クライアントは、同じイメージウォールデータのセットを使って、どのカメラアングルからストリーミング映像を見るかを選択することができる。
【0016】
図1を参照すると、複数の異なるカメラアングルからイベントの画像データを取り込むためのセッティングを提供する会場例が示されている。スタジアム100は、バスケットボールコート110でのバスケットボールの試合などのイベントのためのセンターステージを含むことができる。スタジアム100の周囲に配置された複数のカメラ105a、105b、105c・・・105n(この場合、全部で約36台)は、丸いアイコンで描かれ、バスケットボールコート110に向けられた実線の直線を介してそのおおよそのカメラアングルを示している。ここで明確にしておかなければならないが、カメラ105a、105b、105c・・・105nは、すべてのカメラに明示的に符号を付けていなくても、バスケットボールコート110を包囲するすべてのカメラの総体を表す。カメラ105a、105b、105c・・・105nは、いずれも、中二階の周囲など、バスケットボールコート110の周囲にほぼ等しい高さで配置されてもよい。他の例では、カメラは、バスケットボールコート110の片側のみに面する二次元配列など、他の配置で配置されてもよい。他の例では、カメラは、スタジアム100全体を包囲する複数の高さに沿って配置されるなど、3次元的に配置されてもよい。
【0017】
カメラ105a、105b、105c・・・105nの全てまたは少なくともいくつかが同時に録画するように起動されてもよい。カメラ105a、105b、105c・・・105nは、すべての起動したカメラ105a、105b、105c・・・105nからの画像データをパッケージ化して同時に1つ以上のクライアントに効率的に送信できるように、それらの画像データを中央システムに送信するように構成されてもよい。
【0018】
図2を参照すると、いくつかの実施例による、複数のカメラの効率的なビデオストリーミングを複数のクライアントに配信するためのデータストリーミング環境の例が示されている。カメラの配列205、すなわち、カメラ1、カメラ2・・・カメラNは、1つまたは複数のイベントのビデオを撮影するために起動され得る。カメラがどのようにビデオを取り込み得るかについての例示的な配置が図1を参照して説明されるが、他の構成も完全に可能であり、限定するものでない。複数のカメラ205は、同時にビデオを撮影してもよい。すべてのカメラ205からの同時映像は、リアルタイム処理または後処理のためにビデオストリーミングシステム200に送信されてもよい。
【0019】
ビデオストリーミングシステム200は、すべてのカメラ205からのビデオストリーミングデータを処理可能なクラウドサーバ等のシステムに存在してもよい。ビデオストリーミングシステム200は、すべてのカメラ205からビデオストリームを受信するのに十分な入力インターフェースと、すべてのビデオストリーミングデータを格納するのに十分なメモリ容量とを含んでもよい。ビデオストリーミングシステム200はまた、1つ以上のプロセッサを含んでもよく、以下でさらに説明するように、複数のカメラからのビデオデータを結合して圧縮イメージウォールのストリームを生成するのに概ね十分な処理能力を、並列処理またはその他の方法で、備えてもよい。ビデオストリーミングシステム200は、イメージウォールのストリームを1つ以上の適切なビデオフォーマットに適切に符号化するための十分な符号変換ハードウェア/ファームウェア/ソフトウェアと、イメージウォールのストリームを暗号化するための十分な暗号化ハードウェア/ファームウェア/ソフトウェアとを含んでもよい。ビデオストリーミングシステム200は、符号化され暗号化されたイメージウォールのストリームを1つ以上のクライアント装置に送信するのに十分な出力インターフェースを含んでもよい。これは、有線または無線の手段、あるいはその両方の組み合わせで実現してよい。
【0020】
ビデオストリーミングシステム200は、すべてのカメラ205からのビデオ映像を一括して効率的に結合するために、イメージウォール処理210を行うように構成されてもよい。イメージウォールは、同じ時刻を記録した各カメラ205のビデオフレームを含むことができる。システム200は、画素の矩形配列のような整然とした方法でビデオフレームを連結または「スティッチ」することによって、イメージウォールを構築してもよい。また、システム200は、イメージウォールに関連するメタデータを生成してもよい。例えば、イメージウォールは、その後、特定のカメラからの画像がイメージウォールのどこに位置するかを示す位置またはポインタのマッピングを含むように、ビデオストリーミングシステム200によって索引付けされ得る。この索引情報は、イメージウォール(または、カメラアングルのマッピングがそのストリーム内のすべてのイメージウォールについて同じである場合があるので、イメージウォールのストリーム全体)に関連するメタデータファイルに格納されてもよく、イメージウォールとともに1つ以上のクライアントに送信されてもよい。
【0021】
ビデオストリーミングシステム200は、カメラ205からの各画像を個別に圧縮するよりも効率的にイメージウォールを圧縮するように構成されてもよい。各カメラ205は、わずかに角度が異なるだけで、概ね共通のシーンを記録するように配置されているため、圧縮率は高くなる可能性がある。さらに、いくつかの例では、イメージウォールに追加される次のカメラがイメージウォール内の既存のカメラアングルと同様のアングルからビデオを記録する可能性がある、つまり次に追加されるカメラの画像が既存のカメラアングルからのフレームと類似していることから、イメージウォールにスティッチされるカメラの数が増えるほど圧縮率がより効率的になる可能性もある。このように、各イメージウォールは、多くのカメラアングルの画像データを効率的にクライアントに提供できる可能性がある。
【0022】
各イメージウォールは、ある時刻に撮影されたすべてのカメラ205の画像の組み合わせを表すので、ビデオストリーミングシステム200は、画像データの各タイムフレームごとに1つのイメージウォールのストリームを生成するように構成されてもよい。したがって、ビデオストリーミングシステム200は、複数の異なるカメラアングルからイベントの効率的なストリーミングを提供するように構成されてもよい。
【0023】
いくつかの例では、複数のストリーム215がビデオストリーミングシステム200によって生成されてもよい。例えば、第1のストリームは、会場のカメラ1~16などのカメラアングルの第1のセットからイメージウォールの第1のストリームを構築することによって生成されてもよい。カメラ1~16は、会場の片側に面するカメラのセットであってもよいし、他の例として、会場を取り囲む他のカメラのセットの間に点在するカメラのセットであってもよい。また、ビデオストリーミングシステム200は、同じ会場のカメラ17~32などのカメラアングルの第2のセットからイメージウォールの第2のストリームを構築することによって、第2のストリームを生成してもよい。カメラ17~32は、会場のカメラ1~16とは反対側に面するカメラのセットであってもよいし、他の例として、会場を取り囲む他のカメラのセットの間に点在するカメラのセットであってもよい。いくつかの例では、ビデオストリーミングシステム200は、例えば、カメラ1~8及び17~24から作成された第3のストリームなど、いくつかの重複するカメラを含み得る任意の数のストリームを生成するように構成されてもよい。イメージウォール処理210から符号変換220までの破線は、本明細書の記述に従って、任意の数の異なるストリームが生成され得ることを表している。
【0024】
カメラのセットからのイメージウォールのストリームを使用してビデオストリームを構築した後、ビデオストリーミングシステム200は、ビデオストリームの符号変換220を実行して、イメージウォールの各フレームを適切なビデオフォーマットに符号化してもよい。この処理は、ビデオストリーム215の1つ1つに対して行われてもよい。その後、ビデオストリーミングシステム200は、適切な暗号化225を実行して、クライアントへの送信のためにストリームをパッケージ化してもよい。任意の数のクライアント230が、同じ暗号化されたビデオストリームを受信することができる。クライアント230の各々は、ユーザがどのカメラアングルからビデオストリームを見たいかを選んで変更できる特別なユーザインターフェースを用いて、ビデオストリームを見ることができるようにしてもよい。
【0025】
図3を参照すると、イメージウォール処理を用いて、複数のカメラからビデオストリームを生成する、より詳細な例が示されている。ここでは、複数のカメラビューからの例示画像305および310が2次元パターンに配置されている。この例では、画像305および310は、バレーボールコートと、バレーボールを打とうとしているプレーヤーを特徴としている。このように、バレーボールを打とうとしているプレーヤーの32枚の画像が、8×4画像配列のような矩形配列で並んでいる。これは、バレーボールコートに面した異なる場所に設置された32台のカメラ205が、同じ時刻に撮影した画像を反映したものである。バレーボールコートの角度とプレーヤーの向きの類似性から判断すると、各カメラ205は、バレーボールコートの同じ側に配置されていると考えられるが、わずかに高さが異なり、及び/又は互いにいくらかの小さな横方向の距離で離れている。
【0026】
本明細書に記載されたイメージウォール処理技術を使用して、ビデオストリーミングシステム200は、各カメラ205によって同時に撮影されたバレーボール画像の一部又は全部から1つのイメージウォールを生成してもよい。各カメラ205は同じシーンの画像を同じような角度で記録しているので、画像305および/または310からなるイメージウォールは非常に効率的に圧縮できる。ビデオストリーミングシステム200は、例えば、画像305のセット内の圧縮された16枚の画像のイメージウォールを生成してもよく、そのようにすることにより、同じ16枚の画像が個別に圧縮されてクライアントにストリーミングされる場合よりもはるかにメモリ効率が高い。ビデオストリーミングシステム200は、イメージウォールに含まれる特定のカメラアングルを見つけるためのマッピング及び/又は位置インデックスを提供する、イメージウォール及び/又はイメージウォールストリームに関連するメタデータを生成することもできる。ビデオストリーミングシステム200は、カメラ205のセットからの単位時間当たりの画像の各セットに対してこのイメージウォール処理を繰り返し、効率的に符号化してクライアント装置に伝送できるイメージウォールのストリームを作成してもよい。このように、本開示では、複数のカメラで撮影されたイベントを表示し、クライアントがクライアントの選択により複数のカメラアングルから視聴できるビデオストリーミングサービスを実現する方法について説明する。
【0027】
いくつかの例では、ビデオストリーミングシステム200は、同じイベントの異なるストリームを作成するために、複数セットのカメラを使用して、複数セットのイメージウォール処理を行なってもよい。この例では、カメラアングル1~16の画像からなる画像305と、カメラアングル17~32の画像からなる画像310とを分離して、それぞれストリーム1およびストリーム2を形成してもよい。つまり、同じイベントを記録している利用可能なカメラのサブセットのみを使用するイメージウォールの第1のストリームを形成することができる。これにより、例えば、クライアントが付加的な視聴体験を得るために異なる層のサービスに加入するオプションを有することができるように、ビデオストリーミングシステム200がイメージウォールの複数のストリームを生成することが可能になる。
【0028】
図4を参照すると、いくつかの例では、複数のカメラアングルを特徴とするストリーミングサービスの効率は、イメージウォール内の画像のサブセットに対してマクロブロック符号化を採用することによってさらに改善することができる。マクロブロック符号化とは、画像圧縮に用いるイメージウォールの画素の探索範囲を限定することである。従来の圧縮技術は、画像全体を探索して圧縮のための類似性を検出するのが一般的であったが、マクロブロック符号化では、圧縮する際にイメージウォールの画素の探索範囲を意図的に限定している。これにより、イメージウォールの圧縮に必要な時間を効果的に短縮することができる。
【0029】
この例では、最初の16枚の画像の圧縮のための探索範囲は、ハイライトされたウィンドウ405、410、および415に分割される。つまり、ウィンドウ405内の8枚の画像の類似性を求める圧縮技術は、その8枚の画像にのみ限定されることになる。ウィンドウ410の画像とウィンドウ415の画像も同様である。このため、これらの画像の類似性を見つけるための探索量は、イメージウォールの32枚の画像のすべてを探索する探索量から、イメージウォールの局所的な部分における4枚または8枚の画像だけを探索する探索量に減少する。
【0030】
各カメラ205の位置と共通のシーンまたはイベントに対するそれらの向きが既知であり、イメージウォールを形成する際に各カメラ205からの画像の位置を予め配置することができるため、マクロブロック符号化を画像のサブセットに対して高い効率で採用することが可能である。例えば、ウィンドウ410内の4枚の画像は、それらの4枚の画像を撮影したカメラが配置されている場所が既知であること、及びそれらの4台のカメラからの画像がイメージウォールのどこに配置されているか(例えば、イメージウォールの右上隅の4枚の画像として配置されている)が既知であることにより、一貫して互いに類似して見えることが分かっている。したがって、イメージウォール全体を圧縮する際に、類似性を見つけるための探索ウィンドウを限定するために、それらの4枚の画像の周りにマクロブロックウィンドウ410を配置することができる。これにより、これら4枚の画像を圧縮するための検索範囲が、イメージウォールの32枚の画像のすべてから4枚だけに削減される。同じ推論をウィンドウ405と415に適用可能であり、さらにはイメージウォール全体の中の他の画像のサブセットにも適用することができる。
【0031】
いくつかの例では、イメージウォールの符号化の効率をさらに向上させるために、付加的な符号化技術を採用し得る。こうした技術には、ブロックベースの動き推定ベクトルや、先行するイメージウォールのベースフレームから抽出されるピクセルベースの残差などが採用される。ブロックベースの動き推定とは、現在のフレームのマクロブロックと参照フレームのマッチした候補ブロックとの間の動きを推定するための符号化技術を指し得る。ピクセルベースの残差とは、先行して再構成された近傍のピクセルに基づいて画像ピクセルの予測値を符号化する「残差」符号化ステップを含むことを指し得る。これらの技術は、イメージウォールに使用する画像を撮影したカメラの設置場所が既知であること、およびそれらのカメラからの画像がイメージウォールのどこに配置されているかが既知であることに部分的に依拠して、イメージウォールの符号化に確実に利用できる。これらの技術は、予め定義された/予めレイアウトされたイメージウォールを使って最適な参照ブロックを簡単に見つけることができるため、符号化残差をできるだけ減らすことができ、符号化効率を高めることができる。例えば、指定されたマクロブロックを一つ一つ探すのではなく、詳細に指定されたマクロブロックをイメージウォールの中で直接参照することができる。これにより、時間とエネルギー資源を節約することができる。
【0032】
いくつかの例では、イメージウォールのストリームを受信するように構成されたクライアント装置が含まれる。クライアント装置の例としては、イメージウォールのストリーム内の各イメージウォールを復号および解凍し、各イメージウォール内の少なくとも1つのカメラアングルを表示させるように特別に構成されたセットトップボックスが考えられる。特別に構成されたセットトップボックスは、受信したメタデータを利用し、メタデータ内に見出されたカメラマッピングを、受信した各イメージウォールに適用することができる。次に、ユーザは、ユーザインターフェースと対話してカメラアングルを選択してもよく、クライアント装置は、それに応答して、その指定されたカメラアングルに関連する各イメージウォール内のストリーミング画像データを表示してもよい。
【0033】
例として、クライアント装置は、イメージウォールにおける画像位置関係のマッピングを知るために、メタデータを受信してもよい。さらなる例として、イメージウォールのサイズが7680×4320ピクセルだとすると、カメラ1からの第1の画像インデックス(x,y)は、(0,0)、(1920,0)、(0,1080)、(1920,1080)の境界内にあり、第2の画像インデックス(x,y)は、(1920,0)、(3840,0)、(1920,1080)、(3840,1080)の境界内にあることになる。以下同様である。クライアント端末が素早く様々なアングルに移動しても、メタデータを使って画像を切り出し、高速かつレスポンス良く表示することができる。
【0034】
また、クライアント装置のユーザは、ユーザインターフェースとの対話により、途中で別のカメラアングルに切り替えることができるようにしてもよい。クライアント装置は、メタデータから取得したマッピングを利用して、指定されたカメラアングルの表示に切り替えてもよい。クライアント装置のユーザは、いつでも途中から自らの選択により任意のカメラアングルに切り替えることができる。
【0035】
いくつかの例では、クライアントは、ユーザインターフェースを使用してクライアント装置をプログラムし、事前に設定されたプログラムに従って異なるカメラアングルに切り替えるようにしてもよい。このように、手動でカメラアングルを切り替えるのではなく、設定した時間間隔で自動的に切り替わるプログラムに従ってカメラアングルを切り替えることができる。これにより、例えば、プログラムされたカメラアングルの変化が十分に速く、互いに十分に接近して配置されたカメラ間で起こる場合、3次元の視聴体験が可能になり得る。
【0036】
図5を参照すると、いくつかの例では、クライアント装置に送信されたイメージウォールのストリームは、これまで実現されたことのないビデオストリーミング機能をユーザが実行することを可能にし得る。例えば、ユーザは、クライアントが最初にゲームを見るために使用したカメラアングルとは異なる、クライアントが選択したカメラアングルを使用して、図500に描かれたバスケットボールの試合などのイベントを再生することが可能になり得る。これは、ビデオストリームの各イメージウォールに、そのストリーム内のその時間フレームで利用可能なすべてのカメラアングルが含まれているためである。そのため、クライアント装置はビデオストリームを再生し、そのストリームで利用可能な他のカメラアングルを選択することができる。一方、従来のビデオストリームの再生では、どの時点でもカメラアングルは1つだけであり、カメラアングルはクライアント装置のユーザではなく、ビデオストリームの制作者やディレクターが選択するのが一般的である。
【0037】
図6は、ビデオストリーミングを提供する方法600の一例を示す図である。この方法は、ビデオストリーミングシステム200などのビデオストリーミングシステムによって実行され得る。工程602において、方法600は、ビデオストリーミングシステム200に関連するメモリなどのメモリ上の画像データにアクセスすることを含み得る。この画像データは、同じ時刻にイベントを記録した複数のカメラのそれぞれの画像を含んでもよい。複数のカメラの一例は、カメラ205であってもよく、これらは、例えば図1で説明したいずれの構成で配置されてもよい。
【0038】
工程604において、この方法は、同じ時刻に記録された複数のカメラからの各画像を結合して画像データの配列を生成することによってイメージウォールを生成することを含み得る。ここで、各々の画像は、イメージウォール内の少なくとも1つの他の画像と並べて配置される。イメージウォールの一例は図2~4に示される。工程606において、この方法は、イメージウォールを圧縮することを含み得る。圧縮の実行には、公知の圧縮アルゴリズムが使用できる。いくつかの例では、イメージウォールの圧縮は、マクロブロックウィンドウを用いてイメージウォールをより小さい探索ウィンドウに分割することを含み得る。図4を参照して、マクロブロックウィンドウ処理の一例について説明する。
【0039】
工程608で、この方法は、イメージウォールに関連付けられたメタデータを生成することを含み得る。ここで、メタデータは、イメージウォール内の各画像について、イメージウォール内の当該画像の位置を、複数のカメラのうちの当該画像を記録したカメラに結びつけるマッピングを含む。メタデータの更なる詳細については、図2を参照して例を説明した。
【0040】
工程610では、異なる時刻に撮影された複数のカメラからの画像の異なるセットについて、工程602~608で説明した処理を繰り返すことによって、イメージウォールのストリームが生成され得る。いくつかの例では、マッピングが各イメージウォールについて同じである場合があるので、1つのイメージウォールに関連するメタデータは、ストリーム内の連続する各イメージウォールについて再び作成される必要はない。工程612において、この方法は、イメージウォールのストリーム及び関連するメタデータをクライアント装置に送信することを含み得る。
【0041】
図7は、イメージウォールのストリームから生じるビデオストリームをクライアント装置が表示させる方法700の一例を示す。クライアント装置の例としては、セットトップボックス、コンピュータサーバー、デジタルテレビ、またはモバイルデバイス等を挙げることができる。工程702において、方法700は、イメージウォールのストリームをメモリに格納することを含み得る。ここで、各イメージウォールは、複数のカメラアングルから同じ時刻に記録された画像データから構成される。イメージウォールのストリームは、衛星ネットワーク、無線インターネット、または同軸ケーブルなど、これらはほんの数例であるが、様々な手段の1つを通じてビデオストリーミングシステム200から受信され得る。
【0042】
工程704において、この方法は、イメージウォールのストリームに関連付けられたメタデータを格納することを含み得る。ここで、メタデータは、イメージウォールのストリームのイメージウォール内の各画像について、イメージウォール内の当該画像の位置を、複数のカメラアングルのうちの当該画像を記録したカメラアングルに結びつけるマッピングを含む。メタデータの更なる詳細については、図2を参照して例を説明した。
【0043】
工程706において、方法700は、クライアント装置のメモリ上のイメージウォールのストリームにアクセスすることを含み得る。工程708において、方法700は、イメージウォールのストリームのうちの各イメージウォールを解凍することを含み得る。標準的な解凍法が使用され得る。工程710において、この方法は、ユーザが選択したカメラアングルにアクセスすることを含み得る。この選択は、イメージウォールのストリームを利用するビデオストリーミング用のシステムに関連する特別なユーザインターフェースを介して提供される入力であってもよい。工程712において、この方法は、格納されたメタデータ内のマッピングを利用することによって、イメージウォールのストリーム内で、ユーザが選択したカメラアングルに関連する画像のストリームの位置を特定することを含み得る。クライアント装置は、メタデータによって指定されたイメージウォールのマッピングを参照することによって、ユーザによって選択されたカメラアングルに関連する画像を見つけることができる。工程714において、この方法は、ユーザが選択したカメラアングルに関連する画像のストリームを表示させることを含み得る。
【0044】
本開示を通じて、用語「a」及び「an」は、特定の要素の少なくとも1つを示すことを意図している場合がある。本明細書で使用される場合、「含む」という用語は、提示された要素を含むが、それに限定されないことを意味する。「基づく」という用語は、少なくとも部分的に基づくことを意味する。
【0045】
図2~4に示されたシステム環境の構成要素は、通信ネットワーク(図示せず)を介して互いに接続されてもよく、この通信ネットワークは、インターネット、イントラネット、PAN(Personal Area Network)、LAN(Local Area Network)、WAN(Wide Area Network)、SAN(Storage Area Network)、MAN(Metropolitan Area Network)、無線ネットワーク、セルラー通信ネットワーク、公衆交換電話網、および/またはシステム環境の構成要素が通信できる他のネットワークを含んでいてもよい。
【0046】
なお、本開示のシステム及び処理は、本明細書に記載された特定の実施形態に限定されるものではない。さらに、各システムの構成要素および各処理は、本明細書に記載された他の構成要素および処理から独立し、分離して実施することが可能である。また、各々の構成要素および処理は、他の組立品パッケージや処理と組み合わせて使用することができる。本明細書のフローチャートおよびその説明は、そこに記載されている方法の各工程の実行順序を固定的に規定するものと理解されるべきではない。むしろ、方法の各工程は、少なくともいくつかの工程の同時実行を含む、実行可能な任意の順序で実行され得る。さらに、各方法は、図に示されるシステム構成要素の1つ以上によって実行されてもよい。
【0047】
本開示の態様を詳細に説明したが、添付の特許請求の範囲に定義される本開示の態様の範囲から逸脱することなく、修正および変形が可能であることは明らかであろう。本開示の態様の範囲から逸脱することなく、上記の構造、製品、および方法において様々な変更がなされ得るので、上記の説明に含まれ、添付の図面に示されるすべての事項は、例示であって限定的な意味を有さないと解釈されることが意図される。
【0048】
前述の明細書に基づいて理解されるように、本開示の上述の実施形態は、コンピュータソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせもしくはサブセットを含むコンピュータプログラミングまたはエンジニアリング技術を使用して実装され得る。コンピュータ可読コード手段を有する任意のそのようなプログラムは、1つまたは複数のコンピュータ可読媒体内に具現化または提供され、それによって、本開示の上述の実施形態によるコンピュータプログラム製品、すなわち、製造物品を作成することができる。コンピュータ可読媒体の例としては、フラッシュメモリードライブ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、固定(ハード)ドライブ、ディスケット、光ディスク、磁気テープ、リードオンリーメモリ(ROM)などの半導体メモリ、および/またはインターネットなどの通信ネットワークや通信リンクなどの任意の送信/受信媒体が考えられるが、これらに限定されない。非限定的な例として、コンピュータ可読媒体は、コンピュータ可読記憶媒体および通信媒体から構成される。コンピュータ可読記憶媒体は、有形かつ非一時的であり、コンピュータ可読命令、データ構造体、プログラムモジュールなどのデータを格納する。これに対し、通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュールなどのデータを、搬送波などの一時的な変調信号や他の搬送機構を具現化したもので、あらゆる情報配信媒体を含む。また、上記のいずれかの組み合わせもコンピュータ可読媒体の範囲に含まれる。コンピュータコードを含む製造物品は、ある媒体から直接コードを実行することによって、ある媒体から別の媒体にコードをコピーすることによって、またはネットワークを介してコードを伝送することによって、製造および/または使用することができる。
【0049】
この書面の説明で用いる例は、最良の態様を含む実施形態を開示するためのものであり、また、当業者であれば誰でも、任意の装置またはシステムの製造および使用ならびに任意の組み込まれた方法の実行を含めて、実施形態を実践することができるようにするためのものである。本開示の特許性の範囲は、特許請求の範囲によって定義され、当業者が想到する他の実施例を含むことができる。このような他の例は、特許請求の範囲の文言と異ならない構造要素を有する場合、または特許請求の範囲の文言と実質的に異ならない同等の構造要素を含む場合に、特許請求の範囲に含まれることを意図している。
図1
図2
図3
図4
図5
図6
図7
【外国語明細書】