Remote controls are commonly used for controlling various consumer electronic devices, such as televisions and stereo systems, from a distance. As an example, the ubiquitous television remote control comprises a wireless handheld device with buttons for adjusting various television settings such as the television channel and volume. The typical procedure for controlling a consumer electronic device using a remote control is to point the remote control in the direction of the consumer electronic device and then to wirelessly transmit various device commands to the consumer electronic device via the selection of various buttons on the remote control.
Most remote controls transmit infrared (IR) signals or radio-frequency (RF) signals in order to control the remote consumer electronic devices. Many different infrared transmission protocols exist. One infrared transmission protocol is the NEC IR transmission protocol, which uses pulse distance encoding of the message bits. Another infrared transmission protocol is the RC-5 protocol, which provides a one-way protocol for transmitting device commands to a consumer electronic device. In the case of the RC-5 protocol, the remote control typically includes a transmitter IC driving an IR emitter source (e.g., an IR LED) for generating an IR signal. The remote control transmits the IR signal including the device commands via a Manchester coded bitstream modulating a 36-40 kHz carrier signal. The transmitted IR signal is then detected by an IR enabled consumer electronic device using an IR light sensor (e.g., a photodiode or phototransistor) and demodulated such that the consumer electronic device can act in accordance with the received device commands.
Universal remote controls have been developed to consolidate a large number of different remote controls, due to different IR transmission protocols used by various consumer electronic device manufacturers and the fact that each consumer electronic device is typically shipped with its own remote control, into a single universal remote control. A universal remote control may be programmed to control many different consumer electronic devices utilizing different IR transmission protocols. For example, a single universal remote control may be configured to control a television, a VCR, a DVD player, and a stereo system.
Technology is described for controlling infrared (IR) enabled devices by projecting coded IR pulses from an active illumination depth camera. In some embodiments, a gesture recognition system includes an active illumination depth camera such as a depth camera that utilizes time-of-flight (TOF) or structured light techniques for obtaining depth information. The gesture recognition system may detect the performance of a particular gesture associated with a particular electronic device, determine a set of device instructions in response to detecting the particular gesture, and transmit the set of device instructions to the particular electronic device utilizing coded IR pulses. The coded IR pulses may imitate the IR pulses associated with a remote control protocol. In some cases, the coded IR pulses transmitted may also be used by the active illumination depth camera for determining depth information.
One embodiment includes detecting an end user command associated with one or more electronic devices, determining one or more device instructions for communicating with the one or more electronic devices based on the end user command, and projecting a sequence of light patterns originating from an active illumination depth camera into an environment. The sequence of light patterns includes one or more coded light pulses associated with the one or more device instructions.
One embodiment includes an active illumination depth camera and one or more processors. The active illumination depth camera captures a first image of an environment. The one or more processors detect an end user command based on at least the first image, determine one or more device instructions for communicating with the one or more electronic devices, and direct the active illumination depth camera to project a sequence of light patterns into the environment. The sequence of light patterns includes one or more coded IR pulses associated with the one or more device instructions.
One embodiment includes detecting a particular gesture associated with the one or more electronic devices, determining a particular electronic device of the one or more electronic devices based on a direction of motion associated with the particular gesture, determining one or more device instructions for controlling the particular electronic device, and modulating one or more light patterns projected from an active illumination depth camera. The modulating one or more light patterns generates one or more coded IR pulses associated with the one or more device instructions.
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 features 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.
Technology is described for controlling infrared (IR) enabled devices by projecting coded IR pulses from an active illumination depth camera. In some embodiments, a gesture recognition system includes an active illumination depth camera such as a depth camera that utilizes time-of-flight (TOF) or structured light techniques for obtaining depth information. The gesture recognition system may detect the performance of a particular gesture associated with a particular electronic device, determine a set of device instructions in response to detecting the particular gesture, and transmit the set of device instructions to the particular electronic device utilizing coded IR pulses. The coded IR pulses may imitate the IR pulses associated with a remote control protocol. In some cases, the coded IR pulses transmitted may also be used by the active illumination depth camera for determining depth information.
One issue involving controlling infrared (IR) enabled devices using a natural user interface relates to how to control older IR devices (e.g., older televisions and VCR players) without requiring hardware or firmware upgrades to the older IR devices (i.e., how to provide backward compatibility in the presence of a natural user interface). In particular, current home entertainment and gaming systems may utilize gesture recognition techniques for controlling system and application user interfaces and therefore an end user of these systems no longer requires use of a physical remote control (i.e., home entertainment systems utilizing a natural user interface eliminate the need for a physical remote control). Thus, there is a need for computing environments utilizing a natural user interface to be able to control IR enabled devices without requiring hardware or firmware upgrades to the IR enabled devices.
For purposes of this document, the term “light” may refer to any sort of optical radiation including visible light, infrared light, and ultraviolet light.
A server, such as application server 150, may allow a client to download information (e.g., text, audio, image, and video files) from the server or to perform a search query related to particular information stored on the server. In general, a “server” may include a hardware device that acts as the host in a client-server relationship or a software process that shares a resource with or performs work for one or more clients. Communication between computing devices in a client-server relationship may be initiated by a client sending a request to the server asking for access to a particular resource or for particular work to be performed. The server may subsequently perform the actions requested and send a response back to the client.
One embodiment of computing environment 12 includes a network interface 145, processor 146, and memory 147, all in communication with each other. Network interface 145 allows computing environment 12 to connect to one or more networks 180. Network interface 145 may include a wireless network interface, a modem, and/or a wired network interface. Processor 146 allows computing environment 12 to execute computer readable instructions stored in memory 147 in order to perform processes discussed herein.
Networked computing environment 100 may provide a cloud computing environment for one or more computing devices. Cloud computing refers to Internet-based computing, wherein shared resources, software, and/or information are provided to one or more computing devices on-demand via the Internet (or other global network). The term “cloud” is used as a metaphor for the Internet, based on the cloud drawings used in computer network diagrams to depict the Internet as an abstraction of the underlying infrastructure it represents.
In one embodiment, computing environment 12 includes a unified gesture and voice recognition engine or other natural user interface engine for controlling one or more IR enabled devices without requiring hardware or firmware upgrades to the one or more IR enabled devices. The natural user interface engine may acquire one or more sensor inputs from one or more sensing devices. The one or more sensor inputs may provide sensing information necessary to infer the intent of an end user interacting with the computing environment (e.g., that the end user has performed a particular gesture in order to control a game console or another electronic device). The one or more sensing devices may include, for example, one or more depth sensors, image sensors, IR sensors, inertial measurement units (IMUS), inward facing eye tracking systems, and microphones.
In some embodiments, computing environment 12 may be in communication with a server in the cloud, such as application server 150, and may request and receive from the server one or more IR transmission protocols associated with one or more IR enabled electronic devices to be controlled by the computing environment 12.
In some embodiments, the capture device 20 may include an active illumination depth camera, which may use a variety of techniques in order to generate a depth map of an environment or to otherwise obtain depth information associated the environment including the distances to objects within the environment from a particular reference point. The techniques for generating depth information may include structured light illumination techniques and time of flight (TOF) techniques.
Structured light illumination involves projecting a light pattern into an environment, capturing an image of the reflected light pattern, and then determining distance information from the spacings and/or distortions associated with the reflected light pattern relative to the projected light pattern. The light pattern may be projected using light that is invisible to the naked eye (e.g., IR or UV light) and may comprise a single dot, a single line, or a variety of dimensional patterns (e.g., horizontal and vertical lines, or checkerboard patterns). In some cases, several different light patterns may be necessary to generate accurate depth information.
Time of flight techniques may determine distances to objects within an environment by timing how long it takes for light transmitted from a light source to travel to the objects and reflect back to an image sensor. In some cases, a short light pulse (or series of light pulses) may be projected into the environment at a first point in time and reflections associated with the short light pulse may be captured at a second point in time after the first point in time. A time of flight system may adjust the time difference between the first point in time and the second point in time in order to detect objects at a particular distance (or over a range of distances) associated with the time difference.
As depicted in
In one embodiment, the capture device 20 may include one or more image sensors for capturing images and videos. An image sensor may comprise a CCD image sensor or a CMOS image sensor. In some embodiments, capture device 20 may include an IR CMOS image sensor. The capture device 20 may also include a depth sensor (or depth sensing camera) configured to capture video with depth information including a depth image that may include depth values via any suitable technique including, for example, time-of-flight, structured light, stereo image, or the like.
The capture device 20 may include an image camera component 32. In one embodiment, the image camera component 32 may include a depth camera that may capture a depth image of a scene. The depth image may include a two-dimensional (2-D) pixel area of the captured scene where each pixel in the 2-D pixel area may represent a depth value such as a distance in, for example, centimeters, millimeters, or the like of an object in the captured scene from the image camera component 32.
The image camera component 32 may include an IR light component 34, a three-dimensional (3-D) camera 36, and an RGB camera 38 that may be used to capture the depth image of a capture area. For example, in time-of-flight analysis, the IR light component 34 of the capture device 20 may emit an infrared light onto the capture area and may then use sensors to detect the backscattered light from the surface of one or more objects in the capture area using, for example, the 3-D camera 36 and/or the RGB camera 38. In some embodiments, pulsed infrared light may be used such that the time between an outgoing light pulse and a corresponding incoming light pulse may be measured and used to determine a physical distance from the capture device 20 to a particular location on the one or more objects in the capture area. Additionally, the phase of the outgoing light wave may be compared to the phase of the incoming light wave to determine a phase shift. The phase shift may then be used to determine a physical distance from the capture device to a particular location associated with the one or more objects.
In another example, the capture device 20 may use structured light to capture depth information. In such an analysis, patterned light (i.e., light displayed as a known pattern such as grid pattern or a stripe pattern) may be projected onto the capture area via, for example, the IR light component 34. Upon striking the surface of one or more objects (or targets) in the capture area, the pattern may become deformed in response. Such a deformation of the pattern may be captured by, for example, the 3-D camera 36 and/or the RGB camera 38 and analyzed to determine a physical distance from the capture device to a particular location on the one or more objects. Capture device 20 may include optics for producing collimated light. In some embodiments, a laser projector may be used to create a structured light pattern. The light projector may include a laser, laser diode, and/or LED.
In some embodiments, two or more different cameras may be incorporated into an integrated capture device. For example, a depth camera and a video camera (e.g., an RGB video camera) may be incorporated into a common capture device. In some embodiments, two or more separate capture devices of the same or differing types may be cooperatively used. For example, a depth camera and a separate video camera may be used, two video cameras may be used, two depth cameras may be used, two RGB cameras may be used, or any combination and number of cameras may be used. In one embodiment, the capture device 20 may include two or more physically separated cameras that may view a capture area from different angles to obtain visual stereo data that may be resolved to generate depth information. Depth may also be determined by capturing images using a plurality of detectors that may be monochromatic, infrared, RGB, or any other type of detector and performing a parallax calculation. Other types of depth image sensors can also be used to create a depth image.
As depicted in
The capture device 20 may include a processor 42 that may be in operative communication with the image camera component 32. The processor may include a standardized processor, a specialized processor, a microprocessor, or the like. The processor 42 may execute instructions that may include instructions for storing filters or profiles, receiving and analyzing images, determining whether a particular situation has occurred, or any other suitable instructions. It is to be understood that at least some image analysis and/or target analysis and tracking operations may be executed by processors contained within one or more capture devices such as capture device 20.
The capture device 20 may include a memory 44 that may store the instructions that may be executed by the processor 42, images or frames of images captured by the 3-D camera or RGB camera, filters or profiles, or any other suitable information, images, or the like. In one example, the memory 44 may include random access memory (RAM), read only memory (ROM), cache, Flash memory, a hard disk, or any other suitable storage component. As depicted, the memory 44 may be a separate component in communication with the image capture component 32 and the processor 42. In another embodiment, the memory 44 may be integrated into the processor 42 and/or the image capture component 32. In other embodiments, some or all of the components 32, 34, 36, 38, 40, 42 and 44 of the capture device 20 may be housed in a single housing.
The capture device 20 may be in communication with the computing environment 12 via a communication link 46. The communication link 46 may be a wired connection including, for example, a USB connection, a FireWire connection, an Ethernet cable connection, or the like and/or a wireless connection such as a wireless 802.11b, g, a, or n connection. The computing environment 12 may provide a clock to the capture device 20 that may be used to determine when to capture, for example, a scene via the communication link 46. In one embodiment, the capture device 20 may provide the images captured by, for example, the 3D camera 36 and/or the RGB camera 38 to the computing environment 12 via the communication link 46.
As depicted in
Processing unit 191 may include one or more processors for executing object, facial, and voice recognition algorithms. In one embodiment, image and audio processing engine 194 may apply object recognition and facial recognition techniques to image or video data. For example, object recognition may be used to detect particular objects (e.g., soccer balls, cars, or landmarks) and facial recognition may be used to detect the face of a particular person. Image and audio processing engine 194 may apply audio and voice recognition techniques to audio data. For example, audio recognition may be used to detect a particular sound. The particular faces, voices, sounds, and objects to be detected may be stored in one or more memories contained in memory unit 192. Processing unit 191 may execute computer readable instructions stored in memory unit 192 in order to perform processes discussed herein.
The image and audio processing engine 194 may utilize structural data 198 while performing object recognition. Structure data 198 may include structural information about targets and/or objects to be tracked. For example, a skeletal model of a human may be stored to help recognize body parts. In another example, structure data 198 may include structural information regarding one or more inanimate objects in order to help recognize the one or more inanimate objects.
The image and audio processing engine 194 may also utilize object and gesture recognition engine 190 while performing gesture recognition. In one example, object and gesture recognition engine 190 may include a collection of gesture filters, each comprising information concerning a gesture that may be performed by a skeletal model. The object and gesture recognition engine 190 may compare the data captured by capture device 20 in the form of the skeletal model and movements associated with it to the gesture filters in a gesture library to identify when a user (as represented by the skeletal model) has performed one or more gestures. In one example, image and audio processing engine 194 may use the object and gesture recognition engine 190 to help interpret movements of a skeletal model and to detect the performance of a particular gesture.
In some embodiments, one or more objects being tracked may be augmented with one or more markers such as an IR retroreflective marker to improve object detection and/or tracking. Planar reference images, coded AR markers, QR codes, and/or bar codes may also be used to improve object detection and/or tracking. Upon detection of one or more objects and/or gestures, image and audio processing engine 194 may report to application 196 an identification of each object or gesture detected and a corresponding position and/or orientation if applicable.
More information about detecting objects and performing gesture recognition can be found in U.S. patent application Ser. No. 12/641,788, “Motion Detection Using Depth Images,” filed on Dec. 18, 2009; and U.S. patent application Ser. No. 12/475,308, “Device for Identifying and Tracking Multiple Humans over Time,” both of which are incorporated herein by reference in their entirety. More information about object and gesture recognition engine 190 can be found in U.S. patent application Ser. No. 12/422,661, “Gesture Recognizer System Architecture,” filed on Apr. 13, 2009, incorporated herein by reference in its entirety. More information about recognizing gestures can be found in U.S. patent application Ser. No. 12/391,150, “Standard Gestures,” filed on Feb. 23, 2009; and U.S. patent application Ser. No. 12/474,655, “Gesture Tool,” filed on May 29, 2009, both of which are incorporated by reference herein in their entirety.
In one embodiment, reflected light 79 received by the old television 72 may include one or more IR commands for controlling the old television 72. In this case, capture device 20 may rely on the reflections of the project light 78 typically used for obtaining depth information of the environment in order to control IR enabled electronic devices that are located in front of or even behind capture device 20.
In some embodiments, capture device 20 may include an intensive IR illumination source for projecting pulses of IR light that are then reflected or otherwise bounced back from objects within an environment in order to determine depth information. The intensive IR illumination source allows capture device 20 to detect reflected light over a large field of view within the environment. This is in contrast to the typical remote control which requires an end user to point the remote control towards an IR enabled device in order to control the IR enabled device. Because of the power limitations of the typical remote control, the typical IR enabled device has a large field of view and integrates light received from many different points within the environment so that the typical remote control may be pointed towards the typical IR enabled device from the many different points within the environment. Using the fact that the typical IR enabled device integrates light received over a large field of view, the capture device 20 may project light into an environment and control typical IR enabled devices via reflected light. While the intensity of the reflected light at each point in the environment may be low, the integration of all of the reflected light projected from the capture device 20 and received at the typical IR enabled device may be substantial.
In one embodiment, the sequence of IR light pulses may comprise one or more coded IR pulses. The one or more coded IR pulses may comprise one or more IR commands for controlling IR enabled electronic devices. Each of the one or more higher frequency light pulses may be associated with a particular light pattern that is projected into an environment by a capture device, such as capture device 20 in
In step 602, an end user command is detected. The end user command may be detected by utilizing gesture recognition technology and/or voice recognition technology. In step 604, one or more device instructions based on the end user command are determined. The one or more device instructions may include instructions for controlling one or more IR enabled electronic devices. For example, the one or more device instructions may include instructions for turning on a television, selecting a television channel, and turning off a stereo system. The one or more device instructions may be determined by acquiring a predetermined set of device instructions associated with the end user command (e.g., by performing a table lookup based on the end user command or acquiring the one or more device instructions from a device instructions database).
In step 606, one or more IR coded pulses associated with the one or more device instructions are determined. The one or more IR coded pulses may be associated with one or more IR transmission protocols. Each of the one or more device instructions may map to a set of one or more IR coded pulses. For example, a device instruction for turning on a television may map to a sequence of IR commands (e.g., commands based on the RC-5 protocol or the NEC IR protocol).
In one embodiment, the one or more IR coded pulses may be automatically determined by automatically identifying an IR enabled electronic device within an environment, determining a particular IR transmission protocol associated with the IR enabled electronic device identified, and determining the one or more coded pulses based on the one or more device instructions and the particular IR transmission protocol for the IR enabled electronic device.
In step 608, a sequence of light patterns is created and projected from an active illumination depth camera. The sequence of light patterns include the one or more IR coded pulses determined in step 606. The sequence of light patterns may include a plurality of light patterns. The light patterns may be projected using light that is invisible to the naked eye (e.g., IR or UV light) and may comprise a single dot, a single line, or a variety of dimensional patterns (e.g., horizontal and vertical lines, or checkerboard patterns). The illumination intensity of the projected sequence of light patterns may be adjusted depending on environmental conditions, such as the presence of persons or other objects within an environment.
In step 610, one or more images associated with the one or more IR coded pulses projected are captured. In step 612, depth information based on the one or more images captured in step 610 is generated. In step 614, a new end user command based on the depth information generated in step 612 is detected. The process of detecting a new end user command may be similar to the process described in step 602 with respect to detecting an end user command.
In step 622, a particular gesture is detected. The particular gesture may be detected via gesture recognition. In step 624, a particular electronic device based on a direction of motion of the particular gesture is determined. The direction of motion of the particular device may be determined using various gesture recognition techniques that utilize skeletal tracking. The direction of motion may be associated with a vector that is projected within an environment in order to determine the particular electronic device within the direction of motion.
In step 626, one or more device instructions for controlling the particular electronic device are determined. The one or more device instructions may be based on the particular gesture detected in step 622. In one example, an end user may point towards the particular electronic device and issue a voice command stating that the particular electronic device should be turned on. In another example, an end user may point towards the particular electronic device and issue a voice command stating an intent to watch a soccer game. In this case, the one or more instructions may include instructions for turning on a television, selecting a particular channel on the television, and adjusting a lighting condition of the environment in which the television exists.
In step 628, one or more IR coded pulses associated with the one or more device instructions are determined. The one or more IR coded pulses may be associated with one or more IR transmission protocols. Each of the one or more device instructions may map to a set of one or more IR coded pulses. For example, an instruction for turning on a television may map to a sequence of IR commands such as a sequence of IR commands based on the RC-5 protocol.
In one embodiment, the one or more IR coded pulses may be automatically determined by automatically identifying an IR enabled electronic device within an environment, determining a particular IR transmission protocol associated with the IR enabled electronic device identified, and determining the one or more coded pulses based on the one or more device instructions and the particular IR transmission protocol for the IR enabled electronic device.
In step 630, one or more light patterns projected from an active illumination depth camera are modulated in order to generate the one or more IR coded pulses. The one or more light patterns projected from the active illumination depth camera may comprise one or more light pulses used for determining depth information associated with an environment. In one embodiment, the one or more light patterns projected may be modulated by modulating an amplitude associated with the one or more light patterns projected from the active illumination depth camera. In another embodiment, the one or more light patterns projected may be modulated by modulating a frequency associated with the one or more light patterns projected from the active illumination depth camera. In step 632, one or more images associated with the one or more IR coded pulses are captured. In one example, one image is captured corresponding with a subset of the one or more IR coded pulses. In step 634, depth information based on the one or more images captured in step 632 is generated.
In step 702, a particular gesture is detected. The particular gesture may be detected via gesture recognition techniques. In step 704, a particular voice command is detected. The particular voice command may be detected via voice recognition techniques. In step 706, an end user command is determined based on the particular gesture detected in step 702 and the particular voice command detected in step 704. In step 708, the end user command is outputted.
In step 712, a particular gesture is detected. The particular gesture may be detected via gesture recognition techniques. In step 714, a particular electronic device is identified based on a direction of motion of the particular gesture detected in step 712. The direction of motion of the particular device may be determined using various gesture recognition techniques that utilize skeletal tracking. The direction of motion may be associated with a vector that is projected within an environment in order to determine the particular electronic device within the direction of motion. In step 716, an end user command is determined based on the particular gesture detected in step 712 and the particular electronic device identified in step 714. In one example, the end user command for changing the channel on a particular television may be recognized when the particular electronic device detected is the particular television and the particular gesture includes a circulating motion that is associated with channel selection of the particular television. In step 718, the end user command is outputted.
In step 752, an end user command is acquired. In step 754, a predetermined set of instructions associated with the end user command is acquired. In one example, the end user command is recognized as a command for watching a movie and the predetermined set of instructions includes instructions for turning on a television, turning on a VCR, dimming the lights within an environment, and playing the VCR. In step 756, one or more device instructions based on the predetermined set of instructions acquired in step 754 are outputted.
In step 762, an IR enabled electronic device is automatically identified and a particular IR transmission protocol associated with the IR enabled electronic device is automatically determined. One example of a process for automatically identifying an IR enabled electronic device and determining its associated IR transmission protocol is described in reference to
In step 772, a system command to automatically detect one or more IR enabled devices is received. In some cases, the system command may be received in response to an end user command associated with automatically identifying and determining IR enabled electronic devices within an environment. In step 774, an IR codes database is acquired. The IR codes database may include IR commands for a plurality of IR enabled electronic devices. In one example, the IR codes database stores IR commands for each of the one or more IR enabled electronic devices within a particular environment. For example, the IR codes database may store IR commands for each IR enabled electronic device associated with a home entertainment system (e.g., a first set of IR commands for controlling a television and a second set of IR commands for controlling a DVD player).
In step 776, in order of application for each of the one or more IR enabled electronic devices stored within the IR codes database is determined. In step 778, it is determined whether the IR commands for each of the one or more IR enabled electronic devices stored within the IR codes database have been transmitted. If it is determined that not all of the IR commands associated with each of the IR enabled electronic devices stored within the IR codes database have been transmitted, then step 780 is performed. Otherwise, if it is determined that all of the IR commands associated with each of the IR enabled electronic devices stored within the IR codes database have been transmitted, then step 782 is performed.
In step 780, IR commands associated with a particular IR enabled device are transmitted. In one embodiment, the IR commands are projected using an active illumination depth camera. In step 784, the particular IR enabled device is identified in response to the transmitted IR commands. In one embodiment, the particular IR enabled device is identified by transmitting IR commands associated with generating sound and listening for sounds originating from the particular IR enabled device. For example, the transmitted IR commands for a particular television may comprise turning on the particular television, tuning to a particular channel, and turning up the volume of the particular television. Detection and localization of the sounds generated in response to the transmitted IR commands may be determined using sound source localization techniques. Sound source localization techniques may be used to localize the direction of a sound source by detecting time differences in the arrival time of different sounds due to the speed of sound being captured by a plurality of microphones. Sound source localization techniques may also include performing pattern matching on each of the audio signals received by each microphone of the plurality of microphones.
In one embodiment, identification information and localization information for each of the one or more IR enabled devices identified may be stored for future use by a gesture recognition engine. For example, determining that a particular type of television is located in a particular part of an environment may allow the gesture recognition engine to identify the particular television when being pointed to by an end user. In step 782, identification information for each of the one or more IR enabled devices identified is outputted. Each of the one or more IR enabled devices identified may be associated with a particular IR transmission protocol (e.g., the RC-5 protocol or the NEC IR protocol) based on the IR commands used to identify the particular IR enabled device in step 784.
In step 730, a light pattern to be projected is acquired. In step 732, a light intensity level and a sensor integration time associated with the light pattern to be projected are determined. In step 734, the light pattern acquired in step 730 is projected at the light intensity level determined in step 732 for a first period of time. In step 736, a first image of an environment is captured associated with the projection of the light pattern into the environment over the sensor integration time determined in step 732. In step 738, depth information based on the first image is determined. In step 709, the depth information is outputted.
The disclosed technology may be used with various computing systems.
CPU 7200, memory controller 7202, and various memory devices are interconnected via one or more buses (not shown). The one or more buses might include one or more of serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus, using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus.
In one implementation, CPU 7200, memory controller 7202, ROM 7204, and RAM 7206 are integrated onto a common module 7214. In this implementation, ROM 7204 is configured as a flash ROM that is connected to memory controller 7202 via a PCI bus and a ROM bus (neither of which are shown). RAM 7206 is configured as multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) modules that are independently controlled by memory controller 7202 via separate buses (not shown). Hard disk drive 7208 and portable media drive 7107 are shown connected to the memory controller 7202 via the PCI bus and an AT Attachment (ATA) bus 7216. However, in other implementations, dedicated data bus structures of different types may also be applied in the alternative.
A three-dimensional graphics processing unit 7220 and a video encoder 7222 form a video processing pipeline for high speed and high resolution (e.g., High Definition) graphics processing. Data are carried from graphics processing unit 7220 to video encoder 7222 via a digital video bus (not shown). An audio processing unit 7224 and an audio codec (coder/decoder) 7226 form a corresponding audio processing pipeline for multi-channel audio processing of various digital audio formats. Audio data are carried between audio processing unit 7224 and audio codec 7226 via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port 7228 for transmission to a television or other display. In the illustrated implementation, video and audio processing components 7220-7228 are mounted on module 7214.
In the implementation depicted in
MUS 7241(1) and 7241(2) are illustrated as being connectable to MU ports “A” 7231(1) and “B” 7231(2) respectively. Additional MUS (e.g., MUS 7241(3)-7241(6)) are illustrated as being connectable to controllers 7205(1) and 7205(3), i.e., two MUS for each controller. Controllers 7205(2) and 7205(4) can also be configured to receive MUS (not shown). Each MU 7241 offers additional storage on which games, game parameters, and other data may be stored. Additional memory devices, such as portable USB devices, can be used in place of the MUs. In some implementations, the other data can include any of a digital game component, an executable gaming application, an instruction set for expanding a gaming application, and a media file. When inserted into console 7203 or a controller, MU 7241 can be accessed by memory controller 7202. A system power supply module 7250 provides power to the components of gaming system 7201. A fan 7252 cools the circuitry within console 7203.
An application 7260 comprising machine instructions is stored on hard disk drive 7208. When console 7203 is powered on, various portions of application 7260 are loaded into RAM 7206, and/or caches 7210 and 7212, for execution on CPU 7200. Other applications may also be stored on hard disk drive 7208 for execution on CPU 7200.
Gaming and media system 7201 may be operated as a standalone system by simply connecting the system to a monitor, a television, a video projector, or other display device. In this standalone mode, gaming and media system 7201 enables one or more players to play games or enjoy digital media (e.g., by watching movies or listening to music). However, with the integration of broadband connectivity made available through network interface 7232, gaming and media system 7201 may further be operated as a participant in a larger network gaming community.
Mobile device 8300 includes one or more processors 8312 and memory 8310. Memory 8310 includes applications 8330 and non-volatile storage 8340. Memory 8310 can be any variety of memory storage media types, including non-volatile and volatile memory. A mobile device operating system handles the different operations of the mobile device 8300 and may contain user interfaces for operations, such as placing and receiving phone calls, text messaging, checking voicemail, and the like. The applications 8330 can be any assortment of programs, such as a camera application for photos and/or videos, an address book, a calendar application, a media player, an internet browser, games, an alarm application, and other applications. The non-volatile storage component 8340 in memory 8310 may contain data such as music, photos, contact data, scheduling data, and other files.
The one or more processors 8312 also communicates with RF transmitter/receiver 8306 which in turn is coupled to an antenna 8302, with infrared transmitter/receiver 8308, with global positioning service (GPS) receiver 8365, and with movement/orientation sensor 8314 which may include an accelerometer and/or magnetometer. RF transmitter/receiver 8308 may enable wireless communication via various wireless technology standards such as Bluetooth® or the IEEE 802.11 standards. Accelerometers have been incorporated into mobile devices to enable applications such as intelligent user interface applications that let users input commands through gestures, and orientation applications which can automatically change the display from portrait to landscape when the mobile device is rotated. An accelerometer can be provided, e.g., by a micro-electromechanical system (MEMS) which is a tiny mechanical device (of micrometer dimensions) built onto a semiconductor chip. Acceleration direction, as well as orientation, vibration, and shock can be sensed. The one or more processors 8312 further communicate with a ringer/vibrator 8316, a user interface keypad/screen 8318, a speaker 8320, a microphone 8322, a camera 8324, a light sensor 8326, and a temperature sensor 8328. The user interface keypad/screen may include a touch-sensitive screen display.
The one or more processors 8312 controls transmission and reception of wireless signals. During a transmission mode, the one or more processors 8312 provide voice signals from microphone 8322, or other data signals, to the RF transmitter/receiver 8306. The transmitter/receiver 8306 transmits the signals through the antenna 8302. The ringer/vibrator 8316 is used to signal an incoming call, text message, calendar reminder, alarm clock reminder, or other notification to the user. During a receiving mode, the RF transmitter/receiver 8306 receives a voice signal or data signal from a remote station through the antenna 8302. A received voice signal is provided to the speaker 8320 while other received data signals are processed appropriately.
Additionally, a physical connector 8388 may be used to connect the mobile device 8300 to an external power source, such as an AC adapter or powered docking station, in order to recharge battery 8304. The physical connector 8388 may also be used as a data connection to an external computing device. The data connection allows for operations such as synchronizing mobile device data with the computing data on another device.
Computer 2210 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 2210 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 2210. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 2230 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 2231 and random access memory (RAM) 2232. A basic input/output system 2233 (BIOS), containing the basic routines that help to transfer information between elements within computer 2210, such as during start-up, is typically stored in ROM 2231. RAM 2232 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 2220. By way of example, and not limitation,
The computer 2210 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 2210 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 2280. The remote computer 2280 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 2210, although only a memory storage device 2281 has been illustrated in
When used in a LAN networking environment, the computer 2210 is connected to the LAN 2271 through a network interface or adapter 2270. When used in a WAN networking environment, the computer 2210 typically includes a modem 2272 or other means for establishing communications over the WAN 2273, such as the Internet. The modem 2272, which may be internal or external, may be connected to the system bus 2221 via the user input interface 2260, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 2210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
The disclosed technology is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the technology include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The disclosed technology may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, software and program modules as described herein include routines, programs, objects, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Hardware or combinations of hardware and software may be substituted for software modules as described herein.
The disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” are used to described different embodiments and do not necessarily refer to the same embodiment.
For purposes of this document, a connection can be a direct connection or an indirect connection (e.g., via another part).
For purposes of this document, the term “set” of objects, refers to a “set” of one or more of the objects.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Number | Name | Date | Kind |
---|---|---|---|
5227898 | Iavecchia et al. | Jul 1993 | A |
5774357 | Hoffberg | Jun 1998 | A |
6957775 | Tsikos | Oct 2005 | B2 |
6971578 | Tsikos | Dec 2005 | B2 |
7586398 | Huang | Sep 2009 | B2 |
7831358 | Breed et al. | Nov 2010 | B2 |
7961910 | Lee et al. | Jun 2011 | B2 |
7971157 | Markovic et al. | Jun 2011 | B2 |
7996793 | Latta et al. | Aug 2011 | B2 |
8009867 | Mathe et al. | Aug 2011 | B2 |
8145594 | Geisner et al. | Mar 2012 | B2 |
8166421 | Magal et al. | Apr 2012 | B2 |
8213680 | Fitzgibbon et al. | Jul 2012 | B2 |
8253746 | Geisner et al. | Aug 2012 | B2 |
8259163 | Bell | Sep 2012 | B2 |
8264536 | McEldowney | Sep 2012 | B2 |
8267781 | Geiss | Sep 2012 | B2 |
8279418 | Yee et al. | Oct 2012 | B2 |
8284847 | Adermann | Oct 2012 | B2 |
8290249 | Mathe et al. | Oct 2012 | B2 |
8294767 | Mathe et al. | Oct 2012 | B2 |
8295546 | Craig et al. | Oct 2012 | B2 |
8296151 | Klein et al. | Oct 2012 | B2 |
8320619 | Mathe | Nov 2012 | B2 |
8320621 | McEldowney | Nov 2012 | B2 |
8325984 | Lee et al. | Dec 2012 | B2 |
8330822 | McEldowney et al. | Dec 2012 | B2 |
8334842 | Markovic et al. | Dec 2012 | B2 |
8340432 | Mathe et al. | Dec 2012 | B2 |
8351651 | Lee | Jan 2013 | B2 |
8351652 | Mathe | Jan 2013 | B2 |
8374423 | Lee et al. | Feb 2013 | B2 |
8379101 | Mathe et al. | Feb 2013 | B2 |
8385596 | Latta et al. | Feb 2013 | B2 |
8390680 | Perez et al. | Mar 2013 | B2 |
8418085 | Snook et al. | Apr 2013 | B2 |
8432391 | Ishibashi | Apr 2013 | B2 |
8451278 | Geisner et al. | May 2013 | B2 |
8452051 | Lee | May 2013 | B1 |
8456534 | Henty | Jun 2013 | B2 |
8457353 | Reville et al. | Jun 2013 | B2 |
8467574 | Mathe et al. | Jun 2013 | B2 |
8472665 | Hildreth | Jun 2013 | B2 |
8483436 | Lee et al. | Jul 2013 | B2 |
8487871 | Langridge et al. | Jul 2013 | B2 |
8487938 | Latta et al. | Jul 2013 | B2 |
8488888 | Balan et al. | Jul 2013 | B2 |
8497838 | Langridge | Jul 2013 | B2 |
8503766 | Mathe et al. | Aug 2013 | B2 |
8509479 | Margolis | Aug 2013 | B2 |
8514269 | Adler et al. | Aug 2013 | B2 |
8523667 | Clavin et al. | Sep 2013 | B2 |
8542252 | Perez et al. | Sep 2013 | B2 |
8542910 | Leyvand et al. | Sep 2013 | B2 |
8548270 | Katz et al. | Oct 2013 | B2 |
8564534 | Leyvand et al. | Oct 2013 | B2 |
8565476 | Geiss | Oct 2013 | B2 |
8565477 | Geiss | Oct 2013 | B2 |
8565485 | Craig et al. | Oct 2013 | B2 |
8571263 | Shotton et al. | Oct 2013 | B2 |
8577084 | Geiss | Nov 2013 | B2 |
8577085 | Geiss | Nov 2013 | B2 |
8577092 | Kim et al. | Nov 2013 | B2 |
8578302 | Markovic et al. | Nov 2013 | B2 |
8587583 | Newcombe et al. | Nov 2013 | B2 |
8588465 | Geiss | Nov 2013 | B2 |
8588517 | Lee et al. | Nov 2013 | B2 |
8610723 | Lee et al. | Dec 2013 | B2 |
8613666 | Esaki et al. | Dec 2013 | B2 |
8625897 | Criminisi et al. | Jan 2014 | B2 |
8631355 | Murillo et al. | Jan 2014 | B2 |
8638985 | Shotton et al. | Jan 2014 | B2 |
8639020 | Kutliroff | Jan 2014 | B1 |
8681255 | Katz et al. | Mar 2014 | B2 |
9285477 | Smith | Mar 2016 | B1 |
20020139853 | Tsikos | Oct 2002 | A1 |
20020145042 | Knowles | Oct 2002 | A1 |
20020153422 | Tsikos | Oct 2002 | A1 |
20030042303 | Tsikos | Mar 2003 | A1 |
20030052169 | Tsikos | Mar 2003 | A1 |
20030222843 | Birmingham | Dec 2003 | A1 |
20040048666 | Bagley | Mar 2004 | A1 |
20040135819 | Maa | Jul 2004 | A1 |
20040141321 | Dowling | Jul 2004 | A1 |
20050131607 | Breed | Jun 2005 | A1 |
20050271279 | Fujimura et al. | Dec 2005 | A1 |
20050276441 | Debevec | Dec 2005 | A1 |
20060001543 | Raskar | Jan 2006 | A1 |
20060110008 | Vertegaal | May 2006 | A1 |
20060233389 | Mao | Oct 2006 | A1 |
20060239471 | Mao | Oct 2006 | A1 |
20060252474 | Zalewski | Nov 2006 | A1 |
20060252475 | Zalewski | Nov 2006 | A1 |
20060252477 | Zalewski | Nov 2006 | A1 |
20060252541 | Zalewski | Nov 2006 | A1 |
20060256081 | Zalewski | Nov 2006 | A1 |
20060256224 | Kitaura | Nov 2006 | A1 |
20060264258 | Zalewski | Nov 2006 | A1 |
20060264259 | Zalewski | Nov 2006 | A1 |
20060264260 | Zalewski | Nov 2006 | A1 |
20060274032 | Mao | Dec 2006 | A1 |
20060274911 | Mao | Dec 2006 | A1 |
20060282873 | Zalewski | Dec 2006 | A1 |
20060287084 | Mao | Dec 2006 | A1 |
20060287085 | Mao | Dec 2006 | A1 |
20060287086 | Zalewski | Dec 2006 | A1 |
20060287087 | Zalewski | Dec 2006 | A1 |
20070015558 | Zalewski | Jan 2007 | A1 |
20070015559 | Zalewski | Jan 2007 | A1 |
20070021208 | Mao | Jan 2007 | A1 |
20070058047 | Henty | Mar 2007 | A1 |
20070086624 | Breed et al. | Apr 2007 | A1 |
20070135984 | Breed et al. | Jun 2007 | A1 |
20070156317 | Breed | Jul 2007 | A1 |
20070265075 | Zalewski | Nov 2007 | A1 |
20070282506 | Breed et al. | Dec 2007 | A1 |
20080009348 | Zalewski | Jan 2008 | A1 |
20080065291 | Breed | Mar 2008 | A1 |
20080080789 | Marks | Apr 2008 | A1 |
20080096654 | Mondesir | Apr 2008 | A1 |
20080096657 | Benoist | Apr 2008 | A1 |
20080098448 | Mondesir | Apr 2008 | A1 |
20080100825 | Zalewski | May 2008 | A1 |
20080195261 | Breed | Aug 2008 | A1 |
20080214253 | Gillo | Sep 2008 | A1 |
20080215974 | Harrison et al. | Sep 2008 | A1 |
20080273755 | Hildreth | Nov 2008 | A1 |
20090033623 | Lin | Feb 2009 | A1 |
20090115723 | Henty | May 2009 | A1 |
20090122146 | Zalewski | May 2009 | A1 |
20090153288 | Hope | Jun 2009 | A1 |
20090183193 | Miller, IV | Jul 2009 | A1 |
20100007582 | Zalewski | Jan 2010 | A1 |
20100060722 | Bell | Mar 2010 | A1 |
20100194762 | Latta et al. | Aug 2010 | A1 |
20100194872 | Mathe et al. | Aug 2010 | A1 |
20100199228 | Latta et al. | Aug 2010 | A1 |
20100199230 | Latta et al. | Aug 2010 | A1 |
20100199231 | Markovic et al. | Aug 2010 | A1 |
20100214214 | Corson | Aug 2010 | A1 |
20100238182 | Geisner et al. | Sep 2010 | A1 |
20100241998 | Latta et al. | Sep 2010 | A1 |
20100266210 | Markovic et al. | Oct 2010 | A1 |
20100277411 | Yee | Nov 2010 | A1 |
20100277470 | Margolis | Nov 2010 | A1 |
20100277489 | Geisner et al. | Nov 2010 | A1 |
20100278384 | Shotton | Nov 2010 | A1 |
20100278393 | Snook et al. | Nov 2010 | A1 |
20100278431 | Mathe et al. | Nov 2010 | A1 |
20100281432 | Geisner et al. | Nov 2010 | A1 |
20100281436 | Kipman | Nov 2010 | A1 |
20100281437 | Stone-Perez | Nov 2010 | A1 |
20100281439 | Markovic et al. | Nov 2010 | A1 |
20100302015 | Kipman | Dec 2010 | A1 |
20100302138 | Poot et al. | Dec 2010 | A1 |
20100302247 | Perez | Dec 2010 | A1 |
20100302253 | Kipman | Dec 2010 | A1 |
20100302257 | Perez | Dec 2010 | A1 |
20100302357 | Hsu | Dec 2010 | A1 |
20100302365 | Finocchio et al. | Dec 2010 | A1 |
20100302395 | Mathe et al. | Dec 2010 | A1 |
20100303289 | Polzin et al. | Dec 2010 | A1 |
20100303290 | Mathe | Dec 2010 | A1 |
20100303291 | Margolis | Dec 2010 | A1 |
20100303302 | Kipman et al. | Dec 2010 | A1 |
20100304813 | Finocchio | Dec 2010 | A1 |
20100306261 | Geisner et al. | Dec 2010 | A1 |
20100306685 | Giaimo et al. | Dec 2010 | A1 |
20100306712 | Snook et al. | Dec 2010 | A1 |
20100306713 | Geisner et al. | Dec 2010 | A1 |
20100306714 | Latta et al. | Dec 2010 | A1 |
20100306715 | Geisner et al. | Dec 2010 | A1 |
20100306716 | Perez | Dec 2010 | A1 |
20100315336 | Butler | Dec 2010 | A1 |
20110007079 | Perez et al. | Jan 2011 | A1 |
20110007142 | Perez et al. | Jan 2011 | A1 |
20110014981 | Mao | Jan 2011 | A1 |
20110018864 | Ishibashi | Jan 2011 | A1 |
20110025689 | Perez et al. | Feb 2011 | A1 |
20110032336 | Mathe et al. | Feb 2011 | A1 |
20110035666 | Geisner et al. | Feb 2011 | A1 |
20110055846 | Perez | Mar 2011 | A1 |
20110058107 | Sun | Mar 2011 | A1 |
20110065496 | Gagner | Mar 2011 | A1 |
20110080336 | Leyvand et al. | Apr 2011 | A1 |
20110080475 | Lee et al. | Apr 2011 | A1 |
20110081044 | Peeper et al. | Apr 2011 | A1 |
20110081045 | Lee et al. | Apr 2011 | A1 |
20110085705 | Izadi et al. | Apr 2011 | A1 |
20110093820 | Zhang et al. | Apr 2011 | A1 |
20110095873 | Pratt | Apr 2011 | A1 |
20110102321 | Son | May 2011 | A1 |
20110102438 | Mathe et al. | May 2011 | A1 |
20110109617 | Snook et al. | May 2011 | A1 |
20110109724 | Mathe et al. | May 2011 | A1 |
20110115880 | Yoo et al. | May 2011 | A1 |
20110119216 | Wigdor | May 2011 | A1 |
20110119640 | Berkes et al. | May 2011 | A1 |
20110150271 | Lee et al. | Jun 2011 | A1 |
20110154266 | Friend | Jun 2011 | A1 |
20110169726 | Holmdahl et al. | Jul 2011 | A1 |
20110173204 | Murillo et al. | Jul 2011 | A1 |
20110173574 | Clavin | Jul 2011 | A1 |
20110175801 | Markovic | Jul 2011 | A1 |
20110175810 | Markovic | Jul 2011 | A1 |
20110190055 | Leyvand et al. | Aug 2011 | A1 |
20110197167 | Kwon et al. | Aug 2011 | A1 |
20110205341 | Wilson et al. | Aug 2011 | A1 |
20110210915 | Shotton | Sep 2011 | A1 |
20110221755 | Geisner et al. | Sep 2011 | A1 |
20110223995 | Geisner et al. | Sep 2011 | A1 |
20110231802 | Lee et al. | Sep 2011 | A1 |
20110234481 | Katz | Sep 2011 | A1 |
20110234490 | Markovic et al. | Sep 2011 | A1 |
20110234492 | Ajmera | Sep 2011 | A1 |
20110234589 | Lee et al. | Sep 2011 | A1 |
20110237324 | Clavin et al. | Sep 2011 | A1 |
20110246329 | Geisner | Oct 2011 | A1 |
20110267269 | Tardif | Nov 2011 | A1 |
20110271235 | Doyen et al. | Nov 2011 | A1 |
20110279368 | Klein | Nov 2011 | A1 |
20110285620 | Latta et al. | Nov 2011 | A1 |
20110285626 | Latta et al. | Nov 2011 | A1 |
20110288684 | Farlow et al. | Nov 2011 | A1 |
20110288964 | Linder et al. | Nov 2011 | A1 |
20110289455 | Reville et al. | Nov 2011 | A1 |
20110289456 | Reville et al. | Nov 2011 | A1 |
20110293180 | Criminisi et al. | Dec 2011 | A1 |
20110296353 | Ahmed et al. | Dec 2011 | A1 |
20110298827 | Perez | Dec 2011 | A1 |
20110300929 | Tardif | Dec 2011 | A1 |
20110301934 | Tardif | Dec 2011 | A1 |
20110302293 | Buban | Dec 2011 | A1 |
20110304532 | Suh et al. | Dec 2011 | A1 |
20110310125 | McEldowney | Dec 2011 | A1 |
20110311144 | Tardif | Dec 2011 | A1 |
20110313768 | Klein et al. | Dec 2011 | A1 |
20110314381 | Fuller | Dec 2011 | A1 |
20110317871 | Tossell | Dec 2011 | A1 |
20120047468 | Santos et al. | Feb 2012 | A1 |
20120050157 | Latta et al. | Mar 2012 | A1 |
20120050502 | Chi et al. | Mar 2012 | A1 |
20120051588 | McEldowney | Mar 2012 | A1 |
20120052942 | Esaki et al. | Mar 2012 | A1 |
20120053015 | Esaki et al. | Mar 2012 | A1 |
20120056800 | Williams | Mar 2012 | A1 |
20120057753 | Lee et al. | Mar 2012 | A1 |
20120063637 | Tardif | Mar 2012 | A1 |
20120075534 | Katz et al. | Mar 2012 | A1 |
20120086659 | Perlin | Apr 2012 | A1 |
20120093481 | McDowell et al. | Apr 2012 | A1 |
20120105473 | Bar-Zeev | May 2012 | A1 |
20120105585 | Masalkar | May 2012 | A1 |
20120110456 | Larco | May 2012 | A1 |
20120114194 | Kim et al. | May 2012 | A1 |
20120119985 | Kang | May 2012 | A1 |
20120119987 | Im et al. | May 2012 | A1 |
20120120271 | Park et al. | May 2012 | A1 |
20120124525 | Kang | May 2012 | A1 |
20120127062 | Bar-Zeev | May 2012 | A1 |
20120128201 | Brickhill | May 2012 | A1 |
20120128208 | Leyvand et al. | May 2012 | A1 |
20120134575 | Mathe | May 2012 | A1 |
20120150650 | Zahand | Jun 2012 | A1 |
20120154542 | Katz et al. | Jun 2012 | A1 |
20120155705 | Latta | Jun 2012 | A1 |
20120157198 | Latta | Jun 2012 | A1 |
20120157203 | Latta | Jun 2012 | A1 |
20120157208 | Reville | Jun 2012 | A1 |
20120159290 | Pulsipher | Jun 2012 | A1 |
20120159327 | Law et al. | Jun 2012 | A1 |
20120163669 | Mathe et al. | Jun 2012 | A1 |
20120165096 | Geisner et al. | Jun 2012 | A1 |
20120165097 | Leyvand et al. | Jun 2012 | A1 |
20120165964 | Flaks | Jun 2012 | A1 |
20120173018 | Allen et al. | Jul 2012 | A1 |
20120177254 | Lee et al. | Jul 2012 | A1 |
20120182392 | Kearns et al. | Jul 2012 | A1 |
20120185094 | Rosenstein et al. | Jul 2012 | A1 |
20120185095 | Rosenstein et al. | Jul 2012 | A1 |
20120185096 | Rosenstein et al. | Jul 2012 | A1 |
20120197439 | Wang et al. | Aug 2012 | A1 |
20120197464 | Wang et al. | Aug 2012 | A1 |
20120198353 | Lee et al. | Aug 2012 | A1 |
20120201424 | Masalkar | Aug 2012 | A1 |
20120206051 | Nieuwlands | Aug 2012 | A1 |
20120206345 | Langridge | Aug 2012 | A1 |
20120218395 | Andersen | Aug 2012 | A1 |
20120223885 | Perez | Sep 2012 | A1 |
20120225719 | Nowozin | Sep 2012 | A1 |
20120229381 | Langridge | Sep 2012 | A1 |
20120235903 | Im | Sep 2012 | A1 |
20120239196 | Olivier et al. | Sep 2012 | A1 |
20120242800 | Ionescu | Sep 2012 | A1 |
20120257020 | Yee et al. | Oct 2012 | A1 |
20120262574 | Park et al. | Oct 2012 | A1 |
20120268372 | Park et al. | Oct 2012 | A1 |
20120268424 | Kim et al. | Oct 2012 | A1 |
20120274745 | Russell | Nov 2012 | A1 |
20120276994 | Lansdale | Nov 2012 | A1 |
20120276995 | Lansdale | Nov 2012 | A1 |
20120277001 | Lansdale | Nov 2012 | A1 |
20120278904 | Perez | Nov 2012 | A1 |
20120287038 | Mathe et al. | Nov 2012 | A1 |
20120293518 | Geisner et al. | Nov 2012 | A1 |
20120295661 | Kim et al. | Nov 2012 | A1 |
20120300024 | McEldowney | Nov 2012 | A1 |
20120300040 | McEldowney | Nov 2012 | A1 |
20120308140 | Ambrus | Dec 2012 | A1 |
20120309477 | Mayles | Dec 2012 | A1 |
20120309532 | Ambrus | Dec 2012 | A1 |
20120311503 | Preston | Dec 2012 | A1 |
20120314031 | Shotton | Dec 2012 | A1 |
20120320080 | Giese et al. | Dec 2012 | A1 |
20120327077 | Tung | Dec 2012 | A1 |
20120327078 | Liao et al. | Dec 2012 | A1 |
20120327089 | Lee et al. | Dec 2012 | A1 |
20120327125 | Kutliroff | Dec 2012 | A1 |
20130007668 | Liu et al. | Jan 2013 | A1 |
20130009861 | Valik et al. | Jan 2013 | A1 |
20130009865 | Valik et al. | Jan 2013 | A1 |
20130010071 | Valik et al. | Jan 2013 | A1 |
20130021373 | Vaught | Jan 2013 | A1 |
20130027296 | Klein et al. | Jan 2013 | A1 |
20130042296 | Hastings et al. | Feb 2013 | A1 |
20130044249 | Ledbetter | Feb 2013 | A1 |
20130050425 | Im et al. | Feb 2013 | A1 |
20130050426 | Sarmast | Feb 2013 | A1 |
20130066526 | Mondragon | Mar 2013 | A1 |
20130069862 | Ur | Mar 2013 | A1 |
20130069931 | Wilson | Mar 2013 | A1 |
20130070056 | Tripathi | Mar 2013 | A1 |
20130070058 | Lee et al. | Mar 2013 | A1 |
20130074002 | Markovic et al. | Mar 2013 | A1 |
20130077059 | Marti | Mar 2013 | A1 |
20130083063 | Geisner | Apr 2013 | A1 |
20130084970 | Geisner et al. | Apr 2013 | A1 |
20130084981 | Zalewski | Apr 2013 | A1 |
20130100129 | Mathe | Apr 2013 | A1 |
20130101207 | Mathe et al. | Apr 2013 | A1 |
20130106994 | Sharp | May 2013 | A1 |
20130113956 | Anderson et al. | May 2013 | A1 |
20130127980 | Haddick | May 2013 | A1 |
20130129155 | Lee et al. | May 2013 | A1 |
20130129169 | Mathe et al. | May 2013 | A1 |
20130129224 | Katz et al. | May 2013 | A1 |
20130129227 | Mathe et al. | May 2013 | A1 |
20130129230 | Shotton | May 2013 | A1 |
20130132095 | Murthi | May 2013 | A1 |
20130187929 | Perez et al. | Jul 2013 | A1 |
20130215235 | Russell | Aug 2013 | A1 |
20130243257 | Lee et al. | Sep 2013 | A1 |
20130321265 | Bychkov et al. | Dec 2013 | A1 |
20130321271 | Bychkov et al. | Dec 2013 | A1 |
20130325244 | Wang et al. | Dec 2013 | A1 |
20130328763 | Latta et al. | Dec 2013 | A1 |
20130329011 | Lee et al. | Dec 2013 | A1 |
20140006997 | Kim et al. | Jan 2014 | A1 |
20140007009 | Kulusky et al. | Jan 2014 | A1 |
20140019165 | Horseman | Jan 2014 | A1 |
20140022161 | Leyvand et al. | Jan 2014 | A1 |
20140028548 | Bychkov et al. | Jan 2014 | A1 |
20140078312 | Zalewski | Mar 2014 | A1 |
20140080428 | Rhoads | Mar 2014 | A1 |
20140094307 | Doolittle et al. | Apr 2014 | A1 |
20150234475 | Latta | Aug 2015 | A1 |
Number | Date | Country |
---|---|---|
102238350 | Nov 2011 | CN |
2265484 | Sep 1993 | GB |
Entry |
---|
Bergh, M.V. and Gool, L.V., “Combining RGB and ToF Cameras for Real-Time 3D Hand Gesture Interaction”, Jan. 2011, 2011 IEEE Workshop on Applications of Computer Vision (WACV), pp. 66-72. |
Chen, C.-P.; Chen, Y.-T.; Lee, P.-H.; Tsai, Y.-P. and Lei, S., “Real-Time Hand Tracking on Depth Images”, Nov. 6-9, 2011, 2011 IEEE Visual Communications and Image Processing (VCIP), p. 1-4. |
Shiratuddin, M.F. and Wong, K.W., “Non-Contact Multi-Hand Gestures Interaction Techniques for Architectural Design in a Virtual Environment”, Nov. 14-16, 2011, Processings of the 5th International Conference on IT and Multimedia at UNITEN (ICIMU 2011). |
Hung, C.-H. and Bai, Y.-W., “Halftone Control Method in White Light LEDS by Using an Embedded Remote Controller with Zigbee Communication”, May 2-5, 2010, 2010 23rd Canadian Conference on Electrical and Computer Engineering (CCECE). |
Ionescu, D.; Ionescu, B.; Gadea, C. and Islam, S., “An Intelligent Gesture Interface for Controlling TV Sets and Set-Top Boxes”, May 19-21, 2011, 6th IEEE International Symposium on Applied Computational Intelligence and Informatics. |
Segen, J. and Kumar, S., “Shadow Gestures: 3D Hand Pose Estimation Using a Single Camera”, Jun. 23-25, 1999, IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol. 1. |
Yahav, G.; Iddan, G.J. and Mandelboum, D., “3D Imaging Camera for Gaming Application”, Jan. 10-14, 2007, 2007 International Conference on Consumer Electronics (ICCE 2007), Digest of Technical Papers. |
Qian, G.; Guo, F.; Ingalls, T.; Olson, L.; James, J. and Rikakis, T., “A Gesture-Driven Multimodal interactive Dance System”, 2004, 2004 IEEE International Conference on Multimedia and Expo (ICME). |
Baldauf, M. and Frohlich, P., “Supporting Hand Gesture Manipulation of Projected Content with Mobile Phones”, 2009, Proceedings of the Workshop on Mobile Interaction with the Real World (WIRW). |
Freeman, W.T. and Weissman, C.D., “Television Control by Hand Gestures”, Dec. 1994, Mitsubishi Electric Research Laboratories, TR94-24. |
Hongo, H.; Ohya, M.; Yasumoto, M.; Niwa, Y. and Yamamoto, K., “Focus of Attention for Face and Hand Gesture Recognition Using Multiple Cameras”, 2000, Proceedings of the 4th IEEE International Conference on Automatic Face and Gesture Recognition. |
Kohler, M., “Special Topics of Gesture Recognition Applied in Intelligent Home Environments”, 1998, Proceedings of the Gesture Workshop, p. 285-296. |
Kohler, M., “Technical Details and Ergonomical Aspects of Gesture Recognition Applied in Intelligent Home Environments”, 1997. |
Pavlovic, V.I.; Sharma, R.; and Huang, T.S., “Visual Interpretation of Hand Gestures for Human-Computer Interaction: A Review”, Jul. 1997, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 19, No. 7. |
Cai, Q. and Aggarwal, J.K., “Tracking Human Motion Using Multiple Cameras”, Proceedings of the 13th Intl Conf on Pattern Recognition, Aug. 1996, pp. 68-72, vol. 3. |
Chen, M.-Y.; Mummert, L.; Pillai, P.; Hauptmann, A. and Sukthankar, R., “Controlling Your TV with Gestures”, Mar. 2010, MIR 2010. |
Jun, Z.; Fangwen, Z.; Jiaqi, W.; Zhengpeng, Y. and Jinbo, C., “3D Hand Gesture Analysis Based on Multi-Criterion in Multi-Camera System”, Sep. 2008, Proceedings of the IEEE Intl Conf on Automation and Logistics. |
Kuch, J.J. and Huang, T.S., “Vision Based Hand Modeling and Tracking for Virtual Teleconferencing and Telecollaboration”, Jun. 1995, Proceedings of the 5th Intl Conf on Computer Vision, pp. 666-671. |
Dias, J.M.S.; Nande, P.; Barata, N. and Correia, A., “O.G.R.E.—Open Gestures Recognition Engine”, 2004, Proceedings of the XVII Brazillian Symposium on Computer Graphics and Image Processing (SIBGRAPI '04). |
“Examination Report Received for European Patent Application No. 12192363.5”, Mailed Date: Jun. 12, 2014, Filed Date: Nov. 13, 2012, 5 Pages. |
“Search Report Received for European Patent Application No. 12192363.5”, Mailed Date: May 26, 2014, Filed Date: Nov. 13, 2012, 3 Pages. |
Response to European Office Action dated Jul. 10, 2014, European Patent Application No. 12192363.5. |
Examination Report dated Aug. 21, 2014, European Patent Application No. 12192363.5. |
Response to European Office Action dated Oct. 1, 2014, European Patent Application No. 12192363.5. |
Ionescu, et al., “An Intelligent gesture interface for contorlling TV sets and set-top boxes,” Applied Computational Intelligence and Informatics (SACI), 2011 6th IEEE International Symposium on IEEE, May 19, 2011, pp. 159-164. |
Number | Date | Country | |
---|---|---|---|
20130131836 A1 | May 2013 | US |