Sharing reference data between multiple encoders parallel encoding a sequence of video frames
First Claim
1. A method for processing a sequence of video frames comprising:
- employing a first encoder to encode a first area of a frame of said sequence of video frames and a second encoder to encode a second area of said frame, wherein said first area and said second area comprise adjoining areas within said frame; and
making reference data of said first encoder available to said second encoder, said reference data arising from encoding said first area of said frame and being made available to said second encoder for use in encoding said second area of a subsequent frame of said sequence of video frames to facilitate avoiding appearance of a seam between said adjoining first and second areas of said subsequent frame of the sequence of video frames due to separate encoding thereof by said first encoder and said second encoder.
1 Assignment
0 Petitions
Accused Products
Abstract
A digital video encode system, method and computer program product are described wherein a picture is divided into multiple active areas that are parallel encoded using multiple encoders. The encoders associated with adjoining active areas of the picture are configured to exchange reference data to facilitate avoiding appearance of a seam between the adjoining active areas of a subsequent picture in a sequence of pictures due to separate encoding thereof by the multiple encoders. The reference data transferred from one encoder to an adjoining encoder is an encoded and decoded section of the picture and is used by the adjoining encoder as an expanded reference area for motion estimation when encoding the subsequent picture.
-
Citations
39 Claims
-
1. A method for processing a sequence of video frames comprising:
-
employing a first encoder to encode a first area of a frame of said sequence of video frames and a second encoder to encode a second area of said frame, wherein said first area and said second area comprise adjoining areas within said frame; and
making reference data of said first encoder available to said second encoder, said reference data arising from encoding said first area of said frame and being made available to said second encoder for use in encoding said second area of a subsequent frame of said sequence of video frames to facilitate avoiding appearance of a seam between said adjoining first and second areas of said subsequent frame of the sequence of video frames due to separate encoding thereof by said first encoder and said second encoder. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for processing a sequence of video frames employing a plurality of encoders, said plurality of encoders being coupled to parallel process a plurality of active areas of a frame of said sequence of video frames, said plurality of active areas being disposed in a tile configuration with said plurality of encoders also being coupled in said tile configuration, wherein said method comprises for each encoder of at least one encoder of said plurality of encoders:
-
determining for said encoder whether there is a top connection with a top encoder of said plurality of encoders, and if so, transferring to said encoder reference data from said active area being encoded by said top encoder;
determining for said encoder whether there is a bottom connection with a bottom encoder of said plurality of encoders, and if so, transferring to said encoder reference data from said active area being encoded by said bottom encoder;
determining for said encoder whether there is a left connection with a left encoder of said plurality of encoders, and if so, transferring to said encoder reference data R from said active area of said left encoder, and thereafter transferring top or bottom reference data aligned above or below, respectively, reference data R of the active area of said left encoder; and
determining for said encoder whether there is a right connection to a right encoder of said plurality of encoders, and if so, transferring to said encoder reference data L from said active area of said right encoder, and thereafter transferring top or bottom reference data aligned above or below, respectively, reference data L of the active area of said right encoder.
-
-
14. A method for processing a sequence of video frames comprising:
-
employing multiple encoders to encode multiple areas of a frame of said sequence of video frames, each area of said frame having at least one adjoining area within said frame so that each encoder has at least one adjoining encoder; and
making reference data available from each encoder to an adjoining encoder for use in encoding a subsequent frame of said sequence of video frames to facilitate avoiding appearance of seams between adjoining areas of said subsequent frame of said sequence of video frames due to separate encoding thereof by said multiple encoders. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. An encode system for processing a sequence of video frames comprising:
-
a first encoder for encoding a first area of a frame of said sequence of video frames;
a second encoder for encoding a second area of said frame of said sequence of video frames, wherein said first area and said second area comprise adjoining areas within said frame; and
said first encoder being adapted to make available to said second encoder reference data arising from encoding of said first area of said frame, said reference data being employed by said second encoder in encoding said second area of a subsequent frame of said sequence of video frames to facilitate avoiding appearance of a seam between said adjoining first and second areas of said subsequent frame due to said separate encoding thereof by said first encoder and said second encoder. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. An encode system for processing a sequence of video frames comprising:
-
a video divider for dividing a frame of said sequence of frames into multiple active areas;
multiple encoders coupled in parallel to encode said multiple active areas of said frame of said sequence of video frames, each active area of said frame having at least one adjoining active area within said frame so that each encoder has at least one adjoining encoder; and
wherein said multiple encoders are adapted to make reference data available from each encoder to its at least one adjoining encoder for use in encoding a subsequent frame of said sequence of video frames to facilitate avoiding appearance of seams between adjoining areas of said subsequent frame of said sequence of video frames due to separate encoding thereof by said multiple encoders. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. An article of manufacture comprising:
-
a computer program product comprising a computer usable medium having computer readable program code means therein for use in processing a sequence of video frames, said computer readable program code means in said computer program product comprising;
(i) computer readable program code means for causing a computer to effect employing a first encoder to encode a first area of a frame of said sequence of video frames and a second encoder to encode a second area of said frame, wherein said first area and said second area comprise adjoining areas within said frame; and
(ii) computer readable program code means for causing a computer to effect making reference data of said first encoder available to said second encoder, said reference data arising from encoding said first area of said frame and being made available to said second encoder for use in encoding said second area of a subsequent frame of said sequence of video frames to facilitate avoiding appearance of a seam between said adjoining first and second areas of said subsequent frame of the sequence of video frames due to separate encoding thereof by said first encoder and said second encoder.
-
-
39. An article of manufacture comprising:
-
a computer program product comprising a computer usable medium having computer readable program code means therein for use in processing a sequence of video frames, said computer readable program code means in said computer program product comprising;
(i) computer readable program code means for causing a computer to effect employing multiple encoders to encode multiple areas of a frame of said sequence of video frames, each area of said frame having at least one adjoining area within said frame so that each encoder has at least one adjoining encoder; and
(ii) computer readable program code means for causing a computer to effect making reference data available from each encoder to an adjoining encoder for use in encoding a subsequent frame of said sequence of video frames to facilitate avoiding appearance of seams between adjoining areas of said subsequent frame of said sequence of video frames due to separate encoding thereof by said multiple encoders.
-
Specification