JP2019040419A - Image processing apparatus and program - Google Patents

Image processing apparatus and program Download PDF

Info

Publication number
JP2019040419A
JP2019040419A JP2017162290A JP2017162290A JP2019040419A JP 2019040419 A JP2019040419 A JP 2019040419A JP 2017162290 A JP2017162290 A JP 2017162290A JP 2017162290 A JP2017162290 A JP 2017162290A JP 2019040419 A JP2019040419 A JP 2019040419A
Authority
JP
Japan
Prior art keywords
cell
identification information
polygon
vertex
block
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
JP2017162290A
Other languages
Japanese (ja)
Other versions
JP6942007B2 (en
Inventor
季 斎藤
Minoru Saito
季 斎藤
太一 金
Taichi KIN
太一 金
健人 塩出
Taketo Shiode
健人 塩出
浩文 中冨
Hirofumi Nakatomi
浩文 中冨
延人 齊藤
Nobuhito Saito
延人 齊藤
博史 小山
Hiroshi Koyama
博史 小山
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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2017162290A priority Critical patent/JP6942007B2/en
Priority to PCT/JP2018/031437 priority patent/WO2019039603A1/en
Publication of JP2019040419A publication Critical patent/JP2019040419A/en
Application granted granted Critical
Publication of JP6942007B2 publication Critical patent/JP6942007B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B6/00Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
    • A61B6/02Arrangements for diagnosis sequentially in different planes; Stereoscopic radiation diagnosis
    • A61B6/03Computed tomography [CT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pathology (AREA)
  • Surgery (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Optics & Photonics (AREA)
  • Biophysics (AREA)
  • Radiology & Medical Imaging (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • High Energy & Nuclear Physics (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

To provide an image processing apparatus capable of reducing the load in image processing such as a deformation operation, and a program.SOLUTION: An image processing apparatus, which is configured to divide a virtual space forming a virtual polygon model into virtual cells of a predetermined polygonal shape to form the polygon model, accepts value data distributed in a virtual space to be processed, determines a value for the position of each vertex of the polygonal shape of the cell on the basis of the value data, sets side identification information for identifying each side element, with sides not overlapping each other as side elements, among the sides of each cell, specifies side identification information of the side element at which the vertex of the polygon passing through the cell is located on the basis of values corresponding to the positions of vertices at both ends of each side element, and generates information representing the polygon model using the specified side identification information.SELECTED DRAWING: Figure 1

Description

本発明は、医療用画像等を処理する画像処理装置、及びプログラムに関する。   The present invention relates to an image processing apparatus and a program for processing medical images and the like.

近年、例えば医療用の診断装置(CT装置等)から得られた画像データを処理して、血管等の組織を三次元的なポリゴンモデルで表現し、三次元の画像として可視化する技術が広く知られている。また、このようなモデル化、可視化のための処理としては、例えば医療分野では、マーチングキューブ法と呼ばれる画像処理が用いられるのが一般的となっている(例えば特許文献1)。   In recent years, for example, a technique for processing image data obtained from, for example, a medical diagnostic apparatus (such as a CT apparatus) to express a tissue such as a blood vessel as a three-dimensional polygon model and visualize it as a three-dimensional image is widely known. It has been. As such processing for modeling and visualization, for example, in the medical field, image processing called a marching cube method is generally used (for example, Patent Document 1).

特開2012−245374号公報JP 2012-245374 A

しかしながら、上記従来のマーチングキューブを用いた画像処理では、可視化は可能であるが、手術時のシミュレーションなどを行うべく組織のポリゴンモデルの変形操作を行うときに、次のような問題が生じる。   However, in the image processing using the conventional marching cube, visualization is possible, but the following problems arise when performing a deformation operation of the tissue polygon model in order to perform a simulation during surgery.

すなわち、通常のマーチングキューブ法では、仮想空間に四面体のセルをマトリクス状に配列し、この仮想空間内に、複数の画像データに基づいて数値(例えば画像データの輝度の値)を設定する。そして、上記各セルについて、所定の値の面(等値面)が含まれるか否かを決定し、等値面が含まれるとされたセルについては、等値面を特定する情報を生成する。   That is, in the normal marching cube method, tetrahedral cells are arranged in a matrix in a virtual space, and a numerical value (for example, a luminance value of the image data) is set in the virtual space based on a plurality of image data. Then, for each of the cells, it is determined whether or not a plane having a predetermined value (isosurface) is included, and information for specifying the isosurface is generated for the cell that is supposed to include the isosurface. .

ここで、互いに隣接する一対のセルには同じ位置に配される辺(共通辺と呼ぶ)が含まれる。具体的には図10に例示するように、互いに隣接するセルA,Bにおいては、セルAの底面を構成する辺A1からA4と、セルBの上面を構成する辺B5からB8とが共通辺として含まれる。しかしながら、上記通常のマーチングキューブ法では、各セルについて独立して等値面の設定を行うため、例えばセルAについて設定した等値面が辺A1上の点Axを横切ると判断されたときには、当該等値面は、セルBの、辺A1に対する共通辺である辺B5上の点Bxも同様に横切ることとなる。ここで、点Axと点Bxとは、上記仮想空間内の同じ点であるにも関わらず、マーチングキューブ法では、セルごとに処理を行ってしまうので、互いに異なる点として識別されて処理に供される。   Here, a pair of cells adjacent to each other includes sides (called common sides) arranged at the same position. Specifically, as illustrated in FIG. 10, in the cells A and B adjacent to each other, the sides A1 to A4 constituting the bottom surface of the cell A and the sides B5 to B8 constituting the top surface of the cell B are common sides. Included as However, in the normal marching cube method, since the isosurface is set independently for each cell, for example, when it is determined that the isosurface set for the cell A crosses the point Ax on the side A1, The isosurface will also cross the point Bx on the side B5 of the cell B which is the common side with respect to the side A1. Here, although the point Ax and the point Bx are the same point in the virtual space, in the marching cube method, processing is performed for each cell. Therefore, the points Ax and Bx are identified as different points and used for processing. Is done.

このことは、可視化のみに用いる場合には通常、問題とならないが、このポリゴンモデルに対して頂点の編集操作、例えば変形操作を行う場合、点Axの位置を変化させるときには、対応する点Bxを探索して、当該点Bxについても点Axと同じように位置を変化させなければならない。   This is not usually a problem when used only for visualization. However, when a vertex editing operation such as a deformation operation is performed on this polygon model, the corresponding point Bx is changed when the position of the point Ax is changed. By searching, the position of the point Bx must be changed in the same manner as the point Ax.

このため、変形操作の処理負荷が大きくなり、リアルタイムに頂点の編集操作を行う等の処理が困難となる場合があった。また、頂点の編集操作に先立って同一座標にある頂点を統合する処理を行う場合も、その処理負荷が大きくなっていた。   For this reason, the processing load of the deformation operation increases, and it may be difficult to perform processing such as performing vertex editing operations in real time. Also, when processing for integrating vertices at the same coordinates prior to the vertex editing operation, the processing load is large.

本発明は上記実情に鑑みて為されたもので、頂点の編集操作等の画像処理負荷を軽減できる画像処理装置、及びプログラムを提供することを、その目的の一つとする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide an image processing apparatus and a program that can reduce an image processing load such as vertex editing operation.

上記従来例の問題点を解決する本発明は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、を含み、当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供されることとしたものである。   The present invention for solving the problems of the above-described conventional example is an image processing apparatus for forming a polygon model by dividing a virtual space forming a virtual polygon model into virtual cells having a predetermined polygon shape, Means for accepting value data distributed in the virtual space to be processed; means for determining a value for each vertex position of the polygonal shape of the cell based on the value data; and Of these, sides that do not overlap each other are set as side elements, side identification information for identifying each side element is set, and the cell passes through the cell based on the values corresponding to the vertex positions at both ends of each side element. Means for identifying edge identification information of the edge element where the vertex of the polygon to be positioned is located, and polygon model generation means for generating information representing the polygon model using the identified edge identification information. Information of the polygon model represented with the one in which it was decided to be subjected to predetermined processing including visualization and modification operations.

本発明によると、変形操作等の画像処理負荷を軽減できる。   According to the present invention, it is possible to reduce an image processing load such as a deformation operation.

本発明の実施の形態に係る画像処理装置の構成例を表すブロック図である。It is a block diagram showing the example of a structure of the image processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る画像処理装置の一例を表す機能ブロック図である。It is a functional block diagram showing an example of the image processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る画像処理装置が設定するセル、及び辺要素の例を表す説明図である。It is explanatory drawing showing the example of the cell and edge element which the image processing apparatus which concerns on embodiment of this invention sets. 本発明の実施の形態に係る画像処理装置による仮頂点識別情報の設定例を表す説明図である。It is explanatory drawing showing the example of a setting of temporary vertex identification information by the image processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る画像処理装置の動作例を表すフローチャート図である。It is a flowchart figure showing the example of operation of the image processing device concerning an embodiment of the invention. 本発明の実施の形態に係る画像処理装置の動作例を表す説明図である。It is explanatory drawing showing the operation example of the image processing apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る画像処理装置の動作例を表すもう一つの説明図である。It is another explanatory drawing showing the example of operation of the image processing device concerning an embodiment of the invention. 本発明の実施の形態に係る画像処理装置による処理と従来例の処理との対比を表す説明図である。It is explanatory drawing showing contrast with the process by the image processing apparatus which concerns on embodiment of this invention, and the process of a prior art example. 本発明の実施の形態に係る画像処理装置の効果を表す説明図である。It is explanatory drawing showing the effect of the image processing apparatus which concerns on embodiment of this invention. 従来の処理における頂点の設定方法を表す説明図である。It is explanatory drawing showing the setting method of the vertex in the conventional process.

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置1は、図1に例示するように、制御部11、記憶部12、操作部13、表示部14、及びインタフェース部15を含んで構成される。   Embodiments of the present invention will be described with reference to the drawings. As illustrated in FIG. 1, the image processing apparatus 1 according to the embodiment of the present invention includes a control unit 11, a storage unit 12, an operation unit 13, a display unit 14, and an interface unit 15.

制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態において、この制御部11は、仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する処理と、当該ポリゴンモデルの情報を用いた、可視化及び頂点の編集操作(変形操作等)の所定処理とを実行する。   The control unit 11 is a program control device such as a CPU, and operates according to a program stored in the storage unit 12. In the present embodiment, the control unit 11 divides a virtual space that forms a virtual polygon model into virtual cells having a predetermined polygonal shape to form a polygon model, and information on the polygon model And a predetermined process of visualization and vertex editing operation (deformation operation, etc.) using.

ここでポリゴンモデルを形成する処理では、この制御部11は、処理対象となる仮想空間内に分布する値データを受け入れる。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。また制御部11は、この値データに基づいて、上記セルの多角形状の各頂点の位置ごとの値を特定し、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素(このポリゴンと辺要素との交点はポリゴンの頂点となる)の辺識別情報を特定する。制御部11は、そして、特定した辺識別情報を用いてポリゴンモデルを表す情報を生成する。この制御部11の具体的な処理の内容については、後に述べる。   Here, in the process of forming the polygon model, the control unit 11 accepts value data distributed in the virtual space to be processed. This value data is, for example, image data obtained by a medical device such as CT or MRI. Further, the control unit 11 specifies a value for each position of each vertex of the polygonal shape of the cell based on the value data, and among the sides of each cell, the sides whose positions do not overlap with each other are used as side elements. Set side identification information that identifies each side element, and based on the values corresponding to the positions of the vertices at both ends of each side element, the side element through which the polygon passes (the intersection of this polygon and the side element is the vertex of the polygon) Is specified). Then, the control unit 11 generates information representing the polygon model using the specified edge identification information. The specific processing contents of the control unit 11 will be described later.

記憶部12は、制御部11により実行されるプログラムを格納している。このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。また本実施の形態において、この記憶部12は、制御部11のワークメモリとしても動作する。   The storage unit 12 stores a program executed by the control unit 11. This program may be provided by being stored in a computer-readable and non-transitory recording medium and stored in the storage unit 12. In the present embodiment, the storage unit 12 also operates as a work memory of the control unit 11.

操作部13は、キーボードやマウス等であり、利用者の指示入力を受け入れて、制御部11に対して当該指示入力の内容を出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。   The operation unit 13 is a keyboard, a mouse, or the like, and accepts a user instruction input and outputs the content of the instruction input to the control unit 11. The display unit 14 is a display or the like, and displays and outputs information according to an instruction input from the control unit 11.

インタフェース部15は、USB(Universal Serial Bus)等のインタフェースであり、外部の装置からデータを受け入れて制御部11に出力する。またこのインタフェース部15は、制御部11から入力される指示に従って、外部の装置に対して指示された情報を出力してもよい。   The interface unit 15 is an interface such as a USB (Universal Serial Bus), and receives data from an external device and outputs the data to the control unit 11. The interface unit 15 may output information instructed to an external device in accordance with an instruction input from the control unit 11.

ここで本実施の形態の制御部11の動作について説明する。本実施の形態の制御部11は、記憶部12に格納されたプログラムを実行することにより、機能的には、図2に例示するように、ポリゴンモデル生成部20と、描画処理部30とを含んで構成されている。ここでポリゴンモデル生成部20は、データ受入部21と、セル設定部22と、辺要素設定部23と、頂点仮識別情報取得部24と、ポリゴンモデル設定部25とを含んで構成される。   Here, the operation of the control unit 11 of the present embodiment will be described. As illustrated in FIG. 2, the control unit 11 according to the present embodiment executes a program stored in the storage unit 12 to functionally include a polygon model generation unit 20 and a drawing processing unit 30. It is configured to include. Here, the polygon model generation unit 20 includes a data receiving unit 21, a cell setting unit 22, a side element setting unit 23, a temporary vertex identification information acquisition unit 24, and a polygon model setting unit 25.

ポリゴンモデル生成部20のデータ受入部21は、本実施の形態の一例では、CTやMRI等の医療機器により得られる画像データを受け入れる。これらの画像データは一般的に複数枚の画像を含み、人体内の組織の関する三次元的な形状を表現可能なものである。このようにCTやMRI等により得られた画像データから三次元的な空間内の各点での画素値(処理対象となる仮想空間内に分布する値データ)を得る方法は、広く知られているので、ここでの詳しい説明は省略する。   In one example of the present embodiment, the data receiving unit 21 of the polygon model generating unit 20 receives image data obtained by a medical device such as CT or MRI. These image data generally include a plurality of images and can express a three-dimensional shape related to a tissue in a human body. A method for obtaining pixel values (value data distributed in a virtual space to be processed) at each point in a three-dimensional space from image data obtained by CT, MRI or the like in this manner is widely known. Therefore, detailed explanation here is omitted.

セル設定部22は、画素値が設定された空間(処理対象となる仮想空間)内に、所定多角形状の仮想的なセルを設定する。具体的にここでは仮想空間は大きさがL×L×Lの正六面体状の空間とし、当該正六面体のいずれかの頂点を原点として、当該原点を含む正六面体の互いに直交する3つの辺の方向をそれぞれX,Y,Z軸方向としてXYZ直交座標系を設定するものとする。セル設定部22は、例えばセルの形状を大きさがl×l×l(lはLの約数であるものとする)の正六面体とし、配列方向をX,Y,Z軸の各軸方向に合わせてセルを配列する。以下の説明では、原点の位置にあるセルを(0,0,0)と表し、このセルのX軸方向の法線を有する面と面を共有する隣接するセルを(1,0,0)などと表すものとする。つまりこの原点の位置にあるセルからX軸方向にξ番目、Y軸方向にη番目、Z軸方向にζ番目にあるセルを(ξ,η,ζ)と表す。また、図では手前側左下の点を原点として鉛直上方をZ軸正の方向、右方向をX軸正の方向、奥側の方向をY軸正の方向とする。   The cell setting unit 22 sets a virtual cell having a predetermined polygonal shape in a space where a pixel value is set (a virtual space to be processed). Specifically, here, the virtual space is a regular hexahedron-shaped space having a size of L × L × L, and the vertex of any one of the regular hexahedrons including the origin is defined as the three hexagonal sides of the regular hexahedron including the origin. Assume that the XYZ orthogonal coordinate system is set with the directions as the X, Y, and Z axis directions, respectively. The cell setting unit 22 is, for example, a regular hexahedron having a size of l × l × l (where l is a divisor of L) and the arrangement direction is the X, Y, and Z axis directions. Arrange the cells to match. In the following description, the cell at the origin is expressed as (0, 0, 0), and the adjacent cell sharing the surface with the surface having the normal line in the X-axis direction of this cell is (1, 0, 0). And so on. That is, a cell located at the origin at the ξ-th in the X-axis direction, the η-th in the Y-axis direction, and the ζ-th in the Z-axis direction is represented as (ξ, η, ζ). Also, in the figure, the lower left point on the near side is the origin, the vertical upper direction is the Z-axis positive direction, the right direction is the X-axis positive direction, and the far-side direction is the Y-axis positive direction.

またセル設定部22は、各セルに、それぞれ固有のセル識別情報を設定しておく。具体的には、このセルは立方体(正六面体)の形状を有し、セル設定部22は、当該立方体形状のセルを、仮想空間内に、隙間なく三次元的なマトリクス状に配列する。またこのセル設定部22は、データ受入部21が受け入れた値データに基づいて、セルの各頂点の位置に対応する値を決定して、当該値を記録する。   The cell setting unit 22 sets unique cell identification information for each cell. Specifically, this cell has a cubic (regular hexahedron) shape, and the cell setting unit 22 arranges the cubic shaped cells in a virtual space in a three-dimensional matrix without a gap. The cell setting unit 22 determines a value corresponding to the position of each vertex of the cell based on the value data received by the data receiving unit 21 and records the value.

辺要素設定部23は、セルの三次元形状の辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定する。この辺要素設定部23は、具体的にセルを立方体としている場合は、図3に例示するように、立方体のセルに属する辺0からXIの辺識別情報(ここでの説明では符号と区別するため、便宜的に0以外の数字をローマ数字で示すが、制御部11の処理上はアラビア数字などで管理してよい)、所定の頂点(例えばセルの立方体の頂点のうち、底面(Z軸方向に法線を有する面のうち原点に近い側の面)の、X,Y座標の値が最も小さくなる点(図3のP))を共有する互いに直交する三辺(図3の辺0,III,VIII)を辺要素とする。これにより図3のセルAの辺IXは右側(X軸正の側)に隣接するセルBの辺要素VIIIとして表現され、また、セルAの辺IVは、上側(Z軸正の側)に隣接するセルCの辺要素0として表現されることとなる。なお、ここでは、底面のX軸に平行な辺のうち、原点に近い側の辺から順に上方(Z軸正の側)から見て反時計回りに辺0,I,II,III、上面(Z軸方向に法線を有する面のうち原点から遠い側の面)内のX軸に平行な辺のうち、原点に近い側の辺から順に上方(Z軸正の側)から見て反時計回りに辺IV,V,VI,VIIとし、点PからZ軸に平行な辺を辺VIII、手前側の面(辺0,IV,VIIIを有する面)のX軸正の側にあるZ軸に平行な辺を辺IX、右側側面(辺I,V,IXを有する面)のY軸正の側にあるZ軸に平行な辺を辺X、これら辺0からXとは異なる六面体の最後の一辺を辺XIとしている(図3)。   The side element setting unit 23 sets side identification information for identifying each side element by using, as side elements, sides whose positions do not overlap among the sides of the three-dimensional shape of the cell. When the cell is specifically a cube, the side element setting unit 23, as illustrated in FIG. 3, uses side identification information of sides 0 to XI belonging to the cubic cell (in this description, to distinguish it from a code). For convenience, numerals other than 0 are indicated by Roman numerals, but may be managed by Arabic numerals or the like in the processing of the control unit 11, predetermined vertices (for example, the bottom of the cell cube vertices (Z-axis direction)) Of the surface having the normal to the side closer to the origin), the three orthogonal sides (side 0, FIG. 3) sharing the point where the X and Y coordinate values are the smallest (P in FIG. 3). Let III, VIII) be edge elements. Thus, the side IX of the cell A in FIG. 3 is expressed as a side element VIII of the cell B adjacent to the right side (X-axis positive side), and the side IV of the cell A is on the upper side (Z-axis positive side). It will be expressed as side element 0 of the adjacent cell C. Here, among the sides parallel to the X-axis of the bottom surface, the sides 0, I, II, III, and the top surface (counterclockwise when viewed from above (Z-axis positive side) in order from the side closer to the origin) Of the sides parallel to the X axis in the surface having the normal line in the Z-axis direction, the counterclockwise when viewed from above (the Z-axis positive side) in order from the side closer to the origin. Sides IV, V, VI, and VII around, the side parallel to the Z axis from point P is side VIII, and the Z axis is on the X axis positive side of the near side (the side having sides 0, IV, and VIII) The side parallel to the side IX, the side parallel to the Z-axis on the positive Y-axis side of the right side surface (the side having the sides I, V, IX) is the side X, and the end of the hexahedron different from these sides 0 to X One side is designated as side XI (FIG. 3).

また、処理対象となる仮想空間内でX軸正の側の端、Y軸正の側の端、Z軸正の側の端にあるセルの辺I,II,IV,V,VI,VII,IX,X,XIは、それぞれ存在しないものとして扱ってもよい。   Further, in the virtual space to be processed, the sides I, II, IV, V, VI, VII, and X of the cells at the X-axis positive end, the Y-axis positive end, and the Z-axis positive end IX, X, and XI may be treated as not existing.

頂点仮識別情報取得部24は、ポリゴンの頂点が位置する辺要素の辺識別情報を特定する。具体的に頂点仮識別情報取得部24は、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点がポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。   The vertex temporary identification information acquisition unit 24 specifies the edge identification information of the edge element where the vertex of the polygon is located. Specifically, the temporary vertex identification information acquisition unit 24 compares a value corresponding to each vertex of the cell with a predetermined value (a value at a position corresponding to the surface of the polygon). It is determined whether the object is inside or outside the solid defined by the polygon model, and the result of the determination is recorded for each vertex of the cell.

そしてこの頂点仮識別情報取得部24は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す256通りのパターン(実質的には対称性のため15通りのパターン)のいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)と、当該ポリゴンと注目セルの辺との交差する点とを特定する。この方法は、従来のマーチングキューブ法における処理と同様であるので、ここでの詳しい説明を省略する。この段階で、頂点仮識別情報取得部24は、描画するべきポリゴンを特定し、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。   Then, the temporary vertex identification information acquisition unit 24 sequentially selects each cell as a target cell, and 256 indicates whether the vertex of the cell is inside or outside the solid represented by the polygon for the selected target cell. It is determined which one of the corresponding patterns (substantially 15 patterns for symmetry) corresponds to the polygon (for example, a triangle) corresponding to the determined pattern, the polygon and the target cell. Identify points that intersect with sides. Since this method is the same as the processing in the conventional marching cube method, a detailed description thereof is omitted here. At this stage, the temporary vertex identification information acquisition unit 24 identifies the polygon to be drawn, issues polygon identification information unique to each polygon, and records the issued polygon identification information.

本実施の形態において頂点仮識別情報取得部24は、ここで特定されたポリゴンごとに、ポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する。このとき本実施の形態において特徴的なことの一つは、このポリゴンの頂点を仮に識別する仮識別情報として従来のようにセルごとの辺識別情報を用いることに代えて、注目セルまたはそれに隣接するセルの辺要素を特定する辺識別情報を用いることである。ここで辺識別要素は当該辺要素が属するセルを特定するセル識別情報と辺識別情報とを含む。   In the present embodiment, the temporary vertex identification information acquisition unit 24 identifies, for each polygon specified here, a point where the polygon intersects the side element of the target cell (the vertex of the polygon on the side element of the target cell). Temporary identification information (information for temporarily identifying a vertex of a polygon on the side element of the cell of interest) is issued. At this time, one of the characteristic features in this embodiment is that instead of using edge identification information for each cell as temporary identification information for temporarily identifying the vertex of this polygon, the cell of interest or its neighbor The edge identification information for specifying the edge element of the cell to be used is used. Here, the edge identification element includes cell identification information for specifying a cell to which the edge element belongs and edge identification information.

すなわち、図4に例示するように、具体的に注目セルαに対し、図中でその上方に隣接するセルβと、図中で右側に隣接するセルγと、このセルγの上方に隣接するセルδとが配列されているとき、注目セルαの図4に示す2つの頂点P,Qが立体の内部にあるものと判断され、他の頂点が立体の外部にあるものと判断されたとする。このときには、2つのポリゴン(三角形)A,Bがこの注目セル内に存在するポリゴンとなるが、本実施の形態では、これらの三角形の頂点(セルの辺との交点)を表す仮識別情報として、セル識別情報と、セルごとの辺要素を識別する辺識別情報とを用いるものとする。   That is, as illustrated in FIG. 4, specifically for the target cell α, the cell β adjacent to the upper side in the drawing, the cell γ adjacent to the right side in the drawing, and the cell γ are adjacent to the upper side. When the cell δ is arranged, it is determined that the two vertices P and Q shown in FIG. 4 of the cell of interest α are determined to be inside the solid and the other vertices are determined to be outside the solid. . At this time, the two polygons (triangles) A and B are polygons existing in the cell of interest, but in this embodiment, as temporary identification information representing the vertices of these triangles (intersections with the sides of the cells) Assume that cell identification information and edge identification information for identifying edge elements for each cell are used.

従って図4の例の場合、頂点仮識別情報取得部24は、ポリゴンAについては、セルαの辺0,III,VIIIに各頂点があるものとして記録する。また、頂点仮識別情報取得部24は、ポリゴンBについてはセルβの辺0、セルγの辺VIII、セルδの辺IIIに各頂点があるものとして記録する。また頂点仮識別情報取得部24は、隣接するセルγを注目セルとして処理をした場合に、ポリゴンA,Bとは異なる別のポリゴンCを、このセルγ内に特定することとなるが、このポリゴンCの頂点の一つは、セルγの辺VIIIにあるものとして記録されることとなる。すなわち、ポリゴンBの頂点の一つと、ポリゴンCの頂点の一つとが同じ仮識別情報(セルγの辺VIIIにあるものとする情報)で特定されることとなる。   Therefore, in the example of FIG. 4, the temporary vertex identification information acquisition unit 24 records the polygon A as having each vertex on the sides 0, III, and VIII of the cell α. Further, the temporary vertex identification information acquisition unit 24 records that the polygon B has each vertex on the side 0 of the cell β, the side VIII of the cell γ, and the side III of the cell δ. Further, the vertex temporary identification information acquisition unit 24 specifies another polygon C different from the polygons A and B in the cell γ when the adjacent cell γ is processed as the target cell. One vertex of the polygon C is recorded as being on the side VIII of the cell γ. That is, one of the vertices of the polygon B and one of the vertices of the polygon C are specified by the same temporary identification information (information that is assumed to be in the side VIII of the cell γ).

このように、本実施の形態では、各ポリゴンについて、共通する頂点については、同じ仮識別情報が付与されるよう、まずはセル識別情報と辺要素を識別する辺識別情報とを用いて抽象的に(実際のレンダリングにおいては各頂点は互いに異なる固有の番号等で識別されるので、ここでは「抽象的」と表現している)表される。すなわち、ここで特定される仮識別情報は、いわば抽象識別子として機能する。   As described above, in the present embodiment, for each polygon, the common vertices are first abstracted using cell identification information and edge identification information for identifying edge elements so that the same temporary identification information is given. (In actual rendering, each vertex is identified by a unique number or the like different from each other, and is expressed as “abstract” here). That is, the temporary identification information specified here functions as an abstract identifier.

ポリゴンモデル設定部25は、頂点仮識別情報取得部24がポリゴンごとに特定した辺識別情報を用いて、ポリゴンモデルを表す情報を生成する。すなわちこのポリゴンモデル設定部25は、頂点仮識別情報取得部24が特定した複数のポリゴンについて、各ポリゴンの各頂点を表す仮識別情報(この情報にはセル識別情報とセルごとの辺要素を識別する辺識別情報とを含む)を含むポリゴンモデルの情報を生成する。   The polygon model setting unit 25 generates information representing the polygon model by using the edge identification information specified by the vertex temporary identification information acquisition unit 24 for each polygon. In other words, the polygon model setting unit 25 identifies, for a plurality of polygons specified by the vertex temporary identification information acquisition unit 24, temporary identification information indicating each vertex of each polygon (this information identifies the cell identification information and the side element for each cell). Polygon model information including the edge identification information to be generated).

本実施の形態においては、ここで生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。具体的に制御部11は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの仮識別情報を、実際の描画に用いる頂点識別情報(頂点の位置を表す情報、いわば実識別情報)へ変換する。   In the present embodiment, using the polygon model information generated here, predetermined processing including visualization and deformation operations is executed. Specifically, the control unit 11 first converts the temporary identification information of each polygon included in the polygon model information into vertex identification information (information representing the position of the vertex, so-called real identification information) used for actual drawing. .

この変換処理は、仮識別情報ごとに固有の番号や文字列等の識別情報を、頂点識別情報として発行することで行うことができる。このとき描画等の処理のためには、ポリゴンとその頂点を表す頂点識別情報とを関連付ける必要がある。そこで本実施の形態では、制御部11は、次のようにしてこの関連付け処理を達成する。   This conversion process can be performed by issuing identification information such as a unique number or character string for each temporary identification information as vertex identification information. At this time, in order to perform processing such as drawing, it is necessary to associate the polygon and vertex identification information representing the vertex. Therefore, in the present embodiment, the control unit 11 achieves this association process as follows.

すなわち制御部11は、ポリゴンモデル設定部25の処理として、ヒストグラムピラミッド(Christopher Dyken, et.al., High-speed Marching Cubes using Histogram Pyramids, Computer Graphics Forum, Vol.27, issue 8, December 2008, pages 2028-2039)と同様の方法を用いて、仮識別情報を頂点識別情報へ変換し、さらに変換により得た頂点識別情報をヒストグラムピラミッドの方法を用いて、ポリゴン識別情報に関連付ける。   That is, the control unit 11 performs a histogram pyramid (Christopher Dyken, et.al., High-speed Marching Cubes using Histogram Pyramids, Computer Graphics Forum, Vol. 27, issue 8, December 2008, pages as processing of the polygon model setting unit 25. The temporary identification information is converted into vertex identification information using the same method as in 2028-2039), and the vertex identification information obtained by the conversion is associated with the polygon identification information using the histogram pyramid method.

