Optimized partition selection for BC7 texture encoding
AssigneeSony Interactive Entertainment Inc.
InventorThomas Madams
Life of this patent
Estimating the term…
Abstract
An encoder may select a BC7 partition by computing gradient strengths between adjacent pixels in multiple directions and shortlisting candidate partitions based on strength. Gradient totals may be scaled to normalize different counts of adjacent pixel pairs across directions. A partition may then chosen from the shortlist by evaluating per channel extents within the partition subsets with optional weighting by subset size and reuse of intermediate minimum and maximum bounds. Alpha contributions may be omitted for blocks in which all pixels are fully opaque. The selected partition may be used to process a block for storage or transmission and later decompression at a rendering device, and the approach can be combined with mode selection predicted from features based on per channel ranges.
Claims19
An apparatus comprising:
- at least one processor assembly configured to:
- identify M candidate partitions from N partitions, N>M, for block compression 7 (BC7) of texture data at least in part by:
- for at least a first block of the texture data, computing gradient strengths between adjacent pixels in plural directions, each direction being associated with a respective absolute gradient strength;
- identifying the direction having the lowest absolute gradient strength;
- and
- identifying the M candidate partitions based on the direction having the lowest absolute gradient strength;
- use at least a first candidate partition of the M candidate partitions to process at least the first block of texture data for storage or transmission thereof for decompression at a rendering device to render at least one image;
- and
- reuse at least a first calculation from the first candidate partition in calculating at least one operation of a second candidate partition of the M candidate partitions.
A device comprising:
- at least one computer storage that is not a transitory signal and that comprises instructions executable by at least one processor assembly to:
- identify, for at least first and second directions relative to a computer graphics texture data structure, respective first and second values derived from pixel values of the computer graphics texture data structure;
- use one of the values to select a subset of M candidate partitions from N partitions, M<N;
- and
- select a first candidate partition in the subset of M candidate partitions to encode the computer graphics texture data structure, selection of the first candidate partition being based on pixel extents in the first one of the candidate partitions in the subset of M candidate partitions;
- and
- reuse at least a first calculation from the first candidate partition in calculating at least one operation of a second candidate partition in the subset of the M candidate partitions.
A method comprising:
- identifying, from among N possible partitions for a block compression 7 (BC7) block of texture data, M candidate partitions, M<N, based at least in part on gradient calculations in at least two directions relative to the block;
- identifying a first candidate partition of the M candidate partitions based on extents of pixels in the block;
- using the first candidate partition of the M candidate partitions to process the block of texture data for transmission thereof and decompression at a rendering device to render images;
- and
- reusing at least a first calculation from the first candidate partition in calculating at least one operation of a second candidate partition of the M candidate partitions.
Dependencies are inferred from the claim text.