KR101737065B1 - 펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 - Google Patents
펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 Download PDFInfo
- Publication number
- KR101737065B1 KR101737065B1 KR1020160045762A KR20160045762A KR101737065B1 KR 101737065 B1 KR101737065 B1 KR 101737065B1 KR 1020160045762 A KR1020160045762 A KR 1020160045762A KR 20160045762 A KR20160045762 A KR 20160045762A KR 101737065 B1 KR101737065 B1 KR 101737065B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- points
- pen
- information
- format
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims abstract description 5
- 230000009467 reduction Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036314 physical performance Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- A61B6/14—
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B6/00—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment
- A61B6/50—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications
- A61B6/51—Apparatus or devices for radiation diagnosis; Apparatus or devices for radiation diagnosis combined with radiation therapy equipment specially adapted for specific body parts; specially adapted for specific clinical applications for dentistry
-
- G06F17/2264—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Optics & Photonics (AREA)
- Pathology (AREA)
- Radiology & Medical Imaging (AREA)
- Biophysics (AREA)
- High Energy & Nuclear Physics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 스마트 펜 차팅 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로서, 더욱 자세하게는 PC(Personal Computer) 단말기에서 펜 차팅(Pen Charting) 한 것을 스마트 폰(Smart Phone) 등 스마트 단말기에서 선의 모양, 선색, 필압, 굵기 등을 포함한 선분(Stroke)을 볼 수 있으며, 스마트 단말기에서 선분을 추가 또는 삭제하는 편집 상황을 PC 단말기에서도 볼 수 있도록 하는, 스마트 펜 차팅 시스템 및 방법에 관한 것이다.
본 발명에 따르면, PC 단말기를 이용해 3D PCD 또는 CT 사진에 표시한 선분 또는 도형(이른바 펜 차팅 정보)을 스마트 단말기에서 동일하게 표시될 수 있다. 또한, 동일한 관점에서, 스마트 단말기를 이용해 3D PCD 또는 CT 사진에 표시한 펜 차팅 정보를 PC 단말기에서 동일하게 표시될 수 있다.
본 발명에 따르면, PC 단말기를 이용해 3D PCD 또는 CT 사진에 표시한 선분 또는 도형(이른바 펜 차팅 정보)을 스마트 단말기에서 동일하게 표시될 수 있다. 또한, 동일한 관점에서, 스마트 단말기를 이용해 3D PCD 또는 CT 사진에 표시한 펜 차팅 정보를 PC 단말기에서 동일하게 표시될 수 있다.
Description
본 발명은 스마트 펜 차팅 시스템, 방법 및 컴퓨터 프로그램에 관한 것으로서, 더욱 자세하게는 PC(Personal Computer) 단말기에서 펜 차팅(Pen Charting) 한 것을 스마트 폰(Smart Phone) 등 스마트 단말기에서 선의 모양, 선색, 필압, 굵기 등을 포함한 선분(Stroke)을 볼 수 있으며, 스마트 단말기에서 선분을 추가 또는 삭제하는 편집 상황을 PC 단말기에서도 볼 수 있도록 하는, 스마트 펜 차팅 시스템 및 방법에 관한 것이다.
치과 치료의 상담 과정에서 파노라마 영상이나 CT 영상 등의 자료를 이용하는 것은 환자에게 시작적으로 즉각적인 치료 과정을 보여줄 수 있다는 점에서 매우 유용하다. 의사는 이와 같은 자료에 선분을 그리거나 도형을 표시함으로써 치료 과정에서 변화될 환자의 구강 구조에 대한 정보를 효과적으로 전달할 수 있게 된다.
한편, 이와 같은 시각적 자료에 대한 선분 그리기 또는 도형의 표시는 의사의 PC 단말기에서 이루어지는 것이 일반적이다. 하지만, PC 단말기는 통상적으로 위치가 고정되어 있기 때문에 폭넓은 이동성을 제공하지 못하는 단점이 있다. 경우에 따라서 의사는 선분 또는 도형이 표시된 치료 과정 정보를 병원 내의 다양한 위치에서 볼 필요가 있기 때문이다.
넓은 이동성을 제공하는 장치의 대표적인 예는 스마트 폰이나 태블릿 PC와 같은 스마트 단말기다. 스마트 단말기는 내부 배터리를 이용해 구동되며 무선 이동통신을 이용해 데이터를 송수신하기 때문에 장소에 구애받지 않고 선분 또는 도형이 표시된 시각적 자료를 디스플레이할 수 있다.
만약에, PC 단말기를 이용해 시각적 자료에 대해서 선분을 그리거나 도형을 표시하였는데, 스마트 단말기가 PC 단말기와 정보를 공유하지 못하는 경우에는 동일한 치료 과정 정보를 제시할 수 없다는 문제점이 있을 수 밖에 없다.
따라서, PC 단말기를 이용해 파노라마 영상 또는 CT 영상에 표시한 선분 또는 도형(이른바 펜 차팅 정보)가 스마트 단말기와 서로 공유될 필요가 있다. 마찬가지 관점에서, 스마트 단말기를 이용해 작성한 펜 차팅 정보가 PC 단말기와 서로 공유될 필요가 있다.
본 발명에서 제시하고자 하는 바는 PC 단말기를 이용해 파노라마 영상 또는 CT 영상에 표시한 선분 또는 도형(이른바 펜 차팅 정보)을 스마트 단말기에서 동일하게 표시하고자 하는 것이다. 또한, 동일한 관점에서, 스마트 단말기를 이용해 파노라마 영상 또는 CT 영상에 표시한 펜 차팅 정보를 PC 단말기에서 동일하게 표시하고자 하는 것이다.
즉, 본 발명에서 해결하고자 하는 과제는 이기종의 단말기 사이에서 펜 차팅 정보를 공유하고자 하는 것이다.
전술한 과제를 해결하기 위해 이기종의 단말기를 포함하는 시스템에서 수행되는 펜 차팅 방법이 제공되며, 그 방법은: 제 1 단말기에서 이미지를 화면상에 출력하는 단계; 상기 이미지에 대응하는 가상의 레이어(layer) 상에 선분을 표시하는 제 1 표시단계; 상기 제 1 단말기 포맷으로 구성된 상기 선분에 대한 정보를 제 2 단말기 포맷으로 변환하는 단계; 상기 변환된 제 2 단말기 포맷의 상기 선분 정보를 상기 제 2 단말기로 전송하는 단계; 및 상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계;를 포함한다.
그 방법에서, 상기 변환하는 단계는, 상기 제 1 단말기 포맷으로서 ISF(Ink Serialize Format)을 상기 제 2 단말기 포맷으로서 XML(extensible markup language) 포맷으로 변환하는 단계를 포함하고, 상기 변환하는 단계는, DLL(dynamic linking library)를 이용해 변환하는 것을 특징으로 한다.
그 방법에서, 상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고, 상기 복수개의 포인트는 각각 2차원 좌표에 매핑되는 것을 특징으로 한다.
그 방법에서, 상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는, 상기 복수개의 포인트를 이용해 인터폴레이션(interpolation)을 적용하는 단계를 포함한다.
그 방법에서, 상기 인터폴레이션을 적용하는 단계는 리니어(linear) 인터폴레이션 및 큐빅(cubic) 인터폴레이션 중에서 적어도 하나를 적용하는 단계를 포함한다.
그 방법에서, 상기 선분에 대한 정보는 복수개의 포인트에 대한 정보 및 상기 포인트에 대한 필압 정보를 포함하고, 상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는, 상기 제 2 단말기 포맷에 포함된 포인트의 높이값 및 폭값 중 어느 하나와 상기 제 2 단말기 포맷에 포함된 압력값의 곱을 수행하는 단계를 포함한다.
그 방법은, 상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고, 상기 복수개의 포인트의 개수를 감축시키는 단계; 상기 감축된 포인트에 대해 지우기 객체가 접촉하는 충돌 포인트를 검출하는 단계; 및 상기 충돌 포인트에 대응하는 상기 선분을 삭제하는 단계;를 더 포함한다.
그 방법에서, 상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고, 상기 복수개의 포인트의 개수를 감축시키는 단계는, 상기 복수개의 포인트의 개수를 일정 비율만큼 감축시키는 단계를 포함한다.
그 방법에서, 상기 복수개의 포인트의 개수를 감축시키는 단계는, 선분의 기울기 변화가 적은 제 1 구간 및 상기 제 1 구간보다 선분의 기울기 변화가 더 큰 제 2 구간에 대하여, 제 1 구간에 적용되는 감축 비율이 제 2 구간에 적용되는 감축 비율보다 더 큰 것을 특징으로 한다.
그 방법에서, 상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고, 상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는: 상기 제 1 단말기에서의 이미지의 사이즈와 동일한 사이즈의 상기 가상의 레이어를 제 1 단말기의 레이어로서 생성하는 단계; 상기 제 1 단말기의 레이어 상에서 표시되는 복수개의 포인트마다 X 좌표 및 Y 좌표를 포함하는 상기 2차원 좌표를 결정하는 단계; 상기 제 2 단말기에서의 이미지의 사이즈와 동일한 사이즈의 가상의 레이어를 상기 제 2 단말기의 레이어로서 생성하는 단계; 상기 제 1 단말기에서의 레이어의 가로 사이즈 및 상기 제 2 단말기에서의 레이어의 가로 사이즈의 비율과 동일한 비율로 상기 복수개의 포인트의 X 좌표를 스케일링하는 단계; 상기 제 1 단말기에서의 레이어의 세로 사이즈 및 상기 제 2 단말기에서의 레이어의 세로 사이즈의 비율과 동일한 비율로 상기 복수개의 포인트의 Y 좌표를 스케일링하는 단계; 및 상기 스케일링된 X 좌표 및 Y 좌표에 따라서 상기 제 2 단말기의 레이어 상에 상기 복수개의 포인트를 표시하는 단계;를 포함한다.
전술한 문제를 해결하기 위해, 컴퓨터 상에서 실행될 때 전술한 펜 차팅 방법을 수행하기 위한 컴퓨터 프로그램이 제공된다.
전술한 문제를 해결하기 위해, 이기종의 단말기를 포함하는 펜 차팅을 수행하는 시스템으로서, 화면 상에서 이미지를 출력하고, 상기 이미지에 대응하는 가상의 레이어 상에 선분을 표시하고, 제 1 단말기 포맷으로 구성된 상기 선분에 대한 정보를 저장하는 상기 제 1 단말기; 상기 제 1 단말기 포맷으로부터 제 2 단말기 포맷으로 변환된 상기 선분 정보를 수신하고, 상기 이미지 및 상기 선분을 표시하는 상기 제 2 단말기;를 포함하는 이기종의 단말기를 포함하는 펜 차팅을 수행하는 시스템이 제공된다.
본 발명에 따르면, PC 단말기에서 펜 차팅한 것을 스마트 폰 등 스마트 단말기에서 선의 모양, 선색, 필압, 굵기 등을 포함한 선분을 볼 수 있고, 스마트 단말기에서 선분을 추가 또는 삭제하는 편집 상황을 PC 단말기에서도 확인할 수 있다.
본 발명에 따르면, PC 단말기를 이용해 파노라마 영상 또는 CT 영상에 표시한 선분 또는 도형(이른바 펜 차팅 정보)을 스마트 단말기에서 동일하게 표시될 수 있고, 스마트 단말기를 이용해 파노라마 영상 또는 CT 영상에 표시한 펜 차팅 정보를 PC 단말기에서 동일하게 표시될 수 있다.
본 발명에 따르면, PC 단말기에서의 펜 차팅이 스마트 단말기에서 연동될 수 있고, 스마트 단말기를 통한 넓은 이동성이 달성될 수 있다.
도 1은 본 발명의 실시예 따른 펜 차팅 시스템을 설명하기 위한 기본적인 개념도를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따라 이미지 상에 선분을 표시하는 예를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 선분에 대해 수많은 점들을 인터폴레이션을 적용하여 선으로 표시하는 예를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 선분에 대한 PC 단말기 포맷을 스마트 단말기 포맷으로 변환하는 과정을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 펜 차팅 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따라 필압을 표현하는 방식을 설명하기 위한 도면이다.
도 7a 및 도 7b 본 발명의 일 실시예에 따라 선분을 삭제하는 방식을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라서 PC 단말기에서 표시되는 포인트의 좌표를 스마트 단말기에서 표시되는 포인트의 좌표로 스케일링하는 방식을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따라 이미지 상에 선분을 표시하는 예를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 선분에 대해 수많은 점들을 인터폴레이션을 적용하여 선으로 표시하는 예를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 선분에 대한 PC 단말기 포맷을 스마트 단말기 포맷으로 변환하는 과정을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 펜 차팅 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따라 필압을 표현하는 방식을 설명하기 위한 도면이다.
도 7a 및 도 7b 본 발명의 일 실시예에 따라 선분을 삭제하는 방식을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라서 PC 단말기에서 표시되는 포인트의 좌표를 스마트 단말기에서 표시되는 포인트의 좌표로 스케일링하는 방식을 설명하기 위한 도면이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
어느 부분이 다른 부분의 "위에" 있다고 언급하는 경우, 이는 바로 다른 부분의 위에 있을 수 있거나 그 사이에 다른 부분이 수반될 수 있다. 대조적으로 어느 부분이 다른 부분의 "바로 위에" 있다고 언급하는 경우, 그 사이에 다른 부분이 수반되지 않는다.
제1, 제2 및 제3 등의 용어들은 다양한 부분, 성분, 영역, 층 및/또는 섹션들을 설명하기 위해 사용되나 이들에 한정되지 않는다. 이들 용어들은 어느 부분, 성분, 영역, 층 또는 섹션을 다른 부분, 성분, 영역, 층 또는 섹션과 구별하기 위해서만 사용된다. 따라서, 이하에서 서술하는 제1 부분, 성분, 영역, 층 또는 섹션은 본 발명의 범위를 벗어나지 않는 범위 내에서 제2 부분, 성분, 영역, 층 또는 섹션으로 언급될 수 있다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.
"아래", "위" 등의 상대적인 공간을 나타내는 용어는 도면에서 도시된 한 부분의 다른 부분에 대한 관계를 보다 쉽게 설명하기 위해 사용될 수 있다. 이러한 용어들은 도면에서 의도한 의미와 함께 사용 중인 장치의 다른 의미나 동작을 포함하도록 의도된다. 예를 들면, 도면 중의 장치를 뒤집으면, 다른 부분들의 "아래"에 있는 것으로 설명된 어느 부분들은 다른 부분들의 "위"에 있는 것으로 설명된다. 따라서 "아래"라는 예시적인 용어는 위와 아래 방향을 전부 포함한다. 장치는 90˚ 회전 또는 다른 각도로 회전할 수 있고, 상대적인 공간을 나타내는 용어도 이에 따라서 해석된다.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련 기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
도 1은 본 발명의 실시예 따른 펜 차팅 시스템을 설명하기 위한 기본적인 개념도를 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 펜 차팅 시스템(100)은, 이미지 상에 선분(Stroke)을 표시하는 PC(Personal Computer) 단말기(110)와, 이에 연동하여 이미지와 선분을 동일하게 표시하는 스마트 단말기(120)를 포함한다. 즉, 펜 차팅 시스템(100)은 이기종의 단말기인 PC 단말기(110)와 스마트 단말기(120)를 포함하며, PC 단말기(110)는 제 1 단말기로 지칭될 수 있고, 스마트 단말기(120)는 제 2 단말기로 지칭될 수 있다.
PC 단말기는 개인용 컴퓨터, 퍼스널 컴퓨터라고도 하며 사무실용 컴퓨터나 가정용 컴퓨터이고 데스크 탑이라고도 지칭된다. PC는 중앙 프로세서인 CPU를 포함하여 제어와 연산을 수행하고, 기억 장치인 ROM이나 RAM을 포함할 수 있다.
스마트 단말기(120)는 가입자 유닛, 가입자국, 이동국, 모바일, 원격국, 원격 단말, 모바일 디바이스, 사용자 단말, 무선 통신 디바이스, 사용자 에이전트, 사용자 디바이스 또는 사용자 장비(UE)로도 지칭될 수 있다. 스마트 단말기(120)는 셀룰러 폰, 무선 전화, 세선 시작 프로토콜(SIP) 전화, 무선 로컬 루프(WLL) 스테이션, 개인 디지털 보조기기(PDA), 무선 접속 능력을 가진 핸드헬드 디바이스, 태블릿 PC, 스마트 폰 등 연산 디바이스 또는 무선 모뎀에 접속된 다른 처리 디바이스일 수도 있다.
이때, PC 단말기(110)와 스마트 단말기(120)는, 와이파이(Wi-Fi)나 블루투스(Bluetooth), 지그비(Zigbee) 등을 포함하는 무선 네트워크를 통해 연동하여 동작한다. 구체적으로 PC 단말기(110)와 스마트 단말기(120) 사이에는 펜차팅에서 사용되는 선분에 대한 정보, 선분을 구성하는 복수개의 포인트에 대한 정보, 포인트의 필압에 대한 정보, 포인트의 2차원 좌표(X, Y좌표)에 대한 정보 등이 송수신된다.
PC 단말기(110)는 도 1에 도시된 바와 같이 예를 들면, 사람의 치아를 촬영하여 획득한 이미지를 저장하고 있으며, 저장된 이미지를 사용자의 선택에 따라 불러와 화면 상에 표시(display)한다. 이를 위해, PC 단말기(110)는 이미지를 저장하기 위한 저장부와, 이미지를 표시하기 위한 표시부를 구비한다.
PC 단말기(110)는 사용자가 입력 장치를 통해 선분(stroke)을 그리는 동작에 따라 이미지 상에 선분을 표시한다. 이때, 입력 장치로서 예를 들면, 태블릿(Tablet)을 이용할 수 있다.
도 2는 본 발명의 실시예에 따라 이미지 상에 선분을 표시하는 예를 나타낸 도면이다. 즉, PC 단말기(110)는 이미지 상에 선분을 표시할 때, 도 2에 도시된 바와 같이 원본의 이미지(210)에 대응하는 가상의 레이어(Virtual Layer)(220)를 생성하고, 생성된 가상의 레이어(220) 상에 선분을 표시하는 것이다. 이때, PC 단말기(110)의 화면 상에 표시되는 선분은 사람의 눈에는 선으로 보이지만 실제로는 도 3에 도시된 바와 같이 하나 이상의 수많은 점(Point)으로 구성되어 있다. PC 단말기(110)는 수많은 점들 중에서 포인트가 되는 점들의 정보를 ISF(Ink Serialize Format) 포맷으로 저장하고 있다. 따라서, 선분에 대한 정보는 복수 개의 포인트에 대한 정보를 포함하며, 복수 개의 포인트는 각각 2차원 좌표에 매핑될 수 있다. 이러한 ISF 포맷은 PC 단말기에서 운용가능한 포맷으로서, 본 명세서에서는 PC 단말기 포맷으로 지칭될 수 있다. 이와 대비하여, 스마트 단말기에서 운용가능한 포맷은 XML 포맷으로서 본 명세서에서는 스마트 단말기 포맷으로 지칭될 수 있다.
PC 단말기(110)는 PC 단말기 포맷으로 구성된 선분에 대한 정보를 도 4에 도시된 바와 같은 과정을 통해 스마트 단말기 포맷으로 변환하고, 변환된 스마트 단말기 포맷의 선분에 대한 정보를 스마트 단말기(120)로 전송한다. 이에 대해서는 도 4와 관련하여 후술하기로 한다.
스마트 단말기(120)는 PC 단말기(110)로부터 수신한 스마트 단말기 포맷의 선분에 대한 정보에 근거해 이미지 및 선분을 표시한다.
스마트 단말기(120)는 이미지 및 선분을 표시할 때, 복수 개의 포인트를 이용해 도 3에 도시된 바와 같이 인터폴레이션(interpolation)을 적용하여 이미지 및 선분을 표시한다. 도 3은 본 발명의 실시예에 따른 선분에 대해 수많은 점들을 인터폴레이션을 적용하여 선으로 표시하는 예를 나타낸 도면이다. 이때, 스마트 단말기(120)는 인터폴레이션을 적용할 때 큐빅(cubic) 인터폴레이션을 적용하여 도 3에 도시된 바와 같이 선명한 선분을 이미지 상에 표시하게 되는 것이다. 선분에 대한 정보는 포인트에 대한 필압 정보를 포함한다. 따라서, 스마트 단말기(120)는 포인트에 대한 필압 정보에 근거해 선분의 굵기를 표시할 수 있다.
큐빅 인터폴레이션에 대해서 설명하면 다음과 같다. 큐빅 인터폴레이션은 주어진 포인트를 매끄럽게 연결시키는 알고리즘으로서, 두 포인트를 잇는 곡선을 3차 다항식의 사용하는 알고리즘이다. 즉, 서로 떨어져 있는 두개의 포인트 사이를 연결하는데 있어서, 그 연결하는 선을 "(a0 + a1x + a2x2 + a3x3)"와 같은 3차 다항식을 이용하는 알고리즘이다.
다만, 큐빅 인터폴레이션을 적용하기에는 표본의 개수가 부족한 포인트의 경우에는 리니어(linear) 인터폴레이션이 병행하여 사용될 수 있다. 예를 들어, 선분 중에서 시작과 끝에 해당하는 몇몇의 포인트에는 리니어 인터폴레이션이 병행하여 사용될 수 있다.
도 4는 본 발명의 실시예에 따른 선분에 대한 PC 단말기 포맷을 스마트 단말기 포맷으로 변환하는 과정을 나타낸 도면이다.
도 4에 도시된 바와 같이, PC 단말기(110)는 이미지 및 선분에 대한 정보를 스마트 단말기(120)로 전송하기 위해, PC 단말기 포맷으로서 ISF(Ink Serialized Format)를 DLL(dynamic linking library)을 이용해 스마트 단말기 포맷으로서 XML(extensible markup language) 포맷으로 변환하는 것이다.
ISF는 잉크 직렬화 된 형식으로서, 마이크로 소프트 기록 잉크 정보를 저장하는 형식이다. 형식은 주로 같은 모바일 기기에 사용되는 개인 디지털 보조, 태블릿 PC와 울트라 모바일 PC에 사용된다. 잉크 객체는 단순히 각각의 스트로크에 대한 포인트들의 시퀀스 인 스트로크의 시퀀스이고, 포인트는 X, Y 좌표를 사용한다. 새로운 모바일 기기의 대부분은 압력 및 각도 등의 정보를 제공 할 수 있다. 또한 잉크 데이터와 함께 사용자 정보를 저장하는 데 사용될 수 있다.
DLL은 OS/2, 윈도즈 등의 운영 체계(OS) 본래 기능으로 소프트웨어의 루틴을 몇 개의 파일로 나누어 디스크에 두고 필요한 것만을 실형 메모리에 실어서 사용하기 위한 파일이다. DLL로 사용되는 파일은 확장자가 'dll'로 되어 있기 때문에 'DLL 파일'이라고 부른다. DLL의 장점은 루틴을 공통으로 사용하는 것이다. 루틴의 함수 집단을 자료집(library)이라 하는데, 보통 실행 파일을 작성할 때 자료집을 포함해서 컴파일하는 경우가 많다. 그러나 이 방법은 동일 루틴을 다수의 실행 파일이 갖는 것으로 되어 비효율적이다. DLL은 다수의 실행 파일에 공유될 수 있기 때문에 디스크 용량이나 메모리를 절약할 수 있다. 또 프로그램을 수정하려는 경우, DLL 파일만을 수정함으로써 완료되는 경우도 있다. 윈도즈 등에서는 OS 기능은 물론 DLL을 애플리케이션과 공유할 수도 있다.
XML은 HTML(hypertext markup Language)과 같은 마크업 언어(markup language, 문서 처리를 지원하기 위해 문서에 추가되는 정보)다. XML은 SGML(standard generalized markup language)의 부분집합(subset)으로 SGML의 장점들을 최대한 수용하는 한편, 웹 문서에 쉽게 응용하기 위해 SGML의 특정 부분을 발췌 요약해 배우기 쉽고, 애플리케이션에서도 쉽게 구현될 수 있도록 만든 것이다. 즉, XML은 HTML과 SGML의 장점을 모두 살려 표준화 작업이 이루어진 웹페이지 기술 언어다. HTML은 태그의 종류가 한정되어 있는 반면 XML은 문서의 내용에 관련된 태그를 사용자가 직접 정의할 수 있으며, 그 태그를 다른 사람들이 사용하도록 할 수 있다. XML은 본질적으로 다른 언어를 기술하기 위한 언어, 즉 메타 언어이기 때문이다.
XML은 웹에서 구조화된 문서를 전송 가능하도록 설계되었기 때문에 문서를 구성하는 각 요소들의 독립성을 보장함으로써 문서의 호환성, 내용의 독립성, 요소 변경의 용이성 등의 특성을 제공한다. HTML문서는 화면에 나타나는 문서가 하나의 파일로 되어 있지만, XML은 요소별로 개별 파일로 구성되어 있기 때문에 문서를 요소별로 저장, 검색, 재활용 할 수 있다. 또한 XML로 문서를 교환할 때 각자가 가지고 있는 응용프로그램이 달라도 호환이 가능하다. 이러한 점 때문에 XML언어는 전자상거래, EDI(전자문서교환) 등을 중심으로 차세대 인터넷언어로 빠르게 세력을 확장하고 있다. 어떤 문서가 구조, 내용, 표현으로 구성되어 있다고 했을 때, XML은 구조와 내용만을 규정하기 때문에 XML로 기술된 데이터를 화면에 표현하려면 다른 화면표현용 언어를 사용해야 한다. 이 화면 표현과 관련된 언어가 바로 XSL(extensible stylesheet language)이다.
한편, 도 4는 PC 단말기 포맷을 스마트 단말기 포맷으로 변환하는 과정을 나타낸 것이지만, 그 역과정도 이루어질 수 있다. 즉, 스마트 단말기 포맷을 PC 단말기 포맷으로 변환할 수 있다. 이 경우에는 스마트 단말기의 포맷인 XML 포맷이 DLL을 통해 PC 단말기의 포맷인 ISF 포맷으로 변경될 것이다.
도 5는 본 발명의 실시예에 따른 펜 차팅 방법을 설명하기 위한 동작 흐름도를 나타낸 도면이다.
도 5를 참조하면, 본 발명에 따른 펜 차팅 시스템(100)은, PC 단말기(110)에서 이미지를 표시한다(S510).
이어, PC 단말기(110)는 이미지에 대응하는 가상의 레이어 상에 선분을 표시한다(S520).
이어, PC 단말기(110)는 PC 단말기 포맷으로 구성된 선분에 대한 정보를 스마트 단말기 포맷으로 변환한다(S530). 예를 들어, PC 단말기 포맷은 ISF 일 수 있다.
이때, PC 단말기(110)는 도 4에 도시된 바와 같이 ISF(Ink Serialize Format)에 대해 DLL(dynamic linking library)을 이용해 스마트 단말기 포맷으로서 XML(extensible markup language) 포맷으로 변환한다.
또한, 선분에 대한 정보는 복수 개의 포인트에 대한 정보를 포함하며, 복수 개의 포인트는 각각 2차원 좌표에 매핑될 수 있다.
이어, PC 단말기(110)는 변환된 스마트 단말기 포맷의 선분 정보를 스마트 단말기(120)로 전송한다(S540).
따라서, 스마트 단말기(120)는 이미지 및 선분을 표시한다(S550).
즉, 스마트 단말기(120)는 이미지 및 선분을 표시할 때, 복수 개의 포인트에 대해 인터폴레이션(interpolation)을 적용하여 이미지 및 선분을 표시한다. 여기서, 인터폴레이션에 대해 큐빅(cubic) 인터폴레이션을 적용하고, 선분에 대한 정보는 포인트에 대한 필압 정보를 포함한다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따라 필압을 표현하는 방식을 설명하기 위한 도면이다.
필압 정보를 공유하는 방식을 설명하기에 앞서, 본 발명에 따라 설계된 XML 포맷의 구조를 먼저 설명하기로 하며 도 6b를 참조한다. XML 포맷의 구조를 참조하면 <drawingattributes>로서 선분의 색(color)에 대한 값, 포인트의 폭(width)에 대한 값, 포인트의 높이(height)에 대한 값, 선분의 투명도(transparency)에 대한 값, 펜의 형상(pentip)에 대한 값이 포함된다. 펜의 형상이란 본 발명이 구현되는 프로그램 내에서 지원하는 펜의 다양항 모양(예를 들어, 굵은 펜, 사각 펜, 형광 펜 등)을 정의하는 값이다. 또한, 본 발명에 따라 설계된 XML 포맷의 구조는 <packetdata>로서 포인트의 X, Y 좌표 값을 포함한다. 여기서 인접한 값의 쌍은 1개의 포인트를 구성하는 것으로 구현될 수 있다. 예를 들어, 도 6b에서, 제1포인트의 X,Y 좌표는 각각 3175, 1931이고, 그 다음의 제2포인트의 X,Y 좌표는 각각 3201, 1931이고, 그 다음의 제3포인트의 X,Y 좌표는 각각 3201, 1958이고, 그 다음의 제4포인트의 X,Y 좌표는 각각 3281, 2037이고, 그 다음의 제5포인트의 X,Y 좌표는 각각 3360, 2117이다. 또한, 본 발명에 따라 설계된 XML 포맷의 구조는 <pressure>로서 사용자의 조작에 따라 스마트 펜이 디스플레이 패널에 눌려지는 강도에 대한 값이 포함된다. 예를 들어, 압력값(pressure)은 0 내지 1 사이의 숫자로 표현될 수 있고, 제1포인트의 압력값은 0.1, 제2포인트의 압력값은 0.5, 제3포인트의 압력값은 0.7, 제4포인트의 압력값은 1.0, 제5포인트의 압력값은 0.7일 수 있다. 이러한 압력값은 스마트 펜이 디스플레이 패널에 눌려지는 것에 대응하여 스마트 단말이 인식하는 방식으로 결정될 수 있다.
도 6a를 참조하여, 본 발명의 일 실시예에 따라 필압을 표현하는 방식을 설명하기로 한다.
스마트 단말은 XML 포맷에서 포인트의 높이값 및 압력값을 추출하고, 추출된 포인트의 높이값 및 압력값의 곱을 계산함으로써 실제로 표현될 펜의 필압을 표현할 수 있다. 여기에서, XML 포맷에서 포인트의 높이값을 추출하는 이유는 다음과 같다. 도 6b에 나타난 바와 같이 포인트의 폭값 및 높이값이 모두 포함되지만, 하나의 원을 사각으로 표현하는 renderbox(610 내지 630)를 고려하면 폭값과 높이값은 서로 동일하다. 따라서, 폭값 및 높이값 중 어느 하나만을 추출하더라도 정확한 필압을 표현할 수 있게 된다. 기존에는 필압표현을 위해 폭값과 높이값을 모두 추출하는 방식이 사용되었으나(즉, renderbox 전체를 사용하는 기존의 방식), 본 발명자는 두 개의 값 중에서 하나의 값만을 추출하는 방식을 채택하였다. 이를 통해, XML 포맷에 포함되는 정보의 양을 축소시킬 수 있었으며 부가적으로는 스마트 단말기로 전송되는 데이터의 양을 감축시킬 수 있게 되었다.
도 6a에서의 3개의 renderbox(610 내지 630)는 모두 높이값이 70인 경우로서, 첫 번째 renderbox(610)는 압력값이 0.1인 경우, 두 번째 renderbox(620)는 압력값이 0.5인 경우, 세 번째 renderbox(630)는 압력값이 1인 경우이며, 도 6a에서 드러나는 차이만큼 스마트 단말기에서 서로 다른 굵기의 선분으로서 디스플레이될 것이다.
전술한 바와 같이, 포인트의 폭값 또는 높이값은 사용자가 설정한 펜값에 따라서 달라지게 될 것이다. 예를 들어, 사용자가 일반펜을 선택하는 경우보다 굵은 펜을 선택하는 경우에 폭값과 높이값이 더 큰 값이 될 것이다.
한편, 전술한 실시예와 동일한 관점에서 높이값 대신 폭값이 이용될 수 있다는 점은 본 발명의 기술적 사상과 균등한 것이 이해되어야 한다. 만약 폭값이 이용되는 경우라면, 실제로 표현될 펜의 필압은 XML 포맷에서 추출되는 폭값 및 압력값의 곱을 계산함으로써 이루어질 수 있을 것이다.
도 7a 및 도 7b 본 발명의 일 실시예에 따라 선분을 삭제하는 방식을 설명하기 위한 도면이다.
도 7a를 참조하면 지우기 객체(720)가 표시된다. 지우기 객체(720)는 스마트 펜에 대한 사용자의 조작에 따라서 움직이는 것으로서, 본 발명에 따른 펜 차팅 프로그램 내에서 사용자가 지우기 기능을 활성화시키는 경우에 해당한다. 사용자가 지우기 객체(720)를 활성화시키고 스마트 펜의 조작을 통해서 스마트 단말에 디스플레이되어 있는 선분을 충돌시키는 경우에 해당 선분은 삭제된다. 더 구체적으로, 선분은 복수개의 포인트(710)로 구성되는 것이므로, 지우기 객체(720)가 해당 포인트(710)에 충돌하는 경우가 검출되면 해당 포인트(710)에 대응하는 선분은 삭제된다. 예를 들어, 포인트(710)는 소정의 반지름(r1)을 갖는 것이고 지우기 객체(720)도 소정의 반지름(r2)를 갖는 것이므로 포인트(710)의 중심점 및 지우기 객체(720)의 중심점 사이의 거리(d)가 반지름 r1 및 r2의 합보다 더 적은 경우를 포인트(710) 및 지우기 객체(720)의 충돌이 발생한 경우로 검출할 수 있다.
하지만, 선분을 구성하는 복수개의 포인트는 무수히 많은 것일 수 있으므로, 이들 포인트들 모두에 대해서 충돌을 연산하는 것은 많은 시간이 소모되는 작업이 될 것이다. 이에 본 발명자는 연산 시간을 단축시키기 위해 복수개의 포인트를 필터링하여 그 개수를 감축시키는 방안을 제안하고자 한다.
예를 들면, 선분을 구성하는 복수개의 포인트들에 대해서 일정한 비율로 개수를 감축시킬 수 있을 것이다. 예를 들면 30%의 감축 비율을 적용할 수 있다. 만약 현재의 선분을 구성하는 포인트들의 개수가 총 1000개라고 한다면, 30%의 감축 비율이 적용되고 난 이후의 포인트들의 개수는 700이게 된다. 따라서, 1000개의 포인트들에 대해서 충돌을 연산하는 시간에 대비하여 700개의 포인트들에 대해서 충돌을 연산하는 시간이 감축될 수 있을 것이다.
다른 예를 들기 위해 도 7b를 참조한다. 도 7b를 참조하면, 제 1 구간에서는 선분(730)의 기울기의 변화는 제 2 구간에서의 선분(740)의 기울기의 변화보다 더 적은 것을 알 수 있다. 이 경우에 제 1 구간에 적용되는 감축 비율은 보다 크게 설정할 수 있고, 제 2 구간에 적용되는 감축 비율은 보다 적게 설정할 수 있다. 예를 들여, 제 1 구간에 적용되는 감축 비율은 50%로 설정할 수 있고, 제 2 구간에 적용되는 감축 비율은 10%로 설정할 수 있다. 도 7b에 나타난 선분은 제 1 구간(730)보다 제 2 구간(740)이 더욱 자세한 정보를 포함하는 것으로 볼 수 있다. 즉, 제 1 구간에서는 단순한 직선 형태의 선분(730)이지만 제 2 구간에서는 복잡한 구조의 선분(740)으로서 사용자의 입장에서는 이 부분에 더 정밀하고 많은 정보를 표시한 것으로 볼 수 있다. 따라서, 본 실시예에서 제안하는 바와 같이 제 1 구간보다 제 2 구간에서의 감축 비율을 더 낮춤으로써 선분의 삭제에 있어서도 더 정밀한 작업을 가능케 할 수 있게 될 것이다.
도 8은 본 발명의 일 실시예에 따라서 PC 단말기에서 표시되는 포인트의 좌표를 스마트 단말기에서 표시되는 포인트의 좌표로 스케일링하는 방식을 설명하기 위한 도면이다.
도 8을 참조하면 2개의 이미지 및 가상의 레이어가 표시되며, 그 중에서 좌측에 도시된 이미지(810) 및 가상의 레이어(820)는 PC 단말기 상에서 표시되는 이미지 및 레이어이고, 우측에 도시된 이미지(830) 및 가상의 레이어(840)는 스마트 단말기 상에서 표시되는 이미지 및 레이어이다.
먼저, PC 단말기 상에서 표시되는 이미지(810)의 사이즈가 결정된다. 이러한 이미지의 사이즈는 이미지가 최초로 생성되는 환경에 따라서 결정될 수 있다. 예를 들면, 이미지의 생성 방식이나 촬영 방식에 따라서 이미지의 사이즈가 결정될 수 있다. 예를 들면, 고해상도의 촬영 기기에 의해서 촬영된 이미지의 경우 이미지의 사이즈는 저해상도의 촬영 기기에 의해서 촬영된 이미지보다 사이즈가 클 수 있다. 본 실시예에서는 PC 단말기에서의 이미지(810)의 사이즈는 가로 8000, 세로 4000으로 가정한다.
이후, PC 단말기 상에서 설정되는 가상의 레이어(820)의 사이즈가 결정된다. 이러한 가상의 레이어(820)의 사이즈는 이미지(810)의 사이즈와 동일하게 결정된다. 따라서, 본 실시예에서 PC 단말기 상에서 설정되는 가상의 레이어(820)의 사이즈는 가로 8000, 세로 4000으로 결정된다.
전술한 바와 같이, 선분은 가상의 레이어(820, 840) 상에서 표시되는 것으로서, 선분은 복수개의 포인트들의 집합으로 표현될 수 있다. 이러한 복수개의 포인트들에 대해서 2차원 좌표가 결정된다. 2차원 좌표는 가로 좌표를 의미하는 X 좌표와 세로 좌표를 의미하는 Y 좌표를 포함한다. 본 실시예에서는 대표적으로 1개의 포인트(825)를 예로 들고 있으며, 해당 포인트(825)의 좌표는 X 좌표가 4000이고 Y 좌표가 2000으로서 가정한다.
도 6b를 참조하여 전술한 바와 같이, PC 단말기에서 ISF 포맷으로 저장되는 선분에 대한 정보는 포인트의 X 좌표 및 Y 좌표를 포함하며, DLL을 통한 변환과정을 통해 XML 포맷으로서 변환되며, 변환된 XML 포맷은 스마트 단말기에서 이용된다.
이후 스마트 단말기에서 표시되는 이미지(830)의 사이즈가 결정된다. 이러한 이미지(830)의 사이즈가 결정되는 방식은 다양할 수 있다. 예를 들어, 이미지(830)의 사이즈는 스마트 단말기의 물리적인 성능에 따라서 결정될 수 있다. 물리적인 성능은 예를 들어, 스마트 단말기의 디스플레이의 물리적인 크기, 스마트 단말기의 패널이 갖는 픽셀의 개수 등일 수 있다. 본 실시예에서는 스마트 단말기에서의 이미지(830)의 사이즈는 가로 4000, 세로 2000으로 가정한다.
이후, 스마트 단말기에서 설정되는 가상의 레이어(840)의 사이즈가 결정된다. 이러한 가상의 레이어(840)의 사이즈는 이미지(830)의 사이즈와 동일하게 결정된다. 따라서, 본 실시예에서 스마트 단말기 상에서 설정되는 가상의 레이어(840)의 사이즈는 가로 4000, 세로 2000으로 결정된다.
이후, 스마트 단말의 가상의 레이어(840) 상에서 표시하고자 하는 포인트의 2차원 좌표가 결정된다. 구체적으로, 스마트 단말에서의 포인트의 2차원 좌표는 X 좌표에 대한 스케일링 및 Y 좌표에 대한 스케일링을 포함한다.
X 좌표에 대한 스케일링은, PC 단말기에서의 레이어(820)의 가로 사이즈 및 스마트 단말기에서의 레이어(840)의 가로 사이즈 사이의 비율에 기초한다. 본 실시예에서, 레이어(820) 및 레이어(840) 사이의 가로 비율은 2:1이다. 또한, PC 단말기에서의 포인트(825)의 X 좌표는 4000이다. 따라서, 스케일링에 따라서 스마트 단말기에서 표시되는 포인트(845)의 X 좌표는 2000이 되게 된다.
Y 좌표에 대한 스케일링은, PC 단말기에서의 레이어(820)의 세로 사이즈 및 스마트 단말기에서의 레이어(840)의 세로 사이즈 사이의 비율에 기초한다. 본 실시예에서, 레이어(820) 및 레이어(840) 사이의 가로 비율은 2:1이다. 또한, PC 단말기에서의 포인트(825)의 Y 좌표는 2000이다. 따라서, 스케일링에 따라서 스마트 단말기에서 표시되는 포인트(845)의 Y 좌표는 1000이 되게 된다.
이와 같이 스케일링된 X 좌표 및 Y 좌표에 따라서, PC 단말기에서의 가상의 레이어(840) 상에서 포인트(845)가 표시된다. 즉, PC 단말기 상에서 포인트(845)의 좌표는 가로 2000, 세로 1000이다.
결과적으로, PC 단말기 상에서 표시되는 포인트(825)의 상대적인 위치(즉, 이미지(810) 상에서 어느 위치에 포인트가 있는지)와 스마트 단말기 상에서 표시되는 포인트(845)의 상대적인 위치(즉, 이미지(830) 상에서 어느 위치에 포인트가 있는지)는 서로 동일하게 될 수 있다. PC 단말기 상에서 이미지(810)의 사이즈가 (8000, 4000)이었고 포인트(825)의 위치가 (4000, 2000)이었으므로 그 포인트(825)는 이미지의 정확하게 가운데였음을 알 수 있다. 스마트 단말기 이미지(830)의 사이즈가 (4000, 2000)이었고, 포인트(845)의 위치가 (2000, 1000)이었으므로, 동일하게 이미지의 정확하게 가운데로 표시된 것이다.
한편, 본 실시예는 이해를 돕기 위해 X 스케일링의 비율과 Y 스케일링의 비율이 동일하게 2:1로서 설명하였다. 하지만, X 스케일링의 비율과 Y 스케일링의 비율이 서로 다른 경우도 있을 수 있다는 것은 자명하다는 점이 이해되어야 한다. 전술한 예시에서, 스마트 단말기에서 이미지의 사이즈가 (1000, 1000)이라고 한다면, X 스케일링의 비율은 8:1이고 Y 스케일링의 비율은 4:1이다. 이 경우에, 동일한 포인트(PC 단말기 상에서 좌표가 (4000, 2000)인 포인트)는 스마트 단말기 상에서 좌표가 (500,500)으로 될 것이다. 즉, 이러한 경우는 이미지의 가로 X 세로의 비율이, PC 단말기 상에서는 2:1이었으나 스마트 단말기 상에서는 1:1인 경우로서 이미지의 왜곡이 발생한 경우이다. 이러한 왜곡에도 불구하고, 본 발명에 따라서 포인트의 상대적인 위치는 PC 단말기와 스마트 단말기에서 서로 동일하게 될 수 있다.
한편, X 스케일링의 비율과 Y 스케일링의 비율을 서로 동일하게 하여 1개의 스케일링값을 이용하는 방식은 전술한 방식과 균등한 범위에 있다는 점이 이해되어야 한다. 즉, 이미지의 가로 X 세로의 비율의 왜곡을 방지하기 위해서 이미지의 가로 X 세로의 비율을 동일하게 설정하는 방식이다. 예를 들어, PC 단말기 상에서 이미지의 사이즈가 4000 X 2000인데(즉, 2:1 비율) 스마트 단말기의 디스플레이 패널의 물리적인 비율이 1:1이라면(예를 들어, 1000 X 1000) 스마트 단말기 상에서의 이미지의 사이즈의 비율을 PC 단말기와 동일하게 2:1로 유지하기 위해서, 스마트 단말기 상에서의 이미지의 사이즈를 1000 X 500으로 설정할 수 있다. 이러한 경우에는 X 스케일링 및 Y 스케일링의 비율은 서로 동일하게 4:1이다. 따라서 이러한 설정 하에서는 2개의 스케일링 값 대신에 1개의 스케일링값만을 이용할 수 있을 것이다.
한편, 전술한 실시예들에서는 PC 단말기에서 선분이 추가되면 스마트 단말기에서 선분의 추가가 연동되는 것으로 설명하였고, PC 단말기에서 선분이 삭제되면 스마트 단말기에서 선분의 삭제가 연동되는 것으로 설명하였다. 이 경우에, PC 단말기의 포맷인 ISF 포맷이 DLL을 통해 스마트 단말기의 포맷인 XML 포맷으로 변경되게 된다. 하지만, 전술한 실시예들의 역 플로우도 역시 본 발명의 균등 범위 내에 있다는 점이 이해되어야 한다. 역 플로우는, 스마트 단말기에서 선분이 추가되면 PC 단말기에서 선분의 추가가 연동되는 것과, 스마트 단말기에서 선분이 삭제되면 PC 단말기에서 선분의 삭제가 연동되는 것이다. 이 경우에는, 스마트 단말기의 포맷인 XML 포맷이 DLL을 통해 PC 단말기의 포맷인 ISF 포맷으로 변경될 것이다.
저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 한정이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스, 또는 명령이나 데이터 구조의 형태로 원하는 프로그램코드를 전달 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있다. 여기서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD), 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피디스크 및 블루레이 디스크를 포함하며, 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 데이터를 레이저에 의해 광학적으로 재생한다. 상기의 조합들 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
소프트웨어에서 구현에서, 여기서 설명한 기술들은 여기서 설명한 기능들을 수행하는 모듈들(예를 들어, 프로시저, 함수 등)로 구현될 수 있다. 소프트웨어 코드들은 메모리 유닛들에 저장될 수 있으며 프로세서들에 의해 실행될 수 있다. 메모리 유닛은 프로세서 내에 구현될 수도 있고 프로세서 외부에 구현될 수 있으며, 이 경우 메모리 유닛은 공지된 바와 같이 다양한 수단에 의해 프로세서에 통신 가능하게 연결될 수 있다.
하드웨어 구현에서, 처리 유닛들은 하나 이상의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 디바이스(DSPD), 프로그래밍 가능 로직 디바이스(PLD), 현장 프로그래밍 가능 게이트 어레이(FPGA), 프로세서, 제어기, 마이크로컨트롤러, 마이크로프로세서, 여기서 설명한 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에 구현될 수 있다.
상술한 것은 하나 이상의 실시예의 실례를 포함한다. 물론, 상술한 실시예들을 설명할 목적으로 컴포넌트들 또는 방법들의 가능한 모든 조합을 기술할 수 있는 것이 아니라, 당업자들은 다양한 실시예의 많은 추가 조합 및 치환이 가능함을 인식할 수 있다. 따라서 설명한 실시예들은 첨부된 청구범위의 진의 및 범위 내에 있는 모든 대안, 변형 및 개조를 포함하는 것이다. 더욱이, 상세한 설명 또는 청구범위에서 "포함한다"라는 용어가 사용되는 범위에 대해, 이러한 용어는 "구성되는"이라는 용어가 청구범위에서 과도적인 단어로 사용될 때 해석되는 것과 같이 "구성되는"과 비슷한 식으로 포함되는 것이다.
여기서 사용된 바와 같이, "추론하다" 또는 "추론"이라는 용어는 일반적으로 이벤트 및/또는 데이터에 의해 포착되는 한 세트의 관측으로부터 시스템, 환경 및/또는 사용자의 상태에 관해 판단하거나 추론하는 프로세스를 말한다. 추론은 특정 상황이나 동작을 식별하는데 이용될 수 있고, 또는 예를 들어 상태들에 대한 확률 분포를 생성할 수 있다. 추론은 확률적일 수 있는데, 즉 데이터 및 이벤트들의 고찰에 기초한 해당 상태들에 대한 확률 분포의 계산일 수 있다. 추론은 또한 한 세트의 이벤트들 및/또는 데이터로부터 상위 레벨 이벤트들을 구성하는데 이용되는 기술들을 말할 수도 있다. 이러한 추론은 한 세트의 관측된 이벤트들 및/또는 저장된 이벤트 데이터로부터의 새로운 이벤트들 또는 동작들, 이벤트들이 시간상 밀접하게 상관되는지 여부, 그리고 이벤트들과 데이터가 하나 또는 여러 이벤트 및 데이터 소스들로부터 나오는지를 추정하게 한다.
더욱이, 본 출원에서 사용된 바와 같이, "컴포넌트", "모듈", "시스템" 등의 용어는 이에 한정되는 것은 아니지만, 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어와 같은 컴퓨터 관련 엔티티를 포함하는 것이다. 예를 들어, 컴포넌트는 이에 한정되는 것은 아니지만, 프로세서상에서 실행하는 프로세스, 프로세서, 객체, 실행 가능한 실행 스레드, 프로그램 및/또는 컴퓨터일 수도 있다. 예시로, 연산 디바이스 상에서 구동하는 애플리케이션과 연산 디바이스 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트가 하나의 컴퓨터에 집중될 수도 있고 그리고/또는 2개 이상의 컴퓨터 사이에 분산될 수도 있다. 또한, 이들 컴포넌트는 각종 데이터 구조를 저장한 각종 컴퓨터 판독 가능 매체로부터 실행될 수 있다.
100 : 펜 차팅 시스템 110 : PC 단말기
120 : 스마트 단말기 210 : 원본 이미지
220 : 가상의 레이어
120 : 스마트 단말기 210 : 원본 이미지
220 : 가상의 레이어
Claims (12)
- 이기종의 단말기를 포함하는 시스템에서 수행되는 펜 차팅 방법으로서,
제 1 단말기에서 이미지를 화면상에 출력하는 단계;
상기 이미지에 대응하는 가상의 레이어(layer) 상에 선분을 표시하는 제 1 표시단계;
상기 제 1 단말기 포맷으로 구성된 상기 선분에 대한 정보를 제 2 단말기 포맷으로 변환하는 단계;
상기 변환된 제 2 단말기 포맷의 상기 선분 정보를 상기 제 2 단말기로 전송하는 단계; 및
상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계;를 포함하고,
상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고,
상기 방법은:
상기 복수개의 포인트의 개수를 감축시키는 단계;
상기 감축된 포인트에 대해 지우기 객체가 접촉하는 충돌 포인트를 검출하는 단계; 및
상기 충돌 포인트에 대응하는 상기 선분을 삭제하는 단계;를 더 포함하고,
상기 복수개의 포인트의 개수를 감축시키는 단계는, 선분의 기울기 변화가 적은 제 1 구간 및 상기 제 1 구간보다 선분의 기울기 변화가 더 큰 제 2 구간에 대하여, 제 1 구간에 적용되는 감축 비율이 제 2 구간에 적용되는 감축 비율보다 더 큰 것을 특징으로 하는,
펜 차팅 방법. - 제 1 항에 있어서,
상기 변환하는 단계는,
상기 제 1 단말기 포맷으로서 ISF(Ink Serialize Format)을 상기 제 2 단말기 포맷으로서 XML(extensible markup language) 포맷으로 변환하는 단계를 포함하고,
상기 변환하는 단계는, DLL(dynamic linking library)를 이용해 변환하는 것을 특징으로 하는,
펜 차팅 방법. - 제 1 항에 있어서,
상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고,
상기 복수개의 포인트는 각각 2차원 좌표에 매핑되는 것을 특징으로 하는,
펜 차팅 방법. - 제 3 항에 있어서,
상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는, 상기 복수개의 포인트를 이용해 인터폴레이션(interpolation)을 적용하는 단계를 포함하는,
펜 차팅 방법. - 제 4 항에 있어서,
상기 인터폴레이션을 적용하는 단계는 리니어(linear) 인터폴레이션 및 큐빅(cubic) 인터폴레이션 중 적어도 하나를 적용하는 단계를 포함하는,
펜 차팅 방법. - 제 1 항에 있어서,
상기 선분에 대한 정보는 복수개의 포인트에 대한 정보 및 상기 포인트에 대한 필압 정보를 포함하고,
상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는, 상기 제 2 단말기 포맷에 포함된 포인트의 높이값 및 폭값 중 어느 하나와 상기 제 2 단말기 포맷에 포함된 압력값의 곱을 수행하는 단계를 포함하는,
펜 차팅 방법. - 삭제
- 제 1 항에 있어서,
상기 복수개의 포인트의 개수를 감축시키는 단계는, 상기 복수개의 포인트의 개수를 일정 비율만큼 감축시키는 단계를 포함하는,
펜 차팅 방법. - 삭제
- 제 1 항에 있어서,
상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고,
상기 제 2 단말기에서 상기 이미지 및 상기 선분을 표시하는 제 2 표시단계는:
상기 제 1 단말기에서의 이미지의 사이즈와 동일한 사이즈의 상기 가상의 레이어를 제 1 단말기의 레이어로서 생성하는 단계;
상기 제 1 단말기의 레이어 상에서 표시되는 복수개의 포인트마다 X 좌표 및 Y 좌표를 포함하는 상기 2차원 좌표를 결정하는 단계;
상기 제 2 단말기에서의 이미지의 사이즈와 동일한 사이즈의 가상의 레이어를 상기 제 2 단말기의 레이어로서 생성하는 단계;
상기 제 1 단말기에서의 레이어의 가로 사이즈 및 상기 제 2 단말기에서의 레이어의 가로 사이즈의 비율과 동일한 비율로 상기 복수개의 포인트의 X 좌표를 스케일링하는 단계;
상기 제 1 단말기에서의 레이어의 세로 사이즈 및 상기 제 2 단말기에서의 레이어의 세로 사이즈의 비율과 동일한 비율로 상기 복수개의 포인트의 Y 좌표를 스케일링하는 단계; 및
상기 스케일링된 X 좌표 및 Y 좌표에 따라서 상기 제 2 단말기의 레이어 상에 상기 복수개의 포인트를 표시하는 단계;를 포함하는
펜 차팅 방법. - 컴퓨터 상에서 실행될 때 제 1 항 내지 제 6 항, 제 8 항 및 제 10 항 중 어느 하나의 항에 따른 펜 차팅 방법을 수행하기 위한 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 저장매체.
- 이기종의 단말기를 포함하는 펜 차팅을 수행하는 시스템으로서,
화면 상에서 이미지를 출력하고, 상기 이미지에 대응하는 가상의 레이어 상에 선분을 표시하고, 제 1 단말기 포맷으로 구성된 상기 선분에 대한 정보를 저장하는 상기 제 1 단말기;
상기 제 1 단말기 포맷으로부터 제 2 단말기 포맷으로 변환된 상기 선분 정보를 수신하고, 상기 이미지 및 상기 선분을 표시하는 상기 제 2 단말기;를 포함하고,
상기 선분에 대한 정보는 복수개의 포인트에 대한 정보를 포함하고,
상기 선분에 대한 정보는 상기 복수개의 포인트의 개수가 감축되고, 감축된 포인트에 대해 지우기 객체가 접촉하는 충돌 포인트가 검출되고, 상기 충돌 포인트에 대응하는 상기 선분을 삭제하는 정보를 더 포함하고,
상기 복수개의 포인트의 개수를 감축시키는 것은, 선분의 기울기 변화가 적은 제 1 구간 및 상기 제 1 구간보다 선분의 기울기 변화가 더 큰 제 2 구간에 대하여, 제 1 구간에 적용되는 감축 비율이 제 2 구간에 적용되는 감축 비율보다 더 큰 것을 특징으로 하는,
이기종의 단말기를 포함하는 펜 차팅을 수행하는 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160045762A KR101737065B1 (ko) | 2016-04-14 | 2016-04-14 | 펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160045762A KR101737065B1 (ko) | 2016-04-14 | 2016-04-14 | 펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101737065B1 true KR101737065B1 (ko) | 2017-05-29 |
Family
ID=59053278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160045762A KR101737065B1 (ko) | 2016-04-14 | 2016-04-14 | 펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101737065B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150371417A1 (en) * | 2013-11-19 | 2015-12-24 | Wacom Co., Ltd. | Method and system for ink data generator, ink data rendering, ink data manipulation and ink data communication |
-
2016
- 2016-04-14 KR KR1020160045762A patent/KR101737065B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150371417A1 (en) * | 2013-11-19 | 2015-12-24 | Wacom Co., Ltd. | Method and system for ink data generator, ink data rendering, ink data manipulation and ink data communication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7343552B2 (en) | Systems and methods for freeform annotations | |
US20120096344A1 (en) | Rendering or resizing of text and images for display on mobile / small screen devices | |
TWI724669B (zh) | 病灶檢測方法及其裝置及其設備及儲存媒體 | |
RU2645276C2 (ru) | Создание вариаций при преобразовании данных в потребляемый контент | |
WO2017177931A1 (zh) | 一种文本信息的显示方法、装置和移动设备 | |
US20120096343A1 (en) | Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information | |
JP2006085674A (ja) | 形状を使用する共通チャーティング | |
KR20170061683A (ko) | 레이아웃 의도 추론 기법 | |
TW201606622A (zh) | 透過觸覺互動的內容屬性可及性偵測 | |
WO2023035531A1 (zh) | 文本图像超分辨率重建方法及其相关设备 | |
US20140082570A1 (en) | Weighted n-finger scaling and scrolling | |
CN114648615B (zh) | 目标对象交互式重现的控制方法、装置、设备及存储介质 | |
CN111381790A (zh) | 操控方法、装置、***、电子白板及移动端 | |
US10572572B2 (en) | Dynamic layout generation for an electronic document | |
WO2020046450A1 (en) | Enhanced techniques for merging content from separate computing devices | |
US10818050B2 (en) | Vector graphic font character generation techniques | |
CN115988170A (zh) | 云会议中实时视频合屏中英文字符清晰显示的方法与装置 | |
US10635459B2 (en) | User interface virtualization for large-volume structural data | |
KR101737065B1 (ko) | 펜차팅 시스템, 방법 및 컴퓨터 판독 가능한 저장 매체 | |
US20160011770A1 (en) | Document autograph system and method | |
CN116432606A (zh) | 方程的讲解步骤的获取方法、装置、设备及存储介质 | |
CN111428452A (zh) | 一种批注数据保存方法及装置 | |
CN112256175B (zh) | 文字显示方法、装置、电子设备及计算机可读存储介质 | |
CN106598315B (zh) | 触控显示设备及其背景图置换方法 | |
CN111275614A (zh) | 一种实现图像无损缩放的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |