KR20140019206A - 사용자 단말에서 사용자 인터페이스 장치 및 방법 - Google Patents

사용자 단말에서 사용자 인터페이스 장치 및 방법 Download PDF

Info

Publication number
KR20140019206A
KR20140019206A KR20120139919A KR20120139919A KR20140019206A KR 20140019206 A KR20140019206 A KR 20140019206A KR 20120139919 A KR20120139919 A KR 20120139919A KR 20120139919 A KR20120139919 A KR 20120139919A KR 20140019206 A KR20140019206 A KR 20140019206A
Authority
KR
South Korea
Prior art keywords
input
pen
user
memo
function
Prior art date
Application number
KR20120139919A
Other languages
English (en)
Inventor
김화경
차상옥
김성수
배주윤
전진하
임경수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US13/939,590 priority Critical patent/US20140015780A1/en
Priority to EP13817467.7A priority patent/EP2872972A4/en
Priority to PCT/KR2013/006224 priority patent/WO2014010975A1/en
Publication of KR20140019206A publication Critical patent/KR20140019206A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing 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/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1643Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9554Retrieval from the web using information identifiers, e.g. uniform resource locators [URL] by using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/046Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by electromagnetic means

Abstract

본 발명은 필기 기반의 메모 기능을 지원하는 사용자 단말에서 사용자 인터페이스 장치 및 이를 지원하는 방법에 관한 것이다. 이러한 본 발명은 어플리케이션을 실행하는 과정; 상기 어플리케이션이 실행중인 상태에서 메모 레이어를 제공하는 과정; 상기 메모 레이어의 제1 영역에서 제1 입력 이벤트를 수신하고, 제2 영역에서 제2 입력 이벤트를 수신하는 과정; 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트를 이용하여 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 하나는 핸드 라이팅 입력으로 인식하고, 다른 하나는 드로잉 입력으로 인식하는 입력 인식 과정; 및 상기 입력 인식 결과에 따라 상기 어플리케이션이 기능들 중 미리 정해진 기능을 수행하는 기능 수행과정을 포함한다.

Description

사용자 단말에서 사용자 인터페이스 장치 및 방법{USER INTERFACE APPRATUS IN A USER TERMINAL AND METHOD THEREFOR}
본 발명은 사용자 단말에 구비된 사용자 인터페이스 장치 및 이를 지원하는 방법에 관한 것으로, 특히 사용자 단말에서 필기 기반의 사용자 인터페이스 장치 및 방법에 관한 것이다.
최근 휴대용 전자 기기가 늘어나면서 직관적인 입/출력이 가능한 사용자 인터페이스 (UI: User Interface)의 요구가 증대하고 있다. 예컨대 키보드, 키 패드, 마우스 등의 별도 구성을 이용하여 정보를 입력하는 전통적인 UI 방식에서 손가락이나 터치용 전자 펜 등을 이용하여 화면을 직접 터치하거나 음성을 이용하여 정보를 입력하는 직관적 UI 방식으로 점차 진화하고 있다.
뿐만 아니라 UI 기술은 사용자의 편의를 고려할 뿐만 아니라 직관적이면서 인간 중심의 개발이 이루어지고 있다. 그 대표적인 UI 기술로 사용자가 음성으로 휴대용 전자 기기와 대화하고, 이를 통해 원하는 정보를 입력하거나 원하는 정보를 얻는 것이 가능하게 되었다.
그리고 대표적인 사용자의 휴대용 전자 기기인 스마트 폰에는 다양한 어플리케이션을 설치하고, 상기 설치한 어플리케이션을 통해 새로운 기능을 이용할 수 있는 것이 일반적이다.
하지만 스마트 폰에 설치된 어플리케이션은 단독으로 구동하는 것이 일반적임에 따라, 복수의 어플리케이션이 연동하여 새로운 기능 또는 결과를 사용자에게 제공하는 것이 일반적이지는 않았다.
예컨대 스케줄 관리를 지원하는 어플리케이션에서 직관적 UI를 지원하는 사용자 단말이라 하더라도, 해당 어플리케이션에서 지원하는 UI만을 이용하여 정보를 입력할 수 있었다.
또한 터치 패널을 이용하여 메모 기능을 지원하는 사용자 단말에서 사용자가 손가락, 전자 펜 등의 입력 수단을 이용하여 정보를 메모하는 용도로만 주로 활용할 뿐 메모 내용을 다른 어플리케이션에 연계하여 활용하는 방안을 마련하고 있지 않았다.
본 발명은 사용자 단말에서 필기 기반의 사용자 인터페이스를 이용하여 사용자와의 정보를 교환하는 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 필기 기반의 메모 기능을 이용하여 소정의 명령을 실행시키는 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 필기 기반의 메모 기능을 이용하여 문답이 가능한 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 화면 상에 표시된 메모 내용에서 선택된 전체 또는 일부 메모를 처리하기 위한 명령을 메모 기능을 이용하여 입력 받는 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 전자 펜을 이용한 메모 기능을 지원하는 사용자 단말에서 메모 모드와 명령 처리 모드의 전환을 지원하는 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 소정의 어플리케이션이 구동되고 있는 상황에서 메모 기능에 의해 상기 구동되고 있는 어플리케이션 또는 다른 어플리케이션을 제어하기 위한 명령을 입력하는 것이 가능한 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 사용자의 메모 패턴을 분석하고, 상기 분석한 메모 패턴을 고려하여 메모 기능에 의해 입력되는 정보를 판단하는 사용자 인터페이스 장치 및 방법을 제공한다.
또한 본 발명은 사용자 단말에서 지도 어플리케이션이 구동되고 있는 상태에서 지도 화면 상에 입력되는 필기 기반의 정보를 판단하여 처리하는 사용자 인터페이스 장치 및 방법을 제공한다.
본 발명의 실시 예에 따른 필기 기반의 메모 기능을 지원하는 사용자 단말에서의 사용자 인터페이스 방법은, 어플리케이션을 실행하는 과정; 상기 어플리케이션이 실행중인 상태에서 메모 레이어를 제공하는 과정; 상기 메모 레이어의 제1 영역에서 제1 입력 이벤트를 수신하고, 제2 영역에서 제2 입력 이벤트를 수신하는 과정; 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트를 이용하여 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 하나는 핸드 라이팅 입력으로 인식하고, 다른 하나는 드로잉 입력으로 인식하는 입력 인식 과정; 및 상기 입력 인식 결과에 따라 상기 어플리케이션이 기능들 중 미리 정해진 기능을 수행하는 기능 수행과정을 포함한다.또한 본 발명의 실시 예에 따른 필기 기반의 메모 기능을 지원하는 사용자 단말에서의 사용자 인터페이스 장치는, 어플리케이션이 실행중인 상태에서 메모 레이어를 표시하고, 상기 메모 레이어의 제1 영역에서 사용자에 의한 입력에 따라 제1 입력 이벤트를 출력하고, 제2 영역에서 사용자에 의한 입력에 따라 제2 입력 이벤트를 출력하는 터치 패널부; 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 하나는 핸드 라이팅 입력으로, 다른 하나는 드로잉 입력으로 인식하고, 상기 어플리케이션의 기능들 중 미리 정해진 기능을 수행하도록 하는 명령을 처리하는 명령 처리부; 및 상기 어플리케이션의 기능들 중 미리 정해진 기능을 수행하는 어플리케이션 수행부를 포함한다.
본 발명에서는 사용자 단말에서 전자 펜 등을 이용한 메모 기능의 사용을 활성화할 수 있을 것이다. 또한 사용자에게 직관적인 인터페이스를 제공함으로써, 사용자가 거부감 없이 사용자 단말에서 지원되는 기능을 이용할 수 있게 한다.
또한 본 발명에서는 사용자 단말에서 지도 어플리케이션이 구동되고 있는 상태에서 지도 화면 상에 입력되는 필기 기반의 정보를 판단하여 관련 기능을 수행함으로써, 사용자가 직관적인 인터페이스를 통해 지도 어플리케이션을 사용할 수 있도록 하는 효과가 있다.
그 외에 본 발명의 실시 예로 인해 얻을 수 있거나 예측되는 효과에 대해서는 본 발명의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 즉 본 발명의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 사용자 단말의 개략적인 구성을 보이고 있는 도면;
도 2는 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 사용자 단말의 구체적인 구성을 보이고 있는 도면;
도 3은 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 펜의 구성을 보이고 있는 도면;
도 4는 본 발명의 실시 예에 따른 터치 패널과 펜 인식 패널에 의한 펜 터치 입력 및 터치 입력 인식 과정을 보이고 있는 도면;
도 5는 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 사용자 단말의 제어부의 구성을 상세히 나타낸 도면;
도 6은 본 발명의 실시 예에 따른 사용자 단말에서 필기 기반 NLI 기술을 지원하기 위한 명령 처리부(120)의 구성 예를 보이고 있는 도면;
도 7은 본 발명의 실시 예에 따른 사용자 단말에서 필기 기반 NLI 기술을 이용한 사용자 인터페이스를 지원하기 위한 제어 흐름을 보이고 있는 도면;
도 8은 메모 기능을 사용하여 특정 어플리케이션 또는 특정 기능에 따른 동작을 요청하는 예들을 보이고 있는 도면;
도 9는 본 발명의 실시 예를 위한 실제 사용자의 메모 패턴의 일 예를 보이고 있는 도면;
도 10은 하나의 기호가 다양한 의미로 해석될 수 있는 일 예를 보이고 있는 도면;
도 11은 문자와 기호가 결합된 입력 정보를 상기 기호에 따라 다른 의미로 해석할 수 있는 예를 보이고 있는 도면;
도 12는 기호학에서 기호들이 활용되고 있는 예를 보이고 있는 도면;
도 13은 기계/전기/컴퓨터 분야 및 화학 분야에서 기호들이 활용되고 있는 예를 보이고 있는 도면;
도 14 내지 도 21은 본 발명의 실시 예에 따른 사용자 인터페이스 기술에 의한 동작 시나리오들을 보이고 있는 도면;
도 22 내지 도 25는 소정의 어플리케이션이 구동된 후에 메모 기능에 지원하는 어플리케이션을 호출하여 상기 구동된 어플리케이션을 동작 시키는 시나리오의 예들을 보이고 있는 도면;
도 26은 본 발명의 실시 예에 따라 지도 어플리케이션 상에서 메모 기능을 이용하여 원하는 정보를 획득하는 시나리오를 보이고 있는 도면;
도 27은 본 발명의 실시 예에 따라 지도 어플리케이션 상에 메모 기능이 활성화된 경우를 보이고 있는 도면;
도 28 내지 도 32는 본 발명의 실시 예에 따른 지도 어플리케이션 상에서 메모 기반의 사용자 인터페이스를 제공하기 위한 방법들을 보이고 있는 도면;
도 33은 스케줄 관리를 지원하는 어플리케이션이 구동된 상태에서 메모 기능을 이용하여 원하는 정보를 입력하는 시나리오를 보이고 있는 도면;
도 34 및 도 35는 기호학과 관련한 시나리오의 예들을 보이고 있는 도면;
도 36은 본 발명의 실시 예에 따른 사용자 단말에서 메모 기반의 사용자 인터페이스를 제공하기 위한 제어 흐름을 보이고 있는 도면;
도 37은 본 발명의 실시 예에 따른 사용자 단말에서 메모 내용의 용도를 식별하는 예를 보이고 있는 도면;
도 38은 본 발명의 실시 예에 따른 사용자 단말에서 처리할 내용을 선택하기 위한 일 예를 보이고 있는 도면;
도 39는 본 발명의 실시 예에 따른 사용자 단말에서 수행할 명령을 선택하기 위한 일 예를 보이고 있는 도면;
도 40은 본 발명의 실시 예에 따라 메모 기능을 기반으로 사용자 단말에서 사용자의 의도에 따른 동작을 수행하는 일 예를 보이고 있는 도면;
도 41 내지 도 47은 본 발명의 실시 예에 따라 사용자 단말에서 사용자의 요청에 의한 다양한 명령 처리 절차를 보이고 있는 도면.
이하 본 발명에 따른 상세한 설명에서는 상술한 기술적 과제를 이루기 위한 대표적인 실시 예를 제시할 것이다. 또한, 본 발명에 대한 설명의 편의를 위하여 정의하고 있는 개체들의 명칭들을 동일하게 사용할 수 있다. 하지만 설명의 편의를 위해 사용된 명칭들이 본 발명에 따른 권리를 한정하는 것은 아니며, 유사한 기술적 배경을 가지는 시스템에 대해 동일 또는 용이한 변경에 의해 적용이 가능함은 물론이다.
후술될 본 발명의 실시 예에서는 사용자 단말에 자연어 인터페이스 (NLI: Natural Language Interaction)로 필기 기반의 UI 기술 (이하 '필기 기반 NLI 기술'이라 칭함)을 적용하여, 상기 필기 기반 NLI 기술이 적용된 사용자 단말에서 메모 기능을 이용하여 사용자와의 문답 절차를 수행하는 것이 가능하도록 한다.
여기서 상기 NLI 기술은 이해와 생성 능력을 보통 포함하는데, 이런 기능은 입력한 것을 가 이해하고, 사람이 이해하기 쉽게 텍스트를 표시할 수 있게 해준다. 이와 같이 인간과 전자 기기 간에 자연어로 대화를 하게 해주는 의 한 응용이라 할 수 있다.
예컨대 사용자 단말에서 필기 기반 NLI 기술을 이용하여 사용자에 의해 입력되는 명령을 수행하거나 상기 입력된 명령을 수행하기 위해 필요한 정보를 문답 절차를 통해 사용자로부터 획득한다.
이와 같이 본 발명에서 필기 기반 NLI 기술을 사용자 단말에 적용하기 위해 바람직하기로는, 메모 모드와 명령 처리 모드 상호 간의 전환이 필기 기반 NLI 기술을 통해 유기적으로 수행될 수 있어야 할 것이다. 상기 메모 모드는 사용자 단말에서 구동중인 어플리케이션에 의해 지원되는 화면 상에서 손가락, 전자 펜 등의 입력 수단을 이용한 메모를 지원하는 상태를 포함한다. 또한 상기 명령 처리 모드는 메모 모드를 통해 입력된 메모 내용을 현재 구동되고 있는 어플리케이션에 따른 정보와 연동하여 처리하는 동작을 지원한다.
한편 상기 메모 모드와 명령 처리 모드 상호 간의 전환 방법의 일 예로 전자 펜에 구비된 버튼의 눌림, 즉 하드웨어적인 신호의 발생에 의한 모드 전환이 가능할 수 있다.
이하 설명에서는 전자 펜을 메모 기능을 지원하기 위한 대표적인 입력 수단으로써 설명할 것이다. 하지만 하기에서의 설명에 따른 본 발명이 입력 수단으로 전자 펜을 사용하는 사용자 단말에만 적용 가능한 것은 아니다. 다시 말해, 본 발명에서 제안하고 있는 모든 실시 예들은 터치 패널 상에서 정보의 입력이 가능한 어떠한 수단이라도 입력 수단으로 사용될 수 있음은 자명하다.
그리고 본 발명에서 필기 기반 NLI 기술을 이용하여 사용자 단말이 사용자와의 문답에 의해 원하는 정보를 입력 받고, 이를 처리한 결과를 사용자에게 제공하기 위해서는 사전에 상호 약속에 의한 정보를 공유하는 것이 바람직하다. 예컨대 동작 모드의 전환을 요청하기 위해 기호, 패턴, 문자, 이들의 조합 중 적어도 하나를 사용할 것을 약속하거나 동작(또는 제스쳐) 등의 입력 인식 기능을 통해 하나의 동작을 사용할 것을 약속할 수 있다. 이때 요청될 대표적인 동작 모드의 전환은 메모 모드에서 명령 처리 모드 또는 명령 처리 모드에서 메모 모드로의 전환이 될 수 있다.
한편 상기 기호, 패턴, 문자, 이들의 조합 등에 상응한 입력 정보를 약속할 시에 사용자의 메모 패턴 등을 분석하고, 상기 분석한 결과를 고려하여 결정하는 것이 바람직할 수 있다. 이는 사용자가 원하는 정보를 직관적으로 입력할 수 있는 편리함을 제공할 것이다.
후술될 본 발명에 따른 상세한 설명에서는 다양한 어플리케이션이 구동된 상황에서 필기 기반 NLI 기술을 적용하여 메모 기능을 통해 상기 구동중인 어플리케이션을 제어하고, 그 결과를 출력하는 시나리오들을 서로 다른 실시 예로써 상세히 설명할 것이다.
예컨대 메모된 내용 중 전체 또는 일부를 선택하여 소정의 명령에 의해 처리하는 시나리오, 구동 중인 특정 어플리케이션의 화면에서 메모 기능을 이용하여 특정 정보를 입력하는 시나리오, 그 외에 필기 기반 NLI 기술을 사용한 문답 절차에 의해 특정 명령을 처리하는 시나리오 등에 대해 구체적으로 살펴볼 것이다.
이하에서 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명을 생략한다.
도 1은 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 사용자 단말의 개략적인 구성을 보이고 있다. 이때 도 1에서는 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위해 사용자 단말에 구비되어야 하는 구성만을 도시하고 있다. 그러나 그 외의 다른 기능을 위한 구성이 추가로 구비될 수 있다. 뿐만 아니라 도 1에서 보이고 있는 각 구성은 하드웨어에 의한 구현 외에도 소프트웨어에 의한 기능 블록에 의한 구현도 가능함을 물론이다.
도 1을 참조하면, 어플리케이션 수행부(110)는 사용자의 요청에 의해 네트워크 또는 외부 인터페이스를 통해 제공되는 어플리케이션을 메모리 (별도로 도시하지 않음)와 연동하여 설치한다. 상기 어플리케이션 수행부(110)는 사용자의 요청에 의해 사전에 설치된 어플리케이션 중 하나를 구동시키고, 상기 구동 중인 어플리케이션을 외부의 명령을 기반으로 제어한다. 이때 상기 외부의 명령은 해당 어플리케이션이 구동함에 따라 자체적으로 발생하는 명령을 제외한 외부로부터 입력되는 대부분의 명령을 포함한다.
예컨대 상기 외부 명령은 네트워크를 통해 입력되는 정보에 의한 명령 외에 필기 기반 NLI 기술을 이용하여 사용자에 의해 입력되는 정보에 의한 명령을 포함한다. 하기에서는 설명의 편의를 위해 필기 기반의 NLI 기술을 이용하여 사용자에 의해 입력되는 정보에 의한 명령에 한정하여 설명할 것이다. 하지만 본 발명이 반드시 이에 한정되는 것이 아님에 유념하여야 한다.
상기 어플리케이션 수행부(110)는 특정 어플리케이션을 설치하거나 구동에 의한 결과를 필기 기반 NLI 기술을 기반으로 사용자에게 제공한다. 예컨대 상기 어플리케이션 수행부(110)는 터치 패널부(130)의 디스플레이 수단을 통해 특정 어플리케이션의 설치 또는 구동에 따른 결과를 출력한다.
상기 터치 패널부(130)는 필기 기반 NLI 기술의 적용에 따른 정보의 입/출력을 처리하는 구성으로써, 디스플레이 기능 및 입력 기능을 수행한다. 여기서 상기 디스플레이 기능은 어떠한 정보를 화면에 표시하기 위한 기능을 포괄적으로 의미하며, 상기 입력 기능은 사용자로부터 정보를 받아 들이기 위한 기능을 포괄적으로 의미한다.
그러나 사용자 단말이 디스플레이 기능과 입력 기능을 위해 별도의 구성을 구비할 수 있음은 자명할 것이다. 일 예로 입력 기능을 위해 동작 인식 입력을 위한 동작 감지 모듈 또는 광문자 입력을 위한 광 감지 모듈을 추가로 구비하는 것이 가능하다. 동작 감지 모듈은 카메라 및 근접 센서를 포함하고, 카메라 및 근접 센서를 이용하여 사용자 단말과 일정 거리 내에 있는 물체의 동작을 감지할 수 있다. 또한 광 감지 모듈은 광을 감지하여 광감지 신호를 출력할 수 있다.
하기에서는 설명의 편의를 위해 상기 터치 패널부(130)의 동작을 디스플레이 기능과 입력 기능을 구분하지 않고, 상기 터치 패널부(130)에 의해 처리되는 것을 전제로 하여 설명할 것이다.
상기 터치 패널부(130)는 사용자에 의해 입력되는 소정의 정보 또는 명령을 인지하고, 상기 인지한 정보 또는 명령을 어플리케이션 수행부(110) 및/또는 명령 처리부(120)로 전달한다.
이때 상기 정보는 사용자에 의해 작성된 메모에 관한 정보 또는 필기 기반 NLI 기술로 인한 문답 절차 시의 답변에 관한 정보가 될 수 있다. 그 외에 상기 정보는 현재 화면 상에 표시된 메모 내용 중 일부 또는 전부를 선택하기 위한 정보가 될 수도 있다.
상기 명령은 특정 어플리케이션의 설치를 요청하는 명령 또는 이미 설치된 어플리케이션들 중 특정 어플리케이션의 구동을 요청하는 명령이 될 수 있다. 그 외에 지정된 어플리케이션에 의해 지원되는 특정 동작, 기능 등의 실행을 요청하는 명령이 될 수도 있다.
한편 상기 정보 또는 명령은 문자 외에도 선, 기호, 패턴 및 이들의 조합 등의 형태로 입력될 수 있으며, 이러한 선, 기호, 패턴 등은 사전에 약속 또는 훈련을 통해 설정할 수 있을 것이다.
상기 터치 패널부(130)는 상기 어플리케이션 수행부(110)에 의한 특정 어플리케이션의 구동, 구동 중인 어플리케이션에서의 특정 기능 수행에 따른 결과를 화면에 표시한다.
또한 상기 터치 패널부(130)는 문답 절차에 따른 질문 또는 결과를 화면을 표시한다. 예컨대 사용자에 의해 특정 명령이 입력될 시, 상기 터치 패널부(130)는 상기 명령 처리부(120)로부터 제공되는 상기 입력된 특정 명령의 처리 결과 또는 상기 특정 명령을 처리하기 위해 추가로 필요한 정보를 확인하기 위한 질문을 표시한다. 그리고 상기 표시한 질문에 대한 응답으로 사용자에 의해 추가 정보가 입력될 시, 상기 터치 패널부(130)는 상기 입력된 추가 정보를 상기 명령 처리부(120)로 전달한다.
그 후 상기 터치 패널부(130)는 상기 명령 처리부(120)의 요청에 의해 또 다른 정보를 얻기 위한 추가 질문을 표시하거나 상기 추가로 입력된 정보를 반영한 상기 특정 명령의 처리 결과를 표시한다.
상기 명령 처리부(120)는 사용자에 의해 입력된 문자, 기호, 도형, 패턴 등을 상기 터치 패널부(130)로부터 전달받으며, 상기 전달받은 문자, 기호, 도형, 패턴 등에 의해 사용자가 전달하고자 하는 내용을 확인한다.
일 예로 상기 명령 처리부(120)는 전달된 문자, 기호, 도형, 패턴 등에 대한 자연어 처리를 통해 사용자가 전달하고자 하는 내용을 확인할 수 있다. 상기 자연어 처리를 위해 필기 기반의 NLI 기술이 적용된다. 상기 사용자가 전달하고자 하는 내용은 특정 어플리케이션을 구동 또는 현재 구동 중인 어플리케이션에서의 특정 기능 수행에 대한 명령어 또는 질의에 대한 답변 등을 포함한다.
상기 명령 처리부(120)는 상기 사용자에 의해 전달하고자 하는 내용이 어떠한 동작을 지시하는 명령어라고 판단될 시, 상기 판단된 명령어를 처리한다. 즉 상기 명령 처리부(120)는 판단된 명령어에 의해 상기 어플리케이션 수행부(110)로 특정 어플리케이션을 구동시킬 것을 지시하거나 현재 구동 중인 어플리케이션에서 특정 기능을 수행할 것을 지시할 수 있다. 이 경우 상기 명령 처리부(120)는 상기 지시에 따른 처리 결과를 상기 어플리케이션 수행부(110)로부터 제공받으며, 이를 상기 터치 패널부(130)로 제공한다.
물론 상기 어플리케이션 수행부(110)는 상기 처리 결과를 상기 명령 처리부(120)가 아닌 상기 터치 패널부(130)로 직접 제공할 수도 있다.
한편 상기 판단된 명령어를 처리하기에 위해 추가 정보가 필요한 경우, 상기 명령 처리부(120)는 추가 정보를 얻기 위한 질문을 생성하고, 상기 생성한 질문을 상기 터치 패널부(130)로 제공한다. 그 후 상기 명령 처리부(120)는 상기 제공한 질문에 대한 답을 상기 터치 패널부(130)로부터 제공받을 것이다.
상기 명령 처리부(120)는 상기 판단된 명령어를 처리하기 위해 충분한 정보를 획득할 때까지 상기 터치 패널부(130)를 통한 사용자와의 문답, 즉 대화를 지속할 것이다. 즉 명령 처리부(120)는 상기 터치 패널부(130)를 통한 문답 절차를 반복적으로 수행할 수 있다.
상술한 바와 같은 동작을 위해 상기 명령 처리부(120)는 상기 터치 패널부(130)와의 연동에 의해 필기 기반 NLI 기술을 채용한다. 즉 필기를 기반으로 하는 자연어 인터페이스를 이용하여 메모 기능에 의해 사용자와 전자 기기간의 문답, 즉 대화가 가능하도록 한다. 그리고 상기 대화를 통해 사용자 단말은 사용자의 명령을 처리하거나 그 처리 결과를 사용자에게 제공한다.
상기한 본 발명의 사용자 단말의 구성의 구체적인 실시 예에 따른 구성을 좀더 설명하면, 사용자 단말(100)은 상기 명령어 처리부(120), 어플리케이션 수행부(110), 터치 패널부(130)외에 다른 구성요소들을 포함하여 구현될 수 있으며, 상기 명령어 처리부(120), 어플리케이션 수행부(110), 터치 패널부(130) 다양한 실시예로 구현될 수 있다.
예컨대 명령어 처리부(120) 및 어플리케이션 수행부(110)는 사용자 단말(100)의 전반적인 제어기능을 수행하는 제어부(160)에 포함되거나, 제어부(160) 자체가 상기 명령어 처리부(120) 및 어플리케이션 수행부(110)의 동작을 처리하도록 구현될 수 있다.
또한 터치 패널부(130)는 필기 기반 NLI 기술의 적용에 따른 정보의 입/출력을 처리하는 구성으로써, 사용자 단말에서 출력되는 출력 정보에 대한 디스플레이 기능을 수행하는 디스플레이용 패널과 사용자에 의한 각종 입력 기능을 수행하는 입력용 패널을 구비할 수 있다. 이때 입력용 패널은 손가락, 펜 등의 각종 물체를 이용한 사용자의 싱글 또는 멀티 터치 입력, 드래그 입력, 핸드라이팅(글쓰기) 입력, 드로잉(그리기) 입력 등의 각종 입력을 감지할 수 있는 적어도 하나 이상의 패널로 구현될 수 있다.
이때 입력용 패널은 손가락 입력 감지 및 펜 입력 감지가 모두 가능한 하나의 패널을 이용하여 구현될 수도 있고, 손가락 입력 감지가 가능한 터치 패널과 펜 입력 감지가 가능한 펜 인식 패널과 같이 두 개의 패널을 이용하여 구현될 수도 있다.
이하 본 발명의 실시 예에서는 명령어 처리부(120) 및 어플리케이션 수행부(110)가 사용자 단말(100)의 전반적인 제어 기능을 수행하는 제어부(160)에 포함되고, 터치 패널부(130)가 손가락 입력 감지가 가능한 터치 패널과 펜 입력 감지가 가능한 펜 인식 패널과 같이 두 개의 패널을 이용하여 구현되는 경우를 예를 들어 설명한다.
도 2는 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 사용자 단말의 구체적인 구성을 보이고 있는 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 사용자 단말(100)은 제어부(110), 입력부(120), 터치 패널부(130), 오디오 처리부(140), 저장부(150)및 통신부(170)의 구성을 포함할 수 있다.
먼저 터치 패널부(130)는 표시 패널(132), 터치 패널(134), 펜 인식 패널(136)을 포함하여 구성될 수 있다. 이러한 터치 패널부(130)는 어플리케이션이 실행중인 상태에서 표시 패널(132)을 통해 메모 레이어를 표시하고, 터치 패널(134) 및 펜 인식 패널(136) 중 적어도 어느 하나를 통해 메모 레이어의 제1 영역에서 사용자에 의한 입력을 감지하여 제1 입력 이벤트를 출력하고, 제2 영역에서 사용자에 의한 입력을 감지하여 제2 입력 이벤트를 출력한다. 즉, 제1 입력 이벤트 및 제2 입력 이벤트는 각각 터치 입력 모드에서 입력된 터치 입력 이벤트 및 펜 입력 모드에서 입력된 펜 입력 이벤트 중 어느 하나의 입력 이벤트일 수 있다.
펜 인식 패널(136)을 이용한 사용자 입력 감지 방식에 대해 설명하면, 사용자 단말(100)은 펜 인식 패널(136)을 기반으로 터치용 펜(20)의 펜 상태 정보 및 펜 입력 동작에 해당하는 펜 입력 인식 정보를 수집한다. 그리고 단말기(100)는 수집된 펜 상태 정보 및 펜 입력 인식 정보에 매칭되는 사전 정의된 특정 펜 기능 명령어를 확인하고 해당 펜 기능 명령어에 따른 단말기 기능 지원을 수행할 수 있다. 또한 단말기(100)는 펜 상태 정보 및 펜 입력 인식 정보뿐만 아니라 현재 활성화되고 있는 응용 프로그램의 기능 종류에 대한 정보를 수집하고, 상기 펜 상태 정보, 펜 입력 인식 정보 및 기능 종류 정보에 맵핑되는 사전 정의된 펜 기능 명령어를 생성하도록 지원할 수도 있다.
이를 위하여 펜 인식 패널(136)은 단말기(100)의 일정 위치에 배치되어 특정 이벤트 발생에 따라 또는 디폴트로 활성화 상태를 가질 수 있다. 펜 인식 패널(136)은 표시 패널(132)의 하부에 일정 면적 예를 들면 표시 패널(132)의 표시 영역을 커버할 수 있는 면적을 가지며 마련될 수 있다. 그리고 펜 인식 패널(136)은 터치용 펜(20)의 접근에 따른 그리고 터치용 펜(20) 조작에 따른 펜 상태 정보를 수신하고 이를 제어부(160)에 전달할 수 있다. 또한 펜 인식 패널(143)은 터치용 펜(20)의 입력 동작에 따른 펜 입력 인식 정보를 수신하고 이를 제어부(160)에 전달할 수 있다.
이러한 펜 인식 패널(136)은 코일(23)을 가진 터치용 펜(20)과의 전자기 유도 방식에 따라 터치용 펜(20)의 위치 값을 수신할 수 있도록 마련된 구성이다. 펜 인식 패널(136)은 터치용 펜(20)의 접근 간격에 따라 각각 해당 간격에 해당하는 전자기 유도 값을 수집하고 이를 제어부(160)에 전달할 수 있다. 이때 전달되는 전자기 유도 값은 펜 상태 정보 즉 터치용 펜(20)이 펜 인식 패널(136)로부터 또는 표시 패널(132)이나 터치 패널(134)로부터 일정 간격 이격된 상태인 호버링 상태인지 또는 표시 패널(132)이나 터치 패널(134)에 일정 간격 인접된 접촉 상태인지에 해당하는 정보에 해당할 수 있다.
터치용 펜(20)의 구성을 좀더 구체적으로 설명하면, 도 3은 본 발명의 실시 예에 따른 필기 기반 NLI 기술을 지원하기 위한 펜(20)의 구성을 보이고 있는 도면이다. 도 3을 참조하면, 터치용 펜('펜'이라고도 칭함)(20)은 펜(20)은 펜대(22)와, 펜대(22) 끝에 배치된 펜촉(21), 펜촉(21)에 인접된 영역의 펜대(22) 내부에 배치되는 코일(23) 및 코일(23)에 의해 발생하는 전자기 유도 값을 변경할 수 있는 버튼(24)을 포함하여 구성될 수 있다. 이와 같은 구성을 가지는 본 발명의 터치용 펜(20)은 정전유도 방식을 지원하는 구성으로서 상기 코일(23)에 의하여 제2 터치 패널(136)의 일정 지점에 자기장이 형성되며, 제2 터치 패널(136)이 해당 자기장 위치를 검출하여 터치 지점을 인식하도록 지원할 수 있다.
여기서 펜촉(21)은 표시 패널(132) 또는 표시 패널(132) 상부에 제2 터치 패널(136)이 배치된 경우 제2 터치 패널(136)에 접촉되는 구성으로 터치 펜(20)이 표시 패널(132) 상에 특정 지점을 지시하는 것을 보여주기 위한 구성이 될 수 있다. 이러한 펜촉(21)은 펜대(22)의 끝단에 배치되며 코일(23)이 펜촉(21)으로부터 일정 거리 이격된 위치에 배치되기 때문에 터치용 펜(20)을 파지한 상태에서 글쓰기 등의 필기 입력 작업을 하게 되는 경우 펜촉(21) 접촉 지점과 코일(23)에 의한 자기장 형성 지점 간의 거리 보상이 수행될 수 있다. 사용자는 상기 거리 보상에 따라 펜촉(21)을 표시 패널(132)의 일정 지점을 지시하면서 핸드라이팅(글쓰기) 또는 드로잉(그리기), 터치(선택), 터치 후 드래그(선택 후 이동)등의 입력 동작을 수행할 수 있다. 특히 사용자는 펜촉(21)을 표시 패널(132)에 접촉한 상태에서 특정 핸드라이팅 및 드로잉을 포함하는 펜 입력을 수행할 수 있다.
또한 상기 펜(20)은 사용자 단말의 제2 터치 패널(136)에 일정 거리 이내로 접근하게 되면, 코일(23)에 의한 자기장을 제2 터치 패널(136) 일정 지점에 발생시킬 수 있다. 이를 위하여 사용자 단말은 제2 터치 패널(136)에 형성되는 자기장 스캔 작업을 실시간 또는 일정 주기로 수행할 수 있다. 또한 펜(20) 운용 모드 활성화 시점에 단말의 펜 인식 패널(136) 활성화가 수행될 수도 있다. 특히 펜(20)이 펜 인식 패널(136)에 접근하는 근접 거리에 따라 펜 인식 패널(136)은 해당 펜 상태를 다르게 인식할 수 있다.
한편 터치용 펜(20)에 마련된 버튼(24)은 사용자에 의하여 눌려질 수 있으며, 버튼(24)이 눌려짐에 따라 특정 신호 값이 터치용 펜(20)에서 발생하여 펜 인식 패널(136)에 전달될 수 있다. 이를 위하여 버튼(24)의 인접된 영역에는 특정 커패시터나 추가 코일 또는 정전 유도에 변화를 줄 수 있는 특정 소자가 배치될 수 있고, 버튼(24) 터치 또는 눌림에 따라 해당 소자가 상기 코일(23)에 연결됨으로써 제2 터치 패널 (136)에서 유도되는 전자기 유도 값을 변화시켜 터치용 펜(20)의 버튼(24) 눌림을 인식하도록 설계될 수 있다. 또는 버튼(24) 눌림에 해당하는 무선 신호를 발생시키고, 발생된 무선 신호를 사용자 단말의 별도 영역에 마련된 수신기(미도시)에 전달하도록 설계될 수 있으며, 사용자 단말은 수신된 무선 신호에 따라 터치용 펜(20)의 버튼(24) 눌림을 인식할 수 있다.
상술한 바와 같이 상기 사용자 단말(100)은 펜(20)의 배치 상태에 따라 다양한 펜 상태 정보를 수집할 수 있다. 즉 사용자 단말(100)은 상기 펜(20)이 접촉 상태인지 또는 호버링 상태인지에 대한 정보, 펜(20)의 버튼(24)이 눌려졌는지 또는 초기 상태를 유지하는지에 대한 정보 등을 수신할 수 있다. 사용자 단말(100)은 펜(20)이 제공하는 펜 상태 정보와 펜(20)의 코일(23)에 의하여 입력되는 펜 입력 동작에 해당하는 펜 입력 인식 정보를 기반으로 특정 필기 기반 명령어를 판단하고, 해당 명령어에 해당하는 기능 수행을 지원할 수 있다.
다시 도 2를 참조하면, 펜 인식 패널(136)은 터치용 펜(20)이 펜 인식 패널 (136)로부터 제1 거리 이내(미리 정해진 접촉 거리)에 위치하는 경우 터치용 펜(20)을 접촉 상태로 인식할 수 있다. 또한 펜 인식 패널 (136)은 터치용 펜(20)이 제1 거리(미리 정해진 접촉 거리) 이상 제2 거리(미리 정해진 근접 거리) 이하의 범위에 배치된 경우 펜(20)을 호버링(Hovering) 상태로 인식할 수 있다. 추가로 터치용 펜(20)이 펜 인긱 패널 (136)로부터 제2 거리 이상의 범위에서 인식 가능 범주 이내에 위치하는 경우 에어(air) 상태로 인식할 수 있다. 이와 같이 사용자 단말의 펜 인식 패널 (136)은 터치용 펜(20)과의 이격 거리에 따라 다양한 펜 상태 정보를 제공할 수 있다.
한편, 터치 패널(134)을 이용한 사용자 입력 감지 방식에 대해 설명하면, 터치 패널(134)는 표시 패널(132)의 상부 또는 하부에 배치될 수 있으며, 사용자의 손가락 등 터치 물체의 터치에 의한 정전용량의 변화 또는 저항이나 전압의 변화에 따른 터치 위치 및 터치 상태에 관한 정보를 제어부(160)에 전달한다. 터치 패널(134)은 표시 패널(132)의 적어도 일부 영역에 마련될 수 있으며, 모드에 따라 펜 인식 패널(136)과 동시에 활성화되거나, 펜 인식 패널(136)이 활성화되는 시점에 비활성화될 수 있다. 즉 동시 모드에서는 터치 패널(134)은 펜 인식 패널(136)과 동시에 활성화되고, 펜 모드에서는 펜 인식 패널(136)은 활성화되고 터치 패널(134)은 비활성화되고, 터치 모드에서는 터치 패널(134)은 활성화되고 펜 인식 패널(136)은 비활성화될 수 있다.
도 4는 본 발명의 실시 예에 따른 터치 패널(134)과 펜 인식 패널(136)에 의한 구체적인 펜 터치 입력 및 터치 입력 감지 방법을 보이고 있는 도면이다.
도 4를 참조하면, 터치 패널(134)은 터치패널 IC와 터치 패널 드라이버를 포함하고, 사용자의 손가락 등 터치 물체의 터치에 의한 정전용량의 변화 또는 저항이나 전압의 변화에 따른 터치 위치 및 터치 상태에 관한 정보를 즉, 터치 입력 정보를 제어부(160)로 전달한다.
펜 인식 패널(136)은 펜 터치 패널 IC와 펜 터치 패널 드라이버를 포함하고, 터치용 펜(20)의 접근에 따른 그리고 터치용 펜(20) 조작에 따른 펜 상태 정보를 수신하고 이를 제어부(160)에 전달할 수 있다. 또한 펜 인식 패널(143)은 터치용 펜(20)의 입력 동작에 따른 펜 입력 인식 정보를 수신하고 이를 제어부(160)에 전달할 수 있다.
제어부(160)는 이벤트 허브, 큐, 입력 리더, 입력 디스패쳐를 포함하고, 입력 리더를 통해 터치 패널(134) 및 펜 인식 패널(136)으로부터 정보를 수신하여, 이벤트 디스패쳐를 통해 펜 상태 정보, 펜 입력 인식 정보에 따라 펜 입력 이벤트를 생성하거나, 터치 입력 정보에 따라 터치 입력 이벤트를 생성한다. 또한 제어부(160)는 큐와 이벤트 허브를 통해 터치 입력 이벤트 및 펜 입력 이벤트를 출력하고, 윈도우 매니저의 관리에 따라 복수의 어플리케이션 뷰 중 해당 어플리케이션 뷰에 해당하는 입력 채널로 펜 입력 이벤트 및 터치 이벤트가 입력되도록 한다.
표시 패널(132)은 단말기(100) 운용과 관련된 다양한 화면을 출력하는 구성이다. 예를 들어 표시 패널(132)은 단말기(100)의 기능 운용 지원을 위한 초기 대기 화면이나 메뉴 화면, 기능 선택에 따라 파일 검색 화면, 파일 재생 화면, 방송 수신 화면, 파일 편집 화면, 웹 페이지 접속 화면, 메모 작성 화면, 전자책 열람 화면, 채팅 화면, 이메일이나 메시지 작성 및 수신 화면 등 다양한 화면을 해당 기능 활성화에 따라 제공할 수 있다. 상술한 표시 패널(132)이 제공하는 화면들은 각각 특정 기능 종류에 대한 정보를 가질 수 있으며, 이 기능 종류 정보는 제어부(160)에 전달될 수 있다. 상기 표시 패널(132)의 각 기능이 활성화되는 경우 사전 설정에 따라 펜 인식 패널(136)이 활성화될 수 있다. 한편 펜 인식 패널(136)을 통해 입력되는 펜 입력 인식 정보는 그에 대응하는 형태로 표시 패널(132)에 출력될 수 있다. 예를 들어 펜 입력 인식 정보가 특정 문양에 대응하는 제스처인 경우 표시 패널(132)에는 해당 문양에 대응하는 이미지가 출력될 수 있다. 사용자는 이 문양을 확인하면서 자신이 어떠한 펜 입력을 수행하는지를 확인할 수 있다.
특히 본 발명의 펜 입력은 입력 시작 시점과 입력 완료 시점을 터치용 펜(20)의 펜 상태 정보 변화를 기준으로 확인할 수 있다. 즉 제스처 입력은 터치용 펜(20)이 접촉 상태 또는 호버링 상태 중 적어도 하나의 상태에서 시작할 수 있으며, 입력 완료 시점은 접촉 상태 또는 호버링 상태 중 어느 하나가 해제되는 경우가 될 수 있다. 이에 따라 사용자는 터치용 펜(20)을 이용하여 표시 패널(132) 상에 또는 표시 패널(132)로부터 일정 간격 이격된 상태에서 펜 입력 동작을 수행할 수 있다. 예를 들어 단말기(100)는 터치용 펜(20)이 접촉 상태의 범위에서 움직이는 경우 펜 입력을 인식하여 접촉 상태에서의 움직임에 따라 핸드 라이팅, 드로잉, 터치, 터치 후 드래그 등의 펜 입력 인식을 수행할 수 있다. 그리고 단말기(100)는 터치용 펜(20)이 호버링으로 인식되는 범위 내에 있는 경우 호버링에 의한 펜 입력 인식을 수행할 수 있다.
저장부(150)는 본 발명의 단말기(100) 운용에 필요한 다양한 프로그램과 데이터를 저장하는 구성이다. 예를 들어 저장부(150)는 단말기(100) 운용에 필요한 운용 체제 등을 저장할 수 있으며, 기타 앞서 설명한 표시 패널(132) 상에 출력되는 화면 지원을 위한 기능 프로그램들을 저장할 수 있다. 특히 저장부(150)는 본 발명의 펜 기능 운용을 지원하기 위한 펜 기능 운용 프로그램(151)을 저장하며, 펜 기능 운용 프로그램(151) 지원을 위한 펜 기능 테이블(153)을 저장할 수 있다.
펜 기능 운용 프로그램(151)은 본 발명의 펜 기능 운용을 지원하기 위한 다양한 루틴들을 포함할 수 있다. 예를 들어 펜 기능 운용 프로그램(151)은 펜 인식 패널(136) 활성화 조건을 확인하는 루틴, 펜 인식 패널(136) 활성화 시 터치용 펜(20)의 펜 상태 정보를 수집하는 루틴, 터치용 펜(20)의 움직임에 따른 펜 입력을 인식하여 펜 입력 인식 정보를 수집하는 루틴을 포함할 수 있다. 그리고 펜 기능 운용 프로그램(151)은 수집된 펜 상태 정보와 펜 입력 인식 정보를 기반으로 특정 펜 기능 명령어를 생성하는 루틴, 해당 펜 기능 명령어에 따른 기능을 수행하는 루틴을 포함할 수 있다. 또한 펜 기능 운용 프로그램(151)은 현재 활성화 상태인 기능의 종류 정보를 수집하는 루틴을 더 포함하고, 수집된 기능의 종류 정보와 펜 상태 정보 및 펜 입력 인식 정보에 매핑되는 펜 기능 명령어를 생성하는 루틴, 해당 펜 기능 명령어에 따른 기능을 수행하는 루틴을 더 포함할 수 있다.
상술한 설명에서 펜 기능 명령어를 생성하는 루틴은 저장부(150)에 저장된 펜 기능 테이블(153)을 참조하여 명령어를 생성하는 구성이다. 펜 기능 테이블(153)은 설계자에 의하여 또는 프로그램 개발자에 의하여 터치용 펜(20)에 의한 입력 동작에 해당하는 특정 단말기 기능 운용이 매핑된 펜 기능 명령어를 포함한 테이블이 될 수 있다. 특히, 펜 기능 테이블(153)은 펜 상태 정보 및 기능의 종류 정보에 따라 입력되는 제스처 인식 정보를 각각의 펜 기능 명령어에 맵핑함으로써 동일한 펜 인식 정보라 하더라도 펜 상태 정보 및 기능의 종류에 따라 다르게 동작하도록 설정될 수 있다. 또한 펜 기능 테이블(153)은 펜 상태 정보 및 펜 입력 인식 정보에 특정 단말기 기능 운용에 해당하는 펜 기능 명령어들이 정의된 정보들을 포함할 수 있다. 펜 상태 정보와 펜 입력 인식 정보만으로 구성된 펜 기능 테이블(153)은 현재 활성화된 기능의 종류에 관계없이 펜 상태 정보와 펜 입력 인식 정보만을 토대로 특정 기능 운용을 수행하도록 지원할 수 있다. 이상에서 설명한 바와 같이 펜 기능 테이블(153)은 펜 상태 정보와 기능의 종류 정보 및 펜 입력 인식 정보에 매핑되는 펜 기능 명령어들을 포함하는 제1 펜 기능 테이블, 펜 상태 정보와 펜 입력 인식 정보에 매핑되는 펜 기능 명령어들을 포함하는 제2 펜 기능 테이블 중 적어도 하나를 포함할 수 있다. 각각의 펜 기능 명령어들을 포함하는 펜 기능 테이블(153)은 사용자 설정이나 실행되고 있는 응용 프로그램의 종류에 따라 선택적으로 또는 자동으로 적용될 수 있다. 예를 들어 사용자는 제1 펜 기능 테이블을 이용할지, 또는 제2 펜 기능 테이블을 이용할지를 설정할 수 있다. 그러면 단말기(100)는 설정에 따라 특정 펜 기능 테이블을 기반으로 입력 동작에 해당하는 펜 입력 인식 처리를 지원할 수 있다.
또한 단말기(100)는 설계 방식에 따라 또는 사용자 설정에 따라 제1 어플리케이션이 활성화된 경우에는 제1 펜 기능 테이블을 적용하도록 지원하고, 제2 어플리케이션이 활성화된 경우에는 제2 펜 기능 테이블을 적용하도록 지원할 수 있다. 이와 같이 본 발명의 펜 기능 테이블(153)은 활성화되고 있는 기능의 종류에 따라 다양하게 적용될 수 있다. 상기 펜 기능 테이블(153) 적용에 대한 예시에 대해서는 후술하는 도면들을 참조하여 보다 상세히 설명하기로 한다.
한편 상기 통신부(170)는 상기 단말기(100)가 통신 기능을 지원하는 경우 포함될 수 있는 구성이다. 특히 상기 단말기(100)가 이동통신 기능을 지원하는 경우 통신부(110)는 이동통신 모듈로 구성될 수 있다. 통신부(110)는 통신 기능이 요구되는 단말기 기능 예를 들면 채팅 기능, 메시지 송수신 기능, 통화 기능 등을 수행할 수 있으며, 통신부(170)가 운용되는 과정에서 터치용 펜(20)으로부터 펜 입력 인식 정보가 수집되면 제어부(160) 제어에 따라 펜 입력 인식 정보에 해당하는 펜 기능 명령어 수행을 지원할 수 있다.
이러한 통신부(110)는 단말기(100)의 통신 기능을 지원하면서 본 발명의 펜 기능 테이블(153) 갱신 정보를 외부로부터 수신하고, 이를 제어부(160)에 전달할 수 있다. 앞서 설명한 펜 기능 테이블(153)은 실행되는 응용 프로그램에 의한 단말기 기능 종류에 따라 다르게 설정될 수 있음을 설명하였다. 결과적으로 단말기(100)가 새로운 기능을 설치하는 경우 터치용 펜(20) 운용과 관련된 새로운 설정이 요구될 수 있다. 통신부(110)는 새로운 기능을 위한 또는 이전에 설치된 기능을 위한 펜 기능 테이블(153)이 제공되는 경우 디폴트로 또는 사용자 요청에 따라 해당 펜 기능 테이블(153)에 대한 정보 수신을 지원할 수 있다.
상기 입력부(180)는 사이드 키나 별도로 마련된 터치 패드 등으로 구성될 수 있다. 또한 입력부(180)는 단말기(100)의 턴-온 또는 턴-오프 수행을 위한 버튼 키, 단말기(100)가 지원하는 기본 화면으로의 복귀를 지원하는 홈키 등을 포함할 수 있다. 또한 입력부(180)는 본 발명의 펜 기능 운용 모드 설정을 위한 입력 신호를 사용자 제어에 따라 생성하고 이를 제어부(160)에 전달할 수 있다. 즉 입력부(180)는 별도 펜 입력 인식 기능 수행 없이 펜의 위치 인식과 해당 펜 위치에 따라 기능을 수행하는 기본 펜 기능 운용 모드 및 앞서 설명한 다양한 펜 기능 테이블(153) 중 어느 하나를 기반으로 하는 펜 기능 운용 모드 중 어느 하나를 설정하기 위한 입력 신호를 생성할 수 있다. 해당 입력 신호에 따라 단말기(100)는 특정 펜 기능 테이블(153)을 호출하고, 이를 기반으로 펜 기능 운용을 지원할 수 있다.
상기 오디오 처리부(140)는 단말기(100)의 오디오 신호 출력을 위한 스피커(SPK) 및 오디오 신호 수집을 위한 마이크(MIC) 중 적어도 하나를 포함하는 구성이다. 이러한 오디오 처리부(140)는 본 발명의 펜 기능 운용 모드 설정을 안내하는 안내음이나 효과음을 설정에 따라 출력할 수 있다. 그리고 오디오 처리부(140)는 펜 인식 패널(136)에서 특정 펜 입력 동작에 따른 펜 입력 인식 정보가 수집되면 펜 입력 인식 정보에 해당하는 안내음이나 기능 수행에 따른 효과음을 출력하도록 지원한다. 오디오 처리부(140)는 펜 입력 동작 시 실시간으로 입력되는 펜 입력에 대한 효과음 출력을 지원할 수 있다. 추가로 오디오 처리부(140)는 진동 모듈을 제어하여 제스처 입력 동작에 대응하는 진동 모듈의 진동 크기 조절을 제어할 수 있다. 이때 오디오 처리부(140)는 입력되는 제스처 입력 동작에 따라 진동 크기를 다르게 할 수 있다. 즉 오디오 처리부(140)는 수행해야 할 펜 입력 인식 정보들이 다른 경우 각각의 펜 입력 인식 정보에 해당하는 진동 크기를 가지도록 제어할 수 있다. 오디오 처리부(140)는 효과음 출력 과정에서도 펜 입력 인식 정보의 종류에 따라 효과음의 크기나 종류를 다르게 수행할 수 있다. 예를 들어, 오디오 처리부(140)는 현재 수행되고 있는 기능과 관련된 펜 입력 인식 정보가 수집되면 일정 크기를 가지는 진동이나 효과음 출력을 지원하며, 다른 기능 호출을 위한 펜 입력 인식 정보가 수집되면 상대적으로 큰 크기의 진동이나 효과음 출력을 지원할 수 있다.
상기 제어부(160)는 본 발명의 실시 예에 따른 펜 기능 운용을 지원하기 위한 다양한 구성들을 포함하며, 이 구성들을 기반으로 펜 기능 운용을 위한 신호 처리와 데이터 처리 및 기능 운용을 제어할 수 있다. 이를 위하여 제어부(160)는 도 5에 도시된 바와 같은 구성을 포함할 수 있다.
도 5는 본 발명의 제어부(160) 구성을 보다 상세히 나타낸 도면이다.
도 5를 참조하면, 본 발명의 제어부(160)는 기능 종류 확인부(161), 펜 상태 확인부(163), 펜 입력 인식부(165), 터치 입력 인식부(169), 명령어 처리부(120) 및 어플리케이션 수행부(110)의 구성을 포함할 수 있다.
기능 종류 확인부(161)는 단말기(100)에서 현재 활성화되고 있는 사용자 기능의 종류를 확인하는 구성이다. 특히 기능 종류 확인부(161)는 현재 표시 패널(141) 상에 출력되고 있는 화면과 관련된 기능의 종류 정보를 수집한다. 즉 멀티태스킹 기능 지원 단말기(100)의 경우 다수개의 어플리케이션들의 활성화에 따라 복수개의 기능이 활성화될 수 있다. 이 경우 기능 종류 확인부(161)는 현재 표시 패널(132) 상에 출력된 화면과 관련된 기능의 종류 정보만을 수집하고 이를 명령어 처리부(120)에 제공할 수 있다. 이 과정에서 기능 종류 확인부(161)는 표시 패널(132) 상에 출력된 화면이 복수개인 경우 최 상위 레이어에 출력된 화면과 관련된 기능의 종류 정보를 수집할 수 있다.
펜 상태 확인부(163)는 터치용 펜(20)의 위치와 버튼(24) 눌림 등에 해당하는 정보를 수집하는 구성이다. 앞서 설명한 바와 같이 펜 상태 확인부(163)는 펜 인식 패널(136)을 스캔하여 입력되는 전자기 유도 값의 변화를 검출하고 이를 기반으로 터치용 펜(20)이 호버링 상태인지, 접촉 상태인지, 버튼 눌림 상태인지 눌림 해제 상태인지 등을 확인하고 그에 대응하는 펜 상태 정보 수집을 수행할 수 있다. 수집된 펜 상태 정보에 해당하는 펜 입력 이벤트는 명령어 처리부(169)에 제공될 수 있다.
펜 입력 인식부(165)는 터치용 펜(20)의 움직임에 따른 펜 입력을 인식한다. 이러한 펜 입력 인식부(165)는 터치용 펜(20)이 호버링 상태에 있던지 또는 접촉 상태에 있던지에 관계없이 펜 인식 패널(136)로부터 터치용 펜(20)의 움직임에 따른 펜 입력 동작에 대한 펜 입력 이벤트를 수신하여 펜 입력 인식을 수행하고, 그에 따른 펜 입력 인식 정보를 명령어 처리부(169)에 전달한다. 한편 펜 입력 인식부(165)가 제공하는 하나의 오브젝트로 인식되는 단일 펜 입력 인식 정보와 복수개의 오브젝트로 인식되는 복합 펜 입력 인식 정보를 포함할 수 있다. 이에 대한 구분은 펜 입력 입력 동작 과정에 대한 정의로 결정될 수 있다. 예를 들어 접촉 상태 유지 또는 호버링 상태 유지 상태에서 지속적으로 발생하는 움직임에 해당하는 입력 동작은 단일 펜 입력 인식 정보를 생성할 수 있다. 또한 접속 상태 및 호버링 상태가 변경되면서 발생하는 움직임에 해당하는 입력 동작은 복합 펜 입력 인식 정보를 생성할 수 있다. 또는 호버링 상태가 에어 상태로 변경되면서 움직임이 발생하는 경우 펜 입력 인식부(165)는 복합 펜 입력 인식 정보를 인식할 수 있다. 또는 펜 입력 인식부(165)는 터치용 펜(20)이 펜 인식 패널(136)로부터 인식 가능한 범위를 벗어나는 경계를 기준으로 복수개의 펜 입력 동작이 발생하는 경우를 복합 펜 입력 인식을 위한 동작으로 판단할 수 있다.
터치 입력 인식부(169)는 손가락, 물체 등 터치 및 움직임에 따른 터치 입력을 인식한다. 터치 입력 인식부(169)는 손가락, 물체 등의 터치 및 움직임에 따른 터치 입력 동작에 대한 터치 입력 이벤트를 수신하여 터치 입력 인식을 수행하고, 그에 따른 터치 입력 인식 정보를 명령어 처리부(169)에 전달한다.
명령어 처리부(120)는 설정 모드에 따라 기능 종류 확인부(161)로부터 전달되는 기능 종류 정보, 펜 상태 확인부(163)로부터 전달되는 펜 상태 정보, 펜 입력 인식부(165)로부터 전달되는 펜 입력 인식 정보 중 어느 하나를 이용하여 펜 기능 명령어를 생성하고, 터치 입력 인식부(169)로부터 전달되는 터치 입력 인식 정보를 이용하여 터치 기능 명령어를 생성한다. 이 과정에서 명령어 처리부(120)는 다양한 펜 기능 명령어들을 정의한 펜 기능 테이블(153)을 참조할 수 있다. 특히 명령어 처리부(120)는 설정에 따라 또는 현재 활성화되고 있는 기능 종류에 따라 앞서 설명한 바와 같이 기능 종류 정보와 펜 상태 정보 및 펜 입력 인식 정보에 해당하는 제1 펜 기능 테이블을 참조하거나, 펜 상태 정보 및 펜 입력 인식 정보 기반의 제2 펜 기능 테이블을 참조하거나, 펜 입력 인식 정보 기반의 제3 펜 기능 테이블을 참조할 수 있다. 명령어 처리부(120)가 생성한 펜 기능 명령어는 어플리케이션 수행부(110)에 전달된다.
어플리케이션 수행부(110)는 명령어 처리부(120)가 생성하여 전달한 펜 기능 명령어 및 터치 기능 명령어를 포함하는 각종 명령어들 중 어느 하나에 해당하는 기능 운용을 제어하는 구성이다. 이러한 어플리케이션 수행부(110)는 현재 활성화되고 있는 어플리케이션과 관련된 특정 어플리케이션 기능 운용을 지원하거나, 새로운 어플리케이션 기능을 호출하거나, 특정 어플리케이션 기능 등을 종료하도록 지원할 수 있다.
이하 명령어 처리부(120)와 어플리케이션 수행부(110)의 기능 운용과 관련된 설명은 후술하는 도면들을 참조하여 보다 상세히 설명하기로 한다.
먼저 명령어 처리부(120)를 설명하면, 도 6은는 본 발명의 실시 예에 따른 사용자 단말에서 필기 기반 NLI 기술을 지원하기 위한 명령 처리부(120)의 구성 예를 보이고 있다.
도 6을 참조하면, 필기 기반 NLI 기술을 지원하는 명령 처리부(120)는 인지 엔진 (Recognition Engine)(210)과 NLI 엔진 (NLI Engine)(220)을 포함한다.
상기 인지 엔진(210)은 인지 관리 모듈 (Recognition Manager Module)(212), 원격 인지 의뢰 모듈 (Remote Recognition Client Module)(214), 지역 인지 모듈 (Local Recognition Module)(216)을 포함한다. 상기 지역 인지 모듈(216)은 필기 인지 블록 (Handwriting Recognition Block), 광 문자 인지 블록 (Optical Character Recognition Block), 동작 인지 블록 (Object Recognition Block)로 구성된다.
상기 NLI 엔진(220)은 대화 모듈 (Dialog Module)(222)과 지능 모듈 (Intelligence Module)(224)을 포함한다. 상기 대화 모듈(222)은 대화 흐름을 제어하기 위한 대화 관리 블록 및 사용자의 의도를 파악하기 위한 자연어 이해 블록으로 구성된다. 상기 지능 모듈(224)은 사용자 선호도를 반영하기 위한 사용자 모델링 블록, 일반 상식을 반영하기 위한 상식 추론 블록 및 사용자 상황을 반영하기 위한 컨텐츠 관리 블록으로 구성된다.
상기 인지 엔진(210)은 전자 펜 등의 입력 수단에 상응한 그리기 엔진 (Drawing Engine)과 카메라 등의 지능 입력 플랫폼 (Intelligent Input Platform)에 의한 정보를 입력으로 할 수 있다. 여기서 지능 입력 플랫폼(미도시)은 OCR(Optical character reader) 등과 같은 광학식 문자 인식기 등이 될 수 있으며, 인쇄된 문자 또는 사람이 손으로 쓴 문자나 숫자 또는 다른 기호의 형태를 갖는 정보를 읽어 인지 엔진(210)으로 제공할 수 있다. 그리기 엔진은 손가락, 물체, 펜 등 각종 입력 수단에 의한 입력을 받기 위한 구성 요소로서, 입력 수단에 의한 입력 정보를 감지하여 인지 엔진(210)으로 제공할 수 있다. 이에 따라 인지 엔진(210)은 지능 입력 플랫폼(미도시) 및 터치 패널부(130)로부터 정보를 입력받아 각종 정보를 인식할 수 있다.
본 발명의 실시 예에서는 입력 수단인 터치 패널부(130)에 의한 입력을 받아 터치 패널부(130)가 터치 입력 인식 정보와 펜 입력 인식 정보를 인지 엔진(210)으로 제공하는 경우를 예를 들어 설명한다.
이와 같은 본 발명의 실시 예에 따르면 상기 인지 엔진(210)이 터치 입력 인식 정보와 펜 입력 인식 정보 중 적어도 어느 하나를 입력 받아 인식하고, 인식 결과에 따라 명령어를 처리한다. 본 발명의 실시 예에 따르면, 상기 인지 엔진(210)은 정보로 입력된 문자, 선, 기호, 패턴, 도형, 이들의 조합 등으로부터 현재 표시된 메모 내용 중 사용자에 의해 선택된 영역의 메모 내용을 인식하거나 사용자에 의해 지시된 명령어를 인식한다.
상기 인지 엔진(210)은 상술한 바에 의해 얻은 인식 결과 (Recognized Result)를 출력한다.
이를 위해 상기 인지 엔진(210)는 입력 정보로부터 인식 결과를 출력하기 위한 전반적인 제어를 처리하는 인지 관리 모듈(212), 원격 인지 의뢰 모듈(214) 및 입력 정보를 인지하기 위한 지역 인지 모듈(216)을 포함한다. 상기 지역 인지 모듈(216)은 필기를 기반으로 입력되는 정보를 인지하는 필기 인지 블록(215-1)과, 입력되는 광학식 신호로부터 정보를 인지하는 광 문자 인지 블록(215-2) 및 입력되는 동작 등으로부터 정보를 인지하는 동작 인지 블록(215-3)을 적어도 포함한다.
필기 인지 블록(215-1)은 필기를 기반으로 입력되는 정보를 인지한다. 예를 들면, 필기 인지 블록(215-1)은 메모 화면에 펜(20) 또는 손가락 등의 물체에 의해 필기된 내용을 인식한다. 이때 필기된 내용은 핸드라이팅 및 드로잉을 포함할 수 있다. 핸드라이팅은 문자 및 기호 등의 글쓰기를 의미하고, 드로잉은 도형이나 낙서, 폐곡선 등의 그리기를 의미한다.
구체적으로 필기 인지 블록(215-1)은 터치 패널부(130)로부터 메모 화면에 터치 또는 펜 입력 등의 입력이 발생함에 따라 출력되는 입력 이벤트들을 이용하여 펜 입력 인식부(165) 또는 터치 입력 인식부(169)에 의해 인식된터치 입력 인식 정보 또는 펜 입력 인식 정보를 입력받을 수 있다. 이때 필기 인지 블록(215-1)은 메모 화면의 제1 영역에서 입력이 발생함에 따라 패널부(130)에서 출력되는 제1 입력 이벤트들을 이용하여 펜 입력 인식부(165) 또는 터치 입력 인식부(169)에 의해 인식된 터치 입력 인식 정보 또는 펜 입력 인식 정보를 입력받을 수 있고, 메모 화면의 제2 영역에서 입력이 발생함에 따라 터치 패널부(130)에서 출력되는 제2 입력 이벤트들을 이용하여 펜 입력 인식부(165) 또는 터치 입력 인식부(169)에 의해 인식된 터치 입력 인식 정보 또는 펜 입력 인식 정보를 입력받을 수 있다. 여기서 터치 입력 인식 정보 또는 펜 입력 인식 정보는 터치된 포인트들의 좌표값 등이 될 수 있다.
필기 인지 블록(251-1)은 상기 터치된 포인트들의 좌표값을 스트로크로 저장하고, 상기 스트로크를 이용하여 스트로크 어레이를 생성한 후, 미리 저장된 필기 라이브러리와 상기 생성된 스트로크 어레이 리스트를 이용하여 필기된 내용을 인식한다. 이때 필기 인지 블록(251-1)은 필기된 내용을 핸드 라이팅 및 드로잉 중 어느 하나로 인식할 수 있다.
예컨대 본 발명의 실시 예에 따르면 필기 인지 블록(251-1)은 메모 화면의 제1 영역에서의 제1 입력 이벤트에 대한 터치 또는 펜 입력 인식 정보를 핸드 라이팅 입력으로 인식하고, 메모 화면의 제2 영역에서의 제2 입력 이벤트에 대한 터치 또는 펜 입력 인식 정보를 드로잉 입력으로 인식할 수 있다. 또한 본 발명의 다른 실시 예에 따르면 필기 인지 블록(251-1)은 메모 화면의 제1 영역 및 제2 영역에서의 제1 및 제2 입력 이벤트에 대한 터치 또는 펜 입력 인식 정보가 각각 핸드라이팅 형태에 해당되면 핸드라이팅 입력으로 인식하고, 드로잉 형태에 해당되면 드로잉 입력으로 인식할 수 있다.
이러한 필기 인지 블록(215-1) 인식된 내용 중 메모 내용 및 명령에 해당하는 인식 결과 값을 출력한다.
광 문자 인지 블록(215-2)은 광 감지 모듈에 의해 감지된 광신호를 입력받아 광문자를 인지하고, 인지 결과 광문자 인식 결과값을 출력한다. 동작 인지 블록(215-3)은 동작 감지 모듈에 의해 감지된 동작 감지 신호를 입력받아 동작을 인식하고, 동작 인식 결과값을 출력한다.
상기 필기 인지 블록, 광 문자 인지 블록 및 동작 인지 블록에 의해 인지된 인식 결과는 상기 NLI 엔진(220) 또는 어플리케이션 수행부(110)로 제공된다.
상기 NLI 엔진(220)은 상기 인지 엔진(210)으로부터 제공되는 인지 결과에 대한 분석 등의 처리를 통해 사용자의 의도를 파악한다. 즉 상기 NLI 엔진(220)은 상기 인지 엔진(210)으로부터 제공되는 인지 결과로부터 사용자가 입력하고자 하는 정보를 파악한다. 즉 상기 NLI 엔진(220)은 필기 기반 NLI 기술을 이용하여 사용자와의 문답에 의한 대화를 수행하여 충분한 정보를 수집하고, 상기 수집한 정보를 기반으로 사용자의 의도를 파악한다.
이를 위해 상기 NLI 엔진(220)을 구성하는 대화 모듈(222)은 사용자와의 대화를 위한 질문을 구성하고, 상기 구성한 질문을 사용자에게 전달하여 사용자로부터의 답변을 수신하기 위한 문답의 흐름을 제어한다. 상기 대화 모듈(222)은 문답을 통해 획득한 정보를 관리한다 (대화 관리 블록). 또한 상기 대화 모듈(222)은 상기 관리되고 있는 정보를 고려하여 최초 제공된 명령에 대한 자연어 처리를 통해 사용자의 의도를 이해한다 (자연어 이해 블록).
상기 NLI 엔진(220)을 구성하는 지능 모듈(224)은 자연어 처리를 통해 사용자의 의도를 파악하기 위해 참조될 정보를 생성하고, 이를 상기 대화 모듈(222)로 제공한다. 예컨대 상기 지능 모듈(224)은 메모 시에 사용자의 습관 등을 분석하여 사용자의 선호도를 반영하는 정보를 모델링 (사용자 모델링 블록)하거나 일반적인 상식을 반영하기 위한 정보를 추론 (상식 추론 블록)하거나 현재 사용자의 상황을 고려하는 정보를 관리 (컨텍스트 관리 블록)한다.
따라서 상기 NLI 엔진(220)을 구성하는 대화 모듈(222)은 상기 지능 모듈(224)로부터 제공되는 정보의 도움을 받아 사용자와의 문답 절차에 따른 대화의 흐름을 제어할 수 있다.
한편, 어플리케이션 수행부(110)는 상기 인지 엔진(210)으로부터 명령에 해당하는인식 결과를 수신하고, 상기 명령이 미리 저장된 유의어 테이블에 존재하는지 판단하여 상기 명령에 해당하는 유의어가 존재하면, 유의어에 해당하는 ID 값을 읽어온다. 그리고 어플리케이션 수행부(110)는 미리 정해진 메소드 테이블에서 상기 ID값에 해당하는 메소드를 실행한다. 이에 따라 상기 메소드가 상기 명령에 따른 어플리케이션을 실행시키고, 상기 어플리케이션에 상기 메모 내용이 전달된다. 어플리케이션 수행부(110)는 상기 메모 내용을 이용하여 해당 어플리케이션의 기능을 수행한다.
도 7은 본 발명의 실시 예에 따른 사용자 단말에서 필기 기반 NLI 기술을 이용한 사용자 인터페이스를 지원하기 위한 제어 흐름을 보이고 있다.
도 7을 참조하면, 사용자 단말은 310단계에서 특정 어플리케이션을 구동하고, 상기 구동 중인 특정 어플리케이션에 의한 기능을 제공한다. 상기 특정 어플리케이션은 사용자의 요청에 의해 사용자 단말에 설치된 어플리케이션 중 사용자에 의해 구동이 요청된 어플리케이션에 해당한다.
일 예로 사용자는 특정 어플리케이션을 사용자 단말에 의해 제공되는 메모 기능을 이용하여 구동시킬 수 있다. 즉 사용자 단말은 사용자의 요청에 의해 메모 계층 (memo layer)를 화면에 띄운 후 특정 어플리케이션의 식별 정보와 실행 명령에 상응한 정보가 입력될 시 상기 특정 어플리케이션을 검색하여 구동한다. 이와 같은 방안은 사용자 단말에 많은 어플리케이션이 설치된 경우에 원하는 어플리케이션의 빠른 실행을 위해 유용하게 사용될 것이다.
상기 특정 어플리케이션의 식별 정보의 대표적인 예는 해당 어플리케이션의 이름이 될 수 있으며, 상기 실행 명령에 상응한 정보는 어플리케이션의 구동을 명령하기 위해 사전에 설정된 도형, 기호, 패턴, 문자 등이 될 수 있다.
도 8은 메모 기능을 사용하여 특정 어플리케이션 또는 특정 기능에 따른 동작을 요청하는 예들을 보이고 있다.
도 8에서는 메모 기능을 이용하여 작성된 메모 내용 중 일부 내용을 선, 폐곡선, 도형 등을 사용하여 선택하고, 상기 선택한 일부 내용을 다른 어플리케이션을 사용하여 처리하는 예를 보이고 있다. 예컨대 선을 사용하여 '갤럭시노트 프리미엄스위트'라는 메모 내용을 선택하고, 상기 선택한 메모 내용을 문자 발송을 위한 어플리케이션을 사용하여 전송할 것을 명령한 일 예를 보이고 있다.
만약 사용자에 의해 입력된 어플리케이션과 일치하는 어플리케이션이 사용자 단말에 존재하지 않을 경우, 검색을 통해 유사 어플리케이션에 의한 후보 군을 사용자에게 제공할 수도 있다. 이는 후보 군에 해당하는 어플리케이션으로부터 사용자가 원하는 어플리케이션을 선택할 수 있도록 하기 위함이다.
다른 예로써 사용자는 메모 기능을 이용하여 사용자 단말에서 지원하는 기능을 실행시킬 수 있다. 이를 위해 앞에서도 밝힌 바와 같이 사용자 단말은 사용자의 요청에 의해 메모 계층을 띄우고, 사용자에 의해 입력되는 정보에 의해 설치된 어플리케이션에 대한 검색을 실시한다.
예컨대 검색에 대한 일 예로써, 사용자 단말에 설치된 어플리케이션으로부터 특정 어플리케이션을 찾기 위한 키워드를 메모 기능에 따른 화면에 입력한다. 이로써 사용자 단말은 입력된 키워드에 의해 어플리케이션에 대한 검색을 수행할 수 있다. 즉 사용자가 메모 기능을 이용하여 화면에 '자동차 게임'이라 입력하였다면, 사용자 단말은 내부에 설치된 어플리케이션 중 '자동차 게임'과 관련된 어플리케이션을 검색한다. 그리고 그 검색 결과를 화면을 통해 사용자에게 제공할 것이다.
다른 예로써, 사용자 단말에서 제공하는 메모 기능에 따른 화면에 사용자가 설치 시기 (일 예로 11년 2월)를 입력할 수 있다. 이 경우 사용자 단말은 입력된 시기에 설치된 어플리케이션에 대한 검색을 수행한다. 즉 사용자가 메모 기능을 이용하여 화면에 '11년 2월'이라 입력함으로써, 사용자 단말은 내부에 설치된 어플리케이션 중 '11년 2월'에 설치된 어플리케이션을 검색한다. 그리고 그 검색 결과를 화면을 통해 사용자에게 제공할 것이다.
상술한 바와 같이 사용자의 메모에 의해 특정 어플리케이션을 구동하거나 검색하는 것은, 사용자 단말에 많은 어플리케이션이 설치된 경우에 유용하게 사용될 수 있을 것이다.
한편 어플리케이션을 보다 효율적으로 검색하기 위해서는 설치된 어플리케이션에 대한 색인 작업이 이루어지는 것이 바람직하다. 즉 색인 작업에 의해 설치된 어플리케이션은 성격, 분야, 기능 등의 기준에 의해 분류될 수 있다.
그리고 구동을 위한 어플리케이션의 식별 정보를 입력하거나 검색을 위한 색인 정보를 입력하기 위한 메모 계층은 사용자가 특정 키를 입력하거나 특정 모션을 입력함으로써 나타날 수 있다.
상술한 바에 의해 구동되거나 검색되는 특정 어플리케이션은 메모 기능을 지원하는 어플리케이션, 스케줄 관리를 지원하는 어플리케이션, 지도 서비스를 지원하는 어플리케이션, 음악 서비스를 지원하는 어플리케이션, 지하철 노선을 지원하는 어플리케이션 등을 포함한다.
상기 특정 어플리케이션이 구동되면, 상기 사용자 단말은 312단계에서 필기 기반에서의 정보가 입력되는 지를 감시한다. 이때 입력되는 정보는 문자 외에도 선, 기호, 패턴 및 이들이 조합된 형태로 입력될 수 있다. 그 외에도 상기 사용자 단말은 312단계에서 현재 화면 상에서 메모로 인해 표시된 내용 중 일부 또는 전부를 선택하는 영역을 지정하는 정보의 입력을 감시할 수도 있다.
만약 상기 메모된 내용 중 일부 또는 전부가 선택되었다면, 상기 사용자 단말은 312단계에 계속 머물면서 상기 선택된 영역 내에 표시된 메모 내용을 처리하기 위한 명령에 상응한 정보가 추가로 입력되는지를 감시한다.
상기 사용자 단말은 사용자에 의한 필기 기반의 정보 입력이 감지되면, 314단계에서 상기 감지한 입력 정보를 인식하기 위한 동작을 수행한다. 예컨대 상기 일부 또는 전부 선택된 영역 내의 메모 내용에 대한 텍스트 정보를 인식하거나 문자 외에도 선, 기호, 패턴 및 이들이 조합된 형태로 입력된 정보를 인식한다. 상기 입력된 정보에 대한 인식은 도 6에 도시한 인지 엔진(210) 내에서 이루어진다.
상기 사용자 단말은 상기 감지한 입력 정보에 대한 인식을 이루어지면, 상기 인식한 텍스트 정보의 내용을 이해하기 위해, 상기 인식한 텍스트 정보에 대한 자연어 처리를 수행한다. 상기 인식한 텍스트 정보에 대한 자연어 처리는 NLI 엔진(220) 내에서 이루어진다.
상기 사용자 단말은 입력 정보로 사용자가 문자와 기호를 혼용하여 입력하였다고 인식될 경우, 상기 인식한 정보에 대한 처리를 위해 자연어 처리와 함께 기호 처리도 수행한다.
상기 기호 처리를 위해서는 사용자의 실제 메모 패턴을 분석하고, 상기 메모 패턴의 분석을 통해 사용자가 많이 사용하는 대표 기호를 검출한다. 그리고 상기 검출한 대표 기호를 사용자가 어떠한 의도로 사용하는 지를 분석하고, 그 분석한 결과를 기반으로 해당 대표 기호의 의미를 정리한다.
상술한 바에 의해 정리된 대표 기호 별로 사용자가 전달하고자 하는 의미는 데이터베이스화하여 향후 입력되는 기호에 대한 해석 시에 적용할 수 있다. 즉 기호 처리를 위해 미리 정리된 데이터베이스를 활용할 수 있다.
도 9는 본 발명의 실시 예를 위한 실제 사용자의 메모 패턴의 일 예를 보이고 있다. 도 9에서 보이고 있는 메모 패턴에 따르면, 사용자는 ->, (), _, -, +, ? 등의 기호를 많이 사용함을 확인할 수 있다. 예컨대 기호 ->은 부연 설명 또는 문단 구분 등의 의미로 사용되고, 기호 ()는 용어의 정의 또는 기재의 묶음 등의 의미로 사용됨을 분석할 수 있다.
한편 동일한 기호가 사용되는 경우에 따라 서로 다른 의미로 해석될 수도 있다. 예컨대 기호 ->는 '시간 흐름', '인과 관계', '위치', '속성들의 관계 설명', '집중화 (clustering)를 위한 기준점', '변경' 등과 같이 다양한 의미로 사용될 수 있다.
도 10은 하나의 기호가 다양한 의미로 해석될 수 있는 일 예를 보이고 있다. 즉 도 6에서는 기호 ->가 시간 흐름, 인관 관계, 위치 등을 뜻하는 의미로 사용될 수 있음을 보이고 있다.
도 11은 문자와 기호가 결합된 입력 정보를 상기 기호에 따라 다른 의미로 해석할 수 있는 예를 보이고 있다. 즉 '서울 -> 부산'이라는 사용자의 입력 정보는 '서울에서 부산까지'라는 의미 외에도 '서울을 부산으로 변경'하라는 의미로도 해석될 수 있다.
이와 같이 복수의 의미로 해석될 수 있는 기호의 경우에는 추가 정보 또는 앞과 뒤의 정보와의 관계 등을 고려하여 그 의미를 예측할 수 있다. 하지만 이러한 예측은 사용자의 의도를 정확하게 파악하지 못하는 원인으로 작용할 수도 있다.
상기한 바와 같은 문제를 해소하기 위해서는 기호 인식/이해에 대한 깊이 있는 연구 및 노력이 요구될 것이다. 이러한 노력의 예로는 인문학 분야의 기호학 (semiotics)에서 기호 인식 및 이해 관계에 대한 연구가 진행되고 있으며, 이는 광고, 문학, 영화, 교통 신호 등에서 활용되고 있다. 여기서 기호학은 넓은 의미로 기호의 기능과 분석, 의미 작용과 표현, 의사 소통과 관련된 다양한 체계를 연구하는 학문 분야이다.
그 외에 기호는 공학적인 접근도 이루어지고 있다. 예컨대 기계/전기/컴퓨터 분야에서 순서도와 설계도의 기호 인식과 관련하여 연구가 진행되고 있다. 이는 Sketch (Hand-drawn Diagram) 인지 등에서 활용되고 있다. 또한 화학 분야에서는 복잡한 화학 구조 기호를 인식하기 위한 관련 연구가 진행되고 있으며, 이는 Hand-drawn Chemical Diagram Recognition 등에서 활용되고 있다.
도 12는 기호학에서 기호들이 활용되고 있는 예를 보이고 있으며, 도 13은 기계/전기/컴퓨터 분야 및 화학 분야에서 기호들이 활용되고 있는 예를 보이고 있다.
상기 사용자 단말은 인식 결과에 대한 자연어 처리에 의해 사용자가 입력한 정보에 의한 내용을 이해한 후 318단계에서 인식한 내용을 기반으로 사용자가 해당 정보를 입력한 의도를 파악한다.
상기 사용자 단말은 해당 정보를 입력한 사용자의 의도를 파악하면, 322단계에서 파악한 사용자의 의도에 상응한 동작을 수행하거나 상기 파악한 사용자의 의도에 대응한 응답을 출력한다. 그 외에 상기 사용자 단말은 상기 파악한 사용자의 의도에 상응한 동작을 수행한 후 그 결과를 사용자에게 출력할 수도 있다.
하지만 상기 사용자 단말은 해당 정보를 입력한 사용자의 의도를 파악할 수 없다면, 320단계에서 사용자와의 문답 절차를 통해 사용자의 의도를 파악하기 위한 추가 정보를 획득한다. 이를 위해 상기 사용자 단말은 사용자에게 묻기 위한 질문을 구성하고, 상기 구성한 질문을 사용자에게 제공한다. 이에 대한 응답으로 상기 사용자에 의해 추가 정보가 입력될 시, 상기 사용자 단말은 상기 318단계로 진행하여 이전에 자연어 처리를 수행하여 이해한 내용에 새로이 입력 받은 정보를 추가로 고려하여 사용자의 의도를 다시 파악한다.
하지만 도면에서는 보여지고 있지 않으나 상기 사용자 단말은 상기 새로이 입력 받은 정보의 내용을 이해하기 위해 상기 314단계와 316단계를 추가로 수행할 수도 있다.
상기 사용자 단말은 사용자의 의도를 정확하게 파악할 때까지 상기 320단계에서의 문답 절차, 즉 사용자와의 대화를 통해 사용자의 의도를 파악하기 위해 요구되는 대부분의 정보를 확보할 수 있다.
상술한 문답 절차를 거쳐 사용자의 의도를 파악하였다면, 상기 사용자 단말은 322단계에서 파악한 사용자의 의도에 상응한 동작 및/또는 응답 결과를 사용자에게 출력한다
앞에서 살펴본 본 발명의 실시 예에 따라 사용자 단말에 구비된 사용자 인터페이스 장치의 구성 및 그 구성을 기반으로 필기 기반의 NLI 기술에 의한 사용자 인터페이스 방안은 다양한 시나리오를 가정할 수 있다.
도 14 내지 도 21은 본 발명의 실시 예에 따른 메모 기능을 지원하는 어플리케이션을 기반으로 하는 동작 시나리오들을 보이고 있다.
즉 도 14 내지 도 21은 메모 기능을 제공하는 어플리케이션에서 사용자에 의해 입력된 메모 내용을 다른 어플리케이션을 호출하여 처리하는 예들을 보이고 있다.
도 14는 사용자 단말에서 메모 기능을 이용하여 메모한 일부의 내용을 메일 발송하는 시나리오를 보이고 있다.
도 14를 참조하면, 사용자는 메모 기능을 활용하여 사용자 단말의 화면에 필기하고, 상기 필기한 내용 중 일부를 선, 기호, 폐곡선 등을 이용하여 선택한다. 일 예로 상기 일부 내용의 선택은 전체 필기된 내용 중 일부 영역을 폐곡선을 이용하여 선택함으로써, 상기 폐곡선 내에 존재하는 영역 내의 내용이 선택될 수 있다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 기호와 문자를 활용하여 상기 선택한 내용의 처리를 요청하는 명령을 입력한다. 예컨대 도면에서는 상기 선택한 영역을 지정하는 화살표와 임의의 사람 (김화경 책임)을 지정하는 문자를 필기하였다.
상술한 바와 같은 정보를 입력 받은 사용자 단말은 선택된 영역 내의 메모 내용을 문자에 의해 입력된 '김화경 책임'에게 전송하라는 사용자의 의도를 파악한다. 이와 같이 사용자의 의도를 파악한 사용자 단말은 설치된 어플리케이션 중 선택된 메모 내용의 전송이 가능한 추천 어플리케이션을 추출한다. 그리고 상기 추출한 추천 어플리케이션을 화면 상에 표시함으로써, 사용자가 사용할 추천 어플리케이션의 선택 또는 구동을 명령할 수 있도록 한다.
상기 사용자 단말은 사용자에 의해 추천 어플리케이션 중 하나의 어플리케이션이 선택될 시, 상기 선택된 어플리케이션을 호출하고, 상기 호출된 어플리케이션을 활용하여 앞서 선택한 메모 내용을 '김화경 책임'에게 전송한다.
상기 사용자 단말은 메모 내용을 전송함에 있어, 수신측에 관한 정보가 사전에 등록되어 있지 않다면, 사용자에게 수신측에 해당하는 '김화경 책임'의 메일 주소 등을 문의할 수 있다. 이 경우 상기 선택한 메모 내용은 사용자에 의한 메일 주소의 입력에 응답하여 전송될 것이다.
상기 사용자 단말은 사용자의 의도한 바를 처리한 후 그 결과를 화면 상에 표시함으로써, 사용자가 자신의 의도에 적절한 처리가 이루어졌는지를 확인할 수 있도록 한다. 일 예로 메일 전송이 완료되었음을 알리는 내용의 문장과 함께 메일 발송 내역을 리스트에 저장할 것인지를 문의한다. 이에 응답하여 사용자가 리스트에 저장할 것이 요청될 시, 상기 사용자 단말은 메일 발송 내역을 리스트에 등록한다.
상술한 바와 같은 시나리오는 사용자 단말 내에서 어플리케이션 간의 이동 없이 회의 등을 진행하는 과정에서 이루어진 필기 중 필요한 내용을 당사자에게 메일로 전송한 후 상호 작용을 통하여 그 근거를 'To do list'에 저장할 수 있어 생산성 향상에 도움을 줄 수 있다.
도 15a 및 도 15b는은 사용자 단말에서 메모 기능을 이용하여 메모한 전체 내용을 문자 발송하는 시나리오를 보이고 있다.
도 15를 참조하면, 사용자는 메모 기능을 활용하여 사용자 단말의 화면에 필기한다(Writing memo). 그 후 사용자는 상기 필기한 내용 중 전체를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역을 선택함으로써, 상기 폐곡선 내에 존재하는 전체 내용이 선택된 것으로 인지될 수 있다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 문자, 일 예로 '문자 보내기'라고 필기함으로써, 상기 선택한 내용에 대한 문자 발송을 명령한다 (Writing command).
상기한 바에 의해 사용자가 입력한 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택된 영역 내의 내용에 대한 문자 발송이 사용자의 의도임을 인지한다. 이를 인지한 상기 NLI 엔진은 문자 발송을 위한 정보가 부족하다고 판단하여 사용자와의 문답 절차를 통해 원하는 정보를 확인한다. 예컨대 상기 NLI 엔진은 문자를 보낼 대상이 누구인지를 문의하는 질문, 즉 '누구에게?'라는 질문을 사용자에게 제공한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 문자를 전달할 대상에 관한 정보를 입력한다. 상기 정보는 대상자의 이름 또는 전화번호를 직접 입력하는 것도 가능하다. 도면에서는 대상자의 이름으로 '김화경', '배주윤'이 입력되었음을 확인할 수 있다.
상기 NLI 엔진은 주소록에 사용자에 의해 입력된 이름, '김화경', '배주윤'에 대응하여 등록된 전화번호를 확인하고, 상기 확인한 전화번호를 수신 대상으로 앞에서 선택한 내용을 본문으로 하는 문자를 발송한다. 이때 상기 선택한 내용이 이미지인 경우, 사용자 단말에서는 상기 선택한 내용을 텍스트화 하여 인지 가능한 형태로 변환하는 절차를 추가로 수행할 수 있다.
상술한 바에 의해 문자 전송을 완료할 시, 상기 NLI 엔진은 처리 결과를 알리는 내용, 일 예로 '문자 전송이 완료되었습니다.'라는 문장을 표시한다. 이로써, 사용자는 자신의 의도에 따라 적절한 처리가 이루어졌음을 확인할 수 있게 된다.
도 16a 및 도 16b 사용자 단말에서 메모 기능을 이용하여 메모한 일부의 내용의 의미를 확인하는 시나리오를 보이고 있다.
도 16a 및 도 16b를 참조하면, 사용자는 메모 기능을 활용하여 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역 중 일부 영역에 기재된 하나의 단어가 선택될 수 있다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 기호, 일 예로 '?'라고 필기함으로써, 상기 선택한 단어의 의미가 무엇인지를 문의하는 명령을 내린다 (Writing command).
상기한 바에 의해 사용자에 의해 입력된 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택된 단어 내의 의미를 확인하기 위해 어떠한 검색 엔진을 사용할 것인지를 문의한다. 이를 위해 상기 NLI 엔진은 사용자와의 문답 절차를 이용한다. 예컨대 상기 NLI 엔진은 화면 상에 'Which search engine?'라고 표시하여 사용자가 검색 엔진을 선택하는 정보를 입력할 것을 유도한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 'wikipedia'을 입력하였다. 따라서 상기 NLI 엔진은 상기 사용자의 입력에 의해 검색할 엔진으로 'wikipedia'을 사용하라는 사용자의 의도를 인지한다. 상기 NLI 엔진은 'wikipedia'을 사용하여 앞에서 선택한 'MLS'의 의미를 확인한 후 그 결과를 표시한다. 이로써, 사용자는 자신이 문의한 'MLS'의 의미를 화면을 통해 제공되는 정보에 의해 확인할 수 있게 된다.
도 17a 및 17b는 사용자 단말에서 메모 기능을 이용하여 메모한 내용의 일부를 다른 어플리케이션을 위한 정보를 등록하는 시나리오를 보이고 있다.
도 17a 및 17b를 참조하면, 사용자는 메모 기능을 활용하여 중국 여행을 위해 준비할 사항을 정리하는 내용을 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역 중 '항공권 잔금 결제'라는 내용이 메모된 일부 영역을 선택한다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 문자, 즉 '할일에 등록'이라는 문자를 필기함으로써, 상기 선택한 내용의 일을 해야 할 일의 목록으로 등록할 것을 요청하는 명령을 내린다 (Writing command).
상기한 바에 의해 사용자가 입력한 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택된 영역 내용에 상응한 업무에 대한 일정 관리를 요청하는 것이 사용자의 의도임을 인지한다. 이를 인지한 상기 NLI 엔진은 일정 관리를 위한 정보가 부족하다고 판단하여 사용자와의 문답 절차를 통해 원하는 정보를 확인한다. 예컨대 상기 NLI 엔진은 해당 일정을 처리할 일정을 문의하는 질문, 일 예로 '완료일을 입력하세요'라는 질문을 사용자에게 제공한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 해당 일정을 처리할 예정인 날짜로 '5월 2일'을 입력하였다. 상기 NLI 엔진은 앞에서 선택한 내용에 상응한 일을 5월 2일에 처리할 업무로 저장하여 스케줄 관리가 이루어질 수 있도록 한다.
상술한 바에 의해 사용자의 요청을 처리한 후 상기 NLI 엔진은 처리 결과를 알리는 내용, 일 예로 '저장되었습니다.'라는 문장을 표시한다. 이로써, 사용자는 자신의 의도에 따라 적절한 처리가 이루어졌음을 확인할 수 있게 된다.
도 18a 및 도 18b는 사용자 단말에서 메모 기능을 이용하여 메모한 내용을 잠금 기능을 활용하여 저장하는 시나리오를 보이고 있고, 도 18c는 잠금 기능에 의해 저장된 메모 내용을 확인하는 시나리오를 보이고 있다.
도 18a 및 도 18b를 참조하면, 사용자는 메모 기능을 활용하여 오사카 여행 중에 경험을 사진과 메모 등을 이용하여 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부 또는 전부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역에 대한 선택이 이루어졌다.
그리고 사용자는 잠금 기능에 의한 해당 메모의 저장을 요청하기 위해 약속된 또는 직관적으로 인지 가능한 문자, 즉 '잠금'이라는 문자를 필기함으로써, 상기 선택한 내용을 잠금 기능을 이용하여 등록할 것을 요청하는 명령을 내린다 (Writing command).
상기한 바에 의해 사용자가 입력한 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 메모된 내용을 잠금 기능을 활용하여 저장하는 것이 사용자의 의도임을 인지한다. 이를 인지한 상기 NLI 엔진은 잠금 기능을 설정하기 위한 추가 정보가 필요하다고 판단하여 사용자와의 문답 절차를 통해 원하는 정보를 확인한다. 예컨대 상기 NLI 엔진은 잠금 기능을 설정하기 위해 비밀번호를 문의하는 질문, 일 예로 '비밀번호를 입력하세요'라는 메시지를 화면에 출력한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 잠금 기능을 설정하기 위한 비밀번호로 '3295'를 필기할 시, 상기 NLI 엔진은 앞에서 선택한 내용을 비밀번호 '3295'를 이용하여 저장한다.
상술한 바에 의해 해당 메모 내용을 잠금 기능을 이용하여 저장한 후 상기 NLI 엔진은 처리 결과를 알리는 내용, 일 예로 '저장되었습니다.'라는 문장을 표시한다. 이로써, 사용자는 자신의 의도에 따라 적절한 처리가 이루어졌음을 확인할 수 있게 된다.
도 18c를 참조하면, 사용자는 잠금 기능에 의해 저장된 메모들 중 원하는 메모를 선택한다 (Selecting memo). 상기 사용자에 의해 특정 메모가 선택될 시, NLI 엔진은 상기 선택된 특정 메모를 제공하기 위해서는 비밀번호가 필요함을 인지한 후 문답 절차를 진행하여 사용자에 의한 해당 비밀번호의 입력을 유도한다 (Writing Password). 예컨대 상기 NLI 엔진은 사용자가 비밀번호를 입력할 수 있는 메모 창을 띄움으로써, 상기 사용자가 해당 메모를 확인하기 위한 비밀번호를 입력할 수 있도록 한다.
상기 NLI 엔진은 사용자에 의해 정확한 비밀번호가 입력될 시, 앞에서 선택된 메모를 불러와 화면 상에 표시한다.
도 19는 사용자 단말에서 메모 기능을 이용하여 메모한 일부의 내용에 의해 특정 기능을 이용하는 시나리오를 보이고 있다.
도 19를 참조하면, 사용자는 메모 기능을 활용하여 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역 중 전화번호, 즉 '010-9530-0163'이 메모된 일부 영역을 선택한다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 기호 또는 문자, 일 예로 '통화'라고 필기함으로써, 상기 선택한 전화번호로 전화 통화를 시도할 것을 명령한다 (Writing command).
상기한 바에 의해 사용자에 의해 입력된 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택된 전화번호를 자연어로 번역하여 인지하고, 상기 인지한 전화번호인 '010-9530-0163'로의 전화 통화를 시도한다.
도 20a 및 도 20b는 사용자 단말에서 메모 기능을 이용하여 메모한 일부의 내용을 감추는 시나리오를 보이고 있다.
도 20a 및 도 20b를 참조하면, 사용자는 메모 기능을 활용하여 자신이 이용하는 웹 패이지 별로의 ID와 비밀번호를 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부 또는 전부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 폐곡선을 이용하여 메모가 이루어진 전체 영역에서 일부 메모, 즉 비밀번호에 상응한 메모 'wnse3281'에 대한 선택이 이루어졌다.
그리고 사용자는 감춤 기능을 위해 약속된 또는 직관적으로 인지 가능한 문자, 즉 'hide'라는 문자를 필기함으로써, 상기 선택한 내용에 대한 감춤을 명령한다 (Writing command).
상기한 바에 의해 사용자가 입력한 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택한 메모 내용을 감추는 것이 사용자의 의도임을 인지한다. 이를 인지한 상기 NLI 엔진은 감춤 기능을 이용하기 위해서는 추가 정보가 필요하다고 판단하여 사용자와의 문답 절차를 통해 원하는 정보를 확인한다. 예컨대 상기 NLI 엔진은 감춤 기능을 설정하기 위해 비밀번호를 문의하는 질문, 일 예로 'Enter the passcode'라는 메시지를 화면에 출력한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 감춤 기능을 설정하기 위한 비밀번호로 '3295'를 필기할 시, 상기 NLI 엔진은 필기된 '3295'를 자연어로 번역하여 인지한 후 이를 저장한다. 그리고 상기 선택된 메모 내용을 감춤으로써, 화면 상에 표시되지 않도록 한다.
도 21은 사용자 단말에서 메모 기능을 이용하여 메모한 일부의 내용의 번역을 처리하는 시나리오를 보이고 있다.
도 21을 참조하면, 사용자는 메모 기능을 활용하여 사용자 단말의 화면에 필기한다 (Writing memo). 그 후 사용자는 상기 필기한 내용 중 일부를 선, 기호, 폐곡선 등을 이용하여 선택한다 (Triggering). 일 예로 밑줄을 이용하여 메모가 이루어진 전체 영역 중 일부 영역에 기재된 내용을 선택하였다. 즉 '내일 오전 11시까지 문의한 문서 받기'라는 메모 내용을 선택한다.
그리고 사용자는 약속된 또는 직관적으로 인지 가능한 기호 또는 문자, 일 예로 '번역'이라고 필기함으로써, 상기 선택한 문장에 대한 번역을 명령한다 (Writing command).
상기한 바에 의해 사용자에 의해 입력된 정보를 기반으로 사용자 인터페이스를 구성하는 NLI 엔진은 선택된 문장에 대한 번역 명령임을 인지한다. 그 후 상기 NLI 엔진은 사용자와의 문답 절차를 이용하여 번역할 언어를 지정할 것을 요청하는 질문을 화면에 표시한다. 예컨대 상기 NLI 엔진은 화면 상에 'Which Language?'라고 표시하여 사용자가 번역할 언어를 입력할 수 있도록 유도한다.
이에 대한 응답으로 사용자가 메모 기능을 이용하여 '이탈리아어'라고 메모할 시, 상기 NLI 엔진은 상기 사용자의 입력에 의해 번역할 언어로 '이탈리아어'을 사용하라는 사용자의 의도를 인지한다. 상기 NLI 엔진은 앞에서 인지된 메모 내용, 즉 '내일 오전 11시까지 문의한 문서 받기'를 이탈리아어로 번역하여 출력한다. 이로써, 사용자는 자신이 문의한 내용에 대한 이탈리아 번역문을 화면을 통해 제공받게 된다.
도 22 내지 도 25는 소정의 어플리케이션이 구동된 후에 메모 기능에 지원하는 어플리케이션을 호출하여 상기 구동된 어플리케이션을 동작 시키는 시나리오의 예들을 보이고 있다.
도 22는 사용자 단말의 초기 화면에서 메모 계층 (memo layer)을 실행시켜 특정 어플리케이션을 실행시키는 하나의 시나리오를 보이고 있다. 예컨대 사용자 단말의 초기 화면에서 메모 어플리케이션을 실행시켜 화면 상에 메모 계층을 띄운 후 실행할 어플리케이션의 식별 정보 (일 예로 어플리케이션 명칭) '챗온'을 기재함으로써, 해당 어플리케이션이 실행된 예를 보이고 있다.
도 23은 사용자 단말에서 구동 중인 특정 어플리케이션에서 수행할 특정 동작을 메모 기능을 이용하여 제어하는 시나리오를 보이고 있다. 예컨대 사용자 단말에서 음악을 청취하기 위한 어플리케이션이 실행된 화면에서 메모 어플리케이션을 실행시켜 화면 상에 메모 계층을 띄운 후 청취를 원하는 음악의 제목 '여수 밤바다'를 기재함으로써, 구동 중인 어플리케이션에서 '여수 밤바다'에 해당하는 음원을 재생하는 예를 보이고 있다.
도 24는 사용자 단말에서 메모 기능을 이용하여 구동 중인 특정 어플리케이션을 제어하는 시나리오 예들을 보이고 있다. 예컨대 사용자 단말에서 동영상을 시청하는 중에 메모 계층을 띄워 이동할 시간, 즉 '40:22'라고 기재함으로써, 구동 중인 동영상을 재생 시점을 40분 22초 지점으로 바로 이동한다. 이러한 기능은 동영상 재생 시 외에도 음악을 청취하는 중에도 동일하게 적용될 수 있다.
그 외에 eBook을 지원하는 어플리케이션을 사용하는 중에 메모 계층을 띄워 이동할 페이지, 예컨대 '105'라고 메모함으로써, 해당 읽고 있던 책의 105 페이지로 바로 이동한다.
도 25는 사용자 단말에서 웹 브라우저를 이용하는 중에 메모 기능을 이용한 검색을 시도하는 시나리오를 보이고 있다. 예컨대 사용자 단말에서 웹 브라우저를 이용하여 특정 웹 페이지를 이용하는 중에 화면에 표시된 내용 중 일부를 선택한 후 메모 계층을 띄워 '검색'이라는 단어를 메모함으로써, 상기 선택한 내용에 대한 검색을 명령한다. 이러한 사용자의 의도를 인지한 NLI 엔진은 선택한 내용을 자연어 처리를 통해 확인하고, 상기 확인한 내용을 설정된 검색 엔진을 사용하여 검색한다. 상기한 바에 의한 검색된 결과를 화면에 표시함으로써, 사용자에게 검색 결과를 제공한다.
상술한 바와 같이 사용자 단말에서는 특정 어플리케이션을 제공하는 화면에서의 선택과 메모 기능에 의한 정보의 입력을 함께 고려하여 처리하는 시나리오의 구현도 가능할 것이다.
도 26은 지도 어플리케이션 상에서 메모 기능을 이용하여 원하는 정보를 획득하는 시나리오를 보이고 있다. 예컨대 즉 지도 서비스를 위해 구동된 어플리케이션의 화면에서 메모 기능을 이용하여 폐곡선에 의해 특정 영역을 선택하고, 찾고자 하는 정보, 일 예로 '유명명소?'라고 메모함으로써, 상기 특정 영역 내에서의 유명한 명소를 찾아 줄 것을 명령한다.
이러한 사용자의 의도를 인지한 사용자 단말의 NLI 엔진은 자신이 보유한 데이터베이스 또는 서버의 데이터베이스를 기반으로 유용한 정보를 찾고, 이렇게 찾은 정보를 현재의 화면에 표시된 지도 위에 추가로 표시한다.
상기 지도 어플리케이션 상에서의 시나리오를 좀더 구체적으로 설명하면, 도 27은 본 발명의 실시 예에 따라 지도 어플리케이션 상에 메모 기능이 활성화된 경우를 보이고 있는 도면이다. 도 27을 참조하면, 터치 패널부(130)는 표시 패널(132)와 터치 패널(134) 및 펜 인식 패널(136)을 구동하고, 표시 패널(132)을 통해 어플리케이션 화면을 표시하기 위한 맵뷰를 활성화하고, 터치 패널(134) 및 펜 인식 패널(136)을 통해 메모 기능을 활성화하기 위한 캔버스 뷰를 활성화할 수 있다. 캔버스뷰는 펜 입력 인식 표시를 위한 S캔버스뷰와 NLI처리 및 표시를 위한 NLIS 뷰를 포함할 수 있다.
도 28내지 도 32는 본 발명의 실시 예에 따른 지도 어플리케이션 상에서 메모 기반의 사용자 인터페이스를 제공하기 위한 방법들을 보이고 있다.
먼저 도 28은 본 발명의 실시 예에 따른 지도 어플리케이션에서 지도 상에 검색된 위치를 나타내기 위한 제어 흐름을 보이고 있다. 도 28을 참조하면, 사용자 단말(100)은 지도 어플리케이션 실행 중 사용자의 요청에 의해 지도 어플리케이션 화면에 메모 레이어를 활성화한다. (1810 단계). 이때 메모 레이어는 별도의 화면으로 표시되지 않는 투명화면이거나 반투명 화면일 수 있다. 여기서는 별도의 화면으로 표시되지 않는 경우를 설명한다. 사용자는 메모 레이어가 활성화된 지도 어플리케이션 화면상에 손가락 등의 물체(미도시) 또는 펜(20)을 이용하여 핸드라이팅을 하거나 드로잉을 하여 사용자 입력을 수행할 수 있다. 이때 핸드라이팅은 문자 및 기호 등의 글쓰기를 의미하고, 드로잉은 도형이나 낙서, 폐곡선 등의 그리기를 의미한다.
사용자 단말(100)은 사용자에 의한 손가락 등의 물체의 터치 또는 펜(20) 운용에 따라 사용자 입력을 수신한다.(1812 단계) 사용자에 의한 손가락 등의 물체의 터치를 통해 터치 입력이 수신될 수도 있고, 펜 입력이 수신될 수도 있다. 본 발명의 실시예에서는 펜(20) 기능을 통한 펜 입력 이벤트를 수신한 경우를 예를 들어 설명한다.
사용자 단말(100)은 펜 기능을 통한 펜 입력 이벤트를 이용하여 펜 입력을 인식하고, 펜 입력 인식 정보를 이용하여 펜 입력 내용을 인식한다. 예컨대 사용자에 의해 입력된 핸드라이팅 입력을 인식하거나, 드로잉 입력을 인식한다.
사용자 단말(100)은 입력 내용 인식결과 핸드라이팅 입력이면 입력 내용에 해당하는 위치를 검색한다. (1816 단계). 그리고 사용자 단말(100)은 검색 결과에 따라 지도 상의 해당 검색 위치에 마커를 표시한다.(1818단계).
본 발명의 다른 실시 예에 따르면 지도 상의 특정 선택 영역에만 검색된 위치가 표시될 수도 있다. 도 29는 본 발명의 실시 예에 따른 지도 어플리케이션에서 지도 상의 특정 선택 영역에 검색된 위치를 나타내기 위한 제어 흐름을 보이고 있다. 도 29를 참조하면, 사용자 단말(100)은 지도 어플리케이션 실행 중 사용자의 요청에 의해 지도 어플리케이션 화면에 메모 레이어를 활성화한다. (1910 단계). 이때 메모 레이어는 별도의 화면으로 표시되지 않는 투명화면이거나 반투명 화면일 수 있다. 여기서는 별도의 화면으로 표시되지 않는 경우를 설명한다.
사용자는 메모 레이어가 활성화된 지도 어플리케이션 화면상에 사용자의 손가락 또는 물체 또는 펜(20)을 이용하여 핸드 라이팅을 하거나 드로잉을 하여 입력을 수행할 수 있다. 본 발명의 실시 예에서는 펜(20)을 이용한 입력을 수행한 예를 들어 설명한다.
사용자 단말(100)은 사용자에 의한 펜(20) 운용 예컨대 핸드 라이팅 또는 드로잉에 따라 펜(20) 기능을 통한 입력을 수신한다.(1912 단계) 이때 터치 패널부(130)를 통해 펜 기능을 통한 펜 입력 이벤트가 발생되어 출력될 수 있다.
이때 메모 레이어는 제1 영역 및 제2 영역으로 구분될 수 있으며, 터치 패널부(130)는 상기 제1 영역 및 제2 영역별로 펜 입력 이벤트를 발생시켜 출력할 수 있다. 예컨대 메모 레이어의 제1 영역에서 펜 입력이 발생함에 따라 패널부(130)에서는 제1 영역에서의 펜 입력 이벤트에 해당하는 제1 입력 이벤트를 출력할 수 있고, 메모 화면의 제2 영역에서 입력이 발생함에 따라 제2 영역에서의 펜 입력 이벤트에 해당하는 제2 입력 이벤트를 출력할 수 있다.
사용자 단말(100)은 펜 기능을 통한 펜 입력 이벤트를 이용하여 펜 입력 인식 정보를 얻고, 이를 통해 입력 내용을 인식한다.(1914 단계) 예컨대 사용자에 의해 입력된 핸드라이팅 내용을 인식하거나, 드로잉을 인식한다.
이때 메모 레이어의 제1 영역에서의 제1 입력 이벤트를 이용하여 펜 입력 인식을 수행하고, 이를 핸드 라이팅 입력으로 인식할 수 있고, 메모 레이어의 제2 영역에서의 제2 입력 이벤트를 이용하여 펜 입력 인식을 수행하고, 이를 드로잉 입력으로 인식할 수 있다. 또한 본 발명의 다른 실시 예에 따르면 사용자 단말(100)은 메모 화면의 제1 영역 및 제2 영역에서의 제1 및 제2 입력 이벤트에 대한 펜 입력 인식 정보가 각각 핸드라이팅 형태에 해당되면 핸드라이팅 입력으로 인식하고, 드로잉 형태에 해당되면 드로잉 입력으로 인식할 수 있다.
사용자 단말(100)은 입력 내용 인식결과 핸드라이팅인지 드로잉인지 판단한다.(1916단계) 이때 사용자 단말(100)은 제1 영역에 입력된 내용을 핸드라이팅으로 인식하고, 제2 영역에 입력된 내용을 드로잉으로 인식할 수 있다. 또한 사용자 단말(100)은 입력 내용에 따른 스트로크를 판단하여 핸드라이팅에 해당하는 스트로크이면 핸드라이팅 입력으로, 드로잉에 해당하는 스트로크이면 드로잉으로 판단할 수 있다. 이때 드로잉은 일정 영역을 가지는 폐쇄곡선으로서, 동심원, 타원 등이 될 수 있다.한편, 사용자 단말(100)은 핸드라이팅이 인식되면, 핸드라이팅 입력 내용에 해당하는 위치를 검색한다. (1918 단계). 이때 지도 API 및 위치검색 API를 이용하여 위치를 검색할 수 있다.
사용자 단말은 드로잉이 인식되면, 지도 상에서 드로잉 인식 내용에 해당하는 영역을 선택한다.(1920 단계). 예컨대 사용자 단말(100)은 드로잉이 동심원인 경우 드로잉되는 선에 따른 좌표값들을 비교하여, 가장 위 포인트와 가장 아래포인트를 찾아 교차되는 선과, 교차되는 선에 따른 중심과 반지름 값을 구한 후, 반지름에 따른 동심원 영역을 맵 뷰에 표시한다. 이때 동심원 영역은 하기와 같이 구해질 수 있다.
CanvasPoint leftPoint = stroke.get(0);
CanvasPoint rightPoint = stroke.get(0);
CanvasPoint upPoint = stroke.get(0);
CanvasPoint downPoint = stroke.get(0);
for ( CanvasPoint p : stroke )
if (p. getX () < leftPoint . getX ())
leftPoint = p;
else if (p. getX () > rightPoint . getX ())
rightPoint = p;
else if (p. getY () < downPoint . getY ())
downPoint = p;
else if (p. getY () > upPoint . getY ())
upPoint = p;
}
}
CanvasPoint centerPoint = getIntersectionPoint(leftPoint, rightPoint, upPoint, downPoint);
if ( centerPoint == null )
return null ;
int radius = getRadius ( leftPoint , rightPoint , upPoint , downPoint , centerPoint );
if ( radius < CONSTRAINT _ MINIMUN _ DOMAIN _ RADIUS _ SIZE )
return null ;
return new SimpleCircle ( centerPoint , radius );
그리고 사용자 단말(100)은 맵뷰에 오버레이될 오버레이 뷰를 생성하고, 오버레이뷰를 통해 지도 상의 선택된 영역 내의 검색된 위치에 마커를 표시한다.(1922단계). 도 30은 본 발명의 실시 예에 따라 지도 상의 특정 선택 영역에만 검색된 위치를 표시하기 위한 화면을 나타내고 있다. 지도 어플리케이션 화면에서 사용자는 펜(20)을 이용하여 참조번호 3002와 같이피자를 핸드라이팅하고, 3004와 같이 동심원을 드로잉하면, 사용자 단말(100)은 지도 상의 동심원 영역 내에피자에 관련된 위치를 검색하고, 해당 위치에 마커를 표시한다. 이때 3006번과 같이 pen 모드 즉, 펜 모드가 활성화된 것을 알리는 표시가 표시될 수 있다.
상기한 바와 같이 표시된 선택 영역을 이동할 수도 있다. 도 31은 본 발명의 실시 예에 따라 지도 상의 특정 선택 영역을 이동시키는 나타내고 있다. 도 31을 참조하면, 사용자에 의해 참조번호 3100과 같이 Finger 모드 즉, 손 터치 모드가 선택되어 손터치 모드로 변경되면, 손터치 모드에서 드로잉을 이동시켜 선택 영역을 이동 시킬 수 있다. 이때 선택 영역이 이동됨에 따라 이동된 선택 영역(3005)에 마커가 표시될 수 있다.
한편, 상기에서는 본 발명의 사용자 인터페이스가 지도 상에 검색 위치를 표시하는 데 이용되는 경우를 설명하였지만, 지도 상에 거리재기에 이용될 수도 있다. 도 32는 본 발명의 실시 예에 따른 지도 어플리케이션에서 지도 상의 거리 재기를 수행하기 위한 제어 흐름을 보이고 있다.
도 32를 참조하면, 사용자 단말(100)은 지도 어플리케이션 실행 중 사용자의 요청에 의해 지도 어플리케이션 화면에 메모 레이어를 활성화한다. (3202 단계). 이때 메모 레이어는 별도의 화면으로 표시되지 않는 투명화면이거나 반투명 화면일 수 있다. 여기서는 별도의 화면으로 표시되지 않는 경우를 설명한다. 사용자는 메모 레이어가 활성화된 지도 어플리케이션 화면상에 펜(20)을 이용하여 핸드 라이팅을 하거나 드로잉을 하여 입력을 수행할 수 있다. 사용자 단말(100)은 사용자에 의한 펜(20) 운용에 따라 펜(20) 기능을 통한 입력을 수신한다.(3204 단계). 이때 펜 기능을 통한 펜 입력 이벤트가 발생될 수 있다. 사용자 단말(100)은 펜 기능을 통한 펜 입력 이벤트를 이용하여 입력 내용을 인식한다. (3206 단계). 예컨대 사용자에 의해 입력된 핸드라이팅 내용을 인식하거나, 드로잉을 인식한다.
그리고 사용자 단말(100)은 현재 모드가 거리재기 모드인지 판단한다.(3208 단계). 만약 거리재기 모드가 아니면, 사용자 단말(100)은 인식된 입력 내용을 이용하여 해당 기능을 수행한다.(3210 단계).
거리재기 모드이면, 사용자 단말(100)은 인식된 입력 내용에 해당하는 거리재기 선을 판단한다.(3212 단계) 거리재기 선은 펜(20)의 터치 시작점부터 터치 오프되지 않고, 터치 오프지점까지 드로잉에 의해 선이 입력되면, 해당 선을 거리재기 선으로 판단할 수 있다.
사용자 단말(100)은 거리재기 선이 입력되면, 거리재기 선에 해당하는 거리를 계산한다.(3214 단계). 그리고 계산된 거리를 표시한다.(3216 단계) 터치가 시작되어 선이 그려지는 위치마다 거리가 표시될 수도 있다.
도 33은 스케줄 관리를 지원하는 어플리케이션이 구동된 상태에서 메모 기능을 이용하여 원하는 정보를 입력하는 시나리오를 보이고 있다. 예컨대 사용자는 스케줄을 관리하는 어플리케이션이 구동된 후 상기 구동된 어플리케이션을 이용하는 중에 메모 기능을 실행하여 화면 상에서 오프라인에서 직관적으로 이루어지는 형태로의 필기를 수행한다. 일 예로 사용자가 스케줄 관리를 위한 화면에서 메모 기능에 의한 폐곡선 등을 이용하여 특정 날짜를 선택하고, 상기 선택한 날짜의 스케줄을 입력한다. 즉 2012년 3월 13일을 선택하고, 선택한 날짜에 TF 워크샵이 있음을 메모할 시, 사용자 단말에 구비된 NLI 엔진은 추가 정보로 시간을 입력할 것을 요청한다. 예컨대 화면에 'Time?'라는 질문을 표시함으로써, 사용자가 메모 기능을 활용하여 정확한 시간, 일 예로 '3:00 PM'을 메모하도록 유도한다.
도 34와 도 35는 기호학과 관련한 시나리오의 예들을 보이고 있다.
도 34는 메모 기능에 의해 진행되는 문답 절차의 흐름을 기반으로 메모된 기호의 의미를 해석하는 예를 보이고 있다. 예컨대 '이태리 출장'이라 메모와 '인천 -> 로마'라고 메모가 같이 존재하는 경우를 가정할 수 있다. 이 경우 메모된 기호인 화살표는 지역간의 이동을 의미하는 것으로 해석할 수 있음에 따라, 사용자 단말의 NLI 엔진은 사용자에게 일정을 문의하는 질문, 일 예로 'When?'이라는 질문을 출력한다.
더 나아가 상기 사용자 단말의 NLI 엔진은 사용자에 의해 메모된 날짜, 즉 4월 5일에 인천에서 로마로 이동하기 위해 이용할 수 있는 비행기편에 관한 정보를 검색하고, 그 결과를 사용자에게 제공할 수 있다.
도 35는 메모 기능에 의해 입력되는 기호의 의미를 구동 중인 어플리케이션과 연계하여 해석하는 예를 보이고 있다. 예컨대 지하철 노선 서비스를 제공하는 어플리케이션이 구동된 화면에서 기호, 즉 화살표를 이용하여 사용자가 출발지와 목적지를 직관적으로 표시함으로써, 현재 구동중인 어플리케이션이 두 기점 간을 이동하기 위한 열차의 도착 시간 및 소요되는 시간 등에 관한 정보를 안내할 수도 있다.
상술한 바와 같이 본 발명에서는 다양한 어플리케이션 상에서 메모 기능을 지원하여 해당 어플리케이션을 직관적으로 제어할 수 있도록 함으로써, 사용자의 편의성을 향상시킬 수 있도록 한다.
한편 상술한 바와 같은 시나리오들은 메모 계층을 화면 상에 띄워서 필기를 입력하면, 그것을 인식하여 동작을 수행한다는 것이 주요할 것이다. 한편 이를 위해 부가적으로 화면 상에 메모 계층을 띄우기 위한 방안을 마련하는 것이 바람직할 것입니다.
예컨대 메모 계층을 띄우는 방안으로는 메뉴 버튼, 특정 제스처 입력, 펜에 있는 버튼을 누른 상태 또는 손가락으로 화면의 위쪽 영역을 끌어내리거나, 아래쪽 영역을 끌어올리는 동작에 의해 현재 화면 상에 메모가 가능한 계층을 띄울 수 있다. 하지만 앞에서 정의되지 않은 다양한 방안이 마련될 수 있음은 자명하다.
도 36은 본 발명의 실시 예에 따른 사용자 단말에서 메모 기반의 사용자 인터페이스를 제공하기 위한 제어 흐름을 보이고 있다.
도 36에서는 사용자 단말의 화면 상에 메모된 내용 중 일부 또는 전체 내용을 선택하는 소정의 입력 형식에 의해 상기 선택한 일부 또는 전체 내용을 처리할 정보와 수행할 명령 중 하나로 구분하여 인지함에 따른 동작을 개시한다.
이를 위해 도 36에서는 내용을 인지, 명령 식별 및 식별한 명령에 상응한 기능에 의해 인지한 내용 처리하는 각각의 동작에 관해 정의하고 있다. 즉 화면에 표시된 메모 내용 중 일부 또는 전체 메모 내용을 사전에 약속된 입력 형식에 의해 인지하고, 상기 화면에 표시된 메모 내용 중 상기 선택한 메모 내용을 처리할 명령을 사전에 약속된 입력 형식에 의해 식별하며, 상기 인지한 메모 내용을 상기 식별한 명령에 상응한 기능 메뉴에 의해 처리하는 동작으로 구성된다. 이때 상기 메모 내용의 인지를 위한 입력 형식과 상기 명령을 식별하기 위한 입력 형식은 구분이 가능하도록 서로 상이하게 설정되어야 한다.
도 37을 참조하면, 사용자 단말은 사용자의 요청에 의해 화면에 소정의 메모 내용을 표시한다 (2610 단계). 상기 화면에 표시된 메모 내용은 사용자가 메모 기능을 이용하여 실시간으로 입력하거나 사용자가 사전에 기록된 메모들 중 하나를 호출한 메모 내용이 될 수도 있다.
상기 사용자 단말은 상기 화면에 표시된 내용 중 일부 또는 전체 내용을 제1 입력 형식에 의해 선택한다 (2612 단계). 도 37에서는 제1 입력 형식에 의해 선택된 메모 내용의 일 예를 '원 문자 1 (①)'을 사용하여 보이고 있다. 그리고 도 38에서는 제1 입력 형식, 즉 내용을 선택하기 위한 입력 형식의 일 예를 보이고 있다. 즉 도 38에서는 전자 펜을 이용하여 해당 메모 내용에 밑줄을 긋는 것을 제1 입력 형식의 일 예로 제안하고 있다. 이 경우 사용자 단말은 사용자가 화면에 표시된 메모 내용 중 일부 또는 전체 내용에 밑줄을 그을 시, 상기 밑줄이 그어진 내용을 처리할 메모 내용으로 인지한다. 즉 사용자 단말은 사용자에 의해 밑줄이 그어진 내용을 자연어로 변환하고, 상기 변환된 자연어를 통해 상기 사용자에 의해 선택된 일부 또는 전체 내용을 인식한다.
그 외에 제1 입력 형식의 예들은 도 40에서 개시되고 있다. 도 40의 일 점 (1.)에서는 원을 이용하여 선택할 메모 내용의 영역을 지정하거나 전자 펜에 구비된 버튼을 한번 누르거나 누른 상태에서 메모된 내용을 선택할 메모 내용으로 인지한다. 뿐만 아니라 별도의 메뉴를 통해 내용 인식 모드를 설정한 후 실시간으로 메모하거나 밑줄이 그어지는 메모 내용을 선택할 수도 있다.
상기 사용자 단말은 상기 화면에 표시된 내용 중 일부를 제2 입력 형식에 의해 선택한다 (2614 단계). 도 37에서는 제2 입력 형식에 의해 선택된 메모 내용의 일 예를 '원 문자 2 (②)'을 사용하여 보이고 있다. 그리고 도 39에서는 제2 입력 형식, 즉 명령을 선택하기 위한 입력 형식의 일 예를 보이고 있다. 즉 도 29에서는 전자 펜을 이용하여 선택할 메모 내용이 시작되는 점에서 정해진 시간 (예컨대 0.6 초) 동안 머문 후에 상기 선택할 메모 내용에 밑줄을 긋는 것을 제2 입력 형식의 일 예로 제안하고 있다. 이 경우 사용자 단말은 사용자가 화면에 표시된 메모 내용 중 제2 입력 형식에 의해 밑줄이 그어진 내용을 소정 기능 메뉴의 실행을 지시하는 명령으로 인지한다. 즉 사용자 단말은 사용자에 의해 제2 입력 형식에 의해 밑줄이 그어진 내용을 자연어로 변환하고, 상기 변환된 자연어를 통해 상기 사용자의 의도에 의해 명령을 인식한다.
그 외에 제2 입력 형식의 예들은 도 40에서 개시되고 있다. 도 40의 이 점 (2.)에서는 전자 펜에 구비된 버튼을 한번 누르거나 누른 상태에서 수행을 원하는 명령에 상응한 내용을 메모하거나 별도의 메뉴를 통해 명령어 인식 모드를 설정한 후 실시간으로 메모하거나 표시된 메모 내용 중 원하는 메모 내용을 선택하는 것을 제2 입력 형식의 예로 개시하고 있다.
한편 도 40에 따르면, 사용자 단말은 밑줄이 그어지기 전에 제2 입력 형식임을 인지하도록 하는 사전 동작이 감지될 시, 화면 상에 명령 인지를 위한 상태임을 식별하는 아이콘을 표시한다. 그 후 상기 사용자 단말은 사용자에 의해 명령에 상응한 메모 내용에 밑줄이 그어지고, 상기 밑줄이 그어진 메모 내용에 의해 처리할 명령을 정상적으로 인지할 시, 상기 명령 인지를 위한 상태임을 식별하기 위해 표시된 아이콘을 상기 인지한 명령을 식별하기 위한 아이콘으로 변경하여 표시한다 (도 40의 '명령어 인식 UI flow' 참조).
상기 사용자 단말은 제2 입력 형식에 의해 인식한 명령을 수행하기 위해서 추가 정보가 필요한지를 판단한다 (2616 단계). 즉 상기 사용자 단말은 제1 입력 형식에 의해 선택된 내용을 제2 입력 형식에 의해 인식한 명령에 의해 처리하기 위해 충분한 정보가 제공되었는지를 판단한다.
만약 추가 정보가 필요하다고 판단하면, 상기 사용자 단말은 필요한 추가 정보를 사용자로부터 얻기 위한 문답 절차를 진행한다 (2618 단계). 즉 상기 사용자 단말은 사용자에게 추가 정보의 입력을 요청하는 메시지를 화면에 표시하고, 상기 메시지에 응답하여 사용자로부터 추가 정보를 제공받는다.
예컨대 도 40을 참조하면, 사용자 단말은 제1 입력 형식 및 제2 입력 형식에 의해 인지한 내용 및 명령에 의해 사용자의 의도가 '갤럭시노트 프리미엄스위트'라는 내용을 '문자'로 보내고자 하는 것임을 확인한다. 하지만 사용자 단말은 문자를 수신할 대상에 관한 정보가 없어 상기 확인한 사용자의 의도에 따른 기능 메뉴를 수행할 수 없음을 인지한다.
상술한 바에 의해 수신할 대상에 관한 추가 정보가 필요하다고 인지한 사용자 단말은 '누구에게 메시지를 전송하시겠습니까?'라는 메시지를 화면을 통해 출력한다. 이에 응답하여 사용자가 문자를 수신할 대상의 정보, 즉 수신자의 이름 또는 전화번호 등을 메모 기능을 이용하여 필기할 시, 사용자 단말은 이를 추가 정보로써 인지한다.
상기 사용자 단말은 사용자에 의해 추가 정보가 입력되면, 그 외에 추가 정보가 더 필요한지를 판단한다. 상기 판단에 의해 추가 정보가 더 필요하다면, 상기 사용자 단말은 더 많은 추가 정보를 얻기 위해 상술한 동작을 반복하여 수행한다.
하지만 추가 정보가 필요하지 않으면, 상기 사용자 단말은 제2 입력 형식에 의해 인식한 명령에 상응한 기능 메뉴를 실행하여 제1 입력 형식에 의해 인식한 내용을 처리한다 (2620 단계). 예컨대 도 37에서 보이고 있는 예를 가정할 시, 사용자 단말은 '원 문자 2 (②)'에 의해 인지한 '문자 보내기' 명령에 따라, '원 문자 1 (①)'에 의해 선택된 내용을 문자를 보내기 위한 기능 메뉴를 이용하여 전송한다.
상기 사용자 단말은 제2 입력 형식에 의해 명령을 인식한 후, 도 40의 삼 점 (3.)에서 정의하고 있는 NLI 엔진 피드백 스텝을 수행할 수 있다. 도 40의 삼 점 (3.)에서는 NLI 엔진 피드백 스텝에서 수행하는 세 가지 동작에 대해 정의하고 있다.
첫 번째로 사용자 단말이 인식한 명령에 상응한 기능 메뉴를 실행하기 위해 추가 정보가 필요한 경우, 사용자에게 추가 정보의 입력을 요청하는 메시지를 화면을 통해 출력한다. 이로써 사용자 단말은 해당 기능 메뉴를 실행하기 위한 추가 정보가 사용자에 의해 제공될 수 있도록 유도한다.
두 번째로 사용자 단말이 제2 입력 형식에 의해 인식한 명령에 상응한 기능 메뉴를 실행하여 제1 입력 형식에 의해 인식한 내용에 대한 처리가 진행되고 있음을 화면을 통해 알린다. 이는 사용자가 자신이 지시한 명령이 정상적으로 처리되고 있음을 확인할 수 있도록 한다.
세 번째로 사용자 단말이 제2 입력 형식에 의해 인식한 명령에 상응한 기능 메뉴를 실행하여 제1 입력 형식에 의해 인식한 내용에 대한 처리가 완료되었음을 화면을 통해 알린다. 이는 사용자가 자신이 지시한 명령이 정상적으로 처리되었음을 확인할 수 있도록 한다.
도 41 내지 도 47은 본 발명의 실시 예에 따라 사용자 단말에서 사용자의 요청에 의한 다양한 명령 처리 절차를 보이고 있다. 즉 도 41 내지 도 47에서는 '전화 걸기', '메시지 전송', '메일 발송', '트윗 (twit) 등록', '페이스북 (facebook) 등록', '정보 검색' 각각의 명령에 따른 처리 절차를 보이고 있다.
도 41를 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 'Jason'이라 기재한 후, 상기 기재한 'Jason'에 밑줄을 긋는다 (A). 상기 기재한 'Jason'에 밑줄을 긋는 것은 제1 입력 형식에 상응한다. 이로써 상기 사용자 단말은 처리할 내용이 'Jason'임을 인지한다.
그 후 상기 사용자는 메모 기능을 이용하여 'Call'이라 기재한 후, 제2 입력 형식으로 미리 약속된 사전 동작과 상기 기재한 'Call'에 밑줄을 긋는다 (B). 상기 사전 동작의 일 예는 전자 펜을 상기 기재한 'Call'이라는 메모의 시작 부근에 위치한 상태를 일정 시간 동안 유지하는 동작이 될 수 있다. 이로써 상기 사용자 단말은 사용자의 의도가 'Jason에게 전화를 거는 것'임을 인지하고, 상기 인지한 사용자의 의도에 따른 동작을 수행한다. 이때 수행되는 동작은 인지한 명령에 상응한 아이콘을 명령에 상응한 메모 내용 근처에 표시하는 것을 포함한다.
한편 도 41에서는 내용에 해당하는 메모와 명령에 해당하는 메모가 별도로 이루어지는 것과 같이 도시하고 있으나, 두 가지의 메모가 먼저 이루어진 후 제1 입력 형식에 의해 내용이 선택되고, 제2 입력 형식에 의해 명령이 선택될 수도 있음은 자명하다.
도 42를 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 'Hello message'라고 기재한 후, 상기 기재한 메모 내용 중 'Hello'을 제1 입력 형식에 의해 선택하고, 상기 기재한 메모 내용 중 'message'를 제2 입력 형식에 의해 선택한다 (A). 이로써 상기 사용자 단말은 처리할 내용이 'Hello'이고, 수행할 명령에 따른 기능 메뉴가 '메시지 보내기'임을 인지한다. 상기 사용자 단말은 인지한 기능 메뉴, 즉 '메시지 보내기'에 상응한 아이콘을 명령에 상응한 메모 내용 근처에 표시한다.
상기 사용자 단말은 메시지를 보내기 위해서는 '누구'에게 보낼 지가 결정되어야 함에 따라, 화면에 누구에게 메시지를 보낼 것인지를 문의하는 메시지, 즉 'To whom shall I send it?'을 표시한다 (B).
상기 사용자 단말은 상기 문의 메시지에 응답하여 사용자가 메모 기능을 이용하여 화면에 'Jason'이라 기재할 시, 최종적으로 Jason에게 'Hello'이라는 메시지를 보내는 것이 사용자의 의도임을 인지한다.
이로써 상기 사용자 단말은 'Jason'에 대응하여 주소록 등에 기록된 연락처를 확인하고, 상기 확인한 연락처로 'Hello'이라는 메시지를 보내는 동작을 수행한다. 그 후 상기 사용자 단말은 'Jason'에게 'Hello'라는 메시지 보내기에 성공하였음을 알리는 메시지를 화면에 표시한다 (D).
도 43a 및 도 43b를 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 '분기보고 이번 분기 진행사항 시나리오 발굴' 이라 기재한다 (A). 그 후 상기 사용자는 상기 기재한 메모 내용 중 '이번 분기 진행사항 시나리오 발굴'이라는 메모 내용에 밑줄을 긋는다 (B). 상기 '이번 분기 진행사항 시나리오 발굴'에 밑줄을 긋는 것은 제1 입력 형식에 상응한다. 이로써 상기 사용자 단말은 처리할 내용이 '이번 분기 진행사항 시나리오 발굴'임을 인지한다.
상기 사용자는 메모 기능을 이용하여 '메일'이라 기재한다 (C). 그 후 상기 사용자 제2 입력 형식으로 미리 약속된 사전 동작과 상기 기재한 '메일'에 밑줄을 긋는다 (D). 상기 사전 동작의 일 예는 전자 펜을 상기 기재한 '메일'이라는 메모의 시작 부근에 위치한 상태를 일정 시간 동안 유지하는 동작이 될 수 있다. 이로써 상기 사용자 단말은 사용자의 의도가 '이번 분기 진행사항 시나리오 발굴'이라는 내용의 메일을 발송하는 임을 인지한다. 따라서 상기 사용자 단말은 앞서 인지한 명령에 상응한 아이콘, 즉 메일 발송을 의미하는 아이콘을 메모 내용 근처에 표시한다.
하지만 메일을 보내기 위해서는 수신자에 대한 정보가 있어야 한다. 따라서 상기 사용자 단말은 메일을 수신할 사람이 누구인지를 문의하는 메시지, 즉 '누구에게 메시지를 전송하시겠습니까?'을 표시한다 (E).
상기 사용자 단말은 상기 문의 메시지에 응답하여 사용자가 메모 기능을 이용하여 화면에 '김화경'이라 기재할 시, 김화경에게 '이번 분기 진행사항 시나리오 발굴'이라는 내용의 메일을 보내는 것이 사용자의 의도임을 인지한다. 이때 상기 사용자 단말은 '김화경'이라는 정보에 대응하여 주소록에 등록된 메일 주소가 존재하는 지를 판단하여야 한다. 만약 해당 메일 주소가 존재하지 않을 시에 상기 사용자 단말은 사용자에게 '김화경'에 대응한 메일 주소의 입력을 요구하고, 이에 대한 응답으로 입력되는 정보를 이용하여 메일을 발송할 수 있을 것이다.
하지만 이용 가능한 메일 계정이 복수인 경우, 상기 사용자 단말은 어떠한 메일 계정을 이용할 것인지에 대한 추가 확인이 필요할 것이다. 따라서 상기 사용자 단말은 사용자에게 '기본 메일 계정'과 'Gmail 계정' 중 어떠한 메일 계정을 이용할 것인지 선택할 것을 요청하는 화면을 표시한다 (G).
그 후 상기 사용자 단말은 사용자에 의해 특정 메일 계정이 선택되면, 상기 선택된 메일 계정에 의해 발신할 메일 포맷을 화면에 출력한다. 여기서 출력되는 메일 포맷은 사용자의 메일 계정, 수신측 메일 주소, 메일 내용이 삽입된 형식을 가진다.
따라서 사용자는 표시된 메일 포맷에서 키 패드 등을 이용하여 표시된 정보를 수정하거나 내용을 추가할 수 있다.
상기 화면에 표시된 메일 포맷을 확인한 사용자가 발신을 요청할 시, 상기 사용자 단말은 화면에 표시된 메일을 발송할 것이다.
도면에서는 도시하고 있지 않으나 사용자 단말은 메일 발송이 완료될 시, 그 사실을 안내하는 메시지를 화면에 출력한다. 이는 사용자에 의해 요청된 명령의 처리 결과를 사용자가 확인할 수 있도록 하기 위함이다.
도 44를 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 'Welcome To NLI'과 'twit'라고 기재한 후, 상기 기재한 'Welcome To NLI'를 제1 입력 형식에 의해 선택하고, 상기 기재한 메모 내용 중 'twit'를 제2 입력 형식에 의해 선택한다 (A). 이로써 상기 사용자 단말은 처리할 내용이 'Welcome To NLI'이고, 수행할 명령에 따른 기능 메뉴가 ''twit에 정보를 올리는 것'임을 인지한다. 상기 사용자 단말은 인지한 기능 메뉴, 즉 'twit에 정보 올리기'에 상응한 아이콘을 명령에 상응한 메모 내용 근처에 표시한다.
이로써 상기 사용자 단말은 사용자의 의도가 'Welcome To NLI'라는 메시지를 'twit'에 올리는 것'임을 인지하고, 상기 인지한 사용자의 의도에 따른 동작을 수행한다. 그리고 수행한 동작에 따른 결과를 화면 상에 표시함으로써, 사용자가 그 결과를 확인할 수 있도록 한다 (B).
도 45를 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 'I Love You'와 'facebook'라고 기재한 후, 상기 기재한 'I Love You'를 제1 입력 형식에 의해 선택하고, 상기 기재한 메모 내용 중 'facebook'를 제2 입력 형식에 의해 선택한다 (A). 이로써 상기 사용자 단말은 처리할 내용이 'I Love You'이고, 수행할 명령에 따른 기능 메뉴가 'facebook에 정보를 올리는 것'임을 인지한다. 상기 사용자 단말은 인지한 기능 메뉴, 즉 'facebook에 정보 올리기'에 상응한 아이콘을 명령에 상응한 메모 내용 근처에 표시한다.
이로써 상기 사용자 단말은 사용자의 의도가 'I Love You'라는 메시지를 'facebook'에 올리는 것'임을 인지하고, 상기 인지한 사용자의 의도에 따른 동작을 수행한다. 그리고 수행한 동작에 따른 결과를 화면 상에 표시함으로써, 사용자가 그 결과를 확인할 수 있도록 한다 (B).
도 46을 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 '갤럭시S3출시? 쿼드코어?!..'라고 메모한 후, 상기 메모한 '갤럭시S3출시? 쿼드코어?!..' 중 '갤럭시S3'을 제1 입력 형식에 의해 선택한다 (1. 참조). 이로써 사용자 단말은 처리할 내용이 '갤럭시S3'임을 인지한다.
그리고 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 화면에 '검색'이라 메모한 후, 제2 입력 형식에 의해 선택한다. 이로써 상기 사용자 단말은 처리할 내용이 '갤럭시S3'이고, 수행할 명령에 따른 기능 메뉴가 '검색'임을 인지한다. 상기 사용자 단말은 인지한 기능 메뉴, 즉 '검색'에 상응한 아이콘을 명령에 상응한 메모 내용 근처에 표시한다.
하지만 상기 사용자 단말은 '검색'을 수행하기 위해서는 어떠한 검색 엔진을 사용할지에 대한 추가 정보가 필요하다고 판단한다. 따라서 상기 사용자 단말은 검색 엔진에 대한 추가 정보를 획득하기 위해, 이를 문의하는 메시지를 화면에 표시한다. 즉 사용자 단말은 '어느 검색엔진을 사용하시겠습니까?' 또는 'Google? Naver? Wikipedeia?'라는 메시지를 화면을 통해 출력한다 (2. 참조).
상기 메시지에 응답하여 사용자는 상기 사용자 단말에서 지원하는 메모 기능을 이용하여 사용할 검색 엔진에 관한 정보를 메모한다. 예컨대 상기 사용자는 메모 기능을 이용하여 '구글'이라 필기할 시, 사용자 단말은 사용자가 '구글'을 검색 엔진으로 사용할 것을 지시한 것으로 인지한다 (3. 참조). 도면에서는 '구글'을 선택하기 위한 어떠한 입력 형식도 정의하고 있지 않으나, 상기 '구글'은 앞에서 정의한 제1 입력 형식에 의해 선택될 수 있다.
이로써 상기 사용자 단말은 사용자의 의도가 갤럭시S3를 구글이라는 검색 엔진을 사용하여 검색하는 것'임을 인지하고, 상기 인지한 사용자의 의도에 따른 동작을 수행한다. 그리고 수행한 동작에 따른 결과를 화면에 표시함으로써, 사용자가 그 결과를 확인할 수 있도록 한다 (4. 참조).
도 47을 참조하면, 사용자는 사용자 단말에서 지원하는 메모 기능을 이용하여 'xx은행 02-1588-9000'이라 기재한다 (A). 그리고 상기 기재한 내용 중 '02-1588-9000'에 밑줄을 긋고, '전화'라고 필기한 후, 제2 입력 형식으로 미리 약속된 사전 동작과 상기 기재한 '전화'에 밑줄을 긋는다 (B). 여기서 '02-1588-9000'에 밑줄을 긋는 것은 제1 입력 형식에 상응한다. 그리고 상기 사전 동작의 일 예는 전자 펜을 상기 기재한 '전화'라는 메모의 시작 부근에 위치한 상태를 일정 시간 동안 유지하는 동작이 될 수 있다.
상기 사용자 단말은 사용자의 의도가 '02-1588-9000로 전화를 거는 것'임을 인지하고, 상기 인지한 명령에 상응한 아이콘을 명령에 상응한 메모에 해당하는 '전화'라는 내용 근처에 표시한다.
그리고 상기 사용자 단말은 상기 인지한 사용자의 의도에 따른 동작을 수행한다 (C). 즉 상기 사용자 단말은 전화를 걸기 위한 기능 메뉴를 실행한 후 '02-1588-9000'로 전화 걸기 동작을 수행한다.
한편 도 47에서는 내용에 해당하는 메모와 명령에 해당하는 메모가 별도로 이루어지는 것과 같이 도시하고 있으나, 두 가지의 메모가 먼저 이루어진 후 제1 입력 형식에 의해 내용이 선택되고, 제2 입력 형식에 의해 명령이 선택될 수도 있음은 자명하다.
상술한 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재 기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비 휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다.
본 발명의 상기 사용자 단말에서 사용자 인터페이스 장치 및 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 따라서, 본 발명은 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다.
또한, 상기 사용자 단말에서 사용자 인터페이스 장치 및 방법은 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 그래픽 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 전송하는 제어부를 포함할 수 있다.
예컨대 앞에서 살펴본 본 발명의 실시 예에서는 사용자 인터페이스를 구성하는 인지 엔진에 의해 인식된 결과를 기반으로 사용자의 의도를 분석하여 그에 다른 처리 결과를 사용자에게 제공하는 모든 기능이 사용자 단말 내에서 처리되는 것을 가정하고 있다.
하지만 본 발명을 위해 필요한 기능은 사용자 단말이 네트워크를 통해 접근 가능한 서버와의 연동에 의해 수행될 수도 있다. 일 예로 사용자 단말에 구비된 인지 엔진에서의 인식 결과를 네트워크를 통해 특정 서버로 제공하고, 상기 특정 서버에서 사용자 단말로부터 제공된 인식 결과를 기반으로 사용자의 의도를 파악하여 그 결과를 사용자 단말에게 제공할 수 있다. 만약 제공된 인식 결과만으로 사용자의 의도를 파악하거나 파악한 사용자의 의도를 처리하기 위해 추가 정보가 필요한 경우, 사용자 단말과의 문답 절차를 수행하여 필요한 추가 정보를 제공받는 것도 가능하다.
뿐만 아니라 사용자는 사용자 단말의 설정을 조정하여 본 발명의 실시 예에 따른 동작을 사용자 단말 내로 한정하거나 네트워크를 통한 서버와의 연동으로 확장하는 것을 선택적으로 이용할 수도 있다.

