Texture Compression. Jacob Ström, Ericsson Research

Size: px
Start display at page:

Download "Texture Compression. Jacob Ström, Ericsson Research"

Transcription

1 Texture Compression Jacob Ström, Ericsson Research

2 Overview Benefits of texture compression Differences from ordinary image compression Texture compression algorithms BTC The mother of all texture compression systems S3TC used in desktops/laptops (PCs, Macs) BC6 BC7 High bit rate texture compression on desktops/laptops PACKMAN, ETC used in Android 2.2

3 Texture Mapping is a Bandwidth Hog For each pixel drawn in the image, eight pixels from the texture (texels) are usually read. drawn image texture mipmap levels

4 Texturing and the bus BUS GPU Memory Problems: Bus can get full (performance bottleneck)

5 Texture Compression helps Memory BUS Texture decom- presor GPU Benefits: Less traffic on bus = higher performance Less traffic on bus = lower power consumption

6 Power Savings Especially good for mobile devices

7 good for battery life... unless you want to carry an extra battery.

8 Benefits of Texture Compression Higher Performance Bandwidth is usually the factor limiting performance in rasterization-based graphics hardware. Texture Compression reduces texturing bandwidth with a factor of up to 6 Spare bandwidth can be used for higher performance, or lower power consumption (mobile case) Higher Quality! (Yes, really ) Even a huge video memory gets full. With a compression ratio of 6, you can increase the resolution one mipmap level and still save memory

9 Benefits of Texture Compression Higher Performance Bandwidth is usually the factor limiting performance in rasterization-based graphics hardware. Texture Compression reduces texturing bandwidth with a factor of up to 6 Spare bandwidth can be used for higher performance, or lower power consumption (mobile case) Higher Quality! (Yes, really ) Even a huge video memory gets full. With a compression ratio of 6, you can increase the resolution one mipmap level and still save memory with texture compression, 128x128 pix, 8192 bytes

10 Benefits of Texture Compression Higher Performance Bandwidth is usually the factor limiting performance in rasterization-based graphics hardware. Texture Compression reduces texturing bandwidth with a factor of up to 6 Spare bandwidth can be used for higher performance, or lower power consumption (mobile case) Higher Quality! (Yes, really ) Even a huge video memory gets full. With a compression ratio of 6, you can increase the resolution one mipmap level and still save memory with texture compression, 128x128 pix, 8192 bytes no texture compression, downsampled to 64x64, bytes

11 Benefits of Texture Compression with texture compression, 128x128 pix, 8192 bytes no texture compression, downsampled to 64x64, bytes

12 Caches Memory BUS $ Texture decom- presor GPU If the on-chip cache stores compressed data: More blocks can fit in cache = better hit rate Mobile case: a smaller cache (less silicon) can hold the same number of blocks

13 Difference to Image Compression why not just use JPEG? First a short recap on how JPEG compresses images image JPEG bits left image courtesy of Henrik Wann Jensen

14 Difference to Image Compression why not just use JPEG? First a short recap on how JPEG compresses images The image is first divided into 8x8 blocks. image JPEG bits left image courtesy of Henrik Wann Jensen

15 Difference to Image Compression why not just use JPEG? First a short recap on how JPEG compresses images The image is first divided into 8x8 blocks. image JPEG bits left image courtesy of Henrik Wann Jensen

16 Difference to Image Compression why not just use JPEG? First a short recap on how JPEG compresses images The image is first divided into 8x8 blocks. Each block is then encoded and put into the file image JPEG bits left image courtesy of Henrik Wann Jensen

17 Difference to Image Compression why not just use JPEG? First a short recap on how JPEG compresses images The image is first divided into 8x8 blocks. Each block is then encoded and put into the file image JPEG bits left image courtesy of Henrik Wann Jensen

18 Difference to Image Compression why not just use JPEG? Most image compression algorithms, such as JPEG, uses variable bit length coding (VLC). A block that is hard to code is allowed to occupy more bits than a block that is, for instance, just black.

19 Difference to Image Compression why not just use JPEG? Most image compression algorithms, such as JPEG, uses variable bit length coding (VLC). A block that is hard to code is allowed to occupy more bits than a block that is, for instance, just black. image JPEG bits left image courtesy of Henrik Wann Jensen

20 Difference to Image Compression why not just use JPEG? Most image compression algorithms, such as JPEG, uses variable bit length coding (VLC). A block that is hard to code is allowed to occupy more bits than a block that is, for instance, just black. simple area few bits image JPEG bits left image courtesy of Henrik Wann Jensen

21 Difference to Image Compression why not just use JPEG? Most image compression algorithms, such as JPEG, uses variable bit length coding (VLC). A block that is hard to code is allowed to occupy more bits than a block that is, for instance, just black. simple area complex area few bits many bits image JPEG bits left image courtesy of Henrik Wann Jensen

22 Difference to Image Compression why not just use JPEG? However, variable bit rate also means that you cannot calculate the address for a pixel in the JPEG bits.

23 Difference to Image Compression why not just use JPEG? However, variable bit rate also means that you cannot calculate the address for a pixel in the JPEG bits. image??? JPEG bits left image courtesy of Henrik Wann Jensen

24 Difference to Image Compression why not just use JPEG? However, variable bit rate also means that you cannot calculate the address for a pixel in the JPEG bits. In order to know the address for a particular pixel, you have to parse the entire file. image??? JPEG bits left image courtesy of Henrik Wann Jensen

25 Difference to Image Compression why not just use JPEG? However, variable bit rate also means that you cannot calculate the address for a pixel in the JPEG bits. In order to know the address for a particular pixel, you have to parse the entire file. During rendering, you would have to parse the entire file for every texel! Not feasible.??? image JPEG bits left image courtesy of Henrik Wann Jensen

26 Difference to Image Compression why not just use JPEG? Therefore, most texture compression coders are fixed rate coders, which means that each block in the image occupies the same number of bits, for instance 64 bits per 4x4 block. In this way, it is simple to calculate the address for a particular block in the compressed texture bit stream.??? image JPEG bits left image courtesy of Henrik Wann Jensen

27 Difference to Image Compression why not just use JPEG? Therefore, most texture compression coders are fixed rate coders, which means that each block in the image occupies the same number of bits, for instance 64 bits per 4x4 block. In this way, it is simple to calculate the address for a particular block in the compressed texture bit stream. image JPEG bits left image courtesy of Henrik Wann Jensen

28 Difference to Image Compression why not just use JPEG? Note, that there is only one rate that will guarantee error free coding, and that is to have no compression at all! Thus, for fixed rate coding, one has to allow error (distortion) in the image. The goal is to make this error as small as possible. ~ original compressed and decompressed left image courtesy of Henrik Wann Jensen

29 Difference to Image Compression why not just use JPEG? Decompression should be of low complexity. Up to eight texels must be decompressed for each pixel. If we are unlucky, all eight texels can be in different blocks. drawn image texture mipmap levels

30 Difference to Image Compression why not just use JPEG? Decompression should be of low complexity. Up to eight texels must be decompressed for each pixel. If we are unlucky, all eight texels can be in different blocks. texture mipmap levels This means that we have to have eight parallel block decompressors on the chip to deliver one filtered pixel per clock.

31 Differences to Image Compression Summary 1. Random access is needed a fixed rate coder makes this possible. 2. Several parallel units needed low hardware decompression complexity necessary. (Long compression times OK though!) 3. Indirect addressing due to use of palettes or other global, texture depending data should be avoided.

32 Texture Compression Formats

33 Block Truncation Coding Predecessor to texture compression techniques

34 BTC Block Truncation Coding Image is divided into 4x4 blocks Two 8-bit gray shades are encoded per block col 0 col 1

35 BTC Block Truncation Coding Image is divided into 4x4 blocks Two 8-bit gray shades are encoded per block A bit mask of 16 bits is also used. col 0 col

36 BTC Block Truncation Coding Image is divided into 4x4 blocks Two 8-bit gray shades are encoded per block A bit mask of 16 bits is also used. col 0 col

37 BTC Block Truncation Coding Image is divided into 4x4 blocks Two 8-bit gray shades are encoded per block A bit mask of 16 bits is also used. col 0 col

38 BTC Block Truncation Coding Bit rate equals = 32 bits per block, i.e., 2 bits per pixel (bpp). Everything is contained in the codeword, no global data or color palette needs to be read.

39 BTC Block Truncation Coding Compression To compress a block, you need to find a pair of base colors and the bitmask. If you have the base colors, it is simple to get the bitmask: Just try each pixel and see which color is best. Since there are only 256*256 such pairs, you can try all pairs. col 0 col

40 BTC Block Truncation Coding Quality However, having only two shades of gray gives rise to banding artifacts. original BTC

41 BTC Block Truncation Coding Quality original BTC

42 S3TC Used on PCs (Windows, Mac)

43 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. col 0 col 3

44 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. col 0 col 1 col 2 col 3

45 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. col 0 col 1 col 2 col 3 = 2/3 * ( col 0 ) + 1/3 * ( col 3 ) = 1/3 * ( col 0 ) + 2/3 * ( col 3 )

46 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. Bit mask must now be 2 bits per pixel. col 0 col 1 col 2 col 3

47 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. Bit mask must now be 2 bits per pixel. col 0 col 1 col 2 col

48 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. Bit mask must now be 2 bits per pixel. col 0 col 1 col 2 col

49 S3TC S3 Texture Compression also called DXT1 S3TC can be seen as an extension of BTC. Instead of two gray scales, two colors are stored per block in RGB565. Two more colors are interpolated between the stored ones. Bit mask must now be 2 bits per pixel. col 0 col 1 col 2 col

50 S3TC S3 Texture Compression quality In this way, four colors per 4x4 block can be used instead of two gray scales quality increases tremendously.

51 S3TC S3 Texture Compression quality In this way, four colors per 4x4 block can be used instead of two gray scales quality increases tremendously. original S3TC

52 S3TC S3 Texture Compression quality In this way, four colors per 4x4 block can be used instead of two gray scales quality increases tremendously. S3TC was adopted by Direct 3D under the name DXT1 and is now the industry standard in the desktop space. original S3TC

53 S3TC S3 Texture Compression quality In this way, four colors per 4x4 block can be used instead of two gray scales very decent quality! S3TC was adopted by Direct 3D under the name DXT1 and is now the industry standard in the desktop space.

54 S3TC S3 Texture Compression The two base colors are stored in RGB565 (16 bits). Together with the 32 bits of pixel bits we get 64 bits per block, or 4 bpp. Compression ratio is thus 6:1.

55 S3TC S3 Texture Compression The two base colors are stored in RGB565 (16 bits). Together with the 32 bits of pixel bits we get 64 bits per block, or 4 bpp. Compression ratio is thus 6:1. Decompression includes multiplication of 1/3 and 2/3. col 0 col1 1 pixel bits 2 bits blend blend multiplexor 2 bits 4 bits which pixel multiplexor

56 S3TC S3 Texture Compression Due to the way the intermediate colors are interpolated, the four colors of the block will lie on a straight line in RGB space.

57 S3TC S3 Texture Compression Due to the way the intermediate colors are interpolated, the four colors of the block will lie on a straight line in RGB space. G R

58 S3TC S3 Texture Compression Due to the way the intermediate colors are interpolated, the four colors of the block will lie on a straight line in RGB space. For many natural images, this is a rather good approximation. G R

59 RGBA TEXTURES The S3TC/DXT1 method only encodes RGB textures using 64 bits per 4x4 block. For RGBA textures, the alpha channel is encoded separately using another 64 bits in a similar manner.

60 RGBA TEXTURES The S3TC/DXT1 method only encodes RGB textures using 64 bits per 4x4 block. For RGBA textures, the alpha channel is encoded separately using another 64 bits in a similar manner. Two gray colors are stored using 8 bit per gray level. Six more are interpolated in between. col 0 col 7

61 RGBA TEXTURES The S3TC/DXT1 method only encodes RGB textures using 64 bits per 4x4 block. For RGBA textures, the alpha channel is encoded separately using another 64 bits in a similar manner. Two gray color are stored using 8 bit per gray level. Six more are interpolated in between. col 0 col

62 RGBA TEXTURES In DirectX, RGBA textures are stored by interleaving 64 bits of RGB data with 64 bits of alpha-data. This format is called DXT5. 64 bits 64 bits 64 bits 64 bits 64 bits 64 bits

63 BC7 and BC6h High bit rate texture compression for PCs In OpenGL 4.2 they are called BPTC

64 BC7 In DXT5, 128 bits are spent per 4x4 pixels: 8 bits per pixel. This is unevenly distributed per channel: 4 bpp for RGB (compression rate 6:1) and 4 bpp for alpha (compression rate only 2:1) In BC7, 8 modes makes it possible to change this balance: Mode 4: 50% of bits RGB, 50% alpha (similar to DXT5) Mode 5: 60% of bits RGB, 40% alpha (better color quality) Sometimes alpha and color are correlated Mode 6: 16 interpolated RGBA colors to choose from

65 BC7 Some blocks in the texture have no alpha, then 100% of the bits can be used for RGB! Instead of having just 1 interpolated color sequence, up to 3 are possible in BC7: col 0 col 4 col 8 col 3 col 7 col 11

66 BC7 Some blocks in the texture have no alpha, then 100% of the bits can be used for RGB! Instead of having just 1 interpolated color sequence, up to 3 are possible in BC7: col 0 col 1 col 2 col 3 col 4 col 5 col 6 col 7 col 8 col 9 col 10 col 11

67 BC7 Some blocks in the texture have no alpha, then 100% of the bits can be used for RGB! Instead of having just 1 interpolated color sequence, up to 3 are possible in BC7: col 0 col 1 col 2 col 3 col 4 col 5 col 6 col 7 col 8 col 9 col 10 col 11

68 BC7 We need some way of telling from which color subset the pixel should fetch its color. col 0 col 1 col 2 col 3 col 4 col 5 col 6 col 7 col 8 col 9 col 10 col 11

69 BC7 We need some way of telling from which color subset the pixel should fetch its color. There are 3^16 = possible block partitionings, which would require 25 bits to describe (2^25 > 3^16) BC7 chooses the 64 most common and selects from those using 6 bits. col 0 col 1 col 2 col 3 col 4 col 5 col 6 col 7 col 8 col 9 col 10 col 11

70 64 most common patterns

71 Patterns The different modes have different number of color subsets: Mode 0: 3 color subsets, 16 patterns Mode 1: 2 color subsets, 64 patterns Mode 2: 3 color subsets, 64 patterns Mode 3: 2 color subsets, 64 patterns Mode 4-7 color + alpha Mode can be selected per block

72 BC6H BC7 is a RGBA8888 format, but with 128 bits per pixel it is possible to also compress high dynamic range data (HDR) BC6H decompresses to 16-bit floats (halfs) using the same principles as BC7: One or two color sequences 32 patterns to tell which color sequence to be used Only RGB (no alpha). col 0 col 1 col 2 col 3 col 4 col 5 col 6 col 7

73 PACKMAN Predecessor to Ericsson texture compression (ETC), which is used in android 2.2

74 Basic Idea PACKMAN The model that colors are along a line in RGB space has worked well for S3TC. Maybe we can pre-specify a specific direction in RGB space and thus save one color? The most common direction should be (1,1,1), that is, going from dark to bright.

75 Basic Idea PACKMAN The model that colors are along a line in RGB space has worked well for S3TC. Maybe we can pre-specify a specific direction in RGB space and thus save one color? The most common direction should be (1,1,1), that is, going from dark to bright. G direction (1,1,1) R

76 Basic Idea PACKMAN In addition, the Human Visual System is more sensitive to luminance (grey scale) than to chrominance (color) In video and still image coding, chrominance information is most often subsampled in the x- and y- direction (MPEG, JPEG, H263, H264 etc). Loosely speaking, chrominance is defined per 2x2 block. PACKMAN has basically only one color per 2x4 block. The rest is luminance information Code each 2x4 block using 32 bits

77 Basic Idea PACKMAN Use only 12 bits to specify a base color for a 2x4 block 12-bit base color

78 Basic Idea PACKMAN Use only 12 bits to specify a base color for a 2x4 block Modify the luminance for each pixel in the block + 12-bit base color per-pixel luminance

79 Basic Idea PACKMAN Use only 12 bits to specify a base color for a 2x4 block Modify the luminance for each pixel in the block + = 12-bit base color per-pixel luminance resulting image

80 ETC Ericsson Texture Compression (Used in Android 2.2)

81 PACKMAN Flaws PACKMAN was of very low complexity, but 2 db worse than S3TC/DXT1 in terms of Peak Signal to Noise Ratio (PSNR) Suffered from chrominance banding / block artifacts due to low color resolution (RGB444) original PACKMAN

82 PACKMAN Flaws PACKMAN was of very low complexity, but 2 db worse than S3TC/DXT1 in terms of Peak Signal to Noise Ratio (PSNR) Suffered from chrominance banding / block artifacts due to low color resolution (RGB444) original PACKMAN

83 Enhancing the Chrominance would increasing the block size help? By coding 4x4 blocks instead of 2x4 blocks, spatial redundancy could be better exploited.

84 Neighboring Base Colors Quite Similar max( R1-R2, G1-G2, B1-B2 ) (in RGB555) 88% within interval [-4, 3]

85 Differential Encoding Instead of coding the left block with RGB444 left block left block R G B table

86 Differential Encoding Instead of coding the left block with RGB444 and the right with RGB444 left block right block left block right block R G B table R G B table

87 Differential Encoding Instead of coding the left block with RGB444 and the right with RGB444 We code the left with RGB555 left block right block left block right block R G B table R G B table R G B table bits

88 Differential Encoding Instead of coding the left block with RGB444 and the right with RGB444 We code the left with RGB555 and the right with dr dg db 333. left block right block left block right block R G B table R G B table R dr G dg B db table bits

89 Differential Encoding However, in 10% of the cases, the left and right blocks will differ too much in color for differential coding. left block right block R dr G dg B db table bits

90 Differential Encoding However, in 10% of the cases, the left and right blocks will differ too much in color for differential coding. left block right block R dr G dg B db table bits

91 Differential Encoding However, in 10% of the cases, the left and right blocks will differ too much in color for differential coding. For these blocks, we fall black to individual coding. left block right block R dr G dg B db table bits R R G G B B table bits

92 Differential Encoding However, in 10% of the cases, the left and right blocks will differ too much in color for differential coding. For these blocks, we fall black to individual coding. We thus need an extra bit to signal if we are in differential mode or not. left block right block 555differential or 444 R dr G dg B db table bits R R G G B B table bits

93 Differential Encoding However, in 10% of the cases, the left and right blocks will differ too much in color for differential coding. For these blocks, we fall black to individual coding. We thus need an extra bit to signal if we are in differential mode or not. We must take that bit from somewhere. left block right block 555differential or 444 R dr G dg B db table bits R R G G B B table bits

94 Differential Encoding By shrinking the codebook from 16 entries to 8, we can save one bit on each of the table code words. The Codebook contains the base color modifier values. One code is chosen for the block, then each pixel choses one of the 4 values R dr G dg B db table bits R R G G B B table bits

95 Differential Encoding By shrinking the codebook from 16 entries to 8, we can save one bit on each of the table code words R dr G dg B db table bits R R G G B B table bits

96 Differential Encoding By shrinking the codebook from 16 entries to 8, we can save one bit on each of the table code words R dr G dg B db table bits R R G G B B table bits

97 Differential Encoding By shrinking the codebook from 16 entries to 8, we can save one bit on each of the table code words. That creates room for an extra bit flipped or non flipped R dr G dg B db table bits R R G G B B table bits

98 Differential Encoding By shrinking the codebook from 16 entries to 8, we can save one bit on each of the table code words. That creates room for an extra bit. The new bit determines if the 2x4 blocks are vertically or horizontally oriented. R dr G dg B db table bits flipped or non flipped R R G G B B table bits

99 Results improved PACKMAN or Ericsson Texture Compression (ETC) Much less chrominance banding Jumps 2.5 db in PSNR overall PACKMAN ETC

100 ETC2 An updated version of ETC was presented: J. Ström and M. Pettersson ETC2: Texture Compression Using Invalid Combinations, Graphics Hardware 2007 It is backwards compatible to ETC and brings a 1.0 db increase in quality compared to ETC. (0.8 db compared to S3TC/DXTC) It fixes mostly blocks that ETC has problems with

101 Results original S3TC/DXTC ETC1 ETC2 ETC1 T-mode H-mode Planar original S3TC/DXTC ETC 1 ETC2

102 Results cont. original S3TC/DXTC ETC1 ETC2 ETC1 T-mode H-mode Planar original S3TC/DXTC ETC1 ETC2

103 summary When creating a texture compression system, remember Random access is needed Low hardware decompression complexity Avoid indirect addressing Texture Compression benefits Lower memory bandwidth = higher performance Lower memory bandwidth = lower power consumption Smaller memory footprint = more hires textures possible Smaller memory footprint = more blocks fit in cache

Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms. Visual Computing Systems CMU , Fall 2014

Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms. Visual Computing Systems CMU , Fall 2014 Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms Visual Computing Systems Review: mechanisms to reduce aliasing in the graphics pipeline When sampling visibility?! -

More information

texture compression using smooth profile functions

texture compression using smooth profile functions texture compression using smooth profile functions j. rasmusson 1,2, j. ström 1, p. wennersten 1, m. doggett 2 AND t. Akenine-Möller 2 1 ericsson research 2 lund university Texturing and the bus Memory

More information

Table-based Alpha Compression

Table-based Alpha Compression EUROGRAPHICS / P. Dutré and M. Stamminger (Guest Editors) Volume (), Number Table-based Alpha Compression Per Wennersten and Jacob Ström Ericsson Research Abstract In this paper we investigate low-bitrate

More information

PVRTC & Texture Compression. User Guide

PVRTC & Texture Compression. User Guide Public Imagination Technologies PVRTC & Texture Compression Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty

More information

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most

More information

DHTC: An Effective DXTC-based HDR Texture Compression Scheme

DHTC: An Effective DXTC-based HDR Texture Compression Scheme DHTC: An Effective DXTC-based HDR Texture Compression Scheme Wen Sun 1,2 Yan Lu 1 Feng Wu 1 Shipeng Li 1 yanlu@microsoft.com 1 Microsoft Research Asia 2 University of Science and Technology of China Outline

More information

Adaptive Scalable Texture Compression

Adaptive Scalable Texture Compression Adaptive Scalable Texture Compression J. Nystad 1, A. Lassen 1, A. Pomianowski 2, S. Ellis 1, T. Olson 1 1 ARM 2 AMD High Performance Graphics 2012 Motivation Textures are fundamental in modern graphics

More information

I ll be speaking today about BC6H compression, how it works, how to compress it in realtime and what s the motivation behind doing that.

I ll be speaking today about BC6H compression, how it works, how to compress it in realtime and what s the motivation behind doing that. Hi everyone, my name is Krzysztof Narkowicz. I m the Lead Engine Programmer at Flying Wild Hog. It s a small company based in Poland and we are mainly making some old-school first person shooter games

More information

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools Mobile Performance Tools and GPU Performance Tuning Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools NVIDIA GoForce5500 Overview World-class 3D HW Geometry pipeline 16/32bpp

More information

Video Compression An Introduction

Video Compression An Introduction Video Compression An Introduction The increasing demand to incorporate video data into telecommunications services, the corporate environment, the entertainment industry, and even at home has made digital

More information

Interframe coding A video scene captured as a sequence of frames can be efficiently coded by estimating and compensating for motion between frames pri

Interframe coding A video scene captured as a sequence of frames can be efficiently coded by estimating and compensating for motion between frames pri MPEG MPEG video is broken up into a hierarchy of layer From the top level, the first layer is known as the video sequence layer, and is any self contained bitstream, for example a coded movie. The second

More information

PVRTC Specification and User Guide

PVRTC Specification and User Guide PVRTC Specification and User Guide Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution

More information

Saving the Planet Designing Low-Power, Low-Bandwidth GPUs

Saving the Planet Designing Low-Power, Low-Bandwidth GPUs Saving the Planet Designing Low-Power, Low-Bandwidth GPUs Alan Tsai Business Development Manager ARM Saving the Planet? Really? Photo courtesy of NASA. 2 Mobile GPU design is all about power It s not about

More information

Adaptive Normal Map Compression for 3D Video Games

Adaptive Normal Map Compression for 3D Video Games Adaptive Normal Map Compression for 3D Video Games Alexander Wong a28wong@engmail.uwaterloo.ca William Bishop wdbishop@uwaterloo.ca Department of Electrical and Computer Engineering University of Waterloo

More information

CSEP 521 Applied Algorithms Spring Lossy Image Compression

