JP4763586B2 - Data processing apparatus, data processing method, and program - Google Patents

Data processing apparatus, data processing method, and program Download PDF

Info

Publication number
JP4763586B2
JP4763586B2 JP2006330025A JP2006330025A JP4763586B2 JP 4763586 B2 JP4763586 B2 JP 4763586B2 JP 2006330025 A JP2006330025 A JP 2006330025A JP 2006330025 A JP2006330025 A JP 2006330025A JP 4763586 B2 JP4763586 B2 JP 4763586B2
Authority
JP
Japan
Prior art keywords
block
mutual information
data
resolution
reference image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006330025A
Other languages
Japanese (ja)
Other versions
JP2008142137A (en
Inventor
盛幹 小原
拓 井上
秀昭 小松
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006330025A priority Critical patent/JP4763586B2/en
Priority to CN2007101441622A priority patent/CN101221660B/en
Publication of JP2008142137A publication Critical patent/JP2008142137A/en
Application granted granted Critical
Publication of JP4763586B2 publication Critical patent/JP4763586B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画像イメージの相互比較技術に関し、より詳細には、3次元画像を位置合わせするためのデータ処理装置、データ処理方法、およびプログラムに関する。   The present invention relates to a technique for comparing image images, and more particularly to a data processing apparatus, a data processing method, and a program for aligning a three-dimensional image.

イメージ・レジストレーション法(Image Registration)は、同一対象に対する2つの3次元画像(CT、MRIなど)を入力とし、それらのアライメントを行う画像処理方法である。このための画像処理は、長時間の計算を必要とするため、特に医療現場では、イメージ・レジストレーション法を高速化することが要請されている。   The image registration method (Image Registration) is an image processing method in which two three-dimensional images (CT, MRI, etc.) for the same object are input and their alignment is performed. Since image processing for this purpose requires long-time calculations, it is required to speed up the image registration method particularly in the medical field.

イメージ・レジストレーション法は、2つの入力画像F(基準イメージ:Fixed Image)と、M(対象イメージ:Moving Image)とについて、基準イメージに線形変換(回転と平行移動)を施した画像と対象イメージとの間の相互情報量(Mutual Information)が最大になるような線形変換パラメータを、逐次的な最適化問題として求める(非特許文献1)。イメージ・レジストレーション法では、入力画像のすべての画素(Pixel)について計算を行うと莫大な計算時間がかかるため、画像イメージに含まれる画素データをランダムにサンプリングして相互情報量を計算する。このため、従来のイメージ・レジストレーション法では、メイン・メモリへのスパースなメモリアクセス・パターンが画素単位で発生する。   In the image registration method, for the two input images F (Fixed Image) and M (Target Image: Moving Image), an image obtained by performing linear transformation (rotation and translation) on the reference image and the target image. Linear transformation parameters that maximize the mutual information between them are obtained as sequential optimization problems (Non-Patent Document 1). In the image registration method, if calculation is performed for all pixels (Pixels) of an input image, it takes enormous calculation time. Therefore, pixel data included in an image image is randomly sampled to calculate mutual information. For this reason, in the conventional image registration method, a sparse memory access pattern to the main memory is generated in units of pixels.

一般的にメイン・メモリが効率よく処理できるアクセス単位は、キャッシュライン・サイズであり、画素単位のスパース・アクセスは、処理速度の向上を阻害する1つの要因となっている。スパース・アクセスを含む数値計算では、メイン・メモリでスパース・データを圧縮する圧縮手法はよく知られている。一般的には、スパース・データのアクセス・パターンは、アプリケーション・アルゴリズムや入力データによって決定される。このため、既存の圧縮手法では、スパース・アクセスのパターンを予測してデータを圧縮する。   In general, an access unit that can be processed efficiently by the main memory is a cache line size, and sparse access in units of pixels is one factor that impedes improvement in processing speed. In numerical computation including sparse access, a compression method for compressing sparse data in a main memory is well known. In general, the access pattern of sparse data is determined by an application algorithm and input data. For this reason, the existing compression method compresses data by predicting a sparse access pattern.

したがって、スパース・アクセスのパターンを予測する既存の圧縮手法が効果を発揮するためには、アクセス・パターンが実際のデータ・アクセスより充分前に予測できる必要がある。一方、アクセス・パターンが実際のデータ・アクセスの直前まで予測できない場合には、充分な処理効率を得ることができないという不都合がある。この不都合は、処理アルゴリズムが速度向上して、直前予想のための時間的余裕が限られてくると、一層頻繁に発生することが想定され、イメージ・レジストレーション法の処理速度を向上させるためのアクセス・パターンが、逆にイメージ・レジストレーション法の処理速度向上を阻害するという結果を与えることも考えられる。   Therefore, in order for the existing compression method for predicting the sparse access pattern to be effective, the access pattern needs to be able to be predicted sufficiently before the actual data access. On the other hand, when the access pattern cannot be predicted until just before the actual data access, there is a disadvantage that sufficient processing efficiency cannot be obtained. This inconvenience is expected to occur more frequently when the processing algorithm speeds up and the time allowance for the immediately preceding prediction is limited. This is to improve the processing speed of the image registration method. On the other hand, it is also conceivable that the access pattern gives a result of hindering the processing speed improvement of the image registration method.

また、医用画像のマッチングを行うシステムがこれまで知られている。例えば、特開2006−55432号公報(特許文献1)では、同一被検体に対してX線CT検査を行うシステムを開示している。また、特開2006−20937号公報(特許文献2)では、異なる時点で測定された医用画像の位置合わせを正確に行う方法および装置を開示している
P. Thevenazand M. Unser, “Optimization of Mutual Information for Multiresolution ImageRegistration”, IEEE Transactions on Image Processing, 9(12) December 2000. 特開2006−55432号公報 特開2006−20937号公報
In addition, systems for matching medical images have been known so far. For example, Japanese Patent Laying-Open No. 2006-55432 (Patent Document 1) discloses a system for performing an X-ray CT examination on the same subject. Japanese Patent Laying-Open No. 2006-20937 (Patent Document 2) discloses a method and apparatus for accurately aligning medical images measured at different times.
P. Thevenazand M. Unser, “Optimization of Mutual Information for Multiresolution ImageRegistration”, IEEE Transactions on Image Processing, 9 (12) December 2000. JP 2006-55432 A JP 2006-20937 A

本発明は、イメージ・レジストレーション法の処理速度を向上する、データ処理装置、データ処理方法、およびプログラムを提供することを目的とする。   An object of the present invention is to provide a data processing apparatus, a data processing method, and a program that improve the processing speed of the image registration method.

本発明は、上述した従来技術の不都合に鑑みてなされたものある。イメージ・レジストレーション法は、実行時での画素データへのデータアクセス・パターンには自由度がある。   The present invention has been made in view of the above-mentioned disadvantages of the prior art. The image registration method has a degree of freedom in a data access pattern to pixel data at the time of execution.

3次元画像は、複数の2次元画像(以下、スライスとして参照する。)が2次元画像の平面に直交する方向に互いに位置決めされた構造を有している。2次元画像であるスライスにブロックを割当て、3次元画像を適切なデータ・サイズのブロック単位で処理する。ブロックに割当てられた画素データは、相互情報量計算の処理対象の画素データとして、メイン・メモリに登録される。画素データが登録される場合、処理対象の画像データは、ローカル・メモリとメイン・メモリ間の転送単位でアクセスできるデータ・サイズおよび構造を有するフォーマットとして格納される。その後、処理対象の画素データは、メイン・メモリから、ローカル・メモリに連続アクセスによりフェッチされる。ローカル・メモリにフェッチされた画素データは、ランダムにサンプリングされ、連続アクセスが可能なブロック・データとして一旦メイン・メモリに格納される。   The three-dimensional image has a structure in which a plurality of two-dimensional images (hereinafter referred to as slices) are positioned with respect to each other in a direction orthogonal to the plane of the two-dimensional image. Blocks are allocated to slices that are two-dimensional images, and three-dimensional images are processed in units of blocks having an appropriate data size. The pixel data assigned to the block is registered in the main memory as pixel data to be processed for mutual information calculation. When pixel data is registered, the image data to be processed is stored as a format having a data size and structure that can be accessed in units of transfer between the local memory and the main memory. Thereafter, the pixel data to be processed is fetched from the main memory to the local memory by continuous access. The pixel data fetched to the local memory is sampled at random and temporarily stored in the main memory as block data that can be continuously accessed.

メイン・メモリに格納されたブロック・データは、相互情報量計算のためにローカル・メモリにフェッチされる。さらにレジストレーションの対象である、対象イメージについて相互計算のためにアクセスするべき画素データをローカル・メモリにブロック単位でフェッチし、相互情報量計算のために提供する。   The block data stored in the main memory is fetched to the local memory for mutual information calculation. Further, pixel data to be accessed for mutual calculation with respect to the target image, which is an object of registration, is fetched in units of blocks into a local memory and provided for mutual information calculation.

データ処理装置を上述したように、対象イメージのフェッチ効率を上げる(連続メモリ・アクセスが使える)ように、基準イメージを分割しサンプリングするべく実装することで、従来、基準イメージは連続にフェッチできても、対象イメージはスパースなメモリ・アクセスが必要であった従来の不都合を改善し、相互情報量計算の間でのメイン・メモリに対するスパースなデータ・アクセスを排除することが可能となる。この結果、本発明のデータ処理装置は、高効率のメモリ・アクセスを達成し、レジストレーション処理の速度を改善することができる。   As described above, the reference image can be continuously fetched by implementing the data processing device to divide and sample the reference image so as to increase the fetch efficiency of the target image (use continuous memory access). However, the target image can improve the conventional inconvenience in which sparse memory access is required, and can eliminate sparse data access to the main memory during mutual information calculation. As a result, the data processing apparatus of the present invention can achieve highly efficient memory access and improve the speed of the registration process.

相互情報量の計算は、ローカル・メモリに格納されたブロック単位の画素データについて実行され、第1の態様では、相互情報量計算に使用される画素データは、求められた線形変換パラメータを使用して対象イメージのバウンディング・ボックスを決定し、バウンディング・ボックスに含まれる画素データがローカル・メモリにフェッチされて実行される。さらに、本発明では、メモリ・アクセスの効率が最大になるように、基準イメージのブロック・グループと対象イメージのバウンディング・ボックスの画素数が最大でかつローカル・メモリに収まるように、前記ブロック・グループの大きさを決定することができる。また、線形変換パラメータの精度が高められた後、第2の態様では、相互情報量の計算に使用される対象データの画素データがローカル・メモリにフェッチされていない場合でも、メイン・メモリへのアクセスすることなく、近傍の画素データを使用して、外挿値として取得される。   The mutual information calculation is performed on block-unit pixel data stored in the local memory. In the first aspect, the pixel data used for the mutual information calculation uses the obtained linear transformation parameters. Then, the bounding box of the target image is determined, and the pixel data included in the bounding box is fetched into the local memory and executed. Further, in the present invention, the block group is configured so that the number of pixels of the reference image block group and the target image bounding box is maximum and fits in the local memory so that the efficiency of memory access is maximized. The size of can be determined. In addition, after the accuracy of the linear transformation parameter is improved, in the second aspect, even when the pixel data of the target data used for the calculation of the mutual information amount is not fetched to the local memory, Without access, it is obtained as an extrapolated value using neighboring pixel data.

また、本発明では、処理する画像イメージ、すなわち基準イメージおよび対象イメージを、解像度が逐次的に低下するように低解像度化し、低解像度の画像イメージから処理を開始して、決定された線形変換パラメータを次ステージの、より解像度の高い画像イメージの処理の初期設定パラメータとして設定する。次ステージでのレジストレーション処理は、低解像度の画像イメージについて最適化された線形変換パラメータを初期値として使用するので、次ステージのレジストレーション処理により、線形変換パラメータのレジストレーション精度が改善できる。   Further, in the present invention, the image image to be processed, that is, the reference image and the target image are reduced in resolution so that the resolution sequentially decreases, and processing is started from the low-resolution image image. Is set as an initial setting parameter for processing a higher-resolution image at the next stage. In the registration process in the next stage, the linear conversion parameter optimized for the low resolution image is used as an initial value. Therefore, the registration accuracy of the linear conversion parameter can be improved by the registration process in the next stage.

さらに、本発明では、処理対象の画像イメージのサンプリング割合が設定値よりも低い場合、相互情報量計算処理を切換え、対象イメージの画像を投機的に予測して相互情報量の計算を実行する。投機的に予測された対象イメージの画素データは、予めメイン・メモリにフェッチされて、相互情報量の計算を実行する。また、この態様で、投機的な予測が不成功の場合には、予めフェッチしてある画素データのうち、近傍の画素データを使用して相互計算に使用する画素データを外挿処理により取得し、相互情報量の計算に提供する。   Furthermore, in the present invention, when the sampling rate of the processing target image is lower than the set value, the mutual information calculation processing is switched, and the calculation of the mutual information is executed by speculatively predicting the target image. The pixel data of the target image predicted speculatively is fetched into the main memory in advance and the mutual information amount is calculated. Also, in this aspect, when speculative prediction is unsuccessful, pixel data to be used for mutual calculation is obtained by extrapolation processing using pixel data in the vicinity of pixel data fetched in advance. Provide for the calculation of mutual information.

上述したように、本発明では、相互情報量計算を、相互情報量計算に使用する画素データをローカル・メモリにフェッチした状態として、メイン・メモリへのスパース・アクセスを排除して実行することができる。この結果、相互情報量の計算における並列処理性を向上でき、さらにレジストレーション処理効率を向上させることができる。   As described above, in the present invention, the mutual information calculation can be executed in a state where the pixel data used for the mutual information calculation is fetched into the local memory while eliminating sparse access to the main memory. it can. As a result, it is possible to improve the parallel processing performance in the calculation of mutual information, and further improve the registration processing efficiency.

また、本発明では、対象イメージの画素データに対するアクセス・パターンが実際にアクセスされる直前まで正確に予測できない場合でも適用でき、この結果、これまで、相互情報量計算の処理効率を向上させるために用いられていたスパースに画素をサンプリングする処理が、逆に相互情報量計算の効率を制限してしまうというトレード・オフの問題点を改善することが可能となる。   Further, the present invention can be applied even when the access pattern for the pixel data of the target image cannot be accurately predicted until just before it is actually accessed. As a result, in order to improve the processing efficiency of the mutual information calculation so far, It is possible to improve the trade-off problem that the processing of sampling pixels to the sparse used limits the efficiency of mutual information calculation.

以下、本発明を図面に示した特定の実施形態をもって説明するが、本発明は、図面に示した実施形態に限定されるものではない。   The present invention will be described below with reference to specific embodiments shown in the drawings, but the present invention is not limited to the embodiments shown in the drawings.

図1は、データ処理装置10の実施形態を示す。図1に示したデータ処理装置10は、概ねパーソナル・コンピュータまたはワークステーションなどのコンピュータ装置として構成されている。図1に示したデータ処理装置10は、中央処理装置(CPU)12と、CPU12が使用するデータを格納するメイン・メモリ14とを備えている。メイン・メモリ14は、DRAMなどの固体メモリ素子から形成され、データ処理装置10が処理に使用するデータを、後述する記憶装置34から読出して格納し、CPU12に提供しており、本実施形態では、512MBの容量を有している。   FIG. 1 shows an embodiment of a data processing apparatus 10. The data processing apparatus 10 shown in FIG. 1 is generally configured as a computer apparatus such as a personal computer or a workstation. The data processing apparatus 10 shown in FIG. 1 includes a central processing unit (CPU) 12 and a main memory 14 that stores data used by the CPU 12. The main memory 14 is formed of a solid-state memory element such as a DRAM, and reads and stores data used for processing by the data processing device 10 from a storage device 34, which will be described later, and provides it to the CPU 12. In this embodiment, It has a capacity of 512 MB.

すなわち、メイン・メモリ14のユニット2個で合計1GBのメイン・メモリ14をCPU12は使用できる。また、CPU12は、本実施形態では、対称マルチコア・プロセッサとして構成されており、マルチコア・プロセッサとして構成された、ユニット・プロセッサ16が高速バスにより接続され、並列処理を行うことができる。ユニット・プロセッサ16は、さらに、汎用プロセッサ・コアと、画像処理などに向いた複数のSPE(Synergistic Processing Element)を備えていている。本実施形態では、ユニット・プロセッサ16は、8つのSPEを備えている。また、各ユニット・プロセッサ16のSPEは、256KBのローカル・メモリ18をそれぞれ管理していて、並列処理性を向上させている。ローカル・メモリ18は、一般的なプロセッサのL2などのキャッシュ・メモリで置き換えることもできる。さらに、各SPEは、DMA(Direct Memory Access)20を備えていて、メイン・メモリ14が格納するデータへの高速アクセスを可能としている。   That is, the CPU 12 can use the main memory 14 having a total of 1 GB with two units of the main memory 14. Further, in this embodiment, the CPU 12 is configured as a symmetric multi-core processor, and unit processors 16 configured as multi-core processors are connected by a high-speed bus and can perform parallel processing. The unit processor 16 further includes a general-purpose processor core and a plurality of SPEs (Synergistic Processing Elements) suitable for image processing. In the present embodiment, the unit processor 16 includes eight SPEs. The SPE of each unit processor 16 manages the 256 KB local memory 18 to improve parallel processing. The local memory 18 can be replaced with a cache memory such as a general processor L2. Further, each SPE includes a DMA (Direct Memory Access) 20 and enables high-speed access to data stored in the main memory 14.

CUP12は、システム・バス22を介して、データ処理装置10の他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ24およびネットワーク・デバイス(NIC)26へと接続されている。グラフィックス・ドライバ24は、バスを介してディスプレイ装置28に接続されて、CPU12による処理結果をディスプレイ画面上に表示させている。また、ネットワーク・デバイス26は、データ処理装置10を、TCP/IPなどの適切な通信プロトコルを使用するネットワークへと接続している。   The CUP 12 is connected via a system bus 22 to other devices or drivers of the data processing apparatus 10, for example, a graphics driver 24 and a network device (NIC) 26. The graphics driver 24 is connected to the display device 28 via a bus, and displays the processing result by the CPU 12 on the display screen. The network device 26 connects the data processing apparatus 10 to a network that uses an appropriate communication protocol such as TCP / IP.

システム・バス22には、さらにI/Oバス・ブリッジ30が接続されている。I/Oバス・ブリッジ30の下流側には、PCI、USBなどのI/Oバス32および、IDE、ATA、ATAPI、シリアルATA、SCSIなどのインタフェースを介して、ハードディスク、CD−ROM、CD−RW、DVD、MOなどの記憶装置34が接続される。また、I/Oバス32には、USBなどのバスを介して、キーボードおよびマウスなどの入出力装置36が接続されていて、データ処理装置10に対するレジストレーション条件設定の入力および各種指令を可能としている。   An I / O bus bridge 30 is further connected to the system bus 22. On the downstream side of the I / O bus bridge 30, an I / O bus 32 such as PCI or USB and an interface such as IDE, ATA, ATAPI, serial ATA, SCSI, etc. are connected to a hard disk, CD-ROM, CD- A storage device 34 such as RW, DVD, or MO is connected. In addition, an input / output device 36 such as a keyboard and a mouse is connected to the I / O bus 32 via a bus such as a USB to enable input of registration condition settings and various commands to the data processing device 10. Yes.

データ処理装置10のCPU12としては、より具体的には、例えば、Cell BE Processor(登録商標)(クロックレート3.2GHz、メイン・メモリ=512MB、8SPE、各SPEのローカル・メモリ256KB)を挙げることができる。この他にも、PENTIUM(登録商標)〜PENTIUM(登録商標) IV、PENTIUM(登録商標)互換CPU、POWER PC(登録商標)などCISCまたはRISCチップなどを挙げることができる。   More specifically, the CPU 12 of the data processing apparatus 10 includes, for example, Cell BE Processor (registered trademark) (clock rate 3.2 GHz, main memory = 512 MB, 8 SPE, local memory 256 KB of each SPE). Can do. In addition, CISC or RISC chips such as PENTIUM (registered trademark) to PENTIUM (registered trademark) IV, PENTIUM (registered trademark) compatible CPU, POWER PC (registered trademark), and the like can be given.

また、使用するオペレーティング・システム(OS)としては、MacOS(商標)、Windows(登録商標)、Windows(登録商標)200X Server、UNIX(登録商標)、AIX(登録商標)、LINUX(登録商標)またはそれ以外の適切なOSを挙げることができる。さらに、データ処理装置10は、上述したOS上で動作する、アセンブラ、C、C++、Visual C++、VisualBasic、Java(登録商標)、Perl、Rubyなどのレガシープログラミング言語やオブジェクト指向のプログラミング言語により記述されたアプリケーション・プログラムを格納して実行し、データ処理を可能としている。   As an operating system (OS) to be used, MacOS (trademark), Windows (registered trademark), Windows (registered trademark) 200X Server, UNIX (registered trademark), AIX (registered trademark), LINUX (registered trademark) or Other suitable OS can be mentioned. Further, the data processing apparatus 10 is described in a legacy programming language or an object-oriented programming language such as an assembler, C, C ++, Visual C ++, Visual Basic, Java (registered trademark), Perl, or Ruby that operates on the OS described above. The application program is stored and executed to enable data processing.

図2は、図1に示したデータ処理装置10の機能ブロックおよび各機能ブロック間のデータフローの実施形態を示す。図2に示すように、データ処理装置10には、基準イメージ(Fixed Image)および対象イメージ(Moving Image)がそれぞれ入力される。基準イメージ40は、イメージ・レジストレーション法により位置合わせするべき基準となるイメージであり、例えば所定の患者の過去に取得されたX線写真、X線CTイメージ、MRIイメージなどとすることができる。また対象イメージ42は、基準イメージ40に対して位置合わせ(registration)すべきイメージとして定義される。対象イメージ42は、例えば基準イメージ40を取得した後に撮影または記録されたX線写真、X線CTイメージ、MRIイメージなどとすることができる。なお、本発明では、位置合わせするための画像イメージの種類や属性は、特に限定されるものではない。   FIG. 2 shows an embodiment of the functional blocks of the data processing apparatus 10 shown in FIG. 1 and the data flow between the functional blocks. As shown in FIG. 2, a reference image (Fixed Image) and a target image (Moving Image) are input to the data processing apparatus 10, respectively. The reference image 40 is an image serving as a reference to be aligned by an image registration method, and can be, for example, an X-ray photograph, an X-ray CT image, an MRI image, or the like acquired in the past of a predetermined patient. The target image 42 is defined as an image to be registered with respect to the reference image 40. The target image 42 can be, for example, an X-ray photograph, an X-ray CT image, an MRI image, or the like taken or recorded after obtaining the reference image 40. In the present invention, the type and attribute of the image for alignment are not particularly limited.

また、基準イメージ40および対象イメージ42は、2次元画像イメージを単位スライスとして、複数のスライスが特定深さの断面を与える3次元画像として作成されている。基準イメージ40および対象イメージ42は、ハードディスク装置、CD−ROM、CR−RW、DVD、MOなどの記憶装置30に格納され、処理要求に応答してメイン・メモリ14に読出され、データ処理装置10による処理に使用される。   The reference image 40 and the target image 42 are created as a three-dimensional image in which a plurality of slices give a cross section having a specific depth, with the two-dimensional image image as a unit slice. The reference image 40 and the target image 42 are stored in a storage device 30 such as a hard disk device, a CD-ROM, a CR-RW, a DVD, or an MO, read out to the main memory 14 in response to a processing request, and the data processing device 10. Used for processing by

データ処理装置10は、複数のダウン・サンプル処理部を含んで構成されており、ダウン・サンプル処理部44〜48およびダウン・サンプル処理部58〜62は、処理するべき画像イメージの画素を抽出してソフトウェア的に低解像度化する、ダウン・サンプル処理手段として機能する。また、各ダウン・サンプル処理部は、基準イメージ40および対象イメージ42の両方について、対応した低解像度の画像イメージを与えるように、同一の処理ステージについて同一の解像度比でダウン・サンプルを実行する。   The data processing apparatus 10 includes a plurality of down-sample processing units. The down-sample processing units 44 to 48 and the down-sample processing units 58 to 62 extract pixels of an image to be processed. It functions as a down sample processing means that lowers the resolution in terms of software. Each down-sample processing unit executes down-sampling at the same resolution ratio for the same processing stage so as to give corresponding low-resolution image images for both the reference image 40 and the target image 42.

各処理ステージでのダウン・サイズ処理部は、上述したように同様の処理を行うため、以下、基準イメージ40をダウンサイジングするためのダウン・サンプル処理部44〜48について説明する。図2に説明するように、オリジナルの解像度の基準イメージ40は、X×Y画素を有しているものとする。ダウン・サンプル処理部44は、オリジナルの画素数を1/4とした基準イメージを作成する。ダウン・サンプル処理部46は、ダウン・サンプル処理部44が作成した低解像度画像をオリジナルの解像度に対して1/16に圧縮した基準イメージを作成する。さらに、ダウン・サンプル処理部48は、ダウン・サンプル処理部46が作成した低解像度画像を、オリジナルの解像度の1/64に圧縮した基準イメージを作成する。   Since the down-size processing unit in each processing stage performs the same processing as described above, the down-sample processing units 44 to 48 for downsizing the reference image 40 will be described below. As illustrated in FIG. 2, it is assumed that the reference image 40 having the original resolution has X × Y pixels. The down-sample processing unit 44 creates a reference image in which the number of original pixels is 1/4. The down sample processing unit 46 generates a reference image obtained by compressing the low resolution image generated by the down sample processing unit 44 to 1/16 of the original resolution. Further, the down-sample processing unit 48 creates a reference image obtained by compressing the low-resolution image created by the down-sample processing unit 46 to 1/64 of the original resolution.

この結果、図示した実施形態では、データ処理装置10は、1(オリジナルの解像度)→1/4→1/16→1/64の解像度列の、低解像度化した画像イメージが作成される。これらの画像イメージの画素データは、一旦メイン・メモリ14に書込まれる。メイン・メモリ14に書込まれた各画素データは、以下に説明する各レジストレータに読込まれ、レジストレーション処理のために使用される。なお、本発明では、ダウン・サンプル処理部を実装する数は、特に限定されるものではない。同様に、対象イメージ42についても同様の、または同一のダウン・サンプル処理部58〜62を適用して、それぞれ基準イメージ40と同一の解像度比で低解像度画像を作成し、メイン・メモリ14に格納する。ダウン・サンプル処理部58〜62を、ダウン・サンプル処理部44〜48と別に実装する場合には、基準イメージ40と対象イメージ42のダウンサイジング処理を並列処理として実行できるので、処理効率的には好ましい。   As a result, in the illustrated embodiment, the data processing apparatus 10 creates an image with a reduced resolution in a resolution column of 1 (original resolution) → 1/4 → 1/16 → 1/64. The pixel data of these image images is once written in the main memory 14. Each pixel data written in the main memory 14 is read into each registrator described below and used for registration processing. In the present invention, the number of down-sample processing units to be mounted is not particularly limited. Similarly, the same or the same down-sample processing units 58 to 62 are applied to the target image 42 to create low-resolution images at the same resolution ratio as the reference image 40 and store them in the main memory 14. To do. When the down sample processing units 58 to 62 are mounted separately from the down sample processing units 44 to 48, the downsizing processing of the reference image 40 and the target image 42 can be executed as parallel processing. preferable.

本実施形態では、画素データのサンプリング数を、オリジナルの解像度の総画素数の1/100とする。このため、低解像度化して解像度が1/4、1/16、1/64となった場合、それぞれの解像度の画像イメージについてサンプリング割合を、4/100、16/100、64/100としてサンプリング数を保持するようにサンプリング割合を高めて処理を実行する。すなわち、低解像度の画像イメージについては、サンプリング割合を高め、高解像度の画像イメージについてはサンプリング割合を低めて、処理対象画素数を保持させて処理を実行させる。なお、サンプリング数は、各処理ステージで、処理効率および特定の用途に応じて適切に変更することができる。作成した低解像度化された画像イメージの系列に対し、データ処理装置10は、順次低解像度の画像イメージからイメージ・レジストレーション処理を開始する。データ処理装置10は、処理するべき画像イメージのサンプリング割合に対応して、異なるサンプリング処理を適用し、さらに異なる相互情報量計算方法を適用する。   In this embodiment, the sampling number of pixel data is 1/100 of the total number of pixels of the original resolution. For this reason, when the resolution is reduced to 1/4, 1/16, or 1/64, the sampling rate is set to 4/100, 16/100, or 64/100 for each resolution image. The processing is executed at a higher sampling rate so as to hold That is, for low-resolution image images, the sampling rate is increased, and for high-resolution image images, the sampling rate is decreased to hold the number of pixels to be processed and execute processing. Note that the number of samplings can be appropriately changed at each processing stage according to processing efficiency and a specific application. The data processing apparatus 10 sequentially starts the image registration process from the low-resolution image image with respect to the generated series of the reduced-resolution image images. The data processing apparatus 10 applies different sampling processes and further applies different mutual information calculation methods according to the sampling ratio of the image to be processed.

また、データ処理装置10は、レジストレーション処理の各処理ステージに対して第1ステージを除き、1ステージ低いレジストレーション処理で得られた線形変換パラメータをその初期設定パラメータとして設定する。このため、アフィン変換パラメータなどの線形変換パラメータは、そのレジストレーション精度が順次的に向上してゆく。このため、低解像度化された画像イメージの処理に対して効率的なレジストレーション方法を適用する。また、データ処理装置10は、パラメータ精度が改善された所定のサンプリング割合の処理ステージで、相互情報量を計算させる対象イメージの画素を投機的に圧縮するレジストレーション方法を使用することができる。このステージでは、投機的に画素データを取得して圧縮する処理を行っても、線形変換パラメータのレジストレーション精度が高められているので、ローカル・メモリ18内のデータについてミスヒットを低く抑えることができ、また仮にミスヒットした場合にでも、圧縮した対象イメージの画素データから外挿することで対応することができる。また、本実施形態では、他の投機的予測を行って、スパース・アクセスを排除することもできる。さらに、本実施形態では、予測値について誤差規制値を設定し、誤差が誤差規制値を超える場合には精度を重視してメイン・メモリ14にアクセスさせることもできる。なお、第1ステージについては、入出力装置36または記憶装置34などに格納した値から初期設定の値を取得することができる。   Further, the data processing apparatus 10 sets the linear conversion parameter obtained by the registration process one stage lower as the initial setting parameter except for the first stage for each processing stage of the registration process. For this reason, the registration accuracy of linear transformation parameters such as affine transformation parameters is improved sequentially. For this reason, an efficient registration method is applied to the processing of an image image with a reduced resolution. In addition, the data processing apparatus 10 can use a registration method that speculatively compresses the pixels of the target image for which the mutual information amount is calculated at a processing stage having a predetermined sampling rate with improved parameter accuracy. At this stage, even if the pixel data is speculatively acquired and compressed, the registration accuracy of the linear transformation parameter is improved, so that the mishit of the data in the local memory 18 can be kept low. In addition, even if a miss-hit occurs, it can be handled by extrapolating from the pixel data of the compressed target image. In this embodiment, another speculative prediction can be performed to eliminate sparse access. Furthermore, in this embodiment, an error regulation value is set for the predicted value, and when the error exceeds the error regulation value, the main memory 14 can be accessed with emphasis on accuracy. For the first stage, an initial setting value can be acquired from a value stored in the input / output device 36 or the storage device 34.

さらに図2に示したデータ処理装置10について説明する。データ処理装置10は、画像イメージの解像度に対応する位置決め手段として機能するレジストレータ50〜56を含んでいる。また、レジストレータ50〜56は、各処理ステージに対応するようにR〜Rとして序列化されている。レジストレータ50〜56は、ソフトウェア的に構成されるレジストレータ手段として機能する。図2に示した特定の実装では、レジストレータ50〜56のうち、レジストレータ50およびレジストレータ52は、それぞれ低解像度の画像イメージに対してブロック・サンプリングを適用する低解像度レジストレータとして構成され、第1レジストレータ手段を提供する。 Further, the data processing apparatus 10 shown in FIG. 2 will be described. The data processing apparatus 10 includes registrars 50 to 56 that function as positioning means corresponding to the resolution of an image. Further, the registrars 50 to 56 are ordered as R 0 to R 3 so as to correspond to the respective processing stages. The registrars 50 to 56 function as registrar means configured as software. In the specific implementation shown in FIG. 2, among the registrars 50-56, the registrar 50 and the registrar 52 are each configured as a low-resolution registrar that applies block sampling to a low-resolution image image, First registrar means is provided.

また、レジストレータ54およびレジストレータ56は、高解像度の画像イメージを処理する高解像度レジストレータとして、それぞれ第2レジストレ−タ手段を提供する。高解像度レジストレータ54、56は、ランダム・サンプリングおよび投機的手法を使用して、レジストレーション処理を行う。また、レジストレータ52からレジストレータ54には、順次1ステージ下のレジストレータで決定された線形変換パラメータが初期設定パラメータとして設定される。また、最終ステージのレジストレータ56は、データ処理装置10が最終的にレジストレーションに使用するための線形変換パラメータ64を出力する。   The registrar 54 and the registrar 56 each provide a second registrar unit as a high-resolution registrar that processes a high-resolution image. High resolution registrars 54 and 56 perform registration processing using random sampling and speculative techniques. In addition, linear conversion parameters determined by the registrar one stage below are sequentially set as initial setting parameters from the registrar 52 to the registrar 54. In addition, the final stage registration device 56 outputs a linear conversion parameter 64 for the data processing apparatus 10 to finally use for registration.

なお、本発明では、低解像度レジストレータおよび高解像度レジストレータの数および組み合わせについては特に制限はなく、特定の用途により、適宜増減でき、またそれらの組み合わせも適宜設定することができる。   In the present invention, the number and combination of the low-resolution and high-resolution registrars are not particularly limited, and can be appropriately increased or decreased according to a specific application, and the combination thereof can also be set as appropriate.

図3は、データ処理装置10が実行する処理の実施形態のフローチャートを示す。図3に示す処理は、ステップS100から開始し、ステップS101で基準イメージと対象イメージとをダウン・サンプル処理部に入力し、解像度の異なる複数の画像イメージを作成し、メイン・メモリ14に書込む。ステップS102では、最も低い解像度の画像イメージを使用し、最下位ステージのレジストレータ50を起動して線形変換パラメータの粗近似値を計算させる。ステップS103では、パラメータの粗近似値を1ステージ解像度の高い処理を実行するレジストレータの初期設定値として画像イメージの相互情報量を計算し、線形変換パラメータを決定する。   FIG. 3 shows a flowchart of an embodiment of processing executed by the data processing apparatus 10. The process shown in FIG. 3 starts from step S100, and in step S101, the reference image and the target image are input to the down-sample processing unit, and a plurality of image images having different resolutions are created and written into the main memory 14. . In step S102, the lowest-resolution image is used, and the lowest-stage register 50 is activated to calculate a rough approximation value of the linear conversion parameter. In step S103, the mutual information amount of the image image is calculated by using the rough approximate value of the parameter as the initial setting value of the registrator that executes processing with a high one-stage resolution, and the linear conversion parameter is determined.

さらにステップS104では、順次高い解像度の画像イメージについて相互情報量を前ステージで計算された線形変換パラメータを使用して計算し、線形変換パラメータをさらに更新し、線形変換パラメータのレジストレーション精度を向上させる。ステップS105では、次に処理する画像イメージのサンプリング割合が設定値以上であるか否かを判断する。ステップS105の判断でサンプリング割合が設定値以上であると判断された場合(yes)、ステップS107でブロック・サンプリングのみを使用したパラメータ更新を継続させる。また、サンプリング割合が設定値に達しないと判断された場合(no)には、ステップS106で、本発明の特定の実施形態では、ランダム・サンプリングと、画素データの投機的フェッチを使用したレジストレーション処理を実行する。   Further, in step S104, the mutual information is sequentially calculated using the linear transformation parameters calculated in the previous stage for the high-resolution image, and the linear transformation parameters are further updated to improve the registration accuracy of the linear transformation parameters. . In step S105, it is determined whether the sampling rate of the image to be processed next is equal to or greater than a set value. If it is determined in step S105 that the sampling rate is greater than or equal to the set value (yes), parameter updating using only block sampling is continued in step S107. Also, if it is determined that the sampling rate does not reach the set value (no), in step S106, in a specific embodiment of the present invention, registration using random sampling and speculative fetching of pixel data. Execute the process.

ステップS108では、オリジナルの解像度の画像イメージを処理したか否かを判断する。ステップS108の判断の結果、オリジナルの解像度の画像イメージを処理したと判断した場合(yes)、その時点でのパラメータを出力パラメータとして登録する。また、ステップS108の判断で、未だオリジナルの解像度の画像イメージを処理していないと判断した場合(no)には、処理をステップS105に分岐させて、処理を継続させる。なお、オリジナルの解像度の画像イメージを処理したことの判断については、処理対象の画像イメージの画素数や、高解像度レジストレータの処理ステージ数をカウントしておき、最終ステージカウントを超えたときに、処理終了と判断することができる。   In step S108, it is determined whether or not an original resolution image has been processed. If it is determined in step S108 that the original resolution image has been processed (yes), the parameters at that time are registered as output parameters. If it is determined in step S108 that the original resolution image has not yet been processed (no), the process branches to step S105 and the process is continued. In addition, about the judgment that the image image of the original resolution has been processed, the number of pixels of the image image to be processed and the number of processing stages of the high-resolution registerer are counted, and when the final stage count is exceeded, It can be determined that the process has ended.

なお、図3のステップS105の判断に使用する設定値は、特定の実装形態により異なる可能性があるが、特定の実施形態では、サンプリング割合で16/100とした(解像度的には、1/16に相当する。)。説明している実装形態では、サンプリング割合が16/100よりも低い画像イメージ(すなわち、解像度が高い画像イメージの処理に対応する。)については、ブロック・サンプリングを使用したレジストレーション処理よりもランダム・サンプリングおよび投機的フェッチを使用するレジストレーション処理の方が処理効率が高い結果が得られたためである。ただし、本実施形態の設定値は、特定の実装形式などにより適宜最適化するように設定することができる。   Note that the setting value used for the determination in step S105 in FIG. 3 may vary depending on the specific implementation, but in a specific embodiment, the sampling rate is 16/100 (in terms of resolution, 1/100). 16). In the described implementation, image images with a sampling rate lower than 16/100 (ie, corresponding to processing of high resolution image images) are more random than registration processing using block sampling. This is because the registration process using sampling and speculative fetch has a higher processing efficiency. However, the setting value of this embodiment can be set so as to be optimized as appropriate according to a specific mounting format or the like.

