KR102352985B1 - Method and apparatus system for volume data visualization interface through virtual widget based on touch screen - Google Patents

Method and apparatus system for volume data visualization interface through virtual widget based on touch screen Download PDF

Info

Publication number
KR102352985B1
KR102352985B1 KR1020200083527A KR20200083527A KR102352985B1 KR 102352985 B1 KR102352985 B1 KR 102352985B1 KR 1020200083527 A KR1020200083527 A KR 1020200083527A KR 20200083527 A KR20200083527 A KR 20200083527A KR 102352985 B1 KR102352985 B1 KR 102352985B1
Authority
KR
South Korea
Prior art keywords
widget
user
virtual widget
volume
virtual
Prior art date
Application number
KR1020200083527A
Other languages
Korean (ko)
Other versions
KR20220005851A (en
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
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020200083527A priority Critical patent/KR102352985B1/en
Publication of KR20220005851A publication Critical patent/KR20220005851A/en
Application granted granted Critical
Publication of KR102352985B1 publication Critical patent/KR102352985B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

터치 스크린 기반의 가상 위젯을 통한 볼륨 데이터 시각화 인터페이스 방법 및 장치가 개시된다. 일 실시예에 따른 인터페이스 방법은, 볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스 방법에 있어서, 상기 볼륨 데이터를 이용하여 디스플레이되는 볼륨에 대한 상기 사용자의 제1 상호 작용을 수신하는 단계와, 상기 사용자의 제1 상호 작용에 기초하여 상기 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 상기 볼륨 상에 생성하는 단계와, 상기 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 부분적으로 가시화하는 단계를 포함한다.Disclosed are a method and apparatus for visualizing volume data through a touch screen-based virtual widget. An interface method according to an embodiment comprises the steps of: receiving a first interaction of the user with respect to a volume displayed using the volume data; generating on the volume a virtual widget for controlling visualization of the interior of the volume based on a first interaction of do.

Description

터치 스크린 기반의 가상 위젯을 통한 볼륨 데이터 시각화 인터페이스 방법 및 장치{METHOD AND APPARATUS SYSTEM FOR VOLUME DATA VISUALIZATION INTERFACE THROUGH VIRTUAL WIDGET BASED ON TOUCH SCREEN}Method and device for visualizing volume data through touch screen-based virtual widgets

아래 실시예들은 터치 스크린 기반의 가상 위젯을 통한 볼륨 데이터 시각화 인터페이스 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for visualizing volume data through a touch screen-based virtual widget.

볼륨 데이터는 3차원 공간 상에서 값이 정의가 되어 있는 데이터이다. 볼륨 데이터는 2차원 공간 상에서 값이 정의가 되어 있는 데이터인 이미지의 확장형이라고 할 수 있다. 예를 들어, 볼륨 데이터는 CT, MRI 영상과 같은 의료 영상 또는 대기 관측 데이터 등이 있다.Volume data is data whose values are defined in a three-dimensional space. Volume data can be said to be an extension of an image, which is data whose values are defined in a two-dimensional space. For example, the volume data may include a medical image such as a CT or MRI image, or atmospheric observation data.

1970년대 초에 개발된 컴퓨터 단층 영상 촬영장치인CT는 내부 구조를 침습 없는 영상으로 확인할 수 있는 획기적인 기술로 3차원 볼륨 데이터를 제공한다. 볼륨 데이터를 시각화하고 분석하는 다양한 기법들은 그동안 많은 발전을 하였고, 특히 ‘볼륨 렌더링’ 기법은 3차원 볼륨 데이터를 가시화하는 방법으로 의학과 같은 전문 분야에서 보편적으로 활용되고 있다.CT, a computed tomography imaging device developed in the early 1970s, is a groundbreaking technology that can check internal structures without invasiveness and provides three-dimensional volume data. Various techniques for visualizing and analyzing volume data have developed a lot, and in particular, the 'volume rendering' technique is commonly used in specialized fields such as medicine as a method to visualize 3D volume data.

볼륨 렌더링은 볼륨 데이터를 시각화하기 위해 3차원 데이터를 2차원 화면에 투영하는 것을 의미한다. 볼륨 렌더링 방법은 간접 볼륨 렌더링(Indirect volume rendering)과 직접 볼륨 렌더링(Direct volume rendering) 두 종류로 분류할 수 있다.Volume rendering refers to projecting 3D data onto a 2D screen to visualize volume data. The volume rendering method can be classified into two types: indirect volume rendering and direct volume rendering.

간접 볼륨 렌더링은 볼륨 데이터로부터 표면을 도출하여 그 표면을 렌더링하는 방식이다. 직접 볼륨 렌더링은 표면의 추출 없이 볼륨 데이터를 곧바로 렌더링하는 방식이다. 직접 볼륨 렌더링은 간접 볼륨 렌더링에 비해 구현이 까다롭지만, 볼륨 데이터의 특성을 효과적으로 시각화 한다. 따라서, 직접 볼륨 렌더링은 고성능 시각화 작업의 경우 많이 쓰인다. 레이 캐스팅(Ray casting)은 직접 볼륨 렌더링 방법 중 하나로, 각 픽셀마다 볼륨을 향해 레이(광선)를 쏘아, 레이가 지나가는 부근의 볼륨 데이터 값을 종합하여 픽셀의 색상을 결정하는 방식이다.Indirect volume rendering is a method of rendering a surface by deriving a surface from volume data. Direct volume rendering is a method of rendering volume data directly without surface extraction. Direct volume rendering is more difficult to implement than indirect volume rendering, but it effectively visualizes the characteristics of volume data. Therefore, direct volume rendering is often used for high-performance visualization tasks. Ray casting is one of the direct volume rendering methods, in which a ray (ray) is shot toward the volume for each pixel, and the color of the pixel is determined by synthesizing the volume data values in the vicinity where the ray passes.

볼륨 데이터는 의료 영상이나 기계의 내부, 대기 관측 데이터 등 관람객에게 유용한 정보를 제공할 수 있는 다양한 데이터들이 많이 있다. 하지만 볼륨 데이터는 3차원 데이터라는 특성 때문에 일반적인 평면 데이터보다 조작하는 데 어려움이 있으며, 더욱이 사용자가 주로 전문가로 한정되어 있어서 이의 조작 기법에 관한 연구는 시각화 기법보다 발전이 더디었다.There are many types of volume data that can provide useful information to visitors, such as medical images, machine interior, and atmospheric observation data. However, volume data is more difficult to manipulate than general planar data due to the characteristics of three-dimensional data, and furthermore, research on manipulation techniques has been slower than visualization techniques because users are mainly limited to experts.

즉, 볼륨 데이터는 이미지에 비해 많은 정보를 가지고 있지만, 전문 분야 이외에 활용되는 경우는 드물다. 그 이유는, 시각화가 간편한 이미지에 비해 볼륨 데이터를 시각화하는 기법의 구현이 까다롭고, 사용자가 의도에 따라 볼륨 데이터를 관찰하는 인터페이스 또한 미비하기 때문이다. 즉, 볼륨 데이터를 마우스를 이용하여 조작하는 방식은 관람객과 같은 비전문가가 짧은 시간 안에 정보를 습득하기 위한 시스템에 알맞지 않았다. 따라서, 전시 등의 목적으로 볼륨 데이터를 활용하기 위해서는 시각화 기법뿐만 아니라 사용자가 볼륨 데이터를 쉽게 관찰할 수 있는 직관적인 인터페이스가 필요하다.That is, although volume data has more information than images, it is rarely used outside of specialized fields. The reason is that it is difficult to implement a technique for visualizing volume data compared to an image that is easy to visualize, and the interface for observing volume data according to the user's intention is also insufficient. That is, the method of manipulating volume data using a mouse is not suitable for a system for non-specialists such as visitors to acquire information in a short time. Therefore, in order to utilize volume data for purposes such as exhibitions, not only a visualization technique but also an intuitive interface through which a user can easily observe volume data is required.

실시예들은 사용자가 시각화된 볼륨 데이터의 내부 및/또는 외부를 직관적으로 제어하여 관찰할 수 있도록 인터페이스를 제공할 수 있다.Embodiments may provide an interface so that a user can intuitively control and observe the inside and/or outside of the visualized volume data.

또한, 실시예들은 가상 위젯을 통해 볼륨 데이터의 부분적인 가시성을 변경하여 시각화하고, 사용자가 터치 스크린 상에서 가상 위젯을 생성, 편집 및 삭제하는 인터페이스를 제공할 수 있다.In addition, embodiments may change and visualize partial visibility of volume data through a virtual widget, and provide an interface for a user to create, edit, and delete virtual widgets on a touch screen.

다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical tasks are not limited to the above-described technical tasks, and other technical tasks may exist.

일 실시예에 따른 인터페이스 방법은, 볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스 방법에 있어서, 상기 볼륨 데이터를 이용하여 디스플레이되는 볼륨에 대한 상기 사용자의 제1 상호 작용을 수신하는 단계와, 상기 사용자의 제1 상호 작용에 기초하여 상기 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 상기 볼륨 상에 생성하는 단계와, 상기 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 부분적으로 가시화하는 단계를 포함한다.An interface method according to an embodiment comprises the steps of: receiving a first interaction of the user with respect to a volume displayed using the volume data; generating on the volume a virtual widget for controlling visualization of the interior of the volume based on a first interaction of do.

상기 방법은, 상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들을 획득하는 단계와, 상기 복수의 전체 집중점들을 공간 자료 구조에 저장하는 단계를 더 포함할 수 있다.The method may further include acquiring a plurality of total focus points that are points of increasing visibility in the volume data, and storing the plurality of total focus points in a spatial data structure.

상기 저장하는 단계는, 상기 복수의 전체 집중점들을 RGB 텍스처로 부호화하는 단계와, 복수의 부호화된 전체 집중점들을 복호화하여 상기 공간 자료 구조에 저장하는 단계를 포함할 수 있다.The storing may include encoding the plurality of all focused points into an RGB texture, and decoding the plurality of encoded all focused points and storing the decoded data in the spatial data structure.

상기 생성하는 단계는, 상기 사용자의 제1 상호 작용에 대응하는 상기 볼륨 상의 스케치 위치를 획득하는 단계와, 상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들 중에서 상기 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택하는 단계와, 상기 복수의 관심 집중점들 및 상기 복수의 전체 집중점들을 이용하여 상기 가상 위젯의 크기 및 위치를 결정하는 단계와, 상기 제1 상호 작용의 형태에 따라 상기 가상 위젯의 타입을 결정하는 단계와, 상기 크기, 상기 위치, 및 상기 타입에 따라 상기 가상 위젯을 생성하는 단계를 포함할 수 있다.The generating may include: acquiring a sketch position on the volume corresponding to the first interaction of the user; selecting focal points as a plurality of focal points; determining a size and position of the virtual widget using the plurality of focal points and the plurality of total focal points; The method may include determining the type of the virtual widget according to the shape of the , and generating the virtual widget according to the size, the position, and the type.

상기 가상 위젯의 타입을 결정하는 단계는, 상기 사용자의 제1 상호 작용이 직선 형태인 때 상기 가상 위젯의 타입을 웨지(wedge) 위젯으로 결정하는 단계를 포함할 수 있다.The determining of the type of the virtual widget may include determining the type of the virtual widget as a wedge widget when the user's first interaction is a straight line.

상기 가상 위젯의 타입을 결정하는 단계는, 상기 사용자의 제1 상호 작용이 원 형태인 때 상기 가상 위젯의 타입을 아이리스(iris) 위젯으로 결정하는 단계를 포함할 수 있다.The determining of the type of the virtual widget may include determining the type of the virtual widget as an iris widget when the user's first interaction is a circle shape.

상기 방법은, 상기 가상 위젯에 대한 상기 사용자의 제2 상호 작용을 수신하는 단계와, 상기 사용자의 제2 상호 작용에 기초하여 상기 가상 위젯을 변형하는 단계와, 변형된 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 가시화하는 단계를 더 포함할 수 있다.The method includes: receiving a second interaction of the user with the virtual widget; deforming the virtual widget based on the second interaction of the user; and on the volume according to the deformed virtual widget. The method may further include visualizing the inside of the volume.

상기 제2 상호 작용은, 상기 사용자가 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력될 수 있다.The second interaction may be input by the user dragging different points of the boundary surface of the virtual widget.

상기 방법은, 상기 사용자의 제2 상호 작용이 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 상기 서로 다른 지점의 경계면이 일치하는 때, 상기 가상 위젯을 삭제하는 단계를 더 포함할 수 있다.The method may further include deleting the virtual widget when the user's second interaction is by dragging different points of the boundary surface of the virtual widget so that the boundary surfaces of the different points coincide.

상기 생성하는 단계는, 상기 가상 위젯에 대한 정보를 가상 위젯 배열에 저장하는 단계와, 상기 가상 위젯 배열에 저장된 정보를 렌더링하여 상기 가상 위젯에 대한 가상 위젯 렌더링 이미지를 생성하는 단계를 포함할 수 있다.The generating may include storing information on the virtual widget in a virtual widget array, and generating a virtual widget rendering image for the virtual widget by rendering information stored in the virtual widget array. .

일 실시예에 따른 인터페이스 장치는, 볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스를 위한 인스트럭션들을 저장하는 메모리와, 상기 인스트럭션들을 실행하기 위한 컨트롤러를 포함하고, 상기 인스트럭션들이 상기 컨트롤러에 의해 실행될 때, 상기 컨트롤러는, 상기 볼륨 데이터를 이용하여 디스플레이되는 볼륨에 대한 상기 사용자의 제1 상호 작용을 수신하고, 상기 사용자의 제1 상호 작용에 기초하여 상기 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 상기 볼륨 상에 생성하고, 상기 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 부분적으로 가시화한다.An interface device according to an embodiment includes a memory for storing instructions for an interface that visualizes volume data to interact with a user, and a controller for executing the instructions, wherein when the instructions are executed by the controller, The controller is configured to receive a first interaction of the user with respect to the displayed volume by using the volume data, and generate a virtual widget for controlling visualization of the interior of the volume based on the first interaction of the user. Create on the volume, and partially visualize the inside of the volume on the volume according to the virtual widget.

상기 컨트롤러는, 상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들을 획득하고, 상기 복수의 전체 집중점들을 공간 자료 구조에 저장할 수 있다.The controller may acquire a plurality of total focus points that are points with increased visibility in the volume data, and store the plurality of total focus points in a spatial data structure.

상기 컨트롤러는, 상기 복수의 전체 집중점들을 RGB 텍스처로 부호화하고, 복수의 부호화된 전체 집중점들을 복호화하여 상기 공간 자료 구조에 저장할 수 있다.The controller may encode the plurality of all focused points into an RGB texture, decode the plurality of encoded all focused points, and store the decoded data in the spatial data structure.

상기 컨트롤러는, 상기 사용자의 제1 상호 작용에 대응하는 상기 볼륨 상의 스케치 위치를 획득하고, 상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들 중에서 상기 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택하고, 상기 복수의 관심 집중점들 및 상기 복수의 전체 집중점들을 이용하여 상기 가상 위젯의 크기 및 위치를 결정하고, 상기 제1 상호 작용의 형태에 따라 상기 가상 위젯의 타입을 결정하고, 상기 크기, 상기 위치, 및 상기 타입에 따라 상기 가상 위젯을 생성할 수 있다.The controller acquires a sketch position on the volume corresponding to the user's first interaction, and selects a plurality of focus points corresponding to the sketch position from among a plurality of total focus points that are points with increased visibility in the volume data. , determine the size and position of the virtual widget using the plurality of focus points and the plurality of total focus points, and determine the size and position of the virtual widget according to the first interaction type. The type may be determined, and the virtual widget may be created according to the size, the position, and the type.

상기 컨트롤러는, 상기 사용자의 제1 상호 작용이 직선 형태인 때 상기 가상 위젯의 타입을 웨지(wedge) 위젯으로 결정할 수 있다.The controller may determine the type of the virtual widget as a wedge widget when the user's first interaction is a straight line.

상기 컨트롤러는, 상기 사용자의 제1 상호 작용이 원 형태인 때 상기 가상 위젯의 타입을 아이리스(iris) 위젯으로 결정할 수 있다.The controller may determine the type of the virtual widget as an iris widget when the user's first interaction is a circle shape.

상기 컨트롤러는, 상기 가상 위젯에 대한 상기 사용자의 제2 상호 작용을 수신하고, 상기 사용자의 제2 상호 작용에 기초하여 상기 가상 위젯을 변형하고, 변형된 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 가시화할 수 있다.The controller is configured to receive a second interaction of the user with respect to the virtual widget, deform the virtual widget based on the second interaction of the user, and configure the inside of the volume on the volume according to the modified virtual widget. can be visualized.

상기 제2 상호 작용은, 상기 사용자가 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력될 수 있다.The second interaction may be input by the user dragging different points of the boundary surface of the virtual widget.

상기 컨트롤러는, 상기 사용자의 제2 상호 작용이 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 상기 서로 다른 지점의 경계면이 일치하는 때, 상기 가상 위젯을 삭제할 수 있다.The controller may delete the virtual widget when the boundary surfaces of the different points coincide with the user's second interaction by dragging different points of the boundary surface of the virtual widget.

상기 컨트롤러는, 상기 가상 위젯에 대한 정보를 가상 위젯 배열에 저장하고, 상기 가상 위젯 배열에 저장된 정보를 렌더링하여 상기 가상 위젯에 대한 가상 위젯 렌더링 이미지를 생성할 수 있다.The controller may store information on the virtual widget in a virtual widget array, and generate a virtual widget rendering image for the virtual widget by rendering the information stored in the virtual widget array.

도 1은 일 실시예에 따른 인터페이스 시스템을 나타낸 도면이다.
도 2는 도 1에 도시된 인터페이스 장치를 개략적으로 나타낸 도면이다.
도 3은 도 2에 도시된 컨트롤러를 개략적으로 나타낸 도면이다.
도 4는 도 3에 도시된 GPU가 집중점을 획득하기 위하여 이용하는 알고리즘을 나타낸 도면이다.
도 5는 도 3에 도시된 프로세서 및 GPU를 개략적으로 나타낸 도면이다.
도 6은 도 5에 도시된 사용자 입력 처리기를 개략적으로 나타낸 도면이다.
도 7은 도 5에 도시된 집중점 처리기를 개략적으로 나타낸 도면이다.
도 8은 도 3에 도시된 GPU를 개략적으로 나타낸 도면이다.
도 9는 인터페이스 장치가 복수의 관심 집중점들을 관심 집중점 배열로 저장하는 동작을 설명하기 위한 도면이다.
도 10은 집중점을 저장하는 공간 자료 구조를 시각화한 일 예를 나타낸다.
도 11 내지 도 16는 인터페이스 장치가 가상 위젯을 생성하는 동작을 설명하기 위한 도면이다.
도 17은 인터페이스 장치의 편집 모드에서 인터페이스 장치가 사용자의 상호 작용에 의해 가상 위젯을 편집 또는 삭제하는 동작을 설명하기 위한 도면이다.
도 18은 사용자 입력 처리기가 가상 위젯을 변형하는 과정을 설명하기 위한 도면이다.
도 19는 그래픽 렌더링기의 동작을 설명하기 위한 도면이다.
1 is a diagram illustrating an interface system according to an embodiment.
FIG. 2 is a diagram schematically illustrating the interface device shown in FIG. 1 .
FIG. 3 is a diagram schematically illustrating the controller shown in FIG. 2 .
4 is a diagram illustrating an algorithm used by the GPU shown in FIG. 3 to obtain a focus point.
FIG. 5 is a diagram schematically illustrating the processor and GPU shown in FIG. 3 .
FIG. 6 is a diagram schematically illustrating the user input processor shown in FIG. 5 .
FIG. 7 is a diagram schematically illustrating the focus point processor shown in FIG. 5 .
FIG. 8 is a diagram schematically illustrating the GPU shown in FIG. 3 .
FIG. 9 is a diagram for explaining an operation in which the interface device stores a plurality of POIs in an POI array.
10 shows an example of a visualization of a spatial data structure for storing a focus point.
11 to 16 are diagrams for explaining an operation in which the interface device creates a virtual widget.
FIG. 17 is a diagram for explaining an operation of editing or deleting a virtual widget by the user's interaction by the interface device in the editing mode of the interface device.
18 is a diagram for describing a process in which a user input processor transforms a virtual widget.
19 is a diagram for explaining an operation of a graphic renderer.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or a combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is "connected", "coupled" or "connected" to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, descriptions described in one embodiment may be applied to other embodiments as well, and detailed descriptions within the overlapping range will be omitted.

본 명세서에서의 모듈(module) 은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다. 다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.A module in the present specification may mean hardware capable of performing functions and operations according to each name described in this specification, or may mean computer program code capable of performing specific functions and operations, , or an electronic recording medium on which a computer program code capable of performing specific functions and operations is loaded, for example, may refer to a processor or a microprocessor. In other words, a module may mean a functional and/or structural combination of hardware for carrying out the technical idea of the present invention and/or software for driving the hardware.

도 1은 일 실시예에 따른 인터페이스 시스템을 나타낸 도면이다.1 is a diagram illustrating an interface system according to an embodiment.

인터페이스 시스템(10)은 터치 스크린(100) 및 인터페이스 장치(200)를 포함한다.The interface system 10 includes a touch screen 100 and an interface device 200 .

인터페이스 시스템(10)은 사용자가 터치 스크린(100)을 통해 시각화된 볼륨 데이터와 상호작용할 수 있는 인터페이스를 제공할 수 있다. 예를 들어, 인터페이스 시스템(10)은 사용자가 터치 스크린(100)을 통해 시각화된 볼륨 데이터의 내부 및/또는 외부를 직관적으로 제어하며 관찰할 수 있도록 하는 인터페이스를 제공할 수 있다.The interface system 10 may provide an interface through which a user may interact with the volume data visualized through the touch screen 100 . For example, the interface system 10 may provide an interface that allows a user to intuitively control and observe the inside and/or outside of the volume data visualized through the touch screen 100 .

인터페이스 시스템(10)은 볼륨 데이터가 가시화된(예를 들어, 렌더링된) 볼륨의 부분적인 가시성을 가상 위젯을 통해 변경하여 볼륨의 내부 및/또는 외부를 시각화하고, 사용자가 터치 스크린(100) 상에서 가상 위젯을 생성, 편집 및 삭제하는 인터페이스를 제공할 수 있다.The interface system 10 visualizes the inside and/or outside of the volume by changing the partial visibility of the volume in which the volume data is visualized (eg, rendered) through the virtual widget, and the user on the touch screen 100 It can provide an interface to create, edit, and delete virtual widgets.

인터페이스 시스템(10)은 비전문가의 정보 습득을 위해서 볼륨의 내부와 외부를 관찰할 수 있는 가상 위젯을 생성, 편집 및 삭제할 수 있는 인터페이스를 제공할 수 있다. 인터페이스 시스템(10)은 사용자가 볼륨의 내부 구조를 능동적으로 탐색해 가면서 관찰할 수 있는 인터페이스를 제공함으로써, 볼륨 데이터를 과학의 대중화에 쉽게 활용될 수 있도록 할 수 있다.The interface system 10 may provide an interface for creating, editing, and deleting virtual widgets for observing the inside and outside of the volume for non-experts to acquire information. The interface system 10 provides an interface through which the user can observe the internal structure of the volume while actively exploring it, so that the volume data can be easily utilized for popularization of science.

터치 스크린(100)은 볼륨 데이터가 렌더링된 볼륨 렌더링 이미지 및/또는 가상 위젯 렌더링 이미지를 사용자에게 디스플레이할 수 있다. 볼륨 렌더링 이미지는 2차원 및/또는 3차원 이미지로 터치 스크린(100) 상에 디스플레이되는 볼륨을 의미하고, 가상 위젯 렌더링 이미지는 2차원 및/또는 3차원 이미지로 터치 스크린(100) 상에 디스플레이되는 가상 위젯을 의미할 수 있다.The touch screen 100 may display a volume rendered image and/or a virtual widget rendered image in which volume data is rendered to the user. The volume rendering image means a volume displayed on the touch screen 100 as a two-dimensional and/or three-dimensional image, and the virtual widget rendering image is displayed on the touch screen 100 as a two-dimensional and/or three-dimensional image. It may mean a virtual widget.

터치 스크린(100)은 터치 스크린(100) 상에 디스플레이되는 볼륨 또는 가상 위젯에 대한 사용자의 상호 작용을 수신할 수 있다. 예를 들어, 사용자의 상호 작용은 터치 스크린(100)을 통해 입력되는 볼륨 또는 가상 위젯에 대한 사용자의 터치 입력 등을 포함할 수 있다.The touch screen 100 may receive a user's interaction with a volume or virtual widget displayed on the touch screen 100 . For example, the user's interaction may include a volume input through the touch screen 100 or a user's touch input for a virtual widget.

터치 스크린(100)은 사용자의 상호 작용을 인터페이스 장치(200)로 전송할 수 있다.The touch screen 100 may transmit the user's interaction to the interface device 200 .

인터페이스 장치(200)는 사용자의 상호 작용에 기초하여 사용자가 터치 스크린(100) 상에서 볼륨을 관찰할 수 있도록 인터페이스를 제공할 수 있다. 인터페이스 장치(200)는 사용자의 상호 작용에 기초하여 사용자가 터치 스크린(100) 상에서 가상 위젯을 생성, 편집 및 삭제할 수 있도록 인터페이스를 제공할 수 있다. 예를 들어, 인터페이스 장치(200)는 3D 게임엔진 Unity를 이용하여 인터페이스를 제공할 수 있다.The interface device 200 may provide an interface so that the user can observe the volume on the touch screen 100 based on the user's interaction. The interface device 200 may provide an interface so that the user can create, edit, and delete virtual widgets on the touch screen 100 based on the user's interaction. For example, the interface device 200 may provide an interface using the 3D game engine Unity.

인터페이스 장치(200)는 터치 스크린(100) 상에 디스플레이되는 대상에 대해 사용자가 제어할 수 있는 제어 모드를 제공할 수 있다. 제어 모드는 볼륨 관찰 모드, 가상 위젯 생성 모드 및 가상 위젯 편집 모드를 포함할 수 있다. 예를 들어, 사용자는 터치 스크린(100) 상에서 볼륨 관찰 모드, 가상 위젯 생성 모드 및 가상 위젯 편집 모드 중에서 적어도 하나를 선택하고, 선택된 모드에서 터치 스크린(100) 상에 디스플레이되는 대상과 상호작용을 수행할 수 있따.The interface device 200 may provide a control mode in which a user can control an object displayed on the touch screen 100 . The control mode may include a volume observation mode, a virtual widget creation mode, and a virtual widget editing mode. For example, the user selects at least one of a volume observation mode, a virtual widget creation mode, and a virtual widget editing mode on the touch screen 100 , and performs an interaction with an object displayed on the touch screen 100 in the selected mode can do it

볼륨 관찰 모드는 사용자가 터치 스크린(100) 상에서 볼륨을 터치로 끌어당겨서 볼륨을 돌릴 수 있어, 사용자가 여러 시점에서 볼륨을 관찰할 수 있는 모드일 수 있다. 예를 들어, 볼륨 관찰 모드에서, 인터페이스 장치(200)는 다음과 같이 동작할 수 있다. 인터페이스 장치(200)는 사용자가 볼륨을 터치하면, 카메라 위치를 원점으로 터치한 지점으로 가는 레이(ray)를 생성할 수 있다. 인터페이스 장치(200)는 레이가 볼륨의 바운딩 박스와 충돌하면, 그 터치를 볼륨을 회전하기 위한 터치라고 판단할 수 있다. 인터페이스 장치(200)는 볼륨을 회전하기 위한 터치일 때, 터치가 드래그 입력되면 레이와 충돌했던 볼륨 위의 지점이 화면 상에서 터치 포인터와 붙어있는 것처럼 회전할 수 있다.The volume observation mode may be a mode in which the user can turn the volume by pulling the volume on the touch screen 100 with a touch, so that the user can observe the volume from several viewpoints. For example, in the volume observation mode, the interface device 200 may operate as follows. When the user touches the volume, the interface device 200 may generate a ray going to the point where the camera position is touched as the origin. When the ray collides with the bounding box of the volume, the interface device 200 may determine that the touch is a touch for rotating the volume. When the interface device 200 is a touch for rotating the volume, when the touch is dragged, the point on the volume that collided with the ray may rotate as if it is attached to the touch pointer on the screen.

가상 위젯 생성 모드는 사용자의 볼륨에 대한 상호 작용으로 사용자의 볼륨 상 관심 부위에 볼륨의 내/외부를 관찰할 수 있는 가상 위젯을 생성하는 모드일 수 있다. 예를 들어, 가상 위젯 생성 모드에서, 인터페이스 장치(200)는 다음과 같이 동작할 수 있다. 인터페이스 장치(200)는 사용자가 볼륨 위에 직선을 그리는 터치 입력을 수행하면 스케치 입력을 따라 내부를 볼 수 있는 웨지 위젯을 생성할 수 있다. 인터페이스 장치(200)는 사용자가 볼륨 위에 원을 그리는 터치 입력을 수행하면 그 원을 따라 자른 내부를 볼 수 있는 아이리스 위젯을 생성할 수 있다.The virtual widget creation mode may be a mode in which a virtual widget capable of observing the inside/outside of the volume at a region of interest on the user's volume through interaction with the user's volume may be generated. For example, in the virtual widget creation mode, the interface device 200 may operate as follows. When the user performs a touch input of drawing a straight line on the volume, the interface device 200 may generate a wedge widget that can see the inside according to the sketch input. When the user performs a touch input for drawing a circle on the volume, the interface device 200 may generate an iris widget that allows the user to see the inside cut along the circle.

가상 위젯 편집 모드는 사용자가 가상 위젯의 경계면을 드래그함으로써 가상 위젯의 가시성을 조절할 수 있는 모드일 수 있다. 가상 위젯 편집 모드에서, 인터페이스 장치(200)는 사용자가 가상 위젯의 서로 다른 경계면을 드래그 하여 서로 다른 경계면끼리 일치하는 때 가상 위젯을 삭제할 수 있다.The virtual widget editing mode may be a mode in which the user can adjust the visibility of the virtual widget by dragging the boundary surface of the virtual widget. In the virtual widget editing mode, the interface device 200 may delete the virtual widget when the user drags different boundary surfaces of the virtual widget and the different boundary surfaces coincide with each other.

도 2는 도 1에 도시된 인터페이스 장치를 개략적으로 나타낸 도면이다.FIG. 2 is a diagram schematically illustrating the interface device shown in FIG. 1 .

인터페이스 장치(200)는 컨트롤러(210) 및 메모리(230)를 포함할 수 있다.The interface device 200 may include a controller 210 and a memory 230 .

컨트롤러(210)는 터치 스크린(100) 상에 디스플레이되는 볼륨에 대한 사용자의 제1 상호 작용을 수신하고, 사용자의 제1 상호 작용에 기초하여 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 볼륨 상에 생성할 수 있다. 컨트롤러(210)는 가상 위젯에 따라 볼륨 상에서 볼륨의 내부를 부분적으로 가시화할 수 있다.The controller 210 receives a user's first interaction with respect to the volume displayed on the touch screen 100, and generates a virtual widget for controlling visualization of the interior of the volume on the volume based on the first interaction of the user. can be created in The controller 210 may partially visualize the inside of the volume on the volume according to the virtual widget.

또한, 컨트롤러(210)는 가상 위젯에 대한 사용자의 제2 상호 작용을 수신하고, 사용자의 제2 상호 작용에 기초하여 가상 위젯을 변형할 수 있다. 제2 상호 작용은, 사용자가 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력될 수 있다. 제2 상호 작용 입력 시, 컨트롤러(210)는 가상 위젯의 경계면을 강조하여 사용자에게 제공할 수 있다. 컨트롤러(210)는 변형된 가상 위젯에 따라 볼륨 상에서 볼륨의 내부를 가시화할 수 있다.Also, the controller 210 may receive the user's second interaction with the virtual widget, and may transform the virtual widget based on the user's second interaction. The second interaction may be input by the user dragging different points of the boundary surface of the virtual widget. When the second interaction is input, the controller 210 may provide the user with an emphasis on the boundary surface of the virtual widget. The controller 210 may visualize the inside of the volume on the volume according to the transformed virtual widget.

컨트롤러(210)는 사용자의 제2 상호 작용이 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 서로 다른 지점의 경계면이 일치하는 때, 가상 위젯을 삭제할 수 있다.The controller 210 may delete the virtual widget when the boundary surfaces of the different points coincide with the user's second interaction by dragging different points of the boundary surface of the virtual widget.

메모리(230)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(230)는 인터페이스 장치(200)의 적어도 하나의 다른 구성요소에 관계된 명령 및/또는 데이터를 저장할 수 있다. 예를 들어, 메모리(230)는 볼륨 데이터, 공간 자료 구조, 관심 집중점 배열, 및/또는 가상 위젯 배열을 저장할 수 있다Memory 230 may include volatile and/or non-volatile memory. The memory 230 may store commands and/or data related to at least one other component of the interface device 200 . For example, the memory 230 may store volume data, a spatial data structure, an array of focus points, and/or an array of virtual widgets.

메모리(230)는 소프트웨어(software) 및/또는 프로그램(program) 등을 저장할 수 있다. 예를 들어, 메모리(230)는 볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스를 위한 어플리케이션 및 소프트웨어 등을 저장할 수 있다.The memory 230 may store software and/or a program. For example, the memory 230 may store applications and software for an interface that visualizes volume data and interacts with a user.

메모리(230)는 볼륨 데이터 및 가상 위젯에 대한 정보가 저장되는 가상 위젯 배열을 저장할 수 있다. 볼륨 데이터 및 가상 위젯에 대한 정보가 저장되는 가상 위젯 배열은 메모리가(230)가 아닌 별도로 구현된 메모리(미도시)에 저장될 수도 있다.The memory 230 may store a virtual widget arrangement in which volume data and information on virtual widgets are stored. The virtual widget arrangement in which volume data and information on virtual widgets are stored may be stored in a memory (not shown) implemented separately instead of the memory 230 .

도 3은 도 2에 도시된 컨트롤러를 개략적으로 나타낸 도면이고, 도 4는 도 3에 도시된 GPU가 집중점을 획득하기 위하여 이용하는 알고리즘을 나타낸 도면이다.3 is a diagram schematically showing the controller shown in FIG. 2 , and FIG. 4 is a diagram showing an algorithm used by the GPU shown in FIG. 3 to obtain a focus point.

컨트롤러(210)는 프로세서(211) 및 GPU(Graphics Processing Unit; 215)를 포함할 수 있다.The controller 210 may include a processor 211 and a graphics processing unit (GPU) 215 .

프로세서(211)는 사용자의 상호 작용에 응답하여 볼륨 데이터를 통해 터치 스크린(100) 상에 디스플레이되는 볼륨에 디스플레이할 가상 위젯을 결정할 수 있다.The processor 211 may determine a virtual widget to be displayed on the volume displayed on the touch screen 100 through the volume data in response to the user's interaction.

GPU(215)는 볼륨 데이터로부터 가시성이 증가하는 점들인 복수의 전체 집중점들을 추출하고, 볼륨 데이터를 이용하여 볼륨을 렌더링하고, 가상 위젯에 대한 정보를 이용하여 가상 위젯을 렌더링할 수 있다.The GPU 215 may extract a plurality of total focus points that are points with increased visibility from the volume data, render the volume using the volume data, and render the virtual widget using information about the virtual widget.

이하에서는 프로세서(211) 및 GPU(215)가 별도 구현되어 프로세서(211) 및 GPU(215)가 서로 구분되는 동작을 기술하지만, 실시예에 따라 GPU(215)는 프로세서(211) 내부에 구현될 수 있다. 즉, 프로세서(211)는 이하에서 기술되는 GPU(215)의 동작을 수행할 수도 있다.Hereinafter, the processor 211 and the GPU 215 are separately implemented to describe operations in which the processor 211 and the GPU 215 are distinguished from each other. However, according to an embodiment, the GPU 215 may be implemented inside the processor 211 . can That is, the processor 211 may perform the operation of the GPU 215 described below.

프로세서(211)는 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 예를 들어, 프로세서(211)는 GPU(215)를 포함하여 구현될 수 있다.The processor 211 may include one or more of a central processing unit, an application processor, and a communication processor. For example, the processor 211 may be implemented including the GPU 215 .

프로세서(211)는 인터페이스 장치(200)의 적어도 하나의 다른 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다. 예를 들어, 프로세서(211)는 메모리(230)에 저장된 어플리케이션 및/또는 소프트웨어 등을 실행할 수 있다.The processor 211 may execute an operation or data processing related to control of at least one other component of the interface device 200 . For example, the processor 211 may execute an application and/or software stored in the memory 230 .

프로세서(211)는 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리할 수 있다. 프로세서(211)는 메모리(230)에 저장된 데이터를 처리할 수 있다. 프로세서(211)는 메모리(230)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(211)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The processor 211 may process the received data and data stored in the memory 230 . The processor 211 may process data stored in the memory 230 . The processor 211 may execute computer-readable codes (eg, software) stored in the memory 230 and instructions induced by the processor 211 .

프로세서(211)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The processor 211 may be a hardware-implemented data processing device having a circuit having a physical structure for executing desired operations. For example, desired operations may include code or instructions included in a program.

예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

프로세서(211)는 복수의 전체 집중점들을 공간 자료 구조에 저장할 수 있다. 예를 들어, GPU(215)가 볼륨 데이터로부터 복수의 전체 집중점들을 추출하고, 복수의 전체 집중점들을 RGB 텍스처로 부호화하면, 프로세서(211)는 복수의 부호화된 전체 집중점들을 복호화하여 공간 자료 구조에 저장할 수 있다.The processor 211 may store a plurality of total focus points in a spatial data structure. For example, when the GPU 215 extracts a plurality of total focus points from the volume data and encodes the plurality of total focus points into an RGB texture, the processor 211 decodes the plurality of encoded total focus points to obtain spatial data. can be stored in a structure.

프로세서(211)는 터치 스크린(100)에 디스플레이되는 볼륨에 대한 사용자의 제1 상호 작용을 수신할 수 있다.The processor 211 may receive a user's first interaction with respect to the volume displayed on the touch screen 100 .

프로세서(211)는 사용자의 제1 상호 작용에 기초하여 볼륨 상에 디스플레이될 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 생성할 수 있다.The processor 211 may generate a virtual widget for controlling the visualization of the interior of the volume to be displayed on the volume based on the first interaction of the user.

프로세서(211)는 가상 위젯의 크기, 가상 위젯의 위치, 및 가상 위젯의 타입에 따라 가상 위젯을 생성할 수 있다.The processor 211 may generate a virtual widget according to the size of the virtual widget, the location of the virtual widget, and the type of the virtual widget.

예를 들어, 프로세서(211)는 사용자의 제1 상호 작용에 대응하는 볼륨 상의 스케치 위치를 획득할 수 있다. 스케치 위치는 사용자가 터치 스크린(100) 상의 볼륨에 대해 터치 입력한 3D 공간 상의 연속적인 터치 위치를 의미할 수 있다. 프로세서(211)는 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들 중에서 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택할 수 있다. 프로세서(211)는 복수의 관심 집중점들 및 복수의 전체 집중점들을 이용하여 가상 위젯의 크기 및 가상 위젯의 위치를 결정할 수 있다. 크기 및 위치는 3D 공간 상의 크기 및 위치를 의미할 수 있다.For example, the processor 211 may obtain a sketch location on the volume corresponding to the user's first interaction. The sketch position may mean a continuous touch position on the 3D space where the user touches the volume on the touch screen 100 . The processor 211 may select, as the plurality of focus points, focus points corresponding to the sketch position from among a plurality of total focus points that are points with increased visibility in the volume data. The processor 211 may determine the size of the virtual widget and the location of the virtual widget by using the plurality of focus points and the plurality of total focus points. The size and location may mean a size and location in 3D space.

프로세서(211)는 제1 상호 작용의 형태에 따라 가상 위젯의 타입을 결정할 수 있다. 프로세서(211)는 사용자의 제1 상호 작용이 직선 형태인 때 가상 위젯의 타입을 웨지(wedge) 위젯으로 결정할 수 있다. 프로세서(211)는 사용자의 제1 상호 작용이 원 형태인 때 가상 위젯의 타입을 아이리스(iris) 위젯으로 결정할 수 있다.The processor 211 may determine the type of the virtual widget according to the form of the first interaction. The processor 211 may determine the type of the virtual widget as a wedge widget when the user's first interaction is a straight line. The processor 211 may determine the type of the virtual widget as an iris widget when the user's first interaction is a circle shape.

예를 들어, 프로세서(211)는 볼륨 데이터에서 집중점을 모아 포인트 클라우드를 생성할 수 있다. 프로세서(211)는 집중점을 모은 포인트 클라우드를 사용자가 터치를 시작했을 때부터 생성할 수 있다. 프로세서(211)는 사용자가 터치 스크린(100) 위에 터치 입력으로 스케치를 수행하면, 동시에 스케치 경로에서 화면상으로 가장 가까운 집중점을 검색할 수 있다. 프로세서(211)는 검색된 집중점들을 사용자의 관심 부위에 속한 복수의 관심 집중점들로 획득할 수 있다. 프로세서(211)는 사용자가 스케치를 마치면 복수의 전체 집중점들과 관심 부위로 분류된 복수의 관심 집중점들에 기초하여 관심 부위에 맞는 가상 위젯의 타입을 결정할 수 있다.For example, the processor 211 may generate a point cloud by collecting concentrated points from the volume data. The processor 211 may generate a point cloud in which the focus points are collected from when the user starts a touch. When the user performs a sketch by a touch input on the touch screen 100 , the processor 211 may simultaneously search for the closest focus point on the screen in the sketch path. The processor 211 may acquire the searched focus points as a plurality of focus points belonging to the user's ROI. When the user finishes sketching, the processor 211 may determine the type of the virtual widget suitable for the region of interest based on the plurality of total focus points and the plurality of focus points classified into the region of interest.

프로세서(211)는 사용자가 어떤 종류의 가상 위젯을 그리는지, 가상 위젯의 어떤 초기 상태를 원하는지를 분석하여 가상 위젯을 생성할 수 있다. 예를 들어, 프로세서(211)는 사용자가 터치를 시작하면, 카메라에서 각 픽셀마다 레이를 생성할 수 있다. 프로세서(211)는 레이 위에서 집중점을 찾는 방법으로 WYSIWYP(What You See Is What You Print)의 방법을 변형하여 이용할 수 있다. WYSIWYP에서는 각 레이 위에서 불투명도에 대한 기여의 국부 최대값(local maximum)을 집중점으로 정의하기 때문에, 한 레이에서 여러 집중점이 나올 수 있다. 프로세서(211)는 여러 집중점이 나올 수 있다면, 레이가 전진하면서 새로운 국부 최대값을 지날 때마다 도 4의 알고리즘을 이용하여 확률적으로 최종 집중점을 변경할 수 있다. 즉, 프로세서(211)는 레이 위에서 하나의 집중점만 획득할 수 있다. 프로세서(211)는 각 레이마다 집중점을 하나만 획득하기 때문에 GPU(215)에서 가속하기 효율적이고, 동시에 볼륨의 전면에서뿐만 아니라 후면의 구조 또한 확률적으로 집중점에 포함이 되어 이후 구 추정의 정확성을 높일 수 있다.The processor 211 may generate a virtual widget by analyzing what type of virtual widget the user draws and what initial state of the virtual widget is desired. For example, when a user starts a touch, the processor 211 may generate a ray for each pixel in the camera. The processor 211 may use a modified WYSIWYP (What You See Is What You Print) method as a method of finding a focal point on a ray. Because WYSIWYP defines the local maximum of the contribution to opacity above each ray as a focal point, multiple focal points can occur in a single ray. The processor 211 may change the final focus point probabilistically using the algorithm of FIG. 4 whenever a ray passes a new local maximum while advancing, if several focus points can be obtained. That is, the processor 211 may acquire only one focus point on the ray. Since the processor 211 acquires only one focus point for each ray, it is efficient to accelerate acceleration in the GPU 215, and at the same time, the structure of the front as well as the rear of the volume is also stochastically included in the focus point to increase the accuracy of sphere estimation thereafter. can be raised

프로세서(211)는 획득한 픽셀 당 집중점의 위치는 3차원 좌표를 색상으로 부호화하여 텍스처에 저장할 수 있다. 프로세서(211)는 텍스처에 저장한 집중점 포인트 클라우드를 빠른 포인트 검색을 위해서 공간 자료 구조(예를 들어, 옥트리, octree)로 정리할 수 있다. 예를 들어, 프로세서(211)는 사용자의 터치 입력인 스케치가 정해진 거리 Δl을 움직일 때마다, 스케치에서 가장 가까운 집중점을 공간 자료 구조에서 검색할 수 있다. 스케치에서 가장 가까운 집중점이란, 카메라에서 스케치 방향으로 반직선을 만들 때, 이 반직선에서 가장 가까운 집중점을 의미할 수 있다. 프로세서(211)는 스케치에서 가장 가까운 집중점을 찾으면, 그 집중점에서 Δl/2 보다 가까이 있는 모든 집중점을 관심 부위에 속한 관심 집중점으로 획득할 수 있다.The processor 211 may store the obtained position of the focus point per pixel in a texture by encoding 3D coordinates as a color. The processor 211 may organize the concentrated point point cloud stored in the texture into a spatial data structure (eg, octree, octree) for fast point retrieval. For example, whenever a sketch, which is a user's touch input, moves a predetermined distance Δl, the processor 211 may search the spatial data structure for a point of focus closest to the sketch. The closest focus point in the sketch may mean a focus point closest to the ray when the camera makes a ray in the sketch direction. When the processor 211 finds the closest focus point in the sketch, the processor 211 may acquire all focus points closer than Δl/2 to the focus point as the focus points belonging to the region of interest.

예를 들어, 프로세서(211)는 사용자가 스케치를 끝내면, 복수의 전체 집중점들 및 획득한 복수의 관심 부위 집중점들에 기초하여 사용자의 관심 부위에 가장 알맞은 가상 위젯의 타입을 결정할 수 있다. 프로세서(211)는 기존의 Random Sample Consensus(RANSAC) 알고리즘에 관심 부위에 대한 고려를 추가한Region-of-interest(ROI)-based RANSAC을 이용할 수 있다. 기존 RANSAC의 objective function은 수학식 1과 같다.For example, when the user finishes sketching, the processor 211 may determine the type of the virtual widget most suitable for the user's ROI based on the plurality of total focus points and the plurality of acquired ROI focus points. The processor 211 may use a Region-of-interest (ROI)-based RANSAC in which consideration of a region of interest is added to an existing Random Sample Consensus (RANSAC) algorithm. The objective function of the existing RANSAC is shown in Equation 1.

Figure 112020070468887-pat00001
Figure 112020070468887-pat00001

Figure 112020070468887-pat00002
는 샘플의 집합,
Figure 112020070468887-pat00003
는 모델을 추정하기 위한 샘플의 최소한의 부분집합,
Figure 112020070468887-pat00004
Figure 112020070468887-pat00005
가 정의하는 모델에 대한 샘플
Figure 112020070468887-pat00006
의 Loss가
Figure 112020070468887-pat00007
이하이면1을,
Figure 112020070468887-pat00008
초과이면 0을 출력하는 함수를 의미할 수 있다.
Figure 112020070468887-pat00002
is the set of samples,
Figure 112020070468887-pat00003
is the smallest subset of samples for estimating the model,
Figure 112020070468887-pat00004
Is
Figure 112020070468887-pat00005
A sample for the model defined by
Figure 112020070468887-pat00006
Loss of
Figure 112020070468887-pat00007
1 if less than,
Figure 112020070468887-pat00008
If it exceeds, it may mean a function that outputs 0.

기존RANSAC은 모든 샘플 포인트를 동등하게 대우하기 때문에, 사용자의 관심 부위를 고려하여 사용자의 관심 부위에 가장 알맞은 가상 위젯의 타입을 추정하기 힘들 수 있다.Since the existing RANSAC treats all sample points equally, it may be difficult to estimate the type of virtual widget most suitable for the user's ROI considering the user's ROI.

프로세서(211)는 수학식 2를 통해 사용자의 관심 부위에 가장 알맞은 가상 위젯의 타입을 추정할 수 있다.The processor 211 may estimate the type of the virtual widget most suitable for the user's ROI through Equation (2).

Figure 112020070468887-pat00009
Figure 112020070468887-pat00009

Figure 112020070468887-pat00010
는 관심 부위로 분류된 샘플 포인트의 집합,
Figure 112020070468887-pat00011
Figure 112020070468887-pat00012
가 정의하는 모델에 대한관심 부위 샘플
Figure 112020070468887-pat00013
의 Loss가
Figure 112020070468887-pat00014
이하이면 1을, 초과하면0을 출력하는 함수,
Figure 112020070468887-pat00015
는 관심 부위가 얼마나 영향을 미칠지에 대한 계수를 의미할 수 있다.
Figure 112020070468887-pat00010
is the set of sample points classified as regions of interest;
Figure 112020070468887-pat00011
Is
Figure 112020070468887-pat00012
A sample of the region of interest for the model defined by
Figure 112020070468887-pat00013
Loss of
Figure 112020070468887-pat00014
A function that outputs 1 if it is less than, and 0 if it exceeds,
Figure 112020070468887-pat00015
may mean a coefficient for how much the region of interest will affect.

프로세서(211)는 수학식 2를 통해 최적의 구를 찾으면, 구의 중심

Figure 112020070468887-pat00016
에 대한 정보와 함께 사용자의 스케치를 분석하여 어떤 타입의 가상 위젯을 생성할지 결정할 수 있다. 즉, 프로세서(211)는 사용자의 스케치를 분석하여 웨지 위젯을 생성해야 하는지, 아이리스 위젯을 생성해야 하는지를 판단할 수 있다. 이를 위해, 프로세서(211)는 스케치를 따라 선택된 관심 부위 집중점
Figure 112020070468887-pat00017
의 평균 지점
Figure 112020070468887-pat00018
를 계산할 수 있다. 프로세서(211)는 평균 지점
Figure 112020070468887-pat00019
을 구하면, 각 관심 부위 집중점
Figure 112020070468887-pat00020
를,
Figure 112020070468887-pat00021
를 지나고
Figure 112020070468887-pat00022
를 법선(normal)으로 하는 평면에 정사영 시킬 수 있다. 정사영된 점들을
Figure 112020070468887-pat00023
라고 하면,
Figure 112020070468887-pat00024
는 평면위의 점이기 때문에 평면의 기저(basis)를 기반으로 2차원 벡터로 나타낼 수 있다. 프로세서(211)는 이를 Two-dimensionalPrincipal Component Analysis(2D PCA)로 장축과 단축의 고유값
Figure 112020070468887-pat00025
을 계산할 수 있다.When the processor 211 finds an optimal sphere through Equation 2, the center of the sphere
Figure 112020070468887-pat00016
It is possible to determine what type of virtual widget to create by analyzing the user's sketch along with the information about it. That is, the processor 211 may determine whether a wedge widget or an iris widget should be generated by analyzing the user's sketch. To this end, the processor 211 sets the focus point of the region of interest selected along the sketch.
Figure 112020070468887-pat00017
average point of
Figure 112020070468887-pat00018
can be calculated. The processor 211 is an average point
Figure 112020070468887-pat00019
If , the focus point for each region of interest is
Figure 112020070468887-pat00020
cast,
Figure 112020070468887-pat00021
passing through
Figure 112020070468887-pat00022
It can be orthogonally projected on a plane with a normal (normal). the projected points
Figure 112020070468887-pat00023
If you say
Figure 112020070468887-pat00024
Since is a point on a plane, it can be expressed as a two-dimensional vector based on the basis of the plane. The processor 211 converts this into Two-dimensionalPrincipal Component Analysis (2D PCA) to eigenvalues of the major axis and the minor axis.
Figure 112020070468887-pat00025
can be calculated.

프로세서(211)는 스케치 형태가 직선인 경우 한방향으로 늘어져 있으므로

Figure 112020070468887-pat00026
이고, 원인 경우 점들이 각 방향으로 고르게 퍼져있기 때문에
Figure 112020070468887-pat00027
으로 정의할 수 있다. 프로세서(211)는 이러한 특성을 사용하여, 수학식 3 및 수학식 4를 통해 사용자의 상호 작용을 분류할 수 있다.Since the processor 211 is stretched in one direction when the sketch form is a straight line,
Figure 112020070468887-pat00026
, and the cause is because the points are evenly spread in each direction.
Figure 112020070468887-pat00027
can be defined as The processor 211 may classify user interactions through Equations 3 and 4 by using these characteristics.

Figure 112020070468887-pat00028
Figure 112020070468887-pat00028

Figure 112020070468887-pat00029
Figure 112020070468887-pat00029

Figure 112020070468887-pat00030
는 웨지 위젯과 아이리스 위젯을 구분하는 1보다 큰 계수를 의미할 수 있다. 예를 들어, 프로세서(211)는 스케치의 형태가 직선인지 원인지 판단하는 계수
Figure 112020070468887-pat00031
를 10으로 결정할 수 있다.
Figure 112020070468887-pat00030
may mean a coefficient greater than 1 that distinguishes the wedge widget and the iris widget. For example, the processor 211 is a coefficient for determining whether the shape of the sketch is a straight line or not.
Figure 112020070468887-pat00031
can be determined as 10.

프로세서(211)는 구 위에서 위젯의 방향과 열린 각도를 판단하며 가상 위젯을 생성할 수 있다.The processor 211 may generate a virtual widget by determining a direction and an open angle of the widget on the sphere.

프로세서(211)는 웨지 위젯의 경우, 2D PCA에서 구한 장축의 방향을polar axis로 하고,

Figure 112020070468887-pat00032
방향으로 벌어져 있도록 방향을 설정할 수 있다. 프로세서(211)는 열린 각도의 경우 스케치에서 정의되지 않기 때문에 임의의 값으로 설정할 수 있다. 프로세서(211)는 아이리스 위젯의 경우,
Figure 112020070468887-pat00033
를 원뿔의 중심축으로 설정하고, 열린 각도는 직선
Figure 112020070468887-pat00034
와 직선
Figure 112020070468887-pat00035
사이 각도의 평균값으로 결정할 수 있다.In the case of the wedge widget, the processor 211 sets the direction of the long axis obtained from the 2D PCA as a polar axis,
Figure 112020070468887-pat00032
You can set the direction so that it spreads in the direction. The processor 211 may set the open angle to an arbitrary value because it is not defined in the sketch. The processor 211 is an iris widget,
Figure 112020070468887-pat00033
is set as the central axis of the cone, and the open angle is a straight line
Figure 112020070468887-pat00034
and straight
Figure 112020070468887-pat00035
It can be determined by the average value of the angle between them.

프로세서(211)는 가상 위젯에 대한 정보를 가상 위젯 배열에 저장할 수 있다.The processor 211 may store information about the virtual widget in the virtual widget array.

프로세서(211)는 가상 위젯에 대한 사용자의 제2 상호 작용을 수신할 수 있다. 예를 들어, 제2 상호 작용은, 사용자가 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력될 수 있다. 프로세서(211)는 가상 위젯의 경계면을 강조하여 사용자에게 제공할 수 있다.The processor 211 may receive a second interaction of the user with the virtual widget. For example, the second interaction may be input by the user dragging different points of the boundary surface of the virtual widget. The processor 211 may provide the user with an emphasis on the boundary surface of the virtual widget.

프로세서(211)는 사용자의 제2 상호 작용에 기초하여 가상 위젯을 변형할 수 있다. 프로세서(211)는 변형된 가상 위젯에 대한 정보를 가상 위젯 배열에 저장할 수 있다. The processor 211 may transform the virtual widget based on the user's second interaction. The processor 211 may store information on the transformed virtual widget in the virtual widget array.

프로세서(211)는 사용자의 제2 상호 작용이 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 서로 다른 지점의 경계면이 일치하는 때, 가상 위젯을 삭제할 수 있다.The processor 211 may delete the virtual widget when the boundary surfaces of the different points coincide with the user's second interaction by dragging different points of the boundary surface of the virtual widget.

GPU(215)는 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들을 획득할 수 있다. GPU(215)는 복수의 전체 집중점들을 프로세서(211)로 출력할 수 있다.The GPU 215 may acquire a plurality of overall focus points that are points with increased visibility in the volume data. The GPU 215 may output a plurality of total focus points to the processor 211 .

GPU(215)는 변형된 가상 위젯에 대한 정보를 렌더링하여 변형된 가상 위젯에 따른 볼륨 상에서의 볼륨의 내부를 가시화할 수 있다.The GPU 215 may render information on the deformed virtual widget to visualize the inside of the volume on the volume according to the deformed virtual widget.

도 5는 도 3에 도시된 프로세서 및 GPU를 개략적으로 나타낸 도면이다.FIG. 5 is a diagram schematically illustrating the processor and GPU shown in FIG. 3 .

프로세서(211)는 사용자 입력 처리기(211-1), 집중점 처리기(211-5)를 포함할 수 있다. 예를 들어, 도 5에서는 GPU(215)가 프로세서(211)와 별도로 구현된 것으로 나타나 있지만, 프로세서(211)는 GPU(215)를 포함하여 구현될 수 있다.The processor 211 may include a user input processor 211-1 and a focus point processor 211-5. For example, although the GPU 215 is illustrated as being implemented separately from the processor 211 in FIG. 5 , the processor 211 may be implemented including the GPU 215 .

사용자 입력 처리기(211-1)는 사용자의 상호 작용이 가상 위젯을 생성하기 위한 스케치 입력인지 가상 위젯 편집 입력인지를 판단할 수 있다. 예를 들어, 스케치 입력은 사용자가 터치 스크린(100)을 통해 입력하는 볼륨 상의 연속적인 터치 입력을 의미할 수 있다. 가상 위젯 편집 입력은 사용자가 터치 스크린(100)을 통해 가상 위젯의 서로 다른 경계면을 드래그하는 터치 입력을 의미할 수 있다.The user input processor 211-1 may determine whether the user's interaction is a sketch input for creating a virtual widget or a virtual widget editing input. For example, the sketch input may mean a continuous touch input on a volume input by the user through the touch screen 100 . The virtual widget editing input may refer to a touch input in which the user drags different boundary surfaces of the virtual widget through the touch screen 100 .

사용자 입력 처리기(211-1)는 사용자의 상호 작용이 스케치 입력인 경우 스케치 입력에 대응하는 3D 공간 상의 스케치 위치를 결정할 수 있다. 사용자 입력 처리기(211-1)는 스케치 위치를 집중점 처리기(211-5)로 출력할 수 있다.When the user's interaction is a sketch input, the user input processor 211-1 may determine a sketch location in 3D space corresponding to the sketch input. The user input processor 211-1 may output the sketch position to the focus point processor 211-5.

사용자 입력 처리기(211-1)는 스케치 위치, 복수의 전체 집중점들의 위치 및 복수의 관심 집중점들의 위치에 기초하여 가상 위젯을 생성할 수 있다.The user input processor 211-1 may generate a virtual widget based on the sketch position, the positions of the plurality of total focus points, and the positions of the plurality of focus points.

사용자 입력 처리기(211-1)는 사용자의 상호 작용이 가상 위젯 편집 입력인 경우 사용자의 상호 작용에 기초하여 가상 위젯을 변형할 수 있다.When the user's interaction is a virtual widget editing input, the user input processor 211-1 may transform the virtual widget based on the user's interaction.

사용자 입력 처리기(211-1)는 생성한 가상 위젯 또는 변형한 가상 위젯을 가상 위젯 배열에 저장할 수 있다.The user input processor 211-1 may store the generated virtual widget or the transformed virtual widget in the virtual widget array.

집중점 처리기(211-5)는 복수의 부호화된 전체 집중점들을 복호화하여 공간 자료 구조에 저장할 수 있다.The focused point processor 211 - 5 may decode the plurality of encoded entire focused points and store them in a spatial data structure.

집중점 처리기(211-5)는 복수의 전체 집중점들의 위치를 결정할 수 있다. 집중점 처리기(211-5)는 복수의 전체 집중점들 중에서 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택할 수 있다. 집중점 처리기(211-5)는 복수의 관심 집중점들의 위치를 결정할 수 있다.The focus point processor 211 - 5 may determine positions of a plurality of total focus points. The focus point processor 211 - 5 may select focus points corresponding to the sketch position from among the plurality of total focus points as the plurality of focus points. The focus point processor 211 - 5 may determine positions of a plurality of focus points of interest.

집중점 처리기(211-5)는 복수의 전체 집중점들의 위치 및 복수의 관심 집중점들의 위치를 사용자 입력 처리기(211-1)로 출력할 수 있다.The focus point processor 211-5 may output the positions of the plurality of total focus points and the locations of the plurality of focus points of interest to the user input processor 211-1.

GPU(215)는 볼륨 데이터를 이용하여 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들을 획득할 수 있다. GPU(215)는 복수의 전체 집중점들을 RGB 텍스처로 부호화하여 집중점 처리기(211-5)로 출력할 수 있다.The GPU 215 may use the volume data to obtain a plurality of overall focus points that are points with increased visibility in the volume data. The GPU 215 may encode a plurality of all focused points into RGB textures and output them to the focused point processor 211 - 5 .

GPU(215)는 볼륨 데이터를 렌더링하여 볼륨 렌더링 이미지를 생성할 수 있다. GPU(215)는 가상 위젯에 의해 부분적인 가시성 및 색상이 변경된 볼륨 데이터를 렌더링하여 볼륨 렌더링 이미지를 생성할 수 있다. GPU(215)는 볼륨 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다.The GPU 215 may generate a volume rendering image by rendering the volume data. The GPU 215 may generate a volume rendering image by rendering volume data whose partial visibility and color are changed by the virtual widget. The GPU 215 may transmit the volume rendering image to the touch screen 100 .

GPU(215)는 가상 위젯 배열에 저장된 정보를 렌더링하여 가상 위젯 렌더링 이미지를 생성할 수 있다. GPU(215)는 가상 위젯 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다.The GPU 215 may generate a virtual widget rendering image by rendering information stored in the virtual widget array. The GPU 215 may transmit the virtual widget rendering image to the touch screen 100 .

도 6은 도 5에 도시된 사용자 입력 처리기를 개략적으로 나타낸 도면이다.FIG. 6 is a diagram schematically illustrating the user input processor shown in FIG. 5 .

사용자 입력 처리기(211-1)는 상호 작용 분류 모듈(211-11), 집중점 검색 모듈(211-13), 가상 위젯 생성 모듈(211-15) 및 가상 위젯 편집 모듈(211-17)을 포함할 수 있다.The user input processor 211-1 includes an interaction classification module 211-11, a focus point search module 211-13, a virtual widget creation module 211-15, and a virtual widget editing module 211-17. can do.

상호 작용 분류 모듈(211-11)은 사용자의 상호 작용이 스케치 입력인지 가상 위젯 편집 입력인지를 판단할 수 있다.The interaction classification module 211-11 may determine whether the user's interaction is a sketch input or a virtual widget editing input.

상호 작용 분류 모듈(211-11)은 사용자의 상호 작용이 스케치 입력인 경우 사용자의 상호 작용을 집중점 검색 모듈(211-13)로 출력할 수 있다. 상호 작용 분류 모듈(211-11)은 사용자의 상호 작용이 가상 위젯 편집 입력인 경우 사용자의 상호 작용을 가상 위젯 편집 모듈(211-17)로 출력할 수 있다.The interaction classification module 211-11 may output the user interaction to the focus point search module 211-13 when the user interaction is a sketch input. The interaction classification module 211-11 may output the user interaction to the virtual widget editing module 211-17 when the user interaction is a virtual widget editing input.

집중점 검색 모듈(211-13)은 사용자의 상호 작용에 대한 3D 공간 상의 스케치 위치를 결정할 수 있다. 집중점 검색 모듈(211-13)은 스케치 위치를 가상 위젯 생성 모듈(211-15) 및 집중점 쿼리 핸들러(211-55)로 출력할 수 있다.The focus point search module 211-13 may determine a sketch location in 3D space for user interaction. The focus point search module 211-13 may output the sketch location to the virtual widget creation module 211-15 and the focus point query handler 211-55.

집중점 검색 모듈(211-13)은 사용자의 상호 작용이 입력되는 동안 복수의 전체 집중점들 중에서 스케치 위치 부근의 집중점을 검색하는 쿼리(query)를 집중점 쿼리 핸들러(211-55)로 출력할 수 있다.The focus point search module 211-13 outputs a query for searching for a focus point near the sketch position among a plurality of total focus points to the focus point query handler 211-55 while a user interaction is input. can do.

가상 위젯 생성 모듈(211-15)은 복수의 관심 집중점들의 위치를 관심 집중점 배열로 저장할 수 있다. 가상 위젯 생성 모듈(211-15)은 관심 집중점 배열 및 복수의 전체 집중점들의 위치를 이용하여 가상 위젯의 크기 및 가상 위젯의 위치를 결정할 수 있다. 가상 위젯 생성 모듈(211-15)은 관심 집중점 배열 및 스케치 위치를 이용하여 가상 위젯의 타입을 결정할 수 있다.The virtual widget generating module 211 - 15 may store the positions of the plurality of POs as an POI array. The virtual widget generating module 211 - 15 may determine the size of the virtual widget and the location of the virtual widget by using the POI arrangement and the positions of the plurality of total POIs. The virtual widget generating module 211 - 15 may determine the type of the virtual widget by using the arrangement of the focus points and the sketch position.

가상 위젯 생성 모듈(211-15)은 가상 위젯의 크기, 가상 위젯의 위치 및 가상 위젯의 타입에 따라 가상 위젯을 생성할 수 있다. 가상 위젯 생성 모듈(211-15)은 생성한 가상 위젯을 가상 위젯 배열에 저장할 수 있다.The virtual widget creation module 211-15 may create a virtual widget according to the size of the virtual widget, the location of the virtual widget, and the type of the virtual widget. The virtual widget creation module 211-15 may store the created virtual widget in a virtual widget array.

가상 위젯 편집 모듈(211-17)은 사용자의 상호 작용에 기초하여 가상 위젯을 변형할 수 있다. 가상 위젯 편집 모듈(211-17)은 변형된 가상 위젯을 가상 위젯 배열에 저장할 수 있다.The virtual widget editing module 211-17 may transform the virtual widget based on user interaction. The virtual widget editing module 211-17 may store the transformed virtual widget in a virtual widget array.

도 7은 도 5에 도시된 집중점 처리기를 개략적으로 나타낸 도면이다.FIG. 7 is a diagram schematically illustrating the focus point processor shown in FIG. 5 .

집중점 처리기(211-5)는 집중점 텍스처 복호화 모듈(211-51), 공간 자료 구조 저장 모듈(211-53) 및 집중점 쿼리 핸들러(211-55)를 포함할 수 있다.The focal point processor 211 - 5 may include a focal point texture decoding module 211 - 51 , a spatial data structure storage module 211 -53 , and a focal point query handler 211 -55 .

집중점 텍스처 복호화 모듈(211-51)은 복수의 부호화된 전체 집중점들을 복호화하여 공간 자료 구조 저장 모듈(211-53)로 출력할 수 있다.The focused point texture decoding module 211-51 may decode the plurality of encoded entire focused points and output the decoded point to the spatial data structure storage module 211-53.

공간 자료 구조 저장 모듈(211-53)은 복수의 복호화된 전체 집중점들을 공간 자료 구조로 저장할 수 있다. 공간 자료 구조 저장 모듈(211-53)은 공간 자료 구조를 집중점 쿼리 핸들러(211-55)로 출력할 수 있다.The spatial data structure storage module 211-53 may store the plurality of decoded total focus points as a spatial data structure. The spatial data structure storage module 211-53 may output the spatial data structure to the focal point query handlers 211-55.

집중점 쿼리 핸들러(211-55)는 공간 자료 구조를 이용하여 복수의 전체 집중점들의 위치를 결정할 수 있다.The focus point query handlers 211 - 55 may determine the positions of the plurality of total focus points by using a spatial data structure.

집중점 쿼리 핸들러(211-55)는 쿼리에 따라 공간 자료 구조로부터 복수의 전체 집중점들을 검색하고, 복수의 전체 집중점들 중에서 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택할 수 있다. 집중점 쿼리 핸들러(211-55)는 복수의 관심 집중점들을 이용하여 복수의 관심 집중점들의 위치를 결정할 수 있다.The focus point query handler 211-55 may retrieve a plurality of full focus points from the spatial data structure according to the query, and select focus points corresponding to the sketch position from among the plurality of total focus points as a plurality of focus points. have. The focus point query handler 211 - 55 may determine positions of the plurality of focus points by using the plurality of focus points.

집중점 쿼리 핸들러(211-55)는 사용자의 상호 작용이 입력되지 않는 경우 복수의 전체 집중점들의 위치 및 복수의 관심 집중점들의 위치를 가상 위젯 생성 모듈(211-15)로 출력할 수 있다.When no user interaction is input, the focus point query handlers 211 - 55 may output the locations of the plurality of total focus points and the locations of the plurality of focus points to the virtual widget creation module 211 - 15 .

도 8은 도 3에 도시된 GPU를 개략적으로 나타낸 도면이다.FIG. 8 is a diagram schematically illustrating the GPU shown in FIG. 3 .

GPU(215)는 집중점 추출 모듈(215-1), 볼륨 렌더링 모듈(215-3) 및 가상 위젯 시각화 모듈(215-5)을 포함할 수 있다.The GPU 215 may include a focus point extraction module 215 - 1 , a volume rendering module 215 - 3 , and a virtual widget visualization module 215 - 5 .

집중점 추출 모듈(215-1)은 볼륨 데이터를 이용하여 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들을 획득할 수 있다. 예를 들어, 볼륨 데이터 상의 집중점은 3차원 좌표로 표현될 수 있다. 집중점 추출 모듈(215-1)은 레이 캐스팅(Ray-casting) 기반의 볼륨 렌더링을 진행할 때, 카메라에서 볼륨을 향해 레이를 쏴서 레이 위에 등간격으로 놓인 샘플 포인트(sample points)에서 볼륨 데이터의 가시성(alpha/opacity) 및 색상(color)을 샘플링할 수 있다. 집중점 추출 모듈(215-1)은 샘플링된 가시성 및 색상을 혼합하여 화면에 표시될 볼륨의 색상을 결정할 수 있다. 집중점 추출 모듈(215-1)은 샘플링된 색상들을 혼합할 때, 레이의 원점에 가까운 점부터 먼 점까지 가시성을 누계하는 과정을 거치게 되는데, 이를 그래프로 표현하면 그래프의 도함수(빨간색 그래프)가 국부 최대값인 지점들(점선)을 집중점으로 정의할 수 있다. 즉, 집중점 추출 모듈(215-1)은 각 레이마다 최대 하나의 집중점만을 추출할 수 있다. 집중점 추출 모듈(215-1)은 레이 방향을 따라 가시성을 누계하는 과정에서 새로운 국부 최대값이 발견되면, 일정 확률, 예를 들어 30%의 확률로 출력할 집중점을 새로운 국부 최대값으로 변경할 수 있다. 집중점 추출 모듈(215-1)은 이러한 방법을 통해 레이 하나당 최대 하나의 집중점만 추출하기 때문에, GPU 가속이 용이할 수 있다.The concentration point extraction module 215 - 1 may use the volume data to obtain a plurality of total focal points, which are points with increased visibility in the volume data. For example, a concentration point on the volume data may be expressed as three-dimensional coordinates. When performing volume rendering based on ray-casting, the focus point extraction module 215-1 shoots a ray from the camera toward the volume, and the visibility of volume data at sample points placed at equal intervals on the ray You can sample (alpha/opacity) and color. The focus point extraction module 215 - 1 may determine the color of the volume to be displayed on the screen by mixing the sampled visibility and color. When the concentrated point extraction module 215-1 mixes the sampled colors, it goes through a process of accumulating visibility from a point close to the origin of the ray to a point farther away. Points (dotted lines) that are local maximums may be defined as concentration points. That is, the concentration point extraction module 215-1 may extract only one focal point at most for each ray. When a new local maximum value is found in the process of accumulating visibility along the ray direction, the concentration point extraction module 215-1 changes the concentration point to be output to a new local maximum value with a certain probability, for example, 30%. can Since the focus point extraction module 215-1 extracts only a maximum of one focus point per ray through this method, GPU acceleration may be facilitated.

집중점 추출 모듈(215-1)은 복수의 전체 집중점들을 RGB 텍스처로 부호화하여 집중점 텍스처 복호화 모듈(211-51)로 출력할 수 있다.The concentrated point extraction module 215 - 1 may encode a plurality of all focused points into RGB textures and output them to the concentrated point texture decoding module 211 - 51 .

볼륨 렌더링 모듈(215-3)은 볼륨 데이터 및/또는 가상 위젯 배열을 이용하여 가상 위젯에 의해 부분적인 가시성 및 색상이 변경된 볼륨 데이터를 직접 볼륨 렌더링을 통해 볼륨 렌더링 이미지를 생성할 수 있다. 직접 볼륨 렌더링 모듈(215-3)은 볼륨 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다.The volume rendering module 215 - 3 may directly generate a volume rendering image through volume rendering of volume data whose partial visibility and color are changed by the virtual widget using the volume data and/or the virtual widget arrangement. The direct volume rendering module 215 - 3 may transmit the volume rendering image to the touch screen 100 .

가상 위젯 시각화 모듈(215-5)은 가상 위젯 배열에 저장된 정보를 렌더링하여 가상 위젯 렌더링 이미지를 생성할 수 있다. 가상 위젯 시각화 모듈(215-5)은 가상 위젯 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다.The virtual widget visualization module 215 - 5 may generate a virtual widget rendering image by rendering information stored in the virtual widget array. The virtual widget visualization module 215 - 5 may transmit a virtual widget rendering image to the touch screen 100 .

도 9는 인터페이스 장치가 복수의 관심 집중점들을 관심 집중점 배열로 저장하는 동작을 설명하기 위한 도면이고, 도 10은 집중점을 저장하는 공간 자료 구조를 시각화한 일 예를 나타낸다.9 is a diagram for explaining an operation of the interface device storing a plurality of POIs in an POI array, and FIG. 10 shows an example of a visualization of a spatial data structure for storing the POIs.

사용자 입력 처리기(211-1)는 사용자의 상호 작용인 터치 입력을 스케치라고 판단하면, 집중점 처리기(211-5)로 집중점 쿼리를 초기화하는 요청을 보낼 수 있다(910 및 915).If the user input processor 211-1 determines that a touch input, which is a user's interaction, is a sketch, the user input processor 211 - 1 may send a request for initializing a focus point query to the focus point processor 211 - 5 ( 910 and 915 ).

집중점 처리기(211-5)는 GPU(215)로부터 복수의 부호화된 전체 집중점들을 수신할 수 있다(920).The focus point processor 211 - 5 may receive a plurality of encoded total focus points from the GPU 215 ( 920 ).

집중점 처리기(211-5)는 복수의 부호화된 전체 집중점들을 복호화할 수 있다(925).The focused point processor 211 - 5 may decode the plurality of encoded entire focused points ( 925 ).

집중점 처리기(211-5)는 복수의 복호화된 전체 집중점들을 효율적인 검색을 위해 Octree, kd-tree와 같은 공간 자료 구조에 저장할 수 있다(930). 예를 들어, 집중점 처리기(211-5)는 도 8 과 같은 공간 자료 구조로 복수의 복호화된 전체 집중점들을 저장할 수 있다.The focus point processor 211 - 5 may store the plurality of decoded full focus points in a spatial data structure such as Octree or kd-tree for efficient retrieval ( 930 ). For example, the focus point processor 211 - 5 may store a plurality of decoded total focus points in a spatial data structure as shown in FIG. 8 .

사용자의 스케치가 진행되는 동안, 사용자 입력 처리기(211-1)는 사용자의 터치 입력을 이용하여 사용자가 터치한 위치 부근의 집중점을 검색하는 쿼리를 집중점 처리기(211-5)로 출력할 수 있다(935 및 940).While the user's sketch is in progress, the user input processor 211-1 may output a query for searching for a focus point near the location touched by the user to the focus point processor 211-5 using the user's touch input. There are (935 and 940).

집중점 처리기(211-5)는 쿼리에 따라 공간 자료 구조로부터 집중점을 검색할 수 있다. 집중점 처리기(211-5)는 사용자가 터치한 위치 부근의 집중점을 복수의 관심 집중점들로 선택할 수 있다. 집중점 처리기(211-5)는 복수의 관심 집중점들을 사용자 입력 처리기(211-1)로 출력할 수 있다(945).The focus point processor 211 - 5 may retrieve the focus point from the spatial data structure according to the query. The focus point processor 211 - 5 may select a focus point near a location touched by the user as a plurality of focus points. The focus point processor 211 - 5 may output a plurality of focus points to the user input processor 211-1 ( 945 ).

사용자 입력 처리기(211-1)는 복수의 관심 집중점들을 도 9와 같은 관심 집중점 배열에 저장할 수 있다(950 및 955).The user input processor 211-1 may store a plurality of focus points in an interest point array as shown in FIG. 9 ( 950 and 955 ).

도 11 내지 도 16는 인터페이스 장치가 가상 위젯을 생성하는 동작을 설명하기 위한 도면이다.11 to 16 are diagrams for explaining an operation in which the interface device creates a virtual widget.

사용자 입력 처리기(211-1)는 사용자의 터치 스크린(100)과의 상호 작용인 터치 입력이 없는 것을 감지하면, 집중점 처리기(211-5)의 집중점 쿼리 핸들러(211-55)로부터 복수의 전체 집중점들의 위치 및 볼륨(1200) 상의 복수의 관심 집중점들(1300)의 위치를 수신할 수 있다(1110 및 1120).When the user input processor 211-1 detects that there is no touch input that is the user's interaction with the touch screen 100 , the user input processor 211-1 receives a plurality of Positions of all focal points and the plurality of focal points 1300 on the volume 1200 may be received ( 1110 and 1120 ).

사용자 입력 처리기(211-1)는 복수의 관심 집중점들(1300)의 위치를 관심 집중점 배열로 저장할 수 있다(1130). 예를 들어, 사용자 입력 처리기(211-1)는 관심 집중점 배열로 저장하기 위한 복수의 관심 집중점들(1300)의 위치를 결정하기 위하여 PCA(Principal component analysis), CNN(Convolutional neural network) 등을 이용할 수 있다.The user input processor 211-1 may store the positions of the plurality of focus points 1300 as an interest point arrangement ( 1130 ). For example, the user input processor 211-1 may perform a principal component analysis (PCA), a convolutional neural network (CNN), etc. is available.

사용자 입력 처리기(211-1)는 관심 집중점 배열에 따라 가상 위젯의 타입을 결정할 수 있다(1140). 예를 들어, 사용자 입력 처리기(211-1)는 관심 집중점 배열이 직선 형태일 때 가상 위젯의 타입을 웨지 위젯(1400)으로 결정할 수 있다. 웨지 위젯(1400)은 쐐기 모양으로 볼륨을 잘라 내부를 볼 수 있는 구형 위젯을 의미할 수 있다. 사용자 입력 처리기(211-1)는 관심 집중점 배열이 원형인 때 가상 위젯의 타입을 아이리스 위젯(1500)으로 결정할 수 있다. 아이리스 위젯(1500)은 원뿔 모양으로 볼륨을 잘라 내부를 볼 수 있는 구형 위젯을 의미할 수 있다.The user input processor 211-1 may determine the type of the virtual widget according to the arrangement of the focus points ( 1140 ). For example, the user input processor 211-1 may determine the type of the virtual widget 1400 as the wedge widget 1400 when the POI arrangement is a straight line. The wedge widget 1400 may mean a spherical widget that can see the inside by cutting the volume in a wedge shape. The user input processor 211-1 may determine the type of the virtual widget as the iris widget 1500 when the focal point arrangement is circular. The iris widget 1500 may refer to a spherical widget in which a volume is cut into a cone shape and the inside can be seen.

사용자 입력 처리기(211-1)는 관심 집중점 배열에 저장된 정보를 이용하여 사용자의 관심 부위(Interest region)를 결정할 수 있다. 사용자 입력 처리기(211-1)는 복수의 전체 집중점들의 위치, 및 관심 집중점 배열을 이용하여 새로 생성할 가상 위젯의 크기 및 위치를 결정할 수 있다(1150 및 1160).The user input processor 211-1 may determine the user's interest region by using information stored in the POI array. The user input processor 211-1 may determine the size and position of the virtual widget to be newly created by using the positions of the plurality of total focus points and the arrangement of the focus points ( 1150 and 1160 ).

사용자 입력 처리기(211-1)는 가상 위젯의 크기, 위치 및 타입에 따라 가상 위젯(1600)을 생성할 수 있다(1170). 예를 들어, 사용자 입력 처리기(211-1)는 가상 위젯(1600) 생성 시 관심 부위 기반 RANSAC(ROI-based RANSAC)을 이용할 수 있다.The user input processor 211-1 may generate the virtual widget 1600 according to the size, location, and type of the virtual widget ( 1170 ). For example, the user input processor 211-1 may use ROI-based RANSAC (ROI-based RANSAC) when generating the virtual widget 1600 .

사용자 입력 처리기(211-1)는 생성된 가상 위젯(1600)에 대한 정보를 가상 위젯 배열에 저장할 수 있다(1180 및 1190).The user input processor 211-1 may store information on the generated virtual widget 1600 in a virtual widget array ( 1180 and 1190 ).

도 17은 인터페이스 장치의 편집 모드에서 인터페이스 장치가 사용자의 상호 작용에 의해 가상 위젯을 편집 또는 삭제하는 동작을 설명하기 위한 도면이다.FIG. 17 is a diagram for explaining an operation of editing or deleting a virtual widget by the user's interaction by the interface device in the editing mode of the interface device.

인터페이스 장치(200)는 편집 모드에서 사용자가 가상 위젯의 열린 정도를 조절하고, 완전히 닫아서 위젯을 삭제할 수 있도록 인터페이스를 제공할 수 있다. 인터페이스 장치(200)는 편집 모드에서 사용자가 가상 위젯을 조절할 수 있는 값을 그래픽적 요소로 시각화하여 직관적으로 가상 위젯을 조절할 수 있도록 제공할 수 있다.The interface device 200 may provide an interface so that the user can delete the widget by adjusting the degree of opening of the virtual widget and closing it completely in the editing mode. The interface device 200 may provide a value that allows the user to adjust the virtual widget in the edit mode by visualizing it as a graphic element so that the virtual widget can be intuitively adjusted.

이를 위해서, 인터페이스 장치(200)는 가상 위젯의 경계면(1710 및/또는 1750)을 강조하여 사용자가 경계를 끌어당기는 식으로 가상 위젯의 열린 정도만을 조절할 수 있는 인터페이스를 제공할 수 있다. 인터페이스 장치(200)는 사용자가 강조된 가상 위젯의 제1 경계면 및/또는 제2 경계면(1710 및/또는 1750)을 터치하면, 카메라에서 제1 지점 및/또는 제2 지점(1711 및/또는 1751) 방향으로 레이를 생성하여 가상 위젯의 경계면(1710 및/또는 1750) 부근을 터치했는지 확인할 수 있다.To this end, the interface device 200 may provide an interface capable of adjusting only the degree of opening of the virtual widget by emphasizing the boundary surfaces 1710 and/or 1750 of the virtual widget so that the user draws the boundary. When the user touches the first boundary surface and/or the second boundary surface 1710 and/or 1750 of the highlighted virtual widget, the interface device 200 provides a first point and/or a second point 1711 and/or 1751 in the camera. By generating a ray in the direction, it is possible to check whether the vicinity of the boundary surface 1710 and/or 1750 of the virtual widget has been touched.

인터페이스 장치(200)는 사용자가 가상 위젯의 경계면(1710 및/또는 1750)을 터치한 채로 드래그를 수행할 경우 가상 위젯의 열린 정도를 조절하여 제공할 수 있다.When the user performs dragging while touching the boundary surfaces 1710 and/or 1750 of the virtual widget, the interface device 200 may adjust the degree of opening of the virtual widget and provide it.

인터페이스 장치(200)는 관찰 모드에서 볼륨을 회전하는 것처럼 가상 위젯의 경계면(1710 및/또는 1750) 위의 충돌점이 터치 포인터에 달라붙은 것처럼 가상 위젯의 열린 정도를 조절하여 제공할 수 있다. 인터페이스 장치(200)는 사용자가 가상 위젯의 경계면(1710 및/또는 1750)을 맞닿게 하여 열린 정도를 완전히 없애면 가상 위젯을 삭제할 수 있다.The interface device 200 may provide by adjusting the degree of opening of the virtual widget as if a collision point on the boundary surface 1710 and/or 1750 of the virtual widget is attached to the touch pointer as if rotating the volume in the observation mode. The interface device 200 may delete the virtual widget when the user completely eliminates the degree of opening by bringing the interface 1710 and/or 1750 into contact with the virtual widget.

도 18은 사용자 입력 처리기가 가상 위젯을 변형하는 과정을 설명하기 위한 도면이다.18 is a diagram for describing a process in which a user input processor transforms a virtual widget.

상호 작용 분류 모듈(211-11)은 사용자의 상호 작용이 스케치 입력인지 가상 위젯 편집 입력인지를 판단할 수 있다(1810). 예를 들어, 가상 위젯 편집 입력은 사용자가 가상 위젯의 서로 다른 지점인 제1 경계면(1710)의 제1 지점(1711) 및 제2 경계면(1750)의 제2 지점(1751)을 터치한 채로 드래그(1715 및/또는 1755)함으로써 입력될 수 있다.The interaction classification module 211 - 11 may determine whether the user's interaction is a sketch input or a virtual widget editing input ( 1810 ). For example, in the virtual widget editing input, the user touches and drags the first point 1711 of the first boundary surface 1710 and the second point 1751 of the second boundary surface 1750 which are different points of the virtual widget while touching them. (1715 and/or 1755).

상호 작용 분류 모듈(211-11)은 사용자의 상호 작용이 가상 위젯 편집 입력인 경우 사용자의 상호 작용을 가상 위젯 편집 모듈(211-17)로 출력할 수 있다(1820).The interaction classification module 211-11 may output the user interaction to the virtual widget editing module 211-17 when the user interaction is a virtual widget editing input (1820).

가상 위젯 편집 모듈(211-17)은 사용자의 상호 작용 및 가상 위젯 배열에 기초하여 사용자가 변형하려는 타겟 가상 위젯을 검색할 수 있다(1830 및 1840).The virtual widget editing module 211-17 may search for a target virtual widget to be transformed by the user based on the user's interaction and virtual widget arrangement (1830 and 1840).

가상 위젯 편집 모듈(211-17)은 사용자의 상호 작용이 지속되는 동안, 사용자의 상호 작용인 터치 입력에 대한 위치 정보를 이용하여 타겟 가상 위젯의 상태(예를 들어, 타겟 가상 위젯의 가시성 및 색상 등)를 변경할 수 있다(1850 내지 1880).The virtual widget editing module 211-17 is configured to use location information on a touch input that is a user's interaction while the user's interaction is continuing, to provide a state of the target virtual widget (eg, visibility and color of the target virtual widget). etc.) can be changed (1850 to 1880).

도 19는 그래픽 렌더링기의 동작을 설명하기 위한 도면이다.19 is a diagram for explaining an operation of a graphic renderer.

GPU(215)는 가상 위젯 배열 및 볼륨 데이터를 이용하여 가상 위젯 렌더링 이미지를 생성할 수 있다(1910). GPU(215)는 가상 위젯 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다(1920).The GPU 215 may generate a virtual widget rendering image by using the virtual widget arrangement and volume data ( 1910 ). The GPU 215 may transmit the virtual widget rendering image to the touch screen 100 ( 1920 ).

GPU(215)는 가상 위젯에 의한 부분적인 가시성 및 색상 변경을 볼륨 데이터에 적용할 수 있다(1930).The GPU 215 may apply partial visibility and color change by the virtual widget to volume data (1930).

GPU(215)는 가상 위젯에 의해 부분적인 가시성 및 색상이 변경된 볼륨 데이터를 직접 볼륨 렌더링으로 시각화한 볼륨 렌더링 이미지를 생성할 수 있다(1940). 예를 들어, GPU(215)는 볼륨 데이터 렌더링 및 가상 위젯 렌더링에 HLSL(High Level Shading Language)을 이용할 수 있다.The GPU 215 may generate a volume rendering image in which the volume data whose partial visibility and color are changed by the virtual widget is directly visualized by volume rendering (1940). For example, the GPU 215 may use High Level Shading Language (HLSL) for volume data rendering and virtual widget rendering.

