KR20100098726A - Apparatus and methods for a touch user interface using an image sensor - Google Patents

Apparatus and methods for a touch user interface using an image sensor Download PDF

Info

Publication number
KR20100098726A
KR20100098726A KR1020107017529A KR20107017529A KR20100098726A KR 20100098726 A KR20100098726 A KR 20100098726A KR 1020107017529 A KR1020107017529 A KR 1020107017529A KR 20107017529 A KR20107017529 A KR 20107017529A KR 20100098726 A KR20100098726 A KR 20100098726A
Authority
KR
South Korea
Prior art keywords
image
user interface
tiles
metric
frames
Prior art date
Application number
KR1020107017529A
Other languages
Korean (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 콸콤 인코포레이티드
Publication of KR20100098726A publication Critical patent/KR20100098726A/en

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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Position Input By Displaying (AREA)

Abstract

이미지 센서를 사용하는 터치 사용자 인터페이스를 위한 장치 및 방법이 제시된다. 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 방법은 센서로부터 이미지 프레임들을 수신하는 단계; 센서가 커버 상태(cover state)로 진입할때를 결정하는 단계; 후속 이미지 프레임들로부터 센서가 디-커버 상태(de-cover state)로 진입할때를 결정하는 단계; 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하는 단계; 및 사용자 인터페이스에 사용자 명령을 발행(issue)하는 단계를 포함한다. 이미지-기반 사용자 인터페이스를 가진 장치는 이미지 센서 및 메모리에 연결되는 프로세서를 포함하며, 상기 프로세서는 이미지 센서로부터 이미지 프레임들을 수신하며, 이미지 센서가 커버 상태로 진입할때를 결정하며, 후속 이미지 프레임들로부터 이미지 센서가 디-커버 상태로 진입할때를 결정하며, 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하며, 그리고 사용자 인터페이스에 사용자 명령을 발행(issue)하기 위한 로직을 가지도록 구성된다. An apparatus and method for a touch user interface using an image sensor is presented. A method for processing image-based input commands for a user interface includes receiving image frames from a sensor; Determining when the sensor enters a cover state; Determining from the subsequent image frames when the sensor enters a de-cover state; Analyzing information based on subsequent image frames to interpret a user command; And issuing a user command to the user interface. A device having an image-based user interface includes a processor coupled to an image sensor and a memory, the processor receiving image frames from the image sensor, determining when the image sensor enters a cover state, and subsequent image frames. Determine when the image sensor enters the de-cover state, analyze information based on subsequent image frames to interpret the user command, and have logic to issue the user command to the user interface. It is configured to.

Description

이미지 센서를 사용하는 터치 사용자 인터페이스를 위한 장치 및 방법{APPARATUS AND METHODS FOR A TOUCH USER INTERFACE USING AN IMAGE SENSOR}Apparatus and method for a touch user interface using an image sensor {APPARATUS AND METHODS FOR A TOUCH USER INTERFACE USING AN IMAGE SENSOR}

본 발명의 실시예들은 일반적으로 인터페이스들에 기반하는 이미지 센서, 특히 사용자 명령들을 수신하기 위하여 이미지 센서를 사용하는 인터페이스들을 가진 이동 장치들에 관한 것이다.Embodiments of the present invention generally relate to image sensors based on interfaces, in particular mobile devices having interfaces that use an image sensor to receive user commands.

이동 장치들이 강력해지고 정교해짐에 따라, 사용자 인터페이스 개발자들은 인터페이스를 개발하는데 있어서 이동 장치들의 사용의 편리성을 개선하면서 이동 장치들의 성능을 확장시켜야하는 도전에 직면해 있다. As mobile devices become more powerful and sophisticated, user interface developers face the challenge of expanding the capabilities of mobile devices while improving the ease of use of the mobile devices in developing the interface.

터치 스크린들은 최근의 멀티-터치 기능의 진화와 복잡한 사용자 인터페이스 네비게이션을 단순화한 그들의 직관적인 접근(intuitive approach)으로 인하여 이동 장치들에 대한 사용자 인터페이스로서 인기가 증가하고 있다. 터치 스크린들은 또한 실제 키보드들 및/또는 다른 물리적 커서 제어 인터페이스들이 생략될 수 있기 때문에 이동 장치의 스크린 크기를 최대화하는 장점을 가질 수 있다. 그러나, 터치 스크린들은 가상 키보드들의 촉각적 피드백(tactile feedback) 및 다른 제어들의 부족, 사용자의 손가락에 의한 스크린 오클루전(screen occlusion) 및/또는 사용중 디스플레이 표면의 스머징(smudging)과 같은 다수의 동작 단점들과 연관될 수 있다. 더욱이, 터치 스크린 디스플레이들은 통상적으로 비-터치 스크린들보다 개발 및 제조하는데 있어서 비용이 비싸다. Touch screens are becoming increasingly popular as user interfaces for mobile devices due to the recent evolution of multi-touch functionality and their intuitive approach that simplifies complex user interface navigation. Touch screens can also have the advantage of maximizing the screen size of the mobile device because the actual keyboards and / or other physical cursor control interfaces can be omitted. However, touch screens have a number of limitations, such as tactile feedback and other controls of virtual keyboards, screen occlusion by the user's finger and / or smudging of the display surface during use. May be associated with operational drawbacks. Moreover, touch screen displays are typically more expensive to develop and manufacture than non-touch screens.

터치-스크린 디스플레이들의 전술한 단점들 때문에, 일부 사용자들은 그들의 이동 장치들의 보다 작은 디스플레이와 함께 물리적 키패드를 사용하는 것을 선호한다. 이러한 물리적 사용자 인터페이스들과 관련하여, 다른 종래의 방법들은 기존 및 미래의 이동 장치들에 사용하기 위하여 터치 스크린 능력들 중에서 직관적인 성질을 도입하는 것을 제안하였다. 이들 방법들은 많은 이동 장치들에 공통적으로 포함된 통합 디지털 카메라들에 영향을 미칠 수 있다. Because of the aforementioned disadvantages of touch-screen displays, some users prefer to use a physical keypad with a smaller display of their mobile devices. In connection with these physical user interfaces, other conventional methods have proposed introducing an intuitive nature of touch screen capabilities for use in existing and future mobile devices. These methods can affect integrated digital cameras that are common to many mobile devices.

이들 종래의 방법들 중 일부는 사용자가 카메라의 전방으로 손을 어떻게 이동시켜야 하는지를 결정하기 위하여 MPEG 모션 벡터 알고리즘들을 사용하는 것을 제안하였다. 다른 시스템들은 사용자 입력을 결정하기 위하여 통합 카메라를 사용하여 이동 장치의 방향(예컨대, 틸트(tilt))을 추정할 수 있다. 이들 방법들은 사용자 인터페이스가 충분히 반응하도록 실시간으로 동작하는 알고리즘들을 포함할 수 있다. 따라서, 이들 방법들은 연산 집약적(computationally intensive)일 수 있으며, 이동 장치의 온-보드 프로세서(들)에 과부하를 걸리게 할 수 있으며 및/또는 특화된 하드웨어(specialized hardware)를 이용할 수 있다. 따라서, 종래의 방법들은 비용에 악영향을 미칠 수 있고 이동 장치의 전력 소비를 증가시킬 수 있다.Some of these conventional methods have suggested using MPEG motion vector algorithms to determine how the user should move his hand in front of the camera. Other systems may use the integrated camera to estimate the direction of the mobile device (eg, tilt) to determine user input. These methods may include algorithms that operate in real time so that the user interface is fully responsive. Thus, these methods may be computationally intensive, overload the on-board processor (s) of the mobile device, and / or may use specialized hardware. Thus, conventional methods can adversely affect the cost and increase the power consumption of the mobile device.

더욱이, 이들 종래의 방법들은 사용자로 하여금 팔 및/또는 손을 카메라의 전방으로 지나치게 많이 움직이게 할 수 있으며, 이는 사용자에게 부적절하게 주의를 끌게 할 수 있으며 및/또는 시간이 지남에 따라 피로를 일으킬 수 있다. 또한, 이들 알고리즘들은 선택 포인트(selection point)들을 지정하는 방법을 결정하고 및/또는 상대적 네비게이션 작업들(relative navigation task)을 수행하기 위한(예컨대, 단일 사용자 움직임을 초과하는 거리마다 사용자 인터페이스에서 대상물들을 슬라이딩/드래깅 등을 할때 선택 포인트들을 리셋하기 위한) 난제들을 가질 수 있다. 더욱이, 이러한 기술들은 선택들을 적절하게 수행하고 및/또는 아이템을 의도치 않게 선택하는 것을 막기 위하여 사용자로 하여금 그의 손을 안정되게 또는 움직이지 않게 유지할 것을 요구할 수 있다.Moreover, these conventional methods may cause the user to move the arm and / or hand too far in front of the camera, which may cause the user to inappropriately attract attention and / or cause fatigue over time. have. In addition, these algorithms determine how to specify selection points and / or target objects in the user interface at a distance exceeding a single user movement (eg, to perform a relative navigation task). Problems such as resetting selection points when sliding / dragging or the like. Moreover, these techniques may require a user to keep his or her hands stable or stationary to properly make selections and / or prevent unintentional selection of an item.

따라서, 전술한 단점들을 방지하고 비용-효율적 방식으로 구현될 수 있는, 기존 및 미래의 카메라 폰들을 위한 터치 사용자 인터페이스 네비게이션 기술을 제공하는 것이 바람직할 것이다.Therefore, it would be desirable to provide a touch user interface navigation technique for existing and future camera phones, which avoids the aforementioned disadvantages and can be implemented in a cost-effective manner.

본 발명의 예시적인 실시예들은 이미지 센서를 사용하는 터치 사용자 인터페이스를 위한 장치 및 방법들에 관한 것이다. Exemplary embodiments of the invention relate to apparatus and methods for a touch user interface using an image sensor.

일 실시예에서는 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 방법이 제시된다. 본 방법은 센서로부터 이미지 프레임들을 수신하는 단계; 센서가 커버 상태(cover state)로 진입할때를 결정하는 단계; 후속 이미지 프레임들로부터 센서가 디-커버 상태(de-cover state)로 진입할때를 결정하는 단계; 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하는 단계; 및 사용자 인터페이스에 사용자 명령을 발행(issue)하는 단계를 포함할 수 있다. In one embodiment, a method for processing image-based input commands for a user interface is presented. The method includes receiving image frames from a sensor; Determining when the sensor enters a cover state; Determining from the subsequent image frames when the sensor enters a de-cover state; Analyzing information based on subsequent image frames to interpret a user command; And issuing a user command to the user interface.

다른 실시예에서는 이미지-기반 사용자 인터페이스를 가진 장치가 제시된다. 본 장치는 이미지 센서, 및 메모리에 연결되는 프로세서를 포함할 수 있으며; 상기 프로세서는 이미지 센서로부터 이미지 프레임들을 수신하며, 이미지 센서가 커버 상태로 진입할때를 결정하며, 후속 이미지 프레임들로부터 이미지 센서가 디-커버 상태로 진입할때를 결정하며, 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하며, 그리고 사용자 인터페이스에 사용자 명령을 발행하기 위한 로직을 가지도록 구성된다. In another embodiment, an apparatus with an image-based user interface is presented. The apparatus may include an image sensor and a processor coupled to the memory; The processor receives image frames from an image sensor, determines when the image sensor enters the cover state, determines when the image sensor enters the de-cover state from subsequent image frames, and interprets user commands. Analyze information based on subsequent image frames, and have logic to issue a user command to the user interface.

본 발명의 또 다른 실시예는 이미지-기반 터치 사용자 인터페이스를 가진 이동 장치를 포함할 수 있으며, 상기 이동 장치는 카메라, 및 메모리에 연결되는 프로세서를 포함한다. 상기 프로세서는 카메라로부터 이미지 프레임들을 수신하며, 이미지 프레임을 타일(tile)들로 재분할하며, 각각의 타일에 대한 메트릭을 계산하며, 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트(count)를 수행하며, 후속 이미지 파일들로부의 트레일 값들에 기초하여 디-커버 맵을 결정하며, 디-커버 맵의 기울기를 계산하며, 기울기에 기초하여 이동 방향을 결정하며, 그리고 방향에 기초하여 사용자 인터페이스에 명령을 발행하도록 구성된 로직을 포함한다. Yet another embodiment of the present invention may include a mobile device having an image-based touch user interface, which includes a camera and a processor coupled to a memory. The processor receives image frames from the camera, subdivides the image frame into tiles, calculates a metric for each tile, performs a count of tiles with a predetermined value for the metric, Determine the de-cover map based on the trail values from subsequent image files, calculate the slope of the de-cover map, determine the direction of movement based on the slope, and command the user interface based on the direction. Contains logic configured to issue.

본 발명의 또 다른 실시예는 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 장치를 포함할 수 있으며, 상기 장치는 센서로부터 이미지 프레임들을 수신하기 위한 수단; 센서가 커버 상태(cover state)로 진입할때를 결정하기 위한 수단; 후속 이미지 프레임들로부터 센서가 디-커버 상태로 진입할때를 결정하기 위한 수단; 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하기 위한 수단; 및 사용자 인터페이스에 사용자 명령을 발행하기 위한 수단을 포함한다. Yet another embodiment of the present invention may include an apparatus for processing image-based input commands for a user interface, the apparatus comprising: means for receiving image frames from a sensor; Means for determining when the sensor enters a cover state; Means for determining from the subsequent image frames when the sensor enters the de-cover state; Means for analyzing information based on subsequent image frames to interpret a user command; And means for issuing a user command to the user interface.

본 발명의 또 다른 실시예는 머신에 의하여 실행될때 상기 머신으로 하여금 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 동작들을 수행하도록 하는 프로그램 코드를 저장한 컴퓨터-판독가능 매체를 포함할 수 있다. 상기 컴퓨터-판독가능 매체는 센서로부터 이미지 프레임들을 수신하기 위한 프로그램 코드; 센서가 커버 상태로 진입할때를 결정하기 위한 프로그램 코드; 후속 이미지 프레임들로부터 센서가 디-커버 상태로 진입할때를 결정하기 위한 프로그램 코드; 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하기 위한 프로그램 코드; 및 사용자 인터페이스에 사용자 명령을 발행하기 위한 프로그램 코드를 포함한다. Another embodiment of the present invention may include a computer-readable medium having stored thereon program code that when executed by a machine causes the machine to perform operations for processing image-based input instructions for a user interface. . The computer-readable medium may include program code for receiving image frames from a sensor; Program code for determining when the sensor enters a cover state; Program code for determining from the subsequent image frames when the sensor enters the de-cover state; Program code for analyzing information based on subsequent image frames to interpret a user command; And program code for issuing a user command to the user interface.

첨부 도면들은 본 발명의 실시예들의 설명을 돕기 위하여 제시되며, 단지 실시예들을 설명을 위해서만 제공되며 본 발명을 제한하지 않는다. The accompanying drawings are presented to help explain the embodiments of the invention, and are provided merely for the purpose of illustration and do not limit the invention.

도 1a-1d는 이미지-기반 터치 사용자 인터페이스를 가진 예시적인 이동 장치의 동작에 대한 개요를 도시한 도면들이다.
도 2는 이미지-기반 터치 사용자 인터페이스를 가진 이동 장치의 예시적인 구성을 도시한 블록도이다.
도 3은 이미지-기반 터치 사용자 인터페이스와 연관된 예시적인 상위-레벨 프로세스를 도시한 흐름도이다.
도 4는 이미지-기반 터치 사용자 인터페이스와 연관된 커버 상태(cover state)를 결정하기 위한 예시적인 프로세스를 도시한 흐름도이다.
도 5는 이미지-기반 터치 사용자 인터페이스와 연관된 디-커버 상태(de-cover state)를 결정하기 위한 예시적인 프로세스를 도시한 흐름도이다.
도 6은 이미지-기반 터치 사용자 인터페이스와 연관된 사용자 명령을 결정하기 위한 예시적인 프로세스를 도시한 흐름도이다.
1A-1D are schematic diagrams illustrating the operation of an exemplary mobile device having an image-based touch user interface.
2 is a block diagram illustrating an exemplary configuration of a mobile device with an image-based touch user interface.
3 is a flow diagram illustrating an example high-level process associated with an image-based touch user interface.
4 is a flow diagram illustrating an example process for determining a cover state associated with an image-based touch user interface.
5 is a flow diagram illustrating an example process for determining a de-cover state associated with an image-based touch user interface.
6 is a flow diagram illustrating an example process for determining user commands associated with an image-based touch user interface.

본 발명의 양상들은 본 발명의 특정 실시예들에 관한 이하의 상세한 설명 및 관련된 도면들에 개시된다. 대안적인 실시예들은 본 발명의 범위로부터 벗어나지 않고 발명될 수 있다. 부가적으로, 본 발명의 관련 세부사항들을 불명료하게 하지 않도록 하기 위하여 본 발명의 공지된 엘리먼트들은 상세히 기술되지 않거나 또는 생략될 것이다.Aspects of the present invention are disclosed in the following detailed description and associated drawings of specific embodiments of the present invention. Alternative embodiments may be invented without departing from the scope of the present invention. In addition, well-known elements of the invention will not be described in detail or will be omitted so as not to obscure the relevant details of the invention.

용어 “예시적인”은 여기서 “예, 보기, 또는 예시로서 기능하는” 것을 의미하는 것으로 이용된다. “예시적인” 것으로서 여기에서 기재되는 임의의 실시예는 반드시 다른 실시예들에 비해 바람직하거나 유리한 것으로 해석되는 것은 아니다. 마찬가지로, 용어 "본 발명의 실시예들"은 본 발명의 모든 실시예들이 논의된 특징, 장점 또는 동작 모두를 포함하는 것을 요구하지 않는다.The term " exemplary " is used herein to mean " serving as an example, example, or illustration. &Quot; Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Likewise, the term "embodiments of the invention" does not require that all embodiments of the invention include all of the features, advantages or operations discussed.

여기에서 사용된 용어는 단지 특정 실시예들을 기술하기 위한 것이며, 본 발명의 실시예들을 제한하는 것으로 의도되지 않는다. 여기에서 사용된 바와같이, 단수는 문맥이 달리 명확하게 표시하지 않는 한 복수를 포함하는 것으로 의도된다. 용어 "포함하는(comprise)"과 "가지는(include)"이 여기에서 사용될때 언급된 특징들, 정수(integer)들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하나 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이의 그룹들의 존재 또는 추가를 배제하지 않는다는 것이 추가로 이해될 것이다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of embodiments of the invention. As used herein, the singular is intended to include the plural unless the context clearly dictates otherwise. The terms “comprise” and “include”, when used herein, specify the presence of one or more of the features, integers, steps, actions, elements and / or components mentioned. It will be further understood that it does not exclude the presence or addition of other features, integers, steps, actions, elements, components, and / or groups thereof.

게다가, 많은 실시예들은 예컨대 컴퓨팅 장치의 엘리먼트들에 의하여 수행될 동작들의 시퀀스들에 의하여 기술된다. 여기에 기술된 다양한 동작들이 특정 회로들(예컨대, 주문형 집적회로(ASIC)들)에 의하여, 하나 이상의 프로세서들에 의하여 실행되는 프로그램 명령들에 의하여 또는 이들의 조합에 의하여 수행될 수 있다는 것이 인식될 것이다. 부가적으로, 여기에서 기술된 이들 동작들의 시퀀스는 실행시 연관된 프로세서가 여기에 기술된 기능을 수행하도록 하는 컴퓨터 명령들의 대응 세트를 저장한 임의의 형태의 컴퓨터 판독가능 저장 매체내에서 완전하게 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수 있으며, 이들 모두는 청구된 요지의 범위내에 있는 것으로 고려된다. 더욱이, 여기에 기술된 실시예들의 각각에 대하여, 이러한 임의의 실시예들의 대응 형태는 예컨대 기술된 동작을 수행하도록 구성된 로직으로서 여기에서 기술될 수 있다.In addition, many embodiments are described by sequences of operations to be performed by, for example, elements of a computing device. It will be appreciated that the various operations described herein may be performed by specific circuits (eg, application specific integrated circuits (ASICs)), by program instructions executed by one or more processors, or by a combination thereof. will be. In addition, the sequences of these operations described herein may be fully implemented in any form of computer readable storage media having stored thereon a corresponding set of computer instructions that, when executed, cause the associated processor to perform the functions described herein. May be considered. Accordingly, various aspects of the invention may be embodied in many different forms, all of which are considered to be within the scope of the claimed subject matter. Moreover, for each of the embodiments described herein, the corresponding form of any such embodiments may be described herein as, for example, logic configured to perform the described operation.

도 1a-1d는 이미지-기반 터치 사용자 인터페이스(IBTUI)를 가진 예시적인 이동 장치(100)의 동작에 대한 개요를 도시한 도면들이다. 도 1a는 플립-폰(flip-phone)(폰의 상부가 절단된 것으로 도시됨)으로서 예시적인 이동 장치(100)를 도시한다. 장치의 후면(105)은 이미지 프레임들(115)을 연속적으로 수집할 수 있는 이미지 센서(110)의 출력부를 포함한다. 동작중에, IBTUI는 센서가 커버(cover)된 후에 센서(110)의 시계(field of view)를 나가는 물체(object)의 경로를 추적할 수 있다. 일단 추적이 완료되면, 명령은 추적된 이동의 성질에 기초하여 IBTUI에 의하여 해석될 수 있다.1A-1D are diagrams illustrating an overview of the operation of an exemplary mobile device 100 with an image-based touch user interface (IBTUI). 1A shows an exemplary mobile device 100 as a flip-phone (shown as the top of the phone is cut off). The back side 105 of the device includes an output of an image sensor 110 capable of continuously collecting image frames 115. In operation, the IBTUI may track the path of an object exiting the field of view of the sensor 110 after the sensor is covered. Once tracking is completed, the command can be interpreted by the IBTUI based on the nature of the tracked movement.

도 1b에 도시된 바와같이, 사용자는 처음에 이미지 센서(110)위에 손가락(120)을 위치시킴으로써 명령 엔트리(command entry)를 개시할 수 있다. 이러한 동작은 낮은 휘도 값(luminance value)들을 가진 하나 이상의 이미지 프레임들(125)을 생성하기 위하여 이미지 센서(110)를 실질적으로 커버하거나 또는 완전하게 커버할 수 있다. 이는 IBTUI를 "커버 상태(cover state)"로 만들고, 손가락(120)이 이미지 센서(110)의 시계를 떠날때 손가락(120)의 이동을 추적할 것을 IBTUI에 시그널링한다. 도 1c에 도시된 바와같이, 손가락(120)은 페이지(page)의 좌측으로 이동함으로써 이미지 센서(110)의 시계를 떠나는 중이다. 이러한 이동에 대응하는 휘도 변동(luminance variation)들을 가진 일련의 이미지 프레임들(130)이 생성될 수 있다. 이미지 프레임들은 명령으로서 이동을 해석하도록 처리될 수 있다. 이러한 예에서, 손가락의 이동은 이동 장치의 그래픽 사용자 인터페이스(GUI: graphical user interface)에서 커서의 대응 이동을 생성하기 위한 명령으로서 해석될 수 있다. 도 1d는 사용자의 손가락(120)이 페이지의 하부쪽으로 가는 이동과 이에 대응하는 휘도 변동들을 가지고 생성되는 일련의 이미지 프레임들(135)을 도시한다. 이러한 이동은 이동 장치의 GUI에서 커서를 아래방향으로 이동시키는 명령을 생성할 수 있다. 이하에 기술되는 바와같이, 다른 이동들 및/또는 제스처(gesture)들이 상이한 명령들로서 해석될 수 있다.As shown in FIG. 1B, a user may initiate a command entry by first placing finger 120 over image sensor 110. This operation may substantially or completely cover image sensor 110 to produce one or more image frames 125 with low luminance values. This makes the IBTUI "cover state" and signals the IBTUI to track the movement of the finger 120 when the finger 120 leaves the field of view of the image sensor 110. As shown in FIG. 1C, the finger 120 is leaving the field of view of the image sensor 110 by moving to the left side of the page. A series of image frames 130 may be generated with luminance variations corresponding to this movement. Image frames may be processed to interpret movement as a command. In this example, the movement of the finger may be interpreted as a command to generate a corresponding movement of the cursor in the graphical user interface (GUI) of the mobile device. FIG. 1D shows a series of image frames 135 created with a user's finger 120 moving toward the bottom of the page and corresponding luminance variations. This movement may generate a command to move the cursor downward in the GUI of the mobile device. As described below, other movements and / or gestures may be interpreted as different commands.

이동 장치(100)가 카메라 플립-폰으로서 도시되는 반면에, 본 발명의 다른 실시예들은 이하에서 더 상세히 기술되는 바와같이 임의의 타입의 장치들과 관련될 수 있다.While mobile device 100 is shown as a camera flip-phone, other embodiments of the present invention may be associated with any type of devices, as described in more detail below.

도 2는 이미지-기반 터치 사용자 인터페이스(IBTUI)를 가진 이동 장치(200)의 예시적인 구성(210)을 도시한 블록도이다. 이동 장치(200)는 네트워크를 통해 데이터 및/또는 명령들을 교환할 수 있는 플랫폼(210)을 가질 수 있다. 플랫폼(210)은 프로세서(220), 또는 다른 제어기, 마이크로프로세서, ASIC, 로직 회로, 또는 임의의 다른 데이터 처리 장치에 동작가능하게 연결된 트랜시버(215)(송신기 및 및 수신기를 추가로 포함할 수 있으며, 이들은 명시적으로 도시되지 않음)를 포함할 수 있다. 프로세서(220)는 이동 장치(200)의 메모리(225)에 저장된 프로그램들을 실행할 수 있다. 프로세서(220)상에서 실행할 수 있는 한 프로그램은 이동 장치(200)의 그래픽 사용자 인터페이스에 입력들을 제공할 수 있는 이미지-기반 터치 사용자 인터페이스와 연관될 수 있다. 메모리(225)는 실행가능 모듈들(예컨대, IBTUI, GUI 등), 이미지 프레임들 및 IBTUI의 동작과 연관된 것들을 포함하는 다른 데이터 구조들을 포함할 수 있다. 메모리(225)는 판독-전용 및/또는 랜덤-액세스 메모리(RAM 및 ROM), EEPROM, 플래시 카드들, 또는 이러한 플랫폼들에 공통인 임의의 메모리를 포함할 수 있다. 이미지 센서(230)는 프로세서(220)에 기능적으로 연결될 수 있으며, 통상적으로 가시광선(visible light)에 민감하게 반응할 수 있다. 본 발명의 다른 실시예들은 다른 파장들을 이용할 수 있는 이미지 센서(230)를 특징으로 할 수 있으며, 따라서 IBTUI는 가시광선이 없을때 동작할 수 있다. 이동 장치(200)의 외부면(예컨대, 카메라 렌즈를 보호하는 클리어 커버(clear cover))와 연관된 이미지 센서의 광학 컴포넌트는 리세스 방식(recessed manner)으로 장착될 수 있다. 이러한 어레인지먼트(arrangement)에 있어서, 사용자 손가락은 실제로 이미지 센서와 물리적으로 접촉하지 않을 수 있으며, 따라서 사용자의 손가락이 이미지 센서의 광학 경로내로 이물질(예컨대, 먼지, 기름 등)을 유입시키는 것을 방지하거나 또는 이미지 센서를 손상시키는 것(예컨대, 스크래칭(scratching)하는 것)을 방지한다. 따라서, 이미지-기반 터치 사용자 인터페이스는 이미지 센서의 실제 접촉을 필요로 하지 않는다.2 is a block diagram illustrating an exemplary configuration 210 of a mobile device 200 with an image-based touch user interface (IBTUI). Mobile device 200 may have a platform 210 that can exchange data and / or commands over a network. The platform 210 may further include a transceiver 215 (transmitter and and receiver) operably connected to the processor 220, or other controller, microprocessor, ASIC, logic circuit, or any other data processing device. , They are not explicitly shown). The processor 220 may execute programs stored in the memory 225 of the mobile device 200. One program executable on the processor 220 may be associated with an image-based touch user interface that may provide inputs to the graphical user interface of the mobile device 200. The memory 225 may include executable modules (eg, IBTUI, GUI, etc.), image frames, and other data structures including those associated with the operation of the IBTUI. Memory 225 may include read-only and / or random-access memory (RAM and ROM), EEPROM, flash cards, or any memory common to these platforms. The image sensor 230 may be functionally connected to the processor 220, and typically may react sensitively to visible light. Other embodiments of the present invention can feature an image sensor 230 that can use other wavelengths, so that the IBTUI can operate when there is no visible light. The optical components of the image sensor associated with the outer surface of the mobile device 200 (eg, a clear cover protecting the camera lens) may be mounted in a recessed manner. In such an arrangement, the user's finger may not actually be in physical contact with the image sensor, thus preventing the user's finger from introducing foreign objects (eg, dust, oil, etc.) into the optical path of the image sensor, or Avoid damaging the image sensor (eg, scratching). Thus, the image-based touch user interface does not require actual contact of the image sensor.

