Parte a teoriei codurilor, codificarea blocului este o formă de corectare a erorilor înainte (FEC), cunoscută și ca cod de canal, care convertește mesajele în coduri specifice și trimite informațiile ca un bloc de date cu o lungime predeterminată. Blocurile mai mari de date facilitează decodarea informațiilor și corectarea erorilor care apar în timpul transferului. Codurile bloc și codurile convoluționale sunt două tipuri de cod utilizate în mod obișnuit în FEC. Aceste tipuri de cod permit ca un mesaj să fie trimis printr-o conexiune nesigură și să fie încă descifrabil atunci când sosește.
Utilizarea codării bloc este necesară din cauza zgomotului care apare atunci când este trimis un mesaj. Când datele trebuie să parcurgă o distanță lungă sau printr-o conexiune nesigură, greutatea și distanța Hamming sunt utilizate pentru a determina probabilitatea erorilor. Greutatea hamming este numărul de cifre necesare pentru a exprima toate combinațiile de coduri posibile, iar distanța hamming este câte erori ar trebui să apară înainte ca un bit să reprezinte o informație legitimă, dar greșită.
De exemplu, dacă un expeditor care folosește codificarea bloc ar dori să trimită un mesaj care ar putea folosi doar trei coduri posibile care aveau fiecare trei cifre, greutatea Hamming ar fi de trei. Codurile ar putea fi 000, 010 și 011. Dacă o eroare a dus la schimbarea oricărei cifre, cum ar fi 000 în 010, codul va citi ca un cod legitim (010), dar nu și codul pe care l-a intenționat expeditorul (000). . Astfel, distanța Hamming pentru acest cod este una, deoarece doar o cifră trebuie schimbată pentru a provoca o eroare pe care computerul nu o poate remedia.
Pentru a reduce distanța Hamming și a reduce erorile, datele sunt trimise ca un bloc de cod care este codificat în cuvinte de cod specifice de o anumită lungime. Biții de date ale mesajului original sunt numiți k biți. Cei k biți sunt traduși în n biți corespunzători, care sunt coduri care au fost selectate pentru a fi coduri mai lungi pentru fiecare k bit. Unuri sau zerouri sunt adăugate pentru a face biții o lungime uniformă și pentru a reduce distanța Hamming. Apoi aceste blocuri de n biți sunt transmise computerului receptor.
Gândirea la codificarea bloc este cea mai simplă când o comparăm cu două persoane care au o conversație. Când vorbiți într-o cameră zgomotoasă sau strigați pe o distanță lungă, există mai mult loc pentru erori în ceea ce aude persoana care o primește. Dacă propoziția este lungă, persoana poate corecta mai multe erori luând întreaga propoziție în context, dar propozițiile scurte au o rată de eroare mai mare, deoarece este mai greu de descifrat ceea ce spune persoana respectivă.
De exemplu, dacă o persoană strigă „Pisica roșie” și cealaltă aude „Pisica hrănită”, ea întrerupe propoziția incorect. Dacă, totuși, prima persoană a spus: „Am o pisică de culoare roșie” și a doua persoană a auzit „Am o pisică de culoare hrănită”, contextul propoziției facilitează determinarea persoanei care a spus de fapt „roșu” și nu „hrănit”. Acesta este principiul de bază din spatele codării blocurilor și al utilizării unor coduri mai lungi și uniforme pentru a ajuta computerele să traducă cu exactitate un bloc de informații.