GPU(215)는 볼륨 렌더링 이미지를 터치 스크린(100)으로 전송할 수 있다(1950). 터치 스크린(100)은 가상 위젯 렌더링 이미지 및 볼륨 렌더링 이미지를 이용하여 가상 위젯 및 가상 위젯에 의해 부분적인 가시성 및 색상이 변경된 볼륨을 디스플레이할 수 있다(1960).The GPU 215 may transmit the volume rendering image to the touch screen 100 ( 1950 ). The touch screen 100 may use the virtual widget rendered image and the volume rendered image to display the virtual widget and a volume whose partial visibility and color are changed by the virtual widget (1960).

GPU(215)는 볼륨 데이터에서 복수의 전체 집중점들을 획득할 수 있다(1970). The GPU 215 may obtain a plurality of total focus points from the volume data ( 1970 ).

GPU(215)는 복수의 전체 집중점들을 RGB 텍스처로 부호화할 수 있다(1980).The GPU 215 may encode the plurality of total focus points into the RGB texture (1980).

GPU(215)는 복수의 부호화된 전체 집중점들을 집중점 처리기(211-5)로 출력할 수 있다(1990).The GPU 215 may output the plurality of encoded entire focus points to the focus point processor 211-5 (1990).

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스 방법에 있어서,
상기 볼륨 데이터를 이용하여 디스플레이되는 볼륨에 대한 상기 사용자의 제1 상호 작용을 수신하는 단계;
상기 사용자의 제1 상호 작용에 기초하여 상기 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 상기 볼륨 상에 생성하는 단계; 및
상기 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 부분적으로 가시화하는 단계
를 포함하고,
상기 가상 위젯을 상기 볼륨 상에 생성하는 단계는,
상기 사용자의 제1 상호 작용에 대응하는 상기 볼륨 상의 스케치 위치를 획득하는 단계;
상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들 중에서 상기 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택하는 단계; 및
상기 복수의 관심 집중점들 및 상기 복수의 전체 집중점들을 이용하여 상기 가상 위젯의 크기 및 위치를 결정하는 단계
를 포함하는 인터페이스 방법.
An interface method for visualizing volume data to interact with a user,
receiving the user's first interaction with the displayed volume using the volume data;
creating a virtual widget on the volume for controlling visualization of the interior of the volume based on the first interaction of the user; and
partially visualizing the inside of the volume on the volume according to the virtual widget
including,
The step of creating the virtual widget on the volume comprises:
obtaining a sketch location on the volume corresponding to the first interaction of the user;
selecting focus points corresponding to the sketch position as a plurality of focus points from among a plurality of total focus points that are points with increased visibility in the volume data; and
determining the size and position of the virtual widget using the plurality of focus points and the plurality of total focus points;
An interface method comprising a.
제1항에 있어서,
상기 볼륨 데이터에서 가시성이 증가하는 점들인 상기 복수의 전체 집중점들을 획득하는 단계; 및
상기 복수의 전체 집중점들을 공간 자료 구조에 저장하는 단계
를 더 포함하는 인터페이스 방법.
According to claim 1,
acquiring the plurality of total focus points, which are points of increasing visibility in the volume data; and
storing the plurality of total focus points in a spatial data structure;
An interface method further comprising a.
제2항에 있어서,
상기 저장하는 단계는,
상기 복수의 전체 집중점들을 RGB 텍스처로 부호화하는 단계; 및
복수의 부호화된 전체 집중점들을 복호화하여 상기 공간 자료 구조에 저장하는 단계
를 포함하는 인터페이스 방법.
3. The method of claim 2,
The storing step is
encoding the plurality of total focus points into RGB textures; and
Decoding the plurality of coded full focus points and storing them in the spatial data structure
An interface method comprising a.
제1항에 있어서,
상기 가상 위젯을 생성하는 단계는,
상기 제1 상호 작용의 형태에 따라 상기 가상 위젯의 타입을 결정하는 단계; 및
상기 크기, 상기 위치, 및 상기 타입에 따라 상기 가상 위젯을 생성하는 단계
를 더 포함하는 인터페이스 방법.
According to claim 1,
The step of creating the virtual widget includes:
determining the type of the virtual widget according to the form of the first interaction; and
creating the virtual widget according to the size, the position, and the type;
An interface method further comprising a.
제4항에 있어서,
상기 가상 위젯의 타입을 결정하는 단계는,
상기 사용자의 제1 상호 작용이 직선 형태인 때 상기 가상 위젯의 타입을 웨지(wedge) 위젯으로 결정하는 단계
를 포함하는 인터페이스 방법.
5. The method of claim 4,
Determining the type of the virtual widget includes:
determining the type of the virtual widget as a wedge widget when the user's first interaction is a straight line
An interface method comprising a.
제4항에 있어서,
상기 가상 위젯의 타입을 결정하는 단계는,
상기 사용자의 제1 상호 작용이 원 형태인 때 상기 가상 위젯의 타입을 아이리스(iris) 위젯으로 결정하는 단계
를 포함하는 인터페이스 방법.
5. The method of claim 4,
Determining the type of the virtual widget includes:
determining the type of the virtual widget as an iris widget when the user's first interaction is a circle shape
An interface method comprising a.
제1항에 있어서,
상기 가상 위젯에 대한 상기 사용자의 제2 상호 작용을 수신하는 단계;
상기 사용자의 제2 상호 작용에 기초하여 상기 가상 위젯을 변형하는 단계; 및
변형된 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 가시화하는 단계
를 더 포함하는 인터페이스 방법.
According to claim 1,
receiving a second interaction of the user with the virtual widget;
transforming the virtual widget based on the second interaction of the user; and
Visualizing the inside of the volume on the volume according to the transformed virtual widget
An interface method further comprising a.
제7항에 있어서,
상기 제2 상호 작용은,
상기 사용자가 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력되는
인터페이스 방법.
8. The method of claim 7,
The second interaction is
input by the user dragging different points of the boundary surface of the virtual widget.
interface method.
제8항에 있어서,
상기 사용자의 제2 상호 작용이 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 상기 서로 다른 지점의 경계면이 일치하는 때, 상기 가상 위젯을 삭제하는 단계
를 더 포함하는 인터페이스 방법.
9. The method of claim 8,
When the user's second interaction is by dragging different points of the borders of the virtual widgets so that the borders of the different points match, deleting the virtual widgets
An interface method further comprising a.
제4항에 있어서,
상기 생성하는 단계는,
상기 가상 위젯에 대한 정보를 가상 위젯 배열에 저장하는 단계; 및
상기 가상 위젯 배열에 저장된 정보를 렌더링하여 상기 가상 위젯에 대한 가상 위젯 렌더링 이미지를 생성하는 단계
를 포함하는 인터페이스 방법.
5. The method of claim 4,
The generating step is
storing information about the virtual widget in a virtual widget array; and
generating a virtual widget rendering image for the virtual widget by rendering information stored in the virtual widget array;
An interface method comprising a.
볼륨 데이터를 시각화하여 사용자와 상호 작용하는 인터페이스를 위한 인스트럭션들을 저장하는 메모리; 및
상기 인스트럭션들을 실행하기 위한 컨트롤러
를 포함하고,
상기 인스트럭션들이 상기 컨트롤러에 의해 실행될 때, 상기 컨트롤러는,
상기 볼륨 데이터를 이용하여 디스플레이되는 볼륨에 대한 상기 사용자의 제1 상호 작용을 수신하고,
상기 사용자의 제1 상호 작용에 기초하여 상기 볼륨 상에 디스플레이될 상기 볼륨의 내부의 시각화를 제어하기 위한 가상 위젯을 생성하고,
상기 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 부분적으로 가시화하고,
상기 컨트롤러는,
상기 사용자의 제1 상호 작용에 대응하는 상기 볼륨 상의 스케치 위치를 획득하고, 상기 볼륨 데이터에서 가시성이 증가하는 점들인 복수의 전체 집중점들 중에서 상기 스케치 위치에 상응하는 집중점들을 복수의 관심 집중점들로 선택하고, 상기 복수의 관심 집중점들 및 상기 복수의 전체 집중점들을 이용하여 상기 가상 위젯의 크기 및 위치를 결정하는
인터페이스 장치.
a memory for storing instructions for an interface that visualizes volume data and interacts with a user; and
a controller for executing the instructions
including,
When the instructions are executed by the controller, the controller
receive a first interaction of the user with a displayed volume using the volume data;
create a virtual widget for controlling a visualization of an interior of the volume to be displayed on the volume based on the first interaction of the user;
partially visualize the inside of the volume on the volume according to the virtual widget,
The controller is
A sketch position on the volume corresponding to the user's first interaction is acquired, and a plurality of focus points corresponding to the sketch position from among a plurality of total focus points that are points with increased visibility in the volume data are selected as a plurality of focus points. to determine the size and position of the virtual widget using the plurality of focus points and the plurality of total focus points.
interface device.
제11항에 있어서,
상기 컨트롤러는,
상기 볼륨 데이터에서 가시성이 증가하는 점들인 상기 복수의 전체 집중점들을 획득하고,
상기 복수의 전체 집중점들을 공간 자료 구조에 저장하는
인터페이스 장치.
12. The method of claim 11,
The controller is
acquiring the plurality of overall focus points, which are points of increasing visibility in the volume data,
storing the plurality of total focus points in a spatial data structure;
interface device.
제12항에 있어서,
상기 컨트롤러는,
상기 복수의 전체 집중점들을 RGB 텍스처로 부호화하고,
복수의 부호화된 전체 집중점들을 복호화하여 상기 공간 자료 구조에 저장하는
인터페이스 장치.
13. The method of claim 12,
The controller is
Encoding the plurality of total focus points into RGB textures,
Decoding a plurality of encoded full focus points and storing them in the spatial data structure
interface device.
제11항에 있어서,
상기 컨트롤러는,
상기 제1 상호 작용의 형태에 따라 상기 가상 위젯의 타입을 결정하고,
상기 크기, 상기 위치, 및 상기 타입에 따라 상기 가상 위젯을 생성하는
인터페이스 장치.
12. The method of claim 11,
The controller is
determining the type of the virtual widget according to the form of the first interaction;
creating the virtual widget according to the size, the position, and the type
interface device.
제14항에 있어서,
상기 컨트롤러는,
상기 사용자의 제1 상호 작용이 직선 형태인 때 상기 가상 위젯의 타입을 웨지(wedge) 위젯으로 결정하는
인터페이스 장치.
15. The method of claim 14,
The controller is
determining the type of the virtual widget as a wedge widget when the user's first interaction is a straight line
interface device.
제14항에 있어서,
상기 컨트롤러는,
상기 사용자의 제1 상호 작용이 원 형태인 때 상기 가상 위젯의 타입을 아이리스(iris) 위젯으로 결정하는
인터페이스 장치.
15. The method of claim 14,
The controller is
determining the type of the virtual widget as an iris widget when the user's first interaction is a circle shape
interface device.
제11항에 있어서,
상기 컨트롤러는,
상기 가상 위젯에 대한 상기 사용자의 제2 상호 작용을 수신하고,
상기 사용자의 제2 상호 작용에 기초하여 상기 가상 위젯을 변형하고,
변형된 가상 위젯에 따라 상기 볼륨 상에서 상기 볼륨의 내부를 가시화하는
인터페이스 장치.
12. The method of claim 11,
The controller is
receive a second interaction of the user with the virtual widget;
deform the virtual widget based on the second interaction of the user;
Visualizing the inside of the volume on the volume according to the transformed virtual widget
interface device.
제17항에 있어서,
상기 제2 상호 작용은,
상기 사용자가 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 입력되는
인터페이스 장치.
18. The method of claim 17,
The second interaction is
input by the user dragging different points of the boundary surface of the virtual widget.
interface device.
제18항에 있어서,
상기 컨트롤러는,
상기 사용자의 제2 상호 작용이 상기 가상 위젯의 경계면의 서로 다른 지점을 드래그 함으로써 상기 서로 다른 지점의 경계면이 일치하는 때, 상기 가상 위젯을 삭제하는
인터페이스 장치.
19. The method of claim 18,
The controller is
Deleting the virtual widget when the user's second interaction is the same as the boundary of the different points by dragging different points of the boundary of the virtual widget
interface device.
제14항에 있어서,
상기 컨트롤러는,
상기 가상 위젯에 대한 정보를 가상 위젯 배열에 저장하고,
상기 가상 위젯 배열에 저장된 정보를 렌더링하여 상기 가상 위젯에 대한 가상 위젯 렌더링 이미지를 생성하는
인터페이스 장치.
15. The method of claim 14,
The controller is
storing information about the virtual widget in a virtual widget array;
Rendering information stored in the virtual widget array to generate a virtual widget rendering image for the virtual widget
interface device.
KR1020200083527A 2020-07-07 2020-07-07 Method and apparatus system for volume data visualization interface through virtual widget based on touch screen KR102352985B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200083527A KR102352985B1 (en) 2020-07-07 2020-07-07 Method and apparatus system for volume data visualization interface through virtual widget based on touch screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200083527A KR102352985B1 (en) 2020-07-07 2020-07-07 Method and apparatus system for volume data visualization interface through virtual widget based on touch screen

