System and method for compressing and decompressing images using block-based compression format
Abstract
Disclosed herein includes a system, a method, and a device for compressing image data. The device includes one or more processors, coupled to memory, configured to identify a plurality of sub-blocks of a block of image data including a first sub-block and a second sub-block. The one or more processors are configured to identify a first data characteristic of data of the first sub-block and a second data characteristic of data of the second sub-block, determine a first compression technique based at least on the first data characteristic of the first sub-block, determine a second compression technique based at least on the second data characteristic of the second sub-block, and compress the first sub-block using the first compression technique and the second sub-block using the second compression technique.
Claims
exact text as granted — not AI-modified1 - 18 . (canceled)
19 . A method comprising:
determining, by one or more processors, a range of values of pixel samples in one or more sub-blocks of a block of image data based at least on a combination of compression rate and distortion efficiency; identifying, by the one or more processors as one or more data characteristics of the one or more sub-blocks, the range of values, a number of bits per pixel sample, and an offset of a starting endpoint; and compressing, by the one or more processors, a sub-block of the one or more sub-blocks using a compression technique that is identified using the one or more data characteristics.
20 . The method according to claim 19 , wherein the compression technique is one of lossless compression, lossy compression, prediction-based compression, or no compression.
21 . The method according to claim 19 , wherein the block of image data corresponds to one of a plurality of channels, each channel being one of a color channel or an alpha channel.
22 . The method according to claim 21 , further comprising:
generating a plurality of first compressed blocks by compressing a plurality of first blocks, each block of the plurality of first blocks corresponding to one of the plurality of channels; and dividing the plurality of first compressed blocks into a plurality of first data slices, each of the plurality of first data slices including a plurality of portions, each portion including compressed blocks corresponding to a respective one of the plurality of channels.
23 . The method according to claim 22 , further comprising:
generating a plurality of second compressed blocks by compressing a plurality of second blocks, each block of the plurality of second blocks corresponding to one of the plurality of channels; and dividing the plurality of second compressed blocks into a plurality of second data slices, each of the plurality of second data slices including a plurality of portions, each portion including compressed blocks corresponding to a respective one of the plurality of channels, wherein the plurality of first blocks have a first multum in parvo (MIP) level different from a second MIP level of the plurality of second blocks.
24 . The method according to claim 22 , further comprising: generating, based on the plurality of first data slices, an indirection table indicating address information of compressed blocks in the plurality of data slices.
25 . The method according to claim 19 , wherein the range of values is determined such that a cost function of the compression rate and the distortion efficiency is minimized.
26 . The method according to claim 19 , wherein the offset is a non-zero value.
27 . A device, comprising:
one or more processors, coupled to memory and configured to:
determine a range of values of pixel samples in one or more sub-blocks of a block of image data based at least on a combination of compression rate and distortion efficiency;
identify, as one or more data characteristics of the one or more sub-blocks, the range of values, a number of bits per pixel sample, and an offset of a starting endpoint; and
compress a sub-block of the one or more sub-blocks using a compression technique that is identified using the one or more data characteristics.
28 . The device of claim 27 , wherein the compression technique is one of lossless compression, lossy compression, prediction-based compression, or no compression.
29 . The device of claim 27 , wherein the block of image data corresponds to one of a plurality of channels, each channel being one of a color channel or an alpha channel.
30 . The device of claim 29 , wherein the one or more processors are further configured to:
generate a plurality of first compressed blocks by compressing a plurality of first blocks, each block of the plurality of first blocks corresponding to one of the plurality of channels; and divide the plurality of first compressed blocks into a plurality of first data slices, each of the plurality of first data slices including a plurality of portions, each portion including compressed blocks corresponding to a respective one of the plurality of channels.
31 . The device of claim 30 , wherein the one or more processors are further configured to:
generate a plurality of second compressed blocks by compressing a plurality of second blocks, each block of the plurality of second blocks corresponding to one of the plurality of channels; and divide the plurality of second compressed blocks into a plurality of second data slices, each of the plurality of second data slices including a plurality of portions, each portion including compressed blocks corresponding to a respective one of the plurality of channels, wherein the plurality of first blocks have a first multum in parvo (MIP) level different from a second MIP level of the plurality of second blocks.
32 . The device of claim 30 , wherein the one or more processors are further configured to:
generate, based on the plurality of first data slices, an indirection table indicating address information of compressed blocks in the plurality of data slices.
33 . The device of claim 27 , wherein the range of values is determined such that a cost function of the compression rate and the distortion efficiency is minimized.
34 . The device of claim 27 , wherein the offset is a non-zero value.
35 . A non-transitory computer readable medium storing program instructions for causing one or more processors to:
determine a range of values of pixel samples in one or more sub-blocks of a block of image data based at least on a combination of compression rate and distortion efficiency; identify, as one or more data characteristics of the one or more sub-blocks, the range of values, a number of bits per pixel sample, and an offset of a starting endpoint; and compress a sub-block of the one or more sub-blocks using a compression technique that is identified using the one or more data characteristics.
36 . The non-transitory computer readable medium of claim 35 , wherein compression technique is one of lossless compression, lossy compression, prediction-based compression, or no compression.
37 . The non-transitory computer readable medium of claim 35 , wherein the block of image data corresponds to one of a plurality of channels, each channel being one of a color channel or an alpha channel.
38 . The non-transitory computer readable medium of claim 35 , wherein the range of values is determined such that a cost function of the compression rate and the distortion efficiency is minimized.Join the waitlist — get patent alerts
Track US2023120593A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.