X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f996b,582bd0e9946ffad4 X-Google-Attributes: gidf996b,public X-Google-ArrivalTime: 2001-06-21 06:03:21 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!howland.erols.net!portc.blue.aol.com.MISMATCH!portc01.blue.aol.com!news.stealth.net!news.uni-stuttgart.de!rz.uni-karlsruhe.de!news.rz.uni-karlsruhe.de!not-for-mail From: Markus Gebhard Newsgroups: alt.ascii-art Subject: Re: Jave Movieplayer suggestions Date: Thu, 21 Jun 2001 15:02:28 +0200 Organization: University of Karlsruhe, Germany Lines: 73 Message-ID: <3B31F064.CBA4343E@rz.uni-karlsruhe.de> References: <9grjv8$35e$2@news.inet.tele.dk> NNTP-Posting-Host: wn4-jarjar.wn4.uni-karlsruhe.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news.rz.uni-karlsruhe.de 993128600 14349 172.20.12.141 X-Complaints-To: usenet@rz.uni-karlsruhe.de X-Mailer: Mozilla 4.77 [en] (Win98; U) X-Accept-Language: en Xref: archiver1.google.com alt.ascii-art:6327 Hi, > As usual .. Tons of suggestions > Posted here in this group to be discussed. Great. I want to make some statements about the compression: > 4) [Moviecompression) > Store each frame as only the differences from another frame. It doesn't have to > be the previous frame (though this is easier to implement), for optimum > compression it should be based on the frame in the movie that remsembles it the > most. I have done lots of testing now and the result is clear to me: I will not add this kind of differential compression to the jmov-format. Here is what I have done: I have written a converter to convert the star wars asciimation (http://www.asciimation.co.nz/) into the jmov format. The asciimation format is very simple, because it stores all frames in a compressed text file. Each frame has a number telling for how long it has to be displayed (how often it has to be repeated when using 15fps). (Note: the other things discussed about differences of frames in the asciimation-faq do not apply to the player, just to the way the animation has been created) To handle this multiplicity in jmov I have added a new option to the jmov format. The jmov-command for a new frame ("J: ...") without compressed content code attached will be handled just as if the content did not change since the last frame. Now here are the results from my tests: +------------------+-------------------+ | raw | ZIPed | (13934frames) |Bytes/ | Bytes/ | | Bytes per frame | Bytes per frame | +-------------+------------------+-------------------+ | original | 1688323/ | 72326/ | | asciimation | 121.1 | 5.2 | +-------------+------------------+-------------------+ | JMOV | 954966/ | 65523/ | | | 68.5 | 4.7 | +-------------+------------------+-------------------+ | JMOV | 369507/ | 51004/ | |diffenential | 26.5 | 3.7 | +-------------+------------------+-------------------+ So supporting differential compression is 22% better (after ZIP compression) than compressing w/o looking at the differences. On the other hand it makes it much more difficult to write software for the jmov format. So I do not want to add support for this kind of compression. BTW: I think 4.7Bytes per frame is very good - the best ascii animation compression I have seen in the www (consider the JavaScript animations). But if you insist on getting better compression rates have a look at AsciiPacker.java in the Jave Player package. There is only one (real) compression algorithm in there for compressing a single frame - and it is not a very good one either. Today I have tested two ideas for improving it but the result always was the same: the raw jmov file becomes slightly smaller, but the ZIPed one grows... > 7) [colourchange] > A supported command to change output colours. Support for that will be available in the next release. Markus PS: It is an open source project - everybody is invited to improve the player :)