# US 2012/0119879 A1 · System and method for camera control in a surveillance system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2012/0119879 A1
- Document ID: US20120119879A1
- Status: Published application
- Kind: A1
- Application number: 12/946,413
- Filed: 2010-11-15
- Published: 2012-05-17
- Earliest claimed: 2010-11-15
- Assignees: Intergraph Technologies Company
- Inventors: Andrew D. Estes; Johnny E. Frederick
- Web page: https://patentgrep.com/patent/US20120119879A1

## CPC

- G08B 13/1968: {Interfaces for setting up or customising the system}
- G08B 13/19641: {Multiple cameras having overlapping views on a single scene}
- H04N 7/181: {for receiving images from a plurality of remote sources}
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and a system for calibrating a camera in a surveillance system. The method and system use a mathematical rotation between a first coordinate system and a second coordinate system in order to calibrate a camera with a map of an area. In some embodiments, the calibration can be used to control the camera and/or to display a view cone on the map.

## Claims

### Claim 1

A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates;
displaying a map of an area, the map being characterized by geospatial coordinates;
allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location;
converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system;
determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix;
after determining the mathematical rotation, allowing the user to select at least one point in the map using the at least one input device;
converting, in a computer process, the geospatial coordinates for the selected point into Cartesian coordinates defined by the first coordinate system;
applying, in a computer process, the rotation to the Cartesian coordinates for the selected point to determine Cartesian coordinates defined by the second coordinate system;
converting, in a computer process, the Cartesian coordinates defined by the second coordinate system into pan and tilt coordinates for the selected point; and
providing orientation instructions to the at least one camera based upon the pan and tilt coordinates for the selected point.

### Claim 2

(canceled)

### Claim 3 (depends on 1)

A method according to claim 1, further comprising:
displaying the location of the at least one camera on the map.

### Claim 4 (depends on 1)

A method according to claim 1, wherein the geospatial coordinates are latitude, longitude, and altitude coordinates.

### Claim 5 (depends on 1)

A method according to claim 1, wherein the input device is at least one of a mouse, a cursor, a crosshair, a touch screen, and a keyboard.

### Claim 6

(canceled)

### Claim 7

A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates;
displaying a map of an area, the map being characterized by geospatial coordinates;
allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location;
converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system;
determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix;
after determining the mathematical rotation, receiving coordinates from a sensor for at least one target;
if the coordinates for the at least one target are not Cartesian coordinates defined by the first coordinate system, converting, in a computer process, the coordinates into Cartesian coordinates defined by the first coordinate system;
applying, in a computer process, the rotation to the Cartesian coordinates defined by the first Cartesian coordinate system for the at least one target to determine Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target;
converting, in a computer process, the Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target into pan and tilt coordinates; and
providing orientation instructions to the at least one camera based upon the pan and tilt coordinates.

### Claim 8

(canceled)

### Claim 9 (depends on 7)

A method according to claim 7, further comprising:
displaying the location of the at least one target on the map.

### Claim 10

A computer-implemented method for calibrating at least one camera, the system including at least one camera, the method comprising:
displaying a video feed from the at least one camera, the at least one camera having an orientation characterized by pan, zoom, and tilt coordinates and wherein the video feed has upper left, upper right, lower left, and lower right corners;
displaying a map of an area, the map being characterized by geospatial coordinates;
allowing a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in the map and a second point of each pair being selected from the video feed, wherein for any of the pairs the first point and the second point correspond to the same geographic location;
converting, in a computer process, the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
converting, in a computer process, the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system;
determining, in a computer process, a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points;
determining, in a computer process, effective pan and tilt angles for at least the lower left and lower right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera orientation;
converting, in a computer process, the effective pan and tilt angles for at least the lower left and lower right corners of the video feed into Cartesian coordinate defined by the second coordinate system;
applying, in a computer process, the rotation to the Cartesian coordinates defined by the second coordinate system to determine Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed;
determining, in a computer process, a view cone using the Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed;
determining, in a computer process, the view cone based upon the upper left and upper right corners of the video feed; and
displaying the view cone on the map.

### Claim 11 (depends on 10)

A method according to claim 10, wherein, when the tilt coordinate for the camera is below the horizon, determining the view cone based upon the upper left and upper right corners of the video feed comprises:
determining, in a computer process, effective pan for the upper left and upper right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera orientation; and
converting, in a computer process, the effective pan and tilt angles for the upper left and upper right corners of the video feed into Cartesian coordinates defined by the second coordinate system;
applying, in a computer process, the mathematical rotation to the Cartesian coordinates to determine Cartesian coordinates defined by the first coordinate system for the upper left and upper right corners of the video feed; and
determining, in a computer process, the view cone based upon the Cartesian coordinates, defined by the first coordinate system, for the upper left, upper right, lower left and lower right corners.