Publications (2)

Publication Number Publication Date
KR20220005851A KR20220005851A (en) 2022-01-14
KR102352985B1 true KR102352985B1 (en) 2022-01-20

Family

ID=79343001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200083527A KR102352985B1 (en) 2020-07-07 2020-07-07 Method and apparatus system for volume data visualization interface through virtual widget based on touch screen

Country Status (1)

Country Link
KR (1) KR102352985B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016123584A (en) * 2014-12-26 2016-07-11 株式会社根本杏林堂 Medical image display terminal and medical image display program
KR101731593B1 (en) * 2013-02-08 2017-05-11 주식회사 이우소프트 Image display to display internal structure with change of depth

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018514237A (en) * 2015-03-09 2018-06-07 ケアストリーム ヘルス インク Texture mapping apparatus and method for dental 3D scanner
KR20150113940A (en) * 2015-09-14 2015-10-08 주식회사 인피니트헬스케어 Virtual user interface apparatus for assisting reading medical images and method of providing virtual user interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101731593B1 (en) * 2013-02-08 2017-05-11 주식회사 이우소프트 Image display to display internal structure with change of depth
JP2016123584A (en) * 2014-12-26 2016-07-11 株式会社根本杏林堂 Medical image display terminal and medical image display program

Also Published As