이미지 센서(230)는 주기적인 레이트(periodic rate)(예컨대, 30 프레임/초)로 이미지 프레임들을 기록하는 카메라일 수 있다. IBTUI를 통해 사용자 입력을 받아들일때, 이미지 센서(230)는 IBTUI 처리를 위한 이미지 프레임들을 연속적으로 제공할 수 있다. 예컨대, 이미지 센서(230)는 커서의 이동 및/또는 스크린내의 선택에 사용하기 위한, 사용자의 손가락으로부터의 입력을 받아들이기 위하여 사용자가 "접촉(contact)" 스크린을 디스플레이할때 프로세서(220)에 이미지 프레임들을 제공할 수 있다. 이미지 센서(230)가 IBTUI에 이미지 프레임들을 제공하지 않을 때, 이미지 센서는 화상들 및/또는 비디오들을 제공하기 위하여 사용할 수 있다. 부가적으로, 이미지 프레임들의 미학적(aesthetic) 품질들을 개선하는 것과 연관된 임의의 종래의 처리 없는 이미지 프레임들을 이미지 센서(230)가 수집할 수 있고 IBTUI가 이 이미지 프레임들을 활용할 수 있다. 예컨대, 이미지 센서가 IBTUI를 위하여 사용될때, 이미지 프레임들은 임의의 화이트 밸런스(white balance), 칼라(color) 밸런스, 자동-초점(auto-focus), 이미지 선명도 처리(image sharpening) 등이 수행되지 않을 수 있다. 이러한 처리를 생략하면, IBTUI를 사용할때 이동 장치(100)에 부과되는 계산적 부담이 감소될 것이며 배터리의 수명을 추가로 향상시킬 수 있다.Image sensor 230 may be a camera that records image frames at a periodic rate (eg, 30 frames / second). When accepting user input via the IBTUI, the image sensor 230 may continuously provide image frames for IBTUI processing. For example, image sensor 230 may inform processor 220 when a user displays a “contact” screen to accept input from a user's finger for use in movement of the cursor and / or selection within the screen. Image frames may be provided. When the image sensor 230 does not provide image frames to the IBTUI, the image sensor can be used to provide pictures and / or videos. In addition, the image sensor 230 can collect any conventional unprocessed image frames associated with improving the aesthetic qualities of the image frames and the IBTUI can utilize these image frames. For example, when an image sensor is used for IBTUI, image frames may not be subjected to any white balance, color balance, auto-focus, image sharpening, etc. Can be. If this process is omitted, the computational burden imposed on the mobile device 100 when using the IBTUI will be reduced, further improving the life of the battery.

명령들을 제공하기 위한 다양한 논리적 엘리먼트들은 개별 엘리먼트들, 프로세서상에서 실행되는 소프트웨어 모듈들 또는 여기에 기술된 기능을 실행하기 위한 소프트웨어 및 하드웨어의 임의의 조합으로 구현될 수 있다. 예컨대, 프로세서(220) 및 메모리(225)는 모두 여기에 기술된 다양한 기능들을 로드하고, 저장하며 그리고 실행하도록 상호 작용하면서 사용될 수 있으며, 따라서 이들 기능들을 수행할 로직은 다양한 엘리먼트들상에 분배될 수 있다. 대안적으로, 기능은 하나의 개별 컴포넌트(예컨대, 프로세서(220)의 내장된 메모리)에 통합될 수 있다. 따라서, 도 2의 이동 장치(200)의 특징들은 단순히 예시적인 것으로 고려될 것이며, 본 발명의 실시예들은 예시된 특징들 또는 어레인지먼트에 제한되지 않는다.Various logical elements for providing instructions may be implemented in individual elements, software modules executed on a processor, or any combination of software and hardware for executing the functions described herein. For example, the processor 220 and the memory 225 may both be used interacting to load, store, and execute the various functions described herein, such that logic to perform these functions may be distributed on the various elements. Can be. In the alternative, the functionality may be integrated into one individual component (eg, internal memory of the processor 220). Thus, the features of the mobile device 200 of FIG. 2 will be considered merely illustrative, and embodiments of the invention are not limited to the illustrated features or arrangement.

더욱이, 본 발명의 실시예들은 임의의 장치와 관련하여 사용될 수 있으며, 예시된 실시예들에 제한되지 않는다. 예컨대, 장치들은 셀룰라 전화들, 액세스 단말들, 개인휴대단말들, 음악 플레이어들, 라디오들, GPS 수신기들, 랩탑 컴퓨터들, 키오스크(kiosk)들 등을 포함할 수 있다.Moreover, embodiments of the present invention may be used in connection with any device, and are not limited to the illustrated embodiments. For example, the devices may include cell phones, access terminals, personal digital assistants, music players, radios, GPS receivers, laptop computers, kiosks, and the like.

