Transparent block skipping in object-based video coding systems
First Claim
1. In an object-based video coding method, a method for reducing coding overhead comprising:
- separately encoding video objects in a sequence of video frames including;
separately encoding shape for each of the objects,separately encoding texture for each of the objects, andwhile coding texture for a first object, evaluating the shape of the first object to determine whether a transformation block in the first object is transparent based on the shape for the first object, and if so, then skipping texture coding for the transformation block; and
separately decoding video objects in the sequence of video frames including;
separately decoding shape for each of the objects,separately decoding texture for each of the objects, andwhile decoding texture for a first object, evaluating whether a transformation block in the first object is transparent based on the shape of the first object, and if so, then skipping texture decoding for the transformation block.
2 Assignments
0 Petitions
Accused Products
Abstract
A method implemented in an object-based video encoder or decoder uses shape information that describes the boundary of a group of pixels representing an object in a sequence of video frames to identify transparent blocks (e.g., macroblocks or blocks so that coding/decoding of these blocks can be skipped. In the object-based video coding method, encoders code shape separately from motion and texture, and shape information is available before the encoder/decoder codes/decodes texture and motion data. The encoder and decoder use this shape information to identify transparent macroblocks or blocks so that texture coding and possible motion coding can be skipped. This method for transparent block skipping reduces coding and decoding operations and reduces the number of bits needed to store a bitstream representing a compressed video sequence.
401 Citations
18 Claims
-
1. In an object-based video coding method, a method for reducing coding overhead comprising:
-
separately encoding video objects in a sequence of video frames including; separately encoding shape for each of the objects, separately encoding texture for each of the objects, and while coding texture for a first object, evaluating the shape of the first object to determine whether a transformation block in the first object is transparent based on the shape for the first object, and if so, then skipping texture coding for the transformation block; and separately decoding video objects in the sequence of video frames including; separately decoding shape for each of the objects, separately decoding texture for each of the objects, and while decoding texture for a first object, evaluating whether a transformation block in the first object is transparent based on the shape of the first object, and if so, then skipping texture decoding for the transformation block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An object-based video coder for coding objects in a video sequence into a bit stream, where the objects comprise portions of video frames in the video sequence and are each associated with a bounding rectangle that encloses the objects in the video frames, and where the bounding rectangles are divided into transformation blocks, the encoder comprising:
-
a shape encoder for coding shape of the objects in the video sequence; a motion encoder for computing motion estimation data for the objects in the video sequence, for computing error values between predicted objects and the objects in the video sequence, and for coding the motion estimation data for transformation blocks covered by the objects; a texture encoder for encoding pixels comprising the objects for transformation blocks covered by the objects, and in communication with the motion encoder for encoding the error values for the transformation blocks covered by the objects;
wherein the texture encoder is operable to read the shape of the objects to identify the transparent transformation blocks and operable to skip the encoding of pixels and error values of the transparent transformation blocks; anda multiplexor in communication with the shape, texture and motion coder for combining encoded shape, motion estimation and texture data into the bitstream. - View Dependent Claims (11, 12)
-
-
13. An object-based video decoder for decoding a bitstream of compressed video objects into objects in a video sequence, where the objects comprise portions of video frames in the video sequence and are each associated with a bounding rectangle that encloses the objects in the video frames, and where the bounding rectangles are divided into transformation blocks, the decoder comprising:
-
a shape decoder for decoding shape of the compressed objects in the bitstream; a texture decoder for decoding pixels from the compressed objects, and for decoding the error values for the objects;
wherein the texture decoder is operable to read the shape of the objects to identify the transparent transformation blocks and operable to skip the decoding of pixels and error values of the transparent transformation blocksa motion decoder for computing motion estimation data for the objects in the video sequence, for computing error values between predicted objects and the objects in the video sequence, and for coding the motion estimation data for transformation blocks.
-
-
14. A computer readable medium on which is stored software for coding video data, which when executed by a computer, perform the steps of:
separately encoding video objects in a sequence of video frames including; separately coding shape for each of the objects, separately coding texture for each of the objects, and while coding texture for a first object, evaluating whether a transformation block is covered by the shape of the first object based on the shape for the first object, and if not, then skipping texture coding for the transformation block.
-
15. In an object-based video coding method, a method for reducing coding overhead comprising:
-
separately encoding video objects in a sequence of video frames including; encoding shape for each of the objects, including performing motion compensation on at least a first partially transparent transformation block in a first object, setting a block transparency status flag corresponding to an entirely transparent sub-transformation block in the partially transparent transformation block, encoding motion data for at least the first object, and encoding texture for each of the objects; and separately decoding video objects in the sequence of video frames including; decoding motion data for at least the first object, including evaluating the block transparency flag, and skipping motion decoding for the entirely transparent sub-transformation block; decoding shape for each of the objects, decoding texture for each of the objects, and reconstructing the sequence of video frames from the decoded shape, motion and texture data. - View Dependent Claims (16)
-
-
17. In an object-based video coding method, a method for reducing coding overhead comprising:
-
separately encoding video objects in a sequence of video frames including; separately encoding shape for each of the objects, separately encoding texture for each of the objects, and while coding texture for a transformation block partially covered by a first object, evaluating the shape of the first object to determine whether a sub-transformation block in the partially covered transformation block is transparent based on the shape of the first object, and if so, then skipping texture coding for the sub-transformation block and encoding a coded block pattern bit or bits only for non-transparent sub-transformation blocks in the partially covered transformation block; and separately decoding video objects in the sequence of video frames including; separately decoding shape for each of the objects, separately decoding texture for each of the objects, and while decoding texture for a transformation block partially covered by the first object, evaluating the shape of the first object to determine whether a sub-transformation block in the partially covered transformation block is transparent based on the shape of the first object, and if so, then skipping texture decoding for the sub-transformation block. - View Dependent Claims (18)
-
Specification