IPP - Question of week (#1)

IPP - Question of week (#1)

Hi everybody,

I'm glad to notify you thatwe restarted IPP Book sweepstakes(seehttp://softwareforums.intel.com/ids/board/message?board.id=IPP&message.id=1068 thread for details). So, in addition to your activity on the forum, there will be "question of week" which you can answer.Answering this question or posting your own messages(IPP related, of course) you will have a chance to win one of 50 IPP Books.

We are welcome you to the IPP Forum community. We are hoping you will find here any information you are interested in. Good luck!

The first question
- How do you use IPP in your app?

Regards,
Vladimir

Message Edited by vdudnik on 01-07-2005 08:10 AM

19 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I use IPP very easy.

Hi,

could you describe in more details what your application do? Is it works with 1D or 2D signals? Is performance is critical for you? Does IPP provide you performance you want?

Regards,
Vladimir

Vladimir,
I have used IPP for seven years off and on. I like it because it is very affordable and has fairly comprehensive image processing algorithms, also optimized for speed. My original use was for a high resolution line scan microfilm reader where we took in a 64 MB image and needed to apply image inversion, enhancement and gamma correction. All were rapidly executed (B/W)and readily doable with IPP (not called that back then).
RecentlyI have used IPP for a photogrammetry project where images are compared using MatchTemplate to find correspondingpixel pointsbetween two images. And currently I am working on a stereoscopy project.
Rick

Rick, thank you for sharing this with us. What do you think about IPP functionality? Is it enough for your purposes or may be there are somefeatures which is missed (but nicely to have)?

Vladimir

Thanks for sharing your info. Can you also provide some feedback about IPP? How do you findthe functionality, performance? Is there something you think as missed in IPP?

Regards,
Vladimir

Ross,
You use IPP to make your own Directshow filters forvideos? That is awesome. Do you have a link to any of your work?

Patrick

Hi,
we use the image processing and computer vision part for the registration of color images. The application is a kind of previewer and must be very fast. IPP helped us to meet our performance goals.
For future use we like to see an improved 16bit support. Some functions which were provided by IPL are missing in IPP. This is especially image arithmetic spatial transformations (affine and projective) for unsigned short values. Actually this is no problem, because we transform our 12bit images to 8bit anyway. But this may be in issue in the future.

Rasmus

Hi Rasmus,

Thanks for sharing this info with us. You can submit your request at IPP technical support channel (premier.intel.com), it will be considered at planning stage for the next releases. Please specify which exactly functions you think will be useful.

Thanks,
Vladimir

I try to use the AEC from Intel IPP sample.

Until now, 42 day of work, with no success....

Hi,

We use the IPP for:
JPEG
Kernel operations
FFT
general image processing

Might use IPP for in future:
JPEG2000

Hi,

great! Can you share your feeling about IPP? Does it fit your expectation? What about performance for JPEG codecin particular? Is there some functionality which you want to see but did not find?
What functionality or performance target you have for JPEG2000 codec?

Regards,
Vladimir

We are very satisfied with the JPEG performance in general. In one of our systems we stream JPEG images at 25 frames per second while still maintaining live displays, I/O sampling and other house keeping without problems. This is on a standard 2GHz P4.

We use the IJL JPEG sample as the API. One feature that we miss in the API is the ability to store EXIF data together with the images. Maybe you can do this today in some way, but it would be nice to have a function in the IJL API to do it.

We have not yet decided whether to use JPEG2000 or not in the future. We might choose to go for PNG instead as a compressed lossless format. The judges are still out on this one.

Thanks for your info,

I want to emphasize that we deliver even better performance with another JPEG sample, JPEG-IPP (it is simple, C++ based JPEG codec). Please be prepared, that with high probability we will not provide IJL-IPP sample in future releases. Instead of that, we will extend functionality of this JPEG-IPP sample. The support for meta-data, including "Exif" segment is also in our plans for future releases.
By the way, did you noticed that we do support lossless JPEG mode (both encoding and decoding) for 1 channel images with up to 16-bit per sample. You can look for JPEGView sample to find this.

Regards,
Vladimir

Hi,

I have any question about IPP AEC.

in the document of IPP, description of ippsSubbandController_EC function follow:

IppStatus ippsSubbandController_EC_32f(const Ipp32fc* pSrcAdaptiveFilterErr, const Ipp32fc* pSrcFixedFilterErr, Ipp32fc** ppDstAdaptiveCoefs, Ipp32fc** ppDstFixedCoefs, Ipp32f* pDstSGain, IppsSubbandControllerState_EC_32f* pState)

These functions compare powers of adaptive filter error and fixed filter error and track changes of adaptive filter coefficients power.

If the adaptive filter has a significantly smaller error and is stable (which is indicated by coefficients power changing slowly), its coefficients are copied to the fixed filter. This case corresponds to no double-talk mode.

If the fixed filter has a significantly smaller error, its coefficients are copied to the adaptive filter. This case corresponds to the double-talk mode.

the description above indicate that, internal of ippsSubbandController_EC function detected double - talk mode, is this right?

Send gain coefficient calculation (non-linear processor technology) is based on presence of the double-talk mode and changes of receive-in and send-in signal powers. So, to rely on value of pDstSGain parameter could i know presence of double-talk mode?

Thank you very much!

We are using IPP for our Architectural and Structural CAD applications(www.idecad.com). Small matrices part for 3d transformations, and image processing for fast rescaling of bitmap images.

I recently started to implement an advanced global illumination-raytacer rendering engine by using the realistic rendering and signal processing primitives.

I think that the learning curve is a little steep for IPP. But once you get the hang of it, it's OK.

One small observation, especially for the rendering domain, I think that the documentation could be made a little better. Some areas are easy to be confused, some areas even don't have a documentation at all. (For example AvailMemory field of IpprPSAHBldContext- I recently needed to ask the usage at the forums).

Again perhaps an observation specific to the rendering domain, It looks like it's not as mature as the other domains (that's pretty natural because it's newer), but also it looks like it's not much widely used like other domains. I have a strange feeling that I'll be the first developer which will be using the raytracing domain in a commercial application. :)

Hello,

thanks for refreshing this old thread. I think we need do more surveys like this to makeIntel IPP developerscommunity really powerful. So you may see/find colleagues and share ideas or get help.

I glad to see you find Intel IPP useful for your product.

From our side, we still commited to deliver new functionality and optimization in future versions of Intel IPP product.

Regards,
Vladimir

Quoting - Vladimir Dudnik (Intel)
Hello,

thanks for refreshing this old thread. I think we need do more surveys like this to makeIntel IPP developerscommunity really powerful. So you may see/find colleagues and share ideas or get help.

I glad to see you find Intel IPP useful for your product.

From our side, we still commited to deliver new functionality and optimization in future versions of Intel IPP product.

Regards,
Vladimir

Oops, I didn't check the date :) It indeed is 5 years old. Just saw it on top of the threads list, andfeeled to share my experince.

Quoting - Kaan Gk

We are using IPP for our Architectural and Structural CAD applications(www.idecad.com). Small matrices part for 3d transformations, and image processing for fast rescaling of bitmap images.

I recently started to implement an advanced global illumination-raytacer rendering engine by using the realistic rendering and signal processing primitives.

I think that the learning curve is a little steep for IPP. But once you get the hang of it, it's OK.

One small observation, especially for the rendering domain, I think that the documentation could be made a little better. Some areas are easy to be confused, some areas even don't have a documentation at all. (For example AvailMemory field of IpprPSAHBldContext- I recently needed to ask the usage at the forums).

Again perhaps an observation specific to the rendering domain, It looks like it's not as mature as the other domains (that's pretty natural because it's newer), but also it looks like it's not much widely used like other domains. I have a strange feeling that I'll be the first developer which will be using the raytracing domain in a commercial application. :)

Hello Kaan,

I've filed a bug report regarding your documentation nit. Thanks for pointing that omission out.

Regards,

Paul

Leave a Comment

Please sign in to add a comment. Not a member? Join today