図4は、本実施形態に使用する低解像度レジストレータ50での機能ブロックの実施形態を示す。低解像度レジストレータ50は、ブロック・サンプル部70と、相互情報量計算部72と、最適化処理部74とを含んで構成される。ブロック・サンプル部70は、画像イメージの複数のスライスにブロックを割当て、選択したブロックに含まれる画素データ全体をメイン・メモリ14からローカル・メモリ18にフェッチする。その後、ブロック・サンプル部70は、ブロックに割当てられた画素データをランダムにサンプリングしてメイン・メモリ14に登録する。さらに、ブロック・サンプル部70は、ブロックのコーナを占めるコーナ画素(特定の実施形態では8サンプル)の3次元座標を求め、ランダムにサンプリングされた画素データに結合させてブロック・データとして、メイン・メモリ14に格納する。   FIG. 4 shows an embodiment of functional blocks in the low-resolution registrar 50 used in this embodiment. The low-resolution registrar 50 includes a block / sample unit 70, a mutual information amount calculation unit 72, and an optimization processing unit 74. The block sample unit 70 assigns blocks to a plurality of slices of the image image, and fetches the entire pixel data included in the selected block from the main memory 14 to the local memory 18. Thereafter, the block sample unit 70 samples the pixel data assigned to the block at random and registers it in the main memory 14. Further, the block sample unit 70 obtains the three-dimensional coordinates of the corner pixels (eight samples in the specific embodiment) occupying the corners of the block and combines them with the randomly sampled pixel data as the block data. Store in the memory 14.

格納したブロック・データは、相互情報量計算部72の処理に使用のために再度ローカル・メモリ18にフェッチされる。相互情報量計算部72は、ブロック・データを、メイン・メモリ転送単位に連続してローカル・メモリ18にフェッチする。このとき、隣接する複数のブロックからブロック・グループを構成し、ブロック・グループ内のすべてのサンプル画素をフェッチすることもできる。さらに相互情報量計算部72は、線形変換パラメータの値を使用して同一の解像度の対象イメージのうち、ブロック(またはブロック・グループ)に対応するコーナの画素の3次元座標を決定してバウンディング・ボックスを決定する。この処理を実行するソフトウェア手段がバウンディング・ボックス取得手段を構成する。その後、相互情報量計算部72は、バウンディング・ボックスに含まれる対象イメージの画素データを、メイン・メモリ14からローカル・メモリ18に連続してフェッチする。本発明では、ブロック(またはブロック・グループ)のデータ・サイズを、ブロックに対する相互情報量の計算実行の間、メイン・メモリへのスパースなメモリ・アクセスを生じさせないサイズとして最適化する。ブロック・グループを使用する場合は、そのメモリ・サイズを、使用するローカル・メモリ18のサイズおよび計算中の線形変換パラメータの値などにより適宜動的にブロックの単位で最適化させることができる。   The stored block data is fetched again into the local memory 18 for use in processing of the mutual information amount calculation unit 72. The mutual information calculation unit 72 fetches block data to the local memory 18 continuously in units of main memory transfer. At this time, a block group can be formed from a plurality of adjacent blocks, and all sample pixels in the block group can be fetched. Further, the mutual information calculation unit 72 determines the three-dimensional coordinates of the corner pixels corresponding to the block (or block group) in the target image having the same resolution by using the value of the linear transformation parameter, Determine the box. Software means for executing this process constitutes a bounding box acquisition means. Thereafter, the mutual information calculation unit 72 continuously fetches the pixel data of the target image included in the bounding box from the main memory 14 to the local memory 18. In the present invention, the data size of a block (or block group) is optimized so as not to cause sparse memory access to the main memory during execution of mutual information calculation for the block. When a block group is used, its memory size can be dynamically optimized in units of blocks as appropriate depending on the size of the local memory 18 to be used and the value of the linear transformation parameter being calculated.

