摘要:
A pixel block (300) is compressed by providing a respective color component prediction for each pixel (310-318) in the block (300). A difference between color components of two neighboring pixels (312, 316) is calculated and compared to a threshold. If the difference is smaller than the threshold, the prediction is calculated based on a first linear combination of the color components of these two neighboring pixels (312, 316). However, if the difference exceeds the threshold, a second or third linear combination of the color components of the neighboring pixels (312, 316) is employed a prediction. A guiding bit (470) associated with the selected linear combination. A prediction error is calculated based on the color component of the pixel (318) and the provided prediction. The compressed block (400) comprises an encoded representation (480) of the prediction error and any guiding bit (470).
摘要:
A pixel block is compressed by providing a respective color component prediction for each pixel in the block. A difference between color components of two neighboring pixels is calculated and compared to a threshold. If the difference is smaller than the threshold, the prediction is calculated based on a first linear combination of the color components of these two neighboring pixels. However, if the difference exceeds the threshold, a second or third linear combination of the color components of the neighboring pixels is employed in the prediction. A guiding bit associated with the selected linear combination may be used. A prediction error is calculated based on the color component of the pixel and the provided prediction. The compressed block comprises an encoded representation of the prediction error and any guiding bit.
摘要:
A pixel block is compressed by providing a respective color component prediction for each pixel in the block. A difference between color components of two neighboring pixels is calculated and compared to a threshold. If the difference is smaller than the threshold, the prediction is calculated based on a first linear combination of the color components of these two neighboring pixels. However, if the difference exceeds the threshold, a second or third linear combination of the color components of the neighboring pixels is employed in the prediction. A guiding bit associated with the selected linear combination may be used. A prediction error is calculated based on the color component of the pixel and the provided prediction. The compressed block comprises an encoded representation of the prediction error and any guiding bit.
摘要:
A pixel block is compressed by providing a respective color component prediction for each pixel in the block. A difference between color components of two neighboring pixels is calculated and compared to a threshold. If the difference is smaller than the threshold, the prediction is calculated based on a first linear combination of the color components of these two neighboring pixels. However, if the difference exceeds the threshold, a second or third linear combination of the color components of the neighboring pixels is employed in the prediction. A guiding bit associated with the selected linear combination may be used. A prediction error is calculated based on the color component of the pixel and the provided prediction. The compressed block comprises an encoded representation of the prediction error and any guiding bit.
摘要:
A pixel block (300) is compressed by sub-sampling at least a portion of the pixels (310) into subblocks (320, 330). Predictions are determined for the property values of these subblocks (320, 330) by calculating a variance measure based on property values of neighboring pixels (310)/subblocks (320, 330) in two prediction directions in the block (300) relative to a current subblock (320, 330). If the variance is below a threshold, the prediction is calculated based on neighboring property values in both directions. If the measure exceeds the threshold, the neighboring property values in only one of the two predictions directions are used for calculating the prediction. A guiding bit (450) descriptive of the selected direction is also provided. A prediction error is calculated based on the property value and the calculated prediction. The compressed block (400) comprises an encoded representation (460) of the prediction error and any guiding bit (470).
摘要:
Methods and apparatus are disclosed for the processing of frame buffer data, such as color buffer data, in graphics processing applications. Although more generally applicable, these methods and apparatus are particularly useful in real-time, polygon-based, 3D rendering applications. An exemplary method for processing graphics data according to one or more embodiments of the invention begins with the retrieval, from a buffer, of pixel values corresponding to a tile of two or more pixels, and with the updating of one or more of those updated pixel values. The updated pixel values are selectively compressed using a lossy compression operation or a lossless compression operation, based on an accumulated error metric value for the tile. If lossy compression is used, then the accumulated error metric value for the tile is updated; in either event, the compressed pixel values are stored in the frame buffer for further processing. With this approach, the accumulated error caused by successive, or tandem, compression operations may be limited to a pre-determined maximum.
摘要:
A pixel block (300) is compressed by determining a reference set of multiple reference property values (10-14). A value index associated with a reference property value of the reference set is assigned to each pixel (310-316) in the pixel block (300) based on the original property value of the pixel (310-316). A prediction of the value index is provided based on the value index assigned to at least one neighboring pixel (314, 316) in the pixel block (300). A prediction error is calculated based on the value index assigned to a pixel (316) and its value index prediction. The compressed pixel block (400) comprises encoded representations (424) of the prediction errors and an encoded representation (410) of the reference set.
摘要:
A graphics processing circuit for rendering three-dimensional graphics data is disclosed. The circuit includes pipelined graphics processing stages, wherein each of two or more of the stages is configured to process at least one of graphics primitives, vertices, tiles, and pixels, according to a stage-specific error budget. Depending on its error budget, each of these stages may select a high- or low-precision calculation, select between lossless and lossy compression, adjust the compression ratio of a variable lossy compression algorithm, or some combination of these approaches. The circuit further comprises a global error-control unit configured to determine error budgets for each of the two or more stages, based on at least one of error data received from the two or more stages, predetermined scene complexity data, and user-defined error settings, and to assign the error budgets to the graphics processing stages. Corresponding methods for processing graphics data are also disclosed.
摘要:
A unified compression/decompression architecture is disclosed for reducing memory bandwidth requirements in 3D graphics processing applications. The techniques described erase several distinctions between a texture (compressed once, and decompressed many times), and buffers (compressed and decompressed repeatedly during rendering of an image). An exemplary method for processing graphics data according to one or more embodiments of the invention thus begins with the updating of one or more tiles of a first image array, which are then compressed, using a real-time buffer compression algorithm, to obtain compressed image array tiles. The compressed image array tiles are stored for subsequent use as a texture. During real-time rendering of a second image array, the compressed image array tiles are retrieved and decompressed using a decompression algorithm corresponding to the buffer compression algorithm. The decompressed image array tiles are then applied as a texture to one or more primitives in the second image array.
摘要:
Embodiments relate to compression and decompression of textures. A texel block (10) is compressed by specifying two major directions in the texel block (10) and defining the profiles of how the texel values change along the respective directions. The resulting compressed texel block (30) comprises two value codewords (31, 32), two line codewords (35-38) and a function codeword (33, 34). The two value codewords (31, 32) are employed to calculate two texel values for the texel block (10). The line codewords (35-38) are employed to determine equations of two lines (20, 22) coinciding with the two major directions in the texel block (10). Signed distances are calculated for each texel (12) from the texel position in the texel block (10) and to the two lines (20, 22). The signed distances are input to a function defined by the function codeword (33, 34) to output two values from which weights are calculated and applied to the two texel values in order to get a representation of the texel value of a texel (12).