KR102347249B1 - 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법 - Google Patents

외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법 Download PDF

Info

Publication number
KR102347249B1
KR102347249B1 KR1020140142449A KR20140142449A KR102347249B1 KR 102347249 B1 KR102347249 B1 KR 102347249B1 KR 1020140142449 A KR1020140142449 A KR 1020140142449A KR 20140142449 A KR20140142449 A KR 20140142449A KR 102347249 B1 KR102347249 B1 KR 102347249B1
Authority
KR
South Korea
Prior art keywords
event
external object
movement
screen
response
Prior art date
Application number
KR1020140142449A
Other languages
English (en)
Other versions
KR20160046495A (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 KR1020140142449A priority Critical patent/KR102347249B1/ko
Priority to US14/719,607 priority patent/US9983681B2/en
Publication of KR20160046495A publication Critical patent/KR20160046495A/ko
Application granted granted Critical
Publication of KR102347249B1 publication Critical patent/KR102347249B1/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
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/0304Detection arrangements using opto-electronic 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/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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • 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
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0464Positioning

Abstract

일 실시예에 따라 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법이 제공된다. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 외부 물체 중 움직임(motion)이 발생하는 일부를 감지하여 출력된 이벤트 신호에 기초하여 외부 물체의 상대적 이동(relative movement)을 감지할 수 있다. 해당 장치는 감지된 외부 물체의 상대적 이동에 기초하여 화면을 디스플레이할 수 있다.

Description

외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법{METHOD AND DEVICE TO DISPLAY SCREEN IN RESPONSE TO EVENT RELATED TO EXTERNAL OBEJCT}
이하, 이벤트 감지에 기초하여 화면을 디스플레이하는 장치 및 방법이 제공된다.
모바일 기기는 화면(screen) 등을 통해 사용자에게 시각적으로 컨텐츠를 제공할 수 있다. 예를 들어, 사용자가 모바일 기기를 휴대하여 이동하는 동안에도, 모바일 기기는 사용자에게 컨텐츠를 제공하기 위해 화면 상에 해당 컨텐츠를 디스플레이할 수 있다.
다만, 현재의 모바일 기기는 사용자의 상태와 무관하게 정지된 화면을 통해 컨텐츠를 디스플레이한다. 예를 들어, 사용자가 이동 수단(transportation)(예를 들어, 버스나 지하철)을 이용하는 경우, 컨텐츠를 제공하는 화면이 흔들려서 사용자가 해당 컨텐츠를 제대로 식별하기 어려울 수 있다. 따라서, 사용자의 이동 등에 의해 발생하는 흔들림 등을 보정하여, 모바일 기기에서 제공되는 컨텐츠의 가독성을 개선할 필요성이 있다.
일 실시예에 따르면 외부 물체(external object)의 움직임과 연관된 이벤트에 응답하여 화면(screen)을 디스플레이하는 방법은 외부 물체 중 움직임이 발생하는 적어도 일부를 감지하고 감지에 응답하여 하나 이상의 이벤트 신호를 출력하는 단계, 출력된 이벤트 신호에 기초하여 장치에 대한 외부 물체의 이동을 감지하는 단계, 및 외부 물체의 이동에 기초하여 화면을 디스플레이하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체의 이동에 응답하여 화면을 이동하여 디스플레이하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체의 이동 방향, 이동 거리, 및 이동 속도 중 적어도 하나에 응답하여 화면의 이동 방향, 이동 거리 및 이동 속도 중 적어도 하나를 결정하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체의 이동에 응답하여 화면의 적어도 일부 영역을 확대하여 디스플레이하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체의 이동 속도가 미리 정한 임계 속도보다 크게 감지되는 경우에 응답하여, 화면의 적어도 일부 영역을 확대하여 디스플레이하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체의 이동 속도가 미리 정한 임계 속도 이하로 감지되는 경우에 응답하여, 화면을 이동하여 디스플레이하는 단계를 포함할 수 있다.
화면을 디스플레이하는 단계는, 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수에 기초하여 화면을 디스플레이하는 단계를 포함할 수 있다.
하나 이상의 이벤트 신호를 출력하는 단계는, 이벤트 센서를 구성하는 복수의 센싱 엘리먼트들의 각각에서 감지된 미리 정해진 이벤트의 발생에 응답하여 하나 이상의 이벤트 신호를 출력하는 단계를 포함하고, 외부 물체의 이동을 감지하는 단계는, 복수의 센싱 엘리먼트들과 연관된 맵 엘리먼트를 포함하는 이벤트 맵을 생성하는 단계, 이벤트 맵 내에서 맵 엘리먼트에 대응하는 속도 벡터를 포함하는 광류(optical flow)를 출력된 이벤트 신호로부터 계산하는 단계, 및 계산된 광류에 기초하여 외부 물체의 이동을 감지하는 단계를 포함할 수 있다.
외부 물체의 이동을 감지하는 단계는, 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하는 단계, 이벤트 프레임으로부터 관심 영역(ROI, region of interest)을 추출하는 단계, 관심 영역에 대응하는 광류를 계산하는 단계, 및 계산된 광류에 기초하여 외부 물체의 이동을 감지하는 단계를 포함할 수 있다.
외부 물체의 이동을 감지하는 단계는, 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하는 단계, 이벤트 프레임으로부터 관심 영역을 추출하는 단계, 관심 영역의 이동에 기초하여 외부 물체의 이동을 감지하는 단계를 포함할 수 있다.
외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법은 장치의 가속도를 센싱하는 단계, 및 장치의 경사를 센싱하는 단계를 더 포함하고, 화면을 디스플레이하는 단계는, 가속도, 경사, 및 외부 물체의 이동에 기초하여 화면을 디스플레이하는 단계를 포함할 수 있다.
일 실시예에 따르면 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 외부 물체 중 움직임(motion)이 발생하는 적어도 일부를 감지하고, 감지에 응답하여 하나 이상의 이벤트 신호를 출력하는 이벤트 센서(event sensor), 출력된 이벤트 신호에 기초하여 장치에 대한 외부 물체의 이동(movement)을 감지하는 처리부(processor), 및 외부 물체의 이동에 기초하여 화면을 디스플레이하는 디스플레이(display)를 포함할 수 있다.
처리부는, 외부 물체의 이동에 응답하여 화면이 이동되도록 디스플레이를 제어할 수 있다.
처리부는, 외부 물체의 이동에 응답하여 화면의 적어도 일부 영역이 확대되도록 디스플레이를 제어할 수 있다.
처리부는, 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수에 기초하여 화면의 디스플레이를 제어할 수 있다.
이벤트 센서는, 복수의 센싱 엘리먼트들을 포함하고, 복수의 센싱 엘리먼트들의 각각은 미리 정해진 이벤트의 발생을 감지하여 하나 이상의 이벤트 신호를 출력하며, 처리부는, 복수의 센싱 엘리먼트들과 연관된 맵 엘리먼트를 포함하는 이벤트 맵을 생성하고, 이벤트 맵 내에서 맵 엘리먼트에 대응하는 속도 벡터를 포함하는 광류를 출력된 이벤트 신호로부터 계산하여 외부 물체의 이동을 감지할 수 있다.
처리부는, 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하고, 이벤트 프레임으로부터 관심 영역(ROI, region of interest)을 추출하며, 관심 영역에 대응하는 광류를 계산하여 외부 물체의 이동을 감지할 수 있다.
처리부는, 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하고, 이벤트 프레임으로부터 관심 영역을 추출하며, 관심 영역의 이동에 기초하여 외부 물체의 이동을 감지할 수 있다.
외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 장치의 가속도를 센싱하는 가속도 센서, 및 장치의 경사를 센싱하는 경사 센서를 더 포함하고, 처리부는, 가속도, 경사, 및 외부 물체의 이동에 기초하여 화면의 디스플레이를 제어할 수 있다.
디스플레이는, 사용자의 머리에 장착되어 화면을 제공하는 HMD(Head Mounted Display)일 수 있다.
도 1은 일 실시예에 따른 이벤트 기반 센서의 예시적인 구조를 도시한다.
도 2는 일 실시예에 따른 이벤트 기반 처리 장치를 나타내는 블록도이다.
도 3 및 도 4는 일 실시예에 따른 타임 스탬프 정보를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 이벤트 기반 처리 장치에 포함된 광류 생성부를 나타내는 블록도이다.
도 6는 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 블럭도를 도시한다.
도 7은 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법의 흐름도를 도시한다.
도 8은 일 실시예에 따른 외부 물체의 이동에 기초하여 화면을 디스플레이하는 방법의 흐름도를 도시한다.
도 9 및 도 10는 일 실시예에 따른 화면 디스플레이의 예시를 도시한다.
도 11 내지 도 15는 일 실시예에 따른 외부 물체의 이동을 감지하는 과정을 도시한 도면이다.
도 16는 다른 일 실시예에 따른 화면 디스플레이 과정의 흐름도를 도시한다.
도 17은 다른 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 블럭도를 도시한다.
도 18은 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 예시를 도시한다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 이벤트 기반 센서의 예시적인 구조를 도시한다.
이벤트 기반 센서(100)는 복수의 센싱 엘리먼트들(110)을 포함한다. 예를 들어, 이벤트 기반 센서(100)는 128 x 128 개의 센싱 엘리먼트들(110)을 포함할 수 있다.
센싱 엘리먼트(110)는 미리 정해진 이벤트의 발생을 감지하여 이벤트 신호를 출력할 수 있다. 예를 들어, 센싱 엘리먼트(110)는 3개의 단(stage)으로 구성될 수 있다.
제1 단(first stage)(111)에서는 센싱 엘리먼트(110)로 입사되는 빛의 세기에 비례하는 전기 신호를 출력할 수 있다. 예를 들어, 제1 단(111)은 빛의 세기에 비례하는 전압 또는 전류를 생성할 수 있다. 도 1에서는 제1 단(111)에서 전류가 생성될 수 있다.
제2 단(second stage)(112)에서는 빛의 세기 변화를 증폭한 신호를 출력할 수 있다. 예를 들어, 제2 단(112)에서는 커패시터(capacitor)를 통해 제1 단(111)에서 출력된 전기 신호의 DC 성분을 제거할 수 있다. 제2 단(112)에서는 제1 단(111)에서 출력된 전기 신호의 변화량을 증폭할 수 있다.
제3 단(third stage)(113)에서는 온 이벤트 신호(ON event signal) 또는 오프 이벤트 신호(OFF event signal)을 출력할 수 있다. 예를 들어, 제3 단(113)은 제2 단(112)에서 증폭된 전기 신호의 증가량이 임계 변화량보다 크면 온 이벤트 신호를 출력하고, 제2 단(112)에서 증폭된 전기 신호의 감소량이 임계 변화량보다 크면 오프 이벤트 신호를 출력할 수 있다.
본 명세서에서 이벤트는 빛의 세기가 변하는 이벤트 등을 포함할 수 있다. 예를 들어, 이벤트는 외부 물체를 촬영하는 이벤트 기반 비전 센서로 감지되고 출력될 수 있다.
이벤트 기반 비전 센서는 입사되는 빛 세기 변화를 감지함에 따라 시간 비동기적으로 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 기반 비전 센서는 특정 센싱 엘리먼트(110)에서 빛의 세기가 증가하는 이벤트를 감지하는 경우, 해당 센싱 엘리먼트(110)는 온 이벤트(ON event)를 출력할 수 있다. 또한, 이벤트 기반 비전 센서는 특정 센싱 엘리먼트(110)에서 빛의 세기가 감소하는 이벤트를 감지하는 경우, 해당 센싱 엘리먼트(110)는 오프 이벤트(OFF event)를 출력할 수 있다.
이벤트 기반 비전 센서는 프레임 기반 비전 센서와 달리 각 픽셀의 포토 다이오드의 출력을 프레임 단위로 스캔하지 않고, 빛의 세기 변화가 있는 부분의 센싱 엘리먼트(110)에서만 이벤트 신호를 출력할 수 있다. 이벤트 기반 비전 센서로 입사되는 빛의 세기 변화는 외부 물체 또는 이벤트 기반 비전 센서의 움직임에 기인할 수 있다.
예를 들어, 시간의 흐름에 따라 광원이 실질적으로 고정되어 있고 외부 물체는 스스로 발광하지 않는 경우, 이벤트 기반 비전 센서로 입사되는 빛은 광원에서 발생되어 외부 물체에 의해 반사된 빛이다. 외부 물체, 광원, 및 이벤트 기반 비전 센서 모두가 움직이지 않는 경우, 움직임이 없는 상태의 외부 물체에 의해 반사되는 빛은 실질적으로 변하지 않으므로, 이벤트 기반 비전 센서에 입사되는 빛의 세기 변화도 발생되지 않는다. 반면, 외부 물체가 움직이는 경우, 움직이는 외부 물체에 의해 반사되는 빛은 외부 물체의 움직임에 따라 변하므로, 이벤트 기반 비전 센서에 입사되는 빛의 세기 변화가 발생될 수 있다.
외부 물체의 움직임에 반응하여 출력되는 이벤트 신호는 시간 비동기적으로 생성된 정보로 인간의 망막으로부터 뇌로 전달되는 시신경 신호와 유사한 정보일 수 있다. 예를 들어, 이벤트 신호는 정지된 사물에 대하여는 발생되지 않고, 움직이는 사물이 감지되는 경우에 한하여 발생될 수 있다.
예를 들어, 이벤트 기반 비전 센서는 3번 센싱 엘리먼트(110)에서 빛의 세기가 일정 크기 이상 증가하였으면 3번의 센싱 엘리먼트(110)의 어드레스(address)와 온 이벤트를 지시하는 비트를 출력할 수 있다. 다른 예를 들어, 4번 센싱 엘리먼트(110)에서 빛이 세기가 일정 크기 이상 감소하였으면 4번 센싱 엘리먼트(110)의 어드레스와 오프 이벤트를 지시하는 비트가 출력될 수 있다. 여기서, 각 센싱 엘리먼트의 어드레스는 번호, 위치, 또는 인덱스 등으로 표현될 수 있다.
이벤트 기반 비전 센서는 빛의 세기 변화가 발생한 시간도 함께 출력할 수 있다. 이 경우, 이벤트 기반 비전 센서는 타이머를 포함할 수 있다. 이벤트 기반 비전 센서의 출력 신호를 처리하는 프로세서는 빛의 세기 변화가 발생한 시간을 수신할 수 있다. 다른 실시예에 따르면, 이벤트 기반 비전 센서는 빛의 세기 변화가 발생한 시간을 출력하지 않을 수 있다. 이 경우, 프로세서는 이벤트 신호를 수신한 시점을 빛의 세기 변화가 발생한 시간으로 설정할 수 있다.
이하, 본 명세서에서는 이벤트 기반 센서(100) 및 이벤트 기반 비전 센서를 이벤트 센서라고 나타낼 수 있다. 상술한 이벤트 센서는 빛의 세기가 변화한 센싱 엘리먼트(110)의 어드레스 및/또는 시간 정보만을 활용하므로 일반 이미지 카메라보다 처리되는 정보량이 크게 감소될 수 있다.
도 2는 일 실시예에 따른 이벤트 기반 처리 장치를 나타내는 블록도이다.
도 2을 참조하면, 일 실시예에 따른 이벤트 기반 처리 장치(200)는 이벤트 센서(210), 타임 스탬프부(220) 및 광류 생성부(230)를 포함한다.
이벤트 센서(210)는 미리 정해진 이벤트의 발생을 감지하여 이벤트 신호를 생성할 수 있다. 예를 들어, 이벤트 센서(210)는 복수의 센싱 엘리먼트들(sensing elements)을 포함하고, 복수의 센싱 엘리먼트들 중 이벤트의 발생을 감지한 적어도 하나의 타겟 센싱 엘리먼트가 이벤트 신호를 출력할 수 있다. 이벤트 신호는 미리 정해진 이벤트에 기반한 비동기적인 신호로, 미리 정해진 이벤트가 발생된 적어도 하나의 타겟 센싱 엘리먼트와 연관된 정보를 포함할 수 있다.
예를 들어, 타겟 센싱 엘리먼트와 연관된 정보는 타겟 센싱 엘리먼트의 어드레스, 및 인덱스 등을 포함할 수 있다.
여기서, 미리 정해진 이벤트는 빛의 세기(intensity)가 단위 시간 구간에 미리 정해진 수치 이상 증가하는 이벤트 또는 빛의 세기가 단위 시간 구간에 미리 정해진 수치 이상 감소하는 이벤트 등을 포함할 수 있다.
이로 인해, 이벤트 기반 처리 장치(200)는 미리 정해진 이벤트(예를 들면, 각 센싱 엘리먼트의 세기와 연관된 이벤트)가 발생된 타겟 센싱 엘리먼트가 출력한 이벤트 신호만을 대상으로 프로세싱(image processing)을 수행함으로써, 매 프레임마다 모든 픽셀에 대하여 프로세싱을 수행하는 방식에 비하여 연산량을 대폭 감소시킬 수 있다.
예를 들면, (3,10) 위치의 제1 센싱 엘리먼트로 입사되는 빛의 세기가 미리 정해진 수치 이상으로 증가하는 경우, 이벤트 센서(210)는 제1 센싱 엘리먼트의 어드레스를 포함하는 이벤트 신호를 출력할 수 있다. 또한, (20,20) 위치의 제2 센싱 엘리먼트로 입사되는 빛의 세기가 미리 정해진 수치 이상으로 증가하는 경우, 이벤트 센서(210)는 제2 센싱 엘리먼트의 어드레스를 포함하는 이벤트 신호를 출력할 수 있다.
또한, 타임 스탬프부(220)는 이벤트 센서(210)로부터 출력된 이벤트 신호를 수신할 수 있다.
타임 스탬프부(220)는 이벤트 신호에 대응되는 적어도 하나의 맵 엘리먼트와 이벤트 신호가 출력된 시간(예를 들어, 타임 스탬프)을 맵핑 시킴으로써 타임 스탬프(time stamp) 정보를 생성할 수 있다. 예를 들어, 타임 스탬프 정보는 이벤트 맵(event map)의 형태로 생성될 수 있다.
여기서, 이벤트 맵은 복수의 맵 엘리먼트들로 구성될 수 있다. 여기서, 복수의 맵 엘리먼트들은 이벤트 센서를 구성하는 복수의 센싱 엘리먼트들에 대응할 수 있다. 예를 들어, 임의의 맵 엘리먼트는 해당 센싱 엘리먼트와 연관된 타임 스탬프를 포함할 수 있다.
보다 구체적으로, 타임 스탬프부(220)는 타겟 센싱 엘리먼트와 연관된 정보를 이용하여, 새로운 이벤트가 발생된 시간(예를 들어, 타겟 센싱 엘리먼트가 새로운 이벤트 신호를 출력한 시간)을 이벤트 맵에서 해당 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트에 저장할 수 있다.
예를 들어, 타임 스탬프부(220)는 수신된 이벤트 신호를 기초로 이벤트 맵을 구성하는 복수의 맵 엘리먼트들 각각에 새로운 이벤트가 발생된 시간을 저장할 수 있다.
따라서, 타임 스탬프부(220)에 의해 생성되는 타임 스탬프 정보는 복수의 센싱 엘리먼트 각각에서 이벤트 신호가 가장 최근에 출력된 시간과 연관된 정보를 포함할 수 있다.
일 실시예에 따르면, 타임 스탬프부(220)는 복수의 센싱 엘리먼트들 각각에서 이벤트 신호가 가장 최근에 출력된 시간과 연관된 정보만을 유지할 수 있다. 예를 들면, 타임 스탬프부(220)는 수신된 이벤트 신호에 포함된 정보(예를 들면, 타겟 센싱 엘리먼트와 연관된 정보)를 기초로, 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트에 기존에 저장되어 있던 시간을 새로운 이벤트가 발생된 시간(예를 들어, 새로운 이벤트 신호가 출력된 시간)으로 업데이트시킬 수 있다.
일 실시예에 따른 타임 스탬프부(220)는 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 타임 스탬프부(220)는 프로세서, 메모리, 하드웨어 가속기(Hardware Accelerator, HWA), FPGA, 또는 이들의 조합 등으로 구현될 수 있다.
따라서, 일 실시예에 따른 이벤트 기반 처리 장치(200)는 시간의 흐름에 따라 발생된 이벤트들의 히스토리를 고려하지 아니하고, 각 센싱 엘리먼트에서 마지막으로 출력된 이벤트 신호만을 이용하여 프로세싱을 수행할 수 있다. 이로 인해, 이벤트 기반 처리 장치(200)는 적은 메모리와 적은 연산량을 가지고 프로세싱을 수행하는 기술을 제공할 수 있다.
타임 스탬프부(220)에 의해 생성되는 타임 스탬프 정보와 연관된 보다 상세한 사항들은 도 3 및 도 4를 참조하여 후술한다.
또한, 광류 생성부(230)는 이벤트 센서(210)로부터 출력되는 이벤트 신호에 반응하여 타임 스탬프부(220)에 의해 생성되는 타임 스탬프 정보를 기초로 광류(optical flow)를 생성할 수 있다. 이하, 타임 스탬프 정보는 이벤트 맵의 형태로서 설명한다.
일 실시예에 따른 광류 생성부(230)는 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 광류 생성부(230)는 프로세서, 메모리, 하드웨어 가속기(Hardware Accelerator, HWA), FPGA, 또는 이들의 조합 등으로 구현될 수 있다.
여기서, 광류는 이벤트 맵 내에서 새로운 이벤트 신호에 대응하는 적어도 하나의 맵 엘리먼트의 속도 벡터를 포함할 수 있다. 예를 들어, 광류는 복수의 맵 엘리먼트들 중 적어도 하나의 타겟 센싱 엘리먼트와 연관된 맵 엘리먼트에 대응하는 속도 벡터를 포함할 수 있다.
이 때, 각각의 속도 벡터는 복수의 맵 엘리먼트들로 구성되는 2차원 평면 상에서 특정 방향과 특정 크기를 가지는 2차원 벡터이고, 각각의 속도 벡터의 시작 위치는 해당하는 맵 엘리먼트의 위치일 수 있다. 예를 들어, 해당하는 맵 엘리먼트의 위치는 이벤트 맵 상에서 타겟 센싱 엘리먼트와 연관된 맵 엘리먼트의 위치일 수 있다.
예를 들면, 외부 물체에 대해서 이벤트 센서의 위치를 이동시키거나 이벤트 센서에 대해서 외부 물체를 이동시키면 복수의 센싱 엘리먼트들로 입사되는 빛의 세기가 변화하면서 이벤트의 발생을 감지한 타겟 센싱 엘리먼트가 이벤트 신호를 출력할 수 있다. 타임 스탬프부(220)는 이벤트 신호의 출력에 응답하여 각 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트가 업데이트된 이벤트 맵을 생성할 수 있다. 광류는 이벤트 맵 내에서 이벤트 신호가 출력된 지점의 이동을 2차원 벡터의 형태로 포함할 수 있다.
광류 생성부(230)의 구조 및 광류 생성부(230)가 타임 스탬프 정보로부터 광류를 생성하는 동작에 관한 보다 상세한 사항들은 도 5를 참조하여 후술한다.
도 3 및 도 4는 일 실시예에 따른 타임 스탬프 정보를 설명하기 위한 도면이다.
도 3를 참조하면, 일 실시예에 따른 타임 스탬프 정보(300)는 복수의 맵 엘리먼트들 각각에 대응되는 시간 정보를 저장할 수 있다.
도 2를 참조하여 상술한 바와 같이, 타임 스탬프 정보(300)는 각 센싱 엘리먼트에서 이벤트 신호가 가장 최근에 출력된 시간과 연관된 정보만을 유지할 수 있다.
예를 들면, (i, j) 위치의 맵 엘리먼트(310)에 대응하는 이벤트 신호가 가장 최근에 출력된 시간은 Ti ,j이고, (i, j+1) 위치의 맵 엘리먼트(320)에 대응하는 이벤트 신호가 가장 최근에 출력된 시간은 Ti ,j+1일 수 있다.
도 2의 타임 스탬프부(220)는 이벤트 센서(210)로부터 수신된 이벤트 신호를 기초로 타임 스탬프 정보(300)를 업데이트 할 수 있다. 이 경우, 타임 스탬프부(220)는 모든 맵 엘리먼트들에 대하여 업데이트를 수행하는 것이 아니고, 이벤트 신호가 출력된 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트에 대하여만 업데이트를 수행할 수 있다.
일 실시예에 따른 이벤트 센서(210)의 센싱 엘리먼트는 마이크로 초(us) 단위로 미리 정해진 이벤트가 발생되었는지 여부를 감지할 수 있다. 이 경우, 타임 스탬프부(220)는 마이크로 초(us) 단위로 새로운 이벤트가 발생된 시간을 각 센싱 엘리먼트에 대응하는 맵 엘리먼트 별로 이벤트 맵에 저장할 수 있다.
도 4을 참조하면, 일 실시예에 따른 이벤트 기반 처리 장치는 광류를 생성하기 위하여, 타임 스탬프 정보를 이용하여 적어도 하나의 맵 엘리먼트의 속도 벡터를 계산할 수 있다.
예를 들어, (i, j) 위치의 맵 엘리먼트(310)에 대응하는 센싱 엘리먼트에서 이벤트 신호가 출력된 이후, (i+1, j+1) 위치의 맵 엘리먼트(330)에서 이벤트 신호가 출력된 경우를 가정하자. 이 경우, (i, j) 위치의 맵 엘리먼트(310)는 시간 Ti ,j를 저장하고, (i+1, j+1) 위치의 맵 엘리먼트(330)는 Ti ,j보다 큰 수치를 가지는 시간 Ti +1,j+1을 저장할 수 있다.
이 때, 이벤트 기반 처리 장치는 타임 스탬프 정보(300)를 이용하여 맵 엘리먼트(310)의 위치에서 시작점을 가지는 2차원 벡터
Figure 112014100286668-pat00001
(미도시)를 계산할 수 있다.
보다 구체적으로, 이벤트 기반 처리 장치는 타임 스탬프 정보(300)로부터 2차원 벡터
Figure 112014100286668-pat00002
(미도시)를 계산하기 위한 시간 차이 및 위치 차이를 추출할 수 있다. 여기서, 시간 차이는 시간 Ti +1,j+ 1와 시간 Ti ,j 사이의 시간 차이로, 스칼라
Figure 112014100286668-pat00003
(미도시)일 수 있다. 또한, 위치 차이는 맵 엘리먼트(330)와 맵 엘리먼트(310) 사이의 위치 차이로, 2차원 벡터
Figure 112014100286668-pat00004
(340)일 수 있다.
이벤트 기반 처리 장치는 하기 수학식 1을 이용하여 2차원 벡터
Figure 112014100286668-pat00005
(미도시)를 계산할 수 있다.
Figure 112014100286668-pat00006
나아가, 이벤트 기반 처리 장치는 상술한 방식과 유사하게 다른 맵 엘리먼트들의 위치들에서 시작점들을 가지는 2차원 벡터들을 계산할 수 있다. 이벤트 기반 처리 장치는 이러한 2차원 벡터들의 세트(set)를 포함하는 광류를 출력할 수 있다.
도 5은 일 실시예에 따른 이벤트 기반 처리 장치에 포함된 광류 생성부를 나타내는 블록도이다.
도 5을 참조하면, 일 실시예에 따른 광류 생성부(500)는 주변 맵 엘리먼트 획득부(510), 시간 차이 계산부(520), 거리 차이 계산부(530) 및 광류 계산부(540)을 포함한다.
도 5에 도시된 모듈들 각각은 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 예를 들어, 광류 생성부(500)는 주변 맵 엘리먼트 획득부(510), 시간 차이 계산부(520), 거리 차이 계산부(530) 및 광류 계산부(540) 각각은 프로세서, 메모리, 하드웨어 가속기(Hardware Accelerator, HWA), FPGA, 또는 이들의 조합 등으로 구현될 수 있다.
주변 맵 엘리먼트 획득부(510)는 이벤트 신호에 대응하는 맵 엘리먼트를 중심으로 복수의 주변 맵 엘리먼트들을 획득할 수 있다. 예를 들어, 이벤트 신호에 대응하는 맵 엘리먼트는 이벤트 신호가 출력된 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트일 수 있다.
예를 들면, 주변 맵 엘리먼트 획득부(510)는 이벤트 신호에 대응하는 맵 엘리먼트와 직접적으로 인접한 8개의 주변 맵 엘리먼트들을 획득할 수 있다. 다른 실시예에 따르면, 주변 맵 엘리먼트 획득부(510)는 이벤트 신호에 대응하는 맵 엘리먼트와 직접적으로 인접한 8개의 주변 맵 엘리먼트들뿐만 아니라, 8개의 주변 맵 엘리먼트들을 둘러싸는 16개의 주변 맵 엘리먼트들을 더 획득할 수 있다.
또한, 시간 차이 계산부(520)는 도 3의 타임 스탬프 정보(300)를 이용하여 이벤트 신호에 대응하는 적어도 하나의 맵 엘리먼트와 그 주변 맵 엘리먼트들 사이의 시간 차이와 연관된 정보를 계산할 수 있다.
보다 구체적으로, 시간 차이 계산부(520)는 새로운 이벤트 신호가 출력된 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트와 그 주변 맵 엘리먼트들 사이의 시간 차이를 계산할 수 있다. 예를 들면, 도 3의 맵 엘리먼트(310)에 대응하는 센싱 엘리먼트에서 새로운 이벤트 신호가 출력된 경우를 가정하자. 시간 차이 계산부(520)는 맵 엘리먼트(310)에 저장된 시간 Ti ,j와 주변 맵 엘리먼트(320)에 저장된 시간 Ti ,j+1의 차이를 계산할 수 있다.
이 경우, 맵 엘리먼트(310)에 저장된 시간 Ti ,j는 새로운 이벤트의 발생에 반응하여 도 2의 타임 스탬프부(220)에 의해 값이 업데이트된 상태이므로, Ti ,j - Ti ,j+1은 0보다 크거나 같은 값이 된다(맵 엘리먼트(320)에 대응하는 센싱 엘리먼트에서도 동시에 이벤트 신호가 출력된 경우, Ti ,j - Ti ,j+1이 0이 될 수 있다).
시간 차이 계산부(520)는 주변 맵 엘리먼트 획득부(510)에 의해 획득된 복수의 주변 맵 엘리먼트들 각각에서 전술한 시간 차이를 계산할 수 있다.
나아가, 시간 차이 계산부(520)는 계산된 시간 차이가 미리 정해진 타임 윈도우 범위(예를 들면, 0.1초) 밖인 경우, 계산된 시간 차이 대신 0을 출력할 수 있다.
다시 말해, 시간 차이 계산부(520)는 계산된 시간 차이가 미리 정해진 윈도우 범위(예를 들면, 0.1초) 밖인 경우 계산된 시간 차이를 무의미한 정보로 취급할 수 있다.
이로 인해, 광류 생성부(500)는 광류에 포함되는 각 맵 엘리먼트에 대응하는 속도 벡터에 노이즈로 작용될 수 있는 요소를 제거할 수 있다.
또한, 거리 차이 계산부(530)는 이벤트 신호가 출력된 적어도 하나의 센싱 엘리먼트에 대응하는 맵 엘리먼트와 그 주변 맵 엘리먼트들 사이의 거리 차이와 연관된 정보를 계산할 수 있다.
보다 구체적으로, 거리 차이 계산부(530)는 이벤트 신호가 출력된 센싱 엘리먼트에 대응하는 맵 엘리먼트와 그 주변 맵 엘리먼트들 사이의 맵 엘리먼트 거리(map element distance)의 역수를 계산할 수 있다. 여기서, 맵 엘리먼트 거리는 복수의 맵 엘리먼트들 사이의 일반화된 거리(normalized distance)를 포함할 수 있다. 예를 들면, 도 3의 맵 엘리먼트(310)과 맵 엘리먼트(320) 사이의 픽셀 거리는 1일 수 있다.
거리 차이 계산부(530)는 주변 맵 엘리먼트 획득부(510)에 의해 획득된 복수의 주변 맵 엘리먼트들 각각에서 전술한 맵 엘리먼트 거리의 역수를 계산할 수 있다.
또한, 광류 계산부(540)는 시간 차이 계산부(520)에 의해 계산된 시간 차이와 연관된 정보와 거리 차이 계산부(530)에 의해 계산된 거리 차이와 연관된 정보를 기초로 광류를 계산할 수 있다.
보다 구체적으로, 광류 계산부(540)는 광류를 계산하기 위하여, 시간 차이와 연관된 정보와 거리 차이와 연관된 정보를 이용하여 이벤트 신호가 출력된 적어도 하나의 센싱 엘리먼트와 연관된 맵 엘리먼트에 대응되는 2차원 벡터 A를 계산하고, 2차원 벡터 A를 2차원 벡터 A의 내적 값으로 나누는 연산을 수행할 수 있다.
예를 들면, 광류 계산부(540)는 이벤트 신호에 대응하는 맵 엘리먼트의 주변 맵 엘리먼트들 각각에 대응되는 시간 차이와 연관된 정보와 거리 차이와 연관된 정보를 곱할 수 있다. 이어서, 광류 계산부(540)는 주변 맵 엘리먼트들에 각각 대응되는 곱셈 결과들을 합하여 2차원 벡터 A를 계산할 수 있다. 여기서, 2차원 벡터 A의 단위는 "시간/거리"일 수 있다.
광류 계산부(540)는 2차원 벡터 A를 2차원 벡터 A 자신을 내적한 값으로 나눔으로써 광류에 포함되는 속도 벡터 V를 계산할 수 있다. 여기서, 속도 벡터 V의 단위는 "거리/시간"일 수 있다.
광류 계산부(540)는 이벤트 신호에 대응하는 맵 엘리먼트들 각각에서 전술한 속도 벡터 V를 계산함으로써, 맵 엘리먼트들 각각의 속도 벡터를 포함하는 광류를 생성할 수 있다.
전술한 바와 같이, 시간 차이 계산부(520)는 이벤트 신호에 대응하는 맵 엘리먼트와 그 주변 맵 엘리먼트 사이의 시간 차이가 미리 정해진 타임 윈도우 범위 밖인 경우 0을 출력할 수 있다. 만약, 이벤트 신호에 대응하는 맵 엘리먼트와 그 주변 맵 엘리먼트들 모두와의 시간 차이들이 미리 정해진 타임 윈도우 범위 밖인 경우, 광류 계산부(540)에서 계산되는 2차원 벡터 A는 0일 수 있다.
이 경우, 광류 계산부(540)는 속도 벡터 V의 값으로 계산되는 무한대 대신 0을 출력할 수 있다.
도면에 도시하지 않았으나, 광류 생성부(500)는 부분 계산부 및 전체 계산부 중 적어도 하나를 포함할 수 있다.
여기서, 부분 계산부는 이벤트 신호의 출력에 반응하여, 이벤트 맵 내의 전체 맵 엘리먼트들 중 이벤트 신호가 출력된 센싱 엘리먼트에 대응하는 일부 맵 엘리먼트 및 그 주변 맵 엘리먼트들에 한하여 비동기적으로 광류를 새로 계산할 수 있다. 예를 들어, 부분 계산부는 전체 맵 엘리먼트들 중 이벤트 신호에 대응되는 적어도 하나의 맵 엘리먼트 및 해당 맵 엘리먼트에 인접한 주변 맵 엘리먼트들의 속도 벡터들을 계산할 수 있다.
또한, 전체 계산부는 미리 정해진 주기마다, 전체 맵 엘리먼트에 대하여 광류를 새로 계산할 수 있다. 예를 들어, 전체 계산부는 미리 정해진 주기가 도과하였는지 여부를 판단하고, 미리 정해진 주기가 도과하는 경우 전체 맵 엘리먼트들의 속도 벡터들을 일괄적으로 계산할 수 있다.
부분 계산부 및 전체 계산부에는 도 5을 통하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 6는 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 블럭도를 도시한다.
외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 이벤트 센서(610), 처리부(620) 및 디스플레이(630)를 포함한다. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 스마트폰, 태블릿 PC, 데스크톱 PC 등 디스플레이(630)를 구비하는 모든 전자 장치를 나타낼 수 있다. 또한, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 도 2에 도시된 이벤트 기반 처리 장치(200)와 결합될 수 있다.
이벤트 센서(610)는 외부 물체 중 움직임이 발생하는 적어도 일부를 감지하고 상기 감지에 응답하여 하나 이상의 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 센서(610)는 도 2에 도시된 이벤트 센서(210)일 수 있다.
본 명세서에서 외부 물체의 움직임(motion)은 외부 물체의 적어도 일부 및 장치(600) 간의 상대적 움직임(relative motion)으로서, 정지된 외부 물체의 적어도 일부를 기준으로 장치(600)가 움직이는 경우 및 정지된 장치(600)를 기준으로 외부 물체의 적어도 일부가 움직이는 경우, 및 장치(600) 및 외부 물체의 적어도 일부가 서로 다르게 움직이는 경우 등을 나타낼 수 있다.
본 명세서에서 장치(600)에 대한 외부 물체의 상대적 이동(relative movement)은 상술한 외부 물체의 움직임의 결과로서, 장치(600)에 대한 외부 물체의 상대적 위치가 바뀌는 것을 나타낼 수 있다. 예를 들어, 상대적 위치는 장치(600)를 기준으로 하는 2차원 좌표 상에서의 외부 물체의 위치 변화, 및 외부 물체를 기준으로 하는 2차원 좌표 상에서의 장치(600)의 위치 변화 등을 나타낼 수 있다.
본 명세서에서 외부 물체는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)의 외부에 존재하는 물체를 나타낼 수 있다. 예를 들어, 외부 물체는 인간(human)의 신체의 전부 또는 일부, 인간의 얼굴, 동물, 및 사물 등을 포함할 수 있다.
처리부(620)는 출력된 이벤트 신호에 기초하여 외부 물체의 이동을 감지할 수 있다. 예를 들어, 처리부(620)는 이벤트 신호로부터 광류를 계산하여 외부 물체의 이동을 감지할 수 있다. 여기서, 처리부(620)는 광류를 계산하기 위해 도 2에 도시된 타임 스탬프부(220) 및 광류 생성부(230)를 포함하거나, 도 2에 도시된 타임 스탬프부(220) 및 광류 생성부(230)의 동작들을 수행할 수 있다. 더 나아가, 처리부(620)는 도 5에 도시된 광류 생성부(500)의 동작들을 수행함으로써 이벤트 신호로부터 광류를 계산할 수 있다.
또한 처리부(620)는 이벤트 신호에 기초하여 생성된 이벤트 프레임으로부터 관심 영역(ROI, region of interest)을 식별하고, 식별된 관심 영역을 추적하여 외부 물체의 이동을 감지할 수 있다. 여기서, 이벤트 프레임은 미리 정한 타임 윈도우에 포함되는 이벤트 신호들의 집합을 나타낼 수 있다. 예를 들어, 미리 정한 타임 윈도우는 10ms의 시간 구간 길이 내지 30ms의 시간 구간 길이로서 설정될 수 있고, 이로 한정하는 것은 아니며 설계에 따라 미리 정한 타임 윈도우의 시간 구간의 길이가 변경될 수 있다. 이벤트 프레임의 예시는 하기 도 14에서 상세히 설명한다.
예를 들어, 처리부(620)는 식별된 관심 영역의 중심(예를 들어, 무게 중심)에 대응하는 위치의 이동을 감지함으로써, 외부 물체의 이동을 감지할 수 있다. 또한, 처리부(620)는 관심 영역에 대한 광류를 계산하여, 계산된 광류에 기초하여 외부 물체의 이동을 감지할 수 있다.
이하, 본 명세서에서 관심 영역은 적어도 하나의 이벤트 신호, 및 미리 정한 타임 윈도우 내에 대응하는 이벤트 신호의 집합(예를 들어, 이벤트 프레임) 등에서 관심의 대상(subject of interest)을 포함하는 영역을 나타낼 수 있다. 예를 들어, 관심 영역은 인간의 얼굴을 포함하는 영역, 인간의 신체 일부를 포함하는 영역, 동물을 포함하는 영역, 및 사물을 포함하는 영역 등을 나타낼 수 있다.
더 나아가, 처리부(620)는 외부 물체의 이동에 기초하여 화면을 디스플레이하도록 디스플레이(630)를 제어할 수 있다. 예를 들어, 처리부(620)는 외부 물체의 이동 특성(예를 들어, 속도, 방향, 빈도 등)에 따라 화면이 다른 방식으로 디스플레이되도록 디스플레이(630)를 제어할 수 있다. 여기서, 처리부(620)는 화면이 외부 물체의 이동에 응답하여 이동되거나, 화면의 일부 영역이 확대되도록 디스플레이(630)를 제어할 수 있다. 화면의 디스플레이 방식은 구체적으로 하기 도 9 및 도 9에서 상세히 설명한다.
디스플레이(630)는 외부 물체의 이동에 기초하여 화면을 디스플레이할 수 있다. 예를 들어, 디스플레이(630)는 외부 물체의 이동에 기초한 처리부(620)의 제어에 따라 디스플레이되는 화면을 변경할 수 있다.
일 실시예에 따르면 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 스마트 모션 스테이(Smart Motion Stay)를 제공할 수 있다. 스마트 모션 스테이는, 사용자가 이동 중 또는 흔들리는 중에도 사용자가 화면을 식별할 수 있도록 디스플레이하는 기능을 나타낼 수 있다. 예를 들어, 스마트 모션 스테이는 사용자의 움직임에 따라 모바일 기기의 화면이 흔들리는 경우에도, 사용자가 모바일 기기의 디스플레이 상의 글자나 그림을 쉽게 읽을 수 있도록 도와줄 수 있다.
예를 들어, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 장치(600)의 앞면에 위치한 이벤트 센서를 통해 사용자의 얼굴을 감지할 수 있다. 사용자가 이동 중이거나 버스 등을 타고 있는 경우, 화면의 변경이 없다면 사용자는 흔들림으로 디스플레이에 나타나는 컨텐츠를 제대로 식별할 수 없다. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 흔들리는 얼굴의 이동 방향과 이동 거리를 인식하여, 얼굴이 움직이는 방향으로 화면을 이동시키거나, 사용자가 보고 있는 화면의 컨텐츠(예를 들어, 글자)를 확대함으로써, 가독성을 개선할 수 있다.
다만, 기존의 진동 센서(vibration sensor), 자이로 센서(gyro sensor), 및 경사 센서(tilt sensor)로는 사용자의 움직임이 정상적으로 감지되지 않을 수 있다. 장치를 파지하고 있는 신체 부위(예를 들어, 사용자의 손)과 장치를 응시하는 신체 부위(예를 들어, 얼굴)의 움직임이 서로 다를 수 있기 때문이다. 또한, 기존의 컬러 기반 이미지 센서는 초당 30 ms 정도의 프레임율(frame rate)을 가질 뿐 아니라, 얼굴을 인식하기 위한 복잡한 알고리즘(예를 들어, color filtering, edge filtering, template matching 등)이 요구되므로, 총 반응 시간이 50 ms 이상으로 나타날 수 있다. 결과적으로 기존의 센서들만으로는 50 ms 보다 빠른 사용자의 움직임에 대해서는 반응할 수 없다.
일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(600)는 이벤트 센서(610)를 이용하여 us (micro second) 단위로 사용자의 움직임을 감지함으로써, 사용자의 움직임에 적합한 화면을 제공할 수 있다. 예를 들어, 이벤트 센서(610)는 각 센싱 엘리먼트로 입사되는 빛의 세기가 변화하면 즉각적으로(immediately) 이벤트 신호를 출력할 수 있다. 이벤트 센서(610)는 동기식 프레임 기반 동작이 아닌, 비동기식 이벤트 기반 동작을 수행할 수 있다. 이벤트 센서(610)는 1 ms 이하의 반응 시간을 나타낼 수 있다.
도 7은 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법의 흐름도를 도시한다.
우선, 단계(710)에서는 이벤트 센서가 이벤트 신호를 출력할 수 있다. 이벤트 센서를 구성하는 복수의 센싱 엘리먼트들의 각각에서 감지된 미리 정해진 이벤트의 발생에 응답하여 하나 이상의 이벤트 신호를 출력할 수 있다. 예를 들어, 이벤트 센서는 각 센싱 엘리먼트로 입사되는 빛의 세기 변화를 감지하여 이벤트 신호를 출력할 수 있다.
그리고 단계(720)에서는 처리부가 이벤트 신호에 기초하여 외부 물체의 이벤트 센서에 대한 상대적 이동을 감지할 수 있다. 예를 들어, 외부 물체의 상대적 이동은 외부 물체가 이동하는 경우 및 이벤트 센서가 이동하는 경우를 포함할 수 있다. 처리부는 이벤트 신호로부터 광류를 계산하거나 관심 영역의 이동을 추적하여 외부 물체의 이동 및 이벤트 센서의 이동을 감지할 수 있다. 이하 도 10은 광류 계산을 통한 이동 감지를 설명하고, 도 11 및 도 13은 관심 영역의 이동 추적을 통한 이동 감지를 설명한다. 이하 설명은 외부 물체가 이동하는 경우를 예시로서 설명한다.
예를 들어, 처리부는 이벤트 센서로부터 출력된 이벤트 신호의 시간 정보로부터 상술한 수학식 1을 통해 광류를 계산할 수 있다. 처리부는 상술한 수학식 1에서 계산된 2차원 벡터 A를 2차원 벡터 A 자신을 내적한 값으로 나눔으로써 속도 벡터 V를 계산할 수 있다. (예를 들어, 도 5의 광류 계산부(540)의 동작) 처리부는 계산된 속도 벡터 V로부터 맵 엘리먼트의 x축의 속도 및 y축의 속도를 계산할 수 있다.
처리부는 외부 물체의 이동 속도를 계산하기 위해 상술한 바와 같이 광류를 이용할 수 있다. 또한, 처리부는 관심 영역을 이용하여 외부 물체의 이동 속도를 계산할 수 있다. 예를 들어, 처리부는 관심 영역의 광류를 이용하여 외부 물체의 이동 속도를 계산할 수 있다. 더 나아가, 처리부는 사용자의 얼굴의 특징점(예를 들어, 눈, 눈썹, 입술 등)의 비율 변화로부터 외부 물체의 이동(예를 들어, 회전 등)을 감지할 수 있다.
이어서 단계(730)에서는 디스플레이가 장치에 대한 외부 물체의 이동에 기초하여 화면을 디스플레이할 수 있다.
예를 들어, 처리부는 외부 물체의 이동에 응답하여 화면을 이동하여 디스플레이하도록 디스플레이를 제어할 수 있다. 여기서, 처리부는 외부 물체의 이동 속도가 미리 정한 임계 속도 이하로 감지되는 경우에 응답하여, 화면이 이동되도록 디스플레이를 제어할 수 있다. 더 나아가, 처리부는 외부 물체의 이동 방향, 이동 거리, 및 이동 속도 중 적어도 하나에 응답하여 화면의 이동 방향, 이동 거리 및 이동 속도 중 적어도 하나를 결정할 수 있다. 예를 들어, 미리 정한 임계 속도는 사용자에 의해 설정되거나, 자동으로 미리 설정될 수 있다.
또한, 처리부는 외부 물체의 이동에 응답하여 화면의 적어도 일부 영역을 확대하여 디스플레이하도록 디스플레이를 제어할 수 있다. 여기서, 처리부는 외부 물체의 이동 속도가 미리 정한 임계 속도보다 크게 감지되는 경우에 응답하여, 화면의 적어도 일부 영역이 확대되어 디스플레이되도록 디스플레이를 제어할 수 있다.
여기서, 처리부는 외부 물체의 이동 특성에 따라 화면의 디스플레이 방식을 변경할 수 있다. 외부 물체의 이동 특성은 외부 물체의 이동 속도, 이동 방향, 이동 거리, 단위 시간(예를 들어, 1초)당 흔들린 횟수 등에 기초하여 결정될 수 있다.
예를 들어, 미리 정한 임계 속도보다 외부 물체의 이동 속도가 크게 감지되는 경우는 외부 물체가 고속으로 움직이는 경우를 나타낼 수 있다. 외부 물체의 이동 속도가 미리 정한 임계 속도 이하로 감지되는 경우는 외부 물체가 저속으로 움직이는 경우를 나타낼 수 있다.
또한, 외부 물체가 미리 정한 기준시간(예를 들어, 단위 시간) 동안 흔들리는 횟수가 임계빈도(threshold frequency)를 초과하는 것으로 감지되는 경우, 외부 물체의 이동은 고빈도 이동(high frequency movement)으로 나타낼 수 있다. 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수가 임계빈도 이하로 감지되는 경우, 외부 물체의 이동은 저빈도 이동(low frequency movement)로 나타낼 수 있다. 여기서, 외부 물체가 흔들리는 상태는, 외부 물체가 짧은 거리 내의 이동을 반복하는 상태를 나타낼 수 있다.
예를 들어, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는, 외부 물체가 고속으로 이동하는 것으로 감지되는 경우에 응답하여, 가독성을 개선하기 위해 화면의 일부를 확대할 수 있다. 또한, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는, 외부 물체가 저속으로 이동하는 것으로 감지되는 경우에 응답하여, 가독성을 개선하기 위해 외부 물체의 이동에 따라 화면을 이동시킬 수 있다.
또한, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수에 기초하여 화면을 디스플레이할 수 있다. 예를 들어, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 외부 물체의 이동이 고빈도 이동으로 감지되는 경우에 응답하여, 가독성을 개선하기 위해 화면의 일부를 확대할 수 있다. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 외부 물체의 이동이 저빈도 이동으로 감지되는 경우에 응답하여, 가독성을 개선하기 위해, 외부 물체의 이동에 따라 화면을 이동시킬 수 있다.
다만, 외부 물체의 이동 특성에 따른 디스플레이 방식 변경을 상술한 바로 한정하는 것은 아니고, 외부 물체의 각 이동 특성에 대해 화면의 일부 확대 및 화면 이동 등의 디스플레이 방식 변경이 필요에 따라 선택적으로 적용될 수 있다.
도 8은 일 실시예에 따른 외부 물체의 이동에 기초하여 화면을 디스플레이하는 방법의 흐름도를 도시한다.
우선, 단계(831)에서 처리부는 외부 물체의 속도가 임계속도보다 큰 지 판단할 수 있다. 여기서, 처리부는 이벤트 신호에 기초하여 외부 물체의 이동 속도, 이동 방향 및 이동 거리를 계산할 수 있다. 여기서, 이동 속도는 도 7의 단계(720)에서 상술한 방법에 따라 계산될 수 있다. 이동 거리는 이동 속도에 기초하여 계산될 수 있다.
여기서, 처리부는 외부 물체의 이동 속도에 기초하여 화면의 디스플레이 방식을 결정할 수 있다. 예를 들어, 외부 물체의 이동 속도가 임계 속도보다 큰 것으로 감지되면 단계(832)에서 화면을 확대할 수 있다. 또한, 외부 물체의 이동 속도가 임계 속도 이하로 감지되면 단계(833)에서 화면을 이동시킬 수 있다. 이와 같이, 외부 물체의 이동 특성에 따라 단계(832) 및 단계(833)에서 화면의 디스플레이 방식을 변경함으로써 가독성이 향상될 수 있다.
예를 들어, 단계(832)에서는 처리부가 화면을 확대할 수 있다. 처리부는 화면의 적어도 일부 영역을 확대하도록 디스플레이를 제어할 수 있다. 여기서, 일부 영역은 화면의 중앙 영역 또는 사용자의 시선이 도달하는 영역으로 결정될 수 있다. 이를 통해, 사용자는 확대된 영역에 위치하는 컨텐츠(예를 들어, 글자 등)를 쉽게 식별할 수 있다. 다만, 확대되는 일부 영역을 이로 한정하는 것은 아니고, 설계 및 필요에 따라 변경될 수 있다.
단계(833)에서는 처리부가 화면을 이동시킬 수 있다. 처리부는 외부 물체의 이동에 응답하여 화면이 이동되도록 디스플레이를 제어할 수 있다. 여기서, 화면이 이동되는 속도는 외부 물체의 이동 속도에 비례하도록(예를 들어, 동일하도록) 결정될 수 있다. 화면이 이동되는 방향은 외부 물체의 이동 방향에 대응할 수 있다. 처리부는 화면이 이동되는 거리(예를 들어, 변위)를 외부 물체의 이동 거리에 비례하도록 결정할 수 있다. 여기서, 화면이 이동되는 거리는 하기와 같이 결정될 수 있다.
예를 들어, 처리부는 단계(831)에서 계산된 속도 벡터를 활용하여 화면의 변위를 하기 수학식 2와 같이 계산할 수 있다. 여기서, 속도 벡터는 외부 물체의 이동 속도 및 이동 방향과 연관된 정보를 포함할 수 있다.
Figure 112014100286668-pat00007
상술한 수학식 2에서 t는 현재 타임 윈도우, t-1은 이전 타임 윈도우를 나타낼 수 있다. 타임 윈도우는 이벤트들을 구분하기 위한 단위 시간 구간(unit time interval)으로서, 예를 들어, ms(milli second) 단위로 설정될 수 있다. Vx와 Vy는 맵 엘리먼트의 x축의 평균 속도 및 y축의 평균 속도를 나타낼 수 있다. 예를 들어, Vx 및 Vy는 현재 타임 윈도우 내에 속하는 이벤트에 대응하는 픽셀들의 평균 속도를 나타낼 수 있다.
Figure 112014100286668-pat00008
는 이전 이벤트 데이터 패킷(예를 들어, 이전 타임 윈도우에 속하는 이벤트들의 집합)의 평균 시간과 현 이벤트 데이터 패킷(예를 들어, 현재 타임 윈도우에 속하는 이벤트들의 집합)의 평균 시간의 차이를 나타낼 수 있다. Cs는 민감도 상수로서, 사용자에 의해 설정되거나 자동으로 결정될 수 있다. 예를 들어, 민감도 상수 Cs가 크면 조그마한 변화에도 화면이 이동하는 변위가 커질 수 있다. xt, yt는 각각 현재 타임 윈도우에서 화면이 이동하는 변위를 나타낼 수 있다.
도 9 및 도 10는 일 실시예에 따른 화면 디스플레이의 예시를 도시한다.
도 9은 예를 들어, 외부 물체의 고속 이동 또는 고빈도 이동에 응답하여 디스플레이되는 화면을 도시한다. 여기서, 외부 물체는 인간의 얼굴(950)로 가정할 수 있다. 예를 들어, 이벤트 센서(919)는 장치(910)의 전면부 또는 후면부에 장착될 수 있다. 여기서, 이벤트 센서(919)는 장치(910)의 디스플레이와 동일한 면 또는 반대면에 위치될 수 있다.
예를 들어, 인간의 얼굴(950)이 고빈도로 흔들리는 경우, 인간의 시선이 장치(910)의 디스플레이 상의 한점에 고정되기 어려울 수 있다. 여기서, 장치(910) 상에서 컨텐츠가 작은 영역을 통해 제공되면, 인간이 컨텐츠를 식별하기 어려울 수 있다.
일 실시예에 따르면, 장치(910)에 대해 인간의 얼굴(950)이 고빈도로 흔들리는 움직임(951)이 감지되는 경우, 장치(910)는 화면의 일부 영역(911)을 확대하여 디스플레이할 수 있다. 일부 영역(911)의 위치, 크기 및 확대되는 정도를 도 9에 도시된 바로 한정하는 것은 아니고, 설계에 따라 변경될 수 있다.
도 10은 예를 들어, 외부 물체의 저속 이동 또는 저빈도 이동에 응답하여 디스플레이되는 화면을 도시한다. 여기서, 외부 물체는 인간의 얼굴(1050)로 가정할 수 있다.
예를 들어, 인간의 얼굴(1050)이 임의의 방향으로 이동하는 경우, 컨텐츠를 식별하기 위해서는 인간의 얼굴(1050) 위치에 따라 인간의 시선이 변경되어야 하므로, 시각적 피로가 발생할 수 있다. 일 실시예에 따른 장치(1010)는 인간의 얼굴(1050)의 얼굴과 장치(1010) 간의 상대적 이동에 따라 화면이 이동되도록 디스플레이함으로써, 사용자가 이동하는 동안에도 흔들림이 감소되고 가독성이 향상된 화면을 제공할 수 있다..
일 실시예에 따르면, 인간의 얼굴(1050)이 제1 축(1051)을 따라 저속으로 이동하는 움직임이 감지되는 경우, 장치(1010)는 화면이 제1 축(1011)을 따라 이동되도록 디스플레이할 수 있다. 인간의 얼굴(1050)이 제2 축(1052)을 따라 이동하는 움직임이 감지되는 경우, 장치(1010)는 화면이 제2 축(1012)을 따라 이동되도록 디스플레이할 수 있다. 예를 들어, 인간의 얼굴(1050)이 인간을 기준으로 제2 축(1052)을 따라 오른쪽으로 이동하는 것으로 감지되면, 도 10에서 화면에 디스플레이된 "A"라는 문자도 인간을 기준으로 제2 축(1012)을 따라 오른쪽으로 이동되도록 디스플레이될 수 있다.
도 10에 도시된 제1 축(1011, 1051)의 방향 및 제2 축(1012, 1052)의 방향은 예시적인 것으로서, 설계에 따라 각 축의 방향은 변경될 수 있다. 또한, 추가적인 축(additional axis)(예를 들어, z축 등)이 추가될 수도 있다.
도 11 내지 도 15는 일 실시예에 따른 외부 물체의 이동을 감지하는 과정을 도시한 도면이다.
도 11은 광류를 계산하여 외부 물체의 이동을 감지하는 과정을 도시한 흐름도이다.
우선, 단계(1121)에서 처리부는 이벤트 신호로부터 광류를 계산할 수 있다. 예를 들어, 처리부는 복수의 센싱 엘리먼트들과 연관된 맵 엘리먼트를 포함하는 이벤트 맵을 생성할 수 있다. 처리부는 이벤트 맵 내에서 각 맵 엘리먼트에 대응하는 속도 벡터를 포함하는 광류(optical flow)를 출력된 이벤트 신호로부터 계산할 수 있다. 여기서, 속도 벡터는 상술한 수학식 1 및 도 5의 광류 계산부(540)의 동작으로부터 계산될 수 있다.
이어서, 단계(1122)에서 처리부는 계산된 광류에 기초하여 외부 물체의 이동을 감지할 수 있다. 예를 들어, 처리부는 계산된 광류로부터 외부 물체의 이동 거리, 이동 방향, 및 이동 속도 등을 계산할 수 있다. 외부 물체의 이동 방향 및 이동 속도는 속도 벡터의 성분으로서 추출될 수 있고, 이동 거리는 추출된 이동 속도 및 평균 시간의 차이로부터 계산될 수 있다.
도 12는 관심 영역의 광류를 이용하여 외부 물체의 이동을 감지하는 과정을 도시한 흐름도이다.
우선, 단계(1221)에서 처리부는 이벤트 신호에 기초하여 관심 영역을 추출할 수 있다.
예를 들어, 처리부는 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성할 수 있다. 처리부는 생성된 이벤트 프레임으로부터 지향적 기울기 특징(oriented gradient feature)과 연관된 특징 벡터(feature vector)를 추출할 수 있다. 본 명세서에서 특징 벡터는 지향 각(orientation angle) 및 기울기 진폭(gradient amplitude)을 포함할 수 있다. 특징 벡터는 하기 도 13에서 상세히 설명한다.
처리부는 특징 벡터를 이용하여 관심 영역을 검출할 수 있다. 예를 들어, 처리부는 기계 학습 알고리즘, 예를 들어, SVM(support vector machine), 및 ANN(artificial neural network) 등을 이용하여 특징 벡터로부터 관심 영역을 검출할 수 있다. 처리부는 상술한 기계 학습 알고리즘을 통해 이벤트 프레임으로부터 관심 영역 및 배경 영역을 구분할 수 있다. 여기서, 배경 영역은 이벤트 프레임에서 관심 영역을 제외한 영역을 나타낼 수 있다.
처리부는 기계 학습 알고리즘을 이용하여 특징 벡터로부터 이벤트 프레임 중 배경 영역을 제외한 관심 영역을 추출할 수 있다.
그리고 단계(1222)에서 처리부는 관심 영역에 대응하는 광류를 계산할 수 있다. 예를 들어, 처리부는 관심 영역에 포함되는 적어도 하나의 맵 엘리먼트로부터 광류를 계산할 수 있다. 여기서, 처리부는 관심 영역에 포함되는 적어도 하나의 맵 엘리먼트의 무게 중심에 대응하는 맵 엘리먼트에 기초하여 광류를 계산할 수 있다.
이어서 단계(1223)에서 처리부는 계산된 광류에 기초하여 외부 물체의 이동을 감지할 수 있다. 예를 들어, 처리부는 계산된 광류로부터 관심 영역의 이동 거리, 이동 방향, 및 이동 속도 등을 계산할 수 있다. 여기서 계산된 관심 영역의 이동 거리, 이동 방향, 및 이동 속도 등은 외부 물체의 이동 거리, 이동 방향 및 이동 속도로서 사용될 수 있다.
도 13는 일 실시예에 따라 이벤트 맵으로부터 계산되는 특징 벡터를 나타낼 수 있다.
도 13에서 이벤트 맵(1300)은 복수의 맵 엘리먼트들을 포함할 수 있다. 처리부는 이벤트가 발생한 영역(1310) 내에서 기존 이벤트에 대응하는 맵 엘리먼트(1312, 1313) 및 신규 이벤트에 대응하는 맵 엘리먼트(1311)을 감지할 수 있다. 도 13에서 상단부의 특징 벡터(1321)는 신규 이벤트에 대응하는 맵 엘리먼트(1311) 및 기존 이벤트에 대응하는 맵 엘리먼트(1312)에 대응하는 벡터를 나타낼 수 있다. 하단부의 특징 벡터(1322)는 신규 이벤트에 대응하는 맵 엘리먼트(1311) 및 기존 이벤트에 대응하는 맵 엘리먼트(1313)에 대응하는 벡터를 나타낼 수 있다.
여기서, 특징 벡터(1321, 1322)는 지향 각 및 기울기 진폭을 포함할 수 있다. 특징 벡터(1321, 1322)의 기울기 진폭은 (x축 변위+y축 변위)/(실제 변위)로 나타낼 수 있다. 여기서, 실제 변위는 신규 이벤트에 대응하는 맵 엘리먼트(1311) 및 기존 이벤트에 대응하는 맵 엘리먼트(1312, 1313) 간의 실제 거리를 나타낼 수 있다. 상단부의 특징 벡터(1321)를 예로 들면, x축 변위 및 y축 변위는 각각 1로 나타낼 수 있고, 실제 변위는
Figure 112014100286668-pat00009
로 나타낼 수 있는 바, 기울기 진폭은 2/
Figure 112014100286668-pat00010
로 계산될 수 있다.
상술한 지향 각은 신규 이벤트에 대응하는 맵 엘리먼트와 기존 이벤트에 대응하는 맵 엘리먼트 간의 지향하는 각도를 나타낼 수 있다. 상단부의 특징 벡터(1321)를 예로 들면, 지향 각은 45도로 계산되며 특징 벡터(1322)는 -45도로 계산될 수 있다.]
도 14은 관심 영역의 이동을 계산하는 과정을 도시한 흐름도이다.
우선, 단계(1421)에서 처리부는 이벤트 신호로부터 이벤트 프레임을 생성할 수 있다. 예를 들어, 처리부는 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성할 수 있다.
그리고 단계(1422)에서 처리부는 이벤트 프레임으로부터 관심 영역을 추출할 수 있다. 예를 들어, 처리부는 기계 학습 알고리즘(예를 들어, SVM, ANN)을 이용하여 이벤트 프레임으로부터 관심 영역을 추출할 수 있다.
이어서, 단계(1423)에서 처리부는 관심 영역의 이동에 기초하여 외부 물체의 이동을 감지할 수 있다. 예를 들어, 처리부는 단계(1422)에서 추출된 관심 영역의 이동 거리, 이동 방향, 및 이동 속도 등을 계산할 수 있다. 예를 들어, 처리부는 관심 영역의 중심점을 추출하여, 중심점의 이동을 감지할 수 있다. 예를 들어, 중심점은 관심 영역에서 발생한 이벤트에 대응하는 맵 엘리먼트들의 평균 좌표일 수 있다.
도 15는 이벤트 프레임(1500)의 예시를 도시한다.
이벤트 프레임(1500)은 미리 정한 타임 윈도우 동안 발생한 적어도 하나의 이벤트의 집합을 나타낼 수 있다. 예를 들어, 도 15에 도시된 바와 같이, 미리 정한 타임 윈도우 동안 발생한 적어도 하나의 이벤트에 대응하는 맵 엘리먼트들이 이벤트 프레임(1500)을 구성할 수 있다. 다만, 이벤트 프레임(1500)에서 인간의 얼굴 모양으로 이벤트가 발생한 맵 엘리먼트들의 집합을 도 15에 도시된 바로 한정하는 것은 아니다. 예를 들어, 맵 엘리먼트들의 집합은 외부 물체의 윤곽(outline)을 따라 점들이 나열된 형태로 나타날 수 있다.
처리부는 기계 학습 알고리즘 등을 통하여 도 15에 도시된 바와 같이 관심 영역(1510)을 식별할 수 있다. 더 나아가, 처리부는 관심 영역(1510)으로부터 이벤트 프레임(1500)에서 이벤트 신호가 출력된 타겟 센싱 엘리먼트에 대응하는 맵 엘리먼트들의 중심점(1501)을 추출할 수 있다.
도 16는 다른 일 실시예에 따른 화면 디스플레이 과정의 흐름도를 도시한다.
우선, 단계(720)에서는 상술한 바와 같이 처리부가 이벤트 신호에 기초하여 외부 물체의 이동을 감지할 수 있다.
그리고 단계(1621)에서는 가속도 센서가 가속도를 센싱할 수 있다. 가속도 센서는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 가속도를 센싱할 수 있다. 예를 들어, 가속도 센서는 3축에 대한 가속도를 센싱하거나 6축에 대한 가속도를 센싱할 수 있다. 다만, 가속도의 축 개수 및 축 방향을 한정하는 것은 아니고, 설계에 따라 가속도 축의 개수 및 방향은 변경될 수 있다.
이어서 단계(1622)에서는 경사 센서가 경사(tilt)를 센싱할 수 있다. 경사 센서는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 경사를 센싱할 수 있다. 여기서, 경사는 지면을 기준으로 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치가 기울어진 정도를 나타낼 수 있다. 더 나아가, 경사는 화면이 기울어진 정도를 나타낼 수 있다.
그리고 단계(1630)에서는 처리부가 가속도, 경사, 외부 물체의 이동에 기초하여 화면을 디스플레이할 수 있다.
예를 들어, 처리부는, 이벤트 신호에 기초하여 감지된 외부 물체의 속도 벡터로부터, 단계(1621)에서 센싱된 가속도에 의해 결정된 속도(예를 들어, 가속도에 평균 시간의 차이를 곱함)를 감산함으로써, 장치를 기준으로 하는 외부 물체의 상대 속도를 계산할 수 있다. 처리부는 상대 속도에 기초하여 계산된 변위만큼 화면을 이동시켜 디스플레이하도록 제어할 수 있다.
또한, 처리부는, 이벤트 신호로부터 추출된 관심 영역에 대해 경사를 계산하고, 관심 영역의 경사로부터 단계(1622)에서 센싱된 경사를 감산함으로써, 최종적으로 디스플레이할 화면의 경사를 결정할 수 있다.
일 실시예에 따르면, 처리부는 장치의 가속도를 센싱하여 장치 자체의 가속도에 의한 오차를 보정하고, 장치의 경사를 센싱하여 장치 자체의 경사에 의한 오차를 보정할 수 있다. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치는 장치 자체의 가속도 및 경사에 기초하여 화면을 보정함으로써, 사용자의 시각적 피로도를 경감할 수 있다.
도 17은 다른 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 블럭도를 도시한다.
외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(1700)는 이벤트 센서(1711), 가속도 센서(1712), 경사 센서(1713), 처리부(1720), 및 디스플레이(1730)를 포함할 수 있다.
이벤트 센서(1711)는 도 6에 도시된 이벤트 센서(610)와 유사하게 센싱 엘리먼트를 통해 이벤트를 감지하여 이벤트 신호를 출력할 수 있다. 가속도 센서(1712)는 장치(1700)의 가속도를 센싱할 수 있다. 경사 센서(1713)는 장치(1700)의 경사를 센싱할 수 있다.
처리부(1720)는 도 6에 도시된 처리부(620)와 유사하게 출력된 이벤트 신호에 기초하여 외부 물체의 이동을 감지할 수 있다.
디스플레이(1730)는 도 6에 도시된 디스플레이(630)와 유사하게 외부 물체의 이동에 기초하여 화면을 디스플레이할 수 있다.
다만, 도 17에서 가속도 센서(1712) 및 경사 센서(1713)이 장치(1700)에 포함되는 것으로 도시되었으나, 이로 한정하는 것은 아니고, 장치(1700)의 움직임 및 모션 상태(motion state)와 연관된 정보를 제공하는 모든 센서가 적용될 수 있다.
도 18은 일 실시예에 따른 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치의 예시를 도시한다.
외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 도 18에 도시된 바와 같이 HMD(head-mounted display)에 적용될 수 있다. 예를 들어, 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)의 디스플레이는, 사용자의 머리에 장착되어 상기 화면을 제공하는 HMD(Head Mounted Display)일 수 있다.
예를 들어, 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 사용자(1850)의 머리에 장착될 수 있고, 내부의 디스플레이를 통해 사용자(1850)에게 화면을 제공할 수 있다. 여기서, 이벤트 센서는 장치(1810) 상에서 디스플레이와 같은 면 또는 반대면에 장착될 수 있다.
일 실시예에 따르면 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 사용자(1850)의 눈(eye)(여기서, 눈은 동공과는 무관함)의 위치를 이벤트 신호에 기초하여 감지함으로써, 장치(1810)에 대한 사용자(1850)의 머리의 위치 이동을 계산할 수 있다. 예를 들어, 상술한 도 7의 방법에서 외부 물체로서 눈의 이동을 감지할 수 있고, 눈의 위치 이동으로부터 머리의 위치 이동을 추정할 수 있다. 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 눈의 위치에 따라 화면을 이동시켜 디스플레이함으로써 시각적 피로를 경감시킬 수 있다. 다만, 이로 한정하는 것은 아니고, 장치(1810)는 화면을 확대할 수도 있다.
다른 일 실시예에 따르면 이벤트 센서는 장치(1810) 상에서 디스플레이와 반대면에 장착되어 외부 물체로부터 수신되는 빛의 세기의 변화를 감지하여 이벤트 신호를 출력할 수 있다. 장치(1810)는 사용자가 머리 또는 몸을 움직이는 경우 외부 물체로부터 수신되는 빛의 세기의 변화로부터 계산된 광류의 변화 및 특징점의 궤적 등을 감지함으로써 사용자의 머리의 위치 이동을 계산할 수 있다.
다른 일 실시예에 따르면 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 사용자(1850)의 동공의 위치 및 위치 이동을 이벤트 신호에 기초하여 감지함으로써, 사용자(1850)의 시선을 추적할 수 있다. 이벤트에 응답하여 화면을 디스플레이하는 장치(1810)는 동공의 위치에 따라 추적된 시선에 따라 화면을 확대하여 디스플레이함으로써 시각적 피로를 경감시킬 수 있다. 다만, 이로 한정하는 것은 아니고, 장치(1810)는 화면을 이동시킬 수도 있다.
다만, HMD에 적용되는 경우에서 외부 물체를 눈 및 동공으로 예를 들었으나, 이로 한정하는 것은 아니고, 장치(1810)는 인간의 얼굴에서 특징이 되는 부분(예를 들어, 눈썹, 입, 코 등)을 외부 물체로서 감지할 수도 있다.
일 실시예에 따르면 움직이면서 모바일 기기(예를 들어, 스마트폰, 태블릿 PC, HMD 등)를 사용하는 사용자의 눈이 피로치 않도록 화면을 제공할 수 있다. 예를 들어, 모바일 기기를 들고 사용자가 움직이는 경우, 사용자의 움직임에 응답하여 모바일 기기의 디스플레이를 제어함으로써 사용자가 어지럼증 및 눈의 피로를 느끼지 않도록 할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
500: 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치
510: 이벤트 센서
520: 처리부
530: 디스플레이

