"実質的に上記に記載の方法。実質的に上記に記載の装置。実質的に上記に記載のコンピュータ読み取り可能記憶。3Dモデルを表すビットストリームを生成する方法であって、構造に関連付けられたパターンのインスタンスに関する情報にアクセスするステップであって、前記情報は前記パターンに関連付けられたパターン識別子及び変換情報を含む、アクセスするステップと、前記インスタンスを表すビットストリームを生成し、パターン識別子及び前記パターン変換データを第1のフォーマット及び第2のフォーマットのうちの一方で前記ビットストリーム中に配設するステップと、を含む方法。前記変換情報が、反転部分、並進部分、回転部分、及びスケーリング部分のうちの少なくとも1つを含む、請求項4に記載の方法。複数のパターン及びパターン情報を含み、前記第1のフォーマットが、各パターン識別子及びその関連する変換情報をグループ化することを含み、前記第2のフォーマットが、複数のパターン識別子をグループ化し、情報タイプに従って前記変換情報をグループ化することを含む、請求項5に記載の方法。前記パターンのそれぞれに関連付けられたプロパティ情報にアクセスするステップをさらに含む、請求項6に記載の方法。前記プロパティ情報が、法線、カラー、及びテクスチャ座標のうちの少なくとも1つを含む、請求項7に記載の方法。前記第1のフォーマットが、各パターン識別子をその変換情報及びプロパティ情報とグループ化することを含み、前記第2のフォーマットが、パターン識別子をグループ化し、情報タイプに従って前記変換情報及びプロパティ情報をグループ化することを含む、請求項8に記載の方法。3Dモデルを表すビットストリームを生成する装置であって、構造に関連付けられたパターンのインスタンスに関する情報にアクセスする手段であって、前記情報は前記パターンに関連付けられたパターン識別子及び変換情報を含む、アクセスする手段と、前記インスタンスを表すビットストリームを生成する、前記パターン識別子及び前記パターン変換データが第1のフォーマット及び第2のフォーマットのうちの一方で前記ビットストリーム内に配設される、手段と、を含む装置。前記変換情報が、反転部分、並進部分、回転部分、及びスケーリング部分のうちの少なくとも1つを含む、請求項10に記載の装置。前記パターンが複数のパターンを含み、前記第1のフォーマットが、各パターン識別子及びその関連する変換情報をグループ化することを含み、前記第2のフォーマットが、複数のパターン識別子をグループ化し、及び情報タイプに従って前記変換情報をグループ化することを含む、請求項11に記載の装置。前記アクセスする手段が、前記パターンのそれぞれに関連付けられたプロパティ情報にアクセスする、請求項12に記載の装置。前記プロパティ情報が、法線、カラー、及びテクスチャ座標のうちの少なくとも1つを含む、請求項13に記載の装置。前記第1のフォーマットが、各パターン識別子をその変換情報及びプロパティ情報とグループ化することを含み、前記第2のフォーマットが、複数のパターン識別子をグループ化し、及び情報タイプに従って前記変換情報及びプロパティ情報をグループ化することを含む、請求項14に記載の装置。3Dモデルを表すビットストリームを処理する方法であって、前記ビットストリームが構造に関連付けられたパターン関する情報を含むかどうかを判定するステップであって、前記情報は、第1のフォーマット又は第2のフォーマットの、前記パターンに関連付けられたパターン識別子及び変換情報を含む、判定するステップと、前記判定ステップに応じて、前記パターンに関連付けられた前記パターン識別子及び前記変換情報にアクセスするステップと、前記パターン識別子及び前記変換情報を復号して3Dモデルデータを生成するステップと、を含む、方法。前記変換情報が、反転部分、並進部分、回転部分、及びスケーリング部分のうちの少なくとも1つを含む、請求項16に記載の方法。前記ビットストリームが複数のパターンに関する情報を含み、前記第1のフォーマットが、グループ化された各パターン識別子及びその関連する変換情報を含み、前記第2のフォーマットが、グループ化された複数のパターン識別子、及び情報タイプに従ってグループ化された前記変換情報を含む、請求項17に記載の方法。前記パターンのそれぞれに関連付けられたプロパティ情報にアクセスするステップをさらに含む、請求項18に記載の方法。前記プロパティ情報が、法線、カラー、及びテクスチャ座標のうちの少なくとも1つを含む、請求項19に記載の方法。前記第1のフォーマットが、グループ化された各パターン識別子とその変換情報及びプロパティ情報とを含み、前記第2のフォーマットが、グループ化された複数のパターン識別子と、情報タイプに従ってグループ化された前記変換情報及びプロパティ情報とを含む、請求項20に記載の方法。3Dモデルを表すビットストリームを処理する装置であって、前記ビットストリームが構造に関連付けられたパターン関する情報を含むかどうかを判定する手段であって、前記情報は、第1のフォーマット又は第2のフォーマットの、前記パターンに関連付けられたパターン識別子及び変換情報を含む、判定する手段と、前記判定ステップに応じて、前記パターンに関連付けられた前記パターン識別子及び前記変換情報にアクセスする手段と、前記パターン識別子及び前記それぞれの変換情報を復号して3Dモデルデータを生成する手段と、を含む装置。前記変換情報が、反転部分、並進部分、回転部分、及びスケーリング部分のうちの少なくとも1つを含む、請求項22に記載の装置。前記ビットストリームが複数のパターンに関する情報を含み、前記第1のフォーマットが、グループ化された各パターン識別子及びその関連する変換情報を含み、前記第2のフォーマットが、グループ化されたパターン識別子、及び情報タイプに従ってグループ化された変換情報を含む、請求項23に記載の装置。前記アクセスするための手段が、前記パターンのそれぞれに関連付けられたプロパティ情報にアクセスする、請求項24に記載の装置。前記プロパティ情報が、法線、カラー、及びテクスチャ座標のうちの少なくとも1つを含む、請求項25に記載の装置。前記第1のフォーマットが、グループ化された各パターン識別子とその変換情報及びプロパティ情報とを含み、前記第2のフォーマットが、グループ化されたパターン識別子と、情報タイプに従ってグループ化された変換情報及びプロパティ情報とを含む、請求項26に記載の装置。請求項4、5、6、7、8、9、16、17、18、19、20、又は21に従ってビットストリームを生成又は処理するための命令を記憶している、コンピュータ読み取り可能記憶媒体。請求項4、5、6、7、8、又は9に従って生成されたビットストリームを記憶している、コンピュータ読み取り可能記憶媒体。しかしながら、法線normal、カラー、及びテクスチャ座標などの3Dモデルプロパティを扱うことが可能であり、その変換が反転変換reflectiontransformationを含むインスタンスを圧縮することが可能な方法及び装置を提供することが求められている。したがって本原理は、通常のカラー及びテクスチャ座標などの3Dモデルプロパティを圧縮するため、並びに、その変換が反転変換を含むインスタンスを圧縮し、この情報を含むビットストリームを生成するために使用可能な、方法及び装置を提供する。本原理は、いくつかの構造に関連付けられたパターンのインスタンスに関する情報にアクセスすることであり、情報はそれぞれのパターンに関連付けられたパターン識別子及び変換情報を含む、アクセスすること、並びに、以下で説明するように、第1のフォーマット及び第2のフォーマットのうちの1つのビットストリーム内に配設された、パターン識別子及びパターン変換データを含む、インスタンスを表すビットストリームを生成することを含む、3Dモデルを表すビットストリームを生成するための方法を提供する。本原理は、これらのステップを実行するための装置も提供する。ビットストリームは、複数のパターンに関連付けられた情報と、第1のフォーマット及び第2のフォーマットのうちの1つの複数のパターンに関連付けられたそれぞれの情報とを含むことも可能である。本原理は、ビットストリームが構造に関連付けられたパターンのインスタンスに関する情報を含むかどうかを判定することであって、情報は、以下で説明するように第1のフォーマット又は第2のフォーマットの、パターンに関連付けられたパターン識別子及び変換情報を含む、判定すること、判定ステップに応答して、パターンに関連付けられたパターン識別子及び変換情報にアクセスすること、及び、3Dモデルデータを生成するためにパターン識別子及び変換情報を復号することを含む、3Dモデルを表すビットストリームを処理するための方法も提供する。本原理は、前記ステップを実行するための装置も提供する。ビットストリームは、複数のパターンに関連付けられた情報と、第1のフォーマット及び第2のフォーマットのうちの1つの複数のパターンに関連付けられたそれぞれの情報とを含むことも可能である。本原理は、前述の方法に従ってビットストリームを生成又は処理するための命令を記憶した、コンピュータ読み取り可能記憶媒体も提供する。本原理は、前述の方法に従って生成されたビットストリームを記憶した、コンピュータ読み取り可能記憶媒体も提供する。反復構造の発見時には、形状のみがチェックされる。1インスタンスは、プロパティデータを対応するパターンと共有するか、又はそれ自体のプロパティデータを有することが可能である。インスタンスのプロパティは、パターンとプロパティを共有しない場合、別々に圧縮されることになる。インスタンス変換は、反転部分、回転部分、並進translation部分、及び可能スケーリング部分の、4つの部分に分割することができる。4つの部分は別々に圧縮される。すべてのパターンは、より多くのビットレート節約を達成するために、まとめて圧縮される。復号時、パターンは、インスタンスの復元前に互いに分離される必要がある。図3及び図4は、本原理の態様を実装するのに適した例示のエンコーダ及びデコーダを示す。エンコーダ及びデコーダの詳細は、出願人の共有するPCT出願WO2010149492及びPCTCN2011076991で提供されており、その説明は、参照により本明細書に明示的に組み込まれている。当業者であれば理解されるように、こうした3Dレンダリングが必要とされる様々な実施形態に柔軟性を提供するために、コーデックはハードウェア、ソフトウェア、又はファームウェア、或いはこれらのモダリティの組み合わせで実装可能である。特定用途向け集積回路ASIC、プログラマブルアレイ論理回路、ディスクリート半導体回路、及びプログラマブルデジタル信号処理回路、とりわけ、一時的又は持続的なコンピュータ読み取り可能媒体は、すべて、本発明を実装するために使用可能である。これらはすべて、本発明の可能な実装の非限定的な例であり、当業者であれば、他の実施形態が実現可能であることを理解されよう。2インスタンス圧縮モードビットストリームがすべてのインスタンスデータを埋め込むことを望む一方で、効率的であり、時にはビットストリームサイズ又は復号効率又は誤り耐性のいずれかが最も重要ないくつかの適用例に対処することも望む。したがって本発明者等は、パターンの1インスタンスのデータ、すなわちそのパターンIDたとえば、第1のパターンには1、第2のパターンには2、というように、パターン圧縮データストリーム内のパターンの実際の位置であるID、その反転変換部分F、その並進変換部分T、その回転変換部分R、及びそのスケーリング変換部分Sを、いかにしてビットストリーム内に入れるかについて、2つのオプションを提案する。どちらもそれら独自の長所及び短所を有する。オプションA基本インスタンスデータモードID、F、T、R、S、ID、F、T、R、S:このモードを使用すると、1インスタンスのパターンID、反転変換部分、並進変換部分、回転変換部分、及びスケーリング変換部分は、ビットストリーム内にまとめてパックされる。長所:誤り耐性がある。デコーダは、いくつかのインスタンスの変換失敗から回復可能である。オンライン復号。これは、圧縮ビットストリームの実際の読み取り時に、インスタンスが1つずつ復号可能であることを意味する。圧縮ビットストリーム全体の読み取り完了を待つ必要はない。コーデック速度が速い。コーデックはバッファを必要としない。短所:圧縮済みの3Dモデルサイズが相対的に大きい。オプションBグループ化インスタンスデータモードID、ID、F、F、T、T、R、R、S、S:このモードを使用すると、情報は、情報タイプに基づいてグループ化される。すなわち、1インスタンスのパターンID、反転変換部分、並進変換部分、回転変換部分、及びスケーリング変換部分は、ビットストリーム内にまとめてパックされる。長所:圧縮済みの3Dモデルサイズが相対的に小さい。短所:デコーダは、もはや誤り耐性がない。オフライン復号これは、デコーダが、圧縮されたビットストリーム全体の読み取り後にのみ、復号を開始できることを意味する。コーデック速度が遅い。バッファが必要である。現行のビットストリーム定義は、上記2つのオプションの両方を含むことになる。その後ユーザは、彼らのアプリケーションにより良く適合する方を選択することができる。特定の実装は、2つのインスタンスデータモードのうちの1つを実装することのみを選択することができる。その場合、ビットストリーム定義は適宜変更されるものとする。詳細についてはビットストリームのシンタックス及びセマンティクスの項を参照されたい。インスタンスは、オリジナルの構成要素と、パターン及びインスタンス変換から復元された構成要素との間の距離として定義される、より大きな復号誤りを有する可能性があるため、ビットストリームのいくつかのデータフィールドは、復号された3Dモデル品質を保証するために、圧縮されたインスタンス復号誤りを示すように定義される。インスタンスの復号誤りを圧縮するか否かは、たとえば品質要件に基づいている。インスタンス変換の圧縮以下に示されるように、インスタンス変換は、反転部分Refle、回転部分Rotat、並進部分Transl、及び可能スケーリング部分の、4つの部分に分割可能である。反転部分は、WJiang、KCai、及びTLuoによるMethodandApparatusforReflectiveSymmetryBased3DModelCompressionという名称のPCT出願出願番号を記入に記載されるように、たとえば1ビットフラグによって表すことが可能である。回転部分は3×3マトリクスである。3列又は行の回転部分は単位直交ベクトルである。時には復号効率又は復号誤りのいずれかが最も重要である、いくつかの適用例に対処するために、本発明者等は、回転部分をいかにして圧縮するかについて2つのオプションを提案する。どちらもそれら独自の長所及び短所を有する。オプションAデカルトモード。デカルト座標系において、WJiang、KCai、及びJTianによるConditionalErrorCorrectioninOrientationAX’sEncodingという名称のPCT出願PCTCN2011077277に記載されるように、たとえば、回転部分は2本の直交軸x0,y0,z0及びx1,y1,z1によって表され、圧縮されることが可能である。長所:コーデック速度が速い。短所:復号済みの3Dモデルの精度が相対的に低い。オプションB球面モード。このモードを使用すると、回転部分は、たとえばComputingEulerAnglesfromaRotationMatrixGregSlaubaugh1999Reportsによって、オイラー角アルファ,ベータ,ガンマに変換され、WJiang、KCai、及びJTianによるOrientationEncodingという名称のPCT出願PCTCN2011077271に記載されるように、圧縮されることが可能である。長所:復号済みの3Dモデルがより正確である。短所:コーデック速度が相対的に遅い。現行のビットストリーム定義は、上記2つのオプションの両方を含むことになる。その後ユーザは、彼らのアプリケーションにより良く適合する方を選択することができる。特定の実装は、2つのインスタンス回転圧縮モードのうちの1つを実装することのみを選択することができる。その場合、ビットストリーム定義は適宜変更されるものとする。詳細についてはビットストリームのシンタックス及びセマンティクスの項を参照されたい。並進部分は、ベクトルx,y,z擬似並進ベクトルによって表される。グループ化インスタンス変換モードを使用すると、すべての擬似インスタンス並進ベクトルは、たとえば、WJiang、KCai、及びZChenによるAModelAdaptiveEntropyCodingforOctreeCompressionという名称のPCT出願PCTCN2011077279に記載された、オクトリーデータ構造内のすべての擬似インスタンス並進ベクトルの境界ボックスを再帰的に細分する方法を使用して、オクトリーoctreeOT分解decompositionベースの圧縮アルゴリズムによって圧縮される。本発明者等は、各オクトリーノード細分を、1ビットフラグを使用して子ノードが非空であるかどうかを示す、8ビット長の占有コードによって表す。オクトリーを記述する占有コードシーケンスは、オクトリーの幅優先トラバースbreadthfirsttraversingによって生成される。本発明者等は、占有コードシーケンスをいくつかの間隔に分割し、それらを異なる確率モデルで圧縮することによって、占有コードシーケンスを圧縮する。インスタンスは、重複並進ベクトルと呼ばれる極端に近い擬似並進ベクトルを有する可能性があるため、ビットストリームのいくつかのデータフィールドは、重複並進ベクトルを示すために定義される。スケーリング部分は、たとえばMIsenburg等によるLosslessCompressionofPredictedFloatingPointGeometry、ComputerAidedDesignVolume37Issue8、869~877ページ、2005年7月によって、インスタンスの均一スケーリングSによって表され、浮動小数点数について無損失圧縮アルゴリズムによって圧縮される。インスタンスプロパティの圧縮実際の適用例では、形状に加えて、3Dモードは通常、法線、カラー、及びテクスチャ座標などの様々なプロパティを有する。インスタンスが同じパターンのプロパティを有することを必要とすることで、反復構造が発見され得る回数を制限し、A3DMCの圧縮率を下げることになる。したがって本発明者等は、反復構造の発見時に形状のみをチェックし、インスタンスは、対応するパターンのプロパティによって異なるプロパティを有することができる。基本インスタンスデータモードが使用される場合、いかにしてビットストリームからインスタンスのプロパティを取得するかを示すために、1つのデータフィールドが定義される。ケースA:インスタンスはパターンプロパティデータを共有し、データフィールドはそのプロパティを表す必要がない。ケースB:インスタンスはそれ独自のプロパティを有し、そのプロパティをビットストリーム内に表すために別々のデータフィールドが必要である。1インスタンスのプロパティデータPは、インスタンスの他のデータに従い、すなわちID、F、T、R、S、P、ID、F、T、R、S、Pである。グループ化インスタンスデータモードが使用される場合、すべてのインスタンスは、パターンプロパティデータを共有するか、それら独自のプロパティデータを有するものとする。ビットストリームのインスタンスデータ部分はID、ID、F、F、T、T、R、R、S、S、P、Pのようになる。本発明者等は、ISOIEC1449616の同じ3Dモデルプロパティデータフィールド定義を使用する。圧縮済みビットストリームの一般構造本発明者らの反復構造発見ベース圧縮アルゴリズム、A3DMCの圧縮済みビットストリームの一般構造の分解は、図2に示された通りである。ビットストリームは、ヘッダバッファA3DMCstreamheaderで始まり、オリジナルモデル内に少なくとも1つの反復構造が存在するか否かの情報、形状を圧縮するために使用される3Dモデル圧縮方法、すべての3Dオブジェクトパターン及び必要であれば他の部分の接続性及びプロパティ、このビットストリーム内でグループ化インスタンス変換モード又は基本インスタンス変換モードが使用されるか否かの情報、反復的でないオリジナルモデルの何らかの部分ユニーク部分と呼ぶが存在するか否かの情報、インスタンス復号誤りが補償されるかどうかの情報、インスタンスが有し得るプロパティのタイプの情報など、圧縮済みストリームを復号するためのすべての必要な情報を含む。オリジナルモデル内に反復構造repeatstrucbit1を含まない場合、ビットストリームの左部分は、A3DMCstreamheader内に示された3Dモデル圧縮方法を使用する圧縮済み入力3Dモデルである。含む場合、ビットストリーム内の次の部分は、すべてのパターンの圧縮済み結果である。このビットストリーム内でいずれのインスタンス変換パッキングモードが選択されるかに応じて、comprinstagroupeddata又はcomprinstaelementarydataのいずれかが、ビットストリーム内の次の部分である。オリジナル3Dモデル内にユニーク部分が存在する場合、comprunipartdataが付属される。存在しない場合、ビットストリームは終了する。ビットストリームシンタックス及びセマンティクスSC3DMC仕様ですでに使用されているシンタックス関数、カテゴリ、及び記述子に加えて、本発明者等は、以下の2つも使用することになる。fn:各シンボルについて左から右へ記載されたn個のビットを用いる、固定長符号化ビット。nは各シンボルの符号長さに依存する。ecv:場合によっては構成シンボルを含む、エントロピー符号化たとえば算術符号化シンタックス要素。ビットストリームシンタックス及びセマンティクスA3DMCstreamクラスシンタックスセマンティクスA3DMCstreamheader:ヘッダバッファを含む。A3DMCsteamdata:データバッファを含む。A3DMCstreamheaderクラスシンタックスセマンティクスrepeatstrucbit:3Dモデル内に一定量を上回る反復構造が存在するか否かを示す、1ビットの符号なし整数。0は反復構造なし、1は反復構造。3dmodelcomprmode:パターン、ユニーク部分、及び、反復構造を含まない場合のオリジナル3Dモデル自体を圧縮するために使用される、3Dモデル圧縮方法を示す、2ビットの符号なし整数。QP:品質パラメータを示す5ビットの符号なし整数。QPの最小値は3であり最大値は31である。patternnum:255未満の場合のすべてのパターンの数を示す、8ビットの符号なし整数。patternnumの最小値は1である。patternnum2:255以上の場合のすべてのパターンの数を示す、16ビットの符号なし整数。この場合、合計パターン数はpatternnum2255である。instancenum:65535未満の場合のすべてのインスタンスの数を示す、16ビットの符号なし整数。instancenumの最小値は1である。instancenum2:65535以上の場合のすべてのインスタンスの数を示す、32ビットの符号なし整数。この場合、合計インスタンス数はinstancenum265535である。instatranselembit:ビットストリーム内でグループ化インスタンス変換モード又は基本インスタンス変換モードのいずれが使用されるかを示す、1ビットの符号なし整数。0はグループ化インスタンス変換モード、1は基本インスタンス変換モード。instarotatmodebit:インスタンス回転変換の符号化モードを示す、1ビットの符号なし整数。0は球面モード、1はデカルトモード。usescalingbit:インスタンス変換がスケーリング係数を含むかどうかを示す1ビットの符号なし整数。1はインスタンス変換にスケーリング係数が含まれ、0は含まれない。ほとんどのインスタンスのスケーリング係数が1.0に等しい場合、インスタンス変換はスケーリング係数を含まない。そこで、すべてのインスタンスは対応するパターンと同じサイズを有さなければならない。unipartbit:オリジナル3Dモデル内にユニーク部分が存在するかどうかを示す、1ビットの符号なし整数。0はユニーク部分が存在しないことを意味し、1はユニーク部分が存在することを示す。unipartbitが0に等しい場合、パターンインスタンス圧縮データ後にビットストリームの端部が右に達していることも意味する。errorcompensateenablebit:ビットストリーム内の何らかのインスタンスに関する圧縮済み復号誤りのデータフィールドが存在するかどうかを示す、1ビットの符号なし整数。0はビットストリーム内のインスタンスの圧縮済み復号誤りのデータフィールドが存在しないことを意味し、1はビットストリーム内の何らかのインスタンスの圧縮済み復号誤りのデータフィールドが存在することを意味する。propertyenablebits:各ビットが、対応するプロパティたとえば法線、カラー、テクスチャ座標が符号化されるかどうかを示す、4ビットフラグ。0は対応するプロパティが符号化されないことを意味し、1は符号化されることを意味する。ビットとプロパティとの間の関係は、以下の表に示される。A3DMCstreamdataクラスシンタックスセマンティクスcomprrepeatstrucdata:反復構造を含む圧縮済み3Dモデルを含む。compr3dmodeldata:反復構造を含まず、3dmodelcomprmodeによって示される圧縮方法によって符号化された、圧縮済み3Dモデルを含む。comprrepeatstrucdataクラスシンタックスセマンティクスcomprpatterndata:3dmodelcomprmodeによって示される圧縮方法によって符号化された、すべてのパターンの圧縮済み形状、接続性、及びプロパティを含む。comprinstaelementarydata:基本インスタンス変換モードを使用するすべてのパターンインスタンスについての、圧縮済みインスタンス変換データを含む。バイトが位置合わせされるように圧縮される。comprinstagroupeddata:グループ化インスタンス変換モードを使用するすべてのパターンインスタンスについての、圧縮済みインスタンス変換データを含む。バイトが位置合わせされるように圧縮される。comprunipartdata:3dmodelcomprmodeによって示される圧縮方法によって符号化された、圧縮済みユニーク部分データを含む。comprinstaelementarydataクラスシンタックスセマンティクスinstatranlbbox:インスタンス並進情報を圧縮する場合に量子化が使用できるような、並進ベクトルデータの最小値及び最大値を含む。compreleminstapatternID:i番目インスタンスの圧縮済みパターンIDを含む。eleminstasharepatternpropertybit:i番目インスタンスが対応するパターンとプロパティを共有するか否かを示す、1ビットの符号なし整数。0は、i番目インスタンスが対応するパターンとプロパティを共有せず、そのプロパティを圧縮する必要があることを意味する。1は、i番目インスタンスが対応するパターンとプロパティを共有することを意味する。eleminstareflectionflag:i番目インスタンスの変換が反転を含むかどうかを示す、1ビットの符号なし整数。0はi番目インスタンスの変換が反転を含まないことを意味し、1はi番目インスタンスの変換が反転を含むことを意味する。compreleminstatransl:i番目インスタンスの圧縮済み並進ベクトルを含む。compreleminstarotatcartesian:デカルトモードでi番目インスタンスの圧縮済み回転変換を含む。compreleminstarotatspherical:球面モードでi番目インスタンスの圧縮済み回転変換を含む。compreleminstascaling:i番目インスタンスの圧縮済みスケーリング係数を含む。compreleminstanormalheader:i番目インスタンスの圧縮済み法線のヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。compreleminstanormaldata:i番目インスタンスの圧縮済み法線を含む。詳細な定義については、ISOIEC14496165213を参照のこと。compreleminstacolorheader:i番目インスタンスの圧縮済みカラーのヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。compreleminstacolordata:i番目インスタンスの圧縮済みカラーを含む。詳細な定義については、ISOIEC14496165213を参照のこと。compreleminstatexcoordheader:i番目インスタンスの圧縮済みテクスチャ座標のヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。compreleminstatexcoorddata:i番目インスタンスの圧縮済みテクスチャ座標を含む。詳細な定義については、ISOIEC14496165213を参照のこと。eleminstaerrorcompensateflag:ビットストリームの次の部分がi番目インスタンスの圧縮済み復号誤りであるかどうかを示す、1ビットの符号なし整数。0は、ビットストリームの次の部分がi番目インスタンスの圧縮済み復号誤りでないことを意味し、1は、ビットストリームの次の部分がi番目インスタンスの圧縮済み復号誤りであることを意味する。compreleminstaerrorcompenheader:i番目インスタンスの圧縮済み復号誤りのヘッダを含む。compreleminstaerrorcompendata:i番目インスタンスの圧縮済み復号誤りを含む。bitnuminstatransl:QPに基づき、各擬似インスタンス並進ベクトルについてビット数を計算する。compreleminstarotatcartesianクラスシンタックスセマンティクスデカルトモードのi番目インスタンスの回転変換は、2本の直交軸x0,y0,z0及びx1,y1,z1によって表される。compreleminstarotatx0:i番目インスタンスの回転の圧縮済みx0を含む。compreleminstarotaty0:i番目インスタンスの回転の圧縮済みy0を含む。eleminstarotatz0sgn:x0及びy0を使用してz0を計算するために必要なz0の符号を示す、1ビットの符号なし整数。0は-、1はである。comprithinstaorientz0res:不正確な可能性が高い計算済みz0の圧縮済み剰余を含む。compreleminstarotatw:x0及びy0に依存して、x1、y1、又はz1であり得る、i番目インスタンスの回転の圧縮済み第3座標wを含む。eleminstarotatsgnv:x0、y0、z0、及びwを使用してvを計算するために必要な、wに依存してx1又はy1であり得る、第5座標vの符号を示す、1ビットの符号なし整数。0は-、1はである。compreleminstarotatz1res:不正確な可能性が高い計算済みz1の圧縮済み剰余を含む。needcompensatez0:i番目インスタンスの回転の計算済みz0が補償される必要があるか否かを判定する。i番目インスタンスの回転の計算済みz0が補償される必要がある場合はtrueを、i番目インスタンスの回転の計算済みz0が補償される必要がない場合はfalseを戻す。needcompensatez1:i番目インスタンスの回転の計算済みz1が補償される必要があるか否かを判定する。wがz1でなく、i番目インスタンスの回転の計算済みz1が補償される必要がある場合は、trueを戻す。wがz1であるか、又は、i番目インスタンスの回転の計算済みz1が補償される必要がない場合は、falseを戻す。bitnumrotatcartesian:QPに基づき、デカルト座標系における各回転値についてビット数を計算する。bitnumrotatrescartesian:QPに基づき、デカルト座標系における各回転剰余値についてビット数を計算する。compreleminstarotatsphericalクラスシンタックスセマンティクス球面モードのi番目インスタンスの回転は、3つの角度、アルファ、ベータ、及びガンマで表される。compreleminstarotatalpha:i番目インスタンスの回転の圧縮済みアルファを含む。compreleminstarotatbeta:i番目インスタンスの回転の圧縮済みベータを含む。compreleminstarotatgamma:i番目インスタンスの回転の圧縮済みガンマを含む。bitnumrotatalpha:QPに基づき、各アルファ値についてビット数を計算する。bitnumrotatbeta:QPに基づき、各ベータ値についてビット数を計算する。bitnumrotatgamma:QPに基づき、各ガンマ値についてビット数を計算する。comprinstagroupeddataクラスシンタックスセマンティクスcomprinstapatternIDheader:すべてのインスタンスの圧縮済みパターンIDについての、16ビットヘッダ。patternIDdataを自動的に符号化するための圧縮済みビットストリーム長さを決定することが可能な、固定長コーデック又はエントロピーコーデックを使用する場合、このデータフィールドは未使用である。comprinstapatternIDdata:すべてのインスタンスの圧縮済みパターンIDを含む。instareflectionflagdata:すべてのインスタンスの反転フラグを含む。バイトが位置合わせされるように圧縮される。comprinstatranslheader:すべてのインスタンスの圧縮済み並進ベクトルについての、16ビットヘッダ。transldataを自動的に符号化するための圧縮済みビットストリーム長さを決定することが可能な、固定長コーデック又はエントロピーコーデックを使用する場合、このデータフィールドは未使用である。comprinstatransldata:すべてのインスタンスの圧縮済み擬似並進ベクトルを含む。完全な説明は4.9を参照のこと。comprinstarotatheader:すべてのインスタンスの圧縮済み回転変換部分についての、16ビットヘッダ。rotatdataを自動的に符号化するための圧縮済みビットストリーム長さを決定することが可能な、固定長コーデック又はエントロピーコーデックを使用する場合、このデータフィールドは未使用である。comprinstarotatdata:すべてのインスタンスの圧縮済み回転変換部分を含む。バイトが位置合わせされるように圧縮される。完全な説明は4.10を参照のこと。comprinstascalingheader:すべてのインスタンスの圧縮済みスケーリング係数についての、16ビットヘッダ。scalingdataを自動的に符号化するための圧縮済みビットストリーム長さを決定することが可能な、エントロピーコーデックを使用する場合、このデータフィールドは未使用である。comprinstascalingdata:すべてのインスタンスの圧縮済みスケーリング係数を含む。instasharepatternpropertybit:1ビットの符号なし整数が、すべてのインスタンスがパターンとプロパティを共有するかどうかを示す。0は、すべてのインスタンスがパターンとプロパティを共有せず、それらのプロパティが圧縮されることを意味する。1は、すべてのインスタンスがパターンとプロパティを共有することを意味する。comprinstanormalheader:すべてのインスタンスの圧縮済み法線のヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。comprinstanormadatal:すべてのインスタンスの圧縮済み法線を含む。詳細な定義については、ISOIEC14496165213を参照のこと。comprinstacolorheader:すべてのインスタンスの圧縮済みカラーのヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。comprinstacolordata:すべてのインスタンスの圧縮済みカラーを含む。詳細な定義については、ISOIEC14496165213を参照のこと。comprinstatexcoordheader:すべてのインスタンスの圧縮済みテクスチャ座標のヘッダを含む。詳細な定義については、ISOIEC14496165213を参照のこと。comprinstatexcoorddata:すべてのインスタンスの圧縮済みテクスチャ座標を含む。詳細な定義については、ISOIEC14496165213を参照のこと。instaerrorcompenflagdata:すべてのインスタンスのeleminstaerrorcompensateflagを含む。compreleminstaerrorcompenheader:i番目インスタンスの圧縮済み復号誤りのヘッダを含む。compreleminstaerrorcompendata:i番目インスタンスの圧縮済み復号誤りを含む。comprinstatransldataクラスシンタックスセマンティクスnumnode:オクトリーノードの数を示す、16ビットの符号なし整数。numduplileaf:重複リーフノードと呼ばれる、重複インスタンス並進ベクトルを含むオクトリーリーフノードの数を示す、8ビットの符号なし整数。duplileafid:オクトリーの幅優先トラバースシーケンスにおける、i番目の重複リーフノードのインデックスを含む。numdupliinstatransl:i番目の重複オクトリーリーフノード内に入る重複インスタンス並進ベクトルの数を示す、4ビットの符号なし整数。numintervalbound:オクトリー占有コードシーケンス全体の間隔境界の数を示す、8ビットの符号なし整数。reservedbits:バイト位置合わせ目的のいくつかのISO予約済みビットを含む。intervalboundid:i番目の間隔境界のインデックスを含む。occupp0symbols:アルファベットの汎用セットで圧縮されたオクトリーノードの占有コードを含む。occupp1symbols:アルファベットのサブセットで圧縮されたオクトリーノードの占有コードを含む。comprinstarotatdataクラスシンタックス実装は、2つのインスタンスデータパッキングモードのうちの1つのみを実装するように選択する可能性がある。その場合、A3DMCstreamheaderにおけるinstatranselembitがビットストリーム定義から除去されるべきである。実装によって基本インスタンスデータモードが選択された場合、comprinstagroupeddataがビットストリーム定義から除去されるべきである。実装によってグループ化インスタンス変換モードが選択された場合、comprinstaelementarydataがビットストリーム定義から除去されるべきである。実装は、2つのインスタンス回転圧縮モードのうちの1つのみを実装するように選択する可能性がある。その場合、A3DMCstreamheaderにおけるinstarotatmodebitがビットストリーム定義から除去されるべきである。実装によって圧縮インスタンス回転に対してデカルトモードが選択された場合、compreleminstarotatsphericalがビットストリーム定義から除去されるべきである。実装によって球面モードが選択された場合、compreleminstarotatcartesianがビットストリーム定義から除去されるべきである。実装は、すべてのインスタンスの圧縮済みパターンID、並進変換部分、回転変換部分、及びスケーリング係数について、ビットストリーム内にヘッダを含めないように選択する可能性がある。その場合、comprinstapatternIDheader、comprinstatranslheader、comprinstarotatheader、及びcomprinstascalingheaderが、ビットストリーム定義から除去されるべきである。したがって、本原理に従い、3Dモデルが反復構造発見を使用して表され、前述のシンタックスに従ってビットストリームが生成され、法線、カラー、及びテクスチャ座標などの3Dモデルプロパティに対処するため、及び、その変換が反転変換を含むインスタンスを圧縮するために、符号化される。モデルデータがアクセスされ、パターンID及び変換情報、及びプロパティ情報が決定される。パターンID、変換情報、及びプロパティ情報は、3Dモデルのビットストリーム表現を生成するために、前述のフォーマットのうちの1つに従って、まとめてグループ化される。とりわけ本原理は、以下の特徴及び利点を提供する。1.本発明者等の反復構造発見ベースの圧縮アルゴリズムの、圧縮済みビットストリームのシンタックス及びセマンティクス。2.どちらもビットストリーム内で可能な、基本インスタンス又はグループ化インスタンスのデータオプションを有するためのソリューション。3.対応するパターンプロパティデータ又は対応するデータフィールドのいずれかから、インスタンスプロパティデータを取得するように適合された、デコーダ。4.品質要件に従ってインスタンスの復号誤りを圧縮するように適合された、エンコーダ。5.復号されたパターン及び復号されたインスタンス変換から復元された構成要素に、圧縮解除された復号誤りを追加することによって、最終インスタンス構成要素を取得するように適合された、デコーダ。6.すべてのパターンをまとめて圧縮するように適合されたエンコーダ。7.インスタンスを復元する前にパターンを分離するように適合されたデコーダ。8.インスタンス変換の4つの部分、すなわち反転、回転、並進、及び可能スケーリングの部分を、別々に圧縮するように適合された、エンコーダ。9.2本の直交軸又はオイラー角としての、1インスタンス変換の回転部分の圧縮。図4に示されたように、対応する復号された反転、並進、回転、及び可能スケーリングの部分から、インスタンスの変換マトリクスを復元するように適合された、デコーダ。本明細書で説明される実装は、たとえば、方法又はプロセス、装置、ソフトウェアプログラム、データストリーム、或いは信号内に実装可能である。単一形式の実装との関連においてのみ考察されるたとえば、方法としてのみ考察される場合であっても、考察される特徴の実装は、他の形たとえば装置又はプログラム内でも実装可能である。装置は、たとえば適切なハードウェア、ソフトウェア、及びファームウェア内で実装可能である。方法は、たとえばコンピュータ、マイクロプロセッサ、集積回路、又はプログラマブル論理デバイスを含む、たとえば一般に処理デバイスと呼ばれるプロセッサなどの、装置内で実装可能である。プロセッサは、たとえばコンピュータ、携帯電話、携帯情報端末PDA、及び、エンドユーザ間での情報の通信を容易にする他のデバイスなどの、通信デバイスも含む。本原理の一実施形態又は実施形態又は一実装又は実装という言い方、並びにそれらの様々な他の変形は、実施形態に関連して説明される特定の機能、構造、特徴などが、本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて様々な箇所に現れる、一実施形態において又は実施形態において又は一実装において又は実装においてという表現、並びに任意の他の変形の出現は、必ずしもすべてが同じ実施形態を指しているわけではない。加えて、本明細書又はその特許請求の範囲は、様々な情報片の決定を言い表すことができる。情報の決定は、たとえば情報の推定、情報の計算、情報の予測、又はメモリからの情報の取り出しのうちの、1つ又は複数を含むことができる。さらに、本明細書又はその特許請求の範囲は、様々な情報片へのアクセスを言い表すことができる。情報へのアクセスは、たとえば情報の受信、情報の取り出したとえばメモリ、情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の決定、情報の予測、又は情報の推定のうちの、1つ又は複数を含むことができる。加えて、本明細書又はその特許請求の範囲は、様々な情報片の受信を言い表すことができる。アクセスと同様に受信は、広義な用語であることが意図される。情報の受信は、たとえば情報へのアクセス、又はたとえばメモリからの情報の受信のうちの、1つ又は複数を含むことができる。さらに受信は、通常、色々な点で、たとえば情報の記憶、情報の処理、情報の送信、情報の移動、情報のコピー、情報の消去、情報の計算、情報の決定、情報の予測、又は情報の推定などの、動作時に関連している。当業者には明白であるように、実装は、たとえば記憶又は伝送され得る情報を搬送するようにフォーマット化された様々な信号を生成することができる。情報は、たとえば、方法を実行するための命令、又は説明された実装のうちの1つによって生成されるデータを、含むことができる。たとえば信号は、説明された実施形態のシンタックスを書き込む又は読み取るための規則を、データとして搬送するように、或いは、説明された実施形態によって作成された実際のシンタックス値を、データとして搬送するように、フォーマット化され得る。こうした信号は、たとえば電磁波として又はスペクトルの無線周波数部分を使用して、又はベースバンド信号として、フォーマット化することができる。フォーマット化は、たとえばデータストリームの符号化、及び符号化されたデータストリームによる搬送波の変調を含むことができる。信号が搬送する情報は、たとえばアナログ又はデジタルの情報とすることができる。信号は、知られているように、様々な異なる有線又は無線リンクを介して伝送可能である。信号は、プロセッサ読み取り可能媒体上に記憶することが可能である。"