도 3은 이미지-기반 터치 사용자 인터페이스(IBTUI)와 연관된 예시적인 상위-레벨(top-level) 프로세스(300)를 도시한 흐름도이다. 프로세스(300)는 이동 장치(200)가 초기에 턴-온(turn-on)되거나 또는 파워 사이클링될(power cycled)때 시작할 수 있으며, 프로세서(220)는 장치 동작을 위한 다양한 프로세스들의 초기화를 시작한다(블록 310). 이는 이미지 센서(230)로부터 이미지 프레임들을 수신하여 처리하는 것과 연관된 하드웨어 및 소프트웨어/펌웨어/로직 컴포넌트들 및 그래픽 사용자 인터페이스의 초기화를 포함할 수 있다. 이미지 프레임들은 종래의 비디오 포맷(예컨대, 30개의 프레임들/초, 여기서 각각의 프레임은 240×320 화소들을 가짐)로 제공될 수 있으며, 휘도-색차 색 공간(YCrCb: luminance-chrominance color space)을 사용할 수 있다. 프레임들은 또한 각각의 이미지 프레임내에 감소된 프레임 레이트 및/또는 낮은 공간 샘플링을 가진 의사-비디오(quasi-video) 포맷으로 제공될 수 있다. 부가적으로, 이미지 프레임들은 색, 화이트 밸런스, 선예도(sharpness)를 강화하고 및/또는 다른 미학적 품질들을 개선하기 위한 전-처리(pre-processing)를 하지 않을 수 있다.3 is a flow diagram illustrating an example top-level process 300 associated with an image-based touch user interface (IBTUI). Process 300 may begin when mobile device 200 is initially turned on or power cycled, and processor 220 initiates initialization of various processes for device operation. (Block 310). This may include initialization of the hardware and software / firmware / logic components and graphical user interface associated with receiving and processing image frames from image sensor 230. Image frames may be provided in a conventional video format (e.g., 30 frames per second, where each frame has 240 x 320 pixels), and may employ a luminance-chrominance color space (YCrCb). Can be used. Frames may also be provided in a quasi-video format with reduced frame rate and / or low spatial sampling within each image frame. Additionally, image frames may not be pre-processed to enhance color, white balance, sharpness and / or improve other aesthetic qualities.

다음으로, 프로세스는 이미지 센서가 커버 상태에 있는지를 결정하기 위하여 이미지 센서(230)에 의하여 생성되는 이미지들을 분석하는 것을 시작할 수 있다. 여기에서 정의된 바와같이, 커버 상태는 이미지 센서(230)가 물체(통상적으로, 사용자의 손가락)에 의하여 커버될때 발생한다. 이러한 분석은 이미지 프레임들의 휘도 채널에 대하여 수행될 수 있으며, 평균 명도(brightness) 및 디테일(detail)에 기초하여 하나 이상의 메트릭들을 계산하는 것을 포함할 수 있다(블록 315). 메트릭들은 본래 통계적일 수 있으며, 이하에서 더 상세히 기술될 것이다. 다음으로, 프로세스는 블록(315)에서 계산된 메트릭들을 사용하여 임계치 비교를 수행함으로써 이미지 센서가 커버 상태에 있는지의 여부에 관한 결정을 수행할 수 있다(블록 320). 만일 이미지 센서(230)가 커버 상태에 있다고 결정되면, 프로세스는 블록(325)으로 진행하며, 그렇치 않으면 블록(315)에서의 분석은 커버 상태가 도달될때까지 계속된다. 블록들(315, 320)에 대한 상세한 설명은 이하의 도 4의 설명에서 제시된다.Next, the process may begin analyzing the images generated by the image sensor 230 to determine if the image sensor is in a cover state. As defined herein, the cover state occurs when the image sensor 230 is covered by an object (typically a user's finger). This analysis may be performed on the luminance channel of the image frames, and may include calculating one or more metrics based on average brightness and detail (block 315). The metrics may be statistical in nature and will be described in more detail below. Next, the process may perform a determination as to whether the image sensor is in the cover state by performing threshold comparison using the metrics calculated at block 315 (block 320). If it is determined that the image sensor 230 is in the cover state, the process proceeds to block 325, otherwise the analysis at block 315 continues until the cover state is reached. Details of blocks 315 and 320 are presented in the description of FIG. 4 below.

이미지 센서가 커버 상태에 진입하였다는 것이 결정될 때, 프로세스(300)는 이미지 센서가 "디-커버 상태"로 전환될 때를 결정하기 위하여 후속 이미지 프레임들을 분석하는 것을 시작한다(블록 325 및 330). 여기에서 사용되는 바와같이, 디-커버 상태는 사용자 손가락의 이동이 신뢰성있게 추적될 수 있을 정도까지 사용자 손가락이 이미지 센서로부터 떠났을때의 상태로서 정의된다. 이는 휘도 및/또는 디테일 메트릭들 및 이들의 시간에 따른 변화들을 계산함으로써 결정될 수 있다. 이러한 프로세스동안, 디-커버 맵은 계산된 메트릭들 및 이들의 시간적 변화들을 저장하기 위하여 생성될 수 있다. 일단 디-커버 맵이 완성되면, 프로세스는 디-커버 맵이 분석되는 블록(335)으로 진행할 수 있다. 블록들(325, 330)에 대한 상세한 설명은 이하의 도 5의 설명에서 제시된다.When it is determined that the image sensor has entered the cover state, process 300 begins analyzing subsequent image frames to determine when the image sensor transitions to a "de-cover state" (blocks 325 and 330). . As used herein, the de-cover state is defined as the state when the user's finger leaves the image sensor to the extent that the movement of the user's finger can be reliably tracked. This can be determined by calculating luminance and / or detail metrics and their changes over time. During this process, the de-cover map can be generated to store the calculated metrics and their temporal changes. Once the de-cover map is complete, the process may proceed to block 335 where the de-cover map is analyzed. Details of blocks 325 and 330 are presented in the description of FIG. 5 below.

블록(335)에서, 디-커버 맵은 손가락이 이미지 센서(230)로부터 어떻게 떠났는지를 결정하기 위하여 분석된다. 디-커버 맵내의 공간적 변화들을 분석함으로써, 손가락 이동의 방향이 결정될 수 있다(블록 335). 이러한 정보는 이동 장치의 그래픽 사용자 인터페이스에 제공될 수 있는 명령을 해석하기 위하여 사용될 수 있다. 블록들(335, 340)에 대한 상세한 설명들은 이하의 도 6의 설명에서 제시된다.At block 335, the de-cover map is analyzed to determine how the finger left from the image sensor 230. By analyzing the spatial changes in the de-cover map, the direction of finger movement can be determined (block 335). This information may be used to interpret commands that may be provided to the graphical user interface of the mobile device. Details of blocks 335 and 340 are presented in the description of FIG. 6 below.

따라서, 본 발명의 실시예는 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 방법(300)을 포함할 수 있다. 본 방법은 센서로부터 이미지 프레임들을 수신하고 센서가 커버 상태로 진입할때를 결정하는 단계(블록 315, 320), 후속 이미지 프레임들로부터 센서가 디-커버 상태로 진입할때를 결정하는 단계(블록 325, 330), 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하는 단계(블록 335, 330), 및 사용자 인터페이스에 사용자 명령을 발행하는 단계(블록 340)를 포함할 수 있다. Thus, embodiments of the present invention may include a method 300 for processing image-based input commands for a user interface. The method receives image frames from a sensor and determines when the sensor enters a cover state (blocks 315, 320), and determines from when subsequent sensors enter the de-cover state (blocks 315, 320). 325, 330, analyzing information based on subsequent image frames to interpret the user command (blocks 335, 330), and issuing the user command to the user interface (block 340).

더욱이, 본 발명의 다른 실시예는 이미지-기반 사용자 인터페이스를 가진 장치(200)를 포함할 수 있다. 장치는 이미지 센서(230) 및 메모리(225)에 연결된 프로세서(220)를 포함할 수 있다. 프로세서는 센서로부터 이미지 프레임들을 수신하고 센서가 커버 상태로 진입할때를 결정하고(블록 315, 320), 후속 이미지 프레임들로부터 센서가 디-커버 상태로 진입할때를 결정하며(블록 325, 330), 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하며(블록 335, 330), 그리고 사용자 인터페이스에 사용자 명령을 발행하기 위한(블록 340) 로직을 가지도록 구성될 수 있다. Moreover, another embodiment of the present invention may include a device 200 having an image-based user interface. The device may include a processor 220 coupled to the image sensor 230 and the memory 225. The processor receives image frames from the sensor and determines when the sensor enters the cover state (blocks 315, 320) and determines when the sensor enters the de-cover state from subsequent image frames (blocks 325, 330). ) May be configured to parse information based on subsequent image frames to interpret the user command (blocks 335, 330), and to have logic to issue the user command to the user interface (block 340).

도 4는 이미지-기반 터치 사용자 인터페이스와 연관된 커버 상태를 결정하기 위한 예시적인 프로세스(400)를 도시한 흐름도이다. 프로세스(400)는 이미지 센서(200)로부터 이미지 프레임 i를 수신함으로써 시작할 수 있다(블록 410). 이미지 프레임은 n×m 타일(tile)들로 재분할될 수 있다(예컨대, 240×320 세로방향 프리뷰 프레임에 대하여, 각각의 타일은 대략 60×80 화소들을 포함할 수 있으며, n = m = 4이다). 다음으로, 프로세서(220)에 의하여 이미지의 휘도 채널로부터의 화소들에 대한 각각의 타일에 대한 휘도 및/또는 디테일 메트릭들이 계산될 수 있다(블록 420). 각각의 타일에 대한 휘도 메트릭은 각각의 타일내의 평균 휘도를 결정함으로써 계산될 수 있다. 디테일 메트릭은 각각의 타일의 표준 편차를 결정함으로써 계산될 수 있다. 표준 편차(std)는 프로세서(220)에 의한 고속 실행을 위하여 이하의 수식에 의하여 근사화될 수 있다.4 is a flow diagram illustrating an example process 400 for determining a cover state associated with an image-based touch user interface. Process 400 may begin by receiving image frame i from image sensor 200 (block 410). The image frame may be subdivided into n × m tiles (eg, for a 240 × 320 longitudinal preview frame, each tile may include approximately 60 × 80 pixels, where n = m = 4). ). Next, the luminance and / or detail metrics for each tile for the pixels from the luminance channel of the image may be calculated by the processor 220 (block 420). The luminance metric for each tile can be calculated by determining the average luminance in each tile. The detail metric can be calculated by determining the standard deviation of each tile. The standard deviation std may be approximated by the following equation for high speed execution by the processor 220.

Figure pct00001
Figure pct00001

여기서, val는 8-비트 화소들상에서 취해질 수 있는 명암도(intensity) 값들이며;Where val are intensity values that can be taken on 8-bit pixels;

hist(val)은 휘도 값들의 히스토그램, 즉 val의 휘도를 가진 타일의 화소들의 수이며;hist (val) is a histogram of luminance values, that is, the number of pixels of a tile with luminance of val;

avg는 이전에 계산된 평균 휘도 값이다.avg is a previously calculated average luminance value.

앞의 수식은 휘도 화소들이 8-비트 정수들을 사용하여 저장된다는 것을 가정하나 다른 데이터 타입들을 수용하도록 수정될 수 있으며, 본 발명의 실시예들이 전술한 수식 또는 데이터 타입에 제한되지 않는다는 것에 유의해야 한다.The above formula assumes that luminance pixels are stored using 8-bit integers, but it should be noted that embodiments of the present invention are not limited to the above-described formulas or data types. .

일단 휘도 및/또는 디테일 메트릭들이 이미지 프레임 i의 모든 타일들에 대하여 계산되면, 프로세스(400)는 미리 결정된 임계값(들)을 초과하는 타일들의 수를 카운트함으로써 진행할 수 있다(블록 425). 예컨대, 일 실시예에서, 30 보다 낮은 평균 값을 가진 타일들의 수 및 100 보다 낮은 std 값은 카운트를 설정하기 위하여 사용될 수 있다. 다음으로, 이러한 카운트 수는 그것이 임계값을 초과하는지를 결정하기 위하여 테스트된다(블록 430). 임계값은 미리 결정되며, 이미지 프레임의 타일들의 전체수의 일부분으로 세팅될 수 있다(예컨대, 미리 결정된 임계 수는 .95*n*m으로 세팅될 수 있다). 만일 카운트 수가 임계치를 초과하지 않으면, 프레임 카운트는 증가되며, 다음 이미지 프레임이 커버 상태 결정 처리를 위하여 수신된다(블록 435, 410). 일단 카운트 수가 미리 결정된 임계 수를 초과한다고 결정되면, 이미지 센서(230)는 커버 상태에 있는 것으로 결정된다. 다음으로, 처리는 이하에 기술된 바와같이 디-커버 프로세스(500)로 진행할 수 있다.Once the luminance and / or detail metrics are calculated for all the tiles of image frame i, process 400 can proceed by counting the number of tiles that exceed a predetermined threshold (s) (block 425). For example, in one embodiment, the number of tiles with an average value lower than 30 and the std value lower than 100 may be used to set the count. This count number is then tested to determine if it exceeds the threshold (block 430). The threshold is predetermined and may be set to a portion of the total number of tiles of the image frame (eg, the predetermined threshold number may be set to .95 * n * m). If the count number does not exceed the threshold, the frame count is incremented and the next image frame is received for cover state determination processing (blocks 435, 410). Once it is determined that the count number exceeds a predetermined threshold number, the image sensor 230 is determined to be in a cover state. The process may then proceed to the de-cover process 500 as described below.

