Reuse of block tree pattern in video compression
AssigneeHulu, LLC
InventorsWenhao Zhang, Deliang Fu, Min Gao, Juncheng Ma, Chen Liu
Life of this patent
Estimating the term…
Abstract
A method includes transcoding a first block of a video. The first block is associated with a first block tree pattern defining a structure of splitting a block into smaller blocks. A bit string of bits for the first block tree pattern is included in an encoded bitstream for the video. The method determines that the first block tree pattern of the first block can be reused for a second block tree pattern of a second block and includes information in the encoded bitstream that indicates that the first block tree pattern is to be used to decode the second block from the encoded bitstream.
Claims23
A method comprising:
- transcoding, by a computing device, a first root block in a frame of a video, wherein the first root block is one of a plurality of root blocks and is associated with a first block tree pattern defining a structure of splitting the first root block into a first set of smaller blocks;
- including, by the computing device, a bit string of bits for the first block tree pattern in an encoded bitstream for the video;
- determining, by the computing device, that the first block tree pattern of the first set of smaller blocks can be reused for a second block tree pattern of a second set of smaller blocks for a second root block, wherein the second root block is split into the second set of smaller blocks;
- determining, by the computing device, a root of the first set of smaller blocks is the first root block;
- determining, by the computing device, a location of the first root block inside the frame, wherein the frame is divided into the plurality of root blocks and the location is based on the first root block being one of the plurality of root blocks in the frame;
- and
- including, by the computing device, information for the second root block in the encoded bitstream that indicates the location of the first root block inside the frame without including a bit string of bits for the second block tree pattern, wherein the location allows the bit string of bits for the first block tree pattern to be retrieved for use to decode the second root block from the encoded bitstream.
An apparatus comprising:
- one or more computer processors;
- and
- a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:
- transcoding a first root block in a frame of a video, wherein the first root block is one of a plurality of root blocks and is associated with a first block tree pattern defining a structure of splitting the first root block into a first set of smaller blocks;
- including a bit string of bits for the first block tree pattern in an encoded bitstream for the video;
- determining that the first block tree pattern of the first set of smaller blocks can be reused for a second block tree pattern of a second set of smaller blocks for a second root block, wherein the second root block is split into the second set of smaller blocks;
- determining a root of the first set of smaller blocks is the first root block;
- determining a location of the first root block inside the frame, wherein the frame is divided into the plurality of root blocks and the location is based on the first root block being one of the plurality of root blocks in the frame;
- and
- including information for the second root block in the encoded bitstream that indicates the location of the first root block inside the frame without including a bit string of bits for the second block tree pattern, wherein the location allows the bit string of bits for the first block tree pattern to be retrieved for use to decode the second root block from the encoded bitstream.
A method comprising:
- receiving, by a computing device, an encoded bitstream of a video;
- decoding, by the computing device, a first root block in a frame using a first block tree pattern that defines a structure of splitting the first root block into a set of smaller blocks;
- selecting, by the computing device, a second root block for decoding;
- determining, by the computing device, information for the second root block in the encoded bitstream that indicates a location of the first root block inside the frame, wherein the encoded bitstream does not include a bit string of bits for a second block tree pattern of the second root block, wherein the frame is divided into a plurality of root blocks and the location is based on the first root block being one of the plurality of root blocks in the frame;
- retrieving, by the computing device, the bit string of bits for the first block tree pattern using the location, wherein the first block tree pattern is to be used to decode the second root block from the encoded bitstream;
- and
- decoding, by the computing device, the second root block using the first block tree pattern.
An apparatus comprising:
- one or more computer processors;
- and
- a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:
- receiving an encoded bitstream of a video;
- decoding a first root block in a frame using a first block tree pattern that defines a structure of splitting the first root block into a set of smaller blocks;
- selecting a second root block for decoding;
- determining information for the second root block in the encoded bitstream that indicates a location of the first root block inside the frame, wherein the encoded bitstream does not include a bit string of bits for a second block tree pattern of the second root block, wherein the frame is divided into a plurality of root blocks and the location is based on the first root block being one of the plurality of root blocks in the frame;
- retrieving the bit string of bits for the first block tree pattern using the location, wherein the first block tree pattern is to be used to decode the second root block from the encoded bitstream;
- and
- decoding the second root block using the first block tree pattern.
Dependencies are inferred from the claim text.