Log in

View Full Version : SIF1 Video Codec


Neiromaster
22nd September 2006, 12:20
The SIF1 project was launched in the autumn of 2000, with the major goal of finding new approaches for video compression. We developed a new class of algorithms for image compression. Its working title is "SIF-conversion". This class of algorithms can be realized in a number of ways, and the total efficiency of the resulting compression engine depends on the method of realization chosen. During several years, we worked on different compression engines based on SIF conversion. The sixth compression core was found to be the best basis for realizing the new codec. It should be noted that it could be further improved since the developed engine represents a compromise between the compression efficiency obtained and the time spent on the engine development.

History of versions

0.45 Alpha4
1. Decoding speed has been increased over 1.6 times.
2. The total compression efficiency has been increased.
3. The level of some artifacts of image compression has been decreased.
4. The psychovisual model has been appreciably increased.

0.40 Alpha3
1. The algorithm has been improved and the efficiency of the operation of the Core6 analyzing part has been increased. The level of some artifacts on the image has been decreased.
2. The algorithm of the quantizer operation has been changed.
3. An adaptive algorithm of the bit rate control had been added.
4. The sharpness of the decoded image has been appreciably increased.
5. The psychovisual model has not been finally debugged. However, it operation is acceptable.
6. The total compression efficiency has been considerably increased.
7. This version is not compatible with the previous one, but all subsequent versions of the codec will decode the video compressed by the former version.

0.30 Alpha2
1. The entropy codec has been corrected and modified.
2. The level of some artifacts of image compression has been considerably decreased.
3. The functionality of the motion compensation engine has been improved.
4. An automatic arrangement of key frames has been added.
5. The compression efficiency has been appreciably increased.
6. Support of input color spaces RGB32, YUY2, and YV12 has been added.
7. This version is fully incompatible with the previous one.

0.25 Alpha1 - The first public version.

Further plans

1. To add new compression regimes in which the size of the output compressed file can be specified.
2. To improve the operation of the motion detection engine and to add the new higher quality regimes that are oriented at real-time compression.
3. To develop an option of using quarter-pixel motion compensation. In present version, standard half-pixel compensation is used.
4. To further improve the operation of the analyzing part of Core6.
5. To perform SSE2 and multiprocessor optimization of the current code.
6. To develop a new core (Core7) and SIF 2 codec on its basis.


http://mysif.ru/SIF1_dd_Eng.htm

Sirber
22nd September 2006, 12:22
Is it VFW? Is it CLI? What container supports it? How is it compared to XviD?

LoRd_MuldeR
22nd September 2006, 14:33
Is it VFW? Is it CLI? What container supports it?

http://img109.imageshack.us/img109/8009/sifvz6.gif
I guess the answers are "VfW" and "AVI" ;)

// EDIT

DirectShow decoder filter for playback is included.

Neiromaster
23rd September 2006, 13:35
What container supports it?

AVI, Matroska, Ogm


How is it compared to XviD?

Between x264 and XviD. Closer XviD.

bratao
23rd September 2006, 14:36
Good,
REAL Good !!

Keep the good work, you maybe can create a true alternative to the mpeg products !

By the way, how the internal of this codec, its wavelet, macroblock... ??

mod
23rd September 2006, 15:34
Any possibility to see it on Linux? VFW doesn't work well on it ^^

Neiromaster
23rd September 2006, 19:52
Good, REAL Good !!
Thanks.


By the way, how the internal of this codec, its wavelet, macroblock... ??

It based on the adaptive block size overlapped motion compensation and set of overlapped subband transforms.
A species of transform determined local statistic of image.

It isn't wavelet, it isn't block transform, its SIF - absolutely new patentable algorithm. :cool:

Neiromaster
23rd September 2006, 19:54
Any possibility to see it on Linux?

It will be possible in future.
I'm planning release decoding library on VP3-like license in future.

pardus
23rd September 2006, 20:26
It will be possible in future.
I'm planning release decoding library on VP3-like license in future.

Why not add it to ffmpeg under L/GPL ? Maybe even dual license for commercial usage.

bratao
24th September 2006, 01:55
I´m checking some samples of your site and i like it.

The exemple that i see is the Matrix "metro" one. ITs 200 Kbits/s
I like the image is degradation of low bitrate , it isnt "block", it like "noise" the image .

In this such premature stage(no configuration, no 2 pass,...) , its a very exciting codec !

KoD
24th September 2006, 09:12
"L/GPL"

Just because those are buzzwords on everyone's lips it doesn't mean they're actually what you want.

MfA
24th September 2006, 09:35
As long as there are no patents involved there really isn't much use going with the original VP3 license over LGPL.

GodofaGap
24th September 2006, 09:49
You should compare both licenses first before making such a statement. VP3 grants almost complete freedom, as long as you don't use patented algorythms themselves to make something completely different. LGPL is far more restrictive.

BeyondTheEyes
24th September 2006, 11:50
Thanks.

It based on the adaptive block size overlapped motion compensation and set of overlapped subband transforms.
A species of transform determined local statistic of image.

It isn't wavelet, it isn't block transform, its SIF - absolutely new patentable algorithm. :cool:

- SIF stands for ?
- any preprocessing (e.g. deblocking) ?
- any adaptive frame-skipping ?
- any rate-distortion optimization ?
- any ...
- any chance http://mysif.ru/O_SIF.htm to be translated into english ?

- anyway, it looks (very) promising ! ;-)

PS : Are OBMC and M-band decompositions really that "new" ?

Neiromaster
24th September 2006, 18:29
- SIF stands for ?

Now its just SIF ;)

- any preprocessing (e.g. deblocking) ?

It not use any pred-postprocessing technique and inloop filtering.
I'm working at otner path to increase quality.

- any adaptive frame-skipping ?

It isn't in early plans.

- any rate-distortion optimization ?

It stands in early development stady.

- any chance http://mysif.ru/O_SIF.htm to be translated into english ?
Maybe.


PS : Are OBMC and M-band decompositions really that "new" ?

1) I didn't say that OBMC is new.
2) M-band decompositions != subband transform
For example: Laplacian Pyramid and Steerable Pyramid is not M-band but its subband transforms.

LoRd_MuldeR
24th September 2006, 19:21
Will there be official specs available to the public, so developpers can implement their own encoders/decoders? I ask, because I doubt it will ever become popular without proper ffmpeg/lavc support...

BeyondTheEyes
24th September 2006, 19:25
For example: Laplacian Pyramid and Steerable Pyramid is not M-band but its subband transforms.
Would you "disclose" that SIF1 is using an overcomplete representation ?-) If, yes, may I kindly ask how you achieve to remove (or at least minimize) the underlying redundancy ?

BTW, I have just made a quick test with SIF1 (DVD source -> 640x272@25Hz, ~500 Kbps) and I must admit that the result is quite impressive (in terms of perceived quality, not PSNR, which may not be appropriate here to assess the quality of SIF1 in comparison with traditionnal hybrid DCT-based codecs, right ?)

foxyshadis
24th September 2006, 21:46
PSNR isn't an appropriate measurement for anything, except matching up individual blocks in the codec. At minimum use SSIM, at best use your eyes on tough scenes.
Will there be official specs available to the public, so developpers can implement their own encoders/decoders? I ask, because I doubt it will ever become popular without proper ffmpeg/lavc support...

Popularity among companies or academia generally has nothing to do with popularity among the open source crowd.

Subband transforms were somewhat popular in the late 80's and early 90's, but fizzled out as mpeg-4 made its appearance and delivered similar efficiency with better performance, and scaled up better. They're still useful at the bottom end for the same reason jpeg2k is much better than jpeg at the bottom end, but I'm interested that performance here seems relatively good even at higher birates.

Still, I was under the impression that pretty much anything remotely related to subband encoding had been long patented away, another reason they aren't so popular now. Or have they started to fall out of patent?

LoRd_MuldeR
24th September 2006, 21:58
Popularity among companies or academia generally has nothing to do with popularity among the open source crowd.

Yeah. But do you really think the companies are interesetd in a completely new standard like SIF1 when H.264/AVC and WMV/VC-1 are on their way ???
I doubt that, even if SIF1 had really good results...

But I think it could become popular very easy among the OpenSource crowd when it perfroms good and has a proper implementation in ffmpeg (or at least a free encoder/decoder lib)

MfA
26th September 2006, 16:16
Basically subband transforms are a subset of wavelet transforms, they predate wavelet theory.

Why are you ignoring lifting though? Fundamentally lossy transforms are just not acceptable anymore IMO. We have to learn from the past, MPEG4 and it's problems with varying DCT implementations specifically.

Neiromaster
26th September 2006, 18:48
Would you "disclose" that SIF1 is using an overcomplete representation ?-)

No, I don't want to disclose it before it's not patented.

I want to say just that:

1) SIF is relative very far to Steerable Pyramid, but it works on the slightly different principle.

2) It's native 2D adaptive transform. All power of this method is not perfectly realized in Core6. In future I will considerably increase compression efficiency.

3) It's very fast. Don't ask me why.
It faster than many wavelet exept Haar.

4) It's very eye candy because it's very close with HVS.

not PSNR, which may not be appropriate here to assess the quality of SIF1 in comparison with traditionnal hybrid DCT-based codecs, right ?)

It use HVS model to improve visual quality.

Neiromaster
26th September 2006, 19:11
Basically subband transforms are a subset of wavelet transforms, they predate wavelet theory.

For me, wavelet transforms subset of subband transforms, otherwise DCT is subset of wavelet transforms toо.

SIF is lossless transform but SIF1 not work in lossless mode.

Why are you ignoring lifting though?
Lifting is the wavelet technique and it's not applicable with SIF.

Neiromaster
26th September 2006, 19:29
Will there be official specs available to the public, so developpers can implement their own encoders/decoders?

I want patent main method before to open specification.

MfA
26th September 2006, 21:38
Nah, you can use lifting for M-band transforms too ... if the transform is lossles you are probaly using ladder networks, different names same thing.

DarkZell666
27th September 2006, 12:04
I'm having trouble finding a download link >_<"
Not even in the "downloads" section ...

Would someone be kind enough to provide a link plz ?

Edit : found one here : http://freesoft.ru/file.html?id=669604&dl=0&filename=SIF1_alpha4.exe

johnsonlam
1st October 2006, 06:14
I want patent main method before to open specification.

I hope you can get the patent soon.

The codec is great. I'm using default setting, it compressed my DVD ripped clip with extraordinary good size and speed. I guess bitrate maybe low, distortion can be seen.

Since the codec is new, IMO you can add text under the "Quantization level", mark some position as "Good quality (low compression), medium and low quality (high compression)" so people can have a reference.

I've no idea how "Color quantization" and "Additional quantizer" affect the quality, can you provide a screen capture to explain how they affect quality? Thanks.

Thanks for making this great codec! It's definitely a success!

shae
11th May 2008, 20:12
Any news about the codec?

johnsonlam
13th May 2008, 14:11
Any news about the codec?

http://freesoft.ru/?id=669604

No update since 2006.

ckmox
28th April 2011, 06:15
wow this video codec looks promising i tested it out of curiosity im no expert, i just judged it through my eyes
codec installer -> http://www.mysif.ru/Files/SIF1_v_1_10.exe
sample video encoded (267 kilobits per second; 528x224 pixels) -> http://www.mysif.ru/Avi/Matrix_tr.avi

and it does not have blocking artifacts at all, the artifacts i saw are like psy-rd effects of x264, it looks great

what happened to this project? is it dead already? it will be good to make this open source and become something big

nakTT
10th December 2011, 12:11
I have been away from video encoding for sometime and I can see from the demo that the version 1.2 looks promising.
Do share info on the upcoming version. Hope this thread can get frequent info/update like x264 thread.

Thank you in advance.

Neiromaster
11th December 2011, 19:59
I have been away from video encoding for sometime and I can see from the demo that the version 1.2 looks promising.
Do share info on the upcoming version. Hope this thread can get frequent info/update like x264 thread.

Thank you in advance.

Unfortunately the last some months I couldn't work on the project.
I earned money to repay debts. Since January, 2012 I am going to renew work on the project.
The new version of the codec will be released in the beginning of summer.
I have two young children in my family. Therefore I can't work over the project constantly.

nakTT
17th December 2011, 08:33
Unfortunately the last some months I couldn't work on the project.
I earned money to repay debts. Since January, 2012 I am going to renew work on the project.
The new version of the codec will be released in the beginning of summer.
I have two young children in my family. Therefore I can't work over the project constantly.
Looking forward to the 2012 development.

BTW, thanks for the reply.

nakTT
24th February 2012, 05:25
Since January, 2012 I am going to renew work on the project.
The new version of the codec will be released in the beginning of summer.
Hi, I guess it would be great if you could share something about the progress of your work here. It will certainly help to keep people interest in SIF1.
Thank you in advance.

Neiromaster
24th February 2012, 16:09
Hi, I guess it would be great if you could share something about the progress of your work here. It will certainly help to keep people interest in SIF1.
Thank you in advance.

At present I have finished re-structuring code of SIF1-core, and I work over new multithreading model in code and over translate code on pure C.

The current purpose - acquisition of real time coding profiles and creation of universal library for coding-decoding.

After achievement of the given purpose I will probably release here the intermediate version of the codec that interested persons could test quality of work of new multithreading.

Also probably I will make plug-ins to VLC player for coding and decoding SIF1 with use of new library.

Selur
26th February 2012, 14:19
as stated before a command line version would be nice,..

nakTT
4th August 2012, 22:57
At present I have finished re-structuring code of SIF1-core, and I work over new multithreading model in code and over translate code on pure C.

The current purpose - acquisition of real time coding profiles and creation of universal library for coding-decoding.

After achievement of the given purpose I will probably release here the intermediate version of the codec that interested persons could test quality of work of new multithreading.

Also probably I will make plug-ins to VLC player for coding and decoding SIF1 with use of new library.
Thanks for the info.

Any latest news on SIF1 for this year until this month?

Looking forward for news on SIF1 progress.

nakTT
7th November 2012, 02:29
At present I have finished re-structuring code of SIF1-core, and I work over new multithreading model in code and over translate code on pure C.

The current purpose - acquisition of real time coding profiles and creation of universal library for coding-decoding.

After achievement of the given purpose I will probably release here the intermediate version of the codec that interested persons could test quality of work of new multithreading.

Also probably I will make plug-ins to VLC player for coding and decoding SIF1 with use of new library.
Hi there. Any latest update that you would like to share?

Neiromaster
10th November 2012, 09:38
Hi there. Any latest update that you would like to share?

On the last some months I didn't work over the project.
Unfortunately I have no possibility to work over the project now.
For all the time of existence of the project I didn't have any serious support from anybody.
Therefore I do not think that local guys seriously worry about destiny of this project.

In too time the project isn't closed.
I will work over it when I have free time.
I worked over it twelve years and I am going to work over it and in the future.
But it is necessary to understand that I am not Google.
I can't employ ten developers and invest in the project the necessary millions for development.

Therefore and further the project will development with such speed.

Thanks for understanding.

Neiromaster
17th March 2021, 23:16
Next generation of SIF Codec is available.

You will be very surprised if you look at how it now works.

We are glad to share its latest version for a community here. You can find a follow set of files:
• Direct Show Decoder and VFW Encoder for Windows
• Console Utilities and Libraries for Windows (documentation is included)
• Console Utilities and Libraries for Linux (documentation is included)
here: https://sifcodec.com/downloads (http://sifcodec.com/downloads)

You may use dynamic libraries to embed SIF compression technology into your projects based on non-commercial research license from SIF Codec LLC. SIF Codec architecture is fully independent from any third-party IP rights, including patents and copyrights.