도 5는 이미지-기반 터치 사용자 인터페이스와 연관된 디-커버 상태를 결정하기 위한 예시적인 프로세스(500)를 도시한 흐름도이다. 초기에, 커버 상태가 검출되었을때 이미지 프레임에 대응하는 타일 값들의 메트릭들이 저장된다(블록 510). 예컨대, 각각의 타일에 대한 평균 휘도 및 std가 저장될 수 있다. 이들 메트릭들은 기준 타일 메트릭들로서 여기에서 언급된 데이터 구조에 저장될 수 있으며, 여기서 테이블은 다차원(multi-dimensional) 매트릭스의 형태를 취할 수 있다.5 is a flow diagram illustrating an example process 500 for determining a de-cover state associated with an image-based touch user interface. Initially, metrics of tile values corresponding to an image frame when a cover condition is detected are stored (block 510). For example, the average brightness and std for each tile can be stored. These metrics can be stored in the data structure referred to herein as reference tile metrics, where the table can take the form of a multi-dimensional matrix.

다음으로, 이미지 프레임은 이미지 센서(230)로부터 수신되며, 앞서 기술된 바와같이 n×m 타일들로 재분할된다(블록 515, 520). 다음으로, 프로세스(500)는 커버 상태 결정과 관련하여 이하에서 기술된 방식으로 각각의 타일에 대한 휘도 및/또는 디테일 메트릭들을 계산할 수 있다(블록 525). 일단 프로세서(220)가 각각의 타일에 대한 메트릭(들)을 계산하면, 각각의 타일은 검사되며, 트레일(trail) 값은 현재의 타일의 메트릭이 미리 결정된 양만큼 대응하는 기준 타일의 메트릭을 초과할때 각각의 타일에 할당될 수 있다. 이러한 비교 프로세스는 현재의 이미지 프레임 j의 각각의 타일 및 이미지 프레임 i와 연관된 이전에 저장된 기준 타일 메트릭들간에 수행될 수 있다. 이러한 비교 동작은 미리 결정된 임계값들에 기초할 수 있다. 예컨대, 타일에 대한 트레일 값은 주어진 타일의 평균 휘도가 30개의 레벨들만큼 대응하는 기준 타일의 평균 휘도를 초과할때 및/또는 주어진 타일의 std가 90개의 레벨들만큼 기준 타일의 std를 초과할때 계산될 수 있다.The image frame is then received from image sensor 230 and subdivided into n × m tiles as described above (blocks 515 and 520). Next, process 500 may calculate luminance and / or detail metrics for each tile in the manner described below with respect to cover state determination (block 525). Once the processor 220 calculates the metric (s) for each tile, each tile is examined and the trail value exceeds the metric of the reference tile to which the metric of the current tile corresponds by a predetermined amount. Can be assigned to each tile. This comparison process may be performed between each tile of current image frame j and previously stored reference tile metrics associated with image frame i. This comparison operation may be based on predetermined thresholds. For example, the trail value for a tile may be such that when the average luminance of a given tile exceeds the average luminance of the corresponding reference tile by 30 levels and / or the std of the given tile exceeds the std of the reference tile by 90 levels. Can be calculated when

각각의 트레일 값은 하나의 타일과 연관되며, 따라서 n×m 데이터 구조로 저장될 수 있다. 트레일 값은 이하의 수식을 사용하여 계산될 수 있다.Each trail value is associated with one tile and thus can be stored in an n × m data structure. The trail value can be calculated using the following formula.

Figure pct00002
Figure pct00002

여기서,here,

j는 시간에 대응하는 현재의 프레임 수이며,j is the current number of frames corresponding to time,

avg(x, y)는 프레임 j에서 위치 x, y의 타일의 평균 휘도값이며,avg (x, y) is the average luminance value of the tiles of position x, y in frame j,

refTile(x, y)는 위치 x,y의 기준 타일의 평균 휘도값이며,refTile (x, y) is the average luminance value of the reference tile at position x, y,

T는 임계값(예컨대, 30)이다.T is a threshold (eg, 30).

일반적으로, 트레일 값은 특정 타일이 커버되지 않았을 때를 표시한다. 트레일 값이 클 수록, 특정 타일이 커버되지 않는 시간이 더 늦어진다. 그러나, 트레일 값들은 다양한 타일들이 커버되지 않았을 때에 관한 타이(tie)들을 나누기(break)위하여 획득된 시간 및 휘도량에 대한 정보를 포함한다. 트레일 값의 시간 성분은 프레임 수 j에 의하여 인코딩될 수 있으며, 단지 정수값들을 가질 수 있다. 트레일 값들의 시간 성분에 더 큰 그레뉴래러티(granularity)를 제공하기 위하여, 시간 정보 (j)는 현재의 타일의 평균 휘도 및 이의 대응하는 기준간의 차이만큼 수정될 수 있다. 만일 이러한 차이가 크면, 이는 해당 타일이 더 빨리 커버되지 않았고 따라서 시간 정보로부터 양(amount)이 추론된다(이 양은 스케일링된 차이이다)는 것을 의미한다. 각각의 트레일 값은 디-커버 맵으로 불리는 2차원 구조로 저장될 수 있다. 디-커버 맵은 n×m 엔트리들을 가질 수 있으며, 각각의 엔트리는 현재 이미지 프레임 j에서의 타일 위치에 대응한다. 예컨대, 292의 트레일 값을 가진 타일은 트레일 192를 가진 타일 이후에 커버되지 않을 수 있다(200의 범위내의 타일은 100의 범위내의 타일 이후에 디-커버된다). 동일한 이미지 프레임동안 커버되지 않은 타일들간의 타이들은 획득된 광 레벨에 기초하여 나누어질 수 있다. 예컨대, 299의 트레일을 가진 타일(프레임 j=3, 아직 비트가 어두운)이 트레일 292를 가진 타일(프레임 j=3이나 그것의 저장된 커버된 루마(luma) 값에 비하여 훨씬 더 밝게 된) 이후에 디-커버되었다는 것을 가정한다. In general, the trail value indicates when a particular tile is not covered. The larger the trail value, the later the time that a particular tile is not covered. However, the trail values include information about the amount of time and luminance obtained to break the ties about when the various tiles are not covered. The temporal component of the trail value may be encoded by the frame number j and may only have integer values. In order to provide greater granularity to the temporal components of the trail values, temporal information j can be modified by the difference between the average brightness of the current tile and its corresponding reference. If this difference is large, it means that the tile was not covered sooner and therefore an amount is inferred from the time information (this amount is a scaled difference). Each trail value may be stored in a two-dimensional structure called a de-cover map. The de-cover map may have n × m entries, each entry corresponding to a tile position in the current image frame j. For example, a tile with a trail value of 292 may not be covered after a tile with trail 192 (tiles in the range of 200 are de-covered after tiles in the range of 100). Ties between tiles not covered during the same image frame may be divided based on the obtained light level. For example, a tile with a trail of 299 (frame j = 3, still dark) is after a tile with trail 292 (much brighter than frame j = 3 or its stored covered luma value). Assume that it is de-covered.

일단 트레일 값이 각각의 타일 위치(n, m 타일들상의 각각의 x, y)에 대하여 계산되면, 디-커버 맵이 완성된다. 미리 결정된 수의 타일들이 디-커버 상태와 연관될 수 있는 연관된 트레일 값을 가지는지를 결정하기 위한 테스트가 수행될 수 있다(블록 535). 미리 결정된 수의 타일들은 예컨대 프레임내의 대다수의 타일들일 수 있다. 만일 결정이 참이면, 프로세스는 프로세스(600)로 계속된다. 그렇치 않으면, 임계 수의 프레임들이 처리되었는지를 결정하기 위한 테스트가 수행된다(블록 540 및 545). 만일 프레임들의 수가 임계치를 초과하면, 이는 사용자가 이미지 센서상에 손가락을 유지하고 있는 중이며 명령이 "선택" 또는 "입력"으로서 해석될 수 있다는 것을 의미한다(예컨대, 패스(pass)된 프레임들의 수는 2개의 제 2 기간에 대응하도록 세팅될 수 있다). 선택/입력 명령들은 키보드상의 "입력" 키의 키 누름 또는 마우스 클릭과 유사할 수 있으며, 이는 이동 장치(200)의 GUI에 값을 입력하거나 또는 물체를 선택하기 위하여 사용될 수 있다. Once the trail value is calculated for each tile position (each x, y on n, m tiles), the de-cover map is complete. A test can be performed to determine if a predetermined number of tiles have an associated trail value that can be associated with the de-cover state (block 535). The predetermined number of tiles may be, for example, the majority of tiles in the frame. If the decision is true, the process continues to process 600. Otherwise, a test is performed to determine if the threshold number of frames have been processed (blocks 540 and 545). If the number of frames exceeds the threshold, this means that the user is holding a finger on the image sensor and the command can be interpreted as "select" or "input" (eg, the number of frames passed). May be set to correspond to two second periods of time). The selection / entry commands may be similar to a key press or mouse click of an “input” key on the keyboard, which may be used to enter a value or select an object in the GUI of the mobile device 200.

도 6은 이미지-기반 터치 사용자 인터페이스와 연관된 사용자 명령을 결정하기 위한 예시적인 프로세스(600)를 도시한 흐름도이다. 디-커버 맵은 3-D 표면으로 생각될 수 있으며, 여기서 x,y 인덱스들은 타일 위치이며, z 값들은 손가락이 렌즈를 디-커버할때 손가락 이동의 시간에 대응하는 타일 값들이다. 블록(610)에서, 디-커버 맵의 기울기(gradient)는 디-커버 맵의 최급상승(steepest ascent)을 결정하기 위하여 계산될 수 있다. 디-커버 맵에서 기울기 및 테일(tail) 값들은 사용자가 GUI에 "선택/입력(select/enter)" 명령을 입력하기를 원하는지를 결정하기 위한 2차 또는 대안 방법으로서 임계치들과 비교될 수 있다(블록 615 및 630). 이러한 예에서, 만일 트레일 값들이 높고 기울기가 낮으면(이는 트레일 값들이 일정하다는 것을 표시함), 사용자는 "선택/입력" 명령을 표시하기 위하여 이미지 센서상에 손가락을 계속해서 유지할 수 있다. 6 is a flow diagram illustrating an example process 600 for determining user commands associated with an image-based touch user interface. The de-cover map can be thought of as a 3-D surface, where the x, y indices are tile positions, and the z values are tile values corresponding to the time of finger movement when the finger de-covers the lens. At block 610, the gradient of the de-cover map may be calculated to determine the steepest ascent of the de-cover map. The slope and tail values in the de-cover map may be compared to thresholds as a secondary or alternative way to determine if the user wants to enter a “select / enter” command in the GUI. (Blocks 615 and 630). In this example, if the trail values are high and the slope is low (which indicates that the trail values are constant), the user can keep the finger on the image sensor to indicate a "select / enter" command.

디-커버 맵의 기울기로부터, 손가락 이동의 방향은 다수의 상이한 방식들로 결정될 수 있다(블록 620). 예컨대, 프로세서(220)는 n×m 디-커버 맵에서 어느 n 행들 및 m 열들이 가장 강한지를 찾을 수 있다. 예컨대, 이하의 디-커버 맵에 대하여 다음과 같다.From the slope of the de-cover map, the direction of finger movement can be determined in a number of different ways (block 620). For example, processor 220 may find which n rows and m columns are strongest in the n × m de-cover map. For example, the following de-cover map is as follows.

Figure pct00003
Figure pct00003

가장 큰 열은 마지막 열이며, 가장 큰 행은 제 1 행이며, 따라서 알고리즘은 그 방향이 트레일들의 가장 큰 밀도를 가지기 때문에 상부 우측으로 커서를 이동시키도록 시스템에 명령할 것이다. 일단 이동 방향이 결정되면, 명령은 방향을 나타내는 사용자 인터페이스에 발행될 수 있다. 통상적으로, 이들 명령들은 이동 장치(200)의 장치 드라이버들이 용이하게 수용할 수 있는 포맷으로 만들어질 것이다.The largest column is the last column and the largest row is the first row, so the algorithm will instruct the system to move the cursor to the upper right because its direction has the highest density of trails. Once the direction of movement is determined, a command can be issued to the user interface indicating the direction. Typically, these instructions will be made in a format that device drivers of the mobile device 200 can readily accommodate.