具体的に、制御部11は、ヒストグラムピラミッドと同様の方法により、仮識別情報を頂点識別情報へ変換する。すなわち制御部11は、セルの各々を注目セルとして順次選択し、選択した注目セルの辺要素を所定の選択順(例えばセルが正六面体であれば、辺0,辺III,辺VIIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして制御部11は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する。   Specifically, the control unit 11 converts the temporary identification information into the vertex identification information by the same method as the histogram pyramid. That is, the control unit 11 sequentially selects each cell as a target cell, and selects the side elements of the selected target cell in a predetermined selection order (for example, in the order of side 0, side III, side VIII if the cell is a regular hexahedron). Then, the number of vertices of the polygon on the side element is counted and accumulated. And the control part 11 records the sum (accumulated value) of the value obtained by the said count about each side element as a count value (base level count value) about an attention cell.

さらに制御部11は、予め定められた位置から順に、互いに隣接する複数のセル(例えば互いに隣接するn×n×n個のセル)のグループを複数設定し、この設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する。   Furthermore, the control unit 11 sets a plurality of groups of a plurality of adjacent cells (for example, n × n × n cells adjacent to each other) in order from a predetermined position, and sets the set groups to the first block For each of the first-stage blocks, the sum of the number of vertices of the polygon on the side element in the cell belonging to the first-stage block, that is, the sum of the base level count values for the cells belonging to the first-stage block is And recorded as a count value (level 1 count value) for the first block.

ここで予め定めた位置は、例えば、仮想空間の原点にあるセル(0,0,0)とすればよい。またグループの形成順は、原点のセルを含むn×n×n個のセルをグループとし、次に、このグループのX軸方向に隣接するセルを含むn×n×n個のセルをグループとし…と選択してゆき、X軸方向に隣接するセルがなくなったら、X=0に戻って、既に形成したグループにY軸方向に隣接するセルを含むn×n×n個のセルをグループとして、再度このグループのX軸方向に隣接するセルを含むn×n×n個のセルをグループとし…と選択していく。この処理を繰り返して、Y軸方向に隣接するセルがなくなったら、X=0、Y=0に戻って、既に形成したグループにZ軸方向に隣接するセルを含むn×n×n個のセルをグループとして、X軸方向に移動しつつグループを形成する処理から繰り返していく(いわば、三次元的なスキャンライン順にグループ化を行えばよい)。この処理により、各セルが順番にグループに含められる。   Here, the predetermined position may be, for example, the cell (0, 0, 0) at the origin of the virtual space. The order of group formation is such that n × n × n cells including the origin cell are grouped, and then n × n × n cells including cells adjacent to the group in the X-axis direction are grouped. ... and when there are no cells adjacent in the X-axis direction, return to X = 0 and group n × n × n cells including cells adjacent in the Y-axis direction into the already formed group. Then, n × n × n cells including cells adjacent to the group in the X-axis direction are selected as a group. When this process is repeated and there are no cells adjacent in the Y-axis direction, X = 0 and Y = 0 are returned, and n × n × n cells including cells adjacent in the Z-axis direction in the already formed group Are repeated from the process of forming a group while moving in the X-axis direction (so to speak, grouping may be performed in the order of a three-dimensional scan line). By this processing, each cell is included in the group in order.

制御部11は、以下、上記の予め定められた位置から上記の形成順に、互いに隣接する複数の第(i−1)段(iは、i>1なる整数)ブロックのグループ(例えば互いに隣接する2×2×2個の第(i−1)段ブロックのグループ)を設定する。そして制御部11は、この設定したグループを第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第i段ブロックについてのカウント値(レベルiカウント値)として記録する処理を、i=2,3…とインクリメントしつつ実行し、ブロックの数が所定の数未満となるまで(例えばグループ化不能となるまで、一例としては2×2×2未満、あるいは「1」となるまで)繰り返す。この段階を以下、便宜的に最終レベルと呼ぶ。ここでのグループの形成順も、セルのグループの形成順と同様とする。   The control unit 11 is a group of a plurality of (i-1) -th stage (i is an integer of i> 1) blocks (for example, adjacent to each other) adjacent to each other in the order of formation from the predetermined position. 2 × 2 × 2 (i−1) -th stage block group) is set. Then, the control unit 11 sets the set group as the i-th block and calculates the sum of the number of vertices of the polygon on the side element in the cell belonging to the i-th block to the count value for the i-th block ( The process of recording as (level i count value) is executed while incrementing i = 2, 3,... Until the number of blocks becomes less than a predetermined number (for example, until grouping becomes impossible). Repeat until less than x2 or “1”. This stage is hereinafter referred to as the final level for convenience. Here, the group formation order is the same as the cell group formation order.

制御部11は、さらに、ここで記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、ポリゴンの頂点の仮識別情報を、実際の描画等の処理に用いる頂点識別情報に変換する。   The control unit 11 further adds the sum of the number of vertices of the polygon on the side element in the cell belonging to the block in the block unit recorded here, or on the side element in the cell in the recorded cell unit. With reference to the value of the sum of the number of vertices of the polygon, the provisional identification information of the vertices of the polygon is converted into vertex identification information used for actual drawing processing.

すなわち制御部11は、ポリゴンの頂点の仮識別情報ごとに、次の処理を行う。制御部11は、変換の対象となる仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。   That is, the control unit 11 performs the following processing for each temporary identification information of the vertexes of the polygon. The control unit 11 acquires the cell identification information and the side element identification information, which are temporary identification information to be converted, and includes the cell identified by the acquired cell identification information. Identify blocks in level block units.

制御部11は、当該特定した最終レベル(第N段)のブロックを注目ブロックとして、注目ブロックに含まれる第N−1段ブロックを特定する。制御部11は、特定した第N−k段ブロック(k=0,1,…,N−1なる整数)のうち、取得したセル識別情報で識別されるセルが含まれるブロックを特定する。制御部11は第N−k段での注目ブロックに含まれる第N−k−1段ブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。そしてこの累算値を第N−k−1段ブロックの予備値として記録しておく。制御部11は、取得したセル識別情報で識別されるセルが含まれるブロックを、第N−k−1段ブロックの注目ブロックとする。そして制御部11は、この第N−k−1段ブロックの注目ブロックに含まれる第N−k−2段ブロック(k<N−1のとき)を特定する。制御部11は、k=N−1となるまで、kを「1」ずつインクリメントしつつこの処理を繰り返す。   The control unit 11 specifies the (N−1) -th stage block included in the target block with the specified final level (N-th stage) block as the target block. The control part 11 specifies the block in which the cell identified by the acquired cell identification information is contained among the specified Nk step block (an integer of k = 0, 1,..., N−1). The control unit 11 selects the block including the cell identified by the acquired cell identification information while selecting the (Nk-1) -th block included in the target block at the N-k-th block in the order of formation. The value of the sum of the number of vertexes of the polygon assigned to the blocks selected so far (excluding the block itself including the cell identified by the acquired cell identification information) is accumulated. This accumulated value is recorded as a preliminary value for the (N−k−1) th block. The control unit 11 sets a block including a cell identified by the acquired cell identification information as a target block of the (Nk−1) -th stage block. And the control part 11 specifies the Nk-2 step block (when k <N-1) contained in the block of interest of this Nk-1 step block. The control unit 11 repeats this process while incrementing k by “1” until k = N−1.

制御部11は、k=N−1となると(取得したセル識別情報で識別されるセルを含む第1段グループが見いだされると)、当該見いだした第1段グループ内のセルを、上記形成順に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセル(取得したセル識別情報で識別されるセルそのものは除く)についての、ポリゴンの頂点の数の和の値を累算する。そしてこの累算値を第1段ブロックの予備値として記録する。   When k = N−1 (when the first-stage group including the cell identified by the acquired cell identification information is found), the control unit 11 selects the cells in the first-stage group that have been found in the order of formation. The value of the sum of the number of vertices of the polygon for the selected cell (excluding the cell itself identified by the acquired cell identification information) until the cell identified by the acquired cell identification information is selected. Is accumulated. This accumulated value is recorded as a preliminary value for the first block.

さらに制御部11は、取得したセル識別情報で識別されるセル内の辺要素を、上記選択順に選択しつつ、セル識別情報とともに取得した辺要素識別情報で識別される辺要素が選択されるまでに選択した辺要素上のポリゴンの頂点の数の和の値を累算する。そしてこの累算値を辺要素予備値として記録する。   Further, the control unit 11 selects the side elements in the cell identified by the acquired cell identification information in the order of selection, until the side element identified by the side element identification information acquired together with the cell identification information is selected. Accumulate the sum of the number of polygon vertices on the selected side element. This accumulated value is recorded as a side element preliminary value.

制御部11は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N−1)の総和が表す値を、取得したセル識別情報と辺要素識別情報で特定される仮識別情報に対応する頂点識別情報として出力する。これにより、仮識別情報のそれぞれが、連番の頂点識別情報に関連付けられる。   The control unit 11 uses the acquired cell identification information and the side element identification as the side element preliminary value recorded in this process and the value represented by the sum of the preliminary values (i = 1, 2,... N−1) of the i-th block. Output as vertex identification information corresponding to temporary identification information specified by the information. Thereby, each of the temporary identification information is associated with the serial number vertex identification information.

