KR101842075B1 - 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍 - Google Patents

타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍 Download PDF

Info

Publication number
KR101842075B1
KR101842075B1 KR1020167019262A KR20167019262A KR101842075B1 KR 101842075 B1 KR101842075 B1 KR 101842075B1 KR 1020167019262 A KR1020167019262 A KR 1020167019262A KR 20167019262 A KR20167019262 A KR 20167019262A KR 101842075 B1 KR101842075 B1 KR 101842075B1
Authority
KR
South Korea
Prior art keywords
content
projection
target
area
determining
Prior art date
Application number
KR1020167019262A
Other languages
English (en)
Other versions
KR20160101070A (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 KR20160101070A publication Critical patent/KR20160101070A/ko
Application granted granted Critical
Publication of KR101842075B1 publication Critical patent/KR101842075B1/ko

Links

Images

Classifications

    • 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/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/13Projectors for producing special effects at the edges of picture, e.g. blurring
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/14Details
    • G03B21/142Adjusting of projection optics
    • 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/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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
    • G06K9/00389
    • G06K9/00671
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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
    • 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
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/373Details of the operation on graphic patterns for modifying the size of the graphic pattern
    • 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
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B2206/00Systems for exchange of information between different pieces of apparatus, e.g. for exchanging trimming information, for photo finishing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geometry (AREA)
  • Optics & Photonics (AREA)
  • Pathology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Physiology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Dentistry (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Transforming Electric Information Into Light Information (AREA)
  • Image Analysis (AREA)
  • Projection Apparatus (AREA)
  • Image Processing (AREA)

Abstract

프로젝션 타겟의 경계들 내의 프로젝션을 위해 콘텐츠를 트리밍하기 위한 시스템들 및 방법들이 제공된다. 시스템들 및 방법들은 프로젝션 타겟의 형상, 아웃라인, 및 프로젝션 타겟에 대한 거리를 포함한, 프로젝션 타겟의 하나 또는 그 초과의 특징들에 기초하여 프로젝션을 위해 콘텐츠를 트리밍한다. 더욱이, 시스템들 및 방법들은 하나 또는 그 초과의 특징들에 기초하여, 어떠한 콘텐츠도 프로젝팅되지 않을 보이드 영역들을 지정하며, 프로젝팅되는 콘텐츠가 프로젝션 타겟 외측의 표면들 또는 객체들 상으로 상당히 유출되지 않게, 콘텐츠가 프로젝션 타겟 상에 프로젝팅되고 보이드 영역들이 프로젝션 타겟 외측에 프로젝팅되도록, 보이드 영역들이 콘텐츠와 함께 생성되거나 또는 다른 방식으로 프로젝팅될 것이다.

Description

타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍{TRIMMING CONTENT FOR PROJECTION ONTO A TARGET}
본원에서 개시되는 실시예들은 일반적으로 프로젝션들을 프로젝션 타겟에 피팅(fitting)하는 것에 관한 것이다. 특히, 본원에서 개시되는 실시예들은 타겟의 경계들 내의 프로젝션을 위해 콘텐츠를 트리밍(trim)할 수 있다.
모바일 디바이스들로부터의 이미지들 또는 콘텐츠를 타겟 객체 상에 프로젝팅하기 위해, 개인용, 모바일, 또는 피코 프로젝터들이 모바일 디바이스들과 함께 이용될 수 있다. 프로젝팅되는 이미지들 또는 콘텐츠는 사용자들의 모바일 디바이스 상에서 현재 이용가능한 것보다 더 큰 뷰를 사용자에게 제공할 수 있거나 또는 사용자가 자신들의 모바일 디바이스로부터의 이미지들 또는 콘텐츠를 공유하게 할 수 있다. 모바일 프로젝터들은 또한, 증강 현실(AR) 애플리케이션들을 향상시키기 위해 이용될 수 있다. AR은 사용자로 하여금 그들이 세계와 상호작용하는 방식을 변화시키도록 허용하는 유망 기술이다. AR은 자연적 실세계 환경의 라이브(live)의 직접적 또는 간접적 뷰이며, 엘리먼트들은 사운드, 비디오, 그래픽들, 또는 GPS 데이터와 같은 컴퓨터-생성 센서 입력에 의해 증강된다. 일부 사용들에서, AR은, 사용자 주변의 환경의 이미지들을 캡쳐하고, 그 다음으로, 증강을 위해 그 캡쳐된 이미지들의 객체들을 인식하기 위한 객체 인식 알고리즘들을 이용하는 이미지 캡쳐 디바이스를 갖는 디바이스에 의해 인에이블된다. 그 다음으로, 예컨대, 인식된 객체들에 기초하여 증강된 뷰의 부분들을 이용하여 디바이스의 디스플레이 상에서 사용자 주변의 환경의 뷰가 사용자에게 제공될 수 있다. 모바일 프로젝터들은, 스크린 상에 증강 환경의 뷰를 디스플레이하는 대신에 또는 스크린 상에 증강 환경의 뷰를 디스플레이하는 것에 추가하여, 객체를 인식하고 콘텐츠를 실제 객체 상에 프로젝팅하는 것을 허용할 수 있다.
일부 실시예들과 일치하는 방법이 제공되며, 방법은 프로젝션 타겟을 결정하는 단계, 프로젝션 타겟의 하나 또는 그 초과의 경계(bound)들을 결정하는 단계, 결정된 하나 또는 그 초과의 경계들에 기초하여, 콘텐츠 영역 및 보이드 영역(void area)을 결정하는 단계, 스케일링 팩터(scaling factor)를 결정하는 단계, 스케일링 팩터에 기초하여 콘텐츠 영역 내의 프로젝션을 위해 콘텐츠를 생성하는 단계, 및 보이드 영역을 생성하는 단계를 포함한다. 방법은 또한, 유형적(tangible)인 비-일시적 컴퓨터-판독가능 매체에서 구현될 수 있다.
일부 실시예들과 일치하는 장치가 또한 제공되며, 장치는 프로젝션 타겟의 하나 또는 그 초과의 프로젝션 파라미터들에 기초하여 콘텐츠 영역 및 보이드 영역을 프로젝팅하도록 구성된 프로젝터를 포함한다. 장치는 또한, 프로젝션 타겟을 포함하는 시야(field of view)의 하나 또는 그 초과의 이미지들을 캡쳐하도록 구성된 카메라, 프로젝터 및 카메라에 커플링된 하나 또는 그 초과의 프로세서들 ― 하나 또는 그 초과의 프로세서들은 하나 또는 그 초과의 프로젝션 파라미터들을 결정하도록 구성됨 ―, 및 하나 또는 그 초과의 프로세서들에 커플링된 메모리를 포함한다.
일부 실시예들과 일치하는 시스템이 추가로 제공되며, 시스템은 프로젝션 타겟을 결정하기 위한 수단을 포함한다. 시스템은 또한, 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하기 위한 수단, 결정된 하나 또는 그 초과의 경계들에 기초하여, 콘텐츠 영역 및 보이드 영역을 결정하기 위한 수단, 및 스케일링 팩터를 결정하기 위한 수단을 포함한다. 시스템은, 스케일링 팩터에 기초하여 콘텐츠 영역 내의 프로젝션을 위해 콘텐츠를 생성하기 위한 수단, 및 보이드 영역을 생성하기 위한 수단을 더 포함한다.
도 1은 일부 실시예들과 일치하는 프로세싱 시스템을 예시하는 도면이다.
도 2a 내지 도 2d는 일부 실시예들과 일치하는, 타겟 객체 상의 영역의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 3a 및 도 3b는 일부 실시예들과 일치하는, 객체 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 4a 및 도 4b는 일부 실시예들과 일치하는, 객체의 경계들 외측에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 5a 및 도 5b는 일부 실시예들과 일치하는, 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 6a 및 도 6b는 손의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 7a 내지 도 7d는 일부 실시예들과 일치하는, 검출된 제스처에 기초하여 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 8a 및 도 8b는 일부 실시예들과 일치하는, 다수의 객체들 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 9a 및 도 9b는 일부 실시예들과 일치하는, 객체의 다수의 부분들 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 10a 및 도 10b는 일부 실시예들과 일치하는, 다수의 객체들 상에 피팅하기 위해 다수의 이미지들을 갖는 콘텐츠를 트리밍하는 것의 예를 예시한다.
도 11은 일부 실시예들과 일치하는, 콘텐츠를 트리밍하기 위한 방법을 예시하는 흐름도이다.
도 12는 일부 실시예들과 일치하는, 객체 상에 마스킹된 이미지를 프로젝팅하기 위한 방법을 예시하는 흐름도이다.
도 13은 일부 실시예들과 일치하는, 타겟 상에 마스킹된 경보를 프로젝팅하기 위한 방법을 예시하는 흐름도이다.
도 14는 일부 실시예들과 일치하는, 검출된 제스처에 기초하여 타겟 상에 마스킹된 콘텐츠를 프로젝팅하기 위한 방법을 예시하는 흐름도이다.
도면들에서, 동일한 표기들을 갖는 엘리먼트들은 동일한 또는 유사한 기능들을 갖는다.
다음의 설명에서, 특정 실시예들을 설명하는 특정 세부사항들이 제시된다. 그러나, 개시되는 실시예들이 이러한 특정 세부사항들 중 일부 또는 모든 특정 세부사항들 없이 실시될 수 있음이 당업자에게 명백할 것이다. 제공되는 특정 실시예들은 제한이 아닌 예시적인 것으로 여겨진다. 당업자는, 본원에서 구체적으로 설명되지 않았지만 다른 자료가 본 개시내용의 범위 및 사상 내에 있음을 인식할 수 있다.
앞서 언급된 바와 같이, 모바일 프로젝션 디바이스들은, 사용자들의 모바일 디바이스 상에서 현재 이용가능한 것보다 더 큰 뷰를 사용자에게 제공하기 위해 또는 증강 현실을 생성하도록 타겟 객체를 증강시키기 위해, 모바일 디바이스들로부터의 이미지들 또는 콘텐츠를 타겟 객체 상에 프로젝팅하기 위하여 모바일 디바이스들과 함께 이용될 수 있다. 그러나, 프로젝션이 사용자 및 심지어 사용자 인근의 다른 사람들에게 불편할 수 있는 상황들이 존재한다. 예컨대, 공공 공간들에서의 프로젝션들은 다른 사람들을 산만하게 할 수 있거나 또는 다른 사람들이 프로젝션에 포함된 사적인 콘텐츠를 뷰잉하는 것을 가능하게 할 수 있다. 사용자만이 프로젝션을 뷰잉할 수 있는 프로젝션 타겟을 지정하려고 사용자가 시도할지라도, 사용자가 프로젝션을 용이하게 뷰잉하기에는 프로젝션이 너무 작게 스케일링될 수 있거나, 또는 프로젝션이 적절하게 스케일링되는 경우, 프로젝션이 여전히 타겟을 오버랩하여, 프로젝션이 타겟 너머의 영역들 상으로 유출될 수 있다.
따라서, 특정 타겟의 경계들 내에 피팅하기 위해, 콘텐츠를 프로젝팅되는 이미지 내에 트리밍하기 위한 시스템들 및 방법들이 필요하다.
도 1은 일부 실시예들과 일치하는 프로세싱 시스템(100)을 예시하는 도면이다. 프로세싱 시스템(100)은, 스마트폰, 태블릿 컴퓨터, 개인용 컴퓨터, 랩톱 또는 넷북들, 이를테면 케이블 또는 위성 콘텐츠 제공자들에 의해 제공되는 셋톱 박스(STB) 또는 비디오 게임 시스템 콘솔들과 같은 모바일 디바이스일 수 있다. 프로세싱 시스템(100)은 또한, 머리 장착 디스플레이(HMD) 또는 다른 착용가능 컴퓨팅 디바이스일 수 있다. 일부 실시예들에서, 프로세싱 시스템(100)은 자동차, 예컨대, 자동차의 엔터테인먼트 센터 또는 콘솔로 구현되거나 또는 스마트 인슐린 펌프 또는 스마트 인슐린 미터와 같은 건강관리 디바이스로 구현되거나 또는 그에 포함된다. 일부 실시예들에 따르면, 프로세싱 시스템(100)은 이미지들을 캡쳐하고 콘텐츠를 프로젝팅하기 위해 구성된 하드웨어 및/또는 소프트웨어의 임의의 적절한 결합을 이용하여 구현될 수 있다. 특히, 프로세싱 시스템(100)은, 하나 또는 그 초과의 프로세서들을 가지며, 이미지들을 캡쳐하고 콘텐츠를 프로젝팅하기 위한 하나 또는 그 초과의 프로세서들에 의한 실행을 위해 비-일시적 머신-판독가능 매체 상에 저장된 명령들을 판독할 수 있는 하드웨어 및/또는 소프트웨어의 임의의 적절한 결합을 포함할 수 있다. 머신-판독가능 매체들의 일부 공통적인 형태들은 예컨대, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치 카드들, 페이퍼 테이프, 정공들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 및/또는 하나 또는 그 초과의 프로세서들 또는 컴퓨터가 판독하도록 적응된 임의의 다른 매체를 포함한다.
프로세싱 시스템(100)은 네트워크와의 통신을 위해 구성된 네트워크 인터페이스 컴포넌트(102)를 포함할 수 있다. 일부 실시예들과 일치하는 네트워크 인터페이스 컴포넌트(102)는, 동축 케이블, 광섬유 케이블, DSL(digital subscriber line) 모뎀, PSTN(public switched telephone network) 모뎀, 이더넷 디바이스, 및/또는 다양한 다른 타입들의 유선 네트워크 통신 디바이스들과 인터페이스하도록 구성될 수 있다. 네트워크 인터페이스 컴포넌트(102)는 또한, 하나 또는 그 초과의 무선 트랜시버들을 포함할 수 있으며, 각각의 무선 트랜시버는 안테나를 포함할 수 있고, 안테나는 분리가능하거나 또는 통합되고 그리고 Wi-Fi™, 3G, 4G, HSDPA, LTE, RF, NFC와 같은 상이한 무선 네트워킹 프로토콜에 따라 정보를 송신 및 수신할 수 있다.
일부 실시예들과 일치하는 프로세싱 시스템(100)은, 프로세싱 시스템(100) 내의 다양한 컴포넌트들을 상호연결하고 그리고 다양한 컴포넌트들 사이에서 정보를 통신하기 위한 시스템 버스(104)를 포함한다. 일부 실시예들에서, 버스(104)는 SoC(System on Chip)로 구현되며, 하나 또는 그 초과의 프로세서들의 칩 및/또는 코어들 상의 다양한 엘리먼트들 또는 컴포넌트들을 연결한다. 컴포넌트들은 프로세싱 컴포넌트(106)를 포함할 수 있고, 프로세싱 컴포넌트(106)는 하나 또는 그 초과의 프로세서들, 중앙 프로세싱 유닛(CPU)들, 이미지 신호 프로세서(ISP)들, 마이크로-제어기들 또는 디지털 신호 프로세서(DSP)들, 그래픽 프로세싱 유닛(GPU)들 및 오디오 신호 프로세서들일 수 있으며, 오디오 신호 프로세서들은 아날로그 및/또는 디지털 오디오 신호 프로세서들을 포함할 수 있다. 컴포넌트들은 또한, 메모리 컴포넌트(108)를 포함할 수 있고, 메모리 컴포넌트(108)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 앞서 설명된 바와 같은 광학, 자기, 고체-상태 또는 다른 메모리들에 대응할 수 있다.
일부 실시예들과 일치하는 프로세싱 시스템(100)은 또한, 정보를 사용자에게 디스플레이하기 위한 디스플레이 컴포넌트(110)를 포함할 수 있다. 디스플레이 컴포넌트(110)는 액정 디스플레이(LCD) 스크린, 유기 발광 다이오드(OLED) 스크린(액티브 매트릭스 AMOLED 스크린들을 포함함), LED 스크린, 플라즈마 디스플레이, 또는 음극선관(CRT) 디스플레이일 수 있다. 디스플레이 컴포넌트(110)는 프로세싱 시스템(100)과 통합될 수 있거나, 또는 프로세싱 시스템(100)으로부터 분리되고 프로세싱 시스템(100)에 커플링될 수 있다. 프로세싱 시스템(100)은 또한, 사용자가 정보를 입력하고 디스플레이 컴포넌트(110)를 따라 내비게이팅하도록 허용하는 입력 및 내비게이션 컴포넌트(112)를 포함할 수 있다. 입력 및 내비게이션 컴포넌트(112)는 예컨대, 키보드 또는 키패드, 물리적이든 또는 가상이든, 마우스, 트랙볼, 또는 다른 이러한 디바이스, 또는 용량성 또는 다른 센서-기반 터치 스크린을 포함할 수 있다.
프로세싱 시스템(100)은 또한, 시스템(100) 및/또는 시스템(100)의 주변환경과 연관된 데이터를 캡쳐하는 센서들(114)을 포함할 수 있다. 센서들(114)은 마이크로폰들 또는 오디오 센서들, 카메라들, 광 센서들, 근접 센서들, 주변광 센서들, 압력 센서들, 관성 센서들(예컨대, 가속도계들 및/또는 자이로스코프들), 자력계들 등(그러나, 이에 한정되지 않음)을 포함할 수 있다. 센서들(114)은 센서 어레이들 또는 임의의 다른 결합들과 같이, 개별적으로 또는 결합되어 이용될 수 있다. 센서들(114)은 상호의존적으로 또는 서로 독립적으로 동작할 수 있다. 센서들(114)은, 예컨대, 메모리 컴포넌트(108) 또는 다른 모듈들에 저장된 명령들과 일치하는 센서들(114)에 의해 캡쳐된 데이터를 프로세싱하기 위해 그리고 캡쳐된 데이터와 연관된 메타데이터를 생성하거나 또는 다른 방식으로 획득하기 위해 시스템 버스(104)를 통해 프로세싱 컴포넌트(106)와 통신할 수 있다.
프로세싱 시스템(100)은 또한, 카메라(116)를 포함할 수 있다. 일부 실시예들에서, 카메라(116)는 가시광 카메라 또는 깊이-감지 카메라, 이를테면, Microsoft® Xbox™ Kinect™ 카메라일 수 있다. 카메라(116)는 또한, 적외선(IR) 광 또는 자외선(UV) 광을 검출하도록 구성될 수 있다. 카메라(116)는 또한, 스테레오 카메라, ToF(time-of-flight) 카메라, 또는 이미지를 캡쳐하는 것을 검출할 수 있는 다른 카메라일 수 있다. 일부 실시예들에서, 카메라(116)는 프로세싱하기 위해 카메라(116)의 시야 내의 객체들의 하나 또는 그 초과의 이미지들을 캡쳐하도록 구성될 수 있다. 더욱이, 카메라(116)는 제스처 검출, 추적, 객체 인식, 및 다른 목적들을 위해 이미지들을 캡쳐하기 위해 이용될 수 있다. 카메라는 또한, 비디오와 같은 일련의 이미지들을 캡쳐할 수 있다.
프로세싱 시스템(100)은 또한, 프로젝터(118)를 포함할 수 있다. 프로젝터(118)는 하나 또는 그 초과의 이미지들을 형성하기 위해 광을 프로젝팅할 수 있다. 하나 또는 그 초과의 이미지들은, 프레임들의 집합으로서 프로젝팅되는 정지된 또는 움직이는 이미지들과 같은 콘텐츠를 포함할 수 있다. 일부 실시예들에서, 프로젝터(118)는 프로젝팅되는 이미지에 애니메이션 또는 움직임의 외관을 제공하기 위해, 프로젝팅되는 광의 배치를 변경할 수 있다. 프로젝터(118)는 DLP(Digital Light Processing) 프로젝터, LBS(laser beam-steering) 프로젝터, LCoS(liquid crystal on silicon) 프로젝터, 또는 다른 프로젝터일 수 있다. 일부 실시예들에서, 프로젝터(118)는 또한, 모바일 또는 휴대용 프로젝터일 수 있다. 일부 실시예들에서, 프로젝터(118)는 착용가능 프로젝터일 수 있다.
프로세싱 시스템(100)은 또한, 프로젝션 생성(projection generation)(120), 객체 인식(object recognition)(122), 추적(tracking)(124), 트리밍(trimming)(126), 및 제스처 검출(gesture detection)(128)이 가능할 수 있다. 이러한 기능들은 프로세싱 컴포넌트(106)에 의해 실행될 때 기능을 수행하는 하나 또는 그 초과의 소프트웨어 모듈들에 의해 수행될 수 있다. 다른 실시예들에서, 기능들은, 기능을 수행하기 위해 명령들을 실행하기 위한 적어도 하나의 프로세서 및 메모리를 갖는 주문형 집적 회로(ASIC) 또는 다른 회로를 포함하는 소프트웨어 모듈을 나타낼 수 있다. 일부 실시예들에서, 프로젝션 생성(120)은 프로젝터(118)에 의한 프로젝션을 위해 하나 또는 그 초과의 이미지들을 생성하는 것을 포함할 수 있다. 생성된 하나 또는 그 초과의 이미지들은 타겟 객체 또는 영역 상에 프로젝팅하기 위한 콘텐츠일 수 있다. 일부 실시예들에서, 콘텐츠는 타겟 객체 또는 영역을 증강시키기 위한 콘텐츠일 수 있다. 콘텐츠는 또한, 이미지들 또는 이미지들의 시리즈, 이를테면, 비디오 또는 애니메이션일 수 있다. 일부 실시예들에서, 프로젝팅되는 콘텐츠는 2차원(2D) 또는 3차원(3D) 데이터로부터 생성된 콘텐츠의 프로젝션을 포함할 수 있다. 콘텐츠는 또한, 경보들, 메시지들, 사용자 인터페이스(UI) 엘리먼트들, 소셜 네트워킹 콘텐츠들 등일 수 있다. 콘텐츠는 또한, 미리 결정된 해상도로 타겟 객체 상에 프로젝팅되도록 트리밍될 수 있으며, 미리 결정된 해상도는 일부 실시예들에서, 타겟 객체 상에서의 디스플레이를 위한 최대 해상도일 수 있다.
객체 인식(122)은 카메라(116)에 의해 캡쳐된 이미지들에 대해 하나 또는 그 초과의 객체 인식 알고리즘들을 수행하는 것을 포함할 수 있다. 객체 인식(122)에서 수행되는 객체 인식 알고리즘들은, 피쳐(feature) 검출, 패턴 인식, 외관 매칭(appearance matching), 이미지 매칭 등을 이용하여, 하나 또는 그 초과의 이미지 프레임들에서 객체를 인식할 수 있다. 일부 실시예들에서, 객체 인식(122)에서 인식되는 객체들은 추적(124)을 위해 이용되는 객체들, 프로젝션의 타겟들로서 지정된 객체들, 및 증강을 위한 객체들일 수 있다. 일부 실시예들에서, 객체 인식(122)은 자동으로 객체들을 인식하고 인식된 객체들을 프로젝션 및/또는 증강을 위한 타겟들로서 지정하는 것을 포함할 수 있다.
일부 실시예들에서, 프로세싱 시스템(100)의 사용자는, 예컨대, 디스플레이 컴포넌트(110)에 의해 프로세싱 시스템(100) 상에 디스플레이됨에 따라, 객체를 선택하거나 또는 다른 방식으로 객체와 상호작용함으로써, 시야 내의 객체를 프로젝션을 위한 타겟 또는 증강을 위한 객체로서 지정할 수 있다. 사용자가 증강을 위한 객체를 선택하는 경우, 객체 인식(122)은, 선택된 객체를 인식하고 그리고 객체와 관련된 정보에 의해 또는 제삼자(third party)에 의해 제공되는 정보에 기초하는 콘텐츠로 그 인식된 객체를 증강시키려고 시도하는 것을 포함할 수 있다. 일부 실시예들에서, 객체 인식(122)은 객체 인식(122)을 수행하기 위해 그리고 객체와 관련된 콘텐츠를 찾기 위해 네트워크 인터페이스 컴포넌트(102)를 이용하여 네트워크와 통신하는 것을 포함할 수 있다.
추적(124)은 시간에 걸쳐 타겟 영역 내의 객체들의 위치를 연관시키는 것을 포함할 수 있다. 일부 실시예들에서, 추적(124)은, 심지어 프로젝터가 이동하거나 또는 타겟 객체들이 이동할지라도, 프로젝팅되는 콘텐츠가 하나 또는 그 초과의 지정된 타겟 객체들 상에 계속 프로젝팅되도록, 시간 기간에 걸쳐 타겟 영역에서의 객체들의 결정된 위치 및 배향에 기초하여 프로젝션을 제어하도록 구성될 수 있다. 추적(124)은 카메라(116)에 의해 캡쳐된 이미지들 그리고 일부 실시예들에서는 센서들(114)로부터의 정보에 기초하여 프로젝터(118)의 프로젝션을 제어할 수 있다. 일부 실시예들에서, 추적(124)은 카메라(116)에 의해 캡쳐된 이미지들 및/또는 가속도계 또는 자이로스코프와 같은 센서들(114)에 의해 획득된 정보를 이용하여 타겟 객체들에 관한 포즈(pose), 배향 및 깊이 정보를 추정하는 것을 포함할 수 있다. 추적(124)은, 증강 현실 콘텐츠를 생성하는 것을 비롯하여 프로젝터(118)에 의한 프로젝션을 제어하기 위해 프로젝션 생성(120)에서 나중에 이용될 수 있는 하나 또는 그 초과의 매트릭스들을 생성하는 것을 더 포함할 수 있다. 추적(124)은 카메라(116)로부터의 캡쳐된 이미지들 및/또는 센서들(114)로부터의 정보에 기초하여 프로젝션 생성(120)을 위해 콘텐츠를 스케일링하고, 회전시키고 그리고 평행이동시키는 것을 포함할 수 있다. 추적(124)은 캡쳐된 이미지에 기초하여 6 자유도(six degrees-of-freedom)를 결정하는 것 및 결정된 6 자유도에 기초하여 프로젝션을 위해 콘텐츠를 추적하는 것을 포함할 수 있다. 카메라(116)가 깊이 감지 카메라이거나 또는 깊이 감지 카메라를 포함하는 실시예들의 경우, 하나 또는 그 초과의 이미지들은 시야의 깊이 맵을 전개하도록 프로세싱될 수 있다. 깊이 맵은, 프로젝션의 적절한 포커스를 유지하는 것을 비롯하여 프로젝션을 추적 및 제어하기 위해 추적(124)에서 이용될 수 있다.
트리밍(126)은, 프로젝션 생성에 의해 생성되어 프로젝션 디바이스에 의해 프로젝팅되는 콘텐츠가 타겟 객체의 경계들 내에 프로젝팅되도록 트리밍하기 위해 하나 또는 그 초과의 동작들을 수행하는 것을 포함할 수 있다. 일반적으로, 트리밍(126)은, 콘텐츠 영역들로 지칭될 수 있는, 콘텐츠를 가질 프로젝션의 영역들, 및 어떠한 콘텐츠도 갖지 않을 프로젝션의 영역들인 보이드 영역들을 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 보이드 영역들은, 흑색(black) 또는 어두운(dark) 픽셀들이 프로젝팅되는 영역들일 수 있다. 어두운 픽셀들은 흑색 픽셀들을 포함할 수 있지만, 프로젝팅되는 콘텐츠의 평균 강도 또는 프로젝팅되는 콘텐츠의 에지들의 평균 강도보다 더 어두운 픽셀들을 또한 포함할 수 있다. 일부 실시예들에서, 어두운 픽셀들은 RGB 색 스케일 상에서 80% 또는 그 초과로 어두운 색을 갖는 픽셀들을 포함할 수 있다. 일부 실시예들에서, 어두운 픽셀들은 프로젝터(118)에 의해 프로젝팅되는 광의 색에 비해 어두운 색을 갖는 픽셀들을 포함할 수 있다. 일부 실시예들에서, 보이드 영역들은 흑색 또는 어두운 스캔 라인들이 프로젝팅되는 영역들일 수 있다. 게다가, 일부 실시예들에서, 어두운 픽셀들은, 프로젝터(118)에 의해 어떠한 광도 프로젝팅되지 않는 영역일 수 있다. 예컨대, 픽셀을 제어하는 거울, 레이저, 또는 다른 컴포넌트는, 보이드 영역에 어두운 픽셀을 생성하기 위해 턴오프될 수 있다.
일반적으로, 트리밍(126)은 타겟 객체의 형상 또는 아웃라인(outline)에 기초하여, 프로젝팅되는 이미지를 마스킹(mask)하기 위해 보이드 영역을 생성하는 것을 포함할 수 있다. 예컨대, 트리밍(126)은 타겟 객체의 형상을 결정하는 것, 결정된 형상에 기초하여 보이드 영역을 생성하는 것, 콘텐츠가 그 결정된 형상 내에 프로젝팅되고 그리고 실질적으로 어떠한 콘텐츠도 그 결정된 형상 외측에 프로젝팅되지 않는 한편 어두운 픽셀들이 그 결정된 형상 외측에 프로젝팅되도록 프로젝션을 마스킹하는 것을 포함할 수 있다. 일부 실시예들에서, 형상은, 카메라(116)에 의해 캡쳐된 타겟 객체의 이미지로부터 타겟 객체의 아웃라인을 결정함으로써 결정될 수 있다. 다른 실시예들에서, 형상은, 메모리 컴포넌트(108)에 저장되거나 또는 시스템(100)과 통신하는 다른 디바이스로부터 수신되었을 수 있는 타겟 객체의 이미지로부터 타겟 객체의 아웃라인을 결정함으로써 결정될 수 있다. 일부 실시예들에서, 보이드 영역은 결정된 아웃라인보다 다소 더 크도록 또는 다소 더 작도록, 예컨대, 1 픽셀 더 크거나 또는 더 작도록 자동으로 설정될 수 있다. 일부 실시예들에서, 형상은 객체 인식(122)에 의해 결정될 수 있으며, 타겟 객체는 미리 결정된 형상 및 아웃라인을 갖는 알려진 형상으로서 인식된다. 일부 실시예들에서, 형상 및 따라서 보이드 영역은 타겟 객체 상에 특정한 마스킹된 콘텐츠를 프로젝팅하는 목적을 위해 제삼자, 이를테면, 제조자, 소매상 또는 콘텐츠 제공자에 의해 설정될 수 있다.
트리밍(126)은 또한, 타겟 객체에 대한 거리에 기초하여 프로젝션을 스케일링하는 것을 포함할 수 있다. 이전에 설명된 바와 같이, 카메라(116)는, 미리 결정된 위치에서 그리고 적절한 포커스로 프로젝션을 유지하기 위해 추적(124)에 의해 이용될 수 있는 깊이 맵을 생성할 수 있는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있다. 트리밍(126)은 또한, 타겟 객체 상에서 원하는 크기 또는 해상도를 갖도록 프로젝션을 스케일링하기 위한 스케일링 팩터를 결정하기 위해 깊이 맵을 이용할 수 있다. 게다가, 트리밍(126)은 깊이 맵의 배경으로부터 프로젝션 타겟을 세그먼트화함으로써, 깊이 맵을 이용하여 프로젝션 타겟의 형상을 결정할 수 있다. 일부 실시예들에서, 트리밍(126)은, 사용자가 최대 해상도로 프로젝션을 뷰잉하게 하기 위해 타겟 객체 상에서 최대 해상도와 같은 해상도를 갖도록 프로젝션을 스케일링한다. 트리밍(126)은 추가로, 콘텐츠 영역들 내에서 최대 해상도를 갖도록, 즉, 프로젝팅되는 콘텐츠가 보이드 영역들로 상당히 유출되지 않도록 프로젝션을 스케일링할 수 있다. 결과적으로, 일부 실시예들에서, 트리밍(126)은 프로젝션 타겟의 형상을 결정하는 것, 결정된 형상에 기초하는 프로젝션을 위해 콘텐츠 영역들 및 보이드 영역들을 결정하는 것, 프로젝션 타겟에 대한 거리를 결정하는 것, 및 결정된 거리 및 결정된 콘텐츠 영역에 기초하여 스케일링 팩터를 결정하는 것을 포함할 수 있다. 그 다음으로, 콘텐츠의 결정된 콘텐츠 영역들 및 보이드 영역들 및 결정된 스케일링 팩터는, 스케일링 팩터에 의해 결정된 해상도로 프로젝션 타겟의 경계들 내에 프로젝션을 위해 트리밍된 콘텐츠를 생성하기 위해 프로젝션 생성(120)에 의해 이용될 수 있다. 일부 실시예들에서, 스케일링 팩터는 사용자 선호도들 또는 설정들에 기초하여 조정될 수 있다. 예컨대, 사용자가 특정 스케일링 팩터를 설정할 수 있으며, 그 특정 스케일링 팩터는, 설정된 스케일링 팩터에 의해 결정된 미리 결정된 해상도로 프로젝션을 위해 트리밍된 콘텐츠를 생성하기 위해 프로젝션 생성(120)에 의해 이용될 것이다.
일부 실시예들에서, 객체 인식(122), 추적(124), 및 트리밍(126)은 프로젝터(118)에 의해 프로젝팅되는 콘텐츠를 정교화하기 위해 프로세싱 시스템(100)에서 이용될 수 있다. 예컨대, 카메라(116)는 프로젝션 타겟뿐만 아니라 프로젝터(118)에 의해 프로젝팅되는 콘텐츠의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 객체 인식(122), 추적(124), 및 트리밍(126)은, 프로젝팅되는 콘텐츠의 이러한 피쳐들을 정교화하기 위하여, 프로젝팅되는 콘텐츠의 스케일, 프로젝팅되는 콘텐츠의 포커스, 및 결정된 콘텐츠 영역들 및 보이드 영역들의 경계들을 결정하기 위해, 캡쳐된 하나 또는 그 초과의 이미지들에 대해 수행될 수 있다. 이러한 정교화된 피쳐들을 갖는 콘텐츠가 프로젝터(118)에 의해 프로젝팅될 수 있도록, 정교화된 피쳐들과 관련된 정보가 프로젝션 생성(120)에 제공될 수 있다. 이러한 정교화 결정(118)은 프로젝팅되는 콘텐츠의 프레임 레이트와 관련된 미리 결정된 레이트로 수행될 수 있거나 또는 가변 레이트로 수행될 수 있다. 예컨대, 프로세싱 시스템(100)은 각각의 정교화 결정 후에 정교화의 정도를 결정할 수 있고, 그 정도가 더 작아질수록, 정교화의 빈도가 감소될 수 있다. 다른 예로서, 객체 인식(122) 및/또는 추적(124)이 프로젝션 타겟의 크기 또는 위치의 상당한 변화 또는 시스템(100)의 포지션의 상당한 변화를 결정할 때, 정교화의 빈도가 증가될 수 있다.
제스처 검출(128)은 카메라(116) 및/또는 센서들(114)에 의해 캡쳐되는 데이터의 통계량의 갑작스러운 변화를 검출하기 위해 카메라(116) 및/또는 센서들(114)에 의해 캡쳐되는 일련의 이미지들 또는 다른 정보를 프로세싱함으로써 제스처들을 검출하는 것을 포함할 수 있다. 통계량은 히스토그램, 평균 휘도, 휘도의 가변도 등일 수 있고, 제스처 검출(128)은 현재의 통계량을 이전의 통계량과 비교하는 것을 포함할 수 있으며, 이전의 통계량은, 카메라(116)로부터의 이미지 또는 센서들(114)로부터의 현재 캡쳐된 데이터 직전의 시간들에서 포착된 하나 또는 그 초과의 캡쳐된 데이터의 세트의 통계량의 결합으로서 계산될 수 있다. 일부 실시예들에서, 제스처 검출(128)은 절대차, 통계량들의 세트의 각각의 절대차들의 합, 또는 히스토그램의 각각의 빈(bin)의 절대차들의 합을 계산함으로써 통계량들을 비교하는 것을 포함할 수 있고, 그 결과는 주변 조명 또는 디바이스 모션으로부터 초래된 차이들을 배제하기 위해 임계치와 비교될 수 있다. 임계치보다 더 큰 차이들은 제스처를 표시하는 통계량의 갑작스러운 변화들로서 분류될 수 있다. 제스처 검출(128)은 또한, 초음파들을 이용하여 시간에 걸쳐 움직임을 검출하는 것을 포함할 수 있다.
일부 실시예들에서, 제스처 검출(128)은 프로젝터(118)에 의한 프로젝션을 개시하기 위한 제스처들을 검출하는 것을 포함할 수 있다. 제스처 검출(128)은 타겟 객체의 경계들 내에 프로젝팅되도록 콘텐츠를 트리밍(126)하기 위한 제스처들을 검출하는 것을 포함할 수 있다. 일부 실시예들에서, 타겟 객체의 경계들 내에 프로젝팅되도록 콘텐츠를 트리밍(126)하는 것은, 시스템(100)과 연관된 비공개 모드(private mode)의 부분으로서 구현될 수 있다. 제스처 검출(128)은 비공개 모드를 진입 및 퇴장하기 위한 하나 또는 그 초과의 제스처들을 검출할 수 있다. 제스처 검출에 의해 검출되는 예시적 제스처들은 커버 제스처(cover gesture)를 포함할 수 있으며, 커버 제스처는 시스템(100) 위의 포지션에서 검출되는 손 또는 다른 제어 객체일 수 있다. 검출될 수 있는 다른 제스처는 펼쳐진(open) 또는 오므려진(closed) 손이다. 다른 제스처는, 오므려진 손이 옮겨지면서(moving away) 이후 펼쳐지는 "투구 동작(throwing motion)"의 제스처일 수 있다. 검출될 수 있는 다른 제스처들은, 손을 기울이거나 또는 시스템(100) 위로부터 손을 빼는 것을 포함할 수 있다. 제스처들 각각이 검출될 수 있고, 제스처 검출(128)은 특정 커맨드를 검출된 제스처들 각각과 연관시킬 수 있다. 예컨대, 커버 제스처는 프로젝션을 개시할 수 있고, 펼쳐진 손은 비공개 모드에 진입하거나 또는 다르게는, 프로젝팅되는 콘텐츠를 트리밍(126)하기 위한 표시를 제공할 수 있으며, 투구 동작은 비공개 모드로부터 떠나거나 또는 다르게는, 프로젝팅되는 콘텐츠가 더 이상 타겟 객체의 경계들로 국한되지 않음을 표시할 수 있다. 이러한 제스처들 및 그들의 연관된 동작들은 단지 예들이다. 실제로, 제스처 검출(128)은, 캡쳐된 데이터에 기초하여 제스처를 검출하고, 커맨드 또는 동작을 검출된 제스처와 연관시킬 수 있다.
프로세싱 시스템(100)은 일부 실시예들에 따라 도 1에 도시된 컴포넌트들보다 더 많은 또는 더 적은 컴포넌트들을 포함할 수 있다. 더욱이, 도 1에 도시된 컴포넌트들은 도 1의 하나 또는 그 초과의 다른 컴포넌트들에 직접적으로 커플링되어, 시스템 버스(104)에 대한 필요성을 제거할 수 있다. 게다가, 도 1에 도시된 컴포넌트들은 일원화된 시스템(100)의 부분인 것으로 도시될 수 있지만, 컴포넌트들은 또한, 컴포넌트들이 분리되어 그러나 커플링되어 통신하는 시스템의 부분일 수 있다. 일반적으로, 도 1에 도시된 컴포넌트들은 본원에서 개시된 실시예들을 수행할 수 있는 프로세싱 시스템(100)의 컴포넌트들의 예들로서 도시된다. 그러나, 프로세싱 시스템(100)은 더 많은 또는 더 적은 컴포넌트들을 갖고서, 본원에서 개시된 일부 실시예들을 계속 수행할 수 있다.
도 2a 내지 도 2d는 일부 실시예들과 일치하는, 타겟 객체 상의 영역의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 예시의 목적을 위해, 프로세싱 시스템(100)의 단지 일부만이 도 2a 내지 도 2d에 도시되지만, 도 1에 도시된 프로세싱 시스템(100)의 다른 컴포넌트들에 대한 참조가 이루어질 수 있다. 도 2a에 도시된 바와 같이, 타겟 객체(200)는 타겟 객체(200) 상의 영역(202)을 포함한다. 카메라(116)는 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 프로세싱될 수 있는 영역(202) 및 객체(200)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 일부 실시예들에서, 캡쳐 프레임은, 2013년 9월 26일 출원되고, 퀄컴 참조 번호가 131009인, 공동계류중인 미국 출원 번호 제 14/038,480호에서 개시된 바와 같은 이미지 캡쳐의 시간에 객체(200) 상에 프로젝팅될 수 있으며, 이로써 그 미국 출원의 전체 내용은 인용에 의해 그 전체가 본원에 포함된다.
하나 또는 그 초과의 캡쳐된 이미지들 상에서의 객체 인식(122)은 객체(200) 및/또는 영역(202)을 인식하려고 시도하는 것을 포함할 수 있다. 일부 실시예들에서, 객체 인식(122)은 인식된 객체에 기초하여 프로젝션을 위해 콘텐츠를 리트리빙 및/또는 생성하는 것을 포함할 수 있다. 일부 실시예들에서, 객체 인식(122)은 또한, 인식된 객체와 연관된 정보에 기초하여 객체(200) 상의 영역(202)을 콘텐츠 영역으로서 지정하는 것을 포함할 수 있다. 예컨대, 객체(200)의 제조자, 소매상, 또는 생성자는 객체 인식을 통해 결정될 수 있는 영역(202)에서의 프로젝션을 위해 콘텐츠를 특정하게 지정할 수 있다.
추적(124)은 객체(200) 및 영역(202)에 관한 포즈, 포지션, 6 자유도(DOF; degrees-of-freedom) 및 다른 정보를 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 카메라(116)는 객체(200)에 대한 거리(d1) 및 영역(202)에 대한 거리(d2)를 비롯하여 객체(200)를 포함한 시야의 깊이 맵을 결정하기 위해 이용될 수 있는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있다. 깊이 맵 및 거리들(d1 및 d2)은 객체(200) 및 영역(202)의 추적(124), 트리밍(126), 그리고 객체(200) 및/또는 영역(202) 상에 프로젝팅되는 콘텐츠를 포커싱하기 위해 이용될 수 있다.
일부 실시예들에서, 객체(200)의 부분, 이를테면, 영역(202)은 콘텐츠 영역으로서 지정될 수 있다. 이전에 설명된 바와 같이, 영역(202)은 제삼자에 의해 콘텐츠 영역으로 지정될 수 있어서, 객체 인식(122)은 객체(200)를 인식하고, 객체(200)에 관한 정보를 결정하며, 이는 영역(202)을 콘텐츠 영역으로서 지정하는 것을 포함한다. 일부 실시예들에서, 시스템(100)의 사용자는 객체(200)의 부분, 이를테면, 영역(202)을 콘텐츠 영역으로서 수동으로 지정할 수 있다. 일부 실시예들에서, 그 지정은 입력 및 내비게이션 컴포넌트(112)를 이용하여 디스플레이 컴포넌트(110) 상에 디스플레이되는 영역을 선택함으로써 이루어질 수 있다. 그 다음으로, 트리밍(126)은 영역(202)의 경계들 내에 있도록 프로젝팅될 콘텐츠를 트리밍하는 것을 포함할 수 있다.
예컨대, 트리밍(126)은 하나 또는 그 초과의 이미지들에 기초하여 영역(202)의 형상을 결정하는 것, 및 결정된 형상의 경계들 내에 콘텐츠가 프로젝팅될 수 있는 한편 결정된 형상의 경계들 외측에 어떠한 콘텐츠도 프로젝팅되지 않도록, 결정된 형상 및 아웃라인에 기초하여 콘텐츠 영역 및 보이드 영역을 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 형상을 결정하는 것은 객체(200) 및 영역(202)의 하나 또는 그 초과의 이미지들로부터 영역(202)의 아웃라인을 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 형상 및 아웃라인은 객체 인식(122)에 기초하여 결정될 수 있으며, 타겟 객체는 미리 결정된 형상 및 아웃라인을 갖는 알려진 형상으로서 인식된다. 트리밍(126)은 또한, 객체(200) 및 영역(202)에 대한 거리들(d1 및 d2)에 기초하여 스케일링 팩터를 결정하는 것을 포함할 수 있다.
그 다음으로, 결정된 콘텐츠 영역 및 보이드 영역 및 결정된 스케일링 팩터는, 스케일링 팩터에 의해 결정된 해상도로 영역(202)의 경계들 내에 프로젝션을 위해 트리밍된 콘텐츠를 생성하기 위해 프로젝션 생성(120)에 의해 이용될 수 있다. 도 2b는 영역(202)의 경계들 외측의 보이드 영역(204)을 예시한다. 일부 실시예들에서, 보이드 영역(204)은, 흑색 또는 어두운 픽셀들이 영역(202)의 경계들 외측의 객체(200) 상에 그리고 객체(200) 둘레에 프로젝팅되는 가상 마스크 영역일 수 있다. 일부 실시예들에서, 보이드 영역(204)은 스캔 프로젝션 동안 프로젝팅되는 흑색 또는 어두운 스캔 라인들일 수 있다. 다른 실시예들에서, 보이드 영역(204)은, 프로젝터가 예컨대, 보이드 영역(204) 내의 픽셀들을 턴오프함으로써 어떠한 픽셀들도 프로젝팅하지 않도록 구성되는 영역일 수 있다.
도 2c는 이미지(206)를 프로젝팅하는 프로젝터(118)를 예시한다. 일부 실시예들과 일치하는 이미지(206)는, 스케일링 팩터에 의해 결정된 해상도로 영역(202)의 경계들 내에 피팅되도록 설계된 디멘션(dimension)을 가질 수 있다. 도 2d는 객체(200)의 영역(202) 상에 이미지(206)를 프로젝팅하는 프로젝터(118)를 예시하며, 보이드 영역(204)은 영역(202)을 둘러싼다. 예시의 목적들을 위해, 도 2d의 프로젝터(118)는 객체(200)와 동일한 디멘션들을 갖는 영역을 프로젝팅함이 가정된다. 그러나, 프로젝터(118)가 객체(200)의 경계들을 초과하는 영역을 프로젝팅하는 경우, 보이드(204)가 영역(202) 외측의 영역의 경계들을 채울 수 있다. 일부 실시예들에서, 카메라(116)는 프로젝팅되는 이미지(206) 및 보이드 영역(204)을 포함하는 하나 또는 그 초과의 이미지들을 계속해서 캡쳐할 수 있다. 추적(124)은 카메라(116)에 의해 캡쳐된 또는 다른 방식으로 시스템(100)에 제공되는 보이드 영역(204), 프로젝팅되는 이미지(206), 및 객체(200)의 이미지들에 기초하여, 프로젝팅되는 이미지(206) 및 보이드 영역(204)을 조정하는 것을 포함할 수 있다.
도 2a 내지 도 2d에 도시된 바와 같이, 사용자는 영역(202)과 같은 미리 결정된 영역 내에 이미지(206)와 같은 콘텐츠를 프로젝팅할 수 있다. 예컨대, 시스템(100)의 디스플레이 컴포넌트(110) 상에서 이용가능한 것보다 더 큰 표면 영역 상에서 이미지(206)를 뷰잉하기를 원하는 사용자는, 뷰잉을 위해 객체(200) 상의 영역(202) 상에 이미지(206)를 프로젝팅할 수 있다. 사용자는 영역(202)을 콘텐츠 영역으로서 지정할 수 있고, 트리밍(126)은, 최대 해상도일 수 있는 미리 결정된 해상도로 이미지(206)가 영역(202) 상에 프로젝팅될 수 있도록, 스케일링 팩터뿐만 아니라 보이드 영역(204) 및 이미지(206)의 영역들을 결정할 수 있으며, 그에 따라, 사용자가 더 큰 영역(202) 상에서 이미지(206)를 뷰잉하는 것이 허용된다. 더욱이, 사용자는 영역(202)의 경계들 너머로 연장되어 또는 객체(200) 뒤의 또는 둘레의 표면들 상으로 유출되어 프로젝팅되는 이미지(206)에 관해 걱정하지 않아도 될 것인데, 그 이유는 트리밍(126)은 그러한 영역들을 타겟 영역(202)의 외측에 있는 것으로서 결정하고, 그에 따라 어떠한 콘텐츠도 프로젝팅되지 않는 보이드 영역(204)을 생성할 것이기 때문이다.
일부 실시예들에서, 이미지(206)는 증강 현실을 생성하기 위해 객체(200)를 증강시키기 위한 이미지일 수 있다. 예컨대, 객체 인식(122)은 객체(200)를 인식하고, 객체(200)의 제조자, 소매상, 또는 생성자로부터 이미지(206)를 리트리빙할 수 있다. 트리밍(126)은, 리트리빙된 이미지(206)가 객체(200)의 영역(202) 상에 프로젝팅되도록 보이드 영역(204)을 결정할 수 있다. 일부 실시예들에서, 보이드 영역(204) 및 이미지(206)에 대한 영역이 이미지(206)와 함께 리트리빙될 수 있어서, 영역들이 객체(200)의 제조자, 소매상, 또는 생성자에 의해 미리 결정된다.
도 3a 및 도 3b는 일부 실시예들과 일치하는, 객체 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 특히, 도 3a 및 도 3b에 도시된 예는 객체(300)의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 도 3a에 도시된 바와 같이, 카메라(116)는 객체(300)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 객체(300)의 이미지들은 시스템(100)에 제공될 수 있거나 또는 시스템(100)의 메모리 컴포넌트(108)에 저장될 수 있다. 객체 인식(122)은 객체(300) 상에 프로젝팅하기 위해 이미지(302)와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 객체(300) 상으로의 프로젝션을 위해 이미지(302)를 지정할 수 있다. 더욱이, 객체 인식(122)은 객체(300)를 콘텐츠 영역으로서 지정할 수 있다. 예컨대, 이미지(302)가 평평한 표면 상의 디스플레이를 위해 설계되는 경우, 객체 인식(122)은, 시스템(100)에 가장 가까운 평평한 표면을 결정하고 그리고 그 표면을 콘텐츠 영역으로서 지정하려고 시도할 수 있다. 다른 예로서, 이미지(302)가 프로젝션을 위한 비디오의 많은 이미지들 중 하나인 경우, 객체 인식(122)은 비디오를 디스플레이하기에 적절한 표면을 결정하려고 시도할 수 있다. 예컨대, 객체 인식(122)은, 비디오를 디스플레이하기 위해 평평한 직사각형 표면 및/또는 정지 표면을 로케이팅하고 그리고 시야를 갖는 이러한 표면을 콘텐츠 영역으로서 지정하려고 시도할 수 있다.
트리밍(126)은 객체(300)의 형상, 객체(300)의 형상 및/또는 아웃라인, 객체에 대한 거리를 결정하고 그리고 이미지(302)의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역(304)을 결정할 수 있다. 도 3b에 도시된 바와 같이, 프로젝터(118)는, 이미지(302)가 객체(300)의 경계들 내에 프로젝팅되고 보이드 영역(304)이 객체(300)의 경계들 외측에 프로젝팅되도록, 이미지(302) 및 보이드 영역(304)을 객체(300) 상에 프로젝팅할 수 있다. 일부 실시예들에서, 보이드 영역(304)은 프로젝팅되는 흑색 또는 어두운 픽셀들, 또는 어떠한 콘텐츠도 프로젝터(118)에 의해 픽셀들에 프로젝팅되지 않도록 프로젝터(118)에 의해 턴오프된 그러한 픽셀들을 포함하는 가상 광 마스크에 대응할 수 있다. 일부 실시예들에서, 이미지(302)는 증강 현실을 생성하기 위해 객체(300)를 증강시키기 위한 이미지일 수 있다. 다른 실시예들에서, 이미지(302)는, 시스템(100)의 사용자가, 예컨대, 시스템(100)의 디스플레이 컴포넌트 상에서 대신에 객체(300) 상에서 뷰잉하기 위해 객체(300) 상에 프로젝팅하기를 원하는 이미지 또는 다른 콘텐츠일 수 있다.
도 4a 및 도 4b는 일부 실시예들과 일치하는, 객체(402)의 경계들 외측에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 도 4a 및 도 4b에 예시된 예는 "역 트리밍(reverse trimming)"으로 지칭될 수 있으며, 여기서 콘텐츠는 객체(402) 외측에 프로젝팅되고, 보이드 영역(406)을 객체(402) 상에 프로젝팅함으로써 객체(402)는 마스킹된다. 도 4a에 도시된 바와 같이, 카메라(116)는 객체(402)를 둘러싸는 영역(400)을 갖는 객체(402)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 영역(400) 및 객체(402)의 이미지들은 시스템(100)에 의해 수신될 수 있거나 또는 메모리 컴포넌트(108)에 저장될 수 있다. 객체 인식(122)은 객체(402) 둘레의 영역(400) 상에 프로젝팅하기 위해 이미지(404)와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 객체(402) 둘레의 영역(400) 상으로의 프로젝션을 위해 이미지(404)를 지정할 수 있다. 트리밍(126)은 객체(402)의 형상, 객체(402)의 아웃라인, 객체(402) 및 영역(400)에 대한 거리를 결정할 수 있고, 객체(402) 둘레의 영역(400) 상으로의 이미지(404)의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역(406)을 결정할 수 있다. 도 4b에 도시된 바와 같이, 이미지(404)가 객체(402)의 경계들 외측에 프로젝팅되고 보이드 영역(406)이 객체(402) 상에 생성되도록, 프로젝터(118)는 영역(400) 상에 이미지(404)를 프로젝팅할 수 있고 보이드 영역(406)이 객체(402) 상에 생성될 수 있다.
도 4a 및 도 4b에 도시된 바와 같이, 객체(402)를 마스킹하기 위해 보이드 영역(406)을 생성하는 것 및 객체(402) 둘레에 이미지(404)와 같은 콘텐츠를 프로젝팅하는 것은, 객체(402)를 모호하게 하거나 또는 객체(402)와 상호작용하는 것으로 보이게 콘텐츠를 프로젝팅함이 없이, 객체(402) 둘레에 객체(402)에 관한 정보를 프로젝팅하기에 유용할 수 있다. 예컨대, 이미지(404)는 객체(402)를 이용하거나, 동작시키거나 또는 유지하기 위한 명령들을 포함할 수 있고, 객체(402) 둘레에 프로젝팅될 수 있는 한편, 이미지(404)에 의해 객체(402)가 모호해지는 것을 방지하기 위해 보이드 영역(406)이 객체(402)를 마스킹한다. 다른 예에서, 이미지(404)는, 객체(402)를 참조하는 것 또는 객체(402)의 말풍선들(speech bubbles)을 보여 주는 것 등과 같이, 객체(402)와 상호작용할 수 있는 한편, 이미지(404)에 의해 객체(402)가 모호해지는 것을 방지하기 위해 보이드 영역(406)이 객체(402)를 마스킹한다.
도 5a 및 도 5b는 일부 실시예들과 일치하는, 콘텐츠를 트리밍하는 것의 예를 예시한다. 특히, 도 5a 및 도 5b에 도시된 예는 객체(502) 상의 영역(500)의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 도 5a에 도시된 바와 같이, 카메라(116)는 영역(500)을 갖는 객체(502)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 영역(500) 및 객체(502)의 이미지들은 시스템(100)에 의해 수신될 수 있거나 또는 메모리 컴포넌트(108)에 저장될 수 있다. 일부 실시예들에서, 객체 인식(122)은 객체(502)의 영역(500) 상에 프로젝팅하기 위해 이미지(504)와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 객체(502)의 영역(500) 상으로의 프로젝션을 위해 이미지(504)를 지정할 수 있다. 예컨대, 객체 인식(122)은 객체(502)가 블랭크 공간(blank space)의 영역(500)을 갖는 것으로 인식하고, 영역(500)을, 이미지(504)가 프로젝팅될 수 있는 콘텐츠 영역으로서 지정할 수 있다. 대안적으로, 객체 인식(122)은 객체(502)를 인식하고, 그리고 객체(502)와 연관된 미리 결정된 명령들에 기초하여, 영역(500)을, 이미지(504)가 프로젝팅될 수 있는 콘텐츠 영역으로서 지정할 수 있다. 예컨대, 이미지(504)는, 영역(500) 상으로의 프로젝션을 위해 맞춤화되는 객체(502)에 관한 정보 또는 사용하기 위한 명령들과 같은, 객체(502)와 연관된 콘텐츠일 수 있다.
그 다음으로, 트리밍(126)은 영역(500)의 형상, 영역(500)의 아웃라인, 객체(502) 및 영역(500)에 대한 거리를 결정하고, 보이드 영역(506)을 결정할 수 있다. 도 5b에 도시된 바와 같이, 프로젝터(118)는, 이미지(504)가 영역(500) 상에만 프로젝팅되도록, 이미지(504)를 객체(502)의 영역(500) 상에 프로젝팅하고 보이드 영역(506)을 생성할 수 있다.
일부 실시예들에서, 도 5a 및 도 5b에 도시된 예들은, 객체(502)의 부분이 보이드 영역(506)에 의해 마스킹되게, 이미지가 객체(502) 상에 그리고 객체(502)의 외측의 영역들 상에 프로젝팅될 수 있도록, 도 4a 및 도 4b에 도시된 예들과 결합될 수 있다. 예컨대, 사용자 또는 AR 콘텐츠 제공자가 객체(502)를 증강시키기를 원하지 않거나, 또는 객체(502)의 부분만을 증강시키기를 원하지만 객체(502) 둘레의 영역을 증강시키기를 원하는 경우, 이미지(404 및/또는 504)는 객체(502) 둘레 및 객체(502) 상에 개별적으로 프로젝팅될 수 있다. 일부 실시예들에서, 시스템(100)은 다수의 이미지들을 프로젝팅하고, 객체 상에 그리고 객체 둘레에 다수의 보이드 영역들을 생성할 수 있고, 그 각각은 추적(124)에 의해 개별적으로 추적될 수 있다. 일부 실시예들에서, 다수의 이미지들 및 보이드 영역들은 프로젝터(118)에 의해 교번적으로 프로젝팅될 수 있다.
도 6a 및 도 6b는 손(600)의 경계들 내에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 일부 실시예들에서, 시스템(100)의 프로세싱 컴포넌트(106)는 하나 또는 그 초과의 경보들, 메시지들, 및 다른 콘텐츠를 생성할 수 있다. 시스템(100)의 사용자는 생성된 하나 또는 그 초과의 경보들, 메시지들 또는 다른 콘텐츠와 연관된 콘텐츠를 프로젝팅하기를 원할 수 있지만, 콘텐츠를 비공개로 유지하기를 원할 수 있다. 예컨대, 시스템(100)의 사용자가 이메일, 인스턴트 메시지, 또는 SMS(short messaging service)를 통해 개인 정보를 포함하는 메시지를 수신하는 경우, 사용자는 개인 정보가 다른 사람들에 의해 뷰잉되기를 원하지 않을 수 있다. 결과적으로, 사용자는 객체 상에 프로젝팅되도록 콘텐츠를 트리밍하기를 원할 수 있으며, 이는 프로젝팅되는 콘텐츠가 객체 너머의 표면들 상으로 유출됨이 없이 사용자가 콘텐츠를 적절한 해상도로 프로젝팅하도록 허용한다. 결과적으로, 본원에서 도시되는 바와 같은 실시예들은 사용자가 콘텐츠를 자신의 손과 같은 객체 상에 프로젝팅하도록 허용할 수 있는 한편, 프로젝팅되는 콘텐츠를 비공개로 유지하고 사용자 주변의 다른 사람들을 방해하지 않도록 보이드 영역들이 객체 외측에 생성된다.
도 6a에 도시된 바와 같이, 카메라(116)는 손(600)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 손(600)의 이미지들은 시스템(100)에 의해 수신될 수 있거나 또는 메모리 컴포넌트(108)에 저장될 수 있다. 트리밍(126)은 손(600)의 형상, 손(600)의 아웃라인, 손(600)에 대한 거리를 결정하고 그리고 600 상으로의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역을 결정할 수 있다. 도 6b에 도시된 바와 같이, 프로젝터(118)는, 메시지(602)가 손(600)의 경계들 내에 프로젝팅되고, 보이드 영역(604)이 손(600)의 경계들 외측에 생성되고 그리고 일부 실시예들에서는 보이드 영역(604)이 손(600)의 경계들 외측에 프로젝팅되도록, 메시지(602)를 손(600) 위로 프로젝팅할 수 있다. 그 결과, 도 6b에 도시된 바와 같이 개인 메시지(602)인, 프로젝팅되는 콘텐츠는 손(600) 위로만 프로젝팅될 것이며, 메시지(602)의 어떠한 정보도, 다른 사람들이 개인 메시지(602)의 정보를 뷰잉할 수 있는, 손(600) 너머의 표면 상으로 유출되지 않을 것이다.
도 7a 내지 도 7d는 일부 실시예들과 일치하는, 검출된 제스처에 기초하여 콘텐츠를 트리밍하는 것의 예를 예시한다. 이전에 설명된 바와 같이, 제스처 검출(128)은, 카메라(116) 및/또는 센서들(114)에 의해 캡쳐된 데이터의 통계량의 갑작스러운 변화를 검출하기 위해 카메라(116) 및/또는 센서들(114)에 의해 캡쳐된 일련의 이미지들 또는 다른 정보를 프로세싱함으로써 제스처들을 검출하는 것 또는 초음파들을 이용하여 시간에 걸쳐 움직임을 검출하는 것을 포함할 수 있다. 그 다음으로, 검출된 제스처들은, 예컨대, 제스처 검출(128)에 포함된 또는 메모리 컴포넌트(108)에 저장된 제스처 라이브러리를 이용하여 동작 또는 커맨드와 상관될 수 있다.
도 7a에 도시된 바와 같이, 시스템(100)의 사용자는 제 1 객체(700) 및 제 2 객체(702)를 갖는 영역 내에 있을 수 있다. 도시된 바와 같이, 제 1 객체(700)는 제 2 객체(702)보다 시스템에 더 가깝고 제 2 객체(702)보다 더 작을 수 있지만, 본 개시내용과 일치하는 실시예들은 그와 같이 제한되지 않을 수 있다. 프로젝터(118)는 이미지(704)를 제 2 객체(702) 상에 프로젝팅할 수 있다. 일부 실시예들에서, 이미지(704)는 객체 인식(122)에 의해 결정된 프로젝션 생성(120)에 의해 생성된 콘텐츠의 부분일 수 있고, 추적(124)에 의해 결정된 제 2 객체(702) 상의 위치에 프로젝팅될 수 있다. 시스템(100)의 사용자가 이미지(704)를 제 1 객체(700) 상에 프로젝팅하기를 원하는 경우, 사용자는 제스처를 할 수 있으며, 그 제스처는 카메라(116) 및/또는 센서들(114)에 의해 검출될 수 있고 그리고 그 제스처를, 제 1 객체(700) 상에 이미지(704)를 프로젝팅하는 것과 같은 동작과 상관시키기 위해 제스처 검출(128)에 의해 프로세싱될 수 있다. 검출된 제스처는 폐쇄 또는 비공개 모드를 표시하는 오므려진 손과 같은 제스처일 수 있다. 제스처 검출(128)은 이러한 제스처를, 상이한 타겟 상으로 프로젝팅하기 위한 또는 비공개 모드로 스위칭하기 위한 커맨드, 또는 프로젝션 타겟들을 스위칭하는 것을 표시하는 다른 동작과 상관시킬 수 있다.
도 7b에 도시된 바와 같이, 카메라(116)는 제 1 객체(700)의 이미지를 캡쳐할 수 있으며, 이는, 이미지(704)를 스케일링하기 위해 스케일링 팩터를 결정하고 그리고 콘텐츠 영역 및 보이드 영역을 결정하기 위해 트리밍(126)에 의해 이용될 수 있다. 도 7c에 도시된 바와 같이, 스케일링 팩터, 결정된 콘텐츠 영역 및 보이드 영역은, 결정된 콘텐츠 영역 내에 스케일링 팩터에 의해 결정된 해상도로 이미지(704)를 프로젝팅하기 위해 프로젝션 생성(120)에 의해 이용될 수 있고, 보이드 영역(706)은 콘텐츠 영역의 외측의 영역들을 마스킹하기 위해 생성된다. 일부 실시예들에서, 제 1 객체(700)는 시스템(100)의 사용자에게 더 가까울 수 있고, 그에 따라, 사용자가 이미지(704)를 뷰잉하기에 더 편리할 수 있다. 제 1 객체(700)는 또한, 이미지(704)가 객체(700) 상에 프로젝팅될 때, 사용자 주변의 다른 사람들은 이미지(704)를 뷰잉할 수 없도록, 시스템(100)의 사용자에게 더 많은 프라이버시를 제공할 수 있다.
일부 실시예들에서, 객체 인식(122)에 기초하여 이미지(704)를 프로젝팅하기에 제 1 객체(700)가 적절한 것으로 또한 결정될 수 있다. 예컨대, 프로젝션 타겟들을 스위칭하기 위한 제스처에 대한 응답으로, 객체 인식(122)은, 시스템(100)에 대한 거리, 크기, 디멘션들 등과 같은 팩터들에 기초하여 프로젝션 타겟을 위해 적절한 객체를 찾기 위해 카메라(116)에 의해 캡쳐된 하나 또는 그 초과의 이미지들을 프로세싱할 수 있다. 그 다음으로, 트리밍(126)은 객체 인식(122)에 의해 인식된 제 1 객체(700)에 기초하여, 스케일링 팩터, 콘텐츠 영역 및 보이드 영역(706)을 결정할 수 있다.
시스템(100)의 사용자가 제 1 객체(700)로부터 프로젝션 타겟들을 스위칭하기를 원하는 경우, 사용자는 다른 제스처를 할 수 있다. 예컨대, 사용자는 공개 또는 개방 모드를 표시하는, 자신의 손을 펼치는 제스처를 할 수 있거나, 또는 제 2 객체(702)(또는 다른 원하는 타겟 객체)를 향해 투구 동작을 할 수 있다. 카메라(116) 및/또는 센서들(114)은 이러한 제스처를 검출할 수 있고, 이러한 제스처는 제스처 검출(128)에 의해, 프로젝션 타겟들을 스위칭하는 것과 같은 동작과 상관될 수 있다. 그 다음으로, 도 7d에 도시된 바와 같이, 프로젝터(118)는 다시 이미지(704)를 제 2 객체(702) 상에 프로젝팅할 수 있다. 일부 실시예들에서, 이미지(704)는 트리밍(126) 없이, 즉, 보이드 영역 없이 또는 마스킹되지 않은 채로 제 2 객체(702) 상에 프로젝팅될 수 있어서, 이미지(704)는 프로젝터(118)의 사양 및 제 2 객체(702)와 프로젝터(118) 사이의 거리에 기초하여 프로젝팅된다. 일부 실시예들에서, 트리밍(126)은 제 2 객체(702)를 포함하는 하나 또는 그 초과의 이미지들에 기초하여 스케일링 팩터, 콘텐츠 영역 및 보이드 영역(706)을 결정할 수 있다. 일부 실시예들에서, 이전에 이미지(704)를 제 2 객체(702) 상에 프로젝팅하기 위해 결정된 임의의 스케일링 팩터들, 콘텐츠 영역들 및 보이드 영역들은 저장되어, 이미지(704)를 제 2 객체(702) 상에 프로젝팅하기 위해 프로젝션 생성(120)에 의해 리트리빙될 수 있다.
도 8a 및 도 8b는 일부 실시예들과 일치하는, 다수의 객체들 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 특히, 도 8a 및 도 8b에 도시된 예는 제 1 객체(800) 및 제 2 객체(802) 상에 디스플레이되도록 단일 이미지를 트리밍하는 것의 예를 예시한다. 도 8a에 도시된 바와 같이, 카메라(116)는 제 1 객체(800) 및 제 2 객체(802)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 제 1 객체(800) 및 제 2 객체(802)의 이미지들은 시스템(100)에 제공될 수 있거나 또는 시스템(100)의 메모리 컴포넌트(108)에 저장될 수 있다. 객체 인식(122)은 제 1 객체(800) 및 제 2 객체(802) 상에 개별적으로 프로젝팅하기 위해 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)을 갖는 이미지와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 제 1 객체(800) 및 제 2 객체(802) 상으로의 프로젝션을 위해 이미지를 지정할 수 있고, 심지어 어느 이미지 부분을 각각의 객체 상에 디스플레이할지를 지정할 수 있다. 더욱이, 객체 인식(122)은 각각 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)을 위한 콘텐츠 영역들로서 제 1 객체(800) 및 제 2 객체(802)를 인식 및 결정할 수 있다. 예컨대, 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)에 의해 형성되는 이미지가 제 1 객체(800) 또는 제 2 객체(802) 중 단지 하나의 객체 상에서의 적합한 디스플레이를 위해서는 너무 큰 경우, 객체 인식(122)은, 제 1 객체(800) 또는 제 2 객체(802) 중 제 2 객체를 결정하고 그리고 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)이 제 1 객체(800) 및 제 2 객체(802) 상에 개별적으로 프로젝팅됨에 따라 이미지가 더 양호하게 디스플레이됨을 결정하고 그리고 제 1 객체(800) 및 제 2 객체(802)의 면 또는 측을 콘텐츠 영역들로서 지정하려고 시도할 수 있다.
트리밍(126)은 제 1 객체(800) 및 제 2 객체(802)의 형상, 제 1 객체(800) 및 제 2 객체(802)의 형상 및/또는 아웃라인, 제 1 객체(800) 및 제 2 객체(802)에 대한 거리를 결정하고, 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역(808)을 결정할 수 있다. 도 8b에 도시된 바와 같이, 프로젝터(118)는 제 1 이미지 부분(804)을 제 1 객체(800) 상에 프로젝팅하고, 제 2 이미지 부분(806)을 제 2 객체(802) 상에 프로젝팅할 수 있다. 프로젝터(118)는 또한, 제 1 이미지 부분(804) 및 제 2 이미지 부분(806)에 의해 형성되는 이미지가 제 1 객체(800) 및 제 2 객체(802) 상에만 프로젝팅되도록, 제 1 객체(800) 및 제 2 객체(802) 둘레 및 제 1 객체(800)와 제 2 객체(802) 사이에 보이드 영역(808)을 프로젝팅할 수 있다. 일부 실시예들에서, 보이드 영역(808)은, 프로젝팅되는 흑색 또는 어두운 픽셀들 또는 프로젝터(118)에 의해 턴오프된 픽셀들을 포함하는 가상 광 마스크에 대응할 수 있어서, 그러한 픽셀들에서 어떠한 콘텐츠나 광도 프로젝터(118)에 의해 프로젝팅되지 않는다.
도 9a 및 도 9b는 일부 실시예들과 일치하는, 객체의 다수의 부분들 상에 피팅하기 위해 콘텐츠를 트리밍하는 것의 예를 예시한다. 특히, 도 9a 및 도 9b에 도시된 예는, 제 1 영역(900) 및 제 2 영역(902) 상에 디스플레이되도록 단일 이미지를 트리밍하는 것의 예를 예시한다. 도 9a에 도시된 바와 같이, 카메라(116)는 제 1 영역(900) 및 제 2 영역(902)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 제 1 영역(900) 및 제 2 영역(902)의 이미지들은 시스템(100)에 제공될 수 있거나 또는 시스템(100)의 메모리 컴포넌트(108)에 저장될 수 있다. 객체 인식(122)은 제 1 영역(900) 및 제 2 영역(902) 상에 개별적으로 프로젝팅하기 위한 제 1 이미지 부분(904) 및 제 2 이미지 부분(906)을 갖는 이미지와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 제 1 영역(900) 및 제 2 영역(902) 상으로의 프로젝션을 위해 이미지를 지정하고 심지어는 어느 이미지 부분을 각각의 영역 상에 디스플레이할지를 지정할 수 있다. 더욱이, 객체 인식(122)은, 제 1 영역(900) 및 제 2 영역(902)을 갖는 객체가 다수의 영역들로 이루어짐을 인식 및 결정하고 그리고 각각 제 1 이미지 부분(904) 및 제 2 이미지 부분(906)을 위한 콘텐츠 영역들로서 제 1 영역(900) 및 제 2 영역(902)을 결정할 수 있다.
트리밍(126)은 제 1 영역(900) 및 제 2 영역(902)의 형상, 제 1 영역(900) 및 제 2 영역(902)의 형상 및/또는 아웃라인, 제 1 영역(900) 및 제 2 영역(902)에 대한 거리를 결정하고, 제 1 이미지 부분(904) 및 제 2 이미지 부분(906)의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역(908)을 결정할 수 있다. 도 9b에 도시된 바와 같이, 프로젝터(118)는 제 1 이미지 부분(904)을 제 1 영역(900) 상에 프로젝팅하고, 제 2 이미지 부분(906)을 제 2 영역(902) 상에 프로젝팅할 수 있다. 프로젝터(118)는 또한, 제 1 이미지 부분(904) 및 제 2 이미지 부분(906)에 의해 형성되는 이미지가 제 1 영역(900) 및 제 2 영역(902) 상에만 프로젝팅되도록, 제 1 영역(900) 및 제 2 영역(902) 둘레에 보이드 영역(908)을 프로젝팅할 수 있다. 일부 실시예들에서, 보이드 영역(908)은, 프로젝팅되는 흑색 또는 어두운 픽셀들 또는 프로젝터(118)에 의해 턴오프된 픽셀들을 포함하는 가상 광 마스크에 대응할 수 있어서, 그러한 픽셀들에서 어떠한 콘텐츠나 광도 프로젝터(118)에 의해 프로젝팅되지 않는다.
도 10a 및 도 10b는 일부 실시예들과 일치하는, 다수의 객체들 상에 피팅하기 위해 다수의 이미지들을 갖는 콘텐츠를 트리밍하는 것의 예를 예시한다. 특히, 도 10a 및 도 10b에 도시된 예는, 제 1 객체(1000) 상에 디스플레이되도록 제 1 이미지(1004)를 트리밍하고 제 2 객체(1002) 상에 디스플레이되도록 제 2 이미지(1006)를 트리밍하는 것의 예를 예시한다. 도 10a에 도시된 바와 같이, 카메라(116)는 제 1 객체(1000) 및 제 2 객체(1002)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 하나 또는 그 초과의 캡쳐된 이미지들은 프로젝션 생성(120), 객체 인식(122), 추적(124), 및 트리밍(126)을 위해 이용될 수 있다. 일부 실시예들에서, 제 1 객체(1000) 및 제 2 객체(1002)의 이미지들은 시스템(100)에 제공될 수 있거나 또는 시스템(100)의 메모리 컴포넌트(108)에 저장될 수 있다. 객체 인식(122)은 제 1 객체(1000) 및 제 2 객체(1002) 상으로 개별적으로 프로젝팅하기 위해 제 1 이미지(1004) 및 제 2 이미지(1006)와 같은 콘텐츠를 결정할 수 있다. 일부 실시예들에서, 시스템(100)의 사용자는 제 1 객체(1000) 또는 제 2 객체(1002) 상으로의 프로젝션을 위해 제 1 이미지(1004) 및 제 2 이미지(1006)를 지정할 수 있다. 더욱이, 객체 인식(122)은 각각 제 1 이미지 부분(1004) 및 제 2 이미지 부분(1006)을 위한 콘텐츠 영역들로서 제 1 객체(1000) 및 제 2 객체(1002)를 인식 및 결정할 수 있다.
트리밍(126)은 제 1 객체(1000) 및 제 2 객체(1002)의 형상, 제 1 객체(1000) 및 제 2 객체(1002)의 형상 및/또는 아웃라인, 제 1 객체(1000) 및 제 2 객체(1002)에 대한 거리를 결정하고, 제 1 이미지(1004) 및 제 2 이미지(1006)의 프로젝션을 위한 콘텐츠 영역 및 보이드 영역(1008)을 결정할 수 있다. 도 10b에 도시된 바와 같이, 프로젝터(118)는 제 1 이미지(1004)를 제 1 객체(1000) 상에 프로젝팅하고 제 2 이미지 부분(1006)을 제 2 객체(1002) 상에 프로젝팅할 수 있다. 프로젝터(118)는 또한, 제 1 이미지(1004) 및 제 2 이미지(1006)가 제 1 객체(1000) 및 제 2 객체(1002) 상에만 개별적으로 프로젝팅되도록, 제 1 객체(1000) 및 제 2 객체(1002) 둘레 및 제 1 객체(1000)와 제 2 객체(1002) 사이에 보이드 영역(1008)을 프로젝팅할 수 있다. 일부 실시예들에서, 보이드 영역(1008)은 프로젝팅되는 흑색 또는 어두운 픽셀들 또는 프로젝터(118)에 의해 턴오프된 픽셀들을 포함하는 가상 광 마스크에 대응할 수 있어서, 그러한 픽셀들에서 어떠한 콘텐츠나 광도 프로젝터(118)에 의해 프로젝팅되지 않는다. 결과적으로, 트리밍(126)은, 2개의 객체들 상의 2개의 별개의 이미지들로서 사용자에게 나타나는, 프로젝터(118)에 의한 프로젝션을 위해, 프로젝션 생성(120)이, 제 1 이미지(1004), 제 2 이미지(1006), 및 보이드 영역(1008)을 포함하는 단일 프로젝션을 생성하는 것을 허용할 수 있다.
일부 실시예들에서, 시간에 걸친 제 1 객체(1000) 및 제 2 객체(1002)의 움직임은, 제 1 객체(1000) 및 제 2 객체(1002)를 포함하는 영역의 이미지들을 카메라(116) 또는 다른 곳으로부터 수신함으로써 결정될 수 있어서, 추적(124)은 제 1 객체(1000) 상의 제 1 이미지(1004)의 프로젝션 및 제 2 객체(1002) 상의 제 2 이미지(1006)의 프로젝션을 유지할 수 있다. 추적(124)은 또한, 제 1 이미지(1004) 및 제 2 이미지(1006)가 제 1 객체(1000) 및 제 2 객체(1002) 상에만 프로젝팅되도록, 보이드 영역(1008)의 생성을 유지할 수 있다.
도 11은 일부 실시예들과 일치하는, 콘텐츠를 트리밍하기 위한 방법을 예시하는 흐름도이다. 예시의 목적을 위해, 도 11은 도 1, 도 2a 내지 도 2d, 도 3a 및 도 3b, 도 4a 및 도 4b, 도 5a 및 도 5b, 및 도 6a 및 도 6b 중 임의의 도면을 참조하여 설명될 것이다. 도 11에 도시된 프로세스(1100)는 하나 또는 그 초과의 프로세서들에 의한 실행을 위해 컴퓨터-판독가능 명령들로 구현될 수 있으며, 일부 실시예들에서는 시스템(100)의 운영 체제에 의해 구현될 수 있고, 운영 체제의 백그라운드 서비스로서 구현될 수 있다. 도 11에 도시된 바와 같이, 프로세스(1100)는 프로젝션 타겟을 결정(1102)함으로써 시작된다. 일부 실시예들에서, 프로젝션 타겟은 사용자 입력에 기초하여 결정될 수 있다. 예컨대, 사용자는 입력 및 내비게이션 컴포넌트(112)를 이용하여 타겟을 선택함으로써 디스플레이 컴포넌트(110) 상에 디스플레이되는 타겟을 지정할 수 있다. 일부 실시예들에서, 프로젝션 타겟은 객체 인식(122)을 이용하여 결정될 수 있다. 예컨대, 객체 인식(122)은 타겟의 형상 또는 크기, 또는 타겟의 표면의 타입에 기초하여 적절한 프로젝션 타겟을 결정하는 것을 포함할 수 있다. 객체 인식(122)은 또한, 콘텐츠 제공자, 소매상 또는 제조자에 의해 설정된 바와 같이, 타겟과 연관된 미리 결정된 정보에 기초하여 프로젝션 타겟을 결정하는 것을 포함할 수 있다.
일단 프로젝션 타겟이 결정되면, 프로젝션 타겟의 하나 또는 그 초과의 경계들이 결정될 수 있다(1104). 일부 실시예들에서, 프로젝션 타겟의 하나 또는 그 초과의 경계들은 카메라(116)에 의해 프로젝션 타겟의 하나 또는 그 초과의 이미지들을 캡쳐함으로써, 프로젝션 타겟의 이미지들을 수신함으로써, 또는 메모리 컴포넌트(108)로부터 프로젝션 타겟의 이미지들을 리트리빙함으로써 결정될 수 있다. 그 다음으로, 프로젝션 타겟의 하나 또는 그 초과의 특징들은 캡쳐된 하나 또는 그 초과의 이미지들에 기초하여 결정될 수 있다. 예컨대, 트리밍(126)은 하나 또는 그 초과의 이미지들로부터 프로젝션 타겟의 형상 및 아웃라인뿐만 아니라 프로젝션 타겟에 대한 거리를 결정할 수 있다. 일부 실시예들에서, 카메라(116)는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있고, 프로젝션 타겟에 대한 거리를 결정하기 위해 이용될 수 있는 깊이 맵을 결정할 수 있다. 더욱이, 깊이 맵은, 깊이 맵의 배경으로부터 프로젝션 타겟을 세그먼트화함으로써 프로젝션 타겟의 형상을 결정하기 위해 이용될 수 있다.
프로젝션 타겟의 하나 또는 그 초과의 경계들에 기초하여, 프로세스(1100)는 콘텐츠 영역 및 보이드 영역을 결정할 수 있다(1106). 일부 실시예들에서, 콘텐츠 영역은 프로젝션 타겟 내의 영역들을 포함할 수 있고, 보이드 영역은 프로젝션 타겟 외측의 영역들을 포함할 수 있다. 예컨대, 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하는 것이 프로젝션 타겟의 아웃라인을 결정하는 것을 포함하는 경우, 콘텐츠 영역 및 보이드 영역을 결정하는 것은 프로젝션 타겟의 아웃라인 내의 영역을 콘텐츠 영역으로서 결정하고 프로젝션 타겟의 아웃라인 외측의 영역들을 보이드로서 결정하는 것을 포함할 수 있다.
그 다음으로, 프로세스(1100)는 스케일링 팩터를 결정할 수 있다(1108). 일부 실시예들에서, 스케일링 팩터를 결정하는 것은, 프로젝션 타겟 상에 프로젝팅되는 콘텐츠가, 프로젝션 타겟의 경계들에 기초하여 최대 해상도일 수 있는 미리 결정된 해상도로 프로젝팅되도록, 프로젝션 타겟에 대한 거리에 기초하여 스케일링 팩터를 결정하는 것을 포함할 수 있다. 그 다음으로, 프로젝션 생성(120)은 결정된 스케일링 팩터에 기초하여 결정된 콘텐츠 영역의 경계들을 이용한 프로젝션을 위해 콘텐츠를 생성하고(1110), 보이드 영역을 생성할 수 있다(1112). 그 다음으로, 일부 실시예들에서, 프로젝터(118)는 생성된 콘텐츠 및 생성된 보이드 영역을 프로젝팅할 수 있다. 일부 실시예들에서, 프로젝팅되는 보이드 영역은 프로젝팅되는 어두운 픽셀들일 수 있다. 일부 실시예들에서, 보이드 영역은 프로젝팅되지 않을 수 있지만, 대신에 프로젝터(118)는 보이드 영역 내의 픽셀들을 턴오프할 수 있다. 그 결과, 프로세스(1100)는, 프로젝션 타겟 너머의 표면들 또는 영역들 상으로 유출되지 않는, 프로젝션 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍할 수 있다. 프로세스(1100)는 도 2a 내지 도 2d, 도 3a 및 도 3b, 도 4a 및 도 4b, 및 도 5a 및 도 5b에 도시된 바와 같은 객체들 상에 이미지들과 같은 콘텐츠를 프로젝팅하기 위해 이용될 수 있다. 더욱이, 프로세스(1100)는 도 6a 및 도 6b에 도시된 바와 같이, 손 위로 메시지들을 프로젝팅하기 위해 이용될 수 있다.
도 12는 일부 실시예들과 일치하는, 객체 상에 마스킹된 이미지를 프로젝팅하기 위한 방법을 예시하는 흐름도이다. 예시의 목적을 위해, 도 12는 도 3a 및 도 3b를 참조하여 설명될 것이다. 도 12에 도시된 프로세스(1200)는 하나 또는 그 초과의 프로세서들에 의한 실행을 위해 컴퓨터-판독가능 명령들로 구현될 수 있으며, 일부 실시예들에서는 시스템(100)의 운영 체제에 의해 구현될 수 있고, 운영 체제의 백그라운드 서비스로서 구현될 수 있다. 도 12에 도시된 바와 같이, 프로세스(1200)는 시야 내의 객체를 인식(1202)함으로써 시작된다. 예컨대, 도 3a에 도시된 바와 같이, 카메라(116)는 객체(300)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 일부 실시예들에서, 객체의 이미지들은 시스템(100)에 의해 수신되거나 또는 다르게는 메모리 컴포넌트(108)에 저장될 수 있다. 그 다음으로, 객체 인식(122)은 이미지들에서의 객체(300)의 피쳐들에 기초하여 객체(300)를 인식하는 것을 포함할 수 있다. 그 다음으로, 인식된 객체 상에 프로젝팅할 이미지가 결정될 수 있다(1204). 일부 실시예들에서, 객체 인식(122)은 객체와 연관된 정보에 기초하여 인식된 객체 상에 프로젝션을 위해 이미지와 같은 콘텐츠를 결정하는 것을 포함할 수 있다. 도 3a를 다시 참조하면, 객체(300)는 객체(300) 상으로의 이미지(302)의 프로젝션으로부터 이익을 얻을 수 있는 특정 피쳐들 또는 특징들을 가질 수 있다. 예컨대, 객체(300)는 제품일 수 있고, 이미지(302)는 제품 또는 제품에 관한 정보와 연관된 이미지일 수 있다. 객체 인식(122)은 시스템 내에 로컬적으로 저장된 정보 또는 네트워크를 통해 결정된 정보에 기초하여 이미지(302)를 결정하는 것을 포함할 수 있다. 정보는 사용자에 의해 제공될 수 있거나 또는 소매상, 제조자, 또는 콘텐츠 제공자와 같은 제삼자에 의해 제공될 수 있다.
그 다음으로, 프로세스(1200)는 객체에 대한 거리 및 객체의 형상을 결정(1206)함으로써 계속될 수 있다. 예컨대, 트리밍(126)은 하나 또는 그 초과의 캡쳐된 이미지들로부터 객체(300)의 형상 및 아웃라인뿐만 아니라 객체(300)에 대한 거리를 결정할 수 있다. 일부 실시예들에서, 카메라(116)는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있고, 객체(300)에 대한 거리를 결정하기 위해 이용될 수 있는 깊이 맵을 결정할 수 있다. 더욱이, 깊이 맵은 깊이 맵의 배경으로부터 프로젝션 타겟을 세그먼트화함으로써 객체(300)의 형상을 결정하기 위해 이용될 수 있다.
결정된 형상 및 객체(300)에 대한 거리에 기초하여, 트리밍(126)은 보이드 영역을 생성할 수 있다(1208). 일부 실시예들에서, 보이드 영역은 보이드 영역(304)과 같이, 객체의 결정된 형상 외측의 영역들 상에 프로젝팅될 어두운 픽셀들을 포함할 수 있다. 보이드 영역은 또한, 프로젝터(118)에 의해 턴오프되는 또는 다르게는 프로젝터(118)에 의해 프로젝팅되지 않는 픽셀들에 대응할 수 있다. 그 다음으로, 프로세스(1200)는 결정된 이미지(302) 및 보이드 영역(304)을 객체(300) 상에 프로젝팅함으로써 계속될 수 있다(1210). 그 다음으로, 추적(124)은 객체(300)를 추적하고, 추적에 기초하여 보이드 영역(304)을 조정할 수 있다(1212). 일부 실시예들에서, 추적(124)은 센서들(114)로부터의 정보 및/또는 시스템(100)에 의해 수신된, 메모리 컴포넌트(108)에 저장된, 또는 카메라(116)에 의해 캡쳐된 이미지들에 기초하여 6 자유도로 객체(300)의 포지션 또는 배향의 변화들을 검출하는 것을 포함한다. 프로세스(1200)는, 프로젝팅되는 이미지가 객체 너머의 표면들 또는 영역들 상으로 프로젝팅되지 않도록, 객체 상으로의 프로젝션을 위해 이미지를 트리밍할 수 있다. 프로세스(1200)가 도 3a 및 도 3b에 대해 설명되지만, 프로세스(1200)는 도 2a 내지 도 2d, 도 3a 및 도 3b, 도 4a 및 도 4b, 및 도 5a 및 도 5b에 도시된 바와 같이, 객체 내에 프로젝션 타겟을 지정하는 것을 더 포함할 수 있다. 더욱이, 도 6a 및 도 6b에 도시된 바와 같이, 객체는 손일 수 있고, 이미지는 메시지일 수 있다. 일부 실시예들에서, 객체는 노트북, 컴퓨팅 디바이스, 스크린, 한 장의 종이, 박스, 카드, 또는 다른 이러한 객체들과 같은 다른 객체들일 수 있다. 더욱이, 이미지는 또한, 사진, 비디오, 소셜 네트워킹 포스트, 일정 알림(calendar alert), 사용자 인터페이스 엘리먼트들 등을 포함하는 다른 콘텐츠일 수 있다.
도 13은 일부 실시예들과 일치하는, 타겟 상에 마스킹된 경보를 프로젝팅하기 위한 방법을 예시하는 흐름도이다. 예시의 목적을 위해, 도 13은 도 6a 및 도 6b를 참조하여 설명될 것이다. 도 13에 도시된 프로세스(1300)는 하나 또는 그 초과의 프로세서들에 의한 실행을 위해 컴퓨터-판독가능 명령들로 구현될 수 있으며, 일부 실시예들에서는 시스템(100)의 운영 체제에 의해 구현될 수 있고, 운영 체제의 백그라운드 서비스로서 구현될 수 있다. 도 13에 도시된 바와 같이, 프로세스(1300)는 시스템(100)이 시스템 경보를 생성(1302)할 때 시작된다. 일부 실시예들에서, 시스템 경보는 알람, 통지, 일정 알림, 수신된 메시지, 이를테면, 이메일, 인스턴트 메시지, 또는 SMS(short messaging service message) 등을 포함할 수 있다. 예컨대, 도 6b에 도시된 바와 같이, 시스템 경보는 메시지(602)를 포함할 수 있다. 그 다음으로, 프로세스(1300)는 시야 내의 타겟을 인식(1304)함으로써 계속될 수 있다. 예컨대, 도 6a에 도시된 바와 같이, 카메라(116)는 손(600)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 그 다음으로, 객체 인식(122)은 하나 또는 그 초과의 캡쳐된 이미지들 또는 시스템(100)에 의해 수신된 또는 메모리 컴포넌트(108)에 저장된 이미지들에서 캡쳐된 손(600)의 피쳐들에 기초하여 손(600)을 인식하는 것을 포함할 수 있다.
그 다음으로, 프로세스(1300)는 타겟의 형상 및 거리를 결정(1306)함으로써 계속될 수 있다. 예컨대, 트리밍(126)은 하나 또는 그 초과의 이미지들로부터 손(600)의 형상 및 아웃라인뿐만 아니라 손(600)에 대한 거리를 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 카메라(116)는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있고, 손(600)에 대한 거리를 결정하기 위해 이용될 수 있는 깊이 맵을 결정할 수 있다. 더욱이, 깊이 맵은 깊이 맵의 배경으로부터 프로젝션 타겟을 세그먼트화함으로써 손(600)의 형상을 결정하기 위해 이용될 수 있다.
손(600)에 대해 결정된 형상 및 거리에 기초하여, 트리밍(126)은 보이드 영역을 생성할 수 있다(1308). 일부 실시예들에서, 보이드 영역은, 보이드 영역(604)과 같이, 객체의 결정된 형상 외측의 영역들 상에 프로젝팅될 어두운 픽셀들일 수 있다. 일부 실시예들에서, 보이드 영역은 프로젝터(118)에 의해 프로젝팅되지 않는 또는 다르게는 프로젝팅할 때 턴오프되는 픽셀들일 수 있다. 그 다음으로, 프로세스(1300)는, 보이드 영역에 의해 마스킹된 타겟 상에 경보를 프로젝팅(1310)함으로써 계속될 수 있다. 예컨대, 도 6b에 도시된 바와 같이, 메시지(602)가 손(600) 위에만 프로젝팅되도록, 메시지(602) 및 보이드 영역(604)이 손(600) 위로 프로젝팅될 수 있다. 그 다음으로, 추적(124)은 손(600)과 같은 타겟을 추적하고 추적에 기초하여 보이드 영역(604)을 조정할 수 있다(1312). 일부 실시예들에서, 추적(124)은 센서들(114)로부터의 정보 및/또는 시스템(100)에 의해 수신된, 메모리 컴포넌트(108)에 저장된, 또는 카메라(116)에 의해 캡쳐된 이미지들에 기초하여 6 자유도로 손(600)의 포지션 또는 배향의 변화들을 검출하는 것을 포함한다. 프로세스(1300)는 프로젝팅되는 경보가 타겟 너머의 표면들 또는 영역들 상으로 프로젝팅되지 않도록, 타겟 상으로의 프로젝션을 위해 경보를 트리밍할 수 있다.
도 14는 일부 실시예들과 일치하는, 검출된 제스처에 기초하여 타겟 상에 마스킹된 콘텐츠를 프로젝팅하기 위한 방법을 예시하는 흐름도이다. 예시의 목적을 위해, 도 14는 도 7a 내지 도 7d를 참조하여 설명될 것이다. 도 14에 도시된 프로세스(1400)는 하나 또는 그 초과의 프로세서들에 의한 실행을 위해 컴퓨터-판독가능 명령들로 구현될 수 있으며, 일부 실시예들에서는 시스템(100)의 운영 체제에 의해 구현될 수 있고, 운영 체제의 백그라운드 서비스로서 구현될 수 있다. 도 14에 도시된 바와 같이, 프로세스(1400)는, 비공개 모드에 진입하기 위한 제스처를 제스처 검출(128)이 검출(1402)할 때 시작된다. 일부 실시예들에서, 비공개 모드에 진입하기 위한 제스처는 오므려진 손, 또는 제스처 라이브러리의 제스처들과 상관될 때, 비공개 모드에 진입하기 위한 동작에 대응하는 다른 제스처일 수 있다. 그 다음으로, 프로세스(1400)는, 시야 내의 타겟을 인식(1404)함으로써 계속될 수 있다. 예컨대, 도 7b에 도시된 바와 같이, 카메라(116)는 제 1 객체(700)의 하나 또는 그 초과의 이미지들을 캡쳐할 수 있다. 일부 실시예들에서, 시스템(100)은 제 1 객체(700)의 이미지들을 수신할 수 있거나 또는 다르게는 메모리 컴포넌트(108)에 저장된 제 1 객체의 하나 또는 그 초과의 이미지들을 가질 수 있다. 객체 인식(122)은 제 1 객체(700)의 이미지들로부터의 제 1 객체(700)의 피쳐들에 기초하여 제 1 객체(700)를 인식하는 것을 포함할 수 있다.
그 다음으로, 프로세스(1400)는 타겟의 형상 및 거리를 결정(1406)함으로써 계속될 수 있다. 예컨대, 트리밍(126)은 이미지들로부터 제 1 객체(700)의 형상 및 아웃라인뿐만 아니라 제 1 객체(700)에 대한 거리를 결정하는 것을 포함할 수 있다. 일부 실시예들에서, 카메라(116)는 깊이 카메라이거나 또는 깊이 카메라를 포함할 수 있고, 제 1 객체(700)에 대한 거리를 결정하기 위해 이용될 수 있는 깊이 맵을 결정할 수 있다. 더욱이, 깊이 맵은 깊이 맵의 배경으로부터 프로젝션 타겟을 세그먼트화함으로써 제 1 객체(700)의 형상을 결정하기 위해 이용될 수 있다.
제 1 객체(700)에 대해 결정된 거리 및 형상에 기초하여, 트리밍(126)은 보이드 영역을 생성할 수 있다(1408). 일부 실시예들에서, 보이드 영역은 보이드 영역(706)과 같이, 제 1 객체(700)의 결정된 형상 외측의 영역들 상에 프로젝팅될 어두운 픽셀들을 포함할 수 있다. 일부 실시예들에서, 보이드 영역은 프로젝터(118)에 의해 프로젝팅되지 않는 또는 다르게는 프로젝팅될 때 턴오프되는 픽셀들일 수 있다. 그 다음으로, 프로세스(1400)는 보이드 영역에 의해 마스킹되는 타겟 상에 콘텐츠를 프로젝팅(1410)함으로써 계속될 수 있다. 예컨대, 도 7c에 도시된 바와 같이, 이미지(704)가 제 1 객체(700) 상에만 프로젝팅되고 보이드 영역(706)에 의해 마스킹되도록, 이미지(704) 및 보이드 영역(706)이 프로젝팅될 수 있다. 그 다음으로, 제스처 검출은 공개 모드에 진입하기 위한 제스처를 검출할 수 있다(1412). 일부 실시예들에서, 공개 모드에 진입하기 위한 제스처는 펼쳐진 손, 투구 동작, 또는 검출될 때, 공개 모드에 진입하기 위한 동작에 대응하는 제스처 라이브러리의 제스처와 상관되는 다른 제스처일 수 있다. 그 다음으로, 프로젝터(118)는 보이드 영역에 의해 마스킹되지 않은 콘텐츠를 프로젝팅할 수 있다(1414). 예컨대, 트리밍(126)은 보이드 영역이 없음을 결정하거나, 보이드 영역이 어떠한 영역도 갖지 않음을 또는 0의 영역을 가짐을 결정할 수 있거나, 또는 제 2 객체(702)와 같은 더 큰 타겟 객체에 기초하여 보이드 영역을 결정할 수 있다.
본 개시내용에 따르면, 프로그램 코드 및/또는 데이터와 같은 소프트웨어는 비-일시적 머신 판독가능 매체를 포함하는 하나 또는 그 초과의 머신 판독가능 매체들 상에 저장될 수 있다. 본원에서 식별되는 소프트웨어가 하나 또는 그 초과의 범용 또는 주문형 컴퓨터들 및/또는 컴퓨터 시스템들을 이용하여 구현되고, 네트워킹되고, 그리고/또는 달리 구현될 수 있음이 또한 고려된다. 적절한 경우, 본원에서 설명되는 다양한 단계들의 순서화는, 본원에서 설명되는 피쳐들을 제공하기 위해 변경되고, 합성 단계들로 결합되고, 그리고/또는 서브-단계들로 분리될 수 있다.
결과적으로, 본원에서 설명되는 바와 같은 실시예들은, 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하고, 결정된 하나 또는 그 초과의 경계들에 기초하여 프로젝션 타겟 상의 프로젝션을 위해 콘텐츠를 트리밍함으로써 프로젝션 타겟에 프로젝션들을 피팅하기 위한 시스템들 및 방법들을 제공할 수 있다. 게다가, 프로젝션 타겟 상의 뷰잉을 위해 콘텐츠의 해상도를 최대화하기 위해, 본원에서 설명되는 실시예들은, 프로젝션 타겟의 외측에 있는, 어떠한 콘텐츠도 없는 영역들을 결정하고, 이러한 영역들에서 마스킹된 픽셀들과 같이 어떠한 콘텐츠도 없는 영역들을 프로젝팅하여서, 프로젝팅되는 콘텐츠가 프로젝션 타겟 너머의 표면들 및 영역들 상으로 유출됨이 없이 프로젝션 타겟 상으로의 프로젝션을 위해 미리 결정된 해상도로 콘텐츠가 스케일링될 수 있다. 앞서 제공된 예들은 단지 예시적일뿐이며, 제한적인 것이도록 의도되지 않는다. 당업자는 본 개시내용의 범위 내에 있도록 의도된, 개시된 실시예들과 일치하는 다른 시스템들을 용이하게 구상할 수 있다. 이와 같이, 본 출원은 다음의 청구항들에 의해서만 제한된다.

