Chúng ta thường nhắc đến 2 loại mã hóa dòng tín hiệu: mã hóa nguồn (source coding) và mã hóa kênh (channel coding). Vậy sự khác biệt giữa 2 loại mã hóa này là gì?
Dưới đây là vị trí của 2 loại mã hóa trong sơ đồ của một khối hệ thống truyền tin số.
Về bản chất, mã hóa nguồn là quá trình rút ngắn các bit tín hiệu dư
thừa để có thể sử dụng tối đa dung lượng của kênh truyền. Nguồn thông
tin có thể là dữ liệu thoại, số liệu hay hình ảnh. Tín hiệu được mã hóa
thành các bit thông tin theo những quy tắc khác nhau, để nhằm đạt được
tới giới hạn Entropi của nguồn (Entropi chỉ ra lượng thông tin có trong
mỗi ký tự, vì tần xuất xuất hiện của mỗi ký tự là khác nhau, nên mỗi ký
tự mang một lượng thông tin khác nhau). Một số phương pháp mã hóa nguồn nổi tiếng như Huffman, Shannon Fano, Lempel-Ziv-Welch...
Còn mã hóa kênh thực chất là quá trình chèn thêm các bit dư vào
chuỗi ký tự, với mục đích bảo vệ dòng tín hiệu khỏi bị can nhiễu từ
những kênh thông tin khác, các bit thêm vào này dùng để phát hiện và sửa
lỗi. Một số phương pháp mã hóa kênh cơ bản như: Hamming, Reed-Solomon, mã vòng, mã
chập...