(57)【要約】【課題】  画像の構造情報を検出するために要する時間を短縮する。【解決手段】  被検者が撮影された画像において、複数の画素からなるブロックにおける画素値の特徴量を算出し、複数のブロックにおける画素値の特徴量の組み合わせに基づいて、入力画像のＮ×Ｎ領域毎に構造情報を検出する。【選択図】  図６
2017126254.tif 000002
【特許請求の範囲】
【請求項１】
被検者が撮影された画像において、複数の画素からなるブロックにおける画素値の特徴量を算出する算出手段と、
複数の前記ブロックにおける画素値の特徴量の組み合わせに基づいて、画像の領域毎に構造情報を検出する検出手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記算出手段は、前記ブロックにおける画素値の合計値を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段は、前記画像の領域に含まれる前記ブロックにおける画素値の合計値を用いて、前記画像の領域毎に前記構造情報を検出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記画像の領域には、複数の前記ブロックが設定されることを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【請求項５】
前記複数のブロックは、前記画像の領域の中心画素に対し点対称となる位置に配置される複数のブロックを含むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記画像の領域の中心画素に対し点対称となる位置に配置される前記複数のブロックを一組とするブロック群として複数のブロック群が設定されていることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記画像の領域の中心画素に対し点対称となる位置に配置される前記複数のブロックの数は４であることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記ブロックの大きさは、前記画像の領域の大きさよりも小さいことを特徴とする請求項１〜７の何れか１項に記載の情報処理装置。
【請求項９】
前記構造情報は、前記画像に表されている、エッジの情報、細線の情報、および境界の有無の情報のうち、少なくとも何れか１つを含むことを特徴とする請求項１〜８の何れか１項に記載の情報処理装置。
【請求項１０】
前記画像の領域は、縦５画素×横５画素のサイズの領域であることを特徴とする請求項１〜９の何れか１項に記載の情報処理装置。
【請求項１１】
前記構造情報は、前記画像に表されている、エッジの情報および細線の情報のうち、少なくとも何れか１つを含み、
前記検出手段は、前記画像の領域の部分領域であって、複数の前記ブロックの組み合わせからなる部分領域における前記画像の画素値の特徴量を用いて、前記エッジの角度および前記細線の角度のうち少なくとも何れかを、前記画像の領域毎に検出することを特徴とする請求項１〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記検出手段は、前記画像の領域の部分領域であって、複数の前記ブロックの組み合わせからなる部分領域における前記画像の画素値の平均値の差分を用いて、前記構造情報を、前記画像の領域毎に検出することを特徴とする請求項１〜１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記検出手段は、前記画像の領域の部分領域であって、複数の前記ブロックの組み合わせを含む部分領域における前記画像の画素値の特徴量を用いて、前記構造情報を、前記画像の領域毎に検出することを特徴とする請求項１〜１２の何れか１項に記載の情報処理装置。
【請求項１４】
被検者が撮影された画像において、複数の画素からなるブロックにおける画素値の特徴量を算出する算出工程と、
複数の前記ブロックにおける画素値の特徴量の組み合わせに基づいて、画像の領域毎に構造情報を検出する検出工程と、を備えることを特徴とする情報処理方法。
【請求項１５】
請求項１〜１３の何れか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、画像の構造を検出するために用いて好適なものである。
【背景技術】
【０００２】
画像から、当該画像の構造情報を検出する方法として、ＶａｎｄｅｒＢｒｕｇフィルタ等の特徴抽出フィルタを用いる手法がある（非特許文献１）。ＶａｎｄｅｒＢｒｕｇフィルタを用いる手法では、縦Ｎ画素×横Ｎ画素の領域を３つの領域に分け、当該３つの領域のパターンとして相互に異なるパターン（フィルタパターン）を有する複数のフィルタを用意する。フィルタの中心画素が画像の対象画素に位置するように画像に対してフィルタを設定する。画像の画素値の平均値をフィルタの領域ごとに算出し、各領域の画素値の平均値の差分の絶対値を算出することを、各フィルタについて行う。そして、各フィルタにおける、各領域の画素値の平均値の差分の絶対値を比較することで、対象画素の周囲の構造（特徴）を示す構造情報を検出する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＶａｎｄｅｒＢｒｕｇ，Ｇ．Ｊ，  "Ｌｉｎｅ  Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｓａｔｅｌｌｉｔｅ  Ｉｍａｇｅｒｙ"，  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｍａｃｈｉｎｅ  Ｐｒｏｃｅｓｓｉｎｇ  ｏｆ  Ｒｅｍｏｔｅｌｙ  Ｓｅｎｓｅｄ  Ｄａｔａ，  Ｊｕｎｅ  ３−５  １９７５，  Ｐａｇｅ  ２Ａ−［１６−２０］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非特許文献１に記載の技術では、各画素に対して縦Ｎ画素×横Ｎ画素のサイズのフィルタとして複数のフィルタ（複数のフィルタパターン）を適用し、画素ごとに画素値を足し合わせなければならない。このため、計算量が多く、処理に時間が掛かるという課題がある。
本発明は、このような課題に鑑みてなされたものであり、画像の構造情報を検出するために要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、被検者が撮影された画像において、複数の画素からなるブロックにおける画素値の特徴量を算出する算出手段と、複数の前記ブロックにおける画素値の特徴量の組み合わせに基づいて、画像の領域毎に構造情報を検出する検出手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像の構造情報を検出するために要する時間を短縮することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の構成を示す図である。
【図２】フィルタの一例を示す図である。
【図３】画像処理装置における処理の概要を説明するフローチャートである。
【図４】フィルタ計算処理の一例を説明するフローチャートである。
【図５】ブロックの第１の例を示す図である。
【図６】画素値の合計値の計算方法の第１の例を説明する図である。
【図７】ブロックの第２の例を示す図である。
【図８】画素値の合計値の計算方法の第２の例を説明する図である。
【図９】画素値の合計値の計算量を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施形態を説明する。
（第１の実施形態）
まず、第１の実施形態を説明する。
図１は、画像処理装置１００の機能的な構成の一例を示す機能ブロック図である。以下、画像処理装置１００の主要部を説明するが、画像処理装置１００は、これ以外の処理部を備えていても構わない。また、画像処理装置１００のハードウェアは、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、及び各種のハードウェアを備える情報処理装置を用いることにより実現される。
【０００９】
画像処理装置１００は、画像の対象画素を中心とする縦Ｎ画素×横Ｎ画素の領域（以下、必要に応じてＮ×Ｎ領域と称する）における構造を示す構造情報を当該Ｎ×Ｎ領域毎に検出する。本実施形態では、画像処理装置１００が、検出した構造情報に基づく画像処理として、画像のノイズを低減する処理である平滑化処理を行う場合を例に挙げて説明する。
【００１０】
画像取得部１０１は、被検者を撮影した画像を取得する。例えば、画像取得部１０１は、被検者のデジタルＸ線画像を取得する。被検者のデジタルＸ線画像は、例えば、Ｘ線源（放射線源）から被検者に向けてＸ線を照射し、被検者を透過したＸ線を検出することにより得られる。尚、画像取得部１０１で取得される画像は、デジタル画像であれば、どのような画像であってもよい。以下の説明では、画像取得部１０１で取得された画像、被検者が撮影された画像を必要に応じて入力画像と称する。
【００１１】
フィルタ領域計算部１０２は、Ｎ×Ｎ領域のフィルタの中心画素を入力画像の対象画素の位置に一致させる。そして、フィルタ領域計算部１０２は、当該フィルタと重なる画像のＮ×Ｎ領域を、当該フィルタのフィルタパターンに合わせて分割した複数の領域毎に、当該領域における入力画像の画素値の特徴量を算出する。このような各領域における入力画像の画素値の特徴量の算出を、相互に異なるフィルタパターンを有する複数のフィルタのそれぞれについて行う。本実施形態では、入力画像の画素値の特徴量として、平均値を用いる場合を例に挙げて説明する。また、本実施形態では、フィルタのＮ×Ｎ領域を３つの領域に分割する場合を例に挙げて説明する。従って、３つの領域のパターンがフィルタパターンになる。ただし、領域の分割数は３つに限定されない。尚、フィルタは、画像に映し出されている部分の構造（エッジや細線等の特徴）を検出するためのフィルタ（いわゆる特徴抽出フィルタ）である。本実施形態では、フィルタがＶａｎｄｅｒＢｒｕｇフィルタである場合を例に挙げて説明する。
【００１２】
構造決定部１０３は、フィルタ領域計算部１０２における計算の結果に基づいて、複数のフィルタのうちの１つを、対象画素の周囲（Ｎ×Ｎ領域）の構造に最も合うフィルタとして選択する。構造決定部１０３は、選択したフィルタにおけるフィルタパターンに基づいて、対象画素の周囲（Ｎ×Ｎ領域）における構造を示す構造情報を決定する。
【００１３】
平滑化部１０４は、構造決定部１０３により決定された構造情報に応じた平滑化処理を入力画像に対して行う。構造情報に応じた平滑化処理とは、当該構造が失われることを抑制しながらノイズの低減を行う処理を指す。尚、構造情報に応じた平滑化処理は、公知の技術で実現することができるので、ここでは、詳細な説明を省略する。
【００１４】
出力部１０５は、平滑化部１０４で平滑化処理された画像を出力する。出力の形態としては、例えば、コンピュータディスプレイへの表示、画像処理装置１００の内部または外部の記憶装置への記憶、および外部装置への送信の少なくとも何れか１つを採用することができる。尚、画像処理装置１００において、平滑化処理に加え、その他の画像処理が行われる場合には、出力部１０５は、平滑化処理に加え、当該その他の画像処理が行われた画像を出力することになる。
【００１５】
図２は、本実施形態で使用するフィルタ群２００の一例を示す図である。本実施形態では、５×５サイズ（縦５画素×横５画素のサイズ）のフィルタサイズのフィルタを計８つ使用する場合を例に挙げて説明する。尚、フィルタサイズおよびフィルタ数は、これらに限定されない。
【００１６】
図２において、８つのフィルタ２０１〜２０８は、相互に異なるフィルタパターンを有する。本実施形態では、フィルタ２０１〜２０８の領域を３つの領域に分割する。従って、これら３つの領域のパターンがフィルタパターンになる。例えば、フィルタ２０１は、３つの領域２０９〜２１１に分割される。その他のフィルタ２０２〜２０８についても、図２に示すように、それぞれ３つの領域に分割される。
【００１７】
フィルタ２０１〜２０８内の領域２１０、２１３、２１６、２１９、２２２、２２５、２２８、２３１は、当該フィルタ２０１〜２０８により検出する形状を示す（図２において塗りつぶしている領域を参照）。図２に示す例では、５×５サイズのフィルタ２０１〜２０８により、８つの角度を検出することが可能となる。具体的には、領域２１０により０度、領域２１３により２２．５度、領域２１６により４５度、領域２１９により６７．５度、領域２２２により９０度、領域２２５により１１２．５度、領域２２８により１３５度、領域２３１が１５７．５度を検出できる。
【００１８】
この他、フィルタ２０１〜２０８には、領域２０９、２１１、２１２、２１４、２１５、２１７、２１８、２２０、２２１、２２３、２２４、２２６、２２７、２２９、２３０、２３２が含まれる。
前述したように本実施形態では、このようなフィルタの中心画素を入力画像の各画素（対象画素）に一致させ、各領域に含まれる入力画像の画素値の合計値を算出する。そして、算出した画素値の合計値を当該領域の画素数で割った値（即ち、各領域における画素値を当該領域の大きさで正規化した値）を、当該領域における入力画像の画素値の平均値として導出する。このような処理を、８つのフィルタ２０１〜２０８の夫々について行う。本実施形態では、以上の処理のうち、各領域に含まれる入力画像の画素値の合計値を算出するのに要する時間を短縮する。その手法の一例を以下に説明する。
【００１９】
図３は、画像処理装置１００における処理の概要の一例を説明するフローチャートである。
ステップＳ３０１において、画像取得部１０１は、入力画像を取得する。
次に、ステップＳ３０２において、フィルタ領域計算部１０２は、フィルタ計算処理を行う。フィルタ計算処理では、フィルタ２０１〜２０８の領域２０９〜２３２と重なる入力画像の領域のそれぞれにおいて、入力画像の画素値の平均値が算出される。この平均値は、入力画像の全ての画素を対象画素とした場合のそれぞれについて算出される。フィルタ計算処理の詳細については、図４等を参照しながら後述する。
【００２０】
次に、ステップＳ３０３において、構造決定部１０３は、ステップＳ３０２で算出された各領域２０９〜２３２における入力画像の画素値の平均値に基づき、各フィルタ２０１〜２０８を適用した場合の対象画素の周囲の領域における構造を決定する。尚、本実施形態では、Ｎ＝５であるので、対象画素の周囲は、５×５領域（縦５画素×横５画素の領域）である。以下に、ステップＳ３０３の処理の具体例を説明する。尚、ステップＳ３０３の処理は、以下の内容に限定されない。
【００２１】
領域２０９、２１２、２１５、２１８、２２１、２２４、２２７、２３０における入力画像の画素値の平均値をαとする。領域２１０、２１３、２１６、２１９、２２２、２２５、２２８、２３１における入力画像の画素値の平均値をβとする。領域２１１、２１４、２１７、２２０、２２３、２２６、２２９、２３２における入力画像の画素値の平均値をγとする。構造決定部１０３は、例えば、以下の（Ａ）〜（Ｄ）の４つの何れに該当するのかを、各フィルタ２０１〜２０８を適用した場合のそれぞれについて決定する。
（Ａ）α≠β、且つ、β≒γ
（Ｂ）α≒β、且つ、β≠γ
（Ｃ）α≠β、β≠γ、且つ、α≒γ
（Ｄ）α≒β≒γ
【００２２】
尚、（Ａ）〜（Ｄ）において、「≒」は、その左辺と右辺の値の差の絶対値が閾値以下であることを表し、「≠」は、その左辺と右辺の値の差の絶対値が閾値以上であることを表す。これらの閾値は、同じ値であっても異なる値であってもよい。（Ａ）または（Ｂ）に該当する場合、対象画素の周囲における構造は、エッジであることを表す。（Ｃ）に該当する場合、対象画素の周囲における構造は、細線であることを表す。（Ｄ）に該当する場合、対象画素の周囲における構造は、平坦である（境界を含まない）ことを表す。このように（Ｄ）は、境界の有無を判定するための条件である。
【００２３】
次に、ステップＳ３０４において、構造決定部１０３は、ステップＳ３０３の計算の結果に基づいて、入力画像の各対象画素の周囲における構造を決定する。以下に、ステップＳ３０４の処理の具体例を説明する。尚、ステップＳ３０４の処理は、以下の内容に限定されない。
【００２４】
ステップＳ３０２において、対象画素のそれぞれについて、各フィルタ２０１〜２０８を適用した場合の対象画素の周囲における構造として（Ａ）〜（Ｄ）の何れかが決定されている。構造決定部１０３は、フィルタ２０１〜２０８により検出する形状を示す領域（２１０、２１３等）の平均値βと、それ以外の領域（２０９、２１１、２１２、２１４等）の平均値α、γとの差分の絶対値（＝｜α−β｜、｜β−γ｜）を計算する。次に、構造決定部１０３は、フィルタ２０１〜２０８のうち、この絶対値が最も大きい値となるフィルタを１つ選択する。そして、構造決定部１０３は、選択したフィルタに対してステップＳ３０２で決定された構造（（Ａ）〜（Ｄ）の何れか）を、対象画素の周囲の領域（５×５領域）における構造として決定する。構造決定部１０３は、このようにして、対象画素の周囲の領域（５×５領域）における構造を、入力画像の画素のそれぞれについて決定する。このように、入力画像の５×５領域毎に構造が決定される。このとき前述した（Ａ）〜（Ｃ）に基づいて、対象画素の周囲における構造がエッジまたは細線であることが決定された場合、前述した角度は、当該構造（エッジまたは細線）の角度になる。
【００２５】
次に、ステップＳ３０５において、ステップＳ３０４において決定された構造情報に応じた平滑化処理を入力画像に対して行う。
最後に、出力部１０５は、ステップＳ３０５において平滑化処理された画像を出力する。そして、図３のフローチャートによる処理を終了する。
【００２６】
次に、図４のフローチャート等を参照しながら、図３のステップＳ３０２のフィルタ計算処理の一例を説明する。尚、図４のフローチャートは、入力画像の各画素について繰り返し実行されるものとする。
まず、ステップＳ４０１において、フィルタ領域計算部１０２は、入力画像の領域のうち、対象画素を中心とするＮ×Ｎ領域（図２に示す例では５×５の領域）に対し、複数の画素からなるブロックを少なくとも１つ設定する。入力画像のＮ×Ｎ領域（図２に示す例では５×５の領域）は、フィルタサイズと同じ大きさの領域である。図５は、入力画像のＮ×Ｎ領域に対して設定されるブロックの一例を示す図である。
【００２７】
図５に示す例では、５×５の領域に対し、左上の４画素からなるブロック５０１、右上の４画素からなるブロック５０２、左下の４画素からなるブロック５０３、および右下の４画素からなるブロック５０４がそれぞれ設定される。図２および図５に示すように、ブロック５０１〜５０４の大きさは、フィルタ２０１〜２０８に設定される領域２０９〜２３２の少なくとも１つの大きさよりも小さくなるように設定される。入力画像の５×５の領域に対してどの位置にどのようなブロックを設定するのかは、予め画像処理装置１００に設定されているものとする。
【００２８】
次に、ステップＳ４０２において、フィルタ領域計算部１０２は、入力画像の５×５の領域のうち、ステップＳ４０１において設定されたブロック５０１〜５０４の領域における画素値の合計値を、ブロック毎に個別に算出する。図５に示す例では、ブロック５０１〜５０４は、それぞれ４画素からなるので、それぞれのブロック５０１〜５０４において、３回の加算が行われ、合計１２（＝３回×４ブロック）回の加算が行われる。
【００２９】
次に、ステップＳ４０３において、フィルタ領域計算部１０２は、フィルタの中心を入力画像の対象画素の位置に一致させる。そして、フィルタ領域計算部１０２は、入力画像のＮ×Ｎ領域を分割した３つの領域であって、当該フィルタに対して設定されている３つの領域と重なる３つの領域毎に、当該領域に含まれる入力画像の画素値の合計値を計算する。このとき、当該分割した領域に、（１つの）ブロックの全てが含まれる場合には、ステップＳ４０２で計算した当該ブロックの領域における画素値の合計値を使用する。即ち、ステップＳ４０３の処理では、当該分割した領域の、当該ブロックの全てを含む領域については、画素毎の画素値の加算は行われずに、ステップＳ４０２で計算した画素値の合計値が使用される。ステップＳ４０３の処理は、８つのフィルタ２０１〜２０８のそれぞれについて個別に行われる。
【００３０】
図６は、ブロックを用いてフィルタの領域毎の画素値の合計値を計算する方法の一例を説明する図である。図６では、図２に示したフィルタ２０２を例に挙げて示す。
図６において、図２に示したように、フィルタ２０２は、３つの領域２１２、２１３、２１４から構成される。領域２１２には、図５に示したブロック５０１の全ての領域が含まれる。従って、フィルタ領域計算部１０２は、ブロック５０１の画素値と、ブロック５０１以外の領域２１２の各画素の画素値とを加算して、入力画像における領域２１２の画素値の合計値を計算する。ブロック５０１の画素値は、ステップＳ４０２で計算されているので、ステップＳ４０３ではその値を使用し、ブロック５０１の画素値を改めて計算することはしない。入力画像における領域２１２の画素値の合計値を計算する際には、６回の加算が行われる。
【００３１】
同様に、領域２１４には、図５に示したブロック５０４の全ての領域が含まれる。従って、フィルタ領域計算部１０２は、ブロック５０４の画素値と、ブロック５０４以外の領域２１４の各画素の画素値とを加算して、入力画像における領域２１４の画素値の合計値を計算する。入力画像における領域２１４の画素値の合計値を計算する際にも、６回の加算が行われる。
【００３２】
一方、領域２１３には、図５に示したブロック５０１〜５０４の全ての領域が含まれない。従って、フィルタ領域計算部１０２は、領域２１３に含まれる画素の画素値を１つずつ加算して、入力画像における領域２１３の画素値の合計値を計算する。入力画像における領域２１３の画素値の合計値を計算する際には、４回の加算が行われる。
その他のフィルタ２０１、２０３〜２０８を適用した場合についても、同様にして、入力画像における各領域の画素値の合計値が算出される。
【００３３】
次に、ステップＳ４０４において、フィルタ領域計算部１０２は、ステップＳ４０３で算出された各領域の画素値の合計値を、当該領域を構成する画素数で割った値を、当該領域における入力画像の画素値の平均値として算出する。例えば、図６において、領域２１２を構成する画素数は１０である。従って、領域２１２の画素値の合計値がＸであるとすると、領域２１２における入力画像の画素値の平均値は、Ｘ／１０になる。ステップＳ４０４の処理は、８つのフィルタ２０１〜２０８の領域２０９〜２３２のそれぞれについて個別に行われる。
そして、入力画像の全ての画素を対象画素としてステップＳ４０１〜Ｓ４０４の処理が繰り返し実行されると、前述した図３のステップＳ３０３の処理に進む。
【００３４】
（第２の実施形態）
次に、第２の実施形態を説明する。第１の実施形態では、入力画像の領域のうち、フィルタサイズと同じ大きさの領域内の、当該領域の中心画素に対して点対称となる位置に配置される４つのブロックを一組とするブロック群を１つだけ設定する場合を例に挙げて説明した。これに対し、本実施形態では、このようなブロック群を複数設定する場合を例に挙げて説明する。このように本実施形態と第１の実施形態とは、入力画像に対して設定するブロックが増えることによる処理が主として異なる。従って、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００３５】
図７は、入力画像のＮ×Ｎ領域に対して設定されるブロックの一例を示す図である。図７（ａ）は、図５に示したブロック５０１〜５０４を示す。
図７（ｂ）に示す例では、２つの画素からなる４つのブロック７０１〜７０４が設定される。ブロック７０１は、５×５の領域の中心画素の左側において横方向に並ぶ２つの画素からなるブロックである。ブロック７０２は、５×５の領域の中心画素の上側において縦方向に並ぶ２つの画素からなるブロックである。ブロック７０３は、５×５の領域の中心画素の右側において横方向に並ぶ２つの画素からなるブロックである。ブロック７０４は、５×５の領域の中心画素の下側において縦方向に並ぶ２画素からなるブロックである。
【００３６】
図７（ｃ）、図７（ｄ）に示す例でも、図７（ｂ）と同様に、２つの画素からなる４つのブロック７０５〜７０８、７０９〜７１２が設定される。ブロック７０５は、５×５の領域の左上隅において縦方向に並ぶ２つの画素からなるブロックである。ブロック７０６は、５×５の領域の右上隅において横方向に並ぶ２つの画素からなるブロックである。ブロック７０７は、５×５の領域の左下隅において横方向に並ぶ２つの画素からなるブロックである。ブロック７０８は、５×５の領域の右下隅において縦方向に並ぶ２つの画素からなるブロックである。ブロック７０９は、５×５の領域の左上隅において横方向に並ぶ２つの画素からなるブロックである。ブロック７１０は、５×５の領域の右上隅において縦方向に並ぶ２つの画素からなるブロックである。ブロック７１１は、５×５の領域の左下隅において縦方向に並ぶ２つの画素からなるブロックである。ブロック７１２は、５×５の領域の右下隅において横方向に並ぶ２つの画素からなるブロックである。
【００３７】
本実施形態においても、第１の実施形態と同様に、ブロック５０１〜５０４、７０１〜７１２の大きさは、フィルタ２０１〜２０８に設定される領域２０９〜２３２の少なくとも１つの大きさよりも小さくなるように設定される。入力画像の５×５の領域に対してどの位置にどのようなブロックを設定するのかは、予め画像処理装置１００に設定されているものとする。
【００３８】
図４のステップＳ４０１において、フィルタ領域計算部１０２は、対象画素を中心として５×５の領域に対し、以上のようなブロック５０１〜５０４、７０１〜７１２をそれぞれ個別に設定する。そして、ステップＳ４０２において、フィルタ領域計算部１０２は、入力画像の５×５の領域のうち、ステップＳ４０１で設定されたブロック５０１〜５０４、７０１〜７１２における画素値の合計値を、ブロック毎に個別に算出する。第１の実施形態で説明したように、それぞれのブロック５０１〜５０４において、３回の加算が行われる。また、ブロック７０１〜７１２のそれぞれにおいて、１回の加算が行われる。従って、合計２４（＝３回×４ブロック＋１回×１２ブロック）回の加算が行われる。
【００３９】
次に、ステップＳ４０３において、フィルタ領域計算部１０２は、フィルタの中心を入力画像の対象画素の位置に一致させる。そして、フィルタ領域計算部１０２は、入力画像のＮ×Ｎ領域を分割した３つの領域であって、当該フィルタに対して設定されている３つの領域と重なる３つの領域毎に、当該領域に含まれる入力画像の画素値の合計値を計算する。第１の実施形態と同様に、当該分割した領域に、（１つの）ブロックの全てが含まれている場合には、ステップＳ４０２で計算した当該ブロックの領域における画素値の合計値が使用される。
【００４０】
図８は、ブロックを用いてフィルタの領域毎の画素値の合計値を計算する方法の一例を説明する図である。図８では、図６と対比するため、図２に示したフィルタ２０２を例に挙げて示す。
図８において、フィルタ２０２は、３つの領域２１２、２１３、２１４から構成される。領域２１２には、図７に示したブロック５０１の他に、ブロック７０１、７０２、７０６の全ての領域が含まれる。従って、フィルタ領域計算部１０２は、入力画像の５×５の領域の部分領域として、ブロック５０１、７０１、７０２、７０６の組み合わせからなる部分領域の画素値を加算して、入力画像における領域２１２の画素値の合計値を計算する。ブロック５０１、７０１、７０２、７０６の画素値は、ステップＳ４０２で計算されているので、ステップＳ４０３ではその値を使用し、ブロック５０１、７０１、７０２、７０６の画素値を改めて計算することはしない。入力画像における領域２１２の画素値の合計値を計算する際には、３回の加算が行われる。
【００４１】
同様に、領域２１４には、図５に示したブロック５０４の他に、ブロック７０３、７０４、７０７の全ての領域が含まれる。従って、フィルタ領域計算部１０２は、入力画像の５×５の領域の部分領域として、ブロック５０４、７０３、７０４、７０７の組み合わせからなる部分領域の画素値を加算して、入力画像における領域２１４の画素値の合計値を計算する。入力画像における領域２１４の画素値の合計値を計算する際にも、３回の加算が行われる。
【００４２】
一方、領域２１３には、図５に示したブロック５０１〜５０４の全ての領域が含まれない。従って、フィルタ領域計算部１０２は、領域２１３に含まれる画素の画素値を１つずつ加算して、入力画像における領域２１３の画素値の合計値を計算する。入力画像における領域２１３の画素値の合計値を計算する際には、４回の加算が行われる。
その他のフィルタ２０１、２０３〜２０８を適用した場合についても、同様にして、入力画像における各領域の画素値の合計値が算出される。
【００４３】
（計算量の比較）
図９は、入力画像における各領域の画素値の合計値の計算量の一例を表形式で示す図である。ここでは、入力画像の或る１つの画素に、図２に示すフィルタ２０１〜２０８の中心を一致させ、入力画像における各領域２０９〜２３２の画素値の合計値を算出する場合の画素値の加算回数を演算数として示す。
【００４４】
図９において、未適用は、第１、第２の実施形態で説明したブロックを設定せず、各領域２０９〜２３２の画素値を１画素ずつ加算した場合の演算数を示す。この場合、フィルタ２０１〜２０８により検出する形状を示す領域（２１０、２１３等）では、それぞれ４回の加算が行われる。それ以外の領域（２０９、２１１、２１２、２１４等）では、それぞれ９回の加算が行われる。従って、計算量が２２のフィルタが８つある。よって、総計算量は、１７６（＝８×２２（＝９×２＋４））になる。
【００４５】
また、図９において、適用１は、第１の実施形態で説明したように、ブロック５０１〜５０４を設定した場合の演算数を示す。この場合、ブロック５０１〜５０４では、それぞれ３回の加算が行われる。従って、ブロック５０１〜５０４の画素値の計算量であるブロック計算量は、１２（＝４×３）である。また、フィルタ２０１〜２０８により検出する形状を示す領域（２１０、２１３等）では、それぞれ４回の加算が行われる。それ以外の領域のうち、領域２０９、２１１、２２１、２２３では、それぞれ３回の加算が行われる。また、領域２１２、２１３、２１５、２１７、２１８、２２０、２２４、２２６、２２７、２２９、２３０、２１２では、それぞれ６回の加算が行われる。従って、計算量が１０のフィルタが２つ（フィルタ２０１、２０５）、計算量が１６のフィルタが６つ（フィルタ２０２〜２０４、２０６〜２０８）ある。よって、総計算量は、１２８（＝１２＋２×１０（＝３×２＋４）＋６×１６（＝６×２＋４））になる。
【００４６】
また、図９において、適用２は、第２の実施形態で説明したように、ブロック５０１〜５０４、７０１〜７１２を設定した場合の演算数を示す。この場合、ブロック５０１〜５０４では、それぞれ３回の加算が行われる。ブロック７０１〜７１２では、それぞれ１回の加算が行われる。従って、ブロック５０１〜５０４、７０１〜７１２の画素値の計算量であるブロック計算量は、２４（＝４×３＋１２×１）である。また、フィルタ２０１〜２０８により検出する形状を示す領域（２１０、２１３等）では、それぞれ４回の加算が行われる。それ以外の領域のうち、領域２０９、２１１、２２１、２２３では、それぞれ２回の加算が行われる。また、領域２１２、２１４、２１８、２１９、２２４、２２６、２３０、２３２では、それぞれ３回の加算が行われる。また、領域２１５、２１７、２２７、２２９では、それぞれ４回の加算が行われる。従って、計算量が８のフィルタが２つ（フィルタ２０１、２０５）、計算量が１０のフィルタが４つ（フィルタ２０２、２０４、２０６、２０７）、計算量が１２のフィルタが２つ（フィルタ２０３、２０７）ある。よって、総計算量は、１０４（＝２４＋２×８（＝２×２＋４）＋４×１０（＝３×２＋４）＋２×１２（＝４×２＋４））になる。
【００４７】
以上のように、被検者が撮影された画像において、複数の画素からなるブロックにおける画素値の特徴量を算出し、複数のブロックにおける画素値の特徴量の組み合わせに基づいて、入力画像のＮ×Ｎ領域毎に構造情報を検出する。例えば、まず、入力画像のＮ×Ｎ領域に対し、複数の画素からなるブロック（５０１等）を複数設定し、当該複数のブロックにおける画素値の合計値を計算しておく。その後、当該ブロックにおける画素値の合計値をそれぞれ用いて、入力画像のＮ×Ｎ領域を分割した複数の領域（２０９〜２１１等）における画素値の合計値を、当該領域毎に計算する。そして、当該領域における画素値の平均値を算出し、当該平均値を用いて、構造情報を、入力画像のＮ×Ｎ領域毎に検出する。従って、入力画像のＮ×Ｎ領域における画素値の合計値を計算する際の計算量を削減することができる。よって、画像内の構造の検出精度を落とすことなく、当該構造の検出に要する処理時間を短縮することができる。
【００４８】
また、入力画像の領域のうち、フィルタサイズと同じ大きさの領域内の、当該領域の中心画素に対して点対称となる位置に配置される４つのブロックを複数組設定することにより、計算量をより一層削減することができる。
【００４９】
第１、第２の実施形態では、入力画像の領域のうち、フィルタサイズと同じ大きさの領域内の、当該領域の中心画素に対して点対称となる位置に配置される４つのブロックを設定する場合を例に挙げて説明した。しかしながら、フィルタサイズと同じ大きさの入力画像の領域内の、当該領域の中心画素に対して点対称となる位置に配置される４つのブロックとして、図７に示したブロック以外のブロックを設定してもよい。例えば、図７においては、長方形の長辺の１つおよび短辺の１つが、領域の端に一致するようにブ４つのブロックを設定している。しかしながら、必ずしもこのようにする必要はない。例えば、長方形のブロックの短辺の１つのみが、領域の端に一致するように、４つのブロックを中心画素に対して点対称に配置してもよいし、斜め方向で相互に隣接する複数の画素からなる４つのブロックを中心画素に対して点対称に配置してもよい。また、前述した点対称となる位置に配置されるブロックの数は、４つに限定されない。その他、１つのブロックを構成する複数の画素は、相互に離れた位置の画素であってもよい。また、１つのブロックを構成する画素の数は２または４に限定されない。このように、入力画像の画素値を１画素ずつ加算する場合（即ち、図９に示す未適用の場合）に比べて総計算量が少なくなるようにしていれば、ブロックの数、ブロックを構成する画素数、およびブロックの位置は、限定されない。
【００５０】
また、第２の実施形態では、入力画像のＮ×Ｎ領域を分割した領域と、複数のブロックの組み合わせからなる部分領域とが一致する場合を例に挙げて説明した（図８の領域２１２と、ブロック５０１、７０１、７０２、７０６等を参照）。即ち、入力画像のＮ×Ｎ領域の部分領域として、複数のブロックの組み合わせからなる部分領域を例に挙げて説明した。しかしながら、必ずしもこのようにする必要はない。入力画像のＮ×Ｎ領域を分割した領域に、複数のブロックの組み合わせと、ブロックで纏められない個別の画素とが含まれていてもよい。即ち、入力画像のＮ×Ｎ領域の部分領域として、複数のブロックの組み合わせと、ブロックで纏められない個別の画素とからなる部分領域を採用してもよい。
また、第１の実施形態では、入力画像のＮ×Ｎ領域を分割した領域が、１つのブロックとブロックで纏められない個別の画素とからなる領域である場合を例に挙げて説明した（図６の領域２１２とブロック５０１等を参照）。しかしながら、入力画像のＮ×Ｎ領域を分割した領域と、１つのブロックとが一致するようにしてもよい。
【００５１】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５２】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００５３】
１００：画像処理装置、１０２：フィルタ領域計算部、１０３：構造決定部
【図１】
2017126254.tif 000003
【図２】
2017126254.tif 000004
【図３】
2017126254.tif 000005
【図４】
2017126254.tif 000006
【図５】
2017126254.tif 000007
【図６】
2017126254.tif 000008
【図７】
2017126254.tif 000009
【図８】
2017126254.tif 000010
【図９】
2017126254.tif 000011