OAK

CPU 기반의 SIMD 명령을 사용한 실시간 최대휘소투영 가시화

Metadata Downloads
Abstract
MIP 렌더링은 관찰 방향을 자주 바꿔가며 깊이감을 획득하므로 빠른 가시화 속도가 필수적이다. 의료 데이터는 수백, 수천 장의 영상 집합으로 아주 큰 데이터이기 때문에 일반적인 방법으로는 고속 가시화를 할 수 없다.
본 연구는 CPU의 병렬처리 연산인 SIMD의 AVX 명령어 집합을 사용하여 CPU 기반으로 대용량 볼륨 데이터의 실시간 MIP 가시화가 가능함을 보인다. 우리는 연속된 배열의 값을 여러 개 불러와 한 번의 명령만으로 연산을 수행하는 SIMD를 수행하기 위해 광선의 방향에 따라 볼륨을 기울여 볼륨과 영상을 평행하게 만들어 연산하는 shear-warp 분해 기법을 이용한 고속 MIP 렌더링을 제안한다. 볼륨은 대개 X, Y, Z 순으로 저장되어 있다.
SIMD를 활용하려면 순차적인 배열을 불러와야 한다. 하지만 볼륨의 관찰 방향에 따라 순차적으로 데이터에 접근하지 못하는 경우가 생긴다. 이를 해결하기 위한 전처리 과정으로 AVX 명령어를 사용한 고속 전치 방법을 제안한다. 이는 한 번에 연산하는 데이터 수가 많을 뿐 아니라 연산의 횟수를 줄이면서 병목현상을 크게 완화했다. 행렬 전치(matrix transposition)는 일반적인 영상처리에서 흔히 사용되므로, 제안 방법은 볼륨 가시화 외에 다른 영상 처리에도 범용으로 적용 가능하다.
최근접 보간을 이용한 볼륨 렌더링은 빠르고 편하지만, 영상이 부드럽지 못하고 계단 현상이 발생한다. 이러한 화질 개선을 위해 삼차원 선형 보간을 수행한다. 삼차원 보간은 8개의 각 복셀마다 여러 번의 연산이 이루어지는데, shear-warp의 특성을 이용하여 각 복셀의 가중치를 미리 계산하여 연산 횟수를 줄이는 방법을 제안한다. 보간 연산에는 실제 복셀의 정숫값의 밀도와 실숫값의 가중치를 곱하는 연산이 필요하다. 하지만 본 논문에선 AVX2로 대부분의 연산을 수행하는데, 이는 정수와 실수의 곱셈 연산을 지원하지 않는다. 이를 해결하기 위해 실수의 가중치를 정수로 변환한 후 정수끼리의 AVX2 곱셈 연산을 수행하고 이후 원래 값을 얻는 방법을 제안한다. 또한, 삼차원 보간 시 하나의 픽셀을 보여주기 위해 주변 8개의 복셀을 접근하여 계산해야 하며 이때 메모리 접근에 대한 비효율이 발생한다. 이러한 성능 저하를 최소화하기 위해 볼륨 메모리에 접근하는 순서가 최대한 순차적이게 전처리 과정을 거친다. 관찰 방향에 따른 볼륨 세 벌을 렌더링 전에 미리 준비했으며 각 볼륨들은 렌더링과 보간에 필요한 복셀들의 거리를 최소화시켜 저장한다. 저장되는 영상에서 또한 연산된 값이 이미지에 저장될 때 이미지 픽셀 간 거리를 최소화하여 같은 위치의 배열에 접근하는 횟수가 많게 하면서 메모리 접근 효율을 극대화한다. 이를 확인하기 위한 새로운 알고리즘을 제안하며 성능 비교를 수행한다.
Author(s)
이세희
Issued Date
2018
Awarded Date
2018-08
Type
Thesis
Keyword
볼륨 렌더링영상처리MIPshear-warpCPU 병렬처리SIMDAVX전치max보간메모리 재배치
URI
http://dspace.hansung.ac.kr/handle/2024.oak/6108
Affiliation
한성대학교 대학원
Advisor
계희원
Degree
Master
Publisher
한성대학교 대학원
Appears in Collections:
IT융합공학과 > 1. Thesis
Authorize & License
  • Authorize공개
Files in This Item:
  • There are no files associated with this item.

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.