Tải bản đầy đủ (.pdf) (110 trang)

Thuật toán tìm kiếm nhanh trong dự đoán liên ảnh của chuẩn nén video h 265 HEVC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.58 MB, 110 trang )

NGUYỄN NAM PHONG

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

NGUYỄN NAM PHONG

KỸ THUẬT ĐIỆN TỬ

THUẬT TOÁN TÌM KIẾM NHANH TRONG TÌM KIẾM LIÊN
ẢNH CỦA CHUẨN NÉN VIDEO H.265/HEVC

LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT ĐIỆN TỬ

2012B
Hà Nội – Năm 2013


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------NGUYỄN NAM PHONG

THUẬT TOÁN TÌM KIẾM NHANH TRONG TÌM KIẾM LIÊN ẢNH CỦA
CHUẨN NÉN VIDEO H.265/HEVC

Chuyên ngành : KỸ THUẬT ĐIỆN TỬ

LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT ĐIỆN TỬ



NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS. NGUYỄN VŨ THẮNG

Hà Nội – Năm 2013
 


MỤC LỤC
MỤC LỤC ........................................................................................................................ I
DANH SÁCH HÌNH VẼ ................................................................................................ V
DANH SÁCH BẢNG BIỂU ..........................................................................................IX
LỜI CAM ĐOAN ........................................................................................................... X
DANH SÁCH CÁC TỪ VIẾT TẮT ..............................................................................XI
LỜI MỞ ĐẦU ............................................................................................................. - 1 NỘI DUNG ................................................................................................................. - 3 Chương 1.
1.1.

GIỚI THIỆU CHUNG VỀ CHUẨN NÉN VIDEO H.265/HEVC ..... - 4 -

Chuẩn nén H.265/HEVC ............................................................................... - 4 -

1.1.1.

Giới thiệu các công nghệ nén video........................................................ - 4 -

1.1.2.

Giới thiệu chuẩn nén H.265/HEVC ........................................................ - 9 -

1.2.


Bộ mã hóa video chuẩn H.265/HEVC ........................................................ - 10 -

1.3.

Bộ giải mã video chuẩn H.265/HEVC ........................................................ - 12 -

Chương 2.

NGUYÊN LÝ HOẠT ĐỘNG CỦA BỘ MÃ HÓA CHUẨN

H.265/HEVC…….. ................................................................................................... - 14 2.1.

Phân vùng hình ảnh ..................................................................................... - 14 -

2.1.1.

Khối cây mã hóa (CTU)........................................................................ - 14 -

2.1.2.

Khối mã hóa (CU)................................................................................. - 15 -

2.1.3.

Cấu trúc khối dự đoán (PU) .................................................................. - 15 -

2.1.4.

Khối chuyển đổi (TU) và cấu trúc cây chuyển đổi ............................... - 16 -


2.2.

Dự đoán liên ảnh.......................................................................................... - 18 -

I


2.2.1.

Tính toán sai lệch .................................................................................. - 18 -

2.2.2.

Dự đoán điểm ảnh nguyên .................................................................... - 19 -

2.2.3.

Dự đoán điểm ảnh không nguyên ......................................................... - 19 -

2.2.4.

Dự đoán véc-tơ chuyển động ................................................................ - 21 -

2.2.5.

Dự đoán kết hợp.................................................................................... - 23 -

2.3.


Dự đoán trong ảnh ....................................................................................... - 25 -

2.3.1.

Các chế độ dự đoán trong ảnh .............................................................. - 25 -

2.3.2.

Bộ lọc cho các mẫu lân cận .................................................................. - 27 -

2.4.

Lựa chọn chế độ dự đoán............................................................................. - 27 -

2.5.

Chuyển đổi và lượng tử hóa ........................................................................ - 29 -

2.6.

Bộ lọc vòng .................................................................................................. - 29 -

2.6.1.

Bộ lọc xóa khối ..................................................................................... - 30 -

2.6.2.

Xác định đường biên ............................................................................. - 31 -


2.6.3.

Tính toán mức độ viền .......................................................................... - 31 -

2.6.4.

Lựa chọn β và tc.................................................................................... - 32 -

2.7.

Bù mẫu theo ngữ cảnh (SAO) ..................................................................... - 33 -

Chương 3.

ĐÁNH GIÁ CÁC THUẬT TOÁN TÌM KIẾM NHANH HIỆN TẠI VÀ

ĐỀ XUẤT THUẬT TOÁN CẢI TIẾN..................................................................... - 36 3.1.

Phần mềm tham chiếu chuẩn mã hóa giải mã H.265/HEVC – HM-9.1...... - 36 -

3.1.1.

Giới thiệu phần mềm bộ mã hóa và giải mã HM-9.1 ........................... - 36 -

3.1.2.

Định dạng video đầu vào ...................................................................... - 38 -

3.1.3.


Hướng dẫn sử dụng phần mềm HM-9.1: .............................................. - 39 -

II


3.2.

Thực hiện dự đoán trong phần mềm HM-9.1 .............................................. - 41 -

3.2.1.

Tính toán sai lệch .................................................................................. - 41 -

3.2.2.

Quyết định mã hóa liên ảnh và trong ảnh ............................................. - 43 -

3.2.3.

Ước lượng chuyển động và bù chuyển động ........................................ - 45 -

3.3.

Tổng hợp và phân tích véc-tơ chuyển động ................................................ - 47 -

3.3.1.

Tổng hợp thông tin về các véc-tơ chuyển động.................................... - 47 -

3.3.2.


Phân tích thông tin về các véc-tơ chuyển động .................................... - 52 -

3.4.

Các thuật toán tìm kiếm nhanh hiện tại ....................................................... - 53 -

3.4.1.

Tìm kiếm ba bước: ................................................................................ - 54 -

3.4.2.

