Using border-aligned block functions for image compression
AssigneeGoogle Inc.
InventorsThomas Fischbacher, Lode Vandevenne
Life of this patent
Estimating the term…
Abstract
A method for encoding a block of a frame. The method includes receiving the block that is in the spatial domain; selecting, based on a border that crosses the block, a set of basis functions for transforming the block to a transform domain; transforming the block using the set of basis functions to obtain a transform block; encoding, in a compressed bitstream, an indication of the set of basis functions; and encoding, in the compressed bitstream, the transform block.
Claims20
A method for encoding a block of a frame, the method comprising:
- receiving the block, wherein the block is in a spatial domain;
- selecting, based on a direction and crossing location of a border that crosses the block, a set of basis functions for transforming the block to a transform domain,
- wherein the set of basis functions is selected from a set of candidate sets of basis functions, and
- wherein each candidate set of basis functions corresponds to a respective direction of a block-crossing border of a to-be-encoded block and a respective displacement of the block-crossing border within the to-be-encoded block;
- transforming the block using the set of basis functions to obtain a transform block;
- encoding, in a compressed bitstream, an indication of the set of basis functions;
- and
- encoding, in the compressed bitstream, the transform block.
An apparatus for encoding a block of a frame, the apparatus comprising:
- a processor configured to:
- receive the block, wherein the block is in a spatial domain;
- select, based on a shape that partitions the block, a set of basis functions for transforming the block to a transform domain,
- wherein the set of basis functions is selected from a set of candidate sets of basis functions, and
- wherein each of at least some of the candidate sets of basis functions corresponds to a respective direction of a block-crossing shape of a to-be-encoded block and a respective displacement of the block-crossing shape within the to-be-encoded block;
- transform the block using the set of basis functions to obtain a transform block;
- encode, in a compressed bitstream, an indication of the set of basis functions;
- and
- encode, in the compressed bitstream, the transform block.
An apparatus for decoding a block of a frame, the apparatus comprising:
- a processor configured to:
- decode, from a compressed bitstream, an indication of a set of basis functions for inverse transforming a transform block of the block,
- wherein the set of basis functions is one of a set of available candidate sets of basis functions, each available candidate set of at least some of the available candidate sets corresponds to a respective displacement of a shape and a respective direction of the shape within the block;
- wherein the block includes a shape,
- wherein the set of basis functions corresponds to the shape;
- and
- wherein the set of basis functions corresponds to eigenfunctions of a graph Laplacian that is formed based on the shape;
- decode, from the compressed bitstream, the transform block;
- and
- inverse-transform the transform block using the set of basis functions to obtain the block.
Dependencies are inferred from the claim text.