Wednesday, November 02, 2005

PSNR and compressibility

Some video just don't seem to compress well. Namely, only video with PSNR over 30, compresses well at bellow 500kbps at full resolution. But some video has PSNR close to 20 even when encoded to MPEG-2 at close to 8Mbps with no visible deffects. Those stream just don't compress well in MPEG-4 and thus the only solution is to make the picture smaller.

For example, both Budweiser and Infiniti comercials have PSNR 32+ when encoded to MPEG-2 and could be "easily" encoded bellow 500kbps with similar PSNR

Clip PSNR Y PSNR U PSNR V
Budweiser
MPEG-2 32.09 41.40 41.64
15fps@ 300 kbps 31.71 42.30 41.79
15fps@ 150 kbps 31.18 41.98 41.31
Infiniti
MPEG-2 32.17 45.54 45.29
15fps@ 300 kbps 31.57 47.08 46.80
15fps@ 250 kbps 31.43 46.64 46.42
While my home videos has PSNR around 20 and cannot be encoded bellow 500kbps@15fps (or 1Mbps at regular framerates) without significant artifacts.
Clip PSNR Y PSNR U PSNR V
Dance
MPEG-2 22.03 25.29 26.52
15fps@ 500 kbps 21.14 37.53 45.03
15fps@ 300 kbps 21.14 37.35 44.17
xvid-15fps@ 346 kbps Adv Simple@L5 21.12 37.39 44.55
divx-15fps@ 388 kbps Simple @L3 21.11 37.19 43.87
divx6-15fps@ 375 kbps Simple @L3 20.22 36.69 43.67
Udarenia
MPEG-2 24.28 31.65 37.31
15fps@ 500 kbps 24.88 35.89 41.01
15fps@ 400 kbps 24.15 34.98 40.36
15fps@ 300 kbps 24.14 34.85 39.99
BTW, neither xvid, nor divx5 or divx6 didn't play in QuickTime. Also Gazon (4:20) turned out to be too big for vacpsnr (4+Gb in yuv), so no data... but 15fps@300kbps (9.6M+audio) is definitelly not enough bandwidth, while 15fps@500kbps (15.9M+audio) is watchable.

Another interesting observation is that rizing framerate would increase PSNR, while visual quality would suffer. For example, here is PSNR for "airplane clip"

Clip PSNR Y PSNR U PSNR V
MPEG-2 22.49 34.22 38.35
15fps@300 kbps 22.84 36.06 39.57
20fps@ 300 kbps 24.27 36.47 40.08
25fps@ 300 kbps 25.06 36.57 40.26
29.97fps@300 kbps 25.56 36.53 40.37
All in all, it looks like for most, but cleanest footage (like commercials) 500kbps is not enough even at half the framerate. Only videos with MPEG-2 PSNR over 25 could be played with to push bellow or around 500kbps, others would need to be resized bellow 480p to let's say 480x360.

No comments:

Followers