KR20140043384A - 관점 오브젝트 선택 - Google Patents

관점 오브젝트 선택 Download PDF

Info

Publication number
KR20140043384A
KR20140043384A KR1020137032779A KR20137032779A KR20140043384A KR 20140043384 A KR20140043384 A KR 20140043384A KR 1020137032779 A KR1020137032779 A KR 1020137032779A KR 20137032779 A KR20137032779 A KR 20137032779A KR 20140043384 A KR20140043384 A KR 20140043384A
Authority
KR
South Korea
Prior art keywords
optical flow
optical
video data
region
user
Prior art date
Application number
KR1020137032779A
Other languages
English (en)
Other versions
KR101881529B1 (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 KR20140043384A publication Critical patent/KR20140043384A/ko
Application granted granted Critical
Publication of KR101881529B1 publication Critical patent/KR101881529B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

오브젝트를 선택하는 것과 같은 소정의 사용자-행동을 인식하기 위해 광학 흐름 분석을 활용하도록 착용가능 컴퓨터에 의해 구현될 수 있는 예시적인 방법 및 시스템이 제공된다. 예시적인 방법은, 착용가능 컴퓨팅 디바이스가, (a) 착용가능 컴퓨팅 디바이스의 비디오 카메라로부터 비디오 데이터를 수신하는 것, (b) 비디오 데이터에 대한 광학 흐름을 결정하는 것, (c) 비디오 데이터에 대한 광학 흐름 내의 영역에서 광학 흐름 차가 존재하는 지를 결정하는 것, (d) 영역에서 광학 흐름 차가 존재한다는 결정에 응답하여, (i) 광학 흐름 차가 존재하는 영역에 위치하는 오브젝트를 식별하는 것, (ii) 오브젝트에 관해 검색을 수행하는 것, 그리고 (iii) 검색으로부터의 결과들에 대응하는 정보를 그래픽 디스플레이로 하여금 디스플레이하도록 하는 것을 포함할 수 있다.

Description

관점 오브젝트 선택{POINT-OF-VIEW OBJECT SELECTION}
관련 출원
본 출원은 미국 특허 출원 번호 제13/105,828호(출원일: 2011년 5월 11일, 발명의 명칭: "Point-of-View Object Selection")에 대한 우선권을 주장하며, 그 내용 전체는 사실상 참조로 본 명세서에 통합된다.
개인용 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 셀률러 폰, 무수한 타입의 인터넷-가능 디바이스와 같은 컴퓨팅 디바이스가 현대 생활의 수많은 측면에서 점점 더 널리 퍼지고 있다. 컴퓨터가 더욱 진보함에 따라, 컴퓨터-발생 정보를 물리적 세계의 사용자의 지각과 융합시키는 증강-현실 디바이스(augmented-reality devices)가 더욱 널리 사용될 것으로 예측된다.
증강 현실 경험을 제공하기 위해서는, 사용자가 일상 생활의 다양한 측면들에서 활동하기 때문에, 위치 및 상황-인식 컴퓨팅 디바이스(location and context-aware computing devices)가 사용자에 의해 착용될 수 있다. 일반적으로 "착용가능(wearable)" 컴퓨터로서 지칭되는 이러한 컴퓨팅 디바이스는 사용자의 환경을 감지 및 분석하도록 구성되며, 사용자가 경험하고 있는 물리적 세계에 적합한 정보를 지능적으로 제공하도록 구성된다.
착용가능 컴퓨터는, 예를 들어, 사용자의 지리적 위치를 결정하는 것, 사용자와 가까운 오브젝트들을 검출하기 위해 카메라들 및/또는 센서들을 사용하는 것, 사용자가 청취하는 것을 검출하기 위해 마이크로폰들 및/또는 센서들을 사용하는 것, 그리고 사용자 주변의 환경에 대한 정보를 수집하기 위해 다양한 다른 센서들을 사용하는 것을 행함으로써 사용자의 주변환경을 감지할 수 있다. 더욱이, 착용가능 컴퓨터들은 사용자 자신의 물리적 상태를 검출하기 위해 바이오센서(biosensor)들을 사용할 수 있다. 착용가능 컴퓨터에 의해 수집된 정보는 이후, 어떤 정보가 사용자에게 제공돼야만 하는지를 결정하기 위해 분석될 수 있다.
다수의 착용가능 컴퓨터들은 사용자에 의해 착용되는 헤드-마운티드 디스플레이(Head-Mounted Display, HMD)를 포함하거나 혹은 HMD의 형태를 취할 수 있다. HMD는 전형적으로, 사용자의 눈 가까이 헤즈-업 디스플레이(heads-up display)를 제공한다. 이에 따라, HMD는 또한 "니어-아이(near-eye)" 디스플레이로서 지칭될 수 있다. HMD들은 사용자에 의해 지각되는 물리적 세계 위에 컴퓨터 발생 그래픽들(computer-generated graphics)(예를 들어, 텍스트(text), 이미지(images), 비디오(video) 등)을 오버레이(overlay)시킬 수 있다. 사용자의 양쪽 눈 앞에 디스플레이를 포함하는 HMD는 "쌍안(binocular)" HMD로서 지칭되는 반면, 단지 한쪽 눈 앞에만 디스플레이를 포함하는 HMD는 "단안(monocular)" HMD로서 지칭된다.
HDM들은 여러 가지 기법들을 사용해서 물리적 세계의 사용자의 시야에 컴퓨터-발생 그래픽들을 통합시킬 수 있다. 예를 들어, "투시형(see-through)" HMD들은 투명한 표면 상에 그래픽들을 디스플레이할 수 있고, 이에 따라 사용자는 물리적 세계 위에 오버레이되는 그래픽들을 보게 된다. 반면에, "씨-어라운드(see-around)" HMD들은 사용자 양쪽 눈 간의 비젼(vision)의 공유를 활용하기 위해, 그리고 사용자에 의해 관측되는 세계의 일부분이 되는 디스플레이의 효과를 발생시키기 위해, 불투명한 디스플레이를 사용자의 눈 가까이 배치시킴으로써 물리적 세계 위에 그래픽들을 오버레이시킬 수 있다.
일 실시형태에서, 예시적 방법은 착용가능 컴퓨터 혹은 다른 디바이스가, (a) 비디오 데이터(video data)를 수신하는 것; (b) 비디오 데이터에 대한 광학 흐름(optical flow)을 결정하는 것; (c) 비디오 데이터에 대한 광학 흐름 내의 영역에서 광학 흐름 차(optical-flow differential)가 존재하는 지를 결정하는 것; 그리고 (d) 광학 흐름 내의 영역에서 광학 흐름 차가 존재한다는 결정에 응답하여, (i) 광학 흐름 차가 존재하는 영역에 위치하는 오브젝트(object)를 식별하는 것; (ii) 광학 흐름 차가 존재하는 영역에 위치하는 오브젝트에 관해 검색을 수행하는 것; 그리고 (iii) 검색으로부터의 결과들에 대응하는 정보를 그래픽 디스플레이(graphical display)로 하여금 디스플레이하도록 하는 것을 포함할 수 있다.
예시적 실시예에서, 광학 흐름 차는 착용가능 컴퓨팅 디바이스의 사용자의 소정의 사용자-행동(predetermined user-action)의 특징을 나타낼 수 있다. 예를 들어, 광학 흐름 차는 사용자가 오브젝트 둘레로 실질적으로 원형 경로를 따라 움직임에 따라 오브젝트가 사용자의 관측 시야(field of view) 내에서 실질적으로 동일한 위치에 있게 되는 특징을 나타낼 수 있다. 또 다른 예로서, 광학 흐름 차는 오브젝트가 회전하는 동안 오브젝트를 주시(fixation)하는 특징을 나타낼 수 있다. 이러한 실시예들에서, 비디오 데이터에 대한 광학 흐름 내의 영역에서 광학 흐름 차가 존재하는 지를 결정하는 것은, (i) 영역 내의 광학 흐름이 영역 외부의 광학 흐름과는 실질적으로 다른 크기(magnitude)를 갖는 지를 결정하는 것과, 그리고 (ii) 비디오 데이터에 대한 광학 흐름의 적어도 일부분이, 오브젝트의 선택과 관련된 소정의 사용자-행동의 특징을 나타내는 곡률(curvature)을 갖는 지를 결정하는 것을 포함할 수 있다.
또 다른 실시형태에서, 명령들이 저장된 비일시적 컴퓨터 판독가능 매체가 개시된다. 이러한 명령들은, (a) 비디오 데이터를 수신하기 위한 명령들; (b) 비디오 데이터에 대한 광학 흐름을 결정하기 위한 명령들; (c) 비디오 데이터에 대한 광학 흐름 내의 영역에서 광학 흐름 차가 언제 존재하는 지를 결정하기 위한 명령들; (d) 광학 흐름 차가 존재한다는 결정에 응답하여, 광학 흐름 차가 존재하는 영역에 위치하는 비디오 데이터에서의 오브젝트를 식별하기 위한 명령들; (e) 광학 흐름 차가 존재하는 영역에 위치하는 오브젝트에 관해 검색이 수행되도록 하기 위한 명령들; 그리고 (f) 검색으로부터의 결과들에 대응하는 정보를 그래픽 디스플레이로 하여금 디스플레이하도록 하는 명령들을 포함할 수 있다.
또 다른 실시형태에서, 착용가능 컴퓨팅 시스템이 개시된다. 착용가능한 컴퓨팅 시스템은, (a) 헤드-마운티드 디스플레이에 대한 인터페이스(여기서, 헤드-마운티드 디스플레이는 사용자의 관점(point-of-view)에 관한 컴퓨터-발생 정보를 디스플레이하도록 구성됨); (b) 사용자의 관점을 실질적으로 추적(track)하도록 구성된 비디오 데이터 카메라에 대한 인터페이스; 그리고 (c) 온 보드 컴퓨팅 시스템(on-board computing system)을 포함할 수 있으며, 여기서 온 보드 컴퓨팅 시스템은, (i) 비디오 카메라로부터 비디오 데이터에 대한 광학 흐름을 결정하는 것; (ii) 비디오 데이터에 대한 광학 흐름 내의 영역에서 광학 흐름 차가 언제 존재하는 지를 결정하는 것; (iii) 광학 흐름 차가 존재한다는 결정에 응답하여, 광학 흐름 차가 존재하는 영역에 위치하는 비디오 데이터에서의 오브젝트를 식별하는 것; (iv) 광학 흐름 차가 존재하는 영역에 위치하는 오브젝트에 관해 검색을 수행하는 것; 그리고 (v) 검색으로부터의 결과들에 대응하는 그래픽 정보를 헤드-마운티드 디스플레이로 하여금 디스플레이하도록 하는 것을 수행하도록 구성된다.
이러한 실시형태뿐만 아니라 다른 실시형태, 이점, 그리고 대안물은 첨부되는 도면을 적절히 참조하여 다음의 상세한 설명을 숙독함으로써 본 발명의 기술분야에서 통상의 기술을 가진 자들에게 명백하게 될 것이다.
도 1은 착용가능 컴퓨팅 디바이스의 예시적인 실시예가 구현될 수 있는 시스템을 나타낸 간략화된 블록도이다.
도 2a는 헤드-마운티드 디스플레이의 형태를 취하는 예시적인 착용가능 컴퓨팅 디바이스의 삼차원 렌더링(three-dimensional rendering)이다.
도 2b는 헤드-마운티드 디스플레이를 포함하는 착용가능 컴퓨터의 사용자에 의해 지각될 수 있는 바와 같은 장면의 이미지이다.
도 2c는 예시적인 착용가능 컴퓨팅 디바이스의 컴포넌트들을 더 상세히 보여주는 간략화된 블록도이다.
도 3은 예시적인 광학-흐름 필드(optical-flow field)를 나타낸 것이다.
도 4a는 예시적인 방법이 사용자의 시야 내에서 특정 오브젝트의 선택으로서 인식할 수 있는 소정의 사용자-행동을 나타낸 것이다.
도 4b는 도 4a에 의해 예시된 사용자-행동에 대응하는 예시적인 광학-흐름 필드를 나타낸다.
도 5a는 예시적인 방법이 사용자의 시야 내에서 특정 오브젝트의 선택으로서 인식할 수 있는 소정의 사용자-행동을 나타낸 또 다른 예이다.
도 5b는 도 5a에 의해 예시된 사용자-행동에 대응하는 예시적인 광학-흐름 필드를 나타낸다.
도 6은 예시적인 실시예에 따른 방법을 나타낸 흐름도이다.
도 7은 도 4b에 제시된 바와 유사한 광학 흐름 차를 갖는 광학 흐름 필드로부터의 광학-흐름 벡터들의 분포를 나타내는 히스토그램이다.
도 8은 도 4b에 제시된 바와 유사한 광학 흐름 차를 갖는 광학 흐름 필드로부터의 광학-흐름 벡터들의 분포를 나타내는 또 다른 히스토그램이다.
다음의 상세한 설명은 개시되는 시스템 및 방법의 다양한 특징 및 기능을 첨부되는 도면을 참조하여 설명한다. 도면에서, 유사한 심볼들은 문맥을 통해 달리 기술되지 않는 한 전형적으로 유사한 컴포넌트들을 나타낸다. 본 명세서에서 설명되는 예시적인 시스템 및 방법의 실시예들은 한정적 의미를 갖지 않는다. 개시되는 시스템 및 방법의 특정 실시형태가 광범위한 서로 다른 구성으로 정렬 및 결합될 수 있음(이들 모두는 본 명세서에서 고려됨)이 어렵지 않게 이해될 것이다.
I. 개관( Overview )
사용자의 환경을 감지하기 위해, 착용가능 컴퓨터는 "관점(point-of-view)" 비디오 카메라를 포함할 수 있는바, "관점" 비디오 카메라는 사용자의 기준 프레임(frame of reference)에 맞추어 조정되어 있고 사용자의 머리(head)의 움직임을 추적하도록 장착된다. 사용자가 소정의 시점(point in time)에 보고 있는 것을 효과적으로 캡처(capture)함으로써, 이러한 비디오는, 사용자의 시야 내에 있는 오브젝트들 및/또는 사람들을 검출하기 위해, 그리고 이러한 오브젝트들 및/또는 사람들을 식별하기 위해, 그리고 이러한 오브젝트들 및/또는 사람들에 대응하는 정보를 HMD에 디스플레이하기 위해 분석될 수 있다. 더욱이, 비디오의 분석은, 소정의 오브젝트 혹은 사람이 사용자의 기준 프레임 내에서 어디에 위치하고 있는 지를 결정하기 위해, 그리고 대응하는 정보를 HMD에 디스플레이하기 위해 사용될 수 있고, 이에 따라 사용자는 그 대응하는 정보를 소정의 오브젝트 혹은 사람 위에 혹은 가까이에 "플로팅(floating)" 상태로서 보게 된다.
예로서, 사용자가 친구를 보고 있을 때, 사용자의 HMD 상의 비디오 카메라는 친구의 비디오를 캡처할 수 있다. 그 다음에, 비디오는 예를 들어, 잘 알려진 안면 인식 기법을 사용하여 분석될 수 있다. 이와 같이, 친구는 식별될 수 있고, 친구에 관한 정보는 디스플레이될 수 있는바, 이에 따라 사용자는 이 정보를 친구 가까이에서 보게 된다. 예를 들어, HMD는 친구의 이름, 연락처 정보, 생일 등을 디스플레이할 수 있다.
오브젝트들을 식별하고 관련 정보를 HMD 상에 지능적으로 디스플레이하기 위한 많은 기법들이 개발되었지만, 이러한 기법들은 중요한 사용자 상호작용을 제공하지는 않는다. 구체적으로, 이러한 기법들은 오브젝트들 및 사람들이 인식 및 식별될 수 있게는 하지만, 사용자로 하여금 사용자가 관심이 있는 특정 오브젝트를 특정할 수 있도록 하지는 못한다.
본 명세서에서 설명되는 방법 및 시스템은 비디오에 모션-분석 기법(motion-analysis techniques)을 적용함으로써 컴퓨터가 사용자-선택 오브젝트(user-selected object)를 인식하게 한다. 이러한 모션-분석 기법은 관점 비디오 카메라로부터의 비디오가 언제 사용자에 의한 오브젝트의 선택과 관련되어 있는 소정의 사용자-행동의 특징을 나타내는지를 검출한다. 예시적 실시예에서, "광학-흐름 차(optical-flow differential)"를 갖는 영역이 언제 비디오에 존재하는 지를 검출하기 위해 광학-흐름 분석이 사용된다. 이와 같이, 예시적인 방법 및 시스템은 착용가능 컴퓨터의 사용자에게 소정의 동작을 수행함으로써 사용자의 관측 시야 내의 오브젝트를 선택하는 능력을 제공할 수 있다.
예시적인 실시예는 특정 사용자-행동이 임의의 선택된 오브젝트가 존재하는 영역 내에 특징적인 광학-흐름 차를 생성한다는 자각으로부터 나온 것이다. 일 예로서, 사용자는 자신의 기준 프레임(예를 들어, 사용자의 시야의 중앙) 내의 동일한 위치에 오브젝트를 유지시키면서 오브젝트 둘레로 회전할 수 있다. 이것은 결과적으로, 오브젝트에서의 광학 흐름이 비디오 프레임 내의 다른 곳에서의 광학 흐름보다 훨씬 더 작은 크기를 갖게 할 수 있다. 추가적으로, 이러한 사용자-움직임을 캡처한 비디오는 전형적으로, 사용자가 임의의 선택된 오브젝트를 선회(circling)하는 것에 대응하는 특정된 회전 특징이 있는 광학 흐름을 갖는다. 이에 따라, 예시적 방법은, 사용자가 그러한 광학-흐름 차가 존재하는 영역에 위치하는 특정 오브젝트를 선택했는지를 결정하는 것, 그리고 이에 응답하여 그 선택된 오브젝트에 관한 동작을 수행하는 것을 포함할 수 있다.
본 명세서에서, 비디오의 광학 흐름은 비디오 내의 오브젝트들과 사용자의 서로에 대한 상대적 움직임으로부터 발생되는 비디오 내의 픽셀들의 겉보기 운동(apparent motion)의 측정치인 것으로 이해돼야 한다. 더욱이, 광학-흐름 차가 존재하는 영역은 광학 흐름의 크기가 비디오 내의 다른 곳과는 상당히 다른 비디오 내의 영역을 의미하는 것으로 이해돼야 한다.
Ⅱ. 예시적 시스템 및 디바이스( Example Systems and Devices )
도 1은 착용가능 컴퓨팅 디바이스의 예시적인 실시예가 구현될 수 있는 시스템을 나타낸 간략화된 블록도이다. 제시된 바와 같이, 네트워크(100)는 인터넷(106)에 대한 액세스를 제공하는 액세스 포인트(104)를 포함한다. 액세스 포인트(104)를 통해 인터넷(106)에 대한 액세스가 제공되는 경우, 착용가능한 컴퓨터(102)는 다양한 데이터 소스들(108a-c)과 통신할 수 있을 뿐만 아니라, 증강-현실(Augmented-Reality, AR) 서버(110)와 통신할 수 있다.
착용가능 컴퓨터(102)는 다양한 형태를 취할 수 있고, 이에 따라, 증강-현실 경험을 제공하기 위해 다양한 디스플레이 타입을 포함할 수 있다. 예시적 실시예에서, 착용가능한 컴퓨터(102)는 헤드-마운티드 디스플레이(HMD)를 포함한다. 예를 들어, 착용가능한 컴퓨터(102)는 쌍안 디스플레이(binocular display) 혹은 단안 디스플레이(monocular display)를 구비한 HMD를 포함할 수 있다. 추가적으로, HMD의 디스플레이는, 예를 들어, 광학 투시형 디스플레이 혹은 광학 씨-어라운드 디스플레이, 혹은 비디오 투시형 디스플레이일 수 있다. 더 일반적으로 살펴보면, 착용가능 컴퓨터(102)는 사용자에게 증강-현실 경험을 제공하도록 구성된 임의 타입의 HMD를 포함할 수 있다.
사용자의 환경 및 경험을 감지하기 위해, 착용가능 컴퓨터(102)는 다양한 타입의 감지 및 추적 디바이스들을 포함할 수 있거나, 이들 디바이스들로부터 입력을 제공받을 수 있다. 이러한 디바이스들은, 다른 것들 중에서도, 비디오 카메라, 스틸 카메라(still cameras), 위성 위치확인 시스템(Global Positioning System, GPS) 수신기, 적외선 센서, 광학 센서, 바이오센서, 전파식별(Radio Frequency identification, RFID) 시스템, 무선 센서, 가속도계, 자이로스코프(gyroscopes) 및/또는 나침반을 포함할 수 있다.
더욱이, 착용가능 컴퓨터(102)는 사용자로 하여금 HMD와의 상호작용을 가능하게 하는 통합된 사용자-인터페이스(User-Interface, UI)를 포함할 수 있다. 예를 들어, 착용가능 컴퓨터(102)는 사용자로 하여금 입력을 제공할 수 있도록 하는 다양한 버튼 및/또는 터치스크린 인터페이스를 포함할 수 있다. 또 다른 예로서, 착용가능 컴퓨터(102)는 사용자로부터 음성 명령을 수신하도록 구성된 마이크로폰을 포함할 수 있다. 더욱이, 착용가능 컴퓨터(102)는 다양한 타입의 사용자-인터페이스 디바이스들이 착용가능 컴퓨터에 연결될 수 있도록 하는 하나 이상의 인터페이스들을 포함할 수 있다. 예를 들어, 착용가능 컴퓨터(102)는 다양한 핸드-헬드 키보드(hand-held keyboards) 및/또는 포인팅 디바이스(pointing devices)와의 연결을 위해 구성될 수 있다. 더 일반적으로 살펴보면, 착용가능 컴퓨터(102)는 임의 타입의 사용자-인터페이스 디바이스 대부분과 인터페이스하도록 구성될 수 있다.
착용가능 컴퓨터(102)는 착용가능 컴퓨터의 프로세싱 기능을 위한 하드웨어가 포함된 온-보드 컴퓨팅 시스템을 그 코어(core)에서 포함할 수 있다. 특히, 온-보드 컴퓨팅 시스템은, 적어도 부분적으로, 감지 및 추적 디바이스들에 의해 수집된 데이터를 분석하는 기능, 뿐만 아니라 임의의 UI를 통해 제공된 사용자-입력 데이터를 분석하는 기능, 그리고 이러한 분석에 근거하여, 어떤 정보가 사용자에게 HMD를 통해 디스플레이돼야 하는지를 결정하는 기능, 그리고 이러한 정보가 어떻게 디스플레이에 정렬돼야 하는지를 결정하는 기능을 수행할 수 있다.
추가적으로 혹은 대안적으로, 착용가능 컴퓨터(102)는 사용자의 환경을 분석하기 위해 그리고/또는 디스플레이할 적절한 정보를 결정하기 위해 외부 데이터 소스들에 의존할 수 있다. 특히, 착용가능 컴퓨터(102)는 온-보드 데이터 저장소(on-board data storage)를 포함할 수 있고, 온-보드 저장소에서의 이용가능한 메모리의 양은 착용가능 컴퓨터(102)와 같은 착용가능 디바이스와 관련된 크기, 중량 및/또는 비용 제약으로 인해 제한될 수 있다. 이와 같이, 착용가능 컴퓨터(102)는 유선 혹은 무선 네트워크를 포함할 수 있고, 착용가능 컴퓨터(102)는 이러한 유선 혹은 무선 네트워크를 통해 인터넷(106)에 연결될 수 있으며 데이터 소스들(108a-c)에 액세스할 수 있다. 착용가능 컴퓨터(102)는, 다른 것들 중에서도, 802.11, 802.16 (WiMAX), LTE, GSM, GPRS, CDMA, EV-DO, 및/또는 HSPDA와 같은 하나 이상의 프로토콜을 사용하여 인터넷(106)에 연결되도록 구성될 수 있다. 더욱이, 착용가능 컴퓨터(102)는 복수의 유선 및/또는 무선 프로토콜을 사용하여 인터넷(106)에 연결되도록 구성될 수 있다. 일 예로서, 다수의 현재 디바이스들은 CDMA, GSM, 혹은 WiMAX와 같은 셀률러 통신 프로토콜을 사용하는 "3G" 또는 "4G" 데이터 연결을 위해 구성되고, 뿐만 아니라 802.11을 사용하는 "WiFi" 연결을 위해 구성된다. 다른 예들이 또한 가능하다.
액세스 포인트(104)는 착용가능 컴퓨터(102)가 인터넷(106)에 연결하기 위해 어떤 프로토콜을 사용하는가에 따라 다양한 형태를 취할 수 있다. 예를 들어, 만약 착용가능 컴퓨터(102)가 802.11을 사용하거나 혹은 이더넷 연결을 통해 연결을 수행하는 경우, 액세스 포인트(104)는 무선 액세스 포인트(Wireless Access Point, WAP) 혹은 무선 라우터(wireless router)의 형태를 취할 수 있다. 또 다른 예로서, 만약 착용가능 컴퓨터(102)가 CDMA 혹은 GSM 프로토콜과 같은 셀률러 무선 인터페이스 프로토콜을 사용하여 연결을 수행한다면, 액세스 포인트(104)는 셀률러 네트워크 내의 기지국일 수 있는바, 이 경우 셀률러 네트워크를 통해 인터넷 연결을 제공하게 된다. 더욱이, 착용가능 컴퓨터(102)는 복수의 무선 프로토콜들을 사용하여 인터넷(106)에 연결되도록 구성될 수 있기 때문에, 착용가능 컴퓨터(102)가 여러 타입의 액세스 포인트들을 통해 인터넷(106)에 연결되도록 구성될 수 있는 것도 또한 가능하다.
착용가능 컴퓨터(102)는 또한, (제시된 바와 같은) 인터넷을 통해, 혹은 가능하게는 개인 네트워크(private network)(이것은 더 보안화된 연결을 제공할 수 있음)를 통해, AR 서버(110)에 연결되도록 구성될 수 있다. 선택에 따라서는 AR 서버(110)는 착용가능 컴퓨터(102)의 성능을 개선시킬 수 있다. 특히, 사용자가 착용한 디바이스의 데이터 저장 및 프로세싱 능력은 크기, 중량 및/또는 비용 제약에 의해 제한되기 때문에, 착용가능 컴퓨터(102)에 대한 데이터-프로세싱 기능들 중 일부(혹은 가능하게는 심지어 전체)를 AR 서버(110)와 같은 원격 엔티티로 이동시킴으로써 프로세싱 파워를 증가시킬 수 있다. 이것은 착용가능 컴퓨터(102)의 감지 및/또는 추적 디바이스들에 의해 수집된 데이터의 잠재적인 데이터-집중 분석을 위해 유용할 수 있고, 뿐만 아니라 이것에 근거하는 HMD 디스플레이의 제어를 위해 유용할 수 있다.
다른 실시형태에서, AR 서버(110)는 착용가능 컴퓨터(102)에 대해 증강-현실 경험을 지원하는 데이터의 더욱 빠른 검색을 가능하게 하는 데이터 저장소를 포함할 수 있다. 예를 들어, AR 서버(110)는 시간 경과에 따라 소정의 착용가능 컴퓨터(102)에 대한 특정 데이터를 수집할 수 있고, 이것은 이후 사용자의 경험을 커스터마이징(customizing)하기 위해 사용될 수 있다. 더욱이, AR 서버(110)는 소정의 위치에서 다수의 서로 다른 착용가능 컴퓨터들로부터 수집된 위치별 데이터를 결합시킬 수 있다. 이후 이러한 데이터는 착용가능 컴퓨터(102)의 감지 디바이스들로부터의 현재 데이터와 결합되어, HMD 디스플레이를 착용가능 컴퓨터(102)의 현재 위치에 맞게 커스터마이징하는데 사용될 수 있고, 그리고/또는 착용가능 컴퓨터(102)의 착용자에 대한 특정된 사용자 성향 및 경향에 맞게 커스터마이징하는데 사용될 수 있다. 착용가능 컴퓨터(102)는, 착용가능 컴퓨터가 유사한 데이터를 저장하는 데이터 저장소를 자체적으로 포함할 수 있고, 실제로 AR 서버로부터의 어떠한 지원도 없이 기능을 수행할 수 있음에 유의해야 한다. 그러나, 착용가능 컴퓨터(102)의 온-보드 컴퓨팅 시스템의 데이터 저장 및 프로세싱 능력을 제한할 수 있는 크기, 중량 및/또는 비용 제약으로 인해, AR 서버(110)와 같은 원격 엔티티는 월등한 데이터-저장 및/또는 데이터-검색 능력을 착용가능 컴퓨터(102)에게 제공할 수 있고, 이에 따라 착용가능 컴퓨터(102)의 성능을 향상시킬 수 있다.
도 2a는 HMD의 형태를 취하는 예시적인 착용가능 컴퓨팅 디바이스의 삼차원 렌더링이다. 제시된 바와 같이, 착용가능 컴퓨팅 컴퓨터(200)는 단안 씨-어라운드 디스플레이(202)를 포함하는바, 이것은 컴퓨터-발생 그래픽을 물리적 세계의 사용자의 시야 내에 오버레이시킨다. 씨-어라운드 디스플레이(202)는 광학 웨이브가이드(optical waveguide)(208)를 통해 디스플레이에 결합되는 온-보드 컴퓨팅 시스템(204)을 통해 제어가능하다. 착용가능 컴퓨팅 컴퓨터(200)는 또한 비디오 카메라(206)를 포함하는바, 비디오 카메라(206)는 HMD의 프레임 상에 장착되고 착용자의 기준 프레임(즉, 착용자의 관점)을 일반적으로 추적하도록 배향된다. 더욱이, 착용가능 컴퓨팅 디바이스(200)는 온-보드 컴퓨팅 시스템(204)을 포함하는바, 일반적으로 온-보드 컴퓨팅 시스템(204)은 비디오 카메라(206)로부터 수신된 데이터(그리고 가능하게는 다른 감지 디바이스들 및/또는 사용자 인터페이스들로부터의 데이터)를 분석하는 기능, 그리고 이에 따라 디스플레이(202)를 제어하는 기능을 수행한다. 더욱이, 그래픽(예를 들어, 비디오, 이미지, 텍스트 등)을 만드는 데이터는 온-보드 컴퓨팅 시스템(204)으로부터 디스플레이(202)로 광학 웨이브가이드를 통해 중계(relay)될 수 있다.
비디오 카메라(206)의 타입은 선택된 공학적 설계에 따라 선택될 수 있다. 이에 따라, 비디오 카메라(206)는 여러 가지 서로 다른 해상도 및/또는 서로 다른 프레임 레이트(frame rate)(예를 들어, 1초 동안 변하는 프레임들의 수(fps))로 비디오를 캡처할 수 있다. 셀 폰(cell phones), 웹캠(webcams) 등에서 사용되는 것과 같은, 작은 폼-팩터(form-factor)를 갖는 다수의 비디오 카메라들이 본 발명의 기술분야에서 숙련된 자들에게 잘 알려져 있고, 예시적인 착용가능 컴퓨터 내에 포함될 수 있다. 그러나, 예시적 실시예들이 어떤 특정 타입의 비디오 카메라에만 한정되는 것은 아님을 이해해야 한다.
예시적 실시예에서, 비디오 카메라(206)는 사용자의 관점을 캡처하도록 장착된다. 구체적으로, 비디오 카메라(206)는, 착용자의 시야와 유사한 시야를 캡처하기 위해 사용자의 눈과 동일한 방향으로 배향되어 배치되도록 착용가능 컴퓨팅 컴퓨터(200) 상에 장착된다. 다른 구성이 또한 가능하다. 단지 일 예로서, 비디오 카메라는 사용자의 이마 상에 장착될 수 있거나 혹은 사용자의 양쪽 눈 사이에 장착될 수 있는바, 이 또한 사용자의 눈과 동일한 방향으로 배향될 수 있다. 이와 같이 장착된 비디오 카메라는 사용자의 머리의 움직임을 추적하고, 이에 따라 소정의 시점에서 그 기록(record)된 비디오의 관점(perspective)은 일반적으로 해당하는 그 시간에서의 사용자의 기준 프레임(즉, 사용자의 시야)을 캡처한다. 또한 가능한 것으로서, 예시적인 착용가능 컴퓨터는, 동일한 시야를 캡처하도록 혹은 서로 다른 관점 혹은 시야를 캡처하도록 구성될 수 있는, 복수의 비디오 카메라들을 포함할 수 있다.
일부 예시적 HMD들에서, 단안 비디오 디스플레이(202)는 디스플레이되는 이미지들이 물리적 세계의 사용자의 시야에 "플로팅"되거나 그 위에 오버레이되는 것처럼 보이도록 배치될 수 있고 크기조정될 수 있으며, 이에 따라 컴퓨터-발생 정보는 물리적 세계의 사용자 지각(perception)과 통합되는 경험 및/또는 물리적 세계의 사용자 지각을 증진시키는 경험을 제공하게 된다. 이것을 수행하기 위해서, 온-보드 컴퓨팅 시스템(204)은 (a) 어떤 그래픽들이 디스플레이돼야 하는지, 그리고 (b) 그래픽들이 어떻게 디스플레이돼야 하는지(예를 들어, 디스플레이 상의 위치, 그래픽의 크기 등)를 지능적으로 결정하기 위해 비디오 카메라(206)에 의해 캡처된 비디오 영상(video footage)을 분석하도록 구성될 수 있다.
도 2b는 HMD를 포함하는 착용가능 컴퓨터의 사용에 의해 지각될 수 있는 바와 같은 장면의 이미지이다. 특히, 이러한 타입의 시야는 착용가능 컴퓨팅 디바이스(200)의 HMD에 의해 제공될 수 있다. 본 예에서, 사용자는 HMD를 통해 도시의 장면을 보고 있으며, 착용가능 컴퓨팅 디바이스(200)는 빌딩에 대한 "라벨(labels)"(예를 들어, Merchandise Mart, 300 N. LaSalle Drive, Trump International Hotel and Tower®, 283 N. Franklin St., and 77 W. Wacker Dr.) 및 랜드마크(landmark)에 대한 라벨(예를 들어, Chicago River)을 HMD 상에 디스플레이한다. 제시된 바와 같이, 이러한 라벨들은 이들이 각각 식별시키고 있는 빌딩 및 랜드마크 가까이 위치하고 있고, 이에 따라 사용자는 관련된 빌딩/랜드마크 명칭 및/또는 주소에 관한 정보를 제공받게 된다.
더욱이, 도 2b에 제시된 라벨들의 텍스트 크기는 빌딩과 사용자 간의 거리에 따라 다르다. 예를 들어, 라벨("Chicago River")에 대한 텍스트 크기는 사용자와의 거리가 가장 가깝기 때문에 가장 크고, 반면, 라벨("Trump International Hotel and Tower®")의 텍스트 크기는 사용자로부터 가장 멀리 있기 때문에 가장 작다. 이와 같은 다양한 라벨 크기는, 더 가까이 있는 빌딩에 대한 라벨이 또한 더 가깝게 있는 것으로 지각되도록 하는 반면 더 멀리 있는 빌딩에 대한 라벨이 또한 더 멀리 있는 것으로 지각되도록 하는데 도움을 줄 수 있다. 이것은 오로지 예시적 목적으로만 제공되는 것이기 때문에 증강-현실 경험을 제공하도록 포함될 수 있는 프로세싱의 타입의 단지 일 예이며 한정의 의미를 결코 갖지 않음을 이해해야 한다.
도 2c는 예시적인 착용가능 컴퓨팅 디바이스의 컴포넌트들을 더 상세히 보여주는 간략화된 블록도이다. 제시된 바와 같이, 착용가능 컴퓨터(200)는 적어도 하나의 프로세서(256) 및 시스템 메모리(258)를 포함하는 온-보드 컴퓨팅 시스템(204)을 포함한다. 예시적 실시예에서, 온-보드 컴퓨팅 시스템(204)은 시스템 버스(264)를 포함할 수 있는바, 시스템 버스(254)는 프로세서(256)와 시스템 메모리(258)를 통신가능하게 연결시킬 뿐만 아니라 착용가능 컴퓨팅 디바이스(200)의 다른 컴포넌트들을 통신가능하게 연결시킨다. 원하는 구성에 따라서, 프로세서(256)는, 마이크로프로세서(microprocessor)(μP), 마이크로제어기(microcontroller)(μC), 디지털 신호 프로세서(Digital Signal Processor, DSP), 또는 이들의 임의의 조합을 포함하는(하지만 이러한 것에만 한정되지는 않는) 임의 타입의 프로세서일 수 있다. 더욱이, 시스템 메모리(258)는 휘발성 메모리(예를 들어, RAM), 비휘발성 메모리(예를 들어, ROM, 플래시 메모리 등), 또는 이들의 임의의 조합을 포함하는(하지만 이러한 것에만 한정되지는 않는) 임의 타입의 메모리일 수 있다.
예시적인 온-보드 컴퓨팅 시스템(204)은 또한 다양한 다른 컴포넌트들을 포함할 수 있다. 예를 들어, 온-보드 컴퓨팅 시스템(204)은, 비디오 카메라(206)로의 연결을 위한 비디오 카메라 인터페이스(252), (A/V 포트(255)를 통해) HMD(202)를 제어하기 위한 그래픽 프로세싱 유닛(254), 다른 컴퓨팅 디바이스들(272)로의 연결을 위한 하나 이상의 통신 인터페이스들(268), 하나 이상의 외부 UI 디바이스들(261)과 호환가능한 하나 이상의 UI 인터페이스들(260), 그리고 파워 서플라이(262)를 포함한다.
더욱이, 예시적 착용가능 컴퓨팅 디바이스(200)는 또한 하나 이상의 데이터 저장 디바이스들(266)을 포함할 수 있는바, 이는 탈착가능 저장 디바이스들, 비탈착가능 저장 디바이스들, 혹은 이들의 조합일 수 있다. 탈착가능 저장 디바이스 및 비탈착가능 저장 디바이스의 예는, 몇 가지 예를 들면, 플렉서블 디스크 드라이브(flexible disk drives) 및 하드-디스크 드라이브(Hard-Disk Drives, HDD)와 같은 자기 디스크 디바이스, 콤팩트 디스크(Compact Disk, CD) 드라이브와 같은 광학 디스크 드라이브, 또는 디지털 다용도 디스크(Digital Versatile Disk, DVD) 드라이브, 솔리드 스테이트 드라이브(Solid State Drives, SSD), 그리고 테이프 드라이브(tape drives)를 포함한다. 컴퓨터 저장 매체들은, 휘발성 및 비휘발성의 탈착가능 및 비탈착가능 매체들을 포함할 수 있는바, 이들은 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 혹은 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된다. 예를 들어, 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 혹은 다른 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 혹은 다른 광학 저장소, 자기 카셋트(magnetic cassettes), 자기 테이프(magnetic tape), 자기 디스크 저장소 혹은 다른 자기 저장 디바이스 또는 임의의 다른 매체들의 형태를 취할 수 있고, 이들은 원하는 정보를 저장하기 위해 사용될 수 있으며, 착용가능 컴퓨팅 디바이스(200)에 의해 액세스될 수 있다.
예시적 실시예에 따르면, 온-보드 컴퓨팅 디바이스(204)는 프로그램 명령들을 포함하는바, 이들 프로그램 명령들은 시스템 메모리 모듈(258) 내에 저장되며(그리고/또는 가능하게는 또 하나의 다른 데이터-저장 매체 내에 저장되며), 본 명세서에 설명되는 착용가능 컴퓨팅 디바이스(200)가 용이하게 기능을 수행하도록 프로세서(256)에 의해 실행가능하다. 따라서, 예시적 실시예에서, 온-보드 컴퓨팅 시스템(204)은 비디오 카메라(206)에 의해 캡처된 비디오의 광학 흐름을 결정하기 위해 광학-흐름 분석을 수행하는 프로그램 명령들(270)을 포함할 수 있다. 본 발명의 기술분야에서 숙련된 자들이 이해하는 바와 같이, 비디오의 "광학 흐름"은, 오브젝트와 비디오 카메라 간의 상대적인 움직임으로부터 발생되는 비디오 내의 오브젝트의 겉보기 운동이다.
더욱이, 착용가능 컴퓨팅 디바이스(200)는, 소정의 사용자-행동을 수행함으로써 사용자의 시야 내의 오브젝트를 선택하는 능력을 사용자에게 제공하기 위해 광학-흐름 분석을 사용할 수 있다. 특히, 온-보드 컴퓨팅 시스템(204)은, 비디오 카메라(206)에 의해 캡처된 비디오의 광학 흐름이 언제 소정의 사용자-움직임과 관련된 특정 특징을 갖는 지를 인식하도록 구성될 수 있고, 아울러 광학 흐름의 이러한 특징에 근거하여 사용자가 선택한 오브젝트를 식별하도록 구성될 수 있다.
예를 들어, 착용가능 컴퓨팅 디바이스(200)는 비디오 카메라(206)로부터 관점 비디오의 광학 흐름을 분석할 수 있고, 비디오 프레임 내의 임의의 영역이 언제 프레임 내의 다른 곳의 광학 흐름의 크기와는 상당량 다른 크기의 국부화된 광학 흐름을 갖는지를 검출할 수 있다. 비디오 프레임 내의 특정 영역에서의 광학 흐름의 크기가 비디오 프레임 내의 다른 곳에서의 크기와는 상당량 다를 때, 비디오의 이 영역에서 "광학-흐름 차(optical-flow differential)"가 존재한다고 말할 수 있다. 이에 따라 착용가능 컴퓨팅 디바이스(200)는 광학-흐름 차가 존재하는 영역에 위치하는 오브젝트를 사용자에 의해 선택된 것으로서 식별할 수 있다.
광학 흐름을 결정하기 위한 많은 기법들이 본 발명의 기술분야에서 숙련된 자들에게 잘 알려져 있다. 이러한 기법들은, 다름 것들 중에서도, (i) 위상 상관(phase correlation), (ii) 블록-기반 방법(block-based methods), (iii) 루카스-카나데 광학 흐름 방법(Lucas-Kanade optical flow method), 혼-셩크 방법(Horn-Schunk method), 벅스톤-벅스톤 방법(Buxton-Buxton method), 및 블랙 젭슨 방법(Black Jepson method) 그리고 (iv) 이산형 최적화 방법(discrete optimization methods)을 포함한다. 예시적 실시예에서, 온-보드 컴퓨팅 시스템(210)은, 비디오 내의 노이즈에 대해 전형적으로 덜 민감한 루카스-카나데 방법을 구현할 수 있는바, 이에 따라 디지털 방식으로 캡처된 비디오 내의 프레임들 간의 광학 흐름을 결정하는데 특히 적합할 수 있다. 그러나, 가능한 것으로, 예시적 실시예는 광학 흐름을 결정하기 위한 임의의 적절한 기법을 사용할 수 있는바, 여기에는 앞서 언급된 기법들 중 어느 하나가 포함되지만 이러한 것에만 한정되지는 않는다.
소정의 시점에서 광학 흐름을 결정하기 위해, 온-보드 컴퓨팅 시스템(204)은 비디오 카메라(206)로부터의 두 개의 비디오 프레임들 간의 광학 흐름을 비교하기 위해 루카스-카나데 방법 혹은 임의의 다른 적절한 기법을 적용할 수 있다. 예시적 실시예에서, 결정된 광학 흐름은 저장 디바이스(266) 내에 저장되는 광학-흐름 데이터의 형태를 취할 수 있다. 소정의 광학-흐름 결정에 대해, 그 결과로 나온 광학-흐름 데이터는 비디오 프레임 내에서 좌표에 의해 식별되는 표본점(sample point)들의 세트를 포함할 수 있고, 각각의 표본점에 대해 데이터는 표본점에서의 대응하는 광학-흐름 벡터의 크기 및 방향을 표시한다. 시각적으로, 온-보드 컴퓨팅 시스템(204)에 의해 결정된 광학 흐름은 "광학-흐름 필드(optical-flow field)"로서 2차원적으로 표현될 수 있는바, 여기서 광학-흐름 필드에는 비디오 프레임 내의 표본점들의 세트, 그리고 각각의 표본점에서 각각의 광학 흐름을 표시하는 광학-흐름 벡터들이 제시된다.
다른 실시형태에서, 착용가능 컴퓨터는 제 2 카메라를 포함할 수 있거나, 혹은 가능하게는 심지어 3개 혹은 그 이상의 카메라들을 포함할 수 있다. 예를 들어, 착용가능 컴퓨터는 사용자의 머리의 각각의 측면에 장착되는 카메라, 그리고/또는 사용자의 이마 상에(예를 들어 사용자의 양쪽 눈 사이에) 장착되는 하나 이상의 카메라들을 포함할 수 있다. 그 다음에, 착용가능 컴퓨터는 광학-흐름 차가 언제 존재하는지를 결정하기 위해 모든 비디오 카메라들로부터의 비디오 스트림들(video streams)을 사용할 수 있다. 예컨대, 제 2 카메라로부터 추가적인 광학-흐름 데이터가 제공되는 경우, 착용가능 컴퓨터는 더 정확하게 그리고/또는 더 빠르게 광학-흐름 차가 언제 존재하는지를 결정할 수 있다. 이에 따라, 예시적 실시예의 방법에 따른 착용가능 컴퓨터는 또한, 제 2 비디오 카메라로부터 비디오를 수신하는 것, 제 2 카메라로부터의 비디오의 광학 흐름을 결정하는 것, 그리고 제 2 비디오 내에 광학-흐름 차가 존재하는지를 결정하는 것을 수행하도록 구성될 수 있다.
2개의 카메라들이 사용되는 경우에 실질적으로 동시에 양쪽 카메라로부터 비디오 내에 광학-흐름 차가 검출될 때, 이것은 광학-흐름 차가 존재한다는 결정의 정확도를 강화시킨다. 그러나, 2개의 카메라들로부터의 비디오 간에 불일치가 존재하는 경우, 이러한 불일치는 설계적 선택 문제로서 해결될 수 있다. 예컨대, 광학-흐름 차가 한쪽 카메라에서는 검출되었지만 나머지 카메라에서는 검출되지 않은 경우, HMD는 광학-흐름 차가 존재한다고 결론을 내리도록 구성될 수 있고, 이에 따라 광학-흐름 차가 검출된 비디오에 근거하여 동작을 진행하도록 구성될 수 있다. 대안적으로, HMD는 에러(error)가 존재한다고 가정함으로써 이러한 불일치를 해결할 수 있으며, 이에 따라 오로지 광학-흐름 차가 양쪽 비디오에서 모두 존재하는 경우에만 광학-흐름 차가 존재한다고 결론 내릴 수 있다.
Ⅲ. 광학-흐름 필드의 개관( Overview of Optical - Flow Fields )
도 3은 예시적인 광학-흐름 필드를 나타낸 것이다. 제시된 바와 같이, 광학-흐름 필드(300)는 프레임 전체에 걸쳐 표본점들을 포함하는바, 각각의 표본점에는 대응하는 광학-흐름 벡터가 존재하며, 광학-흐름 벡터는 표본점에서 결정된 광학 흐름의 크기 및 방향을 표시한다.
일반적으로, 광학-흐름 필드(300) 내의 각각의 표본점은 광학 흐름이 획득는 비디오 프레임 내의 특정 픽셀에 대응한다. 따라서, 표본점들에 대한 좌표값들의 범위는 광학 흐름이 결정되는 비디오의 해상도에 의해 정의될 수 있다. 예를 들어, 예시적인 광학-흐름 필드(300)는 640 픽셀 x 480 픽셀("640x480")의 해상도를 갖는 비디오에 대한 광학 흐름을 제공한다. 이에 따라, 광학-흐름 필드(300) 내의 각각의 표본점은 640x480 비디오 프레임 내의 자신의 각각의 좌표에 의해 식별될 수 있다. 예시된 사례에서, 예컨대, 표본점들은 11x15 그리드(grid)로 정렬되는바, 그 좌표의 범위는 하부 좌측 코너에 있는 표본점(A)에서의 좌표 [40, 40]에서 상부 우측 코너에서의 좌표 [600, 440]까지이다.
광학 흐름 필드 내에서의 표본점들의 개수 및 배치는 공학적 설계의 선택에 따라 변할 수 있음을 이해해야 한다. 예를 들어, 예시적 착용가능 컴퓨터(200)는, 광학-흐름 필드(300)에서 제시된 바와 동일한 개수의 표본점들에 대해 광학 흐름을 결정하도록 구성될 수 있지만, 표본점들의 개수는 광학 흐름의 정확도를 증가시키기 위해 증가될 수 있다. 더욱이, 광학-흐름 필드(300) 내의 표본점들은 40개의 픽셀만큼 이격되어 그리드로 정렬되는 것으로 제시되었지만, 광학 흐름이 결정되는 표본점들의 (광학 흐름 필드들에서의) 배치 및 간격은 공학적 설계의 선택에 따라 변할 수 있다. 또한, 광학-흐름 벡터가 결정되는 표본점들의 개수는 광학 흐름을 결정하기 위해 사용된 특정 기법에 따라 변할 수 있다.
도 2c를 다시 참조하면, 예시적인 온-보드 컴퓨팅 시스템(204)은, 비디오 카메라(206)로부터 라이브 비디오 피드(live video feed)를 수신하는 것, 그리고 이러한 비디오 피드의 프레임들이 수신됨에 따라 광학 흐름을 계속 업데이트 및 분석하는 것을 수행하도록 구성될 수 있다. 이에 따라, 온-보드 컴퓨팅 시스템(204)은 소정의 사용자-움직임의 특징을 나타내는 광학 흐름의 발생에 대해 광학 흐름을 계속 모니터링할 수 있다. 계속적인 광학-흐름 분석은 소정의 사용자-행동이 사용자의 시야 내의 특정 오브젝트의 선택을 표시하는 경우 착용가능 컴퓨팅 디바이스(200)에 의한 검색에 있어 이로울 수 있는데, 왜냐하면 이것은 디스플레이(202) 내에 검색 결과들의 자동적인 그리고 실질적으로 순간적인(예를 들어, "실시간") 디스플레이를 가능하게 할 수 있기 때문이다.
그러나, 대안적으로 광학 흐름은 주기적으로(periodically) 혹은 간헐적으로(intermittently)으로 업데이트될 수 있음을 이해해야 한다. 더욱이, 또한 가능한 것으로, 광학 흐름의 결정은 그렇게 하도록 하는 사용자로부터의 표시에 응답하여 수행될 수 있다. 예를 들어, 광학-흐름 분석은 디폴트(default)로서 비활성될 수 있고, 사용자가 검색 기능이 제공되기를 원함을 표시하는 경우에만, 혹은 다른 이유로 광학-흐름 분석이 활성화되기를 원함을 표시하는 경우에만, 활성화될 수 있다.
Ⅳ. 소정의 사용자-행동에 대응하는 예시적 광학-흐름 필드( Example Optical-Flow Fields Corresponding to Predetermined User - Actions )
A. 오브젝트 둘레로 곡선 경로로 움직임( Movement in Curved Path around an Object )
도 4a는 예시적인 방법이 사용자의 관측 시야 내에서 특정 오브젝트의 선택으로서 인식할 수 있는 소정의 사용자-행동을 나타낸 것이다. 예시적 실시예에 따르면, 소정의 사용자-행동은, 움직임 동안 관점 비디오 카메라에 의해 캡처된 비디오가 특징적인 광학 흐름(이것은 사용자가 사용자-행동을 통해 선택한 오브젝트에서 그리고/또는 오브젝트 둘레에서의 광학-흐름 차를 포함함)을 갖도록 하는 그러한 행동이다.
도 4a에 의해 예시된 사용자-행동은 사용자가 처음에 오브젝트(404)에 집중하는 것을 포함한다. 그 다음에, 사용자(402)는 실질적으로 원형 경로(406)를 따라 움직이는바, 이 경우 사용자가 경로(406)를 따라 움직임에 따라 사용자는 사용자의 기준 프레임 내의 동일한 위치에 오브젝트(404)가 계속 있도록 한다. 오브젝트(404) 둘레로의 사용자(402)의 움직임은 다양한 방식으로 사용자에 의해 달성될 수 있다. 예를 들어, 사용자(402)는 자신의 기준 프레임의 중앙에 오브젝트가 계속 있도록 하면서 단순히 오브젝트(404) 둘레로 걸을 수 있다. 또 다른 예로서, 사용자(402)는 실질적으로 동일한 장소에 계속 서있을 수 있고, 이 상태에서 자신의 머리를 원형 운동으로 오브젝트(404) 둘레로 움직일 수 있는바, 이 경우 사용자는 사용자의 관측 시야의 중앙에(혹은 사용자의 관측 시야 내의 실질적으로 고정된 위치에) 오브젝트가 실질적으로 계속 있도록 한다. 다른 예들이 또한 가능하다.
사용자(402)가 경로(406)를 따라 움직임에 따라 오브젝트(404)가 사용자의 관측 시야 내의 동일한 위치에 실질적으로 계속 있는 경우, 오브젝트(404)의 겉보기 움직임(혹은 보다 구체적으로는, 비디오 프레임 내에서 오브젝트(404)가 위치하고 있는 영역에서의 픽셀들의 겉보기 움직임)은 프레임 내의 다른 곳에서의 겉보기 움직임보다 훨씬 더 적을 것이다. 따라서, 오브젝트의 그 영역에서의 광학-흐름 벡터는 평균적으로, 프레임 내의 다른 곳에서의 광학-흐름 벡터보다 더 적은 크기를 가질 것이며, 이에 따라 그 선택된 오브젝트를 포함하는 영역에서 광학-흐름 차를 생성시키게 된다. 따라서, 착용가능 컴퓨터가 특정 영역에서 이러한 광학-흐름 차가 존재함을 검출하는 경우, 착용가능 컴퓨터는 이에 응답하여 어떤 오브젝트가 그 영역에 존재하는지를 결정할 수 있고, 그 오브젝트를 사용자에 의해 선택된 것으로서 식별할 수 있다.
다른 실시형태에서, 사용자(402)가 실질적으로 원형 경로(406)로 움직이는 경우, 관점 비디오 카메라에 의해 캡처된 비디오의 결과적인 광학 흐름 필드는 독특한 회전 특징을 가질 수 있다. 특히, 선택된 오브젝트의 영역 외부의 광학-흐름 필드는 임의의 곡률 패턴을 나타낼 수 있는바, 이는 사용자가 오브젝트(404) 둘레로 곡선 경로(406)로 움직이는 것에 대응한다. 일부 실시예들에서, 착용가능 컴퓨터는, (i) 오브젝트가 존재하는 영역에 광학-흐름 차가 존재하는 경우 그리고 이 경우 (ii) 오브젝트가 존재하는 영역 외부의 광학-흐름 차가 오브젝트 둘레로의 회전의 특징을 나타내는 곡률을 갖는 경우에만, 특정 오브젝트가 선택되었음을 결정할 수 있다.
도 4b는 도 4a에 의해 예시된 사용자-행동에 대응하는 예시적인 광학-흐름 필드를 나타낸다. 특히, 도 4b는, 오브젝트(404)에 대응하는 일반적인 영역(410)이 오브젝트(404)에 대응하는 그 영역(410) 외부의 광학-흐름 벡터보다 전체적으로 더 적은 크기를 갖는 광학 흐름 필드(450)를 나타낸다. 더욱이, 영역(410) 외부에 존재하는 광학 흐름 필드(450)의 일부는, 사용자가 경로(406)와 같은 곡선 경로를 따라 오브젝트(404) 둘레로 움직이는 것에 대응하는 곡률 패턴을 보여준다. 이러한 요인들 중 하나 혹은 모두에 대해, 광학-흐름 필드를 분석하는 착용가능 컴퓨터는 오브젝트(404)에 대응하는 영역(410)에 광학-흐름 차가 존재하는 지를 결정할 수 있다. (도 4b에서는 오브젝트(404)가 전면 관측으로부터 제시되는 것이고, 반면 도 4a에 제시된 것은 오브젝트(404)를 위에서 아래를 본 관측으로부터 제시된 것임에 유의해야 한다.)
언급된 바와 같이, 영역(410) 외부에 존재하는 광학-흐름 필드(450)의 일부는, 사용자의 관측 시야 내에서 실질적으로 동일한 위치에 오브젝트가 계속 있도록 하면서 사용자가 오브젝트 둘레로 회전하는 것의 특징을 나타내는 곡률을 나타낸다. 특히, 사용자가 오브젝트(404) 둘레로 반시계 방향으로 회전함에 따라, 사용자의 관측 시야 내의 전경(foreground)을 나타내는 픽셀들(예를 들어, 좌표 [0, 0]과 [640, 220]에 의해 정의되는, 영역(410) 외부의 직사각형 영역 내의 픽셀들)은 그 겉보기 운동에 있어 좌측에서 우측으로 향하는 성분을 가지며, 반면 사용자의 관측 시야 내의 배경(background)을 나타내는 픽셀들(예를 들어, 좌표 [0, 260]과 [640, 480]에 의해 정의되는, 영역(410) 외부의 직사각형 영역 내의 픽셀들)은 그 겉보기 운동에 있어 우측에서 좌측으로 향하는 성분을 갖는다. 더욱이, 사용자의 관측 시야의 좌측을 나타내는 (전경 및 후경 모두에서) 픽셀들은 그 겉보기 운동에 있어 아래로 향하는 성분을 갖는다. 반면에, 사용자의 관측 시야의 우측을 나타내는 픽셀들은 그 겉보기 운동에 있어 아래로 향하는 성분을 갖는다.
이와 같이, 사용자가 오브젝트(404) 둘레로 곡선 경로로 움직이는 경우, 결과적인 관점 비디오는 일반적으로 다음과 같은 일반적인 방식의 겉보기 움직임, 즉 (예를 들어, 좌표 [640, 480]을 향하는) 비디오 프레임의 상부 우측에서의 좌측으로의 상향 움직임, (예를 들어, 좌표 [0, 480]을 향하는) 비디오 프레임의 상부 좌측에서의 좌측으로의 하향 움직임, (예를 들어, 좌표 [0, 0]을 향하는) 비디오 프레임의 하부 좌측에서의 우측으로의 하향 움직임, 그리고 (예를 들어, 좌표 [640, 0]을 향하는) 비디오 프레임의 하부 우측에서의 우측으로의 상향 움직임을 보여주는 광학-흐름 필드(450)를 갖는다. 더욱이, (영역(410) 외부의 영역에서의) 광학-흐름 필드(450) 내의 광학-흐름 벡터들의 각도는, 광학-흐름 필드(450)가 도 4b에 제시되는 일반적인 곡률을 나타내는 경우의 그러한 것이다. 이러한 일반적인 곡률은 도 4a에 제시된 바와 같은 사용자-행동을 캡처한 관점 비디오의 특징을 나타낸다.
B. 회전하는 오브젝트를 주시( Fixation on a Rotating Object )
도 5a는 예시적인 실시예에 따른, 특정 오브젝트의 선택으로서 인식될 수 있는 소정의 사용자-행동을 나타낸 또 다른 예이다. 특히, 도 5a에 제시된 사용자-행동은, 사용자가 실질적으로 동일한 위치에 머물러 있는 동안 사용자의 관측 시야 내에서 회전하는 오브젝트(504)와 같은 움직이는 오브젝트를 선택하는데 사용될 수 있다.
특히, 사용자(502)가 실질적으로 동일한 장소에 머물러 있으면서 오브젝트(504)를 실질적으로 계속 주시하는 경우, 움직이지 않는 오브젝트들(506 및 508)을 포함하는 프레임의 나머지는 회전하는 오브젝트(504)보다 사용자에 대해 더 적은 겉보기 움직임을 갖는다. (도 5a에서, 프레임의 나머지에서의 광학-흐름 벡터들은 크기를 갖지 않는 것으로 제시되었지만, 이러한 것이 반드시 요구되는 것은 아니다.) 따라서, 도 5a에 의해 예시된 사용자-행동 대응하는 관점 비디오에서, 회전하는 오브젝트(504)에서의 영역 및/또는 회전하는 오브젝트(504) 둘레에서의 영역 내의 광학-흐름 벡터들은 평균적으로, 비디오 프레임 내의 다른 곳에서의 광학-흐름 벡터들보다 훨씬 더 큰 크기를 가질 것이다. 이것은 선택된 오브젝트를 포함하는 비디오의 그 영역에서 광학-흐름 차를 생성시킨다. 더욱이, 이러한 관점 비디오의 광학 흐름은 오브젝트(504)가 존재하는 영역에서 일반적인 곡률을 나타낼 수 있는바, 이 경우 곡률은 사용자가 실질적으로 움직임 없이 오브젝트를 주시하는 동안의 회전하는 오브젝트의 특징을 나타낸다. 이처럼, 오브젝트(504)가 존재하는 영역에서의 곡률 및/또는 크기의 차이는 오브젝트(504)가 존재하는 영역에서의 광학-흐름 차를 식별하는데 사용될 수 있다.
도 5a에 예시된 소정의 사용자-행동은, 사용자가 손으로 집을 수 있는 보다 작고 그리고/또는 보다 경량의 오브젝트들에 대해 특히 유용할 수 있다. 특히, 사용자는 이러한 오브젝트를 자신의 관측 시야 내에서 잡고 오브젝트를 계속 주시하면서 오브젝트를 회전시킴으로써 검색을 개시시킬 수 있다. 이러한 사용자-행동은 또한, 예컨대, 수하물 컨베이어 벨트(carousel)와 같이 저절로 회전하는 오브젝트를 주시함으로써 달성될 수 있다. 그러나, 이러한 사용자-행동은 임의의 특정 사용에만 한정되는 것이 아니며 혹은 임의의 특정 타입의 오브젝트의 사용에 한정되는 것이 아님을 이해해야 한다.
도 5b는 도 5a에 의해 예시된 사용자-행동에 대응하는 예시적인 광학-흐름 필드를 나타낸다. 특히, 도 5b에 제시된 광학-흐름 필드(550)에서, 영역(552) 내의 광학-흐름 벡터들은 영역(552) 외부의 광학-흐름 벡터들보다 일반적으로 더 큰 크기를 갖는다. 이에 따라, 영역(552)은 광학-흐름 차가 존재한다고 결정될 수 있다. (도 5b에서는 오브젝트들(504-508)이 전면 관측으로부터 제시되는 것이고, 반면 도 5a에 제시된 것은 위에서 아래를 본 관측으로부터 제시된 것임에 유의해야 한다.)
도 5b에 예시된 다른 실시형태에서, 오브젝트(504)의 회전으로부터 발생되는 광학 흐름은, 사용자가 한 장소에 계속 머물러 있고 회전하는 오브젝트를 계속 주시하는 것의 특징을 나타내는 곡률을 갖는다. 예를 들어, 오브젝트(504)가 반시계 방향으로 회전함에 따라, 비디오의 좌측에 있는 픽셀들은 우측으로의 하향 움직임을 갖는 겉보기 움직임을 갖고, 반면 비디오의 우측에 있는 픽셀들은 좌측으로의 상향 움직임을 갖는 겉보기 움직임을 갖는다.
Ⅳ. 예시적 방법( Exemplary Methods )
예시적인 방법은 일반적으로, 컴퓨팅 디바이스가, 관점 비디오와 같은 비디오로부터 광학 흐름을 분석하는 것, 그리고 광학 흐름이 언제 (오브젝트의 선택을 위한) 소정의 사용자-행동(예를 들어, 도 4a 및 도 5a에 예시된 사용자-행동)에 대응하는 지를 결정하는 것을 포함할 수 있다. 광학 흐름의 분석은 또한, 비디오 내의 (선택되는) 특정 오브젝트를 식별할 수 있고, 이에 따라 그 오브젝트에 관한 동작이 취해질 수 있게 된다. 이러한 예시적 방법은, 다른 것들 중에서도, 선택된 오브젝트에 관해 검색을 수행하는 것 혹은 선택된 오브젝트의 3D 복원을 제공하는 것과 같이, 그 선택된 오브젝트에 관한 동작을 취하는 것을 포함할 수 있다.
본 명세서에서, 예시적 방법들은 HMD를 구비한 착용가능 컴퓨터에 의해 수행되는 것(예를 들어, 이러한 착용가능 컴퓨터의 온-보드 컴퓨팅 시스템에 의해 수행되는 것)으로서 사례를 통해 설명될 수 있다. 그러나, 예시적 방법은, 임의 타입의 착용가능 컴퓨터에 의해 수행될 수 있거나, 착용가능 컴퓨터의 다수의 컴포넌트들에 의해 수행될 수 있으며, 혹은 네트워크를 통해 착용가능 컴퓨터와 통신하는 (예를 들어, 증강-현실 서버와 연계되거나 증강-현실 서버에 보조를 받으며) 하나 이상의 다른 엔티티들에 의해 수행될 수 있고, 또는 하나 이상의 다른 엔티티들과 결합된 착용가능 컴퓨터에 의해 수행될 수 있음을 이해해야 한다. 더욱이, 가능한 것으로, 예시적 방법은 착용가능 컴퓨터와는 다른 디바이스 상에서 수행될 수 있다. 예를 들어, 예시적 방법은 비디오 카메라에 의해, 혹은 비디오 카메라를 갖추고 있는 모바일 폰에 의해 수행될 수 있다. 다른 디바이스들 상에서의 구현이 또한 가능하다.
도 6은 예시적인 실시예에 따른 방법을 나타낸 흐름도이다. 방법(600)은 HMD를 구비한 착용가능 컴퓨터에 의해 수행되는 것(예를 들어, 이러한 착용가능 컴퓨터의 온-보드 컴퓨팅 시스템에 의해 수행되는 것)으로서 예시적으로 설명된다. 방법(600)은, 착용가능 컴퓨터가 사용자-선택 오브젝트를 식별하고 이에 응답하여 해당 오브젝트에 관해 검색을 수행하는 실시예의 일 예이다.
보다 구체적으로는, 예시적 방법(600)은, 블록(602)으로 제시된 바와 같이, 착용가능 컴퓨터의 온-보드 컴퓨팅 시스템이 HMD 상의 비디오 카메라로부터 비디오를 수신하는 것을 포함한다. 그 다음에, 이 시스템은 블록(604)으로 제시된 바와 같이, 비디오에 대한 광학 흐름을 결정한다. 예시적 실시예에서, 시스템은 비디오 카메라에 의해 캡처된 비디오의 광학 흐름을 계속 결정하고 분석한다. 이에 따라, 블록(606)으로 제시된 바와 같이, 시스템은 비디오 내의 영역에 광학-흐름 차가 언제 존재하는 지를 결정할 수 있다. 광학-흐름 차가 존재한다는 결정에 응답하여, 시스템은, 블록(608)으로 제시된 바와 같이, 광학-흐름 차가 존재하는 영역에 실질적으로 위치하고 있는 비디오 내의 오브젝트를 식별하게 된다. 그 다음에, 블록(610)으로 제시된 바와 같이, 시스템은 오브젝트에 관해 검색을 수행하고, 그리고, 블록(612)으로 제시된 바와 같이, 검색의 결과들에 대응하는 그래픽 정보를 시스템의 디스플레이로 하여금 디스플레이하도록 한다.
A. 광학-흐름 차를 검출( Detecting an Optical - Flow Differential )
예시적 방법에 따르면, 본 시스템은, 도 4a 및 도 5a에 의해 예시된 바와 같은 (비디오 내의 오브젝트의 시각적 분리를 발생시키는) 소정의 사용자-행동에 대응하는 광학-흐름 차에 대해 비디오의 광학 흐름을 분석한다. 사용자는 선택된 오브젝트가 사용자의 기준 프레임 내에서 상당량의 더 큰 혹은 더 작은 겉보기 운동을 일으키도록 하는 행동을 통해, 그 선택된 오브젝트의 시각적 분리를 일으킬 수 있다. 착용가능 컴퓨터가 일반적으로 사용자의 머리의 움직임을 따르는 관점 비디오 카메라를 포함하는 경우, 사용자에 의한 이러한 시각적 분리는 결과적으로, 선택된 오브젝트가 존재하는 위치에서의 광학 흐름이 비디오 내의 다른 곳에서의 광학 흐름과는 상당히 다르도록 한다.
예를 들어, 사용자가 오브젝트 둘레로 회전하여 움직이는 동안 오브젝트를 주시하는 것의 특징을 나타내는 (도 4b에 제시된 바와 같은) 광학-흐름 차가 언제 존재하는 지를 검출하기 위해, 시스템은 광학 흐름을 분석할 수 있다. 이를 수행하기 위해, 시스템은 비디오의 특정 영역 혹은 구역 내의 광학-흐름 벡터들이 평균적으로, 비디오 내의 다른 곳(예를 들어, 해당하는 그 영역의 외부)에서의 광학-흐름 벡터들보다 실질적으로 더 작은 크기를 갖는 지를 결정할 수 있다. 특히, 시스템은 먼저, 광학-흐름 벡터들의 소정의 퍼센티지(percentage)에 대한 크기가 임계 크기(threshold magnitude)보다 작도록 임계 크기를 결정할 수 있다. 그 다음에, 시스템은 어떤 광학-흐름 벡터들이 임계 크기보다 더 작은 크기를 갖는지를 결정할 수 있고, 그리고 임계 크기보다 더 작은 크기를 갖는 광학 흐름 벡터들의 소정의 퍼센트를 적어도 포함하는 비디오 내의 영역을 결정할 수 있다.
일부 실시예들에서, 광학-흐름 차가 존재하는 영역을 식별하는 것은 또한, 광학-흐름 필드가 소정의 사용자-행동과 관련된 특징을 나타내는 곡률을 갖는지를 결정하는 것을 포함할 수 있다. 예를 들어, 광학-흐름 필드가 광학-흐름 필드 내의 다른 곳보다 상당히 더 큰 크기를 갖는 영역을 포함하는 경우, 착용가능 컴퓨터는 또한, 이 영역 외부의 광학 흐름이 이 영역에서 오브젝트 둘레로 사용자가 회전하는 것의 특징을 나타내는 곡률을 갖는지 여부를 고려할 수 있다. 만약 이러한 특징을 나타내는 곡률이 검출된다면, 착용가능 컴퓨터는 이 영역에서 광학-흐름 차가 존재한다고 결론 내린다. 만약 그렇지 않다면, 착용가능 컴퓨터는 특징을 나타내는 곡률이 없기 때문에 (비록 크기에 있어 상당한 차이가 있을지라도) 광학-흐름 차는 존재하지 않는다고 결론 내릴 수 있다. 이러한 타입의 광학-흐름 필드를 포함하는 광학-흐름 필드의 특정 예가 도 4b에 의해 예시된다. 더 구체적으로 살펴보면, (i) 영역(410)에서의 광학 흐름이 광학-흐름 필드(450) 내의 다른 곳과는 그 크기에 있어 상당히 다르고 (ii) 영역(410) 외부의 광학 흐름이 영역(410)에서의 비디오 내에 보여지는 오브젝트 둘레로 사용자가 회전하는 것의 특징을 나타내는 곡률을 갖기 때문에, 착용가능 컴퓨터는 광학-흐름 필드(450)의 영역(410)에서 광학-흐름 차가 존재한다고 결론 내릴 수 있다.
다른 실시형태에서, 온-보드 컴퓨팅 시스템은 추가적으로 혹은 대안적으로, 에를 들어, 사용자가 실질적으로 동일한 장소에 머물러 있으면서 오브젝트가 회전하는 동안 오브젝트를 계속 주시하는, 도 5a에 예시된 바와 같은, 소정의 사용자-행동의 특징을 나타내는 광학-흐름 차가 언제 존재하는지를 검출할 수 있다. 특히, 시스템이 소정의 시점에서의 광학 흐름을 결정하면, 시스템은 비디오의 특정 영역 내의 광학-흐름 벡터들이 비디오 내의 다른 곳(예를 들어, 해당하는 그 영역의 외부)의 광학-흐름 벡터들보다 실질적으로 더 큰 크기를 갖는 지를 결정할 수 있다. 이러한 결정은 HMD가 먼저, 광학-흐름 벡터들의 소정의 퍼센티지에 대한 크기가 임계 크기보다 작도록 임계 크기를 결정하는 것을 포함할 수 있다. 그 다음에, HMD는 어떤 광학-흐름 벡터들이 임계 크기보다 더 큰 크기를 갖는지를 결정할 수 있고, 그리고 임계 크기보다 더 큰 크기를 갖는 광학 흐름 벡터들의 소정의 퍼센트를 적어도 포함하는 영역이 존재하는 지를 결정할 수 있다.
일부 실시예들에서, 착용가능 컴퓨터는 또한, 다른 곳보다 더 큰 크기를 갖는 광학-흐름 필드의 영역에서의 특징적인 곡률의 존재에 관해 광학-흐름 차의 식별을 조정할 수 있다. 도 5b는 이러한 광학-흐름 차가 존재하는 광학-흐름 필드(550)를 예시한다. 이에 따라, 영역(510)이 평균적으로 상당히 더 큰 크기를 갖는다고 결정되는 경우, 영역(510)에서의 광학 흐름은 회전하는 오브젝트의 특징을 나타내는 곡률에 대해 분석될 수 있다. 본 경우에 이러한 특징을 나타내는 곡률이 존재하기 때문에, 착용가능 컴퓨터는 영역(510)에 광학-흐름 차가 존재한다고 결론 내릴 수 있다.
또 다른 실시형태에서, 임계 크기의 결정은 시스템이 그 결정된 광학 흐름으로부터 광학-흐름 벡터들의 크기 분포를 발생시키는 것을 포함할 수 있다. 이후 이러한 분포는 광학-흐름 벡터들의 소정의 퍼센티지가 특정 크기보다 더 작은 크기를 갖게 되는 그러한 특정 크기를 결정하기 위해 분석될 수 있다. 그 다음에 이러한 특정 크기는 임계 크기로서 설정될 수 있다.
예를 들어, 도 7은 도 4b에 제시된 바와 유사한 광학 흐름 차를 갖는 광학 흐름 필드로부터의 광학-흐름 벡터들의 분포를 나타내는 히스토그램이다. 이러한 예에서는, HMD가 임계 크기를, 광학-흐름 벡터들의 25%가 임계 크기보다 더 작은 크기를 갖게 되는 그러한 크기와 동일하도록 설정하는 실시예를 고려한다. 히스토그램으로 제시된 바와 같이, 임계 크기(750)에 의해, 광학-흐름 필드로부터의 광학-흐름 벡터들의 25%는 임계 크기(750)보다 더 작은 크기를 갖는다. (도 7은 예시적 목적으로 제공되는 것이고 따라서 수학적으로 정확하도록 의도된 것이 아님에 유의해야 한다.) 25%의 퍼센티지는 단지 예로서 제공되는 것이고, 임계 크기를 결정하기 위해 사용되는 소정의 퍼센티지는 공학적 설계의 선택에 따라 변할 수 있음에 유의해야 한다.
온-보드 컴퓨팅 시스템은 임계치 아래의 크기를 갖는 그러한 광학-흐름 벡터들(이것은 "하위-크기 광학-흐름 벡터들(low-magnitude optical-flow vectors)"로서 지칭될 수 있음)의 위치(즉, 픽셀 좌표) 값을 구할 수 있고, 하위-크기 광학-흐름 벡터들의 소정의 퍼센티지가 집중된 비디오 내의 영역이 존재하는 지를 결정할 수 있다. 일 영역 내에 하위-크기 광학-흐름 벡터들이 집중되면, 사용자가 도 4b에 제시된 바와 같은 그러한 소정의 사용자-행동을 수행하는 경우 캡처되는 비디오에서 전형적으로 일어나는 광학-흐름 차가 생성된다.
이에 따라, 온-보드 컴퓨팅 시스템이 특정 크기의 영역 내에 하위-크기 광학-흐름 벡터들의 소정의 퍼센티지가 존재함을 검출하는 경우, 이것을 그 영역에서 광학-흐름 차가 존재한다는 표시로서 취할 수 있다. 예컨대, 시스템은 소정의 크기(예를 들어, 소정의 해상도)의 영역 내에 하위-크기 광학-흐름 벡터들의 75%가 집중되어 있는 것을 해당 영역 내의 오브젝트가 선택되었음을 표시하는 광학-흐름 차가 존재하는 것으로 고려할 수 있다. 예로서 도 4b를 다시 참조하면, 시스템은 하위-크기 광학-흐름 벡터들의 75%가 영역(410) 내에 있음을 결정할 수 있고, 따라서 영역(410)에서 광학-흐름 차가 존재한다고 결정할 수 있다.
도 8은 도 5b에 제시된 바와 유사한 광학 흐름 차를 갖는 광학 흐름 필드로부터의 광학-흐름 벡터들의 분포를 나타내는 또 다른 히스토그램이다. 특정 예로서, 시스템이 임계 크기를, 광학-흐름 벡터들의 25%가 임계 크기보다 더 큰 크기를 갖게 되는 그러한 크기와 동일하도록 설정하는 실시예를 고려한다. 히스토그램으로 제시된 바와 같이, 임계 크기(850)에 의해, 광학-흐름 필드(800)로부터의 광학-흐름 벡터들의 25%는 임계 크기보다 더 큰 크기를 갖는다. (도 8은 예시적 목적으로 제공되는 것이고 따라서 수학적으로 정확하도록 의도된 것이 아님에 유의해야 한다.) 25%의 퍼센티지는 단지 예로서 제공되는 것이고, 임계 크기를 결정하기 위해 사용되는 소정의 퍼센티지는 공학적 설계의 선택에 따라 변할 수 있음에 유의해야 한다.
온-보드 컴퓨팅 시스템은 임계치 위의 크기를 갖는 그러한 광학-흐름 벡터들(이것은 "상위-크기 광학-흐름 벡터들(high-magnitude optical-flow vectors)"로서 지칭될 수 있음)의 위치(즉, 픽셀 좌표) 값을 구할 수 있고, 상위-크기 광학-흐름 벡터들의 소정의 퍼센티지가 집중된 비디오 내의 영역이 존재하는 지를 결정할 수 있다. 일 영역 내에 상위-크기 광학-흐름 벡터들이 집중되면, 사용자가 도 5a에 제시된 바와 같은 그러한 소정의 사용자-행동을 수행하는 경우 캡처되는 비디오에서 전형적으로 일어나는 광학-흐름 차가 생성된다.
이에 따라, 온-보드 컴퓨팅 시스템이 특정 크기의 영역 내에 상위-크기 광학-흐름 벡터들의 소정의 퍼센티지가 존재함을 검출하는 경우, 이것을 그 영역에서 광학-흐름 차가 존재한다는 표시로서 취할 수 있다. 예컨대, HMD은 소정의 크기의 영역 내에 상위-크기 광학-흐름 벡터들의 75%가 집중되어 있는 것을 해당 영역 내의 오브젝트가 선택되었음을 표시하는 광학-흐름 차가 존재하는 것으로 고려할 수 있다. 예로서 도 5b를 다시 참조하면, HMD은 영역(510) 내에 상위-크기 광학-흐름 벡터들의 75%보다 더 많이 있음을 결정할 수 있고, 따라서 영역(510)에서 광학-흐름 차가 존재한다고 결정할 수 있다.
일부 실시예들에서, 광학-흐름 차가 존재하는 영역이 소정의 시간 주기 동안 실질적으로 동일한 크기로 유지되는지를 결정하기 위해 추가적인 점검이 수행될 수 있다. 예컨대, 사용자가 오브젝트 둘레로 회전함에 따라, 사용자는 오브젝트로부터 근사적으로 동일한 거리에 있을 수 있을 수 있다. 이러한 경우에, 오브젝트의 크기는 대응하는 관점 비디오에서 실질적으로 동일하게 유지되게 된다. 이에 따라, 광학 흐름 차의 크기도 또한 실질적으로 동일하게 유지되게 된다. 따라서, 광학-흐름 차가 식별되면, 착용가능 컴퓨터는 광학-흐름 차의 크기를 결정할 수 있고, 그리고 그 크기가 적어도 소정의 시간 주기 동안 실질적으로 동일하게 유지되는 경우에만 광학-흐름 차가 있는 오브젝트를 식별하고 그리고/또는 오브젝트에 관한 동작을 취하도록 동작할 수 있다.
B. 광학-흐름 차가 존재하는 영역 내의 오브젝트를 식별( Identifying an Object in the Area of an Optical - Flow Differential )
광학-흐름 차가 비디오의 특정 영역에 존재한다고 결정되면, HMD는 그 영역에 위치하고 있는 오브젝트를 식별하도록 동작한다. 예를 들어, 영역(510)이 실질적으로 오브젝트(504)를 포함하고 있기 때문에, HMD는 오브젝트(504)를 선택된 오브젝트로서 식별할 수 있다. 이러한 기능은 다양한 방식으로 달성될 수 있다. 예를 들어, 화상 내의 오브젝트를 식별함과 아울러 각각의 오브젝트의 위치를 식별하기 위해 이미지에 오브젝트-인식 기법들이 적용될 수 있다. 특히, 오브젝트를 형성하는 픽셀들이 식별될 수 있다. 이후 광학-흐름 차가 존재하는 영역에서의 오브젝트는, 어떤 오브젝트가 광학-흐름 차가 존재하는 픽셀 좌표와 매칭되는 픽셀들을 갖는지를 결정함으로써, 식별될 수 있다.
소정의 오브젝트의 픽셀들이 광학-흐름 차가 존재하는 픽셀 좌표와 매칭되는지 여부를 결정하기 위해 다양한 기준들이 사용될 수 있다. 예컨대, 광학-흐름 차가 존재하는 영역은 선택된 오브젝트를 실질적으로 포함해야 하는 경계를 정의하는 것으로서 처리될 수 있다. 이에 따라, HMD는 오브젝트로부터의 픽셀들의 소정의 퍼센티지가 영역에 의해 형성되는 경계 내에 있는지 여부를 결정할 수 있다. 예를 들어, 오브젝트의 적어도 75%가 소정의 영역 내에 있는 경우(즉, 오브젝트를 형성하는 픽셀들의 적어도 75%가 그 영역 내에 있는 경우) 오브젝트가 그 영역 내에 포함되어 있다고 고려될 수 있다. 다른 예들이 가능하고, 이것은 공학적 설계의 선택에 따라 변할 수 있다.
대안적으로, 광학-흐름 차가 존재하는 영역은 오브젝트가 광학-흐름 차가 존재하는 영역 내에 대다수의 픽셀들을 포함하는 경우에는 언제나 선택하는 커서(cursor)로서 처리될 수 있다. 이러한 실시예에서, 광학-흐름 차가 존재하는 영역은 더 작은 영역이 되도록 선택될 수 있다. 이것을 수행하기 위해서, 임계 크기를 결정하기 위해 사용되는 퍼센티지는 예를 들어 5%로 감소될 수 있고, 이에 따라 광학-흐름 차가 존재하는 영역 내의 광학-흐름 벡터들의 개수는 감소하게 되며 따라서 영역의 크기도 또한 감소하게 된다.
다른 실시형태에서, 오브젝트를 인식하는 프로세스가 더 효율적으로 수행되도록 하기 위해서, 광학-흐름 차가 존재하는 영역 외부의 프레임에서의 영역에 가우시안 블러(Gaussian blur)가 적용될 수 있다. 이렇게 함으로써 오브젝트를 갖는 영역이 강조(highlight)될 수 있으며, 프레임 내의 다른 모든 정보로부터 오브젝트를 선별하는 프로세스는 간략하게 될 수 있다.
오브젝트의 이미지를 개선시키기 위해 다른 기법들이 또한 적용될 수 있고, 이에 따라 오브젝트에 관한 검색 혹은 다른 동작이 더 정확해질 수 있다. 예를 들어, 오브젝트가 전체적으로 식별되는 경우, 비디오로부터의 오브젝트의 이미지 상에 초해상(super resolution) 기법이 수행될 수 있다. 또 다른 예로서, 서브-픽셀 해상(sub-pixel resolution) 기법이 또한, 오브젝트의 이미지 상에 수행될 수 있다. 초해상을 위한 기법 및 서브-픽셀 해상을 위한 기법은 모두 본 발명의 기술분야에서 숙련된 자들에게 잘 알려져 있고, 따라서 본 명세서에서는 더 상세히 논의되지 않는다.
C. 광학-흐름 차가 존재하는 영역 내의 오브젝트에 관한 동작( Taking Action on an Object in the Area of an Optical - Flow Differential )
도 6의 방법(600)을 다시 참조하면, 광학-흐름 차가 존재하는 영역 내의 오브젝트가 식별되면, 오브젝트에 관한 검색이 수행될 수 있다. 일반적으로, 임의 타입의 이미지-기반 검색이 수행될 수 있다. 예를 들어, 선택된 오브젝트에 관한 이미지-기반 인터넷 검색이 본 발명의 기술분야에서 숙련된 자들에게 잘 알려진 다수의 검색 기법들 중 하나를 사용하여 수행될 수 있다. 이러한 검색은 예를 들어, 이미지 데이터베이스의 검색, 오브젝트와 관련된 텍스트에 기반하는 검색, 혹은 또 다른 타입의 검색을 모두 포함할 수 있다. 이에 따라, 검색 결과들은 이미지, 텍스트, 하이퍼링크(hyperlinks) 및/또는 다른 타입의 매체들 그리고/또는 다른 타입의 정보를 포함할 수 있다.
식별된 오브젝트에 관한 다른 동작들이 또한 취해질 수 있다. 예를 들어, 식별된 오브젝트는 강조될 수 있거나, 혹은 그렇지 않으면 오브젝트에 관한 검색이 수행되기 전에 HMD에서 사용자에게 표시될 수 있다. 그 다음에 사용자는 임의의 검색이 오브젝트에 관한 검색을 수행해야 함을 확인시키도록 하는 프롬프트(prompt) 상태에 있을 수 있다. 예를 들어, 시각적 프롬프트(visual prompt)가 HMD 내에 디스플레이될 수 있다. 또 다른 예로서, 청각적 프롬프트(auditory prompt)가 착용가능 컴퓨터의 스피커를 통해 재생될 수 있다. 그 다음에, 사용자는 예를 들어, 검색이 수행돼야 함을 확인시킴으로써 응답할 수 있거나, 어떠한 검색도 수행되지 않아야 함을 표시함으로써 응답할 수 있으며, 그리고/또는 어떤 다른 동작이 취해져야 함을 표시함으로써 응답할 수 있다. 대안으로서, 사용자는 오브젝트와 관련된 비-검색 기능(non-search function)을 확인시키도록 하는 프롬프트 상태에 있을 수 있다. 이러한 실시예에서, 비-검색 기능은 사용자로부터의 확인의 수신시 수행될 수 있다.
다른 실시형태에서, 선택된 오브젝트에 대해 3-차원(3D) 복원 및/또는 3D 검색이 수행될 수 있다. 이에 따라, 착용가능 컴퓨터는 사용자가 그 선택된 오브젝트 둘레로 회전함에 따라(혹은 오브젝트 자체가 회전함에 따라) 캡처된 비디오를 사용하여 오브젝트의 3D 복원을 발생시킬 수 있다. 이러한 비디오는 전형적으로, 회전에 따른 선택된 오브젝트의 다수의 뷰(view)들을 캡처하는 비디오 프레임들의 시퀀스를 제공한다. 그 다음에 본 발명의 기술분야에서 잘 알려져 있는 3D 복원을 위한 기법들이 이러한 비디오 프레임들을 기반으로 하여 3D 복원을 발생시키도록 적용될 수 있다. 그 다음에 본 발명의 기술분야에서 숙련된 자들에게 잘 알려져 있는 3D 검색 기법들 중 어느 하나가 그 선택된 오브젝트의 3D 복원에 관해 3D 검색을 수행하기 위해 적용될 수 있다. 더욱이, 착용가능 컴퓨터는, 자체적으로 검색을 수행하는 것, 또는 3D 복원을 발생시키고 이것을 AR 서버와 같은 또 다른 엔티티에 전송하여 검색이 수행되도록 하는 것, 또는 비디오를 또 다른 엔티티에 전송하는 것(여기서 또 다른 엔티티는 이로부터 3D 복원을 발생시키고 HMD에 대해 검색을 수행함)을 행하도록 구성될 수 있다.
또 다른 실시형태에서, 예시적 시스템은 3D 복원의 생성에 따라 3D 복원을 평가할 수 있고, 3D 복원이 어떻게 개선될 수 있는지에 관한 피드백을 제공할 수 있다. 특히, 착용가능 컴퓨터는 비디오에 캡처되지 않았던 정보로서 3-차원 복원을 개선시킬 수 있는 정보가 존재하는지 여부를 결정할 수 있다. 예컨대, 오브젝트 둘레로 회전하는 소정의 사용자-행동이 서로 다른 각도로부터 오브젝트의 다수의 뷰들을 포함하는 비디오를 발생시킬 수 있는 경우를 고려한다. 그러나, 본 경우는 서로 다른 각도로부터의 추가적인 뷰들이 3D 복원을 개선시킬 수 있는 그러한 경우일 수 있다.
만약 캡처되지 않았던 정보가 3D 복원을 개선시킬 수 있다고 결정되면, 착용가능 컴퓨터는 사용자로 하여금 예를 들어, 3D 복원을 개선시킬 수 있는 정보 중 적어도 일부가 비디오에 캡처될 가능성이 있는 사용자-행동을 수행하도록 하는 프롬프트 상태에 있게 할 수 있다. 예를 들어, 프롬프트는 HMD에 디스플레이되는 화살표의 형태를 취할 수 있는바, 여기서 화살표는 오브젝트의 추가적인 뷰들이 관점 비디오에 캡쳐될 수 있도록 사용자가 선택된 오브젝트 둘레로 회전해야 하는 방향을 표시한다. 또 다른 예로서, 선택된 오브젝트가 특정 방향으로 회전돼야 함을 표시하는 화살표가 디스플레이될 수 있다. 어느 경우에서건, 화살표는 회전이 동일한 방향으로 계속 진행해야 함을 표시할 수 있거나 혹은 회전이 역방향으로 바뀌어야 함을 표시할 수 있음에 유의해야 한다. 사용자에게 다른 타입의 피드백 혹은 명령을 제공하는 다른 타입의 프롬프트가 또한 가능하다.
다른 실시형태에서, 예시적 시스템은 서로 다른 타입의 광학-흐름 차들을 구분하도록 구성될 수 있다. 이에 따라, 예시적 시스템은 서로 다른 기능들을 서로 다른 타입의 광학-흐름 차들과 관련시킬 수 있다. 예컨대, 예시적 착용가능 컴퓨터는 적어도 제 1 타입과 제 2 타입(예를 들어, 이미지 검색 및 3D 검색)을 포함하는 복수 타입의 광학 흐름 차들을 구분하도록 구성될 수 있다. 이에 따라, 착용가능 컴퓨터는 소정의 시점에서 어떤 타입의 광학-흐름 차가 존재하는 지를 결정할 수 있고, 이에 응답하여 (예를 들어, 광학-흐름 차의 타입에 따라 이미지 검색 혹은 3D 검색을 수행함으로써) 오브젝트에 관한 검색이 수행되는 방식을 조정할 수 있다.
더 구체적으로 설명하면, 일부 실시예들에서, 일정 방향으로 오브젝트 둘레로 회전하는 특징을 나타내는 광학-흐름 차들은 동일한 동작(예를 들어, 검색)을 촉발시킬 수 있다. 그러나, 다른 실시예들에서, 오브젝트 둘레로 반시계 방향 회전과 관련된 광학-흐름 차는 제 1 기능(예를 들어, 기본적인 오브젝트 검색)으로 맵핑될 수 있고, 반면 시계방향 회전과 관련된 광학-흐름 차는 제 2 기능(예를 들어, 오브젝트의 3D 복원)으로 맵핑될 수 있다.
또한, 더 세부적인 제어를 사용자에게 제공하기 위해 순차적인 제스처들에 대한 광학 흐름이 분석될 수 있다. 예를 들어, 단지 오브젝트 둘레로의 회전과 관련된 광학-흐름 차가 검출되었고 오브젝트에 대한 검색 결과들이 단지 디스플레이된 경우를 고려한다. 이 경우, 사용자는 검색된 오브젝트에 관해 수행될 다양한 동작들 중 하나를 선택하기 위해 오브젝트를 계속 보면서 자신의 머리가 기울어지게 할 수 있다(그리고 대응하는 광학 흐름이 검출됨). 예를 들어, 제1의 방향으로 머리가 기울어지는 특징을 나타내는 광학 흐름이 검출되면, 이것은 오브젝트와 관련된 웹페이지를 개시시킬 수 있고, 반면 제2의 방향으로 기울어지는 특징을 나타내는 광학 흐름이 검출되면, 이것은 이미지를 저장할 수 있고, 그리고 제3의 방향으로 기울어지는 특징을 나타내는 광학 흐름이 검출되면, 이것은 이미지를 이메일 메시지에 로딩시킬 수 있다. 다른 많은 제스터 및 기능이 또한 가능하다.
더욱이, 가능한 것으로서, 사용자를 보조하기 위해 후속의 제스처들을 안내하는 정보가 디스플레이될 수 있다. 예를 들어, 소정의 방향으로의 기울어짐과 관련된 기능을 표시하는 텍스트에 따라 기울어짐의 방향을 표시하는 화살표가 디스플레이될 수 있다. 다른 예들이 또한 가능하다.
D. 예시적 방법에서의 서버 보조( Server Assistance in Example Methods )
앞서의 예시적 방법들이 착용가능 컴퓨터(예를 들어, HMD)에 의해 수행되는 것으로서 주로 설명되었지만, 이러한 설명된 기능 중 일부 혹은 모두가 AR 서버와 같은 원격 엔티티에 의해 수행될 수 있음을 이해해야 한다. 예를 들어, AR 서버는, 착용가능 컴퓨터로부터 비디오를 수신할 수 있고, 비디오의 영역 내에 광학-흐름 차가 언제 존재하는 지를 결정할 수 있으며, 광학-흐름 차가 존재하는 영역 내의 오브젝트를 식별할 수 있고, 식별된 오브젝트를 검색할 수 있으며, 이후 착용가능 컴퓨터에게 검색 결과를 통지할 수 있다. 또 다른 예로서, 착용가능 컴퓨터는 광학-흐름 차가 언제 존재하는 지를 결정할 수 있고, 이후 광학-흐름 데이터 및 대응하는 비디오 프레임들을 AR 서버에 전송할 수 있는바, 여기서 AR 서버는 이러한 광학-흐름 데이터를 사용하여 어떤 오브젝트가 선택되었는지를 식별하게 되고, 이후 그 선택된 오브젝트에 관한 이미지-기반 검색을 수행한다. 다른 예들이 또한 가능하다.
일부 실시예들에서, 착용가능 컴퓨터는 AR 서버와 같은 원격 엔티티가 착용가능 컴퓨터에 대한 오브젝트를 식별하도록 요청함으로써 오브젝트를 식별할 수 있다. 예를 들어, 예시적 착용가능 컴퓨터가 광학-흐름 차의 존재를 결정하는 경우, 착용가능 컴퓨터는 대응하는 광학-흐름 데이터 및 비디오 프레임들(이로부터 데이터가 발생됨)을 AR 서버와 같은 원격 엔티티에 전송하도록 구성될 수 있다. 그 다음에, AR 서버는 비디오 프레임들 내의 오브젝트들을 식별하기 위해 오브젝트-인식 기법들을 적용할 수 있고, 그리고 어떤 오브젝트가 광학-흐름 차가 존재하는 곳에 위치하고 있는 지를 식별할 수 있다.
대안적으로, 예시적인 착용가능 컴퓨터는 비디오 프레임 내의 선택된 오브젝트를 분리시키기 위해 이미지 프로세싱 기법들을 적용할 수 있고, 그 다음에 비디오 프레임의 프로세싱된 버전을 오브젝트 식별 및 검색을 위해 AR 서버에 전송할 수 있다. 예를 들어, 만약 광학-흐름 결정 기법이, 광학-흐름 차가 존재하는 영역이 임의의 선택된 오브젝트를 실질적으로 포함하도록 구성된다면(예를 들어, 해당 영역이 그 선택된 오브젝트 둘레의 경계를 정의하는 것으로 처리되는 경우), 착용가능 컴퓨터는 광학-흐름 차가 존재하는 영역을 강조하기 위해 이미지-프로세싱 기법들을 적용할 수 있다. 예컨대, 착용가능 컴퓨터는 광학-흐름 차가 존재하는 영역 외부의 비디오 프레임의 모든 영역들을 흐리게 할 수 있거나, 제거할 수 있거나, 색을 엷게 하거나, 혹은 그렇지 않으면 강조할 수 있다. 광학-흐름 차가 존재하는 영역이 그 선택된 오브젝트를 실질적으로 포함하고 있기 때문에, 이 영역을 강조하는 것은 선택된 오브젝트를 분리시키는 역할을 할 수 있다. 따라서, 이렇게 하는 것은 선택된 오브젝트를 분리시킬 수 있고, 이에 따라 AR 서버는 단지 오브젝트가 무엇인지 식별만 하면 된다.
더욱이, 대안적 실시예에서, 가능한 것으로, 예시적 방법들 및 시스템들은 착용가능 컴퓨터들과는 다른 디바이스들에 포함될 수 있음을 이해해야 한다. 예를 들어, 본 발명의 기술분야에서 숙련된 자들은 모바일 폰 및 카메라(예를 들어, 비디오 카메라 혹은 비디오 능력을 갖는 스틸 카메라)와 같은 비디오 기록 능력을 갖는 다른 디바이스에 의해 구현될 수 있음을 이해할 것이다.
다양한 실시형태들과 실시예들이 본 명세서에서 개시되고 있지만, 다른 실시형태들 및 실시예들이 본 발명의 기술분야에서 숙련된 자들에게 명백하게 될 것이다. 본 명세서에서 개시되는 다양한 실시형태들과 실시예들은 예시적 목적으로 제공되며, 한정의 의미를 갖도록 의도되지 않았고, 그 진정한 범위 및 사상은 다음의 특허청구범위에 의해 나타나 있다.

Claims (24)

  1. 비디오 데이터(video data)를 수신하는 단계와;
    상기 비디오 데이터에 대한 광학 흐름(optical flow)을 결정하는 단계와;
    상기 비디오 데이터에 대한 상기 광학 흐름 내의 영역에서 광학 흐름 차(optical-flow differential)가 존재하는 지를 결정하는 단계와, 여기서 상기 광학 흐름 차가 존재하는 지를 결정하는 단계는,
    상기 영역 내의 광학 흐름이 상기 영역 외부의 광학 흐름과는 실질적으로 다른 크기(magnitude)를 갖는 지를 결정하는 것과, 그리고
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이, 오브젝트(object)의 선택과 관련된 소정의 사용자 행동(predetermined user-action)의 특징을 나타내는 곡률(curvature)을 갖는 지를 결정하는 것을 포함하며;
    상기 광학 흐름 내의 상기 영역에서 상기 광학 흐름 차가 존재한다는 결정에 응답하여,
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 오브젝트를 식별하는 단계와;
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 오브젝트에 관해 검색을 수행하는 단계와; 그리고
    상기 검색으로부터의 결과들에 대응하는 정보를 그래픽 디스플레이(graphical display)로 하여금 디스플레이하도록 하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 작은 크기를 가지며,
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이 상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하는 것은, 상기 특징을 나타내는 곡률이 상기 영역 외부의 광학 흐름에 존재하는 지를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 소정의 사용자 행동은, 사용자가 상기 오브젝트 둘레로 실질적으로 원형 경로를 따라 움직임에 따라 상기 오브젝트가 상기 사용자의 관측 시야(field of view) 내에서 실질적으로 동일한 위치에 있게 하는 것을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 큰 크기를 가지며,
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이 상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하는 것은, 상기 특징을 나타내는 곡률이 상기 영역 내에 존재하는 지를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 소정의 사용자 행동은 상기 오브젝트가 회전하는 동안 상기 오브젝트를 주시(fixation)하는 것을 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 광학 흐름은 상기 비디오 데이터에서의 복수의 표본점(sample point)들에서 복수의 광학 흐름 벡터(optical-flow vectors)들을 포함하고,
    상기 광학 흐름을 결정하는 단계는, 상기 비디오 데이터에서의 상기 표본점들 각각에 대해, (a) 상기 표본점의 좌표(coordinates)와 그리고 (b) 상기 표본점에서의 상기 광학 흐름 벡터의 크기 및 방향의 표시를 포함하는 광학 흐름 데이터(optical-flow data)를 발생시키는 것을 포함하고,
    상기 비디오 데이터에 대한 상기 광학 흐름 내의 상기 영역에서 상기 광학 흐름 차가 존재하는 지를 결정하는 단계는,
    상기 광학 흐름 벡터들의 소정의 퍼센티지(predetermined percentage) 각각에 대한 크기가 임계 크기(threshold magnitude)보다 더 작도록 상기 임계 크기를 결정하는 것과,
    상기 광학 흐름 벡터들 중 어느 것이 상기 임계 크기보다 작은 지를 결정하는 것과, 그리고
    상기 영역이, 적어도 상기 임계 크기보다 작은 크기를 갖는 상기 광학 흐름 벡터들의 소정의 퍼센트를 포함하는 지를 결정하는 것을 포함하는 것을 특징으로 방법.
  7. 제1항에 있어서,
    상기 광학 흐름은 상기 비디오 데이터에서의 복수의 표본점들에서 복수의 광학 흐름 벡터들을 포함하고,
    상기 광학 흐름을 결정하는 단계는, 상기 비디오 데이터에서의 상기 표본점들 각각에 대해, (a) 상기 표본점의 좌표와 그리고 (b) 상기 표본점에서의 상기 광학 흐름 벡터의 크기 및 방향의 표시를 포함하는 광학 흐름 데이터를 발생시키는 것을 포함하고,
    상기 비디오 데이터에 대한 상기 광학 흐름 내의 상기 영역에서 상기 광학 흐름 차가 존재하는 지를 결정하는 단계는,
    상기 광학 흐름 벡터들의 소정의 퍼센트의 크기가 임계 크기보다 더 크도록 상기 임계 크기를 결정하는 것과,
    상기 광학 흐름 벡터들 중 어느 것이 상기 임계 크기보다 큰지를 결정하는 것과, 그리고
    상기 영역이, 적어도 상기 임계 크기보다 큰 크기를 갖는 상기 광학 흐름 벡터들의 소정의 퍼센트를 포함하는 지를 결정하는 것을 포함하는 것을 특징으로 방법.
  8. 제1항에 있어서,
    상기 비디오 데이터로부터 상기 오브젝트의 3차원 복원(three-dimensional reconstruction)을 발생시키기 위해 상기 비디오 데이터로부터의 비디오 프레임(video frame)들을 사용하는 단계를 더 포함하고,
    상기 오브젝트에 관해 검색을 수행하는 단계는 상기 오브젝트의 상기 3차원 복원에 관해 3차원 검색을 수행하는 것을 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 3차원 복원을 개선(improve)시킬 수 있는 정보가 캡처(capture)되지 않았는지 여부를 결정하기 위해 상기 오브젝트의 상기 3차원 복원을 평가(evaluate)하는 단계와; 그리고
    캡처되지 않았던 정보가 상기 3차원 복원을 개선시킬 수 있는 것으로 결정된 경우, 사용자에 대한 프롬프트(prompt)를 개시시키는 단계를 더 포함하며,
    상기 사용자에 대한 프롬프트는 상기 사용자로 하여금 상기 3차원 복원을 개선시킬 수 있는 정보의 적어도 일부가 상기 비디오 데이터에 캡처될 가능성이 있는 사용자 행동을 수행하도록 지시하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 광학 흐름 차가 상기 비디오 데이터에서의 상기 영역에 언제 존재하는 지를 결정하기 위해 상기 비디오 데이터의 광학 흐름을 계속해서 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 영역에서 상기 광학 흐름 차가 존재하는 지를 결정하는 단계는,
    상기 비디오 데이터에서의 상기 영역에 있는 상기 광학 흐름 차를 검출하는 것과, 그리고
    상기 광학 흐름 차가 적어도 소정의 시간 주기 동안 상기 영역에 존속하는 지를 결정하는 것을 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 광학 흐름 차는 상기 비디오 데이터의 두 개의 프레임들 간에 존재하는 것으로 결정되며, 상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 비디오 데이터에서의 상기 오브젝트를 식별하는 것은,
    상기 두 개의 프레임들 중 제 1 프레임에 이미지-프로세싱 기법(image-processing technique)을 적용하여 상기 제 1 프레임에서 상기 오브젝트가 시각적으로 분리(isolate)되도록 하는 것과, 그리고
    또 하나의 다른 컴퓨팅 디바이스에 오브젝트 식별 요청을 전송하는 것을 포함하며,
    상기 오브젝트 식별 요청에는 상기 이미지 프로세싱 기법이 적용된 상기 제 1 프레임의 복제본(copy)이 포함되는 것을 특징으로 하는 방법.
  13. 명령들이 저장된 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은,
    비디오 데이터를 수신하기 위한 명령들과;
    상기 비디오 데이터에 대한 광학 흐름을 결정하기 위한 명령들과;
    상기 비디오 데이터에 대한 상기 광학 흐름 내의 영역에서 광학 흐름 차가 언제 존재하는 지를 결정하기 위한 명령들과, 여기서 상기 광학 흐름 차가 언제 존재하는 지를 결정하는 것은,
    상기 영역 내의 광학 흐름이 상기 영역 외부의 광학 흐름과는 실질적으로 다른 크기를 갖는 지를 결정하기 위한 명령들, 그리고
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이, 오브젝트의 선택과 관련된 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하기 위한 명령들을 수행함으로써 이루어지고;
    상기 광학 흐름 차가 존재한다는 결정에 응답하여,
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 비디오 데이터에서의 오브젝트를 식별하기 위한 명령들과;
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 오브젝트에 관해 검색이 수행되도록 하기 위한 명령들과; 그리고
    상기 검색으로부터의 결과들에 대응하는 정보를 그래픽 디스플레이로 하여금 디스플레이하도록 하는 명령들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  14. 제13항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 작은 크기를 가지며,
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이 상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하기 위한 명령들은, 상기 특징을 나타내는 곡률이 상기 영역 외부의 광학 흐름에 존재하는 지를 결정하기 위한 명령들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  15. 제14항에 있어서,
    상기 소정의 사용자 행동은, 사용자가 상기 오브젝트 둘레로 실질적으로 원형 경로를 따라 움직임에 따라 상기 오브젝트가 상기 사용자의 관측 시야 내에서 실질적으로 동일한 위치에 있게 하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  16. 제13항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 큰 크기를 가지며,
    상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이 상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하기 위한 명령들은, 상기 특징을 나타내는 곡률이 상기 영역 내에 존재하는 지를 결정하기 위한 명령들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 소정의 사용자 행동은 상기 오브젝트가 회전하는 동안 상기 오브젝트를 주시하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  18. 시스템으로서,
    컴퓨팅 디바이스의 디스플레이에 대한 인터페이스(interface)와;
    비디오 데이터를 기록하도록 되어 있는 비디오 카메라에 대한 인터페이스와; 그리고
    온 보드 컴퓨팅 시스템(on-board computing system)을 포함하여 구성되며,
    상기 온 보드 컴퓨팅 시스템은,
    비디오 데이터에 대한 광학 흐름을 결정하는 것과;
    상기 비디오 데이터에 대한 상기 광학 흐름 내의 영역에서 광학 흐름 차가 언제 존재하는 지를 결정하는 것과, 여기서, 상기 광학 흐름 차가 언제 존재하는 지를 결정하는 것은,
    (a) 상기 영역 내의 광학 흐름이 상기 영역 외부의 광학 흐름과는 실질적으로 다른 크기를 갖는 지를 결정하는 것, 그리고
    (b) 상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이, 오브젝트의 선택과 관련된 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하는 것에 근거하여 이루어지고;
    상기 광학 흐름 차가 존재한다는 결정에 응답하여,
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 비디오 데이터에서의 오브젝트를 식별하는 것과;
    상기 광학 흐름 차가 존재하는 상기 영역에 위치하는 상기 오브젝트에 관해 검색을 수행하는 것과; 그리고
    상기 검색으로부터의 결과들에 대응하는 그래픽 정보를 헤드-마운티드 디스플레이(head-mounted display)로 하여금 디스플레이하도록 하는 것을 수행하도록 동작가능한 것을 특징으로 하는 시스템.
  19. 제18항에 있어서,
    상기 영역에서 상기 광학 흐름 차가 존재하는 지를 결정하는 것은, 상기 영역 내의 상기 광학 흐름이 실질적으로 다른 크기를 갖는 지를 결정하는 것과, 그리고 상기 비디오 데이터에 대한 상기 광학 흐름의 적어도 일부분이 상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 지를 결정하는 것에 의존하는 것을 특징으로 하는 시스템.
  20. 제18항에 있어서,
    상기 온 보드 컴퓨팅 시스템은,
    적어도 제 1 타입과 제 2 타입을 포함하는 복수 타입의 광학 흐름 차들을 구분하는 것과;
    어떤 타입의 광학 흐름 차가 상기 영역에 존재하는 지를 결정하는 것과; 그리고
    상기 결정된 타입의 광학 흐름 차에 근거하여 상기 오브젝트에 관한 검색이 수행되는 방식을 조정하는 것을 수행하도록 동작가능한 것을 특징으로 하는 시스템.
  21. 제18항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 작은 크기를 가지며,
    상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 것으로 결정된 상기 비디오 데이터에 대한 상기 광학 흐름의 상기 일부분은 상기 영역 외부에 실질적으로 존재하는 상기 광학 흐름의 일부분을 포함하는 것을 특징으로 하는 시스템.
  22. 제21항에 있어서,
    상기 소정의 사용자 행동은, 사용자가 상기 오브젝트 둘레로 실질적으로 원형 경로를 따라 움직임에 따라 상기 오브젝트가 상기 사용자의 관측 시야 내에서 실질적으로 동일한 위치에 있게 하는 것을 포함하는 것을 특징으로 하는 시스템.
  23. 제18항에 있어서,
    상기 영역 내의 광학 흐름은 상기 영역 외부의 광학 흐름보다 실질적으로 더 큰 크기를 가지며,
    상기 소정의 사용자 행동의 특징을 나타내는 곡률을 갖는 것으로 결정된 상기 비디오 데이터에 대한 상기 광학 흐름의 상기 일부분은 상기 영역 내에 실질적으로 존재하는 상기 광학 흐름의 일부분을 포함하는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서,
    상기 소정의 사용자 행동은 상기 오브젝트가 회전하는 동안 상기 오브젝트를 주시하는 것을 포함하는 것을 특징으로 하는 시스템.
KR1020137032779A 2011-05-11 2012-05-10 관점 오브젝트 선택 KR101881529B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/105,828 2011-05-11
US13/105,828 US8203605B1 (en) 2011-05-11 2011-05-11 Point-of-view object selection
PCT/US2012/037380 WO2012154989A2 (en) 2011-05-11 2012-05-10 Point-of-view object selection

Publications (2)

Publication Number Publication Date
KR20140043384A true KR20140043384A (ko) 2014-04-09
KR101881529B1 KR101881529B1 (ko) 2018-07-25

Family

ID=46209555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137032779A KR101881529B1 (ko) 2011-05-11 2012-05-10 관점 오브젝트 선택

Country Status (4)

Country Link
US (2) US8203605B1 (ko)
KR (1) KR101881529B1 (ko)
CN (1) CN103649988B (ko)
WO (1) WO2012154989A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050721A (ko) * 2014-10-30 2016-05-11 에스케이텔레콤 주식회사 영상 인식 기반의 영상 검색 방법 및 이를 적용한 영상 검색 장치

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008059133A1 (de) * 2008-11-26 2010-05-27 Merck Patent Gmbh Difluorphenyl-diacylhydrazid-derivate
US8520080B2 (en) 2011-01-31 2013-08-27 Hand Held Products, Inc. Apparatus, system, and method of use of imaging assembly on mobile terminal
US8558759B1 (en) * 2011-07-08 2013-10-15 Google Inc. Hand gestures to signify what is important
FR2987155A1 (fr) * 2012-02-16 2013-08-23 Univ Paris Curie Procede de mise en evidence d'au moins un element en mouvement dans une scene ainsi qu'un dispositif portatif de realite augmentee mettant en oeuvre ledit procede
US9096920B1 (en) 2012-03-22 2015-08-04 Google Inc. User interface method
US9141188B2 (en) 2012-10-05 2015-09-22 Elwha Llc Presenting an augmented view in response to acquisition of data inferring user activity
US10713846B2 (en) 2012-10-05 2020-07-14 Elwha Llc Systems and methods for sharing augmentation data
US9077647B2 (en) 2012-10-05 2015-07-07 Elwha Llc Correlating user reactions with augmentations displayed through augmented views
US10269179B2 (en) 2012-10-05 2019-04-23 Elwha Llc Displaying second augmentations that are based on registered first augmentations
US9111383B2 (en) 2012-10-05 2015-08-18 Elwha Llc Systems and methods for obtaining and using augmentation data and for sharing usage data
US8928695B2 (en) 2012-10-05 2015-01-06 Elwha Llc Formatting of one or more persistent augmentations in an augmented view in response to multiple input factors
US10180715B2 (en) 2012-10-05 2019-01-15 Elwha Llc Correlating user reaction with at least an aspect associated with an augmentation of an augmented view
US9424472B2 (en) * 2012-11-26 2016-08-23 Ebay Inc. Augmented reality information system
US9699433B2 (en) 2013-01-24 2017-07-04 Yuchen Zhou Method and apparatus to produce re-focusable vision with detecting re-focusing event from human eye
US9685001B2 (en) 2013-03-15 2017-06-20 Blackberry Limited System and method for indicating a presence of supplemental information in augmented reality
US9401048B2 (en) * 2013-03-15 2016-07-26 Qualcomm Incorporated Methods and apparatus for augmented reality target detection
CN105264571B (zh) * 2013-05-30 2019-11-08 查尔斯·安东尼·史密斯 Hud对象设计和方法
US9172922B1 (en) 2013-12-06 2015-10-27 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9172920B1 (en) 2014-09-01 2015-10-27 SkyBell Technologies, Inc. Doorbell diagnostics
US9230424B1 (en) 2013-12-06 2016-01-05 SkyBell Technologies, Inc. Doorbell communities
US10708404B2 (en) 2014-09-01 2020-07-07 Skybell Technologies Ip, Llc Doorbell communication and electrical systems
US9113052B1 (en) 2013-07-26 2015-08-18 SkyBell Technologies, Inc. Doorbell communication systems and methods
US10044519B2 (en) 2015-01-05 2018-08-07 SkyBell Technologies, Inc. Doorbell communication systems and methods
US11651665B2 (en) 2013-07-26 2023-05-16 Skybell Technologies Ip, Llc Doorbell communities
US9179107B1 (en) 2013-07-26 2015-11-03 SkyBell Technologies, Inc. Doorbell chime systems and methods
US9172921B1 (en) 2013-12-06 2015-10-27 SkyBell Technologies, Inc. Doorbell antenna
US9179109B1 (en) 2013-12-06 2015-11-03 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9736284B2 (en) 2013-07-26 2017-08-15 SkyBell Technologies, Inc. Doorbell communication and electrical systems
US10733823B2 (en) 2013-07-26 2020-08-04 Skybell Technologies Ip, Llc Garage door communication systems and methods
US9060103B2 (en) 2013-07-26 2015-06-16 SkyBell Technologies, Inc. Doorbell security and safety
US9196133B2 (en) 2013-07-26 2015-11-24 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9118819B1 (en) 2013-07-26 2015-08-25 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9179108B1 (en) 2013-07-26 2015-11-03 SkyBell Technologies, Inc. Doorbell chime systems and methods
US9237318B2 (en) 2013-07-26 2016-01-12 SkyBell Technologies, Inc. Doorbell communication systems and methods
US8937659B1 (en) 2013-07-26 2015-01-20 SkyBell Technologies, Inc. Doorbell communication and electrical methods
US9065987B2 (en) 2013-07-26 2015-06-23 SkyBell Technologies, Inc. Doorbell communication systems and methods
US8953040B1 (en) 2013-07-26 2015-02-10 SkyBell Technologies, Inc. Doorbell communication and electrical systems
US11889009B2 (en) 2013-07-26 2024-01-30 Skybell Technologies Ip, Llc Doorbell communication and electrical systems
US9342936B2 (en) 2013-07-26 2016-05-17 SkyBell Technologies, Inc. Smart lock systems and methods
US20180343141A1 (en) 2015-09-22 2018-11-29 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9769435B2 (en) 2014-08-11 2017-09-19 SkyBell Technologies, Inc. Monitoring systems and methods
US9013575B2 (en) 2013-07-26 2015-04-21 SkyBell Technologies, Inc. Doorbell communication systems and methods
US11764990B2 (en) 2013-07-26 2023-09-19 Skybell Technologies Ip, Llc Doorbell communications systems and methods
US9197867B1 (en) 2013-12-06 2015-11-24 SkyBell Technologies, Inc. Identity verification using a social network
US9113051B1 (en) 2013-07-26 2015-08-18 SkyBell Technologies, Inc. Power outlet cameras
US9094584B2 (en) 2013-07-26 2015-07-28 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9060104B2 (en) 2013-07-26 2015-06-16 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9160987B1 (en) 2013-07-26 2015-10-13 SkyBell Technologies, Inc. Doorbell chime systems and methods
US10204467B2 (en) 2013-07-26 2019-02-12 SkyBell Technologies, Inc. Smart lock systems and methods
US20170263067A1 (en) 2014-08-27 2017-09-14 SkyBell Technologies, Inc. Smart lock systems and methods
US10440165B2 (en) 2013-07-26 2019-10-08 SkyBell Technologies, Inc. Doorbell communication and electrical systems
US9142214B2 (en) 2013-07-26 2015-09-22 SkyBell Technologies, Inc. Light socket cameras
US9058738B1 (en) 2013-07-26 2015-06-16 SkyBell Technologies, Inc. Doorbell communication systems and methods
US8941736B1 (en) * 2013-07-26 2015-01-27 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9247219B2 (en) 2013-07-26 2016-01-26 SkyBell Technologies, Inc. Doorbell communication systems and methods
US11909549B2 (en) 2013-07-26 2024-02-20 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US9049352B2 (en) 2013-07-26 2015-06-02 SkyBell Technologies, Inc. Pool monitor systems and methods
US10672238B2 (en) 2015-06-23 2020-06-02 SkyBell Technologies, Inc. Doorbell communities
US11004312B2 (en) 2015-06-23 2021-05-11 Skybell Technologies Ip, Llc Doorbell communities
US20150029225A1 (en) * 2013-07-29 2015-01-29 Microsoft Corporation Technique to Reverse Automatic Screen Content Rotation
JP6225546B2 (ja) * 2013-08-02 2017-11-08 セイコーエプソン株式会社 表示装置、頭部装着型表示装置、表示システムおよび表示装置の制御方法
US9292764B2 (en) 2013-09-17 2016-03-22 Qualcomm Incorporated Method and apparatus for selectively providing information on objects in a captured image
US9786133B2 (en) 2013-12-06 2017-10-10 SkyBell Technologies, Inc. Doorbell chime systems and methods
US9253455B1 (en) 2014-06-25 2016-02-02 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9743049B2 (en) 2013-12-06 2017-08-22 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9799183B2 (en) 2013-12-06 2017-10-24 SkyBell Technologies, Inc. Doorbell package detection systems and methods
US9804753B2 (en) * 2014-03-20 2017-10-31 Microsoft Technology Licensing, Llc Selection using eye gaze evaluation over time
US9626802B2 (en) 2014-05-01 2017-04-18 Microsoft Technology Licensing, Llc Determining coordinate frames in a dynamic environment
US9558716B2 (en) * 2014-05-05 2017-01-31 Here Global B.V. Method and apparatus for contextual query based on visual elements and user input in augmented reality at a device
JP6108357B2 (ja) * 2014-05-13 2017-04-05 ジャパンモード株式会社 ウェアラブル端末装置、表示方法、プログラム、およびサービス提供システム
US10687029B2 (en) 2015-09-22 2020-06-16 SkyBell Technologies, Inc. Doorbell communication systems and methods
US20170085843A1 (en) 2015-09-22 2017-03-23 SkyBell Technologies, Inc. Doorbell communication systems and methods
US11184589B2 (en) 2014-06-23 2021-11-23 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US9888216B2 (en) 2015-09-22 2018-02-06 SkyBell Technologies, Inc. Doorbell communication systems and methods
US9997036B2 (en) 2015-02-17 2018-06-12 SkyBell Technologies, Inc. Power outlet cameras
US9354711B2 (en) * 2014-09-30 2016-05-31 Xerox Corporation Dynamic hand-gesture-based region of interest localization
US9778750B2 (en) 2014-09-30 2017-10-03 Xerox Corporation Hand-gesture-based region of interest localization
US10742938B2 (en) 2015-03-07 2020-08-11 Skybell Technologies Ip, Llc Garage door communication systems and methods
US11575537B2 (en) 2015-03-27 2023-02-07 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US11381686B2 (en) 2015-04-13 2022-07-05 Skybell Technologies Ip, Llc Power outlet cameras
US11641452B2 (en) 2015-05-08 2023-05-02 Skybell Technologies Ip, Llc Doorbell communication systems and methods
CN104850229B (zh) * 2015-05-18 2019-03-22 小米科技有限责任公司 识别物体的方法及装置
US20180047269A1 (en) 2015-06-23 2018-02-15 SkyBell Technologies, Inc. Doorbell communities
US10242474B2 (en) 2015-07-15 2019-03-26 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US10147211B2 (en) 2015-07-15 2018-12-04 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US11095869B2 (en) 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
US10222932B2 (en) * 2015-07-15 2019-03-05 Fyusion, Inc. Virtual reality environment based manipulation of multilayered multi-view interactive digital media representations
US11006095B2 (en) 2015-07-15 2021-05-11 Fyusion, Inc. Drone based capture of a multi-view interactive digital media
US10706702B2 (en) 2015-07-30 2020-07-07 Skybell Technologies Ip, Llc Doorbell package detection systems and methods
US11783864B2 (en) 2015-09-22 2023-10-10 Fyusion, Inc. Integration of audio into a multi-view interactive digital media representation
US10254845B2 (en) 2016-01-05 2019-04-09 Intel Corporation Hand gesture recognition for cursor control
US10043332B2 (en) 2016-05-27 2018-08-07 SkyBell Technologies, Inc. Doorbell package detection systems and methods
US10354129B2 (en) * 2017-01-03 2019-07-16 Intel Corporation Hand gesture recognition for virtual reality and augmented reality devices
US10437879B2 (en) 2017-01-18 2019-10-08 Fyusion, Inc. Visual search using multi-view interactive digital media representations
DE112017007003T5 (de) * 2017-03-03 2020-01-02 Ford Global Technologies, Llc Fahrzeugereignisidentifizierung
CN108693970B (zh) * 2017-04-11 2022-02-18 杜比实验室特许公司 用于调适可穿戴装置的视频图像的方法和设备
US10313651B2 (en) 2017-05-22 2019-06-04 Fyusion, Inc. Snapshots at predefined intervals or angles
US11069147B2 (en) 2017-06-26 2021-07-20 Fyusion, Inc. Modification of multi-view interactive digital media representation
US10909825B2 (en) 2017-09-18 2021-02-02 Skybell Technologies Ip, Llc Outdoor security systems and methods
US10921881B2 (en) * 2018-01-18 2021-02-16 Valve Corporation Position tracking system for head-mounted displays that includes sensor integrated circuits
CN108762378A (zh) * 2018-04-10 2018-11-06 努比亚技术有限公司 一种穿戴设备控制方法、穿戴设备及计算机可读存储介质
US10592747B2 (en) 2018-04-26 2020-03-17 Fyusion, Inc. Method and apparatus for 3-D auto tagging
US10535199B1 (en) * 2018-06-18 2020-01-14 Facebook Technologies, Llc Systems and methods for determining a safety boundary for a mobile artificial reality user
CN109901259B (zh) * 2019-04-07 2021-03-05 深圳市美誉镜界光电科技有限公司 光波导结构、ar设备光学成像***及ar设备
CN110225366B (zh) * 2019-06-26 2020-12-18 腾讯科技(深圳)有限公司 视频数据处理及广告位确定方法、装置、介质及电子设备
KR102605342B1 (ko) 2019-08-06 2023-11-22 엘지전자 주식회사 오브젝트 인식 기반의 정보 제공 방법 및 장치와 이를 위한 매핑 장치
US11074790B2 (en) 2019-08-24 2021-07-27 Skybell Technologies Ip, Llc Doorbell communication systems and methods
US20230004222A1 (en) * 2019-11-27 2023-01-05 Hewlett-Packard Development Company, L.P. Providing inputs to computing devices
EP3842911B1 (en) * 2019-12-26 2023-04-05 Dassault Systèmes A 3d interface with an improved object selection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020145665A1 (en) * 2001-04-10 2002-10-10 Yazaki Corporation Vehicle-use surroundings monitoring system
US6628715B1 (en) * 1999-01-15 2003-09-30 Digital Video Express, L.P. Method and apparatus for estimating optical flow
US20060284874A1 (en) * 2005-06-15 2006-12-21 Microsoft Corporation Optical flow-based manipulation of graphical objects
US20070025612A1 (en) * 2004-03-31 2007-02-01 Brother Kogyo Kabushiki Kaisha Image input-and-output apparatus
US7778466B1 (en) * 2003-12-02 2010-08-17 Hrl Laboratories, Llc System and method for processing imagery using optical flow histograms

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094215A (en) 1998-01-06 2000-07-25 Intel Corporation Method of determining relative camera orientation position to create 3-D visual images
US20020007510A1 (en) 1998-10-29 2002-01-24 Mann W. Stephen G. Smart bathroom fixtures and systems
US6654483B1 (en) 1999-12-22 2003-11-25 Intel Corporation Motion detection using normal optical flow
US7065242B2 (en) 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
US6665450B1 (en) 2000-09-08 2003-12-16 Avid Technology, Inc. Interpolation of a sequence of images using motion analysis
US7298907B2 (en) 2001-02-19 2007-11-20 Honda Giken Kogyo Kabushiki Kaisha Target recognizing device and target recognizing method
GB2378338A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automatic identification of features of interest within a video signal
CN1151672C (zh) 2001-08-28 2004-05-26 清华大学 一种采用多层分组乘积码的信道编码调制方法
JP3893983B2 (ja) 2002-01-17 2007-03-14 ソニー株式会社 情報提供装置及び情報提供方法、記憶媒体、並びにコンピュータ・プログラム
US7266220B2 (en) 2002-05-09 2007-09-04 Matsushita Electric Industrial Co., Ltd. Monitoring device, monitoring method and program for monitoring
GB0315412D0 (en) 2003-07-02 2003-08-06 Queen Mary & Westfield College Optical flow estimation method
JP3882083B2 (ja) 2003-11-26 2007-02-14 国立大学法人岐阜大学 測距装置
US7376250B2 (en) 2004-01-05 2008-05-20 Honda Motor Co., Ltd. Apparatus, method and program for moving object detection
DE102005013920B4 (de) 2004-03-26 2007-12-13 Mitsubishi Jidosha Kogyo K.K. Frontsicht-Überwachungsvorrichtung
JP5080273B2 (ja) 2005-01-07 2012-11-21 クアルコム,インコーポレイテッド オプティカルフローに基づく傾きセンサー
US7616807B2 (en) * 2005-02-24 2009-11-10 Siemens Corporate Research, Inc. System and method for using texture landmarks for improved markerless tracking in augmented reality applications
US8593506B2 (en) 2007-03-15 2013-11-26 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion
WO2008111080A1 (en) 2007-03-15 2008-09-18 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for forming a panoramic image of a scene having minimal aspect distortion
US20080263592A1 (en) 2007-04-18 2008-10-23 Fuji Xerox Co., Ltd. System for video control by direct manipulation of object trails
CN100539710C (zh) 2007-06-21 2009-09-09 清华大学 基于光流场的平面视频转立体视频的方法
CN101399969B (zh) 2007-09-28 2012-09-05 三星电子株式会社 基于运动相机的运动目标检测与跟踪的***、设备和方法
US8514251B2 (en) 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
CN101770568A (zh) 2008-12-31 2010-07-07 南京理工大学 基于仿射不变点及光流计算的目标自动识别和跟踪方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6628715B1 (en) * 1999-01-15 2003-09-30 Digital Video Express, L.P. Method and apparatus for estimating optical flow
US20020145665A1 (en) * 2001-04-10 2002-10-10 Yazaki Corporation Vehicle-use surroundings monitoring system
US7778466B1 (en) * 2003-12-02 2010-08-17 Hrl Laboratories, Llc System and method for processing imagery using optical flow histograms
US20070025612A1 (en) * 2004-03-31 2007-02-01 Brother Kogyo Kabushiki Kaisha Image input-and-output apparatus
US20060284874A1 (en) * 2005-06-15 2006-12-21 Microsoft Corporation Optical flow-based manipulation of graphical objects

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160050721A (ko) * 2014-10-30 2016-05-11 에스케이텔레콤 주식회사 영상 인식 기반의 영상 검색 방법 및 이를 적용한 영상 검색 장치

Also Published As

Publication number Publication date
US8203605B1 (en) 2012-06-19
US9429990B2 (en) 2016-08-30
CN103649988A (zh) 2014-03-19
WO2012154989A3 (en) 2013-01-10
WO2012154989A2 (en) 2012-11-15
US20120287123A1 (en) 2012-11-15
CN103649988B (zh) 2016-11-09
KR101881529B1 (ko) 2018-07-25

Similar Documents

Publication Publication Date Title
US9429990B2 (en) Point-of-view object selection
US10750161B2 (en) Multi-view interactive digital media representation lock screen
US10748313B2 (en) Dynamic multi-view interactive digital media representation lock screen
JP6228320B2 (ja) 制約なしslam用のセンサベースのカメラ運動検出
JP6605000B2 (ja) 三次元オブジェクト表示のためのアプローチ
EP3465620B1 (en) Shared experience with contextual augmentation
US9483113B1 (en) Providing user input to a computing device with an eye closure
US10877564B2 (en) Approaches for displaying alternate views of information
US9910505B2 (en) Motion control for managing content
JP5790692B2 (ja) 情報処理装置、情報処理方法および記録媒体
US9591295B2 (en) Approaches for simulating three-dimensional views
US11776142B2 (en) Structuring visual data
US10665024B2 (en) Providing recording guidance in generating a multi-view interactive digital media representation
US9389703B1 (en) Virtual screen bezel
US11252398B2 (en) Creating cinematic video from multi-view capture data
US10019140B1 (en) One-handed zoom
EP2829150B1 (en) Using camera input to determine axis of rotation and navigation
US20230215098A1 (en) Method and system for creating and storing map target

Legal Events

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