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 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
Performance Comparison (IPP 7.0 vs. 6.1)