相互情報量計算部72は、ブロック(またはブロック・グループ)に含まれる画素データとバウンディング・ボックスに含まれる対象イメージの画素データとを使用して、相互情報量を計算する。最適化処理部74は、計算されたブロックごとの相互情報量を使用して、線形変換パラメータを修正し、修正したパラメータを相互情報量計算部72に渡して相互情報量を最大化するように反復的に相互情報量の計算を実行する。最適化処理部74は、相互情報量がその時点で特定されているブロックとバウンディング・ボックスとの関係で最大化した時点あるいは、予め定められた反復数に達した時点で、処理を終了し、線形変換パラメータ76を次ステージのレジストレータに渡して次ステージの相互情報量計算のための初期パラメータに設定する。   The mutual information amount calculation unit 72 calculates the mutual information amount using the pixel data included in the block (or block group) and the pixel data of the target image included in the bounding box. The optimization processing unit 74 corrects the linear transformation parameter using the calculated mutual information for each block, and passes the corrected parameter to the mutual information calculation unit 72 so as to maximize the mutual information. Perform mutual information calculation iteratively. The optimization processing unit 74 ends the processing when the mutual information amount is maximized by the relationship between the block specified at that time and the bounding box, or when a predetermined number of iterations is reached, The linear transformation parameter 76 is passed to the next stage registrator and set as the initial parameter for the mutual information calculation of the next stage.

なお、本実施形態では、相互情報量計算部72および最適化処理部74に使用する定義式、パラメータ設定については、非特許文献1の開示にしたがって、初期設定する線形変換パラメータの設定を変更するのみで、そのまま実装することができる。なお、概略的に説明すると、相互情報量計算部72は、確率密度関数p(x)を、所謂Parzen予測値として計算し、アフィン変換などの線形変換パラメータを使用してParzenヒストグラムを計算する。このヒストグラムでParzen確率または周波数を計算し、相互情報量S(μ)を下記式(1)で与える。   In the present embodiment, for the definition formulas and parameter settings used for the mutual information amount calculation unit 72 and the optimization processing unit 74, the setting of the linear transformation parameter to be initialized is changed according to the disclosure of Non-Patent Document 1. Can be implemented as is. In brief, the mutual information calculation unit 72 calculates the probability density function p (x) as a so-called Parzen prediction value, and calculates a Parzen histogram using a linear conversion parameter such as affine transformation. The Parzen probability or frequency is calculated from this histogram, and the mutual information amount S (μ) is given by the following equation (1).

Figure 0004763586
なお、上記式中、lおよびκは、離散変数であり、LおよびLは、対象イメージおよび基準イメージの深さデータ(濃度階調のビット数に対応する。)である。μは、線形変換パラメータを示し、pが、Parzen確率を示し、p、pは、対象イメージおよび基準イメージの離散Parzen確率を示す。
Figure 0004763586
In the formula, the l and kappa, a discrete variable, L T and L R is the depth data of the target image and the reference image (corresponding to the number of bits of the gray scale.). μ represents a linear transformation parameter, p represents a Parzen probability, and p T and p R represent discrete Parzen probabilities of the target image and the reference image.

より詳細については、非特許文献1を参照されたい。本発明では、上記式(1)で示した相互情報量S(μ)を最大化させるように、線形変換パラメータμの値を逐次最適化処理を実行する。最適化処理部74は、上述した相互情報量を、テーラー展開し、S(μ)を最大化する線形変換パラメータを、出力するべき線形変換パラメータとして決定する。   Refer to Non-Patent Document 1 for more details. In the present invention, the value of the linear transformation parameter μ is sequentially optimized so as to maximize the mutual information S (μ) expressed by the above formula (1). The optimization processing unit 74 performs the Taylor expansion on the mutual information described above, and determines a linear transformation parameter that maximizes S (μ) as a linear transformation parameter to be output.

図5は、図4に示した低解像度レジストレータ50が実行する処理の実施形態のフローチャートである。図5に示した処理は、ステップS200から開始し、ステップS201で基準イメージのブロック・データの画素データをメイン・メモリ14からローカル・メモリ18にフェッチする。ステップS202では、ローカル・メモリ18にフェッチした画素データをランダムにサンプリングし、画素データの深さデータ(例えば、16ビットの白黒の階調レベル値)および位置データを取得する。   FIG. 5 is a flowchart of an embodiment of processing executed by the low-resolution registrar 50 shown in FIG. The process shown in FIG. 5 starts from step S200, and the pixel data of the block data of the reference image is fetched from the main memory 14 to the local memory 18 in step S201. In step S202, the pixel data fetched into the local memory 18 is randomly sampled to obtain pixel data depth data (for example, 16-bit black and white gradation level value) and position data.

ステップS203では、取得した画素の深さデータおよび位置データとブロックのコーナ画素の3次元座標データをブロック・データとして、メイン・メモリ14に、相互情報量の計算のために書込む。ステップS204では、処理している解像度の基準イメージについてのブロックすべてについて処理が終了したか否かを判断し、終了していなければ(no)処理をステップS201に戻す。また、すべてのブロックについて終了した場合(yes)、処理をステップS205に分岐させ、ローカル・メモリ18をクリアして、メイン・メモリ14に書込んだブロック・データを、相互情報量の計算のためローカル・メモリ18にフェッチする。なお、本発明の特定の実施形態では、処理している画像イメージの処理効率の観点から、単一のブロック・データを使用して相互情報量の計算を実行することもできるし、複数の隣接するブロック・データからブロック・グループを形成させ、ブロック・グループ内すべてのブロック・データをローカル・メモリ18にフェッチさせることもできる。   In step S203, the acquired depth data and position data of the pixel and the three-dimensional coordinate data of the corner pixel of the block are written as block data in the main memory 14 for calculation of the mutual information amount. In step S204, it is determined whether or not the processing has been completed for all the blocks of the reference image having the resolution being processed. If the processing has not been completed (no), the processing returns to step S201. If all blocks have been completed (yes), the process branches to step S205, the local memory 18 is cleared, and the block data written to the main memory 14 is calculated for mutual information. Fetch into local memory 18. In the specific embodiment of the present invention, from the viewpoint of the processing efficiency of the image being processed, the calculation of mutual information can be performed using a single block data, or a plurality of adjacent information can be calculated. It is also possible to form a block group from the block data to be processed and to fetch all the block data in the block group to the local memory 18.

ステップS206では、ブロック・データのコーナ画素について線形変換を実行し、対象イメージの画素データのうち、線形変換で基準イメージのコーナに対応する画素を特定し、バウンディング・ボックスとして定義する。その後、ステップS207でバウンディング・ボックスに含まれる対象イメージの画素データをメイン・メモリ14からローカル・メモリ18にフェッチする。すなわち、低解像度レジストレータ50では、対象イメージの処理対象の画素データについてはまったく投機的予測を使用しないで、ローカル・メモリ18にフェッチする。   In step S206, linear transformation is performed on the corner pixels of the block data, and the pixel corresponding to the corner of the reference image is identified by the linear transformation from the pixel data of the target image and defined as a bounding box. Thereafter, the pixel data of the target image included in the bounding box is fetched from the main memory 14 to the local memory 18 in step S207. That is, the low-resolution registrar 50 fetches the pixel data to be processed of the target image into the local memory 18 without using speculative prediction at all.

ステップS208では、ローカル・メモリ18内のブロック・データとバウンディング・ボックス内の画素データとを使用して相互情報量を計算する。ステップS208の処理では、相互情報量の計算時にメイン・メモリ14に格納された画素単位ではなく、ローカル・メモリ18に格納された画素データについて連続アクセスすることができるので、CPU12の処理効率は向上する。ブロックについて計算された相互情報量は、メイン・メモリ14に格納され、積算される。   In step S208, the mutual information is calculated using the block data in the local memory 18 and the pixel data in the bounding box. In the process of step S208, since the pixel data stored in the local memory 18 can be continuously accessed instead of the pixel unit stored in the main memory 14 when the mutual information is calculated, the processing efficiency of the CPU 12 is improved. To do. The mutual information calculated for the block is stored in the main memory 14 and integrated.

その後、ステップS209すべてのブロック・データについて処理を終了したかを判断する。処理が終了していない場合(no)には、処理をステップS205に分岐させて次のブロック・データについての処理を繰り返し実行する。ステップS209ですべてのブロック・データについて処理が終了した場合(yes)には、ステップS210で最適化処理部74を起動して、相互情報量が最大化するように線形変換パラメータを修正し、ステップS211で、相互情報量が最大化したか、または設定した反復回数に達したかを判断する。相互情報量が最大化したかまたは設定した反復回数に達した場合(yes)場合、処理をステップS212分岐させて処理を終了させる。また、相互情報量が最大化したかまたは設定した反復回数に達しない場合(no)、ステップS205に処理を分岐させて、更新した線形変換パラメータを使用して新たなバウンディング・ボックスを計算しなおして繰り返し計算を実行させる。   After that, it is determined whether or not the processing has been completed for all block data in step S209. If the process has not ended (no), the process branches to step S205, and the process for the next block data is repeatedly executed. If the processing is completed for all the block data in step S209 (yes), the optimization processing unit 74 is activated in step S210 to correct the linear transformation parameter so that the mutual information is maximized. In S211, it is determined whether the mutual information amount has been maximized or the set number of iterations has been reached. If the mutual information amount has been maximized or the set number of iterations has been reached (yes), the process is branched to step S212 and the process is terminated. If the mutual information amount is maximized or the set number of iterations has not been reached (no), the process branches to step S205 to recalculate a new bounding box using the updated linear transformation parameters. To repeat the calculation.

この理由は、低解像度では未だ、線形パラメータの精度が高くないため、更新された値を使用してバウンディング・ボックスを修正してゆくことが好ましいためである。なお、後述する高解像度レジストレータでは、低解像度レジストレータによる上述の処理によって、精度の高い線形変換パラメータが与えられるため、「初期値」をもって最新値の予測値として使用することが可能であるなお、図5で示した低解像度レジストレータ50の決定した線形変換パラメータは、次ステージの処理を実行する低解像度レジストレータ52の線形変換パラメータの初期値として渡される。   This is because, since the accuracy of the linear parameter is not yet high at low resolution, it is preferable to use the updated value to correct the bounding box. In the high-resolution registrator described later, since the linear conversion parameter with high accuracy is given by the above-described processing by the low-resolution registrator, it is possible to use the “initial value” as a predicted value of the latest value. The linear conversion parameter determined by the low-resolution registrar 50 shown in FIG. 5 is passed as the initial value of the linear conversion parameter of the low-resolution registrar 52 that executes the processing of the next stage.

図6は、本発明で使用する3次元画像のデータ構造の実施形態を示す。図6に示した3次元画像のデータ構造は、基準イメージおよび対象イメージについて同様の構成とされる。図6に示すように3次元画像80は、患部などを2次元画像として登録したスライス82が、患部の深さ方向に複数X−Y方向に位置決めされたデータ構造として与えられる。本実施形態では、ダウン・サンプル処理部により低解像度化した各スライスに対してブロック84を割当てる。ブロック84には、複数の画素データが含まれている。図6中、代表してブロック84のみをハッチングして示す。   FIG. 6 shows an embodiment of the data structure of a three-dimensional image used in the present invention. The data structure of the three-dimensional image shown in FIG. 6 has the same configuration for the reference image and the target image. As shown in FIG. 6, the three-dimensional image 80 is given as a data structure in which slices 82 in which an affected part is registered as a two-dimensional image are positioned in a plurality of XY directions in the depth direction of the affected part. In the present embodiment, a block 84 is allocated to each slice whose resolution is reduced by the down-sample processing unit. The block 84 includes a plurality of pixel data. In FIG. 6, only the block 84 is shown hatched as a representative.

本実施形態では、ブロック84を処理する場合、ブロック84に含まれるすべての画素の画素データを、ローカル・メモリ18にフェッチする。このため、CPU12は、処理のために使用する画素データに効率的にアクセスでき、相関情報の計算を効率化することが可能となる。以後、ブロック84内の画素データがサンプリングされる。このときのサンプリング割合は、解像度に対応したサンプリング割合とされ、低解像度の基準イメージについては高いサンプリング割合が適用される。また、ブロックのコーナを占めるコーナ画素は、ランダムなサンプリングの他にサンプリングされて、バウンディング・ボックスを規定するために使用される。また、ブロックのデータ・サイズは、所定のサンプリング割合でのサンプリングにより、ローカル・メモリ18にブロック・データまたはブロック・グループのデータと、対象イメージのデータとに対して相互情報量の計算の間、連続的にアクセスできように最適化されている。   In this embodiment, when processing the block 84, the pixel data of all the pixels included in the block 84 are fetched into the local memory 18. For this reason, the CPU 12 can efficiently access the pixel data used for processing, and the correlation information can be calculated efficiently. Thereafter, the pixel data in the block 84 is sampled. The sampling rate at this time is a sampling rate corresponding to the resolution, and a high sampling rate is applied to the low-resolution reference image. Also, the corner pixels occupying the corners of the block are sampled in addition to random sampling and used to define the bounding box. In addition, the block data size is determined by sampling at a predetermined sampling rate in the local memory 18 during calculation of mutual information for block data or block group data and target image data. Optimized for continuous access.

図7は、ブロック84に登録された画素データを、ローカル・メモリ18の特定のページにフェッチする実施形態を示す。図7に示すように、一旦メイン・メモリ14に書込まれたブロック84内の全画素データは、ローカル・メモリ18にフェッチされる。ローカル・メモリ18は、キャッシュ・メモリと同様にライン単位でのメイン・メモリ14からのフェッチが最適化されていて、ライン単位でのデータ転送を可能としている。さらに、ブロック・サンプル部70は、ローカル・メモリ18内にフェッチされた画素データをランダムにサンプリングし、コーナを占める画素のコーナ画素86の3次元座標を、ランダムにサンプルした画素データに追加し、連続アクセスが可能となるように圧縮してブロック・データとして作成し、再度メイン・メモリ14に書込む。   FIG. 7 illustrates an embodiment in which the pixel data registered in block 84 is fetched into a specific page of local memory 18. As shown in FIG. 7, all the pixel data in the block 84 once written in the main memory 14 is fetched into the local memory 18. As with the cache memory, the local memory 18 is optimized for fetching from the main memory 14 in units of lines, and enables data transfer in units of lines. Further, the block sample unit 70 randomly samples the pixel data fetched into the local memory 18, adds the three-dimensional coordinates of the corner pixels 86 of the pixels occupying the corner to the randomly sampled pixel data, The data is compressed and created as block data so that continuous access is possible, and is written in the main memory 14 again.

その後、相互情報量計算部72は、メイン・メモリ14からコーナ画素86の3次元座標を含むブロック・データを、ローカル・メモリ18の領域88にフェッチする。さらに、相互情報量計算部72は、対象イメージのバウンディング・ボックスに含まれる画素データについてもローカル・メモリ18の領域90に読込みこませ、画素データへのスパース・アクセスを生じさせずに、相互情報量の計算を実行させる。なお、ローカル・メモリ18には複数の隣接するブロックからなるブロック・グループをフェッチでき、ローカル・メモリのサイズ、線形変換パラメータの値に応じてブロック・グループ内のブロックの個数を動的に最適化する。   Thereafter, the mutual information calculation unit 72 fetches block data including the three-dimensional coordinates of the corner pixel 86 from the main memory 14 into the area 88 of the local memory 18. Further, the mutual information calculation unit 72 reads the pixel data included in the bounding box of the target image into the area 90 of the local memory 18, and does not cause sparse access to the pixel data. Let the quantity calculation be performed. Note that a block group consisting of a plurality of adjacent blocks can be fetched into the local memory 18, and the number of blocks in the block group is dynamically optimized according to the size of the local memory and the value of the linear transformation parameter. To do.

図8は、基準イメージのブロック84の2つから構成されるブロック・グループとバウンディング・ボックス92との線形変換関係を示した図である。基準イメージのブロック84は、複数の画素データを含んで構成されている。また、ブロック84のコーナ画素86の値は、ランダム・サンプリングにより抽出される画素データ96とは別にサンプリングされ、ブロック・データとして一旦メイン・メモリ14に書込まれる。コーナ画素86の3次元座標は、相互情報量計算部72により、線形変換パラメータの値が適用され、対象イメージで対応するべきコーナ画素94の3次元座標を与えて対象イメージ上での対応するバウンディング・ボックス92を定義する。また、図8には、ブロック84が2つ示されていて、それぞれのコーナ画素86からの、対象イメージへの線形写像が符号Pで示されている。バウンディング・ボックス92は、図8に示されるように、隣接した2つのブロックからなるブロック・グループの8つのコーナ画素86により規定される。なお、図8では、基準イメージ40に帰属されるブロック84の3D画像でのX、Y、Z方向は、図6に示したオリエンテーションとして設定されている。   FIG. 8 is a diagram showing a linear transformation relationship between a block group composed of two reference image blocks 84 and a bounding box 92. The reference image block 84 includes a plurality of pixel data. Further, the value of the corner pixel 86 in the block 84 is sampled separately from the pixel data 96 extracted by random sampling, and is once written in the main memory 14 as block data. The value of the linear transformation parameter is applied to the three-dimensional coordinates of the corner pixel 86 by the mutual information calculation unit 72, and the corresponding three-dimensional coordinates of the corner pixel 94 to be supported in the target image are given. Define box 92. In FIG. 8, two blocks 84 are shown, and a linear mapping from each corner pixel 86 to the target image is indicated by a symbol P. The bounding box 92 is defined by eight corner pixels 86 in a block group consisting of two adjacent blocks, as shown in FIG. In FIG. 8, the X, Y, and Z directions in the 3D image of the block 84 belonging to the reference image 40 are set as the orientation shown in FIG.

バウンディング・ボックス92は、下記の処理により定義される矩形体である。(1)基準イメージのコーナ画素86を線形変換Pして対象イメージの対応する8つのコーナ画素94を特定する。(2)その後、対象イメージのコーナ画素94の(Mx、My、Mz)の8つの値の中から各座標値の最大値、最小値を選択して、(Mxmax、Mymax、Mzmax)および(Mxmim、Mymin、Mzmin)を対角線として定義する。(3)そして当該対角線を有し、対象イメージを定義する座標軸Bx、By、Bzに平行な辺を定義することにより形成される矩形空間である。上述したように定義されたバウンディング・ボックス92は、Axis-aligned bounding boxとしても参照される。なお、バウンディング・ボックス92を、座標軸Bx、By、Bzに平行な辺を有する矩形体として生成するのは、バウンディング・ボックス92に含まれる画素のアドレスの計算を高速に行えるようにするためである。   The bounding box 92 is a rectangular body defined by the following processing. (1) The corner pixels 86 of the reference image are subjected to linear transformation P to specify the corresponding eight corner pixels 94 of the target image. (2) Thereafter, the maximum value and the minimum value of each coordinate value are selected from the eight values (Mx, My, Mz) of the corner pixel 94 of the target image, and (Mxmax, Mymax, Mzmax) and (Mxmim) are selected. , Mymin, Mzmin) are defined as diagonal lines. (3) A rectangular space formed by defining a side parallel to the coordinate axes Bx, By and Bz defining the target image and having the diagonal line. The bounding box 92 defined as described above is also referred to as an Axis-aligned bounding box. The reason why the bounding box 92 is generated as a rectangular body having sides parallel to the coordinate axes Bx, By, Bz is to enable the calculation of the addresses of the pixels included in the bounding box 92 at high speed. .

その後、さらに相互情報量計算部72は、バウンディング・ボックス92に含まれる画素データ98を識別し、識別された画素データをメイン・メモリ14からローカル・メモリ18にフェッチする。相互情報量計算部72は、以後、ブロックと、バウンディング・ボックスとについての画素データにつき、相互情報量の計算を、メイン・メモリ14へのスパース・アクセスを行うことなく、ローカル・メモリ18へのデータ・アクセスのみで実行する。また、複数のブロックからブロック・グループを形成する場合、メイン・メモリからのフェッチの効率を最大にし、かつブロック・グループのサンプル画素と参照イメージのバウンディング・ボックスがローカル・メモリに納まるようにブロック・グループのサイズを動的に決定できる。   Thereafter, the mutual information calculation unit 72 further identifies the pixel data 98 included in the bounding box 92 and fetches the identified pixel data from the main memory 14 to the local memory 18. Thereafter, the mutual information amount calculation unit 72 calculates the mutual information amount for the pixel data of the block and the bounding box without performing sparse access to the main memory 14. Run with data access only. When a block group is formed from a plurality of blocks, the block memory is designed so that the fetch efficiency from the main memory is maximized and the sample pixels of the block group and the bounding box of the reference image are stored in the local memory. The group size can be determined dynamically.

低解像度レジストレータ50、52による処理が終了した後、本実施形態では、第2レジストレータとして機能する高解像度レジストレータ54、56によるレジストレーションが実行される。図9は、高解像度レジストレータ54の機能ブロックの実施形態を示す。高解像度レジストレータ54は、高解像度レジストレータ56と同様の構成を使用しているので、高解像度レジストレータ54の構成について詳細に説明する。高解像度レジストレータ54は、ランダム・サンプル部100と、対象イメージ予測部102とを含んでいる。ランダム・サンプル部100は、指定された基準イメージの画素を、指定されるサンプリング割合となるようにサンプリングし、サンプリングしたデータにブロックを割当て、メイン・メモリ14に圧縮して連続アクセスを可能とするように書込みを実行する。   After the processing by the low-resolution registrars 50 and 52 is completed, in this embodiment, registration by the high-resolution registrars 54 and 56 that function as the second registrar is executed. FIG. 9 shows an embodiment of functional blocks of the high resolution registerer 54. Since the high resolution registration device 54 uses the same configuration as the high resolution registration device 56, the configuration of the high resolution registration device 54 will be described in detail. The high-resolution registrar 54 includes a random sample unit 100 and a target image prediction unit 102. The random sample unit 100 samples the pixels of the designated reference image so as to have the designated sampling rate, assigns blocks to the sampled data, and compresses them into the main memory 14 to enable continuous access. Write as follows.

対象イメージ予測部102は、ランダムにサンプリングされた画素データのブロックに対して線形変換パラメータの初期値を使用して、データ・アクセスが必要となる対象イメージの画素データを予測し、決定する。さらに、対象イメージ予測部102は、決定された対象イメージの画素データに対して基準イメージに対応するブロックを割当て、圧縮して連続アクセスを可能とするようにメイン・メモリ14に書込みを実行する。この段階では、対象イメージ予測部102は、メイン・メモリ14に格納された画素データに対してスパースなアクセスを実行する。   The target image prediction unit 102 uses the initial value of the linear transformation parameter for a randomly sampled block of pixel data to predict and determine pixel data of the target image that requires data access. Further, the target image predicting unit 102 assigns a block corresponding to the reference image to the pixel data of the determined target image, and executes writing to the main memory 14 so as to enable continuous access after compression. At this stage, the target image prediction unit 102 performs sparse access to the pixel data stored in the main memory 14.

高解像度レジストレータ54は、さらに相互情報量計算部104と最適化処理部106とを含んでいる。相互情報量計算部104は、ランダム・サンプル部100および対象イメージ予測部102がそれぞれ圧縮してメイン・メモリ14に書込んだ画素データを、ローカル・メモリ18にそれぞれフェッチする。その後、相互情報量計算部104は、相互情報量の計算を、ローカル・メモリ18にデータ・アクセスするだけで、指定されたブロックの相互情報量の計算を実行できる。この点で、本実施形態の相互情報量計算部104および最適化処理部106は、スパース・アクセスを行うことなく、効率的なデータ・アクセスを実行することができる。なお、相互情報量計算部104と最適化処理部106の構成については、低解像度レジストレータ50、52と同様に構成する。   The high resolution registrar 54 further includes a mutual information amount calculation unit 104 and an optimization processing unit 106. The mutual information calculation unit 104 fetches the pixel data compressed and written in the main memory 14 by the random sample unit 100 and the target image prediction unit 102, respectively, into the local memory 18. Thereafter, the mutual information amount calculation unit 104 can execute the mutual information amount calculation of the designated block only by data access to the local memory 18. In this regard, the mutual information amount calculation unit 104 and the optimization processing unit 106 of the present embodiment can perform efficient data access without performing sparse access. Note that the mutual information calculation unit 104 and the optimization processing unit 106 are configured in the same manner as the low-resolution registrars 50 and 52.

また、相互情報量計算部104は、線形変換パラメータについて予めフェッチしていない画素データの計算が必要であると判断した場合、予測誤差が小さい場合には、当該画素データをメイン・メモリにアクセスして改めてフェッチするのではなく、対象データの近傍の画素データから外挿してその値を計算する。高解像度レジストレータでは、すでに低解像度レジストレータで精度が高められた線形変換パラメータを使用するので、相互情報量に重大な影響を与える誤差を生じさせることはない。その後、相互情報量計算処理部104は、所定のブロックの処理を終了すると、次のブロックの処理を実行し、ブロックごとに相互情報量を計算する。   In addition, when the mutual information calculation unit 104 determines that it is necessary to calculate pixel data that has not been fetched in advance for the linear transformation parameter, when the prediction error is small, the mutual information calculation unit 104 accesses the pixel data to the main memory. Instead of fetching again, extrapolation is performed from pixel data in the vicinity of the target data, and the value is calculated. The high-resolution registrator uses a linear transformation parameter that has already been improved in accuracy by the low-resolution registrator, and thus does not cause an error that significantly affects the mutual information amount. After that, when the processing of the predetermined information block is completed, the mutual information amount calculation processing unit 104 executes the processing of the next block and calculates the mutual information amount for each block.

最適化処理部106は、線形変換パラメータを使用して相互情報量計算部104が計算した結果に対して、線形変換パラメータを修正して、修正した線形変換パラメータを相互情報量計算部104に戻し、再度、相互情報量の計算を実行させる。最適化処理部106は、ブロックごとに計算される相互情報量を総和して、相互情報量の総和が最大化するように、線形変換パラメータ108を決定し、出力させる。   The optimization processing unit 106 corrects the linear conversion parameter for the result calculated by the mutual information calculation unit 104 using the linear conversion parameter, and returns the corrected linear conversion parameter to the mutual information calculation unit 104. Then, the mutual information is calculated again. The optimization processing unit 106 sums up the mutual information amount calculated for each block, and determines and outputs the linear transformation parameter 108 so that the sum of the mutual information amount is maximized.

その後、さらに次ステージの高解像度レジストレータがある場合には、決定した線形変換パラメータを次ステージの高解像度レジストレータの線形変換パラメータの初期値として設定し、処理を終了する。   Thereafter, if there is a further high-resolution registrar of the next stage, the determined linear conversion parameter is set as an initial value of the linear conversion parameter of the high-resolution registrar of the next stage, and the process ends.

図10は、高解像度レジストレータ54が実行する処理の実施形態のフローチャートを示す。図10に示す処理は、ステップS300から開始し、ステップS301で基準イメージの画素データをランダム・サンプリングする。ステップS302では、サンプリングした画素データにブロックを割当て、圧縮してメイン・メモリ14に書込む。ステップS303では、線形変換パラメータの初期値からアクセスする必要のある対象イメージの画素データを取得して圧縮し、基準イメージのブロックに対応するようにブロック化してメイン・メモリ14に書込む。   FIG. 10 shows a flowchart of an embodiment of a process performed by the high resolution registerer 54. The process shown in FIG. 10 starts from step S300, and pixel data of the reference image is randomly sampled in step S301. In step S302, a block is allocated to the sampled pixel data, compressed, and written to the main memory 14. In step S303, the pixel data of the target image that needs to be accessed from the initial value of the linear transformation parameter is acquired and compressed, and the data is formed into a block corresponding to the block of the reference image and written into the main memory.

