Camera control user interface
An indication of a start point of a user interface gesture on an image of a displayed stream from a camera is received. A visual overlay representing a direction and a magnitude of the user interface gesture is provided as the user interface gesture is updated while maintaining current pan and tilt settings of the displayed stream. An indication of an end point of the user interface gesture is received. Amplitudes of changes for the current pan and tilt settings are determined based on the user interface gesture. Pan and tilt control instructions are generated based on the determined amplitude of changes. The generated pan and tilt control instructions are provided to a camera controller for physically modifying pan and tilt of the camera.
1 . A method, comprising:
receiving an indication of a start point of a user interface gesture on an image of a displayed stream from a camera;
providing a visual overlay representing a direction and a magnitude of the user interface gesture as the user interface gesture is updated while maintaining unchanged current pan and tilt settings of the displayed stream;
receiving an indication of an end point of the user interface gesture;
determining amplitudes of changes for the current pan and tilt settings based on a distance and an angle between the start point and the end point of the user interface gesture;
generating pan and tilt control instructions based on the determined amplitudes of changes; and
providing the generated pan and tilt control instructions to a camera controller for physically modifying pan and tilt of the camera after receiving the indication of the end point.
2 . The method of claim 1 , wherein the user interface gesture is a drag gesture from the start point to the end point.
3 . The method of claim 1 , wherein providing the visual overlay comprises displaying a line from the start point to a current position of the user interface gesture.
4 . The method of claim 1 , further comprising: providing a visual indication when the magnitude of the user interface gesture corresponds to exceeding pan and tilt limits of the camera.
5 . The method of claim 4 , wherein the visual indication includes graying out an area of the image that corresponds to exceeding the pan and tilt limits.
6 . The method of claim 1 , further comprising: providing a zoom control interface for modifying a zoom setting of the camera.
7 . The method of claim 6 , wherein the zoom control interface comprises a slider with a handle that, when selected, displays a tooltip indicating a current zoom scale.
8 . The method of claim 6 , wherein the zoom control interface includes a zoom-out button that is disabled when the zoom setting is at a minimum level.
9 . The method of claim 6 , wherein the zoom control interface comprises a ruler with zoom scale markings and selecting a location on the ruler modifies the zoom setting of the camera to a zoom scale corresponding to the selected location on the ruler.
10 . The method of claim 1 , further comprising: displaying a list of selectable presets corresponding to predefined pan and tilt settings of the camera.
11 . The method of claim 1 , wherein the visual overlay includes a numerical value representing an angle of the user interface gesture in real-time.
12 . The method of claim 1 , wherein the amplitudes of changes for the current pan and tilt settings determined based on the direction and magnitude of the user interface gesture on the display is based on corresponding physical distances in a real-world view of the camera.
13 . The method of claim 1 , wherein the amplitudes of changes for the current pan and tilt settings determined based on the direction and magnitude of the user interface gesture on the display is not based on corresponding physical distances in a real-world view of the camera.
14 . The method of claim 1 , further comprising providing a joystick controller overlaid on the displayed stream.
15 . The method of claim 1 , further comprising providing a compass pan controller overlaid on the displayed stream.
16 . The method of claim 1 , further comprising providing a ruler with tilt angle markings and selecting a location on the ruler that modifies the current tilt setting of the camera to a tilt angle corresponding to the selected location on the ruler.
17 . The method of claim 1 , wherein determining the amplitudes of changes for the current pan and tilt settings includes calculating a point corresponding to a new region of interest.
18 . A system, comprising:
a processor configured to:
receive an indication of a start point of a user interface gesture on an image of a displayed stream from a camera;
provide a visual overlay representing a direction and a magnitude of the user interface gesture as the user interface gesture is updated while maintaining unchanged current pan and tilt settings of the displayed stream;
receive an indication of an end point of the user interface gesture;
determine amplitudes of changes for the current pan and tilt settings based on a distance and an angle between the start point and the end point of the user interface gesture;
generate pan and tilt control instructions based on the determined amplitudes of changes; and
provide the generated pan and tilt control instructions to a camera controller for physically modifying pan and tilt of the camera after receiving the indication of the end point; and
a memory coupled to the processor and configured to provide the processor with instructions.
19 . The system of claim 18 , wherein the user interface gesture is a drag gesture from the start point to the end point.
20 . A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:
receiving an indication of a start point of a user interface gesture on an image of a displayed stream from a camera;
providing a visual overlay representing a direction and a magnitude of the user interface gesture as the user interface gesture is updated while maintaining unchanged current pan and tilt settings of the displayed stream;
receiving an indication of an end point of the user interface gesture;
determining amplitudes of changes for the current pan and tilt settings based on a distance and an angle between the start point and the end point of the user interface gesture;
generating pan and tilt control instructions based on the determined amplitudes of changes; and
providing the generated pan and tilt control instructions to a camera controller for physically modifying pan and tilt of the camera after receiving the indication of the end point.