Video compression with parallel processing
Parallel Computing - Parallel computing in image and video processing
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
Parallel Banding Algorithm to compute exact distance transform with the GPU
Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games
Exploring NVIDIA-CUDA for video coding
MMSys '10 Proceedings of the first annual ACM SIGMM conference on Multimedia systems
Accelerating SQL database operations on a GPU with CUDA
Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units
Learning CUDA: lab exercises and experiences
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
CUDA by Example: An Introduction to General-Purpose GPU Programming
CUDA by Example: An Introduction to General-Purpose GPU Programming
Optimizing memory access on GPUs using morton order indexing
Proceedings of the 48th Annual Southeast Regional Conference
Solving knapsack problems on GPU
Computers and Operations Research
Computing prestack Kirchhoff time migration on general purpose GPU
Computers & Geosciences
Accurate GPU-accelerated surface integrals for moment computation
Computer-Aided Design
The EREC: an error-resilient technique for coding variable-length blocks of data
IEEE Transactions on Image Processing
Adaptive quantization and fast error-resilient entropy coding for image transmission
IEEE Transactions on Circuits and Systems for Video Technology
EREC-Based Length Coding of Variable-Length Data Blocks
IEEE Transactions on Circuits and Systems for Video Technology
Hi-index | 0.00 |
The error-resilient entropy coding (EREC) algorithm is an effective method for combating error propagation at low cost in many compression methods using variable-length coding (VLC). However, the main drawback of the EREC is its high complexity. In order to overcome this disadvantage, a parallel EREC is implemented on a graphics processing unit (GPU) using the NVIDIA CUDA technology. The original EREC is a finer-grained parallel at each stage which brings additional communication overhead. To achieve high efficiency of parallel EREC, we propose partitioning the EREC (P-EREC) algorithm, which splits variable-length blocks into groups and then every group is coded using the EREC separately. Each GPU thread processes one group so as to make the EREC coarse-grained parallel. In addition, some optimization strategies are discussed in order to obtain higher performance using the GPU. In the case that the variable-length data blocks are divided into 128 groups (256 groups, resp.), experimental results show that the parallel P-EREC achieves 32x to 123x (54x to 350x, resp.) speedup over the original C code of EREC compiled with the O"2 optimization option. Higher speedup can even be obtained with more groups. Compared to the EREC, the P-EREC not only achieves a good speedup performance, but it also slightly improves the resilience of the VLC bit-stream against burst or random errors.