Video shape padding method
AssigneeMotorola Mobility LLC
InventorsCarl M. Danielsen, Robert S. Chen
Life of this patent
Estimating the term…
Abstract
Horizontal and vertical video shape padding (with or without attendant motion compensation) are facilitated through use of a two-dimensional small array of processing elements. Multiple pixel value assignments are determined and made with each clock cycle or iteration, thereby greatly reducing overall cycle time to complete the shape padding. This approach is compatible with MPEG 4.
Claims25
A method for facilitating shape padding a video object plane disposed within a frame boundary comprising:
- providing video object plane data comprised of:
- a plurality of object pixels wherein each of the plurality of object pixels has a corresponding pixel value;
- a plurality of non-object pixels;
- selecting a grouping of the object pixels and non-object pixels;
- for a plurality of non-object pixels within the grouping, determining, substantially simultaneously, a new padding pixel value as a function of at least a neighboring pixel value.
A method for facilitating MPEG 4 shape padding of a video object plane disposed within a frame boundary comprising:
- providing video object plane data comprised of:
- a plurality of state pixels wherein each of the plurality of state pixels has a corresponding pixel value;
- a plurality of non-state pixels;
- selecting a macro block comprising a grouping of the state pixels and non-state pixels;
- for each of the non-state pixels, determining, substantially simultaneously, whether to assign a new padding pixel value to the non-state pixel.
A method for facilitating shape padding of a video object plane disposed within a frame boundary comprising:
- providing video object plane data comprised of:
- a plurality of state pixels wherein each of the plurality of state pixels has a corresponding pixel value;
- a plurality of non-state pixels;
- selecting a grouping of the state pixels and non-state pixels;
- for each of the non-state pixels, within a single action cycle and as repeated at least until done:
- assigning a padding pixel value that is equal to the pixel value for a first horizontally adjacent pixel having a pixel value that corresponds to either of a state pixel or a new padding pixel value, unless:
- a second horizontally adjacent pixel located on an opposite side of the non-state pixel from the first horizontally adjacent pixel has a pixel value that corresponds to either a state pixel or a new padding pixel value, in which case the non-state pixel is assigned a padding pixel value representing an average of the pixel value for the first horizontally adjacent pixel and the second horizontally adjacent pixel;
- a second horizontally adjacent pixel located on a first predetermined side of the non-state pixel and on an opposite side of the non-state pixel from the first horizontally adjacent pixel has a pixel value that is neither a pixel value for a state pixel nor a new padding pixel value, and another horizontally aligned pixel is located adjacent to the second horizontally adjacent pixel and on an opposite side of the second horizontally adjacent pixel from the non-state pixel wherein the another horizontally aligned pixel has a pixel value representing either a state pixel or a new padding pixel value, in which case a first predetermined action is taken;
- for each of the non-state pixels not yet assigned a padding pixel value, within a single action cycle and as repeated at least until done:
- assigning a padding pixel value that is equal to the pixel value for a first vertically adjacent pixel having a pixel value that corresponds to either of a state pixel or a new padding pixel value, unless:
- a second vertically adjacent pixel located on an opposite side of the non-state pixel from the first vertically adjacent pixel has a pixel value that corresponds to either a state pixel or a new padding pixel value, in which case the non-state pixel is assigned a padding pixel value representing an average of the pixel value for the first vertically adjacent pixel and the second vertically adjacent pixel;
- a second vertically adjacent pixel located on a first predetermined side of the non-state pixel and on an opposite side of the non-state pixel from the first vertically adjacent pixel has a pixel value that is neither a pixel value for a state pixel nor a new padding pixel value, and another vertically aligned pixel is located adjacent to the second vertically adjacent pixel and on an opposite side of the second vertically adjacent pixel from the non-state pixel wherein the another vertically aligned pixel has a pixel value representing either a state pixel or a new padding pixel value, in which case a second predetermined action is taken;
- the non-state pixel is vertically adjacent to a pixel having a padding pixel value that represents an average pixel value, in which case the non-state pixel is assigned the padding pixel value that represents an average pixel value.
Dependencies are inferred from the claim text.