EP1589766A2

Object-based video decompression process employing arbitrarily shaped features

Abstract

A computer readable medium stores computer executable instructions for causing a computer programmed thereby to perform a method of extrapolating values of pixels of a video object (402), so as to define values for at least one pixel (412) outside of the perimeter (408) of the video object (402), the at least one pixel (412) outside of the perimeter (408) being within a block boundary (406) around the video object (402). The method comprises: scanning a line of pixels within the block boundary (406), wherein the scanning identifies at least one pixel (412) outside of the perimeter (408), and wherein each identified pixel (412) is part of a segment with two end pixels, at least one of the two end pixels having a perimeter (408) pixel value; for each identified pixel (412), if both end pixels of the segment including the identified pixel (412) have perimeter (408) pixel values; assigning to the identified pixel (412) an average of the perimeter (408) pixel values, and, if only one end pixel of the segment including the identified pixel (412) has a perimeter (408) pixel value, assigning to the identified pixel (412) the perimeter (408) pixel value.

EP1589766A2, drawing sheet 1
Sheet 1 of 48

Term

Term ended

Projected expiry passed 4 October 2016, 10 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

17 claims: 10 independent, 7 dependent

  1. 1
    In an object-based video decoder, a method of decoding plural video objects in a video sequence, the method comprising:receiving encoded data for the plural video objects in the video sequence, wherein the plural video objects include a first video object and a second video object, and wherein the encoded data includes: intra-coded data for the first video object, wherein the intra-coded data for the first video object comprises a sprite, wherein the sprite comprises a bitmap formed as a combination of pixel values for pixels of the first video object at plural different times in the video sequence such that the bitmap represents portions of the first video object that are visible at some but not necessarily all of the plural different times;one or more masks that define shape for the first video object;one or more trajectory parameters for the first video object at one or more of the plural different times, wherein the one or more trajectory parameters indicate transformations to compute pixel values for pixels of the first video object from the sprite;intra-coded data for the second video object;one or more masks that define shape for the second video object;for at least one of the plural different times, one or more motion parameters that indicate transformations to compute pixel values for pixels of the second video object;and one or more error signals for the second video object for at least one of the plural different times;decoding the sprite for the first video object;decoding the first video object at a first time of the plural different times, including using one or more trajectory parameters for the first video object at the first time to compute pixel values for pixels of the first video object at the first time from the sprite for the first video object, wherein the one or more masks that define shape for the first video object indicate which pixels are part of the first video object at the first time;decoding the second video object at the first time, wherein the one or more masks that define shape for the second video object indicate which pixels are part of the second video object at the first time;and decoding the second video object at a second time of the plural different times, including using one or more motion parameters for the second video object at the second time to compute pixel values for pixels of the second video object at the second time from the decoded second video object at the first time, and further including combining the computed pixel values for pixels of the second video object at the second time with an error signal for the second video object at the second time, wherein the one or more masks that define shape for the second video object indicate which pixels are part of the second video object at the second time.
  2. 6
    A method of processing encoded data for plural video objects in a video sequence, wherein the plural video objects include a first video object and a second video object, the method comprising:processing intra-coded data for the first video object, wherein the intra-coded data for the first video object comprises a sprite, wherein the sprite comprises a bitmap formed as a combination of pixel values for pixels of the first video object at plural different times in the video sequence such that the bitmap represents portions of the first video object that are visible at some but not necessarily all of the plural different times;processing one or more masks that define shape for the first video object;processing one or more trajectory parameters for the first video object at one or more of the plural different times, wherein the one or more trajectory parameters indicate transformations to compute pixel values for pixels of the first video object from the sprite;processing intra-coded data for the second video object;processing one or more masks that define shape for the second video object;processing, for at least one of the plural different times, one or more motion parameters that indicate transformations to compute pixel values for pixels of the second video object;and processing one or more error signals for the second video object for at least one of the plural different times;wherein the encoded data is formatted for decoding by an object-based video decoder by: decoding the sprite for the first video object;decoding the first video object at a first time of the plural different times, including using one or more trajectory parameters for the first video object at the first time to compute pixel values for pixels of the first video object at the first time from the sprite for the first video object, wherein the one or more masks that define shape for the first video object indicate which pixels are part of the first video object at the first time;decoding the second video object at the first time, wherein the one or more masks that define shape for the second video object indicate which pixels are part of the second video object at the first time;and decoding the second video object at a second time of the plural different times, including using one or more motion parameters for the second video object at the second time to compute pixel values for pixels of the second video object at the second time from the decoded second video object at the first time, and further including combining the computed pixel values for pixels of the second video object at the second time with an error signal for the second video object at the second time, wherein the one or more masks that define shape for the second video object indicate which pixels are part of the second video object at the second time.
  3. 8
    The method of any preceding claim, wherein the one or more masks that define shape for the first video object and the one or more masks that define shape for the second video object are binary masks.
  4. 9
    The method of any preceding claim, wherein the one or more masks that define shape for the first video object and the one or more masks that define shape for the second video object are multi-bit alpha channel masks.
  5. 10
    The method of any preceding claim, wherein the first video object represents background in the video sequence and the second video object represents a foreground object in the video sequence.
  6. 11
    The method of any preceding claim, wherein the second video object is divided into blocks, and wherein the one or more motion parameters are for the blocks of the second video object.
  7. 12
    The method of any preceding claim, wherein the one or more motion parameters for the second video object are trajectory parameters.
  8. 13
    The method of any preceding claim, wherein the intra-coded data for the second video object includes a sprite for the second video object, and wherein the decoding the second video object at the first time includes decoding the sprite for the second video object.
  9. 14
    The method of any preceding claim, wherein the one or more trajectory parameters for the first video object are coded in terms of pixel coordinates.
  10. 15
    The method of any preceding claim, wherein the one or more masks that define shape for the first video object are in terms of the sprite for the first video object.