The Data Compression News Blog

All about the most recent compression techniques, algorithms, patents, products, tools and events.

Subscribe

Posts: RSS Feed
Comments: RSS Feed

Sponsored Links

Recent Posts

  • Bijective BWT (7 Comments)

    David Scott has written a bijective BWT transform, which brings all the advantages of bijectiveness to BWT based compressors. Among other things, making BWT more suitable for compression-before-encryption and also give (slightly) better compression.

  • Asymmetric Binary System (113 Comments)

    Jarek Duda’s “Asymmetric Binary System” promises to be an alternate to arithmetic coding, having all the advantages, but being much simpler. Matt has coded a PAQ based compressor using ABS for back-end encoding. Update: Andrew Polar has written an alternate implementation of ABS.

  • Precomp: More Compression for your Compressed Files (3 Comments)

    So many of today’s files are already compressed (using old, outdated algorithms) that newer algorithms don’t even get a chance to touch them. Christian Schneider’s Precomp comes to rescue by undoing the harm.

  • On2 Technologies is Hiring

    There aren’t too many companies working on cutting edge codecs, and of those few this one is hiring. Best of luck.

  • China’s AVS Specifications Available (2 Comments)

    Its old news that China has developed their own Advanced Video Standard to avoid high licensing fees. English translation of the standard is now available, along with the IPR policy. Finally something technical that you can get your hands on to feed your appetite.

Graphics Card Uses Compression for Reducing Memory Bandwidth???

Posted by Sachin Garg on 1st October 2005 | Permanent Link

ATI Technologies Inc., has announced the introduction of its new Radeon graphics card.

It claims to use 3Dc compression technology to bring out fine details with minimum memory usage and HyperZ for lossless Z-Buffer compression that reduces memory bandwidth by up to 25%.

A quick query at google revealed that compression is a crucial technique in saving memory bandwidth for higher performance and is very often used by graphics cards.

Can the reduction in memory bandwidth really help so much so as to offset the CPU-time cost of compression/decompresssion? Although it comes as a surprise to me, it sure seems it does.

7 Responses to “Graphics Card Uses Compression for Reducing Memory Bandwidth???”

  1. Heliologue Says:

    It surprises me, too. My understanding has always been that the limiting factor on gfx cards is not the memory, but the gpu speed and the number of pixel pipelines.

  2. McGroarty Says:

    I’m a game developer.

    Many cards have an on-board bus that is an order of magnitude faster or wider than the bus between the card and the computer, so if a program uses enough texture memory that the graphics card has to page textures off the PC’s core memory much as a PC pages from disk, I could anticipate a definite win here.

    Many cards also have a very high-speed texture cache and always preload the next-needed texture. If decompression can be done by a core operating in parallel with the rendering and geometry cores, there would be no time cost to decompression.

    There are/were schemes where the rendering core was tweaked to render directly from compressed data as well. S3 had a texture format where every raw pixel was surrounded by 8(?) pixels encoded with just a few bits specifying the weights for a weighted average of 4 nearby raw pixels. This format was added to an earlier Direct 3D spec I believe. I have no idea if it’s still in use.

    Lastly, for historic interest and amusement, there were even some compressed framebuffer formats. The Apple 2 had a display mode where some values simply meant “repeat the last pixel” which made it easy to change large areas of the screen. The implications for simple vector animation should be obvious. Likewise, the Amiga had a HAM (Hold And Modify) mode, where 6 bits were used for each pixel. The top two bits specified whether the bottom four bits represented a palette entry, or the previous display pixel with its red, green, or blue channel changed to a new value. This worked well for producing broadcast video where one could be “lazy” on blue and red changes and attentive to green, and the sloppiness of NTSC would hide any blurring.

  3. gamedev Says:

    3Dc is “old” news for game developers.

    3Dc was developed by ATI mainly to compress normal maps which suffer dramatically from DXTC - i.e. DirectX Texture Compression - standard hardware compression.

    While DXTC offers DCT and 6:1 ratio, 3Dc reaches only 3:1 but with less “blocky” artifacts otherwise present using DXTC.

  4. Sachin Garg Says:

    Thanks to you both for the added information. :-)

  5. Sachin Garg Says:

    I also heard about GPUs being used for general purpose processing. They sure have a lot of processing power lying idle when I am not playing games.

    And in case the GPU’s have pre-coded zlib/bzip code in them, they just might become prime targets for those looking for cutting edge performance.

    Am just speculating.

  6. Eduardo Says:

    Compression was already used in microcontrollers, fpga and asic. For example, IBM has a microcontroller (powerpc 4xx) that makes automatic compression/decompression of code. Also, there are memory controllers (if i remember correctly from Marvell) that allow compresion/decompresion to memory without clock penalty. These compressions allow a more bandwith memory and more memory for the job, but not so more. In a GPU i dude the gain can be noticeable.

    Also, NVidia some years ago developed a driver that allow use theirs GPU as numerical coprocessor. Don’t know if it still works.

  7. Sachin Garg Says:

    “Also, NVidia some years ago developed a driver that allow use theirs GPU as numerical coprocessor. Don’t know if it still works.”

    Yes, they are still going ahead with it. It called gpGPU.
    (General Purpose GPU)

    They also once claimed how they may someday surpass intel. This caused major “issues” between NVidia and Intel, which fortunately have now been resolved.

    An older story which covers this…
    [c10n: Use Processing Power of Graphics Processor for Compression]
    http://www.c10n.info/archives/122

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>