Current imaging techniques have failed to adequately address undesired ambient light. Some partial but inadequate solutions have been devised, including drowning out ambient light using a very bright light. This partial solution, however, often requires a brighter illuminant than is practical, higher power usage than is desired, or creates undesirably high heat. Also, it fails to handle very bright ambient light, such as outdoor scenes on a sunny day or when imaging a gesture made over a bright computer screen. Other partial but inadequate solutions include spectral approaches in which an object is illuminated with a narrow-frequency light and then band-pass filtering the image. This approach can fail due to the narrow-frequency lighting device drifting out of the narrow-frequency band.
Another partial but inadequate solution involves capturing an image with a light on, then another image with the light off, and then subtracting the ambient background light to provide an image having only the provided light. This solution, however, fails to address the ambient light changing or the image changing, such as when an object in the imaging area is moving. These problems can be addressed somewhat through complex and resource-intensive processing of the images and a fast camera, though the processing is computationally expensive and these fast cameras are also costly and often large and heavy as well. Further, even with this processing and fast camera, motion artifacts cannot be completely addressed.
This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. These apparatuses and techniques are capable of capturing two images, where one of the images integrates multiple exposures during which an image area is illuminated by a light source and another of the images integrates multiple exposures during which the image is not illuminated by the light source. The image area can be illuminated by rapidly flashing the image area with the light source and synchronizing a shutter to permit one image sensor to capture an image when the image area is illuminated and another image sensor to capture the image area when the image area is not illuminated. These two images can be captured concurrently or nearly concurrently, thereby reducing or eliminating motion artifacts. Further, these apparatus and techniques may do so with slow and relatively low-cost cameras and relatively low computational costs.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit of a reference number identifies the figure in which the reference number first appears. The use of the same reference number in different instances in the description and the figures may indicate similar or identical items.
Overview
This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. Various embodiments of these techniques and apparatuses enable subtraction of ambient or other light with little or no motion artifacts, using relatively slow image sensors, and/or with relatively low usage of computational resources.
In some embodiments, for example, a camera system having two slow frame-rate image sensors capable of capturing an image 60 or fewer times per second, a light source that rapidly flashes an object, and shutters synchronized with the flashes enables one of the image sensors to receive light from the image area when the image area is illuminated by the light source and the other of the image sensors to receive light from the image area when the image area is not illuminated by the light source (assuming the shutters integrating the two sensors are synchronized). The image sensors may have a slow frame rate, which often results in the image sensors being small and inexpensive, without negatively affecting the techniques' ability to subtract ambient light as noted in part above. With these two images, a net image can be calculated that subtracts out ambient or other sources of light.
The described apparatuses and techniques, however, enable relatively slow frame-rate image sensors, in conjunction with synchronized light sources and shutters, to gain a resiliency to motion artifacts. This resiliency can be equal to fast frame-rate image sensors operating at a frame-rate of the shutters of the slow frame-rate image sensors that follow the described techniques. By so doing, the apparatus and techniques may be less costly and require lower computing and video bandwidth for similar or even superior resiliency to motion artifacts.
Example Environment
Image area 102 is an area of which an image will be captured by image sensors 110, such as a moving hand, person, or object, as well as unmoving parts of the area. For example, image area 102 may be actors in a studio performing a comedy, a persons' hand performing a gesture over a lighted computer screen, a person moving his arms to control a game, or a wildlife scene of a butterfly landing on a flower.
Light source 106 is capable of illuminating image area 102 with rapidly flashing light. This rapid flashing can be random, regular, patterned, periodic, or coded in various manners, and is capable of illuminating image area 102 at a flash rate twice as fast (or faster) as an image-capture-rate of image sensors 110. Further, light source 106 illuminates image area 102 some fraction of an amount of time in which image sensors 110 are exposed, such as ¼, ⅓, ½, ⅔, ¾, and so forth, depending on various factors set forth elsewhere herein. Light source 106 can include light-emitting-diodes (LEDs), laser diodes, and other types of lighting elements. Light source 106 can provide various frequencies of light, such as infrared, narrow-band, white, and so forth.
Ambient light 108 can be any type of light, such as light within an office building (e.g., fluorescent, incandescent, and/or natural light through glass, each alone or in combination), lighting in a television studio, light from a computer screen, or light from the sun or moon (direct, reflected, and/or refracted), to name just a few.
Image sensors 110, marked as first image sensor 110-1 and second image sensor 110-2 in
Shutter system 112 is capable of shuttering as fast as, and being synchronized with (or vice-a-versa), the flash rate and pattern of light source 106 and/or other light sources set forth elsewhere herein. Shutter system 112 is capable of preventing one of image sensors 110 from being exposed to light from light source 106 while exposing at least one other image sensor 110 to that light.
In embodiment 100 of
Generally, controller 114 is capable of controlling and synchronizing shutters and lighting of image area 102. In some embodiments, controller 114 is capable of flashing light source 106 and shuttering shutters of shuttering system 112 effective to enable image sensor 110-1 to capture a first image integrating multiple exposures during which light source 106 is flashed and to enable image sensor 110-2 to capture a second image integrating multiple exposures during which light source 106 is not flashed. Thus, controller 114 can cause shutters of shuttering system 112 to expose or pass light synchronously with illuminations of image area 102 by light source 106.
Further, in some embodiments controller 114 is capable of coding or patterning the flashing of flashing light source 106 to address particular kinds of ambient light. Consider a case where image area 102 is indoors and exposed to fluorescent ambient light. Fluorescent lights and some other types of light are not steady, though they may appear so. Instead, some types of lights flicker, such as at twice the supply frequency, e.g., fluorescent light sources may “flicker” at 50 Hz to 120 Hz, for example, which many people cannot see. Controller 114 determines the pattern of the fluorescent's illumination with various sensors (not shown), and thereby determines the rate and regularity at which the ambient light flickers. Controller 114 may then code the flashing of flashing light source 106 to this pattern of light flickering. This is but one way in which the apparatuses and techniques may avoid interference from ambient light.
These example embodiments are not intended to limit application of controller 114. Ways in which controller 114 acts and interacts, including with elements described in
Computing device 202 also includes, or is in communication with, image sensors 110, input/output (I/O) ports 216, and network interface(s) 218. Image sensors 110 capture images as noted herein, and may be separate or integral with computing device 202. In some cases image sensors 110 can be used to capture gestures made near a lighted computer display, such as display 220 of tablet 202-5 or in proximity to a computing device, such as desktop 202-4 for larger gestures (like arm and body movements).
Captured images are received by computing device 202 from image sensors 110 via the one or more I/O ports 216. I/O ports 216 enable interaction generally between controller 114 and light source 106, shuttering system 112, and image sensors 110. I/O ports 216 can include a variety of ports, such as by way of example and not limitation, high-definition multimedia (HDMI), digital video interface (DVI), display port, fiber-optic or light-based, audio ports (e.g., analog, optical, or digital), USB ports, serial advanced technology attachment (SATA) ports, peripheral component interconnect (PCI) express based ports or card slots, serial ports, parallel ports, or other legacy ports.
Computing device 202 may also include network interface(s) 218 for communicating data over wired, wireless, or optical networks. Data communicated over such networks may include control data from controller 114, timing, sequences, coding, and the like to or from light source 106 and shuttering system 112. By way of example and not limitation, network interface 218 may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, a mesh network, and the like.
Example Methods
Block 302 rapidly flashes an object with a first light source, the object illuminated by a second light source in addition to the first light source. As noted in part above, this second light source can be ambient light. This second light source, however, may also or instead include another flashing light source. Use of other flashing light sources is set forth in greater detail elsewhere herein.
Block 304 synchronizes shuttering to expose and not expose different image sensors to the rapid flashing, the synchronized shuttering exposing a first image sensor during the flashes and a second image sensor not during the flashes. By way of example, consider a case where controller 114 synchronizes mechanical shutters to open one shutter prior to or during each flash and close prior to or during each flash (this first mechanical shutter is optically interposed between the object and the first image sensor). Controller 114 also synchronizes another mechanical shutter to open when or after each flash ceases and close prior to or when each flash begins (this second mechanical shutter is optically interposed between the object and the second image sensor).
By way of another example, consider
Block 306 captures, at the first image sensor, a first image of the object, the first image integrating multiple exposures during which the object is illuminated by the first light source during multiple, respective flashes and during which the object is also illuminated by the second light source.
Returning to the ongoing example of
Block 308 captures, at the second image sensor, a second image of the object, the second image integrating multiple exposures during which the object is not illuminated by the first light source but is illuminated by the second light source. For the ongoing example, image sensor 110-2 is exposed five times for a single image captured, the five times when object 104 is not illuminated by light source 106 but is illuminated by ambient light 108.
Block 310 compares the first image and the second image effective to create a net image, the net image showing the object illuminated by the first light source but not illuminated by the second light source. This first light source flashes image area 102 but the second light source is not necessarily ambient light 108. Instead, other flashing light sources may be those excluded or removed to provide a net image. Furthermore, block 310 is not necessarily performed by controller 114. In some cases, controller 114 of
As noted in part above, first and second images captured during methods 300 can be captured concurrently or nearly concurrently. Image sensor 110-1 and image sensor 110-2 can be capturing images concurrently at the start of time 1 of graph 402 of
Additionally and optionally, block 312 may synchronize shuttering of other image sensors to an additional flashing light source to provide one or more additional images. Capture of additional images can be interleaved with capture of images one and two.
By way of example, consider
While not shown, other image sensors may be used, such as one to capture another image when object 104 is exposed to ambient but no other light sources, or other images to capture images when flashed with still further flashing light sources. Note that light source 502 illuminates image area 102 from a different direction than light source 106 effective to provide a shadow of object 104. This difference in direction changes shadows of object 104, which can aid in 3D applications as noted herein, such as when object 104 is moving and thus its location is tracked through this movement based on the shadows. As noted in part above, additional images sensors may be used for 3D applications, though these additional image sensors are not necessarily required, as images can be captured by image sensors 110-1 and 110-2 that are illuminated by additional lights sources and thus have different shadowing.
In more detail, at
This example pattern is not required, however. Controller 114 may instead flash light source 106 at times 1, 5, and 9, another light source at times 3 and 7, and use (or avoid exposure during) times 2, 4, 6, and 8 based on a determined flicker of a fluorescent ambient light at times 2, 4, 6, and 8, for example. Other ways of coding one or more light sources are described elsewhere herein.
Light passes to beam splitter 116 and then to ferro-electric polarization retarder 118-1 (associated with image sensor 110-1) and a second beam splitter 506. From second beam splitter 506, light passes to ferro-electric polarization retarder 118-2 (associated with image sensor 110-2) and additional shutter 504, after which second-flash-exposure light 508 may pass to image sensor 110-3. Note that the light that exposes image sensors 110 alternates by threes based on when image area 102 is illuminated, shown at flash exposure light 404, non-flash exposure light 406, and second-flash-exposure light 508.
Block 702 rapidly flashes an object with a first light source, the object illuminated by ambient light in addition to the first light source. This rapid flashing is a multiple of the image sensors' frame rate, such as four or six times this frame rate. Thus, assuming that the image sensors' frame rate is eight, controller 114 flashes the object with light source 106 32 times per second at a four multiple flash rate.
Block 704 synchronizing shuttering of image sensors to the rapid flashing, the synchronized shuttering exposing a first image sensor during the flashes and a second image sensor not during the flashes.
Block 706 captures, at the first image sensor, a first image of the object, the first image integrating two or more exposures during which the object is illuminated by the first light source during multiple, respective flashes and during which the object is also illuminated by the ambient light.
Block 708 captures, at the second image sensor, a second image of the object, the second image integrating two or more exposures during which the object is not illuminated by the first light source but is illuminated by the ambient light.
Block 710 provides the first image and the second image effective to enable creation of a net image, the net image showing the object illuminated by the first light source but not illuminated by the ambient light.
Any of the methods set forth herein may provide images to a third party to create a net image or may create the net image internally, such as by post-processing module 212 of
Note that various blocks of methods 300 and/or 700 may be repeated effective to continually provide images by which ambient light may be removed and/or locations be determined (whether for 3D applications, gesture recognition, or otherwise), among other applications.
The preceding discussion describes methods in which the techniques for rapid synchronized lighting and shuttering may be performed. These methods are shown as sets of blocks that specify operations performed but are not necessarily limited to the order shown for performing the operations by the respective blocks.
Aspects of these methods may be implemented in hardware (e.g., fixed logic circuitry), firmware, a System-on-Chip (SoC), software, manual processing, or any combination thereof. A software implementation represents program code that performs specified tasks when executed by a computer processor, such as software, applications, routines, programs, objects, components, data structures, procedures, modules, functions, and the like. The program code can be stored in one or more computer-readable memory devices, both local and/or remote to a computer processor. The methods may also be practiced in a distributed computing environment by multiple computing devices.
Example Device
Device 800 includes communication devices 802 that enable wired and/or wireless communication of device data 804 (e.g., received data, data that is being received, data scheduled for broadcast, data packets of the data, etc.). The device data 804 or other device content can include configuration settings of the device, media content stored on the device, and/or information associated with a viewer of the device. Media content stored on device 800 can include any type of audio, video, and/or image data. Device 800 includes one or more data inputs 806 via which any type of data, media content, and/or inputs can be received, such as viewer-selectable inputs, position changes of a viewer, messages, music, television media content, recorded video content, and any other type of audio, video, and/or image data received from any content and/or data source.
Device 800 also includes communication interfaces 808, which can be implemented as any one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, and as any other type of communication interface. The communication interfaces 808 provide a connection and/or communication links between device 800 and a communication network by which other electronic, computing, and communication devices communicate data with device 800.
Device 800 includes one or more processors 810 (e.g., any of microprocessors, controllers, and the like), which process various computer-executable instructions to control the operation of device 800 and to enable techniques for rapid synchronized lighting and shuttering. Alternatively or in addition, device 800 can be implemented with any one or combination of hardware, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits which are generally identified at 812. Although not shown, device 800 can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.
Device 800 also includes computer-readable storage media 814, such as one or more memory devices that enable persistent and/or non-transitory data storage (i.e., in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewriteable compact disc (CD), any type of a digital versatile disc (DVD), and the like. Device 800 can also include a mass storage media device 816.
Computer-readable storage media 814 provides data storage mechanisms to store the device data 804, as well as various device applications 818 and any other types of information and/or data related to operational aspects of device 800. For example, an operating system 820 can be maintained as a computer application with the computer-readable storage media 814 and executed on processors 810. The device applications 818 may include a device manager, such as any form of a control application, software application, signal-processing and control module, code that is native to a particular device, a hardware abstraction layer for a particular device, and so on. The device applications 818 also include any system components or modules to implement these described techniques. In this example, the device applications 818 can include controller 114.
Furthermore, device 800 may include or be capable of communication with display 220, image sensors 110, light sources 106, and shuttering system 112.
Conclusion
This document describes various apparatuses and techniques for rapid synchronized lighting and shuttering. This rapid synchronized lighting and shuttering permits images without ambient or other undesired light to be created with little or no motion artifacts. Further, these apparatus and techniques may do so with slow and relatively low-cost cameras and relatively low computational costs. Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention.