- khung hiện hành + vecto chuyển động
525 CSIF 4:2:0 CCIR 601 625 CCIR 601
2.3.3.4. MPEG-4 AVC/H.264 (Part 10).
MPEG-4 Part 10 mới được thêm vào gần đây, cũng được gọi là MPEG-4 AVC (mã hoá Video tiên tiến) hay H.264, đưa ra khả năng nén với tỷ lệ lớn hơn. Nó có thể cung cấp chất lượng Video DVD với tốc độ bit nhỏ hơn 40% so với MPEG-2 và hứa hẹn thích hợp cho Video chuyển động đầy đủ qua các kết nối không dây, vệ tinh, và Internet ADSL. Nó cũng là một trong các bộ mã hoá/ giải mã Video đã được lựa chọn cho HD DVD Laser Blue Ray.
H.264 cũng sử dụng các dư thừa không gian, thời gian và tâm lý thị giác để cải thiện hiệu suất nén Video. Các cấu trúc thêm so với MPEG-2 chứa trong H.264 bao gồm:
Dự đoán chuyển động kích thước khối thay đổi với các kích thước khối nhỏ tới 4x4 pixel.
Bù chuyển động độ chính xác 1/ 4 mẫu cho chuyển động mềm mại hơn.
Các vector chuyển động qua các biên ảnh tương phản với ảnh tham chiếu được giải mã trước đó.
Bù chuyển động nhiều ảnh tham chiếu, so với chỉ một ảnh trước đó trong các bộ mã hoá/ giải mã đã có.
Tách thứ tự tham chiếu từ thứ tự hiển thị cho độ mềm dẻo cao hơn và loại bỏ các trễ phụ liên kết với mã hoá dự đoán hai hướng.
Tách các phương pháp thể hiện ảnh với khả năng tham chiếu ảnh.
Dự đoán lượng giá cho phép tín hiệu dự đoán bù chuyển động được lượng giá và bù một lượng xác định bởi bộ mã hoá. Điều này có thể cải thiện hiệu suất nén rất lớn cho các cảnh chứa các bóng mờ, và cũng có thể được sử dụng mềm dẻo cho các mục đích khác.
Cải thiện suy luận chuyển động "bỏ qua" và "trực tiếp" để mã hoá tốt hơn Video chứa chuyển động toàn cục.
Dự đoán không gian có hướng cho mã hoá Intra, ngoại suy các cạnh của các phần được giải mã trước đó của ảnh hiện thời và dùng nó trong các miền của ảnh được mã hoá Intra. Điều này cải thiện chất lượng của dự đoán tín hiệu, và cũng cho phép dự đoán từ các miền lân cận không được mã hoá sử dụng mã hoá Intra.
Lọc tách khối lặp để giảm lỗi khối.
Nén Video sử dụng H.264/ AVC tạo ra Video ở tốc độ bit thấp hơn điển hình 2 đến 4 lần so với MPEG-2 và chuẩn nén MPEG-4 trước đó, ở các mức chất lượng Video tương ứng.
Sơ đồ hoạt động của bộ mã hoá và giải mã H.264
Bộ mã hoá có thể được chia làm 2 phần chính (phân theo 2 dòng dữ liệu) đó là: phần thuận (từ trái qua phải) và phần tái tạo (từ phải qua trái).
Bộ mã hoá (phần thuận) hoạt động như sau:
Một khung hình hay một mành đầu vào Fn được xử lý ở các đơn vị một khối macroblock.
Khi chế độ mã hoá theo thời gian được tiến hành: ở hình 3.4, Fn được so sánh với khung hình tham khảo biểu diễn bởi F’n-1 trên hình, tiến hành quá trình ước lượng chuyển động ME. Độ sai khác thu được khi ước lượng chuyển động giữa vị trí macroblock hiện tại với macroblock được chọn tham khảo biểu diễn dưới dạng một vector chuyển động. Dựa trên vector chuyển động, quá trình bù chuyển động theo thời gian (MC) diễn ra (tại nút P).
Khi chế độ mã hoá theo không gian được tiến hành, Fn được tiến hành bù chuyển động theo khung hình tại nút P, với các hình ảnh tham khảo là các khung hình đã được tái tạo trước đó F’n.
Dự đoán P được trừ từ các macroblock tham khảo cho các macroblock hiện tại để tạo ra macroblock Dn thể hiện độ sai khác (độ dư thừa dữ liệu).
Dn được biến đổi (T) và lượng tử hoá Q, cho đầu ra là các hệ số X. Các hệ số đầu ra được sắp xếp lại và mã hoá entropy.
Sau cùng các hệ số, các vector chuyển động, các thông tin header cho từng macroblock tạo dòng bit qua nén sẵn sàng cho qua NAL (Network Abstraction Layer) để truyền dẫn và lưu trữ.
NALX X Dn D’ n + + - + P Trong ảnh Liên ảnh uF’ n
Fn (Hiện tại) F’ n (Xây dựng lại) ME MC Chọn dự đoán trong ảnh Dự đoán trong ảnh Bộ lọc T Q T-1 Q-1 Xếp lại thứ tự Mã hoá Entropy F’ n-1 (Tham chiếu)
Hình 2.15. Sơ đồ nguyên lý của bộ mã hoá
Bộ mã hoá(phần tái tạo lại):
Các hệ số X được thay đổi lại tỉ lệ (Q-1) và biến đổi ngược (T-1) tạo phần sai khác D’n đã qua giải mã.
Quá trình dự đoán bù chuyển động P được thêm vào D’n tái tạo một macroblock (uFn); sau khi được đưa qua bộ lọc macroblock này được lưu lại làm khung ảnh tham khảo F’n cho các khung hình mã hoá tiếp sau.
Bộ giải mã hoạt động như sau: Bộ giải mã nhận một chuỗi bit nhị phân đã được nén từ NAL.
Tiến hành giải mã entropy luồng bit nén thành các hệ số lượng tử X.
Mã hoá run-level và sắp xếp lại được thiết lập (lúc này theo chiều nghịch). X được thay đổi lại tỉ lệ (Q-1) và biến đổi ngược (T-1) tạo phần sai khác D’n đã qua giải mã.
Sử dụng các thông tin về header đã giải mã, bộ giải mã tái tạo ra các block dự đoán P. NAL X D’ n + + Liên
ảnh uF’ n Trong ảnh P F’ n-1 (Tham chiếu) F’ n (Xây dựng lại) MC Bộ lọc Dự đoán trong ảnh T-1 Q-1 Xếp lại thứ tự Giả mã Entropy
P được thêm vào D’ để tái lập ra macroblock uF’n. Macroblock được tái tạo qua bộ lọc sẽ được lưu lại và sử dụng để tạo nên khung hình được giải mã F’n.
Hình 2.16. Sơ đồ nguyên lý bộ giải mã H.264 ME: ước lượng chuyển động
MC: bù chuyển động T (transform): Biến đổi
Q (Quantisation): Quá trình lượng tử hóa
Trên hình vẽ ta thấy có bộ lọc được sử dụng. Bộ lọc tích hợp này giúp cải thiện chất lượng cho ảnh được tái tạo (để sử dụng cho quá trình dự đoán về thời gian), không áp dụng cho các macroblock được tái tạo cho quá trình dự đoán trong khung hình.