Claims (21)

  1. 외부 물체(external object)의 움직임과 연관된 이벤트에 응답하여 화면(screen)을 디스플레이하는 방법에 있어서,
    상기 외부 물체 중 움직임이 발생하는 적어도 일부를 감지하고 상기 감지에 응답하여 하나 이상의 이벤트 신호를 출력하는 단계;
    상기 출력된 이벤트 신호에 기초하여 장치에 대한 상기 외부 물체의 이동을 감지하는 단계; 및
    상기 외부 물체의 이동에 기초하여 상기 화면을 디스플레이하는 단계
    를 포함하고,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체의 이동 속도가 미리 정한 임계 속도 이하로 감지되는 경우에 응답하여, 상기 화면을 이동하여 디스플레이하는 단계
    를 포함하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  2. 제1항에 있어서,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체의 이동에 응답하여 상기 화면을 이동하여 디스플레이하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  3. 제1항에 있어서,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체의 이동 방향, 이동 거리, 및 이동 속도 중 적어도 하나에 응답하여 상기 화면의 이동 방향, 이동 거리 및 이동 속도 중 적어도 하나를 결정하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  4. 제1항에 있어서,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체의 이동에 응답하여 상기 화면의 적어도 일부 영역을 확대하여 디스플레이하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  5. 제1항에 있어서,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체의 이동 속도가 미리 정한 임계 속도보다 크게 감지되는 경우에 응답하여, 상기 화면의 적어도 일부 영역을 확대하여 디스플레이하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 화면을 디스플레이하는 단계는,
    상기 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수에 기초하여 상기 화면을 디스플레이하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  8. 제1항에 있어서,
    상기 하나 이상의 이벤트 신호를 출력하는 단계는,
    이벤트 센서를 구성하는 복수의 센싱 엘리먼트들의 각각에서 감지된 미리 정해진 이벤트의 발생에 응답하여 상기 하나 이상의 이벤트 신호를 출력하는 단계
    를 포함하고,
    상기 외부 물체의 이동을 감지하는 단계는,
    상기 복수의 센싱 엘리먼트들과 연관된 맵 엘리먼트를 포함하는 이벤트 맵을 생성하는 단계;
    상기 이벤트 맵 내에서 상기 맵 엘리먼트에 대응하는 속도 벡터를 포함하는 광류(optical flow)를 상기 출력된 이벤트 신호로부터 계산하는 단계; 및
    상기 계산된 광류에 기초하여 상기 외부 물체의 이동을 감지하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  9. 제1항에 있어서,
    상기 외부 물체의 이동을 감지하는 단계는,
    상기 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하는 단계;
    상기 이벤트 프레임으로부터 관심 영역(ROI, region of interest)을 추출하는 단계;
    상기 관심 영역에 대응하는 광류를 계산하는 단계; 및
    상기 계산된 광류에 기초하여 상기 외부 물체의 이동을 감지하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  10. 제1항에 있어서,
    상기 외부 물체의 이동을 감지하는 단계는,
    상기 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하는 단계;
    상기 이벤트 프레임으로부터 관심 영역을 추출하는 단계;
    상기 관심 영역의 이동에 기초하여 상기 외부 물체의 이동을 감지하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  11. 제1항에 있어서,
    상기 장치의 가속도를 센싱하는 단계; 및
    상기 장치의 경사를 센싱하는 단계
    를 더 포함하고,
    상기 화면을 디스플레이하는 단계는,
    상기 가속도, 상기 경사, 및 상기 외부 물체의 이동에 기초하여 상기 화면을 디스플레이하는 단계
    를 포함하는 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 방법.
  12. 제1항 내지 제5항 및 제7항 내지 제11항 중 어느 한 항의 방법을 수행하도록 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  13. 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치에 있어서,
    상기 외부 물체 중 움직임(motion)이 발생하는 적어도 일부를 감지하고, 상기 감지에 응답하여 하나 이상의 이벤트 신호를 출력하는 이벤트 센서(event sensor);
    상기 출력된 이벤트 신호에 기초하여 상기 장치에 대한 상기 외부 물체의 이동(movement)을 감지하는 처리부(processor); 및
    상기 외부 물체의 이동에 기초하여 상기 화면을 디스플레이하는 디스플레이(display)
    를 포함하고,
    상기 처리부는,
    상기 외부 물체의 이동 속도가 미리 정한 임계 속도 이하로 감지되는 경우에 응답하여, 상기 화면이 이동되도록 상기 디스플레이를 제어하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  14. 제13항에 있어서,
    상기 처리부는,
    상기 외부 물체의 이동에 응답하여 상기 화면이 이동되도록 상기 디스플레이를 제어하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  15. 제13항에 있어서,
    상기 처리부는,
    상기 외부 물체의 이동에 응답하여 상기 화면의 적어도 일부 영역이 확대되도록 상기 디스플레이를 제어하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  16. 제13항에 있어서,
    상기 처리부는,
    상기 외부 물체가 미리 정한 기준시간 동안 흔들리는 횟수에 기초하여 상기 화면의 디스플레이를 제어하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  17. 제13항에 있어서,
    상기 이벤트 센서는,
    복수의 센싱 엘리먼트들을 포함하고,
    상기 복수의 센싱 엘리먼트들의 각각은 미리 정해진 이벤트의 발생을 감지하여 상기 하나 이상의 이벤트 신호를 출력하며,
    상기 처리부는,
    상기 복수의 센싱 엘리먼트들과 연관된 맵 엘리먼트를 포함하는 이벤트 맵을 생성하고, 상기 이벤트 맵 내에서 상기 맵 엘리먼트에 대응하는 속도 벡터를 포함하는 광류를 상기 출력된 이벤트 신호로부터 계산하여 상기 외부 물체의 이동을 감지하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  18. 제13항에 있어서,
    상기 처리부는,
    상기 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하고, 상기 이벤트 프레임으로부터 관심 영역(ROI, region of interest)을 추출하며, 상기 관심 영역에 대응하는 광류를 계산하여 상기 외부 물체의 이동을 감지하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  19. 제13항에 있어서,
    상기 처리부는,
    상기 출력된 이벤트 신호를 미리 정한 타임 윈도우 동안 저장하여 이벤트 프레임을 생성하고, 상기 이벤트 프레임으로부터 관심 영역을 추출하며, 상기 관심 영역의 이동에 기초하여 상기 외부 물체의 이동을 감지하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  20. 제13항에 있어서,
    상기 장치의 가속도를 센싱하는 가속도 센서; 및
    상기 장치의 경사를 센싱하는 경사 센서
    를 더 포함하고,
    상기 처리부는,
    상기 가속도, 상기 경사, 및 상기 외부 물체의 이동에 기초하여 상기 화면의 디스플레이를 제어하는,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
  21. 제13항에 있어서,
    상기 디스플레이는,
    사용자의 머리에 장착되어 상기 화면을 제공하는 HMD(Head Mounted Display)인,
    외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치.
KR1020140142449A 2014-10-21 2014-10-21 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법 KR102347249B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140142449A KR102347249B1 (ko) 2014-10-21 2014-10-21 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법
US14/719,607 US9983681B2 (en) 2014-10-21 2015-05-22 Method and apparatus for displaying screen in response to event related to motion of external object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140142449A KR102347249B1 (ko) 2014-10-21 2014-10-21 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160046495A KR20160046495A (ko) 2016-04-29
KR102347249B1 true KR102347249B1 (ko) 2022-01-04

Family

ID=55749048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140142449A KR102347249B1 (ko) 2014-10-21 2014-10-21 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법

Country Status (2)

Country Link
US (1) US9983681B2 (ko)
KR (1) KR102347249B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339650B2 (en) 2016-01-07 2019-07-02 Koios Medical, Inc. Method and means of CAD system personalization to reduce intraoperator and interoperator variation
US9536054B1 (en) 2016-01-07 2017-01-03 ClearView Diagnostics Inc. Method and means of CAD system personalization to provide a confidence level indicator for CAD system recommendations
US10346982B2 (en) * 2016-08-22 2019-07-09 Koios Medical, Inc. Method and system of computer-aided detection using multiple images from different views of a region of interest to improve detection accuracy
US10659279B2 (en) * 2016-10-04 2020-05-19 Htc Corporation Method and device for displaying video corresponding to physical object
KR102136091B1 (ko) * 2016-12-20 2020-07-22 삼성전자주식회사 디스플레이 장치 및 방법
CN108574793B (zh) 2017-03-08 2022-05-10 三星电子株式会社 被配置为重新生成时间戳的图像处理设备及包括其在内的电子设备
JP7253258B2 (ja) * 2017-05-29 2023-04-06 ユニベアズィテート チューリッヒ 動的視覚センサ用ブロックマッチングオプティカルフローとステレオ視
WO2019175734A1 (en) 2018-03-14 2019-09-19 Insightness Ag Event-based vision sensor with direct memory control
CN108827461B (zh) * 2018-04-25 2019-05-03 上海芯仑光电科技有限公司 像素采集电路及光流传感器
CN108764078B (zh) * 2018-05-15 2019-08-02 上海芯仑光电科技有限公司 一种事件数据流的处理方法及计算设备
US20220132081A1 (en) * 2019-02-21 2022-04-28 Samsung Electronics Co., Ltd. Electronic device for providing visualized artificial intelligence service on basis of information about external object, and operating method for electronic device
JP2020136958A (ja) * 2019-02-21 2020-08-31 ソニーセミコンダクタソリューションズ株式会社 イベント信号検出センサ及び制御方法
KR102626169B1 (ko) 2019-03-19 2024-01-18 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
CN111798484B (zh) * 2020-06-30 2022-08-30 武汉大学 基于事件相机的连续稠密光流估计方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141130A (ja) * 2010-01-05 2011-07-21 Sony Corp 通信端末装置、プログラム、情報処理システム、および、メタデータ提供サーバ
US20130336629A1 (en) * 2012-06-19 2013-12-19 Qualcomm Incorporated Reactive user interface for head-mounted display

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396535B1 (en) 1999-02-16 2002-05-28 Mitsubishi Electric Research Laboratories, Inc. Situation awareness system
KR100292811B1 (ko) 1999-03-31 2001-06-15 윤덕용 광류에 기반한 얼굴 움직임 검출 방법 및 그 기록매체
KR100469727B1 (ko) 2003-03-07 2005-02-02 삼성전자주식회사 통화자의 얼굴을 화면 가운데에 위치시킬 수 있는화상통신용 통신단말기 및 방법
KR100749033B1 (ko) 2004-03-03 2007-08-13 학교법인 한국정보통신학원 두 눈에서 반사되는 빛을 추적하여 단말기를 조작하는방법, 및 그 장치
KR100751096B1 (ko) 2005-12-29 2007-08-21 엠텍비젼 주식회사 광흐름을 이용한 속도 측정 장치 및 그 방법
KR100787565B1 (ko) 2006-09-04 2007-12-21 한국외국어대학교 산학협력단 정다각형 형태로 배치된 광 플로우 센서를 이용한 이동체의 자기 위치 추정 장치 및 그 방법
KR20090034218A (ko) 2007-10-02 2009-04-07 엘지전자 주식회사 이동단말기 및 그의 포인터 운용방법
EP2071441A1 (en) 2007-12-03 2009-06-17 Semiconductor Energy Laboratory Co., Ltd. Mobile phone
US8159458B2 (en) 2007-12-13 2012-04-17 Apple Inc. Motion tracking user interface
US20090300537A1 (en) * 2008-05-27 2009-12-03 Park Kenneth J Method and system for changing format for displaying information on handheld device
KR101737829B1 (ko) 2008-11-10 2017-05-22 삼성전자주식회사 휴대 단말기의 모션 입력 장치 및 그의 운용 방법
JP5741568B2 (ja) 2010-02-25 2015-07-01 富士通株式会社 携帯端末、動作間隔設定方法及びプログラム
US20120194549A1 (en) * 2010-02-28 2012-08-02 Osterhout Group, Inc. Ar glasses specific user interface based on a connected external device type
JP5209026B2 (ja) * 2010-10-27 2013-06-12 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 超音波診断装置
JP5294340B2 (ja) * 2010-10-27 2013-09-18 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 超音波診断装置
US8990682B1 (en) * 2011-10-05 2015-03-24 Google Inc. Methods and devices for rendering interactions between virtual and physical objects on a substantially transparent display
KR101880998B1 (ko) 2011-10-14 2018-07-24 삼성전자주식회사 이벤트 기반 비전 센서를 이용한 동작 인식 장치 및 방법
KR101967632B1 (ko) 2012-02-13 2019-04-11 삼성전자주식회사 사용자 인터페이스를 가진 태블릿
GB2501761A (en) * 2012-05-04 2013-11-06 Sony Comp Entertainment Europe Head mountable display
US8638230B2 (en) 2012-05-24 2014-01-28 Google Inc. Hardware attitude detection implementation of mobile devices with MEMS motion sensors
EP2677500B1 (en) 2012-06-19 2021-06-23 Samsung Electronics Co., Ltd. Event-based image processing apparatus and method
KR101896666B1 (ko) 2012-07-05 2018-09-07 삼성전자주식회사 이미지 센서 칩, 이의 동작 방법, 및 이를 포함하는 시스템
KR101978967B1 (ko) * 2012-08-01 2019-05-17 삼성전자주식회사 제스처의 방향에 기초하여 상기 제스처를 인식하는 제스처 인식 장치와 제스처 인식 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141130A (ja) * 2010-01-05 2011-07-21 Sony Corp 通信端末装置、プログラム、情報処理システム、および、メタデータ提供サーバ
US20130336629A1 (en) * 2012-06-19 2013-12-19 Qualcomm Incorporated Reactive user interface for head-mounted display

Also Published As

Publication number Publication date
US20160109955A1 (en) 2016-04-21
KR20160046495A (ko) 2016-04-29
US9983681B2 (en) 2018-05-29

Similar Documents

Publication Publication Date Title
KR102347249B1 (ko) 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법
US10748021B2 (en) Method of analyzing objects in images recorded by a camera of a head mounted device
KR102433931B1 (ko) 움직임 인식 방법 및 움직임 인식 장치
US10228763B2 (en) Gaze direction mapping
CN108369653B (zh) 使用眼睛特征的眼睛姿态识别
US9766697B2 (en) Method of providing a virtual space image, that is subjected to blurring processing based on displacement of a HMD and system therefor
CN106575357B (zh) 瞳孔检测
EP3195595B1 (en) Technologies for adjusting a perspective of a captured image for display
US9958938B2 (en) Gaze tracking for a mobile device
CN105612478A (zh) 用户接口程序化的缩放
KR102357680B1 (ko) 이벤트에 기반하여 객체의 이동을 감지하는 장치 및 방법
EP3511803A1 (en) Method and apparatus to determine trigger intent of user
US10067610B2 (en) Method and apparatus for recognizing touch gesture
KR20160020369A (ko) 향상된 안구 추적을 위한 장면 분석
US20170186165A1 (en) Tracking rigged smooth-surface models of articulated objects
EP3188128A1 (en) Information-processing device, information processing method, and program
US9547412B1 (en) User interface configuration to avoid undesired movement effects
EP3572910A1 (en) Method, system and computer program for remotely controlling a display device via head gestures
KR20150038877A (ko) 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법
US11902677B2 (en) Patch tracking image sensor
JP2017191426A (ja) 入力装置、入力制御方法、コンピュータプログラム、及び記憶媒体
US11340706B2 (en) Gesture recognition based on depth information and computer vision
US20200167005A1 (en) Recognition device and recognition method
US9927523B2 (en) Event filtering device and motion recognition device thereof
KR20130138658A (ko) 부분 포즈 추정에 의하여 개략적인 전체 초기설정을 사용하는 머리 포즈 추정 방법 및 장치

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