[go: up one dir, main page]

WO2012059910A1 - Apparatus and method for estimating a user's location and pointer attitude - Google Patents

Apparatus and method for estimating a user's location and pointer attitude Download PDF

Info

Publication number
WO2012059910A1
WO2012059910A1 PCT/IL2010/000919 IL2010000919W WO2012059910A1 WO 2012059910 A1 WO2012059910 A1 WO 2012059910A1 IL 2010000919 W IL2010000919 W IL 2010000919W WO 2012059910 A1 WO2012059910 A1 WO 2012059910A1
Authority
WO
WIPO (PCT)
Prior art keywords
images
predefined areas
display device
sequence
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IL2010/000919
Other languages
French (fr)
Inventor
Moshe Haiut
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DSP Group Ltd
Original Assignee
DSP Group Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DSP Group Ltd filed Critical DSP Group Ltd
Priority to PCT/IL2010/000919 priority Critical patent/WO2012059910A1/en
Publication of WO2012059910A1 publication Critical patent/WO2012059910A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations

Definitions

  • the present invention relates to estimating a location in general and to estimating location according to image-based data in particular.
  • Many computerized systems comprise two or more devices interacting with each other, for example, a camera interacting with a processor or a computer.
  • a camera interacting with a processor or a computer.
  • a game is an example to an interaction between a user and a display device.
  • the projection is performed between a display device on which a game is displayed and an object held or operated by the user.
  • the user's gaming console is attached to an image-capturing device, such as a camera.
  • image-capturing device such as a camera.
  • Some known systems use Infra-Red (IR) light detected and measured by a remote camera in the user's device.
  • the user carries the IR LEDs while the sensor is located in the console.
  • remote pointing where the user can point and select objects on a remote screen - using the beacon as a mouse or any other pointing Human Interface Device (HID).
  • HID Human Interface Device
  • the function is a correlation function that provides values used for summing and subtracting pixel values of the detected sequence of two or more images.
  • the values of the correlation function change according to a correlation sequence.
  • the correlation sequence is synchronized with changes in the pixel values of the predefined areas of the display device.
  • the method further comprises a step of performing motion estimation of the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of performing motion compensation on the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of limiting the scope of areas on which the function is utilize, said limiting narrows the utilization of the function to an environment of the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of generating the function. In some embodiments, the method further comprises a step of generating a correlation image containing pixel values determined by the function over the sequence of two or more images.
  • the system further comprises a synchronization unit for synchronizing the function to changes in the pixel values.
  • the system further comprises a motion estimation unit for performing motion estimation of the predefined areas in the detected sequence of two or more images.
  • the system further comprises a motion compensation unit for performing motion compensation on the predefined areas in the detected sequence of two or more images.
  • the image- capturing device sends the detected sequence of two or more images to a frame grabber.
  • the detected sequence of two or more images comprises RGB images and grayscale images.
  • Figure 1 shows a user operating a control unit in a computerized environment, according to exemplary embodiments of the subject matter
  • Figure 2A shows a computerized environment, according to exemplary embodiments of the subject matter
  • Figure 2B shows an image captured by a control device of a user in a computerized environment, according to exemplary embodiments of the subject matter
  • Figure 3 shows a control unit used for estimating a user's location, according to exemplary embodiments of the subject matter
  • Figure 4 shows a method for determining a location of a user's device interacting with a display device, relative to the display device, according to exemplary embodiments of the subject matter.
  • Figures 5A and 5B show a schematic view a Cartesian system of an image and a computerized device comprising an image-capturing device, according to exemplary embodiments of the disclosed subject matter.
  • One technical challenge disclosed in the subject matter is to identify a location of a computerized device interacting with a display device. Such interaction may be in a gaming console. A user may operate the computerized device. Another technical challenge is to identify the location without using an external light source from which IR signals are emitted and captured by a camera. Such external light source is additional to the display device with which the computerized device interacts. Another technical challenge is to determine the point on which the computerized device points on the display device by inspecting a sequence of images captured by the computerized device. The location of the computerized device relative to the display device may refer to the position of the computerized device. The location may also refer to the attitude of the computerized device, for example to the angle of pointing the computerized device onto the display device.
  • the computerized device operated by the user interacting with the display device.
  • the computerized device comprises an image-capturing device and a processing unit.
  • the image-capturing device is directed generally towards an area including a display device that displays data related to the game.
  • the image-capturing device also detects data in predefined areas of the display device.
  • the processing unit determines the location of the computerized device according to the location of certain predefined areas of the display device on the captured image.
  • the captured image may be an RGB image, grayscale image and the like.
  • the processing unit may utilize motion estimation and motion compensation tools to detect the predefined areas on the display device in a continuous manner.
  • Figure 1 shows a user operating a computerized device interacting with a display device, according to exemplary embodiments of the subject matter.
  • a display device such as a game.
  • the user 100 holds a computerized device 1 10 while interacting with a display device 120 according to data displayed on said display device 120, such as a game.
  • the computerized device 1 10 comprises an image-capturing device 1 15 for detecting images. The direction of the image-capturing device 1 15 on the computerized device may be stationary or may be adjusted by the user.
  • the computerized device 1 10 may comprise one or more buttons or switches 111, 1 12, 113 for enabling the user 100 to operate the computerized device 1 10.
  • the input received by the one or more buttons or switches 1 1 1, 112, 1 13 may affect the data displayed on the display device 120.
  • FIG. 2A shows a computerized environment, according to exemplary embodiments of the subject matter.
  • the computerized environment 200 comprises a display device 205 for displaying data.
  • the display device 205 comprises four corners, 202, 204, 206, 208.
  • Each one of the corners 202, 204, 206, 208 may be of a size determined by a designer of a computerized system, for example a size of 5X5 pixels, 8X6 pixels and the like.
  • the corners 202, 204, 206, 208 are one possible representation of predefined areas in the display device 205 that are used to determine the location of a computerized device 220 held by a user relative to the display device 205. Such predefined areas may also be in other locations of the display device.
  • the predefined areas may vary in time, according to a parameter, or in a context dependent manner.
  • the gaming environment 200 may further comprise a display processing unit 215 connected to the display device 205 using a communication cable 210 or via a wireless medium.
  • the display processing unit 215 may determine the data displayed on the display device 205.
  • the predefined areas may be distinguished from the remainder of the image of the display device 205 by having significantly different pixel values.
  • the pixel values of the predefined areas may vary every predefined period of time, for example changing the pixel values every 10 seconds or every 30 seconds or in some other predefined time dependent function signaling a code of a predefined area. Changing the pixel values may be performed by the display processing unit 215 that determines the data displayed on the display device 205. Changing the pixel values of the predefined areas may be performed by determining the pixel values to high value, such as white, for a predefined period of time, then a low pixel value such as black for another predefined period of time.
  • the control device 220 held by the user of the computerized environment 200 utilizes the change in the pixel values as disclosed below to distinguish the predefined areas from the remainder of the detected image. Changing the pixel values may be used to determine the predefined areas in the image detected by the image-capturing unit of the control device 220.
  • a processing unit within the control device 220 may manipulate the pixel values detected by the image-detecting unit in order to determine the predefined areas.
  • the predefined areas enable determining the relative orientation and location of the display device 205, and as a result, determine the relative location and orientation of the control device 220 relative to the display device 205.
  • Figure 2B shows an image captured by a control device of a user in a computerized environment, according to exemplary embodiments of the subject matter.
  • the captured image 250 discloses the display device 205 of figure 2A, as well as other elements adjacent to the display device 205, such as chair 280 and window 270.
  • the display device is defined by borderlines 252, 254, 256, 258.
  • the captured image 250 further displays predefined areas 262, 264, 266, 268 located in the corners of the display device, such as display device 205 of figure 2A.
  • the predefined areas may be in other locations of the display device 205, such as on the borderlines of the display device 205, in the center of the display device 205 and other locations desired by a person skilled in the art.
  • the pixel values of the data displayed in the predefined areas change frequently. This is to distinguish the predefined areas from the remainder of the image detected and analyzed by the control device 220, such as image 250.
  • An external unit such as 215 of figure 2A may determine to change the pixel values according to pre-defined correlation sequences for the purpose of enabling the control device 220 to easily distinguish the predefined areas from the remainder of the image.
  • Figure 3 shows a computerized device used for estimating a computerized device location relative to a display device, according to exemplary embodiments of the subject matter.
  • a user may hold the computerized device 300 during interaction with a display device, such as 205 of figure 2A.
  • the computerized device 300 comprises a processor 320 and a frame grabber 310.
  • the frame grabber 310 obtains an image that may contain a display device, such as 205 of figure 2A.
  • the frame grabber 310 may receive the image from an image-sensor device 330, or from a module external to the computerized device 300.
  • the image-sensor device 330 may be a standard RGB camera, an IR camera, or any image sensor device desired by a person skilled in the art.
  • the system of the disclosed subject matter is not limited to a specific type of images or cameras in order to determine the user's location relative to the display device.
  • the frame grabber 310 may comprise a communication port, a data channel and the like.
  • the frame grabber 310 may send the image to the processor 320.
  • the computerized device 300 handles a sequence of two or more images in order to determine the user's location relative to the display device.
  • the image captured by the image-capturing device 330 is not synchronized with the change in the pixel values of the predefined areas.
  • the image-capturing device 330 may sample the images in a rate higher than the rate of changing the pixel values. For example, sampling the image is performed for 10ms every 30ms, while the pixel values change every 300ms.
  • synchronization must be established.
  • a synchronization module 340 that resides in or communicates with the processor 320 may perform such synchronization. Synchronization may also be performed in real time, according to signals from the display-processing unit 215 of figure 2A.
  • the processor 320 may receive the image from the frame grabber 310.
  • the processor 320 performs manipulations on a sequence of two or more images.
  • the processor 320 comprises or uses a set of rules for implementing methods used to manipulate one or more of the received images.
  • An exemplary rule may be a motion estimation rule performed by a motion estimation module 324.
  • the motion estimation unit 324 may reside within the processor 320 or reside externally to the processor 320 and communicate with the same.
  • Another exemplary rule may be a motion compensation rule performed by a motion compensation unit 322.
  • the motion compensation module 322 may reside within the processor 320 or reside externally to the processor 320 and communicate with the same.
  • the processor 320 obtains a correlation function to manipulate the pixel values of the detected sequence of two or more images. Such function may be used to distinguish the pixel values of the predefined areas from pixel values of the remainder of the detected image.
  • the remainder of the image may also include the remainder of the display device detected as a portion of the detected image.
  • the function may sum or subtract pixel values of substantially the same pixel locations of the detected image, or motion compensated pixels. Such summation may be performed using matched filter with predefined time- pattern.
  • the correlation sequence may be [1, -1, 1 , -1 , -1 , 1 , 1], in which "1" represents summation and "-1" represents subtraction.
  • a correlation module 350 residing in the processor determines the correlation values used in manipulating the pixel values of the captured images. For example, the correlation module 350 obtains the correlation sequence according to which the pixel values are added or subtracted. The correlation module 350 determines the sequence of additions and subtraction of the pixels values of the captured images matched to the correlation sequence used for changing the pixel values of the predefined areas of the image on the display device.
  • the length of the sequence of captured images may be a function of the length of the correlation sequence.
  • the function is a correlation function [+1, -1, +1 , -1, relief] where the pixels in the predefined areas toggle between the two extreme values 255, white that represents +1 , and 0, black that represents -1.
  • the appropriate function used by the correlation module 350 adds and subtracts pixels values of subsequent grabbed images in an alternate manner. For example, when the pixel value is high, such as 255, the correlation function adds the value, while the next pixel value is low, such as 0, in which the correlation function subtracts the pixel value.
  • the image processing in the controller side per every single pixel may be
  • Y n is the processed value
  • Y n- i is the previous processed value
  • X n is the value of the new motion compensated pixel.
  • pixel values do not change significantly every few images.
  • the pixel values of the predefined areas displayed on the display device change when the sign of the difference X n changes.
  • the remainder of the image, except for the predefined areas remains approximately in a range of few times of standard pixel values, while the value of the predefined areas is significantly higher, for example 20-50 times of a standard pixel value.
  • a comparison of Yn to an adaptive threshold can then distinguish the predefined areas from the other parts of the image.
  • the correlation function may alternatively be different from [1 , -1 , 1 , -1 ...].
  • the sign may alternate every 3 frames.
  • the change of pixel values may be according to a random function, such as [high, high, low, high, low, high, low, low. ..].
  • the computerized device 300 may begin after the computerized device is synchronized with the function used for changing the pixel values of the predefined areas.
  • the 300 may further comprise a successive approximation unit (SAU) 360 for determining the location of the computerized device according to data achieved by the correlation image.
  • the SAU 360 may receive the number of pixel rows and columns detected by the image-capturing device 330.
  • the SAU 360 may also receive the locations of the predefined areas in the correlation image.
  • the SAU 360 utilizes a set of rules, equations or commands in order to determine the location of the computerized device relative to the display device.
  • the location may be represented as a three dimensional distance vector between the center of the display device and the control device. Said distance may be determined according to the same rules and equations noted above.
  • One example for determining the expected row MD of the location of predefined area D in the correlation image may be affected by the following parameters and measurements in the correlation image: These parameters are the number of columns M 0 , the number of rows No , and the angles ⁇ , ⁇ , and ⁇ , between the lines connecting the predefined areas. Such lines are equivalent to lines 252, 254, 256 and 258 of figure 2B.
  • X, Y and Z are the location of the computerized device relative to the display device in three dimensions. Such locations are also determined in other equations, such as
  • a defines the Pan angle
  • defines the Tilt angle
  • defines the Roll angles, each ranges between 90°-(-90°).
  • N 0 defines the number of pixel columns in the captured image.
  • M 0 defines the number of pixel lines in the captured image.
  • defines the opening angle of the image-capturing device.
  • MD refers to the row of point D, which represents one of the predefined areas.
  • the column of point D, as well as other points representing the predefined areas can be determined, which produce total of 8 equations.
  • the location of the rows and columns can be detected from the correlation image, which provides the values of a, ⁇ , ⁇ , X, Y and Z.
  • the values of X, Y and Z represent the reference location of the computerized device relative to the display device in three dimensions.
  • the absolute distance may be a function of the values represented by X, Y and Z and the size of the display device.
  • the subject matter also provides determining the exact point in the display device on which the computerized device points.
  • Figure 4 shows a method for determining a location of a computerized device interacting with a display device, relative to the display device, according to exemplary embodiments of the subject matter.
  • the method is performed on a sequence of images, but for simplicity will be described as if performed on one image at a time.
  • an image is obtained.
  • An image-capturing device may obtain the image.
  • the image may be standard RGB image, grayscale image, an IR image and the like.
  • the image is part of a sequence of images in an environment in which a user interacts with a display device or in which a user operates a device that obtains images containing a display device. At least a portion of the sequence of images contains a display device with which the user or the computerized device interacts.
  • a frame grabber in the computerized device operated by the user may also receive the obtained images from a source external to the control device.
  • the received images contain predefined areas in the display device.
  • the control device obtains a function for manipulating pixel values of the obtained image.
  • the function may be a sequence of values stored in the computerized device.
  • the function may be a correlation function.
  • the processor may perform mathematical or logical operations on the pixel values or RGB values of the detected image according to the values of the correlation function.
  • the function is used to manipulate the detected image and distinguish the predefined areas of the display device from the remainder of the detected image.
  • a processor of the control device generates a correlation image.
  • the correlation image receives data output by the correlation function.
  • the function may manipulate all the values of the detected image in the same manner. Changes applied on the pixel values of the predefined areas result in obtaining significantly different values of the predefined areas than the remainder of the correlation image.
  • Utilizing the correlation image and the function provides for distinguishing the predefined areas from the remainder of the detected image.
  • the function may be used in an alternating manner, in which the pixel values are added and subtracted. For example, adding pixel values for 20 frames, and then subtracting pixel values for another 20 frames. Changing the pixel values or RGB values of the predefined areas cause the predefined areas to have significantly larger absolute values than the remainder of the detected image.
  • the locations of the predefined areas on the detected image are determined. Such determination may be done according to pixel values of the correlation image or pixel values of one or more detected images manipulated by the obtained function.
  • the correlation function adds and subtracts pixel values in an alternate manner.
  • the values of the function may be pixel values that are added and subtracted. For example, the value of X n is pixel value 255 and the value of X tract + i is pixel value 0.
  • the summed value is higher than a standard pixel value, for example a summed value of pixels in the predefined locations of about 1500.
  • the process of applying the correlation function may be performed on the entire detected image.
  • the values changed in the monitor side provide the processing unit that use the correlation function with alternating pixel values for the predefined areas only.
  • the image manipulated by the correlation function is synchronized with the data displayed on the display device.
  • changes in the pixel values of the predefined areas are synchronized with the values of the correlation sequence of the correlation function.
  • such change may be performed every 5 seconds, every new phase in the interaction, every 20 frames and the like.
  • the change is predetermined and known to the computerized device before processing the detected images.
  • a synchronization unit in the computerized device may perform such synchronization.
  • steps 440 motion estimation is performed on the obtained image or on a sequence of obtained images.
  • step 445 motion compensation is performed on substantially the same image or images as the motion estimation.
  • estimation and compensation methods may be used by methods known in the art.
  • a person skilled in the art can use any motion estimation and motion compensation method to perform the method of the disclosed subject matter.
  • the scope of the analyzed content is limited.
  • the areas on which motion compensation is performed is limited to the environment of the predefined areas. For example, manipulating only the predefined areas and 50 pixels surrounding said predefined areas. Such limitation may be performed after determining the locations of the predefined areas.
  • the location of the computerized device relative to the display device is determined. Such determination may include the angle between the control device and the display device in three dimensions, Pan, Tilt, and Roll. The values of the Pan and Tilt may be provided from external sources, such as Gyro, accelerometer and the like. Such determination may further include the distances vector between the control device and the display device in three dimensions, X, Y and Z. The distance may alternatively be a function by two dimensions only.
  • Such determinations may be performed according to a set of rules or equations. Such determinations may be performed by a unit residing in the control device or by a unit connected thereto. Such determination may utilize data from the correlation image. In some cases, six equations are required to solve six variables representing the distances and angles. In such case, at least three predefined areas are to be used by the system of the disclosed subject matter to achieve injective results. Less than 3 predefined areas provide results that are not injective.
  • step 470 the point on the display device on which the computerized device points is determined.
  • the point can be derived according to the equations below, given that the point is represented by Xp and Yp on the display device, the pre-calculated outputs (x,y,z) and ( ⁇ , ⁇ , ⁇ ) are used to derive the coordinates Xp and Yp, as follows: x p - x - z tan ⁇
  • FIGS. 5A and 5B show a schematic view a Cartesian system of an image and a computerized device comprising an image-capturing device, according to exemplary embodiments of the disclosed subject matter.
  • the Cartesian system XYZ is related to the display device as depicted in Error! Reference source not found.5A.
  • the Cartesian system UVW disclosed in figure 5B is related to the image-capturing device, such as a CMOS sensor.
  • the Cartesian system UVW and the Cartesian system XYZ may initially coincide with each other.
  • the origin of Cartesian system UVW is then shifted to the location (x,y,z) of the Cartesian system XYZ. This is performed by shifting the image- capturing device relatively to the display device.
  • the Pan operation is performed by rotating the Cartesian system UVW by a degrees around the U axis.
  • the Tilt operation is performed by rotating the Cartesian system UVW by ⁇ degrees around the V axis
  • the Roll operation is performed by rotating the Cartesian system UVW by ⁇ degrees around the W axis.
  • the processor predicts the vectors (x,y,z) and ( ⁇ , ⁇ , ⁇ ) from the detected picture.
  • the processor further determines the point (x,y) on the console screen on which the image-capturing device is pointing.
  • the predefined areas A,B,C,D also named beacons, are part of the image displayed on the display device.
  • the beacons may be represented by a rectangular matrix of pixels of a unified color, which is the beacon color.
  • the RGB components of the beacon color change from one frame to the other according to a periodic pre-defined correlation pattern. In some cases, each beacon has its own correlation pattern.
  • the computerized device is a pointing device, such as a laser pointer.
  • the laser is unnecessary and the location of the pointing point can be derived according to images taken by an image- capturing device installed on the computerized device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The subject matter discloses a system and method of determining a location of a computerized device operated by a user and interacting with a display device, the method comprising obtaining a sequence of two or more images containing the display device and obtaining a function for manipulating pixel values of the detected images. The method then utilizes the function to distinguish locations of predefined areas of the display device of the images. The pixel values of said predefined areas change in an alternating manner. The system then determines the locations of the predefined areas in the detected images upon distinguishing the predefined areas and determines the location (position and orientation relative to the display) of the computerized device relative to the display device according to the determined locations of the predefined areas.

Description

APPARATUS AND METHOD FOR ESTIMATING A USER'S LOCATION AND
POINTER ATTITUDE
BACKGROUND OF THE INVENTION FIELD OF THE INVENTION
The present invention relates to estimating a location in general and to estimating location according to image-based data in particular.
DISCUSSION OF THE RELATED ART
Many computerized systems comprise two or more devices interacting with each other, for example, a camera interacting with a processor or a computer. In the video game industry, it is desired to project the location of a movable device used by a user. Such projection may be used to determine the user's activities during game or determine how to display the next move in a game, the direction in which characters or objects are supposed to react and the like. A game is an example to an interaction between a user and a display device.
In some cases, the projection is performed between a display device on which a game is displayed and an object held or operated by the user. In some other cases, the user's gaming console is attached to an image-capturing device, such as a camera. Some known systems use Infra-Red (IR) light detected and measured by a remote camera in the user's device. In some other solutions, the user carries the IR LEDs while the sensor is located in the console.
Another usage of such a projection is remote pointing, where the user can point and select objects on a remote screen - using the beacon as a mouse or any other pointing Human Interface Device (HID).
SUMMARY OF THE PRESENT INVENTION
It is an object of the subject matter to disclose method of determining a location of a computerized device interacting with a display device, the method comprising obtaining a sequence of two or more images, at least a portion of the sequence of two or more images comprising display of the display device; obtaining a function for manipulating pixel values of the detected sequence of two or more images; utilizing the obtained function to distinguish locations of predefined areas of the display device comprised in the at least a portion of the obtained sequence of two or more images, the pixel values of said predefined areas change in an alternating manner; determining the locations of the predefined areas in the detected sequence of two or more images upon distinguishing the predefined areas; and determining the location of the computerized device relative to the display device according to the determined locations of the predefined areas in the detected sequence of two or more images.
In some embodiments, the function is a correlation function that provides values used for summing and subtracting pixel values of the detected sequence of two or more images. In some embodiments, the values of the correlation function change according to a correlation sequence. In some embodiments, the correlation sequence is synchronized with changes in the pixel values of the predefined areas of the display device.
In some embodiments, the method further comprises a step of performing motion estimation of the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of performing motion compensation on the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of limiting the scope of areas on which the function is utilize, said limiting narrows the utilization of the function to an environment of the predefined areas in the detected sequence of two or more images. In some embodiments, the method further comprises a step of generating the function. In some embodiments, the method further comprises a step of generating a correlation image containing pixel values determined by the function over the sequence of two or more images.
It is another object of the subject matter to disclose a system for determining a location of a computerized device interacting with a display device, the system comprising: an image-capturing device for receiving a sequence of two or more images; a processing unit obtaining a function for manipulating pixel values of the detected sequence of two or more images; the processor further utilizes the obtained function to distinguish locations of predefined areas of the display device comprised in the at least a portion of the obtained sequence of two or more images, the pixel values of said predefined areas change in an alternating manner; the processor further determines the locations of the predefined areas in the detected sequence of two or more images upon distinguishing the predefined areas; and an approximation unit for determining the location of the computerized device relative to the display device according to the determined locations of the predefined areas in the detected sequence of two or more images.
In some embodiments, the system further comprises a synchronization unit for synchronizing the function to changes in the pixel values. In some embodiments, the system further comprises a motion estimation unit for performing motion estimation of the predefined areas in the detected sequence of two or more images. In some embodiments, the system further comprises a motion compensation unit for performing motion compensation on the predefined areas in the detected sequence of two or more images. In some embodiments, the image- capturing device sends the detected sequence of two or more images to a frame grabber. In some embodiments, the detected sequence of two or more images comprises RGB images and grayscale images. BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary non-limited embodiments of the disclosed subject matter will be described, with reference to the following description of the embodiments, in conjunction with the figures. The figures are generally not shown to scale and any sizes are only meant to be exemplary and not necessarily limiting. Corresponding or like elements are optionally designated by the same numerals or letters.
Figure 1 shows a user operating a control unit in a computerized environment, according to exemplary embodiments of the subject matter;
Figure 2A shows a computerized environment, according to exemplary embodiments of the subject matter;
Figure 2B shows an image captured by a control device of a user in a computerized environment, according to exemplary embodiments of the subject matter;
Figure 3 shows a control unit used for estimating a user's location, according to exemplary embodiments of the subject matter;
Figure 4 shows a method for determining a location of a user's device interacting with a display device, relative to the display device, according to exemplary embodiments of the subject matter; and,
Figures 5A and 5B show a schematic view a Cartesian system of an image and a computerized device comprising an image-capturing device, according to exemplary embodiments of the disclosed subject matter.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
One technical challenge disclosed in the subject matter is to identify a location of a computerized device interacting with a display device. Such interaction may be in a gaming console. A user may operate the computerized device. Another technical challenge is to identify the location without using an external light source from which IR signals are emitted and captured by a camera. Such external light source is additional to the display device with which the computerized device interacts. Another technical challenge is to determine the point on which the computerized device points on the display device by inspecting a sequence of images captured by the computerized device. The location of the computerized device relative to the display device may refer to the position of the computerized device. The location may also refer to the attitude of the computerized device, for example to the angle of pointing the computerized device onto the display device.
One technical solution of the disclosed subject matter is a computerized device operated by the user interacting with the display device. The computerized device comprises an image-capturing device and a processing unit. The image-capturing device is directed generally towards an area including a display device that displays data related to the game. The image-capturing device also detects data in predefined areas of the display device. The processing unit determines the location of the computerized device according to the location of certain predefined areas of the display device on the captured image. The captured image may be an RGB image, grayscale image and the like. The processing unit may utilize motion estimation and motion compensation tools to detect the predefined areas on the display device in a continuous manner.
Figure 1 shows a user operating a computerized device interacting with a display device, according to exemplary embodiments of the subject matter. Such environment also fits a gaming environment in which the user's device interacts with a gaming console. The user 100 holds a computerized device 1 10 while interacting with a display device 120 according to data displayed on said display device 120, such as a game. The computerized device 1 10 comprises an image-capturing device 1 15 for detecting images. The direction of the image-capturing device 1 15 on the computerized device may be stationary or may be adjusted by the user. The computerized device 1 10 may comprise one or more buttons or switches 111, 1 12, 113 for enabling the user 100 to operate the computerized device 1 10. The input received by the one or more buttons or switches 1 1 1, 112, 1 13 may affect the data displayed on the display device 120.
Figure 2A shows a computerized environment, according to exemplary embodiments of the subject matter. The computerized environment 200 comprises a display device 205 for displaying data. The display device 205 comprises four corners, 202, 204, 206, 208. Each one of the corners 202, 204, 206, 208 may be of a size determined by a designer of a computerized system, for example a size of 5X5 pixels, 8X6 pixels and the like. The corners 202, 204, 206, 208 are one possible representation of predefined areas in the display device 205 that are used to determine the location of a computerized device 220 held by a user relative to the display device 205. Such predefined areas may also be in other locations of the display device. For example, central pixels of the borderlines of the display device 205 and other locations desired by a person skilled in the art, from which a processing unit can derive the location of the display device 205 relative to the location of the computerized device 220. The predefined areas may vary in time, according to a parameter, or in a context dependent manner.
The gaming environment 200 may further comprise a display processing unit 215 connected to the display device 205 using a communication cable 210 or via a wireless medium. The display processing unit 215 may determine the data displayed on the display device 205.
In some exemplary embodiments, the predefined areas may be distinguished from the remainder of the image of the display device 205 by having significantly different pixel values. In some embodiments, the pixel values of the predefined areas may vary every predefined period of time, for example changing the pixel values every 10 seconds or every 30 seconds or in some other predefined time dependent function signaling a code of a predefined area. Changing the pixel values may be performed by the display processing unit 215 that determines the data displayed on the display device 205. Changing the pixel values of the predefined areas may be performed by determining the pixel values to high value, such as white, for a predefined period of time, then a low pixel value such as black for another predefined period of time. The control device 220 held by the user of the computerized environment 200 utilizes the change in the pixel values as disclosed below to distinguish the predefined areas from the remainder of the detected image. Changing the pixel values may be used to determine the predefined areas in the image detected by the image-capturing unit of the control device 220. A processing unit within the control device 220 may manipulate the pixel values detected by the image-detecting unit in order to determine the predefined areas. The predefined areas enable determining the relative orientation and location of the display device 205, and as a result, determine the relative location and orientation of the control device 220 relative to the display device 205.
Figure 2B shows an image captured by a control device of a user in a computerized environment, according to exemplary embodiments of the subject matter. The captured image 250 discloses the display device 205 of figure 2A, as well as other elements adjacent to the display device 205, such as chair 280 and window 270. In the captured image 250, the display device is defined by borderlines 252, 254, 256, 258. The captured image 250 further displays predefined areas 262, 264, 266, 268 located in the corners of the display device, such as display device 205 of figure 2A. In alternative embodiments, the predefined areas may be in other locations of the display device 205, such as on the borderlines of the display device 205, in the center of the display device 205 and other locations desired by a person skilled in the art.
In some exemplary embodiments of the disclosed subject matter, the pixel values of the data displayed in the predefined areas change frequently. This is to distinguish the predefined areas from the remainder of the image detected and analyzed by the control device 220, such as image 250. An external unit such as 215 of figure 2A may determine to change the pixel values according to pre-defined correlation sequences for the purpose of enabling the control device 220 to easily distinguish the predefined areas from the remainder of the image.
Figure 3 shows a computerized device used for estimating a computerized device location relative to a display device, according to exemplary embodiments of the subject matter. A user may hold the computerized device 300 during interaction with a display device, such as 205 of figure 2A. The computerized device 300 comprises a processor 320 and a frame grabber 310. The frame grabber 310 obtains an image that may contain a display device, such as 205 of figure 2A. The frame grabber 310 may receive the image from an image-sensor device 330, or from a module external to the computerized device 300. The image-sensor device 330 may be a standard RGB camera, an IR camera, or any image sensor device desired by a person skilled in the art. Unlike prior art systems, the system of the disclosed subject matter is not limited to a specific type of images or cameras in order to determine the user's location relative to the display device. The frame grabber 310 may comprise a communication port, a data channel and the like. The frame grabber 310 may send the image to the processor 320. The computerized device 300 handles a sequence of two or more images in order to determine the user's location relative to the display device.
In some exemplary embodiments of the disclosed subject matter, the image captured by the image-capturing device 330 is not synchronized with the change in the pixel values of the predefined areas. In such case, the image-capturing device 330 may sample the images in a rate higher than the rate of changing the pixel values. For example, sampling the image is performed for 10ms every 30ms, while the pixel values change every 300ms. In other exemplary embodiments of the disclosed subject matter, where the pixels changing rate is not lower than the capturing sampling rate, synchronization must be established. A synchronization module 340 that resides in or communicates with the processor 320 may perform such synchronization. Synchronization may also be performed in real time, according to signals from the display-processing unit 215 of figure 2A.
The processor 320 may receive the image from the frame grabber 310. The processor 320 performs manipulations on a sequence of two or more images. In some exemplary embodiments, the processor 320 comprises or uses a set of rules for implementing methods used to manipulate one or more of the received images. An exemplary rule may be a motion estimation rule performed by a motion estimation module 324. The motion estimation unit 324 may reside within the processor 320 or reside externally to the processor 320 and communicate with the same. Another exemplary rule may be a motion compensation rule performed by a motion compensation unit 322. The motion compensation module 322 may reside within the processor 320 or reside externally to the processor 320 and communicate with the same.
In some exemplary embodiments, the processor 320 obtains a correlation function to manipulate the pixel values of the detected sequence of two or more images. Such function may be used to distinguish the pixel values of the predefined areas from pixel values of the remainder of the detected image. The remainder of the image may also include the remainder of the display device detected as a portion of the detected image. The function may sum or subtract pixel values of substantially the same pixel locations of the detected image, or motion compensated pixels. Such summation may be performed using matched filter with predefined time- pattern. The correlation sequence may be [1, -1, 1 , -1 , -1 , -1 , 1 , 1], in which "1" represents summation and "-1" represents subtraction. A correlation module 350 residing in the processor determines the correlation values used in manipulating the pixel values of the captured images. For example, the correlation module 350 obtains the correlation sequence according to which the pixel values are added or subtracted. The correlation module 350 determines the sequence of additions and subtraction of the pixels values of the captured images matched to the correlation sequence used for changing the pixel values of the predefined areas of the image on the display device. The length of the sequence of captured images may be a function of the length of the correlation sequence.
One example for the function is a correlation function [+1, -1, +1 , -1,„] where the pixels in the predefined areas toggle between the two extreme values 255, white that represents +1 , and 0, black that represents -1. The appropriate function used by the correlation module 350 adds and subtracts pixels values of subsequent grabbed images in an alternate manner. For example, when the pixel value is high, such as 255, the correlation function adds the value, while the next pixel value is low, such as 0, in which the correlation function subtracts the pixel value. In this example, in order to detect the pre-defined areas, the image processing in the controller side per every single pixel may be
Where Yn is the processed value, Yn-i is the previous processed value and Xn is the value of the new motion compensated pixel. In the non-predefined parts of the picture, pixel values do not change significantly every few images. In some exemplary cases, the pixel values of the predefined areas displayed on the display device change when the sign of the difference Xn changes. As a result, after processing some tens of captured images, the remainder of the image, except for the predefined areas, remains approximately in a range of few times of standard pixel values, while the value of the predefined areas is significantly higher, for example 20-50 times of a standard pixel value. A comparison of Yn to an adaptive threshold can then distinguish the predefined areas from the other parts of the image.
The correlation function may alternatively be different from [1 , -1 , 1 , -1 ...]. In such case, the sign may alternate every 3 frames. In some other cases, the change of pixel values may be according to a random function, such as [high, high, low, high, low, high, low, low. ..]. In such case, the computerized device 300 may begin after the computerized device is synchronized with the function used for changing the pixel values of the predefined areas.
The 300 may further comprise a successive approximation unit (SAU) 360 for determining the location of the computerized device according to data achieved by the correlation image. The SAU 360 may receive the number of pixel rows and columns detected by the image-capturing device 330. The SAU 360 may also receive the locations of the predefined areas in the correlation image. The SAU 360 utilizes a set of rules, equations or commands in order to determine the location of the computerized device relative to the display device. The location may be represented as a three dimensional distance vector between the center of the display device and the control device. Said distance may be determined according to the same rules and equations noted above. One example for determining the expected row MD of the location of predefined area D in the correlation image may be affected by the following parameters and measurements in the correlation image: These parameters are the number of columns M0, the number of rows No, and the angles α, β, and δ, between the lines connecting the predefined areas. Such lines are equivalent to lines 252, 254, 256 and 258 of figure 2B. X, Y and Z are the location of the computerized device relative to the display device in three dimensions. Such locations are also determined in other equations, such as
Figure imgf000011_0001
Given that ° is the ratio between the length and the width of the display device 120 on the captured image, a defines the Pan angle, β defines the Tilt angle and γ defines the Roll angles, each ranges between 90°-(-90°). N0 defines the number of pixel columns in the captured image. M0 defines the number of pixel lines in the captured image. Θ defines the opening angle of the image-capturing device. MD refers to the row of point D, which represents one of the predefined areas. Similarly, the column of point D, as well as other points representing the predefined areas can be determined, which produce total of 8 equations. The location of the rows and columns can be detected from the correlation image, which provides the values of a, β, γ, X, Y and Z. The values of X, Y and Z represent the reference location of the computerized device relative to the display device in three dimensions. The absolute distance may be a function of the values represented by X, Y and Z and the size of the display device.
The subject matter also provides determining the exact point in the display device on which the computerized device points. The point can be derived according to the equations below, given that the point is represented by Xp and Yp, the pre-calculated outputs (x,y,z) and (α,β,γ) are used to derive the coordinates Xp and Yp, as follows: xp = x - z tan β
yP = y - z2 tan a tan β
Figure 4 shows a method for determining a location of a computerized device interacting with a display device, relative to the display device, according to exemplary embodiments of the subject matter. The method is performed on a sequence of images, but for simplicity will be described as if performed on one image at a time. In step 410, an image is obtained. An image-capturing device may obtain the image. The image may be standard RGB image, grayscale image, an IR image and the like. The image is part of a sequence of images in an environment in which a user interacts with a display device or in which a user operates a device that obtains images containing a display device. At least a portion of the sequence of images contains a display device with which the user or the computerized device interacts. In some exemplary cases, a frame grabber in the computerized device operated by the user may also receive the obtained images from a source external to the control device. The received images contain predefined areas in the display device.
In step 420, the control device obtains a function for manipulating pixel values of the obtained image. The function may be a sequence of values stored in the computerized device. The function may be a correlation function. The processor may perform mathematical or logical operations on the pixel values or RGB values of the detected image according to the values of the correlation function. The function is used to manipulate the detected image and distinguish the predefined areas of the display device from the remainder of the detected image. In step 425, a processor of the control device generates a correlation image. The correlation image receives data output by the correlation function. The function may manipulate all the values of the detected image in the same manner. Changes applied on the pixel values of the predefined areas result in obtaining significantly different values of the predefined areas than the remainder of the correlation image. Utilizing the correlation image and the function provides for distinguishing the predefined areas from the remainder of the detected image. The function may be used in an alternating manner, in which the pixel values are added and subtracted. For example, adding pixel values for 20 frames, and then subtracting pixel values for another 20 frames. Changing the pixel values or RGB values of the predefined areas cause the predefined areas to have significantly larger absolute values than the remainder of the detected image.
In step 430, the locations of the predefined areas on the detected image are determined. Such determination may be done according to pixel values of the correlation image or pixel values of one or more detected images manipulated by the obtained function. The correlation function adds and subtracts pixel values in an alternate manner. The values of the function may be pixel values that are added and subtracted. For example, the value of Xn is pixel value 255 and the value of X„+i is pixel value 0. When subtracting pixel values of zero and adding high pixel values, the summed value is higher than a standard pixel value, for example a summed value of pixels in the predefined locations of about 1500. The process of applying the correlation function may be performed on the entire detected image. The values changed in the monitor side provide the processing unit that use the correlation function with alternating pixel values for the predefined areas only.
In step 435, the image manipulated by the correlation function is synchronized with the data displayed on the display device. For example, changes in the pixel values of the predefined areas are synchronized with the values of the correlation sequence of the correlation function. For example, such change may be performed every 5 seconds, every new phase in the interaction, every 20 frames and the like. Alternatively, the change is predetermined and known to the computerized device before processing the detected images. A synchronization unit in the computerized device may perform such synchronization.
In steps 440 motion estimation is performed on the obtained image or on a sequence of obtained images. In step 445, motion compensation is performed on substantially the same image or images as the motion estimation. Such estimation and compensation methods may be used by methods known in the art. A person skilled in the art can use any motion estimation and motion compensation method to perform the method of the disclosed subject matter.
In step 450, the scope of the analyzed content is limited. For example, the areas on which motion compensation is performed is limited to the environment of the predefined areas. For example, manipulating only the predefined areas and 50 pixels surrounding said predefined areas. Such limitation may be performed after determining the locations of the predefined areas. In step 460, the location of the computerized device relative to the display device is determined. Such determination may include the angle between the control device and the display device in three dimensions, Pan, Tilt, and Roll. The values of the Pan and Tilt may be provided from external sources, such as Gyro, accelerometer and the like. Such determination may further include the distances vector between the control device and the display device in three dimensions, X, Y and Z. The distance may alternatively be a function by two dimensions only. Such determinations may be performed according to a set of rules or equations. Such determinations may be performed by a unit residing in the control device or by a unit connected thereto. Such determination may utilize data from the correlation image. In some cases, six equations are required to solve six variables representing the distances and angles. In such case, at least three predefined areas are to be used by the system of the disclosed subject matter to achieve injective results. Less than 3 predefined areas provide results that are not injective.
In step 470, the point on the display device on which the computerized device points is determined. The point can be derived according to the equations below, given that the point is represented by Xp and Yp on the display device, the pre-calculated outputs (x,y,z) and (α,β,γ) are used to derive the coordinates Xp and Yp, as follows: xp - x - z tan β
yp = y - z2 tan a tan β Figures 5A and 5B show a schematic view a Cartesian system of an image and a computerized device comprising an image-capturing device, according to exemplary embodiments of the disclosed subject matter. The Cartesian system XYZ is related to the display device as depicted in Error! Reference source not found.5A. The Cartesian system UVW disclosed in figure 5B is related to the image-capturing device, such as a CMOS sensor.
The Cartesian system UVW and the Cartesian system XYZ may initially coincide with each other. The origin of Cartesian system UVW is then shifted to the location (x,y,z) of the Cartesian system XYZ. This is performed by shifting the image- capturing device relatively to the display device. The Pan operation is performed by rotating the Cartesian system UVW by a degrees around the U axis. The Tilt operation is performed by rotating the Cartesian system UVW by β degrees around the V axis, and the Roll operation is performed by rotating the Cartesian system UVW by γ degrees around the W axis.
The processor predicts the vectors (x,y,z) and (α,β,γ) from the detected picture.
The processor further determines the point (x,y) on the console screen on which the image-capturing device is pointing.
The predefined areas A,B,C,D, also named beacons, are part of the image displayed on the display device. The beacons may be located at the screen corners. It is assumed that ABCD is a rectangular with dimensions AD = 2*a and AB = 5*2*a, where δ < 1 denotes the aspect ratio of the console screen between the height and the width. The beacons may be represented by a rectangular matrix of pixels of a unified color, which is the beacon color. The RGB components of the beacon color change from one frame to the other according to a periodic pre-defined correlation pattern. In some cases, each beacon has its own correlation pattern.
The above described may also be used in case the computerized device is a pointing device, such as a laser pointer. In such case, the laser is unnecessary and the location of the pointing point can be derived according to images taken by an image- capturing device installed on the computerized device.
While the disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings without departing from the essential scope thereof. Therefore, it is intended that the disclosed subject matter not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but only by the claims that follow.

Claims

1. A method of determining a location of a computerized device interacting with a display device, the method comprising:
obtaining a sequence of two or more images, at least a portion of the sequence of two or more images comprising display of the display device;
obtaining a function for manipulating pixel values of the detected sequence of two or more images;
utilizing the obtained function to distinguish locations of predefined areas of the display device comprised in the at least a portion of the obtained sequence of two or more images, the pixel values of said predefined areas change in an alternating manner;
determining the locations of the predefined areas in the detected sequence of two or more images upon distinguishing the predefined areas; and
determining the location of the computerized device relative to the display device according to the determined locations of the predefined areas in the detected sequence of two or more images.
2. The method according to claim 1, wherein the function is a correlation function that provides values used for summing and subtracting pixel values of the detected sequence of two or more images.
3. The method according to claim 2, wherein the values of the correlation function change according to a correlation sequence.
4. The method according to claim 3, wherein the correlation sequence is synchronized with changes in the pixel values of the predefined areas of the display device.
5. The method according to claim 1, further comprises a step of performing motion estimation of the predefined areas in the detected sequence of two or more images.
6. The method according to claim 1 , further comprises a step of performing motion compensation on the predefined areas in the detected sequence of two or more images.
7. The method according to claim 1, further comprises a step of limiting the scope of areas on which the function is utilize, said limiting narrows the utilization of the function to an environment of the predefined areas in the detected sequence of two or more images.
8. The method according to claim 1 , further comprises a step of generating the function.
9. The method according to claim 1, further comprises a step of generating a correlation image containing pixel values determined by the function over the sequence of two or more images.
10. A system for determining a location of a computerized device interacting with a display device, the system comprising:
an image-capturing device for receiving a sequence of two or more images;
a processing unit obtaining a function for manipulating pixel values of the detected sequence of two or more images;
the processor further utilizes the obtained function to distinguish locations of predefined areas of the display device comprised in the at least a portion of the obtained sequence of two or more images, the pixel values of said predefined areas change in an alternating manner;
the processor further determines the locations of the predefined areas in the detected sequence of two or more images upon distinguishing the predefined areas; and
an approximation unit for determining the location of the computerized device relative to the display device according to the determined locations of the predefined areas in the detected sequence of two or more images.
1 1. The system according to claim 10, further comprises a synchronization unit for synchronizing the function to changes in the pixel values.
12. The system according to claim 10, further comprises a motion estimation unit for performing motion estimation of the predefined areas in the detected sequence of two or more images.
13. The system according to claim 10, further comprises a motion compensation unit for performing motion compensation on the predefined areas in the detected sequence of two or more images.
14. The system according to claim 10, wherein the image-capturing device sends the detected sequence of two or more images to a frame grabber.
15. The system according to claim 10, wherein the detected sequence of two or more images comprises RGB images and grayscale images.
PCT/IL2010/000919 2010-11-07 2010-11-07 Apparatus and method for estimating a user's location and pointer attitude Ceased WO2012059910A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IL2010/000919 WO2012059910A1 (en) 2010-11-07 2010-11-07 Apparatus and method for estimating a user's location and pointer attitude

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2010/000919 WO2012059910A1 (en) 2010-11-07 2010-11-07 Apparatus and method for estimating a user's location and pointer attitude

