DSPRelated.com
Forums

Upper bound for realtime application

Started by Unknown June 10, 2014
Hi

I have developped an application for image inpainting. Now I want to claim that it can be used for realtime purposes.

Does somebody know a paper which gives some boundaries for realtime applications? I want to refer to a paper to prove my assumption.
Raphael K&#4294967295;ster <HelveticusMaximus@gmx.ch> wrote:


> I have developped an application for image inpainting. > Now I want to claim that it can be used for realtime purposes.
> Does somebody know a paper which gives some boundaries for > realtime applications? I want to refer to a paper to prove > my assumption.
Can you give some hints as to the computation involved? Since you post to comp.dsp, I presume it is signal processing related. Is there a "unit operation", that is, the simplest unit of computation, such as multiply-add for many DSP algorithms? How many bits wide is the data to be processed? How many such units do you need processed per (time unit)? And, finally, how much can it cost? -- glen
> Can you give some hints as to the computation involved?
It is sparse coding with dictionary learning using matching pursuit algorithm.
> Is there a "unit operation", that is, the simplest unit of > > computation, such as multiply-add for many DSP algorithms?
Hmm, I don't know what you mean. There are a lot of steps and code involved.
> How many bits wide is the data to be processed?
1024 x 1024 images. I think you misunderstood my question. I know how much it takes for my algorithm to compute. I takes around 1.5s per image. Now I want just a statement that e.g. if the runtime is < 2s it can be called realtime or can be used for realtime purposes.
On 10/06/14 22:13, Raphael K&#4294967295;ster wrote:
> Hi > > I have developped an application for image inpainting. Now I want to claim that it can be used for realtime purposes. > > Does somebody know a paper which gives some boundaries for realtime applications? I want to refer to a paper to prove my assumption.
Realtime implies the computation completes within a certain time, T. Hard realtime means that T is guaranteed and somebody dies if the guarantee isn't met. Soft realtime means that it is guaranteed on average, where the averaging interval is specified. (Yes, I simplify) If you can't guarantee either of those the you don't have a realtime computation. So, define the time T for your computation. It is then up to the customer to determine whether their application can tolerate a repetition frequency of 1/T. You had better specify the /all/ conditions under which you guarantee time T - which is surprisingly difficult.
Raphael K&uuml;ster <HelveticusMaximus@gmx.ch> writes:

> Hi > > I have developped an application for image inpainting. Now I want to > claim that it can be used for realtime purposes. > > Does somebody know a paper which gives some boundaries for realtime > applications? I want to refer to a paper to prove my assumption.
Hi Raphael, I don't think you'll find such a paper. If you mean that you think it can be used to generate video in real-time, then I would verify and present an example case in which it does just that. For example, you might state that it can run in real-time on 30 FPS video on a BeagleBone Black at a 50 percent average load. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
Am Mittwoch, 11. Juni 2014 00:26:49 UTC+2 schrieb Randy Yates: 
> Hi Raphael, > > > > I don't think you'll find such a paper. > > > > If you mean that you think it can be used to generate video in > > real-time, then I would verify and present an example case in which it > > does just that. For example, you might state that it can run in > > real-time on 30 FPS video on a BeagleBone Black at a 50 percent average
What is a BeagleBone Black? Best Regards
Am Mittwoch, 11. Juni 2014 00:00:01 UTC+2 schrieb Tom Gardner:
> Realtime implies the computation completes within a certain time, T. > > Hard realtime means that T is guaranteed and somebody dies if the > > guarantee isn't met. > > Soft realtime means that it is guaranteed on average, where the > > averaging interval is specified. (Yes, I simplify)
Do you mean with averaging interval e.g. 10, i.e. we have ten measures and divide the sum by ten?
On 11/06/14 00:04, HelveticusMaximus@gmx.ch wrote:
> Am Mittwoch, 11. Juni 2014 00:00:01 UTC+2 schrieb Tom Gardner: >> Realtime implies the computation completes within a certain time, T. >> >> Hard realtime means that T is guaranteed and somebody dies if the >> >> guarantee isn't met. >> >> Soft realtime means that it is guaranteed on average, where the >> >> averaging interval is specified. (Yes, I simplify) > > Do you mean with averaging interval e.g. 10, i.e. we have ten measures and divide the sum by ten?
No. The answer is not simple and would take too long to explain fully. To indicate the subtlety, consider that my average heartrate is anywhere between 220 and infinitesimally above zero, depending on the averaging period I use.
HelveticusMaximus@gmx.ch writes:

> Am Mittwoch, 11. Juni 2014 00:26:49 UTC+2 schrieb Randy Yates: >> Hi Raphael, >> >> >> >> I don't think you'll find such a paper. >> >> >> >> If you mean that you think it can be used to generate video in >> >> real-time, then I would verify and present an example case in which it >> >> does just that. For example, you might state that it can run in >> >> real-time on 30 FPS video on a BeagleBone Black at a 50 percent average > > What is a BeagleBone Black?
Raphael, Allow me to first tell you about a wonderful tool available, for free, on "the internet": Google. If you don't know something, just plug a few descriptive words into it and - voila! - information. Very handy. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
HelveticusMaximus@gmx.ch wrote:

>> Can you give some hints as to the computation involved?
> It is sparse coding with dictionary learning using > matching pursuit algorithm.
So, my guess is fixed point with no multiply or divide.
>> Is there a "unit operation", that is, the simplest unit of
>> computation, such as multiply-add for many DSP algorithms?
> Hmm, I don't know what you mean. There are a lot of steps > and code involved.
Yes, but you do something many many times. Maybe once for each pixel.
>> How many bits wide is the data to be processed?
> 1024 x 1024 images.
I meant bit depth, such as 12 or 16 bit samples. But this is useful to know, too.
> I think you misunderstood my question. I know how much it takes > for my algorithm to compute. I takes around 1.5s per image.
Real time is as fast as you need, maybe slightly. Real time for weather forecasting is usually hours, such that they can get it on the news for the next day (or two, or three). Real-time video means faster than the frame rate.
> Now I want just a statement that e.g. if the runtime is < 2s it > can be called realtime or can be used for realtime purposes.
There are some algorithms very convenient for pipelining inside an FPGA, with a large number of stages. -- glen