Thuật toán UMHexagonsS ................................................................... - 56 -

3.4.3.

Thuật toán TZSearch ............................................................................ - 57 -

3.5.

Đề xuất thuật toán tìm kiếm nhanh mới ...................................................... - 59 -

Chương 4.
4.1.

THỰC HIỆN CÁC THUẬT TOÁN ĐÃ ĐỀ XUẤT ........................ - 63 -

Thuật toán W-Diamond ............................................................................... - 63 -


4.1.1.

Lựa chọn điểm bắt đầu.......................................................................... - 63 -

4.1.2.

Tìm kiếm điểm lần thứ 1....................................................................... - 64 -

4.1.3.

Tìm kiếm điểm lần thứ 2....................................................................... - 68 -

4.2.

Thuật toán Rot-W-Diamond ........................................................................ - 71 -

4.2.1.

Lựa chọn điểm bắt đầu.......................................................................... - 71 -

4.2.2.

Tìm kiếm điểm lần thứ nhất .................................................................. - 72 -

4.2.3.

Tìm kiếm điểm lần thứ 2....................................................................... - 76 -

III



Chương 5.

KẾT QUẢ ỨNG DỤNG CÁC THUẬT TOÁN TÌM KIẾM NHANH

CẢI TIẾN………. ..................................................................................................... - 80 5.1.

Cấu hình thực hiện các thuật toán tìm kiếm nhanh ..................................... - 80 -

5.2.

Các thông số đánh giá .................................................................................. - 81 -

5.3.

Kết quả thực hiện các thuật toán tìm kiếm nhanh ....................................... - 82 -

5.4.

Nhận xét ....................................................................................................... - 88 -

5.4.1.

Nhận xét về thuật toán W-Diamond ..................................................... - 88 -

5.4.2.

Nhận xét về thuật toán Rot-W-Diamond .............................................. - 89 -

TỔNG KẾT ............................................................................................................... - 91 TÀI LIỆU THAM KHẢO ......................................................................................... - 93 BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH ................................................... - 97 -


IV


DANH SÁCH HÌNH VẼ
Hình 2.1 Ví dụ về cấu trúc cây mã hóa ..................................................................... - 14 Hình 2.2 Ví dụ về chia hình ảnh thành các khối cây mã hóa .................................... - 15 Hình 2.3 Các chế độ phân vùng trong khối dự đoán mã hóa liên ảnh ...................... - 16 Hình 2.4 Cách chia các khối chuyển đổi tương ứng với khối dự đoán ..................... - 17 Hình 2.5 Quá trình tìm kiếm PU giống nhất ............................................................. - 19 Hình 2.6 Nội suy các điểm ảnh phụ cho thành phần độ chói .................................... - 20 Hình 2.7 Ứng viên theo thời gian .............................................................................. - 22 Hình 2.8 Ứng viên theo không gian .......................................................................... - 22 Hình 2.9 Miêu tả ứng viên kết hợp được tạo ra ........................................................ - 24 Hình 2.10 33 hướng dự đoán trong ảnh .................................................................... - 25 Hình 2.11 Liên hệ giữa hướng dự đoán trong ảnh và chế độ tương ứng của thành phần
độ chói ....................................................................................................................... - 26 Hình 2.12 Tính toán RDO ......................................................................................... - 28 Hình 2.13 Quá trình xử lý lọc xóa khối .................................................................... - 30 Hình 2.14 Xác định giá trị Bs.................................................................................... - 32 Hình 2.15 mảng 3x3 để phân loại điểm ảnh trong kiểu bù viền ............................... - 35 Hình 3.1 Các tập tin trong phần mềm HM-9.1 ......................................................... - 37 Hình 3.2 Xử lý mã hóa video trong HM-9.1 ............................................................. - 38 Hình 3.3 Thứ tự quét điểm ảnh với video tỉ lệ 4:2:0 ................................................. - 39 Hình 3.4 Cửa sổ lệnh trong quá trình mã hóa ........................................................... - 40 Hình 3.5 Luồng xử lý dự đoán .................................................................................. - 41 Hình 3.6 Tính toán RDO ........................................................................................... - 43 Hình 3.7 Lựa chọn chế độ dự đoán liên ảnh và trong ảnh của hàm xCompressCU . - 44 Hình 3.8 Ước lượng chuyển động và bù chuyển động ............................................. - 45 Hình 3.9 Quá trình ước lượng chuyển động ............................................................. - 46 Hình 3.10 Đầu vào và đầu ra của quá trình ước lượng chuyển động ........................ - 46 V


Hình 3.11 Xác suất xuất hiện của véc-tơ chuyển động trong video PeopleOnStreet - 48 Hình 3.12 Xác suất xuất hiện của véc-tơ chuyển động trong video Kimono ........... - 48 Hình 3.13 Xác suất xuất hiện của véc-tơ chuyển động trong video BQMall ........... - 49 Hình 3.14 Xác suất xuất hiện của véc-tơ chuyển động trong video PartyScence..... - 49 Hình 3.15 Xác suất xuất hiện của véc-tơ chuyển động trong video BQSquare ........ - 50 Hình 3.16 Xác suất xuất hiện của véc-tơ chuyển động trong video BasketBallPass - 50 Hình 3.17 Xác suất xuất hiện của véc-tơ chuyển động trong video BlowingBubbles- 51
Hình 3.18 Xác suất xuất hiện của véc-tơ chuyển động trong video RaceHorses ..... - 51 Hình 3.19 Xác suất xuất hiện của véc-tơ chuyển động trong các video ................... - 52 Hình 3.20 Thuật toán tìm kiếm ba bước ................................................................... - 55 Hình 3.21 Thuật toán UMHexagonS ........................................................................ - 56 Hình 3.22 Miền tìm kiếm thuật toán TZSearch ........................................................ - 57 Hình 3.23 Thuật toán TZSearch ................................................................................ - 58 Hình 3.24 Miền tìm kiếm W-Diamond .................................................................... - 60 Hình 3.25 Miền tìm kiếm Rot-W-Diamond .............................................................. - 62 Hình 4.1 Lưu đồ thuật toán Lựa chọn điểm bắt đầu trong thuật toán W-Diamond .. - 64 Hình 4.2 Tập hợp điểm tìm kiếm W-Diamond ......................................................... - 64 Hình 4.3 Lưu đồ thuật toán Quá trình 1 của Tìm kiếm điểm lần thứ 1 trong thuật toán
W-Diamond ............................................................................................................... - 65 Hình 4.4 Các điểm tìm kiếm lân cận khi uiBestDistance = {1, 2} ........................... - 66 Hình 4.5 Lưu đồ thuật toán Qúa trình 2 của Tìm kiếm điểm lần thứ 1 trong thuật toán
W-Diamond ............................................................................................................... - 67 Hình 4.6 Lưu đồ thuật toán Qúa trình 3 của Tìm kiếm điểm lần thứ 1 trong thuật toán
W-Diamond ............................................................................................................... - 68 Hình 4.7 Lưu đồ thuật toán Qúa trình 1 của Tìm kiếm điểm lần thứ 2 trong thuật toán
W-Diamond ............................................................................................................... - 69 VI


Hình 4.8 Lưu đồ thuật toán Qúa trình 2 của Tìm kiếm điểm lần thứ 2 trong thuật toán
W-Diamond ............................................................................................................... - 70 Hình 4.9 Lưu đồ thuật toán Qúa trình 3 của Tìm kiếm điểm lần thứ 2 trong thuật toán
W-Diamond ............................................................................................................... - 71 Hình 4.10 Lưu đồ thuật toán Lựa chọn điểm bắt đầu trong thuật toán

Rot-W-

Diamond .................................................................................................................... - 72 Hình 4.11 Tập hợp điểm tìm kiếm Rot-W-Diamond ................................................ - 72 Hình 4.12 Lưu đồ thuật toán Qúa trình 1 của Tìm kiếm điểm thứ 1 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 73 Hình 4.13 Các điểm tìm kiếm lân cận khi uiBestDistance = {1, 2} ......................... - 74 Hình 4.14 Lưu đồ thuật toán Qúa trình 2 của Tìm kiếm điểm lần thứ 1 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 75 Hình 4.15 Lưu đồ thuật toán Quá trình 3 của Tìm kiếm điểm lần thứ 1 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 76 Hình 4.16 Lưu đồ thuật toán Qúa trình 1 của Tìm kiếm điểm lần thứ 2 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 77 Hình 4.17 Lưu đồ thuật toán Qúa trình 2 của Tìm kiếm điểm lần thứ 2 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 78 Hình 4.18 Lưu đồ thuật toán Qúa trình 3 của Tìm kiếm điểm lần thứ 2 trong thuật toán
Rot-W-Diamond ........................................................................................................ - 79 Hình 5.1 Biểu đồ sự cải thiện về thời gian ước lượng điểm ảnh nguyên của thuật toán

Rot-W-Diamond và W-Diamond so với thuật toán TZSearch-Diamond. ................ - 84 Hình 5.2 Biểu đồ sự cải thiện về khối lượng tính toán của thuật toán Rot-W-Diamond
và W-Diamond so với thuật toán TZSearch-Diamond. ............................................ - 84 Hình 5.3 Biểu đồ sự giảm về PSNR của thuật toán Rot-W-Diamond và W-Diamond so
với thuật toán TZSearch-Diamond............................................................................ - 85 -

VII


Hình 5.4 Biểu đồ sự tăng về tốc độ bít của thuật toán Rot-W-Diamond và W-Diamond
so với thuật toán TZSearch-Diamond. ...................................................................... - 85 Hình 5.5 Biểu đồ sự cải thiện về thời gian ước lượng điểm ảnh nguyên của thuật toán
Rot-W-Diamond và W-Diamond so với thuật toán TZSearch-Square. .................... - 86 Hình 5.6 Biểu đồ sự cải thiện về khối lượng tính toán của thuật toán Rot-W-Diamond
và W-Diamond so với thuật toán TZSearch-Square. ................................................ - 86 Hình 5.7 Biểu đồ sự giảm về PSNR của thuật toán Rot-W-Diamond và W-Diamond so
với thuật toán TZSearch-Square. .............................................................................. - 87 Hình 5.8 Biểu đồ sự tăng về tốc độ bít của thuật toán Rot-W-Diamond và W-Diamond
so với thuật toán TZSearch-Square. .......................................................................... - 87 -

VIII


DANH SÁCH BẢNG BIỂU
Bảng 2.1 Độ sâu lớn nhất của cấu trúc cây chuyển đổi ............................................ - 17 Bảng 2.2 Hệ số lọc cho thành phần độ chói .............................................................. - 20 Bảng 2.3 Hệ số bộ lọc 4 điểm cho thành phần màu .................................................. - 21 Bảng 2.4 Liên hệ giữa hướng dự đoán trong ảnh và chế độ tương ứng của thành phần
màu ............................................................................................................................ - 26 Bảng 2.5 Ngưỡng cho phép cho các khối chuyển đổi có kích thước khác nhau ...... - 27 Bảng 2.6 Lựa chọn giá trị ngưỡng β và tc từ giá trị Q .............................................. - 33 Bảng 2.7 Các chế độ bù mẫu theo ngữ cảnh ............................................................. - 34 Bảng 2.8 Quy tắc phân loại điểm ảnh kiểu bù viền .................................................. - 35 Bảng 3.1 Cấu trúc các thư mục trong phần mềm HM-9.1 ........................................ - 38 Bảng 3.2 Danh sách các video chuẩn được cung cấp bởi ITU-T.............................. - 47 Bảng 3.3 Tốc độ chuyển động của các vật thể trong các video kiểm tra .................. - 53 Bảng 3.4 Thuật toán tìm kiếm ba bước ..................................................................... - 54 Bảng 3.5 Thuật toán UMHexagonS .......................................................................... - 56 Bảng 3.6 Số lượng điểm của mỗi miền tìm kiếm trong phạm vi tìm kiếm giới hạn bằng
64 ............................................................................................................................... - 62 Bảng 5.1 Kết quả thực hiện các thuật toán tìm kiếm nhanh ..................................... - 82 -

IX


LỜI CAM ĐOAN
Trước hết, em xin gửi lời cảm ơn chân thành tới tập thể các thầy cô trong Viện
Điện tử viễn thông, trường Đại học Bách Khoa Hà Nội đã tạo ra một môi trường tốt để
em học tập và nghiên cứu. Em cũng xin cảm ơn các thầy cô trong Viện Đào tạo sau đại
học đã quan tâm đến khóa học này, tạo điều kiện thuận lợi cho các học viên học tập và

nghiên cứu. Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS.Nguyễn Vũ
Thắng đã tận tình chỉ bảo, hướng dẫn emtrong quá trình hoàn thành luân văn này.
Em xin cam đoan rằng nội dung của luận văn này là hoàn toàn do emtìm hiểu,
nghiên cứu và viết ra. Tất cả đều được em thực hiện cẩn thận và có sự định hướng và
sửa chữa của giáo viên hướng dẫn.
Em xin chịu trách nhiệm với những nội dung trong luận văn này.
Tác giả

NGUYỄN NAM PHONG

X


DANH SÁCH CÁC TỪ VIẾT TẮT
ITU-T
AVC
HEVC
MPEG
IP
I, P, B
LCU
NAL
CTB
CU
PU
TU
SAO
PSNR
POC
CBF

RDO
SAD
SATD
SSE
ME
IME
FME
CL

International Telecommunication Union Telecommunication
Standardization Sector
Advance Video Codec
High Efficient Video Codec
Moving Picture Experts Group
Intellectual Property
Intra, Prediction, Bi-prediction
Largest Coding Unit
Network Abstraction Layer
Coding Tree Block
Coding Unit
Prediciton Unit
Transform Unit
Sample Adaptive Offset
Peak Signal to Noise Ratio
Picture Of Counter
Coded Block Flag
Rate Distortion Optimization
Sum of Absolute Difference
Hamadard transformed SAD
Sum of Square Error

Motion Estimation
Integer Motion Estimation
Fractional Motion Estimation
Computing Load

1

XI


LỜI MỞ ĐẦU
Đa phương tiện và các ứng dụng của nó đã đang phát triển hết sức mạnh mẽ trên
hầu hết các lĩnh vực. Trong các ứng dụng của đa phương tiện thì video chiếm vai trò vô
cùng quan trọng trong đời sống của con người trong cuộc sống hiện đại. Tuy nhiên, dữ
liệu video không nén (video thô) thường chiếm dung lượng rất lớn không thuận tiện
cho việc lưu trữ và truyền tải. Vì thế, nén video đã trở thành phần không thể thiếu cho
lưu trữ và truyền tải video.
Có nhiều chuẩn nén video khác nhau, trong đó, chuẩn nén được sử dụng rộng rãi
nhất là chuẩn MPEG – 2. Chuẩn MPEG – 2 đã ra đời từ khá lâu và đã tới lúc cần phải
có các chuẩn mới khác có thể đem lại hiệu suất nén cao hơn, mềm dẻo hơn để thích
hợp với nhiều dịch vụ hơn. Phổ biến nhất trong số các chuẩn nén mới là H.264/AVC một chuẩn nén video mới ra đời năm 2003, đang được ứng dụng rộng rãi hiện nay. Kế
thừa những kết quả đã đạt được từ H.264, tháng 10 năm 2013, JCT-VC đã ra bản thảo
H.265/HEVC cuối cùng với mong muốn thu được kết quả nén cao hơn nhiều lần so với
H.264/AVC.
Bộ mã hóa, giải mã video chuẩn H.265/HEVC đem lại nhiều cải tiến về chất
lượng và tăng hiệu quả nén lên tới 50% so với H.264/AVC nhưng cũng tăng khối
lượng tính toán lên gấp nhiều lần. Điều này không phù hợp cho việc triển khai với các
ứng dụng có tài nguyên hữu hạn và các ứng dụng liên quan tới thời gian thực. Trong số
các khối xử lý của H.265/HEVC, khối dự đoán là khối chiếm tới 80% khối lượng tính
toán (tập trung chủ yếu ở khâu mã hóa liên ảnh) trong toàn bộ quá trình mã hóa video

cũng là khối chủ đạo giúp cho H.265/HEVC tăng khả năng nén lên gấp nhiều lần so
với các chuẩn nén video trước đây. Việc nghiên cứu cải thiện khối dự đoán sẽ nhắm tới
mục đích là làm giảm khối lượng tính toán mà không làm ảnh hưởng nhiều đến chất
lượng cũng như hiệu quả nén của video.

-1-


