Forward Error Correction (FEC) đã phát triển cho các gói của luồng truyền thông đó là một cách tiếp cận khác nhau để giải quyết vấn đề mất gói trong giao tiếp Internet.
Trong các cơ chế lặp khép kín, chẳng hạn cơ chế Yêu cầu lặp tự động (Automatic Repeat Request: ARQ) được sử dụng để phục hồi các gói bị mất do phương thức truyền lại. Cơ chế lặp mở, chẳng hạn như cơ chế FEC truyền tải thông tin dự phòng với các dữ liệu truyền thông ban đầu để các gói dữ liệu bị mất có thể được phục hồi từ sự thích nghi cơ chế ARQ. Tuy nhiên, sẽ là không phù hợp để phục hồi nếu là dữ liệu thời gian thực được truyền trong mạng diện rộng, chẳng hạn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ như Internet. Việc truyền lại làm cho độ trễ quá lớn. Ngoài ra cơ chế ARQ không phù hợp với kiểu truyền dữ liệu Multilcast.
Cơ chế FEC được đề xuất gửi các gói tin “dư thừa” tất cả các gói tin thứ n thu được bằng cách loại bỏ n gói tin khác. Cơ chế này cho phép phục hồi mất mát từng thông tin trong một thông tin gói n. Nó làm tăng tốc độ dữ liệu r chỉ ra bởi r/n. Nhưng nếu một gói bị mất cần được phục hồi thì người nhận cần phải chờ đến gói tin “dư thừa” tiếp theo. Như vậy, cơ chế làm tăng đáng kể trung bình trễ đầu cuối khi mà tỷ lệ mất gói thường xuyên.
FEC là cơ chế đặc biệt giải quyết vấn đề mất gói tin liên tiếp. Ý tưởng là thêm các bản sao nén ở mức cao vào trước khung k của các gói hiện tại. Nếu gói tin thứ n( n là thứ tự gói tin) bị mất. Thì bất kỳ các gói tin sau n+1, n+2, n+3,…n+k phải được nhận thành công. Như vậy, mất gói tin kế tiếp của k có thể cho được phép khi mà chất lượng thay thế thấp. Sự lựa chọn tối ưu của k là sự điều hòa giữa việc mất gói tin liền kề trong mạng và băng thông sẵn có. Sự gia tăng của tốc độ dữ liệu được tạo ra bởi các thông tin dư thừa phụ thuộc vào các chương trình nén. Nếu các bộ mã hóa băng thông thấp được sử dụng cho các Frame dư thừa, tốc độ dữ liệu tăng không đáng kể, ngay cả khi k được thiết lập một vài Frame. Tuy nhiên, việc dự phòng nhiều cũng tác động tiêu cực đến tắc nghẽn mạng nhưng cũng tạo độ tin cậy cho mạng hơn.
Trong trường hợp luồng thời gian thực có giá trị tối đa của k thêm vào là trễ trong mã hóa FEC và giải mã FEC, thì cơ chế này bổ sung ít nhất k Frame trễ cho trễ đầu cuối. Vì vậy giá trị của k phải được lựa chọn cẩn thận để ngăn chặn trễ bổ sung của các gói tin phát lại do đến chậm và do sắp xếp lôn xộn. Cách tiếp cận này có ưu điểm độ trễ bổ sung tại thời điểm nhận phụ thuộc hoàn toàn vào gói tin bị mất liên tiếp. Nếu không có sự mất gói xảy ra, không có sự bổ sung trễ được đưa vào. Nếu chỉ có một gói tin bị mất. thì sự phục hồi có thể đạt được ngay sau khi gói tin kế tiếp đến. Do đó, độ trễ của người nhận sẽ tăng lên với số lượng gói tin bị mất.