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 (44 ÷ 3232). 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 6464
Thông tin khung hình
Thông tin chung khối điểm ảnh
Transform coefficient block 88
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
352288 (CIF)
BQTerrace
19201080 (FHD)
60
YUV 4.2.0, 8 bit
BasketballDrive 19201080 (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 44.
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 -