制御部11は、さらに記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行できるので、ここでの詳しい説明は省略する。   For each polygon identified by the recorded polygon identification information, the control unit 11 acquires vertex identification information of each vertex of the polygon. Since this process can be executed by the conventional histogram pyramid method, a detailed description thereof is omitted here.

制御部11の描画処理部30は、このようにして生成したポリゴンモデルの情報、及びポリゴン識別情報と当該ポリゴン識別情報で識別されるポリゴンの各頂点を識別する頂点識別情報との組を用いて、各ポリゴンの描画を行う。この描画処理部30における処理は、既に各ポリゴンの各頂点と頂点識別情報との組が得られているので、従来と同様の方法により実行できる。本実施の形態において特徴的なことの一つは、この段階で設定されている頂点識別情報が、そもそも重複を排除して規定されたセル識別情報と辺要素識別情報との組に対して固有に割り当てたものであるので、仮想空間内の同じ点にある頂点については同じ頂点識別情報となっていることである。   The drawing processing unit 30 of the control unit 11 uses the polygon model information generated in this way, and a set of polygon identification information and vertex identification information for identifying each vertex of the polygon identified by the polygon identification information. , Draw each polygon. The processing in the drawing processing unit 30 can be executed by a method similar to the conventional method because a set of each vertex of each polygon and vertex identification information has already been obtained. One of the characteristic features of this embodiment is that the vertex identification information set at this stage is inherent to the set of cell identification information and side element identification information defined by excluding duplication. Therefore, vertices at the same point in the virtual space have the same vertex identification information.