Claims (32)

  1. 콘텐츠 프로젝션(projection)을 위한 방법으로서,
    하나 또는 그 초과의 이미지 프레임들에서 객체를 인식하기 위한 객체 인식을 이용함으로써 프로젝션 타겟(target)을 결정하는 단계 ― 상기 객체 인식은 상기 타겟과 연관된 정보에 기초함 ―;
    상기 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하는 단계;
    하나 또는 그 초과의 프로세서들에 의해, 콘텐츠가 프로젝팅될 콘텐츠 영역 및 어떠한 콘텐츠도 프로젝팅되지 않을 보이드 영역(void area)을 결정하는 단계 ― 상기 콘텐츠 영역 및 상기 보이드 영역은 상기 하나 또는 그 초과의 경계들에 기초하여 결정되고, 상기 콘텐츠 영역은 추가로, 상기 객체와 연관된 지정된 콘텐츠 영역에 기초하여 결정됨 ―;
    상기 하나 또는 그 초과의 프로세서들에 의해, 상기 프로젝션 타겟 상에 프로젝팅될 콘텐츠가 상기 프로젝션 타겟의 상기 경계들에 기초하는 최대 해상도로 프로젝팅되도록 상기 프로젝션 타겟 또는 상기 콘텐츠 영역에 대한 거리에 기초하여 스케일링 팩터(scaling factor)를 결정하는 단계; 및
    상기 스케일링 팩터에 기초하여 상기 콘텐츠 영역 내의 프로젝션을 위해 콘텐츠를 생성하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  2. 제 1 항에 있어서,
    상기 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하는 단계는,
    상기 프로젝션 타겟의 하나 또는 그 초과의 이미지들을 수신하는 단계; 및
    상기 하나 또는 그 초과의 이미지들로부터 상기 프로젝션 타겟의 형상을 결정하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  3. 제 2 항에 있어서,
    상기 프로젝션 타겟의 결정된 형상에 기초하여 상기 프로젝션 타겟의 아웃라인(outline)을 결정하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  4. 제 2 항에 있어서,
    상기 하나 또는 그 초과의 이미지들에 기초하여 상기 프로젝션 타겟을 포함하는 영역의 깊이 맵을 결정하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  5. 제 4 항에 있어서,
    상기 스케일링 팩터를 결정하는 단계는 상기 결정된 깊이 맵에 기초하여 상기 프로젝션 타겟에 대한 거리를 결정하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  6. 제 4 항에 있어서,
    상기 프로젝션 타겟의 형상을 결정하는 단계는 상기 결정된 깊이 맵의 배경으로부터 상기 프로젝션 타겟을 세그먼트화하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  7. 제 2 항에 있어서,
    상기 보이드 영역을 생성하는 단계는 상기 프로젝션 타겟의 결정된 형상에 기초하여 가상 마스크를 생성하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  8. 제 1 항에 있어서,
    프로젝터에 의해, 상기 생성된 콘텐츠를 상기 결정된 콘텐츠 영역 내의 상기 프로젝션 타겟 상에 프로젝팅하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  9. 제 1 항에 있어서,
    상기 보이드 영역을 생성하는 단계; 및
    프로젝터에 의해, 상기 생성된 보이드 영역을 프로젝팅하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  10. 제 9 항에 있어서,
    상기 생성된 보이드 영역을 프로젝팅하는 단계는 어두운 픽셀(dark pixel)들을 프로젝팅하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  11. 제 1 항에 있어서,
    상기 프로젝션 타겟을 추적하는 단계; 및
    상기 추적하는 것에 기초하여, 상기 결정된 콘텐츠 영역 및 상기 결정된 보이드 영역을 조정하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  12. 제 1 항에 있어서,
    제스처를 검출하는 단계; 및
    상기 검출된 제스처에 기초하여, 상기 보이드 영역이 어떠한 영역도 갖지 않음을 결정하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  13. 제 1 항에 있어서,
    제스처를 검출하는 단계;
    상기 검출된 제스처에 기초하여 제 2 프로젝션 타겟을 결정하는 단계;
    상기 제 2 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하는 단계;
    상기 제 2 프로젝션 타겟의 상기 결정된 하나 또는 그 초과의 경계들에 기초하여 제 2 콘텐츠 영역 및 제 2 보이드 영역을 결정하는 단계;
    상기 제 2 프로젝션 타겟에 대한 거리에 기초하여 제 2 스케일링 팩터를 결정하는 단계; 및
    프로젝션 디바이스에 의해, 콘텐츠를 상기 결정된 콘텐츠 영역 내의 상기 제 2 프로젝션 타겟 상으로 프로젝팅하는 단계를 더 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  14. 콘텐츠 프로젝션을 위한 장치로서,
    프로젝션 타겟의 하나 또는 그 초과의 프로젝션 파라미터들에 기초하여 콘텐츠 영역 및 보이드 영역을 프로젝팅하도록 구성된 프로젝터 ― 상기 프로젝션 타겟은 하나 또는 그 초과의 이미지 프레임들에서 객체를 인식하기 위한 객체 인식을 이용함으로써 결정되고, 상기 객체 인식은 상기 타겟과 연관된 정보에 기초하고, 상기 콘텐츠 영역은 추가로, 상기 객체와 연관된 지정된 콘텐츠 영역에 기초하여 결정됨 ―;
    상기 프로젝션 타겟을 포함하는 시야(field of view)의 하나 또는 그 초과의 이미지들을 캡쳐하도록 구성된 카메라;
    상기 프로젝터 및 상기 카메라에 커플링된 하나 또는 그 초과의 프로세서들 ― 상기 하나 또는 그 초과의 프로세서들은 상기 하나 또는 그 초과의 프로젝션 파라미터들을 결정하도록 구성됨 ―; 및
    상기 하나 또는 그 초과의 프로세서들에 커플링된 메모리를 포함하고,
    상기 하나 또는 그 초과의 프로세서들은, 상기 프로젝션 타겟 상에 프로젝팅될 콘텐츠가 상기 프로젝션 타겟의 하나 또는 그 초과의 경계들에 기초하는 최대 해상도로 프로젝팅되도록 상기 프로젝션 타겟 또는 상기 콘텐츠 영역에 대한 거리에 기초하여 스케일링 팩터를 결정하도록 추가로 구성되는,
    콘텐츠 프로젝션을 위한 장치.
  15. 제 14 항에 있어서,
    상기 하나 또는 그 초과의 프로세서들은, 상기 하나 또는 그 초과의 이미지들을 프로세싱하고, 그리고 상기 프로젝션 타겟에 대한 거리, 상기 프로젝션 타겟의 형상, 및 상기 프로젝션 타겟의 아웃라인을 결정함으로써 상기 하나 또는 그 초과의 프로젝션 파라미터들을 결정하도록 구성되는,
    콘텐츠 프로젝션을 위한 장치.
  16. 제 14 항에 있어서,
    상기 보이드 영역은 상기 콘텐츠 영역의 결정된 아웃라인의 외측에 프로젝팅되는 어두운 픽셀들을 포함하는,
    콘텐츠 프로젝션을 위한 장치.
  17. 제 14 항에 있어서,
    상기 프로젝터는 DLP(Digital Light Processing) 프로젝터, LBS(laser beam steering) 프로젝터, LCoS(liquid crystal on silicon) 프로젝터 중 적어도 하나를 포함하는,
    콘텐츠 프로젝션을 위한 장치.
  18. 제 14 항에 있어서,
    상기 카메라는 추가로, 사용자에 의해 이루어지는 제스처들을 캡쳐하도록 구성되는,
    콘텐츠 프로젝션을 위한 장치.
  19. 제 18 항에 있어서,
    상기 제스처들은 비공개(private) 모드와 공개(public) 모드 사이를 스위칭하기 위한 제스처들을 포함하는,
    콘텐츠 프로젝션을 위한 장치.
  20. 콘텐츠 프로젝션을 위한 시스템으로서,
    하나 또는 그 초과의 이미지 프레임들에서 객체를 인식하기 위한 객체 인식을 이용함으로써 프로젝션 타겟을 결정하기 위한 수단 ― 상기 객체 인식은 상기 타겟과 연관된 정보에 기초함 ―;
    상기 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하기 위한 수단;
    상기 결정된 하나 또는 그 초과의 경계들에 기초하여, 콘텐츠가 프로젝팅될 콘텐츠 영역 및 어떠한 콘텐츠도 프로젝팅되지 않을 보이드 영역을 결정하기 위한 수단 ― 상기 콘텐츠 영역은 추가로, 상기 객체와 연관된 지정된 콘텐츠 영역에 기초하여 결정됨 ―;
    상기 프로젝션 타겟 상에 프로젝팅될 콘텐츠가 상기 프로젝션 타겟의 상기 경계들에 기초하는 최대 해상도로 프로젝팅되도록 상기 프로젝션 타겟 또는 상기 콘텐츠 영역에 대한 거리에 기초하여 스케일링 팩터를 결정하기 위한 수단; 및
    상기 스케일링 팩터에 기초하여 상기 콘텐츠 영역 내의 프로젝션을 위해 콘텐츠를 생성하기 위한 수단을 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  21. 제 20 항에 있어서,
    상기 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하기 위한 수단은,
    상기 프로젝션 타겟의 하나 또는 그 초과의 이미지들을 수신하기 위한 수단; 및
    상기 하나 또는 그 초과의 이미지들로부터 상기 프로젝션 타겟의 형상을 결정하기 위한 수단을 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  22. 제 21 항에 있어서,
    상기 하나 또는 그 초과의 이미지들에 기초하여 상기 프로젝션 타겟을 포함하는 영역의 깊이 맵을 결정하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  23. 제 20 항에 있어서,
    상기 생성된 콘텐츠를 상기 결정된 콘텐츠 영역 내의 상기 프로젝션 타겟 상에 프로젝팅하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  24. 제 20 항에 있어서,
    상기 보이드 영역을 생성하기 위한 수단; 및
    상기 생성된 보이드 영역을 프로젝팅하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  25. 제 20 항에 있어서,
    상기 프로젝션 타겟을 추적하기 위한 수단; 및
    상기 추적에 기초하여, 상기 결정된 콘텐츠 영역 및 상기 결정된 보이드 영역을 조정하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  26. 제 20 항에 있어서,
    제스처를 검출하기 위한 수단; 및
    상기 검출된 제스처에 기초하여, 상기 보이드 영역이 어떠한 영역도 갖지 않음을 결정하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  27. 제 20 항에 있어서,
    제스처를 검출하기 위한 수단;
    상기 검출된 제스처에 기초하여 제 2 프로젝션 타겟을 결정하기 위한 수단;
    상기 제 2 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하기 위한 수단;
    상기 제 2 프로젝션 타겟의 상기 결정된 하나 또는 그 초과의 경계들에 기초하여 제 2 콘텐츠 영역 및 제 2 보이드 영역을 결정하기 위한 수단;
    상기 제 2 프로젝션 타겟에 대한 거리에 기초하여 제 2 스케일링 팩터를 결정하기 위한 수단; 및
    프로젝션 디바이스에 의해, 콘텐츠를 상기 결정된 콘텐츠 영역 내의 상기 제 2 프로젝션 타겟 상으로 프로젝팅하기 위한 수단을 더 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  28. 콘텐츠 프로젝션을 위한 비-일시적 컴퓨터-판독가능 저장 매체로서,
    상기 비-일시적 컴퓨터-판독가능 저장 매체는 명령들을 포함하고, 상기 명령들은 하나 또는 그 초과의 프로세서들에 의해 실행될 때, 상기 하나 또는 그 초과의 프로세서들을 포함하는 시스템으로 하여금 방법을 수행하게 하고,
    상기 방법은,
    하나 또는 그 초과의 이미지 프레임들에서 객체를 인식하기 위한 객체 인식을 이용함으로써 프로젝션 타겟을 결정하는 단계 ― 상기 객체 인식은 상기 타겟과 연관된 정보에 기초함 ―;
    상기 프로젝션 타겟의 하나 또는 그 초과의 경계들을 결정하는 단계;
    하나 또는 그 초과의 프로세서들에 의해, 상기 결정된 상기 하나 또는 그 초과의 경계들에 기초하여, 콘텐츠가 프로젝팅될 콘텐츠 영역 및 어떠한 콘텐츠도 프로젝팅되지 않을 보이드 영역을 결정하는 단계 ― 상기 콘텐츠 영역은 추가로, 상기 객체와 연관된 지정된 콘텐츠 영역에 기초하여 결정됨 ―;
    상기 하나 또는 그 초과의 프로세서들에 의해, 상기 프로젝션 타겟 상에 프로젝팅될 콘텐츠가 상기 프로젝션 타겟의 상기 경계들에 기초하는 최대 해상도로 프로젝팅되도록 상기 프로젝션 타겟 또는 상기 콘텐츠 영역에 대한 거리에 기초하여 스케일링 팩터를 결정하는 단계; 및
    상기 스케일링 팩터에 기초하여 상기 콘텐츠 영역 내의 프로젝션을 위해 콘텐츠를 생성하는 단계를 포함하는,
    콘텐츠 프로젝션을 위한 비-일시적 컴퓨터-판독가능 저장 매체.
  29. 제 1 항에 있어서,
    상기 타겟과 연관된 정보는 사용자에 의해 제공되는 정보, 콘텐츠 제공자에 의해 제공되는 정보, 소매상에 의해 제공되는 정보, 또는 제조자에 의해 제공되는 정보 중 적어도 하나를 포함하는,
    콘텐츠 프로젝션을 위한 방법.
  30. 제 14 항에 있어서,
    상기 타겟과 연관된 정보는 사용자에 의해 제공되는 정보, 콘텐츠 제공자에 의해 제공되는 정보, 소매상에 의해 제공되는 정보, 또는 제조자에 의해 제공되는 정보 중 적어도 하나를 포함하는,
    콘텐츠 프로젝션을 위한 장치.
  31. 제 20 항에 있어서,
    상기 타겟과 연관된 정보는 사용자에 의해 제공되는 정보, 콘텐츠 제공자에 의해 제공되는 정보, 소매상에 의해 제공되는 정보, 또는 제조자에 의해 제공되는 정보 중 적어도 하나를 포함하는,
    콘텐츠 프로젝션을 위한 시스템.
  32. 제 28 항에 있어서,
    상기 타겟과 연관된 정보는 사용자에 의해 제공되는 정보, 콘텐츠 제공자에 의해 제공되는 정보, 소매상에 의해 제공되는 정보, 또는 제조자에 의해 제공되는 정보 중 적어도 하나를 포함하는,
    콘텐츠 프로젝션을 위한 비-일시적 컴퓨터-판독가능 저장 매체.
