Method and apparatus for capturing and compressing video data in real time
AssigneeIntel Corporation
InventorsRichard Gerber, Joshua Herman
Life of this patent
Estimating the term…
Abstract
Operating in cooperation with a shared software interface, a driver controls the operations of a video hardware device that captures and compresses video data in real time. This driver controls capture and compression of the video data in response to a capture message call through control of a handshaking scheme between a host processor within the computer system and an auxiliary processor located in a video hardware device.
Claims15
In an interactive video system comprising a host processor and a driver controlling a video hardware device including an auxiliary processor to capture and compress video data, a method comprising the steps of:
- (a) receiving by the driver the capture message call;
- and
- (b) determining from the capture message call whether the auxiliary processor is selected to modify the video data, wherein when selected,
- (i) controlling capturing said video data by the driver, and
- (ii) controlling handshaking between the host processor and the auxiliary processor by the driver so that the auxiliary processor compresses the video data generally in real time, the controlling handshaking step includes the steps of
- retrieving the video data from a first storage element,
- compressing the video data by the auxiliary processor,
- storing the compressed video data by the auxiliary processor in a second storage element accessible by the host processor,
- signaling the host processor that the auxiliary processor has completed compressing the video data, and
- reading said compressed video data by the host processor from the second storage element.
In an interactive video system comprising a host processor, a video hardware device including an auxiliary processor, and a driver controlling the video hardware device to capture and compress video data in response to a specific capture message call transmitted through a shared software interface from a capture software application, a method comprising the steps of:
- (a) capturing the video data;
- (b) determining whether the auxiliary processor is to be used to compress said video data;
- and
- (c) controlling a handshaking scheme between the host processor and the auxiliary processor generally in real time with the capturing of the video data when the auxiliary processor is being used, said handshaking scheme includes the steps of:
- (i) signaling the auxiliary processor to begin compression,
- (ii) retrieving the video data from a first storage element,
- (iii) compressing the video data by the auxiliary processor,
- (iv) storing said compressed video data by the auxiliary processor in a second storage element accessible by the host processor,
- (v) signaling the host processor that the auxiliary processor has completed compressing the video data, and
- (vi) reading said compressed video data by the host processor from said second storage element.
An interactive video computer system comprising:
- a video transceiving device to receive and transmit video data;
- a video hardware device coupled to said video transceiving device, said video hardware device including a digitizer to digitize said video data, an auxiliary processor to compress said video data and a storage device to temporarily store said video data;
- a storage element that contains at least a capture software application;
- a host processor that processes said capture software application and transmits a capture message call;
- a driver that receives said capture message call from said host processor and transmits at least one control signal to said video hardware device in response to said capture message call to perform capture and compression operations generally in real-time, said at least one control signal includes
- (i) a capture control signal to said digitizer to capture said video data and to store said captured video data within a particular address in said storage device, and (ii) a compression control signal to said auxiliary processor to retrieve said captured video data from said particular address in said storage device, to commence compression of said captured video data and to store said compressed video data within a predetermined address in said storage device;
- and
- a plurality of buses that enables communication between said video transceiving device, said video hardware device, said storage element, said host processor and said driver.
Operating in response to a capture message call transmitted by a host processor executing a capture video software application, a driver for controlling capture and compression of video data obtained from an input/output device coupled to a video hardware device including an auxiliary processor, the driver comprising:
- means for generating at least one capture control signal responsive to the capture message call in order to control capturing of the video data;
- and
- means for generating a plurality of compression control signals to control compression of the video data by the auxiliary processor of the video hardware device generally in real-time with capturing of the video data when the video data is less than or equal to one video frame in size, said plurality of compression control signals including (i) a first compression control signal transmitted to the auxiliary, processor to begin compression of the video data, (ii) a second compression control signal transmitted to the video hardware device to continue storing video data, (iii) a third compression control signal transmitted to the auxiliary processor to begin compression of the video data and to store said compressed video data in a first of a plurality of compression storage elements, said compression is operating concurrently with storing video data, and (iv) a fourth compression control signal transmitted to the auxiliary processor to set a buffer associated with said first of said plurality of compression storage elements to signify to the host processor that said first of said plurality of compression storage elements contains said compressed video data.
Dependencies are inferred from the claim text.