JPEG new threading model in IPP

JPEG old threading model - IPP 6.1 and earlier

  • Based on parallel processing of one row of MCUs(Minimum Coded Units) by each thread
  • Each thread perform JPEG actions under own MCU row (CC, SS, DCT) in parallel, except VLC(Variable Length Coding) step. (CC-Color Conversion;SS-Sub Sampling;DCT-Discrete Cosine Transform)
  • VLC can be done only in serial manner due to data dependency of MCU blocks for this operation
    • VLC is main challenge in parallel JPEG processing

JPEG_old.bmp

 

JPEG new threading model in IPP 7.0

  • JPEG standard allow to split data stream to Independently processed segments called Restart Intervals (RSTI).
    - Each restart interval contain a fixed number of MCUs
    - RSTI separated by restart markers (RSTm)
  • New threading model based on parallel processing of this RSTI                                                                                 
    • Using RSTI allow to resolve main bottleneck of old model - existence of serial part in JPEG pipeline  the VLC.
    • It can be achieved due to main property of RSTI - independency of MCU blocks of one RSTI from MCU  blocks another  RSTI.
    • This property allow to do all JPEG operation - CC, SS, DCT and VLC - for each RSTI by threads in parallel

 

JPEG_new_threading_model.bmp


Performance Comparison (IPP 7.0 vs. 6.1)

UIC_performance_ipp70.bmp

 

 

 

 

Optimization Notice in English

Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.