A Forward Error Correction, FEC, encoding method in a data communication system, the method comprising: inputting a source block (500, 822) including a plurality of source payloads; selecting an Information Block Generation, IBG, mode from a first and a second IBG mode by an FEC encoder; converting the source block (500, 822) to an information block including a plurality of information payloads according to the IBG mode selected; transmitting an FEC delivery block (520, 820) to a receiver, wherein the FEC delivery block is generated by adding, to the source block (500, 822), a parity block (512, 824), constituted by parity payloads, generated by encoding the information block (504, 804) according to an encoding scheme, the encoding scheme applied based on the selected IBG mode, and transmitting a parity block for payload length (516, 906) through a header for the parity block to the receiver, the parity block for payload length comprising a length parity data (540, 908) generated by encoding information on a length of each source payload; and transmitting information indicating the selected IBG mode to the receiver, wherein the first IBG mode corresponds to generating K' information payloads by adding padding data to at least one of the plurality of source payloads in order to make the plurality of information payloads have equal size of S in case of that the source block consists of the plurality of source payloads with variable sizes, the K' information payloads resulting in P' parity payloads, and the second IBG mode corresponds to generating K information payloads by sequentially arranging the source payloads within a two-dimensional array, and filling the remaining parts of the two-dimensional array other than the parts where the source payloads are arranged with padding data, the K information payloads resulting in P parity payloads, wherein K< K', wherein when the encoding of the information block configured to have the two-dimensional array corresponding to the second IBG mode generates P'- P less parity payloads in comparison with the information block configured corresponding to the first IBG mode, and when an amount of the length parity data additionally required by the second IBG mode with respect to the first IBG mode is larger than a size of the P'- P parity payloads, the FEC encoder applies the first IBG mode and, otherwise, applies the second IBG mode. inputting a source block (500, 822) including a plurality of source payloads; selecting an Information Block Generation, IBG, mode from a first and a second IBG mode by an FEC encoder; converting the source block (500, 822) to an information block including a plurality of information payloads according to the IBG mode selected; transmitting an FEC delivery block (520, 820) to a receiver, wherein the FEC delivery block is generated by adding, to the source block (500, 822), a parity block (512, 824), constituted by parity payloads, generated by encoding the information block (504, 804) according to an encoding scheme, the encoding scheme applied based on the selected IBG mode, and transmitting a parity block for payload length (516, 906) through a header for the parity block to the receiver, the parity block for payload length comprising a length parity data (540, 908) generated by encoding information on a length of each source payload; and transmitting information indicating the selected IBG mode to the receiver, wherein the first IBG mode corresponds to generating K' information payloads by adding padding data to at least one of the plurality of source payloads in order to make the plurality of information payloads have equal size of S in case of that the source block consists of the plurality of source payloads with variable sizes, the K' information payloads resulting in P' parity payloads, and the second IBG mode corresponds to generating K information payloads by sequentially arranging the source payloads within a two-dimensional array, and filling the remaining parts of the two-dimensional array other than the parts where the source payloads are arranged with padding data, the K information payloads resulting in P parity payloads, wherein K< K', wherein when the encoding of the information block configured to have the two-dimensional array corresponding to the second IBG mode generates P'- P less parity payloads in comparison with the information block configured corresponding to the first IBG mode, and when an amount of the length parity data additionally required by the second IBG mode with respect to the first IBG mode is larger than a size of the P'- P parity payloads, the FEC encoder applies the first IBG mode and, otherwise, applies the second IBG mode.