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

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

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧

特表2024-537851画像レンダリング方法、装置、機器及び媒体
<>
  • 特表-画像レンダリング方法、装置、機器及び媒体 図1
  • 特表-画像レンダリング方法、装置、機器及び媒体 図2
  • 特表-画像レンダリング方法、装置、機器及び媒体 図3
  • 特表-画像レンダリング方法、装置、機器及び媒体 図4
  • 特表-画像レンダリング方法、装置、機器及び媒体 図5
  • 特表-画像レンダリング方法、装置、機器及び媒体 図6
  • 特表-画像レンダリング方法、装置、機器及び媒体 図7
  • 特表-画像レンダリング方法、装置、機器及び媒体 図8
  • 特表-画像レンダリング方法、装置、機器及び媒体 図9
  • 特表-画像レンダリング方法、装置、機器及び媒体 図10
  • 特表-画像レンダリング方法、装置、機器及び媒体 図11
  • 特表-画像レンダリング方法、装置、機器及び媒体 図12
  • 特表-画像レンダリング方法、装置、機器及び媒体 図13
  • 特表-画像レンダリング方法、装置、機器及び媒体 図14
  • 特表-画像レンダリング方法、装置、機器及び媒体 図15
  • 特表-画像レンダリング方法、装置、機器及び媒体 図16
  • 特表-画像レンダリング方法、装置、機器及び媒体 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】画像レンダリング方法、装置、機器及び媒体
(51)【国際特許分類】
   G06T 15/00 20110101AFI20241008BHJP
   G06T 15/04 20110101ALI20241008BHJP
   G06T 15/80 20110101ALI20241008BHJP