Claims (16)

  1. 사용자 단말에서의 사용자 인터페이스 방법에 있어서,
    어플리케이션을 실행하는 과정;
    상기 어플리케이션이 실행중인 상태에서 메모 레이어를 제공하는 과정;
    상기 메모 레이어의 제1 영역에서 제1 입력 이벤트를 수신하고, 제2 영역에서 제2 입력 이벤트를 수신하는 과정;
    상기 제1 입력 이벤트 및 상기 제2 입력 이벤트를 이용하여 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 하나는 핸드 라이팅 입력으로 인식하고, 다른 하나는 드로잉 입력으로 인식하는 입력 인식 과정; 및
    상기 입력 인식 결과에 따라 상기 어플리케이션이 기능들 중 미리 정해진 기능을 수행하는 기능 수행과정을 포함함을 특징으로 하는 사용자 인터페이스 방법.
  2. 제1항에 있어서,
    상기 어플리케이션은 지도 어플리케이션이고, 상기 기능 수행 과정은,
    상기 드로잉 입력에 따라 지도 상에 드로잉 객체를 표시하고, 상기 드로잉 객체에 해당하는 영역을 선택하는 과정;
    상기 핸드 라이팅 입력에 따라 상기 핸드 라이팅 입력 내용에 해당하는 위치를 검색하는 과정; 및
    상기 검색된 위치들 중 상기 드로잉 객체에 해당하는 영역 내에 포함되는 위치를 표시하는 과정을 포함하는 것을 특징으로 하는 사용자 인터페이스 방법.
  3. 제1항에 있어서, 상기 입력 인식 과정은,
    상기 메모 레이어 상의 제1 영역에 입력된 제1 입력 이벤트를 핸드 라이팅 입력으로 인식하는 과정; 및
    상기 메모 레이어 상의 제2 영역에 입력된 제2 입력 이벤트를 드로잉 입력으로 인식하는 과정을 포함하는 것을 특징으로 하는 사용자 인터페이스 방법.
  4. 제2항에 있어서, 상기 입력 인식 과정은,
    상기 제1 입력 이벤트 및 제2 입력 이벤트의 스트로크를 분헉하여,
    상기 제1 입력 이벤트 및 제2 입력 이벤트의 형태가 핸드 라이팅 형태에 해당되면 핸드라이팅 입력으로 인식하는 과정; 및
    상기 제1 입력 이벤트 및 제2 입력 이벤트의 형태가 드로잉 형태에 해당되면 드로잉 입력으로 인식하는 과정을 포함하는 것을 특징으로 하는 사용자 인터페이스 방법.
  5. 제2항에 있어서,
    상기 드로잉 객체는 미리 정해진 크기를 갖는 동심원 형태인 것을 특징으로 하는 사용자 사용자 인터페이스 방법.
  6. 제5항에 있어서,
    상기 드로잉 객체의 이동 요청 입력에 해당하는 제3 입력 이벤트가 수신되는지 판단하는 과정;
    상기 드로잉 객체의 이동 요청 입력에 따라 상기 드로잉 객체를 이동시키고, 이동된 드로잉 객체를 표시하는 과정;
    상기 이동된 드로잉 객체에 해당하는 영역을 선택하는 과정; 및
    상기 검색된 위치들 중 상기 이동된 드로잉 객체에 해당하는 영역 내에 포함되는 위치를 표시하는 과정을 포함하는 것을 특징으로 하는 사용자 인터페이스 방법.
  7. 제2항에 있어서,
    상기 제1 입력 이벤트 및 제2 입력 이벤트는 각각 터치 입력 모드에서 입력된 터치 입력 이벤트 및 펜 입력 모드에서 입력된 펜 입력 이벤트 중 어느 하나의 입력 이벤트인 것을 특징으로 하는 사용자 인터페이스 방법.
  8. 제7항에 있어서, 상기 제1 영역에서 제1 입력 이벤트를 수신하고, 제2 영역에서 제2 입력 이벤트를 수신하는 과정은,
    상기 터치 입력 모드와 상기 펜 입력 모드 중 어느 하나의 입력 모드를 선택받아 입력 모드를 상기 선택된 입력 모드로 전환하는 과정; 및
    상기 터치 입력 모드이면 상기 터치 입력 모드에서 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 어느 하나를 수신하고, 상기 펜 입력 모드이면 상기 펜 입력 모드에서 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 어느 하나를 수신하는 과정을 포함하는 것을 특징으로 하는 사용자 인터페이스 방법.
  9. 사용자 단말에서의 사용자 인터페이스 장치에 있어서,
    어플리케이션이 실행중인 상태에서 메모 레이어를 표시하고, 상기 메모 레이어의 제1 영역에서 사용자에 의한 입력에 따라 제1 입력 이벤트를 출력하고, 제2 영역에서 사용자에 의한 입력에 따라 제2 입력 이벤트를 출력하는 터치 패널부;
    상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 하나는 핸드 라이팅 입력으로, 다른 하나는 드로잉 입력으로 인식하고, 상기 어플리케이션의 기능들 중 미리 정해진 기능을 수행하도록 하는 명령을 처리하는 명령 처리부; 및
    상기 어플리케이션의 기능들 중 미리 정해진 기능을 수행하는 어플리케이션 수행부를 포함함을 특징으로 하는 사용자 인터페이스 장치.
  10. 제9항에 있어서, 상기 어플리케이션은 지도 어플리케이션이고,
    상기 어플리케이션 수행부는,
    상기 드로잉 입력에 따라 지도 상에 드로잉 객체를 표시하고, 상기 드로잉 객체에 해당하는 영역을 선택하고, 상기 핸드 라이팅 입력에 따라 상기 핸드라이팅 입력 내용에 해당하는 위치를 검색하여 상기 검색된 위치들 중 상기 드로잉 객체에 해당하는 영역 내에 포함되는 위치를 표시하는 것을 특징으로 하는 사용자 인터페이스 장치.
  11. 제9항에 있어서, 상기 명령 처리부는,상기 메모 레이어 상의 제1 영역에서의 제1 입력 이벤트를 핸드라이팅 입력으로 인식하고, 상기 메모 레이어 상의 제2 영역에서의 제2 입력 이벤트를 드로잉 입력으로 인식하는 것을 특징으로 하는 사용자 인터페이스 장치.
  12. 제9항에 있어서, 상기 명령 처리부는,
    상기 제1 입력 이벤트 및 제2 입력 이벤트를 분석하여, 입력 이벤트의 형태가 핸드라이팅 형태에 해당되면 핸드라이팅 입력으로 인식하고, 상기 입력 이벤트의 형태가 드로잉 형태에 해당되면 드로잉 입력으로 인식하는 것을 특징으로 하는 사용자 인터페이스 장치.
  13. 제10항에 있어서,
    상기 드로잉 객체는 미리 정해진 크기를 갖는 동심원 형태인 것을 특징으로 하는 사용자 인터페이스 장치.
  14. 제13항에 있어서, 상기 어플리케이션 수행부는,
    상기 드로잉 객체의 이동 요청 입력에 해당하는 제3 입력 이벤트가 수신되면, 상기 드로잉 객체의 이동 요청 입력에 따라 상기 드로잉 객체를 이동시켜, 이동된 드로잉 객체를 표시하고, 상기 검색된 위치들 중 상기 이동된 드로잉 객체에 해당하는 영역 내에 포함되는 위치를 표시하는 것을 특징으로 하는 사용자 인터페이스 장치.
  15. 제9항에 있어서, 상기 터치 패널부는,
    사용자에 의한 터치 입력에 따라 터치 입력 이벤트를 출력하는 터치 패널과,
    사용자에 의한 펜 입력에 따라 펜 입력 이벤트를 출력하는 펜 인식 패널 중 적어도 하나를 포함하는 것을 특징으로 하는 사용자 인터페이스 장치.
  16. 제14항에 있어서, 상기 명령 처리부는,
    상기 터치 입력 모드와 상기 펜 입력 모드 중 어느 하나의 입력 모드를 선택받아 입력 모드를 상기 선택된 입력 모드로 전환하고,
    상기 터치 입력 모드이면 상기 터치 입력 모드에서 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 어느 하나를 수신하고,
    상기 펜 입력 모드이면 상기 펜 입력 모드에서 상기 제1 입력 이벤트 및 상기 제2 입력 이벤트 중 어느 하나를 수신하는 것을 특징으로 하는 사용자 인터페이스 장치.
KR20120139919A 2012-07-13 2012-12-04 사용자 단말에서 사용자 인터페이스 장치 및 방법 KR20140019206A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/939,590 US20140015780A1 (en) 2012-07-13 2013-07-11 User interface apparatus and method for user terminal
EP13817467.7A EP2872972A4 (en) 2012-07-13 2013-07-11 USER INTERFACE DEVICE AND METHOD FOR USER DEVICE
PCT/KR2013/006224 WO2014010975A1 (en) 2012-07-13 2013-07-11 User interface apparatus and method for user terminal

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020120076514 2012-07-13
KR20120076514 2012-07-13
KR1020120095953 2012-08-30
KR20120095953 2012-08-30

Publications (1)

Publication Number Publication Date
KR20140019206A true KR20140019206A (ko) 2014-02-14

Family

ID=50266878

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120139919A KR20140019206A (ko) 2012-07-13 2012-12-04 사용자 단말에서 사용자 인터페이스 장치 및 방법

Country Status (4)

Country Link
US (1) US20140015780A1 (ko)
EP (1) EP2872972A4 (ko)
KR (1) KR20140019206A (ko)
WO (1) WO2014010975A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162898B2 (en) 2014-12-03 2018-12-25 Samsung Electronics Co., Ltd. Method and apparatus for searching

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394874B1 (ko) * 2012-09-24 2014-05-13 주식회사 팬택 필기 기반으로 특정 기능을 실행하는 방법 및 그에 따른 디바이스
KR20150018127A (ko) * 2013-08-09 2015-02-23 삼성전자주식회사 디스플레이 장치 및 그 방법
TWI510994B (zh) * 2013-09-13 2015-12-01 Acer Inc 可攜式電子裝置及控制可攜式電子裝置的方法
US9665206B1 (en) * 2013-09-18 2017-05-30 Apple Inc. Dynamic user interface adaptable to multiple input tools
US20160259488A1 (en) * 2015-03-06 2016-09-08 Alibaba Group Holding Limited Navigation user interface for compact mobile devices
US10108333B2 (en) * 2015-06-26 2018-10-23 International Business Machines Corporation Inferring insights from enhanced user input
US10572497B2 (en) * 2015-10-05 2020-02-25 International Business Machines Corporation Parsing and executing commands on a user interface running two applications simultaneously for selecting an object in a first application and then executing an action in a second application to manipulate the selected object in the first application
US11153411B2 (en) 2017-04-10 2021-10-19 Samsung Electronics Co., Ltd. Method and apparatus for processing user request
KR20210040656A (ko) * 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 이의 제어 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093419A1 (en) * 2001-08-17 2003-05-15 Srinivas Bangalore System and method for querying information using a flexible multi-modal interface
CN101523331B (zh) * 2006-09-28 2015-12-09 京瓷株式会社 便携式终端及其控制方法
US20100232405A1 (en) * 2007-07-06 2010-09-16 Navitime Japan Co., Ltd. Information collection system, information registration server, information collection method, and mobile terminal device
KR101538691B1 (ko) * 2009-01-07 2015-07-22 삼성전자주식회사 휴대 단말기를 이용한 길 안내 방법 및 장치
US20100281435A1 (en) * 2009-04-30 2010-11-04 At&T Intellectual Property I, L.P. System and method for multimodal interaction using robust gesture processing
KR20110001375A (ko) * 2009-06-30 2011-01-06 삼성탈레스 주식회사 전자식 터치 스크린을 운용하는 시스템에서 터치 스크린의 데이터를 전송하는 장치 및 방법
US20110054776A1 (en) * 2009-09-03 2011-03-03 21St Century Systems, Inc. Location-based weather update system, method, and device
US8452784B2 (en) * 2009-10-22 2013-05-28 Nokia Corporation Method and apparatus for searching geo-tagged information
KR101689170B1 (ko) * 2010-02-04 2016-12-23 엘지전자 주식회사 이동 단말기, 이동 단말기의 정보 송신 방법 및 이동 단말기의 정보 제공 방법
KR101802498B1 (ko) * 2010-12-31 2017-11-28 주식회사 케이티 이동 단말기 및 이동 단말기에서 터치 패턴 인식에 따른 지도 위치 검색 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10162898B2 (en) 2014-12-03 2018-12-25 Samsung Electronics Co., Ltd. Method and apparatus for searching

Also Published As

Publication number Publication date
EP2872972A4 (en) 2016-07-13
WO2014010975A1 (en) 2014-01-16
EP2872972A1 (en) 2015-05-20
US20140015780A1 (en) 2014-01-16

Similar Documents

Publication Publication Date Title
KR20140008985A (ko) 사용자 단말에서 사용자 인터페이스 장치 및 방법
RU2650029C2 (ru) Способ и устройство для управления приложением посредством распознавания нарисованного от руки изображения
KR20140019206A (ko) 사용자 단말에서 사용자 인터페이스 장치 및 방법
KR102150289B1 (ko) 사용자 단말에서 사용자 인터페이스 장치 및 이를 지원하는 방법
KR102059800B1 (ko) 사용자 단말에서 사용자 인터페이스 장치 및 이를 지원하는 방법
KR102475223B1 (ko) 사용자 디바이스에서 상황 인식 서비스 제공 방법 및 장치
US9110587B2 (en) Method for transmitting and receiving data between memo layer and application and electronic device using the same
KR20140117137A (ko) 터치용 펜을 이용한 휴대용 장치 및 이를 이용한 어플리케이션 제어 방법
KR20140026966A (ko) 펜 기능 운용 방법 및 시스템
KR20140092459A (ko) 메모 레이어와 어플리케이션 사이에 데이터를 주고 받는 방법 및 이를 구비한 전자장치
EP2806364B1 (en) Method and apparatus for managing audio data in electronic device
Solorzano Mobile Multimodal Interaction: An Investigation and Implementation of Context-dependent Adaptation

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid