KR102347248B1 - 터치 제스쳐 인식 방법 및 장치 - Google Patents

터치 제스쳐 인식 방법 및 장치 Download PDF

Info

Publication number
KR102347248B1
KR102347248B1 KR1020140166824A KR20140166824A KR102347248B1 KR 102347248 B1 KR102347248 B1 KR 102347248B1 KR 1020140166824 A KR1020140166824 A KR 1020140166824A KR 20140166824 A KR20140166824 A KR 20140166824A KR 102347248 B1 KR102347248 B1 KR 102347248B1
Authority
KR
South Korea
Prior art keywords
touch
area
touch input
input
touch gesture
Prior art date
Application number
KR1020140166824A
Other languages
English (en)
Other versions
KR20160063163A (ko
Inventor
김남준
박준아
박두식
신정순
임수철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140166824A priority Critical patent/KR102347248B1/ko
Priority to US14/798,803 priority patent/US10067610B2/en
Publication of KR20160063163A publication Critical patent/KR20160063163A/ko
Application granted granted Critical
Publication of KR102347248B1 publication Critical patent/KR102347248B1/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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • 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/163Wearable computers, e.g. on a belt
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04182Filtering of noise external to the device and not generated by digitiser components
    • 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/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup

Abstract

터치 제스쳐를 인식하는 터치 제스쳐 인식 방법 및 장치가 개시된다. 터치 제스쳐 인식 장치는 터치 오브젝트가 나타난 깊이 영상을 획득하고, 깊이 영상으로부터 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 변화를 추적하여 터치 입력의 변화에 대응하는 터치 제스쳐를 인식할 수 있다.

Description

터치 제스쳐 인식 방법 및 장치{METHOD AND APPARATUS FOR RECOGNIZING TOUCH GESTURE}
아래의 설명은 터치 제스쳐를 인식하는 기술에 관한 것이다.
최근 사용자에게 편리한 제어 환경을 제공하기 위한 다양한 사용자 인터페이스가 개발되고 있다. 그 중 하나인 비접촉 컨트롤(touch-less control) 방식은 단말의 터치 스크린이나 버튼에 대한 접촉 없이 단말을 제어하는 인터페이스 방식이다. 비접촉 컨트롤 방식에는, 예를 들어, 다양한 근접 센서(proximity sensor)로부터 전달되는 센싱 정보를 이용하는 방법, 사용자 신체 부의의 체온을 이용한 방법, 및 손가락을 촬영한 영상을 이용하는 방법 등이 있다.
일 실시예에 따른 터치 제스쳐 인식 방법은, 터치 오브젝트가 나타난 깊이 영상을 획득하는 단계; 상기 깊이 영상으로부터 상기 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출하는 단계; 및 상기 터치 입력의 변화를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법은, 상기 배경 영역을 학습하는 단계를 더 포함할 수 있고, 상기 터치 입력을 검출하는 단계는, 상기 학습된 배경 영역에 기초하여 상기 터치 입력을 검출하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 터치 입력을 검출하는 단계는, 상기 학습된 배경 영역에 기초하여 상기 터치 입력을 검출하기 위한 터치 검출 영역을 결정하는 단계; 및 상기 터치 검출 영역 내에서 상기 터치 입력을 검출하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 터치 검출 영역은, 상기 학습된 배경 영역의 일부 영역 및 상기 배경 영역의 윤곽에 인접한 주변 영역을 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 배경 영역을 학습하는 단계는, 초기 깊이 영상에 나타난 배경 영역이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하는 단계; 및 상기 배경 영역이 상기 학습 조건을 만족시키는 경우, 상기 초기 깊이 영상에 기초하여 상기 배경 영역을 학습하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 배경 영역을 학습하는 단계는, 미리 결정된 학습 주기에 도달하였는지 여부를 결정하는 단계; 상기 학습 주기에 도달한 경우, 배경 영역의 학습을 위한 학습 깊이 영상에 터치 이벤트가 존재하는지 여부를 결정하는 단계; 상기 학습 깊이 영상에 상기 터치 이벤트가 존재하지 않는 경우, 상기 학습 깊이 영상으로부터 배경 영역을 추출하는 단계; 및 상기 학습 깊이 영상으로부터 추출된 배경 영역에 기초하여 상기 배경 영역을 학습하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 터치 입력을 검출하는 단계는, 상기 터치 검출 영역 내에 상기 터치 오브젝트가 터치되었는지 여부를 결정하는 단계; 및 상기 터치 오브젝트가 상기 터치 검출 영역에 터치된 상태에서 상기 터치 입력의 변화를 검출하는 단계를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 터치 입력을 검출하는 단계는, 상기 터치 입력의 위치 및 상기 터치 입력의 터치 각도 중 적어도 하나를 결정하는 단계를 포함할 수 있고, 상기 터치 제스쳐를 인식하는 단계는, 상기 터치 입력의 위치의 변화 및 상기 터치 입력의 터치 각도의 변화 중 적어도 하나를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식할 수 있다.
다른 실시예에 따른 터치 제스쳐 인식 방법은, 깊이 영상에 나타난 배경 영역을 학습하는 단계; 상기 학습된 배경 영역에 기초하여 터치 검출 영역을 결정하는 단계; 상기 터치 검출 영역에 나타난 터치 오브젝트 영역에 기초하여 상기 터치 오브젝트에 의한 터치 입력을 검출하는 단계; 및 상기 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식하는 단계를 포함할 수 있다.
다른 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 배경 영역을 학습하는 단계는, 미리 결정된 학습 주기에 도달하였는지 여부를 결정하는 단계; 상기 학습 주기에 도달한 경우, 배경 영역의 학습을 위한 학습 깊이 영상에 터치 이벤트가 존재하는지 여부를 결정하는 단계; 상기 학습 깊이 영상에 상기 터치 이벤트가 존재하지 않는 경우, 상기 학습 깊이 영상으로부터 배경 영역을 추출하는 단계; 및 상기 학습 깊이 영상으로부터 추출된 배경 영역에 기초하여 상기 배경 영역을 학습하는 단계를 포함할 수 있다.
다른 실시예에 따른 터치 제스쳐 인식 방법에서, 상기 터치 입력을 검출하는 단계는, 상기 터치 입력의 위치 및 상기 터치 입력의 터치 각도 중 적어도 하나를 결정하는 단계를 포함할 수 있고, 상기 터치 제스쳐를 인식하는 단계는, 상기 터치 입력의 위치의 변화 및 상기 터치 입력의 터치 각도의 변화 중 적어도 하나를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 장치는, 터치 오브젝트가 나타난 깊이 영상을 획득하는 깊이 센서; 및 상기 깊이 영상으로부터 상기 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출하고, 상기 터치 입력의 변화를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는 프로세서를 포함할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 장치에서, 상기 깊이 센서로부터 획득한 학습 깊이 영상에 기초하여 상기 배경 영역을 학습하는 학습기를 더 포함할 수 있고, 상기 프로세서는, 상기 학습된 배경 영역에 기초하여 상기 터치 검출 영역을 결정할 수 있다.
일 실시예에 따른 터치 제스쳐 인식 장치에서, 상기 학습기는, 미리 설정된 학습 주기에 도달한 경우, 배경 영역의 학습을 위한 학습 깊이 영상에 터치 이벤트가 존재하는지 여부를 결정하고, 상기 터치 이벤트가 존재하지 않는 경우, 상기 학습 깊이 영상으로부터 배경 영역을 추출하고, 상기 추출된 배경 영역을 학습할 수 있다.
다른 실시예에 따른 터치 제스쳐 인식 장치는, 깊이 영상을 획득하는 깊이 센서; 상기 깊이 센서로부터 획득된 깊이 영상으로부터 터치 오브젝트가 터치되는 배경 영역을 학습하는 학습기; 및 상기 학습된 배경 영역에 기초하여, 상기 터치 오브젝트가 나타나는 깊이 영상으로부터 터치 오브젝트에 의한 터치 입력을 검출하고, 상기 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식하는 프로세서를 포함할 수 있다.
도 1a 내지 도 1c는 일 실시예에 따른 터치 제스쳐 인식 장치가 구현된 일례들을 도시하는 도면들이다.
도 2는 일 실시예에 따른 터치 제스쳐 인식 방법의 동작을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 배경 영역을 학습하는 동작을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 배경 영역의 학습 과정을 설명하기 위한 일례를 도시한 도면이다.
도 5는 다른 실시예에 따른 배경 영역을 학습하는 동작을 설명하기 위한 흐름도이다.
도 6은 다른 실시예에 따른 배경 영역의 학습 과정을 설명하기 위한 일례를 도시한 도면이다.
도 7은 일 실시예에 따른 깊이 영상으로부터 터치 입력을 검출하는 동작을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 따른 깊이 영상으로부터 터치 입력을 검출하는 일례를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 터치 입력을 분석하는 동작을 설명하기 위한 흐름도이다.
도 10은 일 실시예에 따른 터치 입력을 분석하는 일례를 설명하기 위한 도면이다.
도 11은 다른 실시예에 따른 터치 제스쳐 인식 방법의 동작을 설명하기 위한 흐름도이다.
도 12는 일 실시예에 따른 터치 제스쳐 인식 장치의 구성을 도시하는 도면이다.
도 13a 내지 도 13b는 다른 실시예에 따른 터치 제스쳐 인식 장치가 구현된 일례들을 도시한 도면들이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1a 내지 도 1c는 일 실시예에 따른 터치 제스쳐 인식 장치가 구현된 일례들을 도시하는 도면들이다.
터치 제스쳐 인식 장치는 터치 오브젝트의 움직임에 의한 터치 제스쳐(touch gesture)를 인식한다. 일 실시예에 따르면, 사용자는 손가락 등과 같은 터치 오브젝트를 이용하여 손등, 손바닥 또는 팔 영역에 사용자 입력을 입력할 수 있다. 터치 제스쳐 인식 장치는 깊이 센서를 이용하여 사용자 입력을 인식하고, 사용자가 의도한 제스쳐 패턴을 인식할 수 있다. 예를 들어, 사용자는 손등에 특정 방향, 원(circle) 등의 심볼, 또는 문자(character) 등을 사용자 입력으로 입력할 수 있다.
터치 제스쳐 인식 장치는 깊이 카메라(depth camera)와 같은 깊이 센서(depth sensor)를 이용하여 터치 오브젝트에 대한 깊이 정보를 획득하고, 획득한 깊이 정보에 기초하여 터치 제스쳐를 인식할 수 있다. 터치 오브젝트에 대한 깊이 정보는 깊이 센서를 포함하는 터치 제스쳐 인식 장치로부터 터치 오브젝트까지의 거리 정보를 포함한다.
터치 제스쳐 인식 장치는 깊이 임계값(depth threshold value)에 기초하여 깊이 센서의 화각 영역을 벗어나는 영역을 차단(cut off)한 깊이 영상을 생성할 수 있다. 깊이 영상에서 깊이 임계값을 초과하는 거리에 있는 영역은 특정한 깊이 값으로 설정될 수 있다. 예를 들어, 깊이 영상에서 깊이 임계값을 초과하는 거리에 있는 영역 내 픽셀들은 깊이 센서의 타입에 따라 '0' 또는 '최대(예, 255)'의 깊이 값으로 설정될 수 있다. 배경 영역이 사용자의 손등 영역인 경우, 깊이 영상에서 손등 영역을 제외한 나머지 영역은 0 또는 최대의 깊이 값으로 설정될 수 있다.
터치 제스쳐 인식 장치는 깊이 센서를 이용하여 터치 오브젝트를 촬영한 깊이 영상의 스트림을 획득하고, 깊이 영상의 스트림을 통해 터치 오브젝트에 의한 터치 입력의 움직임을 추적(tracking)하여 사용자 입력을 인식할 수 있다. 터치 제스쳐 인식 장치는 시간의 흐름에 따라 변화하는 터치 오브젝트의 깊이 정보에 기초하여 터치 오브젝트에 의한 터치 입력을 식별하고, 식별한 터치 입력을 분석하여 사용자가 의도한 터치 제스쳐를 인식할 수 있다.
터치 제스쳐 인식 장치는 깊이 영상에 나타난 배경(background) 영역을 지속적으로 학습하여 손등의 움직임에 강인하게 제스쳐 인식을 수행할 수 있다. 배경 영역은, 예를 들어, 손등, 손바닥 또는 팔 영역에 해당될 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에 나타난 하나 또는 복수의 터치 오브젝트들의 터치 여부를 결정하고, 배경 영역에 터치된 터치 오브젝트들의 위치를 2차원 데이터로 변환하여 추적할 수 있다. 터치 제스쳐 인식 장치는 추적 결과에 기초하여 사용자가 사용자 입력을 통해 의도한 제스쳐 패턴을 인식하고, 인식된 제스쳐 패턴에 대응하는 제어 신호를 생성할 수 있다.
터치 제스쳐 인식 장치는 다양한 웨어러블 디바이스(wearable device)에 포함되어 동작할 수 있다. 예를 들어, 도 1a 내지 도 1c에서와 같이 터치 제스쳐 인식 장치(110)는 스마트 와치(smart watch)와 같은 손목 착용형 웨어러블 디바이스에 포함되어 동작할 수 있다. 터치 제스쳐 인식 장치(110)는 깊이 센서(120)를 이용하여 터치 오브젝트(140)가 나타난 깊이 영상을 획득할 수 있고, 시간의 흐름에 따른 깊이 영상의 변화를 분석하여 손등(130) 상에서 터치 오브젝트(140)의 움직임에 따른 제스쳐 패턴을 인식할 수 있다. 도 1a 내지 도 1c에서 깊이 센서(120)로부터 시작되는 점선은 깊이 센서(120)가 센싱할 수 있는 범위인 화각(angle of view)을 나타낸다.
터치 제스쳐 인식 장치(110)는 시간의 흐름에 따른 깊이 영상의 변화를 분석하여 터치 오브젝트(140)의 움직임을 추적할 수 있고, 터치 오브젝트(140)의 움직임에 대응하는 제스쳐 패턴을 인식할 수 있다. 터치 오브젝트는, 예를 들어, 사용자의 손가락이거나 또는 펜 형태의 물체일 수 있다. 터치 제스쳐 인식 장치(110)는 인식된 제스쳐 패턴에 대한 정보를 생성하고, 웨어러블 디바이스는 인식된 제스쳐 패턴에 대응하는 인터페이스 동작을 수행할 수 있다.
예를 들어, 도 1a에서와 같이, 터치 제스쳐 인식 장치(110)는 깊이 센서(120)로부터 획득한 깊이 영상에 기초하여 손등(130) 상에서의 터치 오브젝트(140)의 이동 움직임을 추적할 수 있고, 추적된 터치 오브젝트(140)의 이동 움직임이 웨어러블 디바이스를 통해 디스플레이될 수 있다.
도 1b에서와 같이, 터치 제스쳐 인식 장치(110)는 깊이 센서(120)로부터 획득한 깊이 영상에 기초하여 터치 오브젝트(140)가 손등(130)에 터치된 상태에서의 터치 각도의 변화를 추적할 수 있고, 웨어러블 디바이스는 추적된 터치 오브젝트(140)의 터치 각도의 변화에 대응하는 제어 동작을 수행할 수 있다. 도 1b에서와 같은 실시예에서, 사용자는 터치 오브젝트(140)의 터치 각도를 조절하여 조이스틱 인터페이스와 같은 효과를 구현할 수 있다.
그리고, 도 1c에서와 같이, 터치 제스쳐 인식 장치(110)는 깊이 센서(120)로부터 획득한 깊이 영상에 기초하여 복수의 터치 오브젝트(140)들의 이동 움직임을 추적할 수 있고, 웨어러블 디바이스는 터치 오브젝트(140)들의 이동 움직임에 대응하는 제어 동작을 수행할 수 있다. 사용자가 터치 오브젝트(140)들로서 두 손가락들을 손등(130)에서 터치한 상태에서 두 손가락들 간의 거리를 확장시키는 제스쳐를 취한 경우, 웨어러블 디바이스에 디스플레이된 컨텐츠가 확장되어 디스플레이되는 제어 동작이 수행될 수 있다.
도 2는 일 실시예에 따른 터치 제스쳐 인식 방법의 동작을 설명하기 위한 흐름도이다.
단계(210)에서, 터치 제스쳐 인식 장치는 깊이 영상에 나타난 배경 영역을 학습할 수 있다. 배경 영역은 터치 오브젝트가 터치될 수 있는 터치 영역이다. 터치 제스쳐 인식 장치는, 예를 들어, 깊이 영상으로부터 터치 오브젝트에 의한 터치 입력이 입력되는 손등, 손바닥 또는 팔 영역 등에 대응하는 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에서 어느 영역이 배경 영역이고, 어느 영역이 터치 오브젝트가 나타난 터치 오브젝트 영역인지를 구별하기 위해 터치 오브젝트가 존재하지 않는 상태에서 배경 영역에 대한 깊이 영상을 학습할 수 있다.
터치 제스쳐 인식 장치는 동작 초기에 획득된 깊이 영상인 초기 깊이 영상에 나타난 배경 영역을 학습하여 터치 입력에 이용할 배경 영역을 결정할 수 있다. 터치 제스쳐 인식 장치는 초기 깊이 영상에서 배경 영역을 추출하고, 추출된 배경 영역에 기초하여 터치 오브젝트가 터치되는 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치가 초기 상태에서 배경 영역을 학습하는 과정에 대한 자세한 내용은 도 3 내지 도 4에서 후술하도록 한다.
터치 제스쳐 인식 장치는 동작 초기 이후에 깊이 영상에 나타난 배경 영역을 지속적으로 학습할 수 있다. 터치 제스쳐 인식 장치는 미리 설정된 학습 주기에 도달할 때마다 배경 영역의 학습을 위한 학습 깊이 영상으로부터 배경 영역을 학습하고, 학습 결과에 기초하여 터치 오브젝트가 터치되는 배경 영역을 업데이트할 수 있다. 터치 제스쳐 인식 장치는 학습 깊이 영상에 터치 이벤트(touch event)가 존재하는지 여부를 결정하고, 학습 깊이 영상에 터치 이벤트가 존재하지 않는 경우, 학습 깊이 영상으로부터 배경 영역을 추출하고, 추출된 배경 영역에 기초하여 터치 오브젝트가 터치되는 배경 영역을 학습할 수 있다. 터치 이벤트는 터치 오브젝트가 배경 영역에 터치되었다는 것을 나타내는 이벤트이다. 터치 제스쳐 인식 장치가 초기 상태 이후에 지속적으로 배경 영역을 학습하는 과정에 대한 자세한 내용은 도 5 내지 도 6에서 후술하도록 한다.
터치 제스쳐 인식 장치는 학습된 배경 영역에 기초하여 터치 검출 영역을 결정할 수 있다. 터치 검출 영역은 학습된 배경 영역의 일부 영역 및 학습된 배경 영역의 경계(boundary)에 인접한 주변 영역을 포함할 수 있다. 예를 들어, 배경 영역이 사용자의 손등 영역인 경우, 터치 검출 영역은 손등 영역의 일부 영역 및 손등 영역의 경계 근처의 영역을 포함할 수 있다.
깊이 영상에 포함된 모든 영역에서 터치 오브젝트에 의한 터치 입력을 탐색하고, 탐색된 터치 입력을 인식하는 것은 비효율적일 수 있다. 터치 제스쳐 인식 장치는 깊이 영상의 일부 영역을 터치 입력의 검출을 위한 터치 검출 영역으로 결정하여 깊이 영상으로부터 효율적으로 터치 입력을 검출할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상의 전체 영역 중 일부 영역인 터치 검출 영역을 기준으로 터치 입력이 존재하는지 여부를 확인하여 계산량을 저감시킬 수 있다.
단계(220)에서, 터치 제스쳐 인식 장치는 터치 검출 영역에 기초하여 터치 오브젝트가 나타난 깊이 영상으로부터 터치 오브젝트가 배경 영역에 터치되었는지 여부를 결정할 수 있다. 여기서, 깊이 영상은 터치 제스쳐 인식 장치로부터 터치 오브젝트까지의 깊이 정보를 포함할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역 내에서 터치 오브젝트가 배경 영역에 터치되었는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는, 예를 들어, 터치 검출 영역에 나타난 블랍(blob) 형태의 터치 입력 영역에 기초하여 터치 오브젝트가 배경 영역에 터치되었는지 여부를 결정할 수 있다.
단계(230)에서, 터치 제스쳐 인식 장치는 터치 오브젝트에 의한 터치 입력의 변화를 검출할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역에 나타난 터치 오브젝트 영역에 기초하여 터치 오브젝트에 의한 터치 입력의 움직임을 검출할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 위치 또는 터치 입력의 터치 각도를 결정할 수 있다.
터치 제스쳐 인식 장치는 터치 오브젝트가 배경 영역에 터치된 상태에서, 터치 오브젝트 영역의 공간 좌표 상의 x 좌표 값을 계산할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 깊이 영상의 가로 방향을 기준으로 터치 오브젝트 영역의 끝단의 중점이 위치한 곳을 터치 입력의 x 좌표 값으로 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 오브젝트 영역 내에 터치 오브젝트의 끝단에 해당하는 식별 영역을 설정하고, 설정된 식별 영역에 대한 깊이 값을 터치 입력의 공간 좌표 상의 z 좌표 값으로 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 x 좌표 값 및 z 좌표 값에 기초하여 터치 입력의 위치를 x 축 및 z 축의 2D 좌표 데이터로 변환할 수 있다. 터치 제스쳐 인식 장치는, 추가적으로, x 축 및 z 축 방향의 기울기들을 계산하여 터치 입력의 터치 각도를 결정할 수 있다.
터치 제스쳐 인식 장치가 깊이 영상으로부터 터치 입력을 검출하고, 터치 입력의 변화를 검출하는 과정에 대한 자세한 내용은 도 7 내지 도 10에서 후술하도록 한다.
단계(240)에서, 터치 제스쳐 인식 장치는 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식할 수 있다. 터치 제스쳐 인식 장치는 배경 영역에 터치된 하나 이상의 터치 오브젝트를 식별하고, 식별된 터치 오브젝트의 이동 경로를 추적하여 터치 오브젝트에 의한 터치 입력의 움직임을 분석할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 2D 좌표 데이터의 변화를 분석하여 사용자가 의도한 제스쳐 패턴을 결정할 수 있다.
예를 들어, 터치 제스쳐 인식 장치는 터치 입력의 위치의 변화 또는 터치 입력의 터치 각도의 변화를 추적하여 터치 입력에 의한 터치 제스쳐를 인식할 수 있다. 터치 제스쳐 인식 장치는 시간의 흐름에 따라 깊이 영상에 나타난 터치 입력의 위치의 변화 또는 터치 각도의 변화를 파싱(parsing)하여 사용자가 터치 오브젝트를 통해 의도한 제스쳐 패턴을 결정하고, 결정된 제스쳐 패턴에 대한 정보를 생성할 수 있다. 터치 제스쳐 인식 장치는 학습을 통한 방법 또는 기존의 제스쳐 인식 기법을 이용하여 사용자가 의도하는 모션 패턴(motion pattern)을 결정할 수 있다. 결정된 제스쳐 패턴에 대한 정보는 다른 디바이스에 전달될 수 있고, 다른 디바이스는 해당 제스쳐 패턴에 대응하는 인터페이스 동작을 수행할 수 있다.
예를 들어, 터치 입력의 움직임에 대응하는 글자 또는 제스쳐 아이콘들이 다른 디바이스를 통해 디스플레이될 수 있다. 다른 디바이스는 터치 입력의 움직임에 대응하는 모션 패턴이 글씨인 경우, OCR(Optical Character Recognition) 및 스펠링 수정기(Spelling Corrector) 등을 이용하여 해당 글씨를 스크린에 디스플레이할 수 있다. 다른 디바이스는 터치 입력의 움직임에 대응하는 모션 패턴이 제스쳐 아이콘을 나타내는 경우, 해당 제스쳐 아이콘을 스크린에 디스플레이할 수 있다. 복수의 터치 입력들이 검출된 경우, 터치 제스쳐 인식 장치는 각 터치 입력들의 움직임의 상호 관계에 의한 인터페이스 동작을 결정할 수 있다.
도 3은 일 실시예에 따른 배경 영역을 학습하는 동작을 설명하기 위한 흐름도이다. 터치 제스쳐 인식 장치는 터치면인 배경 영역과 터치 오브젝트에 대한 터치 오브젝트 영역을 구분하기 위해 깊이 영상에서 배경 영역을 학습할 수 있다.
단계(310)에서, 터치 제스쳐 인식 장치는 초기 깊이 영상을 획득할 수 있다. 터치 제스쳐 인식 장치는 동작 초기에 깊이 센서를 통해 초기 깊이 영상을 획득할 수 있다.
단계(320)에서, 터치 제스쳐 인식 장치는 초기 깊이 영상으로부터 후보 배경 영역을 추출할 수 있다. 터치 제스쳐 인식 장치는, 예를 들어, 기존의 연결 컴포넌트(Connected Component) 기법을 이용하여 초기 깊이 영상으로부터 손등 영역 등에 관한 후보 배경 영역을 추출할 수 있다. 터치 제스쳐 인식 장치는 연결 컴포넌트 기법을 통해 깊이 영상으로부터 노이즈 및 다른 오브젝트들이 제외된 후보 배경 영역을 추출할 수 있다.
단계(330)에서, 터치 제스쳐 인식 장치는 후보 배경 영역의 곡률(curvature)을 계산할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 후보 배경 영역의 경계에 대한 곡률(boundary curvature)을 계산할 수 있다.
단계(340)에서, 터치 제스쳐 인식 장치는 후보 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 후보 배경 영역의 곡률을 통해 후보 배경 영역에 터치 오브젝트 또는 다른 오브젝트를 나타내는 영역이 포함되어 있는지 여부를 결정할 수 있다. 예를 들어, 후보 배경 영역이 손등 영역으로만 구성되어 있지 않고, 터치 오브젝트 또는 다른 오브젝트에 대한 영역이 포함되어 있다면, 후보 배경 영역의 곡률 값이 갑자기 크게 변하는 구간이 존재할 수 있다. 터치 제스쳐 인식 장치는 후보 배경 영역의 곡률 값이 갑자기 크게 변하는 구간이 존재하는 경우, 후보 배경 영역이 손등 영역으로만 구성되어 있지 않다고 결정하고, 후보 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키지 않는다고 결정할 수 있다.
후보 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키지 않는 경우, 단계(350)에서, 터치 제스쳐 인식 장치는 터치 오프 메시지(touch off message)를 출력할 수 있다. 터치 오프 메시지는 사용자가 터치 오브젝트를 배경 영역으로부터 터치 오프하라는 메시지를 나타낸다. 터치 제스쳐 인식 장치는 터치 오프 메시지를 출력한 후 초기 깊이 영상을 다시 획득하여 배경 영역을 학습할 수 있다.
다른 실시예에 따르면, 초기 깊이 영상의 상단에 배경 영역 이외의 것으로 추정되는 영역 또는 초기 깊이 영상의 세로 방향으로 가로지르는 영역이 존재하는 경우, 터치 제스쳐 인식 장치는 후보 배경 영역이 순수한 배경 영역만으로 구성되어 있지 않다고 결정하고 초기 깊이 영상을 다시 획득하여 배경 영역을 학습할 수 있다.
후보 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는 경우, 단계(360)에서, 터치 제스쳐 인식 장치는 초기 깊이 영상으로부터 추출된 후보 배경 영역에 기초하여 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치는 초기 깊이 영상으로부터 추출된 후보 배경 영역을 터치 입력을 검출하기 위한 배경 영역으로 인식하기 위한 학습을 수행할 수 있다.
도 4는 일 실시예에 따른 배경 영역의 학습 과정을 설명하기 위한 일례를 도시한 도면이다.
깊이 영상(410)은 터치 제스쳐 인식 장치가 시계 형태의 웨어러블 디바이스에 내장되었을 때 웨어러블 디바이스의 측면에 배치된 깊이 센서로부터 획득된 초기 깊이 영상을 나타낸다. 깊이 영상(410)은 깊이 센서가 사용자의 손등 면을 바라보았을 때 획득된 깊이 영상이다. 깊이 영상(410)에는 배경 영역(420)으로서 사용자의 손등 영역이 나타나 있다. 여기서, 배경 영역(420)은 터치 오브젝트가 터치되는 영역에 해당한다.
터치 제스쳐 인식 장치는 깊이 센서를 통해 깊이 임계값에 기초한 초기 깊이 영상을 획득할 수 있다. 초기 깊이 영상에서 깊이 임계값을 초과하는 깊이 값을 가지는 영역은 특정한 깊이 값으로 설정될 수 있다. 깊이 임계값을 통해 깊이 영상(410)에서 배경 영역(420)을 제외한 나머지 영역은 미리 설정된 특정한 깊이 값을 가질 수 있다.
터치 제스쳐 인식 장치는 깊이 영상(410)에서 검출된 배경 영역(420)을 후보 배경 영역으로서 추출하고, 배경 영역(420)의 경계(430)에 대한 곡률을 계산할 수 있다. 터치 제스쳐 인식 장치는, 예를 들어, 배경 영역(420)의 경계(430)에 대한 곡률이 갑자기 크게 변하는 구간이 존재한다거나 깊이 영상(410)의 세로 방향으로 가로지르는 영역이 존재하는 경우에 배경 영역(420)이 순수한 배경 영역만으로 구성되어 있지 않다고 결정할 수 있다. 배경 영역(420)의 경계(430)에 대한 곡률이 미리 설정된 학습 조건을 만족시키는 경우, 터치 제스쳐 인식 장치는 깊이 영상(410)에서 추출한 배경 영역(420)에 기초하여 터치 입력을 검출하기 위한 배경 영역을 학습할 수 있다.
도 5는 다른 실시예에 따른 배경 영역을 학습하는 동작을 설명하기 위한 흐름도이다. 시계 형태의 웨어러블 디바이스의 깊이 센서가 바라보는 배경 영역인 손등 면은 사용자가 손목 등을 움직이는 것에 따라 변할 수 있기 때문에, 깊이 센서가 바라보는 배경 영역은 주기적으로 학습될 필요가 있다. 터치 제스쳐 인식 장치는 초기 상태에서 배경 영역을 학습한 이후에 주기적으로 터치 오브젝트가 터치되는 배경 영역을 학습하여 기학습된 배경 영역에 대한 정보를 업데이트할 수 있다.
단계(510)에서, 터치 제스쳐 인식 장치는 미리 결정된 학습 주기에 도달하였는지 여부를 결정할 수 있다. 학습 주기가 너무 짧으면 큰 시스템 부하가 발생할 수 있기 때문에 학습 주기는 배경 영역에 대한 학습 과정이 시스템 부하에 미치는 영향을 고려하여 결정될 수 있다.
미리 결정된 학습 주기에 도달한 경우, 단계(520)에서, 터치 제스쳐 인식 장치는 배경 영역의 학습을 위한 학습 깊이 영상을 획득하고, 학습 깊이 영상에 터치 이벤트가 존재하는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 온전한 배경 영역이 존재하는지 여부를 결정하기 위해, 학습 깊이 영상에서 터치 검출 영역에 터치 오브젝트가 터치되었는지 여부를 나타내는 터치 이벤트가 존재하는지 여부를 결정할 수 있다.
학습 깊이 영상에 터치 이벤트가 존재하는 경우, 단계(530)에서, 터치 제스쳐 인식 장치는 터치 검출 영역에 포함된 배경 영역의 크기가 미리 설정된 학습 조건을 만족시키는지 여부를 결정할 수 있다. 사용자의 움직임이 커서 터치 검출 영역에 포함된 배경 영역의 크기가 달라질 수 있다. 예를 들어, 터치 검출 영역에 포함된 배경 영역의 크기가 미리 설정된 임계값보다 큰 경우, 터치 제스쳐 인식 장치는 단계(530)으로 진행하여 학습 깊이 영상에 기초하여 배경 영역을 학습할 수 있다. 터치 검출 영역에 포함된 배경 영역의 크기가 미리 설정된 임계값 이하인 경우, 터치 제스쳐 인식 장치는 단계(510)부터 다시 수행할 수 있다.
단계(520)에서 학습 깊이 영상에 터치 이벤트가 존재하지 않거나 또는 단계(530)에서 배경 영역의 크기가 미리 설정된 학습 조건을 만족시키는 경우, 단계(540)에서, 터치 제스쳐 인식 장치는 학습 깊이 영상으로부터 배경 영역을 추출할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 기존의 연결 컴포넌트 기법을 이용하여 학습 깊이 영상으로부터 배경 영역을 추출할 수 있다.
단계(550)에서, 터치 제스쳐 인식 장치는 학습 깊이 영상에서 추출된 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치는 학습 깊이 영상에서 추출된 배경 영역을 학습하고, 학습 결과에 기초하여 기결정된 배경 영역에 대한 정보를 업데이트할 수 있다.
도 6은 다른 실시예에 따른 배경 영역의 학습 과정을 설명하기 위한 일례를 도시한 도면이다.
도 6에서, (a)는 사용자의 움직임에 의해 변형된 배경 영역을 포함하는 깊이 영상을 나타낸다. (a)의 깊이 영상에서 터치 검출 영역(610)은 변형된 배경 영역의 일부 영역(630)과 영역(630)의 주변 영역(620)을 포함한다. 주변 영역(620)은 깊이 임계값보다 큰 깊이 값을 가지는 영역에서 영역(630)에 인접한 영역을 나타낼 수 있다. 도 6에 도시된 일례에서, 배경 영역의 일부 영역(630)은 사용자의 손등 영역의 일부 영역에 대응한다. 사용자가 손등을 움직이는 경우, 기결정된 터치 검출 영역(610)에 포함된 배경 영역의 일부 영역(630)의 형태는 달라질 수 있다.
터치 제스쳐 인식 장치는 배경 영역의 변형에 의한 오류를 줄이기 위해 배경 영역을 주기적으로 학습하여 배경 영역을 업데이트할 수 있다. (b)는 배경 영역을 학습하여 업데이트된 결과를 나타낸다. (b)에서, 터치 검출 영역(640)은 배경 영역에 대한 업데이트 결과가 반영되어 범위가 (a)의 터치 검출 영역(610)과 다르다. 배경 영역에 대한 학습이 완료된 후의 터치 검출 영역(640)은, 업데이트된 배경 영역의 일부 영역(660) 및 영역(660)에 인접한 주변 영역(650)을 포함할 수 있다. 터치 제스쳐 인식 장치는 다음 학습 주기에 도달할 때까지 (b)에서와 같이 업데이트된 터치 검출 영역(640)에 기초하여 터치 제스쳐를 인식할 수 있다.
도 7은 일 실시예에 따른 깊이 영상으로부터 터치 입력을 검출하는 동작을 설명하기 위한 흐름도이다. 터치 제스쳐 인식 장치는 깊이 영상에 나타난 배경 영역의 일부 영역을 포함하는 터치 검출 영역에 기초하여 터치 오브젝트에 의한 터치 입력이 존재하는지 여부를 결정할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 터치 검출 영역에 기초하여 사용자의 손등 면에 손가락과 같은 터치 오브젝트가 터치되었는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 사용자가 손가락을 손등에 터치한 상태에서 손가락을 움직이는 것을 사용자가 의도적인 움직임을 취하고 있는 것으로 결정할 수 있다.
단계(710)에서, 터치 제스쳐 인식 장치는 터치 검출 영역을 결정할 수 있다. 터치 제스쳐 인식 장치는 학습된 배경 영역의 경계에 기초하여 터치 검출 영역을 결정할 수 있다. 터치 제스쳐 인식 장치는 학습된 배경 영역의 경계를 기준으로 배경 영역의 일부 영역 및 해당 배경 영역의 일부 영역에 인접한 주변 영역을 포함하는 터치 검출 영역을 결정할 수 있다.
단계(720)에서, 터치 제스쳐 인식 장치는 터치 검출 영역에 포함된 배경 영역을 분석할 수 있다. 터치 제스쳐 인식 장치는 결정된 터치 검출 영역에서 배경 영역이 아닌 주변 영역에 대해 연결 컴포넌트 기법을 수행하여 터치 검출 영역에서 독립된 주변 영역이 몇 개 검출되었는지를 결정할 수 있다.
터치 검출 영역에 나타난 터치 오브젝트에 의한 터치 입력 영역은 주변 영역의 상호 보완적(complementary)인 영역이기 때문에, 터치 제스쳐 인식 장치는 독립된 주변 영역에 대한 정보를 이용하여 터치 입력 영역에 대한 정보를 결정할 수 있다. 독립된 주변 영역에 대한 정보는, 예를 들어, 독립된 주변 영역을 포함하는 바운딩 박스(bounding box)의 크기 정보 또는 좌표 정보, 및 독립된 주변 영역의 개수 정보 등을 포함할 수 있다. 터치 입력 영역에 대한 정보는, 예를 들어, 터치 입력 영역을 포함하는 바운딩 박스의 크기 정보 또는 좌표 정보, 및 터치 입력 영역의 개수 정보 등을 포함할 수 있다.
독립된 주변 영역에 대한 정보를 이용하여 터치 입력 영역에 대한 정보를 결정하는 것은, 움직이는 터치 오브젝트에 모션 블러(motion blur) 및 노이즈(noise)로 인하여 터치 입력 영역의 깊이 정보에 대한 신뢰도(reliability)가 낮을 수 있기 때문이다. 터치 입력 영역의 깊이 정보에 대한 신뢰도가 높은 경우, 터치 제스쳐 인식 장치는 독립된 주변 영역에 대한 정보를 이용하여 터치 입력 영역에 대한 정보를 결정하지 않고, 직접 터치 입력 영역에 대해 연결 컴포넌트 기법을 수행하여 터치 입력 영역에 대한 정보를 획득할 수도 있다.
단계(730)에서, 터치 제스쳐 인식 장치는 단계(720)의 분석 결과에 기초하여 터치 오브젝트가 터치되었는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역에 포함된 독립된 주변 영역의 개수에 기초하여 터치 오브젝트의 터치 여부와 터치 오브젝트에 의한 터치 입력의 개수를 결정할 수 있다. 터치 오브젝트에 의해 터치가 이루어지지 않는 경우, 터치 검출 영역에 포함된 독립된 주변 영역의 개수는 1 개이나, 터치 오브젝트에 의해 터치가 이루어지면, 터치 검출 영역에 포함된 독립된 주변 영역의 개수는 2개 이상이 된다. 예를 들어, 터치 검출 영역에 포함된 독립된 주변 영역의 개수가 2개로 결정되면, 터치 제스쳐 인식 장치는 터치 오브젝트가 배경 영역에 터치되었다고 결정할 수 있다.
터치 오브젝트가 터치된 경우, 단계(740)에서, 터치 제스쳐 인식 장치는 터치 오브젝트에 의한 터치 입력에 식별자를 할당할 수 있다. 터치 제스쳐 인식 장치는 터치 입력에 터치 오브젝트의 움직임 추적을 위한 식별자를 할당할 수 있다. 깊이 영상에서 터치 검출 영역을 통해 복수의 터치 입력들이 검출된 경우, 터치 제스쳐 인식 장치는 각각의 터치 입력들에 서로 다른 식별자를 할당할 수 있다.
도 8은 일 실시예에 따른 깊이 영상으로부터 터치 입력을 검출하는 일례를 설명하기 위한 도면이다.
(a)는 깊이 센서를 통해 획득된 깊이 영상을 나타내고, 손등 영역이 배경 영역(810)으로서 도시되어 있다. (b)는 배경 영역(810)에 기초하여 학습된 배경 영역(820)을 도시한다. (c)는 학습된 배경 영역(820)에 기초하여 결정된 터치 검출 영역(830)을 도시한다. 터치 제스쳐 인식 장치는 학습된 배경 영역(820)의 경계를 기준으로 터치 검출 영역(830)을 결정할 수 있다. 터치 검출 영역(830)은 배경 영역(820)의 일부 영역(850)과 영역(850)에 인접한 주변 영역(840)을 포함한다. 터치 오브젝트에 의해 아직 터치가 이루어지지 전에는 주변 영역(840)만 존재하여 독립된 주변 영역의 개수가 1개이다.
(d)는 터치 오브젝트가 배경 영역에 터치된 경우의 깊이 영상을 나타낸다. 터치 검출 영역(830)에 포함된 주변 영역(840)이 터치 오브젝트에 의한 터치 입력 영역(860)에 의해 2 개의 독립된 주변 영역들(870, 880)로 분리되었다. 터치 제스쳐 인식 장치는 터치 검출 영역에서 복수의 독립된 주변 영역들이 검출되는 경우, 터치 오브젝트에 의한 터치 입력이 발생하였다고 결정할 수 있다.
터치 입력이 발생하였다고 결정된 경우, 터치 제스쳐 인식 장치는 독립된 주변 영역들(870, 880)에 대한 정보를 이용하여 터치 입력 영역(860)에 대한 정보를 결정하거나 또는 터치 입력 영역(860)에 연결 컴포넌트 기법을 수행하여 터치 입력 영역(860)에 대한 정보를 획득할 수 있다. 터치 검출 영역에 독립된 주변 영역들이 3 개 이상 존재하는 경우 또는 하나의 터치 입력 영역 내에서 서로 구별되는 깊이 값을 가지는 복수의 영역들이 존재하는 경우, 터치 제스쳐 인식 장치는 터치 검출 영역에 복수의 터치 입력이 존재하는 것으로 결정할 수 있다.
도 9는 일 실시예에 따른 터치 입력을 분석하는 동작을 설명하기 위한 흐름도이다. 터치 오브젝트가 배경 영역에 터치되었다고 결정되면, 터치 제스쳐 인식 장치는 터치 입력을 분석하여 터치 입력의 위치 및 터치 각도를 결정할 수 있다.
단계(910)에서, 터치 제스쳐 인식 장치는 터치 입력의 x 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에서 터치 검출 영역에 포함된 터치 입력 영역에 기초하여 터치 입력의 x 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에서 가로 방향에 대한 좌표축을 기준으로 하는 터치 입력의 x 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 x 좌표 값을 결정하기 위해 배경 영역에 대한 곡면 좌표계를 평면 좌표계로 변환하고, 평면 좌표계 상에서 터치 입력의 x 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는, 예를 들어, 다음의 수학식 1에 기초하여 터치 입력의 x 좌표 값을 계산할 수 있다.
Figure 112014114815986-pat00001
수학식 1에서,
Figure 112014114815986-pat00002
는 터치 입력의 2D 좌표 상의 x 좌표 값을 나타낸다.
Figure 112014114815986-pat00003
는 터치 검출 영역에 나타난 터치 입력 영역의 최대 x 좌표 값을 나타내고,
Figure 112014114815986-pat00004
는 터치 검출 영역에 나타난 터치 입력 영역의 최소 x 좌표 값을 나타낸다. 수학식 1에 따르면, 터치 제스쳐 인식 장치는 터치 검출 영역에서 검출된 터치 입력 영역의 최대 x 좌표 값과 최소 x 좌표 값의 평균 값을 터치 입력의 x 좌표 값으로 결정할 수 있다.
단계(920)에서, 터치 제스쳐 인식 장치는 터치 입력 영역에 필터링 영역을 설정할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 수학식 1에 기초하여 결정된 터치 입력의 x 좌표 값을 중심으로 하는 NxN 크기의 영역을 필터링 영역으로 설정할 수 있다. 여기서, N은 픽셀의 개수를 나타내는 임의의 자연수이다.
단계(930)에서, 터치 제스쳐 인식 장치는 터치 오브젝트 영역의 상단에 필터링 영역을 설정할 수 있다. 터치 제스쳐 인식 장치는 터치 오브젝트의 영역을 나타내는 터치 오브젝트 영역의 상단 영역에 노이즈 필터가 적용될 필터링 영역을 설정할 수 있다. 예를 들어, 터치 제스쳐 인식 장치는 터치 오브젝트의 영역의 상단 영역에서, 해당 상단 영역의 최소 x 좌표 값과 최대 x 좌표 값의 평균 값을 해당 상단 영역의 x 좌표 값으로 결정하고, 상단 영역의 x 좌표 값을 중심으로 하는 NxN 크기의 영역을 필터링 영역으로 설정할 수 있다. 여기서, N은 픽셀의 개수를 나타내는 임의의 자연수이다.
터치 오브젝트 영역은 깊이 영상에서 터치 오브젝트가 나타난 영역으로, 터치 입력 영역을 포함한다. 터치 입력 영역은 터치 오브젝트 영역의 일부 영역으로서, 배경 영역에 터치되는 터치 오브젝트의 끝(Tip) 영역을 나타낸다.
단계(940)에서, 터치 제스쳐 인식 장치는 단계(920) 및 단계(930)에서 설정된 필터링 영역들의 노이즈를 저감시킬 수 있다. 깊이 센서로부터 출력되는 터치 입력 영역에 대한 깊이 값은 변동(Fluctuation) 요소 및 노이즈를 포함할 수 있기 때문에, 터치 입력 영역 또는 터치 오브젝트 영역의 상단 영역에서의 깊이 값을 그대로 이용하면 잘못된 z 좌표 값이 추출될 수 있다. 터치 제스쳐 인식 장치는 터치 입력 영역 또는 터치 오브젝트 영역의 상단 영역에 노이즈 제거 필터를 적용하여 해당 영역에 포함된 깊이 노이즈를 저감시킬 수 있다.
터치 제스쳐 인식 장치는 단계(920) 및 단계(930)에서 설정된 필터링 영역들에 기존의 공간적 노이즈(Spatial Noise) 제거 필터 또는 시간적 노이즈(Temporal Noise) 제거 필터를 적용하여 해당 필터링 영역들에 포함된 노이즈를 저감시킬 수 있다.
단계(950)에서, 터치 제스쳐 인식 장치는 터치 입력의 z 좌표 값 및 터치 각도를 결정할 수 있다. 터치 제스쳐 인식 장치는 노이즈 제거 필터가 적용된 터치 입력 영역의 깊이 값을 이용하여 터치 입력의 2D 좌표 상의 z 좌표 값을 결정할 수 있다.
터치 제스쳐 인식 장치는 노이즈 제거 필터가 적용된 터치 오브젝트 영역의 상단 영역의 깊이 값을 이용하여 터치 입력의 터치 각도를 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 입력 영역의 2D 좌표 값, 터치 오브젝트 영역의 상단 영역의 2D 좌표 값 및 터치 입력 영역과 터치 오브젝트 영역의 상단 영역 간의 높이 차이를 이용하여 터치 입력의 터치 각도를 결정할 수 있다.
터치 제스쳐 인식 장치는 3D 데카르트 좌표(Cartesian coordinates)로 변환된 터치 입력 영역에 대한 좌표 Pd 및 3D 데카르트 좌표로 변환된 터치 오브젝트 영역의 상단 영역에 대한 좌표 Pu를 이용하여, 터치 입력에 대한 요(Yaw) 각도 및 피치(pitch) 각도를 계산할 수 있다.
예를 들어, 터치 제스쳐 인식 장치는 다음의 수학식 2에 기초하여 터치 입력의 터치 각도를 계산하기 위한 3D 병진(translation) 요소 값을 계산할 수 있고, 수학식 3에 기초하여 터치 각도를 계산하기 위한 3D 단위 벡터(unit vector)를 계산할 수 있다. 터치 제스쳐 인식 장치는 수학식 4와 같이 3D 단위 벡터의 요소에 기초하여 터치 입력에 대한 Yaw 각도를 계산할 수 있고, 수학식 5와 같이 3D 단위 벡터의 요소에 기초하여 터치 입력에 대한 Pitch 각도를 계산할 수 있다.
Figure 112014114815986-pat00005
수학식 2에서, Tx, Ty 및 Tz는 각각 x, y 및 z 좌표 상의 3D 병진 요소 값을 나타낸다.
Figure 112014114815986-pat00006
,
Figure 112014114815986-pat00007
Figure 112014114815986-pat00008
은 각각 터치 오브젝트 영역의 상단 영역의 x, y 및 z 좌표 상의 위치를 나타낸다.
Figure 112014114815986-pat00009
,
Figure 112014114815986-pat00010
Figure 112014114815986-pat00011
는 각각 터치 입력 영역의 x, y 및 z 좌표 상의 위치를 나타낸다.
Figure 112014114815986-pat00012
수학식 3에서, ux, uy 및 uz는 각각 x, y 및 z 좌표 상에서의 3D 단위 벡터의 요소들을 나타낸다. Tx, Ty 및 Tz는 각각 수학식 2를 통해 결정된 3차원 상의 3D 병진 요소 값을 나타낸다.
Figure 112014114815986-pat00013
수학식 4에서, DegYaw는 터치 입력에 대한 Yaw 각도를 나타낸다. uy 및 uz는 각각 수학식 3을 통해 결정된 3D 단위 벡터의 y 및 z 좌표 상의 요소들을 나타낸다.
Figure 112014114815986-pat00014
수학식 5에서, DegPitch는 터치 입력에 대한 Pitch 각도를 나타낸다. uz는 수학식 3을 통해 결정된 3D 단위 벡터의 z 좌표 상의 요소를 나타낸다.
터치 제스쳐 인식 장치는 수학식 4를 통해 계산된 터치 입력에 대한 Yaw 각도 및 수학식 5를 통해 계산된 터치 입력에 대한 Pitch 각도에 기초하여 터치 입력의 터치 각도를 결정할 수 있다.
터치 제스쳐 인식 장치는 터치 입력의 2D 좌표 상의 이동을 추적하거나 터치 입력의 터치 각도의 변화를 추적하여 사용자가 입력한 터치 입력이 무엇인지를 결정할 수 있다.
터치 입력의 위치 변화를 추적하는데 있어, 터치 제스쳐 인식 장치는 다음의 수학식 6과 같은 베이스 규칙(Bayes Rule)에 기초하여 터치 제스쳐의 예측(prediction)과 수정 상태(Correction State)를 번갈아가면서 서로를 보정하는 기법을 이용할 수도 있다. 터치 제스쳐 인식 장치는 터치 제스쳐에 대한 예측 값에 기초하여 보정되고, 가중치가 적용된 입력 값에 기초하여 터치 제스쳐를 예측하고, 예측된 값에 기초하여 다음에 입력될 입력 값을 다시 보정하는 과정을 반복하여 터치 제스쳐의 인식 결과를 개선시킬 수 있다.
Figure 112014114815986-pat00015
수학식 6에서, X는 처리 상태(Process State)를 나타내고, k는 스텝(step)을 나타낸다. Zk는 실제 측정(actual measurement) 값을 나타낸다.
도 10은 일 실시예에 따른 터치 입력을 분석하는 일례를 설명하기 위한 도면이다.
도 10에서, (a)는 사용자가 손등 영역(1010)에 터치 오브젝트로서 손가락(1020)을 터치하는 장면을 나타낸다. 터치 제스쳐 인식 장치에 포함된 깊이 센서는 (b)에서와 같이 (a)의 장면에 대한 깊이 정보를 포함하는 깊이 영상을 생성할 수 있다. 깊이 영상은 깊이 센서로부터 오브젝트까지의 깊이 정보를 나타낼 수 있다.
터치 제스쳐 인식 장치는 터치 검출 영역에 기초하여 터치 오브젝트가 배경 영역에 터치되었는지 여부를 결정하고, 터치 오브젝트가 배경 영역에 터치된 경우 터치 입력 영역을 분석할 수 있다. 터치 제스쳐 인식 장치는, 예를 들어, 수학식 1에 기초하여 터치 입력의 x 좌표 값을 결정할 수 있다.
터치 제스쳐 인식 장치는 깊이 값에 기초하여 터치 입력의 z 좌표 값을 결정하기 이전에, 터치 입력 영역에 포함된 노이즈를 저감시킬 수 있다. 터치 제스쳐 인식 장치는 (c)에서와 같이, 터치 검출 영역(1030)에 포함된 터치 입력 영역에 필터링 영역(1040)을 설정하고, 필터링 영역(1040)에 노이즈 제거 필터를 적용하여 필터링 영역(1040)의 노이즈를 저감시킬 수 있다. 그 후, 터치 제스쳐 인식 장치는 필터링 영역(1040)으로부터 깊이 값을 추출하고, 추출된 깊이 값을 터치 입력의 z 좌표 값으로 결정할 수 있다.
터치 제스쳐 인식 장치는 필터링 영역(1040)으로부터 추출된 깊이 값에 기초하여 (d)에서와 같이 터치 입력의 2D 좌표 상의 위치(1050)를 결정할 수 있다. 터치 입력의 위치(1050)의 x 좌표 값은 깊이 영상의 가로 방향을 기준으로 하는 터치 입력의 위치를 나타내고, 터치 입력의 위치(1050)의 z 좌표 값은 터치 입력의 깊이 값을 나타낸다.
터치 제스쳐 인식 장치는 터치 오브젝트 영역의 상단 영역의 좌표 값 및 깊이 값을 이용하여 터치 입력의 터치 각도를 결정할 수 있다. 터치 제스쳐 인식 장치는 (e)에서와 같이, 터치 입력 영역에서와 유사하게, 터치 오브젝트의 영역의 상단 영역(1060)에 필터링 영역(1070)을 설정하고, 필터링 영역(1070)에 노이즈 제거 필터를 적용하여 필터링 영역(1070)의 노이즈를 저감시킬 수 있다. 그 후, 터치 제스쳐 인식 장치는 필터링 영역(1070)으로부터 깊이 값을 추출하고, 필터링 영역(1070)으로부터 추출된 깊이 값에 기초하여 터치 입력의 터치 각도를 결정할 수 있다.
도 11은 다른 실시예에 따른 터치 제스쳐 인식 방법의 동작을 설명하기 위한 흐름도이다.
단계(1110)에서, 터치 제스쳐 인식 장치는 깊이 영상에 기초하여 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에서 어느 영역이 배경 영역이고, 어느 영역이 터치 오브젝트가 나타난 터치 오브젝트 영역인지를 구별하기 위해 터치 오브젝트가 존재하지 않는 상태에서 배경 영역에 대한 깊이 영상을 학습할 수 있다.
터치 제스쳐 인식 장치는 동작 초기에 획득된 깊이 영상인 초기 깊이 영상에 나타난 배경 영역을 학습하여 터치 입력에 이용할 배경 영역을 결정할 수 있다. 터치 제스쳐 인식 장치는 초기 깊이 영상에 나타난 배경 영역이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하고, 배경 영역이 학습 조건을 만족시키는 경우에 초기 깊이 영상에 기초하여 배경 영역을 학습할 수 있다. 터치 제스쳐 인식 장치는 초기 깊이 영상에서 배경 영역을 추출하고, 추출된 배경 영역에 기초하여 터치 오브젝트가 터치되는 배경 영역을 학습할 수 있다.
터치 제스쳐 인식 장치는 동작 초기 이후에 깊이 영상에 나타난 배경 영역을 지속적으로 학습할 수 있다. 터치 제스쳐 인식 장치는 미리 설정된 학습 주기에 도달할 때마다 배경 영역의 학습을 위한 학습 깊이 영상으로부터 배경 영역을 학습하고, 학습 결과에 기초하여 터치 오브젝트가 터치되는 배경 영역을 업데이트할 수 있다.
단계(1120)에서, 터치 제스쳐 인식 장치는 터치 오브젝트가 나타난 깊이 영상을 획득할 수 있다. 획득된 깊이 영상은 터치 오브젝트에 대한 깊이 정보를 포함하는 터치 오브젝트 영역을 포함할 수 있다.
단계(1125)에서, 터치 제스쳐 인식 장치는 깊이 영상으로부터 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출할 수 있다. 구체적으로, 단계(1130)에서, 터치 제스쳐 인식 장치는 단계(110)에서 학습된 배경 영역에 기초하여 터치 검출 영역을 결정할 수 있다. 터치 검출 영역은 학습된 배경 영역의 일부 영역 및 배경 영역의 경계에 인접한 주변 영역을 포함할 수 있다. 배경 영역은, 예를 들어, 사용자의 손등, 손바닥 또는 팔의 전체 또는 일부 영역에 대응될 수 있다.
단계(1140)에서, 터치 제스쳐 인식 장치는 터치 검출 영역 내에서 터치 오브젝트에 의한 터치 입력을 검출할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역 내에 터치 오브젝트가 터치되었는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역에 포함된 배경 영역의 형태에 기초하여 터치 검출 영역 내에 터치 오브젝트가 터치되었는지 여부를 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 검출 영역 내에서 하나 이상의 터치 입력들을 검출할 수 있다.
터치 제스쳐 인식 장치는 터치 오브젝트가 터치 검출 영역에 터치된 상태에서 터치 입력의 변화를 검출할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 위치 또는 터치 입력의 터치 각도를 결정할 수 있다. 터치 제스쳐 인식 장치는 깊이 영상에 나타난 터치 오브젝트 영역에 기초하여 터치 입력의 x 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는 결정된 x 좌표 값에 기초하여 결정된 필터링 영역에 노이즈 제거 필터를 적용하여 노이즈를 저감시키고, 터치 입력의 z 좌표 값을 결정할 수 있다. 터치 제스쳐 인식 장치는 터치 오브젝트 영역의 상단 영역의 x 좌표 값 및 z 좌표 값에 기초하여 터치 입력의 터치 각도를 결정할 수 있다.
단계(1150)에서, 터치 제스쳐 인식 장치는 터치 입력의 변화를 추적하여 터치 입력에 의한 터치 제스쳐를 인식할 수 있다. 터치 제스쳐 인식 장치는 터치 입력의 위치의 변화 또는 터치 입력의 터치 각도의 변화를 추적하여 터치 입력에 의한 터치 제스쳐를 인식할 수 있다. 터치 제스쳐 인식 장치는 시간의 흐름에 따라 깊이 영상에 나타난 터치 입력의 위치의 변화 또는 터치 각도의 변화를 파싱하여 사용자가 터치 오브젝트를 통해 의도한 제스쳐 패턴을 결정하고, 결정된 제스쳐 패턴에 대한 정보를 생성할 수 있다. 복수의 터치 입력들이 검출된 경우, 터치 제스쳐 인식 장치는 터치 입력들 간의 상호 관계에 기초하여 터치 입력들에 의한 터치 제스쳐를 인식할 수 있다.
도 12는 일 실시예에 따른 터치 제스쳐 인식 장치의 구성을 도시하는 도면이다. 도 12를 참조하면, 터치 제스쳐 인식 장치(1200)는 깊이 센서(1210), 학습기(1220) 및 프로세서(1230)를 포함할 수 있다.
터치 제스쳐 인식 장치(1200)는 3D 깊이 카메라와 같은 깊이 센서(1210)를 이용하여 손가락과 같은 하나 이상의 터치 오브젝트가 손등 영역과 같은 배경 영역에 터치되었는지 여부를 결정할 수 있다. 복수의 터치 오브젝트들이 터치된 경우, 터치 제스쳐 인식 장치(1200)는 각각의 터치 오브젝트들의 움직임을 추적하고, 각 터치 오브젝트들의 움직임 간의 상호 관계에 기초하여 터치 입력에 대응하는 제스쳐 패턴을 인식할 수 있다.
터치 제스쳐 인식 장치(1200)는 터치 오브젝트가 배경 영역에 터치된 상태에서 제스쳐 패턴을 입력하는 터치 오브젝트의 움직임을 인식하여 터치 오브젝트의 움직임에 대응하는 제어 신호를 생성할 수 있다. 예를 들어, 터치 제스쳐 인식 장치(1200)와 연동된 다른 디바이스는 터치 제스쳐 인식 장치(1200)로부터 제어 신호를 수신하여 사용자 입력에 대응하는 제스쳐 패턴을 디스플레이할 수 있다.
터치 제스쳐 인식 장치(1200)는 터치 오브젝트가 배경 영역에 터치된 것을 자동으로 감지하여 터치 오브젝트의 터치 입력에 의한 제스쳐 패턴을 인식할 수 있다. 터치 제스쳐 인식 장치(1200)는 깊이 센서(1210)로부터 획득한 깊이 영상을 통해 터치 입력이 터치한 영역의 위치 정보를 획득하여 보다 정밀한 제스쳐 패턴을 인식할 수 있다.
깊이 센서(1210)는 깊이 영상을 획득할 수 있다. 깊이 센서(1210)는 특정 영역에 광을 조사하는 광원(미도시)과 광원으로부터 조사된 광이 반사된 반사광을 수광하는 이미지 센서(미도시)를 포함할 수 있다. 광원은, 예를 들어, 적외선 또는 자외선 등의 비가시광, 또는 가시광원을 조사할 수 있다. 이미지 센서는 반사광의 분포를 획득하기 위한 픽셀 어레이를 포함할 수 있다. 깊이 센서(1210)는 ToF(Time of Flight) 방식을 이용하여 깊이 센서(1210)에 포함된 광원으로부터 터치 오브젝트 및 주변 영역까지의 거리 정보를 포함하는 깊이 영상을 생성할 수 있다.
학습기(1220)는 깊이 센서(1210)로부터 획득한 학습 깊이 영상에 기초하여 배경 영역을 학습할 수 있다. 학습기(1220)는, 예를 들어, 깊이 영상으로부터 터치 오브젝트에 의한 터치 입력이 입력되는 손등, 손바닥 또는 팔 영역 등에 대응하는 배경 영역을 학습할 수 있다. 학습기(1220)는 깊이 영상에서 어느 영역이 배경 영역이고, 어느 영역이 터치 오브젝트가 나타난 터치 오브젝트 영역인지를 구별하기 위해 터치 오브젝트가 존재하지 않는 상태에서 배경 영역에 대한 깊이 영상을 학습할 수 있다.
학습기(1220)는 동작 초기에 획득된 깊이 영상인 초기 깊이 영상에 나타난 배경 영역을 학습하여 터치 입력에 이용할 배경 영역을 결정할 수 있다. 학습기(1220)는 초기 깊이 영상에서 배경 영역을 추출하고, 추출된 배경 영역에 기초하여 터치 오브젝트가 터치되는 배경 영역을 학습할 수 있다.
학습기(1220)는 동작 초기 이후에 깊이 영상에 나타난 배경 영역을 지속적으로 학습할 수 있다. 학습기(1220)는 미리 설정된 학습 주기에 도달할 때마다 배경 영역의 학습을 위한 학습 깊이 영상으로부터 배경 영역을 학습하고, 학습 결과에 기초하여 터치 오브젝트가 터치되는 배경 영역을 업데이트할 수 있다. 학습기(1220)는 학습 깊이 영상에 터치 이벤트가 존재하는지 여부를 결정하고, 학습 깊이 영상에 터치 이벤트가 존재하지 않는 경우, 학습 깊이 영상으로부터 배경 영역을 추출하고, 추출된 배경 영역에 기초하여 터치 오브젝트가 터치되는 배경 영역을 학습할 수 있다.
프로세서(1230)는 학습된 배경 영역에 기초하여 터치 검출 영역을 결정하고, 터치 검출 영역 내에서 터치 오브젝트에 의한 터치 입력을 검출할 수 있다. 프로세서(1230)는 터치 검출 영역 내에 터치 오브젝트가 터치되었는지 여부를 결정하고, 터치 오브젝트가 터치 검출 영역에 터치된 상태에서 터치 입력의 변화를 추적할 수 있다. 프로세서(1230)는 터치 입력의 움직임을 추적하여 터치 입력에 의한 터치 제스쳐를 인식할 수 있다. 프로세서(1230)는 터치 입력의 위치의 변화 또는 터치 입력의 터치 각도의 변화를 추적하고, 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식할 수 있다.
프로세서(1230)는 시간의 흐름에 따라 깊이 영상에 나타난 터치 입력의 위치의 변화 또는 터치 각도의 변화를 파싱하여 사용자가 터치 오브젝트를 통해 의도한 제스쳐 패턴을 결정하고, 결정된 제스쳐 패턴에 대한 정보를 생성할 수 있다. 프로세서(1230)는 학습을 통한 방법 또는 기존의 제스쳐 인식 기법을 이용하여 사용자가 의도하는 모션 패턴을 결정할 수 있다.
도 13a 내지 도 13b는 다른 실시예에 따른 터치 제스쳐 인식 장치가 구현된 일례들을 도시한 도면들이다.
터치 제스쳐 인식 장치(1310)는 외부 디바이스와 연동하여 인터페이스 제어 동작을 수행할 수 있다. 예를 들어, 터치 제스쳐 인식 장치(1310)는, 도 13a에서와 같이 안경 형태의 웨어러블 디바이스와 연동하여 동작하거나, 도 13b에서와 같이 디스플레이 장치와 연동하여 동작할 수 있다. 도 13a에서는 안경 형태의 웨어러블 디바이스의 예시로 스마트 안경(1320)이 도시되어 있고, 도 13b에서는 디스플레이 장치의 예시로 스마트 TV(1330)가 도시되어 있다.
사용자가 터치 제스쳐 인식 장치(1310)가 구비된 시계 형태의 웨어러블 디바이스를 착용하고, 손등 상에 손가락 또는 펜 등을 이용하여 사용자 입력을 입력하는 경우, 터치 제스쳐 인식 장치(1310)는 손등 상에 입력된 사용자 입력을 인식하여 사용자 입력에 대응하는 제스쳐 패턴을 식별할 수 있다. 터치 제스쳐 인식 장치(1310)는 식별된 제스쳐 패턴에 대응하는 제어 신호를 스마트 안경(1320) 또는 스마트 TV(1330) 등과 같은 외부 디바이스에 전송할 수 있다. 터치 제스쳐 인식 장치(1310)로부터 제어 신호를 수신한 외부 디바이스는, 수신한 제어 신호에 대응하는 인터페이스 동작을 수행할 수 있다.
예를 들어, 사용자가 손등 상에 특정 방향으로 드래그(drag)하는 사용자 입력을 나타낸 경우, 터치 제스쳐 인식 장치(1310)는 드래그의 사용자 입력에 대응하는 제어 신호를 생성하여 외부 디바이스에 전송할 수 있다. 제어 신호를 수신한 외부 디바이스는 외부 디바이스에 나타난 컨텐츠 어레이를 옆으로 이동시키는 인터페이스 동작 또는 현재 컨텐츠에서 다음 컨텐츠를 선택하는 인터페이스 동작 등을 수행할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (24)

  1. 터치 제스쳐 인식 장치에 의해 수행되는 터치 제스쳐 인식 방법에 있어서,
    터치 오브젝트가 나타난 깊이 영상을 획득하는 단계;
    상기 깊이 영상에 나타난 배경 영역을 학습하는 단계;
    상기 깊이 영상으로부터 상기 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출하는 단계; 및
    상기 터치 입력의 변화를 추적(tracking)하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는 단계를 포함하고,
    상기 배경 영역을 학습하는 단계는,
    상기 배경 영역의 곡률을 계산하는 단계;
    상기 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하는 단계; 및
    상기 배경 영역의 곡률이 상기 미리 설정된 학습 조건을 만족시키는 경우, 상기 배경 영역을 학습하는 단계를 포함하고,
    상기 터치 입력을 검출하는 단계는,
    상기 학습된 배경 영역에 기초하여 상기 터치 입력을 검출하는, 터치 제스쳐 인식 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 학습된 배경 영역에 기초하여 상기 터치 입력을 검출하기 위한 터치 검출 영역을 결정하는 단계; 및
    상기 터치 검출 영역 내에서 상기 터치 입력을 검출하는 단계
    를 포함하는 터치 제스쳐 인식 방법.
  4. 제3항에 있어서,
    상기 터치 검출 영역은,
    상기 학습된 배경 영역의 일부 영역 및 상기 배경 영역의 경계에 인접한 주변 영역을 포함하는, 터치 제스쳐 인식 방법.
  5. 삭제
  6. 삭제
  7. 제3항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 검출 영역 내에 상기 터치 오브젝트가 터치되었는지 여부를 결정하는 단계; 및
    상기 터치 오브젝트가 상기 터치 검출 영역에 터치된 상태에서 상기 터치 입력의 변화를 검출하는 단계
    를 포함하는 터치 제스쳐 인식 방법.
  8. 제7항에 있어서,
    상기 터치 검출 영역 내에 상기 터치 오브젝트가 터치되었는지 여부를 결정하는 단계는,
    상기 터치 검출 영역에 포함된 배경 영역의 형태에 기초하여 상기 터치 검출 영역 내에 상기 터치 오브젝트가 터치되었는지 여부를 결정하는 단계
    를 포함하는 터치 제스쳐 인식 방법.
  9. 제1항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 입력의 위치 및 상기 터치 입력의 터치 각도 중 적어도 하나를 결정하는 단계를 포함하고,
    상기 터치 제스쳐를 인식하는 단계는,
    상기 터치 입력의 위치의 변화 및 상기 터치 입력의 터치 각도의 변화 중 적어도 하나를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는, 터치 제스쳐 인식 방법.
  10. 제1항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 깊이 영상에 나타난 터치 오브젝트 영역에 기초하여 상기 터치 입력의 x 좌표 값을 결정하는 단계;
    상기 결정된 x 좌표 값에 기초하여 결정된 필터링 영역에 노이즈 제거 필터를 적용하여 노이즈를 저감시키는 단계; 및
    상기 노이즈가 저감된 필터링 영역으로부터 상기 터치 입력의 z 좌표 값을 결정하는 단계
    를 포함하는 터치 제스쳐 인식 방법.
  11. 제10항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 오브젝트 영역 내의 상단 영역에서의 x 좌표 값 및 z 좌표 값에 기초하여 상기 터치 입력의 터치 각도를 결정하는 단계
    를 더 포함하는 터치 제스쳐 인식 방법.
  12. 제3항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 검출 영역 내에서 복수의 터치 입력들을 검출하고,
    상기 터치 제스쳐를 인식하는 단계는,
    상기 검출된 터치 입력들 간의 상호 관계에 기초하여 상기 터치 입력들에 의한 터치 제스쳐를 인식하는, 터치 제스쳐 인식 방법.
  13. 제1항에 있어서,
    상기 깊이 영상은,
    상기 터치 제스쳐 인식 장치로부터 상기 터치 오브젝트까지의 거리 정보를 포함하는, 터치 제스쳐 인식 방법.
  14. 터치 제스쳐 인식 장치에 의해 수행되는 터치 제스쳐 인식 방법에 있어서,
    깊이 영상에 나타난 배경 영역을 학습하는 단계;
    상기 학습된 배경 영역에 기초하여 터치 검출 영역을 결정하는 단계;
    상기 터치 검출 영역에 나타난 터치 오브젝트 영역에 기초하여 상기 터치 오브젝트에 의한 터치 입력을 검출하는 단계; 및
    상기 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식하는 단계
    를 포함하고,
    상기 배경 영역을 학습하는 단계는,
    상기 배경 영역의 곡률을 계산하는 단계;
    상기 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하는 단계; 및
    상기 배경 영역의 곡률이 상기 미리 설정된 학습 조건을 만족시키는 경우, 상기 배경 영역을 학습하는 단계
    를 포함하는, 터치 제스쳐 인식 방법.
  15. 삭제
  16. 제14항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 검출 영역 내에 상기 터치 오브젝트가 터치되었는지 여부를 결정하는 단계; 및
    상기 터치 오브젝트가 상기 터치 검출 영역에 터치된 상태에서 상기 터치 입력의 변화를 검출하는 단계
    를 포함하는 터치 제스쳐 인식 방법.
  17. 제14항에 있어서,
    상기 터치 입력을 검출하는 단계는,
    상기 터치 입력의 위치 및 상기 터치 입력의 터치 각도 중 적어도 하나를 결정하는 단계를 포함하고,
    상기 터치 제스쳐를 인식하는 단계는,
    상기 터치 입력의 위치의 변화 및 상기 터치 입력의 터치 각도의 변화 중 적어도 하나를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는, 터치 제스쳐 인식 방법.
  18. 제1항, 제3항, 제4항, 제7항 내지 제14항, 제16항, 및 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
  19. 터치 오브젝트가 나타난 깊이 영상을 획득하는 깊이 센서;
    상기 깊이 영상으로부터 상기 터치 오브젝트가 배경 영역에 터치된 터치 입력을 검출하고, 상기 터치 입력의 변화를 추적하여 상기 터치 입력에 의한 터치 제스쳐를 인식하는 프로세서; 및
    상기 깊이 센서로부터 획득한 학습 깊이 영상에 기초하여 상기 배경 영역을 학습하는 학습기
    를 포함하고,
    상기 학습기는,
    상기 배경 영역의 곡률을 계산하고, 상기 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하고, 상기 배경 영역의 곡률이 상기 미리 설정된 학습 조건을 만족시키는 경우, 상기 배경 영역을 학습하는, 터치 제스쳐 인식 장치.
  20. 삭제
  21. 삭제
  22. 제19항에 있어서,
    상기 프로세서는,
    상기 학습된 배경 영역에 기초하여 상기 터치 입력을 검출하기 위한 터치 검출 영역을 결정하고, 상기 터치 검출 영역 내에서 상기 터치 입력의 변화를 검출하는, 터치 제스쳐 인식 장치.
  23. 제19항에 있어서,
    상기 터치 제스쳐 인식 장치는,
    웨어러블 디바이스(wearable device)에 구비되어 동작하는, 터치 제스쳐 인식 장치.
  24. 깊이 영상을 획득하는 깊이 센서;
    상기 깊이 센서로부터 획득된 깊이 영상으로부터 터치 오브젝트가 터치되는 배경 영역을 학습하는 학습기; 및
    상기 학습된 배경 영역에 기초하여, 상기 터치 오브젝트가 나타나는 깊이 영상으로부터 터치 오브젝트에 의한 터치 입력을 검출하고, 상기 터치 입력의 움직임에 대응하는 터치 제스쳐를 인식하는 프로세서
    를 포함하고,
    상기 학습기는,
    상기 배경 영역의 곡률을 계산하고, 상기 배경 영역의 곡률이 미리 설정된 학습 조건을 만족시키는지 여부를 결정하고, 상기 배경 영역의 곡률이 상기 미리 설정된 학습 조건을 만족시키는 경우, 상기 배경 영역을 학습하는, 터치 제스쳐 인식 장치.
KR1020140166824A 2014-11-26 2014-11-26 터치 제스쳐 인식 방법 및 장치 KR102347248B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140166824A KR102347248B1 (ko) 2014-11-26 2014-11-26 터치 제스쳐 인식 방법 및 장치
US14/798,803 US10067610B2 (en) 2014-11-26 2015-07-14 Method and apparatus for recognizing touch gesture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140166824A KR102347248B1 (ko) 2014-11-26 2014-11-26 터치 제스쳐 인식 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160063163A KR20160063163A (ko) 2016-06-03
KR102347248B1 true KR102347248B1 (ko) 2022-01-04

Family

ID=56010186

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140166824A KR102347248B1 (ko) 2014-11-26 2014-11-26 터치 제스쳐 인식 방법 및 장치

Country Status (2)

Country Link
US (1) US10067610B2 (ko)
KR (1) KR102347248B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693731B2 (en) 2012-01-17 2014-04-08 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
EP3757718B1 (en) * 2014-05-15 2022-03-30 Federal Express Corporation Wearable devices for courier processing and methods of use thereof
FR3034889B1 (fr) * 2015-04-10 2017-04-28 Cn2P Sas Bracelet electronique pour l’affichage d’un contenu numerique interactif destine a etre projete sur une zone d’un bras
JP6603325B2 (ja) 2015-10-14 2019-11-06 マクセル株式会社 入力端末装置
US10175839B2 (en) 2016-12-30 2019-01-08 Qualcomm Incorporated Highly configurable front end for touch controllers
US10331282B2 (en) 2016-12-30 2019-06-25 Qualcomm Incorporated Highly configurable front end for touch controllers
US10444908B2 (en) * 2016-12-31 2019-10-15 Innoventions, Inc. Virtual touchpads for wearable and portable devices
CN110738665B (zh) * 2019-09-17 2021-10-29 浙江大学 一种基于深度图像信息的物体接触识别方法
WO2021181990A1 (ja) * 2020-03-13 2021-09-16 日本電気株式会社 処理装置、処理方法及びプログラム
CN111476762B (zh) * 2020-03-26 2023-11-03 南方电网科学研究院有限责任公司 一种巡检设备的障碍物检测方法、装置和巡检设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140055352A1 (en) * 2012-11-01 2014-02-27 Eyecam Llc Wireless wrist computing and control device and method for 3D imaging, mapping, networking and interfacing
US20140208274A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Controlling a computing-based device using hand gestures

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061179A (ko) 2007-12-11 2009-06-16 한국전자통신연구원 데이터 입력 장치 및 이를 이용한 데이터 처리 방법
KR101447651B1 (ko) 2008-07-07 2014-10-13 삼성전자주식회사 이동통신 시스템의 유효 비트 연산 장치 및 방법
US8743079B2 (en) 2008-08-29 2014-06-03 Nec Corporation Position information input device and position information input method
US8624836B1 (en) 2008-10-24 2014-01-07 Google Inc. Gesture-based small device input
US8788977B2 (en) 2008-11-20 2014-07-22 Amazon Technologies, Inc. Movement recognition as input mechanism
US9569001B2 (en) 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
JP5604279B2 (ja) 2010-12-08 2014-10-08 日本システムウエア株式会社 ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体
TWI446248B (zh) * 2010-12-24 2014-07-21 Wistron Corp 補償影像間時間差的方法及使用該方法的電子裝置
US8558759B1 (en) 2011-07-08 2013-10-15 Google Inc. Hand gestures to signify what is important
US8228315B1 (en) * 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
JP2014048691A (ja) 2012-08-29 2014-03-17 Sharp Corp リストバンド型入力デバイスおよびリストバンド型入力デバイスを用いた文字入力方法
US10234941B2 (en) 2012-10-04 2019-03-19 Microsoft Technology Licensing, Llc Wearable sensor for tracking articulated body-parts
US9477313B2 (en) 2012-11-20 2016-10-25 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving outward-facing sensor of device
US9020194B2 (en) * 2013-06-14 2015-04-28 Qualcomm Incorporated Systems and methods for performing a device action based on a detected gesture
KR101500098B1 (ko) * 2013-07-05 2015-03-06 현대자동차주식회사 터치스크린을 구비한 유저인터페이스 제어 장치 및 방법
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140055352A1 (en) * 2012-11-01 2014-02-27 Eyecam Llc Wireless wrist computing and control device and method for 3D imaging, mapping, networking and interfacing
US20140208274A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Controlling a computing-based device using hand gestures

Also Published As

Publication number Publication date
US10067610B2 (en) 2018-09-04
US20160147376A1 (en) 2016-05-26
KR20160063163A (ko) 2016-06-03

Similar Documents

Publication Publication Date Title
KR102347248B1 (ko) 터치 제스쳐 인식 방법 및 장치
US11720181B2 (en) Cursor mode switching
US10019074B2 (en) Touchless input
EP2891950B1 (en) Human-to-computer natural three-dimensional hand gesture based navigation method
KR102110811B1 (ko) Hci 시스템 및 방법
US20130120250A1 (en) Gesture recognition system and method
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
KR101706864B1 (ko) 모션 센싱 입력기기를 이용한 실시간 손가락 및 손동작 인식
JP6555958B2 (ja) 情報処理装置、その制御方法、プログラム、および記憶媒体
KR20140140482A (ko) 오브젝트의 움직임을 이용하여 사용자 입력을 처리하는 장치 및 방법
KR102107182B1 (ko) 손 제스처 인식 시스템 및 방법
KR101386655B1 (ko) 3d 공간 터치 시스템 및 방법
CN104679230A (zh) 一种非接触式输入信息的方法及终端
CN114637394A (zh) Vr环境中裸手与模拟触控屏界面的交互操作系统及方法
KR20140097907A (ko) 카메라 기반 명령 입력 장치 및 그 방법
JP2017058817A (ja) 情報処理装置、プログラム及び記録媒体

Legal Events

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