従って、制御部11がポリゴンを変形する処理を実行する場合(頂点の移動や頂点の削除等を行う場合)にも、所定の頂点識別情報で識別される頂点を変形し、当該頂点識別情報により識別される頂点を有するポリゴンの描画を行えばよいので、移動や削除の対象となった頂点ともともと同じ位置にあった別の識別子で識別される頂点を探索するといった処理が不要となり、処理の効率を向上でき、リアルタイムの変形や描画の処理が容易になる。   Therefore, even when the control unit 11 executes a process of deforming a polygon (when moving a vertex, deleting a vertex, or the like), the vertex identified by the predetermined vertex identification information is transformed and the vertex identification information is used. Since it is only necessary to draw a polygon having the identified vertex, there is no need to search for a vertex identified by another identifier that was at the same position as the vertex that was moved or deleted. Efficiency can be improved, and real-time deformation and drawing processes are facilitated.

さらに、本実施の形態の制御部11の処理では、仮識別情報の設定の処理はセルごとに、他のセルでの実行結果を参照せずに実行でき、また、仮識別情報から頂点識別情報への変換の処理も、仮識別情報ごとに、他の仮識別情報に係る処理結果を参照せずに実行できる。またポリゴン識別情報と頂点識別情報との関連付けの処理も、ヒストグラムピラミッドの処理を利用するので、ポリゴンごとに独立して(他のポリゴンに係る処理を参照せずに)実行でき、並列化が容易となっている。さらに仮識別情報の決定や頂点識別情報への変換の処理においてループの処理はあるものの、条件分岐によりまったく異なる処理を実行する必要がなく、処理負荷が軽減されている。   Furthermore, in the process of the control unit 11 of the present embodiment, the process of setting the temporary identification information can be performed for each cell without referring to the execution result in other cells, and the vertex identification information is obtained from the temporary identification information. The process of conversion to can also be executed for each temporary identification information without referring to the processing result relating to the other temporary identification information. The process of associating the polygon identification information with the vertex identification information also uses the histogram pyramid process, so it can be executed independently for each polygon (without referring to processes related to other polygons), and parallelization is easy. It has become. Furthermore, although there is a loop process in the process of determining the temporary identification information and the conversion to the vertex identification information, it is not necessary to execute a completely different process depending on the conditional branch, and the processing load is reduced.

本実施の形態の画像処理装置は、以上の構成を備えており、次のように動作する。なお、以下では説明のため、仮想空間を三次元の空間ではなく、二次元的な空間であるものとする。なお、このように次元を異ならせても一般性が失われることはない。   The image processing apparatus according to the present embodiment has the above configuration and operates as follows. In the following description, for the sake of explanation, the virtual space is not a three-dimensional space but a two-dimensional space. Note that generality is not lost even if the dimensions are changed in this way.

この例では、画像処理装置1は、図5に示すように処理対象となる仮想空間内に分布する値データを受け入れる(S1)。この値のデータは例えばCTやMRI等の医療機器により得られる画像データ等である。画像処理装置1は、この値データに基づいて、仮想空間内に配列したセルの多角形状の各頂点の位置ごとの値を特定する(S2)。   In this example, the image processing apparatus 1 accepts value data distributed in a virtual space to be processed as shown in FIG. 5 (S1). This value data is, for example, image data obtained by a medical device such as CT or MRI. Based on this value data, the image processing apparatus 1 specifies a value for each position of each vertex of the polygonal shape of the cells arranged in the virtual space (S2).

画像処理装置1は、各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定する(図6)。ここでは仮想空間は二次元の空間としているので、セルは例えば正方形となる。そこで各セルの辺要素として、正方形の左側の辺(辺IIIとする)と下側の辺(辺0とする)とを用いる。図6では、左右方向の軸をX軸(右方向を正とする)、上下方向の軸をY軸(下方を正とする)としている。各セルのセル識別情報は、左上隅を原点(0,0)として、この原点に頂点を有するセル(左上隅にあるセル)のセル識別情報を「0」として、この原点に頂点を有するセルからX軸方向にx番目、Y軸方向にy番目に配置されているセル((x,y)の位置にあるセル)のセル識別情報を(xmax×y+x+1)なる整数で表すものとする。なお、xmaxは、X軸方向に配列されたセルの数(図6では「8」)である。   The image processing apparatus 1 sets side identification information for identifying each side element by using, as side elements, sides whose positions do not overlap each other among the sides of each cell (FIG. 6). Here, since the virtual space is a two-dimensional space, the cell is, for example, a square. Therefore, the left side of the square (referred to as side III) and the lower side (referred to as side 0) are used as the side elements of each cell. In FIG. 6, the horizontal axis is the X axis (right is positive), and the vertical axis is Y (lower is positive). The cell identification information of each cell has the upper left corner as the origin (0, 0), the cell identification information of the cell having the vertex at this origin (the cell at the upper left corner) is “0”, and the cell having the vertex at this origin The cell identification information of the cell arranged at the xth in the X-axis direction and the yth cell in the Y-axis direction (the cell at the position (x, y)) is represented by an integer (xmax × y + x + 1). Note that xmax is the number of cells arranged in the X-axis direction (“8” in FIG. 6).

画像処理装置1は、各セルの各辺要素の両端の頂点の位置に対応する値に基づいて、ポリゴンが通過する辺要素の辺識別情報を特定する(S3)。すなわち画像処理装置1は、マーチングキューブ法の処理により、処理S2にて特定した、セルの各頂点に対応する値と、予め指定された値(ポリゴンの面に相当する位置での値)とを比較し、各セルの各頂点が三次元ポリゴンモデルで規定される立体の内側にあるか外側にあるかを判断し、セルの頂点ごとに、当該判断の結果を記録する。そして画像処理装置1は、各セルを順次注目セルとして選択し、選択している注目セルについてセルの頂点がポリゴンで表される立体の内側にあるか外側にあるかを表す15通りのパターンのいずれのパターンに相当するかを判断し、当該判断したパターンに対応する、ポリゴン(例えば三角形)を特定するとともに、当該ポリゴンと注目セルの辺との交差する点(ポリゴンの頂点)を特定する。   The image processing apparatus 1 specifies the side identification information of the side element through which the polygon passes based on the values corresponding to the vertex positions at both ends of each side element of each cell (S3). In other words, the image processing apparatus 1 uses the marching cube method process to obtain the value corresponding to each vertex of the cell specified in process S2 and the value specified in advance (the value at the position corresponding to the polygon surface). A comparison is made to determine whether each vertex of each cell is inside or outside a solid defined by the three-dimensional polygon model, and the result of the determination is recorded for each cell vertex. Then, the image processing apparatus 1 sequentially selects each cell as a target cell, and for the selected target cell, the cell pattern has 15 patterns indicating whether the vertex of the cell is inside or outside the solid represented by the polygon. It is determined which pattern corresponds, and a polygon (for example, a triangle) corresponding to the determined pattern is specified, and a point (vertex of the polygon) where the polygon and the side of the target cell intersect is specified.

また画像処理装置1は、各ポリゴンに固有のポリゴン識別情報を発行し、当該発行したポリゴン識別情報を記録する。   Further, the image processing apparatus 1 issues polygon identification information unique to each polygon, and records the issued polygon identification information.

画像処理装置1は、また、特定したポリゴンと注目セルの辺要素との交差する点(注目セルの辺要素上にあるポリゴンの頂点)を識別する、仮識別情報(注目セルの辺要素上にあるポリゴンの頂点を仮に識別する情報)を発行する(S4)。図6に例示した二次元の例を用いて、この仮識別情報について説明すると、セル識別情報「9」で識別されるセル((1,1)の位置にあるセル)では等値面は辺0と辺Iとを通過しているが、各セルの辺要素を用いてこれらの各点を表すと、
セル識別情報「9」の辺0
セル識別情報「10」((2,1)の位置にあるセル)の辺III
ということとなり、画像処理装置1は、仮識別情報として、{セル識別情報「9」,辺0}、{セル識別情報「10」,辺III}の2つを発行して記録する。
The image processing apparatus 1 also identifies temporary identification information (on the side element of the target cell) that identifies a point where the identified polygon intersects the side element of the target cell (the vertex of the polygon on the side element of the target cell). Information that temporarily identifies the vertex of a polygon is issued (S4). This temporary identification information will be described using the two-dimensional example illustrated in FIG. 6. In the cell identified by the cell identification information “9” (the cell at the position (1, 1)), the isosurface is an edge. 0 and side I, but each of these points is represented using the side element of each cell.
Side 0 of cell identification information “9”
Side III of the cell identification information “10” (the cell at the position (2, 1))
Accordingly, the image processing apparatus 1 issues and records two pieces of {cell identification information “9”, side 0} and {cell identification information “10”, side III} as temporary identification information.

また、セル識別情報「10」で識別されるセルに注目したときには、画像処理装置1は、仮識別情報として、{セル識別情報「10」,辺III}、{セル識別情報「3」,辺0}の2つを発行して記録する。   When attention is paid to the cell identified by the cell identification information “10”, the image processing apparatus 1 uses {cell identification information “10”, side III}, {cell identification information “3”, side as temporary identification information. 0} are issued and recorded.

このように従来であれば、同じ位置にある{セル識別情報「9」,辺I}の頂点と、{セル識別情報「10」,辺III}の頂点とは異なる頂点として識別されるものであるところ、本実施の形態の方法によれば、この位置の点は、共通した{セル識別情報「10」,辺III}として(抽象的に)表現され、共通した識別情報が割り当てられる。   Thus, conventionally, the vertex of {cell identification information “9”, side I} and the vertex of {cell identification information “10”, side III} at the same position are identified as different vertices. Somehow, according to the method of the present embodiment, this position point is expressed (abstract) as common {cell identification information “10”, side III}, and common identification information is assigned.

画像処理装置1は、このようにして、各セルについての処理により、セル内のいずれかの辺上のセル内のポリゴンの頂点を、いずれかのセルの辺要素を識別する辺要素識別情報により表現して記録し、ポリゴンモデルの情報を生成する。そして画像処理装置1は、当該生成したポリゴンモデルの情報を用いて、可視化及び変形操作を含む所定処理を実行する。   In this way, the image processing apparatus 1 performs the processing for each cell, and the vertex of the polygon in the cell on any side in the cell is determined by the side element identification information for identifying the side element in any cell. Represent and record, and generate polygon model information. Then, the image processing apparatus 1 executes predetermined processing including visualization and deformation operations using the generated polygon model information.

この所定処理の実行のために、画像処理装置1は、まず、ポリゴンモデルの情報に含まれる、各ポリゴンの頂点に係る仮識別情報を、実際の描画に用いる頂点識別情報へ変換する(S5)。   In order to execute this predetermined process, the image processing apparatus 1 first converts the temporary identification information related to the vertices of each polygon included in the polygon model information into vertex identification information used for actual drawing (S5). .

画像処理装置1は、セルの各々を注目セルとして順次選択し、また選択した注目セルの辺要素を所定の選択順(例えばセルの、辺0,辺IIIの順)に、当該辺要素上のポリゴンの頂点の数をカウントしつつ累算する。そして画像処理装置1は、各辺要素について当該カウントして得られた値の和(累算値)を、注目セルについてのカウント値(ベースレベルカウント値)として記録する(図7(a))。   The image processing apparatus 1 sequentially selects each cell as a target cell, and selects the side elements of the selected target cell in a predetermined selection order (for example, the order of side 0, side III of the cell) on the side element. Accumulate while counting the number of vertices of the polygon. Then, the image processing apparatus 1 records the sum (accumulated value) of the values obtained by counting each side element as a count value (base level count value) for the target cell (FIG. 7A). .

なお、説明の都合上、図6,図7のそれぞれにおける例は一致していない。つまり図6のポリゴンの例と図7におけるポリゴンの例とは異なる。   For convenience of explanation, the examples in FIGS. 6 and 7 do not match. That is, the polygon example in FIG. 6 is different from the polygon example in FIG.

さらに画像処理装置1は、予め定められた位置(図7(a)の原点O)から順に、互いに隣接する複数のセル(例えば互いに隣接する2×2個のセル)のグループを複数設定する(図7(a)においては実線でグループを区別する)。そして画像処理装置1は、設定したグループを第1段ブロックとして、当該第1段ブロックの各々について、第1段ブロックに属するセル内の辺要素上のポリゴンの頂点の数の和、つまり、第1段ブロックに属するセルについてのベースレベルカウント値の和を、第1段ブロックについてのカウント値(レベル1カウント値)として記録する(図7(b))。   Furthermore, the image processing apparatus 1 sets a plurality of groups of a plurality of adjacent cells (for example, 2 × 2 cells adjacent to each other) in order from a predetermined position (the origin O in FIG. 7A) ( In FIG. 7A, groups are distinguished by solid lines). Then, the image processing apparatus 1 sets the set group as the first block, and for each of the first block, the sum of the number of vertices of the polygon on the side element in the cell belonging to the first block, that is, the first block The sum of the base level count values for the cells belonging to the first block is recorded as the count value (level 1 count value) for the first block (FIG. 7B).

ここでは原点のセルを含む2×2個のセルをグループとし、次に、このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択してゆき、X軸方向に隣接するセルがなくなったら、X=0に戻って、既に形成したグループにY軸方向に隣接するセルを含む2×2個のセルをグループとして、再度このグループのX軸方向に隣接するセルを含む2×2個のセルをグループとし…と選択していく。この処理により、各セルが順番にグループに含められる。   Here, 2 × 2 cells including the origin cell are grouped, and then 2 × 2 cells including cells adjacent to the group in the X-axis direction are selected as a group. When there are no cells adjacent in the direction, return to X = 0, group 2 × 2 cells including cells adjacent in the Y-axis direction into the already formed group, and again adjoin this group in the X-axis direction Select 2 × 2 cells including cells as a group. By this processing, each cell is included in the group in order.