The main encoding mode of the SIF Codec is the coding with a fix level of visual quality. It is CRF mode analogue, but implemented by new independent methods.

Quality level key: --viz_dist=<arg>
Its values:
0 - loseless mode
<30 - “almost loseless” mode
40 - high level of quality
<70 - acceptable level of quality.

Console encoder (both Win and Linux) input formats: raw file (with or without title).
Windows console encoder can also process AviSynth scripts, including 10 bits and 16 bits input formats. Console encoders can save compressed data to AVI container or in RAW format.

benwaggoner
18th March 2021, 01:11
Good,
REAL Good !!

Keep the good work, you maybe can create a true alternative to the mpeg products !
If it is between xvid and x264, AV1 or VP9 are already better. This would be about VC-1 territory.

Of course, it should get better over time. It's hard to predict how novel technologies like this will work when well-refined.

Neiromaster
18th March 2021, 01:33
If it is between xvid and x264, AV1 or VP9 are already better.

This is a different, completely rewritten codec.
Several new inventions have been added

It does not currently support B frames.
But this is planned to be added in the near future.

If you compare it in zerrolatensy mode, then it is better than 264, close to 265 and better AV1 in realtime modes. Similar in level to VP9 with B frames, but has a number of unique things.

And yes, this is a realtime codec that plays in a different area than AV1

Neiromaster
18th March 2021, 06:52
About x264 and SIF

Park Joy at 8 Mbit.

https://disk.yandex.ru/d/9_oLybuBktSSVQ

Encoding String
ConsoleEnc.exe "park_joy_1080p.y4m" --viz_dist=64 -o park_joy_1920x1080_test.avi

x264 Veryslow Zerolatency crf 30

https://disk.yandex.ru/i/5u3ZJRFI-P5Ubw

You can see everything yourself

Gravitator
7th April 2021, 21:09
Hello!
v2.05.0
Encoding is completed without starting the second pass.
C:\>ffmpeg -i z:\space_6s.mkv -f yuv4mpegpipe - | sif1_enc.exe --avi_outp --comp_mode=vbr_all_p --vbr_stat_f=z:\sif_stat.sta --out_bitrt=1200 -o z:\test.avi -
----
Are there any plans to make friends your decoder with the MPC-BE player?

Neiromaster
9th April 2021, 06:27
An interface that uses standard threads does not allow you to rewind the thread to the beginning of the file. Therefore, when you use it, you cannot specify multiple passes with a single key.

Use multiple program launches
C:\>ffmpeg -i z:\space_6s.mkv -f yuv4mpegpipe - | sif1_enc.exe --avi_outp --comp_mode=vbr_1_p --first_pass_mode=medium --vbr_stat_f=z:\sif_stat.sta --viz_dist=45 -o z:\test.avi

C:\>ffmpeg -i z:\space_6s.mkv -f yuv4mpegpipe - | sif1_enc.exe --avi_outp --comp_mode=vbr_2_p --first_pass_mode=medium --vbr_stat_f=z:\sif_stat.sta --out_bitrt=1200 -o z:\test.avi

Setting the VD value on the first pass affects the quality obtained on the second pass.

The DirectShow decoder uses a 10 bit p010 format, which causes a number of problems with programs that do not understand it.

Some problems with this were fixed and the DirectShow decoder was updated without increasing the version number.

On the other hand, native support for decoding the format in FFMPEG, VLC is needed.
To do this, need to open the decoder code under the GPL or BSD license.
I am not the sole owner of SIF Codec LLC and such a solution requires coordination of different interests. This is a goal in the near future.

Gravitator
8th May 2021, 15:57
Waiting for b-frames.

benwaggoner
11th May 2021, 00:50
Waiting for b-frames.
For videoconferencing, B-frames aren't used. So a codec doesn't need them to be interesting or valuable.

I can see a future codec combining generalized B-frames with off-screen references into something that doesn't really have B-frames per se, with everything only forward-referenced...

Gravitator
13th December 2021, 20:38
Здравствуйте!
At what stage of development are you?