JP2019114035A - コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ - Google Patents

コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ Download PDF

Info

Publication number
JP2019114035A
JP2019114035A JP2017246756A JP2017246756A JP2019114035A JP 2019114035 A JP2019114035 A JP 2019114035A JP 2017246756 A JP2017246756 A JP 2017246756A JP 2017246756 A JP2017246756 A JP 2017246756A JP 2019114035 A JP2019114035 A JP 2019114035A
Authority
JP
Japan
Prior art keywords
voxel
voxels
value
opacity
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017246756A
Other languages
English (en)
Other versions
JP7013849B2 (ja
Inventor
茂出木 敏雄
Toshio Modegi
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017246756A priority Critical patent/JP7013849B2/ja
Publication of JP2019114035A publication Critical patent/JP2019114035A/ja
Application granted granted Critical
Publication of JP7013849B2 publication Critical patent/JP7013849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Nuclear Medicine (AREA)
  • Image Processing (AREA)

Abstract

【課題】モアレを抑制するコンピュータプログラムを提供する。【解決手段】z軸方向に沿って所定間隔で撮像された複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、ボクセル構造体の不透明度が所定値である対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値を補正し、RGB値が補正されたボクセルで構成される3Dテクスチャ画像を生成し、3Dテクスチャ画像に所定の変換を行って変換後3Dテクスチャ画像を生成し、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定し、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値をアルファブレンディングして得られたRGB値に基づいてレンダリング画像を生成する。【選択図】図9

Description

本開示は、コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータに関する。
医療分野においては、CT(Computed Tomography)、MRI(Magnetic Resonance Imaging)、PET(Positron Emission Tomography)などの医用画像診断機器により所定のスライス間隔で連続的に撮影され、DICOM(Digital Imaging and COmmunications in Medicine)形式で保管された2次元の断層画像に基づいて、臓器等の観察対象物を3次元的に可視化して画像診断支援、手術又は治療支援に役立てるための技術が開発されている。
観察対象物の内部組織を3次元画像表示する代表的な手法としてボリュームレンダリング手法が知られている。ボリュームレンダリング手法としては、レイキャスティング及びテクスチャベースのレンダリングが知られている。特許文献1には、複数の断層画像を積層して3次元ボクセル空間を構築し、3次元ボクセル空間に対して任意の視点方向からレイ(仮想光線)を照射し、視線上にあるサンプリング点において色及び輝度値を視線に沿って累積計算するレイキャスティングが開示されている。具体的には、視点方向が3次元座標軸のZ軸と平行になるように座標変換を施し、座標変換後の3次元ボクセル空間に対して、Z軸方向にレイを照射し、XY平面上の投影面(スクリーン)に、投影結果をピクセル値として算出するものである。
また、特許文献2には、テクスチャマッピング機能とアルファブレンディング機能を用いてボリュームデータ全体をスライスデータの積み重ねで表現することにより、グラフィックスハードウェアのポリゴン表示機能を利用するテクスチャベースのレンダリングが開示されている。
特開平11−175743号公報 特許第3589654号公報
特許文献1及び特許文献2に開示された座標変換は一般に実数演算で行われるが、座標変換後の座標値はボクセル座標という離散的な値に整数化され、この過程で丸め誤差が累積し、周期的なパターンが生成される。この周期的なパターンは単一のスライス画像では肉眼では認識できない微弱なものであるが、本願のように複数のスライス画像が積層された画像を合成しようとすると、たとえ各スライス画像が座標変換によりずれていても、パターンの周期性の位相条件を満たせば干渉縞が生成され、肉眼的に顕著なモアレとして認識される。特に、テクスチャベースのレンダリングでは、レイキャスティングに比べて積層される画像の枚数が多くなるため、モアレが発生しやすい。このようなモアレが発生すると、画質が低下し、病変部が判別しにくくなり、あるいはモアレを誤って病変部と判別する可能性が生じる。
本開示は、斯かる事情に鑑みてなされたものであり、モアレを抑制することができるコンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータを明らかにする。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と、RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
本開示によれば、モアレを抑制することができる。
本実施の形態の画像処理装置としてのレイキャスティング装置の構成の一例を示すブロック図である。 DICOM形式の断層画像の一例を示す模式図である。 本実施の形態のカラーマップデータの第1例を示す説明図である。 本実施の形態のカラーマップデータの第2例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による階調圧縮処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による平滑化処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピングの概念を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。 本実施の形態の3Dテクスチャマッピング装置による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。 本実施の形態の3Dテクスチャマッピング装置によるROIクリッピング領域外のボクセルの透明化処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるダミー透明画像付加処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による断層画像の外縁部のボクセルの透明化処理の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による投影画面設定の一例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置による透明ボクセルの色補間処理の手順の一例を示すフローチャートである。 本実施の形態の3Dテクスチャマッピング装置によるレンダリング処理の手順の一例を示すフローチャートである。 3Dテクスチャマッピングとの対応付け方法の一例を示す説明図である。 本実施の形態の画像処理部の構成の他の例を示すブロック図である。 曲線状のモアレが発生する様子の一例を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第1例を示す説明図である。 ストライプ・格子状のモアレが発生する様子の一例を示す模式図である。 座標変換時の丸め誤差の発生の様子の一例を示す説明図である。 座標変換により周期パターンの発生の様子の一例を示す模式図である 本実施の形態の3Dテクスチャマッピング装置による色補間の様子の一例を示す模式図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第2例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第3例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第4例を示す説明図である。 本実施の形態の3Dテクスチャマッピング装置によるモアレ対策結果の第5例を示す説明図である。
以下、本開示の実施の形態を図面に基づいて説明する。図1は本実施の形態の画像処理装置としての3Dテクスチャマッピング装置100の構成の一例を示すブロック図である。本実施の形態の3Dテクスチャマッピング装置100は、入力部10、記憶部11、出力部12、画像処理部20などを備える。画像処理部20は、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、色補間部28、ROI(Region of Interest)クリッピング処理部29などを備える。
入力部10は、取得部としての機能を有し、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する。より具体的には、入力部10は、観察対象物(例えば、臓器、脳、骨、血管などを内部に含む人体・動物の様々な部位)に対して所定の間隔で断層撮影された複数の2次元の断層画像のDICOM(Digital Imaging and COmmunications in Medicine)形式の画像データを取得する。
図2はDICOM形式の断層画像の一例を示す模式図である。図2に示すようにxyz軸を設定した場合、xy平面画像である2次元の断層画像が、z軸方向に沿って複数並んでいる。Sxはx軸方向の画素数であり、Syはy軸方向の画素数であり、Szは断層画像の枚数である。なお、Szはz軸方向の画素数を表す。Rxyはx方向及びy方向の解像度であり、画素の間隔の逆数、すなわち単位距離あたりの画素数を示す。x軸方向とy軸方向の解像度は等しいが、異なっていてもよい。Rzはz軸方向の解像度であり、隣り合う断層画像の間隔の逆数、すなわち単位距離あたりの画像数を表す。各断層画像の座標(x,y,z)での画素値をDo(x,y,z)で現す。Do(x,y,z)は、−32768以上、32767以下の値を取り得る。画素値Do(x,y,z)は、例えば、CT画像の場合、水が0を示し、水よりも密度の高い組織(例えば、骨など)は正値となり、水よりも密度の低い組織(例えば、脂肪組織など)は負値となる。断層画像の座標(x,y,z)において、x座標は0以上、Sx−1以下の値をとり、y座標は0以上、Sy−1以下の値をとり、z座標は0以上、Sz−1以下の値をとる。
また、入力部10は、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する。
図3は本実施の形態のカラーマップデータの第1例を示す説明図である。第1例のカラーマップデータをCmap(v,c)で示す。変数vは、Do(x,y,z)の画素値を示し、Do(x,y,z)の範囲と同様に、−32768以上、32767以下の範囲内の数値を表す。変数cは、0、1、2、3の値を含み、c=0は、RGBのR値を示し、c=1はG値を示し、c=2はB値を示す。c=3は不透明度αを示す。Cmap(v,c)は、0以上、255以下の数値を取り得る。図3に示すように、カラーマップデータは、スライス画像の画素値Do(x,y,z)とRGB値及び不透明度αとの関係を定義するものである。例えば、画素値Do(x,y,z)が32767の場合、R値はR(32767)となり、G値はG(32767)となり、B値はB(32767)となり、不透明度はα(32767)となる。ここで、R(32767)、G(32767)、B(32767)、及びα(32767)は、画素値32767に対応していることを便宜上示すものであり、実際には適切な数値となる。また、カラーマップデータは、−32768から32767までの全ての画素値に対して定義する必要はなく、CT画像の場合、通常は−2048から2048の範囲をとるように調整されるため、−32768から−2048の範囲、および2048から32767の範囲のRGB値及び不透明度は全て0に設定するようにしてもよい。
図4は本実施の形態のカラーマップデータの第2例を示す説明図である。第2例のカラーマップデータをCmap8(v,c)で示す。後述するように、DICOM画像を、例えば、16ビットから8ビットへ階調圧縮した場合、画素値を、−32768以上、32767以下の範囲から、0以上、255以下の範囲とすることができる。Cmap8(v,c)の変数vは、0以上、255以下の範囲内の数値となる。変数cは第1例と同様である。
カラーマップデータCmap(v,c)、Cmap8(v,c)を用いることにより、例えば、人体の部位毎に異なる色を付すだけでなく、部位ごとに不透明度を設定することができ、手前に位置する臓器を透明にして奥に隠れている臓器を描出するなど、観察対象を認識しやすくすることができる。
また、入力部10は、x軸中心の回転角、y軸中心の回転角、z軸中心の回転角、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率、及び注視点から視点までの距離を含む座標変換のパラメータ、xyz方向のROI(Region of Interest:関心領域)の値、並びに透視変換パラメータなどを取得する。座標変換のパラメータ、ROI値、透視変換パラメータの詳細は後述する。
記憶部11は、入力部10で取得したデータ、画像処理部20での処理結果などを記憶することができる。なお、カラーマップデータ、座標変換パラメータ、ROI値、透視変換パラメータなどを予め記憶部11に記憶する構成でもよい。
出力部12は、画像処理部20での処理結果、例えば、レンダリング処理部25で生成したレンダリング画像の画像データを表示装置(不図示)に出力する。
階調圧縮処理部21は、DICOM形式の断層画像を、例えば、8ビットの階調圧縮断層画像にする。
図5は本実施の形態の3Dテクスチャマッピング装置100による階調圧縮処理の一例を示す説明図である。階調圧縮処理部21は、複数の断層画像のうちの所定の断層画像の画素の最小値及び最大値を特定する。例えば、1からSzまでの断層画像のうち、Sz/2番目の中間の断層画像における全ての画素の最小値Dmin及び最大値Dmaxを特定することができる。なお、所定のスライス画像としては、本来は全てのスライス画像における全ての画素の最小値及び最大値を特定する方法が正確である。しかし、その場合は、一旦全ての大容量の16ビットのDICOM形式の断層画像をメモリに保持する必要が生じ、階調圧縮効果が半減する。また、この最小値Dmin及び最大値Dmaxは階調圧縮のパラメータに使用するだけで、8ビットの階調圧縮断層画像の精度には直接影響しない。そこで、単一のスライス画像の画素の最小値及び最大値を用いて、おおまかに特定する方法をとる。ただし、先頭のスライス画像では被写体が適切に映っていない場合が多いため、中間のスライス画像だけで最小値Dmin及び最大値Dmaxを特定する方法をとる。これにより、大容量の16ビットのDICOM形式の断層画像をメモリに保持することなく8ビットの階調圧縮断層画像だけをメモリに直接構築することができる。
8ビットの階調圧縮断層画像D8(x,y,z)は、D8(x,y,z)=(Do(x,y,z)−Lmin)・255/(Lmax−Lmin)という式により生成することができる。ただし、D8(x,y,z)>255の場合は、D8(x,y,z)=255とし、D8(x,y,z)<0の場合は、D8(x,y,z)=0とする。ここで、Lmin=(Dmax−Dmin)・γ+Dmin、Lmax=(Dmax−Dmin)・(1−γ)+Dminである。γは階調圧縮画像のコントラスト調整幅で、0に近いほどコントラストは増大するが輝度は小さくなる。通常は、γ=0.1に設定する。レンダリング像の輝度コントラストは、例えば、カラーマップデータなどの種々の設定で調整することができるので、γは固定値でよい。また、0≦D8(x,y,z)≦255、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1である。また、xy方向の解像度はRxy、z方向の解像度はRzである。
なお、8ビットの階調圧縮断層画像D8(x,y,z)に対しては、図4に示すカラーマップCmap8(v,c)を適用することができる。
上述のように、階調圧縮処理部21は、複数のxy平面画像のうちの所定のxy平面画像の画素の最小値Dmin及び最大値Dmaxを特定し、特定した最大値よりも小さい上限値Lmax及び特定した最小値よりも大きい下限値Lminを算出する。階調圧縮処理部21は、複数のxy平面画像の各画素の画素値の上限値Lmax及び下限値Lminの範囲内を圧縮する。すなわち、階調圧縮処理部21は、上限値Lmax及び下限値Lminの範囲を、例えば、256段階に圧縮し、上限値Lmax以上は255にし、下限値Lmin以下は0にする。
平滑化処理部22は、複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び当該注目画素のxyz方向の近傍画素の画素値に基づいて、当該一のxy平面画像を平滑化する。xy平面画像は、DICOM画像Do(x,y,z)でもよく、階調圧縮処理部21により階調圧縮された階調圧縮断層画像D8(x,y,z)でもよい。
図6は本実施の形態の3Dテクスチャマッピング装置100による平滑化処理の一例を示す説明図である。図6の例では、階調圧縮断層画像D8(x,y,z)を図示しているが、DICOM画像Do(x,y,z)でもよい。図6では、一の断層画像の注目画素D8(x,y,z)と当該注目画素の近傍に存在する26個の近傍画素D8(x+i,y+j,z+k)を示す。ここで、i=−1、0、1であり、j=−1、0、1であり、k=−1、0、1である。なお、便宜上、三つの断層画像(z−1,z,z+1)を平面的に図示している。xyz座標の平滑化された画像をD(x,y,z)とすると、D(x,y,z)は、注目画素と該注目画素の26近傍画素の画素値の平均値となる。
断層画像には、元々自然に存在する知覚可能な規則性をもたないパターンが存在する。複数の断層画像を座標変換(xyz軸回りの回転)することにより、断層画像に存在する前述のようなパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、モアレとなる。
階調圧縮断層画像D8(x,y,z)、あるいはDICOM画像Do(x,y,z)のxyz方向の26近傍画素及び注目画素の画素値の平均値で等方性(xyz方向という意味)平滑処理を行うことにより、前述の曲線状の縞模様によるモアレの発生を抑制することができる。特に、スライス間隔が粗いCT画像に対して、モアレの発生を抑制することができる。
ボクセル構造体生成部23は、各ボクセルに対してRGB値及び不透明度αが定められ、平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルで構成されるボクセル構造体を生成する。より具体的には、ボクセル構造体生成部23は、平滑化した複数のxy平面画像それぞれの各画素の画素値に対応するカラーマップデータのRGB値及び不透明度を対応付けてRGB値及び不透明度αを設定し、ボクセル構造体を生成する。すなわち、ボクセル構造体は、ボクセルが3次元的に詰まった構成(ボリュームとも称する)をなす。各ボクセルは、ボクセル値(RGB値及び不透明度α)を有する。
ボクセル構造体をV(x,y,z,c)で表す。ここで、0≦V(x,y,z,c)≦255、c=0(R)、1(G)、2(B)、3(α)、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz−1である。
また、ボクセル構造体生成部23は、RGB値及び不透明度が所定値であるボクセルを含むボクセル構造体を生成する。所定値としては、RGB値がR=G=B=0(すなわち、無色つまり黒色)で、不透明度α=0(すなわち、透明)とするが、これらはボリュームレンダリング像の計算に寄与しないボクセルの値であることを意味し、ボリュームレンダリング像の計算に寄与しない値であれば、R=G=B=0及び不透明度α=0に限定しなくてもよい。
色補間部28は、色補正部としての機能を有し、ボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、色補間して、対象ボクセルのRGB値を補正する。なお、色補間を色補正とも称する。色補間の詳細は後述する。
3Dテクスチャ画像生成部26は、RGB値が色補間されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する。すなわち、3Dテクスチャ画像生成部26は、ボクセル構造体生成部23で生成されたボクセル(RGB値及び不透明度が所定値であるボクセルを含む)に基づいて、3Dテクスチャ画像を生成する。3Dテクスチャ画像のデータは、3Dテクスチャマップとも称し、データの実体はボクセル構造体と同一である。3Dテクスチャ画像生成部26は、ボクセル構造体のボリュームをグラフィックAPI(例えば、OpenGL)の3Dテクスチャマップとして登録する。より具体的には、ボクセル構造体のボリュームは、CPUのメインメモリからGPUのビデオメモリにグラフィックAPIを介して転送され、グラフィックAPIのテクスチャ形式に変換されてビデオメモリに保持される。本願では以降、説明の便宜上グラフィックAPIとしてOpenGLを対象に処理の内容を説明するが、これに限定されない。
3DテクスチャマップをTex(xt,yt,zt,c)で表す。ここで、0≦Tex(xt,yt,zt,c)≦255、c=0(R)、1(G)、2(B)、3(α)、0≦xt≦Sx−1、0≦yt≦Sy−1、0≦zt≦Sz−1である。
なお、ボクセル構造体の座標系をOpenGLのワールド座標系で定義し、XYZ座標(−1≦x≦1、−1≦y≦1、−1≦z≦1)で表し、3Dテクスチャマップの座標系をテクスチャ座標系で定義し、OpenGLではテクスチャ座標系をSTR座標(0≦s≦1、0≦t≦1、0≦r≦1)で表す習慣がある。座標sは座標xに対応し、座標tは座標yに対応し、座標rは座標zに対応する。本実施の形態では、便宜上、ワールド座標系のXYZをXYZ座標と表し、テクスクチャ座標系のSTR座標をxyz座標と表す。
積層四角形設定部27は、ワールド座標系において、XY座標面で定義される複数の四角形をZ軸方向に所定の間隔だけずらして並べた積層四角形を設定する。積層四角形は各々が3次元空間上の4つの頂点で定義された四角形である。
変換処理部24は、変換後3Dテクスチャ画像生成部としての機能を有し、テクスチャ座標系に定義された複数のスライス画像で構成される3Dテクスチャ画像に対してテクスチャ座標系において所定の変換を行って変換後3Dテクスチャ画像を生成する。所定の変換は、透視変換処理、座標変換処理などを含む。
図7は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピングの概念を示す模式図である。図7Aは積層四角形に対して座標変換前の3Dテクスチャマップをマッピングした状態を示し、図7Bは積層四角形に対して座標変換後の3Dテクスチャマップをマッピングした状態を示す。ワールド座標(X,Y,Z)において、XY座標面上の四角形がZ軸方向に沿って複数配置されている。視点は、図7において、投影面(レンダリング像が生成される面)より上側(すなわち、Z軸の正方向)に存在する。ワールド座標系に定義した積層四角形は固定であるため、個々の四角形は、視線に対して常に垂直である。図7中、積層四角形の内部に図示した楕円形状は、マッピングされた3Dテクスチャマップ(ボクセルデータ)を示す。3Dテクスチャマップは、テクスチャ座標系において適宜所定の変換が行われるが、ワールド座標系とテクスチャ座標系との対応関係(マッピング)は固定であるため、3Dテクスチャマップの変換後に積層四角形にマッピングされている3Dテクスチャマップの内容は自動的に変更される。
図7Aに示すように、3Dテクスチャマッピングでは、ボクセルデータをテクスチャ座標系に3Dテクスチャマップとして定義し、3Dテクスチャマップをワールド座標系に定義された積層四角形の各四角形に貼り付ける。すなわち、四角形に3Dテクスチャマップの各断面(スライス)をマッピングすることにより、3Dテクスチャマップを視線に対して垂直な断面の集まりとして再構成する。
図7Bに示すように、視点の変更は、ワールド座標(X,Y,Z)に定義された積層四角形およびワールド座標系とテクスチャ座標系との対応関係を初期のまま動かさずに、四角形に貼り付けた3Dテクスチャマップをテクスチャ座標系で回転させる。これにより、個々の四角形の4頂点と3Dテクスチャマップの座標位置(図7では、xyz座標で表す)が回転により変更され、視点を変更した画像を得ることができる。
レンダリング処理部25は、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。この場合、レンダリング処理部25は、レンダリング画像のXY座標と視線方向に交差する四角形の交差座標(XYZ座標)を算出し、算出した交差座標と対応する変換後3Dテクスチャ画像のxyz座標を算出し、算出したxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする。すなわち、3Dテクスチャマップが貼り付けられた四角形を、視点から遠い順にアルファブレンディングすることでボリュームレンダリングを行う。これらの手順をOpenGLなどのグラフィックAPIを用いて指示することで、GPUの機能を利用した高速処理が可能となる。GPUの機能を利用することにより、待ち時間を抑制して高速にレンダリング画像を生成することができる。本実施の形態であれば、汎用コンピュータに装着されたビデオカードに搭載されたGPUであっても、0.1秒以内でレンダリング処理が可能であり、対話形式で(あるいはインタラクティブ性を確保して)レンダリング画像をリアルタイムに表示させることができる。
上述のように、本実施の形態のボクセル構造体のボクセルデータは、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、ボクセルデータは、ボクセル構造体のボクセルのうちRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間(色補正)されたデータを含み、ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して、所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の四角形のXY座標に対応する変換後3Dテクスチャ画像のボクセルのRGB値を視点から遠い四角形の順に当該ボクセルのアルファ値を基にアルファブレンディングして得られたRGB値を、視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
本実施の形態では、3Dテクスチャマッピング法を用いるが、一般的な2Dテクスチャマッピング法の場合には、以下のような課題がある。すなわち、2Dテクスチャマッピング法では、ボクセルデータを構成する各スライスの輪郭形状をワールド座標系において四角形で表現するところは本願と同様であるが、2次元のテクスチャ座標系においてボクセルデータを構成する各スライスの画像を複数の2Dテクスチャマップとして定義する点で異なる(本実施の形態では、全スライスの画像を3次元のテクスチャ座標系において単一の3Dテクスチャマップとして定義している)。そして、各四角形に対応するいずれかの2Dテクスチャマップを各四角形に貼り付ける(本実施の形態では、各四角形の4頂点に対応する3Dテクスチャマップ内の4つの座標を対応付けて貼り付けている)。2Dテクスチャマップは2次元のテクスチャ座標系において定義されているため、回転は2次元的にしか行えない。そのため、ワールド座標系において、積層した四角形を3次元的に回転させる方法をとらざるを得ない。そうすると、回転角度により奥行関係が崩れ、あるいは2Dテクスチャマップが反転し、積層した四角形をY軸中心に90度回転させると、四角形(厚みが0)は描画されず、レンダリング像は真っ黒になる。
また、スライスと視線とのなす角度が小さくなるにつれて投影面積が小さくなり、サンプリングされるデータの数が減少し、ボリュームレンダリングの意義が失われ、実用的なレンダリング像を得ることができない場合がある。即ち、回転角度により、ワールド座標系の積層四角形とテクスチャ座標系の2Dテクスチャマップとの対応関係を補正しないと、適切なレンダリング像を得ることができない。
本実施の形態によれば、2Dテクスチャマッピング法における課題、あるいはワールド座標を回転する場合に生じる課題を解決することができる。
次に、本実施の形態の3Dテクスチャマッピング装置100の動作について説明する。
図8及び図9は本実施の形態の3Dテクスチャマッピング装置100による3Dテクスチャマッピング処理の手順の一例を示すフローチャートである。以下では、便宜上、処理の主体を画像処理部20として説明する。画像処理部20は、DICOM画像の画像データを取得し(S11)、カラーマップデータを取得する(S12)。なお、カラーマップデータは、図3、図4で例示したものである。
画像処理部20は、変換パラメータを取得し(S13)、xyz方向のROI値を取得する(S14)。なお、変換パラメータは、座標変換パラメータ及び透視変換パラメータなどを含む。変換パラメータの詳細は後述する。画像処理部20は、DICOM画像の階調圧縮処理を行い(S15)、階調圧縮断層画像D8に対してカラーマップ定義を行う(S16)。カラーマップ定義は、階調圧縮断層画像D8の画素値に対して、RGB値及び不透明度αを定義する。なお、ステップS15の処理は必須ではなく、ステップS15の処理を実施しない場合には、DICOM画像に対してカラーマップ定義を行えばよい。ただし、カラーマップはCT画像の場合、見たい部位ごとに汎用的に定義することが可能で、与えられたDICOM画像に依存して定義されるものではないため、ステップS16の処理を省略し、あらかじめ定義されたカラーマップを流用することもできる。
画像処理部20は、階調圧縮断層画像D8の平滑化処理を行い(S17)、ボクセル構造体V(x,y,z,c)を生成する(S18)。画像処理部20は、ROIクリッピング領域外のボクセルの透明化処理を行う(S19)。
図10は本実施の形態の3Dテクスチャマッピング装置100によるROIクリッピング領域外のボクセルの透明化処理の一例を示す説明図である。図10は、z番目に位置するxy平面画像の一例を図示している。ROIによるクリッピングでは、x軸方向のROIとして、Xs−Xeを設定し、y軸方向のROIとして、Ys−Yeを設定し、図10には図示されていないが、z軸方向のROIとして、Zs−Zeを設定する。ここで、0≦Xs、Xe≦Sx−1、0≦Ys、Ye≦Sy−1、0≦Zs、Ze≦Sz−1である。すなわち、ROIクリッピング処理部29は、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する。ボクセル構造体生成部23は、ROIクリッピング領域外のボクセルの透明化処理を行う。
ボクセルの透明化処理では、x<Xsまたはx>Xeまたはy<Ysまたはy>Yeまたはz<Zsまたはz>Zeの場合、0≦c≦3に対してV(x,y,z,c)=0、すなわち、R=G=B=α=0とする(すなわち、画素の色を無色つまり黒色で、透明にする)。図10の例では、x<Xs、x>Xe、y<Ys、及びy>Yeを充足する座標(x,y)の画素の色を無色(黒色)にし、不透明度をα=0(透明)にする。
なお、色補間部28は、後述のステップS24において、ROIクリッピング領域外など透明化処理されたボクセルを含む無色・透明なボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセル(不透明ボクセル)のRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、透明化処理されたものでなく、RGB値のいずれかに1以上の値が設定されている場合(肺野の空気など)は、色補間を行わない。
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、ボリュームレンダリング処理の対象領域外であって、RGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。
ROIクリッピング切断面に限らず、ボリュームレンダリング処理の対象領域である不透明領域(不透明度が1以上の値をもつようにした領域)とボリュームレンダリング処理の対象領域外である透明領域(不透明度が0の値をもつようにした領域)との境界面がモアレの発生源になる。(詳細は後述するが、座標変換により境界面において階段状のパターンが生成されるためである。)そもそも、断層画像には人体・撮影治具(寝台など)など被写体以外の背景部が存在することが一般的で、背景部は空気で無色・透明であるため、不透明な被写体との境界面が元々存在し、モアレの発生源になり得るため、背景部に対して後述の補正対象領域と一緒に色補間を行う必要がある。
ROIクリッピング切断面に限らず、断層画像の最初のスライスまたは/かつ最後のスライスがそのまま不透明領域と透明領域との境界面となり、当該境界面がモアレの発生源になる場合がある。人体の一部である胸部・腹部などに対してCTスキャンされた断層画像の最初のスライスより手前及び最後のスライスの後方には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ROIクリッピング切断面と同様な特質をもつ。即ち、断層画像の最初のスライスと最後のスライスは、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、最初のスライスより手前及び最後のスライスの後方の領域にボクセルを追加して無色・透明にし、後続処理である色補間することにより、併せてモアレの発生を抑制することができる。色補間の詳細は後述する。
画像処理部20は、z方向の両端に新たにRGB値及び不透明度が所定値とされた(ここでは、無色・透明な)ダミー透明画像を付加し(S20)、ボクセル構造体にダミー透明画像に対応するボクセルを追加する(S21)。ダミー透明画像に対応するボクセルが追加されたボクセル構造体をV(x,y,z,c)と表す。ここで、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz+1である。
図11は本実施の形態の3Dテクスチャマッピング装置100によるダミー透明画像付加処理の一例を示す説明図である。z軸方向にスライス間隔で並んだ元の断層画像のz軸方向の両端に、全ての画素のRGB値及び不透明度が所定値とされた(ここでは、無色・透明に設定した)ダミー透明画像を追加する。すなわち、ボクセル構造体生成部23は、複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、RGB値及び不透明度が所定値とされたダミーボクセルを付加したボクセル構造体を生成する。具体的には、ボクセル構造体生成部23は、断層画像のz軸方向の両端にダミー透明画像に対応するボクセルを追加する。所定値としては、当該ボクセルがボリュームレンダリング像の生成に寄与しないように、RGB値をR=G=B=0に、不透明度をα=0(すなわち、無色・透明)とすることができるが、ボリュームレンダリング像の生成に寄与しない値であれば、RGB値をR=G=B=0に限定しなくてもよく、不透明度をα=0に限定しなくてもよい。
なお、色補間部28は、後述のステップS24において、生成したボクセル構造体のボクセルのRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、RGB値のいずれかに所定値以外の値(ここでは、1以上の値)が設定されている場合(例えば、肺野の空気など)は、色補間を行わない。
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルであるダミーボクセルを含み、ボクセルデータは、ダミーボクセルが付加されたボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。
ROIクリッピング切断面に限らず、断層画像の周辺部がそのまま不透明領域と透明領域との境界面となり、モアレの発生源になる場合がある。例えば、CTスキャンの倍率設定により、人体の断層面の周辺部が切れた状態で撮像されることがあり、その場合、ROIクリッピングの指示を行わなくても、図10において、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす面は、x<0、y<0、x>Sx−1、y>Sy−1のいずれかの断層画像の外側領域には画像データが存在せず、無色・透明な空間としてボリュームレンダリング処理されるため、ROIクリッピング切断面と同様な特質をもつ。即ち、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす平面は、必然的に不透明領域と透明領域の境界面となり、モアレ発生源となる。そこで、ROIクリッピングの指示の有無を問わず、x=0、y=0、x=Sx−1、y=Sy−1のいずれかを満たす1ボクセル幅の外縁部の全てのボクセルに対して、図10の斜線部と同様に無色・透明にし、後続処理である色補間を併せて行う。即ち、画像処理部20は、階調圧縮断層画像の外縁部(ボーダー部とも称する)の画素に対応するボクセルの透明化処理を行う(S22)。なお、後述のステップS23の処理を行うか否かにかかわらず、ステップS22の処理は実施する。なお、外縁部とは、画像の外側ではなく、画像内の領域であって、画像の縁にあたる部分を意味する。
図12は本実施の形態の3Dテクスチャマッピング装置100による断層画像の外縁部のボクセルの透明化処理の一例を示す説明図である。z軸方向にスライス間隔で並んだ断層画像それぞれの外縁部の画素に対応するボクセルの色をR=G=B=0(無色)にし、不透明度αを0(透明)にする。すなわち、ボクセル構造体生成部23は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。ここで、外縁部とは、例えば、断層画像内の領域であって縁から1画素分とすることができる。ボクセル構造体V(x,y,z,c)は、V(x,y,z,c)=0(x=0またはx=Sx−1またはy=0またはy=Sy−1またはz=0またはz=Sz+1、0≦c≦3)となる。すなわち、ボクセル構造体生成部23は、複数のxy平面画像の外縁部の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルを含むボクセル構造体を生成する。具体的には、ボクセル構造体生成部23は、断層画像の外縁部の画素に対応するボクセルを無色・透明にする。なお、外縁部は1画素に限定しなくてもよい。所定値としては、RGB値をR=G=B=0で不透明度α=0(すなわち、画素の色を無色つまり黒色で、透明)とすることができるが、ボリュレームレンダリングに寄与しないボクセルの値であれば、RGB値をR=G=B=0に限定しなくてもよく、不透明度をα=0に限定しなくてもよい。
なお、色補間部28は、後述のステップS24において、断層画像の外縁部の無色・透明な画素に対応するボクセルの対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値を色補間する。ただし、透明なボクセルであっても、RGB値のいずれかに所定値以外の値(ここでは、1以上の値)が設定されている場合(例えば、肺野の空気など)は、色補間を行わない。
上述のように、本実施の形態のボクセル構造体のボクセルデータにおいて、ボクセル構造体は、複数のxy平面画像の外縁部の各画素に対応し、RGB値及び不透明度が所定値とされたボクセルを含み、ボクセルデータは、ボクセルを含むボクセル構造体のRGB値及び不透明度が所定値である対象ボクセルに対して、対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。
画像処理部20は、ボクセルの陰影値を算出する(S23)。ただし、ステップS23の処理は、必須ではなく、ステップS23の処理を実施しない場合には、ステップS24の処理に進めばよい。
ボクセルの陰影値の算出は、以下のようにすることができる。すなわち、ボクセル構造体生成部23は、ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出し、算出した勾配ベクトル及び所定の光源ベクトルに基づいてボクセルの陰影値を算出する。
より具体的には、ボクセル構造体生成部23は、ボクセル構造体のボクセルの不透明度と、当該ボクセルの近傍に位置する複数の近傍ボクセルそれぞれの不透明度との差分を算出する。ボクセル構造体生成部23は、ボクセルと近傍ボクセルとの距離並びにボクセル及び近傍ボクセルそれぞれの不透明度の差分に基づいてボクセルの勾配ベクトルを算出する。この場合、近傍ボクセルとの距離を用いるにあたり、XY方向とZ方向の解像度が異なることを考慮し、ボクセル構造体生成部23は、勾配ベクトルのz軸方向の成分をz軸方向の変倍率Rxy/Rzで補正することが必要である。
光源ベクトル(Lx,Ly,Lz)は、例えば、(Lx,Ly,Lz)=(0.57735,0.57735,0.57735)の如く、平行光源で単位ベクトルとして指定する。また、環境光成分をAbとする。ここで、0≦Ab≦1である。例えば、Ab=0.2とする。
0≦x≦Sx−2、0≦y≦Sy−2、0≦z≦Szの範囲のボクセル(x,y,z)の勾配ベクトル(Gx,Gy,Gz)は、式(1)、(2)、(3)で算出することができる。本実施の形態では、26近傍のボクセル値と中央のボクセルのボクセル値との差分により高精度に勾配ベクトルを算出することができる。勾配ベクトルを算出する際に、ボクセルは座標変換前でz方向変倍処理が行われていないため、xy方向とz方向とでは解像度が異なる点に留意し、勾配ベクトルのz方向成分Gzの変倍補正(Rxy/Rzの乗算)を行う。
G={Gx2 +Gy2 +Gz2 1/2 とする(Gxの2乗とGyの2乗とGzの2乗との和の平方根をGとする)。G≧1の場合、陰影値S(x,y,z)は、拡散反射成分のみ算出し、式(4)で与えられる。これにより、視線ベクトルを変更してボクセルを回転させると、立体感を表現することができる。なお、視線を変えても、座標の回転処理を行う前であり、勾配ベクトルは変化しないので、鏡面反射成分は加えない。ボクセル構造体生成部23は、算出した輝度値に基づいてボクセルのRGB値を補正する。陰影計算後のボクセルをV′(x,y,z,c)で表すと、ボクセルのRGB値の補正は、0≦c≦2の範囲で式(5)を適用することにより行うことができる。
OpenGLを用いた3Dテクスチャマッピング法では、ハードウエアレンダリングにおいて、ボクセルの勾配ベクトル、陰影計算に係る処理はサポートされていないため、陰影値として常にα値が与えられている。しかし、本実施の形態では、疑似的に陰影計算を行うことができる。すなわち、陰影計算を正確に行うためには、ボクセルの座標変換後に行う必要があるが、座標変換はハードウエアレンダリングで一緒に行われるため、座標変換前にハードウエアレンダリングに投入するボクセルデータに予め陰影計算結果を組み込むことにより、疑似的に陰影が付与されたレンダリング像を得ることができる。
断層画像の外縁部や背景部のボクセルではG<1となることがあり、その場合、陰影計算を行わずに、一律に無色・透明(R=G=B=α=0)にする。すなわち、陰影計算後のボクセルをV′(x,y,z,c)で表すと、V′(x,y,z,c)=0(c=0,1,2,3)とする。これは、前述のステップS22と同等の処理である。
画像処理部20は、透明ボクセルの色補間処理を行う(S24)。なお、色補間処理の詳細は後述する。
画像処理部20は、色補間したボクセル構造体を3Dテクスチャマップとして登録し(S25)、投影画面を設定する(S26)。
図13は本実施の形態の3Dテクスチャマッピング装置100による投影画面設定の一例を示す説明図である。変換処理部24は、レンダリング画像のスクリーンサイズ(縦横画素数、縦横アスペクト比率)を設定する。変換処理部24は、平行投影(通常の外観レンダリング)又は透視投影(内視鏡モード)のいずれかを設定する。そして、変換処理部24は、透視投影が設定された場合、透視投影パラメータを設定する。透視投影パラメータは、例えば、カメラの視野角度(焦点距離)、視点位置(視点と注視点で構成され、前者は目の位置で後者は見ている対象物上の位置で、双方ともZ軸上に設定される。一般に、注視点はワールド座標系の原点に固定)、クリッピング位置(視点からのZ軸上の距離、近方及び遠方の2箇所)などを含む。なお、クリッピング位置は、近方だけでもよい。図13に示すように、平行投影の場合には、視点からの視線は全てZ軸に平行となり、視点は仮想的に左方向に無限遠に離れた位置にあることを想定しているため、Z軸方向に定義されている全ての積層四角形がレンダリング対象になる。一方、透視投影の場合には、視点からの視野角度に応じて、視線が広がり、レンダリング対象も近方クリッピングによって制限されている。
画像処理部20は、レンダリング処理を行い(S27)、フレームメモリ上にレンダリング画像を生成し(S28)、処理を終了する。なお、レンダリング処理の詳細は後述する。
図14は本実施の形態の3Dテクスチャマッピング装置100による透明ボクセルの色補間処理の手順の一例を示すフローチャートである。画像処理部20は、ボクセル構造体の、0≦x≦Sx−1、0≦y≦Sy−1、0≦z≦Sz+1のすべてのボクセルから無色・透明のボクセルを抽出する(S101)。すなわち、式(6)を満たすボクセルを抽出する。
画像処理部20は、抽出したボクセルのうち対象ボクセルの近傍ボクセルであって不透明なボクセルを特定する(S102)。対象ボクセルのxyz座標を(x,y,z)とすると、−1≦i≦1、−1≦j≦1、−1≦k≦1の範囲の対象ボクセルの近傍の26近傍ボクセルの中からV(x+i,y+j,z+k,3)>0を満たす不透明ボクセルを特定し、式(7)の定義に従いその個数をCとする。すなわち、ボクセル構造体生成部23は、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセルを特定する。所定値としては、ボリュームレンダリングに寄与しない不透明度α=0(すなわち、透明)とすることができるが、ボリュームレンダリングに寄与しなければ、不透明度をα=0に限定しなくてもよい。
画像処理部20は、C>0であるか即ち不透明ボクセルの有無を判定し(S103)、C>0である場合、即ち不透明ボクセルがある場合(S103でYES)、不透明ボクセルのRGB値の平均値で対象ボクセルのRGB値を更新し(S104)、後述のステップS106の処理を行う。RGB値の平均値をRa、Ga、Baとすると、平均値は式(8)、(9)、(10)によりV(x+i,y+j,z+k,3)>0を満たす不透明ボクセルの各々R値V(x+i,y+j,z+k,0)、G値V(x+i,y+j,z+k,1)、B値V(x+i,y+j,z+k,2)の総和で算出することができる。また、無色・透明の対象ボクセルのRGB値の更新は、式(11)、(12)、(13)により行うことができる。
C=0である場合、即ち不透明ボクセルがない場合(S103でNO)、画像処理部20は、対象ボクセルのRGB値を0(すなわち、Ra=Ga=Ba=0)とし(S105)、抽出した無色・透明のボクセルのすべての対象ボクセルの色補間を終了したか否かを判定する(S106)。すべての対象ボクセルの色補間を終了していない場合(S106でNO)、画像処理部20は、ステップS102以降の処理を続け、すべての対象ボクセルの色補間を終了した場合(S106でYES)、処理を終了する。
色補間処理は、画像処理部20の色補間部28が行う。より具体的には、色補間部28は、特定した近傍ボクセルのRGB値の統計値に基づいて、対象ボクセルのRGB値を色補間する。統計値は、平均値を用いることができるが、平均値に限定しなくてもよく、例えば、中央値などを用いることもできる場合がある。
上述のように、本実施の形態のボクセル構造体のボクセルデータは、対象ボクセルに係る近傍ボクセルのうち、不透明度が所定値より大きい近傍ボクセル(すなわち、不透明度αが1以上のボクセル)のRGB値の統計値に基づいて、対象ボクセルのRGB値が色補間されたデータを含む。
図15は本実施の形態の3Dテクスチャマッピング装置100によるレンダリング処理の手順の一例を示すフローチャートである。画像処理部20は、3Dテクスチャマップに対するスケーリング及びz方向変倍処理を行い(S111)、3Dテクスチャマップに対する回転処理を行う(S112)。
画像処理部20は、3Dテクスチャマップに対するオフセット処理を行い(S113)、複数の四角形で構成される積層四角形を設定する(S114)。画像処理部20は、積層四角形を構成する各四角形と3Dテクスチャマップとの対応付けを行う(S115)。
図16は3Dテクスチャマッピングとの対応付け方法の一例を示す説明図である。図16Aに示すように、DICOM断層画像をRGBα形式に変換し、グラフィックAPIを介して3Dテクスチャマップとして登録する。そして、図16Bに示すように、積層四角形を定義し、3Dテクスチャマッピングを行う。この場合、ワールド座標系における各四角形の4頂点の3次元ワールド座標とテクスチャ座標系における3Dテクスチャマップの3次元テクスチャ座標とを対応付ける。図16に示すように、(−1,−1,z)、(−1,1,z)、(1,−1,z)、(1,1,z)の4頂点で構成される四角形に対して、ワールド座標の(−1,−1,z)は、テクスチャ座標(0,0,r)に対応付けられている。
また、3Dテクスチャマッピングを設定する場合、積層四角形設定部27は、複数のxy平面画像の数及びダミーxy平面画像の数の合計値と同数の四角形をZ軸方向に並べた積層四角形を設定する。
積層四角形における四角形の数は任意に設定することができるが、四角形の数と断層画像の枚数とが一致しない場合、Z軸方向に補間処理が働き、座標変換による座標値の丸め誤差が累積し、ストライプ・格子状のモアレが発生する。
そこで、積層四角形における四角形の数、3Dテクスチャマップに登録する2D断層画像の枚数を元のDICOM形式の断層画像の枚数+2枚(z軸方向に追加したダミー透明画像)にする。3Dボクセル構造体を構築する際、XYZ3次元の解像度を統一させた方が、後処理がしやすくなるため、2D断層画像のスライス間を補間して元のDICOM形式の断層画像の枚数よりも増やす処理が一般的に行われるが、本実施の形態の方が、モアレを抑制する観点から、より好ましい。
画像処理部20は、積層四角形に3Dテクスチャマップを貼り付けながらスキャンコンバージョンを行い、視点から遠い四角形の順にアルファブレンディング処理を行い(S116)、処理を終了する。
より具体的には、あらかじめレンダリング画像のRGB値は全て背景色(例えば、R=G=B=0)で初期化しておく。レンダリング処理部25は、視点から最も遠い四角形に3Dテクスチャマップを貼り付け、図13で定義したレンダリング画像に平行投影または透視投影を行い、投影された四角形のワールド座標系におけるXYZ座標の(−1,−1,−1)からX軸方向及びY軸方向に、投影されたレンダリング画像における画素間隔に対応する間隔u(レンダリング画像の1画素に対応するワールド座標の間隔をuとする。例えばu=0.002)でスキャンコンバージョンを行う。スキャンコンバージョンされた、各ワールド座標(−1+iu,−1+ju,−1)(i,jはレンダリング画像の座標値で、例えば0≦i,j≦511の整数)において、各々対応するテクスチャ座標(2iu,2ju,0)を算出し、算出したテクスチャ座標に基づいて3Dテクスチャマップを参照しRGB値及び不透明度を取得して、対応するレンダリング画像の座標(i,j)に既に記録されているRGB値とアルファブレンディング処理を行い、対応するレンダリング画像の座標(i,j)のRGB値を更新する。このようにして、視点から最も遠い単一の四角形についてアルファブレンディング処理が終了すると、Z座標をv(四角形がZ軸方向に配置されているワールド座標の間隔をvとする。例えば、v=2/Sz)だけ増やし、視点方向に次に近い四角形(−1+iu,−1+ju,−1+v)について同様の処理を繰り返してレンダリング画像を更新する。全ての四角形についてスキャンコンバージョンしてワールド座標(−1+iu,−1+ju,−1+kv)(kは四角形の番号で、0≦k≦Sz−1の整数)に対してアルファブレンディングの処理が終了するとレンダリング画像が完成する。
アルファブレンディング処理は、式(14)、(15)、(16)を用いることができる。
ここで、R′、G′、B′は、投影面において更新されるレンダリング画像のRGB値である。R、G、Bは、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する3Dテクスチャマップのボクセル(2iu,2ju,2kv)におけるRGB値であり、重ねる色の値に相当する。αも、四角形のワールド座標(−1+iu,−1+ju,−1+kv)に対応する3Dテクスチャマップのボクセル(2iu,2ju,2kv)におけるα値であり、重ねる割合を制御する。また、Rb、Gb、Bbは、ワールド座標(−1+iu,−1+ju,−1+kv)に対応するレンダリング画像の座標(i,j)に既に記録されているRGB値であり、当該四角形に対して視点と反対側に1つ前に位置する四角形に対して式(14)、(15)、(16)に基づいて算出されたR′、G′、B′の値に一致し、視点から最も遠い四角形に対して算出する場合は背景色(例えば、Rb=Gb=Bb=0)が与えられる。
図17は本実施の形態の画像処理部20の構成の他の例を示すブロック図である。図17に示すように、画像処理部20は、CPU201、ROM202、RAM203、GPU204、ビデオメモリ205、記録媒体読取部206などで構成することができる。記録媒体1に記録されたコンピュータプログラムを記録媒体読取部206で読み取ってRAM203に格納することができる。RAM203に格納されたコンピュータプログラムをCPU201で実行させることにより、階調圧縮処理部21、平滑化処理部22、ボクセル構造体生成部23、変換処理部24、レンダリング処理部25、3Dテクスチャ画像生成部26、積層四角形設定部27、色補間部28、ROIクリッピング処理部29で行う処理を実行することができる。なお、CPU201は、セントラル・プロセッシングユニットで、通常は複数のコア(プロセッサ)で構成されてRAM203と連携して動作するのに対し、GPU204は、グラフィックス・プロセッシングユニットで、多くのグラフィックス処理に特化したプロセッサで構成されてビデオメモリ205と連携して動作する。また、コンピュータプログラムは、記録媒体読取部206で読み取る構成に代えて、インターネットなどのネットワークを介してダウンロードすることもできる。
また、CPU201は、GPU204に対してレンダリング処理などの命令を出力する。GPU204は、命令を解釈し、レンダリング処理などの所要の処理を実行する。GPU204のプログラミングには、一般にグラフィクスAPI(例えば、OpenGLなど)を用いることができる。例えば、コンピュータプログラムは、CPU201に、変換処理、レンダリング処理を実行するための指令をGPU204に出力する処理を実行させることができる。
次に、モアレの発生パターンについて説明する。ボリュームレンダリング像においてモアレが発生する理由は、断層画像を積層合成する点にある。モアレのタイプとしては、第1のタイプとして、曲線状のパターンがある。また、第2のパターンとして、ストライプ・格子状のパターンがある。なお、曲線状のパターン、ストライプ・格子状のパターンは厳密に分離されるものではなく、ボリュームレンダリング像では、両者が複合的に混ざって存在する。以下では、説明の便宜上、分けて説明する。まず、第1の曲線状のパターンについて説明する。
図18は曲線状のモアレが発生する様子の一例を示す模式図である。発生原因は、断層画像(スライス画像)に元々自然に存在する知覚可能な規則性をもたないパターンである。このようなパターンをもつ複数の断層画像を座標変換(xyz軸回りの回転)することにより、各断層画像に存在する前述の規則性をもたないパターンがずれて合成されることにより、これらのパターンが線状に連結し、結果として、ボリュームレンダリング像に曲線状の縞模様が形成され、知覚可能なモアレとして認識される。
図19は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第1例を示す説明図である。図19Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図19Bは、本実施の形態の3Dテクスチャマッピング装置100の平滑化処理部22により、各断層画像に対して図6で説明したような3D空間(xyz方向の等方性スムージング)で平滑化処理を行った場合を示す。図19Aでは曲線状の縞模様が発生しているが、図19Bでは、縞模様が消えていることが分かる。特に、スライス間隔が比較的粗いCT画像では、モアレの抑制効果は大きい。
次に、モアレの第2のパターンであるストライプ・格子状のパターンについて説明する。
図20はストライプ・格子状のモアレが発生する様子の一例を示す模式図である。ストライプ・格子状のパターンの特徴は、第1のパターンと異なり、モアレ発生源は、断層画像そのものにはなく、3Dテクスチャマッピング処理の過程で計算により発生した人工的パターンにある。3Dテクスチャマップの各断層画像を座標変換(xyz軸回りの回転)することにより、座標変換という実数演算の過程で端数を切り捨てて整数化し、整数値のxyz座標で変換前のボクセル値を参照する過程で、丸め誤差の累積により周期的なパターンが発生し、座標変換後の3Dテクスチャマップの断層画像に加わる。個々の断層画像に加わった周期的パターンは知覚できないレベルの微弱なものであるが、複数の断層画像がアルファブレンディング処理により重なり、重なる時のズレ幅が各周期的パターンの位相条件を満たせば、互いに強めあって、いわゆる干渉縞が発生し、ストライプ・格子状のモアレとして知覚可能なレベルになる。
図21は座標変換時の丸め誤差の発生の様子の一例を示す説明図である。図21では、便宜上、ボクセルを2次元で表している。座標変換前のボクセルを、横方向をx軸方向、縦方向をz軸方向として、V11、V12、…、V49で表す。z軸中心に回転させる座標変換によって、参照するx座標値は、実数値のx座標の整数化に伴う丸め誤差が累積する。例えば、算出された実数のx座標値は、左から右に向かって、1.3、2.6、3.9、5.2、6.5、7.8とする。
例えば、算出された実数のx座標値が、1.3の場合、座標変換後のボクセルは、V11×0.7+V12×0.3により、座標変換前のV11及びV12を参照し、0.3という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、2.6の場合、座標変換後のボクセルは、V12×0.4+V13×0.6により、座標変換前のV12及びV13を参照し、0.6という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、3.9の場合、座標変換後のボクセルは、座標変換前のV13×0.1+V14×0.9により、V13及びV14を参照し、0.9という端数に基づく重みを乗算しながら補間されて求めることができる。また、算出された実数のx座標値が、5.2の場合、座標変換後のボクセルは、V15×0.8+V16×0.2により、座標変換前のV15及びV16を参照し、0.2いう端数に基づく重みを乗算しながら補間されて求めることができる。
このように、座標変換後の左から4番目のボクセルは、座標変換前のボクセルV14とV15とで補間されず、V15とV16とで補間され、座標変換後の左から3番目のボクセルと4番目のボクセルとの間では、ボクセル値に段差が生じる。ただし、この段差はV11からV19で形成される単一の層(断層画像)では知覚可能なレベルではない。しかし、図21に示されるように、同様な段差がV21からV49で形成される3つの層にも同一の箇所で発生すると、結果として、z軸方向に沿ってストライプ・格子状のモアレとして知覚可能になる。特に色の付いた不透明領域(R+G+B>0、不透明度α>0)と無色の透明領域(R=G=B=α=0)との境界面でこのような段差が発生すると、目立ちやすい。
図22は座標変換により周期パターンの発生の様子の一例を示す模式図である。モアレ発生の要因となる周期パターンは、不透明領域(R+G+B>0、不透明度α>0)と透明領域(R=G=B=α=0)の境界面が発生源になっており、境界面が平面で、不透明領域の色(RGB値)または不透明度(α値)が比較的大きい場合にモアレが目立ちやすい。座標変換により境界面の画素(すなわち、ボクセル)が階段状に配置されると、補間処理により、近傍の透明領域のボクセルに対して、1以上の不透明度が設定され半透明になり、色も無色つまり黒色からグレーになる。この補間された透明ボクセルの不透明度と色が、階段状の配置に伴って周期的に変化し、ストライプ・格子状の縞模様が発生することにより、モアレの発生源となる。
図23は本実施の形態の3Dテクスチャマッピング装置100による色補間の様子の一例を示す模式図である。本実施の形態では、色補間部28は、変換処理部24による座標変換が行われる前に、不透明領域と接する透明領域のボクセルの色を事前に色補間(色補正)する。すなわち、不透明領域と接する透明ボクセルの不透明度は0のままにし、透明ボクセルの色を26近傍の不透明ボクセルのRGB値の平均値を与える。そうすると、座標変換により、透明ボクセルの不透明度は、階段状の配置に伴って周期的に変化するが、透明ボクセルの色は殆ど均一になり周期的パターンを知覚できなくなる。つまり、透明領域と不透明領域との境界部(エッジ部)の透明領域内の画素が半透明になっても、近傍の不透明領域と類似した色が付加されているため、色の周期的変化は認知されにくくなる。結果として、本実施の形態による色補間処理によれば、不透明領域と接する透明ボクセルの色が変わるだけで、不透明度は透明なままであるため、ボリュームレンダリングに寄与するボクセルの作用は変化せず、画質劣化を理論上発生させずに、座標変換によるモアレ発生の問題を解消させることができる。
図24は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第2例を示す説明図である。図24Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図24Bは、本実施の形態の3Dテクスチャマッピング装置100の色補間部28により、図9のステップS19、ステップS24の処理に基づいてROIクリッピング領域外のボクセルを無色・透明にし、無色・透明なボクセルの色を近傍の不透明ボクセルのRGB値に基づいて色補間した場合を示す。図24Aではモアレが発生しているが、図24Bではモアレが消えていることが分かる。
図25は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第3例を示す説明図である。図25は図24Bの例に対して図9のステップS23の陰影値の算出処理を加えた場合の事例である。図25Aは、図24Aと同一の比較例であり、陰影を付加しておらず、かつ本実施の形態のモアレ対策を実施していない場合を示す。図25Bは、ステップS23の陰影値の算出処理を加えた上で、本実施の形態の3Dテクスチャマッピング装置100の色補間部28により、図9のステップS19、ステップS24の処理に基づいてROIクリッピング領域外のボクセルを透明にし、透明ボクセルの色を近傍の不透明ボクセルのRGB値に基づいて色補間した場合を示す。図25Aではモアレが発生しているが、図25Bでは陰影を付加してもモアレが消えていることが分かる。
図26は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第4例を示す説明図である。図26Aは、比較例であり本実施の形態のモアレ対策を実施していない場合を示す。図26Bは、本実施の形態の3Dテクスチャマッピング装置100のボクセル構造体生成部23及び色補間部28により、図9のステップS20、ステップS24の処理に基づいて断層画像のz軸方向の両端にダミー透明画像を追加してダミーボクセルを追加し、透明のボクセルの色を近傍の不透明ボクセルのRGB値に基づいて色補間した場合を示す。図26Aでは斜め縞模様が発生しているが、図26Bでは縞模様が消えていることが分かる。
図27は本実施の形態の3Dテクスチャマッピング装置100によるモアレ対策結果の第5例を示す説明図である。図27は図26の双方の事例に対して図9のステップS23の陰影値の算出処理を加えた場合の事例である。図27Aは、比較例であり、図9のステップS23の陰影値の算出処理を加えているが、本実施の形態のモアレ対策を実施していない場合を示す。図27Bは、ステップS23の陰影値の算出処理を加えた上で、本実施の形態の3Dテクスチャマッピング装置100のボクセル構造体生成部23及び色補間部28により、図9のステップS22、ステップS24の処理に基づいて断層画像の外縁部の画素に対応するボクセルを透明にし、透明のボクセルの色を近傍の不透明ボクセルのRGB値に基づいて色補間した場合を示す。図27Aでは斜め縞模様が発生しているが、図27Bでは縞模様が消えていることが分かる。
上述のように、本実施の形態によれば、レンダリング像の画質劣化を抑えながら、各種のモアレ(曲線状のモアレ、ストライプ・格子状のモアレ)の発生を抑制することができる。
本実施の形態のコンピュータプログラムは、コンピュータに、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と、RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像の数及び前記ダミーxy平面画像の数の合計値と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、前記ボクセル構造体のボクセルのうちxyz座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルを特定する処理と、特定した近傍ボクセルのRGB値の統計値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素のxyz方向の近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理と、平滑化した前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び前記近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、前記平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルのRGB値及び不透明度に前記カラーマップデータのRGB値及び不透明度を対応付けてボクセル構造体を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、算出した陰影値に基づいて前記ボクセル構造体のボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記勾配ベクトルのz軸方向の成分を所定の変倍率で補正する処理を実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理とを実行させる。
本実施の形態のコンピュータプログラムは、コンピュータに、前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる。
本実施の形態の画像処理装置は、3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成するボクセル構造体生成部と、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する色補正部と、RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する3Dテクスチャ画像生成部と、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する変換後3Dテクスチャ画像生成部と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する設定部と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部とを備える。
本実施の形態の画像処理方法は、3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正し、RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成し、前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成し、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する設定部と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する。
本実施の形態のボクセルデータは、ボクセル構造体のボクセルデータであって、z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、前記ボクセルデータは、前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含み、前記ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して、所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理とを実行するのに用いられる。
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたボクセルであるダミーボクセルを含み、前記ボクセルデータは、前記ダミーボクセルが付加されたボクセル構造体の不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む。
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含み、前記ボクセルデータは、前記ボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む。
本実施の形態のボクセルデータにおいて、前記ボクセル構造体は、ボリュームレンダリング処理の対象領域外であって、不透明度に前記所定値が設定されたボクセルを含み、前記ボクセルデータは、前記所定値が設定されたボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む。
本実施の形態のボクセルデータにおいて、前記ボクセルデータは、前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルのRGB値の統計値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む。
10 入力部
11 記憶部
12 出力部
20 画像処理部
21 階調圧縮処理部
22 平滑化処理部
23 ボクセル構造体生成部
24 変換処理部
25 レンダリング処理部
26 3Dテクスチャ画像生成部
27 積層四角形設定部
28 色補間部
29 ROIクリッピング処理部
100 3Dテクスチャマッピング装置
201 CPU
202 ROM
203 RAM
204 GPU
205 ビデオメモリ
206 記録媒体読取部

Claims (23)

  1. コンピュータに、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する処理と、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と、
    前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と、
    RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する処理と、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
    を実行させるコンピュータプログラム。
  2. コンピュータに、
    前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたダミーボクセルを付加したボクセル構造体を生成する処理と、
    生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
    を実行させる請求項1に記載のコンピュータプログラム。
  3. コンピュータに、
    前記複数のxy平面画像の数及び前記ダミーxy平面画像の数の合計値と同数の前記四角形をZ軸方向に並べた積層四角形を設定する処理を実行させる請求項2に記載のコンピュータプログラム。
  4. コンピュータに、
    前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含むボクセル構造体を生成する処理と、
    生成したボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
    を実行させる請求項1から請求項3のいずれか一項に記載のコンピュータプログラム。
  5. コンピュータに、
    ボリュームレンダリング処理の対象領域を画定するxyz座標を設定する処理と、
    前記ボクセル構造体のボクセルのうちxyz座標が前記対象領域外のボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
    前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
    を実行させる請求項1から請求項4のいずれか一項に記載のコンピュータプログラム。
  6. コンピュータに、
    前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルを特定する処理と、
    特定した近傍ボクセルのRGB値の統計値に基づいて、前記対象ボクセルのRGB値を補正する処理と
    を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  7. コンピュータに、
    前記複数のxy平面画像それぞれの一のxy平面画像上の任意の注目画素及び該注目画素のxyz方向の近傍画素の画素値に基づいて、前記一のxy平面画像を平滑化する処理と、
    平滑化した前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成する処理と
    を実行させる請求項1から請求項6のいずれか一項に記載のコンピュータプログラム。
  8. コンピュータに、
    前記複数のxy平面画像のうちの所定のxy平面画像の画素の最小値及び最大値を特定する処理と、
    特定した最大値よりも小さい上限値及び特定した最小値よりも大きい下限値を算出する処理と、
    前記複数のxy平面画像の各画素の画素値を前記上限値及び下限値の範囲内に圧縮する処理と、
    圧縮した前記複数のxy平面画像それぞれの任意の注目画素及び前記近傍画素の画素値に基づいて、前記複数のxy平面画像を平滑化する処理と
    を実行させる請求項7に記載のコンピュータプログラム。
  9. コンピュータに、
    画素値に対応付けてRGB値及び不透明度が定義されたカラーマップデータを取得する処理と、
    前記平滑化した複数のxy平面画像それぞれの各画素に対応するボクセルのRGB値及び不透明度に前記カラーマップデータのRGB値及び不透明度を対応付けてボクセル構造体を生成する処理と
    を実行させる請求項7又は請求項8に記載のコンピュータプログラム。
  10. コンピュータに、
    前記視線上の前記四角形のXY座標に対応する前記3Dテクスチャ画像のxyz座標を算出する処理と、
    算出したxyz座標に対応する前記変換後3Dテクスチャ画像のxyz座標に対応するボクセルのRGB値及び不透明度に基づいてアルファブレンディングする処理と
    を実行させる請求項1から請求項9のいずれか一項に記載のコンピュータプログラム。
  11. コンピュータに、
    前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出する処理と、
    算出した勾配ベクトル及び所定の光源ベクトルに基づいて前記ボクセルの陰影値を算出する処理と、
    算出した陰影値に基づいて前記ボクセル構造体のボクセルのRGB値を補正する処理と
    を実行させる請求項1から請求項10のいずれか一項に記載のコンピュータプログラム。
  12. コンピュータに、
    前記ボクセル構造体のボクセルの不透明度と、該ボクセルの近傍に位置する近傍ボクセルそれぞれの不透明度との差分を算出する処理と、
    前記ボクセルと前記近傍ボクセルとの距離並びに前記ボクセル及び前記近傍ボクセルそれぞれの不透明度の差分に基づいて前記ボクセルの勾配ベクトルを算出する処理と
    を実行させる請求項11に記載のコンピュータプログラム。
  13. コンピュータに、
    前記勾配ベクトルのz軸方向の成分を所定の変倍率で補正する処理を実行させる請求項11又は請求項12に記載のコンピュータプログラム。
  14. コンピュータに、
    前記ボクセル構造体のボクセルの不透明度に関する勾配ベクトルを算出することができないボクセルに対して、該ボクセルの不透明度に前記所定値を設定する処理と、
    前記所定値が設定されたボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する処理と
    を実行させる請求項11から請求項13のいずれか一項に記載のコンピュータプログラム。
  15. コンピュータに、
    x軸中心、y軸中心及びz軸中心の回転角、視野角度、視点位置、クリッピング位置、xyz軸方向のオフセット値、xyz軸方向の拡大又は縮小倍率、z軸方向の変倍率を含む前記所定の変換のパラメータを取得する処理と、
    前記3Dテクスチャ画像に対して、取得したパタメータを用いた所定の変換を行って変換後3Dテクスチャ画像を生成する処理と
    を実行させる請求項1から請求項14のいずれか一項に記載のコンピュータプログラム。
  16. コンピュータに、
    前記変換後3Dテクスチャ画像を生成する処理及び前記レンダリング画像を生成する処理を実行するための指令をGPUに出力する処理を実行させる請求項1から請求項15のいずれか一項に記載のコンピュータプログラム。
  17. 3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置であって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得する取得部と、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成するボクセル構造体生成部と、
    前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正する色補正部と、
    RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成する3Dテクスチャ画像生成部と、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成する変換後3Dテクスチャ画像生成部と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する設定部と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成するレンダリング画像生成部と
    を備える画像処理装置。
  18. 3Dテクスチャマッピング法を用いたボリュームレンダリング処理を行う画像処理装置による画像処理方法であって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像の画像データを取得し、
    前記複数のxy平面画像それぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体を生成し、
    前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値を補正し、
    RGB値が補正されたボクセル構造体のボクセルで構成される3Dテクスチャ画像を生成し、
    前記3Dテクスチャ画像に対して所定の変換を行って変換後3Dテクスチャ画像を生成し、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する設定部と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する画像処理方法。
  19. ボクセル構造体のボクセルデータであって、
    z軸方向に沿って所定間隔で撮像された複数のxy平面画像のそれぞれの各画素に対応し、RGB値及び不透明度が定められたボクセルで構成されるボクセル構造体のボクセルデータを含む構造を有し、
    前記ボクセルデータは、
    前記ボクセル構造体の不透明度が所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含み、
    前記ボクセル構造体のボクセルで構成される3Dテクスチャ画像に対して、所定の変換を行って変換後3Dテクスチャ画像を生成する処理と、
    3次元空間のXY座標面上の四角形をZ軸方向に並べた積層四角形を設定する処理と、
    所定の視点からZ軸方向に平行な視線上の前記四角形のXY座標に対応する前記変換後3Dテクスチャ画像のボクセルのRGB値を前記ボクセルの不透明度に基づいて前記視点から遠い四角形の順にアルファブレンディングして得られたRGB値を、前記視線が投影面と交差する画素の画素値としてレンダリング画像を生成する処理と
    を実行するのに用いられるボクセルデータ。
  20. 前記ボクセル構造体は、
    前記複数のxy平面画像を間にしてz軸方向の両端に配置されたダミーxy平面画像の各画素に対応し、不透明度が前記所定値とされたボクセルであるダミーボクセルを含み、
    前記ボクセルデータは、
    前記ダミーボクセルが付加されたボクセル構造体の不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む請求項19に記載のボクセルデータ。
  21. 前記ボクセル構造体は、
    前記複数のxy平面画像の外縁部の各画素に対応し、不透明度が前記所定値とされたボクセルを含み、
    前記ボクセルデータは、
    前記ボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む請求項19又は請求項20に記載のボクセルデータ。
  22. 前記ボクセル構造体は、
    ボリュームレンダリング処理の対象領域外であって、不透明度に前記所定値が設定されたボクセルを含み、
    前記ボクセルデータは、
    前記所定値が設定されたボクセルを含むボクセル構造体のボクセルのうち不透明度が前記所定値である対象ボクセルに対して、該対象ボクセルの近傍に位置する近傍ボクセルのRGB値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む請求項19から請求項21のいずれか一項に記載のボクセルデータ。
  23. 前記ボクセルデータは、
    前記対象ボクセルに係る近傍ボクセルのうち、不透明度が前記所定値より大きい近傍ボクセルのRGB値の統計値に基づいて、前記対象ボクセルのRGB値が補正されたデータを含む請求項19から請求項22のいずれか一項に記載のボクセルデータ。
JP2017246756A 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置及び画像処理方法 Active JP7013849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017246756A JP7013849B2 (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017246756A JP7013849B2 (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2019114035A true JP2019114035A (ja) 2019-07-11
JP7013849B2 JP7013849B2 (ja) 2022-02-01

Family

ID=67222652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017246756A Active JP7013849B2 (ja) 2017-12-22 2017-12-22 コンピュータプログラム、画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP7013849B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929682A (zh) * 2021-01-21 2021-06-08 广州虎牙科技有限公司 对图像背景进行透明处理的方法、装置、系统及电子设备
US20220101617A1 (en) * 2018-12-06 2022-03-31 Koninklijke Philips N.V. 3-d virtual endoscopy rendering

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001319220A (ja) * 2000-05-03 2001-11-16 Ge Medical Systems Global Technology Co Llc 医療画像データ・ボリュームからの関係のある画像データの抽出
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2008259698A (ja) * 2007-04-12 2008-10-30 Fujifilm Corp 画像処理方法および装置並びにプログラム
JP2013191030A (ja) * 2012-03-14 2013-09-26 Fujifilm Corp 画像生成装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001319220A (ja) * 2000-05-03 2001-11-16 Ge Medical Systems Global Technology Co Llc 医療画像データ・ボリュームからの関係のある画像データの抽出
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2008259698A (ja) * 2007-04-12 2008-10-30 Fujifilm Corp 画像処理方法および装置並びにプログラム
JP2013191030A (ja) * 2012-03-14 2013-09-26 Fujifilm Corp 画像生成装置、方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220101617A1 (en) * 2018-12-06 2022-03-31 Koninklijke Philips N.V. 3-d virtual endoscopy rendering
CN112929682A (zh) * 2021-01-21 2021-06-08 广州虎牙科技有限公司 对图像背景进行透明处理的方法、装置、系统及电子设备
CN112929682B (zh) * 2021-01-21 2023-03-24 广州虎牙科技有限公司 对图像背景进行透明处理的方法、装置、系统及电子设备

Also Published As

Publication number Publication date
JP7013849B2 (ja) 2022-02-01

Similar Documents

Publication Publication Date Title
US7505037B2 (en) Direct volume rendering of 4D deformable volume images
JP4213135B2 (ja) 展開画像投影方法、展開画像投影プログラム、展開画像投影装置
US8537159B2 (en) Visualization of voxel data
US7424140B2 (en) Method, computer program product, and apparatus for performing rendering
US20060103670A1 (en) Image processing method and computer readable medium for image processing
US20110082667A1 (en) System and method for view-dependent anatomic surface visualization
JPH02899A (ja) グラフ表示装置と物体の3次元像を発生する方法
JP4122314B2 (ja) 投影画像処理方法、投影画像処理プログラム、投影画像処理装置
JP7013849B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
US9965875B2 (en) Virtual projection image method
JP7003635B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
WO2019092167A1 (en) Method of segmenting a 3d object in a medical radiation image
JP6418344B1 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
US20060214930A1 (en) Image processing method and computer readable medium
JP7283603B2 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP6436258B1 (ja) コンピュータプログラム、画像処理装置及び画像処理方法
JP7131080B2 (ja) ボリュームレンダリング装置
JP7155670B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びデータ作成方法
JP7180123B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びデータ作成方法
JP2019114034A (ja) コンピュータプログラム、画像処理装置、画像処理方法及びボクセルデータ
JP7223312B2 (ja) ボリュームレンダリング装置
JP7095409B2 (ja) 医用画像処理装置、医用画像処理方法、プログラム、及びmpr像生成方法
JP2018121857A (ja) 医用画像処理装置、医用画像処理方法、及び医用画像処理プログラム
JP7206617B2 (ja) 断層画像表示用カラーマップの最適化装置およびボリュームレンダリング装置
JP7206846B2 (ja) ボリュームレンダリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103