説明

オブジェクトをコンピュータスクリーン上に表示するための方法、装置、およびプログラム

【課題】コンピュータスクリーン上にオブジェクトを表示するためにコンピュータによって実行される方法を提供すること。
【解決手段】本発明に係る方法は、第1のイメージを計算するステップ(S20)と、第1のイメージを表示するステップ(S30)と、n番目の遷移イメージを計算すること(S40)、重み付けされた第1のイメージと重み付けされたn番目の遷移イメージをマージすることによって、n番目のマージ済みイメージを計算すること(S60)、およびn番目のマージ済みイメージを表示すること(S70)をk回繰り返すステップとを含む。nは、1からkまでの範囲内にあり、nおよびkは、正の整数である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、オブジェクトをコンピュータスクリーン上に表示するための方法に関する。
【背景技術】
【0002】
コンピュータ支援技術は、製品設計を作成するためのソフトウェアソリューションに関連するコンピュータ支援設計(Computer-Aided Design)、すなわちCADを含むことが知られている。同様に、CAEは、Computer−Aided Engineering(コンピュータ支援エンジニアリング)の頭字語であり、CAEは、例えば、将来の製品の物理的な振舞いをシミュレートするためのソフトウェアソリューションに関連する。CAMは、Computer−Aided Manufacturing(コンピュータ支援製造)を表し、典型的に、製造プロセスおよびオペレーションを定義するためのソフトウェアソリューションを含む。
【0003】
市場には、CATIAという商標でダッソーシステムズにより提供されるような、製品を形成するオブジェクト(もしくは部品(parts))またはオブジェクトの組立て/組立部品(assembly)を設計するための複数のシステムおよびプログラムが供給されている。これらのCADシステムは、ユーザが、オブジェクトまたはオブジェクトの組立ての複雑な3次元(3D)モデルを構築して、操作することを可能にする。したがって、CADシステムは、辺(edge)または線(line)を(一部の事例では面(face)とともに)使用する、モデル化オブジェクト(modeled object)の表現を提供する。辺または線は、例えば、非一様有理Bスプライン(non-uniform rational B-splines:URBS)など、様々な方法で表すことができる。これらのCADシステムは、ほとんどが形状(geometry)の仕様である部品、または部品の組立てを、モデル化オブジェクトとして管理する。具体的には、CADファイルは仕様を含んでおり、この仕様から形状が生成され、同様にこの仕様により表現を生成することが可能になる。形状および表現を、単一のCADファイルに格納することも、複数のCADファイルに格納することもできる。CADシステムは、モデル化オブジェクトを設計者に提示するためのグラフィックツールを含む。これらのグラフィックツールは、複雑なオブジェクトの表示用に専用化され、CADシステムにおいてオブジェクトを表すファイルの典型的なサイズは、1部品当たり1メガバイトの範囲内にあり、組立部品は、数千の部品を備えることがある。CADシステムは、電子ファイル内に格納されるオブジェクトのモデルを管理する。
【0004】
コンピュータ支援技術において、グラフィカルユーザインタフェース(GUI)は、その技術の効率に関して重要な役割を果たす。オブジェクトを操作および/またはナビゲートするために必要なオペレーションの大部分は、ユーザ(例えば、設計者)によりGUIに対して実行される。特に、ユーザは、製品を形成するオブジェクトを作成、変更、および削除することができ、ユーザは、オブジェクトがどのように相互に関連するかを把握するために(例えば、製品構造を介して)その製品を調べることもできる。従来、これらのオペレーションは、GUIの両側に配置された専用のメニューおよびアイコンを通じて実行されている。最近、CATIAなどのCADシステムでは、製品の表現の近くで、これらの機能を呼び出すことができる。設計者は、メニューやアイコンの方へマウスを動かす必要がない。したがって、マウスがすぐに届く範囲内でオペレーションを行うことができる。さらに、これらのオペレーションは、意味的(semantically)に振舞う。すなわち、CADシステムは例えば、設計者によって選択された所与のオペレーションに関して、前に選択されたオペレーションに応じて、設計者が選択する可能性が高い新たなオペレーションのセットを、マウスの近くに置き、その設計者に示唆することができる。
【0005】
製品ライフサイクル管理(PLM:Product Lifecycle Management)ソリューションも知られているが、PLMソリューションは、複数の会社が、拡張された事業の概念にわたって、製品データを共有し、共通のプロセスを適用し、そして構想からその寿命の終わりまで製品の開発に関する企業知識を利用するのを助けるビジネス戦略を指す。複数の主体(企業部門、ビジネスパートナ、納入業者、OEM(相手先製品の製造業者(Original Equipment Manufacturers)、および顧客)を含めることにより、PLMは、このネットワークが、製品およびプロセスを概念化し、設計し、構築し、およびサポートする単一のエンティティとして動作することを可能にする。
【0006】
一部のPLMソリューションは、例えば、デジタルモックアップ(製品の3Dグラフィカルモデル)を作成することによって製品を設計および開発することを可能にする。デジタル製品は、まず、適切なアプリケーションを使用して定義され、シミュレートされる。次いで、リーンデジタル生産プロセス(lean digital manufacturing process)を定義し、モデル化することができる。
【0007】
ダッソーシステムズによって提供されるPLMソリューション(商標登録:CATIA、ENOVIA、およびDELMIA)は、製品エンジニアリング知識を編成するエンジニアリングハブ(Engineering Hub)、製造エンジニアリング知識を管理する製造ハブ(Manufacturing Hub)、およびエンジニアリングハブと製造ハブの双方への企業の統合と接続を可能にする企業ハブ(Enterprise Hub)を提供する。全体として、このシステムは、製品、プロセス、動的な知識ベースの製品作成を可能にするリソース、および最適化された製品定義、製造準備、製造、サービスを行うための意思決定支援(decision support)をリンクさせるオープンオブジェクトモデルを提供する。
【0008】
上記PLMソリューションは、製品のリレーショナルデータベースを備える。このデータベースは、テキストデータのセットと、そのデータ間の関係(relation)を備える。データは、典型的に、製品と関連する技術的データを含み、このデータは、データ階層で順序付けされ、検索可能であるようにインデックス付けされる。このデータはモデル化オブジェクトを表し、これにより、しばしば製品およびプロセスがモデル化される。
【0009】
製品の構成と、プロセス知識と、リソース情報とを含む製品ライフサイクル情報は、典型的に、共同で編集されることが意図されている。
【0010】
前述したように、モデル化オブジェクトに対するオペレーションの大部分は、CADシステムにおいてグラフィックスにより実行される。したがって、モデル化オブジェクトを表現することは、重要な役割を果たす。モデル化オブジェクトの表示は、該モデル化オブジェクトのイメージを計算するプロセスの結果であり、このプロセスは、レンダリングと呼ばれる。したがって、レンダリングは、表示されるべきモデル化オブジェクトのイメージを作成する動作であり、イメージは、レンダリングの結果である。このため、イメージを「計算する」という表現とイメージを「レンダリングする」という表現は同義である。
【0011】
レンダリングするいくつかの方法が開発されており、これらの方法は、CADシステムによって実装される。一部の方法は、フォトリアル(photo-realistic)レンダリングに適しており、他の方法は、リアルタイムレンダリングに好都合である。フォトリアルレンダリングの中では、レイトレーシング(ray tracing)レンダリング(レイトレーシングとも呼ばれる)がCADシステムによって幅広く実装されている。レイトレーシングは、イメージ平面内のピクセルを通過する光の経路をトレースすることによって、イメージを生成する。特に、レイトレーシングは、他のレンダリング方法と比べてライティングのリアルなシミュレーションを可能にし、反射や陰影などの効果が、レイトレーシングレンダリングでは自然に得られる。
【0012】
しかしながら、レイトレーシングは、レンダリングがリアルタイムで実行されないという欠点がある。すなわち、この方法は、イメージのレンダリングを完全に実現するための期限を決定することができない。実際、CADシステムによって毎秒少なくとも10個のイメージを計算することができる場合、CADのシーンがリアルタイムで計算されると見なされる。しかしながら、現在のコンピュータハードウェアは、必ずしも、完全なイメージをリアルタイムで計算できるほど高性能であるとは限らない。実際、イメージは、これらには限られないが、反射、陰影、鏡面性(specularity)、風(blow)など、数百もの高度な視覚効果を含むことがあり、これらの高度な視覚効果はそれぞれ、例えば、CPUおよびGPUの計算リソースなどの計算リソースを必要とする。したがって、CADシステムのリソースは限られていることから、視覚効果の計算の開始からその計算の終了までの間に遅延時間が生じることがある。その結果、イメージの表示は、瞬時すなわちリアルタイムに行われず、これによりCADシステムと設計者の間の対話に欠如が存在するため、設計者にとっては厄介なことである。
【0013】
この問題に対処するために、いくつかの技法が開発されている。伝統的な技法では、表示されたモデル化オブジェクトと設計者の対話の間、視覚的レンダリングを意図的に低品質にする。全ての効果を有するモデル化オブジェクトのイメージを表示する代わりに、低品質のイメージ(degraded image)を表示する。この低品質のイメージは、表示が進行中の基本イメージである。同時に、システムは、設計者が、表示されたモデル化オブジェクトとまだ対話しているか否かを確認し、そして視覚効果を計算する。所定の時間の間、設計者がモデル化オブジェクトと対話せず、その所定の時間が経過すると、全ての効果を備える新たなイメージを表示する。ここで、上記所定の時間は、ヌル値とすることができ、例えば、ユーザによってマウスが解放されるとすぐに、新たなイメージを表示することができる。この伝統的な技法は、2つのレンダリングモードを備える。1つめのレンダリングモードは、表示されるイメージが全く視覚効果を備えない低品質のレンダリングであり、2つめのレンダリングモードは、表示されるイメージが全ての視覚効果を備える最終的なレンダリングである。
【0014】
この伝統的な技法は、やはりいくつかの欠点を有する。特に、低品質のイメージと最終的なイメージとが急に遷移するため、設計者にとって人間工学的ではなく、また視覚的な不快感を生じさせることである。さらに、設計者には、視覚効果の計算の進行に関するフィードバックを全く与えられない。したがって、CADシステムに対して実行される操作およびナビゲーションは流動性を欠く。すなわち、設計者は、待ち状態にある。
低品質のイメージと最終的なイメージとの間の遷移を管理するために、いくつかの技法が開発されている。
【0015】
第1の方法は、プログレスバーを表示することである。プログレスバーは、ダウンロード、ファイル転送、または計算などのタスクの進行を伝えるのに使用されるGUIの構成要素である。したがって、設計者は、最終イメージの計算が終了するまでの残りの時間をグラフィクにより評価することができる。しかしながら、最終イメージの表示は、依然として急に行われるため、このことに関連する視覚的な不快感は回避されない。さらに、設計者は、最終イメージの表示を得るには、最終イメージの計算の終了を待たなければならないので、CADシステムと設計者の間の対話は改善されない。
【0016】
第2の方法は、モデル化オブジェクトの低品質のイメージから開始して段階的に最終イメージを構築することである。このために、低品質のイメージと最終イメージの間の遷移イメージを、連続的に計算して表示する。遷移イメージは、前に表示されるイメージと比べて少なくとも1つの改善された視覚効果を備えるイメージである。このプロセスは、最後のイメージが、最終イメージ、すなわち、全ての完全な効果を含むと終了する。したがって、低品質イメージの品質は、完全な視覚効果の計算が行われるまで段階的に改善される。このため、設計者は、最終イメージが表示されるまで品質が向上していくのを見ることができる。
【0017】
しかしながら、遷移イメージは表示されるものの、低品質のイメージと最終イメージの間の遷移は、依然として乱暴であり、急に行われる。したがって、設計者は、低品質のイメージと最終イメージの間の遷移を見ているときに視覚的な不快感を覚える。
【発明の概要】
【発明が解決しようとする課題】
【0018】
したがって、簡単に上述した既存の解決策の限界により、ユーザの視覚的な快適さを向上させる、コンピュータ上にオブジェクトを表示するための改善された方法が必要とされる。
【課題を解決するための手段】
【0019】
本発明は、コンピュータスクリーン上にオブジェクトを表示するために、コンピュータによって実行される方法を提供する。この方法は、
第1のイメージを計算するステップ(S20)、
第1のイメージを表示するステップ(S30)、および
− n番目の遷移イメージを計算するステップ(S40)と、
− 重み付けされた第1のイメージと、重み付けされたn番目の遷移イメージをマージすることによって、n番目のマージ済みイメージを計算するステップ(S60)と、
− 前記n番目のマージ済みイメージを表示するステップ(S70)と
をk回繰り返すステップを含む。nは、1からkまでの範囲内であり、nおよびkは、正の整数である。
【0020】
本発明にかかる上記方法は、次の特徴の1つまたは複数を含む。
− n番目の遷移イメージの計算(S40)は、(n−1)番目の遷移イメージから開始すること。
− n番目のマージ済みイメージを計算するステップ(S60)は、第1のイメージのピクセル、およびn番目の遷移イメージのピクセルを変数とする関数fによって行われること。
− 第1のイメージおよびn番目の遷移イメージは、重み付け関数である関数fによって重み付けされること。
− 重み付け関数fが、
F(ImDeg,ImTrans(n),n)=α(n)・ImTrans(n)+(1-α(n))・ImDeg
として定義されること。ここで、ImDegは、前記計算された第1のイメージであり、ImTrans(n)は、前記計算されたn番目の遷移イメージであり、α(n)は、0から1までの範囲内にあり、変数としてnを有する関数であること。
− 上記繰り返すステップにおいて、kは、終了基準を満たすように選択されること。
− 表示されたマージ済みイメージが最終イメージであるとき、上記終了基準が満たされること。
− kは、デフォルトまたはユーザによって選択されること。
【0021】
本発明は、さらに、コンピュータスクリーン上にオブジェクトを表示するための装置を提案する。この装置は、上記の方法の各ステップを実装するための手段を備える。
【0022】
本発明は、コンピュータ読取可能記憶媒体上に格納される、コンピュータスクリーン上にオブジェクトを表示するためのコンピュータプログラムにさらに関し、該コンピュータプログラムは、コンピュータに上記方法のステップを実行させるためのコード手段を備える。
【0023】
以下では、限定ではなく例として、本発明を実現するためのシステムを添付の図面を参照して説明する。
【図面の簡単な説明】
【0024】
【図1】CADシステムにおける典型的なGUIの概略図である。
【図2】当技術分野で公知の連続的なイメージの遷移の例を示す図である。
【図3】本発明に係るコンピュータスクリーン上にオブジェクトを表示するための方法を示すフローチャートである。
【図4】本発明を実行するために使用可能な関数を表すグラフである。
【図5】本発明に係る連続的なイメージの遷移の例を示す図である。
【図6】本発明を実行するように適合されたクライアントワークステーションアーキテクチャを示す概略図である。
【発明を実施するための形態】
【0025】
本発明は、コンピュータスクリーン上にオブジェクトを表示するためのコンピュータによって実行される方法を対象とする。本発明に係る方法は、ユーザの視覚的な快適さを向上させることを目的とする。特に、本発明の目的の1つは、オブジェクトの低品質イメージと高品質イメージの間の遷移を向上させることである。
【0026】
本発明の方法の最初のステップは、第1のイメージを計算することであり、これは、第1のイメージをレンダリングすることを意味する。典型的に、第1のイメージは、低品質のイメージである。低品質のイメージは、リアルタイムの視覚効果、すなわちCADシステムに応じて異なる可能性がある時間限度内では計算することができない視覚効果を全く備えていないイメージである。したがって、オブジェクトの低品質のイメージは、表示が進行中のオブジェクトのイメージと見なすことができる。次に、第1のイメージが、例えば、CADシステムのGUI上に表示される。この第1のイメージは、3D(3次元)でモデル化オブジェクトとすることができるオブジェクトの表現である。次いで、次の1)〜3)のステップがk回繰り返される。
1)n番目の遷移イメージを計算する。実際に、n番目の遷移イメージは、(n−1)番目の遷移イメージと比べて少なくとも1つの改善された視覚効果を備えるイメージである。
2)第1のイメージとn番目の遷移イメージをマージすることによって、n番目のマージ済みイメージを計算する。第1のイメージおよびn番目の遷移イメージは、重み付けされ、したがって、第1のイメージおよびn番目の遷移イメージは、マージ済みイメージを計算するときに、より多くの影響、またはより少ない影響を有する。
3)マージ済みイメージが計算される(すなわち、レンダリングされる)と、n番目のマージ済みイメージが表示される。
これらのステップ1)、2)、および3)は、k回繰り返されるが、kは、正の整数である。さらに、nは、区間[1;k]の範囲内にある正の整数である。
【0027】
図1を参照すると、例示的なグラフィカルユーザインタフェース(すなわちGUI)100が図示されているが、GUI100は、標準のメニューバー110、120、ならびに下部のツールバー140および横のツールバー150を有する典型的なCADのようなインタフェースとすることができる。上記メニューおよびツールバーは、当技術分野で知られているような、各アイコンが1つまたは複数のオペレーションまたは機能に関連付けられている、ユーザ選択可能なアイコンのセットを含む。
【0028】
これらのアイコンの一部は、GUI100内に表示されるような、モデル化された製品200または製品200の部品を編集および/または操作するように適合されたソフトウェアツールに関連付けられている。以下の説明において、「製品(product)」、「部品(part)」、「組立て/組立部品(assembly)」などの用語は、簡潔性のために「部品」と呼ぶことがある。「部品」の概念は、実際、「オブジェクト」の概念に一般化することができ、ここで、オブジェクトは、設計された製品の「物理的」一部のみとすることもでき、あるいは、より一般的に、設計プロセスに関わっている(ただし、必ずしも最終製品内にある必要はない)任意のソフトウェアツールとすることもできることに留意されたい。
【0029】
ソフトウェアツールを、複数のワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチの1つは、モデル化された製品200の形状の特徴を編集するのに適した編集ワークベンチである。操作の際、設計者は、例えばオブジェクト200の一部を予め選択し、次いで、適切なアイコンを選択することによって、オペレーション(例えば、寸法、色などの変更)を開始すること、あるいは形状の制約(geometrical constraint)を編集することができる。例えば、典型的なCADのオペレーションは、スクリーン上に表示された3Dモデル化オブジェクトの穿孔(punching)または屈曲(folding)をモデル化することである。
【0030】
さらに、この1つまたは複数のオペレーションまたは機能を、GUI100内に表示される、モデル化された製品200または製品200の部品のすぐ近くで選択することができる。このために、オペレーションまたは機能に関連付けられた、ユーザ選択可能なアイコン170が、セレクタ160(例えば、マウスなどの触覚デバイスのカーソル)の離隔に現れることが可能である。ユーザは、アイコン170の上でカーソル160を動かすことができ、これに応答して、アイコンのセット180が表示される。次に、ユーザは、アイコンのセット180のうちのアイコンの1つを選択し、これにより、該選択したアイコンに関連付けられた機能を実行する。さらに、アイコンのセット180は、意味的を示すように振舞う。すなわち、アイコンのセット180は、CADシステムによって、ユーザが次に実行すると思われるオペレーションに応じて提示される。
【0031】
GUIは、例えば、表示された製品200に関連するデータ250を表示することができる。図1の例では、「特徴ツリー(feature tree)」として表示されるデータ250、およびこのデータ250の3D表現200は、ブレーキのキャリパ(caliper)およびディスクを含むブレーキの組み立てに関係している。GUIは、例えば、オブジェクトの3次元定位(3D orientation)を容易にし、編集される製品に対するオペレーションのシミュレーションをトリガし、あるいは表示される製品200の様々な属性をレンダリングするために、様々なタイプのグラフィックツール130、160をさらに示すことができる。
【0032】
図2は、当技術分野で知られているような、連続するイメージの遷移の典型的な例を示している。球体26の連続する表現20、21、22、23、24、および25は、図1を参照して説明したようなGUI内に表されている。連続する表現21、22、23、24、および25は、該連続する表現21、22、23、24、および25のそれぞれの間に徐々に計算される(したがって、改善される)、リアルタイムでない視覚効果(滑らかな陰影)を表示する。第1のイメージ20では、球体26の低品質のイメージが表示される。任意の視覚効果が、低品質のイメージ上で表現される。次いで、この低品質のイメージに追加するために、視覚効果(滑らかな陰影)が計算される。このために、第1の遷移イメージ21が計算され、表示される。この第1の遷移イメージ21は、視覚効果の第1の中間表現27を備える。すなわち、第1の遷移イメージ21は、部分的に計算された視覚効果が追加された低品質のイメージ26を表示する。次に、視覚効果の改善された中間表現28が計算され、第2の遷移イメージ22に表示される。第2の遷移イメージ22は、第1の遷移イメージ21に対して、視覚効果の新たに改善された表現28を追加した結果である。典型的に、この新たな中間表現28は、視覚効果の第1の中間表現27の計算結果に基づいて計算される。同様に、第3の遷移イメージ23、第4の遷移イメージ24、および第5の遷移イメージ25が連続的に計算され、GUI内に表示される。第5の遷移イメージ25は、最終イメージであるので、特定の遷移イメージである。すなわち、イメージ25は、低品質のイメージ20に完全な視覚効果が追加されたものであり、したがって、このステップで、滑らかな陰影の計算が完了する。
【0033】
図3は、本発明を実施するためにコンピュータスクリーン上にオブジェクトを表示する方法を示すフローチャートである。
【0034】
実際、部分的製品(sub-product)または製品などのオブジェクトまたはオブジェクトの組立部品が選択される(S10)。オブジェクトの選択は、ユーザの選択により実行されることがあり、ユーザは、例えば設計者である。ユーザは、キーボード、マウス、スタイラス、タッチスクリーンなどの触覚デバイスにより、この選択を行うことができる。例えば、2つボタンのマウスでは、オブジェクトを選択するのに左のボタンを使用することができる。このシステムは、デフォルトで、すなわち、ユーザの選択を必要とせずに、オブジェクトを識別することもできる。
【0035】
典型的に、選択されたオブジェクトは、図1を参照して説明したGUI内のシーン(scene)に表示される。このシーンは、オブジェクト間の空間的な関係を表す空間(space)である。さらに、上記オブジェクトは、モデル化オブジェクト、または3次元(3D)モデル化オブジェクトとすることができる。3次元(3D)モデル化オブジェクトは、3次元(3D)空間におけるオブジェクトの描写(description)である。3D空間は、座標によって3次元空間におけるすべての点を表す形状によって数学的に表される物理的世界(physical universe)の形状モデルである。なお、3次元空間を表す他の方法も存在する。3Dモデル化オブジェクトは、基本的に、形状が生成される元となる仕様を指す。したがって、3Dモデル化オブジェクトは、3Dオブジェクトを示す数学的な描写、すなわち、三角形、線、曲線、表面など、様々な形状エンティティによって結ばれた3D空間内の点の集合である。3Dモデル化オブジェクトは、該3Dモデル化オブジェクトの3D表現(3D representation)によって表される。一般に、3D表現は、GUI内に表示されるため、3D表現をシーン内に表示することができ、したがって、シーンは3Dシーンである。3Dで表示されるオブジェクトは、すべての角度から見ることができる。例えば、オブジェクトを、該オブジェクトの任意の軸を中心に、またはスクリーンの任意の軸を中心に、動かし(handle)回転させることができる。このことは、特に、3Dモデル化されていない2Dアイコンは考慮しない。
【0036】
オブジェクトが選択されると、このオブジェクトの第1のイメージが計算される(S20)。これは、オブジェクトの第1のレンダリングが計算されることを意味する。より一般的には、レンダリングは、通常、オブジェクトからイメージを生成する(または計算する)プロセスとして定義される。典型的に、オブジェクトのレンダリングは、このオブジェクトを表すデータを計算することによって得られる。その結果、コンピュータスクリーン上またはGUI上に表示することが可能な表現を得ることができる。図1を再び参照すると、モデル化された製品200、または製品200の部品のレンダリングが、GUI100内で表示されている。
【0037】
典型的に、計算される第1のイメージは、低品質のイメージである。ImDegと表記される低品質のイメージは、リアルタイムの視覚効果を全く備えないイメージである。したがって、オブジェクトの低品質のイメージは、表示が進行中であるオブジェクトのイメージと見なすことができる。オブジェクトのイメージは、しばしば、低品質のイメージと少なくとも1つの視覚効果の組合せである。
【0038】
視覚効果は、オブジェクトとその環境との関係をエミュレートする。例えば、反射は、オブジェクトの所与の点における入射光と出射光である。陰影は、光源からの直接光が、オブジェクトによる遮断のために到達することができないエリアをエミュレートする。別の例として、ブルーム(bloom)視覚効果(グローとも呼ばれる)が、実世界のカメラのイメージングアーチファクトを生じさせ、イメージ内のオブジェクトの周囲に光の干渉縞(fringe)をもたらす。視覚効果は、前述した視覚効果に限定されず、数百もの視覚効果が低品質のイメージに適用され得る。
【0039】
低品質のイメージの計算は、視覚効果を計算する必要がなく、少ない計算量しか必要としないため、低品質のイメージである第1のイメージを計算することは有利である。したがって、第1のイメージの表示時間が短縮される。
【0040】
次に、第1のイメージ(例えば、ImDeg)が格納され、表示される(S30)。低品質のイメージImDegの格納は、必須ではない。実際、イメージImDegの計算が終わるとすぐに、イメージImDegを表示することができる。しかし、イメージImDegを格納することは有利である。このようにして、低品質のイメージの表示を遅らせる(temporize)だけでなく、後の段階でそのイメージImDegを再び利用することも可能である。この場合、イメージImDegを再計算する必要がないので、システムのリソースが節約される。
【0041】
操作において、低品質のイメージImDegをフレームバッファメモリに格納することもできる。該フレームバッファメモリは、オブジェクトの完全なイメージを含むメモリバッファからビデオ表示を駆動する、ビデオ出力デバイスである。フレームバッファメモリは、一般に、CPUメモリ空間に対する直接のメモリマッピングによりアクセスされるが、フレームバッファメモリにアクセスする他の方法もいくつか存在する。本発明は、いずれの種類のメモリにも限定されず、任意の適切なメモリを使用することができる。
【0042】
第1のイメージ(例えば、ImDeg)の表示が実行される。このために、当技術分野で公知の任意の方法を使用することができる。前述したとおり、イメージを計算するのに少ないリソースしか必要としない低品質のイメージの第1のイメージを表示することは、有利である。さらに、イメージをレンダリングするのに必要とされる時間がそれほど多くなく、このため、ユーザとの対話が改善される。
【0043】
第1のイメージ(例えば、ImDeg)が表示されると(S30)、第1の遷移イメージが計算され(S40)、格納される(S42)。次いで、第1のマージ済みイメージが計算され(S60)、格納され(S62)、表示される(S70)。次に、第2の遷移イメージが計算され、格納され、そして、第2のマージ済みイメージが計算され、格納され、表示される。このプロセスは繰り返し実行される。すなわち、ステップS40、S42、S43、S60、S62、S70は、k回繰り返される。kは正の整数である。この反復プロセスを、以下のように一般化することができる。
【0044】
ステップS40で、n番目の遷移イメージが計算される。(ImTrans(n))と表記されるn番目の遷移イメージは、視覚効果の中間表現を備えるイメージである。言い換えると、ImTrans(n)は、部分的に計算された視覚効果が追加された低品質のイメージを表示する。n番目の遷移イメージは、(n−1)番目遷移イメージと比べて改善されたイメージであり、実際、視覚効果の計算を完了するために、(n−1)番目の遷移イメージの表示とn番目の遷移イメージの表示の間に視覚効果の計算が実行される。
【0045】
好ましくは、n番目の遷移イメージは、(n−1)番目の遷移イメージから計算が開始される。したがって、n番目の遷移イメージ(ImTrans(n))は、反復プロセスによって得られたイメージであり、n番目の遷移イメージ(ImTrans(n))の視覚効果は、以前に計算された遷移イメージ(ImTrans(n−1))の視覚効果の計算結果に依拠する。
【0046】
それぞれn番目の遷移イメージは、例えばメモリ上に格納される(S42)。このようにして、(n−1)番目の遷移イメージに対する部分的に計算された視覚効果は、再び計算する必要がないため、n番目の遷移イメージの計算時間が改善される。n番目の遷移イメージを計算するのに消費されるシステムのリソースが少ないという点で有利である。
【0047】
第1の遷移イメージ((ImTrans(n=1))は、低品質のイメージImDegから計算が開始されるので、特別なイメージであることに気付くであろう。低品質のイメージImDegを、(ImTrans(n=0))と表記することもできる。前述したとおり、低品質のイメージImDegを、低品質のイメージImDegの計算(S20)の後に格納する(S30)と有利である。したがって、第1の遷移イメージ((ImTrans(n=1))の計算に必要とされるのは、少なくとも1つの視覚効果を計算することだけ、したがって、システムのリソースの消費が低減される。
【0048】
n番目の遷移イメージの各計算に関して、重み付けされた第1のイメージ(例えば、ImDeg)と、重み付けされたn番目の遷移イメージをマージすることによって、n番目のマージ済みイメージを計算することができる(S60)。低品質のイメージImDegとn番目の遷移イメージImTrans(n)のマージは、fと表記されるマージ関数によって行われ、このマージ関数fの出力が、n番目のマージ済みイメージである。したがって、ImDegとImTrans(n)は、ImDegとImTrans(n)の構成要素(constituent parts)が互いに区別できないように組み合わされ、一体化される。
【0049】
実際には、ステップS60で計算されたn番目のマージ済みイメージは、格納され(S62)、その後、コンピュータスクリーン上に表示される(S70)。
【0050】
好ましくは、ImDegイメージのピクセルとImTrans(n)イメージのピクセルは、マージ関数fの変数である。したがって、マージ関数fは、ImDegイメージのピクセルとImTrans(n)イメージのピクセルを入力として取り、出力イメージ、すなわちn番目のマージ済みイメージをもたらす。マージ関数は、当技術分野で周知であるように、ImDegのピクセルとImTrans(n)のピクセルを、ピクセルごとに乗算することにより、n番目のマージ済みイメージを計算することできる。したがって、低品質のイメージImDegのピクセルの値に、遷移イメージImTrans(n)の対応するピクセルの値を掛る。ピクセル値は、ピクセルがどの程度明るいか、および/またはピクセルの色がどのような色であるかを表すことできる。典型的には、ピクセル値は、RGB(赤、緑、青)色モデルに従って選択される。
【0051】
なお、マージ関数は、ImDegのピクセルとImTrans(n)のピクセルを、ピクセルごとに加算することにより、n番目のマージ済みイメージを計算することもできる。
【0052】
第1のイメージ(例えば、ImDeg)およびn番目の遷移イメージは、双方のイメージが個々の重みを有するように重み付けされる。それぞれの重みにより、低品質のイメージImDegおよび遷移イメージImTrans(n)は、マージ済みイメージを計算するときに、より多くの影響(influence)、またはより少ない影響を有する。n番目のマージ済みイメージは、低品質のImDegイメージと遷移ImTrans(n)イメージを組み合わせた結果である。
【0053】
実際、低品質のイメージImDegおよび遷移イメージImTrans(n)は、重み付け関数である関数fによって重み付けされる。重み付け関数は、要素のセットのうちの一部の要素に、該関数の結果において同じセット内の他の要素よりも大きい「重み」(または影響)を与える数学的関数である。したがって、重み付け関数は、低品質のイメージImDegと遷移イメージImTrans(n)の間の関係を補正する。すなわち、重み付け関数により、ImDegとImTrans(n)が、n番目のマージ済みイメージに対して等しく寄与することはない。したがって、ImDegまたはImTrans(n)に優劣(prominence)を付けるように、n番目のマージ済みイメージを計算することができる点で有利である。これにより、連続する2つのマージ済みイメージの間の遷移を平滑にすることができ、したがって、視覚効果の出現がユーザの目にそれほど障らないため、有利である。よって、本発明による方法は、低品質のイメージと最終イメージの間の全体的な遷移を平滑化することができる。
【0054】
さらに、シーンがユーザによって操作されると、シーンの表示は、低品質のレンダリングと高度なレンダリングとの間でちらつく(flicker)可能性があり、また新たな操作が行われる前に最終レンダリングを表示することができない。重み付け関数を用いることにより、第1のマージ済みイメージは、低品質のイメージに近いものとなっており、このため、ユーザは、シーンを操作している間に高度な効果をほとんど見ることがない。つまり、重み付け関数により、低品質のレンダリングと最終レンダリングの間のちらつきが回避される。
【0055】
実際には、マージ関数fは、次のように表される重み付け関数とすることができる。
f(ImDeg,ImTrans(n),n)=α(n)・ImTrans(n)+(1-α(n))・ImDeg
ここで、ImDegは、計算された第1のイメージであり、ImTrans(n)は、計算されたn番目の遷移イメージである。したがって、関数fは、イメージImDegのピクセルとイメージImTrans(n)のピクセルを入力として取り、出力を重み付けするように意図された関数α(n)を、それぞれのピクセルに適用する。関数fの出力は、n番目のマージ済みイメージである。
【0056】

【0057】
前述のように、ステップS40、S42、S43、S60、S62、およびS70は、k回繰り返され、kは、正の整数である。これらのステップのk回の繰り返しは、終了基準に合致すると停止し(S43)、次いで、本発明の方法は終了する(S50)。
【0058】
終了基準を満たすようにkを選択することができる。終了基準が満たされると(S43)、kの値はk=nとなる。したがって、n番目の遷移イメージ(ImTrans(n))が計算され(S40)格納された(S42)後に、n番目のマージ済みイメージが計算され(S60)、格納され(S62)、表示される(S70)。
【0059】
好ましくは、表示されたマージ済みイメージが、最終イメージ、すなわち、全ての効果を備えるイメージであるときに、終了基準が満たされる。この場合、最終イメージは、n番目の遷移イメージ(ImTrans(n=k))である。
【0060】
実際、kは、システムによってデフォルトで選択される。典型的に、このデフォルトのkの値は、計算すべき視覚効果の数に応じて選択することができる。したがって、最終イメージが表示されると、本発明による方法は終了する。その結果、計算の数が最適化され、システムのリソースが節約される。さらに、システムによって選択されるデフォルトのkの値を、システムの計算リソースに応じて選ぶこともできる。例えば、新しいシステムは、古いシステムより多くの利用可能なリソースを有するであろう。したがって、新しいシステムは、最終イメージを計算するために、より少ないステップしか必要とせず、この場合、kは、最終イメージの視覚効果の数より少ないことがある。
【0061】
有利には、最終イメージの表示の速度を適合させるために、ユーザが値kを選択することができる。例えば、上述のように、新しいシステムでは、最終イメージが余りにも早く表示される可能性がある。したがって、ユーザは、kが最終イメージの視覚効果の数と等しくなるまで遷移イメージの数を増やすことによって、最終イメージの表示を遅くすることができる。その結果、シーンが、ユーザによってより良く理解される。
【0062】
ユーザによる値kの選択は、プロセスが開始する前に行うことができるだけでなく、プロセス中に動的に行うこともできる。プロセス中に動的に行う場合、ユーザは、キーボード、マウス、スタイラスなどの触覚デバイスにより、値kの選択を行うことができる。例えば、2つボタンのマウスの場合、左ボタンを使用して、例えば、左ボタンを押し下げたままにすることによって、値kを増加させることができる。これに応答して、最終イメージを表示するために必要とされる時間が増加される。
【0063】
図5は、本発明にかかる、連続するイメージの遷移の例を示す。第1のイメージ50は、図2のイメージ20と同様に低品質のイメージであり、球体56の上方に配置された光源(図5には図示せず)によって照明された球体56を示している。その後、本発明に従って、重み付け関数 f(ImDeg,ImTrans(n),n=α(n)・ImTrans(n)+(1-α(n))・ImDeg により、連続的に遷移イメージが計算され、マージ済みイメージ51、52、53、54、および55が計算され、表示される。関数α(n)は図4に示されている。マージ済みイメージ51、52、53、54、および55はそれぞれ、図2のイメージ21、22、23、24、および25と同一の視覚効果(平滑化された陰影)を示している。第1のマージ済みイメージ51は、視覚効果の第1の中間表現57を備える。ImTrans(n=1)と表記される第1の遷移イメージを作成するために、平滑化された陰影57は、部分的に計算され、低品質のイメージ50に追加される。イメージ51における視覚効果57の外観(apparition)は、図2のイメージ21上の同一の視覚効果27の外観と比べて、より滑らかであり、実際、陰影57は、陰影27と比べてぼかされている。同様に、第2のマージ済みイメージ52が表示される。第2のマージ済みイメージ52は、視覚効果の新たな中間表現58を備える。この中間表現58は、以前の視覚効果の表現57と比べて改善されており、この中間表現58の計算は、前の表現57の計算結果から開始されたものである。この場合も、イメージ52の表示は、図2のイメージ22の表示と比べて、より滑らかである。次に、第3のマージ済みイメージ53、および第4のマージ済みイメージ54が表示される。最後に、第5のマージ済みイメージ55が表示され、このイメージ55は、最終イメージである。この段階で、終了基準に合致し、プロセスは終了する。α(n)の閾値が、α(n=5)=1となるように選択されているので、第5のマージ済みイメージ(つまり、最終イメージ)が、第5の遷移イメージ(ImTrans(n=k=5))である。したがって、本発明の方法によると、2つの連続するイメージの間の遷移は、急ではなく乱暴に行われない。その結果、設計者に対する視覚的な快適性が向上されるとともに、設計者は、最終イメージ55が表示されるまで品質の改善を見ることができる。
【0064】
なお、図5に表された連続するイメージの数は、簡潔性のために限定されている。実際には、イメージ50、51、52、53、54、および55を、n=0、n=1、n=5、n=9、n=17、およびn=128というそれぞれの値に相当させることも可能である。
【0065】
上述の方法を、コンピュータスクリーン上にオブジェクトを表示することが可能な任意の構成、または任意のシステムに適用することができることを理解されたい。本発明は、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、もしくはこれらの組合せにおいて実装することもできる。本発明に係る装置を、プログラム可能なプロセッサによる実行のためにマシン読取可能記憶装置に具現化されるコンピュータプログラム(コンピュータプログラム生成物)により実装することができる。また、入力データに対して操作をすること、および出力を生成することによって本発明の機能を実行する命令で構成されるプログラムを実行する、プログラム可能なプロセッサによって、本発明に係る方法のステップを実行することもできる。
【0066】
本発明は、有利には、データストレージシステムとの間でデータおよび命令の送受信を行うように結合された少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含むプログラム可能なシステムにおいて実行可能な、1つまたは複数のコンピュータプログラムで実装することができる。アプリケーションプログラムは、高レベルのプロシージャプログラミング言語またはオブジェクト指向プログラミング言語で、あるいは必要に応じて、アセンブリ言語または機械語で実装することができ、いずれにしても、この言語は、コンパイルまたはインタープリタ型の言語とすることができる。
【0067】
図6は、クライアントコンピュータシステム、例えば、ユーザのワークステーションを示している。このクライアントコンピュータは、内部通信BUS1000に接続された中央処理ユニット(CPU)1001、および同様にBUS1000に接続されたランダムアクセスメモリ(RAM)1007を備える。クライアントコンピュータは、さらに、BUSに接続されたビデオRAM1010に関連するグラフィカル処理ユニット(GPU)1011を備える。ビデオRAM1010は、当技術分野ではフレームバッファとしても知られている。大容量ストレージデバイスコントローラ1002は、ハードドライブ1003などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令およびデータを具現化するのに適した大容量メモリデバイスには、例えば、EPROMデバイス、EEPROMデバイス、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD−ROMディスク1004を含め、すべての形態の不揮発性メモリが含まれる。上記メモリデバイスのうちの任意のメモリデバイスを、特別に設計されたASIC(特定用途向け集積回路)に提供し、あるいはASICに組み込むことができる。ネットワークアダプタ1005は、ネットワーク1006へのアクセスを管理する。クライアントコンピュータは、カーソル制御装置やキーボードなどの触覚デバイス1009も含むことができる。クライアントコンピュータにおいて、カーソル制御装置を使用することにより、ユーザは、選択的にディスプレイ1008上の任意の所望の位置にカーソルを置くことができる。さらに、カーソル制御装置により、ユーザは、様々なコマンドを選択し、制御信号を入力することができる。カーソル制御装置は、システムに制御信号を入力するための複数の信号生成デバイスを含む。典型的に、カーソル制御装置はマウスとすることができ、このマウスのボタンを使用して信号を生成することができる。
【0068】
本発明の好ましい実施形態を説明してきた。本発明の精神および範囲を逸脱することなく、様々な変更を行うことができることが理解されよう。したがって、他の実装も特許請求の範囲に含まれる。例えば、任意の重み付け関数を使用することができ、該関数が線形関数である必要はない。重み付け関数は、初めのいくつかのマージ済みイメージに対しては低品質のイメージを優先し、その後、終わりのいくつかのマージ済みイメージに対しては遷移イメージを優先させることができる。

【特許請求の範囲】
【請求項1】
コンピュータスクリーン上にオブジェクトを表示するために、コンピュータによって時実行される方法であって、
第1のイメージを計算するステップ(S20)と、
前記第1のイメージを表示するステップ(S30)と、
n番目の遷移イメージを計算するステップ(S40)と、
重み付けされた前記第1のイメージと重み付けされた前記n番目の遷移イメージをマージすることによって、n番目のマージ済みイメージを計算するステップ(S60)と、
前記n番目のマージ済みイメージを表示するステップ(S70)と
をk回繰り返すステップと
を含み、
nは、1からkまでの範囲内であり、nおよびkは、正の整数であることを特徴とする方法。
【請求項2】
前記n番目の遷移イメージ(S40)は、(n−1)番目の遷移イメージから開始して計算されることを特徴とする請求項1に記載の方法。
【請求項3】
前記n番目のマージ済みイメージを計算するステップ(S60)は、前記第1のイメージのピクセルおよび前記n番目の遷移イメージのピクセルを変数として有する関数fによって実行されることを特徴とする請求項1乃至2のいずれかに記載の方法。
【請求項4】
前記第1のイメージおよび前記n番目の遷移イメージは、重み付け関数である前記関数fによって重み付けされることを特徴とする請求項1乃至3のいずれかに記載の方法。
【請求項5】
前記重み付け関数fは、f(ImDeg,ImTrans(n),n=α(n)・ImTrans(n)+(1-α(n))・ImDegとして定義され、ImDegは、前記計算された第1のイメージであり、ImTrans(n)は、前記計算されたn番目の遷移イメージであり、α(n)は、0から1までの範囲内にあり、nを変数として有する関数であることを特徴とする請求項4に記載の方法。
【請求項6】
前記繰り返すステップにおいて、kは、終了基準を満たすように選択されることを特徴とする請求項1乃至5のいずれかに記載の方法。
【請求項7】
表示されたマージ済みイメージが最終イメージであるときに、前記終了基準が満たされることを特徴とする請求項6に記載の方法。
【請求項8】
kは、デフォルトまたはユーザによって選択されることを特徴とする請求項6乃至7のいずれかに記載の方法。
【請求項9】
コンピュータスクリーン上にオブジェクトを表示するための装置であって、
請求項1乃至8のいずれかに記載の方法のステップを実装するための手段を備えたことを特徴とする装置。
【請求項10】
コンピュータ読取可能記憶媒体に記憶された、コンピュータスクリーン上にオブジェクトを表示するためのコンピュータプログラムであって、
請求項1乃至8のいずれかに記載の方法のステップをコンピュータに実行させるためのコード手段を備えたことを特徴とするコンピュータプログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図2】
image rotate

【図5】
image rotate


【公開番号】特開2011−129124(P2011−129124A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−281020(P2010−281020)
【出願日】平成22年12月16日(2010.12.16)
【出願人】(500102435)ダッソー システムズ (52)
【氏名又は名称原語表記】DASSAULT SYSTEMES
【Fターム(参考)】