Return to site

Compress 1 0 3 – Image Compression Sleeves

broken image


S3 Texture Compression (S3TC) (sometimes also called DXTn, DXTC, or BCn) is a group of related lossytexture compressionalgorithms originally developed by Iourcha et al. of S3 Graphics, Ltd.[1][2] for use in their Savage 3Dcomputer graphics accelerator. The method of compression is strikingly similar to the previously published Color Cell Compression,[3] which is in turn an adaptation of Block Truncation Coding published in the late 1970s. Unlike some image compression algorithms (e.g. JPEG), S3TC's fixed-rate data compression coupled with the single memory access (cf. Color Cell Compression and some VQ-based schemes) made it well-suited for use in compressing textures in hardware-accelerated 3D computer graphics. Its subsequent inclusion in Microsoft's DirectX 6.0 and OpenGL 1.3 (via the GL_EXT_texture_compression_s3tc extension) led to widespread adoption of the technology among hardware and software makers. While S3 Graphics is no longer a competitor in the graphics accelerator market, license fees have been levied and collected for the use of S3TC technology until October 2017, for example in game consoles and graphics cards. The wide use of S3TC has led to a de facto requirement for OpenGL drivers to support it, but the patent-encumbered status of S3TC presented a major obstacle to open source implementations,[4] while implementation approaches which tried to avoid the patented parts existed.[5]

  1. Compress 1 0 3 – Image Compression Sleeves Size
  2. Compression Sleeve For Arm
  3. Compress 1 0 3 – Image Compression Sleeves Compression

Patent[edit]

Some (e.g. US 5956431 A) of the multiple USPTO patents on S3 Texture Compression expired on October 2, 2017.[6] At least one continuation patent, US6,775,417, however had a 165-day extension. This continuation patent expired on March 16, 2018.

Codecs[edit]

There are five variations of the S3TC algorithm (named DXT1 through DXT5, referring to the FourCC code assigned by Microsoft to each format), each designed for specific types of image data. All convert a 4×4 block of pixels to a 64-bit or 128-bit quantity, resulting in compression ratios of 6:1 with 24-bit RGB input data or 4:1 with 32-bit RGBA input data. S3TC is a lossy compression algorithm, resulting in image quality degradation, an effect which is minimized by the ability to increase texture resolutions while maintaining the same memory requirements. Hand-drawn cartoon-like images do not compress well, nor do normal map data, both of which usually generate artifacts. ATI's 3Dc compression algorithm is a modification of DXT5 designed to overcome S3TC's shortcomings with regard to normal maps. id Software worked around the normalmap compression issues in Doom 3 by moving the red component into the alpha channel before compression and moving it back during rendering in the pixel shader.[7]

Like many modern image compression algorithms, S3TC only specifies the method used to decompress images, allowing implementers to design the compression algorithm to suit their specific needs, although the patent still covers compression algorithms. The nVidia GeForce 256 through to GeForce 4 cards also used 16-bit interpolation to render DXT1 textures, which resulted in banding when unpacking textures with color gradients. Again, this created an unfavorable impression of texture compression, not related to the fundamentals of the codec itself.

DXT1[edit]

Compressport is a Swiss company that creates compression gear, like the Compressport Calf Sleeves, for recovery and sport.While there's contradicting evidence regarding the benefits of compression gear for athletic performance and recovery, many users find some kind of benefit in using this type of gear. Files for image-compression, version 0.4; Filename, size File type Python version Upload date Hashes; Filename, size image-compression-0.4.tar.gz (1.9 kB) File type Source Python version None Upload date Dec 6, 2018 Hashes View.

DXT1 (also known as Block Compression 1 or BC1) is the smallest variation of S3TC, storing 16 input pixels in 64 bits of output, consisting of two 16-bit RGB 5:6:5 color values c0{displaystyle c_{0}} and c1{displaystyle c_{1}}, and a 4x4 two-bit lookup table.

If c0>c1{displaystyle c_{0}>c_{1}}(compare these colors by interpreting them as two 16-bit unsigned numbers), then two other colors are calculated, such that for each component, c2=23c0+13c1{displaystyle c_{2}={2 over 3}c_{0}+{1 over 3}c_{1}} and c3=13c0+23c1{displaystyle c_{3}={1 over 3}c_{0}+{2 over 3}c_{1}}.This mode operates similarly to mode 0xC0 of the original Apple Video codec.[8]

Check out Compression Sleeves Collection by Rockay that athletes rely on. Recycled materials, lifetime warranty! - You can get free shipping and 10% off any additional items! This is a 1 time deal for new customers only. Yes, let me have a look first No, just want 1 pair for free.

Otherwise, if c0≤c1{displaystyle c_{0}leq c_{1}}, then c2=12c0+12c1{displaystyle c_{2}={1 over 2}c_{0}+{1 over 2}c_{1}} and c3{displaystyle c_{3}} is transparent black corresponding to a premultiplied alpha format.

