ECM is a form of removing error correction from the data which is then added back into the file upon converting back to bin/img/etc.  This data is unneeded as burning to a cd/dvd or just storing on a harddrive have their own forms of error correction.

Here is a bit more detailed info about ECM:

---

CD Data Sectors

To understand what ECM does and how it works, you must first understand the sectors in a CD and what they're made of.

A typical data CD consists of thousands of 2352-byte sectors. Each sector looks like this (drawings not to scale):

http://img3.glowfoto.com/images/2008/02/29-1131235498M.gif

Only 2048 bytes in each sector are used for actual data. The rest are:

#  Sync - A special code used by the drive to tell where the sector begins
#  Address - This tells the drive which sector it's looking at
#  EDC - Error Detection Code, used to detect if the data is corrupt
#  ECC - Error Correction Code, used to correct the data if it is corrupt

When you create BIN/CUE files from a data CD, the BIN contains all of this data - all 2352 bytes from each sector.

The light-colored areas in the diagram (sync, address, data) are usually easy to compress. However, the dark areas (EDC, ECC) look like noise, and are nearly impossible to compress with conventional tools such as WinRAR. When you compress a BIN file in WinRAR, each sector ends up looking something like this:

http://img3.glowfoto.com/images/2008/02/29-1131242178M.gif

Sync, address, and data compress okay, but EDC and ECC just sit there like bricks taking up space. And they usually don't even need to be there!

---

Filtering Sectors Through ECM First

ECM selectively strips the sync, EDC and ECC codes from each sector, whenever possible. Once a BIN file has been run through ECM, the resulting sectors look like this:

http://img3.glowfoto.com/images/2008/02/29-1131263295M.gif

That process, in itself, doesn't reduce the BIN size very much. But notice how the only parts left are the light-colored (easy to compress) parts! Now, when you run the ECM file through WinRAR, you'll get much better results than before:

http://img3.glowfoto.com/images/2008/02/29-1131284050M.gif

---

But wait a minute, don't I need those ECC codes? Doesn't that make it less reliable?

You get the EDC/ECC codes back when you convert from ECM back to BIN
(which is required before burning - you can't currently burn a ECM file directly).

When you're archiving or transmitting files in a format such as RAR, you already have error detection built in. WinRAR doesn't particularly care about the CD sector EDC/ECC codes, and just handles BIN files like any other file.

So no, you're not losing any reliability by converting BIN files to ECM, as long as you make sure to convert them back before burning.

What about copy protection? Don't they use bogus ECC data? Wouldn't ECM ruin that?

ECM only eliminates EDC/ECC data for sectors where it's verifiably possible to recreate that data. If the ECC is bogus, ECM will preserve that bogus data.

You won't lose any data by converting a file to ECM and back again. The process is completely lossless.

---

For all you Linux Users:

The ECM source code is easily compiled for Linux with the following in the ECM source:

gcc -o ecm ./ecm.c
gcc -o unecm ./unecm.c

---

Download

Отредактировано Nacker (2008-03-14 01:56:25)