I Slices P Slices
Hình IV.10 Minh họa dự đốn liên khối của H.264/AVC Sử dụng 5 Frame cho bù chuyển động
IV.3.3 KHỐI NÉN KHƠNG GIAN
Nén theo khơng gian hay cịn gọi là nén tạo ảnh Intra, chỉ sử dụng thơng tin trong bức ảnh hiện tại mà khơng cĩ sự tham khảo ảnh khác, tức là mã hố độc lập mà khơng cần thơng tin phụ cho giải mã khơng cần tham khảo các ảnh khác, do đĩ hiệu quả nén chỉ phụ thuộc vào sự loại bỏ thơng tin dư thừa về khơng gian nên sẽ khơng được hiệu quả lắm. Nhưng ảnh I cho phép người xem chuyển đổi các kênh, cung cấp điểm truy cập ngẫu nhiên vào dịng bit nén và ngăn chặn sai số truyền. Ngồi ra ảnh I cịn được dùng liên tục để tạo thành các điểm tựa cho dịng dữ liệu trong quá trình giải mã, cũng như được sử dụng làm điểm chuyển mạch trong quá trình phân cấp. Ảnh I chỉ dùng 2 bit/ pixel được mã hĩa.
IV.3.3.1 Chia ảnh thành các MacroBlock
Một trong những ưu điểm của chuẩn H.264/AVC là nĩ cĩ thể phân chia thành các kích thước nhỏ để mơ tả chuyển động. Phân vùng của thành phần luma cĩ các kích thước mẫu như 16 x 16, 16 x 8, 8 x 16 và 8 x 8 phù hợp cho các chuyển động ở những khu vực giống nhau trong ảnh. Khi sử dụng khối 8x8, cịn cĩ thể phân chia thành 4 cỡ nhỏ hơn là 8x8, 8x4, 4x8 hoặc 4x4 rất thích hợp khi xử lý chuyển động tại chỗ cĩ nhiều chi tiết, làm giảm hiện tượng vỡ khối và nâng cao chất lượng hình ảnh.
IV.3.3.2 Dự đốn trong ảnh (Intra-frame)
Dự đốn Intra là kiểu dự đốn sử dụng các MB kế bên đã được mã hĩa trong cùng một frame để tham khảo, nhằm khai thác sự tương quan về khơng gian. Kiểu dự đốn Intra thì khơng được sử dụng cho dự đốn các đường biên của slice để giữ tính độc lập giữa các slice. Đối với các chuẩn trước đây việc dự đốn sẽ thực hiện trong miền biến đổi, cịn ở H.264/AVC thì dự đốn được thực hiện trong miền khơng gian bằng việc tham khảo tới các mẫu bên cạnh của các khối đã được mã hĩa. Trong H.264/AVC hỗ trợ các kiểu dự đốn INTRA 4 x 4, INTRA 8 x 8, INTRA 16 x 16 và kiểu dự đốn INTRA-PCM.
IV.3.3.2.a INTRA LUMA 4 x 4
Mỗi MB được chia thành 16 khối con 4x4, mỗi khối 4x4 được dự đốn khơng gian từ các khối bên cạnh. Để cĩ thể dự đốn giá trị mẫu của khối 4x4 luma cần sử dụng 13 mẫu kế cận bao gồm 4 mẫu của khối kế cận bên trái, 4 mẫu của khối kế cận bên trên, 4 mẫu của khối kế cận đỉnh phải, và 1 mẫu của khối kế cận đỉnh trái. Mỗi khối 4x4 của thành phần
luma cĩ thể dùng 1 trong 9 kiểu dự đốn. Ngồi kiểu dự đốn DC, cịn hỗ trợ 8 kiểu dự đốn định hướng.
IV.3.3.2.b INTRA LUMA 16 x 16
Chỉ 1 kiểu dự đốn được áp dụng cho tồn bộ MB thích hợp cho những miền ảnh trơn tru, phẳng đều. Bốn kiểu dự đốn được hỗ trợ là: chiều ngang, chiều thẳng đứng, dự đốn DC và dự đốn mặt phẳng. Trong kiểu dự đốn mặt phẳng sử dụng phương trình đường cong 3 thơng số để dự đốn độ luma, độ dốc theo chiều ngang, chiều thẳng đứng cho phù hợp với các điểm ảnh bên cạnh, và kiểu dự đốn này cĩ hiệu quả rất cao trong vùng cĩ thành phần luma ít thay đổi.
Để cĩ thể dự đốn giá trị mẫu của khối luma 16x16 cần sử dụng 33 mẫu kế cận bao gồm 16 mẫu của khối kế cận bên trái, 16 mẫu của khối kế cận bên trên và 1 mẫu của khối kế cận đỉnh trái.
IV.3.3.2.c INTRA CHROMA 8x8
Dự đốn cho thành phần chroma được thực hiện một lần cho tồn bộ MB, 64 giá trị mẫu chroma sử dụng các kiểu dự đốn giống như dự đốn Intra 16x16 cho thành phần Luna: Dự đốn theo chiều ngang, dự đốn theo chiều đứng, dự đốn DC, dự đốn mặt phẳng.
IV.3.3.2.d INTRA-PCM
Là một MB 16x16, chứa một mặt phẳng các thành phần luma và chroma chưa nén. Làm cho bộ mã hĩa xử lý đơn giản hơn bằng cách xử lý mã hĩa và biến đổi thay vì phải gửi trực tiếp mẫu các giá trị mã hĩa. Và kiểu dự đốn I-PCM cịn cĩ một số lợi ích sau:
+ Cho phép mã hĩa chính xác ký tự đại diện của giá trị mẫu.
+ Cung cấp giá trị đúng cho những bức ảnh cĩ nội dung bất thường mà khơng cần mở rộng dữ liệu quan trọng.
+ Cho phép đặt giới hạn số lượng bit điều khiển MB mà khơng ảnh hưởng đến hiệu suất nén.
IV.3.3.3 Dự đốn trọng số:
Là một phương pháp điều chỉnh mẫu cho bù chuyển động dữ liệu trong MB P hoặc MB B rất thích hợp cho mã hĩa mặt người hoặc mã hĩa chuyển động. Cĩ 3 loại dự đốn trọng số như sau:
1. P slice macroblock, dự đốn trọng số “hiện thị” (explicit) 2. B slice macroblock, dự đốn trọng số “hiện thị” (explicit). 3. B slice macroblock, dự đốn trọng số “ẩn” (implicit).
Mỗi mẫu dự đốn pred0(i, j) hoặc pred1(i, j) được co dãn bởi trọng số thống kê W0 hoặc W1 trong dự đốn bù chuyển động trước đĩ. Ở loại “hiện” thì trọng số thống kê được xác định bởi bộ mã hĩa và truyền đi ở Slice header. Nếu sử dụng loại “ẩn” thì trọng số thống kê W0, W1 được tính tốn dựa vào mối quan hệ vị trí thời gian của list 0 và list1 trong ảnh tham khảo. Giá trị trọng số thống kê lớn nếu ảnh tham khảo gần giống với ảnh hiện tại và giá trị trọng số thống kê nhỏ nếu ảnh tham khảo khác với ảnh hiện tại.
Một số ứng dụng cho phép cả 2 hàm ẩn và hiện điều khiển sự liên quan của ảnh tham khảo đối với quá trình bù chuyển động, dự đốn trọng số cĩ hiệu quả đặc biệt trong mã hĩa các hiệu ứng mờ dần như minh họa ở hình IV.15.
IV.3.3.4 Kỹ thuật tiên đốn bù chuyển động và ước lượng chuyển động
Kỹ thuật tiên đốn bù chuyển động là kỹ thuật phán đốn theo hướng chuyển động của các bức ảnh, nhằm thay thế gần đúng các ảnh thành phần trong dãy video. Ngồi ra bù chuyển động cịn làm giảm sự dư thừa về mặt khơng gian giữa các bức ảnh, hạn chế các thơng số chuyển động bởi việc dùng vector chuyển động để mơ tả sự dịch chuyển. Những vector chuyển động ở các khối kế cận sẽ cung cấp một giá trị pixel ước lượng khác nhau và được tính tốn trong mỗi khối của MB. Giá trị dự đốn là giá trị trung bình của các ước lượng này. Dự đốn chuyển động của MPEG-2 cĩ nhược điểm là ảnh tham khảo thích ứng nhất với MB hiện tại phải kích thước 16x16 và vùng thích ứng phải nằm ngay trong ảnh tham khảo đĩ dẫn đến hiệu quả nén chưa cao. Nguyên tắc bù chuyển động trong H.264/AVC cũng giống như các chuẩn trước là tìm kiếm trong ảnh tham khảo khối thích hợp nhất sao cho năng lượng của phần sai số dự đốn là nhỏ nhất, tuy nhiên ưu điểm của chuẩn H.264/AVC cĩ thể bù chuyển động với kích thước nhỏ 8x8, 4x4 hoặc bù chuyển động trên cơ sở các điểm ảnh con, đặc điểm này đã mang lại 12% hiệu quả nén so với các chuẩn cũ.
IV.3.3.4.a Bù chuyển động thích nghi khối
Bù chuyển động với kích thước khối thay đổi sẽ dẫn đến việc phức tạp trong tính tốn, vì thao tác tìm kiếm sẽ nhiều hơn và số bit cần thiết cho việc mã hĩa cũng sẽ nhiều hơn, do đĩ H.264/AVC bổ sung phương pháp bù chuyển động thích nghi khối, nghĩa là nếu năng lượng sai số dự đốn quá lớn thì sẽ bù chuyển động với kích thước nhỏ và ngược lại. Hình IV.16. minh họa sự khác nhau giữa sai số cĩ bù chuyển động và khơng bù chuyển động của khối 16x16.