(57)【要約】  ３Ｄ圧縮データの生成、復元方法及びその装置を提供する。本発明の３Ｄ圧縮データの生成方法は、３Ｄ圧縮データについての構成情報を生成するステップと、３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データを生成するステップと、個別３Ｄ圧縮データを多重化して３Ｄ圧縮データを生成し、３Ｄ圧縮データを３Ｄ圧縮データについての構成情報と合わせて出力するステップとを含む。
2008537830.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄ圧縮データについての構成情報を生成するステップと、
前記３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データを生成するステップと、
前記個別３Ｄ圧縮データを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記３Ｄ圧縮データについての構成情報と合わせて出力するステップと、を含むことを特徴とする３Ｄ圧縮データの生成方法。
【請求項２】
前記構成情報は、
前記３Ｄ圧縮データについてのプロファイル及びレベル識別情報を含むことを特徴とする請求項１に記載の３Ｄ圧縮データの生成方法。
【請求項３】
前記構成情報は、
前記３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含むことを特徴とする請求項２に記載の３Ｄ圧縮データの生成方法。
【請求項４】
前記ユーザーデータは、
前記３Ｄ圧縮データがグラフィックデータである場合、シーンに含まれたオブジェクトの構成をグラフで表現したシーングラフ情報であることを特徴とする請求項３に記載の３Ｄ圧縮データの生成方法。
【請求項５】
前記個別３Ｄ圧縮データは、
前記個別３Ｄ圧縮データについての個別構成情報を生成するステップと、
データタイプによって前記個別３Ｄ圧縮データを生成するステップと、
前記個別構成情報及び前記個別３Ｄ圧縮データを結合するステップと、を含んで生成されることを特徴とする請求項１に記載の３Ｄ圧縮データの生成方法。
【請求項６】
前記個別構成情報は、
前記データタイプの道具リストについてのバージョン番号及び前記データタイプを表す情報を含むデータタイプコードを含むことを特徴とする請求項５に記載の３Ｄ圧縮データの生成方法。
【請求項７】
前記個別構成情報は、
前記個別３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含むことを特徴とする請求項６に記載の３Ｄ圧縮データの生成方法。
【請求項８】
前記個別３Ｄ圧縮データは、
前記データタイプを表すデータタイプコードに該当するエンコーディング方式によって３Ｄデータがエンコーディングされて生成されることを特徴とする請求項５に記載の３Ｄ圧縮データの生成方法。
【請求項９】
前記データタイプコードは、
再同期化のための複数のビットをさらに含むことを特徴とする請求項８に記載の３Ｄ圧縮データの生成方法。
【請求項１０】
受信信号から３Ｄ圧縮データと前記３Ｄ圧縮データの構成情報とを分離するステップと、
前記３Ｄ圧縮データから複数の個別３Ｄ圧縮データ及び前記個別３Ｄ圧縮データについての個別構成情報をそれぞれ分離するステップと、
前記個別構成情報に含まれた３Ｄ圧縮データのデータタイプ情報を利用して該個別３Ｄ圧縮データをデコーディングするステップと、を含むことを特徴とする３Ｄ圧縮データの復元方法。
【請求項１１】
前記３Ｄ圧縮データについての構成情報は、
前記３Ｄ圧縮データについてのプロファイル及びレベル識別情報を含むことを特徴とする請求項１０に記載の３Ｄ圧縮データの復元方法。
【請求項１２】
前記３Ｄ圧縮データについての構成情報は、
前記３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含むことを特徴とする請求項１１に記載の３Ｄ圧縮データの復元方法。
【請求項１３】
前記個別３Ｄ圧縮データについての構成情報は、
前記個別３Ｄ圧縮データのデータタイプについての道具リストのバージョン番号及び前記データタイプ情報を含むコードを含むことを特徴とする請求項１０に記載の３Ｄ圧縮データの復元方法。
【請求項１４】
前記個別３Ｄ圧縮データの構成情報は、
前記個別３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含むことを特徴とする請求項１３に記載の３Ｄ圧縮データの復元方法。
【請求項１５】
前記データタイプを表すコードは、
再同期化のための複数のビットをさらに含むことを特徴とする請求項１３に記載の３Ｄ圧縮データの復元方法。
【請求項１６】
入力３Ｄデータを異なる方式でエンコーディングして、異なるタイプの個別３Ｄ圧縮データを生成する複数のエンコーダと、
３Ｄ圧縮データについての構成情報及び前記個別３Ｄ圧縮データについての個別構成情報を生成し、前記個別３Ｄ圧縮データを前記エンコーダから入力されて前記個別構成情報と前記個別３Ｄ圧縮データとをそれぞれ合わせ、合わせられたデータを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記構成情報と合わせて出力するマルチプレクサと、を備えることを特徴とする３Ｄ圧縮データ生成装置。
【請求項１７】
前記マルチプレクサは、前記構成情報を前記３Ｄ圧縮データについてのプロファイル及びレベル識別情報を含んで生成することを特徴とする請求項１６に記載の３Ｄ圧縮データ生成装置。
【請求項１８】
前記マルチプレクサは、前記構成情報に前記３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含んで生成することを特徴とする請求項１７に記載の３Ｄ圧縮データ生成装置。
【請求項１９】
前記マルチプレクサは、前記個別構成情報を前記個別３Ｄ圧縮データタイプの道具リストについてのバージョン番号及び前記個別３Ｄ圧縮データのタイプ情報を含むデータタイプコードを含んで生成することを特徴とする請求項１６に記載の３Ｄ圧縮データ生成装置。
【請求項２０】
前記マルチプレクサは、前記個別構成情報に前記個別３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含んで生成することを特徴とする請求項１９に記載の３Ｄ圧縮データ生成装置。
【請求項２１】
前記エンコーダは、前記データタイプコードに該当するエンコーディング方式によって前記入力３Ｄデータをエンコーディングして前記個別３Ｄ圧縮データを生成することを特徴とする請求項１６に記載の３Ｄ圧縮データ生成装置。
【請求項２２】
前記マルチプレクサは、再同期化のための複数のビットを前記データタイプコードにさらに含んで前記データタイプコードを生成することを特徴とする請求項１６に記載の３Ｄ圧縮データ生成装置。
【請求項２３】
前記マルチプレクサは、前記３Ｄ圧縮データについての構成情報に前記３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含んで生成することを特徴とする請求項１６に記載の３Ｄ圧縮データ生成装置。
【請求項２４】
受信信号から３Ｄ圧縮データ及び前記３Ｄ圧縮データについての構成情報を分離し、前記３Ｄ圧縮データから複数の個別３Ｄ圧縮データ及び前記個別３Ｄ圧縮データについての個別構成情報を分離し、前記構成情報に含まれて前記個別３Ｄ圧縮データのデータタイプ情報を含むデータタイプコードを分析するデマルチプレクサと、
前記各データタイプコードによって該個別３Ｄ圧縮データを復元して、３Ｄグラフィックデータを復元する複数のデコーダと、を備えることを特徴とする３Ｄ圧縮データ復元装置。
【請求項２５】
３Ｄ圧縮データについての構成情報を生成するステップと、
前記３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データを生成するステップと、
前記個別３Ｄ圧縮データを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記３Ｄ圧縮データについての構成情報と合わせて出力するステップと、を含む３Ｄ圧縮データの生成方法を実行できるプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項２６】
受信信号から３Ｄ圧縮データと前記３Ｄ圧縮データの構成情報とを分離するステップと、
前記３Ｄ圧縮データから複数の個別３Ｄ圧縮データ及び前記個別３Ｄ圧縮データについての個別構成情報をそれぞれ分離するステップと、
前記個別構成情報に含まれた３Ｄ圧縮データのデータタイプ情報を利用して該個別３Ｄ圧縮データをデコーディングするステップと、を含む３Ｄ圧縮データの復元方法を実行できるプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項２７】
３Ｄ圧縮データである３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅについての構成情報を生成するステップと、
前記３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データである３ＤＣＯｂｊｅｃｔを生成するステップと、
前記個別３Ｄ圧縮データを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記構成情報と合わせて出力するステップと、を含み、
前記各ステップは、次のようなコードで具現されることを特徴とする３Ｄ圧縮データの生成方法：
3DCObjectSequence(){
3dc_object_sequence_start_code
Profile_and_level_indication
do{
3DCObject()
}while(next_bits()!=3dc_object_sequence_end_code)
3dc_object_sequence_end_code
｝
ここで、3dc_object_sequence_start_codeは、前記３Ｄ圧縮データの開始を表すコード、Profile_and_level_indicationは、前記３Ｄ圧縮データのプロファイル及びレベル識別情報、3dc_object_sequence_end_codeは、前記３Ｄ圧縮データの終了を表すコードである。
【請求項２８】
前記構成情報は、
前記３Ｄ圧縮データのアプリケーションを定義したユーザーデータをさらに含み、前記ユーザーデータは、次のコードによって具現されることを特徴とする請求項２７に記載の３Ｄ圧縮データの生成方法：
while(next_bits()==user_data_start_code){
user_data()
｝
ここで、user_data_start_codeは、ユーザーデータの開始を表すコードである。
【請求項２９】
前記３ＤＣＯｂｊｅｃｔは、
前記３ＤＣＯｂｊｅｃｔについて個別構成情報を生成するステップと、
前記３ＤＣＯｂｊｅｃｔのデータタイプ情報を含むデータタイプコードである3dc_object_type_start_codeによって該３ＤＣＯｂｊｅｃｔを生成するステップと、を含み、
前記各ステップは、次のコードによって具現されることを特徴とする請求項２７に記載の３Ｄ圧縮データの生成方法：
3DCObject(){
3dc_object_start_code
is_3dc_object_identifier
3dc_object_verid
3dc_object_priority
}
3dc_object_type_start_code
if(3dc_object_type_start_code==“Simple_3DMC”{
3D_Mesh_Object()
}
else  if(3dc_object_type_start_code==“Simple_WSS”{
Wavelet_Mesh_Object()
}
else  if(3dc_object_type_start_code==“Simple_CI”{
CompressedCoordinateInterpolator()
}
else  if(3dc_object_type_start_code==“Simple_OI”{
CompressedOrientationInterpolatort()
}
else  if(3dc_object_type_start_code==“Simple_PI”{
CompressedPositionInterpolator()
}
else  if(3dc_object_type_start_code==“Simple_BBA”
{
bba_object()
}
ここで、3dc_object_start_codeは、前記３ＤＣＯｂｊｅｃｔの開始を表すコード、is_3dc_object_identifierは、前記３ＤＣＯｂｊｅｃｔの識別子、3dc_object_veridは、前記３ＤＣＯｂｊｅｃｔのバージョン識別、3dc_object_priorityは、前記３ＤＣＯｂｊｅｃｔの優先順位である。
【請求項３０】
前記個別構成情報は、
前記３ＤＣＯｂｊｅｃｔのアプリケーションを定義したユーザーデータをさらに含み、前記ユーザーデータは、次のコードによって具現されることを特徴とする請求項２９に記載の３Ｄ圧縮データの生成方法：
while(next_bits()==user_data_start_code){
user_data()
}
ここで、user_data_start_codeは、ユーザーデータの開始を表すコードである。
【請求項３１】
前記3dc_object_type_start_codeは、
再同期化のためのビットである‘0000  0000  0000  0000  0000  0001’及び前記データタイプを表す８ビットの‘Ａ６’ないし‘ＡＢ’の値のうち一つを含むことを特徴とする請求項２９に記載の３Ｄ圧縮データ生成方法。
【請求項３２】
３Ｄ圧縮データについての構成情報を生成するステップと、
前記３Ｄ圧縮データに含まれる個別３Ｄ圧縮オブジェクトについての個別構成情報及び前記個別構成情報に対応する個別３Ｄ圧縮オブジェクトを一つの組み合わせとして前記組み合わせを反復生成するステップと、
前記反復生成された組み合わせを多重化して一つのデータに構成し、前記データに前記構成情報を含むステップと、を含むことを特徴とする３Ｄ圧縮データの生成方法。
【請求項３３】
受信信号から３Ｄ圧縮データと前記３Ｄ圧縮データについての構成情報とを分離するステップと、
前記３Ｄ圧縮データから個別３Ｄ圧縮オブジェクト及び前記個別３Ｄ圧縮オブジェクトについての構成情報の組み合わせをそれぞれ分離し、各分離された組み合わせから前記個別３Ｄ圧縮オブジェクト及び前記個別３Ｄ圧縮オブジェクトについての構成情報を分離するステップと、
前記各個別３Ｄ圧縮オブジェクトについての構成情報に含まれた３Ｄ圧縮オブジェクトのタイプ情報を利用して、該個別３Ｄ圧縮オブジェクトをデコーディングして３Ｄデータを復元するステップと、を含むことを特徴とする３Ｄ圧縮データの復元方法。
【請求項３４】
個別３Ｄ圧縮オブジェクトを含む３Ｄ圧縮データを生成する方法において、
複数の３Ｄ圧縮オブジェクトを生成するステップと、
前記個別３Ｄ圧縮オブジェクトについての個別構成情報を生成するステップと、
前記個別３Ｄ圧縮オブジェクトと該個別構成情報とを多重化するステップと、を含むことを特徴とする３Ｄ圧縮データの生成方法。
【請求項３５】
受信信号から個別３Ｄ圧縮オブジェクトと該個別構成情報とを逆多重化するステップと、
前記個別構成情報に含まれたデータタイプ情報によって前記個別３Ｄ圧縮オブジェクトをデコーディングするステップと、を含むことを特徴とする３Ｄ圧縮データの復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄグラフィック圧縮データの生成、復元方法及びその装置に係り、特に移動環境で３Ｄグラフィック圧縮データを生成及び復元する方法及びその装置に関する。
【背景技術】
【０００２】
移動装置が進化するにつれて、移動環境では不可能または非実用的であると見なされた３Ｄゲーム、３Ｄアバターまたは３Ｄショッピングのようなサービスが可能になり、これによって、かかるサービスは、移動通信及びコンテンツ供給者のための新たなビジネスモデルと見なされている。
【０００３】
しかし、移動装置は、計算の複雑度及びパワー消費面で制限的であり、無線ネットワークは、帯域幅の制限を受ける。したがって、移動環境でかかる制限点を克服するための３Ｄグラフィックデータの表現及び圧縮方法が必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、パワー消費及び計算の複雑度が制限される移動環境で３Ｄグラフィックデータを稠密に表現し、無線ネットワークを通じて効率的に伝送するための３Ｄグラフィック圧縮データの生成、復元方法及びその装置を提供するところにある。
【課題を解決するための手段】
【０００５】
前記課題を解決するための本発明の３Ｄ圧縮データの生成方法は、３Ｄ圧縮データについての構成情報を生成するステップと、前記３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データを生成するステップと、前記個別３Ｄ圧縮データを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記３Ｄ圧縮データについての構成情報と合わせて出力するステップとを含むことを特徴とする。
【０００６】
前記課題を解決するための本発明の３Ｄ圧縮データの復元方法は、受信信号から３Ｄ圧縮データと前記３Ｄ圧縮データの構成情報とを分離するステップと、前記３Ｄ圧縮データから複数の個別３Ｄ圧縮データ及び前記個別３Ｄ圧縮データについての個別構成情報をそれぞれ分離するステップと、前記個別構成情報に含まれた３Ｄ圧縮データのデータタイプ情報を利用して該個別３Ｄ圧縮データをデコーディングするステップとを含むことを特徴とする。
【０００７】
前記課題を解決するための本発明の３Ｄ圧縮データ生成装置は、入力３Ｄデータを異なる方式でエンコーディングして異なるタイプの個別３Ｄ圧縮データを生成する複数のエンコーダと、３Ｄ圧縮データについての構成情報及び前記個別３Ｄ圧縮データについての個別構成情報を生成し、前記個別３Ｄ圧縮データを前記エンコーダから入力されて前記個別構成情報と前記個別３Ｄ圧縮データとをそれぞれ合わせ、合わせられたデータを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記構成情報と合わせて出力するマルチプレクサとを備えることを特徴とする。
【０００８】
前記課題を解決するための本発明の３Ｄ圧縮データ復元装置は、受信信号から３Ｄ圧縮データ及び前記３Ｄ圧縮データについての構成情報を分離し、前記３Ｄ圧縮データから複数の個別３Ｄ圧縮データ及び前記個別３Ｄ圧縮データについての個別構成情報を分離し、前記構成情報に含まれて前記個別３Ｄ圧縮データのデータタイプ情報を含むデータタイプコードを分析するデマルチプレクサと、前記各データタイプコードによって該個別３Ｄ圧縮データを復元して、３Ｄグラフィックデータを復元する複数のデコーダとを備えることを特徴とする。
【０００９】
前記課題を解決するための本発明の３Ｄグラフィック圧縮データの生成方法は、３Ｄ圧縮データである３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅについての構成情報を生成するステップと、前記３Ｄ圧縮データに含まれる複数の個別３Ｄ圧縮データである３ＤＣＯｂｊｅｃｔを生成するステップと、前記個別３Ｄ圧縮データを多重化して前記３Ｄ圧縮データを生成し、前記３Ｄ圧縮データを前記構成情報と合わせて出力するステップと、を含み、前記各ステップは、次のようなコードで具現されることを特徴とする。
3DCObjectSequence(){
3dc_object_sequence_start_code
Profile_and_level_indication
do{
3DCObject()
}while(next_bits()!=3dc_object_sequence_end_code)
3dc_object_sequence_end_code
}
ここで、3dc_object_sequence_start_codeは、前記３Ｄ圧縮データの開始を表すコード、Profile_and_level_indicationは、前記３Ｄ圧縮データのプロファイル及びレベル識別情報、3dc_object_sequence_end_codeは、前記３Ｄ圧縮データの終了を表すコードである。
【００１０】
前記課題を解決するための本発明の３Ｄ圧縮データの生成方法は、３Ｄ圧縮データについての構成情報を生成するステップと、前記３Ｄ圧縮データに含まれる個別３Ｄ圧縮オブジェクトについての個別構成情報及び前記個別構成情報に対応する個別３Ｄ圧縮オブジェクトを一つの組み合わせとして前記組み合わせを反復生成するステップと、前記反復生成された組み合わせを多重化して一つのデータに構成し、前記データに前記構成情報を含むステップとを含むことを特徴とする。
【００１１】
前記課題を解決するための本発明の３Ｄ圧縮データの復元方法は、受信信号から３Ｄ圧縮データと前記３Ｄ圧縮データについての構成情報とを分離するステップと、前記３Ｄ圧縮データから個別３Ｄ圧縮オブジェクト及び前記個別３Ｄ圧縮オブジェクトについての構成情報の組み合わせをそれぞれ分離し、各分離された組み合わせから前記個別３Ｄ圧縮オブジェクト及び前記個別３Ｄ圧縮オブジェクトについての構成情報を分離するステップと、前記各個別３Ｄ圧縮オブジェクトについての構成情報に含まれた３Ｄ圧縮オブジェクトのタイプ情報を利用して、該個別３Ｄ圧縮オブジェクトをデコーディングして３Ｄデータを復元するステップとを含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、パワー消費及び計算の複雑度が制限された移動環境でＭＰＥＧ−４システムがなくても３Ｄグラフィックデータを圧縮して無線ネットワークを通じて効率的に伝送できる。
【発明を実施するための最良の形態】
【００１３】
以下、添付された図面を参照して本発明を詳細に説明する。
【００１４】
図１は、３Ｄグラフィックシステムについての概略的な構成図である。３Ｄグラフィックは、３Ｄゲーム、３Ｄ  ＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）または３Ｄアバターのような移動型３Ｄアプリケーションをいう。
【００１５】
図１に示したシステムは、３Ｄグラフィック著作装置１０及び３Ｄグラフィック運用装置１１を備える。
【００１６】
３Ｄグラフィック著作装置１０は、著作道具１０１、アプリケーション具現部１０２及びＡＦＸ（Ａｎｉｍａｔｉｏｎ  Ｆｒａｎｅｗｏｒｋ  ｅＸｔｅｎｓｉｏｎ）エンコーダ１０３を備える。
【００１７】
著作道具１０１は、３Ｄ資源を生成する。３Ｄ資源としては、３Ｄメッシュ、キーフレームシーケンスまたは骨情報などを含む。
【００１８】
アプリケーション具現部１０２は、資料構造に保存された内容をユーザー入力によって画面に表すシーングラフ情報、ユーザーとの対話、シーン管理、グラフィックライブラリーであるＯｐｅｎ  ＧＬ、応用プログラムインターフェースとしてＧＦＸまたはＤｉｒｅｃｔＸなどを出力する。
【００１９】
ＡＦＸエンコーダ１０３は、著作道具１０１から出力される３Ｄ資源またはアプリケーション具現部１０２から出力される情報の一部を圧縮して伝送する。
【００２０】
３Ｄグラフィック運用装置１１は、アプリケーション実行部１１１及びＡＦＸデコーダ１１２を備える。
【００２１】
アプリケーション実行部１１１は、アプリケーション具現部１０２から出力された情報を直接受信して実行するか、またはＡＦＸデコーダ１１２で圧縮が復元された３Ｄ資源を実行する。
【００２２】
図２は、本発明によるＡＦＸエンコーダ１０３及びＡＦＸデコーダ１０２についての詳細ブロック図である。
【００２３】
ＡＦＸエンコーダ１０３は、複数のエンコーダ２１及びマルチプレクサ２２を備える。ＡＦＸデコーダ１１２は、デマルチプレクサ２３及び複数のデコーダ２４を備える。
【００２４】
複数のエンコーダ２１は、入力される各３Ｄデータを圧縮し、マルチプレクサ２２は、圧縮されたビットストリームを一つの圧縮データストリームに多重化する。エンコーダ２１は、オブジェクトのタイプによって３Ｄ入力データに対して３ＤＭＣ（３Ｄ  Ｍｅｓｈ  Ｃｏｄｉｎｇ）、ＩＣ（Ｉｎｔｅｒｐｏｌａｔｏｒ  ｃｏｄｉｎｇ）、ＷＳＳ（Ｗａｖｅｌｅｔ  Ｓｕｂｄｉｖｉｓｉｏｎ  Ｓｕｒｆａｃｅ）またはＢＢＡ（Ｂｏｎｅ−Ｂａｓｅｄ  Ａｎｉｍａｔｉｏｎ）のようなエンコーディングを行う。
【００２５】
デマルチプレクサ２３は、圧縮データストリームをそれぞれ分離し、複数のデコーダ２４は、圧縮されたデータを元来に復元する。
【００２６】
図３は、ＭＰＥＧ−４システムを基盤とするＭＰＥＧ−４プロファイルによる圧縮データの構造を示す図である。図３に示すように、ＩＳＯ／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）１４４９６−１のシステムパート規格によって、ＭＰＥＧ−４システム（図示せず）は、アクセスユニットＡＵからなるエレメンタリーストリーム３１に音声または映像のようなメディアオブジェクト、及びエレメンタリーストリームの特性を記述するオブジェクトデスクリプタ３２を挿入する。構成情報３３は、オブジェクトデスクリプタ３２に挿入されて伝送される。
【００２７】
ＩＳＯ／ＩＥＣ  １４４９６−１のシステムパート規格は、マルチメディアデータをファイルや記録媒体に保存するか、またはネットワークで伝送するために映像と音声それぞれを別途にエンコーディングし、エンコーディングされたデータを多重化して同期化するためのものである。かかる多重化方式を規定することがシステムである。システムにより多重化される以前の映像または音声バイナリーデータをエレメンタリーストリームという。
【００２８】
ＭＰＥＧ−４は、動画と音声との多重化にオブジェクトエンコーディングという概念を使用する。ＭＰＥＧ−４で、音声及び映像データは、各一つのオブジェクトとして扱われ、かかるオブジェクトを多重化及び同期化することがシステムの役割である。
【００２９】
ＭＰＥＧ−４では、複数個のオブジェクトを組み合わせて扱うためのシーン記述のための仕様としてＢＩＦＳ（ＢＩｎａｒｙ  Ｆｏｒｍａｔ  ｆｏｒ  Ｓｃｅｎｅｓ）が規定されている。例えば、人物や背景の動画及び音声をそれぞれ別個のオブジェクトとしてエンコーディングして、それぞれのオブジェクトを重ねて表示するか、またはユーザーが任意のオブジェクトを動かすアプリケーションを生成できる。
【００３０】
しかし、モバイル環境で最も基本的な道具のみを使用してアプリケーションをダウンロードして保存する場合、図３に示したようなプロファイルは、ＢＩＦＳ構造を有するＭＰＥＧ−４システムと強く結合される。すなわち、ＭＰＥＧ−４  ＡＦＸ道具によりエンコーディングされたビットストリームをデコーディングするためには、ＭＰＥＧ−４システムが具現されねばならないので、ハードウェアの負担が大きくて非効率的である。
【００３１】
したがって、本実施形態では、ＭＰＥＧ−４システムが不要な３Ｄ圧縮プロファイルを採択する。本実施形態の３Ｄ圧縮データには、構成情報、すなわちオブジェクトのヘッダ情報がビットストリームの開始部分及びその以後に選択的に反復して挿入される。
【００３２】
図４は、本実施形態による３Ｄ圧縮データストリーム構造を示す図である。図４に示すように、エレメンタリーシステムは、複数のアクセスユニットで構成されたオブジェクトと、該オブジェクトについての構成情報Ｃｆｇとを含む。
【００３３】
それを図２に示したエンコーダ２１を参照するに、図４に示したデータ構造は、各エンコーダ２１が該オブジェクトタイプによって３Ｄデータをエンコーディングして出力したオブジェクトに、マルチプレクサ２２がオブジェクトについての構成情報を挿入して多重化することによって生成される。ここで、オブジェクトタイプは、ＭＰＥＧ−４標準で提案された３ＤＭＣ、ＩＣ、ＣＩ（Ｃｏｏｒｄｉｎａｔｅ  Ｉｎｔｅｒｐｏｌａｔｏｒ）、ＯＩ（Ｏｒｉｅｎｔａｔｉｏｎ  Ｉｎｔｅｒｐｏｌａｔｏｒ）、ＷＳＳ、ＰＩ（Ｐｏｓｉｔｉｏｎ  Ｉｎｔｅｒｐｏｌａｔｏｒ）、ＢＢＡなどを含む。
【００３４】
図５は、図２のマルチプレクサ２２により多重化されたビットストリームの構造を示す図である。図５に示したビットストリームは、３Ｄ圧縮オブジェクトシーケンス（３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅ）であって、３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅは、３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅヘッダ５１及び３ＤＣＯｂｊｅｃｔ５２を含む。３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅヘッダ５１は、マルチプレクサ２２により生成され、このビットストリームについてのプロファイル及びレベルの識別子を含む。また、３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅヘッダ５１は、特定のアプリケーションのためにユーザーにより定義されるユーザーデータ、例えば該ビットストリームについてのシーングラフ情報を含む。これを、図６Ａ及び図６Ｂを参照して説明すれば、次の通りである。
【００３５】
図６Ａは、シーンの一例を示す図であり、図６Ｂは、シーンに含まれたオブジェクトの構成をグラフで表現した図である。
【００３６】
図６Ａに示すように、シーンは、ワールド座標６１で定義されたオブジェクト１，２，３を含み、オブジェクト３は、３−１，３−２及び３−３のような細部的なオブジェクトを含む。シーンのオブジェクトは、例えば建物１、木２、椅子３のようなものである。また、椅子３は、椅子３に置かれた球３−１、椅子の脚３−１，３−２のような細部的なオブジェクトを含む。
【００３７】
図６Ａに示したシーンを図６Ｂのようなグラフ情報で表現できる。図６Ｂに示すように、ワールド座標６１に参照番号１，２及び３のようなオブジェクトが存在し、再び参照番号３は、３−１，３−２及び３−３のような細部的なオブジェクトを含む。
【００３８】
図６Ａ及び図６Ｂに示したシーングラフ情報は、図５に示した３ＤＣＯｂｊｅｃｔＳｅｑｕｅｎｃｅヘッダ５１にユーザーデータとして含まれる。例えば、ワールド座標６１に連結されたオブジェクト１，２，３は、ユーザーデータにシーンを構成するオブジェクトとして建物、木、椅子などが含まれ、椅子を構成する細部的なオブジェクトとして球３−１、椅子の脚３−２，３−３が含まれる。
【００３９】
３Ｄ圧縮オブジェクト（３ＤＣＯｂｊｅｃｔ）５２は、複数の３ＤＣＯｂｊｅｃｔヘッダ５２１及び個別３ＤＣＯｂｊｅｃｔ５２２を含む。ここで、３ＤＣＯｂｊｅｃｔ５２２は、エンコーダ２１によりエンコーディングされる３ＤＭＣ  Ｓｉｍｐｌｅ＿３ＤＭＣ、ＩＣ（図示せず）、ＢＢＡ  Ｓｉｍｐｌｅ＿ＢＢＡ、ＷＳＳ（図示せず）及びＰＩ  Ｓｉｍｐｌｅ＿ＰＩのような３Ｄ圧縮ビットストリームである。
【００４０】
３ＤＣＯｂｊｅｃｔヘッダ５２１は、マルチプレクサ２２により生成されるものであって、３Ｄ圧縮オブジェクトタイプの道具リストについてのバージョン番号を表す“3dc_object_verid”及び再同期化に使われ、いかなるオブジェクトタイプの３Ｄ圧縮ストリームが伝送され、それに対応するデコーダが何かを表す“3dc_object_type_start_code”を含む。例えば、“3dc_object_type_start_code”が“Ｓｉｍｐｌｅ＿３ＤＭＣ”であれば、デマルチプレクサ２３は、それを分析してデコーダ２４のうち３ＤＭＣデコーダに３Ｄ圧縮ストリームを出力し、３ＤＭＣデコーダは、該３Ｄ圧縮ストリームをデコーディングする。さらに多くのオブジェクトタイプと対応デコーダを定義する場合、新たなオブジェクトタイプ及び該“3dc_object_type_start_code”を定義して拡張できる。
【００４１】
３ＤＣＯｂｊｅｃｔヘッダ５２１は、３Ｄ圧縮オブジェクトに対する特定のアプリケーションのためにユーザーが定義したユーザーデータをさらに含む。例えば、図６Ａ及び図６Ｂにおいて、建物は３ＤＣＯｂｊｅｃｔヘッダ１に、木は３ＤＣＯｂｊｅｃｔヘッダ２に、椅子は３ＤＣＯｂｊｅｃｔヘッダ３にそれぞれ含まれる。
【００４２】
マルチプレクサ２２により行われる３Ｄ圧縮オブジェクトシーケンスの生成過程は、次のコードで表現される。
【００４３】
3DCObjectSequence(){
3dc_object_sequence_start_code
Profile_and_level_indication
while(next_bits()==user_data_start_code){
user_data()
}
do{
3DCObject()
}while(next_bits()!=3dc_object_sequence_end_code)
3dc_object_sequence_end_code
}
ここで、3dc_object_sequence_start_codeは、１６進数であって、‘０００００１Ａ０’のビットストリングを有し、３Ｄ圧縮セッションを始める。連想記号は、ｂｓｌｂｆである。連想記号は、コーディングされたビットストリームに使われるデータタイプを記述するものであって、ｂｓｌｂｆは、ｂｉｔ  ｓｔｒｉｎｇ，ｌｅｆｔ  ｂｉｔ  ｆｉｒｓｔを意味する。
【００４４】
Profile_and_level_indicationは、８ビット整数であって、プロファイル及びレベル識別を表すのに使われ、各ビット値は、次の表のような意味を有する。
【００４５】
【表１】
2008537830.tif 000003
連想記号はｕｉｍｓｂｆである。ｕｉｍｓｂｆは、ｕｎｓｉｇｎｅｄ  ｉｎｔｅｇｅｒ，ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ  ｆｉｒｓｔを意味する。
3dc_object_sequence_end_codeは、１６進数であって、‘０００００１Ａ１’のビットストリングであり、３Ｄ圧縮セッションを終了する。連想記号はｂｓｌｂｆである。
【００４６】
３Ｄ圧縮オブジェクトシーケンスの生成は、３Ｄ圧縮セッションが始まれば、所定のプロファイル及びレベルによって次のビットがuser_data_start_codeである間にユーザーデータを生成し、次のビットが3dc_object_sequence_end_codeではない間に３ＤＣＯｂｊｅｃｔを生成する。
【００４７】
３Ｄ圧縮オブジェクトの生成過程は、次の通りである。
【００４８】
3DCObject(){
3dc_object_start_code
is_3dc_object_identifier
3dc_object_verid
3dc_object_priority
while(next_bits()==user_data_start_code){
user_data()
}
3dc_object_type_start_code
if(3dc_object_type_start_code==“Simple_3DMC”{
3D_Mesh_Object()
}
else  if(3dc_object_type_start_code==“Simple_WSS”{
Wavelet_Mesh_Object()
}
else  if(3dc_object_type_start_code==“Simple_CI”{
CompressedCoordinateInterpolator()
}
else  if(3dc_object_type_start_code==“Simple_OI”{
CompressedOrientationInterpolatort()
}
else  if(3dc_object_type_start_code==“Simple_PI”{
CompressedPositionInterpolator()
}
else  if(3dc_object_type_start_code==“Simple_BBA”
{
bba_object()
}
（さらに多くのオブジェクトタイプ及びそれに対応するデコーダが定義される。）
if(next_bits()!=“000  0000  0000  0000  0000  0001”
next_start_code()
}
ここで、3dc_object_start_codeは、１６進数の‘０００００１Ａ２’であり、３Ｄ圧縮オブジェクトを始める。連想記号はｂｓｌｂｆである。
【００４９】
is_3dc_object_identifierは、１ビットコードであって、３Ｄ圧縮オブジェクトについてのバージョン識別及び優先順位を規定する場合に‘１’に設定される。連想記号はｕｉｍｓｂｆである。
【００５０】
3dc_object_veridは、４ビットコードであって、３Ｄ圧縮オブジェクトのバージョン番号を表す。ビット値についての意味は、次の表の通りである。このフィールドが存在しなければ、3dc_object_veridは‘０００１’である。連想記号はｕｉｍｓｂｆである。
【００５１】
【表２】
2008537830.tif 000004
次の表３は、各オブジェクトタイプに含まれた道具リストを表す。現在のオブジェクトタイプを新たな道具または機能が導入されるまで拡張しうる。
【００５２】
【表３】
2008537830.tif 000005
3dc_object_priorityは、３ビットコードであって、３Ｄ圧縮オブジェクトの優先順位を規定する。１ないし７の値を有し、１は最も高い優先順位を表し、７が最も低い優先順位を表す。０は予約された値である。連想記号はｕｉｍｓｂｆである。
【００５３】
3dc_object_type_start_codeは、３２ビットのビットストリングであって、最初の２４ビットは、再同期化のためのビットであって、‘0000  0000  0000  0000  0000  0001’の値を有する。最後の８ビットは、‘Ａ６’ないし‘ＡＢ’の値のうち一つであって、次の表４に定義されたオブジェクトタイプを表す。連想記号はｂｓｌｂｆである。
【００５４】
‘3dc_object_type_start_code’の最後の８ビットによって該デコーダが呼び出され、圧縮されたストリームがデコーディングされる。表３でさらに多くのオブジェクトタイプが定義されたとすれば、その追加されたオブジェクトタイプは表４に反映される。
【００５５】
【表４】
2008537830.tif 000006
３Ｄオブジェクトの生成は、セッションが始まれば、３Ｄ圧縮オブジェクトについてのバージョン及び優先順位によって次のビットがuser_data_start_codeである間にユーザーデータを生成する。次いで、該３Ｄオブジェクトタイプによるオブジェクトを生成する。
【００５６】
ユーザーデータの生成過程は、次の通りである。
【００５７】
user_data(){
user_data_start_code
while(next_bits()!=“000  0000  0000  0000  0000  0001”){
user_data
}
}
user_data_start_codeは、１６進数の‘０００００１Ａ４’のビットストリングを有し、ユーザーデータの開始を表す。ユーザーデータは、他の開始コードを受信するまで生成され続ける。連想記号はｂｓｌｂｆである。
【００５８】
user_dataは、８ビットの整数であって、特定のアプリケーションのためにユーザーにより定義される。user_dataバイトが連続される場合、２３個またはそれ以上の連続的な‘０’ビットストリングは許容されない。
【００５９】
3D_Mesh_Object()またはWavelet_Mesh_Object（）は、３Ｄメッシュ圧縮またはｗａｖｅｌｅｔ  ｓｕｂｄｉｖｉｓｉｏｎ  ｓｕｒｆａｃｅのように各データタイプによる圧縮データを生成する関数である。
【００６０】
本発明は、また、コンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（リード  オンリ  メモリ）、ＲＡＭ（ランダム  アクセス  メモリ）、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウェーブ、例えばインターネットを通じた伝送の形態で具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行されうる。
【００６１】
以上のように、図面と明細書で最適の実施形態が開示された。ここで、特定の用語が使われたが、これは単に、本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者であれば、これから多様な変形及び均等な他の実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の技術的な保護範囲は、特許請求の範囲の技術的思想により決まらねばならない。
【図面の簡単な説明】
【００６２】
【図１】３Ｄグラフィックシステムについての概略的な構成図である。
【図２】本発明によるＡＦＸエンコーダ及びＡＦＸデコーダについての詳細ブロック図である。
【図３】ＭＰＥＧ−４システムを基盤とするＭＰＥＧ−４プロファイルによる圧縮データの構造を示す図である。
【図４】本発明の実施形態による３Ｄ圧縮データストリーム構造を示す図である。
【図５】図２のマルチプレクサにより多重化されたビットストリームの構造を示す図である。
【図６Ａ】シーンの一例を示す図である。
【図６Ｂ】シーンに含まれたオブジェクトの構成をグラフで表現した図である。
【図１】
2008537830.tif 000007
【図２】
2008537830.tif 000008
【図３】
2008537830.tif 000009
【図４】
2008537830.tif 000010
【図５】
2008537830.tif 000011
【図６Ａ】
2008537830.tif 000012
【図６Ｂ】
2008537830.tif 000013
【国際調査報告】
2008537830.tif 000014
2008537830.tif 000015