Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Planar vs. Interleaved and Processing Speed Question (IPP + TBB)

Rietschin__Axel
Beginner
1,058 Views

Hi there,

Just a general question: suppose I can chose between dealing with planar image data (4:4:4 YCbCr) or a standard interleaved RGB or BGR image.

From a processing performance perspective, does the planar data offers better performance potential than the interleaved data?

With planar data, it occurs to me that I could run three single-plane IPP operations ("C1") at once using tbb:parallel_invoke, would this be faster than with a single call to the corresponding interleaved ("C3") IPP operation?

Does that even make sense? If I have, say, 4:2:2 data, I assume planar w/TBB would win against RGB as there is less data to process to begin with?

Thanks,
Axel

 

0 Kudos
4 Replies
Jonghak_K_Intel
Employee
1,058 Views

Hello Axel,

 

I believe it is hard to tell which of the two methodes is always better for every process.

It should depend on what kind of process you try to do and what type of color format  you are working on.

RGB pixel data is typically stored in both the planar and interleaved memory layout and YCbCr is sometimes planar and sometimes semi-planar.

But you can of course use TBB to take advantage of parallel programming.

 

For further information about 'Pixel and Planar Image Formats in IPP' , please refer here : https://software.intel.com/en-us/node/503876

 

thank you

 

 

0 Kudos
Adriaan_van_Os
New Contributor I
1,058 Views
I don't think you can compare planar YCbCr with interleaved RGB. These are two different things. So, let's compare interleaved RG with planar RGB. Planar gives you you more flexibilty than interleaved C4R or AC4R or C1R. For example, there are filters that only exist as 1CR. And if you process channel-by-channel you have the advantage of locality and a smaller footprint for intermediate buffers (not all filters can be tiled, think of an FFT). Very few filters require interleaved RGB, an exception is ippiFilterMedianColor (or a non-existing ippiFilterBilateralColor). So, for batch processing I would definitely choose planar (whether YCbCr or RGB is another question). However, if it comes to displaying the image, the system software may not support planar RGB ..... Regards, Adriaan van Os
0 Kudos
Rietschin__Axel
Beginner
1,058 Views

Thanks Jon and Adriaan!

I see there is some planar data support in IPP and you convinced my to give it a try if I can find what I need in term of processing functions. Among other things, I'd like to see if sharpening the three planes in YCbCr 4:2:2 gives me a sharper image when the data is eventually upsampled then converted to RGB.

Thank you again both!

Axel

 

0 Kudos
Adriaan_van_Os
New Contributor I
1,058 Views
Try sharpening the Y channel only, that may give good results. Regards, Adriaan van Os
0 Kudos
Reply