(57)【要約】処理システム（１００）は、画像のピクセル又はピクセルのブロックを選択的にレンダリングして、一部のピクセル又はピクセルのブロックをレンダリングしないままにしてリソースを節約する。処理システムは、動きベクトルフィールド（１２５）を生成して、動き領域を有する画像の領域を識別する。処理システムは、レンダリングプロセッサ（１３０）を使用して、動きベクトルフィールド及び大量のエッジアクティビティに基づいて、動きが殆ど又は全くないユニットを関心領域として識別し、これらの領域のレンダリングされていないピクセル又は「穴」の確率を最小化する。レンダリングプロセッサは、目立つパターンを避けるために、確率マップ（５２７）を適用して穴の可能性がある位置を決定し、ユニット内のピクセルが穴になる割合を示す確率を各ユニットに割り当て、関心領域として識別されたユニットに対してより低い確率を割り当てる。【選択図】図１
2021503669.tif 000002
【特許請求の範囲】
【請求項１】
動き推定エンジンにおいて、第１画像の複数のユニット毎に、第２画像及び第３画像の対応するユニットを比較することによって動きベクトルを推定することであって、各ユニットは１つ以上のピクセルを含み、前記第２画像は、前記第１画像の直前にレンダリングされた画像を含み、前記第３画像は、前記第２画像の直前にレンダリングされた画像を含む、ことと、
レンダリングプロセッサにおいて、前記複数のユニット毎に、前記ユニットの前記動きベクトルの大きさに基づいて、前記ユニットを含むピクセルがレンダリングされていない確率を識別することと、
前記レンダリングプロセッサにおいて、識別された確率に基づいて、結果として得られるレンダリング画像の前記複数のユニットの各々のピクセルを選択的にレンダリングすることと、を含む、
方法。
【請求項２】
前記複数のユニット毎に、ユニット内のエッジ及びエッジ強度を識別することを含み、
前記確率は、前記ユニット内のエッジ数又は強度さが閾値を越えているかどうかに基づいている、
請求項１の方法。
【請求項３】
前記選択的にレンダリングすることは、前記複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングすることを含む、
請求項１の方法。
【請求項４】
前記ユニット内のピクセルがレンダリングされていない確率は、前記ユニットの動きベクトルの大きさに比例する、
請求項１の方法。
【請求項５】
前記第２画像の対応するピクセルの値に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることを含む、
請求項１の方法。
【請求項６】
レンダリングされていないピクセルに隣接する前記第１画像のピクセルの局所平均に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることを含む、
請求項１の方法。
【請求項７】
前記第１画像のレンダリングされていないピクセルの各々に定数を割り当てて、修正された第１画像を生成することと、
前記動きベクトルに基づいて、前記第１画像のレンダリングされていないピクセルの各々に対応する前記第２画像のピクセルを識別することと、
前記第２画像の対応するピクセルの各々に前記定数を割り当てて、修正された第２画像を生成することと、
前記動き推定エンジンにおいて、前記修正された第１画像及び前記修正された第２画像の対応するユニットを比較することによって、前記複数のユニット毎に、修正された動きベクトルを推定することと、
レンダリングされていないピクセルを含むユニット毎に、前記修正された動きベクトルに基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることと、を含む、
請求項１の方法。
【請求項８】
前記レンダリングされていないピクセルを含むユニットに対応する前記動きベクトルに基づいて、レンダリングされていないピクセルの各々を埋めることを含む、
請求項１の方法。
【請求項９】
第１画像の複数のユニットであって、各ユニットが１つ以上のピクセルのグループを含む、複数のユニット毎に、前記ユニットが、第１閾値量を超えるエッジ又は第２閾値量未満の動きを含むことに基づいて、前記ユニットを含むピクセルがレンダリングされていない確率を識別することと、
レンダリングプロセッサにおいて、前記第１画像のピクセルを、対応する確率に基づいて選択的にレンダリングすることと、を含む、
方法。
【請求項１０】
動き推定エンジンにおいて、前記第１画像の直前にレンダリングされた第２画像と、前記第２画像の直前にレンダリングされた第３画像との対応するユニット間の比較に基づいて、前記第１画像の動きベクトルフィールドを生成することを含む、
請求項９の方法。
【請求項１１】
前記第１画像のレンダリングされていないピクセルの各々に定数を割り当てることと、
前記動きベクトルフィールドに基づいて、前記第１画像のレンダリングされていないピクセルの各々に対応する前記第２画像のピクセルを識別することと、
前記第２画像の対応するピクセルの各々に定数を割り当てることと、
前記動き推定エンジンにおいて、前記第１画像及び前記第２画像の対応するユニットの比較に基づいて、修正された動きベクトルフィールドを生成することと、
前記修正された動きベクトルフィールドに基づいて、レンダリングされていないピクセルの各々を埋めることと、を含む、
請求項１０の方法。
【請求項１２】
前記第２画像の対応するピクセルの値に基づいて、レンダリングされていないピクセルの各々を埋めることを含む、
請求項１０の方法。
【請求項１３】
識別されたエッジの数若しくは強度が前記第１閾値量を超えるユニット、又は、動き領域が前記第２閾値量未満のユニットの前記確率がより低い、
請求項９の方法。
【請求項１４】
レンダリングされていないピクセルに隣接するピクセルの局所平均に基づいて、レンダリングされていないピクセルの各々を埋めることを含む、
請求項９の方法。
【請求項１５】
第１画像の直前にレンダリングされた第２画像と、前記第２画像の直前にレンダリングされた第３画像との対応するユニット間の比較に基づいて、前記第１画像の動きベクトルフィールドを生成するように構成された動き推定エンジンであって、各ユニットは１つ以上のピクセルを含む、動き推定エンジンと、
レンダリングプロセッサであって、
前記第１画像の前記複数のユニット毎に、前記動きベクトルフィールドに基づいて、前記ユニットを含むピクセルがレンダリングされていない確率を識別することと、
対応する確率に基づいて、前記第１画像のピクセルを選択的にレンダリングすることと、
を行うように構成されたレンダリングプロセッサと、を備える、
デバイス。
【請求項１６】
前記レンダリングプロセッサは、前記複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングする、
請求項１５のデバイス。
【請求項１７】
前記レンダリングプロセッサは、前記第１画像の前記複数のユニット毎に、前記ユニット内のエッジ及びエッジ強度を識別するように構成されており、
識別されたエッジの数又は強度が第１閾値量を超えるユニット、及び、動き領域が第２閾値量未満のユニットの前記確率がより低い、
請求項１５のデバイス。
【請求項１８】
前記レンダリングプロセッサは、前記第２画像の対応するピクセルの値に基づいて、レンダリングされていないピクセルの各々を埋める、
請求項１５のデバイス。
【請求項１９】
前記レンダリングプロセッサは、レンダリングされていないピクセルに隣接する前記第１画像のピクセルの局所平均に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋める、
請求項１５のデバイス。
【請求項２０】
前記動き推定エンジンは、
前記第１画像のレンダリングされていないピクセルの各々を定数に置き換えて、修正された第１画像を生成することと、
前記動きベクトルフィールドに基づいて、前記第１画像のレンダリングされていないピクセルの各々に対応する前記第２画像のピクセルを識別することと、
前記第２画像の対応するピクセルの各々を前記定数に置き換えて、修正された第２画像を生成することと、
前記修正された第１画像及び前記修正された第２画像の対応するユニットの比較に基づいて、修正された動きベクトルフィールドを生成することと、
を行うように構成されており、
前記レンダリングプロセッサは、
前記修正された動きベクトルフィールドに基づいて、レンダリングされていないピクセルの各々を埋めることを行うように構成されている、
請求項１５のデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータグラフィックス又は画像レンダリングは、コンピューティングシステムがコンピュータプログラムに基づいて画像を表示するプロセスである。シーン内のオブジェクトに関する情報を含むシーンファイルは、シーンファイルに基づいて表示される画像をレンダリングする１つ以上の処理ユニットに渡される。ディスプレイは、ピクセルアレイを含み、各ピクセルは、ディスプレイデバイス内の最小のアドレス可能要素である。ディスプレイの各ピクセルをレンダリングして高解像度の画像を生成することは、計算集約的である。レンダリングの作業負荷を減らすために、画像のいくつかの領域は、「穴（holes）」又はレンダリングされていないピクセルを残すことによって、低解像度でレンダリングされる場合がある。穴は、目立たなくするために、複雑さを変化させる技術を用いて「埋める（filled in）」ことができる。しかしながら、観察者にとって関心のある画像の領域に穴を残した結果及びこれらを埋める方法は、画質を著しく低下させる場合がある。
【０００２】
添付の図面を参照することによって、本開示をより良く理解することができ、この多くの特徴及び利点が当業者に明らかになる。異なる図面において同じ符号を使用する場合、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【０００３】
【図１】いくつかの実施形態による、一時的な穴のある画像をレンダリングするための動きベクトルフィールドを生成する動き推定エンジンを含む処理システムのブロック図である。
【図２】いくつかの実施形態による、図１の動き推定エンジン及びレンダリングプロセッサのブロック図である。
【図３】いくつかの実施形態による、図２の動き推定エンジンの動きベクトルフィールドジェネレータのブロック図である。
【図４】いくつかの実施形態による、図２のレンダリングプロセッサのエッジ検出器のブロック図である。
【図５】いくつかの実施形態による、図２のレンダリングプロセッサの確率マップジェネレータのブロック図である。
【図６】いくつかの実施形態による、図２のレンダリングプロセッサの穴補間器のブロック図である。
【図７】いくつかの実施形態による、穴の確率マップを生成し、動きベクトルフィールドに基づく一時的な穴のある画像のレンダリングに関して穴を埋めるための値を識別する方法を示すフローチャートである。
【発明を実施するための形態】
【０００４】
一時的な穴のあるレンダリング（temporally foveated rendering）は、画像のピクセル又はピクセルのブロックを選択的にレンダリングして、一部のピクセル又はピクセルのブロックをレンダリングしないままにすることによって、処理システムの計算負荷を減らすために用いることができる。画像の何れの領域が観察者にとって関心があるかを識別することによって、観察者が焦点を合わせることが予想される画像の領域（穴のある領域）を最高解像度でレンダリングすることと、関心領域の外側の「穴」、すなわちレンダリングされていないピクセルについてより多くの位置を選択して、これらを観察者にとってより目立たないようにすることと、が可能である。ピクセルが関心領域から離れるほど、より多くの穴が、許容可能な品質で容認される可能性がある。
【０００５】
処理システムは、動き推定エンジンを使用して、以前にレンダリングされた画像を１つ以上のピクセルのユニットに分割し、動き領域を有するユニットを識別する動きベクトルフィールドを生成する。処理システムは、レンダリングプロセッサを使用して、動きベクトルフィールド及び大量のエッジアクティビティに基づいて、動きが殆ど又は全くないユニットを関心領域として識別し、これらの領域における穴の確率を最小化する。レンダリングプロセッサは、目立つパターンを避けるために、確率マップを適用して穴の可能性がある位置を決定し、ユニット内のピクセルが穴になる割合を示す確率を各ユニットに割り当てる。例えば、動き推定エンジンが、動きが殆ど又は全くない領域が画像の右上の象限に位置していることを識別した場合、レンダリングプロセッサは、画像の右上の象限の外側で穴の確率がより高いユニットを識別する確率マップを適用する。このようにして、動きが殆ど又は全くない、及び／又は、より高いエッジアクティビティを有するユニットは、少ない穴を有することになる。
【０００６】
動き推定エンジンは、直近（most-recently）に完全にレンダリングされた２つの画像（「Ｎ」及び「Ｎ−１」画像と呼ばれる）を検査して、以前の２つの画像の動きを測定する動きベクトルフィールドを生成する。動き推定エンジンは、Ｎ及びＮ−１画像の各々のユニット又はブロックを比較して、各ブロックの動きベクトルを決定する。ブロックは、ブロックベースの動き推定に使用される均一なサイズのピクセルのグループである。いくつかの実施形態では、ブロックベースでない動き推定エンジンは、ピクセル毎に又は複数のピクセルのグループ毎に、動きベクトルを生成する。動き推定エンジンは、Ｎ及びＮ−１画像の分析に基づいて、以前の２つの画像間の面積、大きさ及び動き方向を示す動きベクトルフィールドを生成する。
【０００７】
Ｎ画像とＮ−１画像との間に十分な相関があり、Ｎ画像が直前のＮ−１画像の続きであると結論付けることができる場合、レンダリングプロセッサは、動きベクトルフィールドが有効である（例えば、シーン変化がなかった）こと、及び、次の画像（「Ｎ＋１」画像と呼ばれる）のユニットが同じ軌跡に沿って続くことを仮定する。また、レンダリングプロセッサは、Ｎ画像のピクセルのグループを分析して、Ｎ画像の何れのピクセルのグループがエッジ及びエッジの強度を含むかを識別し、他の関連するメトリックを計算してもよい。いくつかの実施形態では、レンダリングプロセッサが分析するピクセルのグループは、動き推定エンジンによって使用される分析グループと異なる（すなわち、サイズにおいて異なる）。いくつかの実施形態では、レンダリングプロセッサは、閾値よりも大きい隣接ピクセル間の差（すなわち、エッジ）を識別する。レンダリングプロセッサは、動きベクトルフィールド、検出されたエッジ及び他の関連するメトリックのうち１つ以上に基づいて、Ｎ＋１画像のユニット又は「画像領域」内の各ピクセルが穴になる確率を示す確率マップを生成する。いくつかの実施形態では、確率マップのユニットは、複数のピクセルのブロックの均一又は不均一なグリッドを形成する。確率マップのユニットのサイズは、基礎となるメトリックによって使用されるユニットのサイズと相関する必要がない。確率マップは、第１閾値量又はエッジ強度よりも多くを含むと決定されたユニット、及び、第２閾値量未満の動きを有する領域に対して、より低い穴の確率を割り当てる。他の関連するメトリックは、ユニットの重要性が高いと考えられるので、穴を含むユニットの確率を低下させる。
【０００８】
シーン変化の場合、動きベクトルフィールドは有用な情報を提供せず、レンダリングプロセッサはデフォルトの確率マップを適用する。いくつかの実施形態では、デフォルトの確率マップは、Ｎ＋１画像全体に均一な確率を割り当てる。いくつかの実施形態では、デフォルトの確率マップは、画像の中央により低い穴確率密度を割り当て、画像のエッジに接近するにつれてより高い穴確率密度を割り当てる。
【０００９】
また、レンダリングプロセッサは、時間的に隣接する画像に基づいて、穴をどのように埋めるかの予測値を識別して、観察者に対して穴が目立たないようにする。したがって、Ｎ＋１画像のユニットが穴を含む場合、（動き推定エンジンからの動きベクトルフィールドを使用する）レンダリングプロセッサは、Ｎ＋１画像の穴に対応するＮ画像の候補ピクセルを識別して、利用可能なピクセルからの時空間（spatio-temporal）データを使用して穴を埋める（「時空間」補間と呼ばれる）。いくつかの実施形態では、レンダリングプロセッサは、局所構造及び時間的変化に追加的に基づいて、穴を埋める。
【００１０】
ただし、直前の画像の時間相関が閾値未満である場合（例えば、シーン変化の場合等）、レンダリングプロセッサは、空間補間アルゴリズムを用いて穴を埋める。いくつかの実施形態では、空間補間アルゴリズムは、画像の空間的に隣接するピクセルの局所平均に基づいて穴を埋める。いくつかの実施形態では、空間補間アルゴリズムは、局所構造の検査に基づいて穴をさらに埋める。
【００１１】
図１は、いくつかの実施形態による、動きベクトルフィールド１２５を生成する動き推定エンジン１２０と、動きベクトルフィールド１２５に基づいて一時的な穴のある画像１３５をレンダリングするためのレンダリングプロセッサ１３０と、を含む処理システム１００のブロック図である。処理システム１００は、例えば、サーバ、パーソナルコンピュータ、タブレット、セットトップボックス、ゲームシステム等の様々な電子デバイスの何れかに組み込まれてもよい。動き推定エンジン１２０は、メモリ１１０及びレンダリングプロセッサ１３０に接続されており、レンダリングプロセッサ１３０は、一時的な穴のあるレンダリング画像１３５をディスプレイ１４０に提供する。レンダリングプロセッサ１３０は、命令を実行して、実行された命令の結果等の情報をメモリ１１０に記憶する。例えば、メモリ１１０は、レンダリングプロセッサ１３０から受信した複数のレンダリング済み画像（図示省略）を記憶する。いくつかの実施形態では、メモリ１１０は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）として実装され、いくつかの実施形態では、メモリ１１０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、不揮発性ＲＡＭ等を含む他のタイプのメモリを用いて実装される。処理システム１００のいくつかの実施形態は、ディスプレイ１４０に関連する入力又は出力操作を処理する入出力（Ｉ／Ｏ）エンジン（図示省略）と、キーボード、マウス、プリンタ、外部ディスク等のような処理システム１００の他の要素と、を含む。
【００１２】
動き推定エンジン１２０は、直近にレンダリングされた画像（Ｎ画像）１０５と、２番目に直近にレンダリングされた画像（Ｎ−１画像）１０７と、に関するメモリ位置を中央処理装置（ＣＰＵ）（図示省略）から受信するように構成されている。動き推定エンジン１２０は、メモリ１１０に記憶されている以前に連続的にレンダリングされた画像１０５，１０７を比較して、動きベクトルフィールド１２５を生成する。
【００１３】
レンダリングプロセッサ１３０は、現在の（Ｎ＋１）画像（図示省略）をレンダリングするようにレンダリングプロセッサ１３０に指示する中央処理装置（ＣＰＵ）（図示省略）によって生成されたコマンドを受信する。レンダリングプロセッサ１３０のいくつかの実施形態は、同時に又は並列に命令を実行するマルチプロセッサコア（明確にするために図示省略）を含む。ＣＰＵによって生成されるコマンドのいくつかの実施形態は、Ｎ＋１画像内のオブジェクト又はその一部をレンダリングするためにレンダリングプロセッサ１３０によって使用されるテクスチャ、状態、シェーダ、レンダリングオブジェクト、バッファ等を定義する情報を含む。レンダリングプロセッサ１３０は、オブジェクトをレンダリングして、ディスプレイ１４０に提供されるピクセル値を作成し、ディスプレイ１４０は、ピクセル値を使用して、レンダリングされたオブジェクトを表す画像を表示する。
【００１４】
レンダリングプロセッサ１３０は、画像のより効率的なレンダリングを容易にするために、Ｎ画像１０５のエッジを識別して、識別されたエッジと、Ｎ＋１画像のユニット毎にユニット内のピクセルが穴になる確率を示す動きベクトルフィールド１２５と、に基づいて確率マップを生成する。レンダリングプロセッサ１３０はＮ＋１画像をレンダリングし、確率マップに基づいて穴を残す。レンダリングプロセッサ１３０は、時間的又は空間的に隣接するユニットに基づいて、穴のフィル値（fill values）を識別するように構成されている。レンダリングプロセッサ１３０は、動き推定エンジン１２０により提供される動きベクトルフィールド１２５に基づいて、Ｎ＋１画像の穴に対応するＮ画像のピクセルを識別する。Ｎ画像の対応するピクセルがレンダリングされる（すなわち、穴ではない）場合、レンダリングプロセッサ１３０は、「時空間」補間法（例えば、時間的挙動及び局所構造に基づく方法）を用いてＮ＋１画像の穴を埋める（フィルする）値として、Ｎ画像の対応するレンダリングされたピクセルの値を識別する。Ｎ画像の対応するピクセルが穴である場合、又は、Ｎ画像の対応するユニットが閾値未満で現在の画像に対応する場合（例えば、シーン変化の場合）、レンダリングプロセッサ１３０は、Ｎ＋１画像の穴に空間的に隣接するピクセルの値に基づいて、Ｎ＋１画像の穴を埋める値をもとめる（「空間補間」と呼ばれる）。いくつかの実施形態では、レンダリングプロセッサ１３０は、空間補間を、単純平均に基づいたものとする。いくつかの実施形態では、レンダリングプロセッサ１３０は、空間補間を、局所構造に基づいたものとする。
【００１５】
動作中、動き推定エンジン１２０は、Ｎ画像１０５及びＮ−１画像１０７のメモリ位置をＣＰＵ（図示省略）から受信する。動き推定エンジン１２０は、メモリ１１０に記憶された少なくともＮ画像１０５及びＮ−１画像１０７を分析して、Ｎ＋１画像（図示省略）の動き領域を推定する動きベクトルフィールド１２５を生成する。動きベクトルフィールド１２５は、画像のユニット毎に、動きの方向及び／又は大きさを示す。動き推定エンジン１２０は、動きベクトルフィールド１２５を、レンダリングプロセッサ１３０に提供する。
【００１６】
レンダリングプロセッサ１３０は、動きベクトルフィールド１２５を動き推定エンジン１２０から受信し、オブジェクトのエッジを識別するためにＮ画像１０５を分析する。レンダリングプロセッサ１３０は、識別されたエッジ及び動きベクトルフィールド１２５によって示される動きに基づいて、Ｎ＋１画像のユニット毎に、ユニット内のピクセルが穴である確率値を示す確率マップ（図示省略）を生成する。いくつかの実施形態では、確率マップは、平均よりも高い量のエッジ、又は、第１閾値を超えるエッジ数及び／若しくは強度を有するものとして識別されたユニットについて、より低い穴確率を示す。いくつかの実施形態では、確率マップは、動きが殆ど若しくは全くない、又は、第２閾値未満の動きがあるものとして識別されたユニットについて、より低い穴確率を示す。いくつかの実施形態では、第１閾値及び第２閾値は固定パラメータであり、いくつかの実施形態では、第１閾値及び／又は第２閾値は、現在のビデオ又は他のシステムパラメータに基づいて適用されてもよい。Ｎ画像１０５及びＮ−１画像１０７が第３閾値未満の相関である（シーン変化を示す）場合、レンダリングプロセッサは、動きベクトルフィールド１２５に依存しないデフォルト確率マップを適用する。
【００１７】
レンダリングプロセッサ１３０は、Ｎ＋１画像をレンダリングし、確率マップによって示すように穴を残す。レンダリングプロセッサ１３０は、穴を埋めるのに用いられる値を識別する。レンダリングプロセッサ１３０は、識別された値を用いて穴を埋め、一時的な穴のあるレンダリング画像１３５を生成する。レンダリングプロセッサ１３０は、一時的な穴のあるレンダリング画像１３５をディスプレイ１４０に提供し、ディスプレイ１４０は、一時的な穴のあるレンダリング画像１３５のピクセル値を使用して、Ｎ＋１画像を表す画像を表示する。また、レンダリングプロセッサ１３０は、一時的な穴のあるレンダリング画像１３５のコピーをメモリ１１０に提供し、コピーは、次の画像の動き補償されたバージョンの後続の生成のためにメモリ１１０に記憶される。
【００１８】
図２は、いくつかの実施形態による、動き推定エンジン２２０及び図１の処理システム１００のレンダリングプロセッサ２３０のブロック図である。動き推定エンジン２２０は、動きベクトルフィールド２２５を出力し、動きベクトルフィールド２２５は、一時的な穴のあるレンダリングされたＮ＋１画像２３５を生成するために、レンダリングプロセッサ２３０によって使用される。
【００１９】
動き推定エンジン２２０は、以前にレンダリングされたＮ画像２０５と、メモリ２１０に記憶されたＮ−１画像２０７と、の比較から導出された動き推定に基づいて、動きベクトルフィールド２２５を生成するように構成されている。動き推定エンジン２２０は、動きベクトルフィールドジェネレータ２５５を含む。動きベクトルフィールドジェネレータ２５５は、連続する画像内のオブジェクトの動きを推定するように構成されている。動き推定は、殆どの場合、画像内を移動するオブジェクトによって生じる変化を除いて、連続する画像が類似していると仮定する。動きベクトルフィールドジェネレータ２５５は、動きを推定するために、或る二次元画像から別の二次元画像への変換を記述する動きベクトルを、画像シーケンスの隣接する画像から決定する。動きベクトルは、或るの画像の座標から別の画像の座標へのオフセットを提供する二次元ベクトルである。
【００２０】
動きベクトルフィールドジェネレータ２５５は、Ｎ画像２０５（直近にレンダリングされた画像）及びＮ−１画像２０７（Ｎ画像の直前にレンダリングされた画像）の対応するピクセルを比較して、２つの画像間のオブジェクトの動きをモデル化する動きベクトルフィールド２２５を生成する。いくつかの実施形態では、動きベクトルフィールドジェネレータ２５５は、ブロックマッチングアルゴリズム（例えば、総当たり探索（exhaustive search）、３ステップ探索、単純で効率的な探索、４ステップ探索、ダイヤモンド探索、又は、ブロックマッチングで使用される他のアルゴリズム等）を使用する。Ｎ画像２０５及びＮ−１画像２０７間の比較が画像間の大きな変化を示す場合、レンダリングプロセッサは、Ｎ画像及びＮ−１画像間の時間相関が閾値未満であると決定することができる。
【００２１】
レンダリングプロセッサ２３０は、エッジ検出器２６０と、確率マップジェネレータ２６５と、レンダラ２７０と、穴補間器２７５と、を含む。いくつかの実施形態では、エッジ検出器２６０、確率マップジェネレータ２６５、レンダラ２７０及び穴補間器２７５は、レンダリングプロセッサ２３０上のシェーダプログラムとして実装される。いくつかの実施形態では、エッジ検出器２６０、確率マップジェネレータ２６５、レンダラ２７０及び穴補間器２７５の１つ以上は、動き推定エンジン２２０の固定機能ハードウェアとして実装される。
【００２２】
エッジ検出器２６０は、動きマップジェネレータ２５５によって生成された動きマップに基づいてオブジェクトのエッジを識別するように構成されている。エッジ検出器２６０は、画像輝度が閾値量よりも大きく変化するＮ画像２０５内のポイントを識別する。画像の輝度の急激な変化は、深度、表面配向、物質特性、又は、シーン照明の変動の不連続性を示すことがある。エッジ検出器２６０は、Ｎ画像２０５のオブジェクトの境界を示す一連の接続されたエッジを検出することができる。オブジェクトの境界が関心領域に対応する可能性があるので、エッジ検出器２６０がエッジを含むと識別するＮ画像２０５の部分は、本明細書で説明するように、穴を含む確率がより低く割り当てられる。
【００２３】
確率マップジェネレータ２６５は、穴識別（図示省略）のための確率マップを生成するように構成されている。確率マップは、確率を、穴を含むことになる各領域のピクセルの割合を示す、Ｎ＋１画像（レンダリングされる次の画像）（図示省略）の各領域に割り当てる。確率マップジェネレータ２６５は、動きベクトルフィールド２２５と、エッジ検出器２６０によって検出されたエッジと、に基づいて確率マップを生成する。確率マップジェネレータ２６５は、動きが殆ど若しくは全くない、及び／又は、より多くのエッジを含むものとして識別されたＮ＋１画像の領域に、穴を含む確率をより低く割り当てる。いくつかの実施形態では、レンダリングプロセッサ２３０は、Ｎ画像２０５及びＮ−１画像２０７間の時間相関が閾値未満であると判別した場合、デフォルトの確率をＮ＋１画像の各領域に割り当てる。
【００２４】
レンダラ２７０は、Ｎ＋１画像をレンダリングして、確率マップによって示すように穴を残すように構成されている。いくつかの実施形態では、レンダラ２７０は、複数のシェーダ（図示省略）を含み、各シェーダは、特殊な計算を実行し、コンピュータグラフィックをレンダリングするための特定の命令を実行するように構成された処理要素である。例えば、いくつかの実施形態では、シェーダは、ディスプレイのピクセル毎に、色及び他の属性を計算する。いくつかの実施形態では、レンダラ２７０のシェーダは、二次元（２Ｄ）シェーダ（例えば、ピクセルシェーダ等）、三次元シェーダ（例えば、頂点シェーダ、ジオメトリシェーダ、テッセレーションシェーダ等）、又は、これらの任意の組み合わせである。いくつかの実施形態では、シェーダは、Ｎ＋１画像をレンダリングするのに必要な操作を実行するために、並列に動作する。
【００２５】
穴補間器２７５は、フィル値をＮ＋１画像の各穴に割り当てるように構成されている。穴補間器２７５は、動きベクトルフィールド２２５に関連する「コスト」を決定する。コストは、動きベクトルフィールド２２５の各動きベクトルの総計の大きさを表す。穴補間器２７５は、コストを決定する際に、例えば、カメラがシーンをパン（pans）する場合に生じるような、画像を横切るグローバルな動きを考慮する。コストが閾値を越える場合（例えば、シーン変化、及び、グローバルな動きを割り引く場合）、穴補間器２７５は、Ｎ画像２０５及びＮ−１画像２０７間の時間相関が低すぎて、動きベクトルフィールド２２５がＮ＋１画像のピクセルの値を確実に予測することができないと判別する。コストが閾値を越える場合、穴補間器２７５は、穴に隣接するピクセルの局所平均に基づいて、Ｎ＋１画像の各穴を埋めるための値を割り当てる。
【００２６】
コストが閾値以下である場合、穴補間器２７５は、Ｎ画像２０５の対応するピクセルに基づいて、Ｎ＋１画像のフィル値を計算する。Ｎ画像２０５の対応するピクセルがレンダリングされたピクセルである（すなわち、穴ではない）場合、穴補間器２７５は、Ｎ＋１画像の穴を埋めるための、対応するレンダリングされたピクセルの値を識別する。いくつかの実施形態では、穴補間器２７５は、局所平均及び／又は局所構造に基づいて、Ｎ＋１画像の穴のフィル値を計算する。例えば、Ｎ画像２０５の対応するピクセルが白色であるが、当該ピクセルに対するＮ＋１画像の局所構造が黒線である場合、穴補間器２７５は、ロジックを使用して、局所構造又は統計値に基づいて穴を埋める。いくつかの実施形態では、Ｎ＋１画像の穴に対応するＮ画像２０５のピクセルも穴である場合、穴補間器２７５は、動きベクトルフィールド２２５を使用してＮ画像２０５からＮ＋１画像への動きを予測し、Ｎ＋１画像の穴に移ると予測されたユニットのＮ画像２０５のピクセル値でＮ＋１画像の穴を埋める。
【００２７】
いくつかの実施形態では、動きベクトルフィールドジェネレータ２５５は、Ｎ画像とＮ＋１画像との間の動きを測定することによって動きベクトルフィールド２２５を生成し、レンダリングプロセッサは、動きベクトルフィールド及び以前のピクチャに基づいて、Ｎ＋１の穴を埋める。動きベクトルフィールドジェネレータ２５５は、２つの画像の多くの候補領域に対して、多重比較の動き探索を実行する。動き探索で必要な比較を実行するために、動きベクトルフィールドジェネレータは、Ｎ＋１画像の穴を定数に置き換える。動きベクトルフィールドジェネレータ２５５は、Ｎ＋１画像と比較されるＮ画像内の候補比較領域が、同じ位置、すなわち、画像Ｎ＋１の穴と同じ位置において同じ定数を有するとみなす。動きベクトルフィールドジェネレータ２５５は、Ｎ＋１画像の穴及びＮ画像の比較領域を同じ定数に置き換えることによって、穴を無視して動きを探索する。動きベクトルフィールドジェネレータ２５５は、Ｎ＋１画像の穴及びＮ画像の対応するピクセルを置換する定数を使用して、Ｎ＋１画像の穴を無視しながらＮ画像２０５及びＮ−１画像２０７を比較し、修正された動きベクトルフィールドを生成する。穴補間器２７５は、Ｎ＋１画像の穴を、修正された動きベクトルフィールドと比較して、修正された動きマップの対応するユニットに基づいて、Ｎ＋１画像の穴を埋めるための値を割り当てる。いくつかの実施形態では、穴補間器２７５は、穴に隣接するピクセルの局所平均に基づいて、Ｎ＋１画像のいくつかの穴を埋めるための値を割り当て、修正された動きマップの対応するユニットに基づいて、Ｎ＋１画像の他の穴の値を割り当てる。
【００２８】
図３は、いくつかの実施形態による、図２の動き推定エンジン２２０の動きベクトルフィールドジェネレータ３５５のブロック図である。動きベクトルフィールドジェネレータ３５５は、Ｎ画像３１５及びＮ−１画像３１７の対応するユニット又はピクセルのグループを比較して、連続する画像に亘る１つのユニットから別のユニットへのオブジェクトの動きをモデル化するベクトルの動きベクトルフィールド３２５を生成する。動きベクトルフィールドジェネレータ３５５は、ブロックマッチングアルゴリズム（例えば、総当たり探索、３ステップ検索、単純で効率的な探索、４ステップ探索、ダイヤモンド探索、又は、ブロックマッチングにおいて用いられる他のアルゴリズム等）を使用することができる。図３に示す例では、動きベクトルフィールドジェネレータ３５５は、例えば、ユニットＣ４からユニットＣ６、ユニットＤ４からユニットＤ６、ユニットＥ４からユニットＥ６、ユニットＣ８からユニットＣ１０、ユニットＤ８からユニットＤ１０、及び、ユニットＥ８からユニットＥ１０への動きを示す動きベクトルを含む動きベクトルフィールド３２５を生成する。
【００２９】
図４は、いくつかの実施形態による、図２のレンダリングプロセッサ２３０のエッジ検出器４６０のブロック図である。エッジ検出器４６０は、Ｎ画像４１５のユニット内又はユニット間の輝度の変化を検出する。いくつかの実施形態では、エッジ検出器４６０によって分析されるユニットは、動きベクトルフィールドジェネレータ３５５によって分析されるピクセルの同じグループである。いくつかの実施形態では、エッジ検出器４６０によって分析されるユニットは、動きベクトルフィールドジェネレータ３５５によって分析されるユニットよりも大きい又は小さいピクセルのグループである。エッジ検出器４６０は、閾値を超える輝度変化を有するユニットを、エッジを含むものとして識別する。閾値の大きさによって、検出されるエッジの数が決まる。したがって、閾値が低い場合、より多くのエッジが検出されるが、その結果はノイズの影響を受け易く、無関係な特徴のエッジが検出される場合がある。図４に示す例では、エッジ検出器４６０は、ユニットＣ８、Ｃ９、Ｃ１０、Ｃ１１、Ｃ１２、Ｄ８、Ｅ８、Ｆ８、Ｆ９、Ｆ１０、Ｆ１１、Ｆ１２、Ｄ１２及びＥ１２の輝度変化を検出する。エッジ検出器４６０は、ユニットＣ８、Ｃ９、Ｃ１０、Ｃ１１、Ｃ１２、Ｄ８、Ｅ８、Ｆ８、Ｆ９、Ｆ１０、Ｆ１１、Ｆ１２、Ｄ１２及びＥ１２がエッジを含むと推定するエッジ検出画像４１９を、確率関数ジェネレータ（図示省略）に提供する。
【００３０】
図５は、いくつかの実施形態による、図２のレンダリングプロセッサ２３０の確率マップジェネレータ５６５のブロック図である。確率マップジェネレータ５６５は、エッジ検出器（図示省略）からエッジ検出されたＮ画像５１９を受信し、動きマップジェネレータ（図示省略）から動きベクトルフィールド５２５を受信する。確率マップジェネレータ５６５は、エッジ検出された画像５１９及び動きベクトルフィールド５２５に基づいて、確率マップ５２７を生成する。確率マップジェネレータ５６５は、Ｎ＋１画像のユニット毎（図示省略）に、穴になるユニット内のピクセルの割合を示す確率を割り当てる。いくつかの実施形態では、確率マップジェネレータ５６５によって分析されるユニットは、動きベクトルフィールドジェネレータ３５５又はエッジ検出器４６０の何れかによって分析されるものと同じピクセルのグループであり、いくつかの実施形態では、確率マップジェネレータ５６５によって分析されるユニットは、動きベクトルフィールドジェネレータ３５５又はエッジ検出器４６０によって分析されるものよりも大きい又は小さいピクセルのグループである。
【００３１】
確率マップジェネレータ５６５は、穴を含むユニットの確率を、当該ユニットが、エッジを含む、及び／又は、当該ユニットに関連する動きマップの１つ以上の動きベクトルの大きさを含む、という推定に基づいてもとめる。いくつかの実施形態では、確率マップジェネレータ５６５は、穴を含むユニットの確率を、ユニット内の追加の要因（例えば、ピクセル値の詳細レベル又は変動量等）に基づいてもとめる。確率マップ５２７は、Ｎ＋１画像の各ユニットに関連する穴を含む確率を示し、より多くのエッジ、より大きな動きベクトル及び／又はより多くの詳細が推定されるユニットを含むＮ＋１画像の領域において穴の確率がより低くなるように、確率を分布させる。
【００３２】
図６は、いくつかの実施形態による、図２のレンダリングプロセッサ２３０の穴補間器６７５のブロック図である。穴補間器６７５は、レンダリングされたＮ＋１画像の穴を埋めるための値を識別する。図６に示す例では、レンダリングされたＮ＋１画像のユニット６０５は４ピクセル×４ピクセルであり、そのうちの１つは穴である。穴補間器６７５は、穴を埋めるための値を選択して、画像６０７のユニットが、穴補間器６７５によって選択された値を用いて穴が埋められた状態でピクセル毎に値を有するようにする。
【００３３】
いくつかの実施形態では、穴補間器６７５は、Ｎ＋１画像のユニット毎のフィル値を、直前の（Ｎ）画像（図示省略）の対応するユニットに基づいてもとめる。いくつかの実施形態では、Ｎ＋１画像の穴に対応するＮ画像の１つ以上のピクセルも穴である場合、穴補間器６７５は、Ｎ画像の穴及び現在の画像の穴を同じ定数に置き換えて、Ｎ画像及びＮ＋１画像の修正バージョンを生成する。穴補間器６７５は、修正された画像を動きベクトルフィールドジェネレータ（図示省略）に提供する。動きマップジェネレータは、修正されたＮ画像及びＮ＋１画像の対応するユニットを比較して、修正された動きベクトルフィールド（図示省略）を生成する。穴補間器６７５は、Ｎ＋１画像の穴と修正された動きベクトルフィールドとを比較して、穴補間器６７５が、修正された動きベクトルフィールドに基づいてＮ＋１画像の穴に移ると予測したＮ画像のユニットに基づいて、Ｎ＋１画像の穴を埋めるための値を割り当てる。Ｎ画像及びＮ＋１画像間の相関が閾値未満である場合、いくつかの実施形態では、穴補間器６７５は、穴に隣接するピクセルの局所平均に基づいて、Ｎ＋１画像のいくつかの穴を埋めるための値を割り当てる。
【００３４】
図７は、いくつかの実施形態による、動き推定に基づいて一時的な穴のある画像をレンダリングするために、穴を識別するマスクを生成し、穴を埋めるための値を識別する方法７００のフローチャートである。方法７００は、図１に示す処理システム１００、並びに、図２に示す動き推定エンジン２２０及びレンダリングプロセッサ２３０のいくつかの実施形態で実施される。
【００３５】
ブロック７０２において、動き推定エンジン２２０は、直近にレンダリングされた２つの（Ｎ及びＮ−１）画像を受信する。ブロック７０４において、動き推定エンジン２２０の動きベクトルフィールドジェネレータ２５５は、Ｎ画像及びＮ−１画像を比較して、動きベクトルフィールド２２５を生成する。ブロック７０６において、レンダリングプロセッサ２３０のエッジ検出器２６０は、Ｎ画像の何れのユニットがエッジを含むかを推定する。ブロック７０８において、確率マップジェネレータ２６５は、（Ｎ画像及びＮ−１画像が閾値を超えて相関すると仮定する）動きベクトルフィールド２２５及び検出されたエッジに基づいて、Ｎ＋１画像のユニット毎に穴を含む確率を示す確率マップを生成する。確率マップは、エッジ又は動き領域を含むと推定されたＮ＋１画像のユニットが、エッジ又は動き領域を含むと推定されないユニットよりも穴を含む可能性が低くなるように、穴の確率を分布させる。
【００３６】
ブロック７１０において、レンダリングプロセッサ２３０のレンダラ２７０は、Ｎ＋１画像をレンダリングし、確率マップによって示す位置に穴を残す。ブロック７１２において、レンダリングプロセッサ２３０の穴補間器２７５は、Ｎ＋１画像の穴を埋める。Ｎ画像及びＮ−１画像が十分に相関している場合、穴補間器２７５は、Ｎ＋１画像の穴を埋める値を、Ｎ画像の対応するユニットに基づいてもとめる。いくつかの実施形態では、Ｎ画像が、Ｎ＋１画像の穴に対応するピクセルに穴を含む場合、穴補間器２７５は、定数をＮ画像及びＮ＋１画像の両方の穴に割り当て、動きベクトルフィールドジェネレータ２５５は、修正されたＮ画像及びＮ＋１画像に基づいて、修正された動きベクトルフィールドを生成する。そして、穴補間器２７５は、修正された動きベクトルフィールドに基づいて、Ｎ＋１画像の穴を埋めるのに用いられる値を識別する。
【００３７】
第１態様において、方法は、動き推定エンジンにおいて、第１画像の複数のユニット毎に、第２画像及び第３画像の対応するユニットを比較することによって動きベクトルを推定することであって、各ユニットは１つ以上のピクセルを含み、第２画像は、第１画像の直前にレンダリングされた画像を含み、第３画像は、第２画像の直前にレンダリングされた画像を含む、ことと、レンダリングプロセッサにおいて、複数のユニット毎に、ユニットの動きベクトルの大きさに基づいて、ユニットを含むピクセルがレンダリングされていない確率を識別することと、レンダリングプロセッサにおいて、識別された確率に基づいて、結果として得られるレンダリング画像の複数のユニットの各々のピクセルを選択的にレンダリングすることと、を含む。
【００３８】
第１様の一実施形態では、方法は、複数のユニット毎に、ユニット内のエッジ及びエッジ強度を識別することを含み、確率は、ユニット内のエッジの数又は強度が閾値を越えているかどうかに基づいている。別の実施態様では、選択的にレンダリングすることは、複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングすることを含む。さらなる実施形態では、ユニット内のピクセルがレンダリングされていない確率は、ユニットの動きベクトルの大きさに比例する。さらに別の実施形態では、方法は、第２画像の対応するピクセルの値に基づいて、第１画像のレンダリングされていないピクセルの各々を埋めることを含む。
【００３９】
第１態様の別の実施形態では、方法は、レンダリングされていないピクセルに隣接する第１画像のピクセルの局所平均に基づいて、第１画像のレンダリングされていないピクセルの各々を埋めることを含む。さらなる実施形態では、方法は、第１画像のレンダリングされていないピクセルの各々に定数を割り当てて、修正された第１画像を生成することと、動きベクトルに基づいて、第１画像のレンダリングされていないピクセルの各々に対応する第２画像のピクセルを識別することと、第２画像の対応するピクセルの各々に定数を割り当てて、修正された第２画像を生成することと、動き推定エンジンにおいて、修正された第１画像及び修正された第２画像の対応するユニットを比較することによって、複数のユニット毎に、修正された動きベクトルを推定することと、レンダリングされていないピクセルを含むユニット毎に、修正された動きベクトルに基づいて、第１画像のレンダリングされていないピクセルの各々を埋めることと、を含む。さらに別の実施形態では、方法は、レンダリングされていないピクセルを含むユニットに対応する動きベクトルに基づいて、レンダリングされていないピクセルの各々を埋めることを含む。
【００４０】
第２態様では、方法は、第１画像の複数のユニットであって、各ユニットが１つ以上のピクセルのグループを含む、複数のユニット毎に、ユニットが、第１閾値量を超えるエッジ又は第２閾値量未満の動きを含むことに基づいて、ユニットを含むピクセルがレンダリングされていない確率を識別することと、レンダリングプロセッサにおいて、第１画像のピクセルを、対応する確率に基づいて選択的にレンダリングすることと、を含む。
【００４１】
第２態様の一実施形態では、方法は、動き推定エンジンにおいて、第１画像の直前にレンダリングされた第２画像と、第２画像の直前にレンダリングされた第３画像との対応するユニット間の比較に基づいて、第１画像の動きベクトルフィールドを生成することを含む。特定の実施形態では、方法は、第１画像のレンダリングされていないピクセルの各々に定数を割り当てることと、動きベクトルフィールドに基づいて、第１画像のレンダリングされていないピクセルの各々に対応する第２画像のピクセルを識別することと、第２画像の対応するピクセルの各々に定数を割り当てることと、動き推定エンジンにおいて、第１画像及び第２画像の対応するユニットの比較に基づいて、修正された動きベクトルフィールドを生成することと、修正された動きベクトルフィールドに基づいて、レンダリングされていないピクセルの各々を埋めることと、を含む。別の特定の実施形態では、方法は、第２画像の対応するピクセルの値に基づいて、レンダリングされていないピクセルの各々を埋めることを含む。
【００４２】
第２態様のさらなる実施形態では、識別されたエッジの数若しくは強度が第１閾値量を超えるユニット、又は、動き領域が第２閾値量未満のユニットの確率がより低い。別の実施形態では、方法は、レンダリングされていないピクセルに隣接するピクセルの局所平均に基づいて、レンダリングされていないピクセルの各々を埋めることを含む。
【００４３】
第３態様において、デバイスは、第１画像の直前にレンダリングされた第２画像と、第２画像の直前にレンダリングされた第３画像との対応するユニット間の比較に基づいて、第１画像の動きベクトルフィールドを生成するように構成された動き推定エンジンであって、各ユニットは１つ以上のピクセルを含む、動き推定エンジンと、第１画像の複数のユニット毎に、動きベクトルフィールドに基づいて、ユニットを含むピクセルがレンダリングされない確率を識別し、対応する確率に基づいて、第１画像のピクセルを選択的にレンダリングするように構成されたレンダリングプロセッサと、を備える。
【００４４】
第３態様の一実施形態では、レンダリングプロセッサは、複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングする。別の実施態様では、レンダリングプロセッサは、第１画像の複数のユニット毎に、ユニット内のエッジ及びエッジ強度を識別するように構成されており、識別されたエッジの数又はエッジ強度が第１閾値量を超えるユニット、及び、動き領域が第２閾値量未満のユニットの確率がより低い。さらに別の実施形態では、レンダリングプロセッサは、第２画像の対応するピクセルの値に基づいて、レンダリングされていないピクセルの各々を埋める。
【００４５】
第３態様のさらなる実施形態では、レンダリングプロセッサは、レンダリングされていないピクセルに隣接する第１画像のピクセルの局所平均に基づいて、第１画像のレンダリングされていないピクセルの各々を埋める。さらに別の実施形態では、動き推定エンジンは、第１画像のレンダリングされていないピクセルの各々を定数に置き換えて、修正された第１画像を生成し、動きベクトルフィールドに基づいて、第１画像のレンダリングされていないピクセルの各々に対応する第２画像のピクセルを識別し、第２画像の対応するピクセルの各々を定数に置き換えて、修正された第２画像を生成し、修正された第１画像及び修正された第２画像の対応するユニットの比較に基づいて、修正された動きベクトルフィールドを生成し、レンダリングプロセッサは、修正された動きベクトルフィールドに基づいて、レンダリングされていないピクセルの各々を埋める。
【００４６】
いくつかの実施形態では、上記の装置及び技術は、図１〜図７を参照して上述したマルチメディアシステム等の１つ以上の集積回路（ＩＣ）デバイス（集積回路パッケージ又はマイクロチップとも呼ばれる）を備えるシステムに実装される。これらのＩＣデバイスの設計及び製造には、電子設計自動化（ＥＤＡ）及びコンピュータ支援設計（ＣＡＤ）ソフトウェアツールが使用される。これらの設計ツールは、通常、１つ以上のソフトウェアプログラムとして表される。１つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計又は適合するための処理の少なくとも一部を実行するように１つ以上のＩＣデバイスの回路を表すコードで動作するようにコンピュータシステムを操作する、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含むことができる。設計ツール又は製造ツールを表すソフトウェア命令は、通常、コンピューティングシステムがアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ＩＣデバイスの設計又は製造の１つ以上のフェーズを表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶されてもよいし、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体からアクセスされてもよい。
【００４７】
コンピュータ可読記憶媒体は、命令及び／又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の非一時的な記憶媒体又は非一時的な記憶媒体の組み合わせを含む。かかる記憶媒体には、限定されないが、光媒体（例えば、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク）、磁気媒体（例えば、フロッピー（登録商標）ディスク、磁気テープ、磁気ハードドライブ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、キャッシュ）、不揮発性メモリ（例えば、読み出し専用メモリ（ＲＯＭ）、フラッシュメモリ）、又は、微小電気機械システム（ＭＥＭＳ）ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体は、コンピュータシステムに内蔵されてもよいし（例えば、システムＲＡＭ又はＲＯＭ）、コンピュータシステムに固定的に取り付けられてもよいし（例えば、磁気ハードドライブ）、コンピュータシステムに着脱可能に取り付けられてもよいし（例えば、光学ディスク又はユニバーサルシリアルバス（ＵＳＢ）ベースのフラッシュメモリ）、有線又は無線のネットワークを介してコンピュータシステムに接続されてもよい（例えば、ネットワークアクセス可能なストレージ（ＮＡＳ））。
【００４８】
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の１つ以上のセットを含む。ソフトウェアは、１つ以上のプロセッサによって実行されると、上記の技術の１つ以上の態様を実行するように１つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、又は、他の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、１つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
【００４９】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、１つ以上のさらなるアクティビティが実行される場合があり、１つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【００５０】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【図１】
2021503669.tif 000003
【図２】
2021503669.tif 000004
【図３】
2021503669.tif 000005
【図４】
2021503669.tif 000006
【図５】
2021503669.tif 000007
【図６】
2021503669.tif 000008
【図７】
2021503669.tif 000009
【手続補正書】
【提出日】令和2年7月29日(2020.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動き推定エンジンにおいて、第１画像の複数のユニット毎に、第２画像及び第３画像の対応するユニットを比較することによって動きベクトルを推定することであって、各ユニットは１つ以上のピクセルを含み、前記第２画像は、前記第１画像の直前にレンダリングされた画像を含み、前記第３画像は、前記第２画像の直前にレンダリングされた画像を含む、ことと、
レンダリングプロセッサにおいて、前記複数のユニット毎に、前記ユニットの前記動きベクトルの大きさに基づいて、前記ユニットを含むピクセルがレンダリングされていない確率を識別することと、
前記レンダリングプロセッサにおいて、識別された確率に基づいて、結果として得られるレンダリング画像の前記複数のユニットの各々のピクセルを選択的にレンダリングすることと、を含む、
方法。
【請求項２】
前記複数のユニット毎に、ユニット内のエッジ及びエッジ強度を識別することを含み、
前記確率は、前記ユニット内のエッジ数又は強度さが閾値を越えているかどうかに基づいている、
請求項１の方法。
【請求項３】
前記選択的にレンダリングすることは、前記複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングすることを含む、
請求項１又は２の方法。
【請求項４】
前記ユニット内のピクセルがレンダリングされていない確率は、前記ユニットの動きベクトルの大きさに比例する、
請求項１〜３の何れかの方法。
【請求項５】
前記第２画像の対応するピクセルの値に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることを含む、
請求項１〜４の何れかの方法。
【請求項６】
レンダリングされていないピクセルに隣接する前記第１画像のピクセルの局所平均に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることを含む、
請求項１〜５の何れかの方法。
【請求項７】
前記第１画像のレンダリングされていないピクセルの各々に定数を割り当てて、修正された第１画像を生成することと、
前記動きベクトルに基づいて、前記第１画像のレンダリングされていないピクセルの各々に対応する前記第２画像のピクセルを識別することと、
前記第２画像の対応するピクセルの各々に前記定数を割り当てて、修正された第２画像を生成することと、
前記動き推定エンジンにおいて、前記修正された第１画像及び前記修正された第２画像の対応するユニットを比較することによって、前記複数のユニット毎に、修正された動きベクトルを推定することと、
レンダリングされていないピクセルを含むユニット毎に、前記修正された動きベクトルに基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋めることと、を含む、
請求項１〜６の何れかの方法。
【請求項８】
前記レンダリングされていないピクセルを含むユニットに対応する前記動きベクトルに基づいて、レンダリングされていないピクセルの各々を埋めることを含む、
請求項１〜７の何れかの方法。
【請求項９】
第１画像の直前にレンダリングされた第２画像と、前記第２画像の直前にレンダリングされた第３画像との対応するユニット間の比較に基づいて、前記第１画像の動きベクトルフィールドを生成するように構成された動き推定エンジンであって、各ユニットは１つ以上のピクセルを含む、動き推定エンジンと、
レンダリングプロセッサであって、
前記第１画像の前記複数のユニット毎に、前記動きベクトルフィールドに基づいて、前記ユニットを含むピクセルがレンダリングされていない確率を識別することと、
対応する確率に基づいて、前記第１画像のピクセルを選択的にレンダリングすることと、
を行うように構成されたレンダリングプロセッサと、を備える、
デバイス。
【請求項１０】
前記レンダリングプロセッサは、前記複数のユニットの各々の、各ユニットの確率に対応する割合のピクセルをレンダリングする、
請求項９のデバイス。
【請求項１１】
前記レンダリングプロセッサは、前記第１画像の前記複数のユニット毎に、前記ユニット内のエッジ及びエッジ強度を識別するように構成されており、
識別されたエッジの数又は強度が第１閾値量を超えるユニット、及び、動き領域が第２閾値量未満のユニットの前記確率がより低い、
請求項９又は１０のデバイス。
【請求項１２】
前記レンダリングプロセッサは、前記第２画像の対応するピクセルの値に基づいて、レンダリングされていないピクセルの各々を埋める、
請求項９〜１１の何れかのデバイス。
【請求項１３】
前記レンダリングプロセッサは、レンダリングされていないピクセルに隣接する前記第１画像のピクセルの局所平均に基づいて、前記第１画像のレンダリングされていないピクセルの各々を埋める、
請求項９〜１２の何れかのデバイス。
【請求項１４】
前記動き推定エンジンは、
前記第１画像のレンダリングされていないピクセルの各々を定数に置き換えて、修正された第１画像を生成することと、
前記動きベクトルフィールドに基づいて、前記第１画像のレンダリングされていないピクセルの各々に対応する前記第２画像のピクセルを識別することと、
前記第２画像の対応するピクセルの各々を前記定数に置き換えて、修正された第２画像を生成することと、
前記修正された第１画像及び前記修正された第２画像の対応するユニットの比較に基づいて、修正された動きベクトルフィールドを生成することと、
を行うように構成されており、
前記レンダリングプロセッサは、
前記修正された動きベクトルフィールドに基づいて、レンダリングされていないピクセルの各々を埋めることを行うように構成されている、
請求項９〜１３の何れかのデバイス。
【国際調査報告】
2021503669.tif 000010
2021503669.tif 000011