| [ download ] [ features ] [ who used BOI ] |
|
BOI is a compliant JPEG2000 Part 1 (ISO/IEC 15444-1) codec. It was initially developed with the intention to supply a comprehensible framework for the test of new techniques within the JPEG2000 standard. The early versions of BOI (from 1.0 to 1.8) employed a straightforward design that was thought to facilitate its understanding and modification. Version 3.0 of the BOI codec, released in June 2013, was redesigned from the scratch incorporating advanced features that allow its use in professional environments. We named this codec BOI to honor a beautiful Catalan valley in the national park of Aigüestortes i Estany de Sant Maurici. In April 2006, BOI received a free software award by the Catalan Government. |
| DOWNLOAD: francesc (dot) auli (at) uab (dot) cat |
| RELEVANT FEATURES |
|
From BOI 3.0 onward it is possible to code high resolution images using multiple threads of processing and few memory resources. Three of its most relevant features are: |
|
Multi-threading support All coding stages of the coding pipeline are devised to run using multiple threads of execution. The figure on the right reports the computational time spent to code an aerial image (size 7200x4800, 8 bits, gray-scale) with an i7-3770 CPU using from 1 to 4 threads of parallel execution. The time spent to code the image employing 4 threads of execution is approximately 35% of that spent when using a single thread, for both the encoder and decoder. The number of threads employed by the codec is configurable via a parameter of the application. |
|
|
|
Local processing The main difficulty to code very large resolution images is that the whole image can not be loaded in memory at once. In BOI this is addressed by conceptually partitioning the image in blocks that are processed independently. The size of these blocks is configurable, though they are typically of 2048x2048 or 4096x4096. The wavelet transform and the tier-1 coding is applied in each block and the resulting compressed data are kept in memory. If memory resources are critical, the BOI encoder also has a special mode that permits the storing of the compressed data in a temporal file (via the parameter "-ts 1"). See in the right figure the amount of memory required by BOI to encode and decode images of up to 18 GiB (images are 8 bit, gray-scale). The use of the "-ts 1" parameter allows the coding of a 18 GiB image employing only 2 GiB of memory. |
|
|
|
Advanced rate-distortion optimization techniques BOI's coding performance is among the best achieved by JPEG2000 codecs due to the implementation of recent advances in rate-distortion theory. Also, BOI's rate control attains the target rate with high precision and avoids the coding of unnecessary data when the rate is low. The figure on the right compares the coding performance achieved by BOI with that achieved with Kakadu (version 7.2.2). Kakadu is probably the best JPEG2000 implementation. The horizontal axis in the figure is the target rate at which the image (size 2048x2560, 8 bits, gray-scale) is coded. The vertical axis is the difference in Peak Signal to Noise Ratio (PSNR) between BOI and Kakadu. Values higher than 0 indicate that BOI achieves higher PSNR than Kakadu. For the lossy mode of JPEG2000, BOI and Kakadu achieve practically the same coding performance, whereas for the lossless mode BOI achieves significantly higher coding performance. |
|
|
| [ begin ] | ||
| WHO USED BOI |
|
BOI has been employed by many researchers in numerous papers to evaluate new methods and techniques for JPEG2000 and wavelet-based image coding systems in general. In our department, BOI was utilized by: |
| -Francesc Auli-Llinas, for his M.Sc., Ph.D., and postdoctoral studies. |
| -Joan Bartrina-Rapesta, for his M.Sc., Ph.D., and postdoctoral studies. |
| -Jose Lino Monteagudo-Pereira, for his M.Sc., and Ph.D. studies. |
| -Jorge Gonzalez-Conejero, for his M.Sc., and Ph.D. studies. |
| -Leandro Jimenez-Rodriguez, for his M.Sc., and Ph.D. studies. |
| -Juan Muñoz-Gomez, for his M.Sc., and Ph.D. studies. |
| -Alaitz Zabala-Torres, for his M.Sc., and Ph.D. studies. |
| -Miguel Hernandez-Cabronero, for his Ph.D. studies. |
| -Daniel Martinez-Domingo, for his M.Sc. studies. |
| -Pablo Enfedaque-Montes, for his M.Sc., and Ph.D. studies. |
| -Jente Beerten, for his M.Sc. studies. |
| ... |
| [ begin ] |