Bitplane image coding with parallel coefficient processing

Image coding systems have been traditionally tailored for multiple instruction, multiple data (MIMD) computing. In general, they partition the (transformed) image in codeblocks that can be coded in the cores of MIMD-based processors. Each core executes a sequential flow of instructions to process th...

Full description

Bibliographic Details
Authors: Aulí Llinàs, Francesc|||0000-0002-3208-9957, Enfedaque Montes, Pablo, Moure, Juan C.|||0000-0001-6697-0331, Sanchez, Victor|||0000-0002-7089-7031
Format: article
Publication Date:2016
Country:España
Institution:Universitat Autònoma de Barcelona
Repository:Dipòsit Digital de Documents de la UAB
Language:English
OAI Identifier:oai:ddd.uab.cat:167715
Online Access:https://ddd.uab.cat/record/167715
https://dx.doi.org/urn:doi:10.1109/TIP.2015.2484069
Access Level:Open access
Keyword:JPEG2000
Bitplane image coding
Single Instruction Multiple Data (SIMD)
Description
Summary:Image coding systems have been traditionally tailored for multiple instruction, multiple data (MIMD) computing. In general, they partition the (transformed) image in codeblocks that can be coded in the cores of MIMD-based processors. Each core executes a sequential flow of instructions to process the coefficients in the codeblock, independently and asynchronously from the others cores. Bitplane coding is a common strategy to code such data. Most of its mechanisms require sequential processing of the coefficients. The last years have seen the upraising of processing accelerators with enhanced computational performance and power efficiency whose architecture is mainly based on the single instruction, multiple data (SIMD) principle. SIMD computing refers to the execution of the same instruction to multiple data in a lockstep synchronous way. Unfortunately, current bitplane coding strategies cannot fully profit from such processors due to inherently sequential coding task. This paper presents bitplane image coding with parallel coefficient (BPC-PaCo) processing, a coding method that can process many coefficients within a codeblock in parallel and synchronously. To this end, the scanning order, the context formation, the probability model, and the arithmetic coder of the coding engine have been re-formulated. The experimental results suggest that the penalization in coding performance of BPC-PaCo with respect to the traditional strategies is almost negligible.