1. Trang chủ
  2. » Luận Văn - Báo Cáo

thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động

77 533 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mã hóa và giải mã thông tin video số là một lĩnh vực rộng, được sử dụng trong rất nhiều ứng dụng hiện nay: Broadcast, các dịch vụ thoại có và không dây, lưu trữ dữ liệu… Các ứng dụng đa

Trang 1

THIẾT KẾ VÀ TRIỂN KHAI CÁC KHỐI CON BỘ MÃ

HÓA VIDEO H.265 TRÊN FPGA KHỐI ƢỚC LƢỢNG CHUYỂN ĐỘNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

Trang 2

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

-

NGUYỄN NGỌC THẮNG

THIẾT KẾ VÀ TRIỂN KHAI CÁC KHỐI CON BỘ MÃ HÓA

VIDEO H.265 TRÊN FPGA KHỐI ƯỚC LƯỢNG CHUYỂN ĐỘNG

CHUYÊN NGÀNH KỸ THUẬT ĐIỆN TỬ

LUẬN VĂN THẠC SĨ KỸ THUẬT

KỸ THUẬT ĐIỆN TỬ

NGƯỜI HƯỚNG DẪN KHOA HỌC : TS LÊ DŨNG

Hà Nội – Năm 2014

Trang 3

-I-

MỤC LỤC

MỤC LỤC I LỜI CAM ĐOAN IV DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX

LỜI MỞ ĐẦU 1

CHƯƠNG 1 BỘ MÃ HÓA VIDEO CHUẨN H.265 3

1.1 Chuẩn nén video H.265 3

1.1.1 Các công nghệ nén video 3

1.1.2 Chuẩn nén video H.265/HEVC 8

1.2 Bộ mã hóa video chuẩn H.265 9

1.3 Các khối chức năng trong bộ mã hóa H.265 11

1.3.1 Một số khái niệm về phân vùng ảnh trong chuẩn nén video H.26511 1.3.2 Dự đoán 17

1.3.3 Biến đổi 19

1.3.4 Lượng tử hóa 19

1.3.5 Bộ lọc xóa khối 20

1.3.6 Bù mẫu theo ngữ cảnh (SAO) 22

Trang 4

-II-

1.3.7 Mã hóa entropy 22

1.4 Bộ giải mã video chuẩn H.265 23

CHƯƠNG 2 DỰ ĐOÁN LIÊN ẢNH 25

2.1 Giới thiệu về quá trình dự đoán ảnh 25

2.2 Dự đoán trong ảnh 26

2.2.1 Các chế độ dự đoán 26

2.2.2 Bộ lọc cho các mẫu lân cận 28

2.3 Dự đoán liên ảnh 28

2.3.1 Các chế độ dự đoán 30

2.3.1.1 Chế độ kết hợp 31

2.3.1.2 Dự đoán vector chuyển động 32

2.3.2 Lọc nội suy 33

2.3.3 Ước lượng chuyển động và bù chuyển động 34

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

2.3.3.2 Bù chuyển động 37

CHƯƠNG 3 THIẾT KẾ KHỐI ƯỚC LƯỢNG CHUYỂN ĐỘNG 38

3.1 Khối ước lượng chuyển động 38

3.1.1 Mô tả chức năng 38

3.1.2 Sơ đồ khối tổng quát 38

3.1.3 Sơ đồ khối chi tiết 39

Trang 5

-III-

3.1.4 Mô tả tín hiệu vào ra 40

3.2 Khối Dự đoán vector chuyển động tiên tiến (AMVP - Advanced Motion Vector Prediction) 41

3.2.1 Mô tả chức năng 41

3.2.2 Sơ đồ khối tổng quát 41

3.2.3 Sơ đồ khối chi tiết 41

3.2.4 Mô tả tín hiệu vào ra 51

3.3 Khối dự đoán vector chuyển động (MVP – Motion Vector Prediction)52 3.3.1 Mô tả chức năng 52

3.3.2 Sơ đồ khối tổng quát 52

3.3.3 Sơ đồ khối chi tiết 52

3.3.4 Mô tả tín hiệu vào ra 53

CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG VÀ PHÂN TÍCH DỮ LIỆU 55

4.1 Thiết kế hệ thống 55

4.1.1 Hệ thống mô phỏng bằng phần mềm 55

4.1.2 Hệ thống triển khai trên bo mạch FPGA 56

4.2 Kết quả mô phỏng bằng phần mềm 57

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 64

BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH 65

Trang 6

-IV-

LỜI CAM ĐOAN

Trước hết, tôi 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

để tôi học tập và nghiên cứu Tôi 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 cho các học viên có điều kiện thuận lợi để học tập và nghiên cứu Và đặc biệt Tôi xin gửi lời cảm ơn sâu sắc đến thầy giáo TS.LÊ DŨNG đã tận tình chỉ bảo, hướng dẫn và sửa chữa nội dung của luận văn này

Tôi xin cam đoan rằng nội dung của luận văn này là hoàn toàn do tôi tìm hiểu, nghiên cứu và viết ra Tất cả đều được tôi 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

Tôi 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 Ngọc Thắng

Trang 7

-V-

DANH MỤC CÁC HÌNH VẼ

Hình 1-1: Sơ đồ khối chức năng tổng quát bộ mã hóa video chuẩn H.265 10

Hình 1-2: Ví dụ về chia hình ảnh thành các khối cây mã hóa với hình ảnh đầu vào là YCbCr 4:2:0 12

Hình 1-3: Ví dụ về chia hình ảnh thành các khối cây mã hóa với hình ảnh đầu vào là RGB 12

Hình 1-4: Ví dụ về lớp phân đoạn và dải phân đoạn 14

Hình 1-5: Cấu trúc cây mã hóa 15

Hình 1-6: Các chế độ phân vùng của khối PU trong mã hóa ảnh 16

Hình 1-8: Quá trình xử lý bộ lọc xóa khối 20

Hình 1-9: Sơ đồ khối chức năng bộ giải mã video chuẩn H.265 23

Hình 2-1: Các kiểu tiên đoán ảnh 26

Hình 2-2: 33 hướng dự đoán trong ảnh 27

Hình 2-3: Ví dụ về vector chuyển động nguyên và không nguyên điểm ảnh 29 Hình 2-4: Quy ước về dấu và độ lớn của vector chuyển động 30

Hình 2-5: Vị trí các PU lân cận PU hiện tại được xét 31

Hình 2-6: Ví dụ về PU hiện tại kết hợp PU lân cận thành khối 2Nx2N 32

Hình 2-7: Vị trí các điểm ảnh nguyên và không nguyên 34

Hình 2-8: Ước lượng chuyển động và bù chuyển dộng 35

Hình 2-9: Ước lượng chuyển động 36

Hình 3-1: Sơ đồ thiết kế tổng quát khối ước lượng chuyển động 38

Trang 8

-VI-

Hình 3-2: Sơ đồ thiết kế chi tiết khối ước lượng chuyển động 40

Hình 3-3: Sơ đồ tổng quát khối AMVP 41

Hình 3-4: Sơ đồ thiết kế chi tiết khối AMVP 42

Hình 3-5: Sơ đồ máy trạng thái cho hoạt động khối I_search 43

Hình 3-6: Vị trí các PU lân cận lấy vector chuyển động 45

Hình 3-7: Ví dụ về các điểm tìm kiếm miền kim cương xoay 45

Hình 3-8: Thuật toán quét mành với khoảng các các mẫu là 20 điểm ảnh 46

Hình 3-9: Các điểm tìm kiếm lân cận điểm tốt nhất 47

Hình 3-10: Sơ đồ thiết kế khối Nội suy 48

Hình 3-11: Các vị trí 1/2 điểm ảnh cần tìm kiếm 49

Hình 3-12: Các vị trí 1/4 điểm ảnh cần tìm kiếm 50

Hình 3-13: Sơ đồ khối tổng quát khối dự đoán vector chuyển động 52

Hình 3-14: Sơ đồ thiết kế chi tiết khối MVP 53

Hình 4-1: Hệ thống mô phỏng bằng phần mềm 56

Hình 4-2: Hệ thống triển khai trên bo mạch FPGA 57

Hình 4-3: Khối điều khiển Ctrl_me bắt đầu được hoạt động 58

Hình 4-4: Kết thúc quá trình đọc dữ liệu PU hiện tại vào bộ nhớ PU hiện tại với Iskip_mode=0 59

Hình 4-5: Kết thúc quá trình đọc dữ liệu PU hiện tại vào bộ nhớ PU hiện tại với Iskip_mode=1 59

Hình 4-6: Khối MVP xác định các vector chuyển động tham chiếu 61

Trang 9

-VII- Hình 4-7: Khối MVP tính SAD 61Hình 4-8:Khối MVP dự đoán xong vector chuyển động 62

Trang 10

-VIII-

DANH MỤC CÁC BẢNG BIỂU

Bảng 1-1: Độ sâu lớn nhất của cấu trúc cây chuyển đổi 16

Bảng 1-2: Bảng chọn giá trì β và tc theo QP 22

Bảng 2-1: Mối 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 27

Bảng 2-2: Ngưỡng cho phép các khối chuyển đổi có kích thước khác nhau 28 Bảng 2-3: Hệ số lọc cho thành phần chói 33

Bảng 2-4: Hệ số lọc cho thành phần màu 34

Bảng 3-1: Bảng mô tả tín hiệu khối Ước lượng chuyển động 40

Bảng 3-2: Bảng giải thích các trạng thái trong máy trạng thái của khối I_search 43

Bảng 3-3: Bảng liệt kê các vị trí cần tìm trong trạng thái SEARCH_NEIGHBOR 47

Bảng 3-4: Bảng giải thích các tham số được sử dụng 50

Bảng 3-5: Bảng mô tả tín hiệu vào ra khối AMVP 51

Bảng 3-6: Bảng mô tả tín hiệu vào ra của khối MVP 53

Trang 11

-IX-

DANH MỤC CÁC TỪ VIẾT TẮT

HEVC High Efficiency Video Coding

ITU – T International Telecommunication Union

Telecommunication Standardization Sector

MPEG Moving Picture Experts Group

NAL Network Abstraction Layer

SAD Sum of Absolute Difference

SAE Sum of Absolute Error

MAE Mean of Absolute Error

TQ Transform and Quantization

ITIQ Inverse Transform and Inverse Quantization

FPGA Field Programmable Gate Array

LCU Largest Coding Unit

Trang 12

1

LỜI MỞ ĐẦU

Ngày nay, song hành với sự phát triểu của thông tin liên lạc, yêu cầu về lưu trữ và truyền dữ liệu đặc biệt là dữ liệu hình ảnh ngày càng cao cả về tỉ lệ nén cũng như chất lượng hình ảnh Mã hóa và giải mã thông tin video số là một lĩnh vực rộng, được sử dụng trong rất nhiều ứng dụng hiện nay: Broadcast, các dịch vụ thoại

có và không dây, lưu trữ dữ liệu…

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 vài thập kỉ gần đây, các kĩ thuật mã hóa video số trở thành một phần không thể thiếu trong cách chúng ta tạo, liên lạc và sử dụng thông tin H.265/HEVC là một chuẩn mã hóa 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 Mục đích chính của H.265/HEVC là nâng cao khả năng nén đồng thời có thể thỏa mãn các ứng dụng trên nền IP (lưu trữ, quảng bá, truyền thông tin) 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 Tuy nhiên, đi kèm với hiệu suất nén rất cao, H.265 cũng đã tăng độ phức tạp khi tính toán rất nhiều, làm tăng thời gian mã hóa của các khung video lên rất nhiều, do đó rất khó thỏa mãn với các ứng dụng thời gian thực

Để có thể hiểu biết hơn về chuẩn nén này, em đã chọn đề tài “Thiết kế và triển khai các khối con bộ mã hóa video H.265 trên FPGA” Trong luận văn này

em xin trình bày về quá trình thiết kế và triển khai khối Ước lượng chuyển động

trên bo mạch FPGA

Trang 13

2

TÓM TẮT LUẬN VĂN Các khối con trong bộ mã hóa video H.265 được thiết kế và triển khai trên

bo mạch FPGA Virtex-V của Xilinx với việc sử dụng ngôn ngữ lập trình Verilog Trong khuôn khổ luận văn, em thực hiện thiết kế khối Ước lượng chuyển động

Mục đích của đề tài là đưa ra những kiến thức cơ bản nhất về chuẩn nén video H265 Đồng thời đi chi tiết vào phương pháp thiết kế và triển khai khối Ước lượng chuyển động trên bo mạch FPGA

Nội dung của đề tài được chia làm 4 chương:

Chương 1: Bộ mã hóa/ giải mã video chuẩn H.265

Giới thiệu chung về nguyên lý nén video cũng như chuẩn nén video H.265

Chương 2: Dự đoán liên ảnh

Giới thiệu chung về quá trình dự đoán ảnh và tập trung vào dự đoán liên ảnh

Chương 3: Thiết kế khối Ước lượng chuyển động

Quá trình thiết kế khối Ước lượng chuyển động

Chương 4: Kết quả mô phỏng và phân tích dữ liệu

Các kết quả mô phỏng bằng phần mềm Modelsim và phân tích dữ liệu thu được

Trang 14

3

CHƯƠNG 1 BỘ MÃ HÓA VIDEO CHUẨN H.265

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 đi sâu vào trình bày các ưu điểm của chuẩn nén video H.265 cũng như bộ mã hóa/giải mã video chuẩn H.265

1.1 Chuẩn nén video H.265

1.1.1 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) [5] 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à đa số dữ liệu trong video trước khi nén là không cần thiết do vậy có thể lược bỏ những loại dữ liệu đó đi mà vẫn có thể giữ được chất lượng tốt [5] 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à macroblock Các macroblock được so sánh giữa một khung hình với khung hình lân cận của nó và bộ mã hóa video sẽ chỉ gửi đi sự khác biệt giữa các macroblock đó [5]

Nguyên lý nén video [5]:

Trang 15

4

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 liên tiếp

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 trọng 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ự đoán bù chuyển động

Trang 16

5

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) 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

Các loại ảnh trong nén video [5]:

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 LCU 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 LCU 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ả LCU 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à LCU mã hóa trong hình (Intra – 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 P

Trang 17

6

- Dữ liệu đưa ra là dữ liệu sai khác giữa khối mã hóa của khung hiện tại

và khối mã hóa được chọn của khung dự đoán cùng vector chuyển động để chỉ ra vị trí của khối mã hóa dự đ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ả LCU mã hóa trong hình (Intra – LCU), LCU 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à LCU dự đoán từ cả khung đã được mã hóa trước và sau khung hiện tại 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 khối mã hóa của khung hiện tại

và khối mã hóa được chọn của khung dự đoán cùng vector chuyển động để chỉ ra vị trí của khối mã hóa dự đ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

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 16x16, bù chuyển

Trang 18

7

độ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: 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à 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 hai 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): 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: 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): 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

Trang 19

8

đã đượ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 Chuẩn nén video H.265/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 Sự hợp tác của hai 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) [1]

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 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 độ 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.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ừ 4x4 đến 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 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 đó [3]:

Trang 20

9

- Cấu trúc khối mã hóa linh động : Trong khi H.264 định nghĩa khối mã hóa cố định là 16x16 điểm ảnh thì H.265 cho phép kích thước khối mã hóa thay đổi từ 8x8 đến 64x64 điểm ảnh

- Tăng số chế độ dự đoán trong ảnh lên 35 giúp khảng năng nén ảnh tốt hơn

- Hỗ trợ các phép biến đổi nguyên với kích thước bộ biến đổi thay đổi từ 4x4 đến 32x32 vị trí

- 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 bằng việc sử dụng bộ lọc xóa khối,

bù mẫu theo ngữ cảnh

- Cải tiến kỹ thuật mã hóa Entropy và cho phép thực hiện mã hóa Entropy song song

1.2 Bộ mã hóa video chuẩn H.265

Giống như các chuẩn nén video trước đó, chuẩn H.265 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 [6] 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 [6] Ngoại trừ khối Bộ lọc giải khối và SAO, 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 đề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 H.265 nằm trong chi tiết của các khối chức năng đó

Trang 21

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

Bộ lọc giải khối và SAO

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

Tiên đoán trong ảnh

P

Liên ảnh

Trong ảnh

+ 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

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 liên ảnh 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 1-1, ả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 Dn 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 động, …) để tạo thành dòng bit đã được nén mà sau đó sẽ được

Trang 22

1.3 Các khối chức năng trong bộ mã hóa H.265

1.3.1 Một số khái niệm về phân vùng ảnh trong chuẩn nén video H.265

Các ảnh đầu vào bộ mã hóa sẽ được chia thành một chuỗi các khối cây mã hóa (CTB – Coding Tree Block) [6] Khái niệm về khối cây mã hóa tương tự như khái niệm về macroblock trong các chuẩn nén trước như H.264 Kích thước khối cây mã hóa thay đổi trong các giá trị 16x16, 32x32, 64x64 phụ thuộc vào từng luồng video cần mã hóa Nếu hình ảnh đầu vào là 3 thành phần YCbCr, khối cây mã hóa sẽ gồm một khối chứa thành phần độ chói có kích thước NxN và hai khối thành phần màu tương ứng (Hình 1-2) Nếu ảnh đầu vào là 3 thành phần R, G, B riêng biệt, khối cây mã hóa sẽ gồm 3 khối màu đơn nhất kích thước NxN (Hình 1-3)

Trang 23

CTB CTB CTB CTB

CTB CTBCTB CTB

CbCTB

CrCTB

LumaCTB

Hình 1-2: Ví dụ về chia hình ảnh thành các khối cây mã hóa với hình ảnh đầu vào

CTB CTB CTB CTB

CTB CTBCTB CTB

RCTB

GCTB

BCTB

Hình 1-3: Ví dụ về chia hình ảnh thành các khối cây mã hóa với hình ảnh đầu vào

Trang 24

13

Một dải phân đoạn còn được định nghĩa là một số nguyên lần các khối cây

mã hóa được sắp xếp liên tiếp nhau trong cách quét lớp và được chứa trong một lớp mạng trừu tượng NAL Một dải phân đoạn được sử dụng như một đơn vị dữ liệu video mã hóa được đóng gói phục vụ cho mục đích truyền tin Một dải phân đoạn độc lập là một dải phân đoạn có các giá trị về thành phần cú pháp trong phần header không chịu sự ảnh hưởng từ các giá trị trong dải phân đoạn liền trước đó Một dải phân đoạn phụ thuộc có các giá trị về thành phần cú pháp trong phần header được suy ra từ các giá trị có trong dải phân đoạn độc lập trước đó theo thứ tự mã hóa Với các dải phân đoạn phụ thuộc, việc tiên đoán được phép thực hiện qua lại giữa các dải phân đoạn phụ thuộc, và không bao giờ mã hóa entropy được khởi tạo lại từ đầu tại một dải phân đoạn phụ thuộc

Một lớp phân đoạn được định nghĩa là một vùng hình chữ nhật có chứa một

số nguyên lần các khối cây mã hóa [3] Một lớp phân đoạn có thể chứa các khối cây

mã hóa thuộc nhiều dải phân đoạn khác nhau Tương tự như vậy, một dải phân đoạn cũng có thể chứa các khối cây mã hóa thuộc nhiều lớp phân đoạn khác nhau

Giữa lớp và dải phải thỏa mãn một trong hai điều kiện sau :

- Toàn bộ các khối cây mã hóa của một dải phải nằm trọn trong cùng một lớp

- Toàn bộ các khối cây mã hóa của một lớp phải nằm trọn trong cùng một dải

Thứ tự các khối cây mã hóa trong một lớp phân đoạn tuân theo nguyên tắc quét mành, từ trái sang phải, từ trên xuống dưới Thứ tự của các lớp phân đoạn trong một hình ảnh cũng tuân theo nguyên tắc đó

Trang 25

14

Hình 1-4: Ví dụ về lớp phân đoạn và dải phân đoạn

Hình 1-4 đưa ra ví dụ về hình ảnh được chia thành hai lớp phân đoạn riêng biệt bởi một đường phân cách dọc Bức ảnh gồm 11x9 khối cây mã hóa có thể được chia thành hai lớp phân đoạn và một dải phân đoạn (hình bên trái) hoặc thành hai lớp phân đoạn và ba dải phân đoạn (hình bên phải) Trong hình bên trái mô tả trường hợp hình ảnh chỉ chứa một dải phân đoạn, bắt đầu bằng một dải phân đoạn độc lập (màu sẫm), theo sau là bốn dải phân đoạn phụ thuộc Hình bên phải minh họa trường hợp trong ảnh có chứa hai dải phân đoạn trong một lớp phân đoạn và dải phân đoạn còn lại nằm trong lớp phân đoạn thứ hai

Mỗi CTB sẽ được chia thành các khối mã hóa (CU – Coding Unit) nhỏ hơn bằng phương pháp đệ quy (Hình 1-5) [4]: chia một khối vuông lớn thành bốn khối vuông nhỏ bằng nhau có kích thước bằng ¼ khối vuông gốc Khối mã hóa là một vùng có cùng chế độ mã hóa (mã hóa liên ảnh, mã hóa trong ảnh, hay không được

mã hóa) và được biểu diễn là một lá trong cấu trúc cây chia bốn [3] Khối CU luôn luôn là các khối hình vuông và có kích thước thay đổi từ 8x8 tới kích thước bằng với khối cây mã hóa Việc mã hóa và không mã hóa đều được chấp nhận trong một khối CU Khối CU không mã hóa được xem như chế độ dự đoán liên ảnh không có thông tin về phần dư và độ lệch vector chuyển động Khối CU được mã hóa sẽ sử dụng một trong hai chế độ dự đoán: dự đoán liên ảnh hoặc dự đoán trong ảnh

Trang 26

15

0 (32x32)

1 (16x16)

64

Hình 1-5: Cấu trúc cây mã hóa

Khối dự đoán (PU – Prediction Unit) là vùng được sử dụng để chứa thông tin

