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

Thuật toán tìm kiếm nhanh định hướng phần cứng dành cho chế độ dự đoán liên ảnh trong chuẩn nén 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 (1.81 MB, 71 trang )

..

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

Đào Bá Anh

THUẬT TỐN TÌM KIẾM NHANH
ĐỊNH HƯỚNG PHẦN CỨNG DÀNH CHO CHẾ ĐỘ DỰ
ĐOÁN LIÊN ẢNH TRONG CHUẨN NÉN HEVC

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

Hà Nội – 2019


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

THUẬT TỐN TÌM KIẾM NHANH
ĐỊNH HƯỚNG PHẦN CỨNG DÀNH CHO CHẾ ĐỘ DỰ
ĐOÁN LIÊN ẢNH TRONG CHUẨN NÉN 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 :
1. TS. NGUYỄN VŨ THẮNG

Hà Nội – 2019


LỜI NĨI ĐẦU
Đồ án được thực hiện ở phịng thí nghiệm thiết kế IC do TS. Nguyễn Vũ Thắng hướng
dẫn. Đồ án được thực hiện theo nhóm sinh viên. TS. Nguyễn Vũ Thắng có tồn quyền
với các kết quả của các nghiên cứu về 2 thuật tốn tìm kiếm mới Kim cương rộng và Lục
giác rộng công bố trong luận văn này. Hai thuật toán này cũng được sử dụng trong bài
báo dự kiến sẽ gửi đăng trong thời gian tới.
Em xin chân thành cảm ơn TS. Nguyễn Vũ Thắng đã tận tình hướng dẫn, cung cấp tài
liệu tham khảo, kinh nghiệm và những ý kiến đóng góp quý báu cùng sự động viên tinh
thần trong suốt quá trình nghiên cứu và thực hiện đồ án. Cũng qua đây, em cũng xin gửi
lời cảm ơn chân thành đến tập thể phịng nghiên cứu IC Design Lab đã tận tình giúp đỡ,
hỗ trợ em hoàn thành đồ án.


MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................................2
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ..............................................3
DANH MỤC CÁC BẢNG..........................................................................................4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .....................................................................5
MỞ ĐẦU .....................................................................................................................7
CHƯƠNG 1. TỔNG QUAN VỀ CHUẨN NÉN VIDEO HEVC/H.265 ...................9
1.1 Khái quát về nén video và các chuẩn nén hiện nay ...........................................9
1.1.1 Mục đích và nguyên lý nén video ..............................................................9

1.1.2 Một số chuẩn nén video ...........................................................................11
1.2 Tổng quan chuẩn nén H.265/HEVC ................................................................12
1.2.1 Giới thiệu chung về HEVC và ưu điểm của HEVC.................................12
1.2.2 Bộ mã hóa video chuẩn HEVC ................................................................14
CHƯƠNG 2. KHỐI ƯỚC LƯỢNG CHUYỂN ĐỘNG ĐIỂM ẢNH NGUYÊN ...22
2.1 Tổng quan khối ước lượng chuyển động điểm ảnh nguyên (IME) .................22
2.2 Thuật toán Test Zone Search ...........................................................................23
2.3 Thuật toán Kim Cương Xoay (Rotate Wide Diamond) ...................................28
CHƯƠNG 3. THUẬT TỐN TÌM KIẾM ĐIỂM ẢNH NGUN ĐỊNH HƯỚNG
PHẦN CỨNG ...........................................................................................................33
3.1 Điểm hạn chế của các thuật toán tìm kiếm nhanh ...........................................33
3.2 Đề xuất thuật tốn tìm kiếm điểm ảnh nguyên mới định hướng phần cứng ...34
CHƯƠNG 4. ĐÁNH GIÁ THUẬT TỐN TÌM KIẾM ĐIỂM ẢNH NGUN
ĐỊNH HƯỚNG PHẦN CỨNG .................................................................................41
4.1 Phần mềm mẫu H.265/HEVC – HM 9.1 .........................................................41

1


4.1.1 Giới thiệu chung về phần mềm HM 9.1 ...................................................41
4.1.2 Các thông số cần đo và cách đo ...............................................................44
4.2 Cài đặt thuật toán mới trên phần mềm HM 9.1 ...............................................49
4.3 Kết quả đo đạc và nhận xét ..............................................................................55
4.3.1 Thời gian ước lượng chuyển động điểm ảnh nguyên ..............................57
4.3.2 Chất lượng hình ảnh video sau khi mã hóa, giải mã ................................59
KẾT LUẬN ...............................................................................................................66
TÀI LIỆU THAM KHẢO .........................................................................................67

2



DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
HEVC

High Efficiency Video Coding

PSNR

Peak Signal to Noise Ratio

ME

Motion Estimation

IME

Integer Motion Estiomation

FME

Fragtion Motion Estimation

BD

Bjøntegaard Delta

BD-BR

Bjøntegaard Delta Bitrate


BD-PSNR

Bjøntegaard Delta Peak Signal to Noise Ratio

TZS

Test Zone Search

WD

Wide Diamond

WH

Wide Hexagon

JCT-VC

Joint Collaborative Team on Video Coding

HM

HEVC Test Model

CTB

Coding Tree Block

CB


Coding Block

PB

Prediction Block

TB

Transform Block

CABAC

Context Adaptive Binary Arithmetic Coding

AMVP

Advance Motion Vector Prediction

3


DANH MỤC CÁC BẢNG
Bảng 4-1 Danh sách các video kiểm tra đã sử dụng ................................................. 56
Bảng 4-2 Thời gian thực hiện ước lượng chuyển động điểm ảnh nguyên của ba thuật
toán ............................................................................................................................ 57
Bảng 4-3 Lượng thời gian IME tiết kiệm được khi sử dụng thuật toán mới ............ 58
Bảng 4-4 Tổng hợp kết quả Bitrate và PSNR của video tái tạo lại sau khi mã hóa
bằng bộ mã hóa HEVC sử dụng thuật toán Test Zone Search, Kim Cương Rộng và
Lục Giác Rộng .......................................................................................................... 59
Bảng 4-5 Thông số BD-BR và BD-PSNR của hai thuật toán mới đề xuất khi so sánh

với thuật toán TZ Search ........................................................................................... 65

4


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1-1 Sơ đồ khối tổng quát bộ mã hóa video chuẩn HEVC [1] .......................... 15
Hình 1-2 Các chế độ dự đốn trong ảnh ................................................................... 17
Hình 1-3 Dự đốn liên ảnh ........................................................................................ 19
Hình 1-4 Ước lượng chuyển động trong vùng tìm kiếm của bức ảnh tham chiếu.... 19
Hình 2-1 Sơ đồ tổng quan khối ước lượng chuyển động .......................................... 22
Hình 2-2 Lưu đồ thuật tốn TZ Search ..................................................................... 24
Hình 2-3 Tìm kiếm theo hình Kim cương (TZ Diamond) khi khoảng tìm kiếm là
16 ............................................................................................................................... 25
Hình 2-4 Tìm kiếm theo hình Vng (TZ Square) khi khoảng tìm kiếm là 16 ........ 26
Hình 2-5 Tìm kiếm các điểm lân cận ........................................................................ 27
Hình 2-6 Các vị trí điểm ảnh cần kiểm tra khi tìm kiếm mành với iRaster = 5........ 28
Hình 2-7 Tìm kiếm theo hình Kim cương xoay khi khoảng tìm kiếm là 16 ............ 29
Hình 2-8 Tìm kiếm các điểm lân cận ........................................................................ 31
Hình 3-1 Lưu đồ thuật tốn mới đề xuất ................................................................... 35
Hình 3-2 Tìm kiếm theo hình Kim Cương Rộng (Wide Diamond) .......................... 36
Hình 3-3 Tìm kiếm theo hình Lục Giác Rộng (Wide Hexagon) .............................. 37
Hình 3-4 Tìm kiếm điểm lân cận khi hình Kim cương rộng được sử dụng.............. 38
Hình 3-5 Tìm kiếm điểm lân cận khi hình Lục giác rộng được sử dụng .................. 38
Hình 4-1 Solution mã nguồn phần mềm HM 9.1 ...................................................... 42
Hình 4-2 Quá trình xử lý mã hóa, giải mã video sử dụng phần mềm HM 9.1 ......... 43
Hình 4-3 Thứ tự quét điểm ảnh với video tỉ lệ 4:2:0 ................................................ 43
Hình 4-4 Cửa sổ lệnh trong q trình mã hóa ........................................................... 44
Hình 4-5 Ví dụ đồ thị rate-distortion và cách tính thơng số Bjøntegaard Delta ....... 46
Hình 4-6 Lưu đồ thuật tốn bước tìm kiếm điểm bắt đầu ......................................... 51

Hình 4-7 Lưu đồ thuật tốn bước tìm kiếm theo hình Kim Cương Rộng hoặc Lục
Giác Rộng .................................................................................................................. 52
Hình 4-8 Lưu đồ thuật tốn bước tìm kiếm mành và tìm kiếm lân cận .................... 53
Hình 4-9 Lưu đồ thuật tóa bước tìm kiếm tinh ......................................................... 55

5


Hình 4-10 Đồ thị Rate-Distortion khi mã hóa video Traffic với ba thuật tốn......... 61
Hình 4-11 Đồ thị Rate-Distortion khi mã hóa video PartyScene với ba thuật tốn .. 61
Hình 4-12 Đồ thị Rate-Distortion khi mã hóa video BQMall với ba thuật tốn....... 62
Hình 4-13 Đồ thị Rate-Distortion khi mã hóa video BlowingBubbles với ba thuật
tốn ............................................................................................................................ 62
Hình 4-14 Đồ thị Rate-Distortion khi mã hóa video BQSquare với ba thuật tốn ... 63
Hình 4-15 Đồ thị Rate-Distortion khi mã hóa video FourPeople với ba thuật tốn . 63
Hình 4-16 Đồ thị Rate-Distortion khi mã hóa video vidyo3 với ba thuật tốn......... 64
Hình 4-17 Đồ thị Rate-Distortion khi mã hóa video SlideShow với ba thuật toán .. 64

6


MỞ ĐẦU
Ngày nay, các ứng dụng đa dạng của video tạo nên rất nhiều yêu cầu khác nhau về
cả độ nén và chất lượng ảnh. Do đó, trong những năm gần đây, các kĩ thuật nén video
số trở thành một phần không thể thiếu trong cách chúng ta lưu trữ, liên lạc và sử dụng
thông tin. High Efficient Video Coding (H.265/HEVC) là một chuẩn nén video mới
được tạo nên bởi sự hợp tác của ITU – T Video Coding Experts Group và ISO/ IEC
Moving Picture Experts Group [1]. H.265/HEVC đạt tới một sự cải tiến rõ rệt về độ
nén với cùng chất lượng ảnh so với các chuẩn trước. Định dạng nén H.265/HEVC
hứa hẹn mang lại khả năng nén cao gần gấp đôi (tức bitrate giảm đi một nửa) so với

codec H.264/AVC hiện đang được dùng phổ biến, do đó giúp giảm băng thông cần
thiết để truyền tải phim, đặc biệt là trên các thiết bị di động.
Tuy nhiên, có sự đánh đổi cơ bản khi chúng ta thực hiện việc nén video. Đó là
chúng ta phải lựa chọn giữa các yếu tố: Chất lượng hình ảnh, Tỉ lệ nén và Độ phức
tạp tính tốn. Chuẩn nén H.265/HEVC có khả năng nén cao gấp đơi với cùng chất
lượng hình ảnh so với chuẩn nén H.264/AVC trước đó nhờ sử dụng nhiều kỹ thuật
nén phức tạp hơn. Dẫn đến việc thời gian xử lý cũng như yêu cầu về tài nguyên phần
cứng của các bộ nén, giải nén H.265/HEVC cũng lớn hơn nhiều. Do đó, vấn đề được
đặt ra là cần phải tối ưu được tài nguyên phần cứng cần sử dụng trong các bộ nén,
giải nén video theo chuẩn H.265/HEVC.
Khối Ước Lượng Chuyển Động Điểm Ảnh Nguyên là phần rất quan trọng trong
bộ mã hóa HEVC. Đây là khối có nhiệm vụ xác định vector chuyển động, dùng để
biểu diễn nội dung của một khung hình cần mã hóa bằng các khung hình tham chiếu
đã mã hóa trước đó. Khối này chiếm dung lượng bộ nhớ cao, phần cứng lớn, điều
khiển phức tạp, chiếm 21,33% ÷ 25,6% khối lượng tính toán của khối Dự Đoán Liên
Ảnh [2]. Hiện tại, đã có rất nhiều thuật tốn được phát triển và sử dụng cho quá trình
ước lượng chuyển động điểm ảnh nguyên có thể kể đến như là Full Search, Three
Step Search, Test Zone Search, Square Search, Diamond Search, Hexagonal Search
[3]. Ngoại trừ Full Search là thuật tốn tìm kiếm vét cạn, có khối lượng tính tốn rất
lớn, các thuật tốn cịn lại đều là những thuật tốn tìm kiếm nhanh, được thiết kế

7


nhằm giảm đáng kể thời gian tìm kiếm trong khi chất lượng video không bị suy giảm
quá nhiều so với tìm kiếm Full Search. Tuy nhiên, các thuật tốn tìm kiếm nhanh
thường tương đối phức tạp, phù hợp với cài đặt trên phần mềm hơn là phần cứng, do
đó khó có thể áp dụng được trong những ứng dụng dịch vụ đa phương tiện ngày càng
phổ biến, có hỗ trợ video có độ phân giải 2K và 4K, cần thực hiện nén video cần có
tốc độ xử lý cao, thời gian trễ thấp để đáp ứng được thời gian thực. Vì vậy, đồ án này

hướng tới mục tiêu nghiên cứu, đề xuất thuật tốn tìm kiếm nhanh định hướng phần
cứng nhằm giảm thời gian xác định vector chuyển động, mà khơng làm suy giảm chất
lượng video và có khả năng triển khai trên phần cứng một cách dễ dàng.
Hai thuật tốn tìm kiếm nhanh sử dụng hai hình tìm kiếm mới (Kim Cương Rộng)
và (Lục Giác Rộng) được đề xuất trong đồ án này. Hai thuật toán được triển khai trên
phần mềm mã hóa video mấu HM 9.1 và so sánh đánh giá hiệu năng với các thuật
toán gốc được khuyến nghị sử dụng.
Phần còn lại của đồ án này được trình bày như sau. Chương 1 nêu một số nguyên
lý khái quát về nén video và giới thiệu tổng quan về chuẩn nén video HEVC. Tiếp
theo, Khối Ước Lượng Chuyển Động của bộ mã hóa video HEVC được phân tích chi
tiết ở Chương 2. Các điểm hạn chế của các thuật toán hiện tại sử dụng trong khối Ước
Lượng Chuyển Động được làm rõ cũng như thuật toán mới nhằm khắc phục những
hạn chế đó được đề xuất và trình bày trong Chương 3. Chương 4 trình bày việc triển
khai, cài đặt, thử nghiệm, đánh giá thuật toán mới đề xuất. Cuối cùng, phần Kết Luận
tổng hợp lại các kết quả của đề tài, đưa ra nhận xét chủ quan và hướng nghiên cứu
tiếp theo.

8


CHƯƠNG 1. TỔNG QUAN VỀ CHUẨN NÉN VIDEO HEVC/H.265
1.1 Khái quát về nén video và các chuẩn nén hiện nay
1.1.1 Mục đích và nguyên lý nén video
1.1.1.1 Mục đích nén video
Một video thông thường độ phân giải 480@30fps dài khoảng một giờ có dung
lượng rất lớn lên tới hàng trăm GB. Vì vậy để thuận tiện trong việc lưu trữ và truyền
dữ liệu, tín hiệu video cần phải được nén trong khi vẫn phải đảm bảo chất lượng hình
ảnh.
Thực chất, kĩ thuật nén video là kĩ thuật loại bỏ đi các thơng tin dư thừa để 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). Như vậy, mục
đích của nén tín hiệu video là giảm dung lượng dữ liệu trong lưu trữ cũng như giảm
băng thông cần thiết, tiết kiệm chi phí trong lưu trữ và truyền dẫn dữ liệu trong khi
vẫn duy trì chất lượng ảnh ở mức chấp nhận được.
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. 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 tố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.
1.1.1.2 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,
9


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)

-

Dự đốn bù chuyển động

Ngồ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). Những chuẩn này thực hiện lấy mẫu theo 3 màu đỏ-lục-lam với tỉ lệ
ngang bằng nhau.
1.1.1.3 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ự đốn và ảnh dự đố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 tồn bộ khung hình.
-

Ảnh nén trong hình I (Intra coded frame): được mã hóa mà khơng có sự so
sánh hay tham chiếu đến bất cứ khung hình nào khác ngồi chính nó, được
dùng trong nén trong ảnh. Chúng chứa tất cả các thông tin cần thiết để tái

10


tạo lại ảnh sau giải mã, nên tỉ lệ nén ảnh I tương đối thấp. 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 nhau. Vì vậy, ảnh
I là điểm nút quan trọng phục vụ việc truy cập vào một đoạn video.
-

Ảnh dự đốn ảnh phía trước ảnh P (Previous coded picture): được mã hóa
từ ảnh I, ảnh P mã hóa trước đó, nhờ sử dụng các thuật tốn dự đốn bù
chuyển động. Các ảnh P có thể được sử dụng như là cơ sở dữ liệu cho việc
dự đốn ảnh tiếp theo. Ảnh P có thể tham chiếu các khung hình trước đó
theo thứ tự mã hóa và tỉ lệ nén của ảnh P tương đối lớn so với tỉ lệ nén các
ảnh I.

-

Ảnh dự đoán hai chiều B (Bi – directional predictive picture): Ảnh B được
mã hóa bởi phép nội suy giữa các ảnh I và P ở trước và sau đó. Ảnh B có
đặc điểm là: 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 đốn và vector 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 đó. Ảnh B địi
hỏi phải lưu trữ ít dữ liệu hơn ảnh I và P nên nó cho tỷ lệ nén cao nhất.

1.1.2 Một số chuẩn nén video
H.261: [4] 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 16x16, bù chuyển động theo khối, biến đổi Cosine rời rạc theo khối kích
thước 8x8, 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: [4] 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

11


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à 352x288 đ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 – pixel).
MPEG – 1 chỉ hỗ trợ video liên tục.
MPEG – 2 Part 2 (H.262): [4] 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 độ bit 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: [4] 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 internet. 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 độ bit thấp, nó có thể cung cấp một cải tiến thiết
thực đối với tốc độ bit đòi hỏi để đạt được độ trung thực cần thiết.
MPEG – 4 Part 10 (H.264/AVC): [3] 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.2 Tổng quan chuẩn nén H.265/HEVC
1.2.1 Giới thiệu chung về HEVC và ưu điểm của HEVC
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 được phát triển bởi ITU-T và MPEG [1]. 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).

12


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 độ bit 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
q cao. Ngồ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 độ bit 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.2.65/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 [1]. 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ừ 4x4 và 32x32, lấy mẫu có trọng số, mã hóa ngồ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 trước đó.
Dưới đây là một vài đặc điểm nổi bật của mã hóa HEVC so với phiên bản
H.264/AVC trước đó:
-

Cấu trúc khối mã hóa linh động. Trong khi H.264 định nghĩa khối mã hóa
Macroblock có kích thước cố định là 16x16, HEVC cho phép kích thước
mã hóa thay đổi trong khoảng từ 64x64 tới 8x8 pixel2 sử 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), 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ự đốn trong ảnh hơn (tất cả có 35 chế độ, phần
lớn trong các chế độ là dự đố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.


13


-

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.2 Bộ mã hóa video chuẩn HEVC
Giống như các chuẩn nén video trước đó, chuẩn HEVC khơng đưa ra thiết kế
của bộ mã hóa/giải mã video mà chỉ định nghĩa cú pháp của một dòng bit video đã
mã hóa cùng với phương thức để giải mã dịng bit. Trong thực tế, một bộ mã hóa và
giải mã tương thích 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ự đố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) tuy nhiên sự thay đổi quan trọng của HEVC nằm trong chi tiết của các
khối chức năng đó.

14



Hình 1-1 Sơ đồ khối tổng qt bộ mã hóa video chuẩn HEVC [1]
Chuẩn nén HEVC vẫn được thiết kế dựa trên nguyên lý block-based hybrid video
coding, lai ghép giữa kỹ thuật dự đoán và biến đổi sai số dự đốn. Việc này giúp loại
bỏ những thơng tin thừa khỏi dữ liệu cần nén. Ngoài ra bằng việc áp dụng kỹ thuật
lượng tử hóa sau bước biến đổi sai số dự đốn, những thơng tin khơng cần thiết cũng
có thể được lược bớt.
Nguyên lý của bộ nén video HEVC được mô tả ngắn gọn như sau: một bức ảnh từ
chuỗi video trước tiên được chia nhỏ thành các khối và sau đó mỗi khối ảnh này được
dự đốn bằng bộ dự đoán trong ảnh (intra-picture prediction) hoặc bộ dự đoán liên
ảnh (inter-picture prediction). Phương pháp dự đoán trong ảnh sử dụng những khối
ảnh trong cùng một bức ảnh đã được giải mã trước đó làm dữ liệu tham chiếu, trong
khi đó, phương pháp dự đốn liên ảnh lại sử dụng những khối ảnh của những bức ảnh
đã được giải mã trước đó. Ngồi ra, vì phương pháp dự đốn liên ảnh thường bù
chuyển động của các vật thể thực giữa các bức ảnh của video nên phương pháp này

15


cũng cịn được gọi là phương pháp dự đốn bù chuyển động. Phương pháp dự đoán
trong ảnh khai thác những thông tin thừa giữa các khối ảnh liền kề trong cùng một
bức ảnh và phương pháp dự đoán bù chuyển động khai thác lượng lớn những thông
tin thừa giữa các bức ảnh của một chuỗi video. Trong cả hai trường hợp, kết quả sai
khác của việc dự đốn được tính bằng cách lấy hiệu của dữ liệu khối ảnh gốc và khối
ảnh dự đoán được. Kết quả hiệu này được đưa vào bộ biến đổi tuyến tính giảm tương
quan, lượng tử hóa vơ hướng, và mã hóa Entropy và sau đó được truyền đi.
Như được thể hiện trong Hình 1-1, các khối chính của bộ mã hóa video chuẩn
HEVC có thể liệt kê bao gồm:
-


Phân mảnh bức ảnh (Picture Partitioning)

-

Dự đoán trong ảnh (Intra Prediction)

-

Dự đoán liên ảnh (Inter Prediction)

-

Ước lượng chuyển động (Motion Estimation)

-

Mã hóa thơng tin thừa

-

Bộ đệm bức ảnh giải mã

-

Mã hóa Entropy

Ngồi ra, bộ mã hóa còn khối điều khiển (Encoder Control) dùng để lựa chọn tùy
chỉnh các tham số, cấu hình của bộ mã hóa chuẩn HEVC. Những khối chính này sẽ
được lần lượt mơ tả ngắn gọn ở các mục dưới đây.
1.2.2.1 Phân mảnh bức ảnh (Picture Partitioning)

Mỗi bức ảnh được chia nhỏ thành tập hợp các khối ảnh không chồng lấn lên nhau.
Ở các chuẩn nén video trước đây, một khối ảnh cơ bản được gọi là macroblock bao
gồm khối mẫu độ sáng có kích thước 16x16 và khối mẫu màu tương ứng. Ở chuẩn
nén video HEVC này, khái niệm macroblock được khái quát hóa thành Coding Tree
Block (CTB). Mỗi CTB có thể được chia nhỏ hơn thành các Coding Block (CB). Mỗi
CB có thể được chia thành một hoặc nhiều khối dự đoán Prediction Block (PB) khi
được đưa vào khối dự đoán trong ảnh hoặc dự đoán liên ảnh. Đồng thời CB cũng có
thể được chia thành các khối biến đổi Transform Block (TB) khi được đưa vào khối
Mã hóa thơng tin thừa.

16


Ngồi ra, bức ảnh cũng có thể được chia thành một hoặc nhiều mảnh (slice), mỗi
mảnh bao gồm một số nguyên các khối CTB. Các mảnh này có thể được mã hóa, giải
mã một cách độc lập với nhau.
1.2.2.2 Dự đoán trong ảnh (Intra Prediction)
Khối dự đoán trong ảnh được sử dụng loại bỏ sự tương quan trong một vùng cục
bộ của bức ảnh. Khối này được sử dụng khi một vùng của bức ảnh có cấu trúc tương
đối giống với cấu trúc của vùng lân cận trong cùng một bức ảnh và có thể được dự
đốn từ vùng lân cận đó.
Khối dự đốn trong ảnh thực hiện dự đốn với đầu vào là các khối ảnh PB. Khối
này được sử dụng khi khơng có bức ảnh nào đã được giải mã trước đó có thể sử dụng
làm tham chiếu cho chế độ dự đoán liên ảnh hoặc khi chế độ dự đoán liên ảnh hoạt
động kém hiệu quả hơn so với việc sử dụng chế độ dự đoán trong ảnh.

Hình 1-2 Các chế độ dự đốn trong ảnh [5]
Các mẫu tín hiệu từ các khối ảnh liền kề đã được giải mã trước đó được sử dụng
để tiến hành dự đốn. Cụ thể hơn là các mẫu tín hiệu từ hàng tín hiệu ở ngay trên khối
CB và cột tín hiệu ngay sát phía bên trái của CB. Giá trị của các mẫu tín hiệu này

được kết hợp với nhau theo các chế độ dự đoán khác nhau để tạo thành tín hiệu dự
đốn. Có tổng cộng tất cả 35 chế độ dự đoán trong ảnh được đưa ra trong chuẩn
HEVC.

17


1.2.2.3 Dự đoán liên ảnh (Inter Prediction)
Khối dự đoán liên ảnh được xây dựng dựa trên giả định rằng phần lớn nội dung
của các bức ảnh trong một chuỗi video chứa những vật thể chuyển động, thay đổi vị
trí giữa các bức ảnh đó. Chúng ta có thể quan sát thấy rằng chỉ có sự khác nhau rất
nhỏ giữa các bức ảnh liền kề nhau trong một chuỗi video, và sự khác nhau này chủ
yếu sinh ra bởi chuyển động của các vật thể trong chuỗi video. Nếu những chuyển
động này được sử dụng trong việc dự đốn, thì mỗi cảnh quay hay chuỗi video có thể
được biểu diễn một cách rất hiệu quả bằng các vector chuyển động và những sai số
của việc dự đoán. Vector chuyển động chỉ ra cách những khối ảnh cần được di chuyển
như thế nào từ vị trí trên ảnh tham chiếu đến vị trí mới trên bức ảnh hiện tại để tạo ra
được bức ảnh dự đốn. Những tín hiệu sai số của việc dự đốn sẽ thể hiện những phần
nội dung cịn lại của chuỗi video không thể áp dụng được vào mơ hình dự đốn chuyển
động.
Khối dự đốn liên ảnh cũng sử dụng các khối ảnh PB làm dữ liệu đầu vào. Ngoài
ra, khối này cũng sử dụng một trong những bức ảnh đã giải mã trước đó, được lưu
trong Khối bộ đệm bức ảnh giải mã làm bức ảnh tham chiếu. Kích thước của khối
ảnh PB có thể thay đổi linh hoạt với mục đích nhằm phù hợp hơn với các chuyển
động phức tạp khi mà hình dạng của vật thể có thể thay đổi khi di chuyển trong chuỗi
video (ví dụ như chuyển động đổ bóng, chuyển động của khói hoặc sóng biển…)
Bức ảnh được dự đốn được chia thành các khối ảnh PB hình chữ nhật khơng
chồng lấn lên nhau. Mỗi khối được áp dụng vector chuyển động để lấy dữ liệu dự
đoán từ bức ảnh tham chiếu. Các khối PB đều được xếp trên một lưới cố định trong
bức ảnh hiện tại, và khối ảnh tương ứng ở bức ảnh tham chiếu được xác định từ vector

chuyển động. Hình 1-3 mơ tả ngắn gọn cơ chế hoạt động của khối dự đoán liên ảnh
này.

18


Hình 1-3 Dự đốn liên ảnh
1.2.2.4 Ước lượng chuyển động (Motion Estimation)

Hình 1-4 Ước lượng chuyển động trong vùng tìm kiếm của bức ảnh tham chiếu
Khối ước lượng chuyển động có nhiệm vụ tìm ra khối ảnh trong bức ảnh tham
chiếu có sẵn (lấy từ bộ đệm các bức ảnh đã giải mã) giống nhất với khối PB trên bức
ảnh hiện tại cần mã hóa.
Có rất nhiều phương pháp tìm kiếm đã được đề xuất và khuyến nghị để thực hiện
việc tìm kiếm khối ảnh tốt nhất. Trong đó, phương pháp tìm kiếm truyền thống là
dịch chuyển khối ảnh PB hiện tại trong một khoảng tìm kiếm nhất định của bức ảnh
tham chiếu và kiểm tra độ giống nhau giữa hai khối ảnh với mỗi vị trí được dịch

19


chuyển tới. Khoảng tìm kiếm này lấy vị trí tương ứng của khối PB và mở rộng ra
vùng lân cận xung quanh. Nếu tất cả các vị trí có thể trong vùng tìm kiếm được kiểm
tra, thì phương pháp này được gọi là Full Search (Tìm kiềm đầy đủ). Nếu chỉ kiểm
tra một số vị trí đặc biệt trong vùng tìm kiếm, thì phương pháp đó được gọi là Fast
Search (Tìm kiếm nhanh).
Khối ước lượng chuyển động là khối cần thực hiện nhiều phép tính, thuật tốn
phức tạp nhất trong một bộ mã hóa theo chuẩn HEVC. Do vậy, một thuật tốn tìm
kiếm hiệu quả được tối ưu là yếu tố rất quan trọng trong việc thiết kế thành công bộ
mã hóa chạy nhanh và chính xác.

1.2.2.5 Mã hóa thơng tin thừa
Khối dự đoán liên ảnh và trong ảnh đã loại bỏ sự tương quan giữa các khối ảnh
của các bức ảnh trong một chuỗi video hoặc trong cùng một bức ảnh. Khi lấy bức ảnh
đầu vào hiện tại cần được mã hóa và trừ đi cho bức ảnh đã được dự đoán (kết quả của
khối dự đoán liên ảnh và trong ảnh) sẽ thu được hiệu số là những phần thông tin thừa.
Đây là những phần của bức ảnh gốc hiện tại mà khơng thể được dự đốn bởi một
trong hai phương pháp liên ảnh và trong ảnh. Những phần thơng tin thừa này vẫn có
thể được nén bằng cách áp dụng một số kỹ thuật biến đổi, lấy tỉ lệ và lượng tử hóa.
Những thơng tin này sau khi biến đổi sẽ được biểu diễn bằng các hệ số biến đổi.
Những hệ số này được lượng tử, mã hóa, đưa vào dịng bit đầu ra của bộ mã hóa theo
chuẩn HEVC.
Việc áp dụng biến đổi được thực hiện trên các khối ảnh Transform Block (TB).
Thơng thường, kích thước của khối TB sẽ nhỏ hơn hoặc bằng kích thước của khối dự
đoán PB.
1.2.2.6 Bộ đệm bức ảnh giải mã
Bộ đệm bức ảnh giải mã là nơi lưu những bức ảnh đã được tái tạo lại và giải mã
cho đến khi chúng được sắp xếp và hiển thị trên màn hình. Việc sử dụng bộ đệm này
là cần thiết vì thực tế, thứ tự mã hóa và giải mã các bức ảnh không giống với thứ tự
thực tế của bức ảnh đó trong chuỗi video. Do đó cần phải có bộ đệm lưu các bức ảnh
giải mã để sắp xếp lại theo đúng thứ tự hiển thị của chuỗi video. Ngoài ra, những bức

20


ảnh lưu trong bộ đệm cũng được dùng làm bức ảnh tham chiếu cho bộ dự đốn liên
ảnh.
1.2.2.7 Mã hóa Entropy
Khối mã hóa Entropy có nhiệm vụ mã hóa, sắp xếp các thơng tin thể hiện cho chuỗi
video (ví dụ như: các cờ chỉ thị, các chỉ số, vector, chế độ dự đốn, các hệ số biến
đổi) thành dịng bit nhị phân có cấu trúc được thống nhất trong chuẩn mã hóa video

HEVC. Dịng bit nhị phân này chính là đầu ra của bộ mã hóa video. Bộ giải mã video
chuẩn HEVC sẽ sử dụng dòng bit này để xây dựng lại chuỗi video. Khối mã hóa làm
nhiệm vụ ánh xạ tất các thông tin cần thiết đại diện cho video đến dịng bit đầu ra, do
vậy nó có ảnh hưởng lớn đến hiệu năng nén của bộ mã hóa video.
Những thơng tin mang đặc trưng tổng quan của dịng bit thường được mã hóa sử
dụng mã có độ dài cố định. Những thông tin này thường được đặt ở đầu dòng bit để
tiện truy cập bởi bộ giải mã video HEVC hoặc các ứng dụng khác. Do chỉ chiếm tỉ lệ
rất nhỏ trong dòng bit, nên khi sử dụng mã độ dài cố định với những thông tin tổng
quan này không gây ảnh hưởng nghiêm trọng đến hiệu năng mã hóa nói chung. Tuy
nhiên đối với những phần thơng tin còn lại, đại diện cho bức ảnh, khối ảnh trong
chuỗi video, khối mã hóa Entropy cần phải sử dụng mã hóa có độ dài thay đổi. Khi
sử dụng kỹ thuật mã có độ dài thay đổi, cần phải có sự cân bằng phù hợp giữa độ
phức tạp khi giải mã và sự ngắn gọn của dòng bit sau mã hóa. Những bộ mã hóa video
hiện đại thường sử dụng những loại mã thích ứng phụ thuộc ngữ cảnh đối với những
phần thơng tin này của dịng bit. Trong chuẩn nén HEVC, chỉ có loại mã số học nhị
phân thích ứng ngữ cảnh (Context Adaptive Binary Arithmetic Coding – CABAC)
được sử dụng.

21


CHƯƠNG 2. KHỐI ƯỚC LƯỢNG CHUYỂN ĐỘNG

ĐIỂM ẢNH NGUYÊN
2.1 Tổng quan khối ước lượng chuyển động điểm ảnh nguyên (IME)
Một trong những khối phức tạp, cần sử dụng nhiều năng lực tính tốn nhất trong
bộ mã hóa chuẩn HEVC là khối ước lượng chuyển động (ME). Khối này thực hiện
chức năng loại bỏ những phần thông tin dư thừa về của ảnh hiện tại khi bộ giải mã đã
có những bức ảnh khác đã mã hóa trước đó của cùng một chuỗi video (hay còn gọi là
ảnh tham chiếu). Với phương pháp này ta có thể giảm bớt lượng dữ liệu cần thiết phải

truyền đi khi mà ta chỉ cần truyền và lưu trữ chỉ là dữ liệu sai khác giữa bức ảnh tham
chiếu, bức ảnh hiện tại. Những dữ liệu sai khác này được gọi là dữ liệu chuyển động.
Dữ liệu chuyển động bao gồm vector chuyển động và các chỉ số tham chiếu.
Motion Estimation

Frame Previous

I n t eg e r
Motion
Estiamtion
(IME)

Fraction
Motion
Estimation
(FME)

M oti on
V ec t o r

A M VP

Frame current
Spatial
Motion
Estimation
(M V P )

Hình 2-1 Sơ đồ tổng quan khối ước lượng chuyển động
Khối ước lượng chuyển động (ME) gồm 2 phần là mã hóa theo khơng gian

(Motion Vector Prediction: MVP) và mã hóa nâng cao theo thời gian (Advance
Motion Vector Prediction: AMVP). Trong đó AMVP gồm khối dự đốn vector
chuyển động một số nguyên lần điểm ảnh (IME) và khối dự đốn vector chuyển động
điểm ảnh khơng ngun (FME). IME là phần rất quan trọng trong ME vì nó yêu cầu
dung lượng bộ nhớ cao, phần cứng lớn, điều khiển phức tạp. Ngoài ra, kết quả của

22


×