(57)【要約】      （修正有）【課題】  グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法およびシステムと、ＡＦＸ符号化方法および装置を提供する。【解決手段】  圧縮ノードと、圧縮媒介因子、およびビットラーーパーエンコーディングヒントを定義しているＸＭＴスキーマを備える段階と、ＸＭＴ入力ファイルをＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートを備える段階と、ＸＭＴ入力ファイルをＸＭＴスキーマとＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いてパージングしてsceneファイルおよびmuxファイルを生成する段階と、生成されたsceneファイルが圧縮されていないグラフィックデータを含んでいるかを判断する段階と、を含む入力ファイル生成方法。【選択図】  図２
2005176355.tif 000002
【特許請求の範囲】
【請求項１】
(a)圧縮する客体データに関する情報を含む圧縮ノードと、圧縮に必要な圧縮媒介因子、および圧縮ビットストリームフォーマットを含むビットラッパーエンコーディングヒント、および伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報を含むＡＦＸConfigを定義しているＸＭＴスキーマを備える段階と、
(b)ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートを備える段階と、
(c)ＸＭＴ入力ファイルを前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いてパージングしてsceneファイルおよびmuxファイルを生成する段階と、
(d)前記パージングの結果、生成されたsceneファイルが圧縮されていないグラフィック客体データを含んでいるかを判断する段階と、
(e)前記判断の結果、グラフィック客体データが圧縮されていなければ、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィック客体データを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成する段階と、を含むことを特徴とするグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項２】
前記圧縮ノードは、
圧縮する客体データを含んでいるノードフィールドと、
urlフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをインバンドとして伝送するbufferフィールドと、
前記bufferフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをアウトバンドとして伝送するurlフィールドと、
前記ノードフィールドが含む前記客体データの圧縮方法を選択するtypeフィールドを含んでなることを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項３】
前記インバンドとしての伝送は、
前記圧縮ノードを含むＸＭＴ入力ファイルが前記sceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルに含まれて伝送され、
前記アウトバンドとしての伝送は、
前記圧縮ノードを含むＸＭＴ入力ファイルが前記sceneファイルに変換された後、前記ＢＩＦＳ符号化器を通過して前記ＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルと分離されて個別的に伝送されることを特徴とする請求項２に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項４】
前記圧縮媒介因子は、
圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子と、３次元メッシュ情報に関する媒介因子と、回転移動キーフレームアニメーションデータに関する媒介因子と、位置移動キーフレームアニメーションデータに関する媒介因子のうち前記圧縮ノードのノードフィールドが含む客体データの圧縮に必要な媒介因子と、を含むことを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項５】
前記ビットラッパーエンコーディングヒントは、
前記圧縮ノード内のＵＲＬフィールドが記述するＵＲＬ ＩＤと同じバイナリ ＩＤを有する客体記述子内にあり、圧縮されたビットストリームのファイル名とそのビットストリームの圧縮フォーマット種類に関する情報をさらに備えることを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項６】
前記ＡＦＸConfigは、
前記圧縮ノードがＡＦＸ符号化器を使用してノードフィールドに含まれた客体データの圧縮ビットストリームを作ってＵＲＬに伝送し、前記伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報をさらに備えることを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項７】
前記(c)段階は、
初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを含むボディーよりなるＸＭＴ入力ファイルを受け取る段階と、
前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含むことを特徴とし、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、
既に圧縮されたノード名を保存しているノードフィールドと、
既に圧縮された客体データファイル名を保存しているバッファフィールドと、を備え、
前記sceneファイルは、
前記ボディーと同じ、少なくとも１つの圧縮ノードを備え、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を備えることを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項８】
前記(c)段階は、
初期客体記述子を含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、
前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、
を含んでなることを特徴とし、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有するストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、既に圧縮された客体データのビットストリームが保存されたファイル名を含むファイルビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを備え、
前記ボディーの客体記述子更新内に含まれた客体記述子は、
前記ボディーの圧縮ノードにある前記ＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは、
前記ボディーと同じ、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子内にある客体記述子のビットラッパーエンコーディングヒントにあるビットストリームファイルを保存するmux ファイルを有する客体記述子を含む客体記述子更新を有し、
前記muxファイルは、
前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新内にある客体記述子と同じ客体記述子を有することを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項９】
前記(c)段階は、
初期客体記述子を含むヘッダと、少なくとも１つの圧縮ノードを備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、
前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＴＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、
圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備え、
前記sceneファイルは、
前記ボディーと同じ、少なくとも１つの圧縮ノードを含み、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を含むことことを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１０】
前記(c)段階は、
初期客体記述子を含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、
前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、
圧縮するノード名を保存しているノードフィールド、
前記ノードのノードフィールド内にある圧縮する客体データ、
前記客体データの圧縮に使われる圧縮媒介因子、
前記圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬＩＤと同じＵＲＬＩＤが保存されたフィールドを含み、
前記ボディーの客体記述子更新に含まれた客体記述子は、
ボディーの圧縮ノードの前記ＵＲＬＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは、
前記ボディーと同じ、少なくとも１つの圧縮ノードと、
ボディーの客体記述子更新内にある客体記述子のＵＲＬＩＤと同じＵＲＬＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新を有し、
前記muxファイルは、
前記ヘッダと同じ初期客体記述子および客体記述子を有することを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１１】
前記(c)段階は、
初期客体記述子を含むヘッダ、およびバッファフィールドを備える少なくとも１つの圧縮ノードと、ＵＲＬフィールドを備える少なくとも１つの圧縮ノードおよび前記ＵＲＬフィールドを備える圧縮ノード数と同数の客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、
前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、
ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーでバッファフィールドを備える圧縮ノードは、
圧縮するノード名を保存しているノードフィールドと、
前記ノードのノードフィールド内にある圧縮する客体データと、
前記客体データ圧縮に使われる圧縮媒介因子と、
圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドと、を備え、
前記ボディーのＵＲＬフィールドを備える圧縮ノードは、
圧縮するノード名を保存しているノードフィールドと、
前記ノードのノードフィールド内にある圧縮する客体データと、
前記客体データの圧縮に使われる圧縮媒介因子と、
圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤが保存されたフィールドと、を備え、
前記ボディーの客体記述子更新に含まれた客体記述子は、
ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、
前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは、
前記ボディーと同じ圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する、客体記述子を含む客体記述子更新を有し、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有することを特徴とする請求項１に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１２】
前記(d)段階は、前記パージングの結果、生成されたsceneファイルで少なくとも１つの圧縮(BitWrapper)ノードを探し出す段階と、
前記検索された圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、圧縮されていないデータを含んでいると判断する段階を備えることを特徴とする請求項９ないし請求項１１のいずれか１項に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１３】
前記(e)段階は、
(e1)前記判断の結果、グラフィック客体データが圧縮されていないデータを含んでいると判断されれば、sceneファイルの各圧縮ノードに対して前記圧縮ノード内にある客体データを前記圧縮ノード内に含まれた圧縮媒介因子とそれを用いて前記客体データを圧縮できる符号化器を選択して客体データを圧縮してビットストリームを生成する段階と、
(e2)前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子とを削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する段階と、を含んでなることを特徴とする請求項１２に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１４】
前記(e1)段階は、
(e11)前記判断の結果、グラフィックデータが圧縮されていないと判断されれば、sceneファイルの圧縮ノード内にある客体データと圧縮媒介因子とを保存する段階と、
(e12)前記保存された客体データを含んでいる圧縮ノードのノードフィールド内にグラフィック客体と相応する所定の符号化器に前記客体データと圧縮媒介因子とを伝送する段階と、
(e13)前記伝送された符号化器で前記圧縮媒介因子を使用して客体データを圧縮してビットストリームとして生成する段階と、を含んでなることを特徴とする請求項１３に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１５】
前記(e1)段階の所定の符号化器は、
圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、
３次元メッシュ情報に関する媒介因子を使用して前記３次元メッシュ情報を符号化するメッシュ符号化器と、
回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、
位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことを特徴とする請求項１３に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法。
【請求項１６】
圧縮する客体データに関する情報を含む圧縮ノードと、
圧縮に必要な圧縮媒介因子、および圧縮ビットストリームフォーマットを含むビットラッパーエンコーディングヒント、および伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報を含むＡＦＸConfigを定義しているＸＭＴスキーマと、
ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、
ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートと、
ＸＭＴ入力ファイルを前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いてパージングしてsceneファイルおよびmuxファイルを生成するＸＭＴパーザと、
前記ＸＭＴパーザのパージングの結果、生成されたsceneファイルが圧縮されていないグラフィック客体データを含んでいるかを判断する圧縮判断部と、
前記圧縮判断部の判断の結果、グラフィック客体データが圧縮されていなければ、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィック客体データを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成するＡＦＸ符号化器と、を含むことを特徴とするグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項１７】
前記圧縮ノードは、
圧縮する客体データを含んでいるノードフィールドと、
urlフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをインバンドとして伝送するbufferフィールドと、
前記bufferフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをアウトバンドとして伝送するurlフィールドと、
前記ノードフィールドが含む前記客体データの圧縮方法を選択するtypeフィールドを含んでなることを特徴とする請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項１８】
前記インバンドとしての伝送は、
前記圧縮ノードを含むＸＭＴ入力ファイルが前記sceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルに含まれて伝送され、
前記アウトバンドとしての伝送は、
前記圧縮ノードを含むＸＭＴ入力ファイルが前記sceneファイルに変換された後、前記ＢＩＦＳ符号化器を通過して前記ＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルと分離されて個別的に伝送されることを特徴とする請求項１７に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項１９】
前記圧縮媒介因子は、
圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子と、３次元メッシュ情報に関する媒介因子と、回転移動キーフレームアニメーションデータに関する媒介因子と、位置移動キーフレームアニメーションデータに関する媒介因子のうち、前記圧縮ノードのノードフィールドが含む客体データの圧縮に必要な媒介因子を含むことを特徴とする請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２０】
前記ビットラッパーエンコーディングヒントは、
前記圧縮ノード内のＵＲＬフィールドが記述するＵＲＬ ＩＤと同じバイナリ ＩＤを有する客体記述子内にあり、圧縮されたビットストリームのファイル名とそのビットストリームの圧縮フォーマット種類に関する情報をさらに備えることを特徴とする請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２１】
前記ＡＦＸConfigは、
前記圧縮ノードがＡＦＸ符号化器を使用してノードフィールドに含まれた客体データの圧縮ビットストリームを作ってＵＲＬに伝送し、前記伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報をさらに備えることを特徴とする請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２２】
前記ＸＭＴパーザのＸＭＴ入力ファイルは、
初期客体記述子を備えるヘッダ、および少なくとも１つの圧縮ノードを含むボディーよりなり、
前記ヘッダの初期客体記述子はＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、既に圧縮されたノード名を保存しているノードフィールドと、既に圧縮された客体データファイル名を保存しているバッファフィールドとを備え、
前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを備え、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を備えることを特徴とする請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２３】
前記ＸＭＴパーザのＸＭＴ入力ファイルは、
初期客体記述子含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなり、
前記ヘッダの初期客体記述子はＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは既に圧縮された客体データのビットストリームが保存されたファイル名を含むビットラッパーエンコーディングヒントを有する客体記述子更新内の客体記述子のＵＲＬ  ＩＤと同じＵＲＬ  ＩＤを備え、
前記ボディーの客体記述子更新内に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ  ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、
前記圧縮された客体データの復号化時に復号化に使われる情報(AFXConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは前記ボディーと同じ少なくとも１つの圧縮ノード、およびボディーの客体記述子更新内にある客体記述子のＵＲＬ  ＩＤと同じＵＲＬ  ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有し、
前記muxファイルは前記ヘッダと同じ初期客体記述子およびボディーの客体記述子更新内にある客体記述子と同じ客体記述子を有することを特徴とする、請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２４】
前記ＸＭＴパーザのＸＭＴ入力ファイルは、
初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを備えるボディーとよりなり、
前記ヘッダの初期客体記述子は、
ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備え、
前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを含み、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を含むことを特徴とする、請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２５】
前記ＸＭＴパーザのＸＭＴ入力ファイルは、
初期客体記述子を含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなり、
前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースと、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報とを備え、
前記ボディーの圧縮ノードは圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤが保存されたフィールドを含み、
前記ボディーの客体記述子更新に含まれた客体記述子はボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、
前記圧縮された客体データの復号化時に復号化に使われる情報(AFXConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは前記ボディーと同じ、少なくとも１つの圧縮ノード、およびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有し、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有することを特徴とする、請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２６】
前記ＸＭＴパーザのＸＭＴ入力ファイルは、
初期客体記述子を含むヘッダ、およびバッファフィールドを備える少なくとも１つの圧縮ノードと、urlフィールドを備える少なくとも１つの圧縮ノードおよび前記urlフィールドを備える圧縮ノード数と同数の客体記述子を含む客体記述子更新を備えるボディーとよりなり、
前記ヘッダの初期客体記述子はＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、
前記ボディーでバッファフィールドを備える圧縮ノードは、
圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備え、
前記ボディーのurlフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤが保存されたフィールドを含み、
前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(AFXConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、
前記sceneファイルは、前記ボディーと同じ、圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新を有し、
前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有することを特徴とする、請求項１６に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２７】
前記圧縮判断部は、
前記パージング結果生成されたsceneファイルで少なくとも１つの圧縮(BitWrapper)ノードを探し出す圧縮ノード検索部と、
前記検索された圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、圧縮されないデータを含んでいると判断する圧縮データ判断部を備えることを特徴とする請求項２４ないし請求項２６のいずれか１項に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２８】
前記ＡＦＸ符号化器は、
圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出して、前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルの圧縮ノード内にある、客体データと前記圧縮ノード内に含まれた圧縮媒介因子とを保存させるＡＦＸパーザと、
前記ＡＦＸパーザにより客体データを保存する客体データ保存部と、
前記ＡＦＸパーザにより圧縮媒介因子を保存する圧縮媒介因子保存部と、
前記圧縮ノードのノードフィールド内にグラフィック客体と相応して、前記圧縮媒介因子保存部の圧縮媒介因子を使用して前記客体データ保存部の客体データを圧縮してビットストリームとして生成する符号化器と、
前記ＡＦＸパーザで前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子とを削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する入力ファイル生成器と、を含むことを特徴とする請求項２７に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項２９】
前記符号化器は、
前記保存された客体データおよび圧縮媒介因子に相応し、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータ(CoordinateInterpolatordata)に関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、３次元メッシュ情報に関する媒介因子を使用して、前記３次元メッシュ情報を符号化するメッシュ符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、回転移動キーフレームアニメーションデータ(OrientationInterpolator data)に関する媒介因子を使用して、前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応して、位置移動キーフレームアニメーションデータ(PositionInterpolator data)に関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことを特徴とする、請求項２８に記載のグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システム。
【請求項３０】
圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出して前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルの圧縮ノード内にある、客体データを含んでいるノードおよび圧縮媒介因子を保存させるＡＦＸパーザと、
前記ＡＦＸパーザにより客体データを保存する客体データ保存部と、
前記ＡＦＸパーザにより圧縮媒介因子を保存する圧縮媒介因子保存部と、
前記保存された客体データに相応する、前記圧縮媒介因子保存部の圧縮媒介因子を使用して前記客体データ保存部の原本データを圧縮してビットストリームとして生成する符号化器と、
前記ＡＦＸパーザで前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子を削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する入力ファイル生成器と、を含むことを特徴とするＡＦＸ符号化装置。
【請求項３１】
前記符号化器は、
前記保存された客体データおよび圧縮媒介因子に相応し、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、３次元メッシュ情報に関する媒介因子を使用して前記3次元メッシュ情報を符号化するメッシュ符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことを特徴とする請求項３０に記載のＡＦＸ符号化装置。
【請求項３２】
(ａ)圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出す段階と、
(ｂ)前記探し出した圧縮ノード内にある、客体データを含んでいるノードおよび圧縮媒介因子を保存する段階と、
(ｃ)前記保存された客体データを含んでいるノードに相応する符号化器を通じて、前記符号化器に相応する保存された圧縮媒介因子を使用して前記客体データを圧縮してビットストリームとして生成する段階と、
(ｄ)前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子を削除した修正されたsceneファイル、およびBIFS符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する段階と、を含むことを特徴とするＡＦＸ符号化方法。
【請求項３３】
前記(ｃ)段階の符号化器は、
前記保存された客体データおよび圧縮媒介因子に相応し、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、３次元メッシュ情報に関する媒介因子を使用して前記３次元メッシュ情報を符号化するメッシュ符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、
前記保存された客体データおよび圧縮媒介因子に相応し、位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことを特徴とする請求項３２に記載のＡＦＸ符号化方法。
【請求項３４】
請求項１ないし請求項１５、請求項３２または請求項３３のうちいずれか１項に記載のＡＦＸ符号化方法をコンピュータで実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックデータ著作に係り、特に、グラフィックデータ圧縮に関するメタ表現を用いた入力ファイルの生成方法およびシステムと、ＡＦＸ（Animation Framework eXtentions）符号化の方法および装置に関する。
【背景技術】
【０００２】
従来の拡張可能なＭＰＥＧ−４テキストフォーマット(Extensible ＭＰＥＧ−４ Textual Format:以下、ＸＭＴと称する)技術は、ＭＰＥＧ−４プリミティブ(２次元（２Ｄ）あるいは３次元（３Ｄ）のグラフィック、オーディオ、ビデオなど)に対して著作者の立場で容易でかつ便利に取り扱える表現方法に関するものであった。また、著作者が作ったデータが多様なアプリケーションで再使用でき、データの互換性および移植性を有するようにコンテンツ著作に関するフレームワークを作るものであった。このデータの再使用ならびにデータの互換性および移植性は、既存のＸＭＴ技術がＭＰＥＧ−４プリミティブに対するＸＭＬ構文(eXtensible Markup Language syntax)を定義して初めて可能となった。
【０００３】
しかし、従来のＸＭＴは、３次元グラフィックデータの圧縮現については扱っていない。そのため、著作者が作った３Ｄコンテンツに関するアニメーションデータおよび表現データに関する圧縮が必要な場合に圧縮が困難であった。すなわち、３次元グラフィックデータを含むＸＭＴファイルをＸＭＴパーザでパージングできず、ＢＩＦＳ（Binary Format of Scene）符号化器とＭＰ４符号化器とに入力できる入力ファイルを作れなかった。したがって、ＢＩＦＳ符号化器とＭＰ４符号化器との出力ファイル(ＭＰ４)をも作れなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする技術的課題は、著作段階でグラフィックデータの圧縮を容易に行うために、ＭＰＥＧ−４ ＡＦＸで提案された圧縮表現をＸＭＴで定義してグラフィックデータを圧縮可能にする、グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法およびシステムを提供することである。
【０００５】
本発明が解決しようとする他の技術的課題は、圧縮されていない客体データ(original data)を含むＸＭＴファイルから生成されたsceneファイルとmuxファイルとを圧縮してＢＩＦＳ符号化器とＭＰ４符号化器との入力ファイルを生成するＡＦＸ符号化装置および方法を提供することである。
【課題を解決するための手段】
【０００６】
前記技術的課題を達成するための本発明によるグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムは、圧縮する客体データに関する情報を含む圧縮ノードと、圧縮に必要な圧縮媒介因子、および圧縮ビットストリームフォーマットを含むビットラッパーエンコーディングヒント、および伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報を含むＡＦＸConfigを定義しているＸＭＴスキーマと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いてパージングしてsceneファイルおよびmuxファイルを生成するＸＭＴパーザと、前記ＸＭＴパーザのパージングの結果、生成されたsceneファイルが圧縮されていないグラフィック客体データを含んでいるかを判断する圧縮判断部と、前記圧縮判断部の判断の結果、グラフィック客体データが圧縮されていなければ、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィック客体データを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成するＡＦＸ符号化器と、を含むことを特徴とする。
【０００７】
前記技術的課題を達成するための本発明によるグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法は、(a)圧縮する客体データに関する情報を含む圧縮ノードと、圧縮に必要な圧縮媒介因子、および圧縮ビットストリームフォーマットを含むビットラッパーエンコーディングヒント、および伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報を含むＡＦＸConfigを定義しているＸＭＴスキーマを備える段階と、(b)ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートを備える段階と、(c)ＸＭＴ入力ファイルを前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いてパージングしてsceneファイルおよびmuxファイルを生成する段階と、(d)前記パージングの結果、生成されたsceneファイルが圧縮されていないグラフィック客体データを含んでいるかを判断する段階と、(e)前記判断の結果、グラフィック客体データが圧縮されていなければ、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィック客体データを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成する段階と、を含むことを特徴とする。
【０００８】
前記圧縮ノードは、圧縮する客体データを含んでいるノードフィールドと、ＵＲＬフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをインバンドとして伝送するbufferフィールドと、前記bufferフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをアウトバンドとして伝送するＵＲＬフィールドと、ノードフィールドが含む客体データの圧縮方法を選択するtypeフィールドと、を含んでなることが望ましい。
【０００９】
前記インバンドとしての伝送は、前記圧縮ノードを含むＸＭＴ入力ファイルがsceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルに含まれて伝送され、前記アウトバンドとしての伝送は、前記圧縮ノードを含むＸＭＴ入力ファイルがsceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルと分離されて個別的に伝送される。
【００１０】
前記圧縮媒介因子は、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子と、３次元メッシュ情報に関する媒介因子と、回転移動キーフレームアニメーションデータに関する媒介因子と、位置移動キーフレームアニメーションデータに関する媒介因子のうち前記圧縮ノードのノードフィールドが含む客体データの圧縮に必要な媒介因子と、を含むことが望ましい。前記ビットラッパーエンコーディングヒントは、前記圧縮ノード内のＵＲＬフィールドが記述するＵＲＬ ＩＤと同じバイナリ ＩＤを有する客体記述子内にあり、圧縮されたビットストリームのファイル名とそのビットストリームの圧縮フォーマット種類に関する情報をさらに備えることが望ましい。前記ＡＦＸConfigは、前記圧縮ノードがＡＦＸ符号化器を使用してノードフィールドに含まれた客体データの圧縮ビットストリームを作ってＵＲＬに伝送し、前記伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報をさらに備えることが望ましい。
【００１１】
前記(c)段階は、初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを含むボディーよりなるＸＭＴ入力ファイルを受け取る段階と、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含むことを特徴とし、前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているＢＩＦＳEncodingHintsを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、前記ボディーの圧縮ノードは、既に圧縮されたノード名を保存しているノードフィールドと、既に圧縮された客体データファイル名を保存しているバッファフィールドと、を備え、前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを備え、前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を備えることが望ましい。
【００１２】
前記(c)段階は、初期客体記述子を含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有するストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、前記ボディーの圧縮ノードは、既に圧縮された客体データのビットストリームが保存されたファイル名を含むファイルビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを備え、前記ボディーの客体記述子更新内に含まれた客体記述子は、前記ボディーの圧縮ノードにある前記ＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子内にある客体記述子のビットラッパーエンコーディングヒントにあるビットストリームファイルを保存するmux ファイルを有する客体記述子を含む客体記述子更新を有し、前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新内にある客体記述子と同じ客体記述子を有することが望ましい。
【００１３】
前記(c)段階は、初期客体記述子を含むヘッダと、少なくとも１つの圧縮ノードを備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＴＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備え、前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを含み、前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を含むことが望ましい。
【００１４】
前記(c)段階は、初期客体記述子を含むヘッダ、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、前記圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬＩＤと同じＵＲＬＩＤが保存されたフィールドを含み、前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードの前記ＵＲＬＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬＩＤと同じＵＲＬＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新を有し、前記muxファイルは、前記ヘッダと同じ初期客体記述子および客体記述子を有することが望ましい。
【００１５】
前記(c)段階は、初期客体記述子を含むヘッダ、およびバッファフィールドを備える少なくとも１つの圧縮ノードと、ＵＲＬフィールドを備える少なくとも１つの圧縮ノードおよび前記ＵＲＬフィールドを備える圧縮ノード数と同数の客体記述子を含む客体記述子更新を備えるボディーよりなるＸＭＴ入力ファイルを受け取る段階と、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する段階と、を含んでなることを特徴とし、前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備え、前記ボディーでバッファフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールドと、前記ノードのノードフィールド内にある圧縮する客体データと、前記客体データ圧縮に使われる圧縮媒介因子と、圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドと、を備え、前記ボディーのＵＲＬフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールドと、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子と、圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内の客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤが保存されたフィールドと、を備え、前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備え、前記sceneファイルは、前記ボディーと同じ圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する、客体記述子を含む客体記述子更新を有し、前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有することが望ましい。
【００１６】
前記(d)段階は、前記パージングの結果、生成されたsceneファイルで少なくとも１つの圧縮(BitWrapper)ノードを探し出す段階と、前記検索された圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、圧縮されていないデータを含んでいると判断する段階を備えることが望ましい。
【００１７】
前記(e)段階は、(e1)前記判断の結果、グラフィック客体データが圧縮されていないデータを含んでいると判断されれば、sceneファイルの各圧縮ノードに対して前記圧縮ノード内にある客体データを前記圧縮ノード内に含まれた圧縮媒介因子とそれを用いて前記客体データを圧縮できる符号化器を選択して客体データを圧縮してビットストリームを生成する段階と、(e2)前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子とを削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する段階と、を含んでなることが望ましい。
【００１８】
前記(e1)段階は、(e11)前記判断の結果、グラフィックデータが圧縮されていないと判断されれば、sceneファイルの圧縮ノード内にある客体データと圧縮媒介因子とを保存する段階と、(e12)前記保存された客体データを含んでいる圧縮ノードのノードフィールド内にグラフィック客体と相応する所定の符号化器に前記客体データと圧縮媒介因子とを伝送する段階と、(e13)前記伝送された符号化器で前記圧縮媒介因子を使用して客体データを圧縮してビットストリームとして生成する段階と、を含んでなることが望ましい。
【００１９】
前記(e1)段階の所定の符号化器は、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、３次元メッシュ情報に関する媒介因子を使用して前記３次元メッシュ情報を符号化するメッシュ符号化器と、回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことが望ましい。
【００２０】
前記他の技術的課題を達成するための本発明によるＡＦＸ符号化装置は、圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出して前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルの圧縮ノード内にある、客体データを含んでいるノードおよび圧縮媒介因子を保存させるＡＦＸパーザと、前記ＡＦＸパーザにより客体データを保存する客体データ保存部と、前記ＡＦＸパーザにより圧縮媒介因子を保存する圧縮媒介因子保存部と、前記保存された客体データに相応する、前記圧縮媒介因子保存部の圧縮媒介因子を使用して前記客体データ保存部の原本データを圧縮してビットストリームとして生成する符号化器と、前記ＡＦＸパーザで前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子を削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する入力ファイル生成器と、を含むことを特徴とする。
【００２１】
前記符号化器は、前記保存された客体データおよび圧縮媒介因子に相応し、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する頂点座標符号化器と、前記保存された客体データおよび圧縮媒介因子に相応し、３次元メッシュ情報に関する媒介因子を使用して前記３次元メッシュ情報を符号化するメッシュ符号化器と、前記保存された客体データおよび圧縮媒介因子に相応し、回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する回転移動符号化器と、前記保存された客体データおよび圧縮媒介因子に相応し、位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する位置移動符号化器のうち少なくとも１つを含むことが望ましい。
【００２２】
前記他の技術的課題を達成するための本発明によるＡＦＸ符号化方法は、圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出す段階と、前記探し出した圧縮ノード内にある、客体データを含んでいるノードおよび圧縮媒介因子を保存する段階と、前記保存された客体データを含んでいるノードに相応する符号化器を通じて、前記符号化器に相応する保存された圧縮媒介因子を使用して前記客体データを圧縮してビットストリームとして生成する段階と、前記sceneファイルで各圧縮ノードの客体データと圧縮媒介因子を削除した修正されたsceneファイル、およびＢＩＦＳ符号化器が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイルを生成する段階と、を含むことを特徴とする。
【００２３】
そして、前記に記載の発明をコンピュータで実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【発明の効果】
【００２４】
本発明による３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法およびシステムによれば、著作者が既に圧縮されたビットストリームが含まれた入力ファイルを使用する場合、および圧縮されていないデータと圧縮媒介因子とを含む入力ファイルを使用する場合について、メタ表現方法を使用して３Ｄコンテンツ著作段階で３次元グラフィックデータの表現および圧縮を容易に調節でき、ＭＰＥＧ−４符号化器に適した入力ファイルを作成することができる。
【００２５】
したがって、著作段階で著作者が３次元グラフィックデータを圧縮できるために、低いネットワーク帯域幅でも３Ｄグラフィックデータのリアルタイム視覚化またはリアルタイムアニメーションが可能となる。そして、多様な３Ｄグラフィックデータの製作が可能になる。
【発明を実施するための最良の形態】
【００２６】
以下、添付された図面に基づいて本発明に係る３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムについて詳細に説明する。
著作者が３次元データの圧縮を容易に行えるようにするためには、著作者が３次元コンテンツを著作する段階から３次元データの表現、操作および圧縮に必要な様々な因子を容易に調節できる方法が必要である。これはＸＭＴを通じて可能である。前記ＸＭＴは、オーディオ、ビデオ、２次元グラフィックおよび３次元グラフィックのようなＭＰＥＧ−４コンテンツ著作についてのフレームワークである。また、前記ＸＭＴは、テキスト構文(textual syntax)を用いてＭＰＥＧ−４ノードでコンテンツの製作を可能にする著作フレームワークである。前記フレームワークを図１に示す。ＸＭＴは、コンテンツ著作者によって製作されたコンテンツを、他の著作者、他のツールおよび他のサービス供給者が再使用できるようにする。そして、Ｘ３Ｄ(Extensible 3D)とＳＭＩＬ(Synchronized Multimedia Integration Language)ともコンテンツを相互運用できる。
【００２７】
図１に示すように、ＸＭＴフォーマットは、ＳＭＩＬプレーヤー、ＶＲＭＬ（Vitual Reality Modling Language）プレーヤー、ＭＰＥＧ−４プレーヤーで相互交換が可能で、プレーできる。さらに詳細に説明すれば、ＸＭＴフォーマットは、パージングされてＳＭＩＬプレーヤーでプレーされる。また、ＸＭＴフォーマットは、Ｘ３Ｄに対して前処理を行った後、ＶＲＭＬプレーヤーでプレーされる。また、ＭＰＥＧ−４表現(ＭＰ４)に対してコンパイルした後、ＭＰＥＧ−４プレーヤーでプレーされる。
【００２８】
ＸＭＴは、２段階構造、すなわち、ＸＭＴ−ＡフォーマットとＸＭＴ−Ωフォーマットとで構成される。前記ＸＭＴ−Ａは、ＭＰＥＧ−４コンテンツ(オーディオ、ビデオ、２Ｄあるいは３Ｄグラフィックデータ表現および圧縮など)のＸＭＬ基盤バージョンで拡張された３Ｄグラフィック(Ｘ３Ｄ)を含む。またＸＭＴ−Ａに含まれるのは、ＭＰＥＧ−４特性を表現するためにＸ３ＤでＭＰＥＧ−４を拡張したものである。ＸＭＴ−Ａにおいては、テキストフォーマットと二進フォーマットは１：１の比でマッピングされている。
【００２９】
ＸＭＴ−Ωは、ＭＰＥＧ−４の特徴に対する上位レベルの表現であり、ＳＭＩＬを基盤とする。ＸＭＴは、コンテンツ著作者がΩからＡへのメカニズムについて知らなくてもＸＭＴ−ΩからＸＭＴ−Ａへのデフォルト(default)マッピングが可能である。ＸＭＴ−Ωは、ユーザが容易にオーサリングしやすく、かつ便利なインターフェースの表現機能を提供する。実際に、ＭＰＥＧ−４データに関する表現、処理および圧縮はＸＭＴ−Ａで行われる。
【００３０】
したがって、著作者が３次元グラフィックデータを圧縮するには、著作者が３Ｄコンテンツを著作する段階から３次元グラフィックデータを表現、操作および圧縮するのに必要な様々な因子を容易に調節するように圧縮に関連した技術をＸＭＴ−Ａで定義し、これを使用してデータを圧縮可能にする。
【００３１】
すなわち、ＭＰＥＧ−４ ＡＦＸで提案されている圧縮表現がＸＭＴで定義されているため、著作者が作った３Ｄコンテンツに関するアニメーションデータおよび表現データは、圧縮可能である。したがって、著作者は、この定義に基づいて３次元グラフィックデータを圧縮して、圧縮の結果を伝送できる。これは３Ｄ(アニメーションおよび表現)データの圧縮に必要な様々な因子を、ＸＭＴを使用して媒介因子として定義することによって可能である。したがって、著作者が圧縮を表現するノードを使用して３次元グラフィックデータを圧縮する時、必要な複数の因子をＸＭＴ−Ａスキーマで定義することが必要である。また、３次元グラフィックデータの圧縮に使われる複数の因子に対するメタ表現方法を提供し、それを使用して圧縮を実行する必要がある。
【００３２】
まず、本発明の全体的な流れを説明する。本発明による３次元グラフィックデータ圧縮に関するメタ表現を用いたＭＰＥＧ−４符号化器の入力ファイル生成方法は、大きく分けて２つの方法がある。第１は、ユーザが既に圧縮された３Ｄグラフィック客体データが含まれた入力ファイルを使用する時、ＭＰＥＧ−４符号化器の入力ファイルを生成する方法であり、第２は、ユーザが圧縮されていない3Dグラフィック客体データとその圧縮媒介因子とが含まれた入力ファイルを使用する時、ＭＰＥＧ−４符号化器の入力ファイルを生成する方法である。
【００３３】
第１の方法において、ユーザが既に圧縮された３Ｄグラフィックス客体データを含むファイルを入力として使用して圧縮しようとする時、ＸＭＴパーザ(ＸＭＴParser)はＸＭＴファイルを入力し、３Ｄグラフィックス客体データに関するＸＭＴスキーマとスタイルシートとを参考にして入力ファイルをパージングする。パージングした結果、sceneファイルとmuxファイルとを生成する。前記ＸＭＴParserは、単にＸＭＴ入力ファイルをsceneに対するファイルとmuxに対するファイルとに分離して出力するが、３Ｄグラフィックデータが既に圧縮されたビットストリームの形に含まれているので、実行の結果はＭＰＥＧ−４符号化器に適した入力ファイルの形である。
【００３４】
しかし、第２の方法は、第１の方法と同様にメタ表現に基づいてパージングして作った結果、sceneファイルとmuxファイルとをＭＰＥＧ−４符号化器の入力として使用できない。その理由は、ＭＰＥＧ−４符号化器が圧縮されたビットストリーム形態の入力ファイルだけを読み取って加工できるからである。したがって、圧縮されていない３Ｄグラフィック客体データを圧縮媒介因子で圧縮してビットストリームを生成して初めてＭＰＥＧ−４符号化器に適した入力形態となる。したがって、第２の方法では、別途の圧縮器が必要である。
【００３５】
図２は、ＭＰＥＧ−４ ＡＦＸで提案された圧縮表現をＸＭＴで定義して３次元グラフィックデータを圧縮可能にする、３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムの構成を示すブロック図である。
【００３６】
図２に示されたように、ユーザが圧縮されていない３Ｄグラフィックス客体データとその圧縮媒介因子とを含むＸＭＴファイル２００を圧縮しようとする時、ＸＭＴパーザ２１０はＸＭＴファイル２００を入力し、３Ｄグラフィックス客体データに関するＸＭＴスキーマ２３０とスタイルシート２２０、２４０とを参考にして入力キーワードをパージングする。パージングした結果、sceneファイルとmuxファイルとを生成する。ＡＦＸ符号化器２６０は、sceneファイルとmuxファイルとを入力として受け取り、圧縮されていない客体データを圧縮してビットストリームを作り、ＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０とに適した入力ファイルを作る。その結果、ビットストリームがＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０に入力されると、ＭＰ４ファイル２９０がＭＰ４符号化器２８０から出力される。
【００３７】
本発明による３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムは、ＸＭＴスキーマ２３０、ＸＭＴ２ＢＩＦＳスタイルシート２４０、ＸＭＴ２ＭＵＸスタイルシート２２０、ＸＭＴパーザ２１０、圧縮判断部２５０およびＡＦＸ符号化器２６０を含む。
【００３８】
前記ＸＭＴスキーマ２３０は、圧縮する客体データに関する情報を含んでいる圧縮ノードと、圧縮に必要な媒介因子、および圧縮ビットストリームフォーマットを含むBitWrapperEncodingHints、および伝送されたビットストリームを復号化する時、如何なる復号化器を使用するかに関する情報を含むＡＦＸConfigを定義している。
【００３９】
前記ＸＭＴスキーマが定義している圧縮ノードは、ノードフィールド、バッファフィールド、ＵＲＬフィールドおよびノードフィールドが含む客体データの圧縮方法を選択するtypeフィールドを備える。前記ノードフィールドは、圧縮する客体データを含んでいる。前記バッファフィールドは、前記ＵＲＬフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをインバンドとして伝送する。前記ＵＲＬフィールドは、前記bufferフィールドと相互排他的に使われ、前記ノードの圧縮されたビットストリームをアウトバンドとして伝送する。前記インバンドとしての伝送は、前記圧縮ノードを含むＸＭＴ入力ファイルがsceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルに含まれて伝送され、前記アウトバンドとしての伝送は前記圧縮ノードを含むＸＭＴ入力ファイルがsceneファイルに変換された後、ＢＩＦＳ符号化器を通過してＢＩＦＳファイルに最終変換された時、前記圧縮ノード内のノードフィールドの圧縮されたビットストリームがＢＩＦＳファイルと分離されて個別的に伝送される。
【００４０】
前記ＸＭＴスキーマが定義している前記圧縮媒介因子は、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子と、３次元メッシュ情報に関する媒介因子と、回転移動キーフレームアニメーションデータに関する媒介因子と、位置移動キーフレームアニメーションデータに関する媒介因子のうち少なくとも何れか１つを含んでいる。
【００４１】
前記ＸＭＴスキーマが定義している前記BitWrapperEncodingHintsは、前記圧縮ノード内のＵＲＬフィールドが記述するＵＲＬ ＩＤと同じバイナリＩＤを有する客体記述子内にあり、圧縮されたビットストリームのファイル名とそのビットストリームの圧縮フォーマット種類に関する情報をさらに備える。
【００４２】
前記ＸＭＴスキーマが定義している前記ＡＦＸConfigは、前記圧縮ノードがＡＦＸ符号化器２６０を使用してノードフィールドに含まれた客体データの圧縮ビットストリームを作ってＵＲＬに伝送し、この伝送されたビットストリームを復号化する時、必要な情報、すなわち、如何なる復号化器を使用するかに関する情報をさらに備える。
【００４３】
前記ＸＭＴ２ＢＩＦＳスタイルシート２４０は、前記ＸＭＴスキーマ２３０に基づくＸＭＴ入力ファイル２００からsceneファイルへの変換を支援する。前記ＸＭＴ２ＭＵＸスタイルシート２２０は、前記ＸＭＴスキーマ２３０に基づくＸＭＴ入力ファイルからmuxファイルへの変換を支援する。
【００４４】
ＸＭＴパーザ２１０は、ＸＭＴ入力ファイル２００を前記ＸＭＴスキーマ２３０と前記ＸＭＴ２ＢＩＦＳスタイルシート２４０およびＸＭＴ２ＭＵＸスタイルシート２２０を用いてパージングしてsceneファイルおよびmuxファイルを生成する。
【００４５】
前記圧縮判断部２５０は、前記ＸＭＴパーザ２１０のパージング結果として生成されたsceneファイルが圧縮されていないグラフィック客体データを含んでいるか判断し、圧縮ノード検索部３００および圧縮データ判断部３５０を備える。図３は、前記圧縮判断部２５０のより詳細な構成を示すブロック図であって、前記圧縮ノード検索部３００は、前記パージングの結果として生成されたsceneファイルから少なくとも１つの圧縮(BitWrapper)ノードを探し出す。前記圧縮データ判断部３５０は、前記検索された圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、圧縮されていない客体データを含んでいると判断する。
【００４６】
前記ＡＦＸ符号化器２６０は、入力ファイルをキーワード(ノード名)単位でパージングしつつ、前記圧縮判断部２５０の判断の結果、グラフィック客体データが圧縮されていないと判断されれば、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィック客体データを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成する。
【００４７】
図４は、前記ＡＦＸ符号化器２６０のさらに細部の構成を示すブロック図であって、ＡＦＸパーザ４００、入力ファイル生成器４２０、客体データ保存部４４０、圧縮媒介因子保存部４６０および内部符号化器４８０を備える。
【００４８】
前記ＡＦＸパーザ４００は、圧縮(BitWrapper)ノードを含むsceneファイルから少なくとも１つの圧縮ノードを探し出して、前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルの圧縮ノード内にある、客体データと前記圧縮ノード内に含まれる圧縮媒介因子とを保存する。より詳細に説明すれば、ＡＦＸパーザ４００は、圧縮されていない客体データが含まれたsceneファイルとmuxファイルとを入力として受け取る。sceneファイルは、場面情報と圧縮されていない３Ｄグラフィック客体データとを含む。muxファイルは、データが如何なるバッファサイズで伝送され、伝送されたビットストリームを如何なる復号化器で復号化するかに関する情報とデータ間に如何なる時間差をおいてプレーされるか否かのような同期化(synchronization)情報とを含む。このため、前記ＡＦＸパーザ４００は、sceneファイルとmuxファイルとで使われるノードと圧縮媒介因子(encodingparameter)とをキーワードで保存して置き、これに基づいて入力ファイルのキーワード単位でsceneファイルとmuxファイルを読込んでパージングする。前記ＡＦＸパーザ４００は、sceneファイルとmuxファイルとをパージングしつつ圧縮する客体データを含むノードが出ると、そのノードの圧縮する客体データと圧縮に必要な圧縮媒介因子の値とを圧縮媒介因子保存部に保存する。前記圧縮媒介因子保存部４６０に保存された値はノード別に区分され、内部符号化器４８０内に適した符号化器に渡される。
【００４９】
また、前記ＡＦＸパーザ４００は、シングル圧縮(BitWrapper)ノードだけでなく多重圧縮(BitWrapper)ノードをサポートする。そして、複数のノードより構成された３Ｄグラフィック客体データを全てbufferに伝送しても、全てＵＲＬに伝送しても、またはbufferとＵＲＬとを何れも用いて伝送しても良い。これはユーザが自由に選択することができる。
【００５０】
前記客体データ保存部４４０は、前記ＡＦＸパーザ４００から出力される客体データを保存する。
前記圧縮媒介因子保存部４６０は、前記ＡＦＸパーザ４００から出力される圧縮媒介因子を保存する。
【００５１】
前記内部符号化器４８０は、前記保存された客体データを含んでいるノードに相応するＭＰＥＧ−４ ＡＦＸツールに関する符号化器を含む。前記内部符号化器４８０は、前記圧縮媒介因子保存部４６０の圧縮媒介因子を使用して前記客体データ保存部４４０に保存されている客体データを符号化してビットストリームに生成し、頂点座標符号化器４８２、メッシュ符号化器４８４、回転移動符号化器４８６および位置移動符号化器４８８の内少なくとも１つを備える。しかし、内部符号化器４８０に含まれる符号化器は制限されず、前記符号化器の他にも拡張が可能である。圧縮する３Ｄグラフィック客体データを含んでいる圧縮ノード内のノードフィールドの客体によって、適切な符号化器が選択され、この選択された符号化器は、客体データ保存部４４０に保存された圧縮されていない3Dグラフィック客体データと、圧縮媒介因子保存部４６０に保存された圧縮に必要な圧縮媒介因子の値とを受け取り、３Ｄグラフィック客体データを圧縮媒介因子で圧縮してビットストリームを生成する。
【００５２】
前記頂点座標符号化器４８２は、前記保存された客体データおよび圧縮媒介因子に相応し、圧縮対象となる客体の頂点座標に対するキーフレームアニメーションデータに関する媒介因子を使用して前記頂点座標に対するキーフレームアニメーションデータを符号化する。前記メッシュ符号化器４８４は、前記保存された客体データおよび圧縮媒介因子に相応し、３次元メッシュ情報に関する媒介因子を使用して前記３次元メッシュ情報を符号化する。
【００５３】
前記回転移動符号化器４８６は、前記保存された客体データおよび圧縮媒介因子に相応して、回転移動キーフレームアニメーションデータに関する媒介因子を使用して前記回転移動キーフレームアニメーションデータを符号化する。前記位置移動符号化器４８８は、前記保存された客体データおよび圧縮媒介因子に相応し、位置移動キーフレームアニメーションデータに関する媒介因子を使用して前記位置移動キーフレームアニメーションデータを符号化する。
【００５４】
一方、前記入力ファイル生成器４２０は、前記ＡＦＸパーザ４００の前記圧縮ノードのノードフィールド内にグラフィック客体データが存在すれば、前記sceneファイルから各圧縮ノードの客体データと圧縮媒介因子とを削除した修正されたsceneファイル(#modified.sceneファイル)、およびＢＩＦＳ符号化器２７０が出力として生成するファイル名が前記修正されたsceneファイル名を反映できるように修正されたmuxファイル(#modified.muxファイル)を生成する。
【００５５】
前述したように、ＡＦＸ符号化器２６０を通過した結果、生成されたファイルはＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０とに適した入力ファイルとなる。その入力を使用してＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０とによって、ＭＰ４ファイル２９０が生成される。前記ＭＰ４ファイル２９０をＭＰＥＧ−４プレイヤーで実行して視覚化された結果を確認することができる。
【００５６】
そして、前記ＡＦＸパーザ４００と、客体データ保存部４４０および圧縮媒介因子保存部４６０を通過して圧縮されていない客体データと圧縮媒介因子値とによって決定された各符号化器に合うように入力値が入力されたか否かに関する検証は、圧縮されたビットストリームの生成で確認することができる。
【００５７】
一方、前記図２のＸＭＴ入力ファイル２００は５種に大別される。第１は、圧縮されたグラフィック客体データをバッファフィールドを使用してＭＰＥＧ−４符号化器（図示せず）に伝送する場合、第２は、圧縮されたグラフィック客体データをＵＲＬフィールドを使用してＭＰＥＧ−４符号化器に伝送する場合、第３は、圧縮されていないグラフィック客体データをＡＦＸ符号化器２６０を通じて符号化してバッファフィールドを使用してＭＰＥＧ−４符号化器に伝送する場合、第４は、圧縮されていないグラフィック客体データをＡＦＸ符号化器２６０を通じて符号化してＵＲＬフィールドを使用してＭＰＥＧ−４符号化器に伝送する場合、第５は、前記第１ないし第４の場合を混用する場合である。そして、前記各場合において、sceneファイルとmuxファイルとが生成される。これを具体的に以下に説明する。
【００５８】
前記第１の場合は次の通りである。
前記ＸＭＴパーザ２１０に入力されるＸＭＴファイル２００は、初期客体記述子(Initial Object Descriptor)を備えるヘッダ、および少なくとも１つの圧縮ノードを含むボディーよりなる。前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器２７０が出力として生成するファイル名を有するストリームソース（StreamSource）を含み、ＢＩＦＳ符号化器２７０から圧縮されるファイルの復号化時に必要な情報を備え、客体グラフィックがディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、既に圧縮されたノード名を保存しているノードフィールドと、既に圧縮された客体データファイル名を保存しているバッファフィールドとを備える。前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを備える。前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器２７０が出力として生成するファイルのストリームフォーマット情報を備える。
【００５９】
前記第２の場合は次の通りである。
前記ＸＭＴパーザ２１０に入力されるＸＭＴファイル２００は、初期客体記述子を含むヘッダ(Header)、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備えるボディーよりなる。前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器２７０が出力として生成するファイル名を有するストリームソース（StreamSource）を含み、ＢＩＦＳ符号化器２７０から圧縮されるファイルの復号化時に必要な情報を備え、客体グラフィックがディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、既に圧縮された客体データのビットストリームが保存されたファイル名を含むビットラッパーエンコーディングヒント（BitWrapperEncodingHints）を有する客体記述子更新内の客体記述子と同じＵＲＬ ＩＤを備える。前記ボディーの客体記述子更新内に含まれる客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリＩＤをフィールドとして具備し、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒント（BitWrapperEncodingHints）を備え、前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子と同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有する。前記muxファイルは、前記ヘッダと同じ初期客体記述子および客体記述子を有する。
【００６０】
前記第３の場合は次の通りである。
前記ＸＭＴパーザ２１０に入力されるＸＭＴファイル２００は、初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを備えるボディーよりなる。前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器２７０が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器２７０から圧縮されるファイルの復号化時に必要な情報を備え、客体グラフィックがディスプレーされる時間順序を示す同期化情報を含む。前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記ノードにある客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備える。前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードを含み、前記muxファイルは前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を含む。
【００６１】
前記第４の場合は次の通りである。
前記ＸＭＴパーザ２１０に入力されるＸＭＴファイル２００は、初期客体記述子を含むヘッダ(Header)、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備えるボディーよりなる。前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器２７０が出力として生成するファイル名を有するストリームソースを含み、ＢＩＦＳ符号化器２７０から圧縮されるファイルの復号化時に必要な情報を備え、客体グラフィックがディスプレーされる時間順序を示す同期化情報を含む。前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子と同じＵＲＬ  ＩＤが保存されたフィールドを含む。前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備える。前記sceneファイルは、前記ボディーと同じ、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子と同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有する。前記muxファイルは、前記ヘッダと同じ初期客体記述子と、前記ボディーの客体記述子更新の客体記述子と同じ客体記述子と、を有する。
【００６２】
前記第５の場合は次の通りである。
前記ＸＭＴパーザ２１０に入力されるＸＭＴファイル２００は、初期客体記述子を含むヘッダ(Header)、およびバッファフィールドを備える少なくとも１つの圧縮ノードと、ＵＲＬフィールドを備える少なくとも１つの圧縮ノードおよび前記ＵＲＬフィールドを備える圧縮ノード数と同数の客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備えるボディー(body)よりなる。前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器２７０が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器２７０から圧縮されるファイルの復号化時に必要な情報を備え、客体グラフィックがディスプレーされる時間順序を示す同期化情報を含む。前記ボディーでバッファフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備える。前記ボディーのＵＲＬフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子のＵＲＬ identificationと同じＵＲＬ  ＩＤが保存されたフィールドを含む。前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備える。前記sceneファイルは、前記ボディーと同じ、圧縮ノードおよびボディーの客体記述子更新内にある客体記述子と同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新を有し、前記muxファイルは前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有する。
【００６３】
図２に示された３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムをより詳細に説明する。まず、３次元グラフィックデータを圧縮するノードとその媒介因子のＸＭＴ−Ａスキーマを使用して圧縮を実行する方法および構造を説明する。
【００６４】
既存のＸＭＴ技術は、３次元グラフィックデータを圧縮する表現に対するＸＭＴ−Ａスキーマが定義されていないために、３次元グラフィックデータ圧縮についてのＸＭＴファイルが入力されても、パージングできなかった。しかし、図２に示されたように、３次元グラフィックデータを圧縮するノードとその媒介因子(parameter)をＸＭＴ−Ａスキーマ２３０で定義することによって、圧縮ノードを使用した３次元グラフィックデータ圧縮についてのＸＭＴファイル２００が入力された時、ＸＭＴパーザ２１０がＸＭＴ−Ａスキーマ２３０で定義された内容とＸＭＴ２ＭＵＸスタイルシート２２０とＸＭＴ２ＢＩＦＳスタイルシート２４０とに基づいてパージングする。前記ＸＭＴファイルにあるデータが圧縮されたデータであれば、直ちにＭＰＥＧ−４標準符号化器の入力ファイル(sceneファイル、muxファイル)を作り出す。しかし、前記ＸＭＴファイルにあるデータが圧縮されていないオリジナルのデータであれば、ＡＦＸ符号化器２６０を通じて符号化した後、ＭＰＥＧ−４標準符号化器の入力ファイル(修正されたsceneファイル、修正されたmuxファイル)を作り出す。
【００６５】
前記ＭＰＥＧ−４標準符号化器は、ＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０とより構成される。作成された入力ファイルが、それぞれＢＩＦＳ符号化器２７０とＭＰ４符号化器２８０とに入力されてビットストリーム(ＭＰ４)２９０を作り出し、ＭＰＥＧ−４プレーヤーで視覚化される。
【００６６】
３Ｄグラフィックデータを圧縮するノードと、その媒介因子に関するメタ表現、すなわち、ＸＭＴ−Ａスキーマ２３０とを使用すれば、著作段階で著作者がメタ表現の選択如何によって圧縮するか否かを決定する。また圧縮を選択する場合、圧縮しようとする３次元グラフィックデータに対して圧縮媒介因子に関するメタ表現を行うことができる。
【００６７】
著作者が圧縮を選択する場合、圧縮しようとする３次元グラフィックデータを、その媒介因子を調節して、大きく２つに分けられる方法から選択される方法によってＭＰＥＧ−４標準符号化器に伝送することができる。第１は、オリジナルのデータをＡＦＸ符号化器２６０を通じて圧縮してビットストリームに伝送する方法と、第２は、既に圧縮されたビットストリームを含んでＭＰＥＧ−４標準符号化器に伝送する方法とがある。
【００６８】
前記２つの方法をさらに細分化すれば、合計で５つの伝送方法となる。第１は、既に圧縮されたビットストリームの形で"バッファ（buffer）"を使用して伝送する方法である。第２は、既に圧縮されたビットストリームの形で"ＵＲＬ"を使用して伝送する方法である。第３は、客体データを媒介因子でビットストリームに作り、"バッファ"を用いて伝送する方法である。第４は、客体データを媒介因子を使用してビットストリームに作り、"ＵＲＬ"に伝送する方法である。第５は、前記第１ないし第４の方法のうち少なくとも２つの方法を混用する方法である。
【００６９】
次いで、３次元グラフィックデータ圧縮に使われる複数の因子に関するメタ表現方法(ＸＭＴ)について説明する。前記メタ表現方法は、３次元グラフィックデータの圧縮に必要なノードとその媒介因子とをメタ表現する方法である。ここで、３次元グラフィックデータの圧縮に必要なノードであるビットラッパー（BitWrapper）ノードとその媒介変数とを実例を挙げて説明する。
【表１】
2005176355.tif 000003
【００７０】
１. ビットラッパーノードについてのＸＭＴ−Ａスキーマ
１．１ ビットラッパーノードのＢＩＦＳ構文(Syntax)
まず、ビットラッパーについて簡略に説明すれば次の通りである。
ビットラッパーノードの機能は、"ノード（node）"フィールドのデータをビットストリームに圧縮し、このビットストリームをインバンド(in-band)またはアウトバンド(out-band)を使用して伝送することである。"ＵＲＬ"フィールドは、アウトバンドビットストリームを伝送し、"バッファ"フィールドはＢＩＦＳビットストリームのようにインバンドビットストリームを伝送する。
【００７１】
もし、著作者がデータを圧縮してビットラッパーノードを通じて伝送しようとすれば、著作者はビットストリームを生成するための媒介因子を調節しなければならない。それは、ＸＭＴ−Ａスキーマ構文(Syntax)で可能である。しかし、この媒介因子は、特定の符号化器で使用されるパラメータではない。その代りに、この媒介因子はデコーダ構文(syntax)に関連する。このパラメータは圧縮する間に調整される。現在、ビットラッパーノードは、３つの３次元キーフレームアニメーション(CoordinateInterpolator、OrientationInterpolator、PositionInterpolator)と３次元メッシュ情報(IndexedFaceSet)とについての圧縮ツールに関する圧縮されたビットストリームの伝送をサポートする。
【００７２】
次いで、ビットラッパーノードと３つの３次元キーフレームアニメーションデータ(CoordinateInterpolator、OrientationInterpolator、PositionInterpolator)ノードの媒介因子と３次元メッシュ情報(IndexedFaceSet)ノードの媒介因子に関するＸＭＴ−Ａスキーマ構文について説明する。
【００７３】
１．２ BitWrapperノードに関するＸＭＴ−Ａスキーマ
１．２.１ 構文
<annotation>
<documentation>
**************************************
* Declaration of BitWrapper   *
**************************************
</documentation>
</annotation>
<complexType name="BitWrapperType">
<all>
<element ref="ＸＭＴa:IS" minOccurs="0"/>
<element name="node" form="qualified" minOccurs="0">
<complexType>
<group ref="ＸＭＴa:SFWorldNodeType" minOccurs="0" />
</complexType>
</element>
<element ref="ＸＭＴa:BitWrapperEncodingParameter"/>
</all>
<attribute name="type" type="ＸＭＴa:SFInt32" use="optional" default="0"/>    
<attribute name="url" type="ＸＭＴa:MFUrl" use="optional"/>
<attribute name="buffer" type="ＸＭＴa:SFString" use="optional" default    ="&quot;&quot;"/>
<attributeGroup ref="ＸＭＴa:DefUseGroup"/>
</complexType>
<element name="BitWrapper" type="ＸＭＴa:BitWrapperType"/>
<element name="BitWrapperEncodingParameter">
<complexType>
<choice>
<element name="CoordinateInterpolatorEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQBits" type="ＸＭＴa:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="ＸＭＴa:numOfKeyValueQBits" use="optional" default="16"/>
<attribute name="transpose" type="ＸＭＴa:transposeType" use="optional" default="&quot;ON&quot;"/>
<attribute name="linearKeycoder" type="ＸＭＴa:linearKeycoderType" use="optional"
default="&quot;LINEAR&quot;"/>
</complexType>
</element>
<element name="IndexedFaceSetEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="coordQBits" type="ＸＭＴa:numOfCoordQBits" use="optional" default="10"/>
<attribute name="normalQBits" type="ＸＭＴa:numOfNormalQBits" use="optional" default="9"/>
<attribute name="colorQBits" type="ＸＭＴa:numOfColorQBits" use="optional" default="6"/>
<attribute name="texCoordQBits" type="ＸＭＴa:numOftexCoordQBits" use="optional" default="10"/>
<attribute name="coordPredMode" type="ＸＭＴa:coordPredType" use="optional" default="2"/>
<attribute name="normalPredMode" type="ＸＭＴa:normalPredType" use="optional" default="0"/>
<attribute name="colorPredMode" type="ＸＭＴa:colorPredType" use="optional" default="0"/>
<attribute name="texCoordPredMode" type="ＸＭＴa:texCoordPredType" use="optional" default="0"/>
<attribute name="errorResilience" type="ＸＭＴa:errorResilienceType" use="optional" 
default="&quot;OFF&quot;"/>
<attribute name="bitsPerPacket" type="ＸＭＴa:SFInt32" use="optional" default="180"/>
<attribute name="boundaryPrediction" type="ＸＭＴa:boundaryPredictionType" use="optional"
default="0"/>
</complexType>
</element>
<element name="OrientationInterpolatorEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQBits" type="ＸＭＴa:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="ＸＭＴa:numOfKeyValueQBits" use="optional" default="16"/>
<attribute name="preservingMode" type="ＸＭＴa:preservingType" use="optional"
default="&quot;KEY&quot;"/>
<attribute name="dpcmMode" type="ＸＭＴa:orientationDpcmType" use="optional" default="0"/>
<attribute name="aacMode#X" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="aacMode#Y" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="aacMode#Z" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="linearKeycoder" type="ＸＭＴa:linearKeycoderType" use="optional"
default="&quot;LINEAR&quot;"/>
</complexType>
</element>
<element name="PositionInterpolatorEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="keyQBits" type="ＸＭＴa:numOfKeyQBits" use="optional" default="8"/>
<attribute name="keyValueQBits" type="ＸＭＴa:numOfKeyValueQBits" use="optional" default="16"/>
<attribute name="preservingMode" type="ＸＭＴa:preservingType" use="optional"
default="&quot;KEY&quot;"/>
<attribute name="dpcmMode#X" type="ＸＭＴa:positionDpcmType" use="optional" default="0"/>
<attribute name="dpcmMode#Y" type="ＸＭＴa:positionDpcmType" use="optional" default="0"/>
<attribute name="dpcmMode#Z" type="ＸＭＴa:positionDpcmType" use="optional" default="0"/>
<attribute name="aacMode#X" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="aacMode#Y" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="aacMode#Z" type="ＸＭＴa:aacType" use="optional" 
default="&quot;BINARY&quot;"/>
<attribute name="linearKeycoder" type="ＸＭＴa:linearKeycoderType" use="optional"
default="&quot;LINEAR&quot;"/>
<attribute name="intra#X" type="ＸＭＴa:intraType" use="optional" default="0"/>
<attribute name="intra#Y" type="ＸＭＴa:intraType" use="optional" default="0"/>
<attribute name="intra#Z" type="ＸＭＴa:intraType" use="optional" default="0"/>
</complexType>
</element>
<element name="PointTextureEncodingParameter" minOccurs="0" maxOccurs="1">
<complexType>
<attribute name="codingPercent" type="ＸＭＴa:codingPercentType" use="optional" default="100"/>
</complexType>
</element>
</choice>
</complexType>
</element>
【００７４】
１．２.２. 意味（Semantics）
ビットラッパーノードはノード圧縮スキーム専用である。前記圧縮されたデータの表現は、ＢＩＦＳストリーム内で伝送されるか、ＢＩＦＳストリームから分離された外のストリームに伝送される。ストリームがＢＩＦＳアップデート内で伝送される時、"buffer"フィールドは圧縮された表現を含む。ストリームがＢＩＦＳアップデートの外の分離されたストリームに伝送される時、"ＵＲＬ"フィールドはストリームのＵＲＬを含む。"buffer"フィールドと"ＵＲＬ"フィールドは互いに排他的に使われる。すなわち、"buffer"フィールドが使われれば、"ＵＲＬ"フィールドは使われず、"ＵＲＬ"フィールドが使われれば、"buffer"フィールドは使われない。"node"フィールドは、圧縮された表現を有するノードを含む。ビットラッパーノードは、"no-de"の位置で使われる。"type"フィールドは、ノード圧縮スキームが使われねばならないことを示す。０が"type"フィールド値のデフォルト値である。"type"フィールド値は未来のノード圧縮スキームが開発されることを考慮して示したものである。これについてデフォルトスキームを定義する。
【００７５】
"CoordinateInterpolatorEncodingParameter"フィールドは、客体のあらゆる頂点座標に対するキーフレームアニメーションデータ(CoordinateInterpolatorノードデータ)を圧縮するために使われる媒介因子を含む。この場合、"node"フィールドはCoordinateInterpolatorノードである。
【００７６】
"IndexedFaceSetEncodingParameter"フィールドは、３次元メッシュ情報(IndexedFaceSetノードデータ)の圧縮に使われる媒介因子を含む。この場合に"node"フィールドはIndexedFaceSetノードである。
【００７７】
"OrientationInterpolatorEncodingParameter"フィールドは、回転移動キーフレームアニメーションデータ(OrientationInterpolatorノードデータ)を圧縮するために使われる媒介因子を含む。この場合に"node"フィールドはOrientationInterpolatorノードである。
【００７８】
"PositionInterpolatorEncodingパラメータ"フィールドは、位置移動キーフレームアニメーションデータ(PositionInterpolatorノードデータ)を圧縮するために使われる媒介因子を含む。この場合に"node"フィールドはPositionInterpolatorノードである。媒介因子を使用しない時、媒介因子がファイル中に必ずしも明示せねばならないものではない。媒介因子を使用して圧縮が実行される時、媒介因子フィールドは排他的に使われねばならない。その理由は、"node"フィールドが一回に圧縮されるノードデータの一類型(type)だけ含むからである。また、媒介因子フィールドが"<choice>"エレメントでグルーピング(grouping)されたからである。各パラメータフィールドにおいて"attribute"は次の節で説明する。
【００７９】
圧縮された表現が分離されたストリームに含まれて伝送される時、ノードデコータは所定の形に合わせて形成されねばならない。
客体記述子ストリーム(objectdescriptorstream)でノードデコータは、streamType0x03とobjectTypeIndication0x05とについてのDecoderConfigdescriptorに現れなければならない。デコータはＡＦＸConfigdescriptorで形成される。
【００８０】
１．３.numOfKeyQBits
１．３.１構文
<simpleType name="numOfKeyQBits">
<restriction base="int">
<minInclusive value="0">
<maxInclusive value="31"/>
</restriction>
</simpleType>
【００８１】
１．３.２  意味
numOfKeyQBitsは、keyデータの量子化ビットサイズ(quantizationbitsize)を示す。これは整数(integer)タイプである。numOfKeyQBitsの最小値は、０であり、最大値は３１である。
【００８２】
１．４ numOfKeyValueQBits
１．４.１ 構文
<simpleType name="numOfKeyValueQBits">
<restriction base="int">           <minInclusive value="0"/>
<maxInclusive value="31"/>
</restriction>
</simpleType>
【００８３】
１．４.２ 意味
numOfKeyValueQBitsは、keyValueデータの量子化ビットサイズ(quantizationbitsize)を示す。これはintegerタイプである。numOfKeyQBitsの最小値は０であり、最大値は３１である。
【００８４】
１．５ linearKeycoderType
１．５.１ 構文
<simpleType name="linearKeycoderType">
<restriction base="string">
<enumeration value="&quot;LINEAR&quot;"/>
<enumeration value="&quot;NOLINEAR&quot;"/>
</restriction>
</simpleType>
【００８５】
１．５.２ 意味
linearKeycoderTypeは、stringタイプである。linearKeycoderTypeは、linearkeycoderが使われているか否かを示す。
【００８６】
１．６ preservingType
１．６.１ 構文
<simpleType name="preservingType">
<restriction base="string">
<enumeration value="&quot;KEY&quot;"/>
<enumeration value="&quot;PATH&quot;"/>
</restriction></simpleType>
【００８７】
１．６.２ 意味
preservingTypeは、stringタイプである。preservingTypeは現在モードがkey preservingモードであるか、path preservingモードであるかを示す。
【００８８】
１．７  aacType
１．７.１ 構文
<simpleType name="aacType">
<restriction base="string">
<enumeration value="&quot;BINARY&quot;"/>            <enumeration value="&quot;UNARY&quot;"/>
</restriction>
</simpleType>
【００８９】
１．７.２ 意味
aacTypeは、stringタイプである。aacTypeは、各keyValueコンポーネント(X,Y,Z,(Theta - OrientationInterpolator))についての現在モードがBinaryAACモードか、UnaryAACモードかを示す。
【００９０】
１．８ orientationDpcmType
１．８.１ 構文
<simpleType name="orientationDpcmType">   <restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【００９１】
１．８.２ 意味
orientationDpcmTypeは、各keyValueコンポーネント(X,Y,Z,(Theta - OrientationInterpolator))について使われたＤＰＣＭ次数を示す。これは整数タイプである。前記orientationDpcmTypeが有しうる値は、０、１、２である。orientationDpcmType値が0であれば、1次DPCMを使用するという意味であり、orientationDpcmType値が１であれば、２次DPCMを使用するという意味であり、orientationDpcmType値が２であれば、ＳｍａｒｔＤＰＣＭを使用するという意味である。Orientation interpolator encoderが自動でＤＰＣＭ次数を決定するとする時、orientationDpcmType値が２である。
【００９２】
１．９  positionDpcmType
１．９.１ 構文
<simpleType name="positionDpcmType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【００９３】
１．９.２ 意味
positionDpcmTypeは各keyValueコンポーネント(X,Y,Z)に対して使われたＤＰＣＭ次数を示す。これは整数タイプである。ＤＰＣＭ次数が"１"ならば、フラッグは０にセットされる。ＤＰＣＭ次数が"２"ならば、１にセットされる。ＳＡＤが使われれば、２にセットされる。ＳＡＤは[２]に詳細に説明されている。
【００９４】
１．１０  intraType
１．１０．１  構文
<simpleType name="intraType">
<restriction base="int">           <enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simpleType>
【００９５】
１．１０．２ 意味
IntraTypeは、Position Interpolator Compressionに使われる。intraTypeは、各keyValueコンポーネント(X,Y,Z)についてintracodingモードが使われたか否かを示す。
【００９６】
１．１１ transposeType
１．１１.１ 構文
<simpleType name="transposeType">
<restriction base="string">
<enumeration value="&quot;ON&quot;"/>
<enumeration value="&quot;OFF&quot;"/>
</restriction>
</simpleType>
【００９７】
１．１１.２ 意味
transposeTypeはtransposeモードまたはvertexモードについてのフラッグである。もし、valueが"ＯＮ"にセットされたならば、transposeモードが使われ、そうでなければ、vertexモードが使われる。
【００９８】
１．１２ numOfCoordQBits
１．１２.１ 構文
<simpleType name="numOfCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="24"/>
</restriction>
</simpleType>
【００９９】
１．１２.２ 意味
numOfCoordQBitsは、geometryについての量子化ステップ(quantizationstep)を示す。numOfCoordQBitsの最小値が１であり、最大値は２４である。
【０１００】
１．１３  numOfNormalQBits
１．１３.１ 構文
<simpleType name="numOfNormalQBits">
<restriction base="int">
<minInclusive value="3"/>
<maxInclusive value="31"/>
</restriction>
</simpleType>
【０１０１】
１．１３.２  意味
numOfNormalQBitsは、normalについての量子化ステップ(quantizationstep)を示す。numOfNormalQBitsの最小値が３であり、最大値は３１である。
【０１０２】
１．１４  numOfColorQBits
１．１４.１  構文
<simpleType name="numOfColorQBits"> <restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simpleType>
【０１０３】
１．１４.２ 意味
numOfColorQBitsは、colorについての量子化ステップ(quantizationstep)を示す。numOfColorQBitsの最小値が１であり、最大値は１６である。
【０１０４】
１．１５  numOfTexCoordQBits
１．１５.１  Syntax
<simpleType name="numOftexCoordQBits">
<restriction base="int">
<minInclusive value="1"/>
<maxInclusive value="16"/>
</restriction>
</simpleType>
【０１０５】
１．１５.２ 意味
NumOftexCoordQBitsは、texturecoordinatesについての量子化ステップ(quantizations  tep)を示す。NumOftexCoordQBitsの最小値が１であり、最大値は１６である。
【０１０６】
１．１６  coordPredType
１．１６.１  構文
<simpleType name="coordPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【０１０７】
１．１６.２  意味
CoordPredTypeは、メッシュのvertex coordinatesを再構成するために使われるprediction typeである。no#predictionが使われれば、CoordPredType値は０にセットされる。parallelogram#predictionが使われれば、２にセットされる。
【０１０８】
１．１７  normalPredType
１．１７.１  構文
<simpleType name="normalPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【０１０９】
１．１７.２ 意味
NormalPredTypeはどのようにnormal valuesが予測(predict)されうるかを示す。no#predictionが使われれば、値が０にセットされ、tree#predictionが使われれば、１にセットされ、parallelogram#predictionが使われれば、２にセットされる。
【０１１０】
１．１８  colorPredType
１．１８.１ 構文
<simpleType name="colorPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【０１１１】
１．１８.２   意味
colorPredTypeは、どのようにcolorsが予測(predict)されうるかを表す。no#predictionが使われれば、値は０にセットされ、tree#predictionが使われれば、１にセットされ、parallelogram#predictionが使われれば、２にセットされる。
【０１１２】
１．１９     texCoordPredType
１．１９.１  構文
<simpleType name="texCoordPredType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="2"/>
</restriction>
</simpleType>
【０１１３】
１．１９.２ 意味
texCoordPredTypeはどのようにcolorsが予測(predict)されうるかを表す。no#predictionが使われれば、値は０にセットされ、parallelogram#predictionが使われれば、２にセットされる。
【０１１４】
１．２０  errorResilienceType
１．２０．１ 構文
<simpleType name="errorResilienceType">
<restriction base="string">
<enumeration value="&quot;ON&quot;"/>
<enumeration value="&quot;OFF&quot;"/>
</restriction>
</simpleType>
【０１１５】
１．２０．２ 意味
ErrorResilienceTypeはエラー強じん性(Error Resilience)モードが使われたか否かを表す。エラー強じん性が使われていなければ、"ＯＦＦ"にセットされ、エラー強じん性が使われれば、"ＯＮ"にセットされる。もし、"ＯＮ"になった場合にのみ、boundaryPredictionTypeとbitsPerPacketとが使われうる。
【０１１６】
１．２１     boundaryPredictionType
１．２１.１  構文
<simpleType name="boundaryPredictionType">
<restriction base="int">
<enumeration value="0"/>
<enumeration value="1"/>
</restriction>
</simpleType>
【０１１７】
１．２１.２ 意味
BoundaryPredictionTypeはboundarypredictionのタイプを示す。値が０ならば、制限された予測(restrictedprediction)が使われ、値１が使われるならば、拡張予測(extendedprediction)が使われる。
【０１１８】
１．２２ bitsPerPacket
１．２２.１ 構文
bitsPerPacketの構文はSFInt32タイプと同じである。
<simpleType name="SFInt32">
<restriction base="int"/>
</simpleType>
【０１１９】
１．２２.２    意味
BitsPerPacketはエラー強靭ビットストリーム(error resiliant bitstream)に対するパケットサイズを示す。この値は、エラー強靭モードで各部分の大きさを決定する。bitsPerPacketのタイプはSFInt32である。デフォルト値は３６０である。
【０１２０】
２. ビットラッパーエンコーディングヒントに対するＸＭＴ−Ａスキーマ
２．１ 構文
次は、ビットラッパーエンコーディングヒントの構文である。
<element name="StreamSource">
<complexType>
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="ＸＭＴa:BitWrapperEncodingHints"/>
</choice>
</complexType>
</element>
<element name="BitWrapperEncodingHints">
<complexType>
<choice>
<element name="BitWrapper3DMCEncodingHints">
<complexType>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</compleType>
</element>
<element name="BitWrapperICEncodingHints">
<complexType>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</compleType>
</element>
<element name="OthersEncodingHints">
<complexType>
<sequence>
<element name="sourceFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<element name="targetFormat">
<complexType>
<sequence>
<element ref="ＸＭＴa:param" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
</compleType>
</element>
</choice>
</complexType>
</element>
【０１２１】
２．２ 意味
ビットラッパーエンコーディングヒントは、スクリプト(.mux)ファイルで"MuxInfo"descriptionを明細するために使われる。その結果、binary textual formatと一致する。ビットラッパーノードがその中にある"ＵＲＬ"フィールドを使用するアウトバンド(out-band)シナリオについて使われる。ビットラッパーエンコーディングヒントは、ストリームフォーマットのタイプによる"MuxInfo"descriptionに使われる適切な情報を説明している。ビットラッパーエンコーディングヒントは、BitWrapper3DMCEncodingHints、BitWrapperICEncodingHints、OthersEncodingHintsの3つの種類を含む。このうち、１つの方式を選択できるように前記３種類EncodingHintを<choice>tagでグループングした。
【０１２２】
３. ＡＦＸConfigについてのＸＭＴ−Ａスキーマ
３．１  構文
<element name="DecoderConfigDescriptor">
<complexType>
<sequence>
<element name="decSpecificInfo" form="qualified" minOccurs="0">
<complexType>
<choice minOccurs="0">
<element name="ＢＩＦＳConfig" type="ＸＭＴa:ＢＩＦＳConfigType"/>
<element name="ＢＩＦＳv2Config" type="ＸＭＴa:ＢＩＦＳv2ConfigType"/>
<element name="ＡＦＸConfig" type="ＸＭＴa:ＡＦＸConfigType"/>
<element ref="ＸＭＴa:DecoderSpecificInfo"/>
</choice>
</complexType>
</element>
<element name="profileLevelIndicationIndexDescr" form="qualified" minOccurs="0">
<complexType>
<sequence>
<element ref="ＸＭＴa:ExtensionProfileLevelDescriptor" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</sequence>
<attribute name="objectTypeIndication" type="ＸＭＴa:objectTypeIndicationType" use="required"/>
<attribute name="streamType" type="ＸＭＴa:streamTypeType" use="required"/>
<attribute name="upStream" type="boolean" use="optional" default="false"/>
<attribute name="bufferSizeDB" type="ＸＭＴa:bit24a" use="optional" default="auto"/>
<attribute name="maxBitrate" type="ＸＭＴa:bit32a" use="optional" default="auto"/>
<attribute name="avgBitrate" type="ＸＭＴa:bit32a" use="optional" default="auto"/>
</complexType>
</element>
<complexType name="ＡＦＸConfigType">
<choice>
<element name="A3DMCDecoderSpecific"/>
<element name="CoordInterpCompDecoderSpecific"/>
<element name="OriInterpCompDecoderSpecific"/>
<element name="PosInterpCompDecoderSpecific"/>
</choice>
</complexType>
【０１２３】
３．２ 意味
ＡＦＸConfigは、BitWrapper nodeを使用してＡＦＸツールを符号化して伝送した時、伝送されたビットストリームを復号化するための情報を知らせる役割をする。BitWrapperノードがその中にある"ＵＲＬ"フィールドを使用するアウトバンドシナリオに対して使われる。すなわち、ＡＦＸCongifは、このビットストリームがＡＦＸツールを使用し、その中如何なる符号化方式を適用したかを知らせる重要な情報である。また、ＡＦＸConfigはA3DMCDecoderSpecific、CoordInterpCompDecoderSpecific、OriInterpCompDecoderSpecific、PosInterpCompDecoderSpecificの4つの復号化方式を含む。
【０１２４】
４. ＸＭＴ２ＭＵＸスタイルシートにビットラッパーエンコーディングヒントを追加
次はＸＭＴ２ＭＵＸスタイルシートにMuxInfoとビットラッパーエンコーディングヒント構文とを次のように追加した。
【０１２５】
４．１ 構文
元の構文は次の通りである。
<xsl:template match="ＸＭＴ:StreamSource"> muxInfo [
fileName  <xsl:value-of select="@url"/><xsl:text>
<xsl:if test="not(ＸＭＴ:EncodingHints)">streamFormat ＢＩＦＳ<xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templates select="ＸＭＴ:EncodingHints|ＸＭＴ:ＢＩＦＳEncodingHints| ＸＭＴ: FBAEncodingHints"/>
]
</xsl:template>
【０１２６】
修正された構文は次の通りである。
<xsl:template match="ＸＭＴ:StreamSource"> muxInfo MuxInfo[
fileName  <xsl:value-of select="@URL"/> 
<xsl:apply-templates select="ＸＭＴ:EncodingHints|ＸＭＴ:ＢＩＦＳEncodingHints| ＸＭＴ:FBAEncodingHints|ＸＭＴ:BitWrapperEncodingHints"/>
<xsl:if test="not(ＸＭＴ:EncodingHints|ＸＭＴ:BitWrapperEncodingHints)"> streamFormat ＢＩＦＳ<xsl:text></xsl:text></xsl:if>
<xsl:if test="ＸＭＴ:BitWrapperEncodingHints"><xsl:text>
</xsl:text></xsl:if>
<xsl:apply-templates select="ＸＭＴ:BitWrapper3DMCEncodingHints|ＸＭＴ: BitWrapperICEncodingHints| ＸＭＴ:OthersEncodingHints"/>
]
<xsl:template match="ＸＭＴ:BitWrapperEncodingHints">
<xsl:apply-templates select="ＸＭＴ:BitWrapper3DMCEncodingHints|ＸＭＴ: BitWrapperICEncodingHints|ＸＭＴ:OthersEncodingHints"/>
<xsl:apply-templates select="ＸＭＴ:sourceFormat|ＸＭＴ:targetFormat"/>
</xsl:template>
<xsl:template match="ＸＭＴ:BitWrapper3DMCEncodingHints">
<xsl:apply-templates select="ＸＭＴ:sourceFormat|ＸＭＴ:targetFormat"/>
streamFormat 3DMC<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:BitWrapperICEncodingHints">
<xsl:apply-templates select="ＸＭＴ:sourceFormat|ＸＭＴ:targetFormat"/>
streamFormat InterpolatorCompression<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:OthersEncodingHints">
<xsl:apply-templates select="ＸＭＴ:sourceFormat|ＸＭＴ:targetFormat"/>
streamFormat ＢＩＦＳ<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:sourceFormat">
<xsl:apply-templates select="ＸＭＴ:param"/>
</xsl:template>
<xsl:template match="ＸＭＴ:targetFormat">
<xsl:apply-templates select="ＸＭＴ:param"/>
</xsl:template>
</xsl:template>
【０１２７】
４．２ 意味
既存構文には、ＭＰ４符号化器に伝送されるビットストリームに関するmux情報(如何なる名称のビットストリームであるか、如何なる種類のビットストリームであるか、例えば、A.ＢＩＦＳ,A.od)がＸＭＴ２ＭＵＸスタイルシートに正しく記述(description)されていない。また、ビットラッパーでＵＲＬを使用する場合、ＵＲＬを通じて伝送されるビットストリームに関する情報(ファイル名、実施例3のように"bunny-15000-tcp.m3d"、ビットストリームの種類)についてＸＭＴ２ＭＵＸスタイルシートには記述されていない。したがって、ビットラッパーから提供されるビットストリームを載せるファイル名とビットストリームの種類とを記述(description)した。具体的に、３次元アニメーションデータ圧縮についてはInterpolatorCompressionstreamformat、３Ｄメッシュデータ圧縮については3DMC streamformatを記述(description)した。
【０１２８】
５. ＸＭＴスタイルシート(XSLs)の追加
ＸＭＴparserがＸＭＴ−Ａスキーマに基づいてＭＰＥＧ−４符号化器の入力(.sceneファイル,.muxファイル)に作ろうとすれば、ＸＭＴスタイルシートが必要である。したがって、ＡＦＸConfig情報を.muxファイルに合わせて出力しようとすれば、ＸＭＴスタイルシートにＡＦＸConfigについての設計が必要である。
【０１２９】
５．１. ＸＭＴ２ＭＵＸスタイルシートにＡＦＸConfigを追加
４種の復号化方式に関する情報を含むＡＦＸConfigを次のようにＸＭＴスタイルシートに設計した。
【０１３０】
<xsl:template match="ＸＭＴ:decSpecificInfo">
<xsl:apply-templates select="ＸＭＴ:ＢＩＦＳConfig |ＸＭＴ:ＢＩＦＳv2Config |ＸＭＴ:DecoderSpecificInfo |ＸＭＴ:ＡＦＸConfig"/> 
</xsl:template>
<xsl:template match="ＸＭＴ:ＡＦＸConfig">decSpecificInfo ＡＦＸConfig [
ＡＦＸext <xsl:apply-templates select="ＸＭＴ:A3DMCDecoderSpecific|ＸＭＴ:CoordInterpCompDecoderSpecific|ＸＭＴ:PosInterpCompDecoderSpecific|ＸＭＴ:OriInterpCompDecoderSpecific|ＸＭＴ:MeshGridDecoderSpecificInfo|ＸＭＴ:WMDecoderSpecificInfo"/>
]
</xsl:template>
<xsl:template match="ＸＭＴ:A3DMCDecoderSpecific">
A3DMCDecoderSpecific [ ] <xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:CoordInterpCompDecoderSpecific">
CoordInterpCompDecoderSpecific [ ] <xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:PosInterpCompDecoderSpecific">
PosInterpCompDecoderSpecific [ ] <xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="ＸＭＴ:OriInterpCompDecoderSpecific">
OriInterpCompDecoderSpecific [ ] <xsl:text>
</xsl:text>
</xsl:template>
【０１３１】
５．２. ＸＭＴ２ＭＵＸスタイルシートにdecConfigDescr修正
decConfigDescrはdecSpecificInfo情報を含むものであって、復号化段階でのビットストリームの復号化に必要な情報を示す。ＸＭＴPaserがＸＭＴ−ＡスキーマおよびＸＭＴスタイルシートに基づいてＭＰＥＧ−４符号化器に合う入力を作るために、ＸＭＴ２ＭＵＸスタイルシートに次のように追加されねばならない。
【０１３２】
The original syntax is:
<xsl:template match="ＸＭＴ:decConfigDescr">decConfigDescr [...]
The modified one is:
<xsl:template match="ＸＭＴ:decConfigDescr">decConfigDescr 
DecoderConfigDescriptor [  ]
【０１３３】
５．３. ＸＭＴ２ＭＵＸスタイルシートにslConfigDescr修正
SLConfigDescriptorは復号化する段階で、各ビットストリーム間の同期化のために必要な時間情報を示す。ＸＭＴPaserがＸＭＴ−ＡスキーマおよびＸＭＴスタイルシートに基づいてＭＰＥＧ−４符号化器に合う入力を作るためにＸＭＴ２ＭＵＸスタイルシートに次のように追加されねばならない。
【０１３４】
The original syntax is:
<xsl:template match="ＸＭＴ:slConfigDescr">slConfigDescr [   ]
The modified one is:
<xsl:template match="ＸＭＴ:slConfigDescr">slConfigDescr SLConfigDescriptor [ ..]
【０１３５】
６. ＸＭＴ２ＢＩＦＳスタイルシートにObjectDescriptorUpdate修正
６．１ 構文
元の構文は次の通りである。
<xsl:template match="ＸＭＴ:ObjectDescriptorUpdate">
UPDATE OD [
<xsl:apply-templates select="ＸＭＴ:OD"/>
]
</xsl:template>
修正された構文は次の通りである。
<xsl:template match="ＸＭＴ:ObjectDescriptorUpdate">   UPDATE OD [
<xsl:apply-templates select="ＸＭＴ:OD"/>
]
</xsl:template>
<xsl:template match="ＸＭＴ:OD">
<xsl:apply-templates select="ＸＭＴ:ObjectDescriptorBase" />
</xsl:template>
<xsl:template match="ＸＭＴ:ObjectDescriptorBase">
<xsl:apply-templates select="ＸＭＴ:ObjectDescriptor|ＸＭＴ: InitialO    bjectDescriptor"/>
</xsl:template>
<xsl:template match="ＸＭＴ:ObjectDescriptor">
ObjectDescriptor [
<xsl:if test="@objectDescriptorID"> objectDescriptorID <xsl:value-of s    elect="@objectDescriptorID"/></xsl:if>
<xsl:text></xsl:text><xsl:apply-templates select="ＸＭＴ:URL" />
]
</xsl:template> 
<xsl:template match="ＸＭＴ:URL">
<xsl:if test="@URLstring"> muxScript
<xsl:value-of select="@URLstring"/></xsl:if>
<xsl:text></xsl:text>
</xsl:template>
【０１３６】
６．２ 意味
オリジナルの構文には、“UpdateOD ”内部に何らの記述(description)もなかった。"UpdateODは著作者が"ＵＲＬ"フィールドを通じて他のエレメントストリームと連結しようとする場合、場面説明ストリーム(scene description stream(ＢＩＦＳ stream))をリンクする時に使われる。またUpdate OD内部にObjectDescriptorIDとスクリプトファイル名とを説明する部分も追加した。これはバイナリテキストフォーマット（binary textual format）と一致する。
【０１３７】
本発明の動作を説明する。
図５は、本発明によるグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法を示すフローチャートである。
まず、圧縮する客体データに関する情報を含んでいる圧縮ノードと、圧縮に必要な圧縮媒介因子、および少なくとも圧縮された客体データファイルの位置情報を含むビットラッパーエンコーディングヒントを定義しているＸＭＴスキーマを備える(５００段階)。またＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてsceneファイルへの変換を支援するＸＭＴ２ＢＩＦＳスタイルシートと、ＸＭＴ入力ファイルを前記ＸＭＴスキーマに基づいてmuxファイルへの変換を支援するＸＭＴ２ＭＵＸスタイルシートを備える(５１０段階)。次いで、ＸＭＴ入力ファイルが入力されれば、前記ＸＭＴスキーマと前記ＸＭＴ２ＢＩＦＳスタイルシートおよびＸＭＴ２ＭＵＸスタイルシートを用いて前記ＸＭＴ入力ファイルをパージングしてsceneファイルおよびmuxファイルを生成する(５２０段階)。前記パージングの結果、生成されたsceneファイルが圧縮されていないグラフィックデータを含んでいるか否かを判断する(５３０段階)。前記判断の結果、グラフィックデータが圧縮されていなければ、前記sceneファイルに含まれている圧縮媒介因子(encoding parameter)を使用してグラフィックデータを圧縮し、圧縮されたビットストリームと修正されたsceneファイルおよび修正されたmuxファイルを生成する(５４０段階)。
【０１３８】
これをさらに詳細に説明すれば、既に圧縮されたグラフィックデータを使用しバッファまたはＵＲＬに伝送する場合は、図２に示されたＡＦＸ符号化器２６０がなくても標準ＭＰＥＧ−４符号化器に適した入力を作れる。しかし、圧縮されていないデータを圧縮媒介因子を使用してビットストリームをバッファまたはＵＲＬに伝送する場合には、図２に示されたＡＦＸ符号化器２６０を経て標準ＭＰＥＧ−４符号化器に適した入力を作ることができない。
【０１３９】
次に、本発明の実施形態によってグラフィックデータを伝送する方法について説明する。
(1) 既に圧縮されたビットストリームを使用してバッファ(buffer)に伝送する方法。
図２および図６に基づいて、既に圧縮されたビットストリームを使用してバッファ(buffer)に伝送する本発明の実施形態を説明する。図６の内容は次の通りである。物体Ａ（例えば、コップ）に関する３次元データ(幾何情報、連結情報、色相情報など)は、既に圧縮された物体Ａに対するビットストリーム(bitstream)が圧縮ノード内のバッファフィールドに圧縮されたビットストリーム名(BufferWithEP.m3d)に伝送される(図６の(1))。
【０１４０】
図２に示されたように、ＸＭＴファイル２００が入力すると、ＸＭＴパーザ２１０では、ＸＭＴ-Ａスキーマ２３０に基づいて、ＸＭＴ２ＢＩＦＳスタイルシート２４０とＸＭＴ２ＭＵＸスタイルシート２２０とを使用して、その圧縮したビットストリームを場面データと共に.sceneに対するビットストリームに載せて伝送する。
【０１４１】
前記ＸＭＴ入力ファイルは、初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを含むボディー(body)を含む。前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器が出力として生成するファイル名を有するストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、既に圧縮されたノード名を保存しているノードフィールドおよび既に圧縮された客体データファイル名を保存しているバッファフィールドを備える。
【０１４２】
前記sceneファイルは、前記ボディーと同一の、少なくとも１つの圧縮ノードを備え、前記muxファイルは前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を備える。
【０１４３】
この際、muxファイル内の情報には、ＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器２７０が実行された結果、.ＢＩＦＳ/.odが含まれる。そして、muxファイル内の情報と.ＢＩＦＳ/.odファイルがＭＰ４符号化器２８０に入力して最終結果ファイル(.ＭＰ４)２９０が生成され、ＭＰＥＧ−４プレーヤーでその結果が見られる。
【実施例】
【０１４４】
次に、実施例に基づいてより詳細に説明する。
【０１４５】
（実施例１）
次はBitWrapperを使用して既に圧縮された３次元メッシュ情報のビットストリームをバッファを使用して伝送するＸＭＴの例である。
【０１４６】
...
<Header>
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz" binaryID="201" OCR#ES#ID="xyz"> 
...
<StreamSource url=" BufferWithoutEP.bif">
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
<Body>
<Replace> 
<Scene> 
<Group>
<children> 
<Shape>
<geometry>
<BitWrapper type="0" buffer= "opt-eight-npf-10-2-12-0.m3d    ">
<node>
<IndexedFaceSet>
<coord>
<Coordinate></Coordinate>
</coord> 
<normal>
<Normal></Normal>
</normal>
</IndexedFaceSet>
</node>
</BitWrapper>
</geometry>
</Shape>
</children>
</Group>
</Scene>
</Replace>
</Body>
...
【０１４７】
図２において、実施例１のようにBitWrapperノードを使用して既に圧縮された３次元メッシュ情報ビットストリームをバッファに伝送するＸＭＴ表現の入力ファイルが入力されると、ＸＭＴRefパーザ２１０でBitWrapperノードと媒介因子についてのＸＭＴ−Ａスキーマとスタイルシート(ＸＭＴ２ＢＩＦＳとＸＭＴ２ＭＵＸ)とに基づいて、ＭＰＥＧ−４符号化器の入力ファイル(sceneファイルとmuxファイル)を作成する。その結果は次の通りである。
【０１４８】
-BufferWithoutEP.scene結果-
...
BitWrapper [ 
node          IndexedFaceSet [                            
coord Coordinate [  ]
normal Normal [ ]
] 
type 0
buffer " opt-eight-npf-10-2-12-0.m3d"
]
...
- BufferWithoutEP.mux file -
InitialObjectDescriptor [
…
muxInfo MuxInfo[
fileName   "BufferWithoutEP.bif"
streamFormat ＢＩＦＳ
]
]
【０１４９】
上記のようなsceneファイルおよびmuxファイルは、ＭＰＥＧ−４符号化器の入力として使われ、ＢＩＦＳ符号化器を経てＢＩＦＳ/odファイルを生成し、このＢＩＦＳ/odビットストリームとmuxファイルとがＭＰ４符号化器に入力として入って１つのビットストリーム(.ＭＰ４)ファイルを生成する。前記ＭＰ４ファイルは、最終結果としてＭＰＥＧ−４プレーヤーで視覚化される。
【０１５０】
(2) 既に圧縮されたビットストリームを使用してＵＲＬに伝送する方法。
図２および図７に基づいて既に圧縮されたビットストリームを使用してＵＲＬに伝送する実施例を説明する。
【０１５１】
図７は、BitWrapperノード内で既に圧縮された物体Ａ（例えば、コップ)に対する３次元グラフィックデータ(幾何情報、連結情報、色相など)のビットストリーム(bitstream)がＵＲＬを使用して伝送される方法を示す。
【０１５２】
圧縮ノード(BitWrapper node)内のＵＲＬフィールドが記述するＵＲＬ ＩＤ(例えば、１２)と同値を有するバイナリ ＩＤをフィールドとして有する客体記述子更新を行う(図７の(1))。前記客体記述子内のビットラッパーエンコーディングヒントが含んでいる既に圧縮されたビットストリーム名を探す(図７の(2))。前記ビットラッパーエンコーディングヒントにあるビットストリーム名に既に圧縮されたビットストリームが伝送される(図７の(2))。
【０１５３】
図２に示されたように、ＸＭＴファイル２００が入力されれば、ＸＭＴパーザ２１０でＸＭＴ−Ａスキーマ２３０に基づいて、ＸＭＴ２ＢＩＦＳスタイルシート２４０とＸＭＴ２ＭＵＸスタイルシート２２０とを使用し、この圧縮されたビットストリームを場面データと共にsceneに対するビットストリームに載せて伝送する。
【０１５４】
前記ＸＭＴ入力ファイルは、初期客体記述子を含むヘッダ(Header)、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備えるボディー(body)を含む。前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、既に圧縮された客体データのビットストリームが保存されたファイル名を含むビットラッパーエンコーディングヒントを有する客体記述子更新内の客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを備える。前記ボディーの客体記述子更新内に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ  ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備える。
【０１５５】
前記sceneファイルは、前記ボディー(body)と同一の、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有する。前記muxファイルは、前記ヘッダと同じ初期客体記述子およびボディーの客体記述子更新内にある客体記述子と同じ客体記述子を有する。この際、muxファイル内の情報には、ＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器２７０が実行された結果、.ＢＩＦＳ/.odが含まれる。そして、muxファイル内の情報と.ＢＩＦＳ/.odファイルがＭＰ４符号化器２８０の入力として入って、最終結果ファイル(ＭＰ４)２９０が生成され、ＭＰＥＧ−４プレーヤーでその結果が見られる。
次に、実施例によってより詳細な説明を行う。
【０１５６】
（実施例２）
次は、ビットラッパーを使用して既に圧縮された３次元メッシュ情報ビットストリームをＵＲＬを使用して伝送するＸＭＴ例である。
【０１５７】
<Header> 
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz" binaryID="201" OCR#ES#ID="xyz"> 
...
<StreamSource url="URLWithoutEP.od"> 
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz1" binaryID="301" OCR#ES#ID="xyz1"> 
...
<StreamSource url="URLWithoutEP.bif">
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header> 
<Body>
<Replace> 
<Scene> 
<Group> 
<children>
<Shape>
<geometry>
<BitWrapper type="0" URL="12">
<node>
<IndexedFaceSet>
<coord>
<Coordinate>   </Coordinate>
</coord>
<normal>
<Normal></Normal>
</normal>
</IndexedFaceSet>                                                         </node>
</BitWrapper>
</geometry>                                                                                 </Shape>
</children>
</Group>
</Scene>
</Replace> 
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptor objectDescriptorID="o2" binaryID="12"            >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="PI" binaryID="211" OCR#ES#ID="PIC">                  
<decConfigDescr>
<DecoderConfigDescriptor
streamType="3" 
objectTypeIndication="5"
bufferSizeDB="50000">
<decSpecificInfo>
<ＡＦＸConfig>
<A3DMCDecoderSpecific>
</A3DMCDecoderSpecific>
</ＡＦＸConfig> 
</decSpecificInfo>
</DecoderConfigDescriptor>
</decConfigDescr>
<StreamSource> 
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<param value="bunny-15000-tcp.m3d"> </param>
</sourceFormat>
<targetFormat></targetFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints>                                           
</StreamSource> 
</ES#Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</OD>
</ObjectDescriptorUpdate>
</Body>
【０１５８】
図２において、実施例２のようにビットラッパーノードを使用して、既に圧縮された３次元メッシュ情報ビットストリームをＵＲＬに伝送するＸＭＴ表現の入力ファイルが入力されれば、ＸＭＴパーザ(Parser)がＸＭＴ−Ａスキーマとスタイルシート(ＸＭＴ２ＢＩＦＳとＸＭＴ２ＭＵＸ)ファイルに基づいてＭＰＥＧ−４符号化器の入力ファイル(sceneファイルとmuxファイル)を作成する。その結果は、次の通りである。
【０１５９】
-URLWithoutEP.scene結果-
...
BitWrapper [
node  IndexedFaceSet [
coord Coordinate [ ]
normal Normal [ ]
] 
type 0
URL 12
]
...
UPDATE OD [
ObjectDescriptor [
objectDescriptorID 12
muxScript URLWithoutEP.mux
]
]
- URLWithoutEP.mux file - 
...
ObjectDescriptor [
objectDescriptorID  12
esDescr [
ES#Descriptor [
ES#ID   211
decConfigDescr  DecoderConfigDescriptor
[
streamType      3
objectTypeIndication   5
bufferSizeDB    50000
decSpecificInfo ＡＦＸConfig
[
ＡＦＸext    A3DMCDecoderSpecific [ ]
]
]
...
muxInfo MuxInfo[
fileName   "bunny-15000-tcp.m3d "
streamFormat 3DMC
]
...
【０１６０】
上記のようなsceneファイルとmuxファイルは、ＭＰＥＧ−４符号化器の入力として使われる。sceneファイルはＢＩＦＳ符号化器を経て.ＢＩＦＳ/.odファイルを生成し、この.ＢＩＦＳ/.odファイルとmuxファイルとがＭＰ４符号化器に入力として入って１つのビットストリーム(ＭＰ４)ファイルを生成する。前記ＭＰ４ファイルは最終結果としてＭＰＥＧ−４プレーヤーで視覚化される。
【０１６１】
(3) 圧縮されていない客体データを媒介因子(encoding parameter)を使用してビットストリームを作ってバッファに伝送する方法。
【０１６２】
図２および図８に基づいて、客体データを媒介因子を使用してビットストリームを作ってバッファに伝送する実施例を説明する。
【０１６３】
図８は、物体Ａ（例えば、コップ）に関する３次元客体データ(幾何情報、連結情報、色相情報など)は媒介因子を用いてＡＦＸ符号化器を通じて圧縮されて物体Ａに圧縮されたビットストリーム(bitstream)を作る(図８の(1))。前記作られた圧縮されたビットストリームは、前記圧縮ノード内のバッファフィールドの圧縮されたビットストリーム名("BufferWithEP.m3d")に伝送される(図８の(2))。
【０１６４】
図２に示されたように、ＸＭＴファイルがＸＭＴパーザに入力されると、ＸＭＴパーザでＸＭＴ−Ａスキーマを参照し、スタイルシート（ＸＭＴ２ＢＩＦＳ，ＸＭＴ２ＭＵＸ）を使用してビットストリームが場面データと共にsceneに対するビットストリームに載せて伝送する。前記ＸＭＴ入力ファイルは、初期客体記述子を備えるヘッダと、少なくとも１つの圧縮ノードを備えるボディー(body)とを含む。前記ヘッダの初期客体記述子は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備える。
【０１６５】
前記sceneファイルは、前記ボディーと同一の、少なくとも１つの圧縮ノードを含む。前記muxファイルは、前記ヘッダと同じ初期客体記述子および前記初期客体記述子内にある、ＢＩＦＳ符号化器が出力として生成するファイルのストリームフォーマット情報を含む。この時、muxファイルおよびsceneファイルはＡＦＸ符号化器に入力され、sceneファイルにある客体データは圧縮され、修正されたmuxファイルおよび修正されたsceneファイルとして生成される。
【０１６６】
前記客体データの圧縮は、次のようになされる。
前記判断の結果、グラフィックデータが圧縮されていないと判断されれば、sceneファイルの圧縮ノード内にある客体データと圧縮媒介因子を保存する。前記保存された客体データがある圧縮ノードのノードフィールド内にグラフィック客体と相応する所定の符号化器に前記客体データと圧縮媒介因子とを引き渡す。前記圧縮媒介因子を使用して客体データを圧縮してビットストリームに生成する。
【０１６７】
前記修正されたmuxファイル内の情報には、ＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器が実行された結果である.ＢＩＦＳ/.odが含まれる。そして、修正されたmuxファイル内の情報と.ＢＩＦＳ/.odファイルとがＭＰ４符号化器の入力として入って最終結果ファイル(ＭＰ４)が生成され、ＭＰＥＧ−４プレーヤー(Player)でその結果が見られる。
次に、実施例を挙げてより詳細に説明する。
【０１６８】
（実施例３）
次は、ビットラッパーでオリジナルの３次元メッシュ情報を媒介因子を使用してビットストリームに作り、バッファを使用して伝送するＸＭＴ例である。
【０１６９】
<Header>
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz" binaryID="201" OCR#ES#ID="xyz">
...
<StreamSource url="3DMC#npf#BufferWithEP.bif">
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header>
<Body>
... 
<BitWrapper type="0"  buffer="opt-eight-npf-10-9-2-0.m3d">
<node>
<IndexedFaceSet  ccw="TRUE"  solid="TRUE" 
coordIndex="0, 1, 2, -1, 3, 4, 5, -1,..."
normalPerVertex="TRUE">
<coord DEF="Box-COORD">
<Coordinate point="0 1 2, 0 2 3, 4 0 1, 1 5 4, 5 1 2, 2 6 5,     ..."></Coordinate>
</coord>
<normal>
<Normal vector="0.7859 -0.341 -0.5157, 0.3812 -0.801 0.4615,     ..."></Normal>
</normal>
</IndexedFaceSet>                                                   
</node>                                                               
<IndexedFaceSetEncodingParameter  coordQBits="10  normalQBits="9"                     coordPredMode="2 normalPredMode="0" errorResilience="OFF">      
</IndexedFaceSetEncodingParameter>
</BitWrapper>
... 
<Body>
【０１７０】
ビットラッパーノードで３次元メッシュ情報とその媒介因子を使用して圧縮するＸＭＴ表現の入力ファイルが入れば、ＸＭＴパーザでＸＭＴ-Aスキーマとスタイルシート(ＸＭＴ２ＢＩＦＳとＸＭＴ２ＭＵＸ)ファイルを参照して、ビットラッパーノード内での３次元メッシュ情報、圧縮媒介因子および場面情報をsceneファイルとして出力し、客体データがどのように伝送されるか、または他のデータとどのように同期化されるかに関する情報をmuxファイルに出力する。
【０１７１】
-3DMC#npf#BufferWithEP.sceneファイル-
...
BitWrapper [
node  IndexedFaceSet [
ccw="TRUE"
solid="TRUE"
coodIndex="0, 1, 2, -1, 3, 4, 5, -1, ..."
normalPerVertex="TRUE"
coord DEF  Box-COORD  Coordinate [
point [0 1 2, 0 2 3, 4 0 1, 1 5 4, 5 1 2, 2 6 5, ... ]    
] 
normal Normal [
Vector[0.7859, -0.341, -0.5157, 0.3812, -0.801, 0.4615, ...]    
]
]
IndexedFaceSetEncodingParameter[
coordQBits  10
NormalQBits  9
coordPredMode  2
normalPredMode  0
errorResilience  OFF
]
type 0 
buffer "opt-eight-npf-10-9-2-0.m3d"
]
...
- "3DMC#npf#BufferWithEP.mux" file -
InitialObjectDescriptor [
muxInfo MuxInfo[
fileName   "3DMC#npf#BufferWithEP.bif"
streamFormat ＢＩＦＳ
]
]
【０１７２】
上記のようなsceneファイルとmuxファイルは、ＭＰＥＧ−４符号化器の入力ファイルとしては適していない。したがって、ＡＦＸ符号化器を経れば、次のようにＭＰＥＧ−４符号化器の入力ファイルに適した形に変換し、３次元メッシュ情報に関する符号化器で圧縮ビットストリームも生成される。
【０１７３】
-3DMC#npf#BufferWithEP#modified。sceneファイル-
...
BitWrapper [
node  IndexedFaceSet [
coord Coordinate [  ] 
normal Normal [ ]
]
type 0 
buffer "bunny-15000-tcp.m3d"
]
...
- 3DMC#npf#BufferWithEP#modified.mux file -
InitialObjectDescriptor [
muxInfo MuxInfo[
fileName   "3DMC#npf#BufferWithEP#modified.bif"
streamFormat ＢＩＦＳ
]
]
【０１７４】
上記のようにＡＦＸ符号化器を経た#modified.sceneファイルと#modified.muxファイルは、ＭＰＥＧ−４プレーヤーの入力として使われてＢＩＦＳ符号化器を経てＢＩＦＳ/odファイルを生成し、このＢＩＦＳ/odファイルとmuxファイルとがＭＰ４符号化器に入力として入って１つのビットストリーム(ＭＰ４)ファイルを生成する。前記ＭＰ４ファイルは、最終結果としてＭＰＥＧ−４プレーヤーで次のように視覚化される。
【０１７５】
(4) オリジナルのデータを媒介因子を使用してビットストリームを作ってＵＲＬに伝送する場合である。図２および図９に基づいて、オリジナルのデータを媒介因子を使用してビットストリームを作ってＵＲＬに伝送する実施例を説明する。
【０１７６】
図９は、ビットラッパーノード内で物体Ａ(例えば、コップ)に関する３次元客体データ(幾何情報、連結情報、色相情報など)が媒介因子を用いてＡＦＸ符号化器を通じて圧縮された物体Ａに対する圧縮されたビットストリーム(bitstream)でＵＲＬに伝送される方法を示す。
【０１７７】
圧縮ノード(BitWrappernode)内のノードフィールド内の３次元客体データは、圧縮媒介因子を用いてＡＦＸ符号化器で圧縮され、圧縮されたビットストリームに作られる(図９の(1))。そして、前記ノード内のＵＲＬフィールドが記述するＵＲＬ ＩＤ(例えば、１２)と同値を有するバイナリ  ＩＤをフィールドとして有する客体記述子を探す(図９の(2))。前記客体記述子内のビットラッパーエンコーディングヒントが含んでいる圧縮されたビットストリーム名を探す(図９の(3))。ＡＦＸ符号化器を通じて圧縮されたビットストリームは、前記ビットラッパーエンコーディングヒントにあるビットストリーム名に伝送される(図９の(4))。
【０１７８】
図２のように、入力ＸＭＴファイルが入力として入れば、ＸＭＴパーザでＸＭＴ−Ａスキーマを参照し、スタイルシート(ＸＭＴ２ＢＩＦＳ、ＸＭＴ２ＭＵＸ)を使用してmuxファイルとsceneファイルとを生成し、前記muxファイルとsceneファイルはＡＦＸ符号化器を通じて圧縮ノード内のノードフィールドが含んでいる客体データが圧縮されていないと判断されれば、前記客体データは前記客体と相応する圧縮媒介因子を用いて圧縮され、そのビットストリームはＵＲＬに載せてＭＰ４符号化器に伝送される。また、ＡＦＸ符号化器でＢＩＦＳ符号化器とＭＰ４符号化器に適した入力ファイル(修正されたsceneファイルと修正されたmuxファイル)を作る。ＢＩＦＳ符号化器は、場面情報と共にＡＦＸ符号化器を通じて圧縮された客体データに関するビットストリームが保存されるファイル名を含むmuxファイルと連結される情報を含むsceneファイルを入力として受け、sceneに対するビットストリーム(.ＢＩＦＳ/.od)に載せてＭＰ４符号化器に伝送される。ＭＰ４符号化器で前記ＡＦＸ符号化器を通じて圧縮された客体データに関するビットストリームが保存されるファイル名を含むmuxファイルと圧縮されたビットストリームと前記ＢＩＦＳ符号化器の出力ビットストリームとを入力として受けてmuxingしてＭＰ４ファイルを出力する。
【０１７９】
前記ＸＭＴ入力ファイルは、初期客体記述子を含むヘッダ(Header)、および少なくとも１つの圧縮ノードおよび少なくとも１つの客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備えるボディー(body)を含む。
【０１８０】
前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器が出力として生成するファイル名を有しているストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備える。前記ボディーの圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬIDが保存されたフィールドを含む。
【０１８１】
前記ボディーの客体記述子更新に含まれた客体記述子は、ボディーの圧縮ノードのＵＲＬ ＩＤと同値を有するバイナリ ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備える。
【０１８２】
前記sceneファイルは、前記ボディー(body)と同一の、少なくとも１つの圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新(ObjectDescriptorUpdate)を有する。前記muxファイルは前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有する。そして、muxファイルの内容にはＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器が実行された結果である.ＢＩＦＳ/.odが含まれる。また、物体Ａの圧縮されたビットストリームファイル名("bunny-15000-tcp.m3d")も含まれる。
【０１８３】
この際、muxファイルおよびsceneファイルは、ＡＦＸ符号化器に入力され、sceneファイルにある客体データは圧縮され、修正されたmuxファイルと修正されたsceneファイルとして生成される。
【０１８４】
前記客体データの圧縮は、次のようになされる。
前記判断の結果、グラフィックデータが圧縮されていないと判断されれば、sceneファイルの圧縮ノード内にある客体データと圧縮媒介因子とを保存する。前記保存された客体データがある圧縮ノードのノードフィールド内にグラフィック客体と相応する所定の符号化器に前記客体データと圧縮媒介因子とを引き渡す。前記圧縮媒介因子を使用して客体データを圧縮してビットストリームとして生成する。
【０１８５】
前記修正されたmux内の情報には、ＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器が実行された結果である.ＢＩＦＳ/.odが含まれる。そして、修正されたmuxファイル内の情報と.ＢＩＦＳ/.odファイルとがＭＰ４符号化器の入力として入って最終結果ファイル(ＭＰ４)が生成され、ＭＰＥＧ−４プレーヤー(Player)でその結果が見られる。
以下、実施例を挙げてより詳細に説明する。
（実施例４）
次は、ビットラッパーでオリジナルの３次元メッシュ情報を媒介因子を使用してビットストリームに作り、ＵＲＬを使用して伝送するＸＭＴ例である。
【０１８６】
<Header>
...
<InitialObjectDescriptor objectDescriptorID="1" binaryID="1" >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz" binaryID="201" OCR#ES#ID="xyz">
...
<StreamSource url="3DMC#npf#URLWithEP.od">
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz1" binaryID="301" OCR#ES#ID="xyz1">
...
<StreamSource url="3DMC#npf#URLWithEP.bif"> 
</StreamSource>
</ES#Descriptor>
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header> 
<Body>
<Replace> 
<Scene> 
<Group> 
<children>
<Shape> 
<geometry>
<BitWrapper type="0" URL="12">
<node>
<IndexedFaceSet ccw="TRUE"  solid="TRUE"
coordIndex="0,1,2,-1,3,4,5,-1, ..."
normalPerVertex="TRUE">
<coord DEF="Box-COORD">
<Coordinate point="012,023,401,154,512,265, ...">
</Coordinate>
</coord>
<normal>
<Normal vector="0.7859 -0.341 -0.5159, 0.3821 -0.8    01 0.4615, ...">   </Normal>
</normal>
</IndexedFaceSet>
</node>
<IndexedFaceSetEncodingParameter  coordQits="10"
normalQBits="9"  coordPreMode="2"
normalPredMode="0"  errorResilience="OFF">
</IndexedFaceSetEncodingParameter>
</BitWrapper>
</geometry>
</Shape>
</children>
</Group>
</Scene>
</Replace>
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptor objectDescriptorID="o2" binaryID="12">
<Descr>
<esDescr>
<ES#Descriptor ES#ID="PI" binaryID="211" OCR#ES#ID="PIC">
...
<decConfigDescr>
<DecoderConfigDescriptor
streamType="3"
objectTypeIndication="5"
bufferSizeDB="50000">
<decSpecificInfo>
<ＡＦＸConfig>
<A3DMCDecoderSpecific></A3DMCDecoderSpecific    > 
</ＡＦＸConfig> 
</decSpecificInfo>
</DecoderConfigDescriptor> 
</decConfigDescr>
...
<StreamSource>
<BitWrapperEncodingHints>
<BitWrapper3DMCEncodingHints>
<sourceFormat>
<param value="opt-eight-npf-10-9-2-0.m3d"> </param    >
</sourceFormat>
<targetFormat></targetFormat>
</BitWrapper3DMCEncodingHints>
</BitWrapperEncodingHints> 
</StreamSource> 
</ES#Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</OD>
</ObjectDescriptorUpdate>
</Body>
【０１８７】
ビットラッパーノードで、３次元メッシュ情報とその媒介因子とを使用して圧縮するＸＭＴ表現の入力ファイルが入れば、ＸＭＴRefパーザ(Parser)でＸＭＴ−Ａスキーマとスタイルシート(ＸＭＴ２ＢＩＦＳとＸＭＴ２ＭＵＸ)ファイルとを参照し、ビットラッパーノード内での３次元メッシュ情報、圧縮媒介因子および場面情報を.sceneファイルに出力し、データをどのように伝送するか、または他のデータとどのように同期化させるかについての.muxファイルに出力する。
【０１８８】
-3DMC#npf#UrlWithEP.scene結果-
...
geometry BitWrapper [ 
node  IndexedFaceSet [ 
ccw  TRUE
coordIndex [ 0, 1, 2, -1, 3, 4, 5, -1, ... ]
normalPerVertex  TRUE
solid  TRUE
coord DEF  Box-COORD Coordinate [
point [012, 023, 401, 154, 512, 265, ...  ]
] 
normal   Normal [ 
vector [0.7859, -0.341, -0.5159,  0.3821, -0.801, 0.4651, ... ]
]
]
IndexedFaceSetEncodingParameter [
coordQBits  10
normalQBits 9
coordPredMode  2
normalPredMode  0
errorResilience  OFF
]
type 0
URL 12
]
UPDATE OD [
ObjectDescriptor [
objectDescriptorID 12
muxScript 3DMC#npf#URLWithEP.mux
]
]
- 3DMC#npf#URLWithEP.mux file -
...
ObjectDescriptor [
objectDescriptorID  12
esDescr [
ES#Descriptor [
ES#ID   211
decConfigDescr  DecoderConfigDescriptor
[
streamType      3
objectTypeIndication   5
bufferSizeDB    50000
decSpecificInfo ＡＦＸConfig
[
ＡＦＸext A3DMCDecoderSpecific [ ]
]
]
...
muxInfo MuxInfo[
fileName   "opt-eight-npf-10-9-2-0.m3d"
streamFormat 3DMC
]
]
]
【０１８９】
前記２つのファイルは、ＭＰＥＧ−４符号化器の入力ファイルに適していない。したがって、ＡＦＸ符号化器を経れば、次のようにＭＰＥＧ−４符号化器の入力ファイルに適した形に変換し、３次元メッシュ情報に関する符号化器で圧縮ビットストリームも生成する。
【０１９０】
-3DMC#npf#UrlWithEP#modified.scene結果-
...
geometry BitWrapper [ 
node  IndexedFaceSet [ 
coord Coordinate [  ] 
normal   Normal [ ]
]
type 0
url 12
]
UPDATE OD [
ObjectDescriptor [
objectDescriptorID 12
muxScript UrlWithEP#modified.mux
]
]
- 3DMC#npf#UrlWithEP#modified.mux ？？ -
...
ObjectDescriptor [
objectDescriptorID  12
esDescr [
ES#Descriptor [
ES#ID   211
decConfigDescr       DecoderConfigDescriptor
[
streamType       3
objectTypeIndication   5
bufferSizeDB     50000
decSpecificInfo  ＡＦＸConfig
[
ＡＦＸext      A3DMCDecoderSpecific [ ]
]
]
...
muxInfo MuxInfo[
fileName   "opt-eight-npf-10-9-2-0.m3d"
streamFormat 3DMC
]
]
]
【０１９１】
前記#modified.sceneファイルと#modified.muxファイルとは、ＭＰＥＧ−４符号化器の入力として使われ、ＢＩＦＳ符号化器を経て.ＢＩＦＳ/.odファイルを生成し、この.ＢＩＦＳ/.odビットストリームとmuxファイルとがＭＰ４符号化器に入力として入ってビットストリーム(ＭＰ４)ファイルを生成する。このＭＰ４ファイルは最終結果として次のようにＭＰＥＧ−４プレーヤーで視覚化される。
【０１９２】
(5) 客体データを媒介因子を使用してビットストリームに作ってbufferに伝送する場合とＵＲＬに伝送する場合。
図２に示すように、入力ＸＭＴファイルに明示されて入力として入れば、ＸＭＴパーザでＸＭＴ−Ａスキーマを参照し、スタイルシート(ＸＭＴ２ＢＩＦＳ、ＸＭＴ２ＭＵＸ)を使用してmuxファイルとsceneファイルとを生成し、前記muxファイルおよびsceneファイルはＡＦＸ符号化器を通じて圧縮ノード内のノードフィールドが含んでいる客体データが圧縮されていないと判断されれば、前記客体データは前記客体と相応する圧縮媒介因子を用いて圧縮され、そのビットストリームはbufferまたはＵＲＬに載せてＭＰ４符号化器に伝送される。また、ＡＦＸ符号化器でＢＩＦＳ符号化器とＭＰ４符号化器とに適した入力ファイル(修正されたsceneファイルと修正されたmuxファイル)を作る。ＢＩＦＳ符号化器は、場面情報と共にＡＦＸ符号化器を通じて圧縮された客体データに関するビットストリームが保存されるファイル名(bufferである場合)とＡＦＸ符号化器を通じて圧縮された客体データに関するビットストリームが保存されるファイル名を含むmuxファイルと連結される情報(ＵＲＬである場合)とを含むsceneファイルを入力として受けてsceneに対するビットストリーム(ＢＩＦＳ/od)に載せてＭＰ４符号化器に伝送する。ＭＰ４符号化器で、前記ＡＦＸ符号化器を通じて圧縮された客体データに関するビットストリームが保存されるファイル名を含むmuxファイルと圧縮されたビットストリームと前記ＢＩＦＳ符号化器の出力ビットストリームを入力として受けてmuxingしてＭＰ４ファイルを出力する。
【０１９３】
前記ＸＭＴ入力ファイルは、大きくヘッダ(header)およびボディー(body)よりなる。前記ヘッダは、初期客体記述子を含む。前記ボディーは、バッファフィールドを備える少なくとも１つの圧縮ノードと、ＵＲＬフィールドを備える少なくとも１つの圧縮ノードおよび前記ＵＲＬフィールドを備える圧縮ノード数と同数の客体記述子(objectDescriptor)を含む客体記述子更新(ObjectDescriptorUpdate)を備える。
【０１９４】
前記ヘッダの初期客体記述子(InitialObjectDescriptor)は、ＢＩＦＳ符号化器が出力として生成するファイル名を有するストリームソースを含み、ＢＩＦＳ符号化器から圧縮されるファイルの復号化時に必要な情報を備え、客体間のディスプレーされる時間順序を示す同期化情報を備える。前記ボディーでバッファフィールドを備える圧縮ノードは圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データ圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームファイル名を保存するバッファフィールドを備える。前記ボディーのＵＲＬフィールドを備える圧縮ノードは、圧縮するノード名を保存しているノードフィールド、前記ノードのノードフィールド内にある圧縮する客体データ、前記客体データの圧縮に使われる圧縮媒介因子、および圧縮媒介因子を使用して圧縮された客体データのビットストリームが保存されるファイル名を含むビットラッパーエンコーディングヒントを含む客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤが保存されたフィールドを備える。前記ボディーの客体記述子更新に含まれた客体記述子はボディーの圧縮ノードのＵＲＬ ＩＤと同じ値を有するバイナリ  ＩＤをフィールドとして備え、前記圧縮された客体データの復号化時に復号化に使われる情報(ＡＦＸConfig)、および圧縮された客体データのビットストリームが保存されたファイル名と前記ビットストリームの圧縮フォーマットの形式を含むビットラッパーエンコーディングヒントを備える。
【０１９５】
前記sceneファイルは前記ボディー(body)と同じ圧縮ノードおよびボディーの客体記述子更新内にある客体記述子のＵＲＬ ＩＤと同じＵＲＬ ＩＤを有し、ボディーの客体記述子更新内にある客体記述子のビットラッパーエンコーディングヒント内にあるビットストリームファイルを保存するmuxファイルを有する客体記述子を含む客体記述子更新を有し、前記muxファイルは前記ヘッダと同じ初期客体記述子および前記ボディーの客体記述子更新の客体記述子と同じ客体記述子を有する。
【０１９６】
この際、前記sceneファイルが圧縮されていないグラフィック客体データを含んでいるか否かを判断する。前記判断の結果、グラフィック客体データが圧縮されたものであれば、前記muxファイル内の情報にはＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器２７０が実行された結果.ＢＩＦＳ/.odが含まれる。そして、muxファイル内の情報と.ＢＩＦＳ/.odファイルがＭＰ４符号化器２８０の入力として入って最終結果ファイル(ＭＰ４)２９０が生成され、ＭＰＥＧ−４プレーヤーでその結果が見られる。
【０１９７】
前記判断の結果、グラフィック客体データが圧縮されていなければ、muxファイルとsceneファイルとはＡＦＸ符号化器に入力される。前記sceneファイルにある客体データは圧縮され、修正されたmuxファイルと修正されたsceneファイルとで生成される。
【０１９８】
前記客体データの圧縮は、次のようになされる。前記判断の結果、グラフィック客体データが圧縮されていないと判断されれば、sceneファイルの圧縮ノード内にある客体データと圧縮媒介因子とを保存する。前記保存された客体データを含んでいる圧縮ノードのノードフィールド内にグラフィック客体と相応する所定の符号化器に前記客体データと圧縮媒介因子とを引き渡す。前記圧縮媒介因子を使用して客体データを圧縮してビットストリームとして生成する。
【０１９９】
前記修正されたmuxファイル内の情報には、ＭＰＥＧ−４符号化器であるＢＩＦＳ符号化器が実行された結果である.ＢＩＦＳ/.odが含まれる。そして、修正されたmuxファイル内の情報と.ＢＩＦＳ/.odファイルとがＭＰ４符号化器の入力として入って最終結果ファイル(ＭＰ４)が生成され、ＭＰＥＧ−４プレーヤーでその結果が見られる。
【０２００】
（実施例５）
回転移動キーフレームアニメーションデータと位置移動キーフレームアニメーションデータとが含まれた３次元棒アニメーションデータである。このデータの回転移動キーフレームアニメーションデータと位置移動キーフレームアニメーションデータとが各々圧縮ノード(BitWrapper)に含まれている。したがって、圧縮ノード(BitWrapper)で原本のデータを各圧縮媒介因子を使用してビットストリームに作り、bufferに伝送する場合とＵＲＬを使用して伝送する場合とに関するＸＭＴ例題である。
【０２０１】
<Header>
<InitialObjectDescriptor objectDescriptorID="o1" binaryID="1" >
<Descr>
<esDescr>
<ES#Descriptor ES#ID="xyz" binaryID="201">
<decConfigDescr >
<DecoderConfigDescriptor 
streamType="1"
objectTypeIndication="2"
bufferSizeDB="10000000">
</DecoderConfigDescriptor>
</decConfigDescr>
<slConfigDescr>
<SLConfigDescriptor>
<custom  timeStampResolution="100"/>
</SLConfigDescriptor>
</slConfigDescr>
<StreamSource url=" MB-BufferURLWithEP7.od">
</StreamSource> 
</ES#Descriptor>
</esDescr>
<esDescr>
<ES#Descriptor ES#ID="xyz1" binaryID="301"> 
<decConfigDescr >
<DecoderConfigDescriptor
streamType="3"
objectTypeIndication="2"
bufferSizeDB="500000">
<decSpecificInfo>
<ＢＩＦＳv2Config     nodeIDbits="10"> 
<commandStream pixelMetric="true"></commandStream>
</ＢＩＦＳv2Config>
</decSpecificInfo> 
</DecoderConfigDescriptor>
</decConfigDescr>
<slConfigDescr>
<SLConfigDescriptor>
<custom  timeStampResolution="100"
timeStampLength="14" /> 
</SLConfigDescriptor>
</slConfigDescr>
<StreamSource url=" MB-BufferURLWithEP7.bif">
</StreamSource>
</ES#Descriptor> 
</esDescr>
</Descr>
</InitialObjectDescriptor>
</Header> 
<Body>
<BitWrapper     type="0"
buffer="Box01-POS-INTERP#14#16#0#bbb#keycoder#key#noquant#intra#1dpcm.aac">
<node>
<PositionInterpolator DEF="Box01-POS-INTERP"
key="0, 0.4301, 0.4409, 0.4516, 0.4624, 0.4731,"
keyValue="0.0008889 0.2705 0,.." />
</node>
<PositionInterpolatorEncodingParameter keyQBits="14" keyValueQBits="16    " />
</BitWrapper>
<BitWrapper type="0"  URL="12">                                             
<node>
<OrientationInterpolator   DEF="Box01-ROT-INTERP"
key="0, 0.01075, 0.02151, 0.03226, 0.04301,"
keyValue="1 0 0 0, 0.9692 0.2461 0.001842 -0.01544, "/>
</node>
<OrientationInterpolatorEncodingParameter     keyQBits="16" 
keyValueQBits="16"/>
</BitWrapper>
<ObjectDescriptorUpdate>
<OD>
<ObjectDescriptor objectDescriptorID="o2" binaryID="12">
<Descr>
<esDescr>
<ES#Descriptor ES#ID="PI" binaryID="211">
<decConfigDescr >
<DecoderConfigDescriptor
streamType="3"
objectTypeIndication="5"
bufferSizeDB="50000">
<decSpecificInfo>
<ＡＦＸConfig>
<OriInterpCompDecoderSpecific>
</OriInterpCompDecoderSpecific>
</ＡＦＸConfig> 
</decSpecificInfo>
</DecoderConfigDescriptor>
</decConfigDescr> 
<slConfigDescr>
<SLConfigDescriptor>
<custom  timeStampResolution="100" />
</SLConfigDescriptor> 
</slConfigDescr>
<StreamSource>
<BitWrapperEncodingHints> 
<BitWrapperICEncodingHints>
<sourceFormat>
<param value="Box01-ROT-INTERP#16#16#0#bbb#keycoder#k    ey#noquant#smart.aac" />
</sourceFormat> 
<targetFormat></targetFormat>
</BitWrapperICEncodingHints>
</BitWrapperEncodingHints> 
</StreamSource> 
</ES#Descriptor>
</esDescr>
</Descr>
</ObjectDescriptor>
</OD>
</ObjectDescriptorUpdate>                                                 
</Body>
【０２０２】
圧縮ノード(BitWrapper)で回転移動キーフレームアニメーションデータと位置移動キーフレームアニメーションデータとをその圧縮媒介因子を使用して、圧縮するＸＭＴ表現の入力ファイルが入れば、ＸＭＴParserでＸＭＴ−Ａスキーマとスタイルシート(ＸＭＴ２ＢＩＦＳとＸＭＴ２ＭＵＸ)ファイルとを参照し、圧縮ノード(BitWrapper)内にある原本データと圧縮媒介因子とを場面情報、bufferを使用した場合に対する圧縮ビットストリーム名、urlを使用した場合についての客体記述子更新に関する情報をsceneファイルに出力し、データをどのように伝送するか、または他のデータとどのように同期化させるかに関する情報、ＢＩＦＳ符号化器の出力ファイル名、ＵＲＬを使用した場合についての圧縮ビットストリーム名をmuxファイルに出力する。
【０２０３】
-MB-BufferUrlWithEP7.scene結果
BitWrapper [
node DEF  Box01-POS-INTERP PositionInterpolator [
key [0, 0.4301, 0.4409, 0.4516, 0.4624, 0.4731,   ]
keyValue [0.0008889 0.2705 0,   ]
]
PositionInterpolatorEncodingParameter [
keyQBits  14
keyValueQBits    16
] 
type 0
buffer "Box01-POS-
INTERP#14#16#0#bbb#keycoder#key#noquant#intra#1dpcm.aac"
]
BitWrapper [
node DEF  Box01-ROT-INTERP OrientationInterpolator [
key [   0, 0.01075, 0.02151, 0.03226, 0.04301,   ]
keyValue [ 1 0 0 0, 0.9692 0.2461 0.001842 -0.01544,   ]
] 
OrientationInterpolatorEncodingParameter [
keyQBits     16
keyValueQBits 16
]
type 0
url 12
]
UPDATE OD [
ObjectDescriptor [ 
objectDescriptorID 12
muxScript MB-BufferUrlWithEP7.mux
]
]
【０２０４】
-MB-BufferUrlWithEP7.mux 結果
InitialObjectDescriptor [
objectDescriptorID  1
esDescr [
ES#Descriptor [
ES#ID   201
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  2
streamType  1
bufferSizeDB  10000000
] 
slConfigDescr SLConfigDescriptor [
timeStampResolution  100
] 
muxInfo MuxInfo [
fileName   "MB-BufferUrlWithEP7.od"
streamFormat ＢＩＦＳ
]
]
]
esDescr [
ES#Descriptor [
ES#ID   301
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  2
streamType  3
bufferSizeDB  500000
decSpecificInfo ＢＩＦＳv2Config [
nodeIDbits  10
...
pixelMetric true
slConfigDescr SLConfigDescriptor [
timeStampResolution  100
timeStampLength  14
] 
muxInfo MuxInfo [
fileName "MB-BufferUrlWithEP7.bif"                                                                       streamFormat     ＢＩＦＳ
]
]
]
]
]
] 
ObjectDescriptor [
objectDescriptorID  12
esDescr [
ES#Descriptor [
ES#ID   211
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  5
streamType  3
bufferSizeDB  50000
decSpecificInfo ＡＦＸConfig [
ＡＦＸext OriInterpCompDecoderSpecific [     ]
]
] 
slConfigDescr SLConfigDescriptor [
timeStampResolution  100
] 
muxInfo MuxInfo [
fileName   "Box01-ROT-INTERP#16#16#0#bbb#keycod    er#key#noquant#smart.aac"
streamFormat InterpolatorCompression
]
]
]
]
【０２０５】
上記の２つのファイルは、ＭＰＥＧ−４符号化器の入力ファイルに適していない。したがって、ＡＦＸ符号化器を経れば、次のように、ＭＰＥＧ−４符号化器の入力ファイルに適した形に変換し、グラフィックデータに関する符号化器で圧縮ビットストリームも生成する。
【０２０６】
-MB-BufferUrlWithEP7#modified.scene結果
BitWrapper [
node DEF Box01-POS-INTERP PositionInterpolator [ ]
type 0
buffer "Box01-POS-
INTERP#14#16#0#bbb#keycoder#key#noquant#intra#1dpcm.aac"
]
BitWrapper [
node DEF Box01-ROT-INTERP OrientationInterpolator [ ]
type 0
url 12
]
UPDATE OD [
ObjectDescriptor    [
objectDescriptorID  12
muxScript     MB-BufferUrlWithEP7#modified.mux
]
]
-MB-BufferURLWithEP7#modified.mux 結果
InitialObjectDescriptor [
objectDescriptorID  1
esDescr [
ES#Descriptor [
ES#ID   201
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  2
streamType  1
bufferSizeDB  10000000
] 
slConfigDescr SLConfigDescriptor [
timeStampResolution  100
] 
muxInfo MuxInfo [
fileName   "MB-BufferUrlWithEP7#modified.od"
streamFormat ＢＩＦＳ
]
]
]
esDescr [
ES#Descriptor [
ES#ID   301
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  2
streamType  3
bufferSizeDB  500000
decSpecificInfo ＢＩＦＳv2Config [
nodeIDbits  10 
...
pixelMetric true
slConfigDescr SLConfigDescriptor [
timeStampResolution  100 
timeStampLength  14
] 
muxInfo MuxInfo [
fileName "MB-BufferUrlWithEP7#modified.bif"
streamFormat ＢＩＦＳ
]
]
] 
ObjectDescriptor [
objectDescriptorID  12
esDescr [
ES#Descriptor [
ES#ID   211
decConfigDescr DecoderConfigDescriptor [
objectTypeIndication  5
streamType  3
bufferSizeDB  50000
decSpecificInfo ＡＦＸConfig [
ＡＦＸext  OriInterpCompDecoderSpecific [ ] 
]
] 
slConfigDescr SLConfigDescriptor [
timeStampResolution  100
] 
muxInfo MuxInfo [
fileName
"Box01-ROT-INTERP#16#16#0#bbb#keycoder#key#noquant#smart.aac"
streamFormat InterpolatorCompression
]
]
]
]
【０２０７】
上記のような#modified.sceneファイルおよび#modified.muxファイルは、ＭＰＥＧ−４符号化器の入力として使われ、ＢＩＦＳ符号化器を経て.ＢＩＦＳ/.odファイルを生成し、この.ＢＩＦＳ/.odビットストリームとmuxファイルとがＭＰ４符号化器に入力として入ってビットストリーム([".]ＭＰ４["])ファイルを生成する。このＭＰ４ファイルは最終結果としてＭＰＥＧ−４プレーヤーで視覚化される。
【０２０８】
一方、前述したように本発明で使われるグラフィックデータは３次元グラフィックデータを中心に説明されたが、２次元グラフィックデータも本発明に適用できる。
【０２０９】
本発明は、コンピュータ読取り可能な記録媒体にコンピュータ(情報処理機能を有する装置を全て含む)読み取り可能なコードとして具体的に実現することができる。コンピュータ読取り可能な記録媒体は、コンピュータシステムによって読取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータ読取り可能な記録装置の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ保存装置などがある。
【０２１０】
本発明は、図面に示された実施形態に基づいて説明されたが、これらは例示的なものに過ぎず、当業者ならば、これらの実施形態から多様な変形および均等な他の実施形態が想到可能であることが容易に理解できるであろう。したがって、本発明の真の技術的保護範囲は、特許請求の範囲に記載された技術的思想によってのみ定められるべきである。
【産業上の利用可能性】
【０２１１】
本発明はコンピュータグラフィック分野に有用である。特に、著作段階で著作者が３次元グラフィックデータを圧縮できるので、低いネットワーク帯域幅でも３次元グラフィックデータのリアルタイム視覚化またはリアルタイムアニメーションを可能にする。そして、多様な３次元グラフィックデータを製作可能にする。
【図面の簡単な説明】
【０２１２】
【図１】テキスト構文(textualsyntax)でＭＰＥＧ−４ノードを使用してコンテンツの製作を可能にする著作フレームワークである。
【図２】ＭＰＥＧ−４ ＡＦＸで提案した圧縮表現をＸＭＴで定義して３次元グラフィックデータを圧縮可能にする３次元グラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成システムの構成を示すブロック図である。
【図３】圧縮判断部のさらに詳細な構成を示すブロック図である。
【図４】前記ＡＦＸ符号化器２６０のさらに細部の構成を示すブロック図である。
【図５】本発明によるグラフィックデータ圧縮に関するメタ表現を用いた入力ファイル生成方法を示すフローチャートである。
【図６】既に圧縮されたビットストリームをバッファに伝送する場合を説明する図である。
【図７】ビットラッパーノード内で既に圧縮された物体Aに関する３次元データのビットストリームをＵＲＬを使用して伝送する方法を示す図である。
【図８】物体Ａに関する３次元データを媒介因子を用いて圧縮して物体Ａの圧縮されたビットストリームをバッファを使用して伝送する方法を示す図である。
【図９】ビットラッパーノード内で物体Ａに関する３次元データを媒介因子を使用して圧縮して物体Ａの圧縮されたビットストリームをＵＲＬを使用して伝送する方法を示す図である。
【符号の説明】
【０２１３】
２００      ＸＭＴファイル
２１０      ＸＭＴパーザ
２２０      ＸＭＴ2MUXスタイルシート
２３０      ＸＭＴスキーマ
２４０      ＸＭＴ2ＢＩＦＳスタイルシート
２５０      圧縮判断部
２６０      ＡＦＸ符号化器
２７０      ＢＩＦＳ符号化器
２８０      ＭＰ４符号化器
２９０      ＭＰ４ファイル
【図１】
2005176355.tif 000004
【図２】
2005176355.tif 000005
【図３】
2005176355.tif 000006
【図４】
2005176355.tif 000007
【図５】
2005176355.tif 000008
【図６】
2005176355.tif 000009
【図７】
2005176355.tif 000010
【図８】
2005176355.tif 000011
【図９】
2005176355.tif 000012