• HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
Thursday, November 12, 2026
BIOENGINEER.ORG
No Result
View All Result
  • Login
  • HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
        • Lecturer
        • PhD Studentship
        • Postdoc
        • Research Assistant
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
  • HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
        • Lecturer
        • PhD Studentship
        • Postdoc
        • Research Assistant
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
No Result
View All Result
Bioengineer.org
No Result
View All Result
Home NEWS Science News Technology

Parallel JPEG Encoder Update Adds Arithmetic Coding and Improves Multithreaded Speedups

by
November 12, 2026
in Technology
Reading Time: 5 mins read
0
Parallel JPEG Encoder Update Adds Arithmetic Coding and Improves Multithreaded Speedups

Parallel JPEG Encoder Update Adds Arithmetic Coding and Improves Multithreaded Speedups

Share on FacebookShare on TwitterShare on LinkedinShare on RedditShare on Telegram

A newly published release of the open-source Parallel JPEG with RDOQ encoder, designated version 3.0, introduces an arithmetic entropy coding pipeline alongside existing Huffman workflows, cutting compressed bitrates while maintaining multithreaded scaling on modern multicore hardware. Developed as a modular C++17 implementation of a multithreaded sequential Discrete Cosine Transform-based JPEG encoder, the software supports parallelization of the encoding process with selected components also supporting parallel decoding. The updated pipeline implements the arithmetic coding specifications set forth in the ISO/IEC 10918-1 standard, complementing previous capabilities with dedicated state-aware estimators, parallel restart markers, and adapted rate-distortion optimized quantization routines that collectively preserve standard bitstream compliance.

The underlying architecture of the encoder relies on two complementary mechanisms to achieve high throughput across central processing units: thread-level parallelization across multiple processing cores and Single Instruction, Multiple Data extensions operating at the register level. The software leverages dynamically dispatched SIMD instruction sets, including SSE4.2, AVX2, and AVX512, choosing code paths at runtime depending on the hardware capabilities detected on the host processor. While the previous version 2.0 offered multithreaded encoding with bit-level segment merging and restart-marker segmentation exclusively for Huffman entropy coding, the new release extends thread-level parallelization to the arithmetic codec, allowing developers to target environments where storage economy takes precedence over single-threaded execution speed.

Implementing an arithmetic entropy pipeline within a standard-compliant framework introduces unique computational constraints not present in static Huffman coding. Huffman code lengths are stateless and can be pre-tabulated into fixed tables, whereas arithmetic encoders and probability models continuously maintain internal register states, emit output bytes in batches, and allocate fractional bit counts to individual binary decision bins. To mitigate performance penalties during intensive coefficient evaluation, the developers designed a dedicated bit-count estimator capable of caching and restoring internal registers and probability distributions during optimization passes. This capability directly enables rate-distortion optimized quantization across the arithmetic path, allowing the encoder to test candidate transform coefficient adjustments against exact entropy penalties.

To accelerate arithmetic state evaluation and remove branch instructions from the critical encoding path, the codec employs precalculated lookup tables totaling 1,808 bytes of memory. These compact structures store the 452 one-byte state-transition entries of the probability model, predefined least probable symbol probability estimates, and fixed-point bit-cost approximations derived from the ISO/IEC 10918-1 specification.

Parallelization of arithmetic coding is implemented via the restart-marker strategy, designated MT+R, which divides image data into discrete segments separated by standard restart markers. Because arithmetic probability models and internal registers are reinitialized at every restart boundary, multiple independent encoder and decoder instances can execute simultaneously across available CPU worker threads. While reinitializing probability models at the start of each segment reduces coding gain by approximately one percentage point, it allows multiple encoder and decoder instances to run in parallel.

Comprehensive performance evaluations demonstrate that arithmetic entropy coding achieves substantial reductions in compressed output size compared to baseline Huffman techniques. Under plain encoding scenarios across varying quality presets, arithmetic coding reduces output bitrates by 12.55% to 25.24% in single-threaded runs and by 11.57% to 23.84% when utilizing restart markers.

The higher algorithmic complexity of arithmetic encoding results in increased execution time compared to Huffman routines. In single-threaded benchmarks, arithmetic encoding runs at roughly 0.25 to 0.40 times the speed of the Huffman path, as every binary bin requires probability updates, interval recalculations, and potential renormalization steps. Consequently, entropy coding represents a significantly larger proportion of total runtime. Single-threaded high-quality encoding requires 506.33 milliseconds per frame for arithmetic coding compared to 125.47 milliseconds for Huffman coding, while decoding requires 32.53 milliseconds per frame versus 8.01 milliseconds in single-threaded Huffman mode.

