Quá trình mã hóa Huffman có 2 nhược điểm đi với các bộ CODEC video. Thứ nhất là bộ giải mã phải có cùng tập từ mã như bộ mã hóa. Việc truyền đi thông tin trong bảng xác suất tới bộ giải mã sẽ làm tăng thêm phần mào đầu và giảm hiệu suất nén, đặc biệt là với các đoạn video ngắn. Thứ hai, bảng xác suất cho một dãy video lớn (cần có để sinh ra cây Huffman) không thể tính toán được trước khi dữ liệu video được mã hóa, do đó có thể sinh ra một khoảng thời gian trễ quá lâu cho quá trình mã hóa.
Bảng 2.5 Hệ số biến đổi hình ảnh MPEG-4 (TCOEF) VLCs
(trích đoạn, tất cả các mã <9 bit)
Vì những lý do này, các chuẩn mã hóa video và hình ảnh gần đây định nghĩa các tập hợp các từ mã dựa trên sự phân phối xác suất của dữ liệu video “di truyền”. Hai ví dụ về các bảng VLC tính trước dưới đây được lấy từ MPEG-4 Visual (bản đơn giản).
Các hệ số biến đổi TCOEF (Transform COEFficient)
MPEG-4 Visual sử dụng mã hóa 3D các hệ số lượng tử mà mỗi từ mã đại diện cho 1 tổ hợp của (chạy, mức, gần nhất). Toàn bộ 102 tổ hợp có các VLC được gán cho chúng và 26 mã này được đưa ra trong bảng 2.6.
76 VLC khác được định nghĩa với mỗi VLC có chiều dài tối đa là 13 bít. Bít cuối cùng của mỗi từ mã là bít dấu “s”, xác định dấu của hệ số giải mã (0 là dương, 1 là âm). Mỗi tổ hợp (chạy, mức, gần nhất) mà không có trong bảng được mã bằng cách dùng 1 dãy thoát, một mã THOÁT đặc biệt (0000011) theo sau bởi một mã có chiều dài cố định 13 bit mô tả giá trị của chạy, mức và gần nhất.
Bảng 2.6 Sự sai lệch các vectơ chuyển động MPEG4 (MVD) VLC Sự sai lệch vectơ chuyển động (MVD)
Mỗi vectơ chuyển động mã hóa vi sai (MVD) được mã hóa như là một cặp VLC, 1 cho thành phần x và 1 cho thành phần y. Một phần của bảng VLC được chỉ ra trong bảng 2.6. Ngoài ra, 49 mã khác (dài từ 8 đến 13 bít) không được nêu ra ở đây. Chú ý rằng những mã ngắn nhất biểu diễn các sự sai lệch vectơ chuyển động nhỏ (chẳng hạn MVD = 0 được biểu diễn bằng 1 bít “1”).