(57)【要約】【課題】ビデオカメラとクライアントデバイスとを備えるシステム内で実行される方法を提供すること。【解決手段】ビデオカメラは、部分的に重複する視野を有する複数の画像センサを使用することによって、複数の画像を並行してキャプチャする。画像の重複部分が識別され、パノラマ画像を生成するために画像が接合される。画像を接合するとき、重複部分内の画像のうちの１つからのみの画像データが含められ、重複部分内の他の画像からの画像データは無視される。パノラマ画像および無視された画像データは、符号化され、符号化されたビデオストリーム内でクライアントデバイスに送信される。クライアントデバイスはビデオストリームを復号し、さらに、クライアントデバイスがカスタマイズされている場合、クライアントデバイスは、パノラマ画像を生成するときにビデオカメラによって無視された画像データを使用して、複数の画像の重複部分に対応する部分内のパノラマ画像を更新する。【選択図】図６
2018201197.tif 000002
【特許請求の範囲】
【請求項１】
ビデオカメラ（１０２）とクライアントデバイス（１０４、１０４ｂ、１０４ｃ）とを備えるシステム（１００）内で実行される方法であって、
前記ビデオカメラ（１０２）が、部分的に重複する視野を有する複数の画像センサ（１０３）を使用することによって、複数の画像（Ａ、Ｂ、Ｃ、Ｄ）を並行してキャプチャすること（Ｓ０２）と、
前記ビデオカメラ（１０２）が、前記複数の画像（Ａ、Ｂ、Ｃ、Ｄ）の重複部分（５０２ａ、５０２ｂ、５０２ｃ）を、前記複数の画像のうちの少なくとも２つの画像が重複する部分であると識別すること（Ｓ０４）と、
前記ビデオカメラ（１０２）が、前記複数の画像の部分（５１４ａ、５１２ａ、５１４ｂ、５１２ｂ、５１４ｃ、５１２ｃ、５１４ｄ）を互いに接合することによって、前記複数の画像センサの前記視野の結合に対応するパノラマ画像（５１０）を生成することであって、
前記複数の画像の各重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対して、前記ビデオカメラが、前記パノラマ画像内で重複する前記少なくとも２つの画像のうちの１つ（Ａ、Ｂ、Ｃ）からの画像データ（５１２ａ、５１２ｂ、５１２ｃ）を含み、前記ビデオカメラが、重複する前記少なくとも２つの画像の間の他の画像（Ｂ、Ｃ、Ｄ）からの画像データ（５２２ａ、５２２ｂ、５２２ｃ）を無視する、パノラマ画像を生成することと、
前記ビデオカメラが、前記パノラマ画像（５１０）および前記パノラマ画像を生成するときに無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を符号化し（Ｓ０８）、それらを、符号化されたビデオストリーム（３１０）内で前記クライアントデバイス（１０４ａ、１０４ｂ、１０４ｃ）に送信することと、
前記クライアントデバイス（１０４ａ、１０４ｂ、１０４ｃ）が、前記符号化されたビデオストリーム（１０４）を受信および復号し（Ｓ１０）、さらに、前記パノラマ画像（５１０）を生成するときに前記ビデオカメラ（１０２）によって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を扱うために前記クライアントデバイスがカスタマイズされるという条件付きで、前記クライアントデバイス（１０４ｃ）が、前記パノラマ画像（５１０）を生成するときに前記ビデオカメラ（１０２）によって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を使用して、前記複数の画像の前記重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する部分（５１２ａ、５１２ｂ、５１２ｃ）内の前記パノラマ画像（５１０）を更新することと
を含む方法。
【請求項２】
前記クライアントデバイス（１０４ｃ）が、前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像（５１０）の各部分（５１２ａ、５１２ｂ、５１２ｃ）に対して、前記パノラマ画像（５１０）およびその重複部分に関して前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）の重み付き平均を計算することによって、前記パノラマ画像（５１０）を更新する、請求項１に記載の方法。
【請求項３】
前記重み付き平均の重み（ｗ１、ｗ２）が、前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の前記部分（５１２ａ、５１２ｂ、５１２ｃ）の周縁に対するピクセルの近接性に基づいて、ピクセルごとに選択される、請求項２に記載の方法。
【請求項４】
前記重み付き平均の前記重み（ｗ１、ｗ２）が、前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の前記部分（５１２ａ、５１２ｂ、５１２ｃ）の前記周縁に対する前記ピクセルの前記近接性の平滑関数である、請求項３に記載の方法。
【請求項５】
前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の各部分（５１２ａ、５１２ｂ、５１２ｃ）に対して、
前記クライアントデバイス（１０４ｃ）が、前記パノラマ画像（５１０）およびその重複部分に対して前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）の第１の重み付き平均を計算することであって、前記第１の重み付き平均が、第１の閾値よりも低い空間周波数に関して計算される、計算することと、
前記クライアントデバイス（１０４ｃ）が、前記パノラマ画像（５１０）およびその重複部分に対して前記ビデオカメラ（１０２）によって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）の第２の重み付き平均を計算することであって、前記第２の重み付き平均が、第２の閾値に等しいまたはこれを上回る空間周波数に関して計算され、前記第２の閾値が前記第１の閾値よりも大きいまたはこれに等しい、計算することと
をさらに含み、
前記パノラマ画像（５１０）が、前記第１の重み付き平均と前記第２の重み付き平均をマージすることによって、前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する各部分（５１２ａ、５１２ｂ、５１２ｃ）内で更新され、
前記第１の重み付き平均および前記第２の重み付き平均を計算するために使用される重みが、異なるように選択される、
請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記第１の重み付き平均の前記重みが、前記複数の画像の前記重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の前記部分（５１２ａ、５１２ｂ、５１２ｃ）の前記周縁に対する前記近接性の平滑関数であり、
前記第２の重み付き平均の前記重みが、前記複数の画像の前記重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の前記部分（５１２ａ、５１２ｂ、５１２ｃ）の前記周縁に対する前記近接性に応じたゼロまたは１のどちらかである、請求項５に記載の方法。
【請求項７】
前記クライアントデバイス（１０４ｃ）が、前記複数の画像の重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する前記パノラマ画像の前記部分内の、および前記パノラマ画像のその部分を生成するときに前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）内の、物体（５１２ａ、５１２ｂ、５１２ｃ）を識別すること
をさらに含み、
物体が、前記複数の画像の重複部分に対応する前記パノラマ画像の前記部分（５１２ａ、５１２ｂ、５１２ｃ）内と前記パノラマ画像のその部分を生成するときに前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）内の両方において識別される場合、前記パノラマ画像およびその部分を生成するときに前記ビデオカメラによって無視された前記画像データのうちの一方の重みが、その物体に属すると識別されるピクセルに対してゼロに設定される、請求項２から６のいずれか一項に記載の方法。
【請求項８】
前記クライアントデバイス（１０４ｃ）が、前記パノラマ画像（５１０）および前記パノラマ画像を生成するときに無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）から前記複数の画像（Ａ、Ｂ、Ｃ、Ｄ）を復元すること
をさらに含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記クライアントデバイス（１０４ｃ）が、前記パノラマ画像（５１０）および前記パノラマ画像を生成するときに前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）に基づいて、前記複数の画像の前記重複部分に対応する前記パノラマ画像の部分（５１２ａ、５１２ｂ、５１２ｃ）に対する深度情報を計算すること
をさらに含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記パノラマ画像を生成するときに前記ビデオカメラによって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を扱うために前記クライアントデバイスがカスタマイズされていないという条件付きで、前記クライアントデバイス（１０４ａ）が前記パノラマ画像を表示すること
をさらに含む、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記パノラマ画像（５１０）が、前記符号化されたビデオストリーム（３１０）内でタイムスタンプによってマークされるビデオフレームとして符号化され、前記ビデオカメラが、前記パノラマ画像を生成するときに無視された前記符号化された画像データ（５２２ａ、５２２ｂ、５２２ｃ）を同じタイムスタンプによってマークする、請求項１から１０のいずれか一項に記載の方法。
【請求項１２】
前記パノラマ画像（５１０）を生成するときに無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）が、前記パノラマ画像（５１０）と同じビデオフレーム内で追加符号化タイルおよび／または追加符号化スライスとして符号化される、請求項１１に記載の方法。
【請求項１３】
前記パノラマ画像（５１０）を生成するときに無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）が、１つまたは複数の別個のビデオフレームとして符号化される、請求項１１に記載の方法。
【請求項１４】
前記１つまたは複数の別個のビデオフレームが、非表示フレームとしてマークされる、請求項１３に記載の方法。
【請求項１５】
部分的に重複する視野を有する複数の画像センサ（１０３）を備えるビデオカメラ（１０２）であって、前記複数の画像センサ（１０３）が、複数の画像（Ａ、Ｂ、Ｃ、Ｄ）を並行してキャプチャするように構成され、
前記複数の画像（Ａ、Ｂ、Ｃ、Ｄ）の重複部分（５０２ａ、５０２ｂ、５０２ｃ）を、前記複数の画像のうちの少なくとも２つの画像が重複する部分であると識別し、
前記複数の画像（Ａ、Ｂ、Ｃ、Ｄ）の部分（５１４ａ、５１２ａ、５１４ｂ、５１２ｂ、５１４ｃ、５１２ｃ、５１４ｄ）を互いに接合することによって、前記複数の画像センサ（５０３）の前記視野の結合に対応するパノラマ画像（５１０）を生成し、前記複数の画像の各重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対して、ビデオカメラ（１０２）が、前記パノラマ画像内で重複する前記少なくとも２つの画像のうちの１つ（Ａ、Ｂ、Ｃ）からの画像データ（５１２ａ、５１２ｂ、５１２ｃ）を含み、重複する前記少なくとも２つの画像の間の他の画像（Ｂ、Ｃ、Ｄ）からの画像データ（５２２ａ、５２２ｂ、５２２ｃ）を無視するように構成され、
前記パノラマ画像（５１０）および前記パノラマ画像を生成するときに無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を符号化し、それらを、ビデオストリーム（３１０）内でクライアントデバイス（１０４ｃ）に送信する
ようにさらに構成されたビデオカメラ（１０２）
を備え、
前記ビデオストリーム（３１０）を受信および復号し、前記パノラマ画像（５１０）を生成するときに前記ビデオカメラ（１０２）によって無視された前記画像データ（５２２ａ、５２２ｂ、５２２ｃ）を使用して前記複数の画像の前記重複部分（５０２ａ、５０２ｂ、５０２ｃ）に対応する部分（５１２ａ、５１２ｂ、５１２ｃ）内の前記パノラマ画像（５１０）を更新するように構成されたクライアントデバイス（１０４ｃ）
をさらに備えるシステム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールドマルチセンサビデオカメラに関する。より詳細には、本発明は、部分的に重複する視野を有する複数の画像センサを使用してビデオカメラによってキャプチャされた複数の画像からパノラマ画像を生成することに関する。
【背景技術】
【０００２】
シーンをモニタするために互いの隣に取り付けられた複数の画像センサを有するマルチセンサビデオカメラは、たとえば、監視アプリケーションで普及しつつある。複数の画像センサからキャプチャされた画像は、シーンのパノラマ画像を作成するために使用され得る。そのようなパノラマ画像を作成するのに関与する多数の処理ステップがある。画像センサからの画像は、レンズからの収差を減少させるために変形されることを必要とすることが多く、隣接する画像センサからの画像の重複は識別されることを必要とし、重複部は、互いの隣に取り付けられた画像センサからキャプチャされた画像の滑らかなスティッチングまたはブレンディングを作成するために処理されることを必要とすることが多い。
【０００３】
故に、パノラマ画像の作成と、特に、滑らかなスティッチングを達成するために行われる処理は、かなり要求の厳しい処理である。この画像処理を高フレームレートマルチセンサモニタリングカメラなどにおいてハイペースで実行するには、多くの処理パワーが必要とされる。処理パワーは、一般的には、ビデオカメラ内の限られたリソースであるので、それ故、パノラマ画像を作成するときのビデオカメラの処理要件を緩和することが興味の対象となる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、上記に鑑みて、本発明の目的は、パノラマ画像を作成するときのビデオカメラの処理要件を緩和することである。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、上記の目的は、ビデオカメラとクライアントデバイスとを備えるシステム内で実行される方法によって達成される。この方法は、
ビデオカメラが、部分的に重複する視野を有する複数の画像センサを使用することによって、複数の画像を並行してキャプチャすることと、
ビデオカメラが、複数の画像の重複部分を、複数の画像のうちの少なくとも２つの画像が重複する部分であると識別することと、
ビデオカメラが、複数の画像の部分を互いに接合することによって、複数の画像センサの視野の結合に対応するパノラマ画像を生成することであって、
複数の画像の各重複部分に対して、ビデオカメラが、パノラマ画像内で重複する少なくとも２つの画像のうちの１つからの画像データを含み、ビデオカメラが、重複する少なくとも２つの画像の間の他の画像からの画像データを無視する、生成することと、
ビデオカメラが、パノラマ画像およびパノラマ画像を生成するときに無視された画像データを符号化し、それらを、符号化されたビデオストリーム内でクライアントデバイスに送信することと、
クライアントデバイスが、符号化されたビデオストリームを受信および復号することと、
パノラマ画像を生成するときにビデオカメラによって無視された画像データを扱うためにクライアントデバイスがカスタマイズされるという条件付きで、クライアントデバイスが、パノラマ画像を生成するときにビデオカメラによって無視された画像データを使用して、複数の画像の重複部分に対応する部分内のパノラマ画像を更新することと
を含む。
【０００６】
この方法によれば、パノラマ画像を生成するための処理の一部がクライアントに残される。複数の画像からの画像データの一部分を互いに接合することによって、単純なパノラマ画像が、ビデオカメラにおいて生成される。しかしながら、最も処理が強烈な処理の一部、すなわち、複数の画像の滑らかなスティッチングを達成するように重複画像部分内の画像データをブレンディングするプロセス、すなわち、より高度なスティッチング技法が、クライアントに残される。このようにして、ビデオカメラ上の処理の負担が軽減され、代わりに、モニタリングカメラは、複数の画像センサによってキャプチャされたビデオストリームのより高いフレームレートを扱うことが可能であってよい。
【０００７】
依然として、単純なパノラマ画像が、カメラ側で生成および符号化される。隣接する画像センサからの画像が重複する部分では、カメラにおいてパノラマ画像を生成するとき、隣接する画像センサのうちの１つのみからの画像データが使用され、他の隣接する画像センサからの画像データは無視される。クライアントデバイスに、重複部分内の画像データをブレンディングすることなどの、複数の画像センサからの画像のより高度なスティッチングを実行する基本ブロックを与えるために、ビデオカメラにおいてパノラマ画像を作成するときに無視された画像データも符号化され、クライアントに送られる。
【０００８】
いくつかのクライアントデバイスでは、ビデオカメラにおいて生成されたパノラマ画像は、目的に十分に良好である、または、処理パワーは単に、あまりに限られているので、高度なスティッチング処理を実行することができない。たとえば、これは、たとえば巡回中の警備員によって使用されるモバイルデバイスまたはタブレット上でクライアントが実施される場合に当てはまることがある。本明細書においてカスタマイズされていないデバイスと呼ばれる、そのようなクライアントデバイスは、ビデオカメラにおいて生成されたパノラマ画像を復号および表示してよい。しかしながら、本明細書においてカスタマイズされたクライアントデバイスと呼ばれる、より高度なクライアントは、追加情報から利益を得て、パノラマ画像を生成するときにビデオカメラによって無視された画像データを使用して重複部分内のパノラマ画像を更新することが可能であるべきである。このようにして、カスタマイズされたクライアントデバイスは、パノラマ画像の滑らかさを改善してよい、すなわち、たとえば重複部分内の複数の画像からの画像データのブレンディングによって、個々の画像間の移行をより滑らかでシームレスにしてよい。追加的に、これによって、カスタマイズされたクライアントデバイスが、画像データのブレンディングをどのように実行するかを選ぶことが可能になる。故に、異なるカスタマイズされたクライアントデバイスは、必要に応じて、画像データをブレンディングする異なるやり方を使用する。例を挙げると、カスタマイズされたクライアントは、監視センターで使用される、大きな処理能力をもつ高度なコンピュータ上で実施されてよい。
【０００９】
本明細書において使用される、パノラマ画像とは、一般に、複数の画像の組み合わされたビューを覆う画像を意味する。パノラマ画像は、画像センサの部分的に重複する視野に対応する複数の画像の一部分を互いに接合することによって生成される。したがって、結果として得られるパノラマは、複数の画像センサの視野の結合すなわち組み合わせに対応する。
【００１０】
ビデオカメラがパノラマ画像を生成するときに画像データを無視すること、一般に、画像データがパノラマ画像内に含まれないことを意味する。
【００１１】
クライアントデバイスが、パノラマ画像を生成するときにビデオカメラによって無視された画像データを扱うためにカスタマイズされていることは、一般に、クライアントデバイスが、ビデオストリーム内で無視された画像データを識別し、無視された画像データを、受信されたパノラマ画像を更新するために使用するように適合されることを意味する。
【００１２】
クライアント内のパノラマ画像の更新は、元の画像の重複部分に対応するその部分内でビデオカメラによって生成されたパノラマ画像の画像データを、追加的に受信された、パノラマ画像を生成するときにビデオカメラによって無視された画像データとブレンディングすることによって実行されてよい。このようにして、クライアントデバイスは、より滑らかなパノラマ画像を作成するように元の画像をスティッチングしてよい。本明細書において使用される、ブレンディングとは、一般に、重み付き平均が形成されることを意味する。より詳細には、クライアントデバイスは、複数の画像の重複部分に対応するパノラマ画像の各部分に対して、パノラマ画像およびその重複部分に関してビデオカメラによって無視された画像データの重み付き平均を計算することによって、パノラマ画像を更新してよい。本明細書において使用される、複数の画像のスティッチングとは、その複数の画像が単一の画像へと組み合わされ、複数の画像の重複部分内の画像データが、複数の画像間の滑らかな遷移を達成するように、あるやり方または他のやり方で組み合わされる、すなわち、ブレンディングされることを意味する。
【００１３】
重み付き平均は、一般的には、重複部分内のピクセル単位で計算される。重み付き平均を計算するときに使用される重みは、ピクセルごとに選択されてよい。故に、重みは、重複部分全体を通じて変わってよい。重みは、さまざまなやり方で選択または計算されてよい。いくつかの実施形態では、重みは、重複部分内の画像データに基づいて計算されるが、他の実施形態では、重みは、重複部分内の画像データとは無関係に計算される。
【００１４】
後者の場合の一例として、重み付き平均の重みは、複数の画像の重複部分に対応するパノラマ画像の部分の周縁に対するピクセルの近接性に基づいて、ピクセルごとに選択される。これによって、元の画像の滑らかなスティッチングがもたらされる。たとえば、２つの隣接するセンサの画像が重複し、２つのセンサのうちの第１のセンサからの画像データが、重複に対応するその部分のパノラマ画像内に含まれ、パノラマ画像に加えて、重複内の２つのセンサのうちの他方のセンサの画像データがクライアントデバイスに送られると想定する。第１のセンサから生じる画像データの重みは、ピクセルから第１のセンサからの画像の重複部分と非重複部分との間の境界までの距離の減少関数であってよい。同様に、第２のセンサから生じる画像データの重みは、ピクセルから第２のセンサからの画像の重複部分と非重複部分との間の境界までの距離の減少関数であってよい。重みは、間隔［０，１］に含まれるように正規化されてよく、ピクセルに対する重みの合計は、１に等しくてよい。その場合、ブレンディングは、アルファブレンディングと呼ばれることがある。
【００１５】
スティッチングの滑らかさをさらに一層改善するために、重み付き平均の重みは、複数の画像の重複部分に対応するパノラマ画像の部分の周縁に対するピクセルの近接性の平滑関数であってよい。平滑関数とは、関数が連続的であり、また、導き出せることが好ましいことを意味する。
【００１６】
さらなる実施形態によれば、重複部分内の画像データの低周波数成分は、画像データの高周波数成分とは異なるようにブレンディングされてよい。低周波数成分とは、一般に、第１の閾値よりも低い画像データの空間周波数を意味し、高周波数成分とは、一般に、第２の閾値に等しいまたはこれよりも大きい画像データの空間周波数を意味する。第２の閾値は、第１の閾値に等しくてもよいし、第１の閾値よりも大きくてもよい。
【００１７】
一般的には、低周波数成分は、画像データにおける滑らかな変動を表すが、高周波数成分は、ノイズなどの、画像データにおける不規則な変動を表す。低周波数成分は、結果として得られるパノラマ画像の滑らかさに、高周波数成分よりも大きく影響するので、それ故、高周波数よりも低周波数成分をブレンディングすることが重要であることが多い。これは、高周波数および低周波数に異なるブレンディング戦略を使用することによって達成され得る。より具体的には、これは、複数の画像の重複部分に対応するパノラマ画像の各部分に対して、
クライアントデバイスが、パノラマ画像およびその重複部分に対してビデオカメラによって無視された画像データの第１の重み付き平均を計算することであって、この第１の重み付き平均は、第１の閾値よりも低い空間周波数に関して計算される、計算することと、
クライアントデバイスが、パノラマ画像およびその重複部分に対してビデオカメラによって無視された画像データの第２の重み付き平均を計算することであって、この第２の重み付き平均は、第２の閾値に等しいまたはこれを上回る空間周波数に関して計算され、この第２の閾値は第１の閾値よりも大きいまたはこれに等しい、計算することと
によって達成され得、
パノラマ画像は、第１の重み付き平均と第２の重み付き平均をマージすることによって、複数の画像の重複部分に対応する各部分内で更新され、
第１の重み付き平均および第２の重み付き平均を計算するために使用される重みは、異なるように選択される。
【００１８】
例示的な実施形態によれば、第１の重み付き平均の重みは、複数の画像の重複部分に対応するパノラマ画像の部分の周縁に対する近接性の平滑関数であり、第２の重み付き平均の重みは、複数の画像の重複部分に対応するパノラマ画像の部分の周縁に対する近接性に応じたゼロまたは１のどちらかである。したがって、これによって、一番大切である低周波数における滑らかなブレンディングがもたらされる。高周波数の場合、ブレンディングは執行されない。
【００１９】
複数のセンサによってキャプチャされた複数の画像は、一般的には、アライメントされる。アライメントは、複数のセンサに対してなされる較正プロセスから生まれる較正データに応じてなされる。アライメントは、通常、ビデオカメラからのある一定の距離に対して最適であるが、視差により、アライメントは、他の距離に対しては、最適には及ばない。その結果、２つの隣接する画像センサが、重複部分内の異なるピクセル位置において、シーン内の（ビデオカメラから、アライメントが最適に及ばない距離のところに置かれた）物体を描くことが起こることがある。そのような場合、パノラマ画像内に物体の複製物を有さないために、画像センサのうちの１つから物体を描く画像データのみを使用することが望ましいことがある。
【００２０】
より詳細には、方法は、
クライアントデバイスが、複数の画像の重複部分に対応するパノラマ画像の部分内の、およびパノラマ画像のその部分を生成するときにビデオカメラによって無視された画像データ内の、物体を識別すること
をさらに含んでよく、
物体が、複数の画像の重複部分に対応するパノラマ画像の部分内とパノラマ画像のその部分を生成するときにビデオカメラによって無視された画像データ内との両方において識別される場合、パノラマ画像およびその部分を生成するときにビデオカメラによって無視された画像データのうちの一方の重みは、その物体に属すると識別されるピクセルに対してゼロに設定される。
【００２１】
識別される物体は、複数の画像の重複部分に対応するパノラマ画像の一部分内に部分的に描かれ、パノラマ画像のその部分を生成するときにビデオカメラによって無視された画像データによって部分的に描かれる物体など、物体の一部であってもよいことが理解されるべきである。
【００２２】
クライアントデバイスは、滑らかなパノラマ画像を提供するために、受信されたデータを使用してパノラマ画像を更新してよいだけでなく、受信されたデータを他の目的に使用してもよい。たとえば、２つの異なる画像センサによってキャプチャされたシーンの同じエリアを描く画像データを有することは、シーン内に存在する人間を識別するときなど、ビデオストリームの法医学的分析をするときに、利点であることがある。
【００２３】
クライアントデバイスは、受信されたデータを使用して、複数の画像を復元してもよい。これが可能であるのは、提案される方法は、エンコーダによって行われる圧縮は別にして、画像データがビデオエンコーダによって破棄されないという趣旨において、損失がないからである。具体的には、すべての元の画像の非重複部分および重複部分からの画像データは、クライアントにおいて受信されるデータ内で表される。したがって、方法は、クライアントデバイスが、パノラマ画像およびパノラマ画像を生成するときに無視された画像データから複数の画像を復元することをさらに含んでよい。
【００２４】
さらなる実施形態によれば、クライアントデバイスは、受信されたデータを使用して、シーン内の物体に関する深度情報を導き出してよい。これは、複数の画像センサの視差により可能である。より詳細には、クライアントデバイスは、パノラマ画像およびパノラマ画像を生成するときにビデオカメラによって無視された画像データに基づいて、複数の画像の重複部分に対応するパノラマ画像の部分に対する深度情報を計算してよい。
【００２５】
上記でさらに述べられたように、すべてのクライアントデバイスは、ブレンディングまたはより高度なスティッチング手順を行うようにカスタマイズされないことがある。そのようなクライアントデバイスは、単に、受信されたパノラマ画像を復号および表示し、パノラマ画像を生成するときにビデオカメラによって無視された画像データに対応する追加データを無視してよい。より具体的には、パノラマ画像を生成するときにビデオカメラによって無視された画像データを扱うためにクライアントデバイスがカスタマイズされていないという条件付きで、クライアントデバイスは、パノラマ画像を表示してよい。
【００２６】
上記でさらに述べられたように、パノラマ画像およびパノラマ画像を生成するときにビデオカメラによって無視された複数の画像の重複部分からの画像データの形をした追加情報は、符号化され、符号化されたビデオストリーム内でクライアントデバイスに送信される。符号化されたビデオストリームは、パノラマ画像を生成するときにビデオカメラによって無視された画像データを扱うためにカスタマイズされてもよいしされなくてもよい、さまざまなタイプのクライアントデバイスによって受信され得るので、追加情報の送信は、カスタマイズされていないデバイスが、依然として、現在のビデオ復号規格に従って受信されたビデオストリームを復号および表示することができるように、柔軟であることが有利である。
【００２７】
これを達成するために、パノラマ画像は、標準的なビデオ符号化方式を使用するビデオストリームのビデオフレームとして符号化されてよい。追加情報、すなわち、パノラマ画像内に含まれない重複部分からの画像データは、タイムスタンプ情報を使用することによって符号化されたビデオストリームに結び付けられた追加符号化アイテムとして符号化されてよい。より詳細には、パノラマ画像は、符号化されたビデオストリーム内でタイムスタンプによってマークされるビデオフレームとして符号化されてよく、ビデオカメラは、パノラマ画像を生成するときに無視された符号化された画像データを同じタイムスタンプによってマークしてよい。
【００２８】
実施形態によれば、パノラマ画像を生成するときに無視された画像データは、パノラマ画像と同じビデオフレーム内で追加符号化タイルおよび／または追加符号化スライスとして符号化される。このようにして、追加情報は、パノラマ画像と同じビデオフレーム内に含まれる。しかしながら、カスタマイズされていないデバイスは、たとえば、追加符号化タイルおよび／もしくは追加符号化スライスを「非表示」と指し示すことによって、または、追加スライスおよび／もしくは追加タイルをフレームのデータ内に含めるが、追加スライスおよび／もしくは追加タイルの存在を指し示さないフレームのヘッダを使用することによって、追加符号化タイルおよび／または追加符号化スライスを無視してよい。
【００２９】
代替的に、パノラマ画像を生成するときに無視された画像データは、１つまたは複数の別個のビデオフレームとして符号化されてよい。より詳細には、パノラマ画像を生成するときに無視された、重複部分内の画像データは、パノラマ画像を備えるビデオフレームへの追加である別個のビデオフレームとして符号化されてよい。別個のビデオフレーム内では、無視された画像データは、一般的には、パノラマ画像の場合と同じく、対応するピクセル位置に置かれる。残りのピクセル位置は、スキップブロックとして符号化されてよい。その場合、カスタマイズされていないクライアントデバイスの標準的なビデオデコーダは、単に、追加フレームを表示しなくてもよいが、クライアントデバイスのカスタマイズされたデコーダは、これらのビデオフレームを識別し、それらを、パノラマ画像を更新するために使用するように指示されるであろう。
【００３０】
１つまたは複数の別個のビデオフレームは、非表示フレームとしてマークされてよい。このようにして、非表示フレームが利用可能である規格を実施するカスタマイズされたデバイスの標準的なデコーダは、別個のビデオフレームの追加情報を無視することを可能にすることが容易であろう。非表示フレームが使用できないビデオ復号規格の場合、代わりに、１つまたは複数の別個のビデオフレームは、別個のビデオフレームを表示しないように標準的デコーダをだますように、ビデオストリーム内のより前または後の位置を参照する表示カウント値を用いてマークされてよい。
【００３１】
本発明の第２の態様によれば、上記の目的は、
部分的に重複する視野を有する複数の画像センサを備え、この複数の画像センサは、複数の画像を並行してキャプチャするように構成される、ビデオカメラであって、
複数の画像の重複部分を、複数の画像のうちの少なくとも２つの画像が重複する部分であると識別し、
複数の画像の部分を互いに接合することによって、複数の画像センサの視野の結合に対応するパノラマ画像を生成し、複数の画像の各重複部分に対して、パノラマ画像内で重複する少なくとも２つの画像のうちの１つからの画像データを含み、重複する少なくとも２つの画像の間の他の画像からの画像データを無視するように構成され、
パノラマ画像およびパノラマ画像を生成するときに無視された画像データを符号化し、それらを、符号化されたビデオストリーム内でクライアントデバイスに送信する
ようにさらに構成されたビデオカメラ
を備え、
符号化されたビデオストリームを受信および復号し、パノラマ画像を生成するときにビデオカメラによって無視された画像データを使用して、複数の画像の重複部分に対応する部分内のパノラマ画像を更新するように構成されたクライアントデバイス
をさらに備えるシステムによって達成される。
【００３２】
第２の態様は、一般に、第１の態様と同じ特徴および利点を有してよい。本発明は、別段に明示的に記載されていない限り、特徴のすべての可能な組み合わせに関することがさらに留意される。本明細書で開示される任意の方法のステップは、明示的に記載されていない限り、開示される正確な順序で実行される必要はない。
【００３３】
本発明の上記の目的、特徴、および利点、ならびに追加目的、特徴、および利点は、添付の図面を参照しながら、以下の本発明の好ましい実施形態の例示的かつ非限定的な詳細な説明を通じて、さらに一層理解されるであろう。添付の図面では、同じ参照番号は、類似の要素に使用される。
【図面の簡単な説明】
【００３４】
【図１】実施形態によるシステムを概略的に図示する図である。
【図２】マルチセンサカメラによってキャプチャされた画像を概略的に図示する図である。
【図３】実施形態によるビデオカメラの内部構成要素を概略的に図示する図である。
【図４】実施形態によるクライアントデバイスの内部構成要素を概略的に図示する図である。
【図５】マルチセンサビデオカメラによってキャプチャされた変形されアライメントされた画像、ビデオカメラによって生成されたパノラマ画像、および実施形態によるパノラマ画像を生成するときビデオカメラによって無視される画像データを概略的に図示する図である。
【図６】実施形態による重み付き平均を計算するための重みの選択を概略的に図示する図である。
【図７】実施形態に記載の方法のフローチャートである。
【発明を実施するための形態】
【００３５】
次に、本発明について、以下で、本発明の実施形態が示されている添付の図面を参照しながら、より十分に説明する。本明細書で開示されるシステムおよびデバイスは、動作において説明される。
【００３６】
図１は、複数の画像センサ１０３を有するビデオカメラ１０２と、１つまたは複数のクライアントデバイス１０４ａ、１０４ｂ、１０４ｃとを備えるシステム１００を図示する。ビデオカメラ１０２は、可視光カメラであってもよいし、サーマルカメラであってもよいし、飛行時間型すなわちＴｏＦカメラであってもよい。ビデオカメラ１０２は、たとえば、ネットワーク１０６を介して、１つまたは複数のクライアントデバイスと通信するように配置される。通信は、ワイヤを介してもよいし、ワイヤレスであってもよい。
【００３７】
１つまたは複数のクライアントデバイス１０４ａ、１０４ｂ、１０４ｃは、種々のタイプであってよい。図示の例では、クライアントデバイス１０４ａはモバイルデバイスであり、クライアントデバイス１０４ｂはラップトップであり、クライアントデバイス１０４ｃはコンピュータである。クライアントデバイス１０４ａ、１０４ｂ、１０４ｃは、異なる目的で使用されてよく、異なる処理能力も有してよい。たとえば、一方、モバイルデバイスであるクライアントデバイス１０４ａは、ビデオカメラ１０２によって生成されるパノラマ画像をモバイルデバイスを介して見ることがある巡回中の警備員によって使用されてよい。モバイルデバイスの限られた処理能力に鑑みて、クライアントデバイス１０４ａは、受信したパノラマ画像の追加処理を実行することができないことがある。同時に、モバイルデバイスの小さなスクリーンや、それが使用される状況に鑑みて、ビデオカメラ１０２から受信されたパノラマ画像は、ビデオカメラ１０２のセンサ１０３によってキャプチャされたビューの概要を警備員に与える目的に十分良好であってよい。一方では、コンピュータ１０４ｃは、監視センター内の高性能コンピュータであってよい。そのようなものとして、コンピュータ１０４ｃは、少なくともモバイルクライアントデバイス１０４ａと比較して、大きな処理能力を有してよい。クライアントデバイス１０４ｃは、たとえば、より滑らかなパノラマ画像を生成するために使用される画像間の遷移をするために、ビデオカメラ１０２から受信されたパノラマ画像を処理するようにカスタマイズされてよい。その結果、より高品質の改善されたパノラマ画像が、監視センター内のオペレータに表示され得る。
【００３８】
以下では、カメラ側で無視された複数の画像の重複部分内の画像データに対応する受信したビットストリーム内の追加情報を復号し、この追加情報に基づいて受信したパノラマ画像を処理するように適合されたクライアントデバイスは、カスタマイズされたクライアントデバイスと呼ばれる。対照的に、追加情報を復号するまたは受信したパノラマ画像を処理するように適合されないクライアントデバイスは、カスタマイズされていないクライアントデバイスと呼ばれる。したがって、上記の例では、クライアントデバイス１０４ａは、カスタマイズされていないクライアントデバイスであり、クライアントデバイス１０４ｃは、カスタマイズされたクライアントデバイスである。
【００３９】
ビデオカメラ１０２の複数のセンサ１０３は、部分的に重複する視野を有する。これは、ビデオカメラ１０２の複数のセンサ１０３によって並行してすなわち同時にキャプチャされている複数の画像Ａ、Ｂ、Ｃ、Ｄを示す図２にさらに図示されている。したがって、画像Ａ、Ｂ、Ｃ、Ｄの各々は、画像センサ１０３のうちの異なる画像センサに対応する。この場合、４つのセンサ１０３および４つの画像が描かれているが、センサの数は、２よりも大きいまたはこれに等しい任意の数であってよいことが理解される。図示の例では、画像センサは、互いの隣に一次元配列で取り付けられる。しかしながら、画像センサは、二次元配列上に取り付けられるまたは球上に取り付けられるなど、他の配列状パターンで取り付けられてよいことが理解されるべきである。
【００４０】
センサの視野が重複することにより、画像Ａ、Ｂ、Ｃ、Ｄが互いに重複する。言い換えれば、図２の破線エリアによって指し示されるように、重複する部分が、複数の画像内にある。
【００４１】
図３は、ビデオカメラ１０２の内部構成要素を図示する。ビデオカメラ１０２は、複数のセンサ１０３と、パノラマ画像生成器３０２と、エンコーダ３０４と、送信器３０６とを含む。
【００４２】
図４は、カスタマイズされたクライアントデバイス１０４ｃの内部構成要素を図示する。クライアントデバイス１０４ｃは、受信器４０２と、デコーダ４０４と、スティッチング構成要素４０６とを備える。クライアントデバイス１０４ｃは、ディスプレイも含んでよい。カスタマイズされていないクライアントは、一般的には、受信器と、デコーダとを含む。しかしながら、カスタマイズされていないクライアントは、一般的には、スティッチング構成要素を含まない。
【００４３】
したがって、ビデオカメラ１０２は、ビデオカメラ１０２の機能を実施するように構成された種々の構成要素３０２、３０４、および３０６を備える。同様に、クライアントデバイス１０４ｃは、クライアントデバイス１０４ｃの機能を実施するように構成された種々の構成要素４０２、４０４、４０６を備える。特に、図示された各構成要素は、ビデオカメラ１０２またはクライアントデバイス１０４ｃの機能に対応する。一般に、ビデオカメラ１０２およびクライアントデバイス１０４ｃは、構成要素３０２、３０４、３０６、４０２、４０４、４０６と、より具体的には、これらの構成要素の機能とを実施するように構成された回路構成を備えてよい。
【００４４】
ハードウェア実装形態では、構成要素３０２、３０４、３０６、４０２、４０４、４０６の各々は、専用であり、構成要素の機能を提供するように具体的に設計された回路構成に対応してよい。回路構成は、１つまたは複数の特定用途向け集積回路などの１つまたは複数の集積回路の形であってよい。例を挙げると、パノラマ画像生成器３０２は、したがって、使用時にパノラマ画像を生成する回路構成を備えてよい。
【００４５】
ソフトウェア実装形態では、回路構成は、代わりに、ビデオカメラ１０２およびクライアントデバイス１０４ｃに本明細書で開示される任意の方法を行わせる、不揮発性メモリなどの、（非一時的な）コンピュータ可読媒体上に記憶されたコンピュータコード命令に関連する、マイクロプロセッサまたは中央処理装置などのプロセッサの形であってよい。したがって、その場合、構成要素３０２、３０４、３０６は各々、ビデオカメラ内のプロセッサによって遂行されるとビデオカメラ１０２に構成要素の機能を行わせる、ビデオカメラ１０２内のコンピュータ可読媒体上に記憶されたコンピュータコード命令の一部分に対応する。同様に、したがって、構成要素４０２、４０４、４０６は各々、クライアントデバイス１０４ｃ内のプロセッサによって遂行されるとクライアントデバイス１０４ｃに構成要素の機能を行わせる、クライアントデバイス１０４ｃ内のコンピュータ可読媒体上に記憶されたコンピュータコード命令の一部分に対応する。
【００４６】
構成要素３０２、３０４、３０６、４０２、４０４、４０６のうちのいくつかの機能がハードウェア内で実施され、他の機能がソフトウェア内で実施されることを意味する、ハードウェア実装形態とソフトウェア実装形態の組み合わせを有することも可能であることが理解されるべきである。
【００４７】
ビデオカメラ１０２とクライアントデバイス１０４ａ、１０４ｂ、１０４ｃとを含むシステム１００の動作について、図１、図２、図３、図４、図５、および図７のフローチャートとからめて説く。
【００４８】
ステップＳ０２では、ビデオカメラ１０２は、複数の画像センサ１０３を使用して、複数の画像Ａ、Ｂ、Ｃ、Ｄをキャプチャする。より詳細には、複数のセンサ１０３は各々、シーンのビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、３０８ｄをキャプチャするように構成される。各ビデオストリームは、ビデオフレーム内に配置された画像のシーケンスである。複数の画像センサ１０３は、画像を同時にキャプチャするように同期される。したがって、第１のセンサによってキャプチャされたビデオストリーム３０８ａの各フレームは、他の画像センサによってキャプチャされたビデオストリーム３０８ｂ、３０８ｃ、３０８ｄの各々の中に、対応するフレームを有する。画像Ａ、Ｂ、Ｃ、Ｄは、画像センサ１０３によって同時にキャプチャされているビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、３０８ｄのフレームに対応する。
【００４９】
ビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、および３０８ｄは、パノラマ画像生成器３０２に入力される。ビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、３０８ｄのフレームがパノラマ画像生成器３０２に到着すると、パノラマ画像生成器３０２は、ビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、３０８ｄの同時に受信されたフレームに対応する、図２に示される複数の画像Ａ、Ｂ、Ｃ、Ｄを変形およびアライメントしてよい。変形およびアライメントは、樽型歪み補正と呼ばれることがある、シーンを画像センサ１０３上に撮像するレンズからの収差を補償するため、および複数の画像が単一の位置から撮影されていないことを補償するように複数の画像を共通面上に投影するためになされる。この種類の変形およびアライメントは、当技術分野で知られている。より詳細には、画像センサ１０３は、同じ物理的位置に取り付けられず、また、一般的には、異なる方向において見るために取り付けられる。結果として得られるパノラマ画像は、互いからオフセットされた位置からではなく単一の位置から撮影されたかのように見えることが望ましいので、複数の画像は、円筒または球などの共通面上に投影されるように変形される。なされる変形およびアライメントは、センサによって異なってよい。しかしながら、一般的には、同じ変形およびアライメントが、同じ画像センサ１０３から生じる各フレームに対してなされる。適用されることになる変形およびアライメントは、画像センサ１０３の較正から決定されてよく、次いで、決定された変形およびアライメントは、あらゆる将来のフレームに使用されてよい。
【００５０】
変形およびアライメント後の画像Ａ、Ｂ、Ｃ、Ｄが、図５において、アイテム５００として図示されている。画像Ａ、Ｂ、Ｃ、Ｄは、重複部分５０２ａ、５０２ｂ、５０２ｃを有する。図示のために、重複部分５０２ａ、５０２ｂ、５０２ｃは、方形形状を有するように示されている。しかしながら、重複部分は、アライメントおよび変形により、一般的には、非方形形状を有することが理解されるべきである。以下の説明は、非方形形状を有する重複部分にも等しく適用される。さらに、変形およびアライメントは、一般的には、画像Ａ、Ｂ、Ｃ、Ｄの周縁を非方形にすることが理解されるべきである。それ故、図５に図示されるような方形形状５００を復元させるように、切り取りが、画像Ａ、Ｂ、Ｃ、Ｄに適用されてよい。これは、方形画像内の「穴」すなわち値のない方形形状５００内部のピクセルを、黒色ピクセル（値ゼロをもつピクセル）によって埋めることによって、補われることがある。各重複部分５０２ａ、５０２ｂ、５０２ｃでは、複数の画像Ａ、Ｂ、Ｃ、Ｄのうちの少なくとも２つが重複する。これは、各重複部分５０２ａ、５０２ｂ、５０２ｃに対して、少なくとも２つの画像から入手可能な画像データがあることを意味する。この例では、重複部分５０２ａ内では画像Ａおよび画像Ｂから、重複部分５０２ｂ内では画像Ｂおよび画像Ｃから、重複部分５０２ｃ内では画像Ｃおよび画像Ｄから入手可能な画像データがある。非重複部分５０４ａ、５０４ｂ、５０４ｃ、および５０４ｄでは、画像の１つのみから、この場合、部分５０４ａ内では画像Ａから、部分５０４ｂ内では画像Ｂから、部分５０４ｃ内では画像Ｃから、部分５０４ｄ内では画像Ｄから入手可能な画像データがある。変形およびアライメントにより、重複部分５０２ａ、５０２ｂ、５０２ｃの形状は、図２に示されるものと比較して、変化した。
【００５１】
次いで、パノラマ画像生成器３０２は、ステップＳ０４において、複数の画像Ａ、Ｂ、Ｃ、Ｄ内の重複部分５０２ａ、５０２ｂ、５０２ｃを識別するために進む。重複部分５０２ａ、５０２ｂ、５０２ｃは、画像をマッチングさせる画像処理を使用することによって、たとえば、画像相関を実行することによって、または複数の画像内の特徴を識別してマッチングさせることによって、識別されてよい。しかしながら、ひとたび画像センサ１０３の初期較正がなされると、重複部分は、すべての将来のフレーム内で同じになる。それ故、画像センサ１０３の較正からの較正データに基づいて重複部分５０２ａ、５０２ｂ、５０２ｃを識別することが可能である。識別は較正データのみに基づいてよい、または、画像処理は、較正データに由来する識別を微調整するために、加えて使用されてよい。ステップＳ０４は、非重複部分５０４ａ、５０４ｂ、５０４ｃ、および５０４ｄの識別も含んでよい。
【００５２】
ステップＳ０６では、ビデオカメラ１０２のパノラマ画像生成器３０２がパノラマ画像を生成する。パノラマ画像は、複数の画像Ａ、Ｂ、Ｃ、Ｄの選択された部分を互いに接合することによって、すなわち、パノラマ画像を形成するために複数の画像Ａ、Ｂ、Ｃ、Ｄの選択された部分を並べて配置することによって、生成される。特に、すべての画像Ａ、Ｂ、Ｃ、Ｄの非重複部分５０４ａ、５０４ｂ、５０４ｃ、５０４ｄは、画像Ａ、Ｂ、Ｃ、Ｄのうちのいくつかからの重複部分と互いに接合される。しかしながら、処理パワーを節約するために、画像データのブレンディングはビデオカメラ１０２において執行されない。これは、さらに、パノラマ画像５１０を示す図５に図示されている。パノラマ画像５１０は、複数の画像センサ１０３の視野の結合を表す。パノラマ画像５１０は、複数の画像Ａ、Ｂ、Ｃ、Ｄの非重複部分５０４ａ、５０４ｂ、５０４ｃ、および５０４ｄに対応する、部分５１４ａ、５１４ｂ、５１４ｃ、および５１４ｄを備える。パノラマ画像５１０は、複数の画像Ａ、Ｂ、Ｃ、Ｄの重複部分５０２ａ、５０２ｂ、５０２ｃに対応する部分５１２ａ、５１２ｂ、５１２ｃも備える。
【００５３】
先に説明したように、画像データは、各非重複部分５０４ａ、５０４ｂ、５０４ｃ、および５０４ｄ内の画像Ａ、Ｂ、Ｃ、Ｄのうちの単一画像から入手可能である。それ故、パノラマ画像５１０の各対応する部分５１４ａ、５１４ｂ、５１４ｃ、および５１４ｄ内では、パノラマ画像生成器３０２は、その単一画像からの画像データを含む。この場合、パノラマ画像生成器３０２は、部分５１４ａ内の画像Ａからの画像データと、部分５１４ｂ内の画像Ｂからの画像データと、部分５１４ｃ内の画像Ｃからの画像データと、部分５１４ｄ内の画像Ｄからの画像データとを含む。
【００５４】
重複部分５０２ａ、５０２ｂ、５０２ｃの場合、画像データは、画像Ａ、Ｂ、Ｃ、Ｄのうちの数個から入手可能である。この例では、２つの画像からの画像データが、各重複部分内で入手可能である。パノラマ画像５１０の対応する部分５１２ａ、５１２ｂ、５１２ｃの場合、パノラマ画像生成器３０２は、画像データが入手可能な画像Ａ、Ｂ、Ｃ、Ｄのうちの１つのみからの画像データを含む。したがって、パノラマ画像生成器３０２は、各重複部分に対して１つの画像を選択し、パノラマ画像５１０の対応する部分内の選択された画像からの画像データを含む。図示の例では、パノラマ画像生成器３０２は、パノラマ画像５１０の部分５１２ａ内の画像Ａからの画像データと、部分５１２ｂ内の画像Ｂからの画像データと、部分５１２ｃ内の画像Ｃからの画像データとを含む。したがって、パノラマ画像５１０を生成するために、パノラマ画像生成器３０２は、この例では、画像Ａ、Ｂ、Ｃ、Ｄの非重複部分および画像Ａ、Ｂ、Ｃの重複部分を互いに接合する。したがって、画像Ａ、Ｂ、Ｃ、Ｄのうちの少なくとも２つが重複するとき、画像のうちの１つのみが、対応する重複部分に対して選択され、画像の非重複部分と互いに接合される。２つ以上の画像が重複する場合、それらのうちのいずれか１つが、対応する重複部分に対して選択可能である。したがって、パノラマ画像５１０の部分５１２ａ、５１２ｂ、５１２ｃを生成するとき、パノラマ画像生成器３０２は、選択された画像を除くすべての画像からの画像データを無視する。この場合、画像Ｂからの画像データは、部分５１２ａを生成するとき無視され、画像Ｃからの画像データは、部分５１２ｂを生成するとき無視され、画像Ｄからの画像データは、部分５１２ｃを生成するとき無視される。パノラマ画像５１０を生成するときにパノラマ画像生成器３０２によって無視された画像データは、図５では、アイテム５２０として図示されている。アイテム５２２ａ、５２２ｂ、および５２２ｃはそれぞれ、パノラマ画像の部分５１２ａ、５１２ｂ、および５１２ｃを生成するときにパノラマ画像生成器３０２によって無視された画像データに対応する。
【００５５】
パノラマ画像生成器３０２が、パノラマ画像５１０を生成するときにいくつかの画像データを無視する場合でも、パノラマ画像生成器３０２は、無視された画像データを破棄しない。逆に、図３に示されるように、パノラマ画像生成器３０２は、パノラマ画像５１０および無視された画像データ５２０をエンコーダ３０４にフォワーディングする。無視された画像データ５２０は、たとえば画像座標の形をした、パノラマ画像５１０の対応する部分５１２ａ、５１２ｂ、５１２ｃを識別する位置情報とともにフォワーディングされる。
【００５６】
ビデオストリーム３０８ａ、３０８ｂ、３０８ｃ、３０８ｄの新しいフレームがパノラマ画像生成器３０２に到着すると、上記のステップが繰り返されることが理解されるべきである。故に、パノラマ画像５１０のストリームおよび無視された画像データ５２０のストリームが、エンコーダ３０４に順次フォワーディングされる。
【００５７】
エンコーダ３０４が、パノラマ画像５１０および無視された画像データ５２０を順次受信すると、ステップＳ０８において、パノラマ画像５１０および無視された画像データ５２０を符号化することに進む。エンコーダ３０４は、一般に、パノラマ画像５１０のストリームを、Ｈ．２６４またはＨ．２６５などの標準的なビデオ符号化方式を使用して、ビデオストリームのビデオフレームとして符号化してよい。エンコーダ３０４はさらに、無視された画像データ５２０を、１つまたは複数の追加符号化アイテムとして符号化し、それらを、符号化されたビデオストリームに、タイムスタンプを用いて結び付ける。たとえば、図５のパノラマ画像５１０は、ビデオストリーム内のタイムスタンプによってマークされたビデオフレームとして符号化されてよい。対応する符号化された無視された画像データ５２０は、同じタイムスタンプによってマークされてよい。このようにして、デコーダは、無視された画像データ５２０を、正しいパノラマ画像５１０と関連づけてよい。
【００５８】
追加符号化アイテムをどのように生成するかについてのさまざまな代替形態がある、すなわち、無視された画像データ５２０は、さまざまなやり方で符号化されてよい。一実施形態によれば、無視された画像データ５２０は、パノラマ画像５１０と同じビデオフレーム内で符号化される。より詳細には、無視された画像データ５２０は、パノラマ画像５１０の対応する位置において、追加符号化タイルおよび／または追加符号化スライスとして符号化されてよい。例を挙げると、無視された画像データ５２２ａは、パノラマ画像５１０の部分５１２ａに対応する位置において、追加タイルおよび／または追加スライスとして符号化されてよい。
【００５９】
ビデオフレームは、一般に、フレームヘッダを備えてよく、この後に、フレームデータ、この場合は符号化された画像データがくる。符号化されることになる画像は、スライスと称される水平方向区画に分割されてよい。追加的に、または代替的に、符号化されることになる画像は、タイルと称される垂直方向区画に分割されてよい。スライスおよび／またはタイルは、別個に符号化および復号されてよいが、依然として、同じビデオフレーム内に含まれてよい。それ故、スライスは、水平方向に独立してコード化され、フレームの復号可能な単位と見なされてよく、タイルは、垂直方向に独立してコード化され、フレームの復号可能な単位と見なされてよい。スライスは、たとえば、Ｈ．２６４規格およびＨ．２６５規格によってサポートされている。タイル（およびスライス）は、たとえば、Ｈ．２６５規格によってサポートされている。デコーダが、異なるスライスおよび／またはタイルを互いから分離するために、スタートコードおよびストップコードが、フレームデータ内のスライスまたはタイルの開始および停止を識別するために使用されてよい。たとえば、ビデオフレームが、２つのタイルすなわちタイル１およびタイル２を含むと仮定し、その場合、そのビデオフレームは、以下の形を有することがある。
フレームヘッダ
スタートコード
タイル１
ストップコード
スタートコード
タイル２
ストップコード
デコーダが、符号化されたビデオフレームから画像を正しく作るために、デコーダは、画像内の、たとえば、ピクセル位置に関して、異なるタイルまたはスライスの位置を知ることも必要とする。言い換えれば、符号化されたタイルまたはスライスを送信することに加えて、フレームは、符号化されたタイルまたはスライスに対する位置上の情報も搬送する。そのような位置上の情報は、たとえば、スタートコード内に備えられてよい。
【００６０】
図５の例に戻ると、パノラマ画像５１０をタイルに区分する数個のやり方がある。たとえば、パノラマ画像５１０は、単一のタイルとして符号化されてもよい。別の例によれば、画像Ａから生じる部分５１４ａ、５１２ａは第１のタイルとして符号化されてよく、画像Ｂから生じる部分５１４ｂ、５１２ｂは第２のタイルとして符号化されてよく、画像Ｃから生じる部分５１４ｃ、５１２ｃは第３のタイルとして符号化されてよく、画像Ｄから生じる部分５１４ｄは第４のタイルとして符号化されてよい。これらの４つのタイルは、上記で説かれたように、ビデオフレーム内のスタートコードおよびストップコードによって指し示されてよい。
【００６１】
加えて、無視された画像データ５２２ａ、５２２ｂ、５２２ｃは、同じフレーム内で符号化されてよい。たとえば、無視された画像データ５２２ａは第１の追加タイルとして符号化されてよく、無視された画像データ５２２ｂは第２の追加タイルとして符号化されてよく、無視された画像データ５２２ｃは第３の追加タイルとして符号化されてよく、これらのタイルは、フレームデータの終端に、すなわち、パノラマ画像５１０を表すタイルの後に、追加される。代替的に、無視された画像データ５２２ａ、５２２ｂ、５２２ｃは、図５におけるアイテム５２０の破線の輪郭（これは、パノラマ画像５１０の輪郭に対応する）に対応する、単一の追加タイル内に符号化されてよい。
【００６２】
追加タイルは、カスタマイズされたデコーダによって読み取られることのみを意図しており、それ故、カスタマイズされていないデコーダが追加タイルを軽視することを可能にし、パノラマ画像５１０を復号するようにビデオフレームを復号することを依然として可能にする様式で符号化されるべきである。これは、数個のやり方で達成され得る。第１のやり方では、上記で説明されたように、追加タイルは、スタートコードおよびストップコードによって指し示されてよい。その場合、スタートコードは、たとえば、無視された画像データ５２２ａが重複部分５１２ａの位置に対応し、無視された画像データ５２２ｂ、および５２２ｃに対しても同様であることを指し示すために、追加タイルの位置上の情報を搬送してよい。さらに、追加タイルは、フレームヘッダ内で「非表示」としてマークされてよい。これによって、カスタマイズされていないデコーダが追加タイルを軽視することが可能になる。これは、「非表示」としてマークされたタイルが、別のタイルまたはフレームによって参照される場合にのみ復号されるからであるが、これは、ここでは当てはまらない。第２の、代替のやり方によれば、追加タイルは、スタートコードおよびストップコードを使用することなく、フレーム内に含まれてよい。カスタマイズされていないデコーダは、そのやり方では、データを読み込むためにスタートコードを検索しているので、追加タイルを軽視する。しかしながら、カスタマイズされたデコーダは、スタートコードおよびストップコードによって指し示されない場合でも、フレーム内のすべてのデータを読み取ることがある。この場合、追加タイルの位置上の情報は、スタートコード内、たとえば、フレームヘッダ内でない、別のやり方で、伝えられることを必要とする。
【００６３】
上記は、主に、タイルに関して説明してきたが、上記は、スライスにも等しく適用される。タイルは、画像センサが水平方向に配置されるときに使用されることが好ましく、スライスは、画像センサが垂直方向に配置されるときに使用されることが好ましい。
【００６４】
重複部分は形状が非方形である場合、非方形重複部分全体を含むスライス／タイルが作成されてよく、重複部分からのピクセル情報を有さないスライス／タイルのエリアは、以下で説明されるものによるスキップブロックを用いて符号化される。
【００６５】
別の実施形態によれば、無視された画像データ５２０は、符号化されたビデオストリーム内の１つまたは複数の追加ビデオフレーム内で、すなわち、対応するパノラマ画像５１０を搬送するフレームとは別のビデオフレーム内で、符号化される。たとえば、１つまたは複数の追加フレームは、パノラマ画像５１０およびスキップブロックの場合と同じく対応する位置に置かれた、無視された画像データ５２０を備えてよい。より詳細には、別個のフレームを符号化するために、「代替」パノラマ画像が生成されてよい。図５の例を参照すると、代替パノラマ画像は、非重複部分５１４ａ、５１４ｂ、５１４ｃ、５１４ｄ内に、パノラマ画像５１０と同じ画像成分を有する。しかしながら、重複部分５１２ａ、５１２ｂ、５１２ｃ内では、画像データは、無視された画像データ５２２ａ、５２２ｂ、５２２ｃによって置き換えられる。代替パノラマ画像の、非重複部分５１４ａ、５１４ｂ、５１４ｃに対応する部分は、パノラマ画像５１０を参照してコード化されてよいが、これは、それらの部分がＰ−スキップブロックとして符号化されることになる。その結果、無視された画像データ５２２ａ、５２２ｂ、５２２ｃのみが、符号化されることを必要とする。
【００６６】
追加ビデオフレームは「非表示」フレームとしてマークされてもよいし、「非表示」フレームが使用できないビデオ復号規格では、これらの画像フレームを表示しないように標準的デコーダをだますために、ビデオストリーム内のより前または後の位置を参照する表示カウント値を用いてマークされてもよい。しかしながら、カスタマイズされたデコーダは、これらのビデオフレームを識別して、それらを、パノラマ画像を処理するために使用するように指示されるであろうが、カスタマイズされていないデコーダは、追加フレームを軽視してよい。これについては、以下でより詳細に説明する。
【００６７】
エンコーダ３０４は、符号化されたビデオストリームを送信器３０６にフォワーディングし、送信器３０６は、クライアントデバイス１０４ａ、１０４ｂ、１０４ｃのうちの１つまたは複数に、符号化されたビデオストリームをビットストリームの形で送信する。符号化されたビデオストリームは、図３ではアイテム３１０として指し示されている。
【００６８】
ステップＳ１０では、クライアントデバイス１０４ａ、１０４ｂ、１０４ｃが、符号化されたビデオストリーム３１０を、受信器４０２を使用して受信し、符号化されたビデオストリーム３１０を、デコーダ４０４を使用して復号する。
【００６９】
クライアントデバイスが、カスタマイズされていないクライアントデバイスである場合、デコーダは、一般的には、Ｈ．２６４またはＨ．２６５などの標準的なビデオ復号方式を実施する。無視された画像データ５２０が、上記で説明されたように符号化されると、カスタマイズされていないクライアントデバイスの標準的なデコーダは、符号化されたビデオストリーム内の無視された画像データ５２０を単に無視し、ビデオカメラ１０２内のパノラマ画像生成器３０２によって生成されたパノラマ画像５１０を単に表示してよい。
【００７０】
クライアントデバイス１０４ｃなどのカスタマイズされたクライアントデバイスは、代わりに、ビデオストリーム内の追加情報、すなわち、パノラマ画像５００を生成するときにビデオカメラ１０２によって無視された画像データ５２０を識別するデコーダ４０４を有する。たとえば、クライアントデバイスは、ビデオストリームのフレーム内の追加タイルおよび／または追加スライスを識別してもよいし、上記で説明されたように「非表示」フレームとしてマークされている追加ビデオフレームを識別してもよい。
【００７１】
この追加情報は、次いで、たとえばパノラマ画像５１０を更新するために、スティッチング構成要素４０６によって使用される。一般に、スティッチング構成要素４０６は、元の画像Ａ、Ｂ、Ｃ、Ｄ内の重複部分５０２ａ、５０２ｂ、５０２ｃに対応する部分５１２ａ、５１２ｂ、５１２ｃ内のパノラマ画像５１０を、これらの部分５１２ａ、５１２ｂ、５１２ｃを生成するときに無視された画像データ５２２ａ、５２２ｂ、５２２ｃとブレンディングすることによって、パノラマ画像５１０を更新してよい。一般的には、ブレンディングは、重み付き平均を計算することを含む。例を挙げると、スティッチング構成要素４０６は、パノラマ画像５１０の部分５１２ａ内の画像データおよび無視された画像データ５２０の部分５２２ｂ内の画像データの重み付き平均を計算することによって、パノラマ画像５１０の部分５１２ａを更新してよい。それに応じて、元の画像ＡおよびＢからの画像データが、パノラマ画像５１０の部分５１２ａ内でブレンディングされる。同様に、画像ＢおよびＣの画像データが部分５１２ｂ内でブレンディングされ、画像ＣおよびＤの画像データが部分５１２ｃ内でブレンディングされる。
【００７２】
重み付き平均を計算するときに適用される重みは、ピクセルごとに選択されてよい。たとえば、重みは、部分５１２ａ、５１２ｂ、５１２ｃの境界への近接性に基づいて選択されてよい。例を挙げると、画像Ａから生じる画像データに対して、重みは、画像Ａの非重複部分５０４ａに対応する部分５１４ａへの最も近い距離の関数であってよい。これはさらに、図６において、パノラマ画像５１０の部分５１２ａ内のブレンディングに関して図示されている。
【００７３】
図６は、パノラマ画像５１０の部分５１２ａを図示する。この部分では、重み付き平均は、画像ＡおよびＢからの画像データから形成される、すなわち、ｗ１Ａ＋ｗ２Ｂである。重みｗ１は、部分５１２ａの左周縁への、すなわち、部分５１２ａと５１４ａ（画像Ａの非重複部５０４ａに対応する）の境界への、距離の減衰関数である。代わりに、重みｗ２は、部分の右周縁への、すなわち、部分５１２ａと５１４ｂ（画像Ｂの非重複部５０４ａに対応する）の境界への、距離の減衰関数である。重みは合計１になり、それによって、重み付き平均を発生させる。ここでは、重みは、部分５１２ａの周縁への距離の一次関数として図示されている。しかしながら、実際には、関数の正確な形は変化してよい。しかしながら、好ましくは、関数の正確な形は平滑関数である。
【００７４】
別の実施形態によれば、重みは、ピクセルごとに選択されるだけでなく、空間周波数に応じて異なってもよい。たとえば、パノラマ画像５００の部分５１２ａの画像データは、たとえば、ローパスフィルタおよびハイパスフィルタを使用して画像を空間的にフィルタリングすることによって、低周波数成分と高周波数成分に分離されてよい。同様に、無視された画像データ５２２ａは、低周波数成分および高周波数成分に分離されてよい。低周波数とは、一般に、第１の閾値を下回る周波数を意味し、高周波数とは、一般に、第２の閾値を上回るまたはこれに等しい周波数を意味する。第１の閾値と第２の閾値は等しくてよい。次いで、スティッチング構成要素４０６は、部分５１２ａおよび５２２ｂの画像データの低周波数成分に関する第１の重み付き平均と、部分５１２ａおよび５２２ｂの画像データの高周波数成分に関する第２の重み付き平均を計算してよい。
【００７５】
第１の重み付き平均を計算するときに使用される重みと第２の重み付き平均を計算するときに使用される重みは、異なるように選択されてよい。たとえば、第１の重み付き平均を計算するときに使用される重みは、上記で図６を参照して説明されたものに従って選択されてよい。第２の重み付き平均を計算するときに使用される重みは、ゼロまたは１のどちらかに等しいように選択されてよい。したがって、高周波数の場合、ブレンディングは執行されない。例を挙げると、パノラマ画像５１０の部分５１２ａを再び参照すると、部分５１２ａの右境界よりも左境界に近いピクセルに対して、画像Ａの高周波数成分に適用される重みｗ１は１に設定されてよく、画像Ｂの高周波数成分に適用される重みｗ２はゼロに設定されてよい。逆に、部分５１２ａの左境界よりも右境界に近いピクセルに対して、画像Ａの高周波数成分に適用される重みｗ１はゼロに設定されてよく、画像Ｂの高周波数成分に適用される重みｗ２は１に設定されてよい。
【００７６】
重みはまた、パノラマ画像５１０の部分５１２ａ、５１２ｂ、５１２ｃ内の画像データに、および無視された画像データ５２２ａ、５２２ｂ、５２２ｃに依存するように設定されてもよい。たとえば、元の画像Ａ、Ｂ、Ｃ、Ｄ内の重複部分５０２ａ、５０２ｂ、５０２ｃのうちの１つを覆う物体または物体の一部がある場合、少なくとも、物体によって覆われるピクセルに対して、重複部分内の重複画像のうちの１つからの画像データのみを使用することが有益なことがある。そうでない場合、視差により、結果として得られるパノラマ画像内で物体が二重になって示されるというリスクがある。それ故、スティッチング構成要素４０６は、パノラマ画像５００の部分５１２ａ、５１２ｂ、５１２ｃ内の物体または物体の一部を識別してよい。同様に、スティッチング構成要素４０６は、対応する無視された画像データ５２２ａ、５２２ｂ、５２２ｃ内の物体または物体の一部を識別してよい。物体識別は、たとえば、当技術分野で知られているような、画像データ内の端、隅、または対照点の識別を含んでよい。スティッチング構成要素４０６が、部分５１２ａ、５１２ｂ、５１２ｃ内と、無視された画像データ５２２ａ、５２２ｂ、５２２ｃの対応するピース内の両方で、物体または物体の一部を識別する場合、上記で説明された重み付き平均を形成するときに使用される重みは、物体に属するピクセルに関して、パノラマ画像５１０および無視された画像データ５２０のうちの１つに対して、ゼロに設定される。
【００７７】
スティッチング構成要素４０６がパノラマ画像５１０を更新すると、更新されたパノラマ画像は、クライアントデバイスのディスプレイ上に表示されてよい。
【００７８】
上記の説明は、主に、パノラマ画像の滑らかさを改善するためにパノラマ画像を更新することに関するが、カスタマイズされたクライアントデバイスは、追加的に受信されたデータ、すなわち、パノラマ画像を生成するときにカメラ側で無視された画像データも使用してよいことが理解されるべきである。たとえば、クライアントデバイスは、パノラマ画像５１０および無視された画像データ５２０から複数の画像を復元してよい。別の例によれば、クライアントデバイスは、元の画像の重複部分５０２ａ、５０２ｂ、５０２ｃに対応する部分５１２ａ、５１２ｂ、５１２ｃ内の深度情報を計算するために、受信されたパノラマ画像５１０および無視された画像データ５２０を使用してよい。深度情報は、画像Ａ、Ｂ、Ｃ、Ｄの重複における差異に基づいて計算されてよい。
【００７９】
上記の方法は、部分的に重複する視野を有する複数の画像センサを使用することによって複数の画像を並行してキャプチャするビデオカメラの文脈で説明されてきた場合でも、他の状況にも適用可能である。たとえば、単一の画像センサをもつビデオカメラは、たとえば、シーンをスキャンするために、パンする動きおよび傾ける動きを実行することによって、移動されてよい。したがって、そのようなビデオカメラによってキャプチャされたビデオシーケンスは、わずかに異なる位置および／または方向からシーンを描く複数の画像を含む。したがって、複数の画像は、シーンの部分的に重複する視野に対応する。しかしながら、この場合、画像は並行してキャプチャされず、むしろ、異なる時点でキャプチャされているビデオシーケンスのビデオフレームに対応する。上記で説明された方法は、このようにしてキャプチャされた複数の画像に、必要に応じて変更を加えて適用されてよい。特に、方法は、
ビデオカメラが、部分的に重複する視野を有する複数の画像を備えるビデオシーケンスをキャプチャすることと、
ビデオカメラが、複数の画像の重複部分を、複数の画像のうちの少なくとも２つの画像が重複する部分であると識別することと、
ビデオカメラが、複数の画像の部分を互いに接合することによって、複数の画像の視野の結合に対応するパノラマ画像を生成することであって、
複数の画像の各重複部分に対して、ビデオカメラが、パノラマ画像内で重複する少なくとも２つの画像のうちの１つからの画像データを含み、ビデオカメラが、重複する少なくとも２つの画像の間の他の画像からの画像データを無視する、パノラマ画像を生成することと、
ビデオカメラが、パノラマ画像およびパノラマ画像を生成するときに無視された画像データを符号化し、それらを、符号化されたビデオストリーム内でクライアントデバイスに送信することと、
クライアントデバイスが、符号化されたビデオストリームを受信および復号し、さらに、パノラマ画像を生成するときにビデオカメラによって無視された画像データを扱うためにクライアントデバイスがカスタマイズされるという条件付きで、クライアントデバイスが、パノラマ画像を生成するときにビデオカメラによって無視された画像データを使用して、複数の画像の重複部分に対応する部分内のパノラマ画像を更新することと
を含んでよい。
【００８０】
当業者は、上記で説明された実施形態を多数のやり方で修正し、依然として、上記の実施形態に示された本発明の利点を使用することができることが理解されるであろう。たとえば、開示された方法は、３つ以上の画像が重複部分内で重複するときにも、等しく適用可能である。したがって、本発明は、示された実施形態に限定されるべきではなく、添付の特許請求の範囲によってのみ定義されるべきである。追加的に、当業者が理解するように、示された実施形態は組み合わされてよい。
【図１】
2018201197.tif 000003
【図２】
2018201197.tif 000004
【図３】
2018201197.tif 000005
【図４】
2018201197.tif 000006
【図５】
2018201197.tif 000007
【図６】
2018201197.tif 000008
【図７】
2018201197.tif 000009
【外国語明細書】
2018201197000001.pdf
2018201197000002.pdf
2018201197000003.pdf
2018201197000004.pdf