JP6317452B2 - ターゲット上に投影するためのコンテンツをトリミングするための方法、装置、システム及び非一時的コンピュータ可読記憶媒体 - Google Patents

ターゲット上に投影するためのコンテンツをトリミングするための方法、装置、システム及び非一時的コンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP6317452B2
JP6317452B2 JP2016540004A JP2016540004A JP6317452B2 JP 6317452 B2 JP6317452 B2 JP 6317452B2 JP 2016540004 A JP2016540004 A JP 2016540004A JP 2016540004 A JP2016540004 A JP 2016540004A JP 6317452 B2 JP6317452 B2 JP 6317452B2
Authority
JP
Japan
Prior art keywords
content
area
projection target
determining
projection
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016540004A
Other languages
English (en)
Other versions
JP2017503198A5 (ja
JP2017503198A (ja
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 JP2017503198A publication Critical patent/JP2017503198A/ja
Publication of JP2017503198A5 publication Critical patent/JP2017503198A5/ja
Application granted granted Critical
Publication of JP6317452B2 publication Critical patent/JP6317452B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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)

Description

本明細書で開示する実施形態は、一般に、投影ターゲットに投影を適合させることを対象とする。詳細には、本明細書で開示する実施形態は、ターゲットの境界内に投影するためにコンテンツをトリミングすることができる。
パーソナルプロジェクタ、モバイルプロジェクタ、またはピコプロジェクタは、モバイルデバイスからの画像またはコンテンツをターゲットオブジェクト上に投影するために、モバイルデバイスとともに使用され得る。投影された画像またはコンテンツは、ユーザに、自分のモバイルデバイス上で現在利用可能であるものよりも大きいビューを提供することができ、または、ユーザが自分のモバイルデバイスからの画像またはコンテンツを共有することを可能にすることができる。モバイルプロジェクタはまた、拡張現実(AR)アプリケーションを向上させるためにも使用され得る。ARは、ユーザが世界と対話する方法を変更することを可能にする新しい技術である。ARは、物理的な現実世界環境の、生の直接的または間接的なビューであり、要素は、音、ビデオ、グラフィックス、またはGPSデータなど、コンピュータが生成したセンサ入力によって拡張される。いくつかの用途では、ARは、ユーザの周りの環境の画像をキャプチャして、次いで、拡張のために、キャプチャされた画像内のオブジェクトを認識するためのオブジェクト認識アルゴリズムを使用する、画像キャプチャデバイスを有するデバイスによって有効にされる。次いで、ユーザは、たとえば認識されたオブジェクトに基づいてビューの一部が拡張されたユーザの周りの環境のビューを、デバイスのディスプレイ上で提供され得る。モバイルプロジェクタは、画面上に拡張環境のビューを表示する代わりに、またはそれに加えて、オブジェクトを認識し、コンテンツを実際のオブジェクト上に投影することを可能にすることができる。
米国出願第14/038,480号
いくつかの実施形態に従って、投影ターゲットを決定するステップと、投影ターゲットの1つまたは複数の範囲を決定するステップと、決定された1つまたは複数の範囲に基づいて、コンテンツエリアと空きエリアとを決定するステップと、スケーリングファクタを決定するステップと、スケーリングファクタに基づいて、コンテンツエリア内に投影するためのコンテンツを生成するステップと、空きエリアを生成するステップとを含む方法を提供する。この方法はまた、有形の非一時的コンピュータ可読媒体においても具現化され得る。
いくつかの実施形態に従って、投影ターゲットの1つまたは複数の投影パラメータに基づいて、コンテンツエリアと空きエリアとを投影するように構成されたプロジェクタを含む、装置も提供する。この装置はまた、投影ターゲットを含む視野の1つまたは複数の画像をキャプチャするように構成されたカメラと、プロジェクタおよびカメラに結合された、1つまたは複数のプロセッサであって、1つまたは複数の投影パラメータを決定するように構成された、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含む。
いくつかの実施形態に従って、投影ターゲットを決定するための手段を含むシステムをさらに提供する。このシステムはまた、投影ターゲットの1つまたは複数の範囲を決定するための手段と、決定された1つまたは複数の範囲に基づいて、コンテンツエリアと空きエリアとを決定するための手段と、スケーリングファクタを決定するための手段とを含む。このシステムは、スケーリングファクタに基づいて、コンテンツエリア内に投影するためのコンテンツを生成するための手段と、空きエリアを生成するための手段とをさらに含む。
いくつかの実施形態に一致する、処理システムを示す図である。 いくつかの実施形態に一致する、ターゲットオブジェクト上のエリアの範囲内に適合するように、コンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、ターゲットオブジェクト上のエリアの範囲内に適合するように、コンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、ターゲットオブジェクト上のエリアの範囲内に適合するように、コンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、ターゲットオブジェクト上のエリアの範囲内に適合するように、コンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクト上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクト上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクトの範囲外に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクトの範囲外に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、コンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、コンテンツをトリミングする一例を示す図である。 手の範囲内に適合するようにコンテンツをトリミングする一例を示す図である。 手の範囲内に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、検出されたジェスチャに基づいてコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、検出されたジェスチャに基づいてコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、検出されたジェスチャに基づいてコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、検出されたジェスチャに基づいてコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、複数のオブジェクト上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、複数のオブジェクト上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクトの複数の部分上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、オブジェクトの複数の部分上に適合するようにコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、複数のオブジェクト上に適合するように、複数の画像を有するコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、複数のオブジェクト上に適合するように、複数の画像を有するコンテンツをトリミングする一例を示す図である。 いくつかの実施形態に一致する、コンテンツをトリミングするための方法を示すフローチャートである。 いくつかの実施形態に一致する、オブジェクト上でマスクされた画像を投影するための方法を示すフローチャートである。 いくつかの実施形態に一致する、ターゲット上でマスクされたアラートを投影するための方法を示すフローチャートである。 いくつかの実施形態に一致する、検出されたジェスチャに基づいて、ターゲット上でマスクされたコンテンツを投影するための方法を示すフローチャートである。
図面において、同じ記号を有する要素は、同じまたは同様の機能を有する。
以下の説明では、具体的な詳細を記載して、いくつかの実施形態について説明する。しかしながら、開示される実施形態は、これらの具体的な詳細の一部または全部を伴わずに実施され得ることが、当業者には明らかであろう。提示される具体的な実施形態は、例示的であることが意図されており、限定的であることは意図されていない。当業者は、本明細書で具体的に説明してはいないが、本開示の趣旨および範囲内にある他の物を実現し得る。
上述のように、モバイル投影デバイスは、ユーザに、自分のモバイルデバイス上で現在利用可能であるものよりも大きいビューを提供するために、または、ターゲットオブジェクトを拡張して拡張現実を作成するために、モバイルデバイスからの画像またはコンテンツをターゲットオブジェクト上に投影するために、モバイルデバイスとともに使用され得る。しかしながら、投影がユーザにとって、およびユーザの近くの他者にとっても不都合であり得る状況がある。たとえば、公共の場における投影は、他者の気を散らすものであり得、または、投影中に含まれるプライベートなコンテンツを他者が見ることを可能にし得る。ユーザのみがそこから投影を見ることが可能であり得る投影ターゲットを、ユーザが指定することを試みる場合でも、投影は、ユーザが投影を容易に見えるようにするためには小さすぎるようにスケーリングされることがあり、または、投影が適切にスケーリングされる場合、投影は依然として、投影がターゲットを超えたエリア上にあふれるように、ターゲットに重なることがある。
したがって、必要なものは、特定のターゲットの境界内に適合するように、投影画像内のコンテンツをトリミングするためのシステムおよび方法である。
図1は、いくつかの実施形態に一致する、処理システム100を示す図である。処理システム100は、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ、ラップトップもしくはネットブック、ケーブルもしくは衛星コンテンツプロバイダによって提供されるようなセットトップボックス(STB)、またはビデオゲームシステムコンソールなどのモバイルデバイスであり得る。処理システム100はまた、ヘッドマウントディスプレイ(HMD)でもよく、または他のウェアラブルコンピューティングデバイスでもよい。いくつかの実施形態では、処理システム100は、自動車内に、たとえば、自動車のエンターテインメントセンタもしくはコンソール内に実装されるか、または、スマートインスリンポンプもしくはスマートインスリンメータなどのヘルスケアデバイス内に含まれるか、もしくは実装される。いくつかの実施形態によれば、処理システム100は、画像をキャプチャしてコンテンツを投影するために構成されたハードウェアおよび/またはソフトウェアの任意の適切な組合せを使用して実装され得る。具体的には、処理システム100は、1つまたは複数のプロセッサを有し、画像をキャプチャしてコンテンツを投影するために1つまたは複数のプロセッサによって実行するために非一時的機械可読媒体に記憶された命令を読み取ることが可能な、ハードウェアおよび/またはソフトウェアの任意の適切な組合せを含み得る。いくつかの一般的な形態の機械可読媒体としては、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、および/または1つもしくは複数のプロセッサもしくはコンピュータが読み取るように適合された任意の他の媒体が挙げられる。
処理システム100は、ネットワークと通信するために構成されたネットワークインターフェース構成要素102を含み得る。いくつかの実施形態に従って、ネットワークインターフェース構成要素102は、同軸ケーブル、光ファイバケーブル、デジタル加入者回線(DSL)モデム、公衆交換電話網(PSTN)モデム、イーサネット(登録商標)デバイス、および/または様々な他のタイプの有線ネットワーク通信デバイスとインターフェースをとるように構成され得る。ネットワークインターフェース構成要素102は、1つまたは複数のワイヤレストランシーバを含むこともでき、各ワイヤレストランシーバは、分離可能型または一体型の、Wi-Fi(商標)、3G、4G、HSDPA、LTE、RF、NFCなどの異なるワイヤレスネットワーキングプロトコルに従って情報を送信および受信することが可能なアンテナを含むことができる。
いくつかの実施形態に従って、処理システム100は、処理システム100内の様々な構成要素を相互接続し、様々な構成要素間で情報を通信するためのシステムバス104を含む。いくつかの実施形態では、バス104は、システムオンチップ(SoC)において実装され、チップおよび/または1つもしくは複数のプロセッサのコアにある様々な要素または構成要素を接続する。構成要素は、1つまたは複数のプロセッサ、中央処理ユニット(CPU)、画像信号プロセッサ(ISP)、マイクロコントローラ、またはデジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、ならびにアナログおよび/またはデジタル音響信号プロセッサを含み得る音響信号プロセッサであり得る処理構成要素106を含み得る。構成要素はまた、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、光学式、磁気、固体、または上述のような他のメモリに対応し得る、メモリ構成要素108を含み得る。
いくつかの実施形態に従って、処理システム100はまた、情報をユーザに表示するためのディスプレイ構成要素110を含み得る。ディスプレイ構成要素110は、液晶ディスプレイ(LCD)画面、有機発光ダイオード(OLED)画面(アクティブマトリックスAMOLED画面を含む)、LED画面、プラズマディスプレイ、またはブラウン管(CRT)ディスプレイであり得る。ディスプレイ構成要素110は、処理システム100に統合されてもよく、または、処理システム100から分離されて処理システム100に結合されてもよい。処理システム100はまた、入力およびナビゲーション構成要素112を含み得、ユーザが情報を入力して、ディスプレイ構成要素110に沿ってナビゲートすることを可能にする。入力およびナビゲーション構成要素112は、たとえば、キーボードもしくはキーパッド(物理的なものであるか仮想のものであるかを問わない)、マウス、トラックボール、または他のそのようなデバイス、あるいは容量性もしくは他のセンサベースのタッチスクリーンを含み得る。
処理システム100はまた、システム100および/またはその周囲に関連付けられるデータをキャプチャするセンサ114を含み得る。センサ114は、限定はしないが、マイクロフォンまたは音響センサ、カメラ、光センサ、近接センサ、周辺光センサ、圧力センサ、慣性センサ(たとえば、加速度計および/またはジャイロスコープ)、磁力計などを含み得る。センサ114は、個別に、もしくはセンサアレイなどの組合せで、または任意の他の組合せで使用され得る。センサ114は、互いに依存して、または互いに独立して動作することが可能であり得る。センサ114は、たとえば、メモリ構成要素108および他のモジュールに記憶された命令に従って、センサ114によってキャプチャされたデータを処理するために、ならびに、キャプチャされたデータに関連付けられるメタデータを生成またはさもなければ取得するために、システムバス104を通じて処理構成要素106と通信することができる。
処理システム100はまた、カメラ116を含み得る。いくつかの実施形態では、カメラ116は、Microsoft(登録商標)Xbox(商標)Kinect(商標)カメラなど、可視光カメラまたは深度感知カメラであり得る。カメラ116はまた、赤外線(IR)光または紫外線(UV)光を検出するように構成され得る。カメラ116はまた、ステレオカメラ、飛行時間(ToF)カメラ、または画像を検出してキャプチャすることが可能な他のカメラであり得る。いくつかの実施形態では、カメラ116は、処理するために、カメラ116の視野内のオブジェクトの1つまたは複数の画像をキャプチャするように構成され得る。その上、カメラ116は、ジェスチャ検出、追跡、オブジェクト認識、および他の目的のために、画像をキャプチャするために使用され得る。カメラはまた、ビデオなど、一連の画像をキャプチャすることも可能であり得る。
処理システム100はまた、プロジェクタ118を含み得る。プロジェクタ118は、1つまたは複数の画像を形成するために光を投影することが可能であり得る。1つまたは複数の画像は、フレームの集合として投影される静止画または動画などのコンテンツを含み得る。いくつかの実施形態では、プロジェクタ118は、投影画像に動きまたはアニメーションのアピアランス(appearance)を与えるために、投影光の配置を変更することができる。プロジェクタ118は、デジタルライトプロセッシング(DLP)プロジェクタ、レーザービームステアリング(LBS)プロジェクタ、リキッドクリスタルオンシリコン(LCoS)プロジェクタ、または他のプロジェクタであり得る。いくつかの実施形態では、プロジェクタ118はまた、モバイルプロジェクタまたはポータブルプロジェクタであり得る。いくつかの実施形態では、プロジェクタ118は、ウェアラブルプロジェクタであり得る。
処理システム100はまた、投影生成120、オブジェクト認識122、追跡124、トリミング126、およびジェスチャ検出128が可能であり得る。これらの機能は、処理構成要素106によって実行されると機能を実行する、1つまたは複数のソフトウェアモジュールによって実行され得る。他の実施形態では、機能は、メモリと、機能を実行するために命令を実行するための少なくとも1つのプロセッサとを有する、特定用途向け集積回路(ASIC)または他の回路を含む、ソフトウェアモジュールを指すことがある。いくつかの実施形態では、投影生成120は、プロジェクタ118によって投影するための1つまたは複数の画像を生成することを含み得る。生成された1つまたは複数の画像は、ターゲットオブジェクトまたはエリア上に投影するためのコンテンツであり得る。いくつかの実施形態では、コンテンツは、ターゲットオブジェクトまたはエリアを拡張するためのコンテンツであり得る。コンテンツはまた、画像、または、ビデオもしくはアニメーションなどの一連の画像であり得る。いくつかの実施形態では、投影コンテンツは、2次元(2D)または3次元(3D)データから生成されたコンテンツの投影を含み得る。コンテンツはまた、アラート、メッセージ、ユーザインターフェース(UI)要素、ソーシャルネットワーキングコンテンツなどであり得る。コンテンツはまた、いくつかの実施形態では、ターゲットオブジェクト上で表示するための最大解像度であり得る、あらかじめ決定された解像度で、ターゲットオブジェクト上に投影されるようにトリミングされ得る。
オブジェクト認識122は、カメラ116によってキャプチャされた画像において、1つまたは複数のオブジェクト認識アルゴリズムを実行することを含み得る。オブジェクト認識122において実行されるオブジェクト認識アルゴリズムは、特徴検出、パターン認識、アピアランスマッチング、画像マッチングなどを使用して、1つまたは複数の画像フレーム内のオブジェクトを認識することが可能であり得る。いくつかの実施形態では、オブジェクト認識122において認識されるオブジェクトは、追跡124のために使用されるオブジェクト、投影のターゲットとして指定されるオブジェクト、および拡張のためのオブジェクトであり得る。いくつかの実施形態では、オブジェクト認識122は、自動的に認識すること、ならびに、認識されたオブジェクトを投影および/または拡張のためのターゲットとして指定することを含み得る。
いくつかの実施形態では、処理システム100のユーザは、オブジェクトが、たとえば、ディスプレイ構成要素110によって処理システム100上に表示されるとき、オブジェクトを選択すること、またはさもなければオブジェクトと対話することによって、視野内のオブジェクトを投影のためのターゲットまたは拡張のためのオブジェクトとして指定することが可能であり得る。ユーザが拡張のためのオブジェクトを選択する場合、オブジェクト認識122は、選択されたオブジェクトを認識し、サードパーティによって提供された情報に基づくコンテンツを用いて、またはオブジェクトに関係する情報によって、認識されたオブジェクトを拡張することを試みることを含み得る。いくつかの実施形態では、オブジェクト認識122は、オブジェクト認識122を実行するために、およびオブジェクトに関係するコンテンツを見つけるために、ネットワークインターフェース構成要素102を使用してネットワークと通信することを含み得る。
追跡124は、ターゲットエリア内のオブジェクトのロケーションを経時的に関連付けることを含み得る。いくつかの実施形態では、追跡124は、プロジェクタが動くか、またはターゲットオブジェクトが動くときでも、投影コンテンツが1つまたは複数の指定されたターゲットオブジェクト上で投影されたままであるように、ある時間期間にわたってターゲットエリア内のオブジェクトの決定されたロケーションおよび向きに基づいて投影を制御するように構成され得る。追跡124は、カメラ116によってキャプチャされた画像、および、いくつかの実施形態では、センサ114からの情報に基づいて、プロジェクタ118の投影を制御し得る。いくつかの実施形態では、追跡124は、カメラ116によってキャプチャされた画像、および/または加速度計もしくはジャイロスコープなどのセンサ114によって取得された情報を使用して、ターゲットオブジェクトについてのポーズ、向き、および深度情報を推定することを含み得る。追跡124は、拡張現実コンテンツを生成することを含む、プロジェクタ118による投影を制御するために後に投影生成120において使用され得る、1つまたは複数のマトリックスを生成することをさらに含み得る。追跡124は、カメラ116からのキャプチャされた画像、および/またはセンサ114からの情報に基づいて、投影生成120のためのコンテンツをスケーリングすること、回転させること、および変換することを含み得る。追跡124は、キャプチャされた画像に基づいて、6つの自由度(degree-of-freedom)を決定すること、および、決定された6つの自由度に基づいて、投影するためのコンテンツを追跡することを含み得る。カメラ116が深度感知カメラであるか、またはそれを含む場合の実施形態では、1つまたは複数の画像は、視野の深度マップを展開するために処理され得る。深度マップは、投影の適切な焦点を維持することを含む、投影を追跡して制御するために、追跡124において使用され得る。
トリミング126は、投影生成によって生成され、投影デバイスによって投影されるコンテンツを、ターゲットオブジェクトの境界内に投影されるようにトリミングするために、1つまたは複数のアクションを実行することを含み得る。概して、トリミング126は、コンテンツエリアと呼ばれることがある、コンテンツを有することになる投影のエリアと、コンテンツを有することにならない投影のエリアである空きエリアとを決定することを含み得る。いくつかの実施形態では、空きエリアは、黒または暗いピクセルが投影されるエリアであり得る。暗いピクセルは、黒ピクセルを含み得るが、投影コンテンツの平均強度または投影コンテンツのエッジの平均強度よりも暗いピクセルをも含み得る。いくつかの実施形態では、暗いピクセルは、RGBカラースケールにおいて80%以上暗い色を有するピクセルを含み得る。いくつかの実施形態では、暗いピクセルは、プロジェクタ118によって投影されている光の色に対して暗い色を有するピクセルを含み得る。いくつかの実施形態では、空きエリアは、黒または暗い走査線が投影されるエリアであり得る。さらに、いくつかの実施形態では、暗いピクセルは、プロジェクタ118によって光が投影されないエリアであり得る。たとえば、ピクセルを制御するミラー、レーザー、または他の構成要素が、空きエリア内に暗いピクセルを発生させるためにオフにされ得る。
概して、トリミング126は、ターゲットオブジェクトの形状またはアウトラインに基づいて、投影画像をマスクするために、空きエリアを生成することを含み得る。たとえば、トリミング126は、ターゲットオブジェクトの形状を決定すること、決定された形状に基づいて空きエリアを作成すること、ならびに、決定された形状内にコンテンツが投影されるように、および、決定された形状の外側にコンテンツが実質的に投影されないが、決定された形状の外側に暗いピクセルが投影されるように、投影をマスクすることを含み得る。いくつかの実施形態では、形状は、カメラ116によってキャプチャされたターゲットオブジェクトの画像から、ターゲットオブジェクトのアウトラインを決定することによって、決定され得る。他の実施形態では、形状は、メモリ構成要素108内に記憶されているか、またはシステム100と通信している別のデバイスから受信されていることがある、ターゲットオブジェクトの画像から、ターゲットオブジェクトのアウトラインを決定することによって、決定され得る。いくつかの実施形態では、空きエリアは、決定されたアウトラインよりもわずかに大きいかまたはわずかに小さい、たとえば、1ピクセル大きいかまたは小さいように、自動的に設定され得る。いくつかの実施形態では、形状は、オブジェクト認識122によって決定され得、ここにおいて、ターゲットオブジェクトは、あらかじめ決定された形状およびアウトラインを有する既知の形状として認識される。いくつかの実施形態では、形状、およびしたがって空きエリアは、製造業者、小売業者、またはコンテンツプロバイダなどのサードパーティによって、ターゲットオブジェクト上に特定のマスクされたコンテンツを投影する目的で設定され得る。
トリミング126はまた、ターゲットオブジェクトまでの距離に基づいて、投影をスケーリングすることを含み得る。前に説明したように、カメラ116は、あらかじめ決定されたロケーションにおいて、および適切な焦点において投影を維持するために、追跡124によって使用され得る深度マップを作成することが可能であり得る、深度カメラであり得るか、またはそれを含み得る。トリミング126はまた、ターゲットオブジェクト上で所望のサイズまたは解像度を有するように、投影をスケーリングするためのスケーリングファクタを決定するための深度マップを使用することができる。さらに、トリミング126は、深度マップ内の背景から投影ターゲットをセグメント化することによって、深度マップを使用して、投影ターゲットの形状を決定することができる。いくつかの実施形態では、トリミング126は、ユーザが最大解像度で投影を見ることを可能にするために、ターゲットオブジェクト上で、最大解像度などの解像度を有するように、投影をスケーリングする。トリミング126は、コンテンツエリア内で最大解像度を有するように、すなわち、投影コンテンツが空きエリア内に著しくあふれないように、投影をさらにスケーリングすることができる。したがって、いくつかの実施形態では、トリミング126は、投影ターゲットの形状を決定すること、決定された形状に基づいて、投影するためのコンテンツエリアと空きエリアとを決定すること、投影ターゲットまでの距離を決定すること、および、決定された距離と決定されたコンテンツエリアとに基づいて、スケーリングファクタを決定することを含み得る。コンテンツの決定されたコンテンツエリア、および空きエリア、ならびに決定されたスケーリングファクタが、次いで投影生成120によって、スケーリングファクタによって決定された解像度で投影ターゲットの範囲内に投影するためのトリミングされたコンテンツを生成するために使用され得る。いくつかの実施形態では、スケーリングファクタは、ユーザ選好または設定に基づいて調整され得る。たとえば、ユーザは、設定されたスケーリングファクタによって決定される、あらかじめ決定された解像度で投影するためのトリミングされたコンテンツを生成するために、投影生成120によって使用されることになる、特定のスケーリングファクタを設定することができる。
いくつかの実施形態では、オブジェクト認識122、追跡124、およびトリミング126は、プロジェクタ118によって投影されるコンテンツを精緻化するために、処理システム100内で使用され得る。たとえば、カメラ116は、プロジェクタ118によって投影されるコンテンツならびに投影ターゲットの1つまたは複数の画像をキャプチャすることが可能であり得る。オブジェクト認識122、追跡124、およびトリミング126は、投影コンテンツのスケールと、投影コンテンツの焦点と、決定されたコンテンツエリアおよび空きエリアの境界とを決定して、投影コンテンツのこれらの特徴を精緻化するために、キャプチャされた1つまたは複数の画像において実行され得る。精緻化された特徴に関係する情報は、これらの精緻化された特徴を有するコンテンツがプロジェクタ118によって投影され得るように、投影生成120に提供され得る。この精緻化決定は、投影コンテンツのフレームレートに関係するあらかじめ決定されたレートで実行され得るか、または可変レートで実行され得る。たとえば、処理システム100は、各精緻化決定後の精緻化の程度を決定することができ、その程度がより小さくなるにつれて、精緻化の頻度が低減され得る。別の例として、オブジェクト認識122および/または追跡124が、投影ターゲットのサイズもしくはロケーションにおける著しい変化、または、システム100の位置における著しい変化を決定するとき、精緻化の頻度が増加され得る。
ジェスチャ検出128は、カメラ116および/またはセンサ114によってキャプチャされた一連の画像または他の情報を処理して、カメラ116および/またはセンサ114によってキャプチャされたデータの統計量における急激な変化を検出することによって、ジェスチャを検出することを含み得る。統計量は、ヒストグラム、平均輝度、輝度の分散などであり得、ジェスチャ検出128は、現在の統計量を従来の統計量と比較することを含み得、ここにおいて、従来の統計量は、現在キャプチャされた、センサ114からのデータまたはカメラ116からの画像の直前の時間に獲得された、1つまたは複数のキャプチャされたデータのセットの統計量の組合せとして計算され得る。いくつかの実施形態では、ジェスチャ検出128は、絶対差、統計量のセットの各々の絶対差の和、またはヒストグラムの各ビンの絶対差の和を計算することによって、統計量を比較することを含み得、その結果は、周辺照明またはデバイスの動きから生じた差を除外するために、しきい値と比較され得る。しきい値よりも大きい差は、ジェスチャを示す、統計量における急激な変化として分類され得る。ジェスチャ検出128はまた、超音波を使用して、経時的に動きを検出することもできる。
いくつかの実施形態では、ジェスチャ検出128は、プロジェクタ118によって投影を開始するためのジェスチャを検出することを含み得る。ジェスチャ検出128は、ターゲットオブジェクトの範囲内に投影されるようにコンテンツをトリミング126するためのジェスチャを検出することを含み得る。いくつかの実施形態では、ターゲットオブジェクトの範囲内に投影されるようにコンテンツをトリミング126することは、システム100に関連付けられたプライベートモードの一部として実施され得る。ジェスチャ検出128は、プライベートモードに入り、プライベートモードから出るための、1つまたは複数のジェスチャを検出することができる。ジェスチャ検出によって検出される例示的なジェスチャは、カバージェスチャを含み得、カバージェスチャは、システム100の上の位置において検出される手または他の制御オブジェクトであり得る。検出され得る別のジェスチャは、開いた手または閉じた手である。別のジェスチャは、閉じた手が離れ、次いで開く、「スローイングモーション」のジェスチャであり得る。検出され得る他のジェスチャは、手を傾けること、またはシステム100の上から手を外すことを含み得る。ジェスチャの各々が検出され得、ジェスチャ検出128は、特定のコマンドを検出されたジェスチャの各々に関連付けることができる。たとえば、カバージェスチャは、投影を開始することができ、開いた手は、プライベートモードに入るか、またはさもなければ、投影コンテンツをトリミング126するための指示を提供することができ、スローイングモーションは、プライベートモードから離れるか、またはさもなければ、投影コンテンツがもはやターゲットオブジェクトの境界に制限されないことを示すことができる。これらのジェスチャおよびそれらの関連付けられたアクションは、単なる例である。実際には、ジェスチャ検出128は、キャプチャされたデータに基づいてジェスチャを検出し、コマンドまたはアクションを検出されたジェスチャに関連付けることが可能であり得る。
処理システム100は、いくつかの実施形態によれば、図1に示すよりも多くの、または少ない構成要素を含み得る。その上、図1に示す構成要素は、図1における1つまたは複数の他の構成要素に直接結合される場合があり、システムバス104の必要がなくなる。さらに、図1に示す構成要素は、単一システム100の一部であるものとして示され得るが、構成要素が分離しているが、結合されて通信しているシステムの一部でもあり得る。一般に、図1に示す構成要素は、本明細書で開示する実施形態を実行することが可能な処理システム100における構成要素の例として示されている。ただし、処理システム100は、より多くの、またはより少ない構成要素を有してもなお、本明細書で開示するいくつかの実施形態を実行することが可能であり得る。
図2A〜図2Dは、いくつかの実施形態に一致する、ターゲットオブジェクト上のエリアの範囲内に適合するように、コンテンツをトリミングする一例を示す。例示の目的で、図2A〜図2Dには処理システム100の一部分のみを示すが、図1に示す処理システム100の他の構成要素への参照が行われ得る。図2Aに示すように、ターゲットオブジェクト200は、ターゲットオブジェクト200上にエリア202を含む。カメラ116は、オブジェクト200およびエリア202の1つまたは複数の画像をキャプチャすることができ、それらの画像は、投影生成120、オブジェクト認識122、追跡124、およびトリミング126のために処理され得る。いくつかの実施形態では、その内容全体が参照により本明細書に組み込まれる、2013年9月26日に出願された同時係属の米国出願第14/038,480号、Qualcomm Ref. No. 131009において開示されているように、キャプチャフレームが画像キャプチャの時間にオブジェクト200上に投影され得る。
1つまたは複数のキャプチャされた画像におけるオブジェクト認識122は、オブジェクト200および/またはエリア202を認識することを試みることを含み得る。いくつかの実施形態では、オブジェクト認識122は、認識されたオブジェクトに基づいて、投影するためのコンテンツを取り出し、および/または生成することを含み得る。いくつかの実施形態では、オブジェクト認識122はまた、認識されたオブジェクトに関連付けられた情報に基づいて、オブジェクト200上のエリア202をコンテンツエリアとして指定することを含み得る。たとえば、オブジェクト200の製造業者、小売業者、または製作者は、オブジェクト認識を通して決定され得る、エリア202内に投影するためのコンテンツを具体的に指定することができる。
追跡124は、オブジェクト200およびエリア202についてのポーズ、位置、6つの自由度(DOF)、および他の情報を決定することを含み得る。いくつかの実施形態では、カメラ116は、オブジェクト200までの距離d1と、エリア202までの距離d2とを含む、オブジェクト200を含む視野の深度マップを決定するために使用され得る、深度カメラであり得るか、またはそれを含み得る。深度マップ、ならびに距離d1およびd2は、オブジェクト200およびエリア202の追跡124、トリミング126のために、ならびに、オブジェクト200および/またはエリア202上に投影されたコンテンツの焦点を合わせるために使用され得る。
いくつかの実施形態では、エリア202など、オブジェクト200の一部分が、コンテンツエリアとして指定され得る。エリア202は、サードパーティによってコンテンツエリアとして指定され得、オブジェクト認識122がオブジェクト200を認識し、前に説明したように、エリア202をコンテンツエリアとして指定することを含む、オブジェクト200についての情報を決定するようになる。いくつかの実施形態では、システム100のユーザは、エリア202など、オブジェクト200の一部分をコンテンツエリアとして手動で指定することが可能であり得る。いくつかの実施形態では、この指定は、入力およびナビゲーション構成要素112を使用して、ディスプレイ構成要素110上に表示されたエリアを選択することによって行われ得る。次いで、トリミング126は、エリア202の範囲内になるように投影されるように、コンテンツをトリミングすることを含み得る。
たとえば、トリミング126は、決定された形状の範囲内にコンテンツが投影され得るが、決定された形状の範囲の外側にコンテンツが投影されないように、1つまたは複数の画像に基づいて、エリア202の形状を決定すること、ならびに、決定された形状およびアウトラインに基づいて、コンテンツエリアと空きエリアとを決定することを含み得る。いくつかの実施形態では、形状を決定することは、オブジェクト200およびエリア202の1つまたは複数の画像から、エリア202のアウトラインを決定することを含み得る。いくつかの実施形態では、形状およびアウトラインは、オブジェクト認識122に基づいて決定され得、ここにおいて、ターゲットオブジェクトは、あらかじめ決定された形状およびアウトラインを有する既知の形状として認識される。トリミング126はまた、オブジェクト200およびエリア202までの距離d1およびd2に基づいて、スケーリングファクタを決定することを含み得る。
決定されたコンテンツエリアおよび空きエリア、ならびに決定されたスケーリングファクタが、次いで投影生成120によって、スケーリングファクタによって決定された解像度でエリア202の範囲内に投影するためのトリミングされたコンテンツを生成するために使用され得る。図2Bは、エリア202の範囲外の空きエリア204を示す。いくつかの実施形態では、空きエリア204は仮想マスクエリアであり得、そこで、黒または暗いピクセルが、エリア202の範囲外でオブジェクト200上に、およびその周りに投影される。いくつかの実施形態では、空きエリア204は、走査投影中に投影される黒または暗い走査線であり得る。他の実施形態では、空きエリア204は、プロジェクタが、たとえば、空きエリア204内のピクセルをオフにすることによって、いかなるピクセルをも投影しないように構成される、エリアであり得る。
図2Cは、プロジェクタ118が画像206を投影することを示す。いくつかの実施形態に従って、画像206は、スケーリングファクタによって決定された解像度で、エリア202の範囲内に適合するように設計された寸法を有し得る。図2Dは、プロジェクタ118がオブジェクト200のエリア202上に画像206を投影し、空きエリア204がエリア202を囲むことを示す。例示のために、図2Dにおけるプロジェクタ118は、オブジェクト200と同じ寸法を有するエリアを投影すると仮定される。しかしながら、プロジェクタ118が、オブジェクト200の範囲を超えるエリアを投影する場合、空きエリア204は、エリア202の外側のエリアの範囲を満たすことができる。いくつかの実施形態では、カメラ116は、投影画像206と空きエリア204とを含む、1つまたは複数の画像をキャプチャし続けることができる。追跡124は、カメラ116によってキャプチャされたか、またはさもなければシステム100に提供された、オブジェクト200、投影画像206、および空きエリア204の画像に基づいて、投影画像206と空きエリア204とを調整することを含み得る。
図2A〜図2Dに示すように、ユーザは、エリア202などのあらかじめ決定されたエリア内に、画像206などのコンテンツを投影することが可能であり得る。たとえば、システム100のディスプレイ構成要素110上で利用可能であるよりも大きい表面エリア上で画像206を見ることを望むユーザは、見るためにオブジェクト200上のエリア202上に画像206を投影することが可能であり得る。ユーザは、エリア202をコンテンツエリアとして指定することができ、トリミング126は、最大解像度であり得るあらかじめ決定された解像度でエリア202上に画像206が投影され得るように、画像206および空きエリア204のエリア、ならびにスケーリングファクタを決定することが可能であり、したがって、ユーザがより大きいエリア202上で画像206を見ることを可能にすることができる。その上、ユーザは、投影画像206がエリア202の範囲を超えて拡張すること、または、オブジェクト200の後ろまたはその周りの表面上にあふれ出すことについて心配する必要がなくなり、その理由は、トリミング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の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成120、オブジェクト認識122、追跡124、およびトリミング126のために使用され得る。いくつかの実施形態では、オブジェクト300の画像は、システム100に提供され得るか、または、システム100のメモリ構成要素108内に記憶されていることがある。オブジェクト認識122は、オブジェクト300上に投影するための、画像302などのコンテンツを決定することができる。いくつかの実施形態では、システム100のユーザは、オブジェクト300上に投影するための画像302を指定することができる。その上、オブジェクト認識122は、オブジェクト300をコンテンツエリアとして指定することができる。たとえば、画像302が平面上に表示するために設計される場合、オブジェクト認識122は、システム100に最も近い平面を決定し、その表面をコンテンツエリアとして指定することを試みることができる。別の例として、画像302が、投影するためのビデオ内の多数の画像のうちの1つである場合、オブジェクト認識122は、ビデオを表示するために好適な表面を決定することを試みることができる。たとえば、オブジェクト認識122は、ビデオを表示するために、平らな矩形の表面、および/または静止した表面の位置を特定すること、ならびに、視野内のそのような表面をコンテンツエリアとして指定することを試みることができる。
トリミング126は、オブジェクト300の形状と、オブジェクト300の形状および/またはアウトラインと、オブジェクトまでの距離とを決定し、空きエリア304と、画像302を投影するためのコンテンツエリアとを決定することができる。図3Bに示すように、プロジェクタ118は、画像302がオブジェクト300の範囲内に投影され、空きエリア304がオブジェクト300の範囲外に投影されるように、画像302と空きエリア304とをオブジェクト300上に投影することができる。いくつかの実施形態では、空きエリア304は、投影された黒もしくは暗いピクセル、または、それらのピクセルにおいてプロジェクタ118によってコンテンツが投影されないように、プロジェクタ118によってオフにされたピクセルを含む、仮想光マスクに対応し得る。いくつかの実施形態では、画像302は、オブジェクト300を拡張して、拡張現実を作成するための画像であり得る。他の実施形態では、画像302は、システム100のユーザが、たとえば、システム100のディスプレイ構成要素上ではなく、オブジェクト300上で見るために、オブジェクト300上で投影することを望む画像または他のコンテンツであり得る。
図4Aおよび図4Bは、いくつかの実施形態に一致する、オブジェクト402の範囲外に適合するようにコンテンツをトリミングする一例を示す。図4Aおよび図4Bに示す例は、「逆トリミング」であると呼ばれることがあり、ここにおいて、コンテンツはオブジェクト402の外側に投影され、オブジェクト402は、空きエリア406をオブジェクト402上に投影することによってマスクされる。図4Aに示すように、カメラ116は、オブジェクト402の周囲のエリア400を有するオブジェクト402の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成120、オブジェクト認識122、追跡124、およびトリミング126のために使用され得る。いくつかの実施形態では、エリア400およびオブジェクト402の画像は、システム100によって受信され得るか、またはメモリ構成要素108内に記憶され得る。オブジェクト認識122は、オブジェクト402の周りのエリア400上に投影するための、画像404などのコンテンツを決定することができる。いくつかの実施形態では、システム100のユーザは、オブジェクト402の周りのエリア400上に投影するための画像404を指定することができる。トリミング126は、オブジェクト402の形状と、オブジェクト402のアウトラインと、オブジェクト402およびエリア400までの距離とを決定し、空きエリア406と、画像404をオブジェクト402の周りのエリア400上に投影するためのコンテンツエリアとを決定することができる。図4Bに示すように、プロジェクタ118は、画像404がオブジェクト402の範囲外に投影され、空きエリア406がオブジェクト402上に生成されるように、画像404をエリア400上に投影することができ、空きエリア406がオブジェクト402上に生成され得る。
図4Aおよび図4Bに示すように、空きエリア406を生成して、オブジェクト402をマスクし、画像404などのコンテンツをオブジェクト402の周りに投影することは、オブジェクト402を覆い隠すことなく、またはオブジェクト402と対話するように見えるコンテンツを投影することなく、オブジェクト402についての情報をオブジェクト402の周りに投影するために有用であり得る。たとえば、画像404は、オブジェクト402を使用、操作、または維持するための命令を含み得、オブジェクト402の周りに投影され得るが、空きエリア406は、オブジェクト402をマスクして、オブジェクト402が画像404によって覆い隠されることを防止する。別の例では、画像404は、オブジェクト402を参照すること、またはオブジェクト402の吹き出しを示すことなど、オブジェクト402と対話することができるが、空きエリア406は、オブジェクト402をマスクして、オブジェクト402が画像404によって覆い隠されることを防止する。
図5Aおよび図5Bは、いくつかの実施形態に一致する、コンテンツをトリミングする一例を示す。具体的には、図5Aおよび図5Bに示す例は、オブジェクト502上のエリア500の範囲内に適合するように、コンテンツをトリミングする一例を示す。図5Aに示すように、カメラ116は、エリア500を有するオブジェクト502の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成120、オブジェクト認識122、追跡124、およびトリミング126のために使用され得る。いくつかの実施形態では、エリア500およびオブジェクト502の画像は、システム100によって受信され得るか、またはメモリ構成要素108内に記憶され得る。いくつかの実施形態では、オブジェクト認識122は、オブジェクト502のエリア500上に投影するための、画像504などのコンテンツを決定することができる。いくつかの実施形態では、システム100のユーザは、オブジェクト502のエリア500上に投影するための画像504を指定することができる。たとえば、オブジェクト認識122は、オブジェクト502を、空の空間のエリア500を有するとして認識し、エリア500を、その上に画像504が投影され得るコンテンツエリアとして指定することができる。代替的に、オブジェクト認識122は、オブジェクト502を認識し、オブジェクト502に関連付けられたあらかじめ決定された命令に基づいて、エリア500を、その上に画像504が投影され得るコンテンツエリアとして指定することができる。たとえば、画像504は、使用するための命令、またはエリア500上に投影するために合わせられるオブジェクト502についての情報など、オブジェクト502に関連付けられたコンテンツであり得る。
次いで、トリミング126は、エリア500の形状と、エリア500のアウトラインと、オブジェクト502およびエリア500までの距離とを決定し、空きエリア506を決定することができる。図5Bに示すように、プロジェクタ118は、画像504をオブジェクト502のエリア500上に投影し、画像504がエリア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は、1つまたは複数のアラート、メッセージ、または他のコンテンツを生成することができる。システム100のユーザは、生成された1つまたは複数のアラート、メッセージ、または他のコンテンツに関連付けられたコンテンツを投影することを望むことがあるが、コンテンツをプライベートに保つことを望むことがある。たとえば、システム100のユーザが、電子メール、インスタントメッセージ、またはショートメッセージングサービス(SMS)を介して、個人情報を含むメッセージを受信する場合、ユーザは、個人情報が他者に見られることを望まないことがある。したがって、ユーザは、投影コンテンツがオブジェクトを超えた表面上にあふれることなく、ユーザが好適な解像度でコンテンツを投影することを可能にするオブジェクト上に投影されるように、コンテンツをトリミングすることを望むことがある。したがって、本明細書に示すような実施形態は、ユーザが自分の手などのオブジェクト上にコンテンツを投影することを可能にすることができるが、投影コンテンツをプライベートに、およびユーザの周りの他者の邪魔にならないように保つために、空きエリアがオブジェクトの外側に生成される。
図6Aに示すように、カメラ116は、手600の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成120、オブジェクト認識122、追跡124、およびトリミング126のために使用され得る。いくつかの実施形態では、手600の画像は、システム100によって受信され得るか、またはメモリ構成要素108内に記憶され得る。トリミング126は、手600の形状と、手600のアウトラインと、手600までの距離とを決定し、空きエリアと、手600上に投影するためのコンテンツエリアとを決定することができる。図6Bに示すように、プロジェクタ118は、メッセージ602が手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よりもシステムに近く、より小さいものであり得るが、本開示に一致する実施形態は、そのように限定しないことがある。プロジェクタ118は、画像704を第2のオブジェクト702上に投影中であり得る。いくつかの実施形態では、画像704は、投影生成120によって生成され、オブジェクト認識122によって決定されたコンテンツの一部であり得、追跡124によって決定された第2のオブジェクト702上のロケーションにおいて投影され得る。システム100のユーザが、画像704を第1のオブジェクト700上に投影することを望むとき、ユーザは、ジェスチャを行うことができ、そのジェスチャは、カメラ116および/またはセンサ114によって検出され得、ジェスチャ検出128によって、画像704を第1のオブジェクト700上に投影するなどのアクションにそのジェスチャを相関させるために処理され得る。検出されたジェスチャは、閉モードまたはプライベートモードを示す、閉じた手などのジェスチャであり得る。ジェスチャ検出128は、このジェスチャを、異なるターゲット上に投影するか、もしくはプライベートモードに切り替えるためのコマンド、または、投影ターゲットを切り替えることを示す他のアクションに相関させることができる。
図7Bに示すように、カメラ116は、トリミング126によって、画像704をスケーリングするためにスケーリングファクタを決定するため、および、コンテンツエリアと空きエリアとを決定するために使用され得る、第1のオブジェクト700の画像をキャプチャすることができる。図7Cに示すように、スケーリングファクタ、決定されたコンテンツエリアおよび空きエリアは、投影生成120によって、決定されたコンテンツエリア内に、スケーリングファクタによって決定された解像度で画像704を投影するために使用され得、空きエリア706は、コンテンツエリアの外側のエリアをマスクするために生成される。いくつかの実施形態では、第1のオブジェクト700は、システム100のユーザにより近いものであり得、したがって、ユーザにとって、画像704を見るためにより好都合であり得る。第1のオブジェクト700はまた、システム100のユーザにより多くのプライバシーを提供し、ユーザの周りの他者が、画像704がオブジェクト700上に投影されるときに画像704を見ることができないようにすることもできる。
いくつかの実施形態では、第1のオブジェクト700はまた、オブジェクト認識122に基づいて、その上に画像704を投影するために好適であるとして決定され得る。たとえば、投影ターゲットを切り替えるためのジェスチャに応答して、オブジェクト認識122は、カメラ116によってキャプチャされた1つまたは複数の画像を処理して、システム100までの距離、サイズ、寸法などのファクタに基づいて、投影ターゲットのための好適なオブジェクトを見つけることができる。次いで、トリミング126は、オブジェクト認識122によって認識された第1のオブジェクト700に基づいて、スケーリングファクタと、コンテンツエリアと、空きエリア706とを決定することができる。
システム100のユーザが、投影ターゲットを第1のオブジェクト700から切り替えることを望むとき、ユーザは、別のジェスチャを行うことができる。たとえば、ユーザは、自分の手を開いてパブリックモードもしくは開モードを示す、または、第2のオブジェクト702(もしくは、他の所望のターゲットオブジェクト)に向かってスローイングモーションを行う、ジェスチャを行うことができる。カメラ116および/またはセンサ114は、ジェスチャ検出128によって、投影ターゲットを切り替えるなどのアクションに相関され得る、このジェスチャを検出することができる。図7Dに示すように、次いで、プロジェクタ118は、画像704を第2のオブジェクト702上に再度投影することができる。いくつかの実施形態では、画像704が、プロジェクタ118の仕様、および、第2のオブジェクト702とプロジェクタ118との間の距離に基づいて投影されるように、画像704は、トリミング126なしに、すなわち、空きエリアなしまたはマスクなしに、第2のオブジェクト702上に投影され得る。いくつかの実施形態では、トリミング126は、第2のオブジェクト702を含む1つまたは複数の画像に基づいて、スケーリングファクタと、コンテンツエリアと、空きエリア706とを決定することができる。いくつかの実施形態では、以前に画像704を第2のオブジェクト702上に投影するために決定されたいかなるスケーリングファクタ、コンテンツエリア、および空きエリアも、投影生成120によって、画像704を第2のオブジェクト702上に投影するために保存され、取り出され得る。
図8Aおよび図8Bは、いくつかの実施形態に一致する、複数のオブジェクト上に適合するようにコンテンツをトリミングする一例を示す。具体的には、図8Aおよび図8Bに示す例は、第1のオブジェクト800および第2のオブジェクト802上に表示されるように、単一の画像をトリミングする一例を示す。図8Aに示すように、カメラ116は、第1のオブジェクト800および第2のオブジェクト802の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成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のオブジェクト800および第2のオブジェクト802を、それぞれ、第1の画像部分804および第2の画像部分806のためのコンテンツエリアとして認識および決定することができる。たとえば、第1の画像部分804および第2の画像部分806によって形成される画像が、第1のオブジェクト800または第2のオブジェクト802のうちの1つのみにおいて適切に表示するためには大きすぎる場合、オブジェクト認識122は、第1のオブジェクト800または第2のオブジェクト802のうちの第2のオブジェクトを決定し、第1のオブジェクト800および第2のオブジェクト802上にそれぞれ投影された第1の画像部分804および第2の画像部分806として、画像がよりよく表示されると決定し、第1のオブジェクト800および第2のオブジェクト802の面または側面を、コンテンツエリアとして指定することを試みることができる。
トリミング126は、第1のオブジェクト800および第2のオブジェクト802の形状と、第1のオブジェクト800および第2のオブジェクト802の形状および/またはアウトラインと、第1のオブジェクト800および第2のオブジェクト802までの距離とを決定し、空きエリア808と、第1の画像部分804および第2の画像部分806を投影するためのコンテンツエリアとを決定することができる。図8Bに示すように、プロジェクタ118は、第1の画像部分804を第1のオブジェクト800上に、第2の画像部分806を第2のオブジェクト802上に投影することができる。プロジェクタ118はまた、第1の画像部分804および第2の画像部分806によって形成された画像が、第1のオブジェクト800および第2のオブジェクト802上のみに投影されるように、空きエリア808を、第1のオブジェクト800および第2のオブジェクト802の周りに、ならびに第1のオブジェクト800と第2のオブジェクト802との間に投影することもできる。いくつかの実施形態では、空きエリア808は、投影された黒もしくは暗いピクセル、または、それらのピクセルにおいてプロジェクタ118によってコンテンツもしくは光が投影されないように、プロジェクタ118によってオフにされたピクセルを含む、仮想光マスクに対応し得る。
図9Aおよび図9Bは、いくつかの実施形態に一致する、オブジェクトの複数の部分上に適合するようにコンテンツをトリミングする一例を示す。具体的には、図9Aおよび図9Bに示す例は、第1のエリア900および第2のエリア902上に表示されるように、単一の画像をトリミングする一例を示す。図9Aに示すように、カメラ116は、第1のエリア900および第2のエリア902の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成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のエリア900および第2のエリア902を、それぞれ、第1の画像部分904および第2の画像部分906のためのコンテンツエリアとして決定することができる。
トリミング126は、第1のエリア900および第2のエリア902の形状と、第1のエリア900および第2のエリア902の形状および/またはアウトラインと、第1のエリア900および第2のエリア902までの距離とを決定し、空きエリア908と、第1の画像部分904および第2の画像部分906を投影するためのコンテンツエリアとを決定することができる。図9Bに示すように、プロジェクタ118は、第1の画像部分904を第1のエリア900上に、第2の画像部分906を第2のエリア902上に投影することができる。プロジェクタ118はまた、第1の画像部分904および第2の画像部分906によって形成された画像が、第1のエリア900および第2のエリア902上のみに投影されるように、空きエリア908を、第1のエリア900および第2のエリア902の周りに投影することもできる。いくつかの実施形態では、空きエリア908は、投影された黒もしくは暗いピクセル、または、それらのピクセルにおいてプロジェクタ118によってコンテンツもしくは光が投影されないように、プロジェクタ118によってオフにされたピクセルを含む、仮想光マスクに対応し得る。
図10Aおよび図10Bは、いくつかの実施形態に一致する、複数のオブジェクト上に適合するように、複数の画像を有するコンテンツをトリミングする一例を示す。具体的には、図10Aおよび図10Bに示す例は、第1のオブジェクト1000上に表示されるように第1の画像1004をトリミングし、第2のオブジェクト1002上に表示されるように第2の画像1006をトリミングする一例を示す。図10Aに示すように、カメラ116は、第1のオブジェクト1000および第2のオブジェクト1002の1つまたは複数の画像をキャプチャすることができる。次いで、1つまたは複数のキャプチャされた画像は、投影生成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のオブジェクト1000および第2のオブジェクト1002を、それぞれ、第1の画像1004および第2の画像1006のためのコンテンツエリアとして認識および決定することができる。
トリミング126は、第1のオブジェクト1000および第2のオブジェクト1002の形状と、第1のオブジェクト1000および第2のオブジェクト1002の形状および/またはアウトラインと、第1のオブジェクト1000および第2のオブジェクト1002までの距離とを決定し、空きエリア1008と、第1の画像1004および第2の画像1006を投影するためのコンテンツエリアとを決定することができる。図10Bに示すように、プロジェクタ118は、第1の画像1004を第1のオブジェクト1000上に、第2の画像1006を第2のオブジェクト1002上に投影することができる。プロジェクタ118はまた、第1の画像1004および第2の画像1006が、第1のオブジェクト1000および第2のオブジェクト1002上のみにそれぞれ投影されるように、空きエリア1008を、第1のオブジェクト1000および第2のオブジェクト1002の周りに、ならびに第1のオブジェクト1000と第2のオブジェクト1002との間に投影することもできる。いくつかの実施形態では、空きエリア1008は、投影された黒もしくは暗いピクセル、または、それらのピクセルにおいてプロジェクタ118によってコンテンツもしくは光が投影されないように、プロジェクタ118によってオフにされたピクセルを含む、仮想光マスクに対応し得る。したがって、トリミング126は、投影生成120が、ユーザにとって2つのオブジェクト上の2つの個別の画像として見える、プロジェクタ118によって投影するための第1の画像1004と、第2の画像1006と、空きエリア1008とを含む、単一の投影を生成することを可能にすることができる。
いくつかの実施形態では、追跡124が、第1のオブジェクト1000上の第1の画像1004の投影と、第2のオブジェクト1002上の第2の画像1006の投影とを維持することができるように、経時的な第1のオブジェクト1000および第2のオブジェクト1002の動きが、カメラ116またはエリアの他の場所から、第1のオブジェクト1000と第2のオブジェクト1002とを含む画像を受信することによって決定され得る。追跡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は、1つまたは複数のプロセッサによって実行するためのコンピュータ可読命令において具現化され得、いくつかの実施形態では、システム100のオペレーティングシステムによって実施され得、オペレーティングシステムにおいてバックグラウンドサービスとして実施され得る。図11に示すように、プロセス1100は、投影ターゲットを決定すること(1102)によって開始する。いくつかの実施形態では、投影ターゲットは、ユーザ入力に基づいて決定され得る。たとえば、ユーザは、入力およびナビゲーション構成要素112を使用して、ターゲットを選択することによって、ディスプレイ構成要素110上に表示されたターゲットを指定することができる。いくつかの実施形態では、投影ターゲットは、オブジェクト認識122を使用して決定され得る。たとえば、オブジェクト認識122は、ターゲットの形状もしくはサイズ、またはターゲットの表面のタイプに基づいて、好適な投影ターゲットを決定することを含み得る。オブジェクト認識122はまた、コンテンツプロバイダ、小売業者、または製造業者によって設定されるような、ターゲットに関連付けられた、あらかじめ決定された情報に基づいて、投影ターゲットを決定することを含み得る。
投影ターゲットが決定されると、投影ターゲットの1つまたは複数の範囲が決定され得る(1104)。いくつかの実施形態では、投影ターゲットの1つまたは複数の範囲は、カメラ116によって投影ターゲットの1つまたは複数の画像をキャプチャすること、投影ターゲットの画像を受信すること、またはメモリ構成要素108から投影ターゲットの画像を取り出すことによって決定され得る。次いで、投影ターゲットの1つまたは複数の特性が、キャプチャされた1つまたは複数の画像に基づいて決定され得る。たとえば、トリミング126は、投影ターゲットの形状およびアウトラインを1つまたは複数の画像から、ならびに、投影ターゲットまでの距離を決定することができる。いくつかの実施形態では、カメラ116は、深度カメラであり得るか、またはそれを含み得、投影ターゲットまでの距離を決定するために使用され得る深度マップを決定することができる。その上、深度マップは、深度マップ内の背景から投影ターゲットをセグメント化することによって、投影ターゲットの形状を決定するために使用され得る。
投影ターゲットの1つまたは複数の範囲に基づいて、プロセス1100は、コンテンツエリアと空きエリアとを決定すること(1106)ができる。いくつかの実施形態では、コンテンツエリアは、投影ターゲット内のエリアを含み得、空きエリアは、投影ターゲットの外側のエリアを含み得る。たとえば、投影ターゲットの1つまたは複数の範囲を決定することが、投影ターゲットのアウトラインを決定することを含むとき、コンテンツエリアと空きエリアとを決定することは、投影ターゲットのアウトライン内のエリアをコンテンツエリアとして、および、投影ターゲットの外側のエリアを空きエリアとして決定することを含み得る。
次いで、プロセス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は、1つまたは複数のプロセッサによって実行するためのコンピュータ可読命令において具現化され得、いくつかの実施形態では、システム100のオペレーティングシステムによって実施され得、オペレーティングシステムにおいてバックグラウンドサービスとして実施され得る。図12に示すように、プロセス1200は、視野内のオブジェクトを認識すること(1202)によって開始する。たとえば、図3Aに示すように、カメラ116は、オブジェクト300の1つまたは複数の画像をキャプチャすることができる。いくつかの実施形態では、オブジェクトの画像は、システム100によって受信され得るか、またはさもなければ、メモリ構成要素108内に記憶され得る。次いで、オブジェクト認識122は、画像内のオブジェクト300の特徴に基づいて、オブジェクト300を認識することを含み得る。次いで、認識されたオブジェクト上に投影するための画像が、決定され得る(1204)。いくつかの実施形態では、オブジェクト認識122は、認識されたオブジェクトに関連付けられた情報に基づいて、そのオブジェクト上に投影するための、画像などのコンテンツを決定することを含み得る。再び図3Aを参照すると、オブジェクト300は、その上の画像302の投影から利益を得ることができる、いくつかの特徴または特性を有し得る。たとえば、オブジェクト300は製品であり得、画像302は、その製品に関連付けられた画像、またはその製品についての情報であり得る。オブジェクト認識122は、システム内でローカルに記憶された情報、またはネットワークを介して決定された情報に基づいて、画像302を決定することを含み得る。情報は、ユーザによって提供され得るか、または、小売業者、製造業者、もしくはコンテンツプロバイダなどのサードパーティによって提供され得る。
次いで、プロセス1200は、オブジェクトまでの距離と、オブジェクトの形状とを決定すること(1206)によって継続することができる。たとえば、トリミング126は、オブジェクト300の形状およびアウトラインを1つまたは複数のキャプチャされた画像から、ならびにオブジェクト300までの距離を決定することができる。いくつかの実施形態では、カメラ116は、深度カメラであり得るか、またはそれを含み得、オブジェクト300までの距離を決定するために使用され得る深度マップを決定することができる。その上、深度マップは、深度マップ内の背景から投影ターゲットをセグメント化することによって、オブジェクト300の形状を決定するために使用され得る。
決定された形状およびオブジェクト300までの距離に基づいて、トリミング126は、空きエリアを作成すること(1208)ができる。いくつかの実施形態では、空きエリアは、空きエリア304など、オブジェクトの決定された形状の外側のエリア上に投影されることになる、暗いピクセルを含み得る。空きエリアはまた、プロジェクタ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に示すように、オブジェクトは手であり得、画像はメッセージであり得る。いくつかの実施形態では、オブジェクトは、ノートブック、コンピューティングデバイス、画面、紙、箱、カード、または他のそのようなオブジェクトなど、他のオブジェクトであり得る。その上、画像はまた、写真、ビデオ、ソーシャルネットワーキングポスト、カレンダアラート、ユーザインターフェース要素などを含む、他のコンテンツでもあり得る。
図13は、いくつかの実施形態に一致する、ターゲット上でマスクされたアラートを投影するための方法を示すフローチャートである。例示の目的で、図13について、図6A〜図6Bを参照しながら説明する。図13に示すプロセス1300は、1つまたは複数のプロセッサによって実行するためのコンピュータ可読命令において具現化され得、いくつかの実施形態では、システム100のオペレーティングシステムによって実施され得、オペレーティングシステムにおいてバックグラウンドサービスとして実施され得る。図13に示すように、プロセス1300は、システム100がシステムアラートを生成する(1302)ときに開始する。いくつかの実施形態では、システムアラートは、アラーム、通知、カレンダアラート、および電子メール、インスタントメッセージ、またはショートメッセージングサービスメッセージ(SMS)などの受信メッセージなどを含み得る。たとえば、図6Bに示すように、システムアラートはメッセージ602を含み得る。次いで、プロセス1300は、視野内のターゲットを認識すること(1304)によって継続することができる。たとえば、図6Aに示すように、カメラ116は、手600の1つまたは複数の画像をキャプチャすることができる。次いで、オブジェクト認識122は、1つまたは複数のキャプチャされた画像内で、または、システム100によって受信されたか、もしくはメモリ構成要素108内に記憶された画像内で、キャプチャされた手600の特徴に基づいて、手600を認識することを含み得る。
次いで、プロセス1300は、ターゲットの距離および形状を決定すること(1306)によって継続することができる。たとえば、トリミング126は、手600の形状およびアウトラインを1つまたは複数の画像から、ならびに手600までの距離を決定することを含み得る。いくつかの実施形態では、カメラ116は、深度カメラであり得るか、またはそれを含み得、手600までの距離を決定するために使用され得る深度マップを決定することができる。その上、深度マップは、深度マップ内の背景から投影ターゲットをセグメント化することによって、手600の形状を決定するために使用され得る。
決定された形状および手600までの距離に基づいて、トリミング126は、空きエリアを作成すること(1308)ができる。いくつかの実施形態では、空きエリアは、空きエリア604など、オブジェクトの決定された形状の外側のエリア上に投影されることになる、暗いピクセルを含み得る。いくつかの実施形態では、空きエリアは、プロジェクタ118によって投影されないか、またはさもなければ投影するときにオフにされるピクセルであり得る。次いで、プロセス1300は、空きエリアによってマスクされたターゲット上にアラートを投影すること(1310)によって継続することができる。図6Bに示すように、たとえば、メッセージ602および空きエリア604は、メッセージ602が手600上のみに投影されるように、手600上に投影され得る。次いで、追跡124は、手600などのターゲットを追跡し、追跡に基づいて、空きエリア604を調整すること(1312)ができる。いくつかの実施形態では、追跡124は、センサ114からの情報、および/または、システム100によって受信されたか、メモリ構成要素108内に記憶されたか、もしくはカメラ116によってキャプチャされた画像に基づいて、6つの自由度における手600の位置または向きにおける変化を検出することを含む。プロセス1300は、投影アラートがターゲットを超えた表面またはエリア上に投影されないように、ターゲット上に投影するためのアラートをトリミングすることができる。
図14は、いくつかの実施形態に一致する、検出されたジェスチャに基づいて、ターゲット上でマスクされたコンテンツを投影するための方法を示すフローチャートである。例示の目的で、図14について、図7A〜図7Dを参照しながら説明する。図14に示すプロセス1400は、1つまたは複数のプロセッサによって実行するためのコンピュータ可読命令において具現化され得、いくつかの実施形態では、システム100のオペレーティングシステムによって実施され得、オペレーティングシステムにおいてバックグラウンドサービスとして実施され得る。図14に示すように、プロセス1400は、ジェスチャ検出128が、プライベートモードに入るためのジェスチャを検出する(1402)とき、開始する。いくつかの実施形態では、プライベートモードに入るためのジェスチャは、閉じた手、または、ジェスチャライブラリ内のジェスチャに相関されるとき、プライベートモードに入るためのアクションに対応する他のジェスチャであり得る。次いで、プロセス1400は、視野内のターゲットを認識すること(1404)によって継続することができる。たとえば、図7Bに示すように、カメラ116は、第1のオブジェクト700の1つまたは複数の画像をキャプチャすることができる。いくつかの実施形態では、システム100は、第1のオブジェクト700の画像を受信することができ、またはさもなければ、メモリ構成要素108内に記憶された第1のオブジェクトの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および空きエリア706は、画像704が第1のオブジェクト700上のみに投影され、空きエリア706によってマスクされるように、投影され得る。次いで、ジェスチャ検出は、パブリックモードに入るためのジェスチャを検出すること(1412)ができる。いくつかの実施形態では、パブリックモードに入るためのジェスチャは、開いた手、スローイングモーション、または、検出されるとき、パブリックモードに入るためのアクションに対応するジェスチャライブラリ内のジェスチャに相関される他のジェスチャであり得る。次いで、プロジェクタ118は、空きエリアによってマスクされていないコンテンツを投影すること(1414)ができる。たとえば、トリミング126は、空きエリアを決定しないこと、エリアを有していないか、もしくはゼロのエリアを有する空きエリアを決定することができ、または、第2のオブジェクト702など、より大きいターゲットオブジェクトに基づいて、空きエリアを決定することができる。
本開示によれば、プログラムコードおよび/またはデータなどのソフトウェアは、非一時的機械可読媒体を含む1つまたは複数の機械可読媒体に記憶され得る。本明細書で識別されるソフトウェアが、1つまたは複数の汎用または特定目的のコンピュータおよび/またはコンピュータシステム、ネットワーク化されること、および/またはその他の方式などを使用して実装され得ることも企図されている。適用可能な場合に、本明細書で説明する様々なステップの順序が変更され、合成ステップに結合され、かつ/またはサブステップに分割されて、本明細書で説明する機能を提供することがある。
したがって、本明細書で説明するような実施形態は、投影ターゲットの1つまたは複数の範囲を決定すること、および、決定された1つまたは複数の範囲に基づいて、投影ターゲット上に投影するためのコンテンツをトリミングすることによって、投影を投影ターゲットに適合させるためのシステムおよび方法を提供することができる。さらに、投影ターゲット上で見るためのコンテンツの解像度を最大にするために、本明細書で説明する実施形態は、投影コンテンツが投影ターゲットを超えた表面およびエリア上にあふれることなく、投影ターゲット上に投影するためのあらかじめ決定された解像度に、コンテンツがスケーリングされ得るように、投影ターゲットの外側であるコンテンツのないエリアを決定し、これらのエリア内に、マスクされたピクセルなど、コンテンツのないエリアを投影することができる。上記で提供される例は、例にすぎず、限定的であることは意図されていない。当業者は、本開示の範囲内であることが意図されている、開示された実施形態に一致する他のシステムを容易に考案することができる。したがって、適用形態は以下の特許請求の範囲によってのみ限定される。
100 処理システム、システム
102 ネットワークインターフェース構成要素
104 システムバス、バス
106 処理構成要素
108 メモリ構成要素
110 ディスプレイ構成要素
112 入力およびナビゲーション構成要素
114 センサ
116 カメラ
118 プロジェクタ
120 投影生成
122 オブジェクト認識
124 追跡
126 トリミング
128 ジェスチャ検出
200 ターゲットオブジェクト、オブジェクト
202 エリア、ターゲットエリア
204、304、406、506、604、706、808、908、1008 空きエリア
206 画像、投影画像
300、402、502 オブジェクト
302、404、504、704 画像
400、500 エリア
600 手
602 メッセージ、個人的なメッセージ
700、800、1000 第1のオブジェクト
702、802、1002 第2のオブジェクト
804、904 第1の画像部分
806、906 第2の画像部分
900 第1のエリア
902 第2のエリア
1004 第1の画像
1006 第2の画像

Claims (32)

  1. 投影ターゲットを、前記ターゲットに関連付けられた情報に基づいて、1つまたは複数のフレーム内のオブジェクトを認識するためのオブジェクト認識を使用することによって決定するステップと、
    前記投影ターゲットの1つまたは複数の範囲を決定するステップと、
    1つまたは複数のプロセッサによって、コンテンツが投影されることになるコンテンツエリアと、コンテンツが投影されないことになる空きエリアとを決定するステップであって、前記コンテンツエリアおよび前記空きエリアは、前記1つまたは複数の範囲に基づいて決定され、前記コンテンツエリアはさらに、前記オブジェクトに関連付けられた指定コンテンツエリアに基づいて決定されるステップと、
    前記1つまたは複数のプロセッサによって、前記投影ターゲット上に投影されたコンテンツが前記投影ターゲットの範囲に基づく最大解像度で投影されるように、前記投影ターゲットまでの距離に基づいてスケーリングファクタを決定するステップと、
    前記スケーリングファクタに基づいて、前記コンテンツエリア内に投影するためのコンテンツを生成するステップと、
    前記空きエリアを生成するステップと
    を含む方法。
  2. 前記投影ターゲットの1つまたは複数の範囲を決定するステップが、
    前記投影ターゲットの1つまたは複数の画像を受信するステップと、
    前記1つまたは複数の画像から、前記投影ターゲットの形状を決定するステップと
    を含む、請求項1に記載の方法。
  3. 前記投影ターゲットの前記決定された形状に基づいて、前記投影ターゲットのアウトラインを決定するステップをさらに含む、請求項2に記載の方法。
  4. 前記1つまたは複数の画像に基づいて、前記投影ターゲットを含むエリアの深度マップを決定するステップをさらに含む、請求項2に記載の方法。
  5. スケーリングファクタを決定するステップが、前記決定された深度マップに基づいて、前記投影ターゲットまでの距離を決定するステップを含む、請求項4に記載の方法。
  6. 前記投影ターゲットの形状を決定するステップが、前記決定された深度マップ内の背景から前記投影ターゲットをセグメント化するステップを含む、請求項4に記載の方法。
  7. 前記空きエリアを生成するステップが、前記投影ターゲットの前記決定された形状に基づいて、仮想マスクを作成するステップを含む、請求項2に記載の方法。
  8. プロジェクタによって、前記決定されたコンテンツエリア内で前記投影ターゲット上で前記生成されたコンテンツを投影するステップをさらに含む、請求項1に記載の方法。
  9. プロジェクタによって、前記生成された空きエリアを投影するステップをさらに含む、請求項1に記載の方法。
  10. 前記生成された空きエリアを投影するステップが、暗いピクセルを投影するステップを含む、請求項9に記載の方法。
  11. 前記投影ターゲットを追跡するステップと、
    前記追跡するステップに基づいて、前記決定されたコンテンツエリアと前記決定された空きエリアとを調整するステップと
    をさらに含む、請求項1に記載の方法。
  12. ジェスチャを検出するステップと、
    前記検出されたジェスチャに基づいて、前記空きエリアがエリアを有していないと決定するステップと
    をさらに含む、請求項1に記載の方法。
  13. ジェスチャを検出するステップと、
    前記検出されたジェスチャに基づいて、第2の投影ターゲットを決定するステップと、
    前記第2の投影ターゲットの1つまたは複数の範囲を決定するステップと、
    前記第2の投影ターゲットの前記決定された1つまたは複数の範囲に基づいて、第2のコンテンツエリアと第2の空きエリアとを決定するステップと、
    前記第2の投影ターゲットまでの距離に基づいて、第2のスケーリングファクタを決定するステップと、
    投影デバイスによって、前記決定されたコンテンツエリア内で前記第2の投影ターゲット上にコンテンツを投影するステップと
    をさらに含む、請求項1に記載の方法。
  14. 投影ターゲットの1つまたは複数の投影パラメータに基づいて、コンテンツエリアと空きエリアとを投影するように構成されたプロジェクタであって、前記投影ターゲットは、前記ターゲットに関連付けられた情報に基づいて、1つまたは複数のフレーム内のオブジェクトを認識するためのオブジェクト認識を使用することによって決定され、前記コンテンツエリアはさらに、前記オブジェクトに関連付けられた指定コンテンツエリアに基づいて決定される、プロジェクタと、
    前記投影ターゲットを含む視野の1つまたは複数の画像をキャプチャするように構成されたカメラと、
    前記プロジェクタおよび前記カメラに結合された、1つまたは複数のプロセッサであって、前記1つまたは複数の投影パラメータを決定するように構成された、1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合されたメモリと
    を備え、
    前記1つまたは複数のプロセッサはさらに、前記投影ターゲット上に投影されたコンテンツが前記投影ターゲットの範囲に基づく最大解像度で投影されるように、前記投影ターゲットまでの距離に基づいてスケーリングファクタを決定するように構成される、
    装置。
  15. 前記1つまたは複数のプロセッサが、前記1つまたは複数の画像を処理すること、および、前記投影ターゲットまでの距離と、前記投影ターゲットの形状と、前記投影ターゲットのアウトラインとを決定することによって、前記1つまたは複数の投影パラメータを決定するように構成される、請求項14に記載の装置。
  16. 前記空きエリアが、前記コンテンツエリアの決定されたアウトラインの外側に投影された暗いピクセルを備える、請求項14に記載の装置。
  17. 前記カメラが、デジタルライトプロセッシング(DLP)プロジェクタ、レーザービームステアリング(LBS)プロジェクタ、リキッドクリスタルオンシリコン(LCoS)プロジェクタのうちの少なくとも1つを備える、請求項14に記載の装置。
  18. 前記カメラが、ユーザによって行われたジェスチャをキャプチャするようにさらに構成される、請求項14に記載の装置。
  19. 前記ジェスチャが、プライベートモードとパブリックモードとの間で切り替えるためのジェスチャを含む、請求項18に記載の装置。
  20. 投影ターゲットを、前記ターゲットに関連付けられた情報に基づいて、1つまたは複数のフレーム内のオブジェクトを認識するためのオブジェクト認識を使用することによって決定するための手段と、
    前記投影ターゲットの1つまたは複数の範囲を決定するための手段と、
    前記決定された1つまたは複数の範囲に基づいて、コンテンツが投影されることになるコンテンツエリアと、コンテンツが投影されないことになる空きエリアとを決定するための手段であって、前記コンテンツエリアはさらに、前記オブジェクトに関連付けられた指定コンテンツエリアに基づいて決定される、手段と、
    前記投影ターゲット上に投影されたコンテンツが前記投影ターゲットの範囲に基づく最大解像度で投影されるように、前記投影ターゲットまでの距離に基づいてスケーリングファクタを決定するための手段と、
    前記スケーリングファクタに基づいて、前記コンテンツエリア内に投影するためのコンテンツを生成するための手段と、
    前記空きエリアを生成するための手段と
    を備えるシステム。
  21. 前記投影ターゲットの1つまたは複数の範囲を決定するための前記手段が、
    前記投影ターゲットの1つまたは複数の画像を受信するための手段と、
    前記1つまたは複数の画像から、前記投影ターゲットの形状を決定するための手段と
    を備える、請求項20に記載のシステム。
  22. 前記1つまたは複数の画像に基づいて、前記投影ターゲットを含むエリアの深度マップを決定するための手段をさらに備える、請求項21に記載のシステム。
  23. 前記決定されたコンテンツエリア内で前記投影ターゲット上で前記生成されたコンテンツを投影するための手段をさらに備える、請求項20に記載のシステム。
  24. 前記生成された空きエリアを投影するための手段をさらに備える、請求項20に記載のシステム。
  25. 前記投影ターゲットを追跡するための手段と、
    前記追跡に基づいて、前記決定されたコンテンツエリアと前記決定された空きエリアとを調整するための手段と
    をさらに備える、請求項20に記載のシステム。
  26. ジェスチャを検出するための手段と、
    前記検出されたジェスチャに基づいて、前記空きエリアがエリアを有していないと決定するための手段と
    をさらに備える、請求項20に記載のシステム。
  27. ジェスチャを検出するための手段と、
    前記検出されたジェスチャに基づいて、第2の投影ターゲットを決定するための手段と、
    前記第2の投影ターゲットの1つまたは複数の範囲を決定するための手段と、
    前記第2の投影ターゲットの前記決定された1つまたは複数の範囲に基づいて、第2のコンテンツエリアと第2の空きエリアとを決定するための手段と、
    前記第2の投影ターゲットまでの距離に基づいて、第2のスケーリングファクタを決定するための手段と、
    投影デバイスによって、前記決定されたコンテンツエリア内で前記第2の投影ターゲット上にコンテンツを投影するための手段と
    をさらに備える、請求項20に記載のシステム。
  28. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサを含むシステムに、
    投影ターゲットを、前記ターゲットに関連付けられた情報に基づいて、1つまたは複数のフレーム内のオブジェクトを認識するためのオブジェクト認識を使用することによって決定するステップと、
    前記投影ターゲットの1つまたは複数の範囲を決定するステップと、
    1つまたは複数のプロセッサによって、前記決定された1つまたは複数の範囲に基づいて、コンテンツが投影されることになるコンテンツエリアと、コンテンツが投影されないことになる空きエリアとを決定するステップであって、前記コンテンツエリアはさらに、前記オブジェクトに関連付けられた指定コンテンツエリアに基づいて決定される、ステップと、
    前記1つまたは複数のプロセッサによって、前記投影ターゲット上に投影されたコンテンツが前記投影ターゲットの範囲に基づく最大解像度で投影されるように、前記投影ターゲットまでの距離に基づいてスケーリングファクタを決定するステップと、
    前記スケーリングファクタに基づいて、前記コンテンツエリア内に投影するためのコンテンツを生成するステップと、
    前記空きエリアを生成するステップと
    を含む方法を実行させる命令を含む、非一時的コンピュータ可読記憶媒体。
  29. 前記ターゲットに関連付けられた前記情報が、ユーザによって提供された情報、コンテンツプロバイダによって提供された情報、小売業者によって提供された情報、または製造業者によって提供された情報のうちの少なくとも1つを備える、請求項1に記載の方法。
  30. 前記ターゲットに関連付けられた前記情報が、ユーザによって提供された情報、コンテンツプロバイダによって提供された情報、小売業者によって提供された情報、または製造業者によって提供された情報のうちの少なくとも1つを備える、請求項14に記載の装置。
  31. 前記ターゲットに関連付けられた前記情報が、ユーザによって提供された情報、コンテンツプロバイダによって提供された情報、小売業者によって提供された情報、または製造業者によって提供された情報のうちの少なくとも1つを備える、請求項20に記載のシステム。
  32. 前記ターゲットに関連付けられた前記情報が、ユーザによって提供された情報、コンテンツプロバイダによって提供された情報、小売業者によって提供された情報、または製造業者によって提供された情報のうちの少なくとも1つを備える、請求項28に記載の非一時的コンピュータ可読記憶媒体。
JP2016540004A 2013-12-20 2014-12-09 ターゲット上に投影するためのコンテンツをトリミングするための方法、装置、システム及び非一時的コンピュータ可読記憶媒体 Active JP6317452B2 (ja)

Applications Claiming Priority (3)

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

Publications (3)

Publication Number Publication Date
JP2017503198A JP2017503198A (ja) 2017-01-26
JP2017503198A5 JP2017503198A5 (ja) 2017-03-23
JP6317452B2 true JP6317452B2 (ja) 2018-04-25

Family

ID=52358969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016540004A Active JP6317452B2 (ja) 2013-12-20 2014-12-09 ターゲット上に投影するためのコンテンツをトリミングするための方法、装置、システム及び非一時的コンピュータ可読記憶媒体

Country Status (6)

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

Families Citing this family (39)

* 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
JP6440910B2 (ja) * 2016-07-29 2018-12-19 三菱電機株式会社 表示装置、表示制御装置および表示制御方法
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 ソニー株式会社 表示処理装置、表示処理方法及びプログラム
US10192115B1 (en) 2017-12-13 2019-01-29 Lowe's Companies, Inc. Virtualizing objects using object models and object position data
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
TWI735882B (zh) * 2018-05-21 2021-08-11 仁寶電腦工業股份有限公司 互動式投影系統和互動式投影方法
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
KR20240079996A (ko) * 2022-11-29 2024-06-05 삼성전자주식회사 복수의 영역들 내에 미디어 콘텐트 및 사용자 인터페이스를 표시하기 위한 전자 장치 및 그 방법
KR20240132970A (ko) * 2023-02-27 2024-09-04 삼성전자주식회사 투사 영역에 시각적 객체를 표시하기 위한 전자 장치 및 그 방법
KR20240132976A (ko) * 2023-02-27 2024-09-04 삼성전자주식회사 외부 전자 장치를 이용하여 외부 객체에 대응하는 미디어 콘텐트를 실행하기 위한 전자 장치 및 그 방법

Family Cites Families (24)

* 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 セイコーエプソン株式会社 投写型画像表示システム、プロジェクタ、プログラム、情報記憶媒体および画像投写方法
US20040233222A1 (en) * 2002-11-29 2004-11-25 Lee Jerome Chan Method and system for scaling control in 3D displays ("zoom slider")
JP3882929B2 (ja) * 2004-03-29 2007-02-21 セイコーエプソン株式会社 画像処理システム、プロジェクタおよび画像処理方法
US7268893B2 (en) * 2004-11-12 2007-09-11 The Boeing Company Optical projection system
JP4379532B2 (ja) * 2007-07-26 2009-12-09 パナソニック電工株式会社 照明装置
CN102239506B (zh) 2008-10-02 2014-07-09 弗兰霍菲尔运输应用研究公司 中间视合成和多视点数据信号的提取
US9569001B2 (en) * 2009-02-03 2017-02-14 Massachusetts Institute Of Technology Wearable gestural interface
US20120069180A1 (en) * 2009-05-26 2012-03-22 Panasonic Electric Works Co., Ltd. Information presentation apparatus
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
CA2772607A1 (en) 2009-09-01 2011-03-10 Prime Focus Vfx Services Ii Inc. System and process for transforming two-dimensional images into three-dimensional images
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
JP2011188023A (ja) * 2010-03-04 2011-09-22 Sony Corp 情報処理装置、情報処理方法およびプログラム
WO2011114420A1 (ja) * 2010-03-15 2011-09-22 Necディスプレイソリューションズ株式会社 投射型表示装置およびその制御方法
JP5791131B2 (ja) * 2010-07-20 2015-10-07 アップル インコーポレイテッド 自然な相互作用のための相互作用的現実拡張
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6317452B2 (ja) ターゲット上に投影するためのコンテンツをトリミングするための方法、装置、システム及び非一時的コンピュータ可読記憶媒体
US11194388B2 (en) Visibility improvement method based on eye tracking, machine-readable storage medium and electronic device
CN106716302B (zh) 用于显示图像的方法、设备和计算机可读介质
KR102018887B1 (ko) 신체 부위 검출을 이용한 이미지 프리뷰
US9973677B2 (en) Refocusable images
JP6276394B2 (ja) 画像キャプチャ入力および投影出力
US20170372449A1 (en) Smart capturing of whiteboard contents for remote conferencing
WO2017071085A1 (zh) 报警方法及装置
US20170083089A1 (en) Visual gestures
US20160065785A1 (en) Methods and apparatuses for generating photograph
US10666853B2 (en) Virtual makeup device, and virtual makeup method
JP2024503881A (ja) コンテキストアウェアエクステンデッドリアリティシステム
JP6091669B2 (ja) 撮像装置、撮像アシスト方法及び撮像アシストプログラムを記録した記録媒体
KR20200040716A (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
CN113870213A (zh) 图像显示方法、装置、存储介质以及电子设备
CN115698923A (zh) 信息处理装置、信息处理方法和程序
JP7427739B2 (ja) 表示装置
CN117093124A (zh) 一种调整ar显示界面的方法、装置、设备及介质
KR20210125465A (ko) 시선 추적을 이용한 시인성 개선 방법, 저장 매체 및 전자 장치
CN115118950A (zh) 图像处理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170220

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180329

R150 Certificate of patent or registration of utility model

Ref document number: 6317452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250