Method and apparatus for controlled shadow casting to increase perceived quality of projected content

The controlled shadow projection device uses computer vision to identify the projection environment and the audience's position, and controls the projection shadow to cover the projected content. This solves the problem of poor perceived quality of projected content in well-lit environments and improves the perceived quality of projected content.

CN109218692BActive Publication Date: 2025-12-19INTEL CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201810544055.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2017-06-30
Filing Date
2018-05-30
Publication Date
2025-12-19
Estimated Expiration
2038-05-30

AI Technical Summary

Technical Problem

In well-lit environments, the perceived quality of projected content is poor, making it difficult for viewers to view and interpret it. Existing methods, such as reducing ambient lighting or increasing the intensity of projected light, have drawbacks.

Method used

By using a controlled shadow projection device, cameras and computer vision algorithms are used to identify the projection environment and the audience's position, and the projected shadows are controlled to cover the projected content, thereby enhancing the perceived quality.

Benefits of technology

Improving the perceived quality of projected content in well-lit environments without reducing ambient lighting or increasing projected light intensity simplifies the improvement of projection surface reflectivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN109218692B_ABST
    Figure CN109218692B_ABST
Patent Text Reader

Abstract

Methods and apparatuses for controlled shadow casting to increase perceived quality of projected content are disclosed. In some examples, an apparatus is for increasing perceived quality of content projected onto a projection surface. In some examples, the apparatus includes a shutter position determiner to determine a target shutter position of a shutter based on a position of a light source and a position of the projection surface. In some disclosed examples, the apparatus further includes a shutter controller to move the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to methods and apparatus for projecting content, and more particularly to methods and apparatus for controlled shadow casting to increase perceived quality of projected content. BACKGROUND

[0002] Projectors (e.g., digital projectors) are commonly used to project content (e.g., images and / or video including text and / or graphics) onto a projection surface (e.g., a screen, a wall, etc.). The perceived quality associated with content projected via a projector onto a projection surface can be undesirable and / or less than ideal in a well-lit environment (e.g., an environment exposed to ambient light and / or artificial light emitted from one or more natural light sources or artificial light sources). For example, an audience (e.g., one or more people) exposed to content projected via a projector onto a projection surface in a well-lit environment can find it a difficult task to view and / or interpret the projected content. BRIEF DESCRIPTION OF DRAWINGS

[0003] Figure 1 is a block diagram of an example controlled shadow casting apparatus constructed in accordance with the teachings of the present disclosure.

[0004] Figure 2 shows a portion of example projected content of Figure 1 being projected and / or displayed onto a projection surface of

[0005] Figure 3 shows a portion of example projected content of Figure 1 being projected and / or displayed onto a projection surface of Figure 1 Figure 1 Figure 1

[0006] Figure 4 shows a portion of example projected content of Figure 1 and Figure 3 being projected and / or cast onto a projection surface of Figure 1 Figure 1 Figure 3 Figure 1 Figure 3

[0007] Figure 5 is a flowchart representative of example machine readable instructions that can be executed at an example controlled shadow casting apparatus of Figure 1 to implement controlled shadow casting to increase perceived quality of projected content. ​​​​​​​​

[0008] Figure 6 is a flowchart representative of example machine readable instructions that can be executed at an example controlled shadow casting device of Figure 1 to process image data to identify characteristics of a projection environment.

[0009] Figure 7 is a flowchart representative of example machine readable instructions that can be executed at an example controlled shadow casting device of Figure 1 to determine a projection surface based on the identified projection environment characteristics and the identified projector position.

[0010] Figure 8 is an example processor platform of an example controlled shadow casting device capable of executing Figure 5-7 to implement Figure 1 .

[0011] Certain examples are shown in the above-identified accompanying drawings and are described in detail below. In describing these examples, the same reference numbers are used to identify the same or similar elements. The drawings are not necessarily to scale and certain features and certain views of the drawings can be shown exaggerated in scale or in schematic for clarity and / or conciseness. DETAILED DESCRIPTION

[0012] The perceived quality associated with content (e.g., images and / or video including text and / or graphics) projected via a projector (e.g., a digital projector) onto a projection surface (e.g., a screen, a wall, etc.) depends, in large part, on the local contrast of the projected content relative to the projection surface. For example, the perceived quality associated with content projected via a projector onto a projection surface can be less than desirable and / or less than ideal in a well-lit environment (e.g., an environment exposed to ambient light and / or artificial light emitted from one or more natural light sources or artificial light sources). In some instances, an audience (e.g., one or more people) exposed to content projected via a projector onto a projection surface in a well-lit environment can find it a difficult task to view and / or interpret the projected content.

[0013] As used herein, the term "projection environment" refers to an environment (e.g., a geographic area and / or region, such as a room) that includes one or more projection surfaces onto which a projector is to project content. The projector that projects content onto the projection surface(s) can be located within the projection environment, or can alternatively be located remotely from the projection environment (e.g., outside of and / or beyond the boundaries of the projection environment). Known methods for increasing the perceived quality of projected content include reducing the level of ambient and / or artificial lighting in the projection environment (e.g., projecting content in a darkened room, such as a movie theater), increasing the intensity of light projected by the projector relative to the ambient and / or artificial lighting in the projection environment, and increasing the reflective properties of the projection surfaces within the projection environment (e.g., by applying a reflective paint to the projection surfaces). Implementation of any or all of these known methods for increasing the perceived quality of projected content has substantial drawbacks.

[0014] For example, reducing the level of ambient and / or artificial lighting in the projection environment can be undesirable when the projected content is to be associated with a setting and / or task that requires a well-lit environment (e.g., cooking in a kitchen). As another example, increasing the intensity of light projected by the projector requires a corresponding increase in the amount of power to be supplied to the projector, which reduces the energy efficiency associated with the projector. As yet another example, increasing the reflective properties associated with each potential projection surface within the projection environment can prove to be a cumbersome and expensive task.

[0015] In contrast to the known methods described above for increasing the perceived quality of projected content, the example methods and apparatus disclosed herein increase the perceived quality of projected content via the implementation of controlled shadow casting relative to the projected content. The disclosed methods and apparatus for controlled shadow casting reduce (e.g., eliminate) many of the drawbacks associated with the known methods described above for increasing the perceived quality of projected content. For example, the disclosed methods and apparatus for controlled shadow casting advantageously increase the perceived quality of projected content without requiring the projection environment to be darkened, without requiring the intensity of light projected by the projector to be increased, and without requiring the reflective properties of any projection surfaces onto which the projected content is to be projected to be increased.

[0016] Figure 1 is a block diagram of an example controlled shadow casting apparatus 100 constructed in accordance with the teachings of this disclosure. Figure 1 The example controlled shadow casting apparatus 100 includes an example camera 102, an example imaging engine 104, an example projection engine 106, an example projector 108, an example shadow casting engine 110, an example shadow caster 112, and an example memory 114. In Figure 1 In the illustrated example of, some or all of these components are in communication and / or operatively coupled via an example bus 116. Figure 1The imaging engine 104 includes an example environment determiner 118, an example audience position determiner 120, and an example audience pose determiner 122. Figure 1 The projection engine 106 includes an example projector position determiner 124, an example projection surface determiner 126, and an example projection source position determiner 128. Figure 1 The projector 108 includes an example projection source 130 and an example projection controller 132. Figure 1 The shadow projection engine 110 includes an example light source position determiner 134 and an example shutter position determiner 136. Figure 1 The shadow projector 112 includes an example light source 138, an example dome 140, an example shutter 142, and an example shutter controller 144. Figure 1 The memory 114 stores example image data 146, example environment data 148, example audience position data 150, example audience pose data 152, example projector position data 154, example projection surface data 156, example projection source position data 158, example light source position data 160, and example shutter position data 162.

[0017] Other example implementations of the controlled shadow projection apparatus 100 can include fewer or additional structures relative to the example camera 102, the example imaging engine 104, the example projection engine 106, the example projector 108, the example shadow projection engine 110, the example shadow projector 112, the example memory 114, the example environment determiner 118, the example audience position determiner 120, the example audience pose determiner 122, the example projector position determiner 124, the example projection surface determiner 126, the example projection source position determiner 128, the example projection source 130, the example projection controller 132, the example light source position determiner 134, the example shutter position determiner 136, the example light source 138, the example dome 140, the example shutter 142, and the example shutter controller 144. In Figure 1 In the illustrated example, any or all of the example imaging engine 104, the example projection engine 106, the example shadow projection engine 110, the example environment determiner 118, the example audience position determiner 120, the example audience pose determiner 122, the example projector position determiner 124, the example projection surface determiner 126, the example projection source position determiner 128, the example projection controller 132, the example light source position determiner 134, the example shutter position determiner 136, and the example shutter controller 144 can be disposed on a printed circuit board (PCB).

[0018] As described further herein, Figure 1The controlled shadow projection device 100 projects and / or displays example projected content 164 onto an example projection surface 166 located within an example projection environment 168. The controlled shadow projection device 100 enhances the perceived quality of the projected content 164 by controlling the position of an example projected shadow 170 relative to the projected content 164, such that the projection of the projected shadow 170 onto the projection surface 166 surrounds, covers, and / or overlays at least a portion of the projected content 164 displayed on the projection surface 166. Figure 1 The projected content 164 may include any type of static data (e.g., image data) and / or dynamic data (e.g., video data) of textual and / or graphical nature.

[0019] Figure 1 Example camera 102 captures images and / or videos including, for example, example projection environment 168 (e.g., a geographic area, a room). In some examples, camera 102 may be located within projection environment 168. In other examples, camera 102 may be located remotely from projection environment 168 (e.g., outside of projection environment 168 and / or beyond the boundaries of projection environment 168). In some examples, camera 102 may be implemented as a single camera (e.g., a fisheye camera) configured to capture images and / or videos of projection environment 168. In other examples, camera 102 may be implemented as multiple cameras (e.g., surveillance cameras) collectively configured to capture images and / or videos of projection environment 168.

[0020] exist Figure 1 In the illustrated example, images and / or videos captured by camera 102 are stored in the form of example image data 146. Figure 1 The controlled shadow projection device 100 is stored in memory 114. In other examples, images and / or videos captured by camera 102 may additionally and / or alternatively (e.g., in the same or different form as image data 146) be stored by imaging engine 104 and / or more generally by [other means]. Figure 1 The controlled shadow projection device 100 accesses a remote server and / or cloud server. Image data 146 corresponding to images and / or videos captured via camera 102 can be stored in any file and / or data structure format, organization scheme, and / or arrangement.

[0021] Figure 1 Example imaging engine 104 controls and / or manages the processing of image data (e.g., example image data 146) captured by camera 102. For example, Figure 1 The imaging engine 104 can be via Figure 1example audience position determiner 120, and / or example audience pose determiner 122 to implement one or more computer vision algorithms and / or models to process image data 146 captured by camera 102 to identify and / or determine one or more features associated with projection environment 168. In some examples, the identified and / or determined feature(s) include one or more structures and / or structural surfaces (e.g., walls, floors, cabinets, countertops, projectors, light sources, etc.) associated with (e.g., located within) projection environment 168. In some examples, the identified and / or determined feature(s) include audience positions (e.g., individual and / or consensus position(s) of one or more people) associated with projection environment 168. In some examples, the identified and / or determined feature(s) include audience poses (e.g., individual and / or consensus body orientations of the audience) associated with projection environment 168.

[0022] In Figure 1 In the illustrated example, imaging engine 104 can access and / or obtain image data 146 from memory 114 of Figure 1 In some examples, imaging engine 104 can be located within projection environment 168. In other examples, imaging engine 104 can be located remotely from projection environment 168 (e.g., outside of and / or beyond the boundaries of projection environment 168).

[0023] Figure 1 Example environment determiner 118 of imaging engine 104 identifies, detects, and / or determines the presence and relative locations (e.g., relative to a reference location) of one or more structures and / or structural surfaces associated with (e.g., located within) projection environment 168 based on image data 146 captured by camera 102. In some examples, environment determiner 118 identifies, detects, and / or determines the presence and relative locations of the structure(s) and / or structural surface(s) by executing one or more computer vision algorithms and / or models with respect to image data 146 captured by camera 102. Example structure(s) and / or structural surface(s) identified, detected, and / or determined by environment determiner 118 of imaging engine 104 can include walls, floors, ceilings, furniture items, window furnishings, cabinets, countertops, screens, projectors, light sources, etc.

[0024] In Figure 1 In the illustrated example, the presence and relative locations of the structure(s) and / or structural surface(s) identified, detected, and / or determined by environment determiner 118 of imaging engine 104 are stored in example environment data 148. Figure 1the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the structure(s) and / or structure surface(s) identified, detected, and / or determined by the environment determiner 118 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form as the environment data 148 or in a different form) be stored in a memory of the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100, and / or more generally at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100. Figure 1 the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100, and / or more generally at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100. Figure 1 the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100, and / or more generally at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100. The environment data 148 corresponding to the presence and relative location(s) of the structure(s) and / or structure surface(s) identified, detected, and / or determined by the environment determiner 118 of the imaging engine 104 can be stored in any file and / or data structure format, organization scheme, and / or arrangement. In some examples, the environment data 148 can include, for respective ones of the identified, detected, and / or determined structures and / or structure surfaces, a type attribute (e.g., wall, countertop, projector, light source, etc.), a size attribute, a location attribute, and / or an orientation attribute.

[0025] Figure 1 The example audience location determiner 120 of the imaging engine 104 identifies, detects, and / or determines the presence and relative location(s) (e.g., relative to a reference location) of an audience (e.g., one or more persons) associated with the projection environment 168 based on the image data 146 captured by the camera 102, in some examples, the audience location determiner 120 identifies, detects, and / or determines the presence and relative location(s) of the audience by performing one or more computer vision algorithms and / or models with respect to the image data 146 captured by the camera 102. In some examples, the audience identified, detected, and / or determined by the audience location determiner 120 can include only a single person. In other examples, the audience identified, detected, and / or determined by the audience location determiner 120 can include multiple persons. In such multi-person audience examples, the audience location determiner 120 of the imaging engine 104 can identify, detect, and / or determine the presence and relative location(s) of the audience on an individual basis (e.g., on a member-by-member basis) or on an aggregated basis (e.g., on an aggregated and / or pooled member basis), with respective relative locations of individual audience members compiled and averaged to identify, detect, and / or determine a consensus location of the audience relative to (e.g., within) the projection environment 168.

[0026] In the illustrated example of the controlled shadow projection device 100, Figure 1 the presence and relative location(s) of the audience identified, detected, and / or determined by the audience location determiner 120 of the imaging engine 104 is stored in the form of example audience location data 150 in the memory 114 of the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the audience identified, detected, and / or determined by the audience location determiner 120 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form as the audience location data 150 or in a different form) be stored in a memory of the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100, and / or more generally at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100. Figure 1the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the audience identified, detected, and / or determined by the audience position determiner 120 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form or a different form as the audience position data 150) be stored in the memory 114 of the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the audience identified, detected, and / or determined by the audience position determiner 120 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form or a different form as the audience position data 150) be stored at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100 and / or more generally by the controlled shadow projection device 100. Figure 1 the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100 and / or more generally by the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the audience identified, detected, and / or determined by the audience position determiner 120 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form or a different form as the audience position data 150) be stored at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100 and / or more generally by the controlled shadow projection device 100. Figure 1 the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100 and / or more generally by the controlled shadow projection device 100. In other examples, the presence and relative location(s) of the audience identified, detected, and / or determined by the audience position determiner 120 of the imaging engine 104 can additionally and / or alternatively (e.g., in the same form or a different form as the audience position data 150) be stored at a remote server and / or cloud server accessible by the imaging engine 104, the projection engine 106, and / or the shadow projection engine 110 of the controlled shadow projection device 100 and / or more generally by the controlled shadow projection device 100.

[0027] In instances in which the example audience position determiner 120 of the imaging engine 104 identifies, detects, and / or determines the presence of an audience associated with the projection environment 168, Figure 1 In instances in which the example audience position determiner 120 of the imaging engine 104 identifies, detects, and / or determines the presence of an audience associated with the projection environment 168, Figure 1 The example audience pose determiner 122 of the imaging engine 104 identifies, detects, and / or determines individual and / or consensus poses (e.g., body orientations) of the member(s) of the audience associated with the projection environment 168 based on the image data 146 captured by the camera 102, in some examples, the audience pose determiner 122 identifies, detects, and / or determines the pose(s) of the member(s) of the audience by performing one or more computer vision algorithms and / or models with respect to the image data 146 captured by the camera 102. In examples of a single-person audience (e.g., examples in which the identified and / or detected audience includes only a single person), the audience pose determiner 122 of the imaging engine 104 can identify, detect, and / or determine the pose of the audience based on the body orientation of the single member of the audience. In examples of a multi-person audience (e.g., examples in which the identified and / or detected audience includes multiple persons), the audience pose determiner 122 of the imaging engine 104 can identify, detect, and / or determine the pose(s) of the audience on an individual basis (e.g., on a member-by-member basis) or on an aggregated basis (e.g., an aggregated and / or pooled member basis), in which the respective poses (e.g., body orientations) of the individual audience members are compiled and averaged to identify, detect, and / or determine a consensus pose of the audience relative to the projection environment 168.

[0028] In instances in which the example audience pose determiner 122 of the imaging engine 104 identifies, detects, and / or determines the individual and / or consensus poses of the member(s) of the audience associated with the projection environment 168, Figure 1In the illustrated example, the poses of multiple members of the audience identified, detected, and / or determined by the audience pose determiner 122 of the imaging engine 104 are stored in the form of example audience pose data 152. Figure 1 The controlled shadow projection device 100 is stored in memory 114. In other examples, the poses of multiple members of the audience identified, detected, and / or determined by the audience pose determiner 122 of the imaging engine 104 may additionally and / or alternatively (e.g., in the same or different form as the audience pose data 152) be stored in memory 114. Figure 1 The imaging engine 104, projection engine 106, and / or shadow projection engine 110, and / or more generally, can be derived from... Figure 1 The controlled shadow projection device 100 accesses a remote server and / or cloud server. Audience posture data 152, corresponding to the postures of multiple audience members identified, detected, and / or determined by the audience posture determiner 122 of the imaging engine 104, can be stored in any file and / or data structure format, organizational scheme, and / or arrangement. In some examples, audience posture data 152 may include posture attributes (e.g., body orientation attributes) for the respective members among the identified, detected, and / or determined audience members.

[0029] Figure 2 It shows the result of Figure 1 Example controlled shadow projection device 100, example imaging engine 104, processed example captured image 200. Figure 2 In the illustrated example, the captured image 200 depicts via Figure 1 The camera 102 captures and / or acquires images 200 corresponding to the captured images. Figure 1 Example projection environment 168, example kitchen area 202. Figure 2 The example kitchen area 202 includes an example wall surface 204, an example cabinet surface 206, an example countertop surface 208, a first example audience member 210 positioned in a first example audience member pose 212, and a second example audience member 214 positioned in a second example audience member pose 216.

[0030] exist Figure 2 In the illustrated example, Figure 1 Example imaging engine 104 and example environment determiner 118 identify and / or detect wall surface 204, cabinet surface 206, and countertop surface 208, and also identify and / or determine wall surface 204, cabinet surface 206, and countertop surface 208 relative to the location of Figure 2 The corresponding location of example reference point 218 within example kitchen area 202. Figure 1Example audience position determiner 120 of example imaging engine 104 identifies and / or detects first audience member 210 and second audience member 214, and also identifies and / or determines the respective positions of first audience member 210 and second audience member 214 relative to reference point 218. Figure 1 Example audience pose determiner 122 of example imaging engine 104 identifies and / or detects first audience member pose 212 (e.g., body orientation of first audience member 210) and second audience member pose 216 (e.g., body orientation of second audience member 214) relative to reference point 218.

[0031] Back Figure 1 A diagrammatic example, Figure 1 Example projection engine 106 control and / or management Figure 1 The identification and / or determination of example projection surface 166, Figure 1 The example content 164 to be projected and / or displayed on the example projection surface 166. For example, Figure 1 The projection engine 106 can be via Figure 1 Example projector position determiner 124 and / or example projection surface determiner 126 implement one or more algorithms and / or models to be based on Figure 1 Example environment data 148 associated with projection environment 168, and Figure 1 Example audience position data 150 associated with projection environment 168, and Figure 1 Example audience posture data 152 associated with projection environment 168 and / or related to projection environment 168 Figure 1 Example projector location data 154 associated with projector 108 is used to identify and / or determine projection surface 166.

[0032] Figure 1 The example projection engine 106 also controls and / or manages the identification and / or determination of the target location. Figure 1 Example projector 108 and example projection source 130 will be moved to the target location to project Figure 1 The example is projected and / or displayed by the projected content 164. Figure 1 On example projection surface 166. For example, Figure 1 The projection engine 106 can be via Figure 1 Example projector position determiner 124, example projection surface determiner 126, and / or example projection source position determiner 128 implement one or more algorithms and / or models to be based on... Figure 1 Example environment data 148 associated with projection environment 168, and Figure 1 Example projector location data 154 associated with example projector 108 and / or with Figure 1example projection surface data 156 associated with the projection environment 168 to identify and / or determine Figure 1 a target location to which the projection source 130 is to be moved. In Figure 1 In the illustrated example, the projection engine 106 can access and / or obtain the environment data 148, the audience location data 150, the audience pose data 152, the projector location data 154, and / or the projection surface data 156 from the memory 114 of the imaging engine 104. Figure 1

[0033] In some examples, the projection surface 166 identified and / or determined by the projection engine 106 of the imaging engine 104 corresponds to one of the structural surfaces (e.g., walls, floors, countertops, etc.) identified and / or determined by the environment determiner 118 of the imaging engine 104. In some examples, the projection engine 106 can be located within the projection environment 168 of the imaging engine 104. In other examples, the projection engine 106 can be located away from the projection environment 168 of the imaging engine 104 (e.g., outside of and / or beyond the boundaries of the projection environment 168). In some examples, the projection engine 106 can be located within the projector 108 of the imaging engine 104 (e.g., as an integral component thereof). In other examples, the projection engine 106 can be located away from the projector 108 of the imaging engine 104 (e.g., outside of and / or beyond the boundaries of the projector 108). Figure 1 Figure 1 Figure 1 Figure 1 Figure 1 Figure 1

[0034] Figure 1 The example projector location determiner 124 of the projection engine 106 identifies, detects, and / or determines a location of the projector relative to the projection environment (e.g., relative to a reference location associated with the projection environment). For example, the projector location determiner 124 can identify, detect, and / or determine a location of the example projector 108 relative to the projection environment 168 of the imaging engine 104. In some examples, the projector location determiner 124 identifies, detects, and / or determines the location of the projector 108 based on the example environment data 148. For example, in examples in which the projector 108 is depicted within the example image data 146 processed by the environment determiner 118 of the imaging engine 104, the environment data 148 can include an identified location of the projector 108. In such examples, the projector location determiner 124 can identify, detect, and / or determine the location of the projector 108 by querying and / or searching the example environment data 148. Figure 1 Figure 1 Figure 1

[0035] ​​​​​​​​​​In other examples, the location of projector 108 may not be included in the example environment data 148 (e.g., where projector 108 is not depicted in a scene provided by...). Figure 1 (Example image data 146 processed by the environment determiner 118 of the imaging engine 104). In other such examples, the position of the projector 108 may be known to the projector 108 itself and / or stored by the projector 108 itself, or alternatively stored in the form of example projector position data 154. Figure 1 The controlled shadow projection device 100 is stored in memory 114. In other such examples, Figure 1 The projector position determiner 124 identifies, detects, and / or determines the position of the projector 108 by requesting the projector 108 to transmit its position to the projector position determiner 124 and / or memory 114, and / or by accessing example projector position data 154 from memory 114. The projector position data 154 corresponding to the position of the projector 108 can be stored in any file and / or data structure format, organization scheme, and / or arrangement. In some examples, the projector position data 154 may include information specific to the identified, detected, and / or determined projector (e.g., ...). Figure 1 The position and / or orientation attributes of the projector 108.

[0036] Figure 1 The projection engine 106's example projection surface determiner 126 identifies, detects, and / or determines the projection surface on which content will be projected and / or displayed. For example, the projection surface determiner 126 may identify, detect, and / or determine... Figure 1 Example of the projected content 164 is to be projected and / or displayed on it. Figure 1 Example projection surface 166. Projection surface determiner 126 is based on example environment data 148 associated with projection environment 168, example audience position data 150 associated with projection environment 168, example audience posture data 152 associated with projection environment 168, and / or... Figure 1 Example projector position data 154 associated with projector 108 is used to identify, detect, and / or determine projection surface 166.