画像処理装置1は、予め定められた位置から上記の形成順に、互いに隣接する複数の第1段ブロックのグループ(例えば互いに隣接する2×2個の第1段ブロックのグループ)を設定する(図7(b)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第2段ブロックとして、当該第2段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第2段ブロックについてのカウント値(レベル2カウント値)として記録する(図7(c))。   The image processing apparatus 1 sets a plurality of first-stage block groups adjacent to each other (for example, a group of 2 × 2 first-stage blocks adjacent to each other) in the order of formation from a predetermined position (see FIG. 7 (b) also distinguishes groups with solid lines). Then, the image processing apparatus 1 uses the set group as the second-stage block, and calculates the sum of the number of vertices of the polygon on the side element in the cell belonging to the second-stage block as the count value for the second-stage block. It is recorded as (level 2 count value) (FIG. 7C).

画像処理装置1は、次に、予め定められた位置から上記の形成順に、互いに隣接する複数の第2段ブロックのグループ(例えば互いに隣接する2×2個の第2段ブロックのグループ)を設定する(図7(c)においても実線でグループを区別する)。そして画像処理装置1は、この設定したグループを第3段ブロックとして、当該第3段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を、第3段ブロックについてのカウント値(レベル3カウント値)として記録する(図7(d))。ここで第3段ブロックの数は「1」となり、これ以上のグループ化が不能であるので、この第3段を最終レベルとする。   Next, the image processing apparatus 1 sets a group of a plurality of second-stage blocks adjacent to each other (for example, a group of 2 × 2 second-stage blocks adjacent to each other) in the order of formation from a predetermined position. (Groups are also distinguished by solid lines in FIG. 7C). Then, the image processing apparatus 1 uses the set group as the third-stage block, and calculates the sum of the number of vertices of the polygon on the side element in the cell belonging to the third-stage block as the count value for the third-stage block. It is recorded as (level 3 count value) (FIG. 7 (d)). Here, the number of third-stage blocks is “1”, and further grouping is impossible, so this third stage is set as the final level.

次に画像処理装置1は、ポリゴンの頂点の仮識別情報ごとに、仮識別情報であるセル識別情報と辺要素識別情報とを取得し、当該取得したセル識別情報で識別されるセルが含まれる、上記の処理で生成した最終レベルのブロック単位でのブロックを特定する。   Next, the image processing apparatus 1 acquires cell identification information and side element identification information, which are temporary identification information, for each temporary identification information of the vertexes of the polygon, and includes a cell identified by the acquired cell identification information. Then, the block in the block unit of the final level generated by the above processing is specified.

ここでは最終レベルではブロックは1つだけであるので、どの仮識別情報についてもこのブロックを注目ブロックとして、注目ブロックに含まれる第2段ブロックを特定する。画像処理装置1は、特定した第2段ブロックのうち、取得したセル識別情報で識別されるセルが含まれるブロックを特定する。以下にセル識別情報「24」の辺要素、「辺0」にある頂点について、頂点識別情報を生成する例について説明する。   Here, since there is only one block at the final level, the second-stage block included in the target block is specified with this block as the target block for any temporary identification information. The image processing apparatus 1 specifies a block including a cell identified by the acquired cell identification information among the specified second-stage blocks. An example in which vertex identification information is generated for the side element of cell identification information “24” and the vertex at “side 0” will be described below.

この例では、画像処理装置1は、最終ブロック(第3段ブロック)の単一のブロックを注目ブロックとして、この注目ブロックに含まれる第2段ブロックを特定する。図7の例では、第3段ブロックの注目ブロックには、第2段ブロックのすべてのブロックが含まれるので、第2段ブロックのすべてを特定する。   In this example, the image processing apparatus 1 specifies a second block included in the target block with a single block of the last block (third block) as a target block. In the example of FIG. 7, since the target block of the third stage block includes all the blocks of the second stage block, all of the second stage blocks are specified.

画像処理装置1は、第2段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。   The image processing apparatus 1 selects the blocks identified in the second stage block in the order of formation, and selects the blocks (acquired cell identifications) selected until the block including the cell identified by the obtained cell identification information is selected. The value of the sum of the number of vertexes of the polygon assigned to the cell (excluding the block itself including the cell identified by the information) is accumulated.

ここでの例であるセル識別情報「24」のセルは、第2段ブロックでは、右上のブロックに含まれる(どのセルがどのブロックに含まれるかについては、ブロックの形成時にブロックごとに記録しておく等の広く知られた処理により判断できるので、ここでの詳しい説明を省略する)ため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは左上のブロックのみとなる。そこで画像処理装置1は、この左上のブロックに割り当てられた、ポリゴンの頂点の数の和の値「9」を第2段ブロックの予備値として記録する。   The cell of the cell identification information “24”, which is an example here, is included in the upper right block in the second-stage block (which cell is included in which block is recorded for each block when the block is formed). Therefore, it is selected until a block including a cell identified by cell identification information “24” is selected in the order of formation. The only block that is left is the upper left block. Therefore, the image processing apparatus 1 records the sum value “9” of the number of polygon vertices assigned to the upper left block as a preliminary value of the second block.

さらに画像処理装置1は、セル識別情報「24」のセルを含む第2段ブロックの右上のブロックに含まれる第1段ブロックを特定する。ここでは画像処理装置1は、第1段ブロックの第1行の第3列,第4列目、第2行の第3列,第4列目のブロックを特定する。画像処理装置1は、第1段ブロックで特定したブロックを、形成順に選択しつつ、取得したセル識別情報で識別されるセルが含まれるブロックが選択されるまでに選択したブロック(取得したセル識別情報で識別されるセルが含まれるブロックそのものは除く)に割り当てられた、ポリゴンの頂点の数の和の値を累算する。   Further, the image processing apparatus 1 specifies the first stage block included in the upper right block of the second stage block including the cell of the cell identification information “24”. Here, the image processing apparatus 1 specifies blocks in the third column and the fourth column of the first row of the first-stage block, and the third column and the fourth column of the second row. The image processing apparatus 1 selects the blocks identified in the first-stage block in the order of formation, and selects the blocks (acquired cell identifications) selected until the block including the cell identified by the obtained cell identification information is selected. The value of the sum of the number of vertexes of the polygon assigned to the cell (excluding the block itself including the cell identified by the information) is accumulated.

ここでの例であるセル識別情報「24」のセルは、第1段ブロックでは、第2行目の第4列目のブロックに含まれるため、形成順に、セル識別情報「24」で識別されるセルが含まれるブロックが選択されるまでに選択したブロックは、第1段ブロックの第1行目の第3列,第4列目の各ブロック、及び、第2行目の第3列目のブロックとなる。そこで画像処理装置1は、これらのブロックに割り当てられた、ポリゴンの頂点の数の和の値「3」,「1」,「2」の和「6」を第1段ブロックの予備値として記録する。   Since the cell of the cell identification information “24” as an example here is included in the block of the fourth column of the second row in the first block, it is identified by the cell identification information “24” in the order of formation. The block selected until the block including the cell to be selected is the third column in the first row of the first block, the blocks in the fourth column, and the third column in the second row. It becomes a block. Therefore, the image processing apparatus 1 records the sum “6” of the number of vertexes of the polygon “3”, “1”, “2” assigned to these blocks as a preliminary value for the first block. To do.

さらに画像処理装置1は、セル識別情報「24」のセルを含む第1段ブロックのブロックに含まれるセル(ベースレベル)を特定する。ここでは、セル識別情報で「23」,「24」,「31」,「32」の各セルが特定される。画像処理装置1は、ここで特定したセルを、ブロックの形成順(セルの識別情報が小さい順)に選択しつつ、取得したセル識別情報で識別されるセルが選択されるまでに選択したセルに割り当てられた、ポリゴンの頂点の数の和の値を累算する。   Furthermore, the image processing apparatus 1 specifies a cell (base level) included in the block of the first stage block including the cell of the cell identification information “24”. Here, the cells “23”, “24”, “31”, and “32” are specified by the cell identification information. The image processing apparatus 1 selects the cells specified here until the cell identified by the acquired cell identification information is selected while selecting the cells specified here in the order of block formation (in ascending order of cell identification information). Accumulate the sum of the number of polygon vertices assigned to.

ここでの例であるセル識別情報「24」のセルを選択するまでには、セル識別情報「23」のセルのみが選択されるので、画像処理装置1は、セル識別情報「23」のセルに割り当てられた値「0」を、辺要素予備値として記録する。   Since only the cell having the cell identification information “23” is selected until the cell having the cell identification information “24”, which is an example here, is selected, the image processing apparatus 1 selects the cell having the cell identification information “23”. The value “0” assigned to is recorded as a side element spare value.

画像処理装置1は、この処理で記録した辺要素予備値、及び第i段ブロックの予備値(i=1,2…N−1)の総和が表す値を求める。ここでは、辺要素予備値が「0」、第1段ブロックの予備値が「6」、第2段ブロックの予備値が「9」であるので、画像処理装置1は、セル識別情報「24」の辺要素、「辺0」にある頂点の頂点識別情報を、これらの和である「15」とする。画像処理装置1は、仮識別情報のそれぞれについて、上述の方法で頂点識別情報を求める。   The image processing apparatus 1 obtains a value represented by the sum of the side element preliminary values recorded in this process and the preliminary values (i = 1, 2,..., N−1) of the i-th block. Here, since the spare side element value is “0”, the spare value of the first block is “6”, and the spare value of the second block is “9”, the image processing apparatus 1 uses the cell identification information “24”. And the vertex identification information of the vertex in “side 0” is “15” which is the sum of these. The image processing apparatus 1 obtains the vertex identification information for each of the temporary identification information by the method described above.

画像処理装置1はさらに、記録しているポリゴン識別情報で識別されるポリゴンごとに、当該ポリゴンの各頂点の頂点識別情報を取得する。この処理は、従来通りのヒストグラムピラミッドの方法により実行すればよい。そして画像処理装置1は、以下は従来と同様の方法により、各ポリゴンの描画処理を実行する。   The image processing apparatus 1 further acquires vertex identification information of each vertex of the polygon for each polygon identified by the recorded polygon identification information. This processing may be executed by a conventional histogram pyramid method. Then, the image processing apparatus 1 executes drawing processing of each polygon by the same method as before.

また画像処理装置1は、利用者から頂点を特定する頂点識別情報とともに、当該頂点の移動または、当該頂点の削除の指示を受け入れると、当該頂点識別情報で識別される頂点の仮想空間内での位置座標を指示に従って移動し、または当該頂点を削除して、当該頂点を含むポリゴンを削除する処理を行う。   In addition, when the image processing apparatus 1 receives an instruction for moving the vertex or deleting the vertex together with the vertex identification information for specifying the vertex from the user, the image processing apparatus 1 stores the vertex in the virtual space identified by the vertex identification information. The position coordinate is moved according to the instruction, or the vertex is deleted, and the polygon including the vertex is deleted.

図8に、頂点を削除する処理における従来例と本実施の形態との対比例を示す。従来のマーチングキューブの方法によれば、図8(a)に示すセル1(セル識別情報「1」のセルを、図においてセル1等と略記している)の頂点Aと、セル2の頂点A′とは、同じ位置にあるにも関わらず、セルごとに頂点を識別する情報が付与されるので、セル1の頂点Aと、セル2の頂点A′とには互いに異なる頂点を識別する情報が設定される。   FIG. 8 shows a comparison between the conventional example and the present embodiment in the process of deleting vertices. According to the conventional marching cube method, the vertex A of the cell 1 shown in FIG. 8A (the cell of the cell identification information “1” is abbreviated as cell 1 etc. in the figure) and the vertex of the cell 2 Although A ′ is provided with information for identifying a vertex for each cell even though it is in the same position, the vertex A of cell 1 and the vertex A ′ of cell 2 are distinguished from each other. Information is set.

ここで利用者がセル1の頂点Aを削除する指示を行うと、従来例の画像処理装置では、セル1における頂点Aを含むポリゴンを削除するが、セル2における頂点A′を含むポリゴンは削除しない。このため、頂点Aの位置にある頂点を削除するという利用者の意図通りにならず、これを利用者の意図通りに動作させるためには、削除の対象となった頂点Aと同じ位置にある頂点を探索する処理が必要となって、変形等の処理に時間がかかる結果となる。   When the user gives an instruction to delete the vertex A of the cell 1, the conventional image processing apparatus deletes the polygon including the vertex A in the cell 1, but deletes the polygon including the vertex A ′ in the cell 2. do not do. For this reason, it is not as intended by the user to delete the vertex at the position of the vertex A, and in order to operate this as intended by the user, it is at the same position as the vertex A to be deleted. A process of searching for vertices is required, resulting in a time consuming process such as deformation.

一方、本実施の形態の方法によると、セル1の頂点Aも、セル2の頂点Aも、ともに、セル1の辺要素「0」上の点として抽象的に表現されてから、頂点識別情報(A)に変換されているため、共通の頂点識別情報「A」が付与される。   On the other hand, according to the method of the present embodiment, the vertex A of the cell 1 and the vertex A of the cell 2 are both expressed abstractly as points on the side element “0” of the cell 1, and then the vertex identification information Since it is converted to (A), common vertex identification information “A” is given.

このため利用者がセル1の頂点Aを削除する指示を行うと、セル2内において頂点Aを有するポリゴンも削除されることとなり(図8(b))、利用者の意図通りの処理が可能となる。また、1つの頂点識別情報により削除するべきポリゴンが特定できるので、処理負荷も軽減される。   For this reason, when the user gives an instruction to delete the vertex A of the cell 1, the polygon having the vertex A in the cell 2 is also deleted (FIG. 8B), and processing as intended by the user is possible. It becomes. Further, since the polygon to be deleted can be specified by one vertex identification information, the processing load is reduced.

併せて、本実施の形態の方法では、全体としてポリゴンの数に対する頂点識別情報の数が膨大とならない(従来の方法ではポリゴンの数に頂点数を乗じた数だけの頂点識別情報が発行される)。これにより、本実施の形態の方法では、描画等の処理負荷も軽減される。   In addition, in the method according to the present embodiment, the number of vertex identification information with respect to the number of polygons as a whole does not become enormous (in the conventional method, vertex identification information corresponding to the number of polygons multiplied by the number of vertices is issued. ). Thereby, in the method of the present embodiment, the processing load such as drawing is also reduced.

具体的に、ポリゴン数に対する、従来一般的な(頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いない)マーチングキューブによる計算処理(VTK)と、頂点とポリゴンとの関連付けにヒストグラムピラミッド法を用いた場合のマーチングキューブによる計算処理(HPMC)と、本実施の形態の方法による計算処理(ProposedMC)とにおける、同一座標の頂点の統合時間を含む処理時間の相違を図9に示す。   Specifically, the conventional general calculation process (VTK) using a marching cube (not using the histogram pyramid method for associating vertices with polygons) for the number of polygons and the histogram pyramid method for associating vertices with polygons were used. FIG. 9 shows the difference in processing time including the integration time of the vertices of the same coordinates in the calculation processing (HPMC) by the marching cube in this case and the calculation processing (ProposedMC) by the method of the present embodiment.

図9に例示するように、ポリゴン数が比較的大きい範囲では、VTKに対して本実施の形態による方法は5倍以上(全体平均でも4倍以上)の高速化が図られる。また、ヒストグラムピラミッド法を用いた場合のマーチングキューブ法(HPMC)に対しても3倍以上(全体平均でも3倍以上)の高速化が図られている。   As illustrated in FIG. 9, in the range where the number of polygons is relatively large, the method according to the present embodiment can achieve a speed increase of 5 times or more (over 4 times the overall average) with respect to VTK. In addition, a speedup of three times or more (over three times as a whole average) is also achieved with respect to the marching cube method (HPMC) when the histogram pyramid method is used.

1 画像処理装置、11 制御部、12 記憶部、13 操作部、14 表示部、15 インタフェース部、20 ポリゴンモデル生成部、21 データ受入部、22 セル設定部、23 辺要素設定部、24 頂点仮識別情報取得部、25 ポリゴンモデル設定部、30 描画処理部。

DESCRIPTION OF SYMBOLS 1 Image processing apparatus, 11 Control part, 12 Storage part, 13 Operation part, 14 Display part, 15 Interface part, 20 Polygon model generation part, 21 Data reception part, 22 Cell setting part, 23 Edge element setting part, 24 Identification information acquisition unit, 25 polygon model setting unit, 30 drawing processing unit.

Claims (3)

仮想的なポリゴンモデルを形成する仮想空間を、所定多角形状の仮想的なセルに分割して、ポリゴンモデルを形成する画像処理装置であって、
処理対象となる前記仮想空間内に分布する値データを受け入れる手段と、
前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
を含み、
当該辺識別情報を用いて表されるポリゴンモデルの情報が、可視化及び変形操作を含む所定処理に供される画像処理装置。
An image processing apparatus for forming a polygon model by dividing a virtual space forming a virtual polygon model into virtual cells of a predetermined polygon shape,
Means for accepting value data distributed in the virtual space to be processed;
Means for determining a value for each position of each vertex of the polygonal shape of the cell based on the value data;
Based on the values corresponding to the positions of the vertices at both ends of each side element, the side identification information for identifying each side element is set using the sides whose positions do not overlap each other among the sides of each cell. Means for identifying the edge identification information of the edge element where the vertex of the polygon passing through the cell is located;
Polygon model generation means for generating information representing the polygon model using the specified edge identification information;
Including
An image processing apparatus in which information of a polygon model expressed using the edge identification information is subjected to predetermined processing including visualization and deformation operations.
請求項1記載の画像処理装置であって、
前記ポリゴンモデル生成手段は、
前記セルの各々について、当該セルの当該辺要素上のポリゴンの頂点の数をカウントして、各辺要素について当該カウントして得られた値の和を記録する手段と、
互いに隣接する複数のセルのグループを第1段ブロックとして、当該第1段ブロック内に属するセルの前記辺要素上のポリゴンの頂点の数の和を記録する手段と、
互いに隣接する複数の第(i−1)段(iは、i>1なる整数)ブロックのグループを、第i段ブロックとして、当該第i段ブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和を記録する手段と、を含み、
当該記録されたブロック単位でのブロック内に属するセル内の辺要素上のポリゴンの頂点の数の和、または記録されたセル単位でのセル内の辺要素上のポリゴンの頂点の数の和の値を参照して、前記ポリゴンモデルを表す情報から、各ポリゴンの頂点の位置を特定する情報を生成する画像処理装置。
The image processing apparatus according to claim 1,
The polygon model generation means includes
For each of the cells, means for counting the number of vertices of the polygon on the side element of the cell, and recording the sum of the values obtained by counting for each side element;
Means for recording a sum of the numbers of vertices of polygons on the side elements of cells belonging to the first-stage block, with a group of a plurality of cells adjacent to each other as a first-stage block;
A group of a plurality of (i−1) -th stages (i is an integer of i> 1) adjacent to each other is defined as an i-th block, and polygons on the side elements in the cells belonging to the i-th block are represented. Means for recording the sum of the number of vertices,
The sum of the number of vertices of polygons on the side elements in the cell belonging to the block in the recorded block unit, or the sum of the number of vertices of polygons on the side elements in the cell in the recorded cell unit An image processing apparatus that generates information for identifying the position of the vertex of each polygon from information representing the polygon model with reference to a value.
コンピュータを、
処理対象となる仮想空間内に分布する値データを受け入れる手段と、
前記仮想空間を所定多角形状の仮想的なセルに分割し、前記値データに基づいて、前記セルの多角形状の各頂点の位置ごとの値を決定する手段と、
前記各セルの辺のうち、互いにその位置が重なり合わない辺を辺要素として、各辺要素を識別する辺識別情報を設定し、各辺要素の両端の頂点の位置に対応する前記値に基づいて、セル内を通過するポリゴンの頂点が位置する辺要素の辺識別情報を特定する手段と、
前記特定した辺識別情報を用いて前記ポリゴンモデルを表す情報を生成するポリゴンモデル生成手段と、
として機能させ、
当該辺識別情報を用いて表されるポリゴンモデルの情報を、可視化及び変形操作を含む所定処理に供するプログラム。

Computer
Means for accepting value data distributed in the virtual space to be processed;
Means for dividing the virtual space into virtual cells of a predetermined polygonal shape, and determining a value for each vertex position of the polygonal shape of the cell based on the value data;
Based on the values corresponding to the positions of the vertices at both ends of each side element, the side identification information for identifying each side element is set using the sides whose positions do not overlap each other among the sides of each cell. Means for identifying the edge identification information of the edge element where the vertex of the polygon passing through the cell is located;
Polygon model generation means for generating information representing the polygon model using the specified edge identification information;
Function as
A program for providing information of a polygon model represented by using the edge identification information to a predetermined process including visualization and deformation operations.

JP2017162290A 2017-08-25 2017-08-25 Image processing equipment and programs Active JP6942007B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017162290A JP6942007B2 (en) 2017-08-25 2017-08-25 Image processing equipment and programs
PCT/JP2018/031437 WO2019039603A1 (en) 2017-08-25 2018-08-24 Image processing device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017162290A JP6942007B2 (en) 2017-08-25 2017-08-25 Image processing equipment and programs

Publications (2)

Publication Number Publication Date
JP2019040419A true JP2019040419A (en) 2019-03-14
JP6942007B2 JP6942007B2 (en) 2021-09-29

Family

ID=65439412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017162290A Active JP6942007B2 (en) 2017-08-25 2017-08-25 Image processing equipment and programs

Country Status (2)

Country Link
JP (1) JP6942007B2 (en)
WO (1) WO2019039603A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814235A (en) * 2020-07-01 2020-10-23 广东博智林机器人有限公司 Parking space arrangement optimization and polygon simplification method, device, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038219A (en) * 2003-07-16 2005-02-10 Institute Of Physical & Chemical Research Method for generating volume data from boundary expression data and program therefor
JP2007528529A (en) * 2003-11-28 2007-10-11 ブラッコ イメージング エス.ピー.エー. Method and system for identifying the surface of a 3D dataset ("voxel partitioning")

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038219A (en) * 2003-07-16 2005-02-10 Institute Of Physical & Chemical Research Method for generating volume data from boundary expression data and program therefor
JP2007528529A (en) * 2003-11-28 2007-10-11 ブラッコ イメージング エス.ピー.エー. Method and system for identifying the surface of a 3D dataset ("voxel partitioning")

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
村木茂 ほか: "3次元画像解析とグラフィックス技術の医学応用に関するサーベイ", 電子情報通信学会論文誌, vol. 第J87-D-II巻, 第10号, JPN6018041198, 21 October 2004 (2004-10-21), JP, pages 1887 - 1920, ISSN: 0004524269 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814235A (en) * 2020-07-01 2020-10-23 广东博智林机器人有限公司 Parking space arrangement optimization and polygon simplification method, device, equipment and storage medium

Also Published As

Publication number Publication date
WO2019039603A1 (en) 2019-02-28
JP6942007B2 (en) 2021-09-29

Similar Documents

Publication Publication Date Title
TWI537870B (en) Multiresolution consistent rasterization
JP5218109B2 (en) Visualization data processing device, visualization data processing device control method, and visualization data processing device control program
TWI613510B (en) Electron beam drawing device, electron beam drawing method, and recording medium
US20160247067A1 (en) Method and system for intelligent crane lifting
CN110663064A (en) Parallelized pipeline for vector graphics and image processing
JP6518517B2 (en) Point cloud data modeling device
CN113012269A (en) Three-dimensional image data rendering method and equipment based on GPU
KR101552828B1 (en) Method for Obtaining Polygon Information of Three-dimensional Object Model
KR20130049753A (en) Designing a modeled volume represented by dexels
US9007370B2 (en) Computing device and method for processing curved surface
CN113850917B (en) Three-dimensional model voxelization method and device, electronic equipment and storage medium
US7388584B2 (en) Method and program for determining insides and outsides of boundaries
JP6942007B2 (en) Image processing equipment and programs
CN105844609A (en) Partitioning an image
WO2023169002A1 (en) Soft rasterization method and apparatus, device, medium, and program product
CN107590298A (en) Voxelization method and information processor
JP5850380B2 (en) Shape data generation method and apparatus
CN105741335B (en) A kind of multi-level war game map fast drawing method based on blocking organization
JP2010277304A (en) Drawing data processing method, graphics drawing system and graphics drawing data generation program
JP4957080B2 (en) Mesh generator for numerical analysis
JP2021149886A (en) Three-dimensional shape data processing apparatus and three-dimensional shape data processing program
JP2009122998A (en) Method for extracting outline from solid/surface model, and computer software program
JP6565495B2 (en) Data separation device for three-dimensional object modeling
JP4479364B2 (en) 3D surface shape model creation device, 3D surface shape model creation method, and 3D surface shape model creation program
JP2007140976A (en) Cross section display program and cross section display device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210802

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: 20210817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210907

R150 Certificate of patent or registration of utility model

Ref document number: 6942007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150