| Platform and Nature of Compression Test (see notes below for explanations) | Big Image (lossless) 13,333x13,333 (full RGB) RPCL, W5x3, Clayers=8, Clevels=9, Cblk={64,64}, Cprecincts={256,256} | Big Image (2bpp) 13,333x13,333 (full RGB) RPCL, W9x7, Clayers=5, Clevels=6, Cblk={64,64}, Cprecincts={256,256} | Big Image Tiled (2bpp) 13,333x13,333 (full RGB) 1024x1024 tiles, RPCL, W9x7, Clayers=5, Clevels=6, Cblk={64,64}, Cprecincts={256,256} | 4CIF Video (2bpp) 704x576 (4:2:0 YCbCr), 600 frames, W9x7, Clevels=5, Cblk={64,64} | 4 CIF Video (1.0 bpp) 704x576 (4:2:0 YCbCr), 600 frames, W9x7, Clevels=5, Cblk={64,64} | ||
| Core 2 Duo™ 2.4GHz x86 on WOW64 [All results reported in frames/second] | v5.2.6 (Rate Limited) | 0.0263 | 0.0380 | 0.0365 | |||
| v6.0 (Rate Limited) | 0.0256 | 0.0379 | 0.0355 | ||||
| vs6.0 (Rate Limited) | 0.0259 | 0.0373 | 0.0364 | ||||
| v5.2.6 (Slope Limited) | 0.0606 | 0.0578 | 31.75 | 43.06 | |||
| v6.0 (Slope Limited) | 0.0633 | 0.0565 | 32.26 | 43.82 | |||
| vs6.0 (Slope Limited) | 0.0621 | 0.0575 | 32.26 | 43.74 | |||
| v5_2_6 (Qstep Limited) | 0.0840 | 0.0763 | 41.69 | 62.14 | |||
| v6_0 (Qstep Limited) | 0.0826 | 0.0763 | 42.11 | 62.32 | |||
| vs6.0 (Qstep Limited) | 0.0826 | 0.0781 | 42.24 | 62.65 | |||
| Core 2 Duo™ 2.4GHz x64 on WinXP64 [All results reported in frames/second] | v5.2.6 (Rate Limited) | 0.0263 | 0.0412 | 0.0403 | |||
| v6.0 (Rate Limited) | 0.0268 | 0.0408 | 0.0395 | ||||
| vs6.0 (Rate Limited) | 0.0400 | 0.0637 | 0.0602 | ||||
| v5.2.6 (Slope Limited) | 0.0725 | 0.0662 | 36.81 | 50.65 | |||
| v6.0 (Slope Limited) | 0.0699 | 0.0676 | 37.04 | 51.00 | |||
| vs6.0 (Slope Limited) | 0.1075 | 0.1075 | 55.56 | 78.70 | |||
| v5_2_6 (Qstep Limited) | 0.0980 | 0.0862 | 49.29 | 74.71 | |||
| v6_0 (Qstep Limited) | 0.0990 | 0.0833 | 49.48 | 74.83 | |||
| vs6.0 (Qstep Limited) | 0.1449 | 0.1370 | 76.35 | 122.70 | |||
| Core 2 Duo™ 2.4GHz best vs6.0 speed improvement over best v5_2_6 speed | Rate controlled by PCRD | 1.52 | 1.48 | 1.62 | 1.51 | 1.55 | |
| Rate controlled by Qstep | 1.48 | 1.59 | 1.55 | 1.64 | |||
| Core 2 Duo™ 2.4GHz best vs6.0 speed improvement over best v6.0 speed | Rate controlled by PCRD | 1.49 | 1.54 | 1.59 | 1.50 | 1.54 | |
| Rate controlled by Qstep | 1.46 | 1.64 | 1.54 | 1.64 | |||
| Notes: | 1) "vs6.0" refers to the separately licensed Kakadu "speed-pack" -- this is for sure the fastest software implementation of JPEG2000. | ||||||
| 2) "Rate Limited" means "kdu_compress" with the "-rate" option and the default (very small) Qstep value. In this case, the post-compression rate-distortion optimization algorithm is used to discard coding passes until the rate target is met. This is done for each quality layer. Although more coding passes are processed by the block coder than are ultimately required, Kakadu still uses a predictive algorithm to reduce the number of wasted coding passes, so that the processing speed is essentially independent of Qstep so long as it is very small. | |||||||
| 3) "Slope Limited" means "kdu_compress" with the "-slope" option for images and "kdu_v_compress" with the "-rate" option for video. In both cases, the amount of data which is generated by the block coder is limited by a tighter predictive algorithm than can be achieved by the "Rate Limited" method, since the rate-distortion slope threshold that will be used to discard coding passes is known ahead of time. For video, "kdu_v_compress" conservatively predicts the slope threshold for each frame based on the previous frame. Even for images, slope-based rate control is still reasonable; although the compressed size will vary somewhat from image to image, the quality tends to be more constant with slope-based control than it is with direct rate control. | |||||||
| 4) "Qstep Limited" means "kdu_compress" (for images) and "kdu_v_compress" (for video) with rate control achieved by choosing the quantization parameters (via the global Qstep attribute). This is like traditional image and video coding with JPEG, MPEG, H.264 and the like, where rate control is always achieved indirectly by adjusting a quantization parameter. Precise rate control is not possible in a single pass, but this is often not required. Overall rate-distortion performance is typically a little lower with the "Qstep Limited" option, but only for the highest quality layer. The advance of the "Qstep Limited" approach is that the block encoder never processes redundant coding passes -- all of the encoded passes are kept in the final bit-stream, at least for the highest quality layer. | |||||||
| 5) Speeds on MAC OSx86 platforms for 64-bit binaries are pretty much identical to those quoted for WinXP64 -- exactly the same speedup options are available on Intel MAC's as 64-bit Windows boxes, for all variants. | |||||||
| 6) Speeds on 64-bit Linux platforms are also be pretty much identical to those quoted for WinXP64 -- exactly the same speedup options are available for X86-64 Linux as for 64-bit Windows and 64-bit MAC OSx86 binaries. | |||||||
| 7) For video compression, quoted processing speeds are measured using the "-cpu" option to "kdu_v_compress", which attempts to separate the file reading time. For image compression, quoted speeds are based on end-to-end processing time, which includes the time taken to read images from disk. In applications where the image already exists in memory, somewhat higher compression speed could be expected. All quoted results include the time taken to write compressed results back to disk; in some applications, this may not be required. | |||||||