[theora] NHW Project - fast discrete wavelet transform

Raphael Canut nhwcodec at gmail.com
Mon Sep 4 16:18:18 UTC 2017


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



2017-09-01 18:12 GMT+02:00 Raphael Canut <nhwcodec at gmail.com>:

> 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
>
>
>
> 2017-08-30 10:16 GMT+02:00 <xiphmont at xiph.org>:
>
>> Hi Raphael,
>>
>> On Fri, Aug 25, 2017 at 2:30 PM, Raphael Canut <nhwcodec at gmail.com>
>> wrote:
>>
>> > 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
>> > theora at xiph.org
>> > http://lists.xiph.org/mailman/listinfo/theora
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/theora/attachments/20170904/18e0125b/attachment.html>


More information about the theora mailing list