CSEP 521 Applied Algorithms Spring Lossy Image Compression CSEP 521 Applied Algorithms Spring 2005 Lossy Image Compression Lossy Image Compression Methods Scalar quantization (SQ). Vector quantization (VQ). DCT Compression JPEG Wavelet Compression SPIHT UWIC (University

More information

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic

More information

OPTIMIZED QUANTIZATION OF WAVELET SUBBANDS FOR HIGH QUALITY REAL-TIME TEXTURE COMPRESSION. Bob Andries, Jan Lemeire, Adrian Munteanu

OPTIMIZED QUANTIZATION OF WAVELET SUBBANDS FOR HIGH QUALITY REAL-TIME TEXTURE COMPRESSION. Bob Andries, Jan Lemeire, Adrian Munteanu OPTIMIZED QUANTIZATION OF WAVELET SUBBANDS FOR HIGH QUALITY REAL-TIME TEXTURE COMPRESSION Bob Andries, Jan Lemeire, Adrian Munteanu Department of Electronics and Informatics, Vrije Universiteit Brussel

More information

Outline Introduction MPEG-2 MPEG-4. Video Compression. Introduction to MPEG. Prof. Pratikgiri Goswami

Outline Introduction MPEG-2 MPEG-4. Video Compression. Introduction to MPEG. Prof. Pratikgiri Goswami to MPEG Prof. Pratikgiri Goswami Electronics & Communication Department, Shree Swami Atmanand Saraswati Institute of Technology, Surat. Outline of Topics 1 2 Coding 3 Video Object Representation Outline

More information

Luma Adjustment for High Dynamic Range Video. Jacob Ström, Jonatan Samuelsson, Kristofer Dovstam Ericsson Research

Luma Adjustment for High Dynamic Range Video. Jacob Ström, Jonatan Samuelsson, Kristofer Dovstam Ericsson Research Luma Adjustment for High Dynamic Range Video Jacob Ström, Jonatan Samuelsson, Kristofer Dovstam Ericsson Research outline Luminance (Y) and luma (Y ) Strange things that happen during subsampling How to

More information

Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 6: Texture Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today: texturing! Texture filtering - Texture access is not just a 2D array lookup ;-) Memory-system implications

More information

Hot Chips Bringing Workstation Graphics Performance to a Desktop Near You. S3 Incorporated August 18-20, 1996

Hot Chips Bringing Workstation Graphics Performance to a Desktop Near You. S3 Incorporated August 18-20, 1996 Hot Chips 1996 Bringing Workstation Graphics Performance to a Desktop Near You S3 Incorporated August 18-20, 1996 Agenda ViRGE/VX Marketing Slide! Overview of ViRGE/VX accelerator features 3D rendering

More information

ASTC Does It. Eason Tang Staff Applications Engineer, ARM

ASTC Does It. Eason Tang Staff Applications Engineer, ARM ASTC Does It Eason Tang Staff Applications Engineer, ARM 1 Complete Guide to Texture Compression (Abridged) Texture data is big 32bpp * 1024 *1024 = 4MB per texture This is the reason for jpg and png Hardware

More information

Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems

Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems Differential Compression and Optimal Caching Methods for Content-Based Image Search Systems Di Zhong a, Shih-Fu Chang a, John R. Smith b a Department of Electrical Engineering, Columbia University, NY,

More information

Mesh Based Interpolative Coding (MBIC)

Mesh Based Interpolative Coding (MBIC) Mesh Based Interpolative Coding (MBIC) Eckhart Baum, Joachim Speidel Institut für Nachrichtenübertragung, University of Stuttgart An alternative method to H.6 encoding of moving images at bit rates below

More information

Texture Compression in Memory- and Performance- Constrained Embedded Systems. Jens Ogniewski Information Coding Group Linköpings University

Texture Compression in Memory- and Performance- Constrained Embedded Systems. Jens Ogniewski Information Coding Group Linköpings University Texture Compression in Memory- and Performance- Constrained Embedded Systems Jens Ogniewski Information Coding Group Linköpings University Outline Background / Motivation DXT / PVRTC texture compression

More information

Features. Sequential encoding. Progressive encoding. Hierarchical encoding. Lossless encoding using a different strategy

Features. Sequential encoding. Progressive encoding. Hierarchical encoding. Lossless encoding using a different strategy JPEG JPEG Joint Photographic Expert Group Voted as international standard in 1992 Works with color and grayscale images, e.g., satellite, medical,... Motivation: The compression ratio of lossless methods

More information

Module Introduction. Content 15 pages 2 questions. Learning Time 25 minutes

Module Introduction. Content 15 pages 2 questions. Learning Time 25 minutes Purpose The intent of this module is to introduce you to the multimedia features and functions of the i.mx31. You will learn about the Imagination PowerVR MBX- Lite hardware core, graphics rendering, video

More information

7.5 Dictionary-based Coding

7.5 Dictionary-based Coding 7.5 Dictionary-based Coding LZW uses fixed-length code words to represent variable-length strings of symbols/characters that commonly occur together, e.g., words in English text LZW encoder and decoder

More information

POWERVR MBX. Technology Overview

POWERVR MBX. Technology Overview POWERVR MBX Technology Overview Copyright 2009, Imagination Technologies Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied

More information

3D Graphics Texture Compression And Its Recent Trends.

3D Graphics Texture Compression And Its Recent Trends. 3D Graphics Texture Compression And Its Recent Trends. *Mrs. Archana Ajay Nawandhar, *(Department Of Telecommunication Engineering, CMRIT, Bangalore.) ABSTRACT Texture compression is a specialized form

More information

A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING

A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING 2014 IEEE International Conference on Acoustic, Speech and Signal Processing (ICASSP) A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING Dieison Silveira, Guilherme Povala,

More information

On improving the performance per area of ASTC with a multi-output decoder

On improving the performance per area of ASTC with a multi-output decoder On improving the performance per area of ASTC with a multi-output decoder Kenneth Rovers 25th July, 2017 www.imgtec.com Textures Background In general, an image to be mapped to an object surface But also

More information

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Jonathan Zarge, Team Lead Performance Tools Richard Huddy, European Developer Relations Manager ATI

More information

Real-Time YCoCg-DXT Compression

Real-Time YCoCg-DXT Compression Real-Time YCoCg-DXT Compression J.M.P. van Waveren id Software, Inc. Ignacio Castaño NVIDIA Corp. September 14th 2007 2007, id Software, Inc. Abstract A high performance texture compression technique is

More information

Using Virtual Texturing to Handle Massive Texture Data

Using Virtual Texturing to Handle Massive Texture Data Using Virtual Texturing to Handle Massive Texture Data San Jose Convention Center - Room A1 Tuesday, September, 21st, 14:00-14:50 J.M.P. Van Waveren id Software Evan Hart NVIDIA How we describe our environment?

More information

VC 12/13 T16 Video Compression

VC 12/13 T16 Video Compression VC 12/13 T16 Video Compression Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos Miguel Tavares Coimbra Outline The need for compression Types of redundancy

More information

Video coding. Concepts and notations.

Video coding. Concepts and notations. TSBK06 video coding p.1/47 Video coding Concepts and notations. A video signal consists of a time sequence of images. Typical frame rates are 24, 25, 30, 50 and 60 images per seconds. Each image is either

More information

Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09]

Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09] 1 2 3 Morphological: Sub-pixel Morhpological Anti-Aliasing [Jimenez 11] Fast AproXimatte Anti Aliasing [Lottes 09] Analytical: Geometric Buffer Anti Aliasing [Persson 11] Distance to Edge Anti Aliasing

More information

Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game

Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game GDC Europe 2005 Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game Lars M. Bishop NVIDIA Embedded Developer Technology 1 Agenda GoForce 3D capabilities Strengths and weaknesses

More information

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004

More information

Xuena Bao, Dajiang Zhou, Peilin Liu, and Satoshi Goto, Fellow, IEEE

Xuena Bao, Dajiang Zhou, Peilin Liu, and Satoshi Goto, Fellow, IEEE An Advanced Hierarchical Motion Estimation Scheme with Lossless Frame Recompression and Early Level Termination for Beyond High Definition Video Coding Xuena Bao, Dajiang Zhou, Peilin Liu, and Satoshi

More information

Review and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding.

Review and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding. Project Title: Review and Implementation of DWT based Scalable Video Coding with Scalable Motion Coding. Midterm Report CS 584 Multimedia Communications Submitted by: Syed Jawwad Bukhari 2004-03-0028 About

More information

Scalable Texture Compression using the Wavelet Transform

Scalable Texture Compression using the Wavelet Transform Noname manuscript No. (will be inserted by the editor) Scalable Texture Compression using the Wavelet Transform Bob Andries Jan Lemeire Adrian Munteanu the date of receipt and acceptance should be inserted

More information

TEXTURE COMPRESSION IN MEMORY- AND PERFORMANCE-CONSTRAINED EMBEDDED SYSTEMS

TEXTURE COMPRESSION IN MEMORY- AND PERFORMANCE-CONSTRAINED EMBEDDED SYSTEMS TEXTURE COMPRESSION IN MEMORY- AND PERFORMANCE-CONSTRAINED EMBEDDED SYSTEMS Jens Ogniewski*, Andréas Karlsson, Ingemar Ragnemalm* * Information Coding Group, Linköpings University / Computer Engineering,

More information

The Next Generation of Compression JPEG 2000

The Next Generation of Compression JPEG 2000 The Next Generation of Compression JPEG 2000 Bernie Brower NSES Kodak bernard.brower@kodak.com +1 585 253 5293 1 What makes JPEG 2000 Special With advances in compression science combined with advances

More information

VIDEO SIGNALS. Lossless coding

VIDEO SIGNALS. Lossless coding VIDEO SIGNALS Lossless coding LOSSLESS CODING The goal of lossless image compression is to represent an image signal with the smallest possible number of bits without loss of any information, thereby speeding

More information

ECE 417 Guest Lecture Video Compression in MPEG-1/2/4. Min-Hsuan Tsai Apr 02, 2013

ECE 417 Guest Lecture Video Compression in MPEG-1/2/4. Min-Hsuan Tsai Apr 02, 2013 ECE 417 Guest Lecture Video Compression in MPEG-1/2/4 Min-Hsuan Tsai Apr 2, 213 What is MPEG and its standards MPEG stands for Moving Picture Expert Group Develop standards for video/audio compression

More information

2D/3D Graphics Accelerator for Mobile Multimedia Applications. Ramchan Woo, Sohn, Seong-Jun Song, Young-Don

2D/3D Graphics Accelerator for Mobile Multimedia Applications. Ramchan Woo, Sohn, Seong-Jun Song, Young-Don RAMP-IV: A Low-Power and High-Performance 2D/3D Graphics Accelerator for Mobile Multimedia Applications Woo, Sungdae Choi, Ju-Ho Sohn, Seong-Jun Song, Young-Don Bae,, and Hoi-Jun Yoo oratory Dept. of EECS,

More information

MULTIMEDIA SYSTEMS

MULTIMEDIA SYSTEMS 1 Department of Computer Engineering, Faculty of Engineering King Mongkut s Institute of Technology Ladkrabang 01076531 MULTIMEDIA SYSTEMS Pk Pakorn Watanachaturaporn, Wt ht Ph.D. PhD pakorn@live.kmitl.ac.th,

More information

Mattan Erez. The University of Texas at Austin

Mattan Erez. The University of Texas at Austin EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

More information

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I 1 Need For Compression 2D data sets are much larger than 1D. TV and movie data sets are effectively 3D (2-space, 1-time). Need Compression for

More information

GeForce4. John Montrym Henry Moreton

GeForce4. John Montrym Henry Moreton GeForce4 John Montrym Henry Moreton 1 Architectural Drivers Programmability Parallelism Memory bandwidth 2 Recent History: GeForce 1&2 First integrated geometry engine & 4 pixels/clk Fixed-function transform,

More information

Multimedia Decoder Using the Nios II Processor

Multimedia Decoder Using the Nios II Processor Multimedia Decoder Using the Nios II Processor Third Prize Multimedia Decoder Using the Nios II Processor Institution: Participants: Instructor: Indian Institute of Science Mythri Alle, Naresh K. V., Svatantra

More information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key

More information

MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ)

MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ) 5 MRT based Adaptive Transform Coder with Classified Vector Quantization (MATC-CVQ) Contents 5.1 Introduction.128 5.2 Vector Quantization in MRT Domain Using Isometric Transformations and Scaling.130 5.2.1

More information

Compression of Stereo Images using a Huffman-Zip Scheme

Compression of Stereo Images using a Huffman-Zip Scheme Compression of Stereo Images using a Huffman-Zip Scheme John Hamann, Vickey Yeh Department of Electrical Engineering, Stanford University Stanford, CA 94304 jhamann@stanford.edu, vickey@stanford.edu Abstract

More information

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS Television services in Europe currently broadcast video at a frame rate of 25 Hz. Each frame consists of two interlaced fields, giving a field rate of 50

