Discussion:
[theora] NHW Project - fast discrete wavelet transform
Raphael Canut
2017-09-04 16:18:18 UTC
Permalink
Hello,

I forgot in my last reply that my DWT implementation can be speed up, for
example I'm doing for now:

for (;_X1<_E_;_X1++,_RES+=2) //dilatation
{
_RES[0]=_X1[0]<<3;
_RES[1]=(_X1[1]+_X1[0])<<2;
}

then

for (;_X2<_E_;_X2++,_RES+=2) //details
{
_RES[0]-=(_X2[1]+_X2[0])<<1;
_RES[1]+=6*_X2[1]-_X2[2]-_X2[0];
}

whereas I can do in one faster step:

for (;_X1<_E_;_X1++, _X2++,_RES+=2)
{
_RES[0]=_X1[0]<<3 - (_X2[1]+_X2[0])<<1;
_RES[1]=(_X1[1]+_X1[0])<<2 + 6*_X2[1]-_X2[2]-_X2[0];
}

In these conditions, my implementation seems as fast as the lifting scheme,
they are doing exactly the same things in two different ways, but similar
speed ways.

So I think we can keep my DWT implementation in the NHW codec!!!

I have heard Monty that I must do (interesting) technology demonstrations
as part of the NHW Project story, but I don't know what to start, and I
also lack the graphical design capabilities...

Monty, a second answer would be very welcome?!

Many thanks!
Cheers,
Raphael
Hello,
What references do your versions draw from?
I think I made a mistake! In fact my DWT implementation is "implied" in
the lifting scheme, but it could be slower than the lifting scheme because
it does not use the lifting steps.So I think we can replace my DWT
implementation in the NHW codec by the classic lifting scheme! -Does the
lifting scheme patented?-
For the entropy coding, I think there is new things.
For the multistage residual coding, this is not new, but I have never seen
it applied to an image codec...
Feedback correction is not new, but I think it's old enough to be
patent-free.I also did not see it in an image codec.
Preprocessing (with a laplacian kernel) is interesting in the NHW codec,
because it retains the details, grain that would be normally washed out by
increased wavelet quantization.
There are also other processing in the NHW codec (all selected and
optimized for speed), so I will try to make a technology demonstration.A
little help from Xiph?
The other advantage of the NHW codec is that it is royalty- and patent-
free.Do you see at first some patented technology used?
Cheers,
Raphael
Hi Raphael,
I'll see what Monty will do on his side (and when he has time), but he
also
told me that the NHW codec has merits but there must be an effort to
demonstrate them.
Well, if you want to pursue a collaborative project, you need to
attract others to work on it. Perhaps 'demo' is the wrong word... I'd
say the project needs to have a story, and a demonstration of the
technology is part of what makes the story concrete.
But it is not so evident to demonstrate them, because the NHW codec
performs
bad on all metrics because it modifies image to give it more neatness
(this
also includes a slight denoising)... For speed, the NHW codec is
written in
plain C code, there are no C optimization, no SIMD optimization, no
multithreading, whereas the other codecs (x265,VP9,x264,WebP,...) have
them
and are highly optimized, so time/speed comparison will not be fair...
Optimization at this stage of development is misplaced. You should
have a good idea of the complexity bounds-- this is what other
engineers care about-- but so long as you can demonstrate that your
approach does something unique and useful in a way that draws
interest, that's what you need.
Then there are innovations in the NHW codec: like a new fast wavelet
transform, a multistage residual coding, 3 new entropy coding schemes
and
other things like for example interesting pre- and post- processing
based on
a laplacian kernel, a feedback correction,etc...
All these things have been done before... how are your approaches
unique? What references do your versions draw from? Build on? One
reason to be familiar with (and use the language) of the state of the
art is to provide a shared context and terminology in which others can
understand what you're doing.
Monty told me :"If you don't have access to web space you can use for
documenting and advertising the project, we can certainly offer that."
Absolutely.
Are you interested in documentation of the innovations of the NHW
codec? As
I am still very busy (but this will change), do some of you would like
to
make these demonstrations?
So to finish, I think it's a great deal that Xiph.org proposes!!!, if
you
want more of this collaboration, want to help in the development,
documentation, demonstration of the NHW Project, do not hesitate to
show up
on the forum.
Many thanks again to Xiph!, hope this will materialize in the next
months.
Good wishes to you too!
Cheers,
Monty
Cheers,
Raphael
_______________________________________________
theora mailing list
http://lists.xiph.org/mailman/listinfo/theora
Loading...