This is "testpat.png", which I got somewhere on the web. It's a surprisingly tricky image to encode to PVRTC. The gradients, various patterns, the transitions between these regions and even the constant-color areas are hard to handle in PVRTC. (Sorry, there is lena in there. I will change this to something else eventually.)
Note my encoder used clamp addressing for both encoding and decoding but PVRTexTool used wrap (not that it matters with this image). Here's the
.pvr file for testpat.
|
Original |
|
BC1: 47.991 Y PSNR |
|
PVRTexTool "Best Quality": 41.943 Y PSNR |
|
Experimental encoder (bounding box, precomputed tables, 1x1 block LS): 44.914 Y PSNR: |
Here's delorean (resampled to .25 original size):
|
Original |
|
BC1: 43.293 Y PSNR, .997308 Y SSIM |
|
PVRTexTool "Best Quality": 40.440 Y PSNR, .996007 Y SSIM |
|
Experimental encoder: 42.891 Y PSNR, .997021 Y SSIM |
Interestingly, on delorean you can see that PVRTC's handling of smooth gradients is clearly superior vs. BC1 with a strong encoder.
Here's xmen_1024:
|
Original |
|
BC1: 37.757 Y PSNR, .984543 Y SSIM |
|
BC1 (AMD Compressonator quality=1): 37.306 Y PSNR, .978997 Y SSIM |
|
PVRTexTool "Best Quality": 36.762 Y PSNR, .976023 Y SSIM |
|
Experimental encoder: 37.314 Y PSNR, .9812 Y SSIM |
"Y" is REC 709 Luma, SSIM was computed using OpenCV. The images marked "BC1" were compressed using crunch (uber quality, perceptual mode), which is a bit better than AMD Compressonator's output.
No comments:
Post a Comment