Abstract:
A computer operated man assisted motion generation system for use with a camera in cinematography. The system responds to the measured or sensed position of a camera support such as a crane or dolly, and determines the desired camera pan, tilt, roll, focus, zoom, etc. based on predetermined correspondence between camera location and camera parameters, and generate movement of the camera and camera control accordingly.

Description:
FIELD OF THE INVENTION 
     This invention relates to systems and methods of motion control, particularly systems for the control of camera movement. 
     BACKGROUND OF THE INVENTION 
     There are currently two general systems for operating cameras during cinematography. The first and oldest system is a manual control of the camera and its support platform. Manual control of the camera is provided by a cameraman, and manual control of the support platform is provided by a grip. Before taping a scene, a director instructs actors to move about the set and speak, and perform specified actions. The director also ensures that the scenery, props, and lighting are placed on the set according to his instructions. The director also instructs a camera crew to film the action on the set during a take and capture the action and/or scenery from various viewpoints, with specified camera frames, and to follow the action with specified movements of the camera. The view point is defined by the relationship of the camera to the subject being filmed, and is determined by the location of the support platform and position of any booms or hoist mechanisms used to support the camera. The camera frames are defined by the relationship of the subject being filmed to the entire size of the scene filmed (closeup, portrait, group or landscape are terms that are sometimes used to describe various camera frames). The camera parameters include such things as the pan angle, the tilt angle, and the rotation angle (i.e., spatial attitude of the camera itself) and zoom, aperture, focus and focal length (i.e. lens system attributes). The action is set in motion and is filmed by camera crew, and during filming, the grip will move the support platform to hit the planned view points and the camera operator will adjust the camera parameters to obtain the desired frames follow the action with the specified movements (at the same time, the actors on the set will be moving, speaking and acting according to their own directions). 
     This is a highly interactive process, and the camera operator and grip must react to variances between the planned action and what actually goes on during each take, and variances between the actual action from take to take. In some situations, this method of filming becomes extremely difficult, and requires great experience and talent for the camera operator and the grip. For example, if the camera support platform is a crane with the camera supported on a remotely controlled camera head, the manual operation of the camera and lens parameters is best performed through remote control, from a remote control panel located at the base of the crane. The pan, tilt and rotation angles are operated by servo-motors at the remote head which adjust these parameters in response to operation of remote control hand wheels. Likewise, the lens system attributes (zoom, focus, etc.) are operated by servo-motors attached to the camera controls, and the servo-motors are operated by input devices on the remote control panel. The remote control panel may consist of a single control panel with controls for all parameters, or separate camera attitude control panel and camera lens system attribute control panel. A typical remote head has hand wheels for adjusting the camera pan, tilt, and rotation. 
     For a given live action scene, the director may desire viewpoints and camera frames which require large motions of the camera platform and fast motions of some or all of the camera parameters. The number and variety of combinations of such movement are limited only by the creativity of the cinematographer and director. The grip may be required to swing the boom of a camera crane quickly, while the camera operator may at the same time be required to quickly back-pan while slowly adjusting the camera tilt. Thus, for a single operator to adjust these parameters requires simultaneous adjustment and rotation of the hand wheels, but at varying speeds and directions for each hand wheel. This is quite difficult, akin to rubbing your tummy while patting your head, and maybe hopping up and down, where the patting occurs at one speed, the rubbing occurs at another speed, and the hopping occurs at yet another speed. 
     Another way to film a scene is through the use of computer operated motion control systems. These systems are ideal for reproducing exactly the same camera movement over and over again, which is desirable in special effects creation. The ability to film the exact same sequence, over and over again, helps cinematographers and producers produce special effects in which many images are layered on top of each other. Examples of the special effects created with motion control systems are the various space battle scenes in which numerous spaceships fly about on diverse flight paths while the camera follows one of the space ships. This type of special effect is created by filming a first scene in which the model central ship flies through a model stage while the camera follows the ship as desired. After this first scene is filmed, another scene is taped in which a model second ship flies through the model stage, and it is filmed by the camera while the camera proceeds along the exact same pathway to capture this second scene. The two films are then layered together to make a single film showing both ships together. Any number of ships may be added to the scene by taping additional ships while the camera repeats its path exactly for every take. In order for the movement of the various ships to appear responsive to each other, and to permit accurate overlays, the different films must be synchronized. Battle scenes such as the spectacular Star Wars dog fight between Luke Skywalker and Darth Vader in the trench of the Death Star were created using this type of system. 
     Typical motion control systems, such as those used by Industrial Light and Magic, and those produced by Mark Roberts Motion Control or Christopher Nibley Cinematographers, control every parameter of both the crane and camera operation. The movement of the crane along a track, the speed of the crane movement, the boom tilt, boom extension and crane rotation, as well as camera pan, tilt, rotation, zoom, aperture and focal length are all controlled by the computer. In these systems, a key frame method may be used to establish the several points along the desired path of the crane and camera. The crane is moved to a number of key positions, the camera attitude adjusted to a number of corresponding key attitudes, and the camera controls adjusted to obtain a key frame defined by the camera parameters. These key frames are selected by the director, and the key frame is defined by certain predetermined field of view, focal length, focus and orientation of the scene on the film. This key frame corresponds to the zoom, camera attitude, and camera position and crane position used to view the key frame. In the key frame motion control system, the system memorizes all the parameters of the key frame, and receives input from the system operator on the desired predetermined time to hit each key frame. When the system is instructed to start a take, it moves the camera to the key frames at the predetermined times. The camera may interpolate movement between the key frames to ensure a smooth trajectory of the camera between key frames. The key frames are hit at the same time in every take, and we refer this as a synchronized system because the key frames and all other frames are strictly tied to a master clock to ensure that the camera movement proceed not only through the same points, but also at the same pace, on every take. 
     These motion control systems completely eliminate operator input during the take. The advantage of this system is that it can repeat complicated camera movements very precisely, and many times over, with no deviation in the movement of the camera from one take to the next. On the other hand, the system does not permit modification of the camera movement during the take, because it is not intended for use in live action where it is desirable to modify the camera movement from the predetermined camera movement during the take. 
     For filming of many live action scenes, manual manipulation of the camera is exceedingly difficult. The artistically desired pace and movement of the camera between viewpoints may require extremely rapid manipulation of the camera controls. While a talented cameraman may be able get the shot, the need to film several takes of the same scene due to limitations in the camera operator&#39;s work, the grips work, the actors&#39; performance and the motion of other subjects such as vehicles and animals increases the workload, and a system that provides assistance to the cameraman facilitates production. Use of a motion control system as described above is not a feasible solution, because the camera movement and operation is fixed by the system and cannot be altered to account for variations in the performance as a cameraman can. 
     SUMMARY 
     The system described below is a responsive motion generation system which provides for computer assisted camera operation and, conversely, operator assisted computerized camera control. The system operates parts of the camera system with computer controlled motors and encoders, and allows or requires the grip to move the camera support about a set while the computer system adjusts camera parameters in accordance with memorized key points. The grip may move the camera support about the set, and adjust the camera position on the camera support, at whatever pace is required by the actions taking place on the set. The computer system will adjust camera parameters automatically to match predetermined parameters for various positions of the camera. In this manner, the camera will perform complex and rapid adjustments of pan, tilt, roll, focus, aperture and zoom to capture camera frames matching the predetermined frames, regardless of the timing of movement of the camera support. 
     To account for the fact that the scene being filmed will vary with each take, and for the fact that the grip may vary movement of the camera support, the system provides a means for the camera operator to assist the computer by making fine adjustments to the camera parameters. With real time input, the camera operator may partially override or add to the automatic controls with fine adjustment of camera parameters. For example, when the computer system is directing the camera to a predetermined frame, the actors and props may be out of the frame, or slightly off center, and may be spread farther apart than planned. In this case, the camera operator may make fine adjustments to the pan angle to bring the action to the center of the frame, and may adjust the zoom slightly to pull back from the action to get the entire desired frame on camera. 
     Thus, one or more parameters of the crane support are assigned the role of master axes, and all computer controlled parameters behave as slave axes. The slave axes are adjusted by the computer control system in response to sensed changes in the position of master axis, and may be fine adjusted during a take by the camera operator through a fine adjust control box. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is an overview of the motion generation system 
     FIG. 2 is a diagram illustrating the initial setup of the system. 
     FIG. 3 is a diagram illustrating the operation of the system. 
     FIG. 4 is block diagram of the software which is used control the system 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 is an schematic overview of the system. The system operates to control camera 1 (shown in phantom) which is mounted on a camera support 2. The camera support may be any type of holding device, including a crane, boom arm, dolly, camera car, pedestal, or any other machine (including a person) used for moving the camera during filming, but for illustration we show a crane used as the camera support. The crane 2 includes a camera platform 3 with a remote head 4 which includes one or more rotating shafts or gimbals for turning the camera about several axes. The pan shaft 6 is a vertical shaft used as the axis for panning the camera from left to right about the pan axis (usually the vertical axis when the camera is level) The tilt gimble 8 provides for tilting the camera up and down about tilt shaft 9, and the roll gimble 11 provides for rotating the camera about the rotation shaft 12. Thus the shafts coincide with the three axes of camera movement, namely the pan, tilt and rotation axes, where the pan axis is a vertical axis, the tilt axis is the horizontal axis perpendicular to the line of sight of the camera, and the rotation axis is the horizontal axis parallel and coincident with the line of sight of the camera. In graphical terms, these axis would correspond to the x&#39;, y&#39; and z&#39; axes. 
     The entirety of all these components of the camera platform is referred to as the remote head 4, and this remote head is mounted on the camera platform 3 atop the crane 2. The crane 2 includes a boom 14 and a crane pivot 15 mounted on the crane base 16. The crane may have wheels or other means for movement along a track 17, or it may be stationary or free moving, and the track may be laid upon the floor or ground or mounted in a ceiling or wall of a studio. The boom may be of fixed length, or it may be an extendable boom. The crane provides a crane tilt pivot 15 for raising and lowering the boom, and a crane rotation or swing turntable 18 for swinging the boom 14 around the crane base 16. Thus the various parts of the crane coincide with various crane axes such as boom tilt, boom extension, boom rotation, base location. All these parameters define the location of the camera, which in graphical terms would be defined as the position along the x, y and z planes. 
     The system must know where the camera is in order to determine where the camera should be pointing and where it should be focused. Additionally, the system should know the position of all camera parameters to aid in determining appropriate control signals that must be sent to the camera control servo-motors to cause the desired movement. To inform the computer system as to the position of all the crane and camera axes, various position sensors are installed on the crane and the camera. Sensing of rotational movement is best performed by shaft encoders which are commercially available in wide variety. A pan encoder 7 is operably connected to the pan shaft 6, a tilt encoder 10 is operably connected to the tilt shaft 9, and a roll encoder 13 is operably connected to the roll shaft 12. We say &#34;operably connected&#34; to include the wide variety of mechanisms which allow sensing of the position of the shafts, and these may include laser encoders, magnetic encoders, or inductance encoders, all of which sense the position of the shaft through electromagnetic connections to the shafts (no physical contact is necessary), or they may include servo-sensors where a physical part is actually in physical contact with the shaft of the camera. Additionally, a focus mechanism encoder,, aperture mechanism encoder, and zoom encoder, are installed on the camera controls, and each of these encoders is likewise operably connected to the appropriate camera control mechanism in any manner which provides for sensing of the position of these controls. Similar position sensing mechanisms are installed on the crane, including the crane tilt encoder 22 which senses the tile angle of the crane, the boom extension encoder 23 which senses the extension of the boom, and the crane base position sensor 24 which senses the location of the crane along the track 17. 
     All of the parameters which are described above may be measured on a continuous basis and monitored by the computer control system. Multiplexing of signals at the remote head, at the computer input, or other appropriate place in the system may be employed. Some or all of the parameters may be controlled by the computer control system, and some or all of the parameters may be fine adjusted by an operator during a take. The number of parameters subject to computerized monitoring, computerized control, and operator override may vary depending on the artistic goals to be achieved with the system. In an exemplary embodiment, the camera parameters are monitored and controlled by the computer, while the crane parameters are monitored by the system and used as the inputs from which the computer control system determines the desired camera parameters. These parameters, including the camera position parameters, camera attitude parameter, and lens system attributes, are often referred to as camera axes. 
     FIG. 2 is a schematic illustration of the steps used to set up the system to film a take. The crane 2 is used in conjunction with the remote head 4 and the camera 1 on a set to film various subjects V, W, X, Y and Z. The subjects may be distinct subjects, or they may be the same subject moving about the set, in which case the V, W, X, Y and Z will denote key positions of the subject (an actor, a car, a plane, for example) at various times and places in the predetermined staging of the scene to be filmed during a take. The intended movement of the crane and camera is shown in positions A, B, C, D and E. The positions A, B, C, D and E are key viewpoints in the predetermined filming desired to capture the action of the subject. With these key positions and key viewpoints in mind, the camera is manipulated by the grip to each of the positions A, B, C, D and E, and the camera parameters are adjusted to obtain a camera frame in which the subject appears in the camera (as viewed through the lens or through a monitor) as desired by the director. Thus, the desired zoom, focus and aperture are set as desired at each of positions A, B, C, D and E, thus providing a series of predetermined camera frames. The crane position and camera parameters are measured and recorded by the computer system at each position. Thus the computer system is supplied with coordinates of the crane, remote head and the camera parameters corresponding to the A, B, C, D and E viewpoints (which in turn correspond to the V, W, X, Y and Z positions). Note that at key position Z, where the subject has moved away from the camera after being in key position Y, that the camera lens 30 has been zoomed at viewpoint E to cause a follow focus on the subject as it moves away from the camera. The system will permit input of the follow focus action, and any other camera parameter adjustment, as a camera frame or pre-recorded camera manipulation. The information obtained in the camera frame recording procedure is stored as predetermined movement input in suitable computer memory 31, such as a hard drive or RAM. 
     Once all these positions have been recorded, the system is ready to operate the camera and remote head during a take. During the take, the subject moves according to the staging directions, from position V to position W to position X, and so on. The grip moves the crane to follow the subject, and, as illustrated in FIG. 2, the grip moves the crane to viewpoint A when the actor is in position V, to viewpoint B when the actor is in position W, to viewpoint X when the subject is in position C, and so on. While the grip moves the crane and camera to the various viewpoints, the computer control system senses the position of the crane and camera and adjusts the camera parameters as necessary to match the prerecorded camera parameters. For movements between successive viewpoints, and all the necessary changes in the crane axes, the movement generator generates a movement of the remote head and camera controls by interpolating in relation to each of the crane axes the coordinates of the remote head axes corresponding to the A, B, C, D, and E viewpoints. When the crane is moved from viewpoint A to viewpoint B the computer system generates movement of the remote head so that the camera will be pointed at Position W when the movement to viewpoint B is complete. The required movement at all points between viewpoints A and B is determined by the system by interpolating between the predetermined positions of the camera parameters at viewpoints A and B. Each successive movement to the remaining key positions X, Y and Z are accomplished in the same manner, with the grip moving the camera crane into position at the pace required to follow the subjects during a take, and the system manipulating the camera controls and remote head position so that the remote head smoothly moves from key position to key position during the take. When the remote head and camera stop at key viewpoint Z, the follow focus may be instituted as a replay or interpolation by the computer system, and proceed automatically. With the operator override function, the follow focus can be adjusted (slowed or accelerated) to account for variation in the expected movement of the subject between key positions Y and Z. FIG. 2 thus illustrates the ideal operation of the system wherein the subjects and the grip perform in the predetermined manner without substantial deviation from the key positions and key viewpoints, and the system is permitted to automatically generate movement of the remote head in response to the movement of the crane. The system treats selected axes such as boom angle, boom length and track position as master axes, and based on these axes the system treats selected axes such as the camera pan angle, tilt angle, rotation angle, zoom focus and aperture as slave axes. The movements of the slave axes are dictated by the system in response to the position of the master axes. 
     The computer system receives position input from the various encoders. The information from the boom height encoder 23, the boom angle 22 encoder and the crane base position encoder 24 is transmitted to position counters 32 and is interpreted by the computer system 33 to calculate the physical position of the camera. The computer compares this information to the key positions and the interpolations derived from those key positions, and determines where the camera head should be pointed and how the camera controls should be adjusted to obtain the attitude needed to match the predetermined camera path. In the example chosen to illustrate the system, these crane axes are not controlled by the computer, but are controlled by the grip while the computer generates the movement of the camera head responsive to the position, height and angle of the crane. These axes may be thought of as master axes, as their position dictates the position of the other axes in the system through the computer control system. 
     The computer also receives position information from the camera parameter encoders, including the tilt encoder 10, the pan encoder 7, and the roll encoder 13, and the focus mechanism encoder 19, aperture mechanism encoder 20, and zoom encoder 21. The computer uses the position information from these encoders, processed through camera parameter counters 34, to ensure that the camera remote head and camera controls have actually moved to the positions dictated by the computer control system. The computer compares the position of each of the camera parameters to the desired position (as determined by the key viewpoints and the interpolations, and the operator override signals), and computes control signals and transmits these signals to the various servo-motors. The servo-motors then move the camera parameters as directed by the computer control system. The camera axes, including pan, tilt, roll, focus, zoom and aperture may be thought of a slave axes, as there position is determined responsive to the master axes, and their movement follows the movement of the master axes. 
     The various microprocessing components, signal processing components, comparators, and amplifiers are provided as necessary, but the particulars of the various components will vary with the microprocessor chosen to implement the system and the servo-motors and encoders used to implement the system. In general, the system will require camera position counters 32, camera parameter counters 34, a memory 31 for storage of predetermined key position, key viewpoint, and camera frame information, a manual signal input transmitter 35, computer 33 with a suitable microprocessor 36 and software storage media and associated and a signal generating and transmitting means 37. 
     FIG. 3 is a diagram illustrating the operation of the system. In addition to the computer control of the camera remote head and camera parameters, the system allows one or more of the computer driven parameters to be subject to an operator in-putted fine adjustment during a take. A camera operator may view the scene that is being filmed through a monitor located at the base of the crane or elsewhere. As the scene unfolds on the set, the grip will move the crane and boom to follow the action. The grips movement of the crane and boom will vary from take to take, as necessary to follow the action on the set which will vary from take to take. The action on the set will vary from the predetermined staging, and will also vary from take to take. Thus, the frame captured on film by the camera will vary from the desired framing. For example, as illustrated in FIG. 3, during the take, the subject may wander from the intended staging, and miss a mark W (instead moving to unplanned position W&#39;) or the grip may be slightly off the predetermined viewpoint B (instead moving the crane to unplanned viewpoint B&#39;). In this case, both the computer control system and the operator override subsystem cooperate to provide a good take. The computer control system interprets the actual crane position and compares this with the key viewpoints, and calculates an interpolated position conforming the most desirable intermediate positions for crane and camera parameters. Thus, although the grip has missed his mark in moving to viewpoint B, the computer control system senses that the crane is very near position B, and directs the camera to point to interpolated position W i , which is an interpolated point between position between A and B. The operator fine adjust control box 38 (FIG. 1) may be used by the camera operator to adjust the camera controls to obtain the frame desired by the director, pointing the camera to position W f . The control box provides hand wheels 39, 40, and 41 which provide additional input for the camera pan, tilt and roll. Additional controls for operator fine adjust of camera focus, zoom and aperture may also be provided. These signals are provided to the computer system 33, where they are processed and added into the computer generated motion control signals. The result is that the camera receives a control signal which corresponds to the gross control signal and the fine adjust signal, and moves the camera controls to achieve the shot desired by the camera operator. Thus, while the computer control system has automatically manipulated the remote head to follow the subject during potentially large motions of the crane and boom, the camera operator manipulates the fine adjustments to obtain an artistically desirable picture which best conforms to the instructions of the director. In the case illustrated in FIG. 3, the camera operator, seeing that the camera is farther away from the subject than intended when the subject moves from point V to point W&#39;, instead of point W as intended, and that the subject is off center in the monitor, will fine adjust the zoom and pan slightly to tighten up the frame and bring the subject into the center of the frame. To accomplish this operator fine adjust while at the same time relying on computer control signals to accomplish gross control of the camera, the overall system illustrated in FIG. 1 includes the operator override control box 38 with a pan hand wheel 39, a tilt hand wheel 40, and a roll hand wheel 41. 
     The system in additive in the sense that cruise control on an automobile is additive. When the driver of a car sets the cruise control function, the car automatically maintains the cars speed. Thus speed would be a predetermined parameter. If the driver wants to go a bit faster, he may press the gas pedal and go a fast as he wants. This is analogous to the operator fine adjust. When the car driver wants to release speed control back to the cruise control signal, he lets up on the gas pedal and the cruise control resumes. In a sense, the car has added the drivers fine adjust to the predetermined throttle position to provide the speed required by the driver. Note that the cancel function (activated by braking) of cruise control removes the predetermined signal altogether, and provides complete manual control of speed, and that the resume function causes the cruise control system to take over and bring the car back up to the predetermined speed. Similar cancel functions may be included in camera control system. Thus manual input during automatic operation of the camera parameters may be implemented as an additive control signal which must be combined with the predetermined position control signals, or as a complete displacement of the predetermined position control signals in favor of the manual input. 
     FIG. 4 shows a block diagram of the software system used to implement the system. First, the system must have the capability of determining, measuring and storing where the camera is in order to determine where the camera should be pointing and where it should be focused. This is performed by the Read Crane Position function, which first reads inputs from the crane encoders, including the crane tilt encoder, the boom extension encoder and the crane base position encoder. These encoder inputs are then stored in the appropriate table in memory. Additionally, the system must know the position of all of the camera parameters. This is done by the Read Camera Parameters function, which first reads inputs from the camera parameter encoders, including the encoders for the spacial attitude of the camera itself (the pan encoder, tilt encoder, and roll encoder) as well as the encoders for the lens system attributes (the zoom encoder, aperture mechanism encoder, focus mechanism encoder and focal length encoder). These encoder inputs are then stored in the appropriate table in memory. Both of these functions measure the encoders on a continuous basis and update the tables stored in memory accordingly. 
     Next, the system must store the key viewpoints created by the director in a predetermined filming take. As illustrated previously, the camera is manipulated by the grip to each of the viewpoints A, B, C, D and E. At each viewpoint, the system measures the encoders to determine the crane position and camera parameters at each viewpoint and stores that information in a table. The system uses the Read Crane Position function and the Read Camera Parameters function and stores the data in a table called the Predetermined Position Data table. This table is a nested table where the crane position is on the x axis and the camera parameters position is on the y axis. Naturally, the crane position is an aggregate of the 3 elements and the camera position is an aggregate of the 7 elements (the 3 spacial as well as the 4 lens attributes). It acts like nested tables where the main table cross references to other tables. Thus, the computer system is supplied with coordinates of the crane and camera parameters corresponding to the A, B, C, D and E viewpoints which in turn correspond to the V, W, X, Y, and Z positions. This data will form the basis for comparison in the future. 
     In the actual take, the software compares the actual movements of the grip moving the crane, and compares the actual position with the predetermined corresponding camera viewpoints and automatically moves the camera to the predetermined position. This is performed by the Check Measured Camera Parameter Input function. For example, as the grip moves the crane from position A to B, this function moves the camera according to the predetermined camera position to track the subject moving from V to W. The function uses a feed back loop or an iterative function, where the actual crane position is continually measured by the Read Crane Position function, compared to the Predetermined Position Data table, and the camera subsequently moved until the Predetermined Position Data matches the actual crane position. The Check Measured Camera Parameter Input function correspondingly moves the camera&#39;s servo-motors to match the camera parameter values stored in the Predetermined Position Data table. 
     To incorporate the operator fine adjust feature, the software performs a Check For Operator Fine Adjust Function, which identifies when the cameraman has adjusted the camera differently from what was predetermined. Here, since the encoders are constantly monitored by the Read Camera Parameter function, this routine identifies where the operator has moved the camera and sets a flag which tells the software to ignore the Predetermined Position Data table for the camera position and instead use position that results from the predetermined position in combination with adjusted position achieved by the manual input by the operator. For example, where the subject has missed a mark W by moving instead to W&#39;, the software reads the operators fine adjust parameters stored by the fine adjust function and uses this data in the calculation. 
     Several features may be incorporated into the system. A complete operator override feature can permit the camera operator to take complete control of the system during a take. When this feature is activated, the camera movement is on manual from that point on until the system is reset by the cameraman. Override may be applied to all camera parameters or to individual parameters. Automatic replay of complex predetermined camera movements can be stored in memory and initiated by the camera operator when desired during the take. Routines may be built in to handle aberrant behavior on the part of the grip, for example, where the grip moves the crane far off the pathway defined by the A, B, C, D, and E positions. It should be noted that the software described above will implement the inventions, but that the actual software code used to implement the invention by particular users of the invention may arrange the subroutines differently, and provide input and analyze input in different order than described above. Variations in code will be expected according to the preferences of the computer programmers implementing the system. 
     While the preferred embodiments of the system and method for controlling a camera to assist camera operators in live action cinematography have been described in reference to the environment in which they were developed, they are merely illustrative of the principles of the inventions. While the invention has been illustrated as implemented with a crane, the crane is merely one of many suitable camera supports, and may be replaced with camera dollies, overhead motion tracks, camera cars and even airplanes and aerial drones. Other embodiments and configurations may be devised, and the inventions may be applied in other cinematography methods without departing from the spirit of the inventions and the scope of the appended claims.