(57)【要約】【課題】レイキャスティングにおける高精度な三次元画像処理装置、等を提供する。【解決手段】あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する演算部１０２と、レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定し、ゼログラディエントベクトルであると判定されたボクセルを含むレイに対応する前記投影面上のピクセルに、無効ピクセルを設定する制御部１０４と、有効ピクセル数閾値ＭＢ以上の前記有効ピクセルを補正処理用ピクセルとし、当該補正処理用ピクセルに基づいて求めた補正ピクセルによって前記無効ピクセルを置き換えて補正することを特徴とする三次元画像処理装置１００。【選択図】図１
2004094598.tif 000002
【特許請求の範囲】
【請求項１】
レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置において、
あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する第１の取得手段と、
前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示手段と、
レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する第１の判定手段と、
前記第１の判定手段によって、ゼログラディエントベクトルでないと判定された前記グラディエントベクトルを、補正処理用グラディエントベクトルとし、当該補正処理用グラディエントベクトルに基づいて補正グラディエントベクトルを算出する第１の算出手段と、
当該補正グラディエントベクトルによって前記ゼログラディエントベクトルを置き換えて補正する第１の補正手段と、を有することを特徴とする三次元画像処理装置。
【請求項２】
請求項１に記載の三次元画像処理装置において、
前記補正処理用グラディエントベクトルは、補正される前記ゼログラディエントベクトルの周辺に位置するグラディエントベクトルであることを特徴とする三次元画像処理装置。
【請求項３】
レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置に含まれるコンピュータを、
あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する第１の取得手段、
前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示手段、
レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する第１の判定手段、
前記第１の判定手段によって、ゼログラディエントベクトルでないと判定された前記グラディエントベクトルを、補正処理用グラディエントベクトルとし、当該補正処理用グラディエントベクトルに基づいて補正グラディエントベクトルを算出する第１の算出手段および、
当該補正グラディエントベクトルによって前記ゼログラディエントベクトルを置き換えて補正する第１の補正手段として機能させることを特徴とする三次元画像処理プログラム。
【請求項４】
請求項３に記載の三次元画像処理プログラムにおいて、
前記補正処理用グラディエントベクトルは、補正される前記ゼログラディエントベクトルの周辺に位置するグラディエントベクトルとするよう前記コンピュータを機能させることを特徴とする三次元画像処理プログラム。
【請求項５】
請求項３または請求項４に記載の三次元画像処理プログラムが、前記コンピュータによって読み取り可能に記録されていることを特徴とする記録媒体。
【請求項６】
レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置において、
あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する第１の取得手段と、
前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示手段と、
レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する第１の判定手段と、
前記第１の判定手段によって、ゼログラディエントベクトルであると判定されたボクセルを含むレイに対応する前記投影面上のピクセルに、無効ピクセルを設定する第１の設定手段と、
前記投影面上のピクセルのうち、ゼログラディエントベクトルを有するボクセルを含まずレイキャスティングが完了したレイに対応するピクセルに有効ピクセルを設定する第２の設定手段と、
前記投影面上のピクセルが無効ピクセルか否かを判別するスキャンを行い、無効ピクセルである場合には、該無効ピクセルを補正するための補正処理用ピクセル候補を、前記投影面上のピクセルから取得する第２の取得手段と、
前記取得した補正処理用ピクセル候補のうち有効ピクセルの数が、あらかじめ定められた有効ピクセル数閾値以上であるか否かを判定する第２の判定手段と、
前記第２の判定手段によって、有効ピクセル数閾値以上であった場合に、前記取得した補正処理用ピクセル候補のうちの有効ピクセルを補正処理用ピクセルとして、当該補正処理用ピクセルに基づいて補正ピクセルを算出する第２の算出手段と、
当該補正ピクセルによって前記無効ピクセルを置き換えて補正する第２の補正手段と、を有することを特徴とする三次元画像処理装置。
【請求項７】
請求項６に記載の三次元画像処理装置において、
前記ゼログラディエントベクトルであると判定された時点で当該ボクセルを含むレイのレイキャスティングを中止する中止手段をさらに有することを特徴とする三次元画像処理装置。
【請求項８】
請求項６または請求項７に記載の三次元画像処理装置において、
前記第２の取得手段は、補正処理用ピクセル候補を補正される前記無効ピクセルの周辺に位置するピクセルから取得することを特徴とする三次元画像処理装置。
【請求項９】
請求項６から請求項８のいずれか一項に記載の三次元画像処理装置において、
スキャン中に前記補正ピクセルによって置き換えて補正されたピクセルを、未だ投影面上に存在する他の無効ピクセルを補正するための前記補正処理用ピクセルとして同一スキャン中に利用することを特徴とする三次元画像処理装置。
【請求項１０】
請求項６から請求項９のいずれか一項に記載の三次元画像処理装置において、
前記投影面上のピクセルを所定の一の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する第３の判定手段をさらに有し、
前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記有効ピクセル数閾値を所定値分だけ減少させて、再度スキャンすることを特徴とする三次元画像処理装置。
【請求項１１】
請求項６から請求項９のいずれか一項に記載の三次元画像処理装置において、
前記投影面上のピクセルを第１の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する第３の判定手段をさらに有し、
前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記投影面上のピクセルを第１の方向とは異なる第２の方向にスキャンすることを特徴とする三次元画像処理装置。
【請求項１２】
レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置に含まれるコンピュータを、
あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する第１の取得手段、
前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示手段、
レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する第１の判定手段と、
前記第１の判定手段によって、ゼログラディエントベクトルであると判定されたボクセルを含むレイに対応する前記投影面上のピクセルに、無効ピクセルを設定する第１の設定手段、
前記投影面上のピクセルのうち、ゼログラディエントベクトルを有するボクセルを含まずレイキャスティングが完了したレイに対応するピクセルに有効ピクセルを設定する第２の設定手段、
前記投影面上のピクセルが無効ピクセルか否かを判別するスキャンを行い、無効ピクセルである場合には、該無効ピクセルを補正するための補正処理用ピクセル候補を、前記投影面上のピクセルから取得する第２の取得手段、
前記取得した補正処理用ピクセル候補のうち有効ピクセルの数が、あらかじめ定められた有効ピクセル数閾値以上であるか否かを判定する第２の判定手段、
前記第２の判定手段によって、有効ピクセル数閾値以上であった場合に、前記取得した補正処理用ピクセル候補のうちの有効ピクセルを補正処理用ピクセルとして、当該補正処理用ピクセルに基づいて補正ピクセルを算出する第２の算出手段および、
当該補正ピクセルによって前記無効ピクセルを置き換えて補正する第２の補正手段として機能させることを特徴とする三次元画像処理プログラム。
【請求項１３】
請求項１２に記載の三次元画像処理プログラムにおいて、
前記コンピュータを、さらに、前記ゼログラディエントベクトルであると判定された時点で当該ボクセルを含むレイのレイキャスティングを中止する中止手段として機能させることを特徴とする三次元画像処理プログラム。
【請求項１４】
請求項１２または請求項１３に記載の三次元画像処理プログラムにおいて、
前記第２の取得手段は、補正処理用ピクセル候補を補正される前記無効ピクセルの周辺に位置するピクセルから取得することを特徴とする三次元画像処理プログラム。
【請求項１５】
請求項１２から請求項１４のいずれか一項に記載の三次元画像処理プログラムにおいて、
スキャン中に前記補正ピクセルによって置き換えて補正されたピクセルを、未だ投影面上に存在する他の無効ピクセルを補正するための前記補正処理用ピクセルとして利用するよう前記コンピュータを機能させることを特徴とする三次元画像処理プログラム。
【請求項１６】
請求項１２から請求項１５のいずれか一項に記載の三次元画像処理プログラムにおいて、
前記コンピュータを、さらに、前記投影面上のピクセルを所定の一の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する第３の判定手段として機能させ、
前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記有効ピクセル数閾値を所定値分だけ減少させて、再度スキャンすることを特徴とする三次元画像処理プログラム。
【請求項１７】
請求項１２から請求項１５のいずれか一項に記載の三次元画像処理プログラムにおいて、
前記コンピュータを、さらに、前記投影面上のピクセルを第１の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する第３の判定手段として機能させ、
前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記投影面上のピクセルを第１の方向とは異なる第２の方向にスキャンすることを特徴とする三次元画像処理プログラム。
【請求項１８】
請求項１２から請求項１７のいずれか一項に記載の三次元画像処理プログラムが、前記コンピュータによって読み取り可能に記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レイキャスティングによって三次元表示をおこなう三次元画像処理装置、三次元画像処理プログラムおよび三次元画像処理プログラムが記録された記録媒体に関する。
【０００２】
【従来の技術】
例えば、ＣＴ（Ｃｏｍｐｕｔｅｄ　Ｔｏｍｏｇｒａｐｈｙ）撮影などによって得られた検査対象物のスライス画像を三次元に配列した仮想的な空間（以下、ボクセル空間と言う。）に対して、それを観察する視線に沿って当該ボクセル空間に仮想的な光（以下、レイと言う。）を照射し、そのボクセル空間内の部分ごとのレイの透過量に基づいてその検査対象物の三次元画像を構成し、表示装置などにおいて二次元に表示するボリュームレンダリング法がある。
【０００３】
このボリュームレンダリング法によれば、本来連続体として存在する検査対象物が、有限な微小体積要素（以下、ボクセルという）のＸ線吸収係数によって表現される。
【０００４】
ボクセルは、ボクセル値Ｖを有し、このボクセル値Ｖは、Ｘ線吸収係数で決定される検査対象物固有の値であり、ＣＴ撮影画像から得る場合にはＣＴ値とも呼ばれるものである。
【０００５】
このボクセル値Ｖは、検査対象物を構成する要素によって異なる。例えば検査対象物が人体であって、ＣＴ撮影画像から三次元データが得られた場合には、解剖学的な組織によって異なり、例えばＣＴ撮影画像から得る場合には骨のＣＴ値は約１０００付近、血液のＣＴ値は２０から８０付近、肺のＣＴ値は約−２００の値を有する。
【０００６】
次に、レイキャスティングについて図１５を用いて説明する。
【０００７】
レイキャスティングとは、ボクセル空間でのレイの透過に伴う演算により、内部構造を多重に合成して投影する方法である（文献名：三次元血管造影法　血管疾患の新しい診断法　東京メディカルサイエンスインターナショナル　永井純、安達秀雄　編書　１９９４．５）。
【０００８】
ここで、図１５（ａ）および（ｂ）におけるオパシティ値αとは、ボクセルの不透明度を示す値であり、オパシティ値αが０の場合、ボクセルに入射したレイである入射光データＩのすべてがボクセルを透過し、オパシティ値αが１の場合、ボクセルに入射した入射光データＩのすべてがボクセルから反射されることになる。
【０００９】
つまり、ボクセル空間内の複数のボクセルにより構成される検査対象物のうち、可視化を所望する組織が有するボクセル値Ｖに対して高いオパシティ値αを設定することにより、ボクセルを透過しないでボクセルから反射する減衰光データＤが大きくなり、組織の抽出が可能になる。
【００１０】
次に、シェーディング係数βについて図１６を用いて説明する。
【００１１】
シェーディング係数βは、下記の式（１）に示す如く、グラディエントベクトルＧと視線の方向を示すビューベクトルｖの内積により求められる、ボクセルの輝度を表現する値である。
【００１２】
【数１】
2004094598.tif 000003
ここで、簡単のため、光源の方向と視線の方向（ビューベクトルｖ）を一致させているが、一致しない場合は、さらにβｖと光源ベクトルの内積を計算すればよい。
【００１３】
式（１）に示すグラディエントベクトルＧは、図１７に示す如く、グラディエントベクトルＧの算出を所望する対象ボクセル（図１７中の中央に位置するボクセル）のボクセル値をＶ（ｘ，ｙ）とすると、対象ボクセルのｘ方向およびｙ方向に隣接する４つのボクセルのボクセル値より、ａ＝Ｖ（ｘ−１，ｙ）−Ｖ（ｘ＋１，ｙ）、ｂ＝Ｖ（ｘ，ｙ−１）−Ｖ（ｘ，ｙ＋１）とおくと、対象ボクセルのグラディエントベクトルＧのｘ成分、ｙ成分を以下に示す式（２）、式（３）より求められる。
【００１４】
【数２】
2004094598.tif 000004
【００１５】
【数３】
2004094598.tif 000005
グラディエントベクトルは絶対値が１になるように正規化されている。
【００１６】
このように、ボクセルのグラディエントベクトルＧはその近傍に位置する複数のボクセルが互いに影響を及ぼし合って求められる。
【００１７】
上述の説明において、グラディエントベクトルＧの算出を二次元の場合について述べたが、三次元の場合も同様である。
【００１８】
以上説明した如く、グラディエントベクトルＧとビューベクトルｖにより、シェーディング係数βが決定される。
【００１９】
次に、図を参照して三次元空間におけるレイキャスティングについて説明する。　図１８は、レイの進行方向に沿って並んだボクセルである。
【００２０】
入射光データをＩｎ、ボクセルのボクセル値Ｖｎ、オパシティ値αｎ、シェーディング係数βｎとし、透過しない光を減衰光データＤｎ、ボクセルによって反射される光を部分反射光データＦｎ、そして部分反射光データＦｎを合成して得られる光である合成反射光データＥは、それぞれ以下に示す式（４）、式（５）、式（６）、式（７）によって求められる。
【００２１】
【数４】
2004094598.tif 000006
【００２２】
【数５】
2004094598.tif 000007
【００２３】
【数６】
2004094598.tif 000008
【００２４】
【数７】
2004094598.tif 000009
以上により求められた合成反射光データＥを投影面に対応づけられる二次元表示におけるピクセル値Ｐ（ｘ，ｙ）として採用し、投影面に対応する表示装置などに表示することが可能になる。
【００２５】
【発明が解決しようとする課題】
上述したように、あるボクセルのグラディエントベクトルＧはその近傍に位置する複数のボクセルが互いに影響を及ぼし合って求められる値であるため、図１７に示す如く、中央に位置する対象ボクセルに隣接する４つのボクセルのうち、ｘ方向に隣接する２つのボクセルのボクセル値が等しく、かつ、ｙ方向に隣接する２つのボクセルのボクセル値が等しい場合には、式（２）および式（３）によって求められる対象ボクセルのグラディエントベクトルＧｎのｘ成分、ｙ成分がそれぞれ０になり、グラディエントベクトルＧの絶対値｜Ｇ｜＝（Ｇｘ２＋Ｇｙ２）１／２が０になる。
【００２６】
このように、絶対値が０のグラディエントベクトルをゼログラディエントベクトルＧｚｅｒｏと言う。
【００２７】
図１９に示す如く、ゼログラディエントベクトルＧｚｅｒｏを有するボクセル（ボクセル値Ｖ１）は、上述した式（６）より、その部分反射光データＦ１が０となってしまう。このため、例えばゼログラディエントベクトルＧｚｅｒｏを有するボクセルのオパシティ値α１が非常に大きいと、それに伴って、このボクセルからそれ以降のボクセルへ透過する透過光Ｉ２が非常に小さくなり、以降のボクセルの部分反射光データＦｎが小さくなってしまい、全体としてこれらすべての部分反射光データＦｎを合成した値ΣＦｎで得られる合成反射光データＥに影響し、合成反射光データＥを採用するピクセル値が周辺のピクセル値と極端に異なることになる。これにより、投影面２００上に偽像を投影したり、図２０に白点にて示す如く、完全に像を投影せず、表示装置に表示されない箇所を作り出すなどの問題があった。
【００２８】
また、検査対象物が人体である場合など、造影血管のように均一なボクセル値を持つボクセルによって三次元データが構成されている場合など、特にゼログラディエントベクトルＧｚｅｒｏの発生が多くなり、誤診や医療ミスが発生する可能性を有していた。
【００２９】
そこで、本発明は上記の問題点を鑑みて為されたもので、ゼログラディエントが発生しても、偽像を表示しない三次元画像処理装置等を提供することにある。
【００３０】
【課題を解決するための手段】
上記課題を解決すべく、請求項１に記載した発明によれば、レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置において、あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する演算部などの第１の取得手段と、前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示部などの表示手段と、レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する制御部などの第１の判定手段と、前記第１の判定手段によって、ゼログラディエントベクトルでないと判定された前記グラディエントベクトルを、補正処理用グラディエントベクトルとし、当該補正処理用グラディエントベクトルに基づいて補正グラディエントベクトルを算出する演算部などの第１の算出手段と、当該補正グラディエントベクトルによって前記ゼログラディエントベクトルを置き換えて補正する制御部などの第１の補正手段と、を有することを特徴とする。
【００３１】
よって、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【００３２】
上記課題を解決すべく、請求項２に記載した発明によれば、請求項１に記載の三次元画像処理装置において、前記補正処理用グラディエントベクトルは、補正される前記ゼログラディエントベクトルの周辺に位置するグラディエントベクトルであることを特徴とする。
【００３３】
よって、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【００３４】
上記課題を解決すべく、請求項３に記載した発明によれば、レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置に含まれるコンピュータを、あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する演算部などの第１の取得手段、前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示部などの表示手段、レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する制御部などの第１の判定手段、前記第１の判定手段によって、ゼログラディエントベクトルでないと判定された前記グラディエントベクトルを、補正処理用グラディエントベクトルとし、当該補正処理用グラディエントベクトルに基づいて補正グラディエントベクトルを算出する演算部などの第１の算出手段および、当該補正グラディエントベクトルによって前記ゼログラディエントベクトルを置き換えて補正する制御部などの第１の補正手段として機能させることを特徴とする。
【００３５】
よって、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正するようコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【００３６】
上記課題を解決すべく、請求項４に記載した発明によれば、請求項３に記載の三次元画像処理プログラムにおいて、前記補正処理用グラディエントベクトルは、補正される前記ゼログラディエントベクトルの周辺に位置するグラディエントベクトルとするよう前記コンピュータを機能させることを特徴とする。
【００３７】
よって、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【００３８】
上記課題を解決すべく、請求項５に記載した発明によれば、請求項３または請求項４に記載の三次元画像処理プログラムが、前記コンピュータによって読み取り可能に記録されていることを特徴とする。
【００３９】
よって、請求項３に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータによって読み出して実行することにより、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【００４０】
また、請求項４に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータによって読み出して実行することにより、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【００４１】
上記課題を解決すべく、請求項６に記載した発明によれば、レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置において、あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する演算部などの第１の取得手段と、前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示部などの表示手段と、レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する制御部などの第１の判定手段と、前記第１の判定手段によって、ゼログラディエントベクトルであると判定されたボクセルを含むレイに対応する前記投影面上のピクセルに、無効ピクセルを設定する制御部などの第１の設定手段と、前記投影面上のピクセルのうち、ゼログラディエントベクトルを有するボクセルを含まずレイキャスティングが完了したレイに対応するピクセルに有効ピクセルを設定する制御部などの第２の設定手段と、前記投影面上のピクセルが無効ピクセルか否かを判別するスキャンを行い、無効ピクセルである場合には、該無効ピクセルを補正するための補正処理用ピクセル候補を、前記投影面上のピクセルから取得する制御部などの第２の取得手段と、前記取得した補正処理用ピクセル候補のうち有効ピクセルの数が、あらかじめ定められた有効ピクセル数閾値以上であるか否かを判定する制御部などの第２の判定手段と、前記第２の判定手段によって、有効ピクセル数閾値以上であった場合に、前記取得した補正処理用ピクセル候補のうちの有効ピクセルを補正処理用ピクセルとして、当該補正処理用ピクセルに基づいて補正ピクセルを算出する演算部などの第２の算出手段と、当該補正ピクセルによって前記無効ピクセルを置き換えて補正する制御部などの第２の補正手段と、を有することを特徴とする。
【００４２】
よって、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えることにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【００４３】
上記課題を解決すべく、請求項７に記載した発明によれば、請求項６に記載の三次元画像処理装置において、前記ゼログラディエントベクトルであると判定された時点で当該ボクセルを含むレイのレイキャスティングを中止する制御部などの中止手段をさらに有することを特徴とする。
【００４４】
よって、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止することにより、以降、ボクセル空間のレイがあらかじめ定められた終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【００４５】
上記課題を解決すべく、請求項８に記載した発明によれば、請求項６または請求項７に記載の三次元画像処理装置において、前記第２の取得手段は、補正処理用ピクセル候補を補正される前記無効ピクセルの周辺に位置するピクセルから取得することを特徴とする。
【００４６】
よって、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【００４７】
上記課題を解決すべく、請求項９に記載した発明によれば、請求項６から請求項８のいずれか一項に記載の三次元画像処理装置において、スキャン中に前記補正ピクセルによって置き換えて補正されたピクセルを、未だ投影面上に存在する他の無効ピクセルを補正するための前記補正処理用ピクセルとして同一スキャン中に利用することを特徴とする。
【００４８】
よって、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【００４９】
上記課題を解決すべく、請求項１０に記載した発明によれば、請求項６から請求項９のいずれか一項に記載の三次元画像処理装置において、前記投影面上のピクセルを所定の一の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する制御部などの第３の判定手段をさらに有し、前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記有効ピクセル数閾値を所定値分だけ減少させて、再度スキャンすることを特徴とする。
【００５０】
よって、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【００５１】
上記課題を解決すべく、請求項１１に記載した発明によれば、請求項６から請求項９のいずれか一項に記載の三次元画像処理装置において、前記投影面上のピクセルを第１の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する制御部などの第３の判定手段をさらに有し、前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記投影面上のピクセルを第１の方向とは異なる第２の方向にスキャンすることを特徴とする。
【００５２】
よって、種々の方向からスキャンすることにより、補正処理速度がより速くなる。また、直前に補正されたピクセルを補正処理用ピクセルとして用いれば、２回のスキャンで投影面上の全ての無効ピクセルを補正することができる。
【００５３】
上記課題を解決すべく、請求項１２に記載した発明によれば、レイキャスティングによってボクセル空間内に検査対象物の三次元データを複数のボクセルとして認識して投影面上に投影することにより検査対象物の三次元表示をおこなう三次元画像処理装置に含まれるコンピュータを、あらかじめ定められたステップベクトルごとにレイの到達座標ベクトルを更新し、当該到達座標ベクトルにおける部分反射光データを合成して合成反射光データを取得する演算部などの第１の取得手段、前記取得した合成反射光データを、前記投影面上の複数のピクセルのうち一のピクセルに投影させて表示する表示部などの表示手段、レイキャスティング中のボクセルのグラディエントベクトルがゼロベクトルであるゼログラディエントベクトルであるか否かを判定する制御部などの第１の判定手段と、前記第１の判定手段によって、ゼログラディエントベクトルであると判定されたボクセルを含むレイに対応する前記投影面上のピクセルに、無効ピクセルを設定する制御部などの第１の設定手段、前記投影面上のピクセルのうち、ゼログラディエントベクトルを有するボクセルを含まずレイキャスティングが完了したレイに対応するピクセルに有効ピクセルを設定する制御部などの第２の設定手段、前記投影面上のピクセルが無効ピクセルか否かを判別するスキャンを行い、無効ピクセルである場合には、該無効ピクセルを補正するための補正処理用ピクセル候補を、前記投影面上のピクセルから取得する制御部などの第２の取得手段、前記取得した補正処理用ピクセル候補のうち有効ピクセルの数が、あらかじめ定められた有効ピクセル数閾値以上であるか否かを判定する制御部などの第２の判定手段、前記第２の判定手段によって、有効ピクセル数閾値以上であった場合に、前記取得した補正処理用ピクセル候補のうちの有効ピクセルを補正処理用ピクセルとして、当該補正処理用ピクセルに基づいて補正ピクセルを算出する演算部などの第２の算出手段および、当該補正ピクセルによって前記無効ピクセルを置き換えて補正する制御部などの第２の補正手段として機能させることを特徴とする。
【００５４】
よって、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えるようコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【００５５】
上記課題を解決すべく、請求項１３に記載した発明によれば、請求項１２に記載の三次元画像処理プログラムにおいて、前記コンピュータを、さらに、前記ゼログラディエントベクトルであると判定された時点で当該ボクセルを含むレイのレイキャスティングを中止する制御部などの中止手段として機能させることを特徴とする。
【００５６】
よって、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止することにより、以降、ボクセル空間のレイがあらかじめ定められた終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【００５７】
上記課題を解決すべく、請求項１４に記載した発明によれば、請求項１２または請求項１３に記載の三次元画像処理プログラムにおいて、前記第２の取得手段は、補正処理用ピクセル候補を補正される前記無効ピクセルの周辺に位置するピクセルから取得することを特徴とする。
【００５８】
よって、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【００５９】
上記課題を解決すべく、請求項１５に記載した発明によれば、請求項１２から請求項１４のいずれか一項に記載の三次元画像処理プログラムにおいて、スキャン中に前記補正ピクセルによって置き換えて補正されたピクセルを、未だ投影面上に存在する他の無効ピクセルを補正するための前記補正処理用ピクセルとして利用するよう前記コンピュータを機能させることを特徴とする。
【００６０】
よって、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【００６１】
上記課題を解決すべく、請求項１６に記載した発明によれば、請求項１２から請求項１５のいずれか一項に記載の三次元画像処理プログラムにおいて、前記コンピュータを、さらに、前記投影面上のピクセルを所定の一の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する制御部などの第３の判定手段として機能させ、前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記有効ピクセル数閾値を所定値分だけ減少させて、再度スキャンすることを特徴とする。
【００６２】
よって、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【００６３】
上記課題を解決すべく、請求項１７に記載した発明によれば、請求項１２から請求項１５のいずれか一項に記載の三次元画像処理プログラムにおいて、前記コンピュータを、さらに、前記投影面上のピクセルを第１の方向にスキャンした後、前記投影面上に前記無効ピクセルが存在するか否かを判定する制御部などの第３の判定手段として機能させ、前記第３の判定手段によって前記無効ピクセルが存在すると判定された場合には、前記投影面上のピクセルを第１の方向とは異なる第２の方向にスキャンすることを特徴とする。
【００６４】
よって、種々の方向からスキャンすることにより、補正処理速度がより速くなる。また、直前に補正されたピクセルを補正処理用ピクセルとして用いれば、２回のスキャンで投影面上の全ての無効ピクセルを補正することができる。
【００６５】
上記課題を解決すべく、請求項１８に記載した発明によれば、請求項１２から請求項１７のいずれか一項に記載の三次元画像処理プログラムが、前記コンピュータによって読み取り可能に記録されていることを特徴とする。
【００６６】
よって、請求項１２に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えるようにコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【００６７】
また、請求項１３に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止する制御部などの中止手段としてコンピュータが機能することにより、以降、到達座標ベクトルが終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【００６８】
また、請求項１４に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【００６９】
また、請求項１５に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【００７０】
さらに、請求項１６に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【００７１】
さらに、請求項１７に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、種々の方向からスキャンすることにより、補正処理速度がより速くなる。
【００７２】
【発明の実施の形態】
（第１の実施の形態）
第１の実施の形態について図１に示す三次元画像処理装置の概要構成を示すブロック図を用いて説明する。
【００７３】
三次元画像処理装置１００は、記憶部１０１、第１の取得手段および第１の算出手段としての演算部１０２、表示手段としての表示部１０３、さらには第１の判定手段および第１の補正手段としての制御部１０４により構成されている。
【００７４】
記憶部１０１は、あらかじめＣＴ撮影などによって撮影された検査対象物のスライス画像と、このスライス画像により得られた検査対象物の三次元画像データと、この検査対象物の三次元画像データを構成するすべてのボクセルのボクセル値Ｖと、そのボクセル値Ｖに対応するオパシティ値αおよびビューベクトルｖとを記憶している。
【００７５】
また、この記憶部１０１は、読出し書込みが可能なデータ記憶領域１０１ａを有し、このデータ記憶領域１０１ａは、後に詳述するレイキャスティングにおける入射光データＩと、レイキャスティング処理によって決定される投影面２００に対応する前記表示部１０３に映し出すための二次元画像のピクセルＰ、始点座標ベクトルＯ、ステップベクトルΔＳ、到達座標ベクトルＲ、部分反射光データＦ、合成反射光データＥ、有効グラディエントベクトル数ＣＧを記憶している。
【００７６】
このデータ記憶領域１０１ａに対する読出しおよび書込みの動作は、図示しない入力部により操作者が所望のデータについて読出しまたは書込みを行う旨の指示を入力しても、制御部１０４によって自動で行うようにしてもよい。
【００７７】
演算部１０２は、レイキャスティングにおける種々の演算を行うためのものである。
【００７８】
表示部１０３は、ＣＲＴモニタや液晶モニタなどであり、レイキャスティングにおける投影面の画像を表示するものであるが、これに限らず、必要に応じて記憶部１０１内に記憶したスライス画像を表示することも可能である。
【００７９】
制御部１０４は、後に詳述するこれら各部の動作を制御するためのものである。
【００８０】
レイキャスティングにおけるボクセル空間３００と投影面２００について図２を用いて説明する。
【００８１】
投影面２００の座標を（ｕ，ｖ）とし、ここに位置するピクセルをＰ（ｕ，ｖ）とする。また、ピクセルＰ（ｕ，ｖ）に対応するレイの進行方向に沿って並んだボクセルのボクセル空間３００内の座標を（ｘ（ｕ，ｖ），ｙ（ｕ，ｖ），ｚ（ｕ，ｖ））とし、ボクセル空間座標（ｘ，ｙ，ｚ）に位置するボクセルのボクセル値を、Ｖ（ｘ，ｙ，ｚ）とする。
【００８２】
始点座標ベクトルＯ（ｕ０，ｖ０）は、投影面２００上のレイキャスティングが始まる座標（ｕ０，ｖ０）のボクセル空間内のベクトルであり、この始点座標ベクトルＯ（ｕ０，ｖ０）に対応するボクセル空間３００内の座標は（Ｏｘ（ｕ０，ｖ０），Ｏｙ（ｕ０，ｖ０），Ｏｚ（ｕ０，ｖ０））である。
【００８３】
また、到達座標ベクトルＲ（ｕ，ｖ）は、投影面２００上の座標（ｕ，ｖ）におけるレイキャスティング処理中のボクセル空間内のベクトルであり、この到達座標ベクトルＲ（ｕ，ｖ）に対応するボクセル空間３００内の座標は（Ｒｘ（ｕ，ｖ），Ｒｙ（ｕ，ｖ），Ｒｚ（ｕ，ｖ））である。
【００８４】
ボクセル空間３００内において、始点座標ベクトルＯ（Ｏｘ（ｕ，ｖ），Ｏｙ（ｕ，ｖ），Ｏｚ（ｕ，ｖ））からあらかじめ定められたステップベクトルΔＳ（ΔＳｘ（ｕ，ｖ），ΔＳｙ（ｕ，ｖ），ΔＳｚ（ｕ，ｖ））ごとにレイキャスティングが行われる。
【００８５】
レイキャスティングは投影面２００上の始点座標ベクトルＯ（ｕ，ｖ）からあらかじめ定められた順序で投影面２００上のピクセル値Ｐ（ｕ，ｖ）ごとに行う。投影面２００上のすべてのピクセル値Ｐを設定した後に終了する。
【００８６】
以下、図３に示すフローチャートに基づいて、本実施の形態におけるレイキャスティング処理動作について説明する。
【００８７】
まず投影面２００における一のピクセルについて、ボクセル空間３００内におけるレイキャストループを開始する（ステップＳ１０）。
【００８８】
最初に、あらかじめ定められた始点座標ベクトルＯおよびステップベクトルΔＳをデータ記憶領域１０１ａに書込み、初期化する（ステップＳ１１）。
【００８９】
次に、到達座標ベクトルＲを始点座標ベクトルＯと同じ値に設定し、あらかじめ定められた入射光データＩをデータ記憶領域１０１ａに書込み、同様にして部分反射光データＦおよび合成反射光データＥの値を０として記憶領域１０１ａに書込んで初期化する（ステップＳ１２）。
【００９０】
到達座標ベクトルＲのボクセル空間３００の座標（Ｒｘ（ｕ，ｖ），Ｒｙ（ｕ，ｖ），Ｒｚ（ｕ，ｖ））に位置するボクセルのグラディエントベクトルＧを演算部１０２によって式（２）および式（３）に従って算出し（ステップＳ１３）、算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏか否かを制御部１０４の制御に基づいて判定する（ステップＳ１４）。
【００９１】
算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏでない場合には（ステップＳ１４：Ｎｏ）、ボクセル値Ｖに対応付けられてあらかじめ設定されたオパシティ値αを記憶部１０１より取得するとともに、算出されたグラディエントベクトルＧおよび記憶部１０１に記憶されたビューベクトルｖより、シェーディング係数βを演算部１０２の演算により式（１）に従って算出する（ステップＳ１５）。
【００９２】
そして、ステップＳ１５で算出したシェーディング係数βと取得したオパシティ値αより、ボクセルの減衰光データＤおよび部分反射光データＦを演算部１０２の演算により式（５）および式（６）に従って算出する（ステップＳ１６）。
【００９３】
その後、前記データ記憶領域１０１ａに記憶した入射光データＩを前記減衰光データＤだけ減少させると共に、得られた部分反射光データＦを合成反射光データＥに加算して更新し、データ記憶領域１０１ａに記憶した前記到達座標ベクトルＲをステップベクトルΔＳだけ更新する（ステップＳ１７）。
【００９４】
一方、算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏである場合には（ステップＳ１４：Ｙｅｓ）、後に詳述するグラディエントベクトル補正処理を行った後（ステップＳ１８）、再度グラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏであるか否かの判定を行う（ステップＳ１９）。
【００９５】
判定の結果、ゼログラディエントベクトルＧｚｅｒｏでない場合には（ステップＳ１９：Ｎｏ）、ステップＳ１５へ移行し、判定の結果、未だゼログラディエントベクトルＧｚｅｒｏである場合には（ステップＳ１９：Ｙｅｓ）、ステップＳ２０へ移行する。
【００９６】
そして、前記ボクセル値Ｖに対応付けられてあらかじめ設定されたオパシティ値αを記憶部１０１より取得し（ステップＳ２０）、取得したオパシティ値αより、前記ボクセルの減衰光データＤを演算部１０２の演算により式（５）に従って算出する（ステップＳ２１）。
【００９７】
その後、前記データ記憶領域１０１ａに記憶した入射光データＩを式（４）に従って減衰光データＤだけ減少させると共に、前記データ記憶領域１０１ａに記憶した到達座標ベクトルＲをステップベクトルΔＳだけ更新する（ステップＳ２２）。
【００９８】
ステップＳ１７およびステップＳ２３によって前記データ記憶領域１０１ａに記憶した到達座標ベクトルＲをステップベクトルΔＳ分だけ増加させた結果、一直線上のすべての検査対象物をレイキャストしたか否かを判定するため、到達座標ベクトルＲが既定の終端条件を満たすか否かを判定する（ステップＳ２３）。ここで、終端条件とは、すべてのレイが吸収し尽くされ、入射光データＩが０になったとき、あるいは、レイが検査対象物を透過し終わったときなど、自由に設定が可能である。
【００９９】
ステップＳ２３で到達座標ベクトルＲが終端条件を満たさない場合には（ステップＳ２３：Ｎｏ）、ステップＳ１３へ移行して、一直線上のすべての検査対象物の三次元データについてステップＳ１３からステップＳ２２の処理を繰り返してレイキャスティングを行う。
【０１００】
ステップＳ２３で到達座標ベクトルＲが終端条件を満たす場合には（ステップＳ２３：Ｙｅｓ）、投影面２００上の有効ピクセルＰｅとしてステップＳ１７で得られた合成反射光データＥの値を設定する（ステップＳ２４）。
【０１０１】
そして、投影面上のすべてのピクセルＰについてレイキャスティングを終了後、レイキャストループを終了する（ステップＳ２５）。以上で図３に示す処理を終了する。
【０１０２】
これまで説明した図３に示すすべての処理は、制御部１０４の制御に基づいて実行される。
【０１０３】
次に、上述したレイキャスティング処理動作におけるステップＳ１８に示すグラディエントベクトル補正処理について説明する。
【０１０４】
まず、ゼログラディエントベクトルＧｚｅｒｏを有するボクセルの周囲近傍に位置するボクセルのグラディエントベクトルを用いたゼログラディエントベクトルＧｚｅｒｏの補正について図４を用いて説明する。
【０１０５】
補正処理用グラディエントベクトルＧｍは、ゼログラディエントベクトルＧｚｅｒｏの周囲近傍に位置するグラディエントベクトルである。
【０１０６】
有効グラディエントベクトル数ＣＧは、補正処理用グラディエントベクトルＧｍの数である。
【０１０７】
図４（ａ）は、平行投影の場合の補正処理用グラディエントベクトルの説明図である。レイキャスティング中の到達座標ベクトルＲにてゼログラディエントベクトルＧｚｅｒｏが発生した場合、この周囲のボクセルが有する補正処理用グラディエントベクトルＧｍ１、Ｇｍ２を使用して補正グラディエントベクトルＧａとすることが可能である。ゼログラディエントベクトルＧｚｅｒｏは、補正処理用グラディエントベクトルＧｍのベクトルの和を、絶対値が１となるように正規化することにより求められる補正グラディエントベクトルＧａの値に置き換えることにより補正可能である。
【０１０８】
なお、図４（ａ）では、ゼログラディエントベクトルＧｚｅｒｏが発生したレイキャスティングに対応する投影面２００上の座標とは別の２つの投影面２００上の座標に対応するレイキャスティングによって得られたグラディエントベクトルを、補正処理用グラディエントベクトルＧｍ１、Ｇｍ２としているが、このとき、ゼログラディエントベクトルＧｚｅｒｏが発生したレイの、ゼログラディエントベクトルＧｚｅｒｏ発生直前のステップベクトルΔＳにおけるボクセルが有するグラディエントベクトル（図４（ａ）中、補正処理用グラディエントベクトルＧｍ３によって示す。）を補正処理用グラディエントベクトルとして用いてもよい。
【０１０９】
図４（ｂ）は、ゼログラディエントベクトルＧｚｅｒｏをその周囲４個の補正処理用グラディエントベクトルＧｍから求めた一例である。この場合、有効グラディエントベクトル数ＣＧは４であり、以下に示す式（８）により補正グラディエントベクトルＧａを求めることが可能である。
【０１１０】
【数８】
2004094598.tif 000010
なお、Ｎｏｒｍａｌｉｚｅ（　）とは、正規化を行う関数である。
【０１１１】
図４（ｃ）は、ゼログラディエントベクトルＧｚｅｒｏをその周囲３個の補正処理用グラディエントベクトルＧｍから求めた一例である。この場合、有効グラディエントベクトル数ＣＧは３であり、式（８）により補正グラディエントベクトルＧａを求めることが可能である。
【０１１２】
図４（ｄ）は、ゼログラディエントベクトルＧｚｅｒｏをその周囲２個の補正処理用グラディエントベクトルＧｍから求めた一例である。この場合、有効グラディエントベクトル数ＣＧは２であり、式（８）により補正グラディエントベクトルＧａを求めることが可能である。
【０１１３】
そして、図４（ｅ）は、ゼログラディエントベクトルＧｚｅｒｏをその隣接する一の補正処理用グラディエントベクトルＧｍから求めた一例である。この場合、有効グラディエントベクトル数ＣＧは１であり、式（８）により補正グラディエントベクトルＧａを求めることが可能である。つまり、この場合は、隣接するボクセルのグラディエントベクトルをそのまま代用することになる。
【０１１４】
上述した例では、補正処理用グラディエントベクトルＧｍを１つから４つ用いて補正処理を行った場合について説明したが、これには限られず、５つ以上の補正処理用グラディエントベクトルＧｍを用いてもよい。
【０１１５】
次に、上述したレイキャスティング処理動作におけるステップＳ１８に示すグラディエントベクトル補正処理の動作について図５に示すフローチャートに基づいて説明する。
【０１１６】
まず、ゼログラディエントベクトルＧｚｅｒｏの周囲近傍に位置するＭ個のグラディエントベクトルＧを補正処理用グラディエントベクトル候補Ｇｍ’として演算部１０２により式（２）および式（３）に従って算出する（ステップＳ５０）。
【０１１７】
次に、前記データ記憶領域１０１ａに記憶した有効グラディエントベクトル数ＣＧを０に設定し（ステップＳ５１）、有効グラディエントベクトル数ＣＧの数を求めるためのカウントループ処理を行う（ステップＳ５２）。
【０１１８】
ステップＳ５０で算出したＭ個の補正処理用グラディエントベクトル候補Ｇｍ’のうち、一の補正処理用グラディエントベクトル候補Ｇｍ’がゼログラディエントベクトルＧｚｅｒｏであるか否かを判定する（ステップＳ５３）。
【０１１９】
ステップＳ５３の判定の結果、補正処理用グラディエントベクトル候補Ｇｍ’がゼログラディエントベクトルＧｚｅｒｏでなかった場合には（ステップＳ５３：Ｎｏ）、データ記憶領域１０１ａに記憶した有効グラディエントベクトル数ＣＧに１を加算し（ステップＳ５４）、次の一の補正処理用グラディエントベクトル候補Ｇｍ’について、ステップＳ５２のカウントループ処理により同様の処理を行う。
【０１２０】
一方、補正処理用グラディエントベクトル候補Ｇｍ’がゼログラディエントベクトルＧｚｅｒｏである場合には（ステップＳ５３：Ｙｅｓ）、そのままステップＳ５５へ移行し、次の一の補正処理用グラディエントベクトル候補Ｇｍ’について、ステップＳ５２のカウントループ処理により同様の処理を行う。
【０１２１】
算出したＭ個の補正処理用グラディエントベクトル候補Ｇｍ’のすべてについてゼログラディエントベクトルＧｚｅｒｏであるか否かの判定を終了したときに有効グラディエントベクトル数ＣＧのカウントループ処理を終了する（ステップＳ５５）。
【０１２２】
そして、上述したカウントループ処理の結果、有効グラディエントベクトル数ＣＧが１以上であるか否かを前記データ記憶領域１０１ａに記憶した有効グラディエントベクトル数ＣＧを読み出して判定する（ステップＳ５６）。
【０１２３】
判定の結果、有効グラディエントベクトル数ＣＧが１以上であった場合には（ステップＳ５６：Ｙｅｓ）、この有効な補正処理用グラディエントベクトル候補Ｇｍ’を補正処理用グラディエントベクトルＧｍとして用いて、補正グラディエントベクトルＧａを演算部１０２の演算により式（８）に従って算出する（ステップＳ５７）。
【０１２４】
そして、ゼログラディエントベクトルＧｚｅｒｏを、前記算出した補正グラディエントベクトルＧａと置き換えることにより補正を行い（ステップＳ５８）図５に示すフローチャートに基づく処理を終了し、図３のレイキャスティングのステップＳ１９に戻る。
【０１２５】
判定の結果、有効グラディエントベクトル数ＣＧが１未満であった場合、つまり０であった場合には（ステップＳ５６：Ｎｏ）、図５に示すフローチャートに基づく処理を終了し、図３のレイキャスティングのステップＳ１９に戻る。
【０１２６】
なお、これまで説明したグラディエントベクトル補正処理の動作は、すべてのステップにおいて制御部１０４の制御に基づいて実行される。
【０１２７】
なお、本実施の形態はレイの投影法にはよらず、平行投影、透視投影等の種々の投影法で実施可能である。
【０１２８】
また、ゼログラディエントベクトルＧｚｅｒｏの周辺に位置しないグラディエントベクトルを補正処理用グラディエントベクトルＧｍとして用いても本発明は実施可能であるが、周辺に位置する補正処理用グラディエントベクトルＧｍを用いることにより、補正対象領域の性質を反映し、高い補正精度を得ることが可能になる。
【０１２９】
以上説明した第１の実施の形態によれば、ボクセル空間３００内に、ゼログラディエントベクトルＧｚｅｒｏが存在する場合であっても、ゼログラディエントベクトルＧｚｅｒｏを、その周囲近傍に位置する補正処理用グラディエントベクトルＧｍによって算出した補正グラディエントベクトルＧａによって置き換えて補正することにより、図１４に示す如く、投影面に対応付けられる表示部に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【０１３０】
（第２の実施の形態）
第２の実施の形態について説明する。
【０１３１】
三次元画像処理装置１００は、記憶部１０１、第１の取得手段および第２の算出手段としての演算部１０２、表示手段としての表示部１０３、さらには、第２の取得手段、第１および第２の設定手段、第１、第２および第３の判定手段、第２の補正手段および中止手段としての制御部１０４により構成されている。
【０１３２】
第２の実施の形態における三次元画像処理装置の構成のデータ記憶領域１０１ａは、レイキャスティングにおける入射光データＩと、レイキャスティング処理によって決定される投影面２００に対応する前記表示部１０３に映し出すための二次元画像のピクセルＰ、始点座標ベクトルＯ、ステップベクトルΔＳ、到達座標ベクトルＲ、部分反射光データＦ、合成反射光データＥ、補正処理用ピクセル候補取得数ＭＡおよび有効ピクセル数閾値ＭＢ，有効ピクセル数ＣＰ、スキャンフラグＳＦ、スキャンカウントＣＳを記憶している。
【０１３３】
その他の構成は第１の実施の形態と同様であるので細部の説明は省略する。
【０１３４】
以下、図６に示すフローチャートに基づいて、第２の実施の形態におけるレイキャスティング処理動作について説明する。
【０１３５】
まず投影面２００における一のピクセルＰについて、ボクセル空間３００内におけるレイキャストループを開始する（ステップＳ６０）。
【０１３６】
最初に、あらかじめ定められた始点座標ベクトルＯおよびステップベクトルΔＳをデータ記憶領域１０１ａに書込み、初期化する（ステップＳ６１）。
【０１３７】
次に、到達座標ベクトルＲを始点座標ベクトルＯと同じ値に設定し、あらかじめ定められた入射光データＩをデータ記憶領域１０１ａに書込み、同様にして部分反射光データＦおよび合成反射光データＥの値を０としてデータ記憶領域１０１ａに書込んで初期化する（ステップＳ６２）。
【０１３８】
到達座標ベクトルＲのボクセル空間３００の座標（Ｒｘ（ｕ，ｖ），Ｒｙ（ｕ，ｖ），Ｒｚ（ｕ，ｖ））に位置するボクセルのグラディエントベクトルＧを演算部１０２によって式（２）および式（３）に従って算出し（ステップＳ６３）、算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏか否かを判定する（ステップＳ６４）。
【０１３９】
算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏでない場合には（ステップＳ６４：Ｎｏ）、前記ボクセル値Ｖに対応付けられてあらかじめ設定されたオパシティ値αを記憶部１０１より取得するとともに、前記算出されたグラディエントベクトルＧおよび記憶部１０１に記憶されたビューベクトルｖより、シェーディング係数βを演算部１０２の演算により式（１）に従って算出する（ステップＳ６５）。
【０１４０】
そして、ステップＳ１５で算出したシェーディング係数βと取得したオパシティ値αより、前記ボクセルの減衰光データＤおよび部分反射光データＦを演算部１０２の演算により式（５）および式（６）に従って算出する（ステップＳ６６）。
【０１４１】
その後、前記データ記憶領域１０１ａに記憶した入射光データＩを減衰光データＤだけ減少させると共に、得られた部分反射光データＦを合成反射光データＥに加算して更新し、データ記憶領域１０１ａに記憶した到達座標ベクトルＲをステップベクトルΔＳだけ更新する（ステップＳ６７）。
【０１４２】
そして、一直線上の検査対象物の三次元データをすべてレイキャストしたか否かを判定するため、データ記憶領域１０１ａに記憶した到達座標ベクトルＲが既定の終端条件を満たすか否かを判定する（ステップＳ６８）。
【０１４３】
ここで、終端条件とは、すべてのレイが検査対象物の三次元データに吸収し尽くされ、入射光データＩが０になったとき、あるいは、レイが検査対象物の三次元データを透過し終わり、ボクセル値Ｖが０となったときなど、自由に設定が可能である。
【０１４４】
ステップＳ６８で到達座標ベクトルＲが終端条件を満たさない場合には（ステップＳ６８：Ｎｏ）、ステップＳ６３へ移行して、一直線上の検査対象物の三次元データのすべてについてステップＳ６３からステップ６７の処理を繰り返してレイキャスティングを行う。
【０１４５】
一方、ステップＳ６４にて算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏである場合には（ステップＳ６４：Ｙｅｓ）、そのレイに対応する投影面２００上のピクセルに無効ピクセルＰｚｅｒｏを設定してステップＳ７１へ移行する（ステップＳ６９）。つまり、ゼログラディエントベクトルＧｚｅｒｏが存在した段階で、以降レイの更新を行わない。
【０１４６】
ステップＳ６８で到達座標ベクトルＲが終端条件を満たす場合には（ステップＳ６８：Ｙｅｓ）、そのレイに対応する投影面２００上のピクセルを有効ピクセルＰｅとして合成反射光データＥの値を設定する（ステップＳ７０）。
【０１４７】
そして、投影面２００上のすべてのピクセルについて有効ピクセルＰｅまたは無効ピクセルＰｚｅｒｏを設定してレイキャスティングを終了後、レイキャストループを終了する（ステップＳ７１）。
【０１４８】
その後、ゼログラディエントベクトルＧｚｅｒｏにより発生した無効ピクセルＰｚｅｒｏの補正処理を後に詳述する動作に基づいて行う（ステップＳ７２）。以上により図６に示す処理を終了する。
【０１４９】
これまで説明した図６に示すすべての処理は、制御部１０４の制御に基づいて実行される。
【０１５０】
次に、上述したレイキャスティング処理動作におけるステップＳ７２に示すゼログラディエントベクトルＧｚｅｒｏにより発生した無効ピクセルＰｚｅｒｏの補正処理について説明する。
【０１５１】
まず、有効ピクセルＰｅを用いた無効ピクセルＰｚｅｒｏの補正について図７を用いて説明する。
【０１５２】
図７中、「○」は補正処理用ピクセルＰｍであり、「×」は無効ピクセルＰｚｅｒｏである。
【０１５３】
補正処理用ピクセルＰｍは、無効ピクセルＰｚｅｒｏの周囲近傍に位置する有効ピクセルＰｅ（ゼログラディエントベクトルを有するボクセルを透過していないレイに対応するピクセル）である。
【０１５４】
有効ピクセル数ＣＰは、前記補正処理用ピクセルＰｍの数である。
無効ピクセルＰｚｅｒｏは、補正処理用ピクセルＰｍのピクセル値の和を、有効ピクセル数ＣＰで割った値（式（９）参照。）より求められる補正ピクセルＰａの値に置き換えることにより補正可能である。
【０１５５】
【数９】
2004094598.tif 000011
図７（ａ）は、無効ピクセルＰｚｅｒｏをその周囲４個の補正処理用ピクセルＰｍから補正した一例である。この場合、有効ピクセル数ＣＰは４であり、式（９）により補正ピクセルＰａを求めることが可能である。
【０１５６】
図７（ｂ）は、無効ピクセルＰｚｅｒｏをその周囲３個の補正処理用ピクセルＰｍから補正した一例である。この場合、有効ピクセル数ＣＰは３であり、式（９）により補正ピクセルＰａを求めることが可能である。
【０１５７】
図７（ｃ）は、無効ピクセルＰｚｅｒｏをその周囲２個の補正処理用ピクセルＰｍから補正した一例である。この場合、有効ピクセル数ＣＰは２であり、式（９）により補正ピクセルＰａを求めることが可能である。
【０１５８】
そして、図７（ｄ）は、無効ピクセルＰｚｅｒｏをその隣接する一の補正処理用ピクセルＰｍから補正した一例である。この場合、有効ピクセル数ＣＰは１であり、式（９）により補正ピクセルＰａを求めることが可能である。つまり、この場合は、隣接する有効ピクセルＰｅをそのまま代用することになる。
【０１５９】
上述した例では、補正処理用ピクセルＰｍを１つから４つ用いて補正処理を行った場合について説明したが、これには限られず、５つ以上の補正処理用ピクセルＰｍを用いてもよい。
【０１６０】
次に、上述したレイキャスティング処理動作におけるステップＳ７２に示すピクセル補正処理における、投影面２００上のスキャンについて説明する。
【０１６１】
無効ピクセルＰｚｅｒｏの補正処理に際し、投影面２００上をピクセルＰごとにスキャンを行い、無効ピクセルの周囲の補正処理用ピクセルＰｍを用いて無効ピクセルＰｚｅｒｏの補正処理を行う。
【０１６２】
投影面２００上のスキャンはそのスキャンの方向により、図８に示す如く、第１の方向としての順方向スキャン（図８（ａ））と第２の方向としての逆方向スキャン（図８（ｂ））がある。
【０１６３】
図９は無効ピクセルＰｚｅｒｏの補正処理について図８に示した順方向および逆方向にてスキャンしたときの説明図である。
【０１６４】
図９（ａ）は無効ピクセルＰｚｅｒｏの補正処理を行う前の説明図である。「○」は有効ピクセルＰｅであり、「×」は無効ピクセルＰｚｅｒｏである。
【０１６５】
図９（ｂ）は順方向スキャンを行った場合の結果である。「○」は有効ピクセルＰｅであり、「△」は周囲の補正処理用ピクセルＰｍにより補正された補正ピクセルＰａであり、「×」は順方向スキャンを行った後に補正されずに残った無効ピクセルＰｚｅｒｏである。
【０１６６】
図９（ｃ）は図９（ｂ）に示す順方向スキャンの後、続けて逆方向スキャンを行った場合の結果である。図９（ｃ）中、「○」は有効ピクセルＰｅおよび順方向スキャンを行い補正された補正ピクセルＰａであり、「△」は逆方向スキャンにより補正された補正ピクセルＰａである。
【０１６７】
図９（ａ）中、無効ピクセルＰｚｅｒｏ１は、順方向スキャンによって補正処理用ピクセルＰｍ１により補正されて、図９（ｂ）中の補正ピクセルＰａ１と置き換えられ、無効ピクセルＰｚｅｒｏ２は補正処理用ピクセルＰｍ２´と補正処理用ピクセルＰｍ２´´により補正されて置き換えられ、図９（ｂ）中の補正ピクセルＰａ２となる。このとき、補正処理用ピクセルＰｍ２´´は、順方向スキャンによって直前に補正されたピクセルである。
【０１６８】
このように、スキャン中に補正されたピクセルを他の無効ピクセルＰｚｅｒｏの補正に利用する。
【０１６９】
同様にして、図９（ｂ）中、無効ピクセルＰｚｅｒｏ３は、逆方向スキャンによって補正処理用ピクセルＰｍ３により補正されて置き換えられ、図９（ｃ）中の補正ピクセルＰａ３となる。
【０１７０】
なお、他のスキャン方向の例では図１０に示す如く、図１０（ａ）、図１０（ｂ）および図１０（ｃ）のような（示す例には限られない）順方向、逆方向の組み合わせであってもよい。
【０１７１】
これによれば、投影面上のピクセルのうち、有効ピクセルＰｅが１つしか存在せず、残りのすべてのピクセルが無効ピクセルＰｚｅｒｏであった場合であっても、順方向と逆方向のスキャンを行うことにより、只１つの有効ピクセルＰｅを補正処理用ピクセルＰｍとして用いて、投影面上に存在するすべての無効ピクセルＰｚｅｒｏを補正ピクセルＰａと置き換えられて補正することが可能である。
【０１７２】
また、本実施の形態においては、有効ピクセル数閾値ＭＢを１にあらかじめ設定する。有効ピクセル数閾値ＭＢとは、補正処理用ピクセル候補Ｐｍ’のうち、補正を行う有効ピクセル数ＣＰの閾値を設定するためのものである。
【０１７３】
つまり、補正処理用ピクセル候補Ｐｍ’をＭＡ個取得し、そのうち有効ピクセル数ＣＰが１個（有効ピクセル数閾値ＭＢ）以上でない場合は補正しないとするものである。この有効ピクセル数閾値ＭＢは大きな値であるほど補正の精度が高くなり、１に近づくほど補正の精度が低くなる。
【０１７４】
次に、第２の実施の形態における無効ピクセルＰｚｅｒｏの補正処理（レイキャスティング処理動作のステップＳ７２に示す。）の実施の動作について図１１に示すフローチャートに基づいて説明する。
【０１７５】
まず、データ記憶領域１０１ａのスキャン方向を示すスキャンフラグＳＦおよびスキャンの回数を示すスキャンカウントＣＳを０としてデータ記憶領域１０１ａに書込んで初期化し、また、有効ピクセル数閾値ＭＢを１に設定する（ステップＳ９０）。
【０１７６】
その後、スキャンカウントＣＳを１増加させて更新する（ステップＳ９１）。
【０１７７】
そして、補正処理ループに移行する（ステップＳ９２）。この補正処理ループにおいて、データ記憶領域１０１ａのスキャンカウントＣＳが奇数である場合には投影面上のピクセルＰを順方向にスキャンを行い、偶数である場合には逆方向にスキャンを行う。
【０１７８】
補正処理ループでは、投影面２００上のピクセルが無効ピクセルＰｚｅｒｏであるか否かの判定を行う（ステップＳ９３）。
【０１７９】
無効ピクセルＰｚｅｒｏでない場合には（ステップＳ９３：Ｎｏ）、補正の必要がないので、ステップＳ１０３へ移行して次のピクセルＰについて判定を行う。
【０１８０】
一方、ピクセルが無効ピクセルＰｚｅｒｏである場合には（ステップＳ９３：Ｙｅｓ）、その周囲のＭＡ個のピクセルＰのピクセル値を補正処理用ピクセル候補Ｐｍ’として取得する（ステップＳ９４）。
【０１８１】
そして、補正処理用ピクセル候補Ｐｍ’を取得した後、有効ピクセル数ＣＰを０としてデータ記憶領域１０１ａに書込み、初期化する（ステップＳ９５）。
【０１８２】
次に、有効ピクセル数ＣＰの数を求めるためのカウントループ処理を行う（ステップＳ９６）。取得したＭＡ個の補正処理用ピクセル候補Ｐｍ’のうち、一の補正処理用ピクセルが無効ピクセルＰｚｅｒｏであるか否かを判定する（ステップＳ９７）。補正処理は有効ピクセルＰｅを使用して補正するからである。
【０１８３】
ステップＳ９７の判定の結果、前記補正処理用ピクセル候補Ｐｍ’が無効ピクセルＰｚｅｒｏであった場合には（ステップＳ９７：Ｙｅｓ）、そのままステップＳ９９へ移行し、次の一の補正処理用ピクセル候補Ｐｍ’について、ステップＳ９７のカウントループ処理により同様の処理を行う。
【０１８４】
一方、ステップＳ９７の判定の結果、前記補正処理用ピクセル候補Ｐｍ’が無効ピクセルＰｚｅｒｏでなかった場合には（ステップＳ９７：Ｎｏ）、前記補正処理用ピクセル候補Ｐｍ’は有効であるとして、データ記憶領域１０１ａの有効ピクセル数ＣＰに１を加算し、ステップＳ９９へ移行する（ステップＳ９８）。
【０１８５】
取得したＭＡ個の補正処理用ピクセル候補Ｐｍ’のすべてについて無効ピクセルＰｚｅｒｏであるか否かの判定とカウントを終了したときに、有効ピクセル数のカウントループ処理を終了する（ステップＳ９９）。
【０１８６】
そして、上述したカウントループ処理の結果、データ記憶領域１０１ａに記憶された有効ピクセル数ＣＰが有効ピクセル数閾値ＭＢ以上であるか否かを判定する（ステップＳ１００）。
【０１８７】
判定の結果、有効ピクセル数ＣＰが１以上（有効ピクセル数閾値ＭＢ以上）であった場合には（ステップＳ１００：Ｙｅｓ）、この有効な補正処理用ピクセル候補Ｐｍ’を補正処理用ピクセルＰｍとして用いて、補正ピクセルＰａを演算部１０２の演算により式（９）に従って算出し、無効ピクセルＰｚｅｒｏと置き換えられ（ステップＳ１０１）、その後、ステップＳ１０３へ移行する。
【０１８８】
一方、判定の結果、有効ピクセル数ＣＰが１未満（有効ピクセル数閾値ＭＢ未満）であった場合、つまり０であった場合には（ステップＳ１００：Ｎｏ）、スキャンフラグＳＦに１を設定し、Ｓ１０３へ移行する（ステップＳ１０２）。
【０１８９】
そして、投影面２００上のすべてのピクセルＰについて、補正処理が終了したときに、補正処理ループを終了する（ステップＳ１０３）。
【０１９０】
その後、▲１▼スキャンフラグＳＦが１であるか否か、▲２▼スキャンカウントＣＳが１であるか否か、を判定し（ステップＳ１０４）、▲１▼スキャンフラグＳＦが１ではない、または、▲２▼スキャンカウントＣＳが１ではない、場合は（ステップＳ１０４：Ｎｏ）、レイキャスティングによって無効ピクセルＰｚｅｒｏが存在しなかったか、あるいは１回目のスキャンによってすべての無効ピクセルＰｚｅｒｏが補正された状態であるので、図１１のフローチャートに基づく処理を終了し、図６のフローチャートに戻る。
【０１９１】
一方、▲１▼スキャンフラグＳＦが１である、かつ、▲２▼スキャンカウントＣＳが１である、場合には（ステップＳ１０４：Ｙｅｓ）、まだ無効ピクセルＰｚｅｒｏが存在しているので、ステップＳ９１に移行して逆方向スキャンを行う。
【０１９２】
なお、これまで説明したピクセル補正処理の動作におけるすべての処理は、制御部１０４の制御に基づいて実行される。
【０１９３】
ステップＳ９２でスキャンカウントＣＳが奇数である場合には投影面２００上のピクセルＰを順方向にスキャンを行い、偶数である場合には逆方向にスキャンを行うとしたが、スキャンカウントＣＳが偶数である場合は順方向にスキャンを行い、奇数である場合に逆方向にスキャンを行うとしてもよい。
【０１９４】
また、以上の説明において補正処理用ピクセルＰｍの平均値を用いて無効ピクセルの補正を行っているが、補正の方法はこれには限られず、スプライン補間など他の補間方法によって補正を行ってもよい。
【０１９５】
また、無効ピクセルＰｚｅｒｏの周辺に位置しないピクセルを補正処理用ピクセルＰｍとして用いても本発明は実施可能であるが、周辺に位置する補正処理用ピクセルＰｍを用いることにより、補正対象領域の性質を反映し、高い補正精度を得ることが可能になる。
【０１９６】
なお、本実施の形態はレイの投影法にはよらず、平行投影、透視投影等の種々の投影法で実施可能である。
【０１９７】
以上説明した第２の実施の形態によれば、ボクセル空間３００内に、ゼログラディエントベクトルＧｚｅｒｏが存在する場合であっても、ゼログラディエントベクトルＧｚｅｒｏを有するレイに対応する投影面２００上のピクセルＰを無効ピクセルＰｚｅｒｏとし、以降、レイを更新しないことで到達座標ベクトルが終端条件を満たすまでの種々の演算を行わないようにするため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【０１９８】
また、近傍に位置する補正処理用ピクセルＰｍによって算出した補正ピクセルＰａによって、無効ピクセルＰｚｅｒｏを置き換えることにより、図１４に示す如く、投影面２００上に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【０１９９】
さらに、直前に補正されたピクセルを補正処理用ピクセルＰｍとして用いたため、投影面２００上に有効ピクセルＰｅが１つ以上存在すれば、順方向スキャンと逆方向スキャンの最大２回のスキャンで、投影面２００上のすべての無効ピクセルＰｚｅｒｏを補正することが可能になる。
【０２００】
（第３の実施の形態）
第３の実施の形態について説明する。
【０２０１】
三次元画像処理装置１００は、記憶部１０１、第１の取得手段および第２の算出手段としての演算部１０２、表示手段としての表示部１０３、さらには、第２の取得手段、第１および第２の設定手段、第１、第２および第３の判定手段、第２の補正手段および中止手段としての制御部１０４により構成されている。
【０２０２】
第３の実施の形態における三次元画像処理装置の構成のデータ記憶領域１０１ａは、レイキャスティングにおける入射光データＩと、レイキャスティング処理によって決定される投影面２００に対応する前記表示部１０３に映し出すための二次元画像のピクセルＰ、始点座標ベクトルＯ、ステップベクトルΔＳ、到達座標ベクトルＲ、部分反射光データＦ、合成反射光データＥ、有効ピクセル数ＣＰ、前無効ピクセル情報ＣＩＰＡおよび現無効ピクセル情報ＣＩＰＢ、補正処理用ピクセル候補取得数ＭＡおよび有効ピクセル数閾値ＭＢを記憶している。
【０２０３】
その他の構成は第１の実施の形態と同様であるので細部の説明は省略する。
【０２０４】
以下、図６に示すフローチャートに基づいて、第３の実施の形態におけるレイキャスティング処理動作について説明する。
【０２０５】
まず投影面２００における一のピクセルＰについて、ボクセル空間３００内におけるレイキャストループを開始する（ステップＳ６０）。
【０２０６】
最初に、あらかじめ定められた始点座標ベクトルＯおよびステップベクトルΔＳをデータ記憶領域１０１ａに書込み、初期化する（ステップＳ６１）。
【０２０７】
次に、到達座標ベクトルＲを始点座標ベクトルＯと同じ値に設定し、あらかじめ定められた入射光データＩをデータ記憶領域１０１ａに書込み、同様にして部分反射光データＦおよび合成反射光データＥの値を０としてデータ記憶領域１０１ａに書込んで初期化する（ステップＳ６２）。
【０２０８】
到達座標ベクトルＲのボクセル空間３００の座標（Ｒｘ（ｕ，ｖ），Ｒｙ（ｕ，ｖ），Ｒｚ（ｕ，ｖ））に位置するボクセルのグラディエントベクトルＧを演算部１０２によって式（２）および式（３）に従って算出し（ステップＳ６３）、算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏか否かを判定する（ステップＳ６４）。
【０２０９】
算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏでない場合には（ステップＳ６４：Ｎｏ）、前記ボクセル値Ｖに対応付けられてあらかじめ設定されたオパシティ値αを記憶部１０１より取得するとともに、前記算出されたグラディエントベクトルＧおよび記憶部１０１に記憶されたビューベクトルｖより、シェーディング係数βを演算部１０２の演算により式（１）に従って算出する（ステップＳ６５）。
【０２１０】
そして、ステップＳ１５で算出したシェーディング係数βと取得したオパシティ値αより、前記ボクセルの減衰光データＤおよび部分反射光データＦを演算部１０２の演算により式（５）および式（６）に従って算出する（ステップＳ６６）。
【０２１１】
その後、前記データ記憶領域１０１ａに記憶した入射光データＩを減衰光データＤだけ減少させると共に、得られた部分反射光データＦを合成反射光データＥに加算して更新し、データ記憶領域１０１ａに記憶した到達座標ベクトルＲをステップベクトルΔＳだけ更新する（ステップＳ６７）。
【０２１２】
そして、一直線上の検査対象物の三次元データをすべてレイキャストしたか否かを判定するため、データ記憶領域１０１ａに記憶した到達座標ベクトルＲが既定の終端条件を満たすか否かを判定する（ステップＳ６８）。
【０２１３】
ここで、終端条件とは、すべてのレイが検査対象物の三次元データに入射光データＩが減衰し尽くされて０になったとき、あるいは、レイが検査対象物の三次元データを透過し終わり、ボクセル値Ｖが０となったときなど、自由に設定が可能である。
【０２１４】
ステップＳ６８で到達座標ベクトルＲが終端条件を満たさない場合には（ステップＳ６８：Ｎｏ）、ステップＳ６３へ移行して、一直線上の検査対象物の三次元データのすべてについてステップＳ６３からステップ６７の処理を繰り返してレイキャスティングを行う。
【０２１５】
一方、ステップＳ６４にて算出されたグラディエントベクトルＧがゼログラディエントベクトルＧｚｅｒｏである場合には（ステップＳ６４：Ｙｅｓ）、そのレイに対応する投影面２００上のピクセルを無効ピクセルＰｚｅｒｏに設定してステップＳ７１へ移行する（ステップＳ６９）。つまり、ゼログラディエントベクトルＧｚｅｒｏが存在した段階で、以降レイの更新を行わない。
【０２１６】
ステップＳ６８で到達座標ベクトルＲが終端条件を満たす場合には（ステップＳ６８：Ｙｅｓ）、そのレイに対応する投影面２００上のピクセルを有効ピクセルＰｅとして合成反射光データＥの値を設定する（ステップＳ７０）。
【０２１７】
そして、投影面２００上のすべてのピクセルについて有効ピクセルＰｅまたは無効ピクセルＰｚｅｒｏを設定してレイキャスティングを終了後、レイキャストループを終了する（ステップＳ７１）。
【０２１８】
その後、ゼログラディエントベクトルＧｚｅｒｏにより発生した無効ピクセルＰｚｅｒｏの補正処理を後に詳述する動作に基づいて行う（ステップＳ７２）。以上により図６に示す処理を終了する。
【０２１９】
これまで説明した図６に示すすべての処理は、制御部１０４の制御に基づいて実行される。
【０２２０】
次に、無効ピクセルＰｚｅｒｏの補正処理について説明する。なお、図７に示す有効ピクセルＰｅを用いた無効ピクセルＰｚｅｒｏの補正についての説明は、第２の実施の形態と同様であるため省略する。
【０２２１】
まず、第３の実施の形態によるレイキャスティング処理動作におけるステップＳ７２に示すピクセル補正処理における、投影面２００上のスキャンについて説明する。
【０２２２】
無効ピクセルＰｚｅｒｏの補正処理に際し、投影面２００上をピクセルＰごとにスキャンを行い、無効ピクセルの周囲の補正処理用ピクセルＰｍを用いて無効ピクセルＰｚｅｒｏの補正処理を行う。
【０２２３】
図１３は無効ピクセルＰｚｅｒｏの補正処理について図８に示した順方向（図８（ａ））にてスキャンを行ったときの説明図である。
【０２２４】
ここで、補正処理用ピクセル候補取得数ＭＡと有効ピクセル数閾値ＭＢについて説明する。補正処理用ピクセル候補取得数ＭＡとは、無効ピクセルＰｚｅｒｏを補正するために取得する補正処理用ピクセル候補Ｐｍ’の数であり、有効ピクセル数閾値ＭＢとは、取得したＭＡ個の補正処理用ピクセル候補Ｐｍ’のうち、補正を行う有効ピクセル数ＣＰの閾値を設定するためのものである。
【０２２５】
つまり、補正処理用ピクセル候補Ｐｍ’をＭＡ個取得し、そのうち有効ピクセル数ＣＰがＭＢ個以上でない場合は補正しないとするものである。
【０２２６】
図７に示す例で、補正処理用ピクセル候補取得数ＭＡが４、有効ピクセル数閾値ＭＢが２である場合には、図７（ａ）、図７（ｂ）、図７（ｃ）の場合には、有効ピクセル数ＣＰが有効ピクセル数閾値ＭＢ以上なので、補正可能であり、一方、図７（ｄ）の場合には、有効ピクセル数ＣＰが１であり有効ピクセル数閾値ＭＢ以下であるため無効ピクセルは補正されないことを示す。
【０２２７】
図１３に示す例の場合は補正処理用ピクセル候補取得数ＭＡが４、有効ピクセル数閾値ＭＢが２である場合の例を示す。
【０２２８】
図中、マークのない箇所が有効ピクセルＰｅであり、「○」は前回までのスキャンによって補正された補正ピクセルＰａであり、「△」は今回のスキャンによって補正された補正ピクセルＰａであり、「×」は無効ピクセルＰｚｅｒｏである。
【０２２９】
図１３（ａ）は無効ピクセルＰｚｅｒｏの補正処理を行う前の説明図である。
【０２３０】
図１３（ｂ）は図１３（ａ）に対してスキャンを行った場合の結果であり、図１３（ｃ）は図１３（ｂ）に対して、図１３（ｄ）は図１３（ｃ）に対してスキャンを行った場合の結果である。
【０２３１】
図１３（ａ）中、無効ピクセルＰｚｅｒｏ１は、スキャンによって補正処理用ピクセルＰｍ１´と補正処理用ピクセルＰｍ１´´により補正されて、図１３（ｂ）中の補正ピクセルＰａ１と置き換えられ、無効ピクセルＰｚｅｒｏ２は補正処理用ピクセルＰｍ２´と補正処理用ピクセルＰｍ２´´により補正されて置き換えられ、図１３（ｂ）中の補正ピクセルＰａ２となる。
【０２３２】
同様にして、図１３（ｂ）中、無効ピクセルＰｚｅｒｏ３は、再スキャンによって補正処理用ピクセルＰｍ３´と補正処理用ピクセルＰｍ３´´により補正されて置き換えられ、図１３（ｃ）中の補正ピクセルＰａ３となり、図１３（ｃ）中、無効ピクセルＰｚｅｒｏ４は、再々スキャンによって補正処理用ピクセルＰｍ４´と補正処理用ピクセルＰｍ４´´と補正処理用ピクセルＰｍ４´´´により補正されて置き換えられ、図１３（ｄ）中の補正ピクセルＰａ４となる。
【０２３３】
また、スキャン中に補正されたピクセルを補正処理用ピクセルＰｍとして他の無効ピクセルＰｚｅｒｏの補正に利用した場合には図１３（ｅ）に示す如く、図１３（ａ）中に示されたすべての無効ピクセルＰｚｅｒｏを１度のスキャンで補正可能である。
【０２３４】
また、第３の実施の形態では、スキャン方向は図１０に示す如く、図１０（ａ）、図１０（ｂ）および図１０（ｃ）のような（示す例には限られない）どのようなスキャンの方向であってもよく、順方向や逆方向など、スキャンの方向はいずれであってもよいが、補正処理を開始したら、本実施の形態においてはその方向は所定の一の方向に限るものとする。
【０２３５】
次に、第３の実施の形態における無効ピクセルＰｚｅｒｏの補正処理（レイキャスティング処理動作のステップＳ７２に示す。）の実施の動作について図１２に示すフローチャートに基づいて説明する。
【０２３６】
まず、データ記憶領域１０１ａの前無効ピクセル情報ＣＩＰＡおよび現無効ピクセル情報ＣＩＰＢを０としてデータ記憶領域１０１ａに書込んで初期化し、また、有効ピクセル数閾値ＭＢを設定する（ステップＳ１５０）。
【０２３７】
そして、補正処理ループに移行する（ステップＳ１５１）。この補正処理ループにおいて、投影面上のピクセルＰのスキャンを行う。なお、本実施の形態においてはスキャンの方向は所定の一の方向に限るものとする。
【０２３８】
補正処理ループでは、投影面２００上のピクセルが無効ピクセルＰｚｅｒｏであるか否かの判定を行う（ステップＳ１５２）。
【０２３９】
判定の結果、無効ピクセルＰｚｅｒｏでない場合には（ステップＳ１５２：Ｎｏ）、補正の必要がないので、ステップＳ１６２へ移行して次のピクセルＰについて判定を行う。
【０２４０】
一方、判定の結果無効ピクセルＰｚｅｒｏである場合には（ステップＳ１５２：Ｙｅｓ）、その周囲のＭＡ個のピクセルＰのピクセル値を補正処理用ピクセル候補Ｐｍ’として取得する（ステップ１５３）。
【０２４１】
そして、補正処理用ピクセル候補Ｐｍ’を取得した後、有効ピクセル数ＣＰを０としてデータ記憶領域１０１ａに書込み、初期化する（ステップＳ１５４）。
【０２４２】
次に、有効ピクセル数ＣＰの数を求めるためのカウントループ処理を行う（ステップＳ１５５）。取得したＭＡ個の補正処理用ピクセル候補Ｐｍ’のうち、一の補正処理用ピクセルが無効ピクセルＰｚｅｒｏであるか否かを判定する（ステップＳ１５６）。補正処理は有効ピクセルＰｅを使用して補正するからである。
【０２４３】
ステップＳ１５６の判定の結果、前記補正処理用ピクセル候補Ｐｍ’が無効ピクセルＰｚｅｒｏであった場合には（ステップＳ１５６：Ｙｅｓ）、そのままステップＳ１５８へ移行し、次の一の補正処理用ピクセル候補Ｐｍ’について、ステップＳ１５５のカウントループ処理により同様の処理を行う。
【０２４４】
一方、ステップＳ１５６の判定の結果、前記補正処理用ピクセル候補Ｐｍ’が無効ピクセルＰｚｅｒｏでなかった場合には（ステップＳ１５６：Ｎｏ）、前記補正処理用ピクセル候補Ｐｍ’は有効であるとして、データ記憶領域１０１ａの有効ピクセル数ＣＰに１を加算し、ステップＳ１５８へ移行する（ステップＳ１５７）。
【０２４５】
取得したＭＡ個の補正処理用ピクセル候補Ｐｍ’のすべてについて無効ピクセルＰｚｅｒｏであるか否かの判定とカウントを終了したときに、有効ピクセル数のカウントループ処理を終了する（ステップＳ１５８）。
【０２４６】
そして、上述したカウントループ処理の結果、データ記憶領域１０１ａに記憶された有効ピクセル数ＣＰがステップＳ１５０で設定した有効ピクセル数閾値ＭＢ以上であるか否かを判定する（ステップＳ１５９）。
【０２４７】
判定の結果、有効ピクセル数ＣＰが有効ピクセル数閾値ＭＢ以上であった場合には（ステップＳ１５９：Ｙｅｓ）、この有効な補正処理用ピクセル候補Ｐｍ’を補正処理用ピクセルＰｍとして用いて、補正ピクセルＰａを演算部１０２の演算によって式（９）に従って算出し、算出された補正ピクセルＰａが無効ピクセルＰｚｅｒｏと置き換えられ（ステップＳ１６１）、その後、ステップＳ１６２へ移行する。
【０２４８】
一方、判定の結果、有効ピクセル数閾値ＭＢ未満であった場合は（ステップＳ１５９：Ｎｏ）、データ記憶領域１０１ａの現無効ピクセル情報ＣＩＰＢを１増加させて、Ｓ１６２へ移行する（ステップＳ１６０）。
【０２４９】
そして、投影面２００上のすべてのピクセルＰについて、補正処理が終了したときに、補正処理ループを終了する（ステップＳ１６２）。
【０２５０】
その後、現無効ピクセル情報ＣＩＰＢが０であるか否かを判定する（ステップＳ１６３）。
【０２５１】
判定の結果、現無効ピクセル情報ＣＩＰＢが０である場合には（ステップＳ１６３：Ｙｅｓ）、レイキャスティングによって無効ピクセルＰｚｅｒｏが存在しなかったか、あるいは１回目のスキャンによってすべての無効ピクセルＰｚｅｒｏが補正された状態であるので、図１２のフローチャートに基づく処理を終了し、図６のフローチャートに戻る。
【０２５２】
一方、現無効ピクセル情報ＣＩＰＢが０でない場合には（ステップＳ１６３：Ｎｏ）、ステップＳ１６４へ移行して、現無効ピクセル情報ＣＩＰＢと前無効ピクセル情報ＣＩＰＡが等しいか否かを判定する（ステップＳ１６４）。
【０２５３】
判定の結果、現無効ピクセル情報ＣＩＰＢと前無効ピクセル情報ＣＩＰＡが等しい場合には（ステップＳ１６４：Ｙｅｓ）、今回のスキャンによっては無効ピクセルＰｚｅｒｏがまったく補正されなかった状態であるので、補正できなかった無効ピクセルＰｚｅｒｏを補正するために有効ピクセル数閾値ＭＢを１減少させてステップＳ１６６へ移行する。
【０２５４】
一方、現無効ピクセル情報ＣＩＰＢと前無効ピクセル情報ＣＩＰＡが異なる場合には（ステップＳ１６４：Ｎｏ）、前無効ピクセル情報ＣＩＰＡには現無効ピクセル情報ＣＩＰＢに記憶された数をデータ記憶領域１０１ａに書込んで設定し、現無効ピクセル情報ＣＩＰＢには０をデータ記憶領域１０１ａに書込んで設定した後、ステップＳ１５１に移行して、無効ピクセルＰｚｅｒｏの補正処理を行う（ステップＳ１６６）。
【０２５５】
なお、これまで説明したピクセル補正処理の動作におけるすべての処理は、制御部１０４の制御に基づいて実行される。
【０２５６】
また、上述した動作においては、補正されたばかりのピクセルを同じスキャン中に補正処理用ピクセルＰｍとして採用してもしなくても実行可能である。
【０２５７】
また、以上の説明において補正処理用ピクセルＰｍの平均値を用いて無効ピクセルの補正を行っているが、補正の方法はこれには限られず、スプライン補間など他の補間方法によって補正を行ってもよい。
【０２５８】
なお、本実施の形態はレイの投影法にはよらず、平行投影、透視投影等の種々の投影法で実施可能である。
【０２５９】
以上説明した第３の実施の形態によれば、ボクセル空間３００内に、ゼログラディエントベクトルＧｚｅｒｏが存在する場合であっても、ゼログラディエントベクトルＧｚｅｒｏを有するレイに対応する投影面２００上のピクセルＰを無効ピクセルＰｚｅｒｏとし、以降、レイを更新しないことで到達座標ベクトルが終端条件を満たすまでの種々の演算を行わないようにするため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【０２６０】
さらに、補正処理用ピクセル候補取得数ＭＡをステップＳ１５０で例えば４や６や８など大きな値に設定しておけば、精度の高い無効ピクセルの補正が可能になる。
【０２６１】
また、近傍に位置する補正処理用ピクセルＰｍによって算出した補正ピクセルＰａによって、無効ピクセルＰｚｅｒｏを置き換えることにより、図１４に示す如く、投影面２００上に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【０２６２】
上述した動作フロー中のステップＳ１６６において、有効ピクセル数閾値ＭＢを１づつ減少させることにより、補正処理用ピクセル候補Ｐｍ’として取得可能な有効なピクセル数を最大に保ったまま、つまり、補正精度を極端に落とすことなく補正することができる。
【０２６３】
【発明の効果】
以上説明したように請求項１に記載した発明によれば、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【０２６４】
また、請求項２に記載した発明によれば、請求項１に記載した発明の効果に加えて、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【０２６５】
また、請求項３に記載した発明によれば、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正するようコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【０２６６】
また、請求項４に記載した発明によれば、請求項３に記載した発明の効果に加えて、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【０２６７】
また、請求項５に記載した発明によれば、請求項３に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータによって読み出して実行することにより、ボクセル空間内に、ゼログラディエントベクトルが存在する場合であっても、ゼログラディエントベクトルを、補正処理用グラディエントベクトルによって算出した補正グラディエントベクトルによって補正することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を改善することが可能になる。
【０２６８】
また、請求項４に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータによって読み出して実行することにより、補正対象領域の性質を反映した補正処理用グラディエントベクトルを用いることができるので、より精度の高い補正が可能になる。
【０２６９】
また、請求項６に記載した発明によれば、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えることにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【０２７０】
また、請求項７に記載した発明によれば、請求項６に記載した発明の効果に加えて、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止することにより、以降、ボクセル空間のレイがあらかじめ定められた終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【０２７１】
また、請求項８に記載した発明によれば、請求項６または請求項７に記載した発明の効果に加えて、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【０２７２】
また、請求項９に記載した発明によれば、請求項６から請求項８のいずれか一項に記載の発明の効果に加えて、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【０２７３】
また、請求項１０に記載した発明によれば、請求項６から請求項９のいずれか一項に記載の発明の効果に加えて、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【０２７４】
また、請求項１１に記載した発明によれば、請求項６から請求項９のいずれか一項に記載の発明の効果に加えて、種々の方向からスキャンすることにより、補正処理速度がより速くなる。また、直前に補正されたピクセルを補正処理用ピクセルとして用いれば、投影面上に１つの有効ピクセルがあれば、最大２回のスキャンで投影面上のすべての無効ピクセルを補正することが可能になる。
【０２７５】
また、上記課題を解決すべく、請求項１２に記載した発明によれば、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えるようコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【０２７６】
また、請求項１３に記載した発明によれば、請求項１２に記載の発明の効果に加えて、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止することにより、以降、ボクセル空間のレイがあらかじめ定められた終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【０２７７】
また、請求項１４に記載した発明によれば、請求項１２または請求項１３に記載の発明の効果に加えて、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【０２７８】
また、請求項１５に記載した発明によれば、請求項１２から請求項１４のいずれか一項に記載の発明の効果に加えて、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【０２７９】
また、請求項１６に記載した発明によれば、請求項１２から請求項１５のいずれか一項に記載の発明の効果に加えて、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【０２８０】
また、請求項１７に記載した発明によれば、請求項１２から請求項１５のいずれか一項に記載の発明の効果に加えて、種々の方向からスキャンすることにより、補正処理速度がより速くなる。また、直前に補正されたピクセルを補正処理用ピクセルとして用いれば、投影面上に１つの有効ピクセルがあれば、最大２回のスキャンで投影面上のすべての無効ピクセルを補正することが可能になる。
【０２８１】
また、請求項１８に記載した発明によれば、請求項１２に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、ゼログラディエントベクトルを有するボクセルを含むレイに対応する投影面上のピクセルを無効ピクセルとし、また、補正処理用ピクセルによって算出した補正ピクセルによって、無効ピクセルを置き換えるようにコンピュータが機能することにより、投影面に対応付けられる表示部などの表示手段に偽像を表示したり、完全に像を表示しない状況を確実に改善することが可能になるため、より信頼性の高い三次元画像を提供することが可能になる。
【０２８２】
また、請求項１３に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、ゼログラディエントベクトルを有するレイに対応する投影面上のピクセルを無効ピクセルとし、ゼログラディエントベクトルが存在した時点で、当該ボクセル列のレイキャスティングを中止する制御部などの中止手段としてコンピュータが機能することにより、以降、到達座標ベクトルが終端条件を満たすまでの種々の演算をおこなわないため、三次元画像処理装置としての処理速度が速くなり、大容量の三次元画像データを処理するにあたっては威力を発揮する。
【０２８３】
また、請求項１４に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、補正対象領域の性質を反映した補正処理用ピクセルを用いることができるので、より精度の高い補正が可能になる。
【０２８４】
また、請求項１５に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、直前に補正されたピクセルも補正処理用ピクセルとして用いることができるため、補正処理速度がより速くなる。
【０２８５】
さらに、請求項１６に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、有効ピクセル数閾値を減少させて再スキャンすることにより、補正できなかった無効ピクセルを確実に補正することができる。
【０２８６】
さらに、請求項１７に記載の三次元画像処理プログラムが記録されている場合には、これをコンピュータにより読み出して実行することにより、種々の方向からスキャンすることにより、補正処理速度がより速くなる。
【図面の簡単な説明】
【図１】画像処理装置の概要構成を示すブロック図である。
【図２】レイキャスティングを示すイメージ図である。
【図３】第１の実施の形態におけるレイキャスティング動作を示すフローチャートである。
【図４】グラディエントベクトル補正の説明図である。
【図５】第１の実施の形態におけるグラディエントベクトル補正処理動作を示すフローチャートである。
【図６】第２および第３の実施の形態におけるレイキャスティング動作を示すフローチャートである。
【図７】グラディエントベクトル補正の説明図である。
【図８】投影面のスキャンを示す説明図である。
【図９】順方向と逆方向のスキャンによるピクセル補正処理の説明図である。
【図１０】いろいろな順方向スキャンと逆方向スキャンを示す図である。
【図１１】第２の実施の形態におけるピクセル補正処理動作を示すフローチャートである。
【図１２】第３の実施の形態におけるピクセル補正処理動作を示すフローチャートである。
【図１３】第３の実施の形態におけるスキャンによるピクセル補正処理の説明図である。
【図１４】本発明による画像表示の例である。
【図１５】レイキャスティングの説明図である。
【図１６】シェーディング係数の説明図である。
【図１７】グラディエントベクトルの算出を示す説明図である。
【図１８】ボクセル列のレイキャスティングを示す説明図である。
【図１９】ゼログラディエントベクトルが発生した場合のボクセル列のレイキャスティングを示す説明図である。
【図２０】ゼログラディエントベクトルが存在する場合の従来技術による画像表示の例である。
【符号の説明】
１００　三次元画像処理装置
１０１　記憶部
１０１ａ　データ記憶領域
１０２　演算部
１０３　表示部
１０４　制御部
２００　投影面
３００　ボクセル空間
Ｉ　入射光データ
Ｄ　減衰光データ
Ｖ　ボクセル値
α　オパシティ値
β　シェーディング係数
Ｇ　グラディエントベクトル
ｖ　ビューベクトル
Ｏ　始点座標ベクトル
ΔＳ　ステップベクトル
Ｒ　到達座標ベクトル
Ｆ　部分反射光データ
Ｅ　合成反射光データ
Ｐ　ピクセル
Ｇｚｅｒｏ　ゼログラディエントベクトル
Ｐｅ　有効ピクセル
Ｐｚｅｒｏ　無効ピクセル
Ｇｍ　補正処理用グラディエントベクトル
Ｇｍ’　　補正処理用グラディエントベクトル候補
ＣＧ　有効グラディエントベクトル数
Ｇａ　補正グラディエントベクトル
Ｐｍ　補正処理用ピクセル
Ｐｍ’　　補正処理用ピクセル候補
Ｐａ　補正ピクセル
ＣＰ　有効ピクセル数
ＳＦ　スキャンフラグ
ＣＳ　スキャンカウント
ＣＩＰＡ　前無効ピクセル情報
ＣＩＰＢ　現無効ピクセル情報
ＭＡ　補正処理用ピクセル候補取得数
ＭＢ　有効ピクセル数閾値
【図１】
2004094598.tif 000012
【図２】
2004094598.tif 000013
【図３】
2004094598.tif 000014
【図４】
2004094598.tif 000015
【図５】
2004094598.tif 000016
【図６】
2004094598.tif 000017
【図７】
2004094598.tif 000018
【図８】
2004094598.tif 000019
【図９】
2004094598.tif 000020
【図１０】
2004094598.tif 000021
【図１１】
2004094598.tif 000022
【図１２】
2004094598.tif 000023
【図１３】
2004094598.tif 000024
【図１４】
2004094598.tif 000025
【図１５】
2004094598.tif 000026
【図１６】
2004094598.tif 000027
【図１７】
2004094598.tif 000028
【図１８】
2004094598.tif 000029
【図１９】
2004094598.tif 000030
【図２０】
2004094598.tif 000031