KR20110090973A - 적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터 프로그램 제품 - Google Patents

적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20110090973A
KR20110090973A KR1020117012219A KR20117012219A KR20110090973A KR 20110090973 A KR20110090973 A KR 20110090973A KR 1020117012219 A KR1020117012219 A KR 1020117012219A KR 20117012219 A KR20117012219 A KR 20117012219A KR 20110090973 A KR20110090973 A KR 20110090973A
Authority
KR
South Korea
Prior art keywords
depth
target
instructions
depth range
motion
Prior art date
Application number
KR1020117012219A
Other languages
English (en)
Other versions
KR101300400B1 (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 KR20110090973A publication Critical patent/KR20110090973A/ko
Application granted granted Critical
Publication of KR101300400B1 publication Critical patent/KR101300400B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Abstract

적응적인 제스처 분석을 제공하기 위한 방법은, 거리 범위를 복수의 심도 (depth) 범위들로 분할하고, 적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하며, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내며, 각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하고 그리고 상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하는 것을 포함한다. 상기 방법에 대응하는 장치 및 컴퓨터 프로그램 제품 또한 제공된다.

Description

적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터 프로그램 제품{Method, apparatus and computer program product for providing adaptive gesture analysis}
본 발명의 실시예들은 일반적으로 사용자 인터페이스 기술에 관련되며, 그리고 더 상세하게는, 시각적인 인터액션 시스템들에 대해서 제스처 분석을 제공하기 위한 방법, 장치 및 컴퓨터 프로그램 제품에 관련된다.
현재의 통신들의 시대는 유선 및 무선 네트워크들의 막대한 팽창을 가져왔다. 컴퓨터 네트워크, 텔레비전 네트워크 및 전화 네트워크는 소비자의 요청이라는 연료를 공급받아 전례가 없는 기술적인 확장을 경험하고 있다. 무선 및 모바일 네트워킹 기술들은 더욱 유연하면서도 즉시적인 정보 전달을 제공하면서, 관련된 소비자 요청들에 중점을 두어 다룬다.
현재의 그리고 미래의 네트워킹 기술들은 사용자들에게로의 정보 전달 및 편이성을 용이하게 하는 것을 계속한다. 사용자들에게로의 정보 전달 및 편이성을 용이하게 하는 것을 증가시키려는 요청이 존재하는 한가지 영역은 HCI (human-computer interaction)를 위한 인간 대 기계 인터페이스를 단순화하는 것에 관련된다. 컴퓨팅 기기들 및 핸드-헬드 또는 모바일 기기들의 능력들을 향상시키는 컴퓨팅 기기들 및 핸드-헬드 또는 모바일 기기들의 영역에서의 최근의 개발들과 함께, 다음 세대의 HCI는 여러 사람들의 마음에 존재한다. 또한, 상기 기기들이 콘텐트를 생성하고, 콘텐트를 저장하고 그리고/또는 콘텐트를 수신하기 위한 자신들의 능력을 증가시키려는 경향이 있을 것이라고 가정하면 그리고 모바일 전화기들과 같은 모바일 전자 기기들이 사용자 인터페이스들의 디스플레이 크기, 텍스트 입력 속도 및 물리적인 실시예들에서의 한계들에 때로 직면한다는 것을 또한 가정하면 HCI의 환경에서는 종종 경쟁들이 발생한다.
또한, HCI에서의 개선들은 사용자의 즐거움을 또한 향상시킬 수 있을 것이며 그리고 유효한 HCI에 대한 변화들을 제시할 수 있을 환경들에 컴퓨팅 기기들과의 사용자 인터페이스를 위한 기회들을 열 수 있을 것이다. 그런 하나의 개선은 제스처 (gesture) 인식에 관련된다. 예를 들면 키패드 및 마우스와 같은 HCI에서 현재 채택된 다른 인터액티브한 (interactive) 메커니즘들과 비교하면, 통신의 자연스러움과 용이함을 개선하기 위해서 제스처 인식을 고려할 수 있을 것이다. 그처럼, 디지털 홈 설비들에서 공통 제어기로서 사용하기 위해서, 파일/웹 내비게이션에서 사용하기 위해서 또는 공통적으로 사용되는 원격 제어기에 대한 대체로서 사용하기 위해서 제스처 인식이 가능하게 하도록 특정 애플리케이션들이 개발되었다. 그러나, 제스처 분석을 위한 현재의 메커니즘들은 채택하기에는 종종 느리거나 성가시다. 게다가, 현재 적소에 있는 많은 제스처 분석 메커니즘들은 강제되지 않는 환경들에서 제스처들을 탐지하거나 추적하는 것에 있어서 어려움을 겪을 수 있을 것이다. 예를 들면, 조명 구성들을 변경하는 실시예들 및 배경을 구분하기 어려운 환경들은 제스처 추적에 있어서 도전들을 제시한다. 그러므로, 다음 세대 HCI의 일반적인 활용을 가정하면, 제스처 분석들에서의 개선들이 바람직할 수 있을 것이다.
본 발명은, 상기에서와 같은 제스처 분석들에 있어서의 개선책들을 제공하려고 한다.
예를 들면, 비주얼 인터액션 시스템에서 제스처 분석을 이용하는 것을 가능하게 하기 위해서 방법, 장치 및 컴퓨터 프로그램 제품이 그래서 제공된다. 일부 실시예들에서, 적응적인 제스처 추적 방식은 이미지 데이터를 분석하기 위해서 심도 (depth) 데이터를 활용할 수 있을 것이다. 예를 들면, 다중의 명암도 (intensity) 이미지들이 다양한 심도 범위들을 위해서 고려될 수 있을 것이다. 예시적인 일 실시예에서, 타겟 (예를 들면, 손 또는 제스처를 생성하는 다른 부속 기관)을 추적하는 것을 가능하게 하기 위해 그 타겟이 위치하고 있는 심도를 판별하기 위해서 다양한 다른 심도 범위들에서의 명암도 이미지들이 모션에 대해서 분석될 수 있을 것이다. 그처럼, 다른 큐들을 수반하는 몇몇의 경우들에서, 상대적으로 빠르고 그리고 정확한 타겟 추적을 제공하기 위해서 각 심도 범위 상에서 모션 변이 (variation)가 이용될 수 있을 것이다. 일부 실시예들에서, 3차원 (3D) 심도 데이터가 활용되어, 제한되지 않은 환경들에서의 적응적인 제스처 분석을 가능하게 하기 위해서 명암도 이미지들에 대해 상기 심도 데이터를 제공할 수 있을 것이다. 그처럼, 본 발명의 몇몇의 예시적인 실시예들은 상대적으로 강건하고 그리고 빠른 제스처 부석을 제공할 수 있을 것이다.
예시적인 일 실시예에서, 적응적인 제스처 분석을 제공하기 위한 방법이 제시된다. 상기 방법은, 거리 범위를 복수의 심도 (depth) 범위들로 분할하고, 적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하며, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내며, 각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하고 그리고 상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하는 것을 포함할 수 있을 것이다.
다른 예시적인 실시예에서, 적응적인 제스처 분석을 제공하기 위한 컴퓨터 프로그램 제품이 제공된다. 상기 컴퓨터 프로그램 제품은 저장된 컴퓨터-실행가능 프로그램 코드 명령어들을 구비한 적어도 하나의 컴퓨터-독출가능 저장 매체를 포함한다. 상기 컴퓨터-실행가능 프로그램 코드 명령어들은, 제1, 제2, 제3 및 제4 프로그램 코드부들을 포함할 수 있을 것이다. 상기 제1 프로그램 코드부는 거리 범위를 복수의 심도 (depth) 범위들로 분할하기 위한 것이다. 상기 제2 프로그램 코드부는 적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하기 위한 것이다. 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타낼 수 있을 것이다. 상기 제3 프로그램 코드부는 각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하기 위한 것이다. 상기 제4 프로그램 코드부는 상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하기 위한 것이다.
다른 예시적인 실시예에서, 적응적인 제스처를 제공하는 장치가 제공된다. 상기 장치는 프로세서를 포함할 수 있을 것이다. 상기 프로세서는 거리 범위를 복수의 심도 (depth) 범위들로 분할하게 하고, 적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하게 하며, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내며, 각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하게 하고 그리고 상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하게 하도록 구성될 수 있을 것이다.
또 다른 예시적인 실시예에서, 적응적인 제스처 분석을 제공하기 위한 장치가 제공된다. 상기 장치는, 거리 범위를 복수의 심도 (depth) 범위들로 분할하기 위한 수단, 적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하기 위한 수단으로서, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내는, 생성 수단, 각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하기 위한 수단 그리고 상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하기 위한 수단을 포함할 수 있을 것이다.
본 발명의 실시예들은, 예를 들면, 모바일 환경이나 고정된 환경에서 채택되는 용도의 방법, 장치 및 컴퓨터 프로그램 제품을 제공할 수 있을 것이다. 결과적으로, 컴퓨팅 기기 사용자들은 자신들 각자의 컴퓨팅 기기들과 인터액션을 하기 위한 개선된 기능을 향유할 수 있을 것이다.
본 발명의 효과는 본 발명의 상세한 설명의 해당되는 부분에서 별도로 설명되어 있다.
본 발명의 몇몇 실시예들을 설명하면서, 첨부한 도면들을 참조할 것이며, 상기 도면들은 반드시 크기에 맞추어서 그려진 것은 아니다.
도 1은 본 발명의 예시적인 일 실시예에 따른 UI 제어기를 위한 적응적인 제스처 분석 프로세스의 일 예를 도시한다.
도 2는 본 발명의 예시적인 일 실시예에 따라 3차원적인 이미지의 전체 심도 범위를 분할하는 상이한 심도 간격들의 도면을 도시한다.
도 3은 본 발명의 예시적인 일 실시예에 따른 제스처 분석을 가능하게 하기 위한 장치의 개략적인 블록도를 도시한다.
도 4 (도 4a 내지 도 4i를 포함한다)는 본 발명의 예시적인 일 실시예에 따른 다양한 다른 심도들 각각에 대응하여 생성된 명암도 이미지들을 도시한다.
(도 5a 내지 도 5n을 포함하는) 도 5는 본 발명의 예시적인 일 실시예에 따른 인접한 프레임들에 대한 명암도 이미지들 및 그것들 사이의 상대적인 모션의 표시를 도시한다.
도 6 (도 6a 내지 도 6f를 포함한다)은 본 발명의 예시적인 일 실시예에 따라 타겟 심도를 판별하는 프로세스의 예시적인 단계들을 도시한다.
도 7은 본 발명의 예시적인 일 실시예로부터 이익을 볼 수 있을 모바일 단말의 블록도를 도시한다.
도 8은 본 발명의 예시적인 일 실시예에 따라서 제스처 분석을 제공하기 위한 예시적인 방법에 따른 흐름도이다.
본 발명의 몇몇 실시예들은 첨부된 도면들을 참조하여 이하에서 더욱 상세하게 이제 설명될 것이며, 상기 도면들에서, 본 발명의 전부는 아닌 일부 실시예들이 도시된다. 실제로, 본 발명의 다양한 실시예들은 많은 상이한 형상으로 구체화될 수 있을 것이며 그리고 여기에서 제시된 실시예들 집합으로 한정되는 것으로서 해석되어서는 안 된다; 오히려, 이런 실시예들은 본 발명의 개시가 적합한 법적인 요구 사항들을 만족시킬 수 있도록 제공된다. 유사한 참조번호들은 전체적으로 유사한 엘리먼트들을 언급한다. 여기에서 사용된 것과 같은, "데이터", "콘텐트", "정보" 및 유사한 용어들은 본 발명의 실시예들에 따라서 전송되고, 수신되고 그리고/또는 저장될 수 있는 데이터를 언급하기 위해서 교체 가능하게 사용될 수 있을 것이다. 더욱이, 여기에서 사용되는 것과 같은 "예시적"이라는 용어는 어떤 정성적인 평가를 전하는 것이 아니라 단순하게 하나의 예를 나타내기 위해서 제공된다. 추가로, 가까이 그리고 멀리라는 용어들은, 어떤 특정한 또는 양을 정할 수 있는 위치를 나타내기 위해서가 아니라, 서로에게 비교하여 몇몇 포인트로부터 더 가까이에 있는 그리고 더 멀리에 있는 물체들을 언급하기 위해서 여기에서는 상대적인 개념으로 사용된다. 그러므로, 그런 용어들을 사용하는 것은 본 발명의 실시예들의 사상과 범위를 제한하는 것으로 여겨져서는 안 된다.
본 발명의 몇몇 실시예들은 제스처 분석에 관련하여 경험될 수 있을 개선점들에 의한 메커니즘을 제공할 수 있을 것이다. 이런 점에서, 예를 들면, 일부 실시예들은 실-시간 제스처 분석 방식을 제공할 수 있을 것이며, 이 분석 방식은 핸드-헬드 기기 또는 다른 컴퓨팅 기기 상에서의 인터액티브한 행동들에 적합할 수 있을 것이다. 그러므로, 사용자는 기기를 수동으로 동작시키는 것이 아니라 제스처에 의해서 그 기기 (예를 들면, 사용자의 핸드-헬드 기기 또는 컴퓨팅 기기 또는 심지어는 원격 기기)를 제어할 수 있을 것이다. 몇몇의 예시적인 실시예들은 예를 들면, 3D 카메라, 심도 분석기, 모션 (motion) 분석기, 타겟 추적기 및 제스처 인식기와 같은 다양한 컴포넌트들을 통합하는 방식을 통해서 자동적인 제스처 분석을 제공할 수 있을 것이다. 본 발명의 몇몇의 실시예들에 따라서 타겟을 추적하는 것은 배경, 조명, 손의 비율 (scale) 변화 및 움직임 등에 비해 상대적으로 낮은 감도와 함께 상대적으로 정밀한 타겟 (예를 들면, 손) 위치를 제공할 수 있을 것이다.
타겟 추적은, 예시적인 일 실시예에서는, 탐지-기반 전략에 의해서 실현될 수 있을 것이다. 이런 점에서, 예를 들면, 각 프레임 내의 타겟 위치는 스킨 (skin) 탐지 그리고 비율, (예를 들면, 이전의 프레임 내에서의) 위치 정보 및/또는 유사한 것과 같은 다중의 유용한 큐들 (cues)을 기반으로 하여 판별될 수 있을 것이다. 몇몇의 실시예들에 따른 추적을 기반으로 하는 탐지는 실시간 애플리케이션들에서 사용될 수 있을 상대적으로 정확하고 빠른 추적을 제공할 수 있을 것이다.
도 1은 본 발명의 예시적인 일 실시예에 따른 UI 제어기를 위한 적응적인 제스처 분석 프로세스의 일 예를 도시한다. 예시적인 일 실시예가 손에 대한 제스처 분석을 기반으로 하는 타겟 탐지의 환경에서 아래에서 설명될 것이지만, 신체의 다른 부분들도 제스처 분석에 관하여 또한 포함될 수 있을 것이라는 것에 유의해야만 한다. 예를 들면, 팔 위치 결정, 발 위치 결정 또는 유사한 것은, 상기 팔, 발 등이 타겟 탐지를 가능하게 하기 위해서 노출되는 것을 가정하는 제스처 분석에 관하여 또한 고려될 수 있을 것이다. 또한, 도 1의 프로세스는 단순하게 예시적인 것이며, 그래서 다른 실시예들은, 동일한 또는 상이한 동작들이 다른 순서로 그리고/또는 몇몇 동작들이 삭제된, 추가의 또는 상이한 동작들을 포함하는 것과 같은 변형들을 포함할 수 있을 것이다.
예시적인 실시예와 연관하여 수행될 수 있을 다양한 동작들을 보여주는 흐름도인 도 1에 도시된 것처럼, 이미지 데이터 (예를 들면, 비디오 데이터)는 참조번호 10의 동작에서 처음으로 수신될 수 있을 것이다. 예시적인 실시예에 따른 제스처 인식을 수행하는 기기와 연관된 카메라가 상기 기기의 일부이거나 또는 그 기기와 통신하는 한은, 상기 이미지 데이터는 그 카메라로부터 수신될 수 있을 것이다. 몇몇의 실시예들에서, 상기 카메라와 제스처 분석에 사용되는 다른 컴포넌트들 사이에서의 통신은 실시간일 수 있을 것이며 또는 적어도 상대적으로 작은 지연을 가질 수 있을 것이다. 예시적인 일 실시예에서, 상기 카메라는 예를 들면 도 2에 도시된 것처럼 3D 심도 데이터와 명암도 이미지를 동시에 제공할 수 있는 3D 카메라 (40)일 수있다. 도 2에서 볼 수 있는 것처럼, 상기 3D 카메라는 분리될 수 있는 데이터를 다양한 다른 심도 구간들에서 제공할 수 있을 것이다. 상기 심도 구간들은 등거리일 수 있으며 또는 구간들 사이에 가변 거리일 수 있다 (예를 들면, 가까운 심도 (42) 및 먼 심도 (44)는 더 큰 구간들 (46)을 구비할 수 있을 것이며, 중간 거리 (48)는 더 작은 구간들 (50)을 구비할 수 있을 것이다).
참조번호 12의 동작에서, 심도 (depth) 데이터 및 명암도 (intensity) 데이터는 상기 3D 카메라에 의해서 모아진 이미지 데이터로부터 추출될 수 있을 것이다. 참조번호 10의 동작에서 수신된 이미지 데이터의 프레임은 그러면 상이한 심도 범위들로 세그먼트되어, 참조번호 14의 동작에서, 변하는 심도 범위 (depth range)들에서 명암도 이미지들을 제공할 수 있을 것이다. 이미지 데이터를 분석하는 것은 프레임 단위 (frame-by-frame)로 기반으로 하여 수행되어서, 참조번호 16의 동작에서, 이전 (또는 다음의) 프레임에 대한 명암도 이미지는 각 해당되는 상이한 심도 범위에 대해서 상기 세그먼트된 이미지들과 비교될 수 있을 것이다. 참조번호 18의 동작에서, 모션 차이들은 각 심도 범위에서 분석될 수 있을 것이다. 많은 상황들에서, 제스처를 수행하고 있는 타겟은 한 프레임으로부터 다음의 프레임으로 가장 많은 변화를 가질 것으로 기대될 수 있을 것이기 때문에, 인접한 프레임들에 관한 모션 분석은 타겟 영역 (예를 들면, 손과 같이 제스처가 가능한 부속 기관)을 식별하는데 있어서 유용할 수 있을 것이다. 그러므로, 타겟의 심도가 반드시 예측될 수는 없을 것이지만, 타겟이 위치하고 있는 곳의 심도에서는 다른 심도들에서보다 더 의미있는 모션을 볼 것으로 기대된다.
다양한 심도 범위들에 대한 모션 분석을 기반으로 하여, 후보의 심도 범위들이 참조번호 20의 동작에서 식별될 수 있을 것이다. 이런 면에서, 예를 들면, 어떤 문턱값을 넘는 모션을 보여주는 또는 최대의 또는 다른 심도 범위들이나 주어진 심도 범위에 대한 프레임들에 비해서 적어도 더 높은 후보의 심도 범위들은 후보 심도 범위들로서 식별될 수 있을 것이다. 일부의 예시적인 실시예들에서, 하나 또는 그 이상의 큐들 (cues) (에를 들면, 위치, 비율 (scale) 그리고/또는 유사한 것)은 후보 심도 범위들의 모션 분석과 함께 참조번호 22에서의 동작에서 고려될 수 있을 것이다. 후보 심도 범위들의 모션을 기반으로 하여 (그리고 몇몇의 경우들에서는 상기 큐들을 또한 기반으로 하여), 거친 (coarse) 타겟 심도 범위가 참조번호 24의 동작에서 판별될 수 있을 것이다. 참조번호 26의 동작에서, 업데이트된 평균 타겟 심도 범위가 판별될 수 있을 것이다 (예를 들면, 상기 타겟 심도 범위 내의 모든 픽셀들의 평균을 냄으로써). 참조번호 28의 동작에서, 타겟 영역은 최종으로 판별된 타겟 심도 범위를 기반으로 하여 판별되고 그리고 추적될 수 있을 것이다.
그 이후에, 상기 타겟은 계속해서 추적될 수 있을 것이며 그리고 추적되고 있는 타겟 영역 (예를 들면, 손의 영역)으로부터 추출될 수 있을 특징들에 관한 모션이나 변화들은 제스처 분석을 위해서 사용될 수 있을 것이다. 예시적인 실시예에서, 추적되고 있는 상기 타겟 영역으로부터의 특징들을 특정 제스처들에 대응하는 특징들이 저장된 데이터베이스 내의 특징들과 비교함으로써 제스처 분석이 수행될 수 있을 것이다. 데이터베이스 (예를 들면, 매칭 데이터베이스) 내의 특징들과 추적되고 있는 상기 타겟 영역으로부터 추출된 상기 특징들을 사이의 매치 (또는 문턱값 양 내에서의 실질적인 유사성)를 판별함으로써, 상기 데이터베이스로부터의 매칭되는 특징들과 연관된 특정 제스처에 대응하는 제스처가 인식될 수 있을 것이다.
특정 제스처가 인식되면, 대응 명령이 실행될 수 있을 것이다. 그처럼, 예를 들면, 데이터베이스는 제스처들을 각자의 명령들 또는 UI 기능들과 연관시키는 정보를 저장할 수 있을 것이다. 그러므로, 예를 들면, 음악이나 비디오 콘텐트를 재생하면서 꽉 쥔 주먹이 인식되고 그리고 그 꽉 쥔 주먹이 정지 명령과 연관되어 있으면, 재생되고 있는 그 음악이나 비디오 콘텐트는 정지될 것이다.
도 3은 본 발명의 예시적인 일 실시에에 따른 적응적인 제스처 분석을 가능하게 하는 장치의 개략적인 블록도를 도시한다. 본 발명의 예시적인 실시예는 도 3을 참조하여 이제 설명될 것이며, 상기 도 3에서 제스처 분석을 가능하게 하기 위한 특정 엘리먼트들이 디스플레이된다. 도 3의 장치는, 예를 들면, 모바일 단말 (예를 들면, 도 7의 모바일 단말 (110)) 또는 (예를 들면, 네트워크 기기, 개인용 컴퓨터, 랩텁 컴퓨터 또는 유사한 것들과 같은) 모바일 그리고 고정된 기기 두 가지 모두인 다양한 다른 기기들에 채택될 수 있을 것이다. 대안으로, 실시예들은 기기들을 조합한 것에 채택될 수 있을 것이다. 따라서, 본 발명의 몇몇의 실시예들은 단일의 기기 (예를 들면, 상기 모바일 단말 (110))에서 전체적으로 구체화될 수 있을 것이며 또는 클라이언트/서버 관계에서 기기들에 의해서 구체화될 수 있을 것이다. 또한, 아래에서 설명된 기기들이나 엘리먼트들은 필수적이지 않을 수 있을 것이며 그래서 특정 실시예들에서 일부는 생략될 수 있을 것이라는 것에 유의해야만 한다.
이제 도 3을 참조하면, 적응적인 제스처 분석을 가능하게 하는 장치가 제공된다. 상기 장치는 프로세서 (70)를 포함하거나 혹시 포함하지 않는다면 프로세서 (70)와 통신하며, 그리고 사용자 인터페이스 (72), 통신 인터페이스 (74) 및 메모리 기기 (76)를 포함한다. 상기 메모리 기기 (76)는, 예를 들면, 활성 및/또는 비활성 메모리를 포함할 수 있을 것이다. 상기 메모리 기기 (76)는 상기 장치가 본 발명의 예시적인 실시예들에 따른 다양한 기능들을 수행하는 것을 가능하게 하는 정보, 데이터, 애플리케이션, 명령어 또는 유사한 것을 저장하도록 구성될 수 있을 것이다. 예를 들면, 상기 메모리 기기 (76)는 프로세서 (70)에 의한 프로세싱을 위해서 입력 데이터를 버퍼링하도록 구성될 수 있다. 추가로 또는 대안으로, 상기 메모리 기기 (76)는 상기 프로세서 (70)에 의한 실행 용도의 명령어들을 저장하도록 구성될 수 있다. 또 다른 대안으로, 상기 메모리 기기 (76)는 정보 및/또는 미디어 콘텐트를 저장하는 복수의 데이터베이스 중의 하나일 수 있을 것이다.
상기 프로세서 (70)는 몇몇의 상이한 방식들로 구현될 수 있을 것이다. 예를 들면, 상기 프로세서 (70)는 프로세싱 엘리먼트, 보조프로세서, 제어기 또는 예를 들면, ASIC (application specific integrated circuit), FPGA (field programmable gate array), 하드웨어 가속기 또는 유사한 것과 같은 집적 회로들을 포함하는 다양한 다른 프로세싱 기기들로서 구현될 수 있을 것이다. 예시적인 일 실시예에서, 상기 프로세서 (70)는 상기 메모리 기기 (76)에 저장된 또는 상기 프로세서 (70)로 액세스 가능한 명령어들을 실행하도록 구성될 수 있을 것이다.
한편, 상기 통신 인터페이스 (74)는, 네트워크 및/또는 어떤 다른 기기 또는 상기 장치와 통신하는 모듈과 데이터를 주고 받도록 구성된 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합 중의 어느 하나에서 구현된 기기 또는 회로와 같은 어떤 수단일 수 있을 것이다. 이런 점에서, 상기 통신 인터페이스 (74)는, 예를 들면 안테나 (또는 다중의 안테나들) 그리고 무선 통신 네트워크와 통신하는 것을 가능하게 하기 위한 지원 하드웨어 및/또는 소프트웨어를 포함할 수 있을 것이다. 고정된 환경에서, 상기 통신 인터페이스 (74)는 대안으로 또는 동시에 유선 통신을 지원할 수 있을 것이다. 그처럼, 상기 통신 인터페이스 (74)는 케이블, 디지털 가입자 라인 (DSL), 범용 시리얼 버스 (UWB) 또는 다른 메커니즘을 경유한 통신을 지원하기 위한 통신 모뎀 그리고/또는 다른 하드웨어/소프트웨어를 포함할 수 있을 것이다.
상기 사용자 인터페이스 (72)는 상기 프로세서 (70)와 통신하여 상기 사용자 인터페이스 (72)에서 사용자 입력 표시를 수신하고 그리고/또는 오디오, 비주얼, 기계적인 또는 다른 출력을 사용자에게 제공할 수 있을 것이다. 그처럼, 상기 사용자 인터페이스 (72)는, 예를 들면, 키보드, 마우스, 조이스틱, 디스플레이, 터치 스크린, 마이크로폰, 스피커 또는 다른 입력/출력 메커니즘을 포함할 수 있을 것이다. 상기 장치가 서버 또는 어떤 다른 네트워크 기기들로서 구현된 예시적인 일 실시예에서, 상기 사용자 인터페이스 (72)는 제한되거나 또는 제거될 수 있을 것이다. 그러나, 상기 장치가 모바일 단말 (예를 들면, 참조번호 110의 모바일 단말)로서 구현된 실시예에서는, 상기 사용자 인터페이스 (72)는 다른 기기들이나 엘리먼트들 중에서도 스피커, 마이크로폰, 디스플레이 그리고 키보드나 유사한 것 중의 어느 하나 또는 모두를 포함할 수 있을 것이다.
예시적인 실시예에서, 상기 프로세서 (70)는 심도 분석기 (78), 모션 분석기 (80), 타겟 추적기 (82) 그리고 제스처 인식기 (84)를 포함하거나, 포함하지 않는다면 제어하도록 구현될 수 있을 것이다. 상기 심도 분석기 (78), 모션 분석기 (80), 타겟 추적기 (82) 그리고 제스처 인식기 (84)는, 아래에서 설명되는 것과 같이, 심도 분석기 (78), 모션 분석기 (80), 타겟 추적기 (82) 그리고 제스처 인식기 (84) 각각의 대응 기능들을 수행하도록 구성된 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합 (예를 들면, 소프트웨어 제어 하에서 동작하는 프로세서 (70))으로 구현된 회로나 기기와 같은 임의의 수단일 수 있다. 예시적인 실시예에서, 상기 심도 분석기 (78), 모션 분석기 (80), 타겟 추적기 (82) 그리고/또는 제스처 인식기 (84) 각각은 미디어 캡쳐링 모듈 (예를 들면, 도 7의 카메라 모듈 (137))과 통신하여 아래에서 설명되는 것과 같이 분석에 있어서 사용될 이미지 데이터를 수신한다.
상기 심도 분석기 (78)는 각 프레임에 대해서 입력 이미지 데이터를 다양한 다른 심도 범위들 각각에 대응하는 데이터로 세그먼트하도록 구성될 수 있을 것이다. 상기 심도 분석기 (78)는 그러면 상기 다양한 다른 심도 범위들 각각에 대응하는 명암도 이미지들을 생성할 수 있을 것이다. 예시적인 실시예에서, 상기 심도 분석기 (78)는 심도 범위 전체를 많은 작은 간격들로, 예를 들면,
Figure pct00001
로 분리하도록 구성될 수 있을 것이다. 상기 간격들은 도 2에 도시된 것처럼 균일하지 않다. 상기 심도 분석기 (78)는 그러면 각 명암도 프레임
Figure pct00002
에 대해, 각 심도 범위
Figure pct00003
에 대한 대응 명암도 이미지
Figure pct00004
를 생성한다. 각 심도 범위에 대한 명암도 이미지들을 생성하는 것에 관하여, 대응하는 명암도 이미지에 대한 심도 범위에 있지 않은 임의 포인트에서의 명암도는 0으로 세팅된다. 그러므로, 각자의 심도 범위에서의 이미지 명암도만이 다양한 다른 심도 범위들에서의 각 명암도 이미지에게 제공된다.
(도 4a 내지 도 4i를 포함하는) 도 4는 하나의 프레임에 대한 다른 심도 범위들에서 상기 심도 분석기 (78)에 의해서 생성될 수 있을 심도 이미지들의 한 예를 도시한다. 이런 면에서, 도 4a는 아직은 상기 심도 분석기 (78)에 의해서 수정되지 않은 캡쳐된 명암도 이미지를 도시한다. 도 4b 내지 도 4i는 상기 캡쳐된 명암도 이미지를 생성하는 카메라로부터 가장 가까운 것 (도 4b)부터 상기 카메라에서 가장 멀리 (도 4i)까지 확장된 다양한 다른 범위들에서 생성된 명암도 이미지들을 보여준다. 도 4b에서, 상기 카메라에 가장 가까운 데이터를 나타내는 명암도 이미지는 상기 명암도 이미지에서 초점이 맞추어진 사람의 손을 탐지한다. 상기 손의 심도가 아닌 물체들을 나타내는 모든 이미지 데이터는 0으로 세팅되었다. 도 4c에서, 상기 명암도 이미지는 상기 명암도 이미지에서 상기 사람의 얼굴과 몸통의 개략적인 심도인 데이터를 표시하고 그리고 다른 심도들인 데이터를 0으로 세팅한다. 도 4d에서, 상기 명암도 이미지는 사람의 의자의 개략적인 심도인 데이터를 표시하고, 다른 모든 데이터는 0으로 세팅한다. 이 프로세스는 계속되어, 예를 들면, 도 4f에서 상기 명암도 이미지는 다른 사람의 의자의 개략적인 심도인 데이터를 표시하고 다른 모든 데이터를 0으로 세팅하며, 그리고 도 4h에서, 상기 명암도 이미지는 다른 사람의 뒤에 있는 워크 스테이션의 개략적인 심도에서 데이터를 표시하고, 다른 모든 데이터는 0으로 세팅한다. 예시적인 일 실시예에서, 상기 심도 분석기 (78)에 의해서 생성된 다중의 명암도 이미지들은 계속되는 프로세싱을 위해서 상기 모션 분석기 (80)로 전달될 수 있을 것이다.
상기 모션 분석기 (80)는 동일한 대응 심도 범위인 데이터의 인접 프레임들에 관계있는 각 심도 범위에서 데이터를 분석하도록 구성될 수 있을 것이다. 그러므로, 예를 들면, 하나의 프레임으로부터 다음의 프레임으로의 모션을 탐지하기 위해서, 상기 모션 분석기 (80)는 첫 번째 프레임 (예를 들면, 도 4b에서의 프레임)에 대한 명암도 이미지를, 동일한 심도 범위에서의 두 번째 프레임 (예를 들면, 인접한 프레임)과 비교한다. 상기에서 표시된 것처럼, 제스처를 생성하는 손은 다양한 다른 심도 범위들에서의 물체들보다 다음의 프레임들에서 더 많은 모션을 일으킬 것 같다. 그처럼, 예를 들면, 상기 명암도 이미지에서 초점이 맞추어진 사람이 상기 카메라에 제스처를 하면, 도 4b에서의 프레임에 (이전의 또는 이후의) 인접한 프레임은 다른 프레임들 (예를 들면, 도 4c 내지 도 4i의 프레임들)보다 더 모션 (또는 적어도 더 많은 모션)을 보일 것이며, 이는 다른 프레임들은 전혀 움직이지 않는 또는 적어도 상기 사람의 손에 비교하여 더 많은 움직임을 보여줄 것 같지 않은 물체들에 대응하는 데이터를 보여주기 때문이다.
예시의 일 실시예에서, 상기 모션 분석기 (80)는 현재의 프레임
Figure pct00005
그리고 이전의 프레임
Figure pct00006
사이의 각 심도 범위에 대한 이미지 차이
Figure pct00007
를 다음의 공식에 따라서 계산하도록 구성될 수 있을 것이다:
Figure pct00008
이 경우에 W 그리고 H 는 각각 이미지 폭과 높이며 그리고 다음의 식이 성립한다:
Figure pct00009
Figure pct00010
는 상대적인 모션으로서 간주될 수 있을 것이며 그리고 각 심도 범위에서 상기 모션
Figure pct00011
에 대한 예를 제공한다.
(도 5a 내지 도 5n을 포함하는) 도 5는 예시적인 실시예에 따른 상기 모션 분석기 (80)의 동작의 일 예를 도시한다. 이런 면에서, 도 5a는 이전 프레임에 대한 명암도 이미지를 보여주며, 도 5b는 현재 프레임에 대한 명암도 이미지를 보여준다. 도 5c 내지 도 5j는 상기 심도 분석기 (78)에 의해서 생성된 상기 현재의 프레임과 이전의 프레임 둘 다에 상대적인 4개의 상이한 심도 범위들 각각에서의 명암도 이미지들을 보여준다. 특히, 도 5c는 제1 심도 범위에서의 상기 이전 프레임에 대응하는 명암도 이미지를 표시한다. 도 5d는 제2 심도 범위에서 상기 이전의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5e는 제3 심도 범위에서 상기 이전의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5f는 제4 심도 범위에서 상기 이전의 프레임에 대응하는 명암도 이미지를 표시한다. 한편, 도 5g는 상기 제1 심도 범위에서 상기 현재의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5h는 상기 제2 심도 범위에서 상기 현재의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5i는 상기 제3 심도 범위에서 상기 현재의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5j는 상기 제4 심도 범위에서 상기 현재의 프레임에 대응하는 명암도 이미지를 표시한다. 도 5k 내지 도 5n은 상기 이전의 프레임으로부터 상기 현재의 프레임까지의 상대적인 모션을 표시하는 모션 분석기 (80)의 출력을 나타낸다. 특히, 도 5k는 상기 제1 심도 범위에서 상기 이전의 프레임으로부터 상기 현재의 프레임으로 어떤 모션도 없다는 것을 보여준다. 도 5l은 손이 상기 제3 심도 범위 (도 5e 참조)로부터 상기 제2 심도 범위 (도 5h 참조)로 이동했다는 점에서 상기 이전의 프레임으로부터 상기 현재의 프레임으로의 상대적인 모션이 있다는 것을 보여준다. 도 5m은 상기 손이 상기 제3 심도 범위를 떠나 상기 제2 심도 범위로 들어가는 것과 같이, 상기 이전의 프레임으로부터 상기 현재의 프레임으로, 상기 제3 심도 범위로의 모션이 거의 탐지되지 않은 것을 보여준다. 도 5n은 상기 현재 프레임과 상기 이전 프레임 사이에서 상기 제4 심도에서는 어떤 상대적인 모션도 본질적으로 존재하지 않는다는 것을 보여준다.
상기 모션 분석기 (80)에 의해서 수행되는 계산 절차로부터, 상대적인 모션
Figure pct00012
은 상기 현재 프레임의 특정 심도 범위에서 영 아닌 (non-zero) 픽셀들에만 관련된다는 것이 감지될 수 있을 것이다. 상기 영 아닌 픽셀들은 상기 특정 심도 범위에 위치한 물체들 (예를 들면, 상기 타겟 또는 다른 물체들)에 대응하기 때문에, 상대적인 모션
Figure pct00013
은 후보 타겟 심도를 찾기 위한 측정치로서 사용될 수 있을 것이다. 이런 면에서, 도 5k에서 최대의 상대적인 모션 (예를 들면, 상기 제2 심도 범위)을 보여주는 심도는 상기 타겟 (예를 들면, 손)이 상기 제2 심도 범위에 있다는 것을 나타낸다.
일부 실시예들에서, 절대적인 모션 역시, 예를 들면,
Figure pct00014
을 통해서 계산될 수 있을 것이다. 상기 절대적인 모션 계산은 어떤 심도 범위에서 모션이 발생했는가의 여부를 추정하기 위해서 사용될 수 있을 것이다. 모션 변이 (variation)의 표시를 제공하는 이런 두 개의 측정치들 (상대적인 모션 그리고 절대적인 모션)은 타겟 심도 판별에 있어서 추가적인 사용을 위해서 놓여질 수 있을 것이며, 이는 아래에서 아주 상세하게 설명된다.
각 심도 범위에 대해서 획득된 모션 변이 (motion variation)를 이용하여, 타겟과 다른 물체들을 구분하는 것이 가능할 수 있을 것이다. 몇몇의 경우들에서, 다른 물체로부터 상기 타겟을 구분하는데 있어서 도움을 주기 위해서, 위치, 비율 (scale) 등과 같은 하나 또는 그 이상의 큐들이 사용될 수 있을 것이다. 상기 타겟 추적기 (82)는, (예를 들면, 다양한 다른 심도 범위들에 대해서 인접한 프레임들 사이에서의 모션 변이를 기반으로 하여) 상기 타겟의 심도를 자동적으로 판별하도록 구성될 수 있을 것이다. 이런 면에서, 모션 변이가 상기에서 설명된 것처럼 판별되면, 상기 타겟 추적기 (82)는 가능한 심도 범위들 (예를 들면, 후보 심도 범위들) 중의 하나를, 대응하는 심도 범위에서 판별된 상대적인 모션을 기반으로 하여 그리고 있을 수 있는 추가적인 큐(들)를 또한 기반으로 하여, 상기 타겟 심도 범위로서 선택하도록 구성될 수 있을 것이다. 상기 타겟 추적기 (82)는 그러면 상기 대응 심도 범위의 상기 선택된 명암도 이미지로부터 상기 타겟을 추출하며 그리고 그 타겟을 추적할 수 있을 것이다.
예시적인 일 실시예에서, 상기 타겟 추적기 (82)는 다음의 동작을 수행하도록 구성될 수 있을 것이다:
이전의 프레임에서 판별된 타겟
Figure pct00015
의 심도 범위에서, 상기 이미지 차이
Figure pct00016
를 미리 정의된 문턱값 (threshold) T와 비교한다.
Figure pct00017
이면, 상기 타겟의 심도는 변하지 않은 것으로 여겨진다.
Figure pct00018
이면, 그러면 상기 타겟의 심도는 변한 것으로 여겨진다. 상기 타겟 모션의 연속성을 고려하면, 상기 타겟 추적기 (82)는
Figure pct00019
의 여러 개의 인접한 심도 범위들로부터 m 개의 후보 심도 범위들을 선택할 수 있을 것이다. 상기 타겟 추적기 (82)는 그러면 상기 심도 범위들을 상기 상대적인 모션
Figure pct00020
에 따라서 소팅할 수 있을 것이다. 그러면, 최상의 m개의
Figure pct00021
의 관점에서, 상기 대응 심도 범위들은 타겟 심도의 후보들로서 선택될 수 있을 것이다.
비-타겟 물체들은 그러면 상기 타겟의 심도 범위를 드러내기 위해서 제거될 수 있을 것이다. 이런 면에서, 예를 들면, 상기 타겟 추적기 (82)는, 타겟 위치를 얻기 위해서 다중의 제한들 (예를 들면, 위치 정보, 비율 (scale) 요소 그리고/또는 유사한 것)을 통합함으로서, 각 후보 심도에서 (
Figure pct00022
에 대응하는) 다중의 명암도 이미지들을 한 스텝 더 분석하도록 구성될 수 있을 것이다. 예시적인 실시예에서, 위치는 특정 물체 영역의 중심에 의해서 표시될 수 있을 것이다. 인접한 두 프레임들에 대해서, 타겟 영역의 비율 (scale) 및 위치는 크게 변하지는 않을 것이다. 그래서, 위치 변화는 어느 물체가 추적해야 할 타겟인지를 판별하기 위한 유효한 제한으로서 사용될 수 있을 것이다. 도 6에서 도시된 예에서, 어떤 심도 범위에서의 위치 변화는 현재 프레임에서의 물체의 중심과 이전 프레임에서의 상기 타겟 위치 사이의 거리로서 정의될 수 있을 것이다. 그러므로, 최소의 위치 변화에 대응하는 물체 그리고 유사한 비율이 상기 타겟이도록 판별된다. 따라서, 물체 심도는, 예를 들면, 도 6 (도 6f)의 바닥 행에 도시된 것과 같은 타겟의 거친 (coarse) 심도
Figure pct00023
인 것으로 여겨진다.
일단, 타겟의 심도 범위
Figure pct00024
가 판별되면, 연속적인 타겟 세그먼트화
Figure pct00025
를 이용하여 더욱 정밀한 타겟 심도가 제공될 수 있을 것이다. 이 경우에, n은 심도 범위
Figure pct00026
에 놓여있는 픽셀의 개수이다. 그러면, 타겟 픽셀들은 심도 제한
Figure pct00027
에 의해서 획득될 수 있을 것이며, 이 경우에
Figure pct00028
는 경험적인 문턱값 (threshold)이다.
상기 타겟 추적기 (82)는 심도 판별 프로세스 및 상기 타겟을 포함하는 상기 명암도 이미지를 세그먼트화하는 것을 통해서 상기 타겟 (예를 들면, 사용자의 손)을 추적하도록 구성될 수 있을 것이다. 손에 관한 제스처 인식을 가능하게 하기 위해서, 상기 손의 정확한 위치는 분석의 품질 그리고 결과인 출력을 향상시킬 수 있을 것이다. 손의 위치를 판별하기 위한 상기에서 설명된 메커니즘을 기반으로 하여, 제스처 탐지를 가능하게 하기 위해서 연속적인 프레임들을 통해서 손을 추적하는 것이 달성될 수 있을 것이다.
몇몇의 실시예들은 제스처 인식기 (84)를 또한 채택할 수 있을 것이며, 이는 상기 타겟과 연관된 특징들 그리고 특별하게 알려진 제스처와 연관된 특징들 사이에서의 제스처 매칭을 수행하도록 구성될 수 있을 것이다. 예를 들면, 현재의 제스처의 특징 비교를 위해서, 알려진 제스처들 그리고 그것들 각자의 특징들의 데이터베이스가 제공될 수 있다. 비교된 제스처들 사이에서의 유사성이 충분하면, 상기 제스처 인식기 (84)는 현재의 제스처를 상기 특별하게 알려진 제스처와 연관시킬 수 있을 것이며, 그럼으로써 현재의 제스처를 식별하거나 또는 인식한다.
예시적인 실시예에서, 알려진 제스처들의 상기 데이터베이스는 오프라인의 단계에서 사용자에 의해 (또는 다른 사람에 의해) 생성될 수 있을 것이다. 그러므로, 각 제스처에 대한 복수의 샘플들이 수집되어 제스처들의 갤러리를 구성할 수 있을 것이다. 예시적인 일 실시예에서, 크기의 정규화가 개시될 수 있을 것이며 그리고 각 샘플은 상기에서 설명된 방식에 따라서 특징 벡터 (feature vector)로 변환되어 매칭 목적들을 위해서 사용되기 위해 템플리트 (template)로서 기록될 수 있을 것이다. 인식된 제스처는 그 인식된 제스처와 연관된 특별한 명령을 트리거 하거나 또는 실행하게 하도록 활용될 수 있을 것이다. 이런 면에서, 예를 들면, 상기 제스처 인식기 (84)는 식별된 제스처의 신원을 프로세서 (70)에게 전달할 수 있을 것이며, 상기 프로세서 (70)는 대응하는 UI 명령을 (예를 들면, 사용자 인터페이스 (72)를 경유하여) 실행할 수 있을 것이다. 상기 명령은 UI 시스템이 대응하는 동작을 실행하도록 지시하기 위해서 사용될 수 있을 것이다.
(도 6a 내지 도 6f를 포함하는) 도 6은 타겟 심도 판별을 위한 전체 절차를 도시한 예를 보여준다. 도 6a는 이전의 프레임에 대한 명암도 이미지를 보여주며 그리고 도 6b는 현재의 프레임에 대한 명암도 이미지를 보여준다. 도 6c에 도시된 일련의 이미지들에서 보이는 것처럼, 상기 심도 분석기 (78)는 명암도 이미지들을 상기 이전 프레임에 관련하여 다양한 다른 심도들에 대한 상기 명암도 이미지들 각자의 심도 범위에 대해서 판별한다. 상기 심도 분석기 (78)는 명암도 이미지들을, 도 6d의 일련의 이미지들에서 보이는 것과 같은 상기 현재의 프레임에 관련하여 상기 명암도 이미지들 각자의 다양한 다른 심도들에 대해 상기 명암도 이미지들 각자의 심도 범위에 대해서 또한 판별한다. 상기 모션 분석기 (80)는 그러면 상기 현재의 프레임과 이전의 프레임 사이에서의 모션 변이를 도 6e에서의 일련의 이미지들에서 보이는 것과 같은 각 심도 범위에서 판별한다. 상기 타겟 추적기 (82)는 그러면 도 6f에서의 일련의 이미지들에서 보이는 것과 같은 각 심도 범위에 대해서 모션 및 위치 정보를 통합함으로써 타겟 심도 범위 판별을 수행한다. 도 6에 표시된 것처럼, 상기 타겟 (예를 들면, 상기 현재의 프레임 및 이전의 프레임에서 보이는 사람의 손)은 상기 이전의 프레임에서 심도 3에 위치한다. 그러나, 인접한 심도 범위들을 분석하는 것을 통해서, 상기 타겟의 새로운 위치가 현재 프레임에서 심도 4에 있는 것으로 판별된다. 심도 2에 있는 모션은 다른 물체 (이 경우에서는, 다른 사람의 손)로부터의 결과이며 그래서 위치 제한을 고려하여 심도 2에 있는 모션은 제거된다.
상기에서의 설명을 기반으로 하여, 본 발명의 실시예들은 효율적인 방법으로 강건하게 추적하는 것을 가능하게 하기 위해서 타겟 (예를 들면, 손)의 위치를 알아내기 위해서 이미지들을 세그먼트화하는 것을 제공할 수 있을 것이다. 따라서, 상대적으로 정밀한 추적 결과들 그리고 손 제스처 인식 속도가 개선될 수 있을 것이다. 3D 카메라를 사용하는 것은 3D 심도 데이터를 실시간으로 제공하는 것을 가능하게 하며, 이는 배경의 영향 그리고 제스처 인식 정밀도 상의 조명을 제거하거나 또는 실질적으로 감소시키기 위해서 본 발명의 실시예들에 의해서 사용될 수 있을 것이다. 심도 범위들을 파티션으로 하는 것은 각 프레임에 대한 상이한 심도들로 콘텐트를 분석하는 것에 관련하여 또한 도움을 줄 수 있을 것이다. 여기에서 설명된 상기 모션 계산은 각 심도 범위 내에서 물체 모션을 캡쳐하는 것을 가능하게 할 수 있을 것이며, 이 때에 상기 물체 모션은 상기 물체 그리고 다른 물체들의 모션들을 포함한다. 상이한 범위들에서 상기 모션들을 비교하고 그리고 복수의 유용한 큐들을 통합함으로써, 상기 타겟의 심도는 자동적으로 판별되어 손에서 추출하는 것을 가능하게 한다. 손의 정밀한 세그먼트화 그리고 추적 결과를 기반으로 하여, 제스처 인식 정밀도는 따라서 개선될 수 있다. 그러므로, 예를 들면, 추적 및 인식 성능이 개선될 수 있을 것이며 그리고 인터액션 유용성 역시 개선될 수 있을 것이다.
본 발명의 예시적인 실시예는, 적응적인 제스처 분석을 가능하게 하는 장치의 특정 엘리먼트들이 디스플레이되는 도 7을 참조하여 이제 설명될 것이다. 그처럼, 도 7은 본 발명의 예시적인 실시예들로부터 이득을 볼 수 있을 모바일 단말 (110)의 블록 도면을 도시한다. 그러나, 도시된 그리고 이하에서 설명되는 모바일 단말은 본 발명의 몇몇의 실시예들로부터 이득을 얻을 수 있을 모바일 단말의 한 유형을 단순하게 예시하는 것이며, 그러므로, 본 발명의 실시예들의 범위를 한정하는 것으로서 받아들여져서는 안 된다는 것을 이해하여야만 한다. 디지털 보조 장치 (PDA), 페이저, 모바일 텔레비전, 게이밍 기기들, 모든 유형의 컴퓨터들 (예를 들면, 랩탑 또는 모바일 컴퓨터들), 카메라, 오디오/비디오 플레이어, 라디오, 글로벌 포지셔닝 시스템 (GPS) 기기들 또는 전술할 것들의 임의 조합 그리고 다른 유형의 통신 시스템들과 같은 몇몇의 유형의 모바일 단말들은 본 발명의 실시예들을 쉽게 채택할 수 있다.
추가로, 본 발명의 방법의 몇 가지 실시예들이 모바일 단말 (110)에 의해서 또는 연결되어서 수행되거나 사용될 수 있을 것이지만, 상기 방법은 모바일 단말 (예를 들면, 개인용 컴퓨터 (PC), 서버 또는 유사한 것)이 아닌 기기들에 의해서 또는 연결되어서 채택될 수 있을 것이다. 또한, 본 발명의 실시예들의 시스템 및 방법은 모바일 통신 애플리케이션들과 함께 주로 설명될 수 있을 것이다. 그러나, 본 발명의 실시예들의 상기 시스템 및 방법은 모바일 통신 산업 그리고 모바일 통신 산업 외부의 모두에서 다양한 다른 애플리케이션들과 함께 활용될 수 있다는 것이 이해되어야만 한다.
상기 모바일 단말 (110)은 전송기 (114) 및 수신기 (116)와 통신할 수 있는 안테나 (112) (또는 다중의 안테나들)를 포함할 수 있을 것이다. 상기 모바일 단말 (110)은 상기 전송기 (114)로 신호들을 제공하고 그리고 수신기 (116)로부터 신호들을 수신하는 제어기 (120) (예를 들면, 프로세서 (70)) 또는 다른 프로세싱 엘리먼트와 같은 장치를 또한 포함할 수 있을 것이다. 상기 신호들은 이용 가능한 셀룰러 시스템의 공중 (air) 인터페이스 표준에 따른 시그날링 정보를 포함할 수 있을 것이며 그리고/또는 음성에 대응하는 데이터, 수신 데이터 및/또는 사용자 생성/전송 데이터를 또한 포함할 수 있을 것이다. 이런 면에서, 상기 모바일 단말 (110)은 하나 또는 그 이상의 공중 인터페이스 표준들, 통신 프로토콜들, 변조 유형 및 액세스 유형으로 동작할 수 있을 것이다. 예시로, 상기 모바일 단말 (110)은 1세대, 2세대, 3세대 및/또는 4세대 통신 프로토콜이나 유사한 것의 어느 하나에 따라서 동작할 수 있을 것이다. 예를 들면, 상기 모바일 단말 (110)은 2세대 (2G) 무선 통신 프로토콜 IS-136 (시분할 다중 액세스 (TDMA)), GSM (global system for mobile communication), 그리고 IS-95 (코드 분할 다중 액세스 (CDMA))에 따라서 또는 범용 모바일 원거리 통신 시스템 (Universal Mobile Telecommunications System (UMTS)), CDMA2000, 광대역 CDMA (WCDMA) 및 시분할-동기식 CDMA (TD-SCDMA)와 같은 3세대 (3G) 무선 통신 프로토콜들에 따라서, E-UTRAN (evolved- universal terrestrial radio access network)과 같은 3.9G 무선 통신 프로토콜에 따라서, 4세대 (4G) 무선 통신 프로토콜들이나 유사한 것에 따라서 동작할 수 있을 것이다. 대안으로서 (또는 추가로), 상기 모바일 단말 (110)은 비-셀룰러 통신 메커니즘에 따라서 동작할 수 있을 것이다. 예를 들면, 상기 모바일 단말 (110)은 무선 로컬 영역 네트워크 (WLAN) 또는 다른 통신 네트워크들에서 통신할 수 있을 것이다.
상기 제어기 (120)와 같은 장치는 다른 것들 중에서 상기 모바일 단말 (110)의 오디오/비디오 및 로직 기능들을 구현하기 위한 회로를 포함할 수 있을 것이 이해된다. 예를 들면, 상기 제어기 (120)는 디지털 시그널 프로세서 기기, 마이크로프로세서 기기 및 다양한 아날로그-디지털 컨버터들, 디지털-아날로그 컨버터들 그리고/또는 다른 지원 회로들을 포함할 수 있을 것이다. 상기 모바일 단말 (110)의 제어 및 시그널 프로세싱 기능들은 이런 기기들 각자의 기능들에 따라서 이런 기기들 사이에 할당될 수 있을 것이다. 상기 제어기 (120)는 그러므로 메시지 및 데이터를 변조하고 전송하기 이전에 인코딩하고 인터리빙하는 기능성을 또한 포함할 수 있을 것이다. 상기 제어기 (120)는 추가로 내부 음성 코더를 포함할 수 있을 것이며 그리고 내부의 데이터 모뎀을 포함할 수 있을 것이다. 또한, 상기 제어기 (120)는 메모리에 저장될 수 있을 하나 또는 그 이상의 소프트웨어 프로그램들을 동작시키기 위한 기능성을 포함할 수 있을 것이다. 예를 들면, 상기 제어기 (120)는 전통적인 웹 브라우저와 같은 접속 프로그램을 동작시킬 수 있을 것이다. 상기 접속 프로그램은 그러면 상기 모바일 단말 (110)이 위치-기반의 콘텐트 및/또는 다른 웹 페이지 콘텐트와 같은 웹 콘텐트를, 예를 들면, 무선 애플리케이션 프로토콜 (Wireless Application Protocol (WAP)), 하이퍼텍스트 전달 프로토콜 (Hypertext Transfer Protocol (HTTP)) 및/또는 유사한 것에 따라서 전송하고 수신하도록 허용할 수 있을 것이다.
상기 모바일 단말 (110)은, 상기 제어기 (120)에 작동 가능할 수 있도록 연결된 이어폰 또는 스피커 (124), 마이크로폰 (126), 디스플레이 (128) 및 사용자 입력 인터페이스와 같은 출력 기기를 구비하는 사용자 인터페이스를 또한 구비할 수 있을 것이다. 상기 모바일 단말 (110)이 데이터를 수신하도록 하는 상기 사용자 입력 인터페이스는, 키패드 (130), 터치 디스플레이 (도시되지 않음) 또는 다른 입력 기기와 같이 상기 모바일 단말 (110)이 데이터를 수신하도록 하는 몇몇의 기기들 중의 임의의 것을 포함할 수 있을 것이다. 상기 키패드 (130)를 포함하는 실시예들에서, 상기 키패드 (130)는 상기 모바일 단말 (110)을 동작시키기 위해서 사용되는 뉴메릭 키들 (0-9) 및 관련된 키들 (#, *) 그리고 다른 하드 키들 및 소프트 키들을 포함할 수 있을 것이다. 대안으로, 상기 키패드 (130)는 QWERTY 키패드 배치를 포함할 수 있을 것이다. 상기 키패드 (130)는 연관된 기능들을 구비한 다양한 소프트 키들을 또한 포함할 수 있을 것이다. 추가로, 또는 대안으로, 상기 모바일 단말 (110)은 조이스틱이나 다른 사용자 입력 입력 인터페이스와 같은 인터페이스 기기를 포함할 수 있을 것이다. 상기 모바일 단말 (110)은 탐지 가능한 출력으로서 기계적인 진동을 옵션으로 제공하는 것은 물론이고 상기 모바일 단말 (110)을 동작시키기 위해서 사용되는 다양한 회로들에 전력을 공급하기 위한 진동 배터리 팩과 같은 배터리 (134)를 추가로 포함한다.
상기 모바일 단말 (110)은 사용자 신원 모듈 (UIM) (138)을 또한 포함한다. 상기 UIM (138)은 내장된 프로세서를 구비한 메모리 기기인 것이 보통이다. 상기 UIM (138)은 예를 들면 가입자 신원 모듈 (subscriber identity module (SEVI)), 범용 집적 회로 카드 (universal integrated circuit card (UICC)), 범용 가입자 신원 모듈 (universal subscriber identity module (USIM)), 탈부착 가능한 사용자 신원 모듈 (removable user identity module (R-UEVI)) 등을 포함할 수 있을 것이다. 상기 UEVI (138)는 모바일 가입자에 관련된 정보 엘리먼트를 저장하는 것이 보통이다. 상기 UEVI (138)에 추가로, 상기 모바일 단말 (110)에는 메모리가 장착될 수 있을 것이다. 상기 모바일 단말 (10)은 휘발성 메모리 (140) 및/또는 비-휘발성 메모리 (142)를 포함할 수 있을 것이다. 예를 들면, 휘발성 메모리 (140)는 동적인 그리고/또는 정적인 RAN, 온-칩 또는 오프-칩 캐시 메모리 및/또는 유사한 것을 포함하는 랜덤 액세스 메모리 (RAM)를 구비할 수 있을 것이다. 내장되고 그리고/또는 탈부착 가능할 수 있는 비-휘발성 메모리 (142)는 예를 들면, 읽기-전용 메모리, 플래시 메모리, 자기 저장 기기 (예를 들면, 하드 디스크, 플로피 디스크 드라이브, 자기 테이프 등), 광학 디스크 드라이브 및/또는 매체, 비-휘발성 랜덤 액세스 메모리 (NVRAM) 및/또는 유사한 것을 구비할 수 있을 것이다. 휘발성 메모리 (140)와 같이 비-휘발성 메모리 (142)는 데이터 임시 저장을 위한 캐시 영역을 포함할 수 있을 것이다. 상기 메모리들은 상기 모바일 단말 (110)의 기능들을 구현하기 위해서 상기 모바일 단말 (110)에 의해서 사용되는 임의 개수의 정보 및 데이터를 저장할 수 있다. 예를 들면, 상기 메모리들은 상기 모바일 단말 (110)을 유일하게 식별할 수 있는 인터내셔널 모바일 장비 식별 (international mobile equipment identification (EVIEI)) 코드와 같은 식별자를 포함할 수 있다. 또한, 상기 메모리들은 셀 id 정보를 판별하기 위한 명령어들을 저장할 수 있을 것이다. 특히, 상기 메모리들은 상기 모바일 단말 (110)이 통신하고 있는 현재 셀의 신원, 즉, 셀 id 신원 또는 셀 id 정보를 판별하는 상기 제어기 (120)에 의해서 실행될 애플리케이션 프로그램을 저장할 수 있을 것이다.
예시적인 실시예에서, 상기 모바일 단말 (110)은 상기 제어기 (120)와 통신하는 카메라, 비디오 및/또는 오디오 모듈과 같은 미디어 캡쳐링 모듈을 포함할 수 있을 것이다. 상기 미디어 캡쳐링 모듈은 이미지, 비디오 및/또는 오디오를 저장, 디스플레이 또는 전송하기 위해서 캡쳐하는 임의의 수단이다. 예를 들면, 상기 미디어 캡쳐링 모듈이 카메라 모듈 (137)인 예시적인 실시예에서, 상기 카메라 모듈 (137)은 캡쳐된 이미지로부터 디지털 이미지 파일을 형성할 수 있는 디지털 카메라를 포함할 수 있을 것이다. 그처럼, 상기 카메라 모듈 (137)은 렌즈나 다른 광학 기기와 같은 모든 하드웨어 그리고 캡쳐된 이미지로부터 디지털 이미지 파일을 생성하기 위해서 필요한 소프트웨어를 포함할 수 있을 것이다. 예시적인 실시예에서, 상기 카메라 모듈 (137)은 심도와 명암도를 표시하는 3D 이미지 정보를 캡쳐할 수 있는 3D 카메라일 수 있다.
도 8은 본 발명의 몇몇 예시적인 실시예들에 따른 시스템, 방법 및 프로그램 제품의 흐름도이다. 상기 흐름도의 각 블록이나 단계 그리고 상기 흐름도의 모든 블록들의 조합은 하드웨어, 펌웨어 및/또는 하나 또는 그 이상의 컴퓨터 프로그램 명령어들을 포함하는 소프트웨어와 같은 다양한 수단에 의해서 구현될 수 있다. 예를 들면, 상기에서 설명된 하나 또는 그 이상의 절차들은 컴퓨터 프로그램 명령어들에 의해서 구체화될 수 있을 것이다. 이런 면에서, 상기에서 설명된 절차들을 구체화하는 상기 컴퓨터 프로그램 명령어들은 모바일 단말의 메모리 기기나 본 발명의 실시예를 채택한 다른 장치에 의해서 저장되고 그리고 상기 모바일 단말이나 다른 장치 내의 프로세서에 의해서 실행될 수 있을 것이다. 알 수 있을 것과 같이, 어떤 그러한 프로그램 명령어들은 컴퓨터나 다른 프로그램 가능한 장치 (즉, 하드웨어) 상으로 로드되어 기계를 생성하여, (예를 들면, 프로세서를 경유하여) 컴퓨터나 다른 프로그램 가능한 장치 상에서 실행되는 상기 명령어들이 상기 흐름도 블록(들) 또는 단계(들)에서 규정된 기능들을 구현하기 위한 수단을 생성하도록 한다. 이런 컴퓨터 프로그램 명령어들은 컴퓨터 (예를 들면, 프로세서 또는 다른 컴퓨팅 기기) 또는 다른 프로그램 가능한 장치에게 특별한 방식으로 기능하도록 지시할 수 있는 컴퓨터-독출가능 메모리에 또한 저장되어서, 상기 컴퓨터-독출가능 메모리에 저장된 상기 명령어들이 상기 흐름도 블록(들) 또는 단계(들)에서 규정된 기능을 구현하는 명령 수단을 포함하는 제조품을 생성하도록 한다. 상기 컴퓨터 프로그램 명령어들은 컴퓨터나 다른 프로그램 가능한 장치 상으로 로딩되어 일련의 동작 가능한 단계들이 컴퓨터나 다른 프로그램 가능한 장치 상에서 수행되어 컴퓨터로-구현된 프로세스를 생성하도록 하여, 컴퓨터나 다른 프로그램 가능한 장치 상에서 실행되는 명령어들이 상기 흐름도 블록(들) 또는 단계(들)에서 규정된 기능들을 구현하기 위한 단계들을 제공하도록 한다.
따라서, 상기 흐름도의 블록들이나 단계들은 상기 규정된 기능들을 수행하기 위한 수단들의 조합들, 상기 규정된 기능들을 수행하기 위한 단계들의 조합들 그리고 상기 규정된 기능들을 수행하기 위한 프로그램 명령 수단을 지원한다. 상기 흐름도의 하나 또는 그 이상의 블록들이나 단계들, 그리고 상기 흐름도 내의 블록들이나 단계들의 조합들은, 상기 규정된 기능들이나 단계들, 또는 특수 목적의 하드웨어와 컴퓨터 명령어들의 조합들을 수행하는 특수 목적의 하드웨어-기반의 컴퓨터 시스템들에 의해서 구현될 수 있을 것이라는 것이 또한 이해될 것이다.
이런 면에서, 예를 들면, 도 8에서 도시된 것과 같은 적응적인 제스처 분석을 제공하기 위한 방법의 한 가지 구현은 참조번호 200의 동작에서 거리 범위를 복수의 심도 범위들로 분할하고 그리고 참조번호 210에서 적어도 두 개의 이미지 프레임들에 대해서 복수의 명암도 이미지들을 생성하는 것을 포함할 수 있을 것이다. 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대한 대응 심도 범위에서 물체들의 존재를 나타내는 이미지 데이터를 제공한다. 상기 방법은 참조번호 220 동작에서 각 대응하는 심도 범위에 대해서 두 이미지 프레임들 사이에서의 모션 변이를 판별하고 그리고 참조번호 230의 동작에서 상기 모션 변이를 적어도 부분적으로 기반으로 하여 타겟의 심도를 판별하는 것을 또한 포함할 수 있을 것이다.
예시적인 실시예에서, 거리 범위를 분할하는 것은 가까운 거리 그리고 먼 거리에서, 상기 가까운 거리와 먼 거리 사이에서의 거리 간격들보다 더 넓은 거리 간격들을 선택하는 것을 포함할 수 있을 것이다. 일부 경우들에서, 복수의 명암도 이미지들을 생성하는 것은 인접한 프레임들에 대해서 또는 특정 프레임에 대한 각각의 대응 심도 범위에 대해서 복수의 명암도 이미지들을 생성하고, 현재 심도 범위에 있지 않은 물체들에 대응하는 데이터를 미리 정의된 값으로 세팅하고 그리고 상기 현재의 심도 범위에 대응하는 데이터를 보유하는 것을 포함할 수 있을 것이다. 예시적인 실시예에서, 모션 변이를 판별하는 것은 현재 프레임에서의 물체를 이전 프레임에서의 물체와 비교하여 상기 이전의 프레임으로부터 상기 현재의 프레임으로 명암도에 있어서의 변화를 판별하고 그리고 명암도에서의 변화를 나타내지 않는 데이터를 상기 미리 정의된 값으로 세팅하는 것을 포함할 수 있을 것이다. 몇몇의 실시예들에서, 타겟의 심도를 판별하는 것은 모션 변이를 타겟 위치 큐 정보와 통합한 것을 기반으로 하여 타겟 심도를 판별하는 것을 포함할 수 있을 것이다.
예시적인 일 실시예에서, 상기 방법은 옵션의 동작들을 또한 포함할 수 있을 것이며, 옵션 동작들의 몇몇의 예들이 도 8에 점선으로 도시된다. 이런 면에서, 예시적인 추가의 동작들은 상기 타겟의 심도를 판별한 것을 기반으로 하여 상기 타겟의 모션을 추적하는 것을 포함하는 참조번호 240의 동작을 포함할 수 있을 것이다. 몇몇 실시예들에서, 상기 방법은 상기 타겟의 제스처 특징들을 인식하는 것을 더 포함하며, 인식된 제스처를 기반으로 하여 참조번호 250의 동작에서 사용자 인터페이스 명령의 개시를 가능하게 할 수 있을 것이다.
예시적인 일 실시예에서, 상기 도 8의 방법을 수행하는 장치는 상기에서 설명된 동작들 (200 - 250)의 각각 또는 몇몇을 수행하도록 구성된 프로세서 (예를 들면, 참조번호 700의 프로세서)를 포함할 수 있을 것이다. 상기 프로세서는, 예를 들면, 하드웨어로 구현된 논리적인 기능들을 수행하고, 저장된 명령어들을 실행하며 또는 상기 동작들 각각을 수행하기 위한 알고리즘을 실행함으로써 상기 동작들 (200 - 250)을 수행하도록 구성될 수 있을 것이다. 대안으로, 상기 장치는 상기에서 설명된 동작들의 각각을 수행하기 위한 수단을 포함할 수 있을 것이다. 이런 면에서, 예시적인 실시예에 따라, 참조번호 200 - 250의 동작들을 수행하기 위한 수단의 예들은, 예를 들면, 프로세서 (70), 상기 심도 분석기 (78) 중 각자의 심도 분석기, 모션 분석기 (80), 타겟 추적기 (82) 및 제스처 인식기 (84), 또는 상기에서 설명된 것과 같은 제스처 인식, 손 추적 및 심도 판별을 제어하기 위해서 상기 프로세서에 의해서 실행되는 알고리즘을 포함할 수 있을 것이다.
본 발명이 속한 기술 분야에서의 통상의 지식을 가지고 상기의 설명들 및 연관된 도면들에서 제시된 교시들의 이점을 구비한 당업자의 마음에, 여기에서 제시된 본 발명의 많은 변형들 및 다른 실시예들이 떠오를 것이다. 그러므로, 본 발명은 개시된 특정 실시예들로 한정되는 것이 아니며 그리고 그 변형과 다른 실시예들은 첨부된 청구범위들의 범위 내에 포함되는 것으로 의도된 것이라는 것을 이해해야만 한다. 더욱이. 상기의 설명들 그리고 연관된 도면들이 엘리먼트들 및/또는 기능들의 특정의 예시적인 조합의 환경에서 예시적인 실시예들을 설명했지만, 첨부된 청구범위의 범위를 벗어나지 않으면서도 대안의 실시예들에 의해서 엘리먼트들 그리고/또는 기능들의 다른 조합들이 제공될 수 있다는 것을 인식해야만 한다. 이런 면에서, 예를 들면, 상기에서 명시적으로 설명된 것들과는 다른 엘리먼트들 및/또는 기능들의 상이한 조합들이, 첨부된 청구항들의 몇몇에서 제시될 수 있을 것과 같이 또한 예측된다. 비록 특별한 용어들이 여기에서 채택되었지만, 그 용어들은 일반적이며 설명하려는 의미로만 사용된 것이며, 한정하려는 목적으로 사용된 것은 아니다.

Claims (26)

  1. 거리 범위를 복수의 심도 (depth) 범위들로 분할하고;
    적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하며, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내며;
    각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하고; 그리고
    상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하는 것을 포함하는, 방법.
  2. 제1항에 있어서, 상기 거리 범위를 분할하는 것은,
    가까운 거리 그리고 먼 거리에서, 상기 가까운 거리와 먼 거리 사이에서의 거리 간격들보다 더 넓은 거리 간격들을 선택하는 것을 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 복수의 명암도 이미지들을 생성하는 것은 인접한 프레임들에 대한 복수의 명암도 이미지들을 생성하는 것을 포함하는, 방법.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서,
    상기 복수의 명암도 이미지들을 생성하는 것은, 특정 프레임에 대한 대응 심도 범위에 대해, 현재의 심도 범위에 있지 않은 물체들에 대응하는 데이터를 미리 정의된 값으로 세팅하고 그리고 상기 현재의 심도 범위에 대응하는 데이터는 유지하는 것을 포함하는, 방법.
  5. 제4항에 있어서,
    모션 변이를 판별하는 것은 현재의 프레임 내의 물체 데이터를 이전의 프레임 내의 물체 데이터와 비교하여 상기 이전의 프레임으로부터 상기 현재의 프레임으로의 명도에서의 변화를 판별하고 그리고 명도에서의 상기 변화를 나타내지 않는 데이터를 상기 미리 정의된 값으로 세팅하는 것을 포함하는, 방법.
  6. 제1항 내지 제5항 중의 어느 한 항에 있어서,
    타겟의 심도를 판별하는 것은 상기 모션 변이를 타겟 위치 큐 (cue) 정보와 통합한 것을 기반으로 하여 타겟 심도를 판별하는 것을 포함하는, 방법.
  7. 제1항 내지 제6항 중의 어느 한 항에 있어서, 상기 방법은,
    상기 타겟의 상기 심도를 판별한 것을 기반으로 하여 상기 타겟의 모션을 추적하는 것을 더 포함하는, 방법.
  8. 제7항에 있어서, 상기 방법은,
    상기 타겟의 제스처 특징들을 인식하여, 인식된 제스처를 기반으로 사용자 인터페이스의 개시를 가능하게 하는 것을 더 포함하는, 방법.
  9. 프로세서; 및
    메모리를 포함하는 장치로서,
    상기 메모리는 실행 가능한 명령어들을 포함하며,
    그 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    거리 범위를 복수의 심도 (depth) 범위들로 분할하게 하고;
    적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하게 하며, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내며;
    각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하게 하고; 그리고
    상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하게 하는 것을, 적어도 수행하도록 하는, 장치.
  10. 제9항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    가까운 거리 그리고 먼 거리에서, 상기 가까운 거리와 먼 거리 사이에서의 거리 간격들보다 더 넓은 거리 간격들을 선택하도록 하는 것을 적어도 수행하도록 하는, 장치.
  11. 제9항 또는 제10항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    인접한 프레임들에 대한 복수의 명암도 이미지들을 생성함으로써 상기 복수의 명암도 이미지들을 생성하도록 하는 것을 적어도 수행하도록 하는, 장치.
  12. 제9항 내지 제11항 중의 어느 한 항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    특정 프레임에 대한 대응 심도 범위에 대해, 현재의 심도 범위에 있지 않은 물체들에 대응하는 데이터를 미리 정의된 값으로 세팅하고 그리고 상기 현재의 심도 범위에 대응하는 데이터는 유지함으로써 상기 복수의 명암도 이미지들을 생성하도록 하는 것을 적어도 수행하도록 하는, 장치.
  13. 제12항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    현재의 프레임 내의 물체 데이터를 이전의 프레임 내의 물체 데이터와 비교하여 상기 이전의 프레임으로부터 상기 현재의 프레임으로의 명도에서의 변화를 판별하고 그리고 명도에서의 상기 변화를 나타내지 않는 데이터를 상기 미리 정의된 값으로 세팅함으로써 모션 변이를 판별하도록 하는 것을 적어도 수행하도록 하는, 장치.
  14. 제9항 내지 제13항 중의 어느 한 항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    상기 모션 변이를 타겟 위치 큐 (cue) 정보와 통합한 것을 기반으로 하여 타겟 심도를 판별함으로써 타겟의 심도를 판별하도록 하는 것을 적어도 수행하도록 하는, 장치.
  15. 제9항 내지 제14항 중의 어느 한 항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    상기 타겟의 상기 심도를 판별한 것을 기반으로 하여 상기 타겟의 모션을 추적하도록 하는 것을 적어도 수행하도록 하는, 장치.
  16. 제9항에 있어서,
    상기 메모리는 실행 가능한 명령어들을 더 포함하며,
    상기 명령어들이 상기 장치의 상기 프로세서에 공급되면 상기 장치로 하여금,
    상기 타겟의 제스처 특징들을 인식하도록 하여, 인식된 제스처를 기반으로 사용자 인터페이스의 개시를 가능하게 하도록 것을 적어도 수행하도록 하는, 장치.
  17. 저장된 컴퓨터-실행가능 프로그램 코드 명령어들을 구비한 적어도 하나의 컴퓨터-독출가능 저장 매체를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 컴퓨터-실행가능 프로그램 코드 명령어들은:
    거리 범위를 복수의 심도 (depth) 범위들로 분할하기 위한 제1 프로그램 코드 명령어들;
    적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하기 위한 제2 프로그램 코드 명령어들로서, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내는, 제2 프로그램 코드 명령어들;
    각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하기 위한 제3 프로그램 코드 명령어들; 그리고
    상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하기 위한 제4 프로그램 코드 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  18. 제17항에 있어서,
    상기 제1 프로그램 코드 명령어들은, 가까운 거리 그리고 먼 거리에서, 상기 가까운 거리와 먼 거리 사이에서의 거리 간격들보다 더 넓은 거리 간격들을 선택하기 위한 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  19. 제17항 또는 제18항에 있어서,
    상기 제2 프로그램 코드 명령어들은 인접한 프레임들에 대한 복수의 명암도 이미지들을 생성하기 위한 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  20. 제17항 내지 제19항 중의 어느 한 항에 있어서,
    상기 제2 프로그램 코드 명령어들은, 특정 프레임에 대한 대응 심도 범위에 대해, 현재의 심도 범위에 있지 않은 물체들에 대응하는 데이터를 미리 정의된 값으로 세팅하고 그리고 상기 현재의 심도 범위에 대응하는 데이터는 유지하기 위한 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  21. 제20항에 있어서,
    상기 제3 프로그램 코드 명령어들은, 현재의 프레임 내의 물체 데이터를 이전의 프레임 내의 물체 데이터와 비교하여 상기 이전의 프레임으로부터 상기 현재의 프레임으로의 명도에서의 변화를 판별하고 그리고 명도에서의 상기 변화를 나타내지 않는 데이터를 상기 미리 정의된 값으로 세팅하기 위한 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  22. 제17항 내지 제21항 중의 어느 한 항에 있어서,
    상기 제4 프로그램 코드 명령어들은 상기 모션 변이를 타겟 위치 큐 (cue) 정보와 통합한 것을 기반으로 하여 타겟 심도를 판별하기 위한 명령어들을 포함하는, 컴퓨터 프로그램 제품.
  23. 제17항 내지 제22항 중의 어느 한 항에 있어서,
    상기 타겟의 상기 심도를 판별한 것을 기반으로 하여 상기 타겟의 모션을 추적하기 위한 제5 프로그램 코드 명령어들을 더 포함하는, 컴퓨터 프로그램 제품.
  24. 제23항에 있어서,
    상기 타겟의 제스처 특징들을 인식하여, 인식된 제스처를 기반으로 사용자 인터페이스의 개시를 가능하게 하는, 제6 프로그램 코드 명령어들을 더 포함하는, 컴퓨터 프로그램 제품.
  25. 거리 범위를 복수의 심도 (depth) 범위들로 분할하기 위한 수단;
    적어도 두 개의 이미지 프레임들에 대해 복수의 명암도 (intensity) 이미지들을 생성하기 위한 수단으로서, 상기 명암도 이미지들 각각은 각자의 이미지 프레임에 대해 대응하는 심도 범위에 물체들이 존재한다는 것을 나타내는, 생성 수단;
    각 대응 심도 범위에 대해 상기 두 개의 이미지 프레임들 사이에서의 모션 변이 (variation)를 판별하기 위한 수단; 그리고
    상기 모션 변이의 일부를 적어도 기반으로 하여 타겟의 심도를 판별하기 위한 수단을 포함하는, 장치.
  26. 제25항에 있어서,
    상기 복수의 명암도 이미지들을 생성하기 위한 수단은,
    특정 프레임에 대한 대응 심도 범위에 대해, 현재의 심도 범위에 있지 않은 물체들에 대응하는 데이터를 미리 정의된 값으로 세팅하고 그리고 상기 현재의 심도 범위에 대응하는 데이터는 유지하는 수단을 포함하는, 장치.
KR1020117012219A 2008-10-30 2009-10-27 적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터-독출가능 저장 매체 KR101300400B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/261,108 US8325978B2 (en) 2008-10-30 2008-10-30 Method, apparatus and computer program product for providing adaptive gesture analysis
US12/261,108 2008-10-30
PCT/IB2009/007243 WO2010049790A1 (en) 2008-10-30 2009-10-27 Method, apparatus and computer program product for providing adaptive gesture analysis

Publications (2)

Publication Number Publication Date
KR20110090973A true KR20110090973A (ko) 2011-08-10
KR101300400B1 KR101300400B1 (ko) 2013-08-26

Family

ID=42128320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117012219A KR101300400B1 (ko) 2008-10-30 2009-10-27 적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터-독출가능 저장 매체

Country Status (6)

Country Link
US (1) US8325978B2 (ko)
EP (1) EP2344983B1 (ko)
KR (1) KR101300400B1 (ko)
CN (1) CN102257511B (ko)
TW (1) TWI489397B (ko)
WO (1) WO2010049790A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150028623A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 영상 처리 방법 및 영상 처리 장치
KR101526425B1 (ko) * 2014-02-21 2015-06-05 현대자동차 주식회사 제스처 인식 장치 및 제스처 인식 방법
US9921657B2 (en) 2014-03-28 2018-03-20 Intel Corporation Radar-based gesture recognition
WO2023229185A1 (ko) * 2022-05-26 2023-11-30 삼성전자주식회사 전자 장치 및 그 영상 처리 방법

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660300B2 (en) * 2008-12-12 2014-02-25 Silicon Laboratories Inc. Apparatus and method for optical gesture recognition
US9652030B2 (en) 2009-01-30 2017-05-16 Microsoft Technology Licensing, Llc Navigation of a virtual plane using a zone of restriction for canceling noise
US9383823B2 (en) * 2009-05-29 2016-07-05 Microsoft Technology Licensing, Llc Combining gestures beyond skeletal
US20110074675A1 (en) * 2009-09-29 2011-03-31 Nokia Corporation Method and apparatus for initiating a feature based at least in part on the tracked movement
US8351651B2 (en) * 2010-04-26 2013-01-08 Microsoft Corporation Hand-location post-process refinement in a tracking system
US8964004B2 (en) 2010-06-18 2015-02-24 Amchael Visual Technology Corporation Three channel reflector imaging system
US20120016641A1 (en) 2010-07-13 2012-01-19 Giuseppe Raffa Efficient gesture processing
US8605136B2 (en) * 2010-08-10 2013-12-10 Sony Corporation 2D to 3D user interface content data conversion
WO2012051747A1 (en) 2010-10-18 2012-04-26 Nokia Corporation Method and apparatus for providing hand detection
US20120131513A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Gesture Recognition Training
US9785335B2 (en) 2010-12-27 2017-10-10 Sling Media Inc. Systems and methods for adaptive gesture recognition
CN103299342B (zh) * 2010-12-31 2017-02-15 诺基亚技术有限公司 提供用于姿势识别的机制的方法和装置
WO2012120521A1 (en) * 2011-03-04 2012-09-13 Hewlett-Packard Development Company, L.P. Gestural interaction identification
WO2012132531A1 (ja) * 2011-03-25 2012-10-04 日本電気株式会社 映像処理システムと映像処理方法、映像処理装置及びその制御方法と制御プログラムを格納した記憶媒体
US9094813B2 (en) * 2011-04-02 2015-07-28 Open Invention Network, Llc System and method for redirecting content based on gestures
US8648808B2 (en) * 2011-09-19 2014-02-11 Amchael Visual Technology Corp. Three-dimensional human-computer interaction system that supports mouse operations through the motion of a finger and an operation method thereof
WO2013048469A1 (en) 2011-09-30 2013-04-04 Intel Corporation Detection of gesture data segmentation in mobile devices
KR101305694B1 (ko) * 2011-10-20 2013-09-09 엘지이노텍 주식회사 목표물을 검출하기 위한 영상 처리 방법, 장치, 사용자 인터페이스를 위한 방법 및 장치
US9019352B2 (en) 2011-11-21 2015-04-28 Amchael Visual Technology Corp. Two-parallel-channel reflector with focal length and disparity control
TWI494865B (zh) * 2011-11-29 2015-08-01 Univ Nat Cheng Kung 從深度資訊中截取目標物的方法
TWI488068B (zh) * 2012-03-20 2015-06-11 Acer Inc 手勢控制方法及裝置
US9019603B2 (en) 2012-03-22 2015-04-28 Amchael Visual Technology Corp. Two-parallel-channel reflector with focal length and disparity control
CN103365401B (zh) * 2012-03-29 2016-08-10 宏碁股份有限公司 手势控制方法及装置
US9239624B2 (en) * 2012-04-13 2016-01-19 Nokia Technologies Oy Free hand gesture control of automotive user interface
US8830171B2 (en) 2012-05-22 2014-09-09 Eminent Electronic Technology Corporation Apparatus for non-contact 3D hand gesture recognition with code-based light sensing
WO2013176660A1 (en) * 2012-05-23 2013-11-28 Intel Corporation Depth gradient based tracking
US9557634B2 (en) 2012-07-05 2017-01-31 Amchael Visual Technology Corporation Two-channel reflector based single-lens 2D/3D camera with disparity and convergence angle control
KR20140063272A (ko) * 2012-11-16 2014-05-27 엘지전자 주식회사 영상표시장치, 및 그 동작방법
US9804576B2 (en) 2013-02-27 2017-10-31 Rockwell Automation Technologies, Inc. Recognition-based industrial automation control with position and derivative decision reference
US9798302B2 (en) 2013-02-27 2017-10-24 Rockwell Automation Technologies, Inc. Recognition-based industrial automation control with redundant system input support
US9498885B2 (en) 2013-02-27 2016-11-22 Rockwell Automation Technologies, Inc. Recognition-based industrial automation control with confidence-based decision support
US9393695B2 (en) * 2013-02-27 2016-07-19 Rockwell Automation Technologies, Inc. Recognition-based industrial automation control with person and object discrimination
US9183639B2 (en) * 2013-09-26 2015-11-10 Intel Corporation Image frame processing including usage of acceleration data in assisting object location
CN104506768A (zh) * 2014-11-28 2015-04-08 广东欧珀移动通信有限公司 图像选择方法、装置及终端
US10708577B2 (en) * 2015-12-16 2020-07-07 Facebook Technologies, Llc Range-gated depth camera assembly
US9898143B2 (en) 2015-12-24 2018-02-20 Intel Corporation Predicting touch events to improve touchscreen usage accuracy
CN107818554B (zh) * 2016-09-12 2023-04-21 索尼公司 信息处理设备和信息处理方法
CN106648063B (zh) * 2016-10-19 2020-11-06 北京小米移动软件有限公司 手势识别方法及装置
KR102619972B1 (ko) 2018-06-26 2024-01-03 어플라이드 머티어리얼스, 인코포레이티드 온도를 측정하기 위한 방법 및 장치
US11543296B2 (en) 2019-05-31 2023-01-03 Applied Materials, Inc. Method and apparatus for calibration of substrate temperature using pyrometer
US11276250B2 (en) * 2019-10-23 2022-03-15 International Business Machines Corporation Recognition for overlapped patterns
CN112613355B (zh) * 2020-12-07 2022-07-26 北京理工大学 一种基于寻岛算法的手势分割方法
CN115616928A (zh) * 2022-10-21 2023-01-17 广州视声智能股份有限公司 基于人工智能的控制面板控制方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028981A (en) 1991-09-02 2000-02-22 Canon Kabushiki Kaisha Image recording apparatus
US6002808A (en) * 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
US7050646B2 (en) * 1999-12-10 2006-05-23 British Telecommunications Public Limited Company Image processing system and method for image segmentation using intensity contrast and depth contrast values
US7227526B2 (en) * 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7274800B2 (en) * 2001-07-18 2007-09-25 Intel Corporation Dynamic gesture recognition from stereo sequences
CN100367809C (zh) * 2002-01-18 2008-02-06 英业达股份有限公司 动作辨识系统及其方法
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
JP4546956B2 (ja) * 2003-06-12 2010-09-22 本田技研工業株式会社 奥行き検出を用いた対象の向きの推定
US7308112B2 (en) * 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
JP4645356B2 (ja) * 2005-08-16 2011-03-09 ソニー株式会社 映像表示方法、映像表示方法のプログラム、映像表示方法のプログラムを記録した記録媒体及び映像表示装置
CN101166237B (zh) * 2006-10-19 2011-02-16 华晶科技股份有限公司 利用影像辨识技术的自动拍摄方法和数字影像检索装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150028623A (ko) * 2013-09-06 2015-03-16 삼성전자주식회사 영상 처리 방법 및 영상 처리 장치
KR101526425B1 (ko) * 2014-02-21 2015-06-05 현대자동차 주식회사 제스처 인식 장치 및 제스처 인식 방법
US9921657B2 (en) 2014-03-28 2018-03-20 Intel Corporation Radar-based gesture recognition
WO2023229185A1 (ko) * 2022-05-26 2023-11-30 삼성전자주식회사 전자 장치 및 그 영상 처리 방법

Also Published As

Publication number Publication date
KR101300400B1 (ko) 2013-08-26
CN102257511B (zh) 2014-08-06
EP2344983A1 (en) 2011-07-20
TW201019239A (en) 2010-05-16
EP2344983B1 (en) 2019-08-28
EP2344983A4 (en) 2017-07-19
US8325978B2 (en) 2012-12-04
CN102257511A (zh) 2011-11-23
WO2010049790A1 (en) 2010-05-06
US20100111358A1 (en) 2010-05-06
TWI489397B (zh) 2015-06-21

Similar Documents

Publication Publication Date Title
KR101300400B1 (ko) 적응적인 제스처 분석을 위한 방법, 장치 및 컴퓨터-독출가능 저장 매체
EP2374089B1 (en) Method, apparatus and computer program product for providing hand segmentation for gesture analysis
US9128526B2 (en) Operation control device, operation control method, and computer-readable recording medium for distinguishing an intended motion for gesture control
US7877706B2 (en) Controlling a document based on user behavioral signals detected from a 3D captured image stream
EP3086206B1 (en) Method, apparatus and computer program product for providing gesture analysis
CN105229582B (zh) 基于近距离传感器和图像传感器的手势检测
CN104350509B (zh) 快速姿势检测器
AU2013300316B2 (en) Method and system for tagging information about image, apparatus and computer-readable recording medium thereof
US9733713B2 (en) Laser beam based gesture control interface for mobile devices
US10108270B2 (en) Real-time 3D gesture recognition and tracking system for mobile devices
CN105045399B (zh) 一种具有3d摄像组件的电子设备
CN104487915A (zh) 维持扩增的连续性
WO2014189685A1 (en) Motion-assisted visual language for human computer interfaces
US20140362002A1 (en) Display control device, display control method, and computer program product
US8917957B2 (en) Apparatus for adding data to editing target data and displaying data
KR20140111341A (ko) Ocr 캐시 업데이트
CN103105924A (zh) 人机交互方法和装置
CN113168221A (zh) 信息处理设备、信息处理方法和程序
KR20090111913A (ko) 모션 검출 방법 및 장치
JP2006244272A (ja) 手位置追跡方法、装置、およびプログラム
Neto et al. Real-time head pose estimation for mobile devices
CN116580707A (zh) 基于语音生成动作视频的方法和装置
US9761009B2 (en) Motion tracking device control systems and methods
JP2005321966A (ja) インタフェース方法、装置、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190718

Year of fee payment: 7