(57)【特許請求の範囲】
【請求項１】
グラフィック処理ユニット(GPU)が、レイ光源におけるカメラのパラメータおよびレンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を中央演算処理装置(CPU)から受信するステップであって、前記CPUは、前記レイ光源におかれたカメラを利用することにより、レンダリングされるべき目標のオブジェクトを撮影し、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得する、ステップと、
前記GPUによって前記シーンをレンダリングしてシーンデプスパラメータを得るステップと、
前記GPUによって前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るステップであって、前記レンダリングされるべき目標のオブジェクトが、レイ光源におかれていないカメラによって撮影することによって得られる、ステップと、
前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従ってレイ光源の方向の前記レンダリングされるべき目標のオブジェクトのアンビエントオクルージョン(AO)マップを前記GPUによって計算するステップと、
前記GPUによって前記レイ光源の前記方向の前記AOマップを被せることによって出力画像を得るステップとを含む、画像処理方法。
【請求項２】
前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従ってレイ光源の方向の前記レンダリングされるべき目標のオブジェクトのAOマップを前記GPUによって計算する前記ステップが、
各レイ光源に関して、前記レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って前記レイ光源の方向の各ピクセル点のAO値を前記GPUによって計算するステップと、
前記GPUによって前記AO値を被せて、前記レイ光源の前記方向の前記レンダリングされるべき目標のオブジェクトのAOマップを得るステップとを含む請求項1に記載の画像処理方法。
【請求項３】
前記レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って前記レイ光源の方向の各ピクセル点のAO値を前記GPUによって計算する前記ステップが、
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を前記GPUによって計算するステップと、
前記GPUによって前記ピクセル点の前記シャドウ値に重み係数を掛けて前記レイ光源の前記方向の前記ピクセル点の前記AO値を取得するステップであって、前記重み係数が、前記レイ光源の照明方向と前記ピクセル点の法線方向とのドット積、および前記レイ光源の総数の逆数を含むステップとを含む、請求項2に記載の画像処理方法。
【請求項４】
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を前記GPUによって計算する前記ステップが、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータよりも大きいとき、前記ピクセル点の前記シャドウ値が1であると決定するステップと、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータ以下であるとき、前記ピクセル点の前記シャドウ値が0であると決定するステップとを含む、請求項3に記載の画像処理方法。
【請求項５】
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報とレイ光源におけるカメラのパラメータとを、GPUが受信する前記ステップの前に、
前記レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に分散されるレイポイントを前記CPUによって決定するステップと、
各レイポイントの位置において、前記レンダリングされるべき目標のオブジェクトに向かって光を放射するレイ光源を前記CPUによって確立するステップとをさらに含む、請求項1に記載の画像処理方法。
【請求項６】
前記GPUによって前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得る前記ステップが、
前記GPUによって前記レンダリングされるべき目標のオブジェクトをレンダリングして前記レンダリングされるべき目標のオブジェクトの頂点座標を取得するステップと、
前記GPUによって前記頂点座標にワールド座標行列を掛け、それから前記レイ光源におかれたカメラの視野行列および投影行列を掛けて、前記レンダリングデプスパラメータを得るステップとを含む、請求項1から5のいずれか一項に記載の画像処理方法。
【請求項７】
前記GPUによって前記レイ光源の前記方向の前記AOマップを被せることによって出力画像を得る前記ステップの後に、
前記出力画像に対してガンマ補正を実行し、前記出力画像を出力するステップをさらに含む、請求項1から5のいずれか一項に記載の画像処理方法。
【請求項８】
前記レイ光源の数が900である、請求項1から5のいずれか一項に記載の画像処理方法。
【請求項９】
レイ光源におけるカメラのパラメータおよびレンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を中央演算処理装置(CPU)から受信する受信ユニットであって、前記CPUは、前記レイ光源におかれたカメラを利用することにより、レンダリングされるべき目標のオブジェクトを撮影し、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得する、受信ユニットと、
前記シーンをレンダリングしてシーンデプスパラメータを取得し、レイ光源におかれていないカメラによって撮影することによって得られる前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るレンダリング処理ユニットと、
前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従ってレイ光源の方向の前記レンダリングされるべき目標のオブジェクトのアンビエントオクルージョン(AO)マップを計算するマップ生成ユニットと、
前記レイ光源の前記方向の前記AOマップを被せることによって出力画像を得る出力処理ユニットとを含む、画像処理装置。
【請求項１０】
前記マップ生成ユニットが、
各レイ光源に関して、前記レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って前記レイ光源の方向の各ピクセル点のAO値を計算する計算ユニットと、
前記AO値を被せて、前記レイ光源の前記方向の前記レンダリングされるべき目標のオブジェクトのAOマップを得るマップ生成サブユニットとを含む、請求項9に記載の画像処理装置。
【請求項１１】
前記計算ユニットが、特に、
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を計算することと、
前記ピクセル点の前記シャドウ値に重み係数を掛けて前記レイ光源の前記方向の前記ピクセル点の前記AO値を取得することであって、前記重み係数が、前記レイ光源の照明方向と前記ピクセル点の法線方向とのドット積、および前記レイ光源の総数の逆数を含む、前記AO値の取得とを行う、請求項10に記載の画像処理装置。
【請求項１２】
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を前記計算ユニットによって計算することが、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータよりも大きいとき、前記ピクセル点の前記シャドウ値が1であると前記計算ユニットによって決定することと、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータ以下であるとき、前記ピクセル点の前記シャドウ値が0であると前記計算ユニットによって決定することとを含む、請求項11に記載の画像処理装置。
【請求項１３】
前記レンダリング処理ユニットによって前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得ることが、
前記レンダリング処理ユニットによって前記レンダリングされるべき目標のオブジェクトをレンダリングして前記レンダリングされるべき目標のオブジェクトの頂点座標を取得することと、前記頂点座標にワールド座標行列を掛け、それから前記レイ光源におかれたカメラの視野行列および投影行列を掛けて、前記レンダリングデプスパラメータを得ることとを含む、請求項9から12のいずれか一項に記載の画像処理装置。
【請求項１４】
前記出力画像に対してガンマ補正を実行し、前記出力画像を出力する補正ユニットをさらに含む、請求項9から12のいずれか一項に記載の画像処理装置。
【請求項１５】
前記レイ光源の数が900である、請求項9から12のいずれか一項に記載の画像処理装置。
【請求項１６】
中央演算処理装置(CPU)およびグラフィック処理ユニット(GPU)を含み、
前記CPUが、レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に分散されるレイポイントを決定し、各レイポイントの位置において、前記レンダリングされるべき目標のオブジェクトに向かって光を放射するレイ光源を確立し、
前記GPUが、レイ光源におけるカメラのパラメータおよびレンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を前記CPUから受信し、前記CPUは、前記レイ光源におかれたカメラを利用することにより、レンダリングされるべき目標のオブジェクトを撮影し、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得し、前記GPUが、前記シーンをレンダリングしてシーンデプスパラメータを取得し、レイ光源におかれていないカメラで撮影することによって得られる前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを取得し、前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従ってレイ光源の方向の前記レンダリングされるべき目標のオブジェクトのアンビエントオクルージョン(AO)マップを計算し、前記レイ光源の前記方向の前記AOマップを被せて出力画像を得る、コンピュータデバイス。
【請求項１７】
前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従ってレイ光源の方向の前記レンダリングされるべき目標のオブジェクトのAOマップを前記GPUによって計算することが、
各レイ光源に関して、前記レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って前記レイ光源の方向の各ピクセル点のAO値を前記GPUによって計算することと、
前記GPUによって前記AO値を被せて、前記レイ光源の前記方向の前記レンダリングされるべき目標のオブジェクトのAOマップを得ることとを含む、請求項16に記載のコンピュータデバイス。
【請求項１８】
前記レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って前記レイ光源の方向の各ピクセル点のAO値を前記GPUによって計算することが、
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を前記GPUによって計算することと、
前記GPUによって前記ピクセル点の前記シャドウ値に重み係数を掛けて前記レイ光源の前記方向の前記ピクセル点の前記AO値を取得することであって、前記重み係数が、前記レイ光源の照明方向と前記ピクセル点の法線方向とのドット積、および前記レイ光源の総数の逆数を含む、取得することとを含む請求項17に記載のコンピュータデバイス。
【請求項１９】
各ピクセル点の前記シーンデプスパラメータおよび前記レンダリングデプスパラメータに従って、前記ピクセル点のシャドウ値を前記GPUによって計算することが、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータよりも大きいとき、前記ピクセル点の前記シャドウ値が1であると前記GPUによって決定することと、
前記ピクセル点の前記レンダリングデプスパラメータが前記シーンデプスパラメータ以下であるとき、前記ピクセル点の前記シャドウ値が0であると前記GPUによって決定することとを含む、請求項18に記載のコンピュータデバイス。
【請求項２０】
前記GPUによって前記レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得ることが、
前記GPUによって前記レンダリングされるべき目標のオブジェクトをレンダリングして前記レンダリングされるべき目標のオブジェクトの頂点座標を取得することと、
前記GPUによって前記頂点座標にワールド座標行列を掛け、それから前記レイ光源におかれたカメラの視野行列および投影行列を掛けて、前記レンダリングデプスパラメータを得ることとを含む、請求項16から19のいずれか一項に記載のコンピュータデバイス。
【請求項２１】
前記GPUによって前記レイ光源の前記方向の前記AOマップを被せることによって出力画像を得ることの後に、
前記GPUによって前記出力画像に対してガンマ補正を実行し、前記出力画像を出力することをさらに含む、請求項16から19のいずれか一項に記載のコンピュータデバイス。
【請求項２２】
前記レイ光源の数が900である、請求項16から19のいずれか一項に記載のコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理テクノロジーの分野に関し、特に、画像処理方法および装置ならびにコンピュータデバイスに関する。
【背景技術】
【０００２】
近年、ネットワークゲームが盛況であり、人々は、ゲームのシーンのリアルさをますます求めている。アンビエントオクルージョン(AO)は、大域照明(GI)テクノロジーの欠かせない部分であり、AOは、オブジェクトの表面上の各点とシーン内の別のオブジェクトとの間の遮蔽値(occlusion value)を記述する。概して、オブジェクトの表面上に放射する光の照度値(illumination value)は、空間の重なり合いの感覚を高め、シーンのリアルさを高め、ピクチャの芸術性を高めるために影を生成するようにAOを使用することによって減ぜられる。
【０００３】
しかし、ゲーム開発のプロセスにおいて、本開示の発明者は、市場の一番の主流であるAOマップベイクソフトウェアが中央演算処理装置(CPU)に基づいているが、CPUによる画像データの処理の効率が低く、結果として、AOマップのベイクの効率が非常に低く、概して、1つのAOマップをベイクすることが数時間を要し、一部のベイクソフトウェアが、CPUが処理プロセスの1つの部分を実行することを可能にし、グラフィック処理ユニット(GPU)が処理プロセスのその他の部分を実行することを可能にするが、そのようなベイクソフトウェアに含まれるアルゴリズムは決まって非常に複雑であり、結局、画像処理の効率が低いという問題がやはり引き起こされることを発見している。したがって、上述の問題を解決するための新しい方法を提供することが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、画像処理の効率を改善することができる画像処理方法および装置ならびにコンピュータデバイスを提供する。技術的な解決策は、以下のように説明される。
【課題を解決するための手段】
【０００５】
第1の態様によれば、画像処理方法が提供され、画像処理方法は、
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報をGPUによって受信するステップと、
シーンをGPUによってレンダリングしてシーンデプスパラメータ(scene depth parameter)を得るステップであって、シーンが、レイ光源(ray light source)におかれたカメラによって撮影することによって得られる、ステップと、
GPUによってレンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るステップであって、レンダリングされるべき目標のオブジェクトが、レイ光源におかれていないカメラによって撮影することによって得られる、ステップと、
シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップをGPUによって計算するステップと、
GPUによってレイ光源の方向のAOマップを被せることによって出力画像を得るステップとを含む。
【０００６】
第2の態様によれば、画像処理装置が提供され、画像処理装置は、
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信する受信ユニットと、
レイ光源におかれたカメラによって撮影することによって得られるシーンをレンダリングしてシーンデプスパラメータを得、レイ光源におかれていないカメラによって撮影することによって得られるレンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るレンダリング処理ユニットと、
シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算するマップ生成ユニットと、
レイ光源の方向のAOマップを被せることによって出力画像を得る出力処理ユニットとを含む。
【０００７】
第3の態様によれば、コンピュータデバイスが提供され、コンピュータデバイスは、CPUおよびGPUを含み、
CPUは、レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に分散されるレイポイント(ray point)を決定し、各レイポイントの位置において、レンダリングされるべき目標のオブジェクトに向かって光を放射するレイ光源を確立し、
GPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信し、シーンをレンダリングしてシーンデプスパラメータを取得することであって、シーンが、レイ光源におかれたカメラによって撮影することによって得られる、シーンデプスパラメータの取得と、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを取得することであって、レンダリングされるべき目標のオブジェクトが、レイ光源におかれていないカメラによって撮影することによって得られる、レンダリングデプスパラメータの取得と、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算することと、レイ光源の方向のAOマップを被せて出力画像を得ることとを行う。
【０００８】
本発明の実施形態は以下の利点を有することが、上述の技術的な解決策から分かるであろう。
【０００９】
本発明の実施形態においては、GPUが、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信し、GPUが、受信されたシーンをレンダリングしてシーンデプスパラメータを得、GPUが、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得、GPUが、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算し、GPUが、レイ光源の方向のAOマップを被せて出力画像を得る。本発明の実施形態においては、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップが、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算される可能性があり、出力画像が、単にレイ光源の方向のAOマップを被せることによって得られる可能性があり、これは、したがって、従来技術における複雑な計算プロセスを避け、これらの画像計算および処理プロセスは、GPUによって完了され、画像データを処理するためのGPUの高い能力が、利用され、これは、画像処理の効率を改善する。
【００１０】
本発明の実施形態または従来技術の技術的な解決策をより明瞭に説明するために、以下で、それらの実施形態または従来技術を説明するために必要とされる添付の図面を簡単に紹介する。明らかに、以下の説明の添付の図面は、本発明の一部の実施形態を示しており、当業者は、創造的な努力なしにこれらの添付の図面からその他の図面を導き出すことがやはり可能である。
【図面の簡単な説明】
【００１１】
【図１】本開示による画像処理方法の実施形態の概略図である。
【図２】本開示による画像処理方法の別の実施形態の概略図である。
【図３】本開示による画像処理装置の実施形態の概略図である。
【図４】本開示による画像処理装置の別の実施形態の概略図である。
【図５】本開示によるコンピュータデバイスの実施形態の概略図である。
【図６】ガンマ補正が実行されない出力画像である。
【図７】ガンマ補正が実行される出力画像である。
【発明を実施するための形態】
【００１２】
本開示の目的、技術的な解決策、および利点をより理解しやすくするために、以下で、本開示の実施形態を添付の図面を参照してさらに詳細に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく一部であるに過ぎない。創造的な努力なしに本発明の実施形態に基づいて当業者によって得られるすべてのその他の実施形態は、本開示の保護範囲内に入る。
【００１３】
本発明の実施形態は、画像処理の効率を改善することができる画像処理方法および装置ならびにコンピュータデバイスを提供する。
【００１４】
図1を参照すると、図1は、本開示による画像処理方法の実施形態の概略図である。この実施形態の画像処理方法は、以下を含む。
【００１５】
101: GPUが、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信する。
【００１６】
この実施形態においては、レンダリングされるべき目標のオブジェクトのモデルが、CPUにおいて確立され、レイ光源が、設定され、CPUが、レイ光源におかれたシミュレートされたカメラを使用することによってレンダリングされるべき目標のオブジェクトを撮影して、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得し、予め設定される範囲は、実際の必要性に応じてCPUにおいて予め設定される可能性があり、得られるシーンは、レンダリングされるべき目標のオブジェクトおよび別のオブジェクト、地形(terrain)などを含む可能性がある。CPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての取得された情報をGPUに送信し、その結果、GPUが、さらなる処理を実行する。
【００１７】
102: GPUが、受信されたシーンをレンダリングしてシーンデプスパラメータを得る。
【００１８】
GPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信し、受信されたシーンをレンダリングしてシーンデプスパラメータを得る。
【００１９】
103: GPUが、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得る。
【００２０】
GPUは、レイ光源におかれていないカメラを利用することによってレンダリングされるべき目標のオブジェクトを別に撮影して、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得る。GPUがレイ光源におかれていないカメラを利用することによってレンダリングされるべき目標のオブジェクトを撮影するとき、選択される撮影アングルは、レンダリングされるべき目標のオブジェクト全体が撮影されることを可能にする必要がある。
【００２１】
104: GPUが、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。
【００２２】
特定の実装においては、複数のレイ光源が存在する可能性があり、GPUは、各レイ光源の方向のレンダリングされるべき目標のオブジェクトのシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。
【００２３】
105: GPUが、レイ光源の方向のAOマップを被せて出力画像を得る。
【００２４】
この実施形態においては、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップが、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算される可能性があり、出力画像が、単にレイ光源の方向のAOマップを被せることによって得られる可能性があり、これは、従来技術における複雑な計算プロセスを避け、これらの画像計算および処理プロセスは、GPUによって完了され、画像データを処理するためのGPUの高い能力が、利用され、これは、画像処理の効率を改善する。
【００２５】
理解を容易にするために、以下で、特定の実施形態を使用することによって本発明のこの実施形態の画像処理方法を説明する。図2を参照すると、この実施形態の画像処理方法は、以下を含む。
【００２６】
201: CPUが、レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に分散されるレイポイントを決定する。
【００２７】
この実施形態においては、レンダリングされるべき目標のオブジェクトのモデルが、CPUにおいて確立され、それから、CPUが、レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に均一に分散されるレイポイントを決定する。
【００２８】
202: CPUが、各レイポイントの位置において、レンダリングされるべき目標のオブジェクトに向かって光を放射するレイ光源を確立する。
【００２９】
CPUが、各レイポイントの位置において、レイ光源を確立し、レイ光源は、レンダリングされるべき目標のオブジェクトに向かって光を放射する。好ましくは、レイ光源の数は、900である。
【００３０】
CPUが、レイ光源におかれたシミュレートされたカメラを使用することによってレンダリングされるべき目標のオブジェクトを撮影して、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得し、予め設定される範囲は、実際の必要性に応じてCPUにおいて予め設定される可能性があり、カメラがレンダリングされるべき目標のオブジェクトを撮影する方法は、平行投影行列の方法である可能性があり、得られるシーンは、レンダリングされるべき目標のオブジェクトおよび別のオブジェクト、地形などを含む可能性がある。
【００３１】
画像の描画の正確さを保証するために、CPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内の得られるシーン内の動的なオブジェクトをフィルタリングして取り除く可能性があり、ここで、これらの動的なオブジェクトは、たとえば、粒子およびスケルトンを用いたアニメーションであり、CPUは、フィルタリングの後、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報をGPUに送信し、その結果、GPUが、さらなる処理を実行する。
【００３２】
特に、CPUは、シーンについての取得された情報を、四分木、八分木、およびJiugongなどのアルゴリズムを利用することによってGPUに送信し得る。加えて、GPUに送信される情報は、レイ光源におけるカメラの関連するパラメータ、たとえば、視野行列(vision matrix)、投影行列(projection matrix)、およびレンズ位置をさらに含み得る。
【００３３】
203: GPUが、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信された情報を受信する。
【００３４】
GPUによって受信されるシーンは、レイ光源におけるカメラによる撮影を通じて得られる。
【００３５】
204: GPUが、受信されたシーンをレンダリングしてシーンデプスパラメータを得る。
【００３６】
GPUは、受信されたシーンをレンダリングしてシーンデプス画像を得、ここで、シーンデプス画像は、レイ光源におけるカメラによって撮影されたシーン内の各ピクセル点のシーンデプスパラメータを記憶し、つまり、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータも含む。
【００３７】
205: GPUが、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得る。
【００３８】
レンダリングされるべき目標のオブジェクトは、レイ光源におかれていないカメラによって撮影することを通じて得られ、カメラは、平行投影式にレンダリングされるべき目標のオブジェクトを別に撮影する可能性があり、選択される撮影アングルは、レンダリングされるべき目標のオブジェクト全体が撮影されることを可能にする必要がある。
【００３９】
GPUは、レンダリングされるべき目標のオブジェクトをレンダリングし、レンダリング後にレンダリングデプス画像を得、レンダリングデプス画像からレンダリングされるべき目標のオブジェクトの頂点座標を取得し、レンダリングされるべき目標のオブジェクトの頂点座標にワールド座標行列を掛け、それからレイ光源におかれたカメラの視野行列および投影行列を掛けて、レンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータを得る。レンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータは、レンダリングされるべき目標のオブジェクトの各ピクセル点のレンダリングデプスパラメータを含む。
【００４０】
206: 各レイ光源に関して、GPUが、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向の各ピクセル点のAO値を計算する。
【００４１】
各レイ光源に関して、GPUは、レイ光源におけるカメラによって撮影されたレンダリングされるべき目標のオブジェクトに対応するシーンデプスパラメータと、いかなるレイ光源にもおかれていないカメラによって撮影されたレンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータとを得、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向の各ピクセル点のAO値を計算し、これは、詳細には以下の通りである。
【００４２】
ピクセル点に関して、GPUは、ピクセル点のレンダリングデプスパラメータをピクセル点のシーンデプスパラメータと比較し、レンダリングデプスパラメータがシーンデプスパラメータよりも大きいとき、ピクセル点のシャドウ値(shadow value)が1であると決定し、ピクセル点のレンダリングデプスパラメータがシーンデプスパラメータ以下であるとき、ピクセル点のシャドウ値が0であると決定する。
【００４３】
GPUは、ピクセル点のシャドウ値に重み係数を掛けてレイ光源の方向のピクセル点のAO値を取得し、重み係数は、レイ光源の照明方向とピクセル点の法線方向とのドット積、およびレイ光源の総数の逆数を含み、たとえば、レイ光源の数が900であるとき、レイ光源の総数の逆数は、1/900である。
【００４４】
加えて、各ピクセル点のAO値の計算の正確さを保証するために、計算によって取得される上述のAO値が、予め設定された経験係数(experience coefficient)をさらに乗算される可能性があり、経験係数は、経験によって計られ、0.15である可能性がある。
【００４５】
207: GPUが、各ピクセル点のAO値を被せて、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを得る。
【００４６】
GPUは、各ピクセル点のAO値を被せて、レンダリングされるべき目標のオブジェクトのAO値を取得して、レンダリングされるべき目標のオブジェクトのAO値に従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを描く。
【００４７】
208: GPUが、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。
【００４８】
類推によって、GPUは、上述の方法により各レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを得ることができる。
【００４９】
209: GPUが、レイ光源の方向のAOマップを被せて出力画像を得る。
【００５０】
鋸歯(sawteeth)およびテクスチャピクセルがあふれることが原因で、出力画像上に黒い境界が生成される可能性がある。鋸歯が原因で生成される黒い境界は、影の「パーセンテージプログレッシブフィルタリング(percentage progressive filtration)」を使用することによって処理される可能性があり、各ピクセルに関して、このピクセルの上、下、左、および右のピクセルならびにこのピクセル自体が、平均される。ピクセルがあふれることが原因で生成される黒い境界は、有効なピクセルを拡げることによって解決される可能性がある。特に、現在のピクセルが有効でないかどうかが、ピクセルシェーダにおいて判定される可能性がある。現在のピクセルが有効でない場合、取り囲む8つのピクセルがサンプリングされ、それらのうちの有効なピクセルが足し合わされ、有効なピクセルの平均値が取得され、平均値が現在のピクセルのシャドウ値として使用され、現在のピクセルが有効であるように設定される。このようにして、サンプリングが境界をまたぐことを防止するための出力画像の1つのピクセルの拡張が実施される。
【００５１】
210: GPUが、出力画像に対してガンマ補正を実行し、出力画像を出力する。
【００５２】
GPUは、出力画像に対してガンマ補正を実行し、つまり、GPUは、出力画像を表示のためにレンダリングされるべき目標のオブジェクトのモデルにペーストし、カラーチャートを使用することによって出力画像の表示効果を調整して、AOがシーンに追加されるためにシーンが全体としてぼやけるという問題を解決する。
【００５３】
この実施形態においては、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップが、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算される可能性があり、出力画像が、単にレイ光源の方向のAOマップを被せることによって得られる可能性があり、これは、従来技術における複雑な計算プロセスを避け、これらの画像計算および処理プロセスは、GPUによって完了され、画像データを処理するためのGPUの高い能力が、利用され、これは、画像処理の効率を改善する。
【００５４】
以下で、本発明の実施形態によって提供される画像処理装置を説明する。図3を参照すると、画像処理装置300が、
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信する受信ユニット301と、
レイ光源におかれたカメラによって撮影することによって得られる受信されたシーンをレンダリングしてシーンデプスパラメータを得、レイ光源におかれていないカメラによって撮影することによって得られるレンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るレンダリング処理ユニット302と、
シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算するマップ生成ユニット303と、
レイ光源の方向のAOマップを被せて出力画像を得る出力処理ユニット304とを含む。
【００５５】
本開示の技術的な解決策をさらに理解するために、以下で、この実施形態の画像処理装置300のユニットが互いにインタラクションする方法を説明し、それは、詳細には以下の通りである。
【００５６】
この実施形態においては、レンダリングされるべき目標のオブジェクトのモデルが、CPUにおいて確立され、レイ光源が、設定され、CPUが、レイ光源におかれたシミュレートされたカメラを使用することによってレンダリングされるべき目標のオブジェクトを撮影して、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得し、予め設定される範囲は、実際の必要性に応じてCPUにおいて予め設定される可能性があり、得られるシーンは、レンダリングされるべき目標のオブジェクトおよび別のオブジェクト、地形などを含む可能性がある。CPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての取得された情報を画像処理装置に送信し、受信ユニット301は、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信する。
【００５７】
レンダリング処理ユニット302は、レンダリングユニット301によって受信されたシーンをレンダリングしてシーンデプスパラメータを得、レンダリング処理ユニット302によって受信されたシーンは、レイ光源におかれたカメラによる撮影によって得られ、レンダリング処理ユニット302は、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得、レンダリングされる目標のオブジェクトは、レイ光源におかれていないカメラによる撮影によって得られる。レンダリングされるべき目標のオブジェクトがレイ光源におかれていないカメラを利用して撮影されるとき、選択される撮影アングルは、レンダリングされるべき目標のオブジェクト全体の撮影を可能にする撮影アングルである必要がある。
【００５８】
マップ生成ユニット303は、レンダリング処理ユニット302によって得られたシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。特定の実装においては、複数のレイ光源が存在する可能性があり、マップ生成ユニット303は、各レイ光源の方向のレンダリングされるべき目標のオブジェクトのシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。
【００５９】
出力処理ユニット304は、マップ生成ユニット303によって生成される、レイ光源の方向のAOマップを被せて出力画像を得る。
【００６０】
この実施形態においては、マップ生成ユニットが、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算することができ、出力処理ユニットは、単にレイ光源の方向のAOマップを被せることによって出力画像を得る可能性がある。これは、従来技術における複雑な計算プロセスが避けられ、この実施形態の画像処理装置が有する画像データ処理能力は、CPUの画像データ処理能力よりも高い。これにより、画像処理の効率が改善される。
【００６１】
理解を容易にするために、以下で、本発明の実施形態によって提供される画像処理装置をさらに説明する。図4を参照すると、画像処理装置400が、
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUによって送信される情報を受信する受信ユニット401と、
レイ光源におかれたカメラによって撮影することによって得られる受信されたシーンをレンダリングしてシーンデプスパラメータを得、レイ光源におかれていないカメラによって撮影することによって得られるレンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得るレンダリング処理ユニット402と、
シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算するマップ生成ユニット403であって、
特に、計算ユニット4031およびマップ生成サブユニット4032を含み、
計算ユニット4031が、各レイ光源に関して、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向の各ピクセル点のAO値を計算し、
マップ生成サブユニット4032が、AO値を被せて、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを得る、マップ生成ユニット403と、
レイ光源の方向のAOマップを被せて出力画像を得る出力処理ユニット404と、
出力画像に対してガンマ補正を実行し、出力画像を出力する補正ユニット405とを含む。
【００６２】
本開示の技術的な解決策をさらに理解するために、以下で、この実施形態の画像処理装置400のユニットが互いにインタラクションする方法を説明し、それは、詳細には以下の通りである。
【００６３】
この実施形態においては、レンダリングされるべき目標のオブジェクトのモデルが、CPUに確立され、レイ光源が設定され、CPUが、レイ光源におかれたシミュレートされたカメラを使用することによってレンダリングされるべき目標のオブジェクトを撮影して、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについての情報を取得する。予め設定される範囲は、実際の必要性に応じてCPUにおいて予め設定されてもよく、得られるシーンは、レンダリングされるべき目標のオブジェクトおよび別のオブジェクト、地形などを含む可能性がある。CPUは、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについて取得された情報を画像処理装置に送信し、受信ユニット401は、レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPUから送信された情報を受信する。受信ユニット401によって受信されたシーンは、レンダリングされるべき目標のオブジェクトおよび別のオブジェクト、地形などを含み、シーンについて受信された情報は、レイ光源におけるカメラの関連するパラメータ、たとえば、視野行列、投影行列、およびレンズ位置をさらに含み得る。
【００６４】
レンダリング処理ユニット402は、受信ユニット401によって受信されたシーンをレンダリングしてシーンデプス画像を得、シーンデプス画像は、レイ光源におけるカメラによって撮影されたシーン内の各ピクセル点のシーンデプスパラメータを記憶し、つまり、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータをやはり含む。
【００６５】
次に、レンダリング処理ユニット402は、レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得、レンダリングされるべき目標のオブジェクトは、レイ光源におかれていないカメラカメラによって撮影することによって得られ、カメラは、平行投影式にレンダリングされるべき目標のオブジェクトを別に撮影する可能性があり、選択される撮影アングルは、レンダリングされるべき目標のオブジェクト全体が撮影されることを可能にする必要がある。
【００６６】
特に、レンダリング処理ユニット402は、レンダリングされるべき目標のオブジェクトをレンダリングし、レンダリング後にレンダリングデプス画像を得、レンダリングデプス画像からレンダリングされるべき目標のオブジェクトの頂点座標を取得し、レンダリングされるべき目標のオブジェクトの頂点座標にワールド座標行列を掛け、それからレイ光源におかれたカメラの視野行列および投影行列を掛けて、レンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータを得る。レンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータは、レンダリングされるべき目標のオブジェクトの各ピクセル点のレンダリングデプスパラメータを含む。
【００６７】
マップ生成ユニット403は、レンダリング処理ユニット402によって得られたシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する。
【００６８】
特に、各レイ光源に関して、計算ユニット4031は、レイ光源におけるカメラによって撮影されたレンダリングされるべき目標のオブジェクトに対応するシーンデプスパラメータと、いかなるレイ光源にもおかれていないカメラによって撮影されたレンダリングされるべき目標のオブジェクトのレンダリングデプスパラメータとを得、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向の各ピクセル点のAO値を計算し、計算プロセスは、以下の通りである。
【００６９】
ピクセル点に関して、計算ユニット4031は、ピクセル点のレンダリングデプスパラメータをピクセル点のシーンデプスパラメータと比較し、レンダリングデプスパラメータがシーンデプスパラメータよりも大きいとき、ピクセル点のシャドウ値が1であると決定し、ピクセル点のレンダリングデプスパラメータがシーンデプスパラメータ以下であるとき、ピクセル点のシャドウ値が0であると決定する。
【００７０】
そして、計算ユニット4031は、ピクセル点のシャドウ値に重み係数を掛けてレイ光源の方向のピクセル点のAO値を取得し、重み係数は、レイ光源の照明方向とピクセル点の法線方向とのドット積、およびレイ光源の総数の逆数を含み、たとえば、レイ光源の数が900であるとき、レイ光源の総数の逆数は、1/900である。
【００７１】
加えて、各ピクセル点のAO値の計算の正確さを保証するために、計算ユニット4031は、計算によって取得される上述のAO値に予め設定された経験係数をさらに乗算する可能性があり、経験係数は、経験によって計られ、0.15である可能性がある。
【００７２】
マップ生成サブユニット4032は、計算ユニット4031によって計算された各ピクセル点のAO値を被せて、レンダリングされるべき目標のオブジェクトのAO値を取得して、レンダリングされるべき目標のオブジェクトのAO値に従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを描く。類推によって、マップ生成サブユニット4032は、上述の方法により各レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを得ることができる。
【００７３】
出力処理ユニット404は、マップ生成サブユニット4032によって生成される、レイ光源の方向のAOマップを被せて出力画像を得る。
【００７４】
鋸歯およびテクスチャピクセルがあふれることが原因で、出力画像上に黒い境界が生成される可能性がある。出力処理ユニット404は、影の「パーセンテージプログレッシブフィルタリング」を使用することによって鋸歯が原因で生成される黒い境界を処理し、各ピクセルに関して、このピクセルの上、下、左、および右のピクセルならびにこのピクセル自体を平均する可能性がある。出力処理ユニット404は、有効なピクセルを拡げることによって、ピクセルがあふれることが原因で生成される黒い境界を解決することができる。特に、現在のピクセルが有効でないかどうかが、ピクセルシェーダにおいて判定される可能性がある。現在のピクセルが有効でない場合、取り囲む8つのピクセルがサンプリングされ、それらのうちの有効なピクセルが足し合わされ、有効なピクセルの平均値が取得され、平均値が現在のピクセルのシャドウ値として使用され、現在のピクセルが有効であるように設定される。このようにして、サンプリングが境界をまたぐのを防止するための出力画像の1つのピクセルの拡張が実施される。
【００７５】
最終的に、補正ユニット405は、出力処理ユニット404の出力画像に対してガンマ補正を実行し、つまり、補正ユニット405は、出力画像を表示のためにレンダリングされるべき目標のオブジェクトのモデルにペーストし、カラーチャートを使用することによって出力画像の表示効果を調整して、AOがシーンに追加されることによってシーンが全体としてぼやけるという問題を解決する。特定の補正の効果に関しては、ガンマ補正が実行されない出力画像の表示効果を示す図6と、ガンマ補正が実行される出力画像の表示効果を示す図7とを参照されたい。
【００７６】
この実施形態においては、マップ生成ユニットが、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算することができ、出力処理ユニットが、単にレイ光源の方向のAOマップを被せることによって出力画像を得ることができる。これにより、従来技術における複雑な計算プロセスが避けられ、この実施形態の画像処理装置が有する画像データ処理能力は、CPUの画像データ処理能力よりも高い。これにより、画像処理の効率が改善される。この実施形態によって提供される画像処理装置を使用することによって1つのAOマップを生成することは数分しかかからず、使用される時間は従来技術においてAOマップを生成するための時間よりもずっと少ないことが、実験を通じて測定される。
【００７７】
以下で、本発明の実施形態によって提供されるコンピュータデバイスを説明する。図5を参照すると、コンピュータデバイス500は、無線周波数(RF)回路510、1つまたは複数のコンピュータ可読ストレージ媒体を含むメモリ520、入力ユニット530、ディスプレイユニット540、センサ550、オーディオ回路560、ワイヤレスフィデリティ(WiFi: wireless fidelity)モジュール570、1つまたは複数の処理コアを含むプロセッサ580、および電源590などの構成要素を含み得る。
【００７８】
当業者は、図5に示されるコンピュータデバイスの構造がコンピュータデバイスに対する限定をなさず、図に示される構成要素よりも多いもしくは少ない構成要素、または一部の構成要素の組合せ、または異なる構成要素の配置を含んでもよいことを理解し得る。
【００７９】
RF回路510は、メッセージを送信および受信するか、または呼の間に信号を受信および送信し、特に、基地局のダウンリンク情報を受信した後、処理するために1つまたは複数のプロセッサ580に情報を送り、さらに、関係するアップリンクデータを基地局に送信する可能性がある。概して、RF回路510は、アンテナ、少なくとも1つの増幅器、チューナ、1つまたは複数の発振器、加入者識別モジュール(SIM)カード、トランシーバ、カプラ、低雑音増幅器(LNA)、およびデュプレクサを含むがこれらに限定されない。加えて、RF回路510は、ワイヤレス通信およびネットワークを通じて別のデバイスとさらに通信する可能性があり、ワイヤレス通信は、移動体通信用グローバルシステム(GSM: Global System of Mobile communication)、汎用パケット無線サービス(GPRS: General Packet Radio Service)、符号分割多元接続(CDMA)、広帯域符号分割多元接続(WCDMA)、ロングタームエボリューション(LTE)、電子メール、ショートメッセージングサービス(SMS)を含むがこれらに限定されない任意の通信規格またはプロトコルを使用する可能性がある。
【００８０】
メモリ520は、ソフトウェアプログラムおよびモジュールを記憶してもよく、プロセッサ580は、メモリ520に記憶されるソフトウェアプログラムおよびモジュールを実行することによって様々な機能のアプリケーションおよびデータ処理を実行する。メモリ520は、主に、プログラムストレージエリアおよびデータストレージエリアを含む可能性があり、プログラムストレージエリアは、オペレーティングシステム、少なくとも1つの機能(たとえば、音声再生機能および画像再生機能)によって必要とされるアプリケーションプログラムなどを記憶する可能性があり、データストレージエリアは、コンピュータデバイス500の使用に応じて作成されるデータ(たとえば、オーディオデータおよび電話帳)などを記憶してもよく、加えて、メモリ520は、高速なランダムアクセスメモリ(RAM)を含んでもよく、不揮発性メモリ、たとえば、少なくとも1つの磁気ディスクストレージデバイス、フラッシュメモリ、または別の揮発性ソリッドステートメモリをさらに含む可能性がある。したがって、メモリ520は、プロセッサ580および入力ユニット530がメモリ520にアクセスするようにメモリコントローラをさらに含んでいてもよい。
【００８１】
入力ユニット530は、入力された数字または文字情報を受信し、ユーザ設定および機能の制御に関連するキーボード、マウス、ジョイスティック、光、またはトラックボールの信号入力を生成してもよい。特に、入力ユニット530は、タッチ感知表面531および別の入力デバイス532を含み得る。タッチ感知表面531は、タッチスクリーンまたはタッチパネルとも呼ばれる可能性があり、(指またはタッチペンなどの任意の好適な物体または付属品を使用することによるタッチ感知表面531の上または近くのユーザの操作などの)タッチ感知表面531の上または近くのユーザのタッチ操作を収集し、予め設定されたプログラムに従って対応する接続装置を駆動してもよい。任意で、タッチ感知表面531は、2つの部分、すなわち、タッチ検出装置およびタッチコントローラを含み得る。タッチ検出装置は、ユーザのタッチ位置を検出し、タッチ操作によってもたらされた信号を検出し、タッチコントローラに信号を転送する。タッチコントローラは、タッチ検出装置からタッチ情報を受信し、タッチ情報をタッチ点の座標に変換し、タッチ点の座標をプロセッサ580に送信する。さらに、タッチコントローラは、プロセッサ580から送信されたコマンドを受信し、実行することができる。加えて、タッチ感知表面531は、抵抗式、静電容量式、赤外線式、および表面音波式などの様々な形式を使用することによって実装されてもよい。タッチ感知表面531に加えて、入力ユニット530は、別の入力デバイス532をさらに含み得る。特に、別の入力デバイス532は、物理的なキーボード、(ボリューム制御キーまたはスイッチキーなどの)機能キー、トラックボール、マウス、およびジョイスティックのうちの1つまたは複数を含み得るがこれらに限定されない。
【００８２】
ディスプレイユニット540は、ユーザによって入力された情報またはユーザのために与えられた情報およびコンピュータデバイス500の様々なグラフィカルユーザインターフェースを表示し得る。グラフィカルユーザインターフェースは、グラフ、テキスト、アイコン、ビデオ、およびこれらの任意の組合せによって形成される可能性がある。ディスプレイユニット540は、ディスプレイパネル541を含み得る。任意で、ディスプレイパネル541は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)などを使用することによって構成されていてもよい。さらに、タッチ感知表面531が、ディスプレイパネル541を覆っていてもよい。タッチ感知表面531の上または近くのタッチ操作を検出した後、タッチ感知表面531は、タッチイベントの種類を判定するためにタッチ操作をプロセッサ580に転送する。そのとき、プロセッサ580は、タッチイベントの種類に応じてディスプレイパネル541上の対応する視覚的な出力を提供する。図5においてタッチ感知表面531およびディスプレイパネル541は入力および出力機能を実装するための2つの別々の部分として使用されるが、一部の実施形態において、タッチ感知表面531およびディスプレイパネル541は、入力および出力機能を実装するために統合されていてもよい。
【００８３】
コンピュータデバイス500は、光センサ、モーションセンサ、およびその他のセンサなどの少なくとも1つのセンサ550をさらに含み得る。特に、光センサは、環境光センサおよび近接センサを含み得る。環境光センサは、環境光の明るさに応じてディスプレイパネル541の輝度を調整し得る。近接センサは、コンピュータデバイス500が耳まで動かされるときにディスプレイパネル541および/またはバックライトをオフにし得る。モーションセンサの一種として、重力加速度センサは、様々な方向の(概して、3軸の)加速度の大きさを検出する可能性があり、静止しているときの重力の大きさおよび方向を検出する可能性があり、コンピュータデバイスの姿勢のアプリケーション(たとえば、水平方向の画面と垂直方向の画面との間の切り替え、関連するゲーム、および磁力計のジェスチャの較正)、(万歩計およびノックなどの)振動認識の関連する機能を特定する可能性がある。コンピュータデバイス500内でさらに構成され得るジャイロスコープ、気圧計、湿度計、温度計、および赤外線センサなどのその他のセンサは、本明細書においてさらに説明されない。
【００８４】
オーディオ回路560、ラウドスピーカ561、およびマイクロフォン562は、ユーザとコンピュータデバイス500との間のオーディオインターフェースを提供し得る。オーディオ回路560は、オーディオデータから変換された受信された電気信号をラウドスピーカ561に送信し得る。ラウドスピーカ561は、電気信号を出力のための音声信号に変換する。一方、マイクロフォン562は、集められた音声信号を電気信号に変換する。オーディオ回路560は、電気信号を受信し、電気信号をオーディオデータに変換し、オーディオデータを処理するためにプロセッサ580に出力する。そのとき、プロセッサ580は、たとえば、RF回路510を使用することによって別の端末にオーディオデータを送信するか、またはオーディオデータをさらに処理するためにメモリ520に出力する。オーディオ回路560は、周辺イヤホンとコンピュータデバイス500との間の通信を提供するためにイヤホンジャックをさらに含み得る。
【００８５】
WiFiは、近距離ワイヤレス送信テクノロジーに属する。コンピュータデバイス500は、WiFiモジュール570を使用することによって、ユーザが電子メールを受信および送信すること、ウェブページを閲覧すること、ストリームメディアにアクセスすることなどを助ける可能性があり、これは、ユーザのためのワイヤレスブロードバンドインターネットアクセスを提供する。図5は、WiFiモジュール570を示すが、WiFiモジュール570が、コンピュータデバイス500の必須の構成に属さず、本開示の本質の範囲を変えることなく必要に応じて完全に無視され得ることは、理解されるであろう。
【００８６】
プロセッサ580は、コンピュータデバイス500の制御の中心であり、様々なインターフェースおよび線を使用することによってコンピュータデバイスの様々な部分を接続する。メモリ520に記憶されたソフトウェアプログラムおよび/またはモジュールを走らせるかまたは実行し、メモリ520に記憶されたデータを呼び出すことによって、プロセッサ580は、コンピュータデバイス500の様々な機能およびデータ処理を実行し、それによって、コンピュータデバイスに対する全体の監視を実行する。任意で、プロセッサ580は、1つまたは複数の処理コアを含み得る。好ましくは、プロセッサ580は、アプリケーションプロセッサおよびモデムを組み込んでいてもよい。アプリケーションプロセッサは、主として、オペレーティングシステム、ユーザインターフェース、アプリケーションプログラムなどを処理する。モデムは、主として、ワイヤレス通信を処理する。上述のモデムはプロセッサ580に組み込まれない可能性があることが理解され得る。
【００８７】
コンピュータデバイス500は、構成要素に電力を供給するための(バッテリーなどの)電源590をさらに含む。好ましくは、電源は、電源管理システムを使用することによってプロセッサ580に論理的に接続され、それによって、電源管理システムを使用することによって充電、放電、および電力消費管理などの機能を実施してもよい。電源590は、1つまたは複数の直流または交流電源、再充電システム、電源異常検出回路、電源コンバータまたはインバータ、および電源状態インジケータなどの任意の構成要素をさらに含み得る。
【００８８】
図に示されていないが、コンピュータデバイス500は、本明細書においてさらに説明されないカメラ、Bluetoothモジュールなどをさらに含み得る。
【００８９】
特に、本発明の一部の実施形態において、プロセッサ580は、CPU581およびGPU582を含み、コンピュータデバイスは、メモリおよび1つまたは複数のプログラムをさらに含む。1つまたは複数のプログラムは、メモリに記憶され、CPU581によって実行されるように構成される。1つまたは複数のプログラムは、以下の動作、すなわち、
レンダリングされるべき目標のオブジェクトを中心として用い、球状にまたは半球状に分散されるレイポイントを決定する動作と、
各レイポイントの位置において、レンダリングされるべき目標のオブジェクトに向かって光を放射するレイ光源を確立する動作とを実行するための命令を含む。
【００９０】
加えて、GPU582によって実行されるように構成される1つまたは複数のプログラムは、以下の動作、すなわち、
レンダリングされるべき目標のオブジェクトの周りの予め設定された範囲内のシーンについてCPU581によって送信される情報を受信する動作と、
受信されたシーンをレンダリングしてシーンデプスパラメータを得る動作であって、シーンが、レイ光源におかれたカメラによって撮影することによって得られる、動作と、
レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングデプスパラメータを得る動作であって、レンダリングされるべき目標のオブジェクトが、レイ光源におかれていないカメラによって撮影することによって得られる、動作と、
シーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを計算する動作と、
レイ光源の方向のAOマップを被せて出力画像を得る動作とを実行する命令を含む。
【００９１】
以上は、考えられる第1の実装方法であり、そして、考えられる第1の実装方法に基づいて提供される、考えられる第2の実装方法においては、GPU582によって実行される1つまたは複数のプログラムが、以下の動作、すなわち、
各レイ光源に関して、レンダリングされるべき目標のオブジェクトの各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従ってレイ光源の方向の各ピクセル点のAO値を計算する動作と、
AO値を被せて、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを得る動作とを実行するための命令をさらに含むことが、想定される。
【００９２】
考えられる第2の実装方法に基づいて提供される、考えられる第3の実装方法においては、GPU582によって実行される1つまたは複数のプログラムが、以下の動作、すなわち、
各ピクセル点のシーンデプスパラメータおよびレンダリングデプスパラメータに従って、ピクセル点のシャドウ値を計算する動作と、
ピクセル点のシャドウ値に重み係数を掛けてレイ光源の方向のピクセル点のAO値を取得する動作であって、重み係数が、レイ光源の照明方向とピクセル点の法線方向とのドット積、およびレイ光源の総数の逆数を含む、動作とを実行するための命令をさらに含む。
【００９３】
考えられる第3の実装方法に基づいて提供される、考えられる第4の実装方法においては、GPU582によって実行される1つまたは複数のプログラムが、以下の動作、すなわち、
ピクセル点のレンダリングデプスパラメータがシーンデプスパラメータよりも大きいとき、ピクセル点のシャドウ値が1であると決定する動作と、
ピクセル点のレンダリングデプスパラメータがシーンデプスパラメータ以下であるとき、ピクセル点のシャドウ値が0であると決定する動作とを実行するための命令をさらに含む。
【００９４】
考えられる第1の、または第2の、または第3の、または第4の実装方法に基づいて提供される、考えられる第5の実装方法においては、GPU582によって実行される1つまたは複数のプログラムが、以下の動作、すなわち、
レンダリングされるべき目標のオブジェクトをレンダリングしてレンダリングされるべき目標のオブジェクトの頂点座標を取得する動作と、
頂点座標にワールド座標行列を掛け、それからレイ光源におかれたカメラの視野行列および投影行列を掛けて、レンダリングデプスパラメータを得る動作とを実行するための命令をさらに含む。
【００９５】
考えられる第1の、または第2の、または第3の、または第4の実装方法に基づいて提供される、考えられる第6の実装方法においては、GPU582によって実行される1つまたは複数のプログラムが、以下の動作、すなわち、
出力画像に対してガンマ補正を実行し、出力画像を出力する動作を実行するための命令をさらに含む。
【００９６】
この実施形態においては、GPUが、レイ光源の方向のレンダリングされるべき目標のオブジェクトのAOマップを、シーンデプスパラメータおよびレンダリングデプスパラメータに従ってのみ計算する可能性があり、単にレイ光源の方向のAOマップを被せることによって出力画像を得る可能性があり、これは、従来技術における複雑な計算プロセスを避け、これらの画像計算および処理プロセスは、GPUによって完了され、画像データを処理するためのGPUの高い能力が、利用され、これは、したがって、画像処理の時間を節約し、画像処理の効率を改善する。
【００９７】
上述の装置の実施形態は概略的であるに過ぎないことに、さらに留意されたい。別々の構成要素として説明されたユニットは、物理的に分かれている可能性があり、または物理的に分かれていない可能性があり、ユニットとして示された部分は、物理的なユニットである可能性があり、または物理的なユニットではない可能性があり、1つの位置に配置される可能性があり、または複数のネットワークユニットに分散される可能性がある。ユニットの一部またはすべては、実施形態の解決策の目的を達成するための実際の必要性に応じて選択され得る。加えて、本開示によって提供された装置の実施形態の添付の図面において、ユニット間の接続関係は、それらのユニットの間に通信接続があることを示し、特に、1つまたは複数の通信バスまたは信号線として実装される可能性がある。当業者は、創造的な努力なしに解決策を理解し、実施することができる。
【００９８】
上述の実施形態の説明によって、当業者は、本開示がソフトウェアと必要な汎用的なハードウェアとによって実装される可能性があり、確かに、特定の集積回路、特定のCPU、特定のメモリ、および特定の構成要素を含む特定のハードウェアによって実装される可能性もあることをはっきりと理解し得る。通常の場合、コンピュータプログラムによって完了されるすべての機能は、対応するハードウェアを使用することによって容易に実装される可能性があり、同じ機能を実装するための特定のハードウェア構造は、多様であり、たとえば、アナログ回路、デジタル回路、または特定の回路である可能性もある。しかし、本開示に関して、さらなる場合においては、ソフトウェアプログラムを使用することによる実装が、より良い実装方法である。そのような理解に基づいて、本開示の技術的な解決策は、基本的にソフトウェア製品の形態で実装される可能性があり、または従来技術に寄与する部分が、ソフトウェア製品の形態で実装される可能性がある。コンピュータソフトウェア製品は、コンピュータ内のフロッピーディスク、USBディスク、取り外し可能なハードディスク、読み出し専用メモリ(ROM)、RAM、磁気ディスク、光ディスクなどの読み取り可能なストレージ媒体に記憶され、本発明の実施形態において説明された方法を実行するように(パーソナルコンピュータ、サーバ、またはネットワークデバイスである可能性がある)コンピュータデバイスに命ずるためのいくつかの命令を含む。
【００９９】
本発明の実施形態によって提供される画像処理方法および装置、ならびにコンピュータデバイスが、上で詳細に説明されている。当業者のために、本発明の実施形態の考えに従って特定の実装方法および応用範囲に修正がなされ得る。したがって、本明細書の内容は、本開示に対する限定と見なされてはならない。
【符号の説明】
【０１００】
300  画像処理装置
301  受信ユニット
302  レンダリング処理ユニット
303  マップ生成ユニット
304  出力処理ユニット
400  画像処理装置
401  受信ユニット
402  レンダリング処理ユニット
403  マップ生成ユニット
4031  計算ユニット
4032  マップ生成サブユニット
404  出力処理ユニット
405  補正ユニット
500  コンピュータデバイス
510  無線周波数(RF)回路
520  メモリ
530  入力ユニット
531  タッチ感知表面
532  別の入力デバイス
540  ディスプレイユニット
541  ディスプレイパネル
550  センサ
560  オーディオ回路
561  ラウドスピーカ
562  マイクロフォン
570  ワイヤレスフィデリティ(WiFi)モジュール
580  プロセッサ
581  CPU
582  GPU
590  電源
【図１】
0006374970.tif 000002
【図２】
0006374970.tif 000003
【図３】
0006374970.tif 000004
【図４】
0006374970.tif 000005
【図５】
0006374970.tif 000006
【図６】
0006374970.tif 000007
【図７】
0006374970.tif 000008