Publications (1)

Publication Number Publication Date
WO2012059910A1 true WO2012059910A1 (en) 2012-05-10

Family

ID=44510167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2010/000919 Ceased WO2012059910A1 (en) 2010-11-07 2010-11-07 Apparatus and method for estimating a user's location and pointer attitude

Country Status (1)

Country Link
WO (1) WO2012059910A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060534A1 (en) * 1999-03-31 2000-10-12 Koninklijke Philips Electronics N.V. Remote control for display apparatus
FR2814026A1 (en) * 2000-09-14 2002-03-15 Yves Jean Paul Guy Reza Piloting control for display cursor has remote user control box to move cursor on television display
US20020163576A1 (en) * 2001-03-22 2002-11-07 Nikon Corporation Position detector and attitude detector
WO2007048044A2 (en) * 2005-10-21 2007-04-26 Henty David L Multi-directional remote control system and method
US20080001918A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Generating Position Information Using a Video Camera
EP1983406A1 (en) * 2007-04-20 2008-10-22 Enwemedia GMBH Method and device for data input in a data processing facility

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060534A1 (en) * 1999-03-31 2000-10-12 Koninklijke Philips Electronics N.V. Remote control for display apparatus
FR2814026A1 (en) * 2000-09-14 2002-03-15 Yves Jean Paul Guy Reza Piloting control for display cursor has remote user control box to move cursor on television display
US20020163576A1 (en) * 2001-03-22 2002-11-07 Nikon Corporation Position detector and attitude detector
WO2007048044A2 (en) * 2005-10-21 2007-04-26 Henty David L Multi-directional remote control system and method
US20080001918A1 (en) * 2006-06-30 2008-01-03 Microsoft Corporation Generating Position Information Using a Video Camera
EP1983406A1 (en) * 2007-04-20 2008-10-22 Enwemedia GMBH Method and device for data input in a data processing facility

Similar Documents

Publication Publication Date Title
EP3553465B1 (en) Information processing device and information processing method
EP2854099B1 (en) Information processing device and information processing method
EP2417557B1 (en) Enhanced handheld screen-sensing pointer
CA2378154C (en) Computer presentation system and method with optical tracking of wireless pointer
US8320622B2 (en) Color gradient object tracking
EP2512141A1 (en) System and method of user interaction in augmented reality
US20080062125A1 (en) Electronic appliance
US20150287215A1 (en) Image processor and image processing method
WO2005065013A3 (en) Method and apparatus for improved handset multi-tasking, including pattern recognition and augmentation of camera images
US9280209B2 (en) Method for generating 3D coordinates and mobile terminal for generating 3D coordinates
KR20140105809A (en) Method for recognizing gestures and gesture detector
JP4848521B2 (en) Method for substituting mouse for projector projected image and system for substituting mouse for the same
US20120105444A1 (en) Display processing apparatus, display processing method, and display processing program
EP3689427B1 (en) Peripheral tracking system and method
KR20220115223A (en) Method and apparatus for multi-camera calibration
EP3106968B1 (en) Information processing device, information processing method, and program
KR20180118584A (en) Apparatus for Infrared sensing footing device, Method for TWO-DIMENSIONAL image detecting and program using the same
WO2012059910A1 (en) Apparatus and method for estimating a user&#39;s location and pointer attitude
US20130271371A1 (en) Accurate extended pointing apparatus and method thereof
KR101609353B1 (en) Interface method and device for controlling screen
CN108921097B (en) Human eye visual angle detection method and device and computer readable storage medium
JPH07160412A (en) Pointed position detection method
CN110313176A (en) Image processing apparatus, method and program
US20250220307A1 (en) Method and display apparatus incorporating gaze-based motion blur compensation
KR101808720B1 (en) Virtual Keyboard Control Method using Depth Image Processing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10795462

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10795462

Country of ref document: EP

Kind code of ref document: A1