Publication number Publication date
KR20220005851A (en) 2022-01-14

Similar Documents

Publication Publication Date Title
US10366494B2 (en) Image segmentation method and electronic device therefor
KR102316056B1 (en) Image processing apparatus, image processing method thereof and program
RU2479012C2 (en) Three-dimensional shadow mouse pointer
CN107169919B (en) Method and system for accelerated reading of 3D medical volumes
JP4879028B2 (en) Image processing method, image analysis method, and program storage medium
JP6635648B2 (en) Medical image processing apparatus, medical image processing method, and classifier training method
US10949698B2 (en) Image processing apparatus, image processing system, image processing method, and storage medium
JP6539303B2 (en) Transforming 3D objects to segment objects in 3D medical images
CN107111875B (en) Feedback for multi-modal auto-registration
US10950056B2 (en) Apparatus and method for generating point cloud data
KR20020041290A (en) 3 dimensional slab rendering system and method
US11170246B2 (en) Recognition processing device, recognition processing method, and program
KR101908126B1 (en) System and method for analyzing multimodal medical image
CN107507212A (en) Digital brain method for visualizing, device, computing device and storage medium
JP2017012446A (en) Image processing apparatus
KR102352985B1 (en) Method and apparatus system for volume data visualization interface through virtual widget based on touch screen
KR20230005312A (en) Method and Apparatus for Generating Floor Plans
JP5122650B2 (en) Path neighborhood rendering
JP2017006296A (en) Image processing device, image processing method, program, and recording medium
JP2007144056A (en) Modeling device, region extracting device, modeling method and program
EP3316223B1 (en) Visualization system and method for 3d scenes
CN107329669B (en) Method and device for selecting human body sub-organ model in human body medical three-dimensional model
KR20150111541A (en) Method of extracting representing image from medical image
KR101138969B1 (en) A method for accessing a penetrate image data of 3 dimension data to drive fast the penetrate image data, therefor an user interface apparatus
KR102636217B1 (en) 3d data augmentation method using weighted local transformation and apparatus therefor

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right