0
Tải bản đầy đủ (.pdf) (67 trang)

GIẢI THUẬT

Một phần của tài liệu MÃ HÓA VIDEO MỞ RỘNG ĐƯỢC (Trang 53 -53 )

A. Mở rộng được theo không gian và chất lượng 1. Lựa chọn dự đoán mode Intra

Trong SVC, khi có sự thay đổi ý nghĩa giữa khung hình hiện tại và khung hình tham chiếu (ví dụ như sự chuyển cảnh), sẽ hiệu quả hơn nếu mã hóa MB bằng intra mode. Vì vậy, bộ mã hóa phỉa tính Rdcost cho toàn bộ mode intra (intra_4x4 và intra_16x16),

52

đồng thời tính tất tả các hướng dự đoán. Quá trình này rất phức tạp và số lượng giá trị tính toán cao gấp 5 lần so với trường hợp các mode inter. Tuy nhiên số liệu thông kê cho thấy rằng xác suất của MB có intra mode trong B slice khoảng 7 đến 4%. Đây là một xác suất nhỏ, vì vậy chúng ta nên phân biệt MB được mã hóa intra trong B slice tại lớp nâng cao và chỉ tính giá trị Rdcost cho những mode intra của những MB này.

Lớp nâng cao là một chuyển động và sự sàng lọc thông tin dư thừa từ lớp cơ sở. Vì vậy, đối với các block intra trong lớp nâng cao không gian và chất lượng BL_pred và Intra_4x4 thường là mode được lựa chọn trong hầu hết các trường hợp. Không cần Intra_16x16, BL_pred và Intra_4x4 có thể giữ được độ chính xác của dự đoán intra. Vì vậy Intra_16x16 được bỏ đi để giảm lượng tính toán của mã hóa intra trong khi vẫn giữ được hiệu quả của quá trình mã hóa.

Hình 4.2 Luồng công việc thực hiện giảm mode ứng viên cho mã hóa tại lớp cơ sở [4] Hình 4.2 chỉ ra luồng công việc đề cập cho việc lựa chọn phương pháp dự đoán intra mode. Trong đó ModeBL đại diện cho mode MB lựa chọn tối ưu tại lớp cơ sở ứng với MB hiện tại tại lớp nâng cao. Chúng ta phân chia các mode thành 2 lớp: class_inter và class_intra. Nếu ModeBL là Intra_4x4 hoặc Intra_16x16, thì MB tương ứng tại lớp nâng cao phụ thuộc vào class_intra, và các mode ứng viên sẽ giảm xuống là BL_pred và Intra_4x4.

Các frame B tại mức thời gian thấp được tạo ra với khoảng cách lớn, và chúng mang nhiều thông tin cấu trúc và chuyển động hơn tại các mức thời gian cao. Vì vậy các

53

các MB tại các frame này có xác suất được mã hóa intra cao. Và kết quả là nếu các ModeBL không được mã hóa intra, đối với các frame mức thời gian cao thì MB tương ứng tại lớp nâng cao sẽ thuộc vào class_inter. Để quyết định liệu MB được mã hóa intra tại frame mức thời gian thấp, chúng ta đề cập đến Mode_8x8 và Intra_4x4 như là những đại diện kích thước block của class_inter và class_intra. Đánh giá giá giá trị của Rdcost của 2 mode trên, nếu RDcost4 nhỏ hơn Rdcost8, chúng ta cho rằng xác suất mã hóa intra và mode tốt nhất là mode Intra_4x4. Mặt khác nếu Rdcost8 nhỏ hơn Rdcost4, mode tốt nhất nên thuộc về class_inter. Và giả thuật sau sẽ được sử dụng trong quá trình quyết định mode cho các MB tại mức thời gian thấp và cao.

2. Giảm lựa chọn cho các mode ứng viên

Từ lớp nâng cao có thông tin chuyển động và dư thừa của nó tại lớp cơ sở. Nếu MB mode tại lớp cơ sở là Mode_8x8, khi đó mode ứng viên được giảm xuống là BL_pred và mode_8x8. Nếu mode MB tại lớp cơ sở là Mode_16x8 (hoặc Mode_8x16) thì mode ứng viên được giảm xuống là BL_pred, mode_8x8 và Mode_16x8 (hoặc Mode_8x16). Hình 4.6 chỉ ra phương pháp giảm lựa chọn mode ứng viên.

B. Mở rộng được theo thời gian.

Theo kết quả thí nghiệm, mode dự đoán tốt nhất của mỗi MB trong frame hiện tại hầu như tương tự mode tối ưu trong MB tương ứng của nó tại frame tham chiếu. Đối với các frame tại mức thời gian 0, chỉ có những frame được mã hóa intra có thể được dự đoán bù chuyển động. Vì vậy, phương pháp kết nối block toàn diện được sử dụng để tìm kiếm mode tốt nhất cho mỗi MB trong frame tại mức thời gian 0. Để minh họa cho ý tưởng này ta xét ví dụ trong hình 4.3.

54

Frame 8 được đánh giá bằng việc sử dụng phương pháp kết nối block mà không có bất kỳ một giải thuật quyết định mode nhanh nào. Tại mức thời gian 1, và mode tốt nhất trong frame 8 là mode ứng viên cho frame 4 và 12. Tương tự, tại mức thời gian 2, mode tốt nhất mode tốt nhất trong frame 4 và 8 là mode ứng viên cho frame 6. Vì vậy, mỗi frame có một hoặc 2 mode ứng viên của các frame tham khảo trước và sau.

1) Xác định MB chuyển động nhanh – chậm

Chúng ta phân chia MB thành 2 lớp: MB chuyển động chậm và MB chuyển động nhanh. Trong 1 chuỗi video, có rất nhiều MB, đặc biệt là những MB tại những khu vực ảnh nền gần như không chuyển động nên được coi như những MB chuyển động chậm. Chúng ta đề cập đến một phương pháp phân biệt các MB chuyển động nhanh – chậm bằng việc đánh giá năng lượng chuyển động của mỗi MB. Sau khi nghiên cứu toàn diện để tìm ra mode tốt nhất cho mỗi MB trong các frame tại mức thời gian 0, trong mỗi phân vùng MB (16x16, 16x8, 8x16, 8x8, 8x4, 4x8 hoặc 4x4) có các véc tơ chuyển động đọc lập là (mvxo, mvy0) và (mvx1, mvy1) cho dự đoán 2 hướng. Năng lượng chuyển động cho mỗi phân vùng được ký hiệu là MEb0 và MEb1 có thể được tính như sau:

Mebi = | mvxi| + |mvyi|, i = 0, 1 [4]

Chúng ta sử dụng MEb0 và MEb1 để biểu thị mức năng lượng trung bình của một MB với đại diện là các frame tham chiếu phía trước và phía sau. Vì vậy:

N đại điện cho tổng số véc tơ chuyển động liên quan đến MB. Ở đây ta sử dụng một ngưỡng  để phân biệt giữa các MB chuyển động nhanh chậm như sau:

Dựa trên các kết quả thí nghiệm quá trình test nhiều chuỗi video, chúng tôi thấy rằng ngưỡng  = 40 cho kết quả tốt.

2) Phân định các mode ứng viên cho chuyển động nhanh – chậm

55

Các ô vuông là các MB 16x16 trong khung tham chiếu. Với mỗi MB trong frame hiện tại, các MB cùng vị trí đặt cùng vị trí trong frame tham chiếu. Mũi tên biểu thị véc tơ chuyển động trung bình của tất cả các phân vùng trong MB hiện tại. MB gạch đứt là MB bù chuyển động gần nhất với block hiện tại. MB chiếm ưu thế có sự chồng lấn lớn nhất với MB bù chuyển động.

Đối với các MB chuyển động chậm, MB chiếm ưu thế có xu hướng có cùng vị trí với các MB đồng vị. Và kết quả là các MB mode của các MB đồng vị trong frame tham chiếu sẽ là các mode ứng viên của các MB tương ứng trong frame hiện tại. Mặt khác, với các MB chuyển động nhanh, các MB chiếm ưu thế có xu hướng đặt tại vị trí xung quanh của các MB đồng vị. Và kết quả là, mode tốt nhất co các MB đồng vị cũng như những MB xung quanh nó được đề xuất là mode ứng viên cho MB tương ứng trong frame hiện tại.

3) Tổng kết giải thuật trong mở rộng thời gian: Chỉ ra trong hình 4.5

Hình 4.5 Luồng công việc thực hiện trong mở rộng thời [4]

Nếu mode MB tại frame tham chiếu là trước/sau (biểu thị bằng MODEref(i)) được mã hóa intra, Rdcost của Mode_8x8 (Rdcost8) và INTRA_4X4 (Rdcost4) được tính. Nếu Rdcost4 nhỏ hơn Rdcost8, đồng thời khả năng mã hóa intra cao thì best mode được lấy là INTRA_4X4. Mặt khác, nếu MB mode tại frame tham chiếu trước và sau không được mã

56

hóa intra, chúng ta cần kiểm tra liệu MB có trong frame mức thời gian thấp hay không. Đối với những frame mức thời gian thấp có xu hướng có kích thước phân vùng mode đẹp hơn các frame tại mức thời gian cao. Hơn nữa, đối với những MB chuyển động nhanh trong frame mức thời gian thấp, rất khó để tìm thấy một mối tương quan thời gian từ các frame tham chiếu của nó. Thay vào đó, chúng ta cần xem xét mối tương quan không gian trong số các MB trong frame hiện tại vì thực tế thường có mối tương quan cao giữa các pixel gần nhau. Vì vậy, đối với các MB chuyển động nhanh trong frame mức thời gian thấp, mode tốt nhất của các MB phía trên và bên trái, biểu thị bởi MODEabove và MODEleft được xem xét như là các mode ứng viên cho MB hiện tại. Đối với các MB trong các frame mức thời gian cao hoặc các MB chuyển động chậm trong các frem mức thời gian thấp, mode tốt nhất của các MB trong các frame tham chiếu trước và sau, biểu thị bởi MODEref0 và MODEref1, được xem xét như là các ứng viên cho MB hiện tại.


Một phần của tài liệu MÃ HÓA VIDEO MỞ RỘNG ĐƯỢC (Trang 53 -53 )

×