(57)【特許請求の範囲】
【請求項１】
複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択することと、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングすることと、
前記基準画像についての２つの連続的なマッピングの間に、前記基準画像からの第１の画素値を第１のマッピング先位置へマッピングし、前記基準画像からの第２の画素値を第２のマッピング先位置へマッピングし、前記第１のマッピング先位置と前記第２のマッピング先位置との間の穴の位置を決定することと、ここにおいて、前記穴は、前記第１のマッピング先位置と前記第２のマッピング先位置との間に１つまたは複数のマッピングされていない画素位置を備え、
前記穴であると決定された前記位置についての画素値を与えるために、
前記第１のマッピング先位置における第１のマッピング先画素値、
前記第２のマッピング先位置における第２のマッピング先画素値、または、
マッピングされていない位置を識別する一時的な値
のうちの１つを選択することと、
を備え、前記選択は、
前記第１の画素値と前記第２の画素値について前記基準画像から得られる奥行き値と、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向と
に基づき、
前記位置を決定することおよび前記画素値を与えるために選択することは、前記連続的なマッピングを続ける前に、前記第１のマッピング先位置と前記第２のマッピング先位置とに対して実行される、
ビデオ画像処理方法。
【請求項２】
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第１の画素値の第１の奥行き値が、前記第２の画素値の第２の奥行き値によって示される視点までの第２の距離よりも大きい前記視点までの第１の距離を示す場合、前記第１のマッピング先画素値を選択し、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第２の距離が前記第１の距離よりも大きい場合、前記第２のマッピング先画素値を選択し、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と反対であり、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、マッピングされていない位置を識別する前記一時的な値を選択する、
請求項１に記載のビデオ画像処理方法。
【請求項３】
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記目標画像の中で前記マッピング方向と反対の方向を有し、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、対応する画素位置をマッピングされていないものと識別する一時的画素値を含み、前記目標画像において前記第２のマッピング先位置に隣接している複数の画素位置を、前記マッピング方向の反対方向において検出することと、
前記検出された複数の画素位置を、連続的な穴として特定することとをさらに備える、請求項１に記載のビデオ画像処理方法。
【請求項４】
前記連続的な穴の各画素値は、前記連続的な穴に隣接する第１の画素および第２の画素の奥行き値の比較に基づいて決定され、前記第１の画素の値および前記第２の画素の値は、前記目標画像における穴ではない、請求項３に記載のビデオ画像処理方法。
【請求項５】
穴の前記位置を決定することは、前記目標画像中の前記第１のマッピング先位置と前記目標画像中の前記第２のマッピング先位置との間の画素位置を特定することを備え、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、請求項１に記載のビデオ画像処理方法。
【請求項６】
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一である場合、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、穴であると決定された位置の画素値を決定することをさらに備える、請求項５に記載のビデオ画像処理方法。
【請求項７】
前記画素値は、色成分と、前記色成分に関連付けられる輝度値とを含む、請求項１に記載のビデオ画像処理方法。
【請求項８】
複数の画素値の各々をマッピングすることは、２Ｄ基準画像から３Ｄ目標画像にマッピングすることを備える、請求項７に記載のビデオ画像処理方法。
【請求項９】
前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、請求項８に記載のビデオ画像処理方法。
【請求項１０】
複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択する手段と、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングする手段と、
２つの連続的なマッピングの間に、前記基準画像からの第１の画素値を第１のマッピング先位置へマッピングし、前記基準画像からの第２の画素値を第２のマッピング先位置へマッピングし、前記第１のマッピング先位置と前記第２のマッピング先位置との間の穴の位置を決定する手段と、ここにおいて、前記穴は、前記第１のマッピング先位置と前記第２のマッピング先位置との間に前記目標画像の１つまたは複数のマッピングされていない画素位置を備え、
前記穴であると決定された前記位置に対し画素値を与えるために、
前記第１のマッピング先位置における第１のマッピング先画素値、
前記第２のマッピング先位置における第２のマッピング先画素値、または
マッピングされていない位置を識別する一時的な値
のうちの１つを選択する手段と、
を備え、前記選択は、
前記第１の画素値と前記第２の画素値について前記基準画像から得られた奥行き値と、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向と
に基づき、
前記位置を決定することおよび前記画素値を与えるために選択することは、前記連続的なマッピングを続ける前に、前記第１のマッピング先位置と前記第２のマッピング先位置に対して実行される、
を備えるビデオ変換デバイス。
【請求項１１】
穴の位置を決定する前記手段は、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記目標画像の中で前記マッピング方向と反対の方向を有し、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、対応する画素位置をマッピングされていないものと識別する一時的画素値を含み、前記目標画像において前記第２のマッピング先位置に隣接している複数の画素位置を、前記マッピング方向の反対方向において検出し、
前記検出された複数の画素位置を、連続的な穴として特定する
ように構成される、請求項１０に記載のデバイス。
【請求項１２】
連続的なマッピングである前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で、前記第１のマッピング先位置と前記第２のマッピング先位置とが同一である場合または前記目標画像の中で前記マッピング方向と反対の方向を有する場合、前記第２のマッピング先位置の画素値を決定する手段をさらに備える、請求項１０に記載のデバイス。
【請求項１３】
前記画素値を与えるために選択する手段は、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第１の画素値の第１の奥行き値が、前記第２の画素値の第２の奥行き値によって示される視点までの第２の距離よりも大きい前記視点までの第１の距離を示す場合、前記第１のマッピング先画素値を前記画素値として選択し、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第２の距離が前記第１の距離よりも大きい場合、前記第２のマッピング先画素値を前記画素値として選択し、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と反対であり、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、マッピングされていない位置を前記画素値として識別する前記一時的な値を選択する、
ように構成される、請求項１２に記載のデバイス。
【請求項１４】
前記穴の位置を決定する前記手段は、前記目標画像中の前記第１のマッピング先位置と前記目標画像中の前記第２のマッピング先位置との間の画素位置を特定するように構成され、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、請求項１０に記載のデバイス。
【請求項１５】
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一である場合、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、前記決定された位置の画素値を決定する手段をさらに備える、請求項１４に記載のデバイス。
【請求項１６】
複数の画素値の各々を連続してマッピングする前記手段は、２Ｄ基準画像から３Ｄ目標画像へとマッピングするように構成され、前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、請求項１５に記載のデバイス。
【請求項１７】
プロセッサと、
前記プロセッサに結合され、指定されたマッピング方向で基準画像から画素を連続的に抽出するように構成された画素抽出回路と、
前記プロセッサに結合され、目標画像における抽出された画素のマッピング先位置を決定するように構成された画素ワープ回路と、
前記プロセッサに結合され、前記基準画像からの第１の画素値の第１のマッピング先位置への第１のマッピングと、前記基準画像からの第２の画素値の第２のマッピング先位置への第２のマッピングとを備える２つの連続的なマッピングの間に、前記第１のマッピング先位置と前記第２のマッピング先位置との間で、前記目標画像における空の画素位置を決定するように構成された穴検出回路と、
前記プロセッサに結合され、前記空の画素位置に対し画素値を与えるために、
前記第１のマッピング先位置における第１のマッピング先画素値、
前記第２のマッピング先位置における第２のマッピング先画素値、または、
マッピングされていない位置を識別する一時的な値、
のうちの１つを選択するように構成された穴埋め回路と、
を備え、前記選択は、
前記第１の画素値と前記第２の画素値について前記基準画像から得られる奥行き値と、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向と
に基づき、
前記穴埋め回路は、前記画素抽出回路が前記基準画像から抽出された第３の画素値について第３のマッピング先位置を決定する前に、前記画素値を選択するように構成される、
ビデオ変換デバイス。
【請求項１８】
前記穴埋め回路は、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第１の画素値の第１の奥行き値が、前記第２の画素値の第２の奥行き値によって示される視点までの第２の距離よりも大きい前記視点までの第１の距離を示す場合、前記第１のマッピング先画素値を前記画素値として選択し、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第２の距離が前記第１の距離よりも大きい場合、前記第２のマッピング先画素値を前記画素値として選択し、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と反対であり、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、マッピングされていない位置を前記画素値として識別する前記一時的な値を選択する、
ように構成される、請求項１７に記載のデバイス。
【請求項１９】
前記穴検出回路は、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記目標画像の中で前記マッピング方向と反対の方向を有し、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における前記画素について前記基準画像から得られる奥行き値よりも大きい場合、対応する画素位置をマッピングされていないものと識別する一時的画素値を含み、前記目標画像において前記第２のマッピング先位置に隣接している複数の画素位置を、前記マッピング方向の反対方向において検出し、
前記検出された複数の画素位置を、連続的な穴として特定する
ように構成される請求項１８に記載のデバイス。
【請求項２０】
前記画素抽出回路は、前記穴検出回路および穴埋め回路が第１の画素に対する動作を終了した後、第２の画素を抽出するように構成される、請求項１９に記載のデバイス。
【請求項２１】
基準画像は２Ｄ基準画像であり、前記目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える３Ｄ目標画像である、請求項２０に記載のデバイス。
【請求項２２】
前記画素ワープ回路は、前記目標画像における前記抽出された画素の位置を、前記基準画像における画素位置からのオフセットに基づいて決定するように構成される、請求項２１に記載のデバイス。
【請求項２３】
前記穴検出回路は、前記目標画像中の前記第１のマッピング先位置と前記目標画像中の前記第２のマッピング先位置との間で空の画素位置を特定するように構成され、前記第２のマッピング先位置は、前記マッピング方向と同じ方向を有する、請求項２２に記載のデバイス。
【請求項２４】
前記穴埋め回路は、前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一である場合、前記第１のマッピング先位置における画素の前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素の前記基準画像からの奥行き値との比較に基づいて、前記特定された空の画素位置の画素値を生成するように構成される、請求項２３に記載のデバイス。
【請求項２５】
命令を備える、ビデオ画像処理コンピュータプログラムであって、前記命令は実行されると、装置に、
複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択させ、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングさせ、
前記基準画像からの第１の画素値の第１のマッピング先位置への第１のマッピングと、前記基準画像からの第２の画素値の第２のマッピング先位置への第２のマッピングとを備える、前記基準画像についての２つの連続的なマッピングの間に、前記第１のマッピング先位置と前記第２のマッピング先位置との間の穴の位置を決定させ、ここにおいて、前記穴は、前記第１のマッピング先位置と前記第２のマッピング先位置との間に１つまたは複数のマッピングされていない画素位置を備え、
前記穴であると決定された前記位置に対し画素値を与えるために、
前記第１のマッピング先位置における第１のマッピング先画素値、
前記第２のマッピング先位置における第２のマッピング先画素値、または、
マッピングされていない位置を識別する一時的な値
のうちの１つを選択させ、前記選択は、
前記第１の画素値と前記第２の画素値について前記基準画像から得られる奥行き値と、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向と、
に基づき、
前記位置を決定することおよび前記画素値を与えるために選択することは、前記連続的なマッピングを続ける前に、前記第１のマッピング先位置と前記第２のマッピング先位置に対して実行される、
ビデオ画像処理コンピュータプログラム。
【請求項２６】
前記装置に、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第１の画素値の第１の奥行き値が、前記第２の画素値の第２の奥行き値によって示される視点までの第２の距離よりも大きい前記視点までの第１の距離を示す場合、前記第１のマッピング先画素値を前記画素値として選択させ、
前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一であり、前記第２の距離が前記第１の距離よりも大きい場合、前記第２のマッピング先画素値を前記画素値として選択させ、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と反対であり、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における画素について前記基準画像から得られる奥行き値よりも大きい場合、マッピングされていない位置を前記画素値として識別する前記一時的な値を選択させる、
命令をさらに備える、請求項２５に記載のビデオ画像処理コンピュータプログラム。
【請求項２７】
前記装置に、
前記第１のマッピング先位置と前記第２のマッピング先位置とが同一であるか、または前記目標画像の中で前記マッピング方向と反対の方向を有し、前記目標画像における前記第２のマッピング先位置における現在の奥行き値が前記第２のマッピング先位置における前記画素について前記基準画像から得られる奥行き値よりも大きい場合、対応する画素位置をマッピングされていないものと識別する一時的画素値を含み、前記目標画像において前記第２のマッピング先位置に隣接している複数の画素位置を、前記マッピング方向の反対方向において検出させ、
前記検出された複数の画素位置を、連続的な穴として特定させる
命令をさらに備える、請求項２６に記載のビデオ画像処理コンピュータプログラム。
【請求項２８】
穴の前記位置を決定することは、前記目標画像中の前記第１のマッピング先位置と前記目標画像中の前記第２のマッピング先位置との間で画素位置を特定することを備え、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、請求項２６に記載のビデオ画像処理コンピュータプログラム。
【請求項２９】
前記装置に、前記第１のマッピング先位置から前記第２のマッピング先位置までの方向が前記マッピング方向と同一である場合、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、前記決定された位置の画素値を決定させる命令をさらに備える、請求項２８に記載のビデオ画像処理コンピュータプログラム。
【請求項３０】
複数の画素値の各々をマッピングすることは、２Ｄ基準画像から３Ｄ目標画像にマッピングすることを備え、前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、請求項２９に記載のビデオ画像処理コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実装形態は画像変換に関し、詳細には、ビュー合成の間のワープおよび穴埋めのためのビデオ画像変換のシステム、方法、および装置に関する。
【背景技術】
【０００２】
[0002]モバイルワイヤレス通信デバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイスなどを含む、広範囲の電子デバイスが、各種の画像およびビデオ表示能力を有する。一部のデバイスは、２次元（２Ｄ）の画像およびビデオ、３次元（３Ｄ）の画像およびビデオ、またはこれらの両方を表示することが可能である。
【０００３】
[0003]いくつかの例では、画像およびビデオは、ある程度の３Ｄ能力を有するデバイスに送信され得る。この例では、画像またはビデオを、３Ｄの画像またはビデオに変換することが望ましいことがある。３Ｄへの変換は計算集中的であることがあり、元の画像またはビデオと比べて変換された３Ｄの画像またはビデオの美的魅力を下げる視覚的アーチファクトをもたらし得る。したがって、画像またはビデオを３Ｄの画像またはビデオに変換するための改善された方法および装置が必要である。
【発明の概要】
【０００４】
[0004]添付の特許請求の範囲内のシステム、方法およびデバイスの様々な実施形態は、それぞれいくつかの態様を有し、それらのうちの単一の態様が、単独で、本明細書で説明される望ましい特性を担当することはない。添付の特許請求の範囲を限定することなく、いくつかの顕著な特徴が本明細書で説明される。本議論を考慮すれば、特に「発明を実施するための形態」と題するセクションを読めば、少なくとも１つのコンピュータプロセッサ上で実行される画像の変換を実現するために、様々な実装形態の特徴がどのように使用されるかが、理解されるだろう。
【０００５】
[0005]本開示の一態様では、ビデオ画像処理の方法が提供される。方法は、複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択することを含む。方法は、複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングすることを含む。２つの連続的なマッピングの間に、方法は、第２の画素位置のうちの２つの位置の間の穴（hole）の位置を決定することを含む。
【０００６】
[0006]方法は、目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で画素位置を特定することを備える、穴の位置を決定することを含み、第２のマッピング先位置は、マッピング方向と同じ方向の位置である。いくつかの実装形態では、方法は、連続的なマッピングである目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で、これらのマッピング先画素位置が同一であるか、または目標画像の中でマッピング方向と反対の方向を有する場合に、第２のマッピング先位置の画素値を決定することを含む。いくつかの実装形態では、方法は、第１のマッピング先位置における画素についての基準画像からの奥行き（depth）値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づいて、穴であると決定された位置の画素値を決定することを含む。第２のマッピング先位置の画素値は、第１のマッピング先位置における画素についての基準画像からの奥行き値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づき得る。
【０００７】
画素値は、色成分と、色成分に関連付けられる輝度（intensity）値とを含み得る。いくつかの実装形態では、マッピングは、２Ｄ基準画像から３Ｄ目標画像へのマッピングを含む。いくつかの実装形態では、３Ｄ目標画像は、２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える。ある態様では、方法は、穴ではない目標画像中のある位置に画素値がマッピングされると、その位置についての奥行き値を設定することを含む。ある態様では、その位置が穴である場合、方法は、その位置が後でマッピング先となるまで、その位置をマッピングされていない（unmapped）と識別することを含み得る。第２のマッピング先位置の画素値が、決定された位置の画素値として使用される場合、方法は、マッピング方向の反対方向において、マッピングされていないとマークされ、目標画像において第２のマッピング先位置に隣接している画素位置を検出することを含み得る。いくつかの実装形態では、これらの位置は、連続的な穴として識別され得る。
【０００８】
[0007]本開示の追加の革新的な様相は、ビデオ変換デバイスを提供する。デバイスは、複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するためのマッピング方向を選択する手段を含む。デバイスはまた、マッピング方向に沿って、複数の第１の同一線上の画素位置における基準画像の複数の画像画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へ、連続してマッピングする手段を含む。デバイスはさらに、２つの連続的なマッピングの間に、２つの第２の画素位置の間の穴の位置を決定する手段を含む。
【０００９】
[0008]さらに別の革新的な態様では、別のビデオ変換デバイスが提供される。デバイスはプロセッサを含む。デバイスは、プロセッサに結合され、指定されたマッピング方向で、基準画像から画素を連続的に抽出するように構成された画素抽出回路を含む。デバイスは、プロセッサに結合され、抽出された画素の目標画像における位置を決定するように構成された画素ワープ（warping）回路を含む。デバイスは、プロセッサに結合され、抽出された画素の位置と以前に抽出された画素の以前に決定された位置との間で、目標画像における空の画素位置を特定するように構成された穴検出回路を含む。デバイスはまた、プロセッサに結合され、目標画像における空の画素位置に対する画素値を生成するように構成された穴埋め回路を含む。
【００１０】
[0009]いくつかの実装形態では、画素抽出回路は、穴検出回路および穴埋め回路が第１の画素に対する動作を終了した後、第２の画素を抽出するように構成される。基準画像は２Ｄ画像であり得る。目標画像は３Ｄ目標画像であり得る。３Ｄ目標画像は、２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える。画素ワープ回路は、抽出された画素の目標画像における位置を、基準画像における画素位置からのオフセットに基づいて決定するように構成され得る。いくつかの実装形態では、穴検出回路は、連続的なマッピングである目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で、これらのマッピング先画素位置が同一であるか、または目標画像の中でマッピング方向と反対の方向を有する場合に、第２のマッピング先位置の画素値を決定するように構成される。穴埋め回路は、第１のマッピング先位置における画素についての基準画像からの奥行き値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づいて、第２のマッピング先位置の画素値を生成するように構成され得る。いくつかの実装形態では、穴埋め回路は、目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で空の画素位置を特定するように構成され、第２のマッピング先位置は、マッピング方向と同じ方向を有する。いくつかの実装形態では、穴埋め回路は、第１のマッピング先位置における画素についての基準画像からの奥行き値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づいて、特定された空の画素位置の画素値を生成するように構成される。画素値は、色成分と、色成分に関連付けられる輝度値とを含み得る。穴埋め回路はさらに、穴ではない目標画像中のある位置に画素値がマッピングされると、その位置の奥行き値を設定し、その位置が穴である場合、その位置が後でマッピング先となるまで、その位置をマッピングされていないと識別するように構成され得る。
【００１１】
[0010]本開示の別の革新的な態様は、命令を記憶したコンピュータ可読媒体を備える、ビデオ画像処理コンピュータプログラム製品を提供する。命令は、装置のプロセッサにより実行可能であり、装置に、複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するためのマッピング方向を選択させる。命令はさらに、装置に、マッピング方向に沿って、複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へ連続してマッピングさせる。命令はさらに、装置に、２つの連続的なマッピングの間に、２つの第２の画素位置の間の穴の位置を決定させる。
【００１２】
[0011]いくつかの実装形態では、穴の位置を決定することは、目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で画素位置を特定することを備え、第２のマッピング先位置は、マッピング方向と同じ方向の位置である。いくつかの実装形態では、命令は、装置に、連続的なマッピングである目標画像中の第１のマッピング先位置と目標画像中の第２のマッピング先位置との間で、これらのマッピング先画素位置が同一であるか、または目標画像の中でマッピング方向と反対の方向を有する場合に、第２のマッピング先位置の画素値を決定させる。命令は、また、装置に、第１のマッピング先位置における画素についての基準画像からの奥行き値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づいて、決定された位置に対する画素値を決定させるように提供される。装置に、第１のマッピング先位置における画素についての基準画像からの奥行き値と、第２のマッピング先位置における画素についての基準画像からの奥行き値との比較に基づいて、決定された位置の画素値を決定させる命令、も含まれ得る。画素値は、色成分と、色成分に関連付けられる輝度値とを含み得る。いくつかの実装形態では、複数の画素値の各々をマッピングすることは、２Ｄ基準画像から３Ｄ目標画像へマッピングすることを備える。いくつかの実装形態では、３Ｄ目標画像は、２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える。
【００１３】
[0012]本開示の特徴を詳細に理解することができるように、添付の図面にその一部が示される態様を参照することによって、上記で簡単に要約されたより具体的な説明を得ることができる。しかしながら、その説明は他の等しく有効な態様を認め得るので、添付の図面は、本開示のいくつかの典型的な態様のみを示し、したがって、本開示の範囲を限定するものと見なすべきではないことに留意されたい。
【図面の簡単な説明】
【００１４】
【図１】例示的なビデオ符号化および復号システムの機能ブロック図。
【図２】例示的なビデオエンコーダの機能ブロック図。
【図３】例示的なビデオデコーダの機能ブロック図。
【図４】例示的な３Ｄ変換プロセッサの機能ブロック図。
【図５】３Ｄ画素ワープおよび穴検出のための例示的な処理流れ図。
【図６】穴埋めを更新するための例示的な処理流れ図。
【図７Ａ】基準ビューから目標ビューへの例示的な画素マッピングを示す図。
【図７Ｂ】基準ビューから目標ビューへの他の例示的な画素マッピングを示す図。
【図７Ｃ】基準ビューから目標ビューへの他の例示的な画素マッピングを示す図。
【図７Ｄ】基準ビューから目標ビューへの他の例示的な画素マッピングを示す図。
【図７Ｅ】基準ビューから目標ビューへの別の例示的な画素マッピングを示す図。
【図８】画像を生成する例示的な方法のフローチャート。
【図９】例示的なビデオ変換デバイスの機能ブロック図。
【発明を実施するための形態】
【００１５】
[0026]慣例により、図面に示される様々な特徴は縮尺通りに描かれていないことがある。したがって、様々な特徴の寸法は、分かりやすいように任意に拡大または縮小されることがある。加えて、図面のいくつかは、所与のシステム、方法またはデバイスのコンポーネントのすべてを示していないことがある。最後に、明細書および図の全体にわたって、同じ特徴を示すために同じ参照番号が使用されることがある。
【００１６】
[0027]基準画像からリアルな３Ｄ画像を生成するための、様々な方法が存在する。１つの方法は、ｄｅｐｔｈ  ｉｍａｇｅ  ｂａｓｅｄ  ｒｅｎｄｅｒｉｎｇ（ＤＩＢＲ）である。Ｄｅｐｔｈ  ｉｍａｇｅ  ｂａｓｅｄ  ｒｅｎｄｅｒｉｎｇは、所与の入力ビューおよびその関連する奥行きマップから、仮想的なビューを合成する。奥行きマップとは一般に、ある特定の画素のカメラからの相対的なまたは絶対的な距離を特定するものを指す。ＤＩＢＲでは、３Ｄ画像を生成するために２つのステップが実行され得る。すなわち、（１）奥行きマップに基づいて仮想的な目標画像へと入力ビューのテクスチャをワープする、３Ｄワープと、（２）画素がマッピングされていない仮想的なビュー中の画素位置を埋める、穴埋めである。
【００１７】
[0028]３Ｄワープでは、奥行きとカメラモデルが与えられると、基準ビューの画素はまず、基準画像カメラ座標から、ワールド空間座標中の点へと投影される。カメラモデルとは一般に、３Ｄの点と画像平面へのその投影との関係を表す、計算方式を指す。この点は次いで、目標画像のビューアングル（view angle）（たとえば、見る者の観測点）の方向に沿って、目標画像（生成されるべき仮想的なビュー）の中の画素に投影される。２Ｄ基準画像から３Ｄ目標画像に変換するために、ワープが使用され得る。３Ｄ基準画像から異なる３Ｄ目標画像に変換するために、ワープが使用され得る。
【００１８】
[0029]２つ以上のビューが基準ビューとして考慮され得ることがある。上で言及された投影は、１対１の投影（projection）ではないことがある。２つ以上の画素が目標画像中の１つの画素に投影される場合、可視性の問題、すなわち、複数の投影される画素のうちのどの画素が、目標画像中で可視であるべきかを決定する問題が発生する。逆に、目標画像中の画素に投影される画素がない場合、仮想的なビューの像の中に穴が存在し得る。連続的な領域の目標画像中に穴が存在する場合、その現象はオクルージョン（occlusion）と呼ばれ得る。像の中に穴がまばらに分布する場合、穴はピンホールと呼ばれ得る。オクルージョンは、異なる方向における１つの基準ビューを取り込むことによって解決され得る。穴埋めによってピンホールを埋めるために、近隣の画素が、穴を埋めるための候補画素値とされ得る。ピンホールを埋めるための方法はまた、オクルージョン問題を解決するために使用され得る。たとえば、２つ以上の画素が目標画像中の１つの画素の画素値として考慮される場合、何らかの加重平均方法が利用され得る。この処理は、ビュー合成（view synthesis）における再構成と呼ばれ得る。
【００１９】
[0030]ワープの１つの方法は、視差（disparity）の値に基づく。基準ビュー画像のパラメータが、入力ビューにおいて所与の奥行き値を有する各画素に対して一定である場合、視差の値が計算され得る。視差は一般に、基準ビュー画像中の所与の画素がリアルな３Ｄ目標画像を生成するために移動される、オフセット数の画素を指す。視差の値は、水平方向の変位のみを含み得る。しかしながら、いくつかの実装形態では、視差の値は垂直方向の変位を含み得る。計算された視差の値に基づいて、画素は目標画像にワープされる。複数の画像が同じ位置にマッピングされる場合、問題を解決するための１つの方法は、カメラに最も近い画素を選択することである。
【００２０】
[0031]以下では、ビュー合成ベース３Ｄワープの言及された態様、すなわち、可視性、オクルージョン、穴埋め、および再構成に対処する、画像またはビデオの３Ｄ画像または３Ｄビデオへの効率的な変換を実現するための、方法およびシステムを説明する。３Ｄワープおよび穴埋めは、２つの別個の処理として扱われ得る。第１の３Ｄワープ処理が、基準画像中のすべての画素をマッピングする。次いで、穴埋め処理が、目標画像中のすべての画素を確認し、特定され得るあらゆる穴を埋める。この２段階の処理によれば、メモリ領域は２回、すなわち３Ｄワープのために１回、穴を特定するためにもう１回、トラバース（traverse）され得る。この方法は、変換アルゴリズムに必要な命令を増やし得るとともに、キャッシュミス率を大きくする可能性があり得る。この方法はさらに、より多くのバストラフィックを必要とすることがあり、これによって電力消費が増大する。したがって、穴埋めを伴う３Ｄワープのより効率的な方法が望ましい。
【００２１】
[0032]１つの処理で３Ｄワープおよび穴埋め（hole filling）を扱う方法が、以下で説明される。より具体的には、入力基準画像中の画素の各々を確認し、画像全体のビュー合成を終了するのに、１つのループしか必要としない。たとえば、元の画像から目標画像を生成する時、各行の各画素をトラバースするために、１つのループが利用され得る。このループの各繰り返しの間、ワープのような画像投影（元の画像中の画素の目標位置を計算すること）と穴埋めの両方が、１つまたは複数の画素に対して処理される。いくつかの実装形態では、１つの画素を目標画像中の特定の位置へとワープさせる時、その特定の位置の画素だけではなく近くの画素も、新たな奥行き値および色の値によって更新され得る。同じ水平方向の線に属する２つの連続的な繰り返しにおいて、画素が２つのマッピング先画素の間にある場合、その画素は、穴として一時的に検出され得る。穴が一時的に検出されると、どの画素の奥行き値が、カメラにより近いことに対応するｚ値（たとえば、奥行き値）に対応するかに基づいて、その穴は、これらの２つの繰り返しにおける２つのマッピング先画素の１つによって、少なくとも一時的に、直ちに埋められ得る。
【００２２】
[0033]いくつかの場合には、画素は、すでにマッピングされている位置へとマッピングされることがある。ｚバッファリングは、その位置を、新たな画素の値（または複数の値）（たとえば、その新たな画素の奥行きは、その位置に既にマッピングされている画素よりも大きい）によって置き換えると、決めることができる。置き換えられる画素の値は、マッピング先位置に隣接する穴を埋めるために以前に使用されていた可能性があるので、新たにマッピングされた画素を考慮して穴を再び埋めるのが望ましいことがある。したがって、画素が左から右へ処理されるある実装形態では、水平方向の線の左側のマッピングされた位置に隣接する連続的な穴は、マッピング先画素の新たな値と、穴の左側の最初の穴ではない画素とに基づいて、再び埋められ得る。たとえば、マッピングの結果として、画素位置ＡとＺとの間に穴が存在し得る。この穴は、位置Ａおよび位置Ｚにおいてマッピングされる画素値を考慮して埋められ得る。次に、位置Ｎが、異なる画素値によってマッピングされ得る。この場合、位置ＡとＮの間の穴は、位置Ａと位置Ｎにおいてマッピングされる画素値を考慮して、再び評価されなければならない。この処理は、図６および図７を参照して以下でさらに詳しく説明される。
【００２３】
[0034]以下の説明において、実施例の十分な理解が得られるように具体的な詳細を与える。しかしながら、これらの実施例は、これらの具体的な詳細を伴わずに実施され得ることを、当業者は理解されよう。たとえば、これらの実施例を不必要な詳細において不明瞭にしないために、電気コンポーネント／デバイスをブロック図で示すことがある。他の例では、そのようなコンポーネント、他の構造および技法が、実施例をさらに説明するために詳しく示され得る。
【００２４】
[0035]また、実施例は、フローチャート、流れ図、有限状態図、構造図、またはブロック図として示される処理として説明され得ることに留意されたい。フローチャートは動作を逐次処理として説明することがあるが、動作の多くを並行してまたは同時に実行することができ、処理を繰り返すことができる。加えて、動作の順序を並び替えることができる。処理は、その動作が完了すると終了する。処理は、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。処理がソフトウェア関数に対応する場合、その終了は呼出し側関数またはメイン関数への関数の復帰に対応する。
【００２５】
[0036]情報および信号は、種々の異なる技術および技法のいずれかを使用して表され得ることを当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００２６】
[0037]添付の特許請求の範囲内の実施形態の様々な態様が以下で説明される。本明細書で説明される態様は多種多様な形態で具現化されてよく、本明細書で説明される特定の構造および／または機能は例示的なものにすぎないことは明らかであろう。本開示に基づいて、本明細書で説明される態様は他の態様とは独立に実装され得ること、およびこれらの態様のうちの２つ以上は様々な方法で組み合わせられ得ることを、当業者は諒解されたい。たとえば、本明細書に記載の任意の数の態様を使用して、装置が実装され、かつ／または方法が実施され得る。加えて、本明細書に記載の態様のうちの１つまたは複数に加えて、あるいはそれら以外の、他の構造および／または機能を使用して、そのような装置が実装されてよく、かつ／またはそのような方法が実施されてよい。
【００２７】
[0038]図１は、例示的なビデオ符号化および復号システムの機能ブロック図を示す。図１に示されるように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１６は、モバイルデバイスまたは概ね固定されたデバイスを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１６は、ワイヤレスハンドセット、いわゆるセルラー電話または衛星無線電話、携帯情報端末（ＰＤＡ）、モバイルメディアプレーヤのような、ワイヤレス通信デバイス、あるいはワイヤレスであってもなくてもよい通信チャネル１５を通じてビデオ情報を通信することができる任意のデバイスを備える。しかしながら、基準画像またはビデオからの３Ｄ画像またはビデオの生成に関与する、本開示の技法は、多くの異なるシステムおよび設定において使用され得る。図１はそのようなシステムの一例にすぎない。
【００２８】
[0039]図１の例では、ソースデバイス１２は、ビデオソース２０と、ビデオエンコーダ２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先デバイス１６は、受信機２６と、モデム２７と、ビデオデコーダ２８と、ディスプレイデバイス３０とを含み得る。本開示によれば、ソースデバイス１２のビデオエンコーダ２２は、基準画像のフレームのシーケンスを符号化するように構成され得る。ビデオエンコーダ２２は、３Ｄ変換情報を符号化するように構成されてよく、３Ｄ変換情報は、３Ｄビデオデータを生成するために基準シーケンスのビデオフレームの各々に適用され得る、パラメータのセットを備える。モデム２３および送信機２４は、ワイヤレス信号を変調し、宛先デバイス１６に送信することができる。このようにして、ソースデバイス１２は、３Ｄ変換情報とともに、符号化された基準シーケンスを、宛先デバイス１６に通信する。
【００２９】
[0040]受信機２６およびモデム２７は、ソースデバイス１２から受信されたワイヤレス信号を受信し、復調する。したがって、ビデオデコーダ２８は、基準画像のフレームのシーケンスを受信することができる。ビデオデコーダ２８は、基準シーケンスを復号する３Ｄ変換情報を受信することができる。本開示によれば、ビデオデコーダ２８は、基準画像のフレームのシーケンスに基づいて、３Ｄビデオデータを生成することができる。ビデオデコーダ２８は、３Ｄ変換情報に基づいて、３Ｄビデオデータを生成することができる。やはり、３Ｄ変換情報は、３Ｄビデオデータを生成するために基準シーケンスのビデオフレームの各々に適用され得るパラメータのセットを備えてよく、このパラメータのセットは、他の場合に３Ｄシーケンスを通信するのに必要なデータよりも、はるかに少ないデータを備え得る。
【００３０】
[0041]言及されたように、図１の図示されたシステム１０は例にすぎない。本開示の技法は、一次のブロックベースビデオ符号化をサポートする、任意の符号化デバイスまたは技法に拡張され得る。
【００３１】
[0042]ソースデバイス１２および宛先デバイス１６は、ソースデバイス１２が宛先デバイス１６に送信するための符号化ビデオデータを生成するような、符号化デバイスの例にすぎない。場合によっては、デバイス１２、１６は、デバイス１２、１６の各々がビデオ符号化コンポーネントおよび復号コンポーネントを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオ電話のための、ビデオデバイス１２とビデオデバイス１６との間の一方向または双方向のビデオ送信をサポートし得る。
【００３２】
[0043]ソースデバイス１２のビデオソース２０は、ビデオカメラ、以前キャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードのような、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されるビデオとの組合せを生成し得る。場合によっては、ビデオソース２０がビデオカメラである場合、ソースデバイス１２および宛先デバイス１６は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２２によって符号化され得る。次いで、符号化ビデオ情報は、たとえば、符号分割多元接続（ＣＤＭＡ）または別の通信規格のような通信規格に従ってモデム２３によって変調され、送信機２４を介して宛先デバイス１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他のコンポーネントを含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３３】
[0044]宛先デバイス１６の受信機２６はチャネル１５を通じて情報を受信し、モデム２７は情報を復調する。また、ビデオ符号化処理は、３Ｄビデオデータを生成するために基準シーケンスのビデオフレームの各々に適用され得るパラメータのセットを決定するために、本明細書で説明される技法の１つまたは複数を実施することができる。チャネル１５を通じて通信される情報は、本開示に一致するビデオデコーダ２８によって使用され得る、ビデオエンコーダ２２によって定義された情報を含み得る。ディスプレイデバイス３０は、復号ビデオデータをユーザに対して表示し、陰極線管、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプの表示デバイスのような、種々のディスプレイデバイスのいずれかを備え得る。
【００３４】
[0045]図１の例では、通信チャネル１５は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理的伝送線路のような、任意のワイヤレス通信媒体または有線の通信媒体、あるいはワイヤレス媒体と有線媒体の任意の組合せを備え得る。したがって、モデム２３および送信機２４は、多数の可能なワイヤレスプロトコル、有線プロトコル、または有線およびワイヤレスプロトコルをサポートし得る。通信チャネル１５は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、あるいは、１つまたは複数のネットワークの相互接続を備えるインターネットのようなグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１５は、一般にビデオデータをソースデバイス１２から宛先デバイス１６に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５は、ソースデバイス１２から宛先デバイス１６への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。本開示の技法は、１つのデバイスから別のデバイスへの符号化されたデータの通信を必ずしも必要とせず、相互復号のない符号化シナリオに適用され得る。また、本開示の態様は、相互符号化のない復号シナリオに適用され得る。
【００３５】
[0046]ビデオエンコーダ２２およびビデオデコーダ２８は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、およびＡｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）とも記載されるＩＴＵ−Ｔ  Ｈ．２６４規格のような、ビデオ圧縮規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定の符号化規格またはその拡張にも限定されない。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２２およびビデオデコーダ２８は、それぞれオーディオエンコーダおよびオーディオデコーダと統合されてよく、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を扱うことができる。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、マルチプレクサプロトコル（たとえば、ＩＴＵ  Ｈ．２２３）、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００３６】
[0047]ビデオエンコーダ２２およびビデオデコーダ２８はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、個別論理回路、マイクロプロセッサまたは他のプラットフォーム上で実行されるソフトウェア、ハードウェア、ファームウェア、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２２およびビデオデコーダ２８の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれもが、組み合わされたエンコーダ／デコーダ（コーデック）の一部として、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合されてよい。
【００３７】
[0048]ビデオシーケンスは、一般に一連のビデオフレームを含む。ビデオエンコーダ２２およびビデオデコーダ２８は、ビデオデータを符号化および復号するために、個々のビデオフレーム内のビデオブロックに対して動作し得る。ビデオブロックは、サイズを固定することも変更することもでき、規定された符号化規格に応じてサイズが異なることがある。各ビデオフレームは、一連のスライスまたは他の単独で復号可能なユニットを含み得る。各スライスは一連のマクロブロックを含んでよく、それらはサブブロック中に配置されてよい。ある例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマコンポーネントでは１６×１６、８×８または４×４、およびクロマコンポーネントでは８×８のような、様々なブロックサイズのイントラ予測、ならびにルーマコンポーネントでは１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマコンポーネントでは対応するスケーリングされたサイズのような、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、画素データのブロック、または、たとえば離散コサイン変換もしくは概念的に同様の変換処理のような変換処理の後の変換係数のブロックを備え得る。
【００３８】
[0049]マクロブロックまたは他のビデオブロックは、スライス、フレームまたは他の独立したユニットのような、復号可能なユニットにグループ化され得る。各スライスは、ビデオフレームの単独で復号可能なユニットであってよい。代替的に、フレーム自体が復号可能なユニットであってく、またはフレームの他の部分が復号可能なユニットとして定義されてよい。本開示では、「符号化ユニット」という用語は、使用される符号化技法に従って定義される、フレーム全体、フレームのスライス、ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅｓ（ＧＯＰ）、または別の単独で復号可能なユニットのような、ビデオフレームの任意の単独で復号可能なユニットを指す。
【００３９】
[0050]図２は、例示的なビデオエンコーダの機能ブロック図を示す。いくつかの実装形態では、符号化の前に、基準の画像またはビデオを３Ｄの画像またはビデオに変換することが望ましいことがある。たとえば、ターゲットディスプレイデバイスが３Ｄ対応である場合、エンコーダは、変換を実行し、３Ｄ符号化ビデオストリームをターゲットディスプレイデバイスに配信することができる。ビデオエンコーダ２２は、１つまたは複数のプリプロセッサ２０２を含み得る。プリプロセッサ２０２は、入力ビデオブロックを処理するように構成される、様々なモジュールを含み得る。量子化ユニット、エントロピー符号化ユニット、暗号化ユニット、スクランブリングユニット、スクランブリング解除ユニットなどのような、プリプロセッシングモジュールが含まれ得る。いくつかの実装形態では、入力ビデオブロックのプリプロセッシングが必要ではない場合、プリプロセッサ２０２はビデオエンコーダ２２に含まれない。いくつかの実装形態では、プリプロセッサは、各画素の画素値を調整する、たとえば、各画素の奥行き値を０よりも大きな値に調整するように構成され得る。
【００４０】
[0051]プリプロセッサ２０２は、図４を参照して以下でさらに詳しく説明される、３Ｄ変換プロセッサ２０４と結合される。いくつかの実装形態では、３Ｄ変換が必要とされない場合、３Ｄ変換プロセッサ２０４はバイパスされてよく、またはビデオエンコーダ２２から省略されてよい。３Ｄ変換プロセッサ２０４は、１つまたは複数の送信準備プロセッサ２０６と結合され得る。送信準備プロセッサ２０６は、符号化プロセッサ、バッファリングプロセッサ、予測プロセッサ、および、変換された入力ビデオブロックを送信のために符号化ビットストリームへと準備するために使用される他のコンポーネントを含み得る。
【００４１】
[0052]プリプロセッサ２０２、３Ｄ変換プロセッサ２０４、および送信準備プロセッサ２０６の各々は、メモリ２０８と結合される。メモリは、ビデオエンコーダ内の様々な段階において、入力ビデオブロックを記憶するために使用され得る。いくつかの実装形態では、プロセッサは直接、入力ビデオブロックを互いに送信する。いくつかの実装形態では、プロセッサは、メモリ２０８に入力ビデオブロックを記憶することによって、１つまたは複数の入力ビデオブロックを後続のプロセッサに提供する。各プロセッサはまた、処理の間、メモリ２０８を使用することができる。たとえば、送信準備プロセッサ２０６は、入力ビデオブロックの符号化ビットの中間の記憶位置として、メモリ２０８を使用することができる。
【００４２】
[0053]図３は、例示的なビデオデコーダの機能ブロック図を示す。いくつかの実装形態では、ビットストリームの復号の後に、２Ｄビデオを３Ｄビデオに変換することが望ましいことがある。たとえば、ターゲットディスプレイデバイスが、符号化２Ｄビットストリームを３Ｄビデオに変換できる場合、デコーダは、２Ｄ符号化ビデオストリームに対して変換を実行することができる。ビデオデコーダ２８は、１つまたは複数のプリプロセッサ３０２を含み得る。ビデオデコーダ２８は、図４を参照して以下でさらに詳しく説明される、３Ｄ変換プロセッサ２０４を含み得る。ビデオデコーダ２８は、表示準備プロセッサ２０６を含み得る。ビデオデコーダ２８は、メモリ２０８を含み得る。
【００４３】
[0054]図４は、例示的な３Ｄ変換プロセッサの機能ブロック図を示す。３Ｄ変換プロセッサ２０４は、プロセッサ４０２を含む。プロセッサ４０２は、３Ｄ変換プロセッサ２０４の動作を制御するように構成され得る。プロセッサ４０２は、複数の処理ユニットを含み得る。プロセッサ４０２の処理ユニット２０４の１つまたは複数は、中央処理装置（ＣＰＵ）と集合的に呼ばれ得る。
【００４４】
[0055]プロセッサ４０２は、画素抽出プロセッサ４０４と結合され得る。画素抽出プロセッサ４０４は、２Ｄから３Ｄへの変換プロセッサ２０４によって受信されるビデオブロックから画素を抽出するように構成され得る。いくつかの実装形態では、画素抽出プロセッサ４０４は、行ごとにビデオブロックから画素を抽出することができる。画素抽出プロセッサ４０４が行ごとに画素を抽出する実装形態では、画素は、左から右または右から左に抽出され得る。いくつかの実装形態では、画素抽出プロセッサ４０４は、列ごとにビデオブロックから画素を抽出することができる。画素抽出プロセッサ４０４が列ごとに画素を抽出する実装形態では、画素は、上から下または下から上に抽出され得る。
【００４５】
[0056]３Ｄ変換プロセッサ２０４は、ワーププロセッサ４０６を含み得る。ワーププロセッサ４０６は、プロセッサ４０２に結合され得る。ワーププロセッサ４０６は、３Ｄビデオへの変換の一部として、抽出された画素をワープさせるように構成され得る。いくつかの実装形態では、ワーププロセッサ４０６は、画素の視差（disparity）の値を計算して、目標画像における画素位置を決定することができる。本開示の範囲から逸脱することなく、視差以外の方法が、目標画像における画素位置を決定するために使用され得ることが理解されるだろう。ワーププロセッサ４０６は、画素抽出プロセッサ４０４から直接、抽出された画素を受け取るように構成され得る。いくつかの実装形態では、画素抽出プロセッサ４０４は、抽出された画素をメモリ２０８に記憶することによって、抽出された画素を提供することができる。これらの実装形態では、ワーププロセッサは、メモリ２０８から抽出された画素を取り出すように構成され得る。
【００４６】
[0057]３Ｄ変換プロセッサ２０４は、穴検出プロセッサ４０８を含み得る。穴検出プロセッサ４０８は、プロセッサ４０２に結合され得る。画素がワーププロセッサ４０４によってワープされた後、穴検出プロセッサ４０８は、穴が目標画像に取り込まれた（introduce）かどうかを決定するように構成され得る。目標画像中の１つまたは複数の画素の間の空間は、マッピングされていないことがある。上で論じられたように、穴は、オクルージョンまたはピンホールであり得る。穴を検出するための処理は、図５を参照して以下でさらに詳しく説明される。ワーププロセッサ４０６のように、穴検出プロセッサ４０８は、ワーププロセッサ４０６から直接送信された情報に基づいて、または、メモリ２０８を介して穴検出プロセッサ４０８に提供される情報に基づいて、穴を検出することができる。
【００４７】
[0058]３Ｄ変換プロセッサ２０４は、穴埋めプロセッサ４１０を含み得る。穴埋めプロセッサ４１０は、プロセッサ４０２に結合され得る。穴検出プロセッサ４０８が穴を特定すると、穴埋めプロセッサ４１０に穴の画素値を生成させる信号が送信され得る。画素値は、色（たとえば、赤、緑、青の値）、奥行き値（たとえば、ｚ値）、明るさ、色相（hue）、彩度(saturation)、明度(intensity)、などのような情報を含み得る。穴を埋めるための処理は、図５を参照して以下でさらに詳しく説明される。ワーププロセッサ４０６のように、穴埋めプロセッサ４１０は、穴埋めプロセッサ４０６から直接送信された情報に基づいて、または、メモリ２０８を介して穴埋めプロセッサ４１０に提供される情報に基づいて、穴を埋めることができる。
【００４８】
[0059]ビデオブロックが処理されると、目標画像を表す変換された３Ｄ画素値が、２Ｄから３Ｄへの変換プロセッサ２０４から出力される。いくつかの実装形態では、３Ｄ変換プロセッサ２０４は、変換された３Ｄ画素値の１つまたは複数をメモリ２０８に書き込むことができる。いくつかの実装形態では、変換がビデオエンコーダ２２において実行されると、変換された３Ｄ画素値は直接、送信準備プロセッサ２０６に送信され得る。いくつかの実装形態では、変換がビデオデコーダ２８において実行されると、変換された３Ｄ画素値は直接、表示準備プロセッサ３０６に送信され得る。
【００４９】
[0060]図５は、２Ｄから３Ｄへの画素ワープおよび穴検出のための例示的な処理流れ図を示す。処理は、各抽出された画素（ｉ）に対して実行される。図５で説明される実装形態では、画素は、左から右に、行ごとに処理されると仮定される。ブロック５０２において、視差が計算され、現在の画素（ｉ）が目標画像中の位置（Ｘ’（ｉ））にマッピングされる。ブロック５０４において、現在の位置（Ｘ’（ｉ））における画素値が、以前にマッピングされた画素の１画素右の位置（Ｘ’（ｉ−１）＋１）にマッピングされる画素値に等しいかどうかが決定される。等しい場合、現在の画素は、以前にマッピングされた画素のすぐ隣の位置にマッピングされる。２つの画素が互いに隣り合う場合、現在の画素と前の画素の間に穴はない。穴がないので、処理はブロック５０８へ続き、そこで、画素カウンタがインクリメントされ、次の画素に対して処理が繰り返される。画素カウンタが行の終わりに達すると、処理は画素カウンタをリセットし、次の行の処理を開始する。
【００５０】
[0061]ブロック５０４に戻り、現在の画素が、以前にマッピングされた画素位置のすぐ右側の位置にマッピングされない場合、穴が存在し得る。２つの可能性があり、すなわち、現在の画素位置が以前にマッピングされた画素位置のさらに右側にあるか、または、現在の画素位置が以前にマッピングされた位置にあり、もしくはその左側にある。判定ブロック５１０は、第１のシナリオをチェックする。現在の画素位置が以前にマッピングされた画素位置よりも大きい（たとえば、その右側にある）場合、１つまたは複数の画素が、現在の画素と前の画素の間に存在する。現在マッピングされている画素と以前にマッピングされた画素との間の１つまたは複数の画素は、穴を表す。ブロック５１２において、以前にマッピングされた画素（Ｘ’（ｉ−１））のすぐ右側の画素位置から始まり、現在マッピングされている画素（Ｘ’（ｉ））のすぐ左側の画素位置でまで穴が埋められる。
【００５１】
[0062]目標画像の同一の水平方向の線上の２つの位置ｍ、ｎの間に埋められるべき穴が存在し、位置ｎは位置ｍよりも大きい（たとえば、より右側にある）と仮定する。ｍとｎの間の穴を埋めるために、目標画像におけるｎの奥行き値は、目標画像中におけるｍの奥行き値と比較される。ｎの奥行き値がｍの奥行き値より大きい場合、位置ｎにおける画素の色の値が、ｍとｎの間の穴を埋めるために使用される。ｎの奥行き値がｍの奥行き値以下である場合、位置ｍにおける画素の色の値が穴を埋めるために使用される。いくつかの実装形態では、ｎの奥行き値および位置ｎにおける画素の色の値は、設定されなくてよい。この場合、目標画像における位置ｎの画素の奥行き値および色の値は、画素ｎに現在マッピングされている画素についての元のビューからの奥行き値および色の値と等しくなるように、一時的に設定される。
【００５２】
[0063]ブロック５１０に戻り、現在マッピングされている画素位置が以前にマッピングされた画素位置にある場合、またはその左側にある場合、現在の画素は、少なくとも１つの以前マッピングされた画素へとワープされている。方法は、どの画素が目標画像において現れているべきかを決定することに進む。判定ブロック５１４において、目標画像における現在の画素の奥行き値（Ｄ’［Ｘ（ｉ）］）は、基準ビュー画像における現在の画素の奥行き値（Ｄ［Ｘ（ｉ）］）と比較される。図５に示される例では、より大きな奥行き値は、画素がカメラにより近いことを示す。したがって、目標画像における現在の画素の奥行きが、基準ビュー画像における現在の画素の奥行きよりも小さい場合、画素は、目標画像において遮られ、目標画像から省かれ得る。この場合、処理はブロック５０８へ続き、次の画素を処理する。いくつかの例では、すべての基準ビュー画像の画素が、目標ビュー画像の画素の対応する行の終わりに到達する前に、マッピングされ得る。これらの例では、残りのマッピングされていない目標画像の画素位置は、目標ビューの行においてマッピングされた最後の画素の画素値を割り当てられ得る。他の実装形態では、目標ビューの行は、目標ビューの行を埋めるために、１つまたは複数の割り当てられた画素位置の画素値に基づく統計または他の分析を使用して後で処理され得る。
【００５３】
[0064]ブロック５１４に戻り、目標画像における現在の画素の奥行きが基準ビュー画像における画素の奥行きよりも大きい場合、現在の画素は、他の以前にマッピングされた画素を遮っている可能性がある。ブロック５１６において、現在の画素位置の１つの画素位置分右（Ｘ’（ｉ）＋１）から、以前にマッピングされた画素の画素位置（Ｘ’（ｉ−１））までの間に位置する画素の、奥行きマップ値が消去（clear）される。図５に示される実装形態では、奥行きマップを消去することは、画素の奥行きマップにおける値を、０のような、カメラから最も遠い位置を表す値に設定することによって、果たされる。いくつかの実装形態では、奥行きマップは、画素と関連付けられる奥行きマップからエントリーを消去すること、または奥行きマップ中の値を０ではない値に設定することによって、消去され得る。
【００５４】
[0065]ブロック５１８において、現在マッピングされている画素の左側の画素位置（Ｘ’（ｉ）−１）における、現在マッピングされている画素の奥行きマップ値が０ではない場合、現在マッピングされている画素の左側の画素位置において現在マッピングされている画素は、以前マッピングされた画素値に基づいて埋められた一時的な穴ではない。したがって、現在マッピングされている画素と、現在マッピングされている画素の左側の画素位置における画素との間には、競合は存在しない。この場合、処理はブロック５０６へ進み、上で説明されたように続く。
【００５５】
[0066]ブロック５１８に戻り、現在マッピングされている画素の左側の画素位置（Ｘ’（ｉ）−１）における、現在マッピングされている画素の奥行きマップ値が０である場合、１つまたは複数の画素位置が、現在マッピングされている画素の左側に向かって埋められた穴であった可能性がある。この穴埋めは、現在マッピングされている画素値によって上書きされている、以前マッピングされた画素値に基づくものであっただろう。この場合、処理はブロック６００に続く。ブロック６００において、穴埋めは、図６を参照して以下で説明されるように更新される。
【００５６】
[0067]図５で説明されたように、奥行きマップが、マッピングされた画素位置と、一時的に埋められた穴であった画素位置との差を示すために使用される。画素値に含まれるインジケータ、参照テーブルなどのような、奥行きマップ以外の、一時的に穴が埋められた画素位置を特定するための他の機構が使用され得ることが、理解されるだろう。
【００５７】
[0068]図６は、穴埋めを更新するための例示的な処理流れ図を示す。いくつかの状況では、穴埋めの結果として画素値を受け取った画素位置は、後でマッピングされる画素を考慮して再び埋められ得る。埋められる画素位置は、たとえば位置ＡおよびＺにおける画素の評価に基づいて、画素値を受け取った。その後、位置Ｎが、異なる画素値によってマッピングされ得る。この場合、位置ＡとＮの間の穴は、位置Ａと位置Ｎにおいてマッピングされる画素値を考慮して、再び評価されなければならない。図６は、この再評価の処理を説明する。
【００５８】
[0069]ブロック６０２において、現在の更新画素インジケータが、現在マッピングされている画素位置の左側の位置へと初期化される。一時的に埋められる穴の数をたどる（tracking）カウンタも、０に初期化され得る。ブロック６０４において、現在の更新画素位置に位置する画素の奥行き値が、０と比較される。現在の更新画素位置における画素の奥行き値が０に等しくない場合、この画素位置には一時的に埋められる穴は存在しない。いくつかの実装形態では、奥行きマップを０に設定することが、一時的に埋められる画素位置を特定するための１つの方法であることに留意されたい。したがって、更新は、一時的に埋められた穴の範囲を特定している。処理はブロック６０６に続き、ブロック６０６において、上で言及された穴埋め処理が、一時的に埋められる穴にわたる画素位置（たとえば、ｊ＋１からｉ−１）に対して実行される。
【００５９】
[0070]判定ブロック６０４に戻り、この位置における画素の奥行きが０に等しい場合、一時的に埋められる穴は、現在の更新画素位置に存在する。ブロック６０８において、現在の更新画素位置がデクリメントされて（たとえば、現在の更新画素位置が１画素左に移されて）、一時的に埋められた穴のカウントが１だけインクリメントされる。ブロック６１０において、ｊが、行の始め、すなわち画素位置０へとデクリメントされたかどうかについての決定がなされる。ｊが０未満である場合、穴は行の左端まで延びる。処理はブロック６０６に続き、ブロック６０６において、穴埋め処理が、行の左端からｉ−１まで実行される。ｊが０より大きい場合、マッピングされていないさらなる画素が行に残っている。処理は、ブロック６０４に戻ることによって、上記の方法を繰り返す。
【００６０】
[0071]図７Ａは、基準ビューから目標ビューへの例示的な画素マッピングを示す。例示的な画素マッピングは、２行の画素を含む。行７０２は、基準ビュー画像における画素の画素位置を表す、いくつかのボックスを含む。行７０４は、目標ビュー画像における画素の画素位置を表す、対応する数のボックスを含む。図７Ａでは、数字（たとえば、１）は、基準ビュー画像における画素を表し、プライム付きの数字（たとえば、１’）は、目標画像における同じ画素を表す。
【００６１】
[0072]図７Ａに示されるように、第１の基準ビュー画像の画素位置は、画素１を含む。画素１は、第１の目標画像の画素位置に以前マッピングされている。このマッピングされた画素は、目標画像において画素１’によって表される。この例では、目標ビュー画像における第１の画素位置へのマッピングの間に、画素１をワープするためのオフセットは必要とされなかった。図７Ａにおいて、第２の基準ビュー画像の画素位置における基準ビュー画像の画素２は、目標ビュー画像の画素位置にマッピングされている。示されるように、基準ビュー画像の画素２は、画素２’として、第２の目標ビュー画像の画素位置にマッピングされる。画素１のように、目標ビュー画像における第２の画素位置へのマッピングの間に、画素２をワープするためのオフセットは必要とされなかった。画素２がマッピングされると、システムは、現在マッピングされている画素位置と以前マッピングされた画素位置との間に穴が存在するかどうかを決定する。画素２’は、以前マッピングされた画素１’の画素位置のすぐ右側の画素位置にマッピングされるので、穴は存在しない。したがって、画素２のマッピングの結果として、穴埋めは必要ではない。
【００６２】
[0073]図７Ｂは、基準ビューから目標ビューへの他の例示的な画素マッピングを示す。図７Ａのように、例示的な画素マッピングは、２行の画素を含む。行７０２は、基準ビュー画像における画素位置を表す、いくつかのボックスを含む。行７０４は、目標ビュー画像における画素位置を表す、対応する数のボックスを含む。図７Ｂは、第３の基準ビュー画像の位置からの、基準ビュー画像の画素３のマッピングを示す。この例では、システムは、目標ビュー画像における画素３のオフセットを決定する。第３の基準ビュー画像の画素位置は、第３のターゲット画素位置にマッピングされない。画素３’は、以前マッピングされた画素２’のすぐ右側にはない。代わりに、画素３は、１画素分のオフセットを伴ってマッピングされ、マッピングされる画素は画素３’によって表される。そのようにすることで、目標ビュー画像中の画素２’と画素３’の間に、穴が生じる。この穴を埋めるために、画素２’および画素３’の奥行き値が比較され、どちらの画素値が穴を埋めるために使用されるかが決定される。図７Ｂに示される例では、画素２’の奥行き値は、目標ビュー画像における３’の奥行き値よりも大きい。したがって、この例によって、２’の画素値が、目標ビュー画像の第３の画素位置にある穴を埋めるために使用される。
【００６３】
[0074]図７Ｃは、基準ビューから目標ビューへの他の例示的な画素マッピングを示す。図７Ａおよび図７Ｂのように、例示的な画素マッピングは、２行の画素を含む。行７０２は、基準ビュー画像における画素位置を表す、いくつかのボックスを含む。行７０４は、目標ビュー画像における画素位置を表す、対応する数のボックスを含む。図７Ｃは、第４の基準ビュー画像の位置からの、基準ビュー画像の画素４のマッピングを示す。この例では、システムは、目標ビュー画像における画素４のオフセットを決定する。第４の基準ビュー画像の画素位置は、次の利用可能な目標ビュー画像の画素位置（たとえば、第６の位置）にはマッピングされない。画素４’は、以前マッピングされた画素３’のすぐ右側にはない。代わりに、画素４は、以前マッピングされた画素位置から１画素分のオフセットを伴ってマッピングされ、マッピングされる画素は画素４’によって表される。そのようにすることで、目標ビュー画像中の画素３’と画素４’の間に、穴が生じる。この穴を埋めるために、画素３’および画素４’の奥行き値が比較され、どちらの画素値が穴を埋めるために使用されるかが決定される。図７Ｃに示される例では、画素４’の奥行き値は、目標ビュー画像における３’の奥行き値よりも大きい。したがって、この例によって、画素４’の画素値が、目標ビュー画像中の穴を埋めるために使用される。
【００６４】
[0075]図７Ｄは、基準ビューから目標ビューへの他の例示的な画素マッピングを示す。図７Ａ、図７Ｂ、および図７Ｃのように、例示的な画素マッピングは、２行の画素を含む。行７０２は、基準ビュー画像における画素位置を表す、いくつかのボックスを含む。行７０４は、目標ビュー画像における画素位置を表す、対応する数のボックスを含む。図７Ｄは、第５の基準ビュー画像の位置からの、基準ビュー画像の画素５のマッピングを示す。この例では、システムは、目標ビュー画像における画素５のオフセットを決定する。図７Ｃからのオフセットとは異なり、画素５のオフセットは、以前マッピングされた画素位置の左側に向かうものである。図５で説明された方法によれば、目標ビュー画像中の４’の奥行き値は、取り消される（たとえば、０に設定される）。システムは次いで、上で説明されたように、３’および５’の画素値に基づいて、目標ビュー画像における第５の画素位置に対する穴埋めを更新する。示される例では、画素５’の画素値が、目標ビュー画像中の第５の画素位置を埋めるために使用される。
【００６５】
[0076]図７Ｅは、基準ビューから目標ビューへの別の例示的な画素マッピングを示す。図７Ａ、図７Ｂ、図７Ｃ、および図７Ｄのように、例示的な画素マッピングは、２行の画素を含む。行７０２は、基準ビュー画像における画素位置を表す、いくつかのボックスを含む。行７０４は、目標ビュー画像における画素位置を表す、対応する数のボックスを含む。図７Ｅは、第６の基準ビュー画像の位置からの、基準ビュー画像の画素６のマッピングを示す。システムは、以前マッピングされた画素位置（たとえば、第６の位置）からのオフセットを計算しない。したがって、画素６は、目標ビュー画像において、画素６’として第７の画素位置にマッピングされる。この例では、画素６’の画素値は、第６の位置の以前の画素値（たとえば、画素４’の値）を上書きする。
【００６６】
[0077]図８は、画像を生成する例示的な方法のフローチャートを示す。ブロック８０２において、複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するための、マッピング方向が選択される。ブロック８０４において、複数の画素値の各々が、マッピング方向に沿って、目標画像のそれぞれの複数の第２の画素位置へと続いてマッピングされる。マッピングは、上で説明された技法の１つまたは複数を使用して達成され得る。ブロック８０６において、２つの連続的なマッピングの間に、２つの第２の画素位置の間の穴の位置が決定される。穴の決定は、上で説明された技法の１つまたは複数を使用して達成され得る。
【００６７】
[0078]図９は、例示的なビデオ変換デバイスの機能ブロック図を示す。ワイヤレス端末は、図９に示される簡略化されたビデオ変換デバイス９００よりも多くのコンポーネントを有し得ることを、当業者は諒解するだろう。ビデオ変換デバイス９００は、特許請求の範囲内の実装形態のいくつかの顕著な特徴を説明するのに有用なコンポーネントのみを示す。ビデオ変換デバイス９００は、選択回路９１０、マッピング回路９２０、および穴決定回路９３０を含む。いくつかの実装形態では、選択回路９１０は、マッピング方向を選択して、複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するように構成される。いくつかの実装形態では、選択する手段は、選択回路９１０を備える。いくつかの実装形態では、マッピング回路９２０は、マッピング方向に沿って、複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングするように構成される。いくつかの実装形態では、連続してマッピングする手段は、マッピング回路９２０を含む。いくつかの実装形態では、穴決定回路９３０は、２つの連続的なマッピングの間に、２つの第２の画素位置の間の穴の位置を決定するように構成される。穴の位置を決定する手段は、穴決定回路９３０を含み得る。
【００６８】
[0079]さらに、本明細書で開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、および処理ステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。ある部分、または一部は、全体と等しい、またはそれよりも少ない何かを備え得ることを、当業者は認識するだろう。たとえば、画素の集合の一部分は、画素の部分集合を指し得る。
【００６９】
[0080]本明細書で開示された実装形態に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいは本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってよい。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としても実装され得る。
【００７０】
[0081]本明細書で開示される実装形態に関して説明される方法または処理のステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはこの２つの組合せにおいて直接具現化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の非一時的記憶媒体中に常駐し得る。例示的なコンピュータ可読記憶媒体は、プロセッサがコンピュータ可読記憶媒体から情報を読み取り、コンピュータ可読記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサと一体であってよい。プロセッサおよび記憶媒体はＡＳＩＣ中に常駐し得る。ＡＳＩＣはユーザ端末、カメラ、または他のデバイスの中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末、カメラ、または他のデバイスの中に個別コンポーネントとして常駐し得る。
【００７１】
[0082]本明細書には、参照のための、および様々なセクションを見つけるのを助けるための、見出しが含まれる。これらの見出しは、見出しに関連して説明された概念の範囲を制限することを意図していない。そのような概念は、明細書全体にわたり、適用可能であり得る。
【００７２】
[0083]その上、「例示的」という単語は、本明細書では、「例、事例、または例示として機能すること」を意味するために使用される。本明細書に「例示的」と記載されたいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。
【００７３】
[0084]開示された実装形態の前述の説明は、当業者が本発明を実施または使用できるようにするために与えられたものである。これらの実装形態の様々な変更形態は、当業者には容易に明らかになるものであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく他の実装形態に適用され得る。したがって、本発明は、本明細書で示された実装形態に限定されるものではなく、本明細書で開示された原理および新規の特徴に合致する最も広い範囲が与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択することと、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングすることと、
２つの連続的なマッピングの間に、２つの前記第２の画素位置の間の穴の位置を決定することと、
を備えるビデオ画像処理の方法。
［２］穴の前記位置を決定することは、前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間の画素位置を特定することを備え、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、［１］に記載のビデオ画像処理方法。
［３］連続的なマッピングである前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で、前記複数のマッピング先画素位置が同一である場合または前記目標画像の中で前記マッピング方向と反対の方向を有する場合、前記第２のマッピング先位置の画素値を決定することをさらに備える、［１］に記載のビデオ画像処理方法。
［４］前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、穴であると決定された位置の画素値を決定することをさらに備える、［２］に記載のビデオ画像処理方法。
［５］前記第２のマッピング先位置の前記画素値は、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づく、［３］に記載のビデオ画像処理方法。
［６］前記画素値は、色成分と、前記色成分に関連付けられる輝度値とを含む、［３］に記載のビデオ画像処理方法。
［７］複数の画素値の各々をマッピングすることは、２Ｄ基準画像から３Ｄ目標画像にマッピングすることを備える、［１］に記載のビデオ画像処理方法。
［８］前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、［７］に記載のビデオ画像処理方法。
［９］前記目標画像中の穴ではない位置に画素値をマッピングすると、前記位置の奥行き値を設定することと、
前記位置が穴である場合、前記位置が後にマッピング先となるまで、前記位置をマッピングされていないと識別することとをさらに備える、［１］に記載のビデオ画像処理方法。
［１０］前記第２のマッピング先位置の前記画素値が、前記決定された位置の前記画素値として使用される場合、マッピングされていないとマークされ、前記目標画像において前記第２のマッピング先位置に隣接している画素位置を、前記マッピング方向の反対方向において検出することと、
前記検出された画素位置を、連続的な穴として特定することとをさらに備える、［３］に記載のビデオ画像処理方法。
［１１］前記連続的な穴の各画素値は、前記連続的な穴に隣接する第１の画素および第２の画素の奥行き値の比較に基づいて決定され、前記第１の画素の値および前記第２の画素の値は、前記目標画像における穴ではない、［１０］に記載のビデオ画像処理方法。
［１２］複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択する手段と、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングする手段と、
２つの連続的なマッピングの間に、２つの前記第２の画素位置の間の穴の位置を決定する手段と、
を備えるビデオ変換デバイス。
［１３］穴の位置を決定する前記手段は、前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間の画素位置を特定するように構成され、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、［１２］に記載のデバイス。
［１４］前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、前記決定された位置の画素値を決定する手段をさらに備える、［１３］に記載のデバイス。
［１５］連続的なマッピングである前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で、前記複数のマッピング先画素位置が同一である場合または前記目標画像の中で前記マッピング方向と反対の方向を有する場合、前記第２のマッピング先位置の画素値を決定する手段をさらに備える、［１２］に記載のデバイス。
［１６］前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、穴であると決定された位置の画素値を決定する手段をさらに備える、［１５］に記載のデバイス。
［１７］前記第２のマッピング先位置の前記画素値は、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づく、［１６］に記載のデバイス。
［１８］複数の画素値の各々を連続してマッピングする前記手段は、２Ｄ基準画像から３Ｄ目標画像へとマッピングするように構成され、前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、［１２］に記載のデバイス。
［１９］プロセッサと、
前記プロセッサに結合され、指定されたマッピング方向で基準画像から画素を連続的に抽出するように構成された画素抽出回路と、
前記プロセッサに結合され、目標画像における抽出された画素の位置を決定するように構成された画素ワープ回路と、
前記プロセッサに結合され、前記抽出された画素の前記位置と以前に抽出された画素の以前に決定された位置との間で、前記目標画像における空の画素位置を特定するように構成された穴検出回路と、
前記プロセッサに結合され、前記目標画像における前記空の画素位置の画素値を生成するように構成された穴埋め回路と、
を備えるビデオ変換デバイス。
［２０］前記画素抽出回路は、前記穴検出回路および穴埋め回路が第１の画素に対する動作を終了した後、第２の画素を抽出するように構成される、［１９］に記載のデバイス。
［２１］基準画像は２Ｄ画像であり、前記目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える３Ｄ目標画像である、［１９］に記載のデバイス。
［２２］前記画素ワープ回路は、前記目標画像における前記抽出された画素の位置を、前記基準画像における画素位置からのオフセットに基づいて決定するように構成される、［１９］に記載のデバイス。
［２３］前記穴検出回路は、連続的なマッピングである前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で、前記複数のマッピング先画素位置が同一である場合または前記目標画像の中で前記マッピング方向と反対の方向を有する場合に前記第２のマッピング先位置の画素値を決定するように構成される、［１９］に記載のデバイス。
［２４］前記穴埋め回路は、前記第１のマッピング先位置における画素の前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素の前記基準画像からの奥行き値との比較に基づいて、前記第２のマッピング先位置の前記画素値を生成するように構成される、［２３］に記載のデバイス。
［２５］前記穴検出回路は、前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で空の画素位置を特定するように構成され、前記第２のマッピング先位置は、前記マッピング方向と同じ方向を有する、［１９］に記載のデバイス。
［２６］前記穴埋め回路は、前記第１のマッピング先位置における画素の前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素の前記基準画像からの奥行き値との比較に基づいて、前記特定された空の画素位置の画素値を生成するように構成される、［２５］に記載のデバイス。
［２７］前記穴埋め回路は、さらに、前記目標画像中の穴ではない位置に画素値がマッピングされると、前記位置の奥行き値を設定し、前記位置が穴である場合、前記位置が後でマッピング先となるまで、前記位置をマッピングされていないと識別するように構成される、［１９］に記載のデバイス。
［２８］命令を記憶したコンピュータ可読媒体を備える、ビデオ画像処理コンピュータプログラム製品であって、前記命令は実行されると、装置に、
複数の第１の同一線上の画素位置における基準画像の複数の画素値を処理するために、マッピング方向を選択させ、
前記マッピング方向に沿って、前記複数の画素値の各々を、目標画像のそれぞれの複数の第２の画素位置へと連続してマッピングさせ、
２つの連続的なマッピングの間に、２つの前記第２の画素位置の間の穴の位置を決定させる、ビデオ画像処理コンピュータプログラム製品。
［２９］穴の前記位置を決定することは、前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で画素位置を特定することを備え、前記第２のマッピング先位置は、前記マッピング方向と同じ方向の位置である、［２８］に記載のビデオ画像処理コンピュータプログラム製品。
［３０］前記装置に、連続的なマッピングである前記目標画像中の第１のマッピング先位置と前記目標画像中の第２のマッピング先位置との間で、前記複数のマッピング先画素位置が同一である場合または前記目標画像の中で前記マッピング方向と反対の方向を有する場合、前記第２のマッピング先位置の画素値を決定させる命令をさらに備える、［２８］に記載のビデオ画像処理コンピュータプログラム製品。
［３１］前記装置に、前記第１のマッピング先位置における画素についての前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素についての前記基準画像からの奥行き値との比較に基づいて、前記決定された位置の画素値を決定させる命令をさらに備える、［２９］に記載のビデオ画像処理コンピュータプログラム製品。
［３２］前記装置に、前記第１のマッピング先位置における画素の前記基準画像からの奥行き値と、前記第２のマッピング先位置における画素の前記基準画像からの奥行き値との比較に基づいて、前記決定された位置の画素値を決定させる命令をさらに備える、［３０］に記載のビデオ画像処理コンピュータプログラム製品。
［３３］複数の画素値の各々をマッピングすることは、２Ｄ基準画像から３Ｄ目標画像にマッピングすることを備え、前記３Ｄ目標画像は、前記２Ｄ基準画像を含む３Ｄステレオ画像ペアを備える、［２８］に記載のビデオ画像処理コンピュータプログラム製品。
［３４］前記装置に、
前記目標画像中の穴ではない位置に画素値がマッピングされると、前記位置の奥行き値を設定させ、
前記位置が穴である場合、前記位置が後でマッピング先となるまで、前記位置をマッピングされていないと識別させる命令をさらに備える、［２８］に記載のビデオ画像処理コンピュータプログラム製品。
【図１】
0005852226.tif 000002
【図２】
0005852226.tif 000003
【図３】
0005852226.tif 000004
【図４】
0005852226.tif 000005
【図５】
0005852226.tif 000006
【図６】
0005852226.tif 000007
【図７Ａ】
0005852226.tif 000008
【図７Ｂ】
0005852226.tif 000009
【図７Ｃ】
0005852226.tif 000010
【図７Ｄ】
0005852226.tif 000011
【図７Ｅ】
0005852226.tif 000012
【図８】
0005852226.tif 000013
【図９】
0005852226.tif 000014