có liên quan đến việc thực hiện mã hóa [3] Thông thường, PU không bị giới hạn là các khối hình vuông, để có thể tối ưu việc phân vùng sao cho khớp với đường biên của vật thể thật trên ảnh Hình 1-6 thể hiện 8 chế độ dự đoán được sử dụng cho khối

CU được mã hóa liên ảnh với N là kích thước của khối mã hóa [3] Chế độ phân vùng PART_2Nx2N và PART_NxN được sử dụng cho khối CU được mã hóa trong ảnh Chế độ phân vùng PART_NxN chỉ được sử dụng khi kích thước của khối CU

Trang 27

16

bằng với kích thước CU nhỏ nhất (theo quy ước là 8x8) Một khối CU có thể chứa một hoặc nhiều khối PU tùy thuộc vào chế độ phân vùng

Hình 1-6: Các chế độ phân vùng của khối PU trong mã hóa ảnh

Khối biến đổi (TU – Transform Unit) luôn là hình vuông có kích thước thay đổi (4x4, 8x8, 16x16, 32x32 hệ số biến đổi) [3] Một CU có thể chứa một hoặc nhiều TU và các TU đó cũng được sắp xếp theo cấu trúc cây chia bốn Độ sâu chia bốn được chia tùy theo từng trường hợp cụ thể và được mô tả trong cú pháp header của dải phân đoạn Các giá trị được thiết lập dựa trên thử nghiệm từng cấu hình và thu được bảng kết quả như sau:

Bảng 1-1: Độ sâu lớn nhất của cấu trúc cây chuyển đổi

(mã hóa liên ảnh) (mã hóa trong ảnh) Độ sâu tối đa Cấu hình chính Chỉ dùng mã hóa

trong ảnh

Truy cập ngẫu nhiên

Truy cập ngẫu nhiên

Trang 28

17

Với khối CU được mã hóa liên ảnh, khối TU có thể lớn hơn khối PU, có nghĩa rằng, khối TU có thể chứa đường phân cách của các khối PU Tuy nhiên, khối

TU sẽ không được phép băng qua đường phân cách khối PU trong trường hợp CU

là khối được mã hóa trong ảnh

Trong ảnh

Liên ảnh

Thông tin dư thừa +

-Khung hiện tại

PU hiện tại

nh 1-7: Sơ đồ tổng quát chung về quá trình tiên đoán

Quá trình dự đoán giúp loại trừ một số lượng lớn độ dư thừa về không gian

và thời gian tồn tại trong chuỗi video Về cơ bản, khối dự đoán tính toán ra được một PU được tiên đoán, sau đó so sánh và tính toán sự sai khác giữa PU đã được tiên đoán với PU hiện tại và chỉ mã hóa và truyền đi sự sai khác đó [5] Như vậy, quá trình dự đoán càng tốt thì sự sai khác càng nhỏ, làm tăng hiệu quả quá trình nén

Dự đoán được chia làm 2 chế độ: tiên đoán trong ảnh và tiên đoán liên ảnh tương ứng làm giảm độ dư thừa về không gian và thời gian

Mã hóa trong ảnh (intra coding):

Trang 29

18

Mã hóa trong ảnh là quá trình nội suy khối mã hóa từ các khối được mã hóa trước trong cùng một ảnh [5] So với H.264, nén ảnh I hiệu quả hơn nhờ việc bổ sung thêm nhiều chế độ mã hóa trong quá trình mã hóa ảnh I Hơn nữa H.265 còn

có khả năng thay đổi kích thước khối mã hóa mềm dẻo hơn so với H264 Tùy thuộc vào tính chất ảnh, kích thước khối mã hóa có thể là 64x64, 32x32, 16x16, 8x8, 4x4 giúp việc tiên đoán ảnh hiệu quả hơn

Với những vùng ảnh có độ thay đổi không nhiều, kích thước của khối mã hóa sẽ lớn (64x64 điểm ảnh) để vừa không làm giảm hiệu quả nén vừa không tăng

độ phức tạp của các phép nội suy Với những vùng ảnh có độ thay đổi nhiều, giảm kích thước khối mã hóa xuống (4x4 điểm ảnh) sẽ giúp ích rất nhiều cho việc tăng hiệu quả nén

Mã hóa liên ảnh (Inter Coding):

Quá trình mã hóa liên ảnh giúp giảm độ dư thừa về thời gian trong chuỗi video [5] Được thực hiện giữa các khung với nhau Về cơ bản, việc thực hiện giảm thiểu độ dư thừa về thời gian được thực hiện lợi dụng trên sự tương quan giữa hai ảnh

Quá trình mã hóa liên ảnh được thực hiện như sau:

Đầu tiên, khối dự đoán (PU) của khung hiện tại được sử dụng sẽ có kích thước lớn nhất (khối mã hóa - CU) được đem ra so sánh với PU cùng kích thước của khung tham chiếu và chọn ra PU “giống” nhất với PU của khung hiện tại Sau

đó, các PU có kích thước nhỏ hơn sẽ được thực hiện tương đương và chọn ra chế độ

mã hóa phù hợp nhất cùng với PU giống nhất của khung tham chiếu Thông tin được truyền đi sẽ là vector chuyển động để chỉ tới PU tham chiếu và sự sai khác giữa hai PU

Như vậy để thực hiện một quá trình mã hóa liên ảnh ta phải lựa chọn: khung tham chiếu, khối dự đoán phù hợp và kích thước của khối dự đoán So với MPEG –

Trang 30

19

