(57)【要約】  本発明は低複雑度３次元メッシュ圧縮装置及び方法に関し、開示された圧縮装置は、該３次元メッシュモデルのデータを分析して頂点情報、３次元メッシュモデルの特性を表す属性情報及び３次元メッシュモデルを構成する頂点間の連結情報を分離するデータ分析部と、頂点情報、属性情報及び連結情報を用いて量子化された頂点情報、属性情報及び連結情報を生成するメッシュモデル量子化部と、量子化された連結情報に応じて３次元メッシュモデルの連続した連結情報の量子化値を用いてｃｉｒｃｕｌａｒ基盤の差分パルスコード変調予測を行うデータ変調部と、量子化された頂点情報、属性情報及び前記差分パルスコード変調された連結情報を符号化したデータを出力する符号化部とを含み、従来技術と比較すると、３次元メッシュモデルに対するデータ圧縮の複雑度を改善し、圧縮率を向上させ、更に、圧縮の複雑度を改善することによって、圧縮された３次元モデルを迅速かつ正確に復元させることができるので、圧縮データの復元効率も向上させるという利点がある。
2011528452.tif 000002
【特許請求の範囲】
【請求項１】
入力された３次元メッシュモデルのデータを分析して頂点情報、前記３次元メッシュモデルの特性を表す属性情報及び前記３次元メッシュモデルを構成する頂点間の連結情報を分離するデータ分析部と、
前記頂点情報、属性情報及び連結情報を用いて量子化された、前記３次元メッシュモデルの頂点情報及び属性情報を生成するメッシュモデル量子化部と、
前記３次元メッシュモデルの共有頂点間の共有情報を分析する共有頂点分析部と、
前記３次元メッシュモデルの連続した連結情報の量子化値を用いてｃｉｒｃｕｌａｒ基盤の差分パルスコード変調予測を行うデータ変調部と、
前記量子化された頂点情報、属性情報及び前記差分パルスコード変調された連結情報を符号化したデータをビットストリームとして出力するエントロピー符号化部と
を含む低複雑度３次元メッシュ圧縮装置。
【請求項２】
前記データ分析部は、前記３次元メッシュモデルの複雑度を演算し、演算した前記３次元メッシュモデルの複雑度値が予め設定した複雑度値を超える場合、前記３次元メッシュモデルを複数の部分メッシュに分割するマイクロプロセッサを含むことを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項３】
前記３次元メッシュモデルの複雑度は、フェースセットのフェース数によって決定されることを特徴とする請求項２に記載の低複雑度３次元メッシュ圧縮装置。
【請求項４】
前記連結情報は、１つの多角形を形成する複数の頂点のインデックスを含むインデックスリストで表現されることを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項５】
前記属性情報は、３次元メッシュモデルを形成する１つの多角形の法線、色相及びテクスチャ座標を含むことを特徴とする請求項４に記載の低複雑度３次元メッシュ圧縮装置。
【請求項６】
前記データ分析部は、前記３次元メッシュモデルの幾何学情報、頂点情報、属性情報及び連結情報に関するデータを格納するヘッダーを含むことを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項７】
前記データ変調部は、前記３次元メッシュモデルの前記量子化された連結情報に与えられたインデックス順に連続したデータ対の差値を演算して、前記差値の大きさを減少させるために、データ対内のインデックスの記述順序を連続したデータ対の差値が最小となるように変更する前処理部と、
前記量子化された連結情報に応じて、前記３次元メッシュモデルの連続した連結情報を用いて差分パルスコード変調予測を行う差分パルスコード変調部と
を含むことを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項８】
前記データ変調部は、面を三角形に分割した後に以前面と現在の面間の重なる頂点の数によって複数のタイプに分離してビットを生成する前処理部と、
前記前処理部で生成したビットが提供されれば、前記３次元メッシュモデルの連続した連結情報を用いて差分パルスコード変調予測を行う差分パルスコード変調部と
を含むことを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項９】
前記エントロピー符号化部は、前記３次元メッシュモデルの頂点情報、属性情報及び前記差分パルスコード変調された連結情報を算術符号化、二進算術符号化、或いは決定ビット符号化してエントロピー符号化されたデータをビットストリームの形態で出力することを特徴とする請求項１に記載の低複雑度３次元メッシュ圧縮装置。
【請求項１０】
入力された３次元メッシュモデルのデータを分析して頂点情報、前記３次元メッシュモデルの特性を表す属性情報及び前記３次元メッシュモデルを構成する頂点間の連結情報を分離する段階と、
前記頂点情報、属性情報及び連結情報を用いて量子化された、前記３次元メッシュモデルの頂点情報及び属性情報連結情報を生成する段階と、
前記３Ｄメッシュモデルの共有頂点間の共有情報を分析する段階と、
前記３次元メッシュモデルの連続した連結情報の量子化値を用いてｃｉｒｃｕｌａｒ基盤の差分パルスコード変調予測を行う段階と、
前記量子化された頂点情報、属性情報及び前記差分パルスコード変調された連結情報を符号化したデータをビットストリームとして生成する段階と
を含む低複雑度３次元メッシュ圧縮方法。
【請求項１１】
前記頂点間の連結情報を分離する段階は、
前記３次元メッシュモデルの複雑度を演算する段階と、
演算された前記３次元メッシュモデルの複雑度値と予め設定した複雑度値とを比較した結果に基づいて前記３次元メッシュモデルを複数の部分メッシュに分割する段階と
を含むことを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１２】
前記複雑度は、前記３次元メッシュモデルを形成するフェースセットのフェース数によって決定されることを特徴とする請求項１１に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１３】
前記連結情報は、１つの多角形を形成する複数の頂点のインデックスを含むインデックスリストで表現されることを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１４】
前記属性情報は、３次元メッシュモデルを形成する１つの多角形の法線、色相及びテクスチャ座標を含むことを特徴とする請求項３に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１５】
前記頂点間の連結情報を分離する段階は、前記３次元メッシュモデルの頂点情報、属性情報及び連結情報に関するデータを格納する段階を含むことを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１６】
前記差分パルスコード変調予測を行う段階は、
前記３次元メッシュモデルの前記量子化された連結情報に与えられたインデックス順に連続したデータ対の差値を演算して、前記差値の大きさを減少させるために、データ対内のインデックスの記述順序を連続したデータ対の差値が最小となるように変更して前処理する段階と、
前処理された前記連結情報に応じて前記３次元メッシュモデルの連続した連結情報の量子化値を用いて差分パルスコード変調予測を行う段階と
を含むことを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１７】
前記差分パルスコード変調予測を行う段階は、
面を三角形に分割した後に以前面と現在の面間の重なる頂点の数によって複数のタイプに分離してビットを生成する前処理段階と、
前記前処理によるビットが提供されれば、前記３次元メッシュモデルの連続した連結情報の量子化値を用いて差分パルスコード変調予測を行う段階と
を含むことを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１８】
前記データを出力する段階は、前記３次元メッシュモデルの頂点情報、属性情報及び前記差分パルスコード変調された連結情報を算術符号化、二進算術符号化、或いは決定ビット符号化してエントロピー符号化されたデータをビットストリームの形態で生成することを特徴とする請求項１０に記載の低複雑度３次元メッシュ圧縮方法。
【請求項１９】
請求項１０〜１８のいずれか一項に記載の低複雑度３次元メッシュ圧縮方法を行うコンピュータプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像圧縮に関し、更に詳しくは、３次元メッシュモデルの量子化された連結情報（ｃｏｎｎｅｃｔｉｖｉｔｙ ｉｎｆｏｒｍａｔｉｏｎ）に対して 符号変調（Ｄｉｆｆｅｒｅｎｔｉａｌ Ｐｕｌｓｅ Ｃｏｄｅ Ｍｏｄｕｌａｔｉｏｎ：ＤＰＣＭ）を適用して変調された連結情報を符号化する低複雑度３次元メッシュ圧縮装置及び方法に関する。
【背景技術】
【０００２】
現在、コンピュータグラフィックス分野で３次元映像を表現する方法として、三角形メッシュ（ｔｒｉａｎｇｕｌａｒ ｍｅｓｈ）が広く利用されている。三角形メッシュ映像は、不均一な構造により三角形を形成する頂点（ｖｅｒｔｅｘｔ）の位置情報及び頂点間の連結情報で構成され、均一な構造を有する２次元映像に比べてデータ量が非常に大きい。
【０００３】
従って、三角形メッシュ映像の格納及び伝送の問題を解消するために多くの研究が活発に行われている。
【０００４】
このように、３次元グラフィックス分野は最近になって多く用いられているが、情報量の膨大さのため、その使用範囲が制限されている。
【０００５】
これは、３２ビットの浮動小数点で３次元メッシュモデルの頂点情報が表現されると仮定すれば、１つの頂点情報を表現するために、９６ビット、即ち１２バイトのメモリ空間が必要となる。
【０００６】
これは、３次元モデルが頂点情報のみを有する１万個の頂点により表現されれば、１２０ＫＢを必要とし、１０万個の頂点により表現されれば、１.２ＭＢのメモリが必要になる。
【０００７】
また、連結情報は２回以上の重複を許容するため、多角形メッシュによる３次元モデルを格納するためには非常に多くのメモリを必要とするようになる。
【０００８】
従って、このような情報の膨大さにより３次元映像の圧縮において符号化の必要性が浮上するようになった。このために、ＭＰＥＧ-４（Ｍｏｖｉｎｇ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔ Ｇｒｏｕｐ-４）-３ＤＧＣ（３ Ｄｉｍｅｎｓｉｏｎａｌ Ｇｒａｐｈｉｃｓ Ｃｏｍｐｒｅｓｓｉｏｎ）分野においてＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｏｒｇａｎｉｚａｔｉｏｎ ｆｏｒ Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ Ｃｏｍｐｒｅｓｓｉｏｎ）の標準案として採択された３次元メッシュコーディング（３Ｄ Ｍｅｓｈ Ｃｏｄｉｎｇ：３ＤＭＣ）方式は仮想言語モデリング言語（Ｖｉｒｔｕａｌ Ｒｅａｌｉｔｙ Ｍｏｄｅｌｉｎｇ Ｌａｎｇｕａｇｅ：ＶＲＭＬ）ファイル内にインデックスフェースセット（ＩｎｄｅｘｅｄＦａｃｅＳｅｔ：ＩＦＳ）で表現される３次元モデルのメッシュ情報を符号化及び復号化することによって、３次元メッシュ情報に対するデータの伝送効率を向上させる。
【０００９】
図１は、従来の３次元メッシュコーディング符号化装置のブロック図を示す図である。
【００１０】
図１を参照すれば、従来の３次元メッシュコーディング符号化装置１１０は、頂点情報と連結情報及び属性情報（ｐｒｏｐｅｒｔｙ ｉｎｆｏｒｍａｔｉｏｎ）を含む原本データである３次元メッシュモデルを２次元メッシュ構造に分解する位相切開（Ｔｏｐｏｌｏｇｉｃａｌ Ｓｕｒｇｅｒｙ：ＴＳ）モジュール１１１、２次元メッシュ構造に分解された頂点情報を符号化する頂点情報符号化モジュール１１２、２次元メッシュ構造に分解された連結情報を符号化する連結情報符号化モジュール１１３、２次元メッシュ構造に分解された属性情報を符号化する属性情報符号化モジュール１１４、頂点情報符号化モジュール１１２と連結情報符号化モジュール１１３及び属性情報符号化モジュール１１４で符号化された結果を統合的に圧縮して３次元メッシュコーディングビットストリーム（Ｂｉｔｓｔｒｅａｍ）を生成するエントロピー符号化（ｅｎｔｒｏｐｙ ｅｎｃｏｄｅｒ）モジュール１１５を含んでなる。
【００１１】
３次元メッシュコーディング符号化装置１１０により行われる３次元メッシュコーディング符号化の主な特徴は、圧縮率の最大化のために位相切開モジュール１１１により行われる位相切開動作である。位相切開動作は、与えられた３次元モデルのメッシュを球と位相幾何学的に同一であると仮定した後、メッシュを切断エッジ（ｃｕｔｔｉｎｇ ｅｄｇｅ）に沿って切断することで、３次元モデルを２次元メッシュ構造に分解する方法である。
【００１２】
図２は、図１に対応する３次元メッシュコーディング復号化装置のブロック図を示す図である。
【００１３】
図２を参照すれば、３次元メッシュコーディング復号化装置２１０は、エントロピー復号化モジュール２１１、頂点情報復号化モジュール２１２、連結情報復号化モジュール２１３、属性情報復号化モジュール２１４及び位相合成モジュール２１５を含み、符号化された３次元メッシュコーディングビットストリームから３次元モデルデータを復元する。
【００１４】
図３は、図１により生成された３次元モデルのメッシュ情報の符号化されたビットストリームの全体的な構造を示す図である。
【００１５】
図３を参照すれば、３次元モデルのメッシュ情報の符号化されたビットストリームは、三角形ストリップからなる二進ツリー構造の三角形最小全長グラフを含む三角形ツリー（Ｔｒｉａｎｇｌｅ Ｔｒｅｅ：ＴＴ）３０３、三角形ツリーに対する情報値（Ｔｒｉａｎｇｌｅ Ｄａｔａ：ＴＤ）３０５及び３次元モデルのメッシュを切断する経路を頂点間の連結構造で表す頂点グラフ（Ｖｅｒｔｅｘ Ｇｒａｐｈ：ＶＧ）３０１を含む。
【００１６】
図４〜図７は、従来の３次元モデルのメッシュに対する位相切開の実行過程を示す図である。
【００１７】
まず、図４に示すように、３次元モデルのメッシュを太線で定義された切断エッジに沿って切断した後、図５に示すように、三角形ツリーを構成する。
【００１８】
一般に、グラフィックの迅速な処理のためにはモデリングされる単位が三角形であり、このような三角形がランダムに構成されているのではなく、ストリップ（ｓｔｒｉｐ）やファン（ｆａｎ）の形態で三角形相互間に連結されていることが好ましい。また、グラフィックは、シンボルが繰り返し表現されているものであるほどデータの圧縮率が優れているので、従来の３次元モデルのメッシュに対する位相切開においては、図５に示すように、３次元モデルのメッシュを切断エッジに沿って切断し、三角形ツリーを構成する。
【００１９】
次いで、図６に示すように、三角形ツリーにおいて基準となる基準点を選定し、選定された基準点と分岐された三角形の最外郭の頂点とを連結して頂点グラフを形成する。
【００２０】
その後、図７に示すように、頂点グラフを用いてバウンディングループ（ｂｏｕｎｄｉｎｇ ｌｏｏｐ）を形成する。
【００２１】
このように、現在のＭＰＥＧ-４ ３次元メッシュコーディング方法ではインデックスフェースセットノードにより表現される３次元モデルを圧縮するために３次元モデルのメッシュ構造を２次元のメッシュマップ構造に分解するために位相切開過程を経る。
【００２２】
前述したように、３次元メッシュ構造を頂点グラフと三角形ツリー構造で表現することによって、３次元モデルに対して非常に高い圧縮率を保障するが、これは３次元モデルの本来の頂点の位置情報を変更させるという問題がある。
【００２３】
即ち、位相切開過程を経た後、更に高い圧縮率のために頂点の位置情報を符号化側で新たにインデクシングを行って復号化側に伝送するようになる。
【００２４】
これにより、デコーダ側では３次元モデルが有していた頂点の本来の位置情報を認識していないため、アニメーションのように、頂点の順序情報を利用しなければならない場合、現在の３次元メッシュコーディング方法ではこれを支援できない。
【００２５】
そして、３次元メッシュにおいて３次元連結情報を分解し、２次元のメッシュマップ（ｍａｐ）、三角形ツリー、頂点グラフを生成させる過程は、圧縮率を非常に高められる効率的な方法であるが、それだけ複雑な演算が多いため、圧縮過程全体において複雑度の多くの部分を占めて位相切開過程は非常に複雑であり、時間と資源の消費が大きい。
【発明の概要】
【発明が解決しようとする課題】
【００２６】
本発明はこのような従来技術の問題点を解決するために提案されたものであって、その目的は、位相切開を行わず、量子化された連結情報に対する差分パルスコード変調を適用して変調された連結情報を符号化することによって、３次元メッシュモデルに対するデータ圧縮の複雑度を改善し、圧縮率を向上させることができる低複雑度３次元メッシュ圧縮装置を提供することにある。
【００２７】
そして、本発明の他の目的は、低複雑度３次元メッシュ圧縮装置を用いた３次元メッシュモデルの圧縮方法を提供することにある。
【００２８】
また、本発明の別の目的は、低複雑度３次元メッシュ圧縮方法をコンピュータで行えるプログラムで記録された記録媒体を提供することにある。
【課題を解決するための手段】
【００２９】
本発明の第１の観点として低複雑度３次元メッシュ圧縮装置は、入力された３次元メッシュモデルのデータを分析して頂点情報、前記３次元メッシュモデルの特性を表す属性情報及び前記３次元メッシュモデルを構成する頂点間の連結情報を分離するデータ分析部と、前記頂点情報、属性情報及び連結情報を用いて量子化された頂点情報、属性情報及び連結情報を生成するメッシュモデル量子化部と、前記３次元メッシュモデルの共有頂点間の共有情報を分析する共有頂点分析部と、前記量子化された連結情報に応じて前記３次元メッシュモデルの連続した連結情報の量子化値を用いて差分パルスコード変調予測を行うデータ変調部と、前記量子化された頂点情報、属性情報及び前記差分パルスコード変調された連結情報を符号化したデータを出力する符号化部とを含む。
【００３０】
本発明の第２の観点として低複雑度３次元メッシュ圧縮方法は、入力された３次元メッシュモデルのデータを分析して頂点情報、前記３次元メッシュモデルの特性を表す属性情報及び前記３次元メッシュモデルを構成する頂点間の連結情報を分離する段階と、前記頂点情報、属性情報及び連結情報を用いて量子化された頂点情報、属性情報及び連結情報を生成する段階と、前記３Ｄメッシュモデルの共有頂点間の共有情報を分析する段階と、前記量子化された連結情報に応じて前記３次元メッシュモデルの連続した連結情報の量子化値を用いてｃｉｒｃｕｌａｒ基盤の差分パルスコード変調予測を行う段階と、前記量子化された頂点情報、属性情報及び前記差分パルスコード変調された連結情報を符号化したデータをビットストリームとして生成する段階とを含む。
【００３１】
本発明の第３の観点として前記の低複雑度３次元メッシュ圧縮方法を行うコンピュータプログラムが記録された記録媒体を提供する。
【発明の効果】
【００３２】
本発明によれば、位相切開を行わず、量子化された連結情報に対する差分パルスコード変調を適用して変調された連結情報を符号化することによって、３次元メッシュモデルに対するデータ圧縮の複雑度を改善し、圧縮率を向上させ、量子化された頂点情報、属性情報、量子化後に変調された連結情報の二進算術符号化、或いは決定ビット符号化を通じて圧縮率を更に向上させるという効果を奏する。
【００３３】
更に、圧縮の複雑度を改善することによって、圧縮された３次元モデルを迅速かつ正確に復元させることができるので、圧縮データの復元効率も向上させる効果がある。
【図面の簡単な説明】
【００３４】
【図１】従来の３次元メッシュコーディング符号化装置のブロック図である。
【図２】図１に対応する３次元メッシュコーディング復号化装置のブロック図である。
【図３】図１により生成された３次元モデルのメッシュ情報の符号化されたビットストリームの全体的な構造を示す図である。
【図４】従来の３次元モデルのメッシュに対する位相切開の実行過程を示す図である。
【図５】従来の３次元モデルのメッシュに対する位相切開の実行過程を示す図である。
【図６】従来の３次元モデルのメッシュに対する位相切開の実行過程を示す図である。
【図７】従来の３次元モデルのメッシュに対する位相切開の実行過程を示す図である。
【図８】本発明による低複雑度３次元メッシュ圧縮装置のブロック図である。
【図９】本発明の実施形態によるＢＡＣの例である。
【図１０】本発明に適用される量子化方法に対する一実施形態を示す図である。
【図１１】一実施形態による前処理過程のために共有頂点を分析して決定するＴｙｐｅ情報の概念図である。
【図１２】一実施形態による前処理過程のために共有頂点を分析して決定するＴｙｐｅ情報の概念図である。
【図１３】一実施形態による前処理過程のために共有頂点を分析して決定するＴｙｐｅ情報の概念図である。
【図１４】一実施形態による前処理過程のために共有頂点を分析して決定するＴｙｐｅ情報の概念図である。
【図１５】サーキュラディファレンスコーディング方法を示すフローチャートである。
【図１６】ＡＣ及びＡＣのための前処理方法を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下、本発明の好適な実施形態を添付の図面に基づいて詳細に説明する。
【００３６】
図８は、本発明による低複雑度３次元メッシュ圧縮装置のブロック図を示す図である。
【００３７】
図８を参照すれば、本発明による３次元メッシュ圧縮装置は、データ分析部５１０、メッシュモデル量子化部５２０、共有頂点分析部５２１、データ変調部５３０、エントロピー符号化部５４０を含み、データ変調部５３０は前処理部５３１、差分パルスコード変調部５３２を含む。
【００３８】
本発明による３次元メッシュモデルの圧縮装置において、データ分析部５１０は、入力される３次元メッシュモデルのデータを分析してメッシュモデル固有の頂点情報（ｖｅｒｔｅｘ ｉｎｆｏｒｍａｔｉｏｎ）５１１、３次元メッシュモデルの固有の特性を表す属性情報５１２、３次元メッシュモデルを構成する頂点間の連結情報５１３を分離する。
【００３９】
このうち、頂点情報５１１は３次元メッシュモデルを構成する頂点の３次元位置を表す浮動小数点の３次元の座標で表現されることができ、ｘ、ｙ、ｚの各軸に整列されて各軸に実数値を有する座標で表現される。
【００４０】
属性情報５１２は、３次元メッシュモデルを構成するフェースセットの法線、色相及びテクスチャ座標を含むことができる。
【００４１】
連結情報５１３は、３つ以上の頂点情報が１つの多角形をなすインデックスリストで表現されることができる。
【００４２】
そして、データ分析部５１０は３次元メッシュモデルの複雑度を演算する演算部（図示せず）を含むことができ、このような演算部は例えば、マイクロ・プロセッサで実現できる。このマイクロ・プロセッサは、３次元メッシュモデルの複雑度値と外部で予め設定した複雑度値とを比較し、３次元メッシュモデルの複雑度値が外部で予め設定した複雑度値を超える場合に、３次元メッシュモデルを複数の部分メッシュに分割できる。また、データ分析部５１０は、３次元メッシュモデルの頂点情報、属性情報及び連結情報に関するデータを格納するヘッダー（図示せず）を含むことができる。
【００４３】
実質的に、３次元メッシュモデルが相当な数の頂点で表現される場合に３次元メッシュモデルを符号化する過程において過度な演算量による３次元メッシュモデルの圧縮装置で過負荷を起こし、符号化にエラーが発生するおそれがあり、符号化の速度が著しく減少するのを防止するために、外部で予め設定した複雑度値を超える場合、複数の部分メッシュに分割して圧縮装置の過負荷及び演算速度の減少を防止できる。
【００４４】
一方、複雑度は３次元メッシュモデルを形成するフェースセットの数によって決定でき、圧縮装置の使用環境や実施形態に応じて多様に変形可能である。
【００４５】
一方、メッシュモデル量子化部５２０は、データ分析部５１０から分析された３次元メッシュモデルの頂点情報５１１、属性情報５１２及び３次元メッシュモデルの頂点間の連結情報５１３を用いて量子化された頂点情報、属性情報を生成できる。
【００４６】
メッシュモデル量子化部５２０で各値に対する量子化を行う数式は、下記の式１のように表現されることができる。
【数１】
2011528452.tif 000003
【００４７】
式１において、ｆｌｏｏｒ[]は切り捨て演算を示し、Ｘｉは量子化入力値、ｔは量子化パラメタを意味する。ｍａｘとｍｉｎは入力値の最大値と最小値を示す。
【００４８】
共有頂点分析部５２１は、３次元メッシュモデルの連結点間の共有情報を分析する。これを便宜上、ＳＶＡ（Ｓｈａｒａｂｌｅ Ｖｅｒｔｅｘ Ａｎａｌｙｓｉｓ）と称する。ＳＶＡは以前フェース（ｆａｃｅ）と現在のフェース間の頂点情報を分析して頂点間の重複性を除去する方法であって、４つのタイプに分けられるが、Ｔｙｐｅ情報（又はモード情報）を求める数式は、下記かっこ［数２］の通りである。下記の式によってＴｙｐｅ情報は０、１、２、３のうち１つの値を有するようになる。
【数２】
2011528452.tif 000004
【００４９】
データ変調部５３０の前処理部５３１は、３次元メッシュモデルの量子化された連結情報に与えられたインデックス順に連続したデータ対の差値を演算して前記差値の大きさを減少させるために、データ対内のインデックスの記述順序を連続したデータ対の差値を最小化する。
【００５０】
データ変調部５３０の差分パルスコード変調部５３２は、前記メッシュモデル量子化部５２０で量子化された連結情報に応じて３次元メッシュモデルの連続した連結情報を用いて差分パルスコード変調を行う。
【００５１】
一方、エントロピー符号化部５４０は、量子化された３次元メッシュモデルの頂点情報、属性情報及び差分パルスコード変調された連結情報を算術符号化、二進算術符号化、或いは決定ビット符号化して３次元メッシュモデルのエントロピー符号化されたデータをビットストリームの形態で出力する。
【００５２】
エントロピー符号化の場合、入力シンボルの符号は１ビットの符号化ビットを挿入することにより決定され、実際のエントロピー符号化は絶対値に適用する。  
まず、エントロピー符号化部５４０における算術符号化（Ａｒｉｔｈｍｅｔｉｃ ｃｏｄｉｎｇ：ＡＣ）動作について説明すれば、
ＡＣを適用するためには各シンボルに対する確率分布を知っていなければならないが、シンボルの数がモデルの頂点数に比例して増加するので、全てのシンボルの確率を計算するのは難しい。従って、本発明においては、入力値を商と余りに分けてＡＣを行う。頂点座標の場合、量子化ビットの大きさによってシンボルの数が決定され、これは比較的に大きくない値であるため、商と余りの演算なしにそのまま進行できる。
【００５３】
次に、エントロピー符号化部５４０における決定ビット符号化（Ｂｉｔ Ｐｒｅｃｉｓｉｏｎ Ｃｏｄｉｎｇ：ＢＰＣ）動作について説明すれば、ＢＰＣは入力シンボルをＢＰＬ（Ｂｉｔ Ｐｒｅｃｉｓｉｏｎ Ｌｅｎｇｔｈ）の整数倍のビット数で表現する方法である。下記の表１には入力シンボルが５、３、８、２である場合、各シンボルがＢＰＬに応じてどのように符号化されるかが説明されている。  
【表１】
2011528452.tif 000005
【００５４】
まず、ＢＰＬが２である場合を説明すると、ＢＰＬが２である場合、最大で表現可能な値は「１１（２）=３」である。最初の入力シンボルである５=３+２であるため、「１１（２）+１０（２）」で表すことができる。次の入力シンボル３は「３+０」で表すことができ、これは「１１（２）+００（２）」で表現する。このような方法で８=３+３+２の形態である「１１（２）+１１（２）+００（２）」に、２は「１０（２）」に符号化される。復号化する際にはビットストリーム（「１１１０１１００」）とＢＰＬ（２）を知っている。まず、ＢＰＬビットだけ読み取れば、「１１（２）=３」が分かる。ところで、「１１（２）」は後ろに値が更に付くことができる。従って、次の２ビットを読み取って「１０（２）=２」値を求める。これは「１１（２）」ではないので、ここで、１シンボルの読み取りを終了し、「３+２=５」の値を復号化する。残りも同様の方式で復号化する。
【００５５】
表１において、ＢＰＬが３である場合を説明すると、５は「１０１（２）」で表現されるが、８は「１１１（２）+００１（２）」で表現される。即ち、表３から分かるように、ＢＰＬによってビットストリームの大きさが変わる。本例題ではＢＰＬが３である場合、トータル符号化ビットが１５ビットで最も少ないビットが要される。従って、この場合はＢＰＬを３にしてＢＰＣを行う。
【００５６】
前記表１のように、最適のＢＰＬを求めるために、全てのＢＰＬに対してＢＰＣを先に行う過程が必要である。これはかなり時間がかかる要素である。これをより速くするために、下記の表２のように、頻度数テーブルを用いて計算する。
【表２】
2011528452.tif 000006
【００５７】
前記表２のように、頻度数テーブルを利用すれば、各シンボルに対してＢＰＬによって必要なビット数を計算し、これをシンボルの頻度数で乗じると、該当シンボルで必要な全てのビット数を計算できる。
【００５８】
シンボルＳをＢＰＣするとき、必要なビット数はＢＰＬ*ｆｌｏｏｒ[Ｓ／（２ＢＰＬ-１）+１]となる。従って、ＳがＦＳ個あれば、全てのＳをＢＰＣするのに必要なビット数はＦＳ*ＢＰＬ*ｆｌｏｏｒ[Ｓ／（２ＢＰＬ-１）+１]となる。ＢＰＬを計算するとき、「ＢＰＬ=ｆｌｏｏｒ[ｌｏｇ２Ｍａｘ+１]-１」である時までのみ計算する。ＢＰＬがこの値以上である場合にはＢＰＣを用いず、一般的な二進数表現方法を用いれば良いためである。従って、ＢＰＬが１から「ｆｌｏｏｒ[ｌｏｇ２Ｍａｘ+１]-１」までの総ビット数を計算し、入力シンボルを二進化した時に必要なビット数（総シンボルの数*ｆｌｏｏｒ[ｌｏｇ２Ｍａｘ+１]）のうち、最も小さい場合を選択する。
【００５９】
圧縮率を更に向上させるために、テーブル基盤のＢＰＣを用いることができる。表３から分かるように、各シンボルをＢＰＬとペイロードで表現し、ＢＰＬはシンボルの大きさによって決定される。
【表３】
2011528452.tif 000007
【００６０】
表３のように、入力シンボルの最大値を３０と仮定し、入力シンボルが「０  ３  ２  １４」であれば、
・  ０=（ＢＰＬ、Ｐａｙｌｏａｄ）=（０００、-）=「０００」
・  ３=（ＢＰＬ、Ｐａｙｌｏａｄ）=（０１１、０００）=「０１１００」
・  ２=（ＢＰＬ、Ｐａｙｌｏａｄ）=（０１０、-）=「０１０」
・  １４=（ＢＰＬ、Ｐａｙｌｏａｄ）=（１００、１１１）=「１００１１１」
即ち、最終的にＢＰＣされた値は「００００１１０００１０１００１１１」となる。デコーディング過程は、与えられたＢＰＬを値に、これだけのビットを読み取り、反対の過程を行う。この過程は、ＡＣやホフマンコーディングに比べて非常に速い。
【００６１】
二進算術符号化（Ｂｉｎａｒｙ Ａｒｉｔｈｍｅｔｉｃ Ｃｏｄｉｎｇ：ＢＡＣ）動作について説明すれば、
二進算術符号化の場合、二進数形態の値がＢＡＣの入力値として用いられる。本発明においては、二進数入力値を前処理（ｐｒｅｐｒｏｃｅｓｓｉｎｇ）を通じてデータの大きさが小さい形態に変換した後、エントロピー符号化部に入力してビットストリームを出力する。あるシンボルの集合が存在する場合、これらのシンボルを二進数で表現するために必要なビット数はその集合の最大値を表現するのに必要なビット数と同一である。このとき、必要なビット数をＲＢＬ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ Ｂｉｔ Ｌｅｎｇｔｈ）として定義する。
【００６２】
図９は、本発明の実施形態によるＢＡＣの例であって、入力シンボルが５であり、最大値が１０２３である場合、即ち、ＲＢＬがｃｅｉｌ[ｌｏｇ２（１０２３+１）]=１０である場合を説明する。５は１０ビットで表現すれば、二進数「０００００００１０１」で表わされる。符号を表現するために、１ビットの符号ビットを挿入し、この値はビットストリームとして直ちに出力される。本発明においては、符号を除いた入力二進数を、固定されたＢＰＬビット数を有するＰｒｅｆｉｘと可変の大きさを有するＰｏｓｔｆｉｘで表現する。Ｐｒｅｆｉｘの値は、ＬＳＢ（Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）から最も遠くにある１の位置を表す値である。本例題ではｃｅｉｌ[ｌｏｇ２（５+１）]=３である。この値は０〜ＲＢＬ（=１０）の値を有し得るので、ｃｅｉｌ[ｌｏｇ２（ＲＢＬ+１）]ビットで表現できる。ここで、ｃｅｉｌ[]は切り上げ演算である。Ｐｒｅｆｉｘはｃｅｉｌ[ｌｏｇ２（ＲＢＬ+１）]の大きさで定義され、「３=００１１（２）」、即ち、４ビットの形態で表現される。Ｐｏｓｔｆｉｘは、原本バイナリ表現においてＬＳＢから最も遠くにある１の次の全体ビットストリームとなる。本例題ではＰｏｓｔｆｉｘは「０１」である。従って、「０００００００１０１」は前処理過程を経て「Ｐｒｅｆｉｘ+Ｐｏｓｔｆｉｘ=００１１０１」となり、この値がＢＡＣの入力となる。
【００６３】
図１０は、本発明に適用される量子化方法に対する一実施形態を示す図である。
【００６４】
図１０に示すように、最小値が-０.５８３７であり、最大値を０.８５７６とすれば、全体区間の大きさは０.８５７６-（-０.５８３７）=１.４４１３となる。全体区間に対して量子化レベルが１０であるとすれば、全体区間の大きさである１.４４１３を１０２４個の区間に分けると、１区間の大きさは０.００１９となり、-０.１８４９の値は式１の演算方法によって２８３となる。
【００６５】
Ｔｙｐｅ情報は、図１１〜図１４に示すように、以前フェースと現在のフェース間で共有される頂点の数を利用して計算される。例えば、以前フェースの頂点インデックスが（０、１、２）であり、現在のフェースの頂点インデックスが（２、３、０）であるとき、インデックス「０」と「２」、即ち、２つのインデックスが共有されるので、Ｔｙｐｅ２が選択される。このようなＴｙｐｅ情報は、Ｔｙｐｅ０、Ｔｙｐｅ１、Ｔｙｐｅ２、Ｔｙｐｅ３の４つの情報で表現される。
【００６６】
この両データ間の共有関係を利用して符号化されたデータを符号化／復号化するためには、位置（ｐｏｓｉｔｉｏｎ）情報、方向（ｆａｃｅ ｄｉｒｅｃｔｉｏｎ）情報、そして、共有されない両頂点インデックス間の差分値が必要である。位置情報は三角形メッシュの場合、０、１、２の３つの値のうち１つで表現される。Ｔｙｐｅ１ではインデックス値が同じ位置情報、Ｔｙｐｅ２では異なる位置情報を符号化する。方向情報は、現在のフェースの方向が以前フェースと同一の方向であるか、異なる方向であるかを示し、これは０と１で表現される。このようなデータは、図８で見られるように、差分パルスコード変調部５３２で差分パルスコード変調されなければならない。このとき、差分値の範囲を狭めるために、前処理部５３１で前処理が行われることもある。本発明においては、５２１と５３２を１つにしてサーキュラディファレンス（ｃｉｒｃｕｌａｒ ｄｉｆｆｅｒｅｎｃｅ）符号化する。このように適用された差分値（ｄｉｆｆｅｒｅｎｃｅ ｖａｌｕｅ）をＤＩＶ（Ｄｉｆｆｅｒｅｎｔｉａｌ Ｉｎｄｅｘ Ｖａｌｕｅ）として定義する。
【００６７】
第１に、Ｔｙｐｅ０は以前フェースと現在のフェース間で共有される頂点が１つもない場合を表す。このようなデータを符号化するためには、Ｔｙｐｅ情報と３つのＤＩＶを用いて符号化する。
【００６８】
第２に、Ｔｙｐｅ１は以前フェースと現在のフェース間で共有される頂点が１つである場合を表す。このようなデータを符号化するためには、Ｔｙｐｅ情報、インデックス値が同一である位置情報と２つのＤＩＶを用いて符号化する。
【００６９】
第３に、Ｔｙｐｅ２は以前フェースと現在のフェース間で２つの共有される頂点を有している。このようなデータを符号化するためには、Ｔｙｐｅ情報、インデックス値が異なる位置情報と１つのＤＩＶ、そして方向情報を用いて符号化するようになる。
【００７０】
第４に、Ｔｙｐｅ３は以前フェースと現在のフェース間で共有される頂点が３つである場合を表す。このようなデータを符号化するためには、Ｔｙｐｅ情報と方向情報（ｆａｃｅ ｄｉｒｅｃｔｉｏｎ）を符号化する。
【００７１】
このようにコーディングする場合、１つの問題が発生し得る。テクスチャの場合、テクスチャコーディネート用インデックスを用いなければ、ｃｏｏｒｄＩｎｄｅｘ値を同一に共有することがある。この場合、復元されたｃｏｏｒｄＩｎｄｅｘ値は回転されてはならない。例えば、前述したＴｙｐｅ２の場合、（１、２、３）の値が（３、１、２）に復元されることもあり得る。このように復元されれば、メッシュを作る場合には構わないが、テクスチャマッピングのためには問題になり得る。この場合のために、次のような過程が追加される。
【００７２】
・  もし、入力３Ｄモデルに属性情報があれば、ＳＶＡを適用する際にポジション固定情報を追加する。
【００７３】
・  この際に追加されるポジション固定情報は、復元されたｃｏｏｒｄＩｎｄｅｘ値を何回回転しなければならないかに関する情報である。この値は０（１回も回転しない）、１（１回転）、２（２回転）に指定できる。
【００７４】
・  例えば、原本が（１、２、３）であり、ポジション固定のための回転値が１であり、ＳＶＡにより復元された値が（３、１、２）である場合、復元された値を時計回りに１回転し、（１、２、３）にして出力する。
【００７５】
下記の表４は、実際のＶＲＭＬデータのｃｏｏｒｄＩｎｄｅｘ値の例題を示すものである。
【表４】
2011528452.tif 000008
【００７６】
前記表４において、最初のフェースＦ１のインデックスは（０、１、２）であり、２番目のフェースＦ２のインデックスは２、３、０である。この場合、最初のインデックスはそのまま符号化され、２番目のインデックスからＳＶＡが適用される。Ｆ２の場合、「０」と「２」の２つが共有されるので、Ｔｙｐｅ２となる。共有されないインデックスは０、１、２の位置のうち、２番目であるため、位置情報は１となる。ＤＩＶ１の値は「３-１」、即ち、「２」となる。Ｆ２を復号化するとき、以前情報Ｆ１は予め復号化されている。Ｔｐｙｅ情報が２であるため、２つのインデックスが共有され、共有されない１つのインデックスはＤＩＶ１から「２（ＤＩＶ１）+１（Ｆ２の位置値１）」、即ち、３が計算される。従って、（０、３、２）に復号化される。方向情報が１であるため、（０、３、２）を反対にして（２、３、０）の値を求めることができる。
【００７７】
図１５と下記の表５は、本発明によるＤＩＶの値を減少させるために用いられるサーキュラディファレンス方法で、２種類の差分値を計算して２つのうち、絶対値が小さいものを用いる方法に関する説明である。
【表５】
2011528452.tif 000009
【００７８】
図１５を参照して、表５のＦ５のＤＩＶ１の場合を説明すると、本例題で用いられるＶＲＭＬデータのインデックス最大値は７である。一般的な差分値は「５-０=５」である。この値が図１５で見られるように、ａに格納される（Ｓ３００）。この場合、ｃとｐ値の大きさ比較段階（Ｓ３０２）でｃ＜ｐであるので、ｂ=-（７-５+０+１=-３）となる（Ｓ３０６）。更に、ａとｂの絶対値の大きさ比較段階（Ｓ３０８）でａの絶対値がｂの絶対値よりも大きいので、サーキュラディファレンスによる差分値は-３となる。即ち、前記表５のように、サーキュラディファレンスが変更される。このとき、前記図１５でｂ値を計算するとき、両側から「+１」の値を除去しても良い。
【００７９】
先に求められたＤＩＶ値を入力として受け、図１６のような過程を行う。これに用いられるＭａｘＢｉｔは任意に調節可能である。
【００８０】
前記図１６を参照すれば、ここで、ｆｌｏｏｒ[]は切り捨て演算である。例えば、データ入力（ｉｎｐｕｔ）が３０００であり（Ｓ４００）、ＭａｘＢｉｔが１０２４であれば、まず３０００％１０２４、即ち、９５２がエンコードされ（Ｓ４０２）、入力（ｉｎｐｕｔ）は「ｆｌｏｏｒ[３０００／１０２４]=２」となる（Ｓ４０４）。このとき、入力（ｉｎｐｕｔ）が「０」となるかを調べ（Ｓ４０６）、入力（ｉｎｐｕｔ）が「０」でない場合には継続コードが挿入される（Ｓ４０８）。その後、変更された入力（ｉｎｐｕｔ）２が再び繰り返しエンコードされる。仮りに、入力（ｉｎｐｕｔ）が「０」になれば、終了コードを挿入し（Ｓ４１０）、次の入力（ｉｎｐｕｔ）を符号化する。
【００８１】
本発明による低複雑度３次元メッシュ圧縮方法及びこれをなす各段階は、一般的なプログラミング方法を用いてソフトウェア的に、又はハードウェア的に多様に実現できるということは本技術分野における通常の技術を有する者であれば、容易に分かる。
【００８２】
そして、本発明の低複雑度３次元メッシュ圧縮方法及びこれをなす各段階は、コンピュータ読み取り可能な記録媒体にコンピュータ読み取り可能なコードとして実現することが可能である。コンピュータ読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが格納されるあらゆる種類の記録装置をいずれも含む。コンピュータ読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ-ＲＯＭ、ＣＤ-ＲＷ、磁気テープ、フロッピーディスク、ＨＤＤ、 光ディスク、光磁気格納装置などが挙げられ、また、キャリアウェーブ（例えば、インターネットを介した伝送）の形態で実現されることも含む。更に、コンピュータ読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散され、分散方式でコンピュータ読み取り可能なコードとして格納され、実行されることができる。
【００８３】
以上の通り、本発明はたとえ限定された実施形態と図面により説明されていても、本発明はこれにより限定されるものではなく、本発明の属する技術分野において通常の知識を有する者によって本発明の技術思想と下記に記載する特許請求の範囲の均等な範囲内で多様な修正及び変形が可能であるのはもちろんである。
【図１】
2011528452.tif 000010
【図２】
2011528452.tif 000011
【図３】
2011528452.tif 000012
【図４】
2011528452.tif 000013
【図５】
2011528452.tif 000014
【図６】
2011528452.tif 000015
【図７】
2011528452.tif 000016
【図８】
2011528452.tif 000017
【図９】
2011528452.tif 000018
【図１０】
2011528452.tif 000019
【図１１】
2011528452.tif 000020
【図１２】
2011528452.tif 000021
【図１３】
2011528452.tif 000022
【図１４】
2011528452.tif 000023
【図１５】
2011528452.tif 000024
【図１６】
2011528452.tif 000025