Results 1 to 27 of 27

Thread: Lossless image coders

  1. #1
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Lossless image coders

    Hello. I want to find some lossless image compressors such as

    CREW
    CALIC
    EDP
    ERI
    GLICBAWLS
    FELICS
    DPCM

    for windows. Please, help me to find it.
    Thanks.

  2. #2

  3. #3
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks, but it's not what i need. I also have MRP,BMF,PAQ,Gralic.

  4. #4

  5. #5
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Tahnks. I'll try to compile and use it.

  6. #6
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hello. I tried to use ERI compressor. But I keep getting the final file size is 29 bytes. What the reason of it? Thanks.

  7. #7
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    These are executables for DOS, and its site says that it doesn't work under NT/XP - try emulation?

  8. #8
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Glicbawls is not implementable. have anybody glicbawls implementation Maybe ?

  9. #9
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts
    Quote Originally Posted by Madgeniy View Post
    Glicbawls is not implementable. have anybody glicbawls implementation Maybe ?
    I had an executable for 64-bit Linux... 6 months ago. Well, maybe still have it.
    If you need the source code or executables for other platforms, try asking in http://groups.google.com/group/comp.compression/topics

  10. #10
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    http://nishi.dreamhosters.com/u/glicbawls_sh_v0.rar
    - processed with C preprocessor to remove macros
    - processed with SourceFormatX it make it editable
    - found a lenna.pgm to test it, because original sample can't be decoded (floats are evil)
    - removed "Y" from source, with is described in remark.txt - RTFM
    - added stuff for windows stdin/out handling
    - compiled and tested - it works

    As to compression ratio, it seems to be a little worse than bmf.

    A really nice thing is that it prints some "ascii art" while processing a picture.
    For example, this is its output for encode.su favicon.ico:
    Code:
    llllll;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;lllll
    DDD6ffffffffffffffffffffffffffffffffffffffff6DD
    D6ffffffffffffffffffffffffffffffffffffffffffff6
    6ffffffffffffffffffff66ffffffffffffffffffffffff
    fffffffffffffffffff6@@@@@6fffffffffffffffffffff
    fffffffffffffffffffD@@@@@@@Dfffffffffffffffffff
    fffffffffffffffffffff@@@@@@@@6fffffffffffffffff
    ffffffffffffffffffffff6@@@@@@@Dlfffffffffffffff
    ffffffffffffffffffffffff@@@@@@@6fffffffffffffff
    fffffffff6ffffffffffffff@@@@@@@Dfffffffffffffff
    fffffffD@@@Dfffffffffff@@@@@@@@ffffffffffffffff
    ffffff6@@@@@@Dffffff6D@@@@@@@@@6fffffffffffffff
    fffffff6@@@@@@@@DD@@@@@@@@@@@@@@@6fffffffffffff
    fffffffff@@@@@@@@@@@@@@@@@@@@@@@@@@6lffffffffff
    ffffffffff6D@@@@@@@@@@@@@@@@@@@@@@@@@6fffffffff
    fffffffffffff6D@@@@@@D@@@@@@@@@@@@@@@@@6fffffff
    fffffffffffffffffffffffD@@@@@@@@@666@@@@@6fffff
    fffffffffffffffffffffffffD@@@@@@ffffl@@@@@fffff
    fffffffffffffffffffffffffffD@@@@Dfff6@@@@@fffff
    fffffffffffffffffffffffffffffD@@@@@@@@@@6ffffff
    fffffffffffffffffffffffffffffffD@@@@@@6ffffffff
    6ffffffffffffffffffffffffffffffff666fffffffffff
    D6ffffffffffffffffffffffffffffffffffffffffffff6
    DDD6ffffffffffffffffffffffffffffffffffffffff6DD
    And btw, this is the original source:
    Code:
    #include<stdlib.h>
    #include<stdio.h>
    #define F for(
    #define D return
    #define E typedef
    #define V malloc(sizeof
    #define Z(x)(t(0,(x-C)/y)-l+1e-6*(x-Q))
    #define i m(p(r,o,v),e,d 
    E double P;E long N;E char*w;N G,l,I,C,B,A,W,L,S,R,O,c,k,s=80,U=13,T=169;P
    sqrt(P);N H(){F;O=scanf(" %1[#]%*[^\n]",&O););scanf("%ld%*c",&O);D O;}P
    M(N R){s=s>=k?printf("%ld%c"+3*(C<1),s-k,R&7?32:10):s;D
    R>0?B/2?H():getchar():R?.9+.7*M(R+1):0;}P t(N x,P K){D
    x?(x>U?0:t(x+2,K)*(x-1)/x/K)+1/sqrt(K):t(2,K*K/U+1)*K;}N _(N J,N
    x){F*(x?&W:&A)=W+J+x;(O=x=W/(J=k*k))||A<J||((O=2*W/J)&&2*A/J<3);A+=A-J+1){F
    J*=x+O;S--*B&&x==O;O=x=!J){s+=x+s;M(0);}W+=W-J;S+=2;L+=L-J*k+M(S%8==B);}D
    1;}P*p(P*J,P*x,P*O){F R=T;R--;)O[R]=J[R]+.8*x[R];D O;}P m(P*W,P*x,P s){F
    R=U;--R;){P*A=W+R*U;W[R]+=s/12;*W+=s;*A-=*x++;F;A>W;){*A/=*W;F
    O=R;O;O--)A[O]-=W[O]**A;A-=U;}W+=14;}D*W;}int main(int z,w*y){N
    K=s,g;Y;M(z);s=B=C=15-H();s=G=M(8);s=l=M(C);G*=g=C%3?1:3;if(I=s=M(8)){N
    b=G+9,x=b*340+U,J=b*(l+5),*n=V(N)*J),*j=n+5*b;P*h=V(P)*x),*q=h+b,*e=q+b;P
    d=K;F;J--;)n[J]=J<b?0:I/2;F;x;)h[--x]=0;s=M(x);k=256;C=4-C;B=C/4;s=_(_(T,0),0);F;--z;){R=atoi(*++y);c=R>0?K=R,c:-2*R;}z=G/K+1;z+=g>z;I++;c++;F;++J<l;){P
    u=0,C,y;P*H=e+U,*o=H+b*T,*r=o-2*T,*v=r-T;F;x<G;x++){p(H,o-T,o);o+=T;H+=T;q[x]=.7*(q[x-1]+h[x]);}p(H,H,r);F;x;){P*S=e;w
    l=" !{   ,;lf6D@";j+=1-g;F;*++l;){*S++=*j;j+=*l%3*g-g+*l%5*b-3*b;}y=M(x-G);y=M(-J)*M(-x)+M(-J-1)*y+.01;y=sqrt((u+q[--x]+.1)/y);o-=T;C=i)+.5;K=M(-B);{N
    f=I,Q=0;F;f-Q>c;){P l=0;N H=C+c/2+1;H%=c;H+=(f+Q+c-2*H)/2/c*c;l=Z(Q);O=(A-W)*Z(H)/Z(f);_(O,R=B?K>=H:L/k>O+W);*(R?&Q:&f)=H;}Q+=f;*S=*j=Q/=2;s=B?s:Q+k;f=Q+n[x/z];n[x/z]=x%z+J%(z*2/g)?f:!putc(x?l[4*g*f/z/z/I-8]:10,stderr);H-=U;F
    O=156;O--;){H--;*H=e[O%U]*e[O/U]/y+.8**H;}C-=Q+.5;y=i/.9)-Q-C;p(p(r+T,r,r),H,r);h[x]=.7*h[x]+C*C;u+=h[x];u*=.7;d+=C>0?-y:y;}}j+=9;}_(_(x,x),x);}D 0;}

  11. #11
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thank you very much. It's fantastic)

  12. #12
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    My problem was "<" and ">" in comman-line arguments, because I wrote "glicbawls.exe m.pgm res.glic".
    Thanks for example .bat file.
    I also compiled BTW compressor thanks to your example.
    And source code have unkown identifier "Y", it should remove.
    Last edited by Madgeniy; 20th January 2011 at 18:15.

  13. #13
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    > And source code have unkown identifier "Y", it should remove.

    So, if you are building on a machine that does not, by default,
    use IEEE 64 bit floating point doubles, you'll have to define Y to
    be a command that switches it into that mode
    . If you fail to do
    so, your glicbawls executable will still be able to decompress its
    own compressed files, but you may be unable to exchange files with
    glicbawls on other machines.
    Well, I "failed to do so" though

  14. #14
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks)
    And one more.
    May be anybody can help to ask which image converter need for creating *.pic images?
    I have compressor based s+p transform, but I havn't necessary images.
    Attached Files Attached Files

  15. #15
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    Maybe something like http://www.cs.ccu.edu.tw/~cwlin/cour...notes/lena.pic
    From what I can see, it doesn't expect any header in the file, but you have to specify the image width/height.
    So I guess you can encode a grayscale .tga or .bmp and cut off the header

  16. #16
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    It's not suitable picture.
    And one more. No CREW compression executables or source code available. If have any other links, post it please.

  17. #17
    Member Alexander Rhatushnyak's Avatar
    Join Date
    Oct 2007
    Location
    Canada
    Posts
    237
    Thanks
    39
    Thanked 92 Times in 48 Posts

    Arrow

    Quote Originally Posted by Madgeniy View Post
    No CREW compression executables or source code available. If have any other links, post it please.
    I've never heard about CREW before reading this thread.
    Why are you collecting image compressors? Do you plan to launch a benchmarking site?
    Here's a list of lossless image compression benchmarks, and a list of 16 desirable features:
    http://www.linkedin.com/groups/Lossl...256.S.42558642

  18. #18
    Member
    Join Date
    Feb 2011
    Location
    St. Albans, England
    Posts
    20
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Just reading this post and decided to stick my oar in (as it were).

    The PIC format (also known as PICT) i've been working with recently. It's actually an OLD Apple format, hence why it's pretty much unused (because Apple wrote it, not because it's old). http://www.prepressure.com/library/file-formats/pict The only place i've seen PICT format used is in a "hack" for RSR files, which are obsolete images used in Poser/DAZ thumbnails. These files have the first 0xFC bytes removed and have been superceeded by PNG - however a LOT of the older 3D files I have still use RSR thumbnails. I've been working on a routine to convert the RSR files into PICT (simply by adding 0xFC nulls at the start of the file), then into PNGs, then removing the RSR file.

    Anyway - it begs the question - why are you converting to an obsolete format ? Surely PNG would be the optimal basis of a lossless image format ? Or would starting from a raw BMP type file then compressing with something akin to PAQ be better ?

  19. #19
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    The "PIC format" in that case is something different. Its just a raw dump of pixel values, while actual picture dimensions are provided manually.
    And as to "why" - experimental image codecs frequently use something simple and convenient.

  20. #20
    Member
    Join Date
    Feb 2011
    Location
    St. Albans, England
    Posts
    20
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ah - apologies if I caused any offence, I was merely enquiring as to using an obsolete image format for benchmarking. Adobe themselves have abandoned this format due to "too many versions". Then I went on a ramble, something i'm guilty of too frequently

    I'm all for lossless & lossy image compression for my archives of the forementioned 3D files - which use RSR, JPEG & PNG files. A lot of the files I have are simple ZIP or RAR archives, some with VISE installer, some with that awful BitRock installer. With over 300Gb of these files, I know there are better ways to re-encode & repack them. Because of the way these images are used, sometimes you need lossless compression. I've used PNGout & RIOT on the images with good results so far. I also used the BlueBox routine which is - frankly - amazing results for JPEG. However that's not archiving.

    Sorry, rambling again.

    Point is, i'm interested in how lossless images fair, mostly to reduce this huge library of files & convert the older files I have (the RSR -> PNG) so my collection is up-to-date with the modern versions of these modelling routines. So yes, i'm guilty of being selfish in my previous comment, and again - I apologise if it seemed I was being unduly heavy with my comments.

  21. #21
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    for lossless png and jpeg recompression, you can try precomp - http://schnaader.info/precomp.php
    (though disable its built-in compression, and use some good external compression - eg. 7z)

  22. #22
    Member
    Join Date
    Feb 2011
    Location
    St. Albans, England
    Posts
    20
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Thanks Shlewin, theres a lot more detail i've omitted which i'll make my own thread for - it seems i've inadvertantly hijacked this one.

  23. #23
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by Alexander Rhatushnyak View Post
    I've never heard about CREW before reading this thread.
    Why are you collecting image compressors? Do you plan to launch a benchmarking site?
    Here's a list of lossless image compression benchmarks, and a list of 16 desirable features:
    http://www.linkedin.com/groups/Lossl...256.S.42558642
    I want to compare some lossless compressors. Given benchamarks. It's not best way for benchmarking. I research it.

  24. #24
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Quote Originally Posted by EwenG View Post
    Anyway - it begs the question - why are you converting to an obsolete format ?
    I need such files for testing losless s+p -based compressor. Maybe I need just rewrite s+p-based compressor, but I still not shure.

  25. #25
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    Attempt #3 - its not a "obsolete format". Its just a raw bitmap w/o any header.

  26. #26
    Member
    Join Date
    Nov 2010
    Location
    World
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hello. Can anybody help me to work EDP encoder?
    Thanks.
    Attached Files Attached Files

  27. #27
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,368
    Thanks
    213
    Thanked 1,020 Times in 541 Posts
    It works with .pgm files, ones with a header like this:
    Code:
    P5
    600 440
    255
    Note that some converters add # comments to .pgm - this encode.exe doesn't support that.
    Use it like "encode.exe 1.pgm"

Similar Threads

  1. UCI Image Compression
    By maadjordan in forum Data Compression
    Replies: 5
    Last Post: 20th August 2017, 00:15
  2. GraLIC - new lossless image compressor
    By Alexander Rhatushnyak in forum Data Compression
    Replies: 17
    Last Post: 29th November 2010, 21:27
  3. Comparison of the recent CM demo coders
    By Shelwien in forum Data Compression
    Replies: 38
    Last Post: 13th June 2008, 14:21
  4. Image retargeting
    By Black_Fox1 in forum Forum Archive
    Replies: 1
    Last Post: 24th August 2007, 05:02
  5. image compressors
    By maadjordan in forum Forum Archive
    Replies: 5
    Last Post: 13th August 2007, 10:28

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •