Xây dựng hệ thống mô phỏng và kiểm chứng cho bộ mã hoá tín hiệu video H.264/AVC

6 33 0
Xây dựng hệ thống mô phỏng và kiểm chứng cho bộ mã hoá tín hiệu video H.264/AVC

Đang tải... (xem toàn văn)

Thông tin tài liệu

Hệ thống này cho phép chạy nhiều mô phỏng tại cùng một thời điểm với các kịch bản kiểm tra khác nhau. Nhờ việc này, đã giảm được thời gian chạy mô phỏng từ 2 đến 10 lần phụ thuộc vào khả năng của máy chạy mô phỏng. Kịch bản kiểm tra được thực hiện trên VHDL để kiểm tra thiết kế của bộ mã hoá tín hiệu video H.264/AVC thực thi trên công nghệ 130nm của hãng Global Foundry.

Hội thảo quốc gia 2014 Điện tử, Truyền thông Công nghệ thông tin (ECIT2014) Xây dựng hệ thống mơ kiểm chứng cho mã hố tín hiệu video H.264/AVC Bùi Duy Hiếu, Đặng Nam Khánh, Nguyễn Ngọc Mai, Nguyễn Kiêm Hùng, Trần Xuân Tú PTN mục tiêu Hệ thống tích hợp thơng minh, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội 144 đường Xuân Thuỷ, Cầu Giấy, Hà Nội, Việt Nam Email: {hieubd,tutx}@vnu.edu.vn Các hệ thống lớn mã hố H.264/AVC có nhiều khối chức nhiều tham số Do vậy, để kiểm tra chức đòi hỏi kịch kiểm tra phải linh động, cho phép thay đổi tham số mà thay đổi mã nguồn kiểm tra Từ đó, hệ thống kiểm tra với tham số thay đổi theo ý muốn người thiết kế mà sửa lại mã nguồn chương trình khơng cần phải biên dịch lại thiết kế cho lần chạy mô Bằng việc quản lý kịch kiểm tra, hệ thống mơ thực thi tự động dựa vào tập kịch có sẵn Việc giúp hệ thống mơ hệ máy chủ có hiệu cao, chí phân chia tập kịch kiểm tra khác hệ mơ khác Tóm tắt—Sự phức tạp hệ thống mã hố tín hiệu video H.264/AVC dẫn tới nhiều khó khăn việc kiểm tra, kiểm chứng kiểm thực thiết kế mức hệ thống mã hố Những khó khăn chúng tơi gặp phải thiết kế thực thi hệ thống việc quản lý kịch kiểm tra; thay đổi tham số hệ thống kịch kiểm tra; thời gian chạy mô lâu tập liệu dùng để kiểm tra kiểm chứng hệ thống, đặc biệt hệ thống ghép nối với hệ thống chip (System-on-chip) Trong báo cáo này, chúng tơi trình bày phương pháp xây dựng hệ thống mô kiểm chứng mức hệ thống mã hố tín hiệu video H.264/AVC dựa việc thiết kế kịch kiểm tra kiểm chứng tối giản linh động, kết hợp với phần mềm mã nguồn mở sẵn có GNU Make, ngơn ngữ Python để tạo thành hệ thống kiểm tra kiểm chứng tự động, cho phép tự động mô thiết kế từ mức hành xử mức cổng lơ-gíc Hệ thống cho phép chạy nhiều mô thời điểm với kịch kiểm tra khác Nhờ việc này, giảm thời gian chạy mô từ đến 10 lần phụ thuộc vào khả máy chạy mô Kịch kiểm tra thực VHDL để kiểm tra thiết kế mã hố tín hiệu video H.264/AVC thực thi công nghệ 130nm hãng Global Foundry Do có độ phức tạp cao có nhiều khối chức năng, nên thời gian để chạy mô hệ thống mã hố tín hiệu video kéo dài Trong hệ thống chúng tôi, thời gian mô cho đoạn Video với khung hình ảnh kéo dài đến Trong đó, cơng cụ mô phần cứng thường không hỗ trợ mơ đa luồng (multi-thread) Mặc định, chương trình chạy mô sử dụng lõi CPU máy tính đại đặc biệt hệ tính tốn hiệu cao có hàng trăm lõi xử lý Do vậy, công cụ không tận dụng sức mạnh hệ máy tính có nhiều CPU CPU có nhiều lõi xử lý Từ khóa—Mơ hình hố, mơ phỏng, kiểm chứng, H.264/AVC, hệ thống chip, kịch kiểm tra I GIỚI THIỆU Các chương trình mơ phần cứng thương mại hỗ trợ giao diện lập trình điều khiển sử dụng ngôn ngữ thông dịch Tcl [1] Các chương trình chạy chương trình mơ để giúp nhà thiết kế biên dịch thiết kế, điều khiển chương trình mơ phỏng, theo dõi q trình mơ tác vụ gỡ rối v.v Tuy nhiên, chương trình Tcl mặc định chương trình thực tuần tự, khơng giải vấn đề mô đa luồng (multi-thread) đa tiến trình (multi-process) Tóm lại, chương trình Tcl khơng tận dụng khả tính tốn hệ thống có nhiều lõi xử lý không rút ngắn thời gian biên dịch mô thiết kế Vấn đề kiểm tra kiểm chứng hệ thống vấn đề quan trọng cần xem xét từ thời điểm bắt đầu thiết kế hệ thống Thiết kế phức tạp vấn đề kiểm tra kiểm chứng thiết kế lại quan trọng khó thực Đối với khối nhỏ, việc kiểm tra kiểm chứng thiết kế khơng khó thực hiện, số trường hợp phải kiểm tra không nhiều Tuy nhiên, hệ thống phức tạp, bao gồm nhiều khối chứng giao tiếp với giao tiếp với xử lý nhớ ngồi hệ thống mã hóa tín hiệu video H.264/AVC, việc kiểm tra kiểm chứng hệ thống vấn đề phức tạp ISBN: 978-604-67-0349-5 391 Hội thảo quốc gia 2014 Điện tử, Truyền thông Công nghệ thông tin (ECIT2014) nhằm loại bỏ dư thừa không gian thời gian Tuy nhiên, việc trang bị nhiều cơng cụ mã hố tiên tiến làm cho hệ thống mã hoá theo chuẩn trở nên phức tạp, đặc biệt thực cứng hố hồn tồn mã hố/giải mã Hình minh hoạ mã hố H.264/AVC với khối chức Trong báo cáo này, đề xuất phương án xây dựng hệ thống kiểm tra thiết kế linh động sử dụng tính hỗ trợ cơng cụ mơ phỏng, ngôn ngôn ngữ VHDL/Verilog công cụ Make, áp dụng vào hệ mã hố tín hiệu video H.264/AVC VENGME [2] thiết kế để giảm thiểu thời gian biên dịch thiết kế, quản lý cấu hình chạy mơ quản lý tiến trình chạy mơ Hệ thống cấu hình với tham số khác để chạy mô cách thay đổi tham số (biến môi trường) môi trường chạy thiết kế Hệ thống mô hỗ trợ hai công cụ mô thông dụng QuestaSim hãng Mentor Graphics VCS hãng Synopsys Số lượng tiến trình mơ thời điểm thời gian thực mô với kịch kiểm tra phụ thuộc vào số lượng lõi vi xử lý có máy chạy mơ số lượng máy sử dụng để chạy mơ Hình Sơ đồ khối chức mã hố video theo chuẩn H264/AVC Các phần cịn lại báo cáo xếp sau Phần II giới thiệu chuẩn mã hố tín hiệu video H.264/AVC hệ thống mã hố tín hiệu video H.264/AVC VENGME chúng tơi thiết kế Phần III trình bày thiết kế kịch kiểm tra kiểm chứng hệ thống mã hố VENGME Phần IV cơng cụ hỗ trợ biên dịch, quản lý kịch chạy mô phỏng, kết đạt sau sử dụng công cụ hỗ trợ với kịch kiểm tra đề xuất Cuối số kết luận trình bày phần V II Theo Khuyến nghị H.264/AVC [3], định dạng (format) hay cú pháp (syntax) cho tín hiệu video bị nén phương pháp để giải mã cú pháp để tạo chuỗi tín hiệu video hiển thị được định nghĩa cách rõ ràng Tuy nhiên, tài liệu chuẩn không đề cập đến cách mã hố (nén) tín hiệu video số (digital video) Phần nén tín hiệu video dành cho nhà sản xuất mã hố tín hiệu video CHUẨN MÃ HỐ TÍN HIỆU VIDEO H.264/AVC VÀ BỘ MÃ HỐ TÍN HIỆU VIDEO VENGME B Bộ mã hố tín hiệu video VENGME Mục tiêu mã hố tín hiệu video VENGME hướng tới thiết bị di động hỗ trợ Main Profile chuẫn mã hố tín hiệu video H.264/AVC Với Main profile - Level 2, chip mã hố thực đáp ứng độ phân giải yêu cầu hội nghị truyền hình với loại hình ảnh CIF tốc độ khung 30f ps Sau số tính chip mã hoá xác định với lựa chọn trên: A Giới thiệu chung chuẩn H.264/AVC Chuẩn mã hố video H.264/AVC [3] cơng bố lần vào năm 2003 Đây chuẩn nén tín hiệu video hiệu (ngoại trừ chuẩn H.265/HEVC vừa công bố vào tháng 3/2013), cung cấp video với chất lượng cao với tốc độ bit (bit-rate) thấp chuẩn nén video trước Chuẩn mã hố video H.264/AVC phát triển nhóm chuyên gia hỗn hợp JVT thông qua hợp tác ITU-T VCEG1 ISO/IEC MPEG2 Chuẩn trang bị tập cơng cụ mã hố có khả hỗ trợ cho nhiều ứng dụng khác nhau, từ dịch vụ di động hội nghị truyền hình, truyền hình số ứng dụng truyền hình độ phân giải cao, truyền hình IP thiết bị lưu trữ số Nếu so sánh với chuẩn mã hố video trước chuẩn H.264/AVC giảm lượng tốc độ bit đáng kể [4], 39% so với MPEG-4 [5], 49% so với H.263 [6], 64% so với MPEG-2 [7] Để có tỷ lệ nén cao vậy, chuẩn H.264/AVC trang bị loạt kỹ thuật mã hoá tiên tiến The ITU-T Video Coding Experts Group (VCEG) Moving Picture Experts Group (MPEG) ISO/IEC ISBN: 978-604-67-0349-5 392 • Tính đốn liên ảnh (Inter Prediction) • Tính đốn nội ảnh (Intra Prediction) • Hỗ trợ kỹ thuật B slice • Kích thước khối ảnh thay đổi (variable block size) • Tính bù chuyển động Quarter–Pixel • Hỗ trợ kỹ thuật mã hố entropy CAVLC • Tính dự đốn có trọng số (weighted prediction) • Bộ lọc giải khối lặp (In-Loop deblocking filter) Hội thảo quốc gia 2014 Điện tử, Truyền thông Cơng nghệ thơng tin (ECIT2014) • Định dạng màu (4:2:0) • Tính định dạng dịng bit NAL (NAL bitstream formating) lọc giải khối), NAL MAU (đơn vị truy cập nhớ để ghi liệu mã hoá nhớ ngoài) III Kiến trúc thiết kế cụ thể mã hố tín hiệu video H.264/AVC VENGME trình bày Hình KỊCH BẢN KIỂM TRA VÀ KIỂM CHỨNG THIẾT KẾ Với thiết kế mã hố VENGME trình bày phần II-B, mơi trường kiểm tra kiểm chứng chức mã hố H.264/AVC cần khối chức sau: • Lõi mã hố tín hiệu video H.264/AVC ghép nối với hệ thống bus AMBA AHB/APB 2.0 • Lõi CPU lõi IP có khả lập trình truy cập tới ghi bên mã hố • Lõi điều khiển ngắt để xử lý ngắt hệ thống có ngắt từ mã hố • Mơ-đun nhớ ngồi Bộ mã hoá sử dụng nhớ để lưu ảnh dự đoán video gốc trình mã hố Hình Kiến trúc đề xuất cụ thể mã hoá video H.264/AVC Với kiến trúc phần cứng này, mã hố tín hiệu video H.264/AVC kết nối với hệ thống thông qua AMBA bus Để giao tiếp với AMBA bus, mã hố tín hiệu video H.264/AVC trang bị hai giao diện: Giao diện bus chủ AHB (AHB Master Bus IF) Giao diện bus tớ APB (APB Slave Bus IF) Việc cấu hình thơng số cho mã hố tín hiệu video H.264/AVC thực thơng qua giao diện bus tớ APB liệu hình ảnh trao đổi thơng qua giao diện bus chủ AHB Sau cấu hình, điều khiển hệ thống thực điều khiển q trình xử lý mã hố hệ mã hố video H.264/AVC Hình Kiến trúc hệ thống kiểm tra đề xuất Hình miêu tả hệ thống đề xuất để kiểm tra kiểm chứng lõi mã hố H.264/AVC VENGME Mơ hình xây dựng dựa khối có sẵn thư viện GRLIB [8] tích hợp thêm lõi mã hố H.264/AVC lõi làm nhiệu vụ kiểm chứng hay gọi Verification IP Hệ thống bao gồm: Vì liệu nguồn, liệu tham chiếu liệu mã hoá lưu trữ nhớ nên khối chức mã hoá video H.264/AVC cần phải giao tiếp với hệ thống bên ngồi thơng qua giao diện chủ bus AHB Tuy nhiên, khối chức đồng loạt trao đổi với AMBA bus mà phải trao đổi với giao tiếp chủ bus AHB thơng qua bus nội để quản lý cách hiệu trình trao đổi liệu Việc khối chức thực trao đổi liệu thông qua bus nội triển khai thông qua khối giao tiếp đặc biệt gọi đơn vị truy cập nhớ (MAU: Memory Access Unit) Với thiết kế này, mã hố VENGME có đơn vị truy cập nhớ: CMB MAU (đơn vị truy cập nhớ đọc liệu MB tại), SW MAU (đơn vị truy cập nhớ cấp liệu cho cửa sổ tìm kiếm), DF MAU (đơn vị truy cập nhớ ISBN: 978-604-67-0349-5 XÂY DỰNG 393 • Bộ mã hố H.264/AVC thiết kế: Thiết kế cần kiểm chứng (Design Under Test – DUT) • DDR2 Memory model: mơ hình DDR2 SDRAM • AHB_VIP: có chức đọc nội dung video cần mã hố từ file video (ví dụ foreman_qcif.yuv), sau copy nội dung vào DDR2 SDRAM theo khung hình để chuẩn bị cho q trình mã hố; cài đặt tham số Hội thảo quốc gia 2014 Điện tử, Truyền thông Công nghệ thông tin (ECIT2014) H.264/AVC AHB_VIP dừng chương trình mơ trường hợp thời gian mô vượt ngưỡng cho phép đặt người thiết kế Việc giúp giảm thời gian mô nhanh chóng xác định nguyên nhân gây lỗi tiết kiệm thời gian mơ kích hoạt q trình hoạt động mã hố H.264/AVC Mơ hình AHB_VIP mơ hình hố sử dụng ngơn ngữ VHDL, tham số hoá sử dụng tham số dạng generic để thay đổi kịch kiểm tra mà không cần phải biên dịch lại thiết kế Các tham số thay đổi thời điểm bắt đầu chạy mô Định dạng kịch kiểm tra trình bày phần III-B Ngồi ra, mã hoá xây dựng với số tham số khác tương tự cách mơ hình hố AHB_VIP đễ hỗ trợ việc kiểm tra chức năng, từ chế độ mã hố, trích xuất liệu phục vụ mục đích gỡ rối (debug) q trình mã hoá B Kịch kiểm tra Kịch kiểm tra tập tin văn với tham số tín hiệu video đầu vào tham số q trình mã hố Dựa vào kịch kiểm tra này, chương trình Make [10] sinh cấu hình tương ứng để thay đổi tham số AHB_VIP thời điểm gọi chương trình mô Ứng với kịch kiểm tra có tập tin đầu Tập tin lưu kịch kiểm tra có dạng _.cfg ví dụ: forman_qcif.cfg Một số cấu hình quan trọng kịch kiểm tra điển hình có dạng sau: A Mơ hình AHB_VIP Bộ mã hố tín hiệu video khơng đọc trực tiếp liệu video gốc Việc thực khối kiểm chứng thiết kế AHB_VIP Khối đóng vai trị xử lý để thực việc chép liệu video gốc lên nhớ, thiết lập chế độ hoạt động cho mã hố, trước kích hoạt mã hoá Khối đảm nhiệm việc xử lý ngắt mã hố hồn thành mã hố chuỗi video CFG_VIP_FILENAME=foreman_qcif.yuv CFG_VIP_FM_W=176 CFG_VIP_FM_H=144 CFG_VIP_INIT_QP=6 CFG_VIP_GOP_M=4 CFG_VIP_GOP_N=2 CFG_VIP_FMENC=5 CFG_VIP_IRQ_EN=1 CFG_VIP_CMB_NFM=2 Các bước điều khiển mã hoá H.264/AVC VENGME để thực mã hoá tập tin video lập trình AHB_VIP sau: 1) 2) 3) 4) 5) AHB_VIP đọc khung hình ảnh từ video gốc vào nhớ DDR RAM Số lượng khung hình ảnh đọc vào nhớ cấu hình qua tham số kịch kiểm tra để tiết kiệm nhớ AHB_VIP ghi tham số cho trình mã hố (kích thước khung hình, địa lưu giữ khung hình tái tạo, kết sau mã hoá, hệ số lượng tử hoá v.v ) vào ghi mã hoá H.264/AVC AHB_VIP kích hoạt q trình mã hố cách đặt bit ‘enable’ ghi điều khiển lên ‘1’ AHB_VIP chờ ngắt từ mã hố H.264/AVC để thơng báo kết thúc mã hố khung hình chuỗi khung hình Sau q trình mã hố kết thúc, AHB_VIP đọc liệu hình ảnh mã hoá, viết tập tin văn Sau q trình mã hố hồn tất, tập tin trích xuất ngồi q trình mơ phân tích để đánh giá hiệu mã hố kiểm tra lỗi Tập tin liệu mã hoá đầu giải mã phần mềm tham chiếu JM [9] chuẩn mã hoá tín hiệu video H.264/AVC để chứng minh liệu mã hố tn theo chuẩn nén tín hiệu Video ISBN: 978-604-67-0349-5 394 • CFG_VIP_FILENAME đường dẫn đến tập tin video gc ã CFG_VIP_FM_W ì CFG_VIP_FM_H l phõn giải video gốc • CFG_VIP_INIT_QP tham số lượng tử hoá chuẩn H.264/AVC (giá trị từ đến 54) • Hai tham số CFG_VIP_GOP_M CFG_VIP_GOP_N hai tham số quy định định dạng nhóm hình ảnh (Group of Pictures) • CFG_VIP_FMENC số khung hình ảnh mã hoá Tham số phải nhỏ số khung hình ảnh thực có tập tin video gốc • CFG_VIP_IRQ_EN cho phép kích hoạt ngắt mã hố • CFG_VIP_CMB_NFM số khung hình ảnh từ video gốc nạp lên nhớ Sau mã hố xong CFG_VIP_CMB_NFM khung hình ảnh, AHB_VIP nạp thêm số CFG_VIP_CMB_NFM khung hình vào nhớ kích hoạt mã hố tiếp tục mã hoá khung số khung hình mã hố đạt đến số khung hình CFG_VIP_FMENC Hội thảo quốc gia 2014 Điện tử, Truyền thông Công nghệ thông tin (ECIT2014) Bằng cách sử dụng kịch kiểm tra, tập tin kết sinh dựa kịch kiểm tra Kịch kiểm tra sinh cách tự động từ q trình mã hố tự động hố đến mức tối đa Một ưu điểm khác kịch kiểm tra chạy song song nhiều kịch kiểm tra mà không sợ bị xung đột liệu Các tham số q trình mơ thiết lập dựa vào kịch kiểm tra A Hỗ trợ kiểm tra thiết kế GNU Make GNU Make[10] công cụ sử dụng rộng rãi để hỗ trợ biên dịch ngơn ngữ lập trình khác Ưu điểm Make viết luật đơn giản để biên dịch tập tin mã nguồn theo thứ tự định Khi tập tin thay đổi, tập tin phụ thuộc vào cần biên dịch lại Việc rút ngắn thời gian biên dịch thiết kế biên dịch lại tập tin không phụ thuộc vào tập tin bị thay đổi Tuy nhiên, Make không hỗ trợ tốt ngôn ngữ miêu tả phần cứng Hãng Mentor Graphics Synopsys cung cấp công cụ để sinh Makefile, nhiên, tập tin hoàn toàn phụ thuộc vào cơng cụ khó thay đổi theo u cầu người lập trình C Các cấu hình mã hoá Bên cạnh kịch kiểm tra, cấu hình khác mã hố cấu hình thơng qua biến mơi trường Mặc định, công cụ Make hỗ trợ nhận thông tin từ biến môi trường Dựa vào biến môi trường công cụ Make, kịch kiểm tra tham số khác tiếp nhận từ biến mơi trường, hệ thống kiểm tra với chế độ khác Việc chạy mô mức hành xử hay mức cổng logic cấu hình qua biến mơi trường Các biến mơi trường lưu vào tập tin để sử dụng lại lần mô khác Sau ví dụ việc đặt giá trị cho biến môi trường môi trường bash shell: export export export export Để hỗ trợ nhiều công cụ mô phỏng, sử dụng Emacs VHDL-mode [13] để sinh tập tin Makefile cho ngôn ngữ VHDL Tuy nhiên, VHDL-mode không hỗ trợ sinh Makefile cho nhiều thư viện Do vậy, thay đổi VHDL-mode để sinh tập tin Makefile cho thư viện riêng lẻ có thiết kế Sau đó, chúng tơi viết tập tin Makefile tổng hợp cho phép biên dịch tất thư viện tập tin phụ thuộc Hiện tại, Makefile chúng tơi thiết kế biên dịch hệ thống với hai công cụ, hỗ trợ chạy mô đến mức cổng logic (gate-level simulation) cách tự động hồn tồn dựa vào biến mơi trường kịch kiểm tra Makefile hỗ trợ biên dịch song song chạy mô song song PROJECT_ROOT= /FRONT-END SIM_TRACE_LEVEL=10 SIM_PARA_FILE=foreman_qcif.cfg COMPILER_OPTS=-quiet Để chạy mô đa tiến trình (multi-process) với kịch mơ (thậm chí với kịch người dùng tự viết khơng có hệ thống), luật Makefile viết sử dụng luật tự động (pattern rule) Ví dụ, để sinh tập tin .h264.txt từ kịch kiểm tra (tập tin .cfg), dùng luật GNU make sau: Biến môi trường quan trọng PROJECT_ROOT Biến trỏ đến thư mục chứa mã nguồn hệ thống Sau biến đặt giá trị, hệ thống Makefile hoạt động Hệ thống mơ hoàn toàn tự động từ biên dịch thiêt kế, đến chạy mô phỏng, gỡ rối Một số biến khác SIM_PARA_FILE thông báo kịch sử dụng để chạy mơ Biến đặt nhiều kịch mô phỏng, phân cách khoảng trắng %.h264.txt : %.cfg $(eval SIM_RUN_FILE=$

Ngày đăng: 31/10/2020, 10:16

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan