Video actuated interactive environment
First Claim
1. A video-actuated system for creating an interactive environment on an interaction surface for a participant, comprising:
- at least one energy source capable of generating electromagnetic energy in a relatively limited wavelength range, wherein the at least one energy source is positioned such that the energy from the at least one energy source strikes at least a portion of the interaction surface;
at least one electromagnetic imaging device, wherein the at least one electromagnetic imaging device is capable of detecting electromagnetic energy in at least the relatively limited wavelength range generated by the at least one energy source and converting the detected energy into an output video signal including a plurality of frames, and wherein the at least one electromagnetic imaging device is positioned such that the at least one electromagnetic imaging device can detect the electromagnetic energy from at least a portion of the interaction surface;
at least one visible light projector having at least one input, wherein the at least one projector is capable of projecting visible light onto the interaction surface;
at least one computer; and
at least one computer program process operating on the at least one computer, capable of receiving the output video signal from the electromagnetic imaging device, detecting blobs of infrared energy within the output signal by scanning each pixel in each frame of the output signal and setting pixel intensity in each frame to zero for each pixel having an intensity less that a predetermined threshold, reporting information about the blobs, processing the blob information, and generating an input to the at least one visible light projector based on the processed blob information, wherein the blob information includes coordinates of a bounding box for each blob, determined by;
setting each pixel at or above the threshold as a blob pixel and each pixel below the threshold as a zeroed pixel,determining a top and bottom edge of each blob by selecting a first blob pixel, moving up and down a frame one row at a time in a same column as the selected first blob pixel until a zeroed pixel is encountered, and saving coordinates of each last encountered blob pixel in the same column;
calculating and saving coordinates of a vertical mid-point pixel between the coordinates of the last encountered blob pixels in the same column;
setting the vertical mid-point pixel as a next blob pixel;
determining a right and left edge of each blob by moving left and right in the frame one column at a time in the same row as the next blob pixel until a zeroed pixel is encountered, and saving coordinates of the last encountered blob pixels in the same row;
calculating and saving coordinates of a horizontal mid-point pixel between the coordinates of the last encountered blob pixels in the same row;
determining a top and bottom edge of the blob by moving up and down the frame one row at a time in the same column as the horizontal midpoint pixel until a zeroed pixel is encountered, and saving the coordinates of the last encountered blob pixels in that column; and
calculating and saving the bounding box coordinates of each blob from an intersection of a vertical line through the horizontal midpoints and a horizontal line through the vertical midpoints as above determined.
1 Assignment
0 Petitions
Accused Products
Abstract
A surface-based interactive environment that utilizes low cost equipment to create a highly interactive environment for participants. The game can include electronic versions of traditional games, such as air hockey, football, soccer, and the like. The game can also include one or more electronically generated characters with whom the participants can interact. The system utilizes a high-mounted projector to create the game environment and/or generate the characters. A remotely mounted infrared light source and infrared camera are used to detect the participants as they move around within the interaction area of the game.
-
Citations
47 Claims
-
1. A video-actuated system for creating an interactive environment on an interaction surface for a participant, comprising:
-
at least one energy source capable of generating electromagnetic energy in a relatively limited wavelength range, wherein the at least one energy source is positioned such that the energy from the at least one energy source strikes at least a portion of the interaction surface; at least one electromagnetic imaging device, wherein the at least one electromagnetic imaging device is capable of detecting electromagnetic energy in at least the relatively limited wavelength range generated by the at least one energy source and converting the detected energy into an output video signal including a plurality of frames, and wherein the at least one electromagnetic imaging device is positioned such that the at least one electromagnetic imaging device can detect the electromagnetic energy from at least a portion of the interaction surface; at least one visible light projector having at least one input, wherein the at least one projector is capable of projecting visible light onto the interaction surface; at least one computer; and at least one computer program process operating on the at least one computer, capable of receiving the output video signal from the electromagnetic imaging device, detecting blobs of infrared energy within the output signal by scanning each pixel in each frame of the output signal and setting pixel intensity in each frame to zero for each pixel having an intensity less that a predetermined threshold, reporting information about the blobs, processing the blob information, and generating an input to the at least one visible light projector based on the processed blob information, wherein the blob information includes coordinates of a bounding box for each blob, determined by; setting each pixel at or above the threshold as a blob pixel and each pixel below the threshold as a zeroed pixel, determining a top and bottom edge of each blob by selecting a first blob pixel, moving up and down a frame one row at a time in a same column as the selected first blob pixel until a zeroed pixel is encountered, and saving coordinates of each last encountered blob pixel in the same column; calculating and saving coordinates of a vertical mid-point pixel between the coordinates of the last encountered blob pixels in the same column; setting the vertical mid-point pixel as a next blob pixel; determining a right and left edge of each blob by moving left and right in the frame one column at a time in the same row as the next blob pixel until a zeroed pixel is encountered, and saving coordinates of the last encountered blob pixels in the same row; calculating and saving coordinates of a horizontal mid-point pixel between the coordinates of the last encountered blob pixels in the same row; determining a top and bottom edge of the blob by moving up and down the frame one row at a time in the same column as the horizontal midpoint pixel until a zeroed pixel is encountered, and saving the coordinates of the last encountered blob pixels in that column; and calculating and saving the bounding box coordinates of each blob from an intersection of a vertical line through the horizontal midpoints and a horizontal line through the vertical midpoints as above determined. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A video-actuated system for creating an interactive environment for at least one participant with respect to an interaction surface, comprising:
-
at least one imaging device, for generating an output video signal representative of at least a portion of the interaction surface; a visible light projector having at least one input, wherein the projector is capable of projecting visible light onto only a subset of the interaction surface, wherein the interaction surface and the visible light projector are positioned such that the participant is located substantially between the interaction surface and the visible light projector; a pan and tilt mirror system placed in the optical path of the projector, wherein the pan and tilt mirror system is capable of directing the output from the visible light projector to a desired position; at least one computer; at least one computer program process operating on the at least one computer, capable of receiving the output video signal from the imaging device, detecting the position of the participant within an area on the interaction surface by scanning each pixel in each frame of the video output signal and setting pixel intensity in each frame to zero for each pixel having an intensity less that a predetermined threshold and detecting the at least one participant position by determining a blob position, generating a signal for projecting a character in the proximity of the at least one participant, providing the signal to the input of the visible light projector, and providing approximately the detected position of the participant via the blob position to the pan and tilt mirror system, wherein the blob position includes coordinates of a bounding box for each blob, determined by; setting each pixel at or above the threshold as a blob pixel and each pixel below the threshold as a zeroed pixel, determining a top and bottom edge of each blob by selecting a first blob pixel, moving up and down a frame one row at a time in a same column as the selected first blob pixel until a zeroed pixel is encountered, and saving coordinates of each last encountered blob pixel in the same column; calculating and saving coordinates of a vertical mid-point pixel between the coordinates of the last encountered blob pixels in the same column; setting the vertical mid-point pixel as a next blob pixel; determining a right and left edge of each blob by moving left and right in the frame one column at a time in the same row as the next blob pixel until a zeroed pixel is encountered, and saving coordinates of the last encountered blob pixels in the same row; calculating and saving coordinates of a horizontal mid-point pixel between the coordinates of the last encountered blob pixels in the same row; determining a top and bottom edge of the blob by moving up and down the frame one row at a time in the same column as the horizontal midpoint pixel until a zeroed pixel is encountered, and saving the coordinates of the last encountered blob pixels in that column; and calculating and saving the bounding box coordinates of each blob from an intersection of a vertical line through the horizontal midpoints and a horizontal line through the vertical midpoints as above determined. - View Dependent Claims (45)
-
-
46. A video-actuated system for creating an interactive environment on an interaction surface for a participant, comprising:
-
at least one energy source capable of generating electromagnetic energy in a relatively limited wavelength range, wherein the at least one energy source is positioned such that the energy from the at least one energy source strikes at least a portion of the interaction surface; at least one electromagnetic imaging device, wherein the at least one electromagnetic imaging device is capable of detecting electromagnetic energy in at least the relatively limited wavelength range generated by the at least one energy source and converting the detected energy into an output video signal including a plurality of frames, and wherein the at least one electromagnetic imaging device is positioned such that the at least one electromagnetic imaging device can detect the electromagnetic energy from at least a portion of the interaction surface; at least one visible light projector having at least one input, wherein the at least one projector is capable of projecting visible light onto the interaction surface; at least one computer; and at least one computer program process operating on the at least one computer, capable of receiving the output video signal from the electromagnetic imaging device, detecting blobs of infrared energy within the output signal by scanning each pixel in each frame of the output signal and setting pixel intensity in each frame to zero for each pixel having an intensity less that a predetermined threshold, reporting information about the blobs, processing the blob information, and generating an input to the at least one visible light projector based on the processed blob information, wherein the blob information includes coordinates of a midpoint for each blob, wherein the midpoint is determined by; scanning each pixel to determine a top and bottom edge of each blob; saving the coordinates along the top and bottom edge of each blob; calculating the vertical midpoint of each blob from the coordinates of the top and bottom edge of each blob; scanning each pixel to determine a right and left edge of each blob; saving the coordinates along the right and left edge of each blob; calculating the horizontal midpoint of each blob from the coordinates of the right and left edge of each blob; and calculating the midpoint of each blob from an intersection of a vertical line through the horizontal midpoint and a horizontal line through the vertical midpoint.
-
-
47. A video-actuated system for creating an interactive environment for at least one participant with respect to an interaction surface, comprising:
-
at least one imaging device, for generating an output video signal representative of at least a portion of the interaction surface; a visible light projector having at least one input, wherein the projector is capable of projecting visible light onto only a subset of the interaction surface, wherein the interaction surface and the visible light projector are positioned such that the participant is located substantially between the interaction surface and the visible light projector; a pan and tilt mirror system placed in the optical path of the projector, wherein the pan and tilt mirror system is capable of directing the output from the visible light projector to a desired position; at least one computer; at least one computer program process operating on the at least one computer, capable of receiving the output video signal from the imaging device, detecting the position of the participant within an area on the interaction surface by scanning each pixel in each frame of the video output signal and setting pixel intensity in each frame to zero for each pixel having an intensity less that a predetermined threshold and detecting the at least one participant position by determining a blob position, generating a signal for projecting a character in the proximity of the at least one participant, providing the signal to the input of the visible light projector, and providing approximately the detected position of the participant via the blob position to the pan and tilt mirror system, wherein the blob information includes coordinates of a midpoint for each blob, wherein the midpoint is determined by; scanning each pixel to determine a top and a bottom edge of each blob; saving the coordinates along the top and the bottom edge of each blob; calculating the vertical midpoint of each blob from the coordinates of the top and the bottom edge of each blob; scanning each pixel to determine a right and a left edge of each blob; saving the coordinates along the right and the left edge of each blob; calculating the horizontal midpoint of each blob from the coordinates of the right and the left edge of each blob; and calculating the midpoint of each blob from an intersection of a vertical line through the horizontal midpoint and a horizontal line through the vertical midpoint.
-
Specification