HylaFAX The world's most advanced open source fax server

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [hylafax-users] ECM overhead (was: modem selection)



On 2004.03.15 09:37 Sebastian Flothow wrote:
Am Montag, den 15. März 2004, um 04:04, schrieb Lee Howard:
ECM faxing will still generally take longer than non-ECM faxing.

I recently read the manual of one of these all-in-one machines (fax, scanner, printer, copier) made by HP, and it stated explicitly that ECM faxing does not take any longer than non-ECM faxing.

This is not true except in some rare circumstances. However, I suspect that they were either only considering the negotiated bitrate transfers (14400 bps), they consider the time difference between a 40-second fax and a 45-second fax to be negligible, or they're trying to factor in MMR compression savings somehow, or some other weird statistical analysis.


The truth is that the image data is transmitted/received with ECM in an entirely different method than without ECM. So they don't compare easily enough to say categorically "they take the same amount of time" or "ECM is slower than non-ECM". One must say "usually", "roughly", and "generally". Instead of transmitting the entire page of image data at once and then asking if the quality was acceptable or not (as is without ECM), with ECM up to 64KB of image data is transmitted as a "block" with each block divided up into as many as 256 "frames" which each contain a 16-bit FCS/CRC sequence and other framing bits and then the receiver is asked if all frames in the block were received perfectly or not.

So the fundamental difference between ECM protocol and non-ECM protocol is that ECM expects *perfect* image quality while non-ECM only expects *acceptable* image quality. So the major difference in time between them occurs when there is an expected small amount of image data distortion. If one or two frames are bad then ECM will require a retransmission of those frames while they will be accepted as-is without ECM.

Even if we assume that there is no image data corruption occuring and that each page of image data is less than 64KB, the amount of data that must be transmitted is still slightly higher with ECM due to the synchronization sequence and additional framing bits. This difference can generally be considered negligible, however.

The only time non-ECM will take longer than ECM is when there is enough image data corruption to trigger a rejection by the receiver while the comparable ECM session would get the entire image more quickly piecemeal. This is a rare circumstance, but it does occur. Usually a receiver or a transmitter will give up (disconnect) sooner on non-ECM retransmissions than they will with ECM. So with ECM most equipment will tolerate a dozen retransmission attempts on a single block (per spec), but without ECM most equipment will only tolerate three retransmissions of a single page (per T.30 spec).

Of course, the manual was pretty much dumbed down, and I don't really believe this claim, but the obvious contradiction with what Lee (and maybe others) said here sparked my interest.

So, how much overhead does ECM actually cause?

Just for an example I've done two single-page fax scenarios on clean lines (no telco, no modulator, no wires, no noise, no retransmissions via software: t38modem-to-t38modem). Times are calculated as the time on the receiver from ATA to ATH. The image uses fine resolution, A4 page sizing, is 2D-MR compressed, and is transmitted at 14400 bps (should be a typical and fair comparison).


First: faxing the default HylaFAX coversheet (one block)
       ECM : 26.33 sec.
   non-ECM : 25.81 sec.
difference : 2%

Second: faxing /usr/share/ghostscript/7.03/examples/escher.ps (multiple blocks)
ECM : 190.92 sec.
non-ECM : 167.59 sec.
difference : 12%


I assume it depends strongly on line quality, as a poor line will require more retransmits.

Yes, that's true. It also depends on the image size.


Will it cause overhead on a perfect line, where no retransmissions are necessary?

Yes, but 2% - 12% may be negligible to you - it apparently is to HP. PLUS, you get the added benefit of "guaranteed" perfect image quality. So the cost of perfect image quality is that 2% - 12% time increase.


And, how big are the chunks which get retransmitted?

In ECM the only chunks that are retransmitted are the frames (usually 256 bytes each) that were corrupt. In non-ECM the whole page must be retransmitted. So you can see that ECM will always be slower until enough data is corrupt to trigger a non-ECM retransmission. At that point ECM will could be (and likely will be) quicker. Thus, if you have constantly noisy lines then ECM may actually save you time in general... but I think that will be infrequent.


But again, the comparison between ECM and non-ECM really isn't with time... it's with expected image quality. So comparing them on a time scale isn't really fair unless you understand that principle.

Lee.

____________________ HylaFAX(tm) Users Mailing List _______________________
 To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null
 *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxxxxx*




Project hosted by iFAX Solutions