ステップS304では、指定した基準イメージのブロックと対応する対象イメージのブロックとを、メイン・メモリ14からローカル・メモリにそれぞれフェッチする。続いてステップS305では、対象イメージについて、新たな画素データが必要であるか否かを判断する。ステップS305の判断で、新たな画素データが必要であると判断された場合(yes)、ステップS306で予測誤差が設定した誤差規制値よりも小さいか否かを判断する。ステップS306の判断の結果、予測誤差が小さいと判断された場合(yes)、処理をステップS308に分岐させる。ステップS308では、すでにフェッチしてある対象イメージの画素データを外挿して画素データの有するべき位置データおよび深さデータなどの近似値を計算し、計算に使用すべき画素データを予測して、ポイントAから図12に示す処理に移す。また、ステップS306の判断で予測誤差が小さくないと判断された場合(no)、処理をステップS307に分岐させ対象イメージの該当するデータをメイン・メモリ14からローカル・メモリ18にフェッチして、ポイントAから図12に示す処理に移し、精度を優先させる処理を行う。   In step S304, the designated reference image block and the corresponding target image block are fetched from the main memory 14 to the local memory, respectively. Subsequently, in step S305, it is determined whether or not new pixel data is necessary for the target image. If it is determined in step S305 that new pixel data is necessary (yes), it is determined whether or not the prediction error is smaller than the set error regulation value in step S306. As a result of the determination in step S306, when it is determined that the prediction error is small (yes), the process is branched to step S308. In step S308, the pixel data of the target image that has already been fetched is extrapolated to calculate approximate values such as position data and depth data that the pixel data should have, the pixel data to be used in the calculation is predicted, The process moves from A to the process shown in FIG. If it is determined in step S306 that the prediction error is not small (no), the process branches to step S307, and the corresponding data of the target image is fetched from the main memory 14 to the local memory 18 to obtain a point. From A, the process moves to the process shown in FIG.

図11は、予測誤差を画素単位で判断する場合の他の実施形態を示す。図11に示すように、基準イメージ40のブロック84の画素データ96が、対象イメージ42の画素データ98を一つのコーナとする2×2×2画素の領域内に線形写像されると予測されるとする。画素データ96に対してその時点での線形変換パラメータを適用して計算される線形写像Pが予測された2×2×2画素領域に充分近い場合(ニアミス)に、投機的予測値を使用して図10のステップS308の判断を実行させる。   FIG. 11 shows another embodiment when the prediction error is determined in units of pixels. As shown in FIG. 11, the pixel data 96 of the block 84 of the reference image 40 is predicted to be linearly mapped into a 2 × 2 × 2 pixel area having the pixel data 98 of the target image 42 as one corner. And When the linear mapping P calculated by applying the current linear transformation parameter to the pixel data 96 is sufficiently close to the predicted 2 × 2 × 2 pixel region (near miss), a speculative prediction value is used. Thus, the determination in step S308 in FIG. 10 is executed.

一方、線形写像Pが2×2×2画素領域に充分近くない場合(ファーミス)、メイン・メモリ14から新たに画素データをフェッチするステップS307の処理を実行させる。本実施形態では、処理対象の画素単位でニアミス/ヒット/ファーミスの判断を行うことにより、より局所的な予測の一致性をフェッチに反映させることができる。一方、ステップS305で、新たな画素データが必要ないと判断された場合(no)、処理をポイントAから図12に示す処理に分岐させる。   On the other hand, if the linear map P is not sufficiently close to the 2 × 2 × 2 pixel region (far miss), the process of step S307 for newly fetching pixel data from the main memory 14 is executed. In the present embodiment, by determining near miss / hit / far miss for each pixel to be processed, more local prediction consistency can be reflected in the fetch. On the other hand, if it is determined in step S305 that new pixel data is not required (no), the process branches from point A to the process shown in FIG.

図12には、図10の処理のポイントA以降の処理を示したフローチャートである。高解像度レジストレータは、ポイントAから図12の処理に入り、ステップS309で画素データを使用して相互情報量の計算を実行する。その後、ステップS310でブロック内のすべてのサンプルについて計算終了したか否かを判断する。ステップS310の判断で、ブロック内のすべてのサンプルについて計算が終了していないと判断された場合(no)、処理をポイントBから図10のステップS305に処理を分岐させ、次のサンプルについて新たな画素データが必要か否かを判断させる。   FIG. 12 is a flowchart showing processing after point A of the processing of FIG. The high-resolution registrar enters the process of FIG. 12 from point A, and calculates the mutual information amount using the pixel data in step S309. Thereafter, in step S310, it is determined whether or not the calculation has been completed for all the samples in the block. If it is determined in step S310 that calculation has not been completed for all samples in the block (no), the process branches from point B to step S305 in FIG. It is determined whether or not pixel data is necessary.

また、ステップS310の判断で、ブロック内のすべてのサンプルについて計算が終了したと判断した場合(yes)処理をステップS311に分岐させる。ステップS311では、すべてのブロックについて計算終了したか否かを判断し、すべてのブロックについて計算が終了したと判断された場合(yes)、ステップS312で相互情報量を最大化させるように線形変換パラメータを決定する。また、ステップS311の判断で、まだ計算するべきブロックが残されている場合(no)、処理をポイントCからステップS304へと分岐させて、処理を反復させる。   If it is determined in step S310 that calculation has been completed for all samples in the block (yes), the process branches to step S311. In step S311, it is determined whether or not calculation has been completed for all blocks. If it is determined that calculation has been completed for all blocks (yes), linear transformation parameters are set so as to maximize the mutual information in step S312. To decide. If it is determined in step S311 that there are still blocks to be calculated (no), the process branches from point C to step S304, and the process is repeated.

ステップS313では、相互情報量が最大化したかまたは反復回数が設定値に達したかを判断する。ステップS313の判断で相互情報量が最大化したかまたは反復回数が設定値に達したと判断された場合(yes)、処理をステップS314に分岐させて処理を終了させる。また、ステップS313の判断で、相互情報量が最大化したかまたは反復回数が設定値に達していないと判断された場合(no)、処理をポイントCからステップS304に分岐させて、相互情報量が最大化するか、反復カウンタが所定の反復回数の設定値に達するまで継続させる。   In step S313, it is determined whether the mutual information amount has been maximized or the number of iterations has reached a set value. If it is determined in step S313 that the mutual information amount has been maximized or the number of iterations has reached the set value (yes), the process is branched to step S314 and the process is terminated. If it is determined in step S313 that the mutual information amount has been maximized or the number of iterations has not reached the set value (no), the process branches from point C to step S304, and the mutual information amount is determined. Or until the iteration counter reaches a set number of iterations.

以上の構成を使用して本発明のレジストレータと、従来処理を使用するレジストレータとの性能比較を、スプレッドシードを使用したシミュレータで検討した。予測性能は、CELL BE Processor(3.2GHz、メイン・メモリ=1GB、各SPEのローカル・メモリ=256KB)を使用し、インターナショナル・ビジネス・マシーンズ・コーポレーション社製のブレードセンタ(登録商標)QS20に実装したものとし、8個のSPEを使用するものとし、スプレッドシートを使用して1画素当たりに要する計算時間をシミュレーションした。   Using the above configuration, the performance comparison between the registrator of the present invention and the registrator using the conventional process was examined with a simulator using a spread seed. Predictive performance is implemented in Blade Center (registered trademark) QS20 manufactured by International Business Machines Corporation using CELL BE Processor (3.2 GHz, main memory = 1 GB, local memory of each SPE = 256 KB). It was assumed that 8 SPEs were used, and the calculation time required per pixel was simulated using a spreadsheet.

また、比較のため、サンプリング比を1/100とした従来のシーケンシャル逐次最適化法(非特許文献1)を使用し、相互情報量計算に対し、ローカル・メモリにフェッチできるブロック単位で処理データセットを作成せず、メイン・メモリへのスパース・アクセスを行ないながら計算を実行する従来の逐次最適化法についてもシミュレーションした。その結果を図13および図14に示す。対象とした3D画像は、1スライスあたり、256×256画素とした。   For comparison, a conventional sequential sequential optimization method (Non-Patent Document 1) with a sampling ratio of 1/100 is used, and a processing data set in units of blocks that can be fetched into a local memory for mutual information calculation. We also simulated a conventional sequential optimization method in which calculations were performed while sparse access to the main memory was performed. The results are shown in FIG. 13 and FIG. The target 3D image was 256 × 256 pixels per slice.

シミュレーションは、サンプリング割合64/100、16/100、4/100、1/100に対する低解像度レジストレータについてのシミュレーション((a)〜(d))、高解像度レジストレータについてのシミュレーション(e)とした。また、比較例(f)については、従来手法(非特許文献1)を使用し、シミュレーション(f)とした。シミュレーションは、各レジストレータが1ステージの処理を実行するものとして1画素当たりの相互情報量の相互情報量計算に要するクロック時間をシミュレーションした。   The simulations are simulations ((a) to (d)) for low-resolution registrars for sampling ratios 64/100, 16/100, 4/100, and 1/100, and simulations (e) for high-resolution registrars. . Moreover, about the comparative example (f), the conventional method (nonpatent literature 1) was used and it was set as simulation (f). In the simulation, the clock time required for the mutual information calculation of the mutual information amount per pixel is simulated assuming that each registrator executes one stage of processing.

図13に示されるように、ブロック・サンプリングを行う低解像度レジストレータでは、サンプリング割合が高くなればなるほど(解像度が低くなることに対応する)実行時間が短縮され、サンプリング割合が低くなればなるほど(解像度が高くなることに対応する)、実行時間が増加した。   As shown in FIG. 13, in a low-resolution registrator that performs block sampling, the higher the sampling rate (corresponding to the lower resolution), the shorter the execution time, and the lower the sampling rate ( Corresponding to higher resolution), execution time increased.

この理由は、サンプリング割合(計算に使用するデータのうちサンプリングされる割合)が低い場合には不要な画素データを、ブロックとしてローカル・メモリ18にフェッチすることになり、ブロック・サンプリングの効果は小さくなるためである。このため、低解像度ではブロック・サンプリング法を使用する第1レジストレータを使用し、高解像度では、第2レジストレータを使用して精度の高められた線形変換パラメータを使用した投機的予測を併用するランダム・ダンプリングを使用して実装することが好ましいことが示された。   The reason for this is that when the sampling rate (the rate at which the data used for calculation is sampled) is low, unnecessary pixel data is fetched to the local memory 18 as a block, and the effect of block sampling is small. It is to become. For this reason, the first registrar using the block sampling method is used at the low resolution, and the speculative prediction using the linear transformation parameter with increased accuracy is used at the high resolution together with the second registrar. It has been shown that it is preferable to implement using random dumpling.

また、図13に示されるように、本発明の各レジストレータは、相互情報量の計算処理時間が従来手法に比較にして充分に計算速度が向上されていることが示されている。   Further, as shown in FIG. 13, each registrar of the present invention shows that the calculation time of the mutual information amount is sufficiently improved as compared with the conventional method.

図14には、従来の逐次最適化法を使用するレジストレータの総実行時間と本発明によるレジストレータの総実行時間とを、それぞれの計算時間の逆数を比として本発明の効率を比較した。シミュレーションによる比較の結果、本発明によりメイン・メモリへのスパース・アクセスを改善することに対応して、従来法に比較して、本発明の方法を使用することで約3倍程度、計算時間が短縮されることが示された。   FIG. 14 compares the efficiency of the present invention by comparing the total execution time of the registrator using the conventional sequential optimization method and the total execution time of the registrator according to the present invention by using the reciprocal of the respective calculation times as a ratio. As a result of the comparison by simulation, the calculation time is about three times by using the method of the present invention compared to the conventional method, corresponding to the improvement of the sparse access to the main memory by the present invention. It was shown to be shortened.

また、本発明のブロック・サンプリングの代わりに、ブロック分割することなく乱数列を発生させ、ソートされた乱数列を用いて全画素データについてサンプリングし、ブロックごとに処理することでも、同様の効果を得ることも可能である。この実施形態の場合、ソフトウェア資源として、ソート処理を実行するモジュールの追加が必要となる。また、当該実施形態で、画像処理を並列処理を使用して実行させる場合、ソート処理を追加したことにともない、プロセス間通信が必要になる。本発明の好ましい実施形態では、プロセス間通信も必要とされず、より並列処理性を向上できる。また、前述のブロック・グループを構成し、そのサイズを動的に最適化する場合と同等の効果を得るためには、線形変換パラメータを計算しなおすたびにソート処理が必要であり、そのための実行時間のオーバーヘッドが発生する。   Further, instead of the block sampling of the present invention, the same effect can be obtained by generating a random number sequence without dividing the block, sampling all pixel data using the sorted random number sequence, and processing each block. It is also possible to obtain. In the case of this embodiment, it is necessary to add a module that executes sort processing as a software resource. Further, in the present embodiment, when image processing is executed using parallel processing, inter-process communication is necessary with the addition of sort processing. In a preferred embodiment of the present invention, inter-process communication is not required, and parallel processing can be further improved. In addition, in order to obtain the same effect as when the block group described above is configured and its size is dynamically optimized, a sort process is required every time the linear transformation parameter is recalculated. There is a time overhead.

また、本発明の上記機能は、アセンブラ、C、C++などのレガシープログラミング言語やオブジェクト指向ブログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布することができる。   The above-described functions of the present invention can be realized by a device-executable program written in a legacy programming language such as assembler, C, C ++, or an object-oriented programming language, and is stored in a device-readable recording medium and distributed. be able to.

これまで本発明を図面に示した実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。   Although the present invention has been described with the embodiments shown in the drawings, the present invention is not limited to the embodiments shown in the drawings, and those skilled in the art have conceived other embodiments, additions, modifications, deletions, and the like. It can be changed within the range that can be performed, and any embodiment is included in the scope of the present invention as long as the operation and effect of the present invention are exhibited.

データ処理装置のハードウェア構成の実施形態を示した図。The figure which showed embodiment of the hardware constitutions of a data processor. データ処理装置の機能ブロックの実施形態を示した図。The figure which showed embodiment of the functional block of a data processor. データ処理装置が実行する処理の実施形態のフローチャート。The flowchart of embodiment of the process which a data processor performs. 低解像度レジストレータの機能ブロックの実施形態を示した図。The figure which showed embodiment of the functional block of a low-resolution registrar. 低解像度レジストレータの処理の実施形態のフローチャート。10 is a flowchart of an embodiment of a process of a low resolution registrar. 3次元画像のデータ構造の実施形態を示した図。The figure which showed embodiment of the data structure of a three-dimensional image. ローカル・メモリでの画素データのマッピングの実施形態を示した図。The figure which showed embodiment of the mapping of the pixel data in a local memory. ブロック内の画素データをバウンディング・ボックスに対応づける線形変換の実施形態を示した図。The figure which showed embodiment of the linear transformation which matches the pixel data in a block with a bounding box. 高解像度レジストレータの機能ブロックの実施形態を示した図。The figure which showed embodiment of the functional block of a high resolution registration device. 高解像度レジストレータの処理の実施形態のフローチャート。6 is a flowchart of an embodiment of processing of a high-resolution registrar. 予測誤差を画素単位で判断する場合の他の実施形態を示した図。The figure which showed other embodiment in the case of determining a prediction error per pixel. 図10の処理のポイントA以降の処理のフローチャート。11 is a flowchart of processing after point A of the processing in FIG. 本発明のレジストレータと、従来処理を使用するレジストレータとの性能比較結果を示した図。The figure which showed the performance comparison result of the registrar of this invention and the registrar which uses a conventional process. 本発明のレジストレータと、従来処理を使用するレジストレータとの性能比較結果を示した図。The figure which showed the performance comparison result of the registrar of this invention and the registrar which uses a conventional process.

符号の説明Explanation of symbols

10…データ処理装置、12…中央処理装置(CPU)、14…メイン・メモリ、16…ユニット・プロセッサ、18…ローカル・メモリ、20…DMA、22…システム・バス、24…グラフィックス・ドライバ、26…ネットワーク・デバイス(NIC)、28…ディスプレイ装置、30…I/Oバス・ブリッジ、32…I/Oバス、34…記憶装置、36…入出力装置、40…基準イメージ、42…対象イメージ、44〜48…ダウン・サンプル処理部、50〜56…レジストレータ、58〜62…ダウン・サンプル処理部、64…線形変換パラメータ、70…ブロック・サンプル部、72…相互情報量計算部、74…最適化処理部、76…線形変換パラメータ、80…3次元画像、82…スライス、84…ブロック、86…コーナ画素、88…領域、90…領域、92…バウンディング・ボックス、94…コーナ画素、96…画素データ、98…画素データ、100…ランダム・サンプル部、102…対象イメージ予測部、104…相互情報量計算部、106…最適化処理部、108…線形変換パラメータ、P…線形写像   DESCRIPTION OF SYMBOLS 10 ... Data processing unit, 12 ... Central processing unit (CPU), 14 ... Main memory, 16 ... Unit processor, 18 ... Local memory, 20 ... DMA, 22 ... System bus, 24 ... Graphics driver, 26 ... Network device (NIC), 28 ... Display device, 30 ... I / O bus bridge, 32 ... I / O bus, 34 ... Storage device, 36 ... I / O device, 40 ... Reference image, 42 ... Target image , 44 to 48 ... down sample processing unit, 50 to 56 ... registrar, 58 to 62 ... down sample processing unit, 64 ... linear transformation parameter, 70 ... block sample unit, 72 ... mutual information amount calculation unit, 74 ... optimization processing unit, 76 ... linear transformation parameter, 80 ... three-dimensional image, 82 ... slice, 84 ... block, 86 ... corner image , 88 ... area, 90 ... area, 92 ... bounding box, 94 ... corner pixel, 96 ... pixel data, 98 ... pixel data, 100 ... random sample part, 102 ... target image prediction part, 104 ... mutual information amount calculation , 106: Optimization processing unit, 108: Linear transformation parameter, P: Linear mapping

Claims (12)

3次元画像の基準イメージと3次元画像の対象イメージとの間の相関を示す相互情報量を使用した位置合わせを行うデータ処理装置であって、前記データ処理装置は、
前記基準イメージの解像度を逐次的に低解像度化するダウン・サンプル手段と、
前記ダウン・サンプル手段により低解像度化された基準イメージと、前記低解像度化された基準イメージと同じく低解像度化された対象イメージとの間のレジストレーションを行ない、レジストレーションのための線形変換パラメータを計算し、前記線形変換パラメータを出力するため、前記低解像度化された基準イメージにブロックを割当て、前記ブロックに含まれる画素データ全部をローカル・メモリにフェッチし、前記画素データをランダムにサンプリングし、前記ブロックのコーナを占めるコーナ画素の3次元座標を追加してブロック・データを作成してメイン・メモリに書込むブロック・サンプル手段を含む第1レジストレータ手段と、
前記第1レジストレータ手段が出力した前記線形変換パラメータを初期値として使用し、それぞれ1ステージ高い解像度を有する前記低解像度化された基準イメージおよび前記低解像度化された対象イメージのレジストレーションを行って線形変換パラメータを計算し、前記第1のレジストレータ手段が出力した線形変換パラメータを更新するため、前記低解像度化された基準イメージの画素データをランダムにサンプリングし、ブロックを割当て前記メイン・メモリに書込むランダム・サンプル手段を含む第2レジストレータ手段と、
前記低解像度化された基準イメージのサンプリング割合が、予め設定された設定値以上の場合には、前記第1レジストレータ手段を使用し、前記サンプリング割合が前記設定値に達しない場合には、前記第2レジストレータ手段を使用してレジストレーションを実行する手段と
を備え、前記第1レジストレータ手段および前記第2レジストレータ手段は、前記相互情報量の計算に使用する前記基準イメージの画素データおよび前記対象イメージの画素データのセットをブロック単位で連続アクセスできるようにメイン・メモリ上に格納し、ローカル・メモリにブロック単位でフェッチして前記相互情報量の計算を実行する
データ処理装置。
A data processing device that performs alignment using mutual information indicating correlation between a reference image of a three-dimensional image and a target image of the three-dimensional image, the data processing device comprising:
Down-sample means for sequentially reducing the resolution of the reference image;
Registration between the reference image reduced in resolution by the down-sample means and the target image reduced in resolution in the same manner as the reference image reduced in resolution, and linear conversion parameters for registration are set. To calculate and output the linear transformation parameters, assign a block to the reduced resolution reference image, fetch all pixel data contained in the block into a local memory, sample the pixel data randomly, First registering means including block sample means for adding three-dimensional coordinates of corner pixels occupying the corners of the block to create block data and writing to main memory ;
Using the linear transformation parameter output from the first registration unit as an initial value, registering the reduced resolution reference image and the reduced resolution target image each having a higher resolution by one stage. In order to calculate a linear conversion parameter and update the linear conversion parameter output from the first registr means , the pixel data of the reduced-resolution reference image is randomly sampled, and a block is allocated to the main memory. Second registrar means including random sample means for writing ;
When the sampling rate of the low-resolution reference image is equal to or higher than a preset setting value, the first registration unit is used, and when the sampling rate does not reach the setting value, Means for performing registration using the second registrar means ;
The first and second registrator means can continuously access the pixel data of the reference image and the pixel data of the target image used for calculation of the mutual information in block units. The data processing device stores the data in the main memory, fetches the data into the local memory in units of blocks, and calculates the mutual information.
前記第1レジストレータ手段は、
前記ブロック・サンプル手段が作成した前記ブロック・データを前記ローカル・メモリにフェッチし、前記ブロック・データを使用し、前記ブロック・データの前記コーナ画素3次元座標に対して前記線形変換パラメータを適用して前記対象イメージのバウンディング・ボックスを求めるバウンディング・ボックス取得手段と、
前記バウンディング・ボックスに含まれる画素データを前記ローカル・メモリにフェッチし、前記ローカル・メモリ上のブロック・データおよびバウンディング・ボックスに含まれる画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量を計算する相互情報量計算手段と、
前記相互情報量計算手段の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを計算する最適化処理手段と
を含む請求項1に記載のデータ処理装置。
The first registrar means includes:
The block data generated by the block sample means is fetched into the local memory, the block data is used, and the linear transformation parameter is applied to the corner pixel three-dimensional coordinates of the block data. A bounding box obtaining means for obtaining a bounding box of the target image;
The pixel data included in the bounding box is fetched into the local memory, and the Parzen histogram is calculated using the block data on the local memory and the pixel data included in the bounding box and the linear transformation parameter. A mutual information calculating means for calculating a mutual information given by calculating a Parzen probability or frequency in the Parzen histogram;
The data processing apparatus according to claim 1, further comprising: an optimization processing unit that receives a mutual information amount that is a calculation result of the mutual information amount calculation unit and calculates the linear transformation parameter that maximizes the mutual information amount.
前記第2レジストレータ手段は、
前記ランダムにサンプリングされた前記画素データに対して前記線形変換パラメータの初期値を適用し、アクセスする前記対象イメージの画素データを決定し対応するブロックを割当てて前記メイン・メモリに書込む対象イメージ予測手段と、
前記メイン・メモリから前記ローカル・メモリへと、前記基準イメージおよび前記対象イメージの前記各画素データをフェッチし、前記基準イメージおよび前記対象イメージの前記各画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量の計算を実行する、相互情報量計算手段と、
前記相互情報量計算手段の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを計算する最適化処理手段と
を含む、請求項1に記載のデータ処理装置。
The second registrar means includes
Applying an initial value of the linear transformation parameter to the randomly sampled pixel data, determining pixel data of the target image to be accessed, assigning a corresponding block, and writing to the main memory Means,
Fetching each pixel data of the reference image and the target image from the main memory to the local memory, and using the pixel data of the reference image and the target image and the linear transformation parameter, A mutual information calculating means for calculating a mutual information given by calculating a Parzen histogram and calculating a Parzen probability or frequency in the Parzen histogram;
The data processing apparatus according to claim 1, further comprising: an optimization processing unit that receives a mutual information amount that is a calculation result of the mutual information amount calculating unit and calculates the linear transformation parameter that maximizes the mutual information amount.
前記バウンディング・ボックス取得手段は、空間的に隣接する前記ブロック・データを結合してブロック・グループを作成し、前記ブロック・グループに対応するバウンディング・ボックスを作成し、
前記ブロック・グループと前記バウンディング・ボックスがローカル・メモリに収まりかつピクセル数が最大になるように前記ブロック・グループ内のブロック数を決定する手段を含む、請求項2に記載のデータ処理装置。
The bounding box acquisition means creates a block group by combining the spatially adjacent block data, and creates a bounding box corresponding to the block group,
3. A data processing apparatus according to claim 2, comprising means for determining the number of blocks in the block group such that the block group and the bounding box fit in a local memory and the number of pixels is maximized.
3次元画像の基準イメージと3次元画像の対象イメージとの間の相関を示す相互情報量を使用して位置合わせをデータ処理装置に実行させるデータ処理方法であって、前記データ処理方法は、
ダウン・サンプル手段により前記基準イメージの解像度を逐次的に低解像度化するステップと、
前記ダウン・サンプル手段により前記低解像度化された基準イメージと、前記低解像度化された基準イメージと同じく低解像度化された対象イメージとの間のレジストレーションを行ない、レジストレーションのための線形変換パラメータを計算し、前記線形変換パラメータを出力するステップと、
前記低解像度化された基準イメージのサンプリング割合が、予め設定された設定値以下か否かを判断するステップと、
前記サンプリング割合が前記設定値以上の場合には前記低解像度化された基準イメージにブロックを割当て、前記ブロックに含まれる画素データ全部をローカル・メモリにフェッチし、前記画素データをランダムにサンプリングし、前記ブロックのコーナを占めるコーナ画素の3次元座標を追加してブロック・データを作成してメイン・メモリに書込むステップを実行する第1レジストレータ手段を使用し、前記サンプリング割合が前記設定値に達しない場合には、前記低解像度化された基準イメージの画素データをランダムにサンプリングし、ブロックを割当て前記メイン・メモリに書込むステップを実行する第2レジストレータ手段を使用して、前記相互情報量の計算に使用する前記基準イメージの画素データおよび前記対象イメージの画素データのセットをブロック単位で連続アクセスできるようにメイン・メモリに格納し、ローカル・メモリにブロック単位でフェッチして、前記低解像度化された基準イメージと同じく低解像度化された対象イメージとの間のレジストレーションを実行するステップと
を前記データ処理装置に実行させ、
前記第2レジストレータ手段は、前記第1レジストレータ手段が出力した前記線形変換パラメータを初期値として使用し前記低解像度化された基準イメージおよび前記低解像度化された対象イメージのレジストレーションを行って線形変換パラメータを計算し、前記第1のレジストレータ手段が出力した線形変換パラメータを更新する、データ処理方法。
A data processing method for causing a data processing device to perform alignment using mutual information indicating a correlation between a reference image of a 3D image and a target image of the 3D image, the data processing method comprising:
Sequentially reducing the resolution of the reference image by down-sampling means;
A linear conversion parameter for registration is performed between the reference image reduced in resolution by the down-sample means and the target image reduced in resolution in the same manner as the reference image reduced in resolution. Calculating the linear transformation parameters; and
Determining whether the sampling rate of the low-resolution reference image is equal to or less than a preset setting value;
If the sampling rate is greater than or equal to the set value , assign a block to the reduced-resolution reference image, fetch all of the pixel data contained in the block to a local memory, sample the pixel data randomly, First registering means for executing a step of creating block data by adding the three-dimensional coordinates of corner pixels occupying the corners of the block and writing them to the main memory , wherein the sampling rate is set to the set value If not, use the second registrar means for randomly sampling pixel data of the reduced resolution reference image, allocating blocks and writing to the main memory, using the mutual information Pixel data of the reference image and the target image The raw data set is stored in the main memory so that it can be continuously accessed in units of blocks, fetched in units of blocks into the local memory, and the target image that has been reduced in resolution is the same as the reference image that has been reduced in resolution. Performing the registration between the data processing device, and
The second registrar means performs registration of the reduced resolution reference image and the reduced resolution target image using the linear conversion parameter output from the first registrar means as an initial value. A data processing method for calculating a linear transformation parameter and updating the linear transformation parameter output by the first registrant means.
前記第1レジストレータ手段は、
前記ブロック・データを前記ローカル・メモリにフェッチし、前記ブロック・データを使用し、前記ブロック・データの前記コーナ画素3次元座標に対して前記線形変換パラメータを適用して前記対象イメージのバウンディング・ボックスを定義するステップと、
前記バウンディング・ボックスに含まれる画素データを前記ローカル・メモリにフェッチし、前記ローカル・メモリ上のブロック・データおよびバウンディング・ボックスに含まれる画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量を計算するステップと、
前記相互情報量の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを決定するステップと
を実行する、請求項5に記載のデータ処理方法。
The first registrar means includes:
Fetching the block data into the local memory, using the block data, and applying the linear transformation parameters to the corner pixel 3D coordinates of the block data to bound the box of the target image A step of defining
The pixel data included in the bounding box is fetched into the local memory, and the Parzen histogram is calculated using the block data on the local memory and the pixel data included in the bounding box and the linear transformation parameter. Calculating the mutual information given by calculating the Parzen probability or frequency in the Parzen histogram;
The data processing method according to claim 5, further comprising: receiving a mutual information amount that is a calculation result of the mutual information amount, and determining the linear transformation parameter that maximizes the mutual information amount.
前記第2レジストレータ手段は、
前記ランダムにサンプリングされた前記画素データに対して前記線形変換パラメータの初期値を適用し、アクセスする前記対象イメージの画素データを決定し対応するブロックを割当てて前記メイン・メモリに予測して割当てるステップと、
前記メイン・メモリから前記ローカル・メモリへと、前記基準イメージおよび前記対象イメージの前記各画素データをフェッチし、前記基準イメージおよび前記対象イメージの前記各画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量の計算を実行するステップと、
前記相互情報量の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを決定するステップと
を実行する、請求項5に記載のデータ処理方法。
The second registrar means includes
Applying an initial value of the linear transformation parameter to the randomly sampled pixel data, determining pixel data of the target image to be accessed, assigning a corresponding block, and predicting and assigning to the main memory When,
Fetching each pixel data of the reference image and the target image from the main memory to the local memory, and using the pixel data of the reference image and the target image and the linear transformation parameter, Performing a calculation of mutual information given by calculating a Parzen histogram and calculating a Parzen probability or frequency in said Parzen histogram;
The data processing method according to claim 5, further comprising: receiving a mutual information amount that is a calculation result of the mutual information amount, and determining the linear transformation parameter that maximizes the mutual information amount.
前記バウンディング・ボックスを定義するステップは、空間的に隣接する前記ブロック・データを結合してブロック・グループを作成し、前記ブロック・グループに対応するバウンディング・ボックスを形成するステップを含み、
前記ブロック・グループと前記バウンディング・ボックスがローカル・メモリに収まりかつピクセル数が最大になるように前記ブロック・グループ内のブロック数を決定するステップを含む、請求項6に記載のデータ処理方法。
Defining the bounding box comprises combining the spatially adjacent block data to create a block group and forming a bounding box corresponding to the block group;
7. The data processing method according to claim 6, further comprising the step of determining the number of blocks in the block group such that the block group and the bounding box fit in a local memory and the number of pixels is maximized.
3次元画像の基準イメージと3次元画像の対象イメージとの間の相関を示す相互情報量を使用して位置合わせをデータ処理装置に実行させるデータ処理方法を実行させるコンピュータ実行可能なプログラムであって、前記プログラムは、
ダウン・サンプル手段により前記基準イメージの解像度を逐次的に低解像度化するステップと、
前記ダウン・サンプル手段により前記低解像度化された基準イメージと、前記低解像度化された基準イメージと同じく低解像度化された対象イメージとの間のレジストレーションを行ない、レジストレーションのための線形変換パラメータを計算し、前記線形変換パラメータを出力するステップと、
前記低解像度化された基準イメージのサンプリング割合が、予め設定された設定値以下か否かを判断するステップと、
前記サンプリング割合が設定値以上の場合には前記低解像度化された基準イメージにブロックを割当て、前記ブロックに含まれる画素データ全部をローカル・メモリにフェッチし、前記画素データをランダムにサンプリングし、前記ブロックのコーナを占めるコーナ画素の3次元座標を追加してブロック・データを作成してメイン・メモリに書込むステップを実行する第1レジストレータ手段を使用し、前記サンプリング割合が前記設定値に達しない場合には、前記低解像度化された基準イメージの画素データをランダムにサンプリングし、ブロックを割当て前記メイン・メモリに書込むステップを実行する第2レジストレータ手段を使用して、前記相互情報量の計算に使用する前記基準イメージの画素データおよび前記対象イメージの画素データのセットをブロック単位で連続アクセスできるようにメイン・メモリに格納し、ローカル・メモリにブロック単位でフェッチして、前記低解像度化された基準イメージと同じく低解像度化された対象イメージとの間のレジストレーションを実行するステップと
を前記データ処理装置に実行させ、
前記第2レジストレータ手段は、前記第1レジストレータ手段が出力した前記線形変換パラメータを初期値として使用し前記低解像度化された基準イメージおよび前記低解像度化された対象イメージのレジストレーションを行って線形変換パラメータを計算し、前記第1のレジストレータ手段が出力した線形変換パラメータを更新する、コンピュータ実行可能なプログラム。
A computer-executable program for executing a data processing method for causing a data processing apparatus to perform alignment using mutual information indicating a correlation between a reference image of a 3D image and a target image of the 3D image. The program is
Sequentially reducing the resolution of the reference image by down-sampling means;
A linear conversion parameter for registration is performed between the reference image reduced in resolution by the down-sample means and the target image reduced in resolution in the same manner as the reference image reduced in resolution. Calculating the linear transformation parameters; and
Determining whether the sampling rate of the low-resolution reference image is equal to or less than a preset setting value;
When the sampling rate is equal to or higher than a set value , a block is assigned to the reference image with the reduced resolution, the entire pixel data included in the block is fetched into a local memory, the pixel data is randomly sampled, The first registration means for executing the step of creating the block data by adding the three-dimensional coordinates of the corner pixels occupying the corner of the block and writing it into the main memory, and the sampling rate reaches the set value If not, use the second registrant means for randomly sampling pixel data of the reduced resolution reference image, allocating blocks and writing to the main memory, using the mutual information amount Pixel data of the reference image and pixels of the target image used for calculation of The data set is stored in the main memory so that it can be continuously accessed in block units, fetched in block units into the local memory, and the target image reduced in resolution is the same as the reference image reduced in resolution. Performing the registration between the data processing device, and
The second registrar means performs registration of the reduced resolution reference image and the reduced resolution target image using the linear conversion parameter output from the first registrar means as an initial value. A computer-executable program for calculating a linear transformation parameter and updating the linear transformation parameter output by the first registrant means.
前記第1レジストレータ手段は、
前記ブロック・データを前記ローカル・メモリにフェッチし、前記ブロック・データを使用し、前記ブロック・データの前記コーナ画素の3次元座標に対して前記線形変換パラメータを適用して前記対象イメージのバウンディング・ボックスを定義するステップと、
前記バウンディング・ボックスに含まれる画素データを前記ローカル・メモリにフェッチし、前記ローカル・メモリ上のブロック・データおよびバウンディング・ボックスに含まれる画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量を計算するステップと、
前記相互情報量の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを決定するステップと
を実行する、請求項9に記載のプログラム。
The first registrar means includes:
Fetching the block data into the local memory, using the block data, applying the linear transformation parameters to the three-dimensional coordinates of the corner pixels of the block data, Defining a box;
The pixel data included in the bounding box is fetched into the local memory, and the Parzen histogram is calculated using the block data on the local memory and the pixel data included in the bounding box and the linear transformation parameter. Calculating the mutual information given by calculating the Parzen probability or frequency in the Parzen histogram;
The program according to claim 9, comprising: receiving a mutual information amount that is a calculation result of the mutual information amount, and determining the linear transformation parameter that maximizes the mutual information amount.
前記第2レジストレータ手段は、
前記ランダムにサンプリングされた前記画素データに対して前記線形変換パラメータの初期値を適用し、アクセスする前記対象イメージの画素データを決定し対応するブロックを割当てて前記メイン・メモリに予測して割当てるステップと、
前記メイン・メモリから前記ローカル・メモリへと、前記基準イメージおよび前記対象イメージの前記各画素データをフェッチし、前記基準イメージおよび前記対象イメージの前記各画素データ並びに前記線形変換パラメータを使用して、Parzenヒストグラムを計算し前記ParzenヒストグラムでParzen確率または周波数を計算することにより与えられる相互情報量の計算を実行するステップと、
前記相互情報量の計算結果である相互情報量を受取り、前記相互情報量を最大化させる前記線形変換パラメータを決定するステップと
を実行する、請求項9に記載のプログラム。
The second registrar means includes
Applying an initial value of the linear transformation parameter to the randomly sampled pixel data, determining pixel data of the target image to be accessed, assigning a corresponding block, and predicting and assigning to the main memory When,
Fetching each pixel data of the reference image and the target image from the main memory to the local memory, and using the pixel data of the reference image and the target image and the linear transformation parameter, Performing a calculation of mutual information given by calculating a Parzen histogram and calculating a Parzen probability or frequency in said Parzen histogram;
The program according to claim 9, comprising: receiving a mutual information amount that is a calculation result of the mutual information amount, and determining the linear transformation parameter that maximizes the mutual information amount.
前記バウンディング・ボックスを定義するステップは、空間的に隣接する前記ブロック・データを結合してブロック・グループを作成し、前記ブロック・グループに対応するバウンディング・ボックスを形成するステップを含み、
前記ブロック・グループと前記バウンディング・ボックスがローカル・メモリに収まりかつピクセル数が最大になるように前記ブロック・グループ内のブロック数を決定するステップを含む、請求項10に記載のプログラム。
Defining the bounding box comprises combining the spatially adjacent block data to create a block group and forming a bounding box corresponding to the block group;
11. The program according to claim 10, comprising determining the number of blocks in the block group such that the block group and the bounding box fit in local memory and the number of pixels is maximized.
JP2006330025A 2006-12-06 2006-12-06 Data processing apparatus, data processing method, and program Expired - Fee Related JP4763586B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006330025A JP4763586B2 (en) 2006-12-06 2006-12-06 Data processing apparatus, data processing method, and program
CN2007101441622A CN101221660B (en) 2006-12-06 2007-11-16 Data processing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006330025A JP4763586B2 (en) 2006-12-06 2006-12-06 Data processing apparatus, data processing method, and program

Publications (2)

Publication Number Publication Date
JP2008142137A JP2008142137A (en) 2008-06-26
JP4763586B2 true JP4763586B2 (en) 2011-08-31

Family

ID=39603005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006330025A Expired - Fee Related JP4763586B2 (en) 2006-12-06 2006-12-06 Data processing apparatus, data processing method, and program

Country Status (2)

Country Link
JP (1) JP4763586B2 (en)
CN (1) CN101221660B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5675058B2 (en) * 2009-05-26 2015-02-25 株式会社東芝 Magnetic resonance imaging system
CN102473296B (en) 2009-06-30 2016-01-20 皇家飞利浦电子股份有限公司 digital image subtraction
JP5458413B2 (en) * 2010-05-14 2014-04-02 株式会社日立製作所 Image processing apparatus, image processing method, and image processing program
JP5612371B2 (en) * 2010-06-11 2014-10-22 富士フイルム株式会社 Image alignment apparatus and method, and program
KR101138969B1 (en) * 2011-09-05 2012-04-25 주식회사 쓰리디산업영상 A method for accessing a penetrate image data of 3 dimension data to drive fast the penetrate image data, therefor an user interface apparatus
JP5706389B2 (en) * 2011-12-20 2015-04-22 富士フイルム株式会社 Image processing apparatus, image processing method, and image processing program
JP5418952B1 (en) * 2013-03-22 2014-02-19 株式会社国際電気通信基礎技術研究所 Brain activity measuring device and brain activity measuring method
WO2021205991A1 (en) * 2020-04-09 2021-10-14 富士フイルム株式会社 Image position alignment device, method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556501A (en) * 2004-01-08 2004-12-22 上海交通大学 Image registration method
JP2005348221A (en) * 2004-06-04 2005-12-15 Seiko Epson Corp Image generating apparatus, still image generating apparatus, image deviation quantity detecting apparatus, image aligning apparatus, image generating method, image generating program and recording medium with image generating program recorded thereon
JP2006020937A (en) * 2004-07-09 2006-01-26 Canon Inc Method and device of positioning medical image
JP2006055432A (en) * 2004-08-20 2006-03-02 Shimadzu Corp Medical image diagnostic system
EP1657680A1 (en) * 2004-11-10 2006-05-17 Agfa-Gevaert Display device for displaying a blended image
US7889905B2 (en) * 2005-05-23 2011-02-15 The Penn State Research Foundation Fast 3D-2D image registration method with application to continuously guided endoscopy

Also Published As

Publication number Publication date
JP2008142137A (en) 2008-06-26
CN101221660B (en) 2011-06-29
CN101221660A (en) 2008-07-16

Similar Documents

Publication Publication Date Title
JP4763586B2 (en) Data processing apparatus, data processing method, and program
US10706608B2 (en) Tree traversal with backtracking in constant time
US10482196B2 (en) Modeling point cloud data using hierarchies of Gaussian mixture models
US9329988B2 (en) Parallel dynamic memory allocation using a nested hierarchical heap
US20160070767A1 (en) Tree data structures based on a plurality of local coordinate systems
US9142005B2 (en) Efficient placement of texture barrier instructions
US10121276B2 (en) Infinite resolution textures
US11651194B2 (en) Layout parasitics and device parameter prediction using graph neural networks
CN115797149A (en) Method for generating data item, graphic processing system and manufacturing method and system thereof
US9569348B1 (en) Method for automatic page table compression
US20120331470A1 (en) Emitting coherent output from multiple threads for printf
KR20150037367A (en) Cache memory system and operating method for the same
US10055875B2 (en) Real-time eulerian water simulation using a restricted tall cell grid
US7088872B1 (en) Method and apparatus for two dimensional image processing
US8558833B1 (en) System and method for symmetric parameterization of independently tessellated patches
US9633458B2 (en) Method and system for reducing a polygon bounding box
Nematollahi et al. Neda: Supporting direct inter-core neighbor data exchange in GPUs
US20140310507A1 (en) Methods of and apparatus for multidimensional indexing in microprocessor systems
CN101751356B (en) Method, system and apparatus for improving direct memory access transfer efficiency
Lamas-Rodriguez et al. GPU-accelerated level-set segmentation
CN114153380B (en) Integrated circuits, systems, and methods for data access and acquisition
CN115409856A (en) Lung medical image processing method, device, equipment and storage medium
Lenjani et al. An overflow-free quantized memory hierarchy in general-purpose processors
Wu et al. GPU-based adaptive data reconstruction for large-scale statistical visualization
EP4345757A2 (en) Ray tracing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090624

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090624

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110510

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110609

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees