KR20140047733A - 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택 - Google Patents

현실 세계에서 표면들의 정보의 투영을 위한 동적 선택 Download PDF

Info

Publication number
KR20140047733A
KR20140047733A KR1020147007213A KR20147007213A KR20140047733A KR 20140047733 A KR20140047733 A KR 20140047733A KR 1020147007213 A KR1020147007213 A KR 1020147007213A KR 20147007213 A KR20147007213 A KR 20147007213A KR 20140047733 A KR20140047733 A KR 20140047733A
Authority
KR
South Korea
Prior art keywords
information
instructions
image
transfer function
scene
Prior art date
Application number
KR1020147007213A
Other languages
English (en)
Other versions
KR101575016B1 (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 KR20140047733A publication Critical patent/KR20140047733A/ko
Application granted granted Critical
Publication of KR101575016B1 publication Critical patent/KR101575016B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3191Testing thereof
    • H04N9/3194Testing thereof including sensor feedback

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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Image Analysis (AREA)

Abstract

하나 이상의 디바이스들은 현실 세계의 장면을 캡처하고, 현실 세계의 표면들 상의 포인트들로의 거리들을 포함하는 하나 이상의 이미지(들) 을 처리한다. 거리들은 현실 세계의 표면들의 세트를 자동으로 식별하는데 사용된다. 하나 이상의 디바이스들은, 그 세트의 표면이 장면으로 투영될 정보의 엘리먼트의 디스플레이에 적합한지 여부를 검사한다. 표면이 적합하다는 것을 발견하면, 전달 함수가 자동으로 식별되며, 그 후에 전달 함수를 그 정보의 엘리먼트에 자동으로 적용한다. 전달함수를 자동으로 적용한 결과 발생하는 변환된 엘리먼트는 프로젝터에 커플링된 프레임 버퍼에서, 적합성에 대한 검사 동안 식별된 프레임 버퍼의 특정 위치에 저장된다. 어떤 표면도 적합하지 않을 경우, 사용자 입력이 획득되며, 그 후에 사용자 입력마다 정보를 투영한다.

Description

현실 세계에서 표면들의 정보의 투영을 위한 동적 선택{DYNAMIC SELECTION OF SURFACES IN REAL WORLD FOR PROJECTION OF INFORMATION THEREON}
가출원의 상호 참조
본 출원은 2011 년 8 월 19 일에 제출된 "Projection of Information Onto Real World Objects or Adjacent Thereto" 라는 명칭의 미국 가출원 제 61/525,628 호에 우선권을 청구하며, 그 출원은 본 발명의 양수인에게 양도되고 그 전체가 본 명세서에서 참조에 의해 통합된다.
모출원의 상호 참조
본 출원은 2012 년 7 월 13 일에 제출된 "DYNAMIC SELECTION OF SURFACES IN REAL WORLD FOR PROJECTION OF INFORMATION THEREON" 라는 명칭의 미국 출원 제 13/549,388 호에 우선권을 청구하며, 그 출원은 본 발명의 양수인에게 양도되고 그 전체가 본 명세서에서 참조로서 통합된다.
관련된 출원들의 상호 참조
본 출원은 또한 2012 년 7 월 13 일에 제출된 "Use Of Association Of An Object Detected In An Image To Obtain Information To Display To A User" 라는 명칭의 미국 출원 제 13/549,339 호, 대리인 문서 제 Q111570U1os 와 관련되며, 그 출원은 본 발명의 양수인에게 양도되고 그 전체가 본 명세서에서 참조로서 통합된다.
사용자에게로의 디스플레이를 위한 정보를 투영하기 위해 프로젝터를 사용하는 것은 널리 알려져 있다. 그러한 종래 기술의 세부사항들에 대하여, Mistri, P., Maes, P., Chang, L. 에 의한 "WUW - Wear Ur World - A wearable Gestural Interface", CHI 2009, April 4-9, 2009, Boston, MA, USA, 6 pages 의 조항을 참조하며, 이 문서는 본 명세서에서 그 전체가 참조로서 통합된다.
전술된 것과 같은 정보의 투영은 발광 상황들과 같은 몇가지 이슈들을 발생한다. 그러한 몇가지 이슈들은 본 명세서에서 그 전체가 참조로서 통합된, Andrew Greaves, Alina Hang, 및 Enrico Rukzio 에 의한 "Picture Browsing and Map Interaction using a Projector Phone", MobileHCI 2008, September 25, 2008, Amsterdam, the Netherlands, 4 pages 의 조항에 설명된 것과 같은, 비행시간 카메라의 사용에 의해 처리된다. 핸드 제스처들을 식별할 때 상기 배경기술에 대한 추가의 정보를 위해, 본 명세서에서 그 전체가 참조로서 통합되는 Mitra 및 Acharya 의 “Gesture Recognition: A Survey”, IEEE transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews, Vol. 37, No. 3, May 2007, 14 pages 를 참조하라.
종래 기술에서, 정보는 예컨대, Shapiro 에 의한 미국 특허 제 7,905,610 호에서 설명되는 것과 같이 3 차원 오브젝트 상에 투영될 수도 있고, 그 특허는 본 명세서에서 그 전체가 참조로서 통합된다. 구체적으로, Shapiro 는 컬럼 4, 라인 20 내지 26 에서, "이미지는 3 차원 정보, 환경 정보 등에 기초하여 사전 왜곡될 수도 있다" 고 언급한다. 동작 (310) 을 참조하라. 일 실시형태에서, 사전 왜곡은 투영될 이미지를 계산하는 동안 3 차원 오브젝트의 역 모델을 수반할 수도 있다.
Shapiro 방법의 사용은, 예컨대, "다른 옵션으로서, 사용자가 이 포인트에서 프로젝터 및 3 차원 오브젝트를 최적으로 위치시킬 수도 있다" 고 언급하는 컬럼 4, 라인들 27 내지 34 에서 설명된 것과 같이 사용자 수반을 필요로 하는 것처럼 보인다. 이는 예컨대, 이후 투영될 이미지의 중심을 표시하는 마커 (예컨대, 십자선 등) 를 투영함으로써 달성될 수도 있다. 이를 위해, 마커는 프로젝터 및/또는 3 차원 오브젝트를 물리적으로 조종함으로써, 3 차원 오브젝트의 중심과 수동으로 정렬될 수도 있다.
물리적으로 조종할 경우, Shapiro 의 사용자는 이미지가 투영될 오브젝트의 표면을 수동으로 선택하고, 선택된 표면을 프로젝터에 수동으로 정렬시키는 것으로 보인다. 따라서, 이하 설명되는 것과 같이 정보의 투영을 위해, 현실 세계의 장면에서 표면을 자동으로 선택하는 방법이 요구된다.
하나 이상의 디바이스들은 현실 세계의 장면을 캡처하고, 그 장면의 하나 이상의 이미지(들) ("깊이 이미지들" 이라 불림) 을 처리하며, 그 이미지들은 현실 세계에서의 포인트들에 대한 복수의 거리들을 포함한다. 거리들은 깊이 이미지(들) 에 이미징되는, 현실 세계의 표면들의 세트를 자동으로 식별하는데 사용된다. 그 후에, 하나 이상의 디바이스들은, 그 세트의 표면이 투영될 정보의 엘리먼트의 디스플레이에 적합한지 여부를 검사한다. 표면이 적합하다는 것을 발견하는데 응답하여, 그 표면을 사용하기 위해 전달 함수가 자동으로 식별되며, 그 후에 전달 함수를 그 정보의 엘리먼트에 자동으로 적용한다. 그 후에, 전달함수를 자동으로 적용한 결과 발생하는 변환된 엘리먼트는 프로젝터에 커플링된 프레임 버퍼에서, 검사 동안 식별된 프레임 버퍼의 특정 위치에 저장된다.
도 1a 는 정보를 자동으로 획득하여 현실 세계의 장면으로 투영하기 위해, 일부 실시형태들의 프로세서 (100) 에 의해 수행되는 동작들을, 상위 레벨 플로우 차트에 예시한다.
도 1b 는 도 1a 에서 동작 (106) 을 수행하기 위해, 일부 실시형태들의 프로세서 (100) 에 의해 수행된 동작들을, 하위-레벨 플로우 차트에 예시한다.
도 2a 는 특정 실시형태들에서, 현실 세계의 오브젝트 (211) 에 인접한 정보의 투영시 사용하기 위해 모바일 디바이스 (200) 의 카메라 (202) 에 의해 이미징되는, 일 실시예의 현실 세계의 장면 (214) 을 예시한다.
도 2b 는 일부 실시형태들의 모바일 디바이스 (200) 내의 메모리 (203) 에 커플링된 프로세서 (100) 와 함께, 메모리 (203) 가 도 2a 의 예시적인 장면 (214) 으로부터 카메라 (202) 에 의해 생성된 비디오 (231) (또한 입력 비디오라 불림) 의 프레임들 (231A 내지 231N) 을 저장하고, 메모리 (203) 가 투영에 의해 디스플레이될 정보의 취출을 위한 요청 (232) 을 저장하는 것을, 상위-레벨 블록도에 예시한다.
도 2c 는 메모리 (203) 가 요청 (232) 의 사용에 의해 획득된 정보 (233) 및, 도 2a 의 예시적인 장면 (214) 의 표면들에 대응하는 패치들 (211A-211B, 212A-212C 및 213S) 로 세그먼트화되는 프레임 (231A) 의 이미지를 저장하는 저장 로케이션들 (234) 을 저장하는 것을, 도 2b 와 유사한 상위-레벨 블록도에 예시한다.
도 2d 는 (정보의 엘리먼트를 투영하기 위한) 직사각형 (299) 이 도 2a 의 페이지 (211L) 표면에 대응하는 도 2c 의 불규칙 형상의 패치 (211A) 에 맞을 수 있는지 여부를 검사하는 것을 예시하는, 도 2b 와 유사한 상위-레벨 블록도이다.
도 2e 는 몇몇 실시형태들에서, 비디오 (236) 의 형태의 정보가 모바일 디바이스 (200) 의 프로젝터 (205) 에 의해 현실 세계에서 오브젝트 (211) 상에 투영되는 도 2a 의 장면 (214) 을 예시한다.
도 2f 는 도 2e 의 장면 (214) 을 예시하며, 여기서 사용자 (220) 는 이미지에서 프로세서 (100) 에 의해 도 1a 의 동작 (107) 에서의 사용자 입력으로서 식별되는 승인 제스처를 실행하기 위해 손 (221) 의 엄지 손가락 (210) 을 스트레칭한다.
도 2g 는 도 2e 의 장면 (214) 을 예시하며, 여기서 사용자 (220) 는 이미지에서 프로세서 (100) 에 의해 사용자 입력으로서 식별되고 투영을 위해 사용될 테이블 (213) 의 표면 (213S) 을 표시하는 포인팅 제스처를 실행하기 위해 오른손 (221) 의 집게 손가락 (212) 을 스트레칭한다.
도 2h 는 도 2e 의 장면 (214) 을 예시하며, 여기서 변환된 비디오 (233) 는 도 2g 에 예시된 사용자 입력에 기초하여 표면 (213S) 상에 투영된다.
도 3a 는 특정 실시형태들에서, 현실 세계의 다른 오브젝트 (311) 에 인접한 정보의 투영시 사용하기 위해 모바일 디바이스 (200) 의 카메라 (202) 에 의해 이미징되는, 다른 실시예의 현실 세계의 다른 장면 (314) 을 예시한다.
도 3b 는 메모리 (203) 가 도 3a 의 예시적인 장면으로부터 카메라 (202) 에 의해 생성되는 입력 비디오 (231) 의 프레임 (331A) 을 저장하는 것을, 도 2b 와 유사한 상위-레벨 블록도에 예시한다.
도 3c 및 도 3d 는 메모리 (203) 가 표면 (241I) 의 오버랩을 회피하기 위해 정보 (333A 및 333B) 의 새로운 위치들뿐만 아니라 표면들 (241A - 241N, 241S 및 213U) 을 저장하는 것을, 도 2b 와 유사한 상위-레벨 블록도에 예시한다.
도 3e 는 몇몇 실시형태들에서, 도 3a 의 장면 (314) 을 예시하며, 여기서 스트링들 (333A 및 333B) 의 형태의 정보가 모바일 디바이스 (200) 의 프로젝터 (205) 에 의해 오브젝트 (311) 위로 및 그에 인접하여 투영된다.
도 3f 는 몇몇 실시형태들에서, 도 3a 의 장면 (314) 을 예시하며, 여기서 정보의 엘리먼트 (342) 는 새로운 위치에 투영된다.
도 4 는 몇몇 실시형태들의 모바일 디바이스 (200) 를, 상위-레벨 블록도에 예시한다.
설명되는 실시형태들에 따라, 하나 이상의 디바이스들은 현실 세계의 장면으로부터 정보 (예컨대, 이미지) 를 수신하기 위해 하나 이상의 카메라들 (및/또는 프로젝터와 같은 다른 디바이스들) 을 사용하고, 수신된 정보를 메모리에 저장한다. 몇몇 그러한 디바이스들은 비휘발성 메모리 (203) 에 커플링되어 메모리 (203) 에 저장된 소프트웨어 (즉, 컴퓨터 명령들) 를 실행하고, 카메라(들)(202) 에 의해 캡처된 정보를 수신하여 처리하는 프로세서 (100; 도 1a) 를 포함한다.
적어도 하나의 카메라 (202; 도 1a) 는, 일부 실시형태들에서, 프로세서 (100) 가 (도 1a 의 동작 (101) 에 의해 도시된 것과 같이) 메모리 (203) 를 통해, 현실 세계 (도 2a) 의 장면 (214) 의 이미지 (231A; 도 2a) 의 컬러 값들의 2 차원 어레이, 및 옵션으로, 카메라 (202) 로부터 현실 세계의 표면들 (213S, 211L) 상의 포인트들의 거리들을 표시하는 깊이 값들 (또한 범위 값들로 불림) 의 다른 2 차원 어레이를 수신하도록, 동작된다. 일부 실시형태들에서, 카메라 (202; 도 1a) 는 2 세트의 값들, 즉 컬러 값들 및 깊이 값들을 직접 생성하여 프로세서 (100) 에 공급하는 깊이 카메라 (또한 범위 카메라로 불림) 이다. 그러나, 깊이 값들이 프로세서 (100) 에 의해 획득되는 특정 방식은 실시형태에 의존하여 상이할 수 있고, 일부 예시적인 실시형태들은 다음에 설명된다.
일부 실시형태들에서, 깊이 값들은, 프로젝터 (205; 도 4) 를 위치 정보로 인코딩된 광 (또한 "구조 광" 이라 불리고, "SL" 로 줄여씀) 으로 장면을 조명하도록 동작시키고, 카메라 (202; 도 4) 를 프로젝터 (205; 도 4) 로부터의 구조 광으로 조명되는 동안 장면 (214) 의 하나 이상의 이미지들을 캡처하도록 동작시킴으로써 획득된다. 그러한 실시형태들에서, 컬러 값들 및 깊이 값들의 이미지를 수신하기 위한 동작 (101; 도 1a) 은 예컨대, Hiroshi Kawasaki 등에 의한 "Dynamic scene shape reconstruction using a single structured light pattern", IEEE Conference on Computer Vision and Pattern Recognition, 2008 (CVPR 2008), 8 pages 의 조항에 설명된 것과 같이 수행될 수도 있다. 다른 실시형태들에서, 동작 (101) 은 예컨대, 본 명세서에서 그 전체가 참조로서 통합되는, Li Zhang 등에 의한 "Rapid Shape Acquisition Using Color Structured Light and Multi-pass Dynamic Programming Proceedings of the 1st International Symposium on 3D Data Processing", Visualization, and Transmission (3DPVT), Padova, Italy, June 19-21, 2002, pp. 24-36 의 조항에 설명되는 것과 같이 수행될 수도 있다.
동작 (101) 의 대안적인 실시형태들은 예컨대, F. Pece 등에 의한 "Three Depth-Camera Technologies Compared", First BEAMING Workshop, Barcelona, 2011, 2 pages 의 조항에 설명된 것과 같이, 깊이 값들을 획득하기 위해 다른 방법들을 사용할 수도 있다. 도 2a 에 예시된 특정 실시예에서, 이미지 (231A) 는 장면 (214) 을 이미징하는 카메라 (202) 에 의해 생성된 입력 비디오 (231) 의 프레임들의 시퀀스에서 몇몇 이미지들 중 하나로서 카메라 (202) 에 의해 캡처된다. 도 2a 의 실시예에서 장면 (214) 은 테이블 (213) 의 표면 (213S) 상에 오픈되어 놓여있는 책의 형태인 오브젝트 (211) 를 포함한다. 장면 (214) 에서, 사용자 (220) 는 사용자의 손 (221) 의 집게 손가락 (212) 을 사용하여 책 (211) 의 좌측 페이지 (211L) 상의 텍스트의 라인을 가리키고 있다. 일부 실시형태들에서, 이미지들 (231A-231N) 의 시퀀스는 미리 결정된 레이트, 예컨대 30 프레임들/초로 카메라 (202) 에 의해 생성되고, 예컨대, 카메라 (202) 가 장면 (214) 에 대하여 이동될 때 깊이 값들을 획득하기 위해 비행 시간 계산들에서 사용하기 위한, 장면 (214) 으로부터 캡처된 비디오로서 메모리 (203; 도 1a) 에 자동으로 저장된다.
일부 실시형태들에서, 동작 (102; 도 1a) 에서, 프로세서 (100) 는 장면 (214) 으로 투영될 정보 (233; 도 2c) 를 획득한다. 동작 (102) 에서 정보 (233) 가 획득되는 특정 방식은 실시형태에 따라 상이할 수 있다. 일부 실시형태들에서, 정보 (233) 는 예컨대, (사용자가 말한 단어들 "선형 방정식들" 을 전달하는 오디오 신호를 공급할 수도 있는) 마이크로폰으로부터, 또는 (사용자가 타이핑한 단어들 "선형 방정식들" 에 대한 문자 스트링들을 형성하는 키 스트로크들의 시리즈를 공급할 수도 있는) 키보드로부터, 사용자 인터페이스 (201; 도 1a) 를 통해 수신된 명령에 기초하여, 동작 (102) 에서 획득된다.
다른 실시형태들에서, 정보 (233) 는 예컨대, 이하와 같이 정보 (233) 를 자동으로 획득하기 위해 이미지 (231A) 의 컬러 값들을 사용하여 프로세서 (100) 에 의해 별도로 획득된다. 구체적으로, 일부 실시형태들에서, 정보 (233) 는 도 2a 에 도시된 것과 같이, (책과 같은) 오브젝트 (211) 상에 프린트된 텍스트 (218) 를 가리키는, 인간 (220) 의 손 (221) 에서 확장한 집게 손가락 (212) 과 같은 핸드 제스처의 이미지 (231A; 도 2a) 내의 프로세서 (100) 에 의한 인식에 기초하여 동작 (102) 에서 획득된다.
핸드 제스처들은 예컨대, 본 명세서에서 그 전체가 참조로서 통합되는, Rautaray 등에 의한 the International Journal of Computer Applications, vol. 10, no. 7, November 2010, 6 pages 에 공개된 "A Vision based Hand Gesture Interface for Controlling VLC Media Player" 의 조항에 설명된 것과 같이, 프로세서 (100) 에 의해 인식되고, 당업자에게 명백한 임의의 방식으로 적절히 프로그래밍될 수도 있다. 프로세서 (100) 의 다른 실시형태들은, 예컨대 위에서 참조로서 통합되었던 Mitra 및 Acharya 에 의한 "Gesture Recognition: A Survey", IEEE transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews, Vol. 37, No. 3, May 2007, 14 pages 의 조항에서 해 설명되는 것과 같은 핸드 제스처들을 식별할 수도 있다.
따라서, 도 2b 에 예시된 예에서, 이미지 (231A) 의 컬러 값들 (비도시) 의 2 차원 어레이는 이미지 (231A; 도 2b) 에서 캡처된 것과 같이 좌측 페이지 (211L) 상에 프린트되고 사용자 (220; 도 2a) 가 가리키는 문자 스트링 "선형 방정식들" 을 포함하는 텍스트 (218) 의 영역을 식별하기 위해 동작 (102; 도 1a) 에서 프로세서 (100) 에 의해 자동으로 프로세싱된다.
동작 (102) 에서, 정보 (233) 가 식별되는 사용자 인터페이스 (201) 의 타입과 관계없이, 프로세서 (100) 는 인터넷상에서 입수가능한 "선형 대수" 상의 비디오에 대한 요청 (232; 도 2b) 을 자동으로 생성함으로써 식별에 응답한다. 요청 (232) 은 메모리 (203) 에 저장되고, (사용자 승인 이후 일부 실시형태들에서) 메모리 (203; 도 2c) 에 저장된 (또한 출력 비디오라 불리는) 비디오 (233) 를 획득하기 위해 사용되고, 투영될 정보 (233) 로서 사용된다. 동작 (102) 에서 어떻게 정보 (233) 가 획득되는지에 대한 특정 예시적인 실시형태들은, 2012 년 7 월 13 일에 제출된 "Use Of Association Of An Object Detected In An Image To Obtain Information To Display To A User" 라는 명칭의 미국 출원 제 13/549,339 호, 대리인 문서 제 Q111570U1os 에 설명되며, 그 출원은 위에서 참조로서 통합된다.
일부 실시형태들의 동작 (102) 에서 획득된 정보 (233) 가 단일 엘리먼트를 구성하는 출력 비디오 (233) 로서 전술되었지만, 다른 실시형태들에서, 정보 (233) 는 서로 독립적인 (예컨대, 웹 페이지에서의) 다수의 엘리먼트들을 포함할 수도 있고, 상이한 표면들상에 투영될 수 있다. 정보 (233) 의 그러한 다수의 엘리먼트들은 예컨대, 정보 (233) 에서 상이한 블록의 텍스트 및/또는 그래픽들을 식별하기 위해 태그 <table> 를 사용하여 HTML 로 표현된 웹 페이지에서 정의된 테이블들 및/또는 섹션들에서 식별될 수도 있다.
도 1a 를 참조하면, 프로세서 (100) 는 추가로, 현실 세계의 장면 (214) 에서 표면들 (213S, 211L; 도 2a) 의 세트를 식별하기 위해 이미지의 깊이 값들을 사용하기 위한 동작 (103) 을 (이전의 임의의 순간에, 전술된 동작 (102) 동안, 또는 그 이후에) 수행하도록 프로그래밍된다. 표면들 (213S, 211L) 의 세트는, 동작 (103; 도 1a) 에서 이미지 (231A) 를 일관된 곡률을 갖는 영역들로 세그먼트화함으로써 식별될 수도 있으며, 따라서 정보 (233) 가 투영될 경우, 정보 (233) 는 각 영역 내에 잘 디스플레이된다. 동작 (103) 에서 표면들이 식별되는 특정 방식은, 실시형태에 따라 상이할 수 있다.
일부 실시형태들에서, 동작 (103; 도 1a) 은 예컨대, 본 명세서에서 그 전체가 참조로서 통합되는, Alan P. Mangan 등에 의한 "Partitioning 3D Surface Meshes Using Watershed Segmentation", IEEE Transactions on Visualization and Computer Graphics, Vol. 5, NO. 4, Oct-Dec 1999, pp 308-321 의 조항에서 설명되는 것과 같은 깊이 값들을 사용한다. 일부 실시형태들에서, 카메라 (202) 는 (전술된) 동작 (101) 을 수행하기 전에, 예컨대 본 명세서에서 그 전체가 참조로서 통합되는 Jean-Yves Bouguet 에 의한 2010 년 7월 9 일에 최종 업데이트된 "Camera Calibration Toolbox for Matlab", 4 pages 의 조항에 설명된 것과 같이 캘리브레이션된다. 상기 조항은 이하: "http:%%www#vision#caltech#edu%bouguetj%calib_doc%." 에서 "%" 를 "/" 로 대체하고 "#" 을 "." 으로 대체함으로써 획득된 스트링에서 식별되는 웹사이트에서 입수가능하다.
이미지 (231A) 는 상이한 실시형태들에서 상이한 기술들을 사용하여 세그먼트화될 수도 있다. 일부 실시형태들에서, 어떤 깊이 값들도 획득되지 않고, 장면 (214) 의 표면들은, 예컨대 본 명세서에서 그 전체가 참조로서 통합되는, Wahl 에 의한 "Method for identifying three-dimensional objects using two-dimensional images" 라는 명칭의 미국 특허 제 4,731,860 호에서 설명되는 것과 같이, 허프 변환을 사용하여 2 차원 이미지들의 시퀀스로부터 식별된다.
따라서, 일부 실시형태들에서, 이미지 (231A) 는 표면들의 세트를 식별하기 위해 동작 (103; 도 1a) 에서 프로세서 (100) 에 의해 자동으로 세그먼트화된다. 도 2a 및 도 2b 에 예시된 실시예에서, 이미지 (231A) 의 깊이 값들의 세트는 메모리 (203) 의 로케이션들 (234; 도 2c) 을 저장하기 위해 프로세서 (100) 에 의해 카피되고, 그 후에 이미지 (234; 도 2c) 에서 영역들 (211A, 211B, 212A, 212B, 212C 및 212S) 에 대응하는 현실 세계 (도 2a) 의 오브젝트 (211) 의 표면들을 식별하기 위한 세그먼트화가 뒤따른다. 예를 들어, 도 2a 의 페이지 (211L) 의 표면은 도 2c 의 이미지 (234) 에서의 영역 (211A) 에 대응한다. 편의를 위해, 각각 도 2b 및 도 2a 에서, 이미지 (231A) 에서의 영역들 및 장면 (214) 에서의 대응하는 표면들을 지칭하기 위해 동일한 도면 부호들이 사용되는 것에 유의한다.
동작 (103) 이후, 프로세서 (100) 의 다수의 실시형태들은 동작 (102) 에서 획득된 정보에서의 각 엘리먼트에 대하여, 그 엘리먼트에 적합한 표면 (또는 패치 (P)) 를 발견하기 위해 동작 (106) 을 수행한다. 동작 (106) 에서 수행되는 적합성 테스트는, 몇몇 실시형태들이 표면의 사이즈, 표면에서 포인트들의 인접함, 표면의 곡률 등과 같은 다수의 인자들에 의존하여 적합성을 테스트하는데도 불구하고, 그 실시형태에 따라 상이할 수 있다. 표면은, 디스플레이될 정보의 엘리먼트가 그 표면의 경계에 걸쳐 이어지지 않을 경우, 또는 그 엘리먼트가 불규칙한 방식으로 랩 어라운드하지 않을 경우, 일부 실시형태들의 동작 (106) 에서 적합한 것으로 발견될 수도 있다.
도 2a 내지 도 2c 에 예시된 실시예에서, 출력 비디오 (233) 는 동작 (102) 에서 투영될 정보의 단일 엘리먼트이다. 따라서, 프로세서 (100) 는 출력 비디오 (233) 를 디스플레이하기 위한 적합성을 위해 동작 (103) 에서 식별된 세트로부터 모든 표면들 (211A, 211B, 212A, 212B, 212C 및 212S) 을 평가한다. 그러한 평가 동안, 영역들 (211C, 211B, 212B 및 212A) 각각은, 예컨대 사이즈로 인해, 출력 비디오 (233) 를 디스플레이하기에 적합하지 않은 것으로 발견된다. 상기 실시예에서, 영역들 (213U 및 211A) 은 동작 (106) 의 완료시 허용가능한 것으로 발견될 수도 있다.
그러한 몇몇 실시형태들에서, 일 엘리먼트에 적합한 표면 (또는 패치 (P)) 를 발견하자마자, 프로세서는 또한 그 엘리먼트가 투영될 표면 상의 특정 위치를 식별한다. 동작 (106) 에서 식별된 특정 위치는 표면의 형상 (예컨대, 직사각형, 원형) 과 같은 몇몇 인자들에 의존하며, 여기서 표면은 선택된 엘리먼트가 디스플레이될 직사각형을 완전히 둘러쌀 수 있다.
동작 (106) 에서 프로세서 (100) 가 모든 엘리먼트들에 대한 표면들을 발견하는데 있어 성공적이라면, 프로세서 (100) 는 대응하는 표면들에 대한 하나 이상의 전달 함수들을 식별하기 위해 동작 (108) 으로 진행한다. 전달 함수는 선택된 표면상에 정보의 투영의 효과를 적어도 부분적으로 상쇄시키기 위해 동작 (108) 에서 식별된다. 그러나, 만약 프로세서 (100) 가 동작 (106) 에서 정보의 임의의 엘리먼트에 적합한 표면이 없는 것을 발견한다면, 프로세서 (106) 는 (하기에 설명되는) 사용자 입력을 수신하기 위해 동작 (107) 으로 진행한다.
예를 들어, 표면 (213S) 이 평면일 경우, 대응하는 평면 변환이 표면 (213S) 에 대한 모바일 디바이스 (200) 에서 프로젝터 (205) 의 방위 및 위치 (또한 '포즈' 라 불림) 를 보상하는데 이용하기 위해 프로세서 (100) 에 의해 동작 (108) 에서 식별된다. 그러한 평면 변환은, 예를 들어, 출력 비디오 (233) 의 프레임 (233A) 의 높이를 단축하여, 투영시 변환된 프레임이 현실 세계의 장면 (214) 에서 표면 (213S) 상에, 구체적으로 90°가 아닌 표면 (213S) 에 대한 각도 θ 로 입사할 때 (즉, 비디오 (236) 가 표면 (213S) 에 수직하는 것보다 덜 기울어진 각도 θ 로 도 2h 에 도시된 것과 같이 투영될 때) 물리적으로 연장됨에 따라 적절히 렌더링될 수 있게 한다.
일부 실시형태들에서, 전달 함수는 동작 (106) 에서 적절한 것으로 발견된 표면 (또는 대안적으로 동작 (107) 에서 사용자 입력에 의해 식별된 표면) 을 모델링하는 값들을 유지하는 2 차원 행렬 상에 행렬 역변환을 수행함으로써 동작 (108) 에서 식별된다. 값들의 모델은, 예컨대, 3 차원 (3D) 모델들 (522; 도 4) 의 라이브러리에서 하나 이상의 모델들과, 표면의 깊이 값들을 비교하는 것에 기초하여, 동작 (108) 에서 임의의 방식으로 식별된다. 일부 실시형태들에서, 모델은 예컨대, 본 명세서에서 그 전체가 참조로서 통합되는, N. Werghi 에 의한, International Journal of Computers and Applications 에서 2009 년에 공개된 "Robust 3D Object Registration Based on Pairwise Matching of Geometric Distributions", Vol. 31, No. 1, 8 pages 의 조항에서 설명된 것과 같이, 동작 (108) 에서 선택된다.
다음에, 동작 (109) 에서, 프로세서 (100) 는 예컨대, (정보의) 변환된 엘리먼트를 획득하기 위해, 전달 함수의 행렬과 정보의 엘리먼트의 행렬 간에 행렬 곱셈을 수행함으로써, 전달 함수를 정보의 엘리먼트에 적용한다. 그 후에, 동작 (110) 에서, 프로세서 (100) 는 정보의 변환된 엘리먼트를 메모리 (203) 에, 구체적으로는 프로젝터 (205) 에 동작가능하게 커플링된 프레임 버퍼 (530; 도 4) 에 저장한다.
동작 (110) 이후에, 프로세서 (100) 는 프로젝터 (205) 를 동작시키기 위해 동작 (112) 으로 진행한다. 프로젝터 (205) 의 동작에서, 프레임 버퍼 (530) 에서의 하나 이상의 변환된 엘리먼트들은 장면 (214) 으로 투영된다. 변환된 엘리먼트의 투영이 선택된 표면 (예컨대, 도 2e 의 표면 (211A)) 상에 입사될 경우, 선택된 표면 (211A) 은 변환된 엘리먼트를 다시 변환하며, 따라서 표면 (211A) 상에 렌더링된 정보는 인간 (220; 도 2e) 에게 정상적으로 보인다.
((도 2h 의 비디오 (236) 와 같은) 정보의 변환된 엘리먼트의) 3 차원 표면상으로의 투영은 예컨대, (1) (위에서 참조로서 통합된) Shapir 에게 등록된 미국 특허 제 7,905,610 호에 의해 설명된 방법들 및 (2) 본 명세서에서 그 전체가 참조로서 통합되는 Raskar 에 의한 "Projecting Warped Images Onto Curved Surfaces" 라는 명칭의 미국 공개 제 2004/0184013 호에 의해 설명된 방법들과 유사하거나 동일한 방식으로 다수의 실시형태들에서 수행될 수도 있다.
동작 (112) 의 완료시, 프로세서 (100) 는 동작 (101) 으로 리턴하며, 따라서 전술된 동작들을 다시 한번 수행한다. 일부 실시형태들에서, 프로세서 (100) 는 사용자 입력을 수신하기 위해 동작 (112) 으로부터 동작 (107) 으로 진행한다. 이러한 스테이지에서, 정보가 투영되는 동안, 동작 (107) 에서 수신된 사용자 입력은 카메라 (202) 의 전방에 손 (221) 의 엄지 손가락 (210) 을 스트레칭함으로서, 도 2f 에 예시된 것과 같이 예컨대 사용자가 "Good job" 을 말하거나 엄지 손가락을 올리는 핸드 제스처를 실행함으로써 투영의 승인을 나타낼 수도 있다. 사용자가 선택된 표면(들) 의 승인을 나타낼 경우, 프로세서 (100) 는 (전술된) 동작 (108) 으로 진행하여 정보 투영을 위해 선택된 표면(들) 을 사용하는 것을 계속한다.
동작 (107) 에서 수신된 사용자 입력은 카메라 (202) 의 전방에 (그리고 그에 의해 포착된) 손 (221) 의 집게 손가락 (212) 을 스트레칭함으로서, 예컨대 도 2g 에 예시된 것과 같이 사용자가 (마이크로폰 (1112) 에 의해 감지된) 단어들 "Not Good" 을 말하거나 다른 표면 (213S) 을 가리키는 핸드 제스처를 실행함으로써 투영의 불승인을 나타낼 수도 있다. 사용자 입력이 도 2e 의 표면 (211A) 과 같은 선택된 표면(들) 의 불승인을 나타낼 경우, 프로세서 (100) 는 도 2h 에 예시된 것과 같은 정보 투영을 위해, (전술된) 동작들 (108 - 110) 을 다시 수행하며, 이 때 도 2g 에 예시된 것과 같이 사용자 입력에 의해 식별된 상이한 표면 (213S) 을 사용한다. 사용자 입력이 상이한 표면을 식별하지 않지만, 자동으로 선택된 표면 (211A) 을 간단히 불승인할 경우, 프로세서 (100) 는 정보의 디스플레이에 적합한 것으로 발견된 상이한 표면 (예컨대, 도 2h 에 도시된 표면 (213S)) 을 자동으로 선택하고, 사용하기 시작한다.
일부 실시형태들에서, 동작 (107) 의 수행시, 프로세서 (100) 는 형상을 식별하는 사용자 입력을 수신한다. 예를 들어, 사용자는 핸드 제스처를 실행함으로써 원을 표시하는 입력을 제공할 수도 있다. 그에 응답하여, 프로세서 (100) 는 디스플레이될 정보의 엘리먼트의 일부분을 마스킹하기 위해 그 형상을 전달 함수에서 사용한다. 예를 들어, 카메라 (202) 를 통해 감지된 핸드 제스처가 원형이면, 프로세서 (100) 는 1 의 값은 원 내부에 있는 것이고 0 의 값은 원 외부에 있는 것인 이진 값들의 마스크를 형성한다. 방금 설명된 마스크는 투영될 정보의 엘리먼트를 변환하기 위해 동작 (109) 에서, 선택된 표면의 3D 모델에 대한 행렬과 함께 사용된다.
프로세서 (100) 의 일부 실시형태들은 도 1b 에 도시되고 하기에서 설명되는것과 같이, 도 1a 에 예시된 동작 (106) 을 수행한다. 구체적으로, 동작 (151) 에서, 프로세서 (100) 는 투영될 정보의 엘리먼트 (E) 를 선택하고 동작 (152) 으로 진행한다. 동작 (152) 에서, 프로세서 (100) 는 선택된 엘리먼트 (E) 가 디스플레이될 (도 2d 의 직사각형 (272) 과 같은) 직사각형의 높이 (H) 및 폭 (W) 을 결정한다. 높이 (H) 와 폭 (W) 은 엘리먼트 (E) 의 이미지의 미리 결정된 해상도에 기초하여 일부 실시형태들의 프로세서 (100) 에 의해 결정된다. 다른 실시형태들에서, 높이 (H) 와 폭 (W) 은 엘리먼트 (E) 에서 텍스트의 폰트 사이즈에 기초하여 프로세서 (100) 에 의해 결정된다. 그 후에, 프로세서 (100) 는 동작 (153) 으로 진행한다.
동작 (153) 에서, 프로세서 (100) 는 표면 (또는 그 표면 내의 패치 (P)) 을 선택된 표면 (또는 그 내부의 패치 (P)) 에 대응하는 이미지의 영역에서 픽셀들의 전체 수 (N) 를, 엘리먼트를 디스플레이하기 위해 사용될 높이 (H) 와 폭 (W) 의 직사각형의 영역, 즉 H*W 과 비교함으로써, 선택한다. 만약 N ≥ H*W 이면, 표면 (또는 패치 (P)) 은 선택되고, 그렇지 않으면 선택되지 않는다. 방금 설명된 비교는 선택된 엘리먼트 (E) 를 수용하기에 (예컨대, 완전히 둘러싸기에) 사이즈가 너무 작을 수도 있는 임의의 표면들을 필터링한다. 동작 (153) 의 완료 시, 엘리먼트 (E) 의 투영을 위해 충분히 큰 표면이 없다면, 제어는 (이하 설명되는) 동작 (164) 으로 이동한다. 적어도 하나의 표면이 충분히 클 경우, 그 표면은 동작 (153) 에서 선택되고, 그 후에 선택된 표면이 선택된 엘리먼트 (E) 의 투영에 적합한지를 검사하기 위해, 이하 설명되는 것과 같이 프레임 버퍼의 컬럼들 및 로우들을 검토한다.
일부 실시형태들에서, 프로세서 (100) 는 로우 R 를 값 0 으로 초기화하기 위해 동작 (154) 을 수행하고 컬럼 C 을 값 0 으로 초기화하기 위해 동작 (155) 을 수행하며, 그 후에 프레임 버퍼에서 4 개의 코너들 (R, C), (R, C+W), (R+H, C) 및 (R+H, C+W)에 의해 식별되는 직사각형에서, 선택된 표면 (또는 패치 (P)) 상에 선택된 엘리먼트 (E) 를 투영하는 적합성에 대한 테스트가 동작 (156) 에서 실행되며, 여기서, 전술된 것과 같이, W 는 직사각형의 폭이고 H 는 높이이다. 그러한 실시형태들에서, 4 개의 코너들이 식별되는 X-Y 좌표 시스템은 도 2d 에 도시된 것과 같이 프레임 버퍼 (530) 의 하부 좌측 코너에 위치된다. 따라서, 직사각형 (272) 은 예컨대, 엘리먼트 (E) 가 비디오 (233; 도 2c) 일 경우, 전술된 4 개의 코너들을 식별하기 위해 프로세서 (100) 에 의해 그 해상도를 사용함으로서 전술된 방식으로 메모리 (203) 내의 프레임 버퍼 (530) 에서 식별된다.
따라서, 동작 (156) 에서, 프로세서 (100) 는 하나 이상의 테스트들을, 예컨대 엘리먼트 (E) 를 투영하는데 사용될 방금 설명된 직사각형에서의 모든 픽셀들이 표면에 대응하는 이미지의 영역에 존재하는지 (예컨대, 그 내부에 포함되는지) 여부의 테스트를 수행한다. 픽셀 사용가능성에 대한 방금 설명된 테스트는 도 2d 에 도시된 것과 같이, 투영에 대하여 적합하지 않을 수도 있는 불규칙한 형상의 표면 (211A) 에 대하여 직사각형 (272) 의 위치들을 필터링한다 (여기서, 직사각형 (272) 의 코너 (R,C) 는 영역 (211A) 에 존재하지 않는다).
동작 (156; 도 1b) 에서의 대답이 아니오 이면, 선택된 표면상의 전술된 직사각형에서의 투영이 임의의 그러한 테스트들에 의해 적합하지 않은 것으로 발견되기 때문에, 프로세서 (100) 는 직사각형 (272) 와 선택된 표면 (211A) 사이에 다른 상대적인 위치가 존재하는지 검사하기 위해 동작들 (157 - 160) 을 사용하여 순환하며, 그 위치에서 선택된 표면 (211A) 은 직사각형 (272) 의 투영에 있어 여전히 적합할 수도 있다. 구체적으로, 프로세서 (100) 는 컬럼 C+W 가 프레임 버퍼 (530) 의 폭 미만인지를 동작 (157; 도 1b) 에서 검사하며, 만약 그렇다면, 컬럼 C 을 증분하기 (그에 따라 직사각형 (272) 을 포지티브 X 방향으로, 즉 도 2d 의 우측으로 이동시키기) 위해 동작 (158) 으로 진행하고, 그 후에 (전술된) 동작 (156) 으로 리턴한다. 동작 (157) 에서의 대답이 아니오 이면, 프로세서 (100) 는 로우 R+H 가 프레임 버퍼의 높이 미만인지를 검사하기 위해 동작 (159) 로 진행하며, 만약 그렇다면, 로우 R 를 증분하기 (그에 따라 직사각형 (272) 을 포지티브 Y 방향으로, 즉 도 2d 의 위쪽으로 이동시키기) 위해 동작 (160) 으로 진행하고, 그 후에 (전술된) 동작 (155) 으로 리턴한다.
동작들 (154 - 160) 을 반복하여 수행함으로써, 프로세서 (100) 는 프레임 버퍼 (530) 내에 동봉된 직사각형 (272) 의 모든 가능한 위치들을 선택된 표면 (211A) 에 대하여 테스트하고, 동작 (156) 에서의 테스트에 의해 어떤 위치도 적합한 것으로 발견되지 않을 경우, 동작 (159) 에서의 대답은 아니오 이고, 프로세서 (100) 는 모든 표면들 (또는 패치들) 이 테스트되었는지를 검사하기 위해 동작 (161) 으로 진행하고, 만약 아니라면 다른 표면을 선택하기 위해 동작 (153) 으로 리턴한다. 동작 (161) 에서 대답이 예 이면, 프로세서 (100) 는 투영될 정보의 모든 엘리먼트들이 처리되었는지를 검사하기 위해 동작 (163) 으로 진행하고, 만약 아니라면 다른 엘리먼트를 선택하기 위해 동작 (151) 로 리턴하지만, 만약 모든 엘리먼트들이 처리되었다면, 프로세서 (100) 는 (이하 설명되는) 동작 (164) 으로 진행한다.
동작 (156) 에서, 그 대답이 예 이면, 프로세서 (100) 는 메모리 (203) 내의 리스트 (274; 도 2c) 의 아이템에서, 표면 (또는 패치 (P)) 상의 로케이션의 좌표들 (R, C) 을, 엘리먼트 (E) 가 투영될 수 있는 특정 위치로서 식별하고 메모리에 저장하기 위해 동작 (162) 으로 진행한다. 리스트 (273; 도 2c) 에서 각각의 아이템은 엘리먼트 (E) 의 투영을 위한 후보이고, 하나의 특정한 후보는 이하 설명되는 동작 (164) 에서의 투영에 사용하기 위해 할당되는 것에 유의한다.
따라서, 동작 (162) 에서, 프로세서 (100) 는 동작 (156) 에서 하나 이상의 테스트들이 성공적일 경우, 선택된 표면 (또는 패치 (P)) 을 엘리먼트 (E) 와 연관시키고, 그 후에 프로세서 (100) 는 동작 (161) 으로 진행한다. (전술된 것과 같은) 동작 (161) 에서, 프로세서 (100) 는 모든 표면들이 테스트되었는지 검사하고, 만약 그 대답이 아니오 이면, 다른 표면 또는 패치 (P) 를 테스트하기 위해 동작 (153) 으로 리턴한다. 동작들 (161 및 153 - 156 및 162) 을 통해 순환한 후에, 엘리먼트 (E) 의 치수들 및 (도 1a 에서의 동작 (103) 에 따라) 투영을 위해 사용가능한 세트에서의 표면들에 의존하여, 엘리먼트 (E) 의 투영을 위해 (동작 (156) 에 따라) 적합한 것으로 테스트되고, 발견되는 모든 표면들은 동작 (161) 으로부터 "예" 브랜치가 취득될 경우, 엘리먼트 (E) 에 대하여 메모리 (203) 에 저장된 리스트에서 식별된다.
따라서, 도 2c 의 예에서, 동작 (156) 의 테스트는, 대응하는 2 개의 표면들 (213U 및 211A) 을 식별하는 2 개의 아이템들을 포함하는 리스트 (273) 를 비디오 (233) 와 연관시키기 위해 반복하여 수행된다. 표면들 (213U 및 211A) 은 동작 (103) 에서 식별된 모든 표면들 (211A, 211B, 212A, 212B, 212C 및 212S) 의 세트의 서브세트를 구성한다. 표면들 (213U 및 211A) 의 각각은 동작 (162) 에 의한 비디오 (233) 에 대한 리스트 (273) 에서의 비디오 (233) 와 연관되며, 대응하는 표면 상에서 비디오 (233) 가 투영될 수 있는 것을 나타내기 위해 특정 위치가 리스트의 각 엘리먼트에서 식별된다. 도 2c 의 예시적인 실시예에서, 메모리 (203) 는 투영될 정보가 오직 하나의 엘리먼트만을 가지기 때문에 오직 하나의 리스트 (273) 만을 보유하며, 다수의 리스트들은 예컨대, 투영될 정보가 다수의 엘리먼트들을 포함할 경우, 프로세서 (100) 가 동작 (163) 의 "아니오" 브랜치로부터 동작 (151) 으로 다시 순환함으로써 생성된다.
모든 엘리먼트들이 동작 (163) 에서 처리될 경우, 프로세서 (100) 에 의해 "예" 브랜치가 취득되고 동작 (164) 으로 진행한다. 동작 (164) 에서, 프로세서 (100) 는 각각의 엘리먼트 (E) 에 대하여 모든 후보 표면들이 동작 (162) 에 의해 식별된 리스트들에 기초하여, 각각의 엘리먼트 (E) 의 투영을 위해 특정 표면을 할당한다. 구체적으로, 동작 (164) 에서, 프로세서 (100) 는 모든 리스트들 중으로부터 소정의 표면이 할당되는 리스트들의 서브세트를 식별하고, 그 후 그 서브세트 중으로부터 더 적은 수의 표면들을 가지는 단일 리스트를 식별하기 위해 각각의 표면 (또는 패치 (P)) 에 걸쳐 순환하며, 단일 리스트에 대응하는 엘리먼트를 소정 표면에 할당한다. 예를 들어, 표면 (211A) 이 그와 연관된 오직 하나의 엘리먼트 (233) 를 갖는다면, 엘리먼트 (233) 는 동작 (164) 에서 표면 (211A) 에 할당되고, 그 후 이 표면 (211A) 은 모든 리스트들로부터 제거되며, 그 다음에 동일한 프로세스를 사용하여 다른 표면을 식별한다. 동작 (164) 의 완료시, 모든 표면들이 정보의 대응하는 엘리먼트들의 투영을 수신하도록 할당될 경우, 할당되지 않고 남아있는 임의의 엘리먼트는 일부 실시형태들에서 프레임 버퍼 (530) 에 렌더링되지 않고 투영되지 않는 반면, 대안적인 실시형태들은 예컨대, 오디오 메세지를 통해 사용자에게 통지한다.
도 2a 내지 도 2h 에 예시된 실시예에서, 정보는 도 2e 에 예시된 것과 같이 표면 (211A) 내에서 또는 도 2h 에 예시된 것과 같이 다른 표면 (213S) 내에서 그 전체가 투영되는 출력 비디오 (233) 이지만, 다른 실시형태들에서 투영될 정보는 그 각각이 다른 부분 (또는 엘리먼트) 과 독립적으로 투영될 수 있는 다수의 엘리먼트들 (또한 부분들이라 불림) 을 포함한다. 구체적으로, 도 3a 에 예시된 실시예에서, 테이블 (213) 의 표면 (213S) 상에 로케이팅된 (병 뚜껑 (241) 과 같은) 오브젝트 (311) 는 동작 (101; 도 1a) 에 따라 모바일 디바이스 (200) 에 의해 이미징되며, 결과적인 이미지는 메모리 (203) 에 이미지 (331A; 도 3b) 로서 저장된다. 그 후, 이미지 (331A) 는 이미지 (331A; 도 3c) 에서 영역들 (213S 및 311S) 에 대응하는 장면 (314; 도 3a) 에서의 표면들 (213S 및 311S) 과 같은 표면들을 식별하기 위해 동작 (103; 도 1a) 따라 세그먼트화된다. 이러한 방식으로, 다양한 추가의 영역들 (241A - 241N; 도 3c) 이 동작 (103) 에 의해 식별된다.
이러한 실시예에서 투영될 정보는, 게임 소프트웨어 (309) 의 실행에 의해 생성되고, 서로 독립적으로 투영될 수 있는 2 개의 별개의 엘리먼트들 (또는 부분들), 즉: (1) (도 3c 에서 문자들의 스트링 "그룹 2" 으로 예시된) 게임의 플레이어에 대한 제 1 라인의 텍스트 및 (2) 동일한 플레이어의 (도 3c 에서 다른 문자들의 스트링 "스코어: 0" 으로 예시된) 스코어에 대한 제 2 라인의 텍스트로서 메모리 (203) 의 저장 로케이션들 (309S) 에 저장된다. 도 1a 를 참조하여 전술된 타입의 방법을 수행함으로써, 프로세서 (100) 는 영역들 (241A...241I...241N) 의 각각을 동작 (153; 도 1b) 에서 제 1 엘리먼트 (즉, 제 1 텍스트 라인 (333A)) 를 디스플레이하기에 너무 작고, 따라서 필터링되는 것으로 결정한다.
이러한 예에서, 처음에 프로세서 (100) 는 영역 (311S) 을 제 1 엘리먼트를 디스플레이하기에 충분히 큰 것으로 식별하고, 동작 (156) 에서 그 적합성을 평가한다. 동작 (156) 에서, 프로세서 (100) 는 (이미지 (331A) 의 영역 (311S) 에 대응하는) 장면 (314) 의 표면 (311S) 에 대하여 제 1 텍스트 라인 (333A) 을 디스플레이하기 위해 직사각형의 다양한 위치들을 테스트하고, 하나의 위치가 적합한 것으로 발견될 경우, 표면 (311S) 과 위치는 프로세서 (100) 에 의해, 동작 (162) 에 의해 제 1 텍스트 라인 (333A) 에 대한 리스트에서 제 1 아이템으로서 부가된다. 이러한 실시예에서, 다음 프로세서 (100) 는 영역 (213S) 을 제 1 엘리먼트를 디스플레이하기에 충분히 큰 것으로 식별하고, 동작 (156) 을 반복함으로써 적합성을 평가한다. 동작 (156) 의 이러한 반복에서, 프로세서 (100) 는 제 1 텍스트 라인 (333A) 을 디스플레이하기 위해 동일한 직사각형의 다양한 위치들을, 이번에는 (이미지 (331A) 의 영역 (213S) 에 대응하는) 장면 (314) 의 표면 (213S) 에 대하여 테스트하며, 일 위치가 적합한 것으로 발견될 경우, 표면 (213S) 과 위치는 프로세서 (100) 에 의해, 동작 (162) 에 의해 제 1 텍스트 라인에 대한 전술된 리스트에서 제 2 아이템으로서 부가된다. 따라서, 이러한 스테이지에서, 제 1 텍스트 라인에 대한 리스트는 2 개의 아이템들을 갖는다. 유사하게, 또한 2 개의 아이템들을 갖는 제 2 텍스트 라인에 대하여 다른 리스트가 프로세서 (100) 에 의해 생성된다. 결과적으로, 동작 (164) 을 수행함으로써, 프로세서 (100) 는 표면 (311S) 에 제 1 텍스트 라인 (333A) 을 할당하고 표면 (213S) 에 제 2 텍스트 라인 (333B) 을 할당하며 (도 3d), 그 후에 투영을 생성하기 위한 프로젝터 (205) 의 동작이 뒤따른다.
일부 실시형태들에서, 프로세서 (100) 는 동작 (164) 에서 표면에 할당된 각각의 엘리먼트의 위치를 최적화하도록 프로그래밍되며, 따라서 2 개의 엘리먼트들을 구성하는 2 개의 텍스트 라인들 (333A 및 333B) 은 도 3e 에 예시된 것과 같이 가능하면 서로 인접하게 위치된다. x-좌표 및 y-좌표 증분은 앞서 일부 실시형태들의 동작들 (158 및 160) 에 의해 수행되는 것으로 표시되었지만, 다른 실시형태들이 다른 방식들로, 예컨대 회전에 의해 엘리먼트의 투영을 위해 (직사각형 또는 원과 같은) 형상을 이동시킬 수 있는 것에 유의한다. 도 3f 에 예시된 실시예에서, 표면 (311S) 상에서 모바일 디바이스 (200) 에 의해 디스플레이된 정보는 웹사이트 www.twitter.com 에서 컴퓨터 (비도시) 로부터 획득된다.
도 1, 도 2a 내지 도 2h, 도 3a 내지 도 3f, 및 도 4 를 참조하여 전술된 것과 같이, 메모리 (203) 내의 소프트웨어로 프로그래밍된 프로세서 (100) 는 전술된 것과 같은 모바일 디바이스 (200) 에 포함될 수도 있다. 모바일 디바이스 (200) 는 프로젝터 (205) 및/또는 카메라 (202) 를 포함하는 임의의 디바이스일 수도 있고, 디바이스 (200) 는 예컨대, 오브젝트 (311) 및/또는 테이블 (213) 에 대하여 모바일 디바이스 (200) 의 포즈 (위치 및 방위) 를 결정할 때, 전술된 하나 이상의 동작들에서 사용될 수도 있는, 임의의 핸드 헬드 디바이스, 예컨대 가속도계들, 자이로스코프들 등등과 같은 모션 센서들에서 일반적으로 사용되는 추가의 부분들을 포함할 수도 있다.
모바일 디바이스 (200) 가 셀룰러 또는 다른 무선 통신 디바이스, PCS (personal communication system) 디바이스, PND (personal navigation device), PIM (Personal Information Manager), PDA (Personal Digital Assistant), 랩탑, 카메라, 또는 장면 (214) 을 이미징하고 및/또는 정보를 장면 (214) 으로 투영하는 것이 가능한 다른 적절한 모바일 디바이스와 같은 임의의 휴대용 전자 디바이스일 수도 있음이 이해되어야 한다. 일부 실시형태들에서, 단일 디바이스 (200) 는 카메라 (202) 와 프로젝터 (205) 양자를 포함하는 반면, 다른 실시형태들에서 하나의 그러한 디바이스는 카메라 (202) 를 포함하고, 다른 그러한 디바이스는 프로젝터 (205) 를 포함하며, 양자의 디바이스들은 서로 직접 또는 컴퓨터 (비도시) 를 통해 통신한다.
전술된 것과 같이 정보를 장면으로 투영하기 위해 도 1a 의 방법을 수행할 시, 상이한 인터랙션 메타포들이 사용될 수도 있다. 카메라 (202; 도 2a) 에 의해 캡처된 이미지들에서 텍스트의 스트링들로부터 생성된 사용자 입력은 비-이미지 기반의 인터랙션과는 반대로, 사용자가 장면 (214) 에 도달하고 현실 세계 오브젝트 (211) 를 직접 조종하게 하며, 여기서 사용자들은 모바일 디바이스와 직접 인터랙트해야만 한다. 구체적으로, 이미지 기반의 사용자 인터랙션이 입력 기술 및 출력 기술로서 선택될 경우, 도 1a 및 도 1b 를 참조하여 전술된 타입의 방법들은, 사용자가 장면 (214) 으로 투영되는 정보를 변경시키는 입력을 제공함에 따라, 사용자가 그의 손들을 장면 (214) 내에서 현실 세계로 투영될 정보와 함께 사용할 수 있게 한다.
전술된 타입의 모바일 디바이스 (200) 는 "컴퓨터 비전" 기술들을 사용하는 다양한 오브젝트 인식 방법들을 포함할 수도 있다. 모바일 디바이스 (200) 는 또한 장면 (214) 에서 상이한 3D 표면들 (또는 패치들) 에 속하는 데이터 (521) (또한 "표면 데이터" 라 불림) 의 영역들로 이미지 (231A) 를 분할하기 위해, 전술된 동작 (103) 의 일부 실시형태들에서 사용되는 워터쉐드 알고리즘을 구현하기 위한 3D 표면 세그멘터 소프트웨어 (511; 도 4) 를 포함할 수도 있다. 추가로, 모바일 디바이스 (200) 는 또한, 정보의 엘리먼트가 투영될 수 있는 표면들 (521) 의 세트에서, 예컨대 높이 (H) 와 폭 (W) 의 직사각형에서 특정 표면을 발견하는 표면 발견장치 (512) 를 포함할 수도 있다. 일부 실시형태들에서 발견 수단을 구현하는 표면 발견장치 (512) 는 또한, 방금 설명된 직사각형의 모든 픽셀들이 특정 표면에 대응하는 이미지 (231A) 의 영역에 존재하는지 여부를 테스트하기 위한 (예컨대, 그에 따라 테스트 수단을 구현하기 위한) 소프트웨어를 포함한다. 표면 발견장치 (512) 는 또한 3D 모델들의 라이브러리 (522) 로부터, 동작 (106) 을 참조하여 전술된 것과 같은 (예컨대, 도 1b 의 방법에 의해 구현된 것과 같은) 직사각형을 디스플레이하기에 적합한 단일 3D 표면의 단일 모델을 (표면 데이터 (521) 에서 식별된 표면들 중에서) 선택하며, 이에 따라 일부 실시형태들에서 식별 수단을 구현한다. 따라서, 일부 실시형태들에서, 표면 발견장치 (512) 는 3D 모델의 식별장치 및 또한 직사각형이 디스플레이될 수 있는 위치의 좌표들을 출력으로서 공급한다.
모바일 디바이스 (200) 는 또한 전술된 동작 (102) 에 따라 투영될 하나 이상의 엘리먼트들을 갖는 정보 (233) 를 취출하기 위한 정보 취출장치 소프트웨어 (513) 를 포함할 수도 있다. 모바일 디바이스 (200) 의 정보 트랜스포머 (514) 는 다음과 같은 2 개의 모듈들을 포함한다: 전달 함수 식별자 및 전달 함수 적용자. 전달 함수 식별자는 전술된 동작 (108) 에 따라 행렬 역변환을 수행하고, 전달 함수 적용자는 동작 (108) 에 의해 생성된 역변환된 행렬을 정보의 엘리먼트에 적용하여 변환된 엘리먼트 (525) 를 획득하며, 변환된 엘리먼트 (525) 는 그 후에 프로젝터 (205) 에 동작가능하게 커플링된 메모리 (203) 의 프레임 버퍼 (530) 에 저장되고 프로젝터 (205) 의 동작시 장면 (214) 에 투영된다. 따라서, 일부 실시형태들의 정보 트랜스포머 (514) 는 저장 수단을 구현한다.
모바일 디바이스 (200) 는 또한 인터넷, WiFi, 셀룰러 무선 네트워크 또는 다른 네트워크와 같은 하나 이상의 타입의 무선 통신 네트워크들을 통해 하나 이상의 신호들을 수신 및/또는 송신하는 것이 가능한 IR 또는 RF 송신기 또는 무선 송신기를 구비할 수도 있다. 또한, 모바일 디바이스 (200) 는 추가로, 그래픽 엔진 (1004), 이미지 프로세서 (1005), (예컨대, 외부 인쇄 회로 기판 (1130) 내의) IR 카메라 (1006) 및 펌웨어, 및/또는 소프트웨어, 및/또는 일정한 데이터를 저장하기 위한 판독 전용 메모리 (ROM; 1007) 를 포함할 수도 있다. 모바일 디바이스 (200) 는 또한 프로세서 (100) 에 의해 실행되는 소프트웨어를 저장하기 위해 디스크 (1008) (또는 하나 이상의 비-일시적인 컴퓨터 판독가능 저장 매체) 를 포함할 수도 있다. 모바일 디바이스 (200) 는 추가로 무선 송신기 및 수신기 (110) 및/또는 임의의 다른 통신 인터페이스들 (1009), 터치 스크린 (1001) 또는 다른 스크린 (1002) 을 포함할 수도 있다.
실시형태에 의존하여, 모바일 디바이스 (200) 는 카메라 (202) 와 결합된 프로젝터 (205) 를 사용하는 제스처 인식 소프트웨어로 프로그래밍될 수도 있다. 프로젝터 (205) 는 사용자가 핸드 제스처들을 사용하여 인터랙팅할 수 있는, 벽과 같은 일상적인 표면들 상에 셀룰러 폰의 디스플레이를 렌더링하는데 사용될 수도 있다. 또한 실시형태에 의존하여, 모바일 디바이스 (200) 는 특수 IR 레이저 스타일러스 또는 글러브들을 트래킹하고 사용자 입력을 IR 링크 (1131) 를 통해 공급하는 IR 카메라 (1006) 를 사용하도록 설계될 수도 있다.
모바일 디바이스 (200) 는 셀룰러 또는 다른 무선 통신 디바이스, PCS (personal communication system) 디바이스, PND (personal navigation device), PIM (Personal Information Manager), PDA (Personal Digital Assistant), 랩탑, 카메라, 태블릿, 또는 증강 현실 (AR) 환경을 생성하는 것이 가능한 다른 적절한 모바일 디바이스와 같은 임의의 휴대용 전자 디바이스일 수도 있음이 이해되어야 한다.
몇몇 설명된 실시형태들의 모바일 디바이스 (200) 는 또한, 예컨대 인터넷, WiFi, 셀룰러 무선 네트워크 또는 다른 네트워크와 같은 하나 이상의 타입의 무선 통신 네트워크들을 통해 하나 이상의 신호들을 송신하는 것이 가능한 IR 또는 RF 송신기 또는 무선 송신기일 수도 있는, 트랜시버 (1010) 내의 송신기의 사용에 의해, 사용자 입력에 응답하여, 장난감일 수도 있는 현실 세계 오브젝트를 원격으로 제어하는 수단을 포함할 수도 있다. 물론, 모바일 디바이스 (200) 는 프로세서 (100) 에 의한 사용을 위해 펌웨어를 저장하는데 사용될 수도 있는, 판독 전용 메모리 (1007) 와 같은 다른 엘리먼트들을 포함할 수도 있다.
또한, 실시형태에 의존하여, 본 명세서에 설명된 타입의 다양한 기능들은 (하나 이상의 프로세서들 또는 프로세서 코어들에 의해 실행된) 소프트웨어에서 또는 전용 하드웨어 회로에서 또는 펌웨어에서, 또는 이들의 임의의 조합에서 구현될 수도 있다. 따라서, 실시형태에 의존하여, 도 4 에 예시되고 앞서 설명된 표면 세그멘터 (511), 표면 발견장치 (512), 정보 취출장치 (513) 및 정보 트랜스포머 (514) 중 임의의 하나 이상은, 하나 이상의 마이크로프로세서들, 임베디드 프로세서들, 제어기들, 주문형 집적회로들 (ASICs), 디지털 신호 프로세서들 (DSPs) 등을 포함할 수 있지만 반드시 포함할 필요는 없다. 용어 프로세서는 특정 하드웨어가 아니라 시스템에 의해 구현되는 기능들을 설명하고자 한다. 또한, 본원에 이용된 바와 같은 용어 "메모리" 는 장기, 단기를 포함하는 임의의 유형의 컴퓨터 저장 매체, 또는 모바일 플랫폼과 연관된 다른 메모리를 지칭하고, 임의의 특정 유형의 메모리나 다수의 메모리들, 또는 메모리가 저장되는 유형의 매체로 제한되지 않는다.
본원에서 설명된 방법론들은 애플리케이션에 따라 다양한 수단으로 구현될 수도 있다. 예를 들어, 이들 방법론들은 ROOM (1007; 도 4) 의 펌웨어 또는 소프트웨어, 또는 하드웨어 또는 이들의 임의의 조합에서 구현될 수도 있다. 하드웨어 구현에 대해, 프로세싱 유닛들은 하나 이상의 ASIC (application specific integrated circuit) 들, DSP (digital signal processing device) 들, DSPD (digital signal processing device) 들, PLD (programmable logic device) 들, FPGA (field programmable gate array) 들, 프로세서들, 제어기들, 마이크로 제어기들, 마이크로프로세서들, 전자 디바이스들, 본 명세서에서 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수도 있다. 펌웨어 및/또는 소프트웨어 구현을 위해, 상기 방법론들은 본 명세서에서 설명된 기능들을 수행하는 모듈들 (예를 들면, 절차들, 기능들 등) 로 구현될 수도 있다.
명령들을 유형적으로 구체화하는 임의의 머신 판독 가능한 매체가 본원에서 설명된 방법론들을 구현하는데 사용될 수도 있다. 예를 들어, 소프트웨어 (510; 도 4) 는 메모리 (203) 에 저장되고 프로세서 (100) 에 의해 실행되는 프로그램 코드들을 포함할 수도 있다. 메모리는 프로세서 (100) 내에 또는 프로세서 (100) 외부에 구현될 수도 있다. 펌웨어 및/또는 소프트웨어로 구현되면, 상기 기능들은 컴퓨터 판독가능 매체 상의 코드 또는 하나 이상의 명령들로서 저장될 수도 있다. 예들은 (이미지들의 시퀀스와 같은) 데이터 구조로 인코딩된 비-일시적 컴퓨터 판독가능 저장 매체 및 (도 1a 및 도 1b 의 방법들을 수행하도록 실행될 수 있는 소프트웨어 (510) 와 같은) 컴퓨터 프로그램으로 인코딩된 컴퓨터 판독가능 매체를 포함한다.
컴퓨터 판독가능 매체는 물리적인 컴퓨터 저장 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 한정이 아닌 예로서, 그러한 컴퓨터 판독가능 매체는 RAM, ROM, 플래시 메모리, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 또한 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있으며; 본 명세서에서 사용되는 바와 같이, 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하고, 여기서, 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하지만 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
본 발명이 교육적 목적으로 특정 실시형태들과 관련하여 예시되지만, 본 발명은 그 실시형태들로 한정되지 않는다. 따라서, 일부 실시형태들의 도 4 에 도시된 아이템 (200) 이 모바일 디바이스이지만, 다른 실시형태들에서 아이템 (200) 은 상이한 폼 팩터들의 사용에 의해 구현되며, 예컨대 어떤 다른 실시형태들에서 아이템 (200) 은 (태블릿, 예컨대 애플사에서 입수가능한 아이패드와 같은) 모바일 플랫폼인 반면 다른 실시형태들에서 아이템 (200) 은 임의의 전자 디바이스 또는 시스템이다. 그러한 전자 디바이스 또는 시스템 (200) 의 예시적인 실시형태들은 손 안에 휴대하기에 충분히 작은 하우징에 밀봉된 센서들 및 사용자 입력 회로를 갖는 하나 이상의 무선 링크(들) 을 통해 통신하는, 랩탑 컴퓨터, 데스크탑 컴퓨터, 또는 서브 컴퓨터와 같은 고정 컴퓨터의 일부인 프로세서 및 메모리와 같이무선으로 상호 통신하는 다수의 물리적인 부분들을 포함할 수도 있다.
본 발명이 교육적 목적으로 특정 실시형태들과 관련하여 예시되지만, 본 발명은 그 실시형태들로 한정되지 않는다. 개시된 실시형태들의 범위를 벗어나지 않으면서 다양한 각색들 및 수정들이 이루어질 수도 있다. 따라서, 첨부된 청구항들의 사상 및 범위는 앞서의 설명으로 제한되어서는 안된다.

Claims (26)

  1. 현실 세계에서 장면의 이미지를 수신하는 단계로서, 상기 이미지는 상기 현실 세계에서의 포인트들에 대한 복수의 거리들을 포함하는, 상기 이미지를 수신하는 단계;
    상기 장면에서 표면들의 세트를 식별하기 위해, 적어도 상기 복수의 거리들을 사용하는 단계;
    상기 표면들의 세트에서, 정보의 엘리먼트가 투영될 수 있는 표면을 발견하는 단계;
    상기 발견하는 단계가 상기 정보의 엘리먼트가 상기 표면상에 투영될 수 있음을 나타낼 경우, 하나 이상의 프로세서들이 상기 표면을 사용하기 위해 전달 함수를 식별하는 단계;
    적어도 상기 정보의 엘리먼트에, 상기 전달 함수를 적용하는 단계; 및
    메모리 내의 프레임 버퍼에, 상기 발견하는 단계 동안 식별된 특정 위치에서, 상기 적용하는 단계로부터 초래하는 변환된 엘리먼트를 저장하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 발견하는 단계는, 상기 정보의 엘리먼트를 디스플레이하기 위한 직사각형의 영역과, 상기 표면에 대응하는 이미지의 영역에서의 전체 픽셀 수를 비교하는 단계를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 발견하는 단계는, 상기 정보의 엘리먼트를 투영하는데 사용될 직사각형에서의 모든 픽셀들이 상기 표면에 대응하는 이미지의 영역에 존재하는지 여부를 테스트하는 단계를 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 발견하는 단계 내의 상기 테스트하는 단계 동안, 상기 특정 위치가 식별되고 상기 메모리에 저장되는, 방법.
  5. 제 3 항에 있어서,
    상기 테스트하는 단계는, 상기 표면들의 세트의 서브세트를 형성하는 다수의 표면들을 상기 정보의 엘리먼트와 연관시켜서, 상기 정보의 엘리먼트가 상기 다수의 표면들의 각각 상에 투영될 수 있도록 반복하여 수행되고, 그리고
    상기 방법은 상기 서브세트로부터 선택된 표면에 상기 정보의 엘리먼트의 투영을 할당하는 단계를 더 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 프레임 버퍼에서의 상기 변환된 엘리먼트를 투영하도록 프로젝터를 동작시키는 단계;
    상기 동작시키는 단계에 후속하여, 사용자 입력을 수신하는 단계; 및
    상기 사용자 입력의 수신에 응답하여, 상이한 표면에 대하여 상기 전달 함수를 식별하는 단계, 상기 적용하는 단계 및 상기 저장하는 단계를 반복하는 단계를 더 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 사용자 입력은 상기 상이한 표면을 식별하는, 방법.
  8. 제 6 항에 있어서,
    상기 사용자 입력은 다른 이미지에서 핸드 제스처로서 식별되는, 방법.
  9. 제 1 항에 있어서,
    상기 발견하는 단계가 상기 정보의 엘리먼트가 상기 표면들의 세트에서의 임의의 표면상에 투영될 수 없다고 나타낼 경우, 상이한 표면을 식별하는 사용자 입력을 수신하는 단계; 및
    상기 상이한 표면에 대하여, 상기 전달 함수를 식별하는 단계, 상기 적용하는 단계 및 상기 저장하는 단계를 반복하는 단계를 더 포함하는, 방법.
  10. 제 1 항에 있어서,
    형상을 식별하는 사용자 입력을 수신하는 단계; 및
    상기 정보의 엘리먼트의 부분을 마스킹하기 위해 상기 전달 함수에서 상기 형상을 사용하는 단계를 더 포함하는, 방법.
  11. 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체로서,
    현실 세계에서 장면의 이미지를 수신하기 위한 명령들로서, 상기 이미지는 상기 장면에서의 포인트들로의 복수의 거리들을 포함하는, 상기 이미지를 수신하기 위한 명령들;
    상기 장면에서 표면들의 세트를 식별하기 위해, 상기 이미지에서 적어도 상기 복수의 거리들을 사용하기 위한 명령들;
    상기 표면들의 세트에서, 정보의 엘리먼트가 투영될 수 있는 표면을 발견하기 위한 명령들;
    상기 발견하는 것이 상기 정보의 엘리먼트가 상기 표면상에 투영될 수 있음을 나타낼 경우, 하나 이상의 프로세서들이 상기 표면을 사용하기 위해 전달 함수를 식별하기 위한 명령들;
    적어도 상기 정보의 엘리먼트에, 상기 전달 함수를 적용하기 위한 명령들; 및
    메모리 내의 프레임 버퍼에, 상기 발견하는 동안 식별된 특정 위치에서, 상기 적용하는 것으로부터 초래하는 변환된 엘리먼트를 저장하기 위한 명령들을 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  12. 제 11 항에 있어서,
    검사하기 위한 명령들은, 상기 표면에 대응하는 이미지의 영역의 전체 픽셀 수를 상기 정보의 엘리먼트를 디스플레이하기 위한 직사각형의 영역과 비교하기 위한 명령들을 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  13. 제 11 항에 있어서,
    검사하기 위한 명령들은, 상기 정보의 엘리먼트를 디스플레이하는데 사용될 직사각형에서의 모든 픽셀들이 상기 표면에 대응하는 이미지의 영역에 존재하는지 여부를 테스트하기 위한 명령들을 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  14. 제 13 항에 있어서,
    상기 특정 위치는 상기 검사하기 위한 명령들 내의 상기 테스트하기 위한 명령들의 실행에 의해 식별되는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  15. 제 13 항에 있어서,
    상기 테스트하기 위한 명령들은, 상기 표면들의 세트의 서브세트를 형성하는 다수의 표면들을 상기 정보의 엘리먼트와 연관시켜서, 상기 정보의 엘리먼트가 상기 다수의 표면들의 각각 상에 투영될 수 있도록 반복하여 실행되게 구성되고; 그리고
    상기 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체는 상기 서브세트로부터 선택된 표면에 상기 정보의 엘리먼트의 투영을 할당하기 위한 명령들을 더 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  16. 제 11 항에 있어서,
    상기 프레임 버퍼에서의 상기 변환된 엘리먼트를 투영하도록 프로젝터를 동작시키기 위한 명령들;
    상기 동작시키는 것에 후속하여, 사용자 입력을 수신하기 위한 명령들; 및
    상이한 표면에 대하여, 상기 전달 함수를 식별하기 위한 명령들, 상기 적용하기 위한 명령들 및 상기 저장하기 위한 명령들을 실행하기 위한 명령들을 더 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 사용자 입력은 상기 상이한 표면을 식별하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  18. 제 16 항에 있어서,
    상기 사용자 입력은 적어도 다른 이미지에서 식별되는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제 11 항에 있어서,
    검사하기 위한 명령들의 실행이 상기 정보의 엘리먼트가 상기 표면들의 세트에서의 임의의 표면상에 투영될 수 없다고 나타낼 경우 실행되도록 구성된, 상이한 표면을 식별하는 사용자 입력을 수신하기 위한 명령들; 및
    상기 상이한 표면에 대하여, 상기 전달 함수를 식별하기 위한 명령들, 상기 적용하기 위한 명령들 및 상기 저장하기 위한 명령들을 반복하기 위한 명령들을 더 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제 11 항에 있어서,
    형상을 식별하는 사용자 입력을 수신하기 위한 명령들; 및
    상기 정보의 엘리먼트의 부분을 마스킹하기 위해 상기 전달 함수에서 상기 형상을 사용하기 위한 명령들을 더 포함하는, 하나 이상의 비-일시적 컴퓨터 판독가능 저장 매체.
  21. 하나 이상의 디바이스들로서,
    카메라;
    상기 카메라에 동작가능하게 커플링된 하나 이상의 프로세서들;
    상기 하나 이상의 프로세서들에 동작가능하게 커플링된 메모리;
    상기 메모리 내의 프레임 버퍼에 동작가능하게 커플링되어 상기 프레임 버퍼로부터 정보를 투영하기 위한 프로젝터; 및
    상기 메모리에서 유지되는 소프트웨어를 포함하고,
    상기 소프트웨어는, 상기 하나 이상의 프로세서들에 의해 실행될 경우, 상기 하나 이상의 프로세서들로 하여금,
    현실 세계에서 장면의 이미지를 상기 카메라로부터 수신하게 하는 것으로서, 상기 이미지는 상기 현실 세계에서의 포인트들에 대한 복수의 거리들을 포함하는, 상기 이미지를 수신하게 하고;
    상기 장면에서 표면들의 세트를 식별하기 위해, 적어도 상기 복수의 거리들을 사용하게 하고;
    상기 표면들의 세트에서, 정보의 엘리먼트가 투영될 수 있는 표면을 발견하게 하고;
    상기 발견하는 것이 상기 정보의 엘리먼트가 상기 표면상에 투영될 수 있음을 나타낼 경우, 상기 표면을 사용하기 위해 전달 함수를 식별하게 하고;
    적어도 상기 정보의 엘리먼트에 상기 전달 함수를 적용하게 하며; 그리고
    상기 프레임 버퍼에, 상기 발견하는 동안 식별된 특정 위치에서, 상기 적용하는 것으로부터 초래하는 변환된 엘리먼트를 저장하게 하는, 하나 이상의 디바이스들.
  22. 제 21 항에 있어서,
    검사하기 위한 소프트웨어는, 상기 하나 이상의 프로세서들로 하여금, 상기 정보의 엘리먼트를 디스플레이하는데 사용될 직사각형에서의 모든 픽셀들이 상기 표면에 대응하는 이미지의 영역에 존재하는지 여부를 테스트하게 하는, 하나 이상의 디바이스들.
  23. 제 22 항에 있어서,
    테스트하기 위한 소프트웨어는, 상기 표면들의 세트의 서브세트를 형성하는 다수의 표면들을 상기 정보의 엘리먼트와 연관시켜서, 상기 정보의 엘리먼트가 상기 다수의 표면들의 각각 상에 투영될 수 있도록 반복하여 실행되고; 그리고
    상기 소프트웨어는 추가로, 연관된 최소 수의 엘리먼트들을 가지는 서브세트의 표면에 상기 정보의 엘리먼트의 투영의 할당을 발생하는, 하나 이상의 디바이스들.
  24. 메모리 및 카메라에 동작가능하게 커플링된 프로세서를 포함하는 시스템으로서,
    현실 세계에서 장면의 이미지를 수신하는 수단으로서, 상기 이미지는 상기 현실 세계에서의 포인트들에 대한 복수의 거리들을 포함하는, 상기 이미지를 수신하는 수단;
    상기 장면에서 표면들의 세트를 식별하기 위해, 적어도 상기 복수의 거리들을 사용하는 수단;
    상기 표면들의 세트에서, 정보의 엘리먼트가 투영될 수 있는 표면을 발견하는 수단;
    상기 발견하는 것이 상기 정보의 엘리먼트가 상기 표면상에 투영될 수 있음을 나타낼 경우, 상기 표면을 사용하기 위해 전달 함수를 식별하는 수단;
    적어도 상기 정보의 엘리먼트에, 상기 전달 함수를 적용하는 수단; 및
    상기 메모리 내의 프레임 버퍼에, 상기 발견하는 수단에 의해 식별된 특정 위치에서, 상기 적용하는 수단에 의해 출력된 변환된 엘리먼트를 저장하는 수단을 포함하는, 메모리 및 카메라에 동작가능하게 커플링된 프로세서를 포함하는 시스템.
  25. 제 24 항에 있어서,
    상기 발견하는 수단은, 상기 정보의 엘리먼트를 디스플레이하는데 사용될 직사각형에서의 모든 픽셀들이 상기 표면에 대응하는 이미지의 영역에 존재하는지 여부를 테스트하는 수단을 포함하는, 메모리 및 카메라에 동작가능하게 커플링된 프로세서를 포함하는 시스템.
  26. 제 25 항에 있어서,
    상기 테스트하는 수단은, 상기 표면들의 세트의 서브세트를 형성하는 다수의 표면들을 상기 정보의 엘리먼트와 연관시켜서, 상기 정보의 엘리먼트가 상기 다수의 표면들의 각각 상에 투영될 수 있도록 반복하여 동작되게 구성되고; 그리고
    상기 정보의 엘리먼트의 투영은 연관된 최소 수의 엘리먼트들을 가지는 서브세트의 표면에 할당되는, 메모리 및 카메라에 동작가능하게 커플링된 프로세서를 포함하는 시스템.
KR1020147007213A 2011-08-19 2012-07-14 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택 KR101575016B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161525628P 2011-08-19 2011-08-19
US61/525,628 2011-08-19
US13/549,388 2012-07-13
US13/549,388 US9245193B2 (en) 2011-08-19 2012-07-13 Dynamic selection of surfaces in real world for projection of information thereon
PCT/US2012/046817 WO2013028280A2 (en) 2011-08-19 2012-07-14 Dynamic selection of surfaces in real world for projection of information thereon

Publications (2)

Publication Number Publication Date
KR20140047733A true KR20140047733A (ko) 2014-04-22
KR101575016B1 KR101575016B1 (ko) 2015-12-07

Family

ID=47712374

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147007213A KR101575016B1 (ko) 2011-08-19 2012-07-14 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택

Country Status (7)

Country Link
US (2) US9245193B2 (ko)
EP (1) EP2745237B1 (ko)
JP (2) JP2014531787A (ko)
KR (1) KR101575016B1 (ko)
CN (1) CN103875004B (ko)
IN (1) IN2014MN00316A (ko)
WO (2) WO2013028279A1 (ko)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI117308B (fi) * 2004-02-06 2006-08-31 Nokia Corp Eleohjausjärjestelmä
US8718356B2 (en) * 2010-08-23 2014-05-06 Texas Instruments Incorporated Method and apparatus for 2D to 3D conversion using scene classification and face detection
US9245193B2 (en) 2011-08-19 2016-01-26 Qualcomm Incorporated Dynamic selection of surfaces in real world for projection of information thereon
JP6044079B2 (ja) * 2012-02-06 2016-12-14 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US9456187B1 (en) 2012-06-01 2016-09-27 Amazon Technologies, Inc. Edge-based pose detection
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10528853B1 (en) 2012-06-29 2020-01-07 Amazon Technologies, Inc. Shape-Based Edge Detection
KR102047494B1 (ko) * 2012-09-10 2019-11-21 삼성전자주식회사 투명 디스플레이 장치 및 그 객체 선택 방법
GB2505708B (en) * 2012-09-11 2015-02-25 Barco Nv Projection system with safety detection
JP5964190B2 (ja) * 2012-09-27 2016-08-03 京セラ株式会社 端末装置
CN103777746B (zh) * 2012-10-23 2018-03-13 腾讯科技(深圳)有限公司 一种人机交互方法、终端及***
KR102001218B1 (ko) * 2012-11-02 2019-07-17 삼성전자주식회사 객체와 관련된 정보 제공 방법 및 이를 위한 디바이스
KR101393570B1 (ko) * 2012-12-28 2014-05-27 현대자동차 주식회사 선택적 조명을 이용한 손 제스처 인식 방법 및 시스템
US9311837B2 (en) 2013-03-14 2016-04-12 Martigold Enterprises, Llc Methods and apparatus for message playback
US10277945B2 (en) * 2013-04-05 2019-04-30 Lenovo (Singapore) Pte. Ltd. Contextual queries for augmenting video display
US9563955B1 (en) 2013-05-15 2017-02-07 Amazon Technologies, Inc. Object tracking techniques
KR102166719B1 (ko) * 2013-06-27 2020-10-16 삼성전자주식회사 전자장치 및 전자장치를 이용한 정보교환 방법
WO2015006784A2 (en) 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10533850B2 (en) 2013-07-12 2020-01-14 Magic Leap, Inc. Method and system for inserting recognized object data into a virtual world
WO2015009276A1 (en) * 2013-07-15 2015-01-22 Intel Corporation Hands-free assistance
KR20150026649A (ko) * 2013-09-03 2015-03-11 삼성전자주식회사 전자 장치에서 제스처를 설정하는 장치 및 방법
KR102106135B1 (ko) * 2013-10-01 2020-05-04 한국전자통신연구원 행동 인식 기반의 응용 서비스 제공 장치 및 그 방법
US20170026636A1 (en) * 2013-12-12 2017-01-26 Testo Ag Method for the positionally accurate projection of a mark onto an object, and projection apparatus
US20150193915A1 (en) * 2014-01-06 2015-07-09 Nvidia Corporation Technique for projecting an image onto a surface with a mobile device
US9207780B2 (en) * 2014-01-27 2015-12-08 Fuji Xerox Co., Ltd. Systems and methods for hiding and finding digital content associated with physical objects via coded lighting
EP3103106A1 (en) * 2014-02-07 2016-12-14 Koninklijke Philips N.V. Method of operating a control system and control system therefore
KR20150110032A (ko) * 2014-03-24 2015-10-02 삼성전자주식회사 영상데이터 처리 전자장치 및 방법
US10572215B1 (en) * 2014-03-31 2020-02-25 Amazon Technologies, Inc. Extendable architecture for augmented reality system
US10579207B2 (en) * 2014-05-14 2020-03-03 Purdue Research Foundation Manipulating virtual environment using non-instrumented physical object
CN105320931B (zh) * 2014-05-26 2019-09-20 京瓷办公信息***株式会社 物品信息提供装置和物品信息提供***
CN107113417B (zh) * 2014-08-01 2020-05-05 惠普发展公司,有限责任合伙企业 将图像投影到对象上
US9582296B2 (en) * 2014-09-18 2017-02-28 International Business Machines Corporation Dynamic multi-user computer configuration settings
US9715865B1 (en) * 2014-09-26 2017-07-25 Amazon Technologies, Inc. Forming a representation of an item with light
KR101909540B1 (ko) * 2014-10-23 2018-10-18 삼성전자주식회사 가상의 입력 영역을 이용한 포터블 디바이스의 사용자 입력 방법
GB2532465B (en) 2014-11-19 2021-08-11 Bae Systems Plc Interactive control station
GB2532464B (en) 2014-11-19 2020-09-02 Bae Systems Plc Apparatus and method for selectively displaying an operational environment
US9886769B1 (en) * 2014-12-09 2018-02-06 Jamie Douglas Tremaine Use of 3D depth map with low and high resolution 2D images for gesture recognition and object tracking systems
US9344615B1 (en) * 2015-01-26 2016-05-17 International Business Machines Corporation Discriminating visual recognition program for digital cameras
WO2016122582A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Relationship preserving projection of digital objects
JP6711284B2 (ja) * 2015-02-03 2020-06-17 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
CN105988568B (zh) 2015-02-12 2020-07-24 北京三星通信技术研究有限公司 获取笔记信息的方法和装置
EP3262488B1 (en) * 2015-02-25 2021-04-07 BAE Systems PLC Apparatus and method for effecting a control action in respect of system functions
CN106033257B (zh) * 2015-03-18 2019-05-31 联想(北京)有限公司 一种控制方法和装置
WO2016151869A1 (en) * 2015-03-23 2016-09-29 Nec Corporation Information processing apparatus, information processing method, and program
CN104796678A (zh) * 2015-04-28 2015-07-22 联想(北京)有限公司 信息处理方法及电子设备
US10281976B2 (en) * 2015-07-07 2019-05-07 Seiko Epson Corporation Display device, control method for display device, and computer program
BR112018007491A2 (pt) * 2015-10-30 2018-10-23 Unilever Nv ?método de medição de indicações de tipo de cabelo, sistema para medir o tipo de cabelo e programa de computador para medir as indicações do tipo de cabelo?
EP3369040A1 (en) * 2015-10-30 2018-09-05 Unilever Plc. Hair curl measurement
US9799111B2 (en) * 2016-02-11 2017-10-24 Symbol Technologies, Llc Methods and systems for highlighting box surfaces and edges in mobile box dimensioning
US10665019B2 (en) * 2016-03-24 2020-05-26 Qualcomm Incorporated Spatial relationships for integration of visual images of physical environment into virtual reality
US10249084B2 (en) 2016-06-10 2019-04-02 Microsoft Technology Licensing, Llc Tap event location with a selection apparatus
US10506221B2 (en) 2016-08-03 2019-12-10 Adobe Inc. Field of view rendering control of digital content
US20180039479A1 (en) * 2016-08-04 2018-02-08 Adobe Systems Incorporated Digital Content Search and Environmental Context
US11461820B2 (en) 2016-08-16 2022-10-04 Adobe Inc. Navigation and rewards involving physical goods and services
US10139961B2 (en) * 2016-08-18 2018-11-27 Microsoft Technology Licensing, Llc Touch detection using feature-vector dictionary
US10720082B1 (en) * 2016-09-08 2020-07-21 Ctskh, Llc Device and system to teach stem lessons using hands-on learning method
US10068378B2 (en) 2016-09-12 2018-09-04 Adobe Systems Incorporated Digital content interaction and navigation in virtual and augmented reality
US10430559B2 (en) 2016-10-18 2019-10-01 Adobe Inc. Digital rights management in virtual and augmented reality
KR102048674B1 (ko) * 2017-07-31 2019-11-26 코닉오토메이션 주식회사 조명램프형 멀티미디어 장치
US10300373B2 (en) * 2017-09-08 2019-05-28 Niantic, Inc. Methods and systems for generating detailed datasets of an environment via gameplay
JP6992342B2 (ja) * 2017-09-13 2022-01-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11132090B2 (en) 2017-12-04 2021-09-28 Hewlett-Packard Development Company, L.P. Peripheral display devices
DE102018203349A1 (de) * 2018-03-07 2019-09-12 BSH Hausgeräte GmbH Interaktionsmodul
HK1258418A2 (zh) * 2018-08-29 2019-11-08 Skala Fintech Company Ltd 使用擴增實境顯示提供一個或多個服務的系統和方法
US10825254B1 (en) * 2019-05-30 2020-11-03 International Business Machines Corporation Augmented reality book selection-assist
US11474671B2 (en) * 2020-01-31 2022-10-18 Salesforce.Com, Inc. Neutralizing designs of user interfaces
TWI724858B (zh) * 2020-04-08 2021-04-11 國軍花蓮總醫院 基於手勢動作的混合實境評量系統
CN113577766B (zh) * 2021-08-05 2024-04-02 百度在线网络技术(北京)有限公司 对象处理方法及装置

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0205628B1 (en) 1985-06-19 1990-06-13 International Business Machines Corporation Method for identifying three-dimensional objects using two-dimensional images
JP3869897B2 (ja) 1997-01-28 2007-01-17 キヤノン株式会社 カメラ制御システムおよび映像受信装置および制御方法および記憶媒体
JP2001211372A (ja) 2000-01-27 2001-08-03 Nippon Telegr & Teleph Corp <Ntt> 映像投影装置
US8817045B2 (en) 2000-11-06 2014-08-26 Nant Holdings Ip, Llc Interactivity via mobile image recognition
JP4009851B2 (ja) 2002-05-20 2007-11-21 セイコーエプソン株式会社 投写型画像表示システム、プロジェクタ、プログラム、情報記憶媒体および画像投写方法
JP4591720B2 (ja) 2002-05-20 2010-12-01 セイコーエプソン株式会社 投写型画像表示システム、プロジェクタ、プログラム、情報記憶媒体および画像投写方法
US6811264B2 (en) * 2003-03-21 2004-11-02 Mitsubishi Electric Research Laboratories, Inc. Geometrically aware projector
US7515756B2 (en) 2003-06-23 2009-04-07 Shoestring Research, Llc. Region segmentation and characterization systems and methods for augmented reality
JP2005313291A (ja) 2004-04-30 2005-11-10 Mitsubishi Heavy Ind Ltd ロボット行動とリンクした映像表示方法とその装置
US20070050468A1 (en) 2005-08-09 2007-03-01 Comverse, Ltd. Reality context menu (RCM)
JP2007142495A (ja) 2005-11-14 2007-06-07 Nippon Telegr & Teleph Corp <Ntt> 平面投影装置、及び平面投影プログラム
US7905610B1 (en) 2006-08-29 2011-03-15 Nvidia Corporation Graphics processor system and associated method for projecting an image onto a three-dimensional object
KR100775123B1 (ko) 2006-09-15 2007-11-08 삼성전자주식회사 영상 객체 인덱싱 방법 및 이를 이용한 영상 객체 인덱싱시스템
WO2008120217A2 (en) 2007-04-02 2008-10-09 Prime Sense Ltd. Depth mapping using projected patterns
US8228170B2 (en) 2008-01-10 2012-07-24 International Business Machines Corporation Using sensors to identify objects placed on a surface
US20090237328A1 (en) * 2008-03-20 2009-09-24 Motorola, Inc. Mobile virtual and augmented reality system
JP5258399B2 (ja) 2008-06-06 2013-08-07 キヤノン株式会社 画像投影装置及びその制御方法
US7954953B2 (en) * 2008-07-30 2011-06-07 Microvision, Inc. Scanned beam overlay projection
US8385971B2 (en) 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
JP2010072025A (ja) 2008-09-16 2010-04-02 Nikon Corp プロジェクタ付電子機器
US20100082629A1 (en) * 2008-09-29 2010-04-01 Yahoo! Inc. System for associating data items with context
US8516561B2 (en) * 2008-09-29 2013-08-20 At&T Intellectual Property I, L.P. Methods and apparatus for determining user authorization from motion of a gesture-based control unit
US20100153457A1 (en) 2008-12-15 2010-06-17 Grant Isaac W Gestural Interface Device and Method
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
KR101657565B1 (ko) 2010-04-21 2016-09-19 엘지전자 주식회사 증강 원격제어장치 및 그 동작 방법
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
KR20110071349A (ko) * 2009-12-21 2011-06-29 삼성전자주식회사 휴대단말의 외부 출력 제어 방법 및 장치
US8549418B2 (en) * 2009-12-23 2013-10-01 Intel Corporation Projected display to enhance computer device use
US8631355B2 (en) * 2010-01-08 2014-01-14 Microsoft Corporation Assigning gesture dictionaries
US20110213664A1 (en) 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US20130311329A1 (en) * 2012-03-29 2013-11-21 Digimarc Corporation Image-related methods and arrangements
CN101907459B (zh) * 2010-07-12 2012-01-04 清华大学 基于单目视频的实时三维刚体目标姿态估计与测距方法
JP5791131B2 (ja) 2010-07-20 2015-10-07 アップル インコーポレイテッド 自然な相互作用のための相互作用的現実拡張
US20130135199A1 (en) * 2010-08-10 2013-05-30 Pointgrab Ltd System and method for user interaction with projected content
US8913085B2 (en) 2010-12-22 2014-12-16 Intel Corporation Object mapping techniques for mobile augmented reality applications
US9041775B2 (en) * 2011-03-23 2015-05-26 Mgestyk Technologies Inc. Apparatus and system for interfacing with computers and other electronic devices through gestures by using depth sensing and methods of use
US9560314B2 (en) * 2011-06-14 2017-01-31 Microsoft Technology Licensing, Llc Interactive and shared surfaces
US8693726B2 (en) 2011-06-29 2014-04-08 Amazon Technologies, Inc. User identification by gesture recognition
US9245193B2 (en) 2011-08-19 2016-01-26 Qualcomm Incorporated Dynamic selection of surfaces in real world for projection of information thereon
US20130050069A1 (en) * 2011-08-23 2013-02-28 Sony Corporation, A Japanese Corporation Method and system for use in providing three dimensional user interface
WO2013028813A1 (en) * 2011-08-23 2013-02-28 Microsoft Corporation Implicit sharing and privacy control through physical behaviors using sensor-rich devices
US9342610B2 (en) 2011-08-25 2016-05-17 Microsoft Technology Licensing, Llc Portals: registered objects as virtualized, personalized displays
US20130207962A1 (en) * 2012-02-10 2013-08-15 Float Hybrid Entertainment Inc. User interactive kiosk with three-dimensional display
US8994650B2 (en) 2012-04-27 2015-03-31 Qualcomm Incorporated Processing image input to communicate a command to a remote display device

Also Published As

Publication number Publication date
US9245193B2 (en) 2016-01-26
JP6273334B2 (ja) 2018-01-31
JP2014531787A (ja) 2014-11-27
US20130044912A1 (en) 2013-02-21
JP2017038397A (ja) 2017-02-16
IN2014MN00316A (ko) 2015-09-11
WO2013028280A2 (en) 2013-02-28
US20130044193A1 (en) 2013-02-21
WO2013028279A1 (en) 2013-02-28
CN103875004A (zh) 2014-06-18
CN103875004B (zh) 2017-12-08
EP2745237A2 (en) 2014-06-25
EP2745237B1 (en) 2022-09-07
WO2013028280A3 (en) 2013-04-18
KR101575016B1 (ko) 2015-12-07

Similar Documents

Publication Publication Date Title
KR101575016B1 (ko) 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택
US20170255450A1 (en) Spatial cooperative programming language
CN107251101B (zh) 针对使用具有参数的标记的增强现实的场景修改
CN104937635B (zh) 基于模型的多假设目标追踪器
US9704055B2 (en) Occlusion render mechanism for point clouds
JP6007497B2 (ja) 画像投影装置ならびに画像投影制御装置およびプログラム
JP2020509506A (ja) カメラ姿勢情報の決定方法、装置、デバイス及び記憶媒体
CN108875133A (zh) 确定建筑布局
TW201432548A (zh) 基於識別碼的三維交互的方法和系統
JP2014096152A (ja) ポイントクラウド内の埋め戻しポイント
EP2972950B1 (en) Segmentation of content delivery
US10950056B2 (en) Apparatus and method for generating point cloud data
CN103679788B (zh) 一种移动终端中3d图像的生成方法和装置
US10691878B2 (en) Presenting associations of strokes with content
WO2016018422A1 (en) Virtual changes to a real object
KR20200136723A (ko) 가상 도시 모델을 이용하여 객체 인식을 위한 학습 데이터 생성 방법 및 장치
WO2016136380A1 (ja) 情報処理システム及びプログラム、サーバ、端末、並びに媒体
CN109977952A (zh) 基于局部最大值的候选目标检测方法
US8648861B2 (en) Two-dimensional vector fills using topological recipes
JP6017343B2 (ja) データベース生成装置、カメラ姿勢推定装置、データベース生成方法、カメラ姿勢推定方法、およびプログラム
CN104137026B (zh) 用于制图识别的方法、装置和***
US10372318B2 (en) Associating strokes with content
US20180150957A1 (en) Multi-spectrum segmentation for computer vision
CN110910478B (zh) Gif图生成方法、装置、电子设备及存储介质
US20150248760A1 (en) Creating a summary of content and stroke association

Legal Events

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