More information

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

International Journal of Emerging Technology and Advanced Engineering Website:   (ISSN , Volume 2, Issue 4, April 2012) A Technical Analysis Towards Digital Video Compression Rutika Joshi 1, Rajesh Rai 2, Rajesh Nema 3 1 Student, Electronics and Communication Department, NIIST College, Bhopal, 2,3 Prof., Electronics and

More information

Lecture Information Multimedia Video Coding & Architectures

Lecture Information Multimedia Video Coding & Architectures Multimedia Video Coding & Architectures (5LSE0), Module 01 Introduction to coding aspects 1 Lecture Information Lecturer Prof.dr.ir. Peter H.N. de With Faculty Electrical Engineering, University Technology

More information

VIDEO AND IMAGE PROCESSING USING DSP AND PFGA. Chapter 3: Video Processing

VIDEO AND IMAGE PROCESSING USING DSP AND PFGA. Chapter 3: Video Processing ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ VIDEO AND IMAGE PROCESSING USING DSP AND PFGA Chapter 3: Video Processing 3.1 Video Formats 3.2 Video

More information

AUDIOVISUAL COMMUNICATION

AUDIOVISUAL COMMUNICATION AUDIOVISUAL COMMUNICATION Laboratory Session: Discrete Cosine Transform Fernando Pereira The objective of this lab session about the Discrete Cosine Transform (DCT) is to get the students familiar with

More information

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini

More information

GPU-friendly Data Compression. GTC, 22.Mar.2013 Jens Schneider, GMSV, KAUST

GPU-friendly Data Compression. GTC, 22.Mar.2013 Jens Schneider, GMSV, KAUST GPU-friendly Data Compression GTC, 22.Mar.2013 Jens Schneider, GMSV, KAUST Motivation Compression is generally perceived as positive, to Reduce the memory footprint of the data Reduce bandwidth requirements

More information

Wireless Communication

Wireless Communication Wireless Communication Systems @CS.NCTU Lecture 6: Image Instructor: Kate Ching-Ju Lin ( 林靖茹 ) Chap. 9 of Fundamentals of Multimedia Some reference from http://media.ee.ntu.edu.tw/courses/dvt/15f/ 1 Outline

More information

Vertex Shader Design I

Vertex Shader Design I The following content is extracted from the paper shown in next page. If any wrong citation or reference missing, please contact ldvan@cs.nctu.edu.tw. I will correct the error asap. This course used only

More information

CMPT 365 Multimedia Systems. Media Compression - Image

CMPT 365 Multimedia Systems. Media Compression - Image CMPT 365 Multimedia Systems Media Compression - Image Spring 2017 Edited from slides by Dr. Jiangchuan Liu CMPT365 Multimedia Systems 1 Facts about JPEG JPEG - Joint Photographic Experts Group International

More information

Khronos Data Format Specification

Khronos Data Format Specification Copyright Khronos Group 2015 - Page 1 Khronos Data Format Specification 1.0 release, July 2015 Andrew Garrard Spec editor Senior Software Engineer, Samsung Electronics Copyright Khronos Group 2015 - Page

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information

Introduction to Video Compression

Introduction to Video Compression Insight, Analysis, and Advice on Signal Processing Technology Introduction to Video Compression Jeff Bier Berkeley Design Technology, Inc. info@bdti.com http://www.bdti.com Outline Motivation and scope

More information

The Power and Bandwidth Advantage of an H.264 IP Core with 8-16:1 Compressed Reference Frame Store

The Power and Bandwidth Advantage of an H.264 IP Core with 8-16:1 Compressed Reference Frame Store The Power and Bandwidth Advantage of an H.264 IP Core with 8-16:1 Compressed Reference Frame Store Building a new class of H.264 devices without external DRAM Power is an increasingly important consideration

More information

Image, video and audio coding concepts. Roadmap. Rationale. Stefan Alfredsson. (based on material by Johan Garcia)

Image, video and audio coding concepts. Roadmap. Rationale. Stefan Alfredsson. (based on material by Johan Garcia) Image, video and audio coding concepts Stefan Alfredsson (based on material by Johan Garcia) Roadmap XML Data structuring Loss-less compression (huffman, LZ77,...) Lossy compression Rationale Compression

More information

Self-shadowing Bumpmap using 3D Texture Hardware

Self-shadowing Bumpmap using 3D Texture Hardware Self-shadowing Bumpmap using 3D Texture Hardware Tom Forsyth, Mucky Foot Productions Ltd. TomF@muckyfoot.com Abstract Self-shadowing bumpmaps add realism and depth to scenes and provide important visual

More information

Real-Time Buffer Compression. Michael Doggett Department of Computer Science Lund university

Real-Time Buffer Compression. Michael Doggett Department of Computer Science Lund university Real-Time Buffer Compression Michael Doggett Department of Computer Science Lund university Project 3D graphics project Demo, Game Implement 3D graphics algorithm(s) C++/OpenGL(Lab2)/iOS/android/3D engine

More information

Jingyi Yu CISC 849. Department of Computer and Information Science

Jingyi Yu CISC 849. Department of Computer and Information Science Digital Photography and Videos Jingyi Yu CISC 849 Light Fields, Lumigraph, and Image-based Rendering Pinhole Camera A camera captures a set of rays A pinhole camera captures a set of rays passing through

More information

Optimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research

Optimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research Optimizing Games for ATI s IMAGEON 2300 Aaftab Munshi 3D Architect ATI Research A A 3D hardware solution enables publishers to extend brands to mobile devices while remaining close to original vision of

More information

Texture Compression using Wavelet Decomposition

Texture Compression using Wavelet Decomposition Pacific Graphics 2012 C. Bregler, P. Sander, and M. Wimmer (Guest Editors) Volume 31 (2012), Number 7 Texture Compression using Wavelet Decomposition Pavlos Mavridis and Georgios Papaioannou Department

More information

DCT Based, Lossy Still Image Compression

DCT Based, Lossy Still Image Compression DCT Based, Lossy Still Image Compression NOT a JPEG artifact! Lenna, Playboy Nov. 1972 Lena Soderberg, Boston, 1997 Nimrod Peleg Update: April. 2009 http://www.lenna.org/ Image Compression: List of Topics

More information

Introduction to CacheWorx. Lucian Plesea - Esri Robert Jensen - Esri

