A forward error correction method including inserting at least one filler
symbol into an input data stream at a pre-determined position, thereby
generating a precoded symbol group, FEC encoding the precoded symbol
group, thereby generating a code word, removing at least one of the
filler symbols from the code word, thereby generating an optimized code
word, inserting at least one filler symbol into the optimized code word
at the predetermined position, thereby generating a deoptimized code
word, FEC decoding the deoptimized code word, thereby generating a
decoded symbol group, and removing at least one of the filler symbols
from the decoded symbol group, thereby generating an output data stream.