Luận văn tập trung nghiên cứu đề tài “Thuật toán tìm kiếm nhanh trong tìm
kiếm liên ảnh của chuẩn nén video H.265/HEVC” nhằm giảm khối lượng tính toán
qua đó tăng tốc độ tính toán của khối dự đoán chuẩn H.265/HEVC nhưng ít làm ảnh
hưởng đến chất lượng của bộ mã hóa giải mã. Để đạt được mục đích đã nêu ở trên, bản
luận văn này sẽ tập trung vào các mục tiêu chính sau đây:
1) Phân tích các véc-tơ chuyển động của các video để tìm ra các đặc trưng
chuyển động của các video.
2) Đánh giá các thuật toán tìm kiếm nhanh trong thời gian gần đây để đưa ra cơ
sở đề xuất thuật toán tìm kiếm nhanh mới.
3) Đề xuất thuật toán tìm kiếm nhanh trong tìm kiếm liên ảnh mới dựa trên các
phân tích và đánh giá đã đưa ra.
4) Triển khai các thuật toán đã đề xuất trên phần mềm mã hóa và giải mã tiêu
chuẩn – HM-9.1 của ITU-T.
5) Đánh giá hiệu quả của các thuật toán đã đề xuất.

-2-


NỘI DUNG
Nội dung của luân văn bao gồm 5 chương.
 Chương 1: Giới thiệu chung về bộ mã hóa và giải mã chuẩn H.265/HEVC.
Trong chương này, các kiến thức chung về chuẩn mã hóa giả mã video

H.265/HEVC sẽ được trình bày.
 Chương 2: Nguyên lý hoạt động của bộ mã hóa chuẩn H.265/HEVC.
Chương này trình bày chi tiết hoạt động của bộ mã hóa chuẩn H.265/HEVC.
 Chương 3: Đánh giá các thuật toán tìm kiếm nhanh hiện tại và đề xuất các
thuật toán cải tiến.
Chương này giới thiệu phần mềm mã hóa và giải mã tiêu chuẩn - HM-9.1, cách
trích xuất dữ liệu về véc-tơ chuyển động từ phần mềm. Các véc-tơ chuyển động sẽ
được tổng hợp và phân tích. Cùng với đó, các thuật toán tìm kiếm nhanh hiện tại được
đánh giá để đưa ra đề xuất về thuật toán tìm kiếm nhanh mới.
 Chương 4: Thực hiện các thuật toán đề xuất.
Chương này đề cập chi tiết đến việc triển khai các thuật toán đã đề xuất ở
Chương 3 trên phần mềm HM-9.1.
 Chương 5: Kết quả ứng dụng thuật toán tìm kiếm nhanh cải tiến.
Chương này trình bày các kết quả thu được khi thực hiện các thuật toán tìm
kiếm nhanh đã đề xuất ở Chương 3 và đánh giá các kết quả thu được.

-3-


Chương 1.

GIỚI THIỆU CHUNG VỀ CHUẨN NÉN VIDEO
H.265/HEVC

Chương này giới thiệu về các chuẩn nén video hiện có cũng như trình bày các
nguyên lý cơ bản trong nén video, tập trung vào trình bày các ưu điểm của chuẩn nén
video H.265/HEVC.
1.1.

Chuẩn nén H.265/HEVC


1.1.1. Giới thiệu các công nghệ nén video
Nén video là một kỹ thuật giảm khối lượng dữ liệu không cần thiết để lưu trữ
hình ảnh, nó là một sự kết hợp giữa nén trong ảnh (giảm thiểu đồ dư thừa về mặt không
gian) và bù chuyển động (giảm thiểu dư thừa về mặt thời gian). Việc nén video làm
giảm một cách đáng kể băng thông cần thiết để truyền video số qua vô tuyến, truyền
hình cáp, hoặc vệ tinh…
Hầu hết các phương pháp đều là nén tổn thất, chúng dựa trên nguyên lý chung là
hầu hết dữ liệu trong video trước khi nén là không cần thiết do đó có thể tinh giảm
những loại dữ liệu đó đi mà vẫn có thể giữ được chất lượng tốt. Ví dụ như DVD sử
dụng chuẩn mã hóa video MPEG – 2 có thể nén đoạn video dài khoảng 2 tiếng xuống
15 tới 30 lần mà vẫn cho chất lượng hình ảnh cao so với video thông thường. Nén
video cũng giống như nén dữ liệu đòi hỏi sự cân bằng giữa dung lượng lưu trữ, chất
lượng hình ảnh, độ phức tạp của thuật toán mã hóa/giải mã, ổn định khi có lỗi xảy ra
trên đường truyền, độ trễ và giá thành của thiết bị cần để giải nén video trong thời gian
chấp nhận được. Tuy nhiên, nếu video bị nén quá mức sẽ có thể làm hỏng hình ảnh.
Quá trình nén video thực hiện trên một nhóm các điểm ảnh gần nhau và có dạng
hình vuông, được gọi là khối mã hóa lớn nhất. Các khối mã hóa lớn nhất được so sánh
giữa một khung hình với khung hình kế tiếp của nó và bộ mã hóa video sẽ chỉ gửi đi sự
khác biệt giữa các khối mã hóa lớn nhất này và vị trí khối mã hóa lớn nhất tương ứng.
-4-


1.1.1.1.

Nguyên lý nén video

Video là một tập hợp 3 chiều của các điểm màu, trong đó 2 chiều thuộc miền
không gian (ngang và dọc) còn chiều thứ 3 thuộc miền thời gian. Một khung hình là
một bộ tất cả các điểm ảnh thuộc cùng một thời điểm, có thể coi như một ảnh tĩnh.

Dữ liệu video có sự dư thừa về mặt không gian và thời gian, vì vậy bộ mã hóa
có thể tách ra những sự khác biệt trong một khung hình (về không gian) hoặc giữa các
khung hình (về thời gian). Mã hóa không gian lợi dụng đặc điểm mắt người không thể
phân biệt được sự khác biệt nhỏ về màu sắc cũng như là sự phân biệt về ánh sáng, và vì
vậy có thể dễ dàng giảm những vùng màu giống nhau hoặc là lợi dụng đặc điểm chung
là những vùng điểm ảnh lân cận thì tương đối giống nhau, do đó có thể dựa vào những
điểm ảnh lân cận đã được mã hóa để giảm thiểu thông tin mã hóa. Đối với nén miền
thời gian, chỉ có sự thay đổi giữa các khung hình là được mã hóa bởi thông thường có
một lượng lớn các điểm ảnh là giống nhau trên một loạt các khung hình.
Bộ mã hóa/giải mã video sẽ xử lý các dữ liệu video tương tự bằng phương pháp
số. Tín hiệu video tương tự thường được biểu diễn bằng độ sáng và màu một cách riêng
biệt, vì vậy bước đầu tiên trong nén video là biểu diễn và lưu trữ hình ảnh trong không
gian màu YCbCr. Việc chuyển đổi sang không gian màu YCbCr có 2 lợi ích là tăng
khả năng nén nhờ tạo ra sự không tương quan giữa các tín hiệu màu và phân tách tín
hiệu độ sáng quan trong hơn nhiều ra khỏi tín hiệu màu ít quan trọng hơn mà sẽ được
biểu diễn ở độ phân giải thấp hơn.
Một số kỹ thuật nén video là:
 Lấy mẫu tín hiệu màu tỉ lệ thấp (Chroma Subsampling ratio)
 Biến đổi Cosine rời rạc (Discrete Cosine Transform)
 Biến đổi Wavelet (Wavelet Transform)
 Mã hóa độ dài biến đổi (Variable–length Coding)

-5-


 Dự đoán bù chuyển động
Ngoài ra cũng có một số chuẩn nén video sử dụng không gian màu RGB (Red –
Green – Blue).
1.1.1.2.


Các loại ảnh trong nén video

Có 3 loại ảnh trong nén video: ảnh nén trong hình, ảnh dự đoán và ảnh dự đoán
hai chiều. Một khung hình thường được chia thành các khối mã hóa lớn nhất (LCU –
Largest Coding Unit). Các kiểu mã hóa khác nhau có thể được dùng cho từng khối mã
hóa lớn nhất thay vì cho toàn bộ khung hình.
Ảnh nén trong hình I (Intra coded frame)
 Ảnh I chỉ có thể chứa các khối mã hóa lớn nhất mã hóa trong hình (I–
LCU).
 Là ảnh được mã hóa mà không cần phải tham chiếu tới bất kỳ khung hình
nào khác ngoài chính nó.
 Có thể được tạo ra bởi bộ mã hóa để tạo các điểm truy nhập ngẫu nhiên
cho phép bộ giải mã có thể giải mã chính xác tại vị trí bất kỳ.
 Có thể được sử dụng khi sự khác nhau giữa các khung hình quá lớn mà
không thể tạo được ảnh P hoặc B hiệu quả đồng thời thời gian xử lý dữ
liệu nhanh.
 Thường đòi hỏi lưu trữ nhiều dữ liệu hơn so với các loại ảnh khác.
Ảnh dự đoán ảnh phía trước P (Previous coded picture)
 Ảnh P có thể chứa cả khối mã hóa lớn nhất dự đoán từ khung đã được mã
hóa trước khung hiện tại theo thứ tự hiển thị (Previous – LCU) và khối
mã hóa lớn nhất mã hóa trong hình (Intra – LCU).

-6-


 Cần phải giải mã một số khung hình khác trước để có thể giải mã được
ảnh P.
 Dữ liệu đưa ra là dữ liệu sai khác giữa block của khung hiện tại và block
được chọn của khung tiên đoán và véc-tơ chuyển động để chỉ ra vị trí của
block tiên đoán.

 Có thể tham chiếu các khung hình trước đó theo thứ tự mã hóa.
 Có thể sử dụng một hoặc nhiều khung hình được mã hóa trước khung
hiện tại theo thứ tự hiển thị.
 Đòi hỏi lưu trữ ít dữ liệu hơn ảnh I.
Ảnh dự đoán hai chiều B (Bi –directional predictive picture)
 Ảnh B có thể chứa cả khối mã hóa lớn nhất mã hóa trong hình (Intra –
LCU), khối mã hóa lớn nhất dự đoán dùng khung đã được mã hóa trước
khung hiện tại theo thứ tự hiển thị(P – LCU) và khối mã hóa lớn nhất dự
đoán từ cả khung đã được mã hóa trước và sau khung hiển thị theo thứ tự
hiển thị (B – LCU).
 Cần phải giải mã một số khung hình khác trước để có thể giải mã được
ảnh B.
 Dữ liệu đưa ra là dữ liệu sai khác giữa block của khung hiện tại và block
được chọn của khung tiên đoán và véc-tơ chuyển động để chỉ ra vị trí của
block tiên đoán.
 Bao gồm một vài kiểu dự đoán cho phép tạo các dự đoán vùng chuyển
động dựa trên sự dự đoán thu được của một hoặc hai vùng tham chiếu
khác nhau đã được giải mã trước đó.
 Đòi hỏi phải lưu trữ ít dữ liệu hơn ảnh I và P.

-7-


1.1.1.3.

Một số chuẩn nén video

H.261: Sử dụng chủ yếu trong hội thảo truyền hình và điện thoại truyền hình.
H.261 được phát triển bởi ITU – T đã trở thành chuẩn nén video số được ứng dụng
đầu tiên. Về cơ bản thì tất cả các chuẩn nén video sau đó đều được thiết kế dựa trên nó.