다른 실시예들에서, 특유의 사용자 제스처들은 다른 명령들을 위하여 IBTUI에 제공될 수 있다. 예컨대, 다수의 손가락 이동들은 이동 장치(200)의 특유의 피처(feature)들을 제어하기 위하여 사용될 수 있거나 또는 다수의 단계들을 취할 수 있는 명령들에 대한 단축아이콘(shortcut)들로서 사용될 수 있다. 예컨대, 이미지 센서 위를 통과하는 손가락의 2개의 아래방향 이동들은 특정 상황들(예컨대, 바코드들을 스캐닝하기 위한 세팅한 짧은 노출들)에서 사진들을 찍기 위한 이미지 센서의 파라미터들을 제어하기 위하여 (즉, 자동-초점, 자동-노출(auto-exposure), 핸드-지터(hand-jitter) 감소 등을 제어하기 위하여) 사용될 수 있다. In other embodiments, unique user gestures may be provided to the IBTUI for other commands. For example, multiple finger movements may be used to control unique features of mobile device 200 or may be used as shortcuts to instructions that may take multiple steps. For example, two downward movements of a finger passing over the image sensor may be used to control the parameters of the image sensor for taking pictures in certain situations (eg, set short exposures for scanning barcodes) (ie, automatic -To control focus, auto-exposure, hand-jitter reduction, and the like.

앞서 언급한 바와같이, 이미지 센서(200)는 가시광선에 대응하는 광들 외의 다른 파장들에 민감할 수 있다. 예컨대, 이미지 센서(200)는 적외선 방사(infrared radiation)에 민감할 수 있으며, 따라서 그것은 낮은 광 상황(low light situation)들에서 사용될 수 있다. 이러한 실시예들은 IR 블로킹 필터를 분리(disengage)할 수 있는 능력을 가진 센서를 활용할 수 있다. 다른 센서들은 가시 광선량이 사용가능 임계치보다 낮을때 활성화될 수 있는 IR 방사원(예컨대, IR LED)을 활용할 수 있다.As mentioned above, the image sensor 200 may be sensitive to wavelengths other than those corresponding to visible light. For example, the image sensor 200 can be sensitive to infrared radiation, so it can be used in low light situations. Such embodiments may utilize a sensor having the ability to disengage the IR blocking filter. Other sensors may utilize an IR radiation source (eg, an IR LED) that may be activated when the amount of visible light is below the usable threshold.

더욱이, 디-커버 맵은 시간에 대응하는 하나의 차원을 가진 다-차원 구조들로 확장될 수 있다. 이러한 데이터 구조들은 3차원 직사각형으로서 시각화될 수 있으며, 여기서 x-y 차원들은 위치에 대응하며 z 차원은 시간에 대응한다. 이러한 데이터 "볼륨(volume)"에서, 각각의 데이터 엘리먼트는 시간 tj에서 이미지 프레임의 포인트 x,y에 있는 트레일 값에 대응할 수 있다. Moreover, the de-cover map can be extended to multi-dimensional structures with one dimension corresponding to time. These data structures can be visualized as three-dimensional rectangles, where the xy dimensions correspond to position and the z dimension corresponds to time. In this data "volume", each data element may correspond to a trail value at point x, y of the image frame at time t j .

당업자는 정보 및 신호들이 다양한 타입의 상이한 기술들 중 임의의 기술을 사용하여 표현될 수 있음을 인식할 것이다. 예컨대, 앞의 상세한 설명 전반에 걸쳐 참조될 수 있는 데이터, 지령, 명령, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다. Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the preceding description may include voltages, currents, electromagnetic waves, magnetic fields or particles, light fields or particles, or any combination thereof. It can be expressed as.

게다가, 당업자는 여기에서 제시된 실시예들과 관련하여 기술된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있음을 인식할 것이다. 하드웨어 및 소프트웨어의 상호 호환성을 명확히 하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그들의 기능적 관점에서 앞서 기술되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부가된 설계 제한들에 의존한다. 당업자는 기술된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 실시예들의 범위로부터 벗어나는 것으로 해석되지 않아야 한다.In addition, those skilled in the art will recognize that various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments presented herein may be implemented as electronic hardware, computer software, or a combination thereof. will be. To clarify the interoperability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of embodiments of the present invention.

여기에서 제시된 실시예들과 관련하여 기술된 방법들, 시퀀스들 및/또는 알고리즘들은 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 이들의 조합으로 직접 구현될 수 있다. 소프트웨어 모듈들은 RAM 메모리; 플래시 메모리; ROM 메모리; EPROM 메모리; EEPROM 메모리; 레지스터들; 하드 디스크; 휴대용 디스크; CD-ROM; 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장매체는 프로세서와 결합되며, 이에 따라 프로세서는 저장매체로부터 정보를 판독하고 저장매체에 정보를 기록할 수 있다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다. The methods, sequences and / or algorithms described in connection with the embodiments presented herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination thereof. Software modules include a RAM memory; Flash memory; ROM memory; EPROM memory; EEPROM memory; Registers; Hard disk; Portable disk; CD-ROM; Or may reside in any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, such that the processor can read information from and write information to the storage medium. In the alternative, the storage medium may be integral to the processor.

따라서, 본 발명의 실시예는 여기에 기술된 기능들, 단계들 및/또는 동작들에 따른, 이미지-기반 터치 사용자 인터페이스를 위한 방법을 구현하는 컴퓨터 판독가능 매체를 포함할 수 있다. 따라서, 본 발명의 실시예들은 머신에 의하여 실행될때 머신으로 하여금 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 동작들을 수행하도록 하는 프로그램 코드를 저장한 컴퓨터-판독가능 매체를 포함할 수 있다. 컴퓨터-판독가능 매체는 센서로부터 이미지 프레임들을 수신하기 위한 프로그램 코드; 센서가 커버 상태로 진입할때를 결정하기 위한 프로그램 코드; 후속 이미지 프레임들로부터 센서가 디-커버 상태로 진입할때를 결정하기 위한 프로그램 코드; 사용자 명령을 해석하기 위하여 후속 이미지 프레임들에 기초하여 정보를 분석하기 위한 프로그램 코드; 및 사용자 인터페이스에 사용자 명령을 발행하기 위한 프로그램 코드를 포함한다. 따라서, 본 발명은 예시적된 예들에 제한되지 않으며, 여기에 기술된 기능을 수행하기 위한 임의의 수단은 본 발명의 실시예들에 포함된다.Thus, embodiments of the present invention may include a computer readable medium that implements a method for an image-based touch user interface in accordance with the functions, steps, and / or operations described herein. Accordingly, embodiments of the present invention may include a computer-readable medium having stored thereon program code that when executed by a machine causes the machine to perform operations for processing image-based input instructions for the user interface. The computer-readable medium may include program code for receiving image frames from a sensor; Program code for determining when the sensor enters a cover state; Program code for determining from the subsequent image frames when the sensor enters the de-cover state; Program code for analyzing information based on subsequent image frames to interpret a user command; And program code for issuing a user command to the user interface. Accordingly, the present invention is not limited to the illustrated examples, and any means for performing the functions described herein are included in the embodiments of the present invention.

전술한 설명이 본 발명의 예시적인 실시예들을 기술하는 반면에, 첨부된 청구항들에 의하여 한정된 본 발명의 범위로부터 벗어나지 않고 다양한 변형들 및 수정들이 여기에서 이루어질 수 있다는 것에 유의해야 한다. 여기에서 제시된 본 발명의 실시예들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들은 임의의 특정 순서로 수행될 필요가 없다. 게다가, 비록 본 발명의 엘리먼트들이 단수로 기술되거나 또는 청구될 수 있을지라도, 단수에 대한 제한이 명백하게 언급되지 않는 한 복수도 고려되어야 한다. While the foregoing description describes exemplary embodiments of the invention, it should be noted that various changes and modifications may be made herein without departing from the scope of the invention as defined by the appended claims. The functions, steps and / or actions of the method claims in accordance with the embodiments of the invention presented herein need not be performed in any particular order. In addition, although elements of the invention may be described or claimed in the singular, the plural should also be considered unless the limitations on the singular are expressly stated.

Claims (33)

사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 방법으로서,
센서로부터 이미지 프레임들을 수신하는 단계;
상기 센서가 커버 상태(cover state)로 진입할 때를 결정하는 단계;
후속 이미지 프레임들로부터 상기 센서가 디-커버 상태(de-cover state)로 진입할때를 결정하는 단계;
사용자 명령을 해석하기 위하여 상기 후속 이미지 프레임들에 기초하여 정보를 분석하는 단계; 및
사용자 인터페이스에 상기 사용자 명령을 발행(issue)하는 단계를 포함하는,
이미지-기반 입력 명령들을 처리하기 위한 방법.
A method for processing image-based input commands for a user interface, the method comprising:
Receiving image frames from a sensor;
Determining when the sensor enters a cover state;
Determining from the subsequent image frames when the sensor enters a de-cover state;
Analyzing information based on the subsequent image frames to interpret a user command; And
Issuing the user command to a user interface;
Method for processing image-based input commands.
제 1항에 있어서, 이미지 프레임을 타일(tile)들로 재분할하는 단계;
각각의 타일에 대한 메트릭을 계산하는 단계; 및
상기 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트(count)를 수행하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.
2. The method of claim 1, further comprising: subdividing the image frame into tiles;
Calculating a metric for each tile; And
And performing a count of tiles having a predetermined value for the metric.
제 2항에 있어서, 상기 카운트가 미리 결정된 수를 초과할 때까지 후속하여 수신된 프레임들에 대하여 제 2항의 방법을 수행하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.3. The method of claim 2, further comprising performing the method of claim 2 on subsequently received frames until the count exceeds a predetermined number. 제 3항에 있어서, 상기 카운트가 미리 결정된 수를 초과할 때,
각각의 타일에 대한 기준 메트릭을 저장하는 단계;
후속 프레임들을 타일들로 재분할하는 단계;
각각의 타일에 대한 메트릭을 계산하는 단계; 및
미리 결정된 값들을 초과하는 메트릭들을 가진 타일들에 대한 적어도 하나의 트레일(trail) 값을 계산하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.
4. The method of claim 3, wherein when the count exceeds a predetermined number,
Storing a reference metric for each tile;
Subdividing subsequent frames into tiles;
Calculating a metric for each tile; And
Calculating at least one trail value for tiles with metrics that exceed predetermined values.
제 4항에 있어서, 모든 타일들이 대응하는 트레일 값을 가질 때까지 후속하여 수신된 프레임들에 대하여 제 4항의 방법을 수행하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.5. The method of claim 4, further comprising performing the method of claim 4 on subsequently received frames until all tiles have a corresponding trail value. 제 5항에 있어서, 상기 타일들의 모두가 대응하는 트레일 값을 가지기 전에 미리 결정된 수의 이미지 프레임들이 처리되면 "선택(select)" 또는 "입력(enter)"으로서 상기 사용자 명령을 해석하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.6. The method of claim 5, further comprising interpreting the user command as "select" or "enter" if a predetermined number of image frames have been processed before all of the tiles have corresponding trail values. And a method for processing image-based input instructions. 제 1항에 있어서,
디-커버 맵(de-cover map)의 기울기(gradient)를 계산하는 단계;
상기 기울기에 기초하여 이동 방향을 결정하는 단계; 및
상기 방향에 기초하여 상기 사용자 인터페이스에 명령을 발행하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.
The method of claim 1,
Calculating a gradient of the de-cover map;
Determining a moving direction based on the slope; And
Issuing a command to the user interface based on the direction.
제 7항에 있어서, 상기 기울기가 미리 결정된 값을 초과하는지를 결정하는 단계;
미리 결정된 수의 트레일 값들이 미리 결정된 값을 초과하는지를 결정하는 단계; 및
상기 기울기 및 트레일 결정에 기초하여 "선택" 또는 "입력"으로서 상기 사용자 명령을 해석하는 단계를 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.
8. The method of claim 7, further comprising: determining whether the slope exceeds a predetermined value;
Determining whether a predetermined number of trail values exceed a predetermined value; And
Interpreting the user command as “select” or “input” based on the slope and trail determination.
제 2항에 있어서, 상기 메트릭은 휘도의 평균 및 상기 휘도의 표준편차를 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.3. The method of claim 2, wherein the metric comprises an average of luminance and a standard deviation of the luminance. 제 1항에 있어서, 상기 센서는 카메라인, 이미지-기반 입력 명령들을 처리하기 위한 방법.The method of claim 1, wherein the sensor is a camera. 제 10항에 있어서, 상기 사용자 명령은 상기 카메라 위에 손가락을 위치시킴으로써 입력되는, 이미지-기반 입력 명령들을 처리하기 위한 방법.The method of claim 10, wherein the user command is input by placing a finger over the camera. 제 11항에 있어서, 일련의 제스처(gesture)들은 상기 카메라의 제어 파라미터들과 연관된 명령으로서 해석되는, 이미지-기반 입력 명령들을 처리하기 위한 방법.12. The method of claim 11, wherein the series of gestures is interpreted as a command associated with control parameters of the camera. 제 1항에 있어서, 상기 센서로부터 수신되는 상기 이미지 프레임들은 실질적으로 적외선 방사(infrared radiation)에 기초하는, 이미지-기반 입력 명령들을 처리하기 위한 방법.The method of claim 1, wherein the image frames received from the sensor are substantially based on infrared radiation. 이미지-기반 사용자 인터페이스를 가진 장치로서,
이미지 센서, 및
메모리에 연결되는 프로세서를 포함하며;
상기 프로세서는,
상기 이미지 센서로부터 이미지 프레임들을 수신하며,
상기 이미지 센서가 커버 상태로 진입할 때를 결정하며,
후속 이미지 프레임들로부터 상기 이미지 센서가 디-커버 상태로 진입할 때를 결정하며,
사용자 명령을 해석하기 위하여 상기 후속 이미지 프레임들에 기초하여 정보를 분석하며, 그리고
사용자 인터페이스에 상기 사용자 명령을 발행하기 위한 로직을 가지도록 구성되는,
이미지-기반 사용자 인터페이스를 가진 장치.
A device having an image-based user interface,
An image sensor, and
A processor coupled to the memory;
The processor comprising:
Receiving image frames from the image sensor,
Determine when the image sensor enters the cover state,
Determines when the image sensor enters the de-cover state from subsequent image frames,
Analyze information based on the subsequent image frames to interpret a user command, and
Configured to have logic to issue the user command to a user interface,
Device with an image-based user interface.
제 14항에 있어서, 상기 프로세서는,
이미지 프레임을 타일들로 재분할하며,
각각의 타일에 대한 메트릭을 계산하며, 그리고
상기 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트를 수행하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치
The method of claim 14, wherein the processor,
Subdivide the image frame into tiles,
Calculate a metric for each tile, and
And further configured to have logic to perform a count of tiles with a predetermined value for the metric.
제 15항에 있어서, 상기 프로세서는 상기 카운트가 미리 결정된 수를 초과할때까지 후속하여 수신된 프레임들에 대하여 제 15항의 로직을 수행하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치. 16. The image-based user interface of claim 15, wherein the processor is further configured to have logic to perform the logic of claim 15 on subsequent received frames until the count exceeds a predetermined number. Device. 제 16항에 있어서, 상기 프로세서는,
각각의 타일에 대한 기준 메트릭을 저장하며,
후속 프레임들을 타일들로 재분할하며,
각각의 타일에 대한 메트릭을 계산하며, 그리고
미리 결정된 값들을 초과하는 메트릭들을 가진 타일들에 대한 적어도 하나의 트레일 값을 계산하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치.
The method of claim 16, wherein the processor,
Save the baseline metrics for each tile,
Subdivide subsequent frames into tiles,
Calculate a metric for each tile, and
And further configured to have logic to calculate at least one trail value for tiles with metrics that exceed predetermined values.
제 17항에 있어서, 상기 프로세서는 모든 타일들이 대응하는 트레일 값을 가질 때까지 후속하여 수신된 프레임들에 대하여 제 4항의 로직을 수행하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치. 18. The image-based user interface of claim 17, wherein the processor is further configured to have logic to perform the logic of claim 4 on subsequently received frames until all tiles have a corresponding trail value. Device. 제 18항에 있어서, 상기 프로세서는 상기 타일들의 모두가 대응하는 트레일 값을 가지기 전에 미리 결정된 수의 이미지 프레임들이 처리되면 "선택" 또는 "입력"으로서 상기 사용자 명령을 해석하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치. 19. The processor of claim 18, wherein the processor is further configured to have logic to interpret the user command as "select" or "input" if a predetermined number of image frames are processed before all of the tiles have a corresponding trail value. Apparatus having an image-based user interface configured. 제 14항에 있어서, 상기 프로세서는,
디-커버 맵의 기울기를 계산하며,
상기 기울기에 기초하여 이동 방향을 결정하며, 그리고
상기 방향에 기초하여 상기 사용자 인터페이스에 명령을 발행하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치.
The method of claim 14, wherein the processor,
Calculates the slope of the de-cover map,
Determine a direction of movement based on the slope, and
And further have logic for issuing a command to the user interface based on the orientation.
제 20항에 있어서, 상기 프로세서는,
상기 기울기가 미리 결정된 값을 초과하는지를 결정하며,
미리 결정된 수의 트레일 값들이 미리 결정된 값을 초과하는지를 결정하며, 그리고
상기 기울기 및 트레일 결정에 기초하여 "선택" 또는 "입력"으로서 상기 사용자 명령을 해석하기 위한 로직을 가지도록 추가적으로 구성되는, 이미지-기반 사용자 인터페이스를 가진 장치.
The processor of claim 20, wherein the processor comprises:
Determine whether the slope exceeds a predetermined value,
Determine whether a predetermined number of trail values exceed a predetermined value, and
And further configured to have logic to interpret the user command as “select” or “input” based on the slope and trail determination.
제 15항에 있어서, 상기 메트릭은 휘도의 평균 및 상기 휘도의 표준편차를 포함하는, 이미지-기반 사용자 인터페이스를 가진 장치. 16. The apparatus of claim 15, wherein the metric comprises an average of luminance and a standard deviation of the luminance. 제 14항에 있어서, 상기 센서는 카메라이며, 상기 사용자 명령은 상기 카메라 위에 손가락을 위치시킴으로서 입력되는, 이미지-기반 사용자 인터페이스를 가진 장치. 15. The apparatus of claim 14, wherein the sensor is a camera and the user command is input by placing a finger over the camera. 제 23항에 있어서, 상기 카메라는 상기 손가락이 상기 카메라와 물리적으로 접촉하지 않도록 상기 장치의 몸체(body)로부터 리세스(recess)되는, 이미지-기반 사용자 인터페이스를 가진 장치. 24. The device of claim 23, wherein the camera is recessed from the body of the device such that the finger is not in physical contact with the camera. 이미지-기반 터치 사용자 인터페이스를 가진 이동 장치로서,
카메라, 및
메모리에 연결되는 프로세서를 포함하며;
상기 프로세서는,
상기 카메라로부터 이미지 프레임들을 수신하며,
상기 이미지 프레임을 타일들로 재분할하며,
각각의 타일에 대한 메트릭을 계산하며,
상기 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트를 수행하며,
후속 이미지 파일들로부터의 트레일 값들에 기초하여 디-커버 맵을 결정하며,
디-커버 맵의 기울기를 계산하며,
상기 기울기에 기초하여 이동 방향을 결정하며, 그리고
상기 방향에 기초하여 상기 사용자 인터페이스에 명령을 발행하도록 구성된 로직을 포함하는,
이미지-기반 터치 사용자 인터페이스를 가진 이동 장치.
A mobile device having an image-based touch user interface,
Camera, and
A processor coupled to the memory;
The processor comprising:
Receiving image frames from the camera,
Subdividing the image frame into tiles,
Calculate a metric for each tile,
Perform a count of tiles with a predetermined value for the metric,
Determine a de-cover map based on trail values from subsequent image files,
Calculates the slope of the de-cover map,
Determine a direction of movement based on the slope, and
Logic configured to issue a command to the user interface based on the direction;
Mobile device with image-based touch user interface.
사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 장치로서,
센서로부터 이미지 프레임들을 수신하기 위한 수단;
상기 센서가 커버 상태로 진입할 때를 결정하기 위한 수단;
후속 이미지 프레임들로부터 상기 센서가 디-커버 상태로 진입할 때를 결정하기 위한 수단;
사용자 명령을 해석하기 위하여 상기 후속 이미지 프레임들에 기초하여 정보를 분석하기 위한 수단; 및
사용자 인터페이스에 상기 사용자 명령을 발행하기 위한 수단을 포함하는,
이미지-기반 입력 명령들을 처리하기 위한 장치.
An apparatus for processing image-based input commands for a user interface, comprising:
Means for receiving image frames from a sensor;
Means for determining when the sensor enters a covered state;
Means for determining from the subsequent image frames when the sensor enters a de-cover state;
Means for analyzing information based on the subsequent image frames to interpret a user command; And
Means for issuing the user command to a user interface,
Apparatus for processing image-based input commands.
제 26항에 있어서, 이미지 프레임을 타일들로 재분할하기 위한 수단;
각각의 타일에 대한 메트릭을 계산하기 위한 수단; 및
상기 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트를 수행하기 위한 수단을 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 장치.
27. The apparatus of claim 26, further comprising: means for subdividing an image frame into tiles;
Means for calculating a metric for each tile; And
Means for performing a count of tiles with a predetermined value for the metric.
제 27항에 있어서, 상기 카운트가 미리 결정된 수를 초과할 때까지 후속하여 수신된 프레임들을 처리하기 위한 수단을 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 장치.28. The apparatus of claim 27, further comprising means for processing subsequently received frames until the count exceeds a predetermined number. 제 28항에 있어서, 상기 카운트가 상기 미리 결정된 수를 초과할 때,
각각의 타일에 대한 기준 메트릭을 저장하기 위한 수단;
상기 후속 프레임들을 타일들로 재분할하기 위한 수단;
각각의 타일에 대한 메트릭을 계산하기 위한 수단; 및
미리 결정된 값들을 초과하는 메트릭들을 가진 타일들에 대한 적어도 하나의 트레일 값을 계산하기 위한 수단을 더 포함하는, 이미지-기반 입력 명령들을 처리하기 위한 장치.
The method of claim 28, wherein when the count exceeds the predetermined number,
Means for storing a reference metric for each tile;
Means for subdividing the subsequent frames into tiles;
Means for calculating a metric for each tile; And
And means for calculating at least one trail value for tiles with metrics that exceed predetermined values.
머신에 의하여 실행될때 상기 머신으로 하여금 사용자 인터페이스에 대한 이미지-기반 입력 명령들을 처리하기 위한 동작들을 수행하도록 하는 프로그램 코드를 저장한 컴퓨터-판독가능 매체로서,
상기 컴퓨터-판독가능 매체는,
센서로부터 이미지 프레임들을 수신하기 위한 프로그램 코드;
상기 센서가 커버 상태로 진입할 때를 결정하기 위한 프로그램 코드;
후속 이미지 프레임들로부터 상기 센서가 디-커버 상태로 진입할때를 결정하기 위한 프로그램 코드;
사용자 명령을 해석하기 위하여 상기 후속 이미지 프레임들에 기초하여 정보를 분석하기 위한 프로그램 코드; 및
사용자 인터페이스에 상기 사용자 명령을 발행하기 위한 프로그램 코드를 포함하는,
컴퓨터-판독가능 매체.
A computer-readable medium having stored thereon program code that, when executed by a machine, causes the machine to perform operations for processing image-based input instructions for a user interface.
The computer-readable medium may include
Program code for receiving image frames from a sensor;
Program code for determining when the sensor enters a cover state;
Program code for determining from the subsequent image frames when the sensor enters the de-cover state;
Program code for analyzing information based on the subsequent image frames to interpret a user command; And
Program code for issuing said user command to a user interface,
Computer-readable media.
제 30항에 있어서, 상기 이미지 프레임을 타일들로 재분할하기 위한 프로그램 코드;
각각의 타일에 대한 메트릭을 계산하기 위한 프로그램 코드; 및
상기 메트릭에 대한 미리 결정된 값을 가진 타일들의 카운트를 수행하기 위한 프로그램 코드를 더 포함하는, 컴퓨터-판독가능 매체.
31. The apparatus of claim 30, further comprising: program code for subdividing the image frame into tiles;
Program code for calculating a metric for each tile; And
And program code for performing a count of tiles having a predetermined value for the metric.
제 31항에 있어서, 상기 카운트가 미리 결정된 수를 초과할 때까지 후속하여 수신된 프레임들을 처리하기 위한 프로그램 코드를 더 포함하는, 컴퓨터-판독가능 매체.32. The computer-readable medium of claim 31, further comprising program code for processing subsequently received frames until the count exceeds a predetermined number. 제 32항에 있어서, 상기 카운트가 상기 미리 결정된 수를 초과할 때,
각각의 타일에 대한 기준 메트릭을 저장하기 위한 프로그램 코드;
상기 후속 프레임들을 타일들로 재분할하기 위한 프로그램 코드;
각각의 타일에 대한 메트릭을 계산하기 위한 프로그램 코드; 및
미리 결정된 값들을 초과하는 메트릭들을 가진 타일들에 대한 적어도 하나의 트레일 값을 계산하기 위한 프로그램 코드를 더 포함하는, 컴퓨터-판독가능 매체.
33. The apparatus of claim 32, wherein when the count exceeds the predetermined number,
Program code for storing a reference metric for each tile;
Program code for subdividing the subsequent frames into tiles;
Program code for calculating a metric for each tile; And
And program code for calculating at least one trail value for tiles with metrics that exceed predetermined values.
KR1020107017529A 2008-01-09 2009-01-09 Apparatus and methods for a touch user interface using an image sensor KR20100098726A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/971,783 US20090174674A1 (en) 2008-01-09 2008-01-09 Apparatus and methods for a touch user interface using an image sensor
US11/971,783 2008-01-09

Publications (1)

Publication Number Publication Date
KR20100098726A true KR20100098726A (en) 2010-09-08

Family

ID=40409792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107017529A KR20100098726A (en) 2008-01-09 2009-01-09 Apparatus and methods for a touch user interface using an image sensor

Country Status (7)

Country Link
US (1) US20090174674A1 (en)
EP (1) EP2079009A1 (en)
JP (1) JP2011510383A (en)
KR (1) KR20100098726A (en)
CN (1) CN101918912A (en)
TW (1) TW200941313A (en)
WO (1) WO2009089495A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8237807B2 (en) 2008-07-24 2012-08-07 Apple Inc. Image capturing device with touch screen for adjusting camera settings
TWI507030B (en) * 2009-12-31 2015-11-01 Chiun Mai Comm Systems Inc Method and system for taking pictures
JP5685837B2 (en) * 2010-06-15 2015-03-18 ソニー株式会社 Gesture recognition device, gesture recognition method and program
TWI522843B (en) 2010-07-12 2016-02-21 原相科技股份有限公司 Optical system and click detection method therefor
US8781152B2 (en) 2010-08-05 2014-07-15 Brian Momeyer Identifying visual media content captured by camera-enabled mobile device
TWI414971B (en) * 2010-08-13 2013-11-11 Pixart Imaging Inc Lift detection method for optical mouse and optical mouse using the same
US20120050530A1 (en) * 2010-08-31 2012-03-01 Google Inc. Use camera to augment input for portable electronic device
US20120105354A1 (en) * 2010-10-31 2012-05-03 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Tactile Feedback Cover Lens for a Capacitive Touchscreen System
US8494770B2 (en) * 2011-03-15 2013-07-23 Qualcomm Incorporated Method and system for generating savings routes with a portable computing device
TWI441062B (en) 2011-06-21 2014-06-11 Pixart Imaging Inc Optical touch system and image processing method thereof
WO2013154720A1 (en) 2012-04-13 2013-10-17 Tk Holdings Inc. Pressure sensor including a pressure sensitive material for use with control systems and methods of using the same
WO2014043664A1 (en) 2012-09-17 2014-03-20 Tk Holdings Inc. Single layer force sensor
TWI479362B (en) * 2012-09-19 2015-04-01 Wistron Corp Dual-mode remote control method
KR102241291B1 (en) * 2013-03-14 2021-04-16 삼성전자주식회사 An electronic device and operating method thereof
CN105051652B (en) * 2013-03-15 2019-04-05 Tk控股公司 Adaptive man-machine interface for the pressure-sensitive control in the operating environment of dispersion attention and the method using similar product
US9235279B2 (en) * 2013-10-14 2016-01-12 Pixart Imaging Inc. Wake up method and optical input device using the same
US10481786B2 (en) * 2016-01-15 2019-11-19 Qualcomm Incorporated User interface for enabling access to data of a mobile device
WO2018198499A1 (en) * 2017-04-27 2018-11-01 ソニー株式会社 Information processing device, information processing method, and recording medium
WO2019245568A1 (en) * 2018-06-21 2019-12-26 Hewlett-Packard Development Company, L.P. Touch interactions with image capture devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3126898B2 (en) * 1995-04-26 2001-01-22 シャープ株式会社 Head-mounted display device
JPH11259206A (en) * 1998-03-09 1999-09-24 Fujitsu Ltd Infrared detection system input device
US6791531B1 (en) * 1999-06-07 2004-09-14 Dot On, Inc. Device and method for cursor motion control calibration and object selection
JP2004094653A (en) * 2002-08-30 2004-03-25 Nara Institute Of Science & Technology Information input system
WO2004059613A1 (en) * 2002-12-20 2004-07-15 Itac Systems, Inc. Cursor control device
US7474772B2 (en) * 2003-06-25 2009-01-06 Atrua Technologies, Inc. System and method for a miniature user input device
WO2005041579A2 (en) * 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
JP4238795B2 (en) * 2004-08-09 2009-03-18 株式会社デンソー Non-contact type detection device and control device
US7692627B2 (en) * 2004-08-10 2010-04-06 Microsoft Corporation Systems and methods using computer vision and capacitive sensing for cursor control
WO2006025359A1 (en) * 2004-09-03 2006-03-09 Sharp Kabushiki Kaisha Display driving method, display driving device, its program and recording medium, and display
US7800594B2 (en) * 2005-02-03 2010-09-21 Toshiba Matsushita Display Technology Co., Ltd. Display device including function to input information from screen by light
US7654459B2 (en) * 2005-11-14 2010-02-02 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Method of capturing user control inputs
US7593040B2 (en) * 2006-01-30 2009-09-22 Omnivision Technologies, Inc. Image anti-shake in digital cameras
US7721207B2 (en) * 2006-05-31 2010-05-18 Sony Ericsson Mobile Communications Ab Camera based control
JP2008153768A (en) * 2006-12-14 2008-07-03 Eastman Kodak Co Imaging apparatus, and white balance processor
US8125458B2 (en) * 2007-09-28 2012-02-28 Microsoft Corporation Detecting finger orientation on a touch-sensitive device
KR100975869B1 (en) * 2008-10-17 2010-08-13 삼성모바일디스플레이주식회사 Method and apparatus for detecting touch point

Also Published As

Publication number Publication date
CN101918912A (en) 2010-12-15
US20090174674A1 (en) 2009-07-09
WO2009089495A1 (en) 2009-07-16
EP2079009A1 (en) 2009-07-15
TW200941313A (en) 2009-10-01
JP2011510383A (en) 2011-03-31

Similar Documents

Publication Publication Date Title
KR20100098726A (en) Apparatus and methods for a touch user interface using an image sensor
US11423695B2 (en) Face location tracking method, apparatus, and electronic device
US8144780B2 (en) Detecting visual gestural patterns
KR102121592B1 (en) Method and apparatus for protecting eyesight
TWI543610B (en) Electronic device and image selection method thereof
US8130277B2 (en) Method and system for intelligent and efficient camera motion estimation for video stabilization
EP2280377B1 (en) Apparatus and method for recognizing subject motion using a camera
US20160195935A1 (en) Identification of a gesture
CN107771391B (en) Method and apparatus for determining exposure time of image frame
US20130088426A1 (en) Gesture recognition device, gesture recognition method, and program
US9600712B2 (en) Method and apparatus for processing digital images using face recognition
JP5799817B2 (en) Finger position detection device, finger position detection method, and computer program for finger position detection
US9223415B1 (en) Managing resource usage for task performance
US9652850B2 (en) Subject tracking device and subject tracking method
JP2008250950A (en) Image processor, control program, computer-readable recording medium, electronic equipment and control method of image processor
CN108463993A (en) Focusing the Wobbing focus spot of (AF) automatically for phase-detection prevents
KR101883291B1 (en) Device and method for controlling gesture
KR101503017B1 (en) Motion detecting method and apparatus
KR101612125B1 (en) Method and apparatus for determining presence of user's hand tremor or intentional motion
US9258483B2 (en) Multi-purpose camera system supporting normal camera functionality and additional user input functionality
US9304598B2 (en) Mobile terminal and method for generating control command using marker attached to finger
WO2018082498A1 (en) Mid-air finger pointing detection for device interaction
KR101294212B1 (en) Motion Detection system in robot and thereof method
KR101667500B1 (en) Recording medium, portable terminal and method for recognizing characters based on determining presence of user's hand tremor or intentional motion
KR20130123316A (en) Apparatus and method for controlling mobile terminal based on face recognization result

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application