KR100318044B1 - 화상합성시스템 - Google Patents

화상합성시스템 Download PDF

Info

Publication number
KR100318044B1
KR100318044B1 KR1019990018717A KR19990018717A KR100318044B1 KR 100318044 B1 KR100318044 B1 KR 100318044B1 KR 1019990018717 A KR1019990018717 A KR 1019990018717A KR 19990018717 A KR19990018717 A KR 19990018717A KR 100318044 B1 KR100318044 B1 KR 100318044B1
Authority
KR
South Korea
Prior art keywords
data
memory
volume
volume data
calculation
Prior art date
Application number
KR1019990018717A
Other languages
English (en)
Other versions
KR20000028579A (ko
Inventor
야마또사찌오
야마네다이사꾸
이시가와마사시
가시와데고지
미무라도시하루
도에다겐꼬
Original Assignee
요코미조 히로시
니혼무센 가부시키가이샤
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
Priority claimed from JP14339998A external-priority patent/JPH11339062A/ja
Priority claimed from JP10297269A external-priority patent/JP2000123194A/ja
Application filed by 요코미조 히로시, 니혼무센 가부시키가이샤 filed Critical 요코미조 히로시
Publication of KR20000028579A publication Critical patent/KR20000028579A/ko
Application granted granted Critical
Publication of KR100318044B1 publication Critical patent/KR100318044B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

화상합성시스템은, 각각 소입방체를 구성하는 8개의 볼륨데이터로 구성되어 메모리동작을 행할 수 있는 단위들로 이루어지는 입방체데이터로 분할한 후 전체볼륨데이터(32)를 축적하는 볼륨메모리(12)와, 메모리제어부(20), 경사계산부(22), 휘도계산부(24), 합성계산부(26) 및 좌표변환부(28)를 구비하는 화상처리장치(14)와, 화상표시메모리(16)와, 표시장치(18)로 구성된다. 볼륨데이터는 각각 소입방체를 구성하는 8개의 복셀들로 구성되는 단위들을 사용하여 볼륨메모리(12)로부터 독출된다. 경사계산은 경사계산부(22)에 의해 행해지고, 휘도는 휘도계산부(24)에 의해 계산되며, 합성계산부(26)는 임의로 설정된 가상시선이 통과하는 복셀을 따라서 전체볼륨데이터에 대한 합성계산을 행하는데 사용된다.

Description

화상합성시스템 {IMAGE SYNTHESIS SYSTEM}
본 발명은 3차원공간에서 정의된 수치데이터(볼륨데이터)를 디스플레이화면상에 가시화하는 경우 중요한 역할을 담당하는 볼륨렌더링기술에 관한 것이다. 특히, 본 발명은 디스플레이화면상에 3차원볼륨데이터를 고속묘화처리하는 것이 가능한 하드웨어화된 화상합성시스템에 관한 것이다. 또한, 본 발명은 적은 하드웨어자원을 사용하여 구성할 수 있는 화상합성시스템에 관한 것이다.
3차원공간에서 정의된 수치데이터(볼륨데이터)에 의해 나타내어지는 3차원의 모델을 디스플레이장치의 화면상에 가시화하는 경우에 사용하는 기술은 '볼륨렌더링'으로 칭하여진다. 예를 들어 의학분야에 있어서, 이 볼륨렌더링법은 CT스캐너와 MRI 등의 계측기계를 사용하여 얻어진 인체내부와 관련된 수치데이터(볼륨데이터)를 디스플레이에 화상표시할 때에 이용된다. 또한, 이 볼륨렌더링법은 다양한 분야에서 이용되고 있다.
3차원의 입체모델을 나타내는 볼륨데이터는 여러 가지 방법으로 표현된다. 그러나, 2차원평면상의 도형이 2차원격자점상에 배치된 소정방형의 화소(픽셀)의 집합을 사용하여 나타내는 방법과 마찬가지로, 3차원격자상에 배치된 소입방체(복셀)의 집합을 사용하여 표현하는 방법이 존재한다.
이 복셀표현에 의해 3차원의 입체모델을 표현하는 기술은 다음과 같은 이점을 갖는다. 즉, 데이터량이 방대하기는 하지만, 데이터구조가 간단하고, 집합연산을 극히 용이하게 행할 수 있다. 이 기술은 인공적 및 규칙적인 입체모델의 표현에 제한되지 않고, 자연계에 존재하는 대단히 불규칙한 형상을 나타내는 경우에 적합하다.
CG에 의거한 공지의 렌더링수법중의 하나는 '레이캐스팅법(ray casting method)' 내지는 '레이트레이싱법(ray tracing method)'으로 불리는 기술이다. 이 레이캐스팅법에서는, 메모리공간상에 정의된 가상3차원공간에 복셀에 의해 구성되는 대상3차원모델이 배치된다. 각 복셀에는 대상3차원모델의 내부정보를 나타내는 수치데이터가 볼륨데이터로서 주어진다. 레이캐스팅법에 따르면, 대상3차원모델과 관련된 여러 가지 내부정보를 목적에 따라서 자유롭게 가시화할 수 있다. 그러므로, 이 방법은 생체로 대표되는 3차원입체모델의 새로운 가시화기술(볼륨비쥬어리제이션)로서 근년 주목을 모으고 있다.
이와 같은 볼륨데이터는 3차원격자상의 점(복셀)에 필드데이터로 불리는 데이터를 갖는다. 필드데이터는, 예를 들어 색치, 투명도 등의 데이터이다. CT스캐너의 경우에서는 필드데이터로서 생체내 조직의 밀도가 이용된다. 이 밀도에 따라서 복셀에 채색하여 화면상에 볼륨데이터를 표시(가시화)한다. 따라서, 데이터전체의 상태를 보다 이해하기 쉽게 할 수 있다.
볼륨데이터의 가시화방법으로서는 종래 대별하여 2종류의 방법이 있다. 제 1방법은 볼륨데이터 중에서 동등한 데이터를 갖는 복셀을 연결하여 맞춘 등치면을 형성하고, 이 등치면에 대하여 면과 선 등의 프리미티브를 할당하여 표시하는 서피스렌더링법이다. 제 2의 방법은 볼륨데이터를 예를 들어 레이캐스팅법 등을 사용하여 직접 표시하는 방법이다.
서피스렌더링법을 사용하는 경우는, 동등한 볼륨데이터를 연결하여 등치면(2차원등고선의 확장으로 생각됨)을 만들어 낸다. 이 등치면에 대하여 면과 패치를 대고 서피스그래픽스로 렌더링함으로써 표시를 하고 있다. 즉, 이 방법은 슬라이스·바이·슬라이스법(slice-by-slice method)이라고도 불린다. 일본국특허공보(심사청구된 출원공보) 제 7-120434호는 이 방법의 상세가 다음의 문헌(A)에 개시되어 있다는 것을 보여준다.
(A) Drebin, R, A., Carpenter, L., and Hanrahan, P., 'Volume Rendering,' Computer Graphics, Vol.22, No.4, pp.65-74, 1988.
레이캐스팅법을 이용하는 경우는 다음과 같은 과정을 채용한다. 즉, 표시하는 면(디스플레이상의 면)의 시점(픽셀)으로부터, 각 셀을 지나는 레이(시선)를 발생기킨다. 이 레이를 따라서 볼륨데이터를 적분한다. 실제로는, 적분하는 대신에 레이를 따라 배치된 몇 개의 샘플링점에서의 값을 이용한 수치적분에 의해 근사계산한다.
샘플링의 방법으로서는, 레이를 따라서 등간격으로 샘플링하는 방법과, 레이와 셀의 교점을 샘플링점으로서 평가해 가는 방법이 있다. 대상으로 하는 데이터는, 전자에서는 직교구조격자상, 후자에서는 비구조격자상에서 정의되는 볼륨데이터이다. 일본국특허공보 제 7-120434호는 또한 이들의 상세가 다음의 문헌(B), (C)에 개시되어 있다는 것을 보여준다.
(B) Levoy, M., 'Display of Surfaces from Volume Date,' IEEE Computer Graphics and Applications, Vol.8, pp.29-37, 1988.
(C) Garrity, M. P., 'Raytracing Irregular Volume Data,' Computer Graphics, Vol.24, No.5, pp.35-40, 1990.
그러나 현재상황에서는, 상기한 종래의 볼륨렌더링의 수법에 의해 고도한 표시기능을 실현하려면, 어느 수법도 막대한 계산시간을 필요로 한다.
이런 상황은 다음의 사실에 기인한다. 즉, 2차원서피스렌더링의 경우, 처리고속화를 위한 전용프로세서가 개발되어 엔지니어링위크스테이션의 주요한 구성요소로서 시장에 제공되고 있다. 2차원서피스렌더링에 비하여, 3차원에서는 다음과 같은 이유로 고속처리가능한 하드웨어화된 장치가 존재하지 않는다.
즉, 다음의 사실을 먼저 지적한다. 3차원공간에 대한 볼륨데이터를 축적하는 데는 대용량의 메모리가 필요하다. 또한, 볼륨데이터를 실시간으로 연산하기 위해서는, 대용량 메모리에 축적된 데이터를 고속으로 독출할 필요가 있다. 그러나, 이런 문제를 해결하기 위한 적절한 메모리나 적절한 인터페이스를 이용할 수 없어 결국 하드웨어화를 실현하는데 장해가 된다.
두 번째로, 다음의 요인이 있었다. 즉, 3차원가시화를 실행하기 위해서는, 3차원공간전체에 걸쳐서 볼륨데이터로부터 데이터샘플링할 필요가 있다. 샘플링한 볼륨데이터를 연산할 때, 그 계산의 도중경과를 축적하기 위한 대용량메모리를 필요로 한다. 따라서, 하드웨어화하는 것이 곤란하다. 이런 처리는 종래 주로 어떤 소프트웨어에 의해 실현되어 왔다.
전술한 이유 때문에, 종래 3차원공간과 관련된 볼륨데이터를 가시화하는 장치에 있어서는 처리시간이 많이 필요하였다. 시점과 대상물체가 가상3차원공간상에서 이동하는 경우에 그 움직임을 반영한 화상을 실시간으로 합성하는 것이 곤란하다는 불편이 생긴다.
종래의 볼륨렌더링수법에 의해 3차원화상표시를 행하는 경우, 입체모델을 나타내는 3차원공간과 관련된 막대한 볼륨데이터가 필요하다. 그러므로, 볼륨데이터를 대용량의 볼륨메모리에 축적해 둘 필요가 있다. 이 대용량의 볼륨메모리에 축적되어 있는 3차원볼륨데이터전체를 일시에 다루어 연산처리하여 가시화(화상처리)하려고 하는 경우에는, 막대한 하드웨어자원이 필요하게 되는 불편이 생긴다.
예를 들어, 전술한 레이캐스팅법을 이용하여 레이를 따라서 각 복셀의 볼륨데이터를 연산하는 경우, 중간의 연산결과를 축적하는 메모리로서 대용량의 중간결과축적을 위한 메모리가 필요하게 되는 것이 당연하다. 이와 같은 대용량의 하드웨어자원의 필요성이 3차원볼륨데이터를 처리하는 화상처리장치의 하드웨어화를 저해한다.
본 발명의 일반적인 목적은 3차원의 볼륨데이터를 디스플레이상에 고속묘화할 수 있는 하드웨어화된 화상합성시스템을 제공하는 것이다.
본 발명의 주목적은 중간계산결과를 유지할 필요가 없게 하고 메모리용량을 최소화할 수 있는 화상합성시스템을 제공하는 것이다.
본 발명의 다른 목적은 3차원볼륨데이터를 디스플레이상에 고속묘화할 수 있는 화상합성시스템을 적은 하드웨어자원에 의해 실현하는 것이다.
도 1은 본 발명에 관한 3차원볼륨렌더링을 실시하는 제 1실시형태에 따른 화상합성시스템의 개략구성을 나타내는 시스템구성도.
도 2A는 볼륨데이터전체를 나타내고, 도 2B는 도 2A의 볼륨데이터를 구성하는 소입방체를 1단위로 하는 복셀의 개념을 나타내는 도면.
도 3은 볼륨메모리에 격납된 볼륨데이터를 나타내는 개념도.
도 4는 슬라이스파라렐처리에 의한 볼륨데이터의 처리방법을 설명하기 위한 도면.
도 5는 경사계산부에서의 볼륨데이터의 경사계산을 설명하는 도면.
도 6A는 볼륨데이터에서의 소입방체를 단위로 하는 볼륨데이터의 모양을 나타내며, 도 6B는 도 6A의 소입방체의 각각의 8개의 복셀의 배열을 나타내는 도면.
도 7은 화상처리장치에 있어서의 메모리제어부의 구성을 나타내는 도면.
도 8은 경사계산에서 필요하게 되는 중심복셀과 그에 인접하는 복셀사이의 관계를 나타내는 도면으로서, 도 8A는 사시도, 도 8B는 정면도.
도 9A-도 9H는 경사계산에 필요한 볼륨데이터가 슬라이스파라렐로 처리되는 상태를 나타내는 모식도.
도 10은 레이캐스팅법에 의한 합성계산처리를 설명하기 위한 모식도.
도 11은 합성계산에 있어서의 합성계산처리를 설명하기 위한 도로서, 도 11A는 사시도, 도 11B는 측면도이다.
도 12는 경사계산에 있어서의 볼륨데이터의 독출을 설명하기 위한 도면으로서, 도 12A는 후면, 도 12B는 중앙측면, 도 12C는 중앙후측, 도 12D는 전면을 나타내는 도면.
도 13은 볼륨메모리 및 화상처리장치(ASIC)의 접속구성을 나타내는 도면.
도 14는 볼륨데이터의 구성을 나타내는 도로서, 도 14A는 32 x 32 x 32의 볼륨데이터를 설명하는 도, 도 14B는 볼륨데이터의 전체를 나타내는 도면.
도 15는 주축변경시의 볼륨데이터의 독출예를 나타내는 도면.
도 16은 볼륨데이터를 축적하는 512 x 512 x 1024로 된 볼륨메모리의 구조를 나타내는 도면.
도 17A-도 17C는 도 16의 메모리구성의 경우의 어드레스맵의 예를 나타내는 도면.
도 18은 볼륨데이터의 독출처리시의 설명도.
도 19는 본 발명에 관한 3차원볼륨렌더링을 실시하는 제 2실시형태에 따른 화상합성시스템의 개략구성을 나타내는 시스템구성도.
도 20은 볼륨렌더링의 개념과 베이스플레인메모리의 개념을 나타내는 상면도를 나타내고, 도 3B는 그 측면도.
도 21은 볼륨데이터전체를 복수의 볼륨데이터로 분할한 개념을 나타내는 도면.
도 22는 볼륨데이터전체를 복수의 볼륨데이터로 분할한 경우의 베이스플레인을 나타내는 도면.
도 23은 시선과 볼륨데이터 내의 각 복셀의 관계를 나타내는 도면.
도 24A-도 24H는 합성계산결과를 일시기억메모리에 기억, 독출하는 경우의 메모리어드레스포맷 및 데이터포맷을 나타내는 도면.
도 25A는 전체볼륨데이터를 8개의 분할볼륨데이터로 하였을 때의 분할볼륨데이터를 나타내는 도면, 도 25B는 도 25A의 각 분할볼륨데이터의 위치와 u, v, w좌표치의 관계를 나타내는 도면.
도 26A는 볼륨렌더링에 있어서의 시선방향에 의한 분할볼륨데이터의 처리순서를 나타내는 도면이며, 도 26B-도 26E는 시선방향의 차이에 의한 분할볼륨데이터의 처리순서를 나타내는 도면.
도 27은 메모리제어부의 독출제어를 제어하기 위한 개념도이다.
< 도면의 주요분에 대한 부호의 설명 >
10 : 화상합성시스템 12 : 볼륨메모리
12a : 볼륨데이터축적부 12b : 합성계산결과축적부
13a-13n : 메모리소자 14 : 화상처리장치
16 : 화면표시메모리 18 : 표시장치
20 : 메모리제어부 22 : 경사계산부
24 : 휘도계산부 26 : 합성계산부
27 : 베이스플레인메모리 28 : 좌표변환부
29 : 화상처리장치 30 : 메모리버스
32 : 볼륨데이터 34 : 소입방체
40 : 화상합성시스템 301 : 복셀
302 : 시점 321 : 복셀
32a-32h :분할볼륨데이터 C : 시선
본 발명의 상기 및 그 외의 목적, 특징 및 이점은 본 발명의 최적실시형태를 예로서 도시하는 첨부도면을 참조하는 이후의 설명으로 보다 명백하게 될 것이다.
먼저, 본 발명에 따른 화상합성시스템의 제 1실시형태에 대하여 첨부도면을 참조하여 이하 상세히 설명한다.
도 1은 본 발명에 관한 3차원볼륨렌더링을 실시하는 화상합성시스템의 개략구성을 나타내는 시스템구성도이다.
본 실시형태의 화상합성시스템(10)은, 3차원공간상의 모델을 나타내는 볼륨데이터를 축적하는 볼륨데이터축적부(12a)와 합성계산결과를 축적하는 합성계산결과축적부(12b)로 이루어지는 고속전송버스메모리로 구성되는 볼륨메모리(12)와, 메모리제어부(20), 경사계산부(22), 휘도계산부(24), 합성계산부(26), 및 좌표변환부 (28)로 구성되는 화상처리장치(14)와, 화면표시메모리(16)와, CRT디스플레이 등의 표시장치(18)와, 메모리버스(30)로 구성되어 있다.
볼륨메모리(12)는 예를 들어 Rambus사가 제안하는 명세서 따라서 고속데이터전송이 가능한 버스메모리이며, 그 상세는 이하의 문헌(D)에 개시되어 있다.
(D) 노리히코 마오노, 'Direct Rambus 1999년의 퍼스널컴퓨터의 주기억을 겨냥한다(상), (하)' NIKKEI ELECTRONICS, No.708, pp.139-152, 1998, No.710, pp.163-176, 1998.
이 볼륨메모리(12)는 볼륨데이터축적부(12a)에 처리대상으로 사용할 3차원공간상의 모델을 나타내는 볼륨데이터를 저장함과 함께, 합성계산결과축적부(12b)에 화상처리장치(14)의 합성계산부(26)에 의한 계산의 도중결과를 저장한다.
본 실시형태에 있어서, 도 2A, 도 2B에 나타내는 바와 같이 소입방체(34)를 형성하는 8개의 복셀(0-7)을 단위로서 사용하여 3차원공간상의 전체볼륨데이터(32)를 정의한다. 이 전체볼륨데이터(32)는 볼륨데이터축적부(12a)에 저장되며, 메모리제어부(20)의 제어에 의해 화상처리장치(14)에 따라서 독출, 서입이 행해진다.
이 구성에 의해, 한번에 독출할 수 있는 볼륨데이터수를 늘려 독출속도를 향상시킨다. 또한, 후술하는 경사계산부(22)에서 실시되는 경사계산에 필요한 데이터를 적은 회수로 독출할 수 있어서, 계산에 필요한 전후의 볼륨데이터를 모아 놓는 것을 불필요하게 할 수 있다.
본 발명에 있어서의 3차원공간상의 모델을 구성하는 볼륨데이터의 일예는 의료분야에 있어서 사용되는 초음파진단장치를 사용하여 얻어지는 계측데이터이다. 이 장치는 초음파를 생체에 가하고 반사파데이터로부터 생체내조직과 관련된 정보를 얻어 3차원으로 축적하고 화상표시하여 생체내 조직의 상황을 여러 가지 각도로부터 관찰하기 위하여 사용된다. 이 예에서의 볼륨데이터는, 예를 들어 생체내 조직의 밀도이다. 1개의 볼륨데이터(도 2B의 복셀(0-7)의 각각을 포함)는 예를 들어8비트의 수치데이터로서 표시된다.
도 3은 볼륨메모리(12)에 저장된 볼륨데이터를 개념적으로 나타낸다. 볼륨데이터에 의해 구성되는 모든 소입방체(34)의 복셀, 즉 각 8개의 복셀(0-7)의 각각 8비트의 데이터는, 도 3의 메모리소자(13a-13n)에 도시하는 바와 같이, 화상처리장치(14)에 메모리버스(30)를 통하여 접속된 볼륨데이터축적부(12a)에 저장되어 있다.
본 실시형태의 화상처리장치(14)에서 실시되는 계산처리는, 슬라이스파라렐처리에 의해 행해진다. 슬라이스파라렐처리라는 것은, 도 4에 나타내는 바와 같이, 전체볼륨데이터(32)를 구성하는 각 소입방체(34)의 볼륨데이터를 최전방면(도 4에서 우측면)과 관련된 소입방체(34)로부터 순서대로 처리하는 방법이다. 즉, 1면분의 데이터를 처리하고, 이 1면분의 처리가 끝났으면, 다음의 1면분의 데이터를 처리한다. 따라서, 데이터는 화살표 A의 방향으로 면마다 순차 처리된다. 이 과정에서, 메모리제어부(20)의 제어에 따라서 볼륨데이터축적부(12a)로부터 복셀데이터의 독출처리가 행해진다.
경사계산부(22)에서는, 도 5에 나타내는 바와 같이, 처리대상으로 하는 복셀을 'm'으로 하면, 이 복셀'm'을 중심으로 그 전에 위치하는 복셀'e', 후에 위치하는 복셀'f', 좌측에 위치하는 복셀'a', 우측에 위치하는 복셀'b', 상측에 위치하는 복셀'd', 하측에 위치하는 복셀'c'에 대한 볼륨데이터로부터 화상의 경사를 결정하는 경사계산을 행한다.
상술한 슬라이스파라렐처리에 따른 경사계산에 데이터처리를 행하는 경우,좌우의 복셀'a', 'b'는 처리대상으로 하는 복셀'm'의 바로 이웃에 배치된다. 그러나, 상하측의 복셀'd', 'c'는 복셀'm'에 대한 1비임분(횡방향 1개)만큼 전이나 후에 저장된 데이터에 상당하며, 전후측의 복셀'e', 'f'는 복셀'm'에 대한 1슬라이스분(1면)만큼 전이나 후에 저장된 데이터에 상당한다. 그러므로, 혹시 각 평면에 관련된 데이터를 1면씩 독출하도록 메모리로부터 볼륨데이터를 독출하는 구성이면, 경사계산부(22)에서의 경사계산을 실시하게 위해서는 처리대상으로 하는 복셀'm'을 포함하는 면의 데이터 외에 전후 2면분의 데이터를 저장할 필요가 있다.
본 실시형태에 의한 화상합성시스템(10)에 있어서는, 볼륨데이터를 소입방체 (34)를 단위로 하는 8개의 복셀(0-7)의 데이터구조로 구분한다. 또한, 고속데이터운송이 가능한 버스메모리를 볼륨메모리(12)로서 이용한다. 따라서, 이하의 설명으로부터 이해할 수 있는 바와 같이, 슬라이스파라렐처리에 의한 경사계산을 실시하기 위하여 전후에 배치된 2면분의 데이터저장용 메모리를 제공할 필요가 없다.
도 6A, 도 6B는, 전체볼륨데이터(32)와 관련된 소입방체(S1-S6)를 단위로 하는 볼륨데이터의 모양을 나타내는 도면이다. 도 6A에 나타내는 소입방체(S1-S6)의 각각은, 도 6B에 나타내는 바와 같이, 1개의 소입방체(34)를 구성하는 8개의 복셀(0-7)을 단위로 하고, 안쪽방향으로 연속하여 배열되어 있다. 볼륨메모리(12)의 볼륨데이터축적부(12a)에는, 전체볼륨데이터(32)로부터, 입방체형데이터(소입방체(S1)를 구성하는 복셀(0-7)의 8개를 단위로 한 데이터를 말한다)가 연속하여 독출할 수 있도록 도 6A의 화살표(B)의 시선방향으로 늘어서서 축적되어 있다.
즉, 본 실시형태에서의 볼륨데이터는 예를 들어 종, 횡, 안쪽방향으로 각각256개, 즉 계 256 x 256 x 256의 볼륨데이터로 구성되며, 각 소입방체(S1-S6)로서 표시되는 입방체형데이터(8개의 복셀(0-7))를 단위로서 독출된다.
도 7은 화상처리장치(14)의 메모리제어부(20)의 구성을 나타낸다. 메모리제어부(20)는 레지스터(70a-70e) 및 셀렉터(72)를 가진다. 볼륨렌더링이 개시되면, 먼저 볼륨메모리(12)의 볼륨데이터축적부(12a)로부터 횡 1열분의 입방체형데이터가 독출되어, 도 7의 레지스터(70a-70e)중의 어느 것에 저장된다.
볼륨메모리(12)로부터 독출한 볼륨데이터는 레지스터(70a-70e)중의 어느 것에 저장된다. 이 저장의 결정은 레지스터(70a-70e)로부터 경사계산부(22)로의 볼륨데이터의 독출이 볼륨메모리(12)로부터 레지스터(70a-70e)로의 서입이 경합하지 않도록, 일반적인 시퀀서를 사용하여 제어된다.
레지스터(70a-70e)는 각각 안쪽방향으로 256개의 볼륨데이터, 즉 도 6B에 나타내는 바와 같이 늘어선 볼륨데이터를 저장할 수 있다. 또한, 다음의 구성이 주어진다. 즉, 레지스터(70a-70e)에는 복셀(0-7)까지의 입방체형데이터의 전부인 4 x 256의 볼륨데이터가 저장될 수 있다. 레지스터(70d, 70e)에는, 입방체형데이터의 일측 배치된 0, 2, 4, 6 또는 1, 3, 5, 7중의 두 개에 상당하는 2 x 256의 볼륨데이터가 저장될 수 있다.
본 실시형태의 경우, 이 레지스터(70a-70e)는 화상처리장치(14)가 후술하는 바와 같이 복수의 ASIC로 구성되며, 복수의 ASIC가 동시에 동작하기 때문에 실제의 안쪽과 관련된 256/ASIC수의 볼륨데이터를 저장하도록 구성되어 있다.
이 데이터는 볼륨데이터가 축적되는 메모리제어부(20)로부터 화상처리장치(14)의 메모리제어부(20)까지의 범위에 걸쳐 처리되는 동안에 입방체형데이터를 사용하여 처리된다. 메모리제어부(20)에서 데이터가 독출되는 단계에서, 입방체형데이터는 볼륨데이터로 분해된다. 이후의 처리에서는, 경사계산에서의 중심복셀'm'을 기준으로 하여 경사계산에 필요한 인접복셀을 단위로서 계산처리가 행해진다. 이 처리는 슬라이스파라렐처리에 따라서 순차 처리된다.
즉, 볼륨메모리(12)로부터 메모리버스(30)(고속데이터전송버스)를 통하여 볼륨데이터가 독출되고, 그 데이터가 레지스터(70a-70e)에 저장되면, 메모리제어부 (20)는 경사계산부(22)에서 필요하게 되는 볼륨데이터를 도 7의 셀렉터(72)에 의해 선택하여 그 데이터를 당해 경사계산부(22)에 공급한다.
이 때, 레지스터(70a-70e)는, 셀렉터(72)에 의해, 경사계산의 중심이 되는 소입방체(M), 소입방체(M)에 인접하는 상방의 소입방체(U), 하방의 소입방체(D), 전방의 소입방체(F), 후방의 소입방체(B)에 각각 할당하여 출력한다.
도 8A, 도 8B는 경사계산에서 필요하게 되는 중심의 소입방체(M)와 그에 인접하는 소입방체(U, D, F, B)의 사이의 관계를 나타낸다. 도 8A는 사시도, 도 8B는 정면도이다. 경사계산의 중심이 되는 복셀이 M0의 경우 계산에 필요한 인접복셀은 검은 원으로 표시한다. R, L은 중심의 소입방체(M)의 각각 우측, 좌측에 위치하는 소입방체를 나타내고 있다.
경사계산의 중심복셀이 M0 또는 M1인 경우, 그 중심복셀의 하방의 입방체(D)의 인접하는 복셀(D2, D3), 전방의 입방체(F)의 인접하는 복셀(F4, F5), 좌방의 소입방체(L) 또는 우방의 소입방체(R)의 인접하는 복셀(R1, R0)과 관련된 각 볼륨데이터가 계산에 필요하다. 경사계산의 중심복셀이 M0 또는 M1이외의 M2-M7중의 어느 것인 경우도, 각각의 중심복셀에 인접하는 소입방체(M, U, D, F, B)내의 각 복셀이 경사계산에 필요하다. 이 필요데이터는 각각의 레지스터(70a-70e)로부터 경사계산부(22)에 공급된다.
도 9A-도 9H는 경사계산에 필요한 볼륨데이터가 슬라이스파라렐로 처리되는 상태를 모식적으로 도시한다. 도 9A-도 9H는 도 6A, 도 6B에 도시한 소입방체(S1-S6)를 사용하는 경우의 예로서, 경사계산의 중심복셀과, 경사계산에 필요하게 되는 인접복셀, 즉 중심복셀에 인접하는 상하, 좌우의 복셀을 검은 점으로 표시한 정면도로를 나타낸다. 경사계산처리의 방향은 도 9A-도 9H의 순서이다.
경사계산처리의 중심복셀은 그 중심복셀을 사용한 경사계산이 도 9A-도 9H의 지면의 안쪽방향에 대한 처리가 끝날 때마다, 1복셀씩 위로 이동해 간다. 도 9A-도 9H로부터, 경사계산의 처리중심복셀이 한 개 위로 올라갈 때마다 새롭게 입방체형데이터의 횡 1열분을 볼륨데이터축적부(12a)로부터 독출함으로써, 다음의 경사계산처리가 가능한 것이 용이하게 이해된다. 즉, 이전의 횡 1열분에 상당하는 데이터에 대하여 경사계산처리를 행하고 있는 동안에 다음의 경사계산처리에 필요하게 되는 횡 1열분에 상당하는 입방체형데이터를 볼륨데이터축적부(12a)로부터 성공적으로 독출하는 것을 나타내고 있다.
경사계산부(22)에 의해 얻어된 계산결과는 휘도계산부(24)에 공급되어, 계산결과에 상당하는 휘도데이터를 계산하여 합성계산부(26)에 공급한다. 레이캐스팅법에 의한 볼륨렌더링은, 도 10에 모식적으로 나타내는 바와 같이, 전체볼륨데이터(32)내에서 시점(302)으로부터 발생한 시선(C)을 따라서(시선(C)이 통과하는) 복셀 (301)이 합성계산되도록 행해진다. 도 10에 있어서, 원표시는 시선(C)이 통과하는 복셀(301)만을 도시하고 있다.
합성계산처리에서는, 시선(C)이 통과하는 각 복셀(301)마다 휘도계산결과를 1개씩 축적한다. 합성계산결과축적부(12b)에는 이전의 복셀(301)까지의 합성계산결과가 축적되어 있다. 시선(C)의 방향에 따라서 합성계산에 필요한 계산결과가 독출된다.
즉, 도 11A의 사시도에 나타내는 바와 같이, 전체볼륨데이터(32)에 포함된 시점(302)에 가까운 쪽의 슬라이스면으로부터 계산이 개시된다. 더 안쪽의 면이 순차 계산된다. 그러나, 합성계산부(26)에서의 합성계산은 시선(302)이 이미 통과한 복셀의 누적을 계산하는 처리이다.
그러므로, 합성계산부(26)는, 처리중인 전체볼륨데이터(32)의 슬라이스면이 도 11A에 나타내는 면(S)인 경우, 그 면(S)까지의 누적계산결과에 따라서 다음의 합성계산처를 나타내는 벡터군(V)이 정해지도록 작동된다. 이와 같이, 전체볼륨데이터(32)에 포함됨 어떤 면(S)에 대하여 합성계산처리를 행하기 위해서는 이전의 면까지의 누적계산결과가 필요하다.
따라서, 본 실시형태의 합성계산부(26)에 있어서는, 전체볼륨데이터(32)의 특정의 면(S)에 대한 합성계산결과는 볼륨메모리(12)의 합성계산결과축적부(12b)에 저장된다. 이 저장된 합성계산의 결과는 다음의 면의 합성계산처리에서 독출되어, 순차적으로 누적계산이 행해진다.
여기서, 예를 들어 경사계산부(22), 휘도계산부(24), 합성계산부(26)들로 이루어지는 화상처리장치(14)(ASIC)는 파이프라인처리가 가능한 구조를 갖는다. 볼륨메모리(12)의 처리능력은 화상처리장치(14)의 파이프라인처리의 능력의 4배 정도이다.
따라서, 화상처리장치(14)의 파이프라인처리에 의해, 볼륨데이터의 횡 1열분의 복셀을 처리하고 있는 동안에, 볼륨메모리(12)에 대하여 ①다음의 볼륨데이터의 횡 1열분의 독출, ②합성계산결과의 독출, ③합성계산결과의 세이브서입의 처리를 배당할 수 있다. 그러므로, 볼륨데이터축적부(12a)와 합성계산결과축적부(12b)를 외부에 장착하는 구성으로 하여도, 화상처리장치(14)의 파이프라인동작을 쉬지 않고 실행시킬 수 있다.
본 실시형태의 메모리제어방법에 있어서는, 도 12A-도 12D에 나타내는 바와 같이, 동일복셀(301)을 후면, 중앙전방측, 중앙후방측, 전면에 대하여 경사계산에서 4회 사용하게 된다. 화상처리장치(14)내에는 메모리를 갖지 않는다. 그러므로, 그 때마다 볼륨메모리(12)의 볼륨데이터축적부(12a)로부터 동일데이터를 독출할 필요가 있다. 그러나, 이 처리는 고속의 데이터전송버스를 채용함으로써, 고속의 메모리사이클을 실현함에 의해 실시될 수 있다. 따라서, 화상처리장치(14)내의 메모리를 필요로 하지 않는다.
다음으로, 전체볼륨데이터(32)와 볼륨메모리(12) 및 화상처리장치(14)(ASIC)의 구성에 대하여 그 상세를 설명한다.
도 13은 볼륨메모리(12) 및 화상처리장치(14)(ASIC)의 접속구성을 나타낸다.화상처리장치(14)를 구성하는 각 메모리소자(13a-13n), ASIC0 - ASIC7에는 각각 두 개의 메모리버스(30)가 접속된다. 1개의 ASIC당 처리파이프라인의 수는 4개이다. 8개의 ASIC가 동시에 동작하도록 구성으로 되어 있다. 그러므로, 32의 병렬처리가 행해지며, 메모리버스(30)는 16의 병렬로 동작하게 된다.
전술한 바와 같이, 전체볼륨데이터(32)는 종, 횡, 안쪽방향으로 각각 256개, 즉, 계 256 x 256 x 256의 복셀로 이루어진다. 이 복셀은 도 14A에 도시하는 바와 같이 32 x 32 x 32의 볼륨(32q)을 단위로 하는 512개(8 x 8 x 8)의 데이터로 구성되며, 도 14B에 나타내는 전체볼륨데이터(32)로서 볼륨메모리(12)에 축적된다.
도 13에 있어서, 메모리소자(13a-13n)중에서 000-FFF의 수자는, 8개의 복셀로 구성되는 소입방체(34)의 볼륨데이터, 즉 입방체형데이터를 나타낸다. 이 입방체형데이터는 000-FF1의 수자로 표시하는 바와 같이 스큐를 걸어 볼륨메모리(12)에 축적되어 있다.
여기서, 데이터는 볼륨(32a)의 내부에서 스큐가 걸려 축적되어 있다. 그러나, 이 데이터는 256 x 256 x 256의 전체볼륨데이터(32)를 구성하고 있는 볼륨 (32q)군에는 스큐가 걸려있지 않다. 화상처리장치(14)를 구성하는 8개의 ASIC0-ASIC7은 볼륨데이터의 좌측하방으로부터 시작하여 순서대로 32개의 복셀을 동시에 독출처리하도록 동작한다. 그러므로, 독출된 데이터에는 스큐가 걸려 있다. 그러나, 그 때의 독출어드레스는 모든 ASIC에서 동일하다.
데이터(Data)는, 원래의 볼륨데이터의 좌표를 x, y, z으로 하였을 때, 각각의 하위 4비트어드레스에 대응한 ix, iy, iz의 결합, 즉, Data = [ix, iy, iz]로 표시된다고 하면, 어떤 데이터가 들어가는 16개의 메모리버스(30)중의 메모리버스(30)는 메모리버스채널번호를 k로 하면 다음의 식으로 정해진다.
k = (x + y + z)mod 16(x + y + z을 16으로 나눈 나머지)
볼륨렌더링의 실행시에, 주축의 방향에 의해 16개의 각 메모리버스(30)에 부여되는 메모리버스채널의 어드레스는 다음의 식과 같이 나타내어진다.
Z주축 iz= Z, iy= Y, ix= (k - z - y + 32)mod 16
Y주축 iz= (K - x - y + 32)mod 16, iy= Y, ix= X
X주축 iz= Z, iy= (k - x - z + 32)mod 16, ix= X
상술한 바와 같이, 주축이 변한다 해도 횡방향으로 늘어선 볼륨데이타를 동시에 얻을 수 있다. 주축변경시의 볼륨데이터의 독출예를 도 15에 나타낸다. 도 15에 있어서, k는 16개의 메모리버스(30)의 메모리버스채널번호를 나타낸다.
이상과 같이 하여 합성계산부(26)에 의해 합성계산된 계산결과는, 좌표변환부(28)에 의해 좌표변환되어, 화면표시메모리(16)에 출력된다. 표시장치(18)는 화면표시메모리(16)에 축적된 화상데이터에 따라서 그 표시부에 목적으로 하는 화상을 표시할 수 있다.
다음으로, 도 16에 나타내는 바와 같이, 전체볼륨데이터(32)를 축적하는 볼륨메모리(12)를 512 x 512 x 1024의 구조를 갖도록 한다. 8병렬의 ASIC에 메모리버스(30)의 2채널을 접속한다. 각 메모리버스채널에는 18Mbit의 메모리(DRAM) 6개를 접속하여 전체볼륨데이터(32)를 축적한다. 이 경우, 어드레스맵이 도 17A-도 17C와 같이 예시된다.
도 17A-도 17C에 있어서, 각각의 어드레스는, CS는 DRAM의 칩셀렉트, B는 DRAM내의 뱅크셀렉트, C는 컬럼, R은 로우, PS는 ASIC의 선택, P는 패킷내의 데이터선택이며, X, Y, Z은 볼륨데이터의 좌표계를 나타낸다.
본 실시형태의 경우, 전술한 바와 같이, 입방체형 데이터를 단위로 한 볼륨데이터에는 스큐가 걸려 있지 않다. 그러므로, 도 18에 나타내는 바와 같이, 볼륨데이터의 독출중에 시선방향에 따라서 주축이 변화하면, 소입방체(34)를 회전시켜 화상처리장치(14)의 메모리제어부(20)에 독출되는 데이터의 대응을 바꾸는 처리가 필요하게 된다.
다음으로 본 발명에 따른 화상합성시스템의 제 2실시형태를 설명한다.
도 19는 제 2실시형태에 따른 3차원볼륨렌더링을 실시하는 화상합성시스템의 구성을 개략적으로 나타낸다.
본 실시형태의 화상합성시스템(40)은, 도 1에 도시한 합성계산부(16)와 좌표변환부(28)사이에 배치된 베이스플레인메모리(27)를 구비하는 화상처리장치(29)로 구성된다. 그 외의 구성요소나 부분은 도 1에 도시한 화상합성시스템(10)의 것과 동일하다.
제 1실시형태에서 설명한 바와 같이, 레이캐스팅을 이용하는 경우는, 다음과 같은 방법이 채용된다. 즉, 디스플레이의 표시화면(투영면)의 시점(픽셀)으로부터 각 셀을 지나는 레이(시선)를 발생시키며, 이 레이를 따라서 볼륨데이터를 구성하는 복셀의 데이터를 적분한다.
도 20A 및 도 20B는 이와 같은 방법에 의해 볼륨데이터(32)를 가시화할 때의 처리개념을 나타낸다. 도 20A는 투영면(P)로부터의 병행투영을 상면에서 본 평면도를 나타낸다. 도 20B는 투영면(P)로부터 병행투영을 측면에서 본 측면도를 나타낸다.
투영면(P)으로부터 연장되는 시선(C)을 따라서 볼륨데이터(32)내의 각 복셀(시선(C)이 통과하는 각 복셀)의 데이터에 의거하여 화상처리장치(29)에 의해 경사계산, 휘도계산, 합성계산이 순차 행해진다. 병행투영에서는 시선(C)의 출구가 되는 3개의 면(도 20A, 도 20B의 예에서는 상면(3a), 측면(3b), 안쪽면(3c)이 되며, 이들의 면을 베이스플레인(3a-3c)이라고 칭한다)에서 시선(C)은 그 이상 진행하지 않는다. 합성계산결과는 베이스플레인메모리(27)에 축적된다.
좌표변환부(28)는 베이스플레인메모리(27)의 내용을 독출하며, 투영면(P)으로의 좌표변환을 행한다. 이 때, 좌표변환부(28)는, 투영면(P)측으로부터 시선(C)을 따라서 베이스플레인메모리(27)의 대응하는 장소의 합성계산결과의 데이터를 결정한다. 그러므로, 베이스플레인상의 모든 점에 대하여 합성계산이 종료하고, 베이스플레인메모리(27)로의 계산결과의 축적이 종료하지 않으면 좌표변환처리는 개시할 수 없다.
따라서, 베이스플레인메모리(27)는, 3개의 면(상면(3a), 측면(3b), 안쪽면 (3c))의 합성계산결과의 데이터를 축적할 수 있는 충분한 용량을 갖는 것이 필요하다. 대량의 볼륨데이터를 일시에 취급하면서 연산처리할 수 있는 용량을 갖는 베이스플레인메모리(27)를 사용하는 것이 필수가 된다.
이 처리에 있어서, 볼륨메모리(12)로부터 볼륨데이터를 독출한 후, 화상처리장치(29)에서 합성계산을 행할 때까지의 처리 및 좌표변환처리의 병렬동시동작의 성능을 실현하는 것을 고려하면, 베이스플레인메모리(27)는 2중시스템(더블버퍼시스템)으로 구성할 필요가 있다.
예를 들어, 3차원입방격자의 1변이 512의 복셀로 이루어지는 볼륨데이터(32)의 렌더링처리를 행하는 경우, 베이스플레인메모리(27)는, 512 x 512 x 3면이 되며, 합성계산할 복셀(301)이 8비트이기 때문에, 더블버퍼구성으로 한다면 1.5MB의 용량의 메모리가 필요하게 된다.
이 용량의 베이스플레인메모리(27)는 화상처리장치(29)내에 실장되는 것이다. 그러나, 화상처리장치(29)를 집적회로(ASIC)로 구성하려 하는 경우, 예를 들어 ASIC내의 다른 회로인 메모리제어부(20), 경사계산부(22), 휘도계산부(24), 합성계산부(26) 등과의 관계를 고려하면 현재의 기술레벨에서는 이런 용량을 제공하기 곤란하다.
따라서, 본 실시형태에 있어서는, 도 21에 도시하는 바와 같이, 본 시스템은 볼륨데이터(32)를 복수의 볼륨데이터, 즉 본 예에서는 8개의 볼륨데이터(32a-32h)로 분할하여 렌더링을 위한 연산처리를 행하도록 구성된다. 도 21에 있어서, 부호 ab-gh는 각각 분할된 볼륨데이터(32a-32h)의 경계면을 나타내고 있다.
도 22는 볼륨데이터(32)를 8개의 볼륨데이터(32a-32h)로 분할한 경우에 얻어지는 베이스플레인(3a, 3b, 3c)을 나타낸다. 시선(C)의 방향에서 보아 횡방향에해당하는 베이스플레인(3b)을 u방향, 종방향에 해당하는 베이스플레인(3a)을 v방향, 안쪽방향에 해당하는 베이스플레인(3c)을 w방향으로 정의한다.
이와 같이 볼륨데이터(32)전체를 복수의 볼륨데이터(32a-32h)로 분할함으로써, 베이스플레인메모리(27)의 크기를 작게 할 수 있다. 즉, 도 21에 도시하는 바와 같이, 볼륨데이터(32)를 8개로 분할한 경우, 볼륨데이터(32a-32h)의 각각은 1변이 256의 복셀이 되고, 256 x 256 x 3면이 되며, 합성계산할 복셀이 8비트이다. 더블버퍼구성으로 한다면 384KB의 용량이 되며, 따라서 ASIC에 실장가능하게 된다.
볼륨데이터(32)전체를 복수로 분할하여 가시화처리하는 경우, 경계면(ab-gh)의 처리가 문제를 일으킨다. 볼륨렌더링법에 있어서는, 전술한 대로, 시선(C)을 따라서 복셀(301)을 따르며, 찾은 복셀(301)의 휘도계산치를 합성계산한다. 그러므로, 볼륨데이터(32)를 분할하면, 시선(C)을 따라온 합성계산이 경계면(ab-gh)에서 한번 중지한다.
따라서, 본 실시형태에서는, 특정의 분할볼륨데이터에 대하여 렌더링처리로 얻은 경계면(ab-gh)까지의 합성계산결과를 일시적으로 메모리에 세이브한다. 당해 경계면(ab-gh)의 앞에 배치된 그 다음의 분할볼륨데이터의 합성계산개시시, 상기 메모리에 세이브해둔 합성계산결과를 독출하여, 합성계산의 초기치로서 렌더링처리한다. 따라서, 볼륨데이터(32)를 분할할 때, 그 경계면(ab-gh)에서의 합성계산의 연속성을 얻을 수 있다.
경계면(Ab-gh)까지의 합설계산결과를 일시적으로 세이브하는 메모리는, 고속데이터전송버스메모리인 볼륨메모리(12)의 합성계산결과축적부(12b)이다. 화상처리장치(14)내의 회로요소를 증가하지 않도록 고려한다.
도 23은 시점(視點)(302)에서 나온 시선(C)과 볼륨데이터(32)내의 각 복셀 (301)사이의 관계를 나타낸다. 도 23에 있어서, 시점(302)로부터 나온 시선(C)은 분할한 볼륨데이터(32a)에 들어간다. 먼저 볼륨데이터(32a)내에서 순차적으로 시선(C)을 따라서 합성계산이 행해진다. 도 23에서, 검은 원으로 표시된 복셀은 경계면(ae)에 접한 위치를 나타낸다. 이 복셀(301)까지의 합성게산결과는 경계면 (ae)까지의 합성계산결과로서 합성계산결과축적부(12b)에 축적된다.
그 후 분할한 볼륨데이터(32e)의 렌더링처리가 행해질 때에, 이중원으로 나타내는 복셀(301)로부터 합성계산이 개시된다. 상술한 위치까지의 합성계산결과로서, 합성계산결과축적부(12b)로부터 검은 원으로 표시한 복셀(301)까지의 합성계산결과가 독출되며, 이중원으로 표시하는 복셀(301)의 합성계산결과의 초기치로서 주어진다. 볼륨데이터(32e)의 렌더링처리는, 그 후 시선(C)을 따라서 계속하여 행해진다. 베이스플레인(3a)에 접하면, 베이스플레인메모리(27)에 합성계산결과가 서입되고 계산을 종료한다.
다음으로, 본 실시형태에 관한 화상합성시스템(10)의 동작의 세부에 대하여 설명한다. 볼륨데이터(32)를 볼륨메모리(12)로부터 독출한 후 휘도계산까지 실행하는 처리는 제 1실시형태에서 실행하는 것과 동일하며, 그 설명을 생략한다.
본 실시형태에 있어서, 합성계산부(26)는 전체볼륨데이터(32)를 일시에 연산대상으로서 다루지 않는다. 이 합성계산처리는 분할된 볼륨데이터(32a-32h)를 단위로서 실행된다. 이 처리는 순차적으로 각 분할볼륨데이터(32a-32h)에 대하여 실행된다.
합성계산부(26)에서는, 분할된 볼륨데이터(32a)(도 23참조)에 관련하는, 시선(C)이 통과하는 각 복셀(301)마다의 휘도계산결과를 하나씩 누적해 가는 처리가 행해진다. 합성계산결과축적부(12b)에는 이전 복셀(301)까지의 합성계산결과가 축적된다. 시선(C)의 방향에 따라서 합성계산에 필요한 계산결과가 독출되어 순차적으로 누적계산을 행한다. 볼륨데이터(32a)에 있어서의 합성계산결과는 베이스플레인메모리(27)에 저장되며, 인접하는 다음의 분할볼륨데이터(32e)(도 23참조)에 있어서의 합성계산시에, 그 초기치로서 사용하기 위하여 합성계산결과축적부(12b)에 일시 저장된다.
분할볼륨데이터(32a)에 있어서의 합성계산이 종료하면, 합성계산부(26)는 인접하는 다음의 분할볼륨데이터(32e)에 있어서의 합성계산을 행한다. 이 때, 합성계산결과축적부(12b)에 일시저장되어 있던 합성계산결과, 즉 이전의 분할볼륨데이터(32e)에 있어서의 합성계산결과가 독출되며, 분할볼륨데이터(32e)에 있어서의 합성계산의 초기치로서 사용된다.
이 계산처리를 각 분할볼륨데이터(32a-32h)에 걸쳐 반복한다. 최종적인 합성계산결과는 베이스플레인메모리(27)에 저장한다.
이상과 같이 하여 베이스플레인메모리(27)에 저장된 합성계산결과는 좌표변환부(28)에서 좌표변환되어 화면표시메모리(16)에 출력된다. 표시장치(18)는 화면표시메모리(16)에 축적된 화상데이터에 따라서, 그 표시부에 목적으로 하는 화상을 표시할 수 있다.
다음으로, 본 실시형태에 따른 화상합성시스템(40)에 있어서, 512 x 512 x 512(이하 5123으로 표기한다)의 복셀로 이루어진 전체볼륨데이터(32)을 8분할하여, 렌더링처리할 수 있도록 256 x 256 x 256(이하 2563으로 표기한다)의 분할볼륨데이터(32a-32h)(도 21참조)를 제공한다. 각 분할볼륨데이터(32a-32h)의 경계면(ab-gh)까지의 합성계산결과를 일시기억메모리(256 x 64비트메모리사용시)에 저장하거나 독출하는 경우의 메모리어드레스포맷 및 데이터포맷의 처리에 대하여 설명한다.
어드레스포맷은, 도 24A에 도시하는 바와 같이, 18비트로 구성된다. 0-7의 비트는 컬럼어드레스를, 8-16의 비트는 로우어드레스를, 17의 비트는 뱅크어드레스를 각각 나타낸다. 데이터포맷은 도 24B에 나타내는 바와 같이 64비트로 구성되며, 이는 16비트의 컬러데이터(Co), 16비트의 불투명도데이터(??)의 2조의 데이터로 이루어진다. 불투명도데이터(??)는 컬러데이터(Co)의 존재율 혹은 다른 컬러에 미치는 관여율을 나타내는 데이터이다.
각 16비트의 데이터 중의 하위의 8비트는 소수부이다. 최종적인 화상으로서 필요한 데이터는 상위의 8비트이다. 그러나, 합성계산에 있어서 적화연산을 누적하면서 행하는 경우에, 상위 8비트의 정밀도를 확보하기 위해, 합성계산의 도중에서는 하위의 8비트를 포함한 16비트의 데이터를 유지한다.
본 실시형태에 있어서는, 뷰볼륨(view volume)의 크기를 바꾸면서 렌더링할 수 있다. 5123의 메모리를 하나의 뷰볼륨으로서 사용하는 경우와, 5123의 메모리를2563의 뷰어볼륨 8개로 분할하여 각각 별도의 데이터를 사용하는 경우의 두 가지가 있다. 전자를 512모드, 후자를 256모드로 칭한다. 이 때, 2563의 렌더링이 기본이고, 512모드는 2563의 렌더링을 8회 실시함에 의해 실현된다.
512모드에서는 u, v, w의 각 경계치(도 21참조)가 시선(C)과 볼륨데이터위치에 따라서 독출, 서입된다. 그러나 2563의 렌더링을 행할 때, 다음의 면과의 합성계산을 행하기 위해 w방향에 대하여 1면분의 합성계산결과를 축적해 둘 필요가 있다. 이 1면분의 합성계산결과를 '경계이외'로 칭하게 된다.
각 경계의 합성계산결과를 일시기억메모리에 기억하기 위해서는 다음의 어드레스가 필요하다. 즉, 'u'경계에서는 'u'자신이 일정하며, 따라서 v, w의 어드레스가 필요하다. 'v'경계에서는 'v'자신이 일정하며, 따라서 u, w의 어드레스가 필요하다. 'w'경계에서는 'w'자신이 일정하며, 따라서 u, v의 어드레스가 필요하게 된다.
도 24C는 256모드시 및 512모드이 경우의 'w'경계, 경계이외의 메모리어드레스포맷을 나타낸다. 도 24D는 그에 해당하는 데이터포맷을 나타낸다. 어드레스포맷의 9, 8비트째는 사용모드를 나타낸다. 이 2비트가 0, 0의 경우는 256모드 및 512모드의 경우에 'w'경계 및 경계이외를 나타낸다.
도 24E는 512모드시의 'u'경계의 메모리어드레스포맷을 나타낸다. 도 24F는 그 때의 데이터포맷을 나타낸다. 어드레스포맷의 9, 8비트째가 0, 1의 경우는 512모드시의 'u'경계를 나타낸다. 마찬가지로, 도 24G는 512모드시의 'v'경계의 메모리어드레스포맷을 나타낸다. 도 24H는 그 때의 데이터포맷을 나타낸다. 어드레스포맷의 9, 8비트째가 1, 0의 경우는 512모드시의 'v'경계를 나타낸다.
도 13에 나타내는 32병렬의 파이프라인구성의 화상합성시스템에서는, u, v, w의 좌표계에서 보듯이, 'u'방향으로 32병렬로 동시처리된다. 상기의 어드레스포멧에서는 u4-0이 배당되어 있지 않다. 또한, 하나의 메모리버스(30)를 사용하여 1회에 두 개의 데이터가 처리된다. 그러므로, 데이터포맷트의 0, 1로 나타내는 두 개분의 데이터가 독출, 서입된다.
다음으로, 분할볼륨데이터(32a-32h)의 렌더링순서에 대하여 설명한다. 도 25A는 512 x 512 x 512의 복셀로 된 전체볼륨데이터(32)를 8분할하여 얻어진 256 x 256 x 256의 분할볼륨데이터(32a-32h)(도 4참조)로 구성되는 볼륨데이터를 나타낸다. 도 25A에서 ①-⑧은 각 분할볼륨데이터(32a-32h)에 이하의 설명을 위해 붙인 번호이다. 각 분할볼륨데이터①-⑧의 위치와 u, v, w좌표치는 도 25B에 도시되어 있다.
도 26A는 볼륨렌더링에서의 시선(C)의 방향(도 4참조)에 의한 분할볼륨데이터 ①-⑧의 처리순서를 나타낸다. 시선(C)의 방향에 따라서 처리순서를 바꾸지 않으면 안 되는 이유는, 렌더링이 시선(C)의 방향을 따라서 복셀을 순서대로 따라서 행하기 때문이다. 다시 말해서 시선(C)의 멀리에 있는 분할볼륨데이터의 렌더링을 근처위치에 있는 분할볼륨데이터의 렌더링보다 먼저 행할 수 없기 때문이다. 도 26B-도 26E는 시선방향이 각각 도시의 시선(C)의 방향일 때의 분할볼륨데이터 ①-⑧의 처리순서를 1-8의 수자로 나타낸 것이다.
상기와 같이 볼륨데이터를 분할하여 렌더링을 행하는 경우, 경사계산부(22)에서는, 다음의 이유로 경계로부터 상하, 좌우, 전후로 나온 부분의 복셀을 사용할 필요가 있다. 즉, 도 27에 도시하는 바와 같이 렌더링중의 분할된 볼륨데이터 (32a)의 좌단(mr)이 경사계산의 중심복셀인 경우, 당해 중심복셀을 끼워서 상하, 좌우, 전후의 복셀(도 5참조)을 기초로 처리되기 때문이다.
따라서, 경사계산부(22)에 볼륨데이터를 공급하는 메모리제어부(20)는 분할렌더링에서 분할된 볼륨데이터의 영역을 넘어 더 볼륨데이터를 독출한다. 예를 들어 다음과 같이 제어된다. 즉, 렌더링방향이 'u'방향의 경우, 인접하는 우단 또는 좌단의 볼륨데이터를 우단 또는 좌단에서 더 독출한다. v방향의 경우, 처리할 1면마다 위로 또는 아래로 1라인분의 볼륨데이터을 더 독출한다. w방향의 경우, 처리의 최초 또는 최후에 1면분의 볼륨데이터를 더 독출한다.
이상과 같이, 본 발명에 관한 화상합성시스템에 따르면, 볼륨메모리로부터 소입방체를 구성하는 8개의 복셀을 단위로서 볼륨데이터를 독출하고, 경사계산부에서 중심복셀의 볼륨데이터와, 당해 중심복셀에 인접하는 복셀의 볼륨데이터에 의거하여 경사계산을 행하며, 순차적으로 중심복셀을 이동시켜 경사계산을 행하면서 다음의 경사계산에 필요한 볼륨데이터를 볼륨메모리로부터 독출하고, 그 경사계산결과를 순차적으로 합성계산부에서 누적하게 위해, 볼륨데이터의 표시에 필요한 계산처리를 소프트웨어에 의하지 않고 하드웨어에 의해 고속으로 처리할 수 있다는 효과가 얻어진다.
또한, 본 발명에 관한 화상합성시스템은, 볼륨렌더링에 있어서 전체볼륨데이터에 대하여 임의의 설정되는 가상적인 시선이 통과하는 복셀을 따라서 휘도정밀도를 합성계산할 때, 합성계산부에 있어서, 상기 분할된 볼륨데이터를 단위로서 순차 합성계산을 행하며, 합성계산결과를 베이스플레인메모리에 축적하고, 누적하는 구성으로 하였기 때문에, 각 복셀에 있어서의 합성계산결과를 기억하는 베이스플레인메모리를 상기 분할볼륨데이터에 대응한 기억용량으로 할 수 있고, 화상처리장치 내에 탑재하는 하드웨어자원인 메모리를 소용량의 소자로 구성할 수 있다.
이 경우, 분할볼륨데이터의 합성계산결과는 일시기억메모리에 축적되며, 당해 분할볼륨데이터에 인접하는 분할볼륨데이터의 합성계산개시시의 초기치로서 일시기억메모리에 축적된 합성계산결과가 사용되며, 그 결과, 분할된 볼륨데이터의 경계에서의 휘도정보의 합성계산의 연속성을 얻을 수 있다.
또한, 일시기억메모리를, 메모리버스를 통하여 화상처리장치에 접속한 외부기억장치로서 구성하고 있기 때문에, 화상처리장치의 내부회로소자를 증가하지 않고, 화상처리장치의 ASIC화가 용이하게 된다.

Claims (27)

  1. 3차원공간에서 수치데이터로 정의된 다수의 복셀로 된 볼륨데이터를 분할하여 얻은 다수의 분할데이터를 축적하는 볼륨메모리(12)와,
    화상처리장치(14, 29)와,
    상기 화상처리장치(14, 29)에 상기 볼륨메모리(12)를 접속하는 메모리버스 (30)와,
    상기 화상처리장치(14)로부터 출력되는 화상데이터를 저장하는 화상표시메모리(16)와,
    상기 화상표시메모리(16)에 저장된 상기 화상데이터에 의거하여 상기 볼륨데이터를 표시하는 표시장치(18)로 구성되며,
    상기 화상처리장치(14, 29)는
    소입방체를 구성하는 8개의 볼륨데이터로 각각 구성된 단위들로 이루어지는 상기 볼륨데이터를 상기 볼륨메모리(12)로부터 독출하는 메모리제어부(20)와,
    상기 메모리제어부(20)에 의해 독출된 상기 볼륨데이터 중의 중심복셀의 볼륨데이터와 상기 중심복셀에 인접한 복셀의 볼륨데이터에 의거하여 경사계산을 행하는 경사계산부(22)와,
    상기 경사계산부(22)에 의해 얻어진 계산결과에 의거하여 휘도계산을 행하는 휘도계산부(24)와,
    상기 볼륨데이터에 대하여 임의로 설정된 가상시선이 통과하는 복셀을 따라서 상기 휘도계산부(24)에 의해 얻어진 계산결과에 의거하여 합성계산을 행하는 합성계산부(26)와,
    상기 합성계산부(26)에 의해 얻어진 계산결과에 대하여 좌표변환을 행하는 좌표변환부(28)를 구비하는 것을 특징으로 하는 화상합성시스템.
  2. 제 1항에 있어서, 상기 볼륨메모리(12)는 상기 볼륨데이터를 각각 소입방체를 구성하는 8개의 볼륨데이터로 구성된 단위들로 이루어지는 입방체데이터로 분할하도록 동작되며, 상기 볼륨데이터는 상기 입방체데이터의 단위들을 사용하여 축적되어 메모리동작을 할 수 있게 하는 것을 특징으로 하는 화상합성시스템.
  3. 제 1항에 있어서, 상기 합성계산부(26)는 분할된 볼륨데이터의 단위들을 사용하여 합성계산을 행하며, 상기 화상처리장치(29)는 상기 합성계산부(26)의 상기 계산결과를 축적하는 베이스플레인메모리(27)를 구비하는 것을 특징으로 하는 화상합성시스템.
  4. 제 1항에 있어서, 상기 메모리제어부(20)는 상기 볼륨메모리(12)에 연속하여 저장된 1열분의 다수의 입방체데이터를 독출하며, 상기 메모리제어부는 상기 독출한 1열분의 입방체데이터를 그대로 저장하는 다수의 제 1레지스터(70a-70c)와 상기 입방체데이터의 일면을 구성하는 1면분의 상기 볼륨데이터를 저장하는 다수의 제 2레지스터(70d, 70e)를 구비하는 것을 특징으로 하는 화상합성시스템.
  5. 제 1항에 있어서, 상기 메모리제어부(20)는 상기 다수의 제 1레지스터(70a-70c) 및 상기 다수의 제 2레지스터(70d, 70e)에 저장된 상기 볼륨데이터 중에서 상기 경사계산부(22)에 의한 경사계산처리에 필요한 중심복셀과 상기 중심복셀에 인접한 복셀들의 볼륨데이터를 선택하여 상기 경사계산부(22)에 공급하는 셀렉터(72)를 구비하는 것을 특징으로 하는 화상합성시스템.
  6. 제 1항에 있어서, 상기 메모리제어부(20)는 상기 제 1레지스터(70a-70c) 및 상기 제 2레지스터(70d, 70e)에 저장된 상기 입방체데이터 중에서, 상기 경사계산부(22)에 의한 상기 경사처리에 필요한 중심으로서 기능하는 입방체데이터와 이 입방체데이터에 대하여 상방으로 인접하는 입방체데이터, 하방으로 인접하는 입방체데이터, 전방으로 인접하는 입방체데이터 및 후방으로 인접하는 입방체데이터를 선택하여 상기 경사계산부(22)에 공급하는 것을 특징으로 하는 화상합성시스템.
  7. 제 4항에 있어서, 상기 제 1레지스터(70a-70c)와 상기 제 2레지스터(70d, 70e)의 각각은 상기 볼륨메모리(12)의 안쪽방향, 종방향 또는 횡방향으로 연속하여 축적된 안쪽방향으로의 1열분의 볼륨데이터, 종방향으로의 1열분의 볼륨데이터 또는 횡방향으로의 1열분의 볼륨데이터을 축적할 수 있는 용량을 갖는 것을 특징으로 하는 화상합성시스템.
  8. 제 7항에 있어서, 상기 제 1레지스터(70a-70c)는 적어도 3개의 레지스터로 구성되고, 상기 제 2레지스터(70d, 70e)는 적어도 2개의 레지스터로 구성되는 것을 특징으로 하는 화상합성시스템.
  9. 제 7항에 있어서, 상기 메모리제어부(20)는 상기 경사계산부(22)에 의한 상기 경사계산처리에 필요한 상기중심으로 기능하는 복셀이 상기 입방체데이터 내에서 하나씩 위로 이동할 때마다 상기 볼륨메모리(12)로부터 다음 단계에서 필요한 횡 1열분의 입방체데이터를 독출하는 것을 특징으로 하는 화상합성시스템.
  10. 제 1항에 있어서, 상기 메모리제어부(20)는 입방체데이터의 단위들을 사용하여 상기 볼륨메모리(12)로부터 상기 볼륨데이터를 독출하고, 상기 경가계산부(22), 상기 휘도계산부(24) 및 상기 합성계산부(26)는 상기 입방체데이터를 단일 복셀의 볼륨데이터들로 분해하여 계산처리를 행하는 것을 특징으로 하는 화상합성시스템.
  11. 제 1항에 있어서, 상기 화상처리장치(14, 29)는 병렬동작하는 다수의 소자(ASIC0-ASIC7)로 구성되며, 상기 각 소자(ASIC0-ASIC7)는 각각 복수의 상기 메모리버스(30)를 통하여 상기 볼륨메모리(12)를 구성하는 복수의 메모리소자(13a-13n)에 접속되며, 상기 볼륨데이터는 상기 메모리버스(30)의 수에 따른 스큐를 갖고 상기 볼륨메모리에 저장되는 것을 특징으로 하는 화상합성시스템.
  12. 제 1항에 있어서, 상기 볼륨메모리(12)는 상기 분할된 볼륨데이터에 관련된 상기 합성계산결과를 일시저장하는 일시저장메모리(12b)로 구성되며, 상기 일시저장메모리(12b)에 저장된 상기 합성계산결과는, 인접분할볼륨데이터에 대하여 상기 합성이 개시될 때 독출되어 상기 합성계산에 필요한 초기치로서 사용되는 것을 특징으로 하는 화상합성시스템.
  13. 제 12항에 있어서, 상기 일시저장메모리(12b)는 상기 메모리버스(30)를 통하여 상기 화상처리장치(14)에 접속되는 것을 특징으로 하는 화상합성시스템.
  14. 제 1항에 있어서, 상기 볼륨메모리(12)는 각각 8개의 볼륨데이터로 구성된 단위들로 이루어지는 입방체데이터를 순차 안쪽방향, 종방향 및 횡방향으로 축적하는 것을 특징으로 하는 화상합성시스템.
  15. 제 1항에 있어서, 상기 화상처리장치(14, 29)는 상기 전체볼륨데이터를 구성하는 각각의 입방체데이터를 최전방면에 관련된 입방체데이터로부터 개시하여 1면씩 연속하여 처리하는 것을 특징으로 하는 화상합성시스템.
  16. 제 1항에 있어서, 중심으로 처리대상의 복셀이 사용되며, 상기 경사계산부 (22)는 상기 처리대상의 상기 복셀의 전방에 배치된 복셀, 후방에 배치된 복셀, 좌방에 배치된 복셀, 우방에 배치된 복셀, 상방에 배치된 복셀 및 하방에 배치된 복셀에 의거하여 상기 처리대상의 상기 복셀의 경사를 계산하는 것을 특징으로 하는 화상합성시스템.
  17. 제 1항에 있어서, 상기 합성계산부(26)는, 상기 볼륨메모리(12)에 축적된 이전의 복셀에 관련된 합성계산결과를 독출하여 상기 휘도계산부(24)에 대한 상기 휘도데이터를 누적계산하여 상기 데이터를 상기 볼륨메모리(12)에 축적함으로써, 임의로 설정된 시점으로부터 나오는 가상시선이 통과하는 복셀들과 관련된 상기 휘도계산부(24)에 대한 휘도데이터를 누적계산하는 것을 특징으로 하는 화상합성시스템.
  18. 제 1항에 있어서, 상기 볼륨데이터는 초음파진단장치를 사용하여 얻어진 계측데이터인 것을 특징으로 하는 화상합성시스템.
  19. 제 18항에 있어서, 상기 계측데이터는 생체내 조직의 밀도데이터인 것을 특징으로 하는 화상합성시스템.
  20. 제 1항에 있어서, 상기 볼륨메모리(12)는 고속데이터전송버스(30)에 접속할 수 있게 구성되며, 상기 고속데이터전송버스(30)를 사용하여 상기 화상처리장치 (14)에 접속되는 것을 특징으로 하는 화상합성시스템.
  21. 제 1항에 있어서, 상기 화상처리장치(14, 29)는 다수의 ASIC로 구성되며, 각 화상처리장치(14, 29)는 횡 1열분의 상기 볼륨데이터를 처리하고, 상기 볼륨메모리로부터 이후의 횡 1열분의 볼륨데이터를 독출하고, 상기 합성계산결과축적부(12b)로부터 상기 합성계산결과를 독출하고, 상기 합성계산결과를 상기 합성계산결과축적부(12b)에 저장하는 파이프라인처리를 행하도록 구성되는 것을 특징으로 하는 화상합성시스템.
  22. 제 21항에 있어서, 상기 화상처리장치(14, 29)는 8개의 AISC로 구성되며, 그 각각은 2개의 고속데이터전송버스(30)를 사용하여 상기 볼륨메모리(12)에 접속되는 것을 특징으로 하는 화상합성시스템.
  23. 제 1항에 있어서, 상기 볼륨데이터는 8개의 분할된 볼륨데이터로 분할되는 것을 특징으로 하는 화상합성시스템.
  24. 제 1항에 있어서, 상기 화상처리장치(14, 29)는 하나의 뷰볼륨으로서 상기 전체볼륨데이터를 사용하면서 계산을 행하는 제 1처리모드와, 뷰볼륨으로서 상기 분할된 볼륨데이터를 사용하면서 계산을 행하는 제 2처리모드를 갖는 것을 특징으로 하는 화상합성시스템.
  25. 제 24항에 있어서, 상기 제 1처리모드 및 제 2처리모드는 상기 합성계산부 (26)에 대한 상기 합성계산결과가 임시저장용으로 상기 볼륨메모리(12)에 서입이나 독출될 때 사용되는 어드레스정보내의 특정비트에 의해 결정되는 것을 특징으로 하는 화상합성시스템.
  26. 제 1항에 있어서, 상기 화상처리장치(14, 29)는 임의로 설정된 시점으로부터 생긴 가상시선의 방향에 따라서 상기 분할된 볼륨데이터의 계산처리순서를 바꾸는 것을 특징으로 하는 화상합성시스템.
  27. 제 1항에 있어서, 상기 경사계산부(22)에서 행해진 상기 경사계산에 필요한 중심복셀은 상기 분할된 볼륨데이터의 경계와 접촉하는 외측단에 배치된 복셀이며, 상기 메모리제어부(20)는 상기 경계를 사이에 두고 인접한 분할된 볼륨데이터의 최외측단에서, 상기 경사계산에 필요한 상기 중심복셀에 인접한 복셀의 상기 볼륨데이터를 상기 볼륨메모리(12)로부터 독출하는 것을 특징으로 하는 화상합성시스템.
KR1019990018717A 1998-05-25 1999-05-24 화상합성시스템 KR100318044B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP14339998A JPH11339062A (ja) 1998-05-25 1998-05-25 画像合成システム
JP10297269A JP2000123194A (ja) 1998-10-19 1998-10-19 画像合成システム
JP?10-297269? 1998-10-19
JP?10-143399? 1999-05-25

Publications (2)

Publication Number Publication Date
KR20000028579A KR20000028579A (ko) 2000-05-25
KR100318044B1 true KR100318044B1 (ko) 2001-12-22

Family

ID=26475143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990018717A KR100318044B1 (ko) 1998-05-25 1999-05-24 화상합성시스템

Country Status (4)

Country Link
US (1) US6369817B1 (ko)
EP (1) EP0961223A3 (ko)
KR (1) KR100318044B1 (ko)
CA (1) CA2272985A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210653B2 (en) 2011-08-09 2019-02-19 Samsung Electronics Co., Ltd. Method and apparatus to generate a volume-panorama image

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE345650T1 (de) * 2000-09-07 2006-12-15 Actuality Systems Inc Volumetrische bildanzeigevorrichtung
KR100392516B1 (ko) * 2001-01-02 2003-07-22 주식회사 인피니트테크놀로지 보간되지 않은 볼륨 데이터의 실시간 렌더링 방법
JP4794059B2 (ja) 2001-03-09 2011-10-12 富士通セミコンダクター株式会社 半導体装置
KR100441082B1 (ko) * 2002-07-31 2004-07-21 학교법인연세대학교 가시 순차적 분할 렌더링 알고리즘을 이용한 3차원 텍스쳐기반의 볼륨 그래픽 구조 및 방법
JP5115568B2 (ja) * 2009-11-11 2013-01-09 カシオ計算機株式会社 撮像装置、撮像方法、及び撮像プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5187660A (en) * 1989-12-01 1993-02-16 At&T Bell Laboratories Arrangement for displaying on a display volumetric data
US5442733A (en) * 1992-03-20 1995-08-15 The Research Foundation Of State University Of New York Method and apparatus for generating realistic images using a discrete representation
JP3416226B2 (ja) 1993-10-22 2003-06-16 東京瓦斯株式会社 炭素の安定同位体比を求めるための解析方法
US5594842A (en) * 1994-09-06 1997-01-14 The Research Foundation Of State University Of New York Apparatus and method for real-time volume visualization
JP3203160B2 (ja) * 1995-08-09 2001-08-27 三菱電機株式会社 ボリューム・レンダリング装置及び方法
US5900880A (en) * 1996-03-06 1999-05-04 General Electric Company 3-D surfaces generated from a list of cubic elements
US5986662A (en) * 1996-10-16 1999-11-16 Vital Images, Inc. Advanced diagnostic viewer employing automated protocol selection for volume-rendered imaging
US6008813A (en) * 1997-08-01 1999-12-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Real-time PC based volume rendering system
US6040835A (en) * 1997-11-06 2000-03-21 Mitsubishi Electric Information Technology Center America, Inl. (Ita) System for depicting surfaces using volumetric distance maps
US6084593A (en) * 1998-05-14 2000-07-04 Mitsubishi Electric Information Technology Center America, Inc. Surface net smoothing for surface representation from binary sampled data
US6219060B1 (en) * 1998-10-15 2001-04-17 General Electric Company Rendering of surfaces from volumetric data employing both dividing and stretching cubes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210653B2 (en) 2011-08-09 2019-02-19 Samsung Electronics Co., Ltd. Method and apparatus to generate a volume-panorama image

Also Published As

Publication number Publication date
CA2272985A1 (en) 1999-11-25
US6369817B1 (en) 2002-04-09
KR20000028579A (ko) 2000-05-25
EP0961223A3 (en) 2004-09-29
EP0961223A2 (en) 1999-12-01

Similar Documents

Publication Publication Date Title
US7920996B2 (en) Sliced data structure for particle-based simulation, and method for loading particle-based simulation using sliced data structure into GPU
JP4158007B2 (ja) ボリュームデータ集合・レンダリング方法、ボリューム・グラフィックス・システム
US7333107B2 (en) Volume rendering apparatus and process
US5201035A (en) Dynamic algorithm selection for volume rendering, isocontour and body extraction within a multiple-instruction, multiple-data multiprocessor
US7327363B2 (en) Image processing apparatus, and computer program
US20050068333A1 (en) Image processing apparatus and method of same
US20040075655A1 (en) 3D computer graphics processing apparatus and method
EP2831848B1 (en) Method for estimating the opacity level in a scene and corresponding device
US20060066611A1 (en) Image processing device and program
US20030160798A1 (en) Bucket-sorting graphical rendering apparatus and method
US6172687B1 (en) Memory device and video image processing apparatus using the same
JP2000348202A (ja) ボクセルを有するボリューム・データ・セットのずらし−ワープ・レンダリング方法、ボリューム・データ・セットのレンダリング装置
US6862025B2 (en) Recursive ray casting method and apparatus
JP3589654B2 (ja) ボリュームレンダリング方法とそのプログラム
Yuan et al. Generalized Voronoi diagram computation on GPU
KR100318044B1 (ko) 화상합성시스템
JPH0927045A (ja) 画像処理装置
Lux et al. GPU-based ray casting of multiple multi-resolution volume datasets
US7372461B2 (en) Image processing apparatus and method of same
US7372466B2 (en) Image processing apparatus and method of same
JPH11339062A (ja) 画像合成システム
Mikhaylyuk et al. Memory-effective methods and algorithms of shader visualization of digital core material model
JP2000123194A (ja) 画像合成システム
Zhang et al. Interactive point-based isosurface exploration and high-quality rendering
Nilsson Optimization Methods for Direct Volume Rendering on the Client Side Web

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee