Bối cảnh và vấn đề nghiên cứu
Sự phát triển nhanh chóng của các dịch vụ truyền phát video trực tuyến và hội nghị truyền hình đòi hỏi chất lượng hình ảnh ngày càng cao, mở rộng từ chuẩn độ phân giải Full HD (1920x1080) lên đến 2K (2560x1440), 4K UHD (3840x2160) và 8K UHD (7680x4320). Dữ liệu video thô (raw) có dung lượng rất lớn; đơn cử một luồng video Full HD ở tốc độ 30 khung hình/giây (FPS) tạo ra lưu lượng dữ liệu xấp xỉ 180 MB/s (tương đương 1440 Mbps). Khi đối chiếu với hạ tầng băng thông mạng trung bình tại Việt Nam (tốc độ tải xuống khoảng 35,89 Mbps và độ trễ 23 ms), việc truyền phát trực tiếp video chưa qua nén là không khả thi.
Chuẩn nén video hiệu suất cao HEVC (High Efficiency Video Coding / H.265) được chuẩn hóa nhằm thay thế chuẩn tiền nhiệm AVC/H.264, mang lại khả năng tiết kiệm khoảng 40% băng thông ở cùng mức chất lượng hình ảnh và hỗ trợ độ phân giải tối đa lên tới 8192x4320. Để đạt được hiệu quả nén vượt trội, giải thuật dự đoán nội khung (Intra Prediction) trong HEVC đã được nâng cấp đáng kể: mở rộng số lượng chế độ dự đoán từ 9 chế độ (trong AVC) lên 35 chế độ (bao gồm 33 chế độ định hướng Angular, 1 chế độ Planar và 1 chế độ DC), đồng thời hỗ trợ linh hoạt các kích thước khối đơn vị dự đoán (Prediction Unit - PU) từ 4x4, 8x8, 16x16 đến 32x32 điểm ảnh (sample).
Tuy nhiên, sự gia tăng số lượng chế độ dự đoán và kích thước khối đã đẩy độ phức tạp tính toán của thuật toán Intra Prediction lên rất cao. Các bộ mã hóa thuần phần mềm gặp khó khăn lớn trong việc xử lý video độ phân giải cao thời gian thực. Do đó, việc nghiên cứu thiết kế và hiện thực kiến trúc phần cứng chuyên dụng trên nền tảng vi mạch khả trình FPGA (Field-Programmable Gate Array) nhằm tăng tốc giải thuật Intra Prediction là một đòi hỏi kỹ thuật thiết yếu.
Khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:
- Nghiên cứu cơ sở lý thuyết chuẩn nén HEVC và giải thuật Intra Prediction; xây dựng mô hình phần mềm tham chiếu bằng ngôn ngữ C++ để kiểm chứng độ chính xác giải thuật.
- Đề xuất kiến trúc phần cứng chuyên dụng trên FPGA sử dụng các kỹ thuật xử lý song song, đường ống (pipeline), bảng tra cứu (LUT) và biến đổi đại số nhằm thay thế các phép nhân phức tạp bằng các phép toán cộng và dịch bit.
- Hiện thực thiết kế phần cứng đáp ứng mục tiêu xử lý video độ phân giải 4K (3840x2160) ở tốc độ thời gian thực 30 FPS cho toàn bộ 35 chế độ dự đoán và 4 kích thước PU (4x4, 8x8, 16x16, 32x32), tương ứng với tần số hoạt động danh định tối thiểu đạt 212,625 MHz.
- Xây dựng môi trường kiểm tra chức năng tự động dựa trên phương pháp luận kiểm thử UVM (Universal Verification Methodology) kết hợp giao tiếp DPI (Direct Programming Interface) của SystemVerilog với bộ mã hóa mã nguồn mở Kvazaar.
- Thực hiện tổng hợp phần cứng, mô phỏng định thời sau tổng hợp (post-synthesis timing simulation) và đánh giá, so sánh hiệu năng với các nghiên cứu công bố trước đó.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Giải thuật dự đoán nội khung (Intra Prediction) của chuẩn nén video HEVC/H.265.
- Phạm vi không gian và công nghệ: Hiện thực kiến trúc phần cứng bằng ngôn ngữ Verilog RTL hướng đích vi mạch FPGA; xử lý đầy đủ 3 không gian kênh màu (Y, U, V) cho các khối Coding Unit (CU) kích thước 32x32 chứa các đơn vị PU từ 4x4 đến 32x32.
- Phạm vi thời gian và địa điểm: Đề tài khóa luận tốt nghiệp kỹ sư ngành Kỹ thuật Máy tính, hoàn thành năm 2022 tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia Thành phố Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Khóa luận được xây dựng dựa trên các nền tảng lý thuyết chuẩn hóa của chuẩn HEVC và phương pháp luận thiết kế - kiểm tra vi mạch:
- Khung cấu trúc mã hóa HEVC: Cấu trúc phân cấp dữ liệu thay thế Macroblock truyền thống bằng Coding Tree Unit (CTU) kích thước lên tới 64x64 pixel (Largest Coding Unit - LCU). Khối CTU được phân chia đệ quy theo cây tứ phân (Quad-tree) thành các Coding Unit (CU) có kích thước từ 64x64 xuống nhỏ nhất 8x8 (Smallest Coding Unit - SCU). Mỗi CU được phân rã tiếp thành các đơn vị dự đoán PU (Prediction Unit) và đơn vị biến đổi TU (Transform Unit).
- Quy trình giải thuật Intra Prediction: Bao gồm 3 giai đoạn xử lý kế tiếp nhau:
- Khởi tạo mảng mẫu tham chiếu (Reference Sample Array Construction): Áp dụng kỹ thuật thay thế mẫu thiếu (Reference Sample Substitution) để bù đắp các mẫu biên chưa có sẵn theo chiều kim đồng hồ, sau đó thực hiện lọc làm mịn (Samples Filtering) bằng bộ lọc 3 nhánh Three-tap Filter
[1 2 1]/4 hoặc nội suy tuyến tính (Linear Interpolation) cho khối 32x32 phẳng.
- Dự đoán mẫu (Sample Prediction): Triển khai 33 chế độ dự đoán góc (Angular Prediction) với độ chính xác nội suy 1/32 sample dựa trên tham số góc $A$ và góc nghịch đảo $B$; chế độ dự đoán mặt phẳng (Planar Prediction) tạo bề mặt mịn liên tục bằng cách kết hợp dự đoán ngang ($p_h$) và dọc ($p_v$); chế độ dự đoán một chiều (DC Prediction) tính giá trị trung bình $dcVal$ từ $2N$ mẫu biên lân cận.
- Hậu xử lý (Post Processing): Làm mịn biên (boundary smoothing) cho các khối có kích thước dưới 32x32 thuộc chế độ DC, chế độ ngang hoàn toàn (mode 10) và chế độ dọc hoàn toàn (mode 26).
- Quy trình chọn chế độ tối ưu (Best Mode Selection): Ứng dụng quy trình quyết định chế độ thô RMD (Rough Mode Decision) dựa trên hàm chi phí Lagrangian với độ lệch tuyệt đối SAD (Sum of Absolute Differences) và tập chế độ có xác suất cao nhất MPM (Most Probable Mode) để sàng lọc trước khi thực hiện tối ưu hóa tốc độ - độ méo RDO (Rate Distortion Optimization).
| Phương pháp nghiên cứu |
Công cụ / Môi trường thực hiện |
Mục đích và nội dung triển khai |
| Mô hình hóa phần mềm |
C++, Mã nguồn mở Kvazaar |
Xây dựng thuật toán mẫu, kiểm chứng luồng tính toán số học của Intra Prediction. |
| Thiết kế phần cứng RTL |
Verilog HDL, EDA Synthesis Tools |
Thiết kế kiến trúc 3 luồng dữ liệu song song (Planar, DC, Angular), mảng 1024 PEA, 4 tầng pipeline. |
| Xác thực chức năng |
UVM, SystemVerilog DPI |
Kết nối mô hình RTL với bộ mã hóa Kvazaar qua DPI để so sánh từng chu kỳ và đo lường độ bao phủ kiểm thử (coverpoints). |
| Mô phỏng định thời |
Post-synthesis Simulation |
Đo kiểm trễ truyền lan logic, xác định tần số xung nhịp cực đại (Fmax) và phân bố tài nguyên phần cứng. |
Thiết kế và triển khai kiến trúc phần cứng
Kiến trúc phần cứng đề xuất được tổ chức thành 3 luồng dữ liệu (datapath) hoạt động độc lập và song song nhằm tối đa hóa thông lượng (throughput) xử lý của toàn hệ thống.
best_mode, SAD value, output_valid
Các module thành phần chính trong thiết kế:
-
Giao tiếp đầu vào/đầu ra và Điều khiển (I/O & FSM Controller):
- Các cổng tín hiệu nạp dữ liệu:
HADDR (địa chỉ bộ nhớ), HWDATA (dữ liệu mẫu tham chiếu và khối gốc), HWRITE (cho phép ghi).
- Tín hiệu cấu hình:
color (chọn kênh màu 0: Y, 1: U, 2: V), log2_width (kích thước PU từ $2 \rightarrow 4\times 4$ đến $5 \rightarrow 32\times 32$), filter_init (bật/tắt lọc mẫu tham chiếu), filter_boundary (bật/tắt hậu xử lý biên).
- Tín hiệu đầu ra:
best_mode (chế độ tối ưu trong 35 mode), SAD value (giá trị sai số nhỏ nhất), output_valid (báo kết quả hợp lệ).
- Bộ điều khiển FSM phối hợp các trạng thái nạp dữ liệu, đồng bộ hóa chu kỳ đường ống và kích hoạt tính toán song song.
-
Module Reference Sample Filter:
- Sử dụng 2 bộ lọc độc lập cho tập mẫu tham chiếu Top và Left. Mỗi bộ gồm 65 khối Three-tap Filter tổ hợp được cấu trúc song song.
- Thiết kế được chèn thanh ghi chia thành 2 tầng pipeline với độ trễ mỗi tầng xấp xỉ 3,250 ns.
- Mạch mất 2 chu kỳ đầu để lấp đầy pipeline, sau đó đạt thông lượng tối đa 130 samples/chu kỳ.
-
Module Angular Prediction:
- Khối Reference Select: Sử dụng 130 bộ dồn kênh Multiplexer 2-to-1 8-bit để phân định Main Reference và Side Reference tùy thuộc vào hướng dự đoán ngang hay dọc.
- Khối Negative Reference Extend và Look-Up Table (LUT): Thay vì tính toán trực tiếp các hệ số góc âm $A$, góc nghịch đảo $B$, vị trí chỉ số $i$ và hệ số trọng số $f$, hệ thống lưu trữ toàn bộ các giá trị này trong bảng tra cứu LUT, cho phép truy xuất song song trong 1 chu kỳ.
- Mảng phần tử xử lý PEA (Prediction Element Array): Triển khai chuỗi gồm 1024 module PEA. Mỗi PEA loại bỏ hoàn toàn bộ nhân phần cứng, chuyển đổi thành mạch gồm 5 bộ MUX, 4 bộ dịch bit và 6 bộ cộng. Mạch PEA được chia thành 4 tầng pipeline cân bằng trễ (dao động từ 3,250 ns đến 3,347 ns).
- Cơ chế xử lý song song đa chế độ: Mảng 1024 PEA đạt thông lượng cực đại 1024 samples/chu kỳ. Với khối $32\times 32$, mạch xử lý 1 mode/chu kỳ; đối với khối $4\times 4$ và $8\times 8$, hệ thống phân bổ linh hoạt các khối PEA để xử lý song song tối đa 16 mode đồng thời trong cùng một chu kỳ xung nhịp.
- Khối Sample Flip và Post Processing: Tích hợp 32 module PPC (Post-Processing Cell) để làm mịn viền (16 PPC cho hàng đầu tiên của mode 10 và 16 PPC cho cột đầu tiên của mode 26).
-
Module Planar Prediction và DC Prediction:
- Planar Prediction: Triển khai thuật toán nội suy trung bình hai hướng ngang - dọc bằng các mạch cộng và dịch bit theo tỷ lệ $\log_2(N) + 1$, không sử dụng phép chia/nhân phức tạp.
- DC Prediction: Tích hợp khối
dcVal_Calculate để cộng dồn $2N$ mẫu biên và dịch bit chia trung bình, kết hợp các mạch lọc Three-tap filter cho mẫu góc $p[0][0]$ và Two-tap filter cho các mẫu biên liền kề.
-
Module SAD and Best Mode Selection:
- Tiếp nhận kết quả từ các datapath dự đoán, tính toán sai lệch tuyệt đối so với dữ liệu khối gốc (
Original Block Data).
- Mạch so sánh cập nhật liên tục giá trị chi phí nhỏ nhất để xuất ra
best_mode và SAD value tương ứng.
Nội dung chính theo từng chương
Chương 1. Giới thiệu đề tài
- Phân tích nhu cầu cấp thiết của việc nén video thời gian thực cho các định dạng độ phân giải cao (Full HD, 4K, 8K) trước giới hạn băng thông mạng thực tế.
- Khái quát ưu thế của chuẩn HEVC so với AVC/H.264 và nhận diện nút thắt cổ chai tính toán tại giải thuật Intra Prediction.
- Thiết lập mục tiêu thiết kế phần cứng FPGA xử lý thời gian thực video 4K @ 30 FPS với tần số yêu cầu tối thiểu 212,625 MHz; xác định phương pháp tiếp cận từ mô hình C++ đến Verilog RTL và UVM.
Chương 2. Cơ sở lý thuyết
- Trình bày tổng quan cấu trúc bộ mã hóa HEVC: cây khối CTU/CU/PU/TU, phân tách residual, biến đổi DCT, lượng tử hóa và mã hóa entropy CABAC.
- Phân tích chi tiết quy trình 3 giai đoạn của Intra Prediction:
- Reference Sample Array Construction (cơ chế thay thế Reference Sample Substitution và các bộ lọc Three-tap / Linear Interpolation).
- Sample Prediction: Chi tiết toán học của 33 mode Angular (tham số góc $A$, tham số nghịch đảo $B$, hệ số nội suy $i, f$), mode DC và mode Planar.
- Post Processing: Công thức làm mịn biên cho mode 10, mode 26 và mode DC.
- Cơ chế lựa chọn chế độ tối ưu thông qua quá trình đánh giá RMD, tính toán chi phí Lagrangian dựa trên SAD, bổ sung danh sách MPM và tối ưu hóa RDO.
Chương 3. Thiết kế đề xuất cho giải thuật Intra Prediction
- Mô tả kiến trúc tổng thể hệ thống phần cứng hỗ trợ đầy đủ 35 mode, 4 kích thước PU và 3 không gian kênh màu Y, U, V trên 3 luồng dữ liệu song song.
- Thiết kế chi tiết từng khối phần cứng:
- Khối Reference Sample Filter 2 tầng pipeline đạt thông lượng 130 samples/chu kỳ.
- Khối Angular Prediction với mảng 1024 module PEA (4 tầng pipeline, không dùng bộ nhân), cơ chế bảng tra cứu LUT cho $i, f, A, B$, module Sample Flip và 32 khối PPC hậu xử lý biên.
- Khối Planar Prediction và DC Prediction tối ưu hóa phép cộng/dịch bit.
- Khối SAD and Best Mode Selection cùng bộ điều khiển FSM quản lý trạng thái luồng xử lý.
Chương 4. Mô phỏng và đánh giá kết quả
- Thiết lập môi trường xác thực UVM kết hợp SystemVerilog DPI kết nối mô hình tham chiếu Kvazaar C++; định nghĩa bảng coverpoints kiểm tra độ bao phủ chức năng.
- Thực hiện mô phỏng tiền tổng hợp (pre-synthesis) kiểm tra dạng sóng xử lý đệ quy các khối CU/PU và tính toán chi phí SAD.
- Thực hiện tổng hợp và mô phỏng định thời sau tổng hợp (post-synthesis timing simulation); đo kiểm chu kỳ xung nhịp đạt 4,31 ns (tương ứng 232 MHz).
- Thống kê tài nguyên chiếm dụng và lập bảng so sánh hiệu năng với các công trình công bố quốc tế.
Chương 5. Kết luận và hướng phát triển
- Đúc kết các kết quả đạt được: Hoàn thành thiết kế phần cứng hoàn chỉnh cho giải thuật Intra Prediction đáp ứng chuẩn 4K @ 30 FPS thời gian thực.
- Đề xuất các hướng mở rộng nghiên cứu trong tương lai về việc tích hợp bộ biến đổi/lượng tử hóa và thử nghiệm trên bo mạch FPGA thực tế.
Kết quả và đóng góp
1. Phân tích chu kỳ xung nhịp và năng lực tính toán
Để xử lý một khối CU kích thước $32\times 32$ trong trường hợp phân rã đệ quy đầy đủ qua toàn bộ 35 chế độ dự đoán, số chu kỳ xung nhịp tiêu tốn được tối ưu hóa nhờ cấu trúc đường ống và xử lý song song:
| Kích thước đơn vị dự đoán (PU) |
Số lượng khối trong 1 CU $32\times 32$ |
Cơ chế thực thi phần cứng |
Số chu kỳ xung nhịp cần thiết |
| PU $32\times 32$ |
1 |
1 mode / 1 chu kỳ |
35 chu kỳ |
| PU $16\times 16$ |
4 |
1 mode / 1 chu kỳ |
140 chu kỳ |
| PU $8\times 8$ |
16 |
1 mode / 1 chu kỳ |
560 chu kỳ |
| PU $4\times 4$ |
64 |
Xử lý song song 16 mode / 1 chu kỳ |
140 chu kỳ |
| Tổng cộng cho 1 CU $32\times 32$ |
— |
— |
875 chu kỳ |
Đối với độ phân giải 4K UHD (3840x2160), một khung hình chứa xấp xỉ 8.100 khối CU $32\times 32$. Để đạt tốc độ 30 FPS, hệ thống cần xử lý $8.100 \times 30 = 243.000$ CU/giây. Tổng số chu kỳ xung nhịp yêu cầu trên lý thuyết là:
$$\text{Tổng số chu kỳ/giây} = 243.000 \times 875 = 212.625.000 \text{ chu kỳ/s} \implies F_{\text{min}} = 212,625 \text{ MHz}$$
2. Kết quả mô phỏng định thời và so sánh hiệu năng
Kết quả mô phỏng định thời sau tổng hợp (post-synthesis timing simulation) ghi nhận chu kỳ xung nhịp đạt 4,31 ns, tương đương tần số hoạt động cực đại 232 MHz. Mức tần số này vượt mức yêu cầu lý thuyết (212,625 MHz), bảo đảm khả năng xử lý thời gian thực video 4K @ 30 FPS.
| Thông số đánh giá |
Nghiên cứu [1] |
Nghiên cứu [6] |
Nghiên cứu [8] |
Thiết kế đề xuất |
| Tốc độ khung hình (FPS) |
30 |
24 |
55 |
30 |
| Độ phân giải hỗ trợ |
1920x1080 (Full HD) |
3840x2160 (4K) |
1920x1080 (Full HD) |
3840x2160 (4K) |
| Kích thước PU hỗ trợ |
4, 8 |
4, 8, 16, 32 |
4, 8, 16, 32 |
4, 8, 16, 32 |
| Tần số hoạt động (MHz) |
150 |
250 |
227 |
232 (Post-synth) |
| Mẫu dự đoán / giây |
6 triệu |
194 triệu |
11 triệu |
243 triệu |
3. Đóng góp kỹ thuật chính
- Xây dựng thành công kiến trúc phần cứng hoàn chỉnh cho giải thuật Intra Prediction HEVC với 3 datapath song song độc lập, hỗ trợ toàn bộ 35 chế độ dự đoán, 4 kích thước PU và 3 kênh màu Y, U, V.
- Đề xuất giải pháp kiến trúc mảng 1024 phần tử PEA không sử dụng bộ nhân phần cứng, kết hợp bảng tra cứu LUT và đường ống 4 tầng cân bằng trễ, cho phép đạt thông lượng 1024 samples/chu kỳ và xử lý song song 16 mode cho các khối kích thước nhỏ ($4\times 4$).
- Thiết lập quy trình kiểm tra xác thực chức năng chuyên nghiệp dựa trên chuẩn UVM và SystemVerilog DPI kết nối mô hình phần mềm Kvazaar, kiểm soát chặt chẽ độ bao phủ chức năng (coverpoints).
Hạn chế và hướng nghiên cứu tiếp
Khóa luận tự nhận định một số điểm hạn chế dựa trên phạm vi triển khai thực tế:
- Mạch phần cứng tập trung hoàn toàn vào bước tính toán dự đoán mẫu và đánh giá chi phí thô RMD dựa trên SAD; chưa tích hợp khối biến đổi cosin rời rạc (DCT), lượng tử hóa và quy trình tối ưu hóa Rate Distortion Optimization (RDO) phức tạp ở mức bitstream.
- Việc bố trí mảng 1024 phần tử PEA cùng 130 khối lọc Three-tap song song giúp tối đa hóa thông lượng nhưng đòi hỏi lượng tài nguyên logic tổ hợp (LUTs, FFs) tương đối lớn trên chip FPGA.
- Toàn bộ kết quả kiểm thử và định thời được thực hiện thông qua mô phỏng pre-synthesis và post-synthesis trên môi trường EDA chuẩn UVM; chưa tiến hành nạp mạch và đo kiểm thực tế trên kit phát triển FPGA kết nối nguồn video đầu vào trực tiếp.
Hướng nghiên cứu và phát triển tiếp theo:
- Thiết kế tích hợp thêm các khối biến đổi Transform Unit (TU), lượng tử hóa (Quantization) và entropy coding (CABAC) để hoàn thiện một bộ mã hóa phần cứng HEVC Intra Encoder khép kín.
- Tối ưu hóa việc chia sẻ và tái sử dụng tài nguyên giữa các PEA nhằm giảm diện tích chiếm dụng trên vi mạch khả trình.
- Hiện thực hóa thiết kế lên các dòng kit phần cứng FPGA cao cấp và tích hợp giao tiếp ngoại vi (như PCIe, HDMI) để thu nhận và mã hóa trực tiếp luồng video thực tế.
Giá trị tham khảo
Đề tài mang lại tài liệu tham khảo hữu ích cho các đối tượng và định hướng nghiên cứu sau:
- Kỹ sư và sinh viên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Thiết kế Vi mạch (ASIC/FPGA): Cung cấp tài liệu chi tiết về kỹ thuật chuyển đổi giải thuật xử lý tín hiệu số phức tạp thành kiến trúc RTL phần cứng tối ưu, phương pháp loại bỏ bộ nhân (multiplication-free design) và kỹ thuật cân bằng trễ đường ống (pipelining).
- Các nhóm nghiên cứu về nén và truyền thông đa phương tiện: Cung cấp mô hình phân tích chi tiết về mặt toán học và quy trình thực thi chuẩn nén HEVC/H.265, đặc biệt là cơ chế phân bổ chu kỳ xung nhịp và xử lý song song cho các đơn vị dự đoán PU đa kích thước.
- Kỹ sư kiểm thử phần cứng (ASIC/FPGA Verification): Phần môi trường kiểm thử UVM kết nối SystemVerilog DPI với phần mềm mã nguồn mở C++ (Kvazaar) là một ca điển hình (case study) thực tiễn có giá trị cao trong việc xây dựng hệ thống kiểm tra tự động độ tin cậy cao cho các module xử lý video.
Câu hỏi thường gặp
1. Mạch phần cứng đề xuất đạt tần số hoạt động bao nhiêu và có đáp ứng được yêu cầu thời gian thực cho video 4K không?
Theo kết quả mô phỏng định thời sau tổng hợp (post-synthesis timing simulation), mạch đạt chu kỳ xung nhịp 4,31 ns, tương đương tần số hoạt động 232 MHz. Mức tần số này cao hơn tần số danh định yêu cầu tối thiểu là 212,625 MHz, do đó mạch đáp ứng đầy đủ khả năng xử lý thời gian thực chuẩn video 4K UHD (3840x2160) ở tốc độ 30 FPS.
2. Tại sao thiết kế lại sử dụng mảng 1024 module PEA và cơ chế xử lý song song giữa các kích thước PU được phân bổ ra sao?
Mảng 1024 PEA được thiết kế để cung cấp thông lượng tối đa 1024 samples/chu kỳ, phục vụ tính toán trọn vẹn 1 mode cho khối PU $32\times 32$ ($32 \times 32 = 1024$ samples) sau mỗi chu kỳ xung nhịp. Đối với các khối nhỏ hơn ($4\times 4$ và $8\times 8$), hệ thống chia tách mảng PEA để xử lý song song đồng thời tối đa 16 mode dự đoán trong cùng 1 chu kỳ, giúp giảm tổng chu kỳ xử lý của toàn bộ khối CU $32\times 32$ xuống còn 875 chu kỳ.
3. Làm thế nào thiết kế loại bỏ được các phép nhân phức tạp trong công thức tính toán Angular Prediction?
Công thức dự đoán góc gốc chứa các phép nhân với trọng số nội suy. Nhóm tác giả đã biến đổi tương đương công thức đại số thành tập hợp các phép dịch bit và phép cộng kết hợp với các bộ dồn kênh MUX. Cụ thể, mỗi phần tử PEA chỉ tiêu tốn 5 bộ MUX, 4 bộ dịch bit và 6 bộ cộng; đồng thời các hệ số góc $A$, góc nghịch đảo $B$, chỉ số $i$ và hệ số $f$ được tính toán trước và lưu trong bảng tra cứu (LUT).
4. Môi trường kiểm thử xác thực chức năng của khóa luận được thiết lập như thế nào?
Môi trường kiểm thử được xây dựng theo phương pháp luận UVM (Universal Verification Methodology). Nhóm tác giả sử dụng tính năng Direct Programming Interface (DPI) của SystemVerilog để liên kết trực tiếp mạch RTL với bộ mã hóa mã nguồn mở Kvazaar viết bằng C++ (đóng vai trò mô hình mẫu / golden model), cho phép tự động so sánh dữ liệu đầu ra từng chu kỳ và đánh giá độ bao phủ kiểm thử dựa trên các coverpoints đã định nghĩa.
5. Những chế độ dự đoán nào yêu cầu bước hậu xử lý (Post Processing) và phần cứng xử lý như thế nào?
Bước Post Processing áp dụng cho các khối PU có kích thước nhỏ hơn $32\times 32$ thuộc chế độ DC, chế độ ngang hoàn toàn (mode 10) và chế độ dọc hoàn toàn (mode 26). Phần cứng tích hợp module gồm 32 khối PPC (Post-Processing Cell) để làm mịn mẫu viền: 16 khối PPC xử lý hàng đầu tiên của mode 10 và 16 khối PPC xử lý cột đầu tiên của mode 26.
Kết luận
Khóa luận đã nghiên cứu và hiện thực thành công kiến trúc phần cứng tăng tốc giải thuật Intra Prediction trong chuẩn nén video HEVC trên nền tảng FPGA. Bằng việc kết hợp mảng 1024 phần tử PEA xử lý song song đa chế độ, đường ống 4 tầng, bảng tra cứu LUT và loại bỏ hoàn toàn bộ nhân phần cứng, thiết kế đạt tần số hoạt động 232 MHz qua mô phỏng định thời sau tổng hợp, đáp ứng hoàn toàn yêu cầu xử lý video 4K @ 30 FPS thời gian thực với thông lượng 243 triệu mẫu dự đoán/giây. Toàn bộ chức năng của hệ thống được kiểm chứng nghiêm ngặt thông qua môi trường kiểm tra UVM kết nối với mô hình phần mềm tham chiếu Kvazaar.