[0037] In some examples, Figure 1 The projection surface determiner 126 identifies, detects, and / or determines a list and / or group of candidate projection surfaces based on and / or corresponding to structural surfaces (multiple) included in the example environment data 148. For example, the list and / or group of candidate projection surfaces identified, detected, and / or determined by the projection surface determiner 126 may include those corresponding to structural surfaces included in the example environment data 148. Figure 1 The environment determiner 118 of the imaging engine 104 identifies, detects, and / or determines and stores the environment as... Figure 1Environmental data 148 includes one or more structural surfaces (multiple), such as wall surfaces, floor surfaces, countertop surfaces, cabinet surfaces, etc. For example, in conjunction with the above descriptions... Figure 2 The illustrated example is provided by Figure 1 The projection surface determiner 126 may identify, detect, and / or determine a list and / or group of candidate projection surfaces. Figure 2 Example wall surface 204, example cabinet surface 206, and example countertop surface 208.

[0038] Back Figure 1 Illustrated examples, in some examples, Figure 1 The projection surface determiner 126 implements one or more algorithms and / or models to analyze the corresponding candidate projection surfaces among the candidate projection surfaces, in order to identify, detect and / or determine the projection surfaces from among the candidate projection surfaces. Figure 1 The projector 108 will project content onto a suitable projection surface. In some examples, the projection surface determiner 126 can be based on... Figure 1 The projection environment 168 associated with the projector (e.g., Figure 1 The suitability of a candidate projection surface is determined by whether the projector 108) can project and / or display content onto the candidate projection surface. For example, if it is compatible with... Figure 1 If the projection source 130 of the projector 108 is associated with and is known and / or accessible by the projection surface determiner 126, and its projection capabilities (e.g., rotation, tilt, pan, and / or zoom capabilities) enable the projection source 130 of the projector 108 to project and / or display content onto a candidate projection surface, based on environmental data 148 and / or projector position data 154, then the projection surface determiner 126 can determine that the candidate projection surface is a suitable projection surface. In making such a determination, the projection surface determiner 126 may take into account potential obstacles (e.g., obstacles arising from one or more structures located between the position of the projector 108 and the position of the candidate projection surface).

[0039] In some examples, Figure 1 The projection surface determiner 126 can be additionally based on and Figure 1The suitability of a candidate projection surface is determined by whether the audience associated with the projection environment 168 can view the content to be projected and / or displayed on the candidate projection surface (e.g., as indicated by the audience's position and / or posture (e.g., body orientation) relative to the candidate projection surface). For example, if the audience is positioned such that they can view the content projected onto the candidate projection surface by the projection source 130 of the projector 108 based on environmental data 148, audience position data 150, audience posture data 152, and / or projector position data 154, and / or in a body orientation posture that allows the audience to view the content projected onto the candidate projection surface by the projection source 130 of the projector 108, then the projection surface determiner 126 can determine that the candidate projection surface is a suitable projection surface. This is in conjunction with the above description. Figure 2 Illustrated examples, for example, Figure 1 The projection surface determiner 126 can be partially based on Figure 2 The first example audience member 210 and the first example audience member 212 are positioned in the first example audience member pose 212. Figure 2 The identification and / or determined position of the second example audience member 214, positioned according to the second example audience member posture 216, is determined from... Figure 2 Identify, inspect, and / or determine the following in the example wall surface 204, example cabinet surface 206, and example countertop surface 208. Figure 2 Example tabletop surface 208 is used as a suitable (e.g., most suitable) projection surface. In making such a determination, projection surface determiner 126 may take into account potential obstacles (e.g., obstacles arising from one or more structures located between the viewer's position and the position of the candidate projection surface).

[0040] Back Figure 1 Illustrated examples, in some examples, Figure 1 The projection surface determiner 126 can analyze the corresponding candidate projection surfaces among the candidate projection surfaces until it has identified, detected, and / or determined a suitable projection surface from among the corresponding candidate surfaces. In such an example, the projection surface determiner 126 identifies the suitable projection surface as... Figure 1 The projection source 130 of the projector 108 will project content (e.g., Figure 1 The projected content 164) is projected and / or displayed on a projection surface (e.g., Figure 1The projection surface 166). In other examples, the projection surface determiner 126 may analyze the corresponding candidate projection surfaces among the candidate projection surfaces until the projection surface determiner 126 has identified, detected, and / or determined all suitable projection surfaces from the corresponding candidate surfaces. In such other examples, the projection surface determiner 126 may implement one or more optimization algorithms and / or models to determine the most suitable one among the suitable projection surfaces. In such other examples, the projection surface determiner 126 identifies the most suitable projection surface as Figure 1 The projection source 130 of the projector 108 will project content (e.g., Figure 1 The projected content 164) is projected and / or displayed on a projection surface (e.g., Figure 1 The projected surface 166). For example, in conjunction with the above description Figure 2 A diagrammatic example, Figure 1 The projection surface determiner 126 can be partially based on Figure 2 The first example audience member 210 and the first example audience member 212 are positioned in the first example audience member pose 212. Figure 2 The identification and / or determined position of the second example audience member 214, positioned according to the second example audience member posture 216, is determined from... Figure 2 Identify, inspect, and / or determine the following in the example wall surface 204, example cabinet surface 206, and example countertop surface 208. Figure 2 Example tabletop surface 208 serves as a suitable (e.g., most suitable) projection surface.

[0041] exist Figure 1 In the illustrated example, it will be with... Figure 1 The projection surface determiner 126 identifies the projection surface 166 and / or associates with the information (e.g., the projection surface 166 relative to the projection surface 166). Figure 1 The location of the projection environment 168 is stored in the form of example projection surface data 156. Figure 1 The controlled shadow projection device 100 is stored in memory 114. In other examples, with... Figure 1 The information associated with the projection surface 166 identified by the projection surface determiner 126 may additionally and / or alternatively (e.g., in the same or different form as the projection surface data 156) be stored in a format that can be determined by [the relevant authority / organization]. Figure 1 The projection engine 106, projector 108, and / or shadow projection engine 110 and / or more generally can be derived from... Figure 1The controlled shadow projection device 100 accesses a remote server and / or cloud server. Projection surface data 156 corresponding to and / or associated with the projection surface 166 identified by the projection surface determiner 126 can be stored in any file and / or data structure format, organization scheme, and / or arrangement. In some examples, projection surface data 156 may include data for the identified, detected, and / or determined projection surface (e.g., Figure 1 The projection surface 166) has the following attributes: type (e.g., wall, countertop, projector, light source, etc.), size, location, and / or orientation.

[0042] In some examples, Figure 1 The projection surface determiner 126 can determine that no candidate projection surface matches a suitable projection surface. In such an example, Figure 1 The projection surface determiner 126 and / or projection engine 106 can generate signals, messages, and / or requests indicating that no suitable projection surface has been identified. In some such examples, by Figure 1 The signal messages and / or requests generated by the projection surface determination 126 and / or projection engine 106 can be requested by the projection surface determination 126 and / or projection engine 106. Figure 1 Camera 102 Figure 1 Imaging engine 104 and / or Figure 1 The projector position determiner 124 provides additional and / or updated data (e.g., image data 146, environmental data 148, audience position data 150, audience posture data 152, projector position data 154).

[0043] Figure 1 The example projection source location determiner 128 of the projection engine 106 identifies, detects, and / or determines the target location where the projector's projection source will be moved to, so that the content to be projected and / or displayed on the projection surface. For example, Figure 1 The projection source location determiner 128 can identify, detect and / or determine Figure 1 Example projector 108 and example projection source 130 will be moved to the target location to project Figure 1 The example is projected and / or displayed by the projected content 164. Figure 1 On the example projection surface 166. The projection source position determiner 128 is based on example environment data 148 associated with the projection environment 168, example projector position data 154 associated with the projector 108, and / or with... Figure 1 Example projection surface data 156 associated with the projection environment 168 is used to identify, detect, and / or determine the target location to which the projection source 130 of the projector 108 will be moved.

[0044] In some examples, Figure 1The projection source location determiner 128 identifies, detects, and / or determines the location of the projection source. Figure 1 The projected content 164 is projected and / or displayed on Figure 1 The position of the projection source 130 on the projection surface 166 is used to identify, detect, and / or determine the target position to which the projection source 130 of the projector 108 will be moved. In some such examples, Figure 1 The projection source location determiner 128 implements one or more optimization algorithms and / or models relative to the available location of the projection source 130 (e.g., the location where the projection source 130 can be moved) to identify, detect, and / or determine the location for projecting the projection source. Figure 1 The projected content 164 is projected and / or displayed on Figure 1 The most effective target position of the projection source 130 on the projection surface 166.

