KR20220139217A - 데이터 처리 장치, 스캐너 및 그 동작 방법 - Google Patents

데이터 처리 장치, 스캐너 및 그 동작 방법 Download PDF

Info

Publication number
KR20220139217A
KR20220139217A KR1020210131884A KR20210131884A KR20220139217A KR 20220139217 A KR20220139217 A KR 20220139217A KR 1020210131884 A KR1020210131884 A KR 1020210131884A KR 20210131884 A KR20210131884 A KR 20210131884A KR 20220139217 A KR20220139217 A KR 20220139217A
Authority
KR
South Korea
Prior art keywords
data
scanner
image
data processing
display
Prior art date
Application number
KR1020210131884A
Other languages
English (en)
Other versions
KR102626891B1 (ko
Inventor
이동훈
Original Assignee
주식회사 메디트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 메디트 filed Critical 주식회사 메디트
Priority to PCT/KR2022/004974 priority Critical patent/WO2022216056A1/ko
Priority to US18/285,694 priority patent/US20240180397A1/en
Priority to EP22784965.0A priority patent/EP4321128A1/en
Publication of KR20220139217A publication Critical patent/KR20220139217A/ko
Application granted granted Critical
Publication of KR102626891B1 publication Critical patent/KR102626891B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61CDENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
    • A61C9/00Impression cups, i.e. impression trays; Impression methods
    • A61C9/004Means or methods for taking digitized impressions
    • A61C9/0046Data acquisition means or methods
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0062Arrangements for scanning
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0082Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes
    • A61B5/0088Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence adapted for particular medical purposes for oral or dental tissue
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61CDENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
    • A61C9/00Impression cups, i.e. impression trays; Impression methods
    • A61C9/004Means or methods for taking digitized impressions
    • A61C9/0046Data acquisition means or methods
    • A61C9/0053Optical means or methods, e.g. scanning the teeth by a laser or light beam
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/18Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves
    • A61B18/20Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by applying electromagnetic radiation, e.g. microwaves using laser
    • A61B2018/2035Beam shaping or redirecting; Optical components therefor
    • A61B2018/20351Scanning mechanisms
    • A61B2018/20353Scanning in three dimensions [3D]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30004Biomedical image processing
    • G06T2207/30036Dental; Teeth

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • Veterinary Medicine (AREA)
  • Physics & Mathematics (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Dentistry (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biophysics (AREA)
  • Radiology & Medical Imaging (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Primary Health Care (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Optics & Photonics (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Dental Tools And Instruments Or Auxiliary Dental Instruments (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

실시예들에 따라 데이터 처리 장치, 스캐너, 그 동작 방법 및 그 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능 저장 매체가 개시된다. 개시된 데이터 처리 장치는 데이터 처리 장치는, 디스플레이, 통신 인터페이스, 하나 이상의 인스트럭션을 포함하는 메모리, 및 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하고, 상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하도록 상기 디스플레이를 제어한다.

Description

데이터 처리 장치, 스캐너 및 그 동작 방법{A data processing apparatus, a scanner, and methods for operating the same}
개시된 실시예는 데이터 처리 장치, 스캐너 및 그 동작 방법에 관한 것이다.
구체적으로, 개시된 실시예는 스캐너 의해 획득된 이미지 데이터를 처리하거나 스캐너의 설정을 조정할 때 보다 편리하게 제어할 수 있도록 하기 위한 데이터 처리 장치, 스캐너 및 그 동작 방법에 대한 것이다.
최근에는 환자의 구강 정보를 획득하기 위한 방법으로, 환자의 구강에 삽입하여 구강 내의 이미지를 획득하는 구강 스캐너가 이용되고 있다. 구강 스캐너를 이용하여 환자의 구강을 스캔함으로써 상악 스캔 데이터, 하악 스캔 데이터 및 상악과 하악의 교합 스캔 데이터를 획득할 수 있다. 획득된 스캔 데이터를 이용하여 3차원 가상 모델을 생성하고, 생성된 3차원 가상 모델을 이용하여 치아의 치료나 교정 등을 진행할 수 있다.
구강 스캐너를 이용하는 사용자는 구강 스캐너를 이용하여 획득한 데이터를 데이터 처리 장치의 디스플레이로 확인할 수 있다. 또한 사용자는 디스플레이에 표시된 데이터를 확인하고, 데이터에 불필요하거나 잘못된 데이터가 포함된 경우에는 해당 데이터를 삭제한 뒤에 다시 스캔할 수 있다. 이때 사용자가 데이터를 삭제하는 등의 편집을 할 때, 데이터 처리 장치에 데이터 입력 가능한 마우스나 키보드와 같은 별도의 외부 입력 장치를 이용하여 데이터를 삭제할 수 있다. 이러한 과정에서 사용자는 구강 스캐너와 외부 입력 장치를 번갈아 사용하여야 함으로써, 위생적인 문제가 발생할 수 있으며, 스캔 동작과 데이터 조정 동작 사이에서 동선이 증가하여 작업 효율이 떨어질 수 있다.
개시된 실시예는, 별도의 외부 입력 장치를 사용하지 않고 스캐너를 이용하여 스캐너를 통해 획득된 데이터를 조정할 수 있는 기능을 제공하는 스캐너, 데이터 처리 장치 및 그 방법을 제공하는 것을 목적으로 한다.
개시된 실시예는 별도의 외부 입력 장치를 사용하지 않고 스캐너의 설정을 변경할 수 있는 기능을 제공하는 스캐너 및 그 동작 방법을 제공하는 것을 목적으로 한다.
실시예에 따른 데이터 처리 장치는, 디스플레이, 통신 인터페이스, 하나 이상의 인스트럭션을 포함하는 메모리, 및 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하고, 상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하도록 상기 디스플레이를 제어한다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리할 수 있다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되살리기 (redo) 명령에 대응됨에 따라, 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리할 수 있다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 락킹 (locking) 명령에 대응됨에 따라, 상기 숨김 처리나 상기 복구 처리가 더 이상 허용되지 않도록 현재 상태의 삼차원 데이터에 기반하여 삼차원 데이터를 확정 처리할 수 있다.
상기 삼차원 데이터는, 상기 스캔 데이터에 기반하여 생성된 복셀 데이터 또는 상기 스캔 데이터에 기반하여 생성된 메쉬 데이터 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 대상체의 제1영역에 대응하는 스캔 데이터에 기반하여 생성된 제1삼차원 데이터에 대응하는 제1이미지를 서브 화면에 표시하도록 상기 디스플레이를 제어하고, 상기 제1영역과 이격된 상기 대상체의 제2영역에 대응하는 스캔 데이터에 기반하여 생성된 제2삼차원 데이터에 대응하는 제2이미지를 메인 화면에 표시하도록 상기 디스플레이를 제어하고, 상기 스캐너로부터 수신된 제어 신호에 따라 상기 메인 화면에 표시된 상기 제2이미지에 대응하는 삼차원 데이터를 조정하는 기능을 수행하고, 상기 조정된 삼차원 데이터를 이용하여 제2이미지를 표시하도록 상기 디스플레이를 제어할 수 있다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 서브 화면에 표시된 상기 제1이미지에 대응하는 삼차원 데이터에 대해서 데이터 조정 기능이 수행되지 않도록 하는 락킹 기능을 설정할 수 있다.
일 실시예에 따라 상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 제2삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작에 의해 상기 제2삼차원 데이터가 모두 숨김 처리되면, 상기 서브 화면에 대응하는 상기 제1삼차원 데이터에 대응하는 제1이미지를 상기 메인 화면에 표시하도록 상기 디스플레이를 제어할 수 있다.
일 실시예에 따른 스캐너는, 스캔 동작을 수행하는 광학부, 하나 이상의 센서, 통신 인터페이스, 및 프로세서를 포함하고, 상기 프로세서는, 상기 광학부를 이용하여 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 데이터 처리 장치로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하고, 상기 사용자 입력에 따라 상기 스캔 동작을 멈추도록 상기 광학부를 제어하고, 상기 사용자 입력에 대응하는 기능을 수행하거나 또는 상기 사용자 입력에 대응하는 기능을 수행하도록 제어하는 제어 신호를 상기 데이터 처리 장치로 전송하도록 상기 통신 인터페이스를 제어한다.
일 실시예에 따라 상기 하나 이상의 센서의 각 센서는 복수의 기능 중 하나 이상의 기능에 대응될 수 있다.
일 실시예에 따라 상기 복수의 기능은, 데이터 조정 기능, 락킹 기능, 상기 광학부의 설정을 조정하는 기능 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라 데이터 처리 장치의 동작 방법은, 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하는 동작, 상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하는 동작, 상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하는 동작, 상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하는 동작, 및 상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하는 동작을 포함한다.
일 실시예에 따라 광학부 및 하나 이상의 센서를 포함하는 스캐너의 동작 방법은, 상기 광학부를 이용하여 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 데이터 처리 장치로 전송하는 동작, 상기 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하는 동작, 상기 사용자 입력에 따라 상기 스캔 동작을 멈추도록 상기 광학부를 제어하는 동작, 및 상기 사용자 입력에 대응하는 기능을 수행하거나 또는 상기 사용자 입력에 대응하는 기능을 수행하도록 제어하는 제어 신호를 상기 데이터 처리 장치로 전송하는 동작을 포함한다.
일 실시예에 따라 데이터 처리 방법을 수행하기 위해 적어도 하나의 인스트럭션을 포함하는 프로그램이 기록된 비일시적(non-transitory) 컴퓨터 판독 가능 저장 매체에 있어서, 데이터 처리 장치의 동작 방법은, 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하는 동작, 상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하는 동작, 상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하는 동작, 상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하는 동작, 및 상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하는 동작을 포함한다.
개시된 실시예에 따라 스캐너를 이용하여 대상체를 스캔하는 동안 스캔 데이터를 조정하고자 할 때 별도의 사용자 입력 장치를 이용함 없이 대상체를 스캔하는 스캐너를 그대로 이용하여 스캔 데이터를 조정할 수 있다.
개시된 실시예에 따라 스캐너를 이용하여 대상체를 스캔하는 동안 스캐너의 설정을 변경하고자 할 때 별도의 사용자 입력 장치를 이용함 없이 대상체를 스캔하는 스캐너를 그대로 이용하여 스캐너의 설정을 변경할 수 있다.
본 발명은, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미한다.
도 1은 개시된 실시예에 따른 디지털 구강 모델 처리 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따라 스캐너와 데이터 처리 장치를 포함하는 시스템의 세부적인 블록도의 일 예이다.
도 3은 일 실시예에 따른 사용자 입력-기능 매핑 정보 300의 예를 나타낸다.
도 4는 일 실시예에 따라 스캐너와 데이터 처리 장치의 동작 과정을 나타내는 흐름도의 일 예이다.
도 5는 일 실시예에 따라 스캐너를 통해 획득된 이차원 데이터를 이용하여 생성된 삼차원 가상 모델을 데이터 처리 장치에서 표시하는 과정을 설명하기 위한 참고도이다.
도 6은 일 실시예에 따라 스캔 데이터에 기반하여 가공되는 복셀 데이터와 메쉬 데이터를 설명하기 위한 참고도이다.
도 7은 일 실시예에 따라 데이터 처리 장치에서 수행되는 동작 방법의 일 예에 따른 구체적인 흐름도이다.
도 8은 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 되돌리기 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 9는 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 되살리기 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 10은 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 락킹 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 11은 일 실시예에 따라 데이터 처리 장치가 대상체의 복수의 영역에 대응하는 이미지를 표시하는 동작을 설명하기 위한 참고도이다.
도 12는 일 실시예에 따라 데이터 처리 장치의 디스플레이에 대상체의 제1영역에 대응하는 삼차원 데이터를 표시하는 동작을 설명하기 위한 참고도이다.
도 13은 일 실시예에 따라 메인 화면 1210에 표시된 이미지가 모두 숨김 처리된 경우에 데이터 처리 장치 100가 자동적으로 서브 화면 1220의 이미지를 메인 화면 1210으로 이동시키는 동작을 설명하기 위한 참고도이다.
본 명세서는 본 발명의 권리범위를 명확히 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시할 수 있도록, 본 발명의 원리를 설명하고, 실시예들을 개시한다. 개시된 실시예들은 다양한 형태로 구현될 수 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부'(part, portion)라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부'가 하나의 요소(unit, element)로 구현되거나, 하나의 '부'가 복수의 요소들을 포함하는 것도 가능하다. 이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시예들에 대해 설명한다.
본 명세서에서 이미지는 적어도 하나의 치아, 또는 적어도 하나의 치아를 포함하는 구강을 나타내는 이미지(이하, '구강 이미지')를 포함할 수 있다.
또한, 본 명세서에서 이미지는 대상체에 대한 2차원 이미지 또는 대상체를 입체적으로 나타내는 3차원 모델 또는 3차원 이미지가 될 수 있다. 또한, 본 명세서에서 이미지는 대상체를 2차원 또는 3차원적으로 표현하기 위해서 필요한 데이터, 예를 들어, 적어도 하나의 이미지 센서로부터 획득된 로우 데이터(raw data) 등을 의미할 수 있다. 구체적으로, 로우 데이터는 구강 이미지를 생성하기 위해서 획득되는 데이터로, 구강 스캐너(intraoral scanner)를 이용하여 대상체인 환자의 구강 내를 스캔(scan)할 때 구강 스캐너에 포함되는 적어도 하나의 이미지 센서에서 획득되는 데이터(예를 들어, 2차원 데이터)가 될 수 있다. 구강 스캐너에서 획득되는 로우 데이터는, 스캔 데이터 또는 이차원 이미지 데이터로 언급될 수도 있다.
본 명세서에서 '대상체(object)'는 치아, 치은, 구강의 적어도 일부 영역, 및/또는 구강 내에 삽입 가능한 인공 구조물(예를 들어, 교정 장치, 임플란트, 인공 치아, 구강 내 삽입되는 교정 보조 도구 등) 등을 포함할 수 있다. 여기서, 교정 장치는 브라켓, 어태치먼트(attachment), 교정용 나사, 설측 교정 장치, 및 가철식 교정 유지 장치 중 적어도 하나를 포함할 수 있다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 개시된 실시예에 따른 디지털 구강 모델 처리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 디지털 구강 모델 처리 시스템은 스캐너 200와 데이터 처리 장치 100를 포함할 수 있다.
스캐너 200는 대상체를 스캔하는 장치이다. 스캐너 200는 예를 들어, 환자의 구강에 삽입하여 환자의 치아를 스캔하는 구강 스캐너 또는 치아 모형을 설치하고 설치된 치아 모형 주위를 움직이면서 스캔하는 모델 스캐너 등을 포함할 수 있다.
스캐너 200는 대상체의 3차원적 정보를 측정하는 방식으로 광 삼각법 (triangulation technique)또는 공초점 (confocal) 방식을 이용할 수 있다. 광 삼각법은 광원, 광원으로부터 조사된 빛이 조사되는 대상체, 대상체로부터 반사된 빛이 입력되는 이미지 센서에 의해 형성되는 삼각형을 이용하여 삼각 계산을 통해 대상체의 3차원적 정보를 획득하는 기술이고, 공초점 방식은 대상체에 조사되는 빛을 통과시키는 렌즈의 굴절률에 따라서, 반사된 빛의 최대 강도를 통해 알아낸 점의 위치를 기초로 대상체의 3차원적 정보를 획득하는 방식이다.
예를 들어, 구강 스캐너 301는 구강 내에 삽입되어 비 접촉식으로 치아를 스캐닝함으로써, 적어도 하나의 치아를 포함하는 구강에 대한 이미지를 획득하기 위한 장치가 될 수 있다. 또한, 구강 스캐너 301는 구강 내에 인입 및 인출이 가능한 형태를 가질 수 있으며, 적어도 하나의 이미지 센서(예를 들어, 광학 카메라 등)를 이용하여 환자의 구강 내부를 스캔 한다. 구강 스캐너 301는 대상체인 구강 내부의 치아, 치은 및 구강 내에 삽입 가능한 인공 구조물(예를 들어, 브라켓 및 와이어 등을 포함하는 교정 장치, 임플란트, 인공 치아, 구강 내 삽입되는 교정 보조 도구 등) 중 적어도 하나의 표면을 이미징하기 위해서, 대상체에 대한 표면 정보를 로우 데이터(raw data)로 획득할 수 있다.
스캐너 200에서 획득된 이미지 데이터는 유선 또는 무선 통신 네트워크를 통하여 연결되는 데이터 처리 장치 100로 전송될 수 있다.
일 실시예에 따라 스캐너는, 광학부를 이용하여 객체를 스캔함으로써 획득한 대상체의 스캔 데이터를 데이터 처리 장치로 전송할 수 있다.
일 실시예에 따라 스캐너는, 스캐너에 마련된 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하고, 사용자 입력에 따라 스캔 동작을 멈추도록 광학부를 제어할 수 있다.
일 실시예에 따라 스캐너는, 스캐너에 마련된 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하고, 사용자 입력에 따라 사용자 입력에 대응하는 기능을 수행할 수 있다. 사용자 입력에 대응하는 기능은 스캐너에 마련된 광학부의 설정을 변경하는 기능을 포함할 수 있다.
일 실시예에 따라 스캐너는, 스캐너에 마련된 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하고, 사용자 입력에 따라 사용자 입력에 대응하는 기능을 수행하도록 제어하는 제어 신호를 데이터 처리 장치로 전송할 수 있다. 데이터 처리 장치로 보내지는 사용자 입력에 대응하는 기능은 스캔 데이터의 조정 기능을 포함할 수 있다. 스캔 데이터의 조정 기능은 스캔 데이터의 되돌리기 처리 기능, 되살리기 처리 기능, 락킹 기능 등을 포함할 수 있다.
데이터 처리 장치 100는 스캐너 200와 유선 또는 무선 통신 네트워크를 통하여 연결되며, 스캐너 200로부터 구강을 스캔하여 획득된 이차원 이미지를 수신하고, 수신된 이차원 이미지에 근거하여 구강 이미지를 생성, 처리, 디스플레이 및/또는 전송할 수 있는 모든 전자 장치가 될 수 있다.
데이터 처리 장치 100는 스캐너 200에서 수신된 이차원 이미지 데이터에 근거하여, 이차원 이미지 데이터를 처리하여 생성한 정보 및 이차원 이미지 데이터를 처리하여 생성한 구강 이미지 중 적어도 하나를 생성하고, 생성된 정보 및 구강 이미지를 디스플레이를 통하여 디스플레이 할 수 있다.
데이터 처리 장치 100는 스마트 폰(smart phone), 랩탑 컴퓨터, 데스크탑 컴퓨터, PDA, 태블릿 PC 등의 컴퓨팅 장치가 될 수 있으며, 이에 한정되지 않는다. 또한, 데이터 처리 장치 100는 구강 이미지를 처리하기 위한 서버(또는 서버 장치) 등의 형태로 존재할 수도 있을 것이다.
또한, 스캐너 200는 스캔을 통하여 획득된 스캔 데이터 (또는 로우 데이터(raw data)로 언급될 수 있다.)를 그대로 데이터 처리 장치 100로 전송할 수 있다. 이 경우, 데이터 처리 장치 100는 수신된 스캔 데이터에 근거하여 구강을 3차원적으로 나타내는 삼차원 데이터를 생성할 수 있다. '3차원 데이터'는 수신된 스캔 데이터에 근거하여 구강의 내부 구조를 3차원적으로 모델링(modeling)하여 생성될 수 있으므로, '3차원 구강 모델', '디지털 구강 모델', 또는 '3차원 구강 이미지'로 호칭될 수도 있다.
또한, 데이터 처리 장치 100는 스캔 데이터에 기반하여 생성된 삼차원 데이터를 분석, 처리, 디스플레이 및/또는 외부 장치로 전송할 수 있을 것이다.
또 다른 예로, 스캐너 200가 스캔을 통하여 로우 데이터(raw data)를 획득하고, 획득된 로우 데이터를 가공하여 대상체인 구강에 대응되는 삼차원 데이터를 생성하여 데이터 처리 장치 100로 전송할 수 있다. 이 경우, 데이터 처리 장치 100는 수신된 삼차원 데이터를 분석, 처리, 디스플레이 및/또는 전송할 수 있을 것이다.
개시된 실시예에서, 데이터 처리 장치 100는 하나 이상의 치아를 포함하는 구강을 3차원적으로 나타내는 삼차원 데이터를 생성 및 디스플레이할 수 있는 전자 장치로, 이하에서 상세히 설명한다.
일 실시예에 따라 데이터 처리 장치 100는 스캐너 200로부터 대상체를 스캔함으로써 획득한 스캔 데이터를 수신하면, 수신된 스캔 데이터를 가공하여 삼차원 데이터를 생성할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 대상체를 스캔함으로써 획득한 대상체의 스캔 데이터를 스캐너로부터 수신할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 스캐너로부터 수신된 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 실시간으로 표시할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 이미지를 표시하는 동안, 스캐너의 하나 이상의 센서를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 스캐너로부터 수신하고, 제어 신호에 따라 생성된 삼차원 데이터를 조정하는 기능을 수행하고, 조정된 삼차원 데이터를 이용하여 이미지를 표시할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 제어 신호가 되살리기 (redo) 명령에 대응됨에 따라, 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 제어 신호가 락킹 (locking) 명령에 대응됨에 따라, 숨김 처리나 복구 처리가 더 이상 허용되지 않도록 현재 상태의 삼차원 데이터에 기반하여 삼차원 데이터를 확정 처리할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 디스플레이의 화면을 복수개의 화면으로 분할하고, 복수개의 화면의 각각에 대상체의 서로 다른 영역에 대응하는 이미지를 표시할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 대상체의 제1영역에 대응하는 스캔 데이터에 기반하여 생성된 제1삼차원 데이터에 대응하는 제1이미지를 서브 화면에 표시하도록 디스플레이를 제어하고, 제1영역과 이격된 대상의 제2영역에 대응하는 스캔 데이터에 기반하여 생성된 제2삼차원 데이터에 대응하는 제2이미지를 메인 화면에 표시하고, 스캐너로부터 수신된 제어 신호에 따라 메인 화면에 표시된 상기 제2이미지에 대응하는 제2삼차원 데이터를 조정하는 기능을 수행하고, 조정된 삼차원 데이터를 이용하여 제2이미지를 표시할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 서브 화면에 표시된 제1이미지에 대응하는 삼차원 데이터에 대해서 데이터 조정 기능이 수행되지 않도록 하는 락킹 기능을 설정할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 제2삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작에 의해 제2삼차원 데이터가 모두 숨김 처리되면, 서브 화면에 대응하는 제1삼차원 데이터에 대응하는 제1이미지를 상기 메인 화면에 표시할 수 있다.
도 2는 일 실시예에 따라 스캐너와 데이터 처리 장치를 포함하는 시스템의 세부적인 블록도의 일 예이다.
도 2를 참조하면, 시스템은 스캐너 200, 데이터 처리 장치 100, 및 스캐너 200와 데이터 처리 장치 100를 통신 가능하게 하는 통신 네트워크 50를 포함할 수 있다.
스캐너 200는 환자의 구강이나 치아 캐스트 모델을 스캔하여 획득한 이차원 스캔 데이터를 통신 네트워크 50를 통해 데이터 처리 장치 100로 전송하고, 데이터 처리 장치 100는 스캐너 200로부터 수신한 이차원 스캔 데이터를 처리하여 삼차원 데이터를 생성하고, 생성된 삼차원 데이터에 대응하는 이미지를 디스플레이에 표시하거나 또는 외부 장치로 전송할 수 있다. 스캔 데이터에 기반하여 생성되는 삼차원 데이터는 삼차원 가상 모델이나 삼차원 구강 모델로 언급될 수도 있다.
먼저, 스캐너 200를 설명한다.
도 2를 참조하면, 스캐너 200는 광학부 210, 센서 220, 통신 인터페이스 230, 메모리 240 및 프로세서 250를 포함할 수 있다.
광학부 210는 광원으로부터의 광을 투사하는 프로젝터 및 하나 이상의 카메라를 포함할 수 있다. 광학부 210는, 예를 들어, 광 삼각 방식에 따라서 3차원 이미지를 복원하기 위해서, 좌안 시야(left Field of View)에 대응되는 L 카메라 및 우안 시야(Right Field of View)에 대응되는 R 카메라를 포함할 수 있다. L 카메라 및 R 카메라 각각은 좌안 시야(left Field of View)에 대응되는 L 이미지 데이터 및 우안 시야(Right Field of View)에 대응되는 R 이미지 데이터를 획득할 수 있다. 광학부 210로부터 얻어진 L 이미지 데이터 및 R 이미지 데이터를 포함하는 로우 데이터는 데이터 처리를 위해 프로세서 250로 전달될 수 있다.
사용자 인터페이스 220는 스캐너 200의 설정을 제어하거나 또는 스캐너 200에 의해 획득된 스캔 데이터의 조정을 제어하는 사용자 입력의 수신을 위해 다양한 모달리티를 가질 수 있다.
사용자 인터페이스 220는 사용자 입력에 대응하는 스캐너 200의 움직임을 감지할 수 있는 하나 이상의 센서를 포함하는 센서부 221, 사용자 입력부 222, 또는 사용자의 음성을 수신하는 마이크로폰을 포함할 수 있다.
일 실시예에 따라 센서부 221는 스캐너 200의 움직임에 관한 정보를 감지하는 자이로 센서를 포함할 수 있다. 자이로 센서는 스캐너 200의 동작에 관한 정보를 x, y, z 축을 기준으로 센싱할 수 있다. 예를 들어, 사용자가 스캐너 200를 쥐고 스캔 동작을 하다가 흔들면 자이로 센서는 이를 감지하여 입력 신호로 감지할 수 있다. 또는 스캔 동작을 멈춘 스캐너의 각도에 따라서 이를 입력 신호로 감지할 수 있다. 센서부 221는 스캐너 200를 흔드는 횟수, 스캐너 200를 위치시키는 특정한 각도, 스캐너 200를 이용한 쥐고 수행하는 특정한 패턴의 모션 등을 서로 다른 입력 신호로 감지할 수 있다.
일 실시예에 따라 센서부 221는 2축 (x, y) 방향 또는 3축 (x, y, z) 방향에서 가속도를 감지할 수 있는 가속도 센서를 포함할 수 있다. 예를 들어, 사용자가 스캐너 200를 탭(tap) 하면 가속도 센서는 이를 입력 신호로 감지할 수 있다. 예를 들어, 사용자가 스캐너 200를 탭하는 회수에 따라서 가속도 센서는 이를 서로 다른 입력 신호로 감지할 수 있다.
일 실시예에 따라 센서부 221는 터치 패드 또는 터치 센서를 포함할 수 있다. 예를 들어, 사용자가 스캐너 200에 마련된 터치 센서를 터치하는 동작을 하면 터치 센서는 이를 입력 신호로 감지할 수 있다. 터치 센서는 드래그 방향, 드래그 시간, 터치하는 시간이나 회수에 따라서 서로 다른 입력 신호로 감지할 수 있다.
이외에도 센서부 221는 회전 (rotation), 각변위 (angular displacement), 틸트 (tilt), 위치 (position), 오리엔테이션 (orientation) 등을 감지할 수 있다.
일 실시예에 따라 사용자 입력부 222는 키패드, 버튼, 하나 이상의 방향 버튼이나 하나 이상의 방향 키, 스크롤 키나 조그 다이얼, 회전 휠이나 회전 링 중 하나 이상을 포함할 수 있다.
사용자 입력 부222가 하드 키 버튼을 구비할 경우, 사용자는 하드 키 버튼의 푸쉬 동작을 통하여 스캐너 200의 설정을 제어하거나 또는 스캐너 200에 의해 획득된 스캔 데이터의 조정을 제어하는 사용자 명령을 입력할 수 있다. 사용자 입력부 222는 버튼이 종류, 버튼을 누르는 횟수, 버튼이 눌려진 시간 등을 서로 다른 입력 신호로 감지할 수 있다.
사용자 입력부 222가 회전 휠을 구비할 경우 사용자는 회전 휠을 회전시키는 횟수나 회전 휠의 회전 방향, 회전 휠의 회전 각도 등에 따라서 서로 다른 입력 신호로 감지할 수 있다.
사용자 입력부 222가 하나 이상의 방향 버튼 또는 하나 이상의 방향 키를 포함하는 경우, 하나 이상의 방향 버튼이나 하나 이상의 방향 키를 서로 다른 입력 신호로 감지할 수 있다.
이외에도 사용자 입력부 222는 스크롤 키나, 조그 키 등 사용자가 조작할 수 있는 다양한 종류의 입력 수단을 구비할 수 있다.
마이크로폰 223은 사용자의 음성 입력을 수신할 수 있다. 마이크로폰 223에 의해 수신된 사용자 음성은 음성 인식 장치 등에 의해 인식되어 사용자 입력으로 이용될 수 있다.
통신 인터페이스 230는 데이터 처리 장치 100와 유선 또는 무선 통신 네트워크를 통하여 통신을 수행할 수 있다. 구체적으로, 통신 인터페이스 230는 프로세서 100의 제어에 따라서 데이터 처리 장치 100와 통신을 수행할 수 있다.
구체적으로, 통신 인터페이스는 블루투스, 와이파이, BLE(Bluetooth Low Energy), NFC/RFID, 와이파이 다이렉트(Wifi Direct), UWB, 또는 ZIGBEE 등의 통신 규격에 따른 통신을 수행하는 적어도 하나의 근거리 통신 모듈, 원거리 통신 규격에 따라서 원거리 통신을 지원하기 위한 서버와 통신을 수행하는 원거리 통신 모듈, 유선으로 통신하기 위해서, 외부 전자 장치와 유선 케이블로 연결되기 위한 적어도 하나의 포트를 포함할 수 있다.
영상 처리부 240는 이미지의 생성 및/또는 처리를 위한 동작들을 수행할 수 있다. 구체적으로, 영상 처리부 240는 광학부 210로부터 획득된 이차원 이미지 데이터를 영상 처리할 수 있다. 영상 처리부 240는 광학부 210로부터 획득된 이차원 이미지 데이터를 데이터 전송 등을 위한 처리 동작만 수행하여 데이터 처리 장치로의 전송을 위해 통신 인터페이스 230으로 출력할 수 있다.
메모리 250는 적어도 하나의 인스트럭션을 저장할 수 있다. 또한, 메모리 260는 프로세서가 실행하는 적어도 하나의 인스트럭션을 저장하고 있을 수 있다. 또한, 메모리는 프로세서 260가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 또한, 메모리 250는 광학부 210로부터 수신된 이차원 이미지 데이터를 데이터 처리 장치 100로 전달하기 위해 일시적으로 저장할 수 있다.
일 실시예에 따라 메모리 250는 사용자 인터페이스 220를 통해서 수신된 사용자 입력에 대응하는 기능을 정의하는 사용자 입력-기능 매핑 정보 300를 저장할 수 있다. 사용자 입력-기능 매핑 정보 300는 사용자 인터페이스 220에 포함된 다양한 수단 즉, 센서부 221, 버튼 222, 마이크로폰 223을 통해 수신한 하나 이상이 사용자 입력과 해당 사용자 입력에 대응하는 기능을 정의해 놓은 정보를 나타낼 수 있다. 사용자 입력에 대응하는 기능은 크게 스캐너 200의 광학부 210의 설정을 제어하는 기능 또는 스캐너 200에 의해 획득된 스캔 데이터가 데이터 처리 장치 100에서 조정되도록 제어하는 기능 중 적어도 하나를 포함할 수 있다.
사용자 입력-기능 매핑 정보 300를 도 3을 참조하여 설명한다.
도 3은 일 실시예에 따른 사용자 입력-기능 매핑 정보 300의 예를 나타낸다.
도 3을 참조하면, 사용자 입력-기능 매핑 정보 300는 사용자 인터페이스의 각 수단을 통해서 입력된 사용자 입력과 그에 대응하는 기능을 매핑시켜 놓은 정보를 포함할 수 있다. 사용자 인터페이스는 스캐너 200에 포함된 사용자 인터페이스 220의 하나 이상의 수단을 포함할 수 있다. 사용자 입력은 해당 사용자 인터페이스를 통해서 입력된 사용자 입력을 나타낼 수 있다. 기능은, 사용자 입력에 대응하여 수행되는 기능을 정의할 수 있다. 사용자 입력에 대응하는 기능은 크게 스캐너 200의 광학부 210의 설정을 제어하는 기능이나 스캐너 200에 의해 획득된 스캔 데이터가 데이터 처리 장치 100에서 조정되도록 제어하는 기능을 포함할 수 있다. 당업자라면, 사용자 인터페이스에 포함되는 센서 또는 버튼, 이에 대응하는 사용자 입력 및 대응하는 기능을 시스템의 상황을 고려하여 적절하게 결정할 수 있음을 이해할 것이다.
도 3을 참조하면, 사용자 입력-기능 매핑 정보 300는 제1센서를 통한 제1사용자 입력을 제1기능에, 제1센서를 통한 제2사용자 입력을 제2기능에, 제1센서를 통한 제3사용자 입력을 제3기능에, 제2센서를 통한 제4사용자 입력을 제4기능에, 제2센서를 통한 제5사용자 입력을 제5기능에, 버튼을 통한 제6사용자 입력을 제6기능에, 버튼을 통한 제7사용자 입력을 제7기능에 매핑되도록 정의해 놓은 정보일 수 있다.
사용자 입력 - 기능 매핑 정보 300의 구체적인 예를 나타내는 테이블 310을 참조하면, 자이로 센서를 통하여 1회 흔드는 동작 (사용자 입력)은 되돌리기 (undo) 기능에 대응시키고, 자이로 센서를 통하여 2회 흔드는 동작 (사용자 입력)은 되살리기 (redo) 기능에 대응시키고, 자이로 센서를 통하여 스캐너를 소정 각도로 놓는 동작은 락킹 (locking) 기능에 대응시키고, 가속도 센서를 통하여 1회 탭하는 동작 (사용자 입력)은 스캔 해상도 변경 기능에 대응시키고, 가속도 센서를 통하여 2회 탭하는 동작 (사용자 입력)은 스캔 심도 변경 기능에 대응시키고, 버튼을 통하여 1회 푸쉬하는 동작 (사용자 입력)은 스캔 광원 색상 변경 기능에 대응시키고, 버튼을 통하여 2회 푸쉬하는 동작 (사용자 입력)은 필터링 설정 변경 기능에 대응시킬 수 있다.
도 3에 도시된 예는 일 예에 따른 것이고 다양한 센서를 통한 사용자 입력에 대응하여 다양한 기능이 매핑될 수 있음은 물론이다.
일 실시예에 따라 이와 같은 사용자 입력 -기능 매핑 정보 300는 스캐너 200의 제조시에 메모리에 저장될 수 있다.
일 실시예에 따라 이와 같은 사용자 입력 -기능 매핑 정보 300는 스캐너 200의 제조 또는 판매 후에 서버를 통해 다운로드 되거나 업데이트 될 수 있다.
일 실시예에 따라 이와 같은 사용자 입력 - 기능 매핑 정보 300는 사용자의 설정에 따라서 커스터마이즈될 수 있다. 예를 들어 사용자 입력-기능 매핑 정보 300는 스캐너 200를 통해 사용자가 설정을 커스터마이즈하거나 또는 데이터 처리 장치 100에서 설정을 커스터마이즈한 후 스캐너 200로 전송해줄 수 있다.
프로세서 260는 의도하는 동작이 수행되도록 스캐너 내부에 포함되는 적어도 하나의 구성들을 제어할 수 있다. 따라서, 프로세서가 소정 동작들을 수행하는 경우를 예로 들어 설명하더라도, 프로세서가 소정 동작들이 수행되도록 데이터 처리 장치 내부에 포함하는 적어도 하나의 구성들을 제어하는 것을 의미할 수 있다.
일 실시예에 따라 프로세서 260는 대상체를 스캔하는 동안 사용자 인터페이스 220로부터 사용자 입력을 수신하여 감지하는 경우에 스캔 동작을 중단하도록 광학부 210를 제어할 수 있다. 예를 들어, 사용자는 스캐너 200를 쥐고 환자의 구강을 스캔하다가 광학부의 설정을 변경하거나 또는 스캔 데이터의 조정을 원하는 경우 사용자 인터페이스 220가 사용자 입력을 감지하도록 스캐너 200를 조작할 수 있다. 이 경우, 프로세서 260는 사용자 인터페이스 220를 통해 수신한 사용자 입력을 처리하기 위해 광학부 210의 스캔 동작을 중단시키도록 제어할 수 있다. 프로세서 260는 광학부 210의 스캔 동작을 중단하고 나서 사용자 입력에 대응하는 기능을 수행한 후, 다시 스캔 동작을 재개하는 사용자 입력에 따라서 광학부 210의 스캔 동작을 재개할 수 있다. 스캔 동작을 재개하는 사용자 입력은 다양한 형태로 수신할 수 있다. 예를 들어, 스캐너 200에는 스캔 동작을 시작과 정지를 토글하는 버튼이 마련될 수 있다. 프로세서 260는 이와 같이 마련된 버튼을 누르는 사용자 입력의 수신에 따라서 광학부 210의 스캔 동작을 재개할 수 있다.
일 실시예에 따라 프로세서 260는 사용자 인터페이스 220로부터 수신된 사용자 입력에 대응하는 기능을 메모리 250에 저장된 사용자 입력-기능 매핑 정보 251를 참조하여 식별할 수 있다.
일 실시예에 따라 프로세서 260는 식별된 기능이 광학부 210의 설정을 제어하는 기능이라고 판단되면, 사용자 입력에 따라 광학부 210의 설정을 제어할 수 있다.
일 실시예에 따라 광학부 210의 설정을 제어하는 기능은, 스캔 해상도 변경, 스캔 심도 변경, 스캔 광원 색상 변경, 필터링 설정 변경 중 하나 이상을 포함할 수 있다.
일 실시예에 따라 광학부 210의 설정을 제어하는 기능은, 스캔 해상도 변경을 포함할 수 있다. 스캔 해상도는 표준 해상도 (SD)와 고해상도 (HD)를 포함할 수 있고, 스캔 해상도 변경은 이러한 표준 해상도를 고해상도로 변경하거나 고해상도를 표준 해상도로 변경하는 것을 포함할 수 있다.
일 실시예에 따라 광학부 210의 설정을 제어하는 기능은 스캔 심도 변경을 포함할 수 있다. 스캔 심도 (scan depth)는 스캐너 200의 스캔 동작 중 스캐너의 광학부가 위치된 팁 부분으로부터 스캔하고 싶은 영역의 영역까지의 거리 또는 깊이를 나타내는 값을 나타낼 수 있다. 스캐너의 스캔 심도는 예를 들어, 12mm ~ 21mm 범위에서 조절할 수 있으며, 예시적인 스캔 심도 기본값은 8.5mm 가 될 수 있다. 이와 같은 스캔 심도는 일반적으로 데이터 처리 장치 100에서 스캔 심도를 변경할 수 있는 그래픽 사용자 인터페이스를 제공함으로써 데이터 처리 장치 100에 대한 입력 장치를 이용하여 설정할 수 있다. 그러나 본 개시서에 개시된 실시예에 따라 스캔 심도를 스캐너 200에 마련된 사용자 인터페이스를 이용하여 조절할 수 있다. 예를 들어, 스캐너 200의 사용자 인터페이스 220를 이용하여 하나의 입력 신호를 반복할 경우, 12mm -> 15mm -> 18mm -> 21mm 순서로 변경될 수 있다. 예를 들어, 사용자 인터페이스 220가 자이로 센서를 포함하고, 한번 스캐너 200를 흔드는 동작을 하나의 사용자 입력 신호에 대응시키는 경우, 한번 흔들면, 12mm로 변경, 두번 흔들면 15mm로 변경, 3회 흔들면 18mm로 변경, 4회 흔들면 21mm로 변경, 다시 5회부터는 12mm로 변경 등과 같은 형태가 될 수 있다. 또는 사용자 인터페이스 220가 두개의 방향 키를 포함하고, 제1방향키는 12mm -> 15mm로 변경에 대응시키고, 제2방향키는 15mm -> 12mm로 변경에 대응시킬 수 있다.
일 실시예에 따라 광학부 210의 설정을 제어하는 기능은 스캔 광원 색상 변경을 포함할 수 있다. 스캔 광원 색상 변경은 프로젝터의 광원의 색상을 청색광에서 백색광으로 변경하거나 백색광에서 청색광으로 변경하는 것을 포함할 수 있다.
일 실시예에 따라 광학부 210의 설정을 제어하는 기능은 필터링 설정 변경을 포함할 수 있다. 필터링 설정은 대상체인 구강의 전체를 필터링 없이 치아와 치은 데이터를 모두 전송하거나 또는 획득된 스캔 데이터 중에서 치은 부분을 필터링 하고 치아 부분만 데이터 전송하도록 하는 것을 포함할 수 있다.
일 실시예에 따라 프로세서 260는 식별된 기능이 데이터 처리 장치에서 스캔 데이터를 처리하는 기능이라고 판단되면, 스캔 데이터를 처리하는 기능을 수행하도록 지시하는 제어 신호를 데이터 처리 장치 100로 전송하도록 통신 인터페이스 230를 제어할 수 있다. 스캔 데이터를 처리하는 기능은 예를 들어 스캔 데이터를 조정하는 기능을 포함할 수 있다.
본 개시서에 개시된 실시예들을 구현하기 위해서 스캐너 200는 도 2에 도시된 구성요소들의 일부만을 포함할 수도 있고, 도 2에 도시된 구성요소 외에 더 많은 구성요소를 포함할 수도 있다.
도 2를 참조하면, 데이터 처리 장치 100는 통신 인터페이스 110, 사용자 인터페이스 120, 디스플레이 130, 영상 처리부 140, 메모리 150 및 프로세서 160를 포함할 수 있다.
통신 인터페이스 110는 적어도 하나의 외부 전자 장치와 유선 또는 무선 통신 네트워크를 통하여 통신을 수행할 수 있다. 구체적으로, 통신 인터페이스 110는 프로세서 160의 제어에 따라서 스캐너 200와 통신을 수행할 수 있다. 통신 인터페이스 110는 프로세서의 제어에 따라서 유무선의 통신 네트워크를 통하여 연결되는 외부의 전자 장치 또는 서버 등과 통신을 수행할 수 있다.
구체적으로, 통신 인터페이스는 블루투스, 와이파이, BLE(Bluetooth Low Energy), NFC/RFID, 와이파이 다이렉트(Wifi Direct), UWB, 또는 ZIGBEE 등의 통신 규격에 따른 통신을 수행하는 적어도 하나의 근거리 통신 모듈을 포함할 수 있다.
또한, 통신 인터페이스 110는 원거리 통신 규격에 따라서 원거리 통신을 지원하기 위한 서버와 통신을 수행하는 원거리 통신 모듈을 더 포함할 수 있다. 구체적으로, 통신 인터페이스 110는 인터넷 통신을 위한 네트워크를 통하여 통신을 수행하는 원거리 통신 모듈을 포함할 수 있다. 또한, 통신 인터페이스 110는 3G, 4G, 및/또는 5G 등의 통신 규격에 따르는 통신 네트워크를 통하여 통신을 수행하는 원거리 통신 모듈을 포함할 수 있다.
또한, 통신 인터페이스 110는 외부 전자 장치(예를 들어, 구강 스캐너 등)와 유선으로 통신하기 위해서, 외부 전자 장치와 유선 케이블로 연결되기 위한 적어도 하나의 포트를 포함할 수 있다. 그에 따라서, 통신 인터페이스 110는 적어도 하나의 포트를 통하여 유선 연결된 외부 전자 장치와 통신을 수행할 수 있다.
사용자 인터페이스 120는 데이터 처리 장치 100를 제어하기 위한 사용자 입력을 수신할 수 있다. 사용자 인터페이스 120는 사용자의 터치를 감지하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자 인터페이스 화면 상의 일 지점을 지정 또는 선택하기 위한 마우스(mouse) 또는 키보드(key board) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다.
또한, 사용자 인터페이스 120는 음성 인식을 위한 음성 인식 장치를 포함할 수 있다. 예를 들어, 음성 인식 장치는 마이크로폰이 될 수 있으며, 음성 인식 장치는 사용자의 음성 명령 또는 음성 요청을 수신할 수 있다. 그에 따라서, 프로세서는 음성 명령 또는 음성 요청에 대응되는 동작이 수행되도록 제어할 수 있다.
디스플레이 130는 화면을 디스플레이 한다. 구체적으로, 디스플레이 130는 프로세서 160의 제어에 따라서 소정 화면을 디스플레이 할 수 있다. 구체적으로, 디스플레이 130는 스캐너 200에서 환자의 구강을 스캔하여 획득한 데이터에 근거하여 생성된 구강 이미지를 포함하는 사용자 인터페이스 화면을 디스플레이 할 수 있다. 또는, 디스플레이 130는 환자의 치과 치료와 관련되는 정보를 포함하는 사용자 인터페이스 화면을 디스플레이 할 수 있다.
영상 처리부 140는 이미지의 생성 및/또는 처리를 위한 동작들을 수행할 수 있다. 구체적으로, 영상 처리부 140는 스캐너 200로부터 획득된 로우 데이터를 수신하고, 수신된 데이터에 근거하여 구강 이미지를 생성할 수 있다. 구체적으로, 영상 처리부 140는 스캐너 200로부터 수신된 스캔 데이터를 가공하여 메쉬 형태로 된 삼차원 데이터를 생성함으로써 삼차원 구강 모델을 획득할 수 있다. 일 예에 따라 영상 처리부 140는 스캐너 200로부터 수신된 스캔 데이터를 실시간으로 가공하여 삼차원 형태로 사용자에게 보여주기 위해 스캔 데이터를 가공하여 복셀 데이터를 생성하고 생성된 복셀 데이터에 대응하는 이미지를 디스플레이 130에 표시할 수 있다. 물론 데이터 처리 장치 100의 처리 성능이 만족된다면 데이터 처리 장치 100는 스캔 데이터를 바로 메쉬 데이터로 가공하여 실시간으로 메쉬 데이터에 대응하는 이미지를 디스플레이 130에 표시할 수도 있을 것이다.
도 2에서는 영상 처리부 140가 별도의 구성요소로 도시되었지만, 다른 예에서 영상 처리부 140에 의해 수행되는 동작에 대응하는 프로그램이 메모리 150에 저장되고 프로세서 160가 메모리 150에 저장된 프로그램을 실행함으로써 영상 처리 동작을 수행할 수도 있다.
메모리 150는 적어도 하나의 인스트럭션을 저장할 수 있다. 또한, 메모리 150는 프로세서가 실행하는 적어도 하나의 인스트럭션을 저장하고 있을 수 있다. 또한, 메모리는 프로세서 160가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 또한, 메모리 150는 스캐너 200로부터 수신되는 데이터(예를 들어, 구강 스캔을 통하여 획득된 로우 데이터 등)를 저장할 수 있다. 또는, 메모리는 구강을 3차원적으로 나타내는 구강 이미지를 저장할 수 있다.
일 실시예에 따라 메모리 150는 사용자 입력 -기능 매핑 정보 300의 전부 또는 일부를 저장하고 있을 수 있다. 구체적으로, 메모리 150는 사용자 입력-기능 매핑 정보 300의 전부를 저장하거나 또는 사용자 입력-기능 매핑 정보 300 중 데이터 처리 장치 100에서 수행되는 제어 기능에 관련된 정보만을 저장하고 있을 수 있다.
프로세서 160는 메모리 150에 저장된 적어도 하나의 인스트럭션을 수행하여, 의도하는 동작이 수행되도록 제어한다. 여기서, 적어도 하나의 인스트럭션은 프로세서 160내에 포함되는 내부 메모리 또는 프로세서와 별도로 데이터 처리 장치 내에 포함되는 메모리 150에 저장되어 있을 수 있다.
구체적으로, 프로세서 160는 적어도 하나의 인스트럭션을 수행하여, 의도하는 동작이 수행되도록 데이터 처리 장치 내부에 포함되는 적어도 하나의 구성들을 제어할 수 있다. 따라서, 프로세서가 소정 동작들을 수행하는 경우를 예로 들어 설명하더라도, 프로세서가 소정 동작들이 수행되도록 데이터 처리 장치 내부에 포함하는 적어도 하나의 구성들을 제어하는 것을 의미할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고, 상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하고, 상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하도록 상기 디스플레이를 제어할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되살리기 (redo) 명령에 대응됨에 따라, 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 락킹 (locking) 명령에 대응됨에 따라, 상기 숨김 처리나 상기 복구 처리가 더 이상 허용되지 않도록 현재 상태의 삼차원 데이터에 기반하여 삼차원 데이터를 확정 처리할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 대상체의 제1영역에 대응하는 스캔 데이터에 기반하여 생성된 제1삼차원 데이터에 대응하는 제1이미지를 서브 화면에 표시하도록 상기 디스플레이를 제어하고, 상기 제1영역과 이격된 상기 대상체의 제2영역에 대응하는 스캔 데이터에 기반하여 생성된 제2삼차원 데이터에 대응하는 제2이미지를 메인 화면에 표시하도록 상기 디스플레이를 제어하고, 상기 스캐너로부터 수신된 제어 신호에 따라 상기 메인 화면에 표시된 상기 제2이미지에 대응하는 삼차원 데이터를 조정하는 기능을 수행하고, 상기 조정된 삼차원 데이터를 이용하여 제2이미지를 표시하도록 상기 디스플레이를 제어할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 서브 화면에 표시된 상기 제1이미지에 대응하는 삼차원 데이터에 대해서 데이터 조정 기능이 수행되지 않도록 하는 락킹 기능을 설정할 수 있다.
일 실시예에 따라 프로세서 160는 메모리 150에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 제2삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작에 의해 상기 제2삼차원 데이터가 모두 숨김 처리되면, 상기 서브 화면에 대응하는 상기 제1삼차원 데이터에 대응하는 제1이미지를 상기 메인 화면에 표시하도록 상기 디스플레이를 제어할 수 있다.
일 예에 따라 프로세서 160는, 내부적으로 적어도 하나의 내부 프로세서 및 내부 프로세서에서 처리 또는 이용될 프로그램, 인스트럭션, 신호, 및 데이터 중 적어도 하나 저장하기 위한 메모리 소자(예를 들어, RAM, ROM 등)을 포함하는 형태로 구현될 수 있다.
또한, 프로세서 160는 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit)를 포함할 수 있다. 또한, 프로세서는 코어(core)와 GPU를 통합한 SoC(System On Chip)로 구현될 수 있다. 또한, 프로세서는 싱글 코어 이상의 멀티 코어를 포함할 수 있다. 예를 들어, 프로세서는 듀얼 코어, 트리플 코어, 쿼드 코어, 헥사 코어, 옥타 코어, 데카 코어, 도데카 코어, 헥사 다시 벌 코어 등을 포함할 수 있다.
개시된 실시예에서, 프로세서 160는 구강 스캐너 500로부터 수신되는 이차원 이미지 데이터에 근거하여 구강 이미지를 생성할 수 있다.
구체적으로, 프로세서 160의 제어에 따라서 통신 인터페이스 110는 구강 스캐너 500에서 획득된 데이터, 예를 들어 구강 스캔을 통하여 획득된 로우 데이터(raw data)를 수신할 수 있다. 그리고, 프로세서 160는 통신 인터페이스에서 수신된 로우 데이터에 근거하여 구강을 3차원적으로 나타내는 3차원 구강 이미지를 생성할 수 있다. 예를 들어, 구강 스캐너는 광 삼각 방식에 따라서 3차원 이미지를 복원하기 위해서, 좌안 시야(left Field of View)에 대응되는 L 카메라 및 우안 시야(Right Field of View)에 대응되는 R 카메라를 포함할 수 있다. 그리고, 구강 스캐너는 L 카메라 및 R 카메라 각각에서 좌안 시야(left Field of View)에 대응되는 L 이미지 데이터 및 우안 시야(Right Field of View)에 대응되는 R 이미지 데이터를 획득할 수 있다. 계속하여, 구강 스캐너(미도시)는 L 이미지 데이터 및 R 이미지 데이터를 포함하는 로우 데이터를 데이터 처리 장치 100의 통신 인터페이스로 전송할 수 있다.
그러면, 통신 인터페이스 110는 수신되는 로우 데이터를 프로세서로 전달하고, 프로세서는 전달받은 로우 데이터에 근거하여, 구강을 3차원적으로 나타내는 구강 이미지를 생성할 수 있다.
또한, 프로세서 160는 통신 인터페이스를 제어하여, 외부의 서버, 의료 장치 등으로부터 구강을 3차원적으로 나타내는 구강 이미지를 직접 수신할 수 있을 것이다. 이 경우, 프로세서는 로우 데이터에 근거한 3차원 구강 이미지를 생성하지 않고, 3차원 구강 이미지를 획득할 수 있다.
개시된 실시예에 따라서, 프로세서 160가 '추출', '획득', '생성' 등의 동작을 수행한다는 것은, 프로세서 160에서 적어도 하나의 인스트럭션을 실행하여 전술한 동작들을 직접 수행하는 경우 뿐만 아니라, 전술한 동작들이 수행되도록 다른 구성 요소들을 제어하는 것을 포함할 수 있다.
본 개시서에 개시된 실시예들을 구현하기 위해서 데이터 처리 장치 100는 도 2에 도시된 구성요소들의 일부만을 포함할 수도 있고, 도 2에 도시된 구성요소 외에 더 많은 구성요소를 포함할 수도 있다.
또한, 데이터 처리 장치 100는 스캐너에 연동되는 전용 소프트웨어를 저장 및 실행할 수 있다. 여기서, 전용 소프트웨어는 전용 프로그램, 전용 툴(tool), 또는 전용 어플리케이션으로 호칭될 수 있다. 데이터 처리 장치 100가 스캐너 200와 상호 연동되어 동작하는 경우, 데이터 처리 장치 100에 저장되는 전용 소프트웨어는 스캐너 200와 연결되어 구강 스캔을 통하여 획득되는 데이터들을 실시간을 수신할 수 있다. 예를 들어, 메디트의 구강 스캐너인 i500 제품에서 구강 스캔을 통하여 획득된 데이터를 처리하기 위한 전용 소프트웨어가 존재한다. 구체적으로, 메디트에서는 구강 스캐너(예를 들어, i500)에서 획득된 데이터를 처리, 관리, 이용, 및/또는 전송하기 위한 소프트웨어인 'Medit Link'를 제작하여 배포하고 있다. 여기서, '전용 소프트웨어'는 구강 스캐너와 연동되어 동작 가능한 프로그램, 툴, 또는 어플리케이션을 의미하는 것이므로 다양한 제작자에 의해서 개발 및 판매되는 다양한 구강 스캐너들이 공용으로 이용할 수도 있을 것이다. 또한, 전술한 전용 소프트웨어는 구강 스캔을 수행하는 구강 스캐너와 별도로 제작 및 배포될 수 있다. 데이터 처리 장치 100는 i500 제품에 대응되는 전용 소프트웨어를 저장 및 실행할 수 있다. 전송 소프트웨어는 구강 이미지를 획득, 처리, 저장, 및/또는 전송하기 위한 적어도 하나의 동작들을 수행할 수 있다. 여기서, 전용 소프트웨어는 프로세서에 저장될 수 있다. 또한, 전용 소프트웨어는 구강 스캐너에서 획득된 데이터의 이용을 위한 사용자 인터페이스를 제공할 수 있다. 여기서, 전용 소프트웨어에서 제공되는 사용자 인터페이스 화면은 개시된 실시예에 따라서 생성되는 구강 이미지를 포함할 수 있다.
도 4는 일 실시예에 따라 스캐너와 데이터 처리 장치의 동작 과정을 나타내는 흐름도의 일 예이다.
도 4를 참조하면, 동작 410에서 스캐너 200는 대상체를 스캔하고, 스캔에 의해 획득된 스캔 데이터를 데이터 처리 장치 100로 전송할 수 있다. 대상체는 환자의 구강 또는 치아 모형이 될 수 있지만 이에 한정되지 않는다. 대상체는 스캔의 대상이 되는 어떠한 신체 부위 또는 물체가 될 수 있다. 예를 들어, 의사는 스캐너 200를 쥐고 환자의 구강 내를 따라서 스캐너 200를 이동시킴으로써 환자의 구강을 스캔할 수 있다. 이와 같이 스캔된 데이터는 실시간으로 데이터 처리 장치 100로 전송될 수 있다.
동작 420에서, 데이터 처리 장치 100는 스캐너 200로부터 스캔 데이터를 실시간으로 수신하고, 수신된 스캔 데이터에 기반하여 삼차원 데이터에 대응하는 이미지를 표시할 수 있다. 구체적으로, 데이터 처리 장치 100는 스캐너 200로부터 수신된 스캔 데이터에 기반하여 환자의 구강 모델에 대응하는 삼차원 데이터를 생성하고, 생성된 삼차원 데이터에 대응하는 이미지를 디스플레이에 표시할 수 있다. 삼차원 데이터는 복셀 데이터 또는 메쉬 데이터를 포함할 수 있다.
도 5는 일 실시예에 따라 스캐너를 통해 획득된 이차원 데이터를 이용하여 생성된 삼차원 가상 모델을 데이터 처리 장치에서 표시하는 과정을 설명하기 위한 참고도이다.
도 5를 참조하면, 스캐너 200는 프로젝터를 통하여 환자의 구강 510에 광을 투사하고, 하나 이상의 카메라를 통하여 구강의 이차원 이미지 데이터를 획득한다. 이때 스캐너 200는 스캔 관심 영역 (scan ROI (Region of Interest) 영역) 520에 대해서 광을 투사하고 이 영역 520에 대응하는 이차원 이미지 데이터를 획득할 수 있다. 스캐너 200가 구강 510의 치아를 따라서 이동하면서 스캔함으로써 얻어지는 데이터는 실시간으로 데이터 처리 장치 100로 보내질 수 있다.
데이터 처리 장치 100는 스캐너 200로부터 스캔 관심 영역 520에 대응하는 이차원 이미지 데이터를 실시간으로 수신하고, 수신된 하나 이상의 이차원 이미지 데이터를 매칭시킴으로써 삼차원 데이터를 생성할 수 있다. 도 5를 참조하면, 데이터 처리 장치 100는 디스플레이 화면 130에서 두 개의 윈도우, 즉, 메인 윈도우 530와 서브 윈도우 540를 통해서 데이터를 보여줄 수 있다. 예를 들어, 데이터 처리 장치 100는 메인 윈도우 (또는 제1윈도우) 530에는 데이터 처리 장치 100가 생성한 삼차원 가상 모델에 대응하는 이미지를 표시하고, 서브 윈도우 (또는 제2윈도우) 540에는 현재 스캐너에서 스캔되는 스캔 관심 영역에 대응하는 삼차원 데이터의 이미지를 표시할 수 있다.
즉, 데이터 처리 장치 100는 스캐너 200로부터 실시간으로 수신되는 스캔 관심 영역 520의 스캔 데이터를 가공하여 획득한 삼차원 데이터에 대응하는 이미지를 서브 윈도우 540에 표시하고, 스캐너 200로부터 실시간으로 수신되는 스캔 관심 영역 520에 대응하는 스캔 데이터를 수집하여 삼차원 가상 모델로 생성한 다음 생성된 삼차원 가상 모델의 이미지 550를 메인 윈도우 530에 표시할 수 있다. 메인 윈도우 530의 삼차원 가상 모델의 이미지 550에는 삼차원 가상 모델에서 스캔 관심 영역을 나타내기 위한 박스 560가 표시될 수 있다.
도 5에 도시된 바와 같이, 디스플레이 130의 메인 윈도우 530이나 서브 윈도우 540에 표시되는 이미지에 대응하는 삼차원 데이터는 복셀 데이터 및/또는 메쉬 데이터를 포함할 수 있다.
이하에서는 도 6을 참조하여 복셀 데이터와 메쉬 데이터를 설명한다.
도 6은 일 실시예에 따라 스캔 데이터에 기반하여 가공되는 복셀 데이터와 메쉬 데이터를 설명하기 위한 참고도이다.
데이터 처리 장치 100는 스캐너 200로부터 스캔 데이터를 수신하여 가공하고 폴리곤과 정점으로 이루어진 메쉬 데이터를 생성함으로써 삼차원 가상 모델을 획득할 수 있다. 데이터 처리 장치 100는 이와 같이 메쉬 형태로 된 삼차원 가상 모델을 기반으로 구강 치료나 교정의 계획을 수립하고 적용할 수 있다. 스캐너를 이용하여 이차원 데이터가 획득되었을 때 데이터 처리 장치 100는 삼각 측량 방법을 사용하여 복수의 조명된 표면 포인트의 좌표를 계산할 수 있다. 스캐너를 이용하여 대상체의 표면을 이동하면서 스캔함으로써 스캔 데이터의 양이 증가함에 따라 표면 포인트의 좌표들이 누적될 수 있다. 이러한 이미지 획득의 결과로서, 정점들의 포인트 클라우드가 식별되어 표면의 범위를 나타낼 수 있다. 포인트 클라우드 내의 포인트는 객체의 3 차원 표면 상의 실제 측정된 포인트를 나타낼 수 있다. 표면 구조는 포인트 클라우드의 인접한 정점 (vertice)이 라인 세그먼트에 의해 연결된 다각형 메쉬를 형성함으로써 근사화될 수 있다. 다각형 메쉬는 삼각형, 사각형, 오각형 메쉬 등 다양하게 결정될 수 있다. 이와 같은 메쉬 모델의 다각형 및 이웃하는 다각형 간의 관계는 치아 경계의 특징, 예를 들어, 곡률, 최소 곡률, 에지, 공간 관계 등을 추출하는 데 사용될 수 있다. 예를 들어 도 6을 참조하면, 삼차원 데이터는 포인트 클라우드를 구성하는 복수의 정점들 및 인접한 정점들을 선으로 연결함으로써 생성된 삼각형 메쉬로 구성될 수 있다. 각 정점은 그 속성으로서 위치 정보와 색상 정보를 포함할 수 있다. 각 정점이 속성으로서 가지는 위치 정보는 삼차원 좌표계상의 X, Y, Z 좌표로 구성될 수 있다. 각 정점이 속성으로서 가지는 색상 정보는 스캔 장치에 구비된 카메라나 이미지 센서에 의해 획득된 색상을 나타내는 RGB 값을 가질 수 있다. 이와 같이 각 정점들의 속성 즉 위치 정보와 색상 정보에 의해 삼차원 구강 모델의 모양이나 윤곽, 색상이 표현될 수 있다.
데이터 처리 장치 100는 스캔 데이터를 실시간으로 수신하여 이러한 메쉬 형태의 삼차원 가상 모델을 생성하고 표시할 수 있다. 그러나, 데이터 처리 장치 100가 스캔 데이터를 수신하여 실시간으로 메쉬 형태 삼차원 가상 모델로 처리하기 위해서는 데이터 처리 장치 100의 높은 처리 속도와 고성능이 요구되기 때문에, 데이터 처리 장치 100가 디스플레이의 화면에 실시간으로 표시하는 데이터는 메쉬 데이터 대신에 복셀 데이터를 이용할 수 있다.
데이터 처리 장치 100는 스캔 데이터를 이용하여 3D 객체를 표현하는데 이용되는 기본 데이터인 볼륨 엘리먼트 (즉, 복셀)로 구성된 볼륨 데이터를 생성할 수 있다. 일반적으로, 복셀은 Cartesian 좌표 시스템에서 x 좌표와 y 좌표 이외에 세번째 좌표인 Z 좌표를 더 가지는 픽셀을 말한다. 다시 말하면, 복셀은 이산적으로 정의된 3D 공간을 형성하는 동일 크기의 큐브를 나타낸다. 일반적인 복셀 기반 3D 장면은 하나 이상의 복셀 셋으로 구성될 수 있고, 각 복셀 셋은 하나 이상의 복셀들로 구성된다. 3D 복셀 데이터는 디스플레이와 같은 적절한 출력 장치에서 2D 이미지를 생성하기 위해 랜더링된다. 랜더링은 3D 복셀 데이터 파일로부터 출력 장치상에 2D 그래픽 이미지를 생성하는 것을 의미하며 이미지에 현실감을 부여하기 위해 컬러나 텍스쳐 등을 이용한 이미지를 생성하는 것을 포함한다.
일반적으로 메쉬 데이터 보다는 복셀 데이터를 이용하여 이미지를 실시간으로 랜더링하는 데에 처리 속도나 처리 성능 면에서 용이하기 때문에 데이터 처리 장치 100는 스캔 데이터로부터 수신된 스캔 데이터의 이미지를 실시간으로 표시하기 위해서, 복셀 데이터를 이용할 수 있다.
다시 도 4로 돌아가서, 동작 420에서는 위에서 설명한 바와 같이 데이터 처리 장치 100는 스캔 데이터에 기반하여 복셀 데이터나 메쉬 데이터를 이용하여 삼차원 데이터에 대응하는 이미지를 실시간으로 표시할 수 있다.
동작 430에서, 스캐너 200는 대상체를 스캔하는 동안에 사용자 인터페이스를 통하여 사용자 입력을 감지할 수 있다. 스캐너 200는 사용자 인터페이스에 포함된 하나 이상의 센서나, 버튼, 마이크로폰 등을 통해 사용자 입력을 감지할 수 있다.
동작 440에서, 스캐너 200는 사용자 인터페이스를 통해 감지된 사용자 입력에 대응하는 기능을 식별할 수 있다. 구체적으로, 스캐너 200는 사용자 인터페이스를 통해서 감지되는 다양한 사용자 입력에 대응하는 기능을 매핑시켜 놓은 정보를 저장하고 있을 수 있다. 예를 들어 스캐너 200는 도 3에 도시된 바와 같은 사용자 입력-기능 매핑 정보 300를 저장하고 있을 수 있다. 따라서 스캐너 200는 사용자 입력을 감지하면 도 3에 도시된 바와 같은 사용자 입력-기능 매핑 정보 300를 참조하여 대응하는 기능을 찾을 수 있다. 스캐너 200는 사용자 입력에 대응하는 기능이 스캐너 설정 기능에 관련된 것인지 또는 스캔 데이터 처리 기능과 관련된 것인지 식별할 수 있다. 사용자 입력에 대응하는 기능이 스캐너 설정 기능에 대응하는 것이라고 판단되면 동작 450으로 진행할 수 있다.
동작 450에서, 스캐너 200는 스캔 동작을 중단할 수 있다.
동작 460에서, 스캐너 200는 사용자 입력에 대응하는 스캐너 설정 동작을 수행할 수 있다. 예를 들어, 스캐너 200는 도 3에 도시된 바와 같은 사용자 입력-기능 매핑 정보 300를 참조하여, 감지된 사용자 입력에 대응하는 스캐너 설정 기능을 식별하고, 식별된 스캐너 설정 기능을 수행할 수 있다. 스캐너 설정 기능은 스캐너의 설정을 변경하는 기능으로서, 예를 들어, 스캔 해상도 변경, 스캔 심도 변경, 스캔 광원 색상 변경, 필터링 설정 변경 등을 포함할 수 있다.
동작 440에서, 사용자 입력에 대응하는 기능이 스캔 데이터 처리 기능에 대응하는 것이라고 판단되면 동작 470으로 진행할 수 있다.
동작 470에서, 스캐너 200는 스캔 동작을 중단할 수 있다. 이와 같은 스캔 동작 중단에 따라 실시간으로 이루어지는 스캔 데이터의 전송도 중단될 수 있다.
동작 480에서, 스캐너 200는 사용자 입력에 대응하는 제어 신호를 데이터 처리 장치 100로 전송할 수 있다. 예를 들어, 스캐너 200는 도 3에 도시된 바와 같은 사용자 입력-기능 매핑 정보 300를 참조하여, 감지된 사용자 입력에 대응하는 스캔 데이터 처리 기능을 식별하고, 식별된 스캔 데이터 처리 기능을 수행하도록 지시하는 제어 신호를 데이터 처리 장치 100로 전송할 수 있다. 예를 들어, 스캔 데이터 처리 기능은, 되돌리기 기능, 되살리기 기능, 락킹 기능을 포함할 수 있다.
동작 490에서, 데이터 처리 장치 100는 사용자 입력에 대응하는 제어 신호를 스캐너 200로부터 수신하고, 수신된 제어 신호에 따라 삼차원 데이터를 처리할 수 있다. 삼차원 데이터의 처리는 데이터 처리 장치 100의 디스플레이에 표시된 이미지에 대응하는 삼차원 데이터의 되돌리기 처리, 되살리기 처리, 락킹 처리 등을 포함할 수 있다.
동작 495에서, 데이터 처리 장치100는 처리된 삼차원 데이터에 대응하는 이미지를 표시할 수 있다.
도 7은 일 실시예에 따라 데이터 처리 장치에서 수행되는 동작 방법의 일 예에 따른 구체적인 흐름도이다.
도 7을 참조하면, 동작 710에서, 데이터 처리 장치 100는 스캐너 200로부터 대상체를 스캔한 스캔 데이터를 실시간으로 수신할 수 있다.
동작 720에서, 데이터 처리 장치 100는 현재 스캔되고 있는 대상체의 부분을 실시간으로 디스플레이에 표시하기 위해, 스캐너 200로부터 수신한 스캔 데이터에 기반하여 삼차원 데이터를 생성하고, 생성된 삼차원 데이터에 대응하는 이미지를 실시간으로 디스플레이에 표시할 수 있다.
동작 730에서, 데이터 처리 장치 100는 스캐너 200로부터 제어 신호를 수신할 수 있다. 스캐너 200로부터 수신하는 제어 신호는 스캐너 200의 사용자 인터페이스를 통해서 감지한 사용자 입력에 따라서 스캐너 200가 데이터 처리 장치 100에서 데이터 처리 기능을 수행하도록 지시하는 명령을 포함할 수 있다.
동작 740에서, 데이터 처리 장치 100는 스캐너 200로부터 수신한 제어 신호를 파싱하여 제어 신호를 되돌리기 (undo) 명령에 대응하는 것인지, 되살리기 (redo) 명령에 대응하는 것인지, 락킹 (locking) 명령에 대응하는 것인지 판별할 수 있다. 스캐너 200로부터 수신한 제어 신호가 되돌리기 (undo) 명령에 대응하는 것이라고 판단되면, 동작 750으로 진행할 수 있다.
동작 750에서, 데이터 처리 장치 100는 되돌리기 (undo) 명령에 따라 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리할 수 있다.
이하에서는 도 8을 참조하여 되돌리기 명령에 따른 데이터 처리 장치의 동작을 설명한다.
도 8은 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 되돌리기 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 8을 참조하면, 데이터 처리 장치 100는 스캐너 200로부터 수신한 스캔 데이터에 기반하여 삼차원 데이터를 생성하고 삼차원 데이터 810에 대응하는 이미지 811를 실시간으로 디스플레이 130에 표시할 수 있다. 삼차원 데이터 810는 복수의 프레임들로 구성될 수 있다. 예를 들어 삼차원 데이터 810는 프레임 F1 - F11 로 구성될 수 있다. 데이터 처리 장치 100는 프레임 F1- F11로 구성된 삼차원 데이터에 대응하는 이미지 811를 디스플레이 130에 표시할 수 있다. 이와 같이 이미지 811이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 다양한 목적이나 이유로 인해 최근에 스캔된 데이터를 숨김 처리를 하기를 원할 수 있다. 이 경우, 환자의 구강 스캔을 위해 스캐너 200를 쥐고 있는 상태에서 데이터 처리 장치 100의 디스플레이에 표시된 데이터의 숨김 처리를 위해 데이터 처리 장치 100의 입력 장치를 이용하여 입력을 하는 것은 위생적이지 않고 스캔 동작 처리에 효율적이지 않다. 따라서 사용자는 스캐너 200에 마련된 사용자 인터페이스를 이용하여 사용자 입력을 하여 데이터 처리 명령을 내릴 수 있다. 예를 들어 이미지 811이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 스캐너 200에 되돌리기 명령에 대응하는 사용자 입력을 하면, 이러한 사용자 입력은 데이터 처리 장치 100로 제공되고, 데이터 처리 장치 100는 되돌리기 명령에 따라, 생성된 삼차원 데이터 810를 구성하는 프레임들 중 미리 지정된 개수의 프레임들을 숨김 처리할 수 있다. 예를 들어 숨김 처리될 미리 지정된 개수의 프레임들이 3개 라면, 데이터 처리 장치 100는 삼차원 데이터 810의 프레임들 중 가장 최근에 입력된 프레임 F9, F10, F11을 숨김 처리함으로써 삼차원 데이터 820를 획득하고, 프레임 F9, F10, F11이 숨김 처리된 삼차원 데이터 820에 대응하는 이미지 821를 디스플레이 130에 표시할 수 있다. 이와 같이 숨김 처리 동작에 의해 이미지 821이 디스플레이 130에 표시된 상태에서 사용자로부터 다시 두번째 되돌리기에 대응하는 사용자 입력을 스캐너 200로부터 수신하면, 데이터 처리 장치 10는 삼차원 데이터 820에서 미리 지정된 개수의 프레임들 예를 들어, 3개의 프레임 F6, F7, F8을 숨김 처리 함으로써 삼차원 데이터 830를 획득하고, 프레임 F9, F10, F11에 더하여 프레임 F6, F7, F8까지 총 6개의 프레임이 숨김 처리된 삼차원 데이터 830에 대응하는 이미지 831를 디스플레이 130에 표시할 수 있다.
이와 같은 되돌리기 명령에 따른 숨김 처리는 삼차원 데이터를 구성하는 프레임들 중 일부를 표시하지 않음으로써 사용자에게 보이지 않게 하는 것이고 프레임 자체를 삭제 처리하는 것과는 다르다. 따라서 사용자는 숨김 처리된 프레임들을 다시 되살리기 명령에 따라서 보여지게 할 수 있다.
일 실시예에 따라 데이터 처리 장치 100가 되돌리기 명령에 따라 숨김 처리하는 대상이 되는 삼차원 데이터는 스캔 데이터에 기반하여 생성된 복셀 데이터 또는 메쉬 데이터를 포함할 수 있다.
일 실시예에 따라 데이터 처리 장치 100가 되돌리기 명령에 따라 삼차원 데이터에서 숨김 처리되는 프레임들의 미리 지정된 개수는 다양하게 결정할 수 있다.
일 실시예에 따라 스캐너 200에 마련된 버튼을 지속적으로 누름 동작 또는 스캐너 200를 지속적으로 흔드는 동작에 의해 되돌리기 명령에 대응하는 사용자 입력을 수신할 수 있고, 데이터 처리 장치 100는 스캐너 200로부터 버튼을 지속적으로 푸쉬하는 동작에 대응하는 제어 신호를 수신할 수 있다. 이 경우 데이터 처리 장치 100는 버튼 푸쉬 동작이 해제될 때까지 지속적으로 삼차원 데이터에서 최근 입력된 프레임들로부터 숨김 처리하여 표시하고, 버튼 푸쉬 동작이 해제되면 그때 숨김 처리 동작을 중단할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 사용자가 스캐너 200에 마련된 버튼을 누르는 시간 정보를 스캐너 200로부터 수신하고, 버튼이 눌려진 시간에 따라서 비례해서 삼차원 데이터에서 숨김 처리될 프레임들의 개수를 결정할 수 있다. 예를 들어 버튼이 눌려진 시간이 짧으면 데이터 처리 장치 100는 적은 개수의 프레임들을 숨김 처리하고, 버튼이 눌려진 시간이 길면 데이터 처리 장치 100는 많은 개수의 프레임들을 숨김 처리할 수 있다.
다시 도 7로 돌아가서, 동작 740에서 스캐너 200로부터 수신한 제어 신호가 되살리기 (redo) 명령에 대응하는 것이라고 판단되면, 동작 760으로 진행할 수 있다.
동작 760에서, 데이터 처리 장치 100는 되살리기 (redo) 명령에 따라 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리할 수 있다.
이하에서는 도 9를 참조하여 되살리기 명령에 따른 데이터 처리 장치의 동작을 설명한다.
도 9는 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 되살리기 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 9를 참조하면, 데이터 처리 장치 100는 도 8에 도시된 바와 같이 2회 되돌리기 동작에 따라 프레임 F6-F11이 숨김 처리된 삼차원 데이터 830에 대응하는 이미지 831을 디스플레이 130에 표시할 수 있다.
이와 같이 이미지 831이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 다양한 목적이나 이유로 인해 최근에 숨김 처리된 부분을 복구 처리를 하기를 원할 수 있다. 이 경우, 환자의 구강 스캔을 위해 스캐너 200를 쥐고 있는 상태에서 숨김 처리된 데이터의 복구 처리를 위해 데이터 처리 장치 100의 입력 장치를 이용하여 입력을 하는 것은 위생적이지 않고 스캔 동작 처리에 효율적이지 않다. 따라서 사용자는 스캐너 200에 마련된 사용자 인터페이스를 이용하여 사용자 입력을 하여 데이터 처리 명령을 내릴 수 있다. 예를 들어 이미지 831이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 스캐너 200에 되살리기 명령에 대응하는 사용자 입력을 하면, 이러한 사용자 입력은 데이터 처리 장치 100로 제공되고, 데이터 처리 장치 100는 되살리기 명령에 따라, 삼차원 데이터 830를 구성하는 프레임들 중 숨김 처리된 프레임들 중에서 미리 지정된 개수의 프레임들을 복구 처리할 수 있다. 예를 들어 복구 처리될 미리 지정된 개수의 프레임들이 3개 라면, 데이터 처리 장치 100는 삼차원 데이터 830의 프레임들 중 가장 최근에 숨김 처리된 프레임 F6, F7, F8을 복구 처리함으로써 삼차원 데이터 820를 획득하고, 프레임 F6, F7, F8이 복구 처리된 삼차원 데이터 820에 대응하는 이미지 821를 디스플레이 130에 표시할 수 있다. 이와 같이 복구 처리 동작에 의해 이미지 821이 디스플레이 130에 표시된 상태에서 사용자로부터 다시 두번째 되살리기에 대응하는 사용자 입력을 스캐너 200로부터 수신하면, 데이터 처리 장치 100는 삼차원 데이터 820에서 가장 최근에 숨김 처리된 프레임들 F9, F10, F11을 복구 처리함으로써 삼차원 데이터 810를 획득하고, 프레임 F6, F7, F8에 더하여 프레임 F9, F10, F11까지 총 6개의 프레임이 복구 처리된 삼차원 데이터 810에 대응하는 이미지 811를 디스플레이 130에 표시할 수 있다.
일 실시예에 따라 데이터 처리 장치 100가 되살리기 명령에 따라 복구 처리하는 대상이 되는 삼차원 데이터는 스캔 데이터에 기반하여 생성된 복셀 데이터 또는 메쉬 데이터를 포함할 수 있다.
일 실시예에 따라 데이터 처리 장치 100가 되살리기 명령에 따라 삼차원 데이터에서 복구 처리되는 프레임들의 미리 지정된 개수는 다양하게 결정할 수 있다.
일 실시예에 따라 스캐너 200에 마련된 버튼을 지속적으로 누름 동작 또는 스캐너 200를 지속적으로 흔드는 동작에 의해 되살리기 명령에 대응하는 사용자 입력을 수신할 수 있고, 데이터 처리 장치 100는 스캐너 200로부터 버튼을 지속적으로 푸쉬하는 동작에 대응하는 제어 신호를 수신할 수 있다. 이 경우 데이터 처리 장치 100는 버튼 푸쉬 동작이 해제될 때까지 지속적으로 삼차원 데이터에서 최근 숨김 처리된 프레임들로부터 복구 처리하여 표시하고, 버튼 푸쉬 동작이 해제되면 그때 복구 처리 동작을 중단할 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 사용자가 스캐너 200에 마련된 버튼을 누르는 시간 정보를 스캐너 200로부터 수신하고, 버튼이 눌려진 시간에 따라서 비례해서 삼차원 데이터에서 복구 처리될 프레임들의 개수를 결정할 수 있다. 예를 들어 버튼이 눌려진 시간이 짧으면 데이터 처리 장치 100는 적은 개수의 프레임들을 복구 처리하고, 버튼이 눌려진 시간이 길면 데이터 처리 장치 100는 많은 개수의 프레임들을 복구 처리할 수 있다.
다시 도 7로 돌아가서, 동작 740에서 스캐너 200로부터 수신한 제어 신호가 락킹 (locking) 명령에 대응하는 것이라고 판단되면, 동작 770으로 진행할 수 있다.
동작 770에서, 데이터 처리 장치 100는 락킹 (locking) 명령에 따라 삼차원 데이터에 대해서 더 이상 숨김 처리나 복구 처리가 되지 않도록 현재 상태의 삼차원 데이터를 확정 처리할 수 있다.
이하에서는 도 10을 참조하여 락킹 명령에 따른 데이터 처리 장치의 동작을 설명한다.
도 10은 일 실시예에 따라 데이터 처리 장치가 스캐너로부터 수신한 락킹 명령에 따라 동작하는 방법을 설명하기 위한 참고도이다.
도 10을 참조하면, 데이터 처리 장치 100는 도 8에 도시된 바와 같이 1회 되돌리기 동작에 따라 프레임 F9-F11이 숨김 처리된 삼차원 데이터 820에 대응하는 이미지 821을 디스플레이 130에 표시할 수 있다.
이와 같이 이미지 821이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 현재 상태의 이미지를 확정하여 더 이상 숨김 처리나 복구 처리되지 않기를 원할 수 있다. 예를 들어 사용자는 되돌리기 동작과 되살리기 동작의 시도 후에 현재 상태의 데이터가 더 이상 수정되지 않고 현재 상태의 데이터를 확정적으로 고정되기를 원할 수 있다. 이 경우, 환자의 구강 스캔을 위해 스캐너 200를 쥐고 있는 상태에서 데이터 확정 처리를 위해 데이터 처리 장치 100의 입력 장치를 이용하여 입력을 하는 것은 위생적이지 않고 스캔 동작 처리에 효율적이지 않다. 따라서 사용자는 스캐너 200에 마련된 사용자 인터페이스를 이용하여 사용자 입력을 하여 데이터 처리 명령을 내릴 수 있다. 예를 들어 이미지 821이 데이터 처리 장치 100의 디스플레이 130에 표시된 상태에서, 사용자는 스캐너 200에 락킹 명령에 대응하는 사용자 입력을 하면, 이러한 사용자 입력은 데이터 처리 장치 100로 제공되고, 데이터 처리 장치 100는 락킹 명령에 따라, 삼차원 데이터 820를 구성하는 프레임들 중 숨김 처리된 프레임 F9-F11을 삭제할 수 있다. 이와 같은 삭제 처리에 의해 데이터 처리 장치 100는 F1-F8로 구성된 삼차원 데이터 840를 생성할 수 있으며 삼차원 데이터 840에 대응하는 이미지 841을 표시할 수 있다. 이미지 821과 이미지 841은 동일하지만, 이미지 841은 더이상 편집이 가능하지 않도록 락킹 후의 이미지이기 때문에 사용자는 더 이상 이미지 841에 대해서 되돌리기 기능이나 되살리기 기능을 적용할 수 없다.
일 실시예에 따라 데이터 처리 장치 100는 락킹 동작에 의해 확정된 삼차원 데이터에 대해서는 되돌리기 기능이나 되살리기 기능을 적용할 수 없지만 락킹 이후에 새로 수신된 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대해서는 되돌리기 기능이나 되살리기 기능을 적용할 수 있다. 도 10에 도시된 예에서 락킹 기능에 의해 프레임 F1-F8을 포함하는 삼차원 데이터 840가 확정된 후에, 이어서 스캔 데이터를 수신하여 새로운 프레임 F9-F14을 포함하는 삼차원 데이터를 을 수신하여 삼차원 데이터 850을 생성한 경우, 데이터 처리 장치 100는 락킹 동작 이후 새로 생성된 F9-F14에 대해서 되돌리기 기능 및 되살리기 기능을 적용할 수 있다.
일반적으로 스캐너 200가 대상체인 구강의 치아를 따라서 이동하면서 스캔을 하여 구강의 스캔 데이터를 획득하면, 데이터 처리 장치 100는 수신되는 스캔 데이터로부터 중복되는 부분에 기반하여 정렬함으로써 삼차원 데이터를 생성할 수 있다. 한편, 사용자는 구강의 연속되지 않은 영역을 스캐너 200를 이용하여 스캔할 수 있다. 예를 들어 왼쪽 어금니쪽부터 스캔을 시작하다가 중간에 오른쪽 어금니쪽으로 이동하여 스캔을 하면 스캐너는 연속적이지 않은 두개의 영역에 대한 스캔 데이터를 획득할 수 있다. 데이터 처리 장치 100가 디스플레이에 대상체의 하나 이상이 영역에 대한 삼차원 데이터를 동시에 표시하는 상황에서 되돌리기 동작이나 되살리기 동작을 하는 경우의 예를 도 11 내지 도 13을 참조하여 설명한다.
도 11은 일 실시예에 따라 데이터 처리 장치가 대상체의 복수의 영역에 대응하는 이미지를 표시하는 동작을 설명하기 위한 참고도이다.
도 11을 참조하면, 데이터 처리 장치 100는 제1서브 화면 1110에 대상체의 제1영역에 대응하는 제1이미지의 썸네일을 표시하고, 제2서브 화면 1120에 대상체의 제1영역과 이격된 제2영역에 대응하는 제2이미지의 썸네일을 표시하고, 메인 화면 1130에 대상체의 제1영역이나 제2영역과 이격된 제3영역에 대응하는 제3이미지를 표시할 수 있다. 서브 화면의 개수는 다양하게 결정될 수 있다.
일 실시예에 따라 데이터 처리 장치 100는 메인 화면에 표시된 이미지에 대응하는 삼차원 데이터에 대해서 되돌리기나 되살리기, 락킹 등의 데이터 처리 동작을 수행할 수 있다. 따라서 서브 화면에 표시된 이미지에 대해서 데이터 처리 동작을 하기 위해서는 서브 화면에 대응하는 이미지를 메인 화면으로 이동시킬 수 있다. 사용자는 사용자 입력에 따라 제1서브 화면이나 제2서브 화면에 표시된 이미지와 메인 화면에 표시된 이미지를 서로 교환시킬 수 있다. 예를 들어 사용자는 제1서브 화면에 표시된 썸네일을 제1서브 화면으로 드래그하는 동작에 의해 제1서브 화면에 표시된 썸네일에 대응하는 제1이미지를 메인 화면에 표시되게 하고, 메인 화면에 표시된 제3이미지의 썸네일이 제1서브 화면에 표시되게 할 수 있다. 이와 같이 이동시킨 후 데이터 처리 장치 100는 메인 화면 1130에 표시된 제3이미지에 대해서 데이터 처리 동작을 수행할 수 있다.
일 실시예에 따라 메인 화면에 표시된 이미지가 반복적인 되돌리기 동작에 의해 모두 숨김 처리되어 더 이상 표시될 이미지가 없는 경우에, 데이터 처리 장치 100는 아무 동작을 하지 않을 수 있다. 이경우 사용자는 수동으로 서브 화면에 표시된 이미지를 메인 화면으로 이동시킬 수 있다.
일 실시예에 따라 메인 화면에 표시된 이미지가 반복적인 되돌리기 동작에 의해 모두 숨김 처리되어 더 이상 표시될 이미지가 없는 경우에, 데이터 처리 장치 100는 자동으로 서브 화면에 대응하는 이미지를 메인 화면으로 이동시켜 표시할 수 있다. 이때 데이터 처리 장치 100는 최근에 스캔된 데이터 순으로 서브 화면에 대응하는 이미지를 메인 화면으로 이동시킬 수 있다. 예를 들어 제2서브 화면의 이미지가 더 최근에 스캔된 데이터이면 데이터 처리 장치 100는 제2서브 화면에 대응하는 이미지를 메인 화면으로 이동시킬 수 있다.
일 실시예에 따라 데이터 처리 장치는 서브 화면 별로 락킹(locking)을 설정할 수 있다. 락킹은 되돌리기 동작이나 되살리기 동작 등이 실행되지 않도록 하는 설정하는 것을 의미할 수 있다. 도 11을 참조하면 제1서브 화면에는 락킹을 표시하는 자물쇠 아이콘 1140이 표시되어 있다. 락킹을 나타내기 위해서는 자물쇠 아이콘 뿐만 아니라 서브 화면의 테두리에 색상이나 두께 등을 이용하여 시각적 효과를 부여할 수 있다.
도 12는 일 실시예에 따라 데이터 처리 장치의 디스플레이에 대상체의 제1영역에 대응하는 삼차원 데이터를 표시하는 동작을 설명하기 위한 참고도이다.
도 12를 참조하면, 데이터 처리 장치 100는 대상체인 구강의 제1영역에 대응하는 스캔 데이터를 수신하고, 수신된 스캔 데이터를 가공하여 삼차원 데이터를 생성하고, 생성된 삼차원 데이터에 대응하는 제1이미지를 디스플레이의 메인 화면 1210에 실시간으로 표시할 수 있다.
다음 데이터 처리 장치 100는 제1영역과 연속적이지 않은, 즉 이격된 제2영역에 대응하는 스캔 데이터를 수신하면, 제1영역에 대응하는 제1이미지의 썸네일 이미지를 서브 화면 1220으로 이동시켜 표시하고, 제2영역에 대응하는 스캔 데이터를 가공하여 삼차원 데이터를 생성하고, 생성된 삼차원 데이터에 대응하는 제2이미지를 디스플레이의 메인 화면 1210에 실시간으로 표시할 수 있다.
이와 같이 데이터 처리 장치 100의 디스플레이의 메인 화면 1210과 서브 화면 1220에 서로 다른 영역에 대응하는 이미지가 표시되는 상태에서, 사용자는 메인 화면 1210에 표시된 이미지 즉, 제2영역에 대응하는 제2이미지에 대해서 되돌리기 동작이나 되살리기 동작이 수행되도록 할 수 있다. 즉, 도 12의 1200B와 같이 메인 화면 1210과 서브 화면 1220에 서로 다른 영역에 대응하는 이미지가 표시된 상태에서 사용자가 스캐너 200를 조작함으로써, 되돌리기 동작에 대응하는 사용자 입력을 하는 경우, 데이터 처리 장치 100는 스캐너 200로부터 사용자 입력에 대응하는 제어 신호를 수신하고, 메인 화면 1210에 표시된 제2영역에 대응하는 제2이미지에 대응하는 삼차원 데이터에 대해서 숨김 처리를 할 수 있다. 그리고, 사용자가 메인 화면 1210에 표시된 제2영역에 대응하는 제2이미지에 대해서 되돌리기 동작을 반복적으로 수행함으로써 메인 화면 1210에 표시된 제2이미지가 모두 숨김 처리되어 메인 화면 1210에 표시할 제2이미지가 보이지 않는 경우에 데이터 처리 장치 100는 다양한 시나리오에 따라 동작할 수 있다.
일 실시예에 따라, 사용자가 메인 화면 1210에 표시된 제2영역에 대응하는 제2이미지에 대해서 되돌리기 동작을 반복적으로 수행함으로써 메인 화면 1210에 표시된 제2이미지가 모두 숨김 처리되어 메인 화면 1210에 표시할 제2이미지가 보이지 않는 경우에, 데이터 처리 장치 100는 자동적으로 어떤 동작을 수행하지 않을 수 있다. 즉, 데이터 처리 장치 100는 메인 화면에 표시된 이미지에 대응하는 삼차원 데이터에 대해서 데이터 처리 동작 즉, 되돌리기, 되살리기, 락킹 동작을 수행하므로 서브 화면의 이미지에 대해서 데이터 처리 동작을 하기 위해서는 사용자가 서브 화면의 이미지를 메인 화면으로 이동시켜야 한다. 예를 들어, 사용자는 서브 화면 1220에 표시된 제1이미지의 썸네일을 메인 화면 1210으로 드래그 하는 동작 등의 사용자 입력을 통해 서브 화면 1220에 대응하는 제1이미지를 메인 화면 1210에 표시되게 할 수 있다. 그리고 이와 같이 제1이미지가 메인 화면 1210에 표시된 상태에서 사용자가 스캐너 200를 조작하여 되돌리기 동작에 대응하는 사용자 입력을 하면, 데이터 처리 장치 100는 스캐너 200로부터 사용자 입력에 대응하는 제어 신호를 수신하고, 제어 신호 수신에 따라 메인 화면 1210에 대응하는 제1이미지의 삼차원 데이터에 대해서 숨김 처리를 할 수 있다.
일 실시예에 따라, 데이터 처리 장치 100의 디스플레이의 메인 화면 1210에 제2 이미지가 표시되고 서브 화면 1220에 제1이미지가 표시된 상태에서, 사용자가 서브 화면 1220에 표시된 제1이미지에 대해서 데이터 처리 동작을 하고 싶은 경우 사용자는 메인 화면 1210에 표시된 제2이미지와 서브 화면 1220에 표시된 제1이미지의 위치를 서로 교환되게 하여, 제1이미지가 메인 화면 1110에 표시되게 한 상태에서 제1이미지에 대해서 데이터 처리 동작을 수행할 수 있다.
일 실시예에 따라 도 11의 1200B에 도시된 바와 같이 사용자가 메인 화면 1210에 표시된 제2영역에 대응하는 제2이미지에 대해서 되돌리기 동작을 반복적으로 수행함으로써 메인 화면 1210에 표시된 제2이미지가 모두 숨김 처리되어 메인 화면 1210에 표시할 제2이미지가 보이지 않는 경우에, 데이터 처리 장치 100는 자동적으로 서브 화면 1220의 이미지를 메인 화면 1210으로 이동시킬 수 있다.
도 13은 일 실시예에 따라 메인 화면 1210에 표시된 이미지가 모두 숨김 처리된 경우에 데이터 처리 장치 100가 자동적으로 서브 화면 1220의 이미지를 메인 화면 1210으로 이동시키는 동작을 설명하기 위한 참고도이다.
도 13의 1300A를 참조하면, 디스플레이 장치 100는 메인 화면 1210에 표시된 제2영역에 대응하는 제2이미지에 대해서 되돌리기 동작을 반복적으로 수행함으로써 메인 화면 1210에 표시된 제2이미지가 모두 숨김 처리되어 메인 화면 1210에 표시할 제2이미지가 없는 경우에, 데이터 처리 장치 100는 자동으로 서브 화면 1220에 표시된 썸네일에 대응하는 제1이미지를 메인 화면 1210으로 이동시킬 수 있다. 그리고 이후 되돌리기 동작을 지시하는 사용자 입력에 대응하는 제어 신호를 수신한 경우 데이터 처리 장치 100는 메인 화면 1210에 표시된 제1이미지에 대응하는 삼차원 데이터에 대해서 숨김 처리를 수행할 수 있다.
본 개시의 일 실시예에 따른 구강 이미지의 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 또한, 본 개시의 실시예는, 구강 이미지의 처리 방법을 실행하는 적어도 하나의 인스트럭션을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 저장 매체가 될 수 있다.
상기 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 여기서, 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치가 포함될 수 있다.
여기서, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 저장 매체가 실재(tangible)하는 장치임을 의미할 수 있다. 또한, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 구강 이미지의 처리 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포될 수 있다. 또는, 어플리케이션 스토어(예: 플레이 스토어 등)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 구체적으로, 개시된 실시예에 따른 컴퓨터 프로그램 제품은 개시된 실시예에 따른 구강 이미지의 처리 방법을 수행하기 위해 적어도 하나의 인스트럭션을 포함하는 프로그램이 기록된 저장 매체를 포함할 수 있다.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
개시된 실시예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시예들에 따른 제어 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 디바이스의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 디바이스로 구성되는 시스템에서, 서버의 저장매체 또는 디바이스의 저장매체를 포함할 수 있다. 또는, 서버 또는 디바이스와 통신 연결되는 제 3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제 3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 디바이스 또는 제 3 장치로 전송되거나, 제 3 장치로부터 디바이스로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 디바이스 및 제 3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 디바이스 및 제 3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 디바이스가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제 3 장치가 컴퓨터 프로그램 제품을 실행하여, 제 3 장치와 통신 연결된 디바이스가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 제 3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제 3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드 된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제 3 장치는 프리로드 된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 데이터 처리 장치에 있어서,
    디스플레이,
    통신 인터페이스,
    하나 이상의 인스트럭션을 포함하는 메모리, 및
    상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하도록 상기 디스플레이를 제어하고,
    상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하도록 상기 통신 인터페이스를 제어하고,
    상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하고,
    상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하도록 상기 디스플레이를 제어하는, 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는, 데이터 처리 장치.
  3. 제2항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제어 신호가 되살리기 (redo) 명령에 대응됨에 따라, 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리하는, 데이터 처리 장치.
  4. 제3항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제어 신호가 락킹 (locking) 명령에 대응됨에 따라, 상기 숨김 처리나 상기 복구 처리가 더 이상 허용되지 않도록 현재 상태의 삼차원 데이터에 기반하여 삼차원 데이터를 확정 처리하는, 데이터 처리 장치.
  5. 제1항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 대상체의 제1영역에 대응하는 스캔 데이터에 기반하여 생성된 제1삼차원 데이터에 대응하는 제1이미지를 서브 화면에 표시하도록 상기 디스플레이를 제어하고,
    상기 제1영역과 이격된 상기 대상체의 제2영역에 대응하는 스캔 데이터에 기반하여 생성된 제2삼차원 데이터에 대응하는 제2이미지를 메인 화면에 표시하도록 상기 디스플레이를 제어하고,
    상기 스캐너로부터 수신된 제어 신호에 따라 상기 메인 화면에 표시된 상기 제2이미지에 대응하는 삼차원 데이터를 조정하는 기능을 수행하고,
    상기 조정된 삼차원 데이터를 이용하여 제2이미지를 표시하도록 상기 디스플레이를 제어하는, 데이터 처리 장치.
  6. 제5항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 서브 화면에 표시된 상기 제1이미지에 대응하는 삼차원 데이터에 대해서 데이터 조정 기능이 수행되지 않도록 하는 락킹 기능을 설정하는, 데이터 처리 장치.
  7. 제5항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 제2삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작에 의해 상기 제2삼차원 데이터가 모두 숨김 처리되면, 상기 서브 화면에 대응하는 상기 제1삼차원 데이터에 대응하는 제1이미지를 상기 메인 화면에 표시하도록 상기 디스플레이를 제어하는, 데이터 처리 장치.
  8. 스캐너에 있어서,
    스캔 동작을 수행하는 광학부,
    하나 이상의 센서,
    통신 인터페이스, 및
    프로세서를 포함하고,
    상기 프로세서는,
    상기 광학부를 이용하여 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 데이터 처리 장치로 전송하도록 상기 통신 인터페이스를 제어하고,
    상기 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하고,
    상기 사용자 입력에 따라 상기 스캔 동작을 멈추도록 상기 광학부를 제어하고,
    상기 사용자 입력에 대응하는 기능을 수행하거나 또는 상기 사용자 입력에 대응하는 기능을 수행하도록 제어하는 제어 신호를 상기 데이터 처리 장치로 전송하도록 상기 통신 인터페이스를 제어하는, 스캐너.
  9. 제8항에 있어서,
    상기 하나 이상의 센서의 각 센서는 복수의 기능 중 하나 이상의 기능에 대응되는, 스캐너.
  10. 제9항에 있어서,
    상기 복수의 기능은,
    데이터 조정 기능, 락킹 기능, 상기 광학부의 설정을 조정하는 기능 중 적어도 하나를 포함하는, 스캐너.
  11. 데이터 처리 장치의 동작 방법에 있어서,
    대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 스캐너로부터 수신하는 동작,
    상기 스캔 데이터에 기반하여 생성된 삼차원 데이터에 대응하는 이미지를 표시하는 동작,
    상기 이미지를 표시하는 동안, 상기 스캐너의 하나 이상의 사용자 인터페이스를 통해서 감지된 사용자 입력에 따라 생성된 제어 신호를 상기 스캐너로부터 수신하는 동작,
    상기 제어 신호에 따라 상기 생성된 삼차원 데이터를 조정하는 기능을 수행하는 동작, 및
    상기 조정된 삼차원 데이터를 이용하여 이미지를 표시하는 동작을 포함하는, 데이터 처리 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  13. 제12항에 있어서,
    상기 제어 신호가 되살리기 (redo) 명령에 대응됨에 따라, 가장 최근에 숨김 처리되었던 미리 지정된 개수의 프레임들을 복구 처리하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 제어 신호가 락킹 (locking) 명령에 대응됨에 따라, 상기 숨김 처리나 상기 복구 처리가 더 이상 허용되지 않도록 현재 상태의 삼차원 데이터에 기반하여 삼차원 데이터를 확정 처리하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  15. 제11항에 있어서,
    상기 대상체의 제1영역에 대응하는 스캔 데이터에 기반하여 생성된 제1삼차원 데이터에 대응하는 제1이미지를 서브 화면에 표시하는 동작,
    상기 제1영역과 이격된 상기 대상체의 제2영역에 대응하는 스캔 데이터에 기반하여 생성된 제2삼차원 데이터에 대응하는 제2이미지를 메인 화면에 표시하는 동작,
    상기 스캐너로부터 수신된 제어 신호에 따라 상기 메인 화면에 표시된 상기 제2이미지에 대응하는 삼차원 데이터를 조정하는 기능을 수행하는 동작, 및
    상기 조정된 삼차원 데이터를 이용하여 제2이미지를 표시하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  16. 제15항에 있어서,
    상기 서브 화면에 표시된 상기 제1이미지에 대응하는 삼차원 데이터에 대해서 데이터 조정 기능이 수행되지 않도록 하는 락킹 기능을 설정하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  17. 제15항에 있어서,
    상기 제어 신호가 되돌리기 (undo) 명령에 대응됨에 따라, 상기 제2삼차원 데이터를 구성하는 프레임들 중 가장 최근에 입력된 미리 지정된 개수의 프레임들을 숨김 처리하는 동작에 의해 상기 제2삼차원 데이터가 모두 숨김 처리되면, 상기 서브 화면에 대응하는 상기 제1삼차원 데이터에 대응하는 제1이미지를 상기 메인 화면에 표시하는 동작을 더 포함하는, 데이터 처리 장치의 동작 방법.
  18. 광학부 및 하나 이상의 센서를 포함하는 스캐너의 동작 방법에 있어서,
    상기 광학부를 이용하여 대상체를 스캔함으로써 획득한 상기 대상체의 스캔 데이터를 데이터 처리 장치로 전송하는 동작,
    상기 하나 이상의 센서를 통해서 감지된 사용자 입력을 획득하는 동작,
    상기 사용자 입력에 따라 상기 스캔 동작을 멈추도록 상기 광학부를 제어하는 동작, 및
    상기 사용자 입력에 대응하는 기능을 수행하거나 또는 상기 사용자 입력에 대응하는 기능을 수행하도록 제어하는 제어 신호를 상기 데이터 처리 장치로 전송하는 동작을 포함하는, 스캐너의 동작 방법.
  19. 제18항에 있어서,
    상기 하나 이상의 센서의 각 센서는 복수의 기능 중 하나 이상의 기능에 대응되는, 스캐너의 동작 방법.
  20. 제19항에 있어서,
    상기 복수의 기능은,
    데이터 편집 기능, 락킹 기능, 상기 광학부의 설정을 조정하는 기능 중 적어도 하나를 포함하는, 스캐너의 동작 방법.





KR1020210131884A 2021-04-07 2021-10-05 데이터 처리 장치, 스캐너 및 그 동작 방법 KR102626891B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2022/004974 WO2022216056A1 (ko) 2021-04-07 2022-04-06 데이터 처리 장치, 스캐너 및 그 동작 방법
US18/285,694 US20240180397A1 (en) 2021-04-07 2022-04-06 Data processing device, scanner, and method for operating same
EP22784965.0A EP4321128A1 (en) 2021-04-07 2022-04-06 Data processing device, scanner, and method for operating same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210045438 2021-04-07
KR20210045438 2021-04-07

Publications (2)

Publication Number Publication Date
KR20220139217A true KR20220139217A (ko) 2022-10-14
KR102626891B1 KR102626891B1 (ko) 2024-01-19

Family

ID=83599679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210131884A KR102626891B1 (ko) 2021-04-07 2021-10-05 데이터 처리 장치, 스캐너 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102626891B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100126700A (ko) * 2008-01-23 2010-12-02 센서블 테크놀로지스, 인크. 햅티컬 작동가능한 치아 모델링 시스템
KR20150130938A (ko) * 2014-05-14 2015-11-24 주식회사바텍 치과용 3차원 스캐너
KR20170113412A (ko) * 2016-03-30 2017-10-12 주식회사바텍 치과용 구강스캐너 시스템
KR20180126166A (ko) * 2017-05-17 2018-11-27 주식회사바텍 디스플레이를 갖는 구강 스캐너 및 이를 포함하는 구강 스캐너 시스템
US20190011996A1 (en) * 2015-03-06 2019-01-10 Align Technology, Inc. Intraoral scanner with touch sensitive input

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100126700A (ko) * 2008-01-23 2010-12-02 센서블 테크놀로지스, 인크. 햅티컬 작동가능한 치아 모델링 시스템
KR20150130938A (ko) * 2014-05-14 2015-11-24 주식회사바텍 치과용 3차원 스캐너
US20190011996A1 (en) * 2015-03-06 2019-01-10 Align Technology, Inc. Intraoral scanner with touch sensitive input
KR20170113412A (ko) * 2016-03-30 2017-10-12 주식회사바텍 치과용 구강스캐너 시스템
KR20180126166A (ko) * 2017-05-17 2018-11-27 주식회사바텍 디스플레이를 갖는 구강 스캐너 및 이를 포함하는 구강 스캐너 시스템

Also Published As

Publication number Publication date
KR102626891B1 (ko) 2024-01-19

Similar Documents

Publication Publication Date Title
JP2010532681A (ja) 歯科用モデルのための、ビデオ補助境界マーキング
JP2010533008A (ja) ビデオデータ及び三次元モデルデータの同期ビュー
JP2021529046A (ja) モデルの動的調整のための方法およびシステム
BR102022015085A2 (pt) Aparelho de processamento de imagem, método de processamento de imagem e meio de armazenamento
US20230386119A1 (en) Oral image processing device and oral image processing method
KR102626891B1 (ko) 데이터 처리 장치, 스캐너 및 그 동작 방법
KR102582709B1 (ko) 삼차원 구강 모델을 처리하는 방법 및 장치
US20240180397A1 (en) Data processing device, scanner, and method for operating same
KR102376933B1 (ko) 대상체에 대한 이미지를 제공하는 방법 및 디바이스
KR20220056760A (ko) 구강 이미지 처리 장치, 및 구강 이미지 처리 방법
KR102666198B1 (ko) 구강 모델을 처리하는 데이터 처리 장치 및 그 동작 방법
US20240129447A1 (en) Data processing device and data processing method
KR102645173B1 (ko) 구강 이미지 처리 장치, 및 구강 이미지 처리 방법
KR102680644B1 (ko) 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치
US20240197447A1 (en) Intraoral image processing apparatus and intraoral image processing method
KR102670128B1 (ko) 데이터 처리 장치 및 그 동작 방법
KR20220122486A (ko) 데이터 처리 장치 및 데이터 처리 방법
KR102605094B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
EP4374819A1 (en) Image processing apparatus and image processing method
KR102472127B1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
KR102626888B1 (ko) 삼차원 구강 모델 처리 장치 및 삼차원 구강 모델 처리 방법
KR102631922B1 (ko) 삼차원 구강 모델을 처리하는 방법 및 장치
KR102527955B1 (ko) 이미지 처리 장치, 및 이미지 처리 방법
KR20230014628A (ko) 이미지 처리 장치, 및 이미지 처리 방법
US20230390035A1 (en) Oral image processing device and oral image processing method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant