Cấu trúc phần cứng bộ mã hóa

Một phần của tài liệu ĐỒ ÁN HEVC : MÃ HÓA VIDEO HEVC (Trang 78 - 83)

3.2.1. Giới thiệu

Mô hình thử nghiệm HEVC (HM) là phần mềm tham chiếu cho HEVC được phát triển trong quá trình chuẩn hóa HEVC. Trong HM, tối ưu hóa tốc độ- biến dạng đầy đủ phức tạp cao (RDO) được sử dụng để chọn các chế độ cuối cùng. Mặc dù hiệu quả mã hóa cao đạt được với RDO đầy đủ, chi phí phần cứng cũng trở nên rất cao. Với một bộ mã hóa phần cứng thời gian thực thực tế, các vấn đề trên cần phải được giải quyết, các chi phí triển khai phải nằm trong một phạm vi cho phép.

3.2.2. Đường ống hệ thống

Trong HEVC, khối xử lý cơ bản là đơn vị cây mã hóa (CTU). Tương tự đường ống khối vĩ mô trong bộ mã hóa H264, một đường ống xử lý CTU có thể được áp dụng cho một bộ mã hóa HEVC. Độ chi tiết đường ống là kích thước CTU lớn nhất, cái có thể lên tới 64x64.

So với H264, HEVC có những sự kết hợp phức tạp hơn của các chế độ dự đoán và các kích thước đơn vị vị đoán (PU). Bộ mã hóa HEVC cần thực hiện chính xác hơn một quyết định về chế độ, điều đó sử dụng các ước lượng tốc độ bit dựa trên mã hóa entropy và ước lượng méo dựa trên tổng của khoảng cách bình phương (SSD). Do việc tính toán của RDO đầy đủ, một phần cứng quyết định chế độ phức tạp cao (HCMD), cái mà được tách khỏi giai đoạn dự đoán, là cần thiết.

HEVC cũng có một bộ lọc lặp vòng mới gọi là bộ bù thích nghi mẫu (SAO), cái mà cộng thêm một cách thích ứng những độ bù tới các mẫu tái tạo

sau bộ lọc giải khối. Bộ mã hóa nhận được các độ bù bằng cách tối thiểu hóa sự khác nhau giữa khung đầu vào gốc và khung tái tạo sau giải khối. Các độ bù và tham số mà điều khiển hoạt động SAO sau đó được truyền trong dòng bit tại mức CTU. Do đó, đường ống mã hóa cần được thay đổi để bảo bảo rằng việc xác định tham số SAO được hoàn thành trước mã hóa entropy.

Mã hóa entropy sẽ được song song hóa để đạt được thông lượng cao cần cho các video phân giải cao. HEVC cung cấp một vài cách để song song hóa mã hóa entropy. Dòng bit có thể được chia thành nhiều dòng con, với sự phụ thuộc giới hạn giữa các dòng con. Tuy nhiên, bản chất xử lý nối tiếp tự nhiên của mã hóa entropy vẫn chiếm ưu thế trong mỗi của các dòng con. Cấu trúc đường ống và thứ tự xử lý CTU phải được xét để thực hiện mã hóa entropy song song trong các tài nguyên hạn chế (ví dụ kích thước và băng thông bộ nhớ).

Một sơ đồ khối hệ thống bộ mã hóa được thể hiện trong hình 3.8. Nó bao gồm ba phần chính: lõi dự đoán, lõi tái tạo, và lõi dòng bit. Tổng thể, đường ống dài hơn các đường ống điển hình H264 để giải quyết các độ phụ thuộc xử lý và tăng song song hóa không đồng nhất giữa các khối chức năng.

Hình 3.8. Sơ đồ khối hệ thống bộ mã hóa

Lõi dự đoán là phần quan trọng và tính toán chuyên sâu nhất. Nó bao gồm dự đoán nội bộ, ước lượng chuyển động nguyên/phân số cho liên dự đoán, biến đổi và lượng tử hóa, và phần cứng quyết định chế độ. Ngoài ra, một hệ thống bộ nhớ tham chiếu được yêu cầu để hỗ trợ sự truy cập khung tham chiếu của ướng lượng chuyển động. Trong lõi này, nội dự đoán và liên dự đoán được thực hiện song song. Sự phụ thuộc giữa hai module này bị loại bỏ. Bộ đệm khối hiện tại kích thước CTU và bộ đệm khối phần dư được chia sẻ giữa các giai đoạn với việc ghép bộ nhớ đệm luân chuyển. Ước lượng chuyển động được thực hiện trong hai cấp chính xác và được tách ra thành hai giai đoạn. Trong HEVC, việc biến đổi phức tạp hơn H264 và được đặt trong một giai đoạn riêng. Nếu RDO đầy đủ được sử dụng, một giai đoạn HCMD độc lập sẽ được bao gồm.

Các khung tham chiếu được chuẩn bị bởi lõi tái tạo mỗi lần một khung được mã hóa. Lõi tái tạo tạo ra khung tham chiếu đã giải mã như trong bộ giải. Nó bao gồm biến đổi ngược, lượng tử hóa ngược, tái tạo dự đoán nội bộ/liên đới,

và các bộ lọc vòng lặp (các bộ lọc giải khối và SAO). Lưu ý rằng lõi tái tạo có thể chia sẻ cùng phần cứng với lõi dự đoán, hoặc lấy các kết quả từ lõi dự đoán. Nó không cần thêm chi phí bỏ sung đáng kể như một bộ mã hóa độc lập.

Cuối cùng, lõi dòng bit thực hiện mã hóa entropy và ghi ra dòng bit cuối cùng. Trong HEVC, mã hóa entropy là mã hóa số học nhị phân thích nghi theo thuộc tính (CABAC). Lưu ý rằng các tham số SAO cần được mã hóa trong dòng bit do đó việc xác định tham số SAO cần được hoàn thành trước giai đoạn mã hóa CABAC.

3.2.3. Liên dự đoán

Trong liên dự đoán, phần dư thời gian được giảm xuống thông qua ước lượng chuyển động. Ước lượng chuyển động so sánh đơn vị dự đoán (PU) hiện tại với các PU lân cận không gian trong các khung tham chiếu, và chọn cái có ít khác biệt nhất với PU hiện tại. Sự thay thế giữa PU hiện tại và PU tương hợp trong các khung tham chiếu được báo hiệu sử dụng một vector chuyển động. Sự khác biệt mỗi pixel giữa PU hiện tại và PU tương hợp trong các khung tham chiếu tạo ra lỗi dự đoán (con được gọi là phần dư), cái mà được biến đổi và lượng tử hóa và mã hóa trong dòng bit.

Hình 3.9. Cấu trúc liên dự đoán HEVC

So sánh với H264, liên dự đoán trong HEVC có ba khác biệt chính: (1) sự đa dạng lớn hơn về kích thước khối, (2) quyết định chế độ phức tạp cao là cần thiết để đạt đủ độ lợi mã hóa, và (3) bộ lọc nội suy pixel con dài hơn. Trong HEVC, kích thước PU có thể phạm vi từ 4x8/8x4 tới 64x64. Độ phức tạp tính toán cho việc quyết định sự phân vùng khối tốt nhất cũng tăng lên đáng kể. Để chọn chính xác chế độ tốt nhất trong một số lượng lớn các chế độ có thể, RDO đầy đủ mà tạo gia độ méo và ước lượng bit chính xác hơn cần được áp dụng. Điều đó yêu cầu các chế độ liên dự đoán bảo quản một vài chế độ có thể cho giai đoạn HCMD sau này. HEVC tận dụng bộ lọc bội suy 8 hoặc 7 nút cho độ chính xác nội suy cao hơn so với 6 nút trong HEVC. Do đó độ phức tạp trong tính toán pixel con cũng cao hơn. Để đối phó với sự gia tăng phức tạp đó, các cơ chế song song cao hơn trong phần cứng là cần thiết. Điều đó cần đạt được với chi phí tăng lên vừa phải. Ngoài ra, cơ chế song song trong phần cứng cũng gây ra băng thông truy cập bộ nhớ cao hơn nhiều. Một hệ thống con bộ nhớ mà hỗ trợ yêu cầu băng thông cao được yêu cầu để làm cho ước lượng chuyển động hoạt động hợp lý. Kiến trúc tham chiếu được thể hiện ở hình 3.9

3.2.4. Nội dự đoán

Nội dự đoán làm giảm phần dư không gian trong video bằng cách dự đoán từ các pixel lân cận quanh PU hiện tại. Các pixel lân cận sử dụng cho dự đoán là các pixel tái tạo trước đó. So với H264, có hai sự khác biệt chính: (1) gia tăng số chế độ dự đoán và (2) các chế độ dự đoán lai nội bộ/liên đới bên trong cùng CTU. Với cái đầu tiên, có tổng cộng 35 chế độ nội bộ có thể có cho mỗi kích thước PU. Kích thước PU có phạm vi từ 4x4 tới 64x64 phụ thuộc vào cấu hình bộ mã hóa (với PU 64x64, nội dự đoán thực tế xảy ra ở mức 32x32 do kích thước biến đổi cực đại là 32x32). Độ phức tạp cao hơn nhiều và tạo ra chi phí

phần cứng đáng kể. Ngoài ra, HEVC cho phép sử dụng CU nội bộ/liên đới. Sự phụ thuộc dự đoán trong PU là khá phức tạp và giới hạn cơ chế song song phần cứng. Để triển khai phần cứng của dự đoán nội bộ, một kiến trúc cho dự đoán 4x4 nội bộ với sự lựa chọn mẫu tham chiếu linh hoạt được đề xuất. Trong các ứng dụng thông lượng cao,hiệu quả nội dự đoán vẫn câng được cải thiện. Tại đây ta áp dụng hai phương pháp. Thứ nhất, ta sử dụng tìm kiếm chế độ giảm tải để hạ thấp yêu cầu tính toán tại mức thuật toán. Sau đó sử dụng nội dự đoán vòng lặp mở-đóng lai để loại bỏ sự phụ thuộc của các pixel tái tạo và cho phép cơ chế song song mức PU.

Một phần của tài liệu ĐỒ ÁN HEVC : MÃ HÓA VIDEO HEVC (Trang 78 - 83)