(57)【要約】【課題】ボクセルの有無を示す構造情報をコンテクスト情報に基づき符号化するが、ボクセルの属性値についてはコンテクスト情報を用いずに符号化する行う方式よりも、ボクセルデータ全体の符号化効率を向上させる。【解決手段】コンテクスト生成部１０４は、符号化対象の注目構造要素の周囲の所定の複数の格子位置のボクセルの有無を示すコンテクスト情報を生成する。コンテクストベース符号化部１１０は、注目構造要素の構造情報を、コンテクスト情報に対応する構造用の符号表を用いて符号化すると共に、注目構造要素内の各ボクセルの色予測結果を、そのコンテクスト情報に対応する色用の符号表を用いて符号化する。【選択図】図１
2019165280.tif 000002
【特許請求の範囲】
【請求項１】
空間内の格子位置に配置されたボクセルの集まりで立体を表現したボクセルデータから、各格子位置でのボクセルの有無を示す構造情報と、前記各ボクセルの属性値からなる属性情報と、を抽出する抽出手段と、
１以上の格子位置からなる構造要素についての前記構造情報に対応する構造符号を、前記構造要素の周囲の所定の１以上の格子位置でのボクセルの有無を表す第１コンテクスト情報に応じて決定することで、前記構造情報を符号化する構造符号化手段と、
注目ボクセルの前記属性値を、当該注目ボクセルの周囲の所定の１以上の格子位置でのボクセルの有無を表す第２コンテクスト情報を用いて属性符号へと符号化する属性符号化手段と、
を含む符号化装置。
【請求項２】
前記構造情報の符号化のための構造用符号表を前記第１コンテクスト情報の値ごとに有し、
前記構造符号化手段は、前記構造要素についての前記構造情報に対応する前記構造符号を、前記構造要素についての前記第１コンテクスト情報の値に対応する前記構造用符号表を用いて決定する、請求項１に記載の符号化装置。
【請求項３】
前記構造符号化手段は、互いに隣り合う複数の格子位置の組を前記構造要素とし、前記構造要素に含まれる各格子位置におけるボクセルの有無の組合せを示す前記構造情報を、前記構造要素の三次元的に周囲にある所定の複数の格子位置におけるボクセルの有無を表す前記第１コンテクスト情報を用いて符号化する、請求項１又は２に記載の符号化装置。
【請求項４】
前記属性情報の符号化のための属性用符号表を前記第２コンテクスト情報の値ごとに有し、
前記属性符号化手段は、前記注目ボクセルに対応する前記属性値を、前記注目ボクセルの周囲のボクセルの属性値に基づいて予測符号化することで前記属性符号を生成し、前記予測符号化における符号表として前記注目ボクセルに対応する前記第２コンテクスト情報の値に対応する前記属性用符号表を用いる、請求項１〜３記載の符号化装置。
【請求項５】
前記構造情報にボクセルがないことが示されている格子位置については、前記属性符号化手段は、前記予測符号化により決定される前記属性符号を出力しない、請求項３に記載の符号化装置。
【請求項６】
前記属性符号化手段は、前記第２コンテクスト情報として、前記注目ボクセルがある前記格子位置が含まれる前記構造要素に対応する前記第１コンテクスト情報を用いる、請求項１〜５のいずれか１項に記載の符号化装置。
【請求項７】
コンピュータを、
空間内の格子位置に配置されたボクセルの集まりで立体を表現したボクセルデータから、各格子位置でのボクセルの有無を示す構造情報と、前記各ボクセルの属性値からなる属性情報と、を抽出する抽出手段、
１以上の格子位置からなる構造要素についての前記構造情報に対応する構造符号を、前記構造要素の周囲の所定の１以上の格子位置でのボクセルの有無を表す第１コンテクスト情報に応じて決定することで、前記構造情報を符号化する構造符号化手段、
注目ボクセルの前記属性値を、当該注目ボクセルの周囲の所定の１以上の格子位置でのボクセルの有無を表す第２コンテクスト情報を用いて属性符号へと符号化する属性符号化手段、
として機能させるためのプログラム。
【請求項８】
請求項１に係る符号化装置で生成された前記構造符号及び前記属性符号を入力する手段と、
前記構造符号を、前記構造符号に対応する前記構造要素の周囲の前記所定の１以上の格子位置における既に復号済みのボクセルの有無の組合せである前記第１コンテクスト情報を用いて復号する構造復号手段と、
前記属性符号を、前記属性符号に対応するボクセルの周囲の所定の１以上の格子位置での復号済みのボクセルの有無を表す第２コンテクスト情報を用いて復号する属性復号手段と、
復号された前記構造情報と前記各ボクセルの属性値とから前記ボクセルデータを復元する手段と、
を含む復号装置。
【請求項９】
コンピュータを、
請求項１に係る符号化装置で生成された前記構造符号及び前記属性符号を入力する手段、
前記構造符号を、前記構造符号に対応する前記構造要素の周囲の前記所定の１以上の格子位置における既に復号済みのボクセルの有無の組合せである前記第１コンテクスト情報を用いて復号する構造復号手段、
前記属性符号を、前記属性符号に対応するボクセルの周囲の所定の１以上の格子位置での復号済みのボクセルの有無を表す第２コンテクスト情報を用いて復号する属性復号手段、
復号された前記構造情報と前記各ボクセルの属性値とから前記ボクセルデータを復元する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、復号装置及びプログラムに関する。
【背景技術】
【０００２】
３Ｄプリンタ（立体印刷機）等の立体造形装置が普及しつつある。３Ｄプリンタ用のデータ形式としては、例えばＳＴＬ（Standard Triangulated Language）形式や３ＤＳ形式のように、立体形状をポリゴンのメッシュ表現で記述する形式が広く用いられている。
【０００３】
また、出願人等は、３Ｄプリンタで造形する立体のモデルをボクセル表現で記述する「ＦＡＶ」というデータ形式を提案している（非特許文献１）。ＦＡＶ形式は、ボクセルに色、材質、他のボクセルとのリンク強度等の様々な属性を持たせることで、立体形状以外の様々な特性を表現することができる。
【０００４】
２次元のフルカラー画像のビットマップ表現のデータ量が膨大なものとなることから類推できるように、立体を表現するボクセル形式のデータ（ボクセルデータと呼ぶ）は、特に色等の多様な属性をボクセルに持たせた場合、非常に膨大なデータ量となる。ボクセルデータのデータ量を削減できる符号化方法が求められる。
【０００５】
２次元画像のデータ量を削減する符号化方法として、特許文献１及び２に開示されるものがある。これらの方法は、注目画素の値をその周辺の画素の値から予測する予測符号化の手法を利用し、周辺の各画素に対応してそれぞれ予測器を設け、注目画素の値を正しく予測した予測器の識別情報に基づいて符号化を行う。
【０００６】
ＣＴ（コンピュータ断層撮影）等により形成される３次元ボクセルデータと異なり、造形対象の立体を表現するボクセルデータには、スパース（疎ら）性という特徴がある。すなわち、造形対象の立体は、一般にその立体の形状を規定する３次元空間内の一部を占めるに過ぎず、その３次元空間を区切った正規格子の個々の格子位置には、ボクセル（立体の一部）が存在する位置と、存在しない位置とがある。したがって、画素が稠密に配列されている二次元画像に適用される符号化方式を単に流用しても、高い符号化効率が期待できない。
【０００７】
特許文献３には、ボクセルデータを含む３次元体積データの符号化方法が開示される。この符号化方法は、ポイントテクスチャデータと、ボクセルデータと、オクトツリーデータとのうちの少なくとも一つを含んで構成される３次元体積データを、中間ノードに所定のラベルが付与された適応オクトツリーデータに変換する段階と、適応オクトツリーのノードを符号化する段階と、適応オクトツリーのノードを符号化する段階における符号化により得られるデータからビットストリームを生成する段階とからなる。この文献の００７２段落には、ボリュームを段階的に等分割していったノードのうち、Ｐノードについては、深さ情報と色情報とを別々に符号化すること、深さ情報については注目ボクセルの同一層内、及び直下の層の隣接ボクセルの値の組合せをコンテクストとして用い、予測符号化の一種であるＰＰＭ符号化を行うこと、が示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第２８８８１８６号明細書
【特許文献２】特許第３８８５４１３号明細書
【特許文献３】特開２００５−２３５２１０号公報
【非特許文献】
【０００９】
【非特許文献１】高橋智也、藤井雅彦、"世界最高水準の表現力を実現する次世代3Dプリント用データフォーマット「FAV（ファブ）」"、［online］、富士ゼロックステクニカルレポート、No.26、2017、［平成30年1月26日検索］、インターネット〈URL：https://www.fujixerox.co.jp/company/technical/tr/2017/pdf/s_07.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、ボクセルの有無を示す構造情報をコンテクスト情報に基づき符号化するが、ボクセルの属性値についてはコンテクスト情報を用いずに符号化する行う方式よりも、ボクセルデータ全体の符号化効率を向上させることを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、空間内の格子位置に配置されたボクセルの集まりで立体を表現したボクセルデータから、各格子位置でのボクセルの有無を示す構造情報と、前記各ボクセルの属性値からなる属性情報と、を抽出する抽出手段と、１以上の格子位置からなる構造要素についての前記構造情報に対応する構造符号を、前記構造要素の周囲の所定の１以上の格子位置でのボクセルの有無を表す第１コンテクスト情報に応じて決定することで、前記構造情報を符号化する構造符号化手段と、注目ボクセルの前記属性値を、当該注目ボクセルの周囲の所定の１以上の格子位置でのボクセルの有無を表す第２コンテクスト情報を用いて属性符号へと符号化する属性符号化手段と、を含む符号化装置である。
【００１２】
請求項２に係る発明は、前記構造情報の符号化のための構造用符号表を前記第１コンテクスト情報の値ごとに有し、前記構造符号化手段は、前記構造要素についての前記構造情報に対応する前記構造符号を、前記構造要素についての前記第１コンテクスト情報の値に対応する前記構造用符号表を用いて決定する、請求項１に記載の符号化装置である。
【００１３】
請求項３に係る発明は、前記構造符号化手段は、互いに隣り合う複数の格子位置の組を前記構造要素とし、前記構造要素に含まれる各格子位置におけるボクセルの有無の組合せを示す前記構造情報を、前記構造要素の三次元的に周囲にある所定の複数の格子位置におけるボクセルの有無を表す前記第１コンテクスト情報を用いて符号化する、請求項１又は２に記載の符号化装置である。
【００１４】
請求項４に係る発明は、前記属性情報の符号化のための属性用符号表を前記第２コンテクスト情報の値ごとに有し、前記属性符号化手段は、前記注目ボクセルに対応する前記属性値を、前記注目ボクセルの周囲のボクセルの属性値に基づいて予測符号化することで前記属性符号を生成し、前記予測符号化における符号表として前記注目ボクセルに対応する前記第２コンテクスト情報の値に対応する前記属性用符号表を用いる、請求項１〜３記載の符号化装置である。
【００１５】
請求項５に係る発明は、前記構造情報にボクセルがないことが示されている格子位置については、前記属性符号化手段は、前記予測符号化により決定される前記属性符号を出力しない、請求項３に記載の符号化装置である。
【００１６】
請求項６に係る発明は、前記属性符号化手段は、前記第２コンテクスト情報として、前記注目ボクセルがある前記格子位置が含まれる前記構造要素に対応する前記第１コンテクスト情報を用いる、請求項１〜５のいずれか１項に記載の符号化装置である。
【００１７】
請求項７に係る発明は、コンピュータを、空間内の格子位置に配置されたボクセルの集まりで立体を表現したボクセルデータから、各格子位置でのボクセルの有無を示す構造情報と、前記各ボクセルの属性値からなる属性情報と、を抽出する抽出手段、１以上の格子位置からなる構造要素についての前記構造情報に対応する構造符号を、前記構造要素の周囲の所定の１以上の格子位置でのボクセルの有無を表す第１コンテクスト情報に応じて決定することで、前記構造情報を符号化する構造符号化手段、注目ボクセルの前記属性値を、当該注目ボクセルの周囲の所定の１以上の格子位置でのボクセルの有無を表す第２コンテクスト情報を用いて属性符号へと符号化する属性符号化手段、として機能させるためのプログラムである。
【００１８】
請求項８に係る発明は、請求項１に係る符号化装置で生成された前記構造符号及び前記属性符号を入力する手段と、前記構造符号を、前記構造符号に対応する前記構造要素の周囲の前記所定の１以上の格子位置における既に復号済みのボクセルの有無の組合せである前記第１コンテクスト情報を用いて復号する構造復号手段と、
【００１９】
前記属性符号を、前記属性符号に対応するボクセルの周囲の所定の１以上の格子位置での復号済みのボクセルの有無を表す第２コンテクスト情報を用いて復号する属性復号手段と、復号された前記構造情報と前記各ボクセルの属性値とから前記ボクセルデータを復元する手段と、を含む復号装置である。
【００２０】
請求項９に係る発明は、コンピュータを、請求項１に係る符号化装置で生成された前記構造符号及び前記属性符号を入力する手段、前記構造符号を、前記構造符号に対応する前記構造要素の周囲の前記所定の１以上の格子位置における既に復号済みのボクセルの有無の組合せである前記第１コンテクスト情報を用いて復号する構造復号手段、前記属性符号を、前記属性符号に対応するボクセルの周囲の所定の１以上の格子位置での復号済みのボクセルの有無を表す第２コンテクスト情報を用いて復号する属性復号手段、復号された前記構造情報と前記各ボクセルの属性値とから前記ボクセルデータを復元する手段、として機能させるためのプログラムである。
【発明の効果】
【００２１】
請求項１又は７に係る発明によれば、ボクセルの有無を示す構造情報をコンテクスト情報に基づき符号化するが、ボクセルの属性値についてはコンテクスト情報を用いずに符号化する行う方式よりも、ボクセルデータ全体の符号化効率を向上させることができる。
【００２２】
請求項２に係る発明によれば、構造情報を第１コンテクスト情報に応じて符号化することができる。
【００２３】
請求項３に係る発明によれば、構造情報を格子位置ごとに符号化する方式よりも、符号化効率を向上させることができる。
【００２４】
請求項４に係る発明によれば、属性情報を第２コンテクスト情報に応じて符号化することができる。
【００２５】
請求項５に係る発明によれば、ボクセルがない格子位置についての属性符号を出力する方式よりも、符号化効率を向上させることができる。
【００２６】
請求項６に係る発明によれば、構造情報と属性情報の符号化に異なるコンテクスト情報を用いる方式と比べて、符号化の為に必要な構成を簡潔にすることができる。
【００２７】
請求項８又は９に係る発明によれば、請求項１に係る発明に係る符号化装置により生成された符号を復号することができる。
【図面の簡単な説明】
【００２８】
【図１】符号化装置の機能構成を例示する図である。
【図２】複数の格子位置からなる構造要素と、それに対応するコンテクスト情報を構成する格子位置群の例を示す図である。
【図３】注目ボクセルの色予測に用いる隣接ボクセル群を例示する図である。
【図４】構造要素の符号化の仕組みを説明するための図である。
【図５】色予測結果の符号化の仕組みを説明するための図である。
【図６】復号装置の機能構成を例示する図である。
【発明を実施するための形態】
【００２９】
図１を参照して、本発明に掛かる符号化装置の一実施形態を説明する。
【００３０】
図１に示す符号化装置１００は、構造情報生成部１０２、コンテクスト生成部１０４、色予測部１０６、色情報生成部１０８、コンテクストベース符号化部１１０、色情報符号化部１１２を含む。
【００３１】
この装置にはボクセルデータ１０が入力される。ボクセルデータ１０は、例えば三次元造形装置において造形する立体を、ボクセルの集まりによって規定するデータである。ボクセルは、立体の構成単位となる要素であり、その立体の形状を内包する三次元空間をｘ，ｙ，ｚの各座標軸に平行な等間隔の直線で格子状に区切ることでできる賽の目状の個々の小空間に収容される。この小空間のことを、以下では格子位置又はセルと呼ぶ。小空間は立方体形状であり、典型的な例ではボクセルはその小空間全体を占める立方体形状の要素であるが、ボクセルの形状はこれに限定されない。個々のボクセルは、色、材質、隣接ボクセルとの関係性の強さ（例えば接合の強度を表す）等の、１以上の属性を持つ。空間内の格子位置の中には、立体を構成するボクセルが有る格子位置と、そのようなボクセルが無い格子位置とがある。ボクセルデータ１０には、個々の格子位置ごとに、その格子位置におけるボクセルの有無を示す情報と、ボクセルが有る格子位置についてはそのボクセルが持つ１以上の属性の値を示す情報と、が含まれる。非特許文献１に示されるＦＡＶ形式は、このようなボクセルデータ１０を表現可能なデータ形式の一例である。
【００３２】
構造情報生成部１０２は、入力されたボクセルデータ１０から、三次元空間の各格子位置（セル）におけるボクセルの有無を示す構造情報を抽出する。構造情報は、各格子位置におけるボクセルの有無を示す値（１つの格子位置当たり１ビットで表現できる）を、格子位置の所定の配列順序に従って並べたデータである。なお、ボクセルデータ１０がＦＡＶ形式の場合、ボクセルデータ１０は、各格子位置におけるボクセルの有無を示す「voxel_map」という名前のデータを含んでいるので、構造情報生成部１０２は、ボクセルデータ１０からその「voxel_map」を抽出すればよい。
【００３３】
コンテクスト生成部１０４は、コンテクストベース符号化部１１０が符号化に用いるコンテクスト情報を生成する。コンテクスト情報は、注目する格子位置（その格子位置にボクセルがない場合もあるが、便宜上「注目ボクセル」と呼ぶ）に対して、三次元的に周囲にある所定の１以上の格子位置におけるボクセルの有無の組である。
【００３４】
例えば、図２に示す例では、ボクセルデータ１０の注目レイヤ内で２×２の行列状に互いに隣接する４つのボクセルを注目ボクセルとし、注目レイヤ内でその注目ボクセル群に隣接する４つの参照格子位置（便宜上、「参照ボクセル」と呼ぶ）と、４つの注目ボクセルの直下の４つの参照ボクセルと、からなる８個の参照ボクセルにおけるボクセルの有無の組合せをコンテクスト情報とする。ここでは、同一レイヤ（すなわちｚ座標が同じ格子位置群からなる層）内では、ｘ方向を主走査方向、ｙ方向を副走査方向とするジグザグ走査で符号化（及び復号）を進めると共に、１レイヤの符号化（復号）が終わるとｚ方向に次のレイヤの符号化（及び復号）に進む。現在符号化（又は復号）が進行しているレイヤが注目レイヤであり、注目レイヤ内で現在符号化（又は復号）の対象となっている格子位置の組が注目する構造要素（すなわち図示した４つの注目ボクセルの組）である。一つの例では、注目レイヤ内の参照ボクセルは、注目する構造要素に対して、主走査方向及び副走査方向に関して手前側（すなわち符号化又は復号の際には当該参照ボクセルの値が既知）に隣接する格子位置である。また、直下レイヤは、符号化又は復号が進むｚ方向を上向きと見たときに、注目レイヤの１つ手前のレイヤである。
【００３５】
この例は、構造情報については、図示のように隣接する４つの注目ボクセルの組を１つの構造要素とし、構造要素単位で符号化を行う。すなわち、注目レイヤ内の構造情報の符号化では、２×２の４ボクセルごとに符号を決定する。構造要素内の４つの注目ボクセルには、例えば図示のような順序が規定されている。ある構造要素についての構造情報は、その構造要素に含まれる各注目ボクセルの格子位置におけるボクセルの有無を示す値（例えば０、１を表す１ビットの値で表現）を、その順序に従って並べてできる値である。同様に、参照ボクセルについても、例えば図示のような順序が規定されている。コンテクスト情報は、それら各参照ボクセルの格子位置におけるボクセルの有無を示す値を、その順序に従って並べた値である。
【００３６】
色予測部１０６は、ボクセルデータ１０内の注目ボクセルの色を、その注目ボクセルに隣接するボクセルの色から予測する。色予測部１０６は、複数の予測器（図示省略）を含んでおり、それら複数の予測器がそれぞれ異なる方法を用いて、注目ボクセルの色の予測値を求める。ここでいう「異なる方法」には、予測器が予測に用いる１つ又は複数の隣接ボクセルが異なる場合や、１つ又は複数の隣接ボクセルの色から注目ボクセルの色を予測する場合の予測式が異なる場合が含まれる。色予測部１０６は、内包する複数の予測器のそれぞれが求めた予測値の中に、注目ボクセルの色と一致するものがあれば、その一致する予測値を求めた予測器を特定する情報を後段の処理部（例えばコンテクストベース符号化部１１０）に出力する。それら複数の予測器には順位が付けられており、注目ボクセルの色と一致する予測を行った予測器が複数ある場合には、そのうちで最も順位の高い胃遅く器を特定する情報が後段に出力される。また、色予測部１０６は、それら複数の予測器の中に注目ボクセルの色と一致する予測値を求めたものがなかった場合には、「予測はずれ」を示す所定の値を後段の処理部に出力する。なお、予測器の順位付けを、例えばボクセルデータの符号化を進める過程で予測が当たる頻度が高い予測器の順位を上げていくなどの方法で動的に変更してもよい。
【００３７】
図３に示す例では、注目レイヤ内の注目ボクセルＸの直下の格子位置をＡ、注目レイヤ内で注目ボクセルＸからみて主走査方向及び副走査方向のそれぞれについて直前の格子位置をＢ及びＣとしている。色予測部１０６は、例えば、格子位置Ａのボクセルの色を注目ボクセルＸの色の予測値（「注目ボクセルＸの色の予測値」を以下では単に「予測値」と呼ぶ）として出力する第１予測器、格子位置Ｂの色を予測値として出力する第２予測器、格子位置Ｃの色を予測値として出力する第３予測器を含んでいる。これら第１〜第３予測器はあくまで一例に過ぎない。この代わりに、例えば、格子位置ＡとＢの色の平均を予測値として出力する予測器、格子位置ＡとＣの色の平均を予測値として出力する予測器、格子位置ＢとＣの色の平均を予測値として出力する予測器、のように、予測のために複数の格子位置の色を参照する予測器を用いてもよい。また、予測の際に参照する注目ボクセルの隣接格子位置としては、図３に例示した注目ボクセルの面に対して隣接する格子位置（立方体のセル）だけでなく、注目ボクセルの辺に対して隣接する格子位置（図３の例でいえば、破線で示した格子位置Ｄ）、又は注目ボクセルの立方体の頂点に対して隣接する格子位置（図３の例でいえば格子位置Ｄの直下の格子位置）を用いてもよい。
【００３８】
なお、予測器は、参照する格子位置にボクセルが存在しない場合には、予め定めた色（例えば白色又は黒色）をその格子位置の色として、予測を行う。
【００３９】
色情報生成部１０８は、色予測部１０６内の複数の予測器の予測がすべて外れた場合（すなわちそれら複数の予測器の中に、注目ボクセルの色と一致する色を算出したものがなかった場合）に、所定の参照格子位置（例えば図３の例でのＡ）の色と注目ボクセルの色との差分（すなわち予測誤差）を示す色情報を計算する。
【００４０】
コンテクストベース符号化部１１０は、構造情報生成部１０２が生成した構造情報と、色予測部１０６が求めた予測結果（すなわち予測が当たった予測器、又は予測はずれを示す値）とをそれぞれ、コンテクスト生成部１０４が生成したコンテクスト情報を用いて符号化する。コンテクストベース符号化部１１０が行う符号化処理については、後で詳しい例を説明する。
【００４１】
色情報符号化部１１２は、色情報生成部１０８が生成した色情報を符号化することで、色情報符号を生成する。この符号化に用いる符号化手法には特に限定はなく、従来知られている方法、又は今後開発される方法のうちのいずれを用いてもよい。
【００４２】
次に、図４を参照して、コンテクストベース符号化部１１０が行う構造情報の符号化処理の例を説明する。この例は、図２に例示した注目ボクセル及び参照ボクセルを用いる場合のものである。
【００４３】
この例では、コンテクストベース符号化部１１０は、コンテクスト情報の値ごとに、その値に対応する符号表を有している。図２の例では、コンテクスト情報は、８つの参照ボクセルの位置（格子位置）におけるボクセルの有無を示す８ビットの値なので、符号表は２の８乗（すなわち２５６）個用意される（図示の符号表＃０〜＃２５５）。個々の符号表には、符号化の対象である注目構造要素の構造情報（図中「注目構造情報」と表記）の値ごとに、その値に対応する符号語が登録されている。図２の例では、注目構造要素は、４つの注目ボクセルであり、注目構造情報はそれら４つの注目ボクセルの位置におけるボクセルの有無を示す４ビットの値である。これらコンテクスト情報ごとの符号表は、符号化対象となるボクセルデータ１０を一度走査し、そのボクセルデータ１０内の構造要素の構造情報とコンテクスト情報との組合せの出現頻度を求め、その出現頻度の情報に基づいて、当該ボクセルデータに最適化されたものとして生成してもよい。また、過去の数多くのボクセルデータの例から求められたコンテクスト情報ごとの符号表の組をコンテクストベース符号化部１１０に登録しておき、これらを符号化に用いてもよい。
【００４４】
コンテクストベース符号化部１１０は、構造情報生成部１０２が生成した構造情報から注目構造要素の値（注目構造情報）を読み出し、その注目構造要素に対応するコンテクスト情報をコンテクスト生成部１０４から取得する。そして、コンテクストベース符号化部１１０は、そのコンテクスト情報に対応する符号表において、その注目構造情報に対応する符号語を、その注目構造情報の符号化結果である構造符号として出力する。
【００４５】
次に、図５を参照して、コンテクストベース符号化部１１０が行う色予測部１０６の予測結果の符号化処理の例を説明する。この例では、図２に例示した注目構造要素に対応する参照ボクセル群から構成されるコンテクスト情報を用いる。また、この例では、色予測部１０６は、図３に示す参照格子位置Ａ、Ｂ、Ｃの色を注目ボクセルＸの予測値とする３つの予測器１〜３を有しており、それら予測器１〜３のうち注目ボクセルＸの色を正しく予測した予測器があればその予測器の識別情報を、そのような予測器がなければ予測ハズレを示す所定値を予測結果として出力するものとする。予測器の順位付けは、例えば予測器１（Ａ）が最高順位、予測器２（Ｂ）が次位、予測器３（Ｃ）が最下位となっている。
【００４６】
この例では、コンテクストベース符号化部１１０は、図２に例示したコンテクスト情報の値ごとに、その値に対応する合計２５６個の符号表＃０〜＃２５５を有している。個々の符号表には、色予測部１０６の予測結果の値ごとに、その値に対応する符号語が登録されている。例えば、符号表＃０を用いる場合、色予測部１０６の予測結果が「予測器１」であれば、その予測結果は、対応する符号語である１ビットの値「０」に変換される。これらコンテクスト情報ごとの符号表は、符号化対象となるボクセルデータ１０を一度走査し、そのボクセルデータ１０内の各ボクセルについての色の予測結果とコンテクスト情報との組合せの出現頻度を求め、その出現頻度の情報に基づいて、当該ボクセルデータに最適化されたものとして生成してもよい。また、過去の数多くのボクセルデータの例から求められたコンテクスト情報ごとの符号表の組をコンテクストベース符号化部１１０に登録しておき、これらを符号化に用いてもよい。
【００４７】
コンテクストベース符号化部１１０は、色の予測結果の符号化処理において、注目ボクセルが属する構造要素に対応するコンテクスト情報をコンテクスト生成部１０４から取得する。そして、そのコンテクスト情報に対応する符号表の中から、注目ボクセルについての色の予測結果に対応する符号語をその注目ボクセルの色予測符号として出力する。
【００４８】
構造情報と色予測結果の符号化を一体としてとらえた場合、コンテクストベース符号化部１１０が行う処理は以下のようになる。
【００４９】
まず、コンテクストベース符号化部１１０は、構造情報生成部１０２が生成した構造情報の中から４ボクセルからなる注目構造要素の構造情報（注目構造情報）を取り出すごとに、その注目構造要素に対応する参照ボクセル群が示すコンテクスト情報をコンテクスト生成部１０４から取得する。コンテクストベース符号化部１１０は、そのコンテクスト情報に対応する構造情報用の符号表を用いて、注目構造情報を符号化する。これと並行して、コンテクストベース符号化部１１０は、その注目構造要素に含まれる各注目ボクセルの予測結果を色予測部１０６から取得し、注目ボクセルごとに、その注目ボクセルの予測結果を、そのコンテクスト情報に対応する色予測結果用の符号表を用いて符号化する。したがって、この例では、コンテクストベース符号化部１１０は、１つの構造符号に対応づけて、４つの色予測符号を出力する。４つの色予測符号は、図２に例示した注目ボクセルの順序に従って出力される。
【００５０】
またこの処理と連動して、色情報生成部１０８は、色予測部１０６が予測値「予測はずれ」を出力したボクセルについては、そのボクセルの色の予測誤差を示す色情報を生成する。そして、この色情報を色情報符号化部１１２が符号化して色情報符号を生成する。
【００５１】
したがって、コンテクストベース符号化部１１０は、１つの構造符号を出力する間に４つの色予測符号を出力し、それら４つの色予測符号の中に「予測はずれ」が１以上あれば、その「予測はずれ」に対応する各ボクセルについての色情報符号が出力されることになる。コンテクストベース符号化部１１０と色情報符号化部１１２の後段に、それらの出力を構造要素単位で合成する合成部を設けたとすると、その合成部の出力データの内容は例えば以下のようなものとなる。
【００５２】
［構造１］［色予測１１（あたり）］［色予測１２（あたり）］［色予測１３（はずれ）］［色情報１３］［色予測１４（はずれ）］［色情報１４］［構造２］［色予測２１（あたり）］［色予測２２（あたり）］［色予測２３（あたり）］［色予測１４（あたり）］［構造３］・・・・
【００５３】
この出力データの表記において［構造１］等は構造符号を、［色予測１１（あたり）］等は色予測符号を、［色情報１３］等は色情報符号を示す。
【００５４】
合成部を設けない場合、コンテクストベース符号化部１１０と色情報符号化部１１２から構造符号、色予測符号、色情報符号がそれぞれ並列に出力されることになる。この場合でも、例えば復号時等では、構造符号の並び順（すなわち出力順）、色予測符号の並び順、及び色情報符号の並び順から、構造符号と色予測符号と色情報符号との対応付けを行うことができる。
【００５５】
コンテクストベース符号化部１１０と色情報符号化部１１２の出力データ、あるいはそれら出力データを合成部にて構造要素単位で合成したデータは、例えばストリームとして、あるいはファイルに書き出され、復号側に伝達される。なお、符号化対象のボクセルデータ１０に最適化した符号表のセット（構造情報用及び色予測結果用）を生成した場合、そのセットも復号側に伝達される。
【００５６】
符号化装置１００により得られた符号化結果（構造符号、色予測符号及び色情報符号の組）の復号は、概略的にいえば、上述した符号化の手順を逆向きに実行すればよい。この復号の処理を実行する復号装置２００の例を、図６を参照して説明する。
【００５７】
復号装置２００は、ボクセル生成部２０２、コンテクスト生成部２０４、色予測部２０６、色値生成部２０８、コンテクストベース復号部２１０、及び色情報復号部２１２を有する。
【００５８】
色情報復号部２１２は、符号化結果のデータのうち色情報符号を受け取り、その色情報符号を、色情報の符号化の逆の処理により、色情報（予測誤差）へと変換する。
【００５９】
色値生成部２０８は、色情報復号部２１２が復号した色情報（予測誤差）を、既に復号済みの所定の参照格子位置の色値に加算することで、その色情報に対応するボクセルの色値を生成する。
【００６０】
コンテクストベース復号部２１０は、符号化結果のデータのうち構造符号と色予測符号を、それぞれ構造情報及び色予測結果へと復号する。この復号では、既に得られている格子位置の復号結果（ボクセルの有無や色値）からコンテクスト生成部２０４がコンテクスト情報を求め、そのコンテクスト情報に対応する符号表から、復号対象の符号が示す情報を読み出す。すなわち、ある構造符号を復号する場合、コンテクストベース復号部２１０は、構造符号用の符号表のうち、その構造符号に対応する構造要素についてのコンテクスト情報に対応する符号表（図２参照）を特定し、その構造符号に対応する注目構造情報の値をその符号表から読み出し、これを復号結果としてボクセル生成部２０２に出力する。また、その構造要素に属する各ボクセルの色予測符号を復号する場合には、そのコンテクスト情報に対応する色予測情報用の符号表（図３参照）を特定し、その色予測符号に対応する予測結果をその符号表から読み出し、これを復号結果として色予測部２０６に出力する。
【００６１】
色予測部２０６は、符号化装置１００の色予測部１０６と同じ複数の予測器を有する。これら各予測器は、色予測部１０６内の予測器と同様、注目ボクセルに隣接するボクセルの色から、その注目ボクセルの色を予測する。予測に際して参照する隣接ボクセルの色は、既に復号済みである。色予測部２０６は、それら複数の予測器のうち、コンテクストベース復号部２１０が色予測符号から復号した色予測結果が示す予測器の予測値を選択し、その予測値をボクセル生成部２０２に出力する。色予測結果の値が「予測はずれ」以外である場合、その予測値は色値を示す。また、色予測結果の値が「予測はずれ」である場合は、対応する予測器は存在しない。この場合、色予測部２０６は、色値生成部２０８が色情報から生成した色値を取得し、その色値をボクセル生成部２０２に出力する。
【００６２】
ボクセル生成部２０２は、コンテクストベース復号部２１０から入力された構造情報を用いてボクセルを生成する。すなわち、その構造情報中で「ボクセル有り」の格子位置にはボクセルを生成し、「ボクセル無し」の格子位置にはボクセルを生成しない。また、ボクセル生成部２０２は、生成したボクセルに対して、色予測部２０６から入力される色値を対応付けていく。これにより、色値を持ったボクセル群が復元される。
【００６３】
コンテクスト生成部２０４は、以上の処理で復元されたボクセル群からコンテクスト情報を生成する。生成したコンテクスト情報は、コンテクストベース復号部２１０の復号処理に用いられる。
【００６４】
以上、本発明に係る符号化装置１００及び復号装置２００の一実施形態について説明した。上記実施形態では、構造情報だけでなく色情報もコンテクスト情報を用いて符号化するので、構造情報のみをコンテクストベースで符号化するよりも、符号化効率（圧縮率）の向上が見込まれる。三次元造形用のボクセルデータにおいて、各格子位置におけるボクセルの有無（すなわちその格子位置が造形対象の立体の一部なのかその立体の外部なのか）は、周囲の格子位置のボクセルの有無に影響を受ける。造形対象の立体は材料が連続的に蓄積されることで造形されるからである。同様に、格子位置にあるボクセルの色も、同様に周囲の格子位置のボクセルの有無に何らかの影響を受ける。例えば、三次元造形で生成する立体の色は、例えば、立体の表面近傍のボクセルにのみ色づけすれば足りる場合が多く、立体内部の奥深い位置のボクセルは色づけ不要の場合が多い。したがって、ボクセルの色は、そのボクセルの周囲のボクセルの色の傾向だけでなく、周囲の各格子位置でのボクセルの有無の影響も受ける。このようなことから、色の符号化にコンテクスト情報を利用することで、コンテクスト情報を利用しない場合よりも符号化効率の向上が期待される。
【００６５】
また、上記実施形態では、構造情報の符号化を複数のボクセルからなる構造要素を単位として行うので、ボクセル単位で符号化する場合よりも、符号化効率が向上する。
【００６６】
以上に説明した実施形態はあくまで一例に過ぎず、本発明の範囲内で様々な変形や改良が可能である。
【００６７】
例えば、ボクセルが色以外の属性を持つ場合、その色以外の属性についても、色の場合と同様、コンテクスト情報を利用した符号化が適用可能である。ボクセルが持ち得る色以外の属性としては、例えば、材質情報、周囲のボクセルとの関係の強さを示すリンク情報等がある。材質情報は、当該ボクセルを造形する際に用いる材料の種類を示す識別情報である。リンク情報は、例えば、当該ボクセルと、これに隣接する隣接ボクセルとの関係の強さを示す値を、所定の隣接ボクセルの並び順に配列して構成される数値である。ここで、リンク情報に含める隣接ボクセルの範囲としては、６近傍（面で隣接）、１８近傍（辺で隣接）、２６近傍（頂点で隣接）のいずれを用いてもよい。６近傍を用いる場合、ボクセルの例えば上、下、右、左、手前、奥の順に隣接ボクセルの並び順が規定されているとすると、当該ボクセルと上の隣接ボクセルとの関係の強さの値、下のボクセルとの関係の強さの値、・・・奥のボクセルとの関係の強さの値、をこの順に並べてマージして１つの数値が、当該ボクセルのリンク情報である。リンク情報が示す個々の隣接ボクセルとの関係の強さは、例えば、当該ボクセルとその隣接ボクセルとの接合強度を表す情報として利用できる。符号化装置１００は、色の符号化を行う部分（すなわち色予測部１０６や色情報生成部１０８、色情報符号化部１１２、コンテクストベース符号化部１１０内の色予測結果の符号化処理を担う部分）に代えて、又はこれに加えて、それと同様の符号化処理を材質又はリンク強度等の他の属性について行う機構を備えていてもよい。
【００６８】
また、上記実施形態では、ボクセルの色（あるいは他の属性）の符号化に用いるコンテクスト情報として、そのボクセルが属する構造要素（図２の例では注目レイヤ内の２×２の隣接４ボクセル）の構造情報の符号化に用いられるコンテクスト情報（図２参照）を流用したが、これは一例に過ぎない。ボクセルの色又は他の属性の符号化のために用いるコンテクスト情報を、構造情報の符号化用のコンテクスト情報とは別に生成し、用いてもよい。この場合のコンテクスト情報は、例えば、属性の符号化の対象となるボクセルの周囲の所定の各格子位置のボクセルの有無を所定の順序で並べたものとすればよい。
【００６９】
なお、このように構造情報の符号化と属性情報の符号化とでそれぞれ独立にコンテクスト情報を生成する場合には、コンテクスト情報の生成機構が複数必要になるが、上記実施形態ではコンテクスト情報の生成機構が１つで済む。
【００７０】
また、図２に示した構造要素（２×２ボクセル）やコンテクスト情報を構成する隣接ボクセル群（図示の８つのボクセル）の取り方はあくまで一例に過ぎない。より多い又はより少ないボクセルからなる構造要素を用いてもよい。また、コンテクスト情報に用いる構造要素の隣接ボクセルの数をより多いものとしたり少ないものとしたりしてもよい。
【００７１】
また、コンテクストベース符号化部１１０は、注目構造要素中のボクセルがない格子位置については、その格子位置についての色予測符号を出力しないようにしてもよい。同様に、色情報符号化部１１２に対して、コンテクストベース符号化部１１０から、注目構造要素中のボクセルがない格子位置を通知し、色情報符号化部１１２は、その通知された格子位置については色情報符号を出力しないようにしてもよい。このようにすることで、符号化効率（圧縮率）が更に向上する。このような符号の削減を行っても、復号装置２００は、構造符号の復号結果から注目構造要素中のどの格子位置に該当する色予測符号や色情報符号が削除されているかが分かるので、復号を進める上での問題はない。
【００７２】
以上に例示した符号化装置１００及び復号装置２００は、一つの例ではハードウエアの論理回路として構成可能である。また、別の例として、符号化装置１００及び復号装置２００は、例えば、内蔵されるコンピュータにそれら各装置内の各機能モジュールの機能を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、ＨＤＤ（ハードディスクドライブ）を制御するＨＤＤコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばＩ／Ｏインタフェース経由で、ＣＤやＤＶＤなどの可搬型ディスク記録媒体に対する読み取り及び／又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び／又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。また、符号化装置１００及び復号装置２００は、ソフトウエアとハードウエアの組合せで構成されてもよい。
【符号の説明】
【００７３】
１００  符号化装置、１０２  構造情報生成部、１０４  コンテクスト生成部、１０６  色予測部、１０８  色情報生成部、１１０  コンテクストベース符号化部、１１２  色情報符号化部、２００  復号装置、２０２  ボクセル生成部、２０４  コンテクスト生成部、２０６  色予測部、２０８  色値生成部、２１０  コンテクストベース復号部、２１２  色情報復号部。
【図１】
2019165280.tif 000003
【図２】
2019165280.tif 000004
【図３】
2019165280.tif 000005
【図４】
2019165280.tif 000006
【図５】
2019165280.tif 000007
【図６】
2019165280.tif 000008