### Claim 12 (depends on 11)

A method according to claim 11, wherein the view cone is a polygon and the Cartesian coordinates, defined by the first coordinate system, for the upper left, upper right, lower left and lower right corners are the vertices of the polygon.

### Claim 13 (depends on 10)

A method according to claim 10, wherein, when the tilt coordinate for the camera is above the horizon, determining the view cone based upon the upper left and upper right corners of the video feed comprises:
determining, in a computer process, effective tilt angles for the upper left and upper right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera.
determining, in a computer process, coordinates, defined by the first coordinate system, for the upper left and upper right corners of the video feed based upon a resolvable distance of the camera; and
determining, in a computer process, the view cone based upon the Cartesian coordinates, defined by the first coordinate system, for the upper left, upper right, lower left and lower right corners.

### Claim 14 (depends on 13)

A method according to claim 13, wherein the view cone is a polygon and the Cartesian coordinates, defined by the first coordinate system, for the upper left, upper right, lower left and lower right corners are the vertices of the polygon.

### Claim 15

A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
code for creating an interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein for any of the pairs the first point and the second point correspond to the same geographic location;
code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; and
code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix;
code for converting the geospatial coordinates for a point in the map selected by using the at least one input device into Cartesian coordinates defined by the first coordinate system after the mathematical rotation has been determined;
code for applying the rotation to the Cartesian coordinates for the selected point to determine Cartesian coordinates defined by the second coordinate system;
code for converting the Cartesian coordinates defined by the second coordinate system into pan and tilt coordinates for the selected point; and
code for providing orientation instructions to the at least one camera based upon the pan and tilt coordinates for the selected point.

### Claim 16

(canceled)

### Claim 17

A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
code for creating an interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein for any given pair the first point and the second point correspond to the same geographic location;
code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system;
code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points, wherein the mathematical rotation is a matrix;
code for receiving coordinates from a sensor for at least one target after the mathematical rotation has been determined;
code for if the coordinates for the at least one target are not Cartesian coordinates defined by the first coordinate system, said code converting the coordinates into Cartesian coordinates defined by the first coordinate system for the at least one target;
code for applying the rotation to the Cartesian coordinates defined by the first Cartesian coordinate system for the at least one target to determine Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target;
code for converting the Cartesian coordinates defined by the second Cartesian coordinate system for the at least one target into pan and tilt coordinates; and
code for providing orientation instructions to the at least one camera based upon the pan and tilt coordinates.

### Claim 18

A computer program product fixed on at least one non-transitory computer readable medium encoded with computer code which when loaded on at least one computer, establish processes for calibrating at least one camera orientation characterized by pan, zoom, and tilt coordinates, the computer code comprising:
code for creating a user interface that allows a user to select at least three pairs of points using at least one input device, a first point of each pair being selected in a map characterized by geospatial coordinates and a second point of each pair being selected from a video feed from the at least one camera, wherein the video feed has upper left, upper right, lower left, and lower right corners, wherein for any given pair the first point and the second point corresponding to the same geographic location;
code for converting the at least three points selected in the map from geospatial coordinates into Cartesian coordinates defined by a first coordinate system;
code for converting the at least three points selected in the video feed from pan, zoom, and tilt coordinates into Cartesian coordinates defined by a second coordinate system; and
code for determining a mathematical rotation between the first coordinate system and the second coordinate system based upon the Cartesian coordinates for the at least three pairs of points;
code for determining effective pan and tilt angles for at least the lower left and lower right corners of the video feed based upon the pan, zoom, and tilt coordinates for the camera orientation;
code for converting the effective pan and tilt angles for at least the lower left and lower right corners of the video feed into Cartesian coordinate defined by the second coordinate system;
code for applying the rotation to the Cartesian coordinates defined by the second coordinate system to determine Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed;
code for determining a view cone using the Cartesian coordinates defined by the first coordinate system for at least the lower left and lower right corners of the video feed;
code for determining the view cone based upon the upper left and upper right corners of the video feed; and
code for displaying the view cone on the map.

### Claim 19

(canceled)

### Claim 20

(canceled)

### Claim 21

(canceled)
