Script control for camera positioning in a scene generated by a computer rendering engine
First Claim
1. A method for controlling a rendering engine to produce a visual display at a digital computing device, the method comprising:
- receiving commands at the digital computing device for controlling a camera at the digital computing device, wherein—
the commands are from a control script author at a first location and the digital computing device is at a second location remote from the first location, andthe commands are predetermined instructions in a control script for controlling the camera, wherein controlling the camera is based, at least in part, on a position of the camera, a name of the camera identified in one or more of the predetermined instructions, a type of shot for the camera, and a property of the camera;
selecting one or more action objects associated with a current audio portion of the visual display by—
determining that a talking portion of the audio portion is associated with one or more characters, anddetermining a prime character such that the prime character is one of the one or more characters associated with the talking portion and that the prime character has the longest sequence of speech in the talking portion;
automatically determining an action area, wherein—
the action area is defined as one or more specified places within a digital environment comprising at least a face of the prime character; and
rendering a digital scene at the digital computing device, wherein the digital scene is (a) rendered, at least in part, according to the predetermined instructions in the control script for controlling the camera, and (b) is based, at least in part, on the determined action area.
4 Assignments
0 Petitions
Accused Products
Abstract
A system for controlling a rendering engine by using specialized commands. The commands are used to generate a production, such as a television show, at an end-user'"'"'s computer that executes the rendering engine. In one embodiment, the commands are sent over a network, such as the Internet, to achieve broadcasts of video programs at very high compression and efficiency. Commands for setting and moving camera viewpoints, animating characters, and defining or controlling scenes and sounds are described. At a fine level of control math models and coordinate systems can be used make specifications. At a coarse level of control the command language approaches the text format traditionally used in television or movie scripts. Simple names for objects within a scene are used to identify items, directions and paths. Commands are further simplified by having the rendering engine use defaults when specifications are left out. For example, when a camera direction is not specified, the system assumes that the viewpoint is to be the current action area. The system provides a hierarchy of detail levels. Movement commands can be defaulted or specified. Synchronized speech can be specified as digital audio or as text which is used to synthesize the speech.
-
Citations
20 Claims
-
1. A method for controlling a rendering engine to produce a visual display at a digital computing device, the method comprising:
-
receiving commands at the digital computing device for controlling a camera at the digital computing device, wherein— the commands are from a control script author at a first location and the digital computing device is at a second location remote from the first location, and the commands are predetermined instructions in a control script for controlling the camera, wherein controlling the camera is based, at least in part, on a position of the camera, a name of the camera identified in one or more of the predetermined instructions, a type of shot for the camera, and a property of the camera; selecting one or more action objects associated with a current audio portion of the visual display by— determining that a talking portion of the audio portion is associated with one or more characters, and determining a prime character such that the prime character is one of the one or more characters associated with the talking portion and that the prime character has the longest sequence of speech in the talking portion; automatically determining an action area, wherein—
the action area is defined as one or more specified places within a digital environment comprising at least a face of the prime character; andrendering a digital scene at the digital computing device, wherein the digital scene is (a) rendered, at least in part, according to the predetermined instructions in the control script for controlling the camera, and (b) is based, at least in part, on the determined action area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium having stored thereon computer-executable instructions that, if executed by a computing device, cause the computing device to perform operations for controlling a rendering engine, the operations comprising:
-
accepting commands at a computer for controlling a camera at the computer, wherein the commands are from a content provider at a first location and the computer is at a second location remote from the first location, and wherein the commands are predetermined instructions in a control script for controlling the camera; selecting one or more action objects that are moving within a digital environment; determining whether one or more of the moving action objects is one or more of a character and a vehicle; automatically determining an action area, wherein— the action area is defined as one or more specified places within the digital environment, when at least one of the moving action objects is a character, automatically determining the action area based on a positional average of one or more of the moving action object characters, when none of the moving action objects is a character but at least one of the moving action objects is a vehicle, automatically determining the action area based on a positional average of one or more of the moving action object vehicles, and when none of the moving action objects is a character and none of the moving action objects is a vehicle, automatically determining the action area based on one or more positions of the fastest moving action object; and rendering a digital scene at the computer at the second location (a) according to the predetermined instructions in the control script for controlling the camera and (b) based, at least in part, on the determined action area. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system comprising:
-
a processor;
a processor-readable storage medium having stored therein instructions that, when executed by said processor, cause said system to perform;a script generator configured to generate predetermined instructions for controlling a camera, and storing the predetermined instructions as commands in a control script; and a transmitter configured to transmit generated control scripts including the commands, the transmitting being from a content provider computer at a first location to a digital computing device at a second location remote from the first location; wherein the commands, when executed by the digital computing device, are configured to; select one or more action objects that are moving within a digital environment; determine whether one or more of the moving action objects is one or more of a character and a vehicle; and automatically determine an action area, wherein— the action area is defined as one or more specified places within a digital environment, when at least one of the moving action objects is a character, automatically determining the action area based on a positional average of one or more of the moving action object characters, when none of the moving action objects is a character but at least one of the moving action objects is a vehicle, automatically determining the action area based on a positional average of one or more of the moving action object vehicles, and when none of the moving action objects is a character and none of the moving action objects is a vehicle, automatically determining the action area based on one or more positions of the fastest moving action object; and wherein a digital scene is rendered at the digital computing device based, at least in part, on the predetermined instructions in the control script for controlling the camera and on the determined action area.
-
Specification