Despite slower single-threaded throughput, the arithmetic path demonstrates superior multithreaded parallel scaling as core counts increase. Because the computational bottlenecks of arithmetic coding stem from internal instruction-level dependencies and branch resolution rather than the memory bandwidth limits encountered during quantization, thread scaling exhibits high efficiency. On a 16-core processor operating 32 simultaneous multithreading threads, the high-quality arithmetic encoder achieves an overall speedup of 23.21 times over its single-thread baseline, bringing the average picture encoding time down from 506.33 milliseconds to 21.81 milliseconds per frame, outperforming the 21.73 times speedup observed for Huffman encoding.

Decoding performance reflects similar multithreaded acceleration when restart markers are present in the bitstream. In high-quality testing on the 16-core, 32-thread hardware configuration, arithmetic decoding time decreases from 32.53 milliseconds in single-threaded operation to 1.73 milliseconds per frame under multithreaded execution, representing an 18.76 times parallelization speedup. In comparison, high-quality Huffman decoding reaches a parallelization gain of 8.96 times under identical thread counts.

Maintained under the open-source BSD-3-Clause license, version 3.0 of the software preserves the modular separation of its core components, ensuring that developers can independently enable, disable, or substitute SIMD kernels, Huffman paths, and arithmetic optimization modules without disrupting output standard conformity.

A detailed breakdown of encoder performance across lower and medium compression presets highlights how workload intensity influences execution times and parallel scaling behavior. In the low-quality evaluation scenario, single-threaded Huffman encoding completed in an average of 22.36 milliseconds per frame, whereas single-threaded arithmetic encoding required 55.10 milliseconds per frame. When parallel execution with restart markers was engaged across 32 threads on 16 cores, average processing times dropped to 1.86 milliseconds for the Huffman path and 2.91 milliseconds for the arithmetic path. These measurements reflect parallelization gains of 12.02 times for Huffman processing and 18.95 times for arithmetic encoding under low-quality settings, showing that arithmetic coding maintains strong scaling advantages even at modest computational loads.

Under the medium-quality scenario, intermediate operational demands further illustrated the responsiveness of both processing paths to thread-level distribution. Single-threaded Huffman encoding averaged 41.46 milliseconds per frame and accelerated to 2.53 milliseconds per frame under multithreaded execution with restart markers, achieving a 16.40 times parallelization gain. Arithmetic encoding under the same medium-quality parameters recorded a single-threaded latency of 122.51 milliseconds per frame, which decreased to 5.57 milliseconds per frame when leveraging 32 threads, representing a 22.00 times speedup. Across all evaluated presets, arithmetic encoding sustained higher relative parallelization gains than Huffman coding, demonstrating consistent performance scaling across diverse image quality targets.

Decoding times observed across lower and medium quality presets followed a similar pattern of parallel acceleration. In low-quality decoding tests, the single-threaded Huffman mode required 5.32 milliseconds per frame, reaching 0.73 milliseconds under multithreaded execution with restart markers, which corresponds to a 7.26 times parallelization speedup. Arithmetic decoding at the same quality target required 10.65 milliseconds in single-threaded operation and 0.87 milliseconds with restart markers, yielding a 12.25 times parallel speedup. At medium quality, single-threaded decoding took 6.23 milliseconds for Huffman and 15.95 milliseconds for arithmetic coding; parallel execution reduced these figures to 0.77 milliseconds and 1.05 milliseconds per frame, generating speedup factors of 8.12 times and 15.17 times, respectively.

The evaluation also examined scalability across intermediate thread allocations to characterize parallelization trajectories before reaching full simultaneous multithreading capacity. For high-quality arithmetic encoding starting from a 506.33-millisecond baseline, allocating two threads achieved a 1.95 times speedup, four threads achieved 3.86 times, eight threads reached 7.56 times, and 16 threads reached 14.40 times before attaining 23.21 times across 32 threads. High-quality Huffman encoding scaled from its 125.47-millisecond baseline at rates of 1.90 times for two threads, 3.89 times for four threads, 7.48 times for eight threads, and 14.08 times for 16 threads. For high-quality arithmetic decoding starting at 32.53 milliseconds, speedups scaled steadily across two, four, eight, and 16 threads at 1.79 times, 3.44 times, 6.32 times, and 11.18 times, outperforming corresponding Huffman decoding speedups of 1.39 times, 2.25 times, 3.52 times, and 5.34 times across the same configurations.

Building and deploying the software requires a C++17 conformant compiler, such as GCC version 10.0 or newer, Clang version 13.0 or newer, or Microsoft Visual C++ version 19.15 or newer, managed via CMake 3.15 or later. Build-time dependencies including fmtlib and doctest are acquired automatically during the CMake configuration process, simplifying testing and integration for developers building standard-compliant image processing pipelines.

Subject of Research: Parallel JPEG encoding with rate-distortion optimized quantization and arithmetic coding

Article Title: Version [3.0] – Parallel JPEG with RDOQ (PJRD) – a straightforward, modular implementation of a parallel JPEG encoder with encoder control optimizations

Article References: Grajek, T., Stankowski, J., Klimaszewski, K., Grzelka, A., & Karwowski, D. (2026). Version [3.0] – Parallel JPEG with RDOQ (PJRD) – a straightforward, modular implementation of a parallel JPEG encoder with encoder control optimizations. SoftwareX, 36, Article 103211. https://doi.org/10.1016/j.softx.2026.103211

Image Credits: AI Generated

DOI: 10.1016/j.softx.2026.103211

Keywords: JPEG compression, parallel computing, arithmetic coding, image encoding, rate-distortion optimization, SIMD instructions, multithreading, discrete cosine transform, open-source software, software engineering, image codecs, data compression, restart markers, AVX512, CPU optimization, lossy image compression

News Source: Denise Maddox. (November 12, 2026). Parallel JPEG Encoder Update Adds Arithmetic Coding and Improves Multithreaded Speedups. Scienmag.

Tags: arithmetic codingAVX512CPU optimizationdata compressiondiscrete cosine transformimage codecsimage encodingJPEG compressionlossy image compressionmultithreadingopen-source softwareparallel computingrate-distortion optimizationrestart markersSIMD instructionsSoftware Engineering
Share12Tweet7Share2ShareShareShare1

Related Posts

Basis Optimization Sharpens Reduced Port-Hamiltonian Power and Lattice System Models

Basis Optimization Sharpens Reduced Port-Hamiltonian Power and Lattice System Models

November 12, 2026
Asymmetric Quantum Super-Links Suffer Unexpected Fragility Under Amplitude Damping Noise

Asymmetric Quantum Super-Links Suffer Unexpected Fragility Under Amplitude Damping Noise

November 12, 2026

Graphene Nanoplatelets Divergently Alter Mechanical and Dielectric Quality Factors in Epoxy

November 12, 2026

Geopolymer Concrete Cuts Carbon Emissions up to 80 Percent in Study

November 12, 2026

POPULAR NEWS

  • Researchers Validate New Mindful Eating Scales for Children and Parents Across Five Studies

    Researchers Validate New Mindful Eating Scales for Children and Parents Across Five Studies

    29 shares
    Share 12 Tweet 7
  • Indian Expert Panel Highlights Infant Health Benefits of Targeted Prebiotics and HMOs

    29 shares
    Share 12 Tweet 7
  • Paper Sludge Ash Stabilizes Contaminated Clay When Combined With Early Carbonation

    29 shares
    Share 12 Tweet 7
  • Adversarial Attacks Disrupt Vision Algorithms on Autonomous Agricultural Sensing Platforms

    29 shares
    Share 12 Tweet 7

About

We bring you the latest biotechnology news from best research centers and universities around the world. Check our website.

Follow us

Recent News

New Statistical Toolkit TranspaceR Accelerates Next Generation Spatial Transcriptomics Data Analysis

Adding rTMS to Sertraline May Ease Adolescent Depression in Chinese Trials

Non-Invasive Brain Monitoring Study Establishes Baseline Reference Ranges in Newborns

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 86 other subscribers
  • Contact Us

Bioengineer.org © Copyright 2023 All Rights Reserved.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Homepages
    • Home Page 1
    • Home Page 2
  • News
  • National
  • Business
  • Health
  • Lifestyle
  • Science

Bioengineer.org © Copyright 2023 All Rights Reserved.