The lookup table is then consulted to determine the color value for each pixel, with a value of 0 corresponding to c0{displaystyle c_{0}} and a value of 3 corresponding to c3{displaystyle c_{3}}.

DXT2 and DXT3[edit]

DXT2 and DXT3 (collectively also known as Block Compression 2 or BC2) converts 16 input pixels (corresponding to a 4x4 pixel block) into 128 bits of output, consisting of 64 bits of alpha channel data (4 bits for each pixel) followed by 64 bits of color data, encoded the same way as DXT1 (with the exception that the 4-color version of the DXT1 algorithm is always used instead of deciding which version to use based on the relative values of c0{displaystyle c_{0}} and c1{displaystyle c_{1}}).

In DXT2, the color data is interpreted as being premultiplied by alpha, in DXT3 it is interpreted as not having been premultiplied by alpha. Typically DXT2/3 are well suited to images with sharp alpha transitions, between translucent and opaque areas.

DXT4 and DXT5[edit]

DXT4 and DXT5 (collectively also known as Block Compression 3 or BC3) converts 16 input pixels into 128 bits of output, consisting of 64 bits of alpha channel data (two 8-bit alpha values and a 4x4 3-bit lookup table) followed by 64 bits of color data (encoded the same way as DXT1).

Compress 1 0 3 – Image Compression Sleeves Size

If α0>α1{displaystyle alpha _{0}>alpha _{1}}, then six other alpha values are calculated, such that α2=6α0+1α17{displaystyle alpha _{2}={{6alpha _{0}+1alpha _{1}} over 7}}, α3=5α0+2α17{displaystyle alpha _{3}={{5alpha _{0}+2alpha _{1}} over 7}}, α4=4α0+3α17{displaystyle alpha _{4}={{4alpha _{0}+3alpha _{1}} over 7}}, α5=3α0+4α17{displaystyle alpha _{5}={{3alpha _{0}+4alpha _{1}} over 7}}, α6=2α0+5α17{displaystyle alpha _{6}={{2alpha _{0}+5alpha _{1}} over 7}}, and α7=1α0+6α17{displaystyle alpha _{7}={{1alpha _{0}+6alpha _{1}} over 7}}.

Otherwise, if α0≤α1{displaystyle alpha _{0}leq alpha _{1}}, four other alpha values are calculated such that α2=4α0+1α15{displaystyle alpha _{2}={{4alpha _{0}+1alpha _{1}} over 5}}, α3=3α0+2α15{displaystyle alpha _{3}={{3alpha _{0}+2alpha _{1}} over 5}}, α4=2α0+3α15{displaystyle alpha _{4}={{2alpha _{0}+3alpha _{1}} over 5}}, and α5=1α0+4α15{displaystyle alpha _{5}={{1alpha _{0}+4alpha _{1}} over 5}} with α6=0{displaystyle alpha _{6}=0} and α7=255{displaystyle alpha _{7}=255}.

The lookup table is then consulted to determine the alpha value for each pixel, with a value of 0 corresponding to α0{displaystyle alpha _{0}} and a value of 7 corresponding to α7{displaystyle alpha _{7}}. DXT4's color data is premultiplied by alpha, whereas DXT5's is not. Because DXT4/5 use an interpolated alpha scheme, they generally produce superior results for alpha (transparency) gradients than DXT2/3.

Further variants[edit]

BC4 and BC5[edit]

BC4 and BC5 (Block Compression 4 and 5) are added in Direct3D 10. They reuse the alpha channel encoding found in DXT4/5 (BC3).[9]

  • BC4 stores 16 input single-channel (e.g. greyscale) pixels into 64 bits of output, encoded in the same way as BC3 alphas. The expanded palette provides higher quality.
  • BC4 stores 16 input double-channel (e.g. tangent space normal map) pixels into 128 bits of output, consisting of two halves each encoded in the same way as BC3 alphas.
Compress

BC6H and BC7[edit]

BC6H (sometimes BC6) and BC7 (Block Compression 6H and 7) are added in Direct3D 11.[9]

  • BC6H encodes 16 input RGB HDR (float16) pixels into 128 bits of output.
  • BC7 encodes 16 input RGB8/RGBA8 pixels into 128 bits of output.

BC6H and BC7 have a much more complex algorithm with a selection of encoding modes. The quality is much better as a result.[9]

S3TC format comparison[edit]

FOURCCDX 10/11 NameDescriptionAlpha premultiplied?Compression ratioTexture Type
DXT1BC11-bit Alpha / OpaqueYes6:1 (for 24-bit source image)Simple non-alpha
DXT2BC2Explicit alphaYes4:1Sharp alpha
DXT3BC2Explicit alphaNo4:1Sharp alpha
DXT4BC3Interpolated alphaYes4:1Gradient alpha
DXT5BC3Interpolated alphaNo4:1Gradient alpha
N/ABC4Interpolated greyscaleN/A2:1Gradient
N/ABC5Interpolated two-channelN/A2:1Gradient

See also[edit]

  • S2TC, patentless workaround
  • Adaptive Scalable Texture Compression (ASTC)
  • Ericsson Texture Compression (ETC1 & ETC2)

References[edit]

  1. ^US 5956431 'Fixed-rate block-based image compression with inferred pixel values'
  2. ^[1], Iourcha, Konstantine I.; Krishna S. Nayak & Zhou Hong, 'System and method for fixed-rate block-based image compression with inferred pixel values'
  3. ^'1990 IEEE Color Cell Compression Paper'. Ieeexplore.ieee.org. doi:10.1109/TENCON.1990.152671.Cite journal requires |journal= (help)
  4. ^'S3TC situation on official DRI information page'. Dri.freedesktop.org. Retrieved 2012-01-25.
  5. ^S2TC: A Possible Workaround For The S3TC Patent Situation on phoronix
  6. ^Yates, Tom (2017-02-15). 'This is why I drink: a discussion of Fedora's legal state'. LWN.net. Retrieved 2017-02-16. ... The patent on S3 texture compression expires on October 2, 2017, so Steam games might work better on Fedora after that date. ...
  7. ^Duffy, Robert (July 27, 2004). 'DOOM 3 Video Requirements'. Gamershell.com. Archived from the original on January 3, 2008. Retrieved 2012-01-25.
  8. ^Togni, Roberto, et al. 'Apple RPZA'. MultimediaWiki.
  9. ^ abcReed, Nathan. 'Understanding BCn Texture Compression Formats'. Nathan Reed's coding blog.

External links[edit]

  • squish, an MIT-licensed S3TC compressor. The site also contains an article giving an introduction to compression algorithms.
  • The Truth about S3TC Note: This article used an early S3TC compression engine, not nVidia's or ATI's updated codecs.

(Wayback Machine copy)

Compression sleeves for women

BC6H and BC7[edit]

BC6H (sometimes BC6) and BC7 (Block Compression 6H and 7) are added in Direct3D 11.[9]

  • BC6H encodes 16 input RGB HDR (float16) pixels into 128 bits of output.
  • BC7 encodes 16 input RGB8/RGBA8 pixels into 128 bits of output.

BC6H and BC7 have a much more complex algorithm with a selection of encoding modes. The quality is much better as a result.[9]

S3TC format comparison[edit]

FOURCCDX 10/11 NameDescriptionAlpha premultiplied?Compression ratioTexture Type
DXT1BC11-bit Alpha / OpaqueYes6:1 (for 24-bit source image)Simple non-alpha
DXT2BC2Explicit alphaYes4:1Sharp alpha
DXT3BC2Explicit alphaNo4:1Sharp alpha
DXT4BC3Interpolated alphaYes4:1Gradient alpha
DXT5BC3Interpolated alphaNo4:1Gradient alpha
N/ABC4Interpolated greyscaleN/A2:1Gradient
N/ABC5Interpolated two-channelN/A2:1Gradient

See also[edit]

  • S2TC, patentless workaround
  • Adaptive Scalable Texture Compression (ASTC)
  • Ericsson Texture Compression (ETC1 & ETC2)

References[edit]

  1. ^US 5956431 'Fixed-rate block-based image compression with inferred pixel values'
  2. ^[1], Iourcha, Konstantine I.; Krishna S. Nayak & Zhou Hong, 'System and method for fixed-rate block-based image compression with inferred pixel values'
  3. ^'1990 IEEE Color Cell Compression Paper'. Ieeexplore.ieee.org. doi:10.1109/TENCON.1990.152671.Cite journal requires |journal= (help)
  4. ^'S3TC situation on official DRI information page'. Dri.freedesktop.org. Retrieved 2012-01-25.
  5. ^S2TC: A Possible Workaround For The S3TC Patent Situation on phoronix
  6. ^Yates, Tom (2017-02-15). 'This is why I drink: a discussion of Fedora's legal state'. LWN.net. Retrieved 2017-02-16. ... The patent on S3 texture compression expires on October 2, 2017, so Steam games might work better on Fedora after that date. ...
  7. ^Duffy, Robert (July 27, 2004). 'DOOM 3 Video Requirements'. Gamershell.com. Archived from the original on January 3, 2008. Retrieved 2012-01-25.
  8. ^Togni, Roberto, et al. 'Apple RPZA'. MultimediaWiki.
  9. ^ abcReed, Nathan. 'Understanding BCn Texture Compression Formats'. Nathan Reed's coding blog.

External links[edit]

  • squish, an MIT-licensed S3TC compressor. The site also contains an article giving an introduction to compression algorithms.
  • The Truth about S3TC Note: This article used an early S3TC compression engine, not nVidia's or ATI's updated codecs.

(Wayback Machine copy)

Compression Sleeve For Arm

  • Texture compression survey

Compress 1 0 3 – Image Compression Sleeves Compression

Retrieved from 'https://en.wikipedia.org/w/index.php?title=S3_Texture_Compression&oldid=976125355'




broken image