【FI】
G06T15/00 501
G06T15/04
G06T15/80
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520628
(86)(22)【出願日】2022-09-29
(85)【翻訳文提出日】2024-04-03
(86)【国際出願番号】 CN2022122447
(87)【国際公開番号】W WO2023061232
(87)【国際公開日】2023-04-20
(31)【優先権主張番号】202111193061.0
(32)【優先日】2021-10-13
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ウ,ジンユアン
(72)【発明者】
【氏名】ワン,ジンイエ
(72)【発明者】
【氏名】ジュゴ,ジンジン
(72)【発明者】
【氏名】リ,チー
(57)【要約】
本開示の実施例は画像レンダリング方法、装置、機器及び媒体に関し、該方法は、予め撮影された背景画像の初期レンダリングビデオストリームを確定し、ビデオストリームにおける各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、各フレームの初期レンダリング画像の初期レンダリングビデオストリーム内でのレンダリング時刻を取得し、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づいて各レンダリング画素点のレンダリング時刻でのノイズ量を確定し、ノイズ量に基づいて各レンダリング画素点のターゲットレンダリング座標を取得し、ターゲットレンダリング座標に基づいて各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングすることを含む。これにより、ノイズテクスチャ及びレンダリング画像のレンダリング時刻に基づいてノイズ量を生成し、ノイズ量に基づいてランダム変数として使用してレンダリングの座標を確定し、画像レンダリング効果のリアリティを向上させる。
【特許請求の範囲】
【請求項1】
画像レンダリング方法であって、
予め撮影された背景画像の初期レンダリングビデオストリームを確定するステップであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成されるステップと、
前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するステップと、
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するステップと、
前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするステップとを含むことを特徴とする画像レンダリング方法。
【請求項2】
全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングする前記ステップの前に、
前記各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトル及び従法線ベクトルを取得するステップと、
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップと、
前記各前記レンダリング画素点の光線の放出を模擬する第1方向ベクトル、及び前記各レンダリング画素点と背景画像を撮影するカメラとの間の第2方向ベクトルを取得するステップと、
前記第1法線ベクトル、前記第1方向ベクトル、及び前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算するステップと、
前記レンダリング色ベクトルに基づいて前記ターゲットレンダリング画像内の対応するレンダリング画素点の色をレンダリングするステップとをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記ターゲットレンダリング座標及び前記レンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得するステップと、
前記マップテクスチャの前記第1サンプリング座標及び前記第2サンプリング座標での第1マップテクスチャベクトル及び第2マップテクスチャベクトルをそれぞれ取得するステップと、
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップとを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記第1マップテクスチャベクトルと第2マップテクスチャベクトルの平均値を計算し、前記マップテクスチャの接線空間における第2法線ベクトルを取得するステップと、
前記従法線ベクトル及び前記接線ベクトルに対して予め設定された正規化計算を行い、グローバル空間における第3法線ベクトルを取得するステップと、
前記従法線ベクトル、前記接線ベクトル及び前記第3法線ベクトルに基づいてベクトル変換行列を取得するステップと、
前記ベクトル変換行列と前記第2法線ベクトルとの積を計算し、前記第1法線ベクトルを取得するステップとを含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記第1法線ベクトル、前記第1方向ベクトル、及び前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算する前記ステップは、
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定するステップと、
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定するステップと、
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定するステップと、
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項2に記載の方法。
【請求項6】
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定する前記ステップは、
前記第2方向ベクトルと前記第1方向ベクトルとのベクトル和を計算するステップと、
前記ベクトル和に対して予め設定された正規化計算を行った後、正規化計算結果の第1予め設定されたべき乗を計算して第1演算値を取得するステップと、
前記第1演算値と予め設定された第1パラメータ値との積を計算して前記第1色ベクトルを取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定する前記ステップは、
前記第1法線ベクトル及び前記第2方向ベクトルに基づいて第3方向ベクトルを確定するステップと、
前記第3方向ベクトルに基づいて第3サンプリング座標を確定し、前記反射テクスチャの前記第3サンプリング座標でのテクスチャベクトルを前記第2色ベクトルとして取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項8】
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定する前記ステップは、
前記各レンダリング画素点と前記カメラとの間の撮影距離を確認するステップと、
前記第2方向ベクトルと前記第1法線ベクトルとの積を計算して第4法線ベクトルを取得し、前記第4法線ベクトルの予め設定された平面での成分値を取得するステップと、
前記第4法線ベクトルと予め設定された第2パラメータ値とを加算して第1加算値を取得し、前記第1加算値と前記撮影距離との第1積値を計算するステップと、
予め設定された第3パラメータ値と前記第1積値との比を計算し、前記比と前記成分値との第2積値を計算するステップと、
前記第2積値と前記初期レンダリング座標とを加算して第4サンプリング座標を取得し、前記背景画像の前記第4サンプリング座標での色ベクトルを前記第3色ベクトルとして取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項9】
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得するステップと、
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項10】
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得する前記ステップは、
前記第2方向ベクトルと前記第1法線ベクトルとの第3積値を取得し、予め設定された第4パラメータ値と前記第3積値との第1差値を計算するステップと、
前記第1差値の第2予め設定されたべき乗の第2演算値を計算し、予め設定された第5パラメータ値と前記第2演算値との第4積値を取得するステップと、
前記第4積値と予め設定された第6パラメータ値とを加算して前記混合係数を取得するステップとを含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
予め設定された第7パラメータ値と前記混合係数との第2差値を計算するステップと、
前記第2差値と前記第3色ベクトルとの積を計算し、第5積値を取得するステップと、
前記第1色ベクトルと前記第2色ベクトルとを加算して第2加算値を取得し、前記第2加算値と前記混合係数との第6積値を計算するステップと、
前記第5積値と前記第6積値とを加算して前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項9に記載の方法。
【請求項12】
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づき、前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定する前記ステップは、
前記初期レンダリング座標及び前記レンダリング時刻に基づいて第5サンプリング座標を確定するステップと、
前記ノイズテクスチャにおいて前記第5サンプリング座標に対応するノイズテクスチャベクトルを前記ノイズ量として確定するステップとを含むことを特徴とする請求項1に記載の方法。
【請求項13】
予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得する前記ステップは、
前記各レンダリング画素点の予め設定された、光線の放出を模擬する第1方向ベクトル、前記各レンダリング画素点と前記背景画像を撮影するカメラとの間の第2方向ベクトル、及び前記各レンダリング画素点のグローバル空間における従法線ベクトルを取得するステップと、
前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて計算し、前記各レンダリング画素点のターゲットレンダリング座標を取得するステップとを含むことを特徴とする請求項1~12のいずれか1項に記載の方法。
【請求項14】
前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて前記各レンダリング画素点のターゲットレンダリング座標を確定する前記ステップは、
前記従法線ベクトルと前記第1方向ベクトル及び前記第2方向ベクトルとの第7積値及び第8積値をそれぞれ計算するステップと、
前記第7積値及び前記第8積値の第1モジュラス値及び第2モジュラス値をそれぞれ計算し、前記第1モジュラス値と第2モジュラス値とを加算して第3加算値を取得するステップと、
前記各フレームの初期レンダリング画像の生成関数に基づいて前記第3加算値に対応する関数値を取得するステップと、
前記関数値、前記ノイズ量と予め設定された第7パラメータ値との間の第9積値を計算し、前記第9積値と前記初期レンダリング座標とを加算して前記ターゲットレンダリング座標を取得するステップとを含むことを特徴とする請求項13に記載の方法。
【請求項15】
画像レンダリング装置であって、
予め撮影された背景画像の初期レンダリングビデオストリームを確定するための第1取得モジュールであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成される第1取得モジュールと、
前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するための第2取得モジュールと、
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定するための確定モジュールと、
予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するための第3取得モジュールと、
前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするためのレンダリングモジュールとを含むことを特徴とする画像レンダリング装置。
【請求項16】
電子機器であって、
プロセッサと、
前記プロセッサ実行可能命令を記憶するためのメモリとを含み、
前記プロセッサは、前記メモリから前記実行可能命令を読み取り、前記実行可能命令を実行して前記請求項1~14のいずれか1項に記載の画像レンダリング方法を実現することに用いられることを特徴とする電子機器。
【請求項17】
コンピュータ可読記憶媒体であって、前記記憶媒体にはコンピュータプログラムが記憶され、前記コンピュータプログラムは前記請求項1~14のいずれか1項に記載の画像レンダリング方法を実行することに用いられることを特徴とするコンピュータ可読記憶媒体。
【請求項18】
コンピュータプログラム製品であって、コンピュータプログラム/命令を含み、前記コンピュータプログラム/命令はプロセッサによって実行されるときに請求項1~14のいずれか1項に記載の方法を実現することを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2021年10月13日に提出された出願番号が202111193061.0であり、出願名称が「画像レンダリング方法、装置、機器及び媒体」である中国特許出願の優先権を主張し、その全内容は引用によって本願に組み込まれる。
【0002】
本開示は、画像処理の技術分野に関し、特に画像レンダリング方法、装置、機器及び媒体に関する。
【背景技術】
【0003】
画像処理技術の進歩に伴って、撮影された画像に特殊効果をレンダリングすることは一般的な画像処理方式になっており、例えば、撮影された地上画像に水波が流れる特殊効果をレンダリングし、地面上に水流がある効果を作り出している。
【0004】
関連技術では、地面に水流を追加するときに、海や湖などの自然水面の水面テクスチャマップを取得し、時間的に変化する三角関数に基づいて水面テクスチャ内の各画素点の時間的に変化する座標位置を計算し、座標位置に基づいて水流効果を生成する。
【0005】
しかしながら、上記水波の追加方式は三角関数に基づいて実現されるため、水波の変化規則性が強くなり、例えば、図1に示すように、水流特殊効果を追加するときに、視覚的には水流モデル内の画素点は規則的な三角関数波形で流れているが、実際の環境下での水波は規則的に変化することができないため、レンダリングのリアリティが強くなくなる。
【発明の概要】
【課題を解決するための手段】
【0006】
上記技術的課題を解決するか、又は上記技術的課題を少なくとも部分的に解決するために、本開示は画像レンダリング方法を提供し、前記方法は、予め撮影された背景画像の初期レンダリングビデオストリームを確定するステップであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成されるステップと、前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するステップと、前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するステップと、前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするステップとを含む。
【0007】
本開示の実施例は画像レンダリング装置をさらに提供し、前記装置は、予め撮影された背景画像の初期レンダリングビデオストリームを確定するための第1取得モジュールであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成される第1取得モジュールと、前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するための第2取得モジュールと、前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定するための確定モジュールと、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するための第3取得モジュールと、前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするためのレンダリングモジュールとを含む。
【0008】
本開示の実施例は電子機器をさらに提供し、前記電子機器はプロセッサと、前記プロセッサ実行可能命令を記憶するためのメモリとを含み、前記プロセッサは、前記メモリから前記実行可能命令を読み取り、前記命令を実行して本開示の実施例に係る画像レンダリング方法を実現することに用いられる。
【0009】
本開示の実施例はコンピュータ可読記憶媒体をさらに提供し、前記記憶媒体にはコンピュータプログラムが記憶され、前記コンピュータプログラムは本開示の実施例に係る画像レンダリング方法を実行することに用いられる。
【0010】
本開示の実施例に係る技術的解決手段は従来技術に比べて以下の利点を有する。
【0011】
本開示の実施例に係る画像レンダリング方法は、予め撮影された背景画像の初期レンダリングビデオストリームを確定し、初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成され、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、各フレームの初期レンダリング画像の初期レンダリングビデオストリーム内でのレンダリング時刻を取得し、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づいて各レンダリング画素点のレンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいてノイズ量を計算して各レンダリング画素点のターゲットレンダリング座標を取得し、最後に、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングする。これにより、ノイズテクスチャ及びレンダリング画像のレンダリング時刻に基づいてノイズ量を生成し、ノイズ量に基づいてランダム変数として使用してレンダリングの座標を確定し、画像レンダリング効果のリアリティを向上させる。
【0012】
本開示の各実施例の上記及び他の特徴、利点及び態様は、図面と併せて以下の具体的な実施形態を参照することで、より明らかになる。図面全体を通じて、同じ又は類似の符号は同じ又は類似の要素を表す。理解されるように、図面は模式的なものであるが、素子及び要素は必ずしも比率で描かれているものではない。
【図面の簡単な説明】
【0013】
図1図1は本開示の実施例に係る水流モデルの流れシーンを示す図である。
図2図2は本開示の実施例に係る画像レンダリング方法のフローチャートである。
図3図3は本開示の実施例に係る別の水流モデルの流れを示す図である。
図4図4は本開示の実施例に係る物体の表面法線ベクトルの模式図である。
図5図5は本開示の実施例に係る法線ベクトルと光源の関係模式図である。
図6図6は本開示の実施例に係る従法線ベクトルの模式図である。
図7図7は本開示の実施例に係るノイズテクスチャの模式図である。
図8図8は本開示の実施例に係る別の画像レンダリング方法のフローチャートである。
図9図9は本開示の実施例に係るフレネル効果の模式図である。
図10図10は本開示の実施例に係る別の画像レンダリング方法のフローチャートである。
図11図11は本開示の実施例に係るマップテクスチャの模式図である。
図12図12は本開示の実施例に係る接線ベクトル方向の模式図である。
図13図13は本開示の実施例に係る別の画像レンダリング方法のフローチャートである。
図14図14は本開示の実施例に係る別の画像レンダリング方法のフローチャートである。
図15図15は本開示の実施例に係る別の画像レンダリング方法のフローチャートである。
図16図16は本開示の実施例に係る画像レンダリング装置の構造模式図である。
図17図17は本開示の実施例に係る電子機器の構造模式図である。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら本開示の実施例についてより詳細に説明する。図面には本開示のいくつかの実施例が示されるが、本開示は、様々な形式で実現でき、本明細書に記載される実施例に限定されるものとして解釈されるべきではなく、本開示をより徹底的、かつ完全に理解するためにこれらの実施例が提供されることを理解されたい。理解されるように、本開示の図面及び実施例は例示的なものに過ぎず、本開示の保護範囲を制限するためのものではない。
【0015】
理解されるように、本開示の方法の実施形態に記載される各ステップは、異なる順序で実行されてもよく、及び/又は並行して実行されてもよい。また、方法の実施形態は、追加のステップ、及び/又は実行が省略されて図示されたステップを含んでもよい。本開示の範囲は、この点で制限されない。
【0016】
本明細書で使用される「含む」という用語及びその変形は、開放的な包含であり、すなわち「含むが、これらに限定されない」という意味である。「に基づく」という用語は「少なくとも部分的に基づく」という意味である。「1つの実施例」という用語は「少なくとも1つの実施例」を表し、「別の実施例」という用語は「少なくとも1つの別の実施例」を表し、「いくつかの実施例」という用語は「少なくともいくつかの実施例」を表す。他の用語の関連定義は、以下で説明される。
【0017】
なお、本開示で言及される「第1」、「第2」などの概念は、異なる装置、モジュール又はユニットを区分するためのものに過ぎず、これらの装置、モジュール又はユニットが実行する機能の順序又は相互依存関係を限定するためのものではない。
【0018】
なお、本開示で言及される「1つ」、「複数」という修飾は、限定的ではなく模式的なものであり、当業者であれば理解されるように、文脈で特に明記されない限り、「1つ又は複数」として理解されるべきである。
【0019】
本開示の実施形態における複数の装置間でインタラクションされるメッセージ又は情報の名称は、説明するためのものに過ぎず、これらのメッセージ又は情報の範囲を制限するためのものではない。
【0020】
上記問題を解決するために、本開示の実施例は画像レンダリング方法を提供し、該方法では、ランダム変数を組み合わせて背景画像をレンダリングし、これにより、レンダリングされた画像内のレンダリング座標が不規則的に変化することで自然環境下でのランダム条件をより模擬することができ、例えば、自然条件下での水流の波動などをより模擬することができ、水流波動の自然感がより強くなる。以下、具体的な実施例を参照しながら該方法について説明する。
【0021】
図2は本開示の実施例に係る画像レンダリング方法のフローチャートであり、該方法は画像レンダリング装置によって実行されてもよく、該装置はソフトウェア及び/又はハードウェアで実現されてもよく、一般的に電子機器に集積され得る。図2に示すように、該方法は以下のステップ201~ステップ204を含む。
【0022】
ステップ201、予め撮影された背景画像の初期レンダリングビデオストリームを確定し、初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成される。
【0023】
背景画像は任意のカメラによって撮影された、特殊効果を追加したい背景テクスチャであり、例えば、屋内の床画像であってもよく、それにより、床画像に水流などをレンダリングすることができ、さらに例えば、空画像であってもよく、それにより、空画像に雪片などをレンダリングすることができる。
【0024】
本実施例では、背景画像に初期レンダリングビデオストリームを追加し、初期レンダリングビデオストリームは追加対象の特殊効果の初期モデルに対応する複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像には初期モデル画像が含まれ、異なる初期レンダリング画像に対応する初期モデルの画像のレンダリング画素点の座標位置は異なり、それにより、複数フレームの初期レンダリング画像を連続再生することで水流などのレンダリング効果を形成し、初期レンダリングビデオストリームは生成関数に基づいて生成された、比較的規則的な座標位置変化を有する任意のビデオストリームであってもよく、例えば、三角正弦関数に基づいて生成された水流モデルであってもよく、さらに例えば、線形関数に基づいて生成された雪片モデルなどであってもよく、対応する関数のみに基づいて生成された各フレームの初期レンダリング画像は、各フレームの初期レンダリング画像に対応するレンダリング画素点の位置変化を制御することにのみ用いられ、従って、リアリティをさらに向上させるために、さらに反射テクスチャ及びマップテクスチャに基づいてレンダリング画素の色などを生成し、マップテクスチャは海水面マップなどであってもよく、反射テクスチャは予め設定されてもよく、マップテクスチャとともに海水面で反射された後の、波がきらきら輝く水面効果を模擬することに用いられる。
【0025】
当業者が背景画像に各フレームの初期レンダリング画像を追加する過程をより明確に理解するために、以下、追加された初期レンダリングビデオストリームが水流であるときに、三角関数に基づいて生成された初期モデルが水流モデルであることを例とし、各フレームの初期レンダリング画像の生成過程を例示的に説明し、以下に説明する。
【0026】
本例では、現実の波効果を模擬したい場合に、先ず水波に対応する初期モデルの頂点のy座標をオフセットする必要があり、且つy座標を時間の変化に伴って滑らかに変化させて、波の曲線を形成することが望ましいが、自然に、三角関数(sin又はcos関数)を用いて効果を実現することができるが、通常の正弦波は水面の波のうねりを完全に反映することができず、水面が波に伴って前進したり後退したりする効果を説明することができない。ここでは、水波に対応する初期モデルの頂点のx座標を変更してもよく、実現される効果は図3に示され、時間の変化に伴って波が流れる効果を直感的に見ることができ、波の流れ効果に対応する画像は上記したレンダリング画像である。
【0027】
さらに、水波が流れるときに水面上の凹凸詳細を反映するために、対応するマップテクスチャを水面に追加し、実際の追加時に、水面の表面法線の方向を法線のマップテクスチャに記録することができ、図4に示すように、1つの物体の表面法線は接線平面に垂直なベクトルであり、簡単に言えば、表面法線は1つのベクトルであり、特定の頂点であるレンダリング画素点の頂点のネットワークに垂直であり、図5を参照すると、各法線ベクトルはいずれも光源の外側を指向し、物体表面の格子の完全に湾曲した形状に従い、マップテクスチャに基づいて法線マッピングを行い、このような光照射を模擬することができる。
【0028】
シェーディング時にこれらの法線ベクトルを使用して各レンダリング画素点上の光照射を計算することにより、初期モデルの頂点の数を増やすことなく、水面の表面の凹凸詳細を増加させることができ、さらに、フラグメントシェーダーではTBN行列などを使用して各レンダリング画素点上の法線ベクトルを世界座標系に変換し、次にシェーディング計算を行うことにより、水面の凹凸の詳細の表現を実現する。本実施例では、実際の水面が流れるときの拡散反射の効果を模擬するために、反射テクスチャのマッピングによって水面の反射及び表面色も表現され、反射テクスチャによって水面が光源に照射されて表示される色及び強度を表現することも理解でき、本実施例では、色及び明るさの変化によって反射テクスチャを予めレンダリングし、反射テクスチャの追加に基づいて水面の色及び明るさの変化を模擬することができる。
【0029】
ステップ202、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、各フレームの初期レンダリング画像の初期レンダリングビデオストリーム内でのレンダリング時刻を取得する。
【0030】
本実施例では、レンダリングされた初期モデルの初期座標点は各レンダリング画素点の初期レンダリング座標であり、本実施例では、初期モデルの生成関数などに基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得する。
【0031】
本実施例におけるレンダリング時刻は、初期レンダリングビデオストリームが時間パラメータに伴って座標変化を行ったときの、各フレームの初期レンダリング画像に対応する変化時間として理解できる。
【0032】
ステップ203、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づいて各レンダリング画素点のレンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいてノイズ量を計算して各レンダリング画素点のターゲットレンダリング座標を取得する。
【0033】
本実施例では、予め設定されたノイズテクスチャを取得し、該ノイズテクスチャはランダム変数によって生成され、例えば、ノイズテクスチャは256個のランダムな方向単位ベクトルで構成され、1つの可能な実現形態とし、該ノイズテクスチャは図7に示され、ノイズテクスチャはランダム変数を提供し、各フレームの初期レンダリング画像に対してランダムな外乱効果を追加することに用いられる。
【0034】
上述したように、レンダリング時刻は、初期レンダリングビデオストリームが時間パラメータに伴って座標変化を行ったときの、各フレームの初期レンダリング画像に対応する変化時間として理解でき、本実施例では、各フレームの初期レンダリング画像のリアリティをさらに向上させるために、レンダリング時刻に基づいて別のランダム変数として使用する。
【0035】
本実施例では、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づき、各レンダリング画素点のレンダリング時刻でのノイズ量を確定することで、該ノイズ量に基づいて各レンダリング画素点の座標をさらに更新する。
【0036】
説明する必要があるように、異なる応用シーンでは、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づき、各レンダリング画素点のレンダリング時刻でのノイズ量を確定する方式は異なり、以下のように例示される。
【0037】
例1
【0038】
本例では、ランダムアルゴリズムに基づいてノイズテクスチャのうちの1つの点をランダムにサンプリングしてランダムノイズ量を得て、レンダリング時刻及び初期レンダリング座標に基づいて加算計算を行った後、加算結果と該ランダムノイズ量との積値をノイズ量として使用する。
【0039】
例2
【0040】
本例では、初期レンダリング座標及びレンダリング時刻に基づいて第5サンプリング座標を確定し、ノイズテクスチャにおいて第5サンプリング座標に対応するノイズテクスチャベクトルをノイズ量として確定する。
【0041】
例えば、初期レンダリング座標及びレンダリング時刻に基づいて加算し、加算結果を正規化処理して第5サンプリング座標を得る。
【0042】
さらに例えば、以下の式(1)に従って第5サンプリング座標を得る。U1は第5サンプリング座標であり、U0は初期レンダリング座標であり、U0は画像座標u及びvの2つの要素を含むベクトルであり、tはレンダリング時刻であり、式(1)は以下のとおりである。
【数1】
【0043】
さらに、予め設定されたアルゴリズムに基づいてノイズ量を計算して各レンダリング画素点のターゲットレンダリング座標を取得し、ターゲットレンダリング座標は、レンダリング時刻及びノイズテクスチャの2つのランダムな外乱因子を考慮することで、ターゲットレンダリング座標によって表現されるモデルの変化をより自然にする。
【0044】
説明する必要があるように、異なる応用シーンでは、予め設定されたアルゴリズムに基づいてノイズ量を計算して各レンダリング画素点のターゲットレンダリング座標を取得する方式は異なり、以下のように例示される。
【0045】
本開示の1つの実施例では、予め設定されたノイズ係数を取得し、ノイズ係数とノイズ量との積値を計算し、該積値と対応するレンダリング画素点との和を計算し、各レンダリング画素点のターゲットレンダリング座標を取得する。
【0046】
本開示の別の実施例では、初期レンダリング座標、第1方向ベクトル、第2方向ベクトル、従法線ベクトル及びノイズ量に基づいて各レンダリング画素点のターゲットレンダリング座標を確定する。
【0047】
本実施例では、各レンダリング画素点の予め設定された、光線の放出を模擬する第1方向ベクトル、各レンダリング画素点と背景画像を撮影するカメラとの間の第2方向ベクトル、及び各レンダリング画素点のグローバル空間における従法線ベクトルを取得する。
【0048】
法線マッピングを行うときに光源の照射を模擬するため、本実施例では、初期レンダリングビデオストリームに対応する初期レンダリング画像を生成するときに、リアリティを向上させるために、さらに光線放出方向を模擬して光源の追加を行い、従って、本実施例では、各レンダリング画素点で光線の放出を模擬する第1方向ベクトルをさらに取得し、該第1方向ベクトルは光線放出の方向ベクトルとして理解でき、異なるレンダリング画素点の光源に対応する第1方向ベクトルは同じであってもよく、異なってもよく、いくつかの可能な実施例では、各フレームの初期レンダリング画像を生成するときに、フラグメントレンダリングシェーダーなどによって完了することができ、従って、フラグメントレンダリングシェーダーに第1方向ベクトルを読み取ることができる。
【0049】
また、反射テクスチャのマッピングを行うときに、色及び明るさの変化を模擬するために、初期レンダリングビデオストリームに対応する初期モデルに対する人間の目の見る方向を模擬する必要があり、これは、人間の目が見る方向が異なるため、見た初期モデル内の対応するレンダリング画素点の明るさ及び色が異なることであり、本実施例では、背景画像が撮影されたカメラと、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標との間の第2方向ベクトルに基づき、ユーザが見る視線方向を模擬する。
【0050】
マップテクスチャの追加を行うときに、図6に示すように、初期モデルの接面に基づいて確定された法線ベクトルであり、該接面に基づいて法線ベクトルを確定するときに、該接面に基づいて従法線ベクトルを確定し、該従法線ベクトルは初期モデルの密接面に垂直な直線である。本実施例では、各レンダリング画素点のグローバル空間における従法線ベクトルをさらに取得し、該従法線ベクトルは予め設定されてもよく、対応するフラグメントシェーダーから読み取られてもよい。
【0051】
本実施例では、2つのランダム変数に基づいて生成されたノイズ量を取得した後、さらに初期レンダリング座標、第1方向ベクトル、第2方向ベクトル、従法線ベクトル及びノイズ量に基づいて各レンダリング画素点のターゲットレンダリング座標を確定し、第1方向ベクトル、第2方向ベクトル及び従法線ベクトルはターゲットレンダリング座標が光線の作用を考慮する効果を確保することに用いられる。
【0052】
説明する必要があるように、異なる応用シーンでは、初期レンダリング座標、第1方向ベクトル、第2方向ベクトル、従法線ベクトル及びノイズ量に基づいて各レンダリング画素点のターゲットレンダリング座標を確定する方式は異なり、以下のように例示される。
【0053】
例1
【0054】
本例では、従法線ベクトルと第1方向ベクトルとの積、及び第2方向ベクトル及び第1方向ベクトルとの積をそれぞれ計算し、この2つの積値のモジュラスを加算した後、各フレームの初期レンダリング画像の生成関数の入力パラメータとして使用し、対応する関数値を取得し、さらに、関数値とノイズ量との積値を計算し、該積値と初期レンダリング座標との加算結果をターゲットレンダリング座標として使用する。
【0055】
例2
【0056】
本例では、図8に示すように、初期レンダリング座標、第1方向ベクトル、第2方向ベクトル、従法線ベクトル及びノイズ量に基づいて各レンダリング画素点のターゲットレンダリング座標を確定するステップは、以下のステップ801~ステップ804を含む。
【0057】
ステップ801、従法線ベクトルと第1方向ベクトル及び第2方向ベクトルとの第7積値及び第8積値をそれぞれ計算する。
【0058】
本実施例では、従法線ベクトルと第1方向ベクトルとの第7積値、及び従法線ベクトルと第2方向ベクトルとの第8積値を計算する。
【0059】
ステップ802、第7積値及び第8積値の第1モジュラス値及び第2モジュラス値をそれぞれ計算し、第1モジュラス値と第2モジュラス値とを加算して第3加算値を取得する。
【0060】
本実施例では、第7積値及び第8積値の第1モジュラス値及び第2モジュラス値を計算し、第1モジュラス値と第2モジュラス値とを加算して第3加算値を取得する。
【0061】
ステップ803、各フレームの初期レンダリング画像の生成関数に基づいて第3加算値に対応する関数値を取得する。
【0062】
本実施例では、各フレームの初期レンダリング画像の生成関数は任意の関数であってもよく、例えば、各フレームの初期レンダリング画像が水流のビデオストリームに対応する場合に、生成関数はsin三角関数であってもよく、又はcos三角関数などであってもよい。
【0063】
本実施例では、第3加算値を生成関数の入力パラメータとして使用し、対応する関数値を取得し、これにより、各フレームの初期レンダリング画像の座標が変化する生成関数に基づき、後続のターゲットレンダリング座標の計算を行い、ターゲットレンダリング座標の変化がランダムになりすぎてレンダリング効果がリアリティに欠けるように見えることはない。
【0064】
ステップ804、三角関数値、ノイズ量と予め設定された第7パラメータ値との第9積値を計算し、第9積値と初期レンダリング座標とを加算してターゲットレンダリング座標を取得する。
【0065】
本実施例では、三角関数値、ノイズ量と予め設定された第7パラメータ値との第9積値を計算し、第9積値と初期レンダリング座標とを加算してターゲットレンダリング座標を取得する。
【0066】
例えば、上記各フレームの初期レンダリング画像の生成関数がsin三角関数であるときに、本実施例におけるターゲットレンダリング座標の計算式は以下の式(2)に示され、式(2)では、Uはターゲットレンダリング座標であり、S1は実験データに基づいて予め校正された第7パラメータ値であり、N1はノイズ量であり、U0は初期レンダリング座標である。Bは従法線ベクトルであり、Lは第1方向ベクトルであり、Vは第2方向ベクトルである。
【数2】
【0067】
ステップ204、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングする。
【0068】
本実施例では、ターゲットレンダリング座標を取得した後、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、それにより、各レンダリング画素点のu、v座標に対する更新を実現し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングし、多次元のランダムな外乱因子が追加され、レンダリングされた関連モデルが水流モデルであるときに、ノイズ量というランダムな外乱因子を追加して自然なさざ波立つ効果を形成し、リアリティが強くなる。
【0069】
以上より、本開示の実施例の画像レンダリング方法は、予め撮影された背景画像の初期レンダリングビデオストリームを確定し、初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成され、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標、予め設定されたノイズテクスチャ及び各フレームの初期レンダリング画像の初期レンダリングビデオストリーム内でのレンダリング時刻を取得し、さらに、各レンダリング画素点のレンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいてノイズ量を計算して以各レンダリング画素点のターゲットレンダリング座標を確定し、最後に、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングする。これにより、ノイズテクスチャ及びレンダリング画像のレンダリング時刻に基づいてノイズ量を生成し、ノイズ量に基づいてランダム変数として使用してレンダリングの座標を確定し、画像レンダリング効果のリアリティを向上させる。
【0070】
実際の実行過程では、背景画像にレンダリング効果を追加するときに、追加された効果をよりリアルにするために、フレネル効果も考慮すべきであり、フレネルとは、特定のマテリアルが異なる距離で異なる反射効果を示すことを指し、図9に示すように、追加されたレンダリングされた初期モデルが水流であることを例とし、フレネル効果とは、観察者の目(カメラであってもよく)から光を放出し、特定の物体に射出することを指し、この光と水平面との交点での接線で形成された鋭角は入射角であり、入射角は以下の2つの重要な特性を有し、第1には、観察距離の変化に伴って変化し、距離が近いほど、入射角が大きくなり、距離が遠いほど、入射角が小さくなり、第2には、入射角の大きさは反射効果に影響を与えており、入射角が大きいほど、反射効果が弱くなり、入射角が小さいほど、反射効果が強くなる。
【0071】
現実の水流に反映するときに、カメラに近い位置のレンダリング画素点については、入射角がより大きいほど、反射効果がより弱くなり、カメラから遠い位置のレンダリング画素点については、入射角がより小さいほど、反射効果がより強くなり、反射効果が弱いほど、水は空気のように透明に見え、反射効果がより強いほど、水は鏡のように滑らかに見え、この距離変化に応じた反射効果/解像度の変化は、フレネル効果である。
【0072】
もちろん、実際の環境では、人間の目に入る光は放出光だけでなく、屈折光の影響を受けており、反射光には拡散反射及びハイライト反射が含まれ、拡散反射とは、レンダリングされた初期モデルの表面が粗いときに、初期モデルの表面を無数の異なる方向の微小な鏡面としてみなすと、これらの鏡面で反射された光の方向がいずれも異なることを指し、これは拡散反射であり、ハイライト反射は、レンダリングされた初期モデルの表面が滑らかで、鏡面が1つしかないと仮定すると、全ての光が同一の方向に反射されることであり(実際には時間が最も短い光の位相のみが類似する)、これはハイライト反射である。従って、本実施例では、実際のフレネル効果を展示するために、屈折光、反射光及びハイライトを組み合わせてフレネル融合を行って各レンダリング画素点の色を確定し、それにより、色をレンダリングした初期モデルがよりリアルになり、レンダリング効果が近くでは鮮明で、遠くではぼやけるなどを示し、レンダリングされるのが水波であるときに、水面の波動のリアリティをさらに向上させることができる。
【0073】
図10は本開示の1つの実施例に係る画像レンダリング方法のフローチャートであり、図10に示すように、該方法はステップ1001~ステップ1004を含む。
【0074】
ステップ1001、各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトルを取得する。
【0075】
ステップ1002、マップテクスチャ、ターゲットレンダリング座標、レンダリング時刻、従法線ベクトル及び接線ベクトルを計算し、各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する。
【0076】
本実施例では、上述したように、マップテクスチャは法線ベクトルに基づいて物体表面の凹凸感を模擬することで、初期モデルに照射される光源の反射などを模擬するものであり、図11に示すように、ターゲットレンダリングビデオストリームの初期モデルが水流である場合、対応するマップテクスチャは光が水面に照射される凹凸感を反映することができ、マップテクスチャにおいて法線方向を表すベクトルが位置する座標系は、X軸方向(1,0,0)、Y軸方向(0,1,0)、Z軸方向(0,0,1)であり、これは、テクスチャの接線座標系としても理解できる。
【0077】
つまり、法線のテクスチャマップ内の法線ベクトルは接線座標系にある。この利点は、テクスチャが初期モデルに貼り合わせられてレンダリングされる場合、特殊効果に対応する初期モデルがどのように回転変換されても、法線のテクスチャマップがテクスチャの接線座標系で表されるため、法線ベクトルが変換されないことである。そうでない場合は、法線ベクトルが世界座標系で表されると、法線方向の情報は初期モデルの方向の異なりによって変化し、1枚の法線のテクスチャマップだけで全ての初期モデル方向に対応する法線ベクトルを表すことができない。
【0078】
法線ベクトルは接線座標系で表され、シェーディング時に法線を接線座標系から世界座標に変換する必要がある。しかしながら、レンダリング時に接線座標系のx軸、y軸、z軸の方向は、(1,0,0)、(0,1,0)及び(0,0,1)ではなくなる可能性があり、初期モデル自体が1つの平面であり、且つ初期モデルの法線方向がz軸の正方向であり、初期モデルの2つの辺の方向もx軸、y軸と重なることを除く。つまり、マップテクスチャ上の画素の法線ベクトルが位置する接線座標系は、マップが初期モデルに貼り合わせられた後に変化する。従って、画素が現在位置する接線座標系を求める必要がある。
【0079】
従って、本実施例では、各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトルを取得する必要があり、初期モデル内の各レンダリング画素点の接線ベクトルは各フレームの初期レンダリング画像内の各レンダリング画素点の接線ベクトルよりも小さく変化するため、本実施例では、各フレームの初期レンダリング画像内の各レンダリング画素点の接線ベクトルをターゲットレンダリング画像内の各レンダリング画素点の接線ベクトルとして使用する。
【0080】
マップテクスチャの法線ベクトルが位置する座標空間は座標系とみなすことができ、基軸として3つの直交座標軸xyzが存在する限り、座標空間の任意の点を定義することができる。接線空間は、初期モデルの表面の上に位置する空間であり、接線空間内のxyz軸はそれぞれT軸(接線方向)、B軸(従接線方向)及びN軸である。N軸は該点の法線ベクトル方向を表すため、接線空間のz軸の正方向が法線nと同じ方向であることが確定される。1つの曲線上のある点の接線は1つしかなく、1つの曲面上のある点に接平面があるため、該平面上の該点を通過する任意の線はいずれも該点の接線であり、従って接線は無数に存在する。複数種の異なるx及びy軸の組み合わせが存在し、各組み合わせによって生成される点法線ベクトルは一致せず、本実施例では、接線方向の接線ベクトルTを計算するときにuv展開方向と同じ方向を接線方向として選択し、図12に示すように、ターゲットレンダリングビデオストリームに対応する初期モデルが球であるときに、接線ベクトルTは図に示される。
【0081】
本実施例では、各レンダリング画素点の接線方向における接線ベクトルはフラグメントシェーダーなどによって読み取られてもよく、予め初期モデルの生成ツールに基づいて予め校正されてもよい。
【0082】
さらに、上述したように、法線ベクトルは接線座標系で表され、シェーディング時に法線を接線座標系から世界座標に変換する必要があり、従って、各レンダリング画素点のグローバル空間における第1法線ベクトルをさらに取得し、該第1法線ベクトルはグローバル空間におけるマップテクスチャのシェーディング法線ベクトルとして理解できる。
【0083】
説明する必要があるように、異なる応用シーンでは、マップテクスチャ、ターゲットレンダリング座標、レンダリング時刻及びグローバル空間における従法線ベクトル及び接線ベクトルを計算し、各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する方式は異なり、以下のように例示される。
【0084】
例1
【0085】
本例では、ターゲットレンダリング座標及びレンダリング時刻に基づいてサンプリング座標を取得し、該サンプリング座標に基づいてマップテクスチャ内のランダムテクスチャベクトルを収集し、ランダムテクスチャベクトル及び接線ベクトルに基づいて世界座標変換を行って対応する第1法線ベクトルを取得する。
【0086】
本例では、世界座標変換モデルを予め構築し、変換モデルの変換に基づいてランダムテクスチャベクトル及び接線ベクトルに対応する第1法線ベクトルを得ることができる。
【0087】
例2
【0088】
本例では、図13に示すように、第1法線ベクトルを得る方法は以下のとおりである。
【0089】
ステップ1301、ターゲットレンダリング座標及びレンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得する。
【0090】
本実施例では、ターゲットレンダリング座標及びレンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得することで、サンプリング座標に基づいてマップテクスチャにおいてサンプリングする。
【0091】
いくつかの可能な実現形態では、以下の式(3)及び式(4)を使用して第1サンプリング座標及び第2サンプリング座標を計算することができ、式(3)及び式(4)における0.46/1.0などのパラメータ値は実験データに基づいて得られた、効果に優れたパラメータ値であり、他のパラメータ値は本開示の効果を実現することもでき、ここでは一々例示はしない。式(3)及び式(4)では、U2は第1サンプリング座標であり、U3は第2サンプリング座標であり、Uはターゲットレンダリング座標であり、tはレンダリング時刻である。
【数3】
【数4】
【0092】
別のいくつかの実現形態では、ターゲットレンダリング座標とレンダリング時刻との積値を計算し、積値と予め設定された2つの異なるパラメータ値との和を計算し、得られた2つの加算値を正規化処理した後、対応する第1サンプリング座標及び第2サンプリング座標を得る。
【0093】
ステップ1302、マップテクスチャの第1サンプリング座標及び第2サンプリング座標のそれぞれでの第1マップテクスチャベクトル及び第2マップテクスチャベクトルを取得する。
【0094】
本実施例では、マップテクスチャ内の第1サンプリング座標に対応する第1マップテクスチャベクトルを取得し、マップテクスチャ内の第2サンプリング座標に対応する第2マップテクスチャベクトルを取得する。
【0095】
ステップ1303、従法線ベクトル、接線ベクトル、第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する。
【0096】
いくつかの可能な実施例では、第1マップテクスチャベクトルと第2マップテクスチャベクトルの平均値を計算し、接線空間における第2法線ベクトルを取得し、例えば、第1マップテクスチャベクトルがN1であり、第2マップテクスチャベクトルがN2であるときに、(N1+N2)*0.5を第2法線ベクトルとして使用する。
【0097】
さらに、従法線ベクトル及び接線ベクトルに基づいて正規化計算を行い、グローバル空間における第3法線ベクトルを取得し、例えば、従法線ベクトルがBであり、接線ベクトルがTであり、G()が予め設定された正規化計算アルゴリズムであるときに、G(B*T)の値を第3法線ベクトルとして使用することができる。
【0098】
本実施例では、従法線ベクトル、接線ベクトル及び第3法線ベクトルに基づいてベクトル変換行列M=(T,B, )を取得する。さらに、ベクトル変換行列を取得した後、ベクトル変換行列と第2法線ベクトルとの積を計算し、第1法線ベクトルを取得し、すなわち、以下の式(5)を使用して第1法線ベクトルを計算し、第1法線ベクトルはグローバル空間における法線ベクトルであり、Nは第1法線ベクトルであり、Mはベクトル変換行列であり、Nは第2法線ベクトルである。
【数5】
【0099】
ステップ1003、第1法線ベクトル、第1方向ベクトル、及び第2方向ベクトルに基づいて各レンダリング画素点のレンダリング色ベクトルを計算する。
【0100】
ステップ1004、レンダリング色ベクトルに基づいてターゲットレンダリング画像内の対応するレンダリング画素点の色をレンダリングする。
【0101】
本実施例では、第1法線ベクトル、第1方向ベクトル、及び第2方向ベクトルに基づいて各レンダリング画素点のレンダリング色ベクトルを計算し、第1法線ベクトルはマップテクスチャ内の光照射の凹凸感を反映し、第1方向ベクトル及び第2方向ベクトルは視線方向及び光線方向を反映するため、レンダリング色ベクトルは光源が反射され、屈折され及びハイライト放出された後の対応するレンダリング画素点の呈示色を反映する。
【0102】
いくつかの可能な実現形態では、深層学習技術に基づいて深層学習モデルを予め訓練し、第1法線ベクトル、第1方向ベクトル、第2方向ベクトルを該深層学習モデルに入力し、各レンダリング画素点のレンダリング色ベクトルを取得する。
【0103】
いくつかの可能な実施例では、図14に示すように、第1法線ベクトル、第1方向ベクトル、及び第2方向ベクトルに基づいて各レンダリング画素点のレンダリング色ベクトルを計算することは、以下のステップ1401~ステップ1404を含む。
【0104】
ステップ1401、第2方向ベクトル及び第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定する。
【0105】
例えば、第1方向ベクトルと第1方向ベクトルとを加算した後、加算された正規化値に基づいた結果を第1色ベクトルとして使用する。
【0106】
さらに例えば、前記第2方向ベクトルと第1方向ベクトルとのベクトル和を計算し、ベクトル和を正規化した後、正規化結果の第1予め設定されたべき乗の第1演算値を計算し、第1演算値と予め設定された第1パラメータ値との積を計算して第1色ベクトルを取得し、予め設定された第1パラメータ値及び第1予め設定されたべき乗はいずれも実験データに基づいて校正されてもよい。
【0107】
例えば、第1パラメータ値が800であり、予め設定されたべき乗が600であるときに、第1色ベクトルは以下の式(6)を使用して計算することができ、C2は第1色成分であり、Lは第1方向ベクトルであり、Vは第2方向ベクトルであり、G()は予め設定されたベクトルの正規化処理関数である。
【数6】
【0108】
ステップ1402、第2方向ベクトル、第1法線ベクトル及び反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定する。
【0109】
反射テクスチャは予め設定された、背景画像とマッチングする任意のテクスチャ画像である。例えば、背景画像が白色の地面である場合、予め設定された反射テクスチャは白色光が反射された予め設定されたテクスチャ画像であってもよい。すなわち、背景画像の色に基づいてデータベースにマッチングして対応する反射テクスチャなどを取得する。
【0110】
いくつかの可能な実現形態では、フレネル変換定理に従って、第1法線ベクトル及び第2方向ベクトルに基づいてグローバル空間における屈折光方向ベクトルを計算した後、屈折光方向ベクトルに基づいて座標値の正規化処理を行い、正規化処理された値をサンプリング座標値として使用して反射テクスチャ内でサンプリングして反射テクスチャ内のテクスチャベクトルを取得する。さらに、反射テクスチャ内のテクスチャベクトルを第2色ベクトルとして使用する。
【0111】
別のいくつかの可能な実現形態では、第1法線ベクトル及び第2方向ベクトルに基づいて第3方向ベクトルを確定し、フレネル変換定理に従って、該第3方向ベクトルはグローバル空間における屈折光方向として理解でき、反射光の色は屈折光の影響を受けるため、本実施例では、第3方向ベクトルに基づいて第3サンプリング座標を確定し、反射テクスチャの第3サンプリング座標でのテクスチャベクトルを第2色ベクトルとして取得する。
【0112】
本実現形態では、第3方向ベクトルを直接使用して座標正規化関数に基づいて対応する第3サンプリング座標を生成することができ、各フレームの初期レンダリング画像の生成関数がsin三角関数であるときに、以下の式(7)で対応する第2色成分を取得することもでき、U4は第3サンプリング座標であり、D1は第3方向ベクトルであり、D1.xはD1からx成分を取ることであり、D1.zはD1からz成分を取ることである。また、0.32及び0.16は実験データに基づいて校正された効果に優れるパラメータ値であり、実際の応用では、具体的なシーンに基づいて他のパラメータ値に置き換えることができる。
【数7】
【0113】
ステップ1403、初期レンダリング座標、第2方向ベクトル、第1法線ベクトル及び背景画像に基づき、屈折光を模擬する第3色ベクトルを確定する。
【0114】
本実施例では、背景画像は屈折光にも関連するため、背景画像を背景テクスチャとして使用して対応する第3色成分を生成する。
【0115】
いくつかの可能な実施例では、各レンダリング画素点とカメラとの間の撮影距離を確定することができ、撮影距離は、カメラの内部パラメータ、外部パラメータ及び各レンダリング画素点の背景画像での画像座標に基づいて画像座標と世界座標との間の変換を行った後に得られた対応する深度値であり、深度値を対応する撮影距離として使用し、画像座標と世界座標との間の変換は従来技術であり、ここでは詳細な説明を省略する。
【0116】
さらに、第2方向ベクトルと第1法線ベクトルとの積を計算して第4法線ベクトルを取得し、これにより、第4法線ベクトルは視線方向及び光線方向を組み合わせて共に確定され、第4法線ベクトルに基づいて後に確定される屈折光の色のリアリティが確保される。さらに、ハイライトは初期モデルがレンダリング座標を更新した後のターゲットモデルの接平面で反射されるため、第4法線ベクトルの予め設定された平面での成分値を取得し、例えば、xy平面での成分値を取得する。
【0117】
さらに、第4法線ベクトルと予め設定された第2パラメータ値とを加算して第1加算値を取得し、第1加算値と撮影距離との第1積値を計算し、第2パラメータ値は実験効果に基づいてマークされてもよく、ここでは制限されず、本実施例では、第1積値には撮影距離すなわち視線とレンダリング画素点との距離をさらに導入し、さらに第3色成分のリアリティを確保する。
【0118】
第1積値を取得した後、予め設定された第3パラメータ値と第1積値との比を計算し、該第3パラメータ値は実験効果に基づいてマークされてもよく、ここでは制限されず、さらに、比と成分値との第2積値を計算し、さらに座標空間に基づいて関連ベクトルの変換を行い、第2積値を得た後、第2積値と初期レンダリング座標とを加算して第4サンプリング座標を取得し、背景画像の第4サンプリング座標での色ベクトルを第3色ベクトルとして取得し、これにより、背景画像、視線方向、実現距離及び光線方向を組み合わせて屈折光を模擬する第3色ベクトルを共に確定する。
【0119】
本実施例のいくつかの可能な実現形態では、以下の式(8)を使用して対応する第3色ベクトルを計算して取得することができ、U5は第3色ベクトルであり、dは撮影距離であり、Nは第1法線ベクトルであり、Vは第2方向ベクトルであり、U0は初期レンダリング座標であり、第3パラメータ値は0.55であり、第2パラメータ値は0.3である。
【数8】
【0120】
ステップ1404、第1色ベクトル、第2色ベクトル及び第3色ベクトルに対して混合計算を行い、各レンダリング画素点のレンダリング色ベクトルを取得する。
【0121】
第1色ベクトルはハイライト反射光を模擬し、第2色ベクトルは反射光を模擬し、第3色ベクトルは屈折光を模擬するため、第1色ベクトル、第2色ベクトル及び第3色ベクトルに対して混合計算を行い、各レンダリング画素点のレンダリング色ベクトルを取得し、フレネル効果による色のレンダリングを実現し、レンダリング後のリアリティをさらに向上させる。
【0122】
いくつかの可能な実現形態では、図15に示すように、第1色ベクトル、第2色ベクトル及び第3色ベクトルに対して混合計算を行い、各レンダリング画素点のレンダリング色ベクトルを取得することは、以下のステップ1501~ステップ1504を含む。
【0123】
ステップ1501、第2方向ベクトル及び第1法線ベクトルに基づいて混合係数を取得する。
【0124】
第2方向ベクトル及び第1法線ベクトルに基づいて混合係数を取得し、該混合係数はフレネル混合係数として理解できる。
【0125】
いくつかの可能な実現形態では、第2方向ベクトルと第1法線ベクトルとの積値を計算し、該積値のべき乗を混合係数として取得し、すなわち視線方向及び光線方向を混合して対応する混合係数を生成し、フレネル効果における視線及び光線量の大きな影響要因に基づいてフレネル混合係数を共に確定する。べき乗は実験効果に基づいて校正されてもよく、任意の数であってもよい。
【0126】
いくつかの可能な実現形態では、第2方向ベクトルと第1法線ベクトルとの第3積値を計算し、予め設定された第4パラメータ値と第3積値との第1差値を計算し、第4パラメータ値は実験効果に基づいてマークされてもよく、ここでは制限されず、さらに、第1差値と第2予め設定されたべき乗との第2演算値を計算し、予め設定された第5パラメータ値と第2予め設定された演算値との第4積値を取得し、第2予め設定されたべき乗及び第5パラメータ値はいずれも実験効果に基づいてマークされてもよく、ここでは制限されず、第4積値と予め設定された第6パラメータ値とを加算して混合係数を取得する。第6パラメータ値はいずれも実験効果に基づいてマークされてもよく、ここでは制限されない。
【0127】
本実現形態のいくつかの可能な実施例では、該混合係数の計算方式は以下の式(9)を参照すればよく、1は第4パラメータ値であり、0.91は第5パラメータ値であり、第2予め設定されたべき乗は5であり、第6パラメータ値は0.09であり、Fは混合係数であり、Vは第2方向ベクトルであり、Nは第1法線ベクトルである。
【数9】
【0128】
ステップ1502、混合係数に基づいて第1色ベクトル、第2色ベクトル及び第3色ベクトルに対して混合計算を行い、各レンダリング画素点のレンダリング色ベクトルを取得する。
【0129】
本実施例では、混合係数に基づいて第1色ベクトル、第2色ベクトル及び第3色ベクトルに対して混合計算を行い、各レンダリング画素点のレンダリング色ベクトルを取得し、該レンダリング色ベクトルはハイライト反射、屈折光反射及び反射光などの外乱因子の影響を総合し、レンダリング色のリアリティを向上させる。
【0130】
いくつかの可能な実現形態では、第1色ベクトル、第2色ベクトル及び第3色ベクトルを加算し、加算された加算値と混合係数との積値を対応するレンダリング色ベクトルとして使用する。
【0131】
別のいくつかの可能な実現形態では、予め設定された第7パラメータ値と混合係数との第2差値を計算し、第2差値と第3色ベクトルとの積を計算し、第5積値を取得し、第1色ベクトルと第2色ベクトルとを加算し、第2加算値を取得し、第2加算値と混合係数との第6積値を計算し、第5積値と第6積値とを加算して各レンダリング画素点のレンダリング色ベクトルを取得し、本実施例における第7パラメータ値は実験効果に基づいてマークされてもよく、ここでは制限されない。これにより、本実施例では、異なる色ベクトルの混合重みを総合的に考慮してレンダリング色ベクトルの計算を行う。
【0132】
本実現形態のいくつかの可能な実現形態では、以下の式(10)に基づいてレンダリング色ベクトルを計算することができ、Fは混合係数であり、C3は第3色ベクトルであり、C1は第2色ベクトルであり、C2は第1色ベクトルであり、第7パラメータ値は1であり、Cは混合色ベクトルである。
【数10】
【0133】
これにより、上記実施例に基づき、本実施例では、混合係数に基づいて屈折光、反射光及びハイライトに対するフレネル混合を実現し、レンダリング効果が近くでは鮮明で、遠くではぼやけるなどを示すことを実現し、レンダリングされるのが水波であるときに、水波の近くに反射が明らかではなく、視覚的に鮮明であり、遠くに反射が明らかであり、視覚的にぼやけ、それにより、水面の波動のリアリティをさらに向上させることができる。
【0134】
以上より、本開示の実施例の画像レンダリング方法は、フレネル効果を組み合わせて各レンダリング画素点のレンダリング色を確定し、屈折光、反射光及びハイライトの作用下でレンダリング画素点の色を模擬し、レンダリングのリアリティをさらに向上させる。
【0135】
図16は本開示の実施例に係る画像レンダリング装置の構造模式図であり、該装置はソフトウェア及び/又はハードウェアによって実現されてもよく、一般的に電子機器に集積され得る。図16に示すように、該装置は第1取得モジュール1610と、第2取得モジュール1620と、確定モジュール1630と、第3取得モジュール1640と、レンダリングモジュール1650とを含む。
【0136】
第1取得モジュール1610は、予め撮影された背景画像の初期レンダリングビデオストリームを確定することに用いられ、初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成される。
【0137】
第2取得モジュール1620は、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得することに用いられる。
【0138】
確定モジュール1630は、前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定することに用いられる。
【0139】
第3取得モジュール1640は、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得することに用いられる。
【0140】
レンダリングモジュール1650は、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングすることに用いられる。
【0141】
本開示の実施例に係る画像レンダリング装置は、本開示の任意の実施例に係る画像レンダリング方法を実行することができ、方法を実行する対応する機能モジュール及び有益な効果を有する。
【0142】
上記実施例を実現するために、本開示はコンピュータプログラム製品をさらに提供し、コンピュータプログラム/命令を含み、該コンピュータプログラム/命令はプロセッサによって実行されるときに上記実施例の画像レンダリング方法を実現する。
【0143】
図17は本開示の実施例に係る電子機器の構造模式図である。
【0144】
以下、図17を具体的に参照すると、本開示の実施例を実現するために構成される電子機器1700の構造模式図が示される。本開示の実施例における電子機器1700は、携帯電話、ノートパソコン、デジタル放送受信機、PDA(パーソナルデジタルアシスタント)、PAD(タブレットコンピュータ)、PMP(ポータブルマルチメディアプレーヤー)、車載端末(例えば車載ナビゲーション端末)などのモバイル端末、及びデジタルTV、デスクトップコンピュータなどの固定端末を含んでもよいが、これらに限定されない。図17に示される電子機器は一例に過ぎず、本開示の実施例の機能及び使用範囲を何ら制限するものではない。
【0145】
図17に示すように、電子機器1700は処理装置(例えば中央プロセッサ、グラフィックプロセッサなど)1701を含んでもよく、読み取り専用メモリ(ROM)1702に記憶されたプログラム又は記憶装置1708からランダムアクセスメモリ(RAM)1703にアップロードされたプログラムに基づいて様々な適切な動作及び処理を実行することができる。RAM1703には、電子機器1700の操作に必要な様々なプログラム及びデータがさらに記憶される。処理装置1701、ROM1702及びRAM1703はバス1704を介して互いに接続される。入力/出力(I/O)インタフェース1705もバス1704に接続される。
【0146】
通常、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロホン、加速度計、ジャイロスコープなどを含む入力装置1706、液晶ディスプレイ(LCD)、スピーカ、振動器などを含む出力装置1707、磁気テープ、ハードディスクなどを含む記憶装置1708、及び通信装置1709などの装置は、I/Oインタフェース1705に接続され得る。通信装置1709は、電子機器1700が他の機器と無線又は有線通信してデータを交換することを可能にすることができる。図17には様々な装置を有する電子機器1700が示されるが、理解されるように、示される全ての装置を実施するか又は備えることが要求されない。より多く又はより少ない装置を代替的に実施するか又は備えることができる。
【0147】
特に、本開示の実施例によれば、フローチャートを参照して説明される上記過程はコンピュータソフトウェアプログラムとして実現され得る。例えば、本開示の実施例は、非一時的コンピュータ可読媒体上に保持されるコンピュータプログラムを含むコンピュータプログラム製品を含み、該コンピュータプログラムはフローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例では、該コンピュータプログラムは通信装置1709によってネットワークからダウンロード及びインストールされてもよく、又は記憶装置1708からインストールされてもよく、又はROM1702からインストールされてもよい。該コンピュータプログラムは処理装置1701によって実行されるときに、本開示の実施例の画像レンダリング方法で限定される上記機能を実行する。
【0148】
説明する必要があるように、本開示の上記コンピュータ可読媒体は、コンピュータ可読信号媒体、又はコンピュータ可読記憶媒体、又は上記両方の任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光学、電磁、赤外線、又は半導体のシステム、装置又はデバイス、又は以上の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1つ又は複数の導線を有する電気的接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクト磁気ディスク読み取り専用メモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、又は上記任意の適切な組み合わせを含んでもよいが、これらに限定されない。本開示では、コンピュータ可読記憶媒体は、プログラムを含むか又は記憶する任意の有形媒体であってもよく、該プログラムは命令実行システム、装置又はデバイスによって使用されてもよく、又はそれらと組み合わせて使用されてもよい。本開示では、コンピュータ可読信号媒体は、基底帯域内に又は搬送波の一部として伝播されるデータ信号を含んでもよく、コンピュータ読み取り可能なプログラムコードが保持される。このように伝播されるデータ信号は、電磁信号、光信号又は上記任意の適切な組み合わせを含むが、これらに限定されない複数種の形式を用いてもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、該コンピュータ可読信号媒体可以放出、伝播又は伝送ことに用いられる由指令実行システム、装置又はデバイス使用又は与其結合使用的プログラム。コンピュータ可読媒体に含まれるプログラムコードは任意の適切な媒体で伝送されてもよく、電線、ケーブル、RF(無線周波数)など、又は上記任意の適切な組み合わせを含むが、これらに限定されない。
【0149】
いくつかの実施形態では、クライアント、サーバは、HTTP(HyperText Transfer Protocol、ハイパーテキストトランスファープロトコル)などの現在知られている又は将来開発される任意のネットワークプロトコルを利用して通信することができ、且つ任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)と相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、ワールドワイドウェブ(例えば、インターネット)及びエンドツーエンドネットワーク(例えば、ad hocエンドツーエンドネットワーク)、及び現在知られている又は将来開発される任意のネットワークを含む。
【0150】
上記コンピュータ可読媒体は上記電子機器に含まれるものであってもよく、該電子機器に組み込まれずに別個に存在してもよい。
【0151】
上記コンピュータ可読媒体には1つ又は複数のプログラムが保持され、上記1つ又は複数のプログラムが該電子機器によって実行されるときに、該電子機器に、予め撮影された背景画像の初期レンダリングビデオストリームを確定し、初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成され、各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、各フレームの初期レンダリング画像の初期レンダリングビデオストリーム内でのレンダリング時刻を取得し、初期レンダリング座標、予め設定されたノイズテクスチャ及びレンダリング時刻に基づいて各レンダリング画素点のレンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいてノイズ量を計算して各レンダリング画素点のターゲットレンダリング座標を取得し、最後に、ターゲットレンダリング座標に基づいて各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全てのターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて背景画像をレンダリングすることを実行させる。これにより、ノイズテクスチャ及びレンダリング画像のレンダリング時刻に基づいてノイズ量を生成し、ノイズ量に基づいてランダム変数として使用してレンダリングの座標を確定し、画像レンダリング効果のリアリティを向上させる。
【0152】
本開示の操作を実行するためのコンピュータプログラムコードは、1種又は複数種のプログラミング言語又はそれらの組み合わせで作成されてもよく、上記プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語、さらに「C」言語又は同様のプログラミング言語などの通常の手続き型プログラミング言語を含むが、これらに限定されない。プログラムコードはユーザコンピュータ上で完全に実行されてもよく、ユーザコンピュータ上で部分的に実行されてもよく、1つの独立したソフトウェアパッケージとして実行されてもよく、一部がユーザコンピュータ上で実行され、一部がリモートコンピュータ上で実行されてもよく、又はリモートコンピュータ又はサーバ上で完全に実行されてもよい。リモートコンピュータに関連する場合に、遠隔コンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続されてもよく、又は、外部コンピュータに接続されてもよい(例えばインターネットサービスプロバイダを利用してインターネットを介して接続される)。
【0153】
図面におけるフローチャート及びブロック図には、本開示の様々な実施例に係るシステム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び操作が図示される。この点では、フローチャート又はブロック図における各ブロックは1つのモジュール、プログラムセクション、又はコードの一部を代表することができ、該モジュール、プログラムセクション、又はコードの一部は所定のロジック機能を実現するための1つ又は複数の実行可能命令を含む。なお、いくつかの代替の実現では、ブロック内にマークされる機能は図面にマークされる順序とは異なる順序で発生してもよい。例えば、連続的に示される2つのブロックは実際にはほぼ並行して実行されてもよく、場合によっては反対の順序で実行されてもよく、これは関連する機能に応じて決められる。また、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作を実行するハードウェアに基づく専用のシステムを用いて実現されてもよく、又は専用ハードウェアとコンピュータ命令との組み合わせを用いて実現されてもよい。
【0154】
本開示の実施例に説明される係るユニットはソフトウェアの形態で実現されてもよく、ハードウェアの形態で実現されてもよい。場合によっては、ユニットの名称は該ユニット自体を限定するものではない。
【0155】
本明細書では、以上説明された機能は少なくとも部分的に1つ又は複数のハードウェアロジック部材によって実行されてもよい。例えば、限定的でなく使用可能な例示的なハードウェアロジック部材は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、オンチップシステム(SOC)、及びコンプレックスプログラマブルロジック機器(CPLD)などを含む。
【0156】
本開示の文脈では、機械可読媒体は有形の媒体であってもよく、命令実行システム、装置又は機器に使用されるか又は命令実行システム、装置又は機器と組み合わせて使用されるプログラムを含み又は記憶することができる。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってもよい。機械可読媒は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置又は機器、又は上記内容の任意の適切な組み合わせを含んでもよいが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ又は複数のワイヤーに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶機器、磁気記憶機器、又は上記内容の任意の適切な組み合わせを含む。
【0157】
本開示の1つ又は複数の実施例によれば、本開示は画像レンダリング方法を提供し、
予め撮影された背景画像の初期レンダリングビデオストリームを確定するステップであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成されるステップと、
前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するステップと、
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するステップと、
前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするステップとを含む。
【0158】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングする前記ステップの前に、
前記各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトルを取得するステップと、
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップと、
前記第1法線ベクトル、前記第1方向ベクトル、前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算するステップと、
前記レンダリング色ベクトルに基づいて前記ターゲットレンダリング画像内の対応するレンダリング画素点の色をレンダリングするステップとをさらに含む。
【0159】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記ターゲットレンダリング座標及び前記レンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得するステップと、
前記マップテクスチャの前記第1サンプリング座標及び前記第2サンプリング座標のそれぞれでの第1マップテクスチャベクトル及び第2マップテクスチャベクトルを取得するステップと、
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップとを含む。
【0160】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記第1マップテクスチャベクトルと第2マップテクスチャベクトルの平均値を計算し、前記マップテクスチャの接線空間における第2法線ベクトルを取得するステップと、
前記従法線ベクトル及び前記接線ベクトルに対して予め設定された正規化計算を行い、グローバル空間における第3法線ベクトルを取得するステップと、
前記従法線ベクトル、前記接線ベクトル及び前記第3法線ベクトルに基づいてベクトル変換行列を取得するステップと、
前記ベクトル変換行列と前記第2法線ベクトルとの積を計算し、前記第1法線ベクトルを取得するステップとを含む。
【0161】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記第1法線ベクトル、前記第1方向ベクトル、前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算する前記ステップは、
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定するステップと、
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定するステップと、
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定するステップと、
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含む。
【0162】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定する前記ステップは、
前記第2方向ベクトルと前記第1方向ベクトルとのベクトル和を計算するステップと、
前記ベクトル和に対して予め設定された正規化計算を行った後に、正規化計算結果の第1予め設定されたべき乗を計算して第1演算値を取得するステップと、
前記第1演算値と予め設定された第1パラメータ値との積を計算して前記第1色ベクトルを取得するステップとを含む。
【0163】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定する前記ステップは、
前記第1法線ベクトル及び前記第2方向ベクトルに基づいて第3方向ベクトルを確定するステップと、
前記第3方向ベクトルに基づいて第3サンプリング座標を確定し、前記反射テクスチャの前記第3サンプリング座標でのテクスチャベクトルを前記第2色ベクトルとして取得するステップとを含む。
【0164】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定する前記ステップは、
前記各レンダリング画素点と前記カメラとの間の撮影距離を確定するステップと、
前記第2方向ベクトルと前記第1法線ベクトルとの積を計算して第4法線ベクトルを取得し、前記第4法線ベクトルの予め設定された平面での成分値を取得するステップと、
前記第4法線ベクトルと予め設定された第2パラメータ値とを加算して第1加算値を取得し、前記第1加算値と前記撮影距離との第1積値を計算するステップと、
予め設定された第3パラメータ値と前記第1積値との比を計算し、前記比と前記成分値との第2積値を計算するステップと、
前記第2積値と前記初期レンダリング座標とを加算して第4サンプリング座標を取得し、前記背景画像の前記第4サンプリング座標における色ベクトルを前記第3色ベクトルとして取得するステップとを含む。
【0165】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得するステップと、
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含む。
【0166】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得する前記ステップは、
前記第2方向ベクトルと前記第1法線ベクトルとの第3積値を取得し、予め設定された第4パラメータ値と前記第3積値との第1差値を計算するステップと、
前記第1差値の第2予め設定されたべき乗の第2演算値を計算し、予め設定された第5パラメータ値と前記第2演算値との第4積値を取得するステップと、
前記第4積値と予め設定された第6パラメータ値とを加算して前記混合係数を取得するステップとを含む。
【0167】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
予め設定された第7パラメータ値と前記混合係数との第2差値を計算するステップと、
前記第2差値と前記第3色ベクトルとの積を計算し、第5積値を取得するステップと、
前記第1色ベクトルと前記第2色ベクトルとを加算して第2加算値を取得し、前記第2加算値と前記混合係数との第6積値を計算するステップと、
前記第5積値と前記第6積値とを加算して前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含む。
【0168】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づき、前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定する前記ステップは、
前記初期レンダリング座標及び前記レンダリング時刻に基づいて第5サンプリング座標を確定するステップと、
前記ノイズテクスチャにおいて前記第5サンプリング座標に対応するノイズテクスチャベクトルを前記ノイズ量として確定するステップとを含む。
【0169】
本開示の1つ又は複数の実施例によれば、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得する前記ステップは、
前記各レンダリング画素点の予め設定された、光線の放出を模擬する第1方向ベクトル、前記各レンダリング画素点と前記背景画像を撮影するカメラとの間の第2方向ベクトル、及び前記各レンダリング画素点のグローバル空間における従法線ベクトルを取得するステップと、
前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて計算し、前記各レンダリング画素点のターゲットレンダリング座標を取得するステップとを含む。
【0170】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング方法では、前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて前記各レンダリング画素点のターゲットレンダリング座標を確定する前記ステップは、
前記従法線ベクトルと前記第1方向ベクトル及び前記第2方向ベクトルとの第7積値及び第8積値をそれぞれ計算するステップと、
前記第7積値及び前記第8積値の第1モジュラス値及び第2モジュラス値をそれぞれ計算し、前記第1モジュラス値と第2モジュラス値とを加算して第3加算値を取得するステップと、
前記各フレームの初期レンダリング画像の生成関数に基づいて前記第3加算値に対応する関数値を取得するステップと、
前記関数値、前記ノイズ量と予め設定された第7パラメータ値との間の第9積値を計算し、前記第9積値と前記初期レンダリング座標とを加算して前記ターゲットレンダリング座標を取得するステップとを含む。
【0171】
本開示の1つ又は複数の実施例によれば、本開示は画像レンダリング装置を提供し、
予め撮影された背景画像の初期レンダリングビデオストリームを確定するための第1取得モジュールであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成される第1取得モジュールと、
前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するための第2取得モジュールと、
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定するための確定モジュールと、
予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するための第3取得モジュールと、
前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするためのレンダリングモジュールとを含む。
【0172】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、
前記各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトルを取得するための第4取得モジュールと、
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するための第5取得モジュールと、
前記第1法線ベクトル、前記第1方向ベクトル、前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算するための計算モジュールとをさらに含み、
前記レンダリングモジュールはさらに、前記レンダリング色ベクトルに基づいて前記ターゲットレンダリング画像内の対応するレンダリング画素点の色をレンダリングすることに用いられる。
【0173】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記第5取得モジュールは具体的に、
前記ターゲットレンダリング座標及び前記レンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得し、
前記マップテクスチャのそれぞれの前記第1サンプリング座標及び前記第2サンプリング座標での第1マップテクスチャベクトル及び第2マップテクスチャベクトルを取得し、
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得することに用いられる。
【0174】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記第5取得モジュールは具体的に、
前記従法線ベクトル及び前記接線ベクトルに対して予め設定された正規化計算を行い、グローバル空間における第3法線ベクトルを取得し、
前記従法線ベクトル、前記接線ベクトル及び前記第3法線ベクトルに基づいてベクトル変換行列を取得し、
前記ベクトル変換行列と前記第2法線ベクトルとの積を計算し、前記第1法線ベクトルを取得することに用いられる。
【0175】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定し、
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定し、
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定し、
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得することに用いられる。
【0176】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
前記第2方向ベクトルと前記第1方向ベクトルとのベクトル和を計算し、
前記ベクトル和に対して予め設定された正規化計算を行った後に、正規化計算結果の第1予め設定されたべき乗を計算して第1演算値を取得し、
前記第1演算値と予め設定された第1パラメータ値との積を計算して前記第1色ベクトルを取得することに用いられる。
【0177】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
前記第1法線ベクトル及び前記第2方向ベクトルに基づいて第3方向ベクトルを確定し、
前記第3方向ベクトルに基づいて第3サンプリング座標を確定し、前記反射テクスチャの前記第3サンプリング座標でのテクスチャベクトルを前記第2色ベクトルとして取得し。
【0178】
前記各レンダリング画素点と前記カメラとの間の撮影距離を確定し、
前記第2方向ベクトルと前記第1法線ベクトルとの積を計算して第4法線ベクトルを取得し、前記第4法線ベクトルの予め設定された平面での成分値を取得し、
前記第4法線ベクトルと予め設定された第2パラメータ値とを加算して第1加算値を取得し、前記第1加算値と前記撮影距離との第1積値を計算し、
予め設定された第3パラメータ値と前記第1積値との比を計算し、前記比と前記成分値との第2積値を計算し、
前記第2積値と前記初期レンダリング座標とを加算して第4サンプリング座標を取得し、前記背景画像の前記第4サンプリング座標における色ベクトルを前記第3色ベクトルとして取得することに用いられる。
【0179】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得し、
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得することに用いられる。
【0180】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
前記第2方向ベクトルと前記第1法線ベクトルとの第3積値を取得し、予め設定された第4パラメータ値と前記第3積値との第1差値を計算し、
前記第1差値の第2予め設定されたべき乗の第2演算値を計算し、予め設定された第5パラメータ値と前記第2演算値との第4積値を取得し、
前記第4積値と予め設定された第6パラメータ値とを加算して前記混合係数を取得することに用いられる。
【0181】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記計算モジュールは具体的に、
予め設定された第7パラメータ値と前記混合係数との第2差値を計算し、
前記第2差値と前記第3色ベクトルとの積を計算し、第5積値を取得し、
前記第1色ベクトルと前記第2色ベクトルとを加算して第2加算値を取得し、前記第2加算値と前記混合係数との第6積値を計算し、
前記第5積値と前記第6積値とを加算して前記各レンダリング画素点のレンダリング色ベクトルを取得することに用いられる。
【0182】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記確定モジュールは具体的に、
前記初期レンダリング座標及び前記レンダリング時刻に基づいて第5サンプリング座標を確定し、
前記ノイズテクスチャにおいて前記第5サンプリング座標に対応するノイズテクスチャベクトルを前記ノイズ量として確定することに用いられる。
【0183】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記確定モジュールは具体的に、
前記各レンダリング画素点の予め設定された、光線の放出を模擬する第1方向ベクトル、前記各レンダリング画素点と前記背景画像を撮影するカメラとの間の第2方向ベクトル、及び前記各レンダリング画素点のグローバル空間における従法線ベクトルを取得し、
前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて計算し、前記各レンダリング画素点のターゲットレンダリング座標を取得することに用いられる。
【0184】
本開示の1つ又は複数の実施例によれば、本開示に係る画像レンダリング装置では、前記確定モジュールは具体的に、
前記従法線ベクトルと前記第1方向ベクトル及び前記第2方向ベクトルとの第7積値及び第8積値をそれぞれ計算し、
前記第7積値及び前記第8積値の第1モジュラス値及び第2モジュラス値をそれぞれ計算し、前記第1モジュラス値と第2モジュラス値とを加算して第3加算値を取得し、
前記各フレームの初期レンダリング画像の生成関数に基づいて前記第3加算値に対応する関数値を取得し、
前記関数値、前記ノイズ量と予め設定された第7パラメータ値との間の第9積値を計算し、前記第9積値と前記初期レンダリング座標とを加算して前記ターゲットレンダリング座標を取得することに用いられる。
【0185】
本開示の1つ又は複数の実施例によれば、本開示は電子機器を提供し、
プロセッサと、
前記プロセッサ実行可能命令を記憶するためのメモリとを含み、
前記プロセッサは、前記メモリから前記実行可能命令を読み取り、前記命令を実行して本開示に係る任意の前記画像レンダリング方法を実現することに用いられる。
【0186】
本開示の1つ又は複数の実施例によれば、本開示はコンピュータ可読記憶媒体を提供し、前記記憶媒体にはコンピュータプログラムが記憶され、前記コンピュータプログラムは本開示に係る任意の前記画像レンダリング方法を実行することに用いられる。
【0187】
以上の説明は、本開示の好ましい実施例及び適用される技術原理についての説明に過ぎない。当業者であれば理解されるように、本開示に係る開示範囲は、上記技術的特徴の特定の組み合わせからなる技術的解決手段に限定されず、上記開示の構想から逸脱することなく、上記技術的特徴又はその同等の特徴を任意に組み合わせて形成される他の技術的解決手段も同時に含むべきである。例えば、上記特徴と、本開示に開示されている(但し、これらに限定されない)同様の機能を有する技術的特徴とを互いに置き換えることによって形成される技術的解決手段が挙げられる。
【0188】
また、各操作は特定の順序で説明されるが、これは、これらの操作が図示された特定の順序又は順番で実行されることを要求するものとして理解されるべきではない。特定の状況下では、マルチタスク及び並行処理が有利な場合がある。同様に、上記説明には複数の具体的な実現の詳細が含まれるが、これらは本開示の範囲を制限するものとして解釈されるべきではない。別個の実施例の文脈に記載されるいくつかの特徴は、単一の実施例において組み合わせて実現されてもよい。逆に、単一の実施例の文脈に記載される様々な特徴は、複数の実施例において、個別に、又は任意の適切なサブ組み合わせの方式で実現されてもよい。
【0189】
本主題は、構造的特徴及び/又は方法の論理的動作に固有の言語で説明されるが、添付の特許請求の範囲で限定される主題は、必ずしも上記説明される特定の特徴又は動作に限定されないことを理解されたい。逆に、上記説明される特定の特徴及び動作は特許請求の範囲を実現するための例示的な形態に過ぎない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
【手続補正書】
【提出日】2024-04-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像レンダリング方法であって、
予め撮影された背景画像の初期レンダリングビデオストリームを確定するステップであって、前記初期レンダリングビデオストリームは複数フレームの初期レンダリング画像を含み、各フレームの初期レンダリング画像は反射テクスチャ及びマップテクスチャに基づいて生成されるステップと、
前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を取得し、前記各フレームの初期レンダリング画像の前記初期レンダリングビデオストリーム内でのレンダリング時刻を取得するステップと、
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づいて前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定し、予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得するステップと、
前記ターゲットレンダリング座標に基づいて前記各フレームの初期レンダリング画像内の各レンダリング画素点の初期レンダリング座標を更新してターゲットレンダリング画像を取得し、全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングするステップとを含むことを特徴とする画像レンダリング方法。
【請求項2】
全ての前記ターゲットレンダリング画像で構成されるターゲットレンダリングビデオストリームに基づいて前記背景画像をレンダリングする前記ステップの前に、
前記各フレームの初期レンダリング画像内の各レンダリング画素点のグローバル空間における接線ベクトル及び従法線ベクトルを取得するステップと、
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップと、
前記各レンダリング画素点の光線の放出を模擬する第1方向ベクトル、及び前記各レンダリング画素点と背景画像を撮影するカメラとの間の第2方向ベクトルを取得するステップと、
前記第1法線ベクトル、前記第1方向ベクトル、及び前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算するステップと、
前記レンダリング色ベクトルに基づいて前記ターゲットレンダリング画像内の対応するレンダリング画素点の色をレンダリングするステップとをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記マップテクスチャ、前記ターゲットレンダリング座標、前記レンダリング時刻、前記従法線ベクトル及び前記接線ベクトルを計算し、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記ターゲットレンダリング座標及び前記レンダリング時刻に基づいて第1サンプリング座標及び第2サンプリング座標を取得するステップと、
前記マップテクスチャの前記第1サンプリング座標及び前記第2サンプリング座標での第1マップテクスチャベクトル及び第2マップテクスチャベクトルをそれぞれ取得するステップと、
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得するステップとを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記従法線ベクトル、前記接線ベクトル、前記第1マップテクスチャベクトル及び第2マップテクスチャベクトルに基づき、前記各レンダリング画素点のグローバル空間における第1法線ベクトルを取得する前記ステップは、
前記第1マップテクスチャベクトルと第2マップテクスチャベクトルの平均値を計算し、前記マップテクスチャの接線空間における第2法線ベクトルを取得するステップと、
前記従法線ベクトル及び前記接線ベクトルに対して予め設定された正規化計算を行い、グローバル空間における第3法線ベクトルを取得するステップと、
前記従法線ベクトル、前記接線ベクトル及び前記第3法線ベクトルに基づいてベクトル変換行列を取得するステップと、
前記ベクトル変換行列と前記第2法線ベクトルとの積を計算し、前記第1法線ベクトルを取得するステップとを含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記第1法線ベクトル、前記第1方向ベクトル、及び前記第2方向ベクトルに基づいて前記各レンダリング画素点のレンダリング色ベクトルを計算する前記ステップは、
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定するステップと、
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定するステップと、
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定するステップと、
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項2に記載の方法。
【請求項6】
前記第2方向ベクトル及び前記第1方向ベクトルに基づき、ハイライトを模擬する第1色ベクトルを確定する前記ステップは、
前記第2方向ベクトルと前記第1方向ベクトルとのベクトル和を計算するステップと、
前記ベクトル和に対して予め設定された正規化計算を行った後、正規化計算結果の第1予め設定されたべき乗を計算して第1演算値を取得するステップと、
前記第1演算値と予め設定された第1パラメータ値との積を計算して前記第1色ベクトルを取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記第2方向ベクトル、前記第1法線ベクトル及び前記反射テクスチャに基づき、反射光を模擬する第2色ベクトルを確定する前記ステップは、
前記第1法線ベクトル及び前記第2方向ベクトルに基づいて第3方向ベクトルを確定するステップと、
前記第3方向ベクトルに基づいて第3サンプリング座標を確定し、前記反射テクスチャの前記第3サンプリング座標でのテクスチャベクトルを前記第2色ベクトルとして取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項8】
前記初期レンダリング座標、前記第2方向ベクトル、前記第1法線ベクトル及び前記背景画像に基づき、屈折光を模擬する第3色ベクトルを確定する前記ステップは、
前記各レンダリング画素点と前記カメラとの間の撮影距離を確認するステップと、
前記第2方向ベクトルと前記第1法線ベクトルとの積を計算して第4法線ベクトルを取得し、前記第4法線ベクトルの予め設定された平面での成分値を取得するステップと、
前記第4法線ベクトルと予め設定された第2パラメータ値とを加算して第1加算値を取得し、前記第1加算値と前記撮影距離との第1積値を計算するステップと、
予め設定された第3パラメータ値と前記第1積値との比を計算し、前記比と前記成分値との第2積値を計算するステップと、
前記第2積値と前記初期レンダリング座標とを加算して第4サンプリング座標を取得し、前記背景画像の前記第4サンプリング座標での色ベクトルを前記第3色ベクトルとして取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項9】
前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得するステップと、
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項5に記載の方法。
【請求項10】
前記第2方向ベクトル及び前記第1法線ベクトルに基づいて混合係数を取得する前記ステップは、
前記第2方向ベクトルと前記第1法線ベクトルとの第3積値を取得し、予め設定された第4パラメータ値と前記第3積値との第1差値を計算するステップと、
前記第1差値の第2予め設定されたべき乗の第2演算値を計算し、予め設定された第5パラメータ値と前記第2演算値との第4積値を取得するステップと、
前記第4積値と予め設定された第6パラメータ値とを加算して前記混合係数を取得するステップとを含むことを特徴とする請求項9に記載の方法。
【請求項11】
前記混合係数に基づいて前記第1色ベクトル、前記第2色ベクトル及び前記第3色ベクトルに対して混合計算を行い、前記各レンダリング画素点のレンダリング色ベクトルを取得する前記ステップは、
予め設定された第7パラメータ値と前記混合係数との第2差値を計算するステップと、
前記第2差値と前記第3色ベクトルとの積を計算し、第5積値を取得するステップと、
前記第1色ベクトルと前記第2色ベクトルとを加算して第2加算値を取得し、前記第2加算値と前記混合係数との第6積値を計算するステップと、
前記第5積値と前記第6積値とを加算して前記各レンダリング画素点のレンダリング色ベクトルを取得するステップとを含むことを特徴とする請求項9に記載の方法。
【請求項12】
前記初期レンダリング座標、予め設定されたノイズテクスチャ及び前記レンダリング時刻に基づき、前記各レンダリング画素点の前記レンダリング時刻でのノイズ量を確定する前記ステップは、
前記初期レンダリング座標及び前記レンダリング時刻に基づいて第5サンプリング座標を確定するステップと、
前記ノイズテクスチャにおいて前記第5サンプリング座標に対応するノイズテクスチャベクトルを前記ノイズ量として確定するステップとを含むことを特徴とする請求項1に記載の方法。
【請求項13】
予め設定されたアルゴリズムに基づいて前記ノイズ量を計算して前記各レンダリング画素点のターゲットレンダリング座標を取得する前記ステップは、
前記各レンダリング画素点の予め設定された、光線の放出を模擬する第1方向ベクトル、前記各レンダリング画素点と前記背景画像を撮影するカメラとの間の第2方向ベクトル、及び前記各レンダリング画素点のグローバル空間における従法線ベクトルを取得するステップと、
前記初期レンダリング座標、前記第1方向ベクトル、前記第2方向ベクトル、前記従法線ベクトル及び前記ノイズ量に基づいて計算し、前記各レンダリング画素点のターゲットレンダリング座標を取得するステップとを含むことを特徴とする請求項1に記載の方法。
【請求項14】
電子機器であって、
プロセッサと、
ロセッサ実行可能命令を記憶するためのメモリとを含み、
前記プロセッサは、前記メモリから前記実行可能命令を読み取り、前記実行可能命令を実行して前記請求項1~13のいずれか1項に記載の画像レンダリング方法を実現することに用いられることを特徴とする電子機器。
【請求項15】
コンピュータ可読記憶媒体であって、前記記憶媒体にはコンピュータプログラムが記憶され、前記コンピュータプログラムは前記請求項1~13のいずれか1項に記載の画像レンダリング方法を実行することに用いられることを特徴とするコンピュータ可読記憶媒体。
【国際調査報告】