KR1020167019262A 2013-12-20 2014-12-09 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍 KR101842075B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/136,310 2013-12-20
US14/136,310 US9484005B2 (en) 2013-12-20 2013-12-20 Trimming content for projection onto a target
PCT/US2014/069197 WO2015094785A1 (en) 2013-12-20 2014-12-09 Trimming content for projection onto a target

Publications (2)

Publication Number Publication Date
KR20160101070A KR20160101070A (ko) 2016-08-24
KR101842075B1 true KR101842075B1 (ko) 2018-03-26

Family

ID=52358969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167019262A KR101842075B1 (ko) 2013-12-20 2014-12-09 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍

Country Status (6)

Country Link
US (1) US9484005B2 (ko)
EP (1) EP3085080A1 (ko)
JP (1) JP6317452B2 (ko)
KR (1) KR101842075B1 (ko)
CN (1) CN105830439B (ko)
WO (1) WO2015094785A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6176014B2 (ja) * 2013-09-12 2017-08-09 カシオ計算機株式会社 投影装置、投影制御方法及びプログラム
KR102324398B1 (ko) * 2014-09-17 2021-11-10 삼성전자 주식회사 전자 장치 및 이의 화면 표시 제어 방법
US9396400B1 (en) * 2015-07-30 2016-07-19 Snitch, Inc. Computer-vision based security system using a depth camera
JP6512058B2 (ja) * 2015-10-08 2019-05-15 富士通株式会社 投影装置、映像投影方法及び映像投影用コンピュータプログラム
US10197998B2 (en) 2015-12-27 2019-02-05 Spin Master Ltd. Remotely controlled motile device system
US11062383B2 (en) 2016-05-10 2021-07-13 Lowe's Companies, Inc. Systems and methods for displaying a simulated room and portions thereof
WO2018020661A1 (ja) * 2016-07-29 2018-02-01 三菱電機株式会社 表示装置、表示制御装置および表示制御方法
DE102016215746A1 (de) * 2016-08-23 2018-03-01 Robert Bosch Gmbh Projektor mit berührungsfreier Steuerung
US11226704B2 (en) * 2016-09-29 2022-01-18 Sony Group Corporation Projection-based user interface
CN106507076A (zh) * 2016-11-25 2017-03-15 重庆杰夫与友文化创意有限公司 一种投影方法、装置及系统
US20180225477A1 (en) 2017-02-07 2018-08-09 International Business Machines Corporation Device display security with user-specified filtering of display contents
US20180278835A1 (en) * 2017-03-21 2018-09-27 Honeywell International Inc. Systems and methods for enabling dynamic privacy zones in the field of view of a security camera based on motion detection
CN107464271A (zh) * 2017-07-18 2017-12-12 山东捷瑞数字科技股份有限公司 一种为展示内容动态添加投影遮罩的方法
JP2019060963A (ja) * 2017-09-25 2019-04-18 ソニー株式会社 表示処理装置、表示処理方法及びプログラム
US10339718B1 (en) * 2017-12-29 2019-07-02 Verizon Patent And Licensing Inc. Methods and systems for projecting augmented reality content
JP7073817B2 (ja) * 2018-03-19 2022-05-24 セイコーエプソン株式会社 投写装置および投写方法
US10643362B2 (en) * 2018-03-26 2020-05-05 Lenovo (Singapore) Pte Ltd Message location based on limb location
US10921935B2 (en) * 2018-05-21 2021-02-16 Compal Electronics, Inc. Interactive projection system and interactive projection method
KR102558106B1 (ko) * 2018-05-30 2023-07-21 엘지디스플레이 주식회사 디스플레이 패널, 디스플레이 장치 및 가상 현실/증강 현실 장치
JP2021144064A (ja) * 2018-06-06 2021-09-24 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
US20190385372A1 (en) * 2018-06-15 2019-12-19 Microsoft Technology Licensing, Llc Positioning a virtual reality passthrough region at a known distance
US11393170B2 (en) 2018-08-21 2022-07-19 Lenovo (Singapore) Pte. Ltd. Presentation of content based on attention center of user
CN111182278B (zh) * 2018-11-09 2022-06-14 上海云绅智能科技有限公司 一种投影展示管理方法及系统
CN110032328A (zh) * 2018-12-06 2019-07-19 阿里巴巴集团控股有限公司 一种操作对象的尺寸调节方法及装置
US10789780B1 (en) * 2019-03-29 2020-09-29 Konica Minolta Laboratory U.S.A., Inc. Eliminating a projected augmented reality display from an image
US11710310B2 (en) 2019-06-19 2023-07-25 Apple Inc. Virtual content positioned based on detected object
US10948997B1 (en) * 2019-12-20 2021-03-16 Facebook Technologies, Llc Artificial reality notification triggers
WO2021142601A1 (en) * 2020-01-14 2021-07-22 Citrix Systems, Inc. Content resolution adjustment for passive display devices
CN111338591B (zh) * 2020-02-25 2022-04-12 京东方科技集团股份有限公司 一种虚拟现实显示设备及显示方法
CN113391503A (zh) * 2020-03-11 2021-09-14 苏州佳世达光电有限公司 投影机及投影方法
TWI733436B (zh) * 2020-05-06 2021-07-11 微星科技股份有限公司 等比例投影方法及裝置
CN111754575B (zh) * 2020-06-30 2022-04-29 成都极米科技股份有限公司 对象定位方法、投影方法、装置和投影仪
JP7023022B1 (ja) 2021-02-04 2022-02-21 Fairy Devices株式会社 首掛け型装置及び遠隔作業支援システム
US11836205B2 (en) 2022-04-20 2023-12-05 Meta Platforms Technologies, Llc Artificial reality browser configured to trigger an immersive experience
US11755180B1 (en) 2022-06-22 2023-09-12 Meta Platforms Technologies, Llc Browser enabled switching between virtual worlds in artificial reality

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271053A1 (en) 2004-11-12 2007-11-22 The Boeing Company Optical Projection System
WO2010137496A1 (ja) * 2009-05-26 2010-12-02 パナソニック電工株式会社 情報提示装置
WO2011114420A1 (ja) * 2010-03-15 2011-09-22 Necディスプレイソリューションズ株式会社 投射型表示装置およびその制御方法
JP2011188023A (ja) * 2010-03-04 2011-09-22 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2013541747A (ja) * 2010-07-20 2013-11-14 プライムセンス リミテッド 自然な相互作用のための相互作用現実拡大

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597410B1 (en) * 1999-11-10 2003-07-22 International Business Machines Corporation System for the automatic adaptation of projector images and a method for the implementation thereof
US6753907B1 (en) * 1999-12-23 2004-06-22 Justsystem Corporation Method and apparatus for automatic keystone correction
JP4009851B2 (ja) * 2002-05-20 2007-11-21 セイコーエプソン株式会社 投写型画像表示システム、プロジェクタ、プログラム、情報記憶媒体および画像投写方法
JP2006508475A (ja) * 2002-11-29 2006-03-09 ブラッコ イメージング ソチエタ ペル アチオニ 三次元表示装置におけるスケーリング制御装置とその方法
JP3882929B2 (ja) * 2004-03-29 2007-02-21 セイコーエプソン株式会社 画像処理システム、プロジェクタおよび画像処理方法
JP4379532B2 (ja) * 2007-07-26 2009-12-09 パナソニック電工株式会社 照明装置
KR101468267B1 (ko) 2008-10-02 2014-12-15 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 중간 뷰 합성 및 멀티-뷰 데이터 신호 추출
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
US8745494B2 (en) * 2009-05-27 2014-06-03 Zambala Lllp System and method for control of a simulated object that is associated with a physical location in the real world environment
EP2474167A4 (en) 2009-09-01 2014-12-10 Prime Focus Vfx Services Ii Inc SYSTEM AND PROCESS FOR TRANSFORMING TWO-DIMENSIONAL IMAGES TO THREE-DIMENSIONAL IMAGES
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
JP5541031B2 (ja) 2010-09-16 2014-07-09 セイコーエプソン株式会社 プロジェクター、およびプロジェクターの制御方法
US8884984B2 (en) 2010-10-15 2014-11-11 Microsoft Corporation Fusing virtual content into real content
US9122053B2 (en) 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
US9213405B2 (en) 2010-12-16 2015-12-15 Microsoft Technology Licensing, Llc Comprehension and intent-based content for augmented reality displays
US8928735B2 (en) * 2011-06-14 2015-01-06 Microsoft Corporation Combined lighting, projection, and image capture without video feedback
US8933970B2 (en) * 2012-09-11 2015-01-13 Longsand Limited Controlling an augmented reality object
US9179232B2 (en) * 2012-09-17 2015-11-03 Nokia Technologies Oy Method and apparatus for associating audio objects with content and geo-location
US9569892B2 (en) * 2013-09-26 2017-02-14 Qualcomm Incorporated Image capture input and projection output

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271053A1 (en) 2004-11-12 2007-11-22 The Boeing Company Optical Projection System
WO2010137496A1 (ja) * 2009-05-26 2010-12-02 パナソニック電工株式会社 情報提示装置
JP2011188023A (ja) * 2010-03-04 2011-09-22 Sony Corp 情報処理装置、情報処理方法およびプログラム
WO2011114420A1 (ja) * 2010-03-15 2011-09-22 Necディスプレイソリューションズ株式会社 投射型表示装置およびその制御方法
JP2013541747A (ja) * 2010-07-20 2013-11-14 プライムセンス リミテッド 自然な相互作用のための相互作用現実拡大

Also Published As

Publication number Publication date
WO2015094785A1 (en) 2015-06-25
US9484005B2 (en) 2016-11-01
KR20160101070A (ko) 2016-08-24
US20150179147A1 (en) 2015-06-25
JP2017503198A (ja) 2017-01-26
CN105830439B (zh) 2018-10-26
EP3085080A1 (en) 2016-10-26
CN105830439A (zh) 2016-08-03
JP6317452B2 (ja) 2018-04-25

Similar Documents

Publication Publication Date Title
KR101842075B1 (ko) 타겟 상으로의 프로젝션을 위해 콘텐츠를 트리밍
US11366516B2 (en) Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device
US20210407203A1 (en) Augmented reality experiences using speech and text captions
US20190025909A1 (en) Human-body-gesture-based region and volume selection for hmd
WO2019141100A1 (zh) 附加对象显示方法、装置、计算机设备及存储介质
US9317972B2 (en) User interface for augmented reality enabled devices
US20170372449A1 (en) Smart capturing of whiteboard contents for remote conferencing
KR20210113333A (ko) 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체
US11302077B2 (en) Augmented reality guidance that generates guidance markers
US11869156B2 (en) Augmented reality eyewear with speech bubbles and translation
KR102159767B1 (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
US20210406542A1 (en) Augmented reality eyewear with mood sharing
KR102312601B1 (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
KR102473669B1 (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
CN115698923A (zh) 信息处理装置、信息处理方法和程序

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant