Video processing architecture having reduced memory requirement
First Claim
1. In a system comprising a plurality of processors and a memory shared by at least a subset of the processors, a method for processing video data, the method comprising the steps of:
- (a) a first one of the processors receiving a first video frame and storing the first video frame in the memory, the first video frame being a decompressed video frame;
(b) the first one of the processors receiving at least a second video frame, the second video frame being a compressed video frame, receipt of the second video frame initiating a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame;
(c) the first one of the processors sending the first and second video frames to a second one of the processors together for processing by the second one of the processors;
(d) the second one of the processors generating an output video frame based at least on the first and second video frames, the output video frame being a decompressed video frame;
(e) storing the output video frame in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; and
(f) repeating steps (b) through (e) until all video frames to be processed have been received.
7 Assignments
0 Petitions
Accused Products
Abstract
In a system comprising a plurality of processors and a memory shared by at least a subset of the processors, a method for processing video data includes the steps of: (a) a first one of the processors receiving a first video frame and storing the first video frame in the memory; (b) the first one of the processors receiving at least a second video frame, receipt of the second video frame initiating a release of the first video frame from the memory; (c) the first one of the processors sending the first and second video frames to a second one of the processors together for processing by the second one of the processors; (d) the second one of the processors generating an output video frame based at least on the first and second video frames; (e) storing the output video frame in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; and (f) repeating steps (b) through (e) until all video frames to be processed have been received.
-
Citations
24 Claims
-
1. In a system comprising a plurality of processors and a memory shared by at least a subset of the processors, a method for processing video data, the method comprising the steps of:
-
(a) a first one of the processors receiving a first video frame and storing the first video frame in the memory, the first video frame being a decompressed video frame; (b) the first one of the processors receiving at least a second video frame, the second video frame being a compressed video frame, receipt of the second video frame initiating a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame; (c) the first one of the processors sending the first and second video frames to a second one of the processors together for processing by the second one of the processors; (d) the second one of the processors generating an output video frame based at least on the first and second video frames, the output video frame being a decompressed video frame; (e) storing the output video frame in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; and (f) repeating steps (b) through (e) until all video frames to be processed have been received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a system comprising a plurality of processors and a memory shared by at least a subset of the processors, a method for processing video data, the method comprising the steps of:
-
(a) a first one of the processors receiving a first video frame and storing the first video frame in the memory, the first video frame being a decompressed video frame; (b) the first one of the processors receiving at least a second video frame, the second video frame being a compressed video frame, receipt of the second video frame initiating a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame; (c) sending the first and second video frames to a second one of the processors together for processing by the second one of the processors; (d) the second one of the processors generating an output video frame based at least on the first and at least second video frames, the output video frame being a decompressed video frame, the output video frame becoming a new first video frame; (e) when a new second video frame is received by the first one of the processors before receiving the new first video frame from the second one of the processors, storing the new second video frame in the memory; (f) the first one of the processors receiving the new first video frame from the second one of the processors, a receipt of the new first video frame initiating a release of the new second video frame from the memory if the new second video frame arrived before receiving the new first video frame, a memory location within the memory associated with the new second video frame thereby becoming available for storing a subsequent video frame; (g) storing the new first video frame in the memory by overwriting an available memory location therein; and (h) repeating steps (c) through (g) until all video frames to be processed have been received. - View Dependent Claims (17)
-
-
18. A system for processing framed-based video data, the system comprising:
-
a plurality of processors; and a memory shared by at least a subset of the processors; wherein; a first one of the processors is operative;
(i) to receive a first video frame and to store the first video frame in the memory, the first video frame being a decompressed video frame;
(ii) to receive at least a second video frame, the second video frame being a compressed video frame, receipt of the second video frame initiating a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame; and
(iii) to send the first and at least second video frames to a second one of the processors together for processing by the second one of the processors;the second one of the processors is operative;
(iv) to generate an output video frame based at least on the first and at least second video frames, the output video frame being a decompressed video frame, the output video frame becoming a new first video frame; and
(v) to send the output video frame to the first one of the processors for storage in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; andsteps (i) through (v) are repeated until all video frames to be processed have been received. - View Dependent Claims (19, 20, 21, 22)
-
-
23. An apparatus for use in a frame-based video processing system, the apparatus comprising:
-
a memory adapted to be shared by at least a subset of video processors included in the video processing system; and at least one network processor coupled to the memory, the network processor being operative;
(i) to receive a first video frame and to store the first video frame in the memory, the first video frame being a decompressed video frame;
(ii) to receive at least a second video frame, the second video frame being a compressed video frame, receipt of the second video frame initiating a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame;
(iii) to send the first and second video frames to given one of the video processors together for processing by the given video processor;
(iv) to receive from the given video processor an output video frame generated by the given video processor, the output video frame being a decompressed video frame;
(v) to store the output video frame in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; and
(vi) to repeat steps (ii) through (v) until all video frames to be processed have been received.
-
-
24. An apparatus for use in a frame-based video processing system, the apparatus comprising:
at least one video processor adapted for connection to a network processor included in the video processing system, the at least one video processor being operative;
(i) to receive from the network processor a first video frame and at least a second video frame, the first video frame being a decompressed video frame and the second video frame being a compressed video frame, the first video frame being stored in a memory coupled to the network processor, the memory being shared by a subset of video processors in the video processing system, where upon receipt of the at least second video frame, the network processor initiates a release of the first video frame from the memory, a memory location within the memory associated with the first video frame thereby becoming available for storing a subsequent video frame;
(ii) to generate an output video frame based at least on the first and second video frames, the output video frame being a decompressed video frame;
(iii) to send the output video frame to the network processor, the output video frame being stored in the memory by overwriting an available memory location therein, the output video frame becoming a new first video frame; and
(iv) to repeat steps (i) through (iii) until all video frames to be processed have been received.
Specification