Giống như các tiêu chuẩn nén trước đây ( ví dụ như MPEG-1, MPEG-2 và
MPEG-4),H.264 không được định nghĩa là bộ CODEC ( một cặp encoder và decoder) mà H.264 định nghĩa các cú pháp của luồng nén video. Trong thực tế, bộ
mã hóa và giải mã bao gồm các thành phần cơ bản như trong hình 8 và hình 9. So với các chuẩn nén trước bao gồm các thành phần như bộ dựđoán, biến đổi, lượng tử, mã hóa entropy, H.264 CODEC còn bao gồm bộ lọc deblocking và có nhiều thay đổi quan trọng trong các chi tiết về chức năng của các thiết bị.
Bộ mã hóa (hình 8) bao gồm 2 dòng dữ liệu , dòng forward (từ trái sang phải) và dòng tái tạo (từ phải sang trái). Dòng dữ liệu trong bộ giải mã được truyền từ phải sang trái trong hình 9.
35
Bộ mã hóa dòng forward
Một khung hoặc trường lối vào Fn được xử lí trong các khối của một macroblock(
đáp ứng cho 16x16 pixel trong một hình bình thường). Mỗi macroblock được mã hóa ở chế độ trong ảnh hoặc liên ảnh, với từng block trong macroblock. Một dự
doán PRED (kí hiệu là P trong hình 8) được định dạng dựa trên các mẫu ảnh tái tạo lại. Trong chế độ nén liên ảnh, PRED được hình thành từ slice hiện thời vừa được mã hóa, giải mã và tái tạo lại (uF′ n trong hình, chú ý rằng các mẫu không được lọc được sủ dụng để tạo nên PRED).
Trong chếđộ nén trong ảnh, PRED được hình thành bằng cách dựđoán bù chuyển
động từ một hoặc hai ảnh tham khảo được. Trong hình 2.8, ảnh tham khảo là ảnh F′
n −1 vừa được mã hóa. Nhưng, dựđoán tham chiếu đối với mỗi macroblock có thể được chọn từ các hình ảnh trong quá khứ hoặc trong tương lai vừa được mã hóa, tái tạo và lọc ( theo thứ tự hiển thị) .
Dự đoán PRED trừ với block hiện tại đer tìm ra sự khác biệt , được biến đổi và lượng tử hóa để thu được hệ số lưởng tử X sẽ được sắp xếp lại và mã hóa entropy. Hệ số được mã hóa entropy cùng với thông tin về cạnh được mã hóa trong mỗi block trong macroblock (chếđộ dựđoán, mức lượng tử, thông tin về vector chuyển
động, …) định dạng nên các dòng bit để truyền tơi lớp mạng trừu tượng để truyền hoặc lưu trữ.
36
Bộ mã hóa dòng tái tạo
Bên cạnh việc mã hóa và truyền tải các block trong macroblock, bộ mã hóa còn giải mã ( tái tạo) chúng để làm tham khảo cho các dự đoán trong tương lai. Hệ số X
được giải lượng tử (Q−1 ) và biến đổi ngược (T−1 ) để thu được sụ khác biệt block D′ n . Block dựđoán PRED được cộng vào để tạo thành block tái tạo uF′n . Bộ lọc được ứng dụng để giảm ảnh hưởng của méo và các ảnh tham khảo dựđoán
được tạo từ 1 chuỗi các block F′n.
Mục đích chính của bộ giải mã dòng tái tạo trong bộ mã hóa là để chắc chắn rằng cả
bộ mã hóa và giải mã đều sử dụng các tham số khung đã xác định để tạo ra dựđoán P. Nếu không có các tham số này, dự báo P ở bộ mã hóa và giải mã sẽ không được xác định, dẫn đến lỗi giữa bộ mã hóa và giải mã.
Hình 9. Bộ giải mã
Bộ giải mã
Bộ giải mã nhận được các dòng bit được nén từ NAL. Các thành phần dữ liệu được giải mã entropy để tìm ra hệ số lượng tử X. Sử dụng giải lượng tử và biến đổi ngược để thu được Dn. Sử dụng các thông tin header đươc giải mã từ các dòng bit, bộ mã hóa tạo ra block dự đoán, giống hệt với PRED được tạo ra ở bộ mã hóa. PRED được cộng với D′ n để tạo ra uF′n , sau đó được lọc để tạo ra các block F′n.
37