【文献】
曽良洋介 他2名,Skin−Off:3次元ビデオ圧縮のためのテクスチャ指向型2次元平面展開法,映像情報メディア学会誌,日本,(社)映像情報メディア学会,2006年 4月 1日,第60巻第4号,p553-560
(58)【調査した分野】(Int.Cl.,DB名)
修正された二次元座標を有する前記頂点のセットがラスタイメージを形成し、前記セットの個々の頂点は前記ラスタイメージのピクセルであり、前記セットの個々の頂点の座標(x、y、z)が前記ラスタイメージの色チャネル赤/青/緑の中に記憶されることを特徴とする請求項1乃至6のいずれか一項に記載のコンピュータ実施方法。
【背景技術】
【0002】
市場には、オブジェクトを設計し、エンジニアリングし、かつ、製造するための多くのシステムおよびプログラムが提供されている。CADは、Computer−Aided Designの頭辞語であり、例えばオブジェクトを設計するためのソフトウェア解決法に関連している。CAEは、Computer−Aided Engineeringの頭辞語であり、例えば将来の製品の物理的な挙動を模擬するためのソフトウェア解決法に関連している。CAMは、Computer−Aided Manufacturingの頭辞語であり、例えば製造プロセスおよび操作を定義するためのソフトウェア解決法に関連している。このようなコンピュータ支援設計システムでは、グラフィカルユーザインタフェースは、技法の効率に関して重要な役割を果たしている。これらの技法は、Product Lifecycle Management(PLM)システムの中に埋め込むことができる。PLMは、概念からその寿命が尽きるまでの製品の開発のために、拡張された企業の概念を超えて製品データを共有し、共通プロセスを適用し、かつ、企業知識をてこ入れするために会社を援助するビジネス戦略を意味している。
【0003】
Dassault Systemesが(CATIA、ENOVIAおよびDELMIAの商標の下で)提供しているPLM解決法は、製品エンジニアリング知識を系統だてるEngineering Hub、製造エンジニアリング知識を管理するManufacturing Hub、および企業がEngineering HubおよびManufacturing Hubの両方に統合し、かつ、接続することができるEnterprise Hubを提供している。これらのすべてが相俟って、システムは、最適化された製品定義、製造準備、製造およびサービスを駆動するオープンオブジェクトモデル統合製品、プロセス、動的知識ベース製品生成および決定支援を可能にする資源を引き渡している。
【0004】
コンピュータグラフィックスの分野では、3Dオブジェクトの表面は、しばしば3D空間における三角形の集合によって(またはより一般的には多角形の集合によって)表される。これらの多角形は、異なる特性を保持している頂点を接続している。これらの異なる特性の中でも、個々の頂点は、とりわけ、空間中に少なくとも確定位置を有している(x、yおよびz)。この種の表現は多角形メッシュと呼ばれている。また、表現が三角形のみを含んでいる場合、それは三角形メッシュと呼ばれている。多角形メッシュは、(i)頂点毎の位置および他の特性の全セットを含んだ幾何学データ、および(ii)個々の多角形によって結合された頂点の指標を含んだ接続性データの2つのデータのタイプに分割することができる。
【0005】
3Dオブジェクトおよび3Dオブジェクトの表面幾何学は、簡単な実施態様、つまり圧縮のない実施態様では、持続的なサポート上に記憶することができる。この簡単な記憶(つまり圧縮のない記憶)は、特にCATIAおよび他のCADソフトウェアで使用されている。このような記憶の場合、記憶は無損失である。実際、モデルを定義しているデータは、記憶に先立って修正されず、したがってデータのいかなる損失もあり得ない。また、記憶は安定している。実際、モデルを定義しているデータは、データが圧縮されていないため、モデルが再開される際に変形されない。しかしながらこのような方法では、CADモデルの記憶サイズを最適化することはできない。
【0006】
この目的のために、いくつかの圧縮スキームが開発されている。リメッシングは、3Dオブジェクトを記憶するために使用することができる、記憶装置上の必要な記憶空間が著しく小さい技法の1つである。表面幾何学は、しばしば不規則な三角形メッシュを使用してモデル化される。リメッシングのプロセスは、(半)規則的接続性を有するメッシュを使用してこのような幾何学を近似することを意味している。
【0007】
Xiangfeng Gu、Steven GortlerおよびHugues Hoppe(非特許文献1)は、幾何学イメージと呼ばれる他の表現、および3Dモデル多角形メッシュを幾何学イメージと呼ばれるイメージに変換するプロセスを紹介している。幾何学イメージは完全な規則的構造であり、3Dオブジェクトの表面は頂点の格子によって表される。個々の頂点は、格子縁の部分を除く4つの隣同士に接続される。したがって幾何学イメージは、着色されたピクセルの二次元アレイであるラスタイメージのように、頂点の2Dアレイとして企図することができる。さらに比較へと進行すると、幾何学イメージは二次元イメージとして見ることができ、個々のピクセルは、それらの色チャネル(赤、緑、青)の中に、三次元オブジェクトの表面のサンプリングされる点の位置x、yおよびzを保持している。接続性は暗に含まれている(頂点は幾何学イメージ中のその4つの隣同士に接続される)ため、幾何学イメージをシリアル化するためには、個々の頂点の特性(幾何学データ)を記憶するだけでよい。
【0008】
幾何学イメージ表現は、いくつかのオンライン仮想世界では、場合によっては彫刻されたプリムと呼ばれている。幾何学イメージは、それを使用した操作(モデル化)が容易であり、また、ネットワークを介してそれを圧縮し、かつ、転送することが効率的であるため、この種の用途に特に適している。また、この表現は、何人かのモデラーによって認識されている。
【0009】
多角形メッシュを幾何学イメージに変換するプロセスは、リメッシングと呼ばれている。それは、多角形メッシュによって表現されるオブジェクト表面のための便利な2Dパラメータ表示を見出し、次に、この表面の2Dパラメータ表示空間に規則的に間隔を隔てて配置された新しい点をサンプリングすることにある。構築プロセスによれば、幾何学イメージ表現であるこれらの新しい点が規則的な格子を形成する。リメッシングプロセスの必然的な結果は、以下の通りである。
− サンプリングされた新しい点と初期多角形メッシュのこれらが一致することの保証は存在せず、それはほとんど絶対に起こらない。
− 初期メッシュの接続性データは完全に失われ、結果として得られた幾何学イメージを考察することによって初期頂点がどのように接続されていたかを知る方法は存在しない。
− 2Dパラメータ表示およびサンプリングされた2つの点の間の距離によっては、初期多角形メッシュ中のいくつかの細部が、結果として得られる幾何学イメージ中で消滅することがある。言い換えると、規則的にサンプリングされた点を結合することによって構築される表面は、構築プロセスのため、元の表面とは若干異なることがある。この効果は、サンプリング点の数を多くすると小さくすることができるが、そのために幾何学イメージのサイズが大きくなることになる。
【0010】
もう1つの制限は、完全に閉じておらず(not watertight)、高いトポロジー種数を有しているか、またはマニホルドではないモデルは、プロセスの始めに、好適な2Dパラメータ表示を見出すために追加計算を必要とすることがあることである。そのため、同じ表面を正しく記述するために、初期多角形メッシュ中より幾何学イメージ中にはるかに多くの頂点が必要になることがある。もっと悪い状況では、解決法を見出すことが不可能になることさえある。
【0011】
要約すると、リメッシングのプロセスは、幾何学イメージから初期多角形メッシュを回復することができない意味では不可逆的である。幾何学イメージから得られる表現は、せいぜい、初期多角形メッシュに極めて類似していることであるが、両方の表現は、Hausdorff距離の点で必ずしも一致していない。さらに、幾何学イメージは初期メッシュに近い表面を表しているが、いくつかの誤り、微小細部の損失、ひずみ、等々が必ず伴う。さらに、完全に閉じていない(not watertight)初期メッシュは、オブジェクトを記述するために多角形メッシュよりも多くのデータを必要とする幾何学イメージをもたらすことがある。
【0012】
この文脈には、無損失で完全に可逆性であり、また、CADファイルの記憶サイズを有効に低減するのに適した、改良された圧縮方法の必要性が依然として存在している。
【発明を実施するための形態】
【0021】
図1の流れ図を参照すると、三次元(3D)モデル化オブジェクトを圧縮するためのコンピュータ実施方法が提案されている。方法は、三次元モデル化オブジェクトのメッシュを提供するステップを含む。次に、メッシュが二次元(2D)平面内でパラメータ表示される(u、v)。メッシュをパラメータ表示することにより、2D座標を有する一組の頂点が得られる。次に、二次元平面に格子が提供される。次に、個々の頂点の2D座標が修正される。2D座標の修正は、格子の1つの交点に1つの頂点を割り当てることによって実施される。
【0022】
このような方法は、Xianfeng Gu、Steven J. GortlerおよびHugues Hoppe(非特許文献1)に開示されている幾何学イメージの定義を若干修正しており、2Dイメージ表現への多角形メッシュの改良された変換を提供する。つまりこの方法は、3Dモデル化オブジェクトの圧縮を改善する。
【0023】
説明のために、幾何学イメージは、当分野で知られているように、3Dモデル化オブジェクトの任意の表面を3Dモデル化オブジェクトの元の幾何学の完全な規則的リメッシュである2Dイメージとして静的メッシュ上に変換することによって得られること、および逆変換をサポートすることを想起されたい。幾何学イメージは、幾何学を量子化された点の単純な2Dアレイとして捕える完全な規則的構造を提供する。表面は法線のような意味を表し、また、色は、同じ暗黙の表面パラメータ表示を使用して同様の2Dアレイの中に記憶され、テクスチャ座標は存在しない。
【0024】
この方法の結果は、3Dオブジェクトの表面に存在する頂点の二次元アレイであるが、オブジェクトの表面の新しい点を規則的な時間間隔でサンプリングして点の格子を得る代わりに、三角形メッシュから元の頂点が維持される。これは、有利には、初期多角形メッシュからの頂点と正確に一致する頂点の二次元アレイによって保持された任意の頂点を提供する。相互に、初期多角形メッシュからの任意の頂点は、幾何学イメージの頂点と正確に一致する。したがって頂点の二次元アレイの任意の頂点は、多角形メッシュの中に1つの正確に対応する頂点を有することになり、したがって多角形メッシュを幾何学イメージに変換するプロセスは完全に可逆性である。これは、この方法を使用して圧縮された3Dモデル化オブジェクトは、変換が無損失であるため、微小細部を損失することなく圧縮を解除することができることを含む。実際、この圧縮方法は、パラメータ表示されたメッシュのサンプリングを利用していないため、初期多角形メッシュの任意の細部が結果として得られる頂点の二次元アレイの中で消滅することがある。この方法によれば、幾何学イメージのサイズを大きくするサンプリング点の数を多くする必要はない。したがって本発明によれば、有利には、Xianfeng Gu、Steven J. GortlerおよびHugues Hoppeに開示されている幾何学イメージを使用すると失われることになる細部を含んだ3Dモデル化オブジェクトのメッシュの圧縮率を改善することができる。さらに、この方法は、3Dモデル化オブジェクトのメッシュのクロージャまたはトポロジーに対する何らかの条件を必要としないため、任意の3Dモデル化オブジェクトを変換することができる。本発明の他の利点は、説明の中で明らかになるであろう。
【0025】
方法はコンピュータによって実施される。これは、方法のステップ(または実質的にすべてのステップ)が少なくとも1つのコンピュータによって実行されることを意味している。例では、方法のステップのうちの少なくともいくつかのトリガリングは、ユーザ−コンピュータ対話を介して実施することができる。必要なユーザ−コンピュータ対話のレベルは、自動的に予知されるレベルに応じて様々であり、ユーザの希望を実施する必要性とバランスを取ることができる。例では、このレベルは、ユーザが定義することができ、および/または予め定義することができる。
【0026】
例えば3Dモデル化オブジェクトのメッシュを提供するステップは、ユーザアクションに応じて実施することができる。例えばユーザは、3Dモデル化オブジェクトを専用メニュー中または特徴ツリーの中、例えば図中のデータ2500の中に選択することができる。
【0027】
方法のコンピュータ実施の典型的な例は、3Dモデル化オブジェクトまたは3Dモデル化オブジェクトの少なくともメッシュを記憶する記憶装置を備えたシステム(例えばCADシステム)を使用して方法を実施することである。データベースを記憶する記憶装置は、単にこのような記憶に適した任意のハードウェアにすぎない。システムは、さらに、グラフィカルユーザインタフェース(GUI)を備えることができる。GUIは記憶装置およびプロセッサに結合される。GUIは、提供された3Dモデル化オブジェクトのメッシュを表示するように適合させることができる。システムは、さらに、上記方法に従って三次元モデル化オブジェクトを圧縮するための手段を備えている。システムは、さらに、上記方法に従って圧縮された三次元モデル化の圧縮を解除するための手段を備えることができる。このようなシステムによれば、少ない記憶装置資源を使用して3Dモデル化オブジェクトをモデル化することができる。実際、システムは、上で示した有効な圧縮方法に従って3Dモデル化オブジェクトを圧縮するため、他のシステムと比較すると、より多くのオブジェクトを圧縮された形態の下でシステムのデータベースに記憶することができる。さらに、このようなシステムは、圧縮された3Dモデル化オブジェクトの圧縮を解除する際に、情報を失うことなく詳細な3Dモデル化オブジェクトを圧縮することができるため、設計のプロセス全体を改善する。
【0028】
グラフィカルユーザインタフェースを使用することにより、ユーザは、オブジェクトをモデル化するデータを圧縮する命令、またはオブジェクトをモデル化するデータの圧縮を解除する命令を発することができる。オブジェクトは部品であってもよく、したがってCADファイルによってモデル化される。したがってシステムは、圧縮された形態の下でCADファイルを記憶することができ、また、設計者が部品に対する作業を必要とすると、例えばグラフィカルユーザインタフェースによってそれらの圧縮を解除することができる。
【0029】
「データベース」は、探索および検索のために編成されたデータ(すなわち情報)の任意の集合を意味している。記憶装置に記憶されると、データベースは、コンピュータによる速やかな探索および検索を可能にする。データベースは、実際、様々なデータ処理操作と共に、データの記憶、検索、修正および削除を容易にするように構造化される。データベースは、記録に分解することができるファイルまたはファイルのセットからなっていてもよく、その各々は、1または複数の欄からなっている。欄は、データ記憶の基本単位である。ユーザは、主として問合せを介してデータを検索することができる。ユーザは、使用されているデータベース管理システムの規則に従ってデータの特定の集合を検索し、かつ、その集合に関する報告を作成するために、キーワードおよびソーティングコマンドを使用して多くの記録中の欄を速やかに探索し、配置変えし、分類し、かつ、選択することができる。
【0030】
方法の場合、データベースは、3Dモデル化オブジェクトまたは3Dモデル化オブジェクトの少なくともメッシュを表現するデータを記憶することができる。
【0031】
方法は、通常、3Dモデル化オブジェクトのメッシュを処理する。モデル化オブジェクトは、データベースに記憶されているデータによって定義される任意のオブジェクトである。拡張により、「モデル化オブジェクト」という表現はデータ自体を示す。システムのタイプに応じて、異なる種類のデータによってモデル化オブジェクトを定義することができる。
【0032】
システムは、実際、CADシステム、CAEシステム、CAMシステム、PDMおよび/またはPLMシステムの任意の組合せであってもよい。これらの種々のシステムでは、モデル化オブジェクトは、対応するデータによって定義される。したがってCADオブジェクト、PLMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、CAMデータ、CAEデータを暗示することができる。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組合せに対応するデータによって定義することができるため、これらのシステムは他のシステムを排他するものではない。したがってシステムは、実際、以下で提供されるこのようなシステムの定義から明らかになるように、CADシステムおよびPLMシステムの両方であってもよい。
【0033】
CADシステムは、少なくともモデル化オブジェクトの図形表現に基づいてモデル化オブジェクトを設計するのに適した、CATIAなどの任意のシステムを意味している。この場合、モデル化オブジェクトを定義しているデータは、モデル化オブジェクトを表現することができるデータを含んでいる。CADシステムは、例えば、縁および線を使用してCADモデル化オブジェクトの表現を提供することができ、特定の事例では面または表面を使用してCADモデル化オブジェクトの表現を提供することができる。線、縁または表面は、様々な方法、例えば非一様有理B−スプライン(NURBS)で表現することができる。特にCADファイルは仕様を含んでおり、この仕様から幾何学を生成することができ、延いては表現を生成することができる。モデル化オブジェクトの仕様は、単一のCADファイルまたは複数のCADファイルに記憶することができる。モデル化オブジェクトを表現しているファイルのCADシステムにおける典型的なサイズは、部品毎に1メガバイトの範囲である。また、モデル化オブジェクトは、通常、数千個の部品のアセンブリであってもよい。
【0034】
CADの文脈では、モデル化オブジェクトは、通常、例えば部品もしくは部品のアセンブリなどの製品、または場合によっては製品のアセンブリを表現する3Dモデル化オブジェクトであってもよい。製品は、物理的に製造される項目を意味している。「3Dモデル化オブジェクト」は、その3D表現を可能にするデータによってモデル化される任意のオブジェクトを意味している。3D表現により、あらゆる角度から部品を観察することができる。例えば3Dモデル化オブジェクトは、3D表現される場合、任意のその軸の周り、または表現が表示されるスクリーン中の任意の軸の周りで取り扱い、かつ、回転させることができる。これは、とりわけ、3Dモデル化されない2Dアイコンを排除する。3D表現の表示は、設計を容易にする(つまり設計者がそれらのタスクを統計的に達成する速度を速くする)。製品の設計は製造プロセスの一部であるため、これは、産業における製造プロセスの速度を速くする。
【0035】
CADシステムは履歴に基づくことができる。この場合、モデル化オブジェクトは、さらに、幾何学的特徴の履歴を含んだデータによって定義される。モデル化オブジェクトは、実際、標準モデル化特徴(例えば押し出し、回転、切断および/または丸め、等々)、および/または標準サーフェーシング特徴(例えば掃引、調合、ロフト、充填、変形、平滑化および/または等々)を使用して、自然人(つまり設計者/ユーザ)によって設計することができる。このようなモデル化機能をサポートしている多くのCADシステムは、履歴に基づくシステムである。これは、設計特徴の履歴の作成は、通常、幾何学的特徴を統合している非周期的データフローを介して、およびそれと同時に入力および出力リンクを介して保管されることを意味している。履歴に基づくモデル化範例は、80年代の初めからよく知られている。モデル化オブジェクトは、履歴およびB−rep(すなわち境界表現)の2つの持続データ表現によって記述される。B−repは、履歴の中で定義されている計算の結果である。モデル化オブジェクトが表現される際にコンピュータの画面に表示される部品の形状は、B−rep(のモザイク細工)である。部品の履歴は設計意図である。基本的には、履歴は、モデル化オブジェクトに施された操作に関する情報を寄せ集める。B−repは、複雑な部品の表示を容易にするために、履歴と共に保管することができる。履歴は、設計意図に従って部品の設計変更を可能にするために、B−repと共に保管することができる。実際には、部品の(B−rep)は、表示されるメッシュを出力するメッシャーに幾何学的モデルを記述する手段である。
【0036】
CAE(Computer−Aided Engineering)解決法は、モデル化オブジェクトの物理的な挙動の解析に適した任意の解決法、ハードウェアのソフトウェアを意味している。よく知られており、かつ、広く使用されているCAE技法は、通常、式によって物理的な挙動を計算し、かつ、模擬することができる要素へのモデル化オブジェクトの分割を必要とするFinite Element Method(FEM)である。このようなCAE解決法は、商標SIMULIA(登録商標)の下でDassault Systemesによって提供されている。成長している他のCAE技法は、CAD幾何学データがない物理学の異なる分野からの複数の構成要素から構成される複雑なシステムのモデル化および解析を含む。CAE解決法によれば、製造する製品の改良および検証を模擬することができ、したがって最適化することができる。このようなCAE解決法は、商標DYMOLA(登録商標)の下でDassault Systemesによって提供されている。
【0037】
CAM(Computer−Aided Manufacturing)解決法は、製品の製造データの管理に適した任意の解決法、ハードウェアのソフトウェアを意味している。製造データは、通常、製造する製品、製造プロセスおよび必要な資源に関連するデータを含む。CAM解決法は、製品の製造プロセス全体を計画し、かつ、最適化するために使用される。例えばそれは、実現可能性、製造プロセスの継続期間、または製造プロセスの特定のステップで使用することができる特定のロボットなどの資源の数に関する情報をCAMユーザに提供することができ、したがって管理または必要な投資に関する決定を下すことができる。CAMは、CADプロセスおよび潜在的なCAEプロセスの後の後続するプロセスである。このようなCAM解決法は、商標DELMIA(登録商標)の下でDassault Systemesによって提供されている。
【0038】
PDM(Product Data Management)解決法は、特定の製品に関連するあらゆるタイプのデータの管理に適した任意の解決法、ハードウェアのソフトウェアを意味している。PDM解決法は、製品のライフサイクルに含まれているすべてのアクターが使用することができ、主としてエンジニアが使用することができるが、同じくプロジェクトマネジャ、財務担当者、販売担当者および買手を含む。PDM解決法は、通常、製品指向データベースに基づいている。それは、アクターによるそれらの製品に関する無矛盾データの共有を可能にし、したがってアクターによる異なるデータの使用を防止する。このようなPDM解決法は、商標ENOVIA(登録商標)の下でDassault Systemesによって提供されている。
【0039】
図13はシステムのGUIの例を示したもので、システムはCADシステムである。
【0040】
GUI2100は、標準メニューバー2110、2120、ならびにボトムおよびサイドツールバー2140、2150を有する典型的なCAD様インタフェースであってもよい。このようなメニューバーおよびツールバーは、一組のユーザ選択可能アイコンを含み、個々のアイコンは、当分野で知られているように、1または複数の操作または機能に結合されている。これらのアイコンのうちのいくつかは、GUI2100の中に表示されている3Dモデル化オブジェクト2000に対する編集および/または作業のために適合されたソフトウェアツールに結合されている。ソフトウェアツールは、ワークベンチに分類することができる。個々のワークベンチは、ソフトウェアツールの部分集合を含む。詳細には、ワークベンチのうちの1つは、モデル化されている製品2000の幾何学的特徴の編集に適した編集ワークベンチである。操作中、設計者は、例えばオブジェクト2000の部品を予め選択し、次に操作(例えば寸法、色、等々の変更)を開始し、または適切なアイコンを選択することによって幾何学的な制限を編集することができる。例えば典型的なCAD操作は、画面に表示されている3Dモデル化オブジェクトの押抜きまたは畳込みのモデル化である。
【0041】
GUIは、例えば、表示されている製品2000に関連するデータ2500を表示することができる。
図2の例では、「特徴ツリー」として表示されているデータ2500およびそれらの3D表現2000は、ブレーキパスおよびディスクを含んだブレーキアセンブリに関係している。GUIは、さらに、例えばオブジェクトの3D配向を容易にし、編集された製品の動作の模擬をトリガし、または表示されている製品2000の様々な属性を表現するための様々なタイプの図形ツール2130、2070、2080を示すことができる。カーソル2060は、ユーザによる図形ツールとの対話を可能にする触覚デバイスによって制御することができる。
【0042】
図14は、コンピュータシステム、例えばCADシステムを示したものである。
【0043】
クライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010、同じくバスに接続されたランダムアクセスメモリ(RAM)1070を備えている。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ1100に結合される画像処理用演算プロセッサ(GPU)1110を備えている。ビデオRAM1100は、当分野ではフレームバッファとして同じく知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理している。コンピュータプログラム命令およびデータを有形形態で具体化するのに適した大容量記憶装置は、一例としてEPROM、EEPROMおよびフラッシュ記憶装置などの半導体記憶装置、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスク、光磁気ディスクおよびCD−ROMディスク1040を始めとするあらゆる形態の不揮発性記憶装置を含む。以上はいずれも、専用に設計されたASIC(特定用途向け集積回路)によって補足することができ、または専用に設計されたASIC(特定用途向け集積回路)に組み込むことができる。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理している。また、クライアントコンピュータは、カーソル制御デバイス、キーボード、等々などの触覚デバイス1090を含むことも可能である。カーソル制御デバイスは、
図13を参照して言及したように、ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることができるよう、クライアントコンピュータの中で使用される。さらに、カーソル制御デバイスにより、ユーザは、様々なコマンドおよび入力制御信号を選択することができる。カーソル制御デバイスは、システムに対する入力制御信号のための多数の信号発生デバイスを含む。通常、カーソル制御デバイスはマウスであってもよく、マウスのボタンは信号を生成するために使用される。他の例として、ディスプレイ1080は、感知可能なタッチディスプレイであってもよく、また、カーソル制御は、タッチセンシティブディスプレイ上のユーザアクション(例えば接触)によって実施することができる。
【0044】
コンピュータプログラムは、コンピュータによる命令を含むことができ、命令は、上記システムに上記方法を実施させるための手段を含む。本発明は、例えばディジタル電子回路機構の中、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアの中、またはそれらの組合せの中で実施することができる。本発明の装置は、プログラマブルプロセッサによる実行のために、機械可読記憶装置の中に有形形態で具体化されたコンピュータプログラム製品の中で実施することができ、また、本発明の方法ステップは、入力データに対する操作および出力の生成によって本発明の機能を実施する命令のプログラムを実行するプログラマブルプロセッサによって実施することができる。
【0045】
本発明は、有利には、データ記憶システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスからデータおよび命令を受け取り、かつ、それらにデータおよび命令を転送するように結合された少なくとも1つのプログラマブルプロセッサを含んだプログラマブルシステム上で実行することができる1または複数のコンピュータプログラムの中で実施することができる。応用プログラムは、高水準手続き形言語またはオブジェクト指向プログラミング言語の中、もしくは必要に応じてアセンブリまたは機械言語の中で実施することができ、いずれの場合においても、言語は、コンパイル済み言語または翻訳済み言語であってもよい。
【0046】
次に、もう一度
図1を参照して、本発明の方法の例を説明する。
【0047】
ステップS10で、3Dモデル化オブジェクトのメッシュが提供される。これは、ユーザアクションによって実施することができ、例えば記憶装置に記憶することができる3Dモデル化オブジェクトをユーザが選択すると実施することができる。また、これは、方法を実施するコンピュータシステムによって自動的に達成することも可能である。提供するということは、3Dモデル化オブジェクトのメッシュをコンピュータシステムが利用することができること、つまり、システムがメッシュに関連するデータにアクセスすることができることを意味している。通常、コンピュータシステムは、それがシステムに利用可能になると、例えば彫像をモデル化している3Dモデル化オブジェクトのメッシュを示す
図4に示されているように、3Dモデル化オブジェクトのメッシュを表示することができる。
【0048】
次に、ステップS20で、メッシュの接続性データが記憶される。例えば接続性データは、3Dメッシュを記憶する記憶装置上に記憶することができる。接続性データは、メッシュの個々の多角形によって結合された頂点の指標を含む。したがって接続性データは、メッシュの頂点毎に、メッシュの個々の頂点に接続される隣の頂点(または複数の頂点)を識別する。頂点は、以下で説明されるように、もはや二次元アレイ内で接近させる必要がないため、多角形メッシュの接続性データを維持することにより、有利にはオブジェクトの表面の接近している頂点の識別が容易になる。
【0049】
ステップS10で提供される多角形メッシュは、予め幾何学データおよび接続性データに分割することができるため、ステップS20は任意選択であってもよいことを理解されたい。したがってこの場合、記憶装置は、幾何学データおよび接続性データの両方を記憶し、したがって接続性データは、他のステップのために利用することができる。
【0050】
次に、ステップS30で、提供された3Dモデル化オブジェクトのメッシュが二次元平面内でパラメータ表示される(u、v)。二次元平面内でメッシュをパラメータ表示することは、3Dモデル化オブジェクトの仕様を2D空間に有するために必要なパラメータが決定されることを意味している。実際には、パラメータ表示は、2D平面内のメッシュの個々の頂点の有効座標(u、v)の完全なセットの識別を含む。パラメータ表示は、当分野で知られているように実施され、例えばABF++パラメータ表示アルゴリズムを使用することができる。例えばこれは、メッシュ全体を二次元平面内で、より少ないひずみで畳込みを解除することができるように、または微小数のチャートに切断されたメッシュを二次元平面内で、より少ないひずみで畳込みを解除することができるように実施することができる。
【0051】
図5は、2D平面内でパラメータ表示された
図4のメッシュを示したものである。メッシュをパラメータ表示することにより、2D平面内に二次元座標(u、v)を有する一組の頂点が得られる。おもしろいことには、3Dモデル化オブジェクトの元のメッシュの個々の頂点は、2D平面内では1つの頂点によって表現されている。
【0052】
図1に戻ると、ステップS40で、2D平面に格子が提供される。実際には、格子は、例えばコンピュータシステムによって自動的に提供される。2D平面に格子を提供することは、互いに交差する一組の線が2D平面上に画定されることを意味している。線は交差し、したがって2D平面に一組の交点を提供している。実際には、線は、水平方向に一様に間隔を隔てた直角の線であり、したがって交点は、2D平面上に規則的に置かれている。これにより、有利には、以下のステップで示されているように、二次元アレイの構築を改善することができる。任意の構成の線を使用することができることを理解されたい。
【0053】
格子の交点の数は、少なくともパラメータ表示されたメッシュの頂点の数に等しい。実際には交点の数は、メッシュの頂点の数より若干多い。
【0054】
おもしろいことには、格子のサイズは拡張可能にすることができる。格子を拡張することは、互いに交差する線の数を多くすることができ、したがって格子の交点の数が増加することを意味している。実際には、格子の拡張は、格子の縁に新しい線を追加することによって実施される。言い換えると、格子の頂点の密度は増加しない。逆に、格子のサイズを短くする、つまり格子の1または複数の線を除去することも可能である。
【0055】
実際には、ステップS40は、3Dモデル化オブジェクトのメッシュのパラメータ表示が実施される前に実施することができる。一般的には、2D平面に格子が追加された後にパラメータ表示が実施される。次に、メッシュのパラメータ表示が生じた後、パラメータ表示の結果に応答して、格子のサイズを動的に変更する(例えば拡張する)ことができ、実際、結果として得られる頂点のセットの非一様な分布は、一般的にはメッシュのパラメータ表示によるものである。例えば線は、2D平面の、パラメータ表示されたメッシュの頂点の密度が最も重要であるゾーンの近くの格子の縁に追加することができる。これは、有利には、次のS50の効率を改善することができる。
【0056】
また、2D平面上の個々の交点は、2D平面内に座標(u、v)を有している。交点の座標は、メッシュのパラメータ表示ステップで使用される参照と同じ参照を使用することによって画定することができる。
【0057】
図6は、格子が追加された、
図5のパラメータ表示された2D平面を示したものである。この例では、水平方向に一様に間隔を隔てた直角の線の数は、交点の数がパラメータ表示されたメッシュの頂点の数より若干多くなるように選択されている。
【0058】
次に、ステップS50で、個々の頂点の二次元座標(u、v)が修正される。修正は、格子の1つの交点に1つの頂点を割り当てることによって実施される。これは、1つの交点には1つの頂点しか置くことができないことを意味している。したがって1つの交点に2つの頂点を割り当てることはできない。1つの交点への1つの頂点の割当てはスナッピングと呼ぶことができ、1つの交点は、1つの頂点のためのスナップとして作用する。
【0059】
割当ては、1つの頂点が1つの交点に結び付けられることを意味しており、これは、頂点の2D平面内の座標を交点の2D平面内の座標に置き換えることによって実施される。
【0060】
パラメータ表示されたメッシュの頂点は、ステップS50が実施される前の交点の座標と全く同じ座標を有することができることを理解されたい。この場合、頂点の座標は不変を維持する。
【0061】
ステップS50の最後に2D平面内の格子が得られ、初期メッシュの任意の頂点が1つの異なる交点に割り当てられる。したがって格子は頂点の2Dアレイと等価である。
【0062】
次に
図3を参照すると、スナッピングの例が示されている。パラメータ表示されたメッシュ(ここでは三角形30の形を有している)の3つの頂点の各々は、1つの交点32、34、36に割り当てられている。個々の頂点の座標の修正は、矢印によって示されている頂点の変位として企図することができる。
【0063】
おもしろいことには、パラメータ表示されたメッシュが小さい場合(例えば元の3Dモデル化オブジェクトの微小細部を表現している三角形38)であっても、三角形30の場合と同様の方法で、どうにかして三角形38の座標の修正を実施することができる。したがって、この圧縮方法は、パラメータ表示されたメッシュの従来技術によるサンプリングを利用していないため、結果として得られる頂点の二次元アレイの中で初期多角形メッシュの細部が消滅することはない。このようなサンプリング方法は
図2に示されており、三角形20が複数回にわたってサンプリングされ(黒い点で示されている)、一方、小さい三角形22は、サンプリング間隔が長すぎるため、サンプリングされない。したがって微小細部が失われる。
【0064】
さらに、本発明によれば、記憶装置に維持しなければならないのは、頂点が割り当てられる交点の座標のみであるため、記憶すべきデータの量が少なくなる。対照的に、サンプリングに基づく方法には、より多くの点を記憶する必要がある。
【0065】
図7は、個々の頂点が格子の異なる交点の1つに割り当てられた後の個々の頂点の2D座標(u、v)の修正の結果を示したものである。パラメータ表示されたメッシュの頂点は、今度は二次元アレイが形成される方法で並び換えられている。
【0066】
パラメータ表示されたメッシュの個々の頂点は、パラメータ表示空間に座標(u、v)を有しており、また、格子の交点も同じくパラメータ表示空間に座標(u、v)を有している。このパラメータ表示空間では、特定の領域にいくつかの頂点(格子の4つの交点の間に複数の頂点)を集中させることができ、格子の他の領域は、より少ない頂点のままである。特に、格子のセル毎に複数の頂点が存在している場合、集中は問題になることがあり、セルは、格子の4つの交点の間からなる領域である。対照的に、2D平面のいくつかの部分は、より小さい密度の頂点(格子の4つの交点の間に1つ未満の頂点)を有することができる。格子交点の数は頂点の数に近くなるように(また、頂点の数より若干多くなるように)選択されていることを想起されたい。
【0067】
図8は格子を示したものであり、格子の個々のセル上の頂点(または複数の頂点)の数が異なる。
【0068】
格子の1つの交点に1つの頂点を容易に割り当てることができるようにするためには、4つの交点の間に複数の頂点が存在しないよう、つまり格子のセル毎に複数の頂点が存在しないよう、頂点(u、v)座標の修正が要求されることがある。この条件が考慮されると、格子のセルを画定している4つの交点のうちの1つに個々の頂点を割り当てることができる。
【0069】
頂点が2つのセルの間の境界に配置される(つまり頂点が2つのセルの2つの共通の交点を接続している共通の縁に置かれる)場合、2つのセルのうちのいずれか一方に頂点を割り当てる決定は、所定の規則に従って実施することができる。例えば規則は、境界に配置された頂点は、より少ない頂点を有するセルに割り当てられることを決定することができる。
【0070】
頂点が格子の交点に既に配置されている場合、頂点の2D座標は交点の座標と同じ座標であり、また、この場合、頂点は移動されない。言い換えると、ステップS50が実施される際に、交点に配置された頂点の2D座標は修正されない。
【0071】
図9は、格子の4つの交点の間に頂点が1つしか存在しないように修正された、
図8に示されている頂点の座標(u、v)を示したものである。したがって格子の個々のセルの個々の頂点は、左上の交点(それを取り囲んでいる4つのうちの)に割り当てることができる。したがって個々の頂点は、
図10に示されているように異なる交点に割り当てられることが保証される。
【0072】
次に
図1を参照すると、ここでは格子の1つの交点に対する1つの頂点の属性の例が説明されており、結果として個々の頂点の2D座標が修正される。この例では、基準に従って個々の頂点を他から遠ざかる方向に押す反発技法を使用して格子の1つの交点に1つの頂点が割り当てられる。反発技法は、パラメータ表示空間の頂点間の反発力を模擬する粒子反発を利用している。基準は力に関連していてもよい。
【0073】
ステップS500で、2つの頂点すなわちVxとVyの間の距離(D
vx、v
y)が格子セル対角線の長さ(L)と比較される。格子を形成している線は、水平方向に一様に間隔を隔てた直角の線であり、したがって交点は2D平面上に規則的に置かれており、また、格子のすべてのセルは同じセル対角線長さ(L)を有していることは理解されよう。
【0074】
距離という用語は、頂点からどの程度離れているかを示す数値記述を意味している。距離は、通常、Euclidean距離であってもよい。Manhattan距離またはChebyshev距離などの他のタイプの距離を使用することも可能である。格子のセルは、格子の4つの交点の間からなる領域である。
【0075】
2つの頂点の間の評価された距離が格子セル対角線の長さ(L)より短い場合、2つの頂点は、ステップ520で、他から遠ざかる方向に押される。2つの頂点を遠ざかる方向に押すために適用される距離は、以下のようにして画定することができる。Aで示されている頂点は、格子セル対角線の長さ(L)より短い距離d
iを隔てたその近隣にn個の頂点B
iを有している。個々の頂点B
iは、点Aを遠ざかる方向に押すために寄与c
iを加える。寄与は、関係c
i=(L−d
i)×u
iによって定義され、u
iは、BからAまでの方向、つまり頂点Aが頂点B
iから遠ざかる方向に押される方向を提供する単位ベクトルである。頂点Aは、頂点Bから遠ざかる方向に、距離
【0077】
だけ押され、
− λは、0で始まって、反復毎に1まで漸進的に増加する係数である。係数λは、有利には、アルゴリズムの安定性を提供し、かつ、頂点の分散を回避する。
【0080】
が大きすぎる場合に、Mのサイズを制限する係数である。ηは、有利には、1つの頂点が1回の反復でセルから他の非常に遠いセルまでジャンプするのを回避する。
【0081】
2つの頂点の間の距離が格子セル対角線の長さ(L)より長い場合、2つの頂点は間隔が隔てられない。
【0082】
反発技法の何回かの反復は、格子の4つの交点の間にせいぜい1つの頂点、つまりセル毎にせいぜい1つの頂点しか存在しなくなるまで実施される。これは、所与の頂点に対して、その隣の距離が長さ(L)より長いかどうかが検査されることを意味している。実際には、隣は、頂点が配置されているセルの中で選択され、次に、頂点が配置されているセルを取り囲んでいるセルに存在している頂点に対して距離検査が実施される。セルを取り囲んでいるセルは、このセルと共通の縁を共有しているセルである。
【0083】
セルの頂点間の距離を走査し、かつ、頂点を移動するための擬似アルゴリズムの例は、以下に従う。
While there exists cells comprising two or more vertices
{
For each cell of the grid
{
For each vertex A in the cell
{
If there exists a vertex B in the same cell or in a neighbor cell of the cell
wherein the vertex is located with a distance from A < L
{
The contribution provided by B to push away A is registered; this
is noted as being a collision between A and B;
}
}
}
According to the number of collisions discovered and the number of iterations of this
algorithm, the value of λ is increased toward the value 1
For each vertex A involved in a collision
{
The value of the distance M is computed
The vertex A is moved of M in the 2D plane (possibly, and this is what is looking
for, the vertex A changes of cell
If vertices are out of the grid as a consequence of their displacement, the size of
the grid is increase (for instance by adding lines and rows at the edges of the grid)
}
}
したがってステップS530で、反復を使用して実施される反発技法を使用して、パラメータ表示されたメッシュの1つの頂点が格子の交点上に割り当てられている。反発技法の反復は、格子の4つの交点の間にせいぜい1つの頂点しか存在しなくなるまで実施される。反復することにより、有利には、実施すべき比較の総回数が制限されるのを抑制することができる。さらに、反復は、4つの格子交点の間にせいぜい1つの頂点しか存在しないこと、およびそのステップの前にはパラメータ表示空間内で近くに存在していた2つの頂点が今でも依然として近くに存在し、それらは、それらの間、または頂点を含んでいないセルの間に存在していた頂点を含んだセルによってのみ分離されることを保証する。
【0084】
ステップS40を参照して説明したように、格子のサイズは動的に変更する(例えば拡張する)ことができる。それは、反発技法の結果に応答して変更することができ、実際、それは、通常、格子の縁に近い点が格子の外側に向かって押される反発技法によるものである。この場合、格子の縁の近くに新しい線を追加することができ、したがって押される頂点(複数の頂点)は、常に格子の4つの交点の間に含まれる。他の例として、格子は、1または複数の交点を含んだ隠された縁を有することができ、隠された交点は公然であり、また、押し出された頂点は、公然の交点に割り当てることができる。
【0085】
ステップS50の最後では、パラメータ表示されたメッシュの1つの頂点を格子の1つの交点に割り当てることにより、3Dモデル化のパラメータ表示されたメッシュのすべての頂点の2D座標が修正されている。ステップS10からS50の結果として頂点の2Dアレイが得られている。アレイは、すべて3dモデル化オブジェクトの初期多角形メッシュの中に存在していた頂点を含む。このアレイは、初期接続性データがそれと等価である場合、初期多角形メッシュと等価である。アレイおよび接続性データを有することにより、初期多角形メッシュを取り戻すことができる。したがってリメッシングプロセスは、完全に可逆性プロセスである。
【0086】
ステップS60で頂点間の空の交点が除去される。空の交点は、頂点を全く含んでいない交点である。空の交点の除去は、
図11および12に示されている緩和技法を使用して実施することができる。
【0087】
緩和ステップは、通常、粒子反発ステップS500〜S530の後に実施される。この緩和ステップは、画像処理に基づく方法であるシームカービングを使用することができる。シームカービングは、画像をリサイズするためのアルゴリズムであり、それは、頂点の2Dアレイ内の最も重要ではない経路である多数のシームを設定することによって機能する。アルゴリズムは、シームを自動的に除去し、したがって有利には、頂点の2Dアレイのサイズを小さくする。また、シームカービングは、ピクセルを修正することができない領域の手動による画定を許容することも可能である。
【0088】
シームカービングは、2Dアレイの空の格子交点のシームを繰り返し除去し、したがってシーム除去の前に格子上で近くに存在していたオブジェクトモデル上の近くの頂点は、シーム除去後も近い状態を維持する。
【0089】
次に
図11を参照すると、シームカービング操作の1回の反復が示されており、一組の空の交点は、ステップS10からS50の結果として得られた頂点の2Dアレイ中に決定されている。白い頂点および黒い頂点は、空の交点のシームによって分離されている。
【0090】
次に
図12を参照すると、
図11の頂点の2Dアレイが示されており、シームは除去されている。したがって2Dアレイのサイズは小さくなっている。いくつかの空の交点は、緩和ステップのすべての反復が実施された後であっても、依然として2Dアレイ中に存在し得ることを理解されたい。
【0091】
緩和ステップは、空の交点を識別することができる任意のアルゴリズムを使用して実施することができることを理解されたい。好ましくは、アルゴリズムは、パラメータ表示されたメッシュ中の近くに存在している頂点を近くに維持することができなければならない。
【0092】
したがってステップS60のアウトプットは、入力中で得られる2Dアレイと比較するとサイズが小さくなっている3Dモデル化のパラメータ表示されたメッシュの頂点の2Dアレイである。
【0093】
ステップS50およびS60の両方で、修正された2D座標を有する頂点のセットがラスタイメージを形成し、セットの個々の頂点はラスタイメージのピクセルであり、また、セットの個々の頂点の座標(x、y、z)は、ラスタイメージの色チャネル赤/緑/青(RGB)の中に記憶される。ラスタイメージは、概ねピクセルの長方形の格子、例えば頂点の長方形の2Dアレイを表す点行列データ構造を意味している。RGB色モデルは、赤、緑および青の光が様々な方法でまとめて加えられ、それにより当分野で知られているように色のブロードアレイを再生する加色モデルである。
【0094】
おもしろいことには、補足頂点特性(頂点毎の法線、テクスチャ、座標...のような)を加色チャネルの中に記憶することも可能である。したがってラスタイメージは、恐らくは3Dモデル化の初期メッシュのすべての特性を備えることが可能であり、個々の頂点と共に記憶される特性の数は、色チャネルの数によって制限されることが理解される。
【0095】
任意選択で、ラスタイメージは、ラスタイメージのサイズを小さくするためにフレームし直すことができる。これは、当分野で知られているように実施される。
【0096】
次に、ステップS80で、ラスタイメージおよび接続性データに対して圧縮スキームが適用される。圧縮スキームは、それらに限定されないが、JPEGフォーマットなどの離散余弦変換、JPEG2000フォーマットなどのウェーブレット変換に基づくことができる。実際、ラスタイメージに対して適用することができるすべての圧縮スキームを使用することができる。おもしろいことには、頂点ラスタイメージ格子の2Dアレイは、格子内の近い頂点が、通常は初期オブジェクトの表面上の近くになるように構築されているため、2Dアレイ中の隣接する頂点のx、yおよびz座標は強力に相関しており、したがってこれらの圧縮スキームは偉大な結果を達成することができる。
【0097】
接続性データは、接続性データに関連する情報を記憶するために使用されるフォーマットに対して適合された圧縮スキームを使用して圧縮することができる。例えば接続性データはテキストファイルの中に記憶することができ、また、圧縮スキームは、それらに限定されないが、ZIP圧縮、RAR圧縮であってもよい。
【0098】
画像処理専用のツールおよび操作(圧縮、ビデオ圧縮、透かし入れ、モーフィング...)を得られたラスタイメージに適用することができる。本発明の総合圧縮率は、接続性データが存在しているにもかかわらず、幾何学イメージを使用した知られている解決法と比較すると改善されている。実際、本発明のメッシングは、サンプリング点の数に無関係であるため、記憶する必要のある情報が少ない。
【0099】
本発明に従って圧縮された三次元モデル化は、以下のステップを使用して圧縮解除することができる。
【0100】
最初に、修正された二次元座標を有する一組の頂点が提供される。例えばステップS50またはS60の結果として得られる頂点の2Dアレイ、ステップS70の結果として得られるラスタイメージ、ステップS80の圧縮されたラスタイメージ。
【0101】
次に、提供された頂点のセットから頂点が抽出される。抽出は、通常、2Dアレイの交点を識別することによって実施することができる。例えばラスタイメージのピクセルが識別される。
【0102】
次に、抽出された頂点が接続性データに従って接続される。抽出された頂点は3D空間に置かれる。抽出された頂点の座標は、ラスタイメージの色チャネルRGBから得ることができる。
【0103】
以上、本発明の好ましい実施形態について説明した。本発明の精神および範囲を逸脱することなく様々な修正を加えることができることは理解されよう。したがって他の実施態様は、以下の特許請求の範囲の範疇である。