Chương 1. GIỚI THIỆU DE TÀI.- 2-5 2 ©++SS++E+E£2E£E£E+EeE+zxerxzxererxea 2 LL. Mục tiêu dé tài và phương pháp thực hiện. ---c CS Q01 1911111 1n HH ng TH nh cà 4 1.
Phuong pháp thực hiỆn. Bố cục khóa luận.---- + St+2t‡ #2 2 2E EEEEEEErrrrrrrrrkere 6 Chương 2.--- + + SE SEEEEEEEEEEE 12321212121 2121 211 2e5 8 "An 10. Sơ đồ xử lícủa HEVC. Kién trúc Coding Unit (CU) va Coding Tree.
Kiến trúc Prediction Unit.----cc+cc+ccsrsrererkerkeee 13 2. Giải thuật Integer Motion EStImatION. Sơ lược về Integer Motion Estimation. Cac thuật toán Integer Motion Estimation.
THIẾT KE DE XUẤT CHO GIẢI THUẬT HEVC INTEGER MOTION ESTIMA TION. Thiết kế hệ thống .--¿- - E52 SE EE1121E1 1E 5111112111 E111111 111111 re 20 3. Thiết kế chỉ tiẾt.-- 2 S22E2EEt2EE2Ecrrkereei 23 3. FULL SEARCH CONTROLLER.---- 2 5+s+s+£e£ezzzxzzcsez 30 Chương 4.
MO PHONG VÀ ĐÁNH GIÁ KET QUẢ. Mô phỏng pre-synth€SIS.-- TS vn tre 33 4. Mô phỏng post-ImplementatIOH. - 111111111 1v re 38 GEN Co Si 00 (414.
Danh c‹tc::iiđđaiiaaiii'ÃẼÉÝỶÝÝÝỶ. KET LUẬN VA HƯỚNG PHAT TRIEN. Hướng phát triển.--¿-¿©¿©++k+SStSE2E+EEEEEEEEEEEEEEEEEEEEEEEEEExerrree 47 DANH MỤC HÌNH Hình 1.1 Tương quan về kích thước block của chuẩn HEVC (a) và chuẩn AVC (b) 2 Hình 1.2 So sánh về lưu lượng băng thông cho video với độ phân giải FullHD.1 Minh họa cho giai đoạn Motion Estimation.---««««<<cx+++ss 9 Hình 2.2 Các loại khung hình bên trong một nhóm khung hình .3 Sơ đồ khối của hệ thong HEVC.4 Vi dụ về việc sắp xếp các CTU bên trong một 64x64 CTB.5 Cấu trúc “quad tree structure” và depth tương ứng.6 Các loại PU được hỗ trợ bới HEVC Inter-codIng.7 Minh họa cho Motion VecCfOr.8 Thống kê số lượng các PU partition cần xử lí.-- ¿2 2c +c+x+scz£zc+ 16 Hình 2.9 Hướng di chuyên của scan direction cho Full Search .10 Minh họa cho Search Area và Search Re€gOII.11 Minh họa cho quá trinh Motion Estimaftion.1 Sơ đồ khối chính của hệ thống đề xuất.2 Cấu trúc phân bó dit liệu từ reference area.3 Cấu trúc module SHIFTER ARRAY.4 Cấu trúc module PROCESSING ELEMENT ARRAY.5 Cấu trúc của PROCESSING ELEMENT.--- - 5 +c+xve+eeeeeereed 28 Hình 3.6 Cấu trúc module ADDER TREE.7 Mô hình khối CONTROLLER.1 Cấu trúc của hệ thống kiểm chứng thiết kỀ.-- 5-2-5 +s+s+s+sz£zSz2 33 Hình 4.2 Kết quả so sánh một CTU.-¿ ¿+ + ¿52 22+E2E+EE££E2E+EvEeEztzxerrrerees 35 Hình 4.3 Mô phỏng khi hệ thống bắt đầu hoạt động.4 Mô phỏng hệ thống sau khi nạp xong SHIFTER ARRAY.5 Mô phỏng giai đoạn tính toán của ADDER TREE.6 Mô phỏng thời điểm kết quả SAD đầu tiên được tính toán.7 Mô phỏng post-implementation functional của thiết kế.8 Các thiết lập cho quá trình synthesis .9 Các thiết lập cho quá trình implementation.10 Thống kê về tài nguyên FPGA của mạch.11 Thống kê về lượng tài nguyên sử dụng của từng thành phan chính.12 Kết quả về timing của mạch tại 323 Mhz.13 Mô phỏng cơ chế pipeline của hệ thống.---- 5-2-2 522s+s2Ez£z£zS22 42 Hình 4.14 Quá trình tính toán của hệ thống .- - - ¿+2 2 +£+E+E+E£z£z£z£zxzxzxz 43 DANH MỤC BANG Bảng 1.1 Mục tiêu đề tài.1 Mô tả các chức năng chính của hệ thống.2 Mô ta input/output của “Memory Componenif”.3 Mô ta input/output của “Processing Componenif”.4 Mô tả các trạng thái của FULL SEARCH CONTROLLER.1: Cac tính năng của Kvazaar.2 Các file dữ liệu dược trích xuất tỪ KVaZâF.- cv rrea 34 Bang 4.3 So sánh giữa hệ thống đề xuất với các thiết kế khác.--- - 5: 44 DANH MỤC TỪ VIET TAT Từ viết tắt Tên đầy đủ HEVC High Efficiency Video Coding FullHD Độ phan giải 1920x1080 pixels 2K D6 phan giai 2560x1440 pixels 4K Độ phân giải 3840x2160 pixels 8K Độ phân giải 7680x4320 pixels 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 SCU Smallest Coding Unit LCU Largest Coding Unit SAD Sum of Absolute Difference IME Integer Motion Estimation ME Motion Estimation FS Full Search SA Search Area DPB Decoded Picture Buffer TÓM TẮT KHÓA LUẬN Các giải thuật nén video phô biến hiện nay bao gồm MPEG-2, MPEG-4, H. High Efficiency Video Coding (HEVC/H265) là một chuẩn nén video mới kế thừa của Advance Video Coding (AVC/H264) và có hiệu suất tốt hơn lên đến 50% so với thế hệ cũ.
Hệ thống HEVC đã triển khai giải thuật Motion Estimation (bao gồm khối Motion Search và khối so sánh SAD) giúp dự đoán các điểm ảnh của một block bằng cách sử dụng các dữ liệu từ các khung hình đã nén trước đó, trên hệ thống HEVC Inter Prediction hỗ trợ nhiều kích cỡ Prediction Unit (PU) từ 4x8/8x4 đến 64x64 điềm ảnh [1]. Ngoài ra đối với Inter Prediction, các PU còn có thé được phân chia theo 3 chế độ: Square Motion Partitions, Synmmetric Motion Partitions (SMP) và Asymmetric Motion Partitions (AMP). Do cải tiến nay làm cho yêu cầu về phan cứng trở nên phức tạp hon, vì thé việc tối ưu hóa tốc độ và tài nguyên phan cứng cho giải thuật Integer Motion Estimation 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 Inter Prediction trong hệ thống nén HEVC.
Đồng thời áp dụng các kĩ thuật dé tăng tốc giải thuật như: tối ưu bộ nhớ, xử lý song song đồng thời hỗ trợ tăng throughtput băng cách thực hiện pipeline 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. Qua quá trình mô phỏng nhóm đã đảm bảo mạch chạy đúng chức năng của giải thuật và mục tiêu đề 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 DE TÀI 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 Integer Motion Estimation trong hệ thống nén video HEVC. Giới thiệu: Giải thuật nén video là quá trình giảm thiểu kích thước dit liệu video để giảm băng thông mạng và dung lượng lưu trữ. Nén video là rất cần thiết vì video là tài nguyên dit liệu có kích thước lớn, tốn nhiều băng thông mạng dé truyền tải và lưu trữ.
Khi video được nén, kích thước của tệp video được giảm xuống một phần, điều này làm giảm tốc độ truyền tải và chi phí lưu trữ. Ngoài ra, giải thuật nén video giúp tối ưu hóa việc phát video trên các thiết bị với màn hình kích thước khác nhau và giúp cải thiện chất lượng phát.1 Tương quan về kích thước block của chuẩn HEVC (a) và chuẩn AVC (b) Các giải thuật nén video phổ biến hiện nay bao gồm MPEG-2, MPEG-4, H. High Efficiency Video Coding (HEVC/H265) là một chuẩn nén video mới kế thừa của Advance Video Coding (AVC/H264) và có hiệu suất tốt hơn lên đến 50% so với thế hệ cũ. Mặc dù chuẩn nén video AVC vẫn được sử dụng phổ biến trong hầu hết các thiết bị điện tử ngày nay, hiệu năng nén video của AVC vẫn là chưa đủ dé đáp ứng được nhu cầu streaming hay lưu trữ video ngày càng tăng.
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 đồng thời cải thiện hiệu suất nén trên cùng bitrate tốt hơn 40% [3]. Vì những cải tiễn đó việc thực hiện giải thuật HEVC lên phần cứng dé đáp ứng nhu cầu nén và truyền video theo thời gian thực nham mục đích streaming hay sử dụng cho các nên tảng xem video trực tuyến (Netflix, Youtube, Twitch,.) 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. Mặt khác, sức mạnh xử lí của các thiết bị điện tử đã tăng lên rất nhiều trong những năm gan đây, tạo ra cơ hội cho những chuẩn nén video yêu cầu nhiều tài nguyên phân cứng và cung câp được hiệu suât nén tôt hơn người tiên nhiệm của chúng.
tủ =~ = MPEG-2 AVC HEVC FVC = $ Advanced High Efficiency Future = ` Video Coding Video Coding Video: Coding 16 Po @ ; : : 1994 1999 2003 2012 ~2021 Year Hình 1.2 So sánh về lưu lượng băng thông cho video với độ phân giải FullHD Hình 1.2 trình bày biểu đồ về sự cải thiện trong lượng băng thông mạng yêu cầu dé có thé truyền đi qua từng khoảng năm với những chuẩn nén video mới [3]. Hệ thống HEVC đã triển khai giải thuật Integer Motion Estimation (IME) giúp dự đoán các điểm ảnh của một block bằng cách sử dụng các đữ liệu từ các khung hình đã nén trước đó, trên hệ thống HEVC Inter Prediction hỗ trợ nhiều kích cỡ Prediction Unit (PU) từ 4x8/8x4 đến 64x64 điểm ảnh. Ngoài ra đối với Inter Prediction, các PU còn có thé được phân chia theo 3 chế độ: Square Motion Partitions, Synmmetric Motion Partitions (SMP) va Asymmetric Motion Partitions (AMP) cùng với Search Area (SR) va Largest Coding Unit (LCU) lớn hơn nhiều so với các chuẩn video cũ [1]. Điều nay đã làm cho gánh nặng tính toán của giai đoạn Motion Estimation cũng như Inter Prediction tăng lên rất nhiều.
Mục tiêu đề tài và phương pháp thực hiện 1. Mục tiêu Đối với HEVC, do việc tăng cường thêm các chế độ dự đoán và hỗ trợ kích cỡ xử lý của PU lớn hơn nhiều so với H.264 (có tông cộng 677 partitions cho một LCU với kích thước 64x64) trực tiếp làm cho việc tính toán trong giải thuật Motion Estimation trở nên phức tạp hơn với tốc độ xử lý chậm hơn. Với sự phát triển của phần cứng hiện nay, nhiều thuật toán phức tạp đã được hiện thực phần cứng nhằm tăng tốc độ xử lý. Trong hau hết các công trình được công bố, các kiến trúc phần cứng IME được đề xuất chỉ tập trung vào cải thiện hoặc thay thế thuật toán Motion Search vì thuật toán này liên quan đến phần lớn độ phức tạp tính toán của khối IME.
Có rất nhiều thuật toán Motion Search có thé được sử dung dé tìm chuyên động trong một đoạn video. Một số bài báo đã đề xuất giải pháp triển khai thuật toán Motion Estimation trên phần cứng dé đạt được tốc độ mã hóa cao hơn mà không hi sinh quá nhiều chất lượng video được mã hóa. Điển hình cho những cải tiến này là sử dụng các thuật toán Fast Search như [4]. Kiến trúc được đề xuất trình bày một khối phần cứng IME sử dụng thuật toán Motion Search Rot-W— Diamond (RWD).
Trong [4], các tác giả đã đề xuất một hệ thống có thé xử lý video 8K với fps cao nhưng tiêu tốn rất nhiều tài nguyên phần cứng.