Đăng ký Đăng nhập
Trang chủ Nghiên cứu phát triển giải pháp thực thi phần cứng cho bộ mã hóa số học nhị phân...

Tài liệu Nghiên cứu phát triển giải pháp thực thi phần cứng cho bộ mã hóa số học nhị phân thích nghi theo ngữ cảnh ứng dụng trong chuẩn hevc tt

.PDF
27
8
128

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ TRẦN ĐÌNH LÂM NGHIÊN CỨU PHÁT TRIỂN GIẢI PHÁP THỰC THI PHẦN CỨNG CHO BỘ Mà HÓA SỐ HỌC NHỊ PHÂN THÍCH NGHI THEO NGỮ CẢNH ỨNG DỤNG TRONG CHUẨN HEVC Chuyên ngành: Kỹ thuật điện tử Mã số: 9 52 02 03 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT Hà Nội – 2021 Công trình được hoàn thành tại: Viện Khoa học và Công nghệ quân sự - Bộ Quốc phòng Người hướng dẫn khoa học: PGS. TS. Trần Xuân Tú Phản biện 1: PGS. TS. Hoàng Văn Phúc Phản biện 2: PGS. TS. Lê Nhật Thăng Phản biện 3: TS. Vũ Lê Hà Luận án được bảo vệ trước Hội đồng đánh giá luận án cấp viện họp tại Viện Khoa học và Công nghệ Quân sự, Hà Nội vào hồi giờ , ngày tháng năm 20 . Có thể tìm hiểu luận án tại: - Thư viện Viện Khoa học và Công nghệ quân sự - Thư viện quốc gia Việt Nam DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC Đà CÔNG BỐ 1) Dinh-Lam Tran, Viet-Huong Pham, Kiem Hung Nguyen and Xuan-Tu Tran, “A Survey of High-Efficient CABAC Hardware Implementations in HEVC Standard,” VNU Journal of Computer Science and Communication Engineering, vol. 35, no. 2, pp. 1-21, 2019. 2) Quang-Linh Nguyen, Dinh-Lam Tran, Duy-Hieu Bui, DucTho Mai and Xuan-Tu Tran, “Efficient Binary Arithmetic Encoder for HEVC with Multiple Bypass Bin Processing,” in The 7th IEEE International Conference on Integrated Circuits, Design, and Verification, Hanoi, Vietnam, 2017, pp.82-87. DOI: 10.1109/ICDV.2017.8188644 3) Dinh-Lam Tran, Xuan-Tu Tran, Duy-Hieu Bui, Cong-Kha Pham. An Efficient Hardware Implementation of Residual Data Binarization in HEVC CABAC Encoder. Electronics, vol. 9, issue 4, p. 684, April 2020. ISSN 2079-9292 (SCI, IF 2.412, Q1). DOI:10.3390/electronics9040684 1 MỞ ĐẦU 1. Tính cấp thiết của luận án Mã hóa nén tín hiệu video có vai trò quan trọng trong các hệ thống truyền thông video, đặc biệt ngày nay khi nhu cầu truyền thông video chất lượng cao, định dạng UHD 4K/8K chiếm phần đa lưu lượng dữ liệu trao đổi (>80%). Chuẩn nén video hiệu năng cao (HEVC) được xây dựng để truyền thông hiệu quả các dịch vụ video thế hệ mới này. Quá trình triển khai hiện thực hóa chuẩn HEVC gặp nhiều thách thức, đặc biệt là các giải pháp phần cứng cho mục tiêu đa dạng hóa ứng dụng HEVC vào các dịch vụ video khác nhau. Vì vậy nghiên cứu và phát triển các giải pháp nâng cao hiệu quả thực thi phần cứng để hiện thực hóa chuẩn HEVC là rất cấp thiết. 2. Mục tiêu nghiên cứu của luận án Nghiên cứu, phát triển các kỹ thuật, giải pháp kiến trúc phần cứng theo định hướng cải thiện hiệu quả thực thi về năng lượng tiêu thụ và tài nguyên phần cứng khi thiết kế các mô-đun thành phần chức năng của bộ mã hóa CABAC trong chuẩn mã hóa HEVC. 3. Các kết quả chính, ý nghĩa khoa học và thực tiễn 3.1. Các kết quả chính 1) Đề xuất giải pháp “quét kết hợp một số phần tử cú pháp” nhằm giảm công suất tiêu thụ trong triển khai thiết kế mô-đun tổ hợp phần tử cú pháp độ dư thông tin điểm ảnh. 2) Đề xuất giải pháp “biến đổi nhị phân kết hợp” nhằm tiết kiệm tài nguyên phần cứng trong triển khai thiết kế mô-đun biến đổi nhị phân. 3) Đề xuất giải pháp “nhân trước” và “hợp nhất tuyến xử lý dữ liệu” nhằm tiết kiệm tài nguyên phần cứng trong triển khai thiết kế mô-đun mã hóa nhị số học phân thích nghi. 3.2. Ý nghĩa khoa học và thực tiễn. Kết quả nghiên cứu của luận án góp phần hoàn thiện và nâng cao hiệu quả các giải pháp thiết kế kiến trúc bộ mã hóa CABAC, áp dụng cho các ứng dụng video thế hệ mới. Trong đó, đề xuất các giải pháp kiến trúc phần cứng cho các mô-đun chức năng thành phần của CABAC theo định hướng cải thiện các tiêu chí tài nguyên và năng lượng tiêu thụ. Kết quả nghiên cứu của luận án cung cấp nguyên lý, giải thuật cơ bản nhất của chuẩn nén HEVC; tổng hợp và đánh giá những thành tựu, xu hướng nghiên cứu phát triển mới liên quan nhất đến đề tài luận án. Bên cạnh đó, luận án cung cấp một giải pháp mô phỏng, kiểm chứng, đánh giá các kết quả nghiên cứu phát triển về nén video. Các kết quả nghiên cứu này góp phần phục vụ công tác nghiên cứu, phát triển KHCN trong lĩnh vực nén video và thiết kế vi mạch tích hợp, một lĩnh vực đang thu hút được nhiều quan tâm của giới học thuật trong nước, sự đầu tư phát triển của Nhà nước và các tổ chức. 2 CHƯƠNG 1: TỔNG QUAN BỘ Mà HÓA SỐ HỌC NHỊ PHÂN THÍCH NGHI THEO NGỮ CẢNH CABAC TRONG CHUẨN HEVC 1.1 Kiến trúc bộ mã hóa video HEVC 1.1.1. Nguyên lý mã hóa thông tin của HEVC Mã hóa các thông tin điều khiển chung Biến đổi và lượng tử Phân chia thành các CTU Định dạng tiêu đề và mã hóa CABAC Chuỗi bit mã hóa 0101100 Bộ giải nén Biến đổi ngược Dự đoán nội ảnh Tín hiệu video đầu vào Dự đoán liên ảnh Bộ lọc vòng Tín hiệu video giải nén Ước lượng chuyển động Bộ đệm ảnh giải nén Hình 1.2. Sơ đồ khối chức năng bộ mã hóa HEVC HEVC được thiết kế để mã hóa dữ liệu theo khối điểm ảnh. Chuỗi các khung hình đầu vào được phân chia thành các khối dữ liệu điểm ảnh theo kiểu “đơn vị dữ liệu mã hóa phân chia theo hình cây” (CTU: Coding Tree Unit). Dữ liệu video được nén theo nguyên lý mã hóa độ dư thông tin trên cơ sở dự đoán nội ảnh (Intra-Picture Prediction) và liên ảnh (Inter-Picture Prediction). Các thông tin dư được thực hiện biến đổi sang miền tần số theo nguyên tắc DCT/DST tạo ra các hệ số biến đổi. Các hệ số, cùng các tham số điều khiển, thông tin tiêu đề được đưa vào bộ mã hóa CABAC biến đổi thành luồng bit mã hóa video. 1.1.2. Nguyên lý và kiến trúc chung của bộ mã hóa CABAC trong chuẩn HEVC Biến đổi nhị phân (Binarizer): Thực hiện phép ánh xạ các phần tử cú pháp thành các ký hiệu nhị phân Binary Symbol (bin) bằng các phép biến đổi nhị phân khác nhau (Fixed Length, Truncated Unary, EGk). Mô hình hóa ngữ cảnh (CM: Context Modeler): Mô hình hóa và lựa chọn ngữ cảnh để ước lượng xác suất cho mỗi bin trước khi mã hóa. Mỗi CM đã chọn sẽ được cập nhật sau khi mã hóa/giải mã. 3 Mã hoá số học nhị phân (BAE: Binary Arithmetic Encoder): BAE thực hiện nén các bin nhị phân thành chuỗi bit, cho phép các phần tử cú pháp (SE: Syntax Element) được biểu diễn bởi một số lượng nhỏ các bit nhị phân, giúp nâng cao hiệu quả mã hóa. BAE hoạt động theo nguyên lý phân đoạn đệ quy (recursive sub-interval division). Hiệu quả nén được quyết định bởi độ chính xác ước lượng xác suất của mỗi bin. Cập nhật mô hình ngữ cảnh Dữ liệu thập phân Biến đổi nhị phân bin Mô hình hóa ngữ cảnh Mô hình xác suất Mã hóa regular bin Luồng bit ra tuyến mã hóa dữ liệu thường Phần tử cú pháp Dữ liệu nhị phân tuyến mã hóa dữ liệu bypass Các bít mã Mã hóa bypass bin Các bit mã Mã hóa số học nhị phân Hình 1.13. Sơ đồ khối chức năng bộ mã hóa CABAC. 1.2. Tổng quan tình hình nghiên cứu phát triển bộ mã hóa CABAC tỏng chuẩn HEVC. HEVC đạt được hiệu quả nén cao gấp đôi chuẩn H.264/AVC nhờ cải tiến các công cụ mã hóa để tối thiểu hóa thông tin dư thừa trước khi truyền đi. Hiệu quả nén được đánh đổi bởi sự tăng lên về khối lượng tính toán, phức tạp về giải thuật và kiến trúc phần cứng thực thi bộ mã hóa. Trong đó, bộ mã hóa CABAC có độ phức tạp tính toán lớn nhất và đòi hỏi tốc độ xử lý luồng dữ liệu cao nhất. Các yếu tố này ảnh hưởng trực tiếp đến các tiêu chí về thông lượng xử lý (đáp ứng về mặt tốc độ đối với các luồng video chất lượng cao, thời gian thực), về độ phức tạp phần cứng (ảnh hưởng tới tài nguyên thiết kế và tiêu thụ nguồn). Vì vậy các kết quả nghiên cứu về CABAC của các nhóm nghiên cứu trên thế giới tập trung vào ba định hướng chính là: (1): nâng cao thông lượng đáp ứng truyền thông thời gian thực các luồng video số 4K/8K; (2): tiết kiệm nguồn tiêu thụ cho các thiết kế ASIC ứng dụng trên thiết bị di động dùng pin; (3): hiệu quả sử dụng tài nguyên phần cứng đảm bảo tính tích hợp nhỏ gọn cho mục tiêu đa dạng hóa ứng dụng. CABAC được sử dụng để mã hóa thông tin độ dư điểm ảnh sau các phép dự đoán, biến đổi. Dữ liệu đầu vào là ma trận các hệ số biến đổi có kích thước khác nhau (44 ÷ 3232). Trước khi được biến đổi nhị phân và mã hóa thích nghi theo xác suất, các hệ số này được “duyệt”để tổ hợp thành tập các phần tử cú pháp. Kiến trúc phần cứng chức năng bộ mã hóa CABAC được mô tả trên hình 1.17. 4 Dữ liệu ảnh (Hệ số biến đổi) Cập nhật mô hình xác suất Các mô hình Xác suất xác suất Mô đun tổ hợp phần tử cú pháp Ctx_idx Phần tử cú pháp Mô-đun biến đổi nhị phân bin Cập nhật Range Cập nhật rLPS trạng thái xác suất MPS (rLPS, MPS) Cập nhật Low Trích xuất bit mã Mô-đun BAE Chuỗi bit mã hóa CABAC Hình 1.17. Sơ đồ khối kiến trúc phần cứng CABAC. 1.2.1. Các giải pháp theo định hướng thông lượng cao Thông lượng của bộ mã hóa CABAC được đánh giá bởi số lượng bin dữ liệu được mã hóa trên một đơn vị thời gian (Mbin/s). Nguyên tắc để cải thiện tham số này là tăng tần số xung nhịp hệ thống và/hoặc tăng số lượng bin mã hóa đồng thời. Các giải pháp kỹ thuật để cải thiện thông lượng là các kiến trúc xử lý song song (Parallelism) để tăng số lượng bin mã hóa đồng thời, xử lý đường ống (Pipeline) luồng dữ liệu nhằm giảm trễ chu trình mã hóa. Do đặc tính phân đoạn chu trình mã hóa, các giải pháp thiết kế song song, đường ống được áp dụng cho nhiều mức, từ kiến trúc tổng thể CABAC tới các mô-đun chức năng thành phần. a) Các thiết kế kiến trúc song song Kiến trúc HEVC mức slice SE Biến đổi nhị phân và tách luồng bin Regular bins Encoder [0] ... Dự đoán, lượng tử, biến đổi Dự đoán, lượng tử, biến đổi Bypass bins Bộ đệm PIPO Encoder [n] Mô hình hóa xác suất Tra bảng và cập nhật Range Mã hóa Entropy [0] ... Mã hóa Entropy [n] Bộ đệm PIPO Bộ đệm PIPO Ghép luồng bin CABAC encoder [0] Cập nhật CABAC Output chuỗi bit mã ... CABAC encoder [n] Cập nhật Low Cập nhật CABAC Output chuỗi bit mã Trích xuất bit mã Hình 1.18. Kiến trúc CABAC đa lõi BAE Chuỗi bit mã Hình 1.19. Kiến trúc CABAC đa bin Giải pháp kiến trúc CABBAC đa lõi (Hình 1.18) cho phép mã hóa song song nhiều khối dữ liệu ảnh độc lập, còn giải pháp CABAC đa bin (Hình 1.19) cho phép mã hóa song song nhiều bypass bin. Các giải pháp này tăng số bin dữ liệu mã hóa trong mỗi chu kỳ xung nhịp. 5 Giá trị SE Chuỗi SE đầu vào Phân loại SE Bộ phân tích, điều khiển SE 0 SE 1 SE 2 SE 3 Mô-đun biến đổi nhị phân Mô-đun biến đổi nhị phân Mô-đun biến đổi nhị phân Mô-đun biến đổi nhị phân Biến đổi nhị phân kết hợp Biến đổi nhị phân EGk Chuỗi bin đầu ra Lựa chọn phép biến đổi nhị phân Giá trị Cmax Biến đổi nhị phân Truncated Unary Biến đổi nhị phân Truncated Rice Biến đổi nhị phân Fixed Length Chuỗi bin đầu ra Hình 1.21. Kiến trúc Binarizer đa lõi Hình 1.22. Kiến trúc Binarizer phức hợp Kỹ thuật thiết kế song song cũng được áp dụng trong kiến trúc Binarizer đa lõi (Hình 1.21) để nâng cao thông lượng. Ngoài ra thiết kế kiểu kiến trúc Binarizer phức hợp bằng cách tăng số lượng mô-đun thành phần, tối ưu hóa sự kết hợp giữa các mô-đun này cho phép xử lý nhiều phần tử cú pháp trong mỗi xung nhịp (Hình 1.22). Kiến trúc này vẫn đảm bảo thông lượng cao nhưng ít phức tạp phần cứng hơn kiến trúc đa lõi. b) Kỹ thuật thiết kế kiến trúc xử lý đường ống Chuỗi bin và mô hình xác suất Bước 1 Bảng tra LPS Bảng tra LPS Bảng tra LPS Bảng tra LPS Cập nhật range Cập nhật range Cập nhật range Cập nhật range Cập nhật low Cập nhật low Cập nhật low Cập nhật low Trích xuất bit mã Trích xuất bit mã Trích xuất bit mã Trích xuất bit mã Bước 2 Bước 3 Bước 4 Chuỗi bit mã hóa Hình 1.24. Kiến trúc BAE mã hóa nhiều bin song song Kỹ thuật xử lý đường ống, kiến trúc song song được áp dụng để thiết kế mô-đun mã hóa thích nghi BAE thông lượng cao (Hình 1.22), cho phép tăng số lượng bin mã hóa đồng thời và cải thiện tần số xung nhịp hệ thống. c) Kiến trúc tổ hợp phần tử cú pháp thông lượng cao Mô-đun tổ hợp phần tử cú pháp đầu vào CABAC cũng cần có thông lượng xử lý cao, đảm bảo dữ liệu đầu vào cho CABAC. Kỹ thuật song song được áp dụng để thiết kế kiến trúc Tổ hợp phần tử cú pháp 6 bốn lõi song song để tăng thông lượng dữ liệu đầu vào CABAC. Kiến trúc này có áp dụng kỹ thuật đường ống đảm bảo thông lượng nhưng phức tạp phần cứng và hiệu quả xử lý thấp. 2 7 Chu kỳ 2 0 4 3 0 Chu kỳ 1 -1 0 5 0 Lõi 0 Lõi 1 Lõi 2 Lõi 3 Chu kỳ 3 Tập hệ số biến đổi Tập các phần tử cú pháp Hình 1.25. Kiến trúc tổ hợp phần tử cú pháp bốn lõi song song 1.2.2. Định hướng kiến trúc phần cứng hiệu quả cao a. Kiến trúc BAE tiết kiệm nguồn áp dụng giải pháp chặn xung nhịp Do đặc tính thống kê không đồng đều về tỷ lệ và tần suất xuất hiện của các loại bin đầu vào BAE, trong đó MPS bin có tỷ lệ, tần suất xuất hiện lớn nhất. Kỹ thuật chặn xung nhịp đã được áp dụng trong kiến trúc BAE để cải thiện mức độ tiêu thụ năng lượng. Kỹ thuật chặn xung nhịp đã được áp dụng giữa các thanh ghi đệm tầng cho tuyến xử lý các bin tần suất thấp hơn (LPS bin, Bypass bin). b. Mô-đun biến đổi nhị phân tiết kiệm nguồn áp dụng toán tử cách ly. Giá trị SE Phân loại SE Bộ phân tích, điều khiển Giá trị Cmax enable Biến đổi nhị phân kết hợp enable Biến đổi nhị phân EGk enable Biến đổi nhị phân Truncated Unary enable Biến đổi nhị phân Truncated Rice Biến đổi nhị phân Fixed Length Chuỗi bin đầu ra Hình 1.27. Chèn toán tử cách ly trong thiết kế mô-đun Binarizer Đặc tính thống kê mức độ và tần suất xuất hiện các loại dữ liệu cũng được áp dụng đối với mô-đun Binarizer để xây dựng giải pháp tiết kiệm nguồn. Ngoại trừ mô-đun biến đổi nhị phân Fixed Length Binarization có tần suất xuất hiện lớn, các mô-đun khác ít hoạt động hơn được chèn toán tử cách ly “AND-based Isolation” để tiết kiệm nguồn. 7 1.3. Đặt vấn đề nghiên cứu Vấn đề nghiên cứu được đặt ra là đề xuất các giải pháp kỹ thuật và kiến trúc phần cứng hiệu quả cho các mô-đun chức năng thành phần của bộ mã hóa CABAC. Trong đó tập trung xây dựng các giải pháp để cải thiện hiệu qủa sử dụng năng lượng và giảm dung lượng phần cứng trong thực thi một số mô-đun thành phần chính của bộ mã hóa CABAC như tổ hợp phần tử cú pháp độ dư thông tin điểm ảnh, biến đổi nhị phân và mã hóa số học nhị phân thích nghi. Các giải pháp đề xuất góp phần nâng cao hiệu quả thiết kế phần cứng bộ mã hóa CABAC của chuẩn HEVC áp dụng trong các ứng dụng video thế hệ mới. Để đạt được mục tiêu, cần thực hiện các nội dung nghiên cứu chính: Một là nghiên thuật toán quét hệ số tổ hợp phần tử cú pháp độ dư thông tin điểm ảnh đầu vào CABAC để đề xuất giải pháp giảm tần suất truy cập bộ nhớ nhằm giảm công suất tiêu thụ cho kiến trúc phần cứng. Hai là nghiên cứu cơ chế tạo tập phần tử cú pháp, nguyên lý biến đổi nhị phân các phần tử cú pháp này để xây dựng kiến trúc phần cứng thực hiện biến đổi nhị phân nhiều phần tử cú pháp. Giải pháp đề xuất sẽ giảm dung lượng phần cứng và độ phức tạp kết nối nội bộ của mô-đun biến đổi nhị phân. Ba là nghiên cứu kiến trúc bộ mã hóa BAE bốn tầng, đặc điểm mã hóa các loại bin để đề xuất kiến trúc mô-đun BAE có hiệu quả sử dụng dung lượng phần cứng cao. Các kỹ thuật “nhân trước” và “hợp nhất tuyến xử lý dữ liệu” được áp dụng để giảm tài nguyên phần cứng và giảm phức tạp kết nối của kiến trúc BAE. CHƯƠNG 2: XÂY DỰNG GIẢI PHÁP KIẾN TRÚC PHẦN CỨNG NÂNG CAO HIỆU QUẢ BỘ Mà HÓA CABAC TRONG CHUẨN HEVC 2.1. Kiến trúc phần cứng tổng quát đề xuất cho bộ mã hóa CABAC Dữ liệu ảnh Cập nhật mô hình xác suất SE Các mô hình Xác suất xác suất Biến đổi nhị phân Dữ liệu nhị phân regular FIFO Tổ hợp phần tử cú pháp Dữ liệu thập phân bin rLPS Bảng tra rLPS Bảng tra State bypass Cập nhật Range Bypass/regular Cập nhật Low CABAC Trích xuất bit mã BAE Chuỗi bit mã Hình 2.1. Kiến trúc phần cứng mô đun mã hóa CABAC đề xuất. 8 2.2. Mô-đun biến đổi nhị phân 2.2.1. Đặc tính thống kê các dạng dữ liệu đầu vào mô-đun biến đổi nhị phân Dữ liệu độ dư thông tin điểm ảnh (Transform Coefficients) bao gồm Transform Luma và Transform Chroma chiếm phần đa (64÷94%) tỷ lệ dữ liệu đầu vào bộ mã hóa CABAC. Bảng 2.2. Phân bố luồng dữ liệu bin của CABAC Điều kiện kiểm nghiệm chung Mã hóa liên Mã hóa liên Mã hóa khung trễ thấp Trường hợp Chế độ mã hóa khung truy cập nội khung xấu nhất Kiểu P Kiểu B ngẫu nhiên CTU/CU bin 5,4% 15,8% 16,7% 11,7% 1,4% PU bin 9,2% 20,6% 19,5% 18,8% 5,0% TU bin 85,4% 63,7% 63,8% 69,4% 94,0% 2.2.2. Cấu trúc phần tử cú pháp độ dư thông tin điểm ảnh a) Phương pháp quét điểm ảnh trong khối dữ liệu TU 4 mẫu 16 mẫu 16 mẫu 4 mẫu Hình 2.5. Áp dụng phương pháp quét đường chéo Phương pháp quét hệ số theo đường chéo được áp dụng cho chuẩn HEVC để duyệt bộ nhớ điểm ảnh trong quá trình tạo phần tử cú pháp đầu vào CABAC. b) Tạo nhóm phần tử cú pháp độ dư thông tin điểm ảnh 9 3 0 -1 -6 0 0 0 0 1 0 0 0 0 0 0 Nhóm hệ số CG 0 0 0 0 0 0 -1 0 1 0 0 0 0 3 -6 9 Các thuật toán duyệt Quét hệ số theo đường chéo Hình 2.6. Chu trình quét hệ số theo đường chéo. Residual SEs 9 last_sig_coeff_x 3 last_sig_coeff_y 0 sig_coeff_flag coeff_abs_level_greater1_flag coeff_abs_level_greater2_flag 1 0 coeff_sign_flag coeff_abs_level_remaining 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 4 0 7 Thứ tự dữ liệu đầu ra: 3 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 4 7 bypass mode regular mode Hình 2.8. Tổ hợp và sắp xếp tập phần tử cú pháp đầu vào CABAC Thuật toán “duyệt” bộ nhớ điểm ảnh theo phương pháp quét đường chéo và tập các phần tử cú pháp được tạo ra như mô tả trong hình 2.6 và 2.8. 2.2.3. Giải pháp quét một lần tổ hợp nhiều phần tử cú pháp Hệ số biến đổi trong mỗi CG 0 0 0 0 0 0 -1 0 1 0 0 0 0 3 6 9 Mô-đun tổ hợp phần tử cú pháp độ dư thông tin điểm ảnh last_sig_coeff_x 2 last_sig_coeff_y 2 sig_coeff_flag 16 coeff_abs_level_greater1_flag 16 coeff_abs_level_greater2_flag coeff_sign_flag 16 coeff_abs_level_remaining 16 Mô-đun biến đổi nhị phân 010101 Chuỗi bin Hình 2.11. Sơ đồ khối chức năng tổ hợp phần tử cú pháp và biến đổi nhị phân dữ liệu độ dư thông tin điểm ảnh. Kiến trúc chức năng bộ tạo phần tử cú pháp độ dư điểm ảnh và biến đổi nhị phân tương ứng được mô tả trên hình 2.11. TB Memory Lần quét thứ nhất Last_sig_coeff_x Xác định vị trí hệ số khác 0 cuối cùng Last_sig_coeff_y Last significant position Sig_coeff_flag Lần quét thứ hai “quét kết hợp nhiều phần tử cú pháp” Coeff_sign_flag Xác định các phần tử cú pháp dạng cờ (Flagged SE) Coeff_abs_level_greater1_flag Coeff_abs_level_greater2_flag Greater2 position Lần quét thứ ba Xác định các giá trị dư CALRs Hình 2.12. Sơ đồ khối kiến trúc mô đun tổ hợp phần tử cú pháp. 10 Trong đó giải pháp quét kết hợp để tổ hợp nhiều phần tử cú pháp được áp dụng trong kiến trúc mô-đun tổ hợp phần tử cú pháp cho mục tiêu tiết kiệm công suất tiêu thụ động (Dynamic Power Consumption). Kiến trúc chức năng mô-đun tổ hợp phần tử cú pháp độ dư thông tin điểm ảnh có áp dụng giải pháp tiết kiệm nguồn được mô tả trong hình 2.12. Các phần tử cú pháp dạng cờ được biến đổi nhị phân Fixed Length, được thực hiện quét kết hợp một lần thay vì 4 lần. Phương pháp đề xuất đã giảm số lần truy cập bộ nhớ dữ liệu và vì vậy giảm công suất tiêu thụ động. 2.2.4. Giải pháp biến đổi nhị phân cho phần tử cú pháp last_sig_coeff_post a) Thuật toán và giải pháp thực thi phần cứng theo chuẩn 0 0 1 1 10 10 Bins 2 3 3 111 last_sig_coeff_x >1 +1 Len 2 3 2 Enb_i +1 111 last_sig_coeff_y 3 2 Enb_i Bins 2 110 110 3 >1 2 Len 2 3 2 (b) (a) Hình 2.14. Kiến trúc mô-đun biến đổi nhị phân Truncated-Rice: (a)-last_sig_coeff_x và (b)-last_sig_coeff_y b) Đề xuất kiến trúc phần cứng biến đổi nhị phân hai phần tử cú pháp trên cùng một tuyến dữ liệu Last_x 0 2 1 10 Last_y 110 3 111 ‘1’ Enb_i Bins 2 2 ‘0’ 3 ++ +1 2 Len >1 3 2 Truncated Rice Binarization Hình 2.15. Giải pháp kiến trúc biến đổi nhị phân kết hợp 11 Hai phần tử cú pháp last_sig_coeff_x và (b)-last_sig_coeff_y biểu diễn tọa độ vị trí hệ số khác “0” cuối cùng trong ma trận hệ số điểm ảnh được tổ hợp đồng thời trong quá trình quét bộ nhớ. Hai phần tử cú pháp này cũng sử dụng một phương pháp biến đổi nhị phân Truncated Rice. Vì vậy luận án đề xuất giải pháp ghép hai phần tử trên một tuyến dữ liệu và thực hiện biến đổi nhị phân trên cùng một mô-đun Truncated Rice thay vì 2 mô-đun biến đổi nhị phân riêng rẽ. Giải pháp đề xuất cho phép tiết kiệm tài nguyên phần cứng thiết kế và giảm độ phức tạp kết nối. Last_sig_coeff_x Kết hợp hai phần tử cú pháp 2 Last_sig_coeff_y Bins Last_sig_coeff_x/y Biến đổi nhị phân Truncated Rice 2 2 4 Vị trí hệ số cuối khác 0 Len 2 Enb Sig_coeff_flag 16 Coeff_abs_level_greater1_flag 16 Coeff_abs_level_greater2_flag Coeff_sign_flag 1 Bins Biến đổi nhị phân Fixed Length Bins FSM Điều khiển chuỗi bin đầu ra Len 4 Enb Len 6 16 Enb Biến đổi nhị phân CALR CALRs 4 Bins 16 Len 4 Hình 2.16. Kiến trúc phần cứng chức năng mô đun biến đổi nhị phân Giải pháp đề xuất được áp dụng để thiết kế kiến trúc bộ biến đổi nhị phân như hình 2.16. 2.3. Mô-đun mã hóa số học nhị phân thích nghi theo ngữ cảnh 2.3.1. Thuật toán mã hóa thích nghi theo ngữ cảnh Tính dải giá trị LPS bin: rLPS Tính dải giá trị MPS bin: rMPS = Range - rLPS LPS bin Xác định bin hiện tại? Cập nhật dải giá trị: Range = rLPS Cập nhật giới hạn dưới: Low = Low + rMPS Xác định trạng thái xác suất hiện tại? >0 Dịch trái Low Low = Low << 1 sai MPS bin Cập nhật dải giá trị: Range = rMPS Cập nhật giới hạn dưới Low = Low + Range sai =0 Đảo giá trị bin: MPS != MPS Cập nhật trạng thái xác suất: pState Chuẩn hóa dải giá trị range và giới hạn dưới Low Hình 2.17. Thuật toán mã hóa regular bin đúng Bypass bin = 0 ? đúng Trích xuất bit ‘0’ Low  1024 ? Low  512 ? sai Low = Low – 512 Tăng số bit mã đúng Trích xuất bit ‘1’ Low = Low – 1024 Kết thúc Hình 2.18. Thuật toán mã hóa bypass bin 12 2.3.2. Cải tiến thuật toán thực hiện mã hóa đồng thời nhiều bypass bin - Nguyên lý renorm low cho một bypass bin 𝐿𝑜𝑤 = 𝑅𝑎𝑛𝑔𝑒 × 𝑏𝑖𝑛𝑉𝑎𝑙 + 𝑜𝑙𝑑𝐿𝑜𝑤 ≪ 1 (2.1) - Thuật toán remormLow khi mã hóa đồng thời nhiều bypass bin 𝐿𝑜𝑤 = 𝑅𝑎𝑛𝑔𝑒 × 𝐸𝑃𝑏𝑖𝑡𝑠 + 𝑜𝑙𝑑𝐿𝑜𝑤 ≪ 𝐸𝑃𝑙𝑒𝑛 (2.2) 2.3.3. Giải pháp kiến trúc phần cứng BAE bốn tầng InputPacket 10 state 3 3 8 rLPSs 8 0 range 3 3 EPBits 2 4 range Stage 2 incEP MPSShift Renorm. rMPS mode isMPS LPSShift LUT Renorm. rLPS 8 4 2 EPLen 9 Stage 1 rLPS Table Packet analyzer 9 13 3 incEP 3 rMPS nShift bypass low 13 Stage 3 Renorm. bypass Least Significant Zero (LSZ) LUT low Shifter Shifted renormLow OSCnt 7 nShift2 3 3 Stage 4 Encoded bit generator Valid-bit length calculator 37 6 Coded bits Number of valid bits Hình 2.20. Kiến trúc phần cứng lõi BAE đề xuất. Giải pháp cải tiến thuật toán mã hóa nhiều bypass bin đồng thời như mô tả trong các công thức (2.1), (2.2) được áp dụng để xây dựng kiến trúc mô-đun mã hóa nhị phân thích nghi BAE xử lý đa bin song song như mô tả trong hình 2.20. mode 9 valBin 8 7 State 6 5 4 valMPs 3 2 1 0 (a) Định dạng gói dữ liệu mã hóa regular bin mode 9 EPBits 8 7 6 ‘0’ EPLen 5 4 3 2 1 (b) Định dạng gói dữ liệu mã hóa bypass bins Hình 2.21. Định dạng các gói dữ liệu đầu vào mô-đun BAE 0 13 Kiến trúc đề xuất có thể mã hóa gói dữ liệu như mô tả trong hình 2.21, trong đó BAE có thể mã hóa 1 regular bin hoặc 4 bypass bin song song. 2.3.4. Cải tiến kiến trúc cho mục tiêu tiết kiệm tài nguyên phần cứng Trong kiến trúc BAE đề xuất, tuyến xử lý dữ liệu cho bypass bin được cải tiến để có thể ghép chung một số bước xử lý (bước 3 và 4) trong kiến trúc BAE xử lý bốn bước. Mục tiêu để giảm thiểu dung lượng phần cứng và độ phức tạp cho kiến trúc đề xuất. Trong đó kỹ thuật “nhân trước” và “hợp nhất tuyến xử lý dữ liệu” được đề xuất để thực thi công thức (2.2) và áp dụng trong bước xử lý thứ 2 của BAE (hình 2.22). Nhờ vậy, các bước xử lý còn lại trong kiến trúc BAE được sử dụng chung cho tất cả các loại bin. Hợp nhất tuyến dữ liệu 3 loại bin MPS, LPS, Bypass rLPSs 8 Nhân trước Range  EPbits trong (2.6) 2 rLPS 9 8 rangeMPS incEP 0 5 LPSShift LUT Barrel shifter 4 renormLPS <<1 9 13 13 renormMPS incEP range rMPS 9 Hình 2.22. Giải pháp tiết kiệm tài nguyên phần cứng mô-đun BAE 2.3.5. Kiến trúc giải pháp hợp nhất tuyến xử lý dữ liệu rMPS, nShift, mode Low[16:9], nShift mode = bypass ? Zero_position = LSZD(Low[16:9]) nShift = EPLen Low = Low << nShift Low = Low + rMPS Yes Low = Low + rMPS nShift = EPLen Low = Low << nShift OSCnt = 0 nShift < Zero_position ? No OSCnt = Zero_position Low_renorm = Low[9:0] Shifted renormLow = (Low << nShift)[9:3] Thuật toán chuẩn hóa lại giá trị Low Thuật toán xác định số bit đầu ra 14 nShift rMPS 10 nShift 13 Barrel shifter bypass Barrel shifter 3 Low bypass renormLow [16:9] Barrel shifter 10 17 Barrel shifter 3 Least Significant Zero (LSD) LUT nShift [9:3] OSCnt Shifted renormLow 7 3 Hình 2.25. Giải pháp ghép chung dữ liệu bước xử lý thứ ba Shifted renormLow[6] 37 Bit concatenation Resolved OS bit mask Resolved 38 OS 6 Barrel shifter Barrel shifter 38 38 BitCnt inv nShift2 OSCnt Shifted renormLow[5:0] AccOSCnt 0 Resolved OS 38 Encoded Bit generator Valid-bit length calculator 38 Number of valid bits Coded bits Hình 2.26. Kiến trúc phần cứng tầng xử lý thứ tư CHƯƠNG 3: MÔ PHỎNG, KIỂM CHỨNG, THỰC THI VÀ ĐÁNH GIÁ KẾT QUẢ NGHIÊN CỨU 3.1. Xây dựng mô hình phần mềm mô phỏng - Phương pháp mô hình hóa, mô phỏng và đánh giá kết quả VHDL Mô hình hóa thiết kế (RTL) Xây dựng dữ liệu mô phỏng HM Test Model, VisaCodec Chuỗi video test chuẩn (ITU Rec) Xây dựng mô hình mô phỏng Mô phỏng các thiết kế Synopsys DC Tổ hợp mạch, mô phỏng QuestaSim Đánh giá các tham số thiết kế Hình 3.1. Mô hình hóa, mô phỏng và đánh giá các kết quả 15 - Phần mềm mô phỏng HM Test Model File cấu hình Phần mềm mã hóa HM Test Model Video đầu vào Các thư viện chung Mô-đun phân chia khối dữ liệu ảnh Mô-đun dự đoán nội khung, liên khung Luồng bit mã hóa video chuẩn HEVC Mô-đun biến đổi thời giantần số Mô-đun mã hóa CABAC Các mô-đun lọc Hình 3.2. Cấu trúc tổng quát mô đun phần mềm mã hóa HM Test Model HM Test Model là phần mềm được phát triển để kiểm chứng HEVC trong quá trình xây dựng, phát triển chuẩn, đồng thời cũng được khuyến nghị sử dung cho công tác nghiên cứu phát triển các giải pháp thực thi hiện thực hóa chuẩn HEVC. Kiến trúc phần mềm cũng được xâ dựng theo kiến trúc HEVC. 3.2. Xây dựng mô hình kiểm chứng thực nghiệm các kết quả 3.2.1. Công cụ phân tích luồng video CodecVisa 2 Khung hình hiện tại 1 Phân tích khối điểm ảnh 6464 Thông tin khung hình Thông tin chung khối điểm ảnh Transform coefficient block 88 4 3 Hình 3.4. Phân tích luồng video chuẩn HEVC trên công cụ CodecVisa. CodecVisa là công cụ phân tích video, cho phép giải mã các luồng video định dạng HEVC, phân tích các khung ảnh theo các tham số, dữ liệu tại nhiều khâu xử lý trong kiến trúc HEVC. Cho phép trực quan 16 đánh giá, tham khảo dữ liệu ảnh tại các điểm, khâu, khối trong kiến trúc HEVC. Chính vì vậy CodecVisa là công cụ hỗ trợ đắc lực cho công tác nghiên cứu phát triển về nén Video, đặc biệt là khả năng trích xuất dữ liệu để mô phỏng, kiểm chứng các giải pháp đề xuất của luận án. 3.2.2. Mô hình kiểm chứng thực nghiệm các kết quả nghiên cứu Mô hình phần mềm tạo dữ liệu mô phỏng và kiểm chứng Khung Chuỗi hình HM Test Model bit (Phần mềm mã hóa) SE_type Bin_idx Mô-đun biến đổi nhị phân Bypass bins bin FIFO SE FIFO Chuỗi bit mã Chuỗi bin Mô-đun mô hình hóa xác suất 3 Regular bins Mô-đun tổ hợp phần tử cú pháp 1 4 pLPS vMPS Mã hóa regular bin Mã hóa bypass bin Trích xuất bit Tập phần tử cú pháp 3 Chuẩn hóa Tập hệ số biến đổi 2 TB RAM (Phân tích dữ liệu video) 2 1 Tập hệ số biến đổi CodecVisa 4 bit FIFO Mô đun BAE Kiến trúc phần cứng bộ mã hóa CABAC Hình 3.5. Mô hình kiến trúc kiểm chứng kết quả nghiên cứu. 3.3. Mô phỏng, kiểm chứng các giải pháp thiết kế Bảng 3.2. Các mẫu dữ liệu video chuẩn kiểm chứng thiết kế Mẫu video Độ phân giải Tốc độ Định dạng (Chroma (Video Sequence) (chuẩn) khung (fps) sub-sampling, bit depth) Bus 30 YUV 4.2.0, 8 bit 352288 (CIF) BQTerrace 19201080 (FHD) 60 YUV 4.2.0, 8 bit BasketballDrive 19201080 (FHD) a) Tập dữ liệu mô phỏng 50 YUV 4.2.0, 8 bit Khối dữ liêu TB Khối dữ liêu TB 9 3 0 -1 7 0 0 -1 -6 0 0 0 2 4 0 0 0 1 0 0 3 5 0 0 0 0 0 0 0 0 0 0 Hình 3.11. Một số mẫu dữ liệu trích xuất phục vụ kiểm chứng 17 b) Các kết quả mô phỏng, kiểm chứng Mô phỏng 1: Kết quả tính toán theo nguyên lý mã hóa Syntax Binary Decima Khối dữ liêu TB 9 -6 0 0 3 0 1 0 0 0 0 0 -1 0 0 0 Last significant coeff x Last significant coeff x 0000000000000011 0000000000000000 Significant flags 0000001010000111 Greater one flags Greater two flag 0000000000000111 0000000000000001 Coeff abs level remaining 0000000000000000 0000000000000100 0000000000000111 0000000000010010 Sign flags 3 0 0 4 7 Hình 3.12. Mẫu dữ liệu kiểm chứng số 1 – TB 44. sig_coeff_flag coeff_abs_level_greater1_flag coeff_sign_flag coeff_abs_level_greater2_flag coeff_abs_level_remaining = 0 coeff_abs_level_remaining = 7 coeff_abs_level_remaining = 4 last sig_coeff_x = 3 last sig_coeff_y = 0 Hình 3.13. Mô phỏng mô-đun tổ hợp phần tử cú pháp cho mẫu dữ liệu 1 Hình 3.14. Mô phỏng mô đun biến đổi nhị phân cho mẫu dữ liệu 1.
- Xem thêm -

Tài liệu liên quan