Introduction to CacheWorx. Lucian Plesea - Esri Robert Jensen - Esri Introduction to Lucian Plesea - Esri Robert Jensen - Esri What is? Cache content analysis toolset Content Assessment Error Detection Optimization Opportunities Resource Allocation ArcMap Toolbox - Freeware:

More information

Working with Metal Overview

Working with Metal Overview Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

CSE237A: Final Project Mid-Report Image Enhancement for portable platforms Rohit Sunkam Ramanujam Soha Dalal

CSE237A: Final Project Mid-Report Image Enhancement for portable platforms Rohit Sunkam Ramanujam Soha Dalal CSE237A: Final Project Mid-Report Image Enhancement for portable platforms Rohit Sunkam Ramanujam (rsunkamr@ucsd.edu) Soha Dalal (sdalal@ucsd.edu) Project Goal The goal of this project is to incorporate

More information

Digital Video Processing

Digital Video Processing Video signal is basically any sequence of time varying images. In a digital video, the picture information is digitized both spatially and temporally and the resultant pixel intensities are quantized.

More information

Modified SPIHT Image Coder For Wireless Communication

Modified SPIHT Image Coder For Wireless Communication Modified SPIHT Image Coder For Wireless Communication M. B. I. REAZ, M. AKTER, F. MOHD-YASIN Faculty of Engineering Multimedia University 63100 Cyberjaya, Selangor Malaysia Abstract: - The Set Partitioning

More information

MRT based Fixed Block size Transform Coding

MRT based Fixed Block size Transform Coding 3 MRT based Fixed Block size Transform Coding Contents 3.1 Transform Coding..64 3.1.1 Transform Selection...65 3.1.2 Sub-image size selection... 66 3.1.3 Bit Allocation.....67 3.2 Transform coding using

More information

2014 Summer School on MPEG/VCEG Video. Video Coding Concept

2014 Summer School on MPEG/VCEG Video. Video Coding Concept 2014 Summer School on MPEG/VCEG Video 1 Video Coding Concept Outline 2 Introduction Capture and representation of digital video Fundamentals of video coding Summary Outline 3 Introduction Capture and representation

More information

JPEG decoding using end of block markers to concurrently partition channels on a GPU. Patrick Chieppe (u ) Supervisor: Dr.

JPEG decoding using end of block markers to concurrently partition channels on a GPU. Patrick Chieppe (u ) Supervisor: Dr. JPEG decoding using end of block markers to concurrently partition channels on a GPU Patrick Chieppe (u5333226) Supervisor: Dr. Eric McCreath JPEG Lossy compression Widespread image format Introduction

More information

Discrete Techniques. 11 th Week, Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of

Discrete Techniques. 11 th Week, Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of Discrete Techniques 11 th Week, 2010 Buffer Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of bits/pixel Pixel OpenGL Frame Buffer OpenGL Buffers Color buffers

More information

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming

More information

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control Pedro V. Sander ATI Research John R. Isidoro ATI Research Jason L. Mitchell ATI Research Introduction In last year s course,

More information

JPEG 2000 vs. JPEG in MPEG Encoding

JPEG 2000 vs. JPEG in MPEG Encoding JPEG 2000 vs. JPEG in MPEG Encoding V.G. Ruiz, M.F. López, I. García and E.M.T. Hendrix Dept. Computer Architecture and Electronics University of Almería. 04120 Almería. Spain. E-mail: vruiz@ual.es, mflopez@ace.ual.es,

More information

Content Aware Texture Compression

Content Aware Texture Compression JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 31, 2075-2088 (2015) Content Aware Texture Compression Department of Computer Science National Chiao Tung University Hsinchu, 300 Taiwan E-mail: 22kinds@gmail.com;

More information

PowerVR Performance Recommendations The Golden Rules. October 2015

PowerVR Performance Recommendations The Golden Rules. October 2015 PowerVR Performance Recommendations The Golden Rules October 2015 Paul Ly Developer Technology Engineer, PowerVR Graphics Understanding Your Bottlenecks Based on our experience 3 The Golden Rules 1. The

More information

Cross Layer Protocol Design

Cross Layer Protocol Design Cross Layer Protocol Design Radio Communication III The layered world of protocols Video Compression for Mobile Communication » Image formats» Pixel representation Overview» Still image compression Introduction»

More information

Image Processing Tricks in OpenGL. Simon Green NVIDIA Corporation

Image Processing Tricks in OpenGL. Simon Green NVIDIA Corporation Image Processing Tricks in OpenGL Simon Green NVIDIA Corporation Overview Image Processing in Games Histograms Recursive filters JPEG Discrete Cosine Transform Image Processing in Games Image processing

More information

CMPT 365 Multimedia Systems. Media Compression - Video Coding Standards

CMPT 365 Multimedia Systems. Media Compression - Video Coding Standards CMPT 365 Multimedia Systems Media Compression - Video Coding Standards Spring 2017 Edited from slides by Dr. Jiangchuan Liu CMPT365 Multimedia Systems 1 Video Coding Standards H.264/AVC CMPT365 Multimedia

More information

Lecture Information. Mod 01 Part 1: The Need for Compression. Why Digital Signal Coding? (1)

Lecture Information. Mod 01 Part 1: The Need for Compression. Why Digital Signal Coding? (1) Multimedia Video Coding & Architectures (5LSE0), Module 01 Introduction to coding aspects 1 Lecture Information Lecturer Prof.dr.ir. Peter H.N. de With Faculty Electrical Engineering, University Technology

More information

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere What is a Pixel? Sampling & Reconstruction Filters in Computer Graphics

More information

Chroma Adjustment for HDR Video. Jacob Ström, Per Wennersten Ericsson Research

Chroma Adjustment for HDR Video. Jacob Ström, Per Wennersten Ericsson Research Chroma Adjustment for HD Video Jacob Ström, Per Wennersten Ericsson esearch Video representation scene Ericsson Confidential Ericsson A 2016 2015-05-13 Page 2 Video representation scene camera sensor Ericsson

More information

Multimedia in Mobile Phones. Architectures and Trends Lund

Multimedia in Mobile Phones. Architectures and Trends Lund Multimedia in Mobile Phones Architectures and Trends Lund 091124 Presentation Henrik Ohlsson Contact: henrik.h.ohlsson@stericsson.com Working with multimedia hardware (graphics and displays) at ST- Ericsson

More information

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere Sampling sensitive to choice of samples less sensitive to choice of samples

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

More information