[0045] exist Figure 1 In the illustrated example, it will be related to, as by Figure 1 The projection source location determiner 128 identifies and / or determines the target location to which the projection source 130 of the projector 108 will be moved, and the information corresponding to and / or associated with it is stored in the form of example projection source location data 158. Figure 1 The controlled shadow projection device 100 is stored in memory 114. In other examples, as with... Figure 1 The information corresponding to and / or associated with the target location to which the projection source 130 of the projector 108 is to be moved, identified and / or determined by the projection source location determiner 128, may additionally and / or alternatively (e.g., in the same or different form as the projection source location data 158) be stored in a format that can be determined by the projection source location determiner 128. Figure 1 The projection engine 106 and / or projector 108 and / or more generally can be made by Figure 1 The controlled shadow projection device 100 accesses a remote server and / or cloud server. Projection source location data 158, corresponding to and / or associated with the target location to which the projection source 130 of the projector 108 will be moved, can be stored in any file and / or data structure format, organization scheme, and / or arrangement. In some examples, projection source location data 158 may include data for the associated projection source and / or projector (e.g., Figure 1 The target position attributes and / or target orientation attributes of the projection source 130 of the projector 108.

[0046] Figure 1 Example projector 108 projects and / or displays content onto a projection surface located within the projection environment. For example, projector 108 can... Figure 1 The example is projected content 164 projected and / or displayed on a location located Figure 1 Example projection environment 168 Figure 1On example projection surface 166. In some examples, Figure 1 The projector 108 can be implemented as a digital projector capable of projecting and / or displaying digital content (e.g., digital images and / or digital video including text and / or graphic information). In some examples, Figure 1 The projector 108 can be located in Figure 1 The projector 108 is located within the projection environment 168. In other examples, the projector 108 may be located away from the projection environment 168 (e.g., outside the projection environment 168 and / or beyond the boundary of the projection environment 168).

[0047] Figure 1 The projector 108 via Figure 1 Example projection source 130 projects and / or displays content. Projection source 130 can be implemented as a projection lens operably coupled to a projection lamp and / or operably aligned with the projection lamp. Figure 1 In the illustrated example, the projection source 130 of the projector 108 is relative to the projector 108 and / or relative to the projector 108. Figure 1 The projection environment 168 is movable, manipulable, and / or otherwise positionable. For example, the orientation of the projection source 130 relative to the projection environment 168 may change as the orientation of the projector 108 relative to the projection environment 168 changes (e.g., due to rotation of the projector 108 relative to the projection environment 168). As another example, the position of the projection source 130 relative to the projector 108 and / or relative to the projection environment 168 may change due to tilting, translating, and / or scaling of the projection source 130 relative to the projector 108 and / or relative to the projection environment 168.

[0048] Figure 1 Example projection controller 132 controls projection source 130 and / or more generally Figure 1 The position and / or orientation of the projector 108. Figure 1 In the illustrated example, the projection controller 132 is based on... Figure 1 The projection source position determiner 128 of the projection engine 106 identifies and / or determines the projection source position data 158 so that the projection source 130 of the projector 108 projects and / or displays the content 164 to the projection surface 166. For example, the projection controller 132 can adjust, move and / or otherwise change the position and / or orientation of the projection source 130 from its current position and / or orientation to a target position and / or orientation determined by the projection controller 132 from the projection source position data 158.

[0049] In response to the projection controller 132 (e.g., by tilting, translating, scaling, and / or rotating the projection source 130), the position and / or orientation of the projection source 130 is adjusted from its current position and / or orientation and / or moved to a target position and / or orientation. Figure 1The projection source 130 relative to Figure 1 The projection environment 168 is positioned and / or oriented to... Figure 1 The projected content 164 is projected and / or displayed on Figure 1 On the projection surface 166. In some examples, the projection controller 132 can be located on the projection surface 166. Figure 1 The memory 114 accesses the projection source location data 158. In other examples, the projection source location determiner 128 and / or more generally... Figure 1 The projection engine 106 can transmit and / or otherwise transfer the projection source position data 158 to the projection controller 132 and / or more generally. Figure 1 Projector 108.

[0050] Figure 1 Example shadow casting engine 110 control and / or management Figure 1 Example shadow caster 112, example door 142, the identification and / or determination of the target location to be moved to, to surround Figure 1 The example will be part of the projected content 164 Figure 1 Example of casting shadow 170 projection and / or projection onto Figure 1 On example projection surface 166. For example, Figure 1 The shadow casting engine 110 can be used via Figure 1 Example light source position determiner 134 and / or example shutter position determiner 136 implement one or more algorithms and / or models to be based on... Figure 1 Example environment data 148 associated with projection environment 168, and Figure 1 Example projection surface data 156 associated with projection environment 168 and / or related to projection environment 168 Figure 1 Example light source 138 and / or example shadow caster 112 are associated with example light source position data 160 to identify and / or determine Figure 1 The shutter 142 will be moved to the target position. Figure 1 In the illustrated example, the shadow casting engine 110 can... Figure 1 The memory 114 accesses and / or obtains environmental data 148, projection surface data 156, and / or light source position data 160.

[0051] In some examples, the shadow casting engine 110 can be located in Figure 1 Within the projection environment 168. In other examples, the shadow casting engine 110 may be located away from... Figure 1 The projection environment 168 (e.g., outside and / or beyond the boundary of the projection environment 168). In some examples, the shadow casting engine 110 may be located in Figure 1within (e.g., as an integral component of) the shadow projector 112. In other examples, the shadow projection engine 110 can be located remotely from Figure 1 the shadow projector 112 (e.g., outside of and / or beyond the bounds of the shadow projector 112).

[0052] Figure 1 An example light source position determiner 134 of the shadow projection engine 110 identifies, detects, and / or determines a position of a light source relative to a projection environment (e.g., relative to a reference location associated with the projection environment). For example, the light source position determiner 134 can identify, detect, and / or determine a position of an example light source 138 relative to a projection environment 168 of the shadow projector 112. In some examples, the light source position determiner 134 identifies, detects, and / or determines the position of the light source 138 based on example environment data 148. For example, in examples in which the light source 138 is depicted within example image data 146 processed by the environment determiner 118 of the imaging engine 104, the environment data 148 can include an identified position of the light source 138. In such examples, the light source position determiner 134 can identify, detect, and / or determine the position of the light source 138 by querying and / or searching the example environment data 148. Figure 1 Figure 1 In some examples, the light source position determiner 134 identifies, detects, and / or determines the position of the light source 138 based on example light source data 158. For example, in examples in which the light source 138 is not depicted within example image data 146 processed by the environment determiner 118 of the imaging engine 104, the light source data 158 can include a known and / or stored position of the light source 138. In such examples, the light source position determiner 134 can identify, detect, and / or determine the position of the light source 138 by querying and / or searching the example light source data 158. Figure 1

[0053] In other examples, the position of the light source 138 can not be included within the example environment data 148 (e.g., in examples in which the light source 138 is not depicted within example image data 146 processed by the environment determiner 118 of the imaging engine 104). In such other examples, the position of the light source 138 can be known and / or stored by the light source 138 and / or the shadow projector 112 itself, or alternatively stored in the form of example light source position data 160 within the memory 114 of the controlled shadow projection device 100. In such other examples, the light source position determiner 134 identifies, detects, and / or determines the position of the light source 138 by requesting Figure 1 Figure 1 Figure 1 In some examples, the light source position data 165 can include a respective light source identifier for each of the identified, detected, and / or determined light sources (e.g., the light source 138). In such examples, the light source position data 165 can include a respective position of each of the identified, detected, and / or determined light sources (e.g., the light source 138) relative to the projection environment 168. In other examples, the light source position data 165 can include a respective light source identifier for each of the identified, detected, and / or determined light sources (e.g., the light source 138), and / or a respective position of each of the identified, detected, and / or determined light sources (e.g., the light source 138) relative to the projection environment 168. Figure 1 Figure 1 In some examples, the light source position data 165 can include a respective light source identifier for each of the identified, detected, and / or determined light sources (e.g., the light source 138). In such examples, the light source position data 165 can include a respective position of each of the identified, detected, and / or determined light sources (e.g., the light source 138) relative to the projection environment 168. In other examples, the light source position data 165 can include a respective light source identifier for each of the identified, detected, and / or determined light sources (e.g., the light source 138), and / or a respective position of each of the identified, detected, and / or determined light sources (e.g., the light source 138) relative to the projection environment 168. Figure 1 ​​​​​a position attribute and / or an orientation attribute of the light source 138.

[0054] Figure 1 The example shutter position determiner 136 of the shadow projection engine 110 identifies, detects, and / or determines a target position to which a shutter of the shadow projector is to be moved to project and / or cast a shadow onto the projection surface around a portion of the content being projected onto the projection surface. For example, Figure 1 The shutter position determiner 136 can identify, detect, and / or determine Figure 1 The example shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 a portion of the example projected content 164. The example shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 a portion of the example projected content 164. The example shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The example shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The example shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around

[0055] In some examples, Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1 The shutter position determiner 136 of the example shadow projector 112 identifies, detects, and / or determines a target position to which the open door 142 is to be moved to project and / or cast a shadow onto the projection surface around Figure 1The resulting cast shadow 170 of the shadow caster 112 covers and / or overlays as much of the projected content 164 as possible (e.g., preferably the entire projected content 164) that is displayed on the projection surface 166.

[0056] In the illustrated example of the controlled shadow casting device 100, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 is stored in the memory 114 of the controlled shadow casting device 100 in the form of example shutter position data 162. In other examples, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 can additionally and / or alternatively (e.g., in the same form as the shutter position data 162 or in a different form) be stored at a remote server and / or cloud server that can be accessed by the shadow casting engine 110 and / or the shadow caster 112 and / or more generally by the controlled shadow casting device 100. Figure 1 Figure 1 In the illustrated example of the controlled shadow casting device 100, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 is stored in the memory 114 of the controlled shadow casting device 100 in the form of example shutter position data 162. In other examples, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 can additionally and / or alternatively (e.g., in the same form as the shutter position data 162 or in a different form) be stored at a remote server and / or cloud server that can be accessed by the shadow casting engine 110 and / or the shadow caster 112 and / or more generally by the controlled shadow casting device 100. Figure 1 Figure 1 In the illustrated example of the controlled shadow casting device 100, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 is stored in the memory 114 of the controlled shadow casting device 100 in the form of example shutter position data 162. In other examples, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 can additionally and / or alternatively (e.g., in the same form as the shutter position data 162 or in a different form) be stored at a remote server and / or cloud server that can be accessed by the shadow casting engine 110 and / or the shadow caster 112 and / or more generally by the controlled shadow casting device 100. Figure 1 Figure 1 In the illustrated example of the controlled shadow casting device 100, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 is stored in the memory 114 of the controlled shadow casting device 100 in the form of example shutter position data 162. In other examples, the information corresponding to and / or associated with the target position to which the shutter 142 of the shadow caster 112 is to be moved as identified and / or determined by the shutter position determiner 136 of the shadow caster 112 can additionally and / or alternatively (e.g., in the same form as the shutter position data 162 or in a different form) be stored at a remote server and / or cloud server that can be accessed by the shadow casting engine 110 and / or the shadow caster 112 and / or more generally by the controlled shadow casting device 100. Figure 1

[0057] Figure 1 The example shadow caster 112 of the shadow casting system 100 projects and / or casts a shadow onto a projection surface located within a projection environment. For example, the shadow caster 112 can project and / or cast an example cast shadow 170 of the shadow casting system 100 onto an example projection surface 166 located within an example projection environment 168 of the shadow casting system 100. Figure 1 Figure 1 In some examples, the cast shadow 170 projected and / or cast by the shadow caster 112 of the shadow casting system 100 is to surround, cover and / or overlay at least a portion of, and preferably the entirety of, example projected content 164 that is to be projected and / or displayed onto the projection surface 166 via the projector 108 of the shadow casting system 100. In some examples, the shadow caster 112 of the shadow casting system 100 can be located within the projection environment 168 of the shadow casting system 100. Figure 1 Figure 1 Figure 1 Figure 1 Figure 1 Figure 1 ​​​​​​​​​​The shadow projector 112 is located within the projection environment 168. In other examples, the shadow projector 112 may be located away from the projection environment 168 (e.g., outside the projection environment 168 and / or beyond the boundary of the projection environment 168). Although in Figure 1 The illustrated example shows only a single shadow caster (e.g., shadow caster 112), but Figure 1 The controlled shadow projection device 100 may include components that are structurally and / or functionally similar to those described herein. Figure 1 Any number of shadow casters are implemented in a similar (e.g., the same) manner to the example shadow caster 112.

[0058] Figure 1 The shadow projector 112 is controllable to project and / or cast shadows based on the position and / or orientation of the example shutter 142 of the shadow projector 112 relative to the example light source 138 of the shadow projector 112 (e.g., Figure 1 The projected shadow is 170. Figure 1 The example light source 138 of the shadow projector 112 can be implemented as any type of artificial light, including, for example, track-mounted bulbs, cans and / or recessed bulbs, lamps, etc. Figure 1 An example dome 140 of the shadow projector 112 is coupled to and / or positioned relative to (e.g., partially around) the light source 138 of the shadow projector. The dome 140 may be implemented as a transparent material, which allows light emitted by the light source 138 of the shadow projector 112 to pass through the dome 140 without being obstructed and / or blocked. Figure 1 The dome 140 can be any shape, including, for example, a sphere, a hemisphere, a curved structure, etc.

[0059] Figure 1 An example shutter 142 of the shadow projector 112 is coupled to and / or positioned on the dome 140 of the shadow projector 112. For example, the shutter 142 may be coupled to the inner surface (e.g., the surface facing the light source 138) or the outer surface (e.g., the surface away from the light source 138) of the dome 140 and / or positioned on the inner surface (e.g., the surface facing the light source 138) or the outer surface (e.g., the surface away from the light source 138) of the dome 140, or may be positioned and / or accommodated between the inner and outer surfaces of the dome 140. Figure 1 The shutter 142 is movable and / or positionable relative to the light source 138 and / or dome 140 of the shadow projector 112. For example, the shutter 142 may be configured to have a foot and / or drive wheel that contacts the dome 140 of the shadow projector 112, the foot and / or drive wheel being... Figure 1The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. Figure 1 The shutter 142 of the shadow projector 112 can be implemented as a non-transparent and / or light-blocking material that obstructs and / or blocks light emitted by the light source 138 of the shadow projector 112 from passing through the shutter 142. The shutter 142 can have any shape, including, for example, a circular shape, an elliptical shape, a rectangular shape, and the like.

[0060] Figure 1 The example shutter controller 144 controls the shutter 142 and / or more generally Figure 1 a position and / or orientation of the shadow projector 112. In Figure 1 In the illustrated example, the shutter controller 144 adjusts, moves, and / or otherwise changes a position and / or orientation of the shutter 142 based on shutter position data 162 identified and / or determined by the shutter position determiner 136 of the shadow projection engine 110. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144.

[0061] In response to the shutter controller 144 adjusting and / or moving the position and / or orientation of the shutter 142 from the current position and / or orientation to the target position and / or orientation, Figure 1 The example shutter 142 of the shadow projector 112 is positioned and / or oriented to project and / or cast the projected shadow 170 onto the projection surface 166 relative to the light source 138 of the shadow projector 112. Figure 1 The example shutter 142 of the shadow projector 112 is positioned and / or oriented to project and / or cast the projected shadow 170 onto the projection surface 166 relative to the light source 138 of the shadow projector 112. Figure 1 The example shutter 142 of the shadow projector 112 is positioned and / or oriented to project and / or cast the projected shadow 170 onto the projection surface 166 relative to the light source 138 of the shadow projector 112. Figure 1 The example shutter 142 of the shadow projector 112 is positioned and / or oriented to project and / or cast the projected shadow 170 onto the projection surface 166 relative to the light source 138 of the shadow projector 112. Figure 1 In some examples, the shutter position data 162 can be accessed by the shutter controller 144 from the memory 114 of the shadow projection engine 110. In other examples, the shutter position determiner 136 and / or more generally Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144. Figure 1 The example shutter controller 144 of the shadow projector 112 causes the shutter 142 to move in a specified direction along the dome 140 when actuated. As another example, the shutter 142 can be coupled to one or more linkage arms that move in a specified direction along the dome 140 when actuated by the shutter controller 144.

[0062] Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 4 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 4 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 4 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100.

[0063] An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 4 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 4 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 1 An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100.

[0064] An example projected content 164 is projected and / or displayed onto an example projection surface 166 of an example projection environment 168 located within an example controlled shadow projection device 100. Figure 3In the illustrated example, the corresponding shutters of the shadow projector 112 shutter 142, the second shadow projector 302 shutter 308, and the third shadow projector 312 shutter 318 are in a position that does not obstruct and / or block the light from the corresponding light source of the light source 138, the second light source 304, and the third light source 314 towards the light source. Figure 3 The position of the corresponding path of the light emitted from the projection surface 166. The paths of the light emitted from the respective light sources 138, the second light source 304, and the third light source 314 thus illuminate and / or project onto the projection surface 166. Figure 3 On the projection surface 166. As Figure 3 The result of this illumination present at point 166 on the projected surface, via Figure 3 The projector 108 projects onto Figure 3 On the projection surface 166 and / or displayed Figure 3 At 166 on the projected surface Figure 3 The projected content 164 (e.g., the phrase "boil water") has relatively low perceived quality.

[0065] exist Figure 4 In the illustrated example, the corresponding shutters of the shadow projector 112 shutter 142, the second shutter 308 of the second shadow projector 302, and the third shutter 318 of the third shadow projector 312 have been moved by the corresponding corresponding shutter controllers of the shadow projector 112 shutter controller 144, the second shutter controller 310 of the second shadow projector 302, and the third shutter controller 320 of the third shadow projector 312 to obstruct and / or block the flow of light from the corresponding corresponding light sources of the light source 138, the second light source 304, and the third light source 314 towards the shadow projector 312. Figure 4 The location of the portion of the path of the light emitted from the projection surface 166. Shadows (e.g., Figure 1 and Figure 4 The projected shadow 170) is therefore projected and / or cast onto the corresponding path in the path of the light emitted from the respective light sources in the light source 138, the second light source 304, and the third light source 314. Figure 4 On the projected surface 166. As relative to Figure 4 The result of this controlled shadow projection occurring on the projection surface 166 is the projected and / or cast shadow (e.g., Figure 1 and Figure 4 The cast shadow 170) surrounds, covers and / or covers via Figure 4 The projector 108 was projected onto Figure 4 On the projection surface 166 and / or displayed Figure 4 At 166 on the projected surface Figure 4 A portion (e.g., the whole) of the projected content 164 (e.g., the phrase "boiling water"). By Figure 3 and Figure 4 The presence of shadows projected and / or cast by the controlled shadow projection device 100 relative to the above Figure 3 The perceived quality of the projected content in example 164 was increased. Figure 4 The perceived quality of the projected content 164 is an example.

[0066] Back Figure 1 A diagrammatic example, Figure 1 Example memory 114 can be implemented by any type and / or any number of storage devices, such as storage drives, flash memory, read-only memory (ROM), random access memory (RAM), cache, and / or any other physical storage medium in which information is stored for any duration (e.g., extended time periods, permanent, short-lived instances, for temporary buffering, and / or for caching information). Information stored in memory 114 can be stored in any file and / or data structure format, organization scheme, and / or arrangement.

[0067] In some examples, Figure 1 The memory 114 stores the corresponding data generated by the memory 114. Figure 1 Image data of images and / or videos captured by camera 102 (e.g., Figure 1 Image data 146). In some examples, memory 114 stores image data 146. Figure 1 The environment determiner 118 of the imaging engine 104 identifies and / or determines environmental data (e.g., Figure 1 Environmental data 148). In some examples, memory 114 stores data from... Figure 1 The audience position determiner 120 of the imaging engine 104 identifies and / or determines audience position data (e.g., Figure 1 (The audience location data 150). In some examples, memory 114 stores data from... Figure 1 The audience posture determiner 122 of the imaging engine 104 identifies and / or determines audience posture data (e.g., Figure 1 (The audience posture data 152). In some examples, memory 114 stores data from... Figure 1 The projector position determiner 124 of the projection engine 106 identifies and / or determines the projector position data (e.g., Figure 1 (Projector position data 154). In some examples, memory 114 stores data from... Figure 1 The projection surface determiner 126 of the projection engine 106 identifies and / or determines the projection surface data (e.g., Figure 1 The projected surface data 156). In some examples, memory 114 stores the data from the projected surface. Figure 1 The projection source location determiner 128 of the projection engine 106 identifies and / or determines the projection source location data (e.g., Figure 1The projection source location data 158). In some examples, memory 114 stores the projection source location data 158. Figure 1 The light source position determiner 134 of the shadow casting engine 110 identifies and / or determines the light source position data (e.g., Figure 1 (Light source position data 160). In some examples, memory 114 stores data from... Figure 1 The shutter position determiner 136 of the shadow casting engine 110 identifies and / or determines shutter position data (e.g., Figure 1 Shutter position data 162).

[0068] Figure 1 The memory 114 may be derived from the example camera 102, example imaging engine 104, example projection engine 106, example projector 108, example shadow casting engine 110, example shadow projector 112, example environment determiner 118, example audience position determiner 120, example audience posture determiner 122, example projector position determiner 124, example projection surface determiner 126, example projection source position determiner 128, example projection controller 132, example light source position determiner 134, example shutter position determiner 136, example shutter controller 144 and / or more generally, Figure 1 Example of controlled shadow projection device 100 access.

[0069] Although Figure 1-4 The implementation is shown in the figure. Figure 1 An example of the controlled shadow projection device 100, but Figure 1-4 One or more of the components, processes, and / or devices shown may be combined, split, rearranged, omitted, eliminated, and / or implemented in any other way. Further, example camera 102, example imaging engine 104, example projection engine 106, example projector 108, example shadow projection engine 110, example shadow projector 112, example memory 114, example environment determiner 118, example audience position determiner 120, example audience posture determiner 122, example projector position determiner 124, example projection surface determiner 126, example projection source position determiner 128, example projection source 130, example projection controller 132, example light source position determiner 134, example shutter position determiner 136, example light source 138, example dome 140, example shutter 142, example shutter controller 144, and / or more generally... Figure 1The example controlled shadow projection device 100 can be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, example camera 102, example imaging engine 104, example projection engine 106, example projector 108, example shadow projection engine 110, example shadow projector 112, example memory 114, example environment determiner 118, example audience position determiner 120, example audience posture determiner 122, example projector position determiner 124, example projection surface determiner 126, example projection source position determiner 128, example projection source 130, example projection controller 132, example light source position determiner 134, example shutter position determiner 136, example light source 138, example dome 140, example shutter 142, example shutter controller 144, and / or more generally... Figure 1 Any of the example controlled shadow projection devices 100 can be implemented by one or more analog or digital circuits, logic circuits, programmable processors, application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field-programmable logic devices (FPLDs). When reading any device or system claim of this patent to cover purely software and / or firmware implementations, the example camera 102, example imaging engine 104, example projection engine 106, example projector 108, example shadow projection engine 110, example shadow projector 112, example memory 114, example environment determiner 118, example audience position determiner 120, example audience posture determiner 122, example projector position determiner 124, example projection surface determiner 126, example projection source position determiner 128, example projection source 130, example projection controller 132, example light source position determiner 134, example shutter position determiner 136, example light source 138, example dome 140, example shutter 142, example shutter controller 144, and / or more generally... Figure 1 At least one of the example controlled shadow projection devices 100 is hereby explicitly defined as including a non-transient computer-readable storage device or disk, such as a memory, digital versatile disk (DVD), optical disc (CD), Blu-ray disc, etc., which includes software and / or firmware. Furthermore, Figure 1 Example controlled shadow projection device 100 may include, in addition to Figure 1-4 One or more components, processes and / or devices other than those shown, or as Figure 1-4 The alternatives to those shown may be one or more elements, processes and / or devices, and / or may include more than one of any or all of the shown elements, processes and devices.

[0070] exist Figure 5-7 The diagram shows the representation used for implementation. Figure 1A flowchart of example machine-readable instructions for an example controlled shadow projection device 100. In these examples, machine-readable instructions include instructions for use such as the following combinations Figure 8 The example processor platform 800 discussed illustrates one or more processors, such as processor 802, executing one or more programs. Each program may be embodied in software stored on a non-transitory computer-readable storage medium such as a CD-ROM, floppy disk, hard drive, digital versatile disc (DVD), Blu-ray disc, or memory associated with processor 802, but any degree of all and / or part thereof may alternatively be executed by a device other than processor 802, and / or may be embodied in firmware or dedicated hardware. Furthermore, although references... Figure 5-7 The flowcharts shown describe example programs (multiple), but alternatively, implementations can be used. Figure 1 Examples of controlled shadow projection apparatus 100 include many other methods. For instance, the execution order of the individual blocks can be changed, and / or some of the described blocks can be altered, eliminated, or combined. Additionally or alternatively, any or all blocks can be implemented by one or more hardware circuits (e.g., discrete and / or integrated analog and / or digital circuits, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), comparators, operational amplifiers (op-amps), logic circuits, etc.) structured to perform the corresponding operations without executing software or firmware.

[0071] As mentioned above, implementation can be achieved using encoded instructions (e.g., computer and / or machine-readable instructions) stored on a non-transient computer and / or machine-readable medium. Figure 5-7 Example processes, non-transient computer and / or machine-readable media such as: hard disk drives, flash memory, read-only memory (ROM), compact discs (CDs), digital versatile discs (DVDs), caches, random access memory (RAM), and / or any other storage device or disk that stores information therein for any duration (e.g., over an extended period, permanently, during a short instance, during temporary buffering and / or information caching). As used herein, the term "non-transient computer-readable media" is explicitly defined to include any type of computer-readable storage device and / or disk, excluding propagated signals and transmission media. "Comprising" and "including" (and all forms and tenses thereof) are used herein as open-ended terms. Therefore, whenever a claim lists anything followed by any form of "comprising" or "including" (e.g., including, encompassing, etc.), it is to be understood that additional elements, terms, etc., may be present without exceeding the scope of the corresponding claim. As used herein, the phrase "at least" is as open-ended as the terms "comprising" and "including" when used concurrently with the claims.

[0072] Figure 5 is indicative of the example controlled shadow casting device 100 can be configured to perform to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 164) of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 164) of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 5 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g.,

[0073] At block 504, the example imaging engine 104 of the example system 100 processes image data captured by the camera 102 of the example system 100 to identify, detect, and / or determine features of the projection environment (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 6 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 5 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 5 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g.,

[0074] At block 506, the example projector position determiner 124 of the example projection engine 106 of the example system 100 identifies, detects, and / or determines a position of a projector associated with the projection environment (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 of the example system 100. The example program 500 is configured to implement the example controlled shadow casting device 100 to implement controlled shadow casting to increase a perceived quality of projected content (e.g., Figure 1 The location of the projector 108 (box 506). In such an example... Figure 1 The projector position determiner 124 can be based on environmental data (e.g., by querying and / or searching). Figure 1 Environmental data (148) is used to identify, detect, and / or determine the projector's location. In other examples, Figure 1 The projector position determiner 124 can request the projector to transmit its position to Figure 1 The projector position determiner 124 and / or example memory 114, and / or via from Figure 1 The memory 114 accesses projector position data (e.g., Figure 1 Projector position data 154) is used to identify, detect, and / or determine the projector's position. Following box 506, Figure 5 The control of example program 500 proceeds to box 508.

[0075] At box 508, Figure 1 Example projection engine 106 and example projection surface determiner 126 based on... Figure 1 Example imaging engine 104 (e.g., at box 504) identifies, detects, and / or determines projection environment features (e.g., Figure 1 Environmental data 148, audience position data 150, and / or audience posture data 152), and based on the environmental data 148, audience position data 150, and / or audience posture data 152, ... Figure 1 Example projector position determiner 124 identifies, detects, and / or determines the projector position (e.g., Figure 1 Projector position data 154) is used to identify, detect, and / or determine the projection surface (e.g., by...). Figure 1 The projected surface data 156 defined and / or related to Figure 1 The projection surface data 156 are associated with Figure 1 The projection surface 166 (frame 508). The following is in conjunction with... Figure 7 A more detailed description can be used for implementation. Figure 5 The example procedure in box 508 of example program 500. Following box 508, Figure 5 The control of example program 500 proceeds to box 510.

[0076] At box 510, Figure 1 Example projection engine 106 and example projection source location determiner 128 based on... Figure 1 Example projector position determiner 124 (e.g., at box 506) identifies, detects, and / or determines the projector position (e.g., Figure 1 The projector position data 154), and based on the ... Figure 1Example projection surface determiner 126 (e.g., at box 508) identifies, detects, and / or determines the projection surface (e.g., by...). Figure 1 The projected surface data 156 defined and / or related to Figure 1 The projection surface data 156 are associated with Figure 1 The projection surface 166) is used to identify, detect, and / or determine the target location of the projector's projection surface (e.g., the projection surface 166). Figure 1 The target position of the projection source 130 of the projector 108 (box 510). In some examples, Figure 1 The projection source position determiner 128 generates projection source position data corresponding to the target position of the projection source 130 identified, detected, and / or determined by the projection source position determiner 128 (e.g., Figure 1 The projection source location data is 158. Following box 510... Figure 5 The control of example program 500 proceeds to box 512.

[0077] At box 512, Figure 1 Example projector 108 and example projection controller 132 will project the projection source of the projector (e.g., Figure 1 The projection source 130 of the projector 108 is positioned at the determined target projection source location to project the content (e.g., Figure 1 The projected content 164) is projected and / or displayed on the projection surface (e.g., Figure 1 On the projection surface 166 (frame 512). For example. Figure 1 The projection controller 132 can Figure 1 The position and / or orientation of the projection source 130 of the projector 108 are adjusted, moved, and / or otherwise changed from their current position and / or orientation. Figure 1 The example projection source location determiner 128 (e.g., at box 510) determines the target location and / or orientation. Following box 512, Figure 5 The control of example program 500 proceeds to box 514.

[0078] At box 514 Figure 1 Example shadow casting engine 110 example light source position determiner 134 identifies, detects and / or determines the projection environment (e.g., Figure 1 The location of the light source associated with the projection environment 168 (e.g., by...) Figure 1 The light source position data 160 defined and / or with Figure 1 The light source position data 160 is associated with Figure 1 The position of the light source 138 (box 514). In such an example... Figure 1 The light source location determiner 134 can be based on environmental data (e.g., by querying and / or searching). Figure 1Environmental data (148) is used to identify, detect, and / or determine the location of the light source. In other examples, Figure 1 The light source position determiner 134 can be requested Figure 1 The light source and / or example shadow projector 112 transmits the position of the light source to Figure 1 The light source position determiner 134 and / or example memory 114, and / or via from Figure 1 Memory 114 accesses light source position data (e.g., Figure 1 The light source position data (160) is used to identify, detect, and / or determine the position of the light source. Following box 514, Figure 5 The control of example program 500 proceeds to box 516.

[0079] At box 516, Figure 1 Example shadow casting engine 110 example shutter position determiner 136 based on Figure 1 Example light source position determiner 134 (e.g., at box 514) identifies, detects, and / or determines the position of a light source (e.g., Figure 1 The light source position data 160), and based on the data from the ... Figure 1 Example projection surface determiner 126 (e.g., at box 508) identifies, detects, and / or determines the projection surface (e.g., by...). Figure 1 The projected surface data 156 defined and / or related to Figure 1 The projection surface data 156 are associated with Figure 1 The projection surface 166) is used to identify, detect, and / or determine the target location of the shadow projector's shutter (e.g., Figure 1 The target position of the shutter 142 of the shadow projector 112 (box 516). In some examples, Figure 1 The shutter position determiner 136 generates shutter position data corresponding to the target position of the shutter 142 identified, detected, and / or determined by the shutter position determiner 136 (e.g., Figure 1 (Shutter position data 162). Following frame 516. Figure 5 The control of example program 500 proceeds to box 518.

[0080] At box 518, Figure 1 Example shutter controller 144 of example shadow projector 112 will control the shutter of shadow projector (e.g., Figure 1 The shutter 142 of the shadow projector 112 is positioned at the determined target shutter position to surround the projected content (e.g., Figure 1 A portion (e.g., the whole) of the projected content 164) and / or in the projected content (e.g., Figure 1 The projected content 164) will be shadowed on a portion (e.g., the whole) of the projected content (e.g., Figure 1The projected shadow 170) is projected and / or projected onto the projection surface (e.g., Figure 1 On the projection surface 166 (frame 518). For example. Figure 1 The shutter controller 144 can Figure 1 The position and / or orientation of the shutter 142 of the shadow projector 112 is adjusted, moved, and / or otherwise changed from its current position and / or orientation. Figure 1 The example shutter position determiner 136 (e.g., at box 516) determines the target position and / or orientation. Following box 518, Figure 5 The control of example program 500 proceeds to box 520.

[0081] At position 520, Figure 1 Example controlled shadow projection device 100 determined Figure 1 The example shadow projector 112 and the example shutter controller 144 are to continue relative to the determined projection surface (e.g., Figure 1 The projection surface 166) controls the projection of shadows (e.g., Figure 1 The projected shadow 170)(box 520). For example. Figure 1 The controlled shadow projection device 100 can (e.g., from operably coupled to) Figure 1 The external device and / or user interface of the controlled shadow projection device receives one or more signals, commands, and / or instructions instructing the shutter controller 144 to stop controlling the projection of shadows relative to the determined projection surface. If Figure 1 The controlled shadow projection device 100 is defined at frame 520. Figure 1 The shutter controller 144 will continue to control the projection of shadows relative to the determined projection surface. Figure 5 The control of example program 500 returns to box 502. If Figure 1 The controlled shadow projection device 100 is instead located at frame 520. Figure 1 The shutter controller 144 will not continue to control the projection of shadows relative to the determined projection surface. Figure 5 The example program ended with error 500.

[0082] Figure 6 It means that it is possible Figure 1 Example controlled shadow projection device 100 performs to process image data (e.g., Figure 1 Image data 146) to identify the projection environment (e.g., Figure 1 A flowchart of an example machine-readable instruction 600 with the characteristics of the projection environment 168). Figure 6 The example operations in boxes 602, 604, 606, 608, 610, 612, 614, and 616 can be used to implement... Figure 5 The box number is 504.

[0083] Figure 6 Example program 600 in Figure 1 Example imaging engine 104 and example environment determiner 118 are based on image data (e.g., Figure 1 Image data 146) identifies, detects, and / or determines the relationship with the projection environment (e.g., Figure 1 The projection environment 168) begins when one or more structural surfaces associated with it and their corresponding locations (multiple) are present (box 602). In some examples, Figure 1 The environment determiner 118 determines the environment based on image data (e.g., Figure 1 Image data 146) executes one or more computer vision algorithms and / or models to identify, detect, and / or determine the presence and corresponding locations of multiple structural surfaces. In some examples, Figure 1 The environment determiner 118 generates environmental data corresponding to the structural surfaces (multiples) and corresponding locations (multiples) identified, detected, and / or determined by the environment determiner 118. Figure 1 (Environmental data 148). After box 602. Figure 6 The control of example program 600 proceeds to box 604.

[0084] At box 604, Figure 1 Example imaging engine 104 example environment determiner 118 determines image data (e.g., Figure 1 Does the image data 146 include data from a projector (e.g., Figure 1 The projector 108) corresponds to the identifiable structure (box 604). If Figure 1 The environment determiner 118 determines at frame 604 that the image data includes an identifiable structure corresponding to the projector. Figure 6 The control of example program 600 proceeds to box 606. If Figure 1 The environment determiner 118 alternatively determines at box 604 that the image data does not include an identifiable structure corresponding to the projector. Figure 6 The control of example program 600 proceeds to box 608.

[0085] At box 606, Figure 1 Example imaging engine 104 and example environment determiner 118 are based on image data (e.g., Figure 1 Image data 146) identifies, detects, and / or determines the relationship with the projection environment (e.g., Figure 1 The location of the projector associated with the projection environment 168) (e.g., Figure 1 The location of the projector 108 (box 606). In some examples, Figure 1 The environment determiner 118 determines the environment based on image data (e.g., Figure 1(Image data 146) Execute one or more computer vision algorithms and / or models to identify, detect, and / or determine the location of the projector. In some examples, Figure 1 The environment determiner 118 generates environmental data corresponding to the location of the projector identified, detected, and / or determined by the environment determiner 118 (e.g., Figure 1 Environmental data 148) and / or projector location data (e.g., Figure 1 Projector position data 154). Following box 606. Figure 6 The control of example program 600 proceeds to box 608.

[0086] At box 608, Figure 1 Example imaging engine 104 example environment determiner 118 determines image data (e.g., Figure 1 Does the image data 146 include data related to a light source (e.g., Figure 1 The identifiable structure (box 608) corresponding to the light source 138. If Figure 1 The environment determiner 118 determines at frame 608 that the image data includes an identifiable structure corresponding to the light source. Figure 6 The control of example program 600 proceeds to box 610. If Figure 1 The environment determiner 118 alternatively determines at box 608 that the image data does not include identifiable structures corresponding to the light source. Figure 6 The control of example program 600 proceeds to box 612.

[0087] At box 610, Figure 1 Example imaging engine 104 and example environment determiner 118 are based on image data (e.g., Figure 1 Image data 146) identifies, detects, and / or determines the relationship with the projection environment (e.g., Figure 1 The location of the light source associated with the projection environment 168 (e.g., Figure 1 The position of the light source 138 (box 610). In some examples, Figure 1 The environment determiner 118 determines the environment based on image data (e.g., Figure 1 (Image data 146) Execute one or more computer vision algorithms and / or models to identify, detect, and / or determine the location of light sources. In some examples, Figure 1 The environment determiner 118 generates environmental data corresponding to the location of the light source identified, detected, and / or determined by the environment determiner 118 (e.g., Figure 1 Environmental data 148) and / or light source location data (e.g., Figure 1 (Light source position data 160). After box 610. Figure 6 The control of example program 600 proceeds to box 612.

[0088] At block 612, Figure 1 The example audience position determiner 120 of the example imaging engine 104 determines whether the image data (e.g., Figure 1 The image data 146) includes identifiable audience members (e.g., one or more audience members) (block 612). If Figure 1 The audience position determiner 120 of the example imaging engine 104 determines that the image data includes identifiable audience members at block 612, then Figure 6 Control of the example procedure 600 proceeds to block 614. If Figure 1 The audience position determiner 120 of the example imaging engine 104 instead determines that the image data does not include identifiable audience members at block 612, then Figure 6 The example procedure 600 ends and control returns to the calling function or procedure, such as the example procedure 500. Figure 5

[0089] At block 614, Figure 1 The example audience position determiner 120 of the example imaging engine 104 identifies, detects, and / or determines the presence and corresponding location(s) of one or more audience members associated with the projection environment (e.g., Figure 1 The projection environment 168) based on the image data (e.g., Figure 1 The image data 146) (block 614). In some examples, Figure 1 The audience position determiner 120 of the example imaging engine 104 identifies, detects, and / or determines the presence and corresponding location(s) of the audience member(s) by executing one or more computer vision algorithms and / or models with respect to the image data (e.g., Figure 1 The image data 146). In some examples, Figure 1 The audience position determiner 120 of the example imaging engine 104 generates audience position data (e.g., Figure 1 The audience position data 150) corresponding to the audience member(s) and corresponding location(s) identified, detected, and / or determined by the audience position determiner 120. After block 614, Figure 6 Control of the example procedure 600 proceeds to block 616.

[0090] At block 616, Figure 1 The example audience pose determiner 122 of the example imaging engine 104 identifies, detects, and / or determines corresponding pose(s) (e.g., body orientation(s)) of the audience member(s) associated with the projection environment (e.g., Figure 1 The projection environment 168) based on the image data (e.g., Figure 1 The image data 146) (block 616). In some examples, Figure 1 The audience pose determiner 122 of the example imaging engine 104 identifies, detects, and / or determines the corresponding pose(s) of the audience member(s) by executing one or more computer vision algorithms and / or models with respect to the image data (e.g., Figure 1 ​Image data 146) executes one or more computer vision algorithms and / or models to identify, detect, and / or determine the corresponding poses of multiple audience members. In some examples, Figure 1 The audience posture determiner 122 generates audience posture data corresponding to the audience postures (multiple) identified, detected, and / or determined by the audience posture determiner 122 (e.g., Figure 1 (Audience posture data 152). After frame 616, Figure 6 Example program 600 ends and control returns to, for example, Figure 5 Example program 500 is a function or procedure call.

[0091] Figure 7 It means that it is possible Figure 1 Example controlled shadow projection device 100 performs based on the identified projection environment characteristics (e.g., Figure 1 The identified features of the projection environment 168 and the identified projector location (e.g., Figure 1 The projector 108 is positioned as indicated to determine the projection surface (e.g., the location marked on it). Figure 1 The flowchart of example machine-readable instruction 700 for the projected surface 166. Figure 7 The example operations in boxes 702, 704, 706, 708, 710, 712, 714, 716, and 718 can be used to implement... Figure 5 Box 508.

[0092] Figure 7 Example program 700 in Figure 1 Example projection engine 106 and example projection surface determiner 126 are based on the projection environment (e.g., Figure 1 The process begins when one or more identified structural surfaces associated with the projection environment 168 are identified, detected, and / or one or more candidate projection surfaces are determined (box 702). In some examples, Figure 1 The projection surface determiner 126 is based on and / or corresponds to the projection surface determined by the ... Figure 1 The example environmental data 148 identifies, detects, and / or determines a list and / or group of candidate projection surfaces (multiple). For example, the list and / or group of candidate projection surfaces identified, detected, and / or determined by projection surface determiner 126 may include those corresponding to those identified by the projection surface determiner 126. Figure 1 The environment determiner 118 of the imaging engine 104 identifies, detects, and / or determines and stores the environment as... Figure 1 Environmental data 148 includes one or more structural surfaces (multiple), such as wall surfaces, floor surfaces, countertop surfaces, and cabinet surfaces. Following frame 702... Figure 7 The control of example program 700 proceeds to box 704.

[0093] At box 704 Figure 1 Example projection engine 106's example projection surface determiner 126 selects a first candidate projection surface from the determined candidate projection surfaces (multiple) (box 704). Following box 704, Figure 7 The control of example program 700 proceeds to box 706.

[0094] At box 706 Figure 1 Example projection engine 106 and example projection surface determiner 126 determine the position based on the projector (e.g., Figure 1 The position of the projector 108), the projection source of the projector (e.g., Figure 1 Can the projection source 130 of the projector 108 be positioned to project content (e.g., Figure 1 The content to be projected (164) is projected onto the selected candidate projection surface (box 706). For example, the projection surface determiner 126 can determine the projection surface that is consistent with the selected candidate projection surface. Figure 1 The projection capabilities (e.g., rotation, tilt, translation, and / or scaling capabilities) associated with the projection source 130 of the projector 108 and known and / or accessible by the projection surface determiner 126 are based on Figure 1 The projector position data 154 enables the projection source 130 of the projector 108 to project and / or display content onto the selected candidate projection surface. If Figure 7 If the projection surface determiner 126 determines at frame 706 that the projection source of the projector cannot be positioned to project content onto the selected candidate projection surface, then... Figure 1 The control of example program 700 proceeds to box 708. If Figure 7 The projection surface determiner 126 alternatively determines at frame 706 that the projection source of the projector can be positioned to project content onto the selected candidate projection surface. Figure 1 The control of example program 700 proceeds to box 712.

[0095] At box 708 Figure 1 Example projection engine 106's example projection surface determiner 126 determines whether all determined candidate projection surfaces have been analyzed by projection surface determiner 126 (box 708). If Figure 7 The projection surface determiner 126 at box 708 determines that not all of the determined candidate projection surfaces have been analyzed. Figure 1 The control of example program 700 proceeds to box 710. If Figure 7 The projection surface determiner 126 alternatively determines at box 708 that all the determined candidate projection surfaces have been analyzed. Figure 5 Example program 700 ends and control returns to, for example Figure 1Example program 500, box 502, etc., call functions or procedures.

[0096] At box 710 Figure 7 Example projection engine 106's example projection surface determiner 126 selects the next candidate projection surface (e.g., a candidate projection surface different from the first candidate projection surface and / or different from any other previously analyzed candidate projection surfaces) from the determined candidate projection surfaces (multiple) (box 710). Following box 710, Figure 1 The control of example program 700 returns to box 706.

[0097] At box 712 Figure 1 Example projection engine 106 and example projection surface determiner 126 determine whether the viewer can see the content to be projected onto the selected candidate projection surface based on the viewer's position and / or posture (e.g., Figure 1 The projected content 164 (box 712). For example, the projection surface determiner 126 can be based on Figure 1 The audience position data 150 and / or audience posture data 152 determine the audience's position so that the audience can view the content projected by the projection source 130 of the projector 108 onto the selected candidate projection surface and / or the body orientation posture so that the audience can view the content projected by the projection source 130 of the projector 108 onto the selected candidate projection surface. If Figure 7 If the projection surface determiner 126 determines at frame 712 that the viewer cannot see the content to be projected onto the selected candidate projection surface, then... Figure 1 The control of example program 700 proceeds to box 714. If Figure 7 The projection surface determiner 126 alternatively determines at frame 712 that the audience can view the content to be projected onto the selected candidate projection surface. Figure 1 The control of example program 700 proceeds to box 718.

[0098] At box 714 Figure 1 Example projection engine 106's example projection surface determiner 126 determines whether all determined candidate projection surfaces have been analyzed by projection surface determiner 126 (box 714). If Figure 7 The projection surface determiner 126 at box 714 determines that not all of the determined candidate projection surfaces have been analyzed. Figure 1 The control of example program 700 proceeds to box 716. If Figure 7 The projection surface determiner 126 alternatively determines at box 714 that all the determined candidate projection surfaces have been analyzed. Figure 5 Example program 700 ends and control returns to, for exampleFigure 1 the example procedure 500 of FIG. 6.

[0099] At block 716, Figure 7 the example projection surface determiner 126 of the example projection engine 106 of FIG. 6 selects a next candidate projection surface (e.g., a candidate projection surface that is different from the first candidate projection surface and / or that is different from any other previously analyzed candidate projection surface) from among the determined candidate projection surface(s) (block 716). After block 716, Figure 1 control of the example procedure 700 of FIG. 6 returns to block 706.

[0100] At block 718, Figure 1 the example projection surface determiner 126 of the example projection engine 106 of FIG. 6 identifies the selected candidate projection surface as the determined projection surface (e.g., Figure 1 the projected content 164 of FIG. 6) is to be projected and / or displayed onto (block 718). After block 718, Figure 7 the example procedure 700 of FIG. 6 ends and control returns to the calling function or procedure such as Figure 5 the example procedure 500 of FIG. 6. Figure 8

[0101] Figures 5-7 is capable of executing the example instructions of FIG. 6 to implement the example controlled shadow casting device 100 of FIG. 6. Figure 1 is capable of executing the example instructions of FIG. 6 to implement the example controlled shadow casting device 100 of FIG. 6. Figure 8 is capable of executing the example instructions of FIG. 6 to implement the example controlled shadow casting device 100 of FIG. 6. TM is capable of executing the example instructions of FIG. 6 to implement the example controlled shadow casting device 100 of FIG. 6.

[0102] The example processor platform 800 of the illustrated example includes a processor 802. The processor 802 of the illustrated example is hardware. For example, the processor 802 can be implemented by one or more integrated circuits, logic circuits, microprocessors, or controllers from any desired family or manufacturer.The hardware processor 802 can be a semiconductor-based (e.g., silicon-based) device. In the example of FIG. 8, the processor 802 includes a central processing unit (CPU) 804, a memory controller unit (MCU) 806, and a peripheral controller unit (PCU) 808. Figure 1 Figure 8 ​The example includes an imaging engine 104, an example projection engine 106, an example shadow projection engine 110, an example environment determiner 118, an example audience position determiner 120, an example audience posture determiner 122, an example projector position determiner 124, an example projection surface determiner 126, an example projection source position determiner 128, an example light source position determiner 134, and an example shutter position determiner 136. The processor 802 in the illustrated example also includes local memory 804 (e.g., a cache).

[0103] The illustrated example processor 802 communicates with one or more cameras 806 via bus 116. Figure 1 In the illustrated example, cameras (multiple) 806 are implemented as Figure 8 Example camera 102. The processor 802 illustrated in the example also communicates with projector 808 via bus 116. Figure 1 In the illustrated example, the projector 808 is implemented as including Figure 1 Example projection source 130 and example projection controller 132 Figure 8 Example projector 108. The processor 802 of the illustrated example also communicates with one or more shadow projectors 810 via bus 116. Figure 1 In the illustrated example, the shadow casters (multiple) 810 are implemented as including Figure 1 Example light source 138, example dome 140, example shutter 142, and example shutter controller 144 Figure 8 Example shadow caster 112.

[0104] The processor 802 in the illustrated example also communicates via bus 116 with main memory, which includes volatile memory 812 and non-volatile memory 814. Volatile memory 812 can be implemented using synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS dynamic random access memory (RDRAM), and / or any other type of random access memory device. Non-volatile memory 814 can be implemented using flash memory and / or any other desired type of memory device. A memory controller controls access to main memory 812, 814.

[0105] The processor platform 800 illustrated also includes interface circuitry 816. Interface circuitry 816 can be implemented using any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB) interface, and / or a PCI Fast interface.

[0106] In the illustrated example, one or more input devices 818 are connected to interface circuitry 816. The input devices (multiples) 818 allow users to input data and / or commands into processor 802. The input devices (multiples) 818 can be implemented as, for example, audio sensors, microphones, cameras (still or video), keyboards, buttons, mice, touchscreens, trackpads, trackballs, isopoint mice, and / or speech recognition systems.

[0107] One or more output devices 820 are also connected to the interface circuitry 816 of the illustrated example. The output devices(s) 820 may be implemented by, for example, display devices (e.g., light-emitting diodes (LEDs), organic light-emitting diodes (OLEDs), liquid crystal displays, cathode ray tube displays (CRTs), projectors, touchscreens, haptic output devices, printers, and / or speakers). Therefore, the interface circuitry 816 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor.

[0108] The illustrated example interface circuit 816 also includes communication devices such as transmitters, receivers, transceivers, modems, and / or network interface cards to facilitate the exchange of data with external machines (e.g., any kind of computing device) via network 822 (e.g., Ethernet connection, Digital Subscriber Line (DSL), telephone line, coaxial cable, cellular telephone system, Wireless Local Area Network (WLAN), etc.).

[0109] The illustrated example processor platform 800 also includes one or more mass storage devices 824 for storing software and / or data. Examples of such mass storage devices 824 include floppy disk drives, hard disk drives, optical disk drives, Blu-ray disc drives, RAID systems, and digital versatile disc (DVD) drives. Figure 1 In the illustrated example, mass storage device 824 includes Figures 5-7 Example memory 114.

[0110] and ​ The encoded instructions 826 corresponding to the program (multiple) can be stored in a mass storage device 824, a local memory 804, a volatile memory 812, a non-volatile memory 814, and / or on a removable tangible computer-readable storage medium such as a CD or DVD.

[0111] From the foregoing, it will be appreciated that example methods and apparatuses for controlled shadow casting to increase perceived quality of projected content have been disclosed. The disclosed methods and apparatuses for controlled shadow casting reduce (e.g., eliminate) many of the shortcomings associated with known methods for increasing perceived quality of projected content described above. For example, the disclosed methods and apparatuses for controlled shadow casting advantageously increase perceived quality of projected content without requiring dimming of a projection environment, without requiring increasing intensity of light projected by a projector, and without requiring increasing reflective properties of any projection surface onto which content is to be projected.

[0112] In some examples, an apparatus for increasing perceived quality of content projected onto a projection surface is disclosed. In some disclosed examples, the apparatus includes a shutter position determiner to determine a target shutter position of a shutter based on a location of a light source and a location of the projection surface. In some disclosed examples, the apparatus further includes a shutter controller to move the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface.

[0113] In some disclosed examples of the apparatus, in response to the shutter being moved to the target shutter position by the shutter controller, the shutter will be located between the location of the light source and the location of the projection surface. In some disclosed examples, the shutter controller is to move the shutter along a surface of a dome.

[0114] In some disclosed examples, the apparatus further includes a projection source position determiner to determine a target projection source position of a projection source based on a location of a projector and a location of the projection surface. In some disclosed examples, the apparatus further includes a projection controller to move the projection source to the target projection source position to project the content onto the projection surface. In some disclosed examples of the apparatus, in response to the projection source being moved to the target projection source position by the projection controller, the projection source will be directed toward the projection surface.

[0115] In some disclosed examples, the apparatus further includes a projection surface determiner to identify the projection surface and the location of the projection surface. In some disclosed examples of the apparatus, the projection surface determiner is to identify the projection surface from among a plurality of candidate projection surfaces based on a location of a projector. In some disclosed examples, the candidate projection surfaces correspond to structural surfaces associated with a projection environment. In some disclosed examples, the structural surfaces are to be identified by an imaging engine based on image data associated with the projection environment.

[0116] In some disclosed examples of the apparatus, the projection surface determiner is to identify the projection surface further based on a position of a viewer associated with the projection environment. In some disclosed examples, the position of the viewer is to be identified by the imaging engine based on the image data. In some disclosed examples of the apparatus, the projection surface determiner is to identify the projection surface further based on a pose of a viewer. In some disclosed examples, the pose of the viewer is to be identified by the imaging engine based on the image data.

[0117] In some examples, one or more non-transitory machine-readable storage media comprising instructions are disclosed. In some examples, the instructions, when executed, cause one or more processors to determine a target shutter position for a shutter based on a position of a light source and a position of a projection surface. In some examples, the instructions, when executed, further cause the one or more processors to move the shutter to the target shutter position to cast a shadow on the projection surface around a portion of content projected onto the projection surface.

[0118] In some disclosed examples of the one or more non-transitory machine-readable storage media, in response to the shutter being moved to the target shutter position, the shutter is to be positioned between the position of the light source and the position of the projection surface. In some disclosed examples, the shutter is to be moved to the target shutter position along a surface of a dome.

[0119] In some disclosed examples of the one or more non-transitory machine-readable storage media, the instructions, when executed, further cause the one or more processors to determine a target projection source position for a projection source based on a position of a projector and a position of a projection surface. In some disclosed examples, the instructions, when executed, further cause the one or more processors to move the projection source to the target projection source position to project the content onto the projection surface. In some disclosed examples, in response to the projection source being moved to the target projection source position, the projection source is to be directed toward the projection surface.

[0120] In some disclosed examples of the one or more non-transitory machine-readable storage media, the instructions, when executed, further cause the one or more processors to identify the projection surface and the position of the projection surface. In some disclosed examples, the instructions, when executed, further cause the one or more processors to identify the projection surface from among a plurality of candidate projection surfaces based on a position of a projector. In some disclosed examples, the candidate projection surfaces correspond to structural surfaces associated with a projection environment. In some disclosed examples, the structural surfaces are to be identified by an imaging engine based on image data associated with the projection environment.

[0121] In some disclosed examples of the one or more non-transitory machine- readable storage media, the instructions, when executed, further cause the one or more processors to identify the projection surface further based on a position of a spectator associated with a projection environment. In some disclosed examples, the position of the spectator is to be identified by the imaging engine based on the image data. In some disclosed examples of the one or more non-transitory machine-readable storage media, the instructions, when executed, further cause the one or more processors to identify the projection surface further based on a pose of a spectator. In some disclosed examples, the pose of the spectator is to be identified by the imaging engine based on the image data.

[0122] In some examples, a method for increasing a perceived quality of content projected onto a projection surface is disclosed. In some disclosed examples, the method includes determining, by executing computer-readable instructions with one or more processors, a target shutter position of a shutter based on a position of a light source and a position of a projection surface. In some disclosed examples, the method further includes moving, via a shutter controller, the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface.

[0123] In some disclosed examples of the method, the shutter is to be positioned between the position of the light source and the position of the projection surface in response to the shutter being moved to the target shutter position. In some disclosed examples, moving the shutter to the target shutter position includes moving the shutter along a surface of a dome.

[0124] In some disclosed examples, the method further includes determining, by executing computer-readable instructions with the one or more processors, a target projection source position of a projection source based on a position of a projector and a position of a projection surface. In some disclosed examples, the method further includes moving, via a projection controller, the projection source to the target projection source position to project the content onto the projection surface. In some disclosed examples, the projection source is to be directed toward the projection surface in response to the projection source being moved to the target projection source position.

[0125] In some disclosed examples, the method further includes identifying, by executing computer-readable instructions with the one or more processors, the projection surface and the position of the projection surface. In some disclosed examples, the identifying of the projection surface includes identifying the projection surface from among a plurality of candidate projection surfaces based on a position of a projector. In some disclosed examples, the candidate projection surfaces correspond to structural surfaces associated with a projection environment. In some disclosed examples, the structural surfaces are identified by an imaging engine based on image data associated with the projection environment.

[0126] In some disclosed examples of the method, the identification of the projection surface is further based on a position of a viewer associated with the projection environment. In some disclosed examples, the position of the viewer is identified by the imaging engine based on the image data. In some disclosed examples of the method, the identification of the projection surface is further based on a pose of a viewer. In some disclosed examples, the pose of the viewer is identified by the imaging engine based on the image data.

[0127] In some examples, an apparatus for increasing a perceived quality of content projected onto a projection surface is disclosed. In some disclosed examples, the apparatus includes means for determining a target shutter position of a shutter based on a position of a light source and a position of a projection surface. In some disclosed examples, the apparatus further includes means for moving the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface.

[0128] In some disclosed examples of the apparatus, in response to the shutter being moved to the target shutter position by the means for moving the shutter, the shutter will be positioned between the position of the light source and the position of the projection surface. In some disclosed examples, the means for moving the shutter is to move the shutter along a surface of a dome.

[0129] In some disclosed examples, the apparatus further includes means for determining a target projection source position of a projection source based on a position of a projector and a position of a projection surface. In some disclosed examples, the apparatus further includes means for moving the projection source to the target projection source position to project the content onto the projection surface. In some disclosed examples, in response to the projection source being moved to the target projection source position by the means for moving the projection source, the projection source will be directed toward the projection surface.

[0130] In some disclosed examples, the apparatus further includes means for identifying the projection surface and the position of the projection surface. In some disclosed examples, the means for identifying the projection surface is to identify the projection surface from among a plurality of candidate projection surfaces based on a position of a projector. In some disclosed examples, the candidate projection surfaces correspond to structural surfaces associated with a projection environment. In some disclosed examples, the structural surfaces are to be identified by an image processing apparatus based on image data associated with the projection environment.

[0131] In some disclosed examples of the apparatus, the means for identifying the projection surface is to identify the projection surface further based on a position of a viewer associated with the projection environment. In some disclosed examples, the position of the viewer is to be identified by the imaging processing apparatus based on the image data. In some disclosed examples of the apparatus, the means for identifying the projection surface is to identify the projection surface further based on a pose of the viewer. In some disclosed examples, the pose of the viewer is to be identified by the imaging processing apparatus based on the image data.

[0132] Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture falling within the scope of the claims.

Claims

1. An apparatus for increasing a perceived quality of content projected onto a projection surface, the apparatus comprising: a shutter position determiner to determine a target shutter position of a shutter based on a position of a light source and a position of a projection surface; and a shutter controller to move the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface, wherein the shutter controller is to move the shutter along a surface of a dome.

2. The apparatus of claim 1, wherein, in response to the shutter being moved to the target shutter position by the shutter controller, the shutter is to be positioned between the position of the light source and the position of the projection surface.

3. The apparatus of any one of claims 1-2, further comprising: a projection source position determiner to determine a target projection source position of a projection source based on a position of a projector and a position of a projection surface; and a projection controller to move the projection source to the target projection source position to project the content onto the projection surface.

4. The apparatus of claim 3, wherein, in response to the projection source being moved to the target projection source position by the projection controller, the projection source is to be directed toward the projection surface.

5. The apparatus of claim 3, further comprising a projection surface determiner to identify the projection surface and the position of the projection surface.

6. The apparatus of claim 5, wherein the projection surface determiner is to identify the projection surface from among a plurality of candidate projection surfaces based on the position of the projector.

7. The apparatus of claim 6, wherein the candidate projection surfaces correspond to structural surfaces associated with a projection environment, the structural surfaces to be identified by an imaging engine based on image data associated with the projection environment.

8. The apparatus of claim 7, wherein the projection surface determiner is to identify the projection surface further based on a position of an audience member associated with the projection environment, the position of the audience member to be identified by the imaging engine based on the image data.

9. The apparatus of claim 8, wherein the projection surface determiner is to identify the projection surface further based on a pose of the audience member, the pose of the audience member to be identified by the imaging engine based on the image data.

10. At least one non-transitory machine-readable storage medium comprising instructions that, when executed, cause one or more processors to at least: determine a target shutter position of a shutter based on a position of a light source and a position of a projection surface; and move the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of content projected onto the projection surface, wherein the shutter is moved along a surface of a dome.

11. The at least one non-transitory machine-readable storage medium of claim 10, wherein the instructions, when executed, further cause the one or more processors to: determine a target projection source position of a projection source based on a position of a projector and a position of a projection surface; and move the projection source to the target projection source position to project the content onto the projection surface. ​ ​ 12. The at least one non-transitory machine readable storage medium of claim 11, wherein the instructions, when executed, further cause the one or more processors to identify the projection surface and a location of the projection surface.

13. The at least one non-transitory machine readable storage medium of claim 12, wherein the instructions, when executed, further cause the one or more processors to identify the projection surface from among a plurality of candidate projection surfaces based on a location of a projector.

14. The at least one non-transitory machine readable storage medium of claim 13, wherein the candidate projection surfaces correspond to structural surfaces associated with a projection environment, the structural surfaces to be identified by an imaging engine based on image data associated with the projection environment.

15. A method for increasing a perceived quality of content projected onto a projection surface, the method comprising: determining, by executing computer readable instructions with one or more processors, a target shutter position of a shutter based on a location of a light source and a location of a projection surface; and moving, via a shutter controller, the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface, wherein the shutter controller is to move the shutter along a surface of a dome.

16. The method of claim 15, further comprising: determining, by executing computer readable instructions with the one or more processors, a target projection source position of a projection source based on a location of a projector and a location of a projection surface; and moving, via a projection controller, the projection source to the target projection source position to project the content onto the projection surface.

17. The method of claim 16, further comprising identifying, by executing computer readable instructions with the one or more processors, the projection surface and a location of the projection surface.

18. The method of claim 17, wherein the identifying of the projection surface includes identifying the projection surface from among a plurality of candidate projection surfaces based on a location of a projector.

19. The method of claim 18, wherein the candidate projection surfaces correspond to structural surfaces associated with a projection environment, the structural surfaces identified by an imaging engine based on image data associated with the projection environment.

20. An apparatus for increasing a perceived quality of content projected onto a projection surface, the apparatus comprising: means for determining a target shutter position of a shutter based on a location of a light source and a location of a projection surface; and means for moving the shutter to the target shutter position to cast a shadow onto the projection surface around a portion of the content projected onto the projection surface, wherein the shutter is moved along a surface of a dome.

21. The apparatus of claim 20, further comprising: means for determining a target projection source position of a projection source based on a location of a projector and a location of a projection surface; and means for moving the projection source to the target projection source position to project the content onto the projection surface.

22. The apparatus of claim 21, further comprising means for identifying the projection surface and a location of the projection surface.

23. The apparatus of claim 22, wherein the means for identifying the projection surface is to identify the projection surface from among a plurality of candidate projection surfaces based on a location of a projector.

24. The apparatus of claim 23, wherein the candidate projection surfaces correspond to structural surfaces associated with a projection environment that are to be identified by the image processing apparatus based on image data associated with the projection environment.

Citation Information

Patent Citations

  • Multiple projected image edge blender apparatus and method

    US20030030775A1

  • Projection screen qualification and selection

    US8840250B1