Chương 1. GIỚI THIỆU DE TÀI.1 Giới thiệu để tài. Mục tiêu đề tai và phương pháp thực hiện.------cc:-+-222cvvvccceceee 3 5w MUC na .2 _ Phương pháp thực hiện .3 Bố cục khóa luận.---cccctrririiirrrrrririiiirrrrreeeirirỔ Chương 2.1 Sơ lược về HEVC.2 _ Giải thuật Intra PredictiOn.1 Sơ lược về Intra Prediction.2 Quy trình Reference Sample Array Construction.4 Qué trình Post Processing. Bộ chọn mode tối ưu nhất Chuong3.
| THIET KE DE XUẤT CHO GIẢI THUAT INTRA PREDICTION 28 3.1 Thiết kế hệ thống.2 _ Thiết kế chỉ tiết.1 Module Reference Sample Eilter.2 Module Angular PrediCtiOn. Module Planar Prediction .4 Module DC Prediction.5 Module SAD And Best Mode Selection.ccceccecccstceseseeceseseseenenessseseenesesssssesneneseseeeenes 47 Chương 4. MÔ PHONG VA ĐÁNH GIA KET QUA.1 Mô phỏng pre-synthesis. Mô phỏng post-syntesis.--- s5 5552 tt tr rên59 44 Đánh giá kết qua.
© KET LUẬN VÀ HƯỚNG PHAT TRIÊN.2 Hướng phát triển.-----2222++++zttt2EEEEEkrtrirttrtrrtrrrrrrrrrrrrieg 68 DANH MỤC HÌNH ẢNH Hình 2.1: Khác biệt giữa Macroblocks(AVC) va Coding Tree Unit(HEVC).2 Sơ đồ khối của hệ thống HEVC.3: Coding Unit PA4TFIIOHIH. cv setekskEskerrerkrererekekrkrree 1] Hình 2.4: Quy trình tạo ra kết qua dự đoán của giải thuật Intra Prediction.5 Reference Samples của một khối PU với size N x N {10].6 Minh họa kết quả dựa đoán cua 35 mode voi PU kích thước 8x8.7: So sánh số lượng vector dự đoán của Intra Prediction.8 Mô tả quá trình References Samples Array Constructioni.9: Quá trình Reference Sample SuSIIFUIÍOH.-- +5 svSscexsxsesv+exee 1ó Hình 2.10 Các phương pháp filter Reference SAMple.11 Mô tả quá trình References Samples Array Construction .12 Các hướng dự đoán cua Angular Prediction với độ chính xác 1/32.13 Quá trình mở rộng Reference TOJ). sec se SS+k‡kstsevEekereretetrseree 22 Hình 2.14 Quá trình thực hiện Planar Prediction [ IŨ].15: Quá trình chọn mode tối wu nhất [ 12].------©-cz5cce5ccscsccxesccs 27 Hình 3.1 Thiết kế phan cứng dé xuất cho giải thuật HEVC Intra Prediction.2 Minh hoa module Reference Sample FÌÏT€F. -c-s=+=+<cecexsxzx+ezee 31 Hình 3.3 Minh hoa module THREE-TAP FILTER .4 Sơ đô minh hoa module Angular Prediction.5 Sơ dé minh hoa module REFERENCE SELLECT.6 Mô tả kiến trúc phan cứng cho module PEA .7 Minh họa module “SAMPLES FLIP” với PU kích thước 4x4.8 Minh họa module PPC (post-processing cell).9 Mình họa module POST PROCESSING.10: Module Planar Prediction .12 Module Branch với kích cỡ PU ồXổ.
-¿- - esse seeeeesesseseaeseee 43 Hình 3.13 Module DC PrediCfiOII. c5 S555 SS+S+Se+E+Eexerertrteterererrerrerer 44 Hình 3.14: Module dcVal_Caculate .c- 5c 5c S2 E2 E8 E8 E££EE+E+EEsE+eE+eererse 46 Hình 3.15 Thiết kết của khối SAD And Best Mode Selection.16 Mô hình FSM điều kiến Hình 4.1 Cầu trúc môi trường UVM để đánh giá thiết kế.2 Dang sóng mô phỏng quá trình xử lý cho 1 CU có kích thước 32x32.3 Quá trình lấp đây các thanh ghi pipeline.4 quá trình xử lý chọn ra mode tốt nNdtc.5 Dạng sóng ouput sau khi đã lap day các thanh ghi pipeline.6 Dang sóng mô phỏng tinh toán best cost cho PU kích thước 4x4 và 8x8.7 Dạng sóng mô phỏng tinh toán best cost cho PU kích thước 16x16 và 32x32 Hình 4.8 Kết quả mô phỏng quá trình xử lý liên tiếp nhiều CU.9 Các cài đặt cho quá trình tổng hợp.10 Kết quả tổng hợp về resource sử dụng Hình 4.11 Kết quả resource sử dụng cho các module chính trong thiết kế.12 Kết quả timing report Hình 4.13 Mô phỏng timing với ở chu kỳ 4.31ns ứng với tần số 232Mhz. DANH MỤC BẢNG Bảng 1.1: So sánh banwidth giữa AVC và HEVC [44]'. 5 c555<55x+cs+sv<v<vx 1 Bang 1.2: Thống kê tốc độ mạng trung bình ở Việt Nam [Š].3 Số chu kỳ mong muốn can đạt được cho từng kích thước PU.4: Mục tiêu de tdi cccccccscsssssssssssssssssssssssssssssssssssssssuessssssicessssuesessssiesesssseeeeessvess 5 Bang 2.1 So sánh Bit-Rate Savings giữa các phiên bản nén video [9] .2: Tham số góc A so với mode dự đOÁH.---:-552cc:c5c5scscccxvccscrvscee 20 Bang 2.3: Tham số góc nghịch đảo B so với tham số góc A.1 Các thông số cơ bản của thiết kế phẩn cứng.2: Mô tả input/output của thiết kế.--©cccz5555szsvcc+ssesevcvsserrrssee 29 Bảng 3.3: Các mode thực thi ở chế độ song song.4: Mô tả tín hiệu module Planar PrediCHOH.5: Tỉ lệ kích cỡ module Branch so với từng P.6: Mô ta tín hiệu module DC PrediCtiOnn.7 Mô tả các trạng thái Xử Ỉý.
S55 St St EeEEkekEsskrkrkerekkekekrke 4 Bang 4.1: Các tính năng của Kvazaar Bang 4.2: Các mode kiểm tra ứng với từng loại ŠeqI€H€€.-ccccc:5c55ccz 49 Bang 4.3: Coverpoint cho từng tín hiỆu.4: Kết quả bao phú cua các bài kiểm tra Bang 4.5 Thông tin timing cua từng module thành phân chính trong mạch.6: Các lệnh can thiết cho quá trình mô phỏng timing post-synthesis.7: Phân bố số lượng các testcase có trong 4 CU.8: Thống kê số chu kỳ cân thiết để xử lý cho từng từng kích thước PU có trong 1 CŨ kích thước 32x32.9 Kết quả so sánh với các nghiên cứu trước đỏ.-----cc--cc--cc5cccs 65 DANH MỤC TỪ VIẾT TÁT Từ viết tắt Tên đầy đủ HEVC High Efficiency Video Coding UVM Universal Verification Methodology DPI Direct Programming Interface FullHD Độ phân giải 1920x1080 pixels 2K Độ phân giải 2560x1440 pixels 4K Độ phân giải 3840x2160 pixels 8K Độ phan giải 7680x4320 pixels UHD Ultra High Definition FPGA Field-programmable gate array AVC Advanced Video Coding MPEG Moving Picture Experts Group FPS Frame Per Secone CTU Coding Tree Unit CTB Coding Tree Block CU Coding Unit CB Coding Block PU Prediction Unit PB Prediction Block TU Transform Unit DCT Discrete Cosine Transform CABAC Context-Adaptive Binary Arithmetic Coding SCU Smallest Coding Unit LCU Largest Coding Unit DC Direct Current DCVal Direct Current Value RMD Rough Mode Decision RDO Rate Distortion Optimization SAD Sum of Absolute Transform Difference MPM Most probable mode TOM TAT KHÓA LUẬN High Efficiency Video Coding hay HEVC là một chuẩn nén cải tiến thay thé cho phiên bản H.264, cung cấp cho người sử dụng kha năng nén video chất lượng cao với banwitdth thấp và có hiệu suất tốt hơn 40% so với phiên bản nén tiền nhiệm [1]. Để đạt được điều đó, giải thuật nén Intra Prediction đã được cải tiến với mức độ phức tạp cao hơn. Cùng với việc bố sung thêm 26 vector dự đoán mới, cũng như hỗ trợ thêm các kích cỡ của khối dự đoán từ 4x4 sample lên đến 32x32 sample giúp cho cải thiện độ chính xác của dự đoán. Do cải tiến này làm cho yêu cầu về phần cứng trở nên phức tạp hơn, vì thế việc tối ưu hóa tốc độ và tài nguyên phần cứng cho giải thuật Intra Prediction của hệ thống nén HEVC là một điều cần thiết nhằm mục đích tối ưu hóa hệ thống.
Trong đề tài này, nhóm đã tham khảo lý thuyết và cách hoạt động của giải thuật Intra Prediction trong hệ thống nén HEVC. Đồng thời áp dụng các kĩ thuật đề tăng tốc giải thuật như: tối ưu phép nhân, xử lý song song đồng thời nhiều mode dự đoán thực hiện pipeline để tăng throughput ch cho toàn mạch. Để kiểm tra về chức năng cũng như tính đúng đắn của mạch nhóm đã sử dụng mã nguồn mở Kvazaar [2] để làm model mẫu. Và đồng thời xây dựng một môi trường kiểm tra dựa trên thư viện UVM [3].
Cùng với đó nhóm đã sử dụng tính năng DPI của SystemVerilog dé giao tiếp với model Kavazaar. Qua quá trình mô phỏng nhóm đã nắm được độ bao phủ của mạch dựa trên các coverpoint đã được định nghĩa trước đó, đảm bảo mạch chạy đúng chức năng của giải thuật và mục tiêu dé ra. Bên cạnh đó nhóm cũng so sánh kết quả đạt được với kết quả của các công trình nghiên cứu liên quan được đăng trên các hội nghị, tạp chí uy tín. GIỚI THIỆU ĐÈ TÀI 1.1 Giới thiệu đề tài Tên đề tài: Thiết kế và hiện thực phần cứng tăng tốc giải thuật Intra Prediction trong hệ thống nén video HEVC Giới thiệu: Nén video là kỹ thuật giúp giảm thiểu khối lượng thông tin cần thiết để mô tả một video số.
Quá trình nén là để loại bỏ các thông tin dư thừa có trong tín hiệu nhằm mục dich dé giảm lượng tài nguyên can thiết để lưu trữ video, tiết kiệm chi phí và cũng cho phép giảm lượng băng thông (bandwidth) cần thiết dé truyền video, mang lại trải nghiệm tốt hơn khi truy cập. Theo thống kê ở Bang 1.1 khi muốn truyền tải một video ở độ phân giải 1920x1080 (~ 6 Mbyte) và FPS là 30 tức là trong 1 giây ta có tới 180 Mbyte (~ 1440 Mbps) cần thực hiện, việc nén video bằng các chuẩn nén có thé giúp giảm lượng băng thông xuống 88 lần ở đối với AVC và xuống hơn 450 lần khi sử dụng giải thuật HEVC.I: So sánh banwidth giữa AVC và HEVC [4] AVC HD Video HEVC HD Video FPS 30fps 30fps Resolution 1920x1080 1920x1080 Bandwidth 16.134 Mbps Làm một phép tính đơn giản với một mạng trung bình hiện tại của Việt Nam hiện nay theo thống kê: Bảng 1.2: Thống kê tốc độ mạng trung bình ở Việt Nam [5] Download Upload Latency 35.89 Mbps 23 ms Nếu ta muốn upload một file phim gốc có độ phân giải 1920x1080 như trên, trong khi dung lượng cho phép của mang chi là 16. Vậy nên nếu ta không sử dụng các giải thuật nén video thì chắc chăn ta không thể upload hay download được các video có định dạng lớn như 2K, 4K hay 8K. Dựa trên sự phát triển của internet, streaming video với độ phân giải lớn (4K, 8K) đòi hỏi băng thông mạng rất lớn.
Qua đó sự cần thiết của việc áp dụng các giải thuật nén, đặc biệt là giải thuật mới nhất High Efficiency Video Coding (HEVC) hỗ trợ độ phân giải lên tới 8192 x 4320 bao gồm độ phân giải 8K UHD (Ultra High Definition) thay vì chỉ tới 4K như phiên bản tiền nhiệm là AVC [1] đồng thời cải thiện hiệu suất nén trên cùng bitrate tốt hơn 40% [1]. Vì những cải tiến đó việc thực hiện giải thuật HEVC lên phần cứng để đáp ứng nhu cầu nén và truyền video theo thời gian thực nhằm mục đích streaming hay sử dụng cho các nền tảng coi phim trực tuyến giúp cải thiện tốc độ truyền tải cũng như khả năng lưu trữ là vô cùng cần thiết. Trong hệ thống HEVC đã triển khai giải thuật Intra Prediction [1] giúp dự đoán các điểm ảnh của một frame ảnh bang cách sử dung các dữ liệu đã nén trước đó trong cùng một frame. Tuy nhiên do việc bồ sung nhiều cơ chế dự đoán mới so với các phiên bản tiền nhiệm vô hình chung đã làm tăng độ phức tạp của giải thuật Intra Prediction và làm tăng thời gian tính toán của giải thuật lên.
FPGA hay Field-programmable gate array là một mạch tích hợp bao gồm các khối phần cứng bên trong với các kết nối liên kết có thé lập trình cho người dùng dé tùy chỉnh hoạt động cho một ứng dụng cụ thé. Các kết nối liên kết có thé dé dang được lập trình lại, cho phép FPGA thích ứng với các thay đổi đối với thiết kế hoặc thậm chí hỗ trợ một ứng dụng mới trong suốt thời gian hoạt động của bộ phận. Hay có thê hiểu nôm na nó là một loại chip trang cho phép người dùng có thé tái cấu hình lại kiến trúc theo ý người dùng để thực thi một chức năng cụ thể.