2, H.265 tính toán độ chính xác tới ¼ điểm ảnh do tính chất của chuyển động đôi khi không chuyển động nhanh tới một điểm ảnh Để xác định các vị trí không nguyên điểm ảnh thì ta cấn phải nội suy ra chúng So với H.264, H.265 nội suy ra các vị trí không nguyên điểm ảnh thông qua nhiều điểm ảnh lân cận hơn sẽ giúp độ chính xác cao hơn

Đây là quá trình chiếm nhiều khối lượng cũng như thời gian tính toán nhất trong quá trình mã hóa H.265 Bởi vậy đã có rất nhiều thuật toán đưa ra dựa trên tính chất của ảnh nhằm tăng tốc độ xác định một cách tìm kiếm khung tham chiếu, khối dự đoán phù hợp hay kích thước của chúng, trong khi không làm thay đổi nhiều tới độ nén

1.3.4 Lượng tử hóa

Dựa vào tính chất năng lượng bức ảnh chỉ tập trung vào các thành phần tần

số thấp Đầu ra của khối biến đổi sẽ được lượng tử hóa nhằm loại bỏ các thành phần tần số cao dựa vào các hệ số lượng tử hóa Sau khi thực hiện biến đổi lượng tử hóa, thông thường kết quả ra là một khối dữ liệu mà hầu hết các hệ số là 0, rất ít các thành phần khác 0 Do đó, nếu các hệ số lượng tử hóa cao thì hiệu quả nén cao nhưng làm giảm chất lượng của bức ảnh khi giải mã

Trang 31

20

1.3.5 Bộ lọc xóa khối

Quá trình lọc xóa khối được thực hiện cho mỗi khối CU Đầu tiên, các sườn dọc sẽ được lọc (lọc theo phương ngang), tiếp theo đó, các sườn ngang được lọc (lọc theo phương dọc) Bộ lọc được sử dụng giữa đường ranh giới của các khối 8x8 cho cả thành phần chói và thành phần màu Đường biên của các khối 4x4 sẽ không được xử lý để giảm độ phức tạp trong tính toán (không giống như trong chuẩn nén H.264 trước đó) Quá trình này sẽ làm cho các khối mã hóa không bị phân tách rõ ràng và làm tăng chất lượng ảnh được giải mã

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

Tính giá trị Bs 4x4 -> 8x8

Trang 32

21

Hình 1-8 mô tả quá trình xử lý lọc xóa khối Ở đường biên sẽ có ba trạng thái lọc: không lọc, lọc ít, và lọc nhiều Việc quyết định sử dụng bộ lọc nào sẽ do giá trị mức độ viền Bs (Boundary strength) và các giá trị ngưỡng β và tc quy định

Có ba loại đường biên có liên quan đến quá trình lọc: đường biên khối CU, đường biên khối PU và đường biên khối TU Các đường biên của CU luôn luôn có liên quan đến quá trình lọc vì các đường biên này cũng chính là các đường biên của khối PU và TU Khi khối PU có đường biên nằm trong khối TU, đường biên đó sẽ không được lọc

Mức độ viền Bs phản ánh bộ lọc nào sẽ cần được sử dụng để lọc viền Nếu giá trị Bs lớn sẽ cần xem xét đến bộ lọc nhiều Giá trị Bs được tính toán trên các khối có kích thước 4x4, nhưng giá trị đó sẽ được dùng lại cho khối 8x8 Trên một đường biên của khối 8x8 sẽ được tạo thành từ 2 cạnh của hai khối 4x4, khối 8x8 sẽ nhận giá trị Bs lớn nhất trong hai khối 4x4 để làm giá trị Bs tại đường biên đang xét

Giá trị ngưỡng β và tc có ảnh hưởng đến việc sử dụng hay không sử dụng bộ lọc, lựa chọn bộ lọc ít hay bộ lọc nhiều, và xử lý bộ lọc ít Gọi P và Q là các khối có chung đường biên với nhau, với P là khối nằm phía bên trái (trường hợp viền dọc) hoặc ở bên trên (trường hợp viền ngang) đường biên và Q là khối nằm phía bên phải (trường hợp viền dọc) hoặc ở bên dưới (trường hợp viền ngang) đường biên Giá trị này dựa trên các thông số lượng tử hóa của khối P (QPP) và Q (QPQ) Gọi QP là giá trị được sử dụng để tính β và tc, QP được tính toán như sau [6]:

QP = (QPP + QPQ) >> 1 Biến β được lấy theo Bảng 1-2, dựa vào giá trị QP Nếu Bs lớn hơn 1, giá trị của tc sẽ được lấy theo giá trị QP’ được tính như sau [6]:

QP

QP QP

clip QP

2

55 2 , 55

0 2 ,

0 )

2 ,

55 , 0 ( 3 '

Trang 33

1.3.6 Bù mẫu theo ngữ cảnh (SAO)

Chế độ bù mẫu theo ngữ cảnh được áp dụng để tái cấu trúc lại ảnh được mã hóa sau quá trình lọc xóa khối bằng cách sử dụng các giá trị bù được cho trong mỗi khối cây mã hóa Bộ mã hóa sẽ đưa ra quyết định khi nào thì chế độ bù mẫu theo ngữ cảnh được sử dụng cho dải phân đoạn hiện tại Cách thức bù mẫu theo ngữ cảnh là phân loại các điểm ảnh thành các nhóm và làm giảm sai lệch bằng cách cộng thêm một giá trị bù vào các điểm ảnh trong từng nhóm [3] Chế độ bù mẫu theo ngữ cảnh bao gồm kiểu bù viền và kiểu bù dải Trong đó, kiểu bù viền sử dụng các thuộc tính của viền để phân loại điểm ảnh, còn kiểu bù dải sẽ sử dụng mật độ điểm ảnh để phân loại điểm ảnh

1.3.7 Mã hóa entropy

H.265 chỉ sử dụng 2 chế độ mã hóa: mã hóa chiều dài thay đổi (VLC – Variable Length Coding) và thuật toán mã hóa BAC (Binary Arimethich Coding) với chế độ phù hợp với nội dung của video (CA – context adaptive) để tạo ra phương pháp mã hóa CABAC So với H.264, H.265 có cải tiến phương pháp mã hóa CABAC để làm tăng khả năng nén video

Thành phần sử dụng bao gồm:

Trang 34

23

- Các thành phần lớp trên dành cho chuỗi và mở đầu của slice được mã hóa sử dụng mã với chiều dài cố định hoặc một bảng mã hóa UVLC (universal variable length coding)

- Dữ liệu về nội dung thông tin trong slice như: chiều dài slice, hoặc để chỉ thị kiểu dự đoán của khối mã hóa

- Loại khối dự đoán (16x16, 16x8, 32x32…)

- Kích thước khối biến đổi, vị trí trong khối mã hóa

- Hệ số lương tử QP (Quantization Parameter) được mã hóa là sự sai khác so với QP của PU trước

- Chỉ số khung tham chiếu

- Các vector chuyển động được gửi đi là độ sai khác giữa vector chuyển động tìm được với một vector chuyển động được tiên đoán trước từ các dữ liệu của

PU lân cận

- Các hệ số biến đổi

1.4 Bộ giải mã video chuẩn H.265

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-9 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ã

F’n-1

F’n

(xây dựng lại) Lọc

Bù chuyển động

Tiên đoán trong ảnh

Biến đổi ngược

Lượng tử hóa ngược Sắp xếp lại

Giải mã entropy

NAL X

D’n uF’n

Hình 1-9: Sơ đồ khối chức năng bộ giải mã video chuẩn H.265

Trang 35

24

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 giải mã đƣợc từ luồng bit, bộ giải mã tạo ra khối dự đoán PRED, giống hệt so với khối dự đoán PRED ban đầu đƣợc tạo ra trong bộ mã hóa PRED

sẽ đƣợc cộng vào D’n để tạo ra uF’n rồi sau đó đƣợc lọc để tạo ra các khối đƣợc giải

mã F’n

Trang 36

25

CHƯƠNG 2 DỰ ĐOÁN LIÊN ẢNH

Chương này sẽ giới thiệu về quá trình tiên đoán ảnh đặc biệt là quá trình tiên đoán liên ảnh trong đó có quá trình ước lượng chuyển động

2.1 Giới thiệu về quá trình dự đoán ảnh

Hiệu suất nén của H.265/HEVC tốt hơn các chuẩn nén trước do hiệu quả của các phương thức dự đoán Mỗi khối dự đoán sẽ có một phương thức dự đoán để giảm dữ liệu trùng lặp so với khối dự đoán đã được mã hóa trước Hiệu quả và độ chính xác của quá trình dự đoán này có ảnh hưởng quan trọng đến hiệu suất nén Một dự đoán chính xác cho phần dư chứa rất ít dữ liệu và có hiệu suất nén tốt

H.265/HEVC hỗ trợ nhiều phương thức dự đoán khác nhau: dự đoán trong ảnh (Intra prediction) chỉ sử dụng thông tin trong khung hiện tại, dự đoán liên ảnh (Inter prediction) sử dụng dự đoán bù chuyển động từ các khung đã được mã hóa trước và sau khung hiện tại theo thứ tự hiển thị, các kích thước khối dự đoán khác nhau, sử dụng nhiều khung tham chiếu Việc lựa chọn chế độ dự đoán phù hợp nhất cho mỗi khối dự đoán giúp bộ mã hóa giảm tối thiểu dư thừa và tạo dòng bit mã hóa cao

Hình 2-1 biểu diễn phương thức dự đoán cho ba khối mã hóa: khối mã hóa loại I, loại P và loại B [5] Một khối mã hóa loại I được tiên đoán từ các mẫu lân cận trong cùng khung hiện tại – tiên đoán trong ảnh Một khối mã hóa loại P được tiên đoán từ các mẫu của một khung đã được mã hóa trước, khung này có thể trước hoặc sau khung hiện tại theo thứ tự xuất hiện trong video Các phần khác nhau trong khối mã hóa loại P có thể được dự đoán từ các khung tham chiếu khác nhau Mỗi phần trong một khối mã hóa loại B được tiên đoán từ các mẫu trong khung được mã hóa trước và sau theo thứ tự hiển thị Cũng giống khối mã hóa loại P, các phần khác nhau trong khối mã hóa loại B có thể được dự đoán từ các khung tham chiếu khác nhau

Trang 37

độ dự đoán tốt nhất cho thành phần độ chói của các khối PU từ 35 chế độ dự đoán bao gồm chế độ DC, Planar và 33 hướng dự đoán trong ảnh được minh họa theo hình sau [3]

Trang 38

27

Hình 2-2: 33 hướng dự đoán trong ảnh

Với thành phần màu của khối PU được dự đoán trong ảnh, bộ mã hóa sẽ lựa chọn chế độ dự đoán tốt nhất trong số 5 chế sau: Planar, DC, phương ngang, phương dọc và một chế độ dự đoán được chọn làm chế độ dự đoán tốt nhất cho thành phần độ chói Bảng liên hệ giữa hướng dự đoán đoán trong ảnh và chế độ tương ứng cho thành phần màu được thể hiện trên Bảng 2-1 [6]

Bảng 2-1: Mối liên hệ giữa hướng dự đoán trong ảnh và chế độ tương ứng của

Khi số lượng chế độ dự đoán trong ảnh cho thành phần màu bằng 4, hướng

dự đoán của thành phần độ chói sẽ được sử dụng cho việc tạo mẫu dự đoán trong ảnh cho thành phần màu Khi số lượng chế độ dự đoán trong cho thành phần màu

Ngày đăng: 23/11/2016, 02:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan, T. Wiegand, (10/2012) “High efficiency video coding (HEVC) text specification draft 9”, JCTVC-K1003, JCT-VC Sách, tạp chí
Tiêu đề: High efficiency video coding (HEVC) text specification draft 9
[2] F Urban, R Poullaouec, JF Nezan, O Deforges (2007), “H.264 FRACTIONAL MOTION ESTIMATION REFINEMENT: A Real-time and Low Complexity Hardware Solution for HD Sequences”, EURASIP Sách, tạp chí
Tiêu đề: H.264 FRACTIONAL MOTION ESTIMATION REFINEMENT: A Real-time and Low Complexity Hardware Solution for HD Sequences
Tác giả: F Urban, R Poullaouec, JF Nezan, O Deforges
Năm: 2007
[3] Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand (12/2012), “Overview of the High Efficiency Video Coding (HEVC) Standard”, IEEE transactions on circuits and systems for video technology, vol. 22, no. 12 Sách, tạp chí
Tiêu đề: Overview of the High Efficiency Video Coding (HEVC) Standard
[4] H. Samet (6/1984), “The quadtree and related hierarchical data structures,” Comput. Survey, vol. 16, no. 2, tr. 187–260 Sách, tạp chí
Tiêu đề: The quadtree and related hierarchical data structures
[5] Iain E. Richardson (2010), The H.264 Advanced Video Compression Standard, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom Sách, tạp chí
Tiêu đề: The H.264 Advanced Video Compression Standard
Tác giả: Iain E. Richardson
Năm: 2010
[7] Sherief M. Hashimaa, Imbaby I. Mahmoud, Atef A. Elazm (11/2009), “Hardware Implementation of Diamond Search Algorithm for Motion Estimation and Object Tracking”, Faculty of Electronic Engineering, Menoufiya University, Menouf, Egypt Sách, tạp chí
Tiêu đề: Hardware Implementation of Diamond Search Algorithm for Motion Estimation and Object Tracking
[8] Zhengyan Guo, Dajiang Zhou, Satoshi Goto (2012), “An Optimized MC Interpolation Architecture for HEVC”, IEEE Sách, tạp chí
Tiêu đề: An Optimized MC Interpolation Architecture for HEVC
Tác giả: Zhengyan Guo, Dajiang Zhou, Satoshi Goto
Năm: 2012
[6] ITU – T. (04/2013), Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services – Coding of moving video, High efficiency video coding Khác

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Sơ đồ khối chức năng tổng quát bộ mã hóa video chuẩn H.265 - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 1 1: Sơ đồ khối chức năng tổng quát bộ mã hóa video chuẩn H.265 (Trang 21)
Hình 1-4: Ví dụ về lớp phân đoạn và dải phân đoạn - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 1 4: Ví dụ về lớp phân đoạn và dải phân đoạn (Trang 25)
Hình 2-1: Các kiểu tiên đoán ảnh - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 2 1: Các kiểu tiên đoán ảnh (Trang 37)
Hình 2-2: 33 hướng dự đoán trong ảnh - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 2 2: 33 hướng dự đoán trong ảnh (Trang 38)
Hình 2-4: Quy ước về dấu và độ lớn của vector chuyển động - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 2 4: Quy ước về dấu và độ lớn của vector chuyển động (Trang 41)
Hình 2-5: Vị trí các PU lân cận PU hiện tại được xét - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 2 5: Vị trí các PU lân cận PU hiện tại được xét (Trang 42)
Hình 2-7: Vị trí các điểm ảnh nguyên và không nguyên - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 2 7: Vị trí các điểm ảnh nguyên và không nguyên (Trang 45)
Hình 3-1: Sơ đồ thiết kế tổng quát khối ước lượng chuyển động - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 3 1: Sơ đồ thiết kế tổng quát khối ước lượng chuyển động (Trang 49)
Hình 3-2: Sơ đồ thiết kế chi tiết khối ước lượng chuyển động - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 3 2: Sơ đồ thiết kế chi tiết khối ước lượng chuyển động (Trang 51)
Hình 3-5: Sơ đồ máy trạng thái cho hoạt động khối I_search - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 3 5: Sơ đồ máy trạng thái cho hoạt động khối I_search (Trang 54)
Hình 3-14: Sơ đồ thiết kế chi tiết khối MVP - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 3 14: Sơ đồ thiết kế chi tiết khối MVP (Trang 64)
Hình 4-1: Hệ thống mô phỏng bằng phần mềm - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 4 1: Hệ thống mô phỏng bằng phần mềm (Trang 67)
Hình 4-2: Hệ thống triển khai trên bo mạch FPGA - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 4 2: Hệ thống triển khai trên bo mạch FPGA (Trang 68)
Hình 4-4: Kết thúc quá tr nh đọc dữ liệu PU hiện tại vào bộ nhớ PU hiện tại với - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 4 4: Kết thúc quá tr nh đọc dữ liệu PU hiện tại vào bộ nhớ PU hiện tại với (Trang 70)
Hình 4-6: Khối MVP xác định các vector chuyển động tham chiếu - thiết kế và triển khai các khối con bộ mã hóa video h 265 trên fpga khối ước lượng chuyển động
Hình 4 6: Khối MVP xác định các vector chuyển động tham chiếu (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w