(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】動画レンダリング方法、装置、電子機器及び記憶媒体
(51)【国際特許分類】
G06T 13/20 20110101AFI20240517BHJP
G06T 15/04 20110101ALI20240517BHJP
【FI】
G06T13/20
G06T15/04
(21)【出願番号】P 2022157691
(22)【出願日】2022-09-30
【審査請求日】2022-09-30
(31)【優先権主張番号】202210342235.3
(32)【優先日】2022-03-31
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】518385017
【氏名又は名称】ベイジン エレックス テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】100131451
【氏名又は名称】津田 理
(74)【代理人】
【識別番号】100174137
【氏名又は名称】酒谷 誠一
(72)【発明者】
【氏名】トン ペン
(72)【発明者】
【氏名】ミナン チェン
【審査官】橘 高志
(56)【参考文献】
【文献】特開2020-022673(JP,A)
【文献】特開2011-227908(JP,A)
【文献】米国特許出願公開第2021/0019929(US,A1)
【文献】今給黎 隆 Takashi IMAGIRE,代理ジオメトリ宝石レンダリング Proxy Geometry Gem Rendering,デジタルゲーム学研究 第10巻 第1号 Journal of Digital Games Research,日本,日本デジタルゲーム学会(DiGRA JAPAN) Digital Games Research Association JAPAN,2017年12月30日,第10巻
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/20
G06T 15/04
(57)【特許請求の範囲】
【請求項1】
動画レンダリング方法であって、
頂点動画モードにおいて、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得し、前記頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、前記法線情報は、前記Rチャネルの他の一部の位置、前記Gチャネルの他の一部の位置、前記Bチャネルの他の一部の位置及びAチャネルの位置を占めることと、
前記頂点位置情報及び前記法線情報に基づき、動画レンダリングを行うことと、を含む、ことを特徴とする動画レンダリング方法。
【請求項2】
前記第1テクスチャファイルのフォーマットは、RGBAHalfであり、
前記頂点位置情報は、前記Rチャネル、前記Gチャネル及び前記Bチャネルのうちの各チャネルの仮数部の8ビットを占め、
前記法線情報は、前記Rチャネル、前記Gチャネル及び前記Bチャネルのうちの各チャネルの仮数部の2ビット及び前記Aチャネルの16ビットを占める、ことを特徴とする請求項1に記載の
動画レンダリング方法。
【請求項3】
前記同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得する過程は、
シェーダにおいて前記第1テクスチャファイルをサンプリングして、第1元データを取得することと、
前記第1元データをデコードして、前記頂点位置情報及び前記法線情報を取得することと、を含む、ことを特徴とする請求項2に記載の
動画レンダリング方法。
【請求項4】
骨格動画モードにおいて、第2テクスチャファイルから動作データを取得し、前記動作データは、平行移動データ及び四元数の回転データを含むことと、
前記動作データに基づき、動画レンダリングを行うことと、
さらにを含む、ことを特徴とする請求項1に記載の
動画レンダリング方法。
【請求項5】
前記動作データは、スケーリングデータをさらに含むことを特徴とする請求項4に記載の
動画レンダリング方法。
【請求項6】
前記第2テクスチャファイルから動作データを取得することは、
シェーダにおいて、前記第2テクスチャファイルをサンプリングして、第2元データを取得することと、
前記第2元データをデコードして、前記平行移動データ、前記回転データ及び前記スケーリングデータを取得することと、を含む、ことを特徴とする請求項5に記載の
動画レンダリング方法。
【請求項7】
動画レンダリング装置であって、
取得モジュールと、レンダリングモジュールとを含み、
前記取得モジュールは、頂点動画モードにおいて、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得するために用いられ、前記頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、前記法線情報は、前記Rチャネルの他の一部の位置、前記Gチャネルの他の一部の位置、前記Bチャネルの他の一部の位置及びAチャネルの位置を占め、
前記レンダリングモジュールは、前記頂点位置情報及び前記法線情報に基づき、動画レンダリングを行うために用いられることを特徴とする動画レンダリング装置。
【請求項8】
電子機器であって、
コンピュータプログラム命令を記憶するためのメモリと、コンピュータプログラム命令を実行するためのプロセッサとを含み、当該コンピュータプログラム命令が前記プロセッサによって実行されると、前記電子機器が請求項1~6のいずれか1項に記載の
動画レンダリング方法を実行するようにトリガーする、ことを特徴とする電子機器。
【請求項9】
コンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ読み取り可能な記憶媒体は、記憶されたプログラムを含み、前記プログラムの実行時に、前記コンピュータ読み取り可能な記憶媒体の所在する装置が請求項1~6のいずれか1項に記載の
動画レンダリング方法を実行するように制御することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項10】
コンピュータプログラ
ムであって、
前記コンピュータプログラム製品は、実行可能な命令を含み、前記実行可能な命令がコンピュータで実行されると、コンピュータに請求項1~6のいずれか1項に記載の
動画レンダリング方法を実行させる、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画技術分野に関し、特に動画レンダリング方法、装置、電子機器及び記憶媒体に関する。
【背景技術】
【0002】
ゲームの発展に伴い、ゲーム内のオブジェクトのレンダリング数が多いほど、ゲームの効果が良くなる。例えば、シミュレーションゲーム(Simulation Game、SLG)において、大規模の兵士のの行軍、戦闘は、ゲームに不可欠な一部であり、現在、ゲームは、一般にグラフィックスプロセッサ(Graphics Processing Unit、GPU)スキンインスタンス(Skin Instance)手法を用いて大量の兵士をレンダリングし、描画呼び出しDrawcallを減少させてゲーム効率を向上させる。GPU Skin Instanceは、GPUインスタンス化レンダリングの能力により、1回で複数のスキンメッシュskin meshをDrawcallレンダリングする方法である。Instanceレンダリングは、全てのskin meshが使用するリソースが同じであり、材料materialパラメータ及び骨格動画データを含むことを前提とする。従来の動画データは、オブジェクトごとに設定され、各skin meshをレンダリングする前、骨格動画を更新し、定数バッファconst bufferに伝送し、GPU skinが使用するために用いられる。したがって、skin meshのSkin Instanceを実現しようとすると、動画データを1つのリソースにパッキングしなければならず、比較的適切な方法は、テクスチャも記憶することである。動画レンダリングを行う場合、テクスチャのサンプリングにより動画データを取得し、レンダリングを行うが、現在では、テクスチャにより動画データを記憶する効率が低い。
【発明の概要】
【課題を解決するための手段】
【0003】
動画レンダリング方法、装置、電子機器及び記憶媒体であって、テクスチャにより動画データを記憶する効率を向上させることができる。
【0004】
第1態様として、動画レンダリング方法を提供し、当該動画レンダリング方法は、
頂点動画モードにおいて、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得し、頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、法線情報は、Rチャネルの他の一部の位置、Gチャネルの他の一部の位置、Bチャネルの他の一部の位置及びAチャネルの位置を占めることと、
頂点位置情報及び法線情報に基づき、動画レンダリングを行うことと、を含む。
【0005】
一つの可能な実施形態では、第1テクスチャファイルのフォーマットは、RGBAHalfであり、
頂点位置情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の8ビットを占め、
法線情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の2ビット及びAチャネルの16ビットを占める。
【0006】
一つの可能な実施形態では、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得する過程は、
シェーダにおいて第1テクスチャファイルをサンプリングして、第1元データを取得することと、
第1元データをデコードして、頂点位置情報及び法線情報を取得することと、を含む。
【0007】
一つの可能な実施形態では、動画レンダリング方法は、さらに、
骨格動画モードにおいて、第2テクスチャファイルから動作データを取得し、動作データは、平行移動データ及び四元数の回転データを含むことと、
動作データに基づき、動画レンダリングを行うことと、を含む。
【0008】
一つの可能な実施形態では、動作データは、スケーリングデータをさらに含む。
【0009】
一つの可能な実施形態では、第2テクスチャファイルから動作データを取得することは、
シェーダにおいて、第2テクスチャファイルをサンプリングして、第2元データを取得することと、
第2元データをデコードして、平行移動データ、回転データ及びスケーリングデータを取得することと、を含む。
【0010】
第2態様として、動画レンダリング装置を提供し、当該動画レンダリング装置は、取得モジュールと、レンダリングモジュールとを含み、
取得モジュールは、頂点動画モードにおいて、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得するために用いられ、頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、法線情報は、Rチャネルの他の一部の位置、Gチャネルの他の一部の位置、Bチャネルの他の一部の位置及びAチャネルの位置を占め、
レンダリングモジュールは、頂点位置情報及び法線情報に基づき、動画レンダリングを行う。
【0011】
第3態様として、電子機器を提供し、当該電子機器は、コンピュータプログラム命令を記憶するためのメモリと、コンピュータプログラム命令を実行するためのプロセッサとを含み、当該コンピュータプログラム命令がプロセッサによって実行されると、電子機器が上記方法を実行するようにトリガーする。
【0012】
第4態様として、コンピュータ読み取り可能な記憶媒体を提供し、当該コンピュータ読み取り可能な記憶媒体は、記憶されたプログラムを含み、プログラムの実行時に、コンピュータ読み取り可能な記憶媒体の所在する装置が上記方法を実行するように制御する。
【0013】
第5態様として、コンピュータプログラム製品を提供し、当該コンピュータプログラム製品は、実行可能な命令を含み、実行可能な命令は、コンピュータで実行される時、コンピュータに上記方法を実行させる。
【発明の効果】
【0014】
本発明の実施例における動画レンダリング方法、装置、電子機器、記憶媒体及びコンピュータプログラム製品は、頂点位置情報及び法線情報がそれぞれテクスチャファイルにおけるRGB各チャネルの一部を占め、且つ法線情報がAチャネルの位置を占め、このように、同一のテクスチャファイルによって頂点位置情報及び法線情報を同時に記憶することができる。それによって、動画レンダリングの過程において、1つのテクスチャファイルをサンプリングするだけで、頂点位置情報及び法線情報という2つのタイプの情報を取得することができ、動画レンダリングが行いやすくなり、レンダリングの過程におけるサンプリング回数を節約するため、テクスチャにより動画データを記憶する効率を向上させる。
【図面の簡単な説明】
【0015】
【
図1】関連技術における頂点位置情報を記憶するテクスチャの模式図である。
【
図2】関連技術における法線情報を記憶するテクスチャの模式図である。
【
図3】関連技術における骨格マトリックスベークテクスチャの模式図である。
【
図4】本発明の実施例における動画レンダリング方法のフローチャートである。
【
図5】本発明の実施例におけるHalfタイプデータの構造模式図である。
【
図6】本発明の実施例における第1テクスチャファイルのテクスチャの模式図である。
【
図7】本発明の実施例における別の動画レンダリング方法のフローチャートである。
【
図8】本発明の実施例における第2テクスチャファイルのテクスチャの模式図である。
【
図9】本発明の実施例における動画レンダリング装置の構造ブロック図である。
【
図10】本発明の実施例における電子機器の構造ブロック図である。
【発明を実施するための形態】
【0016】
本発明の実施形態で使用される用語は、本発明の具体的な実施例を説明するためのものに過ぎず、本発明を限定することを意図するものではない。
【0017】
本発明の実施例を説明する前に、まず、関連技術における問題を説明する。Skin Instance方法が関わる動画モードは、頂点動画モード及び骨格動画モードという2種類がある。以下、それぞれ2種類のモードにおける技術的課題を説明する。
【0018】
頂点動画モードは、各フレームの動画データをmeshデータにソフトスキンして、メモリから直接的にmesh頂点位置情報を取得し、同時に各頂点位置情報に対応する法線情報を取得する必要がある。このように、2つのテクスチャが必要となり、例えば、1つのテクスチャのフォーマットは、RGBAHalfであり、頂点位置情報を記憶するために用いられ、もう1つのテクスチャのフォーマットは、RGB24であり、法線を記憶するために用いられる。レンダリングするとき、スクリプトにおいてレンダリングインスタンスの動画状態を更新し、現在の動画において再生されているキーフレーム及び頂点インデックスに基づいてテクスチャにおけるuv座標を計算し、さらに頂点位置情報及び法線情報を取得する。
【0019】
頂点動画モードにおいて、1つのオブジェクトに対するレンダリングは、頂点位置情報を記憶するテクスチャ及び法線情報を記憶するテクスチャに対してサンプリングする必要があり、即ち、2回のサンプリングを必要とし、また、動作融合を加えてサンプリングの回数を倍にし、即ち、合計で必要なサンプリング回数は、4回まで達する。大量のレンダリングオブジェクトについて、このようにすると、ハードウェアに大きな負担がかかるため、テクスチャのサンプリングの回数を減少させることは、テクスチャの記憶効率を向上させる効果的な方式となる。
【0020】
テクスチャのサンプリングの回数を減少させるために、2種類のテクスチャを統合する方式で実現することができる。例えば、
図1に示すように、頂点位置情報を記憶するテクスチャフォーマットは、RGBAHalfであり、Aチャネルの16ビット空間は、使用されず、
図2に示すように、法線情報を記憶するテクスチャフォーマットは、RGB24であり、24ビット空間を必要とする。1つの方法は、法線情報のRチャネルデータ及びGチャネルデータをいずれも7ビットに圧縮し、頂点位置情報のテクスチャのAチャネルに統合し、法線情報のBチャネルデータは、Rチャネルデータ及びGチャネルデータから計算して得ることができ、例えばb=sqrt(1-r*r-g*g)であり、sqrtは平方根関数であり、rは法線情報のRチャネルデータであり、gは法線情報のGチャネルデータである。このような方式により、bの符号部は、1ビットを占め、発見信号を記憶することは、合計15ビットを必要とする。しかし、実験によると、このようなサンプリングにより発見情報を得る方法は、最終的に法線フリッカーが深刻になることを招き、その原因は、bを計算する過程において、大きな精度の無駄があることである。
【0021】
頂点動画モードに対して、骨格動画モードは、動画データにおける骨格の変換マトリックスをテクスチャにベークする。浮動小数点タイプFloatの4*4マトリックスについて、3*4のデータのみを記憶する必要がある。各データフォーマットが一致するため、
図3に示すように、同一のテクスチャファイルに記憶することができ、骨格マトリックスベークテクスチャを形成、レンダリングするときに、3回サンプリングして3*4データを取得して、マトリックスに組み立てることができる。骨格動画モードは、頂点動画モードに比べて、そのメリットは、1、ベークデータが骨格の数のみに関連すること、2、ベークデータが同一の骨格Skeletonを使用するモードに共用可能であることにある。デメリットは、サンプリングの回数が多すぎ、各頂点に2本のボウンBoneをバインディングすれば、6回サンプリングする必要があり、異なる動作融合があれば、サンプリング数は、倍増して12回となる。これは、動画レンダリング時のハードウェア帯域幅に対する負担を大きくする。
【0022】
頂点動画モードは、上記法線フリッカーの課題を改善するために、1つの法線情報の記憶方法は、R、G、Bのうちの値が小さい2つのチャネルデータを記憶し、もう1つが計算により得られることである。具体的なアルゴリズムは、以下のコードによって実現することができる。
【数1】
しかし、このようなコードは、追加の情報を記憶するために追加の3ビットを必要とし、このようにAチャネルの16ビットは、足りなくなる。
【0023】
従って、本発明の実施例は、動画レンダリング方法を提供し、
図4に示すように、方法は、
頂点動画モードにおいて、ステップ101及びステップ102を実行することを含む。
ステップ101であって、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得する。
ここで、頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、法線情報は、Rチャネルの他の一部の位置、Gチャネルの他の一部の位置、Bチャネルの他の一部の位置及びAチャネルの位置を占め、即ち、もともと頂点位置情報を記憶するテクスチャのうちの各チャネルの頂点位置データを圧縮し、圧縮後に残った空間は、法線情報を記憶するために用いられ、頂点位置情報のRGBの各チャネルは、ビットを借りて法線情報を記憶し、また、Aチャネルの位置も法線情報を記憶するために用いられ、このように、同一のテクスチャファイルにより頂点位置情報及び法線情報を同時に記憶することができる。
【0024】
ステップ102であって、頂点位置情報及び法線情報に基づき、動画レンダリングを行う。
【0025】
本発明の実施例における動画レンダリング方法は、頂点位置情報及び法線情報がそれぞれテクスチャファイルにおけるRGB各チャネルの一部を占め、且つ法線情報がAチャネルの位置を占め、このように、同一のテクスチャファイルにより頂点位置情報及び法線情報を同時に記憶することができる。このように、動画レンダリングの過程において、1つのテクスチャファイルをサンプリングするだけで、頂点位置情報及び法線情報という2つのタイプの情報を取得することができ、動画レンダリングを行いやすく、レンダリングの過程におけるサンプリング回数を節約するため、テクスチャにより動画データを記憶する効率を向上させる。
【0026】
一つの可能な実施形態では、第1テクスチャファイルのフォーマットは、RGBAHalfであり、当該フォーマットの互換性が高く、半精度浮動小数点数Halfタイプのデータは、
図5に示す構造を有し、その中に、1ビットの符号部sign、5ビットの指数部exponent及び10ビットの仮数部fractionを含み、テストにより、頂点位置情報を記憶する仮数部は、8ビットの精度だけで需要を満たすことができるため、もともと頂点位置情報を記憶するRGBの各チャネルから2ビットを借りて、また、Aチャネルの16ビットが加わると、合計で22ビットで法線情報を記憶し、
図6に示すように、ちょうどR7G8B7フォーマットの法線情報を記憶することができる。頂点位置情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の8ビットを占め、頂点位置情報は、例えばRGBの各チャネルの仮数部の先頭の8ビットを占めることができる。法線情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の2ビット及びAチャネルの16ビットを占め、法線情報は、例えばRGBの各チャネルの仮数部の後尾の2ビットを占めることができる。
【0027】
一つの可能な実施形態では、ステップ101であって、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得する過程は、
ステップ1011であって、シェーダshaderにおいて、第1テクスチャファイルをサンプリングして、第1元データを取得することと、
ステップ1012であって、第1元データをデコードして、頂点位置情報及び法線情報を取得することとを含む。
【0028】
ここで、頂点位置情報及び法線情報は、一定の規則に従って同一のテクスチャファイルに記憶されているため、毎回テクスチャファイルをサンプリングして取得した第1元データは、対応する頂点位置情報及び法線情報を組み立てて得ることを可能にするように、いずれもデコードする必要がある。
【0029】
一つの可能な実施形態では、
図7に示すように、上記方法は、さらに、骨格動画モードにおいて、ステップ201及びステップ202を実行することを含む。
ステップ201であって、第2テクスチャファイルから動作データを取得し、動作データは、平行移動データ及び四元数の回転データを含み、
ステップ202であって、動作データに基づいて動画レンダリングを行う。
【0030】
一つの可能な実施形態では、動作データは、スケーリングデータをさらに含む。
【0031】
一つの可能な実施形態では、ステップ201であって、第2テクスチャファイルから動作データを取得することは、シェーダにおいて第2テクスチャファイルをサンプリングし、第2元データを取得するとと、第2元データをデコードし、平行移動データ、回転データ及びスケーリングデータを取得することとを含む。
【0032】
具体的には、骨格動画モードにおける動作データは、第2テクスチャファイルにベークされたマトリックスデータであり、実際に動作データは、一連のスケーリング、回転及び平行移動により得られるものであるため、本発明の実施例では、回転データの代わりに四元数を使用し、平行移動データを保留する。スケーリングは、骨格動画モードにおいて等比スケーリング(例えば、SLGにおいてスケーリングが非等比スケーリングであれば、色校正は動作時に変形し、これはほとんど存在しない)であるため、スケーリングデータは、浮動小数点タイプfloatデータを用いて示され、即ち、動作データは、2つのvector4タイプのデータであり、動作データは、具体的に半精度浮動小数点数Halfタイプデータで第2テクスチャファイルに記憶される。ここで、2つのvector4タイプデータは、RGBAFloatタイプにエンコードされ、第2テクスチャファイルに対する1回のサンプリングにより、全てのデータを取得することができ、
図8に示すように、
図3と比較してわかるように、テクスチャファイルのデータ量は、33%減少された。また、動作データをエンコードすることにより、テクスチャのサンプリング回数を減少した。動画レンダリング過程において、テクスチャのサンプリング回数は6回から2回になり、動作融合の状況を考慮し、テクスチャのサンプリング回数は、12回から4回になった。これからわかるように、サンプリング回数が低下し、即ち、ハードウェアのレンダリング時の帯域幅の負担を低下させる。
【0033】
図9に示すように、本発明の実施例は、さらに動画レンダリング装置を提供し、当該動画レンダリング装置は、取得モジュール1と、レンダリングモジュール2とを含み、取得モジュール1は、頂点動画モードにおいて、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得するために用いられ、頂点位置情報は、Rチャネルの一部の位置、Gチャネルの一部の位置及びBチャネルの一部の位置を占め、法線情報は、Rチャネルの他の一部の位置、Gチャネルの他の一部の位置、Bチャネルの他の一部の位置及びAチャネルの位置を占め、レンダリングモジュール2は、頂点位置情報及び法線情報に基づき動画レンダリングを行うために用いられる。動画レンダリング装置は、上記任意の実施例における動画レンダリング方法を適用することができ、具体的な過程と原理は、上記実施例と同様であるため、ここで繰り返し述べない。
【0034】
上述した動画レンダリング装置の分割は、論理機能の分割に過ぎず、実際に実現する時に全部または一部が1つの物理的実体に統合されてもよく、物理的に分離されてもよいと理解されるべきである。また、これらのモジュールは全てソフトウェアで処理要素の呼び出しの形式により実現されてもよいし、全部がハードウェアの形式で実現されてもよい。さらに一部のモジュールがソフトウェアで処理要素の呼び出しの形式により実現されてもよく、一部のモジュールがハードウェアの形式で実現されてもよい。例えば、取得モジュール1及びレンダリングモジュール2のうちのいずれか一つは単独で設置された処理要素であってもよく、動画レンダリング装置に統合されてもよく、例えば動画レンダリング装置のあるチップに統合されて実現され、また、プログラムの形式で動画レンダリング装置のメモリに記憶されてもよく、動画レンダリング装置のある処理要素によって以上の各モジュールの機能を呼び出して実行する。他のモジュールの実現はそれと類似する。また、これらのモジュールは、全部又は一部が一体に集積されてもよく、独立して実現されてもよい。ここで前記処理素子は集積回路であってもよく、信号の処理能力を有する。実現過程において、上記方法の各ステップ又は以上の各モジュールは、プロセッサエレメント内のハードウェアの集積論理回路又はソフトウェア形式の命令により完成することができる。また、上記動画レンダリング装置は、同一の装置であってもよく、異なる装置であってもよい。
【0035】
例えば、動画レンダリング装置は、上記方法を実施するように配置される1つ又は複数の集積回路、例えば1つ又は複数の特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、又は、1つ又は複数のデジタルシグナルプロセッサ(digital signal processor、DSP)、又は、1つ又は複数のフィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array、FPGA)などであってもよい。さらに例えば、上述したあるモジュールは、処理要素によりプログラムをスケジューリングする形式で実現される場合、当該処理要素は、汎用プロセッサ、例えば中央処理装置((Central Processing Unit、CPU)又は他のプログラムを呼び出すことができるプロセッサであってもよい。さらに例えば、これらのモジュールは、一対に集積されてもよく、システムオンチップ(system-on-a―chip、SOC)の形式で実現される。
【0036】
一つの可能な実施形態では、第1テクスチャファイルのフォーマットは、RGBAHalfであり、頂点位置情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の8ビットを占め、法線情報は、Rチャネル、Gチャネル及びBチャネルのうちの各チャネルの仮数部の2ビット及びAチャネルの16ビットを占める。
【0037】
一つの可能な実施形態では、同一の第1テクスチャファイルから頂点位置情報及び法線情報を取得する過程は、シェーダにおいて第1テクスチャファイルをサンプリングし、第1元データを取得することと、第1元データをデコードし、頂点位置情報及び法線情報を取得することとを含む。
【0038】
一つの可能な実施形態では、取得モジュール1は、さらに、骨格動画モードにおいて第2テクスチャファイルから動作データを取得するために用いられ、動作データは、平行移動データ及び四元数の回転データを含み、レンダリングモジュール2は、さらに、動作データに基づき動画レンダリングを行うために用いられる。
【0039】
一つの可能な実施形態では、動作データは、スケーリングデータをさらに含む。
【0040】
一つの可能な実施形態では、第2テクスチャファイルから動作データを取得することは、
シェーダにおいて第2テクスチャファイルをサンプリングし、第2元データを取得することと、
第2元データをデコードし、平行移動データ、回転データ及びスケーリングデータを取得することとを含む。
【0041】
図10に示すように、本発明の実施例は、さらに電子機器を提供し、当該電子機器は、プロセッサ51及びメモリ52を含み、メモリ52は、少なくとも一つの命令を記憶するために用いられ、命令は、プロセッサ51によりロードされ且つ実行される時に上記任意の実施例における動画レンダリング方法を実現する。動画レンダリング方法の具体的な過程と原理は、上記実施例と同様であるため、ここで繰り返し述べない。
【0042】
プロセッサ51の数は、1つ又は複数であってもよく、プロセッサ51及びメモリ52は、バス53を介して、或いは他の方式で接続することができる。メモリ52は、非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュール、例えば本発明の実施例におけるデータ処理装置に対応するプログラム指令/モジュールを記憶することに用いられる。プロセッサは、メモリに記憶された非一時的なソフトウェアプログラム、命令及びモジュールを実行することにより、様々な機能アプリケーション及びデータ処理を実行し、即ち上記任意の方法実施例における方法を実現する。メモリは、記憶プログラム領域及び記憶データ領域を含み、そのうち、記憶プログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラム及び必要なデータなどを記憶することができる。また、メモリは、高速ランダムアクセスメモリを含むことができ、さらに非一時的メモリ、例えば少なくとも一つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の非一時的な固体記憶デバイスを含むことができる。電子機器は、例えばサーバ、コンピュータ、携帯電話等の電子製品であってもよい。
【0043】
本発明の実施例は、さらにコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ読み取り可能な記憶媒体には、コンピュータプログラムが記憶され、それがコンピュータで実行される時、コンピュータに上記任意の実施例における方法を実行させる。
【0044】
上記実施例では、全部又は部分的にソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組み合わせにより実現することができる。ソフトウェアを使用して実現する場合、全部又は一部をコンピュータプログラム製品の形式で実現することができる。前記コンピュータプログラム製品は一つ又は複数のコンピュータ命令を含む。コンピュータに前記コンピュータプログラム命令をロードし実行する時、全て又は部分的に本発明に記載のフロー又は機能を生成する。前記コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、又は他のプログラム可能な装置であってもよい。前記コンピュータ命令は、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、又は一つのコンピュータ読み取り可能な記憶媒体から別のコンピュータ読み取り可能な記憶媒体に伝送されてもよく、例えば、前記コンピュータ命令は一つのウェブサイト、コンピュータ、サーバ又はデータセンタから有線(例えば同軸ケーブル、光ファイバ、デジタル加入者線)又は無線(例えば赤外線、無線、マイクロ波など)の方式で別のウェブサイト、コンピュータ、サーバ又はデータセンタに伝送することができる。前記コンピュータ読み取り可能な記憶媒体は、コンピュータがアクセス可能な任意の利用可能な媒体又は一つ又は複数の利用可能な媒体を含んで集積するサーバ、データセンタ等のデータ記憶装置であってもよい。前記利用可能な媒体は、磁性媒体、例えば、フロッピーディスク、ハードディスク、磁気テープ)、光媒体(例えば、DVD)、又は半導体媒体(例えばソリッドステートドライブSolid State Disk)等であってもよい。
【0045】
本発明の実施例は、さらにコンピュータプログラム製品を提供し、コンピュータプログラム製品は、実行可能な命令を含み、実行可能な命令がコンピュータで実行される時、コンピュータに上記任意の実施例における方法を実行させる。
【0046】
本発明の実施例において、「少なくとも一つ」とは、一つ又は複数を指し、「複数」とは、二つ又は二つ以上を指す。「及び/又は」は、関連オブジェクトの関連関係を記述し、3種類の関係が存在してもよく、例えば、A及び/又はBは、Aが単独で存在し、同時にAとBが存在し、Bが単独で存在する状況を表すことができる。ここでA、Bは単数又は複数であってもよい。文字「/」は、一般に、前後関連オブジェクトが「または」の関係であることを示す。「以下の少なくとも一つ」及びその類似する表現は、これらの項の任意の組み合わせを指し、単数又は複数の任意の組み合わせを含む。例えば、a、b及びcのうちの少なくとも一つは、a、b、c、a-b、a-c、b-c、又はa-b-cを表すことができ、ここでa、b、cは、単一であってもよく、複数であってもよい。
【0047】
以上は本発明の好適な実施例に過ぎず、本発明を限定するものではなく、当業者であれば、本発明に様々な修正及び変更が可能である。本発明の精神と原則内で、行われたいかなる修正、均等置換、改善などは、いずれも本発明の保護範囲内に含まれるべきである。