Nó sử dụng không gian màu YCbCr lấy mẫu dạng 4: 2: 0 với 8 bit, macroblock kích
thước 16x 16, bù chuyển động theo khối, biến đổi Cosine rời rạc theo khối kích thước
8x 8, quét hệ số zig – zag, lượng tử hóa vô hướng, mã hóa chiều dài biến đổi, chỉ hỗ trợ
video liên tục…
MPEG–1 Part 2: sử dụng cho VCD. Nếu chất lượng nguồn video tốt và tốc độ
đủ cao thì VCD có thể đạt chất lượng tốt hơn VHS. Để đạt được chất lượng VHS cần
độ phân giải cao hơn. Tuy nhiên để tương thích với chuẩn VCD thì tốc độ bít giới hạn
là 1150 kbit/s và độ phân giải cao nhất là 352x 288 điểm ảnh. VCD đã trở thành chuẩn
nén video tương thích nhất với bất kỳ hệ thống nào. So với H.261, cải tiến quan trọng
nhất là hỗ trợ dự đoán bù chuyển động 2 chiều và nửa điểm ảnh (half – pel). MPEG–1
chỉ hỗ trợ video liên tục.
MPEG – 2 Part 2 (H.262): dùng cho DVD, SVCD và hầu hết hệ thống truyền
hình số vô tuyến và truyền hình cáp. Khi sử dụng trên DVD chuẩn, nó cho một chất
lượng hình ảnh tốt và hỗ trợ màn ảnh rộng. Khi dùng trên SVCD, MPEG-2 Part 2
không tốt bằng DVD nhưng vẫn tốt hơn VCD nhờ độ phân giải và tốc độ bít cao hơn.
Bộ giải mã MPEG – 2 có tính tương thích ngược nhờ đó có thể sử dụng MPEG – 1
trên bất kỳ hệ thống nào hỗ trợ MPEG – 2. Cải tiến quan trọng nhất trong MPEG – 2
so với MPEG – 1 là hỗ trợ mã hóa video xen kẽ.
H.263: sử dụng chủ yếu cho hội thảo truyền hình, điện thoại truyền hình và
video trên liên ảnhnet. H.263 tạo ra một bước tiến quan trọng trong khả năng nén video
đối với video liên tục. Đặc biệt ở tốc độ bít thấp, nó có thể cung cấp một cải tiến thiết
thực đối với tốc độ bít đòi hỏi để đạt được độ trung thực cần thiết.
-8-


MPEG – 4 Part 10 (H.264/AVC): còn gọi là chuẩn mã hóa video tiên tiến
(Advanced Video Coding), là sản phẩm kết hợp của ITU – T và MPEG. Nó đã nhanh
chóng được chấp nhận rộng rãi trong nhiều ứng dụng. Nó bao gồm một số cải tiến quan
trọng trong khả năng nén video, và gần đây đã được chấp nhận trong các sản phẩm của
một số công ty, ví dụ như XBOX 360, PlayStation Portable, iPod, iPhone….

1.1.2. Giới thiệu chuẩn nén H.265/HEVC
H.265/HEVC là bộ mã hóa/giải mã mới nhất dựa trên dự đoán chuyển động theo
khối kế thừa từ chuẩn nén H.264/AVC được phát triển bởi ITU-T và MPEG. Sự hợp
tác của 2 tổ chức này trong việc phát triển chuẩn này được gọi là Joint Collaborative
Team on Video Coding (JCT-VC).
Mục đích của dự án H.265/HEVC là tạo ra một chuẩn có khả năng cung cấp
chất lượng video tốt với tốc độ bít thấp hơn các chuẩn trước đó mà không đòi hỏi phải
tăng độ phức tạp của thiết kế quá nhiều để có thể chế tạo được với giá thành không quá
cao. Ngoài ra, một mục tiêu khác là cung cấp một chuẩn mềm dẻo để có thể sử dụng
cho một mảng lớn các ứng dụng trên nhiều hệ thống, bao gồm cả tốc độ bít thấp và
cao, độ phân giải thấp và cao, truyền hình, lưu trữ DVD, mạng gói RTP/IP, và hệ thống
điện thoại đa phương tiện ITU – T.
Việc chuẩn hóa phiên bản quốc tế đầu tiên của H.265/HEVC đã hoàn thành vào
tháng 1 năm 2013. JCT-VCđã phát triển các phiên bản mở rộng của chuẩn gốc. Các
phiên bản mở rộng này cho phép mã hóa video chất lượng tốt hơn bằng cách tăng số bit
lấy mẫu, thông tin màu ở độ phân giải cao hơn bao gồm lấy mẫu theo YUV 4: 2: 2 và
YUV 4: 4: 4. Một vài ưu điểm khác là hỗ trợ chuyển đổi thích ứng giữa biến đổi
nguyên trong khoảng từ 4x 4 và 32x32, lấy mẫu có trọng số, mã hóa ngoài ảnh không
tổn hao, hỗ trợ các không gian màu bổ trợ,... tương tự như đối với phiên bản nén
H.264/AVC trước đó.

-9-


Dưới đây là một vài đặc điểm nổi bật của mã hóa H.265/HEVC so với phiên bản
H.264/AVC trước đó:
 Sử dụng cấu trúc khối mã hóa linh động. Trong khi H.264/AVC định
nghĩa khối mã hóa Macroblock có kích thước cố định là 16x16,
H.265/HEVC cho phép kích thước mã hóa thay đổi trong khoảng từ
64x64 tới 8x8 pixel2sử dụng phương pháp đệ quy chia một khối vuông

thành 4 khối vuông bằng nhau có diện tích bằng ¼ diện tích khối ban
đầu.
 Áp dụng phương pháp mã hóa và giải mã dữ liệu song song, bên cạnh
việc xử lý theo dải (slices), H.265/HEVC còn áp dụng xử lý theo lớp
(tiles) và xử lý dạng sóng song.
 Đưa thêm nhiều chế độ dự đoán trong ảnh hơn (tất cả có 35 chế độ, phần
lớn trong các chế độ là dự đoán có hướng) có thể được thực hiện với hầu
hết các kích thước khối mã hóa vuông.
 Hỗ trợ một vài phép chuyển đổi nguyên, thay đổi kích thước trong
khoảng 4x4 tới 32x32.
 Cải thiện mã hóa thông tin chuyển động bằng chế độ ghép khối.
 Cải thiện việc xử lý tái cấu trúc ảnh, bao gồm bộ lọc xóa khối, bù mẫu
theo ngữ cảnh.
1.2.

Bộ mã hóa video chuẩn H.265/HEVC
Một bộ mã hóa tương thích chuẩn H.265/HEVC cần bao gồm các khối chức

năng như trong hình 1.1. Ngoại trừ khối Bù mẫu theo ngữ cảnh, còn lại các khối chức
năng khác như khối Dự đoán, khối Biến đổi, khối Lượng tử hóa, khối Entropy, hay
khối Bộ lọc xóa khối đều đã xuất hiện trong các chuẩn ra đời trước đó (MPEG – 1,
MPEG – 2, MPEG – 4, H.261, H.263, H.264/AVC) tuy nhiên sự thay đổi quan trọng
của H.265/HEVC nằm trong chi tiết của các khối chức năng đó.
- 10 -


+
_

Fn

(hiện tại)

Dn

T

Q

T-1

Q-1

X

NAL
Sắp xếp lại

Mã entropy

Ước lượng
chuyển
động

F’n-1
(Tham
chiếu)

Bù chuyển
động


P
Chọn tiên
đoán trong
ảnh

F’n
(Được xây
dựng lại)

Liên
ảnh

Bộ lọc

Tiên đoán
trong ảnh

Trong
ảnh

uF’n

+
D’n
+

Hình 1.1 Sơ đồ khối chức năng tổng quát bộ mã hóa video chuẩn H.265/HEVC
Một khung hình đầu vào Fn được xử lý theo từng khối mã hóa một. Mỗi khối mã
hóa được mã hóa theo chế độ mã hóa trong ảnh hoặc mã hóa ngoài ảnh cho từng khối
trong khối mã hóa đó dựa trên các ảnh mẫu đã được tái tạo, và được gọi là khối dự

đoán PRED. Trong chế độ trong ảnh, PRED được tạo nên từ các mẫu trong cùng một
dải mà đã được mã hóa, giải mã và tái tạo trước đó (uF’n trong Hình 1.1), chú ý rằng sử
dụng các mẫu chưa được lọc để tạo nên PRED. Trong chế độ liên ảnh, PRED được tạo
nên bằng dự đoán bù chuyển động từ một hoặc hai ảnh được chọn từ bộ ảnh tham chiếu
danh sách 0 và/ hoặc danh sách 1. Trong hình vẽ, ảnh tham chiếu là ảnh mã hóa trước
đó F’n-1 tuy nhiên vùng tham chiếu dự đoán cho mỗi khối trong một khối mã hóa (đối
với chế độ liên ảnh) có thể được chọn từ một tập các ảnh trước đó hoặc sau đó (theo
thứ tự hiển thị) mà đã được mã hóa, tái tạo và lọc.
PRED được trừ cho khối hiện tại để tạo ra dữ liệu dư thừa D n rồi được biến đổi
sử dụng biến đổi cosin rời rạc và lượng tử hóa để tạo ra bộ các hệ số đã được biến đổi
lượng tử hóa X sau đó các hệ số này được sắp xếp lại và mã hóa entropy. Các hệ số đã
được mã hóa entropy, cùng với các thông tin khác cần thiết để giải mã các khối trong
mỗi khối mã hóa (chế độ dự đoán, thông số bộ lượng tử hóa, thông tin vectơ chuyển
- 11 -


động, …) để tạo thành dòng bit đã được nén mà sau đó sẽ được đưa qua lớp trừu tượng
mạng NAL (Network Abstraction Layer) để phát đi hoặc lưu trữ.
Bên cạnh việc mã hóa và truyền các khối trong mỗi khối mã hóa, bộ mã hóa
cũng đồng thời giải mã (tái tạo) các khối đó để cung cấp các tham chiếu cho việc dự
đoán sau này. Các hệ số X được giãn (Q-1) và biến đổi ngược (T-1) để tạo ra khối dư
thừa (residual) D’n. Khối dự đoán PRED sẽ được cộng vào D’n để tạo khối tái tạo uF’n
(khối đã giải mã của khối gốc ban đầu và chưa được lọc). Một bộ lọc sẽ được dùng để
giảm các hiệu ứng của nhiễu khối và ảnh tham chiếu đã tái tạo sẽ được tạo từ một loạt
các khối F’n.
1.3.

Bộ giải mã video chuẩn H.265/HEVC
Bộ giải mã có cấu trúc tương tự một phần của bộ mã hóa, hay nói cách khác


trong bộ mã hóa có một phần là bộ giải mã, nó thực hiện chức năng giải mã ảnh đã mã
hóa để tái tạo ảnh làm tham chiếu cho dự đoán. Trong hình 1.2 chiều của luồng dữ liệu
theo chiều từ phải sang trái, ngược với bộ mã hóa (từ trái sang phải) để thấy rõ sự
giống nhau giữa bộ mã hóa và giải mã.


chuyển
động

F’n-1

P

Tiên đoán
trong ảnh

F’n
(xây dựng
lại)

Lọc

uF’n

+
+

D’n

T-1


Q-1

X

Sắp xếp
lại

Mã hóa
entropy

NAL

Hình 1.2 Sơ đồ khối chức năng tổng quát bộ giải mã video chuẩn H.265/HEVC
Bộ giải mã nhận luồng bit đã nén từ NAL và giải mã entropy các thành phần dữ liệu
để tạo ra bộ hệ số lượng tử hóa X. Những hệ số này sẽ được giãn và biến đổi ngược để
tạo ra D’n (giống hệt với D’n trong bộ mã hóa). Sử dụng các thông tin khác cần thiết
- 12 -


×