"浮動小数点実効値の構造化されたセットを備える数値データをコンピュータが圧縮する方法であって、浮動小数点の値は符号、指数、及び仮数によって定義されており、前記方法は、前記セットの対象実効値に関連した浮動小数点予測値を計算するステップであって、前記計算するステップは、前記セットのサブセットの実効値の前記符号、前記指数、及び/又は前記仮数に対応する整数において演算を実行するステップを含む、ステップと、前記対象実効値及び前記予測値から得られた整数の差を表すビットシーケンスを記憶するステップとを含むことを特徴とする方法。前記計算するステップ及び前記記憶するステップは、前記セットの順序に従って反復されることを特徴とする請求項1に記載の方法。前記セットの少なくとも1つの初期実効値が記憶されており、前記計算するステップは前記セットの他の実効値のすべてにわたって反復され、各反復において、前記計算するステップに、前記反復の前記計算された予測値を閾値と比較するステップと、前記予測値が前記閾値より大きいときには、前記反復の前記対象実効値と前記反復の前記予測値とから得られた整数の差を表すビットシーケンスを記憶するステップ、又は、前記反復に関する前記予測値が前記閾値よりも小さいときには、前記反復の前記対象実効値を記憶するステップとが続くことを特徴とする請求項2に記載の方法。前記セットの前記実効値は、幾何学的オブジェクトに関連づけられた座標であり、望ましくは前記幾何学的オブジェクトの制御点の座標であることを特徴とする請求項1乃至3のうちいずれかに記載の方法。前記サブセットの前記実効値は、前記幾何学的オブジェクトの別の制御点に隣接する前記幾何学的オブジェクトの制御点の座標であり、前記対象実効値が前記別の制御点の座標であることを特徴とする請求項4に記載の方法。前記予測値は、前記別の制御点に関連付けられた少なくとも1つのパラメータ、前記サブセットの前記実効値、及び、前記別の制御点に隣接する各制御点に関連付けられた少なくとも1つのパラメータに従って決定されることを特徴とする請求項5に記載の方法。前記少なくとも1つのパラメータは、前記幾何学的オブジェクトのそれぞれの節点ベクトルに従って決定されることを特徴とする請求項6に記載の方法ことを特徴とする請求項6に記載の方法。前記幾何学的オブジェクトはNURBS曲面であり、前記少なくとも1つのパラメータはグレビルパラメータであることを特徴とする請求項7に記載の方法。前記対象実効値及び前記予測値から得られた前記整数は、前記対象実効値及び前記予測値をそれぞれ定義する文字列によって定義された前記整数であることを特徴とする請求項1乃至8のいずれかに記載の方法。前記差を表す前記ビットシーケンスは多くの有効ビットを示すプレフィックスビットシーケンスと、‐前記差に等しいボディビットシーケンスであって、先頭のゼロ及び望ましくは1に等しい最初のビットが削除され、サイズが前記有効ビットの数である、ボディビットシーケンスとを備えることを特徴とする請求項1乃至9のいずれかに記載の方法。前記演算は、整数の加算、減算、乗算及び/若しくは除算を含む算術演算、及び/又は、ビットシフト及び/若しくは先頭ゼロカウントを含むビット単位の演算を備えることを特徴とする請求項1乃至10のうちのいずれかに記載の方法。数値データを伸張するコンピュータ実装方法であって、前記数値データは、浮動小数点実効値の構造化されたセットを備える圧縮された形態のデータであり、浮動小数点値は、符号、指数、及び仮数によって定義されており、前記数値データは、前記セットの対象実効値から得られた整数の差を表すビットシーケンスと、前記対象実効値に関連した浮動小数点予測値と、を含み、前記方法は、前記予測値を計算するステップであって、前記セットのサブセットの実効値の前記符号、前記指数及び/又は前記仮数に対応する整数において演算を実行するステップと、前記予測値から得られた整数を有する前記ビットシーケンスの前記加算から対象実効値を得るステップとを含むことを特徴とする方法。浮動小数点実効値の構造化されたセットを備える数値データによってモデル化されたオブジェクトを記憶するデータベースであって、浮動小数点値が符号、指数、及び仮数によって定義される、データベースと、グラフィカルユーザインターフェイスと、請求項1-11のいずれかに記載の方法に従って数値データを圧縮し、及び/又は、請求項12に記載の方法に従って数値データを伸張する手段とを備えることを特徴とするコンピュータ支援設計システム。コンピュータによる実行のための命令を含むコンピュータプログラムであって、前記命令は、請求項1-13のうちいずれかに記載の方法を実行する手段を含むことを特徴とする方法。請求項14に記載に従うコンピュータプログラムが記憶されていることを特徴とするコンピュータ読み取り可能な記憶媒体。本発明は、データを処理するコンピュータ実装方法に関する。特に本発明は、浮動小数点実効値の構造化されたセットを含む数値データを圧縮するコンピュータ実装方法に関する。本方法は、上記セットの対象実効値に関連した浮動小数点予測値を計算するステップを含む。計算するステップは、整数における演算を実行するステップを含む。整数は、上記セットのサブセットの実効値の符号、指数、及び/又は仮数に対応する。本方法は、整数の差を表すビットシーケンスを記憶するステップを含み、整数は、対象実効値及び予測値から得られる。かかるコンピュータ実装方法は、浮動小数点実効値の構造化されたセットを含む数値データの効率的な圧縮を可能とし、圧縮は無損失であり、浮動小数点のデータタイプをサポートする異なるプラットフォームにわたって安定的である。かかる方法は、浮動小数点実効値の構造化されたセットを含む数値データを含むファイルの記憶サイズを効率的に低減させるのに適している。圧縮は無損失であり、異なるプラットフォームにわたって安定的であるので、本方法は、特に2Dモデル又は3Dモデルの設計図を含むCADファイルに対して適用され得る。実際、CADモデルは、浮動小数点実効値の構造化されたセットを含む数値データによって特定される。よって本方法は、かかるCADファイルを効率的に圧縮することができ、それゆえCADファイルの記憶サイズを低減させる。ファイルを効率的に圧縮するとは、圧縮率が20統計的に高いことを意味している。圧縮方法がより高い圧縮率を統計的に成し遂げる場合、圧縮方法は、別の圧縮方法に対してより効率的であると言われる。本方法は、記憶のインフラストラクチャのコストを低減することができるだろうし、ネットワーク上でCADモデルを送信し又は受信する速度を増大することができる。しかしながら本方法は、一般的に数値データの圧縮に指向されている。言い換えると本方法は、数値データの記憶サイズを低減して、かかるデータを含む任意のファイルのサイズをも低減することを可能とする。データは、データが数に関連することを意味する数値である。特に、本方法は、浮動小数点実効値の構造化されたセットを含む任意の数値データをも圧縮するのに利用され得る。浮動小数点値はIEEE754フォーマット規格により定義されたデータタイプのものであり得る。しかしながら本方法は、他の類似のデータタイプに指向されている。例えば浮動小数点値は、標準の64ビットより小さいビット又は大なるビットにおいて符号化され得る。浮動小数点値は、異なる構造のデータタイプ、例えば指数、仮数、非符号のものであり得る。より一般的には本方法は、少なくとも2つの整数によって表されるあらゆる数値データタイプにも適用する。しかしながら明確にするために、以下において浮動小数点の値を、IEEE754のタイプであると考慮する。実際の浮動小数点実効値のセットは構造化されている。構造化されているとは、実際の浮動小数点値によって表される数字のセットがコヒーレントであることを意味する。すなわち数は互いから完全に独立していない。このコヒーレンスは、お互いから完全に独立していないセットの実際の浮動小数点の値に反映される。セットが構造化されているおかげで、セットの実際の浮動小数点の値の各々の値は、セットの他の実際の浮動小数点の値から予測され得る。構造は、数値データによって表されたオブジェクトの種類に依存し得る。この場合予測は、予測スキームに従って実行され得る場合によっては、本方法の第1のステップにおいて一度に若しくはすべてに対して予め判定され及び選択され得る。予測スキームは、数値データによって表されたオブジェクトの種類に依存し得る。定義によって、同一の種類のオブジェクトは同一の手法により構造化されるという事実に起因して、本方法は、この場合同一の予測スキームを用いて、所定の種類のあらゆるオブジェクトをも表す数値データを圧縮するのに適切である。本方法のアプリケーションの一例が、時間経過の株の価格であるオブジェクトにおけるものである。実際の浮動小数点の値のセットは、時系列上の価格の値を表し得る。ある時刻の株の価格は他の時刻の価格から完全に独立しているというわけではないことがよく知られている。金融定量分析は、予測するために、例えばブラウン運動に基づいて、異なる予測スキームを使用する。同一の予測スキームが、異なる株に対して使用され得る。別の例は、都市の温度を表す実際の浮動小数点の値のセットを含む。またしてもこの場合、2つの都市間の地理的な近接性はそれら温度間の依存関係を伴い得る。したがって都市の温度を表す浮動小数点の値は、隣接する都市の温度を表す浮動小数点の値から予測され得る。別の例は、オブジェクトに印加された力場を含む。オブジェクトに印加された力が、空間的なコヒーレンスを示すとき、力場は、構造化された実際の浮動小数点の値の1セットによって表される。例えば磁場は、一般的にかかるコヒーレンスを示す力場を誘起する。後でより詳細に説明する別の例は、CADモデルの幾何学上表面である。かかる表面は、一般的にスムーズに変化し、表面のある点における位置は、表面の隣接点の位置に従って予測され得る。本方法は、数値データを圧縮するために、その構造は浮動小数点の値によって表される数字の構造から得られる浮動小数点実効値のセットの構造を使用する。予測エンコーディングにおけるものと同様に、原理は、セットの実際の浮動小数点の値のうち1つを第1に選択することである。この値は、圧縮方法によって変換される値であるので、対象値と称される。本方法は、対象実効値に関連した浮動小数点予測値を計算する。言い換えると、本方法は、対象の予測値であり、必ずしも対象の実効値でない予測値を計算する。この計算は、セットの他方の実効値に従って実行され、対象の実効値を抽出する。予測値は、それ自身浮動小数点のデータタイプである。セットが構造化され、予測スキームがこの構造に従って実行されるので、セットの他の値に従って実行される予測値の計算は、対象の実効値に比較的近い結果を提供する。したがって予測値と対象実効値との差異は、数ビットにおいてコード化され得る。この考えは予測のエンコーディングによってたいてい続くものである。予測スキームはセットのサブセットの選択を含み得る。サブセットの浮動小数点の値が予測値の計算の元となる。サブセットは、対象値に従って選択され得る。サブセットの値は、対象浮動小数点値によって表される数の予測に対して理論的に関連している数を表している。この選択を実行する本方法は、数値データによって表されたオブジェクトの種類によって提供され得る。予測値の計算は、整数に対して演算を実行するステップを含む。この演算は、浮動小数点値において実行されないので、安定性の問題が生じない。実際、標準的なプラットフォームは、同一の結果を用いて整数演算を実行する浮動小数点値における演算とは対立する。よって本方法は、整数において演算を実行するだけであるので、すべての標準的なプラットフォームにわたって安定的である。整数は、上記セットのサブセットの実効値の符号、指数、及び/又は仮数に対応する。サブセットは、対象実効値の予測値を計算するのに使用される実効値を含む。本方法は、少なくとも予測に使用される実効値のために、符号、指数、及び/又は仮数に対して保存されたビットスロットを読取り、整数として何が読み取れるかを解釈する。あらゆる手法の解釈が本方法の範囲内にある。例えば本方法は、52ビットでコード化された仮数を64‐ビットの整数として解釈し得る。仮数に対応する整数は、例えば最初の12ビットが0に等しく最後の52ビットが仮数のビットである64‐ビットの整数であり得る。逆に、仮数に対応する整数は、例えば最後の12ビットが0に等しく且つ最初の52ビットが仮数のビットである64‐ビットの整数であり得る。より長い整数も使用され得る。一般に、符号、指数、及び/又は仮数の解釈は、予測スキームすなわち、予測値を計算するよう実行された演算のシーケンスの次のステップに依存し、要求される精度に依存する。整数は、サブセットの実効値の符号、指数、及び/又は仮数に対応するので、予測スキームは、実効値の浮動小数点の形態を利用する。実際、上述したEngelson他の方法のように、演算は、浮動小数点値当たり1つの整数を表すものを大まかに判定する代わりに、浮動小数点の特性に関していかなる考慮もすることなく、個別に考慮された符号、指数、及び/又は仮数を表すものにおいて実行され得る。特に整数の減算とは異なる演算も実行され得る。例えば符号、指数、及び/又は仮数において実行される整数の加算、乗算、除算が意味を成す。よって予測は洗練され、より正確である。より正確な予測は、高い圧縮率をもたらす。予測がどのように洗練されるかを示す実施例が、後に提供されている。上記に説明したように、本方法は、整数の差を表すビットシーケンスを記憶するステップを含み、整数は、対象実効値及び予測値から得られる。このセットが構造化されているので、予測は、通常、対象実効値に近い予測値をもたらす。この場合対象実効値及び予測値から得られた整数間の差は、小さい。それゆえ差は、対象実効値のサイズより小さいサイズのビットシーケンスにおいて記憶され得る。したがって、このように対象実効値を記憶する代わりに、より小さいサイズのビットシーケンスが記憶される。ビットシーケンスは、対象実効値を取り出すために、伸張ステップにおいて使用され得る。ビットシーケンスは、整数間で実行される差を表すものであるので、圧縮の安定性と無損失品質が維持される。実際、2つの整数の差異は、情報損失することなく、すべての標準的なプラットフォームにおいて同じ結果をもたらす。対象実効値及び予測値から得られた整数の取得について、後に詳細に説明する。上記説明は、本方法のアプリケーションの一般的なケースに関するものである。図1を参照すると、一般的なケースは、予測値predktを計算するステップS10と、ビットシーケンスBkを記憶するステップS20の単一のアプリケーションを含む。図1の実施例に示されているように、本方法はまた、計算ステップS10の前に、浮動小数点実効値valkの構造化されたセットEを提供するステップS0と、計算されるべき予測値predktが関連する上記セットの対象実効値valktを選択するステップS5と、を含む。計算ステップS10及び記憶S20は、図2に示されているように、望ましくは反復されるすなわち、繰り返される。各反復すなわち、繰り返しkにおいて、対象値valktは、セットEの新しい選択された実効値であり、本方法の先の反復のうちの1つの対象値ではない。かかる反復が、セットEの順序0,...,k-1,k,k1,...に従って実行される。よってセットは、順序に従って、走査されすなわち、解析され、走査の各反復kにおいて、対象値の選択S5が、順序に続いて、kの番号がつけられた値valkが選択される。順序は、予め判定されている。例えば数値データは、順序に関する情報を含み得る。あるいは、順序は反復を実行する前に、開始時に任意に判定され得る。反復中に、それは動的に反復され得る。かかる方法は、数値データの全体的な圧縮を統計的に可能にせしめる。図3に例示されるように、本方法は、セットの少なくとも一方の始めの実効値val0、例えば、1つの値のval0、2つの値val0及びval1、又は、3又はそれより多くの値val0、val1、及びval2を記憶S3とし、計算するステップS10は、このセットの他方の実効値のすべてにわたって反復され得る。例えば、最初の値val0がS3において記憶されて、セットEがnの値を有する場合、計算するステップS10は、残りの値val1、val2、...、valnにおいて反復され得る。あるいは、いくつかの残りの値は、スキップされ得るしかしながら、これはセットを計算ステップS10が実行された値に再定義することに等しい。記憶するステップS20は、それ自身、計算ステップS10が実行されたすべての値又はいくつかの値に対して実行され得る。したがって始めの値は、それ自体記憶された値であるすなわち、圧縮されない。よって始めの値は、計算ステップS10及び記憶ステップS20が実行される反復kの対象ではない。伸張するとき後に分かるように、予測はサブセットの実効値に基づいて実行され得る。したがって少なくともいくつかの値が、伸張の開始を許容するように記憶され得る。あるいは実効値の第1の予測は、実効値の記憶された手段に基づいて実行され得る。あるいは第1の予測は、数値データに含まれた他のパラメータに従って実行され得る。図4に例示されるように、各反復kにおいて、計算ステップS10に続いて、反復kの計算された予測値predktを閾値と比較するステップS15が行われる。この場合記憶する次のステップにおいて、何が記憶されるかは、比較の結果に依存する。本方法は、ステップ20において、又は先に説明したように、予測値predktが閾値より大きいときに、反復における対象実効値valktと反復kの予測値predktから得られた整数間の差Dkを表すビットシーケンスBkを記憶し、又は反復の予測値が閾値よりも小さいときに、ステップS20’において、反復の非圧縮の対象実効値valktを記憶する。各計算するステップS10において、予測値predkt計算は、対象実効値valktに可能な限り近似するように計算される。しかしながら多くのコンテクストおいて、predktとvalktの差が、大きすぎて効率的に圧縮され得ないという可能性を有することが先験的に推定され得る。予測値predktが所定の閾値より小さい場合、predktとvalktの差がpredktよりも大であることにより、valktをコード化するのに使用されるビット数よりも高くなってしまうpredkt及びvalktから得られた整数間の差を表すビットシーケンスBkがもたらされるというリスクが存在する。例えば予測値predktが0付近である場合、ビットシーケンスBkが長過ぎるとき、実効値valktが予測値predktとは異なる符号を有するリスクが存在する。かかるビットシーケンスBkの実施例が提供されるとき、これはさらに明確に現れるだろう。符号化スペースの生じ得る不要な増大を避けるためには、予測値が、閾値よりも小である場合に、valkt自身の圧縮の試みは全くなされない。その上ビットシーケンスBkが判定されないので、全体的な処理速度が増大される。閾値は、予測値predktの指数の値における閾値であり得る。言い換えるとpredktの指数が、閾値と比較される。かかる閾値は比較ステップS15の高速化を確実にする。かかる閾値は、予め決められ得るし、アプリケーションのコンテクストに依存し得る。あるいは閾値は、数値データに従って判定され得るし、伸張中に再利用されるために記憶され得る。閾値の値は、予測値predktを計算S10するのに使用される算術演算の丸めの精度を考慮し得る。また閾値は、先に計算された予測値predk1t,predk2t,...及び/又は関連付けられた実効値valk1t,valk2t,...に従って、動的に判定され得る。反復kの閾値は、valkt及びpredktに通常依存しない。閾値を用いた比較は、予測値が低い圧縮率をもたらす高い可能性を有する実効値の場合を処理することによって、より効率的な圧縮を提供する。セットの少なくとも一方の初期実効値を記憶するステップS3は、図4に示されていないが、図3のように浮動小数点実効値valkの構造化されたセットEを提供するステップS0の後において、本方法に含まれ得る。セットの実効値は、幾何学的オブジェクトに関連付けられた座標、例えば幾何学的オブジェクトの制御点の座標であり得る。幾何学的オブジェクトの座標の浮動小数点座標を含む数値データは、高い割合のCADファイルの埋め合わせをする。よって本方法は特にCADファイルの圧縮に適切である。1つの実施例において、幾何学的オブジェクトは、NURBS曲面である。他の実施例において、幾何学的オブジェクトは、曲線、例えばNURBS曲線であり、又は別のタイプの曲線若しくは曲面である。本方法は、一般に任意の幾何学的オブジェクトにも適用する。本方法の実施例が、明確にするために、NURBSを参照して以下に詳細に説明されている。しかし以下の説明は本方法の他の使用に適用することが理解されるべきである。NURBS曲面は、3D空間の値を有する2D空間において定義されたCADにおいて広く使用される曲面である。すなわちSu,v→x,y,z。NURBS曲面は、2つの節点ベクトル及び制御点の2次元のアレイ、並びに場合によっては使用されるCADソフトウェアに依存する他のデータを用いて表される。通常節点ベクトルは、浮動小数点値のアレイである。制御点のアレイは、順序付けされ得る。各々の制御点は、座標x、y、zを有する3Dの点である。アレイにおける位置は2つのインデックスi及びjを用いて定義される。ここで、であり、である。グレビルパラメータとして知られている1セットのパラメータが、節点ベクトルから計算され得るので、インデックスi又はjの各値、グレビルパラメータui,vjに関連づけられ得る。伝統的にグレビルパラメータは、節点ベクトルの連続した値の定数に関する1組の手段である。次数と呼ばれるこの定数は、節点ベクトルの各次元u又はvにおいて異なり得る。一般に1組の次数d,gは、NURBS曲面を表すデータに属する。詳細については、GeraldFarinによるCurvesandsurfacesforComputerAidedGeometricDesignedMorganKaufmannという文献が、NURBS曲面の基本を提供している。図5は、M=5であり且つN=4であるNURBS曲面Sの実施例を提供する。座標x、y、zの制御点は、グリッド55の交差点である。上記説明したように、各制御点Pijに対して、表された1組のグレビルパラメータui,vjが上記説明したように計算され得る。例えば1組の表面の次数がd=2、g=4であり、表面の節点ベクトルがu_knot1,...,u_knot6及びv_knot1,...,u_knot7である場合、通常及びとなる。しかしながら、他の数式が使用され得る。NURBSの制御点の各々は、x、y、z座標を表す3つの浮動小数点値を用いて定義される。アレイの次元がMNである場合、NURBS曲面の制御点を記憶するのに必要な記憶サイズは、圧縮なしで3MN64ビットである。出願人はいくつかの産業モデルにおいて、モデルのNURBS曲面の制御点の座標を表す浮動小数点の値のサイズが、全モデルサイズの50以上を占めることに気付いている。したがって本方法は、NURBS曲面を有するCADファイルの圧縮に対して、特に有効である。以下において、数値データを圧縮する方法のアプリケーションの実施例であって、この実施例において、セットの実効値は幾何学的オブジェクトに関連づけられた座標であり、計算ステップ及び記憶ステップは、セットの順序に従って反復される実施例が、図6乃至12を参照して説明されている。この実施例において実効値は、NURBS曲面の制御点の座標である。曲面は示されていないが、図5の表面に類似している。図6乃至12は、図5のグリッド55と類似するグリッドのプロジェクション60を表している。プロジェクション60は、以下においてグリッドと称される。グリッド60の各交差点は、表面のそれぞれの制御点Pij=xij,yij,zijを表しており、グリッドの垂直線は、左から右に伸びるインデックスiを表しており、グリッドの水平線は、下部から上部に伸びるインデックスjを表している。この実施例において数値データは、節点ベクトルを含む。本方法は、このように節点ベクトルを記憶する先のステップを含むすなわち、特定の圧縮スキームをともなわない。上記説明したように圧縮処理は、セットの順序に従う浮動小数点実効値のセットを走査することを含む。数値データは制御点のインデックスi,jを提供する。インデックスは、セットの順序を定義するのに使用され得る。例えば及びである場合、制御点の間の順序は、P00,...,P0M1,P10,...,P1M1,.........,PN10,...,PN1M1であり得る。言い換えると、インデックスi及びjは、それぞれ下位の境界値からそれぞれ上位の境界値にいたるまで増大し、iは、jに対して優先される。従って浮動小数点実効値のセットが、となるよう順序化され得る。この場合セットを走査することは、次の制御点を走査する前に制御点の3つの座標の走査をもたらす。これにより予測値を計算するステップにおける3つの座標の使用が可能となる。あるいはこのセットは、のように順序化され得る。この場合セットの走査することは、すべてのx座標を走査し、次にすべてのy座標を走査し、次にすべてのz座標の走査をもたらすであろう。以下に説明される原理は、2つの代替的ソリューションの任意の実装を可能にする。図6に示されるように実施例の方法は、それぞれ0,0、1,0、0,1のインデックスを有する3つの制御点P00、P10、P01を特定の圧縮スキームなしで記憶するステップS3を含む。実際には座標x、y、zの各々に対して、x00,x10,x01、y00,y10,y01、z00,z10,z01セットの3つの初期実効値がそれ自身全体の9つの最初の実効値記憶される。以下において浮動小数点実効値は、それらが表す座標によって、又はそれらが表す制御点によって差別なく参照される。グリッドは下部から上部まで、及び左から右まで解析される。ステップS3で既に記憶された点は、スキップされる。図2-4のうちの1つを参照して説明した方法は、制御点の残りに適用される。図7は、本方法の4つの連続した反復k=11、k=12、k=13、及び、k=14を示す。各反復kにおいてkは解析のインデックスi、j及び記憶された始めの値の数によって判定され、この実施例で33である、対象実効値valktに関連する予測値predktを計算S10するのに使用される実施例の予測スキームは、以下の対象値に同化される対象によって表された制御点Pt=Pitjtのインデックスi_t,j_tに依存する計算を含む。これらインデックスは、上述された反復kのランクにリンクされているkはki_t,j_tと表され得る。これらインデックスに依存して、本方法は先の反復で記憶された制御点のサブセットを判定する。本方法は多項式Qu,vを判定するので、サブセットの制御点Pijの各々に対して、我々は、Qui,vjPijを有する。判定された多項式Qの次数に認められる最大数は,サブセットの制御点の数に関連する。よってQの係数は、Pij及びパラメータui,vjの値に従って判定される。パラメータui,vjは、上記定義されたグレビルパラメータであり得る。対象制御点の予測値は、pred=Quit,vjtとして計算され得る。この予測は3つの座標x、y、及びzに対して独自に定義される。そして数式は3つの座標例えば、QとPは次元3のベクトルであるに適用する。上記のスキームは多項式補間に基づいている。他のスキームが実装され得る。例えば回帰又は他のタイプの補間が使用され得る。図8乃至12は、異なる状況における対象値Ptのインデックスi_t,j_tの値に従ったサブセットの判定及びQの定義の判定を示している。図8乃至12の各々の最左端のフレームは、状況がこの対象点Ptに対応しているグリッド60上のすべての異なる対象点Ptを示している。最右端フレームは、状況がこの対象点Ptに対応しているかかる対象点Ptの一例とともに、実施例の場合の予測スキームにおいて使用される多項式Qu,vの一般的な数式88を示している。最右端のフレームは、実施例の場合におけるQu,vの厳密式92、又は方程式90のシステムが、Qu,vの係数を導いて、実施例の場合の厳密式を導くかどうかを提供する。図8乃至図12の実施例において、サブセットの実効値は、幾何学的オブジェクトの別の制御点に隣接する座標が対象実行値によって表される幾何学的オブジェクトの制御点の座標である。言い換えると対象制御点Ptの予測値predは、グリッド上の対象の近傍にある先に解析された制御点に従って実行される。max|i1-i2|,|j1-j2||≦sである場合すなわち、グリッド60上のPi1j1とPi2j2との間のグラフ距離がsよりも小さい、2つの点Pi1j1及びPi2j2は、グリッド上で隣接していると言われる。ここでs=1又はs=3であり、より望ましくはs=2である。本方法を局所的に滑らかな変動を示す表面に適用するとき、対象を予測するのに隣接するポイントを使用することは、予測が正確であるので、良好な圧縮を可能にする。2つのポイントが隣り合うかであるかどうかを判定するようにグリッド上の2つのポイント間で可能とされる距離を限定することは、予測の低減された精度に必ずしも導くことはないものの、圧縮に必要な時間を低減する。実際対象から離れた制御点は、対象を予測する際に必ずしも有益ではない。図8は、i_t,j_t=2,0又は0,2であるとき、予測値predを計算するステップS10をどのように実行するかということに関する基本を説明している。この状況に対応する2つの対象点Ptは、グリッド60の下部の境界82と最左端の境界84にそれぞれ位置づけられている。一般に曲面の境界は何らかの規則性を示す。したがって境界における対象点の正確な予測が、同一の境界における制御点に従って、1回実行され得る。例えばP2、0に対する予測値predは、上記のスキームを使用して実行され得る。サブセットは、P00及びP10から成る。これは、厳密式92、をもたらす。これは図8の最右端のフレームにおいて示されている。P02は、ブセットP00及びP10を用いて同様に予測され得る。上記はpredを計算するのに同様に適用され得る。図9乃至12は、predの計算が異なって実行される他の状況について同様に説明している。図9は、又はである状況を示している。Qは、P0jt1、P0jt2、及びP0jt3又はPit10、Pit20、及びPit30に従ってそれぞれ判定され得る。図10は、i_t=j_t=0及びQが、P00、P01、及びP10に従って判定される状況を説明している。図11は、又はである状況を示している。Qは、P0jt、P0jt1、P0jt2、P1jt1、及びP1jt2又はPit0、Pit10、Pit20、Pit11、及びPit21に従ってそれぞれ判定され得る。図11は、である一般的な状況を示している。Qは、Pitjt1、Pitjt2、Pit1jt、Pit2jt、Pit1jt1、Pit2jt1、Pit1jt2、及びPit2jt2に従ってそれぞれ判定され得る。実施例において、予測は3つの座標x、y、zに対して独自に計算される。予測は、AX=Bという形態の線形システム90の解を見出すことを含む。ここでAは正方行列であり、Xは多項式Qの未知係数を含むベクトルであり、Bはベクトルである。理解され得るように、予測の計算は、四則演算加算、減算、乗算、除算のみを使用して実行され得る。実際、先に説明したように、グレビルパラメータは、四則演算のみを使用した周知の方法を使用して、節点ベクトルから計算され得る。Aの係数は、同様に乗算のみを使用して、レビルパラメータから計算され得る。ベクトルBの係数は、先の反復にて既に記憶されている制御点の座標である。よってこの計算のためにそれらを取得するための計算は全く必要とされない。AX=Bというタイプの方程式を解くことは、例えばガウスピボット等の四則演算のみを伴う周知の技法を使用して、実行され得る。これは、多項式Qの係数であるXの係数をもたらす。そして予測値をpredt=Quit,vjtとして計算するステップが、四則演算のみを用いて実行され得る。一般的な場合において、予測値は、別の制御点に関連付けられた少なくとも1つのパラメータ、サブセットの実効値、及び別の制御点に隣接する各制御点に関連付けられた少なくとも1つのパラメータに従って判定される。それぞれの隣接している制御点は、自身と関連付けられた少なくとも1つのパラメータを有する。上記実施例において、予測値は、実際、対象制御点グレビルパラメータに関連づけられ、サブセットの実効値隣接している制御点の座標に関連付けれ2つのパラメータに従って判定されるし、隣接する各制御点グレビルパラメータに関連付けられた2つのパラメータに従って判定され得る。上記実施例において、予測関数は、図8-12を参照して詳細に説明した特定の予測スキームから生ずる先のパラメータの有理関数である。このスキームは、多項式の関数によって局所的に近似され得る滑らかな曲面の場合、正確に予測をするのに適切である。しかしながら判定がサブセットの制御点に従って行われ、予測の評価が算術演算のみを含む他の関数は、例えば他の種類のNURBSに対して、他の予測スキームから生じ得る。予測スキームは、例えば、この効果に対して記憶された情報を通してNURBSの種類を判定する先のステップを一般的に含み得るし、従って異なる動作を適用し得る。少なくとも1つのパラメータは、何学的オブジェクトのそれぞれの節点ベクトルに従って一般的に判定される。既に説明したようにパラメータは、上記実施例において説明したようなグレビルパラメータであり得る。実施例の多項式アプローチにおいて、グレビルパラメータの使用は、曲面の設計図を完全に利用することによって、より正確な予測を可能にする。実施例に戻ると、計算ステップS10は、例えば多項式Qの係数をいくつかの介入パラメータの値から判定する第1の動作と、介入パラメータの値における多項式を評価するため1つの演算等、介入するパラメータの値の有理関数の評価によって単一の演算にて実行され得るし、計算ステップS10は、より多くの演算にて実行され得る。これは本方法の実装に依存する。セットの値の浮動小数点の性質、及びそれらが使用される場合には節点ベクトルの値の浮動小数点の性質を考慮することなく、予測値を計算するステップを説明してきた。一般に、予測スキームは、算術演算を含む。上記の説明は演算が実行される実数に対する差の値を同化した。浮動小数点の演算は、これらの数に対してこれら演算を実際に実行するのに使用され得る。しかしながらこれは、先に説明した安定性問題を伴う。異なるプラットフォームにわたる圧縮及び伸張の安定性を得るために、本方法は、整数の算術演算を用いて、浮動小数点の算術演算のエミュレーションを使用し得る。一般にセットの対象実効値に関連した浮動小数点予測値を計算するステップは、セットのサブセットの実効値の符号、指数、及び/又は仮数に対応する整数において演算を実行するステップを含み得、この演算は、浮動小数点の算術演算をエミュレートする。Hauserによる1998年のSoftFloatの発表、及びCBertinらの2004年のAFloatingPointLibraryforIntegerProcessorsという文献は、64ビットの浮動小数点数のエミュレーションを説明している。これら研究において、重要な要件は、標準IEEE754-1985の仕様を厳密にエミュレートすることである。これにより特に除算演算においてアルゴリズムが遅くなってしまい、これによりいくつかの反復を必要とする。本方法は、この要件を有しないし、それゆえそれほどコストを要しないアルゴリズムが設計され得る。DaveAstle及びDaveDurnilによるOpenGLES10GameDevelopmentChapter4AFixedPointforMathPrimerという教科書は、32‐ビットの整数を使用する浮動小数点の値のエミュレーションを説明している。除算演算のアルゴリズムは、いくつかのプラットフォームには長過ぎ得る媒介整数を演算がエミュレートされる浮動小数点値のサイズにおいて使用する。予測値を計算するために、入力浮動小数点値として取る算術演算のシーケンスが本発明の方法によって実行される。本方法は、浮動小数点の算術演算の使用を避ける。これは演算のかかるシーケンスの結果が異なるプラットフォームで異なる場合があるからである。よって本方法は、これら算術演算の整数ベースのエミュレーションを使用する。以下に64ビットの浮動小数点に対する4つの算術演算加算、引算、乗算、除算が64ビットの整数に対する演算のみを使用してどのようにエミュレートされ得るかに関する実施例が提供される。本方法によって提供されたエミュレーションは、高速である。なぜならば、予測値を計算するステップに対する演算が、浮動小数点値の符号、指数、及び/又は仮数に対応する整数において実行されるからである。[IEEE754-1985]規格の他の要件、又は本方法に使用される浮動小数点値の他のあらゆる標準規格の他の要件が無視され得る。以下に提供されたエミュレーションは、64ビットの整数をサポートするすべてのプラットフォーム上で実装され得る。これはCADソフトウェアを実行するのに使用されるほとんどのプラットフォームの場合である。128ビットの整数をサポートするプラットフォームにおいてなされるに過ぎないエミュレーションは、必要とされないであろう。かかるプラットフォームは広く利用可能ではないからである。なお、同じ原理が、64-ビットの整数をサポートしないものの128ビットの整数をサポートするプラットフォームにおいて32ビットの浮動小数点数における演算のエミュレーションを実装するのに適用され得ることが理解される。aを[IEEE-754]規格における64‐ビットの浮動小数点値予測値を計算するステップで使用される任意の値とする。先に既に説明したように、以下の要素を用いてa=s,e,mと表記し得る。この要素は、符号s1ビット、指数e11ビット及び仮数m52ビットである。浮動小数点値aは、3つの64‐ビットの整数のセットによって表された整数ベースのフォーマット又は、以下においてエミュレーションフォーマットとも称されるの値Aに関連付けられ得るので、符号S非符号64-ビットの整数、指数E符号64-ビット整数、仮数M非符号64-ビットの整数をもちいて、A=S,E,Mとなる。値Aを表すデータは、例えばS、E又はMをそれぞれの表す3つの整数のアレイであり得る。かかるデータが、予測の目的のために作成され得る。これらフォーマットの各数は、数学的意味において実数の値を表している。これら値に対して以下の記号をとる。はaの値である。はAの値である。以下において、一方のフォーマットの値を他方のフォーマットの値に関連付けられた値にどのように変換するかということに関する規則が、提供される。aが[IEEE‐754]フォーマットの正規化された値である場合、0<e<211であり、a=S,E,Mという数字の値は、以下の通りである。ここで、bias=2111-1=1023である。整数ベースのフォーマットへのaの変換の結果は、A=S,E,Mである。ここで、である。実数の値は、以下のように定義され得る。エミュレーションフォーマットから[IEEE-754]フォーマットへの再変換は、簡単であるMをmに変換する、我々はmの11最下位ビットを無視している。aがゼロ又は非正規化数すなわち、e=0である場合、整数ベースのフォーマットへ変換するために、以下の規則が適用され得る:言い換えると、すべてのゼロ又は非正規化数は、ゼロに変換される。[IEEE‐754]フォーマットへの再変換は、簡単である。aが[IEEE‐754]フォーマットの無効な数である場合すなわち、e=211-1、エミュレーションフォーマットへ変換するために、我々は以下のように設定する。エミュレーションフォーマットへの浮動小数点値のこの変換の結果、使用される演算は、整数の加算、減算、乗算、及び/又は、除算を含む算術演算を含み得るし、及び/又は、ビットシフト及び/又は先頭ゼロカウントを含むビット単位の演算を含み得る。かかる演算は安定性を保証し、予測値を計算するのに使用され得る。一般に算術演算のシーケンスを浮動小数点値において実行するためには、値は、まず整数ベースのフォーマット、例えば上記したエミュレーションフォーマットの均等値に変換される。本方法は、これら均等な数において算術演算のシーケンスを実行し得る。以下において、整数ベースのフォーマットで表された2つの演算数A及びBにおいて四則演算する方法の実施例が提供される。ここでかかる算術演算の要件について説明する。という表記を用いて任意の四則演算について考慮する。ここで、は、-/の何れであってもよい。以下の仮定を考慮する。はAの値であるはBの値であるは実数に対する演算の結果である。我々は、を計算したいので、であり、はCの値である。目的は、オーバーフローすることなく64‐ビットの整数に対して算術演算のみを使用し算術ビット単位シフトのみを使用することによって、Sc,Ec,Mcを計算することであり得る先に述べたように、それらがすべてのプラットフォームにわたって安定的でないので、本方法は浮動小数点値における演算を避ける。これら要求は、すべての演算子,-,,/に対して同一である。以下の表記が、説明のために採用され得る。ここでMは64‐ビットの整数である。M<<n:整数Mのnビットの左のシフト。M>n:整数Mのnビットの右のシフト。LZCM:Mの先行ゼロカウントMの左の連続ゼロの数。M=M>>32。M―=M<<32>>32:Mの32の上位ビットがゼロに設定される。以下において、加算の規則が与えられる。加算は可換であるので、我々は、であると想定し得る。AとBが同じ符号を有する場合、であり、である。Mに対応する実数がからあまりに離れていないことを確実にしながら例えば、であることを確実にしながら、目的は、MExactの近似である64ビットの整数M、及び、整数の算術及びビット単位のシフトのみを用いて計算され得る64ビットの整数Mを定義することである。が便利である。かかるMの計算によって、オーバーフローが生じないこと、及び、Mが十分に良好なMExactの近似であること、例えばであることをチェックすることは容易である。よって、本方法は、Cを以下のように計算し得る。A及びBが異なる符合である場合、であり、である。同様のアプローチにより、M=MA-MB>>EB-EAとなり、となる。2つの演算数の引算を計算するために、本方法は上記定義した加算法を用いるので、演算数A及び-Bにおいて加算を実行する。乗算に対しては、であり、MExact=MAMB264である。であることをチェックすることは容易である。我々は、MExactの近似である64ビットの整数M、及び整数の算術及びビット単位シフトのみを用いて計算され得る64ビットの整数Mを定義したい。そこで我々は、MExactを以下のように表す。我々は、Mを以下のように計算する。上記数式の演算は、オーバーフローすることなく64‐ビット整数算術を用いて実行され得る。なぜならばすべでの積が、nullに設定されたそれら32最上位ビットを有する演算数を有するからである。これら積の合計がオーバーフローすることなく64‐ビット整数に一致することを確かめることも容易である。なぜならば、であり、であるからである。Mが、十分に良好なMExact近似であること、すなわち、であることをチェックすることは容易である。我々は、Cを最終的に以下のように定義する。そして、であることをチェックすることは容易である。以下に、除算の規則を提供する。除算は、実数において定義され得る。なお、ab/c又はであり、であることを記す。除算は、64‐ビットの無符号整数においても定義され得る。尚、であることを記す。ここで、A、B、Q、Rは、無符号の64‐ビットの整数であり、Qは、A÷Bの商であり、Rは、その余りである。であり、である。我々は、であると容易に確認し得る。目的は、MExactの近似である64ビットの整数M、及び、整数の算術及びビット単位シフトのみを用いて計算され得る64ビットの整数Mを定義することである。我々は、MExactを以下のように表す。ここで、であり、である。MExact=D1-λεここで、ε<Dλ2<262MExactである。我々は、以下のように表す。ここで、であり、である。そして、ここで、である。最終的に、我々は、Mを以下のように計算する。我々は、オーバーフローを生ずることなく、上記数式の演算が64‐ビット整数算術を用いて実効され得ることを確認し得る。Mが、十分に良好なMExact近似であること、すなわちであることをチェックすることは容易である。我々は、Cを最終的に以下のように定義する。そしてであることをチェックすることは、容易である。上記の説明は、整数に対する演算による浮動小数点の算術をエミュレートすることによって対象の予測値を計算する方法に関する実施例をあらわにした。しかしながら他の種類のエミュレーション、例えば従来技術からすでに知られているエミュレーションが、実装され得る。以下に対象実効値及び予測値から得られた整数の差を表すビットシーケンスを記憶して、任意の上記実施例に対して圧縮を達成する実施例を提供する。この実施例において、対象実効値及び予測値から得られた整数は、対象実効値及び予測値をそれぞれ定義する文字列によって定義された整数である。より具体的には、Engelson他によって開示されたものと同様の整数表示へのマッピングが使用され得る。これにより、ビットシーケンスの判定の高速化、リソースの節約を可能にする。伸張を目的として、差を表すビットシーケンスは、多くの有効ビットを示すプレフィックスビットシーケンスと、先頭のゼロと望ましくはさらにいっそう大なる圧縮のために、1に等しい最初のビットを削除され、サイズが有効ビットの数である、差に等しいボディビットシーケンスとを含む。プレフィックスビットは、伸張方法が読み取られるべきボディビットシーケンスのサイズを特定することを可能にする。一方ボディビットシーケンスは、圧縮された対象値を取得するのに必要な情報を含む。これは、[IEEE-754]フォーマットで表された2つの64‐ビットの浮動小数点値a及びpを参照する以下の実施例において詳細に説明される。a=sa,ea,map=sp,ep,mp値aは、対象浮動小数点値であり、値pがaの予測値である。本方法は、これら2つの値から、aの圧縮を表すビットシーケンスBを計算する。aがビットシーケンスBから及びpから取得され得るように、シーケンスBは定義され、a及びpの値が近い場合には、そのサイズが小さくなるようにBが定義されなければならない。上述したNURBS曲面の圧縮のコンテクストにおいて、値aは、現在の点のx、y、又はz座標の任意のものであり、pは、この現在の点の同一の座標に対する予測値である。f=sF,eF,mFを、[IEEE754]フォーマットで表された64‐ビット浮動小数点数とする。本方法の実施例によって用いられるfの整数へのマッピングは、Intfと記され、fと同一の64‐ビット列によって表された64‐ビットの無符号整数である。我々は、このマッピングの逆関数を、Realと記すため、RealIntf=fとなる。我々は、無符号の64‐ビット整数D及び1‐ビット数Sを以下のように定義する。Inta≧Intpである場合、Intp≧Intaである場合、N=LeadingZerosDをDの先頭0の数とする。Dは、以下のビットシーケンスによって表されえる。である場合、N=64である場合、我々は、aの圧縮された形態であるビットシーケンスB=Compresseda,pを定義する。我々は、Nの値に従い、3つのケースを区別する。ケース1:N=64である場合、となる。ケース2:である場合、となる。ケース3:である場合、プレフィックスビットシーケンスBink1は、無符合の2進数として表されたk1の値である。必ずしもセットの構造に基づくものでない別の圧縮スキームが、数値データを圧縮するためにさらに使用され得る。例えばエントロピ符号化が、上述した演算によって圧縮された後に、データに対して使用され得る。したがって、本方法は、例えば、エントロピコーディングを使用して、数値データを再度圧縮するステップを含み得る。図13に示されるように、本発明は、数値データを伸張するためのコンピュータ実装方法にも関する。数値データは、一般に、浮動小数点実効値の構造化されたセットを含む圧縮された形態のデータである。浮動小数点値は、上記定義されたように、符号、指数、及び仮数によって定義されている。数値データは、セットの対象実効値及び対象実効値に関連した浮動小数点予測値から得られた整数の差を表すビットシーケンスを含む。伸張は、予測値を計算するステップS140であって、計算は、セットのサブセットの実効値の符号、指数、及び/又は仮数に対応する整数における演算を実行するステップと、予測値から得られた整数を有するビットシーケンスの加算から対象実効値を得るステップS150と、を含む。かかる方法は、実効値、すなわち対象値を圧縮されたデータから取り出し、それにより、利用可能となる。計算ステップ及び取得ステップはこのセットの順序に従って反復される。このセットが、それ自体それぞれのビットシーケンスを含む数値データにおいてそれ自体記憶されていない少なくとも2つの実効値を含むとき、これは有益である。この順序は、このセットの順序の表示を含み得る数値データによって示され得る。かかる表示は、このセットに明確に関連し得ない。例えばこのセットが順序付けされるとき、圧縮は、先に説明したようにその順位に従う。従って伸張は、圧縮されていないセットの順序に対応する圧縮された数値データによって表示された順位に単に従い得る。各反復において、サブセットは、前の反復において取得された対象値及び/又は数値データにそれ自体含まれる対象値を含み得る。言い換えるとこのセットは、数値データに含まれないようにし、それぞれのビットシーケンスをむしろ含まれるようにすることによって、数値データにおいてそれ自体含まれる実効値と、セットの圧縮に加わる実効値を含み得る。この場合全体的な伸張処理は、数値データからこのセットのすべての実効値を判定する。取得ステップが実行される全体的な処理の各反復において、判定されるべき実効値、すなわち対象値は、上記説明したように、先に判定されたこのセットの実効値、言い換えると、前の反復において取得された対象値及び/又はそれ自体数値データに含まれる対象値から構成され得るサブセットを使用して取得される。例えば数値データは、セットの少なくとも一方の初期実効値をさらに含み、計算ステップは、セットの他方の実効値のすべてに対して反復される。この場合、各反復において、計算ステップに続いて、反復において計算された予測値を閾値と比較するステップと、予測値が閾値より大きいときに上記したように予測値から取得された整数を有する数値データに含まれるビットシーケンスの加算から対象実効値を取得するステップ、又は、反復に関する予測値が閾値よりも小さいときに数値データにおいてそれ自体含まれる対象実効値を用いてサブセットを増加させるステップが行われる。これは実効値がそれ自体記憶されているのかどうか又は圧縮されているすなわち、ビットシーケンスがその位置で記憶されているのかどうかを判定する。あるいは、数値データは、上記説明したように次の対象値が数値データにそれ自体含まれるのかどうか又は次の対象値が数値データに含まれるビットシーケンスから取得されるべきであるかどうか示す情報例えば、プレフィックスビットを含み得る。これは伸張速度を増大せしめる。圧縮方法を説明するとき、伸張方法の実施例が上記提供された定義を参照して、今説明されるだろう。これら定義もここで適用している。実際、これは必ずしもそうとは限らないが、伸張されるべき数値データは、上記圧縮方法によって取得され得る。セットの実効値は、幾何学的オブジェクトに関連付けられた座標であり得るし、望ましくは幾何学的オブジェクトの制御点の座標であり得、サブセットの実効値は、幾何学的オブジェクトの別の制御点に隣接する幾何学的オブジェクトの制御点の座標であり得る。対象実効値が別の制御点の座標である。予測値は、別の制御点に関連付けられた少なくとも1つのパラメータ、サブセットの実効値、及び別の制御点に隣接する各制御点に関連付けられた少なくとも1つのパラメータに従って判定され得る。少なくとも1つのパラメータは、それ自体それらを含み得る数値データから判定され得るし、少なくとも1つのパラメータの判定を許容する要素を含む。例えば少なくとも1つのパラメータは、幾何学的オブジェクトのそれぞれの節点ベクトルに従って判定され得る。幾何学的オブジェクトは、NURBS曲面であり得るし、少なくとも1つのパラメータは、グレビルパラメータであり得る。対象実効値及び予測値から得られた整数は、対象実効値及び予測値をそれぞれ定義する文字列によって定義された整数であり得る。差を表すビットシーケンスは、多くの有効ビットのプレフィックスビットシーケンス及び先頭のゼロ及び望ましくは1に等しい第1のビットが削除され、サイズが有効ビットの数である差に等しいボディビットシーケンスを含み得る。演算は、整数の加算、減算、乗算、及び/又は、除算を含む算術演算、及び/又は、ビットシフト及び/又は先頭ゼロカウントを含むビット単位の演算を含み得る。これらすべての特徴は、上記説明したように、圧縮に関連付けられた利点を提供する。上記圧縮方法に従う圧縮方法が実効された場合において、ステップS140において予測値を計算するために使用される予測スキームは、圧縮方法で使用されるのと同じ予測スキームである。より具体的には、先に圧縮方法の説明の際に使用された表記を参照すると、浮動小数点予測値pが計算されているとき、伸張方法は、ビットシーケンスBを読み取るステップを含み得る。予測値pに対応する実効値aは、ビットシーケンスB及び予測値pから、a=DecompressedB,pとして取得され得る。上に提供された実施例を参照すると、Bの最初の6ビットは読み取られ6ビットの無符号整数mとして解釈される。m=0である場合、我々はa=pケース1とする。1≦m≦62である場合、我々はD及びSを取得することを可能にする次のmビットを読み取り、我々はS=0である場合、a=RealIntpDとし、S=1である場合、a=RealIntp-Dとする。m=63である場合、我々は、次の64ビットを読み取り、それらを数aとして解釈する。図2-4を参照して説明したように、圧縮が反復を含むことによって実行されたとき、上記ステップS140及びS150は、対応して反復される。図3を参照して説明したように、圧縮が、初めの値を記憶するステップを含むとき、伸張方法は、ステップS140及びS150を反復する前に、対応して始めの値を読み取る。よって始めの値は、予測の基礎を供給する少なくとも第1の計算するステップS140を実行するのに使用され得る。計算された予測値は、上述したように、それに対応する実効値をステップS150において取得するのに使用され得る。少なくとも一つのかかるステップ後に、取得された値は、伸張方法の反復に含まれる計算ステップ140の次のステップを計算するのに使用され得る。圧縮方法が、予測値を閾値と比較するステップを含んで、図4を参照して説明したように、それらが圧縮されるべきかどうかを判定する場合、伸張方法は、対応して実効値を取得する前にステップS140において計算された予測値の比較を実行する。比較の結果において、取得ステップS150が実効値を取得するために実行されるのか、又は圧縮方法の反復中に、比較が対象値を圧縮しないがそれ自体それを記憶する判定を得る場合データを読み取るステップが実行される。図5-12を参照して先に説明した圧縮されたNURBSの実施例に伸張方法が適用されるとき、節点ベクトルを記憶データから読取るステップを含み得る。3つの非圧縮制御点の座標である始めの値が、読み取られる。読み取られるべき現在の制御点のインデックスが、図7を参照して説明したように、判定される。圧縮するときと同一の予測スキームすなわち、図8-12を参照して説明した予測スキームが、現在の制御点のインデックスに従って選択される。次の制御点の予測値が、例えば多項式補間を使用して計算される。この計算に必要なすべてのデータが、この段階において読み取られている。すなわち節点ベクトルが読取られており、選択された予測スキームに従ってこの計算のために必要な制御点の実効値が、先の反復中に既に存在している。現行の点の座標が、それら圧縮された形態から読み取られ復号化される。これは予測を使用してなされる。これは3つの座標x、y、zに対して独自になされ得る。さもなければNURBS曲面のすべての制御点が読取られている場合、記憶処理は終了される。したがって一般的な場合において、伸張方法は、圧縮方法が後に続く同一のコースに従うと理解されるべきである。これは本来データ圧縮の分野から知られている。また本発明は、コンピュータ支援設計システムに関する。システムは、浮動小数点実効値の構造化されたセットを含む数値データによってモデル化されたオブジェクトを記憶するデータベースと、グラフィカルユーザインターフェイスと、上記提示した圧縮方法に従って数値データを圧縮し、及び/又は、上記提示した伸張方法に従って数値データを伸張する手段と、を含む。例えば数値データは、ハードディスクと接続されたプロセッサによって読み取られ且つ処理される。このプロセッサは、上記方法に従って、数値データを圧縮し又は伸張し得る。数値データは、対応する圧縮され又は伸張された形態にてメモリに記憶される。かかるシステムは、少ないメモリリソースにてオブジェクトのモデル化を可能にする。実際、システムが上に提示された効率的な圧縮法に従って数値データを圧縮するかもしれないので、より多くのオブジェクトが、他のシステムと比べて圧縮された形態の下でシステムのデータベースに記憶され得る。上述したように、システムが数値データを伸張し得るので、システムは、ユーザが圧縮されたデータを読むのを幇助し得る。ユーザは、圧縮を利用し得る。グラフィカルユーザインターフェイスは、ユーザがオブジェクトをモデル化するデータの圧縮を命令し又はオブジェクトをモデル化するデータの伸張を命令することを可能にする。従ってオブジェクトは、CADファイルによってモデル化された一部であり得る。設計者が、例えばグラフィカルユーザインターフェイスの手段によって、この一部に対して作業する必要がある場合、システムは、圧縮された形態のCADファイルを記憶し、それらを伸張し得る。図14は、クライアントコンピュータシステム、例えば、ユーザのワークステーションであるかかるシステムを示している。クライアントコンピュータは、内部通信バス100に接続された中央演算処理装置CPU101、バスに接続されたランダムアクセスメモリRAM107を含む。クライアントコンピュータは、さらにバスに接続されたビデオRAM110に関連づけられているグラフィカル処理ユニットGPU111が提供される。ビデオRAM110は、フレームバッファとして当技術分野で知られている。大容量記憶装置コントローラ102は、ハードドライブ103等の大容量メモリデバイスへのアクセスを管理する。コンピュータプログラム命令及びデータをタンジブルに具現化するのに適した大容量記憶装置は、一例としてEPROM、EEPROM、フラッシュメモリデバイス等の半導体記憶装置、内部ハードディスクや着脱式ディスク等の磁気ディスク、光磁気ディスク及びCD-ROMディスク104を含むすべての形態の不揮発性メモリを含む。任意の上記の機能が、特別に設計されたASICs特定用途向けICによって追加され得るし、特別に設計されたASICs特定用途向けICに組み込まれ得る。ネットワークアダプタ105は、ネットワーク106へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボード等の接触デバイス109を含み得る。カーソル制御デバイスは、クライアントコンピュータにおいて使用されて、ユーザがカーソルをディスプレイ108上の所望の位置に選択的に位置付けることを可能にする。さらにカーソル制御デバイスは、ユーザが様々なコマンド及び入力制御信号を選択することを可能にする。カーソル制御デバイスは、システムに対する入力制御信号の多くの信号発生デバイスを含む。通常、カーソル制御デバイスは、マウスであり得る、マウスのボタンは信号を生成するのに使用され得る。本発明は、コンピュータによる実行のための命令を含むコンピュータプログラムにも関する。命令は、上記方法を実行する手段を含む。かかるプログラムは、コンピュータ可読記憶媒体に記憶され得る。かかるプログラムは、既存のシステムに追加され得るし、かかるシステムが上に提示された方法を実行することを可能にする。かかるプログラムは、既存のシステムに本方法の利点を提供する。本発明は、予測符号化スキームを使用して、情報損失を伴うことなく、浮動小数点幾何学的オブジェクトを圧縮するすなわち、圧縮は無損失である。予測関数は、整数の算術演算のみを使用して浮動小数点の算術演算をエミュレートすることによって算術演算を実行する。このエミュレーションは、正確な結果をすべての四則演算加算、減算、乗算、除算に提供する。すなわち浮動小数点計算を使用することによって得られたものに非常に近い結果を与える。よって予測は、正確である。このエミュレーションは、このコンテクストにおいて不必要であるので、全体の[IEEE754-1985]規格に従う必要はない。本発明は、先の技術に対していくつかの利点を提供する。本発明の1つの利点は、圧縮及び伸張が異なるソフトウェア及びハードウェアプラットフォームで行われ得るということである。これは、予測の数値計算が浮動小数点計算の整数ベースのエミュレーションを使用して実行され得るからである。このエミュレーションは整数における演算のみを伴うので、結果はまさにすべてのプラットフォームにおいて同じである。したがって圧縮するとき又は伸張するときに計算される予測は、厳密に同一であり、それら圧縮された形態から現在の点の座標の復号化が厳密に圧縮中に記憶された当初の値をもたらす。実施例の予測関数は、整数算術を使用する浮動小数点の算術のエミュレーションに基づいており、浮動小数点算術を使用することによって得られたものに非常に近い結果を与える。整数算術を使用する実施例において提供された浮動小数点算術のエミュレーションは、他の既存のエミュレーションよりも高速である。これは、それが全体の[IEEE754-1985]規格をサポートする必要はないという事実に帰属される。予測スキームは幾何学的オブジェクトのタイプに適用させられ、オブジェクトのパラメータ化を考慮する。自動車産業のCADデータにおいて実行されテストは、45の圧縮率を例証しており、これは、18.3MBの初期圧縮ファイルが本発明の圧縮方法によって、10MBの圧縮ファイルにダウンサイズされることを意味している。"